Pull to refresh

Technotext

7 петабайт логов в Elastic

Level of difficultyMedium
Reading time16 min
Views19K

Всем привет, меня зовут Роман. В ИТ я больше 15 лет — начинал как системный администратор, сейчас SRE-инженер. Расскажу, как мы дошли до семи петабайт логов в Elastic и как он устроен.

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

Читать далее

Особенности SRE и Observability в мобильных приложениях

Level of difficultyEasy
Reading time12 min
Views5.2K

Привет! Я Даниэль Халиулин, технический менеджер продукта в Тинькофф. Отвечаю за надежность и производительность нашего основного приложения — мобильного банка. Руковожу двумя одноименными командами, которые занимаются производительностью и надежностью. Расскажу про направления SRE и Observability в мобильных приложениях.

Читать далее

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

Reading time16 min
Views6K

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

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

Меня зовут Олег Шелякин, я ведущий Android-разработчик в мобильном банке Тинькофф. Статья будет интересна тем, кто работает над многомодульным проектом, где количество модулей перевалило за сотню, время синхронизации измеряется в минутах, а время сборки — в десятках минут.

Читать далее

DOM, DI и View: деревья в Angular

Level of difficultyHard
Reading time8 min
Views12K

Чтобы стать продуктивным разработчиком на Angular, потребуется понимание различных деревьев, из которых состоит приложение. На первый взгляд легко можно спутать дерево инжекторов DI и DOM-дерево непосредственных HTML-элементов и вьюх Angular. Они похожи и иногда имеют прямое соответствие, но далеко не всегда. В статье рассмотрим различия, научимся держать их в уме и освоим, как можно обойти возможные трудности, связанные с ними.

Читать далее

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

Level of difficultyEasy
Reading time11 min
Views39K

Всем привет! Меня зовут Кира Калимулина, я руководитель группы UX-редактуры в Ozon. Я занимаюсь всеми интерфейсными текстами в приложении и на сайте. 

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

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

Что же случилось?

Как эволюционировали уязвимости в приложениях для Android

Level of difficultyEasy
Reading time12 min
Views4.2K

История развития приложений для Android прошла несколько заметных этапов. Были небольшие приложения, работающие локально, клиент-серверные приложения, экосистемы приложений и, наконец, суперапы (super-app). Каждый из этих этапов повышал планку сложности, порождал новые уязвимости и заставлял разработчиков все больше заботиться о безопасности как самих приложений, так и данных, которыми они оперируют. Развивалась и сама операционная система — она давала разработчикам больше возможностей и механизмов обеспечения безопасности.

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

Читать

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

Level of difficultyEasy
Reading time9 min
Views3.4K

Я не встречал людей, которые любят делать одну и ту же рутинную работу. Большинству из нас хочется автоматизировать подобную деятельность, чтобы скучные и повторяющиеся операции выполняла бездушная машина. В центрах мониторинга информационной безопасности немало таких задач, особенно на первой линии. В этой статье я, Константин Грищенко, руководитель отдела мониторинга безопасности в Positive Technologies и участник открытого сообщества Security Experts Community, расскажу о том, как мы в отделе упрощаем свою работу с помощью инструмента SiemMonkey. Любой желающий может скачать его и установить в браузере.

Подробнее

Чем занимается Android-разработчик, или Хватит уже спрашивать у них алгоритмы

Level of difficultyEasy
Reading time8 min
Views14K

Тем, кто только начинает свой путь в разработке, сейчас сложно. Помимо малого количества вакансий ещё и везде реклама курсов, обещающих работу мидла через 6 недель обучения (а ведь когда-то я думал, что никто не переплюнет знаменитое «С++ за 21 день»).

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

Для этого предлагаю глянуть на типичные задачи разработчика под Android. Статья поделена на две части — в первой я описываю работу в команде и какие навыки для этого нужны, во второй части расскажу, что нужно для создания новой функциональности в приложении или для исправления старого. Иначе говоря, первая часть про людей, вторая — про код.

Читать далее

Чем на самом деле занимается разработчик 1С

Level of difficultyEasy
Reading time6 min
Views36K

Всем привет! Недавно мы запустили новый курс — «Разработчик 1C». Эта статья будет интересна тем, кто хочет узнать больше про этот язык программирования, проследить путь специалиста, пришедшего в профессию, а заодно избавиться от стереотипа о том, что 1C — просто «программа для бухгалтеров».

Читать далее

Что джуну без опыта показать на собеседовании: вклад в open source или пет-проекты

