Pull to refresh
2
0
Константин @ConstOrVar

Разработчик мобильных приложений

Send message

Проектирование Sequence-диаграмм: руководство для системных аналитиков

Level of difficultyMedium
Reading time14 min
Views5.1K

Привет, коллеги! Меня зовут Юля, я системный аналитик в компании EvApps.

Сегодня поговорим о sequence-диаграммах (диаграммы последовательности) – одном из способов моделирования взаимодействий между объектами в системе. В этой статье мы рассмотрим преимущества использования sequence-диаграмм, типичные ошибки при их создании, а также пример их проектирования. Ключевая идея – показать мыслительный процесс, а не просто шаблонное описание. Статья будет полезна прежде всего системным аналитикам, а также тем, кто участвует в проектировании и разработке программного обеспечения.

Читать далее

Что не пишут в документации Kotlin Contracts: тёмные закоулки и пасхалки

Level of difficultyHard
Reading time9 min
Views1.8K

Контракты в Kotlin — это «тёмная лошадка» языка — они загадочные и чуть-чуть магические. И под капотом у них спрятано гораздо больше, чем можно найти в официальной документации.

Привет! Меня зовут Виталий. Я работаю Android‑разработчиком в Альфа‑Банке. В этой статье я делюсь пасхалками и неожиданными фичами Kotlin компилятора, связанными с Kotlin Contracts: как парсится список эффектов, как работает новый Contracts API изнутри, и почему, чёрт возьми, на уровне компилятора можно использовать контракты не только на уровне функций.

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

Читать далее

За кулисами атак: социальная инженерия

Level of difficultyEasy
Reading time6 min
Views4.3K

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

Читать далее

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

Level of difficultyEasy
Reading time4 min
Views7K

Привет! Это команда курса «Аналитик данных» в Яндекс Практикуме. Собрали подборку полезных ресурсов для тех, кто только начинает осваивать визуализацию данных или хочет расширить арсенал инструментов и источников вдохновения. Здесь вы найдёте книги, статьи, онлайн-ресурсы и телеграм-каналы, которые помогут разобраться, как правильно, наглядно и красиво представлять данные.

Читать далее

Подмена входящего трафика: скрытые, но крайне полезные фичи браузера Chrome

Level of difficultyMedium
Reading time6 min
Views11K

Всем доброго дня! Я Святослав Ященко, работаю в СберТехе, лидирую команду QA Platform V Kintsugi — это графическая консоль для сопровождения PostgreSQL и Postgres-like СУБД. Развивается вместе с СУБД Pangolin — целевой в Сбере и не только.

У нашего продукта микросервисная архитектура и Web UI. Часто при тестировании фронтенда я имею дело с ещё не дописанной функциональностью API, или же с ситуациями, когда в контракте API есть расхождения с ожиданиями фронтенда.

Хорошо, когда можно заносить моки в окружение или использовать снифферы с возможностью подмены трафика. Но, по разным причинам, не всегда бывает такая возможность. Что остаётся? Ждать, пока разработчик приведёт API в порядок? Но ведь фронтенд-часть готова уже сейчас и ждёт своего тестировщика...

Решение нашлось под рукой — в моём браузере Chrome. Если вы пользуетесь Chrome, то, вероятно, открываете DevTools. Чаще всего нам хватает вкладок Elements, Console, Network и Application. Но так ли прост DevTools? С этой статьи я начинаю цикл коротких руководств, посвящённых скрытым, но крайне полезным фичам Chrome. И начну с подмены входящего трафика.

Прошу под кат.

Читать далее

Загадка от Жака Фреско: как построить свой Rate Limiter и не утонуть в море компромиссов

Level of difficultyMedium
Reading time12 min
Views1.7K

Построить Rate Limiter — легко. Сделать его быстрым, отказоустойчивым и работающим в нескольких дата-центрах — сложнее. Делюсь опытом реализации нашего облачного Rate Limiter в DDoS-Guard: принцип работы, анализ правил и реальные примеры из практики.

Читать далее

Красивый GitLab CI: extends, якоря, include, trigger

Level of difficultyMedium
Reading time9 min
Views10K
image

В последнее время мне довелось столкнуться с огромным количеством CI в GitLab. Я каждый день писал свои и читал чужие конфиги. Мой день буквально выглядел как:
Читать дальше →

