В этой статье будет рассказ об опыте использования акторного подхода в одном интересном проекте автоматизированной системы управления для театра. Это именно впечатление от использования, не более того.
Рубрика «Промышленное программирование» - 10
Если проект «Театр» используй акторов…
2019-02-07 в 21:28, admin, рубрики: c++, акторы, АСУ, Промышленное программирование, Разработка под Linux, С++, театрКак мы в Питерской Вышке учим Software Engineering
2019-02-07 в 15:17, admin, рубрики: hse, software engineering, бакалавриат, Блог компании Питерская Вышка, вуз, вузовское образование, вузы, вшэ, курсы, питерская вышка, программа обучения, Программирование, Промышленное программирование, Учебный процесс в ITВ предыдущих постах мы рассказывали, что наши студенты делают на стажировках: научных (например, в JetBrains Research) и промышленных. В этом посте хотим поделиться, как мы учим промышленному программированию.
Кратко: за четыре курса бывший школьник пробует десяток-другой технологий и языков, постоянно пишет и удаляет много кода, проходит code review от более опытных товарищей (не всегда с первой попытки), углубляется в какую-то тему и в итоге защищает содержательный диплом. Всё это проходит прямо в университете и даёт диплом гособразца. А летом можно либо отдохнуть, либо постажироваться в России в JetBrains, Яндексе и JetBrains Research (если хочется больше науки) или съездить за рубеж (Google, Facebook и другие). Теперь поподробнее.
Как мы распределяем заказы между водителями в Яндекс.Такси
2019-02-07 в 7:12, admin, рубрики: Алгоритмы, Блог компании Яндекс, Программирование, Промышленное программирование, разработка мобильных приложений, яндекс
Одна из главных задач в Яндекс.Такси — как сделать так, чтобы к пользователю быстро приезжала машина, а у водителя сокращалось время «холостого пробега» (то есть время, когда он на линии без пассажира). Казалось бы, всё просто: пользователь выбирает тариф, указывает дополнительные пожелания (детское кресло, например). Остаётся отфильтровать водителей на линии по этим критериям, выбрать ближайшего и предложить ему заказ. Однако всё так просто только на первый взгляд.
Сегодня я расскажу сообществу Хабра о том, как мы выбираем наиболее подходящего водителя и как этот процесс эволюционировал со временем. Вы узнаете о двух подходах к решению задачи.
Как я помогал Алисе не откликаться на другие имена. Стажировка в Яндексе
2019-02-04 в 10:00, admin, рубрики: алиса, Блог компании Яндекс, голосовые помощники, декодер, диалоговые системы, искусственный интеллект, Карьера в IT-индустрии, нейронные сети, Промышленное программирование, разработка мобильных приложений, распознавание речи, речевые технологии, споттинг, стажировка, стажировка в it, стажировка в яндексеПривет. Меня зовут Алексей Рак, я разработчик голосового помощника Алиса в минском офисе Яндекса. Эту позицию я получил, пройдя здесь, в этой же команде, трехмесячную стажировку в прошлом году. О ней я и собираюсь вам рассказать. Если хотите сами попробовать — вот ссылка на стажировку 2019 года.
Надежное программирование в разрезе языков — нубообзор. Часть 1
2019-01-28 в 11:16, admin, рубрики: безопасность, надежность, ненормальное программирование, Программирование, Промышленное программирование, Разработка для интернета вещей, системное программирование, языки программированияВ очередной раз провозившись два дня на написание и отладку всего четырехсот строк кода системной библиотеки, возникла мысль — “как бы хорошо, если бы программы писались менее болезненным способом”.
И в первую очередь, поскольку отладка занимает гораздо больше времени, чем написание кода — нужна защита от дурака (в т.ч.себя) на этапе написания. И это хотелось бы получить от используемого языка программирования (ЯП).
Конечно же, надо изобрести новый, самый лучший ЯП!
Нет, сначала попробуем выразить свои пожелания и посмотреть на то, что уже наизобретали.
Читать полностью »
Повествование о том, как мы выбирали весы для автоматизации кассовых мест
2019-01-19 в 11:55, admin, рубрики: весы, Клиентская оптимизация, оборудование для бизнеса, периферия, Промышленное программирование, протоколы передачи данных, Управление продажами, Управление продуктомВ 2017 году у многих интеграторов возникали вопросы о замене торгового оборудования при переходе на новые условия работы, соответствующие требованиям Закона 54-ФЗ «О применении контрольно-кассовой техники». Поскольку клиенты, которым требовалась замена или дооснащение торговых мест новым оборудованием, понимали его принцип действия и необходимую функциональность, необходимые работы прошли без накладок.
Но 2018 год принес нам большое количество клиентов, ранее не использовавших в своей деятельности контрольно-кассовую технику. Поэтому многие возникающие у них вопросы приходится решать оперативно.
Мы как один из ведущих технических центров города работаем со всеми производителями торгово-кассового оборудования и предлагаем нашим клиентам самую широкую линейку моделей. На данный момент работа только с одним или парой производителей не дает возможность полностью закрыть потребности наших контрагентов. В то же время большой ассортимент моделей обслуживаемого оборудования требует существенных затрат как временных (на обучение пользователей), так и финансовых на необходимый резерв запасных частей.
Читать полностью »
[] 5 простых правил удобного для восприятия кода
2019-01-15 в 11:07, admin, рубрики: C#, Анализ и проектирование систем, архитектура, мозг, Программирование, Промышленное программирование, рефакторинг, чистый кодУскользает понимание своего или чужого кода?
Не можете вникнуть в алгоритм?
Проводите кучу время в отладке, но найти место неверной инициализации не получается, а хочется получать удовольствие от кодирования?
Вспомните о приведенных ниже правилах и примените их!
В статье не рассматриваются базовые правила именования переменных и функций, синтаксические отступы и масштабная тема рефакторинга. Рассматриваются 5 простых правил по упрощению кода и снижению нагрузки на мозг в процессе разработки.
Рассмотрим процесс восприятия данных, чтобы соотнести описанные правила с процессом восприятия и определить критерии простого кода.
Упрощенный процесс восприятия состоит из следующих этапов:
- Поступающая через рецепторы данные соотносятся с предыдущим опытом.
- Если соотнесения нет – это шум. Шум быстро забывается. Если есть с чем соотнести, происходит опознавание фактов.
- Если факт важен — запоминаем, либо обобщаем, либо действуем, например говорим или набираем код.
- Для сокращения объема запоминаемой и анализируемой информации используется обобщение.
- После обобщения, информация вновь соотносится и анализируется (этап 1).
Так ли страшен Rust, как его малюют
2018-12-26 в 7:06, admin, рубрики: Rust, выбор языка программирования, идиомы программирования, никто не читает теги, преимущества, Программирование, Промышленное программирование, языки программированияНекоторое время назад я начал понимать необходимость разнообразить мой опыт программирования исключительно на C#. После некоторого изучения различных вариантов, таких как Haskell, Scala, Rust и некоторых других, выбор пал на последний. Со временем я начал обращать внимание, что Rust всё больше и больше рекламируется исключительно как "системный язык", который нужен для вырвиглазно сложных компиляторов и супер-нагруженных систем, с особыми требованиями к безопасности и многопоточности, а для вариантов попроще есть Go/Python/Java/..., в то время как я с удовольствием и весьма успешно использовал его как замену моей рабоей лошадке C#.
В этой статье я хотел рассказать, почему я считаю этот тренд в целом вредным, и почему Rust является хорошим языком общего назначения, на котором можно делать любые проекты, начиная со всяких микросервисов, и заканчивая скриптованием ежедневной рутины.
Шлюзы промышленных протоколов обмена на Linux. Собери сам
2018-12-17 в 10:58, admin, рубрики: linux, OPC, opc da, opc ua, plc, scada, автоматизация, асду, асу тп, АСУТП, программирование микроконтроллеров, Промышленное программирование, протокол обмена, протоколы передачи данных, Разработка под Linux, шлюз на линуксЯ занимаюсь разработкой, внедрением и эксплуатацией систем автоматического управления технологическими процессами (АСУ ТП). Поначалу работал со SCADA-системами. Потом довольно быстро переключился на работу с протоколами обмена промышленных устройств. Как самостоятельное написание драйверов, так и настройка систем сбора данных. В настоящий момент моя работа проходит атмосфере Modbus-ов, МЭКов-101/104-х, ОРС и прочих протоколов.
Рис. 1. Многообразие протоколов обмена, используемых в АСУ ТП
Читать полностью »
Явные возможности JavaScript
2018-12-12 в 7:52, admin, рубрики: best practices, good parts, javascript, production, ненормальное программирование, Промышленное программирование
Начитывая очередную статью про малоизвестные фичи языка JavaScript и втихую пописывая какие-то невменяемые решения в консоли браузера, я часто проговариваю в голове мол ну на проде то конечно все не так!? Ведь язык давно обзавелся огромнейшим комьюнити и имеет удивительно широкий охват промышленной разработки. Раз так, то почему же мы часто забываем про его возможность быть понятным для каждого и буквально пропагандируем все эти специфичные и "запоминаемые" конструкции? Just make it Obvious!