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

Wrike уходит от использования языка Dart. Часть 1 Данной статьёй мы хотим пролить свет на технический стек Wrike: каким он был раньше и каким мы видим его в будущем. Мы расскажем о том, почему пять лет назад мы выбрали язык Dart основным для frontend-разработки нашего продукта и почему сейчас мы решили посмотреть в сторону ...

Как выбрать 1 млн. записей из бд, записать в Excel и не упасть с OutOfMemoryError Совсем недавно мне была поставлена задача, написать сервис, который будет заниматься всего лишь одной, но очень емкой задачей – собирать большой объем данных из базы, агрегировать и заполнять все это в Excel по определенному шаблону. В процессе поиска лучшего решения было оп...

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

Fortinet Security Fabric на практике. Часть 1. Общий обзор Приветствуем! Понятие Fortinet Security Fabric нельзя назвать новым - оно фигурирует на рынке уже более пяти лет, если не дольше. Но на практике мы до сих порой сталкиваемся с множеством вопросов по поводу того, что она из себя представляет и как работает. Поэтому, мы решили...

Реализация Unidirectional Data Flow в супераппе. Часть II В предыдущей статье мы сформулировали нашу главную проблему при масштабировании Unidirectional Data Flow (UDF) — модуляризацию. Сегодня существует много UDF-фреймворков на Swift, но мало кто уточняет, как их масштабировать на большое, многомодульное приложение. Мы решили под...

Fortinet Security Fabric на практике. Часть 3. FortiAP Всем привет! В нашей прошлой статье мы рассказали об устройстве FortiSwitch и его основных функциональных возможностях. Вторая часть решения от компании Fortinet для обеспечения защищенного доступа - точки доступа FortiAP. Сегодня мы хотим рассказать о них. В планах - расска...

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

Android 12 Developer Preview: готовим приложение к новым обновлениям Google анонсировал релиз Android 12 и уже выпустил две документации Developer preview. Изменений довольно много, поэтому мы решили рассказать вам о самых главных и интересных из них, которые затронут большую часть мобильных приложений. Но сперва расскажем о сложностях, с к...

EMV 3-D Secure, или кто украл SMS с одноразовым паролем. Часть 2 В прошлой статье мы рассказали о том, как появился первый протокол надежной аутентификации для платежей по пластиковым картам 3-D Secure 1.0.2, какие задачи он решает и какими недостатками обладает. Теперь мы хотели бы рассказать о будущем технологии 3-D Secure, и почему не ...

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

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

Под капотом бота-клиента Яндекс.Музыки Введение Привет, Хабр! Вновь я с уже второй статьей, затрагивающей API Яндекс.Музыки. Дело запланированное и упоминалось в первой статье. Руки дошли, дело сделано. Сегодня я расскажу об интересных, на мой взгляд, моментах, которые присутствуют в кодовой базе моего Telegram ...

Как Excel и VBA помогают отправлять тысячи REST API запросов Работая в IoT-сфере и плотно взаимодействуя с одним из основных элементов данной концепции технологий – сетевым сервером, столкнулся вот с какой проблемой (задачей): необходимо отправлять много запросов для работы с умными устройствами на сетевой сервер. На сервере был ...

Алексей Грачёв: Go Frontend Kyiv Go Meetup May 2018: Ведущий: – Всем привет! Спасибо, что вы здесь собрались! Сегодня у нас два официальных спикера – Лёша и Ваня. Будет ещё два, если у нас хватит времени. Первый спикер – Алексей Грачёв, он расскажет нам о GopherJS. Алексей Грачёв (далее – АГ): – Я ...

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

НИ СЫ*, протестируй Уважаемые друзья, здравствуйте! На связи - команда my3D!Сомневаетесь заказать новый филамент или нет? Вы, правильно делаете, пока не попробуешь - не станет ясно:Получится ли распечатать ту или иную Вашу модель из нашего пластика?Какие подобрать режимы для печати?Подойдут ли...

Пишем PBX на Perl для Yate Когда-нибудь я напишу что-то в духе "Как я стал программистом в 40 лет". Но точно не сегодня, к тому же мне давно уже не 40 и программистом я себя не считаю. А рассказать я хотел бы о своём опыте разработки PBX для собственных нужд. В качестве VoIP движка используется Yate, ...

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

Опыт реализации сетевых фабрик на базе EVPN VXLAN и Cisco ACI и небольшое сравнение Оцените связки в средней части схемы. Ниже к ним вернёмся В какой-то момент вы можете столкнуться с тем, что большие сложные сети на базе L2 неизлечимо больны. В первую очередь проблемами, связанными с обработкой BUM трафика и с работой протокола STP. Во вторую — в целом м...

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

VxLAN фабрика часть 5. Multisite Привет, Хабр! Наконец заканчиваю цикл статей, посвященных запуску курса "Архитектор сетей" от OTUS, по технологии VxLAN EVPN. И сегодня обсудим реализацию подключений различных ЦОД или сайтами. Читать далее

Какую СУБД выбрать и почему? (Статья 1) Первая часть в серии статей про СУБД, в которых будут представлены простые и понятные критерии, на основе которых можно будет получить подсказку, какую СУБД выбрать для своего проекта.В данной статье разберем типы СУБД, какие наиболее популярны, в чем их предназначение и уни...

Как мы работаем с логами (сбор, хранение, анализ при помощи Graylog) Всем привет! В этой статье мы хотим поделиться нашим опытом использования полезной платформы Graylog, которая ежедневно помогает собирать, надежно хранить и анализировать логи с десятков серверов, окутанных заботой нашей поддержки :)Это первая часть статьи, в которой мы расс...

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

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

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

Погружение в Threat Intelligence: кому и зачем нужны данные киберразведки Привет! Меня зовут Антон, я владелец продукта R-Vision Threat Intelligence Platform (TIP). От создания первых прототипов решения до реализации пилотных проектов по его внедрению прошло уже более трех лет, и мне захотелось поделиться накопленным опытом и набитыми шишками с со...

Потоковый захват изменений из PostgreSQL/MySQL с помощью Apache Flink Привет! Сегодня мы поговорим и попробуем на практике реализацию паттерна Change Data Capture (далее – CDC) в Apache Flink. Статья разделена на несколько частей: в первой мы рассмотрим теоретические основы Change Data Capture, варианты реализации и сферы применения. Во в...

[Из песочницы] Из ничего к ЦОД с VXLAN/EVPN или как готовить Cumulus Linux. Часть 1 В последние полгода удалось поработать над большим и интересным проектом, в котором было все: от монтажа оборудования до создания единого VXLAN/EVPN домена в 4-х ЦОД. Т.к. было получено много опыта и набито много шишек в процессе, решил что написать несколько статей на эту т...

Разгоняем JS-парсер с помощью WebAssembly (часть 2: алгоритм и его оптимизации) В первой части статьи мы исследовали скорость различных вариантов обмена информацией между JavaScript и WASM-кодом. В этом продолжении - наконец-то займемся написанием прикладного кода нашего парсера.Мы ведь теперь пишем "прямо на ассемблере" - значит, все будет супербыстро!...

Fortinet Security Fabric на практике. Часть 4. Взаимная интеграция Доброго дня! В наших прошлых статьях мы рассказали про концепцию Fortinet Security Fabric, а также описали продукты FortiSwitch и FortiAP. Теперь пришло время рассмотреть процесс взаимной интеграции продуктов “фабрики безопасности” на практике, а также познакомиться с возмож...

TelegramBot инструкция по созданию базового функционала для бота. (Часть 1) Не так давно я предложил вам воспользоваться моим ботом для телеграмма. Telegram Bot — помощник в планировании мероприятий Получив много вопросов в личку, я понял, что вопрос создания ботов для Телеграм довольно популярен. У меня спрашивали исходный код бота, просили по...

Мой MikroTik – моя цифровая крепость (часть 3) Статья является продолжением первой и второй частей, посвящённых организации практической безопасности сетей, построенных на оборудовании MikroTik. Ранее были рассмотрены общие рекомендации, безопасность уровней L1, L2 и L3. Настало время показать варианты реализации централ...

Чаты на вебсокетах, когда на бэкенде WAMP. Теперь про Android Мой коллега уже писал про наш опыт разработки чатов на вебсокетах для iOS, поэтому часть про особенности бэкенда с точки зрения клиента у нас общая. А вот реализация на Android, конечно, отличается. И ещё мне не приходилось, как в первой статье, искать библиотеку для поддерж...

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

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

Архитектура и дизайн Android приложения (мой опыт) Хабр, привет! Сегодня я хочу рассказать об архитектуре, которой я следую в своих Android приложениях. За основу я беру Clean Architecture, а в качестве инструментов использую Android Architecture Components (ViewModel, LiveData, LiveEvent) + Kotlin Coroutines. К статье прил...

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

Реализация Unidirectional Data Flow в супераппе. Часть I Привет, я Антон, iOS-разработчик в inDriver. Год назад я присоединился к компании и стал одним из первых разработчиков в новой платформенной команде. Перед платформенными командами, в отличии от продуктовых, стоят задачи по разработке, а не по продукту как таковому. Мы выдел...

Fortinet Security Fabric на практике. Часть 2. FortiSwitch Приветствуем! В нашей прошлой статье мы описали общую концепцию построения сети на продуктах компании Fortinet - Fortinet Security Fabric. Практически все продукты из этой концепции мы уже описывали. Неосвещенными остались только FortiSwitch и FortiAP. Сегодня мы хотим расск...

Мониторинг в ЦОДе: как мы меняли старую BMS на новую. Часть 2 В первой части мы рассказали о том, почему решили поменять старую BMS-систему в наших ЦОДах на новую.  И не просто поменять, а разработать с нуля под свои требования. Во второй части рассказываем, как мы это делали. Читать дальше →

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

[Перевод] Реализация epoll, часть 2 Публикуя перевод первой статьи из цикла материалов о реализации epoll, мы провели опрос, посвящённый целесообразности перевода продолжения цикла. Более 90% участников опроса высказались за перевод остальных статей. Поэтому сегодня мы публикуем перевод второго материала из эт...

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

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

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

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

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

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

Платформа данных в Леруа Мерлен. Part 2. Обновления 2021 года: Flink и Superset Всем привет!«Данные – это новая нефть» – вам наверняка доводилось уже не раз слышать эту фразу. Впервые в 2006 году эту идею озвучил математик Клайв Хамби в своем блоге, но с тех пор она не потеряла популярности и сейчас её можно услышать почти из каждого утюга. Особую актуа...

Дженерик коллекции в PHP Столкнулся с проблемой нормальной реализации коллекций в PHP. Доктриновские коллекции мутабельны и инвариантны. PSL коллекции инвариантны. Нигде не видел непустых коллекций. Везде меня что-то не устраивало и было принято решение написать свою open source реализацию иммутабел...

Темизация. История, причины, реализация Когда веб только зарождался – единственной его целью было размещение контента (гипертекстовые страницы), чтобы у пользователей из всемирной паутины был к нему доступ. В то время не могло идти и речи о дизайне, ведь зачем нужен дизайн страницам с научными публикациями, разве ...

Все врут: эпопея с NVMe-серверами и Hi-CPU Diskspd лучше использовать вместо CrystalDiskMark, потому что код первой на стыке с GUI второй даёт забавный баг У нас, в RUVDS не хватало в линейке NVMe-сервера, чтобы побыстрее и помощнее. Потому что в последний год пошла мода разворачивать на таких Битрикс и 1С. Спрос на...

Адаптивная балансировка нагрузки или как повысить надёжность микросервиса Привет, меня зовут Геннадий, я работаю в Ozon, занимаюсь разработкой backend-сервисов. Избыточностью компонентов, кластеризацией или балансировкой уже никого не удивишь в наши дни. Это очень важные и нужные механизмы. Но так ли они хороши? На сколько они защищают нас от возм...

MMORPG прошлого века: как мы создали первый Киевский игровой сервер Вторая половина девяностых. В СНГ интернет как таковой еще только начинает развиваться. Коммерческих сайтов практически нет (а если и есть, то исключительно айтишной тематики). Web еще не стал тем местом, где пользователи проводят основную часть времени. Доминирующая техноло...

[Перевод] Итак, вы хотите оптимизировать gRPC. Часть 1 Часто возникает вопрос о том, как ускорить gRPC. gRPC позволяет реализовать высокопроизводительный RPC, но не всегда понятно как достичь этого быстродействия. И я решил попытаться показать ход своих мыслей при оптимизации программ.Рассмотрим простой сервис "ключ-значение", к...

Additional SSR performance with Nuxt fullstack server (Часть 2) Часть 1: Nuxt as fullstack server: frontend + backend API Server Часть 2: Additional SSR performance with Nuxt fullstack server В Части 1 я рассказал как легко организовать API Server в Nuxt. В Части 2 я хочу рассказать какие дополнительные преимущества можно извлечь из ...

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

Samsung закрыла свой последний зарубежный завод по производству ПК Как сообщает источник, компания Samsung остановит свой последний зарубежный завод по производству ПК. Фабрика в Сучжоу прекратит работу из-за «жёсткой конкуренции на рынке». Не секрет, что Samsung никогда не имела сильных позиций на рынке ПК, а сейчас, видим...

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

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

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

VxLAN фабрика часть 4. Multipod Привет, Хабр! Все еще заканчиваю цикл статей, посвященных запуску курса "Архитектор сетей" от OTUS, по технологии VxLAN EVPN. И сегодня обсудим реализацию подключений машинных залов или ЦОД в одну VxLAN фабрику Читать дальше →

