Обновить
467.7

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

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

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

Обновление Laravel 11.34: Fluent-запросы и новые возможности

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

На этой неделе команда Laravel выпустила версию 11.34, представив новые возможности, такие как метод Request::fluent(), хелпер Number::spellOrdinal() для преобразования чисел в порядковые слова, условное определение маршрутов, сокращенные методы для фейковых HTTP-ответов и многое другое.

Читать далее

Pushy на пределе: рост и развитие WebSocket-прокси Netflix

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

Pushy — это WebSocket‑сервер Netflix, который поддерживает долговременные WebSocket‑соединения с устройствами, на которых работает приложение Netflix. Благодаря этому данные с бэкенд‑сервисов можно отправлять на устройства по мере необходимости. При таком подходе нет нужды в постоянного опроса сервисов устройствами. За последние несколько лет Pushy пережил огромный рост, превратившись из сервиса для негарантированной доставки сообщений в неотъемлемую часть экосистемы Netflix. В этом материале вы узнаете о том, как мы развивали и масштабировали сервер Pushy, стремясь к тому, чтобы он хорошо справлялся со своими текущими обязанностями, и к тому, чтобы подготовить его к будущим нагрузкам. Он поддерживает сотни миллионов одновременных WebSocket‑подключений, доставляет адресатам сотни тысяч сообщений в секунду и удерживает стабильный уровень надёжности доставки сообщений в 99,999%.

Читать далее

Призываю переименовать Layers в Feature-Sliced Design методологии

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

В статье я сначала коротко объясню, как лично я понимаю и использую FSD, для тех, кто не знаком с ней, или знаком, но хочет сравнить с чужим видением.

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

Читать далее

OpenShift: улучшенный Kubernetes или переплата за техподдержку?

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

Привет, Хабр! В прошлых постах мы разобрали особенности Docker на разных системах и его не менее интересного собрата Podman от Red Hat. Сегодня поговорим о ещё одном творении той же компании — OpenShift, который позиционируется, как "корпоративная" версия Kubernetes. Но так ли всё радужно, как рассказывают на презентациях?

Читать далее

Зачем нужен сертифицированный WAF и когда его стоит использовать? Обзор и настройка файрвола веб-приложений

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

Привет, Хабр! Меня зовут Иван Коробов, я ведущий инженер по информационной безопасности в Selectel. В этой статье познакомимся с WAF: узнаем, что это такое и в каких случаях его применение обязательно. Также разберемся, как этот инструмент использовать с продуктами Selectel.
Читать дальше →

JavaScript. Как сделать невероятно быстрый многопоточный Data Grid на 1 000 000 строк. Часть 1/2: нюансы работы с DOM

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

Demo | GitHub

Особенности Fast Data Grid:
— Невероятно быстрый
— Многопоточный
— Всего 523 строчки кода
— Нет зависимостей
— Vanilla JavaScript

Попробуйте скролл и поиск по 1 000 000 строк — Fast Data Grid.

В статье перечислю нюансы работы с DOM. Про многопоточность в следующей статье.

Читать далее

Как мы увеличили выручку и рост посетителей в ~1,5 раза, разработав для Гриль №1 новый сайт и приложение

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

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

Читать далее

Как работает bytearray в Python? Смотрим реализацию на C

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

Привет! Меня зовут Никита Соболев, я core-разработчик языка программирования CPython, а так же автор серии видео про его устройство.

Сегодня я хочу рассказать, как bytearray устроен внутри.

Под катом будет про: интересные оптимизации, разные аллокаторы в CPython, C pointer math, детали устройства данной структуры данных.

Если вам такое интересно или целиком незнакомо – добро пожаловать!

Читать далее

Go отлаживать на проде, избавляться от хардкода и переходить на Ginkgo/Gomega: доклады для гоферов

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

Что делать, если сервис на проде внезапно лег, а куда копать — непонятно. Знакомая ситуация? Запускать отладчик ой как страшно, но иногда это единственное решение. Как подготовиться и избежать фиаско? Несколько полезных советов дал ведущий инженер в платформе. А еще в нашей подборке — хардкор без хардкода на платформенном сервисе с CEL в конфиге и осознанный, но безболезненный переход на Ginko/Gomega для смелых Go-тестировщиков.

Читать далее

Как заставить ИИ на базе LLM писать полноценные приложения на HTML + CSS + JavaScript

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

Вы хотите создавать веб-приложения и игры при помощи голосовых сообщений Телеграм боту?

Тогда читайте эту статью и вы можете даже поиграть в игру, созданную ИИ ;)

Читать далее

Работа с куки-файлами хуже сапёрного дела

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

Если в этом посте вам в основном интересно, как что ломается, сразу можете переходить к последнему разделу.

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

Читать далее

Книга: «Рецепты TypeScript»

