Обновить
512K+

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

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

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

Next.js Layout RFC. Изменить всё и сделать веб ещё быстрее

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

Nextjs — самый быстрорастущий фреймворк. После создания, в 2016 году, было выпущено уже 12 обновлений, каждое из которых называлось компанией “крупнейшим”. 25 октября Vercel (компания, владеющая Nextjs) представит новый, 13 релиз, который, конечно же, вновь станет “крупнейшим”. Тем не менее, в этой статье речь пойдёт не конкретно о нём, а о действительно новом для компании процессе.

В мае этого года Nextjs неожиданно выпустил в своём блоге RFC (request for comments). В нём речь идёт, в первую очередь, о новой абстракции — layouts, а также о множестве связанных изменений, нацеленных на ускорение, улучшение DX и стандартизацию путём создания новых конвенций. Это рабочее предложение однозначно заслуживает внимания в меру своей громоздкости для фреймворка и потому, что буквально описывает его будущий вид.

Читать далее

Работа с геоданными в Go: как обойти ограничения OpenStreetMaps

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

OpenStreetMaps — это Open Source продукт, в котором 9 млн человек со всего Интернета создают свободную карту мира. Также это бесплатная альтернатива Google Картам при коммерческой разработке. Главная проблема такого продукта в том, что его сложно оптимизировать, а данные могут размечаться по-разному.

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

Читать далее

React tips for faster development at scale

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

Впервые я познакомился с React в 2015 году и вот уже использую его можно сказать повседневно 7 лет. Бесчисленное количество компонентов было написано за это время, React из подающей надежды модной технологии вырос в серьезную библиотеку и по сути стал стандартом для написания веб приложений в 2022 году.


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



Скриншот официального сайта https://reactjs.org

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

Почему в вашем проекте не нужны Service Objects? Наводим порядок в коде

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

Привет! Я Олег Федоткин, Head of PaaS СберМаркета. Хочу поговорить про Service Objects: что с ними не так, почему от них стоит избавляться и как это сделать. 

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

Читать далее

Распространяй и властвуй: приглашаем на открытый Frontend Meetup

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

UPD: приложили запись докладов и слайды

Привет, Хабр ? Меня зовут Михаил Подгорный и я руковожу отделом Frontend платформы в Ozon. В нашей компании уже около 500 фронтенд-разработчиков, силами которых было создано более 400 веб-приложений. Мы пишем на TypeScript и Vue, шаблонизируем на JSX, для тестов используем Jest и Playwright. Контейнеризация через Docker, разворачиваем через GitLab и K8s, а следим за всем с помощью Grafana, Prometheus, Thanos, Graylog, Sentry и собственных решений.

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

Приглашаю в гости на открытый Frontend Meetup Ozon Tech, который состоится 27 октября в 18:00.

Читать далее

Чем занимается AppSec?

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

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

Читать далее

JavaScript: редко используемые, но полезные API

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


Привет, друзья!


В продолжение разговора, начатого в этой статье, хочу рассказать вам еще о некоторых API, которые редко встречаются в "дикой природе", но могут оказаться весьма полезными в "пограничных ситуациях":



Репозиторий с примерами.

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

Пишем надёжный и расширяемый код с помощью Union & pattern matching в TypeScript

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

Добрый день, Хабр! Меня зовут Иван Колотилов и я фронтенд-разработчик. Я разрабатываю современные веб-приложения, специализируюсь на финансовых продуктах, работал в финтех-стартапах. Сегодня я хочу рассказать о том, как писать надёжный и расширяемый код с помощью TypeScript на примере разработки прикладного сервиса.

Читать далее

Как сделать AMP версию всего сайта на 1С-Битрикс

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

Задача - сделать AMP версию всего сайта на 1С-Битрикс, чтобы содержание AMP страниц всегда соответствовало оригинальным и изменялось при изменении оригинальных.

Читать далее

Особенности разработки TWA в 2022 году

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

Настоящая статья поможет сэкономить время разработчиков и выбрать правильные инструменты для разработки TWA в 2022 году.

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

14 КБ это слишком много. Делаем сайты меньше 1 КБ

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

Минимализм хорош во всех отношениях. Во-первых, это красиво. Во-вторых, эффективно. Разница в скорости загрузки сайтов особенно заметна на фоне монструозных корпоративных приложений с мегабайтами скриптов, тормозящих практически на любом устройстве. Поразительно, что за годы компьютеры ускорились в десятки раз, а сайты грузятся медленнее, чем раньше (график на КДПВ за 2011–2019 гг, статистика по скорости от Httparchive.org). Только подумайте, на сколько же сайтам нужно жиреть каждый год, чтобы сохранить эти тормоза!

Известно, что для минимизации задержки важным рубежом является 14 КБ. Если ужать веб-страницу или её первую часть в меньший объём, загрузка сильно ускоряется из-за спецификации TCP, которая определяет максимальный размер пакета в 1500 байт (из них 1460 полезных) и алгоритма медленного старта TCP, ограниченного десятью пакетами.

