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

dragon-code.pro
Download Telegram
Китайский помощник искусственного интеллекта DeepSeek возглавил топ по скачиванию в США. ChatGPT-OpenAI была основана 10 лет назад, имеет 4500 сотрудников и привлекла $6,6 млрд капитала. Китайская DeepSeek была основана менее 2 лет назад, имеет 200 сотрудников и была разработана менее чем за $10 млн. Но они начали конкурировать.

DeepSeek выпустил версию DeepSeek-V3, LLM с открытым кодом, который соответствует производительности ведущих американских моделей, но требует гораздо меньше затрат на обучение. В тестах производительности DeepSeek-V3 превосходит Llama 3.1 от Meta (запрещена в России) и другие модели с открытым кодом. DeepSeek-V3 соответствует или даже превосходит Chat GPT-4o, уступая лишь Claude 3.5 Sonnet от Anthropic.

Китайская компания сообщает о расходах в размере 5,6 млн долларов на обучение сети по сравнению с предполагаемыми 500 млн долларов, потраченными на обучение Llama-3.1.

Приложения:

Для iPhone: https://apps.apple.com/app/id6737597349
Для Android: https://play.google.com/store/apps/details?id=com.deepseek.chat
👍5
Forwarded from SMESTO Новости
Мошенники начали угонять аккаунты в Telegram через «секретные чаты» — на уловку попались уже ТЫСЯЧИ людей.

Скамеры претворяются службой поддержки и пишут юзерам об удалении учётки, а чтобы «отменить» удаление, нужно перейти по ссылке якобы в секретный чат. На деле никакого секретного чата нет, а ссылка — фишинговая.

При введении логина и пароля мошенники получат доступ ко всей личной информации.

Предупредите родных и друзей.

SMESTO 18+
Migrate Db 3.2.1 released

Changed

- The year in the LICENSE file has been updated by @github-actions[bot] in #45

Fixed

- Added support for doctrine/dbal and fix for Laravel 11

Dependencies

- Bump TheDragonCode/codestyler from 4 to 5 by @dependabot[bot] in #44

https://github.com/TheDragonCode/migrate-db/releases/tag/3.2.1

#migrate_db #db #migrate
⚡️ Китайцев не остановить: Alibaba дропнули НОВУЮ нейросеть Qwen2.5-MAX.

Она бесплатная и доступна в России, а также МОЩНЕЕ ChatGPT и DeepSeek. Имеет ИИ-поиск в интернете, генерирует фото и видео, а API полностью совместима с OpenAI.

DeepSeek коронный, Qwen похоронный.

https://chat.qwenlm.ai

Модель также доступна для локального использования в Ollama:

https://ollama.com/library/qwen2.5
🔥5
Сравнение работы атрибутов в PHP 8.4 с предыдущими версиями.

Вызов также изменился:

dd([
'php 8.3-' => (new Php83())->getLastId(),
'php 8.4+' => new Php84()->getLastId(),
]);

$ art foo
array:2 [
"php 8.3-" => 100
"php 8.4+" => 100
]
👍2
Переименование колонок с совпадающими именами в JSON объекте, лежащем в БД. Возможно ли это?

Допустим, в БД лежит множество записей со следующей структурой:

{"foo": {"title": "Foo"}, "bar": {"title": "Bar"}}
{"foo": {"title": "Foo"}}
{"bar": {"title": "Bar"}}
{"foo": {"title": "Foo"}, "bar": {"title": "Bar"}, "baz": {"title": "Baz"}}


Пришло задание переименовать ключ foo в bar, а bar в foo. Да, просто поменять их местами.

Конечно, это можно сделать на стороне приложения, но обработка, скажем, пары миллионов записей может занять продолжительное время. По нашим тестам, обработка 2.2 млн записей заняла около 56 минут.

Вы удивитесь, но это можно сделать всего за 2.5 минуты. Как? Легко, если в качестве СУБД используется PostgreSQL и колонка имеет тип jsonb, то всего один запрос решит эту проблему:

UPDATE pages
SET metadata = metadata - 'foo' - 'bar'
|| jsonb_build_object('bar', metadata->'foo')
|| jsonb_build_object('foo', metadata->'bar')
WHERE metadata ? 'foo' OR metadata ? 'bar';

-- [2025-02-03 13:14:17] 2,198,814 rows affected in 2 m 23 s 241 ms


Если в объекте есть ключ foo и/или bar, то он будет заменён и на выходе получим результат:

{"bar": {"title": "Foo"}, "foo": {"title": "Bar"}}
{"bar": {"title": "Foo"}}
{"foo": {"title": "Bar"}}
{"bar": {"title": "Foo"}, "foo": {"title": "Bar"}, "baz": {"title": "Baz"}}


return new class extends Migration {
public function up(): void
{
DB::raw(
<<<SQL
UPDATE pages
SET metadata = metadata - 'foo' - 'bar'
|| jsonb_build_object('bar', metadata->'foo')
|| jsonb_build_object('foo', metadata->'bar')
WHERE metadata ? 'foo' OR metadata ? 'bar';
SQL
);
}
};


Вот и всё.

* Время выполнения указано для запуска под Windows, где БД находится в Docker-контейнере.
🔥4👍1
Какой самый дурацкий вопрос от коллег по цеху вы слышали в отношении программирования?
👍1
Пост и комменты… Кто-нибудь понял чему так радуются? Или всё можно приписать культу Laravel?
🤣5🤨2
Forwarded from Kvede Новости
Панель администратора для управления ботом @KvedeBot: упростите себе жизнь!

Представляем вам первую версию панели администратора — новый инструмент, который поможет вам эффективно управлять чатами и бороться со спамом.

Что вы получите с панелью администратора?

* Просмотр списка чатов: легко отслеживайте все чаты, в которых вы являетесь администратором.
* Управление модулями: активируйте или деактивируйте модули для чатов одним кликом. Изменения вступают не сразу — используется кэш.
* Локализация сообщений: измените локализацию сообщений бота в чате по своему вкусу.
* Изменение категории чата: изменяя категорию меняются правила проверки сообщений нейронной сетью.
* Уведомления от бота: включите вывод уведомлений от бота на действия пользователя или скройте их. Не распространяется на важные уведомления.
* Ограничение для спамеров: установите срок ограничения для спамера и выберите, банить его или мютить.
* Список модулей и категорий: быстро найдите нужные модули и категории для вашего бота.

На главной странице kvede.com появилась кнопка для быстрого перехода в панель администратора. Не упустите возможность оптимизировать управление вашим ботом!

Перейдите в панель администратора lk.kvede.com прямо сейчас и убедитесь в её удобстве!
1🔥2👍1👏1
Выпустили новый проект с переводами для панели администрирования MoonShine 3 на 126 локализаций 🥳

Если Вы пользуетесь laravel-lang/common, то просто обновите зависимости:
composer update


Для установки только расширения MoonShine, воспользуйтесь командами:
composer require laravel-lang/moonshine

php artisan lang:update


Для установки всех возможных переводов продуктов Laravel, воспользуйтесь командами:
composer require laravel-lang/common

php artisan lang:update


https://laravel-lang.com/packages-moonshine.html
🔥9
Хотите сделать мир лучше и поддержать разработчиков?

Присоединяйтесь к нам на Boosty!

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

Подпишитесь на Boosty и получите доступ к эксклюзивным материалам, а также сможете помочь нам в реализации наших идей. Вместе мы сможем сделать больше и ускорить процесс разработки качественных продуктов.

Не упустите возможность стать частью нашей команды и внести свой вклад в создание лучшего будущего!
Поймал себя на мысли, что работаю с Laravel ровно 10 лет 😊

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

За это время некогда местечковый фреймворк превратился в целую корпорацию со своей экосистемой и продолжает радовать с каждым релизом. И это замечательно! 😊
👏6👍42🔥2
Для установки красивых иконок в продукты JetBrains, просто положите файл с названием icon.svg в папку .idea любого проекта и перезапустите Toolbox/IDE.

