Социальные сети Рунета
Среда, 27 января 2021

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

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

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

Настоящая оптимизация на C/C++ Это продолжение двух постов (первый, второй). В этот раз оптимизация будет произведена на реальной задаче, с правильно построенной методологией тестирования. Задачу возьмем из нашумевшего поста «Алгоритм перевода числа (байтов) в приставку СИ», она интересна тем, что на перв...

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

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

[Перевод] Собеседования по алгоритмам: теория vs. практика tl;dr За последние десятилетия мода на собеседования программистов менялась несколько раз, и каждая из них выглядит нелепо в ретроспективе. Либо мы наконец-то нашли настоящий секрет эффективных собеседований, либо увлеклись очередным модным течением, которое через десять-два...

[Перевод] Splay-дерево. Поиск Наихудшая временная сложность таких операций, как поиск, удаление и вставка, для двоичного дерева поиска (Binary Search Tree) составляет O(n). Наихудший случай случай возникает, когда дерево несбалансировано. Мы можем улучшить наихудший результат временной сложности до O(log...

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

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

[Перевод] «Привет, мир»: разбираем каждый шаг хэш-алгоритма SHA-256 SHA-2 (Secure Hash Algorithm), в семейство которого входит SHA-256, — это один самых известных и часто используемых алгоритмов хэширования. В тексте подробно покажем каждый шаг работы этого алгоритма на реальном примере. SHA-2 отличается безопасностью (его тяжелее взломать,...

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

PostgreSQL Antipatterns: насколько глубока кроличья нора? пробежимся по иерархии В сложных ERP-системах многие сущности имеют иерархическую природу, когда однородные объекты выстраиваются в дерево отношений «предок — потомок» — это и организационная структура предприятия (все эти филиалы, отделы и рабочие группы), и каталог товаров, и участки работ, и ге...

[Перевод] Как я изучал структуры данных и алгоритмы для собеседования в FAANG Продолжая тему устройства в FAANG, которую уже мы поднимали в нашем блоге, и специально к старту нового потока нашего курса по алгоритмам сегодня делюсь описанием пути Эско Обонга, старшего инженера-программиста Uber. Эта история началась в 2015 году, когда стартап, к котор...

Под капотом сортировок в STL Стандарт С++ почти никогда не указывает, как именно должен быть реализован тот или иной std алгоритм. Дается только описание того, что на входе, что на выходе и асимптотические ограничения по времени работы и памяти. В статье я постарался прикинуть, какие математические алг...

[Перевод] Go: Должен ли я использовать указатель вместо копии моей структуры? Иллюстрация, созданная для «A Journey With Go», из оригинального гофера, созданного Рене Френч. С точки зрения производительности систематическое использование указателей вместо копирования самой структуры для совместного использования структур многим Go разработчикам пред...

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

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

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

[Из песочницы] Web Scraping. Часть 1 Введение Всем привет. Недавно у меня возникла идея о том, чтобы поделиться с интересующимся кругом лиц о том как пишутся скраперы. Так как большинству аудитории знаком Python все дальнейшие примеры будут написаны на нём. Данная часть рассчитана для того, чтобы познакомить те...

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

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

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

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

[Перевод] Go и кэши CPU Источник: unsplash.com По словам Джеки Стюарта, трехкратного чемпиона мира по гонкам Формулы-1, понимание автомобиля помогло ему стать лучшим пилотом: «Гонщику не обязательно быть инженером, но нужен интерес к механике». Мартин Томпсон (создатель LMAX Disruptor) применил ...

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

[Перевод] О реализации структуры данных Map в V8 В стандарте ECMAScript 2015, известном как ES6, появилось много новых JavaScript-коллекций, таких, как Map, Set, WeakMap и WeakSet. Они, судя по всему, стали отличным дополнением к стандартным возможностям JavaScript. Они получили широкое применение в различных библиотеках,...

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

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

Ищем максимальную разницу между соседями. User-friendly-разбор задачи по алгоритмам Привет, Хабр! Давайте поговорим про алгоритмы. Новички часто воспринимают их как что-то тяжёлое, сложное и непонятное, и отчасти это правда, но алгоритмы — это базис. А чем лучше вы знаете базис своей специальности, тем с большей вероятностью преуспеете в ней. Сегодня м...

[Перевод] Разбираемся с доступом к атрибутам в Python Интересно, сколько людей понимают, что в Python много синтаксического сахара? Я не говорю, что он похож на Lisp-подобные языки, где синтаксис настолько голый, насколько это возможно (хотя и сравнение с Lisp не совсем обосновано), но большая часть синтаксиса Python технически...

Дерево отрезков: просто и быстро Накануне очередного запуска курса «Алгоритмы для разработчиков» мы провели открытый урок. На нём поговорили об известной идее дерева отрезков, обсудили, как его строить, обновлять и быстро O(log n) вычислять сумму чисел любого отрезка данного массива. Алгоритм очень простой ...

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

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

Сортировки кучей: n-нарные пирамиды Сортировку кучей (она же — пирамидальная сортировка) на Хабре уже поминали добрым словом не раз и не два, но это всегда была достаточно общеизвестная информация. Обычную бинарную кучу знают все, но ведь в теории алгоритмов также есть: n-нарная куча; куча куч, основанная на...

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

Структуры данных: список, который умеет всё* * Под всё имеется в виду относительно быстрое выполнение операций над единичным элементом массива. Структур данных, которые реализуют список полно. У всех есть свои достоинства и недостатки. Например в мире Java — в зависимости от необходимых операций — можно использовать: ...

Книга «Совершенный алгоритм. Жадные алгоритмы и динамическое программирование» Привет, Хаброжители! В новой книге Тим Рафгарден рассказывает о жадных алгоритмах (задача планирования, минимальные остовные деревья, кластеризация, коды Хаффмана) и динамическом программировании (задача о рюкзаке, выравнивание последовательностей, кратчайшие пути, оптималь...

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

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

[Перевод] Распределенное обучение XGBoost и параллельное прогнозирование с Apache Spark Привет, Хабр! Уже в конце июля Otus запускает новый курс «Промышленный ML на больших данных». Традиционно, в преддверии старта нового курса, мы подготовили для вас перевод полезного материала. Общие сведения В бустинге (из ансамбля моделей машинного обучения), алгоритмы р...

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

Коты в коробочках, или компактные структуры данных Как быть, если дерево поиска разрослось на всю оперативку и вот-вот подопрет корнями соседние стойки в серверной? Что делать с инвертированным индексом, жадным до ресурсов? Завязывать ли с разработкой под Android, если пользователю прилетает «Память телефона заполнена», а п...

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

[Перевод] Введение в ELF-файлы в Linux: понимание и анализ Есть в мире вещи, которые мы принимаем как нечто само собой разумеющееся, хотя они являются истинными шедеврами. Одними из таких вещей являются утилиты Linux, такие, как ls и ps. Хотя они обычно воспринимаются как простые, это оказывается далеко не так, если мы заглянем внут...

ИИ-алгоритм поможет найти взаимосвязи между предметами искусства MosAIc использует глубокое обучение (deep learning) для анализа базы изображений предметов искусства, представленных в Музее Метрополитен (Нью-Йорк) и национальном музее Амстердама Рейксмузеум. Целью ученых было создать алгоритм, который будет подбирать предметы искусства, п...

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

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

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

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

[Из песочницы] Переосмысление DTO в Java Привет, Хабр! Представляю вашему вниманию любительский перевод статьи “Rethinking the Java DTO” Стивена Уотермана, где автор рассматривает интересный и нестандартный подход к использованию DTO в Java. Я провел 12 недель в рамках программы подготовки выпускников Scott Logic,...

[Из песочницы] 9 ключевых алгоритмов машинного обучения простым языком Привет, Хабр! Представляю вашему вниманию перевод статьи «9 Key Machine Learning Algorithms Explained in Plain English» автора Nick McCullum. Машинное обучение (МО) уже меняет мир. Google использует МО предлагая и показывая ответы на поисковые запросы пользователей. Netflix...

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

[Перевод] Напишем и поймем Decision Tree на Python с нуля! Часть 5. Информационная энтропия Данная статья — пятая в серии. Ссылки на предыдущие статьи: первая, вторая, третья, четвертая 5.1 Информационная энтропия (Средний объем информации) При создании дерева решений из данных алгоритм ID3 использует индекс, называемый информационной энтропией, чтобы определить, ...

[Из песочницы] WAL-G: бэкапы и восстановление СУБД PostgreSQL Уже давно известно, что делать бэкапы в SQL-дампы (используя pg_dump или pg_dumpall) – не самая хорошая идея. Для резервного копирования СУБД PostgreSQL лучше использовать команду pg_basebackup, которая делает бинарную копию WAL-журналов. Но когда вы начнёте изучать весь про...

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

Архитектура транзакций в Apache Ignite В этой статье мы рассмотрим, как устроены транзакции в Apache Ignite. Не будем останавливаться на концепции Key-Value хранилища, а перейдем сразу к тому, как это реализовано в Ignite. Начнем с обзора архитектуры, а затем проиллюстрируем ключевые моменты логики транзакций при...

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

[Перевод] Архитектурный шаблон MVI в Kotlin Multipaltform, часть 1 Около года назад я заинтересовался новой технологией Kotlin Multiplatform. Она позволяет писать общий код и компилировать его под разные платформы, имея при этом доступ к их API. С тех пор я активно экспериментирую в этой области и продвигаю этот инструмент в нашей компани...

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

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

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

Как улучшить ваш API сервис на node.js. Часть 1 Сейчас доступно приличное количество материалов по написанию API на node.js. Большинство из них в виде туториалов и демо-примеров в документациях. Этого достаточно, чтобы быстро разобраться и написать что-то свое. Но в них редко найдутся детали, почему это делается именно та...

[recovery mode] Типы, где их не ждали Давайте представим себе реализацию модуля Scaffold, который генерирует структуру с предопределенными пользовательскими полями и инжектит ее в вызываемый модуль при помощи use Scaffold. При вызове use Scaffold, fields: foo: [custom_type()], ... — мы хотим реализовать правильн...

[Перевод] Алгоритм AdaBoost Перевод статьи подготовлен в преддверии старта продвинутого курса «Математика для Data Scienсe». Введение Алгоритм AdaBoost можно использовать для повышения производительности любого алгоритма машинного обучения. Машинное обучение стало мощным инструментом, позволяющим д...

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

[Из песочницы] Базовые команды Linux для тестировщиков и не только Предисловие Всем привет! Меня зовут Саша, и я больше шести лет занимаюсь тестированием бэкенда (сервисы Linux и API). Мысль о статье у меня появилась после очередной просьбы знакомого тестировщика подсказать ему, что можно почитать по командам Linux перед собеседованием. Обы...

[Перевод] Как pod в Kubernetes получает IP-адрес Прим. перев.: эта статья, написанная SRE-инженером из LinkedIn, в деталях рассказывает о той «внутренней магии» в Kubernetes — точнее, взаимодействии CRI, CNI и kube-apiserver, — что происходит, когда очередному pod'у требуется назначить IP-адрес. Одно из базовых требований...

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

Фундаментальные основы хакерства. Учимся искать ключевые структуры языков высокого уровня Для подписчиковИсследование алгоритма работы программ, написанных на языках высокого уровня, традиционно начинается с реконструкции ключевых структур исходного языка — функций, локальных и глобальных переменных, ветвлений, циклов и так далее. Это делает дизассемблированный л...

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

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

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

[Из песочницы] Учимся торговать на бирже. Часть первая: настройка тестового окружения В этом цикле статей создадим окружение для работы с тестовой биржей и обмена сообщениями с ней, разберёмся с основными биржевыми терминами и закрепим знания на практике. UPD: Основная цель этого цикла статей — комплексно рассмотреть устройство биржи и базовые понятия (сделк...

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

Почему Samsung Galaxy Fold вошел в историю и навсегда изменил рынок смартфонов Уже месяц, как я пользуюсь смартфоном Samsung Galaxy Fold. Постоянные читатели gg наверняка помнят о моем отношении к гибким дисплеям вообще (я слежу за этим рынком уже больше 10 лет) и этому смартфону в частности. Обзор Galaxy Fold уже давно есть на сайте — там можно ...

Data Governance: просто об усложненном Давайте разберемся, почему руководство данными – это одна из самых современных, совершенных и востребованных технологий, объединяющих знания и практики из различных областей. Data Governance, руководство данными, управление данными как активом – все эти словосочетания сей...

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

Важнейшее открытие за 50 лет: алгоритм DeepMind научили определять структуру белка Эту структуру белка создал алгоритм на основе нейросети Белок является важной частью жизни любого человека, но несмотря на то, что мы живем в XXI веке, когда нейросети рисуют картины, а 3D-принтеры — полноценные органы, полностью изучить белок ученым пока не представлялось в...

[Перевод] Как я модернизировал свою Flash-игру В этом посте я расскажу о том, как перенёс свою Flash-игру Frog Fractions на современную платформу. В результате я создал частично автоматизированный порт на Unity при помощи Haxe. Пост будет интересен всем, кто пытается модернизировать свою кодовую базу на Flash. В посте б...

[Перевод] CSS-переменные CSS-переменные (их ещё называют «пользовательскими свойствами») поддерживаются веб-браузерами уже почти четыре года. Я пользуюсь ими там, где они могут пригодиться. Это зависит от проекта, над которым я работаю, и от конкретных задач, которые мне приходится решать. Работать ...

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

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

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

Погружение в Charles Proxy Привет, Хабр! Меня зовут Настя, я работаю в команде тестирования мобильных приложений компании FunСorp. При приёмке задач мы уделяем большое внимание проверке клиент-серверного взаимодействия. Опыт проведения собеседований показывает, что новички в тестировании мобильных п...

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

Самые популярные структуры данных Что такое структура данных? Проще говоря, структура данных — это контейнер, в котором хранятся данные в определенной компоновке (формате, или способе организации их в памяти). Эта «компоновка» позволяет структуре данных быть эффективной в одних операциях и неэффективной в др...

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

Функция-конвертер для отправки сообщений на русском языке в Телеграмм из Микротик РоутерОС Мессенджер Телеграмм крайне удобен для уведомления о работе IT-оборудования, чем активно пользуются СисАдмины. Популярные WhatsApp и Viber поддерживают API но в них нет встроенной технологии создания своих ботов. РоутерОС известной компании Микротик не позволяет штатными с...

[Перевод] Разрабатываем и развёртываем собственную платформу ИИ с Python и Django Взлёт искусственного интеллекта привёл к популярности платформ машинного обучения MLaaS. Если ваша компания не собирается строить фреймворк и развёртывать свои собственные модели, есть шанс, что она использует некоторые платформы MLaaS, например H2O или KNIME. Многие исследо...

Создаем структуру простого мультиплатформенного бота Регистрация пользователей на мероприятия, автоматический поиск ответов в базе, общение с техподдержкой, обмен контактами — все это часть функций нашего бота Leader-ID. Он «живет» на трёх платформах: VK, Facebook Messenger и Telegram, при этом логика его работы пишется один р...

Как сделать из нейросети журналиста, или «Секреты сокращения текста на Хабре без лишних слов» Только не удивляйтесь, но второй заголовок к этому посту сгенерировала нейросеть, а точнее алгоритм саммаризации. А что такое саммаризация? Это одна из ключевых и классических задач Natural Language Processing (NLP). Она заключается в создании алгоритма, который принимает н...

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

[Из песочницы] Как заставить Google полюбить вашего автора? В сентябре 2019 года вышел новый алгоритм от Google E-A-T для борьбы с некачественным и не с экспертным контентом. Сильнее всего повлиял на сайты YMYL — Your Money or Your Life (кошелёк или жизнь). Это сильно ударило по маленьким и средним сайтам, большие сайты только в ...

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

Как получить по индексу элемент из бинарного дерева за приемлемое время? Привет, Хабр! Полгода назад я задумался, как можно было бы получить элемент из бинарного дерева за O(log(N)). Ответ пришёл довольно быстро — Lazy Propagation. Но реализовать это в коде я поленился. Сейчас надо сдавать дипломный проект в университете, поэтому я занимаюсь чем...

Полевые исследования концепции «Documentation as code» Всем привет! Меня зовут Денис Олейник, я работаю техническим директором в 1Service. В нашей компании мы достаточно много времени уделяем работе с требованиями. По мере обретения опыта мы стали осознавать, что инструменты, обычно используемые при разработке программных проду...

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

Deep Anomaly Detection Детекция аномалий с помощью методов глубокого обученияВыявление аномалий (или выбросов) в данных - задача, интересующая ученых и инженеров из разных областей науки и технологий. Хотя выявлением аномалий (объектов, подозрительно не похожих на основной массив данных) занимаютс...

Kotlin Multiplatform. Работаем с многопоточностью на практике. Ч.1 Доброго всем времени суток! С вами я, Анна Жаркова, ведущий мобильный разработчик компании «Usetech» Я давно занимаюсь не только нативной разработкой (как iOS, так и Android), но и кросс-платформенной. В свое время я очень плотно писала на Xamarin (iOS, Android, так и Forms...

Выращивание Nested sets в условиях .Net Привет, меня зовут Антон, и я разработчик. Сына я родил, дом построил купил, осталось вырастить дерево. Так как агроном из меня не очень, пришлось дерево кодить. Наш проект состоит из нескольких микросервисов на .Net Core, в PostgreSQL базе хранятся сущности, которые образ...

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

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

[Перевод] Программисты, девопсы и коты Шрёдингера Реальность сетевого инженера (с лапшой и… солью?) В последнее время, обсуждая с инженерами разные инциденты, я заметил интересную закономерность. В этих обсуждениях неизменно возникает вопрос «первопричины». Верные читатели наверняка знают, что у меня есть несколько мысле...

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

Шифрование TLS-трафика по алгоритмам ГОСТ-2012 c Stunnel В этой статье я хочу показать, как настроить Stunnel на использование российских криптографических алгоритмов в протоколе TLS. В качестве бонуса покажу, как шифровать TLS-канал, используя алгоритмы ГОСТ, реализованные в криптоядре Рутокен ЭЦП 2.0. Но для начала давайте вооб...

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

В квантовом алгоритме Google нашли ограничения Группа учёных из Deep Quantum Labs Центра по фотонике и квантовым материалам московского Сколковского института науки и технологий во главе с профессором Джейкобом Биамонте обнаружила и количественно оценила слабые стороны алгоритма Google. Американская корпорация Google стр...

Как синхронизировать сотни таблиц базы в Kafka, не написав ни одного продюсера Привет, Хабр! Меня зовут Сергей Бевзенко, я ведущий разработчик Delivery Club в команде Discovery. Наша команда занимается навигацией пользователя по приложению Delivery Club: мы отвечаем за основную выдачу ресторанов, поиск и всё, что с этим связано. Я расскажу про Kafka...

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

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

Технологии для проверки «Тотального диктанта»: что можно улучшить? Я состою в жюри World AI & Data Challenge. Это такой международный конкурс для разработчиков технологий для решения разных социальных задач, таких как борьба с бедностью, помощь людям с ограничениями слуха и зрения, улучшение обратной связи между человеком и государствен...

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

[Из песочницы] Фасетные фильтры: как готовить и с чем подавать О чем речь  Как сделать фасетный поиск в интернет-магазине? Как формируются значения в фильтрах фасетного поиска? Как выбор значения в фильтре влияет на значения в соседних фильтрах? В поиске ответов дошел до пятой страницы поисковой выдачи Google. Исчерпывающей информации н...

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

[Перевод] Гениальность микропроцессоров RISC-V Войны между RISC и CISC, проходившие в конце 1990-х, уже давно отгремели, и сегодня считается, что разница между RISC и CISC совершенно не имеет значения. Многие заявляют, что наборы команд несущественны. Однако на самом деле наборы команд важны. Они накладывают ограничени...

Kubernetes, микросервисы, CI/CD и докер для ретроградов: советы по обучению Кажется, тема «зачем нужен Kubernetes», уже раздражает. Хочется сказать: «все кому надо — давно уже поняли», однако я разделил бы технических (и околотехнических) работников на тех, кто «понял и знает как использовать», и тех, кто «понял, но хочет знать, как сделать знания а...

[Перевод] Почему единственный вид деревьев не победил все остальные? «Лес красив, дремуч, высок», — писал Роберт Фрост. Этот ямб вспоминается мне каждый раз, когда я начинаю путь по расположенной недалеко от моего дома лесной тропе. Тропу назвали в честь Фроста, который провёл несколько лет в этой части Массачусетса, обучая мальчиков в блейз...

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

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

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

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

[Перевод] Дизайн-токены способны на большее: создаем единый источник информации о компонентах UI Термином «дизайн-система» в IT давно никого не удивишь. Компании систематизируют дизайн продуктов, придумывая свои или используя чужие инструменты для управления стилями, паттернами и компонентами.  Badoo не является исключением: с помощью нашей дизайн-системы Cosmos мы подд...

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

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

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

Нейросеть — обучение без учителя. Метод Policy Gradient Доброго времени суток, Хабр Настоящей статьей открываю цикл статей о том, как обучать нейронные сети без учителя. (Reinforcement Learning for Neuron Networks) В цикле планирую сделать три статьи по теории и реализации в коде трех алгоритмов обучения нейронных сетей без учи...

Что может пойти не так с Data Science? Часть 1: сбор данных Сегодня существует 100500 курсов по Data Science и давно известно, что больше всего денег в Data Science можно заработать именно курсами по Data Science (зачем копать, когда можно продавать лопаты?). Основной минус этих курсов в том, что они не имеют ничего общего с реально...

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

[Перевод] 5 вопросов по SQL, которые часто задают дата-сайентистам на собеседованиях Хотя составление SQL-запросов — это не самое интересное в работе дата-сайентистов, хорошее понимание SQL чрезвычайно важно для того, кто хочет преуспеть в любом занятии, связанном с обработкой данных. Дело тут в том, что SQL — это не только SELECT, FROM и WHERE. Чем больше S...

SQL HowTo: обрабатываем дерево — упорядочиваем иерархию с рекурсией и без Видимо, это осень так влияет, что за последний месяц на PostgreSQL уже и в «Морской бой» играли, и «Жизнь» Конвея эмулировали… Что уж оставаться в стороне! Давайте и мы потренируем мозг в реализации нетривиальных алгоритмов на SQL. Тем более, сегодняшняя тема родилась из об...

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

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

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

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

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

[Из песочницы] Адекватное MVC для начинающих и не только Небольшое вступление Всем 404! Большинство IOS-разработчиков не понимают как работать с Apple-MVC. Из-за чего появляется необоснованная критика, маленькие проекты стараются писать на архитектурах для этого не предназначенных, ViewController'ы становятся огромными, не читаемы...

[Перевод - recovery mode ] Простое обнаружение проблем производительности в PostgreSQL Существует ли в мире очень большая и крупная база данных, которая время от времени не страдает от проблем с производительностью? Держу пари, что их не так уж много. Поэтому каждый DBA (администратор базы данных), отвечающий за PostgreSQL, должен знать, как отслеживать потен...

Искусственный интеллект, машинное и глубокое обучение — в чём разница Сейчас много пишут и говорят об искусственном интеллекте (ИИ). Наряду с другими связанными понятиями — такими, как машинное обучение (machine learning) и глубокое обучение (deep learning). Многие люди склонны неправильно понимать термины, используемые в контексте...

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

Российские сети 5G только на российском оборудовании? Подобный проект есть у Госкомиссии по радиочастотам Источник сообщает, что в проекте решения Госкомиссии по радиочастотам (ГКРЧ), заседание по которому может состояться уже в середине октября, значится требование к российским сотовым операторам, согласно которому они должны будут строить сети 5G миллиметрового диапазона ...

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

Алгоритм Kosaraju по полкам На самом деле, уже есть статья на Хабре по этому алгоритму, но она не освещает доказательство корректности и некоторых шагов алгоритма. Я решил создать более справочную версию той статьи с полным разбором.Этот пост будет полезен студентам, изучающим дисциплину "Алгоритмы и Т...

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

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

[Перевод] Таблицы и CSS-свойство float в современной веб-разработке Больше двадцати лет тому назад таблицы были основным HTML-средством для оформления веб-страниц. Таблицы давали веб-мастерам стабильный механизм для создания сайтов, имеющих некие признаки «дизайна». Содержимое страниц больше не должно было идти строго сверху вниз. Материалы ...

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

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

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

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

[Перевод] Руководство по работе с OpenAL на C++. Часть 1: воспроизводим звук Вашей игре нужен звук! Наверно, вы уже использовали OpenGL для рисования на экране. Вы разобрались с его API, и поэтому обратились к OpenAL, потому что название кажется знакомым. Что же, хорошие новости — OpenAL тоже имеет очень знакомый API. Он изначально задумывался для и...

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

Как работает Spot от Boston Dynamics? Возможный ответ Привет, Хабр! Недавно SantrY опубликовал статью Как это устроено: робот Spot от Boston Dynamics. Автор замечает, что устройство весьма успешного алгоритма поддержания равновесия и передвижения по пересеченной местности компания хранит в секрете. К счастью, инженеры Boston ...

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

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

[Перевод] Изучаем использование памяти MySQL с помощью Performance Schema Понимание того, как MySQL использует память, является ключом к настройке системы для достижения оптимальной производительности, также как и для устранения неполадок в случаях ненормального использования памяти, например, когда у вас есть сервер MySQL, использующий намного бо...

[Из песочницы] Многопоточный линейный список: проблема существования элемента, повышение производительности и соотношение с STL Здравствуйте, уважаемые посетители Хабра! В этой статье речь пойдёт о связном списке, многопоточности и С++. Сразу отмечу, что были все шансы положить эту работу «на полочку» и использовать в небольшом количестве личных проектов. Вместо этого я всё-таки решил выложить её на...

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

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

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

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

[Перевод] Что такое «this» и с чем его едят Автор фото — Sebastian Herrmann. Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Daniel James «What is 'this'? Why is that?». Что такое «this» и с чем его едят Когда я начинал изучать JavaScript, концепция this показалась мне крайне запутанной. ...

Восемь важных аспектов интегрированного управления поставщиками В статье, опубликованной на ресурсе itsm.tools, автор делится своим опытом внедрения мульти-вендорных операционных моделей для департаментов ИТ, предлагая рекомендации в отношении восьми ключевых аспектов интегрированного управления поставщиками (Service Integration and Man...

Что поменялось в Google в марте 2019? Источник изображения: Searchenginejournal.com   Вопрос пользователя: Есть ли понимание, какие факторы изменились в ранжировании Гугл после обновления алгоритма в марте 2019? Большой контентный проект с хорошим трафиком начал плавно терять посещаемость после мартовского...

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

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

[Перевод] Напишем и поймем Decision Tree на Python с нуля! Часть 1. Краткий обзор Привет, Хабр! Представляю вашему вниманию перевод статьи "Pythonで0からディシジョンツリーを作って理解する (1. 概要編)". 1.1 Что такое Decision Tree? 1.1.1 Пример Decision Tree Например, у нас есть следующий набор данных (дата сет): погода, температура, влажность, ветер, игра в гольф. В ...

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

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

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

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

Чем занимается главный архитектор в ABBYY? Интервью с Владимиром Юневым Так устроена наша компания, что она не может не развиваться. В прошлом году ABBYY приобрела TimelinePI – разработчика платформы для анализа бизнес-процессов и вышла на новый рынок. А сейчас мы активно переходим на современные облачные архитектуры. Конечно, пока за рубежом ...

[Перевод] 8 наиболее распространенных структур данных в JavaScript Звучит ли это знакомо: «Я начал заниматься веб разработкой после прохождения курсов»? Возможно, вы хотите улучшить свои знания основ информатики в части структур данных и алгоритмов. Сегодня мы поговорим о некоторых наиболее распространенных структурах данных на примере J...

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

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

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

Закон Конвея и его важность при создании команд Закон Конвея (Conway’s Law) имеет большое значение для понимания тех сил, что возникают при формировании команд, и того результата, который они могут оказать на команды в условиях длительного и автономного, неуправляемого и некорректируемого воздействия. И, как следствие, дл...

Алгоритмы быстрой обработки HTTP-строк В HTTP/2 появилась компрессия стандартных заголовков, но тело URI, Cookie, значения User-Agent по-прежнему могут составлять десятки килобайт и требуют токенизации, поиска и сравнения подстрок. Задача становится критичной, если HTTP-парсер должен обрабатывать интенсивный злон...

[Перевод] Докеризация приложения, построенного на базе React, Express и MongoDB Автор статьи, перевод которой мы публикуем сегодня, хочет рассказать о том, как упаковывать в контейнеры Docker веб-приложения, основанные на React, Express и MongoDB. Здесь будут рассмотрены особенности формирования структуры файлов и папок таких проектов, создание файлов D...

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

[Перевод - recovery mode ] Программирование GPU на Java Получение доступ к GPU из Java раскрывает огромную мощь. Здесь рассказывается как GPU работает и как получить доступ из Java. Программирование устройства графического процессора (GPU) является заоблачным миром для Java программистов. Это понятно, так как обычные задачи для ...

[Перевод] Советы по использованию алгоритма коллапса волновой функции В последнее время я много экспериментировал с процедурной генерацией на основе ограничений. В частности, с алгоритмом Wave Function Collapse (WFC, коллапс волновой функции). Я даже написал собственную open source-библиотеку и ассет unity. WFC — это очень гибкий алгоритм, в...

[Перевод] Достоинства и недостатки стратегии Infra-as-Code Repo Отвечая на вопросы, которые я получил после этой публикации, сегодня хотел бы разрешить бесконечный спор о структуре репозитория, а так же затронуть некоторые проблемы и их решения. Здесь я буду пользоваться своим IaC, основанным на Terraform, но по большей части всё будет п...

Архитектурный шаблон MVI в Kotlin Multiplatform, часть 2 Это вторая из трёх статей о применении архитектурного шаблона MVI в Kotlin Multiplatform. В первой статье мы вспомнили, что такое MVI, и применили его для написания общего для iOS и Android кода. Мы ввели простые абстракции, такие как Store и View, а также некоторые вспомо...

[Перевод] Нано-нейрон — 7 простых JavaScript функций, показывающих, как машина может «учиться» Нано-нейрон — это упрощенная версия нейрона из концепции нейронной сети. Нано-нейрон выполняет простейшую задачу и натренирован на конвертацию температуры из градусов Целься в градусы Фаренгейта. Код NanoNeuron.js состоит из 7 простых JavaScript функций, затрагивающих обучен...

Что должен уметь специалист по Data Science? Будущее за наукой о данных За последние несколько лет технологии интегрировались с многими бизнесами, что сформировало новые профессии, которые стали очень востребованными на рынке. Одним из таких направлений стало Data Science: специалисты в этой области сейчас нарасхват, и...

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

Samsung не видит, проблем в своих процессорах Exynos. Они слепые? Стоит только написать про один из флагманов Samsung Galaxy, как в комментариях разворачиваются жаркие споры по поводу того, какой процессор в нем должен стоять. Кто-то говорит, что и Exynos не так плох, как про него говорят. Остальные активно с ним спорят и доказывают, что ...

[Из песочницы] Пять причин почему ИИ не сможет заменить людей, а сделает нас только лучше Привет, Хабр! Представляю вашему вниманию перевод статьи «f5 Reasons AI Won’t Replace Humans… It Will Make Us Superhuman». Многие говорят, что ИИ с немыслимой скоростью забирает у нас работу. Заменит ли искусственный интеллект людей и создаст ли он неизбежный мировой кризис...

Первый Pentium, Turbo Pascal и олимпиадная физика: разработчики вспоминают, как учились в школе В День учителя мы вместе с разработчиками вспоминаем школьные годы, любимых учителей и первый компьютерный класс. Правда ли, что успехи в математике и геометрии укорачивают путь в профессиональное программирование? А химия и физика? Андрей Терешко, руководитель фронтенда У...

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

[Из песочницы] Мое решение — лучшее Привет, Хабр! Предлагаю Вашему вниманию перевод статьи «My solution is the best!» автора John Hotterbeekx. Недавно я смотрел выступление одного докладчика об архитектуре. Беседа вышла увлекательной, концепция и идея определенно имели смысл, но выступающий не понравился. Чт...

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

[Перевод] Matlab vs. Julia vs. Python Я использовал MATLAB более 25 лет. (А до этого я даже использовал MATRIXx, земля ему пухом.) Это не первый язык, на котором я научился программировать, но это тот язык, с которым я достиг математического совершеннолетия. Знание MATLAB было полезным для моей карьеры. Тем не ...

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

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

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

Алгоритмы на экзамене в ШАД Привет! Меня зовут Александр Курилкин, и я веду курс по алгоритмам в «ШАД Helper». В этом посте я разберу несколько задач из вступительных экзаменов прошлых лет, чтобы вы смогли увидеть, что вас ждет, и понять, чему мы сможем вас научить на нашем курсе. Надеюсь, что вы разде...

SmartData 2020: конференция про data engineering Если ваша должность — data engineer, то вы могли сталкиваться с обидным информационным перекосом. Тему data science освещают активно, по ней много полезных материалов. А вы работаете в смежной области, где тоже возникает много важных вопросов, но об этих вопросах говорят за...

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

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

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

[Перевод] Декодируем JPEG-изображение с помощью Python Всем привет, сегодня мы будем разбираться с алгоритмом сжатия JPEG. Многие не знают, что JPEG — это не столько формат, сколько алгоритм. Большинство JPEG-изображений, которые вы видите, представлены в формате JFIF (JPEG File Interchange Format), внутри которого применяется ...

[Из песочницы] DLL & Python DLL & Python Недавно меня заинтересовала тема использования DLL из Python. Кроме того было интересно разобраться в их структуре, на тот случай, если придется менять исходники библиотек. После изучения различных ресурсов и примеров на эту тему, стало понятно, что примене...

Apache Spark, lazy evaluation и многостраничные SQL запросы Известное об известном: spark работает с “датафреймами” (dataframes), которые являются алгоритмами трансформации. Алгоритм запускается в самый последний момент для того, чтобы "дать больше места" оптимизации и за счет оптимизации максимально эффективно его выполнить. Под кат...

В Adobe Photoshop добавлены новые нейронные фильтры с ускорением на GPU Nvidia На проходящем сейчас мероприятии Adobe MAX были продемонстрированы инструменты Adobe Photoshop, работающие по алгоритмам искусственного интеллекта. Их работу ускоряют графические процессоры Nvidia RTX. Речь идет о новых нейронных фильтрах. По словам Nvidia, нейронные фи...

[Перевод] Как разработать ансамбль Light Gradient Boosted Machine (LightGBM) В преддверии старта нового потока курса «Машинное обучение» представляем вашему вниманию материал о Light Gradient Boosted Machine (далее — LightGBM), библиотеке с открытым исходным кодом, которая предоставляет эффективную и действенную реализацию алгоритма градиентного буст...

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

[Из песочницы] Deep Reinforcement Learning: как научить пауков ходить Сегодня я расскажу, как я применил алгоритмы глубинного обучения с подкреплением для управления роботом. Вкратце, поведаю о том, как создать «чёрный ящик с нейросетями», который на входе принимает архитектуру робота, а на выходе выдаёт алгоритм, способный им управлять. Осно...

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

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

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

[Перевод] Пугающая антиутопия интервью для программистов Эксперименты У меня зазвонил телефон. — Алло, это Джаред. — Здравствуйте. Я звоню вам насчёт телефонного собеседования в Гигантской Поисковой и Рекламной Компании [очевидно, это Google — прим. пер]. — Да! С нетерпением ждал вашего звонка! — Хорошо. Можете написать алгор...

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

JS и его запретные тайны Так вышло, что наша компания искала разработчиков. В работе мы используем стандартный набор веб-технологий: HTML, CSS, Javascript, PHP, SQL. Во время проведения собеседований я был не то чтобы расстроен, а скорее обескуражен. Вопросы, на которые не могли ответить кандидаты, ...

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

[Перевод] Использование алгоритма Прима для генерации соединённых друг с другом пещер Я решил объяснить один из алгоритмов генерации карты, используемых в моей игре In the House of Silence. Главное преимущество этого способа заключается в том, что в отличие от других алгоритмов, он никаким образом не может сгенерировать карту с разделёнными частями. Гене...

Книга «Ловушка для багов. Полевое руководство по веб-хакингу» Привет, Хаброжители! «Чтобы чему-то научиться, надо применять знания на практике. Именно так мы освоили ремесло взлома» — Майкл Принс и Йоберт Абма, соучредители HackerOne. «Ловушка для багов» познакомит вас с белым хакингом — поиском уязвимостей в системе безопасности. Нев...

[Из песочницы] Все о проекте спутниковый интернет Starlink. Часть 1 Проект StarLink компании SpaceX американского миллиардера и энтузиаста космоса Илона Маска хотя и появился достаточно давно, но стал широко обсуждаться в СМИ полтора года назад. Тема спутниковой связи является весьма сложной, так как объединяет в себе не только технические...

Описание основ криптопреобразования AES Доброго времени суток, Хабр! Примерно 3 месяца назад проходил собеседование frontend разработчиком и самый первый вопрос, который мне задали: “Что такое AES?” Ну как бы аморфное представление я все же имел о симметрично блочном шифровании AES, было дело даже использовал в од...

Возможно ли создание квантового компьютера? Ученые говорят, что нет Возможно ли создание квантового компьютера в реальности? Многим из вас известно, что осенью 2019 года компании Google и IBM начали вести между собой настоящее противостояние: когда представители Google заявили о своем “квантовом превосходстве” ввиду успешно завершенного кван...

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

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

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

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

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

Сложности работы с ANTLR: пишем грамматику Ruby В «Ростелеком-Солар» мы разрабатываем статический анализатор кода на уязвимости и НДВ, который работает в том числе на деревьях разбора. Для их построения мы пользуемся оптимизированной версией ANTLR4 – инструмента для разработки компиляторов, интерпретаторов и трансляторов...

Возможно ли стать дата-сайентистом? Развеиваем мифы и страхи о профессии Представления многих о Data Science ошибочны Когда заходит речь о работе с большими данными, многие сразу представляют себе академиков в каком-нибудь научно-исследовательском институте или программистов, которые сидят за компьютером и пишут код 24/7. Поэтому сложилось мнение...

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

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

Нейросеть GPT-3 вела мотивационный блог на английском и всем понравилось. Чем это грозит копирайтерам и писателям Компания OpenAI, которую несколько лет назад основал Илон Маск, в июне выпустила новый алгоритм нейросети GPT-3. На сегодня это самая совершенная система, которая умеет работать с естественными языками. Ее возможности просто колоссальны. С помощью GPT-3 можно создавать л...

Цена естественности или как обогнать QuickSort Сортировка — такая же «вечная» тема для алгоритмистов, как любовь — для поэтов. Казалось бы, новое слово в этой области сказать трудно, а поди же ты — продолжают придумывать новые алгоритмы сортировок (TimSort...) Есть, однако, базовые факты, которые знает каждый приличный с...

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

Xiaomi запатентовала смартфон с подэкранной камерой — Mi Mix 4? Ещё в июне Xiaomi показала собственный смартфон с камерой под поверхностью дисплея (прототип Mi 9 без экранного выреза). Ходили слухи, что подобный подход будет использоваться в Xiaomi Mi Mix 4. Однако вместо него мы получили завёрнутый в экран концептуальный аппарат Xiaomi ...

Особенности масштабирования WebGL-карты Мы выпустили редактор стилей. Подробно о том, как с ним можно настроить карту под задачи сервиса, можно почитать на vc.ru. На Хабре же хотим рассказать о концепции StyleZoom, которую мы используем в том числе и в редакторе стилей. Под катом — небольшой рассказ о зум-левелах...

[Из песочницы] Going remote: советы самому себе перед вторым локдауном Привет, Хабр. Меня зовут Женя, я тимлид в компании «Группа Махаон». 2020 год определенно запомнится нам надолго, в том числе благодаря всеобщей вынужденной удаленке. Для многих компаний это стало настоящим испытанием, но мы выдержали его достойно. Благодаря тому, что многие ...

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

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

[Перевод] Рейт лимиты с помощью Python и Redis В этой статье мы рассмотрим некоторые алгоритмы рейт лимитов на основе Python и Redis, начиная с самой простой реализации и заканчивая продвинутым обобщённым алгоритмом контроля скорости передачи ячеек (Generic Cell Rate Algorithm, GCRA). Для взаимодействия с Redis (pip in...

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

[Перевод] 32 совета веб-разработчику, который хочет вырасти над собой в 2020 году Ушёл 2019 год. Для нас, для веб-разработчиков, это был год испытаний и возможностей. Вокруг много всего такого, что можно изучить, и такого, в чём можно попытаться достичь мастерства. Например — это JavaScript-инструменты для разработки сайтов, такие, как React, Vue, Angular...

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

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

Google добавит в Android 11 продвинутый режим энергосбережения Энергопотребление современных смартфонов настолько высоко, что многие даже не дотягивают до вечера Многие люди очень любят всё обобщать и упрощать сверх меры, приводя, так сказать, дроби к одному знаменателю. Таким образом они просто пытаются подогнать какое-то явление под с...

Формальные грамматики на службе мобильного клиента В повседневной жизни мы пользуемся готовыми интерпретаторами и компиляторами — и редко кому придёт в голову написать их самостоятельно. Во-первых, это же сложно, во-вторых — зачем. В Surf мы написали собственный интерпретатор и используем его на клиенте мобильного приложени...

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

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

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

[Перевод] Искусство компонентов. Пишем карточку контакта Facebook Messenger Вполне возможно оценить компонент и сказать, что он легко пишется на HTML и CSS. Соглашусь, это легко, когда вы работаете, только чтобы практиковаться, но в реальном проекте всё по-другому. Идеальный адаптивный компонент, который вы только что создали, быстро перестаёт работ...

[Перевод] Низкоуровневое программирование микроконтроллеров tinyAVR 0-series Вы — 8-битный или 32-битный программист? Мы, в компании OMZLO, сосредоточили основные усилия на новых 32-битных ARM Cortex-чипах (STM32 и SAMD), которые, в сравнении с более старыми 8-битными микроконтроллерами (Micro Controller Unit, MCU) обычно предлагают больше RAM, бол...

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

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

[Из песочницы] ECS back and forth Привет, Хабр! Представляю вашему вниманию перевод статьи "ECS back and forth — Part 1 — Introduction" автора Michele skypjack Caini. ECS back and forth Часть 1 — Введение. Когда я в первые узнал про архитектурный шаблон entity component system, я пошёл искать больш...

О талантах, деньгах и алгоритмах сжатия данных Алгоритмы сжатия — это очень коварная тема, привлекающая многих новичков. Это правда! Часто человеку кажется, что его осенила божественная идея, как сильно сжать данные. Любые, кстати! Без потерь! Рекурсивно! А поскольку данные — это хранение информации и передача, то если...

Каждый пятый в мире сталкивался с последствиями социальных рейтингов Такие данные опубликовала "Лаборатория Касперского" по итогам глобального опроса.Каждый пятый респондент (21%) отмечал, что уже сталкивался с так называемым "социальным рейтингом" - системой оценки потенциала человека на основе его поведения в сети, круга...

Чем я заменил FaceTime на Android Несмотря на то что многие пользователи Android мечтают получить доступ к фирменным сервисам Apple, которые компания из Купертино сделала эксклюзивом только своих устройств, в экосистеме Google существуют достойные альтернативы. Я обнаружил это, когда выбрал в качестве основ...

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

Как мы ускоряли время разгрузки товара на складе Терминал сбора данных Zebra WT-40 со сканером-кольцом. Нужен для того, чтобы была возможность быстро сканировать товар, при этом укладывать физически короба на паллету (свободные руки). На протяжении нескольких лет мы очень быстро открывали магазины и росли. Закончилось эт...

Агломеративная кластеризация: алгоритм, быстродействие, код на GitHub Несколько лет назад мне потребовалось очень качественно кластеризовать относительно неплотные графы среднего размера (сотни тысяч объектов, сотни миллионов связей). Тогда оказалось, что алгоритма с подходящим набором свойств просто не существует, несмотря на всё разнообраз...

[Перевод] Масштабирование кристалла: как Intel уменьшала масштаб процессора 8086 8 июня 1978 года исполнилось 42 года с того момента, как первые появились революционные микропроцессоры Intel 8086. В честь этого я изучал кристаллы 8086. Мне попались два кристалла 8086 разного размера, и на их примере видно, как работает масштабирование кристалла. Концепци...

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

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

Что такое практическая польза от обучения, и как её получить? Обычно для того, чтобы получить максимум пользы от обучения, рекомендуют выбирать правильного поставщика обучения. Изучить отзывы о компании и её курсах, ознакомиться с накопленным практическим опытом. Это всё, конечно, так. Но давайте попробуем чуть более глубоко разобратьс...

[Из песочницы] Ваш C# уже «функциональный», просто позвольте ему это Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи «Your C# is already functional, but only if you let it» автора Igal Tabachnik. Несколько дней назад я написал в Твиттере фрагмент кода C#, реализующий FizzBuzz, используя некоторые из новых «фичи» в C# 8....

Расчет перцентилей для мониторинга высоконагруженных систем Привет, меня зовут Игорь, и я разработчик решений на Tarantool в Mail.ru Group. Я работаю над витринами маркетинга в реальном времени для Мегафона. При мониторинге часто требуется использовать перцентили. Они позволяют понять, как система работает бóльшую часть времени, в о...

Аппаратная реализация алгоритмов DES и TDES-EDE3 Алгоритм TDES (3DES, Tripple DES) был создан в 1978 году как улучшение алгоритма DES. По сравнению с последним улучшилась криптостойкость, но в три раза увеличилось время вычисления. Несмотря на то, что на сегодняшний день наиболее распространен алгоритм AES, который принят ...

Вскрытие трафика в публичных сетях Эта статья о том, как стать кулхацкером (или по-английски Script Kiddie) — условным злоумышленником, который испытывает недостаток знаний в области программирования и использует существующее программное обеспечение, чтобы провести атаку на смартфоны и планшеты своих однокл...

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

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

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

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

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

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

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

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

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

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

Информационная безопасность устройств IoT c использованием аппаратной поддержки Интернет вещей, IoT, Internet of Things - сеть электронных устройств, оснащенных встроенными технологиями для взаимодействия друг с другом и внешней средой. Концепция IoT стала неотъемлемой частью нашей повседневной жизни, предоставляя пользователям уникальные возможно...

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

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

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

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

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

[Перевод] 4 рекомендации по разработке крупномасштабных проектов на Vue Как известно, Vue.js — это фреймворк, основанный на JavaScript, популярность которого в последние годы стремительно растёт. У роста популярности Vue есть множество причин. Сюда входят простота фреймворка, лёгкость его интеграции в существующие проекты, удобство работы с ним...

Google добавила в Chrome функцию проверки файлов на вирусы. Как пользоваться Десктопный Chrome, который, в отличие от того же Safari, всегда имел возможность обновляться независимо от операционной системы, благодаря чему Google удавалось регулярно расширять его функциональность. Расширения, встроенный переводчик, аппаратное ускорение – всё это и мно...

Книга «Паттерны объектно-ориентированного проектирования» Привет, Хаброжители! Больше 25 лет прошло с момента выхода первого тиража книги Design Patterns. За это время книга из популярной превратилась в культовую. Во всем мире ее рекомендуют прочитать каждому, кто хочет связать жизнь с информационными технологиями и программирован...

Сколько же ядер может быть в таком процессоре AMD? Компания рассматривает возможность выпуска CPU со структурой big.LITTLE Компания Intel недавно наконец-то выпустила на рынок свои первые потребительские гетерогенные процессоры Lakefield. Напомним, линейка состоит из двух весьма похожих CPU, каждый из которых содержит одно большое ядро и четыре маленьких. В конце 2021 либо в начале 2022 год...

[recovery mode] Пример реализации универсального REST сервиса (Avalanche — application framework for Java) Пример реализации универсального REST сервиса (Avalanche — application framework for Java) "Avalanche — application framework for Java" — реализация технологии стирающей различия между вызовами локального и удаленного кода. Отказоустойчивость, масштабируемость, мод...

Может ли Вселенная осознанно имитировать собственное существование? Тетраэдры представляюn квазикристаллическую спиновую сеть (QSN) – фундаментальную субструктуру пространства-времени Согласной новой гипотезе, Вселенная имитирует собственное существование в «странной петле». В статье, опубликованной учеными из Института исследовани...

Укрощаем динамику в задаче о палиндромах Я уже давно не студент, но в свободное время изучаю материалы по Computer Science. Мне нравится получать знания и делиться ими. Недавно я наткнулся на любопытную задачу в известном учебнике "Алгоримы: Построение и Анализ". В этой статье я продемонстрирую принципы д...

[Из песочницы] Product Manager & Product Designer: поиск сходств и отличий Меня зовут Ростислав Салата, я работаю в киберспортивной организации без малого три года. Пришел в компанию на должность проектировщика интерфейсов, дорос до UX-лида, и в настоящее время являюсь продуктовым менеджером. Задачи продуктового менеджера и подход к работе у нас ...

Podlodka #195: алгоритмы и собеседования Нужно ли знать алгоритмы, чтобы быть хорошим разработчиком и работать в классной команде?

Почему ИТ-компании отказались от технологии распознавания лиц и причем тут протесты в Америке Крупнейшие технологических компании – IBM, Amazon, Microsoft – отказались от технологии распознавания лиц. Это случилось в июне 2020 года на фоне протестов в США и давления на гражданских активистов. На решение повлиял общий политический контекст и продолжительная обществен...

«Шутки ради»: пара занимательных RFC Формат RFC существует с 1969 года — его представили во время обсуждения ARPANET. Тогда инженер Стив Крокер написал RFC 1 о работе программного обеспечения хоста. С тех пор прошло более 50 лет, но Request for Comments все еще в ходу — опубликовано ~9 тыс. документов по сетев...

Авторам! [именно так: в дательном падеже и с восклицанием] Хабр создали Авторы. Да, придумали, написали код и профинансировали его другие люди, но Хабр стал Хабром только благодаря статьям Авторов. Именно за Хабра-знанием Авторов пользователи приходили и приходят на ресурс. Это Авторы днями вычитывают свой текст, чтобы грамотнее по...

Большим данным подготовили стандарт Проект нацстандарта подготовили Национальный центр цифровой экономики МГУ имени М.В. Ломоносова и Институт развития информационного общества. Стандарт "Информационные технологии. Большие данные. Обзор и словарь" устанавливает термины и определения основных понятий в области ...

[Перевод] Алгоритм MADDPG OpenAI Начинаем неделю с продолжения серии статей, подготовленных специально для базового и продвинутого курсов «Математика для Data Science». В конце статьи поделимся с вами списком самых интересных материалов по этой теме. Новый подход Мультиагентное обучение с подкреплени...

Анатолий Шалыто: «Если человек сомневается, заниматься ли наукой, ему стоит заняться чем-то другим» Анатолий Шалыто — доктор технических наук, профессор Университета ИТМО, специалист в области автоматного программирования и проектирования алгоритмов логического управления технологическими процессами. C 1970 года он работает в НПО «Аврора», в&n...

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

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

Книга «Изучаем Python: программирование игр, визуализация данных, веб-приложения. 3-е изд.» Привет, Хаброжители! Мы выпустили третью версию #1 Best Seller in Python Programming Amazon — популярного в мире руководства по языку Python. Вы сможете не только максимально быстро его освоить, но и научитесь писать программы, устранять ошибки и создавать работающие прило...

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

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

Появится ли поддержка SIM-карт в MacBook? Во многих ноутбуках есть SIM-карта, почему в MacBook нет? Нужна ли ноутбукам встроенная поддержка сотовых сетей? Подключиться к таким сетям можно и без этого, с помощью сотового модема или смартфона. Но если бы MacBook Pro или MacBook Air мог бы делать это сам, при необходим...

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

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

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

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

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

Первый в мире web-сайт заработал 30 лет назад Вчера исполнилось ровно 30 лет с того момента, когда заработал первый в мире web-сайт. Он был создан в Европейском центре ядерных исследований (CERN) и работал на компьютере NeXT, который стал первым web-сервером. Сейчас эта система включена в экспозицию исторического с...

Шесть степеней свободы: 3D object detection и не только В компьютерном зрении часто приходится работать с двумерными изображениями, и значительно реже - с 3D объектами. Из-за этого многие ML инженеры чувствуют себя неуверенно в этой области: много незнакомых слов, непонятно, куда тут применить старых друзей Resnet и Unet. Поэтому...

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

[Перевод] Понимание CSS Grid: Создание Grid-контейнера Перевод «Understanding CSS Grid: Creating A Grid Container» Рейчел Эндрю Хотя технология CSS Grid стала поддерживаться некоторыми браузерами еще в 2017 году, у многих разработчиков пока не было возможности использовать её в своих проектах. Технология CSS Grid привносит множ...

[Перевод] Как демо Memories умещается в 256 байт Введение Привет! Меня зовут «HellMood», а эта статья посвящена небольшой программе для MS DOS под названием «Memories». Эта программа имеет размер 256 байт, она выиграла в категории «PC 256 byte» соревнований демосцены «Revision» 2020 года, а также получила приз зрительских...

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

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

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

Google представила «Быстрые команды» и 3D Touch для Android. Жаль, не для всех Копировать чужие наработки, особенно, если их владельцем является Apple, очень опасно. Samsung в этом уже убедилась на собственном опыте, хотя изначально её планы были поистине наполеоновскими. Поэтому сейчас если кто-то и заимствует идеи компании из Купертино, то старается...

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

Программисты, ходите на собеседования Картинка взята из видеоролика с канала «Воинствующие Аметисты» Около 10 лет я работал системным программистом под Linux. Это модули ядра (kernel space), различные демоны и работа с железом из пространства пользователя (user space), различные загрузчики (u-boot и др.), прош...

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

[Перевод] Адаптивная процедурная генерация при помощи алгоритма WaveFunctionCollapse и априорного распределения вероятностей Что такое процедурная генерация? Процедурная генерация включает в себя множество генеративных алгоритмов, принцип работы которых заключается в создании данных не вручную, а алгоритмически: вместо ручного изготовления того, что мы хотим создать (карты, музыки, рельефа…), пише...

15 лет ГК «Пожтехника»: от серверных до мегаЦОДов   Для ГК «Пожтехника» самым знаковым стал, пожалуй, 2008 год. Именно тогда произошел качественный скачок — нашу компанию пригласили в крупный проект американской венчурной компании DataSpace Partners (ныне просто — DataSpace). Туда «Пожтех...

Чистая архитектура с Go Меня зовут Эдгар (ZergsLaw), я работаю в компании, которая занимается  финтех-разработкой для b2b и b2c. Когда только устроился в компанию, то попал в команду большого финтех-проекта и получил «в нагрузку» небольшой микросервис. Мне поручили его изучить и подготовить план ре...

Immutable Trie: найди то, не знаю что, но быстро, и не мусори Про префиксное дерево (Trie) написано немало, в том числе и на Хабре. Вот пример, как оно может выглядеть: И даже реализаций в коде, в том числе на JavaScript, для него существует немало — от «каноничной» by John Resig и разных оптимизированных версий до серии модулей в NP...

Найдено живое ДНК динозавра. Возможно ли это? Идея клонировать динозавра из сохранившихся частиц ДНК уже далеко не нова: одним из наиболее известных тому примеров может послужить знаменитый “Парк Юрского периода” Стивена Спилберга. Основным препятствием реализации культового фильма в реальную жизнь долгое время служило...

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

Собираем простейшую ZigBee-сеть, программируем под Mbed, общаемся через MQTT Собираем простейшую ZigBee-сеть, программируем под MBed, общаемся через MQTT Эта статья — большой учебный практикум начального уровня по использованию XBee-модуля в связке с микроконтроллером, имеющим на борту Mbed OS. Стек XBee реализует ZigBee-стандарт и подходит для задач...

[Перевод] Emacs — 6 трюков для продуктивной работы Ранее я уже писал об использовании Emacs в качестве C++ IDE и другом техническом оснащении. Однако, я не обращал особого внимания на то, что использую Emacs и для работы много с чем ещё. Честно говоря, я не смог бы пользоваться этим редактором в полной мере, не будь в нем во...

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

[Перевод] Алгоритм Укконена: от простого к сложному Изучая курс Алгоритмы на строках столкнулся с задачей о построении суффиксного дерева. Перейдя по ссылке на дополнительные материалы наткнулся на рекомендацию "просмотреть этот замечательный комментарий на Stack Overflow". Изучив и реализовав по приведённому вольному описан...

n-Queens Completion Problem — линейный алгоритм решения EricGrig Предисловие Я хотел бы начать предисловие со слов благодарности двум замечательным программистам из Одессы: Андрею Киперу (Lohica) и Тимуру Гиоргадзе (Luxoft), за независимую проверку полученных мною результатов, на начальном этапе исследования. 1. Статья «Line...

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

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

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

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

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

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

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

[Перевод] Начало работы с методами JavaScript-массивов .map(), .filter() и .reduce() Когда я разбирался в том, как пользоваться методами JS-массивов .map(), .filter() и .reduce(), всё, что я читал, смотрел и слушал, казалось мне очень сложным. Эти концепции рассматривались как некие самостоятельные механизмы, ни к чему другому отношения не имеющие. Мне тяжел...

[Перевод] Алгоритм Беллмана-Форда В преддверии старта курса «Алгоритмы для разработчиков» подготовили очередной перевод интересной статьи. Задача: Дан граф и начальная вершина src в графе, необходимо найти кратчайшие пути от src до всех вершин в данном графе. В графе могут присутствовать ребра с отрицатель...

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

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

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

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

«UML. Взгляд со стороны» или «Как UML удерживает аналитиков в прошлом» Изображение с www.uml.org Статья посвящена UML и особенностям его применения в настоящее время. Немного исторических сведений, совсем немного, только основные моменты: UML зародился в 90-х годах как результат работы по создания языка объектно-ориентированного моделировани...

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

[Перевод] Критически важная электроника в болидах Formula 1 Болиды Формулы-1 оснащены множеством датчиков и электронных систем, которые команды используют для работы с самыми разнообразными данными. За счет чего можно добиться успеха в Формуле-1 – за счет навыков пилота или точно настроенной машины? Споры на эту темы разгорелись в...

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

Деревья выражений в C# на примере нахождения производной (Expression Tree Visitor vs Pattern matching) Доброго времени суток. Деревья выражений, особенно в сочетании с паттерном Visitor, всегда являлись довольно запутанной темой. Поэтому чем больше разнообразной информации по этой теме, чем больше примеров, тем легче интересующимся будет найти что-то, что им понятно и полезно...

[recovery mode] Базовые возможности LXD — системы контейнеров в Linux LXD — это системный менеджер контейнеров следующего поколения, так гласит источник. Он предлагает пользовательский интерфейс, похожий на виртуальные машины, но использующий вместо этого контейнеры Linux. Ядро LXD — это привилегированный демон (сервис запущенный с правами ro...

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

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

Повторяем когортный анализ, выполненный в Power BI, силами Python Добрый день уважаемые читатели! Поводом для написания данной публикации послужил вебинар, который я посмотрел на Youtube. Он был посвящен когортному анализу продаж. Автор использовал для работы с данными платформу Power BI Desktop. Ссылку на указанное видео приводить не буду...

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

[Перевод] Анализ библиотеки ИИ ботов из Quake 3 Изучение исходного кода ИИ уже выпущенных игр — превосходный способ изучения хитростей на реальных примерах. Quake 3 Arena — интересный образец, потому что код игры полностью выложен в открытый доступ (за исключением инструментов), а сама игра стала примером архитектуры дви...

Каким приложением для SMS на Android я пользуюсь и вам советую Одним из преимуществ операционной системы Android перед iOS является возможность менять почти все предустановленные приложения на сторонние. Благодаря этому пользователи мобильной ОС от Google могут заменить не только браузер, но и голосового ассистента на альтернативного, ...

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

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

Дружба на Facebook предсказала вероятность заражения COVID-19 Исследователи изучили распространение заболевания в двух первых горячих точках — в пригороде Нью-Йорка, США, и в провинции Лоди в Италии. Они обнаружили, что распространение было наиболее сильным в тех районах, которые имели значительные связи с регионами через социальную се...

Компьютер насчитал в пустынях Сахара и Сахель 1,8 млрд деревьев Учёные проанализировали детальные спутниковые снимки, используя алгоритмы машинного обучения. Так исследователи выяснили, что в пустынях Сахара и Сахель насчитывается 1,8 млрд деревьев.

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

Китайская Baidu завершила разработку компьютера для самоуправляемых автомобилей, дальше — внедрение Китайский технологический гигант Baidu объявил о завершении разработки «первого в мире готового к эксплуатации» компьютера для самоуправляемых автомобилей Apollo Computing Unit (ACU). Этот компьютер основан на процессорах Xilinx с использованием микроконтроллеров производств...

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

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

Адаптивный или отзывчивый? Разбираем структуру React-компонентов В этой статье мы разберёмся, в чем сложность написания адаптивных компонентов, поговорим о code-splitting-е, рассмотрим несколько способов организации структуры кода, оценим их достоинства и недостатки и попытаемся выбрать лучший из них (но это не точно). Читать дальше &ra...

ARM против x86: В чем разница между двумя архитектурами процессоров? Вы наверняка знаете, что мир процессоров разбит на два лагеря. Если вы смотрите это видео со смартфона, то для вас работает процессор на архитектуре ARM, а если с ноутбука, для вас трудится чип на архитектуре x86. А теперь еще и Apple объявила, что переводит свои Mac на соб...

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

Как клеить по 13 девушек в час используя машинное обучение и Tinder *Исключительно ради изучения Machine Learning, разумеется. Под немного недовольным взглядом любимой жены. Наверное, нет столь простого до уровня спинно-мозговых рефлексов приложений, как Tinder. Для того чтобы им пользоваться достаточно одного пальца, чтобы свайпать и немно...

Продвинутая система авторизации действий с ресурсами в Laravel. Часть 3. Чтение/запись атрибутов, собственные модели Введение Здравствуйте, дорогие Хабровчане. Сегодня я представляю вашему вниманию заключающую часть цикла статей о продвинутой авторизации действий с ресурсами в Laravel. Чтобы лучше понимать о чем пойдет речь в этой статье — необходимо прочесть первую и вторую части. На э...

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

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

[Перевод] Как собрать счетчики производительности процессора в Windows? Периодически мои подписчики задают мне вопросы о том, как проводить микроархитектурный анализ в Windows? Если честно, это никогда не представляло для меня какой-то особой проблемы. Угадайте почему? Потому что я работаю в Intel и, конечно же, у меня есть лицензия для использо...

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

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

Amazon открывает доступ к своему квантовому компьютеру Amazon делает что-то новое! Такие технологические гиганты, как Google и IBM уже давно борются за то, чтобы стать первой компанией, которая создаст по-настоящему доступный квантовый компьютер. Между тем не менее известная компания Джеффа Безоса Amazon не сильно спешит влезать...

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

Microsoft разрабатывает собственные чипы, чтобы отказаться от Intel в продуктах Surface Согласно источникам, Microsoft может запустить новый продукт Surface, который будет работать на собственных процессорах на базе ARM. Если это правда, то это будет первый раз, когда собственные чипы Microsoft будут работать на продуктах Surface – поскольку ранее Microsoft все...

Windows 10 20H1: решения проблем высокой загрузки процессора и диска Microsoft представляет новый алгоритм для индексатора поиска Windows, который делает его более эффективным с точки зрения общей производительности системы, использования процессора и диска. Изменения, включенные в Windows 10 версии 2004 (20H1), могут, наконец, устранить жало...

Проект arataga: реальный пример использования SObjectizer и RESTinio для работы с большим количеством HTTP-соединений В последние 4.5 года я много рассказывал на Хабре про такие OpenSource проекты, как SObjectizer и RESTinio. Но вот об использовании SObjectizer и/или RESTinio в реальных проектах пока еще ни разу не удавалось поговорить (была лишь одна статья от стороннего автора).Причина пр...

OPPO Real-Time Kinematic: Точный алгоритм мобильной навигации Компания OPPO представила высокоточный алгоритм RTK (Real-Time Kinematic), который позволяет навигационным системам смартфонов определять координаты пользователя с точностью до одного метра. «В эпоху 5G разные приложения требуют от навигационных систем более точных данных о...

[Перевод] 5 JavaScript-библиотек для работы со строками Работа со строками может оказаться непростым делом из-за того, что она подразумевает решение множества разноплановых задач. Например, для простого приведения строки к «верблюжьему» стилю понадобится несколько строк кода: function camelize(str) {   return str.replace(/(?:^\w...

Визуализация промисов и Async/Await Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «JavaScript Visualized: Promises & Async/Await» автора Lydia Hallie. Приходилось ли вам сталкиваться с JavaScript кодом, который… работает не так, как ожидается? Когда функции выполняются в про...

[Перевод] Сравнение стоимости на Managed Kubernetes (2020) Прим. перев.: Американский DevOps-инженер Sid Palas, пользуясь недавним анонсом Google Cloud как инфоповодом, провёл сравнение стоимости услуги Managed Kubernetes (в разных конфигурациях) от ведущих мировых облачных провайдеров. Дополнительным плюсом его работы стала публика...

[Из песочницы] Погружение в Delta Lake: принудительное применение и эволюция схемы Привет, Хабр! Представляю вашему вниманию перевод статьи «Diving Into Delta Lake: Schema Enforcement & Evolution» авторов Burak Yavuz, Brenner Heintz and Denny Lee. Данные, как и наш опыт, постоянно накапливаются и развиваются. Чтобы не отставать, наши ментальные модели ми...

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

[Перевод] Framework vs Platform: в чём разница? Привет, Хабр! Представляю вашему вниманию перевод статьи "Framework Vs. Platform What’s The Difference?" автора G. Harris. Исповедуюсь: я педант. Несмотря на личные неудачи на этом поприще, я глубоко верю, что использование правильного языка добавляет множество пре...

Деньги vs Команда. Не очевидные аспекты отношений предпринимателей, фаундеров и инвесторов Привет, Хабр! Некоторые не очевидные аспекты отношений предпринимателей, фаундеров и инвесторов. С реальными примерами из жизни. Представьте: вы создали продукт, интересный, работающий и конкурентоспособный, у вас есть команда, появились первые клиенты и выручка. И вы пони...

Panasonic представил голографический Head-Up дисплей с искусственным интеллектом для автомобилей нового поколения Компания Panasonic Automotive представила на международной выставке CES 2021 новый Head-UP дисплей с дополненной реальностью (AR) для автомобилей нового поколения. Используя последние разработки в области оптики, проекций, обработки изображений, а также искусственного интелл...

Postgresso 20 Жизнь продолжается. Продолжаем знакомить вас с самыми интересными новостями PostgreSQL Главная новость Feature Freeze Функциональность 13-й версии PostgreSQL заморожена. Теперь только доработки и исправления багов. Список нового, вопреки многим ожиданиям, довольно обширный...

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

[Перевод] Генерация подземелий в Binding of Isaac Binding of Isaac и её ремейк Binding Of Isaac: Rebirth — одни из самых любимых для меня игр. Они относятся к жанру roguelite twin stick shooter и очень похожи на Enter the Gungeon. Особенно знамениты подземелья, генерируемые этими играми. В Интернете я видел бесчисленное к...

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

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

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

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

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

Проблемы роста SOC: как учесть +100500 хотелок заказчиков и не сойти с ума Когда-то деревья были большими, а Solar JSOC – маленьким. Всех его сотрудников можно было пересчитать по пальцам двух рук и ног, поэтому вопроса о единых правилах игры не стояло. При небольшом тогда числе заказчиков мы и так прекрасно учитывали их разнообразные хотелки по вы...

Изучаем английский с помощью Telegram бота Нет, это не одна из сотен статей о том, как написать свой первый Hello World бот на Python. Здесь вы не найдете подробной инструкции, как получить API-токен в BotFather или запустить бота в облаке. Взамен я вам покажу как раскрутить всю мощь Python на максимум, чтобы добить...

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

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

Group-IB защитит «цифровую личность» человека с помощью Fraud Hunting Platform В рамках презентации также представлен новый продукт, получивший название Preventive Proxy. Он был создан в ответ на растущую проблему вредоносных ботов, атакующих рынок электронной коммерции и онлайн-банкинга. По данным Group-IB, на вредоносных ботов приходится порядка 30% ...

Симуляторы фабрики и управления: лучшие игры в стиле Factorio для iOS и Android На этой неделе на мобильных вышла игра Sandship: Crafting Factory. Она интересна и сама по себе, но привлекает многих, потому что приближается к определению игры «в стиле Factorio», которая пользуется безумной популярностью на компьютерах. Если вы знакомы с последней, то лиш...

Простое руководство по дистилляции BERT Если вы интересуетесь машинным обучением, то наверняка слышали про BERT и трансформеры. BERT — это языковая модель от Google, показавшая state-of-the-art результаты с большим отрывом на целом ряде задач. BERT, и вообще трансформеры, стали совершенно новым шаго...

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

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

[Перевод] Миллион спрайтов при 120 с лишним fps Если вы побродите по форуму DOTS, то можете встретить там подобные посты о том, как автор написал библиотеку, способную рендерить миллион анимированных спрайтов, и всё равно получает только 60fps. Я создал собственный рендерер спрайтов DOTS, который достаточно хорош для наш...

Алгоритм Ethash В этой статье я расскажу про алгоритм Ethash, который используется для майнинга различных криптовалют, но главная из них это, конечно, Ethereum. Ethash - это Proof of Work (PoW) алгоритм, который является последней версией алгоритма Dagger-Hashimoto, хотя его больше нельзя н...

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

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

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

Как писать книгу в LaTeXe по физике. Cтатья 1 Это моя первая статья на Хабре. Глава 1. Введение 1.1 Позвольте представиться и почему я это пишу    Я — научный сотрудник, физик. Недавно выпустил книгу по спектроскопии объемом 880 страниц и весом 1560 грамм. Эту книгу я писал 9 лет, параллельно читая лекции по...

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

Подборка статей о машинном обучении: кейсы, гайды и исследования за сентябрь 2020 Сентябрьскую подборку мы начнем с кейса. В этот раз он всего один, но зато какой! Мы не устаем восхищаться возможностями GPT-3 и рассказывать о сферах ее применения, но многие при этом видят в алгоритме угрозу своей профессии. И компания VMO, которая занимается A/B тест...

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

PostgreSQL в «Тензоре» — публикации за год Ровно год назад с рассказа о нашем сервисе визуализации планов запросов мы начали публикацию на Хабре серии статей, посвященных работе с PostgreSQL и его особенностям. Это уже пройденные нами «грабли», интересные наработки, накопившиеся рекомендации, применяемые в разработке...

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

Организациям Европы, Ближнего Востока и Африки недостаточно инструментов для работы с данными Компания Aruba, входящая в Hewlett Packard Enterprise, подготовила отчет, основанный на результатах опроса более 170 лидеров мнений в области ИТ и сетевых инженеров в экосистеме Aruba региона EMEA. Исследование выявило, что большинство респондентов разочарованы недостатками ...

Адаптируем существующее бизнес-решение под SwiftUI. Часть 1 Доброго всем времени суток. О технологии SwiftUI, которую Apple анонсировали в прошлом году WWDC 2019, говорили уже много. В принципе уже довольно материала про ее особенности, что у нее под капотом и как это использовать для быстрого и красивого UI. Предлагаю вам небол...

На iPhone со старыми версиями iOS перестал работать Twitter Компания Apple с гордостью рассказывает о темпах распространения обновлений операционной системы iOS, но в этой связи возникают и неприятные моменты.К примеру, в социальной сети Twitter заявили, что её фирменное приложение больше не поддерживает версии операционной системы A...

Интернет беззащитных «вещей». Алгоритмы шифрования в IoT С каждым днем количество "вещей" увеличивается. Это могут быть как камеры, которые стоят на улицах Москвы, различные сенсоры и датчики, которые используются при производстве,медицинские приборы, которые следят за вашим здоровьем, а так...

История 4го места на Russian AI Cup 2020 В этом году поучавствовал в соревновании по написанию игровых ботов Russian AI Cup. И хоть не удалось взять 1е место, как в 2017, но все равно это было увлекательное и невероятно азартное приклюение длинной в месяц, полное напряженного кодинга, недосыпания, творчес...

[Перевод] Работаем с двухмерной физикой в JavaScript Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Martin Heinz «Implementing 2D Physics in JavaScript». Давайте немного развлечемся, создавая двухмерные симуляции и визуализации в JS. Создание реалистичной анимации физических процессов может казать...

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

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

Как мы побеждаем неопределенность в Delivery Club Друзья, всем привет! Меня зовут Коля Архипов, я отвечаю за Research & Development в Delivery Club. Наша команда решает наукоёмкие задачи внутри FoodTech-платформы: мы разрабатываем компоненты, основанные на алгоритмах и данных, которых в платформе DС много. В процессе...

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

SQL HowTo: пишем while-цикл прямо в запросе, или «Элементарная трехходовка» Периодически возникает задача поиска связанных данных по набору ключей, пока не наберем нужное суммарное количество записей. Наиболее «жизненный» пример — вывести 20 самых старых задач, числящихся на списке сотрудников (например, в рамках одного подразделения). Для различны...

Машинный перевод. От Холодной войны до наших дней Машинный перевод в последние годы получил очень широкое распространение. Наверняка, большинство моих читателей хоть раз пользовались сервисами Google.Translate или Яндекс.Перевод. Также вероятно, что многие помнят, что не так уж и давно, лет 5 назад пользоваться автоматическ...

AIOps в управлении ИТ-инфраструктурой Традиционные методы ИТ-администрирования и управления ИТ-инфраструктурой активно пересматриваются и постепенно реформируются. Использование искусственного интеллекта (ИИ) в управлениии ИТ-инфраструктурой рисует интереснейшие перспективы. Термин AIOps (Artificial Intelligence...

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

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

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

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

Пользователи Windows 7 по-прежнему могут бесплатно установить Windows 10 Еще в 2015 году, когда Microsoft официально выпустила Windows 10, Microsoft также провела кампанию, предлагая пользователям Windows 7 и Windows 8.1 абсолютно бесплатно перейти на новую версию ОС. Единственным условием для этих устройств с Windows 7 было использование подлинн...

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

Группа «Эталон» поддержала кейс-чемпионат Changellenge >> Cup Russia Группа «Эталон» стала Генеральным партнером Кейс-чемпионата Changellenge >> Cup Russia. Это соревнование по решению актуальных бизнес-задач, которое помогает участникам – студентам и недавним выпускникам – всего за три недели изучить бизнес-процессы сразу в нескольких...

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

Meta Gameplay Framework, или бэкенд без серверных разработчиков Привет! Меня зовут Кирилл, я руководитель отдела серверной разработки в Pixonic. Здесь я работаю уже более 5 лет. Долгое время Pixonic была компанией одной игры — War Robots. Но однажды к нам пришло осознание, что так больше продолжаться не может, и мы начали работу над со...

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

[Перевод] Объединяем функции логическими операторами в C++ В преддверии старта занятий в новом потоке группы «Разработчик С++» подготовили перевод интересного материала. Большинство алгоритмов STL в C++ используют всего лишь одну функцию для выполнения некоторой работы над коллекцией. Например, чтобы извлечь все четные числа из ко...

[Перевод] Элегантное асинхронное программирование с помощью «промисов» Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Graceful asynchronous programming with Promises» с MDN. «Обещания» (промисы, promises) — сравнительно новая особенность JavaScript, которая позволяет откладывать выполнение действия до завершения вы...

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

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

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

Унифицируй это: как Lamoda делает единообразными свои Go сервисы Мы широко используем микросервисную архитектуру, хоть и не считаем ее панацеей, и чуть больше 2 лет назад начали переходить на язык Go. Он сравнительно прост и, на мой взгляд, очень хорошо подходит для создания простых, небольших и быстрых микросервисов. Эта простота имеет и...

Лучшее место для досуга casino ya888ya Сегодня каждый имеет возможность узнать, что такое азартные развлечения, посетив казино Ya888ya. Больше это не то, о чем нельзя говорить, к чему нельзя прикасаться, и тем более пробовать. Ведь каждый помнит, что раньше азартные заведения были наземного типа. Это были прокуре...

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

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

Поразрядная сортировка LSD (Radix Sort) В последнее время публикуется множество статей посвященных различным алгоритмам сортировки и их сравнению, решил внести и свои пять копеек. Хочу рассказать про свой излюбленный алгоритм для поразрядной сортировки LSD (least significant digit — сначала младший разряд) с по...

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

Fluid Components — новый подход к документам и продуктам Microsoft Office Компания Microsoft представила новый подход к документам и продуктам Microsoft Office, который именуется Fluid Components. Компоненты фреймворка могут как кубики Lego соединяться вместе в различных приложениях и в веб-среде. Компоненты — это таблицы, графики, списки, являющ...

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

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

Простой классификатор P300 на открытых данных Мой коллега Рафаэль Григорян eegdude недавно написал статью о том, зачем человечеству потребовалась ЭЭГ и какие значимые явления могут быть зарегистрированы в ней. Сегодня в продолжение темы нейроинтерфейсов мы используем один из открытых датасетов, записанных на игре, испол...

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

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

OnePlus сказала, что готовит умные часы. Когда выйдут и почему их не было раньше Умных часов становится все больше, больше и больше! Как будто где-то отменили запреты или просто производители догадались, что оказывается так можно было, и начали выпускать новые устройства одно за одним. Какое-то время умные часы были привилегией Apple, Samsung и пары спо...

Стоит ли переплачивать за флагманский процессор в смартфоне Что отличает топовый процессор от процессора средней руки? Это и высокая производительность, в т.ч. благодаря 5G, и высокая энергоэффективность, и поддержка камер с высоким разрешением и больших объёмов оперативной памяти. В общем, преимуществ достаточно. Другое дело – вопр...

Что такое Apple Silicon на самом деле? В прошлом месяце глава Apple Тим Кук анонсировал переход компьютеров компании на процессоры собственного производства. Эта новость благоприятно отразилась на финансовом состоянии корпорации, она несколько дней подряд била рекорды капитализации. Многие начали говорить, что в...

До чего доводит жадность: Почему миллионы человек рискуют пользоваться устаревшей Windows 7 Компания Microsoft прекратила поддержку операционной системы Windows 7 почти год назад — 14 января 2020 года. Тем не менее, этой ОС продолжают пользоваться миллионы человек.  Как сообщил британский журнал Which?, специализирующийся на выяснении реального выб...

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

JPEG. Алгоритм сжатия И снова здравствуйте! Я нашел эту статью, написанную еще мае 2019-ого года. Это — продолжение серии статей о WAVE и JPEG, Вот первая. Эта публикация включит в себе информацию об алгоритме кодирования изображений и о самом формате в целом. Щепотку истории Столовую ложку стать...

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

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

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

Нейросеть научили распознавать речь по губам при помощи алгоритма распознавания записи голоса Hal 9000 прекрасно читал по губам, правда, по-английски Нейросети сейчас умеют многое, и постепенно их обучают все большему количеству умений. На днях стало известно о том, что объединенная команда исследователей из США и Китая смогла обучить нейросеть распознавать речь по...

[Перевод] Низкоуровневое программирование STM32: от включения питания до «Hello, World» В этом материале я хочу рассказать о том, как писать программы для микроконтроллеров (Microcontroller Unit, MCU) Cortex-M, вроде STM32, используя лишь набор инструментов ARM и документацию, подготовленную STMicroelectronics. У некоторых читателей может появиться вопрос о том...

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

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

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

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

[Из песочницы] Геокодирование. Как привязать 250 тысяч адресов к координатам за 10 минут? Привет, Хабр! В этой статье я хотел бы поделиться опытом решения маленькой проблемы с большим количеством адресов. Если вы когда-либо работали с API геокодирования или пользовались онлайн инструментами, то думаю вы разделяете мою боль ожидания результата в течение несколь...

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

[Перевод - recovery mode ] Учебный проект на Python: алгоритм Дейкстры, OpenCV и UI ( часть 1) Лабиринты — это распространенная головоломка для людей, но они представляют из себя интересную задачу для программирования, которую мы можем решить, используя методы кратчайшего пути, такие как алгоритм Дейкстры. Вспоминаем алгоритм Дейкстры Алгоритм Дейкстры — один из наиб...

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

Починить, хакнуть, раскопать. Решаем онлайн-квест Droid Mission В прошлом году мы провели онлайн-квест для мобильных разработчиков — Droid Mission. В течение месяца участники должны были решить как можно больше задач в трёх направлениях: fix it! (поиск ошибок и исследование кода), hack it! (реверс-инжиниринг) и dig it! (изучение особен...

Топ-5 трендов в ITSM на 2020 год Под конец года, как это водится, начинается пора предсказаний, прогнозов, обозначений трендов. Портал ITSM Tools не остался в стороне и недавно опубликовал своё видение того, какие направления будут главенствовать в ITSM в следующем, 2020 году. Управление ИТ-услугами (ITSM)...

Убийства и анализ данных Привет, Хабр. Меня зовут Алексей Кнорре, и я криминолог, аспирант в UPenn и аффилированный научный сотрудник в ЕУСПб. Подумал, что сейчас, после месяцев карантина, самое время рассказать о преступности. Неясная экономическая ситуация, рост безработицы, ухудшение общественно...

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

«Лэт ми спик фром май харт» © Во время проведённого на этой неделе вебинара в чате возникло обсуждение вопроса «Нужен ли перевод ITIL4?». Опять. К сожалению, трансляция была прервана, поэтому не успели обсудить этот вопрос. Но, поскольку дискуссия возникает не первый раз, выскажусь здесь. Также в конце д...

Google объяснила, почему нужно установить последнее обновление Android Google выпустила январское обновление безопасности, которое, впрочем, доступно далеко не всем Я уже много раз высказывал своё мнение насчёт обновлений безопасности, которые, на мой взгляд, являются вещью совершенно бесполезной с практической точки зрения. Но кто я такой, что...

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

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

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

TCP BBR: быстрый и простой способ ускорения загрузки страниц. Доклад Яндекса Современные протоколы прикладного уровня используют для ускорения передачи данных мультиплексирование, которое повышает требования к надёжности канала. На конференции YaTalks Александр Грянко phasma рассказал, как мы ускоряем загрузку страниц на каналах с большими потерями п...

Арбитражная торговля (Алгоритм Беллмана — Форда) Торговля на бирже обычно ассоциируется с рисками. Это совершенно верно для большинства торговых стратегий. Успешность торговли в этих случаях определяется исключительно способностью верно оценивать риски и управлять ими. Но не все торговые стратегии таковы. Существуют безр...

Как управлять iPhone или iPad только голосом Голосовое управление в iOS удобно настолько, что его не хочется отключать Apple дальше других продвинулась по части развития инклюзивных технологий. Благодаря этому фирменной техникой компании могут пользоваться люди с нарушениями зрения, с парализованными конечностями и сам...

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

Честный отзыв про отзывы на IT-волонтере Как работает система отзывов в Интернете на выполненную работу? Зачем нужен отзыв на it-волонтере? В этой статье рассказываю про свой опыт работы на платформе, впечатления о работе с авторами задачи и отзывы на мою работу. О платформе «IT-волонтер» «IT-волонтер» – это...

Microsoft говорит, что большинство приложений Win32 будут работать на Windows 10X 11 февраля Microsoft поделилась подробностями о Windows 10X для двухэкранных и различных сторонних складных устройств. По слухам, Windows 10X не будет ограничиваться только приложениями из магазина, а операционная система сможет запускать UWP, PWA, веб-приложения и даже прил...

[Перевод] Понимание деревьев решений в машинном обучении и их реализация с помощью Python Совсем скоро, 20 ноября, у нас стартует новый поток «Математика и Machine Learning для Data Science», и в преддверии этого мы делимся с вами полезным переводом с подробным, иллюстрированным объяснением дерева решений, разъяснением энтропии дерева решений с формулами и просты...

Реальный способ улучшения снимка без фоторедакторов Изначально, статья должна была быть присвоена теме улучшения снимков с помощью приложения для фото на основе алгоритмов искусственного интеллекта (https://play.google.com/store/apps/details?id=wide.android.camera&hl=uk), но разница между стандартным приложением фотокаме...

EMUI 11 может стать последней версией перед переходом на Harmony OS Пользовательский интерфейс EMUI 11 от Huawei основан на Android 10, а не на Android 11. Это неудивительно, учитывая сложную ситуацию, сложившуюся у производителя в данный момент. Однако технический гигант работает над своей собственной операционной системой под названием Hon...

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

Онлайн-конференции: плюсы, минусы, подводные камни Этой весной я следил за кучей онлайн-мероприятий: от конференции Microsoft Build до круглого стола «Киберсекс и самоизоляция». Поскольку работаю в JUG Ru Group, также видел, как готовятся наши собственные 8 конференций. А ещё читал комментарии айтишников об онлайн-формате —...

Как мы ржавели. История внедрения и обучения Все говорили – переходи на rust! Начинай пользоваться самым-самым языком, который самый любимый язык на stackoverflow и всё такое. Я тяжело вздохнул и огляделся. Ну опять двадцать-пять. Ладно, давайте разбирваться, как правильно покрывать всё ржавчиной. Профессионально я про...

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

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

ITSM и DevOps: некоторые практические рекомендации по совместному применению Уже много написано об IT service management (ITSM) и DevOps. Большая часть статей посвящена противопоставлению ITSM и DevOps или даже тому, как DevOps «убивает» ITSM. К счастью, некоторые ведущие эксперты по DevOps высоко оценивают необходимость в совместной раб...