Рубрика «Программирование» - 100

Привет! Меня зовут Лев, и я инженер в новосибирской команде интеграционных сервисов ДомКлик. Мы разрабатываем (микро)сервисы, которые связывают между собой множество разрозненных систем, а также делают многие процессы быстрыми и прозрачными для конечного пользователя. 

Мы используем ставший уже стандартным стек: Kotlin, Spring Boot, Hibernate, Liquibase и т. д. И нам для наших сервисов (на тот момент пока ещё одного) потребовался механизм исполнения бизнес-процесса. Требования к нему были следующие:

  • каждое действие как отдельный независимый модуль;

  • stateless-движок -> stateful-задача;

  • Читать полностью »

Введение

Зарегистрирована партия нового типа.

Личность типа выясняется.

Старая шутка.

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

Читать полностью »

Привет.

Продолжим тему декодирования различных видов радиосигналов. Одним из интересных форматов, разработанных еще в прошлом веке, является APT (Automatic Picture Transmission). Он используется для передачи изображений Земли из космоса, и что для нас гораздо более интересно и актуально, прием сигналов APT прост и доступен радиолюбителям.

Декодируем сигнал метеоспутника NOAA в 50 строчек кода - 1
Спутник NOAA © en.wikipedia.org/wiki/NOAA-15

Для тех, кому интересно, продолжение под катом.Читать полностью »

Операционная система Redox 0.6, написанная на Rust: что нового в выпуске? - 1

Спустя полтора года разработки авторы операционной системы Redox 0.6, написанной с использованием языка Rust, опубликовали новый выпуск. Новинку можно протестировать — для этого в сеть выложены загрузочные образы. Их объем составляет 61 МБ. Свежая версия может тестироваться уже на обычном «железе», а не в QEMU и VirtualBox.

Операционная система распространяется под свободной лицензией MIT. Что нового в версии 0.6?
Читать полностью »

В JavaScript есть немало моментов, вызывающих вопрос «Чего???». Несмотря на то что у большинства из них есть логическое объяснение, если вы вникнете, они всё равно могут удивлять. Но JavaScript точно не заслуживает возмутительных шуток типа этой смеха. Например, иногда мы видим такие шутки:

Устали от глупых шуток о JS? Напишите свою библиотеку - 1


В этом случае критика абсолютно не заслужена. Давайте разбираться почему.
Читать полностью »

Ловушки для современного PHP - 1

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

После множества обсуждений этого вопроса, я хотел бы поделиться с вами выводами, к которым пришёл: под катом вы узнаете, с какими трудностями PHP предстоит столкнуться в перспективе самых ближайших лет.

Читать полностью »

image

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

Но вся штука в том, что для исправления проблемы нужно знать точное название команды. И здесь у нас возникает типичная проблема курицы и яйца. В этой статье рассказывается о командах, которые помогают решить проблемные ситуации.
Читать полностью »

Существует более 30 игр с дополнительным пространственным измерением (список на википедии), которые разнообразными способами визуализируют и пытаются сделать доступной для понимания наличие четвёртой координаты. Но среди тех игр, с которыми я ознакомился, не нашел для себя такой, которая сочетала бы в себе следующие факторы:

  • вид от первого лица

  • возможность свободного перемещения и вращения во всех направлениях, без жестко заданных траекторий и углов поворота

  • простая и привычная графика, с текстурами и освещением

  • Читать полностью »

Вышел релиз языка программирования Ruby 3.0.0, который готовили с 2015 года - 1

Источник изображения

Хорошие новости для разработчиков — вышел Ruby 3.0.0, новый релиз динамического объектно-ориентированного языка программирования. По словам его поклонников, в новую версию вошло лучшее от Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp.

Новая версия Ruby — восьмой значительный выпуск, который получил множество обновлений и улучшений. К слову, над третьей версией разработчики трудились около пяти лет. Ее особенности — высокая производительность, параллелизм и типизация.
Читать полностью »

Технология Serverless: снова привет, 1970-е - 1

Я проработал с «Облаком» уже достаточно долго для того, чтобы убедиться, что ему предстоит пройти ещё долгий путь, прежде чем оно станет лучше старой доброй аренды пары серверов и запуска своего ПО на них. Сейчас в моде Serverless-решения, из-за которых у меня ощущение, что мы снова вернулись в 1970 год.

Когда-то давным-давно я притворялся, что учусь менеджменту, а на самом деле изучал кодинг на C. Наш университет находился в двух мирах: в нём существовала лаборатория с «персональными компьютерами», но в то же время имелись терминалы мини-компьютера, и в зависимости от предпочтений профессоров задания нужно было выполнять в одном из этих миров. Но обе эти системы были, по крайней мере, интерактивными и обеспечивали мгновенную обратную связь. Моему другу повезло не так сильно: на одном из курсов по технологии строительства ему дали задание, которое нужно было выполнить на Pascal и сдать в виде распечатки с университетского мейнфрейма.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js