Социальные сети Рунета
Суббота, 20 апреля 2024

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

Пока, ФИАС! Рассказываем, как устроен адресный справочник ГАР 1 сентября 2021 года ФНС перестала обновлять свой адресный справочник в формате ФИАС. Относительно новый ГАР внезапно стал единственным государственным адресный реестром, доступным общественности. Рассказываем, что из себя представляет новый справочник и чем он отличается от...

Мои собеседования '2021 (C++ developer) Привет, меня зовут Дмитрий, разработчик на C++ со стажем более 15 лет. В основном приходилось заниматься разработкой десктопного софта и софта для мобильных устройств. Живу в Москве.В начале 2021 года, после шести лет работы в одной компании (хотя и очень хорошей), решил что...

Как мы перешли с kotlinx.synthetics на Android View Binding Привет! Меня зовут Ваня, я Android-разработчик из продуктовой команды hh.ru, и в этой статье я расскажу о нашем опыте миграции на ViewBinding.В конце 2020 года в официальном блоге Android Developers объявили, что android-kotlin-extensions plugin для Gradle больше не дружит с...

Как внедрить что-то своё в CoordinatorLayout и не умереть: путь Android-самурая Привет! Меня зовут Андрей Шоколов, я Android-разработчик KODE. К нам обратилась компания Forward Leasing с запросом разработать мобильное приложение по готовому дизайну. Прототип содержал дугу, которая по задумке должна была сжиматься в одну линию при скролле. За основу реши...

[Перевод] git bisect: путешествие по времени и багам Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в

Получите работу в Альфа-Инвестициях за 24 часа! One Day Offer для iOS/Android-разработчиков 19 марта Расширяем команду разработчиков в Альфа-Инвестициях – одном из приоритетных проектов Альфа-Банка. Нашим мобильным приложением пользуется более миллиона человек, и мы хотим сделать для них лучшее решение на рынке. Ищем коллег, которые усилят команду, и чтобы не тратить время ...

OAuth в мобильных приложениях Привет! Меня зовут Максим, я занимаюсь мобильной разработкой в KTS.Ни один сервис не обходится без логина. Часто в мобильных приложениях требуется интегрировать вход через сторонние соцсети — например, зайти через Google или VK. А при обучении мобильной разработке используют...

Кейс: как soft skills повлияли на карьерный рост Привет! Меня зовут Миша Ларченко, я разработчик в Sytac B.V. Последние 7 лет живу и работаю в Нидерландах. В этой статье я расскажу, как складывался мой путь от верстальщика в бобруйской газете до разработчика в нидерландской компании. Спойлер: в этом как-то замешаны soft sk...

Охота на toggle: Как простую фичу сделать максимально сложно – Хей, Катя, у нас там багуля небольшая завелась. Посмотри, плиз.– Не вопрос, бро. В чем проблема?– Toggle сбрасывается при возврате на экран. Изи ваще!С этой безобидной фразы началось мое недельное приключение в мир безумной архитектуры, сумасшедших фиксов и красноглазия. И...

Настройка LEMP сервера для простых проектов. Инструкция для самых маленьких. Часть третья Приветствую читателей! В рамках текущей серии статей я рассказываю о том, как настроить сервер для простых проектов. Имеется ввиду сервер для работы нескольих сайтов, с небольшой нагрузкой под наиболее популярной CMS такой например как Bitrix. Основная цель статьи указать н...

Муравей Лэнгтона — загадочный клеточный автомат В мире существует около 14 000 видов муравьёв, каждый из которых имеет собственное название. Но, даже если вы зададитесь такой целью, вы не найдёте ни в одном биологическом справочнике муравья Лэнгтона. Дело в том, что этот муравей — математическая абстракция, модель дл...

Как я не стал программистом Мне уже больше 50, с работой и семьей все хорошо. Но в свободное время сейчас я помогаю брату-близнецу с написанием сайта для его мобильного приложения. У него тоже с работой (не связанной с программированием) и семьей все хорошо. Как-то так получилось, что мы оба занялись в...

[Перевод] Возможности Java — от Java 8 до Java 17 С момента появления в 1995 году до сегодняшнего дня в Java многое изменилось. Java 8 была революционным выпуском, вернувшим Java на пьедестал лучших языков программирования.Мы рассмотрим большинство изменений в языке Java, которые произошли с Java 8 в 2014 году до сегод...

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

Как большинство Java проектов выглядят изнутри Меня зовут Аксёнов Вячеслав, я бэкенд разработчик и в последние годы пишу веб приложения на java/kotlin. Основная идея этой статьи описать основные технические задачи, которые ставятся перед современными веб приложениями, а также перечислить те библиотеки, которые чаще всего...

Обзор решений для навигации в iOS Всем привет! Меня зовут Тимур, я – iOS разработчик в hh.ru. В этой статье поговорим о фреймворкинге навигации в iOS. Я расскажу кулстори о популярных и не очень решениях и их преимуществах, а еще о том, как мы искали фреймворк мечты среди этой смертной любви. Поехали! Читать...

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

Как я запускал Spring Cloud Меня зовут Аксёнов Вячеслав, я старший бэкенд Java/Kotlin разработчик в крупном энтерпрайзе. Однажды я попал на проект, полный микросервисов, в котором за конфигурацию отвечала такая штука как Spring Cloud. Чтобы разобраться как именно это работает я исследовал и прикрутил э...

Python — серьезный язык для разработки backend Всем привет! Меня зовут Аникин Денис, я тимлид в команде Chat в Райффайзенбанке. А также представитель внутреннего Python-сообщества, так называемый «community lead» (об этом как-нибудь в другой раз). В этой статье я хотел поговорить про отношение к Python среди разработчико...

С 2 лет до 6 месяцев: как мы ускорили “доставку” почтового ПО в 4 раза Всем привет! Меня зовут Антон, я системный архитектор отдела разработки курьерских сервисов в Почтатехе. Мы разрабатываем сложные цифровые продукты Почты России. Помогаем ей стать удобнее, быстрее, качественнее и технологичнее для вас. Команда нашего отдела создаёт и ра...

Потратить миллион, чтобы нанять двух джунов: профит и около него Привет, меня зовут Валерий Антонов, я руковожу направлением Java в Уральском банке реконструкции и развития (УБРиР). Осенью у нас окончилось обучение в двух школах Java. По итогам работы мы приняли в штат двух учеников школы Java, а несколько сотрудников банка сменили с...

Для мониторинга CronJob в Kubernetes нужен простой советский… Привет, Олимпийский Хабр! Меня зовут Аня, я работаю в Ozon: строю и развиваю инфраструктуру мониторинга в Observability-платформе. Моя команда помогает разработчикам следить за своими сервисами и своевременно получать алерты, если что-то идёт не так. На Хабре довольно много ...

Техрадар от ThoughtWorks Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в

Databaser. Возвращение легкости стартапа Всем привет, меня зовут Александр Даниленко, я – ведущий разработчик отдела «Бюджет-Online». В компании «БАРС Груп» работаю уже 5 лет. За это время нам удалось успешно исправить некоторые сложности процесса разработки. Первая проблема, с который мы столкнулись – ра...

Новая глава. Как AGIMA меняет подход к кадрам Привет! Меня зовут Александр Богданов, я основатель компании AGIMA. Эта статья очень важна для меня, всей нашей команды и IT-специалистов, которые сейчас оказались на распутье. Санкции против России существенно повлияли на весь бизнес в стране и, конечно же, на рынок IT. А п...

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

Этапы погружения junior-разработчика Всем привет! Меня зовут Иван Сёмин, я руковожу несколькими командами разработки в компании Домклик. На данный момент в моём подчинении 28 человек, часть из которых приходила на junior-позицию. Хочу поделиться своим видением погружения новых сотрудников в процессы компании и ...

Как мы уменьшаем размер изображений на веб-страницах в 10 раз с помощью нашего оптимизатора Привет, Хабр! Меня зовут Евгений Лабутин, я из команды разработки продукта МТС Твой бизнес. Мы разработали свой рецепт приготовления картинок для нашего портала. Благодаря ему удалось сократить их вес на странице до 10 раз относительно уже оптимизированного jpg/png, сохранив...

Хеликон нормализовала НСИ и перенесла справочник «Номенклатура» в облако B2B-Center B2B-Center нормализовал справочник товарно-материальных ценностей Компании Хеликон, разработал архитектуру и методологии ведения данных и предоставил облачные инструменты для самостоятельного управления НСИ. «Нормализация НСИ — рутинный ...

GraphQL в мобильной разработке Всем привет! С вами Анна Жаркова, ведущий разработчик компании Usetech. Сегодня стартует моя серия статей, посвященная работе с технологией GraphQL при разработке мобильных приложений. Если вы интересуетесь применением необычных технологий в мобильной разработке, давно подум...

reveal.js: HTML-презентации Привет, меня зовут Александр, я старший разработчик ПО в Центре разработки Orion Innovation и я люблю делиться своими мыслями с людьми, разумеется, любимые форматы – статьи на Хабре и доклады на конференциях и митапах. Сложно представить доклад без презентации, о них и хочу ...

Как устроен вывод Generic-типов в Java Добрый день! Меня зовут Владислав Верминский, я отвечаю за развитие профессии JVM-разработчика в Райффайзенбанке. В этой статье я расскажу про неоднозначность вывода типов в Java. На первый взгляд с ним всё очевидно, но когда сталкиваешься со странным поведением, возникают в...

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

QA и Support: как не усложнять друг другу жизнь Привет. Меня зовут Маша, я — тестировщик в команде мобильной платформы. Когда-то для нас была актуальна проблема взаимодействия QA и Support. Сложностей было предостаточно, как и неприятных последствий. Но со временем мы успешно разобрались во всем. Хочу поделиться нашим опы...

Быстрый, резкий, как пуля, дерзкий. Как работать над перфомансом сайта, чтобы нравиться пользователям и Гуглу Привет! Меня зовут Андрей Якобчук, я ведущий фронтенд-разработчик в Muse Group. Мы постоянно работаем над ускорением клиентской части наших сайтов. К тому же Гугл с его метриками Core Web Vitals с каждым годом придаёт всё большее значение отзывчивости и стабильности интерфей...

Почему я пишу игры на Unity Здравствуйте. Меня зовут Валентин, мне 14 лет и я являюсь разработчиком игр. В рамках этой статьи хотелось бы рассказать о том, как молодой человек может начать, продолжить и достичь некоторых результатов в разработке игр с использованием движка Unity. Читать далее

Хабр не делай больно писателям Хабр! Добро пожаловать снова.Сегодня я расскажу о том как писатели хабра теряют свои статьи из за ошибок в работе редактора Хабра. Мне бы очень хотелось чтобы разработчики Habr или Chromium услышал меня и исправили эту проблему как можно скорее. Читать далее

Вам кажется, что с вашей документацией что-то не так? Вам не кажется Меня зовут Семён Факторович, с 2012 года я занимаюсь технической документацией. Последние три года я руковожу собственным агентством documentat.io, помогая российским IT-компаниям создавать качественную документацию. Мы пишем документацию с нуля (руководства пользователя, с...

Микрофронтеды: достоинства, недостатки и нюансы Привет, меня зовут Евгений, я PHP-разработчик в Broniboy. Ища в очередной раз на Хабре нужную информацию, поймал себя на мысли, что здесь маловато статей, на пальцах объясняющих суть и особенности применения микрофронтендов. Поэтому хочу добавить в копилку знаний. Читать дал...

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

Автоматизация процесса релиза Всем привет! Меня зовут Даниил Хейфец, и я QA Lead мобильного направления в hh.ru. В этой статье я расскажу, как мы автоматизировали flow релиза мобильных приложений, как разбили его разработку на этапы, какие инструменты использовали и с какими проблемами столкнулись. ...

[Перевод] Практические рекомендации по работе с Docker для Python-разработчиков Прим. Wunder Fund: в этой длииинной статье вы найдете ряд полезных советов по работе с Docker, как общего характера, так и Python-специфичных. Хоть мы и давно используем Docker в работе, про некоторые советы мы подумали "а что, так можно было?". Советуем вначале пролистать с...

Дилемма моделирования в рамках Data Vault/Anchor Modeling: объект или событие Всем привет :) Меня зовут Голов Николай, я строю платформу данных на основе Snowflake и Anchor Modeling в ManyChat.В этой статье я уже подробно рассказывал, как решал аналогичную задачу  в Авито, используя Vertica и методологию Anchor Modeling. В комментариях ...

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

Как я создал Spring Boot startup analyzer Ни для кого не секрет, что приложения на Spring могут задумываться на старте. Особенно это заметно с развитием проекта: новый сервис стартует быстро и радует отзывчивостью, потом начинает обрастать функционалом, появляются всё новые и новые зависимости, а итоговый дистрибути...

10 вещей, которые можно делать в верстке с помощью псевдоэлементов before и after Привет, Хабр! Меня зовут Максим Васянович, я спикер курса “Веб-верстка” в Skillbox. Сегодня поговорим о верстке, а точнее - о нюансах работы с псевдоэлементами before и after. Статья будет полезна, прежде всего, начинающим верстальщикам. Но, возможно, и профи будет интересно...

Android 12: история поддержки Всем привет! Меня зовут Максим Новиков, я Android-разработчик в команде мобильного оператора Yota. Совсем недавно вышла новая версия всеми нами любимой OS. Вот и пришло время нашему приложению поддержать её. Было очень много обзоров на новые возможности Android 12, а также ...

[Перевод] Как разработчику применять принципы лидерства Amazon Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в

Blazor: Нужен ли нам .Net в вебе? Всем доброго времени суток, меня зовут Михаил. Я .net разработчик в компании Orion Innovation. Сегодня речь пойдет про наш опыт создания веб приложения при помощи Blazor. Обсудим с какими проблемами мы столкнулись при разработке и почему вообще решили использовать Blazor.Ста...

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

Пишем простого slack-бота на Java Привет! Я — Саша Казанцев, разработчик в hh.ru. В статье я расскажу, как сделать простого бота в Slack на java и немного о других вариантах использования slack api.Слак обладает обширной и всеобъемлющей документацией и туториалами, и чтобы написать эталонного бота, лучше про...

Создание внутреннего мобильного приложения «На связи»: от идеи до визуального решения Меня зовут Лена, я дизайнер интерфейсов в Tele2. И я расскажу о создании внутреннего корпоративного мобильного приложения «На связи» для сотрудников Tele2 – его проектировании и выборе визуального решения. Пройдусь по основным этапам работы над digital-продуктом с точки...

Тащите меня семеро, или D'n'D в iOS Привет, Хабр! Меня зовут Никитин Алексей, я iOS разработчик в компании 65apps. Хорошо было бы порассуждать о Dragon and Dangerous, но нет. Речь пойдет о перемещении объектов. Перетаскивание как внутри одного приложения, так и между разными — с точки зрения пользователя вещь ...

Это Gaidai какой-то. Сервис HTTP сценариев Привет, Хабр, меня зовут Артем Кудряшов, некоторую кучу лет я работаю в ATI.SU — крупнейшей в России бирже грузоперевозок. В разное время я писал код, управлял командами и занимался другими весёлыми вещами. В статье, что вы видите, хочу рассказать об одном из наших сервисов ...

Три способа отследить запросы Greenplum, которые «отъедают» слишком много ресурсов Привет, Хабр! Меня зовут Роман, я работаю разработчиком в компании Arenadata, где мы решаем много задач, связанных с Greenplum. Как-то мне представился случай разобраться с одним непростым, но вполне типичным для этой СУБД кейсом. Необходимо было выяснить, на обработку каких...

Как работает создание и управление маркетинговыми кампаниями Спортмастера и причём здесь Oracle Приветствую! Меня зовут Михаил, я разработчик Oracle в ClubPro (Клубная программа, программа лояльности Спортмастера). В команде разработки моё основное направление связано с развитием Campaign Management. Campaign Management (далее для краткости Campaign) предназначен ...

Apple Watch, статистика и Siri — как мы провели iOS-хакатон Всем привет, меня зовут Семён, я iOS-разработчик в Ситимобиле.

