The Dragon Code News
260 subscribers
215 photos
7 videos
4 files
237 links
Рассказываем о том, над чем работаем и что может быть полезным разработчикам 🙂

dragon-code.pro
Download Telegram
🚀 Улучшенное взаимодействие с конфигами в Laravel

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 модели.

Schema::create('foo', function (Blueprint $table) {
$table->boolean('is_active')->default(false);
});

return Foo::create()->is_active; // null
return Foo::first()->is_active; // false


vs

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
👍3🔥2
Удобный способ выгрузки приложения из памяти без открытия окна диспетчера задач в Windows 11

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

После этого появится новый пункт меню при клике правой кнопкой мыши по иконке программы.
3👍2
Forwarded from Laravel World
Сегодня PHP отмечает своё 30-летие.
👏84🍾2🎉1
🧙‍♂️ Притча о свитке и кузнеце

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

Но вот кузнецы, которым предназначались эти свитки, часто бросали лишь взгляд на начало, хватали молот и бежали работать. А потом возвращались с вопросами:
— А где найти камень?
— А что за ветер сбил нас с пути?

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

С тех пор в мастерской повесили табличку:
«Прежде чем ковать — прочти весь свиток. Возможно, он убережёт тебя от лишней боли и спасёт чьё-то терпение».
👍2
Позавчера Тейлор запустил новый сервис - Laravel Nightwatch.

Это сервис мониторинга работы приложения.

Краткий отзыв по истечении двух дней его использования вместе с анти-спам ботом @KvedeBot:

- Выдаёт общую информацию (есть или нет проблемы), в детали не вдаётся;
- Показывает список реально вызываемых консольных команд. Так, например, я узнал о команде php artisan schedule:finish, которая была вызвана 2'120 раз за это время... И да, эта команда также лимиты жрёт;
- Можно увидеть запросы к БД, но без самих данных - только конструкт;
- От внешних запросов виден лишь адрес без тела запроса;
- По общей статистике использования видим что из 200к бесплатных эвентов за двое суток приложение сожрало 173'596 (87%), из которых 49'009 эвентов - работа с кэшем. Да, эти cache hit, read, write и т.д. тоже считаются.

Таким образом, пришёл к выводу, что это MVP продукта и, с большой долей вероятности, он действительно будет хорош, но - потом. В текущем исполнении Nightwatch, скажем так, публикует хлам из подноготной фреймворка. Моё мнение, он делает это для того, чтобы побыстрее сожрать бесплатные лимиты дабы люди оформляли подписку.

В целом, сервис прикольный, но на полном серьёзе на сервере его использовать ну такое.
5👍31
11к звёзд тютелька в тютельку!

Спасибо всем за поддержку! 🍻

https://dragon-code.pro/
🔥8👏1
Не откладывайте жизнь на "потом" - живите здесь и сейчас.

Без фанатизма, конечно же 😉

И будьте счастливы! 🥳
4👍3
☠️ Docker Dev Environment умер! Да здравствует Docker Compose! 🚀

Начиная с версии 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
4🔥1
🙊Появился новый король переводчиков — XdocAI

Эта нейронка легко справляется с самыми сложными приемами речи, сохраняет контекст и может работать с огромными файлами БЕСПЛАТНО.

• Поддерживает 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