Ошибки молодого лида: что меняется, когда у тебя появляется команда

Level of difficultyEasy
Reading time11 min
Views14K

Привет, меня зовут Галя Ширанкова и я product unit lead в Авито. Я работала во многих больших компаниях — Ланит, Т1, МТС, ВК — и полученный опыт позволил мне увидеть, какие ошибки совершают лиды, особенно в начале карьеры. В статье рассказываю, с чем сталкиваются на своём пути начинающие тимлиды, и даю советы, как справляться с этими сложностями. Материал будет полезен тем, кто только стал лидом, планирует карьерный рост или управляет молодыми лидами — отвечает за их онбординг и растит сотрудников на новой позиции.

Читать далее

Федеративные возможности YDB: масштабируем разработку вместе со студентами

Reading time13 min
Views4.9K

YDB — это разработанная в Яндексе распределённая СУБД с открытым исходным кодом, предназначенная для построения высоконагруженных систем. Разработка СУБД, особенно таких масштабных, как YDB, считается одной из самых сложных и ресурсоёмких задач в IT-индустрии. Для её решения от программиста требуется большой опыт и разносторонние знания в области алгоритмов, операционных систем и компьютерного железа. Тем не менее у студентов есть возможность внести свой вклад в развитие различных подсистем YDB. 

Меня зовут Виталий Исаев, я занимаюсь разработкой федеративных возможностей YDB — в этой области вклад студентов в развитие YDB чувствуется особенно сильно. В статье я расскажу о том, как в Яндекс Образовании удалось выстроить процесс совместной работы со студентами: они получают ценный, реальный опыт работы над сложным продуктом, а опенсорс-сообщество YDB — новые фичи. А ещё опишу задачи, которые им приходится решать, и, конечно, поделюсь наиболее яркими их результатами. 

Читать далее

Регулярные выражения простыми словами. Часть 3

Level of difficultyEasy
Reading time11 min
Views9.1K

Разработчики делятся на три типа: тех, кто уже понимает регулярные выражения и порой решает сложные задачи одной строкой; тех, кто все еще боится их и всячески избегает; и тех, кто уже прочитал первую и вторую части этой серии статей и полон оптимизма разобраться с этими магическими письменами. Эта статья специально для третьих, чтобы обратно их напугать, ведь в этой части мы рассмотрим одну из самых сложных, но в буквальном смысле захватывающих тем.
Читать дальше →

Радость создания хобби-программ

Level of difficultyEasy
Reading time8 min
Views9.1K

Мне очень нравится знаменитая цитата Ричарда Фейнмана:

«То, что я не могу создать, я не понимаю»

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

Сегодня, в 2025 году, красота и ремесло написания ПО подвергаются разрушению. ИИ угрожает тем, что заменит нас (или, по крайней мере, заберёт все самые приятные аспекты нашего ремесла), а разработка ПО становится всё более стандартизированной, выверенной, упакованной и индустриализированной. Разработке программного обеспечения нужно больше простых удовольствий. Я выяснил, что создание хобби-программ — отличный способ снова напомнить себе, почему вообще я начал работать с компьютерами.

Читать далее

И как оно? Рассказываем как прошёл второй Java Rock Stars Meetup

Level of difficultyEasy
Reading time3 min
Views694

Привет, Хабр!

Первый Java Rock Stars Meetup прошёл на ура (обзор первого митапа см. тут) и вы сказали, что хотели бы ещё. Ну, что ж, мы услышали, приняли и сделали.

В конце мая мы провели второй Java Rock Star Meetup при поддержке сообщества Spring АЙО в Москве на той же площадке Casa Picassa, только в соседнем лофте. В этот раз мы выбрали площадку с большей вместимостью, поскольку кол-во регистраций в этот раз было сильно выше (как и дошедших до локации участников), чему мы были несказанно рады!

Под катом — записи докладов, фото, видео и как это было.

Читать далее

Мобильная разработка за неделю #591 (23 — 29 июня)

Reading time4 min
Views1.7K
В этом дайджесте эксплоиты ядра iOS и палочки на Android, рабочая группа Swift для Android и незаметные ограничения, смерть резюме, ТВ-пульты как многомиллионный бизнес в магазинах приложений, Gemini для роботов и многое другое. Заходите!

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

