sudo через TouchID/Apple Watch в OS X
Чтобы вместо ввода пароля для sudo прикладывать палец к TouchID нужно отредактировать файл
sudo nano /etc/pam.d/sudo
добавив второй строкой:
auth sufficient pam_tid.so
Личный блог с мыслями и наблюдениями
Чтобы вместо ввода пароля для sudo прикладывать палец к TouchID нужно отредактировать файл
sudo nano /etc/pam.d/sudo
добавив второй строкой:
auth sufficient pam_tid.so
Когда проектируешь масштабируемые системы, где приходится обращаться ко множеству внешних компонент, например, использование стороннего API, отправка почты или конвертация видео, лучшим способом реализации является асинхронная модель с системой очередей, которая является связующим звеном для взаимодействия всех компонент системы…
Самой популярной системой очередей в Python является Celery, она обладает широким набором возможностей по управлению задачами.
К сожалению, сложные системы на базе Celery сложно поддерживать в работоспособном состоянии и когда что-то идёт не так, то найти проблему бывает весьма не просто. Можете спросить любого девопса об опыте работы с Celery, но будьте готовы услышать не очень приятные слова.
К счастью, есть альтернативное решение и сейчас я расскажу о нём.
Очень часто бывает, что фронтенд-разработчику необходимо добавить или изменить функционал сайта, но нет возможности получить его dev-версию, на которую можно повлиять. Обычно это пытаются обойти запуском браузера с отключенной безопасностью, но не всегда это помогает.
Я расскажу как при работе с «чёрным ящиком» иметь возможность воздействать на его ответы, а также как решать проблемы связанные с безопасностью.
sudo apt-get update
sudo apt-get install git
git clone https://github.com/letsencrypt/letsencrypt
Часто бывает, что после того как внесешь изменения в pg_hba.conf нужно сделать рестарт, чтобы изменения вступили в силу. Оказывается, можно не делать, а выполнить:
# pg_ctl reload
или
SELECT pg_reload_conf();
Иногда нужно добавить логирование изменений в некоторых таблицах, для этого приходится городить сложную систему, которая будет отслеживать изменения и записывать в нужное место что поменялось, и есть большой риск забыть добавить логирование в каком-то месте, эту проблему можно изящно решить сделав триггер на изменение таблицы (весь исходный код доступен на github или можно скопировать нажав на кнопку).
В Postgres можно сделать, чтобы при создании записи какому-то параметру автоматически присваивалось значение:
ALTER TABLE table_name ADD COLUMN "updated" timestamp NULL DEFAULT now();
Хотелось бы рассказать про две программки, которые сильно упрощают жизнь, когда имеется много фотографий, которые нужно повернуть и изменить размер: jhead и sips
sips — стандартная утилита OS X, scriptable image processing system. Кроме прочего, умеет изменять размер картинки по максимальной стороне.
jhead — Exif Jpeg header manipulation tool. Удобна для поворота картинки по данным EXIF. Для её работы нужен libjpeg (brew install libjpeg).
$ mkdir 1024 # создаем папку для готовых картинок
$ jhead -autorot source_images/* # поворачиваем картинки
$ sips -Z 1024 source_images/* --out 1024/ # изменяем размер