Pull to refresh
5
0
Антонина Листопадова @AntoninaList

Frontend

Send message

Цикл жизни дизайн-систем

Level of difficultyEasy
Reading time9 min
Views2.7K

Цикл жизни системы можно изобразить в виде условной параболы, где в начале находится ничто, либо более примитивная система. Вас позвали сделать дизайн-систему в компании? С чистого листа не начнёте, всегда есть что-то в начале: брендбук, старый ui-kit сделанный вашими предшественниками, наработки интерфейсов, или устаревшее легаси. А также есть вы, как источник силы для всех будущих изменений. С этим вы и начинаете.

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments0

ИБ-аудит в финансовых организациях: что надо знать, чтобы не провалить или не затянуть

Level of difficultyMedium
Reading time11 min
Views3.6K

Привет! На связи Департамент консалтинга и аудита информационной безопасности Бастион. Не ожидали? А мы вот решили написать пост, потому что есть желание поделиться полезной информацией. Дело в том, что иногда мы выступаем в качестве внешних ИБ-аудиторов различных организаций, в том числе финансовых. И в последних мы часто сталкиваемся с почти полным отсутствием подготовки к проверке, а ведь это может повлечь за собой штрафы и всевозможные финансово-репутационные потери. Поэтому мы решили отсыпать немного лайфхаков тем из вас, кто занимается информационной безопасностью в финансовых организациях. Статья может быть интересной и другим читателям, интересующимся безопасностью в компаниях из финансового сектора.

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments2

Разбираем HTTP/2 по байтам

Level of difficultyMedium
Reading time24 min
Views34K

image


Откройте любую статью с обзором HTTP/1.1. Скорее всего, там найдётся хотя бы один пример запроса и ответа, допустим, такие:


GET / HTTP/1.1
Host: localhost

HTTP/1.1 200 OK
Date: Sat, 09 Oct 2010 14:28:02 GMT
Server: Apache
Content-Length: 38
Content-Type: text/html; charset=utf-8

<!DOCTYPE html>
<h1>Привет!</h1>

Теперь откройте статью с обзором HTTP/2 или HTTP/3. Вы узнаете о мультиплексировании запросов, о сжатии заголовков, о поддержке push-технологий, но вряд ли увидите хоть одно конкретное сообщение. Ясно, почему так: HTTP/1.1 — текстовый протокол, тогда как сиквелы к нему бинарные. Это очевидное изменение открывает дорогу ко множеству оптимизаций, но упраздняет возможность просто и доступно записать сообщения.


Поэтому в этой статье предлагаю покопаться в кишках у HTTP/2: разобрать алгоритмы установки соединения, формат кадров, примеры взаимодействия клиента с сервером.

Читать дальше →
Total votes 115: ↑115 and ↓0+115
Comments45

Делаем классные проекты, а кейсы получаются унылые. В чем проблема?

Level of difficultyEasy
Reading time7 min
Views1.6K

Рассказываю о 8 причинах, почему в рассказах о работе не выходит показать, какие вы на самом деле классные и профессиональные.

Читать далее
Total votes 7: ↑2 and ↓5-1
Comments2

MVP – как сделать его круто

Level of difficultyEasy
Reading time8 min
Views7.5K

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

Что нужно делать, чтобы получилось MVP – тема не новая. Я же хочу порассуждать о том, КАК делать MVP, чтобы получилось одновременно результативно и недорого.
Приглашаю об этом почитать.

Читать далее
Total votes 18: ↑17 and ↓1+22
Comments3

Продвижение IT-продуктов – как привлекать пользователей

Level of difficultyEasy
Reading time7 min
Views4.9K

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

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

Читать далее
Total votes 15: ↑9 and ↓6+5
Comments2

13 вопросов для собеседования, на которые должен знать ответы каждый продакт

Level of difficultyEasy
Reading time16 min
Views12K

Кому будет полезна статья?

Middle и junior продактам — позволит найти свои зоны роста, а также подготовиться к собеседованиям в топовые IT компании.

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

Нанимающим менеджерам — поможет составить требования к вакансии продакта и провести интервью.

Читать далее
Total votes 14: ↑7 and ↓7+4
Comments8

5 интеграций в React: Контент + Дизайн + Разработка

Level of difficultyMedium
Reading time18 min
Views5K

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

В статье я продемонстрирую, как решить три задачи, связанные с интеграциями в React приложении:

1. Изменять контент страницы на React без необходимости привлечения разработчика;

2. Расширять функционал React приложения с помощью сторонних сервисов;

3. Создавать страницы с минимальными затратами на разработку.

Читать далее
Rating0
Comments0

Когда руководитель у нас может сам прийти к вам с повышением зарплаты

Level of difficultyEasy
Reading time5 min
Views5.8K
image

Представим, что ваше желание уволиться можно описать одним числом. Что будет влиять на него? Понятно, соответствие зарплаты ожиданиям. Потом — ваш комфорт в коллективе, адекватность руководителя. Расстояние до офиса, если вы ездите в офис, или до ЦОДа, если вы ездите в ЦОД, возраст, срок последнего повышения и так далее.

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

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

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

И знаете что? Наша модель начала предсказывать увольнения за 3 месяца с точностью около 70%. В смысле, из тех, кого модель разметила на месяц вперёд подтвердилось 73% случаев (точность), при этом модель находит 40% от всех увольнений (полнота).

Теперь мы можем с этим что-то делать.

Естественно, у этой модели огромное количество ограничений. Сейчас мы с DVAMM про всё это расскажем.
Читать дальше →
Total votes 22: ↑17 and ↓5+16
Comments14

Как мемоизация влияет на производительность React-приложения

Reading time11 min
Views9.3K

Почему необдуманное ковровое покрытие проекта мемоизацией хуже, чем её полное отсутствие? Мемоизация не дешёвая! Она замедляет TTI проекта, поэтому её необдуманное использование может навредить. Давайте разберём пять принципов оптимизации и посмотрим, когда от мемоизации будет реальный профит, а когда от её использования лучше воздержаться.

Привет, Хабр! Меня зовут Нугзар Гагулия. У меня 10 лет коммерческого опыта в компаниях различного масштаба, в том числе в Яндекс и Альфа-банк. Я выступаю на Google I/O и Google Dev Fest, пишу статьи на Хабре, контрибьючу и менторю. Эта статья написана по мотивам моего доклада для FrontendConf 2022. Чтобы найти и задать вопросы об этой и других статьях, меня легко можно найти по нику NookieGrey в соцсетях и Телеграм. Я с удовольствием на них отвечу.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments1

Как построить систему, способную выдерживать нагрузку в 5 млн rps

Level of difficultyMedium
Reading time12 min
Views52K

Всем привет! 

Меня зовут Владимир Олохтонов, я руковожу командой разработки в отделе Message Bus, который является частью платформы Ozon. Мы занимаемся разработкой самых разных систем вокруг Kafka, etcd и Vault. В этой статье я расскажу о том, как мы строили линейно масштабируемую gRPC-прокси перед Kafka, способную обслуживать миллионы запросов в секунду, используя Go.

Читать далее
Total votes 102: ↑99 and ↓3+108
Comments58

Как утечки данных делают атаки на вашу компанию в 10 раз опаснее и как от них защититься

Reading time9 min
Views3K

Только за первое полугодие 2022 года в России утекло 187 миллионов записей персональных данных. Во всем мире каждый год их утекает до 15 миллиардов. Но даже если утечки случились не у вас, компания все равно может быть под угрозой. 

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

А что дальше?
Total votes 3: ↑3 and ↓0+3
Comments0

Автоматизация бизнес-процессов — стресс для компании

Level of difficultyEasy
Reading time7 min
Views4.1K

Когда в СССР организации стали переводить на электрические калькуляторы (которые от розетки), бухгалтеры, сметчики и плановики никак не могли уйти от своих больших деревянных счёт: им казалось, что машина непременно ошибётся и за ней нужно перепроверять. Когда у них на столах появились электронные CITIZEN, они оценили удобство лёгкого беспроводного устройства и не протестовали. А вот ПК с 1С на борту вызвали едва ли не революцию. Молодые мгновенно оценили все плюсы, а старая гвардия раскололась на три части: одни шли учиться и въедливо мучили внедренцев, вторые упёрлись и решили стоять на ручном труде до последнего, третьи просто-напросто уходили на пенсию или искали работу, не связанную с компьютерами. Как ни странно, привычка до конца так и не сформировалась: и сейчас в командах компаний можно найти противников корпоративного ПО, не умеющих в нём работать, причём и 1985, и 1990, и даже 1993 годов рождения. Для них любая новая рабочая программа — источник стресса, особенно если задевается их непосредственная работа (например, автоматизируются процессы).  

Читать далее
Total votes 13: ↑11 and ↓2+19
Comments11

Компонентный подход в вёрстке: подробный разбор для джунов и сочувствующих

Level of difficultyMedium
Reading time14 min
Views13K

Зачем использовать в вёрстке компонентный подход? Разбираемся, как и зачем верстать интерфейсы, используя этот подход, какие параметры и проблемы важно учесть. Разберём азы, забежим вперёд и подробно погрузимся в тему. Кстати, эта статья написана на основе одного из уроков курса «Профессиональная вёрстка на HTML и CSS» Яндекс Практикума. 

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments1

Моделирование микросервисов. Часть 2

Level of difficultyHard
Reading time11 min
Views9.9K

Предметно-ориентированный подход (DDD, Domain-Driven Design) в проектировании программного обеспечения является наиболее эффективным способом моделирования бизнес-процессов. Сегодня мы поговорим о стратегическом и тактическом проектировании, после чего рассмотрим инструмент ускорения проектирования под названием «событийный штурм» (event storming).

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments2

Моделирование микросервисов. Часть 1

Level of difficultyMedium
Reading time5 min
Views16K

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

Читать далее
Total votes 8: ↑5 and ↓3+4
Comments4

TestOps: инструмент сбора метрик и визуализации в Grafana

Level of difficultyEasy
Reading time9 min
Views3.9K
Нам с командой надо было сделать инструмент сбора и визуализации метрик. Мы его создали и хотим поделиться своими наработками, возможно, они будут полезны и для ваших проектов. Собственно, о них — ниже.

image

У нас каждый день запускается больше 1 500 автотестов. Их-то нам и надо мониторить и анализировать в удобном и понятном виде. Есть ReportPortal, помогающий узнать причину падения и завести задачу в Jira (или в другой системе с API), но, к сожалению, он довольно тяжёлый, встроенные инструменты для анализа скудные, а историчность хранится всего несколько недель. Но у него есть отличный API, которым мы и будем пользоваться.

Как итог возникла необходимость в создании инструмента для мониторинга, анализа и оптимизации автотестов, который можно легко адаптировать под потребности бизнеса при минимальных затратах.
Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments6

Асинхронность в JS: как выполнять долгие сетевые запросы без блокирования основного потока

Level of difficultyMedium
Reading time9 min
Views9.9K

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

Читать далее
Total votes 1: ↑0 and ↓1-1
Comments8

React Content Elements

Level of difficultyMedium
Reading time8 min
Views2.8K

Примечание: авторский перевод статьи Web Content Elements

В HTML разработке мы используем тег в качестве дескриминатора - тег определяет элемент. Мы используем классы, чтобы применять стили к HTML элементам. Разработчик создает структуру и описывает стили руководствуясь правилами конкретного проекта, своим опытом и общепринятыми рекомендациями.

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

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

Web Content Elements(WCE) - это концепция, шаблон проектирования, который позволяет описать любые решения подобного рода линейно и однообразно.

Согласно WCE, тег - это переменная для генерации синтаксической структуры элемента разметки.

Основная идея паттерна заключается в группировке элементов по роли, которую они представляют на странице.

? Элементы сгруппированы по их ролям на странице, а не тегам.

Основные роли:

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments4

Решение проблемы N+1 запроса с помощью группировки вызовов

Level of difficultyEasy
Reading time8 min
Views3.9K

Проблема N+1 запросов

Проблема N + 1 возникает, когда фреймворк доступа к данным выполняет N дополнительных SQL-запросов для получения тех же данных, которые можно получить при выполнении одного SQL-запроса.

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

Читать далее
Total votes 2: ↑1 and ↓10
Comments11
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity