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

[Перевод] Понимание алгоритма БПФ Здравствуйте, друзья. Уже завтра стартует курс «Алгоритмы для разработчиков», а у нас остался один неопубликованный перевод. Собственно исправляемся и делимся с вами материалом. Поехали. Быстрое преобразование Фурье (БПФ — англ. FFT) является одним из важнейших алгоритмов о...

Вейвлет — анализ.Часть 1 Введение Рассмотрим дискретное вейвлет – преобразования (DWT), реализованное в библиотеке PyWavelets PyWavelets 1.0.3. PyWavelets — это бесплатное программное обеспечение с открытым исходным кодом, выпущенное по лицензии MIT. При обработке данных на компьютере может выполня...

Какой следующий член…? — Ищем формулу для n-го члена последовательности, производящие функции и Z-преобразование Скачать файл с кодом и данные можно в оригинале поста в моем блоге В языке Wolfram Language есть четыре совершенно потрясающие функции: FindSequenceFunction, RSolve, DifferenceRootReduce и FindFormula. В этой статье мы обсудим их возможности и поговорим о функциях, тесно с ...

[Из песочницы] Преобразование черно-белых изображений в ASCII-графику при помощи неотрицательного матричного разложения В общем случае преобразование изображения в ASCII-графику представляет собой довольно трудоемкую задачу, однако существуют алгоритмы, позволяющие автоматизировать данный процесс. В данной статье рассматривается подход, предложенный исследователями Paul D. O’Grady и Scott T....

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

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

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

