Оптимизации на базе Таблицы замыканий (Closure Table) — Таблица замыканий (Closure Table) - прекрасный паттерн, предназначенный для хранения древовидных данных в реляционной БД. Теории по нему много, поэтому давайте рассмотрим практику, разбавив ее некоторыми авторскими “фишечками”. За примерами далеко ходить не будем - моя PinaCMS2 как раз хранит структуру страниц сайта с использованием данного подхода.Ниже в этой статье мы сведем выборку товаров категории к покрывающему индексу, предложим простой и эффективный диспетчер, а также научимся на лету скКак быстро писать сложные и надежные SQL-запросы на выборку коллекций — Написание SQL-запросов вызывает проблемы даже у опытных программистов, понимающих толк в разделении ответственности, низкой связности и других правильных вещах.Давайте рассмотрим путь, который обычно проходит программист, а потом предложим альтернативный подход. Здесь и далее я предполагаю, что мы не пишем запросы вручную, а используем какой-то билдер, позволяющий нанизывать на запрос все новые и новые условия и соединения.Прошу держатьПростейший ИИ для игры в крестики-нолики — Разбираюсь с машинным обучением. Моя промежуточная цель — создать искусственный интеллект для собственной онлайн-стратегии. Задача сложная, поэтому начинаю с малого. Читаю книгу «Обучение с подкреплением», автор Р. С. Саттон. Первая глава этой книги посвящена в том числе разбору примера игры в крестики-нолики. Поняв общую концепцию, мне захотелось реализовать её в коде, чтобы лучше разобраться в теме и поэкспериментировать.ИсходникиТо,Основы REST-архитектуры — Архитектуру REST часто путают с некой методикой именования URL на сайте, правилами применения HTTP-методов: GET, POST, PUT, DELETE. Но REST — мощнейший архитектурный стиль, затрагивающий всё приложение, концентрирующийся на производительности и совместимости с другими системами.Между веб-сервером, на котором работает сайт, и браузером клиента находятся многочисленные промежуточные узлы, обрабатывающие и кэширующие передаваемую информацию. На