Go 1.26 выходит в феврале, и на мой взгляд это один из самых насыщенных релизов за всю историю языка. Давай разберёмся что нас ждёт, от изменений в языке до оптимизаций runtime и новых инструментов. Статья основана на официальных release notes и исходном коде Go. Это не исчерпывающий список, за полной информацией обращайся к официальной документации.Типобезопасная проверка ошибокНовая функция errors.AsType это дженерик-версия errors.As:// Go 1.13+ func As(err error, target any) bool // Go 1.26…
Знакомо чувство, когда читаешь документацию, а через десяток страниц уже не помнишь, что именно успел изучить? Или когда возвращаешься к старой статье и не можешь понять – ты уже видел эту ссылку или нет?В эпоху информационного перегруза даже закладки перестают быть спасением – они просто копятся где‑то на панели, а на странице по‑прежнему нет никаких намеков, что ты здесь уже был.Но что если заставить браузер самому отмечать ссылки, которые у вас уже сохранены? Чтобы слева от каждой знакомой с…
В очередной раз столкнулся с тем, что разработчик игры (в качестве демо-версии программных функций) использовал генератор случайных чисел "в лоб", что повлекло за собой повторы ходов (игра была "морской бой", и клетка, по которой стрелял компьютер определялось как Math.floor(Math.random()*100), что подразумевает бесконечное повторение ходов). Поэтому хочу предложить простой и эффективный способ создать последовательность случайных чисел без повторения. Этот способ основан на пер…
После работы над множеством фронтенд- и full-stack-проектов (в основном React + TypeScript + какой-нибудь сервер/бэкенд), я постоянно возвращаюсь к одному и тому же небольшому набору паттернов. Они добавляют структуру, снижают когнитивную нагрузку и делают кодовую базу поддерживаемой даже при росте.Это не революционные идеи — просто прагматичные решения, которые хорошо работают в разных приложениях. Вот текущий набор, который я использую почти всегда.1. React Query + фабрика ключей запросов (Qu…
Всем привет, на связи снова я — Дмитрий, React-разработчик. И сегодня хочу поднять тему, которая на первый взгляд кажется простой, но на практике может доставить немало сюрпризов - округление и форматирование чисел в интерфейсе.Изначально может показаться, что здесь сложного практически ничего нет: есть toFixed() и toLocaleString(), но практика показывает, что реальные интерфейсы почти никогда в это не укладываются.Почему? Потому что в разных диапазонах чисел пользователи ждут разного поведения…
Команда JavaScript for Devs подготовила перевод большой практической статьи о создании игрового движка с нуля — без шейдеров, GPU-магии и «взрослых» фреймворков. Автор шаг за шагом показывает, как из простых веб-примитивов вырастает полноценная игра, а затем — универсальный движок, и почему такой подход даёт больше свободы и выразительности, чем готовые решения.Мы собираемся написать игровой движок на JavaScript — без AI, и под AI я имею в виду LLM. Да, ребята, это будет олдскул. Если, конечно,…
Пока Я нахожусь в процессе написания второй статьи из цикла про capacitor, решил выпустить в виде статьи перевод анонса Capacitor 8 с замечаниями по миграции с предыдущей версии. Статья предназначена для тех, кто уже использует платформу в продакшене и не подписан на новости платформы. Если у вас есть приложение на Capacitor 7, переход на новую версию вполне логичен.В статье разберём:какие изменения появились в Capacitor 8;зачем имеет смысл обновляться сейчас;как выглядит миграция с версии 7 на…
Power full Task ManagerTaskExplorer Task Explorer is a powerful task management tool designed not only to monitor running applications but to provide deep insight into what those applications are doing. Its user interface prioritizes speed and efficiency, delivering real-time data on processes with minimal interaction. Instead of requiring multiple windows or sub-windows, Task Explorer displays relevant information in accessible panels. When selecting a process, detailed information is displaye…
Стандартная ситуация - в вашем небольшом проекте на Go есть файлы переводов, картинки, миграции, html/gohtml темплейты, которые всегда должны быть рядом с проектом. Как бы странным это не казалось, но ни раз я видел, как люди упорно пытаются рядом со сбилженым бинарем положить эти файлики в нужной форме, мучают девопсов и насилуют пайпы. Пошла эта мода скорее из некомпилируемых языков, к примеру Java Script, который на месте своего нахождения и без этого плодит помойку из каталогов.Краткое, быс…