LINUX.ORG.RU

38
Всего сообщений: 1859

Обучение по программированию

Привет, кто знает где можно посмотреть и сравнить программы обучения по программированию?

 ,

Jaroslava ()

Подскажите что-нибудь про парсеры?

Собственно, сабж. Что можно почитать про парсеры? Желательно, с примерами. Интересно, как вообще парсят конфиги, json, исходный код. Не обмазываются же ифами на каждое ключевое слово?

 , ,

hateWin ()

Qt - это язык программирования. Философские размышления

Приветствую! По мотивам этого коммента:

ОФФТОП: А Qt это не просто gui-шка к крестам, а полноценный ЯП? Не, я правда не вкурсах если что...

решил в тяпницу создать философский тред, где мы сможем спокойно порассуждать над сучностью бытия.

Язы́к программи́рования — формальный язык, предназначенный для записи компьютерных программ[1][2]. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель (обычно — ЭВМ) под её управлением.

Как правило, язык программирования определяется не только через спецификации стандарта языка, формально определяющие его синтаксис и семантику [⇨], но и через воплощения (реализации) стандарта — программные средства, обеспечивающих трансляцию или интерпретацию программ на этом языке [⇨]; такие программные средства различаются по производителю, марке и варианту (версии), времени выпуска, полноте воплощения стандарта, дополнительным возможностям; могут иметь определённые ошибки или особенности воплощения, влияющие на практику использования языка или даже на его стандарт.

То есть язык программирования может НЕ содержать компилятора / транслятора. И то что язык Qt представляет собой либлиотеку - это другая колбаса, у него есть ВСЕ свойства ЯП. Жду критику кре... несогласных. Надоело, что каждый кукаретик ЛОРа строит из себя умного и пытается поправить меня. Всё началось с обсуждений моих Qt4-программ в далёком 2011г.

 , , , ,

xwicked ()

Странности работы с /dev/hidraw

Всем привет. Кто-нибудь сталкивался с такой проблемой, что когда отправляешь пакет данных в /dev/hidraw* в N байт (т. е. столько, сколько указано в Endpoint Descriptor, значение wMaxPacketSize), а потом смотришь в Wireshark, там почему-то только N-1 байт передано.

Так оно в Linux, под Windows же всё работает прекрасно. Использовал библиотеку hidapi.

Пробовал также для приёма и передачи данных использовать обычные функции read, write из unistd.h, но проблема не устранилась.

Вот какие дескрипторы показывает lsusb, если это поможет:

 Endpoint Descriptor:
   bLength                 7
   bDescriptorType         5
   bEndpointAddress     0x81  EP 1 IN
   bmAttributes            3
     Transfer Type            Interrupt
     Synch Type               None
     Usage Type               Data
   wMaxPacketSize     0x0040  1x 64 bytes
   bInterval               1
 Endpoint Descriptor:
   bLength                 7
   bDescriptorType         5
   bEndpointAddress     0x02  EP 2 OUT
   bmAttributes            3
     Transfer Type            Interrupt
     Synch Type               None
     Usage Type               Data
   wMaxPacketSize     0x0040  1x 64 bytes
   bInterval               1

 ,

eve ()

Вкатиться в наукоемкое программирование/моделирование

Возможно ли это сделать челу с в.о. по фуфлыжной специальности автоматизатора заводов? Заводов серьезных в округе толком нет, регалий особенных у меня нету тоже. С математикой-физикой-химией дружу, но никогда не видел в них толка, потому что в коммерции нынче востребовано только «купи-продай, разницу себе».

Я прагматичный человек, потому меня не привлекают мозгодробильная математика аля крипта или квантовые вычисления, которые еще никогда не одной реакции не предсказали. В грантораспильных организациях мне ловить нечего, потому что регалий у меня нет и я плохо подхожу для оправдания того, почему никаких результатов нет, а все деньги уже потрачены. Расчеты механических прочностей/ динамики/гидро/газодинамики — это прикольно, но без сверки с испытательными образцами ничего не стоит. Устраиваться в какой-то НИИ или завод за еду работать 8 часов от звонка до звонка уже очень не хочется.

