Как стать автором
Обновить
21
14.5

Пользователь

Отправить сообщение

Интервью Роберта Пайка про Go

Уровень сложностиСложный
Время на прочтение8 мин
Количество просмотров7.2K

Первого января 2024 года Роберт Пайк дал интервью Medium.

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

Вот полная и нередактированная запись интервью - это не похоже на обычные запланированные вопросы/ответы.

Вам наверняка покажется это интересным.

Читать далее
Всего голосов 27: ↑25.5 и ↓1.5+24
Комментарии10

Особенности управления реальными устройствами с точки зрения backend разработчика. Часть 1. Разработка на стенде

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров9.1K

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

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

Разработка и особенности управления "реальными" устройствами с позиции человека, который раньше не работал ни с Arduino, ни тем более не управлял какими-то устройствами - показались интересными для написания статьи.

Алгоритмы получились посложнее, чем "помигать светодиодом", но с точки зрения опытных разработчиков подобных систем, которые знают все нужные алгоритмы - наверняка покажутся наивными, тем более, в автоиндустрии всё это давно отлажено - в машинах много лет стоят контроллеры управления различными подобными устройствами.

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии56

Go: Как использовать nil-значения без использования ссылочных типов

Время на прочтение5 мин
Количество просмотров6.7K


Создано на базе изображений gopherize.me


Довольно часто из Go кода нам приходится работать с различными HTTP API или самим выполнять роль HTTP сервиса.


Один из частых случаев: получаем данные в виде структуры из базы данных, отправляем структуру внешнему API, в ответ получаем другую структуру, как-то её преобразуем и сохраняем в базу.


Другими словами: такая обработка не требует множества отдельных операций со структурами запроса и ответа.


Для API нормальна ситуация, когда в структурах запроса и ответа есть поля, которые могут быть nil и могут принимать какие-то не-nil значения. Такие структуры выглядят обычно так

Читать дальше →
Всего голосов 14: ↑9 и ↓5+4
Комментарии6

Nomad: проблемы и решения

Время на прочтение9 мин
Количество просмотров35K

Первый сервис в Nomad я запустил в сентябре 2016 года. На данный момент пользуюсь как программист и занимаюсь поддержкой как администратор двух Nomad кластеров — один "домашний" для своих личных проектов (6 микро-виртуалок в Hetzner Cloud и ArubaCloud в 5 разных датацентрах Европы) и второй рабочий (порядка 40 приватных виртуальных и физических серверов в двух датацентрах).


За прошедшее время накопился довольно большой опыт работы с Nomad окружением, в статье опишу встреченные проблемы Nomad и как с ними можно справиться.



Ямальский кочевник делает Continous Delivery инстанса вашего ПО © National Geographic Россия

Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии6

Написание кода в docker окружении

Время на прочтение4 мин
Количество просмотров23K

В компании, где я работаю — большинство сервисов запускаются и работают в docker-контейнерах.


В связи с этим, у моих коллег-новичков-в-докере часто возникает вопрос — а как писать код и запускать его в этом чёртовом контейнере???



Для человека, написавшего около сотни docker-образов и запускающего их несколько раз в день — такой вопрос уже не стоит, но когда я разбирался с докером в давние времена — мысль "Как же писать код в докере? Это же сверхнеудобно!" долго была актуальной.


В статье я опишу свои практики работы с образами docker, которые позволяют писать код "как у себя в home", и даже лучше.

docker run --rm -it -v
Всего голосов 14: ↑10 и ↓4+6
Комментарии21

Фото-реалистичная графика в мобильной игре или первая в мире «видео»-игра (мобильная)

Время на прочтение7 мин
Количество просмотров17K

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


image


В нашем же случае, "видео"-игра — это видеоигра, основанная на реальном видео.


Читать дальше →
Всего голосов 22: ↑15 и ↓7+8
Комментарии16

Простой greylisting в opensmtpd

Время на прочтение3 мин
Количество просмотров4.8K

Данная статья является логическим продолжением статьи "Интеграция почтового анти-спама rspamd с opensmtpd" из-за некоторого вызова, который мне бросили, сказав, что сложно реализовать greylisting в связке opensmtpd+rspamd.


"Историй успеха" интеграции greylisting в opensmtpd я не встречал (если они существуют, то просьба написать в комментариях).


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


Мне удалось реализовать простой способ greylisting'а.


Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии7

Интеграция почтового анти-спама rspamd с opensmtpd

Время на прочтение5 мин
Количество просмотров7.7K

В сети довольно мало информации о подобной интеграции. То, что задача решаема — свидетельствуют редкие комментарии на сайтах, но готового решения я не нашёл. Возможно, это обусловлено тем, большинство используют postfix/exim.


Цели статьи:


  1. Описать методику решения задачи, чтобы было проще тем, кто пойдёт по моим следам;
  2. Отвлечь внимание коммьюнити от старого-доброго-древнего postfix и компании.

Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии11

Информация

В рейтинге
408-й
Зарегистрирован
Активность