Социальные сети Рунета
Воскресенье, 11 апреля 2021

Быть тимлидом, ч.1: Люди Всем привет. Меня зовут Семён, я руковожу разработкой партнёрских сервисов в ДомКлик. О роли тимлида сказано и написано много: бесконечное число книг, технических и не очень, тренинги, конференции, каналы и прочее. Проблема в том, что ни одна книга не даёт рецепта «серебрян...

ВКонтакте снова выкладывает KPHP Привет! Сейчас будет дежавю. Мы снова выложили на GitHub наш PHP-компилятор — KPHP. Он проделал большой путь, и чтобы рассказать о нём, сначала телепортируемся на шесть лет назад. Поясню для тех, кто не в теме: платформа ВКонтакте изначально была написана на PHP. Со времене...

Ретроспектива граблей. Как самописное решение оказалось круче платного Привет! Меня зовут Алексей Пьянков, я главный программист в компании Спортмастер. Скажу сразу, что «главный» не значит «самый главный из всех программистов», нет, это только название, такой очаровательный перевод для «Senior+"». В компании Спортмастер я работаю с 2012 г...

Что под капотом у BI? Детальный разбор технологии In-Memory OLAP Привет, Хабр! Меня зовут Иван Вахмянин, и сегодня я хочу рассказать о том, что находится “под капотом” у современной BI-системы, от чего зависит ее производительность (и как можно её ненароком убить), и какие технические оптимизации позволяют технологии In-Memory OLAP выигры...

Бесполезный REPL. Доклад Яндекса REPL (read-eval-print loop) бесполезен в Python, даже если это волшебный IPython. Сегодня я предложу одно из возможных решений этой проблемы. В первую очередь доклад и мое расширение TheREPL будет полезны тем, кого интересует более быстрая и эффективная разработка, а также т...

Tech Talks Delivery Club на РИТ++ Привет, Хабр! Hello, World! Меня зовут Андрей Евсюков, я заместитель технического директора в Delivery Club. А это первый пост в нашем блоге на Хабре. Сегодня расскажу о том, как и где можно узнать про разработку, процессы и команду Delivery Club. Спойлер: до сих пор никт...

Лучше своими руками: как мы сделали мобильное приложение Perekrestok.ru inhouse Привет! Меня зовут Мария Тимофеева, я директор по продукту онлайн-супермаркета Perekrestok.ru. К выходу нашего нового мобильного приложения мы решили рассказать, как делали текущую версию, сколько багов собрали и как пришли к выводу, что в нашем случае inhouse-разработка ока...

ABBYY NeoML: как мы делали библиотеку машинного обучения и зачем она нужна Привет, Хабр! Меня зовут Стас, и я отвечаю за направление Common Libraries в компании ABBYY. Недавно мы выложили на GitHub созданную нами библиотеку для машинного обучения NeoML. NeoML — это кроссплатформенная C++ библиотека, позволяющая организовать полный цикл разработки ...

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

Клиентоориентированный Data Lake в игровой компании Источник Привет, Хабр! Меня зовут Максим Пчелин, и я руковожу разработкой BI-DWH в MyGames (игровое подразделение Mail.ru Group). В этой статье я расскажу о том, как и зачем мы строили клиентоориентированное DataLake-хранилище. Статья состоит из трех частей. Сперва я расс...

Нейронки «с нуля», или Как мы делали помощника для наших диспетчеров техподдержки Привет, Хабр! Меня зовут Александр Соловьев, я программист компании DataLine. Хочу поделиться опытом внедрения модных нынче нейронных сетей в нашей компании. Все началось с того, что мы решили строить свой Service Desk. Зачем и почему именно свой, можно почитать моего колле...

Про кластер серверов 1С Кластер — это разновидность параллельной или распределённой системы, которая: 1. состоит из нескольких связанных между собой компьютеров; 2. используется как единый, унифицированный компьютерный ресурс Gregory F. Pfister, «In search of clusters». Дано: есть бизнес-прило...

Почти вся правда про разработки компании Импринта | Аддитивная Кухня Приветствую вас, уважаемые 3Д печатники и желающие вступить в эти творческие ряды :)Этой статьей хочу сделать новый шаг в сторону нашего более близкого знакомства, в особенности для тех, кто со мной не знаком :) Меня зовут Артем Соломников и я со-учредитель, со-разработчик и...

Как вырастить из студента инженера-программиста? Привет! Меня зовут Денис Довженко, и я уже несколько лет провожу технические собеседования с кандидатами на позиции инженера-программиста C/C++. Если с кандидатами на позиции Senior SW Engineer и выше основной разговор ведётся об опыте работы, то отбор будущих интернов и джу...

