Как стать автором
Обновить
352.65

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

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

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

Как мы в 4 раза ускорили мобильную версию ВКонтакте

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

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

Меня зовут Тарас Иванов, уже семь лет я развиваю фронтенд ВКонтакте, а сейчас руковожу командой, которая занимается производительностью и инфраструктурой. В статье я расскажу, как мы с командой ускорили загрузку m.vk.com в 4 раза, на какие метрики обращали внимание и какие сервисы использовали для оценки эффективности. Описанные способы и инструменты помогут повысить производительность в любом проекте: от многостраничных платформ с большим количеством legacy до свежих лаконичных лендингов. Актуально как для мобильной, так и десктопной версий.  

Читать далее
Всего голосов 13: ↑12 и ↓1+20
Комментарии12

Полезные расширения VScode для работы с документацией

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

Как правило, работа с документацией — это последний этап любого проекта, связанного с данными (data science, data visualization и т. д.), проектированием и разработкой ПО. Речь о создании и редактировании библиотек, файлов README, обучающих материалов и др. Среди всех преимуществ VScode — его уникальная экосистема расширений. И особенно впечатляют те, что помогают работать с документацией. В этой статье поделюсь самыми полезными из них.

Читать далее
Всего голосов 23: ↑21 и ↓2+20
Комментарии8

Капибара: открытый бета-тест

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

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

Проект прошел несколько этапов разработки, включая формирование функциональных требований, CJM, Список фичей, определение архитектуры, разработку и успешный альфа-тест, на котором были выявлены и устранены наиболее критичные проблемы. На данный момент "Капибара" входит в новый этап своего развития – открытый бета-тест. Этот этап является важной вехой на пути к полноценному запуску проекта. Открытие бета-теста дает возможность всем желающим присоединиться к сообществу, оценить ресурс и внести свой вклад в его развитие. Код проекта находится в открытом доступе, позволяя участникам вносить свои предложения и улучшения в качестве авторов, пользователей, тестировщиков и разработчиков.

История проекта

Проект "Капибара", как идея, был зарожден 24 июля 2023 года в ответ на объявление о ключевых изменениях на пикабу . Ответный пост прожил всего час перед удалением, но за это время собрал огромное количество комментариев поддержки и предложения помощи в создании нового портала. Сразу после объявления идеи был создан телеграмм-чат, в который за первые сутки пришло 3,5 тысячи человек, а через несколько дней число участников достигло 9 тысяч. Из этого числа была сформирована команда разработчиков. Основная концепция "Капибары" заключалась в создании портала с акцентом на честной саморегуляции контента пользователями, прозрачности алгоритмов и открытом исходном коде. Ввиду острой потребности авторов в площадке для публикации уникального контента, команда быстро создала телеграм-бота, который принимал посты пользователей и публиковал их в канале, где другие могли оценивать и комментировать их.

Читать далее
Всего голосов 26: ↑21 и ↓5+20
Комментарии73

Typescript: лучшие практики

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

Привет👋 В последние годы среди фронтенд разработчиков Typescript используется практически везде по умолчанию, начиная небольшими пет-проектами и заканчивая огромнейшими веб-приложениями. Однако, до сих пор на некоторых проектах можно встретить кучу any и Function. Давайте разберемся используете ли вы этот невероятно мощный инструмент правильно?

Читать далее
Всего голосов 22: ↑19 и ↓3+20
Комментарии27

Истории

Короче, кейс: как разработчика уволили. А он за 10 дней запустил свой простой продукт и вышел на $4K в месяц

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

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

Читать разбор кейса
Всего голосов 27: ↑20 и ↓7+20
Комментарии55

Гайд по микрофронтендам на single-spa, или Как уже наконец-то уйти от монолита во фронтенде

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

Привет, Хабр! Меня зовут Данил, я Frontend-разработчик в Samokat.tech. Недавно мы с командой распилили монолит на Angular и перешли к микрофронтендам на Vue. 

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

Читать далее
Всего голосов 19: ↑18 и ↓1+20
Комментарии18

Безопасность веб-приложений для самых маленьких фронтов

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

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

