fa
Feedback
PHP Academy

PHP Academy

رفتن به کانال در Telegram
9 274
مشترکین
+524 ساعت
+497 روز
-1230 روز
جذب مشترکین
سپتامبر '26
سپتامبر '26
+42
در 8 کانال‌ها
اوت '26
+84
در 39 کانال‌ها
Get PRO
ژوئیه '26
+66
در 41 کانال‌ها
Get PRO
ژوئن '26
+42
در 0 کانال‌ها
Get PRO
مه '26
+52
در 0 کانال‌ها
Get PRO
آوریل '26
+49
در 0 کانال‌ها
Get PRO
مارس '26
+76
در 0 کانال‌ها
Get PRO
فوریه '26
+154
در 0 کانال‌ها
Get PRO
ژانویه '26
+275
در 0 کانال‌ها
Get PRO
دسامبر '25
+94
در 0 کانال‌ها
Get PRO
نوامبر '25
+176
در 43 کانال‌ها
Get PRO
اکتبر '25
+117
در 14 کانال‌ها
Get PRO
سپتامبر '25
+216
در 37 کانال‌ها
Get PRO
اوت '25
+238
در 7 کانال‌ها
Get PRO
ژوئیه '25
+384
در 57 کانال‌ها
Get PRO
ژوئن '25
+316
در 58 کانال‌ها
Get PRO
مه '25
+101
در 0 کانال‌ها
Get PRO
آوریل '25
+177
در 26 کانال‌ها
Get PRO
مارس '25
+90
در 0 کانال‌ها
Get PRO
فوریه '25
+225
در 41 کانال‌ها
Get PRO
ژانویه '25
+234
در 44 کانال‌ها
Get PRO
دسامبر '24
+501
در 38 کانال‌ها
Get PRO
نوامبر '24
+1 172
در 53 کانال‌ها
Get PRO
اکتبر '24
+1 312
در 55 کانال‌ها
Get PRO
سپتامبر '24
+673
در 198 کانال‌ها
Get PRO
اوت '24
+532
در 40 کانال‌ها
Get PRO
ژوئیه '24
+648
در 51 کانال‌ها
Get PRO
ژوئن '24
+727
در 55 کانال‌ها
Get PRO
مه '24
+344
در 37 کانال‌ها
Get PRO
آوریل '24
+404
در 46 کانال‌ها
Get PRO
مارس '24
+281
در 20 کانال‌ها
Get PRO
فوریه '24
+131
در 1 کانال‌ها
Get PRO
ژانویه '24
+323
در 43 کانال‌ها
Get PRO
دسامبر '23
+238
در 39 کانال‌ها
Get PRO
نوامبر '23
+204
در 28 کانال‌ها
Get PRO
اکتبر '23
+376
در 18 کانال‌ها
Get PRO
سپتامبر '23
+525
در 0 کانال‌ها
Get PRO
اوت '23
+2 152
در 0 کانال‌ها
Get PRO
ژوئیه '23
+2 955
در 0 کانال‌ها
تاریخ
رشد مشترکین
اشارات
کانال‌ها
04 سپتامبر+1
03 سپتامبر+6
02 سپتامبر+6
01 سپتامبر+29
پست‌های کانال
💡Совет по Laravel Знаешь ли ты, что можно выбрасывать исключения условно всего в одну строку с помощью throw_if() — идеально
💡Совет по Laravel Знаешь ли ты, что можно выбрасывать исключения условно всего в одну строку с помощью throw_if() — идеально для лаконичного кода в контроллерах и сервисах.

