Статьи

Автор:Игорь Тельменко

DNSControl

DNSControl - это продуманная платформа для плавного управления конфигурацией DNS на любом количестве DNS-хостов, как в облаке, так и в Вашей собственной инфраструктуре. Он управляет всеми доменами сети проекта Stack Overflow и может сделать то же самое для вас!
Прочитать больше

Автор:Игорь Тельменко

ClickHouse

ClickHouse представляет собой быструю, хорошо масштабируемую БД с SQL диалектом. Используется для случаев, в которых нужно создавать аналитические отчеты по большому количеству данных.
Если имеется широкая (с большим числом колонок) таблица, по которой нужно строить различные аналитические отчеты (фильтровать, группировать по различным колонкам), то ClickHouse подойдет здесь как нельзя лучше. Скорость выборки,  по сравнению с тем же MySQL, будет в сотню раз выше.

Прочитать больше

Автор:Игорь Тельменко

Phinx. Система миграций БД для php

С Phinx легко управлять миграциями базы данных вашего PHP-приложения. Менее чем за 5 минут вы можете установить его с помощью Composer и создать свою первую миграцию базы данных. Phinx делает только то, для чего предназначен (управление миграциями) без всякого раздувания инфраструктуры приложения.

Что меня заинтересовало в нем:

  1. Ставится через composer и не зависит от какого-либо фреймворка
  2. Кроме операций up и down есть change, который понимает как делать rollback сам
  3. Можно вставлять данные (даже без использования SQL), а не только менять структуру. Тоесть умеет делать seed-ирование
  4. MySQL адаптер поддерживает enum, set, blob и json типы колонок. (json в MySQL 5.7 и выше)
  5. Можно создавать контрольные точки для отката миграций http://docs.phinx.org/en/latest/commands.html
  6. Есть поддержка множества мест хранения миграций (например для каждого модуля свои миграции) http://docs.phinx.org/en/latest/configuration.html#migration-paths
Автор:Игорь Тельменко

Архитектра MVC

MVC - это вариант Многоуровневой архитектуры (Layered Architecture), архитектурный паттерн и парадигма, которая делит приложение на 3 основных слоя.

  • Модель (Model). Этот слой управляет всеми данными, логикой и бизнес правилами не зависимо от представления данных. Это сердце и душа MVC приложения. Слово "Модель" иногда вносит путаницу. В архитектуре MVC слой модели - это не одно и то же что модель Laravel.
  • Вид (View). Предоставляет различные представления слоя модели. Предоставляет способ вызывать изменения в состоянии модели.
  • Контроллер (Controller). Организует взаимодействие между слоями. Выполняет действия над моделью для обновления ее состояния. Отправляет сообщения в слой Вид (View) для изменения конкретного представления модели.

Прочитать больше

Автор:Игорь Тельменко

Внедрение зависимостей

Внедрение зависимостей (Dependency injection, или DI) — это принцип настройки объекта, при котором поля объекта задаются внешним объектом (сущностью) в противопоставление самонастройке объектов.

Прочитать больше

Автор:Игорь Тельменко

GraphQL

На смену web-приложенями, которые генерировали шаблоны на сервере и отправляли в браузер готовый html, а также базировались на концепции MVC пришли frontend фреймворки и отвоевали уже довольно крупную часть рынка. Чтобы получать данные с сервера они использовуют REST API. При активном использовании последнего начали отчетливее вырисовываться его ограничения.

GraphQL - это новый язык запросов для API, разработанный в Facebook. Является более эффективной, мощной и гибкой альтернативой REST. Но по сути это только спецификация (синтаксис), которая может иметь массу реализаций. Прочитать больше

Автор:Игорь Тельменко

Laravel Zero

Laravel Zero был создан и поддерживается Nuno Maduro и представляет собой микро-фреймворк, который обеспечивает элегантную отправную точку для вашего консольного приложения.

Прочитать больше

Автор:Игорь Тельменко

Torch — компоненты Illuminate вне Laravel

Репозитарий Torch - это инструкции и примеры по использованию компонентов Illuminate вне Laravel-приложений. Это бывает полезно, например, в каких-либо старых (legacy) приложениях, которые, в то же время,поддерживают php 7, чтобы не изобретать велосипед и использовать уже знакомые по Laravel компоненты.

Прочитать больше

Автор:Игорь Тельменко

Scratch 3.0 Preview

Scratch Team продолжает работу над Scratch 3.0, следующим поколении Scratch - языка и среды для обучения детей младшего и среднего школьного возраста программированию. Релиз ожидается позже в этом году.

Сейчас желающие могут посмотреть что получается. Тоесть попробовать Preview версию Scratch 3.0. В этой версии пока отсуствуют некоторые важные возможности (такие как возможность делиться проектами и редактирование растровой графики), но она дает представление о том, что получается. Прочитать больше

Автор:Игорь Тельменко

Web Workers API

Web Workers API служит для запуска скриптов в фоне. Если нам необходимо запустить в фоне какие-либо вычисления, да еще и в несколько потоков, то это подходящий инструмент для таких целей. Так как работа происходит в фоне, то при этих вычислениях рендеринг страницы не блокируется. Все происходит параллельно.

Прочитать больше

Автор:Игорь Тельменко

Laravel Console Logger

Пакет Laravel Console Logger предоставляем механизм логирования и извещений для консольных команд. В Laravel вывод штатными средствами происходит в общий лог. Для консольных команд это чаще всего не удобно. Эту проблему пакет решает успешно. Кстати, использует все тот же Monolog.

Прочитать больше

Автор:Игорь Тельменко

Laravel Console Mutex

Пакет Laravel Console Mutex - предотвращает одновременное выполнение одной и той же команды. Это помогает избежать различного рода конфликтов в данных и лишнего расходования ресурсов сервера.

Прочитать больше