Обновить
433.78

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

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

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

Улучшаем UX для тюменского термального курорта или история о том, как мы уменьшали количество очередей в офлайне

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

Привет, Хабр! Я — Марина Заботина, аккаунт-директор в диджитал-продакшене Далее. Сегодня рассказываю о том, как увеличивали долю онлайн-покупок на термальном курорте ЛетоЛето и уменьшали количество очередей в кассах. Приготовьтесь, будет много схем.

Читать далее

Управление безопасностью приложений: всем выйти из сумрака

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

Всем привет. И вновь на связи Светлана Газизова, директор по построению процессов DevSecOps в Positive Technologies. В этой статье хочу сосредоточиться на роли и задачах тех, кто выстраивает application security в компаниях, — руководителей и тимлидов AppSec-направлений.

В индустрию попадают разными путями, расскажу о том, как пришла я. Исторически я отвечала за IT-часть в разработке: занималась архитектурой приложений и их улучшениями — до тех пор, пока мы не столкнулись с нехваткой кибербез-компетенций в компании. Я начала погружаться в тему, изучать и внедрять инструменты… и постепенно осознала, что ИБ мне ближе. Когда искала, куда перейти, выбрала направление application security (которое в то время было мало распространено, и немногие понимали, что это и зачем нужно).

Я начала с консалтинга: рассказывала, как работает статический анализатор, что он делает и для чего. Потом пришла в Positive Technologies, где к «аппсеку» добавился блок по безопасности ML, а также исследования, комьюнити и другие истории, связанные с построением процессов безопасной разработки. 

Подробности →

Анатомия умного поиска в Joomla 5. Создание плагина

Время на прочтение29 мин
Охват и читатели997

Исторически в ядре Joomla существовало 2 компонента поиска: просто "поиск" и "умный поиск" (smart search). Простой поиск был в составе ещё Joomla 1.x и с тех пор существенно не менялся, а начиная с Joomla 4 был исключен из состава ядра. Начиная с Joomla 2.5 в число штатных был включен компонент Умного поиска (smart search) - com_finder, главным отличием которого от простого поиска стала индексация контента. Как создать плагин для умного поиска Joomla расскажет эта статья.

Читать далее

Hono.js: Легкий Путь к Эффективным API

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

Когда речь идет о разработке простого бэкенда, то в голову приходит Express.js. Однако в 2024 году он считается устаревшим, так как есть шустрые альтернативы. Приветствую вас, дорогие читатели и сегодня расскажу о Hono.js.

Читать далее

Telegram Mini App. Как создать Web App с нуля

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

Mini Apps (или же WebApps) - это относительно новый и удобный способ добавления веб приложения прямо в интерфейсе приложения Telegram. Используя JavaScript, становится возможным создавать бесконечное множество интерфейсов, которые смогут заменить полноценный веб-сайт.

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

И сегодня мы попробуем создать miniapp приложение, взаимодействующее с данными пользователя.

Приступим

Читать далее

Как я создавал онлайн игру «нарды» (часть третья). Сервер

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

Всем привет!

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

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

Читать далее

Поднимаем поиск по коду

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

Всем привет!

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

Читать далее

Web-версия кулинарного android-приложения SystemCook

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

Сразу выдам ссылки на скачку того, о чем пойдет речь, чтобы ничего не потерялось и никто не теребил меня, что и где искать/качать (бесплатное и безрекламное android-приложение):

Скачать с Google Play

Прямая ссылка (если скачка с гугл-плей недоступна)

Ссылка вконтакте на видеообзор SystemCook v14.0 (если у вас проблемы с youtube)

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

Прогресс за три года разработки, с июня 2021:

Читать далее

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

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

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

Как оцифровать сканворд по фотографии? Насколько сложно сделать систему общего доступа? Действительно ли интересно разгадывать бумажные сканворды на электронном устройстве? Ответы на эти и другие вопросы — под катом.
Читать дальше →

Использование isolatedModules в Angular 18.2

Время на прочтение1 мин
Охват и читатели726

Angular теперь поддерживает TypeScript isolatedModules начиная с версии Angular 18.2. Благодаря этой поддержке мы сможем заметить увеличение производительности до 10% во времени сборки для production на своих проектах.

Читать далее

Контейнеры, разминаем мозги под Kubernetes – разговоры у костра

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

Привет, друзья! Разговоры у вечернего костра, у палатки, у реки, в спокойный, тихий вечер и в располагающей к технической честности и объективности атмосфере, а не «у пепелища дата-центра», как некоторым может показаться! 😊 Приготовьтесь погрузиться в захватывающую историю, как, но, важнее, почему мы сознательно пришли к активному использованию контейнеров и «доросли» до внедрения Kubernetes в высоконагруженном проекте «BI-конструктор». Но про Kubernetes в посте не будет не слова, будет только про контейнеры, но мы подготовим мозг к следующему посту, уже исключительно про Kubernetes, но тоже максимально доступно. Однако, я буду все рассказывать очень простыми (иногда техническими) словами, без ныряния в многоуровневый мат, уж простите. Я убежден, что когда ты все прочувствовал и выстрадал умом и сердцем, то сможешь этот опыт передать доступно и понятно другим, а когда сам не понимаешь, о чем говоришь, то и остальных просто запутаешь. И еще один момент – технических картинок и графиков по теме тоже не будет, они вызывают головную боль от растекания абстракций и их легко найти самостоятельно и в конце я дам рецепт где. Но, даже без них, не сомневайтесь, вы все поймете с первого раза. Итак, наливайте кофе, насыпайте попкорн, кладите в карман таблетку от головной боли (иногда будет сложно, но ради вашего же блага) и ныряйте «под кат».

Читать далее

Ваш плеер работает неправильно, или Как мы учили свой движок выбирать наилучшее качество видео

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

21 августа команда Yandex Cloud в формате Technical Preview открыла пользователям облака доступ к сервису для хранения, обработки и трансляции видео Cloud Video. Это инфраструктура для работы с видео, которая включает хранилище для контента и метаданных, видеоплеер, сервисы мониторинга и аналитики, CDN, а также возможности автоматической генерации субтитров и перевода. Сервис разработан на базе видеоплатформы Яндекса, которую компания запустила в 2016 году для использования во внутренних продуктах.

Меня зовут Константин Петряев, я разработчик в Yandex Infrastructure, и в команде видеоплатформы я 6 лет занимаюсь разработкой плеера. Моя коллега Оля Попова уже рассказала об истории его создания с нуля. А в этой статье я подробнее расскажу про задачу повышения качества видео в плеере. Остановлюсь на том, как мы боролись с тем, что стандартные прогнозы качества потокового видео всем нам «врут», и как научили плеер выдавать наилучшее возможное качество видео для пользователя, с учётом параметров сети и других менее очевидных вводных.

Читать далее

V8. Работа со строкам. Пополняем словарный запас

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

Что такое строка? Какие бывают строки? Как они хранятся внутри движка. Подробно разберем все детали и особенности.

Читать далее

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

Простые коммуникации в Java-приложении

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

Привет, 

Как вы уже, наверное, знаете, Jmix — это такая платформа для разработки корпоративных приложений, построенная на основе фреймворков Spring, Vaadin и других классных технологий с открытым исходным кодом. 

Ее использование позволяет абстрагироваться от многих сложностей фронтенд-разработки. Разработчикам не обязательно учить JavaScript/TS, погружаться в особенности популярных фронтенд-фреймворков, тренироваться в верстке, чтобы иметь возможность создавать полнофункциональные веб-приложения. Достаточно просто писать код на Java и немного компоновать экраны в XML. При разработке интерфейса для Jmix под капот уходят также некоторые механики, связанные с «перекладыванием джейсонов», что открывает дополнительные возможности для написания интерактивных веб-приложений с использованием готовых компонентов и дополнений. 

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

Читать далее

Лучшая система шаблонов в Go

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

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

В этой статье хочу поговорить про, пожалуй, мою самую любимую библиотеку для Go. Это Jet templates. Библиотека, которая очень упрощает работу с шаблонами(templates) в Go.

Читать далее

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

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

Если спросить веб-дизайнера и веб-разработчика, чем они занимаются, то с большой вероятностью оба скажут: «Делаю сайты». Слыша такой ответ, люди представляют себе скорее программиста, который пишет код и собирает сайт с нуля до последней кнопки. А как же веб-дизайнер? Он ведь тоже делает сайты, но только в другом ключе.

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

Читать далее

Как Google обрабатывает JavaScript в процессе индексации веб-страниц

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



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

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

Просто выберите Postgres

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

Отчасти это действенный совет, отчасти — вопрос к читателям.

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

Читать далее

Внедряем DevSecOps в процесс разработки. Часть 5. Этап Deploy-time Checks, обзор инструментов

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

Привет! На связи Олег Казаков из Spectr. 

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

Сегодня я расскажу о заключительном этапе DevSecOps — Deploy-time Checks. 

Узнать больше о DevSecOps

Стань мастером эффективности: открой для себя волшебный инструмент для массовой генерации кода и файлов

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

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

Читать далее

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