2
Приглашаем на курс для прокачки навыков архитектора и проектировщика, которые важны для профессионального роста программиста.
Приглашаем на курс для прокачки навыков архитектора и проектировщика, которые важны для профессионального роста программиста. 🌐 С курсом «Системный дизайн высоконагруженных проектов» вы: ▪️изучите ключевые фундаментальные паттерны и получите навыки проектирования проектов с миллионной аудиторией (балансировка, масштабирование апп/кешей/субд, высокая доступность и кластерные решения, шардинг, CAP/PACELS, консистентность, саги, транзакционные очереди и многое другое) ▪️поупражняетесь в проектировании и получите обратную связь на реальных задачах: магазин/маркетплейс, такси/доставка, обьявления, соцсети, дейтинг, игры, википедия, мессенжер, CDN, хранилище файлов, онлайн-кинотеатр, счетчики, удаленный мониторинг, интеграционные вебхуки, рассылки и тд. ▪️ научитесь планировать нагрузку и связывать бизнес-показатели с нефункциональными требованиями к системе ▪️ попрактикуемся в проведении и прохождения секций системного дизайна на интервью. Всё в формате живых онлайн-сессий (лекции, брейнштормы, презентации домашних проектов). 🤩 Кто мы: R&D-центр Devhands.ru. Основатель школы и автор курса Алексей Рыбак, ex-СТО Badoo, с 20-летним опытом высоконагруженных проектов и управления глобальными технологическими организациями. 🗓 Старт 7 сентября, изучаем программу, записываемся здесь Реклама. ИП Рыбак А.А. ИНН 771407709607 Erid: 2VtzqvimBRf
801
3
Сегодня хочу рассказать вам про одну ошибку, которую я часто встречаю у начинающих PHP-разработчиков — неправильную работу с датами и временем. Когда вы используете функции вроде date(), strtotime(), time() напрямую без явной установки временной зоны (timezone), ваш код может начать вести себя непредсказуемо. Особенно если ваш проект запущен на серверах в разных регионах. Чтобы избежать проблем: - Всегда задавайте временную зону явно через date_default_timezone_set('Your/Timezone'); в начале вашего приложения. - Или лучше используйте объекты DateTime и DateTimeZone, они гораздо удобнее для работы с временными зонами и манипуляциями с датами. Пример хорошего подхода: $date = new DateTime('now', new DateTimeZone('Europe/Moscow')); echo $date->format('Y-m-d H:i:s'); И еще одна рекомендация — всегда храните даты в базе данных в формате UTC, а уже при выводе преобразовывайте их в нужную временную зону для пользователя. Небольшая дисциплина в работе с временем сэкономит вам кучу нервов в будущем. Проверено на реальных проектах!
885
4
🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку Окружение решает больше, чем кажется. Собрал папки и каналы, где можн
🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку Окружение решает больше, чем кажется. Собрал папки и каналы, где можно быстрее влиться в нужное направление, следить за трендами и не вариться в своём пузыре. AI: t.me/ai_machinelearning_big_data Python: t.me/pythonl Linux: t.me/linuxacademiya Хакинг: t.me/linuxkalii DevOps: t.me/DevOPSitsec Docker: https://t.me/+90Z5TAyfuNU5YmRi Golang: t.me/Golang_google Rust: t.me/rust_code C++: t.me/cpluspluc C#: t.me/csharp_1001_notes Java: t.me/javatg JavaScript: t.me/javascriptv React: t.me/react_tg Frontend: t.me/front PHP: t.me/phpshka Android: t.me/android_its Мобильная разработка: t.me/mobdevelop Базы данных: t.me/sqlhub Data Science: t.me/data_analysis_ml Big Data: t.me/bigdatai Математика: t.me/data_math Физика: https://t.me/+S4hinvO3QI43ZjNi Kubernetes: t.me/kubernetc GameDev: https://t.me/gamedev Haskell: t.me/haskell_tg Собеседования и карьера: DS собеседования: t.me/machinelearning_interview Python собеседования: t.me/python_job_interview Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy Папка Frontend: https://t.me/addlist/mzMMG3RPZhY2M2Iy Полезное сверху: ИТ-мемы: t.me/memes_prog Английский для программистов: t.me/english_forprogrammers ИИ и технологии: t.me/vistehno 954 ГБ open-source курсов: https://t.me/+rKBQEMccAA01MTcy ИТ-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy Max Ai: https://max.ru/ai_machinelearning_big_data Max python: https://max.ru/pythonl ТЕХНО: https://max.ru/vistehno Max Go: https://max.ru/Golang_google Max Linux: https://max.ru/linuxkalii Devops: https://max.ru/DevOPSitsec C#: https://max.ru/csharp_ci C++: https://max.ru/cpluspluc SQL: https://max.ru/sqlhub Java: https://max.ru/javatg Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд.
929
5
Сегодня я покажу вам, как удобно логировать в Laravel, не засоряя код и не превращая проект в болото из Log::info() на каждом шагу. 💡 Используем каналы логирования правильно Laravel предоставляет мощную систему логирования на базе Monolog. Но часто мы ограничиваемся дефолтным логом. А зря. Например, создаём отдельный канал для логов оплаты: // config/logging.php 'channels' => [ 'payment' => [ 'driver' => 'single', 'path' => storage_path('logs/payment.log'), 'level' => 'info', ], ], Теперь в нужном месте можно писать: Log::channel('payment')->info('Платёж прошёл', ['user_id' => $user->id, 'amount' => $amount]); И всё — никакой путаницы. В laravel.log остаётся только то, что важно для всего проекта, а логи оплаты — отдельно. Можно и в телеграм скидывать, если настроить webhook. 👀 Бонус: helper-функция Чтобы писать меньше: if (!function_exists('payment_log')) { function payment_log($message, array $context = []) { \Log::channel('payment')->info($message, $context); } } Теперь вызываем везде просто payment_log('Платёж принят'). Пишите в комментах, какие каналы логирования вы используете и куда пишете — в файл, телегу или Sentry?
1 340
6
Сегодня я покажу вам простой, но мощный способ, как ускорить отладку в Laravel при работе с большим количеством логики в контроллерах и сервисах. 🔍 Ловим баги быстрее с помощью ray() от Spatie Обычно мы используем dd() или dump() в Laravel, чтобы посмотреть, что творится с переменными. Но как только проект становится крупнее — эти методы начинают мешать, особенно когда нужно отслеживать несколько значений в разных местах. Спасает Ray — инструмент от Spatie, который интегрируется с Laravel и выводит отладочную информацию в отдельное десктопное приложение. Пример: ray($user); ray($order)->blue(); ray()->showQueries(); Ты можешь: - выводить переменные без прерывания скрипта; - смотреть SQL-запросы в реальном времени; - использовать цветовые метки, чтобы различать вывод из разных участков кода. ⚙️ Установка composer require spatie/laravel-ray --dev И по желанию установить десктоп-приложение с сайта Spatie. В config/ray.php можно кастомизировать поведение: включать Ray только на dev-среде, логировать только определённые запросы и т.д. 🧠 Совет от себя Ray особенно хорошо заходит, когда работаешь в команде — ты можешь добавить временный ray()-лог, не ломая исполнение и не мешая другим.
1 692
7
Добрый день! Примерно с таким текстом сможем выйти? Есть возможность поработать на Кипре в одной из самых крупных фантех компаний с говорящим названием — Stripchat 😏 Нанимают senior-инженеров в направлениях: Backend, Frontend и QA. Как вы понимаете, продукт востребованный, с миллионами активных пользователей. Задачи: проектирование сервисов, масштабирование платформы, решение ежедневных хайлоад-задач. 200k+ RPS, распределённые системы, event-driven архитектура (PHP, Go). Обещают полную релокацию на Кипр, EU-контракт, жилье на первое время. Узнать детали и откликнуться можно тут
1 468
8
Сегодня покажу вам простой, но очень удобный приём, который помогает наводить порядок в больших PHP-проектах — использование кастомных коллекций вместо массивов. Если вы когда-нибудь передавали в методы или возвращали из них массивы с объектами, то наверняка сталкивались с ситуацией, когда непонятно, что в массиве лежит. А потом кто-нибудь передал туда строку или null — и привет, баги. Я стал использовать свои классы коллекций. Простой пример: class UserCollection { /** @var User[] */ private array $users = []; public function __construct(array $users = []) { foreach ($users as $user) { $this->add($user); } } public function add(User $user): void { $this->users[] = $user; } public function all(): array { return $this->users; } public function filterByActive(): self { return new self(array_filter($this->users, fn(User $u) => $u->isActive())); } // и так далее } Теперь везде, где раньше был User[], я работаю с UserCollection. Это сразу даёт: - типизацию (и защиту от мусора), - автодополнение в IDE, - методы прямо в коллекции (например, filterByActive, sortByName, first() и т.д.), - чище и понятнее сигнатуры методов. Это похоже на коллекции из Laravel, но я использую это везде, даже в маленьких проектах без фреймворков. Такие объекты делают код чище, устойчивее и легче читаемым. Попробуйте в одном из ваших проектов заменить массивы объектов на такие коллекции — и вы удивитесь, как стало лучше.
1 447
9
Сегодня покажу вам простую, но мощную технику, которая может прокачать ваш PHP-код — Value Object вместо простых типов. Мы часто передаём параметры как string, int, array. Всё просто и понятно. Но как только бизнес-логика усложняется — типы начинают нас подводить. Допустим, у вас есть метод: function sendSms(string $phoneNumber, string $message): void А теперь скажите честно — сколько раз вы ловили себя на том, что phoneNumber передаётся в неправильном формате? Или вовсе пустым? Или из другой страны, а вы это не предусмотрели? Вот тут и приходят на помощь Value Object'ы: final class PhoneNumber { public function __construct(private string $number) { if (!preg_match('/^\+7\d{10}$/', $number)) { throw new InvalidArgumentException('Invalid phone number'); } } public function value(): string { return $this->number; } } Теперь ваш метод будет выглядеть так: function sendSms(PhoneNumber $phoneNumber, Message $message): void Что мы получаем: - Валидность данных гарантируется на этапе создания объекта. - Код становится самодокументируемым — не нужно читать описание, чтобы понять, что именно сюда передаётся. - IDE и статическая проверка типа не дадут случайно передать email вместо phone. Да, это чуть больше кода. Но это тот случай, когда "больше" — значит надёжнее.
1 588
10
🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку В IT прокачивается тот, кто каждый день видит сильные идеи, новые инс
🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку В IT прокачивается тот, кто каждый день видит сильные идеи, новые инструменты, реальные задачи, вакансии и разборы. Окружение решает больше, чем кажется. Собрал папки и каналы, где можно быстрее влиться в нужное направление, следить за трендами и не вариться в своём пузыре. AI: t.me/ai_machinelearning_big_data Python: t.me/pythonl Linux: t.me/linuxacademiya Хакинг: t.me/linuxkalii DevOps: t.me/DevOPSitsec Docker: t.me/DevopsDocker Golang: t.me/Golang_google Rust: t.me/rust_code C++: t.me/cpluspluc C#: t.me/csharp_1001_notes Java: t.me/java_library JavaScript: t.me/javascriptv React: t.me/react_tg Frontend: t.me/front PHP: t.me/phpshka Android: t.me/android_its Мобильная разработка: t.me/mobdevelop Базы данных: t.me/sqlhub Data Science: t.me/data_analysis_ml Big Data: t.me/bigdatai Математика: t.me/data_math Физика: t.me/fizmat Kubernetes: t.me/kubernetc GameDev: https://t.me/gamedev Haskell: t.me/haskell_tg Собеседования и карьера: DS собеседования: t.me/machinelearning_interview Python собеседования: t.me/python_job_interview Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy Папка Frontend: https://t.me/addlist/mzMMG3RPZhY2M2Iy Полезное сверху: ИТ-мемы: t.me/memes_prog Английский для программистов: t.me/english_forprogrammers ИИ и технологии: t.me/vistehno 954 ГБ open-source курсов: @courses ИТ-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy Max Ai: https://max.ru/ai_machinelearning_big_data Max python: https://max.ru/pythonl ТЕХНО: https://max.ru/vistehno Max Go: https://max.ru/Golang_google Max Linux: https://max.ru/linuxkalii Devops: https://max.ru/DevOPSitsec C#: https://max.ru/csharp_ci C++: https://max.ru/cpluspluc SQL: https://max.ru/sqlhub Java: https://max.ru/javatg Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд. Пока кто-то листает шум, ты будешь видеть инструменты, задачи и идеи, которые помогают расти в профессии.
1 138
11
🔥 Как избежать проблем с isset() и empty() в PHP? Сегодня разберём две часто используемые функции в PHP — isset() и empty(), которые могут вести себя не так, как вы ожидаете. 📌 isset() Функция isset($var) проверяет, была ли переменная установлена и не равна ли она null. ❗ Пример подвоха: $var = null; var_dump(isset($var)); // false Если переменной вообще нет в коде — тоже будет false. 📌 empty() Функция empty($var) проверяет, считается ли переменная "пустой". ❗ Пустыми считаются: - "" (пустая строка) - 0 (число) - "0" (строка с нулём) - null - false - [] (пустой массив) Пример: $var = "0"; var_dump(empty($var)); // true, хотя строка не null ⚠️ Ошибка: проверка if (!isset($var) || empty($var)) может привести к неожиданному результату. 🔥 Лучший подход? Используйте строгие проверки: if ($var === null) { /* Переменная null */ } if ($var === '') { /* Пустая строка */ } if ($var === 0) { /* Число 0 */ } Если проверяете массивы, то: if (count($var) === 0) { /* Массив пуст */ } Вывод: не злоупотребляйте isset() и empty(), а проверяйте переменные строго!
1 612
12
⚠ Научитесь международному стандарту построения архитектуры предприятия. Начните обучение на курсе «Архитектура корпорации. T
⚠ Научитесь международному стандарту построения архитектуры предприятия. Начните обучение на курсе «Архитектура корпорации. Togaf 10». Вебинар 1: «Новшества языка ArchiMate 4.0» ⏰8 июля в 20:00 мск Программа вебинара: • Отличие метамоделей ArchiMate 4.0 от ArchiMate 3.2. • Практические рекомендации • Ответы на вопросы в прямом эфире Вебинар 2: «Архитектура предприятия: детализация бизнес-аспектов через ArchiMate 3.2» ⏰15 июля в 20:00 мск Программа вебинара: • Роль бизнес-слоя в корпоративной архитектуре и его место в TOGAF 10. • Основные элементы ArchiMate 3.2 для моделирования бизнес-аспектов Вебинар 3: «Данные в TOGAF. Где скрыты? Разбираемся в деталях» ⏰21 июля в 20:00 мск Программа вебинара: Разберём, где именно в архитектуре скрываются данные, как они связаны с процессами и системами, а также почему управление данными становится важным элементом Data-Driven подхода. Записывайтесь ➡ https://otus.pw/19zA/?erid=2W5zFGRnSeu Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
551
13
⚙️ Phiki Phiki помогает подсветить синтаксис. Написан на PHP. Он использует файлы грамматики TextMate и темы Visual Studio Code для генерации кода с подсветкой синтаксиса для веба. Название и публичный API Phiki во многом вдохновлены Shiki — пакетом, который делает примерно то же самое в экосистеме JavaScript. Реализация пакета также во многом вдохновлена vscode-textmate — мощным пакетом, лежащим в основе Visual Studio Code, Shiki и других инструментов. 🔗 Github
1 827
14
Магия Lovable: как создавать готовые интерфейсы с помощью одного запроса Lovable может за минуты собрать экран, который выгля
Магия Lovable: как создавать готовые интерфейсы с помощью одного запроса Lovable может за минуты собрать экран, который выглядит как почти готовый интерфейс. Но результат зависит не от «магии нейросети», а от того, насколько точно вы ставите задачу. Один расплывчатый запрос даст случайный макет, а правильно собранный системный промпт — понятную структуру, единый стиль и экран, который уже можно показывать команде, заказчику или использовать для проверки идеи. На открытом уроке 2 июля в 20:00 разберём, как формулировать задачи для Lovable. Поговорим о структуре системного промпта, ключевых словах, которые помогают превратить текст в качественный интерфейс, и способах доработки результата через встроенный редактор и повторные запросы. Отдельно обсудим, как управлять компонентами, просить нейросеть переиспользовать элементы и сохранять единый визуальный стиль. 👉 Записаться: https://otus.pw/LiYE/?erid=2W5zFGAxZNy Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
844
15
بدون متن...
1 914
16
Оптимизация скорости работы PHP кода 🏎️ Сегодня я покажу вам несколько простых, но эффективных способов ускорить выполнение PHP-скриптов. Оптимизация кода – важная часть работы разработчика, ведь никто не любит медленные сайты. 🚀 🔥 1. Избегайте лишних запросов к БД Частая ошибка – несколько одинаковых запросов к базе данных в одном запросе. Используйте кэширование (Redis, Memcached), а если данные редко меняются – сохраняйте их в файл. 🔥 2. Используйте isset() вместо array_key_exists() Функция isset() работает быстрее, чем array_key_exists(), потому что она не только проверяет наличие ключа, но и сразу его значение. // Медленный вариант if (array_key_exists('key', $array)) { } // Быстрый вариант if (isset($array['key'])) { } 🔥 3. Не злоупотребляйте foreach при больших объемах данных Если у вас массив с десятками тысяч элементов, попробуйте array_map() или array_walk() – они работают быстрее за счет встроенной оптимизации в C. 🔥 4. Подключайте файлы правильно Разница между require, include, require_once и include_once может сильно повлиять на производительность. require_once проверяет, был ли уже подключен файл, что замедляет выполнение. Если точно знаете, что файл не дублируется – используйте require. 🔥 5. Включите OPCache OPCache кэширует байт-код PHP и ускоряет его выполнение в разы. Включите его в php.ini: opcache.enable=1 opcache.memory_consumption=128 opcache.max_accelerated_files=10000 opcache.validate_timestamps=1 🔥 6. Используйте json_encode() вместо serialize() Функция json_encode() работает быстрее, чем serialize(), и при этом генерирует более компактные данные. $data = ['name' => 'John', 'age' => 25]; // Медленный вариант $serialized = serialize($data); // Быстрый вариант $json = json_encode($data); ✅ Оптимизация PHP кода — это не магия, а грамотный подход к написанию скриптов. Используйте эти советы, и ваши проекты станут быстрее!
1 935
17
Docker и Kubernetes: основы разработки под облачную инфраструктуру Курс для тех, кто хочет держать свой стэк и знания актуаль
Docker и Kubernetes: основы разработки под облачную инфраструктуру Курс для тех, кто хочет держать свой стэк и знания актуальными и глубоко разбираться, как устроены Docker, Kubernetes, и современная облачная инфраструктура в целом. 🌐 Чему вы научитесь: 🤩 Создавать облачную инфраструктуру «с нуля» управление и конфигурация серверов с Terraform, Ansible, cloud‑init 🤩 Уверенно работать с Docker: Dockerfile, слои, кэш, многоступенчатые сборки, реестры, безопасность, air‑gapped 🤩 Проектировать многоконтейнерные приложения: паттерны Sidecar, Ambassador, Adapter, проверки (liveness/readiness), DaemonSet и поды 🤩 Настраивать сеть и балансировку в Kubernetes ClusterIP, Services, Ingress, MetalLB, TLS/SNI, сервис‑меши (Istio) 🤩 Организовывать хранение данных: PersistentVolumes / PVC, StorageClasses, резервное копирование. Упаковка в Helm и поддержка через Operator 🥸 Кто мы: R&D-центр Devhands. Автор курса — Николай Ихалайнен, эксперт по СУБД и бекенду (ex-Percona), со-основатель MyDB, энтузиаст открытого ПО. 🗓 Старт курса: 10 июня, 6 недель обучения. Изучить программу и записаться можно здесь. Ждем вас! Реклама. ИП Рыбак А.А. ИНН 771407709607 Erid: 2VtzqxNnFKA
1 421
18
Совет по Laravel 💡 Знаете ли вы, что... вы можете временно отключить timestamps при сохранении модели?
Совет по Laravel 💡 Знаете ли вы, что... вы можете временно отключить timestamps при сохранении модели?
1 548
19
✔️ Machine Learning Roadmap: нормальная карта входа в ML без сказок про «выучить нейросети за месяц» Большой русскоязычный ro
✔️ Machine Learning Roadmap: нормальная карта входа в ML без сказок про «выучить нейросети за месяц» Большой русскоязычный roadmap по машинному обучению: от первого import numpy до LLM, RAG, fine-tuning, AI-агентов и MLOps. И это не просто очередной список ссылок в стиле «посмотри 40 курсов и станешь ML engineer». Внутри нормальная структура: что учить, в каком порядке, зачем это нужно и какой практический артефакт должен появиться после каждого этапа. Roadmap разбит на 7 треков: - фундамент: Python, математика, статистика, инструменты - классический ML: scikit-learn, табличные данные, метрики, валидация - Deep Learning: PyTorch, CNN, RNN, training loop - LLM и трансформеры: attention, KV-cache, RAG, LoRA, агенты - Generative AI: изображения, видео, аудио, мультимодальность - MLOps и прод: Docker, Kubernetes, CI/CD, мониторинг, serving - специализация: CV, NLP, RecSys, RL, Safety Самое полезное - там честно написано, что ML это не только «обучить модель». В реальности большая часть работы живёт вокруг данных, метрик, деплоя, мониторинга, воспроизводимости и понимания, почему модель вообще ошибается. Хорошая мысль из roadmap: LLM не делает джуна сениором. Она ускоряет того, кто понимает базу. Без базы человек просто превращается в оператора Copilot, который не может объяснить, почему модель сломалась. По времени тоже без инфоцыганства: - 0-3 месяца: Python, математика, классический ML - 3-6 месяцев: Deep Learning и PyTorch - 6-12 месяцев: LLM, RAG, fine-tuning, AI-агенты - 12+ месяцев: MLOps, прод, масштабирование, специализация Короче, если давно хотели системно зайти в ML, а не прыгать между роликами про ChatGPT, Stable Diffusion и «топ-10 библиотек», это хороший ориентир. https://github.com/justxor/MachineLearningRoadmap/tree/main
1 901
20
Один человек написал код, который сегодня работает на 20+ млрд устройств Даниэль Стенберг начал cURL в 1996 году как маленьку
Один человек написал код, который сегодня работает на 20+ млрд устройств Даниэль Стенберг начал cURL в 1996 году как маленькую утилиту для скачивания файлов из интернета. Без большой команды. Без венчурных денег. Без хайпа. Просто писал open-source инструмент в свободное время. Почти 30 лет спустя cURL стал тихим фундаментом интернета. Он есть в iPhone, Android, PlayStation, Tesla, серверах, приложениях, сайтах и куче устройств, о которых мы даже не думаем. Его используют Spotify, YouTube, Netflix, Instagram и тысячи других сервисов. NASA даже использовала cURL на марсианском вертолёте Ingenuity. То есть код Стенберга буквально летал на другой планете. Самое безумное - первые 23 года он не зарабатывал на cURL ничего. Триллионные компании строили продукты на его коде, а он продолжал бесплатно поддерживать проект и отвечать на баг-репорты. В 2017 году король Швеции вручил ему премию Полхема - впервые в истории эту награду получил open-source проект. В 2019 году Стенберг наконец начал работать над cURL фултайм в wolfSSL. В 2025 году получил золотую медаль IVA от Королевской шведской академии инженерных наук. Но по сути ничего не изменилось: он всё ещё пишет код из домашнего офиса в Стокгольме и сам отвечает на GitHub issues. Почти 30 лет человек делал инструмент, который работает в фоне и держит огромную часть интернета. Без громких презентаций. Без миллиардных раундов. Просто хороший код, который пережил почти всё.
1 936