Иконки Laravel можно взять из официального репозитория.
👍3
🔥 Стрим по Laravel 12. Обсуждаем очередную революцию! 😆

Друзья, мы дождались! Laravel 12 выходит 24 февраля, и настоящий геймченж! 🎉

Что нового?
- Чуть-чуть обновили зависимости.
- Чуть-чуть подтянули совместимость с PHP.

Дополнительно. Новые Starter Kits с поддержкой React, Vue и Livewire. Теперь можно сразу получить проект с компонентами Shadcn, а для Livewire – бесплатная версия Flux. Это, конечно, круто, но не совсем про сам Laravel. 🤔

🤨 Пройдёмся по обновлению на стриме
- Кирилл Несмеянов будет искать недостатки в идеальном Laravel! 🕵️‍♂️
- Андрей Хеллдар и Адель Файзрахманов и я будем его защищать! ⚔️
- Возможно, заглянет сам Taylor Otwell! 👀

📅 Когда? 25 февраля в 19:00
📍 Где? На CutCode - https://youtube.com/live/h_DY4gUjncw
Жду вас! А пока можете задавать вопросы! 😅

#Laravel12 #CutCode
👍6
RoadRunner vs OpenSwoole vs FrankenPHP с Laravel Octane

На эту тему было опубликовано множество статей из различного рода источников и у многих заметил тенденцию когда каждая из трёх упомянутых технологий значительно лидирует по сравнению с остальными. Тем более что у многих показаны какие-то дикие результаты в виде 1к запросов в секунду...

И мне захотелось всё проверить своими руками...

https://habr.com/ru/articles/885266/
1👍10🔥1
Красивые иконки для IDE? Легко!

Шаг 1: Устанавливаем библиотеку в глобальную область видимости Composer:

composer global require dragon-code/iconify-ide:*


Шаг 2: Публикуем иконку

cd /to/your/project

iconify


Также возможно разом опубликовать иконки во всех проектах папки (рекурсивный поиск):

iconify --all


И также можно задать конкретный путь:

iconify --path=/../foo/bar/
iconify --path=/../foo/bar/ --all


https://github.com/TheDragonCode/iconify-ide
4👍4🔥2
🚀 Ускорить взаимодействие Laravel приложения с Redis? Легко!

Нюанс

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


Итак, что для этого нужно:

Создаём папку /var/run/redis, если она не создана, а также меняем её права, а также добавляем пользователя, под которым запускается cli и web, в группу "redis":

sudo mkdir -p /var/run/redis/
sudo chown -R redis:redis /var/run/redis
sudo chmod 770 /var/run/redis
sudo usermod -aG redis www-data


Далее открываем файл /etc/redis/redis.conf, находим строку с объявлением unixsocket и раскомментируем их:

unixsocket /var/run/redis/redis-server.sock
unixsocketperm 770


И перезапускаем службу:

systemctl restart redis


Далее в файл конфигурации config/database.php добавляем новый параметр в опции Redis:

'redis' => [
'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
'scheme' => env('REDIS_SCHEME', 'tcp'), // этот ключ
],

// ...
],


Значение tcp позволит работать с Redis "как обычно".

После этих манипуляций меняем настройки окружения приложения на сервере:

-REDIS_HOST=redis
-REDIS_PASSWORD=null
-REDIS_PORT=6379
+REDIS_HOST=/var/run/redis/redis-server.sock
+REDIS_PORT=null
+REDIS_SCHEME=unix


Не забудьте перекэшировать конфиги (php artisan optimize) и перезапустить php-fpm или Laravel Octane, в зависимости от того чем пользуетесь. А также очереди в супервизоре - их также нужно перезапустить.

И всё, теперь взаимодействие веб-приложения с Redis будет осуществляться не через TCP, а по сокетам, что даёт прирост скорости взаимодействия примерно в 50%.

https://www.laravel-enlightn.com/docs/performance/redis-single-server-analyzer.html
🔥8👍1