Pull to refresh

Technotext

Standoff 11. Этичные хакеры против металлургов: разбираем атаку на сталелитейный завод

Level of difficultyMedium
Reading time12 min
Views5.5K

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

В этой статье на примере одной из атак на сталелитейный завод «МеталлиКО» я поделюсь некоторыми инструментами команд атакующих и защитников. Статья будет полезна для начинающих специалистов по обе стороны баррикад.

Читать далее

Репортаж о 54-й конференции факультета ПМ-ПУ СПбГУ

Level of difficultyMedium
Reading time5 min
Views1.4K

В городе Санкт-Петербург в первую неделю апреля проходит конференция факультета Прикладной Математики - Процессов Управления Санкт-Петербургского государственного университета.

Конференция с некоторого времени приобрела статус международной - в ней участвовали в этом году студенты из Китайской Народной Республики.

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

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

Вперед, на конференцию!

Два сапога — пара, а три — уже community: как алгоритмы на графах помогают собирать группы товаров

Reading time14 min
Views27K

Привет, Хабр! Меня зовут Иван Антипов, я занимаюсь ML в команде матчинга Ozon. Наша команда разрабатывает алгоритмы поиска одинаковых товаров на сайте. Это позволяет покупателям находить более выгодные предложения, экономя время и деньги.

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

Читать далее

Как мы в TestIt мигрировали

Level of difficultyEasy
Reading time5 min
Views3.2K

 

Привет, Хабр! Меня зовут Евгений Токарев, я руководитель группы автоматизированного тестирования в Innostage. Хочу поделиться нашим опытом выбора новой TMS и миграции достаточно большого количества тест-кейсов практически одной кнопкой.

Поехали!

Читать далее

Откуда Карты знают, когда приедет автобус

Reading time7 min
Views61K

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

Меня зовут Антон Овчинкин, я руководитель группы разработки пешеходной и транспортной навигации. Сегодня я расскажу, что у «Транспорта» под капотом, какие алгоритмы отвечают за то, чтобы автобусы появлялись на карте, двигались по ней плавно и реалистично, а прогноз был максимально точным.

Читать далее

СПФС, SWIFT, CIPS и другие: как устроены межбанковские платежи

Level of difficultyEasy
Reading time6 min
Views28K

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

Читать далее

Как мы сделали аудиозвонки в приложении для сотрудников

Level of difficultyMedium
Reading time10 min
Views7.4K

Меня зовут Ильдар, я техлид в команде Центра развития финансовых технологий (ЦРФТ) Россельхозбанка. Сегодня расскажу о том, как мы внедрили функцию аудиозвонков в наш корпоративный мессенджер для сотрудников.

Читать далее

Что будет, если хакеры взломают регистратора доменов

Level of difficultyMedium
Reading time9 min
Views4.2K

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

Меня зовут Ксения Рысаева, я руковожу группой аналитиков в Центре противодействия киберугрозам Innostage CyberART. Мы с командой решили пофантазировать, а что может случиться, если хакер пробьет защиту регистратора доменов. Фантазии быстро улетучились, когда цепочка привела нас к неутешительным выводам — если положить регистратора, пострадают абсолютно все.

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

Читать далее

Разобраться раз и навсегда: Task.WhenAll или Parallel.ForEachAsync в C#

Level of difficultyMedium
Reading time6 min
Views26K


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

Если быстро посмотреть на результаты, которые появляются в интернете при поиске советов по реализации подобных вещей, то можно увидеть, что есть как много похожих, так и различных предложений от различных программистов. В какой-то момент поиска вы, вероятно, столкнётесь с поиском идеей использования Task.WhenAll или Parallel.ForEachAsync.

При чтении некоторых из этих материалов будет видно много различных противоречивых ответов как на StackOverflow, так и по всему интернету. Сегодня я собираюсь сравнить эти два метода с помощью определённых бенчмарков, которые стравят их друг против друга, чтобы, наконец, выяснить применимость каждого из двух методов.
Читать дальше →

Хороший ретрай, плохой ретрай, или История одного падения

Level of difficultyMedium
Reading time17 min
Views58K

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

Меня зовут Денис Исаев, и я работаю в Яндекс Go. Сегодня я поделюсь опытом решения проблем с отказоустойчивостью из-за ретраев. Основано на реальных инцидентах в системе из 800 микросервисов.

Этот пост — продолжение вымышленных историй о разработчике Васе, который несколько лет назад разбирался с идемпотентностью в распределённых системах. Теперь перед ним новые задачи — получится ли справиться с ними в этот раз? Давайте узнаем.

Читать далее

В поисках аномалии: одноклассовая классификация текстов с помощью расхождения Кульбака—Лейблера

Level of difficultyMedium
Reading time9 min
Views3K

Привет, Хабр! На связи участница профессионального сообщества NTA Корсакова Елена.

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

Читать далее

«Относитесь к собеседованию, как к свиданию» — 5 причин, почему разработчики не могут найти работу

Level of difficultyEasy
Reading time6 min
Views18K

Привет, Хабр! На связи Василий Беляев – руководитель группы разработки интерфейсов компании «Криптонит». Во фронтенд-разработке я уже 16 лет. Так сложилось, что ко мне регулярно обращаются за помощью друзья, знакомые и бывшие коллеги, которые хотят устроиться на работу, но почему-то боятся и сомневаются в себе.

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

