Недавно в подкасте «Цинковый прод» мы с товарищами обсуждали паттерн CQRS/ES и некоторые особенности её реализации в Elixir. Т.к. я в работе использую Laravel, грех было не покопаться в интернетах и не найти как же можно потягать этот подход в экосистеме данного фреймворка. Всех приглашаю под кат, постарался максимально тезисно […]
Рубрика: Без рубрики
Laravel Event Projector и концепция порождения событий
Фрек ван дер Хертен (Freek Van der Herten) и команда Spatie долго трудились над Laravel Event Projector, пакетом, позволяющим применять концепцию порождения событий (Event Sourcing) во фреймворке Laravel. И вот наконец доступна первая стабильная версия (v1.0.0)! Вы можете установить Event Projector в свой проект при помощи composer и благодаря автоматическому […]
Haxe и PHP: статическая типизация, стрелочные функции и метапрограммирование
До того, как присоединиться к Haxe Foundation в качестве разработчика компилятора Haxe, Александр около 10 лет профессионально занимался программированием на PHP, так что он знает предмет доклада. Небольшое введение о том, что такое Haxe — это кроссплатформенный набор инструментов для создания ПО, в состав которого входят: компилятор, который в зависимости […]
Пошаговое руководство по машинному переводу на базе движка OpenNMT
Проект OpenNMT (Open Source Neural Machine Translation) представляет из себя нейросеть, которую, в том числе, можно натренировать переводить тексты с одного человеческого языка на другой, например, с английского на русский или наоборот. Для этого её нужно натренировать на датесэте представляющим из себя параллельный корпус текстов на двух языках. Т.е. нужно […]
Постановка зданий за протоссов в Starcraft 2
Сегодня мы поговорим о таком базовом элементе геймплея за протоссов как постановка зданий. Мы разберёмся, как строить глухие стенки, где ставить первые здания в разных матчапах и каких правил лучше придерживаться, чтобы ваши билд-ордеры не нарушались неприятными сюрпризами. Сегодня мы поговорим о таком базовом элементе геймплея за протоссов как постановка […]
Разработка транзакционных микросервисов с помощью Агрегатов, Event Sourcing и CQRS
Микросервисная архитектура становится всё более популярной. Это модульный подход, при котором приложение функционально разделяется на отдельные сервисы. В результате разработчики больших и сложных приложений могут быстрее выпускать качественный софт. При таком подходе им проще осваивать новые технологии, так как появляется возможность реализовывать каждый отдельный сервис с помощью наиболее подходящего и современного […]
Как восстановить контакты, удаленные с телефона или SIM-карты
Вчера я писал о том, как при попытке удалить контакты с SIM-карты, я ненароком удалил все телефонные контакты. Настало время рассказать, что я делал, чтобы попытаться восстановить удаленные контакты. Надеюсь, эта информация пригодится вам в будущем. Но лучше — чтобы не пригодилась.
Symfony 2 Joboard : Отправка писем через Mailer
Symfony по-умолчанию содержит в себе один из лучших решений в PHP для организации рассылки — Swift Mailer. Конечно же библиотека полностью интегрирована с Symfony и включает в себя некоторые дополнительные функции. Давайте начнем с отправки простого письма с токеном, в котором партнеру сообщается, что его аккаунт был активирован. Но сначала надо […]
Определить включен ли компьютер через сеть
Сегодня напишем простой скрипт на языке shell, который будет определять включен ли компьютер, находящийся в сети. Например, нужно, чтобы туннель на роутере поднимался только, когда клиентская машина включена и разрушался, при ее выключении. Вот такая у нас будет схемка, в качестве VPN сервера может выступать маршрутизатор филиала фирмы. Или, может быть, вы захотите, […]
Разбиение на страницы на PHP
Если вы занимаетесь разработкой интернет магазинов, каталогов, досок объявлений — то наверняка сталкивались с проблемой постраничного вывода информации. Проще говоря с пагинацией. Представленная ниже функция помогает решить эту задачу. В данной реализации используется враппер MySQLi под названием goDB. Но вы без труда сможете переделать под собственные нужды, главное понимать принцип […]