Laravel 5.8: настроить часовые пояса для пользователей

Привет. Заметка по следам предыдущего материала: Даты, деньги и enum.

Однажды, пока я работал над проектом, меня осенило. Даты-то у меня везде разные!

Во-первых, система, которую я разрабатываю, зависит от стороннего API. Оттуда даты приходят в чистом UTC, что хорошо. Время моего сервера — московское (UTC+3), допустим это окей, судить не берусь. А время в конфигах лары — Asia/Irkutsk (UTC+8). Вот здрасьте. Надо решать проблему.

Лара отдаёт мускулю даты (тип timestamp) как они есть и мускуль их такими пишет в БД. В этих timestamp-ах не указан часовой пояс, что хорошо для нас — это даёт гибкость. Время сервера никак на ни на что это не влияет, так что этим можем пренебречь. Уже легче.

Теперь нужно понять что в каком порядке корректировать. План таков:

Читать далее Laravel 5.8: настроить часовые пояса для пользователей

Даты, деньги и enum

Короткий пост о важном — как в проекте работать с деньгами, датами и перечислимыми типами.

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

Читать далее Даты, деньги и enum

Texet TM-9720 — прошивки, патчи. На 4PDA битые ссылки

Привет.

У меня есть этот древнющий планшет. У него не работает тачскрин (как показали эксперименты — глючит шлейф). Ещё у него когда-то упало напряжение на OTG-host и мне пришлось запитать его на 5V напрямую от аккумулятора.

Недавно я про него вспомнил и решил воскресить: подумал, что если его подключить к TV по HDMI, то может получиться вкусненько. Не получилось — слишком планештик оказался медленным для ВСЕГО. Напомню, он производился в 2012, примерно тогда и покупался.

Так вот. У меня с тех пор осталась куча прошивок и всякого полезного из этой ветки на 4PDA. Сейчас этот топик закрыт, почти все ссылки мертвы. Но при наличии всех файлов инфа там, конечно, всё ещё применима.

Официальный сайт texet вообще переделали и оттуда исчезли все материалы по планшету. Официальный комплект прошивки мне пришлось качать из webarchive. (Это чудо! Там есть снимки с нужным архивом!)

Если у тебя есть такой же планшет и ты хочешь его вернуть к жизни, то вот. Держи. Я залил всё, что у меня было, на Я.Диск. Распихал по директориям, приложил, где мог, инструкции и ссылки.

Скачать

Обрати внимание! АТОЛ Онлайн и приём наличных

Обновился протокол АТОЛ Онлайн до версии 4.12. Вот на что я обратил внимание: есть одно критически важное, на мой взгляд, упущение в документации.

из документации 4.12

В версиях 4.10 и 4.11 для всех чеков (то есть я имею в виду вообще все: приход, возврат прихода, коррекция прихода, расход, возврат расхода, коррекция расхода) нельзя было указать payments.type = 0 (приём наличных). Мои собственные тесты (когда был актуален 4.10) показали, что если указать наличку в приходе, то чек всё равно оказывается безналичным.

В версии 4.12 появился наличный способ оплаты. Но об этом не сообщается ни в разделе «Версии документа», ни в телеграм -канале.

Пруфы:

Смотреть

Перенос BurBlogs с tumblr на WordPress и мысли о целесообразности проекта

Привет.

Я тут решил на днях посмотреть в каком состоянии мой проект BurBlogs.ru. Посмотреть на неподгрузившиеся картинки в шапке и подвале, ошибки в консоли из-за этого, поковырять ПУ Tumblr ну и вообще оценить масштаб бедствия.

И меня посетили 2 мысли, полторы из которых — ужасные.

Во-первых, Tumblr стал ужасен как таковой, сам по себе. Ниже я расскажу о причинах, по которым я мог бы перенести это дело в свои руки.

Во-вторых. Мог бы перенести хоть сейчас, если бы видел в этом вообще смысл. Ниже я расскажу и об этом.

Читать далее Перенос BurBlogs с tumblr на WordPress и мысли о целесообразности проекта

git: unable to create thread: Resource temporarily unavailable

Ситуация: на shared-хостинге, к которому есть доступ по SSH, вертится проект. Для проекта создан локальный и удалённый git-репозитории. В локальном репозитории есть коммиты, не отправленные на удалённый.

Задача: отправить коммиты на удалённый репозиторий.

Проблема: при попытке git push возникает ошибка:

Counting objects: 5009, done.
Delta compression using up to 16 threads.
fatal: unable to create thread: Resource temporarily unavailable
error: pack-objects died with strange error

Примечание: может проявляться в связке с этой проблемой, либо после неё, либо независимо от неё.

Причина: ограничения хостинга, не позволяющие git‘у создать поток и начать отправку коммитов.

Есть целых два решения

git: unable to create threaded lstat

Ситуация: на shared-хостинге, к которому есть доступ по SSH, вертится проект. Количество файлов проекта исчисляется десятками тысяч. Для проекта необходимо создать git-репозиторий.

Задача: добавить в репозиторий хотя бы четверть или треть от всех файлов — наиболее важные.

Проблема: при попытке git status возникает ошибка unable to create threaded lstat

Причина: ограничения хостинга, не позволяющие git‘у обработать список файлов.

Есть целых два решения

Битрикс: «Ошибка удаления. Возможно есть ссылающиеся объекты.» при попытке удалить инфоблок

Ситуация: при настройке в 1С и тестах обменов в Битрикс выгружается номенклатура. На сайте создались несколько ненужных каталогов товаров и предложений. Содержимое этих ИБ не использовалось в работе сайта (не создавались заказы и пр.).

Проблема: при попытке удалить любой из этих ИБ возникает ошибка: «Ошибка удаления. Возможно есть ссылающиеся объекты.»

Задача: таки удалить бесполезные инфоблоки, появившиеся врезультате тестов.

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

Решение

Смена кодировки git-репозитория с CP-1251 на UTF-8

Ситуация: изначально все файлы в репозитории были в кодировке cp-1251 (aka win-1251), но в какой-то момент было решено перейти на utf-8. Разработка ведётся на Windows.

Проблема: некорректное отображение кириллицы в оболочке git bash при выполнении команд git log, git diff, git show, etc; белиберда в сообщениях коммитов.

Задача: исправить отображение кириллицы.

Бонус: кириллица будет верно отображаться в GitLab.

Решение

Laravel 5.8: как скопировать значения из старой колонки в новую во время миграции?

Ситуация: во время разработки проекта на Laravel возникла необходимость заменить один столбец другим. Для этого нужно написать миграцию.

Задача: создать столбец, в который переместить значения из ненужного, а затем удалить ненужный.

Решение: очень простое и очевидное — изменить схему, записать значения, изменить схему. Далее привожу пример готовой заготовки миграции:

Посмотреть миграцию