Обновить
512K+

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

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

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

Webhooks и другие способы общения серверов

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

Где-то между 2006 и 2008 годами в головах нескольких людей, которые слишком много думали про HTTP и REST, родилась не самая очевидная мысль: а что, если вместо того, чтобы каждые N секунд дёргать чужой API и спрашивать «ну что там у вас новенького?», заставить этот самый API самому постучаться к нам, когда ему действительно есть что сказать?

Сейчас это звучит как база, почти как «а давайте вместо FTP будем использовать git», но тогда это было довольно радикальным сдвигом парадигмы. От pull к push. От клиента-инициатора к серверу-инициатору.

Читать далее

Все пути ведут к MWS Tables, или Как я искал решение для учета ИТ-оборудования со взаимосвязями и интуитивным UI

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

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

Привет, меня зовут Евгений Смоленцев, я работаю программистом в АНО по развитию городской среды «МосводостокСтройТрест», которая занимается благоустройством улиц и сезонной инфраструктуры, капитальным ремонтом многоквартирных домов и объектов образования, строительством производственных баз, а также выполнением специализированных задач учредителя. В этом посте расскажу, как мы с помощью MWS Tables собрали учет оборудования в систему полного цикла — от закупки и присвоения инвентарного номера до выдачи сотруднику и возврата. Спойлер: мы сделали видимые взаимосвязи, удобные формы для внесения записей и генерацию актов по шаблону прямо из таблицы.

Читать далее

Экипировка Бонда: полезные инструменты DevTools

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

Привет, Хабр! С вами Карлен, Lead Fullstack разработчик в ITFB Group.

Для любого специалиста в веб-разработке DevTools — это незаменимый инструмент диагностики. Однако его истинная мощь часто остаётся «в тени»: многие используют лишь базовый функционал, упуская из виду целый арсенал возможностей для тонкой настройки и глубокого анализа.

В этой статье я хочу сосредоточиться на практических приёмах, которые ежедневно использую сам. Мы пройдём путь от эффективной работы с консолью до анализа производительности и эмуляции реальных условий. Готовы выйти за рамки console.log? 😊

Читать далее

Повторяющиеся задачи без RRULE: мой опыт реализации в своём таск-трекере

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

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

У меня был выбор: внедрять тяжелый стандарт RRULE или писать свой велосипед? Для своего трекера задач в Telegram «OK, Bob!» я выбрал второй путь.

В статье рассказываю про подход «буферизированной материализации»: как хранить бесконечные серии в MongoDB, не убивая базу, зачем нужно «скользящее окно» генерации и почему работа с таймзонами сложнее, чем просто хранение в UTC. Разбор архитектуры, кода и неочевидных UX-компромиссов.

Читать далее

Новые CSS-фичи, появившиеся к началу 2026 года

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

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

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

Этот год не стал исключением. Я составил список понравившихся новинок в CSS, которые появились к началу 2026 года. Сразу скажу, что это совсем новые фишки. Их браузерная поддержка ограничена в основном только браузером Google Chrome.

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

Читать далее

Синтаксический сахар или технический деготь: классы в JavaScript

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

Привет, меня зовут Саша, и я продолжаю рассказывать о JavaScript тем, кто только взялся за освоение этого языка. В прошлой статье мы разобрали функции-конструкторы и оператор new, научившись создавать шаблоны для множества однотипных объектов.

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

Читать далее

Как Markdown захватил мир

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

Почти все элементы мира хайтека, от самых современных ИИ-систем крупнейших компаний до обычных кусков кода, написанных студентами, аннотируются и описываются в одном простом текстовом формате. Когда вы пытаетесь дать сложные инструкции ChatGPT, хотите поделиться списком покупок в Apple Notes или скопировать чью-то домашнюю работу в Google Документах, вы пользуетесь одним и тем же форматом. Самое безумное заключается в том, что этот формат придумал не конгломерат технологических корпораций, а ворчун с добрым сердцем, который сейчас, вероятно, пересматривает фильм Кубрика или болеет за любимую спортивную команду. Но нам стоит разобраться, как родились столь простые текстовые файлы; не только для того, чтобы я мог похвастаться щедростью и умом моих друзей, но и чтобы напомнить вам, как работает Интернет на самом деле: умные люди придумывают хорошие вещи, а затем отдают их бесплатно, снова и снова, пока их технология не захватит мир и не сделает его лучше для всех.

Читать далее

Собственный центр сертификации под Linux

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

Для тестирования, разработки и внутреннего использования часто используются самозаверенные (самоподписанные) сертификаты. Технически такой сертификат ничем не отличается от публичного, только вместо передачи на подпись в удостоверяющий центр (УЦ) пользователь создаёт свою собственную подпись.

Под Linux мы можем сгенерировать сертификат командой mkcert или OpenSSL. Единственная проблема в том, что браузер не доверяет такому сертификату, поскольку он не подписан доверенным УЦ. Поэтому нужно ещё запустить и настроить собственный УЦ, который подписывает наши сертификаты — и добавить этот УЦ в список доверенных центров сертификации УЦ (или браузера).

Читать далее

Архитектура сложных форм

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

Архитектура сложных форм. WEB-Frontend.
(VueJS, TypeScript, Compositions API, Pinia)

Архитектура форм, в которых:
- сложная бизнес логика
- множество полей
- валидация (frontend + backend)

Читать далее

Компрометация IPTV приставки от Имаклик

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

На Авито выписал IPTV приставку. Модель: Imaqliq G-Box.

Для данной модели уществует возможность удалённого подключения через Telnet.

Логин: pcp

Пароль: LoaddAj7

