Об ошибках

2019-06-30 • языки программирования, обработка ошибок, Go, golang, Java, C, Rust

В C всё просто, но непоследовательно. Обычно функции делают что-то сами по себе и возвращают указатель на структуру, которая является результатом работы.

FILE *fp;
if ((fp = fopen("test", "w")) == NULL) {
  printf("Cannot open file.\n");
  exit(1);
}
int *arr = malloc(sizeof(*arr));
if(arr == NULL)
{
  printf("Memory allocation failed");
  return …

    Read...    

О Венеции

2019-06-08 • Венеция, город, путешествие, впечатление, Гарда

Провели отпуск в Венеции.

Венеция — это тот самый город на воде. На севере Италии. На берегу Адриатического моря, которое часть Средиземного моря. В своей собственной Венецианской лагуне.

Венеция

Технически, Венеция — это не только острова, но и некоторая материковая часть, которая ранее считалась отдельным городом под названием Местре. На материке в Венеции …


    Read...    

Об SSD

2019-05-19 • SSD, TRIM, discard, mount

В моём ноутбуке два SSD. Один, родной, подключен через M.2. Второй я воткнул через SATA, был в ноуте пустующий двухсполовинойдюймовый отсек.

Я думал, что современный Linux (в моём случае KDE neon) умеет самостоятельно определять и настраивать SSD. Оказалось, что нет.

Определять-то он умеет.

$ cat /sys/block/sd[a,b …

    Read...    

О дате

2019-05-18 • date, time, ISO 8601, время

За последние две недели мне пришлось дважды спорить по одному и тому же поводу. Заказчика я (почти) убедил после трёх дней переписки. Коллег пока не всех убедил. Поэтому пишу этот пост.

Начнём с теории.

С астрономической точки зрения у нас есть лишь два видимых периода. Во-первых, день или сутки. То …


    Read...    

Об очередях

2019-05-01 • AWS, SQS, Lambda

И снова об Амазоне. Снова о Лямбдах. И том, как их правильно готовить.

Есть в AWS штука под названием IoT. Точнее IoT Core. Оно работает как брокер для протокола MQTT. Это, как оказалось, популярный протокол в мире интернета вещей. Простенький бинарный протокол поверх TCP, по которому «устройства» посылают всякие сообщения …


    Read...    

О Kodein

2019-04-21 • IoC, DI, Kotlin

Мы тут пишем Лямбды. Которые AWS Lambda. Пишем на Kotlin. Запускаем в JVM. В OpenJDK 1.8, который туда завезли.

Я, как человек, сильно покусанный всякими паттернами и Спрингом, конечно же пишу Лямбды в виде максимально независимых компонентов. И возникает вопрос, как эти компоненты связывать друг с другом. Речь не …


    Read...    

О Pelican

2019-04-14 • Pelican, статическая генерация, блог

Как вы, надеюсь, заметили, блог изрядно поменялся. Дело в том, что Google+ умер. А Blogger, который тоже продукт под крылышком Гугла, и на котором крутился блог, был сильно завязан на Google+. Там были комментарии из G+. Там была ссылка на мой профиль на G+. Всё это скурвилось. А комментарии из …


    Read...    

О CodeFest X

2019-04-07 • codefest, конференция, впечатление

По традиции каждый год в конце марта мы с друзьями едем в Новосибирск на CodeFest. Этот CodeFest оказался юбилейным. Десятым (на самом деле двенадцатым). Поэтому — CodeFest X (следующий, вероятно, будет XS или XR).

На открытии организаторы попытались найти долгожителей. Просили поднять руки тех, для кого это первый, второй, третий и …


    Read...    

О нервах, немного

2019-03-23 • музыка, концерт, бар, Немного нервно

Сходил на концерт недавно любимой группы «Немного нервно». Испытал некоторое разочарование.

Глава 1

Вообще-то я редко хожу на концерты. Регулярно посещаю только БГ, когда он добирается до Омска. Ну и с оказиями попадал на концерты джазовой и классической музыки в Омске и Астане. Отсюда, кстати, выяснил, что настоящий правильный клёвый джаз умеют …


    Read...    

О сертификатах

2019-03-08 • SSL, TLS, RSA, сертификат, CA, Nginx, OpenResty, Lua, Go, golang

Понадобилось нам по работе поиграть в Роскомнадзор. Сделать так, чтобы страница блокировки работала через HTTPS.

Тут нужна магия с сертификатами.

TLS/SSL сертификаты — это пара ключей. Асимметричной криптографии. И связанная с публичным ключом метаинформация: кто таков, для чего нужен, и тому подобное.

Приватный ключ присутствует на сервере, но никогда не …


    Read...