Как стать автором
Поиск
Написать публикацию
Обновить
417.46

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

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

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

Что случилось с легковесными десктопными приложениями? История Electron

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

Electron — это один из самых известных инструментов современного разработчика. Если присмотреться, то это родственник React Native, манящий лозунгом «пиши один раз, запускай везде!», но с гораздо меньшими издержками по сборке и релизу, чем в случае мобильной разработки. Его уникальное преимущество заключается в комбинации Node.js и Chromium, создающей мощную десктопную среду для веб-технологий. Официальный блог Electron не так давно отметил своё десятилетие, что весьма удивляет с учётом того, насколько глубоко этот инструмент успел проникнуть в культуру разработки.
Читать дальше →

Триггеры ядра Joomla при CRUD-операциях

Время на прочтение6 мин
Количество просмотров406

CRUD - аббревиатура основных операций с данными: создание (Create), чтение (Read), изменение (Update) и удаление (Delete). Практически все действия на сайте как в админке, так и пользовательской части можно описать этими действиями. Разработчикам при создании функционала часто в какие-то моменты этих действий нужно проделать некие действия с участием данных или без них.

Как найти нужное событие для своего плагина в Joomla подскажет эта статья.

Читать далее

Как на примере одной кнопки можно улучшить Frontend часть проекта

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

Всем привет! Я джуниор фронтенд разработчик. И на примере одной кнопки хотел бы рассказать как иногда применение библиотек в проекте - это излишества, которые стоит избегать.

Давай начнем по порядку. Проект написан на NextJs, TS, TailwindCSS. И есть на сайте анимационная кнопка, которые при скролле красиво появляется и при клике открывает модалку.

Читать далее

Восемьдесят миллионов оттенков зеленого: как боты устроили распродажу производительности

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

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

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

Читать далее

Как мы сократили time to market на 17%, не выжигая команду и не теряя в качестве

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

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

Читать далее

Исследование: победители awwwards и их performance в Lighthouse

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

Все дизайнеры обожают сайт awwwards – площадку с платной публикацией, где собраны самые классные работы в сфере веб-дизайна. А поскольку мы душнилы по части performance, мы собрали почти 5000 сайтов, определили их фреймворк и проверили производительность в Lighthouse. Также собрали статистику по их авторам. И вот что получилось.

Читать далее

Оцените мой инди-стартап для чтения книг в оригинале. Что думаете?

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

1 Приложение Канделибра — 2 Недостатки существующих решений — 3 Сценарий использования — 4 Попытки отыскать целевую аудиторию — 5 Мечты и амбиции — 6 Любопытные проблемы — 7 Заключение

Делюсь своим опытом создания инди-приложения. Читателю может быть интересно подумать над необычной задачей, пофантазировать вместе со мной.

Слово «инди» здесь означает, что я работал один. За границей есть такой термин, даже сайт indiehackers.com, а у нас это как-то не распространено. Спасибо всем родственникам и друзьям за советы и тестирование!

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

Читать далее

Работает? Трогай! Рефакторинг

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

«Работает — не трогай!» — знакомая фраза? Звучит как девиз стабильности. Но в наше время все меняется со слишком большой скоростью, а такой подход может стать настоящей ловушкой Джокера. Оставленный без внимания проект рискует превратиться из мощного инструмента решения проблем в неподъемный багаж, неспособный соответствовать новым требованиям.

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

Читать далее

ICOGON: натянем шахматы на глобус

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

Игра на сферической (полиэдрической) доске: JavaScript, jQuery, THREE.js.
Краткая информация об истории создания, правилах и интерфейсе.

Рвануть шаблон ↓

Перенос JWT-токенов в куки: Django REST + React

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

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

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

Статья будет полезна тем, кто хочет разобраться в реализации авторизации с JWT-токенами в куки с помощью Django REST Framework.

Читать далее

Как я замучился с пресейлами и решил создать SaaS сервис себе в помощь

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

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

Читать далее

Простой вебсервис, на Perl, но не CGI

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

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

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

Читать далее

Пишем ping на Go: сможем ли составить конкуренцию стандартному ping?

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

