Разработка транзакционных микросервисов с помощью Агрегатов, Event Sourcing и CQRS

Микросервисная архитектура становится всё более популярной. Это модульный подход, при котором приложение функционально разделяется на отдельные сервисы. В результате разработчики больших и сложных приложений могут быстрее выпускать качественный софт. При таком подходе им проще осваивать новые технологии, так как появляется возможность реализовывать каждый отдельный сервис с помощью наиболее подходящего и современного стека технологий. Микросервисная архитектура также улучшает масштабируемость приложений за счет возможности развёртывать каждый отдельный сервис на оптимальном для него оборудовании. (далее…)

Как восстановить контакты, удаленные с телефона или SIM-карты

Вчера я писал о том, как при попытке удалить контакты с SIM-карты, я ненароком удалил все телефонные контакты. Настало время рассказать, что я делал, чтобы попытаться восстановить удаленные контакты. Надеюсь, эта информация пригодится вам в будущем. Но лучше — чтобы не пригодилась.  (далее…)

Symfony 2 Joboard : Отправка писем через Mailer

Symfony по-умолчанию содержит в себе один из лучших решений в PHP для организации рассылки - Swift Mailer. Конечно же библиотека полностью интегрирована с Symfony и включает в себя некоторые дополнительные функции. Давайте начнем с отправки простого письма с токеном, в котором партнеру сообщается, что его аккаунт был активирован. Но сначала надо настроить несколько параметров в файле parameters.yml: (далее…)

Определить включен ли компьютер через сеть

Сегодня напишем простой скрипт на языке shell, который будет определять включен ли компьютер, находящийся в сети. Например, нужно, чтобы туннель на роутере поднимался только, когда клиентская машина включена и разрушался, при ее выключении.

Вот такая у нас будет схемка, в качестве VPN сервера может выступать маршрутизатор филиала фирмы. Или, может быть, вы захотите, чтобы туннель пробрасывался к вашему VPS серверу для доступа к закрытым извне инструментам администрирования, некоторым портам (PMA, MySQL) (далее…)

Разбиение на страницы на PHP

Если вы занимаетесь разработкой интернет магазинов, каталогов, досок объявлений — то наверняка сталкивались с проблемой постраничного вывода информации. Проще говоря с пагинацией. Представленная ниже функция помогает решить эту задачу. В данной реализации используется враппер MySQLi под названием goDB. Но вы без труда сможете переделать под собственные нужды, главное понимать принцип работы. Он очень простой: передаем в функцию необходимые параметры, такие как сам SQL запрос, данные для запроса (если используются плейсхолдеры), количество записей на страницу и номер страницы. (далее…)

Генератор календаря на PHP с подсветкой событий

Статья рассчитана на пользователей, хорошо знакомых с объектно-ориентированным программированием. Сейчас я расскажу о новой полезной возможности, которая была введена с ветки 5 в качестве развития ООП в PHP (по сравнению с веткой 4). Она называется «цепочки вызовов» (Method Chaining) и выглядит следующим образом:

  1. $object->method_a()->method_b()->method_c();
(далее…)

RAR→JPEG или прячем архив внутри картинки

Спрятать файлы внутри JPEG-изображения довольно просто. Берём архив rar/zip (к примеру something.rar) и картинку в которую мы хотим вложить какие-то данные (например someimage.jpg). Теперь просто выпоняем комманду: (далее…)

PostgreSQL. Список таблиц с очень частой записью на диск

Предел возможностей БД часто упирается в дисковые операции. Поэтому стоит оптимизировать эти операции, меняя логику, архитектуру, масштабируя и пр. Запрос выведет статистику по таблицам в обратном порядке по сумме операций записи, т.е. сверху будут таблицы с наиболее интенсивной записью. (далее…)

Тюнинг Windows 10/8/7 на SSD

SSD-диски с каждым годом становяться всё доступнее и всё больше в объёмах. Так и я стал владельцем SSD-диска Kingston SSDNow V+200 60GB 2.5″ SATAIII, «распилив» его пополам, я установил на него любимый Linux Xubuntu 12.10 и новенькую Windows 8 Pro. О тюнинге последней я расскажу ниже. А вот о тюнинге Linux Xubuntu на SSD довольно неплохо рассказано вот здесь. Итак, облазив тонну сайтов по тюнингу я решил подвести итоговый алгоритм того что и как нужно оптимизировать в Windows 8, если она установлена на твердотельном диске (SSD). (далее…)

Интернет-эквайринг криптовалют — как это работает и кому нужно?

Платить биткоином за интернет-покупки в России пока невозможно. Фактически, платить криптовалютой пока нельзя вообще, просто потому что криптоактивы не являются платежным средством. Но системы интернет-эквайринга криптовалют создаются тестируются и даже, возможно, будут внедрены. Как это работает, насколько это законно и зачем это нужно — в нашем материале. (далее…)