Полиморфное отношение к множеству одинаковых сущностей в Eloquent Laravel

Web

У вас есть общая таблица (полиморфная) которая может хранить общие записи разных моделек.
Например у вас есть модель комментариев, которые есть у постов и у видео. И вы хотите комментарии к постам делить на обычные комментарии (одна коллекция) и премиум комментарии (другая коллекция).
Чтобы ресурс вам возвращал каждый из типов в отдельности.
По умолчанию связь идет через поля entity_id и entity_type
Через них и проходит вся магия.

Читать дальше →

  • Автор: kosmom
  • Просмотров: 273
  • Комментариев: 0
  • Создан: 12.04.2021 18:09

Продвинутый механизм файлового логирования

Web

Приветствую тех кто повязан в вебе. Сегодня обсуждение небольшого вопроса связанного с попыткой организовать правильное файловое логирование
Очередное нестандартное решение стандартной проблемы. Кому интересны необычные подходы - прошу. Кто считает что если есть стандартные решения и нужно всегда ими пользоваться - проходите мимо.

Я буду писать в ключе PHP, но мышление применимо и к любому другому серверному языку.

Каких показателей мы хотим достигнуть?
Хочется быстро получить доступ к последним записям в логах. Хочется иметь возможность программно парсить данные, для дальнейшего анализа логов. А также хочется не вредить при этом существующим механизмам для работы с логами - утилиты tail и текстовому представлению.

Читать дальше →

  • Автор: kosmom
  • Просмотров: 285
  • Комментариев: 0
  • Создан: 22.01.2021 11:30

Временная зона и боль

Web

Что такое временная зона и почему с ней столько проблем. Дело даже не в том что в базе данных нужно хранить все даты с привязкой к единой зоне, например UTC+0 или UTC+3 (если вы живете в МСК)

чтобы все даты были в одном формате. Пока отменен переход с зимнего времени на летнее - всё будет спокойно. Если такое произойдет - некоторые события могут сбиться.

Читать дальше →

  • Автор: kosmom
  • Просмотров: 353
  • Комментариев: 0
  • Создан: 07.08.2020 16:18

Апи Прокси для хостинга на шаред хостинге

Web

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

Сделать себе проксю можно посредством облачного шаред хостинга стоимостью от 9 руб в месяц.

Читать дальше →

  • Автор: kosmom
  • Просмотров: 1108
  • Комментариев: 0
  • Создан: 11.07.2018 07:15

Правильная Ориентация при заливке изображений JPEG

Web

Замечали такую замечательную вещь. Получив изображение из фотоаппарата — вы вкладываете его на сайт, а загружается оно повернутым на 90 градусов? Что же это за бяка такая, почему крупные ресурсы вроде контакта заливают изображение правильно?
Чем наш сервис то хуже? Почему в базовом PHP и GD так криво настроено чтение исходных изображений?..
А код у вас выглядит примерно так?

<?php
$prop=getimagesize($filename);
switch($prop[2]){
  case IMAGETYPE_JPEG:
    $image = imagecreatefromjpeg($filename);
    break;
  case IMAGETYPE_GIF:
    $image = imagecreatefromgif($filename);
    break;
  case IMAGETYPE_PNG:
    $image = imagecreatefrompng($filename);
    break;
  }

Тогда этот материал будет для вас полезен

Читать дальше →

  • Автор: kosmom
  • Просмотров: 2376
  • Комментариев: 3
  • Создан: 11.03.2014 13:34

Объединяем CSS и JS файлы

Web

Сжатие файлов путем объединения схожих между собой файлов

В продолжении темы сжатия CSS и JS файлов — можно добиться еще большей производительности при загрузки страницы, объединив между собой схожие по смыслу JS и CSS файлы. Если волею судьбы — во всех страницах проекта используются одни и те же JS файлы (либо все JS файлы в папке) — мы можем слепить их в один файл и к серверу будет меньше обращений в итоге.

Читать дальше →

  • Автор: kosmom
  • Просмотров: 1067
  • Комментариев: 0
  • Создан: 19.02.2014 12:11

PHP Fatal error: Allowed memory size of . Хватит. Давайте решим проблему

Web

Fatal error: Allowed memory size ... nooooooo

Частенько ли приходилось встречать ошибку рода

Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 544328 bytes) in …

Давайте устраним ее раз и навсегда...

Читать дальше →

  • Автор: kosmom
  • Просмотров: 10992
  • Комментариев: 0
  • Создан: 05.07.2013 17:18

Вычисление математических формул на PHP и Javascript

Web

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

Решение мы будем искать на самых простых серверных и клиентских языках - PHP и Javascript.

Читать дальше →

  • Автор: kosmom
  • Просмотров: 3757
  • Комментариев: 0
  • Создан: 28.05.2013 16:12

Реализация качественного вывода данных. ч3. Сортировка

Web

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

добавляем сортировку и вообще красотень

Читать дальше →

  • Автор: kosmom
  • Просмотров: 761
  • Комментариев: 0
  • Создан: 28.12.2012 13:05

Реализация качественного вывода данных. ч2. Постраничник

Web

добавлен постраничник

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

Читать дальше →

  • Автор: kosmom
  • Просмотров: 836
  • Комментариев: 0
  • Создан: 27.12.2012 17:51