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

QSerializer: решение для простой сериализации JSON/XML Привет, Хабр! Подумалось мне, что как-то несправедливо получается — у Java, С#, Go, Python и т.д. есть библиотеки для комфортной сериализации объектных данных в модные нынче JSON и XML, а в С++ то ли забыли, то ли не захотели, то ли и не особо надо, то ли сложно все это, а м...

[Из песочницы] Сериализация в C++ В данной статье речь пойдет об автоматизации процесса сериализации в C++. В начале будут рассмотрены базовые механизмы, позволяющие упростить чтение/запись данных в потоки ввода-вывода, после чего будет дано описание примитивной системы генерации кода на основе libclang. Ссы...

GSoC 2019: Проверка графов на двудольность и трансформеры монад Прошлым летом я участвовал в Google Summer of Code — программе для студентов от компании Google. Ежегодно организаторы отбирают несколько Open Source-проектов, в том числе от таких известных организаций, как Boost.org и The Linux Foundation. Для работы над этими проектами Go...

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

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

Пример event-driven приложения на основе вебхуков в объектном S3-хранилище Mail.ru Cloud Solutions Rube Goldberg coffee machine Event-driven architecture повышает ценовую эффективность используемых ресурсов, потому что они задействуются только в тот момент, когда они нужны. Существует масса вариантов, как это реализовать и не создавать дополнительные облачные сущности в...

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

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

Как я писал полудецентрализованную криптовалюту на PHP. (Часть 1 — Сбор библиотек) Предисловие Вы наверно помните прошлую статью, в которой я разрабатывал централизованную криптовалюту. Идея была, как Вы знаете, плохой. Я решил перезапустить линейку этих туториалов, но уже более менее нормальной, чем было в прошлые разы. В этой линейке постараемся «пережев...

