Блог

Docker под Windows на WSL2

Всем привет! Сегодня хотел бы поделиться опытом использования Docker под Windows.

Возникла необходимость запустить на Windows 10 один из своих PHP проектов. Последнее время работаю в основном под Linux, большинство проектов запускаю в Docker окружении. Docker изначально создавался для Linux и работает под ним заведомо корректно.

До этого я пытался использовать Docker под Windows/Mac, но всякий раз возникали какие-то проблемы. В итоге все сводилось к установке Linux на виртуальную машину Virtualbox, и установке Docker на виртуалке.

Ситуация изменилась к лучшему, когда в Windows 10 появилась WSL. WSL создает Linux окружение в Windows 10. При этом это не совсем виртуалка, WSL интегрирована в хост систему. А WSL2 совместима с Docker для Windows.

Настройка PHP-CS-Fixer

Всем привет! Сегодня хотел бы рассказать о настройке PHP-CS-Fixer для PHP проекта. PHP-CS-Fixer используется для автоматического форматирования кода в соответствии с определенными правилами, к примеру, стандартами PSR.

С помощью PHP-CS-Fixer можно повысить качество кода. Соблюдение стандартов кодирования делает код проекта более читаемым и упрощает разработку. Кроме того, использование автоматического форматирования должно помочь упростить процесс code review.

Анализируем код PHP проекта c помощью Psalm

Всем привет! Сегодня хотел бы рассказать о настройке анализа кода PHP(Symfony) проекта c помощью Psalm. А также генерацию html отчета и последующую интеграцию с Github Actions.

Psalm - инструмент для статического анализа и поиска ошибок в PHP проектах. Пример работы можно посмотреть на на официальном сайте.

Изначально настраивал для этого блога. Но затем, для большей наглядности, также настроил для одного из открытых проектов - placeholder-service.

Анализ покрытия кода тестами для PHP проекта

Всем привет! Сегодня хотел бы рассказать о настройке анализа покрытия кода тестами для PHP(Symfony) проекта. И последующую интеграцию с Github Actions.

Анализ покрытия тестами нужен в первую очередь для определения того, насколько качественно написаны тесты и насколько они реально тестируют код. Подробнее об анализе покрытия кода.

Изначально настраивал для этого блога. Но затем, для большей наглядности, также настроил для одного из открытых проектов - placeholder-service.

Настройка Github Actions для Symfony проекта

Всем привет! Сегодня хотел бы поделиться опытом настройки и использования Github Actions. Интерес и желание попробовать этот инструмент у меня появилось довольно давно. В коммерческих проектах давно уже используется CI/CD, docker контейнеры и т.д. А для своих проектов все как-то руки не доходили настроить.

2020 - итоги года

Всем привет! Медленно, но верно, 2020й год подходит к концу. Вероятно, он оказался непростым для всех. За несколько дней до нового года уже нет сил начинать делать что-то серьезное. Остается максимально завершить все, что еще можно закончить в этом году. И надеяться, что следующий год принесет нам больше приятных сюрпризов. Или хотя бы будет просто спокойным. Также хочется подвести итоги уходящего года.

Спасибо, DataArt. Привет, IDEXX!

Всем привет! 6 ноября 2020 был мой последний день работы в DataArt. 9 ноября начал работать в IDEXX. Компания занимается производством и распределением продуктов и услуг для ветеринарии. В IDEXX я работаю над проектом Neo - CRM для ветеринарных клиник.

Форма регистрации на Symfony + VueJs

Всем привет! Некоторое время назад проходил собеседование в один проект. Собеседование проходило в несколько этапов и одним из них был livecoding.

Задание было не очень сложным - создать форму регистрации, работающую через ajax. Пользователь указывает email, username и пароль. Имя пользователя и email должны быть уникальными. Необходимо предусмотреть валидацию сложности пароля. В качестве стартовой точки дается пустой контроллер.

Сервис денежных транзакций

Всем привет! Сегодня хотел бы поделиться опытом создания простейшего сервиса денежных транзакций. Сразу скажу, что сервис не предназначен для использования в production. Похожий сервис я реализовывал в качестве тестового задания. Само задание выглядело так:

  • Реализовать возможность перевода средств между кошельками пользователей.
  • С каждой транзакции брать комиссию 1.5% в пользу системы.
  • Поддержка 2х валют: BTC(Bitcoin) и ETH(Ethereum).
  • Подготовить данные для демонстрации (несколько пользователей и кошельков)
  • Работа с системой осуществляется через REST API.
  • Подготовить docker сборку.

Примеры работы с Google Maps API

Всем привет! Сегодня хотел бы поделиться примерами работы с Google Maps API. До этого, естественно, приходилось их использовать. Чаще всего - просто подключить google maps на сайте и поставить несколько маркеров. В то же время, было интересно попробовать расширенные возможности работы с картами. Пост представляет собой список дополнительных возможностей google maps с небольшими примерами.