Обновить
353.73

Веб-разработка *

Делаем веб лучше

Сначала показывать
Порог рейтинга
Уровень сложности

React Custom Hook: useGeolocation

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели5.9K

Одним из ключевых преимуществ useGeolocation является его простота. Благодаря инкапсуляции сложной логики, необходимой для доступа к геолокации и ее обработки, этот хук обеспечивает чистое и многократно используемое решение. Хук автоматически обрабатывает состояние загрузки, обновляя его при загрузке данных геолокации, и устанавливает состояние ошибки, если в процессе возникают какие-либо проблемы.

Читать далее

Туки-туки: где искать данные для фаззинга веб-приложений

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели6.5K

Салют, Хабр! Меня зовут Всеволод, и я занимаюсь анализом защищенности веб-приложений в Positive Technologies.

С API веб-приложений я успел познакомиться со всех сторон: как разработчик, инженер в AppSec и пентестер. В большой корпорации мне пришлось столкнуться с колоссальными объемами API. Я быстро осознал, что в таких количествах их просто невозможно проверить вручную, и начал искать способы автоматизации. В результате уже больше двух лет я занимаюсь динамическим тестированием (DAST), в частности фаззингом.

В этой статье я расскажу, почему считаю DAST не менее важным, чем статический анализ кода (SAST), как новичку начать фаззить, а опытному специалисту научиться находить еще больше уязвимостей.

Читать далее

Что новенького есть в CSS в 2025 году?

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели13K

Привет, Хабр!

Мне всегда было интересно наблюдать, как развивается CSS. Держу себя в форме, чтобы не пропустить что-то важное. А недавно подумал: «Почему бы не поделиться ими с подписчиками?». И я тут.

Составил список новинок, которые мне кажутся важными и интересными. Есть несколько новых возможностей, которые очень сильно изменят CSS. Думаю, лучше готовиться к ним заранее.

Также скажу, что на сегодняшний день они реализованы минимальным количеством браузеров. Не получится использовать их прямо сейчас. Хотя некоторые можно, если вы поддерживаете только браузер Google Chrome. В любом случае про браузерную поддержку я тоже расскажу.

Давайте посмотрим, что я вам подготовил.

Читать далее

Книга: «Разработка фронтенд-приложений»

Время на прочтение2 мин
Охват и читатели7.4K

Привет, Хаброжители! Наверняка вы неоднократно сталкивались с ситуацией, когда начинали разработку фронтенд‑приложения на React и вроде всё было очевидно, но через некоторое время чувствовали, что уже запутались, где какой компонент. И в такой ситуации приходится вновь и вновь смотреть код, чтобы вспомнить, где в иерархии находится определенный компонент. Или, например, начинаете создавать компонент и задумываетесь на время: — «А с чего начать и какой должна быть реализация?», а реализовав компонент понимаете, что можно было бы сделать это по‑другому.

Книга «Разработка фронтенд‑приложений» предлагает решения, для подобных ситуаций, а также даст руководство по‑другому подойти к разработке. Совершенно по‑новому!

Читать далее

Мы 30 лет делали сайты руками, а потом пришла нейросеть

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели17K

Привет, Хабр! Хочу поделиться опытом создания сайта с помощью ИИ. Сразу скажу — я не профессиональный разработчик. Программировал несколько лет назад, потом переключился на другие задачи. Когда понадобилось сделать новый сайт, оказалось, что многое изменилось — новые инструменты, подходы. Пришлось учиться заново, но теперь уже с ИИ в качестве помощника.

Так что не судите строго — делюсь тем, что получилось, возможно, многое можно было сделать лучше или правильнее. Буду рад вашим советам!

У меня был сайт интернет‑магазина лабораторного оборудования, который постоянно ломался. Любое изменение — и что‑то отваливалось в другом месте. В итоге я решил: хватит мучиться, надо что‑то с этим делать. И попробовал создать новый сайт через нейросеть — через Claude.

Представьте себе машину, которую ремонтировали разные мастера в течение многих лет: заводишь двигатель — отваливается колесо, прикручиваешь колесо — открывается багажник. Именно так выглядел мой старый сайт. Сайт делали разные люди в разное время, в коде невозможно было разобраться, любое изменение ломало что‑то в другом месте. SEO практически не работало, трафик постоянно падал.

Нужно было создать новый каталог для 400+ позиций лабораторного оборудования. Но это не классический интернет‑магазин с корзиной и оплатой, а каталог с формой «запросить цену» — в сфере B2B так часто работают.

Читать далее

Синдром бесконечного релиза

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели4.4K

Синдром бесконечного релиза — это такая опасная болезнь современного стартапа, которая возникает, когда команда зациклена на доработке и улучшении продукта, но при этом так и не решается его выпустить.

Кажется, что всё ещё можно сделать чуть-чуть лучше, чуть-чуть полнее, чуть-чуть красивее… И всё.

Читать далее

Пока, dual packaging: в каком формате публиковать npm-библиотеки

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели5.1K

