Социальные сети Рунета
Понедельник, 21 июня 2021

[Перевод] Документирование архитектуры: введение Привет, меня зовут Владимир Иванов, и я архитектор ПО в компании EPAM. В своей работе мне постоянно приходится документировать программные решения, которые предстоит создать. Я решил поделиться некоторыми аспектами этой деятельности с вами, ведь вам тоже это может пригодитьс...

Документирование микросервисов в LeanIX (EAM) Расскажу о нашем опыте автоматического документирования 150+ микросервисов в системе LeanIX Enterprise Architecture Managment. Многое получилось, как мы и хотели, для чего-то пришлось делать специальные доработки, часть вопросов не смогли решить. Но в любом случае мы получи...

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

Переделка CNC 3018 Pro на рельсы. Личный опыт. Дамы и господа, здравствуйте!Опишу тех. процесс доработки станочка. Так же предложу варианты (если это возможно) для упрощения доработки. Основной посыл данного поста - не бояться работать руками!Технология переделки не моя, акцентирую на этом внимание.При написании статьи я...

Nix: Что это и с чем это употреблять? Привет, Хабр! Мы в Typeable хотели опубликовать небольшой цикл статей о том, как Nix нам помогает (и немного мешает) в разработке. Но, проведя немножко времени в поисках похожего материала здесь, с удивлением обнаружили, что на Хабре нет толкового введения в Nix, на которое...

[Из песочницы] Витамин C – нужно ли принимать добавки или это коммерческий ход? Введение Моя специальность и работа никак не связана с витаминами и с химией в целом, но так вышло, что тема витаминов и питания меня заинтересовала. Я решил разобраться в ней насколько это возможно и узнать стоит ли принимать витамин С. Забота о своем здоровье наиболее акт...

Восемь цветов радуги: о цвете с точки зрения математики Больше пяти лет мы публикуем на Хабре статьи на различные темы компьютерного зрения. Чаще всего они связаны с распознаванием документов, потому что нам всегда очень не терпится поделиться с вами всем крутым и новым, что мы сделали в Smart IDReader. Хотя мы честно стараемся ...

[Из песочницы] Программист-фанатик. Конспект часть 1. Почему нужно быть худшим и не слушать советы родителей Дошли руки до книги Чеда Фаулера «Программист-фанатик». Я решил написать конспект книги, отжав из нее всю воду, а воды было предостаточно. Конспект позволит тем, кто не читал книгу ранее, познакомиться с идеями изложенными в ней. Читать дальше →

