техническое
Let’s Encrypt SSL Certificates и Nginx
Первым делом скачиваем актуальную версию
sudo apt-get update
sudo apt-get install git
git clone https://github.com/letsencrypt/letsencrypt
Postgresql reload
Часто бывает, что после того как внесешь изменения в pg_hba.conf нужно сделать рестарт, чтобы изменения вступили в силу. Оказывается, можно не делать, а выполнить:
# pg_ctl reload
или
SELECT pg_reload_conf();
Логирование изменений в Postgresql
Иногда нужно добавить логирование изменений в некоторых таблицах, для этого приходится городить сложную систему, которая будет отслеживать изменения и записывать в нужное место что поменялось, и есть большой риск забыть добавить логирование в каком-то месте, эту проблему можно изящно решить сделав триггер на изменение таблицы (весь исходный код доступен на github или можно скопировать нажав на кнопку).
Автоматическое обновление поля в PostgreSQL
В Postgres можно сделать, чтобы при создании записи какому-то параметру автоматически присваивалось значение:
ALTER TABLE table_name ADD COLUMN "updated" timestamp NULL DEFAULT now();
Язык Rust
Rust — это экспериментальный язык программирования, разрабатываемый Mozilla Research. Основная задача Rust — быть удобным языком для написания больших клиент-серверных приложений, работающих в сети Интернет. Такое позиционирование привело к возникновению набора функциональности с акцентом на безопасность, контролем за использованием памяти и параллельным выполнением задач. Производительность приложения на Rust должна быть сравнимой с производительностью C++ приложений. Выдержка из Википедии
Синтаксис Rust похож на C/C++ с блоками разделенными фигурными скобками и операторами такими как if, else, do, while и for.
А теперь вольный перевод хорошей, хотя и немного старой статьи A Quick Look at the Rust Programming Language.
Riak — как универсальное решение
Riak — это документно-ориентированная база данных с поддержкой HTTP, JSON, REST.
На основе Riak можно реализовать полноценный проект с CMS, поддержкой пользователей и загрузкой файлов.
Возможности
- Хранение объектов
- Ссылки(связи) между объектами
- Использование в качестве кэша
- Map/reduce, distributed grep
- Отказоустойчивость
- Поиск