[Перевод] У SDET — сердце разработчика Я Software Engineer in Test (SET). Многие не совсем понимают, что это значит. Разработчики часто называют меня «тестировщиком» или «QA», а бывший директор однажды подумал, что я занимаюсь DevOps. Хотя моя работа и охватывает данные области, они не являются моим основным напр...

Анализ синтаксиса, который всегда с тобой Всем привет, меня зовут Денис Лимарев, я разработчик платежной системы Delivery Club. И сегодня я расскажу, как мне надоели однообразные ошибки и собственная невнимательность, и как я с этим борюсь. Недавно я написал статью о нашем линтере, где вскользь затрагивал ...

Ракета на палочке Всем привет! Меня зовут Илья!Если вы читали мою прошлую статью, то наверное уже знаете что я увлекаюсь любительским ракетостроением. Это сложная и долгая тема. Давайте сейчас не будем строить большую ракету, а в этой статье давайте поговорим о чём-нибудь попроще. Ну, наприме...

Какой JS-фреймворк выбрать новичку — мнения шести экспертов Привет! Меня зовут Дима Чудинов, я наставник на веб-факультете Яндекс.Практикума, Head of Frontend в СберМаркете. В первой статье о JS-фреймворках я рассказал о самых популярных из них: Angular, React, Vue и других. В комментариях опытные разработчики спорили о том, какой ...

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

Альтернативное использование инструмента для нагрузочного тестирование Apache JMeter Всем привет! Меня зовут Андрей Попов, я Middle QA Engineer Auto-test в Утконос Онлайн. В этой статье хочу поделиться, почему мы выбрали Apache JMeter для нагрузочного тестирования, как выглядит этот инструмент, для чего он был нам нужен, и как мы используем его для нестандар...

Как мы в QIWI внедряли Kotlin Multiplatform Mobile (KMM) Привет, Хабр!Меня зовут Кирилл Васильев, и я хотел бы рассказать, как мы в QIWI внедряли Kotlin Multiplatform Mobile (KMM). КММ — это технология кроссплатформенной разработки, позволяющая писать общий код под основные платформы за исключением UI-слоя. Все продукты со вр...

Flutter vs Native: почему мы переходим с первого на второй Привет, Хабр! Меня зовут Сергей, я занимаюсь мобильной разработкой 13 лет и недавно стал руководителем разработки мобильного приложения «Пункты выдачи заказов» в Ozon. Невольно став сместителем существующего строя в проекте (фреймворки, технологии, подход), я стал часто слыш...

Топ вопросов работодателю от Android-разработчика Представьте: вы на собеседовании, только что закончили отвечать на кучу вопросов и были на высоте. Наконец наступает ваш черед задавать ваши вопросы работодателю. Не знаю как вы, а я в таких ситуациях часто начинал теряться и забывал самое важное, о чем стоило бы спросить. О...

Gatling. Тестирование Kafka Привет! Меня зовут Александра, я работаю в отделе тестирования производительности Тинькофф. Мы продолжаем наш цикл статей, посвященных работе Gatling с различными протоколами. Ранее мы уже рассмотрели работу с HTTP, JDBC и gRPC. В этой статье поговорим о работе Gatling с Kaf...

Разработчик игр на Unity: как начать работать с востребованным игровым движком По данным сайта gamedatacrunch.com, в 2021 году 49,48% всех платных игр, вышедших в Steam, были сделаны на Unity. А в сфере мобильных игр этот показатель уже давно превысил 50%. В этом материале мы расскажем, почему движок стал настолько популярным, и объясним, почему начина...

Новость о консольных версиях мобильной Metal Slug оказалась недостоверной Издатель и разработчик SNK Corporation, владеющий правами на франшизу Metal Slug, опроверг недавнее сообщение о расширении платформенной географии аркадного экшена Metal Slug: Awakening. Источник изображения: SNK Corporation Напомним, на днях микроблог Metal Slug: Awakening ...

Руководство разработкой: beginner's survival guide Привет! Меня зовут Наташа, я руковожу разработкой бэкенда страницы yandex.ru. Сейчас у нас в команде больше двадцати человек, которые входят в отдельные группы разработки. Три года назад я впервые стала «тимлидом» маленькой группы из четырёх человек, накопив к этому времени...

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

[Перевод] Как писать условия в JSX Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в

Загрузка stage слоя DWH. Часть 1 Доброго дня. Меня зовут Иван Клименко, я разработчик потоков обработки данных в компании Аскона. В этом цикле статей я расскажу опыт внедрения инструмента Apache Nifi для формирования DWH. Данная статья посвящена первому этапу внедрения Apache NIFI - начальным потокам в...

DevOps Cookbook: как построить процессы с нуля Привет! Меня зовут Мария, я DevOps-инженер в компании Wrike. В этой статье расскажу о работе DevOps-инженеров с командами разработчиков: как выглядит процесс взаимодействия, из каких этапов состоит и как построить его с нуля. Статья будет полезна, если вы часто меняете проек...

CSS в Oxygen XML для гуманитариев Всем привет!Меня зовут Татьяна и я старший технический писатель в компании Orion Innovation. В нашей уже немаленькой команде мы используем довольно обширный стэк инструментов и технологий, но наиболее востребованы и удобны в работе - XML-редакторы с поддержкой DITA архитекту...

Автоматизируем iOS-сборку c помощью Jenkins Всем привет! Меня зовут Иван Чечиков, я QA-инженер в МТС Digital, работаю в проекте WASD.TV. В этой статье я расскажу о своем способе автоматизации iOS-сборки в TestFlight через Jenkins. С помощью такого метода можно настроить автоматизацию как локально, так и на удаленной м...

Как мы индекс в Elasticsearch строили Всем привет! Меня зовут Данил, и мы в Just AI разрабатываем платформу для создания различных чат-ботов. И для того, чтобы максимально упростить этот процесс, а именно процесс написания сценария работы бота, мы имеем свой собственный DSL.С его помощью можно описать поведение ...

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

7 + 1 способ анимировать спиннер Меня зовут Евгений Подивилов, я фронтенд-разработчик в команде «Лайфстайл». Я разрабатываю раздел «Развлечения». В этом разделе можно купить билеты на мероприятия или забронировать столик в ресторане.Многие недолюбливают бесконечные индикаторы загрузки, потому что по ним не ...

Дополнительные временные ряды в ETNA Меня зовут Артем, я разработчик библиотеки ETNA. Мои коллеги уже познакомили вас с ETNA и рассказали, как загружать данные и строить прогнозы. А я расскажу, что такое регрессоры, какие они бывают, чем могут помочь при прогнозировании временных рядов и как с ними работать в н...

Штамповка с помощью 3д печати Здравствуйте. Немного поэкспериментировал с вытяжкой на пластмассовом штампе. Первый раз неправильно спроектировал даже для стального штампа и итог очевиденНачал читать справочники и спроектировал другой штамп с более лёгким переходом. И деталь на этот раз из алюминия взамен...

Впечатления о Golang от разработчика на PHP Привет! Меня зовут Андрей Литвиненко и я имею почти 15-летний опыт разработки на PHP. Уже около трех месяцев я активно пишу на Go и хочу поделиться наблюдениями, которые отметил для себя. Возможно, этот текст будет полезен тем, кто сейчас знаком с PHP и подумывает познакомит...

Состоялся релиз Maximus 2 с кооперативом на 4 человек Экшен Maximus 2 появился на iOS и Андроид. Несмотря на кооператив и мультяшную графику, некоторые остались недовольны из-за технических неполадок. Maximus 2 — мобильный проект на четырёх игроков. Он сделан по всем канонам серии Golden Axe, причём за разблокировку всего конт...

Как разработчикам начать вести Телеграм-канал Меня зовут Александр, я руковожу backend-разработкой в КТS. Мы разрабатываем сложные высоконагруженные сервисы для крупных корпораций и рекламные спецпроекты.У нас есть Телеграм-канал «Программисты делают бизнес». Мы ведем его недавно — первый пост вышел в декабре 2020 года....

Тренды веб-разработки в 2022 простыми словами Самое важное — отказ от поддержки старых браузеров в 2021. Майки окончательно убили IE, поэтому разработчикам станет проще использовать классные технологии. Гриды (83%) и флексбоксы (99%) захватили всё. TypeScript есть в 70% вакансий для мидлов. 2022 будет годом TypeScript.&...

Почему я перешёл с Python на Go: choose your fighter Привет, Хабр! Меня зовут Саша, я бэкенд-разработчик в Ozon. Пишу платформу для контента, который генерят пользователи: отзывов, комментов, вопросов, ответов. Раньше я писал на Python. Выбрал его изначально из-за лёгкого синтаксиса и большого количества вакансий для Python-ра...

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

Готовимся к собеседованию по PHP: Что такое «DI», «Container», «Auto-wiring» за семь простых шагов Статья написана для начинающих разработчиков на языке PHP, чтобы помочь им усвоить понятия, нужные для понимания того, как устроены и работают современные фреймворки на PHP: Dependency Injection, Container, Auto-wiring.Автор надеется, что прочтение статьи поможет вам разобра...