[Из песочницы] Как я избавлялся от Google на Android Недавно на работе получил задачу от руководителя: сделай так чтобы телефон android не сливал данные гуглу.  Можете представить мой восторг (и предвкушение) ибо спустя 2 недели тестов я вполне уже чувствовал себя человеком который прошивает телефоны на радиорынке (ничего ли...

[Перевод] Let's Go! Три подхода к структурированию кода на Go Привет, Хабр! Не так давно у нас вышла новая книга по Golang, и успех ее настолько впечатляет, что мы решили опубликовать здесь очень важную статью о подходах к проектированию приложений на Go. Идеи, изложенные в статье, очевидно не устареют в обозримом будущем. Возможно, ав...

Прощай ЕНВД. Комплект для торговой точки. Выбор оборудования и ПО. Личный опыт Введение Вдохновившись статьей о переходе с Эвотор на другое ПО, решил написать свою статью на эту тему. Она будет полезна в первую очередь специалистам, которые еще не определились на что переходить. Если интересно, прошу под кат. Читать дальше →

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

Пишем блог на микросервисах – часть 3 «User» Во второй части нашего цикла статей «Пишем блог на микросервисах» мы описали «API Gateway». Здесь мы опишем реализацию микросервиса User. Читать дальше →

[Из песочницы] Игра с открытым API: Swagger Play В данной статье я хочу рассказать, как использовать Swagger модуль для Play Framework, с примерами из реальной жизни. Я расскажу: Как прикрутить последнюю версию Swagger-Play (модуль Play, позволяющий использовать аннотации swagger-api и генерировать на их основе документ...

Функциональное программирование в Python. Генераторы, как питонячий декларативный стиль Общее введение ФП Введение в ФП Главные свойства функционального программирования Основные термины Встроенное ФП поведение в Python Библиотека Xoltar Toolkit Библиотека returns Литература Генераторы Введение в итераторы Введение в генераторы Генераторы vs итераторы Генер...

Введение в SSD. Часть 4. Физическая Прошлые части цикла «Введение в SSD» поведали читателю про историю появления SSD-накопителей, интерфейсы взаимодействия с ними и популярные форм-факторы. Четвёртая часть расскажет о хранении данных внутри накопителей. Читать дальше →

9 лучших опенсорс находок за март 2020 Доброго карантинного апреля, дамы и господа. Подготовил для вас подборку самых интересных находок из опенсорса за март 2020. За полным списком новых полезных инструментов, статей и докладов можно обратиться в мой телеграм канал @OpensourceFindings (по ссылке зеркало, если н...

Как я закрыл трехлетний issue в TypeScript Всё началось с моего желания описать структуру сообщений между web worker'ами. К сожалению, на тот момент встроенные возможности TypeScript этого не позволяли. Я засучил рукава и решил это исправить. Читать дальше →

Введение в Redux & React-redux Оглавление Введение 1. Установка и начало работы 2. Redux ....2.1 createStore ....2.2 reducer() ....2.3 dispatch() ....2.4 actionCreator() ....2.5 Actions ....2.6 getState() ....2.7 subscribe() ....2.8 combineReducers() ....2.9 initialState 3. React-redux ....3.1 Provider ...

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

Новые возможности postgres_exporter для мониторинга PostgreSQL Добрый день, читатели habr! В первой заметке о posgres_exporter, я рассмотрел достаточно частный случай, при работе с новой, на тот момент фитчей, а именно возможностью мониторинга одним экспортером набора экземпляров и/или баз данных. И описал тот "букет" проблем с которыми...

Полный набор gRPC, RESTful JSON API и Swagger из одного .proto файла. От введения до нюансов и тонкостей grpc-gateway В этой статье я опишу процесс создания сервера с gRPC и RESTful JSON API одновременно и Swagger документацию к нему. Эта статья — продолжение разбора различных способов реализаций API-сервера на Golang с автогенерацией кода и документации. Там я обещал более подробно остано...

Пишем front-end, который работает. Или как из разработчика стать инженером. Часть 2 Итак, во второй части мы приступаем к реализации. Для начала определимся с технологией. Я выбираю веб-компоненты. Компонентный подход, нативное апи, легко переиспользовать и дебажить. Шаг 1 — описать конечные положения Тег для нашего виртуального вьюпорта будет называться c...

[Перевод] Как стать DevOps инженером за полгода или даже быстрее. Часть 6. Запуск приложения Как стать DevOps инженером за полгода или даже быстрее. Часть 1. Введение Как стать DevOps инженером за полгода или даже быстрее. Часть 2. Конфигурирование Как стать DevOps инженером за полгода или даже быстрее. Часть 3. Версии Как стать DevOps инженером за полгода или даж...

Мой набор для автономного выживания во время карантина Эта статья посвящена подготовке к автономному выживанию в течение периода карантина. Судя по опыту ЕС и Китая, Украины и Беларуси, не за горами введение карантина из-за пандемии коронавируса Covid-19 и в РФ. Многие это уже поняли и начали заранее запасаться продуктами, средс...

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

Переделка CNC 3018 Pro на рельсы. Личный опыт. Часть 1 Дамы и господа, здравствуйте!Опишу тех. процесс доработки станочка. Так же предложу варианты (если это возможно) для упрощения доработки. Основной посыл данного поста - не бояться работать руками!Технология переделки не моя, акцентирую на этом внимание.При написании статьи я...

Введение в SSD. Часть 3. Форм-факторная В прошлых частях цикла «Введение в SSD» мы рассказали про историю появления дисков и интерфейсов взаимодействия с накопителями. Третья часть познакомит читателя с современными форм-факторами дисков. Читать дальше →

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

Вы решили присоединиться к разработке open source продукта. К чему готовиться? Здравствуйте, написать эту статью меня побудил мой опыт участия в open-source проекте Apache Cloudstack, куда я периодически отправляю фичи и багфиксы. Меня нельзя назвать активным контрибьютором, поскольку я вношу вклад лишь время от времени, когда мне что-то требуется от п...

Как установить Ubuntu на Apple M1 и ничего не сломать Команда разработчиков Corellium выпустила порт Ubuntu на Mac Mini с процессором Apple M1. Публикации по теме рассказывают только про успех умельцев, но не раскрывают подробности. Я решил на собственном опыте проверить, как установить и использовать. Ubuntu на Mac Mini, и оп...

[Перевод] Как стать DevOps инженером за полгода или даже быстрее. Часть 4. Пакетирование программ Как стать DevOps инженером за полгода или даже быстрее. Часть 1. Введение Как стать DevOps инженером за полгода или даже быстрее. Часть 2. Конфигурирование Как стать DevOps инженером за полгода или даже быстрее. Часть 3. Версии Рассмотрим, как упаковать ваш код для легко...

Портативная колонка Z-poject Doublebeef — двойное моно по-русски. Тест, разборка и апгрейд Введение: Под новый год досталась в качестве подарка, колонка от отечественного (внезапно!) производителя, под длинным названием Z-Project MUSICDEALER Double Beef. Так как это была уже третья портативная колонка в личном пользовании — решил пустить ее под беспристрастный нож...

О системах контроля версий Всем привет! Уже на следующей неделе в OTUS стартует «Супер-практикум по использованию и настройке GIT». Этому я и решил посвятить сегодняшнюю публикацию. Введение Предлагаю обсудить предназначение и различные способы организаций систем контроля версий. Читать дальше &ra...

[Перевод] Корректное завершение работы pod’ов в Kubernetes-кластере Корректное завершение работы контейнеров в Kubernetes Это вторая часть нашего пути (прим. пер. — ссылка на первую статью) к достижению нулевого времени простоя при обновлении Kubernetes-кластера. В первой части мы изложили проблемы и задачи, возникающие при выполнении опера...

Gtk, OpenGL и все-все-все Не так давно мне пришлось столкнуться с использованием OpenGL в Gtkmm версии 3. В данной статье я постараюсь изложить детали имплементации стандартного виджета для OpenGL-графики. Читать дальше →

Документирование API в Java приложении с помощью Swagger и OpenAPI 3.0 Веб-приложение часто содержит API для взаимодействия с ним. Документирование API позволит клиентам быстрее понять, как использовать ваши сервисы. Если API закрыт от внешнего мира, то все равно стоит уделить время спецификации — это поможет вашим новым коллегам быстрее разобр...

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

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

Как я не стал продакт-менеджером после обучения в Product Univercity Морейниса и Черника Всем привет. Решил написать свою первую статью на VC, но главреда меня забанил, потому что я попросил поставить плюсики друзей, а перед этим три раза дешёвая рабочая сила снимала мою публикацию по каким-то неведомым причинам, и описать свой опыт поиска работы продакт-менедж...

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

[Из песочницы] Архитектура и стоимость простого бессерверного веб-приложения Amazon Web Services Введение Весной этого года я сидел в локдауне на Багамах, без права сходить на берег и, борясь со скукой, решил посмотреть, что это за зверь такой Amazon Web Services, и да, я пропал. Случилось, что называется, любовь с первого взгляда. Одной из технологий, что пьянила меня ...

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

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

[Перевод] PEP 257 на русском. (Соглашение о Docstrings) Привет, Хабр. Бывают моменты, когда тебе хочется максимально погрузиться в язык и понять все его тонкости. В случае Python один из лучших способов это сделать — читать на официальном сайте документацию и PEP-ы. В своё время я этого не делал, поскольку не мог понять многих «т...

[Перевод] Введение в REST API — RESTful веб-сервисы Эта статья представляет собой введение в RESTful веб-сервисы и краткий обзор REST и HTTP. Она начинает серию постов о разработке REST API: Введение в REST API — RESTful веб-сервисы Различия REST и SOAP Разработка REST API — что такое Contract First (контракт в первую очер...

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

[Из песочницы] Мышление письмом Начните записывать мысли, чтобы усилить мышление. Этот совет я слышал много раз, но только в этом году решил сам попробовать. Результаты так впечатлили, что я решил описать опыт и поделиться теоретическими рассуждениями. Что же я получил после полугода использования мышл...

Внимательно читаем одну статью по liveness detection (или не одну) У меня сегодня формат похожий на «читаем статьи за вас» от ODS, только я взяла несколько связанных. Отправной точкой служит статья под названием “Searching Central Difference Convolutional Networks for Face Anti-Spoofing” (2020 г) и мое желание посмотреть немного вглубь на ...

[Перевод] Как написать игру за месяц, не отвлекаясь от основной работы MoonGun — игра в жанре экшен/стратегия о защите лунной базы от астероидов. Игра была создана Ивенсом Серпой — автором множества статей о геймдизайне — в рамках Github Game Off Game Jam в ноябре 2020 года. Занимался он ей в одиночку в свободное от работы время. Игра получил...

INVESTMENT-READY Или что следует иметь в виду, создавая стартап. //при чем здесь котик? Что за странный вопрос ?? ПРЕДИСЛОВИЕ Прочел несколько постов от людей, которые провалили стартапы и давали советы на тему чего не следует делать (сорри, хотел дать на них линки, но потерял). Собир...

Крылья, которые не нравились мне  Я раньше писал про любую напечатанную ерундовину, а потом надоело. Печать всяких мелких приспособ уже стала безобразно обыденной, изложу типичный пример. Готовил к сезону коней педальных, в этот раз решил порадовать их новыми покрышками. И все заверте…

[Перевод] Введение в GitHub Actions В этой статье Senior App Dev Manager Джейсон Джордано (Jason Giordano) покажет нам, как использовать GitHub Actions для создания очень простого CI/CD решения. GitHub Actions, релиз которого состоялся 13 ноября 2019 года, позволяет легко автоматизировать все ваши рабочие пр...

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

[Из песочницы] Table-Maker's Dilemma, или почему почти все трансцендентные элементарные функции округляются неправильно С удивлением обнаружил, что на русском языке трудно отыскать информацию по данной проблеме, как будто мало кого волнует, что математические библиотеки, используемые в современных компиляторах, иногда не дают корректно-округлённого результата. Меня эта ситуация волнует, так к...

[Перевод - recovery mode ] Темный режим: Hello darkness, my old friend Dark mode остается главной тенденцией в дизайне сайтов и приложений. Мы нашли классную статью на эту тему и решили поделиться переводом. Мнение пользователей, реализация и поддержка dark mode, рекомендации для разработчиков далее в статье. А на какой стороне вы? Просто хайп ...

Игра «Ну, погоди!» на Arduino Наверняка многим из вас известна популярная советская электронная игра «Электроника ИМ-02» производимая с 1984 года, в которой волк из мультфильма «Ну, погоди!» ловит яйца в корзину. Так вот, наткнулся я на статью, в которой описан процесс создания такой игры на Arduino и ре...

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

Еще немного истории — на этот раз копаемся в OS/360 В продолжение поста о том, как работали программисты в 80-х, вспомнил и решил описать предысторию, идею и реализацию моего первого успешного проекта. Итак, дело было году этак в… давно тому назад. Я был студентом 3 курса, и начал работать старшим лаборантом своей кафедры. Ч...

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

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

[Из песочницы] Бот-викторина для ВКонтакта Администраторам сообществ по "Смешарикам" Пожалуйста, не используйте этого бота в своих пабликах — пусть это будет нашей изюминкой. Введение Месяца три назад мы с друзьями по сети «ВКонтакте» в...

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

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

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

[Перевод] Создаем собственный GPS-Трекер на технологии LoRa В этой статье вы узнаете, как создать собственный GPS-трекер с помощью микроконтроллеров Pycom LoPy, а также научитесь настраивать одноканальный LoRa Nano-Gateway. Здесь я изложу ключевые этапы со всеми необходимыми ссылками. Читать дальше →

Модель управления IT в одной продуктовой компании Если ты стал руководителем в IT, то у тебя большие проблемы – достаточно сложно найти описанные модели организации производства и набора KPI's для CTO и CIO. Задача любого управленца любой отрасли – следить за конкурентами, «state of the art»- примерами и приносить лучшие пр...

Микрофонный усилитель и УНЧ для ЦАП и АЦП микроконтроллера Усилители сигналов для АЦП и ЦАП микроконтроллера В статье изложены подходы по построению схемотехники усилителей для микрофона и динамиков в микроконтроллерной технике. Занимаемое элементами усилителей пространство не превышает Читать дальше →

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

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

[Перевод] В двух словах: Лучшие практики Async/Await в .NET В преддверии старта курса «Разработчик C#» подготовили перевод интересного материала. Async/Await — Введение Языковая конструкция Async/Await существует со времен C# версии 5.0 (2012) и быстро стала одним из столпов современного программирования на .NET — любой уважающий ...

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

iOS MEETUP #2 от FUNCORP и Как разработчику оставаться актуальным 15 февраля компания FunCorp организовала свой второй митап, посвящённый разработке под iOS. Мне довелось быть участником этого мероприятия, поэтому постараюсь изложить своё мнение о качестве докладов, уровне организации и атмосфере мероприятия. Читать дальше →

Py4J – мост между Python и Java Название Py4J можно встретить разве что в списке библиотек, используемых PySpark, но не стоит недооценивать данный инструмент, который обеспечивает совместную работу Python и Java. В этой статье будет кратко описана работа Py4J, рассмотрен пример использования и перечислен...

Введение в язык запросов Cypher Язык запросов Cypher изначально разработан специально для графовой СУБД Neo4j. Целью Cypher является предоставить человеко-читаемый язык запросов к графовым базам данных похожий на SQL. На сегодня Cypher поддерживается несколькими графовыми СУБД. Для стандартизации Cypher бы...

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

Как бесплатно перенести свои любимые треки в Spotify, используя Javascript Все любители музыки в России с нетерпением ждали выхода Spotify на наш рынок. Когда наконец это случилось, перед пользователями встала проблема переноса музыки из других сервисов. Лично у меня за годы накопилась огромная коллекция музыки на разных платформах: Яндекс.Музыка, ...

[Из песочницы] Конспект по методам классификации данных При изучении Data Science, я решил составить для себя конспект по основным приемам, используемым в анализе данных. В нем отражены названия методов, кратко описана суть и приведен код на Python для быстрого применения. Готовил конспект для себя, но подумал, что кому-то это та...

Составное устройство USB на STM32. Часть 3: Звуковое устройство отдельно, виртуальный СОМ-порт отдельно В третьей части публикации о составном устройстве USB я расскажу о том, как переделать сгенерированный в STM32CubeMX USB Audio Speaker, описанный во второй части публикации, в дуплексное звуковое устройство. Затем мы создадим в STM32CubeMX драйвер виртуального COM-порта. ...

Полное руководство по сезонной депрессии (SAD). 7 видов светотерапии Я проделал большую работу по исследованию англоязычной литературы на тему «рекуррентное депрессивное расстройство (F33) с сезонным паттерном». В этой статье я системно изложу всю найденную информацию. Почему эта статья важна: Лучшая книга по сезонной депрессии (Winter ...

Как с помощью хакатона столкнуть математиков и ML–щиков, и кто тогда победит Введение Эта статья о том, как мы совместно с роснефтёвой «дочкой» «Самаранефтехимпроект» и Казанским Федеральным Университетом в сентябре 2020 года провели «Хакатон трёх городов», на котором предложили студентам решить классическую задачу сейсмической корреляции отражающих ...

Кто там выше тимлида? Не так давно я прочитал интересную статью о том, как стать тимлидом и что нужно делать в этой роли. И мне захотелось рассказать про следующую ступень развития — в качестве менеджера и руководителя IT-отдела или IT-директора в небольшой компании. Стоит отметить, что для ра...

Использование Graylog и NLog для сбора логов от приложений на C#. Личный опыт КДПВ Хабр, приветствую! Описанное ниже ни в коем случае не tutorial или best practice. Я решил всего лишь агрегировать и задокументировать свои достижения в поставленном вопросе. Надеюсь, содержимое данной статьи позволит ищущим информацию по логированию почерпнуть что-т...

[Перевод] Робот из LEGO и Arduino, обходящий препятствия Мы обожаем LEGO и Crazy Circuits [LEGO-совместимая электроника / прим. перев.], поэтому решили скомбинировать их в простого и интересного робота, умеющего обходить препятствия. Мы покажем, как собрать такого робота и подробно опишем этот процесс. Ваша версия робота может н...

Управленческая истерика. Нормальными словами Раньше я был глупый и писал худлит. Теперь я всё понял, и худлит на Хабре не пишу. Но чего добру-то пропадать? Точнее, хочу понять, есть ли в том худлите добро, польза. Попробую взять худлитную статью и изложить её посыл нормальными словами. А чего получится — вам решать. Ор...

Введение в ARC/ORC в Nim Nim переходит к более эффективным моделям управления памятью: ARC и ORC. Давайте узнаем, как именно они изменят работу с памятью в нём. Читать дальше →

[Из песочницы] Телефонный эфир v2.0. Возрождение легенды в telegram боте Это первая статья из будущей серии статей о том, как я возродил однажды ушедшую в историю идею в коде. В этой статье я опишу реализацию регистрации в части места жительства. Читать дальше →

Honeypot vs Deception на примере Xello На Хабре уже есть несколько статей про технологии Honeypot и Deception (1 статья, 2 статья). Однако, до сих пор мы сталкиваемся с непониманием разницы между этими классами средств защиты. Для этого наши коллеги из Xello Deception (первый и пока единственный российский разраб...

Введение в IDAPython На русском языке (и на Хабре, в частности) не так много статей по работе с IDAPython, попытаемся восполнить этот пробел. Для кого. Для тех, кто уже умеет работать в IDA Pro, но ни разу не писал скрипты на IDAPython. Если вы уже имеете опыт написания скриптов под IDAPython, ...

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

Max Patrol SIEM. Обзор системы управления событиями информационной безопасности Введение Друзья, добрый день. Данную статью я хочу посвятить такому продукту, как MaxPatrol SIEM компании Positive Technologies уже более 17 лет разрабатывающей инновационные решения в области кибербезопасности. В ней я постараюсь кратко описать основные задачи и меропр...

[Перевод] Путешествие — не лекарство для ума Решила перевести эту статью после прочтения "Ни туда, ни обратно" и недавнего цикла статей про работу в Германии и возвращение в Россию. Читать дальше →

[Перевод] Как реализованы конвейеры в Unix В этой статье описана реализация конвейеров в ядре Unix. Я был несколько разочарован, что недавняя статья под названием «Как работают конвейеры в Unix?» оказалась не про внутреннее устройство. Мне стало интересно, и я зарылся в старые источники, чтобы найти ответ. Читать да...

Обзор программы Hydra 2021: введение в хардкор До конференции по распределённым системам Hydra осталось менее трёх недель, программа уже готова, и пришло время рассказать о ней Хабру. Под катом — описания всех докладов, а для начала скажем общее: Конференция объединяет IT-индустрию и академический мир: среди спикеров е...

FPV Квадрокоптер: Фильтрация в Betaflight (Betaflight 4.1, на новых настройках еще не снимал) Прошлая статья — От земли к FPV Квадрокоптеру: Введение На днях, я все таки решил обновиться до Betaflight 4.2 и все вокруг советуют включить фильтрацию с двухсторонним DShot. К слову она была и в 4.1. Для начала, дав...

Приемопередатчик HC-12 и датчик температуры DS18b20 на AVR-ассемблере По мотивам содержания моей книжки «Программирование микроконтроллеров AVR: от Arduino к ассемблеру» была опубликована статья о подключении дисплеев к AVR с применением только «чистого» ассемблера. Под «чистым» имеется в виду наличие только простейшего редактора кода и програ...

[Из песочницы] Опыт поступления в магистратуру в Германии (детальный разбор) Я программист из Минска, и в этом году я успешно поступил в магистратуру в Германии. В данной статье я бы хотел поделиться своим опытом поступления, включая выбор подходящей программы, сдачу всех тестов, подачу заявок, коммуникацию с германскими вузами, получение студенческо...

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

Введение в 3D: основы Three.js Cложность Web меняется ежедневно, и его возможности растут так же быстро, особенно с 3D-рендерингом. Кто только начинает вливаться в тему 3D — добро пожаловать под кат. Читать дальше →

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

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

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

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

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

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

Игры за деньги: опыт работы в распределенной игровой сети владельца нескольких серверов Недавно увидел на Хабре статью «Распределенная игровая сеть как альтернатива GFN» и решил написать о своем опыте участия в такой сети. Так получилось, что я один из первых участников программы, описанной в статье. И я не геймер, а как раз владелец нескольких производитель...

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

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

Погода в доме или бюджетный мониторинг CO2, PM2.5, температуры и влажности на ESP32 и Blynk По просьбах трудящихся в этой теме, решил сделать обзор-инструкцию, как можно сделать бюджетный измеритель CO2. В данном обзоре я не буду описывать «пагубность» влияния CO2, а также низкой влажности на самочувствие и здоровье человека. Также, как и не буду доказывать, что...

[Перевод] Мейнтейнер популярнейшей JS-библиотеки приговорен к тюремному заключению за смертельное ДТП по его вине Мы в TestMace активно следим за судьбой проектов, значимых для js сообщества, в частности core-js. И, по нашему мнению, резонансное событие, описанное в статье, не получило должного освещения на хабре. Что ж, мы решили исправить это дело и публикуем перевод статьи, кратко пе...

Как программисту стать писателем или как написать эту статью? О, статьи — их тысячи! Их пишут сейчас в огромных масштабах все, кто только пожелает. Но как начать их писать, если вы программист? Каким должно быть введение и как не погубить текст? И это только малая толика того, на что эта статья не ответит! Шучу-шучу… Конечно, мы затрон...

Процедура обновления Check Point с R80.20/R80.30 до R80.40 Более двух лет назад мы писали о том, что перед каждым администратором Check Point рано или поздно встает вопрос обновления на новую версию. В данной статье было описано обновление с версии R77.30 до R80.10. К слову, в январе 2020-го стала сертифицированной версией ФСТЭК. а ...

Грабли на пути к keep-alive Увеличение активности обмена данными между микросервисами зачастую является проблемой в архитектуре современных IT решений. Выжать максимум и выжить любой ценой — серьёзный вызов для любой разработки. Поэтому поиск оптимальных решений — это не прекращающийся процесс. В стать...

[Из песочницы] Настройка динамической маршрутизации (в частности BGP) поверх туннеля OpenVPN на Linux (и вероятно *BSD) Зачем и о чём эта статья? Если погуглить на тему «openvpn bgp», то можно найти несколько интересных и полезных с практической точки зрения статей (например раз или два). Но начиная решать задачку вынесенную в заголовок, я по многим причинам даже не удосужился погуглить. Идея...

SwayWM — сам себе UnixPorn Всем привет. В этой статье я опишу свой опыт настройки и использования sway — тайлингового оконного менеджера для Linux. Читать дальше →

1. Fortinet Getting Started v 6.0. Введение Добро пожаловать на новый видеокурс, посвященный решениям компании Fortinet — Fortinet Getting Started. По ходу данного курса я расскажу об основных решениях компании в рамках концепции Fortinet Security Fabric, а также на практике покажу работу с двумя основными решениями...

Что вообще значит «full stack»? Не счесть холиваров о том, стоит ли быть фуллстек-разработчиком. И в таких дискуссиях часто вылезает ещё один спорный вопрос: а что это понятие означает-то? «Фронтбэкендер»? «Многорукий Шива, мастер всего от инфраструктуры до тестирования»? «Человек, освоивший столько техно...

[Перевод] Как стать DevOps инженером за полгода или даже быстрее. Часть 1. Введение Целевая аудитория Вы разработчик, который хочет повернуть свою карьеру в сторону более совершенной модели DevOps? Вы являетесь классическим Ops-инженером и хотели бы получить представление о том, что означит DevOps? Или же вы не являетесь ни тем, ни другим и, потратив некото...

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

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

Представляем Open Source C# стандартизацию Компиляторы C# имеют открытый исходный код с 2014 года, теперь в репозитории dotnet/roslyn. Dotnet/csharplang отделился, чтобы предоставить отдельное публичное пространство для инноваций и развития языка C#. Теперь dotnet/csharpstandard дополняет эту группу, предоставляя пуб...

[Из песочницы] Как самостоятельно изготовить электронную подпись Оговорюсь сразу — я почти дилетант в вопросах, связанных с электронной цифровой подписью (ЭЦП). Недавно, движимый естественным любопытством, я решил немного разобраться в этом и нашел в Интернете 100500 статей на тему получения сертификатов ЭЦП в различных удостоверяющих цен...

«Мистер X» или стоит ли небольшой команде рассмотреть XWiki как возможную замену Confluence? В феврале 2021 Atlassian прекращает продажу лицензий на серверные версии Confluence. В этой статье я поделюсь своим виденьем Xwiki в качестве аналога Confluence, закрывающего потребности по документированию для небольшой команды разработчиков. Читать далее

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

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

От земли к FPV Квадрокоптеру: Введение Всем привет! Сегодня мы продолжаем нырять в реальность, в железо, а точней сказать — взлетать. Но не так быстро! :) До первого полета необходимо немного повозиться и даже налетать несколько часов на симуляторе. Читать дальше →

Мой бот для Russian AI Cup 2019 Так уж получилось, что этот чемпионат стал для меня первым, где я смог занять достойное место, за которое не стыдно, поэтому и статью решил тоже написать только сейчас. Путь, которым я шел к этому месту: 1192-е место на чемпионате 13-го года, 241-е на чемпионате 17-го года...

[Перевод] React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript React — это библиотека JavaScript для создания пользовательского интерфейса. Это официальное определение React. Но что если вы не знаете, что такое JavaScript? Что если вы не разработчик? Смогли бы вы тогда понять, что такое React? Однозначно ДА. Именно поэтому я и написал ...

React-admin и django rest framework Наткнувшись недавно на статью о react-admin, я решил попробовать что это за зверь. Было интересно прикрутить это к джанге, благо там есть dataprovider для rest framework. Читать дальше →

[Из песочницы] Как плохо настроенная БД позволила захватить целое облако с 25 тысячами хостов Привет, Хабр! Я не так давно в ИТ, но в последнее время увлёкся темой кибербезопасности. Особенно интересна профессия пентестера. Во время сёрфинга увидел классную статью «How a badly configured DB allowed us to own an entire cloud of over 25K hosts» от Security Shenanigans...

[Из песочницы] Как поднять свой сервер на RaspberryPI на основе docker Сказ о том, как я настраивал сервисы в docker на Raspberry PI и почему это, возможно, не лучшая идея. Введение (или как всё начиналось) Началось всё очень давно пару лет назад. Так уж вышло, что я оказался в Китае и надо было как-то связываться с внешним миром. Сторонним VPN...

SSL-сертификаты от Let's Encrypt с cert-manager в Kubernetes В этой статье я расскажу о том, как автоматизировать заказ и продление сертификатов от Let’s Encrypt (и не только) для Ingress’а в Kubernetes с помощью дополнения cert-manager. Но начну с краткого введения в суть проблемы. Читать дальше →

Что такое Windows PowerShell и с чем его едят? Часть 2: введение в язык программирования Исторически утилиты командной строки в Unix-системах развиты лучше чем в Windows, однако с появлением нового решения ситуация изменилась. Читать дальше →

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

Сортировка выбором Всем привет. Эту статью я написал специально к запуску курса «Алгоритмы и структуры данных» от OTUS. Введение Сортировка массива является одной из первых серьезных задач, изучаемых в классическом курсе «Алгоритмы и структуры данных» дисциплины computer science. В связи с э...

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

[Перевод] Расширяемые расширения в JavaScript Привет, Хабр! Обращаем ваше внимание на долгожданную допечатку книги "Выразительный JavaScript", которая только-только пришла из типографии. Тем, кто еще не знаком с творчеством автора книги (при всей энциклопедичности она понравится и начинающим разработчикам) ...

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

[Перевод] Краткое введение в BPF и eBPF Привет, Хабр! Сообщаем, что у нас готовится к выходу книга "Linux Observability with BPF". Поскольку виртуальная машина BPF продолжает эволюционировать и активно применяется на практике, мы перевели для вас статью, описывающую ее основные возможности и состояние...

[Перевод] Методы Монте-Карло для марковских цепей (MCMC). Введение Привет, Хабр! Напоминаем, что ранее мы анонсировали книгу "Машинное обучение без лишних слов" — и теперь она уже в продаже. Притом, что для начинающих специалистов по МО книга действительно может стать настольной, некоторые темы в ней все-таки затронуты не были. П...

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

Основы линейной регрессии Здравствуй, Хабр! Цель этой статьи — рассказать о линейной регрессии, а именно собрать и показать формулировки и интерпретации задачи регрессии с точки зрения математического анализа, статистики, линейной алгебры и теории вероятностей. Хотя в учебниках эта тема изложена стр...

[Перевод] Новости из мира OpenStreetMap № 498 (28.01.2020-03.02.2020) SolidaryCityMap by openDEM 1 | map data OpenStreetMap contributors – Foodsharing.de, Mundraub.org, Repaircafe.org Картографирование Команда разработчиков инструмента проверки качества Osmose сообщила, что теперь доступна интерактивная панель помощи с описанием потенциаль...

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

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

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

Python (+numba) быстрее си — серьёзно?! Часть 2. Практика Это вторая часть статьи про numba. В первой было историческое введение и краткая инструкция по эксплуатации numba. Здесь я привожу слегка модифицированный код задачи из статьи про хаскелл «Быстрее, чем C++; медленнее, чем PHP» с более детальными бенчмарками, графиками и пояс...

Django ORM | Оптимизируем запросы Django ORM (Object Relational Mapping) является одной из самых мощных особенностей Django. Это позволяет нам взаимодействовать с базой данных, используя код Python, а не SQL. Для демонстрации опишу такую модель: from django.db import models class Blog(models.Model): ...

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

Команда экспериментаторов Facebook представила приложение Hobbi для документирования увлечений Это четвёртое экспериментальное приложение, запущенное подразделением соцсети.

В США описали шесть видов космического оружия Центр стратегических и международных исследований США выделил и описал шесть видов космического оружия. Это было сделано для будущей законодательной базы, которая станет регулировать использование такого вооружения.

[Из песочницы] Программная реализация умножения в полях Гаула Захотелось мне как-то сделать более надёжной передачу информации через радиоканал. Это не какой-то промышленный проект, или что-то другое серьёзное. Это скорее для хобби и саморазвития. Сказалась травма детства — отсутствие нормально работающей радиоуправляемой машинки. С те...

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

[Перевод] Визуализация при помощи генеративных алгоритмов: дифференциальная сетка (2D и 3D) и трещины ВВЕДЕНИЕ Это развитие идей из публикации Визуализация при помощи генеративных алгоритмов: гифа, деревья, повторяющиеся и дифференциальные линии (на Python), однако вам необязательно читать ее — все проекты, описанные здесь самодостаточны. Все что вам необходимо знать: п...

1. UserGate Getting Started. Введение Эта первая статья из планируемого цикла статей о продукции отечественной компании UserGate (ООО «Юзергейт»), которая разрабатывает технологии, обеспечивающие безопасность доступа в интернет и управление пользователями и улучшению качества интернет-доступа. Основной офис Us...

[Из песочницы] Бот для сборов. Собираемся на футбол с новыми технологиями Введение Всем привет. В этой статье я опишу своего чат-бота для сервиса обмена сообщениями telegram и социальной сети VK с использованием NodeJS. На этом месте у многих читателей должно вырваться что-то вроде: "Доколе!" или "Что, опять ?!". Да, похожие публикации уже были и ...

Автомобильный видеорегистратор DDpai mini3: встроенный Wi-Fi и ненужная радиокнопка DDpai mini3 запомнился миниатюрностью, удобством управления и просмотра по Wi-Fi, полным отсутствием ненужных для регистратора настроек изображения, которые только вводят в заблуждение. Небрежную локализацию и халатное документирование некоторых функций ему, наверное, можно ...

Пора избавляться от мышки или Hand Pose Estimation на базе LiDAR за 30 минут Всем привет! Пока киберпанк еще не настолько вошел в нашу жизнь, и нейроинтерфейсы далеки от идеала, первым этапом на пути к будущему манипуляторов могут стать LiDAR. Поэтому, чтобы не скучать на праздниках, я решил немного пофантазировать на тему средств управления компью...

Ахтунг: «бесплатный» антивирус от RU-CENTER (NIC.RU) Астрологи объявили очередной сезон развода на деньги клиентов RU-CENTER (nic.ru). Схема развода примитивна, неоднократно описана (в том числе здесь же на Хабре!), но может сработать при вашей невнимательности: Читать дальше →

Статический генератор сайтов Hugo. Фронтенд реалии В 2020 практически весь мир фронтенда заполонили Javascript фреймворки. Только и слышно о React, Angular, Vue и иногда в далеких просторах можно услышать тихий шепот «Svelte». Разработчики умело используют эти инструменты для создания крутых продуктов, но есть и «динозавры» ...

[Из песочницы] Модульные скетчи В статье описан способ, который упрощает работу над созданием скетчей. Он подойдет всем людям, работа которых — проектировать интерфейсы для пользователей. Читать дальше →

Enum в PHP 8.1 — для чего нужен enum, и как реализован в PHP Через несколько дней заканчивается голосование по первой итерации реализации enum в PHP 8.1 . Уже видно, что голосов “за” гораздо больше, так что давайте кратко пройдемся и посмотрим, что же нам приготовили авторы языка. Зачем нужны enum? Зачем вообще нужны enum? По сути они...

Что посмотреть на карантине? Подборка материалов от Технострима (часть 6) Продолжаем нашу подборку интересных материалов (1, 2, 3, 4, 5). На этот раз предлагаем послушать курс о введении в анализ данных и новый выпуск ток-шоу для айтишников «Oh, my code» с Павлом Dzirtik Щербининым. Читать дальше →

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

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

[Из песочницы] Полноценная игра, сделанная мною в обычной windows консоли Привет! Сегодня я опишу в подробностях, как я сделал игру в командной строке, и насколько хороша она получилась. Читать дальше →

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

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

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

[Перевод] Как меняется бизнес Docker для обслуживания миллионов разработчиков, часть 1: Хранилище В этой серии статей мы подробно рассмотрим, почему и как недавно были внесены изменения в наши Условия обслуживания. Эта статья подробно опишет политику хранения неактивных образов, а также то, как она повлияет на команды разработчиков, использующих Docker Hub для управлени...

Systemd, интерактивные скрипты и таймеры Введение При разработке под linux возникают задачи создания интерактивных скриптов, выполняемых при включении или завершении работы системы. В system V это делалось легко, но с systemd вносит коррективы. Зато оно умеет свои таймеры. Читать дальше →

Реально ли разработчику в Кремниевой долине стать миллионером? Разбор от Staff Engineer в Lyft Изображение: Unsplash Уже несколько дней интернет-общественность активно обсуждает фильм Юрия Дудя про Кремниевую долину. Опрошенные блогером эксперты рассказали об устройстве мировой IТ-столицы, а также подробно описали жизнь и быт работников технологических компаний. ...

[Из песочницы] Разработка встроенного ПО: введение Привет, Хабр! Представляю вашему вниманию перевод статей Chris Svec, оригинал здесь. Публикуется с разрешения автора по лицензии CC-A-NC-ND. Embedded software engineering 101: введение Я запускаю цикл статей по обучению разработке встроенного программного обеспечения. Мы на...

[Из песочницы] Apache Kafka и тестирование с Kafka Server Введение Существуют различные способы для написания тестов с использованием Apache Kafka. К примеру, можно использовать TestContainers и EmbeddedKafka. Об этом можно почитать, к примеру, вот здесь: Подводные камни тестирования Kafka Streams. Но существует и вариант для напис...

Сказ об опасном std::enable_shared_from_this, или антипаттерн «Зомби» — разбор полётов В настоящей статье приводится разбор вариантов устранения антипаттерна «Зомби», описанного в первой части: Сказ об опасном std::enable_shared_from_this, или антипаттерн «Зомби». Читать дальше →

[Перевод] ELK SIEM Open Distro: ELK stack — установка и настройка ELK SIEM Open Distro: ELK stack — установка и настройка. В этой главе будет описана установка и настройка ELK стека. Можно было бы эту главу пропустить и не переводить, но тогда потеряется нить между оригинальными главами. Читать дальше →

[Перевод] Как компилятор C++ находит правильную функцию Увлекательный пересказ того, как компилятор C++ находит правильную функцию, которую надо вызвать, когда в коде вызывается функция. По сути, это просто сжатое объяснение алгоритма, уже описанного на cppreference.com, который, в свою очередь, является сокращенной версией стан...

Аэродромное обеспечение: большой пост про то, что там, на земле, делают самолёту Как правильно паковать самолёты в конверт Привет! Давным-давно вы просили продолжить рассказывать про те службы в авиации, которые пассажир не видит. Мы при неоценимой помощи сотрудника аэропортового обеспечения aerodromer решили описать вообще основные виды работ. Наприм...

Бинарные операторы в Java В OTUS скоро стартует новая профессиональная программа по подготовке к сертификации Oracle Java Programmer (OCAJP). Приглашаем вас на бесплатный Demo-урок «Типы данных Java: Идентификаторы и примитивы» и публикуем статью Владислава Родина — руководителя группы разработки, пр...

[Перевод] Как стать DevOps инженером за полгода или даже быстрее. Часть 5. Развертывание Как стать DevOps инженером за полгода или даже быстрее. Часть 1. Введение Как стать DevOps инженером за полгода или даже быстрее. Часть 2. Конфигурирование Как стать DevOps инженером за полгода или даже быстрее. Часть 3. Версии Как стать DevOps инженером за полгода или даж...

Автоматизация аналитики Jira средствами Apache NiFi Приветствую, господа. Я Маша, мне 23, и я уже полгода изучаю и внедряю на практике Apache NiFi. Должна отметить, что спустя месяц после знакомства с этой технологией — я начала употреблять антидепрессанты. Был ли NiFi триггером или последней каплей достоверно неизвестно, к...

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

Как защитить удаленных сотрудников, или Безопасность в режиме home office Эпидемия коронавируса заставляет компании и органы госвласти массово поступаться своими принципами безопасности, выходить из защищенных периметров и переводить пользователей на удаленный режим работы. Уже много статей написано на тему того, как сделать доступ защищенным и ...

Как описать 100 Gitlab джоб в 100 строк В продолжение предыдущей статьи про инструменты деплоя в Kubernetes, хочу рассказать вам про то как можно использовать Jsonnet для упрощения описания джоб в вашем .gitlab-ci.yml Дано Есть монорепа, в которой: 10 Dockerfiles 30 описанных деплоев 3 окружения: devel, staging...

Микроша. Глава вторая. ПЗУ и БСВВ В предыдущей главе я описал железную часть моего контроллера SD карты для ПЭВМ «Микроша». А эта глава вышла программно-филосовской. Кому интересно — добро пожаловать! Читать дальше →

Выгорание[%бюджетник%] = factor(Maybe<рыночная экономика>) Это по сути мой развернутый комментарий на замечательную статью Елизаветы Ключиковой (ElizavetaKluchikova) «Слушаю и повинуюсь: рыночная экономика как фактор выгорания педагога». В ней очень детально и хорошо описаны злоключения учителей в современной системе общего образов...

[Из песочницы] Быстрая разработка Web приложения на Vaadin и Spring Boot Целью данной статьи является систематизация процесса разработки веб приложения на Vaadin 14 с использованием Spring Boot. Перед прочтением данной статьи, рекомендую прочитать следующий материал: Введение в Spring Boot Spring Data JPA Lombok возвращает величие Java Vaadin F...

1. FortiAnalyzer Getting Started v6.4. Введение Здравствуйте, друзья! Мы рады вас приветствовать на нашем новом курсе FortiAnalyzer Getting Started. На курсе Fortinet Getting Started мы уже рассматривали функционал FortiAnalyzer, но прошлись по нему довольно поверхностно. Сейчас я хочу более подробно рассказать про этот...

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

[Перевод] Пол Грэм про Java и «хакерские» языки программирования (2001) Это эссе явилось развитием бесед с несколькими разработчиками на тему предвзятого отношения к Java. Это не критика Java, а скорее, наглядный пример «хакерского радара». Со временем, хакеры развивают нюх на хорошие — или же плохие — технологии. Полагаю, может оказаться инт...

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

[Из песочницы] Исследование защиты программы TurboConf Всем привет! Решил поделиться с сообществом информацией о небольшом разборе одной маленькой утилиты (с обфусцированным кодом), известной в узких кругах 1с-ников. Это моя первая статья на Хабре, прошу сильно не пинать, но достойно критиковать. Disclaimer Всё, что вы здесь у...

В софте всё восхитительно, но все недовольны Есть типичная позиция, которую можно встретить на Хабре и не только: «хотя железо с годами всё лучше, человечество свело эффект на нет тем, что пишет софт всё хуже». Мол, ядер в процессорах стало больше, но тормозит всё пуще прежнего. Electron и Slack — порождения тьмы, п...

Внедрение Multicast VPN на Cisco IOS (часть 1 — знакомство с Default MDT) Разбираясь с современными методами организации multicast VPN я заметил, что в сети не так много материала, описывающего принципы и детали работы технологий. На сайте вендора представлена достаточная конфигурация для внедрения, но не описан смысл всех производимых деяний. В э...

OpenGL примитивы в стиле RAII Добрый день, хабра юзеры. Я давно не писал и возможно кто-то заждался статей от меня — конечно же нет. Так как свободного времени стало чутка поболее, а мой GitHub совершенно пуст, я решил написать свой клон Mein kampf Minecraft. С большой вероятностью, я задокументирую это...

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

[Перевод] ELK SIEM Open Distro: Визуализация информационных панелей ELK и SIEM в ELK В этом посте будет описана настройка визуализации информационных панелей ELK и SIEM в ELK Статья разделена на следующие разделы: 1- Обзор ELK SIEM 2- Дашборды по умолчанию 3- Создание ваших первых дашбордов Читать дальше →

[Из песочницы] Обучение технологии ray-casting, часть 1 Двумерное indie… трехмерные AAA-проекты… А может что-то промежуточное? Приветствую всех читателей. Мною было решено обобщить и перевести замечательную серию статей «Ray-Casting Tutorial For Game Development And Other Purposes» за авторством Ф. Пермади по изучению технологи...

[Перевод] О растущей популярности Kubernetes Привет, Хабр! В конце лета мы хотим напомнить, что продолжаем проработку темы Kubernetes и решили опубликовать статью со Stackoverflow, демонстрирующую состояние дел в этом проекте на начало июня. Приятного чтения! Читать дальше →

Заканчивался последний день рабочей недели… Заканчивался последний день рабочей недели. Я делал себе кофе на офисной кухне, размышляя, каким образом мы бы смогли снизить очередь пул реквестов, которая сильно разрослась после введения review guide. Вроде бы простые правила вызывали длительную переписку в комментариях к...

Радиоизотопная датировка и археология. К вопросу об уран-ториевом методе и неандертальском искусстве Не будет преувеличением сказать, что тема этой публикации вынесена из комментариев, а именно из обсуждения статьи о бонобо Канзи. Благодарю уважаемого @kraidiky за ссылку на статью Максима Руссо о неандертальском искусстве. Также с огромным интересом прочел материал уважаемо...

# Стоит ли связываться с C# На рынке есть десятки популярных ЯПов, и сеть набита статьями для новичков: какой язык выбрать? Мы решили сделать подборку статей с субъективным обзором языков для профессионалов, которые ищут, в какую сторону можно расширить свой кругозор. Первую статью цикла мы посвящае...

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

[Из песочницы] Кодогенерация в Go на примере создания клиента к БД В данной статье хотелось бы рассмотреть вопросы кодогенерации в Golang. Заметил, что часто в комментариях к статьям по Go упоминают кодогенерацию и рефлексию, что вызывает бурные споры. При этом на хабре статей по кодогенерации мало, хотя она применяется довольно много где в...

Перенос работающего сервера на RAID Жил-был LAMP-сервер на Ubuntu 12.04, который работал на одном диске. Соответственно, возникла задача обеспечить перенос сервера на более отказоустойчивую конфигурацию – RAID1. Товарищи, в ведении которых был данный сервер установили второй диск, а дальнейшее было возложено н...

Блокнот с осциллографом и генератором частот (звуковой картой) Решил немного написать про свою поделку. Несколько раз попадались разнообразные diy линейки. Захотелось сделать себе что-то подобное, многофункциональное. Форм-фактор линейки мне не очень подходил, решил сделать в виде блокнота. Читать дальше →

COVID-19: как перестать читать новости и начать анализировать данные Привет, Хабр! Где-то месяц назад у меня появилось чувство постоянного беспокойства. Я стал плохо есть, еще хуже спать и постоянно читать-смотреть-слушать тонну новостей о пандемии. Исходя из них коронавирус то ли захватывал, то ли освобождал нашу планету, являлся то ли заго...

Криптовалюта. ICO, IEO, STO. Майнинг. Блокчейн: регулирование в России. Полная история: 2014-2019 годов Пролог Юрист — человек, который может написать ответ на 10 листов и назвать его кратким. Основной мой бизнес связан с юриспруденцией. Почти еженедельно приходит 1-2, а то и 3-5-10 клиентов, которые задают одни и те же вопросы: «Каков статус криптовалют/токенов в РФ/СНГ?»;...

[Перевод] Машины уже опережают людей в тестах на чтение; но понимают ли они прочитанное? Инструмент под названием BERT способен обогнать людей в тестах на чтение и понимание. Однако он же демонстрирует, какой путь ещё нужно пройти ИИ Осенью 2017 года Сэм Боумен, вычислительный лингвист из Нью-Йоркского университета, решил, что компьютеры до сих пор ещё не очен...

Чистая архитектура для фронтендера Современный веб — это сложно. Количество фреймворков и темп их развития заставляет разработчика скакать галопом. Кто-то новые либы юзает, кто-то модные книжки читает. Но иногда чтение и потраченные силы на углубление в архитектуру, ООП, TDD, DDD и т.д. не оправдывают ожида...

Великобритания объявила о запрете Huawei 5G в стране, но не исключила пересмотра этого решения Великобритания объявила о запрете применения оборудования Huawei 5G в стране, но не исключила возможность пересмотра этого решения. Эти выводы изложены в новом отчете Guardian. Подробнее об этом читайте на THG.ru.

[Перевод] Математика провисающих проводов и цепей в играх Во многих современных играх присутствуют провода, кабели и цепи. В этой статье мы рассмотрим математические модели, от которых зависит их форма, также называемая catenary («цепная линия»). Введение в цепные линии Из множества изученных и описанных математических объектов од...

Машинное обучение на C#: введение в ML.NET ML.NET претендует на звание самой мощной библиотеки для машинного обучения на платформе .NET. Так ли это на самом деле? На вопрос отвечает Джефф Просайз. Джефф Просайз — один из создателей компании Wintellect, коллега по цеху знаменитого Джеффри Рихтера, автор более девят...

Применяем Data Sceince в мирных целях покупки дома Чтобы продать что-нибудь ненужное, нужно сначала купить что-нибудь ненужное, а у нас денег нет. — Трое из Простоквашино Введение Так получилось, что я живу в своей квартире (или кондо по-местному) в Монреале. И однажды, примерно год назад меня посетила мысль что неплохо-бы ...

[Из песочницы] Как обойти некоторые ограничения google translate Я опишу два финта, с помощью которых можно обойти некоторые ограничения google translate. 1. Ограничение на количество символов у google translate online то ли 3900, то ли 5000 символов. Иногда нужно больше, а создавать html-файл с текстом неохота. Чтобы обойти это огранич...

[Перевод] ELK SIEM Open Distro: Прогулка по open Distro В этом посте будет описана установка и настройка open Distro для Elasticsearch. В open Distro доступны следующие плагины являются : Безопасность (Security ) Оповещение (Alerting ) SQL Управление информационной безопасностью (ISM) Анализатор производительности (Performance A...

От земли к FPV Квадрокоптеру: Собираем свой первый квадрокоптер (Whoop) FPV Квадрокоптер: Фильтрация в Betaflight От земли к FPV Квадрокоптеру: Введение Всем привет! Статья с небольшим запозданием, но я набрался больше опыта и возможно это к лучшему. Несколько месяцев назад я бы рекомендовал собрать 5ти дюймовый квадрокоптер как следующий логич...

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

[Из песочницы] Как НЕ надо начинать изучать программирование Приветствую, Хабровцы! Решил поделиться своим опытом «успешного» изучения языка(ов) программирования. Не сказать, что в IT-индустрии я полный профан, однако мой план обучения «стать IT developer-ом» — с треском пошел по швам. Читать дальше →

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

Сеть в DOS с помощью стека mTCP Некоторое время назад меня попросили сделать видео-инструкцию по настройки сети в операционной системе DOS. К сожалению в съёмке видео я не силен, поэтому постараюсь максимально подробно письменно (и с картинками) изложить сей процесс. Однажды мне самому пришлось столкнутьс...

[Перевод] Имитация рисования от руки на примере RoughJS RoughJS это маленькая (<9 КБ) графическая библиотека JavaScript, позволяющая рисовать в эскизном, рукописном стиле. Она позволяет рисовать на <canvas> и с помощью SVG. В этом посте я хочу ответить на самый популярный вопрос о RoughJS: как это работает? Немного ист...

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

Реализация аудиоконференций в Telegram + Asterisk В предыдущей статье я описывал реализацию выбора пользователем места жительства при регистрации в моем telegram боте, который я создавал вдохновившись идеей «Телефонного эфира». В этой же статье я опишу интеграцию бота с Asterisk . Читать дальше →

Настройка LDAP в Oracle BI В статье описана простая настройка LDAP для аутентификации и авторизации пользователей. 1. Перейдете по ссылке Oralce bi которая открывает console(http://адрес: порт/console), используя учетную запись администратора (по умолчанию weblogic). Нажмите на Security Realms -> ...

[recovery mode] Архитектура Y messenger Y messenger разрабатывается чтобы быть одновременно и защищенным на уровне Tox, BitMessage, и удобным на уровне Telegram и WhatsApp. В этой статье я опишу как выглядит архитектура и какие решения были использованы чтобы достичь поставленных целей. Какие преимущества совреме...

Памятка по борьбе с алкоголем или Как пережить фуршеты Тут вот праздники скоро. Спросил недавно друг «как мне это все пережить?». Я сначала объяснял, а потом решил написать статью на хабр. Рассказанное — услышит один человек, а написанное — прочитаю сотни! Меня, если честно, достаточно сильно раздражают всевозможные застолья. По...

oVirt за 2 часа. Часть 2. Установка менеджера и хостов Эта статья — следующая в цикле по oVirt, начало здесь. Статьи Введение Установка менеджера (ovirt-engine) и гипервизоров (hosts) — Мы здесь Дополнительные настройки Итак, рассмотрим вопросы первичной установки компонентов ovirt-engine и ovirt-host. Читать дальше →

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

Как проанализировать рынок фотостудий с помощью Python (1/3). Парсинг данных В интернете огромное количество открытых данных. При правильном сборе и анализе информации можно решить важные бизнес-задачи. Например, стоит ли открыть свой бизнес? С таким вопросом ко мне обратились клиенты, желающие получить аналитику рынка услуг фотостудий. Для них было...

IDA Pro и техники реверс-инжиниринга 0x00 start ; {EN} entry point, do nothing, just run _main {EN} Статья для начинающих “воинов тьмы”, тех, кто хочет погрузиться в темную сторону силы: реверс-инжиниринг. На нашем “операционном столе” будет небольшой кустарный сервер, который работает по протоколу TCP/IP. Для ...

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

Подробности реализации протокола синхронизации времени PTPv2 Введение Концепция построения «Цифровой подстанции» в электроэнергетике требует синхронизации с точностью 1 мкс. Для проведения финансовых транзакций также требуется точность в мкс. В этих приложениях точности времени NTP уже недостаточно. Протокол синхронизации PTPv2, опи...

Как быстро загрузить большую таблицу в Apache Ignite через Key-Value API Некоторое время назад на горизонте возникла и начала набирать популярность платформа Apache Ignite. Вычисления in-memory — это скорость, а значит, скорость должна быть обеспечена на всех этапах работы, особенно при загрузке данных. Под катом находится описание способа быстр...

[Перевод] Бессерверные вычисления на основе OpenWhisk, часть 3 Эта статья продолжает цикл переводных заметок об OpenWhisk от автора Priti Desai. Сегодня рассмотрим примеры развертывания Zip-функций, зависимости GitHub, а также подробнее опишем синхронизацию объектов между клиентом и сервером OpenWhisk. Читать дальше →

ОТО. Энергия как дополнительное измерение в решении Шварцшильда Habritants! В этой статье описано получение метрики общего вида, включающей метрики Фридмана и Шварцшильда как частные случаи. Для понимания материала необходимы знания алгебры: понятие о производных в большей степени; тензорная — в меньшей. Читать дальше →

Перчатка Mark gauntlet v4.2 Перчатка Mark gauntlet v4.2В данной статье я постараюсь изложить суть моего проекта и показать процесс, который из наброска робота-собаки перетёк в заказ печатных плат для перчатки. Читать далее

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

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

Правильные ответы и анонс победителя Мы завершаем цикл статей с практическими задачами о том, как использовать данные генетических тестов. Сегодня публикуем правильные ответы и победителей, которые решили все три задачи быстрее остальных. Читать дальше →

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

Шаблоны GRASP: Polymorphism, Pure Fabrication, Indirection, Protected Variations Привет, Хабр! Меня зовут Владислав Родин. В настоящее время я являюсь руководителем курса «Архитектор высоких нагрузок» в OTUS, а также преподаю на курсах, посвященных архитектуре ПО. Специально к старту нового набора на курс «Архитектура и шаблоны проектирования» я продолж...

Как Magento 2 взаимодействует с Vue Storefront Привет! Меня зовут Павел и я занимаюсь бэкенд разработкой. Как уже писал AndreyHabr, многие из наших проектов основаны на стеке Adobe Magento 2 (для краткости далее я буду называть ее M2) в качестве бэкенда и Vue Storefront (VS) в качестве фронтенда. Я не буду подробно оста...

DLR RMC — часть 2. Управление механическим импедансом: что за зверь и как они его готовят Ссылка на первоисточник — здесь больше порядка с оформлением, особенно, для видеороликов. Содержание Введение Управление механическим импедансом: о понятиях Модель динамики Управление импедансом в обобщённых координатах Управление импедансом в декартовых координатах Компенс...

[Перевод] Введение в gRPC на Rust В статье будет показано как создать gRPC сервер и клиент на Rust. Для большей наглядности клиент будет также Telegram ботом. В итоге будет получена следующая архитектура: Статья является не всеобъемлющим руководством по gRPC в Rust, а скорее практическим гайдом, демонстриру...

Gentoo/Arch/LFS как путь в мир Linux Долго держался, не публиковал этот материал. Последний каплей стало вот это: Как Unix-way убивает десктопный Linux Попалось мне обсуждение на habr Q&A habr Q&A Очень понравился вот этот ответ от пользователя xolst9. Стал вспоминать свой опыт и решил развернуто вырази...

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

Точные и быстрые вычисления для чисел с плавающей точкой на примере функции синуса. Часть 2: libm Продолжаю цикл статей по работе с плавающей точкой. В первой статье я дал небольшое математическое введение и показал самый простой и очевидный способ вычисления синуса с примерами программ с разными «подводными камнями». Сегодня статья будет немного другая по стилю. Здесь н...

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

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

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

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

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

[Из песочницы] Как мигрировать Zabbix с MySQL на PostgreSQL с минимальным downtime В свете того, что Zabbix с некоторых пор поддерживает TimescaleDB, а тут еще и вышел новый LTS релиз Zabbix, то наверняка многие заинтересовались, как осуществить миграцию с MySQL на PostgreSQL. Несмотря на текст на картинке, вполне можно просто так взять и мигрировать Zabb...

Facebook приостанавливает введение новых условий в WhatsApp после резкого оттока пользователей решили перести изменения на другую дату

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

[Из песочницы] Чистая архитектура с Typescript: DDD и слоистая архитектура Привет, Хабр! В последнее время уделяю много внимание архитектуре и решил поделиться с сообществом переводом статьи Clean Architecture with Typescript: DDD, Onion автора André Bazaglia. Введение На протяжении более 6 лет моего профессионального опыта, я имел возможность раб...

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

[Перевод] Итерируемые объекты и итераторы: углублённое руководство по JavaScript Эта статья представляет собой углублённое введение в итерируемые объекты (iterables) и итераторы (iterators) в JavaScript. Моя главная мотивация к её написанию заключалась в подготовке к изучению генераторов. По сути, я планировал позднее поэкспериментировать с комбинирован...

ТОП-25 крупнейших ICO: что с ними сейчас? Мы решили изучить, какие ICO стали самыми большими по сборам и что с ними стало на текущий момент. Тройку лидеров возглавляют EOS, Telegram Open Network и UNUS SED LEO с большим отрывом от остальных. Кроме того, это единственные проекты, которые собрали больше миллиарда н...

[recovery mode] Список полезных IT-ресурсов для специалистов из сферы Привет, Хабр! Когда-то наша команда решила собрать список важных источников для расширения кругозора наших сотрудников в IT-индустрии. Поэтому мы подумали и решили опубликовать наш список используемых ресурсов и здесь: Читать дальше →

Обзор работы «Learnability Can Be Undecidable» Эта статья является моим вольным пересказом работы Learnability can be undecidable, Shai Ben-David, et al. Недавно на Хабре вышла статья Машинное обучение столкнулось с нерешенной математической проблемой, которая является переводом одноименного обзора в Nature News статьи Ш...

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

[Из песочницы] Сбор статистики viber Возник интерес как получить статистику по чату в вайбере. По информации на сайте viber.com статистика предоставляется только для сообществ, в которых не менее 1000 участников. Далее опишу инструкцию как я получал статистику для чата viber используя файл резервной копии. Чит...

[recovery mode] Пробуем и разбираемся с StateFlow Всем привет. Несколько дней назад JetBrains выпустил новую версию корутин — 1.3.6 и одним из нововведении стал новый подвид Flow — StateFlow, который приходит на замену ConflatedBroadcastChannel. Я решил попробовать StateFlow в действии и изучить внутреннее устройство. Чита...

DLR RMC — часть 1. Путь из космоса на Землю Ссылка на первоисточник: http://www.robotexnik.info/publ/robotics/dlr-rmc-part1/1-1-0-13. Здесь больше порядка с оформлением, особенно, для видеороликов. Заходите! Содержание Введение Ничего необычного: один из лучших центров робототехники в мире Оберпфаффенхофен Просто ко...

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

4. Check Point SandBlast Agent Management Platform. Политика Data Protection. Deployment и Global Policy Settings Добро пожаловать на четвёртую статью цикла о решении Check Point SandBlast Agent Management Platform. В предыдущих статьях (первая, вторая, третья) мы детально описали интерфейс и возможности веб-консоли управления, а также рассмотрели политику Threat Prevention и протести...

Автоматизация тестирования при создании игр Введение: Автоматизированное тестирование во всю свою мощь используется многими компаниями. Юнит-тесты, Интеграционные тесты, UI тесты, ручное тестирование и прочие методы. Но почему-то в такой большой области, как GameDev автоматизация тестов сводится к тому, что билды пер...

Реализация поиска печатей на OpenCV без нейронок, регистрации и смс Не так давно перед нами стояла задача найти и извлечь печати с документов. Зачем? Например, для проверки наличия печатей в договорах с двух сторон (участников договора). У нас в закромах уже был прототип для их поиска, написанный на OpenCV, но он был сыроват. Решили откопат...

Боремся с таймаутами при использовании USB 3.0 через контроллер FX3, возникающими при определенных условиях Итак, в блоке из предыдущих трёх статей, мы рассмотрели, как можно изменить идеологию, принятую в первой версии комплекса Redd, заменив двухпроходную прокачку потоковых данных (сначала в буферное динамическое ОЗУ, а уже затем – в PC через интерфейс USB 2.0) на однопроходную ...

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

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

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

Опыт конвертирования кода C# в код Rust Постановка задачи Код на языке C# нужно перевести в код на Rust. Точнее, требуется такая процедура перевода (разработка продолжается на C#), чтобы в любой момент можно было получить работающий код на Rust. Эту задачу я решал для языков Java, Python, JavaScript и PHP, написав...

Оценочный уровень доверия (ОУД4) и ГОСТ Р ИСО/МЭК 15408-3-2013. Введение Привет, Хабр!В настоящее время в ИТ индустрии крайне актуальна тема построения процесса безопасной разработки ПО (по англ. «Secure SDLC» или «Secure software development life cycle»). Некоторые организации и команды самостоятельно приходят к необходимости такого процесса в с...

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

Хранение данных. Или что такое NAS, SAN и прочие умные сокращения простыми словами TL;DR: Вводная статья с описанием разных вариантов хранения данных. Будут рассмотрены принципы, описаны преимущества и недостатки, а также предпочтительные варианты использования. Читать дальше →

Вышел Windows Terminal Preview 1.5 Мы вернулись с очередным выпуском Windows Terminal! Терминал Windows перешел на версию 1.4 и включает функции, описанные в сообщении блога о версии 1.4. Windows Terminal Preview была переведена на версию 1.5 и включает функции, описанные ниже, в этой статье. Вы можете загруз...

Безопасная загрузка в i.MX6 Безопасная загрузка в i.MX6 Разрабатывая любой проект для встроенных систем разработчик должен решать два дополнительных вопроса: Как защитить прошивку от подмены в изделии; Как защитить ПО от копирования. В данной статье описано как защитить процессор i.MX6 от подмены за...

Ведение разработки БД. Шаблоны создания/изменения объектов MSSQL При постоянной работе с MSSQL необходимо создавать различные объекты БД: таблицы, представления, триггеры и т.д. В статье приведу шаблоны SQL запросов, которые помогут, и, возможно, стандартизируют подход создания кода на языке T-SQL. Кроме этого, опишу о том, как я веду ре...

Первые шаги с Fiddler Classic Привет! После знакомства с Charles Proxy большинство из читателей захотело узнать больше про инструменты мониторинга и анализа HTTP/HTTPS трафика. Расскажем про популярный у многих тестировщиков Fiddler. Описать все возможности Fiddler в одной статье вряд ли получится, поэто...

[Перевод] Углублённое руководство по JavaScript: генераторы. Часть 2, простой пример использования Поведение генераторов, описанное в предыдущей статье, нельзя назвать сложным, но оно точно удивляет и поначалу может выглядеть непонятным. Поэтому вместо изучения новых концепций мы сейчас сделаем паузу и рассмотрим интересный пример использования генераторов. Читать дальше...

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

[Перевод] Что такое Spring Framework? От внедрения зависимостей до Web MVC Вы можете использовать это руководство для различных целей: Чтобы понять, что такое Spring Framework Как работают ее основные фичи: такие как внедрение зависимостей или Web MVC Это также исчерпывающий FAQ (Перечень часто задаваемых вопросов) Примечание: Статья ~ 9000 слов...

2. NGFW для малого бизнеса. Распаковка и настройка Продолжаем цикл статей по работе с новым модельным рядом SMB CheckPoint, напомним что в первой части мы описали характеристики и возможности новых моделей, способы управления и администрирования. Сегодня рассмотрим сценарий развертывания старшей модели серии: CheckPoint 15...

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

Две недели с F# А вы когда-нибудь записывали свои впечатления от изучения нового языка? Записывали все, что вам не понравилось, чтобы через пару недель изучения понять, насколько недальновидными и тупыми они были?  КАРТИНКА ДО КАТА На днях я понял F#, и попытаюсь описать словами мысль, ...

[Перевод] Как понять, что нейросеть решит вашу проблему. Прагматичное руководство Haystacks at Sunset Reimagined by AshnoAlice Инженер по машинному обучению Джордж Хосу задает вопрос: «Какие проблемы решает машинное обучение?». Или конкретнее, с учетом современного развития отрасли: «Какие проблемы нейросеть способна решить на практике?». Команда Mail.ru...

Ляпы и загогулины. 2 Продолжаю тему ляпов и загогулин, начатую в статье “Ляпы учебников и курьезы учебы”. Напоминаю определения: Ляп – явная или завуалированная ошибка, не носящая, впрочем, фундаментального характера, так что помучившись можно её исправить. Загогулина – фраза, тема, изложенна...

Производная и интеграл — проще некуда 19 декабря 2020 г. на Хабре вышла статья «Интуитивное объяснение интеграла».В комментариях к ней некоторые пользователи указали, что объяснение получилось не очень интуитивным, например:“Тема сама по себе интересная, недавно снова повторял курс, но должен сказать, что на мой...

[Перевод] Рендеринг в 3D-играх: введение Вы играете в свежую Call of Mario: Deathduty Battleyard на своём совершенном игровом ПК. Смотрите на прекрасный сверширокий 4K-монитор, любуясь великолепными пейзажами и замысловатыми деталями. Вас когда-нибудь интересовало, как графика попадает на экран? Задумывались, как ...

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

Всё-таки я не зря учился! Как клёвые алгоритмы и школьные формулы помогают создавать инновационные лекарства Введение Меня зовут Александр Садовников, я выпускник корпоративной магистерской программы ИТМО и JetBrains «Разработка программного обеспечения» и по совместительству старший разработчик биоинформатического ПО в департаменте вычислительной биологии компании BIOCAD. В этом...

nanoCAD Конструкторский BIM с точки зрения САПР-администратора Введение Эта статья представляет тот необходимый минимум, который, по мнению автора, следует учитывать при администрировании ПО nanoCAD Конструкторский BIM (версия 2.0). В первую очередь подразумевается использование данного ПО в корпоративной среде. Материал также будет п...

Управление шаговым двигателем через контроллер Canny Наткнулся недавно на статью камрада BosonBeard про новые контроллеры и решил попробовать на зуб что это такое. Недолго думая были раздобыты 3 типа контроллеров: Canny 3 Tiny, Canny 5 Nano, Canny 7. Рис. 1. Внешний вид упаковки контроллеров Canny 7 (слева), Canny 5 Nano (в ц...

Еще раз о передатчиках и приемниках 433 МГц Простейший комплект из приемника и передатчика ISM-диапазона 433 МГц завоевал заслуженную популярность в среде любителей электроники. Комплекты дешевы (даже в «Чипе-Дипе» их можно купить рублей за 300, а на Ali, говорят, вообще за полтинник), просты и надежны. Кроме того (о ...

Avro serialization в Kafka Здесь опишу пример сериализции данных через Avro и передача в Kafka. Для Avro есть сериализатор данных для Kafka, он использует в своей работе реестр (registry) схем и поддерживает версионность на отдельном развернутом сервере. Здесь будет только сериализатор, а версионность...

Таков путь! Эволюция бэкапов в Timeweb: от rsync до ZFS Мы постарались кратко описать путь, который прошла команда Timeweb за 10 лет: от rsync, LVM и DRBD до ZFS. Эта статья будет полезна тем, кто занимается серверной масштабируемой инфраструктурой, планирует делать бэкапы и заботится о бесперебойной работе систем. Расскажем о...

Программные зонды Elecard Boro – Мониторинг IPTV Boro реализует мониторинг и контроль качества потоков прямых трансляций (IPTV). Проект разработан компанией Elecard, основанной в России. Среди их клиентов и партнёров такие корпорации, как Intel Corporation, Netflix, Huawei, Cisco Systems, Samsung и многие другие. В этой ...

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

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

Cordova. Quick start Не так давно мне пришлось открыть для себя новую страницу IT - разработку мобильных приложений под Android с использованием платформы Cordova. Полученный опыт я хотел бы изложить в формате, который идеально упростил бы мне вхождение в эту платформу, попадись он мне на тот мо...

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

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

Кластер Elasticsearch на 200 ТБ+ С Elasticsearch сталкиваются многие. Но что происходит, когда хочешь с его помощью хранить логи «в особо крупном объёме»? Да ещё и безболезненно переживать отказ любого из нескольких дата-центров? Какой стоит делать архитектуру, и на какие подводные камни наткнёшься? Мы в О...

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

История архитектуры Dodo IS: путь бэкофиса Хабр меняет мир. Больше года мы ведём свой блог. Где-то полгода назад нам прилетел вполне логичный фидбэк от хабровчан: «Додо, вот вы везде говорите, что у вас своя система. А что это за система? И зачем она нужна сети пиццерий?». Мы посидели, подумали и поняли, что вы пра...

[Перевод] Выявление устройств с сенсорными экранами на чистом CSS У разработчиков, которым нужно выявлять устройства с сенсорными экранами, пользуясь исключительно CSS, появилась, благодаря новым возможностям CSS, надежда на светлое будущее. Речь идёт о черновике стандарта CSS Media Queries Level 4, в котором описаны два новых свойства — h...

[Перевод] Почему я разочаровался в хуках Перевод статьи подготовлен в преддверии старта курса «React.js Developer». Чем полезны хуки? Прежде чем я расскажу, в чем и почему разочаровался, я хочу официально заявить, что, вообще-то, я фанат хуков. Я часто слышу, что хуки создали для замены классовых компонентов. К ...

Бессерверные вычисления на основе OpenWhisk, часть 4 Эта статья заканчивает цикл переводных заметок об OpenWhisk от автора Priti Desai. Сегодня рассмотрим процесс развертывания OpenWhisk поверх Kubernetes с исправленными командами для работоспособности с актуальными версиями приложений. Также будет описан процесс запуска функ...

О системе статистического тестирования, которую хочется иметь В ходе решения задачи для предсказание курса биткоина BTC/USD из исторических данных, пришло понимание, какой должна быть вычислительная система, с помощью которой можно построить желаемую модель. Этот vision захотелось описать для уважаемого Хабра-мира и таким образом понят...

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

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

Telegram на go, часть 2: бинарный протокол В предыдущей части были описаны подходы, примененные при написании парсера для схемы MTProto. Статья получилась чуть более общей, чем я рассчитывал, на этот раз я постараюсь рассказать больше про специфику Telegram. Клиент на Go продолжает развиваться, а мы вернемся в прошло...

Shadow – гибрид сетевого симулятора и эмулятора Shadow запускает реальные приложения, такие как Tor или Bitcoin. Изначально он создавался для экспериментов над Tor, но вырос в крупный проект, который широко используется для исследований в таких местах, как Кембриджский и Колумбийский университеты. В этой статье будут рас...

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

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

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

[recovery mode] Высокотехнологичные аферисты Часть 1-я Вступление В современном мире высокие технологии осваивают не только люди, желающие достигнуть чего-то полезного, большего для себя и окружающих, делая нашу среду комфортней, гармоничней, но и те, кто сознательно занимается разрушением, делая людей несчастнее. ...

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

Import or from import, that is the question Есть три стадии знаний: ты используешь инструмент, ты понимаешь как он работает, ты можешь учить других работать этим инструментом. Потихонечку начал перетекать в третью и стал задавать себе вопросы, которые раньше не задавал. Например, что лучше: import module или from mod...

NSX Advanced Load Balancer – умный автомасштабируемый балансировщик нагрузки. Часть 2: установка и настройка В прошлый раз я рассказал о функциях балансировщика нагрузки NSX ALB, описал его архитектуру и схему работы. Мы посмотрели, как работает глобальная балансировка серверов (GSLB), которая объединяет серверы на географически разнесенных площадках в единый пул. В том числе, так ...

Гитхабификация Информационной Безопасности Гитхабификация Информационной Безопасности На пути к открытой, независимой от производителя и приветствующей вклад сообщества модели для ускорения обучения в сфере Информационной Безопасности 8 декабря 2019 года Джон Ламберт (John Lambert), JohnLaTwC, Distinguished Engineer,...

«Империя наносит ответный удар»: Apple подала в суд на Epic Games за нарушение правил App Store и требует возмещения убытков Компания Apple решила показать, что ее юристы тоже умеют составлять судебные иски, используя слабые месте в обороне оппонента. После очередной попытки Epic Games заставить Apple вернуть Fortnite в App Store через суд, компания из Купертино подала ответный иск. Доводы компани...

2. Check Point SandBlast Agent Management Platform. Интерфейс веб-консоли управления и установка агента Продолжаем изучать новую облачную платформу Check Point Management Platform для управления средством защиты пользовательских компьютеров — SandBlast Agent. В предыдущей статье мы описали основные составляющие SandBlast Agent, познакомились с архитектурой Check Point Infini...

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

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

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

[Перевод] Constraint Programming или как решить задачу коммивояжёра, просто описав её Пожалуй, наиболее популярной парадигмой программирования является императивное программирование, но это не единственный вид программирования, широки известны функциональное и логическое программирование. Constraint Programming (Программирование в ограничениях/Ограниченное пр...

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

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

Выращиваем ИИ — Генетические алгоритмы: введение (сгенерированое изображение) Существует множество способов создать искусственную нейронную сеть или даже "искусственный интеллект". Но все эти способы обескураживают, от части сложностью которую я не до конца понимаю, отчасти от того, что все сводится к математиче...

Ультразвуковая система определения координат 2.0 Ультразвуковая система определения координат 2.0 О чем эта статья: Эта статья описывает принципы работы моей системы определения координат, и мой опыт её изготовления. Данная статья не является инструкцией по изготовлению навигационной системы, ибо это не так просто, чтобы о...

Timetracker для Youtrack: DIY Есть замечательное приложение T-REC позволяющее трэкать время, потраченное на задачи в Youtrack, и записывающее его в таску. Но автор забросил его больше двух лет назад, плюс старые зависимости, постоянная загрузка одного ядра (тут видимо виноват electron) и периодические па...

Запускаем DOOM на калькуляторе HP Prime G2 Установить DOOM на какое либо устройство, это как водрузить знамя победителя на павшей крепости. Мне задали вопрос “ну что, doom запустил?” не менее 35 раз, когда узнали что я вожусь с данным калькулятором. Решил не разочаровывать публику и добиться запуска DOOM. Попутно, э...

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

Управление LCD и OLED дисплеями на AVR-ассемблере Сразу предупреждаю, что не собираюсь разводить холивары насчет преимуществ AVR-ассемблера перед С/Arduino, или даже перед BASCOM-AVR и MikroPascal for AVR — каждый инструмент уместен в своей области. У ассемблерного подхода в ряде случаев имеются свои преимущества — в основн...

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

[Из песочницы] Реализация MVVM в ABAP После окончания университета я несколько лет работал программистом C#. Я разрабатывал приложения на WPF с использованием шаблона проектирования MVVM. Затем перешел на ABAP. К большому удивлению обнаружил что ABAP является скорее процедурным языком чем объектно-ориентированны...

[Перевод] Как мы устранили редкую ошибку, из-за которой пришлось разлогинить всех пользователей Github 8 марта мы рассказали о том, что из соображений безопасности разлогинили всех пользователей GitHub.com из-за редкой уязвимости защиты. Мы считаем, что прозрачность — ключевой фактор сохранения доверия со стороны пользователей, поэтому решили рассказать об этом баге подробне...

Автоматизация HotFix в Maven проектах с использованием TeamCity В этом посте будет описана настройка автоматизации HotFix в Maven проектах с использованием Teamcity. Чтобы сделать HotFix обычно делается много ручных действий: 1) Создать бранч для релиза, на который вы хотите выкатывать HotFix 2) Исправить ошибку в релизе 3) Измененить bu...

Redux Toolkit больше не нужен? Проблема огромного количества boilerplate-кода при использовании Redux известна всем, каждый ее решает как может. И мы на разных проектах использовали разные костыли и велосипеды, не теряя при этом надежду найти что-то стандартизированное и удобное. Чуть больше года назад мы...

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

Приточная вентиляция совмещенная с канальным кондиционером (часть 2 — водяная) Приточная вентиляция совмещенная с канальным кондиционером (часть 2 — водяная) Хочу поделиться опытом проектирования, монтажа и эксплуатации своей системы приточной вентиляции совмещенной с канальным кондиционером. Система собиралась в 2012-2013 годах и с тех пор находится ...

Готовый шаблон для тестирования с использованием Spring Представляю вам — готовый шаблон для тестирования с использованием Spring. Введение Цель этой статьи показать, что писать автотесты со Spring проще нежели на чистой Java. Так же хочу продемонстрировать, насколько Java + Spring упрощает жизнь тестировщикам. Для кого эта ...

Таинственная математика совершенства Улыбка Моны Лизы, олимпийский прыжок Мэри Лу Реттон, высокая тесситура Мэрайи Кэри — всё это считается совершенным. Так же, как и числа 6 и 28. Не без участия таланта или атлетизма этих людей, но совершенство находится в глазах смотрящего. Для чисел совершенство же определя...

Анализ международных документов по управлению рисками информационной безопасности. Часть 2 В предыдущей части мы описали общую концепцию риск-менеджмента и раскрыли методы управления рисками в соответствии с документами NIST SP серии 800. В данной части мы продолжим обзор международных документов по управлению рисками информационной безопасности: у нас на очереди ...

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

Регулируемый генератор для ультразвукового излучателя Лажевна на Arduino В интернете полно статей со схемами пуш-пулл, и даже тут, на Хабре, но люди не любят брать в руки паяльник, а уж тем более осцилограф. Я же опишу схему, собранную на стандартных для ардуинщика модулях. Из приборов необходим только тестер (да хоть DT-830), паяльник тоже нуже...

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

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

[Перевод] Пустобрёх GPT-3: генератор языка от OpenAI понятия не имеет, о чём говорит Тесты показывают, что популярный ИИ пока ещё плохо разбирается в реальности С тех пор, как OpenAI в мае впервые описал свою новую систему искусственного интеллекта (ИИ) GPT-3, генерирующую текст, сотни новостных изданий, включая и MIT Technology Review, написали множество ...

Рабочая станция в Docker контейнере Для чего? Мне постоянно приходят всякие идеи и некоторые из них сразу хочется попробовать, но рабочая станция не всегда под рукой, поэтому я настраивал IDE на всем что попадется под руку. В итоге устройства начали захламляться, а поддерживать и обновлять их стало тяжело. Что...

Продвинутая система авторизации действий с ресурсами в Laravel. Часть 2. Шлюзы, Политики Введение Здравствуйте дорогие Хабровчане. Я продолжаю свой цикл статей о продвинутой авторизации действий с ресурсами в Laravel. Чтобы лучше понимать о чем пойдет речь этой статье — необходимо прочесть Первую часть. Для начала вкратце повторю постановку задачи: Имеется бол...

522-фз или как умнеют счётчики электричества. Часть 1 В этом году, тема «умных счётчиков электроэнергии» вошла в топ-3 вопросов ко мне. И она на первом месте.Я решил написать статью, где пробегусь по главным аспектам новых законов, поясню, чего нам ждать, зачем все делается. Во второй части опишу подводные камни, куда ж без них...

[Перевод] JEP 360: Sealed Types (Preview) В то время, как половина мира заточилась в самоизоляции, ходят слухи, что Java 15 может присоединиться к флешмобу. Если в Бельгии нельзя размножаться людям, то почему классы должны наследоваться бесконтрольно, разве это справедливо? Задача этого JEP — описать улучшение язы...

[Перевод] ELK SIEM Open Distro: Введение. Развертывание инфраструктуры и технологий для SOC как Service (SOCasS) ELK SIEM Open Distro: Введение. Развертывание инфраструктуры и технологий для SOC как Service (SOCasS) За последние пару лет количество кибератак зашкаливает. Эти атаки нацелены не только на отдельных людей, но и на фирмы, правительства, критическую инфраструктуру и т. д. Тр...

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

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

SIRR, не соизволите ли удалить отражение? Привет! Меня зовут Артём, я учусь на совместной кафедре анализа данных Яндекса и Физтеха. Хочу поделиться с ML-сообществом Хабра темой, тесно связанной с моей научной работой: «Удаление отражений с помощью свёрточной сети, обученной на синтетическом датасете». А чтобы вы мог...

[Из песочницы] Реализация offline режима для Yandex.Music Введение Сегодня мы будем рассматривать такой достаточно известный музыкальный сервис, как Yandex.Music. Хороший в целом сервис, но с существенным недостатком — невозможностью работы оффлайн. Мы попробуем исправить это досадное недоразумение, используя подручные инструменты....

Кроссплатформенная мобильная разработка: история вопроса Когда речь заходит о разработке «сразу для Android и iOS», начинаются холивары и гадания на кофейной гуще. Что перспективнее, Flutter или Kotlin Multiplatform? Будущее за ними, или завтра их оба забудут?Уверенно делать прогнозы — занятие весёлое, но не очень конструктивное. ...

SamsPcbLab, часть 2: WP, CSS, PHP и печатные платы Я постараюсь максимально кратко описать опыт разработки платформы для разработчиков печатных плат на WordPress (WP) без начальных знаний о web-разработке, остановившись на некоторых нюансах, которые могут оказаться полезными тем, кто будет проходить тот же путь. Также я с ра...

[Из песочницы] Многопоточность. Модель внутренней памяти Java простыми словами Привет, Хабр! Представляю вашему вниманию перевод статьи «Java Memory Model» автора Jakob Jenkov. Прохожу обучение по Java и понадобилось изучить статью Java Memory Model. Перевёл её для лучшего понимания, ну а чтоб добро не пропадало решил поделиться с сообществом. Думаю...

Распределенные транзакции для разнородных баз данных в MS .NET Недавно, на одном интервью меня спросили, а работал ли я с распределенными транзакциями, в том смысле, что нужно было делать вставку/обновление таких записей при условии: Одной транзакции. Это могут быть несколько разнообразных баз данных таких как Oracle, MS SQL Server и ...

Шаблоны GRASP: Controller (контроллер) Привет, Хабр! Меня зовут Владислав Родин. В настоящее время я являюсь руководителем курса «Архитектор высоких нагрузок» в OTUS, а также преподаю на курсах, посвященных архитектуре ПО. Специально к старту нового набора на курс «Архитектура и шаблоны проектирования» я продолж...

[Из песочницы] Form design patterns. Обзор книги Введение от автора обзора Книга раскрывает, порой не очевидные для дизайнеров и фронтендеров, темы оформления полей, концепции работы с типами данных и юзабилити. Книга будет полезна и новичкам и разбирающимся в теме проектировщикам интерфейсов, т. к. первым даст понимание...

[Перевод] Корутины в C++20. Часть 2 Введение Данная статья является продолжением данной статьи. Бесконечный поток данных при помощи co_yield Код ниже реализует бесконечный поток данных. Корутина getNext использует co_yield для создания потока данных который начинается со start и выдает по запросу каждое новое ...

[Перевод] Управление по защите данных Германии: телеметрия в Windows 10 1909 Enterprise может быть полностью отключена Телеметрия давно стала горячо обсуждаемой темой с момента, когда Microsoft выпустил первую версию Windows 10. Microsoft решил глубоко интегрировать сбор данных в операционную систему — да так глубоко, что у пользовательских выпусков Windows 10 Home и Windows 10 Pro не было о...

[Перевод] День смерти стандартной библиотеки На днях в Праге комитет по стандартизации С++ провел ряд опросов по вопросу изменения ABI, и в конечном счете было решено ничего в нем не менять. Аплодисментов в зале слышно не было. Я думаю, мы не осознавали полностью те последствия, которое повлечет за собой данное решение...

[Из песочницы] Boost.Compute или параллельные вычисления на GPU/CPU Привет, Хабр! По моим меркам я уже достаточно давно пишу код на C++ (почти 3 года), но до этого времени ещё не сталкивался с задачами, связанными с параллельными вычислениями. Я не увидел ни одной статьи о библиотеке Boost.Compute, поэтому эта статья будет именно о ней. Со...

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

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

[Перевод] Строгая десериализация YAML в Python c библиотекой marshmallow Исходная задача Необходимо прочитать нетривиальный конфиг из .yaml файла. Структура конфига описана с помощью дата-классов. Необходимо, чтобы при десериализации были выполнены проверки типов, и, если данные невалидны, было брошено исключение. То есть, проще говоря, нужна ...

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

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

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

Белее некуда: краска, отражающая до 98.1% солнечного света Изобретение велосипеда зачастую описывает процесс создания чего-то, что уже создано. Другими словами, бессмысленный труд. Однако в научном мире существует множество трудов, которые можно описать этой фразой. Тем не менее многократное создание одного и того же велосипеда ра...

Программа Joker 2020: Java изнутри и снаружи До конференции Joker меньше полутора месяцев, и пришло время рассказать Хабру, о чём будут её доклады. Если говорить в целом, то так. Помимо докладов, будут воркшопы: они хорошо подходят онлайн-формату. Будут интересные новые спикеры вроде Питера Лори (на Stack Overflow — в...

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

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

oVirt за 2 часа. Часть 3. Дополнительные настройки В этой статье мы рассмотрим ряд необязательных, но полезных настроек: использование дополнительных имен для менеджера; подключение аутентификации через Active Directory; Mutlipathing; управление питанием; замена SSL сертификата; архивация; менеджмент-интерфейс хостов (cockp...

Сортировка вставками Всем привет. Сегодня продолжаем серию статей, которые я написал специально к запуску курса «Алгоритмы и структуры данных» от OTUS. Введение Сортировка массива является одной из первых серьезных задач, изучаемых в классическом курсе «Алгоритмы и структуры данных» дисциплины...

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

3. Частотные характеристики систем автоматического управления (АФЧХ, ЛАХ, ФЧХ) ч. 3.1 Лекции по курсу «Управление Техническими Системами», читает Козлов Олег Степанович на кафедре «Ядерные реакторы и энергетические установки», факультета «Энергомашиностроения» МГТУ им. Н.Э. Баумана. За что ему огромная благодарность. Данные лекции только готовятся к публикаци...

Аутентификация в Kubernetes с помощью Dex: прикручиваем LDAP Сегодня я подробно разберу настройку аутентификации в Kubernetes с помощью Dex в связке с LDAP, а также покажу, как можно добавлять статических пользователей в Dex.  В статье не буду останавливаться на основных принципах работы Dex, а сразу перейду к установке и настройке L...

Заходят как-то в бар Мандалорец, Генлок и СКМ… Это был обычный летний будний день между первой и второй волнами коронавируса, а это значит, что мы (СКМ Трекинг) могли позволить себе такую роскошь как работа в офисе с полигоном для тестирования нашей гибридной радио-инерциальной системы захвата движений под боком. Тут нам...

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

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

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

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

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

TDD для микроконтроллеров. Часть 3: Запуск на железе TDD для микроконтроллеров. Часть 1: Первый полет TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей TDD для микроконтроллеров. Часть 3: Запуск на железе В первой части нашего цикла статей мы начали освещать тему эффективности применения методологии TDD...

От Babel до GraphQL: доклады HolyJS 2019 Moscow Если вы JS-разработчик, то браузер для вас — дом родной, но можете ли вы описать пошагово все действия браузера для отрисовки вашей прекрасной страницы? И вы наверняка уже слышали про WebAssembly, но знаете ли, что «внутри» у этой технологии? Углубиться в эти и многие дру...

CrossOver, софт для запуска Windows-приложений на Chromebook, вышел из беты Хорошие новости для владельцев хромбуков, которым не хватает Windows-приложений на своих машинах. Вышел из беты софт CrossOver, позволяющий запускать приложения под Windows OS в программной среде Chomebook. Правда, есть ложка дегтя в этой бочке меда: софт платный, и его с...

[Из песочницы] Путь в программисты (С++) Привет. С вами я. Мне нравилось боксировать и бегать на дальние дистанции, и думал я только о спорте, но выучился на моряка. Работал в авиации, а стал программистом С++ в 29. Расскажу, как так получилось. О программировании к октябрю 2017 я знал ровно столько, сколько сейча...

[Из песочницы] Итоги двух лет изучения «Structure and Interpretation of Computer Programs» Оригинал опубликован в моём блоге 11.07.20. Если я правильно понял, это не проблема. Я считаю, что разработка ПО в значительной степени заключается в программировании на псевдокоде. Если ты представил псевдокод, то перевести его на Python, C, что угодно — не проблема. Осн...

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

[Перевод] Spring MVC: создание веб-сайтов и RESTful сервисов Вы можете использовать эту статью, чтобы понять, как использовать Spring MVC для создания веб-сайтов или RESTful сервисов. А также получить обзор часто задаваемых вопросов, охватывающих наиболее распространенные задачи Spring MVC. Примечание: Статья ~ 7500 слов, вероятно, не...

[Из песочницы] Нетривиальное слияние репозиториев с помощью GitPython Задача Дано: проект на основе OpenWRT (а он — на основе BuildRoot) с одним дополнительным репозиторием, подключенным как feed. Задача: слить дополнительный репозиторий с основным. Предыстория Мы делаем маршрутизаторы и, однажды, захотели дать клиентам возможность включать с...

Мой Covid-19 lockdown проект, или, как я полез в кастомный UICollectionViewLayout и получил ChatLayout Да, да. Я понимаю, что на дворе 2020 год, что все хардкорные IOS разработчики пишут исключительно на SwiftUI и Combine, и писать статьи про UIKit как-то “не айс”. Тем не менее, 2020 год выдался не таким, как все предыдущие года. Совсем не таким. Поэтому, как только на Дубл...

Вторая конференция Zabbix в России: регистрация и важные даты Летом прошлого года мы провели первую Zabbix Confrence Russia и получили большой интерес со стороны публики. Стало ясно, ежегодной конференции в России – быть. В 2020 году мы решили перенести мероприятие на май, не посягая на время летних отпусков. До конференции осталось чу...

Как Иван ошибку в бэкенде локализовывал В комментариях к одной из моих статей про базовые команды Linux shell для тестировщиков справедливо заметили, что в ней не было указано применение команд в процессе тестирования. Я подумал, что лучше поздно, чем никогда, поэтому решил рассказать историю Backend QA-инженера В...

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

Книга «Roblox: играй, программируй и создавай свои миры» Привет, Хаброжители! Мы издали книгу для мальчиков и девочек. Что такое Roblox? Это красочная компьютерная платформа для создания и публикации своих игр. Мир Roblox изо дня в день становится все популярней, и ты можешь стать его частью! Если ты мечтаешь стать геймдизайнеро...

Книга «Программирование на Rust» Привет, Хаброжители! Официальный гайд по языку программирования Rust поможет вам создавать более быстрое и надежное программное обеспечение. Высокоуровневая эргономика и низкоуровневое управление часто противоречат друг другу, но Rust бросает вызов этому конфликту. Авторы ...

Описан результат противостояния танка и беспилотника Датское издание Jyllands-Posten описало результат противостояния танка и беспилотника. По мнению специалистов, для бронетехники наступают тяжёлые времена.

[Из песочницы] Особенности систем электроснабжения с применением ДДИБП Буцев И.В. drups2019@mail.ru Особенности систем электроснабжения с применением Дизельных Динамических Источников Бесперебойного Питания (ДДИБП) В нижеследующем изложении автор постарается избежать маркетинговых клише и будет опираться исключительно на практический опыт. В к...

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

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

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

[Из песочницы] Игра для программистов FuncBall Многие, как и я, любят футбольные симуляторы и многие увлекаются программированием. Когда-то, в далёком 2004 году, наигравшись в ФИФУ я подумал, что было бы неплохо совместить два моих увлечения в одной игре, в которой игроки управлялись бы не вручную, а написанным для них с...

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

[recovery mode] Автоматизация поставок Siebel: На пути от хаоса к порядку Введение Разработка под Siebel имеет свои отличительные черты. В её основе лежит конфигурирование объектов, и автоматизация бизнес процессов c их использованием, как из кубиков, использование справочников особых значений. Возможность написания скриптов присутствует, но не за...

Синдром бога: история о том, как главный инфекционист Ставропольского края коронавирус распространял(а)* * диагноз на момент 22:40 пятницы 20 марта 2020 года все еще окончательно не подтвержден лабораторией из Новосибирска. Я три дня наблюдал за развитием этой истории и сначала она напоминала начало сюжета проходного фильма про очередную эпидемию, по после того, как губернат...

[Из песочницы] Flask-DJ: Django (mvc) структура для проекта на flask Всем привет! Когда я впервые столкнулся с Flask, у меня сразу возник вопрос по построению архитектуры проекта. Прочитав пару статей на Хабре (https://habr.com/ru/post/275099/ и https://habr.com/ru/post/421887/), я вспомнил свой опыт создания проектов на Django, и решил сде...

2 года в IT, что происходит со джуном веб-разработчиком Зачастую статьи личного опыта имеют три категории от двух типов людей: история успеха / провала от новичков; крутые статьи про сложные штуки от крутых ребят; истории про разочарование от тех же крутых ребят (но это не точно *). Гораздо реже можно встретить истории разрабо...

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

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

Ликбез по налогам для специалистов, оформленных по ТК РФ Можете ли вы ответить на вопрос: какой эффективный налог для сотрудников компаний в России? Некоторые скажут — 13%, другие — 50%. До недавнего времени я тоже не мог однозначно ответить на этот вопрос. Поэтому и решил разобраться, как устроено налогообложение в России, а такж...

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

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

«Тудурант» — менеджер задач, который заставляет примитивный мозг работать Буду краток: системы продуктивности типа GTD никогда не работают в долгосрочной перспективе. Я взял все самые сочные части разных методологий, соединил их, упростил — и теперь им пользуется более 5000 пользователей. В этой статье я описал весь процесс развития продукта от ид...

[Из песочницы] Как научить UITextView красиво выделяться Постановка задачи Дано: многострочный текст. Найти: красиво оформленный фон. «Да это же на часок», — подумал я. — Нужно всего лишь поставить backgroundColor в attributedText». Но этого оказалось недостаточно. Дело в том, что стандартное выделение — это закрашенный прямоуго...

[Из песочницы] Не бойся JSON или твое первое приложение с использованием API Я имею кое-какой 8ми летный опыт в ковырянии кода. За это время успел попробовать много разных языков и технологий в разных направлениях: от «разработки» всяких фишинговых приколов на PHP Devel Studio до полноценных веб приложений на современных фреймворках и софта на нейрос...

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

Светодиодный костюм Это первая часть моей публикации, в которой я постараюсь кратко и лаконично изложить технологию построения современного светодиодного костюма. Уже более 4-х лет на рынке доступны цифровые светодиодные ленты на базе IC LED чипов (смарт пикселей). Суть таких пикселей доволь...

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

Оксфордский словарь не смог выбрать одно слово для 2020 года и выдал сразу 16 У Оксфордского словаря есть традиция — каждый год в ноябре-декабре выбирать слово или словосочетание, которое характеризует год в целом. В 2019 это было «Climate emergency» («Чрезвычайная климатическая ситуация»). 2020 год выдался же настолько странным, что лингвисты про...

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

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

[Из песочницы] Игровая консоль stm32 Немного шутеров для stm32; как, зачем, что получилось. Предисловие Будучи поклонником «старой» школы шутеров с одной стороны и embedded-разработчиком с другой, я всегда испытывал интерес, как и почему авторам той эпохи удавалось воплощать новый жанр, требующий совершенно ...

Wi-Fi Alliance представила Wi-Fi 6E с поддержкой частотного диапазона 6 ГГц Организация Wi-Fi Alliance сообщила о введении нового стандарта беспроводных сетей Wi-Fi 6 (802.11ax), который подразумевает работу на частоте в 6 ГГц. Он получил обозначение Wi-Fi 6E и должен частично решить проблемы с нехваткой...

Reuters решило повременить с введением платной подписки Reuters планирует сделать доступ к материалам на своем веб-ресурсе платным. Без приобретения подписки посетители смогут просматривать лишь по пять статей. Стоимость подписки будет составлять 34,99 USD.

Используем Google Tag Manager Server-Side вместо Zapier Появление Google Tag Manager Server Side привнесло большое количество возможностей в мир маркетологов и дата аналитиков. Так как инструмент новый не все понимают чем он может быть полезен конкретно для их компании. Одно из преимуществ GTM на сторонне сервера в том что вы мо...

[Перевод] Как разобраться в API HTML? Автор статьи, перевод которой мы сегодня публикуем, решил разобрать несколько HTML5-API  и поговорить об их возможностях, о том, для чего они созданы, об особенностях их использования и об их ограничениях. Читать дальше →

[Из песочницы] Как я собирал голограмму Решил собрать голограмму своими руками, но в итоге вместо картинки я получил разочарование. Стоило ли вообще в это лезть? Читать дальше →

Издательство Питер. Колонка редактора Привет, Хаброжители! Мы теперь решили делиться с вами краткими обзорами сданных в типографию новинок. Читать дальше →

Издательство Питер. Колонка редактора Привет, Хаброжители! Мы теперь решили делиться с вами краткими обзорами сданных в типографию новинок. Читать дальше →

[Из песочницы] AWS — сколько нужно сервисов, чтобы поднять веб-приложение? Так получилось, что до 2020 года я не имел дело с облаками. Когда же, наконец, углубился в эту тему, то немного потерялся от обилия сервисов, предлагаемых в AWS. Необходимо было создать приложение с такими фичами: Авторизацией через facebook или google. Возможностью загруз...

[Перевод] Что я понял о праве на ремонт, восстанавливая 30-летнюю NES В конце 1980-х кто-то купил в настоящем, не электронном, магазине Nintendo Entertainment System (NES), принёс её домой и, предположительно, играл на ней неизвестное количество лет. За последовавшие десятилетия консоль с серийным номером N12180601 сильно пострадала, в конеч...

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

[Перевод] Создание шейдерной анимации в Unity Недавно я работал над анимацией респауна и спецэффектом главного героя моей игры “King, Witch and Dragon”. Для этого спецэффекта мне нужна была пара сотен анимированных крыс. Создание двухсот мешей со скиннингом с анимацией ключевыми кадрами всего для одного спецэффекта — ...

Модерация текста: уроки этикета от Data Scientist’a Привет, Хабр! С этой статьи мы начинаем публикацию серии статей про Data Science задачи, которые мы решаем в Центре Развития Финансовых Технологий Россельхозбанка. В прошлом году Россельхозбанк объявил о создании и развитии экосистемы для предприятий агропромышленного ...

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

[Из песочницы] Использование Quartus и ModelSim Меня всегда интересовала цифровая схемотехника, а в частности языки описания аппаратуры -HDL. У меня давно лежала в списке будущего чтения книга Дэвида М. Хэррис и Сары Л. Хэррис «Цифровая схемотехника и архитектура компьютера», воспользовавшись свободным временем на самоизо...

Анализ нового КоАП касательно полетов БВС На рассмотрении на данный момент находится новая редакция КоАП (кодекса об административных правонарушениях), т.е. документа, регулирующего в том числе и наказания за незаконное использование беспилотников. Введение в действие нового КоАП планируется в начале 2021 г. Давайте...

Безопасный downgrade macOS Big Sur (без 1008F) Недавно, я писал о том, как решить проблему с вечной ошибкой 1008F при попытке откатить macOS Big Sur до macOS Catalina через Internet Recovery. Как показал опрос, есть необходимость рассказать о том, как откатить macOS Big Sur без ошибки 1008F. Причин для отката может бы...

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

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

Лайфхак для быстрого попадания в Zero-click поисковой выдачи На просторах Хабра встретилась статья: Zero-click выдача и On SERP SEO: как попасть на нулевую позицию в Яндексе и Google, в которой говорится о попадания не просто в ТОП, а прямо на самую нулевую позицию поисковой выдачи. А так же приводится внушительный список рекомендаций...

[Перевод] Введение в Data Parallel C++. Пишем первую программу Перед вами введение в программирование на языке Data Parallel C++ или, коротко, DPC++. DPC++ основан на Khronos SYCL — это означает, что перед нами модель современного параллельного программирования. Новейшим текущим стандартом Khronos является SYCL 1.2.1, хотя предварител...

[Перевод] Модели угроз в дифференциальной приватности Это перевод второй статьи из серии публикаций по дифференциальной приватности. На прошлой неделе, в первой статье цикла — «Дифференциальная приватность — анализ данных с сохранением конфиденциальности (введение в серию)» — мы рассмотрели базовые концепции и случаи примене...

[Перевод] DBLog — общий фреймворк для Change Data Capture Всем привет! Предлагаем к прочтению перевод статьи, который мы подготовили специально для студентов курса «Архитектор высоких нагрузок». Введение Отслеживание изменений данных (Change Data Capture, CDC) позволяет в реальном времени получать закоммиченные изменения в базе д...

(Без)умные устройства: топ-10 уязвимостей IoT от OWASP Не секрет, что реализация механизмов безопасности IoT-устройств далека от совершенства. Известные категории уязвимостей умных устройств хорошо описаны в Top IoT Vulnerabilities от 2018 года. Предыдущая версия документа от 2014 года претерпела немало изменений: некоторые пунк...

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

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

"Шпилькер" без заморочек Привет! Стать владельцем 3D-принтера можно двумя путями - купить или построить самому. Я выбрал второй. Почему? Потому что не верил, что это можно сделать своими руками. Это же 3D-принтер! Поэтому, не сильно напрягаясь и финансово вкладываясь, я сделал свой первый принтер 3D...

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

Используем Gradle и Github Actions для публикации Java проекта в Sonatype Maven Central Repository В данной статье я хочу подробно рассмотреть процесс публикации с нуля Java артефакта через Github Actions в Sonatype Maven Central Repository используя сборщик Gradle. Данную статью решил написать ввиду отсутствия нормального туториала в одном месте. Всю информацию приходил...

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

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

Враг не пройдёт, или как помочь командам соблюдать стандарты разработки Подход governance as a code обеспечивает контроль соблюдения архитектурных принципов как в части конфигураций инфраструктуры, так и в части программного кода. Правила проверки каждого артефакта, будь то конфигурация k8s, список библиотек или даже описание сценария CI/CD, опи...

[Из песочницы] Angular: понятное введение в NGRX Цель этой статьи — дать чистое и ясное представление о ngrx. Для этого я объясню, что нужно знать и понимать о ngrx, а затем мы увидим это в действии с простыми и понятными примерами кода. Вот список тем, которые мы будем обсуждать в этой статье: Что такое ngrx Преимущес...

«Нюансы» использования TeamCity Всем привет. Статья написана в простом стиле "DevOps для домохозяек" от таких же домохозяек. В ней будет описано с какими неожиданностями можно столкнуться при настройке проекта в TeamCity. Также приведу рекомендации как эти проблемы можно обойти. Нижеописанное ос...

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

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

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

3. Частотные характеристики звеньев и систем автоматического управления. ч. 3.2 Простейшие типовые звенья Лекции по курсу «Управление Техническими Системами» читает Козлов Олег Степанович на кафедре «Ядерные реакторы и энергетические установки» факультета «Энергомашиностроения» МГТУ им. Н.Э. Баумана. За что ему огромная благодарность! Данные лекции готовятся к публикации в виде ...

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

[recovery mode] Безумный безусловный обмен Безумный безусловный обмен Недавно попалась мне задача иммутабельным способом поменять местами два элемента в массиве по их индексам. Задача довольно простая. Поэтому решив её разумным способом: const swap = (arr, ind1, ind2) => arr.map((e, i) => { if (i === ind...

[Из песочницы] Настройка связки Nginx / LetsEncrypt в Docker Swarm Про то, как поднять контейнер Nginx и настроить для него автообновление сертификатов LetsEncrypt, есть довольно много статей. В этой будет описана довольно нестандартная схема. Основные моменты: Nginx разворачивается как сервис в Docker Swarm, а не как standalone-контейнер;...

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

Mac в дата-центрах Недавно компания Apple представила Mac с процессорами Apple Silicon M1, которые произвели настоящий фурор. Мы решили изучить, как «домашний» Mac может поселиться в дата-центрах. Читать дальше →

Ни туда, ни обратно Хотел я написать комментарий к статье «Германия или Туда и Обратно», да получился он настолько развернутым, что решил написать изложить свои мысли в отдельную статью.Начнем с того, что тема отъезда и приезда коснулась меня самого лично, о своем опыте я писал некоторое время ...

[Перевод] Nintendo DS: внутреннее устройство, принципы работы и взлом Оригинальная Nintendo DS (Blue edition). Выпущена 21.11.2004 в Америке, 02.12.2004 в Японии и 11.03.2004 в Европе. Краткое введение Эта консоль стала интересным ответом на множество потребностей, которые было невозможно удовлетворить в экосистеме портативных устройств. В н...

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

Catchain: алгоритм консенсуса блокчейна TON В предыдущем обзоре наша команда R&D рассказала о структуре Telegram Open Network и особенностях функционирования ключевых узлов (валидаторов) TON Blockchain, а также поделилась опытом Mercuryo, как валидатора сети. Эта статья посвящена одному из ключевых вопросов, отве...

Насколько современные Линуксы отличаются друг от друга Более 15 лет я работаю в компании Fast Reports и по роду своей деятельности мне часто приходится иметь дело с Linux, ведя поддержку одного из продуктов. С Linux я знаком несколько дольше — впервые установил Slackware в 1997 году. Соответственно, обладая некоторым опытом, хоч...

Active Restore: С чего начать разработку в UEFI Всем привет. В рамках проекта от компании Acronis со студентами Университета Иннополис (подробнее о проекте мы уже описали это тут и тут) мы изучали последовательность загрузки операционной системы Windows. Появилась идея исполнять логику даже до загрузки самой ОС. Следовате...

[Из песочницы] NextCloud в качестве сервиса по созданию защищенных ссылок Привет, Хабр! Хочу поделиться немного нетривиальным кейсом по настройке NextCloud в качестве сервиса по созданию защищенных ссылок, для прямого скачивания данных с подключенного сетевого smb\cifs-диска. Опишу решения нюансов, с которыми столкнулся во время настройки. Зачем...

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

[Перевод] Как я получил сертификат TensorFlow-разработчика (и как его получить вам) В начале мая я решил получить сертификат TensorFlow-разработчика. Для этого я разработал программу обучения для совершенствования своих навыков и выполнил задания сертификационного экзамена пару дней назад (3 июня). Оказалось, что я сдал экзамен успешно. Позвольте мне рас...

Пишем драйвер фреймбуфера для Raspberry Pi с LCD Прочитав монументальную серию статей о подключении LCD экрана к роутеру мне захотелось сделать то же самое. Однако многообразие используемого стека (openwrt, stm32, usb) в сочетании с отсутствием полных исходников кода но может плохо искал несколько затруднило задачу. Я реши...

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

Чем неудобен хабровый WYSIWYG-редактор На Хабре ввели новый WYSIWYG-редактор постов, а старый позже отключат. Идея в том, чтобы пользователям не требовалось иметь дела с HTML-тегами, и публиковать записи свободно мог любой не-айтишник. Но вот вопрос: не доставит ли это неудобств айтишникам?Я ничего не имею против...

[Из песочницы] Почем Appium для народа В этой статье мы рассмотрим инструмент Appium. Данная статья является вводным материалом для введения в автоматизированное тестирование мобильных приложений. Она покажет с какими трудностями возможно придется столкнуться при использовании данного инструмента. Рассмотрим неб...

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

[Перевод] Алгоритм обратного распространения ошибки на примере Word2Vec Поскольку я столкнулся с существенными затруднениями в поисках объяснения механизма обратного распространения ошибки, которое мне понравилось бы, я решил написать собственный пост об обратном распространении ошибки реализовав алгоритм Word2Vec. Моя цель, — объяснить сущность...

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

Особенности структурной обработки исключений в Win64 В процессе перевода своих средств программирования на платформу x86-64 потребовалось перевести и встроенный интерактивный отладчик. В отличие от подключаемых отладчиков данный отладчик находится, так сказать, непосредственно «на борту» каждой исполняемой программы. При этом ...

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

Yet Another Производственный Календарь на MS SQL. ПО->ША->ГО->ВО Написать свое решение меня подтолкнул пост на Хабре на аналогичную тему, в котором эта задача была решена «в лоб» — простым перечислением дней и флагом рабочий/выходной за весь диапазон жизнедеятельности системы, в которой этот календарь используется. В аналогичной ситуации ...

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

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

Ценности DDD Основоположником DDD (Domain Driven Design, предметно-ориентированное проектирование) является Эрик Эванс, который в довольно далеком 2003 году подарил миру свою знаменитую книгу о предметно-ориентированном проектировании. Безусловно, не все, что описано в книге придумал авт...

Импорт ЕГРЮЛ ФНС средствами Apache NiFi. Шаг 2 — преобразование XML в JSON В одном из проектов возникла необходимость перевести процессы импорта данных сторонних систем на микросервисную архитектуру. В качестве инструмента выбран Apache NiFi. В качестве первого подопытного выбран импорт ЕГРЮЛ ФНС. В предыдущей статье было описано, как получить файл...

Вице-президент Coinbase покинул компанию после введения запрета на активизм Вице-президент Coinbase Д. Ю, отвечавший за бизнес и работу с данными, решил уйти из копании после введения запрета на активизм. Запрет был введен учредителем биржевой площадки Б. Армстронгом.

Развертывание офисных рабочих мест Zextras/Zimbra в Яндекс.Облако Введение Оптимизация офисной инфраструктуры и развертывание новых рабочих мест — серьезная проблема для компаний всех типов и размеров. Оптимальным вариантом для нового проекта является аренда ресурсов в облаке и приобретение лицензий, которые можно использовать как у прова...