Обновить
455.92

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

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

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

Как мы внедрили Tracetest для улучшения наблюдаемости в EDA

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

В мире разработки ПО поддержка высокого уровня наблюдаемости (observability) для приложений с архитектурой, управляемой событиями (event-driven architecture, EDA) стало критически важным. Сложность таких систем, связанных с обработкой огромных объемов данных в режиме реального времени, требует надежных инструментов для мониторинга, отладки и анализа. Однако традиционные методы, использующие логи и метрики, часто оказываются недостаточными, когда необходимо глубоко понять взаимодействие между различными компонентами системы и выявить узкие места.

Именно с этой проблемой мы столкнулись в нашей команде, поэтому я, Дмитрий Титаренко (QA-инженер в компании TAGES), решил поделится найденным решением в статье на Хабр. Надеюсь, что будет полезно!

Читать далее

С 80-х по 2024-й: как создавались и оптимизировались CI-тесты

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

Современные команды разработки тестируют каждое изменение кода перед мержем. Это не просто общепринятая традиция: наряду с ревью кода, это стандарт по умолчанию, применяемый практически во всех кодовых базах компаний. Мы называем его тестами CI (непрерывной интеграции). В результате их внедрения среднестатистическая организация запускает сотни наборов тестов в день.

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

Читать далее

Системный аналитик с ЗП 400+. Найти за 30 дней. Часть 2 «Проверка на прочность»

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

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

Кому предложат ЗП 200-, а кому 400+? Собеседование расставит всё на свои места.

Знакомство и остальные компоненты собеседования описаны в первой части. Сегодня говорим про харды. Итак, сразу к делу.

Читать далее

Как мы полностью обновили VK Мессенджер: переписать нельзя рефакторить

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

Случается, ты просыпаешься и осознаешь: так больше продолжаться не может и нужно что‑то менять. Разные кодовые базы, избыточное легаси и нестабильность мешают пользователям получать удовольствие от общения в твоем приложении. И эта мысль подводит тебя к развилке: один путь ведет к сложному и долгому рефакторингу легаси за почти 10 лет, второй к не менее долгому, а, порой, более сложному процессу переписывания с 0. Но какой бы путь ты ни выбрал, в любом случае начинаешь испытывать азарт — предстоит большая Задача (именно с большой буквы).

Привет Хабр, меня зовут Федор Неживой, я ведущий программист‑разработчик в команде VK Мессенджера и сегодня расскажу вам, как мы перестраивали и обновляли один из крупнейших проектов в рунете. В статье будет боль, пот, реальный код и детали, как мы шаг за шагом пришли к масштабному обновлению, а потом внедряли то, что получилось.

Читать далее

PostHog для UX-дизайнера: от анализа данных до повышения зарплаты

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

Привет, Хабр! Меня зовут Витя, я работаю проектировщиком интерфейсов в Selectel. Довольно часто при изучении пользовательского опыта мы с коллегами используем PostHog — мощный инструмент для сбора и анализа статических данных веб-сайтов и приложений. Инструмент важный и по-настоящему сложный, поэтому хочу собрать мини-курс о том, как с ним работать.

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

Черт тебя возьми, CSS. Часть 3

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


Привет, Хабр. Я продолжаю делиться «косяками» CSS, которые могут сбить нас с толку. Мне не нравится, что многие плюются от него. Конечно, не без оснований. Я их понимаю, потому что тоже плевался.


Только мне нравится CSS. Хоть и потратил множество часов на изучение неочевидных моментов, я не хочу, чтобы у языка была слава «костыля». Подумав, как помочь другим меньше мучиться, я собираю и объясняю неочевидности CSS.

Читать дальше →

Как мы перенесли web-сервис в Телеграм Mini Apps

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

До лета 2023 года перед разработчиками Точка.Нетворк стояла проблема: CJM становился сложным, и это затрудняло работу над продуктом. В итоге мы придумали решение — полностью отказались от веба и сосредоточили развитие платформы только в Mini Apps от Телеграма. Без этого было бы невозможно развивать продукт дальше.

В статье расскажу, как и почему мы отказались от веб-версии Точка.Нетворк — локального сообщества предпринимателей — и переместились в Телеграм.

Читать далее

Как мы заработали 100 000 рублей за 3 месяца, запустив простой конвертер картинок в США

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

Что мы поняли, запустив простой конвертер картинок за 1 месяц в США. И как заработали 100 000 рублей за первые 3 месяца, хотя вокруг куча бесплатных аналогов.

Читать далее

Apache Kafka – Producer и Consumer. Простой пример Nodejs приложения

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

Привет! В продолжение темы изучения микросервисов решил разобраться с взаимодействием этих самых «сервисов», и написать простой пример взаимодействия двух сервисов между собой.

Перед чтением данной статьи, настоятельно рекомендую ознакомиться с данной статьей, по теме kafka (Kafka за 20 минут. Ментальная модель и как с ней работать)

Пример реализации можно найти тут...

Читать далее

«Голая Java» или разработка без всего

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

Рассказываю что можно сделать на одном только голом JDK. Это старое и ныне почти забытое искусство разработки без внешних библиотек и фреймворков. Работать будем «как в былинные времена» — киркой и лопатой голыми руками и немного мозгом.

Читать далее

Программирование — это вообще не просто!⠀

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


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


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


В новостях «восьмилетняя девочка, которая второй раз в жизни занимается программированием, наклепала чат-бота за 45 минут»‬ (ага, да!).


Курсы предлагают мне за 10 месяцев с нуля стать миддл+ (ага, да!).


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


Читать дальше →

Гипермедийные системы на ASP.NET MVC 5. Часть третья — окончание

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

Окончание статьи по быстрой разработке гипермедиа-ориентированного веб-приложения с HTMX 2.0.

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

В статье будет использоваться библиотека Htmx.js вместе с устаревшей серверной платформой ASP.NET MVC 5.

Читать дальше

Гипермедийные системы на ASP.NET MVC 5. Часть вторая — продолжение

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

Продолжение статьи по быстрой разработке гипермедиа-ориентированного веб-приложения с HTMX 2.0.

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

В статье будет использоваться библиотека Htmx.js вместе с устаревшей серверной платформой ASP.NET MVC 5.

Читать дальше

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

Трассировка OpenTelemetry в 200 строк кода

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

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

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

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

На самом деле, трассировка гораздо проще, чем кажется.

Читать далее

Концепция временного View state в JavaScript

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

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

Читать далее

Гипермедийные системы на ASP.NET MVC 5. Часть первая — начало

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

Начало статьи по быстрой разработке гипермедиа‑ориентированного веб‑приложения с HTMX 2.0.

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

В статье будет использоваться библиотека Htmx.js вместе с устаревшей серверной платформой ASP.NET MVC 5.

Читать дальше

Vue 3 в деле: Как мы обновили большой внутренний сервис и что из этого вышло

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

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

Меня зовут Егор Прокопьев, и я фронтенд-разработчик в Ozon.

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

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

Читать далее

Микросервисы. Стирание границ между бизнесом и разработкой

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

Привет! В продолжение своих статей на тему микросервисов, решил выделить важный вопрос отношений разработки и бизнеса в целом.

Как микросервисная архитектура решает проблему взаимодействия бизнеса и разработки?

Читать далее

Разработка архитектуры хранения данных для сайта на «Битрикс»

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

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

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

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

Читать далее

Дело было вечером или Создаем веб-приложение за 5 часов

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



Привет, друзья!


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


Вот что мы имеем на сегодняшний день.


Интересно? Тогда прошу под кат.

Читать дальше →

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