Кастомный корпус ПК из советского радиоприёмника Ленинград-002 Вступление Здравствуйте, друзья айтишники и им сочувствующие! Меня зовут Артем и я работаю разработчиком мобильных приложений  под iOS в компании Orion Innovation. Но сегодня я не буду грузить вас дебрями управления памятью или ребрами ядовитых змей (профессиональный юмор...

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

Визуальный SLAM: делаем HD-карты при помощи смартфона Привет, Хабр! Меня зовут Гращенков Александр, я iOS-разработчик в компании RoadAR. С 2016 года живу и работаю в Иннополисе, занимаюсь компьютерным зрением и интеграцией нейросетей в мобильные платформы.Возможно, вы пользуетесь приложением-видеорегистратором со встроенным рас...

Удаленный доступ к IP камерам. Часть 2. Мобильное приложение В предыдущей статье я рассказывал о простом сервере для работы с камерами видеонаблюдения, но для оперативного просмотра RTSP потоков использовал мобильное приложение VLC, которое меня не вполне устраивало по нескольким причинам. Под катом вы найдете описание и листинги про...

Как добавить обязательный запрос на IDFA через App Tracking Transparency С весны этого года каждый iOS-разработчик должен запрашивать разрешение пользователя на использование рекламного идентификатора IDFA. В предыдущей статье мы сделали подробный обзор изменений в App Store и их влияния на мир iOS-разработки.А сегодня — практический материал. Ра...

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

Что такое ECS и с чем его компилят Привет! Эта статья — первая в блоге MY.GAMES, международного разработчика и издателя видеоигр. Здесь мы объединим наработки и экспертизу всех 14 наших игровых студий. Впрочем, будем рассказывать не только о внутренней кухне экосистемы MY.GAMES, но и о том, чем живет геймдев ...

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

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

Как ManyChat на PHP8 переезжал Привет, меня зовут Максим, я бэкенд-разработчик в ManyChat. Эта статья – о нашем переходе на PHP8. Однажды мы решили немного поисследовать – посмотреть, чего нам будет стоить возможный переход на новую версию, и запланировать эти работы на следующий год, сразу на 8.1. П...

Стабильность develop в Android Всем привет! Меня зовут Костя, я тимлид платформенной мобильной команды в hh.ru. Мы уже рассказывали о практиках, которые помогают нам выпускать еженедельные релизы мобильных приложений: автоматизация тестирования, Release Train, GitHub Flow, Continuous Integration. И нам ст...

Мой опыт с Webpack 5 Module Federation Всем привет. Меня зовут Михаил, я - фронтенд-разработчик в Лиге Цифровой Экономики.В последнее время я пробую себя в должности руководителя направления фронтенд-разработки, однако я хочу с вами поделиться опытом разработки приложения с применением Webpack Module Federation, ...

«Право на забвение» или как просто удалять персональные данные по запросу пользователя Удалять персональные данные пользователя по его запросу, чтобы продукт соответствовал законам CCPA или GDPR, можно по-разному. Хоть вручную каждую заявку на почте разбирать. Главное — сделать процесс максимально простым и понятным для пользователя. А это уже хороший повод за...

Разрядка по тапу: рынок мобильных игр в России достигнет почти 74 млрд Более $90 млрд потратили пользователи смартфонов на мобильные игры в 2021 году, подсчитали в App Anie. Объем российского рынка, по прогнозам отечественных разработчиков и издателей, достигнет 73,8 млрд рублей. Какие перспективы у рынка мобильного гейминга, в чем специфика ро...

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

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

«Руби мистически жив»: как в СберМаркете превращают разработчиков других стеков в рубистов Ruby-разработчиков на рынке почти нет — на одну вакансию на hh приходится по одному резюме. Для других языков это соотношение 1 к 5. Чтобы восполнить нехватку рубистов, в СберМаркете переобучают разработчиков на другом стеке. Меня зовут Александр Бунтов, я руководитель груп...

Простая аутентификация на PHP Многие новички до сих пор попадают в тупик при написании простейшей аутентификации в PHP. На Тостере с завидной регулярностью попадаются вопросы о том, как сравнить сохраненный пароль с паролем полученным из формы логина. Здесь будет краткая статья-туториал на эту тему.Discl...

Стоит ли учить PHP в 2022 году IT-индустрия – динамичная сфера, где новые технологии и решения могут кардинально изменять структуру рынка, что влияет на популярность того или иного стека. Также IT-рынок подвержен субъективному хайпу, когда на какие-то технологии и языки программирования обращают чрез...

One Day Offer для мобильных разработчиков и системных аналитиков Привет!Мы продолжаем проводить One Day Offer, в этот раз на очереди мобильные разработчики и системные аналитики. Предлагаем получить оффер за сутки, без долгого ожидания между интервью. Проведём все этапы собеседования онлайн и в один день на нашем специальном One Day Offer...

Изолируем микросервисы с помощью Feature toggles в ASP.NET Core. Практика Снова привет, Хабр! В первой части статьи мы разбирали, что такое изоляция микросервисов, как в этом помогают переключатели функциональности, и как создать простое ASP.NET приложение в с поддержкой feature toggles, которое будет показывать прогноз погоды. В этой части з...

Как мы сделали фильтр «бабушкин ремонт» Найти и выбрать квартиру в современном мире — что может быть проще? Берёшь смартфон, скачиваешь приложение и находишь подходящий вариант. Так же просто разместить объявление о продаже или аренде недвижимости. Пользователи смотрят десятки квартир в поисках подходящей — качест...

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

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

Создание Single Page Application на Marko.js — ZSPA Boilerplate В данной статье вы познакомитесь с Marko.js актуальной на данный момент пятой версии. Пару лет назад на Хабре уже была отличная статья (за авторством apapacy) о том, как работает этот замечательный реактивный фреймворк, разработанный где-то в недрах eBay.В своем комментарии ...

[Перевод] Как у нас в Slack проектируются API Более пяти лет назад мы запустили платформу Slack, предоставив разработчикам легкий способ создавать приложения в Slack и публиковать их в нашей App Directory. Сегодня миллионы пользователей переносят свою работу в Slack, и их приложения, создаваемые более чем 885 000 а...

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

Как мы сделали хакатоны great again Привет, Хабр! Меня зовут Леонид Тощев и я отвечаю за направление разработки в команде контента Учи.ру. С 2020 года мы регулярно проводим внутренние хакатоны и очень довольны результатами. И для нас это реально работающие штуки, где мы тестируем новые идеи и технологии. Вот к...

Автоматическая генерация протоколов совещаний Привет! Меня зовут Максим Бондарев, я работаю младшим разработчиком в компании Digital Design и заканчиваю обучение на математико-механическом факультете СПбГУ. В рамках своей исследовательской работы я занимался решением задачи по автоматической генерации протоколов совещан...

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

Интервью с iOS-разработчиком Мой путь в ИТ почти 20 лет, начинал с SQL/1С/эникейщика, потом немного .net, немного Java, ГИС, потом несколько лет менеджерская история в разработке, которую я прервал в 2016 году. До этого времени мой путь был скорее хаотичным и не спланированным. Далее я осознанно начал п...

Ментор в беде не бросит: как онбордить новичка, чтобы он тестил в свое удовольствие Всем привет. Меня зовут Ильмир, я QA Manual Engineer в inDriver. В статье расскажу о своем опыте менторства. Я занимаюсь этим уже больше 2 лет и хочу поговорить про этапы, которые могу выделить как основные. В статье будут затронуты не проблемы методик и инструментов дл...

[Перевод] Исследователи выяснили, откуда у Тутанхамона взялся кинжал из метеорита и как его сделали Среди предметов, извлеченных из гробницы Тутанхамона, есть кинжал из железа – материала, который редко использовался во времена 18-й династии Египта. Это железо, вероятно, получили из метеорита. Как же был выкован этот железный кинжал и каким образом он попал к Тутанхам...

Сжатые атласы в Unity Runtime Привет, меня зовут Юрий Грачев, я программист из студии Whalekit — автора зомби-шутера Left to Survive и мобильного PvP-шутера Warface: Global Operations. Кстати, именно о его технологиях мы и поговорим подробнее далее.Речь пойдет про получение сжатых атласов в рантайме. Для...

ElasticSearch — как мы делали свою речевую аналитику Привет! Меня зовут Аркадий. Последние пару лет я в основном занимаюсь развитием поиска по тексту в команде TQM (Tinkoff Quality Management) в банке Тинькофф. Наш продукт — это речевая аналитика по звонкам, чатам и другим активностям, контроль качества, анализ и прочее. Более...

Flink для самых маленьких Привет! Меня зовут Юля, я работаю в дирекции больших данных Билайн, недавно я познакомилась с фреймворком Flink и хочу рассказать о своих впечатлениях на примере простой с первого взгляда задачи.Итак, что же такое Flink? Apache Flink – это фреймворк и движок для statefu...

Как сделать ваши GitLab CI пайплайны быстрее Привет, меня зовут Владимир. Я работаю в компании GitLab Архитектором Решений и время от времени я отвечаю на вопросы, которые, как мне кажется, могли бы быть интересны широкому сообществу. Сегодня я поделюсь рекомендациями о несколько способах ускорения выполнения CI/CD зад...

[Перевод] Нужна система с низкими задержками? Выбираем Java вместо C++ Все разработчики знают, что есть два способа сделать дело: первый — вручную, медленно, нервно, сложно, либо второй – автоматизировано, быстро и еще сложнее. Например, я мог бы продолжить писать эту статью о том, почему стоит использовать Java вместо C++ при программировании ...

Как мы создавали Data Management Platform: архитектура, проблемы, выводы Для таргетинга мы в Ozon используем сегменты, в которые группируем пользователей по интересам. Интересы могут быть определены через систему трекинга событий. Последние в свою очередь формируются в процессе взаимодействия пользователя с маркетплейсом Ozon. На основе сегментов...

Angular Libs как монорепозиторий: начало, настройка, работа с assets Всем привет! Меня зовут Илья и я хочу рассказать вам как можно подробнее про Angular Libs. В частности, то, как можно использовать его в качестве монорепозитория для сборки нескольких приложений с tree-shaking и переиспользуемостью различных модулей в разных библиотеках и ча...

Как устроено карьерное развитие разработчиков в Альфа-Банке Всем привет. Меня зовут Иван, я руководитель направления “Единый фронт”, сегодня мы с вами поговорим про то, как можно развиваться в Альфа-Банке. Не только профессионально, но и карьерно, про то, какие вообще есть пути и возможности для разработчиков в Альфа-Банке.Я – бывший...

Просто о сложном — move в языке C++ Здравствуйте уважаемые читатели. Данная публикация адресована начинающим разработчикам С++ которые только становятся на путь высокой производительности и "отстрелянных конечностей". Опытные разработчики найдут здесь скорее повторение тех вещей, которые сами мучительно осваив...

Как мы с друзьями собрали сервис для построения маршрутов для походов и велопутешествий ActiveTrip.me Всем привет! Меня зовут Александр, я разработчик ActiveTrip.me — cервиса для построения маршрутов для пеших, велосипедных, водных походов и путешествий, а также для хранения и группировки интересных мест в виде меток. О том, почему мы начали делать такой сервис, расскажем по...

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

Ускоряем прохождение iOS UI-тестов. Часть 1. Запускаем тесты без сборки проекта Хабр, привет!Меня зовут Борис. Я Mobile QA lead в Vivid Money.Это вступительная статья в цикле статей по iOS-автоматизации, в которых я расскажу о том, как ускорить прохождение UI-тестов.Данная статья будет полезна iOS-автоматизаторам с опытом, либо разработчикам.В рамках эт...

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

Как проходит интервью мобильных разработчиков в Тинькофф Привет! Я Максим Коробов, руководитель отдела разработки мобильного приложения Тинькофф. В статье расскажу о том, как проходит отбор кандидатов на вакансии разработчиков iOS и Android, что спрашивают на первичном и техническом интервью и какие задачи предлагают решать во вре...

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

Почему работе с продуктом нельзя научиться на курсах? И как тогда быть студенту без опыта? Всем, привет! Меня зовут Денис, мне 20 и я год работаю в IT стартапе. Поступая в институт я уже примерно понимал, чем хочу заниматься. Работа с продуктом выглядела крайне заманчиво. Баллы егэ были не самые высокие, чтобы идти в вышку, а больше для учебы ничего интересного не...

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

Как мы меняем Anti-spoofing модель с вендорских решений на собственные Привет! Меня зовут Ренат Алимбеков, я занимаюсь задачами, связанными с Computer Vision в Beeline Казахстан. Сейчас моя работа направлена на Anti-spoofing. Моя основная задача сейчас — заменить вендорские решения в продуктах Beeline Казахстан на собственные. В этой стать...

Как не выйти в Window при работе с Window? Многие разработчики разбиваются о жизненные циклы onResume, onActivity, onCreate, которые связаны с отображением UI внутри приложения, будь то Activity или фрагмент. Некоторые методы работы со стремительно развивающимся андроидом приходится искать интуитивно, потому что офиц...

Знакомьтесь: ETNA Меня зовут Юля, я разработчик команды ETNA. Расскажу о том, как мы запустили открытый инструмент для аналитики и прогнозирования бизнес-процессов, как он устроен и как его использовать. В Тинькофф мы часто решаем задачи по прогнозированию: хотим знать количество звонков...

Java: есть ли жизнь на десктопе? Привет! Я Виктор Барсуков, Java-разработчик в Lamoda. В этой статье хочу рассказать о своем опыте разработки десктопного Java-приложения в рамках пет-проджекта. Что из этого получилось и что можно было бы сделать иначе. Читать далее

Лучшие приложения для занятий фитнесом дома: вердикт Роскачества Эксперты Роскачества исследовали самые популярные мобильные приложения для для занятия фитнесом дома и составили рейтинги лучших из них.  Рейтинги приложений для спорта для Android и iOS получились в итоге практически одинаковыми. Как отмечают эксперты, все вошедш...

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

JNI Часть 2: Примеры Всем привет! Меня зовут Роман Аймалетдинов, я разрабатываю клиентское приложение Ситимобил. Продолжаю свою серию статей по JNI, так как технология используется редко, но иногда она бывает очень полезной (или просто интересной). В этот раз я покажу примеры решений на JNI, кот...

Прячем секреты в репозитории с помощью helm-secrets, sops, vault и envsubst Привет, Хабр! Меня зовут Евгений Симигин, я занимаюсь внедрением DevOps-практик в Центре компетенций по разработке облачных и интернет-решений МТС Digital. А еще я – куратор практикумов docker и kubernetes на платформе rebrainme.com. Практика показывает, что далеко не все ...

Gatling. Тестирование JDBC Привет! Меня зовут Александра, я работаю в отделе тестирования производительности Тинькофф. Этот текст — часть цикла статей, посвященных тестированию производительности с помощью инструмента Gatling. В предыдущей статье мы с командой рассказали о работе Gatling с HTTP. Еще м...

[Перевод] Вёрстка в 2022. Часть 1: Теория "Разработчик – это человек, который переводит мысли заказчика на язык машины" @mikita_duИдея статьи появилась год назад, думал назвать «Вёрстка в 2021», но как-то затянулось… Весной 2021 года Microsoft объявила, что с 15 июня 2022 года прекращается поддержка IE11 (да, не для...

[Перевод] Находим более качественные решения при помощи boost Каждый C++-разработчик хотя бы слышал о Boost – это, пожалуй, наиболее распространенный набор внешних библиотек, используемый в мире C++. Истоки большинства стандартных библиотек восходят к Boost, поскольку многие разработчики Boost также входят в состав комит...

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

Behave test recorder. Запись сценариев автотестов Привет! Меня зовут Степан Лущий, я – тимлид команды тестирования компании «БАРС Груп». Мы занимаемся созданием автоматизированных тестов (автотест), инструментов для их написания, а также развитием инфраструктуры автотестирования. В этой статье я расскажу, как мы разработали...

СheckKarlMarx: утилита для поиска уязвимостей в продовых сборках Всем привет! Меня зовут Дмитрий Терёшин, в СберМаркете я занимаюсь Application Security — безопасностью веб- и мобильных приложений.Во время аудитов мобильных приложений я часто натыкался на плавающие уязвимости: они появляются только в конечной сборке, которая отправляется ...

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

Как за час построить CI/CD для высоконагруженного проекта в облаке SberCloud.Advanced Привет, Хабр! Меня зовут Кирилл Шеховцов, и я технический лидер в SberCloud. Сегодня расскажу, как быстро интегрировать пайплайн Continuous Integration/Continuous Delivery (CI/CD) и продуктовый подход к проектированию приложений в облаке SberCloud.Advanced. Эта обзорная стат...

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

[Перевод] От песочных часов к пирамиде: как усовершенствовать структуру тестов Меня зовут Владислав Романенко, я Senior iOS QA Engineer в Badoo и Bumble. Мы регулярно внедряем новые фичи в приложения, и автоматизация тестирования — один из способов не пропустить баги. Фактически автотесты входят в жизненный цикл всех частей наших приложений: бэкенда, с...

JNI Часть 1: Введение Всем привет! Меня зовут Роман Аймалетдинов и я разрабатываю клиентское приложение Ситимобил. Решил написать небольшую серию из трех статей по JNI, так как технология используется редко, но иногда она бывает очень полезной. Несмотря на то, что я разрабатываю классические прил...

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

SDK чата и Kotlin Multiplatform Привет, меня зовут Сергей, я Android Lead в компании Broniboy —  сервисе мультидоставки, который работает не только с ресторанами, но и с магазинами, аптеками и обычными людьми. Учитывая уровень конкуренции на этом рынке, каждый клиент на счету. Достаточно одной ошибки,...

Performance review как инструмент для оценки результатов работы и развития сотрудников Меня зовут Артём Сусеков, я менеджер разработки в Miro. Расскажу, как мы пришли к справедливой оплате и прозрачному обсуждению эффективности сотрудников команд продуктовой разработки.Статья будет полезна, если вы задаётесь вопросами: •Как оценить вклад каждого сотрудник...

Clickhouse & Grafana: история успеха одних алертов Меня зовут Елизавета Добрянская и я Frontend-разработчица в компании Домклик. В этой статье я хочу рассказать, как мы танцевали с бубном при настройке алертов на клиентские метрики. Как, зачем и с чем мы столкнулись в этой задаче - читайте далее

[Перевод] Табличные тесты в Go с использованием Gomock Чтобы эффективнее тестировать работу программы, можно использовать табличные юнит-тесты. В этой статье пошагово рассказываем, как писать такие тесты с помощью фреймворка Gomock.Этот текст написал Golang-разработчик Арек Ностер. С разрешения автора мы перевели статью. Читать ...

Как напечатать float Казалось бы, совершенно непонятно, зачем живым людям в 2021 году решать задачу под названием «печатаем обычное вещественное число». Вроде бы это должно быть уже решено — причём примерно в тот момент, когда эти вещественные числа изобрели. Но оказывается, что нет. Привет...

3Д- Моделирование с нуля с помощью DesignSpark Mechanical на русском языке Меня зовут Дмитрий, мне 61 год и я проживаю в Германии. Имею нескольо специальностей, связанных с обработкой, опыт работы на современных машинах с ЧПУ, а так же квалификацию, связанную с CAD.  Autodesk Inventor, Autodesk Fusion 360, Sketchup, а так же FreeCAD- это те програм...

Неполное руководство по DevOps Привет! Меня зовут Кирилл Цветков. Я DevOps, инженер, линуксовый админ – именно через запятую и никак иначе. В этой статье я попробую последовательно рассказать вам что такое DevOps, и примирить два конфликтующих стереотипа, которые это слово окружают. Читать далее

Функция Reactive во Vue: как это работает После jQuery я попробовал AngularJS и был очарован его возможностями. Несколько строк в AngularJS заменяли кучу спегетти-кода в jQuery. Это было похоже на магию. Сейчас все современные Frontend-фреймворки так или иначе обеспечивают реактивность, и это уже никого не удивляет....

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

Ragnarok Labyrinth NFT позволяет заработать, бегая в лабиринтах Издатель Gravity запустил первую мобильную игру по вселенной Ragnarok с возможностью зарабатывать и продавать NFT. Пока релиз в Юго-Восточной Азии. Ragnarok Labyrinth NFT— мобильный проект, он доступен на iOS и Андроид в ряде стран, среди которых Филиппины. В нём геймплей п...

Из грузчика в QA без регистрации и смс Привет, меня зовут Павел Купцов, я —  QA в Петровиче. До QA я добирался несколько лет окольными путями: через техникум, работу грузчиком и «эникейщиком», упорное обучение, когда курсы нужно было искать, а не они находили тебя, через отчаяние и уныние. Но в итоге я добил...

Грамотное составление и продвижение вашего резюме Для многих процесс составления резюме муторный и затягивается. Казалось бы, состряпать 1 – 2 листа своей карьеры (если есть что туда вписать) – лёгкое дело. Но это, зачастую, заблуждение. Данная статья-гайд будет универсальной и больше направлена на не ИТ-специалистов. Я...

Linux-way. Куда развивается самый… Хакеры под Linux — забавные люди. Они измеряют время версиями патчей.— Rob Riggs, в .sigЯ из тех самых престарелых "геймеров" в командную строку и конфиг-файлы, который предпочтёт чтение полезных статей пустому срачу в комментариях. Поклонник Gentoo, поэтому испугать меня сб...

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

Собираем генератор данных на Blender. Часть 1: Объекты Привет, Хабр! Меня зовут Глеб. Я работаю в компании Friflex над проектами по оцифровке спорта. Работая над idChess (приложением для распознавания и аналитики шахматных партий), мы расширяем наш датасет синтетическими данными. В качестве движка используем Blender. В этой ста...

Язык программирования Ficus для вычислений и не только Здравствуйте, уважаемые хабровчане. Меня зовут Вадим Писаревский, я являлся лидером OpenCV (Open Source Computer Vision Library) на протяжении примерно 20 лет, и продолжаю участие в этом замечательном проекте. В этой статье я рад представить вашему вниманию результат другого...

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

[Перевод] Необычная Java: StackTrace Extends Throwable Прочтите эту статью и узнайте о необычных вещах в Java, которые могут оказаться на удивление полезными.Есть вещи, которые вы можете делать в Java, но вы их редко видите. В основном потому, что в них нет смысла. Однако в Java есть несколько необычных вещей, которые могут...

Smoothieware калибровка дельты - краткий обзор некоторых команд калибровки Добрый день! писал данный опус больше для себя как дневничок, но появился вопрос по прошивкам Biqu Magician, я неосторожно присоветовал накатить стандартные прошивки в обе платы (главную и плату экрана, как делал это сам): https://github.com/Smoothieware/Smoothieware и https...

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

Почему видеографы выбирают Андроид? Привет, камрады, киноделы и просто читатели!Некоторые из вас меня знают как разработчика Андроид-приложения mcpro24fps, предназначенного для видеосъёмки на телефон.Внезапные 100K прочтений моей первой статьи о недостатках телефонов Андроид побудили меня написать эту статью-р...

И снова про App Transport Security: что это и зачем Привет, Хабр! Меня зовут Юрий Шабалин, и, как я пишу в начале каждой своей статьи, мы разрабатываем платформу анализа защищенности мобильных приложений iOS и Android. В этой статье мне бы хотелось затронуть тему безопасной конфигурации сетевого взаимодействия, а также немног...

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

Разработчиков топ-100 пакетов npm обязали использовать 2ФА Из-за участившихся атак на цепочку поставок и взломов администраторы Node Package Manager (npm) приняли решение обязать владельцев ста наиболее популярных (по количеству зависимостей) библиотек использовать двухфакторную аутентификацию.

Как правильно верстать в 2022 году. Часть 1 Меня зовут Николай, я Frontend-разработчик IT-компании Relog. Хочу рассказать о самых распространённых ошибках в вёрстке современных проектов.Дело в том, что лишь малая часть современных фронтендеров обращает внимание на работу с HTML и CSS, предпочитая готовые решения, врод...

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

Kubernetes и другие оркестраторы Привет! Меня зовут Леонид, я DevOps-инженер в компании KTS. В этой статье я рассмотрю различные оркестраторы и объясню, почему Kubernetes — лучший выбор.Нашей компании уже 6 лет, и 4 из них мы живем с Kubernetes. До этого мы испытали все варианты деплоя приложений на се...

Как мы четыре года организовываем работу на удаленке с помощью Discord Тренд 2020 года продолжает расти. Все больше компаний дают возможность работать сотрудникам в гибридном формате или полностью из дома.Я расскажу, как мы организовали удаленную работу в Discord.Меня зовут Илья, я CTO компании 2people IT и один из её основателей. Основная наша...

[Перевод] Рисуем красивые трейсбеки, перехватывая исключения в Python Все мы тратим немало времени на отладку, копаясь в логах или читая трейсбеки (traceback, отчёты о трассировке стека). Любое из этих дел может оказаться сложным и длительным. Этот материал посвящён тому, как сделать трассировку стека и работу с исключениями как можно более пр...

Сто раз сломай, один раз поправь или как мы улучшали тестирование отказоустойчивости и восстановления API Привет, хабровчане!Меня зовут Нурыев Асхат, я ведущий инженер по автоматизации в DINS. За время работы в компании я участвовал в решении множества сложных задач. В этой статье я поделюсь историей улучшения процесса и автоматизации тестирования высокой доступности и восстанов...

Что нужно клиентам Прочтя на хабре очередную статью о том, как мы и так, и эдак удовлетворяли заказчиков, прокомментировала. Я написала "дайте клиентам уверенность и спокойствие" (цит. по памяти). Просто отстаньте от нас, клиентов. От нас, лояльных. Делайте то, что у вас уже покупают. Стабильн...

Как выстроить систему планирования в жизни для достижения цели Всем привет! Меня зовут Владимир Тутынин, я методолог продуктового подхода и сегодня расскажу о своем методе планирования. Вы увидите, какие шаги я выполняю и какими инструментами пользуюсь для достижения результата.Нам понадобятся две программы:1.    &nb...

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

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

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

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

[Перевод] Как разозлить разработчика? Это перевод. Автор текста: Ведущий разработчик и менеджер проектов Никлас Миллард.Спойлер: разозлить разработчика очень просто. Точнее, разработчика может взбесить буквально все. И чем более "религиозны" взгляды разработчика в отношении определенных сущностей и событий, тем ...

Как в декабре я устроился в $βΣ₱*, а в марте меня уволили одним днем Привет, Хабр. Сегодня хочу рассказать свою очень свежую и актуальную историю о том, как в конце декабря устроился на работу в одну известную российскую компанию (в направление создания гаджетов), проработал там с искренним удовлетворением и почти без отрицательных сторон 2 м...

JNI, часть 3: производительность Java/JNI/NDK Всем привет! Меня зовут Роман Аймалетдинов, я разрабатываю клиентское приложение Ситимобил. Продолжаю свою серию статей по JNI, так как технология используется редко, но иногда она бывает очень полезной (или просто интересной). В этот раз я покажу замеры производительности, ...

Том, Дик и Гарри. Что значат именные идиомы в английском и как их использовать Что общего у Джека, Тома и Боба? Верно, это самые популярные английские имена. Если вы работаете в международной компании, вы наверняка встречали хотя бы одного Боба или Джека среди коллег и клиентов. Эти имена настолько широко распространены в англоязычных странах, что давн...

Как сегодня делают игры в браузере? Часть 1 Игра в браузере на React и Three.js!Я занимаюсь фронтендом уже очень давно, порядка 10 лет. И как любой уважающий себя фронтендер, я люблю тащить javascript туда, где обычно его не используют: на сервер, в мобильные приложения, в геймдев. С тех пор как я увидел первые WebGL ...

Почему важно тестить на устройствах, которыми пользуются ваши пользователи, а также немного об Emoji Почему важно тестить на устройствах, которыми пользуются ваши пользователи, а также немного об Emoji Привет Хабр! Друзья зовут меня Данил, я web-разработчик в МегаФоне и работаю над системой обработки обращений наших пользователей. А их у нас огромное количество, и я каждый ...

Первые шаги с werf: собираем и деплоим простое приложение в Kubernetes В этой статье мы рассмотрим, как с помощью Open Source-утилиты werf собрать Docker-образ простого приложения и развернуть его в кластере Kubernetes, а также с легкостью накатывать изменения в его коде и инфраструктуре.Мы поговорим об общих принципах работы с werf при использ...

Как настроить «Планфикс» с нуля и почему именно он Статья будет интересна бизнес-аналитикам, project-менеджерам, тимлидам, CEO начинающих студий по разработке и всем причастным и интересующимся. Hola, Amigos!Меня зовут Артем, и я TeamLead компании Amiga. Сегодня расскажу, как мы настроили процессы взаимодействия с коман...

Хранители данных: как устроена работа с DWH в Lamoda Всем привет! Меня зовут Юлия Скогорева, я системный аналитик в команде Center of excellence в Lamoda, которая входит в дирекцию данных и аналитики.Если бизнесу нужны какие-то данные для принятия важных решений, то на помощь приходит наша команда. Мы тщательно изучаем множест...

Как протащить верблюда сквозь игольное ушко, или обновление компилятора С++ на проекте старше 10 лет Привет! Меня зовут Колосов Денис, я являюсь разработчиком клиентской части проекта «Allods Online» в студии IT Territory. Сегодня я расскажу о том, как мы решились обновить среду разработки и заодно компилятор на нашем проекте с Visual C++ 2010 на 2019. О чем пойдет реч...

Как я перестал беспокоиться и полюбил тестирование React-компонентов Как тестировать React-компоненты? Какую библиотеку использовать? Как тестировать компоненты, которые берут данные из Redux, а не из пропсов? Как тестировать компоненты, в которых используется роутинг с помощью React-router-dom? Что делать, если в компоненте есть асинхронный ...

Xiaomi добилась своего. MIUI 13 стала самой плавной мобильной оболочкой Разработчики бенчмарка Master Lu опубликовали очередную версию рейтинга самых плавных мобильных интерфейсов. Она охватывает тесты, проведенные за три месяца этого года. Как видно, рейтинг возглавила MIUI 13. Несмотря на то, что многие разочаровались отсутствием большого...

Боты, работа с логами и обзоры инструментов: что было интересного про Serverless за год Привет, Хабр! Меня зовут Антон Черноусов, я куратор хаба Serverless. В этом посте я расскажу, что интересного тут было про бессерверные технологии за год. Разложил их по нескольким группам и выстроил от теории к практике: сначала посты про саму технологию, затем про старт ра...

Как мы в Домклике делаем виджеты на React Всем привет! Меня зовут Игорь Савин, я frontend-разработчик в компании Домклик. На текущий момент у нас около 150 различных команд разработки, из которых большая часть связана с разработкой какого-либо фронтенда на HTML, CSS и Javascript. Но когда так много команд, непременн...

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

Scrum приводит к потерям. Как с этим справляться Я начала кодить в 12 лет: 2000 год, Turbo Pascal 7.0, привет! Образование у меня тоже техническое, судя по диплому, я должна была стать программисткой. Нравилось ли мне это? НЕТ!Но IT-сфера – однозначно моё. Поэтому в 2013 году я нашла себя в роли менеджера IT-проектов. Лето...

Игры с Mongo, или как мы избежали проблем благодаря смекалке и реверс-инжинирингу Одним из трендов при проектировании сервисов в последнее время выступает использование в качестве баз данных NoSQL-систем. Мы также стараемся идти в ногу со временем и, конечно же, имеем в своем IT-ландшафте несколько таких решений. Одно из них — шардированный кластер MongoD...

Правки на мёрдже: зачем редактору GitLab Всем привет! Меня зовут Наталья Которева, я редактор в Яндекс.Практикуме. В этой статье я расскажу, как мы создали обучающий курс в GitLab. Да-да, вместо текстовых документов.Вообще сложно представить, как можно подружить git и редактуру, а главное, зачем. Есть же много пров...

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

Осторожно, мошенники: на российских пользователях PlayStation Store наживаются злоумышленники Специалисты Group-IB рассказали о новых мошеннических схемах, связанные с пополнением счета в магазине PlayStation Store и продажей игровой валюты в популярной мобильной игре Brawl Stars.  Всего эксперты выявили около 250 мошеннических сайтов, прикрывающихся извес...

Как уйти с государственной службы и остаться в живых "И как же ты это представляешь? А кто будет за тебя работать? Ты же предаёшь семью" - это первые слова моего руководителя на фразу о возможном уходе.Здравствуйте, меня зовут Михаил, и я бюджетник. Программист, который смог вырасти от простого джуна-программиста до начальника...

Идеальный кандидат: миф или реальность? Привет, Хабр! Меня зовут Арина Кретова, я IT-рекрутер в Lamoda. Время от времени у наших кандидатов возникает вопрос — кто для нас идеальный кандидат и как им стать? Думаю, пришло время поговорить на эту тему и расставить все точки над i. В статье я расскажу о качествах...

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

Из-за ошибки в коде пользователи голландского аукциона NFT-проекта AkuDreams лишились 11 539 ETH Из-за ошибки программистов AkuDreams голландский аукцион NFT-проекта завершился потерей средств пользователей. Свыше 11 539 ETH (~$33,93 млн) оказались навсегда заблокированы в смарт-контракте. «$34 млн, или 11 539 ETH, навсегда заблокированы в смар...

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

[Перевод] RecyclerView Adapter in Android, сделай быстрее и проще Здравствуйте дорогие хабрчане. Это статья основана на статье https://blog.iamsuleiman.com/recyclerview-adapter-android-made-fast-easy/#clicklistener написанной в 2017 году на Java. А статью которую вы читаете, уже на Kotlin.Каждый раз, когда мы думаем о создании RecyclerVi...

Модуль ACME-клиента для Tarantool Ссылка на GitHub. Подробнее о работе алгоритма и модуля можно посмотреть здесь.Клиент ACME-протокола используется для автоматического получения сертификата безопасности для вашего сайта. Для бесплатного получения сертификата и автоматического его продления в основном все исп...

«Я больше не могу»: 5 причин эмоционального выгорания программиста и что с этим делать  Андрей Н. начал кодить 8 лет назад, и готов был работать сутками напролет, набирая «шабашки» на выходные, а в свободное от работы время изучая новые фреймворки. Работа приносила удовольствие, он наконец-то нашел себя! Спустя 8 лет Андрей с трудом заставляет с...

React Drag & Drop: «Игра в бутылки» Меня зовут Сергей, я фронтенд-разработчик отдела спецпроектов KTS. Наш отдел занимается разработкой веб-приложений для промокампаний. Помните, как в 1-й книге о Гарри Поттере Гермиона разгадывала логическую загадку с бутылочаками волшебных зелий? Сегодня расскажу, ...

Работа с картами. GMAP C# На написание данной статьи меня подтолкнуло не столь большое наличие текстовой информации по работе с GMap на просторах интернета, как хотелось бы.Стояла задача визуализировать на карте положение объектов по известным координатам для дальнейшего анализа и выявления каких-либ...

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

Руководство GNU troff Здравствуй, Хабр!Первая часть перевода документации troff в библиотеке Coolib. Сегодня этот замечательный текстовой процессор, старший брат LaTeX, редко упоминается на компьютерных форумах, однако история troff очень и очень достойная. Кроме всего прочего, troff компакт...

Разработчики MIUI пользуются iPhone. Официальный комментарий Xiaomi Компания Xiaomi ответила на сообщения о том, что сотрудники Xiaomi используют iPhone, особенно члены команды разработчиков фирменной оболочки MIUI. До этого появились сведения о том, что сами сотрудники MIUI не любят использовать смартфоны с MIUI, потому что в ней очень...

CoroOS: концепт операционной системы для микроконтролеров на корутинах С++20 Здравствуйте! Меня зовут Александр, и я работаю программистом микроконтроллеров.Наверное, любой разработчик встраиваемых систем время от времени подумывает написать свою собственную ось. Такую, чтобы другим неповадно было!И ваш автор не исключение. Как по мне - дело не то чт...

Надгробья современного геймдева. Избыточная безопасность "Сесюрности мало не бывает!" (с) Джейсон СтетсонЧем больше мер безопасности, тем реже у пользователей что-то пропадает, тем меньше техподдержка тратит время на рутину, тем спокойнее проходят внутриигровые события, тем надёжнее блокировки учётных записей...К сожалению, "разра...

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

В компании «Юнидата» создан отдел стандартизации НСИ Благодаря созданию нового отдела компания «Юнидата», успешно реализующая многочисленные проекты в области НСИ, еще больше усилила свои возможности и компетенции в этом направлении. Компания «Юнидата» сформировала новое структурное подразделение — отдел стандартизации НСИ....

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

Тестирование СУБД: 10 лет опыта Меня зовут Сергей Бронников, я работаю в команде Tarantool. Когда я присоединился к ней, то не нашёл общего описания того, как устроено тестирование в проекте. Поэтому я вёл для себя заметки по мере погружения в разработку. Я решил переработать их в статью. Она может быть ин...

Что у ECS под капотом Всем привет, это моя первая статья на Хабр. Давно хотел попробовать что-то написать, но всё никак не решался, да и темы подходящей не было. Наконец тема подвернулась, и пришло время закрыть этот гештальт =)В данной статье я опишу общий принцип "подкапотной" работы ECS фреймв...

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

Как создать образ диска в Linux с несколькими разделами, не имея физического образца Здравствуй дорогой читатель данного руководства. Меня зовут Андрей, и нет, я не алкоголик, а разработчик встраиваемых систем на базе Linux.Данная статья является кратким руководством по созданию образа диска с несколькими разделами, куда можно было бы записать всякую всячину...

[Перевод] Когда босс — алгоритм, который заставляет работать с полшестого утра Курьеры сделали самоизоляцию возможной, и это не преувеличение. Как в России, так и за рубежом благодаря им народ смог пережить самые жесткие ограничения во время пандемии. Но обычные люди даже не догадываются, что работа курьера куда сложнее, чем кажется на первый взгляд.&n...

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

Эволюция CI в Android “Твою ж мать, какая же это хтонь!”. Примерно так можно было охарактеризовать все наши инфраструктурные скрипты до недавнего времени. Нужно было что-то менять, и мы сделали это. Меня зовут Павел Стрельченко, я – Android-разработчик компании hh. Я расскажу вам как эволюци...

Fuckup’ы на работе. Как с ними жить, бороться, не допускать и предупреждать Всем привет. Меня зовут Александр Наумов, и последние 5 лет я занимаюсь тестированием сайта Утконос ОНЛАЙН — руковожу группой QA.Идея написать эту статью пришла ко мне пару месяцев назад. Я возвращался с работы домой, когда мне позвонил коллега: «Привет, тут хотят катить одн...

Почему типы так много значат для программистов? Адаптация статьи What do types mean for programmers? (Ville Tirronen) Типы – одно из основополагающих понятий для программистов. Типы также могут быть одним из наиболее запутанных и многогранных явлений в нашей сфере. И они же являются бесконечным источником споров в интерне...

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

Интеграция amoCRM с сайтом API AmoCRM одна из самых популярных CRM, при этом ее API один из самых странных, по моему субъективному мнению. Понадобилось передавать формы с сайта в crm. Использовать CRM Формы вместо своих дизайнерских не хочется. Было бы здорово открыть статейку в гугле, подставить ключ и н...

Как я делаю дрон из Raspberry Pi и ESP32 (или мои первые шаги в робототехнике) Всем привет, меня зовут Антон, и как вы могли уже догадаться из названия, решил я рассказать о своих попытках вкатиться в робототехнику, а в частности о своем дроне из Raspberry Pi и ESP32. Читать далее

React Hooks простыми словами О хуках в фронтенд-разработке на Хабре писали уже не раз, и в этой статье мы не сделаем великого открытия. Наша цель другая – рассказать про React Hooks настолько подробно и просто без трудной терминологии, насколько это возможно. Чтобы после прочтения статьи каждый понял пр...

Как я стал программистом, потом тимлидом и сейчас ращу тимлидов Всем привет, меня зовут Дима, и последние 9 лет я работаю в компании Veeam. Начав простым C# разработчиком, я вырос в тимлида маленькой, но дружной команды из семи человек. Как так получилось, а также о том, что начинается там, где заканчиваются статьи с историями успеха – о...

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

5 советов разработчикам по поиску работы от HR-экспертов Для IT-отрасли смена работы через 1,5–2 года — это норма. И каждый раз перед разработчиком встаёт задача, как найти новый проект с комфортными условиями. Пообщались с HR-экспертами и собрали 5 советов для выигрыша конкуренции у других кандидатов. Читать далее

Новая документация Docsvision ч. 2 — Antora Привет всем читающим! Меня зовут Владимир, я - технический писатель в компании Docsvision и я здесь, чтобы опубликовать вторую часть статьи и надрать задницу всем, кто ставил дизлайки к первой части. Статью вы можете найти ниже.В первой статье я рассказал, как мы выбирали SS...

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

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

Конкурентный анализ приложений из App Store на основе открытых данных В этой статье я покажу, как можно без программирования парсить, анализировать и визуализировать данные из RSS- и Atom-лент на примере загрузки и парсинга фида Apple iTunes, а также проведения последующего конкурентного анализа приложений. Представим, что мы собираемся публик...

[Перевод] Многомодульность в Android и Dagger: пошаговый пример Наше мобильное направление продолжает делиться собственным опытом, а также переводить те статьи, которые могут сослужить разработчику хорошую службу. Эту статью по Android, написанную в 2020 году, мы выбрали, изучая вопросы оптимизации внедрения зависимостей на проекте, и пе...

Альтернатива MapReduce при поиске в распределенной БД Привет, меня зовут Сатбек, я работаю в команде Tarantool. Расскажу, как реализовать в шардированном кластере поиск, скорость которого не зависит от количества мастеров и объёма хранимых данных. Условно назову этот способ индексным слоем:- Опишу общую схему построения по...

Анонимизация базы данных или как быть уверенным, что ты не нарушаешь закон “О персональных данных” В настоящее время практически все ИТ-продукты работают с персональной информацией пользователя: ФИО, телефон, e-mail, паспортные и другие идентифицирующие данные. Для  обеспечения защиты прав и свобод, человека и гражданина при обработке его персональных данных в Россий...

Автоконфигурируемость ETL: как мы сделали ETL устойчивым к постоянным изменениям в структуре входных данных Типичный диалог на планировании:Лид:  — Пользователи просят репликацию вот этих колонок в этих таблицах из продакшен базы в data lake.Разработчик: — Когда?Лид:  — Вчера.Запрос в таску, таску в спринт, а дальше вручную исследование входных данных, под...

Code Review. 80 lvl Любой программный продукт, будь то веб-сайт или мобильное приложение, основан на коде. Чем согласованнее и целостнее эта база, тем удобнее с ней будет работать, например, при необходимости доработки проекта, передачи на сопровождение другой команде.Основными критериями качес...

Что такое и зачем нужны шаблонизаторы HTML Есть много способов сэкономить время и упростить жизнь разработчика. Но они кажутся такими сложными и непонятными, что знакомство с ними постоянно откладывается. И зря: сегодня мы расскажем, как автоматизировать работу, используя вспомогательные инструменты.Шаблонизаторы для...

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

Модуляризация DI в проекте с UDF-архитектурой Всем привет, меня зовут Юрий Трыков, я Head of Mobile в inDriver. В этой статье расскажу, как в рамках платформенной iOS-команды мы выстраивали модуляризацию DI-контейнеров в проекте, зачем вообще нам нужны DI-контейнеры и как настраивать взаимодействие UDF-компонентов и DI-...

Kubernetes: трансформация к SecDevSecOpsSec Данная статья — взгляд на то, как Kubernetes способен повысить уровень безопасности, упростив управление ею и ускорив внедрение механизмов безопасности с точки зрения специалиста по ИБ, который большую часть своей карьеры занимался наступательной безопасностью. Сейчас на при...

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

Управление данными в системе автоматизации на Vue и Vuex и решение проблем тестирования с помощью Jest Привет! Меня зовут Артём Карачёв, я фронтенд-разработчик в Sportmaster Lab. Сейчас мы пишем модуль автоматизации физической фотостудии, где работают несколько фотографов, менеджеров, фоторедакторов, кладовщиков и других. Все фото кроссовок, которые вы видите в интернет-магаз...

CSS и XPath для QA: чтобы разобраться с локаторами, нужно всего лишь… Привет! Меня зовут Иван, я руковожу горизонталью автоматизации тестирования в Skyeng. Часть моей работы — обучать ручных тестировщиков ремеслу автоматизации. И тема с поиском локаторов, по моему опыту, самая тяжкая для изучения. Здесь куча нюансов, которые надо учитывать, но...

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

Карты, деньги, два букета. Как мы пришли к собственному сервису доставки Привет, Хабр. Меня зовут Андрей, я бэкенд-разработчик в команде Flowwow. Я довольно давно работаю в компании и хочу рассказать об истории создания  собственного сервиса доставки (не без боли) и интеграциях с крупными игроками, которые нам удалось реализовать. ...

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

OpenLDAP в качестве центра аутентификации для Nextcloud и ProFTPD Привет, Хабр! На связи Холодаев Алексей, младший системный администратор Cloud4Y. Сегодня хочу поделиться опытом использования OpenLDAP в качестве центра аутентификации для Nextcloud и ProFTPD.В ходе работы над одним из проектов возникла задача по созданию нескольких сотен п...

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

Кто крешит приложение на старте? Привет! Меня зовут Александр Денисов, я из команды мобильного Яндекс.Браузера в Санкт-Петербурге. В этом посте расскажу вам, как мы справляемся с циклическими крешами на старте. Каждый разработчик знает, насколько важна для пользователя надёжность продукта. В работе над ста...

Популярное приложение для Android со 100 000 загрузок крадёт личные данные пользователей. Эксперты рекомендуют удалить Craftsart Cartoon Photo Tools Исследователи безопасности обнаружили вредоносное приложение Craftsart Cartoon Photo Tools, которое скачали из Google Play более 100 000 раз. Это приложение использует вредоносное ПО под названием Facestealer, которое позволяет красть личные данные с учетных записей Fac...

Прикручиваем авторизацию на основе KeyCloak к веб-приложению Жизненный цикл разработки корпоративного приложения в нашей компании привел меня к, по сути, банальной задаче - “прикручиванию” пользовательской авторизации к фронту приложения. Пользователями приложения должны быть сотрудники компании, а идентификационным провайдером должен...

Как мы переходили на российское ПО, пока это еще не было мейнстримом Много лет мы в ITGLOBAL.COM использовали ServiceNow в качестве инструмента автоматизации управления услугами. Эта платформа де-факто является отраслевым стандартом на рынке ITSM-систем. Но все течет, все изменяется — и в 2019 году мы приняли решение мигрировать на альтернати...

Jetpack Compose в проектах на React Native: плюсы, минусы и интеграция Привет! Меня зовут Сергей Курочкин, я руковожу Android-разработкой в СберМаркете. Сегодня я расскажу, зачем нужен Jetpack Compose в проектах React Native, и поделюсь опытом интеграции фреймворка в наши приложения. В конце на примере простого компонента разберем весь процесс ...

Держи свой трафик в тайне. SSL Pinning — ещё раз о том же самом Всем привет! Меня зовут Юрий Шабалин, я один из основателей компании Stingray Technologies. Мы разрабатываем платформу анализа защищенности мобильных приложений iOS и Android. Сегодня я хотел бы снова затронуть тему безопасности сетевого взаимодействия между приложением и ег...

Проектирование непредсказуемого интеллекта в играх. Часть 1 — архитектура Создаем персонажа, который сам решает, что ему стоит сделать с игроком.В этой статье я познакомлю вас с методикой проектирования искусственного интеллекта под названием GOAP на примере игры Hitman.Подобные методики редко применяются в СНГ, но более популярны в зарубежных сту...

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

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

Лучшие игры, которые скоро появятся на Android Мобильные игры в последние годы действительно стали популярными, и каждый месяц выпускается множество отличных новинок. Единственная проблема заключается в том, что в магазине Google Play все еще бардак, поэтому поиск новых игр для Android может стать настоящим кошмаром. Чт...

После сборки — доработать напильником. Фиксим Retrofit для Корутин Всем привет, это Полина Широбокова, android-разработчик в компании 65apps. При выходе Retrofit версии 2.6.0 нам озвучили официальную поддержку корутин, а значит — теоретически больше не было необходимости использовать специальный адаптер для вызова suspend-функций, у разрабо...

Двигать влево или вправо? Экономический подход к ИБ Привет, Хабр! Меня зовут Петр Умнов, и сегодня я хочу рассказать об одной интересной концепции, которой поделился наш коллега Джефф Харди из Acronis Hosting Solutions. Речь идет о концепции отношения к киберугрозам со стороны хостинговых компаний, а также о методах “сдвига в...

[Перевод] Преодоление сложности в CQRS Эта статья является переводом материала «Tackling Complexity in CQRS».Шаблон CQRS может творить чудеса: он может максимизировать масштабируемость, производительность, безопасность и даже «превзойти» теорему CAP. Тем не менее, например, в своей статье о CQRS Мартин Фаулер утв...

Как двухуровневая система техподдержки освободила отдел разработки от рутинных саппорт-задач Компания iSpring 20 лет разрабатывает решения для дистанционного корпоративного обучения. Клиенты находятся в 172 странах, поддержка работает в режиме 24/7 на семи языках. В месяц обрабатываем примерно 7300 обращений по всем каналам связи: по телефону, электронной почте, в ч...

Почему же всё-таки React, а не Angular Привет, меня зовут Феликс Пискунов. Разрабатываю веб-приложения уже 16 лет. Решил поделиться своими размышлениями по поводу выбора фреймворка и что меня подвигло оставить Angular и уйти без оглядки в React Читать далее

Восприятие цвета в интерфейсе: почему мы видим его по-разному Про инклюзивность в интерфейсах и то, как дизайнеру учесть особенности цветового зрения.Привет! Меня зовут Николай Комиссаров, я руковожу командой дизайна Пульса (pulse.mail.ru) и медиапроектов в VK, а также занимаюсь социальными проектами компании. Недавно, работая над...

3 простые вещи, которые сделают вашу жизнь лучше Цель данной статьи довольно проста — принести пользу людям, дав им в руки несколько действительно рабочих инструментов, которые проверены на практике.Три простых вещи, о которых пойдёт речь в данной статье это:· Сон — как/сколько/почему нужно спать и какие есть лайфхаки для ...

Финишные покрытия. Часть 2: типы покрытий СВЧ плат Привет! Меня зовут Олеся, и это вторая часть про покрытия. В этой статье расскажу про финишные и защитные покрытия СВЧ печатных плат. далее

«Российский инстаграм*» могли сделать в конструкторе приложений «Россграм» наделал много шуму в России. Он должен был стать заменой запрещённому Instagram (его материнская компания Meta признана экстремистской в России, мы обязаны это указывать), но пока даже не запустился полноценно. Теперь пользователи заметили, что «Россграм» очень по...

Кафка: сложная простота Привет! Это Сергей Калинец из Parimatch Tech и эта публикация будет про Кафку. У нас много данных, которые нужно быстро обрабатывать, много сервисов и команд, поэтому мы выбрали Кафку, как нашу основную платформу для обмена данными. За годы ее использования насобиралось...

Основы HTTPS, TLS, SSL. Создание собственных x509 сертификатов. Пример настройки TLSv1.2 в Spring Boot Привет, Хабр! В современном мире абсолютное большинство сайтов используют HTTPS (Google даже снижает рейтинг сайтов работающих по HTTP в поисковой выдаче), а подключение к различным системам происходит по протоколу TLS/SSL. Поэтому любой разработчик рано или поздно сталкивае...

Что там у ReactOS? 16 декабря сего года, команда разработчиков ReactOS, спустя долгое время после последнего релиза (с последнего прошло почти полтора года) выпустила новую версию под номером 0.4.14. Это все еще альфа-версия.В данной статье мы рассмотрим основные новшества как со стороны разра...

Как самостоятельно выучиться на дата-саентиста — адаптированная подборка "Cтоит ли тратить деньги на тот или иной дорогой курс с codename «Стань DS за два месяца» или все же выучиться на дата-саентиста самостоятельно и бесплатно, и в таком случае, с чего начать?" такие вопросы я получаю от аудитории своего блога. Меня зовут Айра, я делаю про...

Игровой код, который сам себя программирует На сегодняшний день у меня выпущены четыре игры в Steam, и все они написаны на языке Haxe. Мне нравится по-максимуму автоматизировать свою работу, и сегодня я поделюсь некоторыми приёмами, которые я использую при программировании своих игр.Для непосвящённых: Haxe — это язык...

Разбираемся с библиотекой лексического анализа ANTLR4 У нас в SberDevices разрабатывается платформа по управлению рекомендациями, которая взаимодействует с разными ML-движками. Со временем их станет много, и, когда пользователь умных устройств Sber будет запрашивать контент – искать фильмы, музыку, спрашивать о чём-то виртуальн...

Автоматизация оптимизаций в Go Привет, Хабр! Меня зовут Денис Лимарев, я разработчик платежной системы в Delivery Club. Недавно мы провели два митапа: по оптимизациям и по нашему новому линтеру. На первом митапе разобрали оптимизации кода на Go, а в рамках второго поговорили про создание и возможности н...

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

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

Google хочет превратить Android в iOS, но не знает как iOS и Android всегда было принято разделять как две непримиримых противоположности. Как плюс и минус, как альфа и бета, как тепло и холод. Но по факту они всегда отличались не так уж и сильно. И Apple, и Google не стеснялись подворовывать друг у друга какие-то функции и сис...

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

Тильда против фронтенда: 6 главных мифов о конструкторе Бывает так: заказчику нужен лендинг еще вчера. К фронтендеру обращаться не хочется — долго, дорого, дизайнеру не понравятся отступы, а вся задача превратится в череду долгих согласований.Привет, меня зовут Соня! Я – UX/UI дизайнер в hh.ru. В этой статье мы разбираем популярн...

Изолируем микросервисы с помощью Feature toggles в ASP.NET Core. Теория и подготовка Привет, Хабр! Если вы работаете с микросервисами, то знаете, что они имеют свойство образовывать некоторую связанность. Хорошо, когда связи между микросервисами однонаправленные, но всё становится сложнее, если возникают циклические зависимости.Такие зависимости приводят к с...

Как выложить свою первую библиотеку в open source Привет. Меня зовут Роман Аймалетдинов, я разрабатываю под Android в inDriver. Сегодня я решил поделиться своим небольшим знанием о том, как выложить в open source свой проект. Приятного чтения! Читать далее

Кодогенерация DTO: зачем она нужна и как её настроить Data Transfer Object — модель данных, которые мы передаём из одного слоя приложения в другой. В Яндекс Go мы активно используем DTO. Предположим, нужно отобразить в UI приложения для вызова такси экспериментальную кнопку с двумя свойствами — надписью на кнопке и ориентировоч...

Actions: как в GitHub, но в GitLab Привет! Меня зовут Артемий Окулов, я lead центра компетенций CI/CD в X5 Group.То, чем мы с командой занимаемся, можно отнести к области под названием Developer Experience. В какой-то момент ИТ в компании достигает такой зрелости, что появляются tools team, enabling team и ин...

Безопасная разработка и уязвимости программного кода Часть 1. Как писать свой код без ошибокНа сегодняшний день трудно представить себе какую-либо отрасль бизнеса, в которой не использовались бы информационные технологии. Не только в банковской сфере, но и в промышленности, транспорте, сельском хозяйстве – везде ИТ играют огро...

NashStore заработал для разработчиков приложений Для скачивания мобильных приложений пользователями российский магазин приложений должен открыться 16 мая.

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

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

Как завести XCRemoteCache, или Кэши из топора Всем привет! Меня зовут Федоров Василий, я руковожу группой Mobile.Speed в компании Aliexpress Россия. Мы стараемся облегчить жизнь разработчиков, пишем утилиты, настраиваем CI, складируем метрики в Grafana — в общем отвечаем почти за все, что влияет на time-to-mar...

Как подготовить бэклог продукта с большим количеством зависимостей и не потратить время впустую Привет, меня зовут Макс, я продакт команды Self-Service в мобильном приложении Тинькофф. У моей команды три основные цели по созданию сервиса: contactless, proactive и self-service.   Это значит, что мы стараемся сделать незаметными процессы для пользователя: убрат...

Пошаговая инструкция по настройке Wireguard VPN + DNSCrypt + DNS server (Unbound) + Pihole Давно была идея сделать свой VPN сервер, для того чтобы "ходить" на ресурсы типа Linkedin. Со временем подумал, что неплохо было бы сделать еще и блокировку рекламы, а потом и DNS сервер. Простых инструкций в интернете я не нашел, поэтому со временем написал ее для себя. Воз...

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

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

Переделка Tewo Black Widow под водяное охлаждение на Lerge K В этой статье речь пойдёт о переделки 3D принтера Tewo Black Widow (Чёрная вдова) на водяное охлаждение с подключением платы Lerdge K. Почему именно Tewo? Да всё просто, принтер у меня давно, года 3, как показало время, он оказался очень живучий, поломок нет, только расходни...

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

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

В чем риски перевода крупной организации на опенсорс Привет, Хабр! Меня зовут Дмитрий Комиссаров, я член совета директоров и основатель МойОфис. За годы работы в ИТ я не раз наблюдал, как перед разработчиками встает дилемма: задействовать СПО или написать весь код самостоятельно «с нуля»? На этот вопрос нет универсального от...

Сервер «1С: Предприятие» на Linux: настройка доменной авторизации В данной статье мы рассмотрим настройку сервера «1С:Предприятие» для использования Microsoft AD в качестве системы авторизации клиентов 1С. Статья представляет собой описание успешно внедрённого решения, за основу брались различные статьи из открытых источников, в частн...

Релизим фронтенд несколько раз в день Меня зовут Петр Солопов, я руковожу фронтенд-разработкой в SuperJob. В этой статье хочу рассказать об опыте ежедневных релизов у нас в компании, зачем мы это делаем и почему это не так страшно, как кажется.История разбита на пять частей: что нас к этому привело, как это сдел...

Личный опыт: стоит ли переезжать в Иннополис? В этом году мы — дизайн-центр электроники Promwad — открыли новый офис в Иннополисе, чтобы разрабатывать софт и железо для электромобилей, FPGA, AI-решений и других проектов. Так что сегодня вместо очередной инженерной статьи из серии «как это сделано» мы решили поделиться л...

Недельный геймдев: #59 — 27 февраля, 2022 Из новостей: Epic Games выпустила превью-версию Unreal Engine, с 28 марта в Steam нельзя будет устанавливать скидку меньше 10 или больше 90 процентов, вышло бесплатное приложение Open Brush 1.0 для создания 3D-скетчей в виртуальной реальности, грядущие изменения режима с...

ALD Pro. Почему мы решили сделать свое решение для централизованного управления доменом на ОС Astra Linux Это моя первая статья на «Хабре», и для начала я бы хотел представиться. Меня зовут Евгений Паутов. С сентября 2020 года я работаю менеджером продукта ALD Pro в ГК «Астра». Если говорить о компании, то ее основное направление — это разработка отечественной операционной систе...

Как мы подняли ретеншн третьего дня на 30% у североамериканских игроков в World of Tanks Blitz Привет! В данной статье расскажу о том, как мы подняли ретеншн приблизительно на 30% на проекте World of Tanks Blitz на регионе NA (Северная Америка).Сперва немного о себе и о нашей игре. Меня зовут Козловский Владимир. Работаю на должности ...

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

Dart Code Metrics — мой первый pull request В статье рассмотрел инструмент для анализа кода Dart Code Metrics и о том, насколько полезно его использовать. Постарался поделиться своими знания в создании нового правила для анализатора. Автоматизировали проверку имени класса и названия файла не только для своего проекта...

5 улучшений, которые заставят меня купить Samsung Galaxy Watch 5 Galaxy Watch 4 в прошлом году открыли новую эру для Samsung в линейке носимых устройств, отказываясь от древней Tizen в пользу Wear OS 3. Но не обошлось без недочетов. Но если закрыть на них глаза, ведь они не такие уж и серьезные, Galaxy Watch 4 — это фантастические умные ...

Как упростить работу команды с помощью Telegram Меня зовут Борзов Олег, я техлид команды разработки CRM-системы для менеджеров ипотечного кредитования крупного банка. Сегодня я хочу рассказать, как наша команда разработки упрощает часть рабочих процессов с помощью мессенджера Telegram. Читать далее

Свой инструмент в Tableau для scrum-команд с Bug Policy и Scope Drop Привет! Меня зовут Анастасия Никонорова, я аналитик в Авито. Рассказываю, как мы сделали инструмент в Tableau для наших scrum-команд разработки.Сначала опишу, как мы работаем по Agile и Scrum, потом — как подготавливали данные и создавали инструмент, как его внедряли и какие...

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

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

Суд обязал Apple до 9 декабря включить сторонние платежи в приложениях на iOS Скандала подобных масштабов в Купертино не видели давно. Согласитесь, про суд между Apple и Epic Games не слышал только ленивый. Все началось с того, что всеми известную игру Fortnite удалили из App Store за самовольный приём платежей в обход официальной системы оплаты. Нег...

Инструкция: Как построить процесс доставки приложения в Kubernetes, используя gitlab ci и gitlab runner Привет, Хабр! Меня зовут Егор Комаров, я тестировщик в команде #CloudMTS. Сегодня я расскажу, как настроить процесс развертывания и обновления микросервисного приложения от разработчика до облака в две команды. Когда в приложении появляется новый функционал (например, из...

Лучшие мобильные порты 2021 года: Huntdown, My Time at Portia и другие Привет, любители мобильных игр! С вами AppTime Media и очередная подборка лучших проектов за уходящий год. На нашем сайте проходит голосование с разными номинациями, поэтому обязательно заходите и отдавайте свой голос за любимые игры. На этот раз я расскажу про топовые мобил...

Bitrix и Kafka: настраиваем интеграцию с брокером очередей Привет! Меня зовут Саша Шутай, я тимлид в AGIMA. В прошлой статье я рассказывал, что делать, если на проекте Bitrix сожительствует с Vue.js и поисковые боты не видят контента сайта. А в этой помогу разобраться, как на Bitrix-проекте произвести интеграцию с брокером очередей ...

React → React Native: снится ли фронтендерам мобильная разработка? Привет! Я Виктор Ильтимиров, разработчик мобильных приложений в СберМаркете. Хочу рассказать, сложно ли переходить с React на React Native и зачем команда СберМаркета использует Reanimated. Ранее я рассказывал об этом в докладе React → React Native Meetup | SberMarket Te...

[Перевод] Культура совещаний: почему Amazon ставит документ во главе всего Привет, Хабр! Меня зовут Александр Попов, я PR-директор МойОфис. Еженедельно в моем рабочем графике бывает до 30 совещаний. Проведение встреч, а также подготовка к ним, забирают много сил и времени. С целью научиться эффективнее расходовать свои ресурсы, я решил исследовать ...

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

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

Android: как подружить ваше приложение с Google Ассистентом? Многие из вас прекрасно знают, что такое Google Ассистент. Это голосовой помощник, подобный Siri, Алисе, Алексе и другим. Когда пользователь что-то говорит, Google Ассистент понимает это с помощью natural language understanding (NLU). NLU преобразует человеческую речь в спец...

Как мы переносили аналитику из PostgreSQL в ClickHouse Привет, Хабр! Меня зовут Кирилл, одной из задач, которой я занимаюсь в Just AI, является пользовательская аналитика. В этой статье я хочу рассказать о нашем опыте миграции этой аналитики на новую СУБД ClickHouse. О том, с какими нюансами пришлось столкнуться и как мы их реша...

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

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

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

Ранний инженерный образец процессора Intel Raptor Lake c 24 ядрами и 32 потоками впервые засветился в бенчмарке В базе данных кроссплатформенного бенчмарка BAPCo CrossMark были обнаружены данные о тестовой платформе под названием RPL-S ADP-S DDR5 UDIMM OC CRB. Вскоре они оттуда исчезли, однако портал Tom’s Hardware успел сделать скриншот, подтверждающий первое публичное появление проц...

[Перевод] Уроки абстракции: чему FP может научить ООП Одним из наиболее распространенных «лучших практик» в программировании является принцип DRY: не повторяйся. Для реализации этого принципа можно использовать множество методов: инкапсуляция, параметризация, инверсия управления и многое другое. Одним из этих методов является а...

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

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

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

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

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

Apple подала в суд на Россию из-за App Store Apple просит о судебном пересмотре августовского предупреждения Федеральной антимонопольной службы, которое позволяет разработчикам упоминать альтернативы встроенной платежной системе App Store. Производитель iPhone должна была изменить свою политику до 30 сентября, но компа...

Google Chrome OS стала быстрорастущей операционной системой в мире Компания Google  утверждает, что Chrome OS является самой быстрорастущей операционной системой в мире. Ещё в мае поисковый гигант сообщил, что популярность Chrome OS выросла на 92% по сравнению с прошлым годом. По мнению поискового гиганта, популярность Chrome OS в...

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

Знакомство с .Net Compiler Platform .Net Compiler Platform, или Roslyn - это высокоуровневый API для анализа и рефакторинга кода, написанного на  С# и VB (языках .Net). С помощью Roslyn можно как создавать независимые инструменты анализа и рефакторинга, так и писать расширения, встраиваемые в Visual Studi...

[Перевод] Как писать bash-скрипты надежно и безопасно: минимальный шаблон Скрипты на Bash. Как много в этом слове. Любому разработчику рано или поздно приходится их писать. Почти никто не скажет "да, я люблю писать bash-скрипты", и поэтому почти все уделяют мало внимания этой теме.Я не буду пытаться сделать из вас эксперта в Bash, а просто покажу ...

[Перевод] 5 возможностей JavaScript ES12, которыми стоит воспользоваться уже сегодня Стандарт ECMAScript 2021 (12 редакция) выпущен 22 июня 2021 года. Вместе с ним появились новые возможности и новые синтаксические конструкции. Все эти улучшения направлены на то, чтобы сделать JavaScript надёжнее и стабильнее, чтобы разработчикам легче было делать своё дело....

Эволюция рекомендаций ресторанов в Delivery Club. Часть 1 Всем привет! Меня зовут Иван Максимов, я работаю Lead Data Scientist’ом в команде рекомендаций и A/B-тестирования Delivery Club. Это первая из серии статей про нашу рекомендательную систему. Я расскажу о том, как мы определили проблемы предыдущего подхода к рекомендациям, и ...

Программа компании “Мобильное Электронное Образование” (проект ЛАНИТ и “1С”) обеспечивает рынок разработчиками онлайн-курсов Компания “Мобильное Электронное Образование” (проект ЛАНИТ совместно с “1С”) разработала программу профессиональной переподготовки “Цифровой образовательный дизайн. Пользовательский интерфейс от С до Java”. Участвуя в программе, студенты глубоко погружаются в изучение профес...

Выгрузка с VMware vAvailability: перенос виртуальных машин в Россию Привет, Хабр! Меня зовут Андрей Вахутинский. Это первый пост в блоге компании Oxygen на Хабре, и сегодня я хочу поделиться практикой миграции одного из наших клиентов из зарубежного облака. В этом тексте мы разберем достаточно простой способ выгрузки виртуальных машин из эко...

TrueConf 2.0 для Android: сможет ли смартфон заменить ПК для ВКС и совместной работы Доброго времени суток, хабражители! Меня зовут Димитрий Зуйков, и я из TrueConf. Нас тут уже много, мы рассказываем о продуктах компании, и что важнее – о подходах к их развитию. Мы отлично понимаем потребности пользователей в качественных и удобных коммуникациях, в том числ...

Началась предзагрузка глобальной тестовой версии CounterSide Студия B Side готовится к запуску тестовых серверов CounterSide. Сейчас игру можно заранее установить, но не во всех странах. CounterSide — мобильный проект с пошаговыми битвами и аниме-графикой. По замыслу разработчиков мы собираем отряд из вайфу и побеждаем на каждой лока...

Вертел я ваши UIView Эта статья является логическим продолжением UIKit ты вообще про UI?Если вы ее пропустили, рекомендую сначала ознакомиться с ней. На всякий случай напоминаю, что весь графический интерфейс – это ответственность слоев (не вью!).Я люблю пользоваться инструментами разработки, ко...

WinAPI из C# Язык программирования C# был создан как язык, который можно использовать для простого программирования в ОС Windows. Позже этот язык получил возможность создавать приложения и на других операционных системах, но в этой статье мы будем говорить только об ОС Windows.Для работы...

Недельный геймдев: #58 — 20 февраля, 2022 Из новостей: новая версия RPG Maker будет работать поверх Unity, Дисней опубликовал USD-ассеты из мультфильма Моана, стала доступна коллекция ассетов Scene3D для упрощения разработки 3D игр с помощью Defold.Из интересностей: статья от команды Unity по работе с террейном, ...

От LiveData к Flow… Мы Дима и Настя, Android-разработчики в компании СберЗдоровье. В этой статье мы хотим рассказать о том, как мы перевели весь наш проект с LiveData на Flow, с какими трудностями столкнулись и что полезного узнали. Эта статья будет полезна тем, кто работает с LiveData, уже про...

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

Технический стек проекта из кейса-лайфхака про взаимоотношения IT-команды и «бизнеса» Сбера Как и обещали в первой части кейса, рассказываем о том, какой стек использовала IT-команда Сбера при работе над проектом с большими данными. Для тех, кто её не читал: благодаря этому проекту разработчики научились эффективно взаимодействовать с «бизнесом», пройдя через кризи...

Proof Of Concept на Python или как портировать С/С++ Язык программирования Python существует уже 31 год. Это полностью объектно-ориентированный язык. За все время существования на нем стало возможно применять разные парадигмы. Сейчас этот язык может поддерживать:- объектно ориентированную парадигму- структурное программрование...

[Перевод] Красивые визуализации GitHub с помощью PyGraphistry В чёрную пятницу, пока у нас стартует флагманский курс Data Science, делимся интерактивными графами подписок веб-разработчиков и разработчиков моделей ML, а также знакомим читателей с инструментом визуализации больших графов — PyGraphistry. Такие данные — косвенный индикатор...

Паттерны асинхронных обменов на платформе Авито Привет! Меня зовут Павел Агалецкий, я старший инженер в команде архитектуры. Одна из областей ответственности нашей команды — синхронное (RPC) и асинхронное взаимодействие между сервисами. В этой статье я расскажу о том, как можно связать сервисы друг с другом и как это...

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

Рыбалка в дополненной реальности: почему бы и нет? Всем привет! Я Марк Варламов, Unity-разработчик в Digital Lab (cтудии веб- и мобильной разработки) и сегодня я расскажу о том, как мы создавали механику рыбной ловли в AR. Одним из наших проектов стал AR для «Пяти Озер»: игровая механика рыбной ловли в дополненной реальности...

Извлечение NTLM hash пользователя из процесса lsass.exe с помощью уязвимого драйвера Приветствую вас, дорогие читатели! Сегодня я хочу рассказать о том, как с помощью уязвимого драйвера получить NTLM hash пользователя. NTLM hash находится в памяти процесса lsass.exe операционной системы Windows. Процесс lsass.exe отвечает за авторизацию локального пользовате...

Keycloak X. Что за зверь и с чем его едят? Недавно мы с коллегами из X5 Tech проводили митап, на котором разбирали, что такое Keycloak X и чего от него ждать. Для тех, кто пропустил или предпочитает читать, а не смотреть, подготовили текстовый вариант. Меня зовут Виктор Попов, я техлид DevOps-команды в X5 Tech. ...

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

Недельный геймдев: #56 — 6 февраля, 2022 Из новостей на этой неделе: Epic Games приобрела RD-Textures, Blender Studio выпустила Watchtower, Valve объявила об изменениях в правилах установки скидок для разработчиков, вышли Blender 3.1 Beta, Particle Illusion 2022 и ZBrush 2022.0.4.Из интересностей: разбор рендери...

Борьба с  TOAST или будущее JSONB в PostgreSQL В PostgreSQL есть два типа данных: JSON и JSONB. Первый формат является текстовым хранилищем, в котором json хранится "as is",  второй — бинарным, в нем ключи отсортированы  (сначала по длине ключа, а потом по его названию), дубликаты удалены, а пробелы удалены. Т...

«Разработчики не делают простых ошибок» на примере сортировок в Unity, ASP.NET Core и не только Есть мнение, что опытные разработчики не допускают простых ошибок. Ошибки сравнения? Разыменования нулевых ссылок? Нет, это точно не про нас… ;) Кстати, а что насчёт ошибок сортировки? Как вы уже поняли из заголовка, с этим тоже есть нюансы. Читать дальше →