Level of difficultyEasy
Reading time8 min
Views25K
Привет! Меня зовут Артур Домбровский, и я наставник и соавтор курса «Java-разработчик» в Яндекс Практикуме. Зарабатываю на жизнь программированием уже более 7 лет, из которых больше трёх провёл в Amazon. Сейчас я — старший программист/тимлид в финтех-компании Wise. Последние пару лет плотно вовлечён в процесс найма, собеседую и джунов, и принципал-инженеров.

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


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

Аутентификация, авторизация пользователей и единый вход (SSO) с использованием Django

Level of difficultyEasy
Reading time24 min
Views24K

В этой статье исследую технологию SSO. Начинаю с разбора концепций аутентификации и авторизации. Рассматриваю как они работаю в контексте Django.

После прохожу путь от описания как работает SSO простыми словами, до разбора протоколов используемых в SSO.

В итоге делаю реализацию SSO с Django, объединять Django и Keycloak.

Читать далее

Социальный проект: визуализация данных медицинской статистики

Level of difficultyEasy
Reading time8 min
Views6.4K

Хабровчане, приветствую! Меня зовут Андрей Иванов, я системный аналитик в сфере медицины и здравоохранения. До 2005 года работал практикующим врачом, потом руководил медицинским информационно-аналитическим центром. Спустя время возникла настоятельная потребность получить базовое IT-образование и научиться тому, чем прежде приходилось руководить, — так я начал обучение на курсе «Системный аналитик»

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

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

Читать далее

Сокровища HTML: 7 тегов, которые упростят вам жизнь

Level of difficultyEasy
Reading time7 min
Views24K

Все мы знакомы с широко используемыми HTML тегами, такими как <div>, <p>, <a>, и <img>. Однако, существуют HTML - теги, которые могут упростить жизнь, и вместо написания дополнительного кода, выполнят всю работу :)

Читать далее

Covenantus detectus или ещё одна DS-задача

Level of difficultyMedium
Reading time12 min
Views1K

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

Сегодня с вами участник профессионального сообщества NTA Серебренников Дмитрий.

И по дружбе, и по IT‑службе регулярно сталкиваюсь с задачами Data Science. Решением одной из них планирую сегодня поделиться. Поработаю с кредитной документацией, выжму из неё необходимое для аудиторской проверки. Из инструментов применю ловкость рук, python, pathlib, regex, pandas и Abbyy Finereader.

Итак, задача состояла в получении необходимых сущностей (ковенантов) из разных по формату и содержанию документов.

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

Covenantus detectus

Как устроена аутентификация в Micronaut: гайд по настройке

Level of difficultyEasy
Reading time12 min
Views3.7K

Всем привет! Меня зовут Иван Зыков, я старший Java разработчик в компании X5 Tech. За моими плечами больше 5 лет опыта разработки.

Хочу познакомить вас с модулем аутентификации Micronaut и заодно продемонстрировать, как настроить OAuth2.0 у нескольких провайдеров.

Читать далее

Как спроектировать базу данных регулярного UX-исследования. Полный гайд на примере одного продукта

Reading time18 min
Views6.3K

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

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

Читать далее

Я знаю, что ты делал этой ночью

Level of difficultyMedium
Reading time11 min
Views16K

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

Сегодня с вами участники профессионального сообщества NTA Промкин Михаил, Мымрин Дмитрий и Господарикова Ирина.

Одной из областей применения ИИ сегодня является автоматизация контроля за сотрудниками. В данном посте мы рассмотрим приложение технологий ML к задаче детектирования спящих людей (в частности, охранников на рабочем месте) по видеозаписям камер наблюдения.

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

Узнать больше

Все еще работаете с access token на клиенте? Тогда мы идем к вам

Reading time15 min
Views69K

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

В статье рассмотрим причины необходимости работы с токеном на клиенте веб-приложений, узнаем ,что лучше для хранения токена: localStorage, sessionStorage или cookie без флага HttpOnly (спойлер, ничего из этого), а также посмотрим на меры воздействия, которые можно использовать для снижения риска утечки токена посредством различных уязвимостей.

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

Читать далее

5 новинок CSS в адаптивной верстке, которые можно использовать уже сейчас

Level of difficultyEasy
Reading time4 min
Views30K

Hola, Amigos! На связи Игорь Мельников, Frontend-разработчик компании Amiga. Возможно, вы уже слышали про технологии, которые я описываю в статье, но не использовали их, потому что думали, что они не поддерживаются актуальными браузерами. Теперь можете смело брать их во всеоружие и применять в своих проектах! 

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

Читать далее

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

Level of difficultyMedium
Reading time6 min
Views23K

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

Читать далее