Уже 10 лет в JS-экосистеме воюют два формата модулей: CommonJS и ES Modules. Чтобы и получить плюшки ESM, и не распугать пользователей, npm-пакеты часто используют dual packaging: собирают код в оба формата. Это решает одну проблему, но создает несколько новых.

Сегодня расскажу

Какие проблемы пришли к dual packaging, и не пора ли от него отказаться.

В какой формат паковать npm-библиотеки в 2025 году.

Статься будет полезна и для опенсорса, и для внутренних библиотек, и для простых разработчиков (хотя бы чтобы понимать, откуда у вас в node_modules 2 Гб).

Читать далее

Trello для кодинга с ИИ: когда автопилоту нужна ручная коробка передач

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели8.1K

Что если создать систему, которая работает как Trello, но специально заточенная под совместную работу с моделями искусственного интеллекта?

Это как Tesla с автопилотом — вроде бы всё автоматически, но иногда хочется взять управление в свои руки. А что если добавить к этому автопилоту "ручную коробку передач"?

Результат более предсказуем, чем при работе с большими автономными запросами к ИИ.

Читать далее

Изучаем Go: руководство для JavaScript-разработчиков. Часть 1

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели13K

После пяти лет работы JavaScript-разработчиком, занимаясь как фронтендом, так и бэкендом, я провел последний год, осваивая Go для серверной разработки. За это время мне пришлось переосмыслить многие вещи. Различия в синтаксисе, базовых принципах, подходах к организации кода и, конечно, в средах выполнения — все это довольно сильно влияет не только на производительность приложения, но и на эффективность разработчика.

Интерес к Go в JavaScript-сообществе тоже заметно вырос. Особенно после новости от Microsoft о том, что они переписывают официальный компилятор TypeScript на Go — и обещают ускорение до 10 раз по сравнению с текущей реализацией.

Эта статья — своего рода путеводитель для JavaScript-разработчиков, которые задумываются о переходе на Go или просто хотят с ним познакомиться. Я постарался структурировать материал вокруг ключевых особенностей языка, сравнивая их с привычными концепциями из JavaScript/TypeScript. И, конечно, расскажу о "подводных камнях", с которыми столкнулся лично — с багажом мышления JS-разработчика.

Читать далее

Наше общение нам больше не принадлежит. Размышляю как ИИ создаст альтернативу для Telegram без VPN и прослушки

Время на прочтение3 мин
Охват и читатели13K

Интернет‑свободы сжимаются как шагреневая кожа. То, что еще недавно было естественным правом — свободно общаться, — превращается в привилегию. А мессенджеры? Они давно перестали быть мессенджерами. Это социальные сети, замаскированные под простое общение.

Сижу, листаю новости, читаю очередное «заблокировали», «ограничили», «запретили». И думаю: блин, а только меня это раздражает?

Сегодня размышляю об искусственном интеллекте и вдруг понимаю: технологии уже готовы.

Читать далее

Секреты работы онлайн-редакторов: что происходит при совместном редактировании? Yjs, CRDT и другие магические слова

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели6.6K

Представьте: вы и коллега в разных уголках планеты, но курсоры ваши встречаются в документа онлайн редактора. Вы одновременно вставляете слова в одну и ту же позицию или удаляете фрагмент текста, который ваш коллега в этот момент редактирует. Казалось бы, результат должен превратиться в хаос, но всё складывается в единую, логичную версию текста — несмотря на расстояния, задержки и одновременные правки. При этом вы даже не ждете, пока ваши изменения согласуются с общим состоянием на сервере. Просто редактируете документ и можете быть уверены в том, что ваши изменения применятся.

На деле за этим волшебством часто скрываются CRDT — структуры данных, делающие возможной децентрализованную синхронизацию. Я сам столкнулся с этим, когда работал над онлайн-совместным редактором: CRDT и библиотека Yjs буквально спасли мой проект от хаоса и сделали синхронизацию прозрачной.

Меня зовут Никита Лыкосов, я занимаюсь фронтенд-разработкой в Doubletapp и предлагаю шаг за шагом разобраться, как устроена эта инженерная магия. Спойлер: это гораздо проще, чем кажется.

Читайте в статье:

G-Counter — самый простой CRDT
Какие правила CRDT выполняются на примере G-Counter и зачем это нужно?
Массивы
Yjs: как устроено совместное редактирование на практике

Читать далее

Что за зверь n8n. Первые шаги автоматизации

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели19K

Разбираемся, что собой представляет n8n — мощный open-source инструмент для no-code автоматизации, и создаём первый рабочий процесс: Telegram-бота, который находит заказы в Google Таблицах.

Читать далее

CoffeeCup, HotDog и другие: странные и прекрасные HTML-редакторы прошлого

Время на прочтение7 мин
Охват и читатели7.6K