Есть ли какие-то шансы у простого смертного продвинуться в этом направлении, или в СНГ всё глухо? Да, есть вариант сделать собственную лабораторию, но это не так-то просто по финансам, да и перспективы с ней неясные.

 , , ,

byko3y ()

и опять полумеры

Привет!
Я тут подумал, а почему докеры не используют везде?
Ведь это такое замечательно решение.
Надо срочно добавить докеров в МСО и ЛО. в Dolphin и explorer.exe. Разумеется, для безопасности пользователей. И добавить плугинов из npm.

К чёрту Си, это ЯП для бедных пользователей, кому не хватает денег на оперативку.
Это всё полумеры, полумеры. Давайте запретим C/C++/C-диез на десктопе. Это несправедливо, когда одни страдают на старых неудобных языках, а другие нас лаждаются полным входом в современность.
Пусть весь софт будет на самых современных языках.
Как игры могут работать без использования докеров? Решительно не понимаю. Наверное, их пишут злые колдуны.

И ещё в ядре обязательно должен быть JS, но он совершенно безопасен, когда ....так что добавим докеров я ядро!

DDR4 слишком медленная, нужен срочный переход на высокопроизводительную DDR5 по 64-128 Гб, и 32 гб для лоуенд декстопа на докерном AwesomeWM. И тогда у каждого будет i9 и geforce 4080 gtx для запуска linux со средней скоростью и ухх тогда заживём.

 , , , ,

darkenshvein ()

Ресурсов альтернативных взглядов на программирование тред

Недавно мне в копилку подкинули замечательный сайт:

https://phpthewrongway.com/

Отличительной особенностью сайта является то, что он предоставляет хорошие ссылки для дальнейшего углубления.

