Социальные сети Рунета
Пятница, 22 октября 2021

Язык програмирования Ü — нелёгкий путь написания самодостаточного компилятора Уже несколько лет я веду разработку собственного языка программирования — Ü. Около двух лет назад я публиковал вводную статью о нём на Хабре. Компилятор этого языка написан на C++ и долгое время он таковым и оставался. Но после той публикации я пришёл к выводу, что язык Ü уж...

[Перевод] Портируем make.c на D Уолтер Брайт — «великодушный пожизненный диктатор» языка программирования D и основатель Digital Mars. За его плечами не один десяток лет опыта в разработке компиляторов и интерпретаторов для нескольких языков, в числе которых Zortech C++ — первый нативный компилятор C++. Он...

Как и зачем мы создаём собственную курьерскую платформу. Три истории Яндекс.Маркета Всем привет, меня зовут Алексей Остриков, я руковожу разработкой в Яндекс.Маркете. Когда-то я много-много писал код, затем полтора года руководил группой бэкенда одного из сервисов Маркета, а сейчас отвечаю за разработку курьерской платформы Маркета. Сегодня я расскажу, по...

Зачем инженерам тратить время на перформанс Привет, меня зовут Михаил Юдин, я Android-инженер в Авито. Хочу рассказать, в чём польза перформанса и как начать внедрять его в продукте. Осенью 2018 года у нас появилась команда перформанса — есть шаги и инструменты, которые нам помогли, поэто...

[Перевод] Последние версии компиляторов D Группа разработчиков LDC закрыла ушедший год версией 1.19.0 компилятора D, использующего LLVM, а основная команда начала новый год версией 2.090.0 эталонного компилятора DMD. И если вы еще не слышали, не так давно появились важные новости о D-компиляторе на базе GCC, GDC. На...

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

Как и для чего мы два раза переезжали на GraphQL — опыт Яндекс.Афиши Привет! Сегодня мы поговорим с вами о том, как эволюционировала архитектура Яндекс.Афиши, а именно — как и почему мы перешли от REST на GraphQL к Node.js + Python, а потом в целях оптимизации избавились от Node.js + Python и переписали весь GraphQL на Java. Это история борьб...

Опыт команды PVS-Studio: повышение производительности C++ анализатора на Windows при переходе на Clang С самого своего начала C++ анализатор PVS-Studio для Windows (тогда еще Viva64 версии 1.00 в 2006 году) собирался компилятором MSVC. С выходом новых релизов C++ ядро анализатора научилось работать на Linux и macOS, и структура проекта была переведена на использование CMake. ...

Как вырастить веб-разработчика от стажера до архитектора. Матрица компетенций Вместо эпиграфа Когда в 2004 году я окончил университет, в нашем городе почти не было команд разработчиков. Где работать, у кого набираться практического опыта? Выбор был прост: “админом” или “в Москву”. Или уйти из профессии. Сейчас я преподаю веб-разработку в местных ВУЗ...

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

Проверка Clang 11 с помощью PVS-Studio Время от времени нам приходится писать статьи о проверке очередной версии какого-то компилятора. Это неинтересно. Однако, как показывает практика, если этого долго не делать, люди начинают сомневаться, достоин ли анализатор PVS-Studio звания хорошего ловца багов и потенциал...

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

[Из песочницы] Собственный софт-процессор на ПЛИС с компилятором языка высокого уровня или Песнь о МышЕ Собственный софт-процессор на ПЛИС с компилятором языка высокого уровня или Песнь о МышЕ — опыт адаптации компилятора языка высокого уровня к стековому процессорному ядру. Распространенной проблемой для софт-процессоров является отсутствие средств разработки для них, особен...

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

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

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

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

Как мы строили параллельные вселенные для нашего (и вашего) CI/CD пайплайна в Octopod Как мы строили параллельные вселенные для нашего (и вашего) CI/CD пайплайна в Octopod Привет, Хабр! Меня зовут Денис и я вам расскажу как нас надоумило сделать техническое решение для оптимизации процесса разработки и QA у себя в Typeable. Началось с общего ощущения, что вр...

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

PHP – компилируемый язык?! PVS-Studio ищет ошибки в PeachPie PHP широко известен как интерпретируемый язык программирования, использующийся в основном для разработки сайтов. Однако немногие знают, что для PHP есть ещё и компилятор под .NET — PeachPie. Но вот насколько он качественно сделан? Сможет ли статический анализатор найти в эт...

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

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

