После пяти лет работы JavaScript-разработчиком, занимаясь как фронтендом, так и бэкендом, я провел последний год, осваивая Go для серверной разработки. За это время мне пришлось переосмыслить многие вещи. Различия в синтаксисе, базовых принципах, подходах к организации кода и, конечно, в средах выполнения — все это довольно сильно влияет не только на производительность приложения, но и на эффективность разработчика.Интерес к Go в JavaScript-сообществе тоже заметно вырос. Особенно после новости …
Я потратил 6 часов на этот эксперимент и спешу обрадовать, новая модель от chatgpt не готова заменить программистов.результаты теста Я попросил ChatGPT создать 100 различных версий игры Battle City но на html + css + Js. Даже с платной подпиской весь эксперимент занял у меня почти 6 часов — на генерацию одной игры уходило примерно 3 минуты. В результате хотя бы один полноценный уровень (без появления бонусов) нейросеть осилила меньше чем в половине случаев. А простейший звук появлялся в менее ч…
Если вы видите эту ошибку — вы не одиноки:Access to fetch at 'https://api.site.com' from origin 'http://localhost:3000' has been blocked by CORS policy.Разберем, почему это происходит, и как это починить. Что такое CORS, и для чего он нужен.1. Зачем нужен CORS? Безопасность! Пример атаки:Вы вошли на bank.com. Данные для авторизации сохранились в куках.Заходите на evil.com.Сайт evil.com тайно отправляет запрос Get /api/account на bank.com.Браузер автоматически отправляет кук…
Привет, Хаброжители!Ошибки происходят в любом приложении. Говоря об ошибках, первым делом отметим, что все они делятся на два типа: ожидаемые ошибки, обусловленные бизнес-логикой, и неожиданные ошибки. Это различие очень важное, поскольку стратегии обработки ошибок первого и второго типа значительно отличаются.Ожидаемые ошибки, связанные с бизнес-логикой — это «нормальная» часть эксплуатации системы. О таких ошибках в системе должно быть заранее известно пользователям, а вы должны быть способны…
*Статья отражает личный опыт, и не является рекламой. Иногда я читаю Хабр. Совсем недавно под очередной статьей о нейросетях я встретил комментарий, который выражал общий скепсис в отношении лингвистических моделей и чат ботов, в частности. Мол, они не могут сгенерировать ни единой строчки рабочего кода и годны, только чтобы переставлять слова в предложениях. В общем, технологию прямо называли шарлатанской.Я улыбнулся, вернулся на свой сайт, сделанный при помощи DeepSeek, и проверил, всё ли ра…
В современной веб-разработке качественная документация так же важна, как и качественный код. Когда ваше приложение разрастается до десятков или сотен компонентов, функций и модулей, становится практически невозможно удерживать в памяти все детали их работы. Хорошая документация не только облегчает поддержку проекта в долгосрочной перспективе, но и значительно ускоряет вхождение новых разработчиков в команду.В этой статье мы рассмотрим два популярных подхода к документированию фронтенд-кода: JSD…
💡 Идея Всё началось с простой, но насущной проблемы: я хотел быстро передать файлы между своими устройствами — без интернета, без Bluetooth и без облаков. Существующие способы были либо медленными, либо ограниченными: Bluetooth — устаревший и слишком медленный для видео и больших папокОблачные сервисы — требуют авторизации, интернета, да ещё и часто сжимают файлыAirdrop — работает только между устройствами AppleФлешка — не всегда под рукой, да и не подходит для телефонов🧠 Тогда я задал себе …
Привет, Хабр! Это моя первая статься, хоть и перевод, но все же, готов выслушать конструктивную критику)Я часто вижу, как веб-разработчики используют CustomEvent в коде своих компонентов. Настолько часто, что у многих складывается впечатление, будто CustomEvent — единственный способ создавать custom события (с маленькой "c"), а то и вообще единственный способ генерировать собственные события. Это понятно. Это прямо указано в названии: "Пользовательское" событие. Создается впеча…
В этой серии статей мы отправимся в путешествие по миру пользовательских хуков React, открывая для себя их огромный потенциал для улучшения ваших проектов разработки. Сегодня мы сосредоточимся на хуке «useMediaQuery», одном из многих тщательно разработанных хуков, доступных в коллекции пользовательских хуков React. Github: https://github.com/sergeyleschev/react-custom-hooks import { useState, useEffect } from "react" import useEventListener from "../useEventListener/useEventListen…