Но это не всё

Читать далее

Функции-конструкторы и оператор new в JavaScript

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

Привет, меня зовут Саша, и я разрабатываю на JavaScript. В прошлый раз мы разбирались с методами объектов и идентификатором this, научившись делать объекты по-настоящему живыми и независимыми.

Сегодня двинемся дальше. Покажу, как создавать множество однотипных объектов, не копируя код раз за разом. Мы разберемся с функциями-конструкторами и оператором new — тем самым фундаментом, на котором строятся современные классы в JavaScript. Как всегда, расскажу все доступно и просто, поехали!

Читать далее

Почему ваш проект не замечают: разбор репозитория на практике

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

Open Source проект может быть технически отличным и при этом оставаться неизвестным. Всё прекрасно работает, но репозиторий не привлекает ни пользователей, ни контрибьюторов. Причина чаще всего не в качестве кода, а в томкак проект представлен на GitHub.

Сегодня я хочу разобрать проект Tgin (инфраструктурная прослойка для Telegram-ботов на Rust). На его примере я покажу, какие элементы репозитория реально влияют на интерес к проекту, где чаще всего теряются пользователи и контрибьюторы.

Читать далее

Baseline: декабрь 2025

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

Обзор на браузерные API, которые стали Widely available в декабре 2025. Раз в месяц я буду вам напоминать, что вы уже можете использовать в проде.

Каждый месяц выходят новые CSS-свойства, HTML-атрибуты, JavaScript-методы и WebAPI, но применять в проде мы их конечно же не будем. 2.5 года назад также каждый месяц выходили новые фичи в браузере, а вот их уже пора начинать применять.

Узнать, что можно применять в проде

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

Javascript: прощай, Date, здравствуй, Temporal

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

Время выставляет нас всех дураками, и JavaScript в этом не исключение. Честно говоря, меня это особо не задевало: по большей мере меня радуют маленькие странности JavaScript.

Мне нравится, когда можно увидеть обратную сторону; какой бы формальной и железобетонной ни казалась спецификация ES-262, мы всё равно замечаем (если знать, куда смотреть) в ней все хорошие и плохие решения, принятые сотнями людей, разрабатывавших язык. У JavaScript есть характер. Да, он не всегда делает всё в точности так, как можно ожидать, но на мой взгляд, JavaScript обладает настоящим очарованием, которое можно оценить, если глубоко его изучить.

Впрочем, существует одна часть языка, которая мне кажется совершенно нелогичной: это конструктор Date.

Читать далее

Админ vs студент: разбор тестового задания — сервис консультаций на Laravel за неделю

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

Эта статья — подробный разбор тестового задания на позицию PHP-разработчика, которое мне пришлось выполнить в краткие сроки из-за приближающей сессии. Я расскажу, с какими трудностями столкнулся, будучи студентом и новичком в веб-разработке, как построил архитектуру проекта «Школьные консультации» и что из этого вышло. Если вам интересен взгляд «с первоначального этапа» на классическую задачу или вы хотите узнать, чем всё кончилось, или у вас был похожий опыт (о котором вы хотели рассказать), то добро пожаловать.

Читать далее

Rest и SOAP

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

Сравниваем REST и SOAP : чем отличаются эти подходы, как они работают и почему сегодня все еще чаще выбирают REST, а не SOAP.

Читать далее

Убийцы иммутабельной производительности — Zustand/Redux в связке с React

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

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

Читать далее

Экосистема SeedKey. Или как улучшить беспарольную аутентификацию

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

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

Читать далее

Вывод списка материалов Joomla с разделением по годам и месяцам. Переопределение модуля Материалы (mod_articles)

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

Это перевод статьи Брайана Тимана (Brian Teeman) о доработке модуля Материалы (mod_articles), позволяющей выводить заголовки материалов категории (ий) с группировкой по годам и месяцам.

Читать далее

Универсальная админка к сайту — это Гугл Таблица

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

Данная статья предназначена в первую очередь программистам, но так же и их друзьям и знакомым.

Периодически появляется потребность написать небольшой сайт, с возможностью вести на нем список товаров с фотографиями, корзиной для покупок, и может даже с привязкой к банковским счетам для оплаты, хотя для малого бизнеса это не обязательно. Важно сообщить о наличии товара и условиях его заказа, оплаты, доставки... все остальное люди умеют делать сами. Если речь идет о состоявшемся бизнесе, который может позволить себе нанять специалистов и потратить 100т.р. то для таких клиентов существует большой выбор CMS (Джумла, Модекс, Друпал...) либо можно воспользоваться конструкторами сайтов, где пальма первенства у Тильды. Тильда конечно сэкономит кучу денег, но ей тоже надо учиться, просто так сходу не возьмешь.

Но если речь идет о стартующем бизнесе, либо семейном, либо просто о желающих начать работать самостоятельно, то такой бюджет будет велик, не хочется тратить деньги непонятно на что. Почему «непонятно на что»? Потому что MODX, Worldpress, Drupal и так далее «невероятно сложны» в управлении для непосвященных.
Если Вы опытный специалист, то скорее скажете — ерунда, там все элементарно! Но это вряд ли Вы так скажете: обычный пользователь, получив сайт на MODX, впадет в ступор от его Админки, впрочем как от всех других...

Раньше я отказывался от таких «бесплатных» заказов — быстро сделать простой сайт, так чтобы можно было что‑то продавать, но сейчас ситуация в корне поменялась. ИИ при правильном обращении генерирует сайт по любой тематике. Остается только сделать самую простую админку и передать готовый продукт клиенту буквально задаром.

Читать далее