Я уже давно почитываю обсуждения на hackernews и WikiWikiWeb (например, http://wiki.c2.com/?XmlIsTooComplex ). К сожалению в них существует та же проблема, что и в интернете в целом: очень много мусора, то есть, шаблонных бездумно копируемых «собственных» точек зрения, подтвержденных богатым опытом из пяти угробленных «не мной» за последний год проектов.

Как человеку, который поддерживал годами проекты, над которыми сам работал, и который понимает, чего стоят многие книжные знания, мне, тем не менее, совсем не достаточно своего опыта и интересен аналогичный опыт других людей. Например, когда Дан Абрамов писал-писал годами компоненты в реакте на миксинах, чтобы потом в итоге заявить Mixins Considered Harmful и Mixins Are Dead. Long Live Composition. Ну и из классики — мой любимый Дейкстра, конечно.

У меня есть очень большая подборка, но она отвратительно систематизирована и только я сам в ней смогу разобраться — короче говоря, это мои личные заметки. Возможно, есть такие поехавшие, кто тоже коллекционирует специфичные неортодоксальные взгляды на технологии и методики программирования, но при этом еще и организовал их в формате какой-нибудь вики.

 , ,

byko3y ()

Простой скрипт анализа лога

Ребята помогите нубу в анализе логов написать скрипт (язык по вкусу).

Есть файл лога с текстом формата:

2021-08-13T00:00:01.540824+03:00 10.10.10.155 firewall,info ARP request FFF 2001 forward: in:vlan2001 out:vlan2000, src-mac 10:fe:ed:a0:df:25, dst-mac ff:ff:ff:ff:ff:ff, eth-proto 0806
2021-08-13T00:00:02.437191+03:00 10.10.10.155 firewall,info ARP request FFF 2001 forward: in:vlan2001 out:vlan2000, src-mac 9c:5c:8e:83:16:32, dst-mac ff:ff:ff:ff:ff:ff, eth-proto 0806
2021-08-13T00:00:02.437240+03:00 10.10.10.155 firewall,info ARP 

Задача: если какой-либо src-mac встречается в логе чаще чем n раз за минуту то - вернуть этот src-mac (хотя бы) и (в идеале еще) вернуть значение in:vlan из любой строки с этим src-mac - in:vlan у каждого src-mac всегда свой.

 , ,

StarGazer ()

Подскажите какой язык программирования учить?

выбор такой

  • Clojure - но непонятны s-выражения
  • Go
  • Lua
  • Scala
  • Erlang/Elixir

Так чтоб перспективно или для веб или что то компилируемое с помощью gcc это тоже иногда мне надо. А лучше и то и другое. Аргументируйте пжалста не интересно. Haskell не предлагать!

 

XoFfiCEr ()

Удалённая работа

Действительно, возникла такая потребность. Внезапно. Основание - перелом руки в предплечье. Хорошо, что хотя-бы левой. Гипс сняли, но двигательные функции востанавливаются медленно и пока не в полном обьёме. Могут знающие «этот путь силы», популярно обьяснить ньюансы и «подводные камни с предательскими течениями»?

Пошастал по работодательным сайтам. Половина аббревиатур, вроде и включая «SEO» меня вообще в ступор ввела. Даже при помощи Яндекса с трудом выяснил, что это вообще такое.

С программированием в принципе (и без принципа) знаком не по наслышке, но за несколько лет «застоя» - оно ушло так далеко, что сомневаюсь, догоню-ли?

Чисто прошу совета на этом новом для себя поприще.

 

cadaber ()

На смену живым программистам идет искусственный интеллект

Российский искусственный интеллект нацелился оставить программистов без работы. Он впервые написал программу самостоятельно

Sber AI зарегистрировала в Роспатенте программу, позволяющую искусственному интеллекту (ИИ) распознавать и анализировать объекты в виртуальной реальности, следует из материалов ведомства. Среди разработчиков программного обеспечения (ПО) значатся сотрудники Сбербанка – они обучили нейросеть написанию программного кода, рассказал «Ведомостям» его первый зампред правления Александр Ведяхин: «То есть это первая зарегистрированная в России программа, написанная ИИ».

Это действительно первый созданный роботом софт – во всяком случае в России, подтверждают опрошенные «Ведомостями» участники рынка ПО. «Создание финального решения в этой сфере и тем более его регистрация Роспатентом – это действительно первый случай», – подтверждает гендиректор Telecom Daily Денис Кусков.

Что делает программа

Созданная искусственным интеллектом программа Artificial Vision умеет имитировать зрение человека. ПО позволяет сопоставлять пиксели изображения нейронам «сетчатки» искусственного глаза.

Перспективы нейросетей как разработчиков ПО

Нейросеть ruGPT-3, написавшая Artificial Vision, была обучена нескольким языкам программирования. Как сообщили «Ведомостям» представители Сбербанка, в дальнейшем она сможет взять на себя ряд рутинных задач, выполняемых программистами.

Sber AI планирует и дальше совершенствовать нейросеть и развивать в ней навыки написания программ. «Не исключено, что «Сбер» начнет предоставлять технологию как коммерческую услугу, когда она станет более совершенной», – сообщили изданию представители Сбербанка.

 ,

Psilocybe ()

как научиться?

Я не могу не как себя заставить что,то сделать, в голову ничего не лезит, от одной ошибки в компилятора меня приводит в бешенство и одновременно в тлень что либо делать (c++), когда смотрю исходники чей нибудь поделки я понимаю что это полный шит и можно сделать лучше, имею виду для каждого чиха используется одна салфетка если вы меня поняли о чем я, как сделать лучше не получаеться не клеиться, и идут в интернет шерстить исходники пока не найду схожий по смыслу действия код, и когда нахожу использую его, редактирую и он работает я испытываю такое наслаждения, лучше чем секс, но всеравно очень тоскливо что я не могу сделать это сам пробовал разные способы

Книги, я не особо люблю читать, просто высыхаю и начинает бесить от этого чтения, даже не знаю как так сумел познать вики арч и генту досихпор не понял, тогда была мотивация из своего говна и палок комп превратить в турбо пушку

Всякие sololearn тоже не помогают ну я прошёл все эти задание и че?

Ютуб, на уровне книг где чел пишет по книге

Не пробовал тренинги мне кажеться это тоже самое что и ютуб никакой пользы

Пробовал другие языки но пока дальше баша и то супер базова далеко не двинулся спасибо что сам конки хоть написал и то его легаси меня бесит но нет сил

Почему выбрал c++ язык просто для всего кроме веба), лёгкий в плане веса и скорости

Если честно хочеться себя кильнуть, нету той дефоминового наслаждения как после установке арча, ядра, и так далее, LFS не предлагать слишком глупая Херня