Недавно на Хабре видел публикацию об интернете нулевых и поймал себя на мысли, что порой по нему скучаю. И дело даже не в том, что мне не хватает дизайна или вырвиглазных Flash-баннеров. Каждый лишний килобайт веб-страницы мог привести к тому, что человек просто оттуда уйдет, не дождавшись загрузки. Такие технические ограничения вынуждали веб-мастеров оптимизировать размер изображений и применять массу других приемов, которые позволяли снизить объем передаваемых данных.

Когда-то я тоже занимался подобным, а свой первый веб-сайт и вовсе создавал в обычном блокноте. И лишь спустя несколько лет я познакомился с приложениями, которые сильно упростили жизнь в то время. О них и пойдет речь. Наливайте себе чайку — и добро пожаловать в небольшое путешествие в прошлое.

Читать далее

Ближайшие события

Резервные копии PostgreSQL: сравнение скорости pg_dump в разных форматах и с разными уровнями сжатия

Уровень сложностиСредний
Время на прочтение33 мин
Охват и читатели9.3K

Я сделал резервную копию через pg_dump и восстановился из неё 22 раза. Резервные копии делал в 4 разных форматах с использованием от 1 до 7 уровней сжатия под каждый формат. Записал результаты и сделал сравнение разных видов, чтобы понимать, какие способы более эффективны для моего сценария использования.

Детали и замеры — ниже.

Читать далее

Microsoft удивляет поклонников MS-DOS ремейком старого текстового редактора, который работает в Linux

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели13K

Microsoft удивляет поклонников MS-DOS ремейком старого текстового редактора, который работает в Linux

В прошлом месяце Microsoft выпустила современную версию своего классического редактора MS-DOS Editor, вернув часть истории компьютерной индустрии, которая впервые появилась в MS-DOS 5.0 еще в 1991 году. Новый инструмент с открытым исходным кодом, созданный на Rust и просто названный «Edit», работает на Windows, macOS и — что казалось бы невозможным три десятилетия назад — Linux.

Читать далее

Контроль расходов на SMS через API: как сделать свою систему финансового мониторинга за вечер

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели4.5K

Привет, Хабр. На связи Катя Саяпина, менеджер продуктов МТС Exolve. В этой статье разберём, как предотвратить приостановку бизнеса — вовремя пополнять баланс на отправку SMS. С минимальными усилиями соберём свою систему мониторинга расходов на сообщения. Будем фиксировать фактические траты, отслеживать аномалии, строить линейный прогноз и слать себе контрольные SMS.

В статье собрано решение на PHP с Composer, cron и MySQL. Всё максимально просто, чтобы за один вечер развернуть систему на любом сервере без внешних зависимостей.

Читать далее

Agile! — паразит поедающий до костей

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели8.2K

И как же из паразита сделать симбиота? Agile — слово, которое стартапы любят произносить на каждом питче.

Читать далее

Почему мониторинг — это ещё не всё. История появления статус пейджей в Statuser

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели5.7K

Привет! Меня зовут Михаил Шпаков, я разрабатываю Statuser — платформу для мониторинга доступности сайтов, приложений и серверов. Делаю всё один, по вечерам, без команды.

В этой статье я расскажу, как появилась функциональность, которая была в планах с самого начала — публичные страницы статуса. Эта идея зрела давно, и запросы от первых клиентов только ускорили её появление.

Объясню, как всё устроено внутри, с какими техническими решениями пришлось столкнуться и почему статус-пейджи — это логичное продолжение любого хорошего мониторинга.

Читать далее

Автоматизируем работу с помощью Битрикс24

Время на прочтение6 мин
Охват и читатели11K

В любой организации есть свои бизнес-процессы: взаимодействие с заказчиком, отгрузка товара другие операции — все это требует выполнения определенных действий. Конечно, эти операции могут выполняться вручную с помощью телефонных звонков, электронных писем и других ручных операций. Но в этом случае возникает риск возникновения бардака — то есть мы что‑то неверно указали, забыли выполнить какое‑то действие при составлении заказа, не смогли дозвониться нужному человеку и в итоге заказчик обращается к другой организации, и мы лишаемся крупного заказа. Не очень хороший сценарий.

Читать далее

Наташа, мы интернет уронили: как адаптироваться и не терять клиентов в шатдаун

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели7.7K

Жители практически всех регионов России сталкиваются с перебоями в работе интернета. Пользователи фиксируют отключения мобильной связи и VPN-сервисов, падение скорости загрузки сайтов и нестабильность мессенджеров — особенно Telegram и WhatsApp. И до сих пор остаются неизвестными реальные сроки восстановления стабильной работы интернета. 

Привычные действия: вызов такси, заказ продуктов, работа в удаленном формате теперь ежедневно вызывают трудности у миллионов россиян. Из-за «упавшего» интернета несут потери и предприниматели: срываются поставки товаров, не работают системы онлайн-платежей, владельцы онлайн-магазинов теряют клиентов.

Григорий Тумаков, СТО Morizo, рассказывает, как можно помочь интернету выжить. Сейчас нет 100% гарантий эффективности, но попробовать стоит.  

Читать далее

Вклад авторов