Как запустить Arch Linux на Baikal-M Как сделать свою жизнь и рабочее время гораздо комфортнее, если значительную часть этого самого времени ты проводишь перед синим экраном монитора? Можно установить на него свою любимую операционную систему. Astra Linux, Alt Linux или Debian, конечно же, меня устраивают, но т...

Материалы PaaS-митапа: как платформа улучшает опыт разработчиков Platform as a Service в Авито — это набор проработанных решений, которые позволяют продуктовой разработке не тратить много времени на рутинные задачи и низкоуровневые инструменты. Наши спикеры рассказали, как происходит локальная разработка, автоматическое тестирование, депл...

Bottom Sheet, перейдём на «ты»? Bottom Sheet представлялся мне сложным и недосягаемым. Это был вызов! Я не понимал, с чего начать. Возникало много вопросов: использовать view или view controller? Auto или manual layout? Как анимировать? Как скрывать Bottom Sheet интерактивно?Но всё изменилось после работы ...

Стройкомплекс Москвы начал создавать единую цифровую экосистему По словам представителя ГБУ "Мосстройинформ" Тиграна Афояна, с архитектурной точки зрения экосистема основана на бесшовной интеграции сервисов и услуг, объединенных под одним брендом. Одним из ключевых компонентов экосистемы станет "Цифровая площадка взаимодей...

