История о том, как боль от «телепортов» в GPS‑треках, платных зон и неудобного создания файлов для Garmin привела к рождению pet‑проект а, который немного вышел из-под контроля. Разбор стека, подводных камней и немного партизанского кодинга. Приветственная страницаВсем привет! Меня зовут Александр, я разработчик и, как многие в IT-сообществе, увлеченный велосипедист. Strava для меня — основной инструмент для отслеживания прогресса, но с годами я стал все чаще натыкаться на мелкие «но», которые …
Тут я расскажу о том, как я впервые с нуля поднимал проект на React, используя связку FSD, TanStack Router, TanStack Query и Effector — и как мы всё это далее подружили подружили или нет.Сразу оговорюсь:Проектом занимается команда из 4х разработчиков, но архитектурный старт, выбор технологий и базовая структура — легли на меня. Это был мой первый опыт в такой роли: отвечать не просто за компоненты или страницы, а за фундамент проекта.А так же, это моя первая статья. Не претендую на истину в пос…
В этой статье я планирую исследовать, как можно использовать большие языковые модели (LLM) для миграции проектов между различными фреймворками. Применение LLM в задачах на уровне репозитория — это развивающаяся и всё более популярная область. Миграция кода со старых, устаревших фреймворков на новые является одной из ключевых задач в крупных корпоративных проектах.АктуальностьМиграция проектов на новые фреймворки становится всё более актуальной по мере быстрого развития технологий и изменяющихся…
Инициализация проекта на express и установка требуемых библиотек::npm init -y npm i express body-parser jsonwebtoken nodemon dotenv pg argon2 cookie-parserМеняем в package.json: нужно добавить type и скрипт dev "main": "index.js", "type": "module", "scripts": { "dev": "nodemon app.js" },Создаем app.js в корневой папкеБазовая структура проектаСкачиваем Prisma и инициализируем её через консоль:npm i prisma @prisma/client npx prism…
изображение сгенерировано в ChatGPTВ типографике существует понятие “висячих слов” — это короткие слова (предлоги, союзы, местоимения), которые остаются в конце строки при переносе текста. Такие переносы нарушают удобочитаемость и эстетику текста. В русской типографике принято избегать переносов после коротких слов длиной 1-2 символа.Решение проблемы с помощью JavaScriptДля автоматического предотвращения переносов после коротких слов можно использовать JavaScript, который заменяет обычные пробе…
🧩 ВведениеЕсли вы работаете с Vue 3, вы точно сталкивались с ref() и reactive(). Обе функции из Composition API делают значения реактивными — но делают это по-разному. И хотя документация Vue чётко указывает, что использовать в каком случае, она редко объясняет, почему это важно и что может пойти не так, если использовать не тот инструмент.Вот ссылки на официальную документацию — на всякий случай:🔗 ref() — vuejs.org🔗 reactive() — vuejs.orgВкратце:ref() возвращает обёртку со свойством .value, в …
ПрологВсем привет! Сразу хочу сказать, что это не гайд, и я не рассказываю, как нужно кодить — просто хочу поделиться тем, что у меня получилось, и что я использовал в процессе разработки.Я не эксперт, и всё, о чём я пишу — это то, что сам прочитал и попробовал на практике. Моей основной задачей было сгенерировать сеточную карту и заставить персонажа искать кратчайший путь до точки, на которую я нажал, и двигаться к ней.Позже я добавил NPC с простым AI: они могут преследовать игрока, если тот н…
Сегодня я хочу поделиться глубоким исследованием того, как применять золотое сечение в современном дизайне 2025 года. Эта статья основана не только на теории, но и на реальном опыте работы с крупными проектами, A/B тестах и исследованиях пользователей.Что такое золотое сечение и почему оно работает в 2025 годуЗолотое сечение (φ ≈ 1.618) — это математическая константа, которая представляет собой отношение двух величин, при котором отношение суммы этих величин к большей из них равно отношению бол…
API (Application Programming Interface) — это интерфейс, который определяет, как программные компоненты взаимодействуют друг с другом. Он задаёт, какие запросы можно выполнять, как именно они отправляются, в каком формате передаётся данные и какие соглашения при этом соблюдаются. API также могут предоставлять механизмы расширения, позволяя пользователям расширять существующие функциональности различными способами. API может быть разработан для конкретного компонента или создан на основе отрасле…