Принцип ставок — книга чемпиона по покеру Анны Дьюк о принятии решений

Reading time7 min
Views9K

Thinking in Bets (Принцип ставок) - книга чемпиона по покеру Анны Дьюк о принятии решений, где покер используется лишь как сквозной образ для связывания ключевых идей.

Принятие решений, когнитивные искажения, иррациональное поведение, человеческая психология - Thinking in Bets охватывает их все — ясно и достаточно увлекательно.

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

Читать далее

Рукоходы, вода, грязь — кайф! Почему я всем советую «Гонку героев»

Reading time6 min
Views1.6K

Привет, Хабр! Меня зовут Никита. В МТС я ведущий продуктовый и дата-аналитик и помогаю улучшать уже существующие продукты компании. Живу в Ростове-на-Дону, работаю удаленно, но каждые три месяца гоняю в Москву в командировки. В один такой приезд этой весной я предложил коллегам: «А давайте соберемся и пойдем на „Гонку героев“ 19 апреля». Затянул в это дело своего продакта, позвал ребят из смежных команд, одна коллега мужа подтянула — так и набралась компания из 10 человек. Сегодня расскажу, что получилось в итоге и зачем это все нам вообще. А еще в комментариях можно скооперироваться и рвануть на «Гонку» вместе!

Читать далее

Анатомия неудачного микробенчмарка

Level of difficultyEasy
Reading time15 min
Views937

В новом переводе от команды Spring АйО подробно разбираются концептуальные, методологические и технические ошибки, на которые легко наткнуться при попытке протестировать такие механизмы, как synchronized и ReentrantLock. Автор объясняет, почему микробенчмарки часто измеряют не то, что вы думаете, и почему для получения осмысленных результатов лучше использовать макротесты или полагаться на экспертов.

Читать далее

События vs сообщения. Понимаете ли вы разницу и почему это важно?

Level of difficultyEasy
Reading time10 min
Views6K

«Будем отправлять события в Rabbit!» Фраза, которая выдает мышление, рождающее код, полный боли. К сожалению, я ее часто слышу. Поэтому, уже много лет размышлял о написании этой статьи и безумно рад, что у меня, наконец, дошли до нее руки.

В статье я расскажу, как смешение понятий события, сообщения и транспорта рождает возгласы типа «Я ненавижу использовать Symfony Messenger, потому что был у меня проект на нем, и он не взлетел!»

Будут косвенно затронуты компоненты Symfony Messenger и Event Dispatcher. Несмотря на это, данный материал может оказаться полезным и для разработчиков, использующих другие фреймворки и даже другие языки.

Читать далее

Доморощенный OSINT для соискателя. Краткая инструкция

Level of difficultyEasy
Reading time9 min
Views11K

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

Никто из работодателей не напишет на сайте или в описании вакансии: «Ну да, так-то у нас иногда кассовые разрывы бывают, но мы тут держимся». Вместо этого будет: «Мы — признанные лидеры там-то и сям-то, нам доверяют, мы меняем мир, мы —  динамично развивающаяся компания с сильным корпоративным духом (да, такие описания и кислотой не вытравить) и прочие «выше нас только горы». 

Самое замечательное может начаться, если найти 10-15 минут времени и всмотреться в эту бездну успеха. 

Где и что искать

TIG сварка в домашней мастерской, знакомство. Часть 3. Подключение, электроды

Level of difficultyMedium
Reading time8 min
Views13K

Продолжим погружаться в восхитительный мир тонкой и качественной сварки любых металлов средствами TIG процесса — работа неплавящимся вольфрамовым электродом в среде аргона, оборудование для которого может быть сравнительно простым, доступным и ремонтопригодным, вплоть до самодельных установок. Исходные условия: любительская домашняя мастерская, невеликий бюджет, нуль опыта. В части №1 мы уже познакомились со средствами защиты и газобаллонной частью дела; в части №2 коснулись сварочных аппаратов и горелок.
Читать дальше →

Пирамида Минто в ИТ: как быстро добиваться результата в разговоре с коллегами?

Reading time4 min
Views5.2K

Что делать, если ваш руководитель не может найти для вас 5 минут?

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

Читать далее

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity