Обновить
385.2

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

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

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

Установка Laravel-приложений на хостинг с ispmanager

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

Дисклеймер: Я совсем не являюсь гуру PHP и Laravel. Но в этой статье на конкретных примерах расскажу, как развернуть веб приложение на базе Laravel framework на сайте под управлением панели ispmanager. Будет мало теории, но много практических шагов, командной строки, скриншотов, немного докера и компиляции кода.

Готовы? Поехали!

Читать далее

7 ошибок глобального рефакторинга и как их избежать

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

«Все снести и переписать нормально» — нередко именно такое желание возникает у разработчиков, когда дело касается legacy кода. Но стоит помнить, что далеко не всегда это верное решение. Очень часто попытки переписать код заново заканчиваются провалом — мне довелось видеть немало таких примеров. 

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

Читать далее

Spatium: цифровой завод в браузере или 3D в контексте клиент-серверных web приложений

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

Всем привет! Меня зовут Евгений, и сегодня я хочу рассказать о нашем 3D движке Spatium для рендеринга сводных моделей масштаба промышленного предприятия в браузере.

Материал может представлять интерес для разработчиков и пользователей BIM-систем, а также для инженеров и конструкторов, которые выполняют работы по проектированию 3D моделей, получению фотограмметрических моделей и облаков точек для таких систем.

Читать далее

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

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

Shopify Editions 2023 — крупное обновление в Шопифай

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

В этой статье вы узнаете, что добавилось в последнем крупном Shopify обновление под названием Shopify Edition Winter '23.

Читать далее

Асинхронные задачи с FastAPI и Celery

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

Если в приложении есть длительные процессы, то вместо того, чтобы блокировать основной поток, вы должны обрабатывать их в фоновом режиме.

Чтобы достичь этого, мы расскажем вам о процессе настройки Celery и Redis для обработки длительно выполняющихся процессов в приложении FastAPI. Мы также будем использовать Docker и Docker Compose, чтобы связать все воедино. Наконец, мы рассмотрим, как протестировать задачи Celery с помощью модульных (unit) и интеграционных тестов.

Читать далее

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

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

Статья о том, как я в 15 лет облегчил работу с электронным дневником, представленным Кировской области в 2022 году.

Что получилось сделать и как это было реализовано.

Читать далее

Асинхронность как основной подход к разработке высоконагруженных приложений

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

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

Читать далее

Качественно — значит долго? Как быстро создавать жизнеспособные MVP

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

Вопрос скорости и качества стоит в разработке особенно остро. Мы привыкли думать, что чем больше времени было потрачено на разработку продукта, тем лучше результат, и наоборот. Но так ли это на самом деле?

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

Читать далее

Как за 1,5 месяца создать сайт с нуля и подготовить его к нагрузкам ~230 000 пользователей в день? Кейс Финзачета

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

Привет, Хабр. Я — Влад Климанов, бэкенд-разработчик в ДАЛЕЕ. В декабре 2022 года мы запустили сайт Финзачета — самого массового зачета по финансовой грамотности в стране. Собрал в статью историю о том, как мы работали с проектом, основной особенностью которого был сжатый срок: всего 1,5 месяца для реализации сайта, который выдержит поток миллионов пользователей. Бонусом внутри немного статистики о финансовой грамотности

Читать далее

Загрузчик файлов для React

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

Пишем drag-and-drop загрузчик файлов для React приложения с помощью Context, подхода Compound components и нескольких кастомных хуков

Читать далее

Оптимизация бэкенда приложения с примерами на Symfony. Часть 2

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

Всех приветствую!

Это продолжение серии статей, где мы рассмотрим еще несколько методов, которые помогут улучшить производительность приложения. Мы поговорим о том, как использовать entity manager, unit of work, bulk inserts и batching processing для более эффективной работы с базой данных.

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

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

Читать далее

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

Переводим статический веб-сайт на языки мира при помощи Weblate

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

В данной статье мы расскажем как перевести статический веб-сайт с Markdown (Zola, Hugo, Jekyll, Pelican, Gatsby, и д.р.) на все языки мира и поддерживать переводы в актуальном состоянии при изменении исходных текстов.

Читать далее

Как я сделал SPA в два раза быстрее

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

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

Читать далее

Распознавание банковских карт в видеопотоке в браузере с помощью SmartEngines и WebAssembly

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

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

Дальше мы расскажем о том, как с помощью wasm-модуля от Smart Engines распознать номер банковской карты, просто поднеся её к веб-камере ноутбука.

Читать далее

UI-библиотеки для React

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

Современные фреймворки для разработки веб-приложений породили за собой разработку библиотек для них. Одним из самых популярных представителей является React. 

React — библиотека JavaScript с открытым кодом для фронтенда веб-приложений. Данный фреймворк отличается компонентной моделью, которая позволяет сохранять состояние и генерировать новые элементы пользовательского интерфейса.

Мы собрали пул UI-библиотек для React-проектов.

Читать далее

Как мы автоматизировали тестирование OpenStack с помощью Rally и Tempest

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

Всем привет, меня зовут Валентина! Уже около пяти лет я работаю в тестировании, из них более трех занимаюсь прожаркой OpenStack с помощью Tempest и Rally. Заметила, что в сети не так много информации об этих фреймворках. Пора это исправить.

В этой статье я расскажу, как мы в облачной платформе Selectel тестировали Octavia с помощью Tempest и Rally, с какими трудностями столкнулись, как преодолевали их и что в итоге получилось. Если интересно, добро пожаловать под кат!
Читать дальше →

Как сделать декларативный роутинг диалогов в Angular на примере Taiga UI

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

Привет! Я Дима, разработчик онлайн-бухгалтерии. Предлагаю на примере простой задачи разобрать два подхода к созданию модальных окон, связанных с url: императивный и декларативный.

Часто на фронтенде нужно открывать модальные окна по определенному пути. Из коробки ангуляр не предоставляет такой возможности, так же как и популярные ui-kit-библиотеки. И разработчики каждый раз ищут способ, как это сделать.

Читать далее

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

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

Всем привет! На связи Александр Разыграев, я разрабатываю модуль ESMP Metrica, а в свободное время преподаю web-разработку студентам в институте, также преподавал на курсах переподготовки.

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

Как решал эту проблему: если писали короткий пример, то брал паузу и ждал пока не успевающие перепишут код; если разрабатывали более длинный пример или одно большое приложение за занятие, то отправлял отдельный файл с кодом или весь проект приложения, например, архивом в чат или коммитами в git.

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

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

Читать далее

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