Разработка стековой виртуальной машины и компилятора под неё (итог) Для завершения реализации компилятора потребовалось около месяца времени (вечерами), чтобы на практике познакомиться с такими темами как BNF (Backus Naur Form), Abstract Syntax Tree (AST), Symbol Table, способами генерации кода, разработки самого компилятора (front-end, bac...

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

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

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

Hi-tech на железной дороге: математически обоснованная логистика при помощи «Навигатора» Привет, Хабр! Меня зовут Дмитрий Крупенин, я руковожу продуктовой разработкой в Первой грузовой компании (ПГК). Сегодня хотел бы рассказать о разработанном нами продукте для оператора вагонов железных дорог. Он называется "Навигатор", а его основная задача - повышение эффект...

Разработка кроссплатформенного ядра геометрического моделирования В августе мы, команда C3D Labs (АСКОН), впервые выпустили версию геометрического ядра C3D для отечественной операционной системы Astra Linux, пополнив список поддерживаемых дистрибутивов Линукс. На данный момент ядро геометрического моделирования C3D может быть использовано ...

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

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

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

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

[Перевод] Самый быстрый компилятор aka compiler-benchmark От переводчика: все началось с топика на форуме D. После оценки скорости компиляции D по сравнению с другими языками мне было интересно, существует ли какой-нибудь язык, который компилируется в нативный код почти так же быстро или быстрее, чем D, за исключением C? Если да, т...

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

[Перевод] Новости из вселенной Haxe 14 октября состоялась небольшая онлайн-конференция HaxeIn 2020. Одним из докладчиков был Александр Кузьменко — разработчик компилятора Haxe. Доклад Александра — это отчет о работе, проделанной с февраля 2020 (когда состоялся HaxeUp Hamburg, организованный компанией Inno Game...

Помоги компилятору помочь тебе Предисловие Современные компиляторы обладают огромным количеством диагностик. И удивительно, что очень малая их часть включена по умолчанию. Огромное количество претензий, которые предъявляют к языку C++ в этих ваших интернетах, — про сложность, небезопасность, стрельбу по н...

[Из песочницы] Корутины в C++20 Введение Данная статья является переводом главы из книги Райнера Гримма Concurrency with Modern C++, которая является более доработанной и обширной версией статьи на его сайте. Так как весь перевод не умещается в рамках данной статьи, в зависимости от реакции на публикацию, ...

Сравниваем производительность C# и C++ в задачах обработки изображений Бытует мнение, что C# не место в вычислительных задачах, и мнение это вполне обоснованное: JIT-компилятор вынужден компилировать и оптимизировать код на лету в процессе выполнения программы с минимальными задержками, у него попросту нет возможности потратить больше вычислите...

Путь казахстанского разработчика: как я пришел к Java Привет! Меня зовут Бинали, я руководитель отдела разработки в Beeline Казахстан, работаю в компании почти год. Пришёл в Beeline 1-го июня 2020-го года на позицию Java-разработчика, сейчас я менеджер отдела по разработке ESB. Менеджмент начинает занимать много времени, но пок...

[Перевод] Встраивание Haskell: компиляторы и компиляция компиляторов Эта статья является переводом поста Chris Hodapp Embedding Haskell: Compilers, and compiling compilers В своём посте автор рассматривает различные подходы к использованию Haskell для написания кода для встраиваемых систем. Предоставим слово автору. В моем последнем посте упо...

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

Будни такси ВКонтакте Артем Пулявин руководит фронтенд-разработкой в Ситимобил и на конференции FrontendConf 2020 рассказал про такси ВКонтакте: как проект начинался и каким он стал. Проект задумывался внутри Ситимобил как экспериментальный, но за год по количеству поездок вырос в 30.000 раз. А...

Разработка стековой виртуальной машины и компилятора под неё (часть II) В первой части Разработка стековой виртуальной машины и компилятора под неё (часть I) сделал свою элементарную стековую виртуальную машину, которая умеет работать со стеком, делать арифметику с целыми числами со знаком, условные переходы и вызовы функций с возвратом. Но так ...

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

[Перевод] Баги, которые разрушили ваш замок Уолтер Брайт — «великодушный пожизненный диктатор» языка программирования D и основатель Digital Mars. За его плечами не один десяток лет опыта в разработке компиляторов и интерпретаторов для нескольких языков, в числе которых Zortech C++ — первый нативный компилятор C++. Он...

Rust включили в список основных языков для разработки платформы Android На днях компания Google сделала важный шаг, объявив о включении языка программирования Rust в число языков, которые допускаются для разработки платформы Android. Да, еще в 2019 году компилятор Rust включили в дерево исходных текстов Android, но это была экспериментальная по...

Предельная скорость USB на STM32F103, чем она обусловлена? У данной статьи тяжёлая история. Мне надо было сделать USB-устройства, не выполняющие никакой функции, но работающие на максимальной скорости. Это были бы эталоны для проверки некоторых вещей. HS-устройство я сделал на базе ПЛИС и ULPI, загрузив туда «прошивку» на базе проек...

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

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

Быть тимлидом, ч2: Технологии Всем привет, меня зовут Семён и я руковожу разработкой витрины объектов недвижимости в ДомКлик. В прошлой части этой серии статей мы поговорили про самую трудоёмкую область работы тимлида — работу с людьми. Сегодня я расскажу про не менее важную тему для любого тимлида — тех...

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

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

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

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

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

Начинаем писать под stm8, выбираем среды разработки и стартуем На пути в программировании stm8 есть развилка, о ней сегодня и поговорим. Определимся что речь будет идти о средах которые могут писать под си. Для начала поговорим о подходах, я выделю 2 основных. Первый установка ST Visual Develop и выбор в качестве компилятора COSMIC ...

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

Apple открыла исходные тексты Swift System и выложила Swift 5.3 Компания Apple открыла исходные тексты библиотеки Swift System. Она предоставляет идиоматический набор программных интерфейсов к системным вызовам и низкоуровневым типам данных. Изначально Swift System поддерживал только системные вызовы платформ Apple, но сейчас портиров...

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

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

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

Overlay и underlay сети на службе платформы виртуализации VMmanager Всем привет, меня зовут Александр Гришин, и я работаю product manager в компании ISPsystem. И сегодня хочу рассказать об интересной разработке нашей компании — схеме сети IP-Fabric на основе BGP в платформе виртуализации VMmanager. Осенью прошлого года мы добавили новую...

Разработка стековой виртуальной машины и компилятора под неё (часть I) Так сложилось, что за последние 18 лет, не приходилось писать на C/C++. На работе использовалась Java, да и ввиду должностей деятельность больше была связана с предпринимательством - переговоры, корпоративные продажи, выстраивание производственных операций и структурирование...

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

Неизвестные обещают выложить инструкцию по установке iOS 14 на Android-смартфоны Неизвестный автор Slashleaks опубликовал историю о том, что они с товарищем портировали iOS 14 на смартфон Google Pixel 4, а теперь планируют выпустить инструкцию по установке iOS на другие Android-смартфоны. В качестве доказательства приводятся фотографии смартфона Go...

Интеграция PVS-Studio в uVision Keil Я занимаюсь разработкой для встраиваемых систем (в основном, под STM32 и Миландр), в качестве основной среды я использую uVision Keil. И, поскольку пишу я на С и С++, уже долгое время меня мучает вопрос – правильно ли я пишу код? Можно ли так? Не, он конечно компилируется, н...

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

Контрибьютим в Swift Знакомо, узнали? Каждый раз когда вы пытались объявить опциональное замыкание @escaping в Swift компилятор ругался и писал непонятную ошибку @escaping attribute only applies to function types. Мне это не нравилось, и я решил это исправить. Теперь компилятор Swift 5.3 вместо...

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

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

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

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

[Перевод] Разработчик пинбола для Windows XP рассказал о том, почему игра не появится в Windows 11 Привет, меня зовут Дейв Пламмер, я бывший разработчик операционных систем Microsoft. Я работал в компании ещё с эпохи MS-DOS и Windows 95. Так получилось, что мне довелось портировать игру Space Cadet, поставлявшуюся в комплекте с Windows. Сегодня я поговорил с разработчико...

[Перевод] Фронтендеры — герои. Yehuda Katz объясняет почему Идея что фронтенд это "для джунов", расстраивает меня тем, что никто не скажет так про другие специализации.Кто-то может сказать, что неплохо, если б автор компилятора был более "фуллстековым".Но они не скажут, что "писать компиляторы это для джунов".Это перевод треда Yehuda...

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

Разработка платформы управления данными. Доклад Яндекса Яндекс Go разрабатывает платформу управления данными (DMP) как сервис для офлайн- и near real-time-обработки данных. Я постарался рассказать, какая мотивация нужна для создания собственного ETL-инструмента, как ETL и Data Warehouse превратить в DMP, какие проблемы возникают ...

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

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

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

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

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

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

«Docker уже умер» или все, что вы хотели узнать про Devops, но боялись спросить Недавно в наших соцсетях выступал Александр Чистяков, DevOps с 7-летним опытом и сооснователь Санкт-Петербургского сообщества DevOps-инженеров. Саша один из топовых докладчиков в этой сфере, он выступал на главных сценах на Highload++, РИТ++, PiterPy, Стачка, всего сделав ...

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

В офисе никого: разработка игр на удаленке Дисклеймер. У нас нет «удаленных» сотрудников — в команде все равноудалены друг от друга. Просто кто-то работает (сейчас правильнее сказать «работал») в офисе, а кто-то дома или в коворкинге. Поэтому внутри мы предпочитаем термин «распределенная команда». Переход на распр...

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

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

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

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

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

[Перевод] Клон Doom в 13 килобайтах JavaScript В прошлом году я участвовал в соревнованиях JS13K 2019, на которых людям предлагается разрабатывать игры в менее чем 13 КБ кода на JavaScript. Я участвовал с клоном Doom, который назвал… «Ещё один клон Doom» (Yet Another Doom Clone). Поиграть в него можно здесь. Исходный к...

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

Проверка компилятора GCC 10 с помощью PVS-Studio Компилятор GCC написан с обильным использованием макросов. Очередная проверка кода GCC с помощью PVS-Studio вновь подтверждает мнение нашей команды, что макросы – это плохо. В таком коде тяжело разбираться не только статическому анализатору, но и программисту. Конечно, разр...

Игры с Wifi на ESP32 На мысль сделать карманный инструмент для анализа WiFi сетей меня подтолкнула статья https://habr.com/ru/post/477440/. Спасибо им за идею. Мне как раз было нечем заняться. Вся работа была выполнена в рамках хобби с целью получения удовольствия и расширения своих знаний в об...

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

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

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

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

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

От скриптов к собственной платформе: как мы автоматизировали разработку в ЦИАН На РИТ 2019 наш коллега Александр Коротков сделал доклад про автоматизацию разработки в ЦИАН: чтобы упростить жизнь и работу, мы используем собственную платформу Integro. Она отслеживает жизненный цикл задач, снимает с разработчиков рутинные операции и заметно сокращает ко...

Генерация перемещаемого кода для процессоров ARM в компиляторе LLVM Процесс обновления «прошивки» для микроконтроллера – опасная вещь. Раньше при обновлении «прошивки» любой аппаратный сбой приводил к тому, что устройство превращалось в кирпич. В наше время часто имеется начальный загрузчик, который позволит произвести процесс обновления ...

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

Ошибка с директивой #line в компиляторе Visual C++ Директива #line добавляется препроцессором и затем может быть использована для понимания, к какому файлу и строке относится тот или иной фрагмент кода в препроцессированном файле. Директива #line указывает инструментам, работающим с кодом, изменить внутренний хранимый номер...

Новости CLion: релиз 2020.1, пятилетие IDE и онлайн-сессия вопросов и ответов Привет, Хабр! Столько всего хочется сегодня рассказать, что даже сложно выбрать, с чего начать. Так что сначала попробую коротко обо всем самом важном: Продукту CLion вчера исполнилось 5 лет! В честь праздника мы смонтировали небольшую видеоисторию, своеобразное воспомина...

Виталик Бутерин: Ethereum продолжит развиваться и без меня Сооснователь Ethereum Виталик Бутерин рассказал о своем видении будущего децентрализованных финансов (DeFi), а также экосистемы и сообщества Ethereum на конференции ETHDenver, передает The Block. В частности, он оптимистично смотрит на скорый запуск Ethereum 2.0, отметив, чт...

Теперь я с вами Всем привет, меня зовут Александр я 3D дизайнер.Решил себя попробовать в 3D моделенге для 3D печати.Буду выкладывать модели в бесплатные! Есть одно НО, вы должны мне давать задания и после выполнения оценить по достоинству!!!Всем спасибо, всем добра!

Нам нужно поговорить… Иногда инженеры теряют интерес к проектам, задачам и к компании — мотивация падает, а с ней и производительность. В итоге сотрудники выгорают и/или увольняются. Для этого много причин, но самая распространенная — отсутствие внимания к успехам и проблемам инженеров. В ЦФТ ...

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

Исследование роста утилизации процессора: как мы мигрировали с CentOS 7 на Oracle Linux 7 Привет! Меня зовут Александр Петровский, я инженер в DINS. Я работаю в команде, которая участвует в разработке сервисов облачной телефонии и видеоконференций для RingCentral. Каждый из них состоит из большого количества микросервисов.Когда мы мигрировали один из наших микрос...

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

Хакатоны. Как выжать максимум и выжить Доброго всем времени суток! Меня зовут Александр Михалин — я .NET разработчик в компании “Рексофт”. За моей спиной 7 хакатонов, причем один в качестве члена жюри. Я не спал 8 ночей, выпил 52 чашки кофе, 15 банок редбулла, со мной в команде побывали 24 человека. Сегодня я х...

«Листая скучные ГОСТы…» или анализ требований при разработке LED-драйвера Должен признаться – мне нравится разрабатывать LED-драйверы. Видимо есть что-то особенное в том, чтобы создавать свет, какая-то магия. Пусть продолжаются споры про вредность так называемого «синего пика», пускай в магазине мы всё ещё можем купить ужасные светодиодные лампочк...

Frontend в Sportmaster Lab Всем привет! Меня зовут Сергей, я руководитель направления фронтенд-разработки. Во времена, когда профильные офлайн конференции были чем-то обыденным, у нас были бейджики: название компании — «Спортмастер», — имя и фамилия. Если к нам подходили коллеги из других компаний, то...

Жидкий металл для охлаждения ноутбуков — польза или вред? Рад приветствовать, хабравчане! Меня зовут Влад Захаров, я руковожу отделом маркетинга ASUS в России, странах СНГ и Балтии. У нас есть что рассказать о продуктах, технологиях и внутренней кухне разработки, поэтому я тут. Будет круто, если у нас завяжется живой открытый диало...

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

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

[Перевод] Sparkplug — неоптимизирующий компилятор JavaScript в подробностях Создать компилятор JS с высокой производительностью означает сделать больше, чем разработать сильно оптимизированный компилятор, например TurboFan, особенно это касается коротких сессий, к примеру, загрузки сайта или инструментов командной строки, когда большая часть работы ...

Помощь компилятору С++ в разрешении перегрузки функций В некоторых случаях компиляторы С++ не могут выбрать подходящую перегружаемую функцию, например, в очевидной с человеческой точки зрения ситуации — возникает ошибка компиляции: void f(int i){} void f(string s){} vector<int> int_c = { 1, 2, 3, 4, 5 }; vector<string...

СУБД Clickhouse от Яндекса. Резервное копирование с помощью утилиты clickhouse-backup Привет Хабр, меня зовут Александр Архипов, и моя задача это показать как можно просто и легко настроить резервное копирование данных СУБД clickhouse разработанной компанией Яндекс. Я работаю devops инженером, и так как у нас в команде нет первоклассного DBA, недавно мне приш...

NoVerify: PHP-линтер, который работает быстро Для PHP есть хорошие утилиты статического анализа: PHPStan, Psalm, Phan, Exakat. Линтеры хорошо выполняют свою работу, но очень медленно, потому что почти все написаны на PHP (или Java). Для личного использования или небольшого проекта это нормально, но для сайта с миллионам...

Из экономистов в дата-сайнтисты или как стать лидером рейтинга Kaggle Notebooks Привет! Меня зовут Андрей Лукьяненко. В команде центра искусственного интеллекта МТС  я занимаюсь проектом улучшения разрешения видео (super resolution): например, из видео в формате 1k мы делаем хорошую “картинку” 4k, которую можно показывать на большом экране. 5 лет н...

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

Microsoft сосредоточится на обновлении приложений Win32 для Windows 11 и Windows 10 В настоящее время Microsoft не работает над стабильным выпуском WinUI 3 для приложений UWP, поскольку компания хочет сосредоточиться на некогда устаревших приложениях Win32 для Windows 10 и Windows 11. WinUI – это новый пользовательский интерфейс для Windows 10 и Windows 11,...

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

4 угла хорошо, а 6 лучше: гексагональные шахматы в консоли и с ботом Привет! Мы учимся на первом курсе бакалавриата «Прикладная математика и информатика» в Питерской Вышке. Во время работы над семестровым командным проектом по С++ мы решили написать компьютерную версию Интеллектора с ботом — шахматную игру на гексагональной доске с особыми ф...

[Из песочницы] Как скомпилировать декоратор — C++, Python и собственная реализация. Часть 2 Декораторы — одна из самых необычных особенностей Python. Это инструмент, который полноценно может существовать только в динамически типизированном, интерпретируемом языке. В первой части статьи мой товарищ Witcher136 показал, как в С++ реализовать наиболее приближенную к эт...

Теперь я знаю, что у коллеги есть питон, или Как наша команда поддерживает отношения на расстоянии во время удаленки Привет, Хабр! Меня зовут Даша Рудник, я руковожу HR в DataLine.  В нашей компании работает почти 500 человек, и до эпидемии коронавируса мы уже многое знали про распределенную работу. Часть сотрудников сидела в офисе на Боровой, часть – на Коровинском шоссе, был свой десант ...

Пишем комикс-приключение на Kotlin Всем привет! Сегодня вас ждет легкая статья, которая расскажет как написать простую мобильную игру-викторину на Kotlin. Здесь я расскажу и наглядно покажу как выглядит Kotlin для мобильной разработки и предложу свои идеи о том, как можно структурировать подобный проект. Что ...

Rust — сохраняем безразмерные типы в статической памяти Не так давно в качестве хобби решил погрузиться в изучение embedded разработки на Rust и через какое-то время мне захотелось сделать себе логгер, который бы просто писал логи через UART, но который бы при этом не знал какая конкретно реализация используется. И вот тут я быст...

Как случайно продолжить писать Web-GUI для Haproxy Прошло два года и 4 дня, как я написал Как случайно написать Web-GUI для Haproxy, а воз уже давно не там — все меняется и развивается и HAProxy-WI старается соответствовать этой тенденции. За два года было проделано много работы, об основных изменениях я и хочу сейчас расска...

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

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

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

Facebook купила разработчика военного VR-симулятора Onward Компания Facebook продолжает покупать студии, занимающиеся разработкой VR-проектов. На этот раз подразделение Facebook Oculus пополнилось разработчиками студии Downpour Interactive, получившей известность после создания популярного многопользовательского военного VR-симулято...

История одного pet-проекта Если помните, в детстве были такие книжки, где ты читаешь, а в конце есть вариант развилки — пойти направо или налево, убить кого-то или помиловать. В зависимости от вашего выбора в книжке было написано: «Перейдите на такую-то страницу и на такую-то строчку». У Александра Зи...

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

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

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

Как мы весь интернет сканировали Всем привет! Меня зовут Александр и я пишу код для 2ip.ru. За добрую половину сервисов можно пинать меня, готов отбиваться. Cегодня я хочу немного рассказать про переделку одного нашего старого сервиса. Это конечно не "big data", но всё равно довольно большие обьемы информац...

[Перевод] Проигрыватель для очень медленного воспроизведения видеофайлов Карантин — это как раз то время, когда можно сделать особенный «домашний кинотеатр», который украсит интерьер. В декабре 2018 года Брайан Бойер опубликовал статью о создании проигрывателя для очень медленного воспроизведения видеоклипов (Creating a Very Slow Movie Player). ...

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

[Перевод] Лучшие стратегии разработки фронтенда в 2022 году Эта статья специально написана так, чтобы ставить перед читателями неоднозначные задачи, вызывать у них противоречивые чувства и давать им пищу для размышлений. Речь здесь пойдёт о множестве свежих идей, о которых вы, вероятнее всего, пока не слышали. Я сделаю всё, что в мо...

Паскаль играет в Go. Реализация методов и интерфейсов в любительском компиляторе If I could export one feature of Go into other languages, it would be interfaces. — Russ Cox Мой предельно простой компилятор Паскаля уже становился предметом двух публикаций на Хабре. Со времени их написания язык обзавёлся всеми недостающими средствами, положенными станд...

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

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

Как подготовиться к iOS-собеседованию Всем привет! Меня зовут Илья, и я провожу собеседования *хлоп-хлоп-хлоп*. Сейчас работаю на позиции Principal iOS Engineer в inDriver, и мой фокус смещен в сторону технических собеседований. До этого руководил мобильной разработкой в в «Альфа-Банке» и был кем-то вроде н...

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

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

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

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

Платформа Visary: как мы пришли к микросервисам и low-code Давайте знакомиться. Мы Научно-производственный центр «БизнесАвтоматика» — российский разработчик интеллектуальных информационно-аналитических систем. Сегодня мы хотим рассказать о нашей ключевой разработке — платформе Visary. На ней реализованы десятки информационных систем...

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

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

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

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

Rust глазами Python-разработчика Привет! Мы – часть команды разработки «Рамблер/Медиа» (портал «Рамблер»). На протяжении трех лет мы поддерживаем и развиваем несколько больших python-приложений. Чуть больше года назад перед нами встала задача написать еще одно большое приложение – API к основному хранилищу...

Обновленный плагин YouTrack для IDE на платформе IntelliJ Привет Хабр!В командах разработки трекеры задач и IDE редко существуют друг без друга. Поэтому мы решили существенно «проапгрейдить» плагин YouTrack для IDE на платформе IntelliJ. Плагин интегрируется с вашими любимыми IDE от JetBrains — AppCode, CLion, DataGrip, GoLand, Int...

ВКонтакте появился новый формат для продвижения мини-приложений В рекламном кабинете ВКонтакте появился новый рекламный формат — продвижение мини-приложений. Теперь привлекать трафик в сервисы можно прямо в ленте новостей.  При этом объявления, которые ведут на проект из каталога и размещены кем-либо из администрации...

Android Broadcast: новый компилятор Kotlin в 1.4 В выпуске копаемся в изменениях под капотом компилятора и будущем.

OpenVINO становится «серебряной пулей» хакатонов по компьютерному зрению Меня зовут Васильев Евгений, и команда в составе Дмитрия, Вячеслава и меня заняла 2 место на хакатоне "Цифровой прорыв" в Нижнем Новгороде в кейсе Ростелекома: Разработка системы мониторинга за поведением студента во время экзамена, и забрала приз в 100 000 рублей. После про...

[Перевод] Запуск Unix-подобной ОС на самодельном CPU с помощью самодельного компилятора C Два года назад я начал работать разработчиком ПО. Иногда я рассказывал своим коллегам о студенческом проекте, которым занимался на третьем курсе университета, и они восприняли его настолько хорошо, что я решил написать этот пост1. Позвольте задать вам вопрос: вы когда-нибу...

Фронтенд митап Facebook и AvitoTech Привет! Меня зовут Александр Зубов, я отвечаю за фронтенд архитектуру Авито. Хочу пригласить вас на митап по фронтенду, который мы проводим в нашем офисе вместе с сообществом Facebook Developer Circle: Moscow. Митап пройдёт 5 марта. Будем говори...

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

Приключение чисел в ASCII-ландии. Часть 0x01u. Беззнаковые целые числа Думаю, с переводом чисел в ASCII строки в своей жизни сталкивался каждый программист. В свое время для меня было удивительно узнать, что перевод десятичной цифры в равнозначный ASCII символ – операция сложения. С этим знанием я ложился спать, и с этим же знанием я бодро пр...

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

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

[Перевод] Масштабирование Redux-приложения с помощью ducks В преддверии старта курса «React.js разработчик» подготовили перевод полезного материала. Как масштабируется front-end вашего приложения? Как сделать так, чтобы ваш код можно было поддерживать полгода спустя? В 2015 году Redux штурмом взял мир front-end разработки и заре...

[Перевод] Слышали о языке Prolog? Prolog — это один из тех языков, которые программисты обычно изучают в самом начале карьеры (например — в школе или в институте). Его, правда, забывают почти сразу же после того, как изучили. Почему? Ну, лично я виню в этом индустрию разработки ПО. Я работаю в этой сфере по...

Почему мы выбрали Kotlin целевым языком компании. Часть 1: Ретроспектива Компания ДомКлик существует с 2015 года, и за это время мы успели сменить целевой язык для разработки ключевых сервисов с Java на Kotlin. Меня зовут Александр Коцюруба, я IT Lead в компании ДомКлик. Отвечая на вопрос, почему мы перешли на Kotlin, я опубликую два материала:...

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

Гибрид компьютера и IP-телефона. Анатомия аппаратной платформы GM-Box. Часть 2 – разработка Продолжаю делиться историей разработки аппаратной платформы GM-Box G1. В предыдущей статье я рассказал о первых шагах на пути создания продукта - прототипировании для проверки продуктовых гипотез. Этот этап позволил сформулировать требования к серийному изделию. Сейчас речь ...

Ловим баги на клиенте: как мы написали свою систему для сбора клиентских ошибок У нас в Badoo довольно много клиентских приложений. Помимо основных продуктов Badoo и Bumble, у которых есть как веб-версии (десктопная и мобильная), так и клиенты под нативные платформы (Android и iOS), ещё есть с десяток внутренних инструментов со своими UI.  Для сбор...

Мой путь QA инженера: через выгорание к тестированию в кайф Привет! Меня зовут Люба, и я QA инженер команды разработки систем для контакт-центра в Lamoda. Недавно исполнилось три года, как я работаю в нашей компании, и это заставило меня задуматься и заново посмотреть на события, которые происходили с момента, как я выбрала эту про...

[Перевод] Почему стоит обратить внимание на подход low-code/no-code Все мы в последнее время довольно много слышим о платформах low-code/no-code. Платформы без кода обещают сделать разработку программного обеспечения столь же простой, как использование Word’а или PowerPoint’а, чтобы обычный бизнес-пользователь смог продвигать проекты без доп...

World of Tanks Blitz — как мы сделали для танков динамическую подвеску Большой World of Tanks продолжает активно развиваться — игра часто получает обновления, включая как что-то, связанное с игровым процессом (новые карты и танки, режимы игры и сезонные события, умения экипажа и полевая модернизация), так и что-то чисто техническое. Например, и...

[Личный опыт] Из соискателя в наниматели: продакт советует, как проходить интервью в США Привет! Меня зовут Анна Наумова, сейчас я работаю старшим менеджером по продукту (Senior Product Manager) в компании Zello в Остине, штат Техас. Сначала я сама прошла 110 собеседований в Америке, а теперь сижу по другую сторону стола и...

А что, если без Python? Julia для машинного обучения и вообще Мы всегда хотим писать код быстро, но за это приходится платить. На обычных высокоуровневых гибких языках можно быстро разрабатывать программы, но после запуска они работают медленно. Например, чудовищно медленно cчитать что-то тяжелое на чистом Python. Си-подобные языки раб...

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

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

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

[Перевод] Доля Firefox упала на 85%, однако доходы руководства Mozilla выросли на 400% Mozilla сейчас находится состоянии полного упадка: высокие накладные расходы, снижение доли пользователей Firefox, спорные источники прибыли, а теперь, в условиях уменьшения доходов, ещё и снижение затрат на разработку. Недавно Mozilla объявила о том, что увольняет 250 со...

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

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

SamsPcbLab, часть 1: Запуск сообщества разработчиков печатных плат С прошлой самопиар-публикации прошло почти 2 года, была проделана большая работа, о которой снова хочется рассказать. Руководство по проектированию с того момента пережило 4 релиза, появилось несколько напечатанных экземпляров, и сейчас оно мне уже очень нравится по содержан...

Использование SEH в 32 разрядных приложениях Windows с компилятором Mingw-W64 Что такое SEH Из всех механизмов, предоставляемых операционными системами семейства Windows, возможно наиболее широко используемым, но не полностью документированным, является механизм структурной обработки исключений (он же Structured Exception Handling, или просто – SEH). ...

Из разработчика в менеджеры и обратно Зимой 2012-го коллега предложил мне, С++ программисту с пятилетним стажем, написать первое приложение под Android. Ещё через год я начал руководить небольшой командой мобильных разработчиков, и с тех пор размеры моих команд стабильно росли. Но в прошлом году, после 2 лет рук...

Как мы улучшали процесс загрузки товаров на AliExpress.ru: машинное обучение, проблемы и решения Всем привет! Меня зовут Нина, я работаю в команде платформы для продавцов  AliExpress. Сегодня я расскажу о том, как совместно с коллегами из команды Knowledge Engineering мы адаптировали систему для загрузки товаров, чтобы всё работало в пару кликов. Поехали! Читать да...

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

Стажёр Вася и его опыт разработки нового API Легко ли разработать новый API? На что обратить внимание, чтобы не ошибиться при реализации, и к каким компромиссам стоит быть готовым? Привет, Хабр! Меня зовут Иван Ивашковский. Я руковожу группой разработки международных проектов в Яндекс Go. Этот пост — продолжение цикла ...

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

Избавляемся от паролей в репе с кодом с помощью HashiCorp Vault Dynamic Secrets Привет, Хабр! Меня зовут Сергей, я работаю IT Head в компании Quadcode. Сегодня хотел бы рассказать о том, как я решил проблему с хранением паролей в открытом виде в коде одного из моих pet-проектов. Думаю, это знакомая для многих ситуация. Знакомая — и неприятная. Сразу ска...

Как сохранить нервы тестировщика или ускорить регресс с 8 до 2 часов Кукусики! Меня зовут Юля, и я Mobile QA в компании Vivid Money.В тестировании уже давно — столько всего интересного видела. ​ Но как показывает практика, проблемы и заботы у всех одинаковые. Разница только в анализе, подходах и реализации решений.В этой статье я расскажу, КА...

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

Погружение в Serverless. По следам протокола S3 Продолжаем беседовать с разработчиками экосистемы сервисов Serverless. В прошлый раз Глеб Борисов рассказал о возможностях и перспективах функций в Yandex.Cloud, сегодня Данил Ошеров погрузит нас в мир бессерверных систем и сервис Object Storage.У меня был опыт разработки си...

[Перевод] Откуда взялся COVID-19 и как с ним бороться? Лондонский биотех фонд 4BIO Capital написал памятку для своих инвесторов с понятным, но при этом наукоемким обзором о происхождении вируса, бытовых аспектах и текущей ситуацией с лекарствами и вакцинами. Этот текст может быть интересен и более широкой аудитории. Переводчик ...

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

Разработка производительной модели обработки данных для Cassandra В DataStax работают над созданием производительной модели данных для Apache Cassandra. В чём заключается эта работа и как её делать правильно, на конференции Cassandra Day Russia 2021 рассказал Артём Чеботко, Solutions Architect в DataStax. Речь пойдет о разработке производ...

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

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

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

7 полезных инструментов на Haskell Вступление Haskell это чистый функциональный язык программирования общего назначения со статической типизацией и ленивыми вычислениями. Появился в 1990 году и был назван в честь Хаскелла Карри. На данный момент основной реализацией является компилятор GHC. Мы в Typeable очен...

Fuchsia, необычную операционную систему от Google, взяли за основу для проекта dahliaOS Об операционной системе Fuchsia от Google впервые стало известно четыре года назад. Тогда писали, что корпорация разрабатывает проект на основе микроядра Zircon. Это небольшая ОС, предназначенная для большого количества платформ — от смартфонов, планшетов и персональных ком...

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

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

Quarkus: Сверхзвуковая субатомная ветклиника Это вольный пересказ моего Lightning Talk с конференции Joker 2019. С тех пор вышло несколько новых версий Quarkus, доклад приведен в соответствие с текущим положением вещей. В рамках разработки нашего фреймворка CUBA Platform, мы уделяем много внимания тому, что происходит...

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

Как синхронизировать сотни таблиц базы в Kafka, не написав ни одного продюсера Привет, Хабр! Меня зовут Сергей Бевзенко, я ведущий разработчик Delivery Club в команде Discovery. Наша команда занимается навигацией пользователя по приложению Delivery Club: мы отвечаем за основную выдачу ресторанов, поиск и всё, что с этим связано. Я расскажу про Kafka...

React Native для самых маленьких. Опыт мобильной разработки Однажды, в одной продуктовой команде захотели разработать мобильное приложение, чтобы проверить гипотезу востребованности продукта и его удобства для пользователей. И то, что в команде не было мобильных разработчиков, не помешало. Два фронтенд-разработчика взяли React Native...

Зачем нужна выделенная Frontend Core команда и как мы внедряли дизайн систему Всем привет, меня зовут Ростислав, я занимаю должность Front Lead в компании ДомКлик. Хочу поделиться с вами опытом создания Front Core команды и сразу ответить на следующие вопросы: Необходима ли такая команда в компании? После года существования команды Front Core, у в...

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

Что такое LLVM и зачем он нужен? Всем привет! Думаю, у многих сразу возник другой вопрос — а зачем вообще нужна ещё одна статья про LLVM, ведь на хабре их и так больше сотни? Моей задачей было написать "введение в тему" for the rest of us — профессиональных разработчиков, не планирующих создавать ...

«Для меня сфера образования круче любой другой»: интервью с Анастасией Лавренко, руководителем разработки в Stepik В этом году десять лет исполнилось Computer Science Center — образовательному проекту, созданному при участии JetBrains, Школы анализа данных и Computer Science клуба. Сегодня CS центр — это очные курсы в Питере и Новосибирске (а ещё дистанционные для жителей других городов)...

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

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

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

Онлайн митапы на всю неделю по бэку, фронту, QA, ПМ, DevOps и немножко по роботам, стартуя с 3 апреля Привет! Меня зовут Алиса и мы вместе с командой https://meetups-online.ru/ продолжаем собирать он-лайн события в одном месте. Когда только запустили каталог онлайн-митапов, то думали, что фронтендеры и тут будут впереди планеты. Ну, у них и сообщество в каждом городе, и вооб...

Анонс: путь от джуна до исполнительного директора в Сбербанке Сегодня, в 20:00 во всех наших соцсетях пройдет прямой эфир с Алексеем Левановым, исполнительным директором в Сбербанке. Леша пришел в Сбербанк в 2014 году на позицию Junior-разработчика. Сейчас он исполнительный директор: Product Owner и Teamlead платформенной команды Sbe...

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

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

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

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

И мышонок, и лягушка. Универсальный Компилятор В серии про надежное программирование [1], [2] остался незаслуженно забытым Swift. Я, честно говоря, просто не считал его кроссплатформенным, а работающим исключительно для macOS/iOS. Тут случайно выяснилось, что Swift также поддерживается такой средой разработки, как Re...

110+ тонн любви к человечеству: как роботы помогают с безопасностью и как мы делаем их безопасными для человека Меня зовут Алексей Глазачев. Я руковожу направлением функциональной безопасности роботизированных систем в компании «Цифра Роботикс»  (Входит в ГК «Цифра»). Моя задача — сделать так, чтобы наши роботы весом 90-110 тонн и более не устроили восстание машин и не уничтожили че...

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

Meta Gameplay Framework, или бэкенд без серверных разработчиков Привет! Меня зовут Кирилл, я руководитель отдела серверной разработки в Pixonic. Здесь я работаю уже более 5 лет. Долгое время Pixonic была компанией одной игры — War Robots. Но однажды к нам пришло осознание, что так больше продолжаться не может, и мы начали работу над со...

От (не)управляемого хаоса к автоматизированному процессу Меня зовут Паша Мягков, я frontend tech lead в команде монетизации Учи.ру. Несколько месяцев назад рост команды и задач привел нас к тому, что привычные рабочие процессы перестали отвечать нашим потребностям. Болезнь роста затронула прозрачность разработки, планирование и wo...

Го в Go! Как команда PHP взялась писать микросервисы Всем привет! Меня зовут Алексей Скоробогатый, я системный архитектор в Lamoda. В феврале 2019 года я выступал на Go Meetup еще на позиции тимлида команды Core. Сегодня хочу представить расшифровку своего доклада, который вы также можете посмотреть. Наша команда называется Co...

Assembler – Урок 0: Установка компилятора и запуск первой программы через DOSBox В данном курсе планируется разобрать основные особенности программирования на самой простой реализации assembler – TASM. Этих знаний лично мне вполне хватило, чтобы на отлично сдать ЭВМ в институте и закончить все лабораторные работы. Во многих уроках будет домашние задание ...

Google Chrome 91 теперь на 23% быстрее на Windows и других платформах Google Chrome, построенный на Chromium, получает еще одно повышение скорости, которое, как надеется Google, поможет его браузеру работать быстрее в любое время на таких платформах, как Windows 10. Это изменение доступно в Chrome 91 и распространяется на пользователей Windows...

Создаем текстовый редактор на React.js Привет! Меня зовут Данила, и я фронтенд-разработчик в KTS.Однажды в одном из своих проектов мне потребовалось реализовать кастомный текстовый редактор на React.js. Задача показалась мне довольно интересной, и я решил рассказать о своем опыте. В ней я поэтапно покажу, ка...

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

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

Сюда Разработка Подлинная Java: как работает AliExpress после переноса разработки в Россию Привет, Хабр! Меня зовут Анатолий Орлов, и я технический директор AliExpress Россия. Сервис доступен русскоязычным пользователям уже 11 лет, при этом офис компании в Москве открылся только пять лет назад, а локальная команда разработки появилась лишь в прошлом году. Ее гла...

Как мы с Ext JS 3.4 на Ext JS 7.1 переходили Привет! Меня зовут Андрей Ивойлов, я ведущий разработчик и тимлид в команде платформы «Своды» «БАРС Груп». Мы разрабатываем платформу для сбора, анализа и консолидации отчетности «Своды». Разработка платформы началась в далеком 2006 году, а самый первый веб-интерфейс для неё...

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

Huawei обратилась к русским инженерам для работы над HarmonyOS Разработка программного обеспечения является делом непростым. Особенно, если это касается современного программного обеспечения. А если говорить о том, сколько сил и времени надо на разработку целой операционной системы, то тут, что называется, ”легко запутаться в нулях”. Т...

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

Теория программирования: пакетные принципы и метрики Чтобы применять любые принципы правильно, сначала нужно их понять — то есть осознать, откуда они взялись и для чего нужны. Если применять вслепую всё, что угодно — результат будет хуже, чем если бы мы вообще не использовали эти принципы. Я начну издалека и сначала расскажу...

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

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

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

Зачем нужен динамический анализ кода, на примере проекта PVS-Studio В разговоре с Маршаллом Клоу на подкасте CppCast #300 ABI Stability была затронута достаточно давняя новость о поддержке компиляторами Visual Studio инструмента AddressSanitizer (ASan). Мы уже достаточно давно внедрили ASan в свою систему тестирования и хотим рассказать о па...

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

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

Артемий Рябинков (Avito): Graceful Shutdown в Go-сервисах и как подружить его с Kubernetes Выступление на Go 1.10 Release Party @ Badoo Артемий рассказал про подходы к безопасному завершению работы многопоточных программ на Go, в частности о том, как контролировать горутины и управлять ими. Объяснил, почему во время выкатки сервисов в Kubernetes пользователям м...

Про их работы ещё не знает Википедия Нет, эта статья не про фантазии автора, патриотические песни или популистские размышления на тему. Это рассказ о том, как оно есть на самом деле. Как в одном конкретном ВУЗе создали условия, благодаря которым работать в нём вернулись те самые "утекшие мозги", уехав...

Время — деньги: анализируй А/В-тесты разумно Всем привет! Меня зовут Кирилл, я работаю в продуктовом направлении команды Data Science. Сегодня я расскажу о том, как мы в Delivery Club автоматизируем A/B-тестирование. Основная часть статьи посвящена аналитике, но мы кратко затронем и остальные аспекты. Читать дальше &...

Тестируем Android-приложение правильно Всем привет, Меня зовут Андрей Рыжкин, я CTO AGIMA. Сегодня я расскажу о том, как мы тестируем приложения на Android, а также поделюсь нашим чек-листом. Чек-лист от команды AGIMA В 2020 году количество приложений для Android вплотную приблизилось к трём миллионам (по да...

Как развернуть стенд для разработки с помощью сервисов облачной платформы SberCloud.Advanced Хабр, привет! Меня зовут Георгий Липатов. Я — DevOps-инженер, работаю в Сбере, также сопровождаю мониторинг и бэкапы в Sber Tax Free.Мы начали строить этот сервис в конце прошлого года — тогда наша ИТ-команда состояла из двух backend-разработчиков, DevOps-инже...

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

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

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

Java HotSpot JIT компилятор — устройство, мониторинг и настройка (часть 1) JIT (Just-in-Time) компилятор оказывает огромное влияние на быстродействие приложения. Понимание принципов его работы, способов мониторинга и настройки является важным для каждого Java-программиста. В цикле статей из двух частей мы рассмотрим устройство JIT компилятора в Hot...

«Хитрый питон» Михаил Корнеев, Григорий Петров, Илья Беда и другие классные спикеры-тезисы выступлений на PyCon Weekend Конференции PyCon – это способ присоединиться к дружной компании единомышленников. Общение с интересными и умными людьми, обмен опытом и возможность расширить круг профессиональных знакомств. Участники пайкона не просто слушают доклады и «мотают на ус» лайфхаки и инсайты. ...

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

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

rusEFI: Hellen и новости TL,DR: gerbmerge+pdf merge+non-kicad interactivebom позволяет нам эффективно склеивать очень похожие, но при этом разные по форме и нюансам платы электронных блоков управления ДВС. Другие новости про rusEFI, до сих пор ищем единомышленников :)В статье от 2014 года https://ha...

Dynamic Delivery в многомодульных проектах (часть 1) Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и занимаюсь внедрением Dynamic Features в наши проекты. Dynamic Delivery — технология, позволяющая устанавливать и удалять части приложения прямо во время работы для того, чтобы уменьшить место, занимаемо...

Найди флаг и не отдавай его. Как мы проводили RBKmoney CTF Привет! В этом посте мы расскажем о том, как провели первый в истории RBK.money CTF (capture the flag). Механика соревнования была примерно такой же, как и на привычных вам CTF, а вот результаты немного удивили. Впрочем, возможно, мы просто перестарались с задачами. В рамках...

[Перевод] 10 ведущих технических трендов 2021 года, на которые стоит обратить внимание программистам Для индустрии разработки программного обеспечения и для программистов 2020 год стал значительным годом больших прорывов во многих областях. Пандемия значительно ускорила перевод самых разных процессов в цифровую среду, в результате тренды, о которых мы сегодня поговорим, буд...

Что такое «Школа 21», и почему она устроена именно так Привет, Хабр! Меня зовут Светлана Инфимовская, я директор «Школы 21». Знаю, что многие из вас слышали о ней, а кто-то даже участвовал в наших отборочных бассейнах. При этом сама идея проекта, его методология не всегда правильно понята. Кому-то кажется, что в «Школе 21» одна ...

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

Kubernetes в духе пиратства: наш путь к микросервисам и готовый шаблон для внедрения Привет, я Юрий Буйлов, занимаюсь разработкой в CarPrice, а также внедряю практики DevOps, микросервисы и Kubernetes. Хочу рассказать про Kubernetes в духе пиратства — только не про управление большим красивым кораблем на парусах, а, скорее, про флот маленьких неприглядных ...

Тестирование Flutter-приложений: инструменты, преимущества, проблемы Привет! Меня зовут Мария Лещинская, я QA-специалист в Surf. Наша компания разрабатывает нативные приложения с 2011 года, а с 2018-го мы занимаемся ещё и разработкой под Flutter. В этом материале сравним возможности тестирования нативных и кроссплатформенных приложений. Я по...

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

Обновление Google Chrome позволяет сэкономить более 17 лет процессорного времени в день Компания Google на днях выпустила крупное обновление фирменного браузера — Chrome 91. Теперь же в официальном блоге Chromium менеджер по продукту Chrome Томас Наттестад (Thomas Nattestad) обратил внимание на новшество, которое могли упустить обычные пользователи в...

[Перевод] Процесс разработки Linux: стоит ли игра свеч? К настоящему моменту Linux существует уже почти три десятка лет. В ранние дни этой ОС Линус Торвальдс сам управлялся с кодом, написанным другими программистами, делающими вклад в развитие Linux. Тогда не было никаких систем контроля версий, всё делалось вручную. В современны...

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

Нововведения в Kotlin 1.4.0 Сегодня я решил написать о самых главных нововведениях в Kotlin 1.4.0. Думаю, что начинающим Android разработчикам будет очень интересна данная тема и они смогут применить новые фишки в своих приложениях. Также, я надеюсь, что моя статья будет полезна и для профессиональных ...

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

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

Удобный график, гибкие команды или вау-эффект от проектов? Опрос о приоритетах айтишников при выборе работы Привет, Хабр! 40 лет назад все хотели быть космонавтами, 20 лет назад мечтали работать в нефтяных компаниях и банках. Затем пришло время IT, и фотоотчёты из офисов стали взрывать топы. Сейчас мир снова изменился, и высокие технологии шагнули в непривычные для себя сферы — во...

Переход c Cocoapods на Swift Package Manager Cocoapods считается наиболее популярным менеджером зависимостей для iOS. Последние годы Apple работает над развитием своего нативного менеджера зависимостей Swift Package Manager (SPM). Изначально его использование было возможно только для server-side Swift или приложений...

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

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

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

Чего боятся тимлиды и почему им пора перестать это делать Я уверен, где-то существует книга «Как подсидеть тимлида». Она передается из рук в руки, из команды в команду и содержит советы типа: «Тимлид никогда не уволится по своей воле, потому что это не работа, а сказка! Его нужно сломать», или «Если ваш тимлид уехал в отпуск, напиш...

Как подготовиться, чтобы защитить свое цифровое наследие после смерти Меня зовут Владислав Чернов, я основатель Creative Motion Development. В этой статье я решил затронуть то, что многим покажется деликатной темой, но в то время как многие страны продолжают бороться с пандемией COVID-19, эта информация наиболее актуальна. Читать дальше &rarr...

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

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

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

Какой игровой движок выбрать? Всём привет! Меня зовут Дядиченко Григорий, и я CTO Foxsys. В разработке я порядка 8 лет, а занимаюсь игровой или AR/VR разработкой последние лет 6. Сразу скажу, что в данной статье нет простого ответа “этот игровой движок лучше”, и она не претендует на объективность. Я лишь...

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

[Перевод] Проектирование заголовочных частей сайтов с использованием CSS Flexbox Когда я, изучив основы HTML и CSS в 2014 году, занялся разработкой сайтов, сложнее и страшнее всего для меня было создание их заголовочных частей. Тогда технология Flexbox была ещё достаточно новой, поэтому мы вынуждены были использовать старые методы — вроде float-позициони...

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

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

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

Пишем свой Google, или асинхронный краулер с rate limits на Python Меня зовут Александр, я руковожу backend-разработкой в КТS. Сегодня расскажу, как написать асинхронный краулер.Такая задача часто встречается на практике, когда нужно реализовать периодическую синхронизацию/обкачку между сервисами. Статья написана по мотивам вебинара, к...

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

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

[Перевод] Как демо Memories умещается в 256 байт Введение Привет! Меня зовут «HellMood», а эта статья посвящена небольшой программе для MS DOS под названием «Memories». Эта программа имеет размер 256 байт, она выиграла в категории «PC 256 byte» соревнований демосцены «Revision» 2020 года, а также получила приз зрительских...

Microsoft объединяет разработку Win32 и UWP в Windows 10 Для Microsoft будущее касается не только UWA (универсального приложения для Windows), поскольку Win32 также важен для платформы. Во время выступления на конференции разработчиков Build 2020 компания Micorosft объявила о проекте Project Reunion, который, по словам компании, я...

[Из песочницы] Виджеты на Android. Редкая фича, в которой придется разобраться Привет, Хабр! Меня зовут Александр Хакимов, я android-разработчик в компании FINCH. У вас бывало такое, что ваш дизайн был под iOS, а вам приходится адаптировать его под android? Если да, то часто ли ваши дизайнеры используют виджеты? К сожалению, виджет — редкий кейс для ...

Унифицируй это: как Lamoda делает единообразными свои Go сервисы Мы широко используем микросервисную архитектуру, хоть и не считаем ее панацеей, и чуть больше 2 лет назад начали переходить на язык Go. Он сравнительно прост и, на мой взгляд, очень хорошо подходит для создания простых, небольших и быстрых микросервисов. Эта простота имеет и...

SamsPcbGuide, часть 15: Волновое сопротивление микрополосковой линии, Гарольд Уилер и Эрик Богатин Сейчас занимаюсь разработкой калькулятора для печатных плат и изучаю расчетные модели, которые стоят за табличными формулами. Добрался до волнового сопротивления микрополосковой линии и решил рассказать про модель Гарольда Уилера и то, как его Эрик Богатин недооценил, а оказ...

Где начинающему тестировщику получить первый опыт: проект «Хомячки» Привет! Меня зовут Ольга Ермолаева. Я работаю в тестировании с 2008 года. Сейчас руковожу департаментом качества в компании «Инттерра» и помогаю студентам на курсе для тестировщиков в Яндекс.Практикуме в качестве наставника. Все, кто работает в IT-сфере, когда-то задавались...

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

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

Критерии качества вёрстки 2021 6 лет назад мы обсуждали с сообществом критерии качества вёрстки, которые мы используем в обучении, чтобы наши выпускники радовали рынок своими умениями и подходом к работе.С тех пор в разработке интерфейсов произошло море изменений: сначала в продакшн пришли флексы, потом п...

Frontend Live 2020: новый формат — новые возможности В этом году на Frontend Live мы снова обсуждаем самые актуальные в разработке темы: будет 4 трека по архитектуре, производительности, тестированию и дизайну. Но будем обсуждать и смежные вопросы, так как frontend продолжает развиваться и расширяться, появляются интересные ре...

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

Саморазвитие: как я не усидел на двух стульях и нашел третий Всем привет! Я руковожу командой антиспама в Mail.ru Group, а также несколькими группами по машинному обучению. Тема этой статьи — саморазвитие для тимлидов/руководителей, но на самом деле многие техники и рецепты совершенно не зависят от роли. Для меня этот вопрос очень а...

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

[Перевод] Разработка Diablo IV в Blizzard и отладка дампов памяти из Linux в Visual Studio В блоге Microsoft недавно была опубликована статья, которую написал Билл Рэндольф, старший инженер-программист Blizzard, занимающийся разработкой Diablo IV. В этой статье раскрыты некоторые особенности работы над Diablo IV и, в частности, рассказано об использовании Visual S...

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

Сравнение компиляторов ARMCC, IAR и GCC Я работаю над одним проектом, который с большим трудом вмещается в 64к памяти микроконтроллера. И подумалось мне, что возможно, пора взглянуть на разные компиляторы, чтобы выбрать какой более агрессивно может уменьшить размер программы. Представляю вашему вниманию небольшо...

Как успешно подготовиться и сдать экзамен AWS Solutions Architect Associate SAA-C02 Всем привет! Меня зовут Сергей Яворский. Я работаю в EPAM Systems около 5 лет. Я хотел бы поделиться своим опытом в получении сертификатов AWS. На данный момент у меня их три, в этом посте я хочу рассказать о своем процессе участия в программе сертификации AWS Solution ...

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

Как мы предсказываем будущее в поиске Яндекса: от исправления ошибок до discovery-запросов Люди не всегда точно формулируют свои запросы, поэтому поисковые системы должны помогать им в этом. За два десятка лет в Яндексе разработали множество технологий, облегчающих задачи поиска: от опечаточника до подсказок в саджесте. Недавно мы сделали следующий шаг и научили п...

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

Чего ждать от коробочных приложений? Всем привет, меня зовут Мария и я CEO & co-founder компании «Технофабрика». Продолжаю делиться заметками из жизни команды разработки и сегодняшняя тема дня — ожидания и реальность коробочных решений. Про масштабирование, кастомизацию, поддержку, доработку и вот это вот в...

О том как написать и опубликовать смарт-контракт в Telegram Open Network (TON) О том как написать и опубликовать смарт-контракт в TON О чем эта статья? В статье я расскажу о том, как поучаствовал в первом (из двух) конкурсе Telegram по блокчейну, не занял призовое место и решил зафиксировать опыт в статье, чтобы он не канул в Лету и, возможно, помог ко...

[Перевод] Kotlin vs Java И снова здравствуйте. В преддверии старта нового курса «Backend-разработка на Kotlin», мы подготовили для вас перевод статьи, в которой рассказывается о том, чем же Kotlin отличается от Java. «Kotlin – новый язык программирования, который заставит вас отказаться от Java»...

Xiaomi остановила разработку MIUI для Mi Max 3, Mi Mix 3 и всех версий Mi 8 Компания Xiaomi 5 сентября сообщила о прекращении разработки внутренних бета-версий прошивки MIUI для большого количества своих смартфонов. В их числе — Mi 8 Lite, Mi Max 3, Mi 8 SE, Mi 8 Screen Fingerprint Edition, Mi Mix 2S, Mi 8, Mi 8 Explorer Edition, Mi ...

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

Веб-студия на дому, или Через лендинги к звёздам Привет, Хабр! Меня зовут Мария, я уже достаточно долго проработала менеджером в студии по разработке сайтов, чтобы понять, что потолок для меня здесь достигнут, и решить отправиться в самостоятельное плавание. Под катом — рассказ о том, как я оборудовала собственную студию д...

Автоматизация тестирования мобильных приложений. Часть 2: предусловия, верификация элементов и независимость шагов Меня зовут Дмитрий Макаренко, я Mobile QA Engineer в Badoo и Bumble: занимаюсь тестированием новой функциональности в наших приложениях вручную и покрытием её автотестами. За последние два года подход к автоматизации тестирования в нашей компании сильно изменился. Колич...

[Перевод] Как корпоративные команды разработчиков используют GitLab и Mattermost ChatOps для ускорения разработки И снова здравствуйте! В феврале OTUS запускает новый курс «CI/CD на AWS, Azure и Gitlab». В преддверии старта курса подготовили перевод полезного материала. Полноценный набор DevOps инструментов, мессенджер с открытым исходным кодом и ChatOps – как тут не влюбиться? Нико...

Jenkins, покрытие кода, байткод и девопс: что будет на Luxoft TechFest #4 3 июня на онлайн-митапе Luxoft TechFest #4 можно будет послушать три доклада по Java/DevOps. Под катом их полные описания и другая информация о мероприятии, а сначала суть вкратце для тех, кто торопится:• Олег Ненашев разрабатывает Jenkins. И расскажет, как в 2021-м правиль...

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

[Из песочницы] Создаем EXE Самоизоляция это отличное время приступить к тому, что требует много времени и сил. Поэтому я решил заняться тем, чем всегда хотел — написать свой компилятор. Сейчас он способен собрать Hello World, но в этой статье я хочу рассказать не про парсинг и внутреннее устройство ...

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

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

Распределённая команда и тимлид на удалёнке Привет, меня зовут Григорий. Я работаю тимлидом распределённой команды в Positive Technologies. Это мой рассказ, как я стал лидом распределённой команды, с какими проблемами сталкивался, как их решал и какой опыт получил. Мотивами к написанию статьи стали два факта: во-первы...

[Из песочницы] Большое тестирование процессоров различных архитектур Предисловие Попытка сравнить производительность процессоров на разнородных архитектурах x86-64, e2k (Эльбрус), mips и arm. Все тесты написаны на языке C (взяты из исходных кодов, которые я не модифицировал и не оптимизировал) и компилируются под конкретную архитектуру с испо...

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

Александр Зейналов: «Вы даже можете и не знать, что перед вами OpenStreetMap, но это будет он» Александр Зейналов — системный администратор, который является одним из «хранителей ключей» от серверов российского сообщества OpenStreetMap. Помимо этого, у него богатый опыт использования данных OSM. Что это за сервера, как разместить на них свой проект и чего не стоит и...

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

Microsoft представила DirectX 12 Ultimate с графическими функциями следующего поколения Компания Microsoft на днях анонсировала DirectX 12 Ultimate, кульминацию лучших графических технологий от Microsoft. DirectX 12 Ultimate поставляется со всеми графическими аппаратными функциями следующего поколения, включая DirectX Raytracing, Variable Rate Shading, Mesh Sha...

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

[Перевод] Компилируем Microsoft Word 1989 года Собираем Opus Opus — это кодовое имя, которое разработчики компании Microsoft дали пакету Microsoft Word for Windows v1.1a. Давайте скомпилируем его из исходного кода и посмотрим, удастся ли его запустить! 1. Введение В этой статье задокументирован процесс получения исход...

[Перевод] Реверс-инжиниринг GPU Apple M1 Новая линейка компьютеров Apple Mac содержит в себе разработанную самой компанией SOC (систему на чипе) под названием M1, имеющую специализированный GPU. Это создаёт проблему для тех, кто участвует в проекте Asahi Linux и хочет запускать на своих машинах Linux: у собственно...

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

[Перевод] Почему не стоит пытаться ускорять разработку при помощи метрик Если вам приходилось руководить разработкой программного продукта, вы наверняка задумывались — как помочь команде двигаться быстрее? И как вообще понять, насколько быстро вы движетесь? Читать дальше →

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

[Перевод] Первое знакомство с JavaScript-библиотекой Solid Solid — это реактивная JavaScript-библиотека для создания пользовательских интерфейсов без использования виртуальной DOM. Она однократно компилирует шаблоны, превращая их в узлы реальной DOM, а благодаря тщательно спланированным механизмам обновления контента при изменении с...

Создаем веб-приложение на Haskell с использованием Reflex. Часть 1 Введение Всем привет! Меня зовут Никита, и мы в Typeable для разработки фронтенда для части проектов используем FRP-подход, а конкретно его реализацию на Haskell – веб-фреймоворк reflex. На русскоязычных ресурсах отсутствуют какие-либо руководства по данному фреймворку (да и...

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

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

[Из песочницы] PostgeSQL: Разработка расширений (функций) на языке С Эту статью написал еще пару лет назад, и не знал куда ее можно было бы выложить, а потом и забыл. Смысл использования языка С при разработке расширений для PostgreSQL по сравнению с интерпретируемыми (скриптовыми) языками можно свести к двум положениям: производительность и...

ABBYY NeoML 2.0: Python и многое другое Прошел почти год с тех пор, как мы опубликовали на GitHub библиотеку для машинного обучения NeoML. О чем, конечно же, была статья на Хабре. Мы обещали поддерживать и развивать ее. Свое обещание мы сдержали, и на днях свет увидела вторая версия библиотеки! С первой версии ...

[Перевод] D как улучшенный C Уолтер Брайт — «великодушный пожизненный диктатор» языка программирования D и основатель Digital Mars. За его плечами не один десяток лет опыта в разработке компиляторов и интерпретаторов для нескольких языков, в числе которых Zortech C++ — первый нативный компилятор C++. Он...

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

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

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

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

Кто такой СТО и каковы его задачи? Личный опыт и мнение технического директора Привет, Хабр! Меня зовут Игорь Десятников, я Chief Technical Officer в компании Neuro.net. Несколько раз встречал на Хабре статьи с попыткой рассказать о роли СТО, об эволюции этой должности при расширении компании и т.п. С некоторыми вещами согласен, с другими — нет. Се...

.NET Core: интринсики x86_64 на виртуальных машинах Мы живём в эпоху доминирования архитектуры x86. Все x86-совместимые процессоры похожи, но и все при этом немного отличаются. И не только производителем, частотой и количеством ядер. Архитектура x86 за время своего существования (и популярности) пережила много крупных апдейт...

Leak-Search: как и зачем QIWI создала сервис, который ищет утечки исходных кодов компаний Искать утечки и уязвимости в своих продуктах не только интересно и полезно, но и необходимо. Еще полезнее подключать к таким поискам внешних специалистов и энтузиастов, у которых не настолько замылен глаз, как у сотрудников. Поэтому в свое время мы в QIWI запустили программу...

Имитируем сетевые проблемы в Linux Всем привет, меня зовут Саша, я руковожу тестированием бэкенда в FunCorp. У нас, как и у многих, реализована сервис-ориентированная архитектура. С одной стороны, это упрощает работу, т.к. каждый сервис проще тестировать по отдельности, но с другой — появляется необходимость ...

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

Почему я решил создать Школу Go? Про доступное образование, брата-близнеца и смысл жизни Привет, меня зовут Слава Вершинин. В марте 2021 года под моим руководством был запущен проект Ozon Education — бесплатный курс по разработке на языке Go для middle-программистов. В этом посте — о том, почему мы решили запустить такой проект, какие он дает плюсы, причем тут...

(Не)очередной MQTT телеграм бот для IoT Всем привет! Сегодня хочу поделиться опытом разработки универсального телеграм бота для получения информации и управления IoT устройствами посредством протокола MQTT. Почему (не)очередной? Потому что это не просто бот с двумя захардкоженными кнопками для управление лампочк...

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

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

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

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

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

Как реализован экран с карточками заявок в друзья и рекомендациями в приложении ВКонтакте Всем привет! Меня зовут Денис Загуменнов, я из команды ленты и рекомендаций ВКонтакте. Мы занимаемся новостной лентой, стеной, разделом «Рекомендации», записями, комментариями, VK Donut, подкастами и социальным графом. То есть всем, что касается потребления контента и взаимо...

Внутренняя автоматизация – почему мы отказались от low-code системы в пользу Camunda Привет! Меня зовут Мирослав, я инженер-разработчик проекта по реализации BPM-решений для внутренней автоматизации КРОК. Наш проект не гоняет миллионы строк каждую ночь через фильтры и правила, это не сложная система, которая отвечает за кадровую информацию, бюджетирование ил...

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

[Перевод] Поиск лучшего фронтенд-инструмента 2021 года Любой, кто начинает карьеру в сфере разработки программного обеспечения, скорее всего столкнётся с задачей выбора первого языка, фреймворка или набора инструментов. Уверен, каждому из вас это знакомо. Ответ на вопрос о том, что нужно изучать самым первым, найти не так уж и п...

29 ноября в Москве конференция PHP Russia будет офлайн Пандемия повлияла на все бизнес-процессы, мы долго были в онлайне. Но 29 ноября PHP-разработчики смогут наконец встретиться офлайн в тёплой атмосфере, увидеть лучших спикеров PHP-вселенной, и задав им вопросы, разобрать актуальные кейсы и обсудить проблемы. PHP Russia 2020 п...

Павел Дуров рассказал о планах на Telegram, число активных пользователей приблизилось к 500 млн Павел Дуров, основатель социальной сети ВКонтакте и мессенджера Telegram объявил, что последний приближается к отметке в 500 млн активных пользователей. Если раньше предприниматель платил за сервера и разработку из своих накоплений, то теперь масштабы проекта настолько велик...

[Из песочницы] Компилятор Befunge на Python В процессе подготовки к курсу «Основы компиляторов» для студентов 4-го курса я изучал различные эзотерические языки программирования. Вот хорошая статья на эту тему. В статье самым интересным мне показался язык Befunge (Крис Пресс, 1993 год), особо отмечу три его особенности...

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

Facebook начал разработку своего конкурента Android Похоже, Facebook решил освободиться от зависимости от Google, и начал разработку своей собственной операционной системы.   Такое решение означает, что в будущем продукция от Facebook, например, Oculus и Portal, может работать под управлением операционной системы компан...

Внедрение CI/CD и DevOps в Enterprise (в нашем случае — Ростелеком) Тема до сих пор весьма хайповая, и админы, добавляющие в свои резюме словечко DevOps, автоматически рассчитывают на +100К к зарплате. Но мы не про это. Мы хотим рассказать про то, как Ростелеком ИТ внедряет CI/CD & DevOps в энтерпрайзовый ИТ-ландшафт и тяжелые монолитные...

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

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

ВТБ подвел результаты полутора лет технологической трансформации В рамках реализации технологической трансформации ВТБ: перевел мобильный банк на новую ИТ-архитектуру, что позволило увеличить скорость работы ВТБ Онлайн вдвое и ускорить время отклика интерфейсов в 10 раз; вывел на новый уровень надежность систем при росте числа внедрений и...

Зачем мне психотерапевт? «После терапии несколько лет мне захотелось пробовать то, что я раньше боялся. Например, в 2014 году я решил начать выступать. Но так как мне было страшно даже разговаривать с людьми, каждый раз перед выступлением всю ночь не спал — мозг взрывался. Со временем мозг переобучи...

[Перевод] Парсим протобаф на скорости больше 2 Гб/с.: как я научился любить хвостовую рекурсию в C Отличную функцию недавно добавили в основную ветку компилятора Clang. С помощью атрибутов [[clang::musttail]] или __attribute__((musttail)) теперь можно получить гарантированные хвостовые (tail) вызовы в C, C++ и Objective-C. int g(int); int f(int x) { __attribute__((...

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

Как выйти на китайский рынок с mini-app для WeChat, чтобы не прогореть В Китае легко затеряться. Наши первые пиццерии там работали по привычной модели: точка «на доставку» с залом на второй линии не в людном месте. Но модель работала не так как мы хотели, потому что рядом с пиццерией десятки лавок со всеми видами еды, вроде боула с мидиями или ...

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

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

Конкурент MIUI раскрыл карты. Интересные факты о разработке ColorOS Манодж Кумар (Manoj Kumar), глава команды разработчиков оболочки ColorOS, дал интервью The Indian Express и рассказал о некоторых интересных деталях, касающихся программного обеспечения. В ходе интервью Кумар раскрыл некоторые факты о разработке глобальных версий ColorO...

Избавляемся от рутины со своим плагином для PhpStorm Привет, Хабр! Я тружусь в команде Антиспама, и, как и у большинства бэкенд-разработчиков Badoo, большая часть времени у меня уходит на работу с PHP-кодом. С этой работой связано много специфических проблем и задач, которые можно решить или упростить. Когда мне надоело вруч...

[Перевод] Туман в Lost in Random Взгляд изнутри... В процессе разработки Lost in Random наши художники часто публиковали концепт-арты и другие изображения, позволявшие взглянуть за кулисы создания игры. Кто-то из нас задался вопросом, можно ли сделать что-то подобное и для кода. Хотя в то время ситуация был...

Отправляем письма с помощью asyncio и aiohttp из Django приложения Всем привет! Я занимаюсь разработкой и поддержкой сервиса уведомлений в Ostrovok.ru. Сервис написан на Python3 и Django. Помимо транзакционных писем, пушей и сообщений, сервис также берёт на себя задачи по массовым рассылкам коммерческих предложений (не спам! trust me, отп...

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

Разработка и тестирование на платформах Эльбрус программы для томографической реконструкции Smart Tomo Engine (+2 видео) Сегодняшняя статья будет посвящена сразу двум нашим любимым темам: компьютерной томографии (КТ) и отечественному процессору Эльбрус. Мы расскажем, чем отличается рентгенограмма от результатов КТ и объясним, зачем такой большой и серьезной машине, как томограф, был бы кстати ...

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

Разработка Z-Wave бесшумного выключателя и автоматизация на балконе Решился балкон переделать в рабочий кабинет. Фотографий ДО и ПОСЛЕ не будет, но я расскажу об автоматизации, которую там устроил. С самого начала планировал автоматическое управление теплым полом и освещением, а уже по окончанию ремонта решил добавить еще и сенсорную панель...

Повышение привилегий в Windows клиенте EA Origin (CVE-2019-19247 и CVE-2019-19248) Приветствую всех, кто решил прочитать мою новую статью с разбором уязвимостей. В прошлый раз небольшим циклом из трех статей я рассказал об уязвимостях в Steam (1, 2 и 3). В данной статье я расскажу об уязвимостях похожего продукта — Origin, который тоже является лаунчером д...

TensorFlow vs PyTorch в 2021: сравнение фреймворков глубокого обучения Всем привет! Меня зовут Дмитрий, я занимаюсь разработкой в области компьютерного зрения в команде MTS AI. Так исторически сложилось, что в своей работе я использую, как правило, связку устаревшей версии TensorFlow 1 и Keras. Пришло время двигаться дальше, но прежде чем полно...

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

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

Яндекс открывает датасеты Беспилотных автомобилей, Погоды и Переводчика, чтобы помочь решить проблему сдвига данных в ML В рамках конкурса Shifts Challenge мы выкладываем в открытый доступ крупнейший в мире датасет для обучения беспилотных автомобилей, а также данные Яндекс.Переводчика и Погоды. Приглашаем исследователей в области машинного обучения присоединиться к поиску решения проблемы с...

Из техлида в менеджеры продукта: чем поможет бэкграунд разработки и стоит ли переходить именно вам Меня зовут Марина Перескокова. Я проработала в Яндексе 10 лет, и из стажёра-разработчика выросла до руководителя службы разработки фронтенда. За это время получилось поработать над JS API Яндекс.Карт, поруководить фронтендом сервиса yandex.ru/maps и покодить движок для векто...

Опыт работы над проектом на базе Vue3 в 2021 году Около полугода пришлось поработать над миграцией неработающего проекта на базе Vue 2 на проект Vue v.3. Поскольку до сих пор работа с ним остаётся экзотикой, попробую описать состояние развития этого проекта в июле 2021 года, через 10 месяцев после релиза, и какие особеннос...

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

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

Windows 11 будет дружить с Android-приложениями. И вот как Вчера во время презентации Windows 11, Microsoft сообщила, что одной из фишек новой операционной системы станет поддержка Android-приложений. Теперь пользователям не придется использовать «костыли» в виде компиляторов и эмуляторов, чтобы запустить утилиты, заточенные для раб...

Windows 11 будет дружить с Android-приложениями. И вот как Вчера во время презентации Windows 11, Microsoft сообщила, что одной из фишек новой операционной системы станет поддержка Android-приложений. Теперь пользователям не придется использовать «костыли» в виде компиляторов и эмуляторов, чтобы запустить утилиты, заточенные для раб...

YARL: как Яндекс построил распределённый Rate Limiter с нулевым влиянием на время ответа сервисов Yandex Rate Limiter (далее просто YARL) — это сервис лимитирования нагрузки для распределённых сервисов. Его особенность в том, что он способен работать с миллионами квот, имея при этом очень низкие накладные расходы на проверку квоты. Если совсем кратко, это система распред...

[Из песочницы] Сказ о разработке амбициозного проекта 16-ти летним парнем (file547) Итак, приветствую всех, кто читает этот пост, который для меня является первым на этой площадке. Сегодня я расскажу вам о том, как 16-ти летний парень (Moony Games… то есть я!), увлеченный разработкой игр, решил шагнуть на качественно новый уровень и немного помечтать, заодн...

VSTi-плагин ASIO-хоста для подключения входа дополнительного ASIO-драйвера в DAW Столкнулся я как-то с ситуацией, когда, при наличии основной звуковой карты со своим ASIO-драйвером, необходимо было в DAW подключить USB-микрофон со своим ASIO-драйвером. А DAW не поддерживает подключение двух ASIO-драйверов одновременно. Поиском наткнулся на VST-плагин "VS...

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

Samsung отправил свежий патч безопасности от января 2021 ... Samsung продолжает активно поддерживать свои старые устройства – теперь самый свежий патч безопасности получил Galaxy S9.     Весь 2020 год Samsung активно меняли сложившиеся стереотипы о поддержке устройств компании. Производитель то и дело обновлял совсем ...

Samsung отправил свежий патч безопасности от января 2021 ... Samsung продолжает активно поддерживать свои старые устройства – теперь самый свежий патч безопасности получил Galaxy S9.     Весь 2020 год Samsung активно меняли сложившиеся стереотипы о поддержке устройств компании. Производитель то и дело обновлял совсем ...

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

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

Microsoft снова отложила выпуск принципиально новой Windows 10X и, похоже, что навсегда Компания Microsoft отложила на неопределённый выпуск своей принципиально новой операционной системы Windows 10X. Эта интересная разработка Microsoft откладывается уже далеко не в первый раз и теперь её судьба неопределенна.    Как сообщил Брэд Самс (Brad Sams...

M/o/Vfuscator2, безумный компилятор Однажды один умный чувак (Кристофер Домас) читал статью другого умного чувака (Стивена Долана) про удивительную особенность архитектуры x86. Стивен ругал её за избыточность и утверждал, что набор инструкций можно сократить до одной лишь mov, потому что она Тюринг-полная. Е...

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

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

Волшебный помощник для печати на 3D-принтере Здравствуйте. Меня зовут Юлия . В 3d-сообществе я недавно. Давно собиралась рассказать вам о приложении, которое написал мой муж, и наконец решилась. Сразу хочу предупредить, что являюсь мамой троих детишек, и ежедневное чтение на ночь, помощь с уроками и тд выработали специ...

[Перевод] Ускоренная разработка с помощью Spring Boot DevTools Как ускорить разработку на Spring Boot с DevTools и сделать этот процесс более приятным и продуктивным? Настройка Как обычно при разработке на Spring Boot, настройка достаточно проста. Все, что вам нужно сделать, это добавить правильную зависимость, и готово. Spring Boot на...

Готовим C++. Система сборки Bake Наверное, большинство из вас согласится, что на сегодняшний день наибольшую популярность среди систем сборки для проектов на C/C++ имеет CMake. Каково же было мое удивление увидеть в проекте на новой работе собственную систему сборки - Bake.В этой статье я бы хотел описать о...

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

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

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

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

Когда у вас сберовские масштабы. Использование Ab Initio при работе с Hive и GreenPlum Некоторое время назад перед нами встал вопрос выбора ETL-средства для работы с BigData. Ранее использовавшееся решение Informatica BDM не устраивало нас из-за ограниченной функциональности. Её использование свелось к фреймворку по запуску команд spark-submit. На рынке имелос...

Respawn Entertainment: Разработчики Apex Legends взялись за бесконечное приключение Неделю назад крупные СМИ начали выкладывать информацию о том, что студия Respawn Entertainment ищет разработчиков для работы над новой франшизой. Они все указывают на официальный сайт студии. Только если раньше на нём была указаны открытые вакансии, сейчас там белая страница...

Опыт внедрения service mesh в «Авито» Что такое service mesh и какие задачи по управлению инфраструктурой решает? Как service mesh внедряли в «Авито» и почему отказались от популярного Istio? Зачем стали писать аналог и к чему в итоге пришли? Об этом в интервью «Слёрму» рассказал Александр Лукьянченко — тимлид ...

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

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

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

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

Redux Toolkit как средство эффективной Redux-разработки В настоящее время разработка львиной доли веб-приложений, основанных на фреймворке React, ведется с использованием библиотеки Redux. Данная библиотека является самой популярной реализацией FLUX-архитектуры и, несмотря на ряд очевидных преимуществ, имеет весьма существенные ...

Мой опыт в самоорганизующейся команде Привет! Я хочу рассказать про свой опыт в самоорганизующейся команде. За полтора года там было от 3 до 5 разработчиков, я не занимался их наймом, но все процессы и разработку я построил с нуля. Расскажу что такое самоорганизующаяся команда, какую пользу она приносит для комп...

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

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

История Saudi Aramco. Доктор Эверетт или как в США перестали бояться и полюбили саудовскую нефть В прошлой части речь шла о подписании концессии. Сейчас же я расскажу о том, как во время маленького военного конфликта можно серьёзно укрепить собственное положение.Этим малоизвестным конфликтом является Вторая мировая война. О ней, а конкретно о перипетиях участия в ней ...

Google заказала у Samsung разработку специальной высокопроизводительной SoC Exynos В конце прошлого года Samsung решила отказаться от разработки собственных ядер для мобильных платформ Exynos и использовать по лицензии обычные ядра ARM. Тем неожиданнее воспринимается свежие слухи о разработке заказной однокристальной платформы Exynos для Google. Сообщается...

Видят ли роботы радугу? У нас был один восьмилучевой лидар-«ведёрко», несколько ядер на i7 в промышленном компьютере, самосвал весом сто тонн, а также грунтовые дороги, сибирские морозы и африканская жара, стада скота, спецтехника, люди вокруг и погодные явления всех видов и сортов. Не то чтобы это...

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

[Перевод] Укрепите свои agile-команды, используя стадии развития Такмена И снова здравствуйте. В преддверии старта курса «DevOps практики и инструменты» делимся с вами переводом еще одного интересного материала. Изолированность команд разработки и сопровождения — распространенный источник напряженности и узких мест. Когда команды работают изоли...

Как оптимизировать скорость сайта с помощью Google PageSpeed Привет читателям Хабра! Меня зовут Сергей Кузнецов, я руковожу отделом frontend-разработки в компании AGIMA. Сегодня мне бы хотелось поговорить про оптимизацию сайта в разрезе показателей Google PageSpeed. Читать далее

Разработчики Life is Strange работают над 6 видеоиграми, игроки скорее всего не угадают их жанры Парижские разработчики из студии Dontnod Entertainment больше всего известны за приключение под названием Life is Strange, которое покорило в своё время сердца игровой индустрии. Но помимо этого они ещё работали над научно-фантастическим приключением Remember Me, а также RPG...

Как я не съездил в Лондон, но поучаствовал в London DevOps Enterprise Summit С 23 по 25 июня 2020 года в Лондоне прошла очередная DevOps Enterprise Summit. «В Лондоне» можно написать в кавычках, так как пандемия сделала свое дело и конференция прошла в онлайн-формате. В нём здесь есть и плохое (нетворкинг всё-таки очень сильно страдает), и хорошее:...

Многопоточность и Kotlin в Яндекс.Картах: как не допустить падения новых фич на iOS Привет! Меня зовут Женя Васильев, я делаю Яндекс.Карты под Android. А с появлением у нас Kotlin Multiplatform — так уж получилось, ещё и под iOS. Kotlin Multiplatform позволяет писать код, который будет одинаково работать на iOS и Android. По крайней мере, должен одинаков...

Do IT like a Russian: чем крупный ритейл может удивить технического директора Привет! Меня зовут Валентин Щитов, я CIO компании «‎Магнит». До момента прихода в «Магнит» весной 2020 года я руководил IT-департаментом большого e-commerce проекта и за 10 лет сформировал полное представление, как работает онлайн-ритейлер. Однако и офлайн-ритейлер...

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

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

Создание приложений на Angular с использованием продвинутых возможностей DI Меня зовут Андрей, и я занимаюсь разработкой фронтенда на Angular для внутренних продуктов компании. Фреймворк обладает обширными возможностями, одни и те же задачи можно решить огромным количеством способов. Чтобы облегчить свою работу и повысить продуктивность, я задался ц...

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

Оптимизация dotMemory с использованием dotMemory (и не только...) dotMemory — это профилировщик памяти для .NET от компании JetBrains. А меня зовут Илья, и я из команды разработки этого инструмента.Хочу поделиться историей классического догфудинга: как мы оптимизировали один из алгоритмов в dotMemory с помощью своих же инструментов — dotMe...

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

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

На пути к бессерверным базам данных — как и зачем Всем привет! Меня зовут Голов Николай. Раньше я работал в Авито и шесть лет руководил Data Platform, то есть занимался всеми базами: аналитическими (Vertica, ClickHouse), потоковыми и OLTP (Redis, Tarantool, VoltDB, MongoDB, PostgreSQL). За это время я разобрался с большим к...

Как PHP/Python разработчиков в Lamoda учат писать на Go Привет! Меня зовут Михаил Мохначев, я тимлид команды Core в Lamoda. Наша команда занимается обеспечением работы сайта и системы приема заказов, что бы ни случилось. Мы очень активно используем язык Go — 95% трафика идет через сервисы, которые написаны на нем. Но также есть ...

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

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

Как научиться XR-разработке и получить оффер за пять месяцев Привет, Хабр! XR-разработкой я занимаюсь около семи лет: проделал путь от младшего специалиста до директора бизнес-юнита КРОК Иммерсивные технологии. Моя команда уже более пяти лет создает XR-продукты для промышленности. За это время наш небольшой отдел превратился в целое н...

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

Как получить 9 своих лучших фото в Instagram за год Это приложение покажет ваши лучшие фото в Instagram за год Нам пишет разработчик приложения best9.app Меня зовут Михаил Луцкий, на настоящий момент я студент магистратуры московского вуза. Работаю iOS-программистом, преимущественно пишу на Swift. Программированием увлекаюсь ...

[Из песочницы] Как и к чему готовиться на собеседование начинающему iOS-разработчику и не только Эй, Хаброжитель, приветствую тебя! Буду признателен ко всем твоим фидбэкам. Небольшая предыстория В 2019 году увлёкся iOS-разработкой и решил попробовать попасть на курс от Mail.ru в их Технопроект с нашим ВУЗом. Закончил данный курс с отличием. Огромное спасибо Диме и Г...

Путь одной команды от «велосипедов» до IoT-платформы Привет, Хабр! Мы, команда Rightech, наконец-то решили начать вести блог. У нас накопилось много опыта в построении высоконагруженных IoT-систем, и мы решили, что просто обязаны им делиться! Совсем недавно прошел запуск публичной версии нашей платформы RIC (Rightech IoT Clou...

[Перевод] Как устроен Selenium: Эпизоды 3 — 5 Салют, хабровчане. Сегодня мы продолжаем серию переводов, приуроченных к запуску курса «Java QA Engineer». Эпизод 3 — isDisplayed В результате диалога, произошедшего в последние выходные января 2020 года, который был посвящен одной из проблем в Selenium, где кто-то сказал ...

[Перевод] Эмуляция компьютера: интерпретатор CHIP-8 Меня, по ряду причин, всегда завораживала эмуляция. Программа, которая выполняет другую программу… Мне эта идея кажется невероятно привлекательной. И у меня такое ощущение, что тот, кто напишет подобную программу, не пожалеет ни об одной минуте потраченного на это времени....

Как защитить свой публичный сайт с ESNI Привет Хабр, меня зовут Илья, я работаю в платформенной команде компании Exness. Мы разрабатываем и внедряем базовые инфраструктурные компоненты, которые используют наши продуктовые команды разработки. В этой статье я бы хотел поделиться опытом внедрения технологии encrypt...

Как сэкономить время и силы на внедрении стандартов безопасной разработки с помощью OWASP SAMM 5 марта 2020 года в офисе OZON прошёл очередной митап Московского отделения сообщества OWASP. Кажется, что получилось здорово, а краткий отчёт с материалами встречи был недавно опубликован на Хабре. В этом же посте представлен доклад oxdef. Продолжая серию экспресс-докладов...

OpenIn.app — MacOS приложения для ссылок и файлов Привет, Хабр!Давно я ничего не публиковал на Хабре, но вот решил сегодня написать в Я пиарюсь (читай карма-самоуничтожение или как это называется сейчас?)Решил в свободное время заняться разработкой под MacOS и iOS. Начал пока с MacOS. Идей много, так что приложений будет мн...

Исполнилось 175 лет со дня рождения императора Всероссийского Александра III В марте нынешнего года исполнилось 175 лет со дня рождения императора Всероссийского Александра Александровича (Александра III). Александр III – один из самых интересных, и в то же время спорных правителей нашей страны в истории. Его личность проделала большой путь от всенар...

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

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

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

Как мы создаём отказоустойчивую почту для высоких нагрузок. Go, RethinkDB, Cloud Native архитектура и немного магии Привет, Хабр! Меня зовут Антон Герасимов, я руковожу департаментом разработки в московском центре компании МойОфис. Почти четыре года мы с командой создаём новую высоконагруженную и отказоустойчивую почтовую систему Mailion. Она предназначена для корпоративных коммуникаций и...

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

Руководство Instagram хочет выпустить версию для iPad, но не может Несмотря на широкую популярность iPad, для многих разработчиков он никогда не представлял такого же интереса, как iPhone. Поэтому некоторые приложения из ассортимента App Store по-прежнему доступны только в версии для смартфонов. Конечно, у пользователей планшетных компьюте...

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

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

История про то, как из студенческого геймдев-клуба выросла компания по разработке игр Привет, меня зовут Антон Скударнов, мне 23 года. В этом году закончил Университет Иннополис, параллельно с учёбой руководил студенческим геймдев-клубом и разрабатывал игры. В статье хочу рассказать, как студенческое увлечение играми переросло в свою компанию. Читать дальше ...

[Из песочницы] Базовые команды Linux для тестировщиков и не только Предисловие Всем привет! Меня зовут Саша, и я больше шести лет занимаюсь тестированием бэкенда (сервисы Linux и API). Мысль о статье у меня появилась после очередной просьбы знакомого тестировщика подсказать ему, что можно почитать по командам Linux перед собеседованием. Обы...

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

[Перевод] Пользуемся офлайн-браузингом, как будто сейчас 1995 год В своё время офлайн-браузинг был своего рода Святым Граалем веб-разработки. В середине 90-х он являлся источником вдохновения, размышлений и роста ценности компаний. В июне 2015 года разработчик из команды Google Chrome Алекс Рассел опубликовал пост. В этом посте он расска...

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

[Из песочницы] Кастомные SwiftLint Rules Привет, Habr! Меня зовут Алексей, я iOS Developer в компании FINCH. Скоро Новый год — самое время чтобы начать жить по-другому, а поможет в этом такая классная штука как SwiftLint. В статье я расскажу, почему ее обязательно нужно внедрять во все проекты, включая legacy и pet...

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

Возглавляя тренды Кому и зачем надо отслеживать тренды технологического развития? Стартапам: стоит ли тратить свою жизнь на то, в чем не будет потребности через 5 лет? Венчурным инвесторам: во что вкладывать? Как не нарваться на мыльный пузырь? Крупному бизнесу: какие инвестиции позволят обог...

[Из песочницы] Почему Rust лидирует в TechEmpower Framework Benchmark Вообще-то смотреть какого цвета потроха у Rust я не собирался. Ковырнул хобби-проект на Go, пошел на GitHub посмотреть состояние fasthttp: развивается ли? Ну хотя бы поддерживается? Вспрокрастинулось. Пошел, посмотрел где fasthttp сидит в бенчмарках TechEmpower. Смотрю: а та...

Устройство CPython. Доклад Яндекса Мы публикуем конспект вступительной лекции видеокурса «Бэкенд-разработка на Python». В ней Егор Овчаренко egorovcharenko, тимлид в Яндекс.Такси, рассказал о внутреннем устройстве интерпретатора CPython. — Если кратко, какой у нас будет план? Сначала мы поговорим о том, поч...

Fintech на практике: как Quadcode технологии для трейдинга и банкинга разрабатывает Привет, самое хардовое IT комьюнити Рунета, я Саша, главный архитектор в компании Quadcode. Мы пришли на Хабр для того, чтобы показать “кухню” Fintech - варимся мы во всем этом много лет, поэтому уже можем поделиться опытом. В блоге будем рассказывать об архитектурах, технол...

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

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

[Из песочницы] Когда дизайнеру нужно быть немножко программистом О том, как дизайнеру освоить «азы программирования», чтобы не утонуть в рутине Меня зовут Владислав Кузеванов, я руковожу отделом дизайна и верстки в рекламно-производственном агентстве Zeytz Project group. Наша компания работает с крупными сетями и практически ежедневно мы...

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

[Перевод] Новости из мира OpenStreetMap № 500 (11.02.2020-17.02.2020) Wochennotiz / weeklyOSM – Issue # 500 | Thank you О нас Вышел 500-й выпуск нашего еженедельного новостного проекта. Всё началось 23 июля 2010 года с небольшой заметки, в которой содержалось всего 14 новостей. Редакция проекта благодарит всех читателей, которые поддержива...

Как сделать Swift-friendly API с Kotlin Multiplatform Mobile Kotlin Multiplatform Mobile позволяет компилировать Kotlin код в нативные библиотеки для Android и iOS. И если в случае с Android полученная из Kotlin библиотека будет интегрироваться с приложением написанным на Kotlin, то для iOS интеграция будет с Swift и на стыке Kotlin и...

[Перевод] Разработка REST-серверов на Go. Часть 5: ПО промежуточного уровня Это — пятый материал из серии статей, посвящённой разработке REST-серверов на Go. Здесь мы поговорим о ПО промежуточного уровня. У меня есть материал, посвящённый жизненному циклу HTTP-запросов в серверах, написанных на Go. Для того чтобы разобраться в том, о чём пойдёт речь...

Современные стандарты идентификации: OAuth 2.0, OpenID Connect, WebAuthn Пускать или не пускать? Вот в чем вопрос… Сейчас на многих сайтах мы видим возможность зарегистрироваться или войти с помощью соцсетей, а некоторые сайты предлагают использовать внешние ключи безопасности или отпечатки пальцев. Что это? Стандарты с хорошо проработанной безо...

[Перевод] Как научиться заканчивать проекты: правило двух недель «Этот олень просто огромный!» Той ночью я поздно возвращался домой. Когда я подъезжал к дому, в свет фар попал самый большой олень, которого я видел в жизни, он стоял прямо посередине дороги. Я живу в лесистой местности, и соседи говорили, что олени здесь гуляют свободно, ...

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

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

Разработка системы тестирования SQL запросов. Часть 2 Несколько лет назад, на проекте по разработке внутреннего портала для учебных заведений, занимающем практически весь датский рынок, я разработал прототип системы тестирования слоя данных, внедрил его в процесс разработки и обучил использованию две проектных команды. В данном...

Самый молодой стартапер из России поднял $3,4 млн после прохождения Y Combinator Дмитрий Долгополов (CTO) и Kesava Kirupa Dinakaran (CEO) — сооснователи DigitalBrain. Я познакомился с Дмитрием в 2015 году. Я был вожатым, а Дима — школьником. Я учил пионеров ходить по слэклайну, прогать нейроинтерфейс и кодить в наручниках, а Дима пилил какую-то игру. ...

Как перенести на TypeScript большую кодовую базу React UI-компонентов Как перенести на TypeScript большую кодовую базу React UI-компонентовПривет! Меня зовут Иван Греков, я работаю UI-разработчиком в frontend-команде Badoo. Главные задачи нашей команды — создание новых и поддержка существующих пользовательских интерфейсов для сайтов и приложен...

Анонс. Зачем нужны сообщества поддержки женщин, строящих карьеру в IT Завтра, в 20:00 в наших соцсетях выступит Даша Губанова, основательница сообщества Girls Do IT. Дарья более 4х лет занимается развитием digital-продуктов и запуском международных проектов в EdTech стартапах (StudyFree, ex-Qmarketing Academy, ex-Skyeng). Кроме того, у Даши...

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

BFCache, или Туда и обратно. Доклад Яндекса Люди пользуются кнопкой возврата на предыдущую страницу в браузере очень часто — возможно, чаще, чем вы думаете. А если так, то зачем сразу выбрасывать страницу из памяти браузера, а спустя секунду тратить время и трафик на её повторное открытие? Чтобы пользователь мог быстр...

Что Data Scientist может подсмотреть у разработчика Всем привет, меня зовут Дарья Пронина, я специалист по анализу данных и машинному обучению в отделе R&D в Lamoda. Я расскажу о том, что специалист по Data Science может подсмотреть у разработчиков, чтобы сделать свою работу эффективнее, production-процессы — устойчивее, ...

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

[Из песочницы] Javascript платформа Objectum Если вам нужен простой способ создавать веб-приложения, используя только javascript (full-stack), то предлагаю вам ознакомиться с платформой objectum. Новая версия платформы является результатом опыта работы над предыдущей версией, которая используется 10 лет. Обе версии исп...

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

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

Как мы за ночь дистанционное образование поднимали Всем привет! На связи команда Госпроектов Дизайн-Студии Ростелекома. Мы — одна из самых молодых команд нашего центра компетенций, но за относительно непродолжительный срок столкнулись с немалым количеством интересных и комплексных задач. Полученный опыт мы решили транслирова...