Последний раз было это с коребут, и на этом закончилось

Извините за бред, это наверное для таска тема, но думаю найду тут схожих по характеру ребят

Перемещено xaizek из development

 , , , ,

SPRATAY ()

Имитация освещения в течении суток (светодиоды)

Всем привет.

Появилась желание реализовать имитацию освещения под открытым небом в течении суток. Предположим, есть 4 (может быть меньше, а может быть больше, в зависимости от необходимости для решения данной задачи) основных опорных цвета:

  1. Утро (фактически белый свет) - rgb(255, 255, 255), яркость - 150;
  2. День (бело-желтый) - rgb(255, 255, 204), яркость - 255 (максимум);
  3. Вечер (желто-красный (предположим, что это закат)) - rgb(255, 102, 0), яркость - 150;
  4. Ночь (сине-жельтый) - rgb(0, 102, 204), яркость - 100;

Таким образом, получается что:

  1. Функция смены утра на день, просто увеличивает яркость и B, линейно со временем.
  2. Функция смена дня на вечер, уменьшает G и B, снижает яркость.
  3. Функция смены вечера на ночь - снижает R и увеличивает B, снижает яркость.
  4. Функция смены ночи на утро - увеличивает RGB и яркость.

Есть опасение, что переходные цвета (которые допустим будут получаться из поминутного увеличения/уменьшения отдельных параметров R, G, B) будут неестественными.

Как правильно оформить переходы между опорными точками, чтобы складывалось ощущение естественного освещения на протяжении всего дня?

С какой стороны подходить к этой задаче, может кто-нибудь подсказать? Экспериментально свои предположения еще не тестировал, планирую заняться этим завтра, но голова забита этим вопросом.

 , , ,

VirRaa ()

QT Creator может стать основной платформой для стартапа?

Ну, или что иное посоветуете?

В том смысле, что в программировании не новичок, а скорее старичок. Читаю habrahabr.ru - и половины аббревиатур не понимаю нифига, приходится гуглить. Собственно, вопрос:
Возможно ли вернуться обратно в профессию программиста? Особенно, если базовых знаний-вагон, включая ООП, или уже пипец?..

 , ,

cadaber ()

Рекурсивно восстановить список прав на файлы и каталоги.

Всем привет!

Дано:

Некий пользователь, на тестовой машине, рекурсивно поменял права на каталог с огромным количеством файлов и уровней вложенности. Руками можно восстановить, есть каталог с правильными правами, правильной структурой но отличается содержимым файлов.

Задача:

Надо восстановить работоспособность порушенного каталога.

Вижу два пути решения:

  • переименовать «порченый» каталог. Залить с нормальными правами. Пройтись на предмет несовпадения файлов. Заменить содержимое файлов.

  • получить перечень прав на файлы и каталоги в нормальном каталоге. Заменить права в «порченом» каталоге согласно списка из правильного.

Прошу помощи коллективного разума лора. Как оптимальнее выкрутиться? Пока пытался получить список прав через ‘ls -Rl’ но так не выводятся права доступа для каталогов.

 , ,

knock ()

Объясните как делать задание по программированию

Задание, собственно https://ibb.co/Qr0Njjm

Не шарю за матан, выше 3 не получал да и не надо. На практику препод по прог дал это. Если кто-то знает как делать, то объясните пожалуйста, рассматриваю варианты с оплатой за это задание.

 , ,

PURGEN143 ()

Про сложность языков программирования

Невеяло видео:
Что бесит программиста | Анастасия Лукьяненко
Ravens - Intelligent Rascals of the Skies | Free Documentary Nature
Если ворон сумел освоить тачскрин, то скоро его наймут писать софт для андроида. Ну или хотя бы веб-приложухи на JS.

Если серьезно, то мне не дает покоя недавнее обсуждение сложности отдельных конструкций в ЯП:

programming languages performance benchmarks (комментарий)

Там были упомянуты вопросы сложность рекурсивных функций и циклов. Как вы можете знать, на базе рекуррентных функций строятся такие замечательные вещи, как сеть Фейстля и подстановочно-перестановочная сеть, составляющие основу большинства симметричных алгоритмов шифрования. То есть, даже хорошо обученный и оснащенный человек не может ускорить вычисление конечно рекуррентной функции, не может угадать, что получится через несколько шагов или какие отклонения от нормы привели нас к состоянию текущего цикла вычисления функции.

