🚀 Улучшенное взаимодействие с конфигами в Laravel
1. Создайте файл
2. В корне проекта создайте файл
Теперь по хоткею Laravel Idea можно легко создавать классы для конфигов.
1. Создайте файл
stubs/config_class.stub со следующим содержимым:<?php
declare(strict_types=1);
namespace DummyNamespace;
class DummyClass
{
public static function hasDebug(): bool
{
return config('app.debug');
}
}
2. В корне проекта создайте файл
ide.json либо добавьте объект генерации если файл уже существует:{
"$schema": "https://laravel-ide.com/schema/laravel-ide-v2.json",
"codeGenerations": [
{
"id": "app.config.class",
"name": "Create Config Class",
"classSuffix": "Config",
"regex": ".+",
"files": [
{
"appNamespace": "Config",
"name": "${INPUT_CLASS|replace: ,_|className|upperCamelCase}.php",
"template": {
"type": "stub",
"path": "stubs/config_class.stub",
"parameters": {
"DummyNamespace": "${INPUT_FQN|namespace}",
"DummyClass": "${INPUT_CLASS|replace: ,_|className|upperCamelCase}"
}
}
}
]
}
]
}Теперь по хоткею Laravel Idea можно легко создавать классы для конфигов.
👍4
Наглядное представление отличий при использовании дефолтных значений, назначаемых колонкам БД от назначаемых внутри Laravel модели.
vs
Schema::create('foo', function (Blueprint $table) {
$table->boolean('is_active')->default(false);
});
return Foo::create()->is_active; // null
return Foo::first()->is_active; // falsevs
Schema::create('foo', function (Blueprint $table) {
$table->boolean('is_active')->default(false);
});
class Foo extends Model
{
protected $attributes = [
'is_active' => true,
];
}
return Foo::create()->is_active; // true
return Foo::first()->is_active; // true👍4
Hawk - российский трекер ошибок
Может работать с Sentry SDK
https://hawk.so
https://hawk-tracker.ru/pricing.pdf
Может работать с Sentry SDK
https://hawk.so
https://hawk-tracker.ru/pricing.pdf
👍3🔥2
Удобный способ выгрузки приложения из памяти без открытия окна диспетчера задач в Windows 11
Для активации нужно зайти в "Параметры" - "Система" - "Для разработчиков" и активировать опцию "Завершить задачу".
После этого появится новый пункт меню при клике правой кнопкой мыши по иконке программы.
Для активации нужно зайти в "Параметры" - "Система" - "Для разработчиков" и активировать опцию "Завершить задачу".
После этого появится новый пункт меню при клике правой кнопкой мыши по иконке программы.
❤3👍2
🧙♂️ Притча о свитке и кузнеце
В одном городе был мудрец, который создавал подробнейшие свитки с описанием дел. Он выписывал каждую мелочь: и где стоит камень, и как дует ветер, и в какой момент лучше всего начать путь. Свитки были ясны, как дневной свет.
Но вот кузнецы, которым предназначались эти свитки, часто бросали лишь взгляд на начало, хватали молот и бежали работать. А потом возвращались с вопросами:
— А где найти камень?
— А что за ветер сбил нас с пути?
Мудрец, устав от повторов, однажды сказал:
— Кто не читает свиток, тот рискует биться лбом об тот же камень, про который я уже трижды писал.
С тех пор в мастерской повесили табличку:
В одном городе был мудрец, который создавал подробнейшие свитки с описанием дел. Он выписывал каждую мелочь: и где стоит камень, и как дует ветер, и в какой момент лучше всего начать путь. Свитки были ясны, как дневной свет.
Но вот кузнецы, которым предназначались эти свитки, часто бросали лишь взгляд на начало, хватали молот и бежали работать. А потом возвращались с вопросами:
— А где найти камень?
— А что за ветер сбил нас с пути?
Мудрец, устав от повторов, однажды сказал:
— Кто не читает свиток, тот рискует биться лбом об тот же камень, про который я уже трижды писал.
С тех пор в мастерской повесили табличку:
«Прежде чем ковать — прочти весь свиток. Возможно, он убережёт тебя от лишней боли и спасёт чьё-то терпение».
👍2
Позавчера Тейлор запустил новый сервис - Laravel Nightwatch.
Это сервис мониторинга работы приложения.
Краткий отзыв по истечении двух дней его использования вместе с анти-спам ботом @KvedeBot:
- Выдаёт общую информацию (есть или нет проблемы), в детали не вдаётся;
- Показывает список реально вызываемых консольных команд. Так, например, я узнал о команде
- Можно увидеть запросы к БД, но без самих данных - только конструкт;
- От внешних запросов виден лишь адрес без тела запроса;
- По общей статистике использования видим что из 200к бесплатных эвентов за двое суток приложение сожрало 173'596 (87%), из которых 49'009 эвентов - работа с кэшем. Да, эти
Таким образом, пришёл к выводу, что это MVP продукта и, с большой долей вероятности, он действительно будет хорош, но - потом. В текущем исполнении Nightwatch, скажем так, публикует хлам из подноготной фреймворка. Моё мнение, он делает это для того, чтобы побыстрее сожрать бесплатные лимиты дабы люди оформляли подписку.
В целом, сервис прикольный, но на полном серьёзе на сервере его использовать ну такое.
Это сервис мониторинга работы приложения.
Краткий отзыв по истечении двух дней его использования вместе с анти-спам ботом @KvedeBot:
- Выдаёт общую информацию (есть или нет проблемы), в детали не вдаётся;
- Показывает список реально вызываемых консольных команд. Так, например, я узнал о команде
php artisan schedule:finish, которая была вызвана 2'120 раз за это время... И да, эта команда также лимиты жрёт;- Можно увидеть запросы к БД, но без самих данных - только конструкт;
- От внешних запросов виден лишь адрес без тела запроса;
- По общей статистике использования видим что из 200к бесплатных эвентов за двое суток приложение сожрало 173'596 (87%), из которых 49'009 эвентов - работа с кэшем. Да, эти
cache hit, read, write и т.д. тоже считаются.Таким образом, пришёл к выводу, что это MVP продукта и, с большой долей вероятности, он действительно будет хорош, но - потом. В текущем исполнении Nightwatch, скажем так, публикует хлам из подноготной фреймворка. Моё мнение, он делает это для того, чтобы побыстрее сожрать бесплатные лимиты дабы люди оформляли подписку.
В целом, сервис прикольный, но на полном серьёзе на сервере его использовать ну такое.
❤5👍3✍1
☠️ Docker Dev Environment умер! Да здравствует Docker Compose! 🚀
Начиная с версии Docker Desktop 4.42 функционал Dev Environment объявлен устаревшим и его управление вырезано из интерфейса при том, что фактически раннее созданные контейнеры продолжают работать в deprecated режиме.
В связи с этим, была обновлена инструкция по запуску наших контейнеров по новым старым правилам.
Прелесть в отсутствии необходимости пересоздавать волюмы - докер сам их подключит к новым образам. Исключение составляет контейнер ElasticSearch - его волюм надо руками удалить иначе не заведётся.
Мигрировать на новую схему очень просто:
1. Через гуй останавливаем контейнеры, удаляем их.
2. Также удаляем images для загрузки обновлённых версий.
3. Волюмы не трогаем.
4. После этого выполняем команды:
И всё 😎
Обновлённая инструкция доступна в README проекта:
https://github.com/andrey-helldar/docker-environment?tab=readme-ov-file#installation--settings
Начиная с версии Docker Desktop 4.42 функционал Dev Environment объявлен устаревшим и его управление вырезано из интерфейса при том, что фактически раннее созданные контейнеры продолжают работать в deprecated режиме.
В связи с этим, была обновлена инструкция по запуску наших контейнеров по новым старым правилам.
Прелесть в отсутствии необходимости пересоздавать волюмы - докер сам их подключит к новым образам. Исключение составляет контейнер ElasticSearch - его волюм надо руками удалить иначе не заведётся.
Мигрировать на новую схему очень просто:
1. Через гуй останавливаем контейнеры, удаляем их.
2. Также удаляем images для загрузки обновлённых версий.
3. Волюмы не трогаем.
4. После этого выполняем команды:
git clone [email protected]:andrey-helldar/docker-environment.git dev
cd dev
docker-compose up -d
И всё 😎
Обновлённая инструкция доступна в README проекта:
https://github.com/andrey-helldar/docker-environment?tab=readme-ov-file#installation--settings
👍3
Скилл эксперта в Laravel подтверждён на Хабре😎
Попробуйте тоже: https://career.habr.com/tests/skills/laravel
Попробуйте тоже: https://career.habr.com/tests/skills/laravel
❤4🔥1
Forwarded from AI News | Нейросети
Эта нейронка легко справляется с самыми сложными приемами речи, сохраняет контекст и может работать с огромными файлами БЕСПЛАТНО.
• Поддерживает 108 языков с точностью до 98%.
• Справляется с большими книгами, пдфками, доками.
• Имеет большую экспертную базу по медицине, финансам и юриспруденции.
● GPT News | ChatGPT BOT
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2