Время на прочтение6 мин
Охват и читатели4K
image Привет, Хаброжители!

«Рецепты TypeScript» Стефана Баумгартнера – книга из серии «книг рецептов» O’Reilly. Такое название серии объясняется структурой этих книг: вместо бесконечных теоретических выкладок, сквозь которые продираться не то что нелегко, а попросту скучно, авторы предлагают погружаться в материал через «рецепты» – примеры реальных задач, которые сопровождаются лаконичными и понятными решениями и их подробным обсуждением – того, как автор к ним пришёл и почему они являются действенными. В этот ряд «поваренных книг» вписывается и та, о которой мы поговорим сегодня.
Читать дальше →

«Безумный» CSS квиз от гика

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


Хабр, привет! Я стабильно пишу здесь о CSS. Мне радостно, что моя работа вам полезна. Только я немного заскучал. Мне хочется повеселиться и отвести душу. В общем, я придумал новый формат статей в виде квиза.


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


Конечно, я оставлю своё решение для каждого вопроса. Будет классно, если вы тоже добавите своё в комментариях. Я тоже хочу учиться. Давайте вместе увидим, каким может быть CSS.


Так, вы готовы? Давайте посмотрим, что я вам подготовил.

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

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

Воспоминания о GeoCities, предтече социальных сетей из 1990-х годов

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

Если в 90-е годы вам приходилось пользоваться интернетом, возможно, вы помните сайты на домене GeoCities. Это популярный веб-хостинг, действовавший в США с 1994 по 2009 год включительно. В Японии он и вовсе продержался вплоть до 2019 года. На пике популярности хостинг GeoCities обслуживал десятки миллионов персональных сайтов. В сегодняшней статье мы кратко пройдемся по истории компании и в заключение посмотрим на наиболее «характерные» сайты ушедшей эпохи 90-х.

Читать далее

Вышел TypeScript 5.7

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

Сегодня мы рады сообщить о выходе TypeScript 5.7!

Если вы не знакомы с TypeScript, то это язык, который развивает JavaScript, добавляя синтаксис для деклараций типов и аннотаций. Этот синтаксис может быть использован компилятором TypeScript для проверки типов нашего кода, а также может быть удален для создания чистого, идиоматического JavaScript-кода. Проверка типов полезна тем, что позволяет заранее выявить ошибки в нашем коде, но добавление типов в код также делает его более читаемым и позволяет таким инструментам, как редакторы кода, предоставлять нам такие мощные возможности, как автозавершение, рефакторинг, поиск всех ссылок и многое другое. TypeScript является надмножеством JavaScript, поэтому любой правильный код JavaScript также является правильным кодом TypeScript, и если вы пишете JavaScript в редакторе, таком как Visual Studio или VS Code, TypeScript также является основой вашего опыта работы с редактором JavaScript! Вы можете узнать больше о TypeScript на нашем сайте typescriptlang.org.

Читать далее

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

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

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

В этой третьей части серии вы узнаете, как:

Работать с несколькими таблицами с взаимосвязанной информацией в базе данных
Создавать связи «один ко многим» в базе данных
Управлять связями с помощью SQLAlchemy
Сериализовать сложные схемы данных со связями с помощью Marshmallow
Отображать связанные объекты в клиентском интерфейсе

Читать далее

Observable – удобный state-manager

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

Я вас понимаю. Да – еще один. Но давайте посмотрим, вдруг правда?

Давайте определимся с тем, что такое удобно. Конечно, у нас разные представления об удобстве, поэтому я опишу свои с примерами из api react:

Читать далее

Разработка Task Manager с нуля до полнофункционального продукта

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

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

Мы пройдём весь путь — от установки необходимых инструментов и настройки окружения до разработки интерфейса и деплоя приложения на сервере. Каждый этап будет сопровождаться объяснениями и примерами кода, которые вы сможете найти в репозитории на GitHub.

Читать далее

Упрощаем CSS-анимации с помощью свойств display и размеров элемента

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

До недавнего времени далеко не все свойства CSS можно было анимировать. Например, чтобы создать эффект плавного появления или исчезновения элемента, приходилось использовать свойство opacity, а не display, поскольку display нельзя было анимировать. А проблема в том, что визуально скрытый элемент всё же оставался на странице.

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

Читать далее

5 полезных фреймворков и библиотек для начинающего фронтенд-разработчика на конец 2024 года

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

Привет, Хабр! Это Саша Раднаев, фронтенд-разработчик в МТС Диджитал. Сегодня поговорим о фронтенде и тех инструментах, которые делают работу специалистов более эффективной. Я бы сказал, что подборка рассчитана на начинающих, но, возможно, и те, кто уже давно в теме, найдут для себя что-то интересное. Было бы отлично, если бы вы делились собственными находками в комментариях. Поехали!

Читать далее

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