Roman Pankov Tech
Ir al canal en Telegram
Канал для backend-разработчиков: реальные темы PHP/Golang, архитектура, собеседования - без воды
Mostrar más198
Suscriptores
Sin datos24 horas
+17 días
+130 días
Archivo de publicaciones
👣 Цикл статей про компилятор Golang
Темы
- Сканер (Лексер): Преобразует исходный код (поток символов) в плоский поток токенов
- Парсер: Берет этот плоский список токенов и придает ему структуру, создавая Абстрактное Синтаксическое Дерево (AST)
- Проверяющий типы (Type Checker)
➡️Ссылка на статьи
#golang #компилятор @pankovr_tech
🖥 PHP 8.5 (вышел 20 ноября 2025) - значительное обновление языка: быстрее, современнее, надежнее
🔥Главные новинки
🟦 Pipe-оператор |>
Передаёт результат слева направо, избавляя от временных переменных.
$sum = [1, 2, 3]
|> array_sum(...)
|> ($x => $x * 10);
echo $sum; // 60
🟦 Клонирование с обновлением свойств (clone(...))
Особенно удобно для readonly-классов.
class User {
public function __construct(
public readonly string $name,
public readonly int $age
) {}
}
$u1 = new User('Alex', 30);
$u2 = clone($u1, age: 31);
echo $u2->age; // 31
🟦 Замыкания / callable в константных выражениях
class Math {
public const DOUBLE = (fn($x) => $x * 2)(50);
}
echo Math::DOUBLE; // 100
🟦 array_first() / array_last()
$items = [10, 20, 30];
echo array_first($items); // 10
echo array_last($items); // 30
🟦 __sleep() / __wakeup() устарели
// ❌ старый способ
public function __sleep() {}
public function __wakeup() {}
// ✔️ новый
public function __serialize(): array {}
public function __unserialize(array $data): void {}
#новости #php @pankovr_tech💾 Память Go
Многие языки программирования активно используют ту самую «магическую коробку» под названием heap. Go - не исключение. Мы обычно спокойно пишем наш код и даже не думаем, что там происходит внутри, хотя смутно понимаем: «где-то есть память, и Go как-то сам с ней разбирается».
В новой статье автор заглянул глубже и рассказал в подробностях про выделение памяти в Go
Ссылка на статью
#golang @pankovr_tech
Полезная подборка для изучения принципов работы высоконагруженных систем. Здесь собраны статьи от практикующих инженеров и анализ реальных примеров - как построить отказоустойчивые и производительные решения, способные обслуживать аудиторию в миллионы и миллиарды пользователей.
Ссылка на github
#полезное @pankovr_tech
🎾 В Китае спортивные трансляции вышли на новый уровень: теперь зрители могут сами крутить картинку на 360° и смотреть матч с любой точки стадиона.
Это стало возможным благодаря системе камер, установленных по всему периметру арены. Все они передают видео одновременно, поэтому вы можете просто провести пальцем по экрану приложения - и ракурс мгновенно сменится, без малейшей задержки.
#новости #интересное @pankovr_tech
🤭История ИИ стартапа без нейросети который оценивается в 1 млрд.
Знакомьтесь: Fireflies - сегодня это единорог ($1 млрд) в сфере ИИ, который записывает видеозвонки, делает транскрипцию и выжимку по встрече.
Но в начале пути, когда денег не хватало даже на пиццу, никакого ИИ у них не было! 🤩
Основатели просто притворялись нейросетью. Когда клиент платил за "умный" сервис, к звонку тихонько подключался один из них и вручную делал заметки и пересказ.
Этот трюк помог им накопить на офис... и уже позже они внедрили ИИ
#новости @pankovr_tech
🗑 Go Maps: Ключи, Корзины и Секреты Роста!
Используете карты Go? Вот, что скрыто под капотом:
🟦 Корзины (Buckets): Карта - это абстракция, скрывающая организацию данных с помощью множества небольших единиц, называемых «корзинами». Каждая корзина вмещает до 8 пар ключ-значение.
🟦 Случайный порядок: Порядок перебора ключей не гарантирован и может меняться, так как Go использует уникальное случайное значение seed для каждой карты в функции хеширования.
🟦 Инкрементальный рост: Когда карта перегружена (фактор нагрузки 6.5), она растет. Чтобы избежать блокировки горутины, Go использует «инкрементальный рост» (evacuation), который запускается постепенно, только когда вы присваиваете новое значение или удаляете ключ.
🟦 Hint - это подсказка: Параметр hint в make(map, hint) — это лишь ожидаемое количество элементов, которое помогает Go минимизировать дорогостоящие операции роста.
🟦 Ограничения: Карты не являются потокобезопасными, а тип ключа должен быть сравнимым (comparable type).
#golang #map @pankovr_tech
🖥 Виртуальный Офис: Vision Pro меняет правила игры!
Как это работает?
- Гигантские AR-экраны: Прямо перед собой пользователи размещают виртуальные мониторы любого размера для проведения видеоконференций, работы с документами.
- Полная концентрация: Встроенное шумоподавление и визуальное погружение позволяют отгородиться от суеты, оставаясь при этом в курсе происходящего вокруг.
- Мультизадачность на новом уровне: Проверка почты, рабочая встреча и любимый плейлист - всё в одном пространстве
Жду когда это станет очень доступно и уйдёт в массы
#интересное @pankovr_tech
🖥 Основы Git. Мини-курс для начинающих
Быстрый старт в мир контроля версий! Автор собрал только ту информацию и те команды, которые действительно нужны начинающему разработчику.
Внутри курса:
🟦 Теория: В чем разница между Git и GitHub? Зачем Git нужен (откат версий, документация, командная работа)?
🟦 Практика: Полная настройка — установка Git, генерация SSH-ключа и его привязка к GitHub-аккаунту.
🟦 Команды: Освоение всего необходимого арсенала: от clone, status, add, commit, push до продвинутой работы с ветками (branch, checkout, merge, rebase, revert) и временным хранением изменений (stash).
🟦 Профессиональный подход: Показана работа с Git через GUI в IDE (WebStorm) и разобрано, как правильно оформлять коммиты согласно соглашению Conventional Commits.
🐗 https://www.youtube.com/watch?v=eMETcugEX_c
#инструменты #git @pankovr_tech
Продолжаю играться с NotebookLM от Google.
Взял большую статью "Планировщик Go — самый подробный гайд простым языком" и попросил сделать видео.
В общем получилось неплохо
#golang @pankovr_tech
💡 Swift выходит за пределы Apple: появился SDK для Android
Рабочая группа Swift представила предварительную версию SDK для Android, открыв путь к созданию кроссплатформенных мобильных приложений на языке экосистемы Apple - теперь не только для iOS, но и для Android.
📦 Что внутри:
- SDK уже включён в установщик Swift для Windows, а для macOS и Linux его можно скачать отдельно.
- В комплекте появилась библиотека swift-java, обеспечивающая взаимодействие между Swift и Java.
- По данным команды, уже 27 % пакетов из Swift Package Index успешно собираются под Android.
Источник
#новости #ios #android #swift @pankovr_tech
🎤 Принёс немного ламповости: оцифрованные VHS-уроки по Turbo Pascal
Да-да, те самые видео от Borland, где под гул ЭЛТ-монитора объясняют не просто синтаксис, а саму логику программирования - без фреймворков, хайпа и магии. Только переменные, циклы и структура кода.
Медленно, спокойно, с шармом старой школы и обаятельным Заком Урлокером.
🐗 Ссылка на youtube
#история @pankovr_tech
🎓 "Кодить по-русски": студентов научат программировать на кириллице
В Пензенский государственный университет (ПГУ) запущен эксперимент - студентам предлагают программировать на языке, модифицированном из JavaScript, с русифицированным синтаксисом и условиями. Код пишется без единой латинской буквы.
👩🏫 Зачем это делают?
- Упростить обучение для тех, кто недостаточно владеет английским, убрать языковой барьер
- Укрепить роль русского языка в ИТ-образовании и отечественных разработках
Всё же непонятно, для чего это делается. Есть стандарт и мы его придерживаемся, чтоб все "общались"(программировали) на одном языке. Сейчас люди потратят время на обучение языку на кириллице и потом им нужно будет потратить время на переобучение, а это может быть ещё сложней.
Можно конечно обратиться к опыту 1С и сказать, что вот мол в 1С пишут на кириллице и ничего, всё довольны. Только вот 1С сделало это умышленно. Бухгалтерия/кадры и прочие продукты 1С очень специфичны и при написании на английском языке может возникнуть двоякое понимание кода. Например, слово "проводка". Попробуй опиши название функции так, чтобы пришёл другой разработчик и понял, что это именно проводка документа.
#новости @pankovr_tech
Подъехал минималистичный и шустрый десктопный API-клиент, который работает офлайн и не лезет в облако 👍
- Поддерживает REST, GraphQL, gRPC, WebSocket и SSE;
- Импортирует коллекции из Postman, Insomnia, Swagger или Curl;
- Хранит токены и пароли в системном keychain;
- Позволяет группировать запросы, менять окружения и версионировать всё через Git;
- Пишется на Tauri, Rust и React — летает как надо;
- Open-source, можно собрать или скачать готовый билд.
Проект: Yaak на GitHub
Пробую его на замену postman. Есть минусы. Например, если взять curl запрос, то он не парсится как это работает в postman. Но очень интересна синхронизация через git
#инструменты @pankovr_tech
Разработчики делятся на 3 типа
1️⃣ Пишет на Go и говорит, что всё просто 2️⃣ Пишет на PHP и говорит, что и так всё работает 3️⃣ Пишет на другом и спорит с первыми двумя 😅 А кто вы?
GitHub опубликовал свежий отчёт о состоянии мира разработчиков.
📈 PHP занял 6-е место в рейтинге языков программирования, обогнав C, C++ и Go по числу разработчиков, использующих его на платформе.
🐳 Использование Docker выросло на 120 % за год.
🤖 Модели LLM вышли на этап массового внедрения - 80 % разработчиков уже используют их в своей работе.
🔹 TypeScript впервые стал самым популярным языком на GitHub, обойдя Python и JavaScript.
🔹 Каждый секунду к GitHub присоединяется новый разработчик.
Источник
#новости #github @pankovr_tech
🪟 Поддержку WIndows 10 официально прекратили 14 октября 2025 года и Microsoft предполагала, что пользователи массово перейдут на Windows 11, НО пользователи начали массово переходить на Windows 7
Доля пользователей Windows 7 выросла с 9% до 24%
Неожиданный поворот на самом деле. Хотели заставить всех обновиться до Windows 11, но что-то пошло не так.
Если обратить внимание на релизы Windows, то успешность чередуется:
✅Windows 98 (1998) - Шикарная ОС для своего времени
❌Windows ME (2000) - В общем норм, но ничего интересного и люди продолжали пользоваться 98
✅Windows XP (2001) - Одна из самых успешных ОС
❌Windows Vista (2007) - Не поворотливая и тормозная
✅Windows 7 (2009) - Учли ошибки Vista и сделали отличную ОС
❌Windows 8 (2012) - Пытались сделать одну ОС для разных устройств и адаптировать к сенсорным дисплеям и убрали кнопку Пуск. Но после недовольства пользователей выпустили обновление Windows 8.1 где вернули кнопку Пуск
✅Windows 10 (2015) - Так же продолжили делать универсальную ОС, но учли ошибки прошлого и получилось хорошо.
❌Windows 11 (2021) - Достаточно прожорливая ОС и пользователи не понимают зачем она нужна, т.к. киллер фич пользователи не нашли.
#windows #новости @pankovr_tech
🛠️ Инструмент для C4
Решил погрузиться в описание архитектуры по модели C4 и озадачился поиском идеального инструмента, который бы соответствовал нескольким ключевым требованиям:
1️⃣Чтобы можно было описывать в виде текста (Infrastructure as Code)
2️⃣Был у всех на слуху и большое комьюнити
3️⃣Поддержка плагинами в популярных IDE и тулах
Сначала присматривался к Structurizr DSL - это "родной" и очень правильный инструмент для C4. Однако для его интеграции в разные системы пока что не так много готовых плагинов, как хотелось бы.
🏆Победитель: PlantUML + шаблон C4-PlantUML
В итоге выбор пал на PlantUML. Почему?
▫️ Гибкость: PlantUML позволяет описывать схемы в виде простого текста, что идеально соответствует принципу "архитектура как код".
▫️Универсальность: Для его работы нужен всего один .jar файл, который запускается на любой ОС, а значит, проблем с кроссплатформенностью нет.
▫️Экосистема: Он популярен. Плагины для PlantUML есть практически везде: IntelliJ IDEA, VS Code, Confluence, Obsidian, а также множество онлайн-редакторов.
▫️Готовые шаблоны C4: Благодаря библиотеке C4-PlantUML от Саймона Брауна (Simon Brown), работать с нотацией C4 становится максимально удобно.
Я уже набросал базовый шаблон репозитория с настроенным PlantUML и C4-PlantUML, чтобы можно было быстро начать работу и сфокусироваться на самой архитектуре, а не на настройке.
🔗 Ссылка на github
#инструменты #документация #c4 @pankovr_tech