Статья подготовлена по материалам внутреннего митапа по информационной безопасности.

Читать далее
Всего голосов 19: ↑18 и ↓1+19
Комментарии7

Классифицируем клиент-серверное взаимодействие от А до Kafka

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

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

Читать далее
Всего голосов 22: ↑20 и ↓2+19
Комментарии3

Руководство по Next.js. 1/3

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


Hello world!


Представляю вашему вниманию первую часть обновленного руководства по Next.js.



На мой взгляд, Next.js — это лучший на сегодняшний день инструмент для разработки веб-приложений.


Предполагается, что вы хорошо знаете JavaScript и React, а также хотя бы поверхностно знакомы с Node.js.


Обратите внимание: руководство актуально для Next.js версии 14.


При подготовке руководства я опирался в основном на официальную документацию, но в "отсебятине" мог и приврать (или просто очепятаться) 😁 При обнаружении подобного не стесняйтесь писать в личку 😉


Парочка полезных ссылок:


Читать дальше →
Всего голосов 16: ↑15 и ↓1+19
Комментарии2

Автоматизируем проверку орфографии: как написать спелл-чекер для сайта с документацией: bash, Python, контейнеры и *nix

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

У нас во «Фланте» инженеры работают еще и с технической документацией. При этом многие термины, например, относящиеся к Kubernetes, пишут по-разному: кто-то использует сленг, кто-то — латиницу, а кто-то — кириллицу. Чтобы навести порядок в терминологии, а заодно и исправлять опечатки, мы решили создать спелл-чекера и автоматизировать проверку орфографии.

В этой статье мы расскажем, как проходила настройка спелл-чекера для сайта werf, сгенерированного внутри Docker-контейнера, и что получилось в итоге. Пройдёмся по всем этапам создания этого инструмента, а также разберём проблемы, которые могут усложнить настройку автоматической проверки орфографии.

Читать далее
Всего голосов 18: ↑18 и ↓0+19
Комментарии4

Web Application and API Protection (WAAP): эволюция WAF (Web Application Firewall)

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

WAAP (Web Application and API Protection) является брандмауэром веб-приложений следующего поколения WAF (Web Application Firewall). Термин впервые начал использовать Gartner для описания защиты современных, постоянно меняющихся web-сервисов. Так как в мире CI/CD, динамики и API first компаний, функций традиционного WAF (Web Application Firewall) уже недостаточно.

WAAP - это совокупность методов и технологий, которые используются для защиты веб-приложений и сервисов от атак и уязвимостей. WAAP включает в себя технологии, такие как WAF-NG, сканер уязвимостей, автоматическое обнаружение и блокирование атак 0-дня (в том числе с помощью виртуального патчинга), выявление аномалий с помощью технологий Machine Learning и смарт-капчи.

Читать далее
Всего голосов 21: ↑16 и ↓5+19
Комментарии4

Как писать более чистый CSS: дюжина советов от банальных до неочевидных

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

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

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

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии16

Как мы работаем с ресурсами в веб-приложениях

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

Приложения, созданные на платформе 1С:Предприятие, могут быть развернуты в трёхзвенной архитектуре (Клиент – Сервер приложений – СУБД). Клиентская часть приложения может работать, в частности, как веб-клиент, в браузере. Веб-клиент – это довольно сложный фреймворк на JavaScript, отвечающий за отображение пользовательского интерфейса и исполнение клиентского кода на встроенном языке. Одна из задач, которая стояла перед нами в ходе разработки веб-клиента – это корректная работа с различного рода ресурсами (в первую очередь – их своевременное освобождение).

Мы провели анализ существующих подходов и хотим рассказать вам об этом. Добро пожаловать под кат!

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии8

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

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

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

Запустили сайт HomeBro, который ищет квартиры сразу на всех топовых сайтах объявлений. Все предложения по недвижке на одной карте + уведомления о новых вариантах в телегу.

Читать далее
Всего голосов 25: ↑21 и ↓4+19
Комментарии59

Путь веб-мастера в системный анализ: инструменты, кейсы, мысли вслух

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