Важное наблюдение — цикл можно представить в виде простого рекурсивного вызова (функция может вызывать себя только один раз), и простой рекурсивный вызов можно представить в виде цикла. Еще более важное наблюдение: машину Тьюринга можно представить как рекуррентную функцию, которая принимает аргументом предыдущее состояние машины и выдает на выход следующее состояние машины. Следствием этого являются известные вам алгоритмически неразрешимые задачки, как то проблема остановки, определение свойств произвольного алгоритма-функции (теорема Райса).

Асимметричные криптографические алгоритмы, которые зачастую основаны на модульной арифметике, как то RSA и эллиптическая криптография, являются типичными рекуррентными алгоритмами с глубокой степенью вложенности, пусть это и выражено в ввиде хитромудрых модульных операций умножения и возведения в степень, при этом входные и выходные значения алгоритмов имеют одинаковый размер, то есть, как конечное состояние машины Тьюринга на предыдущем и текущем цикле.

На основании этих исследований я хотел бы сформулировать теоремы Byko3y: для произвольного нетривиального алгоритма, представляющего собой неограниченно рекуррентную функцию, то есть программу машины Тьюринга, справедливы утверждения:

  • если программа успешно отработала на одном наборе входных данных, то нет никакой гарантии, что она успешно отработает на другом наборе входных данных;
  • для достаточно сложной программы нет способа узнать, где произошла ошибка на прошлых циклах вычисления, если у нас есть только состояние текущего цикла вычисления;
  • машина Тьюринга — кусок дерьма с плохо предсказуемыми свойствами.

Есть ли выход из Тьюринг-западни? То есть, существуют ли/можно ли создать инструменты, на которых сможет достаточно эффективно писать даже умственно осталая мартышка? Очевидно, есть Тьюринг-неполные языки, которые просты и достаточно мощны для некоего узкого набора задач. Регулярные выражения, SQL, в конце-концов подмножества обычных ЯП, или какая-нибудь Clojure, построенная на персистентных структурах данных с очень хорошей предсказуемостью поведения и ограничением применения макросов. Даже Rust в каком-то смысле тоже попытался пойти именно по этому направлению, то есть, через ограничение применения изменяемого состояния, характерного для Тьюринг-машины.

Очень долго индустрия приходила к замыканиям, но замыкания хороши именно тем, что избавляют нас от сложной работы с общим изменяемым состоянием, и становятся плохи, когда замыкания начинают принимать/передавать аргументами другие замыкания и вызывать таким образом сами себя, создавая сложное рекуррентное поведение.

Или когда пользователь хочет отсортировать некий массив или даже банально посчитать сумму, ему совсем не обязательно писать цикл, ему не нужно проходить по массиву последовательно от первого элемента до последнего — исходный порядок здесь не имеет значения. Но Тьюринг-машины научили нас, что действия должны выполняться строго последовательно, и нынче никто уже никто не ставит под сомнение такой подход. Функциональные языки, даже весьма «чистые», имеют функции reduce, но я не видел еще ни одного языка, который имел бы реализацию reduce, безразличную к порядку прохода по элементам, вроде иерархического агрегирования аки агрегатные функции в SQL.

Одна из относительной свежих попыток решить эту проблему для разработки фронтэнда — React.js. Не Angular, который значительно сложнее и мартышку за него не посадишь, а именно React, который если и тьюринг-полон, то эту тьюринг полноту непросто достичь. С позиции программиста-пользователя React, имеет тупейше прямолинейное преобразование данных в отображение, и такую же простую функциональность для измения состояния по событиям пользователського ввода, причем, механизм «ввод->изменение модели» развязан с механизмом «модель->данные», и оба они развязаны между отдельными компонентами, потому косяки реализации мартыхой одного компонента не рушат другой.

Продолжайте список, какие инструменты/приемы вы знаете или о каких вы думали/мечтали.

PS: давно хочу вкатиться в ограниченное подмножество C++ без наследования, без зубодробильных шаблонов, с минимумом исключений. Потому что на Си неудобно писать без обобщений и замыканий. Буду благодарен за литературу и/или готовые опенсорсные проекты, реализованные в подобном стиле. Знаю, что Unity сделан в этом духе, но беда в том, что Unity проприетарен.

 , , ,

byko3y ()

При выборе ЯП на что вы обращаете внимание в первую очередь?

Сабж.

 ,

dnb ()

Помогите скачать работу с IEEE. Очень хочу слить статью по обработке изображений

Очень хочу слить одну работу по обработке изображений. Может кто знает, где можно достать логин, или у кого он есть, можете помочь?

Название статьи: «A fast super-resolution reconstruction algorithm for pure translational motion and common space-invariant blur» (Авторы: M. Elad, Y. Hel-Or).

Моя почта: Cherry.Cherry.Cherrry[at]yandex.ru

Перемещено Shaman007 из general

 ,

cherry_v ()

Переход с Microsoft Windows на GNU/Linux

Доброе утро (день, вечер или ночь), уважаемые форумчане!

На этом форуме я оказался совершенно случайно (по ссылке на одной из страниц ответной выдачи поисковой системы). Ваш ресурс мне понравился, поэтому я решил зарегистрироваться и задать несколько вопросов.

Я — новичок в GNU/Linux. С первого дня использования компьютера (чуть больше 7 лет назад) и по сей день я сталкивался только с операционными системами семейства Microsoft Windows. Моё решение перейти на GNU/Linux главным образом связано с тем, что меня категорически не устраивает операционная система Microsoft Windows 10. Я отдаю предпочтение стабильной работе системы, несмотря на возможное отсутствие некоторых новых возможностей. Стараюсь обновлять операционную систему в целях исправления технических ошибок (недоработок) и уязвимостей.

Сравнив наиболее популярные системы GNU/Linux, я пришёл к выводу, что больше всего мне подходят стабильные дистрибутивы: Debian stable, CentOS и т. д. Я в курсе недавних событий с CentOS, поэтому — в случае, если я выберу CentOS — по окончании поддержки я выполню миграцию на Rocky Linux. В любом случае я рад, что есть такой богатый выбор.

Теперь можно перейти к самим вопросам:

1. Как часто необходимо обновлять Flatpak в системе, чтобы программы корректно устанавливались из Flathub app store? Правильно ли я понимаю, что для CentOS 8 (как и для CentOS 7) уже предусмотрена возможность установки новейших версий программ из магазина приложений Flathub в течение всего срока поддержки системы, поэтому достаточно просто периодически устанавливать последние обновления CentOS?

2. Я учусь программированию на Object Pascal в Lazarus. Столкнусь ли я с какими-нибудь специфическими сложностями при программировании в Lazarus из-под GNU/Linux? В моей школе компьютеры работают под управлением ОС семейства Microsoft Windows. Наверное, стоит также учесть, что через два года я собираюсь поступить в университет на специальность 09.02.03 «Программирование в компьютерных системах».

3. Я привык к файловому менджеру FAR Manager, написанному специально для Microsoft Windows. Какой файловый менеджер под GNU/Linux максимально близок к нему? Если я не ошибаюсь, Midnight Commander — наиболее близкий аналог? Сложно ли будет к нему привыкнуть пользователю FAR Manager? Стоит ли запускать и пользоваться FAR Manager с помощью Wine?

4. В свободное время я пишу электронную музыку в FL Studio (ничего серьёзного — просто хобби). Действительно ли Ardour может заменить эту цифровую звуковую станцию?

5. Мне очень не понравились офисные пакеты LibreOffice и OpenOffice (от Microsoft Office я тоже не в восторге из-за неудобной работы с форматированием в нём, но предлагаемые в поисковой выдаче альтернативы еще хуже). Надеюсь, что с мой стороны не будет слишком наглым хотеть столь многого: есть ли что-нибудь лучше, чем Microsoft Office под GNU/Linux? Было бы здорово составлять текстовые документы (статьи, доклады, рефераты и курсовые работы), не отвлекаясь постоянно на исправление возникающих проблем с форматированием по ходу написания работы.

Я пока ещё совсем новичок, поэтому прошу отнестись с пониманием. Спасибо за внимание.

 , ,

Rocky ()