Конфигурация проекта TypeScript + Node.js без забот

При старте нового проекта у меня всегда большая головная боль, какие пакеты включить, как бы не забыть настроить инструменты проверки кода и правила проверки. Для работы со средами непрерывного развёртывания нужно ещё не забыть правила. Всё было бы хорошо, если бы работа всегда велась в одном проекте. Однако, в последнее время у меня укоренилась привычка создавать отдельные проекты для проверки новых пакетов или тестирования взаимодействия со сторонними сервисами.

Читать далее »

Обзор Remote Development от JetBrains

С очередным обновлением я заметил интересную бета-фичу от JetBrains для разработке на удалённой машине. В своей работе я обычно запускаю vim или emacs чтобы покодить на продакшене. Но очень интересно как это — уронить продуктивный сервер с комфортом и привычными хоткеями )

Читать далее »

Использование переменных окружения для конфигурирования Django

Крайне удобно, когда можно гибко управлять настройками своего приложения. Такими как подключение к базе данных, какие-то магические константы или ключи шифрования приложения. В Django есть механизм конфигурационных файлов, однако они не удобны тем, что они попадают в репозиторий. А это, во-первых, создаёт смешение отвественности. Репозиторий нужен для хранения исходных кодов, а не данных доступа и настроек сред. А, во-вторых, если одно и то же приложение используется в нескольких окружениях (даже дев/тест/прод) то возникает головная боль с сопровождением этих настроек и поддержкой их в актуальном состоянии. Решением этой проблемы могут стать переменные окружения.

Читать далее »

Добавление React приложения в Django

С опытом приходит понимание, что хорошо организованный проект гораздо легче не только в начальной разработке но и в дальнейшей поддержке. Когда каждый файл находится на своём месте и из названия каждой папки и файла в структуре понятно за что он отвечает не только тебе, но и твоим коллегам. Рассмотрим мои изыскания по организации проекта React + Django в одном репозитории.

Читать далее »

Не зависимый от локали парсинг даты из строки в DateTime

В одном из проектов, волею судеб у меня приключилось что дата приходит из сторонней системы в виде строки формата Y-m-d и эту дату нужно сложить в столбец типа date в MS SQL сервере. В самой программе осуществляется запрос INSERT с этими данными. И одна ленивая задница (конечно это был я) решила не преобразовывать данные внутри программы, а просто сунуть их в параметр запроса. И вот что из этого получилось.

Читать далее »

Установка esxi 6.5 на сервер hetzner

В одном из проектов появилась необходимость развернуть пачку сред сборки и тестирования. После некторого размышления я остановил свой выбор на разворачивании инфраструктуры на VMWare ESXi, так как есколько тестовых стендов включали в себя Windows машины возиться с пересборкой докеров было не с руки. Если поднимать ESXi, то автоматом встаёт вопрос об аренде выделенного сервера. Не долго колебаясь я пошёл на аукион серверов hetznet, чтобы присмотреть себе там что-то подходящее. Быстренько подобрал конфигурацию и началось…
Читать далее »

Организация процесса разработки WordPress сайта. Управление базой данных.

Одним из самых проблемных мест в работе с WordPress для меня является синхронизация изменений базы данных между средой разработки, тестовой средой и продуктивной средой. Одним из способов решения данной проблемы является ручное снятие бэкапа со среды с последними изменениями и восстановление его в нужном месте. Однако это во-первых куча ручной работы, во-вторых, это не решает проблемы с пользовательскими загруженными файлами и, в-третьих, мы знаем, что в статьях хранится абсолютный url с доменным именем сайта. На другой среде с другим доменным именем мы получим предсказуемы проблемы.
Читать далее »

Организация процесса разработки WordPress сайта. Управление файлами проекта.

Мы (программисты) пишем программы. Программы пишутся буквами в файлы. Значит управление проектом не мыслимо без управления файлами. Сейчас мы рассмотрим настройку проекта с использование Git, настройку безопасности для веб-сервера и настройку среда окружения WordPress для работы в разных конфигурациях.
Читать далее »

Организация процесса разработки WordPress сайта. Строим окружение с Docker.

Созданию окружения необходимо уделять внимания не меньше чем качественному коду. Потому что от удобства и комфорта тестирования продукта зависит конечный результат. В предыдущей части мы остановились на использовании среды виртуализации Docker. Данная среда позволяет нам, во-первых, минимально засорять систему установленными программами. Во-вторых, легко экспериментировать с разными версиями компонент. В-третьих, легко удалить устаревшие образы. И, что не маловажно, размер одного контейнера существенно меньше, чем при использовании виртуальных машин virtual box или vmware.
Читать далее »