Приветствую, уважаемый коллектив Хабр!

В данной статье будет рассмотрен ряд вопросов, включая насущный «насколько далек веб-мастер в начале своего пути от системного аналитика?» и «факторы, способствующие развитию и трансформации в IT-сфере».

Свой путь в IT начал еще с юношеского возраста в 2003 году с разработки первых веб-сайтов на HTML еще во времена популярности narod.ru. Прошел путь разработки более, чем в 100+ веб-проектов, работал инженером сервисной службы, инженером-конструктором в КБ «Салют», прошел путь от первой линии технической поддержки до сетевого инженера и далее до руководителя отдела автоматизации.

Давайте обо всем по порядку.

Читать далее
Всего голосов 23: ↑21 и ↓2+19
Комментарии4

Организация кода в Laravel. Личный опыт

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

Hola Amigos! На связи Евгений Шмулевский, PHP-разработчик в Amiga. Начал заниматься программированием с 2001 года, привет Basic и Express/Turbo Pascal. Веб-разработкой — с 2011 года, а профессионально в вебе с 2013 года. Работал продолжительное время с Битрикс, а с 2018 начал осваивать Laravel. 

Читать далее
Всего голосов 18: ↑16 и ↓2+19
Комментарии29

Руководство по Next.js. 2/3

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


Hello world!


Представляю вашему вниманию вторую часть обновленного руководства по Next.js.



На мой взгляд, Next.js — это лучший на сегодняшний день инструмент для разработки веб-приложений.


Предполагается, что вы хорошо знаете JavaScript и React, а также хотя бы поверхностно знакомы с Node.js.


Обратите внимание: руководство актуально для Next.js версии 14.


При подготовке руководства я опирался в основном на официальную документацию, но в "отсебятине" мог и приврать (или просто очепятаться) 😁 При обнаружении подобного не стесняйтесь писать в личку 😉


Парочка полезных ссылок:


Читать дальше →
Всего голосов 12: ↑11 и ↓1+18
Комментарии3

Девять типов программистов в 2024 году

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

О программисты! Костяк цифровой эры, незримые прядильщики нашей онлайн-вселенной. Боковая ветвь человекообразных приматов, связанных тесными родственными узами с Homo Sapiens. Отличаются плохой осанкой, лёгкой степенью мизантропии и способностью решить любую проблему, заглянув в Google. Это густонаселённое племя пестрит восхитительным разнообразием, которое чётко прослеживается в стилях программирования и личностных характеристиках.

Читать далее
Всего голосов 40: ↑26 и ↓14+18
Комментарии14

Защищаем сервис от перегрузки с помощью HAProxy

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

Если вам доводилось использовать HAProxy для балансировки трафика, вы наверняка как минимум слышали, что этот продукт умеет отслеживать показатели активности сервиса и пользователей и реагировать на них по предопределённым условиям. Обычно в статьях на эту тему приводится пример ограничения пользователя по исходному IP-адресу, если частота запросов с него превышает некоторый предопределённый заранее лимит. Вот, к примеру, такая статья с сайта разработчиков.

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

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии0

Я полностью слеп и я сам себе техподдержка

Время на прочтение5 мин
Количество просмотров6.8K
Я пользуюсь Интернетом уже 20 лет. Думаю, примерно в 2004 году, у меня наконец-то на семейном компьютере была установлена нормальная программа для чтения с экрана. Я не так долго наблюдал, чем у некоторые, но все же это позволило мне увидеть некоторые радикальные изменения, произошедшие с разработкой программного обеспечения, доступностью и большими технологиями.

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

Десять лет назад (я взял эту цифру с потолка, но я думаю, что она точна) это все еще было в какой-то степени верно, но чтобы компенсировать это, агенты обычно имели определенный уровень прозрачности и контроля над системами, которые они поддерживали, и некоторые возможности, которых нет у пользователей. Сейчас часто кажется, что служба поддержки существует только для того, чтобы делать то же самое, что мы уже можем делать с веб-сайта или приложения.
Читать дальше →
Всего голосов 26: ↑19 и ↓7+18
Комментарии11

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