Обновить
512K+

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

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

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

Разработчик из Батуми в одиночку по понедельникам выпускает убийство. Сколько заработал?

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

Если сейчас слышишь «проект на нейросетях», чаще всего это очередной чат-бот или AI-ассистент. Денис в феврале 2025 года искал что-то другое — задачу, где нейросети дадут результат, который без них не получить. В какой-то момент он увидел в ленте рекламу детективной настольной игры и понял, что вот этот продукт можно построить на нейросетях так, как раньше никто не делал.

Денис автор проекта True Crime Games, детективной игры в Telegram, где подозреваемые отвечают в реальном времени и не отличаются от обычных аккаунтов в чате. В команде он сам, жена и сестра. К маю 2026-го, через восемь месяцев после запуска, было продано более 800 копий игры по $40, выручка ~$30000. 

Читать далее

Navigation API теперь доступен в Baseline

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

Navigation API предоставляет возможность инициировать (программно запускать), перехватывать и управлять навигацией в браузере. Он также позволяет исследовать (traverse) сущности истории (history entries) приложения. Это улучшенный вариант предыдущих возможностей веб-платформы, связанных с навигацией, таких как History API и window.location, который решает их проблемы и специально предназначен для одностраничных приложений (single-page applications, SPA).

Читать далее

5 распространенных ошибок новичка в E2E-тестах

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

Начинаете писать E2E-тесты? Думаете, нужно просто открыть страницу, нажать кнопку и написать expect?

Разберем на примере Playwright, почему отчёт может быть зелёным, но бесполезным.

Разобрать ошибки

Авторизация в Go без боли: как Casbin заменяет километры if-проверок

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

Пока в приложении две роли и три проверки, авторизация умещается в if user.Role == "admin". Но стоит добавить пару ресурсов, ролей и исключений — и условные проверки начинают расползаться по хендлерам, дублироваться и жить своей жизнью.

В этой статье разберём, как навести порядок с помощью Casbin: вынесем правила доступа из кода в конфиг, пройдём путь от простого ACL до RBAC с иерархией ролей, соберём HTTP-сервер на Go с авторизационной middleware и обсудим грабли, на которые легко наступить по дороге.

Читать далее

«Норма» как закономерный результат закона о норме

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

Когда начался ажиотаж (хайп) вокруг закона о норме, даже в писательском сообществе я столкнулась с непониманием того, что требуется, в каких случаях, по какому закону. Некоторые утверждали, что дело касается только вывесок в реальном мире, другие — что нужно следить за всем, что написано русским языком. Многие вовсе отрицали необходимость изменений. Но постепенно бизнес выстроил новые процессы, проверка текста на соответствие нормам русского языка стала одним из обязательных действий, и пришло время заняться оптимизацией. А значит, выбрать максимально удобные инструменты.

В этой статье расскажу, как устроен закон, на какие тексты он распространяется. И почему именно инструмент «Норма» от Орфограммки оказывается наиболее удобным. Я опираюсь на интервью с разработчиками, и расскажу о деталях реализации, но пишу от лица писателя и маркетолога для тех, кто много работает с текстом.

Читать далее

Маркетинг — это не реклама, а сырьё. 6 лет продаю устройство, на которое нет запросов в Яндексе

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

У нас в комьюнити часто приходят с одним и тем же вопросом: стоит ли делать продукт, если в поиске по теме почти нет запросов. Женя Донцов 6 лет назад задавал его себе и услышал от маркетологов ровно то, что слышат все: «Бро, у тебя запросов в Яндексе достаточно мало. Ты на этом хочешь сделать бизнес? Come on. Займись чем-нибудь нормальным». Он не послушал.

Женя шесть лет делает Waterius, устройство, которое автоматически передаёт показания счётчиков воды в водоканал. Код выложил на GitHub, от инвесторов отказался, в Яндекс.Директе почти ноль продаж на десятки тысяч показов, блогеры принесли суммарно десяток заказов. Почти вся выручка идёт через маркетплейсы, которые забирают 50% с каждой продажи, и это оказалось единственным, что работает. Сейчас выручка около миллиона рублей в месяц, 150+ городов подключены, рост в 1,5 раза в год.

Передаю слово основателю проекта Евгению Донцову.

Читать далее

Пользовательское соглашение на сайт: когда нужно и что учесть, чтобы защитить владельца сайта?

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

Если вы из тех владельцев сайтов / интернет-сервисов, которые:
• взяли образец пользовательского соглашения из интернета 
• разработали пользовательское соглашение самостоятельно без привлечения юриста
• считаете, что публикация пользовательского соглашения на сайте – это формальность
то этот материал точно для вас!

Благодаря ему вы сможете:
01 понять, в каких случаях нужно использовать пользовательское соглашение, а в каких иной документ
02 понять реальную цель и ценность данного документа
03 проверить, насколько хорош ваш документ с юридической точки зрения и требуется ли его замена / доработка.

Читать далее

Антидетект-браузеры: почему мультиаккаунтинг вообще работает

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

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

Почему сайт вообще может понять, что пять аккаунтов сидят из одного браузера, если у них разные cookies, разные почты и разные прокси? Почему обычная подмена User-Agent давно почти ничего не решает? Почему один профиль выглядит нормально, а другой палится на Canvas, WebGL, timezone, TLS или странной связке параметров? И почему антидетект-браузер иногда действительно помогает мультиаккаунтингу жить дольше, хотя никакой невидимости он не даёт?

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

Читать статью

Веб vs Мобилка: кто в опасности? Сравниваем безопасность двух миров

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

Спойлер: оба, но по-разному - и это важно понимать.