Я учусь на тестировщика. Сравнение двух онлайн школ. Часть 2 Здравствуйте, меня зовут Екатерина, уже 11 лет я работаю учителем в школе. Полгода назад я решила сменить профессию и пошла на курсы тестировщиков в одну разрекламированную онлайн школу, разочаровалась в ней, а теперь учусь в другой. Мне стало интересно сравнить методики пре...

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

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

Не совсем очевидные тренды развития рынка приложений, как к ним подготовиться мобильному разработчику? Меня зовут Ексей Пантелеев, я 12 лет программирую мобильные приложения, а всего зарабатываю программированием почти 20 лет и как профессионал пережил несколько платформ (например Flash Player, AIR, Stage3D), под которые я разрабатывал приложения. До мобайла я делал веб и игр...

PCIExpress 1.0 2.5GT/s analyzer на базе ПЛИС своими руками На работе я занимаюсь созданием PCIExpress устройств на ПЛИС. Некоторые из ПЛИС имеют встроенное PCIExpress ядро, позволяющее работать с этим интерфейсом на уровне пользовательского приложения. ПЛИС серии ECP5UM фирмы Lattice использует Soft-IP Core для реализации протокола,...

Zeebe и Camunda: сравниваем известные BPM-системы под высокими нагрузками Всем привет! Меня зовут Николай Первухин, я Senior Java Developer в Райффайзенбанке. В последнее время я активно занимаюсь BPM-системами Camunda и Zeebe (основа Camunda-cloud). Если вы, как и я, с ходу не можете ответить на вопрос, кто быстрее — Camunda или Zeebe, насколько,...

