Блог

Обзор игры JCloisterZone

Всем привет! Сегодня расскажу об одном интересном проекте - JCloisterZone. JCloisterZone представляет собой open-source реализацию популярной настольной игры "Каркассон".

Каркассон - настольная стратегически-экономическая игра, разработана Клаусом-Юргеном Вреде в 2000 году, впервые издана компанией Hans im Glück в Германии. В 2001 году была удостоена награды «Игра года» в Германии, выпускается многими мировыми издателями настольных игр, переведена на многие языки. Игра заключается в пошаговом собирании игрового поля и размещении на нём фишек своих подданных. В зависимости от того, на какую местность поставлена фишка, она становится рыцарем, крестьянином, монахом или разбойником.

2018 - итоги года

Всем привет. Поздравляю с наступающим 2019 годом!

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

Laravel downloader app

Всем привет. Не так давно делал тестовое задание для одной компании. Вакансия Senior PHP Developer, на удаленку. Нужно было сделать web сервис на Laravel, который будет загружать ресурсы по http.

Leaflet - создание карты путешествий

Всем привет! Сегодня будем делать карту путешествий с помощью leaflet - показывать на карте много gpx треков. Примеры из статьи доступны на github: https://github.com/antonshell/leaflet_examples.

Leaflet - базовая настройка карты + gpx

Всем привет! Сегодня раскажу о работе с библиотекой для отображения карт Leaflet. Примеры из статьи доступны на github: https://github.com/antonshell/leaflet_examples. Библитека может быть полезна, например, для отображения карт на сайте. В частности для отображения gpx треков. Преимущество перед google/yandex maps в том, что leaflet - это открытая библиотека и предоставляет больше возможностей для настройки/расширения. Главный недостаток в том, что придется настраивать все самому. Из коробки может выглядеть не так красиво, как google maps, зато есть множество возможностей расширения функционала.

Saint-Peterburg Symfony Meetup #4, 30 октября 2018

30 октября 2017 в Санкт-Петербурге состоялась четвертая встреча сообщества Symfoniacs - митап, посвященный PHP фреймворку Symfony.

Митап проводился в офисе компании PropellerAdds на ул. Профессра Попова 37Щ. Компания PropellerAdds занимается интернет рекламой и занимает практически весь 6й этаж Бизнес Центра. Офис выглядит довольно внушительно но, в то же время уютно. Запомнились панель мониторинга из 6 мониторов, шкаф с ноутбуками, висячее кресло.

Автотесты в Magento 2, часть 2

В предыдущей статье мы насторили окружение для тестов. В этой статье попробуем писать сами тесты.

У нас есть модуль. Пусть это будет личный кабинет. Но в отличии от стандартного модуля magento, это будет rest api. К нему можно будет подключить свой frontend.

Тесты будут лежать в папке Tests Здесь будут Unit тесты, Интеграционные тесты, вспомагательный код и фикстуры.

Автотесты в Magento 2, часть 1

В этой статье речь пойдет про автоматическое тестирование в CMS Magento 2. Использовалась Magento 2.2

Общеизвесно, что magento достаточно сложная система сама по себе. Она требовательна к ресурсам. Разрабатывать под нее сложно и долго. В целом, у меня сложилось очень неоднозначное впечатление от ее использования.

Если мы делаем крупный проект на Magento с большим количеством самописных модулей, то, наверняка, в какой-то момент захочется писать автотесты.

Подсветка кода в markdown с помощью GeSHi

Всем привет! Сегодня расскажу про подсветку кода в markdown файлах. То, что описано в этой статье, Я использую непосредственно на этом сайте. Для отображения этой самой статьи!

Вероятно, проще всего сделать блог на wordpress. Но я же все-таки - программист!. Поэтому я предпочел сделать его на Symfony. Оба подхода имеют свои преимущества и недостатки. Так, например, мне удобнее писать статьи не в админке, а в IDE. И хранить все тексты не в базе данных, а в файлах под git.

Настройка базовой авторизации Elastic Search

Иногда в процессе работы с elastic search может возникнуть необходимость ограничить доступ к нему. По умолчанию никакой защиты не настроено. Соответственно, кто угодно может смотреть ваши данные в elastic. Впринципе это не так и страшно, т.к. elastic все-таки поисковый движок. И данные для поиска могут быть доступны и не являются приватными.

Но в то же время, elastic доступен всем так же и на запись. Таким образом злоумышеник может удалить все индексы или подменить данные в них. Поэтому оставлять elastic открытым нельзя. Рекомендуется настроить firewall и ограничить доступ для определенных ip адресов или подсетей. Также можно настроить базовую авторизацию по логину и паролю.

Elastic в базовой версии такой функционал не поддерживает. Настройки безопасности реализованы в рамках платного дополнения x-pack.

Мы же настроим авторизацию с помощью web-сервера nginx.