[Перевод] Мы создали Web приложение для определения лиц и масок для Google Chrome Основная цель - обнаружение лица и маски в браузере, не используя бэкенд на Python. Это простое приложение WebApp / SPA, которое содержит только JS-код и может отправлять некоторые данные на серверную часть для следующей обработки. Но начальное обнаружение лица и маски выпо...

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

«Радио, погода, время всегда под рукой» или история одного решения (железо, софт, интерфейс) Всегда хотелось какого то простого и удобного решения для управления звуковым бэкграундом в интерьере. Попробовав несколько существующих вариантов, решил реализовать своё решение на базе Android планшета и сайта-веб-приложения. Теперь "Радио, погода, время всегда под рукой"....

6 ошибок мышления, из-за которых вы остаетесь на нелюбимой работе В начале 2020 года специалисты сервиса по поиску работы «Работа.ру» провели социальный опрос и выяснили, что в следующие 12 месяцев 74% россиян хотят заняться вопросом нового трудоустройства. 53% респондентов рассказали, что недовольны текущим уровнем заработной платы. Но по...

Извлечь максимум из новостей в интернете, часть 3 Продолжение статьи про новости - как я скачиваю подкасты. Первая часть тут, вторая - тут. Читать далее

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

Rust глазами Python-разработчика #2 Снова привет! Мы – @cbmw и @AndreyErmilov, часть команды разработки «Рамблер/Медиа» (портал «Рамблер»). И это вторая часть наших размышлений по поводу сравнения Python и Rust (первая часть).В этой части мы затронем многопоточность, асинхронность, функциональную парадигму и п...

Mein Konfig: экскурсия по dotfiles (часть 2) Статья-продолжение первой части, в которой не уместилось всё что хотел описать. Напомню, что в ней я начал описывать своё рабочее окружение и dotfiles. Читать дальше →

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

Как мы делали универсальный сервис подписания для инфраструктуры Госуслуг на C и GO. Часть 1 Это первая часть статьи, в которой будет рассмотрена GO-часть нового сервиса подписания для всем известного (а если не всем, то многим) портала Госуслуг. Сюда входит конфигурирование, тестирование, ресты, файловый менеджер и планировщик. В общем все то, что происходит до тог...

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

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

Программирование Modbus RTU Master на примере Simatic S7-1200 и ПЧ Sinamics V20 Давно хотел рассказать про тонкости программирования обмена по протоколу Modbus RTU в случае, когда контроллер (в нашем случае S7-1214) выступает RTU Master'ом. Недавно меня попросили помочь с обменом между ПЛК и частотным преобразователем Sinamics V20, ну и почему бы не нап...

Kotlin + Hibernate: всё сложно Невозможно представить JPA без сущностей. Однако, их определение в Котлине таит некоторое количество подводных камней. Давайте посмотрим, как избежать распространенных ошибок и использовать возможности Котлина на максимум. Внимание спойлер! Классы данных — не лучший вариант ...

Как организовать локальный чемпионат по робототехнике и сделать его традиционным (vol. 2) В продолжение автобиографических заметок про проведение Сахалинского чемпионата по робототехнике (первая часть доступна здесь) - о том, как мы продолжали развивать наше мероприятие после первого опыта, к чему пришли новому, а от чего - отказались. И почему "копировать" одина...

Эксплуатация MongoDB в Kubernetes: решения, их плюсы и минусы MongoDB — одна из самых популярных NoSQL/документоориентированных баз данных в мире веб-разработки, поэтому многие наши клиенты используют её в своих продуктах, в том числе и в production. Значительная их часть функционирует в Kubernetes, так что хотелось бы поделиться накоп...

Сравнение производительности HashiCorp Vault с разными бэкендами Vault — Open Source-решение от HashiCorp для управления секретами. Его изначальная ориентированность на модульность и масштабируемость позволяет запускать как небольшой dev-сервер Vault на своем ноутбуке, так и полноценный HA-кластер для production-сред.Начиная работать с Va...

Извлечь максимум из новостей в интернете, часть 1 Навеяно статьей Почему я по-прежнему пользуюсь RSSЯ сам очень активно использую формат новостей, чем и хотел бы поделиться с сообществом. Читать далее

Анализируем данные с помощью визуализации: рисуем поверх Google Maps Привет, я Катя, системный аналитик в Ozon. Одна из первых задач, которую мне поручили здесь — проверить качество географических данных. Формально эта задача больше относится к анализу данных, чем к системному анализу. Но меня она очень заинтересовала, ведь требовался не толь...

Новости из жизни Haiku за июль-август 2021 Здравствуйте, дорогие друзья.Исторически сложилось, что изначально сообщество BeOS/Haiku обитало на qube.ru и Jabber-канале. Но, со временем оно перебралось в телеграмм канал и vk-сообщество, где участники сообщества, кто есть в VK, собирают и обсуждают новости проекта.И в д...

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

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

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

Как реализовать интеграцию с ЕСИА на Java без лишних проблем Долгое время основным способом идентификации граждан был обычный паспорт. Ситуация изменилась, когда в 2011 году по заказу Минкомсвязи была внедрена Единая система идентификации и аутентификации (ЕСИА), ― она позволила распознавать личность человека и получать о ней данные в...

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

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

«Hello, банковский world!»: как прошёл онлайн-хакатон ВТБ More.Tech Любой хакатон — мероприятие сугубо практическое. На ВТБ More.Tech мы хотели посмотреть, как молодые таланты подойдут к решению поставленных нами задач. Онлайн-формат позволил привлечь почти 500 IT-специалистов, около 30% из которых подключились из регионов. Нужно сказать, чт...

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

Новый фронтенд Одноклассников: запуск React в Java. Часть I Многие слышали название GraalVM, но опробовать эту технологию в продакшене пока довелось не всем. Для Однокласснииков эта технология уже стала «священным Граалем», меняющим фронтенд. В этой статье я хочу рассказать о том, как нам удалось подружить Java и JavaScript, и нач...

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

[Перевод] Android Bluetooth Low Energy (BLE) – готовим правильно, часть #3 (read/write) Часть #1 (scanning)Часть #2 (connecting/disconnecting)Часть #3 (read/write), вы здесьВ предыдущей статье мы подробно поговорили о подключении/отключении BLE устройств. Эта статья о чтении и записи характеристик, а также о включении-выключен...

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

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

На что способен недорогой Лазерный гравер? (часть 2) Ребята всем привет! Эта статья является прямым продолжение статьи Зачем нужен Лазерный Гравер дома?!Мое знакомство с лазерными технологиями продолжается и в этой статье я расскажу вам где еще мне удалось применить Лазерный гравер и какие материалы поддаются обработке.Перед н...

Повышаем качество кода с Dart Code Metrics Dart Code Metrics — это инструмент статического анализа кода, который позволяет собирать метрики по коду и предоставляет дополнительные правила для анализатора. Основная задача — помогать разработчикам следить за качеством кода и улучшать его. В этой статье мы хотим поделить...

Как я сжимал модель fastText для реальной задачи в 80 раз в 2021 году FastText — это отличное решение для предоставления готовых векторных представлений слов, для решения различных задач в области ML и NLP. Но основным недостатком данных моделей является, то что на текущий момент обученная модель FastText на русскоязычном корпусе текстов Викип...

Как e2e автотесты на Selenide помогают QA-команде при частых релизах Всем привет! Я Иван, старший инженер-тестировщик в КРОК. Уже 6 лет занимаюсь тестированием ПО. Из них 3 года внедряю автоматизацию тестирования на различных проектах - люблю всё автоматизировать. На рабочей машине много разных “батников” и bash-скриптов, которые призваны упр...

Нейросеть с нуля своими руками. Часть 2. Реализация Итак, моя первая публикация успешно прошла модерацию, поэтому рад вам представить вторую часть статьи, в которой мы применим полученные знания на практике и напишем простейшую нейросеть с нуля.Как я говорил во вступлении к первой части, я frontend-разработчик, и мой родной я...

[Из песочницы] IoT шлюз Ethernet-RS485 на базе STM32 Привет, Хабр!Данный пост посвящён DIY разработке Ethernet-RS485 шлюза. Цель данного шлюза – обеспечение централизованного управления нодами Mysensors со стороны контроллера умного дома.Недавно меня таки достали провода, дюпоны, навесная пайка и т.п. и было принято давно оття...

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

Обзор Monster Hunter Stories 2: Wings of Ruin. Верхом на генномодифицированных покемонах Вышедшая совсем недавно Monster Hunter: Rise по праву заслужила титул лучшей игры серии: она пользуется бешеной популярностью у владельцев Switch, а те, у кого нет консоли от Nintendo, считают дни до ее выхода на ПК. И вот пока Rise находится на пике популярности, выходит ещ...

Как работают функции provide и inject во Vue 3? Функции provide и inject во Vue 3 как по мне предлагают интересный подход к реализации паттерна Dependency Injection, однако принцип их работы недостаточно хорошо описан в документации. Они похожи на большой чёрный ящик с магией Vue, хотя на самом деле работают довольно прос...

Заметки стартап-предпринимателя или истории о том, что я хотел бы знать когда переезжал и открывал компанию в России Всем привет! Хочу поделиться опытом переезда в Россию из стран СНГ и ведения своего ИТ бизнеса. Часть данной истории будет полезна в том числе и тем, кто хочет переехать в Россию чтобы работать по найму. Читать далее

Получаем полную версию Microsoft Exchange. Исследуем, как мир ставит обновления Перед тем, как я расскажу о своем исследовании, объясню, чем оно было обусловлено. В мае мы запустили альфа-версию сканера интернета – Netlas.io. Этот сервис – наша собственная разработка, которой мы занимались последние месяцы.   В двух словах о том, что это. Netl...

Функциональные кривые высокого качества (часть III) Заключительная часть цикла статей, посвященных новому типу кривых и поверхностей, разработанному в компании C3D Labs в качестве нового функционала поверхностного моделирования для геометрического ядра C3D Modeler.В этой части приводятся примеры практического применения C3D F...

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

Odyssey: архитектура, настройка, мониторинг. Андрей Бородин Предлагаю ознакомиться с расшифровкой доклада начала 2020 года Андрея Бородина "Odyssey: архитектура, настройка, мониторинг" Совсем недавно мы выпустили версию 1.0 нашего пулера соединений Odyssey. Он призван решить проблемы управления соединениям высоконагруженных...

Погружение в автотестирование на iOS. Часть 1. Как работать с accessibilityidentifier объектов Всем привет!Меня зовут Борис. Я AQA iOS-engineer в Vivid Money.Это вступительная статья, в цикле статей по iOS-автоматизации, в которых хочется рассказать о пользе ui-тестов на проекте, их эффективном использовании и написании.Данная статья будет полезна начинающим iOS-автом...

Изменить сохранения Spark Часть вторая: реализация партишенера Изменить сохранения Spark! Часть вторая: реализация партишенера! Читать далее

iPhone 9 будет стоить как iPhone SE. Как он выглядит? Это iPhone 8. iPhone SE 2 (iPhone 9) будет очень похож на него Кого ни спроси — все хотели бы, чтобы Apple предложила ценовое решение для iPhone в районе 400 долларов (около 30 000 рублей с учетом НДС). В основном эта инициатива исходит от тех, кто помнит времена, когд...

Укрощение Горыныча 2, или Символьное исполнение в Ghidra С удовольствием и даже гордостью публикуем эту статью. Во-первых, потому что автор — участница нашей программы Summ3r of h4ck, Nalen98. А во-вторых, потому что это исследовательская работа с продолжением, что вдвойне интереснее. Ссылка на первую часть. Добрый день! Прошлого...

Мониторим основные сервисы в AWS с Prometheus и exporter’ами для CloudWatch Если вы используете в облачных провайдерах managed-инсталляции серверных служб вроде RDS или ElastiCache от AWS, то несомненно задавались темой мониторинга инфраструктуры, а главное — оповещений по произошедшим инцидентам. При реализации возникают понятные вопросы: Как можно...

[Из песочницы] О проблемах транслятора Python и переосмысление языка — Сколько нужно архитекторов, чтобы реализовать язык программирования? — Сто. Один будет писать реализацию, а 99 — говорить, что могут сделать лучше. В этой статье я хочу затронуть не столько сам язык, сколько детали реализации CPython и его стандартной библиотеки, которые г...

Обзор Chrome DevTools. Решаем основные задачи веб-разработчика Мы продолжаем цикл статей об инструментах разработчика — Chrome DevTools. В первых двух частях мы уже познакомились с вкладками Elements, Console, Sources и Network и разобрались с их основными функциями.Но воз...

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