Актуальные промокоды для Genshin Impact на Камни Истока и мору (Декабрь 2021) Делимся ежемесячными активными промокодами для Genshin Impact. Да, они рабочие. Каждый месяц Путешественники Тейвата пытаются найти рабочие промокоды на просторах Интернета. Многие сайты выпускают нерабочие и устаревшие коды, но мы решили с этим бороться. Поэтому ежемесячн...

Улучшение Visual Studio Code для новичков VSCode — Самый популярный редактор кода среди веб-разработчиков. Вы можете использовать его с нуля, однако для опытных программистов его базовых функций недостаточно. Здесь я описал, то как сам докрутил этот редактор под свои потребности. Я фронтенд-разработчик, но также ис...

Реализации машины в qemu В процессе обратной разработки прошивок возникает задача по эмуляции прошивки, например для фаззинг тестирования или детального изучения поведения в динамике. На практике обычно для этого хватает фреймворков avatar2, unicorn, qling и подобных. Однако они поддерживают далеко ...

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

[recovery mode] Кейс: Как за 1.5 года вывести банк в топ-10 мобильных банков * В статье пойдет речь о кейсе трансформации компании, чье название в этой статье нельзя упоминать. Но чтобы вы все-таки чуть лучше понимали контекст, далее в тексте я буду использовать термины "Красно-белый оператор" (КБО) и его банк (КБО Банк)Для начала, думаю, будет нелиш...