Андрей Зинин рассказал о нюансах образовательного проекта «Вместе о Победе» Мосметодцентр представил результаты своего совместного труда с учителями российской столицы, вылившиеся в новый образовательный ресурс «Вместе о Победе» (http://pobeda.mosmetod.ru/). Этот проект получил обсуждение в ходе недавнего селекторного совещания Департамента образова...

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

JavaScript библиотека Webix глазами новичка. Часть 4. Работа с данными. CRUD Я — начинающий front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим скромным опытом и сохранить его в виде небольшого учебного пособия по этой интересной UI б...

Чиним сериализацию объектов в Kotlin раз и навсегда Недавно я наткнулся на статью о проблеме c Java-сериализацией объектов в Kotlin. Автор предложил решать её добавлением метода readResolve к каждому объекту, который наследуется от java.io.Serializable. Этот способ выглядит абсолютно правильным, однако его поддержка может о...

[Перевод] Реализация epoll, часть 3 В предыдущих двух материалах (часть 1, часть 2) этой серии речь шла об общих вопросах работы epoll, и о том, как epoll получает уведомления о новых событиях от файловых дескрипторов, за которыми наблюдает. Здесь я расскажу о том, как epoll хранит уведомления о событиях, и о ...

Разработка мобильных приложений на Python. Библиотека KivyMD Приветствую! Сегодня речь снова пойдет о библиотеке KivyMD — наборе виджетов для кроссплатформенной разработки на Python в стиле Material Design. В этой статье я сделаю не обзор виджетов KivyMD, как в недавней статье, а, скорее, это будет материал больше о позиционировании...

[Перевод] Новые метрики объектных хранилищ Flying Fortress by Nele-Diel Команда объектного S3-хранилища Mail.ru Cloud Storage перевела статью о том, какие критерии важны при выборе объектного хранилища. Далее текст от лица автора. Читать дальше →

[Перевод] Принципы организации объектных хранилищ Storage by Phade01 Наш коллега недавно написал об архитектуре объектного S3-хранилища Mail.ru Cloud Storage. Теперь мы переводим хорошую статью об общих особенностях и ограничениях объектных хранилищ. Читать дальше →

Прорывы #DeepPavlov в 2019 году: обзор и итоги года Когда еще один плодотворный год подходит к концу, хочется оглянуться назад, подвести итоги и показать, что мы смогли сделать за это время. Библиотеке #DeepPavlov, на минуточку, уже два года, и мы рады, что наше сообщество с каждым днем растет. За год работы над библиотекой...

Вышел пакет Sequoia 0.20.0, реализация OpenPGP на Rust Вчера был представлен выпуск пакета Sequoia 0.20.0. Он предлагает библиотеку функций и инструментарий командной строки с реализацией стандартов OpenPGP (RFC-4880). Команда проекта состоит из трех человек — участников проекта OpenPGP (RFC-4880). Для повышения безопасности и ...

Чешская библиотека выбирает сеть хранения данных Infortrend для кластерной виртуализации ТАЙБЭЙ, 27 апреля 2021 г /PRNewswire/ — Компания Infortrend® Technology, Inc. (TWSE: 2495), являющаяся ведущим в своей отрасли поставщиком корпоративных хранилищ, выиграла ряд тендеров на реализацию ИТ-проектов Муниципальной библиотеки в Праге. В рамках ...

OpenPGP переписывают на Rust: проект Sequoia Секвойя Стагг в роще Олдер-Крик, Калифорния В 2018 году три бывших разработчика GnuPG начали работу над проектом Sequoia — реализацией OpenPGP на Rust. Как известно, OpenPGP — это открытый стандарт шифрования данных, часто используемый для защищённой электронной почты; а G...

Работа с объектным S3-хранилищем Mail.ru Cloud Solutions как с файловой системой Waste Pickers by GabrielBStiernstrom С объектными хранилищами чаще всего работают через API. Но если очень хочется, можно сложить туда файлы и работать с ними в объектном хранилище, как в файловой системе, с иерархией каталогов. Грубо говоря, в хранилище можно выложить фото...

[Перевод] Java: свертывание многострочных логов в однострочный лог с помощью Spirng и логгера Logback или Log4j2 Logback и Log4j2 – одни из самых известных фреймворков логирования в JAVA. Фреймворк Logback используется только совместно с библиотекой SLF4J, которая представляет собой интерфейс для систем протоколирования событий. Log4j2 представляет собой вторую, улучшенную версию логге...

[Перевод] Post Mortem по масштабному сбою Amazon Kinesis в US-EAST-1 (25 ноября) Прим. перев.: на прошлой неделе сбой одного из сервисов AWS привёл к проблемам в доступности/корректном функционировании целого ряда облачных услуг этого крупного провайдера. В официальной публикации, оперативно размещённой инженерами интернет-компании, рассказывается о подр...

Security Week 31: атака на инфраструктуру Garmin Как и атака на Twitter на прошлой неделе, выход из строя IT-инфраструктуры компании Garmin еще долго будут изучать как пример масштабного взлома с серьезными последствиями. Хотя производитель навигационного и фитнес-оборудования, ПО и сервисов на момент публикации не признал...

OpenCV — 20! Второй проект центра разработки Intel в России Мы продолжаем рассказ о проектах и продуктах, неразрывно связанных с российским центром разработки Intel. И сегодня речь пойдет о проекте-ровеснике Intel в Нижнем Новгороде – он тоже в этом году отмечает двадцатилетие! Это хорошо известная и широко используемая (а также широ...

jsqry — лучше, чем jq В своей прошлой статье на Хабре я писал про библиотеку Jsqry, которая предоставляет простой и удобный язык запросов (DSL) к объектам JSON. С тех пор прошло много времени и библиотека тоже получила свое развитие. Отдельный повод для гордости — библиотека имеет 98% покрытие ко...

IntelliJ IDEA 2020.1: Java 14, анализ потока данных в отладчике, новый режим LightEdit, и многое другое Привет, Хабр! На прошлой неделе состоялся релиз IntelliJ IDEA 2020.1, и в этом посте мы коротко расскажем о самом интересном в новой версии. Из крупного: мы добавили поддержку Java 14, анализ потока данных в отладчике, режим редактирования файлов без открытия проекта (LightE...

Можно ли сложить N чисел типа double наиболее точно? В предыдущих сериях… Прошлая статья рассказала о двух способах сложения двух двоичных чисел с плавающей запятой без потери точности. Чтобы добиться этого, мы представили сумму c=a+b в виде двух чисел (s,t)=a+b, причём таких, что s — наиболее близкое к a+b точно-представимое ...

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

Библиотека ASE для атомных симуляций: создаем наночастицы Библиотека ASE Библиотека ASE — это python-библиотека для проведения атомных манипуляций и вычислений. В данной статье мы будем создавать наночастицы с помощью этой библиотеки. Установка Устанавливается ASE стандартно через pip: pip install ase. Читать дальше →

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

Сериализация в JSON и иммутабельный объект. О пакете built_value для Flutter Иногда JSON от API необходимо конвертировать в объект и желательно в иммутабельное значение. На Dart это возможно, но для этого необходимо много кодить для каждого из объектов. К счастью, существует пакет, который поможет Вам все это выполнить, и в этой статье я Вам расска...

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

Как скомпилировать Python Привет, Хабр!Я хочу рассказать об удивительном событии, о котором я узнал пару месяцев назад. Оказывается, одна популярная python-утилита уже более года распространяется в виде бинарных файлов, которые компилируются прямо из python. И речь не про банальную упаковку каким-ниб...

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

Как использовать объектное S3-хранилище Mail.ru Cloud Solutions для хранения бэкапов Veeam LogiMap ASRS Unit by Vidom Veeam Backup & Replication — коммерческая платформа для резервного копирования и управления данными облачной, виртуальной и физической среды. Она поддерживает разные сценарии хранения данных, в том числе использование S3-совместимых объектных ...

Использование Obj библиотек в KolibriOS в языках высокого уровня Вступление В KolibriOS системные библиотеки имеют формат MS COFF и расширение Obj. В этой статье будет рассказано как их импортировать и использовать в C--, GCC и TinyC. Читать дальше →

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

Дружим STM32 с LCD дисплеем 1604 по I2C шине (библиотека HAL) Привет, Хабр! В этой статье я хотел бы рассказать о своем опыте подключения LCD дисплеев к микроконтроллеру STM32 с использованием библиотеки HAL по I2C шине. Подключать буду дисплей 1602 и 2004. Они оба имеют припаянный I2C адаптер на основе чипа PCF8574T. Отладочной пл...

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

Проект Openwifi — как выглядит открытый Wi-Fi-чип Речь идет о первой свободной распространяемой реализации Wi-Fi 802.11a/g/n на базе программно-определяемой радиосистемы SDR (software-defined radio). Поговорим об этом проекте. Читать дальше →

Рассказываем про библиотеку для Process Mining: теперь SberPM в открытом доступе Process Mining – это подход к извлечению, анализу и оптимизации процессов на основе данных из так называемых журналов событий (event logs), доступных в корпоративных ИТ-системах. Являясь своеобразным мостиком между Data Mining и Process Management, он выводит исследование би...

PyDERASN: как я добавил big-data поддержку Продолжаю прошлую статью о PyDERASN — свободном ASN.1 DER/CER/BER кодеке на Python. За прошедший год, с момента её написания, кроме всяких мелочей, небольших исправлений, ещё более строгой проверки данных (хотя и прежде он был уже самым строгим из известных мне свободных код...

Stm32 + USB на шаблонах C++. Продолжение. Делаем CDC Продолжаю разработку полностью шаблонной библиотеки под микроконтроллеры Stm32, в прошлой статье рассказал об успешной (почти) реализации HID устройства. Еще одним популярным классом USB является виртуальный COM-порт (VCP) из класса CDC. Популярность объясняется тем, что обм...

Интеграция в проект LVGL графической библиотеки для микроконтроллеров LVGL — Light and Versatile Graphics Library также известная как LittleVGL. Библиотека поддерживает большое количество микроконтроллеров, таких как STM32, ESP32 и другие. Мне пока удалось запустить полноценную демо программу на ESP32 и STM32f429 Discovery. Библиотека открыт...

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

Пилотный проект по обработке высокоплотных сейсмических данных с использованием сервиса MCS Компания ООО НПЦ «Геостра» с помощью сервиса MCS провела камеральную обработку сейсмической информации — 40 Тб высокоплотной съёмки МОГТ-3D. О реализации, нюансах и результатах проекта будет рассказано в данной статье. Читать дальше →

[Из песочницы] Валидация данных в C++ с использованием библиотеки cpp-validator Казалось бы, валидация данных — это одна из базовых задач в программировании, которая встретится и в начале изучения языка вместе с "Hello world!", и в том или ином виде будет присутствовать в множестве зрелых проектов. Тем не менее, Google до сих пор выдает ноль ...

ООП в языке R (часть 2): R6 классы В прошлой публикации мы разобрали S3 классы, которые являются наиболее популярными в языке R. Теперь разберёмся с R6 классами, которые максимально приближённые к классическому объектно ориентированному программированию. Читать дальше →

Jupyter для .NET. «Как в питоне» Несколько месяцев назад Microsoft рассказали о Jupyter в .NET. Но активности по этому топику очень мало, а ведь тема очень интересная. Но что такое прикольное придумать? Я решил сделать удобный вывод класса Entity из библиотеки символьной алгебры: Выглядит круче, чем в пи...

14 Python-пакетов, про которые вы скорее всего не знали Язык Python предоставляет всем пользователям возможность создавать свои пакеты и делиться ими со всем сообществом. Так появлялись очень популярные библиотеки для работы с данными (Pandas, Numpy, Matplotlib), для машинного обучения (TensorFlow, PyTorch), для веб разработки. ...

Tesseract OCR tips — создание своего словаря для повышения эффективности OCR Это мой первый пост об оптическом распознавании текста (OCR) с использованием Tesseract. Tesserast это очень популярная open source библиотека для OCR поддерживаемая Google, которая дает высокие результаты точности и поддерживает более 100 языков. В этом посте я расскажу как...

[Перевод] Карманная книга по TypeScript. Часть 5. Объектные типы Доброго времени суток, друзья! Мы продолжаем серию публикаций адаптированного и дополненного перевода "Карманной книги по TypeScript". Другие части: Часть 1. Основы Часть 2. Типы на каждый день Часть 3. Сужение типов Часть 4. Подробнее о функциях В JS обычным с...

Опыт сопряжения Java, JavaScript, Ruby и Python в одном проекте посредством GraalVM В прошлом месяце вышла стабильная LTS-версия многоязычной среды выполнения GraalVM 20.3.0 от корпорации Oracle и мне захотелось испробовать её для решения какой-нибудь интересной практической задачи. Для тех кто не в курсе, приведу краткое описание этой новой платформы. Graa...

ruleguard: динамические проверки для Go В этой статье я расскажу о новой библиотеке (и утилите) статического анализа go-ruleguard, которая адаптирует gogrep для использования внутри линтеров. Отличительная особенность: правила статического анализа вы описываете на особом Go-подобном DSL, который на старте rulegua...

Владимир Ефимов: компания «Исткомпис Рус» — новый резидент особой экономической зоны «Технополис «Москва» Масштабное производство сим-карт будет создано на территории столичной ОЭЗ «Технополис «Москва». По словам заместителя столичного градоначальника по вопросам экономической политики и имущественно-земельных отношений Владимира Ефимова, реализацией проекта (он оценивается в 12...

Дополнительные компоненты для кроссплатформеннной библиотеки материального дизайна KivyMD Приветствую, уважаемые любители и знатоки Python! Если вы используете в своих приложениях Python и такие кроссплатформенные инструменты как фреймворк Kivy и библиотеку материального дизайна KivyMD, тогда вам точно будет интересно эта статья, в которой я расскажу о дополнит...

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

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

Android-разработчикам: как сократить время реализации тёмной темы с пары месяцев до недели Привет, меня зовут Влад Шипугин, я Android-разработчик в Redmadrobot. В этой статье я хочу поделится опытом реализации темной темы, создания удобного UI Kit, как для разработки, так и для дизайнеров. Я расскажу про использование Material Components и работу с Vector Drawable...

Как мы пришли к реактивному связыванию в Unity3D Сегодня я расскажу о том, как некоторые проекты в Pixonic пришли к тому, что для всего мирового фронтэнда уже давно стало нормой, — к реактивному связыванию. Подавляющее большинство наших проектов пишется на Unity 3D. И, если у других клиентских технологий с реактивщиной ...

Новогодний IMaskjs 6 — React Native, Pipes, ESM Всем привет! Я только что выпустил релиз шестой версии библиотеки imaskjs. После каждого мажорного релиза мне кажется, что это последняя версия. Библиотеке уже не один год, она стабильна и достаточно популярна среди сообщества. Что там еще можно сделать да еще и на мажорную...

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

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

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

STM32 fast start. Часть 2 Hello World на HAL, отладка в Atollic TrueSTUDIO В прошлый раз мы осваивали создание нового проекта при помощи STM CubeMX первую часть можно найти здесь. Для тех, кому лень перечитывать — закончилось все тем, что пустой проект успешно собрался. В данной части напишем простейший пример Hello World на HAL, посмотрим как ...

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

Новая функциональность в RESTinio и опять с помощью C++ных шаблонов Увидело свет очередное обновление небольшой библиотеки для встраивания асинхронного HTTP-сервера в C++ приложения: RESTinio-0.6.12. Хороший повод рассказать о том, как в этой версии с помощью C++ных шаблонов был реализован принцип "не платишь за то, что не используешь&q...

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

Видеоигру впервые признали полноценным лекарством Издание Businesswire рассказало о том, что видеоигру впервые признали полноценным лекарством. Речь идет о проекте EndeavorRX от Akili Interactive, которую вполне легально может назначаться в США врачом в качестве лекарственного препарата.

Tantramantra и магия проектирования Доброго весеннего дня! Во время разработки различных механик и прочего интерактива для компьютерных игр, складываются различные схемы-рецепты для реализации требуемого функционала. Большая их часть не привязана к конкретному используемому движку/языку. О некоторых из них я ...

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

PostgresKit: работа с PostgreSQL PostgresKit — это клиентская библиотека PostgreSQL, построенная на основе SQLKit. Поддерживает создание и сериализацию SQL-запросов на диалекте Postgres. PostgresKit использует PostgresNIO для асинхронного подключения и связи с сервером базы данных. AsyncKit использует...

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

Подготовка SDL2-проекта для запуска на android Всем привет. Сегодня мы посмотрим как подготовить проект с использованием библиотеки sdl2 для запуска игры на android. Читать дальше →

[Перевод] 20 инструментов Android-разработчика, о которых вы могли не знать Набор полезных, но не очень известных инструментов и библиотек Android.Работая над статьями о 30 лучших библиотеках и проектах Android 2019 г. и 25 лучших библиотеках и проектах Android 2020 г., я наткнулся на множество замечательных инструментов и проектов, которые могут пр...

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

Представляем Kubernetes CCM (Cloud Controller Manager) для Яндекс.Облака В продолжение к недавнему релизу CSI-драйвера для Яндекс.Облака мы публикуем ещё один Open Source-проект для этого облака — Cloud Controller Manager. CCM необходим не только для кластера в целом, но и собственно CSI-драйвера. Подробности о его предназначении и некоторые ос...

Реализация автодополнения кода в Ace Editor Ace (Ajax.org Cloud9 Editor) — популярный редактор кода для веб-приложений. У него есть как плюсы, так и минусы. Одно из больших преимуществ библиотеки — возможность использования пользовательских сниппетов и подсказок. Однако, это не самая тривиальная задача, к тому же не ...

OpenID Connect: авторизация внутренних приложений от самописных к стандарту Несколько месяцев назад я занимался реализацией OpenID Connect сервера для управления доступом сотен наших внутренних приложений. От собственных наработок, удобных на меньших масштабах, мы перешли к общепринятому стандарту. Доступ через центральный сервис значительно упрощае...

[Из песочницы] Как сделать заказной веб- или mobile-проект с нуля: процессы, правила и немного крови В интернете и книгах полным-полно best practices, которые освещают те или иные моменты в работе над ИТ-проектом. Однако best practices не позволяют увидеть всю картинку, на которой был бы виден весь путь реализации проекта с нуля. Мне не удалось найти такой «мануал», котор...

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

Как обучить нейронную сеть DeepPavlov на ноутбуке с использованием GPU В этой статье я хочу поделиться своим опытом использования данной open-source библиотеки на примере реализации одной задачи с парсингом файлов PDF/DOC/DOCX содержащих резюме специалистов. Здесь я также опишу этапы реализации инструмента для подготовки датасета. После чего м...

В Москве запустили интернет-проект о мировом опыте развития искусственного интеллекта В российской столице состоялся запуск интернет-проекта о мировом опыте развития ИИ. В своем комментарии заместитель градоначальника мегаполиса Наталья Сергунина рассказала о том, что реализация проекта ведется на базе интернет-платформы ICT.Moscow. На ней в феврале текущего ...

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

RESTinio-0.6.13: последний большой релиз RESTinio в 2020 и, вероятно, последний в ветке 0.6 RESTinio — это относительно небольшая C++14 библиотека для внедрения HTTP/WebSocket сервера в C++ приложения. Мы старались сделать RESTinio простой в использовании, с высокой степенью кастомизации, с приличной производительностью. И, вроде бы, пока что это получается. Ранее...

[Перевод] Как создать свой первый open source проект на Python (17 шагов) Каждый разработчик ПО должен знать как создать библиотеку с нуля. В процессе работы Вы можете многому научиться. Только не забудьте запастись временем и терпением. Может показаться, что создать библиотеку с открытым исходным кодом сложно, но Вам не нужно быть потрепанным ж...

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

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

[Из песочницы] JavaScript библиотека Webix глазами новичка Я начинающий JS front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим первым опытом и оформить, своего рода учебное пособие по освоению этой элегантной и мощно...

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

«Я как в пустыне»: почему самоизоляция оказалась для нас серьезным стрессом и во что все это вылилось Все, что нас не убивает, делает нас сильнее. Фридрих Ницше Эту статью я начал писать незадолго до новогодних праздников, но потом закрутился, и в итоге получились только несколько первых абзацев (оставлю их здесь как чудесное напоминание о том периоде). Дописываю текст уже...

[Из песочницы] Опыт эксплуатации CEPH Когда данных становится больше, чем влезает на один диск, самое время задуматься о RAID. В детстве часто слышал от старших: «однажды RAID уйдут в прошлое, объектные хранилища заполонят мир, а ты даже не знаешь, что такое CEPH»,- поэтому первым делом в самостоятельной жизни с...

Starlink: скорость спутникового интернета, цена в месяц и другие важные подробности Уже не первый год космическая компания SpaceX под руководством Илона Маска активно работает над реализацией проекта под названием Starlink, предполагает который создание быстрого мобильного интернета, который считается спутниковым, так как предоставление доступа к глобально...

Проводим нагрузочное тестирование скоростных USB-библиотек для STM32F103C8T6 В предыдущей статье я показывал предельную скорость шины USB у микроконтроллера STM32F103 со штатной библиотекой MiddleWare. В комментариях мне показали сразу две самодельных библиотеки, выжимающих из USB FS все соки. Но автор одной из библиотек высказал мысль, что быстро-то...

Павел Дуров объявил о закрытии своего блокчейн-проекта <p><strong>12 мая 2020 года в своем официальном блоге Павел Дуров сообщил о закрытии блокчейн-проекта TON с криптовалютой Gram. </strong></p><p>Как сообщил Дуров, данный проект закрывается по решению суда ...

Добавляем CRUD в ASP.NET Core проект за 10 минут с помощью EasyData Одной из первых задач для большинства бизнес-приложений на ASP.NET Core является реализация операций CRUD (Create, Read, Update, Delete) для основных объектов, с которыми работает ваше решение. Каждый разработчик, которому нужно решить эту задачу, знает, что создание CRUD-с...

Самодельный лидар: OpenTOFLidar В этой статье я хочу рассказать про свой проект импульсного (TOF) Open Source лидара — о том как я его делал, и каких результатов удалось добиться. Читать дальше →

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

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

[Перевод] Шпаргалка по сортировке для Data Science Сортировка данных является основной задачей для ученых и инженеров по обработке данных. Пользователи Python могут выбирать наиболее удобную из ряда библиотек со встроенными, оптимизированными опциями сортировки. Некоторые даже работают параллельно с GPU. На удивление, неко...

Загрузка и обработка изображений в .NET Core В этой статье я хочу рассказать о своём опыте реализации механизма загрузки изображений в .NET Core приложении с последующим их ресайзом и сохранением в файловой системе. Для обработки изображений я использовал кроссплатформенную библиотеку ImageSharp от Six Labors. Существу...

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

[Из песочницы] Flutter. BlOC, Provider, async – архитектура «по полочкам» Вступление Когда пытаешься написать приложение, то первое с чем сталкиваешься – это как организовать архитектуру приложения. А когда еще при этом речь идет про Flutter, так голова совсем может пойти кругом от того, что выдает Гугл — Vanilla, Scoped Model, BLoC, MVP, MVC, MVV...

[Из песочницы] Изобретаем велосипед или пишем персептрон на С++. Часть 1 и 2 Изобретаем велосипед или пишем персептрон на C++. Часть 1 Напишем простую библиотеку для реализации персептрона на C++ Читать дальше →

Планы команды IntelliJ Platform на 2020 год Сегодня мы хотели бы рассказать о некоторых из текущих проектов команды IntelliJ Platform, которые затронут IntelliJ IDEA и другие IDE на базе нашей платформы. Результаты этих проектов будут выпускаться в течение следующего года; некоторые из них попадут уже в релиз 2020.1, ...

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

Почта России переходит на бюджетное планирование с помощью ГК ЛАНИТ и «Техносерв Консалтинг» ГК ЛАНИТ и «Техносерв Консалтинг» занимаются реализацией проекта по переводу Почты России на бюджетное планирование. Данный проект относится к числу крупнейших в своем классе на территории Восточной Европы. Он охватывает 91 филиал по всей стране, две с половиной тысячи польз...

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

Linux Kernel Library: ядро Linux в форм-факторе so или dll Когда-то читал статью о выборе файловых систем «чтоб везде-везде работало». В ней в очередной раз увидел жалобы, что Ext4 замечательная файловая система, но на Windows есть только кривые неточные проприетарные драйверы. Но отмотаем ленту ещё на пару лет назад: тогда на Хабре...

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

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

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

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

В результате взлома разработчика онлайн-игр Zynga были украдены учётные записи 170 млн пользователей По данным сервиса Have I been pwned, который позволяет проверить, были ли ваши данные скомпрометированы в результате утечки, недавний взлом Zynga затронул 170 млн пользователей. На текущий момент компания занимает 10-ю позицию среди «жертв» самых масштабных атак, в результат...

«Синимекс» участвовала в реализации проекта в банке «Открытие» Компания «Синимекс» в течение 2019 года принимала участие в масштабном проекте по созданию Единого Фронтального Решения (ЕФР) в банке «Открытие»...

Новая библиотека для уменьшения размерности данных ITMO_FS — зачем она нужна и как устроена Студенты и сотрудники лаборатории Машинного обучения Университета ИТМО разработали библиотеку для Python, которая решает ключевую задачу машинного обучения. Расскажем, почему появился этот инструмент и что он умеет. Читать дальше →

Я выпустил Grafar — JS-библиотеку для визуализации После пяти лет в столе я готов представить свою библиотеку для визуализации — grafar. У нас есть: 3D, реактивные вычисления и самое простое АПИ для построения математических графиков прямо в браузере. В статье рассказываю, что я сделал и как этим пользоваться. Читать далее

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

Внедрение Multicast VPN на Cisco IOS (часть 5 — знакомство с Data/Partitioned MDT) В предыдущих выпусках: Profile 0 Profile 1 Profile 3 Profile 11 Как мы узнали из прошлых записей, в опорной сети при реализации mVPN всегда присутствует конструкция Default MDT, к которой подключены все РЕ маршрутизаторы. В рамках данного MDT передаются служебные сообщен...

Масштабируем WebSocket соединения на Go Мессенджер Авито – это: 12 m уникальных пользователей в месяц; Версии для всех современных платформ (Web, iOS, Android); Достаточно нагруженное приложение – около 800 тысяч подключений онлайн по WebSocket (основной протокол общения с пользователями). Александр Емелин из ко...

[Перевод] Python и разработка простого веб-приложения, использующего технологии машинного обучения Тот, кто занимается машинным обучением (Machine Learning, ML), обычно, реализуя различные проекты, выполняет следующие действия: сбор данных, их очистка, разведочный анализ данных, разработка модели, публикация модели в локальной сети или в интернете. Вот хорошее видео, в ко...

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

Gotta go fast. Оптимизация запросов содержимого письма по IMAP Всем привет! В прошлой статье я рассказал как можно быстро синхронизировать содержимое ящика в локальном кеше. Здесь же я хочу рассказать об особенностях запроса содержимого писем и как лучше запрашивать контент, не боясь за большой расход трафика. Читать дальше →

Опасная уязвимость в популярной библиотеке Sequelize Привет, Хабр! Данная статья будет интересна тем, кто уже использует библиотеку Sequelize или же только собирается с ней работать. Под катом мы расскажем, чем встроенный функционал operatorAliases может быть вреден и как избежать утечки из собственной базы данных. Читать да...

Техновыпуск Mail.ru, зима 2019 Недавно прошла очередная, зимняя защита выпускников трёх наших технопроктов — Технопарка (МГТУ им. Баумана), Техносферы (МГУ им. Ломоносова) и Технотрека (МФТИ). Команды представили как реализации своих собственных идей, так и решения настоящих бизнес-задач, предложенных р...

[Из песочницы] STM32 + CMSIS + STM32CubeIDE Здесь я расскажу как создать минимальный проект на CMSIS с использованием «родной» IDE для микроконтроллеров STM – STM32CubeIDE. Возможно STM32CubeIDE и обладает рядом недостатков, но у нее, на мой взгляд, есть несколько преимуществ – таких как проприетарность и бесплатнос...

Проверка коллекции header-only C++ библиотек (awesome-hpp) Волею судьбы мы проверили большинство библиотек, входящих в коллекцию под названием "Awesome hpp". Это небольшие проекты на языке C++, состоящие только из заголовочных файлов. Надеемся, найденные ошибки помогут сделать эти библиотеки немного лучше. Также мы будем ...

Как в Sports.ru писали свой WYSIWYG-редактор В середине 2018 года в Sports.ru задумались о переезде на новый WYSIWYG-редактор текста для пользовательских постов. С июня 2019 года редактор работает в режиме бета-версии. За это время мы решили множество проблем, связанных как с проектированием архитектуры всего сервиса, ...

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

Чужой код — потемки: чем опасно скачивание «безобидного» софта с GitHub Наверное, каждый из тех, кто читает эту статью, хорошо знаком с GitHub — крупнейшим веб-сервисом для хостинга IT-проектов и их совместной разработки. Здесь можно найти почти любой open source-проект. Для компиляции проекта может быть нужен какой-то специфический софт, кото...

[Перевод] Расширьте возможности машинного обучения Azure с помощью расширения VS Code Привет сообществу Python! Прошло много времени с тех пор, как мы последний раз писали об этом, но мы рады представить новые возможности, добавленные в расширение VS Code Azure Machine Learning (AML). Начиная с версии 0.6.12, мы представили изменения в пользовательском интерф...

[Из песочницы] Руководство по CI/CD в GitLab для (почти) абсолютного новичка Или как обзавестись красивыми бейджиками для своего проекта за один вечер ненапряжного кодинга Наверное, у каждого разработчика, имеющего хотя бы один пет-проект, в определённый момент возникает зуд на тему красивых бейджиков со статусами, покрытием кода, версиями пакетов в ...

[Перевод] Маленькие победы В течение своей карьеры я имел опыт работы над многими масштабными проектами, от проработки стратегий компании, выбора идеальных продуктов, реорганизации ключевых алгоритмов user-flow и информационного проектирования, до разработки систем с нуля. Работать над такими крупным...

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

[Перевод] Кибердека ZBS После того, как я насмотрелся на посты про кибердеки на Hackaday, я решил переделать в кибердеку один из моих старых проектов похожей направленности, в котором использовалась плата Raspberry Pi. На тот момент разработка кибердеки должна была стать моим самым масштабным экспе...

AMD раскроет важные подробности о новых видеокартах Radeon RX 6000 в ближайшие три недели Новые видеокарты Radeon RX 6000, похоже, более производительны, чем утверждает сама AMD Во время анонса новых видеокарт Radeon RX 6000 компания AMD практически не затронула вопрос трассировки лучей.  На данный момент мы знаем, что за аппаратное ускорение...

[Из песочницы] MVP для Android — преимущества использования Moxy в качестве вспомогательной библиотеки В данной статье описываются преимущества использования Moxy в качестве вспомогательной библиотеки при использовании MVP для Android-приложения. Важно: здесь не сравнивается MVP с другими архитектурными подходами типа MVVM, MVI и т.п. В статье описывается почему, если в качес...

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

[Перевод] Используем GPU для повышения производительности JavaScript Мы, разработчики, всегда стремимся искать возможности повышения производительности приложений. Когда речь идёт о веб-приложениях, то улучшения обычно вносятся только в код. Но думали ли вы об использовании мощи GPU для повышения производительности веб-приложений? В этой с...

Зачем нам потребовалось написать свою реализацию MRCP-сервера. Часть 1 Привет, Хабр! Сегодня мы хотели бы поделиться кейсом создания собственного MRCP-сервера. Это протокол передачи данных, используемый серверами для предоставления различных услуг (таких как распознавание речи и синтез речи) для своих клиентов. MRCP опирается на другие протокол...

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

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

[Перевод] Проблемы рейтрейсинга в играх нового поколения: анализ трассировки лучей в ремастере Marvel's Spider-Man По мере приближения запуска нового поколения консолей Insomniac Games начала публиковать больше материалов, раскрывающих подробности о Marvel’s Spider-Man и Marvel's Spider-Man: Miles Morales. Оба проекта задействуют технологию трассировки лучей. На взгляд Алекса Баттальи ...

Kivy. Сборка пакетов под Android и никакой магии Во вчерашней статье Python в Mobile development, в которой речь шла о библиотеке KivyMD (коллекции виджетов в стиле Material Design для использования их в кроссплатформенном фреймворке Kivy), в комментариях меня попросили рассказать о процессе сборки пакета для платформы A...

Олег Колясников прокомментировал окончание в столице России Междисциплинарной олимпиады конвергентного образования Итоги Междисциплинарной олимпиады конвергентного образования подвели в Москве. Сообщается, что ее триумфаторами признали четырех учеников из столичных школ №236, №950 и №1748. Общее количество участников состязаний составило 490 человек — это десятиклассники школ мегаполиса,...

Слухи: FromSoftware расскажет новости об Elden Ring в ближайшие месяцы По словам журналиста VentureBeat Джеффа Грабба (Jeff Grubb), вскоре должны появиться новости об Elden Ring. Напомним, что это игра от создателей Dark Souls, которая разрабатывается совместно с писателем Джорджем Р. Р. Мартином (George R. R. Martin). Поклонники жанра и прошлы...

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

JavaScript библиотека Webix глазами новичка. Часть 2. Работа с формами Я начинающий front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим скромным опытом и сохранить его в виде небольшого учебного пособия по этой интересной UI биб...

JavaScript библиотека Webix глазами новичка. Часть 3. Модули, диаграммы, древовидные таблицы Я — начинающий front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим скромным опытом и сохранить его в виде небольшого учебного пособия по этой интересной UI б...

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

Шпаргалка по JS-методам для работы с DOM Основные источники DOM Living Standart HTML Living Standart Document Object Model (DOM) Level 3 Core Specification DOM Parsing and Serialization Введение JavaScript предоставляет множество методов для работы с Document Object Model или сокращенно DOM (объектной моделью до...

Кто владеет информацией — тот владеет миром. Как организовать коммуникацию и распространение информации на проекте? Грамотно выстроенная коммуникация и хорошо организованное распространение информации на проекте — самые важные условия для слаженной работы команды. Думаю, во всех командах, вне зависимости от того, remote они или нет, сталкивались с проблемами вида “А почему мне не сказали”...

Разработка круговых интерфейсов. Часть 2. Перенос библиотеки с JavaScript на QML Оглавление Введение Библиотека круговых интерфейсов v2.0 Круговая CAPTCHA Перенос библиотеки с JavaScript на QML Демонстрационное мобильное приложение Заключение Введение Предыдущая статья была вводной к вопросу разработки круговых интерфейсов. В ней рассмотрены определение,...

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

[Перевод] Как байпасить reCaptcha V3 с помощью Selenium Python? *bypass - обход Мы будем использовать библиотеку python Selenium для байпаса google reCaptcha v3. Следуйте пошаговой инструкции, чтобы получить результат.Для примера мы будем использовать демо-версию Google reCaptcha api.Здесь ссылка: https://www.google.com/recaptcha/api2/d...

CosmicPi: обнаружение космического излучения при помощи Raspberry Pi Одноплатники можно использовать для любых проектов — от самых простых до самых сложных. Они уже работают на благо многих отраслей науки, промышленности, EdTech и т.п. Новый проект показывает, что одноплатники, включая Raspberry Pi, могут использоваться и в астрономии. На д...

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

Wi-Fi радио с VFD-дисплеем Это самая долгосрочная поделка в моей жизни. От идеи до конечной реализации, так чтобы ей можно было пользоваться, прошло 12 лет! За это время произошло колоссальное количество событий: переезды, рождения, смерти, но идея была со мной и ни смотря ни на что, я её доделал. И ...

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

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

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

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

Разворачивание Minecraft сервера под linux В моей прошлой статье я рассказывал, как быстро развернуть свой Minecraft сервер из образа под Windows. И очень многие, справедливо заметили, что Windows не очень годится для разворачивания такого типа сервера. А PowerShell через RDP — это какое-то ненормальное извращение....

[Перевод] Реализация алгоритмической теории игр на Python с Nashpy Теория игр — это метод изучения стратегических ситуаций, когда результаты зависят не только от ваших действий, но и от того, что предпримут другие. Что такое стратегическая ситуация? Вспомним типы рыночных структур: есть совершенная конкуренция, когда все компании являются...

[Перевод] Загадочная ситуация с TIME в MySQL Прим. перев.: Этот детальный анализ одной, казалось бы, не очень значительной детали в реализации внутри MySQL вызвал закономерные дискуссии о правильности в подходах к разработке известного Open Source-проекта в целом. О том, что же, собственно, выяснил португальский инжене...

В феврале украинцы приобрели 663 электромобиля из которых только 29 были новыми, Топ-3 составили Nissan Leaf и Tesla Model S/3 Ассоциация «Укравтопром» рассказала о результатах продаж электромобилей в Украине за второй месяц текущего года. В феврале украинцы приобрели и поставили на учет 663 электромобиля, из которых только 29 штук были новыми. Основную массу зарегистрированных в прошлом месяце элек...

Пишем под android с Elmslie Это третья часть серии статей об архитектуре android приложения vivid.money. В ней мы расскажем об Elmslie - библиотеке для написания кода под android с использованияем ELM архитектуры. Мы назвали ее в честь Джорджа Эльмсли, шотландского архитектора. С сегодняшнего дня она д...

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

[Перевод] Реализация epoll, часть 4 Это — последний материал из серии четырёх статей (часть 1, часть 2, часть 3), посвящённой реализации epoll. Тут речь пойдёт о том, как epoll передаёт события из пространства ядра в пользовательское пространство, и о том, как реализованы режимы срабатывания по фронту и по уро...

Активисты построили в Minecraft свободную «Библиотеку без цензуры» Студия BlockWorks, коллектив художников и дизайнеров, построила в игре Minecraft глобальную цифровую библиотеку «The Uncensored Library»(Библиотека без цензуры). Ее открытие состоялось 12 марта, во Всемирный день борьбы с киберцензурой, и это не просто масштабный игровой объ...

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

[Из песочницы] OData + RxJava + Retrofit 2 для android приложения Столкнулся на проекте с проблемой доселе не виданной. Пришлось покурить документацию и в этой статье я расскажу как с помощью RxJava и Retrofit 2 — можно решить задачу по созданию клиента Odata для android приложения. Спасибо огромное Jake Wharton за создание таких комфортн...

Network-as-a-Service для крупного предприятия: нестандартный кейс Как обновить сетевое оборудование на крупном предприятии без остановки производства? О масштабном проекте в режиме «операции на открытом сердце» рассказывает менеджер по управлению проектами Linxdatacenter Олег Федоров.  Читать дальше →

Jinja2 в мире C++, часть третья. «Теперь ты в конане» С момента публикации предыдущей части прошло больше полутора лет, была реализована большая куча фичей, сделано несколько релизов, но не об этом пойдёт речь. Пару дней назад в жизни библиотеки произошло важное событие: она была добавлена в основной репозиторий conan'а (conan...

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

Remedy Entertainment: продажи Control, информация о Vanguard и неанонсированных играх Издание Gamesindustry.biz со ссылкой на Remedy Entertainment поделилось некоторой информацией о Control и проекте под кодовым названием Vanguard. А параллельно инсайдер Nibel рассказал об игре, которую финская студия создаёт в сотрудничестве с Epic Games, и телевизионной ада...

Bitdefender открыла код технологии интроспекции гипервизора HVI Компания Bitdefender объявила об открытии кода своей технологии интроспекции гипервизора (Hypervisor Introspection, HVI). Она была разработана совместно с проектом Xen. История проекта началась в 2015 году, тогда для гипервизора 4.6 была представлена библиотека libbdvmi...

[Перевод] О реализации библиотеки для глубокого обучения на Python Технологии глубокого обучения за короткий срок прошли большой путь развития — от простых нейронных сетей до достаточно сложных архитектур. Для поддержки быстрого распространения этих технологий были разработаны различные библиотеки и платформы глубокого обучения. Одна из осн...

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

HighLoad++, Анастасия Цымбалюк, Станислав Целовальников (Сбербанк): как мы стали MDA Следующая конференция HighLoad++ пройдет 6 и 7 апреля 2020 года в Санкт-Петербурге Подробности и билеты по ссылке. HighLoad++ Siberia 2019. Зал «Красноярск». 25 июня, 14:00. Тезисы и презентация. Разработать промышленную систему управления и распространения данных с нуля — ...

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

Ищете бесплатные альтернативы cPanel? Держите сразу 7 Приветствую вас, уважаемые читатели и почитатели Хабра! В этой статье я расскажу вам о 7 популярных альтернативах cPanel. Вы узнаете: Почему бесплатные панели управления web-сервером нередко оказываются лучше, чем платные аналоги Какие возможности готовы предложить Вам...

Жуки, бабочки, цикады и прочие. Google пополнила библиотеку AR-поиска более чем двумя десятками разных насекомых Google продолжает активно наполнять библиотеку 3D-объектов, с которыми можно взаимодействовать в дополненной реальности прямо из результатов поиска. Google объявила о внедрении поддержки дополненной реальности в рамках расширения функциональности панели Knowledge Panel в 201...

[Перевод] MVC в Unity со Scriptable Objects. Часть 3 Завершение цикла статей от Cem Ugur Karacam о реализации MVC в Unity с помощью Scriptable Objects. Прочитать предыдущие части вы можете здесь и здесь. Читать дальше →

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

Хакеры SolarWinds размазали свои байты в HTTP-трафике через регулярные выражения Валидная цифровая подпись на DLL со встроенным бэкдором Практически по всем профильным СМИ прошла новость о взломе программного обеспечения SolarWinds в рамках глобальной кампании кибершпионажа. Здесь нужно понимать масштаб атаки: этот софт для мониторинга IT-инфраструктур...

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

[Из песочницы] Краткий обзор системы Apache NlpCraft В данной статье я бы хотел познакомить читателей с одним из проектов Apache Software Foundation сообщества — NlpCraft. NlpCraft — библиотека с открытым исходным кодом, предназначенная для интеграции языкового интерфейса в пользовательские приложения. Цель проекта — тотальн...

Опубликован релиз Sequoia 1.0, реализации OpenPGP на языке Rust Спустя три года после начала разработки опубликован релиз Sequoia 1.0. Это реализация OpenPGP на языке Rust, содержащая обширную библиотеку функций и инструментарий командной строки. Релиз опубликован после того, как разработчики закончили работу над низкоуровневым API — в ...

2-х факторная аутентификация пользователей VPN посредством MikroTik и SMS Здравствуйте коллеги! Сегодня, когда накал страстей вокруг «удалёнки» немного спал, большинство админов победило задачу удаленного доступа сотрудников к корпоративной сети, пришло время поделиться моей давней наработкой по повышению безопасности VPN. В этой статье не будет м...

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

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

Как синтез речи появился на ПК В прошлый раз мы рассказали о цифровых синтезаторах речи и вспомнили, как в 1974 году Дональд Шерман (Donald Sherman), страдающий от паралича мышц лица, впервые использовал компьютер с системой Text-to-Speech, чтобы заказать пиццу по телефону. Тогда синтезатор работал на мей...

Вышел Wine 5.0 21 января 2020 года состоялся официальный релиз стабильной версии Wine 5.0 — свободного инструмента для запуска нативных Windows-программ в UNIX-среде. Это альтернативная, свободная реализация Windows API. Рекурсивный акроним WINE означает "Wine Is Not an Emulator"...

Web Cryptography API: пример использования Доброго времени суток, друзья! В этом туториале мы рассмотрим Web Cryptography API: интерфейс шифрования данных на стороне клиента. Данный туториал основан на этой статье. Предполагается, что вы немного знакомы с шифрованием. Что конкретно мы будем делать? Мы напишем прос...

ViennaNET: набор библиотек для backend’а Всем привет! Мы сообщество .NET-разработчиков Райффайзенбанка и мы хотим рассказать про набор инфраструктурных библиотек на .NET Core для быстрого создания микросервисов с единой экосистемой. Вывели его в Open Source! Читать дальше →

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

[Перевод] Продвинутый уровень визуализации данных для Data Science на Python Как сделать крутые, полностью интерактивные графики с помощью одной строки Python Когнитивное искажение о невозвратных затратах (sunk cost fallacy) является одним из многих вредных когнитивных предубеждений, жертвой которых становятся люди. Это относится к нашей тенденции...

[Перевод] Напишем и поймем Decision Tree на Python с нуля! Часть 3. Библиотека для анализа данных Pandas Привет, Хабр! Представляю вашему вниманию перевод статьи "Pythonで0からディシジョンツリーを作って理解する (3. データ分析ライブラリPandas編)". Это третья статья из серии. Ссылки на предыдущие статьи: первая, вторая В данной статье я объясню, как работать с библиотекой Pandas, чтобы создавать De...

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

[Перевод] Python Gateway в InterSystems IRIS Эта статья посвящена Python Gateway — комьюнити-проекту с открытым исходным кодом для платформы данных InterSystems IRIS. Этот проект позволяет оркестрировать любые алгоритмы машинного обучения, созданные на языке Python (основная среда для многих Data Scientists), использов...

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

Twitter Text: парсинг текста Twitter Text — Swift-реализация библиотеки синтаксического анализа текста твитов. В библиотеке есть методы для анализа текста и вычисления длины, валидности, синтаксического анализа @mentions, #hashtags, URL-адресов и т.д. Исходники: https://github.com/nysander/twitter...

Учимся разворачивать микросервисы. Часть 3. Helm Привет, Хабр! Это третья часть в серии статей "Учимся разворачивать микросервисы", и сегодня речь пойдет о Helm 3. В прошлой части мы создали Kubernetes конфигурацию для учебного проекта из 2 микросервисов (бекенда и шлюза) и задеплоили все это в Google Kubernetes...

В большинстве случаев сериализация в Андроиде не нужна TL;DR: В большинстве приложений имеет смысл принять явное осознанное архитектурное решение, что в случае смерти процесса приложение просто перезапускается с нуля, не пытаясь восстанавливать состояние. И в этом случае Serializable, Parcelable и прочие Bundle не нужны. Читать ...

[Перевод] Оптимизация времени сборки проекта Там, где я работаю (в стартапе Spot.IM, размер которого находится где-то между малым и средним), Webpack используется для сборки различных проектов. После 4 лет работы над нашим основным продуктом, когда в его код внесло вклад столько народа, что и не сосчитать, время его пе...

[Из песочницы] Создание браузерных 3d-игр с нуля на чистом html, css и js. Часть 1/2 Современная вычислительная техника позволяет создавать классные компьютерные игры! И сейчас, достаточно популярны игры с 3d-графикой, так как, играя в них, ты окунаешься в вымышленный мир и теряешь всякую связь с реальностью. Развитие интернета и браузерных технологий сделал...

Проект Natasha. Набор качественных открытых инструментов для обработки естественного русского языка (NLP) Два года назад я писал на Хабр статью про Yargy-парсер и библиотеку Natasha, рассказывал про решение задачи NER для русского языка, построенное на правилах. Проект хорошо приняли. Yargy-парсер заменил яндексовый Томита-парсер в крупных проектах внутри Сбера, Интерфакса и РИА...

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

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

Статический анализ кода коллекции библиотек PMDK от Intel и ошибки, которые не ошибки Нам предложили проверить с помощью анализатора PVS-Studio коллекцию открытых библиотек PMDK, предназначенную для разработки и отладки приложений с поддержкой энергонезависимой памяти. Собственно, почему бы и нет. Тем более это небольшой проект на языке C и C++ с общим разме...

PVS-Studio впечатлен качеством кода Abbyy NeoML На днях компания ABBYY опубликовала исходный код своего фреймворка NeoML. Нам предложили проверить эту библиотеку с помощью PVS-Studio. Это интересный проект с точки зрения анализа, так что мы не стали откладывать его в долгий ящик. Чтение этой статьи не займет у вас много ...

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

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

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

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

Мультисенсорный беспроводной датчик с E-Ink дисплеем Приветствую всех читателей Хабра и особенно читателей раздела «DIY или Сделай сам»! В сегодняшней статье я расскажу о своем очередном DIY проекте из серии устройств с дисплеями на электронных чернилах(e-ink). Устройство о котором пойдет речь это беспроводной мультисенсорный ...

Как мы автоматизировали портирование продуктов с C# на C++ Привет, Хабр. В этом посте я расскажу о том, как нам удалось организовать ежемесячный выпуск библиотек для языка C++, исходный код которых разрабатывается на C#. Речь идёт не об управляемом C++ и даже не о создании моста между неуправляемым C++ и средой CLR — речь об автомат...

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

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

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

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

First DI: Первый DI на интерфейсах для Typescript приложений Делюсь одной из своих библиотек которая называется First DI. Она уже много лет помогает мне решить проблему внедрения зависимостей в браузерных приложениях для таких библиотек как React, Preact, Mithril и другие. При написании First DI за основу была взята идеология DI библи...

Интернет вещей в Яндекс.Облаке: как устроены сервисы Yandex IoT Core и Yandex Cloud Functions В октябре прошлого года состоялась первая облачная конференция Яндекса Yandex Scale. На ней было объявлено о запуске множества новых сервисов, в том числе Yandex IoT Core, который позволяет обмениваться данными с миллионами устройств Интернета вещей. В этой статье я расск...

Открытый курс «Deep Learning in NLP» от создателей DeepPavlov на базе курса cs224n Всем привет! Вступление Меня зовут Алексей Клоков, я хочу рассказать о запуске классного курса по обработке естественного языка (Natural Language Processing), который очередной раз запускают физтехи из проекта DeepPavlov – открытой библиотеки для разговорного искусственного ...

[Из песочницы] Частотный анализ русского текста и облако слов на Python Частотный анализ является одним из сравнительно простых методов обработки текста на естественном языке (NLP). Его результатом является список слов, наиболее часто встречающихся в тексте. Частотный анализ также позволяет получить представление о тематике и основных понятиях т...

Максим Дубинин: «В OpenStreetMap нужно заниматься тем, что тебе важно, а не пытаться «спасти» проект в целом» Максим Дубинин — основатель проекта GIS-Lab и директор компании NextGIS, которая разрабатывает одноименный продукт. Наверное, его имя известно в России почти любому, кто связан с темой ГИС. Кто использует данные OSM, какого они качества и почему их не ценят — обо всем этом ...

Softline защитила администрацию Ставрополя от киберугроз Для реализации масштабного проекта были выбраны решения, разработанные компаниями «ИнфоТеКС» и «Код Безопасности».

Security Week 15: утечки открытых данных из Clubhouse и LinkedIn Сообщения о «масштабных утечках пользовательских данных» часто следуют друг за другом, и иногда это не просто совпадение. После того, как в открытый доступ попала база данных пользователей Facebook, у кого-то явно появилось желание посмотреть, что еще можно найти на полупубл...

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

Более 400 сайтов попали в список бесплатных для доступа из России Вот уже как несколько месяцев чиновники из Минкомсвязи РФ занимаются реализацией проекта «Доступный интернет», который пообещал всем россиянам президент РФ Владимир Путин еще в начале 2020 года. Данный проект предполагает, что все россияне, вне зависимости Сообщение Более 4...

PVS-Studio теперь в Compiler Explorer Совсем недавно произошло знаменательное событие: PVS-Studio появился в Compiler Explorer! Теперь вы можете быстро и легко проанализировать код на наличие ошибок прямо на сайте godbolt.org (Compiler Explorer). Это нововведение открывает большое количество новых возможностей ...

[Из песочницы] Установка и настройка RTKRCV (RTKLIB) на Windows 10 с использованием WSL Здравствуйте, в данной статье разбирается процесс установки и запуска приложения RTKRCV из открытой библиотеки RTKLIB, разрабатываемой командой Томоджи Такасу (Япония). RTKLIB — это программный пакет с открытым исходным кодом для стандартного и точного позиционирования с и...

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

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

[Перевод] Импорт react с древнейших времен до наших дней Прежде чем мы начнём разговор о способах импорта в веб-проекты библиотеки React, покажу современные способы выполнения этой операции и использования хука useState: // Глобальный подход window.React.useState() // Использование импорта в стиле CommonJS const React = require...

IQListKit: таблицы и коллекции без dataSource IQListKit — реализация UITableView/UICollectionView без dataSource. Просто определяете секции и ячейки, а библиотека дальше все делает сама, в том числе и анимацию изменений. Работает с iOS 9.0.  Исходники: https://github.com/hackiftekhar/IQListKit

[Перевод] Компьютерное зрение на WebRTC-сервере с аппаратным ускорением от Intel OWT WebRTC упростил (в большинстве своем) получение и отправку видеопотоков в реальном времени. А значит, можно немного поразвлекаться с ними при помощи машинного обучения. В прошлом месяце я показал, как запустить компьютерное зрение (Computer Vision – CV) локально в браузере....

Tesla показала рабочий прототип собственного аппарата ИВЛ, главным образом состоящего из комплектующих для Model 3 В конце прошлого месяца генеральный директор Tesla Илон Маск заявил, что его компания готова начать производство аппаратов искусственной вентиляции легких, если возникнет такая необходимость. И вот сейчас Tesla рассказала об успехах в создании фирменного аппарата ИВЛ. Tesla ...

Лучшая медицинская страховка — думать головой. Идея приложения Хочу рассказать о проекте приложения, которое я начинал разрабатывать, когда еще работал начальником IT-отдела в одной из ЦРБ в РФ. Рассказываю с целью поделиться опытом, и, возможно, подтолкнуть кого-то к идее реализации интересного продукта. Рассказываю максимально не с...

[Перевод] 14 open-source проектов для прокачки Data Science мастерства (easy, normal, hard) Data Science для начинающих 1. Sentiment Analysis (Анализ настроений через текст) Посмотрите полную реализацию проекта Data Science с использованием исходного кода — Sentiment Analysis Project в R. Sentiment Analysis — это анализ слов для определения настроений и мнений...

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

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

Органы власти Омской области переходят на ОС Astra Linux В Омской области стартовал проект перевода IT-инфраструктур региональных органов исполнительной власти и местного самоуправления на операционные системы семейства Astra Linux. В среде российской ОС на базе СЭД Directum RX планируется выстроить высокопроизводительную с...

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

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

Как мы провели международную онлайн-конференцию для 1000 человек Полгода назад мы писали о том, как перенести все внутренние коммуникации в компании в виртуальное пространство. Но тогда мы еще не знали, что всего за пару месяцев нам предстоит подготовить международную онлайн-конференцию — Innovation Day 2020. Как впервые сделать масштабно...

[Перевод] Интересные CSS-находки в новом дизайне Facebook Я любопытен. Мне всегда интересно открывать инструменты разработчика браузера и разбираться с тем, как сделан какой-нибудь сайт, на который я заглянул. Этот материал представляет собой мой первый рассказ о таких вот изысканиях. Дело в том, что я обнаружил некоторые интересны...

Open source: CI/CD и тестовая инфраструктура Авито для Android Мы вынесли в open source инфраструктуру Авито для Android: Gradle плагины, эмуляторы и библиотеки для тестов. Наш код будет полезен при автоматизации CI/CD, а также облегчит написание и поддержку автотестов. В этой обзорной статье мы расскажем, по...

[Перевод] Как сделать интерактивную карту с помощью Python и open source библиотек Сегодня делимся с вами пошаговым руководством создания интерактивных карт для веб-приложения или блога. Просто сохраните эту статью в закладках. Хоть и существует, например, библиотека d3.js, которая может создавать пользовательские карты, есть несколько инструментов еще пр...

Fortinet Security Fabric на практике. Часть 5. Администрирование и автоматизация Добрый день, друзья! В прошлый раз мы провели взаимную интеграцию основных продуктов фабрики безопасности. Пришло время заключительной статьи цикла Fortinet Security Fabric. В ней мы закончим создание нашей “мини-сети”, о которой велась речь ранее. Мы дадим пользователям дос...

Беспроводной DIY монитор влажности почвы Приветствую всех читателей Хабра! Сегодня хочу поделится с вами моим новым проектом — беспроводным датчиком влажности почвы, который построен на основе всем известного модуля влажности почвы с алиэкспрес. Новый датчик это логическое продолжение первого моего DIY проекта на э...

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

Интервью с Сергеем Жуком — автором книг и скринкастов по ReactPHP Мир IT полон интересных людей, что стало причиной создание проекта MoreView где я беру интервью у разных людей и познаю IT. Я достаточно давно связал свою жизнь с PHP и уже брал интервью у разработчика фреймворка Yii. Чуть более 7 лет назад в мир ворвался асинхронный PHP с б...

Первое исследование состояния DevOps в России В 2019 году компания DORA и и Google Cloud выпустили совместный отчет The 2019 Accelerate State of DevOps: Elite performance, productivity, and scaling, из которого мы знаем, как в мире обстоят дела с DevOps. Это часть большого исследования DevOps, которым DORA занимается с ...

[Перевод] Стек технологий Shiro Games Наш игровой движок Heaps.io и набор инструментов и технологий, на котором он основан, являются результатом опыта, накопленного за двадцать лет, посвященных созданию игр: сначала в компании Motion-Twin (создатели Dead Cells), а с 2012 года в Shiro Games (Evoland, Northgard и ...

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

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

Зал Трудовой Славы JavaScipt С появлением библиотек JavaScript, которые разрабатываются большими коллективами, таких как Angular, React, Vue, — безвозвратно ушли с арены гении-одиночки, которые разрабатывали всю или, по крайней мере, основную часть библиотеки самостоятельно. Предлагаю вместе вспомнить н...

Как писать музыку на Python — помогут три тематические библиотеки (для специалистов разного уровня) Продолжаем тему музыкального программирования — ранее мы говорили о языках Csound, SuperCollider и Pure Data, а сегодня рассказываем Python и библиотеках FoxDot, Pippi и Music-Code. Читать дальше →

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

Архитектурные подходы к авторизации в серверных приложениях: Activity-Based Access Control Framework Сегодня поговорим об секьюрити в web (да, наверное, и не только) приложениях. Прежде чем описывать подходы и фреймворки расскажу небольшую предысторию. Предыстория За много лет работы в IT приходилось сталкиваться с проектами в самых разных сферах. У каждого проекта были сво...

Чему я научился, написав библиотеку компонентов на Svelte Попробовав Svelte в личных проектах, мне захотелось двигаться дальше, и взять фреймворк в проект побольше. Для этого написал библиотеку компонентов svelte-atoms. За основу я взял UI кит на React, который используем на работе. Каким приемам Svelte я научился, читайте под кат...

[Перевод] Использование asyncio для создания асинхронных драйверов устройств на MicroPython v.1.12 Изученая возможности MicroPython для своих целей натолкнулся на одну из реализаций библиотеки asyncio и, после недолгой переписки с Piter Hinch — автором библиотеки, понял, что мне необходимо глубже разобраться с принципами, базовыми понятиями и типичными ошибками использова...

Более 400 сайтов попали в список бесплатных для доступна из России Вот уже как несколько месяцев чиновники из Минкомсвязи РФ занимаются реализацией проекта «Доступный интернет», который пообещал всем россиянам президент РФ Владимир Путин еще в начале 2020 года. Данный проект предполагает, что все россияне, вне зависимости Сообщение Более 4...

Пандас и другие для толстых данных В этой заметке я расскажу о паре простых приемов, полезных при работе с данными, не помещающимися в память локальной машины, но все еще слишком мелкими чтобы называться Большими. Следуя англоязычной аналогии (large but not big), будем называть эти данные толстыми. Речь идет ...

Самые полезные новинки C++ 20 В сентябре прошлого года профильный комитет ISO утвердил С++ 20 в качестве текущей версии международного стандарта. Предлагаю ознакомиться с самыми полезными и долгожданными изменениями нового стандарта. Библиотека концепций C++ Библиотека определяет фундаментальные понят...

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

Визуализация использования GIL в CPython Интересно, как ведут себя потоки, когда борются за GIL, или немного информации отсюда только для Python3. Сразу оговорюсь, что использую Ubuntu 16.04 c ядром 4.15.0-115-generic, на машине стоит 4-х ядерный процессор Intel(R) Core(TM) i5-4200U CPU @ 1.60GHz с 4 GB RAM. Теор...

OSINT в Telegram Протокол Telegram известен своей доступностью и открытостью. У него есть множество публичных реализаций: tdlib/td, rubenlagus/TelegramApi, vysheng/tg, LonamiWebs/Telethon и другие. Однако, даже имея в распоряжении столь богатый инструментарий и объемную документацию (https...

King's Bounty II снова перенесли, игра выйдет в конце лета на все платформы В последний раз мы слышали о King's Bounty II в середине 2020 года. Тогда разработчики записали видео-дневник, где рассказали о ходе работы. Ожидалось, что проект увидит свет в конце прошлого года. Сейчас появилась новая информация: игру перенесли на середину 2021 года, ровн...

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

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

[Из песочницы] Актуальные библиотеки визуализации данных для react-разработчиков Привет, Хабр! Представляю вашему вниманию перевод статьи «Data Visualization Libraries for React Developers in 2019» автора Veronika Rovnik. Вот уже несколько лет подряд React не сдаёт позиции и входит в тройку самых любимых библиотек профессиональных разработчиков по всему...

[Из песочницы] Материальный Python. Что нового в библиотеке KivyMD Приветствую! Не так давно уже писали о Python в Mobile development и разработке мобильных приложений на Python с помощью библиотек Kivy и KivyMD. Эта статья продолжит знакомить вас с кроссплатформенными Python инструментами, а конкретно сегодня мы рассмотрим новинки, котор...

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

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

Установка УТМ 4.x на АТОЛ-HUB20 Установка УТМ 4.x на АТОЛ-HUB20.В январе 2021 года компания АТОЛ прекратила развитие проекта «HUB-УТМ». На сайте появилась прошивка для Атол-Hub20 с возможностью установки УТМ 4.x , но УТМ не стартует. Запускаем УТМ4 путем подмены бинарников и библиотек Java и библиотеки PKC...

Мини Термометр & гигрометр с E-PAPER на nRF52 — или о том, что пока не выпустили производители Приветствую всех читателей Habr! Хочу поделится с вами своим новым опенсорс проектом. Из названия статьи понятно что речь пойдет о датчике температуры и влажности с дисплеем на электронных чернилах. Уже достаточно давно я попробовал сделать проект датчика температуры с таким...

[Из песочницы] EventBus — Система событий для Unity В этой статье я расскажу вам о том, что такое система событий применительно к Unity. Изучим популярные методы и подробно разберем реализацию на интерфейсах, с которой я познакомился, работая в Owlcat Games. Читать дальше →

Как я писал полудецентрализованную криптовалюту на PHP. (Часть 2 — Разработка) Предисловие В одной из прошлых статей я рассказывал какие библиотеки нам пригодятся и сравнили эту задумку с той неудачной. В этой части будем разрабатывать саму криптовалюту и настроим трекер. Не будем медлить, поехали. Читать дальше →

Мониторим события PortSecurity коммутаторов Cisco в Zabbix Здравствуй уважаемое хабросообщество! Решился выплеснуть в онлайн пару in-house решений, которые облегчают деятельность сетевиков и прочих ИТ братьев по разуму. В этой статье речь пойдет о мониторинге событий стандартного (для многих вендоров) механизма защиты от несанкцион...

Подробности о таинственном проекте Apple, который курирует Дэн Риччио В прошлом месяце Apple объявила, что директор по аппаратному обеспечению Дэн Риччио (Dan Riccio) занялся «новым проектом». Теперь Bloomberg предоставил подробности о новом проекте, которым занимается Дэн Риччио.

Django Rest Framework для начинающих: создаём API для чтения данных (часть 1) Меня зовут Стас Гаранжа, я выпускник курса «Python-разработчик» в Яндекс.Практикуме. Я хочу помочь начинающим разработчикам, которые приступили к изучению Django Rest Framework (DRF) и хотят разобраться, как устроен этот фреймворк. Я готовлю цикл статей, в которых расскажу о...

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

Сколько кода на C++ нужно написать для разбора HTTP-заголовка Authorization с помощью easy_parser из RESTinio? Мы продолжаем развивать бесплатный и открытый встраиваемый в С++ приложения HTTP-сервер RESTinio. В реализации RESTinio активно используются C++ные шаблоны, о чем мы здесь регулярно рассказываем (недавний пример). Одной из точек приложения C++ной шаблонной магии стал easy_p...

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

Компания Hitachi Vantara названа ведущим производителем объектных хранилищ в четвертый раз подряд Более 2500 организаций по всему миру выбрали платформу Hitachi Content Platform в качестве хранилища данных для облачных систем и приложений. Компания Hitachi Vantara, дочернее предприятие Hitachi, Ltd., снова вошла в категорию лидеров по результатам оценки поставщиков объек...

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

2 SIM для дачного роутера — это много или мало? В прошлом году я проводил тесты 3G/4G роутеров для загородного дома и эта тема показалась многим интересна. После тестов я даже один роутер встроил в свой автомобиль, чтобы иметь стабильный доступ в Интернет в пути, но всё же наиболее важным мне показалась стабильность досту...

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

Как устроиться в LinkedIn, Facebook, Google в Кремниевой Долине Зачем это читать? В предыдущей статье я рассказал про реальные доходы и расходы, на которые может рассчитывать инженер, работающий в одной из Big Tech компаний. Если вдруг это вас заинтересовало, здесь будут подробности про то, как туда устроиться. Я работаю в LinkedIn, кото...

[Перевод] Vue.js для начинающих, урок 3: условный рендеринг Продолжаем наш учебный курс по Vue, которые порекомендовала Наталья Теплухина, Staff Engineer в Gitlab и Core Team Member фреймворка Vue (Q/A сессия с Наташей прошла в нашем инстаграм, а расшифровку можно прочитать здесь) На третьем уроке речь пойдёт об условном рендеринге....

Проект колонии на Марсе на 1 000 000 человек Прошлое — это локомотив, который тянет за собой будущее. Жёлтая стрела (Виктор Пелевин) Международная группа Mars Society объявила конкурс на проект самодостаточной колонии на красной планете. Главный приз — 10 000 $. Условия конкурса просты, и исходя из них я и попытался...

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

Azure SDK for .NET: история о непростом поиске ошибок Когда мы решили поискать ошибки в проекте Azure SDK for .NET, то были приятно удивлены его размером. «Три с половиной миллиона строк кода», — приговаривали мы, изучая статистику проекта. Это сколько же там всего можно найти. Но, увы и ах. Проект оказался с секретом. Какова ...

Геология XXI века: от реальности к виртуальности Ранее в статьях мы уже обсудили доступные данные (результаты наземных и спутниковых гравитационных и магнитных измерений, ортофото и космические снимки, цифровые модели рельефа), теоретические подходы и методы обработки (интерферометрия, построение обратных геофизических мод...

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

Пандемийный проект на базе ИИ по автоматизированной печати фотографий Google Photos провалился В Google объявили о закрытии 30 июня собственного проекта по развитию сетевого сервиса печати фотографий Google Photos, выстроенного под управлением искусственного интеллекта без участия человека. Подробнее об этом читайте на THG.ru.

[Перевод] Технологии фронтенд-разработки, на которые вы, возможно, не обратили внимания «Хочешь жить — умей вертеться». Это — про работу фронтенд-программиста. Для того чтобы успешно справляться со своими обязанностями, такому специалисту приходится решать массу задач и необходимо обладать множеством способностей. Очень важно, кроме того, не забывать о главной ...

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

[Из песочницы] NodeJS Бот для Телеграм с обработкой математических выражений Начало работы Сначала создаём каталог где будет храниться сам бот. Здесь инициализируем npm. npm init Используемые модули В разработке я буду использовать TypeScript и библиотеку SlimBot. Читать дальше →

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

Подборка статей о машинном обучении: кейсы, гайды и исследования за ноябрь 2020 AlphaFold от DeepMind Главная новость прошедшего месяца в том, что состоялся полноценный релиз открытой модели AlphaFold. Весной мы рассказывали, как DeepMind обучили модель предсказывать структуру белка по набору аминкислот, но данные о качестве результатов еще были непод...

Локализация своих скриптов на BASH Создание меню на BASH — задача сама по себе не сложная: "case тебе в руки и echo в спину". Решая её в очередной раз, мне захотелось добавить возможность отображать текст на других языках. Осталось решить, как сделать сам процесс локализации меню более удобным. Если...

Создатели Cyberpunk 2077 решили создавать две новые ААА-игры параллельно Генеральный директор и президент CD Projekt RED Адам Кичински (Adam Kicinski) в интервью Reuters рассказал о ближайших планах и заявил, что не студия не собирается отказываться от Cyberpunk 2077 несмотря на многочисленные проблемы, жалобы и и обвинения со стороны игроко...

[Перевод] 10 вещей, которые вы могли не знать о scikit-learn В этой переведенной статье ее автор, Rebecca Vickery, делится интересными функциями scikit-learn. Оригинал опубликован в блоге towardsdatascience.com. Фото с сайта Unsplash. Автор: Sasha • Stories Scikit-learn является одной из наиболее широко используемых библиотек Pytho...

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

Варианты аппаратной реализации USB Type-C, или Когда не требуется Power Delivery Когда мы в SberDevices делаем новое устройство, работаем над его аппаратной частью, перед нами встаёт вопрос выбора интерфейсов. Важным моментом при выборе является их доступность и совместимость с другими устройствами. В своих устройствах мы не могли пройти мимо интерфей...

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

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

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

Проекты Центра разработки Intel в России. Intel Integrated Performance Primitives Наш рассказ об очередном проекте Intel, сделанном в России. Это библиотека Intel Integrated Performance Primitives – набор готовых к употреблению, высоко оптимизированных под различные архитектуры Intel, к тому же совершенно бесплатных базовых функций для работы с изображени...

[Перевод] Название имплементации и название результата Я хотел написать этот пост ещё в июле, но никак не мог, о ирония, решить, как его назвать. Удачные термины пришли мне в голову только после доклада Кейт Грегори на CppCon, и теперь я наконец могу рассказать вам, как не надо называть функции. Бывают, конечно, названия, котор...

Компания «Синимекс» приняла участие в реализации проекта в банке «Открытие» Компания «Синимекс» в течение 2019 года принимала участие в масштабном проекте по созданию Единого Фронтального Решения (ЕФР) в банке «Открытие». Благодаря компетенциям и экспертизе совместной команды, проект создания ...

Модули в JavaScript Фронтенд-разработчики каждый день используют модули. Это может быть функция из локального файла или сторонняя библиотека из node_modules. Сегодня я кратко расскажу об основных модульных системах в JavaScript и некоторых нюансах их использования. Читать дальше →

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

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

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

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

[Из песочницы] Rust vs. State Важно: для комфортного прочтения статьи нужно уметь читать исходный код на Rust и понимать, почему оборачивать всё в Rc<RefCell<...>> — плохо. Введение Rust не принято считать объектно-ориентированным языком: в нём нет наследования реализации; инкапсуляции ...

Как анализатор PVS-Studio стал находить ещё больше ошибок в проектах на Unity Разрабатывая статический анализатор PVS-Studio, мы стараемся развивать его в различных направлениях. Так, наша команда работает над плагинами для IDE (Visual Studio, Rider), улучшением интеграции с CI и т. д. Увеличение эффективности анализа проектов под Unity также являетс...

Проект HI-SEAS — симулятор жизни на Марсе: что это, зачем и где реализуется Человечество вовсю готовится к освоению Марса, прямо сейчас космические агентства проводят различные тесты. Они пытаются понять, каковы предельные возможности человека, собравшегося колонизировать новую планету. Путь до Марса займет около 9 месяцев космического полета. Люди...

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

20 популярных игр Bethesda пополнят библиотеку игр Xbox Game Pass 12 марта Как и ожидалось, в рамках сегодняшнего круглого стола «Bethesda joins Xbox» объявили масштабное расширение библиотеки подписочного сервиса Game Pass играми Bethesda — уже завтра, 12 марта, 20 знаменитых игр издательства. 16 из этих игр будут доступны на ПК, Xbox и в xCloud. ...

Приключенческий шутер Suicide Squad: Kill the Justice League от Rocksteady выйдет в 2022 году на ПК, Xbox X и PS5 [трейлер] После анонса в начале текущего месяца геймстудия Rocksteady опубликовала первый трейлер игры Suicide Squad: Kill the Justice League и раскрыла подробности проекта в рамках мероприятия DC FanDome. Кинематографический трейлер знакомит нас с миром игры, но не отображает реальну...

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

Повторяем когортный анализ. Комплексный подход — Python, SQL, Power BI Добрый день уважаемые читатели! Данная статья является продолжением публикации "Повторяем когортный анализ, выполненный в Power BI, силами Python" (ссылка). Настоятельно рекомендую познакомиться с ней хотя бы бегло, иначе последующее повествование будет вам малопонятным. С м...

Как мы распилили монолит. Часть 3, Frame Manager без фреймов Привет. В прошлой статье я рассказал про Frame manager — оркестратор фронтовых приложений. Описанная реализация решает многие проблемы, но в ней есть недостатки. Из-за того, что приложения грузятся в iframe, появляются проблемы с версткой, некорректно работают плагины, клие...

Navigation Component-дзюцу, vol. 2 – вложенные графы навигации Каждое большое приложение содержит множество способов навигации между экранами. А хорошая библиотека навигации должна помогать разработчику их реализовывать. Именно с такой мыслью я подошёл к исследованию кейсов со вложенными графами навигации. Это вторая из трёх статей про...

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

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

Офис Banzai Games: Япония в центре Москвы Все компании мира переходят на удаленку из-за коронавируса, Banzai Games — не исключение. И когда, как не сейчас, стоит рассказать про наш новый офис. Тем более в чатах сотрудники уже пишут, что скучают по своим рабочим местам, атмосфере и друг другу. Прошлой осенью мы п...

Опыт создания нескольких 3д сцен без перезагрузки страницы (three.js) Что делаю Для личного проекта потребовалось найти решение, для работы с некоторым количеством разных gltf моделей. Небольшой опыт работы с three.js у меня был, поэтому, после ознакомления с примерами GLTFLoader, была выбрана именно эта библиотека. Данные о сценах хранятся в ...

[Перевод] Снятся ли выключателям вопросы морали (и электроовцы)? Прямо сейчас в компьютерных сетях происходит революция: устройства все лучше оценивают происходящее вокруг себя, при этом анализируя данные локально, то есть «здесь и сейчас». Благодаря этому устройства могут предложить людям все бОльшую функциональность, не обращаясь к об...

C++17. Функция стандартной библиотеки std::launder и задача девиртуализации В этой статье мы попробуем разобраться с одним из самых неоднозначных и непонятных нововведений стандарта C++17 — функцией стандартной библиотеки std::launder. Мы посмотрим на std::launder с другой стороны, посмотрим на источник. Разберем что лежит в основе функции на пример...

Так может выглядеть Huawei Mate X2 Складной Huawei Mate X2 со стилусом и гибкой матрицей внутри   В прошлом году Huawei представила Mate X, который стал вторым по счету складным смартфоном на рынке. Но пределы Китая он так и не покинул, поэтому остается только догадываться, насколько успешным он стал. Се...

Новостной дайджест событий из мира FPGA/ПЛИС — №007 (2020_12) Здравствуйте друзья. Продолжаем публиковать новости из мира FPGA/ПЛИС. В 2020 опубликовано  238 новостей, запущены FPGA стримы и проведена первая отечественная FPGA конференция. Подборка за декабрь и ссылки на все упоминания под катом. Читать дальше →

И полгода не прошло: вышел релиз OpenSSH 8.5. Подробности о новинке Спустя пять месяцев разработки выложен релиз OpenSSH 8.5, открытая реализация клиента и сервера для работы по протоколам SSH 2.0 и SFTP. Разработчики заявили о переводе в будущем алгоритмов, которые используют хеши SHA-1, в разряд устаревших. Проблема в том, что эффективнос...

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

[Перевод] Во всем привычном есть место для истории В прошлом месяце я исследовал два исторических вопроса. Изначально я опубликовал результаты в виде тредов в твиттере, а теперь дублирую их в виде статьи. Почему vim использует hjkl, а не стрелки для навигации, а в JavaScript'овом date API месяцы считаются 0-11, а не 1-12? ...

[Из песочницы] Разработка круговых интерфейсов Оглавление Введение Классификация круговых интерфейсов Принципы проектирования кругового интерфейса Основы анимации кругового интерфейса Библиотека классов на JavaScript для реализации круговых интерфейсов Введение Круговой интерфейс – это графический интерфейс, элементы кот...

[Перевод] Clustergram: визуализация кластерного анализа на Python В этой статье, переводом которой мы решили поделиться специально к старту курса о Data Science, автор представляет новый пакет Python для генерации кластерограмм из решений кластеризации. Библиотека была разработана в рамках исследовательского проекта Urban Grammar и совмест...

[Перевод] Библиотека Oboe для высокопроизводительного аудио в играх и приложениях Мы добавили в Android Game SDK библиотеку Oboe C++ для работы со звуком. Она позволяет разрабатывать высокопроизводительные аудиоприложения с низкой задержкой для максимального спектра устройств Android. Эта библиотека также отлично подойдет большинству разработчиков игр. О ...

Компонент Slider из библиотеки материального дизайна Началось с небольшой детективной истории — разглядывая сайт Material Design, наткнулся на страницу Sliders. В описании говорилось, что данный компонент доступен для Android и даже дана ссылка на Гитхаб. Меня это немножко удивило, так как я ни разу о нём не слышал. Перехожу п...

Swift.assert — жизнь после релиза Как часто вы используете Swift.assert() в вашем коде? Я, честно, использую довольно часто (Если это плохая практика, то, пожалуйста, напишите в комментариях — почему это плохо?). В моем коде часто можно встретить, например, такой вызов: Swift.assert(Thread.isMainThread) Не ...

Microsoft закрыла сделку по приобретению Bethesda Microsoft официально объявила о закрытии сделки по приобретению холдинга ZeniMax Media, родительской компании Bethesda Softworks. Отметим, что накануне Еврокомиссия одобрила данную сделку. Таким образом, в команду Xbox сразу войдут восемь студий — Bethesda Game Studios, id ...

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

[Из песочницы] BoxView — удобный autolayout для iOS Хочу поделиться библиотекой для эффективного построения пользовательского интерфейса iOS приложений на основе autolayout. Хотя с появлением SwiftUI актуальность autolayout быстро уменьшается, пока этот механизм все еще активно используется, и библиотека может быть полезна ...

Исследование качества кода Open XML SDK от Microsoft Моё знакомство с Open XML SDK началось с того, что мне понадобилась библиотека для создания документов Word с некоторой отчётностью. После работы с Word API более 7 лет, захотелось попробовать что-нибудь новое и более удобное. Так я узнал, что у Microsoft есть альтернативно...

Немного SQL алхимии О популярной библиотеке SQLAlchemy для работы с разными СУБД из Python было написано довольно много статей. Предлагаю вашему вниманию обзор и сравнение запросов с использованием ORM и SQL подходов. Данное руководство будет интересно прежде всего начинающим разработчикам, пос...

[Перевод] ELK, SIEM, Open Distro: Оповещения (алерты) Здравствуйте и добро пожаловать в нашу новую статью, в которой будет рассказано об оповещениях (алертах) в нашем решении SOCaaS. Как вы все знаете, предупреждения в любом SOC играют жизненно важную роль при уведомлении группы реагирования. Они могут прервать цепочку кибер-ат...

Подробности грядущей компьютерной MMORPG New World от Amazon Games Amazon Game Studios, игровое подразделение известной американской компании Amazon, появилось еще в 2012 году. Долгое время студия разрабатывала проекты для собственного маркета Amazon App Store, а в 2016 рассказала о первых планируемых играх для ПК, и вот приближается время ...

Aсинхронный PHP Десять лет назад у нас был классический LAMP-стек: Linux, Apache, MySQL, и PHP, который работал в медленном режиме mod_php. Мир менялся, а с ним и важность скорости. Появился PHP-FPM, который позволил значительно увеличить производительность решений на PHP, а не срочно переп...

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

Визуализация сложных данных с использованием D3 и React Существует много возможныx вариантов реализации сложных графиков в ваших проектах. Я за несколько лет попробовал все возможные варианты. Сначала это были готовые библиотеки типа AmCharts 4. AmCharts сразу же оказался большим и неповоротливым. После этого были более гибкие и ...

Автозагрузка модулей с использованием динамического импорта Недавно в Node.js была анонсирована поддержка ECMAScript-модулей, а в ES2020 появилась поддержка динамических импортов. В рамках данной статьи я расскажу о реализации очевидного кейса использования динамических импортов — с неизвестными заранее названиями директорий. Читать...

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

Blazor Client Side Интернет Магазин: Часть 2 — CI/CD Привет, Хабр! Продолжаю делать интернет магазин на Blazor. В этой части расскажу о том как я настроил CI/CD для него. За подробностями добро пожаловать под кат. Читать дальше →

Глобальное тестирование Summoners War: Lost Centuria начнется в третьем квартале Как и множество других компаний корейский игровой гигант Com2uS недавно опубликовал свой финансовый отчет с результатами за первый квартал 2020 года. Вместе с цифрами он поделился подробностями об активных и разрабатываемых проектах. Напомним, что в прошлом месяце в Южной К...

Проблемы с производительностью в игре XCOM 2 Привет! Меня зовут Александр, я руководитель программистов компьютерной графики в Gaijin в проектах CRSED и Enlisted. Иногда, в свободное время, я исследую как устроена графика в других играх и нахожу там что-то интересное.Недавно я решил разобраться, почему XCOM 2 тормозит ...

Подведены итоги четвертого EdTech Акселератора ED2 13 декабря в Москве состоялся демо-день четвертого набора акселератора в сфере образовательных технологий ED2. После трех месяцев работы 20 команд-финалистов презентовали свои проекты представителям крупных корпораций, фондам, частным инвесторам и экспертному сообществу...

Проекты Центра разработки Intel в России. Софт-модем Intel для коммутируемых линий Intel — это не только процессоры и средства для разработки ПО. Многие десятилетия компания вносит очень заметный и существенный вклад в развитие сетевых технологий. Тут и серверные сетевые карты для 1G, 10G, 40G и так далее Ethernet (а равно и клиентские, кто ж из здесь прис...

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

Отладка микроконтроллеров ARM Cortex-M по UART Часть 2 В прошлой статье я рассказывал про прерывание DebugMon и регистры с ним связанные. В этой статье будем писать реализацию отладчика по UART. Читать дальше →

Коды избыточности: простыми словами о том, как надёжно и дёшево хранить данные Так выглядит избыточность. Коды избыточности* широко применяются в компьютерных системах для увеличения надёжности хранения данных. В Яндексе их используют в очень многих проектах. Например, применение кодов избыточности вместо репликации в нашем внутреннем объектном хранил...

Авторы грядущей карточной игры Red and Blue запустили сайт проекта и начали делиться подробностями В прошлом месяце авторы карточной игры HEX: Shards of Fate анонсировали новый проект в жанре, который должен «пошатнуть основы жанра». Кроме короткого трейлера и громких заявлений подробностей было минимум, но теперь разработчики запустили официальный сайт и поделились новым...

Почему я до сих пор пользуюсь BlackBerry Passport в 2021 Добрый день. В своих прошлых публикациях я неоднократно упоминал о том, что моим основным телефоном на сегодняшний день является модель Passport от канадского производителя BlackBerry. Если вы не знаете, что это за компания и что это у них за система такая — ознакомьтесь с м...

Open Source синтез речи SOVA Всем привет! Ранее мы выкладывали статью про наше распознавание речи, сегодня мы хотим рассказать вам о нашем опыте по созданию синтеза речи на русском языке, а также поделиться ссылками на репозитории и датасеты для свободного использования в любых целях. Если вам интересн...

Автомобили в Голландии: статистика и информация за 2019 год Привет Хабр. Эта статья является продолжением цикла про Велоинфраструктуру в Голландии. В этот раз речь пойдет про автомобили. Недавно в одном из проектов довелось получить доступ к данным с камеры, распознающей автомобильные номера. Зная номер, можно получить довольно м...

Программа «Цифровая экономика»: за четыре месяца в дело пошли менее 6% годового объёма выделенных средств По данным Счётной палаты, опубликованным на прошлой неделе, это самый низкий показатель среди всех национальных проектов.Как писал D-Russia.ru, в конце апреля стало известно, что Минкомсвязь направила в правительство предложения сократить бюджет национальной программы "...

Acronis Global Cyber Summit 2020: лучшая площадка для обсуждения вопросов киберзащиты Уже в понедельник, 19 октября стартует одно из самых масштабных событий в области киберзащиты — Acronis Global Cyber Summit. В этом году наш саммит пройдет в режиме онлайн, и будет доступен для всех желающих абсолютно бесплатно! Мы решили использовать площадку-конструктор Bi...

Обзор гибких методологий проектирования DWH Разработка хранилища — дело долгое и серьезное. Многое в жизни проекта зависит от того, насколько хорошо продумана объектная модель и структура базы на старте. Общепринятым подходом были и остаются различные варианты сочетания схемы “звезда” с третьей нормальной формой. К...

Squad Health Check: измеряем здоровье команд Метрики, KPI, SLA, DoD, OKR — численных показателей производительности и эффективности команд существует много, но часто их недостаточно, чтобы понять, как на самом деле обстоят дела в команде. Довольны ли люди тем, что они делают, гордятся ли своим продуктом, хотят ли идти ...

ОТР запустила 300 точек доступа к сети Wi-fi в одной из больниц Москвы Несмотря на тяжелую ситуацию со вспышкой COVID-19 ИТ компания ОТР продолжает реализацию масштабного проекта по созданию сетевой инфраструктуры для Единой медицинской информационно-аналитической системы города Москвы (ЕМИАС). Проект ...

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

На платформе i.moscow Московского инновационного кластера (МИК) создано первое межотраслевое объединение Вице-мэр российской столицы Наталья Сергунина рассказала о том, что на платформе i.moscow МИК* создали первый межотраслевой кластер. Речь идет об инновационном территориальном объединении «Зеленоград». По словам чиновницы, в него входят 33 организации. Они на совместных осно...

Сергей Зайченко: «Если вы не знаете, где брать данные, берите их из OSM» Сергей Зайченко является одним из создателей картосервиса поискового портала «Спутник», в основе которого OpenStreetMap. Наверное, это один из самых удачных и масштабных примеров использования данных из OSM в рунете. Почему было решено использовать OSM, зачем развивали соо...

Беспроводной DIY датчик тепрературы и влажности с e-paper дисплеем Всем привет! Сегодня хочу рассказать читателям о своем DIY проекте датчика температуры и влажности с e-ink дисплеем. Это будет некая обзорная статья об этапах создания устройства, будет много картинок. Идея этого проекта родилась около двух лет назад, примерно тогда я увлекс...

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

Немного подробностей о нашем партнерстве со SpaceX Microsoft объявила о ряде анонсов в рамках масштабной глобальной инициативы Azure Space. Ее главной целью является сделать космические инновации доступными компаниям во всем мире. В рамках программы Microsoft планирует развивать сотрудничество с организациями космической о...

Huawei реализовала 12 миллионов смартфонов Mate 30 Компания Huawei отчиталась об успехах линейки флагманских смартфонов Mate 30, которые появились в продаже около трех месяцев назад. Судя по всему, американские санкции, вылившиеся в отсутствие приложений Play и других сервисов Google, не помешали крупным продажам. На данный ...

Samsung расскажет о переходе на Wear OS и о новых смарт-часах Galaxy Watch на MWC 2021 В прошлом месяце компания Google анонсировала новую версию Wear OS и сообщила, что её первым получат смарт-часы Galaxy Watch. Сейчас очередь пришла поделиться подробностями Samsung.

Kotlin Multiplatform. Работаем с многопоточностью на практике. Ч.2 Доброго всем времени суток! С вами я, Анна Жаркова, ведущий мобильный разработчик компании «Usetech». В предыдущей статье я рассказывала про один из способов реализации многопоточности в приложении Kotlin Multiplatform. Сегодня мы рассмотрим альтернативную ситуацию, когда м...

Taiga UI — библиотека компонентов под Angular, которую вам стоит попробовать Привет!Саша Инкин и я регулярно пишем на Хабр статьи по Angular. Почти все они основаны на нашем опыте разработки большой библиотеки компонентов.Эту библиотеку мы развиваем, перерабатываем и дополняем уже несколько лет, а свои идеи проверяем на нескольких десятках проектов Т...

[Из песочницы] Мой опыт разработки приложения, как PM Я программист в душе. Первую программу написал в 8 лет — игра на ламповый телевизор (24 года назад). Данный проект — это вызов для меня. Я лично не написал ни одной строчки кода. В процессе перекупили основного кодера. Дочь глотнула батарейку — стресс на неделю. Коронавирус....

[Перевод] Чем отличаются Dagger, Hilt и Koin под капотом? Dagger и Koin, без сомнения, являются двумя самыми популярными фреймворками для внедрения зависимостей на Android. Обе эти библиотеки служат одной цели и кажутся очень похожими, но работают они по-разному.А при чем здесь Hilt? Hilt — это библиотека, которая использует Dagger...

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

[Из песочницы] Капча для codeigniter 4 Добрый день! Несмотря на заголовок статьи, в ней будут представлены общие методы и функции, которые я использовал для создания своей капчи, которые можно применить и в других фреймворках с минимальными правками. Некоторые функции и подходы основываются на материалах поста Ра...

В майскую подборку для подписчиков PlayStation Plus войдут Battlefield V, Stranded Deep и PS5-версия Wreckfest Издательство Sony Interactive Entertainment на сайте официального блога PlayStation представило майскую подборку бесплатных игр для подписчиков своего сервиса PlayStation Plus. Как и предполагалось, в линейку следующего месяца войдёт военный шутер Battlefield V от студ...

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

[Перевод] DIY-зарядник для аккумуляторов ноутбуков на базе контроллера MP26123/MP26124 Это не первый мой проект по разработке зарядного устройства для батарей ноутбуков. Отмечу, что в первом проекте я использовал Max1873. Но для контроля заряда пришлось использовать микроконтроллер ATtiny. Все бы ничего, но здесь требовалось написать специфический код, что ус...

Непрерывная интеграция в Unity: как сократить время сборок и сэкономить ресурсы + пайплайн в подарок Всем привет, на связи Александр Панов, техлид из Pixonic. В компании я отвечаю за межпроектные решения и околопроектную периферию и сегодня хочу поделиться своим опытом и наработками. Платформы непрерывной разработки и интеграции, или CI/CD, сейчас используются повсеместн...

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

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

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

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

[Перевод] Как думают программисты-сеньоры? Автор материала, перевод которого мы публикуем сегодня, поддерживает идею Ральфа Уолдо Эмерсона о том, что мы становимся тем, о чём думаем. Здесь пойдёт речь об образе мыслей программистов-сеньоров. Читать дальше →

Microsoft оптимизирует ядро Linux для серверных ARM На конференции Linux Plumbers Conference 2020 разработчики Microsoft рассказали о своем экспериментальном проекте — оптимизации ядра Linux для серверных ARM-процессоров. С докладом выступил главный менеджер по разработке программного обеспечения Ян Бирман. По словам спец...

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

На мероприятии MWC Samsung расскажет о переходе на Wear OS и о новых смарт-часах Galaxy Watch на MWC 2021 Уже этим летом в Барселоне на масштабной выставке посвященной мобильным технологиям MWC 2021 компания Samsung расскажет о последних достижениях, в том числе о переходе на Wear OS, а также презентует умные часы Galaxy Watch 4. В прошлом месяце Google анонсировала новую операц...

До чего доводит взлёт криптовалют: дефицит видеокарт в России продлится до середины 2021 года минимум Резкий взлёт курса криптовалют привёл к закономерным последствиям — ажиотажный спрос на видеокарты, которые можно использовать для майнинга, вылился в их дефицит. О ситуации на рынке видеокарт в России рассказало издание «Ведомости» со ссылкой на пред...

Две альтернативы JDBC Примеры для двух неблокирующих библиотек доступа к SQL базам данных — Vert.X SQL и R2DBC. Примеры будут основаны на PostgreSQL и реактивных обертках Java. Начнем с главного: JDBC — это отличный стандарт. Служил и служит верой и правдой. Но новые веяния просят новых решений...

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

[Из песочницы] STM32F3xx + FreeRTOS. Modbus RTU с аппаратным RS485 и CRC без таймеров и семафоров Всем привет! Относительно недавно, закончив ВУЗ, я попал в небольшую компанию, которая занималась разработкой электроники. Одна из первых задач с которой я столкнулся — необходимость в реализации Modbus RTU Slave протокола с использованием STM32. С грехом пополам я её тогда ...

Spring-анимации во Vue Привет, Хабр! Мне давно хотелось добавлять в любые проекты Spring-анимации. Но делал я это только для React-проектов с помощью react-spring, так как не знал ничего другого. Но наконец я решил разобраться, как оно все устроено и написать свою реализацию! Если вы тоже хоти...

Семантика и деятельность В тексте “Семантические цифровые системы” отмечалось, что современные семантические технологии пока не имеют полноценных инструментов для описания деятельности. Семантические данные традиционно представляются в виде объектного графа, узлами которого являются сущности или зна...

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

Альтернативное понимание контекста с помощью статистической языковой модели В интернете полно статей на тему основанных на N-граммах языковых моделей. При этом, готовых для работы библиотек довольно мало. Есть KenLM, SriLM и IRSTLM. Они популярны и используются во многих крупных проектах. Но есть проблемы: Библиотеки старые, не развиваются. Пло...

Сервис Ubisoft+ доступен на Google Stadia: Assassin's Creed Valhalla и Watch Dogs: Legion за $15 в месяц На прошлой неделе мы сообщили, что облачный игровой сервис Google Stadia стал доступен в восьми новых странах из Восточной Европы. Посмотреть, входит ли ваша страна в этот список можно как раз в предыдущей новости. Теперь мы узнали, что Google Stadia заработала совместно с с...

Fluentd: почему важно настроить выходной буфер В наше время невозможно представить проект на базе Kubernetes без стека ELK, с помощью которого сохраняются логи как приложений, так и системных компонентов кластера. В своей практике мы используем стек EFK с Fluentd вместо Logstash. Fluentd — это современный универсальный ...

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

У Вас есть идея как улучшить OxygenOS? Поделитесь ею с OnePlus OnePlus ждет от фанатов креативные идеи, чтоб сделать OxygenOS еще лучше  Какой, по-вашему, самый главный недостаток в OxygenOS? А чтобы вы хотели улучшить или изменить? У вас есть шанс поделиться своими мыслями и идеями с OnePlus. И если ваша идея понравится, то ее пре...

У Вас есть идея как улучшить OxygenOS? Поделитесь ею с OnePlus OnePlus ждет от фанатов креативные идеи, чтоб сделать OxygenOS еще лучше  Какой, по-вашему, самый главный недостаток в OxygenOS? А чтобы вы хотели улучшить или изменить? У вас есть шанс поделиться своими мыслями и идеями с OnePlus. И если ваша идея понравится, то ее пре...

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

GitHub: новая Open Source библиотека для OSINT В мире информационной безопасности часто задаются вопросом об исследовании открытых источников на получение личной информации — будь то защищающая сторона (например, для контроля периметра, выявления открытых уязвимостей) или пентестеры (поиск точки входа, аудит периметра и...

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

Записки pentester’а: случаи на охоте – 2 Продолжим разговор за интересные случаи в работе пентестеров. В прошлом посте речь шла о внешних тестированиях на проникновение, сегодня же расскажем о наиболее занимательных внутренних пентестах, реализованных нами за последнее время. Суть их в том, что мы должны были, на...

Маркетинговые хитрости на рынке смартфонов. Где нет прогресса? Ранее, в нашем блоге обсуждалось, какие современные смартфоны классные и как их гибко можно использовать в «гиковских» целях. Возможно, но сегодня мы поговорим о другой стороне медали. Речь пойдёт о практическом применении в ежедневных задачах. Мы поговорим о том, что нам ...

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

PC-геймеры Reddit объединяют свои вычислительные мощности вокруг проекта Folding@Home для борьбы с COVID-19 Модераторы сабреддита «PC Master race» призвали владельцев мощных игровых видеокарт присоединиться к научным облачным вычислениям Стенфордского проекта Folding@Home, который прямо сейчас занимается расчетом моделей сразу по восьми направлениям для борьбы с COVID-19. Инициати...

[Из песочницы] Как не сгореть на проекте Привет всем! Сначала я хотел отразить в заголовке что-то про личную эффективность, но потом решительно отверг эту идею. Заранее хочу отметить, что речь здесь пойдет не столько о достигаторстве и правильной постановке цели (хотя это немаловажно), а скорее о личном опыте и о...

Объяснение: почему wc на Haskell оказался «быстрее» аналога на С После недавних статей (№10xd34df00d, №2chapuza, №3picul) сравнивающих скорость работы реализаций упрощенной утилиты wc у меня оставался только один вопрос — Как простая реализация на Haskell оказалась быстрее [простой реализации на C ?! Читать дальше →

Bethesda гордится успехами Fallout 76 в 2019 году На самом деле, гордиться действительно есть, чем.

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

Huawei Enterprise рассказал про СХД Huawei Enterprise провела мероприятие, посвященное технологиям в области обработки и хранения данных. Специалисты компании поделились своим виденьем развития отрасли и рынка High-End СХД в России и в мире, рассказали о решениях, которые предлагает компания для реализации сис...

ViennaNET: набор библиотек для backend’а. Часть 2 Сообщество .NET-разработчиков Райффайзенбанка продолжает краткий разбор содержимого ViennaNET. О том, как и зачем мы к этому пришли, можно почитать в первой части. В этой статье пройдемся по еще не рассмотренным библиотекам для работы с распределенными транзакциями, очеред...

Все, что вы хотели узнать об LDPC кодах, но стеснялись спросить (наверное) Предисловие С кодами малой плотности проверок на чётность, которые дальше мы будем именовать коротко LDPC (Low-density parity-check codes), мне удалось познакомиться более или менее близко, работая над семестровым научным проектом в ТУ Ильменау (магистерская программа CSP)....

[Перевод] Визуализация списка женщин-лауреатов Нобелевской премии в виде кристаллов в 3d с использованием Vue, WebGL, three.js Год 1 | вдохновение В этом месяце я очень долго пыталась определиться с датасетом и идеей для его обработки. Хотя я начала думать о нем еще в мае, по факту законить удалось только через 8 месяцев (черт, я плоха), а описать проект мне удалось еще спустя месяц (оу, я чертовс...

monobank снижает ставку на остаток (с 10% до 7%), но кредитная ставка и обязательный платеж тоже немного уменьшаться Популярный платежный сервис monobank, который на прошлой неделе преодолел знаковый рубеж в 2,5 млн активных клиентов (за 2,5 года) сегодня предупредил клиентов об изменениях в ключевых тарифах с 1 сентября. Всего их три: два положительных и одно — неприятное. Подробности рас...

[Перевод] Подробности об использовании CSS-функции minmax() в Grid-макетах Существует множество руководств, в которых рассматриваются общие вопросы работы с CSS Grid, с механизмом, позволяющим создавать сеточные макеты. Я и сам немало об этом писал. Но я обратил внимание на то, что у многих разработчиков возникают сложности с использованием CSS-фун...

За три месяца эксперимента «Доступный интернет» провайдеры потеряли около 200 млн рублей За три месяца эксперимента «Доступный интернет», в рамках которого обеспечивается бесплатный доступ к социально значимым веб-ресурсам, провайдеры домашнего интернета недополучили 190-220 млн рублей выручки. Об этом сообщает издание «Коммерсант» со ссылкой на данные комиссии ...

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

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

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

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

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

Не решать за дизайнера задачу дизайнера Привет, Хабр. Последние 3 месяца около 40% моего рабочего времени занимает общение с дизайнерами. Про то, что дизайн — это не про нарисовать, а про спроектировать, знают давно и многие. А о том, почему это так, доступно объяснял в своем выступлении Костя Горский, в прошлом ...

Безопасность REST API от А до ПИ Введение Умение реализовать грамотное REST API — полезный навык в наше время, т.к. все больше сервисов предоставляют свои возможности с помощью API. Но разработка REST API не ограничивается реализацией HTTP запросов в определенном стиле и формированием ответов в соответстви...

PyCharm исполнилось 10 лет У PyCharm юбилей. На протяжении десяти лет наша IDE развивалась вместе с Python, отражая изменения в языке и отвечая на запросы Python-разработчиков. Все это время мы стремились сделать PyCharm максимально удобной и эффективной IDE. PyCharm — не просто коммерческий продукт...

Теперь еще и телевизоры. Видеочат Google Duo станет доступен на Android TV Буквально на прошлой неделе Google перенесла сервис видеоконференций Meet на телевизоры через Chromecast. Теперь же стало известно, что видеочаты Google Duo тоже станут доступны прямо с экрана телевизора, причем здесь речь идет о выпуске отдельного приложения для Android TV....

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

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

[Из песочницы] ToolKit на базе Eclipse и GTK+, для «Toradex Colibri T20 (Linux)» Эта статья рассчитана прежде всего на то, чтобы сэкономить время при создании тулкита, но при этом я постараюсь рассказать все достаточно объемно. Содержание Скачать все необходимое Установка SDK Проверка SDK Установка Eclipse Подключение GTK к Eclipse Настройка прое...

Самое интересное в PHP 8 PHP 7.4 только-только объявлена stable, а нам уже подавай еще больше усовершенствований. И лучше всех о том, что ждет PHP, может рассказать Дмитрий Стогов — один из ведущих разработчиков Open Source PHP и, наверное, старейший активный контрибьютор. Все доклады Дмитрия тольк...

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

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

Interprocess communication с использованием GRPC Сегодня хочу рассказать о нашем пути реализации межпроцессного взаимодействия между приложениями на NET Core и NET Framework при помощи протокола GRPC. Ирония заключается в том, что GRPC, продвигаемый Microsoft как замена WCF на своих платформах NET Core и NET5, в нашем случ...

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

GitHub: библиотека для сбора SSL-сертификатов Представляем еще одну библиотеку, написанную на Go – GoTransparencyReport предназначенную для автоматизации сбора и обработки SSL-сертификатов по API сайта transparencyreport.google.com (ранее мы уже размещали библиотеку для поиска данных о корпоративных email по домену). Су...

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

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

[Перевод] Представлена Grafana Tempo, широко масштабируемая распределенная система трассировки Grafana Labs с гордостью представляет простую в эксплуатации, масштабируемую, рентабельную, распределенную систему трассировки: Tempo. Она разработана в качестве надежного хранилища, оптимизированного для поиска идентификаторов, единственная ее зависимость — объектное храни...

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

Radeon RX 6800 XT с охлаждением на азоте побил новый мировой рекорд 3DMark Fire Strike Radeon RX 6800 XT с охлаждением на азоте побил новый мировой рекорд 3DMark Fire Strike. Такой высокий результат удалось достичь, благодаря специально выстроенной тестовой системе. Подробнее об этом читайте на THG.ru.

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

В Epic Games Store началась раздача ролевого экшена Torchlight II В Epic Games Store подходит к концу масштабная предновогодняя акция: предпоследней, четырнадцатой по счёту временно бесплатной игрой в сервисе стала Torchlight II от ныне закрытой Runic Games. Добавить Torchlight II в свою библиотеку можно на странице проекта в Epic Games ...

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

И целого байта мало… (Часть #2) Сегодня поговорим о конкретной работе в области sizecoding. Дело в том, что некоторые релизы не только имеют культовый статус в узких кругах — они прямо и явно воздействовали на умы людей, заставляли учить отладчик, смотреть код, изучать все детали. Было просто непонятно и о...

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

[Перевод] Docker передает cnab-to-oci в проект CNAB… и что вообще такое CNAB? Прим. перев.: Эта статья — перевод недавнего анонса из мира контейнеров. В прошлом месяце компания Docker объявила о передаче своей очередной разработки в руки более широкого Open Source-сообщества. Речь шла об инструменте конвертации метаданных CNAB-пакета в формат стандарт...

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

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

Ну вы и кадры: показываем, на ком держатся IT в 2020 году Привет! В июле Хабр и Экопси объявили о старте исследования IT-брендов работодателей. Мы собрали и обработали всё, что вы рассказали нам о российских IT-компаниях, подвели итоги и уже скоро назовем работодателей с самыми сильными IT-брендами этого года. Интересных данных у...

Инженеры Toyota признали – Tesla опережает их в области бортового ИИ на 6 лет Инсайдерская информация из недр Toyota Motor указывает на существенное отставание автогиганта от компании Tesla. По итогам недавнего реверс-инжиниринга Model 3 один из ведущих специалистов Toyota прямо заявил «Мы не можем этого повторить». Речь идет о технологии Hardware 3 –...

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

[Из песочницы] Пишем шейдеры кодом в Unity LWRP Введение Здравствуй, Хабр. Сегодня хочется рассказать немного о том, как можно быстро и безболезненно (почти) начать писать классические текстовые шейдеры в Unity с использованием Lightweight Rendering Pipeline (LWRP) — одним из примеров конвейера Scriptable Rendering Pipeli...

«Умный дом» в каждую квартиру многоквартирного дома, или наш MVP В прошлой статье мы рассказали о создании нашей команды, но в этой статье хотим рассказать как именно мы реализовали первый наш проект. Описание объекта Итак наш первый объект — жилой дом имеющий следующие характеристики: 15 этажей 135 квартир Импульсные приборы учета х...

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

Эксплуатация Ceph: как распределять пулы по разным типам (HDD/SSD) и группам серверов В Ceph можно распределять пулы с данными по разным типам серверов: «горячие» данные хранить и реплицировать на SSD, «холодные» — на HDD. Кроме того, пулы одного кластера можно разделять физически. В статье расскажем, как это сделать. Статья подготовлена на основе лекции Але...

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

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

Архитектура S3: 3 года эволюции Mail.ru Cloud Storage Storage Corridor by St-Pete Всем привет! Я Mons Anderson, архитектор платформы Mail.ru Cloud Solutions, расскажу, как мы построили наше S3-хранилище, как оно работает, какие решения оказались удачными, а какие стоило изменить, если бы мы начали такой же проект с нуля сейчас...

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

Blazor Client Side Интернет Магазин: Часть 4 — Добавления товара в корзину Привет, Хабр! Продолжаю делать интернет магазин на Blazor. В этой части расскажу о том как добавил в него возможность добавления товара в корзину. За подробностями добро пожаловать под кат. Читать дальше →

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

Где взять аудио для машинного обучения: подборка открытых библиотек с лицензией Creative Commons Небольшой дайджест для тех, кто разрабатывает модели машинного обучения. Под катом — своды данных с речью, музыкой и шумом промышленных агрегатов. Читать дальше →

Quartet 9: Allegro | TypeScript Когда создавалась библиотека для валидации данных quartet были поставленны следующие цели-ориентиры: TypeScript Краткость и простота Производительность В этой статье я хотел бы рассмотреть ориентированность quartet на TypeScript. Читать дальше →

В поисках обеда: распознавание активности по данным фитнес-трекера Мне посчастливилось участвовать в проекте SOLUT, который стартовал в ЛАНИТ около года назад. Проект развивается благодаря активному участию Центра компетенции больших данных ЛАНИТ (ЦК Дата), и главное технологическое новшество проекта заключается в использовании машинного об...

[Перевод] Применение SQLiteOpenHelper и Database Inspector в Android-разработке Автор статьи, перевод которой мы публикуем сегодня, хочет рассказать об использовании баз данных SQLite в Android-разработке. В частности — он коснётся тут двух вопросов. Во-первых — речь пойдёт о классе SQLiteOpenHelper, который применяется для работы с базами данных в коде...

MLOps — Cook book, chapter 1 Всем привет! Я CV-разработчик в КРОК. Уже 3 года мы реализуем проекты в области CV. За это время чего мы только не делали, например: мониторили водителей, чтобы во время движения они не пили, не курили, по телефону не разговаривали, смотрели на дорогу, а не сны или в облака...

Халк крушить: Square Enix потеряла $67 млн благодаря разработке Marvel's Avengers В начале ноября генеральный директор Square Enix, Ёске Мацуда, провёл конференцию с инвесторами о финансовых результатах компании. Всё оказалось не так хорошо, как хотелось бы. Самой главной проблемой является даже не пандемия, а результаты экшена Marvel's Avengers, реклама ...

Проекты Центра разработки Intel в России. Intel SLONN — прототип беспилотного снегоуборщика В этот весенний день наконец, настало время рассказать о самом зимнем проекте Нижегородского центра разработки Intel, демонстрирующем не только компетенции сотрудников подразделения, но и потенциал нашей страны. Точнее, её климатических особенностей. А еще точнее – российс...

Офис Involta: как мы работаем и зарабатываем, не уезжая из региона Компания Инвольта появилась и продолжает успешно развиваться в Иванове. С нескольких человек и идеи о том, как заработать, мы выросли до более сотни сотрудников, десятков проектов и масштабного офиса в центре города. О том, где и как мы работаем, не уезжая из региона, и поче...

Опыт инвестиций в акции Всем привет. Опрос в моем прошлом посте показал, что людям хотелось бы почитать о моем опыте инвестиций. На данный момент мой ИИС открыт 1 год и 3 месяца назад. Инвестировал я 500 000 рублей за это время. Читать дальше →

Как улучшить письменный английский с помощью расширения для Chrome: проект Linguix.com Привет, Хабр! Сегодня я хотел бы рассказать вам о нашем проекте – браузерном расширении Linguix, с помощью которого вы можете исправлять ошибки в англоязычных текстах на любых сайтах в интернете. Читать дальше →

[Из песочницы] A* pathfinding на C#: двоичные кучи и борьба с аллокациями Сегодня мы разбираем один из популярнейших алгоритмов поиска пути. Работать будем с двумерным массивом целочисленных координат. Сначала кратко ознакомимся с методами обхода графов, напишем собственно поиск пути, а затем перейдём к самому вкусному: оптимизации быстродействия...

Киберугрозы-2021: прогнозы и перспективы В течение 2020 года мы изучали нескончаемый поток угроз, отслеживали действия киберпреступников по всему миру, анализировали инструменты, тактики и направления интереса. В материале Turning the Tide. Trend Micro Security Predictions for 2021 наши эксперты делятся своим виден...

Seagate SkyHawk AI — огромный и злопамятный В конце прошлого года модельный ряд наших устройств пополнился новой линейкой, SkyHawk AI. Эти накопители создавались для работы в системах видеонаблюдения с поддержкой искусственного интеллекта. Сегодня мы хотим подробно рассказать вам о её флагмане — модели Seagate ST16000...

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

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

Портировать игры на DirectX 12 станет еще проще Компания Microsoft на прошлой неделе выложила в открытый доступ библиотеку D3D12 Translation Layer, которая должна упростить портирование игр на API DirectX 12. D3D12 Translation Layer – это одна из вспомогательных библиотек для переноса графических концептов и команд с API ...

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

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

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

Интервью с Александром Филипповым, Lead Game Designer World of Tanks Blitz 14 и 15 мая мы будем участвовать в конференции DevGAMM, на которой будут выступать наши спикеры. И мы подумали, почему бы не разузнать у одного из них о бекграунде, опыте и работе над проектом World of Tanks Blitz, о котором пойдем речь в презентации. Что получилось из этого...

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

7 слов в английском, которые встречаются в СМИ реже чем 3 случая на 100 миллионов В английском языке уже больше миллиона уникальных слов — именно такие результаты дал масштабный анализ литературы, который совместно проводили Гарвардский университет и компания Google. Лексикон языка увеличивается в среднем на 8500 новых слов каждый год. С такой же скоро...