Рецепты Python: преобразование из HTML и URL в PDF и PS Для приготовления преобразования из HTML и URL в PDF и PS нам понадобится сам python, генератор htmldoc и плагин pyhtmldoc. (Я дал ссылки на свои форки, т.к. делал некоторые изменения, которые пока не удалось пропихнуть в оригинальный репозитории. Можно также воспользоваться...

[Перевод] Распознавание источников освещения на картах окружения В этой статье представлена реализация на Python алгоритма распознавания источников освещения на картах окружения (LDR или HDR) при помощи равнопромежуточной проекции (equirectangular projection). Однако после внесения незначительных изменений её также можно использовать с п...

[Перевод] Трагедия Common Lisp: почему популярные языки раздуваются в сложности Адаптировано из обсуждения 2015 года. Здесь Common Lisp служит лишь одним из многих наглядных примеров Будущее JavaScript? Я с 2007 года работаю в комитете по стандартам JavaScript (TC39). Мы ценим простоту языка, но со временем утратили бдительность. Сложность стала не...

[Перевод] Простое объяснение алгоритмов поиска пути и A* Часть 1. Общий алгоритм поиска Введение Поиск пути — это одна из тех тем, которые обычно представляют самые большие сложности для разработчиков игр. Особенно плохо люди понимают алгоритм A*, и многим кажется, что это какая-то непостижимая магия. Цель данной статьи — объясн...

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

[Из песочницы] Создание Dataflow шаблона для стриминга данных из Pub/Sub в BigQuery на базе GCP с помощью Apache Beam SDK и Python В данный момент занимаюсь задачей стриминга (и преобразования) данных. В некоторых кругах такой процесс известен как ETL, т.е. извлечение, преобразование и загрузка информации. Весь процесс включает в себя участие следующих сервисов Google Cloud Platform: Pub/Sub — сервис...

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

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

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

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

[Из песочницы] Система генерации ландшафта лабиринта с улучшенным визуальным реализмом [перевод статьи Jinmo Kim] Привет, Хабр! В этой публикации я расскажу о статье автора Jinmo Kim: "Maze Terrain Authoring System in Immersive Virtual Reality for New Visual Realism". Она была опубликована 4.04.2019. Полный текст статьи можно посмотреть здесь. Краткое описание системы В стать...

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

Magic: The Gathering официально признали самой сложной игрой в мире Magic: The Gathering — это карточная игра, в которой волшебники кастуют заклинания, призывают существ и используют магические объекты, чтобы победить своих противников. В процессе игры два или более игроков собирают по колоде из 60 карт с различными силами. Колоды собираютс...

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

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

Хешрейт и сложность добычи биткоина обновили исторические максимумы Совокупная вычислительная мощность сети биткоина превысила исторический максимум, достигнув отметки 68,631,992 TH/s. Рекордно высокий показатель был зафиксирован 28 июня. После того хешрейт немного снизился, однако, как это видно по графику, тренд явно на повышение. Также ре...

[Перевод] Big O Примечание. Сокращенный перевод, скорее пересказ своими словами. UPD: как отметили в комментариях, примеры не идеальны. Автор не ищет лучшее решение задачи, его цель объяснить сложность алгоритмов «на пальцах». Big O нотация нужна для описания сложности алгоритмов. Для этог...

Алгоритм мышления и сознания, часть 2 Данный текст содержит пояснения к алгоритму из моей первой статьи “Алгоритм мышления и сознания”. Тезисы первой статьи: Феномен субъективного мышления можно алгоритмизовать. Предъявленный в статье алгоритм мыслит и этим можно воспользоваться практически. С помощью алгорит...

Линейная регрессия и методы её восстановления Источник: xkcd Линейная регрессия является одним из базовых алгоритмов для многих областей, связанных с анализом данных. Причина этому очевидна. Это очень простой и понятный алгоритм, что способствует его широкому применению уже многие десятки, если не сотни, лет. Идея зак...

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

Синглтон размещающий объекты в ROM и статические переменные(С++ на примере микроконтроллера Cortex M4) В предыдущей статье Где хранятся ваши константы на микроконтроллере CortexM (на примере С++ IAR компилятора), был разобран вопрос о том, как расположить константные объекты в ROM. Теперь же я хочу рассказать, как можно использовать порождающий шаблон одиночка для создания ...

Преобразование полигональных моделей в граничное представление: алгоритм и примеры кода В большинстве систем проектирования (САПР) основным представлением моделируемого объекта является граничное представление геометрии или B-rep (Boundary representation). Но все чаще пользователям САПР приходится иметь дело с полигональными моделями, например, полученными в ре...

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

Сверточный слой: методы оптимизации основанные на матричном умножении Введение Данная статья является продолжением серии статей описывающей алгоритмы лежащие в основе Synet — фреймворка для запуска предварительно обученных нейронных сетей на CPU. Если смотреть на распределение процессорного времени, которое тратится на прямое распространение...

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

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

[recovery mode] 10 способов защиты интеллектуальной собственности IT-стартапа Проблема защиты интеллектуальной собственности (далее — ИС) часто является одной из наиболее важных, с которой сталкивается любой технологический стартап. Это тесно связано с процессом разработки продукта, наймом квалифицированных сотрудников, привлечением капитала и многи...

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

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

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

Детали перехода от парных (относительных) валютных курсов к абсолютным. Работа над ошибками Введение Настоящая статья описывает результаты эксперимента проведенного в рамках проекта “Абсолютный курс валют”. Протокол эксперимента можно увидеть перейдя по ссылке. Проект “Абсолютный курс валют” занимается анализом парных валютных курсов, выделением из них абсолютных ...

Насколько легко доставить заказ, зная адрес клиента (не очень) Всем привет! Меня зовут Денис Гирько, я системный архитектор e-commerce платформы в Lamoda. В прошлом году я выступал на конференции DevConf с докладом, которым хочу поделиться с вами. Это обзорный доклад о том, с какими сложностями в процессе доставки заказа встречается кру...

Сложность майнинга биткоина вновь продемонстрировала рост В результате очередного перерасчета сложности майнинга биткоина в ночь на 14 января этот показатель вырос почти на 5%. Bitcoin difficulty update – ¯\_(ツ)_/¯https://t.co/8XoQGX9Xdq pic.twitter.com/RWJoSnGlQ9 — CoinMetrics.io (@coinmetrics) 17 января 2019 г. Сложность майнинга...

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

ARA: алгоритм для нахождения максимального числа точек на прямой линии Недавно мне попалась классическая задачка для собеседований: поиск максимального числа точек, стоящих на прямой линии (на плоскости, координаты целочисленные). В голову сразу пришла идея полного перебора, которая имеет очевидную сложность по времени в O(n^2), но мне показало...

Samsung Compiler Bootcamp: научим создавать «программирующие программы» Каждый уважающий себя программист хотя бы раз в жизни хотел придумать свой язык программирования – и сделать для него компилятор. Подобное желание вполне понятно: сделать программу, которая в результате своей работы порождает другую программу – это, если вдуматься, волшебс...

3D-печать и airsoft: как я печатал «привод» Всем привет! Я попробую немного рассказать о том, как я пытался сделать страйкбольный привод при помощи 3D-принтера, что из этого получилось и с какими сложностями пришлось столкнуться. Статья может оказаться интересной для тех, кто любит airsoft, DIY или 3D-печать. Для те...

MU-MIMO: один из алгоритмов реализации Предисловие В качестве дополнения к моей недавней статье хотелось бы также поговорить о теме MU (Multi User) MIMO. Есть у мною уже упомянутого профессора Хаардта одна очень известная статья, где он вместе со своими коллегами предлагает алгоритм разделения пользователей по ни...

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

Когда вредно хешировать ПредисловиеДанный текст будет являться одной из переписанных глав для учебного пособия по защите информации кафедры радиотехники и систем управления, а также, с этого учебного кода, кафедры защиты информации МФТИ (ГУ). Полностью учебник доступен на github (см. также draft re...

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

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

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

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

ShIoTiny и окружающий мир: аналоговые датчики или АЦП для самых маленьких Основные тезисы или о чем эта статья Продолжение серии статей о ShIoTiny — визуально программируемом контроллере на базе чипа ESP8266. Ключевой особенностью данного контроллера является возможность его программирования путем рисования программы в браузере. В данной статье о...

Terms of service: 99% пользователей их просто не понимают Источник: Shutterstock Наверное, среди читателей Хабра есть те, кто детально знакомится с условиями предоставления услуг различных сервисов и приложений. Большинство просто ставит галочку там, где это требуется, и начинает работу. Кто-то может назвать это неправильным, но,...

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

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

[Из песочницы] Процедура нотаризации Electron приложения для macOS 10.14.5 С выходом macOS 10.14.5, Apple добавила обязательную процедуру нотаризации (Notarization process) приложений перед их распространением. Что это и какие сложности возникли с этим обновлением при разработке на Electron.js я и хотел бы рассказать. Читать дальше →

Книга "{Вы не знаете JS} Типы и грамматические конструкции" Каким бы опытом программирования на JavaScript вы ни обладали, скорее всего, вы не понимаете язык в полной мере. Это лаконичное руководство исследует типы более глубоко, чем все существующие книги: вы узнаете, как работают типы, о проблемах их преобразования и научитесь пол...

[Перевод] Панель мониторинга Grafana для пивной системы BeerTender Пояснение. BeerTender — устройство для охлаждения и розлива пива от Krups и Heineken. По заявлению производителей, оно сохраняет качества свежего пива в течение 30 дней после открытия кега. Конечно, системным администраторам и девопсам удобно отслеживать температуру и уровен...

Эксперимент — от парного программирования к программированию всей командой Очень хочу поделиться с вами переводом статьи про эксперимент с моб-программированием от одного из его создателей, Вуди Зила. Это когда вся команда сразу работает за одним компьютером. Как парное программирование, только групповое. Я бывший Java-разработчик и тимлид с 11-лет...

JVM TI: как сделать плагин для виртуальной машины Хотели бы вы добавить в JVM какую-нибудь полезную фичу? Теоретически каждый разработчик может внести свой вклад в OpenJDK, однако на практике любые нетривиальные изменения в HotSpot принимают со стороны не очень-то охотно, и даже с текущим укороченным релизным циклом могут...

[Перевод] Прекратите использовать Ngrx/effects для этого Иногда простейшая реализация функциональности в конечном итоге создает больше проблем, чем пользы, только увеличивая сложность в другом месте. Конечным результатом является забагованная архитектура, которую никто не хочет трогать. Читать дальше →

[Перевод] Пишем кастомный трансформер AST на TypeScript Команда TestMace снова с вами. На этот раз мы публикуем перевод статьи о преобразовании кода TypeScript, используя возможности компилятора. Приятного чтения! Введение Это мой первый пост, и в нём мне бы хотелось показать решение одной задачи с помощью API компилятора TypeScr...

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

Разработка сайта на WebAssembly с помощью NetCore 3 и Blazor Мое мнение, что WebAssembly будущее интернета. Данная технология на текущий момент уже интегрирована в большинство современных браузерах (а точнее в их движках) на ПК и мобильных устройствах. В таких браузерах как Chrome, Edge, Firefox, и WebKit. В данной статье я опишу как ...

Blitz Engine & Battle Prime: ECS и сетевой код Вступление Battle Prime — первый проект нашей студии. Несмотря на то, что многие члены команды имеют приличный опыт в разработке игр, мы, естественно, сталкивались с разными сложностями во время работы над ним. Они возникали как в процессе работы над движком, так и в процес...

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

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

[recovery mode] Популярные вопросы разработчика о тестировании Эта статья — не теоретическое руководство по написанию тестов и не how-to по использованию инструментария в определенном стеке, а ряд популярных вопросов, иногда даже у многих не сформировавшихся, на которые я постараюсь дать ответы. Источником этих вопросов служат коллеги, ...

Как настроить Linux для входа в домен с использованием алгоритмов ГОСТ Введение Протокол Kerberos 5 сейчас активно используется для аутентификации. Особенностью данного протокола является то, что он осуществляет аутентификацию, базируясь на трех китах: Симметричное шифрование Хеширование ЭЦП Третья доверенная сторона Начиная с пятой версии п...

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

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

Интерактивная игра на XSLT Когда-то давным-давно придумали люди язык XML и увидели, что это хорошо. И стали использовать его везде, где можно, и даже там, где не следует. Форматы хранения и передачи данных, конфиги, веб-сервисы, базы данных… Казалось, оглянись вокруг — XML, XML повсюду. Время прошло...

Unity Package Manager Unity — платформа, которая существует довольно давно и постоянно развивается. Однако, работая в ней с несколькими проектами одновременно, все еще можно столкнуться со сложностями в использовании общих исходников (.cs), библиотек (.dll) и остальных ассетов (изображения, звуки...

Неопределённая параметризация как универсальный метод построения архитектуры приложения на C++ и Java за минимальн. цену C++ — язык запутанный, и существенным его недостатком является сложность создания изолированных блоков кода. В типовом проекте всё зависит от всего. Эта статья показывает, как писать высокоизолированный код, который минимально зависит от конкретных библиотек (включая стандар...

Code style как стандарт разработки Давайте сразу, это не про скобочки. Здесь речь пойдет о том, как работает наш мозг и почему code style помогает обеспечивать линейное развитие проекта, значительно ускоряет адаптацию новых сотрудников и, в целом, формирует и воспитывает культуру разработки. Я постарался собр...

[Перевод] 10 самых распространенных ошибок при работе с платформой Spring. Часть 1 Всем привет. Сегодня делимся первой частью статьи, перевод которой подготовлен специально для студентов курса «Разработчик на Spring Framework». Начнём! Spring — пожалуй, одна из самых популярных платформ разработки на языке Java. Это мощный, но довольно сложный в освоении...

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

[recovery mode] Кластерная память с аппроксимацией Разработана память с нелинейной аппроксимацией внутри кластеров данных. Кластеры предлагается выделять методом k-средних. Аппроксимацию проводить с помощью обучения ансамбля нейронных сетей. Кластерная память протестирована на примере адаптивного фильтра для преобразования ...

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

[Перевод] Я просканировал всю Австрию и нашёл… ...IP-камеры, принтеры, АСУ ТП и многое другое Отказ от ответственности: статья — результат нескольких недель работы. О самых больших проблемах я сообщил владельцам серверов, если смог их найти, а о других — в Cert.at. Кроме того, я не пытался войти ни на какое устройство/се...

5 вещей, которые чаще всего не понимают новички в JavaScript Всем привет! В конце сентября в OTUS стартует новый поток курса «Fullstack разработчик JavaScript». В преддверии начала занятий хотим поделиться с вами авторской статьей, подготовленной специально для студентов курса. Автор статьи: Павел Якупов Превью. Хочу сразу отмети...

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

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

Способы применения и искажения меткости в играх. Наглядные графики для сравнения Вычислять факт попадания в играх на основе полученной меткости можно по разному: — сравнивая с одним псевдослучайным числом (которое тоже можно получать по разному [1]); — сравнивая с наибольшим или наименьшим из двух псевдослучайных чисел; — сравнивая среднее из двух и б...

Для головоломки Ticket to Earth вышло обновление с парой уровней сложности Ticket to Earth– необычная научно-фантастическая RPG с элементами пошаговой стратегии. Разработчики ее активно поддерживают, периодически выпуская контентные обновления. Сегодня состоялся релиз обновления, которое добавляет в игру пару уровней сложности: Новичок и Ветеран. ...

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

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

I’m going deeper underground, или о чем стоит знать, оптимизируя работу сетевого приложения Приветствую, друзья! В предыдущих двух статьях (раз, два) мы погружались в сложность выбора между технологиями и искали оптимальные настройки для нашего решения в Ostrovok.ru. Какую тему поднимем сегодня? Каждый сервис должен работать на каком-то сервере, общаясь с желез...

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

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

Xiaomi Mi Charge Turbo позволить быстро заряжать смартфоны ... Похоже, время, когда можно будет очень быстро заряжать смартфоны Xiaomi без использования кабелей, наступит очень скоро. Сегодня компания провела пресс-конференцию, посвященную анонсу новой технологии Mi Charge Turbo, где скорость беспроводной зарядки разогнали до 30 Вт. &nb...

В очередной раз о НОД, алгоритме Евклида и немного об истории алгоритмов вообще. Конечно, с примерами на Swift Алгоритмы – одна из центральных тем в программировании, они повсюду (особенно на собеседованиях, ха-ха). (Разве можно обойтись в таком посте без «баяна»?) Одним из самых известных является так называемый алгоритм Евклида – пожалуй, самый распространенный способ нахождения...

Получаем ссылки на профили Vk из выдачи SearchFace с помощью Python (но это не точно) Картинка для привлечения внимания: Кадр из сериала Person Of Interest Сегодня мы поговорим о лёгком распознавании лиц с помощью доступных инструментов. Используются: Python 3.6, searchface.ru, внешний сервис для преобразования ссылок на фото в id (бот в телеграме, на тек...

[Перевод] Глубокое обучение (Deep Learning): обзор Всем привет. Уже в этом месяце в ОТУС стартует новый курс — "Математика для Data Science". В преддверии старта данного курса традиционно делимся с вами переводом интересного материала. Аннотация. Глубокое обучение является передовой областью исследований машинного обучения ...

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

[Перевод] Разработка Adblock Radio tl;dr: Adblock Radio распознаёт аудиорекламу с помощью машинного обучения и Shazam-подобных техник. Основной движок с открытым исходным кодом: используйте его в своих продуктах! Можно объединить усилия для поддержки большего количества радиостанций и подкастов. Мало кому н...

Тестирование на примере ReactJS: насколько глубока кроличья нора Всем привет, меня зовут Ярослав Астафьев, и сегодня я хотел бы провести обзорную экскурсию в тестирование ReactJS. Я не буду углубляться в сложности тестирования веб приложений с использованием определенных библиотек (руководствуясь подходом «сложно тестировать только плохой...

Сложности применения технологий OCR в DLP-системах, или Как мы OCR готовим Решение задачи распознавания изображений (OCR) сопряжено с различными сложностями. То картинку не получается распознать из-за нестандартной цветовой схемы или из-за искажений. То заказчик хочет распознавать все изображения без каких-либо ограничений, а это далеко не всегда в...

Хешрейт биткоина вырос до рекордно высокого уровня Несмотря на продолжающуюся второй месяц стагнацию рынка, хешрейт первой криптовалюты достиг рекордно высоких отметок. Так, совокупная вычислительная мощность сети биткоина достигла показателя 83,526 EH/s, обновив исторический максимум. Новых высот достиг также показатель сло...

Практический опыт обновления MySQL 5.7 до версии 8.0 Недавно мы обновили свои сервера с MySQL 5.7 на 8.0. Оставим за рамками этой статьи зачем и какие новые плюшки появились в MySQL 8.0, а вместо этого расскажем о том, с какими сложностями мы столкнулись в процессе обновления. Читать дальше →

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

«Предложили ознакомиться с расчетами одного показателя, а там два листа с интегралами и вторыми производными» Это интервью с Антоном Батяевым (batiaev) из Технологического Центра Дойче Банка. Мы поговорим о том, чем занимаются финансовые математики, откуда берутся данные в банках, как обрабатываются и оптимизируются. О сложности попадания в финансовую сферу, торговле на бирже и обще...

[Перевод] Что такое Zero Trust? Модель безопасности Zero Trust («нулевое доверие») – это модель безопасности, разработанная бывшим аналитиком Forrester Джоном Киндервагом в 2010 году. С тех пор модель «нулевого доверия» стала наиболее популярной концепцией в сфере кибербезопасности. Недавние массовые утечки данных только по...

Алгоритм взаимодействия сотен тысяч уникальных частиц на GPU, в GLES3 и WebGL2 Описание алгоритма логики, и разбор рабочего примера в виде техно-демки-игры WebGL2 версия этой демки https://danilw.itch.io/flat-maze-web остальные ссылки смотрите в статье. Статья разбита на две части, сначала про логику, и вторая часть про применение в игре, первая часть...

[Из песочницы] Как я проработала 3 месяца в Я.Маркете и уволилиась Первая попытка Все началось с того, что я люблю ходить по конференциям и частенько хожу на них в Яндекс, Mail.ru и другие крупные компании. Однажды мне написал HR из Яндекса и попросила сделать тестовое на стажера фронтенд разработчика. Я его сделала, вот оно. По условию он...

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

Простейшее профилирование памяти на STM32 и других микроконтроллерах «С опытом приходит стандартный, научный подход к вычислению правильного размера стека: взять случайное число и надеяться на лучшее» — Jack Ganssle, «The Art of Designing Embedded Systems» Привет, Хабр! Как ни странно, но в абсолютном большинстве виденных мной «учебников дл...

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

[Перевод] Операционная система на Rust. Страничная память: продвинутый уровень В этой статье объясняется, как ядру операционной системы получить доступ к фреймам физической памяти. Изучим функцию для преобразования виртуальных адресов в физические. Также разберёмся, как создавать новые сопоставления в таблицах страниц. Этот блог выложен на GitHub. Есл...

Реализация целого типа в CPython На Хабре уже были статьи о подробностях реализации менеджера памяти CPython, Pandas, я написал статью про реализацию словаря. Казалось бы, что можно написать про обычный целочисленный тип? Однако тут не всё так просто и целочисленный тип не такой уж и очевидный. Если вам и...

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

Инженерный подход к разработке ПО. От теории к практике Как проверить идеи, архитектуру и алгоритмы без написания кода? Как сформулировать и проверить их свойства? Что такое model-checkers и model-finders? Что делать, когда возможностей тестов недостаточно? Привет. Меня зовут Васил Дядов, сейчас я работаю программистом в Яндекс.П...

[Из песочницы] Элементарные шифры на понятном языке Привет, Хабр! Все мы довольно часто слышим такие слова и словосочетания, как «шифрование данных», «секретные шифры», «криптозащита», «шифрование», но далеко не все понимают, о чем конкретно идет речь. В этом посте разберемся, что из себя представляет шифрование и рассмотрим...

[Перевод] GCP: Разбор вычислительного стека Google Cloud Platform Перевод статьи подготовлен специально для студентов курса «Облачные сервисы». Интересно развиваться в данном направлении? Смотрите запись профессионального мастер-класса «AWS EC2 сервис», который провёл Егор Зуев — TeamLead в компании InBit и автор образовательной программы...

Основные понятия стандартной библиотеки С++ Данная статья определяет основные понятия стандартной библиотеки С++. Она приводится для того чтобы на неё ссылаться в дальнейшем. Наибольшей частью стандартной библиотеки С++ является библиотека STL (Standard Template Library – Стандартная Библиотека Шаблонов). Библиотека S...

[Перевод] Отличия LabelEncoder и OneHotEncoder в SciKit Learn Если вы недавно начали свой путь в машинном обучении, вы можете запутаться между LabelEncoder и OneHotEncoder. Оба кодировщика — часть библиотеки SciKit Learn в Python и оба используются для преобразования категориальных или текстовых данных в числа, которые наши предсказате...

Microsoft делает преобразование текста в речь более доступным и вместе с Alphabet X открывает обучающие курсы по квантовым вычислениям Microsoft совместно с группой китайских исследователей создала искусственный интеллект для преобразования текста в речь. Он способен генерировать реалистичную речь, используя 200 образцов голоса (общей продолжительностью примерно 20 минут) и соответствующие правила транскрип...

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

Clean Decomposition Об использовании чистой архитектуры в Android сказано предостаточно. На GitHub можно найти десятки шаблонов на разные вкусы: на Java или Kotlin, с Dagger2 или Koin, с Rx или с Coroutines. Но никто не говорит о том, как разбить определенный функционал при использовании «чисто...

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

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

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

[Из песочницы] Make it True — Разработка логической игры на Unity Хочу поделиться процессом разработки простой мобильной игры силами двух разработчиков и художника. Данная статья в большей мере состоит описания технической реализации. Осторожно, много текста! Статья не являются руководством или уроком, хотя надеюсь что читатели смогут в...

Книга «Знакомство с PyTorch: глубокое обучение при обработке естественного языка» Привет, Хаброжители! Обработка текстов на естественном языке (Natural Language Processing, NLP) — крайне важная задача в области искусственного интеллекта. Успешная реализация делает возможными такие продукты, как Alexa от Amazon и Google Translate. Эта книга поможет вам из...

[Перевод] В коре вашего мозга 17 млрд компьютеров Нейросеть нейросетей Изображение brentsview под лицензией CC BY-NC 2.0 В мозг поступает информация из внешнего мира, его нейроны получают данные на входе, производят обработку и выдают некий результат. Это может быть мысль (хочу карри на ужин), действие (сделать карри), и...

Samsung Galaxy A90 получит 6,7-дюймовый дисплей и 48 МП камеру Galaxy A90, который также может называться Galaxy A80, будет оснащён Snapdragon 7150 SoC, 6,7-дюймовый Full-HD + (2400 x 1080 пикселей) OLED-дисплей, аккумулятором 3700 мАч с поддержкой быстрой зарядки 25 Вт и технологией преобразования звука. Новинка будет иметь ползу...

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

В поисках серебрянной пули: акторы+FRP в Реакте Сейчас уже мало кто пишет на Perl'е, но известная максима Ларри Уолла "Keep simple things easy and hard thing possible" стала общепринятой формулой эффективной технологии. Ее можно трактовать в аспекте не только сложности задач, но и подхода: идеальная технология должна, с о...

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

RTOS или не RTOS вот в чем вопрос На написание данной статьи меня побудила длинная ветка комментариев (дискуссией это я назвать, к сожалению, не могу) к моей недавней статье “Многообразный мир embedded systems и место Embox в нем”. Меня в нескольких местах упрекнули в том, что я путаю RTOS и Embedded OS, чт...

[Перевод] Джон Маэда: «На самом деле дизайн не так важен» Глава отдела разработки и вычислительного дизайна в Automattic (материнской компании WordPress) считает, что дизайнерам следует быть кем-то вроде вспомогательных актёров в технологических компаниях, оставляя главную роль разработчикам и менеджерам по продукту. Читать дальше...

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

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

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

[Из песочницы] Способы сегментации точек в Point Clouds Введение Некоторое время назад мне потребовалось решить задачу сегментации точек в Point Cloud (облака точек — данные, полученные с лидаров). Пример данных и решаемой задачи: Поиски общего обзора существующих методов оказались неуспешными, поэтому пришлось собирать информац...

Сложность майнинга биткоина достигла абсолютного максимума Сложность добычи первой криптовалюты достигла абсолютного исторического максимума на отметке 9,06 триллионов. Таким образом при перерасчете рост составил 14%. Это случилось 9 июля. В тот момент хешрейт находился несколько ниже исторического рекорда, достигнутого ранее, на от...

5 советов о Design Leadership. Часть 1 Всем привет. Уже в этом месяце мы запускаем курс «Team Lead 2.0», который подготовлен специально для старших разработчиков, TeamLead’ов, SCRUM мастеров и специалистов, желающих повысить свой профессиональный уровень и получить уникальный опыт, необходимый для эффективного уп...

Эксафлопсный барьер преодолеют в 2021 году Говорим о самом быстром суперкомпьютере в США и других участниках «эксафлопсной гонки». Фото — OLCF at ORNL — СС BY / Мощнейший суперкомпьютер на сегодняшний день — Summit Проект Aurora Разработкой эксафлопсного компьютера Aurora занимается Министерство энергетики США (DO...

Обучение локализации в Вашингтонском университете В этой статье Sub Lead Localization Manager компании Plarium Krasnodar Эльвира Шарипова рассказывает о том, как она проходила онлайн-обучение по программе Localization: Customizing Software for the World. Зачем матерому локализатору становиться студентом? Какие сложности ожи...

[Из песочницы] Линейная регрессия и градиентный спуск Пусть в некоторой предметной области исследуются показатели X и Y, которые имеют количественное выражение. При этом есть все основания полагать, что показатель Y зависит от показателя X. Это положение может быть как научной гипотезой, так и основываться на элементарном здра...

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

[Перевод] Автоматизация библиотек на Typescript Хочу сразу оговориться: эта статья не дает готового к использованию рецепта. Это скорее моя история путешествия в мир Typescript и NodeJS, а также результаты моих экспериментов. Тем не менее, в конце статьи будет ссылка на GitLab репозиторий, который вы можете посмотреть, и ...

WG Contract API: zoo of services С ростом количества компонентов в программной системе, обычно растёт и количество людей принимающих участие в её разработке. Как следствие, для сохранения темпов разработки и простоты сопровождения, подходы к организации API должны стать предметом особого внимания. Если х...

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

Xiaomi Mi 9 в новой версии AnTuTu набирает 500 000 баллов, а Black Shark 2 Pro — всего 450 000 Во время анонса Black Shark 2 Pro компания заявила, что смартфон набирает в AnTuTu 500 000 баллов. Вчера стало известно, что в реальных тестах он преодолевает отметку лишь в 450 000. Но в обоих случаях мы не знали, что тестирование проводилось в новой версии бенчмарка AnTuTu...

HDMI-LVDS. Разработка на TSUMV59 от MStar Доброго времени суток, Хабр! В продолжение прошлой статьи на тему DisplayPort-LVDS, решил написать о своей новой разработке контроллера HDMI-LVDS на чипе TSUMV59 от MStar. Контроллер имеет много интересного на борту, например, аналоговый выход звука, ИК порт, кнопки управ...

Беспилотные автомобили Waymo проехали более 16 миллиардов километров… но не по земле Практически не остается сомнений в том, что беспилотные автомобили рано или поздно станут одним из основных видов транспорта. Ведь множество крупных компаний, таких как Uber или Яндекс, вовсю проводят испытания своих версий автопилота. Не отстает от них и Waymo, самоуправля...

Автоматизируем тестирование redux селекторов в приложении В этой статье я хотел бы поделиться своими идеями того, как можно автоматизировать написание unit-тестов в react/redux приложениях. Идеи эти родились в одной из дискуссий с коллегами, в процессе написания тестов, и, как мне кажется, предложенное решение имеет право на жизнь....

[Из песочницы] SSEGWSW: Server-Sent Events Gateway by Service Workers Привет! Меня зовут Саша и я работаю архитектором в Тинькофф Бизнес. В этой статье хочу рассказать о том, как преодолеть ограничение браузеров на количество открытых долгоживущих HTTP-соединений в рамках одного домена при помощи service worker. Если хотите — смело пропуска...

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

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

[Из песочницы] Глубокое ранжирование для сравнения двух изображений Привет, Хабр! Представляю вашему вниманию перевод статьи «Image Similarity using Deep Ranking» автора Akarsh Zingade. Алгоритм Deep Ranking Понятия "сходства двух изображений" — введено не было, поэтому давайте введем данное понятие хотя бы в рамках статьи. Сходс...

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

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

Google Fuchsia получит поддержку приложений для Android В AOSP нашли файл, который отвечает за преобразование приложений

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

Опыт перевода большого проекта с Flow на TypeScript JavaScript – это один из языков с динамической типизацией. Такие языки удобны для быстрой разработки приложений, но когда несколько команд берутся за разработку одного большого проекта, лучше с самого начала выбрать один из инструментов для проверки типов. Можно начать р...

Зрители не могут отличить нативную картинку 4K от интерполяции Человеческого зрения недостаточно, чтобы отличить настоящее видео 4K от картинки, которую получили из изображения HDTV с помощью интерполяции. Такие выводы можно сделать из результатов российского исследования, проведённого холдингом «Ромир». Результаты показывают, что по...

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

[Перевод] Переход Tinder на Kubernetes Прим. перев.: Сотрудники всемирно известного сервиса Tinder недавно поделились некоторыми техническими деталями миграции своей инфраструктуры на Kubernetes. Процесс занял почти два года и вылился в запуск на K8s весьма масштабной платформы, состоящей из 200 сервисов, размещё...

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

[recovery mode] Orange Pi 2G-IOT: карта минного поля Некоторое время назад мне предложили немного поработать с одноплатным ПК Orange Pi 2G-IOT (встроенный 2G и цена выглядят очень привлекательно). Прочитав пост об апельсиновом рае, я подумал, что без затруднений повторю этот путь, тем более, что с Linux я на «ты» (вернее, та...

[Перевод] Генерация подземелий и пещер для моей игры На этой неделе я начал работать над новой темой: генерацией подземелий и пещер. Я использовал разбиение пространства для генерации комнат, алгоритмы генерации лабиринтов для генерации коридоров и клеточные автоматы для придания пещерам более естествненного внешнего вида. Р...

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

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

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

[Перевод] Краткое введение в цепи Маркова В 1998 году Лоуренс Пейдж, Сергей Брин, Раджив Мотвани и Терри Виноград опубликовали статью «The PageRank Citation Ranking: Bringing Order to the Web», в которой описали знаменитый теперь алгоритм PageRank, ставший фундаментом Google. Спустя чуть менее два десятка лет Googl...

Livy — недостающее звено цепи Hadoop Spark Airflow Python Привет всем, немного информации "из под капота" дата инженерного цеха Альфастрахования — что будоражит наши технические умы. Apache Spark — замечательный инструмент, позволяющий просто и очень быстро обрабатывать большие объемы данных на достаточно скромных вычислительных ...

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

Почему бизнесу нужен хороший код В сфере разработки программного обеспечения, нередко встречаются тезисы наподобие «Nobody cares about your code» (перевод — «Твой код никого не интересует»), «Код всего лишь инструмент» и ситуации полного непонимания со стороны бизнеса, почему это мы должны выделять время и ...

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

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

Решето Эратосфена за O(n). Доказательство В комментариях к одному из прошлых постов о решете Эратосфена был упомянут этот короткий алгоритм из Википедии: Алгоритм 1: 1: для i := 2, 3, 4, ..., до n: 2: если lp[i] = 0: 3: lp[i] := i 4: pr[] += {i} 5: для p из pr пока p ≤ lp[i] и p*i ≤ n: 6: lp[...

Библиотека Symbols GOST для DipTrace Ниже на скрине представлена часть символов библиотеки. В общей сложности библиотека содержит около 300-сот УГО выполненных по стандартам ГОСТ (ЕСКД). Библиотека разрабатывается и поддерживается мной. Все предложения, пожелания по добавлению символов (УГО) или компонентов...

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

Разработка цифровых продуктов с помощью ментальных моделей Привет, Хабр! Предлагаю вашему вниманию перевод статьи Designing Digital Products with Mental Models автора дизайнера Тима Шеинера. Лучший способ добиться взаимопонимания в проектной команде. Перевод — это сложно Когда-то, путешествуя по Индии, я купил недорогую книжку — ...

FFmpeg практика аппаратного декодирования DXVA2 Привет! Эта статья продолжение моей статьи FFmpeg начало работы Visual Studio. Здесь мы приступим к аппаратному декодированию RTSP-потока FULL HD. Заранее скажу, что с данной задачей легко справится даже Intel ATOM Z8350. Задача: аппаратное декодирование и запись до 4-х кад...

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

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

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

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

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

Разработка Kubernetes оператора с Operator Framework Как уже говорилось в статье Радар технологий, Lamoda активно двигается в направлении микросервисной архитектуры. Большинство наших сервисов упаковываются с помощью Helm и деплоятся в Kubernetes. Данный подход полностью удовлетворяет наши потребности в 99% случаев. Остается ...

Опытное производство электроники за минимальный прайс Привет, Хабр Почитал я некоторые ранее опубликованные статьи о том, как жить славному молодцу, перед которым встала задача спаять 10-50-100 устройств из резисторов и микросхем, и взгрустнул, ибо во всех в них советы были даны если не вредные, то и не сильно полезные. А во...

Марсоход Curiosity отметил 7 лет на Красной планете и сделал важные открытия С момента приземления на Марс Curiosity прошло уже долгих семь лет. За это время марсоход прошел долгий путь, он преодолел в общей сложности 13 миль (21 км) и поднялся на 1207 футов (368 метров) до своего текущего местоположения.

Управление персонажем с помощью SharedEvents Ссылка на проект В данной статье я хочу показать, как можно использовать SharedEvents для управления персонажем от третьего лица, который предлагает стандартный набор ассетов. О SharedEvents я писал в предыдущих статьях (этой и в этой). Добро пожаловать под кат! Читать да...

Наши руки не для скуки: восстановление кластера Rook в K8s Мы уже рассказывали, как/почему нам нравится Rook: в заметной мере он упрощает работу с хранилищами в кластерах Kubernetes. Однако с этой простотой приходят и определённые сложности. Надеемся, новый материал поможет лучше разбираться в таких сложностях ещё до того, как они...

[Из песочницы] Опыт использования telegram-канала для повышения узнаваемости и роста доходов игровой студии Telegram-каналов, да ещё про геймдев, не то чтобы много. Тем не менее, это хороший инструмент для привлечения партнёров и клиентов. Иногда даже работников. Делимся личным опытом, с какими сложностями можно столкнуться и какие итоги получили. Исходные данные Мы – небольшая ст...

Новое исследование Dell EMC: в настоящее время большинство компаний во всех странах мира осознают ценность данных, однако все еще сталкиваются со сложностями в их надлежащей защите Компания Dell EMC объявляет результаты третьего исследования Global Data Protection Index, демонстрирующего быстрый темп роста данных, который …

[Перевод] Модели дженериков и метапрограммирования: Go, Rust, Swift, D и другие В некоторых сферах программирования нормально хотеть написать такую структуру данных или алгоритм, которые могут работать с элементами разных типов. Например, список дженериков или алгоритм сортировки, которому нужна только функция сравнения. В разных языках предложены всев...

[Перевод] Рассказ о том, как не надо проектировать API Однажды я помогал товарищу, которому нужно было интегрировать с сайтом его клиента данные о свободном и занятом жилье из системы управления имуществом. К моей радости у этой системы было API. Но, к сожалению, устроено оно было из рук вон плохо. Я решил написать эту статью ...

Вейвлет-анализ.Часть 3 Введение При проведении CWT анализа средствами библиотеки PyWavelets (бесплатное программное обеспечение с открытым исходным кодом, выпущенное по лицензии MIT) возникают проблемы с визуализацией результата. Предложенная разработчиками тестовая программа по визуализации прив...

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

[Перевод] Язык программирования Swift на Raspberry Pi Raspberry PI 3 Model B+ В этом мануале мы разберем основы использования Swift на Raspberry Pi. Raspberry Pi — небольшой и недорогой одноплатный компьютер, потенциал которого ограничен лишь его вычислительными ресурсами. Он хорошо известен техногикам и любителям DIY. Это о...

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

[Из песочницы] Frontend для backend девелопера Сразу хочу оговорится, что данная статья не предназначена для тех, у кого разработка frontend основная деятельность. Целевая аудитория: разработчики backend которым понадобилось срочно прикрутить web UI или просто интересуются новыми областями, ну и возможно fullstack разраб...

Секреты API Android-устройств. Доклад Яндекса Одна из главных сложностей Android-разработки — фрагментация. Практически каждый производитель меняет Android под свои нужды. Разработчик Андрей Макеев перечислил отличия между реализациями вендоров и оригинальным Android Open Source Project. Из доклада можно узнать, как изв...

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

[Перевод] Обучение с подкреплением на языке Python Привет, коллеги! В последней публикации уходящего года мы хотели упомянуть о Reinforcement Learning — теме, книгу на которую мы уже переводим. Посудите сами: нашлась элементарная статья с Medium, в которой изложен контекст проблемы, описан простейший алгоритм с реализаци...

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

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

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

[Из песочницы] Криптографический алгоритм «Кузнечик»: просто о сложном В данной статье будет подробно рассмотрен алгоритм блочного шифрования, определенный в ГОСТ Р 34.12-2015 как «Кузнечик». На чем он основывается, какова математика блочных криптоалгоритмов, а так же как реализуется данный алгоритм в java. Кто, как, когда и зачем разработал д...

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

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

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

Архитектура Digital Workspace на платформе Citrix Cloud Введение Статья описывает возможности и архитектурные особенности облачной платформы Citrix Cloud и набора сервисов Citrix Workspace. Данные решения являются центральным элементом и основой для реализации концепции цифровых рабочих мест (digital workspaсe) от компании Citr...

Состоялась презентация «умных» серверов Fusion Server Pro от Huawei В ходе пресс-конференции под названием «+Intelligence, Taking Computingto New Levels» (Интеллект+: новый уровень вычислительных возможностей) бизнес-подразделение интеллектуальных вычислительных систем компании Huawei представило линейку «умных» серверов Fusion Server Pro. Б...

Особенности Samsung Galaxy Note10 пришли на обычные смартфоны Galaxy Компания Samsung обновила приложение Samsung Notes и теперь некоторые функции флагманского смартфона Samsung Galaxy Note10 стали доступны другим представителям линейки Galaxy Note и устройствам Galaxy вообще. Об этом сообщил ресурс SamMobile.  По данным источника,...

Окей, Google: как пройти капчу? Здравствуйте. Меня зовут Ибадов Илькин, я студент Уральского федерального университета. В данной статье я хочу рассказать о своем опыте автоматизированного решения капчи компании «Google» — «reCAPTCHA». Хотелось бы заранее предупредить читателя о том, что на момент написани...

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

[Из песочницы] Технологии Яндекс Турбо-страницы и Google AMP для e-commerce Введение Веб разработка давно двинулась в сторону мобильного контента. Тренд последних нескольких лет в пользу трафика с мобильных устройств вместо десктопа, привёл к тому что поисковики сначала стали требовать от сайтов адаптивности и быстрой скорости загрузки, а с 1 июля 2...

1000 прототипов Samsung Galaxy Fold, преемник выйдет уже в феврале Samsung опубликовала подробности о процессе разработки своего первого смартфона со сгибающимся экраном. В статье «От концепции до создания: проектирование Galaxy Fold» опубликованы интересные детали. На создание складного Samsung Galaxy Fold потребовались го...

Дискретная математика для WMS: алгоритм сжатия товаров в ячейках (часть 2) В статье мы расскажем, как разрабатывали алгоритм оптимального сжатия остатков товаров в ячейках. Расскажем как выбирали нужную метаэвристику среду «зоопарка» фреймворков: табу-поиск, генетический алгоритм, муравьиная колония и др. Проведем вычислительный эксперимент по ...

Нейросеть 2.5D Visual Sound превращает монофоническую аудиодорожку в бинауральную при наличии видеоряда Исследователи из Университета Техаса и команды Facebook Research разработали метод преобразования монофонического звука в бинауральный при наличии видеоряда. Алгоритм назвали 2.5D Visual Sound. Решение работает следующим образом. Получив в свое распоряжение видеозапись с мон...

Сложность майнинга биткоина вышла на новый рекордный уровень В результате очередного перерасчета сложность майнинга биткоина поднялась до нового исторического максимума, достигнув показателя в 7,459 T. Это ненамного превосходит предыдущий рекордный показатель в 7.45 T, зафиксированный в начале октября 2018 года. В целом, по данным пор...

[Из песочницы] Разработка визуальных тестов на базе Gemini и Storybook Привет, Хабр! В этой статье я хочу поделиться опытом разработки визуальных тестов в нашей команде. Так получилось, что о тестировании верстки мы задумались не сразу. Ну съедет какая-нибудь рамка на пару пикселей, ну поправим. В конце концов, есть же тестировщики — мимо них ...

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

Новой машиной Джеймса Бонда станет электромобиль Aston Martin Как передает The Guardian, в новом, 25-м фильме о Джеймсе Бонде будет использоваться полностью электрический автомобиль. Как и прежде, это будет модель Aston Martin: агент 007 будет водить первый электромобиль марки — Rapide E. Как отметил Кэри Фукунага, ре...

Исследователи обнаружили корреляцию между ценой биткоина и сложностью майнинга Исследователи аналитической платформы DataLight обнаружили занимательную корреляцию между ростом биткоина и сложностью его добычи. Так, в 2019 году увеличение сложности трижды предшествовало резкому ценовому движению вверх. Three recent Bitcoin Difficulty increases have beco...

[Перевод] Как работает kubectl exec? Прим. перев.: автор статьи — Erkan Erol, инженер из SAP — делится своим изучением механизмов функционирования команды kubectl exec, столь привычной для всех, кто работает с Kubernetes. Весь алгоритм он сопровождает листингами исходного кода Kubernetes (и связанных проектов),...

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

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

Балансировка красно-чёрных деревьев — Три случая Двоичные деревья поиска — эта структура данных для хранения элементов с возможностью быстрого поиска. Идея проста и гениальна: «меньше – налево, больше – направо». На этом простота заканчивается и начинаются сложные вопросы балансировки дерева, чтобы оно не превратилось в дл...

[Из песочницы] UICollectionView всему голова: Изменение представления на лету Привет, Хабр! Представляю вашему вниманию перевод статьи "UICollectionView Tutorial: Changing presentation on the fly". В данной статье мы рассмотрим использование различный способов отображение элементов, а также их переиспользование и динамическое изменение. Зде...

[Из песочницы] ShIoTiny: малая автоматизация, интернет вещей или «за полгода до отпуска» Основные тезисы или о чем эта статья Так как интересы людей разные, а времени у людей мало, то кратко о содержании статьи. Статья эта представляет собой обзор проекта контроллера с минимальной ценой и возможностью визуального программирования посредством WEB-браузера. Пос...

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

Maze: Shadow of Light 2.0.8 Игрока ждут увлекательные приключения в фэнтезийном мире игры. На протяжении прохождения полусотни уровней в одиночной кампании ему предстоит столкнуться со множеством противников, одолеть которых помогут уникальные умения подопечного персонажа. Также в перерывах между сраже...

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

[Перевод] Профилирование и трейсинг с perf Учимся дебажить с perf — целых 18 страниц про основные подкоманды, фичи и устройство инструмента. Джулия рекомендует; “Я даже использовала его несколько раз для профилирования Ruby программ!” Уровень сложности — для суперпродвинутого администратора. Когда нужно отыскать пр...

Media365 Reader 4.3.1092 Media365 Reader — стильное и удобное приложение для чтения электронных книг Android. С этой главной новой версии вы можете открыть более 50 форматов файлов через импорт в EPUB и PDF: Преобразование AZW, azw3, CBC, CBR, CBZ, CHM, DOCX, FB2, освещено, ФПС, Mobi, PDB, PM...

DrumHero: Как я делал первую в жизни игру В этом году социально-образовательной программе IT ШКОЛА SAMSUNG исполняется 5 лет (читайте об IT ШКОЛЕ здесь), и по этому случаю мы предложили нашим выпускникам рассказать о себе и опыте создания своих мобильных приложений. Мы верим, что при большом желании каждый может дос...

Huawei представляет базу данных типа AI-Native Решение откроет новые возможности использования искусственного интеллекта для преобразования информационной инфраструктуры.

Гуру процессоров Apple уходит из компании спустя девять лет Один из самых важных разработчиков процессоров Apple покинул компанию. Старший директор подразделении «Платформы Архитектуры» Джерард Уильямс III ушел из компании. Проработав в общей сложности около девяти лет в Apple. Уильямс руководил разработкой процессоров от Apple A7 ...

Простой ASN1-кодек на базе sprintf Транспортный синтаксис ASN.1 определяет однозначный способ преобразования значений переменных допустимых типов в последовательность байт для передачи по сети. В ASN.1 он называется базовыми правилами кодирования (Basic Encoding Rules, BER). Правила являются рекурсивными, так...

Как я познакомился с OpenCV или в поисках ColorChecker Я учусь в CS центре в Новосибирске уже второй год. До поступления у меня уже была работа в IT — я работал аналитиком в Яндексе, но мне хотелось развиваться дальше, узнать что-то за пределами текущих задач и, по совету коллеги, я поступил в CS центр. В этой статье я хочу расс...

Sberbank AI Journey. Как мы учили нейросеть сдавать экзамен Если вы закончили школу уже во времена ЕГЭ, то вам известно, что все задания в нём имеют набор стандартных формулировок и упорядочены по типам. С одной стороны, это облегчает подготовку к экзамену: школьник уже знает, что нужно делать в задании, даже не читая его условия. С ...

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

[Перевод] Reflective Shadow Maps: Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи «Reflective Shadow Maps» автора Eric Polman. Reflective Shadow Maps (RSM) (отражающие карты теней) ― это алгоритм, расширяющий “простые” shadow map. Алгоритм учитывает свет, рассеянный после первого попадания на пов...

Две стороны WebView: о быстром запуске проектов и краже персональных данных Привет, Хабр! Меня зовут Евгений, я Full Stack JS разработчик, текущий стек Node.js + React + React Native. В разработке я более 10 лет. В мобильной разработке пробовал разные инструменты от Cordova до React Native. Получив опыт работы с Cardova, я понял, что мне хотелось ...

Приглашаем на Droid Party — встречу, посвящённую практическим вопросам разработки Android-приложений и устройств 14 марта в московском офисе Яндекса команда Яндекс.Телефона поделится опытом своей работы. Участники расскажут, с какими сложностями столкнулись, какие шишки набили и какие полезные выводы сделали. Встреча начнётся в 18:30, регистрация открыта здесь. Мы запланировали четыре ...

[Перевод] Быстрое введение в Svelte с точки зрения разработчика на Angular Svelte — сравнительно новый UI фреймворк, разработанный Ричем Харрисом, который также является автором сборщика Rollup. Скорее всего Svelte покажется совершенно не похожим на то, с чем вы имели дело до этого, но, пожалуй, это даже хорошо. Две самые впечатляющие особенности э...

[Перевод] Дорогой Agile, мне надоело притворяться «Agile мёртв». Люди всё время так говорят. Но обязательно добавляют: «Мы просто шутим». Они типа имели в виду, что это у тебя такие неправильные и глупые практики, что это для тебя Agile мёртв. Но «настоящий» Agile не мёртв. Просто все его делают неправильно. Так что я пон...

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

Математика в Gamedev по-простому. Триангуляции и Triangle.Net в Unity Всем привет! Меня зовут Гриша, и я основатель CGDevs. Математика – очень крутой инструмент при разработке игр. Но если скажем без понимания векторов и матриц обойтись в принципе сложно, то алгоритмы триангуляций не столь обязательная вещь, но с помощью них решается достаточн...

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

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

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

Что ещё можно сделать в поиске? Доклад Яндекса В Яндексе есть служба разработки поисковых компонент, которая строит поисковую базу на MapReduce, обеспечивает выдачу данных вёрстке для рендеринга, формирует алгоритмы и структуры данных и решает ML-задачи роста качества. Алексей Шлюнкин, руководитель одной из групп внутри ...

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

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

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

Интернет-компании не поделили трафик с «Яндексом» По сведениям "Коммерсанта", интернет-компании рассчитывают решить вопрос на переговорах, но если "Яндекс" не пойдет им навстречу, готовы обращаться к антимонопольщикам. "Мы хотим отстаивать свои интересы, чтобы в поисковой выдаче не было такого, что ...

Создание простого разговорного чатбота в python Как выдумаете, сложно ли написать на Python собственного чатбота, способного поддержать беседу? Оказалось, очень легко, если найти хороший набор данных. Причём это можно сделать даже без нейросетей, хотя немного математической магии всё-таки понадобится. Идти будем маленьки...

Ускоряем PHP-коннекторы для Tarantool с помощью Async, Swoole и Parallel В экосистеме PHP на данный момент существует два коннектора для работы с сервером Tarantool ― это официальное расширение PECL tarantool/tarantool-php, написанное на С, и tarantool-php/client, написанный на PHP. Я являюсь автором последнего. В этой статье я хотел бы подели...

Обязанности поисковиков: как можно “редактировать” поиск в России Долгое время поиск информации в интернете напрямую законами не регулировался и никто не мог заставить поисковик показывать или скрывать определённую информацию в результатах поиска. Но с 2015 года российский законодатель успел предоставить право “редактировать” результаты...

Добавляем ZigBee устройства в Homebridge используя CC2531 На Хабре уже встречались статьи о том, как подружить ZigBee устройства различных производителей с системами управления умным домом, без использования фирменных хабов, вроде Xiaomi Gateway. Однако, инструкции для homebridge, я не нашел не только на Хабре, но и на других прост...

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

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

Показатели сложности и хешрейта Litecoin упали почти на треть Вскоре после халвинга Litecoin показатели хешрейта и сложности добычи «цифрового серебра» упали почти на треть. По данным BTC.com, сложность сети с момента халвинга снизилась на 28%. Эта ситуация может быть связана с прекращением работы части майнингового оборудования, ставш...

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

[Перевод] Python в Visual Studio Code — июньский релиз Мы рады сообщить, что расширение Python для Visual Studio Code от июня 2019 года уже доступно. Вы можете загрузить расширение Python из Marketplace или установить его прямо из галереи расширений в Visual Studio Code. Если у вас уже установлено расширение Python, вы также мож...

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

Разработка hexapod с нуля (часть 3) — математика Всем привет! Разработка гексапода продвигается и наконец-то базовая математическая часть протестирована и готова к документированию. Чтобы проект дожил до конца и не остался пылиться на полке нужно видеть его сдвиги в положительную сторону, даже если они незначительны. В эт...

Серийное производство электроники в России. Как мы делали телеметрию для вендинга Часто встречаемся с мнением, что производить в России электронику – занятие бессмысленное. Дорого, долго, плохо и вообще лучше делать в Китае. В этой статье мы бы хотели поделиться опытом разработки и серийного производства коммерческой электроники – модулей МТУТА. Мы ра...

[Перевод] Порождение событий, CQRS и Laravel Перевод статьи подготовлен для студентов профессионального курса «Framework Laravel» ________________________ Введение Эта статья посвящена основам создания событийных CQRS-систем на языке PHP и в фреймворке Laravel. Предполагается, что вы знакомы со схемой разработки с ...

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

Параллельное обновление данных в ASP.NET Web API Хочу рассказать, как мы организовали фоновое обновление данных во время запроса к REST-сервису. Задача следующая: система хранит данные о пользователях. Cервис работает изолированно и не имеет прямого доступа к базам с этими данными. Для работы сервису необходимо иметь в св...

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

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

[Из песочницы] OpenAI Gym+ROS+Gazebo: обучение автономного робота в домашних условиях. Часть 1 За последние несколько лет мы стали свидетелями внедрения технологий искусственного интеллекта в нашу повседневной жизни — от роботов-пылесосов до беспилотных дронов. Все они, управляемые искусственным интеллектом, уже являются для нас обыденностью. Но несмотря на это, проце...

0, 0, 1, 0, 2, 0, 2, 2, 1, 6, 0, 5, 0, 2, 6, 5, 4, 0, 5, 3, 0, 3, 2, 9, 0, 4, 9, 3, 6, 14, 0, 6, 3, 5, 15, 0, 5, 3, 5… Есть два мужика с именами «Van Eck». Первый, в 1985 году показал всему миру как за 15 долларов перехватывать данные с монитора (Van Eck phreaking), второй, в 2010 придумал хитрую последовательность (Van Eck's sequence). Круче простоты задания этой последовательности могут бы...

Business Email Compromise: атака, от которой нет защиты Киберпреступники изобрели множество вариантов кибератак, отличающихся по сложности технической реализации и эффективности. Среди них особое место занимает атака, которая удивительна своей технической простотой и результативностью, — Business Email Compromise (BEC), или ата...

[Из песочницы] Вариация на тему моделирования жизни Жизнь Джона Конвея Полагаю, всем программистам хорошо известен клеточный автомат жизнь (или эволюция), придуманный английским математиком Джоном Конвеем в 1970 году. Возможно, некоторые даже корпели над самописной программой, моделирующей клеточный автомат Конвея. Читать дал...

[Перевод] Как я создал фильтр, не портящий изображение даже после миллиона прогонов Завершив создание веб-архитектуры для нашего нового веб-комикса Meow the Infinite, я решил, что самое время написать несколько давно назревших технических статей. Данная статья будет посвящена фильтру, разработанному мной несколько лет назад. Он никогда не обсуждался в облас...

Видеостудия на базе i486 Как многие старьевщики, я люблю время от времени помучить ebay поисками разных старых железок, вдруг, найдется что-нибудь интересненькое занедорого? И оно нередко находится. Да, искать что-то мейнстримово-винтажное, типа материнских плат для 386, 486, памяти SIMM 30 pin, вид...

Результаты исследования Dell EMC Global Data Protection Index Новое исследование Dell EMC: в настоящее время большинство компаний во всех странах мира осознают ценность данных, однако все еще сталкиваются со сложностями в их надлежащей защите. Согласно опросу 2200 ИТ-руководителей из 18 стран, с 2016 года число компаний, не способных в...

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

GraphQL Voyager как инструмент для поиска уязвимостей В настоящее время все больше компаний начинают использовать GraphQL. Это относительно новая технология (если быть более точным, то это язык запросов), которая призвана решить существующие проблемы REST. Если вы еще не знакомы с GraphQL, то рекомендую начать с ресурсов: ...

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

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

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

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

Обучающий курс по DataPower Материал подготовлен в соавторстве с пользователем wedmeed В 2017 году, когда начинался наш проект во Вьетнаме, мы столкнулись с новым для нас зверем IBM DataPower. IBM DataPower – продукт, представляющий собой gateway между клиентами и бэкендами, предназначенный для фильтр...

Sophos XG Firewall: От классического МЭ до NGFW с автоматической реакцией на ИБ инциденты В настоящее время происходят изменения в архитектуре угроз и резкое увеличение числа и сложности систем безопасности и, конечно, происходит эволюция в разработке средств защиты, в том числе межсетевых экранов. Межсетевые экраны нового поколения (Next-Generation Firewall, NG...

Джон Альфонсо Ромеро — человек, который создал Doom и Quake На прошедшем IT-фестивале Tech Train мы встретились с легендарным Джоном Ромеро, который приложил руку к дизайну и разработке культовых Wolfenstein 3D, Doom и Quake. Мы поговорили о том, нужны ли игровым разработчикам софт-скиллы, на какие рабочие инструменты стоит обратить ...

Как работает PageRank: реализация на языке R через линейную алгебру и power-метод Привет, хабровчане! Меня зовут Алексей. На этот раз я вещаю с рабочего места в ИТАР-ТАСС. В данном небольшом тексте я познакомлю вас с методом расчета PageRank © (далее буду называть его ПР) на простых, понятных примерах, на языке R. Алгоритм является интеллектуальным дос...

Amazon Braket дает возможность попробовать квантовые вычисления Компания Amazon в лице своего подразделения Amazon Web Services (AWS) представила облачный сервис Amazon Braket. По словам AWS, это «полностью управляемый сервис, который облегчает ученым, исследователям и разработчикам создание, тестирование и запуск алгоритмов к...

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

L4 Firewall должен быть в 10 раз дешевле L7 Firewall при одной и той же скорости трафика Мало кто из современных сетевых специалистов изучает как же на самом деле работает межсетевой экран. Это приводит к странным ситуациями. Часто сталкиваюсь в тендере с тем, что заказчик не понимает разницы между межсетевыми экранами разных типов. Очень часто человек считает...

[Из песочницы] ОС реального времени AQUA RTOS для МК AVR в среде BASCOM AVR При написании для МК кода посложнее, чем «помигать лампочкой», разработчик сталкивается с ограничениями, присущими линейному программированию в стиле «суперцикл плюс прерывания». Обработка прерываний требует быстроты и лаконичности, что приводит к добавлению в код флагов и п...

От «Цветорасширителя для ZX-Spectrum» до ZX-Poly "Цветорасширитель для ZX-Spectrum" — так называлась статья, опубликованная в эхе fido7.zx.spectrum 3 августа 1997 года. Статья описывала идею решения одной из главных проблем платформы ZX-Spectrum — конфликта атрибутов (attribute clash). Публикация вызвала в то время определ...

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

Компания Intel анонсировала графический процессор Ponte Vecchio На конференции разработчиков суперкомпьютеров в Деневере компания Intel вчера рассказала о графическом ускорителе общего назначения (GPGPU), оптимизированном для суперкомпьютерных вычислений и искусственного интеллекта. Он построен на графической архитектуре Xe и носит ...

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

[Из песочницы] Простые эксперименты с микроконтроллером STM32F103 («Голубая таблетка») Многие приобрели «голубую таблетку» на попробовать. Но из-за сложности программирования данная вещь оказалась где то на полке, до лучших времен. Будем считать, что «лучшие времена» — наступили. Читать дальше →

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

[Перевод] Коллапс волновой функции: алгоритм, вдохновлённый квантовой механикой Алгоритм Wave Function Collapse генерирует битовые изображения, локально подобные входному битовому изображению. Локальное подобие означает, что (C1) Каждый паттерн NxN пикселей в выходных данных должен хотя бы раз встречаться во входных данных. (Слабое условие C2) Распр...

Шестерни в Box2D Добрый день, дорогой читатель! Это уже четвертая статья по Box2D. И здесь я предложу готовое решение для программистов. Мне самому нужны были шестерни для моего проекта, и я сделал 4-х, 6-и, 12-и и 24-х зубчатые колеса. Код занял 2115 строк, 4 дня работы. И я хочу поделиться...

Aston Martin презентовала свой первый электромобиль Aston Martin Лифтбек Rapide E получил два электрических мотора, выдающими в общей сложности 610 лошадиных сил и 950 Нм крутящего момента. До первой «сотни» электромобиль, по словам Aston Martin, способен разгоняться примерно за четыре секунды, а максимальная скорость со...

[Из песочницы] Основы реактивного программирования с использованием RxJS Часть 1. Реактивность и потоки Данная серия статей посвящена реактивности и ее применению в JS с использованием такой замечательной библиотеки как RxJS. Для кого эта статья: в основном, здесь я буду объяснять основы, поэтому в первую очередь статья рассчитана на новичков в ...

Справочная: как устроен процесс Continuous Integration Сегодня мы обратимся к истории термина, обсудим сложности внедрения CI и приведем несколько популярных инструментов, которые помогут с ним работать. Читать дальше →

8 худших вопросов на собеседовании по Vue.js Привет, Хабр! Вы любите собеседования? И часто проводите их? Если ответ на второй вопрос «Да», то среди кандидатов вам наверняка встречались отличные и умные люди, которые отвечали на все ваши вопросы и приближались к концу зарплатной вилки. Но вы, конечно, не хотите плати...

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

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

[Перевод] Функция Data Saver для Chrome на Android теперь доступна и для HTTPS Google помогает пользователям Android быстрее работать в Chrome с улучшенным режимом Data Saver, который, как утверждается, может сократить использование данных до 90% и сократить время загрузки веб-страниц даже в медленных сетях. Однако до сих пор он работал только с HTTP-с...

Очередные странности в алгоритмах ГОСТ Кузнечик и Стрибог Привет, %username%! Криптографические алгоритмы в России не проходят через открытые конкурсы, их просто спускают нам свыше. И рано или поздно это сильно нам аукнется. Эта статья об очередном исследовании наших ГОСТов. Читать дальше →

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

[Перевод] Экономика внимания почти мертва Но у Fortnite, возможно, найдётся лекарство Экономика внимания умирает, и это неприятное зрелище; человек может обращать своё внимание на что-либо (тут я имею в виду рекламу) лишь определённое количество времени ежедневно, и наше сообщество достигло этого предела. Но при э...

[Перевод] Как встроить С-библиотеку в Swift-фреймворк В 2014 году был представлен Swift, новый язык для разработки приложений экосистемы Apple. Новинка принесла не только новые возможности и функции, но и проблемы — тем, кто хотел пользоваться старыми добрыми C-библиотеками. В этой статье я рассмотрю одну из них — бандлинг C-...

DxOMark: Huawei Mate 30 Pro обладает лучшей в мире камерой Специалисты DxOMark рассмотрели камеру в новейшем флагманском аппарате Mate 30 Pro от китайской Huawei — это тот самый смартфон, который был лишён всяких служб Google (включая магазин приложений Play) из-за санкций США. В остальном это вполне современный аппарат, наделённый ...

Low-code в действии и новые требования к бизнес-аналитикам Платформы low-code могут и со временем должны стать инструментом бизнес-заказчика, сокращая разрыв между требованиями и реализацией. Пока зачастую ситуация выглядит так: ● заказчик испытывает сложности с формулировкой ...

Анализ производительности виртуальной машины в VMware vSphere. Часть 1: CPU Если вы администрируете виртуальную инфраструктуру на базе VMware vSphere (или любого другого стека технологий), то наверняка часто слышите от пользователей жалобы: «Виртуальная машина работает медленно!». В этом цикле статей разберу метрики производительности и расскажу, ...

Сравнение производительности: 3D-карта Nvidia RTX 2080 быстрее RTX 2080 Max-Q на 37%, а RTX 2070 опережает RTX 2070 Max-Q всего на 8% Ноутбуки, оснащенные видеокартами Nvidia RTX поступили в продажу совсем недавно, поэтому у пользователей есть определенные сложности в сравнении возможностей этих ускорителей друг относительно друга. Источник взялся исправить эту ситуацию. Пять моделей видеокарт прогнал...

Майнинг возвращается? Доходность добычи биткоина вышла на уровень июля прошлого года По данным аналитического сервиса blockchain.com, суточный доход биткоин-майнеров достиг $17,5 млн. Примерно такой же уровень доходности был в последний раз зафиксирован еще в конце июля прошлого года. В то время биткоин торговался в районе $8000. На фоне роста цены повышаетс...

Блокчейн как платформа цифровой трансформации Традиционно ИТ-системы предприятий формировались под задачи автоматизации, поддержки целевых систем, таких, например, как ERP. Сегодня организациям приходится решать иные задачи – задачи цифровизации, цифровой трансформации. Делать это на основе прежней ИТ-архитектуры сложно...

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

Новый алгоритм в 200 раз ускоряет автоматическое проектирование нейросетей ProxylessNAS напрямую оптимизирует архитектуры нейронных сетей для конкретной задачи и оборудования, что позволяет значительно увеличить производительность по сравнению с предыдущими прокси-подходами. На наборе данных ImageNet нейросеть проектируется за 200 GPU-часов (в 20...

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

Методика D.I.Y. проекта. Часть вводная Данная статья написана радиолюбителем, имеющим опыт руководства проектами по разработке и постановке на производство сложной радиоэлектронной аппаратуры. Цель данной статьи: помочь энтузиастам в организации их проектной деятельности, а также обозначить различия в подходах ...

[Перевод] Последствия переписывания компонентов Firefox на Rust В прошлых статьях цикла мы обсудили безопасность памяти и безопасность потоков в Rust. В этой последней статье посмотрим на последствия реального применения Rust на примере проекта Quantum CSS. Движок CSS применяет правила CSS на странице. Это нисходящий процесс, который с...

ShIoTiny: обновления и уведомления О чем эта статья Продолжаем цикл статей о ShIoTiny — визуально программируемом контроллере на базе чипа ESP8266. В этой статье рассказано о том, что изменилось со времени предыдущей прошивки ShIoTiny: как изменился интерфейс пользователя; как переназначить «ножки» и други...

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

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

БД ClickHouse для людей, или Технологии инопланетян Алексей Лизунов, руководитель направления центра компетенций дистанционных каналов обслуживания дирекции информационных технологий МКБ В качестве альтернативы стеку ELK (ElasticSearch, Logstash, Kibana) мы проводим исследовательские работы по использованию БД ClickHouse в к...

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

Кирилл Толкачёв и Максим Гореликов про Spring Boot на jug.msk.ru На встрече московского сообщества Java-разработчиков jug.msk.ru, состоявшейся 28 июня 2019 года традиционно в офисе компании КРОК, Кирилл Толкачёв и Максим Гореликов представили свой доклад о Spring Boot: какие задачи можно решить с помощью него, какие сложности могут при эт...

Получаем абсолютные курсы из парных кросс-курсов валют Проект: “Абсолютный курс валют” Введение О проекте Проект “Абсолютный курс валют” занимается анализом парных валютных курсов, выделением из них абсолютных валютных курсов и их анализом. В рамках проекта получена методика преобразования от парных курсов к абсолютным валютным...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 29. PAT и NAT Сегодня мы будем изучать PAT (Port Address Translation), технологию трансляции IP- адресов с использованием портов, и NAT (Network Address Translation), технологию преобразования IP-адресов транзитных пакетов. PAT является частным случаем NAT. Мы рассмотрим три темы: — пр...

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

Шпаргалка по структурам данных в Go Некоторые компании проводят собеседования с online написанием кода. Требуется решить олимпиадную задачку на скорость. В таких условиях нет времени посмотреть подробности реализации структур данных — нужно сразу реализовать идею. Но курсы по алгоритмам и структурам данных да...

Будущее инфраструктур центров обработки данных Архитектуры центров обработки данных общего назначения (такие ЦОДы сегодня все еще широко применяются) хорошо отрабатывали свои задачи в прошлом, но с недавних пор большинство из них достигли своих границ масштабируемости, производительности и эффективности. В архитектуре та...

«Маленькая книга о черных дырах» Несмотря на сложность рассматриваемой темы, профессор Принстонского университета Стивен Габсер предлагает емкое, доступное и занимательное введение в эту одну из наиболее обсуждаемых сегодня областей физики. Черные дыры — это реальные объекты, а не просто мысленный эксперим...

Wonderware Kazakhstan 2019. Алматы Конференция о цифровой трансформации и преобразовании производства.

Wonderware Kazakhstan 2019. Нур-Султан Конференция о цифровой трансформации и преобразовании производства.

Автомобиль в эпоху мультифункциональности. Какие преобразования возможны? | “Развитие всех систем идет в направлении увеличения степени идеальности.» Законы развития технических систем (Г.С. Альтшуллер). Урбанизация в «зеленом» стиле в своем максимуме как бы это странно не звучало «не содержит варианты с использованием личных электромобилей в...

[Из песочницы] О чем молчит EXPLAIN, и как его разговорить Классический вопрос, с которым разработчик приходит к своему DBA или владелец бизнеса — к консультанту по PostgreSQL, почти всегда звучит одинаково: «Почему запросы выполняются на базе так долго?» Традиционный набор причин: неэффективный алгоритм когда вы решили сделать J...

Big Data для ТВ-аналитики "ТВ - Аналитика" позволяет определить каналы и передачи, которые смотрит целевая аудитория; предложить оптимальное время и канал присутствия целевой аудитории; проанализировать эффективность прошедшей рекламной кампании.Обезличенные данные собираются по абонентско...

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

Энтропийное кодирование rANS или как написать собственный архиватор Эта статья может быть интересна тем, кто занимается сжатием данных или хочет написать собственный архиватор. Статья написана, в основном, по материалам блога, который ведёт Fabian Giesen. Читать дальше →

[Из песочницы] Parse & Android: рекомендации начинающим разработчикам Аннотация В данной статье я бы хотел поделиться общими впечатлениями от использования BaaS – решения под названием Parse для разработки бэкэнда Android-приложения, рассказать о всех «подводных камнях», с которыми мне пришлось столкнуться в период разработки. Впервые эту плат...

Как написать сапера на Phaser и выполнить тестовое задание HTML5 разработчика Добрый день, уважаемые коллеги! Меня зовут Александр, я разработчик HTML5 игр. В одной из компаний, куда я отправлял свое резюме, мне предложили выполнить тестовое задание. Я согласился и, спустя 1 день, отправил в качестве результата разработанную по ТЗ HTML5 игру. Поск...

Семь кругов Octa: с какими сложностями на старте столкнулся российский производитель жидкого заменителя пищи Выбивание долгов из Ginza Project, неудачные переговоры с «Азбукой вкуса» и другие трудности, которые пришлось преодолеть основателям компании Андрею Редуто и Михаилу Максимову. ...

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

iPhone 2021 года получит экранный сканер и Face ID В 2021 году Apple выпустит инновационный iPhone, который будет оснащен сразу двумя биометрическими технологиями — экранным сканером Touch ID и опцией для распознавания лиц Face ID. В этом уверен известный аналитик Минг Чи-Куо. По его словам, соответствующие разработки...

Основы реактивного программирования с использованием RxJS. Часть 3. Higher Order Observables В данной статье мы рассмотрим, как можно в одном потоке обрабатывать другой, для чего это нужно, и как нам в этом помогут операторы Higher Order Observables (дальше HOO). При работе с потоками часто возникает ситуация, когда необходимо в качестве значения одному потоку пе...

bobaos.pub — KNX TP/UART, Raspberry Pi и Redis Нет предела совершенству. Казалось бы, все работало хорошо, исправлялись мелкие баги и прочее. Сейчас я расскажу, во-первых, о проблемах, с которыми столкнулся за все время, прошедшее с момента предыдущей статьи, и, во-вторых, о решениях, которые способствовали текущему ст...

[Из песочницы] Универсальное DRO на базе Arduino Nano — shDRO Дамы и господа, здравствуйте. В данной статье я расскажу о разработке устройства для снятия показаний с цифровых линеек и других датчиков, размещенных на токарных и фрезерных станках. Разработка ещё не завершена и будет описано то, что сделано на данный момент. Кому интер...

По заветам фантастов. Microsoft Project Silica — 75,6 ГБ данных в маленьком куске стекла На сегодняшний день сотни гигабайт на крошечных флэшках выглядят максимально обыденно, хотя не так уж и давно основным носителем информации был диск, а флэшки казались чем-то из области фантастики. Пока неясно, когда мы получим какой-то совершенно новый тип носи...

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

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

Badoo Jira API Client: магия в Jira на PHP Если в строке поиска на Хабре ввести “Jira Badoo”, результаты займут не одну страницу: мы упоминаем её почти везде, потому что она играет важную роль в наших процессах. Причём каждый из нас хочет от нее немножко разного. Разработчик, которому пришла задача на ревью, ожида...

[Перевод] Сложное модульное архитектурное окружение в UE4 Тайлер Анлауф подготовил подробный анализ модульного окружения ROME: Church of Sant’Ivo созданного им в UE4 и 3ds Max. В статье он рассказывает о предварительном черновом плане (blockout), модульной сборке, освещении, постобработке и многом другом. ROME: Church of Sant’Ivo...

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

Делаем ретро-игру из 80-х или как готовить макеты для лазерной резки Хабр, привет! Так получилось, что меня давно просили сделать старую настольную игру из СССР — «Сражение». Вот пришло время выполнять обещание, заодно решила показать как создавать макеты для лазерной резки и что получается в итоге. Большой сложности в этом нет, но есть неко...

Физики считают, что в жизнь может существовать в 2D-мире Почему мы живем во Вселенной с тремя пространственными и одним временным измерением — 3 + 1, как сказали бы космологи? Почему именно такая комбинация, а не 4 + 2 или 2 + 1? За последнее десятилетие физики много раз исследовали этот вопрос, задумывая другие вселенные с други...

Статистика и мониторинг PHP скриптов в реальном времени. ClickHouse и Grafana идут на помощь к Pinba В этой статье я расскажу как использовать pinba совместно с clickhouse и grafana вместо pinba_engine и pinboard. На php-проекте pinba — пожалуй единственный надёжный способ понять, что происходит с производительностью. Правда обычно pinba внедряется только тогда, когда уже н...

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

Dassault Systemes поможет Boom Supersonic ускорить разработку самого быстрого коммерческого авиалайнера в истории Компания Dassault Systèmes объявила о партнерстве с компанией Boom Supersonic. В рамках сотрудничества Dassault Systèmes развернет платформу 3DEXPERIENCE, которая позволит ускорить проектирование и разработку авиалайнера Overture. Ожидается, что Overture б...

Серверные процессоры AMD EPYC Rome могут получить 162 линии PCIe Gen 4 Новые серверные процессоры AMD EPYC поколения Rome будут представлены уже в следующем месяце. Мы уже имеем определённое представление об их возможностях и знаем, что они получат поддержку до 128 линий PCIe Gen 4. Но, похоже, это ещё не предел их возможностей. Подробнее об эт...

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

[recovery mode] REST страсти по 200 Давно я хотел написать эту статью. Все думал — с какой стороны зайти правильнее? Но, вдруг, недавно, на Хабре появилась подобная статья, которая вызвала бурю в стакане. Больше всего меня удивил тот простой факт, что статью начали вбивать в минуса, хотя она даже не декларир...

Лучшие Copy-Paste алгоритмы для C и C++. Сборник рецептов Haiku OS Многочисленные опечатки и Copy-Paste код стали темой для дополнительной статьи о проверке кода Haiku анализатором PVS-Studio. Впрочем, будут ошибки, связанные не сколько с опечатками, а скорее с невнимательностью и неудачным рефакторингом. Найденные примеры ошибок демонстрир...

[Перевод] Выявление мошенничества с помощью алгоритмов случайного леса, нейронного автокодировщика и изолирующего леса Согласно отчёту Nilson о ситуации с банковскими картами и мобильными платежами, суммарный объём потерь в результате мошенничества ещё в 2016-м достиг $22,8 млрд, что на 4,4% больше, чем в 2015-м. Это только подтверждает необходимость для банков научиться распознавать мошен...

Новый смартфон Samsung Galaxy A90 Samsung продемонстрировал концепт будущего смартфона Samsung Galaxy A90. Согласно информации, Galaxy A90 будет работать на процессоре Snapdragon 715 SoC, это преемник Snapdragon 710/712. Смартфон будет демонстрировать 6,7-дюймовый Full-HD+ OLED-дисплей, оснащенный технол...

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

Модернизация GHIDRA. Загрузчик для ромов Sega Mega Drive Приветствую вас, товарищи. Не слышал о пока-ещё-не-опенсорсной GHIDRA, наверное, только глухой/слепой/немой/без_интернета реверс-инженер. Её возможности из коробки поражают: декомпиляторы для всех поддерживаемых процессоров, простое добавление новых архитектур (с сразу же а...

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

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

[Перевод] Как заставить ваши веб-приложения работать в автономном режиме Сила JavaScript и браузерного API Мир становится все более взаимосвязанным — число людей, имеющих доступ к Интернету, выросло до 4,5 миллиардов. Но в этих данных не отражено количество людей, у которых медленное или неисправное интернет соединение. Даже в Соединенных Шта...

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

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

Arend – язык с зависимыми типами, основанный на HoTT (часть 1) В данном посте мы поговорим о только что выпущенном JetBrains языке с зависимыми типами Arend. Этот язык разрабатывался JetBrains Research на протяжении последних нескольких лет. И хотя репозитории уже год назад были выложены в открытый доступ на github.com/JetBrains, полноц...

Боль и слёзы в Svelte 3 Вместо предисловия Статья будет полезна тем, кто так-же как и Мы решил попробовать Svelte в живом проекте. В нашу небольшую компанию пришёл заказ на разработку веб-админки для сервиса с бекэндом на Mongodb Stitch. В последние пару лет frontend Мы пишем на React или Vue (в за...

[Из песочницы] Польза строгой типизации в C++: практический опыт Наша программа обрабатывает сетевые пакеты, в частности, заголовки TCP/IP/etc. В них числовые значения — смещения, счетчики, адреса — представлены в сетевом порядке байтов (big-endian); мы же работаем на x86 (little-endian). В стандартных структурах, описывающих заголовки, э...

[Из песочницы] Как я делился местоположением через ВК API Недавно решил попробовать реализовать идею о том, как можно делиться местоположением через API ВКонтакте с друзьями в режиме, приближенном к реальному времени. На выходе получилось кроссплатформенное Qt-приложение для iOS/Android, веб-приложение для ВКонтакте и парочка pull ...

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

[Из песочницы] Опыт создания игры для Android в одиночку с нуля и как ее зафичерили на Google Play Привет! Меня зовут Ибрагим, я — начинающий инди-разработчик. У меня всегда было желание заняться программированием, но меня отпугивала сложность и неопределенность выбора (что именно изучать и делать). И лишь 2 года назад я все-таки преодолел этот психологический барьер, смо...

BLE под микроскопом 4 BLE под микроскопом. Часть 4 Несколько слов о whitelist-е. Так сложилось, что я на долгое время отошел от темы BLE. Но вот вернулся:-) Сегодня я хочу затронуть тему whitelist. Для чего это нужно? Если мы хотим что бы с нашим гаджетом работали только определенные телефоны,...

Основы шаблонов С++: шаблоны функций Дисклаймер: статья была начата еще в феврале, но, по зависящим от меня причинам, закончена не была. Тема очень обширна, поэтому публикуется в урезаном виде. Что не поместилось, будет рассмотренно позже. Невозможно разбираться в современном С++, не зная, что такое шаблоны п...

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

[Перевод] Введение в Example Mapping Прежде чем взяться за работу над user story, очень важно определить для себя критерии приемки. Это можно сделать, когда вы детализируете бэклог или планируете  ближайший спринт. Некоторые команды для этого проводят специальные встречи, которые называются 3 Амиго (подробнее о...

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

Web. Решение задач с r0от-мi. Часть 2 Данная статья содержит решение заданий, направленных на эксплуатацию web-узвимостей. Статья ориентирована в основном на новичков, которые хотят разобараться в заголовках HTTP и учавствовать в CTF. Ссылки на предыдущие части этого раздела: Web. Решение задач с r0от-мi. Час...

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

[Из песочницы] Немного о порождающих шаблонах проектирования Тема шаблонов проектирования достаточно популярна. По ней снято много роликов и написано статей. Объединяет все эти материалы «анти-паттерн» Ненужная сложность (Accidental complexity). В результате примеры заумные, описание запутанное, как применять не понятно. Да и главная ...

Быстрее OnePlus 7 Pro, Samsung Galaxy S10+ и всех остальных. Смартфон LG V50 ThinQ возглавляет рейтинг производительности ИИ На сайте Slashleaks опубликовали рейтинг самых производительных смартфонов в тесте, который испытывает производительность систем искусственного интеллекта. Данный рейтинг с итоговой оценкой AI Score 27 107 баллов возглавил смартфон LG V50 ThinQ, следом за которым идет V...

Обзор IPSec в Mikrotik IPSec (IP Security) — набор протоколов и алгоритмов для шифрования данных в IPv4 и IPv6 сетях. Звучит не сложно, но IPSec не устанавливает четких правил для шифрования трафика, вместо этого разработчики реализуют набор инструментов (протоколов и алгоритмов), используя которы...

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

Autodesk Maya: полезные базовые функции для работы с 3Д моделями Недавно я столкнулся лицом к лицу с таким зверем как Autodesk Maya. За плечами у меня не было опыта в работе с 3Д моделированием и пришлось в экстренном порядке прокачиваться, начиная с основ, а также ознакомится с функциональностью данного ПО, чтобы проверить работу плагина...

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

Переходник Shoten Techart TZE-01 будет представлен на будущей неделе На выставке CP+ 2019 компания Shoten представит переходник Techart TZE-01. Он позволит устанавливать объективы с креплением Sony E на камеры Nikon Z. Производитель уже опубликовал фотографии, дающие преставление о новинке. Источник уточняет, что новинка — по сути...

Почему Apple выпустила бету iOS 13.1 до релиза iOS 13 Почему iOS 13.1 вышла так рано? У Apple были причины В начале этой недели Apple выпустила первую бета-версию iOS 13.1. Сначала все решили, что в Купертино просто ошиблись в нумерации апдейтов и в скором времени выпустят патч, который вернёт все в исходное состояние. Однако и...

К 2020 году больше половины компаний будут активно внедрять «цифру» в свой бизнес Согласно данным IDC, по всему миру в ближайшие 5 лет расходы на цифровую трансформацию удвоятся, достигнув к 2022 году 1,97 трлн. $. Уже к началу 2020 года порядка 55% организаций будут как минимум иметь реальную стратегию цифрового развития с четко определенной дорожной кар...

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

[Из песочницы] Странные они, статические переменные в PHP Дисклеймер: данная статья не явит вам какого то откровения и не откроет третий глаз, но позволит разобраться в не очень очевидном вопросе более детально. Мне по крайней мере при ее написании она в этом помогла. Если вы матерый волк в php то можете не читать, опытным человека...

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

Как выдержать повышенные нагрузки на систему: рассказываем о масштабной подготовке к Черной Пятнице Привет, Хабр! В 2017 году во время Черной Пятницы нагрузки выросли почти в полтора раза, и наши сервера находились на пределе возможностей. За год количество клиентов значительно выросло, и стало понятно, что без тщательной предварительной подготовки платформа может просто...

[Из песочницы] Три парадигмы Привет, Хабр! Предлагаю вашему вниманию перевод статьи «Three Paradigms» автора Robert C. Martin (Uncle Bob). За последние 40 лет технологии аппаратного обеспечения увеличили вычислительную мощность наших устройств более чем на двадцать порядков. Теперь мы играем в Angry ...

[Перевод] Разбираемся с передачей видео в разрешении 4К на 60 Гц через хаб USB-C USB-C предлагает новые потрясающие возможности, включая подключение внешних мониторов по USB-порту. Распространены недорогие конвертеры USB-C на DisplayPort и HDMI. Также часто встречаются хабы USB-C с поддержкой внешних мониторов, однако попытки разобраться в их возможнос...

ГК «А101» (относится к Группе «САФМАР» М.Гуцериева) создаст BUENA VIDA в ЖК «Испанские кварталы» Холдинг «А101» (входит в Группу «САФМАР» М.Гуцериева) анонсировал создание в первом районе жилого комплекса «Испанские кварталы» BUENA VIDA. Отчетная локация станет первым местом в пределах НАО г. Москвы, где будет сделан фокус на передаче знаний и формировании определенного...

Калькуляторы, сканеры и календари из Google Play списывали деньги со счетов пользователей Google Play далёк по безопасности от App Store Подписка — вещь хоть и удобная, в то же время весьма опасная. Стоит зазеваться и не отключить автопродление, как она будет с настойчивой периодичностью маятника списывать средства с вашей банковской карты. И ладно бы прило...

[Перевод] Автоматические canary деплои с Flagger и Istio CD признано в качестве практики корпоративного программного обеспечения и является результатом естественной эволюции устоявшихся принципов CI. Однако CD по-прежнему является довольно редким явлением, возможно, из-за сложности управления и страха перед неудачными деплоями, в...

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

Textly.AI – сервис для улучшения письменного английского Всем привет! Сегодня хотел рассказать вам о своем новом проекте – онлайн-помощнике для исправления ошибок в англоязычных текстах Textly.ai. Это сервис для тех, кто использует английский язык в коммуникациях или хочет улучшить навыки письма. Как это работает: расширения для ...

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

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

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

[Перевод] Конфиденциальность данных, IoT и Mozilla WebThings От переводчика: краткий пересказ статьиЦентрализация устройств умного дома (вроде Apple Home Kit, Xiaomi и прочих) — это плохо, потому что: Пользователь становится зависим от определённого вендора, ведь устройства не могут общаться между собой за пределами одного произво...

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

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

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

Американские телекомы поборются с телефонным спамом В США набирает обороты технология аутентификации абонентов — протокол SHAKEN/STIR. Поговорим о принципах его работы и потенциальных сложностях внедрения. Читать дальше →

Kubernetes tips & tricks: о локальной разработке и Telepresence Нас все чаще спрашивают про разработку микросервисов в Kubernetes. Разработчики, особенно интерпретируемых языков, хотят быстро поправить код в любимой IDE и без ожидания сборки/деплоя увидеть результат — по простому нажатию на F5. И когда речь шла про монолитное приложени...

DARPA займется разработкой ракетного ядерного двигателя Агентство DARPA в 2020 году планирует начать работу по созданию ядерного ракетного двигателя. Задача — разработка такого движка, который можно было бы использовать для передвижения космических транспортников в пределах лунной орбиты. Финансирование проекта составляет $10 м...

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

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

[Перевод] Jupyter Notebook в Netflix В последнее время Jupyter Notebook стал очень популярен среди специалистов Data Science, став де-факто стандартом для быстрого прототипирования и анализа данных. В Netflix, стараемся раздвинуть границы его возможностей еще дальше, переосмысливая то, чем может быть Notebook, ...

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

[Перевод] Ещё лучшая ZIP-бомба В статье показано, как создать нерекурсивную zip-бомбу, которая обеспечивает высокую степень сжатия путём перекрытия файлов внутри zip-контейнера. «Нерекурсивная» означает, что она не зависит от рекурсивной распаковки декомпрессорами файлов, вложенных в zip-архивы: здесь все...

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

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

[Из песочницы] Phoenix LiveView: когда вам больше не нужен JavaScript* * для создания динамической страницы Не так давно 12.12.2018 был анонсирован выход новой библиотеки для фанатов phoenix framework под названием Phoenix LiveView. Я бы хотел поделиться с вами впечатлениями от ее использования и phoenix в целом, а в следующей статье попробова...

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

[Перевод] Пишем чистый и масштабируемый JavaScript-код: 12 советов Язык JavaScript родом из раннего веба. Сначала на нём писали простые скрипты, которые «оживляли» страницы сайтов. Теперь же JS превратился в полноценный язык программирования, который можно использовать даже для разработки серверных проектов. Современные веб-приложения силь...

[Перевод] Замена EAV на JSONB в PostgreSQL TL; DR: JSONB может значительно упростить разработку схемы БД без ущерба производительности в запросах. Введение Приведем классический пример, наверное, одного из старейших вариантов использования в мире реляционных БД (база данных): у нас есть сущность, и необходимо сохрани...

[Из песочницы] Опыт разработки ассета Unity для поиска пути в 3D пространстве Вас приветствует команда «Graceful Algorithms»! В качестве эксперимента нами было принято решение вести «дневники» разработчиков, в которых мы будем делиться опытом и освещать некоторые интересные результаты проводимых нами экспериментов. Это наша дебютная статья по проект...

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

[Из песочницы] На одной асимптотике далеко не уедешь… Любители посоревноваться в алгоритмах часто говорят об асимптотике того или иного решения задачи. При этом нередко можно встретить высказывания, что, мол, «вот этот» алгоритм работает за O(n), а «вон тот»  – за O(n·log(n)), значит первый однозначно быстрее и, следовательно,...

Maven-путь построения Go проектов Сначала небольшая предыстория. В начале 2010-х, я сделал небольшую утилиту-конвертер для BIN файлов эмулятора БК-0010 в WAV файлы. Утилита была написана на Python с целью максимальной переносимости, работала без проблем и я на какое то время забыл о ней. Но в 2016м появился ...

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

SciPy, оптимизация SciPy (произносится как сай пай) — это пакет прикладных математических процедур, основанный на расширении Numpy Python. С SciPy интерактивный сеанс Python превращается в такую же полноценную среду обработки данных и прототипирования сложных систем, как MATLAB, IDL, Octave,...

[Перевод] История электронных компьютеров, часть 4: электронная революция История реле Метод «быстрой передачи сведений», или Зарождение реле Дальнописец Гальванизм Предприниматели А вот, наконец, и реле Говорящий телеграф Просто соединить Забытое поколение релейных компьютеров Электронная эра История электронных компьютеров Пролог Колосс E...

Самая быстрая зарядка среди смартфонов в действии Быстрые зарядки на сегодняшний день уже есть даже во многих бюджетных смартфонах. А топовые устройства сейчас зачастую получают сверхбыстрые зарядки. На сегодняшний день самым быстрым в этом вопросе является Oppo Reno Ace. Данный аппарат, несмотря на свою далеко...

[Перевод] Обработка 40 ТБ кода из 10 млн проектов на выделенном сервере с Go за $100 Написанной мной инструмент командной строки Sloc Cloc and Code (scc), который теперь доработан и поддерживается многими отличными людьми, подсчитывает строки кода, комментарии и оценивает сложность файлов внутри каталога. Здесь нужна хорошая выборка. Инструмент подсчитывает ...

DMA: мифы и реальность Введение В прошлой статье («Часть 2: Использование блоков UDB контроллеров PSoC фирмы Cypress для уменьшения числа прерываний в 3D-принтере») я отметил один очень интересный факт: если автомат в UDB изымал данные из FIFO слишком быстро, он успевал заметить состояние, что н...

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

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

[Перевод] Reflective Shadow Maps: Часть 2 ― Реализация Привет, Хабр! В данной статье представлена простая реализация Reflective Shadow Maps (алгоритм описан в предыдущей статье). Далее я объясню, как я это сделал и какие подводные камни были. Также будут рассмотрены некоторые возможные оптимизации. Рисунок 1: Слева направо: бе...

Графический процессор ARM Mali-G77 стал на 40 % быстрее Наряду с новым процессорным ядром Cortex-A77 компания ARM представила графический процессор, предназначенный для мобильных однокристальных систем следующего поколения. Mali-G77, который не следует путать с новым процессором дисплея Mali-D77, знаменует собой переход с архитек...

[Перевод] Что происходит, когда AI может спросить мозг — что он хочет видеть? Эти изображения, полученные с помощью алгоритма искусственного интеллекта под названием XDREAM могут стимулировать определенные нейроны гораздо лучше чем любая естественная картина. В апреле 2018 года, в Гарвардской лаборатории, обезьяне (по имени Ринго) показывали странны...

Принят стандарт 8K Ultra HD для телевизоров Ассоциация потребительских технологий (CTA) объявила о программе сертификации 8K UHD-телевизоров. Программа лицензирования начнется в ближайшее время и будет отвечать требованиям к разрешению дисплея, цифровым входам, HDR, повышающему преобразованию и битовой глубине…

Правила выбора JS-фреймворка TL;DR В статье не рассматриваются JS-фреймвёрки из списка TOP-3 При разработке на JS-фреймвёрке не из списка TOP-3 приходится решать на порядок больше технических вопросов, чем это ожидается в начале разработки История основана на реальных событиях Читать дальше →

[Из песочницы] Объектно-ориентированное программирование в Java и Python: сходства и отличия Привет, Хабр! Представляю вашему вниманию перевод статьи “Object-Oriented Programming in Python vs Java” автора Джона Финчера. Реализация объектно-ориентированного программирования (ООП) в языках Java и Python отличается. Принцип работы с объектами, типами переменных и прочи...

Who is HubEx? Как мы создали платформу для управления сервисом оборудования Иногда можно услышать такую фразу «чем старше продукт, тем он функциональнее». В век современных технологий, далеко идущего web и модели SaaS это утверждение почти не работает. Залог успешной разработки это постоянный мониторинг рынка, отслеживание запросов и требований клие...

Обзор блока питания Seasonic Electronics FOCUS Plus Gold 650W Блок питания вашего ПК не менее важный компонент, чем процессор или графическая карта. Именно это устройство отвечает за преобразование переменного тока в напряжение, которым питаются компоненты системы. А от его мощности зависит, насколько современные и производительные к...

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

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

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

Свистать всех на Linux, гром и молния Привет, Хабр! Сегодня я хочу рассказать о собственном опыте перевода рабочего места на Linux. Статья не претендует на 100% охват всех проблем и их решений, но кое-какие рецепты, позволяющие сделать жизнь лучше, тут все же будут. Также в статье будет некоторое количество флеш...

Hyperledger Fabric для Чайников A Blockchain Platform for the Enterprise Добрый день, дорогие читатели, меня зовут Николай Нефедов, я технический специалист компании IBM, в этой статье я хотел бы познакомить вас с блокчейн платформой – Hyperledger Fabric. Платформа предназначена для построения бизнес прил...

Страны Ближнего Востока и Африки в следующем году потратят на ИТ более 83 млрд долларов Согласно последнему прогнозу IDC, расходы на информационные технологии в регионе MEA, включающем Ближний Восток и в Африку, в 2020 году достигнут 83,7 млрд долларов. Это на 2,8% больше, чем ожидается в 2019 году. На долю предприятий будет приходиться около 56,8% ра...

Линейку серверов х86 Fusion Server Pro представила Huawei В ходе пресс-конференции под названием «+Intelligence, Taking Computingto New Levels» (Интеллект+: новый уровень вычислительных возможностей) бизнес-подразделение интеллектуальных вычислительных систем компании Huawei представило линейку «умных» серверов Fusion Server Pro. Б...

[Из песочницы] Константные указатели на указатели на указа… Введение Недавно ко мне подошли с вопросом, «что это и как этим пользоваться?», показав следующий код: extern "C" { void byteMaskDowngrade(byte***const byteMask, const byte *const *const && source) { // какой-то код. } // некоторые фукции. } Эт...

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

[Перевод] Введение в сетевые политики Kubernetes для специалистов по безопасности Прим. перев.: Автор статьи — Reuven Harrison — имеет более 20 лет опыта в разработке программного обеспечения, а на сегодняшний день является техническим директором и соучредителем компании Tufin, создающей решения для управления политиками безопасности. Рассматривая сетев...

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

[Перевод] Как живется разработчикам в Иране В этой статье я буду говорить о цензуре и санкциях. Фото с сайта zvestia.kiev.ua Цензура неизбежно появляется с первыми же зачатками государственной власти. Во многих странах мира правительство имеет обыкновение блокировать для своих граждан доступ к определенным доменам ...

Google Maps для Android научился отслеживать скидки Усидеть на нескольких стульях сразу сложно, но вполне возможно. Это на собственном примере не устает доказывать Google, искренне веря в то, что лишних функций не бывает. В результате почти все приложения и сервисы поискового гиганта оснащены, помимо основных возможностей, ш...

Последний рубеж обороны QA: автоматическое обнаружение ошибок Привет! Меня зовут Асхат Нурыев, я ведущий инженер по автоматизации в компании DINS. Я работаю в Dino Systems последние 7 лет. За это время пришлось заниматься разными задачами: от написания автоматических функциональных тестов до тестирования производительности и высокой...

Джон Макафи прорекламировал токен исследователей зомби, а те пригрозили иском на $100 млн. Дальше ничего не понятно «Мы проводим серьезные исследования. Опасность зомби реальна и мир должен обратить внимание. Мы требуем от Джона Макафи $100 млн за ущерб, причиненный нашей работе. Он поставил мир под угрозу», — говорится в заявлении проекта South China Zombie Research Centr...

[Из песочницы] Заметки верстальщика: Полезные расширения Google Chrome в 2019 году В моем браузере установлено около 30 расширений, которые упрощают жизнь и работу в интернете. В этой статье я хочу поделиться 10 актуальными расширениями Google Chrome для верстальщика, которые постоянно использую при разработке сайтов. Читать дальше →

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

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

Разработка монолитной Unix подобной OS — Библиотека С В предыдущей статье мы научились запускать Hello World ядро и написали пару функций для работы со строками. Теперь пришло время расширить библиотеку С чтобы можно было реализовать kprintf и другие необходимые функции. Поехали! Читать дальше →

Как мы мигрировали базу данных из Redis и Riak KV в PostgreSQL. Часть 1: процесс Это первая часть статьи, в которой я расскажу о том, как мы построили процесс работы над большим проектом по миграции БД: про безопасные эксперименты, командное планирование и кросс-командное взаимодействие. В следующих статьях подробней расскажу про технические проблемы, ко...

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

«Секретики» DPAPI или DPAPI для пентестеров Вторая статья по итогам выступления нашей команды на OFFZONE-2018. На этот раз рассмотрим доклад с MainTrack “Windows DPAPI “Sekretiki” or DPAPI for pentesters”. Внимание! Очень много буков! При проведении RedTeam кампаний хочется давать меньше поводов для реакции BlueTeam...

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

Как мы проводим регрессионное тестирование расчета заработной платы в SAP HCM Механизм расчета заработной платы в SAP HCM является надежным и в то же время гибким инструментом. Этот инструмент позволяет учитывать любые требования законодательства и локальных нормативных актов в области вознаграждения сотрудников. Однако обратной стороной медали такой ...

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

SNA Hackathon 2019: усложняем архитектуру — упрощаем признаки В этой статье я расскажу про свое решение текстовой части задачи SNA Hackathon 2019. Какие-то из предложенных идей будут полезны участникам очной части хакатона, которая пройдет в московском офисе Mail.ru Group с 30 марта по 1 апреля. Кроме того, этот рассказ может быть ин...

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

Функциональные практики и frontend: монады и функторы Всем привет! Меня зовут Дмитрий Руднев, я frontend-разработчик в компании БКС. Начинал я свой путь с верстки интерфейсов различной сложности и всегда уделял повышенное внимание именно интерфейсу: насколько пользователю будет комфортно с ним взаимодействовать, смог ли я донес...

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

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

[Перевод] Posit-арифметика: победа над floating point на его собственном поле. Часть 1 Часть 2 От переводчика: Тема формата Posit уже была на хабре здесь, но без существенных технических подробностей. В этой публикации я предлагаю вашему вниманию перевод статьи Джона Густафсона (автора Posit) и Айзека Йонемото, посвящённой формату Posit. Так как статья имеет ...

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

Huawei Mate 30 Pro получит сверхбыструю беспроводную зарядку Huawei готовится к обновлению своей линейки флагманов Mate, который получит множество качественных преобразований по всем фронтам: дисплей Full Screen 2.0 с высоким углом скругления, чипсет Kirin 985 на обновленной 7-нм архитектуре, новую Quad-камеру Leica с двумя 40-Мп сенс...

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

Исследование – в криптовалютах на базе алгоритма Proof-of-Stake выявлены серьезные уязвимости Как минимум 25 криптовалют на базе алгоритма Proof-of-Stake (Pos) содержали или по-прежнему содержат уязвимости, позволяющие злоумышленникам препятствовать функционированию систем, имея лишь малую долю участия в сети. Об этом говорится в докладе Лаборатории децентрализованны...

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

Краудсорсинг в ML Boot Camp. Считаем mIOU без картинок для новой задачи от Одноклассников Привет! Лето — жаркое. Организаторы «айтишных» чемпионатов много сидели на солнце, сгорели и схватили удар, но главное — собрали новую задачу для очередного (уже девятого) контеста на платформе ML Boot Camp. Чемпионат пройдёт онлайн в течение месяца. Сейчас на платформе за...

Разработка Unix подобной OS — Оболочка. Заключение (9) Пришло время написать первую отдельную программу для нашего ядра — оболочку. Она будет храниться отдельным .elf файлом и запускаться init процессом при старте ядра. Это последняя статья из цикла по разработке своей операционной системы. Читать дальше →

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

Производительность анимаций на сайтах При разработке сайтов, выходящих за рамки условного бутстрапа, рано или поздно возникают вопросы, связанные с производительностью анимаций. Особенно важными они являются в дизайнерских сайтах, вроде тех, что попадают в каталоги Awwwards, FWA, CSS Design Awards и.т.д. При эт...

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

Записки IoT-провайдера. Подводные камни опроса счетчиков ЖКХ Здравствуйте, уважаемые любители Интернета Вещей. В этой статье я бы снова хотел поговорить о ЖКХ и опросе приборов учета. Периодически, очередной крупный игрок телекома рассказывает, как скоро он зайдет на этот рынок и всех подомнет под себя. Каждый раз при таких рассказах...

Как уменьшить размер фотографий и видео на Galaxy S10 Памяти никогда не бывает много. Даже если объем накопителя вашего смартфона составляет 128 ГБ и более, нет ничего зазорного в том, чтобы сэкономить его. Кто-то с этой целью удаляет накопившиеся фотографии и видеозаписи, а кто-то регулярно чистит кэш, который накопили прилож...

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

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

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

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

NVIDIA GeForce GTX 1660 Ti протестирована в AotS: ощутимо быстрее GeForce GTX 1060 Упоминание готовящейся к выпуску видеокарты NVIDIA GeForce GTX 1660 Ti было обнаружено в базе данных теста производительности игры Ashes of the Singularity. Скриншот с результатами теста опубликовал известный источник в основном достоверных утечек Tum Apisak. Производительно...

[Из песочницы] Организация маршрутов в Laravel Здравствуй, Habr. Недавно я согласился на ревью сайта, заказанного на фрилансе. Я ожидал увидеть контроллеры, которые делают вообще все и занимают 200+ строк (и прочие проявления плохого кода), но все было вполне прилично. Валидация не лежала в контроллере, что встречается д...

Вулканический поросенок, или SQL своими руками Сбор, хранение, преобразование и презентация данных — основные задачи, стоящие перед инженерами данных (англ. data engineer). Отдел Business Intelligence Badoo в сутки принимает и обрабатывает больше 20 млрд событий, отправляемых с пользовательских устройств, или 2 Тб входя...

[Из песочницы] Сравнение: Svelte и React На сайте React'a есть туториал, в котором описывается разработка игры Tic Tac Toe. Я решил повторить разработку этой игры на Svelte. Статья охватывает только первую половину туториала, до реализации истории ходов. Для целей ознакомления с фреймворком этого вполне достаточно....

Как мы выбирали и докручивали фреймворк для performance-тестирования Тестировать API и интерфейсы можно по-разному. В связи с открытием широкого доступа к Acronis Cyber Platform мы вынуждены были искать способы проверить сервисы “на прочность” с самых разных позиций. В этом посте ведущий архитектор программного обеспечения Acronis Дмитрий Сал...

[Перевод] Глючный код на Python: 10 самых распространенных ошибок, которые допускают разработчики О Python Python — это интерпретируемый, объектно-ориентированный язык программирования высокого уровня с динамической семантикой. Встроенные структуры данных высокого уровня в сочетании с динамической типизацией и динамическим связыванием делают его очень привлекательным для...

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

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