Valve исправила ошибку в Steam, теперь в России игры ушедших издателей снова нельзя купить Вчера, 25 мая, российские пользователи Steam обнаружили, что в магазине появились игры от разработчиков и издателей, которые ранее ушли из России. В списке были, к примеру, Persona 4 Golden, Mafia: Definitive Edition, Kingdom Come: Deliverance и даже серия S.T.A.L.K.E.R...

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

Google Play Store добавит сторонние платежные системы Несколько недель назад правительство Южной Кореи приняло поправку к Закону о телекоммуникационном бизнесе страны, которая теперь запрещает Google и Apple навязывать разработчикам свои собственные платежные решения. Теперь, чтобы соответствовать новому закону, Google объявила...

Мобильное направление Samsung теперь будет называться MX Business Ранее на этой неделе Samsung объявила об объединении мобильного подразделения со своим бизнесом по производству бытовой электроники. Теперь компания объявила о переименовании мобильного направления. Вместо прежнего Mobile Communications мобильный департамент будет называться...

Edge Insights for Autonomous Mobile Robots. Роботы — это просто На свете существует много хороших библиотек, фреймворков, операционных систем — всего того, из чего разработчики конструируют свои продукты. Иногда в этом разнообразии можно просто утонуть, особенно если ты забрел в неизведанную для себя область. В таких случаях выручают пре...

Улучшаем процесс ведения проекта в Git Привет! Я давно заметил, что процесс добавления нового кода в проект в большинстве команд может быть не всегда стандартизирован. Из-за этого могут возникнуть сложности с коммуникациями разработчиков как на уровне описания добавленного кода, так и понимания, какое влияние нес...

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

