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

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

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

Service Mesh на стероидах: как построить управляемое взаимодействие между сотнями микросервисов Сталкивались ли вы с задачей построить Enterprise-grade-приложение из десятков приложений, слабо связанных друг с другом, разрабатываемых разными командами, с разными моделями релиза? Мы хотим поделиться опытом, как решили эту задачу в Netcracker. Как в этом помогла концепци...

Микросервисный фреймворк Flogo — собираем систему из кирпичиков Для создания микросервисной архитектуры на Go может использоваться фреймворк Flogo, основанный на идеях потока сообщений/данных между микросервисами и реакции на события. В этой статье мы рассмотрим его возможности на примере простой задачи обработки данных телеметрии. Читат...

Как можно повысить качество создания программного обеспечения с помощью методологий Lean Six Sigma и PRINCE2 Наукоемкое производство в наши дни нельзя представить без применения самых новейших методов управления и бизнес-инжиниринга.  Если еще каких-то лет 15 назад наукоемкое производство в России почти отсутствовало, то сейчас в этой сфере наблюдаются подвижки, а значит растё...

[Перевод] Учимся управлять людьми, пока команда не выгорела: 21 концепт Большинство новоиспеченных тимлидов доводят своих сотрудников до выгорания, пока учатся управлять командой. Если эти советы помогут избежать таких ситуаций, то стоит их написать. Статья будет полезна тимлидам небольших команд и стартапов. Возможно, она не пригодится менеджер...

Security микросервисов с помощью Spring, OAuth2, JWT и Service Account Не так давно я начинал свой первый проект с микросервисами и не знал как реализовать security. Сейчас информации по этому вопросу уже больше однако она не всегда актуальна и как правило не раскрывает проблему security межсервисного взаимодействия. Поэтому я решил написать ка...

[Перевод] Data-Oriented архитектура В архитектуре программного обеспечения существует один малоизвестный паттерн, заслуживающий большего внимания. Архитектура, ориентированная на данные, (data-oriented architecture, DOA) была впервые описана Радживом Джоши в отчете RTI 2007 года, а затем в 2017 году Кристианом...

Идея для языка программирования искусственного интеллекта. Свойство-ориентированный подход В данной статье предлагается новый свойство-ориентированный подход к организации объектной модели в языках программирования. Основная идея - вынести свойство из объекта и сделать понятия свойства и объекта равноправными. Это позволит получить крайнюю гибкость и универсально...

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

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

Первые эксперименты со смешанным Litex+Verilog проектом для ПЛИС В предыдущей статье мы начали осваивать построение шинно-ориентированных систем на базе среды Litex (которая всё делает на Питоне) с внедрением собственных модулей на Верилоге. Статья так разрослась, что практические опыты мы оставили на потом. Пришла пора провести их. Сегод...

Управление распределенными транзакциями с помощью Camunda "Всякое решение плодит новые проблемы" (закон Мерфи)В этой статье я собираюсь поговорить о подходе к решению задачи обеспечения консистентности данных в микросервисной архитектуре, т.н. распределенных транзакциях. Почти два года назад я впервые познакомился с инструментом Ca...

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

Перевод аудио-сообщений в текст в telegram при помощи Wit Я абсолютно уверен что скоро в telegram - перевод аудио-сообщений в текст будет функцией по-умолчанию, ну а пока хотел бы показать простенький пример как реализовать такой функционал в telegram-боте (которых уже сотни, но почему бы не посмотреть как это работает на примере)....

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

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

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

[recovery mode] Проектирование и настройка микрополосковых полосно-пропускающих фильтров СВЧ диапазона При проектировании СВЧ электроники часто приходится использовать микрополосковые фильтры реализованные на плате в виде проводящих дорожек. Если нужен не очень качественный фильтр (2-3 порядка), то рассчитать его топологию не составит труда. Но иногда необходимо настроить фил...

Доводим распределённые действия до конца с использованием простейшего паттерна Saga Привет! Меня зовут Иван, я занимаюсь бэкенд-разработкой в Ozon: пишу микросервисы на Go для личного кабинета продавца. В прошлом году мы запустили новый процесс регистрации продавцов, в котором задействовано сразу несколько микросервисов. В нём стало больше шагов, при этом к...

Байесовская Сеть Доверия Применительно IoT Привет, Хабр. В предыдущей статье рассматривали методы и алгоритмы Обнаружения и Диагностики Неисправностей (ОДН) IoT устройств. Как логическое продолжение рассмотрим Байесовскую Сеть Доверия (БСД) для IoT устройств целю ОДН.Байесовская сеть доверия (англ. Bayesian Belief Ne...

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

Мультивибратор на компараторе Занимаясь электроникой, я столкнулся с проблемой организации разрозненных знаний в "разумное целое".Стандартный вузовский путь: читай высокоумный учебник, делай лабораторку, проходи контрольный тест — слишком долог, «лишняя» информация быстро забывается. Бессистемные опыты ...

[Перевод] Базовые принципы Availability О чем статьяВ этой статье речь пойдет о БАЗОВЫХ подходах и принципах к такому quality attribute (QA) как Availability. Никаких сложных случаев, ничего слишком сложного, только теория с двумя примерами, скипайте, если искали что-то эдакое.Вся информация основана на парах книг...

Использование Jetpack Compose в продакшне: первые впечатления Мы в МТС Банке давно ждали релиза Jetpack Compose, чтобы использовать его в продакшне. В прошлом месяце такая возможность наконец появилась — мы решили обновить дизайн одного из экранов нашего приложения «МТС Банк для бизнеса» для Android. В статье я хотел бы поделиться н...

«Она со мной, углепластик»: Kurumi Diary хорошая игра, но с ужасным переводом Если вы хотите отдохнуть от напряжённой жизни и постоянно круга «дом-работа», Kurumi Diary с этим поможет. Но ни за что не ставьте русскую локализацию. Kurumi Diary — аниме-проект, в котором мы живём с 16-летней девочкой. Да, начало уже многообещающее и сомнительное. На сам...

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

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

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

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

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

Как мы распознаем фото документов пользователей. Часть I Привет, Хабр! Я Илья, Junior Data Scientist в inDriver. В работе нам часто приходится распознавать документы водителей или пассажиров для их верификации в приложении. Наша команда выработала свой подход к идентификации текста и фото документов, которым мы хотели бы поделитьс...

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

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

[Перевод] Рендеринг DOOM с помощью чекбоксов Дисклеймер: перевод статьи публикуется с одобрения оригинального автораПоиграть можно тут (Chrome/Edge), исходный код здесь, текст статьи ниже.На этой неделе я прочитал статью Брайана Брауна — "Я всё ещё продолжаю экспериментировать с чекбоксами". Там он рассказывал про свою...

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

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

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

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

[Перевод] Как миграция с Oracle на PostgreSQL в облако влияет на сторадж? Вы когда-нибудь задумывались о том, чтобы перенести крупномасштабное программное решение с Oracle на PostgreSQL, а затем развернуть его в общедоступном облаке? Если Вы планируете реализовать подобное, возможно, Вам поможет наш опыт. Данная статья подробно рассказывает о наше...

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

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

[Перевод] Flutter 3: что нового Представляем перевод статьи о свежем релизе Flutter с комментариями Евгения Сатурова, Head of Flutter в Surf. Читать далее

Представлено семейство процессоров Imagination Catapult на архитектуре RISC-V Компания Imagination Technologies представила семейство процессоров Imagination Catapult, построенных на открытой архитектуре системы команд (ISA) RISC-V. По словам производителя, эти CPU разработаны с нуля для нужд гетерогенных вычислительных решений следующего поколен...

Что в глубинах Data Lake? Строим архитектуру, укладываем слои, распределяем ответственность Привет, Хабр! Меня зовут Григорий Коваль, я технический руководитель Core Data Lake центра Big Data МТС. Сегодня я расскажу о том, какие слои находятся внутри Data Lake, как построить архитектуру базы данных и чем распределенный Data Mesh-подход отличается от монолитного хра...

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

[Перевод] Dungeons & Dragons для SRE В прошлой жизни я работал фулл-тайм SRE, а по совместительству был драконорожденным паладином по имени Лорарат (Lorarath). На работе со своей командой я сопровождал тысячи систем, а вечерами пытался выжить в воображаемых битвах и спасти мир от ведьмы Морганы. Мне нравятся со...

Как масштабировать сервис в 20 раз и свернуть обратно за один день Может ли команда разработки быть спокойной 8 марта, если вы в сервисе №1 по доставке цветов? Наша история.Меня зовут Дима, я работаю техническим директором в Flowwow. Мы развиваем маркетплейс локальных магазинов, которые продают красивые букеты и подарки. В нашей R...

Установка Windows 10 с работающим звуком на старые MacBook и iMac Столкнувшись с проблемой не работающего звука при установке Windows на свой MacBook 11го года обнаружил, что материала по данной теме в русскоязычном сегменте интернета крайне мало, можно сказать что его нет вообще. Эта статья написана в помощь всем столкнувшимся с такой же ...

[Перевод] Почему сооснователь Wasmer ушёл из компании? 4 октября 2021 года — последний день работы одного из основателей Wasmer в компании. Wasmer — стартап, который разрабатывает очень популярную одноимённую среду выполнения WebAssembly. Речь пойдёт о том, чего автору статьи удалось достичь за время работы в компании. Это не те...

[Перевод] Невидимый Javascript-бэкдор Несколько месяцев назад мы увидели пост в сабреддите r/programminghorror: один разработчик рассказал о своих мучениях с поиском синтаксической ошибки, вызванной невидимым символом Unicode, скрывавшемся в исходном коде на JavaScript. Этот пост вдохновил нас на мысль: что есл...

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

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

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

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

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

Архитектура Вселенной, часть 3: Идея Перед прочтением рекомендуется ознакомиться с предыдущими статьями цикла "Архитектура Вселенной":• Часть 1: Сознание• Часть 2: Относительность• Часть 3: ИдеяВ прошлой части "Архитектуры Вселенной" мы говорили об относительной природе пространства и времени, а сейчас я хотел ...

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

[Перевод] Что такое проблема оракулов в блокчейн? Проблема оракулов в блокчейн — одно из самых важных препятствий, если смарт-контракты построенные на базе сетей, таких как Ethereum, хотят достичь повсеместного применения в различных рынках и индустриях.Смарт-контракты представляют огромный потенциал преобразить то, как нез...

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

NestJS + GraphQL + Lambda Цель данной статьи - создать GraphQL приложение, построенное на фреймворке NestJS. А также загрузить его в Лямбда-функцию при помощи Terraform. Надеюсь данный пример поможет многим сэкономить много времени. Читать далее

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

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

Недельный геймдев: #55 — 30 января, 2022 Из новостей на этой неделе: альфа Godot 4.0, Blender 3.0.1, Vulkan 1.3 и дорожная карта, новое Unity API, позволяющее сохранять данные сцены на GPU.Из интересностей: GTA 5 на Game Boy, играбельная Super Mario Bros в Substance 3D Designer, композитор Даррен Корб (Supergian...

Java 17 для тех, кто не следил. Часть 1 Уже вышла Java 18, но для всех, кто сидит на LTS, по-прежнему остаётся актуальной версия 17. Такие люди могут не отслеживать постоянно фичи каждой новой версии, а спокойно заниматься своими делами и иногда навёрстывать сразу всё. И как раз на такое «навёрстывание» рассчитан...

Эволюция архитектуры Авито, или Как мы монолит в Kubernetes затолкали Всем привет, я Александр Данковцев, lead engineer команды Antimonolith. Как можно догадаться, в Авито я занимаюсь распилом монолита. В статье речь пойдёт о процессе миграции монолита в Kubernetes и сопутствующих ему проблемах. Я разберу, как мы эти проблемы решали и к ч...

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

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

[Перевод] Представляем MongoDB 5.2 Rapid Release Привет, Хабр. В феврале стартует очередной набор группы курса "MongoDB", в связи с чем подготовили для будущих студентов перевод статьи из официального блога MongoDB про релиз 5.2. Решили, что для читателей Хабра эта информация тоже может оказаться полезной, поэтому делимся ...

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

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

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

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

[Перевод] Как мы избавились от 80% своего кода, повысив скорость разработки и уменьшив количество ошибок Оптимизация кода и развитие микросервисной архитектуры занимает значительную часть жизни команды разработчиков МВидео-Эльдорадо. Тем любопытней изучить опыт коллег за рубежом. Предлагаем вашему вниманию очередной пост на тему: «А как там у них». Читать дальше →

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

Как работать с Tanzu — опыт Sportmaster Lab Tanzu от VMware — это набор полезных продуктов для тех, кто работает с микросервисами. В Sportmaster Lab мы тоже начали его использовать, и в этом посте расскажем, как именно. Помогут нам в этом Павел Бацев, старший администратор сервисов Спортмастера, и Алексей Гришутин, ко...

Лопасти для ветряка на 3D-принтере (создание ветрогенератора, часть 1) Уже 15 лет, как мечта построить ветрогенератор оставалась нереализованной. Казалось-бы, давно канули в лету попытки электрифицировать дачу с помощью бочки и генератора от жигулей, хотя нет, до сих пор людям не дает покоя публикация в "Юном технике" 80-х ;-) Но современные...

