Search
Write a publication
Pull to refresh
25
0

Пользователь

Send message

Хабр на «Архипелаге 2022»: выставка-фестиваль «Настоящее будущее», инновационные стартапы и разработки

Reading time16 min
Views2.1K

Информационная служба Хабра в лице @ancotir и @IgnatChuker посетила проектно-образовательный интенсив «Архипелаг 2022», прошедший в Севастополе. На мероприятии мы познакомились со множеством интересных представителей отечественных технологических стартапов и подробно расспросили об их разработках. Материалы с ними будут выходить постепенно, а пока немного расскажем про сам интенсив и подробно про выставку-фестиваль «Настоящее будущее», проходившую в рамках мероприятия. Осторожно — в материале много фотографий.

Читать далее

Динамическая регрессионная модель: как сделать так, чтобы регресс не съел все ваши ресурсы

Reading time6 min
Views2.9K

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

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

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

Но этого поста бы не было, если б на пути ускоренного расширения функциональности мы не встретили его – стремительно растущий набор регрессионных кейсов.

Меня зовут Егор и в этом посте я расскажу, как мы наладили регрессионное тестирование, на примере собственно ДБО, а также одного из важнейших столпов качественного дистанционного обслуживания — нашей CRM.

Читать далее

Апериодическая решётка Яндекс Станции 2: история, 3D-модели и акустические эксперименты

Reading time9 min
Views33K

«Не бывает неинтересных задач, бывают неинтересные исследователи».
— Александр Михайлович Гуськов, профессор МГТУ им. Н. Э. Баумана


Привет, меня зовут Григорий Анненков, я тот, кто предложил и внедрил апериодическую решётку для Яндекс Станции 2. Она установлена под тканью, вокруг динамиков и других компонентов.

Кто-то скажет, что работать над формой решётки — никому не нужный перфекционизм. Для меня как для инженера это была интереснейшая задача, результаты которой (и я это сейчас докажу) повлияли на качество звука колонки, пусть и не настолько же сильно, как, скажем, подбор моделей динамиков. Только улучшение это условно-бесплатное, поскольку мы используем тот же объём пластика, разве что формы чуть сложнее привычных.

Под катом — история прототипирования, очень много картинок, гифок и акустических экспериментов. Трёхмерные модели решётки мы выложили на Гитхаб, подробности — в конце поста.
Читать дальше →

Приглашаем инженеров уровней Junior и Middle с опытом работы от года принять участие в нашем Data Engineer Weekend Offer

Reading time1 min
Views2K

28 мая в штаб-квартире билайна пройдёт первый data engineering weekend offer — все этапы собеседования сразу в один день: вы расскажете о себе, проверите свои технические знания, узнаете, какие продукты разрабатывает билайн.

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

Читать далее

Security Week 2218: уязвимости нулевого дня в 2021 году

Reading time3 min
Views2.3K
Недавно команда Google Project Zero опубликовала подробный отчет об обнаружении уязвимостей нулевого дня в 2021 году. Такие отчеты Project Zero готовит с 2014 года, пытаясь оценить эволюцию угроз нулевого дня и найти способы усложнить обнаружение и эксплуатацию подобных уязвимостей атакующими.



Уязвимостью нулевого дня считается такая прореха в софте или сервисе, которая до обнаружения разработчиком активно эксплуатируется. Особую опасность такие уязвимости представляют потому, что максимально увеличивают шансы на успех кибератаки. Главный и самый позитивный вывод отчета: 2021 год стал рекордным по обнаружению zero-day, всего уязвимостей нулевого дня было обнаружено 58, более чем в два раза больше, чем в 2020 году. Полный список уязвимостей по годам Project Zero ведет в открытой таблице.
Читать дальше →

Серверная архитектура: быстрый старт проекта и его эволюционное развитие

Reading time8 min
Views5K

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

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

Читать далее

Как мы используем фича-флаги в мобильном приложении QIWI Кошелек

Reading time11 min
Views5.9K

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