Практические истории из наших SRE-будней. Часть 4 Это уже четвёртая в общей сложности, но первая в 2021-м году подборка занятных случаев из нашей практики эксплуатации разнообразной инфраструктуры. Она затронет такие технологии, как ClickHouse вместе с ZooKeeper (в их контексте также напомню про недавно описанную нами авари...

GameDev: Империя Соблазна – Часть 1 Приветствую! Хочу поделиться историей о том, как меня, обычного «офисного клерка», затянуло в GameDev, постепенно превратив в инди разработчика. Возможно, кто-нибудь сочтет это интересным и даже возьмет на заметку, прежде чем утонуть во всей этой теме игровой индустрии. Это...

Renesas перенесет производство микросхем для автомобилей на другую фабрику Компания Renesas Electronics перенесет производство полупроводниковых изделий для автомобильной электроники на фабрику в префектуре Эхимэ на западе Японии. Такое решение принято в связи с приостановкой работы предприятия в префектуре Ибараки, пострадавшего в марте из-за...

Компиляция математических выражений Хочу рассказать свою реализацию компиляции математических выражений. Будем компилировать в функцию от произвольных аргументов. В планах:1. Арифметические операции, тригонометрия, и другие численные функции.2. Булева алгебра (логика), логические операторы (и, или, и т. д.), а...

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

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

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

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

Оля, тесты и фабрика — путь к красивой архитектуре и чистоте кода В автоматизации тестирования существует много разных подходов, решений и способов. Самый распространенный и незаменимый —  паттерн Page Object (Screen Object). Я столкнулась с двумя подходами при работе с этим паттерном: c фабрикой для своих page object-ов и без нее. В этой ...

[Перевод] Android Bluetooth Low Energy (BLE) — готовим правильно, часть #1 Тестовый текст Читать далее

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

Новые ядерные реакторы на Кольской АЭС-2 На днях были озвучены планы по строительству новых энергоблоков Кольской АЭС-2. Они придут на смену уже отработавшим к тому времени по 60 лет реакторам первой очереди АЭС. Самое интересное что выбрано им на замену - это энергоблоки ВВЭР-С со спектральным регулированием, кото...

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

Как удалить звук (аудиодорожку) из видео на Mac Если понадобилось удалить всю или часть аудиодорожки с видеофайла и вы являетесь счастливым обладателем Mac, то для этой цели отлично подойдут фирменные бесплатные инструменты от Apple — QuickTime Player или iMovie. В этом материале мы расскажем как это сделать. ♥ ПО ТЕМЕ: 6...

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

Deepfake. Реализация технологии замены лиц в видео. Часть 1 Deepfake. Выбор архитектуры для реализации. Autoencoder vs GAN. Читать далее

Наша с девушкой первая видеоигра. Разработка на Unity. Часть 2 У-у-у… Кто обитает на дне океана? Cubicity — квадратная игра. Привет всем, кто ждал продолжения первой части нашей статьи. Настало время подвести итоги релиза Cubicity. Это был долгий путь с довольно полезным хоть и местами болезненным опытом, которым хотим с вами поделитьс...

[Перевод] Мой второй год в качестве независимого разработчика Иллюстрация Лорейн Йоу. Суслик-талисман языка Go адаптирован из работ Рене Френч Два года назад автор этой статьи Майкл Линч (Michael Lynch) уволился с должности инженера-программиста в Google, чтобы начать собственный бизнес (см. статью «Почему я ушёл из Google и начал ра...

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

Где вводят официальные рекомендации для защиты домашнего Wi-Fi — инициативы Сингапура и ЕС Власти Сингапура объявили об очередном этапе реализации государственной ИБ-стратегии. Разбираемся, в чем состоят их предложения, где еще обеспокоены безопасностью домашнего интернета и что хотели бы предпринять для защиты граждан от действий злоумышленников.P.S. На днях мы р...

Самые интересные фичи Parallels RAS Продакт-менеджер Parallels Евгений Корепанов рассказал о наиболее интересных фичах решения по доставке приложений и инфраструктуры виртуальных рабочих столов Remote Application Server и его основных конкурентных преимуществах. Далее рассказ от первого лица. Enjoy! Paralle...

Лучший планшет Lenovo. Lenovo Tab M10 Plus TB-X606F 64Gb (2020) В последнее время планшеты компании Lenovo стали пользоваться невообразимой популярностью, так как пользователям нравится соотношение цены к качеству данного производителя. Мы решили рассказать о лучших моделях компании на рынке планшетов. Lenovo Tab M8 TB-8505F 32Gb (2019) ...

Лучший планшет Lenovo. Lenovo Tab M10 Plus TB-X606F 64Gb (2020) В последнее время планшеты компании Lenovo стали пользоваться невообразимой популярностью, так как пользователям нравится соотношение цены к качеству данного производителя. Мы решили рассказать о лучших моделях компании на рынке планшетов. Lenovo Tab M8 TB-8505F 32Gb (2019) ...

Лучший планшет Lenovo. Lenovo Tab M10 Plus TB-X606F 64Gb (2020) В последнее время планшеты компании Lenovo стали пользоваться невообразимой популярностью, так как пользователям нравится соотношение цены к качеству данного производителя. Мы решили рассказать о лучших моделях компании на рынке планшетов. Lenovo Tab M8 TB-8505F 32Gb (2019) ...

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

Пишем онлайн-радио на языке Vala Привет всем! В своем первом посте я хочу рассказать о создании простого радио на языке Vala. Я ни разу не программист, а скорее любитель и все свои разработки я писал на Java, но так как на компьютере использую GNU/Linux, а именно старый добрый Debian, да еще на GNOME, то по...

Бесплатное решение для создания программного гибрида SSD и HDD на домашнем ПК Windows Tiered Storage Spaces Привет, Хабр! Уже много лет я читаю замечательные посты, и, кажется, наконец нашел чем сам могу поделиться с сообществом. Сегодня я хотел бы рассказать про создание программного гибридного локального диска SSD и HDD на настольной версии Windows и его тестирование. Впер...

Как улучшить работу устройств Apple с компьютерами на Windows Как известно, синхронизация данных пользователей iPhone и iPad с компьютерами Mac происходит через фирменный сервис iCloud. Магия экосистемы Apple здесь раскрывается во всей своей красе. Но вот только далеко не все пользователи iPhone покупают себе Mac’и. Подавляющее ...

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

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

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

HashiСorp Vault & Kubernetes Secret: используем vault-secrets-operator Vault от HashiСorp — довольно известное open-source-решение для хранения секретов и неплохая альтернатива реализации секретов в Kubernetes. Vault использует свой сайдкар-контейнер на каждом поде, который получает секреты из хранилища и доставляет их в под или же реализует до...

Как мы провели Hack and Learn Initiative CTF В декабре 2020 года, за неделю до нового года, компании Semrush и Mail.ru Group решили провести совместное обучающее мероприятие по информационной безопасности в формате CTF. Причём тут разработчики, тестировщики и devops, зачем и почему – расскажем в этой статье. Чита...

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

Работа с Google BigQuery. Считаем деньги В данной статье мы хотели бы рассказать о том, как мы в команде Wargaming Platform знакомились с BigQuery, о задаче, которую необходимо было решать, и проблемах, с которыми мы столкнулись. Кроме того, расскажем немного о ценообразовании и об инструментах, имеющихся в BigQuer...

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

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

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

Делаем модем: передаем цифровые данные по воздуху с помощью OFDM и GNU Radio Привет, Хабр. Данный текст можно считать продолжением статьи "Разбираем звук Dial-up модема", в которой разбирался метод установки связи между модемами. Сегодня мы пойдем дальше, и посмотрим на практике как передаются данные, для чего создадим простую реализацию м...

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

По слухам Ubisoft готовит перезапуск Prince of Persia Ремейк одной из лучших частей Prince of Persia The Sands of Time выйдет 21 января 2021 года на PC, PS4 и Xbox One. Однако, это далеко не единственные новости о знаменитой серии. По словам индийского инсайдера Lazy Assassin, Ubisoft готовит полноценное продолжение серии. ...

ERP для собственников. Философское. Часть 1 Привет. Меня зовут Олег и я занимаюсь внедрениями систем управления предприятиями более четверти века.Я решил написать цикл статей на основе материалов моей книжки “ERP для собственников”, которая скоро появится в книжных магазинах.В первой статье я хочу поговорить о главной...

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

OAuth 2.0 -> OAuth 2.1. Что дальше? Архитекторы ничего не выдумывают. Они трансформируют реальность. Алваро Сиза Виэйра Много всего уже сказано и написано про фреймворк авторизации OAuth 2.0 с 2012 года. И, казалось бы, все давно его знают, используют, все должно работать надежно и безопасно. Но, как обычн...

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

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

[Перевод] Фольклор программистов и инженеров (часть 2) Продолжение подборки историй из интернета о том, как у багов иногда бывают совершенно невероятные проявления. Первая часть тут. Читать дальше →

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

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

[Перевод] Реализация epoll, часть 1 Сегодня мы публикуем перевод первой статьи из серии материалов, посвящённых реализации epoll в ядре Linux 3.16.1*. Автор исходит из предположения о том, что читатели знакомы с API и с использованием epoll. Он уделяет основное внимание реализации подсистемы epoll в ядре Linux...

Поговорим о централизованном логировании Эта статья – продолжение текста о мониторинге. Здесь предлагаю нам с вами поговорить о роли логов в оценке состояния наблюдаемой площадки, посмотреть, что они способны нам дать, а также затронуть вопрос – «можно ли отрывать логи от метрик?».По ходу дела я буду возвращаться к...

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

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

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

Перенесена дата релиза многопользовательского слэшера Chivalry 2 На E3 2019 нам представили симулятор средневекового рыцаря Chivalry 2. Тогда считалось, что проект выйдет в 2020 году на PC в качестве эксклюзива Epic Games Store. Если последнее заявление остаётся правдой, то вот выход игры был на днях перенесён. Разработкой проекта занима...

Как сделать самодельный электрический багги с мощным мотором. Часть 2. Электрика, колеса, первый запуск и выезд Всем привет.Прошло около недели после нашего последнего поста, где мы рассказали о концепции нашей задумки и о первых этапах сборки. Кто пропустил и кому интересно, то можете почитать здесь https://habr.com/ru/post/551750/За эти 2 недели работы мы сильно продвинулись дальше ...

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

Samsung и LG фактически уходят с рынка ЖК-панелей Источники сообщают, что Samsung и LG планируют продать основную часть своих производственных мощностей, которые занимаются выпуском ЖК-панелей. Общая стоимость индустрии, производящей ЖК-панели, составляет 106 миллиардов долларов. При этом суммарная стоимость ЖК-произво...

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

Оптимальный чехол для Xiaomi Poco F2 Pro Очень часто пользователи не знают, как выбрать чехол для Xiaomi Poco F2 Pro, на что стоит обращать своё внимание, а какие элементы можно смело пропустить. Это действительно важный процесс, так как смартфон без дополнительных аксессуаров достаточно плохо справляется со своими...

Из Unity в Godot. Первое впечатление Всем привет, последние года три мое основное хобби – создание игр. Не могу сказать, что я добилась чего-то сверхъестественного, но в Steam есть две мои игры (горжусь самим фактом доведенных до конца проектов, но сейчас многое в них уже поменяла бы). И обе эти игры сделаны на...

Реставрация ноутбука Commodore 286LT Мы в Software & Computer Museum любим старые компьютеры. И особенно нам нравится, когда они работают. Сегодня хочу поделиться историей, как мы реставрировали ноутбук Commodore 286LT. У него было довольно много проблем и я расскажу о решении каждой из них. Читать далее

Реализация архитектуры Redux на MobX. Часть 1: «Проблемные места Redux» Эта часть статьи будет об осмыслении составляющих Redux. Так ли они необходимы, что является их аналогом. Также будет предложена более удобная альтернатива хука useReducer.На самом деле, я не буду воспроизводить Redux. Вместо этого, в следующей части будет описано, как спро...

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

Backup as a Service: три пути решения одной задачи Перефразируя известного киногероя, «Бэкапы — это хорошо. Бэкапы — это надежно». И чем больше опций для создания резервных копий есть у провайдера, тем лучше: клиенты получают возможность выбрать ровно то, что требуется бизнесу, ни больше, ни меньше.В облаках «ИТ-ГРАД» и #Clo...

Роль QA Lead в продуктовой компании: особенности и зоны ответственности QA Lead в Miro отвечает за стратегию качества большой части продукта, реализацию крупных инженерных инициатив и развитие QA-инженеров.Я как Head of QA расскажу о зонах ответственности QA лида, но прежде кратко расскажу о наших структуре разработки и процессе обеспечения каче...

Power-line communication. Часть 2 — Основные блоки устройства В первой части статьи мы кратко ознакомились с основными понятиями при передаче данных по линиям электропередач. Узнали, что такое “полезный сигнал”, как с его помощью можно кодировать передаваемую информацию. Но ни слова не было о том, как это устройство должно быть выполне...

Бабло побеждает, часть 1 «Чудеса существуют» Продолжение истории Московского завода полиметаллов, https://habr.com/ru/post/554096/ https://habr.com/ru/post/554758/История Московского завода полиметаллов, для автора, началась летом 2018 года, когда появился первый набросок проекта Южная рокада. Тогда никто не предполаг...

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

Как мы обновляли мобильное приложение для официантов: выбор стека и тест трех версий. Кто победил? Привет! Меня зовут Сергей Арсёнов, я руковожу мобильной разработкой в компании r_keeper. Хочу рассказать, как мы обновляли мобильное b2b-приложение для официантов и почему выбрали для него не совсем классический стек — Kotlin Multiplatform Mobile + UI на Flutter. Читать дале...

Интеграция устройства в экосистему Samsung SmartThings на примере «Умного чайника» Часть 2: переход с ESP8266 на ESP32 В первой части статьи на примере “Умного чайника” я описал процесс разработки приложения, интегрированного в экосистему SmartThings. В этой части я усложняю пример: добавляю датчик температуры и делаю плавную индикацию RGB-светодиода. Я опишу, чем отличаются ESP8266 и ESP32,...

Пишем простейший GitHub Action на TypeScript Недавно я решил немного привести в порядок несколько своих .NET pet-проектов на GitHub, настроить для них нормальный CI/CD через GitHub Actions и вынести всё в отдельный репозиторий, чтобы все скрипты лежали в одном месте. Для этого пришлось как следует изучить документацию,...

Готовим высокодоступный memcached с mcrouter в Kubernetes В одном из проектов мне пришлось столкнуться с классической ситуацией: нагрузка со стороны приложения на реляционную БД была чрезвычайно высока из-за большого RPS (requests per second). Однако реальный процент уникальных данных, извлекаемых приложением из БД, был относительн...

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

FaaS и serverless-решения на примере PoC kubeless-функции Первая ассоциация, которая приходит при упоминании serverless-решений это облачные решения вроде AWS Lambda, Azure Functions или Google Functions, а на российском рынке Yandex Cloud Functions. У них имеются определенные бесплатные лимиты и это подкупает. В случаях когда вы у...

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

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

Сервер Игры на MS Orleans — часть 1: Что такое Акторы Привет Хабр! И так, на четырнадцатый день копья решил я значит начать делать простенький игровой сервер для простой онлайн стрелялки. За одно тему распределенных вычислений затронуть. В этой вводной статье цикла хочу рассказать что такое акторы (в Орлеанс их зернами называ...

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

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

Дополняя SQL. Часть 2. Оптимизация работы со строками и открытия файлов Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight. Что будет в этой статье? Это вторая статья в цикле о жизни разработчиков IDE для баз данных. Ее структура будет похожа на первую. Как и в первой я расскажу о проблемах с которыми мы сталкивались...

Под капотом OpenVINO (Intel Neural Stick) Привет, Habr! Сегодня я хочу рассказать немного об аппаратном ускорителе Neural Compute Stick. Расскажу с точки зрения hardware-разработчика. Известно, что OpenVINO взаимодействует с Neural Compute Stick, а сердцем самого стика является чип Movidius Myriad X. Некоторые ...

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

[Из песочницы] Реализация алгоритма определения ширины объекта с помощью ультразвукового дальномера и энкодеров на языке RobotC Доброго дня! Сегодня я бы хотел поделиться реализацией алгоритма определения ширины объекта с помощью ультразвукового дальномера и энкодеров на языке программирования RobotC (с использованием платформы VEX EDR). Предистория Недавно, мне предложили провести мастер-класс на ...

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

Скорость сборки в iOS Всем привет! Меня зовут Юра, я – iOS-разработчик в hh.ru. В этой статье мы рассмотрим с одну из важнейших метрик для IOS-разработчика – скорость сборки. Я расскажу о том, как мы собираем эти метрики и что потом с ними делаем, и почему мы вообще решили всё это измерять. Видео...

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

Обзор Check Point Secure 2020 Приветствуем читателей блога от TS Solution, с 10 по 11 ноября 2020 года состоялось виртуальное мероприятие Check Point Security 2020, которое собрало 1000 участников из России и стран СНГ. Мы решили рассказать вам о нем в виде обзора, наверняка были и те, кто пропустил данн...

Почему не все ошибки надо исправлять, чтобы сделать ИТ-продукт лучше Данный материал подготовлен нашим партнером — компанией «Эквио». 2+2=3 2+2=5 2+2=4 Покупая ИТ-продукт для решения тех или иных корпоративных задач, бизнес-заказчики чаще всего задумываются о его стоимости, функциональности, удобстве, интеграционных возможностях и т.д. ...

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

pg_obfuscator — обфускатор для postgres с сохранением распределения данных (на основе clickhouse obfuscator) Что делать если перед вами стоит задача нагрузочного тестирования, в проекте используется postgres и хранятся персональные данные раскрытие которых недопустимо?В этой статье мы поговорим, как готовить обфусцированные данные, чтобы тестовая база вела себя максимально похоже н...

[Перевод] Марк Андриессен: Настало время создавать самим (It's Time to Build) Все западные учреждения не были готовы к пандемии коронавируса несмотря на множество предшествующих предупреждений. Этот грандиозный провал институциональной эффективности будет отдаваться в течение остатка десятилетия, но уже не рано спрашивать, почему и что мы должны с э...

Статическая подписка с использованием шаблона Наблюдатель на примере С++ и микроконтроллера Cortext M4 Всем доброго здравия! В преддверии Нового года хочу продолжить рассказывать про использование С++ на микроконтроллерах, на этот раз попытаюсь рассказать про использование шаблона Наблюдатель (но далее я буду называть его Издатель-Подписчик или просто Подписчик, такой вот ка...

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

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

Инкапсулятор Etherblade.net и импортозамещение сетевых компонентов (часть вторая) В первой статье я хотел показать, что FPGA девелопмент — интереснейшее занятие, а реализация потокового инкапсулятора является достаточно несложным проектом, который вполне мог бы выступить в качестве академического проекта для студентов старших курсов или аспирантуры. Да...

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

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

Пишем ИИ для игры Гомоку (5 в ряд) Разрабатывая браузерную игру Гомоку (5 в ряд) на языке JavaScript, я столкнулся с необходимостью реализации компьютерного противника (ИИ). В данной статье кратко описаны основные компоненты ИИ, а также приведено сравнение алгоритмов поиска Negamax, NegaScout и MTD-F.Основные...

Войны лоббистов и развитие BIM. Часть 3: Отцы BIM технологий. Кто стоит за успехом Autodesk и openBIM? В этой статье мы осветим работу всех основных отцов BIM технологий, которые в 80-е и 90-е разрабатывали инструменты для автоматизированного проектирования. Разберём также, кто стоит за успехом организации buildingSMART и таких корпораций, как Nemetschek Group и Autodesk и по...

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

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

Google Duo - всё: Google хочет убрать приложение для ... Google решил удалить Google Duo из Play Store – теперь основным для компании сервисом видеосвязи станет Meet.   Как бы иронично это не звучало, но Google решила похоронить еще один свой проект. Google – компания, которая создает и уничтожает столько проекто...

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

TeamLead Conf 2021: последствия коронавируса, удаленка и доклады не только про IT До единственной профессиональной конференции только для тимлидова TeamLead Conf 2021 осталось совсем немного — 29 и 30 апреля она распахнет свои двери для всех, кто хочет повысить скилл в сфере управления. В этой статье мы приоткроем завесу тайны и расскажем о том, что вас ж...

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

KleinComputer KC 85/4 — модульность из прошлого "О, сколько нам открытий чудных готовит мир Z80-ых систем." Процессор Z80 был по истине гениальным, позволившим огромному количеству производителей электроники войти в мир компьютеров со своими вариантами домашних и не только систем. Не стал исключением и немецкий ...

Лестница Ханта: что это, зачем и почему ведет «не туда» Лестница Ханта (awareness ladder) — это модель, которая описывает путь клиента по уровням осознания решения своей проблемы. Она подсказывает какой следующий аргумент, убеждающий в покупке, клиент готов и хочет услышать. Посмотрим как лестница Ханта справляется со своей ...

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

Новые стандарты DevSecOps и GitLab Довольно много дебатов ведется относительно того, какой термин более правилен: DevSecOps, SecDevOps, или же вообще "sec" часть этого термина является лишней. В этой статье хотел бы поделиться тем, каким мы видим ответ на это вопрос в компании GitLab, а также расскажу о наших...

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

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

OpenCV в Python. Часть 3 Привет, Хабр! Это продолжение туториала по библиотеке opencv в python. Для тех кто не читал первую и вторую части, сюда: Часть 1 и Часть 2, а всем остальным — приятного чтения! Читать дальше

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

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

Изучаем ELK. Часть III — Безопасность В первой и второй частях данной серии была описана процедура установки и настройки кластера Elasticsearch, Kibana и Logstash, но никак не освящался вопрос безопасности.На борту стека ELK имеется широкий функционал, который позволяет организовать ролевую модель доступа, шифро...

Детекция аномалий на снимках с БПЛА Medium postОсенью мы с друзьями участвовали в хакатоне DIGITAL SUPERHERO от организаторов хакатона ИТС и СЦ, о котором я писал в статье. Хакатон проходил с 18 по 23 сентября 2020 года. Мы выбрали задачу Распознавание аномалий (объектов и инцидентов) на фотоматериал...

Ещё одна статья «Как я сдавал PMP». Online. Лайфхаки Привет! Меня зовут, Дмитрий, и я сдал экзамен PMP в 2020 г., онлайн. В своей статье я хочу поделиться субъективным мнением про методику подготовки к экзамену и тех мелочах, которые я хотел бы знать до начала подготовки. Без воды. Статья не содержит неэтичных способов подго...

Фабрика в Аризоне еще не построена, но TSMC уже рассматривает возможность ее расширения Компания TSMC планирует построить еще несколько фабрик по производству микросхем в американском штате Аризона сверх одной, запланированной в настоящее время. Об этом Reuters сообщили три источника, знакомые с вопросом. Крупнейший в мире контрактный производитель микросх...

Инициализация Rx цепочки Всем привет, меня зовут Иван, я Android-разработчик. Сегодня хочу поделится своим опытом работы с RxJava2 и рассказать, как происходит инициализация цепочки. Почему я вообще решил поднять эту тему? Пообщавшись со знакомыми разработчиками, я понял, что не каждый кто используе...

МГЛ (ДРИ) дома, долгий путь к совершенству Изучение данного материала, очень советую начать с моих прошлых статей про МГЛ - один, два, три.Игры играми, но очень хочется получить "идеальный" источник света, с правильным светораспределением и приятным спектром, именно с этого я и хочу начать данный цикл статей.Часть 1 ...

Yggdrasil Network 0.4 — Скачок в развитии защищенной самоорганизующейся сети Продолжение статьи "Yggdrasil Network: Заря бытовых меш-сетей, или Интернет будущего".Если вы знакомы с сетью, либо читали предыдущую статью, должно быть знаете о феномене «сетевых штормов», которые всплыли при расширении Yggdrasil и явились основным слабым местом протокола....

iresine, нормализация данных на клиенте Нормализация. От нее мы или страдаем или пишем собственное решение с множеством проверок на существование сущности в общем хранилище. Попробуем разобраться и решить эту проблему! Читать далее

Fortinet Single Sign-On. Описание технологии Приветствуем! На протяжении всего времени нашей работы с решениями компании Fortinet, а в частности с межсетевым экраном нового поколения FortiGate, одним из самых интересующих вопросов является контроль и отслеживание трафика отдельных пользователей или групп пользователей....

Как мы делали универсальный сервис подписания для инфраструктуры Госуслуг на C и GO. Часть 2 Это вторая часть статьи, посвященной универсальному сервису подписания для инфраструктуры Госуслуг. Первая часть статьи была посвящена GO-части нового сервиса, в которую входит конфигурирование, тестирование, ресты, файловый менеджер и планировщик. Всему тому, что происходит...

Новая часть серии платформеров Crash Bandicoot 4: It's About Time завоевала признание критиков - игру называют первым достойным продолжением оригинальной трилогии До первого нормального продолжения поклонникам пришлось ждать больше 20 лет.

Начинаем работу с Zynq 7000. Пособие для начинающих Совсем недавно мне в руки попался один из вариантов отладочной платы с SoC Zynq XC7Z020. Поискав в Интернете материалы, а-ля how-to, и попробовав накидать свой минимальный проект обнаружил, что есть целый ряд подводных камней. Именно об этом я и хотел бы рассказать в статье....

Деплоим проект на Kubernetes в Mail.ru Cloud Solutions. Часть 2: настройка и запуск приложения для транскрибации видео Это продолжение практикума по развертыванию Kubernetes-кластера на базе облака Mail.ru Cloud Solutions и созданию MVP для реального приложения, выполняющего транскрибацию видеофайлов из YouTube. Я Василий Озеров, основатель агентства Fevlake и действующий DevOps-инженер...

Деплоим проект на Kubernetes в Mail.ru Cloud Solutions. Часть 3: мониторинг приложения, CI/CD и собственный Helm-чарт Это продолжение практикума по развертыванию Kubernetes-кластера на базе облака Mail.ru Cloud Solutions и созданию MVP для реального приложения, выполняющего транскрибацию видеофайлов из YouTube.  Читать далее

SafetyNet Attestation — описание и реализация проверки на PHP В эту тему пришлось детально погрузиться во время работы над обеспечением стандартных механизмов верификации устройств для разных мобильных платформ. Задача сводилась к разработке полноценной реализацию проверки JWS-токенов по протоколу SafetyNet на серверной стороне.После м...

Компания Aspen Technology выводит анализ производительности на новый уровень для реализации концепции интеллектуального предприятия Решение Aspen Enterprise Insights™ для визуализации и контроля рабочих процессов предоставляет данные, которые помогут оптимизировать производство Aspen Technology, Inc. (NASDAQ: AZPN), компания-разработчик программного обеспечения для оптимизации производственных акт...

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

Эпические кампании и кооперативные миссии: Blizzard рассказала о том, что должно быть в потенциальной StarCraft 3 Недавно знаменитой стратегии StarCraft 2 исполнилось десять лет, в честь чего разработчики выпустили крупное обновление. Воспользовавшись поводом, издание US Gamer взяло интервью у дизайнера из Blizzard Entertainment Райана Шуттера (Ryan Schutter). В разговоре он рассказал о...

Ретроспектива. BlackBerry Всем привет. В своей прошлой статье я рассказывал о последнем творении компании BlackBerry — BB OS 10. Судьба этой операционной системы сложилась не совсем удачно. На данный момент по популярности она уступает даже Windows Phone. Спустя несколько лет после выхода OS 10 расте...

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

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

Как справиться с Debezium + MySql + Spring Could Streams, Part 1 Добрый день, Хаброжители!Это моя первая статья на Хабре, любые замечания, предложения, пожелания приветствуются!В этой статье (часть 1), я попытаюсь рассказать и показать как поднять и настрить stand along Debezium CDC + MySql server. Читать далее

Как я участвовал в IOCCC-'19 (и проиграл). Часть 2: «Симулятор NOR» Это вторая часть цикла статей о том, как я участвовал в IOCCC'19 Как я участвовал в IOCCC-'19 (и проиграл). Часть 1: «Крестики-нолики» Как я участвовал в IOCCC-'19 (и проиграл). Часть 2: «Симулятор NOR» Я надеюсь, что данная статья поможет вам при разборе чужого кода и...

Токен авторизации на примере JSON WEB Token Доброго времени суток, дорогой читатель. В данной статье я постараюсь рассказать об одном из самых популярных (на сегодняшний день) способов авторизации в различных клиент-серверных приложениях - токен авторизации. А рассматривать мы его будем на примере самой популярной реа...

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

[Перевод] Как мы взломали шифрование пакетов в BattlEye Недавно Battlestate Games, разработчики Escape From Tarkov, наняли BattlEye для реализации шифрования сетевых пакетов, чтобы мошенники не могли перехватить эти пакеты, разобрать их и использовать в своих интересах в виде радарных читов или иным образом. Сегодня подробно расс...

Возрождаем легенду – Зоркий-4, часть 2 Всем привет!Большое всем спасибо за интерес к статье, мне очень приятно.В прошлой статье я рассказал о техническом состоянии фотоаппарата и его восстановлении, сегодня я расскажу о его внешнем виде, стеклянной струе и кривых руках. Читать далее

Еще немного про использование VPN в Билайн Привет! В этой статье я расскажу о ещё двух вариантах VPN, используемых нами для включения клиентов с помощью Мультисим Резервирования, это L2TP и L2-VPN. Первый используется для включения сервисов Интернет, второй для включения каналов L2 MPLS.Самый первый — L2TPИ...

Подключение Keycloak к Spring Boot приложению Привет Хабр!Как известно, spring OAuth2.0.x переведен в режим поддержки уже почти как 2 года назад , а большая часть его функциональности теперь доступна в spring-security (матрица сопоставления). В spring-security отказались переносить Authorization service (roadmap) и пред...

[Перевод] Оптимизируем производительность: JavaScript (V8) vs AssemblyScript (WebAssembly) Чтобы повысить производительность web-приложений, используйте WebAssembly в связке с AssemblyScript, чтобы переписать критически важные для производительности компоненты web-приложения, написанные на JavaScript. «И это действительно поможет?», — спросите вы. К сожалению, ...

Бог из машины: конвертировать лиды, проверить акварели. МО-кейсы GetCourse Привет, Хабр! Мы – GetCourse, SaaS-платформа для онлайн-школ. В прошлом посте мы поговорили об устройстве онлайн-школ. Сегодня хотим затронуть технический аспект нашей работы и рассказать о задачах, которые перед собой ставим и считаем достаточно сложными. Нам повезло работ...

Power-line communication. Часть 3 — Основные блоки устройства Во второй части статьи мы начали знакомиться с основными блоками устройства для передачи данных по PLC. Это будет заключительная часть статьи, которая касается описания железа.Осталось разобраться, что такое ZC детектор, на примере одной из его возможных реализаций. Посмотри...

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

[Перевод] Почему я выбрал Next.js, а не Gatsby, Gridsome или Nuxt? Мы, выбирая фреймворк для нового веб-проекта, обычно склонны останавливаться на инструментах, с которыми знакомы, не обращая внимания на то, насколько хорошо они подходят для этого проекта. Я же пробую поступать с точностью до наоборот. Всякий раз, когда у меня возникает так...

Быстрый прототип IIoT-решения на Raspberry PI и Yandex IoT. Часть вторая Это вторая часть из цикла статей про прототипирование IIoT-решения на Raspberry PI и Yandex IoT.В первой части мы реализовали основные функции на Raspberry PI:сбор телеметрии с промышленных датчиков по протоколу Modbus; их передачу в облако;локальный мониторинг процесса...

Как расширить Spring своим типом Repository на примере Infinispan Это моя первая статья, в ней я попытаюсь описать полученный мною практический опыт работы со Spring Repository под капотом фреймворка. Готовых статей про эту тему я в интернете не нашёл ни на русском, ни на английском, были только несколько репозиториев исходников на github,...

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

ML в облаке: как я попробовал Yandex DataSphere и почему его так непросто сравнить с Google Colab Привет, Хабр! Меня зовут Дмитрий (@pagin), и я специализируюсь на вопросах ускорения и уменьшения свёрточных сетей. Моя основная работа — распознавание автомобилей и классификация транспорта, поэтому я обучаю много небольших CNN и часто пользуюсь облачными сервисами для ML. ...

Monitoring as Code на базе VictoriaMetrics и Grafana Приветствую всех любителей Infrastructure as Code.Как я уже писал в предыдущей статье, я люблю заниматься автоматизацией инфраструктуры. Сегодня представляю вашему вниманию вариант построения GitOps для реализации подхода Monitoring as Code. Читать далее

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

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

Разработка hexapod с нуля (часть 10) — датчики касания Всем привет! Был сделан очередной шаг к реализации алгоритма адаптации к ландшафту. До текущего момента я не мог придумать оптимальное решение для определения состояния ноги: наступила она на землю или нет. И вот спустя пол года я случайно наткнулся на интересный датчик, при...

Технологии InterSystems обеспечивают взаимодействие и обмен данными в системе медицинского страхования Германии Решение HealthShare было выбрано для реализации DGUV Affinity Domain.

Существование Ryzen 7 3800XT подтверждено. Процессор впервые засветился в бенчмарке Несколько дней назад в Сети появились данные о том, что AMD готовит несколько обновлённых настольных CPU Ryzen 3000: Ryzen 9 3900XT, Ryzen 7 3800XT и Ryzen 5 3600XT. Они сохранят неизменным количество ядер, но частоты будут повышены. В частности, ранее для Ryzen 7 3800X...

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

Реактивное программирование на Java: как, зачем и стоит ли? Часть II Реактивное программирование — один из самых актуальных трендов современности. Обучение ему — сложный процесс, особенно если нет подходящих материалов. В качестве своеобразного дайджеста может выступить эта статья. На конференции РИТ++ 2020 эксперт и тренер Luxoft Training Вл...

Аномалии голосования по поправкам к Конституции России. Часть 2 Сcылка на первую часть Основная цель второй части — это детально исследовать феномен массового рисования (выдумывания) результатов голосования на конкретных примерах. Как и в первой части, все вычисления, визуализации и парсинг данных приведены в Google Colab, который доступ...

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

WSJ: Intel ведет переговоры о покупке производителя чипов GlobalFoundries за $30 млрд В 2008 году Intel и AMD пошли двумя разными путями: первая сохранила полный контроль над фабриками по выпуску чипов, а вторая решила выделить свой полупроводниковый бизнес в отдельную компанию под названием GlobalFoundries и выбрать модель контрактного производства. Теперь ж...

Плюсы интеграции Xiaomi Gateway 3 в Home Assistant Первая версия компонента XiaomiGateway3 для Home Assistant вышла 4 месяца назад, и с тех пор много всего изменилось. В прошлой статье я писал про создание компонента. А в этой статье расскажу, почему это решение так заинтересовало сотни пользователей. Читать далее

Множественные источники данных в интерфейсе — client-side «SQL» Иногда в интерфейсе наших приложений СБИС возникает необходимость "сгруппировать" часть записей в некотором списке (например, служебные сообщения в чате, контакты и телефонные звонки).Хорошо, если все эти записи приходят с одного источника, а вот если из разны...

Как заставить Arduino петь как ZX Spectrum. Часть 1: исторический экскурс ZX Spectrum 128 и его многочисленные клоны имели встроенный звукогенератор AY-3-8912, благодаря чему как зарубежные музыканты, так и наши соотечественники успели написать огромное количество музыки под этот компьютер.В двух частях этой статьи, приправленных щепоткой ностальг...

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

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

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

10. Fortinet Getting Started v6.0. Сопровождение Приветствую! Добро пожаловать на десятый, юбилейный урок курса Fortinet Getting Started. На прошлом уроке мы рассмотрели основные механизмы логирования и отчетности, а также познакомились с решением FortiAnalyzer. В качестве завершения практических уроков данного курса я х...

Новый фронтенд Одноклассников: запуск React в Java. Часть II Мы продолжаем рассказ о том, как внутри Одноклассников с помощью GraalVM нам удалось подружить Java и JavaScript и начать миграцию в огромной системе с большим количеством legacy-кода. Во второй части статьи мы подробно расскажем о запуске, сборке и интеграции приложений...

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

angelspie — управление окнами в X11, глобальные и не только горячии клавиши Название - отсылка к devilspie, похожей утилитой. Она примечательна тем, что конфиг пишется на диалекте лисп, несмотря на это у неё весьма ограниченные возможности. Тем более у утилит типа wmctl и т.п.С помощью библиотеки wnck можно делать куда больше, а ещё больше если заде...

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

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

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

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

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

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

Ещё больше строковых оптимизаций В продолжение своей предыдущей статьи о строках (напоминаю, это была текстовая версия доклада на ДжиПоинте-2020) решил дописать ещё одну заметку, куда вошли некоторые оптимизации, обнаруженные уже после вёрстки презентации. Читать далее

Как мы подбирали грузы для перевозчиков Добрый день. Нас зовут Илья Баштанов (разработчик, Точка-Точка) и Татьяна Воронова (аналитик данных, Центр 2М). И мы хотим рассказать о технической реализации задачи подбора грузов для перевозок. Суть задачи в следующем. На складе есть грузы, которые нужно перевезти из горо...

Как команда it-animals в финале Цифрового Прорыва выиграла Данная статья написана в соавторстве с тимлидом @RestlinВыбор кейса и наше видение его решенияИзначально выбор пал на кейс МВД: Разработка автономного программного решения лингвистического анализа и преобразования в тексте лица повествования.Формулировка кейса:Учитывая специ...

Поговорим про градиенты в Unity Всём привет. Меня зовут Григорий Дядиченко. Я в Unity разработке около 7 лет, и за это время повидал многое. Одна из основных проблем, которая встречается, когда забираешь у неопытных ребят проект - градиенты в интерфейсах. В целом ошибки в разработке интерфейсов не редкость...

Чистый девопс: как возникло и развивалось понятие «DevOps» В интернете есть уже тысячи споров о том, чем является DevOps. Мы решили подойти иначе: не навязывать вам точку зрения «понимайте это слово так-то», а оглянуться в прошлое и проследить историю его возникновения. Что привело к появлению DevOps? Какие люди первыми стали употре...

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

Контейнеризация понятным языком: хранение данных и безопасность в Kubernetes, зачем нужен Ansible В чём проблема с базами данных и как позаботиться о безопасности в Kubernetes? Как врубиться в Ansible? Ответы на эти и другие вопросы читайте в продолжении интервью Лекса АйТиБороды со старшим инженером Southbridge Николаем Месропяном и СТО «Слёрма» Марселем Ибраевым. Проч...

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

Из-за перебоев в работе фабрики Samsung в Техасе в дефиците теперь и контроллеры для NVMe-накопителей Недавняя остановка производства на фабрике Samsung в Остине оказала существенное влияние на полупроводниковую и компьютерную отрасли. Ранее сообщалось, что приостановка фабрики на одну неделю может затронуть обработку до 2% глобального количества 300-мм пластин. Но фактическ...

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

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

Почему следует избегать использования JPA/Hibernate в продакшене JPA безусловно самая распространённая технология работы с базами данных на платформе Java. Но она же и наименее пригодна для разработки быстрых и поддерживаемых систем. В этой статье я расскажу почему JPA лучше не использовать в продакшене и что можно использовать вместо неё...

Установите на свой Android-смартфон новые живые обои из ... Новые живые обои из MIUI 12 могут установить почти все желающие В этом году Xiaomi выпустила MIUI 12 — новую версию своей фирменной оболочки на базе Android. Одним из интересных элементов прошивки стали «суперобои». Последнее обновление MIUI 12 принесло с с...

Установите на свой Android-смартфон новые живые обои из ... Новые живые обои из MIUI 12 могут установить почти все желающие В этом году Xiaomi выпустила MIUI 12 — новую версию своей фирменной оболочки на базе Android. Одним из интересных элементов прошивки стали «суперобои». Последнее обновление MIUI 12 принесло с с...

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

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

Тернистый путь внедрения Swift Package Manager. Доклад Яндекса Доклад будет интересен iOS-разработчикам, которые хотят внедрить технологию Swift Package Manager (SPM) в существующий проект. Руководитель iOS-разработки Яндекс Go Вадим Белотицкий рассказал о причинах, по которым его команда решила внедрять SPM, и о решении возникших пробл...

Как мы просто сократили объем входящего в дата-центр трафика на 70% Хочу рассказать о том, как довольно простым лайфхаком мы радикально сократили объем входящего в дата-центр трафика, одновременно сделав жизнь пользователей нашего мобильного приложения чуть лучше и даже уменьшив расход заряда их батареи.Единственное, о чем мы пожалели — что ...

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

Подарки авторам Добрый день! Как и обещали, мы отобрали статьи с обзорами на наш пластик, которые нам наиболее понравились. И вместо двоих авторов решили выбрать троих. Ссылки на статьи авторов: https://3dtoday.ru/blogs/torontoss/obzor-plastikov-ot-my3dart https://3dtoday.ru/blogs/styx1984/...

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

[Из песочницы] Краткое сравнение архитектуры SDS или поиск подходящей платформы хранения (GlusterVsCephVsVirtuozzoStorage) Данная статья написана для того, чтобы помочь выбрать для себя подходящее решение и понять отличия между такими SDS как Gluster, Ceph и Vstorage (Virtuozzo). В тексте используются ссылки на статьи с более детальным раскрытием тех или иных проблем, поэтому описания будут мак...

Redmi 9C с NFC всего за 8 430 рублей доступен на Tmall Обычная цена Xiaomi Redmi 9C составляет 11 870 рублей, и первую часть скидки размером 3 015 рублей вы получаете, как только переместите товар в корзину. Не забудьте выбрать цвет корпуса устройства: оно предлагается к продаже в двух вариантах — Twilight Blue (ярко-голубой) и ...

Выбираем патентного поверенного У каждой инновационной компании рано или поздно возникает вопрос по выбору юридической фирмы для защиты своих прав на изобретения. В Parallels эта тема возникла в момент объединения портфелей патентов с Corel. И у Parallels, и у Corel были свои патентные поверенные. Был ва...

Самодельный стратостат. Часть 2 Long, long time ago… Нет, не так. 4 месяца назад я рассказал вам, как из клея и резиновых сапог создать с нуля свой стратостат с телеметрическим модулем и видеокамерой. Я так же описал наш опыт запуска и поиска этого метеозонда, обозначив несколько возникших проблем. Что ж....

Buck-boost преобразователь с цифровым управлением на STM32F334 в режиме CC/CV Наиболее популярные топологии dc/dc преобразователей buck и boost имеют существенное ограничение: топология buck может лишь понижать входное напряжение, а топология boost только повышает его. Однако бывают задачи, когда диапазон входного напряжения требует одновременно работ...

Использование Slack в обучении Немножечко расскажу почему стал использовать Slack в обучении. Не только про плюсы, но и про минусы. Читать далее

Первый Компьютерный ЕГЭ 2021 Всем привет! В этом году я закончил 11 класс и сдавал первый Компьютерный ЕГЭ. Знаю, что довольно поздно пишу статью об этом, но все равно хотелось бы высказать пару мыслей об экзамене и о своем опыте. Хочу рассказать о самом ЕГЭ по информатике, его изменениях, подготовке и ...

Всё про налоги для IT-фрилансеров. ИП и самозанятые. Часть 1 Раньше у IT-фрилансеров было только два варианта работать легально: зарегистрировать ИП на УСН или на патенте. С этого года появилась ещё одна альтернатива — стать самозанятым. Пока новый режим действует только в 4 регионах, но в 2020 году его планируют ввести на всей терри...

[Из песочницы] GSM IoT-провайдер в ЖКХ (Часть 1) Прочитал статьи автора Interfer о трудностях в Iot и решил рассказать о своём опыте IoT-провайдера. Статья первая не рекламная, большая часть материала без моделей оборудования. Постараюсь написать детали в следующих статьях. Не вижу проблем применения GSM модемов для сбо...

Обработка больших данных: первые шаги в понимании Hadoop MapReduce и Spark Привет, Хабр! Меня зовут Эмилия Межекова, я ETL-developer в компании Luxoft.Я расскажу о своём опыте работе с Big Data и почему Spark лучше, чем Hadoop MapReduce в обработке данных. Big Data как концепт довольно понятна, но из-за того, что она включает в себя множество проце...

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

Первые шаги в aiohttp, часть 3: публикуем приложение в Интернете Сегодня разберем заключительную часть цикла «Первые шаги в aiohttp». В первой статье мы создали и настроили проект, а во второй подключили базу данных. В этой части статьи мы рассмотрим размещение нашего веб-сервиса в Интернете, используя платформу Heroku.Асинхронное програм...

Лучшая СЖО. ID-COOLING ZOOMFLOW 240 Вариантов систем охлаждения на текущий момент очень много, большая их часть обладает достаточно приличным набором преимуществ, но и недостатков — тоже. Чтобы пользователь смог выбрать что-то из этого списка, нужно разбираться в массе элементов и параметров, а это умеют не вс...

Создание шутера с LeoECS. Часть 2 Друзья, это продолжение серии статей по созданию шутера с использованием фреймворка LeoECS. В этой части мы реализуем несколько новых игровых механик и рассмотрим механизм взаимодействия ECS "мира" с MonoBehaviour-ами. Перед прочтением этой части не забудьте ознакомиться с п...

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

Создаем CRUD API на Express и MySQL: часть вторая Всем привет. В преддверии старта курса «Разработчик Node.js», хотим поделиться продолжением материала, который был написан нашим внештатным автором. Всем еще раз привет. Мы возвращаемся к созданию приложения на Node.js и MySQL для небольшого todo — приложения на Node.js ...

Salt. О славном pillar'е замолвите слово В одной из наших прошлых статей Just add some Salt мы рассказывали, как мигрировали 700+ серверов на Salt. Мы поделились нашим опытом оптимизации Salt: как его применить и настроить без лишних усилий. Тогда мы только затронули тему пилларов, а сегодня хотели бы остановиться ...

Разработка hexapod с нуля (часть 9) — завершение версии 1.00 Всем привет! 2 года разработки, 9723 строчек кода и киллограмы пластика сделали свое дело — разработка гексапода подошла к заключительному этапу в рамках текущей версии. К этому этапу проект полностью перешел на красивые зеленые железки, слегка изменен дизайн и появилась тр...

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

WSL эксперименты. Часть 2 Привет, Хабр. В преддверии старта курса «Administrator Linux. Professional» публикуем продолжение статьи про WSL эксперименты, которую написал наш эксперт — Александр Колесников. Настало время для продолжения экспериментов с подсистемой WSL; первую часть статьи можно посм...

Black [O]lives Matter: раса, криминал и огонь на поражение в США. Часть 3 Продолжаем наше исследование, посвященное ситуации в США со стрельбой полицейских и уровнем преступности среди представителей белой и черной (афроамериканской) рас. Напомню, что в первой части я рассказал о предпосылках исследования, его целях и принятых оговорках / допущени...

Как мы выбрали архитектуру слоя представления на новом проекте и не прогадали Год назад я пришел в vivid.money третьим разработчиком. Несмотря на это, в проекте практически не было кода, а первые фичи только начинали разрабатываться. Уже тогда было понятно, что команда очень быстро значительно вырастет. Конечно, стоило сразу задуматься о том, как буде...

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

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

[Перевод] Service mesh — это всё ещё сложно Прим. перев.: эта небольшая статья Lin Sun из IBM в блоге CNCF — занятная иллюстрация тех сложностей, над преодолением которых сейчас трудятся инженеры популярных реализаций service mesh. С ними становится понятным, почему порог вхождения у этих продуктов остаётся довольно б...

Авторы Nioh пока не собираются готовить продолжение серии Серии решено устроить отдых. Продолжительный или нет — покажет время.

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

Tableau: визуализация данных для каждого Всем привет. На связи BI Office в Luxoft и я — Ксения Агеева, причастная к анализу и визуализации данных на протяжении последних семи лет. Меня часто спрашивают, зачем в моей жизни есть Tableau, если весь мир всё равно любит эксельные таблички. Так что я решила показать, как...

Форм-факт смартфонов снова меняется. Так может выглядеть Samsung Galaxy Z Fold 3 Как мы уже сообщали, южнокорейская компания Samsung работает над смартфоном, экран которого будет сгибаться в двух местах. Теперь же появились подробности о форм-факторе этого устройства. В данный момент Samsung уже выпустила смартфоны Galaxy Z Fold и Galaxy Z Flip, кот...

[Перевод] Быстро и гибко настраиваем  наблюдаемость с помощью канонических строк логов В постах на Хабре тема структурного логирования упоминается часто, но вскользь. Поэтому, когда я наткнулся на эту статью Brandur Leach из Stripe, я решил перевести её и поделиться с сообществом. Мне понравилось, что в статье есть и описания практической пользы от использован...

Холодная погода в Техасе и приостановка фабрики Samsung может затронуть обработку до 2% глобального количества 300-мм пластин В настоящее время в Техасе наблюдается нетипично холодная погода. Как сообщалось ранее, зимняя буря оказала существенное влияние на местный бизнес. Так как энергетическая система не была рассчитана на столь холодную погоду, в результате которой резко выросло потребление энер...

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

Как менялся рынок BI и почему мы решили создать свою BI платформу Я работаю в «Инфосистемы Джет» около 7 лет, большую часть из которых проектировал и внедрял BI-решения и системы, на них построенные: ситуационные центры, информационно-аналитические системы и всё, что создано, чтобы собирать и анализировать данные. За это время у меня нак...

Как настроить SSH-Jump Server Для работы с облачной инфраструктурой рекомендуется создавать SSH Jumpstation. Это позволяет повысить безопасность и удобство администрирования серверов. В этой статье мы расскажем, как настроить единую точку входа для подключений по ssh – SSH Jump Server. Для реализации выб...

Telegram бот на Firebase В основном, про Firebase рассказывают в контексте создания приложений под IOS или Android. Однако, данный инструмент можно использовать и в других областях разработки, например при создании Telegram ботов. В этой статье хочу рассказать и показать насколько Firebase простой и...

LG представит первый смартфон новой серии, который заменит G9 ThinQ Корейская LG решила отказаться от продолжения G-cерии, а вместо нее готовит совершенно новую линейку смартфонов. Местные СМИ выяснили, что презентация запланирована на 15 мая, а основой позиционирования его станет дизайн, что будет подчеркнуто не только визуально, но и самим...

Хранение видео в Yandex.Cloud Если вам нужно добавить на свой сайт видео, то может возникнуть вопрос, где его хостить и как потом раздавать. В этом посте разберем варианты и рассмотрим примеры использования Yandex Object Storage.Формат MP4 знаком, наверное, всем. Но если мы хотим показывать видео на сайт...

Приглашаем на DINS QA EVENING: работа с логами и функциональные возможности инструментов на базе CDP Раиса Липатова из DINS расскажет о том, почему тестировщику важно уметь работать с логами и как это делать эффективно. Александр Абрамов из Semrush поделится опытом выбора решения для тестирования производительности frontend.Участие бесплатное, но нужно зарегистрироваться.&n...

Представлены системные требования к Hitman 3 Компания IO-Interactive готовит продолжение истории об Агенте 47. Завершающая часть трилогии готовится Nordic. Эта игра будет доступна на игровых консолях и PC, причём первый год будет являться эксклюзивом Epic Games Store. Несмотря на то, что до выхода игры ещё много меся...

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

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

Лучший ноутбук для геймера. Xiaomi Redmi G Gaming Игровые ноутбуки пользуются повышенным спросом, так как пользователи иногда хотят играть не только дома. Да и геймерские ноутбуки на самом деле используют не только для игр, но и для работы с видео, для обработки фото и прочего контента. Но выбрать идеальный вариант на рынке...

Redmi может разочаровать фанатов Redmi K30 Pro 5G Вице-президент Xiaomi и глава бренда Redmi Лу Вейбинг (Lu Weibing) уже начал готовить общественность к гряжущему анонсу нового флагманского смартфона Redmi K30 Pro 5G. Вчера он провел в социальной сети Weibo голосование, в котором спросил, хотят ли фанаты видеть в Redmi...

Немного о графиках, сплайнах и генерации ландшафта Всем привет! Недавно я решил написать свой алгоритм генерации ландшафта для своих игр на игровом движке Unity 3D. На самом деле мой алгоритм вполне подойдет и для любых других движков и не только движков, так как использует только чистый C#. Делать это с помощью шума мне пок...

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

Валентин Калинин (Head of mobile в «Лиге Ставок»): Flutter – идеальное решение О том, почему была выбрана именно Flutter-платформа, какие в ней плюсы и минусы, рассказал Валентин Калинин Head of mobile, Team lead of outstanding development team в компании «Лига Ставок».

Работа с причинно-следственной диаграммой (CEDAC) в 3DLean Существует множество подходов работы с задачами, достижения целей, где в одной стороне директивные практики, где решение навязывается сверху и неохотно выполняется исполнителями, а в другой исполнители сами вовлекаются в процесс, ищут способы и тестируют их. Вот CEDAC – один...

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

[Из песочницы] Mikrotik RouterOS в Docker Всем доброго времени суток! В данной статье я хочу рассказать об одном OpenSource проекте под названием Docker RouterOS, изначально он был создан в качестве полигона для прогонки интеграционных тестов и ничего более, но со временем, по просьбе пользователей, был добавлен ряд...

[Перевод] Почему WSL 2 в 13 раз быстрее, чем WSL: впечатления от Insider Preview Microsoft готовит релиз Windows May 2020 Update (20H1). Это обновление будет содержать несколько приятных улучшений пользовательского интерфейса, но для разработчиков и других посвященных важнее то, что в новой версии Windows появится WSL 2 (Windows Subsystem for Linux). Это...

Почему ПМ часто проигрывают аналитикам, а те в свою очередь часто пасуют перед тестерами? Знакома ли вам такая картина описанная в названии статьи и задумывались ли вы над ответом на этот вопрос. Как ни странно один и тот же ответ может подходить для двух этих различных случаев. И там и там выигрывает тот кто правильно понимает и работает с требованиями. Но есл...

Способы хранения деревьев в реляционных базах данных c использованием ORM Hibernate Здравствуйте! В этой статье, я постараюсь кратко рассказать о четырёх достаточно известных способах хранения деревьев с указанием преимуществ и недостатков. На идею написать подобную статью подтолкнул, когда-то не раз заданный мне вопрос: "А как это будет в Hibernate?", то е...

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

Реактивное программирование на Java: как, зачем и стоит ли? Часть I Идея реактивного программирования появилась сравнительно недавно, лет 10 назад. Что вызвало популярность этого относительно нового подхода и почему сейчас он в тренде, рассказал на конференции РИТ++ 2020 эксперт и тренер Luxoft Training Владимир Сонькин. В режиме мастер...

Nuxt.js и поисковики. Решение проблем с СЕО для Google и Yandex Linkedin Пришлось мне как-то столкнуться с одной проблемой, а именно с проблемой, которая связана с отдачей ошибки после выката разных обновлений созданных на Vuejs + Nuxtjs в проде. Данная ошибка возникает чуть меньше чем на минуту, но роботы кэширует это дело на всех с...

Почему Viatti Bosco H/T подходят для внедорожников? С приходом весны главным для автолюбителей становится вопрос – какие шины выбрать на летний сезон? Чтобы помочь в решении этой задачи, ведущий автомобильного YouTube-канала «Dizzlike Channel» Павел Лаздин на «Haval H9» провел комплексные испытания летних 265/60R18 Viatti Bos...

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

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

[Перевод] Кодекс профессионального поведения GNU/Linux сисадмина Многие сисадмины работают с GNU/Linux, но лишь немногие проходят сертификацию в Linux Foundation и, наверное, ещё меньше читали правила на сайте Фонда. Поэтому я решил сделать перевод (местами вольный) «Кодекса профессионального поведения» (англ. Professional Code of Conduct...

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

Понимаем красно-черное дерево. Часть 1. Введение Довольно долгое время я воевал с красно-черным деревом. Вся информация, которую я находил, была в духе "листья и корень дерева всегда черные, ПОТОМУ ЧТО", "топ 5 свойств красно-черного дерева" или "3 случая при балансировке и 12 случаев при удалении ноды". Такой расклад меня...

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

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

Как мы накосячили пока делали Бриллиантовый чекаут™ и что из этого вышло В начале 2019 мы собрали аналитику по адресам в заказах и так получилось, что бо́льшая часть клиентов заказывает доставку на одни и те же адреса. При этом они не устанавливают отложенное время. Получается, они хотят получить заказ «туда же, куда и в прошлый раз и как можно б...

Linux exploits Операционная система Linux доказала миру всю силу Open Source проектов — благодаря ей у нас сегодня есть возможность заглянуть в исходный код рабочей ОС и на его основе собрать свою собственную систему для решения тех или иных задач. По причине своей открытости Linux до...

Zynq 7000. Собираем Linux и RootFS при помощи Buildroot Продолжаем изучение SoC Zynq 7000 и разбираемся с тем, как организовать подготовку, сборку Linux для отладочной платы QMTech. В прошлой статье я рассмотрел процедуру быстрой сборки (без кастомизации) основных компонентов встраиваемой системы Linux и шаг за шагом прошли путь ...

Подводные камни сбора метрик в Windows (часть 1) Привет! Уже довольно продолжительное время занимаюсь метриками в windows. Процесс сбора уже отлажен, и из памяти начинают уходить детали, а поэтому пора перенести полученные знания, так скажем, на бумагу. Статья будет про то, что было, что завезли, как с этим работать, каки...

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

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

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

Взгляд на ADAS изнутри: когда поедет робот? Сегодня мы хотим рассказать о направлении, с которого мы, Cognitive Pilot, исторически начали свои разработки в области создания беспилотных технологий, а именно отрасли automotive. Вообще эта сфера ставит перед разработчиками беспилотных систем наиболее интересные задачи: н...

Решения для защиты корпоративной и технологической сети: обзор продуктов Positive Technologies Коллеги, добрый день! Данная статья является отправной точкой в цикле статей по продуктам Positive Technologies. Первая часть будет посвящена MaxPatrol 8, а сегодня в рамках данной статьи мы поговорим о разнообразии продуктов и решений Positive Technologies и их совместно...

Sinopec запускает первый в Китае проект мегатонного масштаба по улавливанию углерода Создание модели искусственного углеродного цикла с целью достижения пика углеродных выбросов ПЕКИН, 6 июля 2021 г. /PRNewswire/ — Компания China Petroleum & Chemical Corporation (HKG: 0386, далее «Sinopec») приступила к реализации первого в Китае проекта ...

Разметка медицинских данных (DICOM) в Computer Vision Annotation Tool Привет, Мы хотим поделиться небольшой историей, почему наша команда разработки Computer Vision Annotation Tool заинтересовалась поддержкой разметки медицинских данных и какие трудности возникли в процессе, а также покажем, почему отзывы и детально описанные пользователями за...

Змейка, мышь и Гамильтон Добрый времени суток. Давайте научим компьютер играть в змейку. Собственно, это первая часть статьи о том, как можно попробовать решить эту задачку. Скажем так разминочная, перед основным боем. Читать дальше →

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

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

Подключение к платежному сервису — быстро и удобно. Миф или реальность? Часть 2 Всем привет! Совсем недавно мы рассказывали про внутреннюю кухню подключения к платежному сервису: как ускоряем и автоматизируем процессы в части заключения договора. А сегодня мы поговорим о технической стороне вопроса — об интеграции сайтов и сервисов с нашим платежным реш...

[Перевод] Мониторинг Kubernetes с помощью Prometheus и Thanos Поздравляем! Вам удалось убедить ваше начальство в миграции приложений на микросервисную архитектуру с использованием контейнеров и Kubernetes.Вы очень довольны и все идет по плану. Вы создаете свой первый кластер Kubernetes (у всех основных облачных провайдеров: Azure, AWS ...

Тестирование From Zero to Hero. Часть 1 Всем привет! Меня зовут Сергей, я работаю в команде Тинькофф. Сегодня я хочу рассказать, как мы в Тинькофф приходили к классической пирамиде тестирования. Рассказ будет в трех частях:- Трудности, с которыми нам пришлось столкнуться, и как мы их преодолевали.- Конкретные...

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

Dole Sunshine ускоряет реализацию программы Global Promise по целям до 2025 года Спустя год после запуска программы Dole отчиталась о ее результатах и планах изменить жизнь людей, планеты и способствовать всеобщему процветанию. СИНГАПУР, 12 августа 2021 г. /PRNewswire/ — The Dole Sunshine Company* опубликовала свой первый отчет о статусе целей...

Для чего нужна CRM. Личный опыт Над этим вопросом я задумался ещё до того, как стал работать менеджером по продажам в первый раз. Свою карьеру в продажах я начал с холодных продаж в b2b. Продавал автомобильные краски и товары для кузовного ремонта.Так вот задумался я над CRM ещё тогда, когда не знал что он...

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

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

Билайн Бизнес обеспечил Telefonica International Wholesale Services связью в Подмосковье Билайн Бизнес оперативно решил поставленные партнером задачи: согласование условий подключения и реализация проекта, в том числе монтаж оборудования, заняли менее одной недели. Полоса пропускания в каждой точке составила около 10 Мбит/с, что является достаточным показателем ...

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

Что нужно знать об архитектуре ClickHouse, чтобы его эффективно использовать. Алексей Зателепин (2018г) ClickHouse — высокопроизводительная аналитическая база данных с открытыми исходниками, разработанная в Яндексе. Изначально ClickHouse создавался для задач Яндекс.Метрики, но постепенно нашёл множество применений как внутри Яндекса, так и в других компаниях. Я расскажу, как C...

Настройка Microsoft Windows Server 2016/2019 для предоставления DHCP сервисов для VXLAN (DFA) Назначение этой статьи – упростить настройку DHCP сервиса для фабрики VXLAN BGP EVPN and DFA с использованием Microsoft Windows Server 2016/2019. В официальной документации DHCP сервис на базе Microsoft Windows Server 2012 для фабрики настраивается как SuperScope, содержащ...

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

Запустилась первая в мире фабрика по производству искусственного мяса Как стало известно, компания из Израиля Future Meat Technologies наконец-то запустила фабрику по производству искусственного мяса. Предприятие стало первым подобным на планете. Оно будет каждый день производить до 500 кг «курятины», «свинины» и «баранины».

[Перевод] Вот так выглядит нейросеть без фреймворков Чтобы лучше понять глубокое обучение, Data Scientist из Hewleet Packard написал нейросеть только при помощи NumPy. Знать свои инструменты необходимо любому специалисту, поэтому наш курс по науке о данных включает раздел «Математика для Data Science». Под катом вы найдёте не ...

SSD против HDD и RamDisk, и почему Windows 7 лучше Windows 10. Дополнение Это дополнение к основной части обзора, оно было создано по причине большого объема собранных результатов, их было решено вынести в отдельную часть обзора.

Функциональное программирование на TypeScript: Option и Either Предыдущие статьи цикла: Полиморфизм родов высших порядков Паттерн «класс типов» В предыдущей статье мы рассмотрели понятие класса типов (type class) и бегло познакомились с классами типов «функтор», «монада», «моноид». В этой статье я обещал подойти к идее алгебраических...

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

[Перевод] Приложение отвечает: как мы уменьшили количество ANR-ошибок в шесть раз. Часть 1, про сбор данных Пожалуй, одна из худших проблем, которая может случиться с вашим приложением, — ошибка ANR (Application Not Responding), когда приложение не отвечает. Если таких ошибок много, они могут негативно влиять не только на пользовательский опыт, но и на позицию в выдаче Google Play...

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

Деплоим проект на Kubernetes в Mail.ru Cloud Solutions. Часть 1: архитектура приложения, запуск Kubernetes и RabbitMQ О Kubernetes и его роли в построении микросервисных приложений известно, пожалуй, большинству современных IT-компаний. Однако при его внедрении часто возникает вопрос — какой вариант установки выбрать: Self-Hosted или Managed-решение от одного из облачных провайдеров. О недо...

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

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

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

Assembler Editor Plus: Первый проект Продолжение цикла статей про редактор ассемблера для ARM микроконтроллеров под компилятор GNU AS.Предыдущая статья Assembler Editor Plus: Установка Картинки под катом! Читать далее

Версионирование API или единая кодовая база для всех версий За 21 год существования в SuperJob разработали три версии реализации API для интеграций с бэкендом. Во время разработки последней они решили пересмотреть подход к версионированию. Сейчас в актуальной реализации порядка 379 эндпойнтов, более 900 моделей сущностей и 11 поддерж...

[Перевод] Flutter: 11 вещей, которые нужно помнить для вашего следующего проекта Создание нового проекта на Flutter - это благословение - свежая кодовая база, никакого легаси кода (пока что), null safety, самые последние версии ваших любимых библиотек и так далее. Однако, в то же время, необходимо принять критические решения в самом начале, которые будут...

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

Чернобыль ч.9. Работа в условиях кардинальных изменений Автор: Александр СтаростинЧасть 8Продолжаем знакомиться с работой учёных в Зоне отчуждения. На сей раз затронем тяжёлые девяностые годы и несколько менее тяжёлые нулевые. Сразу скажу, что наука десятых годов не затронута совсем, так как мне не удалось найти материалов на эту...

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

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

Эволюция Docker. Часть 2.1 Данная статья является второй, в цикле по истории развития и изучению исходного кода Docker. В ней мы разберем, что представлял собой первый публичный релиз от 23 марта 2013 года. Изначально я планировал уложить весь материал, посвященный этой версии, в одной статье, но...

Процесс создания игровой 3D модели Hard Surface Решил я тут написать небольшую (огромную) статью, о том как я делаю игровые модели. В общем начал я делать это оружие, и пришла такая мысль, что можно попробовать описать весь процесс, вдруг кому-то пригодиться. Это не только моя первая статья, ещё и моя первая работа в каче...

Завершено строительство фабрики TSMC, на которой в 2022 году должен начаться серийный выпуск 3-нанометровых микросхем Компания TSMC завершила строительство производственного предприятия, на котором планируется освоить выпуск полупроводниковой продукции по нормам 3 нм. Ожидается, что фабрика, расположенная в научном парке Южного Тайваня, начнет серийный выпуск 3-нанометровых микросхем в...

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

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

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

Работа с частичными моками в PHPUnit 10 В этом году должен выйти PHPUnit 10 (релиз планировался на 2 апреля 2021 года, но был отложен). Если посмотреть на список изменений, то бросается в глаза большое количество удалений устаревшего кода. Одним из таких изменений является удаление метода MockBuilder::setMethods()...

Составное устройство USB на STM32. Часть 1: Предпосылки История эта началась три года назад, когда я осознал, что мне скоро исполнится 50 лет, что я погряз в бумажной работе, и что мне хочется чего-то нового. Работу поменять в моём возрасте уже проблематично, поэтому я решил начать pet-проект. Первое, что приходит в таких случ...

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

Обзор Call of Duty: Mobile. Лучший мобильный шутер Многие владельцы смартфонов почему-то уверены, что на рынке мобильных видеоигр нет достойных релизов, на которые стоит обратить свое внимание. Однако это совершенно не так, ведь некоторые компании делают действительно крутые продукты и готовы радовать аудиторию шикарным гейм...

Радио и электроника — 100 лет истории Привет, Хабр.Беспроводными технологиями сейчас не удивить никого. Радио, ТВ, WiFi, Bluetooth, 5G. Тем интереснее посмотреть, как все начиналось. Найдя в интернете архив сканов старых журналов, я решил проследить, что было верхом технического прогресса для наших прабабушек и...

Google Pixel 5 «в шоке» от дизайна своей тройной камеры: первый рендер Google готовит Pixel 5, который призван развить наработки, достигнутые в прошлогоднем Pixel 4. На данном этапе разработки конечная реализация еще далеко, но ресурс Front Page Tech раздобыл первую визуализацию того, каким будет Pixel 5.

Рынок соискателя или работодателя VS возрастная дискриминация В продолжение моего разбора полётов по рекрутингу и обстановке в последние лет 5, я хочу затронуть две щекотливые темы: — чей же рынок нынче, кто правит балом – работодатель или соискатель; — пресловутый возрастной ценз 45+, так ли всё плохо и безнадёжно. Собственно, п...

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

Использование TLS fingerprinting для выявления угроз В статье хотим рассказать про технологию TLS fingerprinting, про которую недостаточно материалов в русскоязычном сегменте. Попробуем это исправить. Статья частично переводит тематические материалы авторов описываемых методов (тут и тут), а также содержит описание практическо...

Active Design Review. Как согласовать архитектуру и не разругаться Привет, Хабр! Меня зовут Олег Сало, я ведущий архитектор MTS Digital в центре IT-продуктов клиентского опыта B2C. Уже достаточно давно я занимаюсь разработкой и проектированием корпоративных информационных систем, в основном в области  CRM и Customer Experience. В больш...

Улучшаем архитектуру: Инверсия и внедрение зависимостей, наследование и композиция Всем привет. Очень часто, работая со старым (а иногда и не очень) кодом, или пытаясь применить какую-то библиотеку, сталкиваешься с ограничениями в применении. Зачастую проблемы бы не было, будь код архитектурно грамотен. Есть множество архитектурных правил и паттернов, кото...

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

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

DIY беспроводной электропривод для окна со штатным запиранием на рукоятку Доброго времени суток! C появлением 3д принтеров появились огромные возможности в разработке самодельных устройств. В данной статье я хочу рассказать о своем изобретении - «умном открывателе пластикового окна», а если по-научному, то «беспроводном электроприводе ПВХ окна», ...

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

Авторский 3D принтер. Обзор конструкции. Дисклеймер:Для меня это первый тестовый проект, в нём я попытался воплотить в жизнь то, что генерируется в моей голове. Воспринимать его серьёзно, пожалуй, не стоит..Название принтера: TISS.Почему я решил сделать свой принтер?Изначально я просто хотел собрать ящик и для этог...

Xiaomi готовит к релизу Mi 10 Pro Plus Если вы следите за рынком смартфонов, то уже заметили, что многие крупные производители перестали делать упор на процессоры, память или даже камеры. Ведь в этих сегментах достаточно мало возможностей для развития на текущий момент, а значит, производителям нужно работать в д...

Вся правда о TGP в видеокартах NVIDIA GeForce RTX 30 для ноутбуков Привет, Хабр! С момента официального анонса нового поколения мобильных видеокарт NVIDIA GeForce RTX 30-й серии для ноутбуков в сети появилось множество разной и в тоже время противоречивой информации о новой графике. Мы расскажем о частотах и энергопотреблении новых видеокар...

Почему мы выбрали Kotlin одним из целевых языков компании. Часть 2: Kotlin Multiplatform Продолжаем цикл статей о внедрении языка Котлин в наш процесс разработки. Первую часть ищите здесь. В 2017 году увидел свет амбициозный проект от компании Jetbrains, предлагающий новый взгляд на кросс-платформенную разработку. Компиляция кода на kotlin в нативный код различ...

Мой MikroTik – моя цифровая крепость (часть 4) Статья является продолжением первой, второй и третьей частей, посвящённых организации практической безопасности сетей, построенных на оборудовании MikroTik. Ранее были рассмотрены общие рекомендации, безопасность уровней L1, L2 и L3, реализация централизованного логирования...

Теория Графов. Часть 1 Введение и классификация графов В этой статье: Что такое графы и почему они такие универсальные? Читать далее

[Перевод] Spring Data: нюансы @Transactional Любите Spring? А Spring Data? Я тоже люблю. Если хотите разобраться, почему же возникает этот unexpected transaction rollback, а также быть уверенным, что транзакция отменится, а не закоммитится, добро пожаловать под кат. Читать далее

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

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

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

Tesla стала поставщиком хранилищ Megapack для объекта Switch суммарной ёмкостью 800 МВт⋅ч Компания Tesla была выбрана в качестве поставщика батарей для нового масштабного проекта по хранению солнечной энергии для центра обработки данных Switch в Неваде. Switch расположена по соседству от фабрики Tesla Gigafactory Nevada, где компания производит свои стационарные ...

Этюд по реализации Row Level Secutity в PostgreSQL В качестве дополнения к Этюд по реализация бизнес-логики на уровне хранимых функций PostgreSQL и в основном для развернутого ответа на комментарий. Теоретическая часть отлично описана в документации Postgres Pro — Политики защиты строк. Ниже рассмотрена практическая реализ...

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

О классах Program и Startup — инициализация ASP.NET приложения. Часть I: Program и IHostBuilder Не так давно на Хабре я увидел статью с многообещающим названием "Что из себя представляет класс Startup и Program.cs в ASP.NET Core" (https://habr.com/ru/company/otus/blog/542494/). Меня всегда нтересовало и интересует, что именно происходит под капотом той или иной библиот...

Численный FORTH Форт и сейчас известен, главным образом, среди разработки встроенных систем, как что-то вроде необычайного высокоуровневого ассемблера, например, для микроконтроллеров - AmForth и Mecrisp. Однако, когда-то давным давно был известен в другой ипостаси - как язык программирован...

Вспомним прошлое. Аллоды: Печать Тайны или русский ответ Warcraft'у Здорова народ! Я думаю, что сегодня отличный день чтобы вернутся в прошлое, в прошлое Российской игровой индустрии во времена её зарождения и поговорить о феноменальной игре 1998 года «Аллоды: Печать тайны» и встретится со студией NIVAL.В этом блоге мы поговорим о зарождение...

BlazingPizza: приложение на Blazor от начала и до конца. Часть 2. Добавляем компонент Привет всем! Всем тем, кто хочет узнать о Blazor немного больше. Сегодня мы продолжим создание нашего сайта для пиццерии, а именно, создадим web api контроллер и попробуем отобразить данные которые поступают из него на компоненте Blazor. Поскольку наше приложение о пицце, т...

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

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

Relay атаки Статья расскажет о том, какие Relay атаки существуют на сегодняшний день и как их воспроизводить, какие основные инструменты для проведения данных атак при тестировании на проникновение можно использовать, а также будет рассмотрена Relay атака на Active Directory. Читать дал...

Печать сборной модели Toyota Supra A90 в масштабе 1-10 (Часть 2 первый результат) Всем привет , предложили создать новую тему для продолжения и я решил так и сделать .Представляю вам почти законченный результат моего творчества ,  модель почти допечатана , много было нюнсов расскажу в обзорном видео которое сниму в ближайшее время .  Принтер Ендер 3 , пла...

Lenovo Legion Pro 2 будут охлаждать две турбины В прошлом году Lenovo представила первый свой геймерский смартфон Legion Pro, предложивший ряд нетипичных для мобильных устройств решений. В частности, выдвижная фронтальная камера на боковой грани и два разъема USB Type-C. Теперь производитель готовит продолжение и вновь хо...

Основы Unity + Mirror Хочу немного поделиться опытом для тех, кто хочет попробовать себя в написании сетевой игры, но не знает с чего начать. Так как информации по этой теме в интернете много, но полезную и актуальную было найти тяжело (а в русскоязычном сегменте и подавно), я решил собрал и стру...

Почему AMOLED-экраны «выгорают», и как с этим борются производители? Как производители решили проблему с выгоранием? Не так давно я стал обладателем смартфона Xiaomi Mi 9 Lite, устройство оснащено superAMOLED-экраном, и это, то что меня волновало перед его покупкой. Я сильно сомневался, ведь AMOLED-экраны имеют определенные недостатки. Во-пер...

Как выполнить аппаратную реализацию энкодера h264, не написав ни строчки кода на VHDL/Verilog? Вступление Сжатие видео с камеры является важной задачей как при трансляции данных через сеть Интернет, так и при передаче данных через радиоканал. Это позволяет в разы сократить объем передаваемой информации при небольшой потере детализации в исходном видео. Сейчас самым п...

Мой переезд в Испанию. 1,5 года спустя Полтора года назад мы с женой переехали в Испанию (первая часть).И сейчас, когда прошел период "розовых пони", я бы хотел рассказать о том как оно вообще.Disclaimer: все написанное далее — личный опыт и мое субъективное, которые могут не совпадать с вашим личным опытом и мне...

Wi-Fi Интернет в соседнюю комнату Что делать, если стены в квартире слишком толстые и сигнал не проходит? Как провести Wi-Fi в соседнюю комнату? В этом посте я хочу поделиться своим опытом решения этой проблемы. Да, пришлось повозиться, но итоговое решение устроило меня на 100%. Возможно и вам пригодится! Чи...

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

Apple готовит большие перемены для iPhone. Подэкранный сканер отпечатков скоро и гибкий складной дисплей в отдалённом будущем Компания Apple готовит давно ожидаемые  новшества в линейке смартфонов iPhone. Об этом рассказал редактор авторитетного ресурса Bloomberg Марк Гурман (Mark Gurman).  Неофициальный рендер LetsGoDigital По данным источника, Apple начала работы над моделью iPhon...

Как собрать гибридное облако с помощью Kubernetes, которое может заменить DBaaS Меня зовут Петр Зайцев, я генеральный директор, основатель Percona и хочу рассказать: как мы от open source-решений пришли к Database as a Service; какие существуют подходы к развертыванию баз данных в облаке; как Kubernetes может заменить DBaaS, устранив зависимость от ве...

[Перевод] Модели глубоких нейронных сетей sequence-to-sequence на PyTorch (Часть 1) Этот туториал содержит материалы полезные для понимания работы глубоких нейронных сетей sequence-to-sequence (seq2seq) и реализации этих моделей с помощью PyTorch 1.8, torchtext 0.9 и spaCy 3.0, под Python 3.8. Материалы расположены в эволюционном порядке: от простой и неточ...

Провал года: The Last of Us Part II привела игроков в бешенство, и вот почему Совсем недавно, в минувшую пятницу, состоялся релиз видеоигры The Last of Us Part II, которая в адаптированном под российский регион виде продается под название «Одни из нас. Часть II». Данная видеоигра стала прямым продолжением первой Сообщение Провал года: The Last of Us ...

Конвертация xls в xlsx и xml на C# В этой статье я постараюсь рассказать об одном из возможных путей конвертации документов формата xls в xml. Непосредственно моя задача выглядела примерно так: Дано: 1-2 дня времени на поиск и реализацию решения Найденное решение должно быть настолько бесплатным, насколько э...

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

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

[Перевод] Углубленный анализ тестирования виджетов во Flutter. Часть II. Классы Finder и WidgetTester Это продолжение первой части статьи о тестировании виджетов во Flutter.Продолжим наше изучение процесса тестирования виджетов. В прошлый раз мы сосредоточились на базовой структуре тестового файла и подробно рассмотрели, что может делать функция testWidgets() в тесте. Х...

Почему не все тестовые задания одинаково полезны: разбор одного фееричного провала Всем привет, это PsyHaSTe и сегодня я хотел бы рассказать о том, куда меня занесла нелегкая в процессе оптимизации и рефакторинга кода решения тестового задания из статьи товарища novar (кто пропустил — рекомендую ознакомиться). Какие проблемы были у этого решения? Почему в...

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

ECS в UI в клиенте World of Tanks Blitz Данная статья является продолжением выступления Евгения Захарова на летней конференции С++ Russia, где была описана разработка пользовательского интерфейса с использованием архитектуры ECS (Entity-Component-System) вместо традиционного наследования и часть устройства UI в&nb...

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

Интернационализация: как сделать веб доступным для всех Ecma International, Technical Committee 39 или по-простому TC39 — это группа JavaScript-разработчиков, создателей реализаций технологий, академиков и других заинтересованных сторон, которые вместе с сообществом поддерживают и развивают JavaScript как платформу. Участники TC...

Сочиняя ПО: Введение Эта статья - часть серии статей "Составляя ПО" про функциональное программирование и различные техники создания программ на JavaScript ES6+, начиная с азов. Оставайтесь на связи, много нового впереди! Композиция: "Действие, заключающееся в составлении единого целого из часте...

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

OpenCV в Python. Часть 4 Привет, Хабр! В этой статье я бы хотел рассказать как с помощью только OpenCV распознавать объекты, на примере игральных карт: Читать дальше

В Израиле открылась первая в мире фабрика по производству искусственного мяса Израильская компания Future Meat Technologies запустила первую в мире фабрику по производству искусственного мяса. Предприятие в городе Реховот будет ежедневно производить до 500 кг культивируемой курятины, свинины и баранины. Этого количества достаточно для изготовления око...

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

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

InferVision AI помогает ЕК контролировать распространение вариантов COVID-19 ВИСБАДЕН (Германия), 17 августа 2021 г. /PRNewswire/ — Компания InferVision AI выбрана для оказания помощи в мониторинге вариантов COVID-19 по всей территории Европейского Союза. Столкнувшись с этой проблемой, Европейская комиссия решила увеличить свои капита...

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

Управление разработкой в «горизонтальных» компаниях: расшифровка онлайн-встречи. Часть 1 30  октября мы провели встречу с СТО и техническими руководителями Райффайзенбанка, Mindbox и ЦИАН, где за два часа постарались максимально охватить непривычную для российского рынка IT-компаний тему управления разработкой без менеджеров. В ходе разговора выяснилось, чт...

Интеграция устройства в экосистему Samsung SmartThings на примере «Умного чайника» Допустим, вы сделали свое собственное устройство «Умного дома» и хотите интегрировать его в платформу домашней автоматизации Samsung SmartThings. Тогда вы сможете включить его в общую экосистему, поддерживающую множество устройств от разных производителей. Пользователи вашег...

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