Низкоуровневое обнаружение Wi-Fi устройств в домашней сети Чтобы сделать собственное уникальное устройство для «умного дома» сейчас достаточно купить микроконтроллер и электронные компоненты. Конечно, на рынке уже есть множество «умных» устройств, но не все производители предоставляют открытое API, и уж точно единицы разрешают (или...

Привыкаем к новой реальности: как планировать в условиях неопределенности «Какой план на неделю? Я не знаю, чем сегодня день закончится!»«Да зачем планировать, если все равно ничего не понятно!»Знакомо? Наверняка! Эта та реальность, в которой мы сейчас находимся. Уровень неопределенности просто зашкаливает, и горизонт планирования сокращается, в л...

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

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

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

Custom view на Compose В июле Google выпустил стабильную версию Compose. Это вызвало большой интерес в сообществе. Все вокруг стали поговаривать, что эта технология захватит Android-разработку, и скоро все будут писать на Compose.Я принялся за изучение, заглянул на developer.android.com и нашел ра...

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

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

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

Да что это такое, ваше качество кода? Салют, коллеги.Лично я, очень люблю поговорить про качество, поддерживаемость и выразительность кода (эти умные слова, часто звучат на код ревью)К сожалению, такие разговоры часто и быстро скатываются в холивар. Но, кажется, я нашел способ "вести разговоры о высоком без боли...

Фантастические формулы и как они работают В прошлой статье я рассказывал о том, как мы реализовали на основе Google Sheets собственную диаграмму Ганта для работы над игровыми проектами. Если вам зашла такая реализация или просто интересно глубже понять принципы устройства таблиц и формул, сейчас мы будем разбирать и...

9 декабря — QIWI Server Party 7.0, онлайн Привет! В следующий четверг, 9 декабря, мы проведём наш седьмой QIWI Server Party.Обсудим оптимизацию приложений на MongoDB, поделимся опытом проведения интеграционного тестирования в условиях множества сторонних API. Кроме этого — рассмотрим проблему с распределенными транз...

Technical Product Manager или Business Product Manager. Кто приносит больше пользы на практике? Всем привет. Хотел бы в рамках данной статьи рассмотреть такой вопрос, как построение команды продакт-менеджеров и выбор правильной конфигурации навыков у тех специалистов, которых мы бы хотели видеть в своей команде. Надеюсь, что данная статья будет полезна руководител...

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

[Перевод] Повышение производительности в Unity. Как я поднял показатель FPS с 15 до 60 Я делаю ремейк своей старой игры Loca Deserta: Sloboda Первая версия была написана на Flutter, но сейчас в качестве движка для игры я выбрал Unity.Я начал работу с нуля и реализовал множество новых функций, но заметил, что даже мой Galaxy S21 Ultra подлагивал во время игры. ...

Разработка и графических приложений в WSL2 Данная статья будет неким дополнением опубликованной ранее (не мной) статьи. Чтобы не повторять написанное, по ссылке выше есть информация о требованиях к работе wsl2 на windows 10, как его включить, настроить, обновить и запустить графическую среду. В текущей статье я расск...

Переводы всех статей Пола Грэма на всех языках (210+) Пол Грэм — один из самых уважаемых людей среди ИТишников, основателей и инвесторов. Он первоклассный программист (написал два языка программирования), хакер, создатель дерзкого акселератора Y Combinator, философ. Своими помыслами и разумом Пол Грэм врывается в широкий сп...

Градиентный бустинг с CatBoost (часть 2/3) В первой части статьи я рассказал про понятие градиентного бустинга, библиотеки, с помощью которых можно реализовать данный алгоритм и углубились в одну из этих библиотек. Сегодня продолжим разговор о CatBoost и рассмотрим Cross Validation, Overfitting Detector, ROC-AUC, Sna...

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

[Перевод] React, AbortController и асинхронные onClick вызовы Добрый день, читатели Хабра, представляю вашему вниманию перевод статьи React, Abort Controller and onClick async calls Что такое Abort Controller в JavaScript Web Apps, как его использовать в React для прерывания асинхронных вызовов? Теория и некоторые примеры использова...

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

Портируем код C/C++ на Python В первой части нашего небольшого цикла статей мы исследовали возможность использования структур данных в Python, которые были созданы с помощью языков программирования C/C++. Для этого мы рассмотрели библиотеку Ctypes.В этой статье попробуем разобраться, какие еще есть подхо...

Как мы создаем микросервисные проекты с нуля Считается, что запуск микросервисов изначально затратнее по времени, чем монолит, и наш опыт это подтверждает. Однако, если следовать проверенным процессам, эти затраты можно минимизировать. Делюсь лучшими практиками и составляю чек-лист запуска. Читать далее

[Перевод] React SEO: Советы по созданию SEO-friendly приложения Привет, Хабр! Представляю вашему вниманию перевод статьи “React SEO: Tips to Build SEO-friendly Web Applications” автора Paridhi Wadhwani.О чем пойдет речьВы узнаете проблемы, с которыми сталкивается React приложения в части SEO (Search Engine Optimization или оптимизация д...

6 приложений для iOS, чтобы немного успокоиться В погоне за тем, чтобы успеть все сделать по работе, мы совершенно забываем об отдыхе и собственном здоровье. Важно уделять в день хотя бы 20 минут для того, чтобы побыть в тишине и немного перезагрузиться. Владельцам AirPods Pro повезло больше всех — достаточно встав...

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

СБП C2B. Снаружи и изнутри Мы все уже освоились с «переводами по телефону» друг другу, но пришла пора поговорить про оплату через СБП. Тем более что эту функцию реализовали уже больше 60 российских банков, то есть новый инструмент для платежа смартфоном есть теперь у большинства жителей страны.В этой ...

Нужен ли Mockito, если у вас Kotlin? Салют, коллеги.В рамках пятничной статьи предлагаю посмотреть на интересный способ создания моков в Kotlin, без использования сторонних библиотек.Я занимаюсь разработкой аддонов для Atlassian-стека в компании Stiltsoft и, из-за технических ограничени...

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

Оценка задач в Story Points для больших и молодых команд разработки У разработчиков, которые давно работают вместе, обычно нет проблем в оценке задач. В таких командах процессы настроены, а люди хорошо понимают друг друга, и любому новичку, попавшему в такую команду, быстро объяснят, научат и покажут, как работать в команде.Но на старте прое...

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

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

Сравнение алгоритмов детекции лиц Привет, Хабр! Очень часто я на просторах интернета натыкаюсь на такой вопрос: «А какое готовое решение по детекции лиц лучше всего использовать?» Так вот, я отобрал 5 решений с Github, которые показались мне хорошими, относительно новыми и лёгкими в использовании, и хотел ...

Грабли, спрятанные в Kotlin Kotlin создавался, чтобы избежать некоторых проблем Java. Но как и в любом языке, есть в нем свои особенности. Разрабатывая собственный проект, мы наткнулись на несколько таких моментов. Часть стреляет вам в колено на продакшене, только если вы ими злоупотребляете. Другая от...

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

[Перевод] Flutter 2.8: что нового Повышение производительности, новые фичи Firebase, состояние десктопной версии, новые инструменты и многое другое.Я — Евгений Сатуров, Head of Flutter в Surf и ведущий Flutter Dev Podcast. Представляю перевод официальной статьи про свежий релиз Flutter 2....

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

[Перевод] Масштабируем Jetpack Compose Navigation В одном из моих личных проектов я решил использовать Jetpack Compose в качестве основной технологии. Это означало, что моё приложение будет иметь одну Activity, а вся навигация будет выполняться с помощью Compose. Когда я начал планировать проект, библиотеки Compose Navigati...

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

Unity «Best» Practices Эта статья родилась из внутреннего доклада для коллег, которые уже достаточно давно занимаются разработкой игр, но только недавно прикоснулись к Unity. Здесь мы собрали фишки и особенности работы с этим игровым движком разной степени капитанскости, почерпнутые из собственног...

Прототипирование процессоров Baikal на платформе Synopsys HAPS Если предыдущая статья про гибридное прототипирование https://habr.com/ru/company/baikalelectron/blog/582782/ описывала новаторское использование платформы HAPS, то сегодня мы расскажем в общем - что такое прототип, и какие традиционные подходы к  прототипированию испол...

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

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

Engineering Manager: Место в структуре организации, задачи, плюсы и минусы Данная статья поможет разобраться в том, что из себя представляет позиция Engineering Manager, причём тут Tech Lead и как с этим жить? Читать далее

[Перевод] Базовые концепции аллокаторов Находясь в поисках какой-то агрегированной информации о стандартных приёмах, используемых при проектировании кастомных аллокаторов, я обнаружил, что существует достаточное количество статей о том, как аллокаторы работают в C++, каких-то базовых вариантах или наоборот очень с...

STM32, CMSIS, CAN, Часть 1 — передача Привет, сегодня мы будем настраивать отправку данных с помощью CAN (Controller Area Network). В интернете много информации о том, как настроить CAN использую HAL библиотеку, а в случае использования CMSIS информация обрывочна, по этой причине решил рассказать о своем опыте р...

Распределённые транзакции Kafka + PostgreSQL средствами Spring Как известно, во многих IT-проектах есть типичная задача -  транзакционная обработка данных в интеграционных сценариях, когда необходимо согласованно отправить или принять данные из внешней системы и при этом обновить собственное состояние приложения.Особенно интересной...

"Arbalest" Prototype-00. Стройка боевого робота с нуля (почти). Цели этой статьи.Популяризация 3d печати и попытка вдохновить людей на творчество.Показать создание робота, используя копеечные ресурсы.Если лениво читать стену текста, то пролистывайте до конца и просто смотрите последнее фото готового робота)Вместо вступленияЭто вторая ста...

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

Telegram-бот на вебхуках — Java+Spring, Redis, клавиатуры и деплой на Heroku — снова для самых маленьких В предыдущих сериях Это вторая статья в моей серии «для самых маленьких» — предыдущая была посвящена «классическому» Telegram-боту, наследуемому от TelegramLongPollingBot. Для кого написано Если вы ни разу не писали Telegram-ботов на Java с использованием вебхуков и тольк...

Анти–Тьюринг В.А.Крюков[email protected]Существующие распространенные парадигмы программирования, несмотря на прогресс в области разработки средств программирования, интуитивно недоступны специалистам предметных областей, охваченных автоматизацией, особенно в области управления технологичес...

Конкордантность смысла В [1, 2, 3] тексты (знаковые последовательности с повторами) с помощью матричных единиц, как образов слов, превращались (координатизировались) в алгебраические системы. Координатизация — необходимое условие алгебраизации любой предметной области... Читать далее

Design Sapiens: путь к дизайн-системе, которой удобно пользоваться Я UX/UI-дизайнер, уже два года работаю в ISPsystem. Одной из глобальных моих задач все это время было сделать нашу дизайн-систему удобной для использования.Полноценная дизайн-система — с гайдами, состояниями и борьбой с разработчиками — испытание не только для новичка в диза...

[Перевод] Чем Linux HugePages важны для серверов баз данных? Часто пользователи рассказывают о сбое базы данных по вине Out Of Memory Killer. Он завершает процессы PostgreSQL и остается причиной большинства отказов этой БД. Память на хост-компьютере может закончиться по нескольким причинам. Наиболее распространены из них четыре. Во-пе...

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

Материализованные представления и ReplacingMergeTree в ClickHouse В этой статье будут описаны подводные камни, на которые я натыкался при использовании одновременно материализованных представлений и движка ReplacingMergeTree в ClickHouse (далее CH). Для опытных пользователей CH эта информация возможно будет уже не новой, но надею...

Flutter: автоматизация UI тестирования Мы — команда мобильного проекта FL.ru. В своей статье хотим познакомить вас с Flutter Driver и рассказать об автоматизации UI тестирования мобильных приложений с помощью данного инструмента. Читать далее

CRUD 0.11.0 для Tarantool Неделю назад вышла новая версия модуля CRUD для Tarantool. В 0.11.0 появилось множество нововведений, просьбы о которых поступали от наших пользователей. Что изменилось, как этим пользоваться и кому это может быть полезно? Расскажем обо всём.Tarantool — это платформа in-memo...

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

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

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

Как устроены облачные сети и чем они отличаются от On-premise Cloud Station — Photoshop Art by PhaseRunner Принципы построения облачных и On-premise-сетей различаются: в облаке много новых сетевых сущностей и подходов к построению инфраструктуры. Но новое не значит сложное. Меня зовут Болат Кажкенов, я архитектор VK Cloud Solutions....

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

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

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

Как получить пароль WPA2 WiFi с помощью Aircrack-ng? Друзья, всех приветствую!В этой статье я покажу вам как использовать airmon-ng (скрипты из пакета aircrack-ng) для обнаружения беспроводных сетей вокруг нас. Затем мы деаутентифицируем клиентов определенной беспроводной сети, чтобы перехватить handshake, а затем расшифруем е...

Agile — синдром «но» Наверняка вам приходилось слышать от знакомых или коллег, что их организация пошла по пути Agile в управлении поставкой ценности клиентам. И часто в таких разговорах говорят, что мы, конечно, используем гибкие методы управления разработкой, «но» есть несколько вещей, которые...

Илон Маск задумался об открытии собственного университета Состояние Илона Маск (Elon Musk) перевалило за 300 миллиардов долларов, и этих денег вполне хватит на новые инициативы предпринимателя. Одна из них – открытие высшего учебного заведения в Техасе, куда недавно перебрался сам миллиардер, а скоро переедет и штаб-квар...

[Перевод] Сериализуемость транзакций В этой статье рассмотрим, что такое "Сериализуемость" (Serializability) и какие гарантии она предоставляет.В реляционных СУБД уровень изоляции Serializable (сериализуемость), как следует из названия, обеспечивает сериализуемость транзакций. Однако, как вы увидите далее, в не...

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

[Перевод] Shape Up на русском. Книга от создателей Basecamp о том, как выпускать нужные рынку продукты – в срок И сразу ссылка:https://shapeup.vlad.studio/С вами так бывало? Послушаешь новый альбом и так зацепит, что обязательно нужно со всеми поделиться. Примерно это случилось со мной и книжкой «Shape Up». У меня за плечами десяток лет работы продуктовым дизайнером, и я не раз видел,...

NVIDIA представляет графический процессор Edge Tensor Core начального уровня NVIDIA представила новейшее дополнение к своей линейке графических карт, ориентированных на данные, под названием A2 Tensor Core GPU. Компания рассматривает графический процессор A2 Tensor Core в качестве отправной точки для ускорителей, которые обеспечивают машинное обучени...

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

Это GPU для GeForce RTX 5090 Ti? Графическая архитектура Nvidia, которая появится через несколько лет, будет называться Blackwell Следующими графическими архитектурами Nvidia будут Ada Lovelace и Hopper. Первая будет ориентирована на игры, а вторая — на ЦОД. Хотя были слухи, что старшие GPU Hopper могут быть использованы для топовых видеокарт GeForce RTX 40, если мощности Lovelace не хватит,...

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

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

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

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

[Перевод] Война или мир: используем MATLAB и Python вместе Если вы студент, работаете в академической сфере или на производстве, вы, вероятно, сталкивались с ситуациями, когда вам нужно было объединить работу с более чем одного языка программирования. Это обычное дело в инженерных и научных приложениях, особенно когда они связаны с ...

Пример использования WebAssembly-модуля, скомпилированного из Rust, в React-приложении Привет, друзья! На днях прочитал интересную статью, в которой демонстрируется возможность использования WebAssembly-модулей (далее — Wasm), скомпилированных из Rust, в React-приложении. Так вот, статья интересная, но автор толком ничего не объясняет, видимо, исходя из пред...

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

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

Создание API на основе протокола MTProto В уже  далеком 2019 Telegram объявил конкурс на создание веб-версии своего мессенджера, в котором мне удалось поучаствовать. По итогу у меня осталась библиотека, которая может работать с API Telegram по протоколу MTProto. Полученный опыт вдохновил меня реализовать прото...

Playwright: веб-тестирование без драмы Андрей Лушников выступил у нас на Heisenbug с докладом о Playwright ещё в 2020-м. Но похоже, что с тех пор тема доклада стала только актуальнее: 34 000 звёзд проекта на GitHub ясно показывают, что он пришёл к популярности. А Андрей по-прежнему остаётся одним из главных контр...

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

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

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

Полуструктурированные данные в Аналитических Хранилищах Привет! На связи Артемий – Analytics Engineer @ Wheely.В последние годы явным стал тренд на анализ слабоструктурированных данных – всевозможных событий, логов, API-выгрузок, реплик schemaless баз данных. Но для привычной реляционной модели это требует адаптации ряда новых...

Управляем командой и продуктом: 7 SCRUM-инструментов для команд и компаний О том, что такое SCRUM, рассказывать на Хабре необходимости нет. Эта методология применяется компаниями любого масштаба для работы над проектами с оптимизацией взаимодействия команды. У нее есть как поклонники, так и противники, в чем можно убедиться, почитав комментарии под...

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

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

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

Golang meetup online Новый месяц — новый митап! На этот раз мы снова будем обсуждать Go. Спикеры из Evrone, Level.Travel и «Авито» поделятся опытом в организации кода микросервиса, построения кастомизированной системы управления поиском и создания полноценной масштабируемой архитектуры из MVP. ...

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

Что такое Netcat? Bind Shell и Reverse Shell в действии Друзья, всех приветствую!В этой статье мы поговорим о том, что такое Netcat и с помощью него реализуем Bind и Reverse Shell соответственно.NetcatNetcat, впервые выпущенный в 1995 году (!), является одним из "оригинальных" инструментов тестирования на проникновение в сеть. Ne...

Как правильно внедрять изменения, которые никто не хочет Типичная история тимлида. Съездил на конференцию, узнал новые вдохновляющие идеи и загорелся ими. Начал сходу внедрять то, что (по его мнению) точно сработает, и получил закономерный отпор команды: «Зачем нам вообще что-то менять?» «Но доклад был классный! Это точно рабочи...

Как упростить работу с базами данных в Node.js с помощью Objection.js Objection.js — сравнительно молодая и минималистичная ORM-библиотека для Node.js, которая сильно упрощает взаимодействие с базами данных и не перегружена дополнительными функциями, как Sequelize или TypeORM. Разбираемся, в чем ее специфика и как строить запросы с ее помощью....

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

Гидропоника для балкона? Почему бы и да Картинка: kartinkin.net Скоро лето и хочется чего-нибудь эдакого, связанного с природой, чего-нибудь зелёненького, может быть даже цветущего… Если вас мучают те же самые мысли, что и меня, то вполне можно попытаться объединить реализацию этих мыслей и свои технические навык...

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

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

Как можно отключить интернет по всей планете и что после этого случится? Согласно статистическим данным, в 1995 году доступ к интернету был примерно у 1% населения Земли. Сейчас, согласно тем же экспертам, доступ к сети есть у примерно 65% населения нашей планеты, и количество "подключенных" постоянно растет.Не так давно в Великобритании был пров...

[Перевод] Программирование с dplyr Большинство глаголов dplyr так или иначе используют аккуратную оценку (tidy evaluation). Tidy evaluation - это особый тип нестандартной оценки, используемый во всём tidyverse. В dplyr есть две основные формы tidy evaluation:Описанные концепции обращения к переменным таблиц д...

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

[Перевод] Скриптинг без скриптинга Уже давно считается, что многие (если не все) игры или приложения можно улучшить, добавив в них поддержку скриптов.Для этого есть несколько разных способов. Наиболее распространенный подход - встроить Lua (или другой язык, который вам больше нравится). Если это по каким-то п...

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

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

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

[Перевод] Знакомство с трансформерами. Часть 1 Трансформеры (transformers) — это очень интересное семейство архитектур машинного обучения. Существует много хороших учебных материалов по этой теме (например — вот и вот), но в последние несколько лет трансформеры, в основном, становились всё проще. Поэтому с...

[Перевод] Вселенная Стивена Вольфрама Примерно полтора года назад я опубликовал на Хабре перевод статьи Стивена Вольфрама: "Кажется, мы близки к пониманию фундаментальной теории физики, и она прекрасна". С тех пор Вольфрам и его коллеги по Physics Project продвинулись далеко вперед в своих исследованиях теории в...

[Перевод] TDD: Что пошло не так? Эта статья является переводом материала «TDD: What went wrong or did it?».В сфере разработки программного обеспечения уже давно хвалят Test Driven Development (TDD, разработка через тестирование). Однако в последнее время было сказано много резких слов в адрес TDD, поскольку...

Увеличь скорость команды взамен на всё Соревнования внутри команды - тот тренд в командах разработки, который я начал замечать в последнее время. Story Points, Bonus Points, рейтинг - все это разные названия, по сути, одного и того же. Общая система заключается в следующем: управленец выбирает какие-то критерии(з...

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

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

LG представляет технологию OLED- телевизоров OLED.EX Компания LG представляет технологию OLED- телевизоров OLED.EX. OLED.EX - это аббревиатура от «Evolution» и «eXperience», которая представляет собой цель компании - предоставить клиентам новые возможности с помощью постоянно развивающейся технологии OLED. LG Display также обн...

[Перевод] Structured concurrency в Swift Примечание переводчиков: В Swift 5.5 появилась новая концепция языка async/await. Мы решили опубликовать перевод статьи, чтобы разобраться с structured concurrency.За время подготовки перевода оригинал успели переписать, и в статье ниже мы совместили обе версии: сначала идет...

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

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

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

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

Спортивная игра от Ubisoft Roller Champions дебютирует 25 мая Ubisoft раскрыла дату запуска своей новой игры Roller Champions. Roller Champions — это спортивная игра 3 на 3, в которой вы сражаетесь лицом к лицу с командой соперников, используя скорость, смекалку, сокрушительные подкаты и дерзкие уклонения. Будьте первой командой, ...

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

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

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

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

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

[Перевод] Atlas: Путешествие Dropbox от монолита на Python до managed-платформы Прим. перев.: в этом материале, опубликованном прошлой весной в блоге Dropbox, инженеры компании рассказывают о том, какие проблемы были у их монолита, жившего аж с 2007 года, что они предприняли для их решения и какой результат это принесло.Чтобы всегда радовать пользовател...

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

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

Новое слово в расчётах систем видеоконференцсвязи — часть №2: расчёт диагонали ТВ и VR-визуализация 360˚ В прошлой статье Часть №1: подбираем видеокамеру, используя 3D-моделирование мы показали удобные современные инструменты для подбора оптимальной камеры для переговорной комнаты или конференц-зала.Этому проекту посвящается цикл статей:Часть 1: Подбираем видеокамеру, используя...

«Горячие» и «холодные» Feature toggles: принципы работы В этой статье мы расскажем про принципы безопасной работы с переключателями функционала – Feature Toogles:  — Что из себя представляют переключатели функционала и для чего их использовать. — Какие проблемы возникают при неправильном использовании. — Что такое «горячие» ...

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

[Перевод] Гайд по архитектуре приложений для Android. Часть 1: обзор Перевод обновлённого гайда Android по архитектуре приложений. Это — первая часть из пяти: обзор рекомендаций по архитектуре. Читать далее

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

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

[Перевод] Проактивные SIM-карты После столкновения с проактивными SMS-сообщениями от SIM-карты AT&T (перевод статьи тут) я решил проверить и другие SIM-карты. Не секрет, что практически все они поддерживают проактивные функции, но мне стало интересно, сколько карт используют их фактически. Читать далее

На детях гениев Data Scientist не отдыхает: как мы обучили модель Emojich, позволяющую генерировать эмодзи по описанию Есть сайт, на котором можно найти печальную и прекрасную галерею эмодзи, отвергнутых Подкомитетом Консорциума Юникода, – порой досада берёт при мысли о том, что мы потеряли: иконку яичницы, которая жарится на панцире черепахи (возможно, это месть той самой черепахе, которая ...

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

Как мы используем LLVM для ускорения формирования отчётов Для бизнес-приложений очень важна возможность быстро сформировать нужный отчёт. Для этого, в частности, важно быстро получить результат запроса (часто – очень сложного запроса) к СУБД. Что не всегда просто, потому что с этой СУБД работают на чтение и запись тысячи (а иногда ...

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

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

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

[Перевод] Гайд по архитектуре приложений для Android. Часть 4: доменный слой Перевод обновлённого гайда Android по архитектуре приложений. Это — четвёртная часть из пяти: рассказываем про доменный слой. Читать далее

[Перевод] Гайд по архитектуре приложений для Android. Часть 5: слой данных Перевод обновлённого гайда Android по архитектуре приложений. Это — заключительная часть: рассказываем про слой данных. Читать далее

15 стран, 9 языков: трудности перевода одного iOS-приложения В 2017 году у Додо Пиццы появилось приложение для iOS на русском языке, а в 2019 его понадобилось перевести на румынский, а потом ещё на несколько языков. При этом ни одна строка не была обёрнута в макрос NSLocalizedString(…).В этой статье я расскажу, какие инструменты мы ис...

[Перевод] SOLID – это не правила, а гайдлайны В этой статье автор высказывает личное мнение, сформулированное на основе его собственного опыта и вкуса. Поэтому просьба не обижаться, если вы с ним не согласны. Конечно, оно может быть ошибочным – но это и стоит обсудить.  Читать далее

Разворачиваем Golang приложение в Kubernetes В этой статье я хочу поделиться примером, как можно развернуть простое приложение на Golang в Kubernetes, с помощью helm чартов и skaffold скриптов. Думаю, данная статья может быть полезной тем разработчикам, которые только знакомятся с Kubernetes, а возможно и более опытным...

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

«Онланта» представила Kubernetes-платформу ONPLATFORM Компания «Онланта» (входит в группу компаний ЛАНИТ) выпустила релиз 1.0 Kubernetes-платформы собственной разработки для обеспечения эффективной эксплуатации информационных систем с микросервисной или сервис-ориентированной ...

7 принципов Agile из Agile Extension от IIBA Принципы — это те рельсы, которые направляют людей по жизненному пути. Международный Институт Бизнес-Анализа (IIBA) определил 7 главных принципов, которые указывают бизнес-аналитикам как работать приносить больше пользы команде и клиенту, делая меньше работы с большим к...

[Перевод] Python и чистая архитектура в 2021 году Прошло уже почти 3 года с тех пор, как я впервые воспользовался чистой архитектурой на практике. С тех пор я побывал на многочисленных конференциях, где выступал с докладами на эту тему (вот, например, доклад Clean Architecture in Python с конференции PyGotham 2018...

35 реальных рисков, убивающих data- и machine learning проекты Всем привет! Эта статья - обобщение моего опыта 30+ проектов, связанных с обработкой данных и машинным обучением. Здесь не будет теории про управление рисками и общего перечня проектных рисков. Я перечислил только наиболее частые “грабли” именно из data-специфики, с которыми...

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

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

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

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

Чтобы решать «нерешаемые» задачи, нужно знать алгоритмы Артем Мурадов — Senior Software Development Engineer в Amazon и автор курса «Алгоритмы: roadmap для работы и собеседований». Уже больше 14 лет он использует алгоритмы для решения рабочих задач и прохождения собеседований. С помощью алгоритмов он повышал производительность пр...

Локальные репозитории пакетов Всем привет! Сегодня хочу поделиться нашими мыслями относительно того, как защититься от санкций палок в колёсах в современных условиях. Собственно, что мы имеем ввиду? Речь идёт о том, что в крупных проектах часто есть единые точки отказа в процессах CI/CD, это может быть к...

7 правил от опытного тимлида, которые помогут добиться успеха не только в IT Привет. Меня зовут Андрей Костылев. Я работаю в IT более 15 лет.  За это время вырос из рядового программиста в тимлида и CEO проектов. Сейчас наш основной стартап — система автоматизации X24:ERP, которая помогает довести производственные процессы до совершенства.Сегодн...

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

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

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

Scrum в госкомпании: миф или реальность? SCRUM закрепился и в стартапах, и в IT-гигантах, но что на счёт скрама в крупной госкомпании? Попытаемся дать ответ на примере одной из команд разработки Россельхозбанка, а в конце статьи поделимся чек-листом в помощь начинающему скрам-мастеру. Читать далее

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

Bitsy. Make games, without operations Если вы давно хотели научиться делать игры, но не знали с чего начать, то рекомендуем попробовать Bitsy.Это редактор полного цикла для создания простых игр и маленьких миров на основе html. Это значит, что ваша игра максимально доступна и не требовательна, ее легко можно опу...

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

Язык программирования C∀(CForAll) Мой интерес к дизайну языков программирования приводит меня иногда к интересным, но почти неизвестным в широких кругах проектам. Один из таких проектов - язык C∀ (CForAll), разрабатываемый Университетом Ватерлоо. C∀ является расширением ISO C и обеспечивает обратную совмести...

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

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

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

Что будет, если отказаться от iPhone на неделю В моей жизни было много случаев, когда я оставался без смартфона: перед покупкой нового, когда он разряжался и даже несколько раз я забывал его дома. Было и сознательные случаи — просто хотелось побыть без соцсетей, мессенджеров и постоянных новостей. В период отпуска...

От КАМАЗа до природного газа. Самые интересные статьи про дата-центры за год Привет, Хабр! В прошлом году мы много писали про дата-центры. Статьи про необычные локации ЦОД, новые технологии и личный опыт. Будем рады, если вы найдете материалы, которые еще не читали, и поделитесь мнением в комментариях. Приятного чтения! Читать да...

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

О бедном Arcanum замолвите слово В Arcanum, как и в любой другой игре, существует масса собственных бинарных форматов. Эта статья познакомит вас с форматом упаковки изображений, который использовала студия Troika Games. Читать далее

Как мы распознаем фото документов пользователей. Часть II В прошлой статье я кратко описал методы и подходы, которые мы используем в inDriver при распознавании фото документов. Во второй части подробно опишу архитектуру CRAFT и CRNN, а также варианты их использования. Прошу под кат! Читать далее

10 лет Oil Rush: как не сгореть, создавая игру на собственном движке В этом году Oil Rush, нашей первой игре на собственном движке, исполнилось 10 лет. Основной профиль деятельности нашей компании — не совсем игры, но разработка Oil Rush помогла не только продемонстрировать технологию UNIGINE во всей красе, но и сделать ее еще лучше.Три года,...

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

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

7 мифов о свиданиях, которые мешают найти своё счастье Измените свой подход к романтическим встречам, если хотите не просто приятно провести время, но и построить гармоничные отношения.

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

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

Обогреватель для лунных модулей: зачем нужна эта разработка? Наука Астрономия 28.01.2022, 11:26 Обогреватель для лунных модулей: зачем нужна эта разработка? Компания Masten представила систему NITE, которая использует химические реакции для обогрева электроники посадочного модуля. ...

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

[Перевод] Pinned Object Heap в .NET 5 Эта небольшая статья Конрада Кокосы дополняет опубликованный неделей ранее перевод «Внутреннее устройство Pinned Object Heap в .NET». В этом материале Кокоса подходит немного ближе к практике, рассказывая об API, используемом для выделения объектов в POH, сравнивая его с зак...

Безопасность Kubernetes — это просто Привет, Хабр!Эта статья - расшифровка доклада с QIWI Server PartyМногие знают, что такое микросервисы и как их оркестрировать. А вот как обеспечить их безопасность, это отдельный вопрос, достойный обсуждения. Потому что если достаточно глубоко не разобраться в том, что и как...

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

Зачем компаниям API Management Привет, Хабр! Мы – Ярослав Насонов и Надежда Колезнева – развиваем витрину для внешних API в МТС. Сегодня обсудим тему управления API в корпорации. Поделимся опытом внедрения API-менеджмента в МТС, расскажем, что уже сделали, сколько потратили времени, с какими ошибками стол...

Тестирование GraphQL: подходы, инструменты, автоматизация Несколько месяцев назад на моем пути возник GraphQL.Это произошло, когда я присоединилась к одному из наших проектов, где был не только привычный REST, но и GraphQL API. Это было моё первое знакомство с ним. Я понятия не имела, что он собой представляет, в чем его особенност...

[Перевод] CSS :has() селектор Вы когда-нибудь задумывались о селекторе CSS, где вы проверяете, существует ли конкретный элемент внутри родителя? Например, если у компонента карты есть миниатюра, нам нужно добавить к нему display: flex. Это было невозможно в CSS, но теперь у нас будет новый селектор CSS :...

Как я научился не волноваться и полюбил управление состояниями Flutter. MVI и Clean Code в комплекте Цель статьи — показать, как сделать ваш проект на Flutter более понятным для усовершенствования и удобным в сопровождении. Текст может быть полезным как для тех, кто только начинает изучать Flutter, так и более продвинутых пользователей, так как здесь мы рассмотрим актуальны...

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

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

Как сэкономить на ресурсах с помощью модуля Terraform для AWS Spot Instance Иногда бывает довольно сложно сэкономить на Spot Instance Amazon Web Services (AWS). Не стоит забывать, что по сути это — аукцион. Цены хоть и не меняются так же резко, как на биржах, тем не менее могут расти, пока не достигнут ondemand. Бывает, что такое продолжается не ден...

Golang для Embedded Linux При разработке очередной платформы перед командой АТОЛ встал вопрос выбора языка программирования/стека технологий/железа/фреймворка для создания решений. Железо было выбрано на базе относительно недорогой Linux-платформы STM32MP153/512MB DDR3/8GB eMMC. Эта платформа имеет н...

Хитрая и мстительная прокрастинация: кому мстим и зачем? Привет! Я Даша, психолог, немедицинский терапевт и People Care Manager в Prequel. По долгу службы и по причине собственного интереса изучаю то, с какими переживаниями и трудностями сталкивается современный человек в окружающей нас реальности.В последнее время я часто слышу о...

[Перевод] Как мы собрали проект на Django и React и уважили загрузчик Webpack Когда мы взялись за гибридный проект, в котором одновременно использовались Django и React, мы столкнулись с дилеммой: как интегрировать две эти части, в особенности, как разрешить шаблонам Django отображать ресурсы JavaScript, сгенерированные при клиентской сборке. Мы нашли...

Что делать с телефоном умершего человека Не так давно Apple все же запустила функцию «Цифровое наследство» в обновлении iOS: опция достаточно своеобразная, но вполне логичная. Это наталкивает на мысли о том, а стоит ли передавать своим родственникам свое устройство, как правильно это сделать? Думаю, вы н...

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

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

[Перевод] Как в PayPal разработали Dione — Open-source-библиотеку индексирования данных для HDFS и Spark Maksym Kaharlytsky on Unsplash Команда VK Cloud Solutions перевела историю о том, как инженеры PayPal столкнулись с проблемой обработки данных. Если пользователю требовалось получить определенную строку или выполнить многострочный запрос, данные нужно было дублировать, а д...

Настраиваем GitLab Container Registry В этой статье мы рассмотрим, как настроить реестр образов GitLab Container Registry, находящийся за обратным прокси сервером NGINX. Предполагается, что у вас уже установлен GitLab с помощью пакета Omnibus. Согласно документации, Container Registry можно настроить на том же д...

werf v1.2 — стабильный релиз Open Source-утилиты для доставки приложений в Kubernetes werf — это CLI-утилита с открытым кодом для сборки приложений и их деплоя в Kubernetes. С версией v1.2 она получила множество изменений и улучшений, которые мы так тщательно тестировали и дорабатывали, что релиз долгое время — с января 2021-го — находился в статусе Early-Acc...

Valve наделит консоль Steam Deck поддержкой масштабирования AMD FSR абсолютно во всех играх Компания Valve сообщила, что после запуска консоли Steam Deck в конце этого месяца она получит обновление ПО, которое обеспечит поддержку AMD FidelityFX Super Resolution (FSR) абсолютно во всех играх из библиотеки Steam. Это означает, что технологию можно будет использовать ...

Как я получил офферы в Google, Amazon, Microsoft, Яндекс и Box, не завалив ни одного собеседования (ну, почти) Клибейт, кликбейт! Эта статья – пересказ моего треда в твиттере с небольшими доработками. Тут нет ограничения по символам, поэтому некоторые мысли я могу раскрыть лучше. Читать далее

Меняем стек с PHP на Golang, или Разработка под Kubernetes Привет, Хабр!На связи Паша Емельянов, тимлид в AGIMA. В этой статье расскажу, как на одном из проектов мы переписывали старый функционал, разработанный когда-то на PHP, на Golang, с какими проблемами столкнулись и как их решали. Статья будет интересна и начинающим, и миддлам...

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

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

Qualcomm и Ferrari объявили о стратегическом технологическом сотрудничестве Компании Qualcomm Technologies и Ferrari NV сегодня объявили о стратегическом технологическом сотрудничестве, направленном на ускорение цифровой трансформации Ferrari. Qualcomm Technologies будет поставщиком системных решений для будущих автомобилей Ferrari, а также пре...

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

Как вести переговоры с террористами… партнерами, детьми и вообще с кем угодно Есть настоящие профи по управлению проектами или те гении, которые придумывают изящные решения для заказчика. Однако почти в каждом, даже самом многообещающем проекте рано или поздно возникают проблемы. Иногда эти проблемы принимают монструозные масштабы, и команда проекта у...

Фишки iMessage в iOS 15, о которых вы могли не знать В 2022 году мы не представляем свою жизнь без мессенджеров: WhatsApp, Telegram и Viber появились не так давно, но кажется, что они с нами всю жизнь. Как насчет того, что у Apple есть собственный iMessage, в котором собрано все необходимое? Мы уже рассказывали вам о том, поч...

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

Как применять Branch by Abstraction в проекте на примере Android-разработки Представим простую историю. Вы заканчиваете делать рефакторинг, которым занимались последние 2 недели. Вы хорошо над ним поработали, сделали несколько ключевых изменений в проекте. Делаете долгожданный pull request, и ... 12 конфликтов.Или другой вариант. Вы работали и посто...

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

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

Softline помогла компании «Краснодарагроальянс» вынести ИТ-инфраструктуру в Softline Cloud Компания «Краснодарагроальянс» при помощи специалистов Softline разместила часть ИТ-инфраструктуры в облаке Softline. Это помогло предприятию оптимизировать расходы на оборудование и получить стабильную, легко масштабируемую инфраструктуру.

Автоматизация разработки конструкторской документации средствами VBA При выполнении проектов, в которых требуется разработка конструкторской документации соответствующей ГОСТам ЕСКД или СПДС, возникает много задач, связанных с ее корректным изготовлением. Часть этих задач связана с непосредственным оформлением документов – заполнением основны...

Платформа Qualcomm позволит GM к 2025 году создать робомобиль для частного использования На мероприятии CES 2022 делегация General Motors присутствовала лично, продемонстрировав немало интересных электромобилей и рассказав о ближайших планах корпорации. К следующему году система помощи водителю Super Cruise будет доступна покупателям 22 моделей, а полный автопил...

Как команда IT-animals о своих Heroes of might and magic грезит У нас в команде есть мечта: однажды разработать идейного наследника Heroes of might and magic. Вдохновил нас Atom rpg: духовный наследник первых двух игр серии Fallout, созданный преданными фанатами и независимой студией Atom Team. Эти ребята (8-11 человек) вывели свой проек...

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

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

Controller, но не Massive: реализуем список карточек для iOS 13 и не только с учетом практик чистого кода Привет! Когда мне по работе понадобилось реализовать список карточек на связке UICollectionView и UICollectionViewCompositionalLayout для iOS 13+, я не нашел хорошего примера. Написал свой и хочу поделиться с сообществом. А заодно показать реализацию для iOS11+.Примеры можно...

Полёты наяву для новичков и любителей: 10 бюджетных квадрокоптеров Ещё несколько лет назад съёмка при помощи квадрокоптеров была уделом профессионалов и ярых поклонников острых ощущений. Разбить дрон стоимостью в полторы сотни тысяч рублей было тем ещё удовольствием. Благо, что сейчас первые шаги в освоении воздушного пространства  и а...

Дайджест событий для эйчаров и рекрутеров в IT на декабрь 2021 Когда, если не в декабре, подводить итоги года, анализировать пройденный путь и задумываться о планах на будущее? Вот и мы считаем, что лучшего времени не придумать. Если мысль стать ИТ-рекрутером не выходит у вас из головы, эта подборка мероприятий поможет сделать первый ша...

Погромист. Мои самые эпичные провалы за всю карьеру Я люблю критику. Если вы не заметили, я, как старый дед, всё [поливаю грязью](https://habr.com/ru/post/594601/) и всем [недоволен](https://habr.com/ru/post/550088/).Забавно, но в то же время я люблю, когда критикуют меня самого, потому что именно в такие моменты я что-то нач...

Тысячная статья про принципы SOLID Ещё будучи совсем-совсем начинающим разработчиком, я услышал про принципы SOLID и, конечно же, совершенно их не понял. Их не помогли понять ни лекции Дядюшки Боба, ни книга его же авторства, не несколько десятков (а то и сотен) статей в интернете, которые я тогда прочитал (п...

SAGA на golang После того, как я написал статью про паттерн CQRS, мне захотелось описать ещё один интересный шаблон для микросервисной архитектуры, а именно saga (он же повествование). Читать далее

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

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

Центробанк впятеро увеличил лимиты на переводы денег за границу для физлиц Банк России объявил новые ограничения на переводы средств за границу для физических лиц. Если раньше лимит составлял 10 тысяч долларов, то теперь можно переводить до 50 тысяч долларов в месяц. Пресс-служба Центробанка пояснила: В течение календарного месяца резиденты Р...

Фанатам Exynos придётся подождать. SoC Exynos 2200 не будет представлена 19 ноября Однокристальная система Exynos 2200 с GPU на основе технологий AMD всё-таки не будет представлена на грядущем мероприятии 19 ноября, как считалось ранее.  Об этом официально заявила сама Samsung, не раскрыв при этом никаких подробностей. Одно мы знаем то...

«Ваша сезонность, сэр!»: ищем тренд и прогнозируем спрос с помощью временных рядов, SARIMA и Python. Ч.1 Как вы можете помнить по первой статье "Маркетинговая аналитика на Python. Пишем код для RFM-сегментации", более 8 лет я работаю в сфере маркетинга для B2B и примерно столько же бешусь от дилетантского подхода к аналитике, который тянет за собой ряд проблем с определением кл...

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

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

Div на div’е не сидит и div’ом не погоняет: пишем семантически верные индикаторы загрузки на Angular Сверстать собственный индикатор загрузки — одна из самых простых задач, с которой может столкнуться веб-разработчик. Для получения рабочего решения пригодятся базовые знания HTML и CSS, а JS будет нужен лишь для управления процентом выполненной задачи.Однако эта простот...

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

[Перевод] Архитектура PlayStation 3, часть 2: RSX Можно подумать, что Cell со всеми своими особенностями мог бы справится со всеми задачи этой консоли. Однако Sony установила отдельный чип для 3D-графики, чтобы завершить свою консоль PlayStation 3... Читать далее

Apple запустила Fitness+ в России, но задрала цену на подписку Apple продолжает нас радовать приятными новинками. После выхода iPhone 13 и AirPods 3 прошло достаточно времени, но многих читателей нашего Telegram-чата волновало другое: когда же запустят Apple Fitness+? Этот день настал! С сегодняшнего дня сервис для тренировок доступен ...

MoreliaTalk — безопасный мессенджер с открытым исходным кодом Привет, Хабр! Сегодня я хочу рассказать вам о проекте, над которым я и ещё несколько разработчиков трудимся уже около полугода. Этот проект называется MoreliaTalk. Что это же он из себя представляет? MoreliaTalk - это мессенджер с открытым исходным кодом, построенный на клие...

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

Свободный поиск по вашим правилам В последнее время активно ходят слухи о том, что в основанных на Chromium браузерах скоро станет невозможно удалять поисковые системы, установленные в браузерах по умолчанию. Ожидается, что такое счастье наступит в жизни пользователей Google Chrome, Microsoft Edge, Brave и O...

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

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

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

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

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

[Перевод] Авторизация в PostgreSQL. Часть 2. Безопасность на уровне строк Приветствую вас в очередном разборе инструментов авторизации PostgreSQL. В первых двух разделах предыдущей статьи мы обсуждали, чем интересна авторизация в PostgreSQL. Вот содержание этой серии материалов: Роли и привилегии; Безопасность на уровне строк (мы сейчас здесь);...

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

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

[Перевод] О типах Автор оригинального материала — Роберт С. Мартин (Uncle Bob), 25 июня 2021Я написал свою первую программу в 1964 году. Программа называлась «Компьютеризированные ворота мистера Паттерсона» и была реализована на маленьком пластиковом компьютере под названием DIGICOMP-I, котор...

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

Как сохранить тесную коммуникацию в стремительно растущей команде Какие бывают проблемы роста, кроме очевидных, когда из 15 человек становится 80, а из одной команды вырастает 10? Почему разработчики начинают удаляться от пользователей и перестают чувствовать их боль? Как им не выпадать из коммуникационных процессов? Я Дмитрий Шаронов, и я...

Приглашаем QA-инженеров на One Night Offer Привет!Мы расширяем команду IT-специалистов и на этот раз приглашаем QA-инженеров уровня middle/senior пообщаться в новом формате — One Night Offer.Мы не будем тратить время на на найм «по всем правилами» — с долгими согласованиями и десятком собеседований. Предлагаем уложит...

Зачем бизнес-аналитики лезут в дизайн или как мы вырубили «лес» и избавились от «слона» Меня зовут Ирина Козлова, я — старший бизнес-аналитик в ИТ-компании STM Labs. Помимо моих ключевых обязанностей: бизнес и системный анализ, сбор и управление требованиями, я принимаю непосредственное участие в приемке макетов от дизайнеров. Разрабатывая продукт с нуля, можн...

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

Настройка маршрутизации в сети с неподконтрольным роутером В данной статье описано как можно настроить прозрачное для клиентов использование ресурсов из луковой сети (The Onion Router aka TOR) и VPN соединение с другими сетями если провайдер предоставил вам роутер с минимальными возможностями настройки, сохраняя при этом возможность...

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

[Перевод] Ищем путь до линукс команд, как профессионалы Один из самых распространённых вопросов от подписчиков — как получить путь к команде Linux, которую только что установили в систему с помощью пакетного менеджера, например, команды apt или DNF. Много новых разработчиков переходит к нам из мира Windows, и для многих это перв...

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

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

[Перевод] Python как инструмент сборки Предлагаем вашему вниманию перевод поста Никиты Прокопова, разрабочика с 15-летним стажем. Обычно, начиная проект на Java (или любой другой проект), вы не хотите заново изобретать колесо. Вы де-факто выбираете систему сборки, структуру папок, окружение и т.д. То, что испол...

Эти GPU Intel не хочет никому продавать. Решения Xe-HP Arctic Sound компания использует в своих ЦОД Более года назад Intel представила чудовищный GPU Xe-HP (Arctic Sound), ориентированный на работу в серверах. Он был доступен в трёх модификациях, старшая из которых содержала четыре кристалла, 54 млрд транзисторов, более 16 000 ядер и предлагала производительность...

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

FinOps с помощью Governance-as-Code Масштабы и сложность решений, основанных на облачных технологиях, продолжают расти. Слишком часто это расширение также означает, что затраты продолжают выходить из-под контроля. В этой статье мы рассмотрим, почему развивающаяся практика облачного финансового управления (FinO...

ММК и «Сименс» развернут интеграционную платформу и создадут центр компетенций Выбирая основной продукт для базы данных реального времени цифровой платформы Группы ММК, Магнитогорский металлургический комбинат принял решение в пользу интеграционной платформы WinCC Open Architecture от "Сименс".Интеграционная платформа WinCC Open Architecture ...

C++ Builder. Есть ли жизнь после смерти? Мнение одного динозавра В этой статье я опишу собственные впечатления о последних версиях среды разработки RADStudio от Embarcadero и, возможно, постараюсь помочь кому-то в ответе на вопрос: «А оно мне надо?».Сразу оговорюсь. Все описанное в этой статье является моим личным мнением и любые сравнени...

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

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

[Перевод] Решение головоломки Wordle в командной строке Я терпеть не мог, когда родственники заставляли меня играть в Scrabble. Единственное, в чём я был хорош — так это в игре Countdown, в той её части, которая связана с числами. А теперь мне досаждает новая игра со словами Wordle, которая вот уже недели две то и дело выскакивае...

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

Сам себе нотариус. Используем OpenSSH для подписи файлов и TLS для нотариального заверения веб-страниц Если нужно подписать файл, чтобы гарантировать его аутентичность, что мы делаем? Старый способ — запустить PGP и сгенерировать подпись, используя команду --sign. Цифровая подпись удостоверяет создателя и дату создания документа. Если документ будет как-то изменён, то прове...

Что важно знать об iPhone в долгой поездке Уверен, вы время от времени оказываетесь в долгих поездках: в это время важно найти себе занятие и увлечь себя, чтобы не заскучать от тоски. iPhone или iPad — идеальные спутники в дальней дороге. Они способны по полной вас развлечь и принести много пользы, чтобы разно...

Ещё одно решение игры Wordle на Python В начале 2022 года мир захватила головоломка Wordle и почти сразу стали появляться варианты решения. На Хабре уже появилось описания двух вариантов решения, но они мне не понравились, поэтому я изобретаю свой собственный велосипед. Ссылки на предыдущие решатели:1) https://ha...

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

JAMI Group х Ситибанк: как воркшоп меняет генерацию social-контента бренда Клиентская команда JAMI Group и команда департамента маркетинга и продаж в цифровых каналах Ситибанка провели креативный воркшоп на тему трендов контента и подходов к Social Media. В статье коллеги делятся актуальными примерами локальног...

ЦБ вновь повышает порог по сумме переводов за рубеж для физлиц. С 8 июня можно будет переводить до 150 тысяч долларов в месяц Банк России с завтрашнего дня повышает порог по сумме переводов за рубеж для физлиц-резидентов РФ и нерезидентов из дружественных стран с 50 до 150 тысяч долларов в месяц. Суммы переводов рассчитываются по официальному курсу иностранных валют к рублю, установленному ЦБ ...

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

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

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

NVIDIA GeForce RTX 4090 и 4080 будут иметь до 24 ГБ памяти GDDR6X и мощность 600 Вт После запуска архитектуры Hopper, ориентированной на центры обработки данных, NVIDIA постепенно готовится к переходу потребительского сегмента на новый, ориентированный на игры дизайн под кодовым названием Ada Lovelace. Утверждается, что NVIDIA использует грядущий графически...

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

Правда ли, что из-за смартфонов люди стали более одиноки Сейчас почти никто не представляет своей жизни без смартфона. Но сделала ли людей необходимость быть постоянно онлайн более одинокими? Об этом - в материале BBC Science Focus Magazine.

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

[Перевод] Корутины в C++20 — что это и как с ними работать Прим. Wunder Fund: В статьи описаны базовые подходы к работе с корутинами в 20м стандарте С++, на паре практических примеров разбораны шаблоны классов для промисов и фьючеров. По нашему скромному мнению, можно было бы реализовать и поизящнее. Приходите к нам работать, если и...

Как открыть международную VISA/MASTERCARD за один день Как мы уже все знаем платежные системы Visa и MasterCard с 10 марта приостановили работу в РФ, и если на внутренних операциях это практически никак не сказалось (нельзя больше использовать Apple/Google Pay), то вот вне РФ наши карты теперь не действуют. Кроме невозможности о...

Случайные лабиринты и сапёр от третьего лица, инопланетные жуки и алгоритм Брезенхема Всем привет! Уже больше 30 лет я занимаюсь разработкой видеоигр и регулярно экспериментирую с различными игровыми механиками. В результате я пришел к идее создать игру по типу сапёра, но от третьего лица и на roguelike подобном уровне.Исследуя большое пространство, нужно соб...

2021 год в разработке технологий ABBYY – и не только. Подводим итоги года С наступающим новым годом, Хабр! Чтобы не быть занудами, постараемся подвести короткие итоги 2021 года, потому что без них никуда :) Вот несколько главных событий, которыми гордится вся наша команда:•     Создали low-code/no-code платформу, которая позвол...

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

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

[Перевод] Архитектура первой PlayStation: графика Начало: центральный процессор Напомню, что большая часть графического конвейера выполняется GTE. В неё входит преобразование перспективы (проецирование 3D-пространства на 2D-плоскость при помощи вида из камеры) и освещение. Затем обработанные данные передаются собственному...

Автоматизация наполнения Changelog через CI В этой статье я постараюсь рассказать, как на моей работе я реализовал автоматическую генерацию Changelog из коммитов и создание тегов на их основе. Читать далее

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

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

Новый язык обычного и параллельного программирования Planning C 2.0 Здравствуйте, уважаемые читатели.Хочу написать здесь об одном из своих проектов -- языке Planning C (v2.0). Он является расширением C++, дополняющим базовый язык рядом новых конструкций. В настоящее время проект доступен в репозитории (исходный код прототипного транслятора-п...

Tank Battle позволяет заработать NFT и продать их за крипту Студия Tank Battle выпустила одноимённую игру, в которой геймеры собирают танки и сражаются на них. По сути вы можете создать неповторимую машину для убийств, улучшить её и продать за криптовалюту. Tank Battle — аркадный проект, издалека напоминающий игры от Supercell. То ...

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

[Перевод] Новый ИИ DeepMind позволил историкам расшировать древнегреческие тексты На этом фрагменте надписи зафиксирован указ, касающийся афинского Акрополя, датируемый 485-484 годами до н. э. Google DeepMind совместно с учёными создали новый ИИ-инструмент, использующий глубокие нейросети для расшифровки текста повреждённых древнегреческих надписей. Нов...

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

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

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

Как мы перестали плодить шаблонный код при работе с табличными представлениями в iOS Девять из десяти экранов любого iOS-приложения имеют табличный вид. Неважно, как реализовано это представление — на UITableView или UICollectionView, но для его реализации необходимо каждый раз писать шаблонный код:1) реализация табличного источника данных (UITableViewDataSo...

Куда уходит время? Боремся за миллисекунды в Kubernetes Привет, Хабр! Меня зовут Вова, я разрабатываю observability-платформу в Ozon. Как-то раз в наш уголок на 42 этаже заглянули коллеги — и поделились наблюдением. Если открыть рядом графики времён запросов и ответов двух живущих в Kubernetes и общающихся между собой микросервис...

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

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

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

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

[Перевод] Telegram позволяет узнавать координаты людей с точностью до метра В телеге давно есть опциональная фича live location sharing, который показывает точное расстояние до людей поблизости. Если использовать GPS спуфинг и трилатерацию (не путать с триангуляцией), то можно узнавать координаты людей в любой точке планеты с точностью до метра. Тел...

[Перевод] Инженерный подход к тестированию алгоритмов: исследовательский анализ рабочего процесса. Часть 1 Что из себя представляет тестирование и анализ алгоритмов? Давайте разберемся в этом на практике. Читать далее

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

Эволюция продуктовых команд Про то, почему и как в разных компаниях приходят к продуктовым командам. Мыслями поделился автор telegram-канала для продактов alexcouncil Алексей Арефьев. Читать далее

Как я создаю игры на своём 3D движке в одиночку Много лет назад я занимался созданием маленьких Flash игр и публиковал их на сайте Newgrounds. Сейчас я делаю полноценные игры для ПК.На сегодняшний день у меня 4 законченных коммерческих игр в Steam, и самая последняя из них — выпущенная в 2021 году Pilie Pals, о процессе с...

Представляем новый редактор Razor в Visual Studio 2022 С выпуском Visual Studio 2022 вы можете использовать новый редактор Razor для локальной разработки ASP.NET Core с использованием MVC, Razor Pages и Blazor. Загрузите Visual Studio 2022 и обязательно обновите его до версии 17.0.2, чтобы получить последние обновления Razor. В ...

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

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

Как бизнес-аналитики из Петербурга пересмотрели подход к найму кандидатов и что из этого вышло В августе бизнес-аналитики из Санкт-Петербурга стартовали новый проект, который получил рабочее название «Проект Z». Они расширили возможности входа в бизнес-анализ для тех, у кого нет опыта работы, и придумали новую систему обучения. Уже сейчас можно говорить о том, что это...

Подпись в кармане: как мы разрабатывали приложение для подписания документов через Госуслуги Госуслуги уже давно не про запись на приём в ведомственные учреждения и не про единое окно (чтобы этот термин не значил) — мы расширяем горизонт и развиваем полноценную цифровую экосистему.  На этот раз перед нами стояла задача разработать решение для подписания докумен...

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

[Перевод] Руководство по визуальному языку субтитров Эти рекомендации применимы к видимым субтитрам для телевидения или кино, к переводным субтитрам, субтитрам на YouTube, встроенным субтитрам для видео в социальных сетях и субтитрам в видеоиграх.Максимальное количество символов на строку и время показа субтитра ограничены, по...

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

Сломать объект с помощью финализации Вчера перевели в статус Candidate новый JEP 421: Deprecate Finalization for Removal. Путь к удалению механизма финализации из Java начался в Java 9, когда метод Object.finalize() был впервые объявлен deprecated. Рано или поздно механизм исчезнет из Java, поэтому если вы его ...

Альтернативный браузер Vivaldi для Android получил красочное обновление Команда набирающего популярность браузера Vivaldi объявила о выпуске мобильного обновления Vivaldi 5.1 для Android. Как отмечают разработчики, новшества были реализованы по настойчивым просьбам пользователей.  В Vivaldi 5.1 для Android появился инструмент, позволя...

[Перевод] Звёздный рейтинг: решение с использованием SVG Для некоторых веб-сайтов и платформ в интернете важно предоставлять пользователям звёздный рейтинг для возможности выставить оценку материалу. Недавно мне довелось реализовать для одного проекта компонент звёздного рейтинга. Я решил использовать SVG и не пожалел об этом. В д...

Ультра быстрый Cron с шагом в миллисекунду, или когда тестовые задания такими прикидываются Давным-давно наш коллега @novar разместил на Хабре статью с описанием вот такого незатейливого ТЗ, полученного им от потенциального работодателя:Реализовать класс для задания и расчета времени по расписанию. Расписание задано в стиле crontab (точный формат см. во вложении), ...

Как управлять командой разработки Привет! Я Иван Антипин, заместитель директора департамента разработки в AGIMA. За свою карьеру я поработал с десятками команд. Где-то был разработчиком, где-то тимлидом, где-то помогал извне. У меня был миллион возможностей разобраться, как люди ведут себя в коллективе. Но в...

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

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

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

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

[Перевод] 8 проектов с открытым исходным кодом Представляю несколько проектов с исходным кодом начиная от инструментов для повышения производительности до B2B приложений. Решения можно использовать как замену платным. Читать далее

[Перевод] Разработка настоящих компонентов: блок сообщения Facebook Messenger Смесь любопытства и тяги к исследованиям снова привели меня к системе обмена сообщениями Facebook. Я уже изучал компоненты Facebook и писал об этом. Сейчас я обратил внимание на то, что в одни только блоки для вывода сообщений чата вложена огромная работа. На первый взгляд м...

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

Открытая дверь Всем привет. Я –Валера Черепенников, бывший генеральный директор Intel R&D в России, а с2020 года VP Нижегородского исследовательского центра Huawei. Но сейчас я не от лица компании говорю, а хочу своей человеческой позицией поделиться. Те кто меня читают на других ресур...

Как мы внедрили Content Service Platform всего за четыре месяца Ранее мы рассказали о новом витке развития систем управления контентом – Content Service Platform. В рамках второй ежегодной конференции ЛАНИТ «Микросервисная архитектура в управлении корпоративным контентом» был представлен проект по созданию электронного архива клиентских ...

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

[Перевод] Continuous integration в Go с GitHub Actions В этой статье мы рассмотрим, каким образом можно использовать GitHub Actions для создания конвейера непрерывной интеграции, который автоматически тестирует, проверяет и анализирует ваш код Go. Читать далее

Проект под кодовым названием: «Бульболёт». Часть 1. Погружение в MPU6050 (или нет) Всем привет! Сегодня, а именно с этой статьи, я бы хотел начать свою историю разработки летательного средства на радио управление. В интернете я натыкался на множество статей где так или иначе собирали Р.У модели, и в основном это делалась на основе каких-то модулей или уже ...

Изоляция зубов в стоматологии Если Вы подумали, что стоматологи нашли способ отправлять зуб на карантин, то спешу Вас огорчить, эта статья немного о другом. А именно о изоляции зубов с помощью системы коффердам.Коффердам - это немецкое слово, которое можно дословно перевести как: "резиновая преграда...

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

Шейдеры в Unity — это не сложно. Часть 3 — добавляем блеска Всем привет! Благодарен всем за замечания и комментарии к предыдущим статьям. Благодаря всем нам мы наполняем интернет доступными знаниями и это действительно круто.Сегодня продолжаем разбираться с шейдерами, а именно с работой с освещением. В прошлой части мы разобрали тип ...

Big Data с «кремом» от LinkedIn: инструкция о том, как правильно строить архитектуру системы «Традиционно, самым узким местом в архитектуре любой информационной системы является система управления базами данных (СУБД). Можно сколько угодно оптимизировать прикладное программное обеспечение (ПО), но все равно упремся в ограничения в части производительности запросов»....

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

[recovery mode] Пошаговая инструкция как создать NFT коллекцию на Golang + Ethereum (часть 3) Привет Хабр. В прошлых статьях мы научились генерировать 10 000 изображений для нашей NFT коллекции с помощью Golang, а также загрузили все сгенерированные изображения в децентрализованное хранилище IPFS.В этой статье мне хотелось бы поделиться знаниями и опытом, а такж...

[Перевод] WebRTC для всех и каждого. Часть 1 Привет, друзья! Представляю вашему вниманию первую часть перевода этой замечательной книги по WebRTC. Данная часть посвящена тому, что такое WebRTC, процессу сигнализации и установки соединения (первые 3 части оригинала). Справедливости ради следует отметить, что на Хабре...

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

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

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

Найм как проект: постигаем дзен Привет! Я Саша Камзеева, руководитель направления системного анализа в Lamoda. В этой статье хочу поделиться своим опытом, который может пригодиться всем, кто сейчас активно нанимает людей. Я расскажу, как мне и моей команде удалось выстроить процесс так, что воронка на...

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

Стартап недели: Sens.ai – устройство, которое прокачает ваш мозг В этой статье мы расскажем вам об уникальном устройстве Sens.ai, которое поможет значительно увеличить эффективность работы вашего мозга. Тоже в тему: Стартап недели: AAWireless — беспроводное соединение с Android Auto в вашем авто Стартап недели: HyperJuice — зарядная ста...

[Перевод] Мониторинг приложения Spring Boot с помощью Micrometer, Prometheus и Grafana, используя пользовательские метрики Важно отслеживать показатели и работоспособность приложения: это помогает нам повышать производительность, лучше им управлять и замечать неоптимизированное поведение. Мониторинг каждого сервисного модуля важен для поддержания системы, состоящей из множества микросервисов.В э...

Как вести учет криптовалютного портфеля в Гугл Таблицах Введение«Деньги любят счет» - это пословица, как никакая другая, очень точно описывает всю суть успешного распоряжения своими деньгами.На сегодняшний день существует множество инструментов и сторонних сервисов (Blockfolio, Coinmarketcap, Cryptocompare и т.п.) для ведения уче...

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

Почему наш стартап переехал с Flask на FastAPI Как так оказалось, что стартап решил поменять стек? Это же затраты и все возникающие при этом сложности переезда. Но если хочешь получить короткий, эргономичный, хорошо читаемый код, приходится идти на жертвы. Но давайте по порядку.Алекс Морозов, co-founder & CTO в компа...

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

Использование ASCIIDoc для управления документацией на проекте (Часть 1) О важности документации на проекте знают все, начиная от технических заданий на реализацию заканчивая пользовательской документацией. Про важность документации и необходимости документировать написано множество статей. Здесь мы расскажем о том как упростить команде жизнь исп...

Какой груз сможет поднять 5-метровый воздушный шар, наполненный гелием: видео ПопМем Интересно 03.11.2021, 19:56 Какой груз сможет поднять 5-метровый воздушный шар, наполненный гелием: видео Канал It's Mamix раздобыл огромный воздушный шарик и решил проверить его на грузоподъемность. ...

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

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

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

Forming, Storming, Norming и… Прошлую пятницу мы оставили наших стремительно выгорающих мальчишек пинать мяч в стену. Помимо смены мотивации между ними происходило весьма непростое взаимодействие. У них шло образование команды. Процесс этот небыстрый, требует времени и проходит последовательно несколько ...

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

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

Автоматическая многоязычная модерация сообщений для миллионов пользователей Как мы все знаем, слова обладают силой. Ими можно вдохновить людей, но можно и навредить. Мы в Badoo и Bumble стараемся оградить пользователей от неприятных ситуаций, поэтому внедрили инструмент Rude Message Detector. Это многоязычный детектор грубых высказываний, работающий...

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

Предпринимаем в ERP (о деньгах и совести) «Деньги не главное…» С такой мыслью закинутый случайным течением начинаешь работать аналитиком / консультантом / программистом ERP-систем (MS Dynamics AX, D 365 FO, 1С ERP, SAP и др.). Деньги как бы важны в жизни, думаешь ты, и их всегда не хватает, но работаешь ты...

Команда DucDuckGo работает над собственным десктопным браузером Разработчики DuckDuckGo поисковой системы подвели итоги 2021 года и рассказали, что команда ведет работу над собственным браузером для десктопов, ориентированным на конфиденциальность.

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

Пошаговое руководство, как создать собственный Kubernetes оператор В статье разберет базовые понятия, которые нужны для создания оператора (CRD - Custom Resource Definition, контроллеры) и покажем на практике как можно написать собственный оператор с использованием инструмента Operator SDK без единой строчки кода. Читать далее

Как мы создавали курс по C# и боролись за секунды У сервиса онлайн-обучения программированию Хекслет есть собственный Open Source проект Code Basics, на котором выходят бесплатные курсы для начинающих на разных языках. Когда-то их было только два – PHP и JavaScript, сейчас уже более десятка. В компании Dodo Engeneering есть...

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

[Перевод] С днем рождения, Кевин Келли: еще 103 непрошенных совета Кевин Келли, создатель журнала WIRED, уже третий год подряд на свой день рождения дарит всем непрошенные советы (вот прошлый перевод на Хабре: 68 непрошеных советов (c ↑+78)) 28 апреля ему исполнилось 70 лет и он выкатил еще 103 непрошенных совета (они просто взорвали Hac...

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

Помог AMD, поможет и Samsung? Разработчик архитектур Джим Келлер может перейти работать в Samsung Легендарный инженер Джим Келлер (Jim Keller), возможно, присоединиться к Samsung.  Предположения касательно такой возможности появились после того, как Келлер выступил с речью на ежегодном форуме Samsung Advanced Foundry Ecosystem, посвящённом ...

Использование Gatling. Разбираемся в тестировании HTTP Всем привет! Это команда тестирования производительности Тинькофф, и мы продолжаем цикл статей о Gatling. В предыдущей статье мы рассмотрели базовые возможности инструмента Gatling, узнали, как быстро создать шаблон gatling-проекта, и познакомились с новыми функциями би...

Как нативно визуализировать голос в iOS Реализовать запись и проигрывание аудиофайлов в iOS несложно. Но если к этому добавляется задача визуализировать звук в момент записи с микрофона, это может вызвать сложности даже у опытного программиста, который мало работал с AVFoundation — мультимедийным фреймворком ...

[Перевод] Нетрадиционные подходы к использованию GraphQL Привет, Хаброжители! Стартовала весенняя распродажа от издательства «Питер». Эту статью также можно было бы назвать «Чего по науке нельзя делать с GraphQL».Читая различные посты в блогах и руководства, мы узнаем, что существует некий правильный способ работы с GraphQL. Но в...

Тысячи людей объединили усилия, чтобы воссоздать Нью-Йорк в Minecraft в масштабе 1:1 Программист с ником Minefact опубликовал новые видео строительства одной из самых больших карт для Minecraft. Она будет представлять собой детальную копию города Нью-Йорк, причем авторы затеи подчеркивают – масштаб выдерживается 1:1. С учетом размеров мегаполиса задача явно ...

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

Micro Frontend Архитектура на примере Angular В наше цифровое время веб-приложения становятся все более масштабней и сложней. Такие веб-приложения могут быть разделены на несколько модулей, разработанных отдельными командами, которые удобно запускать в производство по отдельности. По мере того, как приложения со времен...

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

«Свою работу делать не умеют, зато лезут в мою»: 7 вещей, которыми руководители проектов бесят разработчиков Привет! Я Любовь Тимошенко. Руковожу менеджерами проектов в «Лайв Тайпинге», веду блог, который помогает управлять другими и собой: без насилия, пожаров, сорванных дедлайнов и выгорания. В этой статья я расскажу, какие вещи бесят разработчиков в менеджерах, и что делать, что...

Знают ли клиенты корпоративной связи об угрозе блокировки SIM-карт? Согласно поправкам к этому закону, пользователи корпоративных SIM-карт должны успеть внести информацию о себе и используемом номере в Единую систему идентификации и авторизации (ЕСИА) на портале Госуслуг во избежание блокировки. Ведь уже с 1 декабря операторам будет запрещен...

[Перевод] 10 эвристик юзабилити, которые должен знать каждый дизайнер 25 лет назад Якоб Нильсен описал 10 основных принципов проектирования взаимодействия. Эти принципы были разработаны на основе многолетнего опыта в области юзабилити-инженерии и стали правилами для взаимодействия человека и компьютера.Сегодня эти принципы так же актуальны, ка...

Контроль всех денежных переводов между гражданами. Банк России запустит новую инициативу уже в январе Как сообщает источник, Банк России начнёт запрашивать у других банков данные обо всех денежных переводах между физическими лицами уже с января 2022 года.   Заместитель председателя правления Совкомбанка Олег Машталяр рассказал, что ЦБ увед...

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

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

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

Рекомендации на 2022 год для специалистов по управлению услугами На портале ITSM.TOOLS опубликованы результаты опроса различных представителей отрасли ITSM, являющихся участниками группы BACK2ITSM на Facebook. Чтобы помочь практикам в области управления ИТ-услугами (ITSM) в 2022 году, их попросили высказать свои соображения о том, как ITS...

[Перевод] Никогда не используйте пикселизацию для сокрытия текста Наша компания пишем много отчётов (такое бывает, когда вы занимаетесь хакингом). При этом часто требуется скрывать часть текста. У нас уже давно действует политика, по которой при сокрытии текста для надёжности следует использовать только чёрные полосы. Иногда люди хотят пр...

Разбор задачи Титаник на Kaggle (Baseline) В статье я покажу как искать зависимости и проверять гипотезы. Мы познакомимся с данными и реализуем предсказание на основе одной логики=) Читать далее

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

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

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

Oracle, Docker, AWS: альтернативы сервисам для разработчиков, которые уже заблокировали в России или скоро заблокируют С начала марта зарубежные IT-компании ограничивают или полностью закрывают доступ к своим продуктам пользователям из России. В списке, среди прочих, — Microsoft, Oracle, Amazon и другие крупные компании. Рассказываем, какие существуют альтернативы уже заблокированным сервиса...

CURA - Полный перевд плагина SettingsGuide (Машинный) Доброго времени суток, извиняюсь если рубрика не та.В Cura есть весьма интересный плагин SettingsGuide - Это подробная справка о параметрах печати, весьма удобная штука, но есть момент - на Русский переведена очень малая часть текстов. Лично мне удобнее читать параметры на н...

Китайцы представили свои первые игровые видеокарты с поддержкой DirectX и Vulkan Модели Moore Threads МТТ S60 и С2000 построены на базе собственной архитектуры MUSA (MT Unified System Architecture).

[Перевод] Машинное обучение помогает в расшифровке древних языков Термин «Гуглоперевод» постепенно престаёт быть синонимом кривого дословного перевода текстов. Порой сложно догадаться, кто выполнил работу: машина или человек – качество стало действительно высоким. Это наводит исследователей на мысль: а не сможет ли ИИ помочь в расшифровке ...

Методы архитектуры предприятия В преддверии старта курса "Enterprise Architect" подготовили для вас текстовую версию демоурока, который провел эксперт OTUS - Петр Подымов.В рамках урока поговорили: - об обоснованных структурных изменениях в компании в быстро меняющихся условиях; - о применении архитектур...

Что поможет наладить сон, если проблемы с ним – из-за пандемии COVID-19: советы экспертов С началом пандемии коронавируса число людей, страдающих от проблем со сном, увеличилось. Этому явлению даже дали название - COVID-somnia. Специалисты в статье на портале Medical Xpress дали несколько рекомендаций тем, кто столкнулся с подобными трудностями.

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

Структурная адаптация, brand-new самоорганизующаяся сеть на палочках и кружочках Речь в статье пойдет о принципиально новой ИИ методологии, основанной на распространении потока в адаптивной многомерной структуре (фильтре). Ранее подход описан нигде не был, знакомьтесь. Читать далее

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

SQL HowTo: разные варианты работы с EAV Соблазн использовать модель EAV (Entity-Attribute-Value) при организации структуры БД весьма велик, особенно когда предметная область заранее плохо известна (или разработчик просто не хочет в нее углубляться). Это ведь так удобно - создать "универсальный" способ описания хар...

Настройка VSCode для программирования AVR в Linux Всем, кто занимается электроникой, так или иначе знакомы контроллеры AVR. Начинающим они знакомы, по большей части, за счёт экосистемы Arduino. В данной статье я попытаюсь рассказать начинающим программистам, как можно в Linux просто настроить VSCode для работы с контроллера...

TEGRUS подтверждает, что корпоративная почта Mailion выдерживает нагрузку в 600 тысяч пользователей В ноябре прошлого года МойОфис представила корпоративную почту нового поколения Mailion, разработанную при грантовой поддержке РФРИТ. Это тиражируемое решение для крупных организаций, которое разворачивается на собственных серверах клиента или на базе инфраструктуры довере...

[Перевод] Почему оптимизатор запросов не анализирует содержимое буферного пула В SQL Server используется стоимостной оптимизатор запросов (cost-based optimizer), который ищет оптимальный план в течение времени, выделенного для компиляции запроса. При оптимизации плана учитывается информация о таблицах, участвующих в запросе, существующих индексах, а та...

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

Книга «Изучаем C# через разработку игр на Unity. 5-е издание» Привет, Хаброжители! Изучение C# через разработку игр на Unity — популярный способ ускоренного освоения мощного и универсального языка программирования, используемого для решения прикладных задач в широком спектре предметных областей. Эта книга дает вам возможность с нуля и...

Пошаговая памятка «Как эмигрировать по стартап визе/визе фрилансера» В последние несколько дней нет недостатка в информации об эмиграции фаундеру/фрилансеру/айтишнику. Много полезной информации собрано вместе, что очень удобно. Сам на днях написал заметку на Хабре про свой опыт — лично получал стартап-визы в Италии, Франции, Испании...

Профилируем php на бою Привет Хабр! Последняя статья про инструменты для профилирования php датируется аж  2018 годом. Но все перечисленные решения разработаны много лет назад и имеют недостатки: древний интерфейс btp (аналог pinba), оверхед xhprof и необходимость ручного запуска p...

Как мы используем юнит-тестирование в СУБД Oracle В некоторых технологиях и языках программирования юнит-тестирование — уже давно неотъемлемая часть написания кода. Оно интегрировано в разработку и доступно «из коробки» в виде фреймворков, как, например, JUnit для Java, xUnit/nUnit для C# и т. д. Но в Oracle культура юнит-т...

PlayStation VR2 — это будет разочарование или успех? Привет, Хабр! Меня зовут Сергей! Я отвечаю за игровое направление в М.Видео и Эльдорадо. Постараюсь регулярно делиться последними новостями из мира игр и игровых устройств. Буду рад знакомству и общению в комментариях. А пока давайте поговорим про дополненную реальность и иг...

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

[Перевод] Шаблоны C++: как итерировать по std::tuple — основы Для большинства стандартных контейнеров перебор элементов можно осуществлять просто с помощью цикла for с диапазоном прямо во время выполнения. Но что насчет кортежей (std::tuple)? В этом случае мы не можем использовать обычный цикл, так как он не «понимает» список аргументо...

Еще больше муз. клипов: наиболее длительные перформансы В прошлый раз мы говорили о наиболее продолжительных перформансах. Сегодня возвращаемся к этой теме. Музыканты постоянно экспериментируют — монтируют записи «живых выступлений» в клипы [иногда из нескольких актов] и снимают целые фильмы. На этот раз обсудим работы Pink Floyd...

Раскрыта дата релиза MMORPG Ragnarok: The Lost Memories Издатель Gravity Interactive объявил, когда и в каких регионах выйдет Ragnarok: The Lost Memories. Кто сможет поиграть? Мобильный проект The Lost Memories появится в App Store и Google Play 13-го января, но есть одно ограничение — игра будет доступна в Северной Америке и...

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

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

Transcend 15-й год подряд вошла в список Best Taiwan Global Brands от Interbrand Известная консалтинговая компания Interbrand назвала список 25-ти ведущих торговых марок Тайваня за 2021 год. И 15-й год подряд в него входит Transcend Information.Это отличное доказательство компетентности и гибкости компании, работающей на высококонкурентном международном ...

Психовизуальная корректировка (Psycho Visual Tuning) в NVENC Привет всем!В этой статье пойдет речь о таком параметре в OBS как Психовизуальная корректировка (Psycho Visual Tuning) используемый в кодировщике Nvenc.Статья была создана для пользователей, которые хотят более подробно разобраться в кодировщике Nvenс для получения наилучшег...

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

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

О жидком металле замолвите слово. Мысли об аппаратной и программной реализации Т-1000 Если вы — представитель моего поколения, и еще помните, что такое «ждать неделю, пока будет этот фильм по РТР» — то, вероятно, вас в детстве тоже интересовал вопрос «Как уничтожить Т-1000». Еще в школе друг сказал мне: «Тебе показали первого Терминатора, чтобы ты понял второ...

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