Меня зовут Василий Материкин, я — Android-разработчик в QIWI. В этом посте я расскажу о применении фича-флагов в QIWI Кошельке.

Внедрение Trunk-Based Development и Feature Flags

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

Поэтому мы решили перейти на Trunk-Based Development (TBD). TBD предлагает работать в небольших ветках и, желательно, чтобы они как можно быстрее были влиты основную ветку. Для этого, конечно же, реализацию нового функционала нужно оформлять небольшими пулл-реквестами, чтобы они быстро проходили ревью и были влиты в основную ветку. Это, в свою очередь, создает другую проблему — когда в главной ветке может появиться код, который ещё не готов к релизу, но при этом нам нужно как-то релизить с этим кодом приложение. Мы же релизы выпускаем достаточно часто. И для этого TBD предлагает пользоваться такими подходами, как Branch by Abstraction (BBA) и Feature Flags (FF).

BBA позволяет выделить какой-либо функционал в отдельную абстракцию. Для этого создается интерфейс, который описывает контракт для работы с этим функционалом. Сразу же можно создать его текущую реализацию, просто скопировав код, который сейчас в продакшене. Также создается другая реализация (уже с новым функционалом) и с ней уже начинается работа. То есть обычно первый пулл-реквест при работе с фичей — это выделение кода, создается две реализации, эти изменения вливаются в главную ветку и далее продолжаем работать уже над новой реализацией. При этом в проекте (в продакшене) используется всё ещё старая реализация, пока мы не закончим работать над фичей.

Читать далее

Интеллектуальный брутфорс: пишем головоломку и солвер для неё

Reading time16 min
Views5.1K

Небольшое предисловие


В колледже я много играл в головоломки. В статье под головоломками я буду подразумевать очень узкое подмножество таких игр. Вот некоторые из примеров:


Также мне посчастливилось изучать структуры данных в Политехническом институте Ренсселера, где в то время студенты профессора Катлера (привет, Барб!) ежегодно участвовали в соревновании по написанию солвера головоломок. Каждый год игра менялась, и в мой год это была Ricochet Robots, которая по сути является головоломкой со скольжением по льду для нескольких игроков. Мне очень понравилось это задание (и я победил в соревновании!), после чего я продолжил участвовать в соревнованиях в качестве ассистента преподавателя.

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

Как разработчику перестать быть потребителем технологий

Reading time3 min
Views10K

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

Почему ты выбрал такой подход к решению?

  • Не знаю. Прочитал в какой-то статье.
  • Не знаю. Скопипастил его из X.
  • Не знаю. Такой же подход я использовал в предыдущем проекте.
  • Не знаю. Кто-то мне посоветовал.

Этот паттерн можно назвать "потреблением вместо творчества". Потреблением без сомнений и вопросов. Потреблением, потому что можно спрятаться за чьим-то авторитетом.

Я видела разработчиков, берущих решение других людей как должное. Без малейших раздумий о выбранном подходе, не заморачиваясь анализом. Да, конечно, когда Дэн Абрамов говорит мне, как правильно использовать React, или в документации написано, что это единственный способ применения API, то с этим нужно согласиться. Тем не менее, когда вы используете какой-то технический контент без хотя бы доли скептицизма, то вы всё равно сможете продвинуться в своей карьере, но есть вероятность, что это вам помешает.
Читать дальше →

Как мы в QIWI внедряли Kotlin Multiplatform Mobile (KMM)

Reading time6 min
Views8.5K

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

Меня зовут Кирилл Васильев, и я хотел бы рассказать, как мы в QIWI внедряли Kotlin Multiplatform Mobile (KMM). 

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

Читать далее

В приложении «билайн» теперь можно отзывать согласие на обработку персональных данных, выданных через Мобильный ID

Reading time2 min
Views8.9K

Привет!