Каждый раз, когда слышим «у нас все нормально с безопасностью, мы же не банк», что-то внутри сжимается. За этой фразой обычно стоят токены аутентификации в SharedPreferences, SQL-запросы без параметризации и Firebase без правил доступа. Эта статья - попытка честно сравнить два мира, найти точки пересечения и разобраться, почему одни проблемы одинаковые, а другие - принципиально разные.

Исходные данные: OWASP Top 10 Web 2025, OWASP Mobile Top 10 2024, статистика NVD/CVE-базы, данные реальных пентестов, IBM Cost of a Data Breach 2024.

Читать далее

Разработали дизайн-концепцию для интернет-магазина KINGSTORE

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

Как сделать удобный интернет-магазин для техники премиум-класса, если у вас сотни городов и тысячи товаров?

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

Читать далее

Такая разная агентская разработка: эволюция программирования с нейросетями

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

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

Читать далее

5 слоев кэширования в веб-приложениях: Полное руководство для Python-разработчиков

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

Содержание

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

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

Читать далее

Предотвращение лишних реактивных вычислений

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

Иногда значение меняется на эквивалентное. И здесь существуют разные подходы к отсечению вырожденных вычислений…

Глубоко погрузиться в тему

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

Wayback Machine как архив IDOR: как временные ссылки перестали быть временными

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

В марте 2026 многие обсуждали ситуацию с доступом к изображениям из ЛС мессенджера MAX по ссылкам, сохранённым через WebArchive. Тогда же многих не устроил ответ компании.

К сожалению, ситуация хуже, чем кажется. Т.к. проблемы не видят не только в MAX, но и в других компаниях (столкнулся с этим, оповещая компании о похожих проблемах). В статье я расскажу, почему считаю ситуацию — проблемой для всех: пользователей, компании, багхантеров. И как связка «WebArchive + IDOR» может стать бомбы замедленного действия для компании.
Более того, эта ситуация — наглядный пример, как отлаженный механизм повышения безопасной разработки (что не найдут внутренние безопасники компании — отловят багхантеры) иногда даёт сбой.

Читать далее

Как запихнуть килограмм LLM в телеграм-бота и не сойти с ума

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

Все началось с прикола, я сидел с друзьями и подумал, а вот было бы прикольно запихать разные модели нейросетей в один чат и заставить их думать, что они реальные люди и работают в корпорации. Весь смысл был в том, чтобы это были действительно разные модели и пользователь мог просто между ними переключаться по запросу. Для начала мне нужно было найти зоопарк апи ключей с бесплатными лимитами. Я прошерстил весь интернет и в итоге нашел относительно норм варианты: Groq для LLama, Google AI Studio для Gemma и Gemini. В целом в это время код был простой, правда все время происходил забавный баг, когда пользователь переключался между моделями, одна модель не хотела отдавать очередь другой и просто притворялась ею, но я в целом без трудностей поправил это через системный промт. Однако до конца у меня исправить это так и не получилось, видимо, мои модели слишком тупые.

Читать далее

Сравнение моделей конкурентности JVM языков: Kotlin coroutines, ZIO runtime и Clojure

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

Coroutine, Fiber, Virtual thread - это всё одно и то же?

Или нет ?

Или нет.

А если под капотом всё равно JVM, почему нельзя просто везде включить virtual threads и успокоиться? Разберемся!

Узнать что есть кроме Java Threads

Шрифтовые иски в РФ: 15,3 млн ₽ взысканий за 5 лет и как технически проверить свой сайт

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

Если вы веб‑разработчик и хоть раз подключали шрифт «потому что он красивее, чем системный Arial» — есть ненулевая вероятность, что у вас на сайте лежит коммерческий гарнитур без лицензии. Российский бизнес три‑пять лет назад массово открыл для себя, что это не безобидно: за период 2021–2025 годов через арбитражные суды по шрифтовым искам взыскано 15,3 млн ₽ (данные Коммерсанта), число исков выросло в 2,5 раза за пять лет, и тренд продолжается.

При этом проверить свой сайт на потенциально опасные шрифты — технически нетривиальная задача. Парсить CSS «как получится» через регулярки не работает: получаются ложные срабатывания на CSS‑ключевые слова, на источниках вроде Яндекс.Метрики, на иконочных шрифтах. Дальше — про правовую сторону вопроса и про то, как мы написали детектор, который этим не страдает.

Читать далее

Scoped Store: Когда useReducer не тянет, а Redux — слишком

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

Когда локальный стейт в React-модуле начинает расти - разработчик инстинктивно тянется к useReducer+Context. Это работает, пока не перестаёт: ререндеры везде, провайдеры в елочку, логика размазана. В статье разбираю как этот путь выглядит в реальном продакшне на примере редактора субтитров, и почему паттерн Scoped Store на базе Context+Zustand+useRef решает эту проблему чище и проще.

Читать далее

Cursor в разработке: нейропрототип модуля в корпоративной системе

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

Современная корпоративная разработка — это всегда про компромиссы. Нужно быстро прототипировать, но при этом не потерять в качестве кода. Хочется держать в голове всю архитектуру — и фронтенд, и бэкенд, и контейнеризацию, и тесты. А по факту время уходит на переключение между десятками вкладок, согласование REST-контрактов и разбор ошибок по логам.

В этой статье мы расскажем, как в проекте нейропрототипа модуля Планирования (PlanningProto) мы использовали Cursor — редактор с ИИ, который встроен прямо в репозиторий.

Читать далее

Как узнать все, о чем думают пользователи, когда бросают покупки: гайд по онлайн-опросам

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

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

В статье разобрал, где и когда задавать вопросы, какие метрики (NPS, CES, CSAT) использовать, как избежать типичных ошибок и превратить фидбек в реальные действия по повышению конверсии, чтобы убрать барьеры на пути клиента.

Читать далее