четверг, 28 февраля 2019 г.

Как настроить LetsEncrypt SSL сертификат для сайта?

Чтобы сайт работал по HTTPS протоколу вместо HTTP, необходимо купить и настроить на сервере SSL сертификат — до недавнего времени подтверждённые SSL сертификаты стоили денег. Впрочем, сейчас они тоже стоят денег, но сегодня у разработчиков и компаний есть альтернатива — возможность использовать бесплатные SSL сертификаты, выпущенные центром Let's Encrypt. Это абсолютно нормальные рабочие сертификаты, позволяющие сайту полноценно работать по HTTPS протоколу, иметь замочек безопасного соединения в адресной строке браузера, а также использовать все веб-стандарты, требующие работы по HTTPS.

В этом видео мы посмотрим, насколько просто получаются бесплатные SSL сертификаты LetsEncrypt, а также насколько просто настраиваются веб-серверы (apache, nginx и другие) для работы с ними с использованием certbot на Debian. Welcome!

среда, 6 февраля 2019 г.

htop — популярный менеджер процессов для Linux/Unix/Mac OS X. Данная утилита умеет не только показывать процессы списком, но также позволяет выводить их в виде дерева, искать процессы, посылать им сигналы, смотреть открытые процессом файлы и потоки, смотреть переменные окружения для процесса и многое другое. Обо всём этом — в видео обзоре htop.

четверг, 31 января 2019 г.

Tmux — что это и зачем? Обзор и урок tmux

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

Изучаем Vim, команды и макросы. Зачем текстовый редактор Vim в 2018?

Vim — мощнейший текстовый редактор, которому скоро будет 50 лет. Если вы много работаете с текстом, то вполне вероятно Vim сможет значительно облегчить вашу жизнь и упростить написание и редактирование текстов.

среда, 16 мая 2018 г.

Авторизация по SSH ключам в GitLab/Github

git pull/push просит логин и пароль на каждой операции и вы задолбались их вводить? Тогда мы идём к вам:)!

Первое. Генерим ssh ключ:

ssh-keygen -t rsa -b 4096

Второе. Копируем созданный ключ (файл ~/.ssh/id_rsa.pub) в глобальные настройки профиля GitLab (если ссылка не работает, идти в Settings - > SSH Keys).

Третье. Проверяем, что локальный Git репозиторий работает с удаленным сервером через SSH вместо HTTP или HTTPS:

git remote -v

Если вы видите что-то вроде origin git@, то всё в порядке, если нет — переключаемся на SSH ссылку origin-сервера, её можно скопировать на странице репозитория в веб-интерфейсе самого Gitlab или Github:

Меняем удаленный Git сервер для работы через SSH вместо HTTPS:

git remote set-url origin git@gitlab.com:dbms/vetexpert-vuejs-mobileapp

Ура! Теперь команды git pull/push не будут просить логина и пароля.

пятница, 13 апреля 2018 г.

Работа с Timezone в Django + PostgreSQL

Задача: разобраться, как нормально работать с временными зонами в Django/PostgreSQL.

Решение.
Включить в Django settings.py использование временных зон и указать нужную зону:

USE_TZ=True
TIME_ZONE = 'Europe/Moscow'

Для работы со временем и датой всегда использовать django.utils.timezone.localtime:

from django.utils import timezone
now = timezone.localtime(timezone.now())

Дело в том, что timezone.now() отдает время в UTC метке и тут можно напороться на два не очень удобных момента: в 2 часа московской ночи timezone.now().date() покажет неверную дату, и время timezone.now().hour — не текущий час в Москве, а текущий час по UTC. Поэтому всегда используем timezone.localtime() для получения нормального Московского времени.

PostgreSQL в связке с Django по умолчанию хранит все временные метки timestamp в UTC временной зоне и при использовании ORM установленная в Django временная зона перегоняется в UTC и в базе хранится как UTC.

Использование localtime() прекрасно — в Python коде мы уверены, что это всегда именно локальное нормальное время и дата.

пятница, 3 ноября 2017 г.

Бесплатное получение Dun & Bradstreet D-U-N-S Number для регистрации в Apple Developer

Проблема: хотим выложить приложение в Apple App Store от имени компании. Для этого надо зарегистрировать Apple Developer аккаунт, заплатить в Apple 99$ (ежегодно) и в процессе регистрации предоставить специальный номер Dun & Bradstreet D-U-N-S Number, который выдаёт компания Dun & Bradstreet, ведущая международный реестр организаций. В России получить такой номер стоит 12 тысяч, а нам очень не хочется платить эти деньги непонятно за что.

Решение. Apple сама бесплатно может передать данные в Dun & Bradstreet и получить номер D-U-N-S за вас. Для этого идём в https://developer.apple.com/enroll/duns-lookup/#/request, вводим свой Apple ID логин и пароль, заполняем на открывшейся странице данные о компании.


Заполнив, в самой нижней части страницы нажимаем еле заметную, спрятанную от врагов, ссылку submit your information.


После этого отправляем данные, на все соглашаемся и ждём.


Ура!