Все потоки
Поиск
Написать публикацию
Обновить
342.36

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

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

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

Жизненный цикл контейнеров в Docker Compose: использование хуков post_start, pre_stop

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

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

Читать далее

Зачем искать палиндромы и вращать матрицы в поисках лучшей работы

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

Привет, Хабр! Меня зовут Василий Беляев. Я руководитель группы разработки фронтенда в «Криптоните». В этой статье мы разберём три задачи из тех, которые можем задать на собеседованиях. Заодно обсудим, зачем вообще решать типовые задания при трудоустройстве, когда есть Google и ChatGPT.

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

Читать далее

Битва титанов: натив, кроссплатформа и PWA – ищем плюсы и минусы на каждом этапе разработки. Часть 2

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров732

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

Читать далее

Мой путь в мире веб-рендеринга: от статических страниц к гибридным архитектурам

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

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

Читать далее

Как отключить ECH для вашего домена на Cloudflare

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

Как вы знаете, Роскомнадзор (РКН) заблокировал технологию Encrypted Client Hello (ECH), а Cloudflare неожиданно принудительно включил её для всех пользователей. Это вызвало серьезные проблемы для тех, кто использует Cloudflare, особенно для пользователей из России. Решим эту проблему!

Если вам нужно отключить Encrypted Client Hello (ECH) для вашего домена на Cloudflare, выполните следующие шаги. Этот процесс включает проверку текущего статуса ECH, а затем его отключение через API Cloudflare.

Читать далее

Тестирование фронтенд компонентов с jest-dom на видимость пользователю

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

Решаем проблему с тестирование элемента что он виден пользователю или не виден.

Данное решение для reactjs проекта написано, но также работает и для других фреймворков, с которыми работает jest-dom

Читать далее

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

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

Шаблоны проектирования распределенных систем предоставляют разработчикам проверенные решения и передовые методы проектирования и внедрения распределенных приложений.

Читать далее

О стандартах не спорят? Обсудим — на митапе для С++ разработчиков

Время на прочтение2 мин
Количество просмотров1.5K

14 ноября подключайтесь к онлайн-встрече разработчиков на C++. Инженеры из YADRO объяснят, как сочетать современное программирование с объектным подходом, расскажут об уникальных особенностях интрузивных контейнеров и познакомят с библиотекой Boost.Intrusive. После докладов эксперты из YADRO, Яндекса, Syntacore и Касперского обсудят удовлетворенность реализацией и внедрением фич в текущие стандарты C++.

Антон Полухин и Константин Владимиров — на одной площадке, когда еще такое случится! Регистрируйтесь, чтобы получить ссылку на трансляцию.

Читать далее

Прочитай перед тем, как делать анимацию по скроллу

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

Я интегрировал видео анимацию, которая перематывается в зависимости от положения скролла, для лендинга детского парка развлечений - wizardia.land

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

Стек проекта: nuxt 3 (ts) / tailwindcss

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

Содержание - вкратце по тупым ошибкам, которые я совершил.

Читать далее

Делаем форму обратного звонка: лендинг, Go и SMS-уведомления

Время на прочтение10 мин
Количество просмотров3.4K

Привет, Хабр! Меня зовут Екатерина Саяпина, я Product Owner личного кабинета платформы МТС Exolve. Сегодня расскажу, как создать простую, но эффективную форму обратного звонка с SMS-уведомлениями. Дам пример для сценария, когда клиент оставляет заявку через форму, а менеджер связывается с ним через Callback API. После успешного разговора система автоматически отправляет SMS через SMS API с подтверждением договоренностей и следующими шагами.

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

Причем пример будет без громоздких фреймворков — только Go и чистый HTML с щепоткой JavaScript.

Читать далее

Знакомьтесь: input, output и model. Новые функции в Angular

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

Привет всем! Меня зовут Егор Молчанов, я разработчик в компании Домклик.

Хочу рассказать вам о новых функциях Angular: input(), output() и model(). Они появивились сравнительно недавно и обещают в скором времени заменить привычные нам декораторы @Input и @Output. Разберëм, что они собой представляют, как использовать на практике, и как связаны с концепцией сигналов. Поехали!

Читать далее

Как сделать один плагин сразу для всех сборщиков фронтенда?

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

Здравствуйте, товарищи! Сегодня мы снова поговорим про тулинг для фронтенда. В этот раз обсудим разработку плагинов для сборщиков, таких как: Webpack, Vite, esbuild и подобных. За основу мы возьмем Unplugin.

Короткий ответ на вопрос из заголовка: пока никак. Чуть более длинный - изображен на обложке. А в качестве полноценного ответа, предлагаю вам эту статью. Попробуем хотя бы приблизиться к заявленному результату.

Сразу стоит уточнить: это не туториал, а скорее case-study.

Читать далее

Я прождал 10 миллиардов тактов и дождался лишь экрана загрузки

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

Современное оборудование невероятно быстрое. M1 Max, на котором я пишу эту статью, работает с частотой 3,2 ГГц. То есть 3,2 МИЛЛИАРДА тактов в секунду. Однако Microsoft Teams требуется 3 секунды, чтобы открыть ссылку, и я отказываюсь верить, что для открытия ссылки требуется 9,6 МИЛЛИАРДА тактов. Очевидно, я упрощаю, но смысл остаётся прежним: как так получается, что оборудование становится быстрее, а приложения — только медленнее?

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

Превосходный пример мощи современного «железа» — это видеоигры. Я могу симулировать огромные 3D-среды с физикой и освещением, полученным трассировкой лучей, при этом играть в реальном времени с друзьями из других штатов и даже стран; вполне доступный компьютер потребительского уровня выдаёт 124 миллионов пикселей в секунду1.

[1. 1080p при 60 FPS = 1920 × 1080 × 60 = 124416000]

Можно посмотреть и в обратном направлении: людям удаётся запускать DOOM на почти любом устройстве с процессором: на калькуляторах, iPod, фотокамерах. Невероятно маломощные, зачастую одноразовые устройства обладают достаточными вычислительными ресурсами, чтобы выполнять сверхсовременную на 1993 год игру. Это не особо удивляет, ведь прошло три десятка лет, но показывает, какой путь мы проделали.

Читать далее

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

Python REST API: Flask, Connexion и SQLAlchemy (часть 1)

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

Это перевод статьи от Philipp Acsany

В этой первой части серии вы узнаете, как:
- Создать базовый проект REST API на Flask
- Обрабатывать HTTP-запросы с помощью Connexion
- Определять конечные точки API с помощью спецификации OpenAPI
- Взаимодействовать с вашим API для управления данными
- Создавать аннотации для API с помощью Swagger UI

Читать далее

Пишем примитивное управление громкостью PC по локалке на NodeJS

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

Привет, Хабр. Большая часть поста описывает запуск сишного (или плюсового, как вам больше захочется) кода на NodeJS простым способом, так как самые очевидные не всегда подходят по причинам, также описанным. Заранее извиняюсь, если данный материал кому-то покажется банальным, но будет здорово если кто-то найдёт его для себя полезным.

Читать далее

Вам не нужно готовое API чтобы начать писать фронтенд или краткий обзор готовых решений для мокинга данных

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

Идея написать данную статью у меня возникла в самый обычный рабочий день, в момент когда ко мне от менеджеров в jira упала новая задачка. Сама задача была нормально заполнена - было и подробное описание, и ссылка на документацию с бизнес-требованиями, и приложены макеты.

Однако, её статус был не в “Ready for development”. Также можно было увидеть что сама задача ждёт выполнения другой задачи - на разработку API с данными. Здесь у меня начались вопросы, а также желание в очередной раз разъяснить менеджерам что критичных блокеров у этой задачи нет.

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

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

Читать далее

Отладка и мониторинг в MobX: trace, introspection и spy

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

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

Читать далее

Битва титанов: натив, кроссплатформа и PWA — ищем плюсы и минусы на каждом этапе разработки

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

Привет, Хабр. Мы уже сравнивали натив и PWA в этой статье, но без кроссплатформы эта картина действительно была неполной. Поэтому мы запарились, разложили разработку на этапы и на каждом нашли честные плюсы и минусы каждой технологии. Погнали.

Читать далее

Как запрогать сайт другу и не поссориться

Время на прочтение3 мин
Количество просмотров1.5K

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

Читать далее

linkedSignal: управлять связанным состоянием теперь ещё проще

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

Бу! Испугался? Не бойся. Angular 19 уже не за горами и представляет новый мощный примитив, называемый linkedSignal, который поможет вам управлять сложным состоянием в ваших приложениях. Это альтернатива использованию effect для простого обновления сигнала на основе изменения другого сигнала. В прошлом мы видели, как сообщество обсуждало, чтобы избегать использования effect и вместо этого использовать computed для сброса сигналов на основе изменения другого сигнала.

Читать далее

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