Разработчик PUBG подает в суд на Apple, Google и разработчика Free Fire Garena Разработчик PUBG (PlayerUnknown's Battlegrounds) недавно подал иск против крупных компаний, Apple и Google, а также против создателя клонов PUBG, Free Fire Garena. Krafton Inc подает в суд на Garena за разработку двух игр, которые якобы являются копией ее существующей игр...

Я учусь на тестировщика. Сравнение двух онлайн школ. Часть 3 Здравствуйте, меня зовут Екатерина, уже 11 лет я работаю учителем в школе. Полгода назад я решила сменить профессию и пошла на курсы тестировщиков в одну разрекламированную онлайн школу, разочаровалась в ней, а теперь учусь в другой. Мне стало интересно сравнить методики пре...

[Перевод] Вышла Beta Go 1.18 с дженериками. Подробности из блога Go под катом Официальный релиз Go 1.18 состоится только через пару месяцев. Это первый предварительный выпуск Go 1.18, чтобы вы могли попробовать его и сообщить о проблемах. Go 1.18 Beta 1 — это огромный объём работы всей команды разработчиков Go в Google и участников проекта Go по ...

Спортивное программирование: не все так просто, как кажется Меня зовут Абай Баймуканов, я – разработчик-алгоритмист. Уже несколько лет увлекаюсь олимпиадными программированием, поэтому в этой статье хотел бы поделиться своим видением по этому поводу. Быть олимпиадником по спортивному программированию довольно весело и интересно. Н...

Индекс Лепрекона Всем привет! Меня зовут Оюна Любимова, я занимаюсь продуктовой аналитикой в Юле и Объявлениях ВКонтакте. Я отвечаю за сбор и интерпретацию данных, чтобы наша команда могла принимать уверенные решения о развитии продукта. В статье я расскажу об аналитике безопасности взаимоде...

История Game Genie — чит-устройства, которое всколыхнуло мир О читерстве в играх можно рассказывать много. Это история настолько древняя, что трудно понять, в какой момент времени люди стали использовать читы. Разработчики включали читы для облегчения разработки, поэтому их можно найти даже в  Manic Miner и аркадном автомате Grad...

Как оплатить YouTube Premium в России в условиях санкций Не так давно, а именно 10 марта, Google полностью отключила работу YouTube Premium на территории России. Таким образом компания полностью лишила нас возможности запускать режим картинка-в-картинке и других приятных фишек, к которым все уже очень привыкли. Единственной радос...

Репликация с нуля за 5 простых шагов (невозможна) Меня зовут Сергей Петренко, я работаю в команде кластерных технологий Tarantool. В прошлом году я рассказывал о том, как в Tarantool появилась синхронная репликация и поддержка автоматических выборов лидера на основе Raft. Теперь предлагаю погрузиться во «внутренности» репли...

iPad Air 4, iPhone SE и iPhone 6s Plus возглавляют рейтинг удовлетворенности устройствами Apple. Где же iPhone 13? Разработчики бенчмарка AnTuTu опубликовали рейтинг удовлетворенности смартфонам Apple за январь текущего года, и в нем содержится немало интересного. Так, например, в перечне нет ни одной модели актуальной линейки iPhone 13 – несмотря на то, что это настоящий хит....

Как стать джуном и попасть на оплачиваемую стажировку? Привет! Меня зовут Василиса Версус, и я руковожу платформой фронтенда в компании СберМаркет. Сейчас я занимаюсь менторингом senior+ и engineering manager, хотя раньше с особой страстью помогала людям делать «первые шаги» в ИТ. В этой статье я расскажу, почему я отказалась ...

Kubernetes в НСПК Всем привет! Меня зовут Назаров Алексей, я работаю в отделе администрирования инфраструктурных сервисов автоматизации Мир Plat.Form (НСПК) и сегодня расскажу о том, как устроены наши кластеры Kubernetes и как мы ими управляем. Читать далее

Total War: Medieval II выйдет на iOS и Android Студия Feral Interactive продолжает переносить на мобильные устройства хитовые стратегии прошлых лет. Сегодня в своем микроблоге разработчики сообщили о планах выпустить на iOS и Android игру под названием Total War: Medieval II.Читать дальше... ProstoMAC.com.| Постоянная с...

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

Мировые корпорации. Есть ли свет в конце туннеля? Глобальные корпорации уже давно и прочно вошли в нашу повседневную жизнь своими продуктами, зачастую не оставляя пользователям альтернативного выбора. Или он все таки есть? Данная статья затрагивает проблему доминирования больших корпораций в определенных сегментах, и на при...

Опыт эксплуатации Mellanox под управлением Switchdev Мы уже писали про Linux Switchdev в Mellanox — что это такое и как мы с ним живем в Qrator Labs. Сегодня я хочу рассмотреть этот вопрос с другой стороны. Меня зовут Дмитрий Шемонаев, я руковожу центром сетевых операций.Кроме того, что этот коммутатор можно использовать как W...

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

Крупнейший разработчик ПО SAP полностью уходит из России Разработчик программного обеспечения SAP полностью остановила продажу своих продуктов в России и Белоруссии. Компания уходит с российского рынка из-за спецоперации на Украине. Кроме того, SAP не будет обслуживать и поддерживать локальные продукты в РФ. Тем не менее...

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

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

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

[Перевод] Игры для MS-DOS с открытым исходным кодом Игры под DOS с открытым исходным кодом — редкость. Однако спустя много лет некоторые разработчики всё же решили выпустить в свет исходники. Большинство из них уже переписаны на SDL, благодаря чему их можно перенести практически на любую современную платформу, но какой в это...

Ускоряем работу с графами в 20000 раз Использовать стандартные библиотеки и общеизвестные реализации алгоритмов — признак хорошего тона. Вместо изобретения своего алгоритма шифрования данных или своей хэш функции лучше взять уже готовое решение. Избегаем ошибок и не изобретаем велосипед заново. Но что если готов...

Применение автотестов в ежедневных релизах. Установка Cypress и Allure Меня зовут Виталий и я автотестер в компании Утконос ОНЛАЙН. В предыдущей статье я рассказал, почему мы решили использовать фреймворк для автоматизации тестирования, описал существующие варианты, наш выбор в пользу Cypress и его связку с репортом Allure. В этой части обсудим...

[Перевод] C++20 Ranges — Полное руководство C++20 Ranges, также известная как STL v2, представляет из себя более эффективную замену существующих алгоритмов и технических средств STL. В этой статье мы пройдемся по изменениям, введенным Ranges (диапазоны/интервалы), обсудим представления (views), которые представляют со...

В Titan Hunters музыка наподобие DOOM, плюс заработок на NFT Titan Hunters вышла на iOS и Андроид. Это рогалик с возможностью торговать оружием и экипировкой с другими игроками, зарабатывая на этом. Titan Hunters — мобильный проект, который доступен в App Store и Google Play. В отличие от других NFT-проектов, мы не будем создавать ф...

Простой анализатор кода для программы, написанной на Ассемблере 8051 Основной задачей было уменьшение размера программы, т.к. использовали микроконтроллер с небольшим объемом памяти, а функциональность изделия должна быть большой. По этому появилась идея использовать анализатор кода, поиск в интернете ничего не дал, по этому пришлось делать с...

Haunted Laia расскажет историю об исчезновении семьи Студия Dark Dome готовит к запуску игру Haunted Laia. Вам предстоит раскрыть исчезновение семьи. Haunted Laia — мобильное приключение, которое выпустят минимум на Android. Мы обратились к разработчикам с вопросом по поводу iOS-версии и обновим новость, как только что-то узн...

Большое обновление конвертера валют Яндекса — добавились денежные единицы ещё 114 стран Команда Яндекса объявила о большом обновлении фирменного конвертера валют. В сервис добавилась поддержка денежных единиц ещё 114 стран.  Теперь пользователи могут без лишних сложностей преобразовать сумму в рублях в дирхамы, хорватские куны или, например, в г...

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

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

Дженерики в TypeScript Привет, я Сергей Вахрамов, занимаюсь фронтенд-разработкой на Angular в компании Тинькофф. Во фронтенд-разработку вошел напрямую с тайпскрипта, просто перечитав всю документацию. С того момента и спецификация ECMAScript расширилась, и TypeScript сильно подрос. Казалось бы, по...

[Перевод] Эмбеддинги признаков и повышение точности ML-моделей Прим. Wunder Fund: короткая статья о том, как эмбеддинги могут помочь при работе с категориальными признаками и сетками. А если вы и так умеете в сетки — то мы скоро открываем набор рисерчеров и будем рады с вами пообщаться, stay tuned.Создание эмбеддингов признаков (fe...

Отображение данных из подписанного ЭЦП PDF-файла в Joomla На Joomla CMS сделано очень много сайтов для образовательных учреждений самого разного уровня и сложности. На сайты образовательных учреждений распространяется (на момент написания статьи) Приказ Рособрнадзора от 14.08.2020 №831, согласно которому документация должна быть на...

Оператор Собеля-Фельдмана или Зачем нам так много фильтров Во время изучения градиентных фильтров у меня возникало множество вопросов. Почему фильтр сделан именно так, а не иначе? В чём разница между разными фильтрами? В данной статье я собрал найденные мной ответы на эти вопросы. Предполагается, что читатель знаком с формулами на у...

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

Что такое тестирование. Курс молодого бойца. Книга для новичков Привет!Меня зовут Ольга Назина. Я в тестировании с 2006 года. Тестировщик, тренер, практик, энтузиаст — вот тут можно почитать обо мне подробнее.Я очень люблю серию книг по разработке ПО от Head First O`Reilly:— Изучаем Java. Кэти Сьерра и Берт Бейтс— Изучаем SQL. Линн Бейли...

Пишем чат под Android на Websocket'ах Привет Хабр!Во время локдауна я решил поупражняться в разработке под Android. Начать решил с простой гиперказуальной игры с элементами дуэли. Взаимодействие игроков решил реализовать через отдельный сервер и websocket'ы, но пока читал про все это дело, понял, что простого ту...

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

«Контроллеры PlayStation VR2 могут стать лучшими в нынешнем поколении». Разработчик Polyarc поделился впечатлениями от гарнитуры Гарнитура виртуальной реальности PlayStation VR2 пока только готовится выйти на рынок. Однако некоторые разработчики уже имеют доступ к устройству, так что мы можем узнать кое-какие подробности.   Один из сотрудников студии Polyarc, занимающий должность Principal ...

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

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

Developer Experience — как упростить себе жизнь с помощью правильных инструментов Привет! Продолжаем публиковать текстовые версии докладов с QIWI Server Party 6.0, в этом посте — Александр Прокопьев и Developer Experience. Про инструменты, их качество и развитие инструментов разработчиков в QIWI.Если предпочитаете формат видео — ролик в посте.А вот и тек...

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

Флоптика (LS-120) Этот пост навеян отличной статьей про трискеты, которая в первые минуты чтения и меня заставила задуматься, а не пропустил ли я чего в истории средств хранения данных? Поэтому расскажу про необычные дискеты с треугольной шторкой (много фото). Читать далее

Как снова начать читать книги, а не ленту. Часть 1 За последние полгода я прочитала около 20 книг и перечитала ещё десяток старых и любимых. Это не то чтобы очень много, но в пять раз больше, чем я прочитала за полгода перед этим.Зачем вообще читать книги, а не ленту, лонгриды или смотреть сторисы? Сейчас даже довольно сложн...

Альтернативный подход к динамическим окружениям: использование Octopod Как Octopod помогает сделать динамические окружения доступными для всехПривет, Хабр! В этой статье я хочу рассказать как мы в Typeable используем динамические окружения (review- или preview-окружения) в нашей работе, какие проблемы нам удалось решить, почему и как мы применя...

Альтернатива сложным комбинациям: оценили надежность и удобство эмодзи-паролей Всем привет! Меня зовут Валерий Кузьменков, я работаю аналитиком информационной безопасности в Positive Technologies (если интересно, чем занимается мой отдел и почему специалисты этого направления уникальны на рынке, читайте другой наш пост).Начну немного издалека: специали...

Чат-боты в банке: где и как их применять? Меня зовут Дмитрий Литвинов, в Московском кредитном банке (МКБ) я курирую направление автоматизации внутренних сервисных подразделений – это операционный департамент, контактный центр и ряд других функций. Чат-боты стали довольно полезным инструментом для бизнесов любого раз...

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

Беспроводной микрофон Razer Seiren BT ориентирован на мобильных стримеров На днях компания Razer добавила в свой ассортимент устройств для потокового вещания микрофон Razer Seiren BT. По словам производителя, этот беспроводной микрофон специально разработан для стримеров, использующих смартфоны для мобильной трансляции. Как утверждается, благ...

Если гипотеза Римана не верна… Как известно, в военное время значение косинуса может достигать трех. К счастью, это не касается простоты чисел - как ни бейся лбом об стену, число 17 простое и ни на что не делится, кроме себя и 1. Или нет? Что если мы грубо пошуруем ломиком в святая святых математики и под...

Иностранные хостеры с возможностью оплаты криптовалютой Всем привет! Меня зовут Леонид, я владелец сервиса Поиск VPS. Неделю назад я опубликовал статью, в которой рассказал о том, как можно оплатить зарубежный хостинг валютным переводом через SWIFT. Это один из альтернативных способов после отключения России от Visa и Master...

Новый трейлер игрового процесса ремейка Dead Space Разработчики из EA Motive провели новый стрим по ремейку Dead Space, во время которого показали много новых деталей в своем проекте. Разработчики уделили внимание звуку и игровому процессу. Читать полную статью

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

Синтезируем SystemVerilog код в OpenSource среде Yosys/NextPNR В предыдущей статье я поделился опытом работы с ПЛИС фирмы Lattice через инструменты с открытым исходным кодом Yosys и NextPNR. Как я отмечал, освоить их меня заставило не столько любопытство, сколько требования Заказчика. В том проекте у меня просто не было выбора. И та ста...

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

Циклы маршрутизации Добрый день! Меня зовут Александр Зубков, я работаю в Qrator Labs и сегодня я хочу поговорить о циклах маршрутизации. Читать далее

DevOps: о самом важном. Часть 1. Про то, о чем мало говорят Привет! Меня зовут Каро Манасян, я Chief DevOps Officer Московской биржи, и сегодня мы поговорим про… DevOps. Вокруг этого слова поднят такой уровень хайпа, что каждый интерпретирует его, как хочет. То ли это методология, то ли культура, то ли человек… Однако, на данный моме...

Трудности перехода: каков Elixir на вкус после Ruby Привет! Меня зовут Наталья. В Каруне я пишу в команде высоконагруженные сервисы на Elixir. Это третья компания, в которой я работаю на Elixir. До этого я писала на Ruby. Если посмотреть свежее исследование Хабр Карьеры по зарплатам, можно увидеть — зарплаты рубистов растут, ...

Age of Empires IV: о Столетней войне и истории через игровое повествование Не так давно — 28 октября 2021 года - в свет вышла стратегия Age of Empires IV — игра, в лучшую сторону выделяющаяся своим подходом к тому, как следует рассказывать аудитории об истории и явно лучшая из игр, в которых действие происходит во времена Столетней войны. Конечно, ...

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

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

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

JavaScript: работа с датой и временем с помощью Temporal Привет, друзья! В этой статье я хочу рассказать вам о Temporal, новом API для работы с датой и временем в JS. Описание предложения Черновик спецификации Рецепты по использованию Temporal Источником вдохновения для меня послужила эта замечательная статья. Обратите внимани...

Как запилить джентльменский релиз Релизы не выходят точно в срок? Множество багов на регрессе? Сам регресс занимает несколько дней? Много жалоб на баги? Релизом занимаются сразу все и продуктовая разработка полностью останавливается? Узнали? Согласны?? Мне кажется, многие сталкивались с этим, в том числе и м...

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

Автоматизируем работу с ArchiMate в CI пайплайнах В этой статье я дам краткую вводную, что такое Archi и ArchiMate. Расскажу о коллективной работе с Archi используя расширение coArchi, после чего предоставлю контейнер позволяющий автоматизировать работу по созданию HTML и PDF документов с ArchiMate моделями. Завершим же, со...

Нужны ли тестовые задания разработчику и что общего между ними и сексом Делать или не делать? — вот в чём вопрос. Он возникает каждый раз, когда для устройства на работу нужно выполнить тестовое. Особенно если есть другие неизвестные: подходит ли мне проект, компания, зарплата? Хочу ли я вообще эту должность? Никого не вдохновляет идея потрати...

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

Википедия изнутри Википедией пользуются все. Даже те, кто никогда в этом не сознается.Но меня каждый раз поражает, насколько фантастические представления о Википедии у людей, которые её не пишут. (Надо сказать, у людей, которые её пишут, — тоже.)Википедия кажется очень странным созданием, с н...

Лучшие игры в жанре Auto Chess Автоматические сражение — относительно новый жанр, который быстро набирает обороты. Он имел массовый успех на ПК с такими играми, как Dota Auto Chess, Teamfight Tactics и другими. Суть этих игр довольно проста. Вы размещаете персонажей на ”доске” каждый раунд, и эти п...

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

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

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

Китай приступил к регулированию рекомендательных сервисов Как пишет D-Russia со ссылкой на CNBC, среди новых правил регулирования рекомендательных сервисов:компании не должны использовать рекомендательные алгоритмы с противозаконной целью, например, для подрыва национальной безопасности;алгоритмические рекомендательные сервисы, пре...

Тычем палкой в итераторы Итераторы – мощные и очень полезные составляющие Python. Цель этой статьи в их изучении подручными инструментами. Сразу предупреждаю, что в исследовательском арсенале у меня не швейцарский нож, а палка-копалка. Как известно, она предназначена для разрыхления почвы, но для не...

Этапы развития продакт-менеджера. От разработки фич до выхода на новый рынок Меня зовут Наталья Царёва, вот уже 4 года я работаю в компании ISPsystem на должности product manager. Сейчас я полностью отвечаю за DCImanager —  это платформа для управления оборудованием. Как CEO, только не компании, а продукта. Но такой уровень ответственности и спи...

Разработка, сборка, деплой и мониторинг сервисов: от общего к частному и обратно Привет, Хабр! Меня зовут Андрей Перепелкин. Я руководитель группы бэкенд-разработчиков, вошел в IT более 15 лет назад, 10 лет занимаюсь Java и около 4 плотно работаю с микросервисами. В этой статье я расскажу, как:— мы организовали разработку микросервисов так, чтобы вы...

Microsoft создаёт новый способ делиться клипами из игр на Xbox По словам Ларри Хриба из Microsoft, клипами из видеоигр для Xbox станет гораздо проще делиться через уникальные общедоступные URL-адреса в мобильном приложении Xbox. Эти ссылки также будут собраны в новую область «актуального контента», чтобы вы могли видеть, что делают друг...

Билеты на микросервисах: как мы добавили в банк… стадион Привет! Меня зовут Ренат Шафиев, я с 2008 года работаю в банковской сфере и сейчас занимаюсь нефинансовыми сервисами для мобильного приложения и интернет-банка ВТБ Онлайн. Недавно мы запустили сервис по оформлению билетов на «ВТБ Арену» — он позволяет смотреть афишу мероприя...

Разработчики Pokemon Go планируют запустить «Метавселенную реального мира» с вознаграждением в биткойнах Niantic, разработчик популярной игры Pokemon Go с дополненной реальностью (AR), объединился с платежной компанией Fold, чтобы запустить AR, где игроки могут зарабатывать биткойны в виртуальной среде, которую компания описывает как «метавселенную реального мира». В настоящее ...

Вам дадут тестовое на все выходные, а затем откажут по culture fit. Мой опыт устройства в Калифорнию через HazelCoders Привет, Хабр! Меня зовут Михаил Мазуровский, я - мобильный Flutter разработчик. Сегодня я расскажу вам историю о том, как я столкнулся с худшей организацией по найму в своей жизни. Читать историю

#define CPP WTF Уже давным-давно я работал в одной крупной компании в должности C++-разработчика и столкнулся с одной очень странной ошибкой. Я написал примерно такой класс:class Foo { static void* operator new() { return ...; }; };И увидел огромный stack-trace ошибок о недо...

Авторы Pokémon Go купили ещё одну крупную компанию Niantic приобрела еще одну компанию, чтобы помочь себе в создании платформ дополненной реальности. Компания объявила, что приобретает команду, создавшую Lowkey, приложение, которое вы можете использовать, чтобы легко запечатлеть и поделиться игровыми моментами. Хотя вы может...

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

[Перевод] Внутреннее устройство Pinned Object Heap в .NET Как вам известно, в .NET 5 появился новый вид кучи — Pinned Object Heap (POH, Куча Закрепленных Объектов). В отличие от других видов кучи, эта доступна разработчикам явно (что не характерно для сборщика мусора). В этой статье я объясню внутреннее устройство POH, чтобы в...

Netdata. Настраиваем простую бесплатную систему мониторинга Для подписчиковВозможно, у тебя есть сервер, роутер или еще какой-то девайс, за работой которого нужно следить. Как сделать систему мониторинга, которая сама по себе не будет требовать внимания и ресурсов? Я рекомендую в таких случаях использовать простой, а главное — беспла...

Краткий экскурс в ruGPT-3. Инструкция и демонстрация GPT-3 — нейронная сеть, наделавшая шума в 2020 году, как самая сложная, объёмная и многообещающая модель по работе с текстовыми данными. Создана организацией OpenAI в нескольких вариациях, от 125 миллионов до 175 миллиардов признаков. Хотя в названии организации и есть ...

FullHD vs 4k и integer scaling: всегда ли 2 x 2 = 4? «Лучше быть богатым и здоровым, чем бедным и больным» © Аксиома В статье Простой способ получения ”Flicker-Off”: «отключение» ШИМ мерцания подсветки LCD мониторов и телевизоров я обозначил несколько смежных тем, заслуживающих на мой взгляд отдельного разговора, которы...

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

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

Визуализация данных с помощью веб-фреймворка Dash (часть 2) В предыдущей части статьи мы разбирали, что такое dash в общем, и создавали одностраничный дэшборд, взяв за основу датасет драгоценных камней с kaggle.Но! Задачи, которые падают на нас ,не всегда просты и не всегда возможно ограничить себя  одной страницей на Дашборде. ...

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

Время менять шапки: ускорение мобильной поисковой выдачи Циан Однажды мы заметили, что поисковая выдача в мобильной версии Циан замедлилась: плохо работала на стороне браузера, грузилось много ресурсов, приложение долго открывалось. Естественно, это не радовало пользователей и сказывалось на метриках. В мае 2021-го Google анонсировал и...

Текстовая CAPTCHA в 2022 В этой статье я попробую пройти весь путь в распознавании text-based CAPTCHA, от эвристик до полностью автоматических систем распознавания. Попробую проанализировать, жива ли еще капча(речь про текстовую), или пора ей на покой.Впервые текстовая капча(text-based CAPTCHA), дал...

GPS на службе бизнеса: мягкий контроль или элемент безопасности? «Кому война, а кому мать родная», — казалось бы, какой повод вспомнить эту поговорку в 2022 году? Однако любой кризис даёт кому-то шанс на рост — так и пандемия позволила вырасти некоторым видам бизнеса. Например, несмотря на некоторое сопротивление рынка и работников компан...

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

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

Apple заплатила разработчикам 60 млрд долларов в 2021 году и зафиксировала рекордные продажи в период между Рождеством и Новым годом Apple объявила, что с момента запуска App Store в 2008 году она выплатила разработчикам более 260 миллиардов долларов. На конец 2020 года эта цифра составляла 200 миллиардов долларов, что означает, что 2021 году разработчики получили 60 миллиардов долларов. Apple также ...

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)