Согласие на обработку персональных данных теперь запрашивают на самых разных ресурсах при регистрации. Уведомления вида «Регистрируясь здесь, я даю согласие...» стали почти таким же привычным, как и предупреждения об использовании Cookies. А вот отзыв такого согласия — обычно дело для упорных. Нужно написать соответствующий запрос в адрес организации, которой вы выдавали согласие. Не говоря уже о том, что пока у людей нет  удобного способа где-то централизованно посмотреть выданные ранее согласия.

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

Читать далее

Как мы мониторим наши сервисы

Reading time9 min
Views17K

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

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

Как было

Раньше наш мониторинг можно было описать так: куча очень умных людей ожесточенно программируют пробники на очень сложных языках, пытаясь замониторить все, что попадает в поле зрения. Несчастный заказчик, заходящий к ним побеседовать, сначала должен был заполнить десятки разных опросников и файлов, а потом долгое время отходить от услышанных слов вида “SNMP-трапы”, “пробы”, “агенты”.

Затем у нас появился E2E-мониторинг, способный эмулировать некоторые клиентские операции, именно так мы тогда и мониторили работу наших сервисов. Но были и печали: чтобы E2E в принципе начал что-то мониторить, нужно было составить ФТ объемом страниц эдак в 50 А4, а потом потратить несколько месяцев на разработку

Читать далее

Подходим к логистике и фурам продуктово

Reading time8 min
Views3.5K

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

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

А в этом — расскажем о том, как мы помогли одному из наших заводов оптимизировать автомобильную логистику. Про фуры и водителей, погрузку полимеров, MVP и сарафанное радио — под катом. 

Важно: пост немного гибридный, здесь и про бизнес, и про продукт, и техническая часть. Если вам не очень интересны бизнес-составляющие, смело начинайте читать с раздела “Как мы обеспечили офлайн-работу приложения”.

Читать далее

Ozon дал своим сотрудникам доступы к личным кабинетам продавцов, минуя правила оферты

Reading time3 min
Views19K

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

Еще 8 октября селлер маркетплейса обнаружила в личном кабинете странную находку. В графе «Сотрудники», которая прячется в настройках, она увидела нового пользователя и удивилась: она сама не заводила нового сотрудника, а коллеги сделать не могли это, просто потому, что их не существует.

А дальше логичный вопрос, прямо как в сказке - "Кто спал на моей кроватке?". Свое негодование селлер сразу поспешила выразить в официальном сообществе Ozon. Новость не понравилась никому.

Читать далее

О процессе подготовки ИТ специалистов в ВУЗах. Взгляд работодателя, подсмотренный изнутри

Reading time8 min
Views7.7K

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

Мы всегда кичились своим профессионализмом, а разбавлять его дилетантами, размывая, завоеванный трудом и потом авторитет, не вписывалось в наши представления об успешном видении бизнеса. Но время шло, мы с тоской смотрели на пролетающие мимо упущенные возможности, и помянув, об утопающих и вариантах их спасения, подались в наш региональный университет на свой страх и риск искать сотрудничества. Как оказалось, утечке ИТ мозгов из региона подверглись не только предприятия, но и ВУЗы. А посему, к нашей радости, в глазах руководства университета мы увидели, зеркальное отражение тоски, точь в точь сродни нашей.  В общем встретили нас радушно, с распростертыми объятиями, заложив смычку ИТ бизнеса с ИТ обучением. Таким образом ресурсный голод толкнул меня на тропу преподавательской деятельности. Я и до этого практиковал обучение, но среди действующих ИТ специалистов, повышая их профессиональный уровень отдельными внесистемными тренингами. А тут, мы подрядились сразу на ведение двух предметов, которые надо было читать системно, на протяжении года, шаг за шагом приближая студентов к совершенству. Работа длительная стратегическая, ставшая для маленькой такой компании, как наша, настоящим вызовом. Но, как оказалось, и в таком подходе можно отыскать множество своих плюсов. Из полуфабриката "Айтшника" с абсолютно не зашоренными стереотипами мозгами, чистыми бескорыстными душами, ежесекундно рвущимися в бой, оказалось можно лепить сотрудника, по образу и подобию, воображаемого нами идеала специалиста.

Вы не любите студентов? Вы просто не умеете их готовить.

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

Старый фотик + bash = таймлапс

Reading time9 min
Views29K

Думаю у многих из нас, в шкафу пылился старый зеркальный фотоаппарат, типа Canon EOS 400D. Он как чемодан без ручки: выбросить жалко, продать смысла нет, и использовать вряд ли будешь. Достал его так одним вечером, и подумал: вещь хорошая и вполне годная для всяких опытов. И сразу загорелся применить его во всяких своих самоделках. А что, весьма хорошо фотографирует из коробки, достаточно широкий спектр всяких регулировок, осталось только научиться с ним работать. Всего-то подружить его с компьютером, да Linux, и дело в шляпе! В результате у нас получается просто непаханое поле для фотографических экспериментов и применения в своих придумках. Давайте же поглядим, как это можно сделать и что получилось из таких экспериментов.
Читать дальше →

История ЖК-дисплеев с активной матрицей

Reading time9 min
Views7.9K

1962

В этом году появился первый тонкоплёночный транзистор (thin-film transistor, TFT), разработанный инженером RCA Полом Веймером — изобретателем, получившим множество патентов, связанных с технологией электронно-лучевых трубок. Его работа, вдохновлённая предыдущими инновациями, стала фундаментом, приведшим к созданию современной технологии производства дисплеев. RCA использовала изобретение в качестве основы технологии создания дисплеев на жидких кристаллах, которую в дальнейшем усовершенствовал её конкурент, компания Westinghouse.

Читать далее

Хотел стать программистом и передумал: почему IТ-карьера — не для всех

Reading time8 min
Views85K

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

Что мешает стать айтишником →

Как маркетолог сети доставки суши делает сотни HTML5-баннеров для контекстной рекламы и не сходит с ума

Reading time6 min
Views4.5K

Создание баннеров иногда превращается для интернет-маркетолога в головную боль, которая не проходит неделями. Особенно когда баннеры нужны с анимацией и для разных рекламных площадок. Планируя большую кампанию контекстной рекламы, в минской сети доставки суши задумались: а есть ли сервис, который сгенерирует им сотню анимированных HTML5-баннеров с кастомным дизайном и сразу под требования рекламных сетей? Такой сервис нашёлся, он называется Pikaban. Давайте посмотрим, как им воспользовались в этой сети доставки и что из этого получилось.

Читать далее

ANALYZEIT#5 — митап для системных аналитиков от Альфа-Банка

Reading time2 min
Views2.2K

Привет! В этот четверг, 7 октября, в 19:00 мы проведем митап для системных аналитиков.

Будет две части, открытая (онлайн-трансляция) и закрытая (офлайн в офисе, без трансляции, записи не будет). Вход бесплатный, надо лишь зарегистрироваться заранее и выбрать удобный формат.

2+ часа, 4 спикера.

Каждому из нас приходилось адаптироваться на новом месте. Многим знакомо то чувство неопределённости и страха, когда перед тобой новая задача, а ты только делаешь первые шаги в профессии. Как быстро находить решение и приступать к задаче? Какой метод выбрать для описания требований? Что первично — макеты интерфейсов или архитектура системы? Какие технологии будут использоваться в разработке?

19:00 — Выживание аналитика в дикой природе, или как не опустить руки, разбираясь с задачей на новой работе

Юлия Капранова, ведущий системный аналитик

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

19:30 — Use case и user story, что лучше использовать и когда.

Алёна Разбежкина, ex-ведущий системный аналитик Альфа-Банка

Разберём, в каких случаях больше подойдёт use case, а в каких — user story. Поделюсь с вами шаблоном use case, который используют аналитики Альфа-Банка.

20:00 — Макеты дизайнера или архитектура? От чего отталкиваться при разработке?

Павел Бондаренко, главный системный аналитик

Может ли аналитик влиять на клиентские сценарии продукта? Как синхронизировать красивые макеты и не всегда красивый back-end? Попытаемся ответить в докладе.

Читать далее

Information

Rating
Does not participate
Registered
Activity