Читать далее

Почему много записей в трудовой – это не приговор

Level of difficultyEasy
Reading time12 min
Views10K

Привет! Меня зовут Настя, я старший системный аналитик в X5 Tech. Мне 28 лет, а мой общий стаж работы на данный момент составляет ровно 7 лет. Сейчас в моей трудовой книжке 11 записей о приёме на работу. Я этим не горжусь и я так не планировала, поэтому и родилась эта статья. 

Я хочу поделиться своей историей по двум причинам. Первая: попытаться донести до  HR и начальников, что много записей в трудовой – это не приговор. Я часто сталкивалась с отказами ещё на этапе просмотра резюме по причине частой смены работы. Думаю, что у многих людей могут быть абсолютно “здоровые” причины такого явления. 

Вторая: попытаться донести до специалистов, которые боятся часто менять работу, что это нормально. Если вы не можете повлиять на ситуацию/рабочие процессы/климат в команде и никто ваши попытки не ценит, то надо заботиться о себе и искать  что-то более комфортное.

Читать далее

QA инженер и дизайн

Level of difficultyEasy
Reading time6 min
Views3.6K

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

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

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

Читать далее

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

Reading time9 min
Views14K

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

Казалось бы, что между ними нет ничего общего, но это не так. Абсолютно все эти компоненты объединяет одно — языковая модель. Чем выше её качество, тем выше скорость ввода, а значит, и пользователь будет чуточку счастливее.

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

Читать далее

Обещания — настоящие и не очень

Level of difficultyEasy
Reading time7 min
Views16K

Хабр, привет! Меня зовут Настя Абрашитова, я руководитель службы инструментов репозитория в Яндексе. Однажды ко мне пришёл мой знакомый, назовём его Леонид. Он долгое время работал в небольшой компании. Он решил посоветоваться, стоит ли ему увольняться со своей работы или есть смысл остаться. 

С одной стороны, Леонид занимался одним и тем же годами, и ему было скучно. А ещё ему давно не повышали зарплату, которая была ниже рынка. С другой стороны, по его словам, у него были отличные карьерные перспективы. Когда он задумался о смене работы, его СTO сказала, что в ближайшее время собирается уйти на заслуженный отдых и видит в роли своего преемника именно Леонида.

Я решила уточнить, когда это должно случиться. Леонид немного погрустнел и сказал, что они не обсуждали конкретную дату. Более того, этот разговор проходил примерно за два года до того. Я спросила: было ли с тех пор что-то сделано, что приблизило Леонида к позиции СTO? Оказалось, что ничего.

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

Читать далее

BI-инструмент от Яндекса DataLens — теперь в опенсорсе

Reading time7 min
Views65K

Сегодня мы опубликовали на GitHub под открытой лицензией Apache 2.0 исходный код Yandex DataLens — сервиса для анализа и визуализации данных. Теперь использовать опенсорс-версию DataLens может любой желающий и в любой инфраструктуре. 

Меня зовут Павел Дубинин, вместе с Гаджи Гаджиевым мы в Yandex Cloud занимаемся развитием DataLens. Сегодня расскажем, какие задачи он помогает решать разным пользователям, какие возможности открываются с выходом в опенсорс и что можно развернуть у себя прямо сейчас.   

Читать далее

«Мышеловка». Как менялись компьютерные мыши и зачем я собрал 170 из них в коллекцию

Level of difficultyEasy
Reading time9 min
Views26K


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

Привет, я Михаил Павлов. Я уже десять лет коллекционирую компьютерные мыши и трекболы. В этом посте я коротко напомню, какой путь они прошли, и покажу свою коллекцию. Посмотреть на неё вживую можно в Яндекс Музее на выставке «Мышеловка», которая в последние месяцы гастролировала между Москвой и Санкт-Петербургом. В ближайшие пару дней (до 12 июля включительно) её ещё можно увидеть в московском Музее на Павелецкой — познакомиться с большей частью экспонатов, а какие-то даже попробовать в действии.
Читать дальше →

Наш путь в управлении потоком продуктовых задач. От стикеров в Miro до системных изменений на основе данных

Level of difficultyEasy
Reading time8 min
Views6.2K

Привет, Хабр! Меня зовут Артур Темиров, я delivery‑менеджер в одном из продуктов X5 (о нём дальше в тексте). Над его созданием у нас трудятся 5 технических команд — в общей сложности это более 60 человек. В статье рассказываю о том, как визуализация является отправной точкой для эволюционного развития процессов, а также об ошибках, которые могут допускаться на этом пути.

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

Читать далее

Две культуры программирования: почему обе из них важны?

Reading time13 min
Views58K
Уже несколько лет я замечаю, что программисты и программистские инструменты делятся на две разные культуры:



Изначально я человек первой культуры и очень долгое время считал вторую несерьёзной. Пару-тройку лет назад я окончательно понял, что ошибался. Многие «старички» ошибаются в ту же сторону, а в последние годы ещё большее число людей ошибаются в обратную. Знакомство с соседней культурой и понимание, почему дела в ней делаются так, как там принято, превратит вас в лучшего разработчика.
Читать дальше →