Всем привет! Меня зовут Игорь Горбунов, я разрабатываю платформу базовой станции в YADRO и изучаю Golang почти год. Уже перевалил рубеж «вывести на экран сумму четных элементов среза» и захотел написать что-то более сложное.

Я интересуюсь сетями, и решил посмотреть, как в Go реализуется работа с протоколами ICMP и ICMPv6. Наиболее простая задача, связанная с ними, — реализация программы ping. Она отправляет указанному узлу сети запросы ICMP типа Echo-Request и ожидает ответы типа Echo-Reply.

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

Читать далее

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

Современные способы переключения контента

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



Тот, у кого из всех инструментов есть только молоток, склонен на любую проблему смотреть, как на гвоздь.
Абрахам Маслоу

Мы склонны использовать знакомые решения. Когда речь заходит о переключении контента, мы обычно используем свойства display: none или opacity: 0 с добавлением JavaScript. Однако современный веб стремительно развивается, и, возможно, настало время рассмотреть другие подходы к переключению контента — узнать, какие нативные API на сегодняшний день поддерживаются, их достоинства и недостатки, а также некоторые нюансы, о которых мы могли и не подозревать (включая псевдоэлементы и другие малоизвестные вещи).

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

Spring Boot Filter. Введение в фильтрацию запросов

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

Привет, меня зовут Николай Пискунов, я руководитель направления Big Data и автор медиа вАЙТИ. В этой статье поговорим о фильтрации запросов.

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

В предыдущей статье мы создали аспект для логирования запросов через аннотации. Сегодня рассмотрим, как осуществить то же самое с использованием Spring Boot Filter.

Читать далее

Разработка цифровых открыток в масштабах Airbnb

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

Это — статья о том, как команда Media Ingestion компании Airbnb создала цифровые открытки для групповых путешествий. Открытки было решено задействовать в летнем выпуске платформы 2024 года. В проекте использовался новый алгоритм подбора материалов под различные туристические направления. Здесь же применялись возможности платформы по обработке изображений и локализованных текстов.

Готовясь к летнему выпуску Airbnb 2024 года, команда Media Ingestion взяла на себя интереснейшую задачу. Она заключалась в разработке надёжной системы для создания цифровых открыток. Это должны были быть открытки, выглядящие, как изделия ручной работы, и при этом отражающие особенности самых разных уголков мира. Отправка открытки — это прекрасный способ приглашать гостей в групповое путешествие, и, в то же время, держать в курсе происходящего семью и друзей. Система требовала нового подхода к сопоставлению открыток со всеми возможными местами проживания, которые гости бронируют на Airbnb. Эта система должна была очень быстро создавать открытки, причём — не только на всех наших клиентских платформах (iOS, Android, Web), но и в разных системах обмена сообщениями, которые находятся за пределами приложения Airbnb. И всё это должно было делаться без отступления от высоких стандартов графического дизайна компании.

Читать далее

Гибридное кэширование в ASP.NET Core

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

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

Хочу разобраться

Как я фотоконкурс в группе ВК изобретал

Время на прочтение8 мин
Количество просмотров713

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

А кто-то быть может идей по улучшениям накидает - милости прошу!

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

Итак, что же там удалось придумать

Почему текстовые форматы не идеальны в разработке: пример на JSON

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

JSON - наш повседневный помощник, но вместе с другими текстовыми форматами он может преподнести неприятные сюрпризы: потеря точности чисел, громоздкие файлы, путаница с датами. Рассказываю, как этих проблем избежать и повысить эффективность с помощью стриминга в Node.js, а также MessagePack и Protobuf. Узнайте, где подводные камни и как их обходить на практике!

Если хотите понять, в чём именно проблема на иллюстрации, загляните в статью — там всё разобрано :-)

Читать далее

React на сервере — это не PHP

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

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

Некоторое время назад наткнулся на интересную статью в блоге Кристофера Артмана, которой он сравнивает до чего эволюционировал Реакт в наше время и задается вопросом, о том, не вернулись ли мы в отправную точку, и Реакт на сервере - это старый добрый PHP.

Кроме самой статьи мне интересно было почитать комментарии к ней. И там довольно большое количество людей не согласилось с автором.

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

Читать далее

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