Но 14 КБ — не предел оптимизации. Далеко не предел.
Читать дальше →

Unity WebGL + React

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

Всем привет. Меня зовут Григорий Дядиченко, и я технический продюсер. Сегодня хотелось поговорить про Unity, веб, как его дружить с мобильными телефонами, какие есть удобные трюки и приколы, и причём тут React. Если вам интересна тема веб проектов на Unity, добро пожаловать под кат!

Читать далее

«Я устал, я мухожук», или почему VK скатился

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

ВКонтакте - самая популярная русскоязычная социальная сеть. За прошедшие годы сайт пережил многое: сменил владельцев, несколько раз изменял дизайн, обрастал новыми сервисами и возможностями. Пока не оброс настолько, что пользоваться нормально им стало очень сложно. Этот пост о наболевшем, вопрос в пустоту, почему разработчики ВК делают то, что делают?

Читать далее

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

Как перестать велосипедить или 4 self-hosted сервиса для начинающего СТО

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

Я знаю многое о велосипедах в Enterprise-разработке. Видел издали, катался на них, собирал сам, но наступают моменты, когда типичные задачи пора перевести на типичные решения. В статье расскажу о 4 self-hosted сервисах, которые освобождают уйму времени на действительно важные вещи.

Слезть с велосипеда

React, я люблю тебя, но ты сводишь меня с ума

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


Привет, друзья!


Представляю вашему вниманию перевод этой статьи, вызывавшей определенный резонанс в сообществе React-разработчиков.


Дорогой React, мы встречаемся уже почти 10 лет. Мы прошли долгий путь вместе. Но ситуация вышла из-под контроля. Нам нужно поговорить.

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

Тестирование проектов в заказной разработке или «я не буду за это платить»

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

У нас в компании одновременно в работе бывает по десять новых проектов и еще множество на технической поддержке. Роль тестировщиков в этих процессах огромная и важная, но часто неоднозначная для заказчиков, особенно при обосновании стоимости работ.

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

Будет полезно, как с клиентской стороны, для общего понимания процессов, так и небольшим агентствам/командам, чтобы улучшить тестирование проектов.

Читать далее

Метод Flask flash() — Как передавать флэш-сообщения в Flask?

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

В этом уроке мы узнаем как передавать флэш-сообщения с помощью метода Flask flash().

Что означает передать флэш-сообщение?

Для GUI-приложений всегда полезно давать обратную связь пользователю на его действия.
То есть, например, в форме Flask, если пользователь оставляет поле пустым, то вполне уместно выдать ему сообщение об ошибке/информацию о том, что поле является обязательным для заполнения.

В графическом интерфейсе Python Tkinter для отображения сообщения используется месседж или диалоговое окно, а в Client-Side Scripting Language JavaScript (Клиентский язык сценариев JavaScript) это делается с помощью функции alert.
Также, во Flask у нас есть метод flash, позволяющий сделать именно это.

Читать далее

Как я подружил редакторов и разработчиков сайта на 1С-Битрикс при помощи VScode с Remote SSH

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

Особенность архитектуры 1С-Битрикс предполагает наличие контента как в базе (например: инфоблоки), так и непосредственно в статических файлах проекта.

Данный формат создавал проблемы при совместной работе над проектом редакторов, seoшников и разработчиков. Основная сложность в том, что нет разделения между сотрудниками отвечающие за контент и работающими только с базой через админку, и разработчиками работающими непосредственно с файлами и компонентами отвечающими за вывод на сайте.

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

Читать далее

Перезапуск Вебиума

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

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

Вебиум — онлайн-школа для подготовки к ЕГЭ. 30 тысяч школьников, тысяча наставников, 20 тысяч вопросов и 2 тысячи домашних заданий на сотни тем.

В 2021 году у Вебиума уже была рабочая система на Ruby, которую разрабатывали подрядчики-аутcорсеры. К нам они обратились с привычной проблемой — подрядчики медленно пилят фичи. Посмотрев код и оценив возможности команды, мы поняли, что рефакторить существующий код — долго и дорого, и решили перезапустить систему своими руками на привычном стеке — Django и Nuxt.js. Справились за год: с сентября 2022 все ученики покупают и проходят курсы в новой системе.

Перед нами стояли 3 задачи:

Читать далее

Как связать админку продукта и его базу знаний (и обойтись без доработок продукта)

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

Всем привет! Сталкивались ли вы с ситуацией, когда в вашей админке пользователям трудно интуитивно разобраться, возможности быстро исправить это нет, а существующую документацию по ней никто не читает? Знакомы ли вам частые вопросы вида "А как это настроить?" или "А можно ли сделать настройками X?", ответы на которые уже описаны?

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

Читать далее