Процесс тестирования в Kanban Привет, меня зовут Лилия, я QA TeamLead в финансовом маркетплейсе Одобрим.ру. У нашей команды нет разделения на разработку и поддержку, и мы работаем по Kanban. Данная методология позволяет нам совмещать поддержку (т.е. задачи, которые появляются неожиданно и которые нужно в...

Сниппеты. Как сделать процесс работы с документацией проще Привет, Хабр! Меня зовут Павел Лесюк. Я тестировщик нативных мобильных приложений. В своей предыдущей статье я привел список инструментов, которые могут использоваться тестировщиками и некоторыми другими специалистами для повышения продуктивности своей работы. В новой сери...

Business Intelligence на очень больших данных: опыт Yota Всем привет! Меня зовут Михаил Волошин, и я, как руководитель отдела инструментов бизнес-анализа, хочу верхнеуровнево рассказать о плюсах и особенностях BI-решения Yota. 200 Tb Vertica, 400 Tb Hadoop, кластер Tableau, специфичная организация процесса разработки и многое ...

[recovery mode] $mol_func_sandbox: взломай меня, если сможешь!. Здравствуйте, меня зовут Дмитрий Карловский и я… хочу сыграть с вами в игру. Правила её очень просты, но их нарушение… приведёт вас к победе. Почувствуйте себя в роли хакера выбирающегося из JavaScript песочницы с целью прочитать куки, намайнить биткоины, сделать дефейс или ...

Делаем схему выбора мест в кинозале на React: о canvas, красивом дизайне и оптимизации В богатой экосистеме Тинькофф есть лайфстайл-сервисы. Купить билеты на различные мероприятия - в кино, театры, на концерты, спортивные события можно на https://www.tinkoff.ru/entertainment/, а также в мобильном приложении. Меня зовут Вадим и я расскажу вам, как мы это делали...

История разработки The Light Remake. Часть 2 Приветствую, читатель! В первой части статьи, посвященной разработке The Light Remake в общих чертах был рассмотрен процесс переноса игры на новую версию Unity. Я немного рассказал об используемых шейдерах и эффектах, о том, какие решения были реализованы в работе со свето...

Edge-ик в тумане и другие приключения периферийных вычислений Добрый день. Меня зовут Игорь Хапов. Я руководитель разработки в Научно-техническом центре IBM. И сегодня я хотел бы вам помочь окунуться в мир периферийных вычислений, или edge computing, как его ещё называют. Я расскажу о том, что же такое edge computing и как он может пов...

[Из песочницы] Создание арт-объекта для Burning Man Здравствуйте. Меня зовут Сергей, и в этой статье я расскажу о том, как мы сделали арт-объект для мероприятия Burning Man. Я расскажу о технической стороне, не касаясь самого мероприятия. Ну, почти не касаясь. Читать дальше →

Как мы позволяем разработчикам разрабатывать, а не перерабатывать Привет! Меня зовут Костя Карусев, я тимлид в одной из команд направления WMS (Warehouse Management System). В статье я расскажу, как выглядит наш процесс разработки, и как он помогает разработчикам заниматься своим делом и с чистой совестью отдыхать на выходных. Отвечу на т...

Наблюдательный пост пессимиста: технические и концептуальные решения в системе мониторинга Lamoda Всем привет! Меня зовут Александр Афенов, я работаю в Lamoda. Эта статья по мотивам моего доклада с HighLoad 2019, запись которого лежит тут. Раньше я был тимлидом, и в моем ведении была пара критикал-сервисов. И если в них что-то шло не так, это останавливало реальные бизн...

Внедряем кросс-платформенные пуш-уведомления: начало Добрый день! Меня зовут Владимир Столяров, я бэкенд-разработчик в команде Клиентские коммуникации в ДомКлике. В этой статье я расскажу о том, как внедрить кросс-платформенные пуш-уведомления. Хотя про это уже написано немало, я бы хотел рассказать о некоторых нюансах, с кото...

Каким бывает фрод в маркетплейсе, как его вычислять и предотвращать. Доклад Яндекса Прежде чем строить антифрод, надо понять, каким на сервисе бывает фрод — какие методы злоумышленники выбирают, чтобы получить выгоду и навредить пользователям. Алексей Савостин поделился опытом Яндекс.Маркета в исследовании способов фрода, рассказал о целях (порой изощрённых...

Использование перехватов операций для бэкапа файлов в macOS “на лету” Привет, Хабр! Меня зовут Денис Копырин, и сегодня я хочу рассказать о том, как мы решали проблему бэкапа по требованию на macOS. На самом деле интересная задача, с которой я столкнулся в институте, выросла в итоге в большой проект по работе с файловой системой в macOS и стал...

Минифицируем приватные поля в TypeScript. Доклад Яндекса Меня зовут Лёша Гусев, я работаю в команде разработки видеоплеера Яндекса. Если вы когда-нибудь смотрели фильмы или трансляции на сервисах Яндекса, то использовали именно наш плеер. Я сделал небольшую оптимизацию размера бандла — минификацию приватных полей. В докладе на Я....

Дорога к BPMN Привет! Меня зовут Лев, и я инженер в новосибирской команде интеграционных сервисов ДомКлик. Мы разрабатываем (микро)сервисы, которые связывают между собой множество разрозненных систем, а также делают многие процессы быстрыми и прозрачными для конечного пользователя.  ...

Электрокружок. Строим безумный электросамокат/электробайк Привет, друзья. Меня зовут Дмитрий. И я увлекаюсь электрификацией. Хочу рассказать вам про свою идею и что я хочу построить. Есть такая самокатная рама, которая называется 20”16. Точнее, байк. Так вот речь именно о нем. Читать дальше →

Мониторинг бизнес-процессов Camunda Привет, Хабр. Меня зовут Антон и я техлид в компании ДомКлик. Создаю и поддерживаю микросервисы позволяющие обмениваться данными инфраструктуре ДомКлик с внутренними сервисами Сбербанка. Это продолжение цикла статей о нашем опыте использования движка для работы с диаграмм...

«Инфраструктура как код» в автоматизации сервисов CI/CD Привет! Меня зовут Игорь Николаев, я пью за любовь работаю в отделе автоматизации процессов разработки Мир Plat.Form в НСПК. В этой статье я поделюсь тем, как наш отдел решал задачу по автоматизации предоставления различных ресурсов для команд разработки. Эта задача свойстве...

[Из песочницы] Техническая документация в разработке ПО: кто, зачем, когда и как описывает проект Привет! Меня зовут Даша Григорьева, я технический писатель в компании 65apps. Мы занимаемся разработкой сложных мобильных решений, и моя задача — подготовка технической документации по проектам. Очень часто роль технического писателя бывает недооцененной в компании (не у ...

Джентльменский набор от Huawei для разработчика мобильных игр: Game Service и инструменты для быстрой интеграции HMS Привет, Хабр! Меня зовут Михаил, я занимаюсь технической поддержкой разработчиков в области интеграции Huawei Mobile Service. И сегодня я хочу рассказать про наши инструменты, которые могут быть полезны разработчикам мобильных игр. Про то, как можно быстро адаптировать игру...

[recovery mode] Как мы обеспечивали рост Ситимобила Меня зовут Иван, я руководитель серверной разработки в Ситимобил. Сегодня я расскажу о том, что собой представляет эта самая серверная разработка, с какими проблемами мы сталкивались и как планируем развиваться. Читать дальше →

Вначале был монолит: как мы меняем нашу архитектуру, не мешая бизнесу Всем привет! Меня зовут Игорь Наразин, я тим-лид команды в направлении логистики Delivery Club. Хочу рассказать, как мы строим и трансформируем нашу архитектуру и как это влияет на наши процессы в разработке. Сейчас Delivery Club (как и весь рынок фудтеха) растёт очень бы...

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

[Из песочницы] Как оптимизировать разработку приложений Привет! Меня зовут Андрей, я Android developer в компании Genesis Media и создаю приложения для наших медиа-бизнесов в Африке. На континенте безумно дорогой интернет, а основные мобильные устройства — маломощные бюджетные андроид-смартфоны, поэтому я делаю все возможное, что...

Как мы нанимали технического писателя Привет, Хабр! Меня зовут Нина Золотова, я технический писатель Parimatch Tech, сама не один раз проходила собеседования на эту позицию, затем проводила их, поэтому знаю процесс найма с обеих сторон. Теперь хочу поделиться, как мы это делаем и на что обращаем внимание. П...

[Из песочницы] Анимация в KAPIA. «Лучше один день потерять, чтобы потом за пять минут долететь» Анимация в KAPIA Добрый день! Меня зовут Павел. Я являюсь программистом и аниматором маленькой семейной команды по разработке игр. Я и моя жена делаем 3Д адвенчуру в постапокалиптическом мире. За время разработки мы изобрели свои технические “велосипеды” с которыми я хотел...

Делаем голову шинного USB-анализатора на базе комплекса Redd В прошлой паре статей мы рассмотрели пример «прошивки» для комплекса Redd, делающей его ПЛИСовую часть логическим анализатором общего применения. Дальше у меня было желание сделать следующий шаг и превратить его в шинный USB-анализатор. Дело в том, что фирменные анализаторы ...

Как мы ускоряли работу отладчика Swift Привет! Меня зовут Александр Скворцов, я работаю в команде Яндекс.Браузера для iOS. Это очень большой проект, который насчитывает около тысячи clang-модулей и примерно 600 Swift-модулей. Наверное, из-за таких масштабов мы чаще других наталкиваемся на проблемы инструментов ра...

Платформа как сервис в Авито: как это устроено Привет, Хабр! Меня зовут Александр Лукьянченко, я тимлид команды, которая занимается платформой в Авито. В этой статье я расскажу о проблемах, которые возникали у нас при построении платформы для инженеров и том, какие технические решения мы использо...

Обучение, удалённая экспертиза и другие сферы применения AR/VR в металлургической промышленности Привет, меня зовут Денис Колупаев, я возглавляю команду AR/VR-разработчиков в компании «Северсталь». В нашей компании технологии виртуальной и дополненной реальности начали внедрять по инициативе экспертов управления по развитию новых технологий нашего центра R&D в IT. Б...

Массивно-параллельная база данных Greenplum — короткий ликбез Для Hadoop и Greenplum есть возможность получить готовый SaaS. И если Хадуп — известная штука, то Greenplum (он лежит в основе продукта АrenadataDB, про который далее пойдёт речь) — интересная, но уже менее «на слуху». Arenadata DB — это распределённая СУБД на базе опенс...

(S)SDLC, или Как сделать разработку безопаснее. Часть 2 – Наташ, а Наташ? Мы там, это… SAST внедрили. – Мы там всё уронили, Наташ. Вообще, всё!!! – Пайплайны стоят, очередь забита… – Ни одной сборки не прошло! Вставай, Натаааш! Вот так примерно можно проснуться на следующее утро после внедрения в разработку статического анализ...

Open360: как мы начали с разработки модели премирования и сделали IT-систему для внутреннего HR TL;DR: рассказываю о задаче оценки вклада сотрудника в общий результат и новой open source системе проведения круговой оценки сотрудников, разработанной в нашей компании, на базе метода оценки 360 градусов. Здравствуйте, меня зовут Иван Кудрявцев — я технический директор и ...

Массовая оптимизация запросов PostgreSQL. Кирилл Боровиков (Тензор) В докладе представлены некоторые подходы, которые позволяют следить за производительностью SQL-запросов, когда их миллионы в сутки, а контролируемых серверов PostgreSQL — сотни. Какие технические решения позволяют нам эффективно обрабатывать такой объем информации, и как эт...

Гиперкуб. Как мы обеспечили разработчиков тестовыми устройствами и не потеряли их Невозможно полноценно тестировать и отлаживать мобильные приложения без тестовых устройств. Таких устройств должно быть много, потому что один и тот же код на разных моделях ведёт себя по-разному. Но как организовать учёт устройств? Как сделать так, чтобы разработчики и тест...

Применение CQRS & Event Sourcing в создании платформы для проведения онлайн-аукционов Коллеги, добрый день! Меня зовут Миша, я работаю программистом. В настоящей статье я хочу рассказать о том, как наша команда решила применить подход CQRS & Event Sourcing в проекте, представляющем собой площадку для проведения онлайн-аукционов. А также о том, что из эт...

Win 10 Tweaker — быстрая оптимизация Windows в несколько кликов. Но не всё так радужно Всем привет! Меня зовут Тилек, и я алкоголик пользуюсь Windows. Меня эта операционная система вполне устраивает. У меня видавший виды б/у-ный служебный ноутбук HP ProBook 4540s, который у меня с 2015 года. Модель старая, да и сам ноут не новый, и с тех пор он успел побыват...

Безопасность и СУБД: о чём надо помнить, подбирая средства защиты Меня зовут Денис Рожков, я руководитель разработки ПО в компании «Газинформсервис», в команде продукта Jatoba. Законодательство и корпоративные нормы накладывают определенные требования к безопасности хранения данных. Никто не хочет, чтобы третьи лица получили доступ к конф...

[Из песочницы] Мир на ладони или как мы с помощью чат-бота оптимизируем рабочие процессы сотрудников Когда численность сотрудников в НСПК стала измеряться сотнями, а количество корпоративных систем, в которых они работают десятками, то взаимодействие с ними стало не всегда удобным, временные затраты на доступ к ним с рабочей машины начали превышать непосредственное время с...

Как построить диаграмму Венна с 50 кругами? Визуализация множеств и история моего Python-проекта с открытым кодом Всем привет, меня зовут Фёдор Индукаев, я работаю аналитиком в Яндекс.Маршрутизации. Сегодня хочу рассказать вам про задачу визуализации пересекающихся множеств и про пакет для Python с открытым кодом, созданный мной для её решения. В процессе мы узнаем, чем различаются диа...

Delivery Club x GIST Привет! Меня зовут Илья Воробьёв, в Delivery Club я отвечаю за направление клиентских продуктов. Вместе с Андреем Евсюковым я расскажу о том, как в растущей команде мы пересобирали процессы планирования и к чему это привело. Готовя статью, мы поговорили с участниками и св...

Война с тормозами. Оптимизация количества рендеров компонентов в React Native Привет, Хабр! Меня зовут Камо Сперцян, я занимаюсь React Native разработкой в Profi.ru. Если вы решили воспользоваться технологией React Native для быстрой доставки продуктовых фич и сосредоточились на скорости разработки, то, скорее всего, столкнётесь с проблемами производи...

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

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

Строим безопасную разработку в ритейлере. Опыт интеграции с кассовым ПО GK Что самое сложное в проектной работе? Пожалуй, свести к общему знаменателю ожидания от процесса и результата у заказчика и исполнителя. Когда мы начинали внедрять безопасную разработку в группе GK-приложений (кассового ПО) крупного ритейлера, то на входе имели вагон времени ...

[Перевод] Mitsubishi VisiTel: общение в Zoom в стиле 1980-х За окном 2020 год. Удалённая работа — это уже совершенно нормально. Десятилетия рекламы ведущих телекоммуникационных компаний наконец сделали своё дело — научили мою маму совершать видеозвонки. Правда, события последних месяцев, вызвавшие неожиданный интерес общественности к...

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

Оценить, обучить и вырастить. Как мы строим самообучающуюся организацию в НСПК Всем привет, меня зовут Инна Карелина и в НСПК я отвечаю за направление оценки, обучения и развития сотрудников. Придя в компанию 3 года назад, я была приятно удивлена отношением к обучению у руководителей разных уровней. Это было счастье, и всё, что оставалось – воплотить ...

От монолита к модулям: как отстроены бизнес-процессы склада Lamoda Привет! Меня зовут Евгений Рябышев, я разработчик в одной из команд направления Warehouse Management System (WMS) компании Lamoda. Я занимаюсь тем, что автоматизирую склад. В этой статье расскажу, как мы строим нашу модульную архитектуру. Наши основные бизнес-процессы для у...

Как и почему мы переехали с собственного npm-репозитория на Verdaccio Всем привет. Меня зовут Андрей Фримучков, я работаю в команде инфраструктуры разработки интерфейсов Яндекса. Последние два месяца участвовал в запуске нового хранилища пакетов. Около года назад мы упёрлись в ограничения собственного решения и после череды экспериментов пришл...

Гибкие процессы в IT команде Всем привет, меня зовут Алексей Федоров, я тимлид команды финансов в Ситимобил. В этой статье я хочу поделиться тем, как устроен процесс гибкой разработки в нашей команде. Читать дальше →

Написали 100 микросервисов и не сошли с ума: как мы в Lamoda шарим знания и технологии Привет, Хабр! Меня зовут Даниил Зиненко, руководитель направления разработки Online Shop в Lamoda. Online Shop – это одно из IT-подразделений в Lamoda, которое отвечает за сайт и за мобильное приложение. Всего у нас 121 сервис, 67 из которых мы написали на Go за последние 4...

Как мы прошли путь от разработки прошивок для каждой камеры до создания универсального SDK для вендоров камер Привет, меня зовут Олег Герасимов, я директор центра компетенций IT-кластера Ростелекома. Наша команда среди многих задач разрабатывает прошивки камер видеонаблюдения для B2B и B2C-сервисов. В предыдущей статье я рассказывал, как мы научились самостоятельно разрабатывать соф...

[Личный опыт] Жизнь разработчика: Сингапур vs. Москва vs. Долина Историй и причин для переезда примерно столько же, сколько переехавших и вернувшихся людей. Кто-то наоборот находит больше причин, чтобы остаться там, где родился. Для кого-то переезд — это результат долгих размышлений, для других ― твердое убеждение, а&n...

Как мигрировать большой процесс с IBM BPM на Camunda и не останавливать разработку фич Привет, меня зовут Денис, я работаю в Тинькофф и занимаюсь BPM-системами. В этой статье я расскажу, как мигрировать с легаси систем а-ля IBM BPM на опенсорс движок процессов Camunda на примере большого процесса. А в конце приглашу вас на четвертый митап по Camunda, который...

CRUD для NMAP’а: решение для мониторинга открытых портов на хостах Привет, Хабр! Меня зовут Рудаков Александр, я занимаюсь информационной безопасностью в компании "ЛАНИТ-Интеграция". Однажды, в рамках работы над проектом, мне понадобилось организовать небольшой непрерывный мониторинг (с хранением истории) открытых портов в подсети...

[Из песочницы] Быстрый деплой vm ESXi с помощью Terraform Всем привет, меня зовут Иван и я алкоголик системный администратор (OPS). Я бы хотел рассказать как разворачиваю виртуальные машины на ESXi без vCenter с помощью Terraform. Читать дальше →

Как мы сделали миграцию пользовательских данных с нативного приложения на Flutter Всем привет! Меня зовут Дмитрий Андриянов, я Flutter-разработчик в Surf. В этой статье я расскажу про бесшовную миграцию данных при установке новой версии приложения, написанного на Flutter, поверх предыдущей версии, написанной на нативе. Это решение реализовано моим коллег...

Исследуем баг iOS с помощью Hopper Привет! Меня зовут Александр Никишин, я занимаюсь разработкой iOS-приложений в компании Badoo. В статье я расскажу о том, как мы исследовали баг в UIKit, который Apple не хотела исправлять на протяжении полугода. Всё началось в августе 2019 года с первых бета-версий iOS 1...

Как «раскирпичить» STM32 Здравствуйте! Меня зовут Дмитрий Руднев. В этой публикации я поделюсь своим горьким опытом. В современной разработке широко используются микроконтроллеры STM32. Они обладают неплохим соотношением цена/производительность, вокруг них сложилась развитая «экосистема». Для прош...

Технические доклады Lamoda на GolangLive 2020 Привет, Хабр! Меня зовут Даниил Зиненко и я руководитель направления разработки Online Shop в Lamoda. С 14 по 17 октября наша Go-команда будет на онлайн-конференции GolangLive со стендом, на который мы и хотим вас пригласить. Ниже расписание мини-докладов от наших инженеров...

Как мы стартовали Vivid Money для iOS Всем привет! Меня зовут Илья. Я - iOS техлид в Vivid Money. Мы больше года занимались разработкой нашего финтех-продукта и теперь готовы поделиться с сообществом приобретенным опытом и знаниями.Это вступительная статья, в которой я поверхностно затрону несколько технических ...

Онлайн митапы на всю неделю c 10 апреля по DevOps, бэку, фронту, QA, управлению командой и аналитике Привет! Меня зовут Алиса и мы вместе с командой meetups-online.ru подготовили список интересных митапов в сети на ближайшую неделю. Пока встречаться с друзьями получается только в online-барах, можно развлечь себя прогулкой на митап, например, не по своей теме. Или можно ввя...

Разработка первого проекта на платформе Microsoft Dynamics 365 For Finance and Operations Всем привет! Меня зовут Таня, я тимлид группы разработки Axapta в компании Lamoda. В этой статье речь пойдет про разработку нашего первого проекта на платформе Microsoft Dynamics 365 For Finance and Operations. Я расскажу про подходы, которые мы использовали, про ошибки,...

[Перевод] Новая технология, позволившая CD Projekt Red создать реалистичную речь персонажей Cyberpunk 2077 Пиф Эдвардс: Меня зовут Пиф Эдвардс (Pif Edwards), я докторант Торонтского университета и сооснователь JALI Research. В этой презентации мы расскажем о том, как применили в Cyberpunk 2077 результаты своей статьи, опубликованной в 2016 году. Крис Ландрет: Привет, меня зовут...

[Из песочницы] Как Service Desk спас сервисную компанию, или Что делать, если ваш бизнес растет? Меня зовут Дарья, я продуктовый аналитик. Основной продукт моей компании — service desk, облачная платформа, которая автоматизирует бизнес-процессы: например, ремонтные работы, техническое обслуживание различных объектов. Одна из моих задач — участие в процессе внедрения наш...

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

Сим-сим, откройся! — Как мы запустили проект «Открытые данные» Всем привет! Меня зовут Сергей Фолимонов, в ДомКлик я отвечаю за direct marketing и коммуникации с клиентами. С недавних пор я выступаю еще в роли PO проекта «Открытые данные», и хочу рассказать об истории создания этого продукта, сделав акцент на проблемах, с которыми нам ...

Быстро разрабатываться и не падать: инструменты и опыт поиска Маркета. Доклад Яндекса Поговорим о взаимодействии разработчика с ручными и автоматическими тестировщиками. Тимлид команды разработки в Маркете Юрий Акатов yuraaka рассказал о том, как создать платформу модульных автотестов и интегрировать её в процесс релиза, о проблемах нагрузочного тестирования ...

Платформенные команды, DDD радар и MVP, который не превратится в техдолг — все это на TechLead Conf 2020 Привет! Меня зовут Вьет, и больше 10 лет я с любовью пишу код. В прошлом году меня пригласили в программный комитет, в котором большие фанаты качественной разработки делали конференцию QualityConf. Мы верим, что качественная разработка не ограничивается вопросами тестирован...

varchar(max)-varchar(max) и в продакшн Недавно поучаствовал в дискуссии на тему влияния на производительность указания длины в столбцах с типом nvarchar. Доводы были разумны у обеих сторон и поскольку у меня было свободное время, решил немного потестировать. Результатом стал этот пост. Спойлер – не всё так одноз...

Исследование возможных заимствований и нарушений условий лицензирования в Java-коде на GitHub Меня зовут Ярослав Голубев, я работаю в JetBrains Research, в лаборатории методов машинного обучения в программной инженерии. Некоторые мои коллеги уже писали здесь о своих проектах (например, о подсказках для онлайн-курсов). Общая цель нашей группы — сделать работу программ...

Доступность — это просто, Или 5 смертных грехов доступности Привет, Хабр! Меня зовут Алексей Устинов, я Frontend-разработчик в Delivery Club. В свободное время я интересуюсь вопросами доступности интерфейсов. Это первая из двух статей, в которых я хочу рассказать о проблемах с доступностью в вебе. Я расскажу про 5 простых правил, соб...

Как подружить PyTorch и C++. Используем TorchScript Около года назад разработчики PyTorch представили сообществу TorchScript — инструмент, который позволяет с помощью пары строк кода и нескольких щелчков мыши сделать из пайплайна на питоне отчуждаемое решение, которое можно встроить в систему на C++. Ниже я делюсь опытом его ...

Model-Widget-WidgetModel, или какой архитектурой пользуется Flutter-команда в Surf Привет, меня зовут Артём. Я руководитель Flutter-разработки в Surf и со-ведущий FlutterDev подкаста. Flutter-отделу в Surf уже больше года. За это время мы сделали несколько проектов: от маленьких служебных, до полноценных е-коммерс и банкинга. Как минимум, многие из вас уж...

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

Как мы внедряли распределенный кеш на Tarantool в одной АБС Разработка любого достаточно серьезного софта, будь то калькулятор матриц или ИИ беспилотного автомобиля, — это всегда какая-то своя предметная область, определенные технологии, алгоритмы и структуры данных, архитектура кода, процесс разработки и еще много разных умных терм...

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

[Перевод] Разработка Spring Boot-приложений с применением архитектуры API First В этом материале я приведу практический пример реализации архитектуры API First с применением спецификации OpenAPI. А именно, сначала расскажу о том, как создал определение API, а затем — о том, как, на основе этого определения, создал серверную и клиентскую части приложения...

[Из песочницы] Инди-проект Tenebris, или геймдев без бюджета Друзья, меня зовут Пётр и хочу рассказать вам о своем опыте в разработке инди-игры  —  Tenebris. Работа над проектом началась с мая 2019 года, именно тогда, имея в голове лишь приблизительный концепт и дикое желание, начал собирать команду. Довольно скоро ко мне присоедини...

Оптимизация интерфейса в Unity без кода В этой статье ведущий UI/UX художник Никита Кандыбин и технический UI художник Ольга Кинчак поделятся эффективными базовыми практиками по оптимизации Unity UI, которые используются в компании Banzai Games при создании игровых интерфейсов, а также укажут на подводные камни ...

Xудшие практики для Ansible. Георгий Шуклин Приветствую всех! Меня зовут Георгий. Я работаю в компании servers.com. Я пришел рассказать про Ansible: про хороший Ansible и про плохой Ansible в основном, т. е. про то, как люди могут плохо делать на Ansible. Читать дальше →

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

Kubernetes в ДомКлик: как спать спокойно, управляя кластером на 1000 микросервисов Меня зовут Виктор Ягофаров, и я занимаюсь развитием Kubernetes-платформы в компании ДомКлик в должности технического руководителя разработки в команде Ops (эксплуатация). Я хотел бы рассказать об устройстве наших процессов Dev <-> Ops, об особенностях эксплуатации одно...

FinTech. А что защищать? Всем привет, Минутка деанона, меня зовут Анатолий Маковецкий, я Security Team Lead в Exness. Сразу извинюсь перед теми, кто ожидает увидеть технический write-up, здесь его не будет. Также в материале описаны настолько очевидные на первый взгляд вещи, что даже не факт, что ...

Доходы с продаж Cyberpunk 2077 уже окупили разработку и маркетинг Портал «PAP Business» опубликовал комментарий представителей студии CD Projekt RED о первых доходах, полученных компанией от Cyberpunk 2077. Проект уже смог окупить затраты. Источник изображения: goodfon По оценкам студии, выручка от предзаказов игры смогла компенсировать вс...

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

Pattern matching. Теперь и в Python Привет! В юбилейный минор третьего питона наконец-то завезли pattern matching. Саму концепцию сложно назвать новой, она уже реализована во многих языках, причём как нового поколения (Rust, Golang), так и у тех, кому уже за 0x18 (Java). Анонсировал pattern matching Гвидо в...

(S)SDLC, или Как сделать разработку безопаснее. Часть 3 Этой статьей мы завершим небольшой цикл о построении процесса безопасной разработки на основе SAST — статического анализа кода на безопасность. В первой части мы разобрали основные вопросы, возникающие при внедрении SAST в процесс разработки. Во второй части остановились на ...

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

CGI в домашних условиях при помощи Unreal Engine и iPhone Всем привет! Меня зовут Василий Мазалов, я работаю старшим видеомонтажером в компании Pixonic. Наш отдел занимается созданием видео-креативов для маркетинга и комьюнити: роликов для страниц в сторы, обзорных видео игровых нововведений и прочего контента. Когда я не создаю к...

Устройство гетерогенного кластера выполнения задач. Доклад Яндекса Тысячам разработчиков в Яндексе каждый день нужно решать и выполнять множество самых разных задач: от простых скриптов, запускаемых по расписанию, до сложных релизных пайплайнов. Как построить эффективную систему выполнения задач общего назначения? Как сделать ее отказоустой...

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

Хаос на практике: зачем ломать production? Всем привет! Меня зовут Олег Сидоренков, и я отвечаю за IT-инфраструктуру в компании ДомКлик.Ломать — не строить! Так обычно говорят люди, пытаясь показать деструктивный процесс простым, не требующим усилий. Сегодня я хочу вам рассказать о пользе Chaos Engineering (хаос-инже...

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

[Из песочницы] Как использовать поиск эффективно Доброго времени суток. Сейчас мне немного за тридцать, и бо́льшую часть своей жизни я пользуюсь поиском в интернете. Так же, как большинство людей. Но, чем больше проходит времени, тем заметнее для меня становится то, что многие люди не используют и малую часть его возможнос...

Как мы технически обеспечиваем работу офисов ABBYY во время карантина Хабр, привет! Меня зовут Олег, и я отвечаю за IT-службу в группе компаний ABBYY. Больше месяца назад сотрудники ABBYY по всему миру начали работать и жить только дома. Больше никакого опенспейса и командировок. Поменялась ли моя работа? Нет. Хотя вообще-то да, но она изменил...

Автотесты на языке разметки или как мы в Lamoda тестируем микросервисы Всем привет! Меня зовут Кирилл Поляков, я QA-инженер в компании Lamoda. Мы тестируем бекэнд большой e-commerce платформы. В этой статье я расскажу, как мы пришли к автотестам на языке разметки для тестирования микросервисов и делаем это с помощью инструмента собственной разр...

[Из песочницы] Как построить ЦОД Tier IV по схеме N + 1 Системы ИБП с изолированно-параллельной шиной (IP-Bus) – ответ разработчиков на рост мощностей дата-центров. В мире уже построено много ЦОДов с IP-Bus, в том числе с сертификатом Tier IV Uptime Institute. К таким решениям присматриваются и российские заказчики. В практике ...

[Перевод] Уходя уходи: почему не стоит принимать контроффер Привет, Хабр! Меня зовут Женя Остроумова, и я рекрутёр_ка. Сегодня поговорим с вами про контрофферы. Читать дальше →

Как перенести шейдер из игрового движка в Substance Painter Меня зовут Тарас Улейский, я Technical Artist в Plarium Kharkiv. Для оптимизации графики нашей Survival RPG на мобильных устройствах мы использовали свои кастомные шейдеры. Они предполагают использование уникальных текстур и карт, которые не похожи на текстуры и карты в друг...

Практическое руководство по разработке бэкенд-сервиса на Python Привет, меня зовут Александр Васин, я бэкенд-разработчик. Идея этого материала началась с того, что я хотел разобрать вступительное задание (Я.Диск) в Школу бэкенд-разработки Яндекса. Я начал описывать все тонкости выбора тех или иных технологий, методику тестирования… Получ...

Разработка сложных компонентов: деливерим быстро, поддерживаем легко Всем привет, меня зовут Роман Пятаков! Я техлид во фронтенд-команде Lamoda. И сегодня хочу поговорить с вами о разработке сложных компонентов. Lamoda — это технически сложный продукт, которым пользуются 10 миллионов пользователей ежемесячно, насчитывающий более 100 внутрен...

[Перевод] Неочевидная разница между лидером и менеджером Кто вы: лидер или менеджер? Некоторые часто принимают лидеров за менеджеров — и наоборот. Однако эти понятия совершенно разные: если вы справляетесь с ролью менеджера, это не значит, что вы можете быть лидером. И наоборот: не все лидеры могут эффективно управлять людьми и ...

[Перевод] Разработка PWA с поддержкой распознавания лица и голоса Этот материал посвящён продвинутым возможностям PWA (Progressive Web Application, прогрессивное веб-приложение), основанным на некоторых современных API. А именно, здесь мы поговорим о разработке веб-проекта, поддерживающего распознавание лица и голоса. Тем, что раньше было ...

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

Всё и сразу: автоматическая проверка размера бандла Привет всем, меня зовут Илья. В ИТ я работаю около 6 лет, последние 2 года — в компании «Яндекс.Деньги» фронтенд-разработчиком. В обязанности входит поддерживать/развивать части приложений, в данный момент проект «Личный кабинет» (и нет, это не просто «в ие неправильные отст...

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

Повысить эффективность приживаемости имплантата в 5-7 раз – как это возможно? Для приживаемости имплантата важна не только биосовместимость материала, большую роль играют и его структурные особенности: чем лучше имплантат «мимикрирует» под кость, тем быстрее начнется процесс срастания. Процесс можно сделать более эффективным при помощи введения специф...

Бинарная совместимость Reaktive: как мы её обеспечиваем Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и принимаю участие в создании библиотеки Reaktive — Reactive Extensions на чистом Kotlin. Любая библиотека должна по возможности соблюдать бинарную совместимость. Если разные версии библиотеки в зависимостя...

Как мы нарисовали на карте несколько тысяч интерактивных объектов без вреда для перформанса Привет, меня зовут Дарья, и я Frontend-разработчик юнита Гео в Авито. Хочу поделиться опытом того, как мы сделали на вебе новый поиск по карте, заменив кластеры более удобным решением и сняв ограничение на количество отображаемых объектов. В статье я расс...

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

Приглашаем на технические сессии Dell Technologies: бесплатная регистрация открыта Привет, друзья! Сегодня у нас ещё один полезный анонс специально для вас. В начале осени мы запустили интересный онлайн-формат – технические сессии с экспертами нашей компании. Это вебинары для специалистов, принимающих технически важные решения (CTO, системных инженеров, би...

Цифровая логистика: решение транспортной задачи спроса и предложения с помощью библиотеки DOcplex от IBM Всем привет, меня зовут Дмитрий Кузин (Application Development Senior Analyst в Accenture), и в своей статье я делюсь историей о том, как запрос на решение задачи в корпоративной рассылке привел к освоению Python библиотеки DOcplex от IBM, предназначенной для решения оптими...

Технология Apphost: альтернативная вселенная микросервисов в Яндексе Когда-то поиск Яндекса представлял из себя бутерброд. Каждый его слой могли эффективно разрабатывать единицы людей. Однако верхний добавлял пикантности. Этот слой представлял из себя Apache с кучей Perl’овых модулей. Поддерживать большой объём кода на стареющем языке програм...

(S)SDLC, или Как сделать разработку безопаснее. Часть 1 С каждым годом культура разработки растет, появляются новые инструменты для обеспечения качества кода и новые идеи, как эти инструменты использовать. Мы уже писали про устройство статического анализа, про то, на какие аспекты анализаторов нужно обращать внимание, и, наконе...

[Из песочницы] О прокурорских блокировках криптовалютных сайтов Здравствуйте! Меня зовут Артём Сидельников, я работаю в юридической фирме «Тимофеев/Черепнов/Калашников». Сейчас мы ведём дело, в котором пытаемся оспорить блокировку криптовалютного сайта. Количество таких блокировок по административным искам прокурора растет, а количество ...

Опыт выбора кроссплатформенной технологии для разработки приложения. Доклад Яндекса Когда нужно сделать мобильное приложение, вариант по умолчанию — это нативная разработка. Другие способы по-прежнему не всегда принимаются в расчет. Но альтернативы, в том числе сравнительно новые, правда существуют. О них в своем докладе рассказал Геннадий Евстратов, руково...

Будни аналитиков в «М.Видео—Эльдорадо» Профессию аналитика многие связывают с анализом данных ради поиска неочевидных закономерностей и тенденций. Однако это лишь одно из направлений деятельности, которое в русском языке называется «обработка и анализ данных», а в английском — data science, наука о данных. Друг...

Настроили мониторинг. Что дальше? Всем привет! Меня зовут Мазеин Михаил, я занимаюсь бекенд-разработкой в ManyChat. Одна из моих задач — анализ и повышение качества нашего продукта через системы мониторингов, алармов и сопутствующих процессов. Я на своем опыте убедился в том, что выстроить мониторинг — недо...

Как устроены абилки в War Robots Привет! Меня зовут Владимир Попов, и я клиентский разработчик на проекте War Robots. War Robots существует уже несколько лет: за это время в игре появились десятки новых мехов. И, конечно, ни один из них не был бы уникальным без собственного набора способностей. О том, ...

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

Компьютерное зрение. Свой алгоритм или решение из «коробки»? Меня зовут Александра Царева. Я и мои коллеги работаем над проектами в сфере компьютерного зрения в Центре машинного обучения компании «Инфосистемы Джет». Мне хочется поделиться нашим опытом разработки и внедрения проектов в сфере компьютерного зрения. Сегодня речь пойдет ...

Почему лучше работать в B2B-проектах: неожиданные факты о разработке в B2B и B2C Правда ли, что разработка в B2B и B2C — это совершенно два разных мира? Многие разработчики считают, что в B2B:- медленная и неповоротливая разработка;- используются технологии 10-летней давности;- мало возможностей для профессионального развития;- нужно постоянно писать куч...

Что такое опционы и кому это нужно. Ликбез для гика, Ч.6 Что такое опционы и кому это нужно. Ликбез для гика, Ч.6 Меня зовут Михаил Андреев, я разработчик в нашем подразделении FX Derivatives Desk (на сленге отрасли позиция называется Quant Developer). В этом посте расскажу про опционы и все что с ними связано. Эти инструменты ...

Как помочь новому разработчику влиться в удаленную команду Привет, Хабр! Меня зовут Сергей Леонидов, я генеральный директор финансового маркетплейса Сравни.ру. В этой статье поделюсь собственным опытом и соображениями относительно адаптации удаленных разработчиков. Отмечу, что это крайне важный процесс как для компании, так и для ...

Пилим веб-опросник как у Meduza: пошаговый гайд для начинающих Меня зовут Егор, я Full-stack разработчик в Leader-ID. В этой статье я хочу поделиться простым рецептом по созданию красивого и удобного веб-опросника наподобие тех, что делает Meduza. Он умеет показывать статистику после ответа на отдельные вопросы, подсчитывать общий балл,...

OCR или как мы учимся читать спамеров на 5+ Всем привет, меня зовут Михаил Марюфич. Я занимаюсь машинным обучением в команде антиспама в Одноклассниках. И сегодня я расскажу про то, как и зачем мы сделали свою технологию распознавания текстовых символов с изображения OCR (Optical character recognition). Читать даль...

Hardware-тестирование в СИБУРе Ожидание не всегда соответствуют реальности. К сожалению. И если очередное такое несоответствие в жизни может стать поводом для грустной ухмылки, создания нового мемчика или спешного раскатывания бэкапа, то в промышленной сфере все немного иначе. Если какая-то железка, кото...

Принимаем платежи по Системе быстрых платежей (СБП) Всем привет! Меня зовут Тамара, я работаю в Тинькофф и отвечаю за торговый эквайринг и онлайн-кассы. Недавно на рынке появился новый способ оплаты покупок — по QR-коду через Систему быстрых платежей (СБП). Однако пока в сети мало информации о том, как все работает. В этой ст...

Compositional Layout: стоит ли игра свеч? Всем привет! Меня зовут Алексей Скоробогатов, я ведущий iOS-разработчик в Delivery Club. Сегодня я хотел бы рассказать про вёрстку в нашем приложении на примере использования Compositional Layout. В конце прошлого года волевым решением iOS-команды и апрувом руководства мы ...

Супераппы мертвы. Да здравствуют супераппы! Доклад Яндекса Всем привет, меня зовут Илья Богин, я руковожу отделом разработки мобильного портального приложения Яндекса и Яндекс.Браузера для Android/iOS. В докладе на конференции YaTalks я решил поговорить о том, что сейчас понимается под супераппами, какие задачи они решают, чем отлич...

Как мы решали проблему трех монолитов В стратегиях большинства компаний все чаще упоминается цифровизация: одни компании пытаются внедрять современные технологии (например, Big Data, IoT, AI, blockchain), другие — повсеместно автоматизируют свои внутренние процессы. Несмотря на растущие усилия и инвестиции во вн...

Как мы побеждаем неопределенность в Delivery Club Друзья, всем привет! Меня зовут Коля Архипов, я отвечаю за Research & Development в Delivery Club. Наша команда решает наукоёмкие задачи внутри FoodTech-платформы: мы разрабатываем компоненты, основанные на алгоритмах и данных, которых в платформе DС много. В процессе...

Особенности data-driven в нефтехимии При создании любого бизнеса каждое из его подразделений автоматизирует само себя. Как правило сквозные потоки данных между ними единичны. Это приводит к тому, что данные нельзя сопоставить друг с другом, ведь каждый отдел считает их по-своему. Никаких проблем, если собирать ...

Полевые исследования концепции «Documentation as code» Всем привет! Меня зовут Денис Олейник, я работаю техническим директором в 1Service. В нашей компании мы достаточно много времени уделяем работе с требованиями. По мере обретения опыта мы стали осознавать, что инструменты, обычно используемые при разработке программных проду...

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

[Перевод] Освещение в VFX и видеоиграх: сравнение подходов к рендерингу Сяоя Чжао — художница по спецэффектам, успевшая поработать как в кинопроизводстве, так и в игровой разработке (Halo Infinite), и над созданием рекламных кампаний для таких брендов, как Audi, Nike и PlayStation. На днях она сравнила процессы работы над освещением в крупных ...

Что такое Immutable Infrastructure Меня зовут Никита, я системный инженер в компании SEMrush. И в этой статье я расскажу вам, что такое Immutable Infrastructure, какие у этого подхода есть преимущества и недостатки и как мы его используем в компании. Если вы ни разу не слышали такое словосочетание, то усажив...

Шпаргалка по функциональному программированию Привет, меня зовут Григорий Бизюкин, я преподаватель Школы разработки интерфейсов и фронтенд-разработчик в Яндексе. Давайте поговорим о функциональном программировании в мире JavaScript. Мы все про ФП что-то слышали, нам всем оно интересно, но у меня, когда я искал полезные ...

Поиск родственников через тест ДНК. Часть 3 – Сдача теста и отправка по почте Ранее я рассказал о ДНК-тестировании для генеалогии и о том, как выбрать тест. Теперь немного расскажу о том, как сделать тест и как его отправить обратно. Уже потом будут получение результата и его анализ, но сначала надо купить сам тест, сделать забор материала и отправить...

Как в Солнечной галактике Clickhouse выбирали Давным-давно, в далёкой-далёкой Солнечной галактике, ещё до того, как она стала частью вселенной Ростелеком, в небольшом продукте webProxy возникла потребность не только фильтровать сетевой трафик, но и строить по нему статистику с последующим ее хранением. На тот момент кол...

[Из песочницы] Работать по 12 часов в сутки и не спать по 3 дня кряду, или как я стал frontend-разработчиком Как парень из города Камешково прокладывает себе путь в IT и доказывает, что было бы желание, а возможности всегда найдутся Привет! Меня зовут Артем, я frontend-разработчик в аутсорс-продакшене Hawking Bros. Сейчас я уже middle и еще параллельно учусь в колледже по специальн...

Запускаем камеру от телефона, или что делать, когда ничего не получается? Лет восемь назад работал я в одном… а в прочем, не важно где. Делали мы там всякие разные интересные вещи. В том числе занимались системами технического зрения для роботов. Роботы были немного маленькие. И если привод для них маленький сделать не было для нас особой проблем...

Здоровье индексов в PostgreSQL глазами Java-разработчика Привет. Меня зовут Ваня, и я Java-разработчик. Так получилось, что я много работаю с PostgreSQL – занимаюсь настройкой БД, оптимизацией структуры, производительностью и немного играю в DBA по выходным. За последнее время я привёл в порядок несколько баз данных в наших микрос...

Спасти рядового датасайнтиста. Как работать над компьютерным зрением, чтобы сделать проект и не потерять себя Меня зовут Александра Царева. Я и мои коллеги работаем над проектами в сфере компьютерного зрения в Центре машинного обучения компании «Инфосистемы Джет». Мне хочется поделиться нашим опытом разработки и внедрения проектов в сфере компьютерного зрения. В этом материале я р...

Интеллектуальный Ethernet-коммутатор для планеты Земля «Создать решение (решить проблему) можно несколькими способами, но, не всегда самый дорогой или/и популярный способ — самый эффективный!» Преамбула Года три назад, в процессе разработки дистанционной модели аварийного восстановления данных, я столкнулся с одним, незамеченн...

Как вести технический блог? Я работаю в коммерческой разработке с 2011 года. С конца 2012 занимаюсь разработкой под iOS. Свою первую техническую статью я написал на Хабре в начале 2017 года про подход к локализации мобильных приложений. Потом выпустил ещё несколько статей по iOS-разработке на Хабре и...

[Из песочницы] О чем поговорить на собеседовании с выпускником онлайн-курсов по тестированию Немного о себе Всем привет, меня зовут Лилия, я QA lead и преподаватель, последние лет 10 читаю курсы по тестированию в, так сказать, ведущих компаниях отрасли. И конечно, мне очень интересно, как преподают мои коллеги на онлайн-курсах и какие специалисты получаются в резуль...

DOOM Watch на ESP32. Часть 1 Попробовав разработку с готовыми модулями ESP32 захотелось сделать что-то маленькое и нативное. Решил сделать часы. Сначала подумал о ESP32-PICO-D4. Поскольку в ней только 4Mb flash под программу, решил сделать полноценную версию с расширением да 16Mb flash и 8Mb SRAM. Что б...

Информационная безопасность как предмет: история преподавателя GeekBrains Привет, Хабр. Меня зовут Владимир Душкевич, я специалист по информационной безопасности, преподаватель факультета «Информационная безопасность». Несколько лет назад я присоединился к команде GeekBrains и хочу рассказать об этом. В конце статьи будет небольшой анонс для тех ...

В поисках свежести 20 марта 2010 года началось извержение вулкана Эйяфьядлайёкюдль в Исландии. 14 июля 2015 года межпланетная станция New Horizons передала на Землю фотографии Плутона. 15 апреля 2019 года случился пожар в соборе Парижской Богоматери. Что общего в этих случаях? Каждое подоб...

Мы сократили время разработки нового сценария публикации объявления с 6 дней до 42 секунд Всем привет! Меня зовут Артем Пескишев, я iOS-разработчик в Авито. Хочу рассказать, как мы завели управляемый с бэкенда сценарий публикации новых объявлений в наших мобильных приложениях. Разберём, что такое пошаговые сценарии в приложениях и какие пробл...

Привычный ужас в SIP, или о том, как не надо проектировать сетевые протоколы. Часть 1 — синтаксис и морфология Здравствуйте, меня зовут Валентин, и я задолбался. Нет-нет, вы всё ещё на Хабре. Все технологии телефонии ужасны. Большинство технологий разработки IETF ужасны. Может, не ужасны-ужасны, как ISO… Когда они смешиваются… ну вы в курсе. Или ещё нет? Получается SIP. Это пост в...

Сценарий идеального технического собеседования Дисклеймер: это сценарий идеального технического собеседования в Delivery Club Tech. Мнение нашей команды может не совпадать с мнением читателей. Привет, Хабр! Меня зовут Василий Козлов, я iOS-техлид в Delivery Club. Я часто и много провожу собеседования. В этой статье я с...

Мы разобрали новую «Капсулу». Знаем, сколько микрофонов, и как она работает В конце января была представлена «Капсула» — умная колонка с ассистентом «Маруся». С 22 апреля ее можно купить. Мы делали полный обзор функционала новинки, но всегда интересно, что внутри. По просьбе Hi-Tech Mail.ru я разобрал «Капсулу» и описал свои впечатления. Мне всегд...

Подборка статей о машинном обучении: кейсы, гайды и исследования за июль 2020 Похоже, не один наш дайджест не обходится без упоминания разработок Open AI: в июле самой обсуждаемой темой в области машинного обучения стал новый алгоритм GPT-3. Технически это не одна модель, а целое семейство, которое для удобства обобщают под единым названием. В самой...

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

Картинки как коробки — что внутри? Доклад в Яндексе Картинки и видео — это «чёрные ящики», внутри которых лежит много интересного и непонятного. Но можно заглянуть внутрь некоторых форматов, всё там поменять и посмотреть, что из этого получится. Полина Гуртовая из компании «Злые марсиане» выступила на нашей конференции «Я&n...

Разработка сервера для многопользовательской игры с помощью nodejs и magx Многие разработчики начинают разработку многопользовательского онлайн сервера на основе библиотеки socket.io. Эта библиотека позволяет очень просто реализовать обмен данными между клиетом и сервером в реальном времени, но продумать и реализовать всю логику и интерфейс взаимо...

Как мы делали SM Lab Analyst Day — первый митап по системной аналитике в Sportmaster Lab (+ видео всех докладов) Всем привет. Меня зовут Капранов Кирилл, я — руководитель направления системного анализа в компании Sportmaster Lab. 10 марта 2021 года мы с коллегами сделали первый митап по системному анализу, и я хочу поделиться с вами тем, как это было.Что первым приходит в голову, когда...

Личный опыт: как выстроить карьерный рост в отделе DevOps Всем привет! Меня зовут Тимур Гильмуллин, я заместитель руководителя отдела технологий и процессов разработки в компании Positive Technologies, занимаюсь автоматизацией и внедряю идеи DevOps. Сегодня расскажу, как я попал в профессию, как в нашем отделе мы видим карьеру De...

Путь разработчика Привет! Меня зовут Алексей Скоробогатый. В 2015 году я пришел в Lamoda на позицию разработчика. Сейчас я системный архитектор e-commerce платформы и по совместительству Technical Lead команды CORE. В этой статье хочу поделиться инсайтами, которые получил за эти 5 лет — в фор...

Как мы оркестрируем процессы обработки данных с помощью Apache Airflow Всем привет! Меня зовут Никита Василюк, я инженер по работе с данными в департаменте данных и аналитики компании Lamoda. В нашем департаменте Airflow играет роль оркестратора процессов обработки больших данных, с его помощью мы загружаем в Hadoop данные из внешних систем, об...

[recovery mode] Заметки лида. Часть 1. Найм Привет, Хабр! Меня зовут Владимир. Я отвечаю за мобильную разработку в Vivid Money. Vivid Money — это финтех-стартап для европейского рынка с большим набором функционала — платежи и переводы, мультивалютность, финансовая аналитика, совместное пользование счетами, инвестиц...

[Из песочницы] Методы борьбы с воровством в кружке робототехники Приветствую всех членов сообщества! А отдельно — преподавателей и собственников технических кружков: именно вам, уважаемые коллеги, адресована моя статья. Меня зовут Владимир Мозговой. Я являюсь основателем частного центра технического творчества «Robo.Grade» в г. Новочерка...

[Перевод] Производительность главнее всего Как создать быстрое программное обеспечение? Неверный способ Если вы программист, вы, вероятно, знакомы с этой цитатой Кнута: Преждевременная оптимизация — корень всех зол. Многие программисты считают, что это нормальный способ разработки продуктов: Некоторые также ...

Интеграция .pre-commit hook в Django проект Доброго дня! Меня зовут Соболев Андрей и сегодня я вам расскажу как мы приготовили .pre-commit hook на нашем проекте. Вступление Для начала пару слов, о том что такое в целом хуки (hooks) и для чего они могут быть нужны. Git «из коробки» предоставляет инструмент, который у...

[Перевод] Делаем звёздное небо на потолке при помощи оптоволокна и Arduino Хотите увидеть кусочек галактики у себя на потолке? Как это сделать – рассказано ниже. Несколько лет я мечтал о том, чтобы выполнить этот проект, и вот он, наконец, готов. На его реализацию ушло приличное время, но итоговый результат получился настолько замечательным, ч...

Правильно [c]читаем параллельные планы PostgreSQL Исторически, модель работы сервера PostgreSQL выглядит как множество независимых процессов с частично разделяемой памятью. Каждый из них обслуживает только одно клиентское подключение и один запрос в любой момент времени — и никакой многопоточности. Поэтому внутри каждого о...

Кэши Tarantool и репликация из Oracle Меня зовут Александр Деулин, я работаю в отделе развития собственной разработки «Фабрика микросервисов» в компании МегаФон. И хочу рассказать о тернистом пути появления кэшей Tarantool в ландшафте нашей компании, а также о том, как мы внедряли репликацию из Oracle. И сразу...

[Из песочницы] Наука vs IT. Как я бросил исследования ради разработки Привет, Хабр. Меня зовут Михеев Илья, я back-end разработчик в компании FINCH. Сегодня я расскажу о том, как простые люди попадают в IT, почему в «Сбере» на «Каширке» все плохо, а заодно расскажу почему молодые ученые уходят в IT. Думаю, что последняя тема больная для мног...

[Из песочницы] Компульсивное переедание или как потолстеть на 20 кг Кто я? Привет, дорогой читатель! Меня зовут Лера, мне 20 лет и я ненавижу свою жизнь. Пожалуй, именно так можно описать жизнь человека с РПП (расстройством пищевого поведения). К РПП относят нервную анорексию, нервную булимию, компульсивное переедание, а также ряд других рас...

Hello, Word! Разрабатываем браузерное расширение в 2021-м Привет! Меня зовут Саша Коновалов, я разработчик в компании Oxonit и наставник на программе «Мидл фронтенд-разработчик» в Яндекс.Практикуме. На примере разработки расширения «Hello, Word» я расскажу, как разрабатывать кроссбраузерное расширение со знаниями современного фро...

Разработка приложений в VK mini apps Почему надо смотреть в сторону разработки приложений для работы в VK? У меня за спиной много лет фронтенд-разработки для массовых сервисов, и то, что сейчас предлагает разработчику социальная сеть «ВКонтакте» — быстрый и эффективный способ построить еще один канал коммуникац...

[Перевод - recovery mode ] Как мы боролись с техдолгом, или От 15 000 подключений к базе данных до 100 Недавно новый сотрудник спросил меня за обедом: «Какой у нас техдолг?» Услышав вопрос, я не мог не улыбнуться. Спрашивать инженеров-программистов о техническом долге компании – это то же самое, что спрашивать о кредитном рейтинге. Так программисты хотят узнать о сомнительно...

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

Оптимизация производительности фронтенда. Часть 1. Critical Render Path Здравствуйте. Меня зовут Ник, я фронтенд разработчик (жидкие аплодисменты). Кроме того, что я пишу код, я преподаю в Школе программистов hh.ru. Записи наших лекций от 2018-2019 учебного года можно посмотреть на youtube В этом году у меня была лекция про оптимизацию производи...

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

Процесс создания игровой 3D модели Hard Surface Решил я тут написать небольшую (огромную) статью, о том как я делаю игровые модели. В общем начал я делать это оружие, и пришла такая мысль, что можно попробовать описать весь процесс, вдруг кому-то пригодиться. Это не только моя первая статья, ещё и моя первая работа в каче...

Бесплатный вебинар «Цифровизация на производственном предприятии» Как ускорить планирование на производственном предприятии с использованием алгоритмов оптимизации и Data Science? Вместе с Денисом Касимовым разберемся, как оперативно принимать тактические и стратегические решения, учитывать информацию со в...

А ваш CDN умеет так? Изображение взято с сайта www.aerotime.aero Всем привет, меня зовут Семён, я руковожу разработкой партнёрских сервисов в ДомКлике. Недавно, работая над оптимизацией загрузки страниц, я наткнулся на интересную заметку от Cloudflare о приоритизации потоков при работе с CDN. Я...

Тёмная сторона дизайн-системы и что с ней делать Привет! Меня зовут Леша Свиридо, я ведущий дизайнер продукта в Альфа-Банке (это мы делаем интернет-банк для бизнеса). В этом посте я поведаю про дизайн-системы. Да, про них пишут так же часто, как про профессиональное выгорание или удаленную работу. Штука, прямо скажем, да...

Как мы научили системных аналитиков работать в Git Привет, Хабр! Меня зовут Максим Пермяков, я руководитель центра компетенции (далее — ЦК) систем клиент-сервер в компании «Спортмастер». А с 2020 года также являюсь руководителем ЦК системного анализа. В этом посте я хочу рассказать вам про роль системного аналитика в нашей...

Debouncing с помощью React Hooks: хук для функций Здравствуйте! Меня зовут Игорь Шамаев, я главный инженер по разработке в команде SmartData. Занимаюсь fullstack-разработкой внутренней аналитической BI-системы. В нашей компании React принят в качестве основного стандарта для построения пользовательских интерфейсов. Как и бо...

[Из песочницы] UI/UX-кейс: автоматизация парковок в аэропорту Привет, меня зовут Стас, я специализируюсь на дизайне продуктов для транспортной индустрии. К сожалению, в Украине парковочная сфера развивается медленно, с задержкой на несколько лет — в Европе и США люди пытаются автоматизировать любые рабочие процессы. В данном кейсе ...

Из тестировщиков в агенты изменений департамента: путь в 10 лет и два выгорания Хабр, привет! Меня зовут Ася, я ведущий инженер-тестировщик (QA Lead) в КРОК. Недавно я отметила десятилетний юбилей в компании и в тестировании одновременно — да, за столько лет мне не надоело ни там, ни там. Хотя насчет тестирования было по-разному — успела даже дважды ...

[Перевод] NgRx Ducks | Динамические фасады Усовершенствование опыта разработки Общаясь с коллегами из разных компаний, я заметил, что очень многие команды обожают NgRx. Во время наших дискуссий меня не покидала мысль: «Как было бы хорошо меньше сопровождать код, а больше следовать гайдам написания, чтобы облегчить п...

Выкладка go pet проекта на VPS Привет, Хабр! Меня зовут Артем Желтак, я teamlead, а также преподаватель курса “Разработчик Golang” в OTUS. В преддверии старта нового потока курса, хочу поделиться с вами своей авторской статьей. Я верю, что Golang прекрасен, но в мире еще много php и других проектов рабо...

Кэшбэк в кружке робототехники, или как мои ученики зарабатывают на своих навыках Приветствую всех членов сообщества! Меня зовут Владимир Мозговой. Я являюсь основателем частного центра технического творчества «Robo.Grade» в г. Новочеркасске. В данной статье я хочу рассказать о своём опыте по привлечению к различным работам своих учеников — детей от во...

15 базовых советов по Git для эффективной работы каждый день Привет, меня зовут Сергеев Сергей aka gurugray. Сейчас я «Mentor FrontEnd Community» в компании ManyChat. Вы могли видеть мои лекции по релизному циклу и регламенту работ с системами контроля версий в Школе Разработки Интерфейсов Яндекса (ШРИ). Меня часто спрашивают какие l...

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

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

Управление зависимостями JavaScript Всем привет! Меня зовут Слава Фомин, я ведущий разработчик в компании DomClick. За свою 16-ти летнюю практику я в первых рядах наблюдал за становлением и развитием JavaScript как стандарта и экосистемы. В нашей компании мы используем JavaScript, в первую очередь, для продви...

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

Чем биоинформатика отличается от вычислительной биологии — краткое введение Пару дней назад на нашем ютубе выступала Алсу Миссарова, выпускница мехмата МГУ, PhD по системной биологии (functional genomics in yeast) в Universitat Ponepu Fabra в Барселоне. Сейчас Алсу постдок в лабе JOhn Marioni (EBI, Cambridge, UK), занимается single cell RNA-seq and...

Linux Switchdev по-мелланоксовски Это транскрипция выступления прозвучавшего на Yandex NextHop 2020 — видео в конце страницы Приветствую. Меня зовут Александр Зубков, я хочу рассказать про Linux Switchdev — что это такое и как мы с ним живем в Qrator Labs. Читать дальше →

[Перевод - recovery mode ] Ученые уточнили возраст Вселенной По данным, собранным решеткой телескопов ALMA в пустыне Атакама (Чили), ученые уточнили возраст Вселенной. По новой оценке, ей 13,77 миллиардов лет (± 40 миллионов). Новые измерения сделали вклад и в разрешение одной из самых важных на сегодняшний день проблем астрофизики: ...

[Перевод] Портируем Quake на iPod Classic Запускаем Quake на iPod Classic (видео). TL;DR: мне удалось запустить Quake на MP3-плеере. В статье описывается, как это произошло. Часть прошлого лета я потратил на пару своих любимых вещей: Rockbox и игру Quake id Software. Мне даже предоставилась возможность объединить...

[Перевод] Выжимаем из Gears Tactics максимальную производительность с минимальными артефактами при помощи VRS Gears Tactics — динамичная пошаговая стратегия во вселенной одной из самых известных игровых франшиз — Gears of War. Кроме того, это первая игра, поддерживающая одну из основных функций DirectX 12 Ultimate — Variable Rate Shading (VRS). VRS позволяет Gears Tactics добиться ...

[Перевод] Пришло ли время забыть о React и перейти на Svelte? Каждый год выходит исследование State of JavaScript, которое обобщает результаты опроса, изучающего текущее состояние экосистемы JavaScript. Это исследование затрагивает фронтенд-фреймворки, серверную и мобильную разработку, тестирование, популярные ресурсы для разработчиков...

Тонкое резервирование файловых систем Linux. Как создавать рабочие копии трехтерабайтной СУБД MySQL за 20 секунд Меня зовут Юрий, я руководитель группы системного администрирования в Ситимобил. Сегодня поделюсь опытом работы с технологией тонкого резервирования (thin provisioning) файловых систем Linux и расскажу, как ее можно применять в технологических CI/CD-процессах компании. Мы р...

SPM: модуляризация проекта для увеличения скорости сборки Привет, Хабр! Меня зовут Эрик Басаргин, я iOS-разработчик в Surf. На одном большом проекте мы столкнулись с низкой скоростью сборки — от трёх минут и более. Обычно в таких случаях студии практикуют модуляризацию проектов, чтобы не работать с огромными монолитами. Мы в Surf ...

Обучение программированию 2019, или в поисках идеальной программы: Последовательность Здравствуйте, меня зовут Михаил Капелько. Занимаюсь профессиональной разработкой ПО. Увлекаюсь разработкой игр и обучением программированию. Предисловие Осенью 2019-го я в третий раз участвовал в курсе обучения ребят 10-15 лет программированию в качестве одного из преподава...

Увидеть истинное лицо продукта и выжить. Данные о пользовательских переходах как повод написать пару новых сервисов В интернете сотни статей о том, какую пользу приносит анализ поведения клиентов. Чаще всего это касается сферы ритейла. От анализа продуктовых корзин, ABC и XYZ анализа до retention-маркетинга и персональных предложений. Различные методики используются уже десятилетиями, ал...

Как собрать гибридное облако с помощью Kubernetes, которое может заменить DBaaS Меня зовут Петр Зайцев, я генеральный директор, основатель Percona и хочу рассказать: как мы от open source-решений пришли к Database as a Service; какие существуют подходы к развертыванию баз данных в облаке; как Kubernetes может заменить DBaaS, устранив зависимость от ве...

Составное устройство USB на STM32. Часть 2: USB Audio Speaker Во второй части публикации о составном устройстве USB я расскажу о том, как работает звуковое устройство USB, которое STM32CubeMX генерирует по умолчанию «из коробки», а также как подготовить проект и настроить параметры звукового устройства перед запуском генерации кода. ...

23 минуты. Оправдание тугодумов Я всегда думал, что я – тупой. Точнее, что я — тугодум. Проявлялось это просто: на совещаниях и обсуждениях я не мог быстро придумывать решение задачи. Все чего-то говорят, иногда умное, а я – сижу и молчу. Даже как-то неудобно было. Все остальные тоже думали, что я тупой....

[Перевод] Как я модернизировал свою Flash-игру В этом посте я расскажу о том, как перенёс свою Flash-игру Frog Fractions на современную платформу. В результате я создал частично автоматизированный порт на Unity при помощи Haxe. Пост будет интересен всем, кто пытается модернизировать свою кодовую базу на Flash. В посте б...

Топ-10 экспонатов «Музея советских калькуляторов». Вольный рассказ по случаю переезда в музей Яндекса «Музей советских калькуляторов», который я открыл в 2015 году в московской школе № 1368, переехал в музей Яндекса. Мы постарались сделать часть устройств доступными для полноценного изучения: можно брать их в руки, считать и программировать на них. Меня зовут Константин ...

[Из песочницы] Как мы сделали VR-игру о космической катастрофе Этапы, ошибки, выводы Я пришёл в BeaversBrothers год назад. Меня позвали, когда компания запускала новую услугу — разработку VR/AR-решений для бизнеса. Чтобы отработать технологии и понять наши возможности, мы решили сделать виртуальную игру. Ведь в игре есть всё: заворажива...

Modern Reverse Engineering: TTD Обратная разработка сегодня это достаточно трудоемкий процесс в первую очередь потому, что в период с 2000х по 2020 годы вышло в свет много языков программирования, которые ставили перед собой задачу стать интуитивными и простыми для изучения, безопасными и в то же время эфф...

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

Мониторинг как процесс управления событиями Привет, Хабр! Сегодня мы хотим поделиться с вами статьей по выступлению руководителя технической поддержки ИТ-ГРАД Алика Фахрутдинова, в которой расскажем о том, как мы строили новую систему мониторинга в рамках коллаборации с ПАО «МТС». На сей раз опустим технические детали...

Некоторые особенности HR-политики в ИТ-ориентированной рознице Привет! Меня зовут Катя, я занимаюсь автоматизацией HR-процессов «Леруа Мерлен» в России. Сразу скажу: сама я не пишу код, но участвую в каждом проекте. Хочу рассказать про некоторые особенности того, как это у нас устроено. Самый частый вопрос ко мне от новых разработчиков...

Google Play Music перестал работать окончательно. Кто виноват и что делать Если вы пользовались Google Play Music и были не в курсе последних новостей, то у меня для вас неприятное известие. Сервис долго готовился закрыться и сделал это окончательно. Теперь он просто недоступен для использования, о чем вам скажет соответствующее приложение в вашем...

[recovery mode] Использование faiss для поиска по многомерным пространствам Привет! Меня зовут Владимир Олохтонов, я старший разработчик в команде автоматической модерации Авито. Осенью 2019 мы запустили сервис поиска похожих изображений на основе библиотеки faiss. Он помогает нам понимать, что фотографии уже встречались в другом объя...

Погружение в автотестирование на iOS. Часть 1. Как работать с accessibilityidentifier объектов Всем привет!Меня зовут Борис. Я AQA iOS-engineer в Vivid Money.Это вступительная статья, в цикле статей по iOS-автоматизации, в которых хочется рассказать о пользе ui-тестов на проекте, их эффективном использовании и написании.Данная статья будет полезна начинающим iOS-автом...

YouTrack теперь с просмотром пул-реквестов в задачах Привет, Хабр! С вами команда YouTrack из JetBrains. У нас отличные новости — начиная с YouTrack 2020.3 в задачах отображаются не только коммиты, связанные с задачами, но и пул-реквесты. В сегодняшнем посте мы расскажем, что это, зачем это, и как это поможет сделать процесс...

Как я делал систему оптического трекинга Дело было в далеком 2015 году. В продаже только появились очки виртуальной реальности Oculus DK2, рынок VR игр быстро набирал популярность. Возможности игрока в таких играх были невелики. Отслеживалось всего 6 степеней свободы движений головы — вращение (инерциалкой в очка...

Как тратить меньше времени на обучение стажеров-аналитиков и повысить его качество Привет, Хабр! Мы – аналитики команды облачного ИТ-сервиса. Наши клиенты – это бизнесмены, которые используют service desk решение. Мы много с ними общаемся и решаем их проблемы, делаем статьи и вебинары о продукте и занимаемся его развитием. Найти сотрудника, который смог ...

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

Почему тестировщиков «джун», «мидл» и «сеньор» не существует. Или как мы уже 10 лет работаем без грейдов Привет, Хабр! Меня зовут Женя. Десять лет назад я стартанул агентство аутсорс-тестирования «Кавычки». У нас в компании нет и никогда не было деления тестировщиков на джунов, мидлов и сеньоров. Хотя были попытки. Расскажу, почему так получилось и как можно жить без грейдов....

Авторы EVE Online подтвердили работу над «амбициозным» шутером во вселенной игры, который «определит жанр» CCP Games уже более десяти лет строит планы на шутер во вселенной EVE Online. Впервые эта концепция была реализована в Dust 514 — эксклюзиве для PlayStation 3, который вышел в 2013 году. Проект закрылся всего через три года, но желание выпустить игру в данном жанре у компани...

[Перевод] Разработка и создание с нуля аркадного автомата на четверых игроков В ноябре 2019 года я уволился с работы и решил посвятить несколько месяцев изучению нового навыка, которому я уже давно хотел научиться. В то время я работал веб-разработчиком. До этого я изучал разработку ПО. А ещё раньше, детстве, я постоянно экспериментировал с электрони...

Делаем маршрутизацию (роутинг) на OpenStreetMap. Введение Хотелось бы поделиться опытом создания систем маршрутизации PostgreSQL/PgRouting на карте OpenStreetMap. Речь пойдет о разработке [коммерческих] решений со сложными требованиями, для более простых проектов, вероятно, достаточно обратиться к документации. Насколько мне извест...

[Из песочницы] Typescript Compiler API: возьми управление компилятором в свои руки В разработке приложений на Typescript всегда есть этап сборки проекта. Обычно для этого используются системы сборки и автоматизации workflow, такие как webpack или gulp, обвешанные достаточным количеством плагинов, либо процесс сборки размазывается в командах package.json ...

Сложные отображения коллекций в iOS: проблемы и решения на примере ленты ВКонтакте Привет! Меня зовут Саша, я iOS-разработчик в команде, которая делает ленту ВКонтакте. Сейчас расскажу, как мы оптимизируем отображение интерфейса и обходим связанные с этим проблемы. Думаю, вы представляете, что такое лента VK. Это экран, где можно просматривать разнообразны...

Функциональные тесты в Циан Привет! Меня зовут Тимофей, я Python-разработчик в команде Платформа компании Циан. Наша команда занимается разработкой инструментов для продуктовых разработчиков. Это и библиотеки: HTTP-клиент, веб-сервер, библиотеки доступа к базам данных, и средства мониторинга микросерв...

Clean Architecture глазами Python-разработчика Привет! Меня зовут Евгений, я Python-разработчик. Последние полтора года наша команда стала активно применять принципы Clean Architecture, уходя от классической модели MVC. И сегодня я расскажу о том, как мы к этому пришли, что нам это дает, и почему прямой перенос подходов ...

[recovery mode] Сила дашбордов Всем привет! Меня зовут Егор Иванов, и я специалист по автоматизации тестирования. Довольно долгое время до этого я проработал в различных компаниях из сферы BI. Я обожаю визуализацию данных и считаю, что без нее невозможно строить рабочие процессы и уж тем более процессы в ...

[Из песочницы] Image Processing изображений из космоса для CG Приветствую! Меня зовут Тим, я CG артист, режиссёр и автор научно-популярного проекта SGR A. В этой статье я хотел бы рассказать как создаю текстуры космических тел как для своих проектов, так и для кино, используя реальные снимки космических аппаратов. Большое красное пят...

“Что делать, когда кардинальные изменения в процессах демотивируют команду”. Опыт бэкенд-инженера, ставшего тимлидом Я 7 лет работал бэкенд-инженером в Miro, затем стал тимлидом. За последние годы наша инженерная команда выросла вдвое, стала распределённой и международной, что повлекло за собой множество изменений. Одним из них стало введение кросс-функц...

Зачем нам 170 разработчиков Привет, Хабр! Меня зовут Андрей Евсюков, я заместитель CTO в Delivery Club. Наша компания устроена сложнее, чем может показаться, когда представляешь себе сервис по доставке еды. Даже когда примерно знаешь, что там может быть под капотом. В этой серии статей я расскажу о ...

Разработка python module, чтобы продакшн радовал Всем привет! Я представляю команду разработчиков некоммерческой организации CyberDuckNinja. Мы создаём и поддерживаем целое семейство продуктов, которые позволяют облегчить разработку backend-приложений и сервисов машинного обучения. Сегодня хотелось бы затронуть тему интег...

Мой маленький Kubernetes: настраиваем тестовый кластер в VirtualBox За последние пару лет мне довольно часто приходилось сталкиваться с Kubernetes, однако обычно это всегда происходило с позиции разработчика. Посмотреть список подов, их статусы, логи и т.п. В общем, ничего сложного.Недавно я решил заняться изучением Kubernetes чуть глубже, ч...

Почему я ушёл с React Native и перешёл во Flutter: Часть 2 Всем привет. Меня зовут Дмитрий Андриянов. Два года я писал на React Native, сейчас работаю в Surf во Flutter отделе и уже более полутора лет пишу на Flutter. В первой части статьи я рассказал про основные различия между React Native и Flutter. В этой части расскажу про раз...

[Перевод] 10 примеров эффективного общения для тестировщиков Методология agile гарантирует, что команда с самого начала разработки принимает меры по обеспечению качества продукта. На ранних этапах тестировщики исследуют фичи и варианты их использования. Во время анализа эпиков они больше вникают в проект, обсуждают статус-кво и помога...

[Из песочницы] Репетитор по программированию: почему вы должны стать им и как это сделать Доброго времени суток, Хабр. Представляю Вашему вниманию перевод статьи:«Coding Mentor: Why You Should Become One and How to Do It» автора Oleg Sklyarov (Олег Скляров). Привет! Меня зовут Олег Скляров, я работаю руководителем группы разработки мобильных устройств для дете...

Баланс в настольном геймдизайне: строим графы с помощью Google App Script и Gephi Всем привет! Меня зовут Никита, и я хотел бы поделиться с вами некоторыми практическими аспектами разработки моей настольной игры “Письма призрака” (в этом месяце будет выпущена издательством "Экономикус"). Мы старались подходить к процессу разработки максимально системно, т...

«Объясняю каждую строчку» — разработка видеоигры в прямом эфире Э-ге-гей! Кто хочет узнать, как делаются видеоигры? Ладно, я угораю. Уж где-где, а тут публика должна быть в курсе. Тем не менее, как насчёт увидеть процесс создания игры? Полностью. С первой до последней строчки. ВСЁ. Вообще ВСЁ. Не просто увидеть, даже поучаствовать, если...

Новые возможности для Python-разработчиков: SmartApp Framework в open source Платформа SmartMarket позволяет разработчику с любым уровнем подготовки создавать мультимодальные приложения для виртуальных ассистентов Салют, даже без программирования. Конечно, если хочется сделать что-то красивое и сложное, без кода не обойтись. Чтобы облегчить жизнь раз...

Как правильно: инфографикА или инфографик? «Создание инфографиков-иллюстраций», «как сделать инфографик», «инфографики» — филологи и дизайнеры спорят, когда видят эти слова. Мы часто встречаем горячие дискуссии на форумах и в профессиональных сообществах о том, как правильно писать и склонять слово. Например, в по...

Bare-Metal Provisioning инфраструктура с нуля Приветствую, Хабр. Меня зовут Роман, я разработчик встраиваемых систем в Getmobit. Хочу поделиться кейсом по развёртыванию программного обеспечения на большом количестве устройств на производственной линии с нуля. Заставлять людей на производстве бегать вдоль конвейера с фл...

[Из песочницы] Большой туториал по обработке спортивных данных на python Последние пару лет в свободное время занимаюсь триатлоном. Этот вид спорта очень популярен во многих странах мира, в особенности в США, Австралии и Европе. В настоящее время набирает стремительную популярность в России и странах СНГ. Речь идет о вовлечении любителей, не пр...

Как дата-саентисты в ВК делают рекламу эффективной Еще в прошлом году у нас выступал Артем Попов, тимлид команды VK Performance Advertising. Делимся с вами расшифровкой эфира и записью. Меня зовут Артем, я – руководитель performance advertising в ВК. Наша команда занимается тем, что, с одной стороны, делает рекламу в ВК э...

[Перевод] Как выполняются арт-тесты для игр Введение Меня зовут Джонджо Хемменс, я художник по окружениям (Environment Artist) и только начинаю свой путь в индустрии видеоигр. В этой статье я объясню, что такое арт-тесты, покажу примеры успешных тестов с ArtStation, расскажу о правилах и этикете, а также процитирую с...

Использование UAVCAN для модульной электроники БПЛА, или как не спалить дрона, перепутав провода Привет! Меня зовут Роман Федоренко, я доцент Центра компетенций НТИ по направлению «Технологии компонентов робототехники и мехатроники» на базе Университета Иннополис. Я работаю с командой робототехников, которая специализируется на беспилотных летательных аппаратах. По боль...

Заметки тимлида Всем привет! Меня зовут Кира, уже более двух лет я выполняю обязанности тимлида в Тинькофф. Сначала я руководила QA-инженерами, а три месяца назад перешла в разработку продукта. В новом направлении у меня много обязанностей. Нужно всегда быть в контексте происходящего. Лид...

Wrike: 5 лет с OKR Тема OKR (Objectives and Key Results) сейчас становится все более популярной в бизнесе. Во многих компаниях рассматривают возможность внедрить у себя эту методологию. Мы в Wrike перешли на OKR в 2015 году, и на тот момент это была достаточно новая и малоизученная тема, по кр...

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

[Из песочницы] О работе ПК на примере Windows 10 и клавиатуры ч. 1 Меня зовут Андрей Артемьев, я работаю в Microsoft над ядром ОС Windows 10, ранее я работал над Windows 10x (WCOS), XBox, Windows Phone и Microsoft Edge. Я хочу популярно в образовательных целях рассказать о том как работает компьютер на примере клавиатурного ввода и Window...

Системный подход к переменным в Ansible ansible devops codestyle Hey! Меня зовут Денис Калюжный я работаю инженером в отделе автоматизации процессов разработки. Каждый день новые сборки приложений раскатываются на сотнях серверов кампании. И в этой статье я делюсь опытом использования Ansible для этих целей. Этот ...

Делаем игру с управлением улыбкой Привет! Меня зовут Иван Шафран, недавно я присоединился к команде видео ВКонтакте в роли программиста-разработчика для Android. Участвую в создании как продуктовых приложений, так и SDK. Время от времени я посещаю хакатоны, где можно реализовывать любые безумные идеи. Сегодн...

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

Перепланировка своими руками: предостережения, полезный софт и нескончаемый ремонт Привет, Хабр! Меня зовут Антон, пару недель назад я отмечал новоселье и хвастался друзьям, что самостоятельно (ладно, почти) сделал перепланировку и ремонт в своей новой квартире. Приглашённые умы старался задействовать по минимуму — обходясь только софтом и собственной голо...

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

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

[Перевод] Об отслеживании социальных контактов и аппаратных жетонах Во время пандемии ко мне обратилась Европейская Комиссия с предложением разработать жетон отслеживания социальных контактов с защитой приватности, о чём вы можете почитать на странице проекта Simmel. А вскоре Сингапур объявил о разработке жетона TraceTogether. В рамках это...

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

Как устроено тестирование фронтенда в Яндекс.Маркете и почему мы отказываемся от еженедельных релизов Всем привет, меня зовут Сергей. Я занимаюсь тестированием фронтенда Яндекс.Маркета. Знаю, что среди читателей Хабра много IT-специалистов, которые как-то связаны с релизным процессом и тестированием. У меня к вам вопрос. Бывало ли в вашей практике так, что фичи долго не ка...

Использование Azure DevOps от разработки до сборки релиза в Dynamics AX 2012 Использование контроля версий для разработки в ERP-системе MS Dynamics AX — штука довольно неоднозначная. Кто-то не использует совсем, кто-то использует встроенную систему контроля версий MorphX. Меня зовут Игорь Глухов, я разработчик MS Dynamics AX в компании Lamoda. В эт...

Organization as a Function. Введение в бережливую разработку для инженеров Когда я учился в вузе, нашей группе дали домашнее задание — рассчитать результаты социологического опроса. Каждому выдали excel-файл с исходными данными. В методических указаниях была детально описана последовательность шагов: в каких ячейках таблицы что писать, какие выраже...

Производственный календарь своими руками в Firebird Здравствуйте, меня зовут Денис, я явлюсь разработчиком информационных систем, пишу статьи и документацию по СУБД Firebird. В этой статье я хочу рассказать о реализации производственного календаря с использованием СУБД Firebird. На написание этой статьи меня натолкнули похож...

Как мы формируем консолидированную отчетность 25 компаний, 9 стран, 6 функциональных валют… Систему и процедуры подготовки отчетности легко можно было сделать сложными и дорогими. Но мы нашли простое с технической точки зрения решение, которое очень нравится нашим пользователям, а особенно специалистам по подготовке ко...

Используем Xtend для прикладной кодогенерации: сеанс чёрной магии с разоблачением Привет Хабр! Меня зовут Когунь Андрей. В КРОК я руковожу группой разработчиков Java (у нас большая распределённая по всей стране команда). Ещё я провожу встречи московского сообщества Java разработчиков JUG.MSK. Делаю это исключительно в корыстных целях: фотографируюсь там с...

[Из песочницы] Способы и примеры внедрения утилит для проверки безопасности Docker Привет, Хабр! В современной реальности из-за возрастающей роли контейнеризации в процессах разработки не на последнем месте стоит вопрос обеспечения безопасности различных этапов и сущностей, связанных с контейнерами. Осуществление проверок в ручном режиме является трудоём...

Разработчики Cyberpunk 2077 признались в том, что выпустили сырую игру Изданию Bloomberg удалось провести собственное расследование о том, почему Cyberpunk 2077 оказалась сырой игрой. Оказалось, за провальным стартом стоит очень много проблем внутри компании: от неверного планирования сроков выпуска до не самых лучших условий труда. Все эт...

HowToCode — Адаптация системного подхода к разработке для React и TypeScript Наверное, каждый программист рано или поздно начинает задумываться о качестве своего кода. И, скорее всего, я не ошибусь, если скажу, что добрая половина разработчиков им вечно недовольна. Мне мой код тоже нравился редко: функции, казалось, можно было бы делать и покороче, л...

Масштабирование андроид-тестирования в Одноклассниках Привет! Меня зовут Роман Иваницкий, я работаю в команде автоматизации тестирования Одноклассников. OK — огромный сервис с более чем 70 миллионами пользователей. Если говорить про мобильные устройства, то большинство пользуется OK.RU на смартфонах под управлением Android. П...

В VK добавили Callback кнопки для ботов . Доброго времени суток, уважаемые жителя Хабра) Мой первый пост. Будет кратко, емко и надеюсь актуально. 9го июля ВК выкатил callback кнопки для чат-ботов. Телеграм напрягся сделал это в 199... давно. Самая популярная библиотека для разработки чат-ботов под ВК на Python — v...

Как устроиться в IT-компанию Привет! Меня зовут Тим Чаптыков, я работаю в VK — руковожу командой разработки раздела сообщений на вебе. Мы отвечаем за мессенджер на vk.com, в мобильной версии сайта и в VK Messenger (приложение для компьютера). Последние&n...

Гайд по UI анимации. Как начать анимировать интерфейсы Привет! Меня зовут Айгуль, я продуктовый дизайнер в Райффайзенбанке, а до этого работала в Mail.ru Group, OneTwoTrip и приложила руку к нескольким стартапам. Как-то я взяла на себя задачу продумать систему UI-анимаций для дизайн-системы. Но когда я начала над ней работу...

[Перевод] Руководство для начинающих: создаем DevOps-пайплайн Если вы новичок в DevOps, взгляните на эту инструкцию по созданию вашего первого конвейера из пяти этапов. DevOps стал стандартным решением для исправления медленных, разобщенных или неработоспособных процессов разработки программного обеспечения. Проблема в том что, если...

[Из песочницы] Делаем Android View Binding удобным c Kotlin Привет! Меня зовут Кирилл Розов. Я автор Telegram канала Android Broadcast. Очень люблю Kotlin и мне нравится с помощью его возможностей упрощать разработку. С такой задачей я недавно столкнулся, когда на новом Android проекте начали использовать View Binding. Читать дальше...

Разработка электрической сети самолета с использованием модельно-ориентированного проектирования В данной публикации представлена транскрипция вебинара «Разработка электрической сети самолета с использованием модельно-ориентированного проектирования». Вебинар проводил Михаил Песельник, инженер ЦИТМ Экспонента.) Сегодня мы узнаем, что можно настраивать модели для оптимал...

Как изменятся рабочие процессы к 2035 году Современные технологии и гибкие рабочие модели заставят бизнес пересмотреть кадровые стратегии. Новые подходы помогут персоналу эффективнее использовать ИТ-ресурсы и быстрее адаптироваться к изменениям среды. Искусственный интеллект позволит творчески подходить к решению зад...

RBAC в Angular-приложениях «Каждый уважающий себя блогер должен написать статью о RBAC. Каждый уважающий себя читатель должен написать в комментарии, что всё равно ничего не понял». С этой фразы началось мое знакомство с RBAC. И я имел прекрасную возможность узнать, что всё так и есть.Но теперь я разо...

[Перевод] 6 уроков, извлечённых из опыта оптимизации производительности Node.js-сервиса В компании Klarna прилагают большие усилия к тому, чтобы помочь разработчикам в создании высококачественных и безопасных сервисов. Один из инструментов, который предназначен для разработчиков, представляет собой платформу для выполнения A/B-тестов. Важнейшим компонентом этой...

Hitachi NEXT 2019: новый подход для новых процессов В ходе своей третьей конференции компания Hitachi Vantara представила свою стратегию и новинки, а также рассказала о передовом опыте своих клиентов. Описание Третья конференция Hitachi NEXT 2019 прошла в Лас-Вегас...

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

[Из песочницы] Если бы я учил Frontend сегодня. Советы начинающим Мой путь в веб-разработке начался 5 лет назад. За это время я успел испробовать множество технологий, а в последние 3 года развиваюсь в направлении frontend. В этой статье я бы хотел ясно изложить, какие технологии необходимо изучить новичку, а также поделиться методами их ...

Jenkins Pipeline: заметки об оптимизации. Часть 1 Меня зовут Илья Гуляев, я занимаюсь автоматизацией тестирования в команде Post Deployment Verification в компании DINS. В DINS мы используем Jenkins во многих процессах: от сборки билдов до запуска деплоев и автотестов. В моей команде мы используем Jenkins в качестве плат...

Выращивание Nested sets в условиях .Net Привет, меня зовут Антон, и я разработчик. Сына я родил, дом построил купил, осталось вырастить дерево. Так как агроном из меня не очень, пришлось дерево кодить. Наш проект состоит из нескольких микросервисов на .Net Core, в PostgreSQL базе хранятся сущности, которые образ...

[Перевод] Не все частицы и античастицы можно разделить на материю и антиматерию Чем меньшие масштабы мы изучаем, тем более фундаментальные знания о природе нам открываются. Если бы мы могли понять и описать самые мелкие из существующих объектов, мы могли бы построить на этой основе понимание крупных. Однако мы не знаем, существует ли предел минимизаци...

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

Почему мы выбрали Kotlin одним из целевых языков компании. Часть 2: Kotlin Multiplatform Продолжаем цикл статей о внедрении языка Котлин в наш процесс разработки. Первую часть ищите здесь. В 2017 году увидел свет амбициозный проект от компании Jetbrains, предлагающий новый взгляд на кросс-платформенную разработку. Компиляция кода на kotlin в нативный код различ...

За двумя мобильными сервисами: HMS и GMS в одном приложении Привет, Хабр! Меня зовут Андрей, я делаю приложение «Кошелёк» для Android. Уже больше полугода мы помогаем пользователям смартфонов Huawei оплачивать покупки банковскими картами бесконтактно — через NFC. Для этого нам потребовалось добавить поддержку HMS: Push Kit, Map Kit...

Эволюция оркестратора микросервисов. Как переход на WebClient помог пережить пандемию Хочу рассказать о том, как мы оптимизировали наш оркестратор микросервисов. Потому что в случае с такого рода сервисами наш любимый подход "пихаем в базу - строим индексы" не работает. Как минимум потому что базы нет). В статье расскажу про общие подходы к оптимизации оркест...

Опыт использования MobX в большом приложении Всем привет! Меня зовут Сергей, я работаю в команде разработки приложений контроля качества Tinkoff. Поделюсь опытом нашей команды в использовании библиотеки Mobx и расскажу о деталях работы с ней в связке с React. В этой статье не будет описания базовых концепций. Я расск...

Разработчики КОМПАС – конструкторы или программисты? В названии статьи кроется маленькая провокация, ведь ясно, что без программистов софт сам себя не напишет. Другой вопрос: кто определяет логику и удобство работы системы, ее развитие. Недавно на Форуме пользователей ПО АСКОН в очередной раз начались разговоры о том, что разр...

Тестирование StoreKit в Xcode 12 и iOS 14 Привет, Хабр! Меня зовут Сэм, я разработчик в сервисе Qonversion. В этой статье описаны новые возможности для тестирования подписок, представленные Apple во время сессии Introducing StoreKit Testing in Xcode на WWDC 2020. Рынок подписок в мобильных приложениях быстро растет,...

Flutter. RenderObject — замеряй и властвуй Всем привет, меня зовут Дмитрий Андриянов. Я Flutter-разработчик в Surf. Чтобы построить эффективный и производительный UI достаточно основной библиотеки Flutter. Но бывают случаи, когда нужно реализовывать специфичные кейсы и тогда придётся копать в глубь. Читать дальше &...

Из 1С в Android-разработку: мой опыт перехода внутри Lamoda Меня зовут Виталий Хмелёв, с 2019 года я работаю в команде Аndroid-разработки в Lamoda, а до того почти семь лет проработал здесь же программистом 1C. В этой статье хочу поделиться своим опытом и дать некоторые советы, которые, я надеюсь, помогут, если вы тоже задумываетесь ...

Книга «Бизнес-моделирование и анализ данных. Решение актуальных задач с помощью Microsoft Excel. 6-е издание» Привет, Хаброжители! Уэйн Винстон научит вас быстро анализировать данные, принимать решения, подводить итоги, составлять отчеты, обрабатывать данные и строить аналитические модели в Microsoft Excel 2019 и Office 365. В новом шестом издании вас ждут более 800 бизнес-задач, о...

Почтовый переезд: как мы меняли бэкап электронной почты с Acronis на Veeam Вы уже теряли важные электронные письма? Помните это ощущение легкого ужаса, нарастающего по мере того, как проваливается попытка за попыткой восстановления? Сделать электронную почту абсолютно неуязвимой вряд ли получится, а вот процесс восстановления облегчить можно. Меня...

Через серые зоны — к 4,7 звезды. Как мы сделали топовое security-приложение для iOS Привет, Хабр. Меня зовут Константин, я Head of Mobile Cloud Services Development в департаменте разработки мобильных продуктов «Лаборатории Касперского». Про отношения Apple и антивирусов вам, наверное, известно, так что вы понимаете, что наша задача создания security-реше...

Исследование Citrix: как изменятся рабочие процессы к 2035 году Современные технологии и гибкие рабочие модели заставят бизнес пересмотреть кадровые стратегии. Новые подходы помогут персоналу эффективнее использовать ИТ-ресурсы и быстрее адаптироваться к изменениям среды. Искусственный интеллект позволит творчески подходить к реше...

Dynamics 365 и Power Platform Meetup в Lamoda — анонс Всем привет! Меня зовут Станислав Гоц, я руководитель отдела внедрения и поддержки ERP систем в Lamoda. Хочу пригласить вас на Dynamics 365 и Power Platform Meetup, который пройдет 11 февраля у нас в офисе. На митапе выступят 5 спикеров, в дискуссионных секциях обсудим темы...

[Из песочницы] Оптимизация нагрузки на Highload-проекте с помощью ElasticSearch Привет, Хабр! Меня зовут Максим Васильев, я работаю аналитиком и менеджером проектов в FINCH. Сегодня я хотел бы рассказать, как с помощью ElasticSearch, мы смогли обработать 15 млн запросов за 6 минут и оптимизировать ежедневные нагрузки на сайте одного из наших клиентов. К...

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

ProxySQL — средство для демультиплексирования соединений Здравствуйте, меня зовут Александр Яковлев, я работаю в компании Ситимобил и занимаюсь эксплуатацией. Сегодня я расскажу про очень интересный продукт ProxySQL — это высокопроизводительный MySQL Proxy, который умеет очень много — отлавливать и убивать запросы по маске, с помо...

[Перевод] Спросите Итана: космологическая постоянная Эйнштейна и тёмная энергия – это одно и то же? В отдалённом будущем Вселенную могут ожидать различные варианты судеб, но если тёмная энергия и правда постоянная – а об этом свидетельствуют все данные – то её развитие продолжит идти по красной кривой. Эта кривая приведёт Вселенную к варианту тепловой смерти. Однако тёмна...

[Перевод] Шесть принципов создания производительных веб-приложений С момента появления интернета веб-разработка прошла очень длинный путь. Это было удивительное путешествие от модемов до оптоволоконных схем. С ростом скорости передачи данных пользователи стали нетерпеливы. Люди ожидают, что их повседневные задачи будут решены здесь и сейчас...

Древности: второй подход к VHS, Hi-Fi Stereo и мыльное видео 2020 год. Качество видеоматериала последние лет пять настолько высокое, что кажется, будто круче уже и не надо. На подходе формат 8К, 32 миллиона пикселей в каждом кадре, уже можно купить подходящий монитор или ТВ, но маловато контента. Лет через пять я куплю новый смартфон,...

Рекомендательные системы, основанные на графах Всем привет! Меня зовут Александра Зенченко, я Lead Software Engineer в ЕРАМ. Занимаюсь разработкой решений, которые помогают нашим клиентам повышать эффективность работы и, в основном, включают в себя часть машинного обучения. В последнем проекте я работала над построением ...

[Перевод] Изменение требований к проекту — ключевая проблема разработки ПО Шаги по разработке большой компьютерной программы для доставки заказчику Иллюстрация выше — из статьи д-ра Уинстона Ройса «Управление разработкой больших программных систем» 1970 года. Считается, что это первое в программной инженерии описание модели водопада. Диаграммы д-...

Сверхдлинное преобразование Фурье на FPGA Всем привет! В этой статье я хочу рассказать про реализацию алгоритма сверхдлинного быстрого преобразования Фурье на ПЛИС. Написать эту статью меня побудило желание поделиться личным практическим опытом, который не хотелось бы потерять, оставив информацию только у себя в го...

Помощник или инспектор: по ком звонит робот? Привет, Хабр! Я тимлид группы продуктовых инноваций в КРОК. Технарём меня назвать можно с большой натяжкой, но зато я много общаюсь с разработчиками, техническими менеджерами, продажниками. И надеюсь, мы друг друга неплохо понимаем. Мы много работаем со стартапами, помогае...

Готовим Большую Фичу™ на Kotlin Multiplatform. Доклад Яндекса Предположим, вы решили внедрить Kotlin Multiplatform в свой проект, чтобы переиспользовать логику на iOS и Android. Рано или поздно вы захотите сделать Большую Фичу, которая будет включать в себя и сложную многопоточную логику, походы в сеть, кэширование. Каждый из этих этап...

Оптимизация работы с PostgreSQL в Go: от 50 до 5000 RPS Привет, меня зовут Иван, и я делаю Авито Доставку. Когда пользователь покупает товар с доставкой, мы показываем ему список отделений служб доставки с ценами. Цена доставки может меняться от отделения к отделению. Мы смотрим на область карты, где поку...

Бесконтактный, оптический выключатель со звуковым эффектом на Arduino Всем привет! Сегодня статья про бесконтактный выключатель с звуковым эффектом, который был сделан мной 9 лет назад, а если быть точным то в январе 2012 года. С тех пор выключатель трудится у меня круглыми сутками на протяжении 9 лет. Что самое интересное, за все это вре...

Как мы распознаем средства индивидуальной защиты Наверное, вам всю жизнь было очень интересно, как натренировать нейронную сеть распознавать людей в касках и оранжевых жилетах! Нет? Но мы все равно расскажем. Нас зовут Татьяна Воронова и Эльвира Дяминова. Мы занимаемся анализом данных в компании «Центр 2М», много работаем...

Как устроена контент-система Турбо-страниц: схемы, факты и немного истории По данным TelecomDaily, почти 30% пользователей мобильного интернета в России ежедневно сталкиваются с проблемами при загрузке сайтов. Однако причина может быть не только в неравномерном покрытии, но и в слишком большом «весе» страницы. Повлиять на качество соединения мы ...

[Перевод] Разговор с техническим директором RISC-V Марком Химельштейном Летом 2020 RISC-V International (организация-член группы RISC-V) объявила о назначении 16 членов правления в новую компанию с штаб-квартирой в Швейцарии в связи с упразднением старого подразделения RISC-V Foundation. В июне 2020 года в компанию пришел новый CTO – Марк Химе...

Как в Яндекс.Облаке устроено Virtual Private Cloud и как наши пользователи помогают нам внедрять полезные функции Привет, меня зовут Костя Крамлих, я ведущий разработчик подразделения Virtual Private Cloud в Яндекс.Облаке. Я занимаюсь виртуальной сетью, и, как можно догадаться, в этой статье расскажу об устройстве Virtual Private Cloud (VPC) в целом и виртуальной сети в частности. А ещё...

В зоне доступа. Находим расстояние от точки до области и сокращаем запросы обратного геокодинга Мне не раз приходилось реализовывать функционал расчета расстояния от некоторой географической точки до области на карте — например, до МКАД. В итоге я нашёл два способа решения задачи, которые показали хорошие результаты, и теперь мы регулярно пользуемся ими в продакшне. ...

Как и зачем мы построили кастомную систему аналитики вместо Google Analytics Привет, Хабр! Меня зовут Иван Кизименко, я Head of Analytics в компании Outside. В этой статье мне хотелось бы рассказать о том, как и зачем мы разработали собственную кастомную систему аналитики вместо Google Analytics. Собственно, мы работали не только с аналитикой от Go...

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

[Из песочницы] Веб-разработка с нуля: руководство для молодых команд по созданию инфраструктуры CI/CD и процесса разработки Чуть больше года назад я столкнулся с тем, что на внутреннем проекте совсем не айтишной компании вырос целый отдел веб-разработки, которым мне и довелось руководить. Рабочий процесс вроде как устаканился и всех устраивал, но оставались проблемы: Проверка каждой ветки проход...

Разработка приложения с использованием Python и OpenCV на Android устройстве В это статье я хочу показать пример того, как андроид устройство можно использовать для разработки на таких языках программирования как python с библиотекой opencv в среде VSCode (будет использован code-server). В конце статьи приведено небольшое сравнение производительнос...

Это мог быть очередной JavaScript-фреймворк Прошлым летом, в процессе подготовки статьи для Хабра, я не поленился упаковать свой шаблон для бэкэнд-приложений на Node.js в npm-пакет, сделав из него cli-утилиту для быстрого старта. Никаких надежд на то, что этим пакетом будет пользоваться кто-то, кроме меня, не было изн...

Шесть рецептов для начинающего тимлида: как всё успевать и развивать команду Привет! Меня зовут Дмитрий Ли, я тимлид одной из команд разработки бэкенда в Badoo. Когда я впервые стал тимлидом, я стал активно посещать конференции и читать умные книги об управлении командой. Однако в моей работе после этого менялось немногое. Я читал о том, каким я д...

Поддерживаем разработку нескольких версий продукта в Git. Станислав Лукьянов (GridGain) Всем привет! Меня зовут Станислав Лукьянов. Я работаю в компании GridGain. Сегодня я хотел поговорить о том, как мы поддерживаем старые версии в Git. Читать дальше →

Gotta go fast. Быстрая синхронизация писем по IMAP Привет! Меня зовут Илья. Два года назад я присоединился к работе над мобильным клиентом IMAP. Ранние версии приложения долго загружали список писем и тратили большое количество трафика для обновления ящика. Встал вопрос об оптимизации работы с протоколом и о возможностях это...

Как мы помогли перейти школам на дистанционку и не утонули под нагрузкой Привет, Хабр! Меня зовут Алексей Вахов, я технический директор Учи.ру. В середине марта, когда школы начали переходить на дистанционное обучение, мы предоставили учителям и школьникам несколько сервисов для онлайн-занятий. По нашим расчётам, у нас был запас прочности, чтобы ...

Как делается российское железо для СХД Аэродиск Восток на Эльбрусах Всем привет. Как мы и обещали, погружаем читателей Хабра в детали производства российских аппаратных платформ для СХД Аэродиск Восток на процессорах Эльбрус. В этой статье мы пошагово опишем производство платформы Яхонт-УВМ Э124, которая в 5 юнитах эффективно вмещает 124 ди...

[Перевод] Оптимизация рабочего процесса при помощи fzf Работа в оболочке включает в себя выполнение одних и тех же команд снова и снова; что меняется, так это порядок выполнения команд и их параметры. Один из способов упростить рабочий процесс — найти паттерны выполнения команд с аргументами и обернуть их в небольшие скрипты. Та...

Как мы распилили монолит. Часть 2, Frame Manager Привет, меня зовут Стас, я работаю в команде Тинькофф Бизнеса. В прошлой статье мой коллега Ваня рассказа, как у нас устроена архитектура приложений. Несколько раз Ваня упомянул некий Frame Manager, который служит оркестратором приложений, и сейчас я расскажу про него более ...

Кастомизация компонентов Ant Design и оптимизация бандла The Archivist by juliedillon Я Иван Копенков, ведущий фронтенд-разработчик в Mail.ru Cloud Solutions, в статье расскажу, какие есть подходы к кастомизации компонентов UI-библиотеки Ant Design, как это сделали мы, а так же покажу, как удалось полностью избавиться от неисполь...

Быстрее, чем C++; медленнее, чем PHP Привет, Хабр. У меня тут случайно код на хаскеле получился быстрее аналогичного кода на C++. Иногда — на 40%. (время работы, меньше — лучше, C++ снизу) Что самое смешное — я собирал хаскель-код через LLVM-бекенд, но при этом сравнивал с GCC. Если сравнивать с clang (что вро...

Масштабирование базы данных. Microsoft AlwaysOn Привет. Меня зовут Тигран Петросян, я ведущий инженер по технической поддержке Docsvision, и сегодня расскажу о применении технологии MS SQL AlwaysOn. Это вторая статья из мини-серии «Масштабируемость системы ECM на предприятии», в которой первая статья моего коллеги была по...

Опыт работы с Plesk Хочу поделиться некоторыми впечатлениями о нужности или ненужности такой вещи, как контрольная панель для коммерческого односерверного веб-проекта при наличии очень part time админа. История началась пару лет назад, когда знакомые знакомых попросили меня сопроводить покупку ...

Чистая архитектура с Go Меня зовут Эдгар (ZergsLaw), я работаю в компании, которая занимается  финтех-разработкой для b2b и b2c. Когда только устроился в компанию, то попал в команду большого финтех-проекта и получил «в нагрузку» небольшой микросервис. Мне поручили его изучить и подготовить план ре...

[recovery mode] Корпоративный архитектор: похож на обычного, только строит не дом, а IT-город Мало кто понимает, чем занимаются корпоративные архитекторы. Меня зовут Евгений Быстров, я корпоративный архитектор топливно-логистического контура компании «Газпром нефть», я вместе с коллегами занимаюсь построением систем для того, чтобы топливо было доставлено в срок и в ...

Алексей Каптерев: Критическое мышление 101 (часть 1) 25 апреля в рамках «Дня тренинга МГУ 2020» Алексей Каптерев выступил с докладом про критическое мышление. Представляем вам расшифровку лекции. Введение Меня зовут Алексей, я тренер по презентациям. Мое знакомство с темой критического мышления началось с презентации. Я даж...

Как аналитика помогает нашей IT компании получать крупные контракты из SEO (Google USA) Крупные контракты на кастомную разработку для американского бизнеса, которые приходят к нам из SEO, позволили нам, IT аутсорсинговой компанией с 300 сотрудниками, покрыться небольшим жирком. Он дает нам возможность инвестировать в разработку аналитических инструментов для со...

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

Как мы разрабатывали поле ввода новых сообщений в нашем мессенджере (Gem4me) Всем привет!
 Меня зовут Александр Бальцевич, я работаю на лидерской позиции Web-команды проекта Gem4me. Проект представляет из себя инновационный месенджер для всех и каждого (пока в моих фантазиях, но мы стремимся к этому ;-) ) Коротко о стэке веб-версии: ReactJS (кто бы с...

simctl: управление симуляторами Apple через терминал Всем привет! Меня зовут Паша Лесюк, я работаю мобильным тестировщиком в компании Циан. В этой статье я расскажу о возможностях управления яблочными симуляторами из командной строки. Читать дальше →

[Из песочницы] Как помнить всех в лицо, или эффективный поиск лиц в большой базе О себе Здравствуй, Хабр! Меня зовут Павел, я работаю техническим директором в компании, занимающейся производством IoT устройств. Производим много чего — начиная от контроллеров для умных домов, заканчивая умными приборами учёта на своём запатентованном протоколе сенсорных с...

[Перевод] Анализ скорости распространения COVID-19 и публикация результатов на dstack.ai Предисловие переводчика Всем привет, давно ничего не писал на Хабр, но тут появился повод. Я довольно много лет проработал в области анализа данных и самая важная вещь, которую я понял за это время — в анализе данных очень не хватает инструментов, самых разных инструментов...

Разработка hexapod с нуля (часть 8) — улучшенная математика передвижения Всем привет! В результате перехода на удаленную работу у меня появилось больше свободного времени на разработку гексапода (+2 часа в день за счет экономии на дороге). Я наконец-то смог сделать универсальный алгоритм для построения траектории движения в реальном времени. Нов...

Эволюция OnCloud.ru глазами архитектора облака В 2010 году я начал работать в компании «Онланта» в должности пресейла. Отечественный рынок облачных услуг на тот момент только развивался, но уже был заряжен большим потенциалом. Недолго думая, в 2011 году мы приняли решение зайти на рынок в качестве облачного провайдера. 2...

[Из песочницы] Пропеллеролет: конвертоплан для мониторинга протяженных объектов Однажды в институте зав кафедры рассказывал нам о нашей будущей профессии: “Наша профессия очень важна и ответственна. Сейчас вы работаете над обликом будущего флагмана Российской авиации. Вы сыпете идеями, пытаетесь предугадать задачи, которые он будет решать, берете на с...

[Из песочницы] История одного проекта или как я 7 лет создавал АТС на базе Asterisk и Php Наверняка у многих из вас, как и у меня, была идея сделать что-нибудь уникальное. В этой статье я опишу технические проблемы и решения, с которыми пришлось столкнуться при разработке АТС. Возможно, это кому-то поможет решиться на свою идею, а кому-то пройти по протоптанной д...

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

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

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

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

Нос к носу с хакерами. Как мы защищаемся от новейших киберугроз Привет, Хабр! Меня зовут Александр Пономарев, я руковожу департаментом ИТ-решений и продуктов информационной безопасности ВымпелКома. Хочу рассказать, как сделали сервис обнаружения киберугроз для среднего и крупного бизнеса, вначале протестировав его на своей инфраструктуре...

[Перевод] Обзор ts-migrate — инструмента для перевода крупномасштабных проектов на TypeScript В Airbnb для фронтенд-разработки официально применяется TypeScript (TS). Но процесс внедрения TypeScript и перевода на этот язык зрелой кодовой базы, состоящей из тысяч JavaScript-файлов, это — не дело одного дня. А именно, внедрение TS происходило в несколько этапов. Сначал...

PostgreSQL в «Тензоре» — публикации за год Ровно год назад с рассказа о нашем сервисе визуализации планов запросов мы начали публикацию на Хабре серии статей, посвященных работе с PostgreSQL и его особенностям. Это уже пройденные нами «грабли», интересные наработки, накопившиеся рекомендации, применяемые в разработке...

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

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

Знакомимся с Needle, системой внедрения зависимостей на Swift Привет! Меня зовут Антон, я iOS-разработчик в Joom. Из этой статьи вы узнаете, как мы работаем с DI-фреймворком Needle, и реально ли он чем-то выгодно отличается от аналогичных решений и готов для использования в production-коде. Это всё — с замерами производительности, есте...

[Из песочницы] Мне 14 и я решил разработать игру Привет, меня зовут Георгий, я учусь в 8 классе и мне 14. Указывая свой настоящий возраст я всего навсего пытаюсь привлечь больше внимания к моему проекту, всё таки не каждый день встретишь 14-го школьника который разработал не просто «5-ти минутный кликер» а действительно чт...

Banana Pi R64 Лучший роутер для OpenWrt, или нет? Здравствуйте меня зовут Дмитрий и сегодня я сделаю обзор на одноплатный компьютер Banana Pi R64. Мы узнаем как установить на него OpenWrt а также как собрать самому прошивку под этот компьютер. Читать дальше →

The Legend of Bumbo — приключения маленького бедняка по адским пещерам, теперь на Android Студия The Label обещала выпустить в декабре на смартфоны похождение бедного мальчика Bum-Bo по пещерам, наполненным ужасами и монстрами, и она сдержала своё слово; The Legend of Bum-Bo теперь официально вышла на Android. В предыдущей новости об этом проекте мы рассказали не...

[Перевод] Как за два месяца пройти путь от начинающего питониста до сертифицированного TensorFlow-разработчика Я всё ещё помню тот день, когда сдал выпускную работу в университет. Я тогда вздохнул с облегчением, так как это означало окончание бакалавриата. Но мной скоро овладела скука. Делать было нечего, мир был охвачен пандемией. Мне очень хотелось найти новое занятие, которое изба...

Опыт внедрения Shiny в качестве корпоративной отчетности Всем привет! Меня зовут Сергей, я аналитик в ГК «Везёт». Исторически так сложилось, что в нашей компании было множество систем отчетности: от платных в виде Looker и Qlick – до самописных веб-сервисов. Однажды решив, что так дальше жить нельзя, мы стали выбирать единую систе...

[Личный опыт] Как я переехал в Австралию всего с двумя годами опыта в разработке Продолжаем публикации из рубрики личный опыт. Сегодня iOS-разработчик Игорь Никитин, который два года назад переехал в Сидней, поделится опытом поиска работы, обустройстве на новом месте и впечатлениями от устройства жизни в Австралии. Передаем ему слово! Всем привет, мен...

Технологический журналист: как стать и куда убежать Привет Хабр! Меня зовут Александр Баулин, я – технологический журналист. В настоящий момент нахожусь в переходном состоянии — в статусе фрилансера выбираю вернуться ли в журналистику или пойти дальше по дороже работы в корпорациях. Впрочем, расскажу, с чего все начиналось. ...

[Из песочницы] Два часа и 3.5 доллара. Как я сделал простой сайт с визуализацией распространения коронавируса Все началось с того, что я не смог найти нормальной визуализации данных о распространении коронавируса. Вернее, был один сайт, показывающий динамику на карте и метрики по Китаю, но это как раз то, что меня меньше всего интересовало, мне интересна глобальная картина. Скажу че...

Почему я ушел с React Native и перешёл во Flutter: Часть 1 Всем привет. Меня зовут Дмитрий Андриянов. Два года писал на React Native, сейчас я разработчик в Surf и уже полтора года пишу на Flutter. Когда я только решил серьёзно взяться за Flutter, я бы очень хотел найти статью от разработчика, который перешёл с React Native на Flutt...

[Перевод] Как дейтинг-приложения делают нас одинокими Аналогично Request For Startups (запрос на стартапы, которые призваны решить проблемы и задачи, которые Y Combinator считает актуальными для общества и бизнеса), я решил вести рубрику Request for Co-founder. В ней я рассматриваю продукты (или сразу несколько похожих продукто...

AWS Lambda in Action. Часть 2: знакомимся с инструментами разработки и тестирования Этот гайд — результат личного опыта разработки и тестирования Serverless-приложений, а также маневрирования между «костылями» и «велосипедами» при попытках их протестировать. Когда я только начинал заниматься разработкой Serverless-приложений, во всем приходилось разбирать...

Теперь в Telegram можно импортировать сообщения из WhatsApp На Reddit развернулась дискуссия об интересном приложении, которое написал один участник сообщества с ником ferferga. Парень разработал импортёр сообщений из WhatsApp в Telegram. Приложение называется TLImporter. Можно подумать, что это было сделано ради шутки, но на самом...

Продуктовая трансформация в Delivery Club Tech Привет, Хабр! Как и обещал в предыдущем посте, продолжаю знакомить вас с Delivery Club Tech. Сегодня поговорим о продуктовой трансформации. Так совпало, что мой приход в DC в октябре 2018-го ознаменовался тотальной перестройкой всех процессов в команде. В тот момент перед...

Архитектурный паттерн Dependency Injection в React-приложении Расшифровка доклада Сергея Нестерова с конференции FrontendLive 2020.Привет! Меня зовут Сергей, уже больше двух лет я работаю в группе компаний Тинькофф. Моя команда занимается разработкой системы для анализа качества обслуживания клиентов в Тинькофф, и, как вы, наверное, до...

Клара у Карла пароли украла и за битки продала: расшифровка эфира с Ашотом Оганесяном Неделю назад в нашем инстаграм-аккаунте выступил Ашот Оганесян — технический директор и основатель DeviceLock. Ашот ведет телеграм-канал Утечки информации и уже 20 лет занимается проблемами DLP. Во время эфира Ашот отвечал на вопросы, которые задавали в комментариях в ин...

Трудно быть Колей, или практики обмена знаниями в Latech Всем привет! Меня зовут Александр Афенов, я тимлид команды Order Processing в компании Lamoda. Сегодня я хочу вам рассказать о практиках обмена знаниями: какие проблемы эти практики решают, как мы к ним пришли, и как они влияют на жизнь разработчика. Читать дальше →

Релиз Kingdom Hearts Dark Road переносится, новую дату объявят в начале июня Не так давно Square Enix анонсировала новую мобильную игру во вселенной Kingdom Hearts. Ее кодовым именем было Project Xenahort, а у себя в социальных сетях разработчики предложили поклонникам угадать официально название, которым оказалось Kingdom Hearts Dark Road. Игра зап...

API Style Guide, или не заставляйте пользователей думать Привет! Меня зовут Лёша Руцкой, и я — продуктовый менеджер в компании Wrike. До этого работал в Adform и PandaDoc. Последние пять лет я занимаюсь всем, что связано с интеграциями и API. Wrike — это SaaS продукт для совместной работы и управления проектами. Мы хотим, чтоб...

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

О неизменном: история 9 места Russian AI Cup 2019 Меня зовут Андрей Рыбалка, я участвую в Russian AI Cup под ником lama и я снова расскажу вам, как не выиграть макбук. Благо, я в этом человек опытный — вот этими вот руками не выиграл уже целых 7 штук. Итак, задачей этого года был платформер/2D-шутер, для которого нужно был...

Руководство по использованию Tarantool Cartridge в Kubernetes Привет, меня зовут Иван, и сегодня я расскажу как управлять приложением Tarantool Cartridge в кластере Kubernetes при помощи Tarantool Operator. Мы пройдем полный цикл от разработки до эксплуатации: Подготовим инструменты Создадим тестовое приложение Упакуем его в docker У...

Как мы фрод из избы выносили Меня зовут Никита, я backend-разработчик из команды антифрода в Ситимобил. Сегодня я поделюсь с вами историей о том, как мы выносили наш сервис из монолита в отдельный сервис, как вообще пришли к этому решению и с какими проблемами столкнулись. Читать дальше →

[Перевод] Делаем волшебный шар на основе Arduino Pro Mini Я смотрел какой-то фильм, у одного из героев которого был волшебный шар, отвечающий на вопросы. Мне тогда подумалось, что неплохо было бы сделать такой же, но цифровой. Я порылся в своих запасах электронных компонентов и посмотрел, есть ли у меня то, что нужно для сборки так...

Как сделать статический сайт на Cloudflare Workers Sites Привет! Меня зовут Дима, я техлид SysOps-команды в Wrike. В этой статье я расскажу, как за 10 минут и 5 долларов в месяц сделать максимально близкий к пользователю сайт и автоматизировать его деплой. Статья почти не имеет отношения к тем проблемам, которые мы решаем внутри н...

Ставим задачи на развитие (в кровавом enterprise и не только) Забегает молодой парень в больницу: — Доктор, сделайте мне кастрацию, срочно! — ??? — Срочно, доктор, некогда объяснять! Доктор делает кастрацию. Наутро парень приходит в себя от наркоза, его спрашивают, в чем дело, собственно? — Понимаете, я собираюсь жениться на еврейк...

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

Переезд из Java в Kotlin: как забрать коллекции с собой Меня зовут Борис Николаев, и в первой статье на Хабре хочу сравнить Java и Kotlin при работе с коллекциями. Она будет полезна всем, кто планирует перебираться в Kotlin и не хочет долго осваиваться. В течение последних лет Kotlin становится всё более и более популярным. Мног...

[Из песочницы] Основы компьютерной геометрии. Написание простого 3D-рендера Привет меня зовут Давид, а вот я собственной персоной отрендеренный своим самописным рендером: К сожалению я не смог найти более качественную бесплатную модель, но все равно выражаю благодарность заморскому скульптору запечатлевшему меня в цифре! И как вы уже догадались, р...

Приложение Smart Storage от «Систем компьютерного зрения» позволяет анализировать складские запасы на предприятиях Входящая в состав ГК ЛАНИТ компания «Системы компьютерного зрения» презентовала разработанное ею приложение Smart Storage. Это платформа, которая позволяет производить анализ складских запасов на предприятиях. Она демонстрирует высокую точность подсчетов различных видов сыр...

Какой язык программирования учить в 2020-м? Статей с подобными заголовками существует уже множество. Но в них постоянно какая-то дичь! Смотрите, Google ещё до основных результатов советует такое: HCL, Карл! Язык, который не просто очень далёк от «Самых Популярных», но ещё и создан для конфигурации, так что его вообще...

Как провести онлайн митап и сколько это стоит Привет! Меня зовут Антон Матренин, я один из организаторов сообщества ArtFlutter. Сегодня мы поговорим об онлайн митапах, платформах для онлайн конференций, стриминговых сервисах и в конце покажу пример настройки собственного онлайн-события.Все мы привыкли к конференциям, ...

“А вдруг наших спикеров схантят?!” Зачем и как учить инженеров выступать Привет! Меня зовут Женя Голева, я работаю деврелом в компании Lamoda уже четыре года. Сейчас процесс подготовки спикеров у нас налажен и отработан, но так было не всегда. В начале работы мое предложение о выступлении встречало сопротивление и у разработчиков, и у руководител...

За счет чего TDD “драйвит” разработку Статей о TDD достаточно много, и я обратил внимание на то, что все они затрагивают преимущественно техническую составляющую этого подхода, и практически никак не описывают ментальные принципы, лежащие в основе TDD.Поэтому я не хотел писать еще одну статью с описанием техники...

Как ускорить загрузку компьютера на Windows 10 c помощью быстрого запуска Ваш компьютер загружается слишком долго? Быстрый запуск может ускорить процесс. В Windows 10 можно активировать «Быстрый запуск»», чтобы ускорить загрузку. Компьютер будет загружаться на рабочий стол быстрее, чем при использовании традиционного процесса запуска. Это не новая...

Microsoft: процесс установки обновления Windows 10 20H2 будет «удивительно быстрым» Microsoft планирует выпустить в этом году ещё одно обновление Windows 10, которое преимущественно состоит из мелких исправлений, а также активирует некоторые новые функции. Недавно предварительная версия Windows 10 20H2 стала доступна бизнес-клиентам, а Microsoft заявила, чт...

Литье из алюминия по напечатанной модели и питерский Кастомайзинг Всем доброго времени суток, меня зовут Алексей и, прежде чем перейти к делу, немного расскажу о себе, т. к. это первый пост на 3DToday.С 2014 года я занимаюсь 3D дизайном, проектированием, 3D печатью, ЧПУ-станками, изделиями из металла, ювелирными изделиями и немного кастома...

Без эйчаров, интервью и спешки: как нанимают системных администраторов в Southbridge Хороший инженер знает нужные технологии, ясно излагает мысли и управляет собой не хуже, чем сервером. Расскажем, как такого найти и удержать. Southbridge поддерживает высоконагруженные серверы с 2008 года. Сейчас в штате 55 сотрудников, из них 19 — системные инженеры, бол...

Почему мы выбрали MobX, а не Redux, и как его использовать эффективнее Меня зовут Назим Гафаров, я разработчик интерфейсов в Mail.ru Cloud Solutions. На дворе 2020 год, а мы продолжаем обсуждать «нововведения» ES6-синтаксиса и преимущества MobX над Redux. Существует много причин использовать Redux в своем проекте, но так как я не знаю ни одной,...

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

Accessibility. Как сделать приложение доступным для пользователей с ограниченными возможностями Обо мне Меня зовут Аня Ковтун, я UX/UI дизайнер и работаю в компании Arcadia с 2015 года. Помимо проектирования пользовательских интерфейсов, я общаюсь с заказчиками и занимаюсь составлением требований для команды разработчиков. Предыстория В 2018 году я работала над одн...

[Перевод] Более эффективное предварительное обучение NLP моделей с ELECTRA Последние разработки в области предварительного обучения языковых моделей привели к значительным успехам в сфере обработки естественного языка (Natural Language Processing, NLP), породив такие высокоэффективные модели, как BERT, RoBERTa, XLNet, ALBERT, T5 и многие другие. Эт...

Настраиваем Continuous Integration для Jenkins и Bitbucket с werf Утилита werf создана так, чтобы её было легко интегрировать с любыми CI/CD-системами. Подробнее об этом процессе в общем случае читайте в эпилоге этой статьи, но основное её содержимое — практический пример по организации CI в Jenkins и Bitbucket. Подразумевается, что в р...

Tarantool: взгляд аналитика Всем привет! Меня зовут Андрей Капустин. Я работаю системным аналитиком в Mail.ru Group. Наши продукты формируют единую экосистему для пользователя, в которой данные генерируют множество независимых инфраструктур: службы заказов такси и еды, почтовые сервисы, соцсети. Сегодн...

Мне было стыдно за свой интерпрайз-код настолько, что я сделал свой велосипед. За него стыдно меньше Это продолжение текста про архитектуры интерпрайз-систем. Рассуждения это хорошо, но какой в них толк без практического применения. Я покажу свой фреймворк в деле. Всё началось с того, что я рассказывал про проблематику проектирования приложений на .NET и ныл про нелёгкую ж...

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

Телефонный номер через ГосУслуги Если во время удаленной работы вам все равно нужно звонить и принимать звонки, без виртуального номера не обойтись. Но что делать, если нет возможности идти в офис оператора, или желания отправлять ему сканы документов? Все, у кого есть подтвержденный аккаунт в ГосУслугах ли...

IntelliJ IDEA 2019.3: оптимизация производительности и улучшение качества Привет! В этом релизе мы сосредоточились на производительности и качестве. Вместе с другими командами JetBrains, мы занимались оптимизацией производительности, повышением отзывчивости интерфейса, улучшением существующей функциональности. Чтобы правильно расставить приорит...

[Из песочницы] BPF для самых маленьких, часть нулевая: classic BPF Berkeley Packet Filters (BPF) — это технология ядра Linux, которая не сходит с первых полос англоязычных технических изданий вот уже несколько лет подряд. Конференции забиты докладами про использование и разработку BPF. David Miller, мантейнер сетевой подсистемы Linux, назыв...

Создание дизайн-системы для игры: детальный разбор подхода Меня зовут Максим Полстяной, я UI/UX Designer в Plarium Kharkiv. В этой статье я поделюсь опытом создания дизайн-системы для нашей браузерной стратегии «Войны Престолов», расскажу с чего все начиналось и какие этапы мы проходили. Читать дальше →

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

[Из песочницы] Что такое Unity Asset Store и как на нем зарабатывать? Доброго времени суток, Habr! Я являюсь паблишером Asset Store уже 4 года и хочу поделиться с вами своим опытом. Расскажу вам что такое Unity Asset Store глазами программиста и что нужно знать для создания ассета. Итак, что же такое этот Unity Asset Store? Это магазин в котор...

Моё знакомство с AppGallery: как я воспользовался возможностями Huawei и нашёл точку роста для своего проекта Привет, Хабр! Меня зовут Георгий, я менеджер проектов и гейм-дизайнер в компании Azur Games. Мир мобильных игр — это очень конкурентная среда: здесь важно регулярно включаться в освоение новых инструментов, чтобы продолжать наращивать свою аудиторию. Наша команда отслежива...

Герман Греф: «Мы пытались организовать дискуссию по поводу AGI, и ни один уважающий себя ученый на нее не приходил» Вчера, 18 февраля, в нашем университете НИТУ «МИСиС» прошла публичная лекция главы «Сбербанка» Германа Грефа и гендиректора Cognitive Pilot Ольги Усковой на тему «Нейроэволюция. Как жить и успевать в новых реалиях: HUMAN+AI». Спикеры обещали высказаться по самому широкому ...

Micro Property — минималистичный сериализатор двоичных данных для embedded систем. Часть 2 Некоторое время назад я опубликовал свою статью о разработке велосипедного велосипеда, в которой описал причины, побудившие меня этим заняться. Если вкратце, то мне была нужна миниатюрная библиотека для микроконтроллеров с сериализатором двоичных данных и последующей переда...

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

Awesome-лист своими руками или GitHub вместо блокнота Привет, Хабр! Наверное, у каждого из нас есть такой файлик, куда мы припрятываем что-то полезное и интересное для себя. Какие-то ссылки на статьи, книги, репозитории, мануалы. Это могут быть закладки в браузере или даже просто открытые вкладки, оставленные на потом. Со врем...

[Из песочницы] Некоторые тонкости injection'а коллекций в Spring'е Всем привет! Меня зовут Владислав Родин. В настоящее время я преподаю на портале OTUS курсы, посвященные архитектуре ПО и архитектуре ПО, подверженного высокой нагрузке. Сейчас в OTUS'е открыт набор на новый поток курса Разработчик на Spring Framework. В преддверии старта к...

[Из песочницы] Разрабатываем игры на LibGDX с помощью шаблона Entity Component System Привет Хабр! Меня зовут Андрей Шило, я android-разработчик в компании FINCH. Сегодня я расскажу вам о том какие ошибки не стоит допускать при написании даже самой простой игры и чем крут архитектурный подход Entity Component System(ECS). Читать дальше →

Две красные кнопки, паяльник и React: как мы делали движуху для IT-конференции Badoo регулярно участвует со стендом в выставках IT-конференций. Поэтому каждый год мы с коллегами — инженерами и деврелами — придумываем, что бы такого айтишного сделать, чтобы не скучать в перерывах между докладами. Меня зовут Иван, я frontend-разработчик. В этой статье вм...

1.Elastic stack: анализ security логов. Введение В связи окончанием продаж в России системы логирования и аналитики Splunk, возник вопрос, чем это решение можно заменить? Потратив время на ознакомление с разными решениями, я остановился на решении для настоящего мужика — «ELK stack». Эта система требует времени на ее нас...

Как из любого количества вариантов выбрать лучший: простой пайплайн ранжирования данных в Яндекс.Толоке Привет, Хабр! Меня зовут Дмитрий Браженко. Разработка продуктов и сервисов регулярно сталкивает нас с необходимостью выбрать лучший вариант: какая иконка красивее? Какая кнопка удобнее? Краудсорсинг – отличный способ учесть мнение потенциальных пользователей, проведя несложн...

Тесты должна писать разработка (?) Привет! Есть старый холивар на тему, кто же должен писать тесты: разработчики или тестировщики. Вроде как если в команде есть тестировщики, то логично, что тесты пишут они, правда? С другой стороны, ребята из разработки (помимо самой разработки) точно знают, как работает их ...

Кому с Redux жить хорошо Приветствую всех любителей хорошей инженерки! Меня зовут Евгений Иваха, я фронтенд-разработчик в команде, занимающейся дев-программой в ManyChat. В рамках дев-программы мы разрабатываем инструменты, позволяющие расширять функциональность ManyChat за счет интеграции со сторон...

Приложение Unagrande YogaClub теперь доступно на Android Приложение для занятий йогой Unagrande YogaClub стало доступно для пользователей Android. Ранее его можно было скачать только на устройствах на базе iOS. Сбросить вес, расслабиться, улучшить самочувствие, и достичь видимых результатов уже после нескольких занятий стало воз...

Платформа Microsoft Ad Monetization закроется 1 июня 2020 года Microsoft объявила, что платформа Ad Monetization, с помощью которой разработчики могли монетизировать свои UWP-приложения, закроется 1 июля 2020 года. Компания предлагает разработчикам уже сейчас начать переходить на другие рекламные платформы. После этого заявления в сооб...

[Из песочницы] Кодовая база. Расширяем RecyclerView Всем привет! Меня зовут Антон Князев, senior Android-разработчик компании Omega-R. В течение последних семи лет я профессионально занимаюсь разработкой мобильных приложений и решаю сложные проблемы нативной разработки. Хочу поделиться способами расширения RecyclerView, на...

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

Делаем TypeScript строже. Доклад Яндекса Как сделать из TypeScript строгого, но справедливого товарища, который защитит тебя от неприятных ошибок и придаст больше уверенности в коде? Алексей Веселовский veselovskiyai рассмотрел несколько особенностей конфигурации TS, которые закрывают глаза на непростительные вольн...

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

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

[Из песочницы] 3 проблемы при передаче данных в Google Analytics через Measurement Protocol Всем привет! Меня зовут Иван Спиридонов, я создатель сервиса сквозной аналитики R7K12. Наша система помогает выявить наиболее эффективные источники рекламы, которые приносят реальную прибыль компании, а не просто расходуют бюджет. Для анализа статистики посещений, продаж, це...

Как мы интегрировали Яндекс.Музыку с Siri. Доклад Яндекса Siri — мощный инструмент с публичным API для сторонних приложений. Например, музыкальных. В докладе я рассказал, как начать разработку обработки голосовых медиазапросов от Siri, используя Intents.framework. Поделился нашим опытом — с чем пришлось столкнуться, чего нет в доку...

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

Принцип подстановки Лисков Всем привет, меня зовут Константин. Я занимаюсь разработкой на Java в Tinkoff.ru и люблю SOLID. В этой статье мы сформулируем принцип подстановки Лисков, покажем его связь с принципом Открытости-Закрытости, узнаем, как правильно формировать иерархию наследования и ответим на...

Обзор и тестирование Huawei Dorado 5000V6 Полгода назад я уже начинал рассказывать об обновлении линейки СХД компании Huawei – Dorado V6. На самом деле, мне удалось познакомиться с ними еще до официального анонса, и логично, что тогда у меня не было возможности потрогать их в работе собственными руками. В своей ста...

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

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

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

Не те игрушки: как мы научили нейросеть бороться с порно в стримах Всем привет, меня зовут Олег, я занимаюсь компьютерным зрением в команде Видеоаналитики МТС и сегодня расскажу вам, как мы защищаем от небезопасного контента стриминговую платформу WASD.tv, в частности про детектирование порнографии в постановке задачи action recognition. ...

[Перевод] Заметки о Unix: системный вызов write(), на самом деле, не такой уж и атомарный Недавно я читал материал Эвана Джонса «Устойчивое хранение данных и файловые API Linux». Я полагаю, что автор этой довольно хорошей статьи ошибается, говоря о том, чего можно ожидать от команды write() (и в том виде, в каком она описана в стандарте POSIX, и на практике). Н...

Сервис для Active Restore или история одного индустриального проекта в Иннополисе Привет, Хабр! Меня зовут Роман, и я хочу рассказать сегодня о том, как мы в университете Иннополис разрабатывали тестовый стенд и сервис для системы Acronis Active Restore, которая скоро должна стать частью продуктовой линейки компании. Всех, кому интересно, как строятся вза...

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

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

Как я делал свой самолёт Здравствуйте, дорогие Хабровчане! Меня зовут Константин Томаревский. Я инженер компании Deutsche Telekom IT Sotutions. Хотел поделиться с Вами своей давней задумкой, которую пытаюсь воплотить в «железе». По образованию я авиационный инженер. Когда я поступал в Университе...

Делаем свой телеканал Вы, возможно, удивитесь, но телевидение всё ещё живо. Да, аудитория поредела и «состарилась», а технологии приумножились и помолодели (IPTV, SmartTV, различные приставки), но всё-таки жизнь есть не только в YouTube и TikTok. Мало того, сейчас сделать свой телеканал можно п...

[Перевод] JavaScript tree shaking, like a pro Это перевод статьи об оптимизации и уменьшении размера бандла приложения. Она хороша тем, что тут описаны best practices, советы, которых стоит придерживаться, чтобы тришейкинг работал и выкидывал неиспользуемый код из сборки. Она будет полезной многим, потому что сейчас все...

Анонс: как дата-саентисты в ВК делают рекламу эффективной Завтра, 28 декабря в 20:00 у нас выступает Артем Попов — тимлид команды VK Performance Advertising. Артем руководит командой, которая занимается задачами, связанными с Data Science в рекламе. Их задача делать рекламу в ВК эффективнее и выгодней. Все члены команды, занимаю...

Chrono Odyssey — фэнтези-MMORPG от создателей Gran Saga для PC, смартфонов и консолей В конце ноября мы сообщили о том, что корейская студия NPIXEL получила крупную сумму денег в виде инвестиций. Тогда же она анонсировала новую игру под названием Chrono Odyssey. Тогда особо много информации не было известно, только то, что её делают на движке Unreal Engine 4....

[Из песочницы] С++, метапрограммирование и регистры микроконтроллера Привет, Хабр! Вот уже несколько лет все свои проекты для линейки микроконтроллеров stm32 я делаю на C++. За это время у меня накопилось некоторое количество материала, который может быть интересен другим разработчикам. Во избежание лишних вопросов: я использую связку QtCre...

Полный разбор экзамена ШАД-2019 Привет! Меня зовут Азат, я студент 3 курса Факультета Компьютерных Наук ВШЭ. На днях ко мне обратился знакомый с Экономики ВШЭ и попросил помочь с решением задач вступительного экзамена в ШАД. Мы с однокурсником Даниилом посмотрели на задания, они показались нам довольно сло...

Зоны в Dart: операция на открытом сердце для окружения Привет! Меня зовут Дима, я frontend-разработчик в компании Wrike. Клиентскую часть проекта мы пишем на Dart, однако работать с асинхронными операциями нам приходится не меньше, чем на других технологиях. Зоны — один из удобных инструментов, который Dart для этого предоставля...

Развитие компилятора C для нового мультиклета-нейропроцессора На конференции разработчиков системного и инструментального ПО – OS DAY 2016, которая прошла в г. Иннополис 9-10 июня 2016 (Казань) при обсуждении доклада о мультиклеточной архитектуре была высказана мысль, что она будет наиболее эффективной при решении задач искусственног...

Строим безопасную разработку в ритейлере. Часть 2, SAP-приложения Недавно мы начали рассказывать вам о своём опыте выстраивания процесса безопасной разработки для крупного ритейлера. Если вы вдруг пропустили этот момент, то можете прочитать первую часть о безопасной разработке порталов и мобильных приложений здесь. А сегодня мы раскроем по...

Путь самурая: от Servlet к Reactive Programming Примерно 1-1,5 года назад Spring Webflux был на хайпе. Практически на любой Java-конференции можно было встретить доклады по Webflux, реактивному программированию, где-то даже проскакивали доклады про RSocket. Выступлений было много, сообщество маленькое, работающих проект...

[Из песочницы] Построение отказоустойчивой системы Embedded Linux на базе модуля Mars ZX3 фирмы Enclustra В связи с загруженностью специалистов, несколько лет назад мы вынуждены были отдать одну разработку контрагентам. Разработка велась на модуле Mars ZX3 фирмы Enclustra, в котором используется SOC ARM+FPGA Zynq-7020. Для сборки Linux использовался BSP от Enclustra (bsp-xilinx)...

Инсайды от сотрудника Facebook: как попасть на стажировку, получить оффер и все о работе в компании Недавно мы запустили новый образовательный проект: прямые эфиры c ребятами из IT, которые отвечают на ваши вопросы в формате живого общения. Этот проект — попытка создать полноценный набор гайдов и рекомендаций для успешной жизни разработчика: как построить карьеру, получит...

Новогодний ретрокомпьютер на базе Pentium 4 Этот проект я могу описать тремя ключевыми словами: релакс, топчик и Windows 98. Релакс - это потому, что хотелось построить ретрокомпьютер без надрыва и долгостроя, как я это продолжаю делать со своим 386-м. Относительно дешевые запчасти, большой выбор, без напряга. Топчик:...

Почему меня разочаровали результаты Kaggle ARC Challenge Кто-то с ужасом, а кто-то с нетерпением ждет ИИ как в произведениях фантастов. С личностью, эмоциями, энциклопедическими знаниями и главное – с интеллектом, то есть способностями к логическим выводам, оперированию абстрактными понятиями, выделению закономерностей в окружающе...

Почему VR разработка вам не подходит Всем привет! Меня зовут Григорий Дядиченко, и я занимаюсь AR/VR. (Слышны хлопки по залу). В AR/VR я уже больше 4 лёт, хотя занимаюсь всё это не только исключительно ими, а самыми различными проектами под заказ всё это время. Я работал в студиях, я долгое время был фрилансеро...

Для смартфонов серии OnePlus выпущена версия OxygenOS 11 Open Beta 3 OnePlus начала развертывание версии OxygenOS 11 Open Beta 3 для смартфонов OnePlus 8/8 Pro по всему миру. OxygenOS 11 Open Beta 3 для серии OnePlus 8 поставляется с рядом исправлений, улучшений, оптимизаций, а также с постоянной поддержкой функции Canvas. Обновление включ...

Пользователи Huawei и Honor смогут опробовать HarmonyOS уже в январе-феврале По словам Вана Чэнлу (Wang Chenglu), президента подразделения Huawei, занимающегося разработкой ПО для пользовательских устройств, пользователи смартфонов Huawei и Honor смогут опробовать фирменную операционную систему HarmonyOS уже в январе-феврале следующего года. Эта...

«Любовь. Python. C++». Доклад Яндекса Что связывает языки Python и C++? Как извлечь из этого выгоду лично для себя? На большой конференции Pytup Александр Букин показал способы, благодаря которым можно оптимизировать свой код, а также выбирать и эффективно использовать сторонние библиотеки. — Всем привет, меня ...

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

[Перевод] JavaScript, Python или Go: что лучше всего подойдёт для бэкенд-разработки в 2021 году? Уже прошло почти восемь месяцев 2020 года, а технические прогнозы на этот год всё выходят и выходят. И это — несмотря на то, что очень сложно предсказать будущее в такой динамично развивающейся индустрии, как разработка программного обеспечения. Тот, кто работает в этой инду...

[Из песочницы] Как организовать эффективную работу распределенной команды верстки Всем привет! Меня зовут Роман, и сегодня я поделюсь своим опытом работы в распределенной команде верстки. Расскажу о процессах, которые мы построили, и как команда из четырех человек покрывает потребности в верстке целого подразделения, состоящего из 30+ продуктов и 20+ прод...

[Перевод] Невероятная производительность ввода-вывода с параллельным Apache Parquet на Python В преддверии старта курса «Data Engineer» подготовили перевод небольшого, но интересного материала. В этой статье я расскажу о том, как Parquet сжимает большие наборы данных в маленький файл footprint, и как мы можем достичь пропускной способности, значительно превышающей ...

Число организаций-операторов, использующих инструменты прогнозирования, удвоится к 2025 году Zebra Technologies Corporation (NASDAQ: ZBRA), инновационная компания, чьи решения и партнеры позволяют коммерческим предприятиям добиваться максимальных результатов в своей работе, сегодня опубликовала результаты исследования, согласно которым обслуживающие организации в те...

Продолжение участия (и победы) в Russian AI Cup 2019 Привет всем, меня зовут Андрей Токарев и снова я бы хотел поделится опытом участия и победой в Russian AI Cup. Если кто не знает, Russian AI Cup (далее РАИК) это чемпионат по программированию исскуственного интелекта, где мы (точнее наша программа) должны управлять одним ил...

Доступность — это не так просто Привет, Хабр! В предыдущей статье я рассказывал о простых случаях проблем с доступностью, исправив которые можно сделать свой сайт или web-приложение гораздо доступнее. Я упоминал о правиле 80/20 и писал о проблемах, которые при наименьших затратах дают наибольший результа...

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

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

Мониторинг БД Oracle с помощью OEM Привет! Меня зовут Александра, я работаю в команде тестирования производительности. В этой статье расскажу базовые сведения об OEM от Oracle. Статья будет полезна для тех, кто только знакомится с платформой, но и не только для них. Основная цель статьи — помочь провести бы...

Создание масштабируемого API на спотовых инстансах AWS Всем привет! Меня зовут Кирилл, я CTO в Adapty. Большая часть нашей архитектуры находится на AWS, и сегодня я расскажу о том, как мы сократили расходы на сервера в 3 раза за счёт использования спотовых инстансов на продакшн окружении, а также о том, как настроить их автомасш...

[Перевод] Руткиты на основе BIOS. Часть 1 Привет, Хабровчане! В конце августа в OTUS запускается 2 мощных курса по обратной разработке кода (реверс-инжиниринг). В связи с этим приглашаем вас на День Открытых дверей, где Артур Пакулов (Ex-вирусный аналитик в Kaspersky Lab.) расскажет подробнее о программах, особеннос...

[Перевод] От складных телефонов к растягивающимся экранам Сегодня можно купить смартфон со складным экраном. Завтра, возможно, у нас будет уже растягивающийся экран Motorola показала первый портативный мобильный телефон почти полвека назад. Он был размером с кирпич, и весил как половина кирпича. Через десять лет на его основе поя...

Как я стал PMP, не выпив ни одного кофе Всем привет, меня зовут Максим!В начале 2020 года я решил сконцентрироваться на проектах по разработке программного обеспечения и перешел на позицию руководителя IT проектов в банк.В рамках профессионального развития было определены 2 вектора сертификации Scrum и PMP, поскол...

Выступает DMN, дирижирует ZeeBe: как использовать бизнес-правила в микросервисах Меня зовут Николай Первухин, я Senior Java Developer в Райффайзенбанке. Так сложилось, что единожды попробовав бизнес-процессы на Camunda, я стал адептом этой технологии и стараюсь ее применять в проектах со сложной логикой. Действительно сама идея подкупает: рисуешь процесс...

Reverseveryday.com — бесплатный ресурс с задачами на реверс Всем привет! Меня зовут Дмитрий Скляров, я руковожу отделом анализа приложений в Positive Technologies. Сегодня я хочу рассказать вам о нашем новом проекте — ресурсе для любителей обратной разработки reverseveryday.com.

Студенческие IT стажировки — как мы стараемся делать их наиболее эффективными Привет! Меня зовут Денис Александров, и помимо работы в качестве Android-разработчика, я уже более семи лет готовлю стажеров в разных компаниях и занимаюсь студенческими практиками. Мне приходилось и работать с...

Как инженеры с рутинными проблемами справлялись: несколько кейсов монтажа оборудования Привет, Хабр! Меня зовут, Денис Сёмин, я руководитель отдела реализации клиентских и сетевых решений Orange Business Services в Самаре. В прошлый раз мой коллега Антон Кисляков рассказывал о том, как мы реализуем проекты в экстремальных условиях, например, при температуре...

Дело не только в деньгах, или Как я поверил в видеонаблюдение как сервис Привет, Хабр! Меня зовут Александр, много лет я ставил системы видеонаблюдения на коммерческих объектах и не доверял облачным сервисам по модели VSaaS (video surveillance as a service). Я был уверен, что серьезные бизнесы не экономят на проектах и выбирают традиционную систе...

Как построить AI-друга. Расшифровка доклада Хабр, привет! Меня зовут Артем Родичев, я Head of AI в компании Replika. Сегодня я расскажу как мы делаем AI-друга. Если вы смотрели фильм Her или последний Blade Runner, то уже можете представить что мы строим. На текущий момент Реплика — самый популярный англоговорящий чат...

Что такое красивый код и как научиться его писать Меня зовут Маша, я автор курса по С++ в Яндекс Практикуме. Все вопросы, задачи курса, его тексты и описания решений — это всё наша команда. И сегодня я хочу поговорить про красоту кода. Обсуждать её я буду по большей части на примере С++, так как я на нем и пишу, чаще всего ...

Дети, русский язык и R Типичная ситуация в нынешнем образовательном процессе в школе. На часах 22:00, в электронном дневнике ребенка появляется новое задание. В лучшем случае на послезавтра, но обычно на завтра. Вариантов реакции три: не делать вовсе; «не заметить» и отложить решение вопроса на п...

Microsoft позволит компьютерным играм использовать преимущества сверхбыстрых SSD. Представлен DirectStorage API Только что мы говорили о технологии Nvidia RTX IO, которая позволяет видеокартам RTX 3000 загружать данные напрямую из SSD, минуя процессор. Это должно обеспечить огромный прирост производительности в ряде сценариев в играх. Но в целом RTX IO — это не совсем собст...

Green Code и березки. Основные принципы зеленого кода в разработке Всем привет. Меня зовут Стас, в компании Домклик я курирую разработку сервисов бек-офиса для ипотечного кредитования Сбербанка. В последнее время во всевозможных докладах и подкастах я довольно часто стал встречать термин «Green Code». Покопавшись в интернете и изучив эту...

Тестируем СХД OceanStor Dorado V6: Hyper и Smart Привет, меня зовут Павел. Я работаю ведущим системным инженером группы внедрения в департаменте вычислительных систем компании STEP LOGIC. В этом посте я поделюсь своими наблюдениями о флеш-системе хранения данных Huawei OceanStor Dorado V6, которую мы тестировали в «полях»...

Что нужно знать о популярных фреймворках Привет! Меня зовут Дима Чудинов, я наставник на веб-факультете Яндекс.Практикума, Head of Group, Front-end, ABBYY. Студенты недавно задали мне вопрос: «Что лучше: Angular или React?». Я начал отвечать и понял, что мне понадобится для этого статья. Позже я понял, что и одной...

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

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