Социальные сети Рунета
Суббота, 28 мая 2022

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

Новые рекорды: найдено 51-ое простое число Мерсенна (Примечание переводчика: не нашёл публикации (-ий) по данной теме на Хабре.)Блоуинг Рок, Северная Каролина, 21 декабря 2018 года — организация Great Internet Mersenne Prime Search (GIMPS, масштабный Интернет-проект по поиску простых чисел Мерсенна) обнаружила самое большое и...

[Перевод] Семантический поиск: от простого сходства Жаккара к сложному SBERT В материале, переводом которого мы решили поделиться к старту курса о машинном и глубоком обучении, простым языком рассказывается о семантическом поиске, статья охватывает шесть его методов; начиная с простых сходства по Жаккару, алгоритма шинглов и расстояния Левенштейна, а...

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

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

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

Подборка полезных библиотек для Python с примера #1 У Python одно из самых больших комьюнити. Этот язык любят за его простоту, лояльность и за его универсальность, которая была достигнута созданием огромного числа библиотек и фреймворков, таких как numpy, django, flask, pygame, tornado, tensorflow и других. На сайте pypi соде...

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

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

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

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

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

[Перевод] Прошло тридцать лет, а QBasic по-прежнему лучший Моему старшему сыну Ноа три месяца назад исполнилось семь лет. Если бы он мог обменять всю свою семью на два часа игры в Minecraft, то сделал бы это без раздумий. Ещё одна любовь всей его жизни — это Super Mario Maker. У меня бегали мурашки, когда я видел, как он играет в у...

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

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

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

[Перевод] Как использовать простую утилиту для поиска уязвимостей в программном коде Graudit поддерживает множество языков программирования и позволяет интегрировать тестирование безопасности кодовой базы непосредственно в процесс разработки. Источник: Unsplash (Markus Spiske) Тестирование — важная часть жизненного цикла разработки программного обеспечени...

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

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

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

Взломан самый сложный в мире ключ шифрования Специалистам удалось прийти к цели за существенно меньшее количество времени - 4000 вычислительных лет. По их словам, они смогли этот рекорд вовсе не за счет того, что за прошедшее с предыдущего рекорда (взлом RSA-232) время производительность компьютеров хоть немного, но во...

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

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

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

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

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

Необязательные параметры в репозиториях Spring Data Все кто использовал Spring Data сталкивались с ситуацией, когда у вас есть репозиторий для работы с сущностью и вы хотите написать универсальный find-метод для поиска по набору параметров, которые пользователь может задать или пропустить на форме поиска. Базовая реализация f...

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

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

Как проще всего найти работу в Киеве Один из самых популярных в Украине сервисов поиска работы grc.ua. Для тех, кто ищет работу в Киеве, можно сразу зайти в соответствующий раздел. The post Как проще всего найти работу в Киеве first appeared on HiTech.Expert.

Расширение языка программирования (C++/Planning C). Волшебные сканеры и компилирующие макросы Здравствуйте, уважаемые читатели.Обычно, когда речь заходит о создании какого-либо расширения для существующего языка программирования, в воображении неминуемо начинают рождаться разнообразные сложные решения, включающие поиск описания формальной грамматики исходного языка, ...

[Перевод] Java и базы данных: обзор библиотек и API Каждый раз при необходимости взаимодействия с базами данных появляются три вопроса: - Какой подход использовать при разработке: java-first или database-first? Писать сначала Java-классы или SQL-запросы? Будет ли использоваться уже существующая база данных? - Каким способом в...

[Перевод] Простая интеграция RabbitMQ и Spring Boot Перевод статьи был подготовлен в преддверии старта курса «Разработчик на Spring Framework». Всем привет! Я хотел бы поделиться с вами библиотекой с открытым исходным кодом, которая облегчает интеграцию RabbitMQ с приложениями на Spring Boot. Кроме того, эта библиотека пре...

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

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

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

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

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

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

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

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

[Перевод] React Intl: интернационализация React-приложений Библиотека React Intl предоставляет механизм для перевода текста на другие языки. В данном "туториале" мы используем названную библиотеку для реализации интернационализации в проекте, написанном на React. Мы создадим простое приложение, позволяющее пользователю вы...

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

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

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

[Перевод] Деликатные числа. Математики заявили о новом классе простых чисел Ученые доказали, что существуют особые простые числа, настолько чувствительные, что изменение любой из их цифр превращает такие числа в составные. Однако конкретных примеров исследователи пока не нашли.Возьмем числа 294 001, 505 447 и 584 141. Заметили в них что-нибудь ...

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

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

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

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

[Перевод] 5 стратегий успешного поиска работы в сфере IT Пандемия COVID-19 успела внести свои коррективы на рынке труда, однако оставила шанс найти хорошую работу в сфере IT, в том числе за рубежом. Для того чтобы поиски работы увенчались успехом: 1. Инвестируйте время в резюме. Мало найдется людей, которые регулярно обновляют ...

[Перевод] D как улучшенный C Уолтер Брайт — «великодушный пожизненный диктатор» языка программирования D и основатель Digital Mars. За его плечами не один десяток лет опыта в разработке компиляторов и интерпретаторов для нескольких языков, в числе которых Zortech C++ — первый нативный компилятор C++. Он...

Фреймворки и библиотеки для кроссплатформенной разработки десктопных программ В этой статье я расскажу вам о некоторых самых популярных фреймворках, которые помогут вам при разработке программ для компьютеров под управлением Windows/MacOS/Linux. Если вы опытный программист, то вряд ли найдете в этой статье что-то новое для себя. Она скорее для новичко...

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

Python & EEL. Делаем просто на Python’е и красиво на JS Тема красивых интерфейсов была и будет актуальна всегда, кто-то использует для создания графических приложений C#, кто-то использует Java, кто-то уходит в дебри C++, ну а кто-то извращается с Python, используя tkinter или PyQT. Существуют различные технологии, позволяющие со...

XML сайты в результатах поиска Что такое XML сайт XML сайт это сайт страницы которого являются простыми XML файлами с MIME типом "text/xml". Они содержат только уникальные данные для этой страницы. В таком XML файле задаётся ссылка на XSLT шаблон который преобразует XML в HTML или в XHTML в брау...

Вебинар «Ускорение на простых типах данных и битовые операции» 15 апреля Яндекс.Практикум проводит открытый вебинар «Ускорение на простых типах данных и битовые операции». Приглашаем разработчиков на Python и C/C++, которые хотят научиться трюкам для ускорения кода, а также программистов на других языках, которым интересны фишки, связан...

Лемматизируй это быстрее (PyMorphy2, PyMystem3 и немного магии) Я работаю программистом, и в том числе занимаюсь машинным обучением применительно к анализу текстов. При обработке естественного языка требуется предварительная подготовка документов, и одним из способов является лемматизация – приведение всех слов текста к их нормальным фор...

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

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

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

[Перевод] Что принёс нам Pandas 1.0 9 января состоялся релиз Pandas 1.0.0rc. Предыдущая версия библиотеки — 0.25. Первый мажорный релиз содержит множество замечательных нововведений, в том числе улучшенное автоматическое суммирование датафреймов, больше форматов вывода, новые типы данных и даже новый сайт док...

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

[Из песочницы] Как использовать сторонние сборки в Plug-In Проблема Я, и думаю многие разработчики MS Dynamic CRM (в моём случае это 2016 on premise) столкнулись с проблемой, для того что бы использовать сторонние сборки, необходимо их объединять с основной сборкой и потом её регистрировать в Plugin Registration Util. Как пример мн...

[Перевод] Тесты Ферма и Миллера-Рабина на простоту Салют хабровчане! Сегодня мы продолжаем делиться полезным материалом, перевод которого подготовлен специально для студентов курса «Алгоритмы для разработчиков». Дано некоторое число n, как понять, что это число простое? Предположим, что n изначально нечетное, поскольку в ...

Google объявил о глобальном запуске BERT Google приступил к запуску алгоритма BERT по всему миру, на более чем 70 языках. Об этом сообщил сотрудник поиска Дэнни Салливан (Danny Sallivan) в Twitter. Как стало известно вчера, в число этих языков также входит русский. Всего их 72. Со всем списком можно ознакомиться в ...

[Перевод] Не начинайте учиться кодингу с Python, начните с языка C Python удивителен своей способностью продвигать программирование. Он как будто является подтверждением популярной идеи «если вы знаете английский, то должны знать, как писать код». Благодаря синтаксису, напоминающему английский язык, парадигме отступов и огромному количест...

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

[Из песочницы] Кроссплатформенный многопоточный TCP/IP сервер на C++ Как-то раз встала задача по написанию простого и быстрого многопоточного TCP/IP сервера на C++ и при этом, чтобы работал из под Windows и Linux без требования как-либо изменять код за пределами класса самого сервера. Ранее, на чистом C++ без библиотек вроде Qt, Tcp-сервер не...

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

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

PgGraph — утилита для архивации и поиска зависимостей таблиц в PostgreSQL Сегодня я хочу представить читателям Хабра утилиту, написанную на Python, для работы с зависимостями таблиц в СУБД PostgreSQL. API утилиты простое и состоит из трех методов: archive_table — рекурсивная архивация/удаление строк с указанными Primary Keys get_table_referenc...

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

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

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

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

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

[Перевод] Пишем движок полнотекстового поиска на Go Полнотекстовый поиск — один из тех инструментов, которые мы используем практически каждый день, когда ищем какую-то информацию в интернете. Full-Text Search (FTS) — это метод поиска текста в коллекции документов. Документ может ссылаться на веб-страницу, газетную статью, соо...

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

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

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

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

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

Яндекс упростил поиск нужных книг Команда Яндекса объявила о запуске полезного новшества — найти нужную книгу теперь станет проще. В ответ на запрос пользователя будут выдаваться объединённые предложения популярных сервисов «ЛитРес», mybook, book24 и проектов-партнеров компании.  ...

SQL HowTo: префиксный FTS-поиск с релевантностью по дате В нашем СБИС, как и в любой другой системе работы с документами, по мере накопления данных у пользователей возникает желание их "поискать". Но, поскольку люди — не компьютеры, то и ищут они примерно как "что-то там такое было от Иванова или от Ивановского… не...

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

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

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

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

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

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

Как найти человека в Instagram по номеру телефона? Простая инструкция по поиску профиля человека в Instagram по номеру телефона. В Instagram только небольшое число пользователей подписываются своими...

[Перевод] Пишем простую библиотеку JSON с нуля: экскурс в современный C++ Глазами начинающего С++ программиста оцениваем удобство современных возможностей языка на примере реализации программы для лексического разбора и парсинга данных JSON. Читать дальше →

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

10 вопросов, на которые наука до сих пор не нашла ответов Как зародилась первая жизнь? Одиноки ли мы во Вселенной? Что из себя представляют сны? Давайте рассмотрим десять важных вопросов, на которые наука не получила чёткого ответа — по крайней мере, на данный момент. Что есть сознание? Мы знаем, что обладаем сознанием ...

Лучшие приложение для прослушивания музыки на Android Многие пользователи мобильных устройств слушают музыку через сервисы потоковой передачи, такие как Pandora, Spotify, Google Play Music или Apple Music. При этом немалая часть меломанов предпочитает использовать собственную коллекцию медиа - и потому что потоковая передача не...

Мой способ бороться с белым налетом после постобработки ацетоном Добрый день!Стал редко сюда заходить, а писал в последний раз уже не помню когда...Но вот решил наконец поделиться с сообществом своим опытом и предложить еще один способ борьбы с белым налетом, который так сильно портит результат от постобработки ацетоном. За мои 7 лет в 3D...

Учимся квантовому программированию на Python с помощью примеров. Доклад Яндекса Сегодня любой желающий может воспользоваться методами квантового программирования, написать простой код на Python и запустить его на реальном квантовом вычислителе. Ришат Ибрагимов rishat_ibrahimov разобрал основы квантовых вычислений на примерах с кодом, показал, как запуск...

[Перевод] Специалисты по информатике хотят загнать в угол гипотезу Коллатца Действенная технология SAT-решателей может сработать с печально известной гипотезой Коллатца. Однако шансы на это не слишком велики. В последние несколько лет Марийн Хиюл использовал технологию компьютеризированных поисков доказательств под названием «SAT-решатель» (SAT от...

Обучение с подкреплением: как работают новые возможности библиотеки SberPM Что такое Process Mining и как его применять, мы рассказывали в первом посте. Во второй части мы представили краткое руководство пользования библиотекой для интеллектуального анализа процессов SberPM. В данной статье мы подробнее раскроем функционал библиотеки и расскажем о...

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

Простой ZoomableImageView своими руками за 2 минуты Порой в Android разработке бывают простые проблемы, которые не так просто решить без нужных библиотек или Custom View.Недавно я столкнулся с проблемой создания вот такого простого эффекта: Читать далее

Как продвигать страницу в Instagram в 2020 году? Instagram сегодня – не только развлекательная социальная сеть, но еще и место для продвижения своего творчества, поиска клиентов, реализации товаров и услуг. Закономерно, что чем больше в подписчиках пользователей, тем больше вероятность покупки, заказа, ознакомления с творч...

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

Google Chrome так не умеет. Microsoft Edge получил поиск в боковой панели Ещё на конференции Build в мае компания Microsoft анонсировала новую удобную функцию для своего браузера Microsoft Edge — поиск прямо в боковой панели.  Подобная возможность упущена в большинстве браузеров, в том числе и в наиболее популярном Google Chr...

[Из песочницы] Технология видео поиска «Video Color» Немного о поиске Когда мы говорим о поиске, то сразу представляем себе поисковую систему Google с формой для ввода текстовой строки и многие сотни результатов ссылок на найденные страницы. Однако задумаемся о предмете нашего поиска. Что мы ищем? Текст Документы HTML ст...

Как можно оптимизировать dot-product и не только. Доклад Яндекса Разработчик инфраструктуры качества поиска Яндекса Ильнур Хузиев ilnurKh взял простую задачу — скалярное произведение двух векторов — и попробовал выжать все соки производительности кода. Из доклада вы узнаете, как использовать возможности процессора, настройки компилятора (...

[Перевод] Представляем PyCaret: открытую low-code библиотеку машинного обучения на Python Всем привет. В преддверии старта курса «Нейронные сети на Python» подготовили для вас перевод еще одного интересного материала. Рады представить вам PyCaret – библиотеку машинного обучения с открытым исходным кодом на Python для обучения и развертывания моделей с учителем...

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

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

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

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

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

Как быстро найти трек из Apple Music в Spotify, Яндекс.Музыке и других сервисах Наверное, все хотя бы раз слышали термин «кросс-платформенность». Говоря простым языком, это то же самое, что универсальность, но в более узком смысле, потому что, как правило, этим термином обозначают совместимость приложений и сервисов с разными платформами. Вот, например...

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

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

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

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

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

В iOS 14 обнаружили сюрприз времён классического iPod с колёсиком Компания Apple не склонна запрятывать в своих продуктах разного рода «пасхалки», как это делает Google. Однако из каждого правила есть исключения. Энтузиасты обнаружили интересный сюрприз от Apple в готовящейся к выпуску мобильной операционной системе iOS 14...

Под угрозой все пользователи Интернета: самая большая утечка в истории содержит более 8,4 млрд уникальных паролей Как сообщает CyberNews, на популярном хакерском форуме был опубликован огромный текстовый файл размером около 100 ГБ, который содержит 8,4 миллиарда паролей, полученных в результате различных утечек и взломов данных. По словам автора файла, все пароли имеют длину от 6 д...

Быстрый расчет формул из Excel на C# Как часто вы слышите от заказчиков, что они пришлют данные в Excel или просят вас сделать импорт или выгрузку в Excel-совместимом формате? Я уверен, что в большинстве сфер Excel — один из самых популярных, мощных и в то же время простых и удобных инструментов. Но самым пробл...

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

WhatsApp начиная с 1-го числа перестанет работать на iOS и Android Самым известным и популярным в мире сервисом для общения является WhatsApp, а используют его более чем 2 млрд человек, все из которых находят его самым лучшим среди всех существующих на рынке. Это программное обеспечение позволяет Читать полную версию публикации WhatsApp на...

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

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

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

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

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

Немного про устройство современного радио на примере HackRF One Приветствую, Habr! Некоторое время назад в поле моего зрения очень часто попадало множество статей, видеороликов о теме SDR трансиверов. Тема представляет интерес и сегодня. Большой популярностью среди радиолюбителей и других, разного рода, «технарей» пользуются устройства H...

«Hello, Checkmarx!». Как написать запрос для Checkmarx SAST и найти крутые уязвимости Привет Хабр! В статье я хочу рассказать о нашем опыте создания своих запросов в Checkmarx SAST. При первом знакомстве с этим анализатором может сложиться впечатление, что кроме поиска слабых алгоритмов шифрования/хеширования и кучи false positive, он ничего больше не...

Трансформация цвета: поиски в прореженном столе Это обзор функциональности, появившейся в Pillow 5.4: применение трехмерных таблиц поиска (3D lookup tables, 3D LUT) для трансформации цвета. Эта техника широко распространена в обработке видео и 3D-играх, однако мало графических библиотек могли похвастаться их поддержкой до...

[Перевод] Разработка REST-серверов на Go. Часть 1: стандартная библиотека Это — первый материал из серии статей, посвящённой разработке REST-серверов на Go. В этих статьях я планирую описать реализацию простого REST-сервера с использованием нескольких различных подходов. В результате эти подходы можно будет сравнить друг с другом, можно будет поня...

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

[Перевод] Вражеский ИИ: преследование игрока без Navigation2D и поиска пути A* Создаёте игру, в которой враги должны преследовать игрока? Всё начинается с простого — заставим врага бежать к игроку. Но что произойдёт, если он находится за деревом, или за углом стены? Ну, теперь враг будет выглядеть довольно глупо — упрётся в объект, перебирая ногами на ...

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

[Перевод] Новый sd-bus API от systemd В новом выпуске systemd v221 мы представляем API sd-bus, поставляемый со стабильной версией systemd. sd-bus - это наша минимальная библиотека D-Bus IPC на языке программирования Си, поддерживающая в качестве бэкэндов как классическую D-Bus на основе сокетов, так и kdbus. Биб...

HoughNet: поиск точек схода сетью, сплавленной с классическим алгоритмом Пока в мире распознавания объектов обучают десятки и даже сотни зарекомендовавших себя архитектур искусственных нейронных сетей (ИНС), разогревая планету мощными видеокарточками и создавая «панацею» для всех задач компьютерного зрения, мы в Smart Engines твердо идем по иссл...

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

Идеальный инструмент для работы с СУБД без SQL для Node.js или Все, что вы хотели знать о Sequelize. Часть 2 Представляю вашему вниманию руководство по Sequelize. Sequelize — это ORM (Object-Relational Mapping — объектно-реляционное отображение или преобразование) для работы с такими СУБД (системами управления (реляционными) базами данных, Relational Database Management System, RD...

КАМАЗ и Pulsar VC ищут международные стартапы КАМАЗ заинтересован в привлечении проектов в широком спектре как в России, так и за рубежом - от транспортной навигации, обслуживания "последней мили" и оперативного ремонта до проектов в пассажирском транспорте. Фонд Pulsar займется глобальным поиском и отбором пр...

[recovery mode] Ищем дубликаты фотографий с помощью Perl За 20 лет у меня скопилось несколько тысяч фотографий: праздники, свадьбы, рождение детей, и прочее, прочее... Понятно что снималось всё это на разные цифровики, присылалось почтой, сливалось через ICloud и GDrive, FTP, самба и т.п. По итогу всё это превратилось в дикий хаос...

[Из песочницы] Точные и быстрые вычисления для чисел с плавающей точкой на примере функции синуса. Введение и часть 1 Внимательно прочитал очень хорошие статьи от ArtemKaravaev по сложению чисел с плавающей точкой. Тема очень интересная и хочется её продолжить и показать на примерах, как работать с числами с плавающей точкой на практике. В качестве эталона возьмём библиотеку GNU glibc (libm...

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

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

Делаем маршрутизацию (роутинг) на OpenStreetMap. Введение Хотелось бы поделиться опытом создания систем маршрутизации PostgreSQL/PgRouting на карте OpenStreetMap. Речь пойдет о разработке [коммерческих] решений со сложными требованиями, для более простых проектов, вероятно, достаточно обратиться к документации. Насколько мне извест...

Почему Beats — самые лучшие наушники для Android Буквально на днях Apple выпустила обновление Apple Music для Android. Его состав был ожидаемым: поддержка lossless-композиций и технологии Spatial Audio. Первое нововведение представляет собой музыку без потери качества, а второе – пространственное звучание, которое имитиру...

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

Sony заплатит за найденные уязвимости в PS4 Довольно часто крупные производители электроники или каких-то сервисов делают упор на программу поиска уязвимостей со стороны пользователей. То есть, сейчас, к примеру, компания PlayStation запустила свою подобную программу. Суть очень проста — если вы смогли найти какую-то ...

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

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

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

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

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

[Перевод] PowerShell — это язык программирования? Является ли PowerShell языком программирования? Совершенно определённо — является. И не обращайте внимание на тех, кто говорит, что это не так. Многие, работающие в сфере программирования, могут просто посмеяться над мыслью о том, что код, написанный для PowerShell — это неч...

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

Существует ли во Вселенной универсальный язык? Кадр из фильма “Прибытие” Начиная со знаменитого романа Герберта Уэллса “Война миров”, вот уже на протяжении 100 лет человечество рассматривало последствия и конфликты, которые могут возникнуть в результате первого контакта с потенциально враждебным инопланетным видом. Приме...

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

[Из песочницы] Ray Casting Visual Search (RCVS). Простой и быстрый алгоритм поиска схожих по геометрии 3D моделей Для меня эти две модели очень похожи, однако у них нет очевидных характеристик, по которым можно было бы измерить их сходство. У этих моделей разное количество вершин, рёбер и полигонов, они разного размера, к тому же по-разному повёрнуты в пространстве, и у обеих одинаков...

Найти 15 инженеров за две недели карантина Привет, Хабр!  Я работаю эйчаром в DataLine, в том числе курирую набор дежурных инженеров в службу технической поддержки. Мы уже рассказывали о важности этой позиции для компании. Дежурным инженерам мы доверяем проверку оборудования в дата-центре и работу с клиентами на пер...

Представлен ICQ New, обновленный вариант некогда популярного мессенджера При его разработке в Mail.ru Croup сделали акцент на групповое общение — в новом приложении доступны аудио- и видеозвонки с максимальным числом участников в 30 человек. В Mail.ru Group представили обновление популярного в прошлом мессенджера ICQ, сообщает «Комме...

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

Сравнение 6 популярных “Drag&Drop” тем на WordPress WordPress является одним из самых популярных инструментов, когда речь заходит о необходимости в легком управлении контентом и простой веб-разработке. Он успешно завоевал рынок инструментов для создания веб-сайтов, предоставляя своим пользователям быстрые, надежные и простые ...

Proton: лучший UITextView Proton — нативный текстовый редактор для iOS и macOS (Catalyst). Это простая библиотека, которая позволяет вам расширить TextView и добавить в него необходимые функции. Это форматирование текста, встроенные View, ответы, поиск и так далее. Проще говоря — это тот ...

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

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

Лучшие платформы Smart TV на 2020 год При выборе и покупке нового телевизора стоит учитывать массу вещей и непривычную терминологию. В этой статье поговорим про систему, на основе которой стоит предпочесть телевизор. Но сначала обсудим некоторые основы. Что такое Smart-TV Функция Smart-TV дает возможность пользо...

Введение в программирование: заготовка игры-платформера на SDL в 300 строк C++ Этот текст предназначен для тех, кто только осваивает программирование. Я читаю лекции по C++ на первом курсе местного университета, и в качестве практикума предлагаю запрограммировать любую игру (не выношу проектов типа "софт бронирования книг в местной библиотеке"...

[Перевод] Руководство по FFmpeg libav Долго искал книгу, в которой было бы разжёвано, как использовать FFmpeg в качестве библиотеки (в дальнейшем в тексте — libav, т.е. library audio video). Обнаружил учебник «Как написать видеоплеер и уложиться в менее чем тысячу строк». К сожалению, информация там устаревшая,...

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

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

[Перевод] Реверс-инжиниринг популярного античита BattlEye BattlEye — это преимущетвенно немецкий сторонний античит, в основном разрабатываемый 32-летним Бастианом Хейко Сутером. Он предоставляет (или пытается предоставить) издателям игр простую в применении систему античита, использующую механизмы общей защиты, а также обнаружение...

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

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

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

[Из песочницы] Конвертация текстовых документов в xml на С# Недавно мне пришлось столкнуться с необходимостью достать текст из офисных документов (docx, xlsx, rtf, doc, xls, odt и ods). Задача осложнялась требованием представить текст в формате xml без мусора с максимально удобной для дальнейшего парсинга структурой. Решение использо...

[Из песочницы] Nuxt + Django + GraphQL на примере Предисловие Nuxt — "фреймворк над фреймворком Vue" или популярная конфигурация Vue-based приложений с использованием лучших практик разработки на Vue. Среди них: организация каталогов приложения; включение и преконфигурация самых популярных инструментов в виде Nux...

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

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

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

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

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

[Перевод] Работа с библиотеками KTX Когда вы используете Android Java API в Kotlin, к вам достаточно быстро приходит понимание, что вам не хватает некоторых фич Kotlin, которые делают написание кода намного проще и приятнее. Вместо того, чтобы писать свои собственные обертки и функции расширения для этих API, ...

Практическое занятие «Поиск вредоносного ПО в IoT» Продолжаем серию занятий по разбору CTF-задач для тех, кто начинает карьеру в ИТ и ИБ. Ближайший вебинар стартует в четверг 23 апреля в 18:00 и будет посвящен поиску вредоносного ПО в IoT. Будем разбирать протокол общения вредоносного ПО с C&C-серверами на примере ботне...

MASK-RCNN для поиска крыш по снимкам с беспилотников В белом-белом городе на белой-белой улице стояли белые-белые дома… А как быстро вы можете найти все крыши домов на этой фотографии? Все чаще можно слышать про планы правительства провести полную инвентаризацию объектов недвижимости с целью уточнения кадастровых данных. Для...

В поисках упорядоченного множества в Python: разбираемся с теорией и выбираем лучшую реализацию Множество (Set) — структура данных, которая позволяет достаточно быстро (в зависимости от реализации) применить операции add, erase и is_in_set. Но иногда этого не достаточно: например, невозможно перебрать все элементы в порядке возрастания, получить следующий / предыдущий...

Как предсказать гипероним слова (и зачем). Моё участие в соревновании по пополнению таксономии Как может машина понимать смысл слов и понятий, и вообще, что значит — понимать? Понимаете ли вы, например, что такое спаржа? Если вы скажете мне, что спаржа — это (1) травянистое растение, (2) съедобный овощ, и (3) сельскохозяйственная культура, то, наверное, я останусь убе...

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

[Из песочницы] Повысьте производительность SPA, разбив ваши библиотеки Angular на несколько частей Привет, Хабр! Представляю Вашему вниманию перевод статьи «Improve SPA performance by splitting your Angular libraries in multiple chunks» автора Kevin Kreuzer. Angular — отличный фреймворк. Мы все его любим <3. Одна из вещей, которая делает Angular успешным и прекрасным в...

[Перевод] Как «Сумерки» навсегда испортили поиск картинок Google Поучаствуйте со мной в эксперименте. При помощи поиска изображений Google мы будем искать разные времена суток. Откроем новое окно Google Chrome в режиме инкогнито, чтобы результаты не были искажены нашей историей поиска. В конце концов, это ведь научный эксперимент, и нам...

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

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

[Перевод] Лучшие практики, эмпирический опыт и математика Есть довольно простая идея, высказанная Фейнманом — цель физики найти простейшую теорию, которая сможет объяснить как можно больше явлений природы. Эта та идея, которая стоит за электродинамикой Максвелла или КЭД. Каждая новая большая теория объясняла больше явления природ...

Ускоряем pow В этой статье я хочу поделиться несколькими нестандартными алгоритмами для быстрого возведения числа в степень, а также продемонстрировать их реализацию и сравнить их быстродействие в C++, C# и Java.Сравнить точность алгоритмов можно прямо сейчас на этой странице.В конце буд...

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

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

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

Эффект реалистичного перелистывания страниц на JS Представляю вашему вниманию — один из возможных вариантов реализации довольно забавного приема, для создания эффекта реалистичного перелистывания страниц. Демо и документация: nodlik.github.io/StPageFlip Github: github.com/Nodlik/StPageFlip Подобный эффект я реализовывал...

[Перевод] Гайд по использованию enum в Python Модуль enum содержит в себе тип для перечисления значений с возможностью итерирования и сравнения. Его можно использовать для создания понятных обозначений вместо использования чисел (для которых приходится помнить, какое число что обозначает) или строк (в которых легко опе...

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

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

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

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

Как я за 4 часа решатель японских кроссвордов написал Лениво просматриваю выложенный недавно коллегами из «Сириуса» список курсов, проведенных у школьников… Так, а это что такое? «Поиск комбинаторных объектов с помощью SAT-солверов»? «Мы сделали решатель судоку, японских кроссвордов и прочего»? В памяти всплывает мысль о том, ...

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

Обзор Candy FCP815X E0/E. Духовой шкаф c Wi-Fi и базой рецептов Тетради с рецептами, собираемыми у друзей, родственников и знакомых, книги со сборниками - все это с повсеместным распространением интернета и смартфонов отошло на второй план. Сейчас при поиске нужного рецепта быстрее и проще обратиться к поисковику или Youtube, просмотрев ...

Kill It With Fire от разработчиков Hello Neighbor вышел на смартфоны, сжигаем дома дотла Если совместить баллончик и зажигалку, то получится огонь. Если придать пауков пламени, то возможно они сгорят. А вместе с ними и дом. Студия tinyBuild выпустила на смартфоны смешной симулятор Kill It With Fire. Наша задача проста и невозможна: найти всех пауков и расправить...

Пакет валидации mobx form validation kit 2.0 (TypeScript / Flutter) Предисловие Почти полтора года назад мы выпустили первую версию библиотеки "Новый пакет валидаций для React на Mobx @quantumart/mobx-form-validation-kit" Время шло, и библиотека корректировалась и не стояла на месте, да собственно, как и наше развитие в целом. Мы п...

[Перевод] Мягкие частицы в WebGL и OpenGL ES Системы частиц это одни из самых простых способов сделать 3D сцену визуально богаче. В одном из наших Android приложений 3D Buddha Live Wallpaper достаточно простая сцена, которой было бы неплохо добавить чуть больше деталей. И когда мы думали как добавить разнообразия изобр...

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

Tarantool: история ускорения поиска в 1С Недавно у наших добрых друзей из крупной розничной сети возникла задача ускорения поиска в 1С. Во-первых, искать нужно было по клиентам (три справочника, 9 текстовых полей, поиск типа %like%) и всего-то по 2,5 млн записей. Сразу скажем, что полнотекстовый поиск и морфология...

Как ускорить приложение за счёт PHP-FPM (няшим FPM conf) Привет. Сегодня хочу поговорить о том, как ускорить приложение через конфигурирование PHP-FPM.Сейчас самый популярный (из тех с которыми я сталкивался) стек на котором поднимается PHP приложение это веб сервер nginx и процесс-менеджер php-fpm. Я хочу поднять просто...

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

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

MLflow в облаке. Простой и быстрый способ вывести ML-модели в продакшен Robot factory by lucart MLflow — один из самых стабильных и легких инструментов, позволяющий специалистам по Data Science управлять жизненным циклом моделей машинного обучения. Это удобный инструмент с простым интерфейсом для просмотра экспериментов и мощными средствами уп...

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

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

[Из песочницы] Самый простой алгоритм для создания Филворда (Часть 1) Привет, Хабровцы. В этой статье я хочу поделиться с вами немного своим опытом и показать вам мой простой алгоритм, который я придумал для создания Филворда. Под «Филвордом» я буду иметь ввиду эту многим знакомую игру. В игре есть поле размером обычно NxN заполненное словами...

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

Поиск и устранение проблем в Postgres с помощью pgCenter. Алексей Лесовский Предлагаю ознакомиться с расшифровкой доклада начала 2019 года Алексея Лесовского — «Поиск и устранение проблем в Postgres с помощью pgCenter» Время от времени при эксплуатации Postgres'а возникают проблемы, и чем быстрее найдены и устранены источники проблемы, тем благодарн...

Опубликован Scheme Request For Implementation — 203: A Simple Drawing Language in the Style of SICP Structure and Interpretation of Computer Programs -- это один из самых известных учебников программирования в мире, на основе которого несколько десятков лет преподавался начальный курс программирования в MIT, а во многих унивеситетах, в том числе в Беркли, преподаётся до си...

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

[Перевод] Кунг-фу стиля Linux: великая сила make Со временем Linux (точнее — операционная система, которую обычно называют «Linux», представляющая собой ядро Linux и GNU-инструменты) стала гораздо сложнее, чем Unix — ОС, стоящая у истоков Linux. Это, конечно, неизбежно. Но это означает, что тем, кто пользуется Linux уже да...

Google Assistant поможет трекеру Tile искать потерянные вещи Голосовой помощник Google Assistant объединился с Bluetooth-трекером Tile, чтобы еще быстрее находить вещи лежащие не на своих местах. Теперь можно попросить свою умную колонку «позвонить» потерянному предмету. Раньше вам приходилось говорить «ОК, Google, попроси Tile н...

Разработчики Perekrestok.ru. Что мы делаем и кого ищем в команды Сегодня мы хотим поговорить о найме людей в IT-команды онлайн-супермаркета Perekrestok.ru и о том, как устроена наша работа «внутри». Ритейл – отрасль со своей интересной спецификой, а сейчас в том числе и от нашей работы зависит, будут ли тысячи людей каждый день обеспечены...

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

В нативный код из уютного мира Java: путешествие туда и обратно (часть 1) Java и другие управляемые языки просты и удобны во многих случаях, но иногда их возможностей недостаточно — например, если нужна библиотека, написанная только на C или C++. Иногда хочется позвать пару методов из системного API, или попытаться улучшить производительность для...

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

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

[Из песочницы] Android Remote Debugger — удаленная отладка Android приложений Отладка является важным этапом разработки программного обеспечения. Поиск и исправление ошибок позволяет разрабатывать качественные продукты. В данной статье я хочу поговорить об отладке только Android приложений. Android Studio предоставляет нам различные инструменты профил...

4 полезных совета по работе с Safari на iPhone и iPad Панель интеллектуального поиска в Safari представляет собой гибрид старой адресной строки и панели поиска, объединенных в одно универсальное место для ввода текста и перехода по ссылкам. Это очень удобно, поскольку можете получить доступ к поисковой системе по умолчанию, ис...

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

[Перевод] Найти и не обезвредить: пишем пентесты с Kali Linux Kali и другие подобные инструменты помогают обнаружить уязвимости в вашем ПО. И лучше, если первыми их найдёте вы, а не злоумышленники. Шило в мешке не утаить: по неведению (правда, в некоторых случаях — умышленно) даже крупные корпорации оставляют дыры в своей системе без...

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

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

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

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

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

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

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

IT вакансии стало проще искать через LinkedIn Поиск идеальной работы требует времени, терпения и нужных ресурсов. Это зависит от вашей отрасли, местоположения и уровня опыта. The post IT вакансии стало проще искать через LinkedIn first appeared on HiTech.Expert.

R и работа со временем. Что за кулисами? Даты и время являются весьма непростыми объектами: месяца содержат различное число дней; года бывают високосными и нет; существуют различные временнЫе зоны; часы, минуты, дни используют различные системы счисления. Далее приведены ряд моментов, которые редко высвечиваются ...

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

Как Google меняет Google Play. Теперь искать лучшие приложения для Android будет легче Как вы ищете приложения в Google Play? Ну, логично, что в первую очередь все ориентируются на название. Оно как минимум должно совпадать с тем, что вам нужно. Дальше мы обычно смотрим на количество загрузок. Ведь логично, что, если приложение уже скачали до нас 100 тысяч ил...

Как я нахожу только топовые товары на Алиэкспресс Я из тех людей, у кого постоянно сотни товаров в избранном на Али, десятки заказанных позиций постоянно в пути (спасибо приложению Почты России за удобный трекинг) и большое желание найти что-то новое и интересное для iPhone, iPad или Mac. На AliExpress действительно очень ...

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

Работаем дома №3. Лучшие приложения для видеоконференций Вы работаете удаленно от офиса? Ищите приложения для видеоконференций? Возможно именно наши рекомендации вам помогут! Удаленная работа дома? Частые видеозвонки с коллегами? Или, может быть, вы просто хотите пообщаться с друзьями, не выходя из дома? Хорошее приложение для ви...

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

[Перевод] Wasm или не Wasm? Мы, в компании Linkurious, занимаемся работой над Linkurious Enterprise. Это — веб-платформа, которая, используя возможности графов и средства их визуализации, призвана помогать компаниям и органам власти, расположенным по всему миру, бороться с финансовыми преступлениями. ...

Реализация процессорной архитектуры из книги Чарльза Петцольда «Код. Тайный язык информатики» Наверное многие, из тех, кто увлекается изучением того, как работает компьютер на самом низком уровне читали такие книги как: Таненбаум "Архитектура компьютера" или Харрис, Харрис "Цифровая схемотехника и архитектура компьютера", которые безусловного являются объемлющими тру...

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

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

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

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

Как разобраться в исходном коде React React самая популярная библиотека для построения пользовательских интерфейсов. Мы знаем про виртуальное дерево, движок fiber, процедуру reconcilation, хуки и другие прекрасные возможности react. Но как это работает на уровне исходного кода? Ответить на этот вопрос смогут оче...

Ученые обнаружили новый вид черной дыры Согласно результатам исследования, опубликованного в журнале Science, ученые, возможно, обнаружили самую маленькую черную дыру из когда-либо открытых. Это стало возможным благодаря новой методике, которая объединяет несколько наборов данных. Исследователи полагают, что черн...

Ещё один велосипед: храним юникодные строки на 30-60% компактнее, чем UTF-8 Если вы разработчик и перед вами стоит задача выбора кодировки, то почти всегда правильным решением будет Юникод. Конкретный способ представления зависит от контекста, но чаще всего тут тоже есть универсальный ответ — UTF-8. Он хорош тем, что позволяет использовать все сим...

WhatsApp и Telegram умеют так много лет: в главном мессенджере Android, Google Messages, появятся закреплённые чаты и помеченные сообщения Компания Google готовит пару новых функций для Google Messages (Сообщения) — базового приложения обмена сообщениями на смартфонах Android.  Энтузиасты из сообщества мобильных разработчиков XDA Developers обнаружили свидетельства о грядущих новшествах в коде ...

Flutter, Dart — локальная база в сотни раз более быстрая чем SQLite или Shared Preferencies Примерно месяц назад общаясь с одним разработчиком приложения на Flutter встала проблема торможения обработки маленьких (в десятках тысяч) массивов данных на телефоне юзера. Многие приложения предполагают обработку данных на телефоне и, далее, их синхронизацию с бэкендом. На...

[Подборка] Полезные статьи о релокации в США: выбор визы, поиск работы, зарплаты и налоги Одна из самых популярных тем в нашем блоге – релокация. А самым популярным направлением для переезда русскоговорящих инженеров остаются США. Это легко объяснимо – в этой стране наиболее развита IT-отрасль, FAANG, тысячи стартапов, передовые технологии и вот это все.В этом ма...

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

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

Примерно 20 строк, примерно такие же результаты: wc на Elixir Полгода назад Крис Пеннер опубликовал Beating C With 80 Lines Of Haskell: Wc. В предисловии говорится: Задача состоит в том, чтобы построить более шустрый клон оптимизированной вручную реализации утилиты wc на C в нашем любимом высокоуровневом языке программирования со сборк...

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

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

Выбираем аккумуляторную отвёртку. 4 хороших варианта Аккумуляторная электроотвертка – пожалуй, самый простой в использовании и маломощный из семейства электроинструментов. Если вы делаете упор на экономию времени и усилий, то выбирайте что-то из нашей подборки! Читать полную статью

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

Поиск работы в Сингапуре: галеры, карьерные агентства и много собеседований Меня зовут Андрей Вогулкин, я — fullstack developer. Работал 3 года фронтенд-разработчиком в стартапе, 4 — Oracle-разработчиком в телекоме, сменил 4 страны. В этой статье на примере нескольких кейсов расскажу о том, как я искал работу в одной из 4 стран — в Сингапуре: где ис...

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

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

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

Как снизить стоимость владения SIEM-системой и зачем нужен Central Log Management (CLM) Не так давно, Splunk добавил ещё одну модель лицензирования — лицензирование на основе инфраструктуры (теперь их три). Они считают количество ядер CPU под серверами со Splunk. Очень напоминает лицензирование Elastic Stack, там считают количество нод Elasticsearch. SIEM-систе...

Квантовая визуализация поможет искать экзопланеты Наука Физика 24.09.2021, 10:53 Квантовая визуализация поможет искать экзопланеты Исследователи показали, что квантовая визуализация значительно повысить вероятность обнаружения экзопланет. Использование этой технологии уже доступно для...

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

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

Шпаргалка по функциональному программированию Привет, меня зовут Григорий Бизюкин, я преподаватель Школы разработки интерфейсов и фронтенд-разработчик в Яндексе. Давайте поговорим о функциональном программировании в мире JavaScript. Мы все про ФП что-то слышали, нам всем оно интересно, но у меня, когда я искал полезные ...

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

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

Мне кажется, дело не в языке, а в том, как на нем пишут «Летом между 2 и 3 курсом я пошла искать работу — а в Новосибе того времени почти все вакансии для ребята без опыта были про PHP. Начинала с очень простых вещей — WordPress, Drupal… Потом писала бэкенды на Yii и много еще разного. Go впервые попробовала в 2014-м, вдохновивши...

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

Zip Slip возвращается в Node.js Не так давно, в 2018 году, прогремел хорошо забытый новый вид атак — Zip Slip. Zip Slip является широко распространенной критической уязвимостью распаковки архивов, позволяющей злоумышленникам записывать произвольные файлы в систему, что обычно приводит к удаленному выполне...

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

[Перевод] Проектирование C API C API все так же распространены, как и раньше. На C написано много библиотек или библиотек с предоставлением C API. Есть также биндинги для различных языков программирования, что делает язык C стандартом де-факто для переносимых API. Тем не менее многие API не соответствуют ...

[Перевод] Создатель Node.js анонсирует замену — Deno Из множества способов программирования компьютеров языки сценариев — самый простой и практичный вариант. Среди них язык сценариев веб-браузера (JavaScript) является самым быстрым, наиболее популярным и единственным, в котором применяется процесс промышленной стандартизации...

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

OpenCASCADE и Невидимое солнце Дао Тот лучший путник, что следов не оставляетТот лучший лидер, что без речи вдохновляетПлан совершенен, если плана вовсе нетИ если мудрый двери закрывает,Вам никогда не разгадать секрет Великая книга Дао - Стих 27 ( Перевод Ю. Полежаевой)Привет, Хаб...

В поисках ДРЕВНЕЙ жизни. История под ногами Как же надоел этот город. Куча машин, шум, воздух наполненный тысячами тонн сгоревшего топлива. Вечная суета, все куда-то спешат, проживая жизнь день за днем забывая про самое основное. Про себя! Как вы отдыхаете? Кто-то едет на рыбалку, кто-то на охоту, а кто-то за грибами....

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

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

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

VideoLayout: быстрое и простое видео для Android Обычно показ видео на Android “стоит” очень дорого с точки зрения производительности. Кроме того, из-за большого размера часто разработчики не хотят добавлять видео в свои проекты. С помощью этой библиотеки VideoLayout вы можете сделать быстро работающий и мало весящий видео...

Адресная строка Google Chrome станет более безопасной и быстрой За прошедшие годы Google внес в Chromium множество изменений, в том числе скрыл протокол URL в адресной строке. Обнаруженные нами новые изменения кода показывают, что компания экспериментирует с другим изменением адресной строки для Chrome в Windows 10 и других платформах. G...

[Перевод] Решение Fizzbuzz при помощи теоремы Эйлера FizzBuzz — это известная задачка на программирование, которую обычно дают в технической части собеседований. Она формулируется примерно так: Напишите функцию, выводящую список целых чисел от 1 до 100, но вместо каждого числа, кратного 3, она должна выводить «Fizz», а вмест...

[Перевод] Мир JavaScript в 2021 году Мир веб-разработки весьма изменчив. Изменения в нём происходят очень быстро. Что принесёт в него 2021 год? Здесь я хочу поделиться выводами о грядущих крупных JS-трендах, которые я сделал, проанализировав соответствующие исследования, проведённые в 2020 году. Сначала — п...

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

Полнотекстовый поиск в Couchbase Server Дмитрий Калугин-Балашов большую часть своей жизни писал поиск: с 2011 года в компании Mail.ru был поиск по почте, затем был небольшой перерыв из-за работы в США, а сейчас это — работа над поиском в Couchbase. Одна из первых вещей, которую Дмитрий понял, работая в США — не вс...

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

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

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

Какой мессенджер выбрать вместо Google Hangouts Прошло довольно много времени с тех пор, как Google объявил о прекращении работы Google Hangouts. Тем не менее, приложение все еще существует, хотя, вероятно, оно не задержится надолго. Компания уже выпустила ряд обновлений, в которых были удалены некоторые функции приложен...

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

Динамическая JIT компиляция С/С++ в LLVM с помощью Clang При создании компилятора для собственного языка программирования я сделал его как транспайлер в исходный код на С++, вот только реализация сильно подкачала. Сначала приходится генерировать динамическую библиотеку с помощью вызова gcc, который и сам по себе не очень быстрый...

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

Simple English и Simple Wikipedia: как идея о простом английском стала реальностью Английский язык — далеко не самый простой из существующих. А по количеству лексики он вообще один из лидеров. По исследованию Google и Гарвардского университета, на 2000 год в английском языке было уже около 1 022 000 слов.В мировой истории был целый ряд попыток популяризова...

Погрузиться в поиск музыкальной информации [MIR] — книги, которые помогут сделать это Специалисты, занимающиеся поиском музыкальной информации [music information retrieval, MIR], разрабатывают алгоритмы машинного обучения для выявления паттернов и зависимостей в композициях. Лучшие практики этого направления сегодня используют стриминговые платформы для класс...

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

Подсчёт ссылок не так прост, как кажется: опыт языка Umka Подсчёт ссылок обычно предлагается как самый простой способ автоматического управления памятью в языках программирования. Он избавляет программиста от необходимости вставлять в свой код free(), delete и тому подобное, следить за висячими указателями и утечками памяти. Принци...

[Перевод] OCR для PDF в среде .NET — как извлечь текст из недоступных для поиска PDF документов Извлечение текста — одна из популярных задач обработки PDF документов. Вам потребуется извлечь текст из PDF, чтобы: проиндексировать документ для полнотекстового поиска распарсить некоторые данные (например, названия и цены товаров в прайс-листе) выделить, удалить или замен...

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

Intel представила чудовищный GPU с 16 384 ядрами и производительностью свыше 40 TFLOPS Компания Intel сегодня провела мероприятие Architecture Day 2020, на котором рассказала немало нового. И, наверное, одним из самых впечатляющих анонсов был анонс линейки графических ускорителей XE HP. Стоит сразу оговорить, что нацелены они не на потребительский сегмент...

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

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

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

Тестируем Android-приложение правильно Всем привет, Меня зовут Андрей Рыжкин, я CTO AGIMA. Сегодня я расскажу о том, как мы тестируем приложения на Android, а также поделюсь нашим чек-листом. Чек-лист от команды AGIMA В 2020 году количество приложений для Android вплотную приблизилось к трём миллионам (по да...

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

Трансформеры в Поиске: как Яндекс применил тяжёлые нейросети для поиска по смыслу Привет, Хабр. Меня зовут Саша Готманов, я руковожу группой нейросетевых технологий в поиске Яндекса. Сегодня на YaC 2020 мы впервые рассказали о внедрении трансформера — новой нейросетевой архитектуры для ранжирования веб-страниц. Это наиболее значимое событие в нашем поиске...

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

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

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

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

[Перевод] Простая хэш-таблица для GPU Я выложил на Github новый проект A Simple GPU Hash Table. Это простая хэш-таблица для GPU, способная обрабатывать в секунду сотни миллионов вставок. На моём ноутбуке с NVIDIA GTX 1060 код вставляет 64 миллиона случайно сгенерированных пар ключ-значение примерно за 210 мс и...

Представлен объектив Fujinon XF33mmF1.4 R LM WR Компания Fujifilm пополнила ассортимент объективов моделью Fujinon XF23mmF1.4 R LM WR для беззеркальных APS-С камер серии Х. Новинка характеризуется фокусным расстоянием 33 мм (50 мм в 35-мм эквиваленте), максимальной диафрагмой f/1,4, минимальной диафрагмой f/16, оптической...

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

Radeon RX 5950 XT сможет потягаться с GeForce RTX 3080 Ti? Стали известны параметры «Большого Navi» Несколько дней назад мы узнали о том, что GPU Navi 21 — тот самый «Большой Navi» — даст жизнь большому числу моделей видеокарт Radeon. Но позже источник дополнил новость информацией о характеристиках этого самого GPU. Итак, если верить этим данн...

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

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

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

GenerationS и Группа ЧТПЗ начинают поиск стартапов Главная задача отбора – найти наиболее перспективные решения, готовые к внедрению и реализации на предприятиях Группы ЧТПЗ.

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

Машина опорных векторов в 30 строчек В этой статье я расскажу как написать свою очень простую машину опорных векторов без scikit-learn или других библиотек с готовой реализацией всего в 30 строчек на Python. Если вам хотелось разобраться в алгоритме SMO, но он показался слишком сложным, то эта статья может быть...

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

[Из песочницы] Пишем простую игру на python Сегодня мы создадим всем известную игру камень, ножницы, бумага. В этом нам поможет ЯП python и библиотека tkinter, но если вы не знаете что это такое, советую почитать данную статью. Первое, что нам нужно, это начальная структура, окошко, у меня оно будет выглядеть так: f...

[Из песочницы] Вывод текста на OLED дисплей с контроллером SH1106 по шине SPI через библиотеку HAL Здравствуйте, уважаемые читатели. В своих разработках на микроконтроллерах STM32, для вывода осмысленной информации, я пользуюсь OLED дисплеями на чипе SSD1306. В последний раз пришел ко мне 1,3" SPI модель по демократичной цене — около 200руб. Первое, что бросилось в г...

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

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

Объектив Mitakon Speedmaster 85mm f/1.2 теперь доступен в вариантах с креплениями Nikon Z и Canon RF Компания Zhong Yi Optics начала выпуск двух новых вариантов объектива Mitakon Speedmaster 85mm f/1.2, представленного в 2015 году. Это варианты с креплениями Nikon Z и Canon RF. Полнокадровый объектив фокусируется вручную. Кольцо управления диафрагмой поворачивается б...

Где скачать видео: 10 бесплатных видеостоков Сейчас видео на пике популярности. По исследованию HubSpot, 86% компаний и предпринимателей выбирают именно его для коммуникации с подписчиками. Пользователей, которые предпочитают видеоконтент, тоже много — 68%, и это число постоянно растет. Поэтому команда Canva собрала т...

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

Число подписчиков Яндекс.Музыки достигло 3 млн Количество подписчиков сервиса Яндекс.Музыка достигло 3 млн пользователей, за три года увеличившись в 12 раз. На сегодняшний день библиотека сервиса включает более 60 млн треков и более 90 тысяч подкастов. Сервис доступен в 12 странах, включая Россию, страны СНГ и Израиль. П...

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

[Перевод] Простое и строгое доказательство 26/10 измерений в теории струн … вы нигде не найдете. По крайней мере, у меня не получилось сделать его таковым. Требование определенного и большого числа пространственно-временных измерений (26 для более простой бозонной теории струн и 10 для более сложных суперструн) это один из наиболее неправильно по...

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

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

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

[Перевод] Fiber’ы — новая фича в PHP 8.1 PHP пытается восполнить недостаток возможностей в своей кодовой базе, и Fiber’ы — одно из значимых нововведений. Они появились в PHP 8.1 в конце 2020 и привнесли в язык своего рода асинхронное программирование. Файберы представляют собой легковесные потоки исполнения (извес...

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

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

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

Ищем чехол для Huawei MatePad Pro Иногда пользователи не совсем понимают, как правильно выбирать чехол для Huawei MatePad Pro 5G LTE 10.8", на какие элементы и параметры стоит обращать внимание, а на какие можно не смотреть вообще. Мы понимаем, что это очень сложный процесс и далеко не всегда пользователь мо...

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

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

Твердотельный накопитель Nimbus Data на 100 Тбайт оценён в $40 000 Компания Nimbus Data известна в корпоративном сегменте, как производитель твердотельных накопителей сверхвысокой ёмкости. Два года назад она представила SSD-носители серии ExaDrive DC ёмкостью до 100 Тбайт. К моменту запуска она не назвала их стоимость. Недавно стало понятно...

Простое и удобное журналирование ошибок для сайтов на .NET Core Возможно, многим знакома библиотека ELMAH (Error Logging Modules and Handlers), которая позволяет организовать простое журналирование ошибок для любого сайта, созданного с помощью .NET Framework. Этот простой и проверенный временем инструмент выручал меня во многим проектах...

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

Как ИТ-сообщество реагирует на инициативу New IP В качестве инициаторов потенциальной замены TCP/IP выступил ряд телекоммуникационных компаний страны.Но ряд экспертов, в том числе из Международного союза электросвязи (ITU), считает, что это не лучшая идея. Обсуждаем мнения и возможные варианты реализации протокола. Читат...

«Никакие деньги мира не спасут моего сына»: где искать силы, когда всё плохо Мама неизлечимо больного ребёнка — о борьбе с некомпетентностью врачей, попытке принять реальность и поиске радости в простых вещах.

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

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

Оптимизация C++: совмещаем скорость и высокий уровень. Доклад Яндекса Что влияет на скорость работы программ на C++ и как её добиться при высоком уровне кода? Ведущий разработчик библиотеки CatBoost Евгений Петров ответил на эти вопросы на примерах и иллюстрациях из опыта работы над CatBoost для x86_64. Видео доклада ...

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

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

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

[Перевод] Тематическое исследование распознавания именованных сущностей в биомедицине Не так давно у автора этой статьи возник вопрос: может ли простой метод сопоставления строк — в сочетании с некоторыми простыми оптимизациями — конкурировать с моделью, обученной с учителем, в биомедицинской задаче распознавания именованных сущностей (NER)? Автор сравнил эти...

AI на минималках 2: Генератор стихов на Prolog AI на минималках 2: Генератор стихов на Prolog На картинке — четверостишье, сгенерированное моей программой. Оказывается "стихи" писать легко, нужно только знать несколько необходимых ингредиентов: размер, ритм, рифма. "Стихи" в кавычках, потому что в на...

Сеть Folding@Home по производительности превзошла семь лучших суперкомпьютеров мира, вместе взятых Приток в сеть Folding@Home новых участников, желающих помочь победить COVID-19, привел к тому, что производительность входящих в нее систем достигла 470 PFLOPS. Это в три раза выше производительности Summit — самого быстрого суперкомпьютера в мире. И больше, чем с...

Поиск изображений Пытаясь реализовать обратный поиск изображений для своего сайта, я столкнулся с огромным миром поиска изображений. Ниже приведены краткие описания и варианты применения некоторых подходов обратного поиска/поиска похожих изображений. Читать далее

Google заплатит Apple $15 млрд за сохранение статуса поисковой системы по умолчанию Google заплатит Apple $15 млрд за сохранение статуса поиска по умолчанию в браузере Safari. Поиск Google является самой популярной поисковой системой.

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

MyApp extends Holiday Я уверен, что среди уважаемой аудитории найдутся те, кто меня поймет. Дело в том, что во всем изобилии популярных библиотек и фреймворков для веб-фронтэнда, лично мне, не нравятся, практически, все альтернативы. В каждом из вариантов я нахожу для себя существенные минусы, к...

Тест на зоркость: проверь зрение Тест: проверка зрения Вопрос 1 из 7 Какие числа изображены внутри кругов? 12, 8, 4, 71, 6 Нет, приглядитесь внимательнее 12, 42, 74, 6 Верно! 12, 2, 42, 71, 8 Нет, приглядитесь внимательнее 12, 2, 42, 7...

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

Марсоход Perseverance будет искать жизнь на Марсе Задача Perseverance - поиск явных признаков того, что микробная жизнь могла существовать на Марсе миллиарды лет назад. Он будет собирать образцы керна в металлические трубы, и будущие миссии вернут эти образцы на Землю для более глубокого изучения. The post Марсоход Persever...

7 автоматических кофемашин до 40 000 рублей: выбор ZOOM Выбирая автоматическую кофемашину, вы увидите в продаже самые разные модели: как простые варианты за 20 000 рублей, так и профессиональные аппараты стоимостью 100–200 и даже 400 тысяч. Однако устройства с хорошим соотношением цены и качества, которые подходят для дома, можно...

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

О маркировках дисков замолвим слово Технологии записи на оптические диски были мейнстримом достаточно долго и породили множество сопутствующих технологий, в том числе LightScribe и LabelFlash. Указать на диске его содержимое? Нарисовать картинку и затем выжечь ее лазером? Нет проблем. А сейчас расскажу, как э...

Сеть Folding@Home по производительности превзошла семь лучших суперкомпьютеров мира, вместе взятых Приток в сеть Folding@Home новых участников, желающих помочь победить COVID-19, привел к тому, что производительность входящих в нее систем достигла 470 PFLOPS. Это в три раза выше производительности Summit — самого быстрого суперкомпьютера в мире. И больше, чем с...

[Перевод] 10 хитростей Python, о которых полезно знать По данным StackOverflow Python — это самый быстрорастущий язык программирования. Например, в одном из отчётов Forbes речь идёт о том, что использование Python выросло на 456%. Python применяется в Netflix, в IBM, и ещё в тысячах компаний по всему миру. Давайте не забывать и ...

Как работают подсказки в Chromium и что мы сделали с ними в Яндекс.Браузере Давненько я ничего не рассказывал о Яндекс.Браузере, а ведь интерес к нему на Хабре был нешуточный. Пора исправляться. Сегодня хочу поднять тему подсказок в адресной строке. Задумайтесь, сколько раз в день вы вводите что-то в строку своего браузера. Вы набираете слово на к...

Лучшие дешевые смартфоны Samsung, которые можно купить в 2020 году Компания Samsung наиболее известна своими флагманскими семействами Galaxy S и Galaxy Note, но этот производитель наряду с дорогими флагманскими моделями предлагает телефоны практически в любой ценовой категории. Мы уже знакомились с некоторыми из лучших телефонов Samsung, во...

Лучшие дешевые смартфоны Samsung, которые можно купить в 2020 году Компания Samsung наиболее известна своими флагманскими семействами Galaxy S и Galaxy Note, но этот производитель наряду с дорогими флагманскими моделями предлагает телефоны практически в любой ценовой категории. Мы уже знакомились с некоторыми из лучших телефонов Samsung, во...

Домен corp.com выставлен на продажу. Он опасен для сотен тысяч корпоративных компьютеров под управлением Windows Схема утечки данных через Web Proxy Auto-Discovery (WPAD) при коллизии имён (в данном случае коллизия внутреннего домена с названием одной из новых gTLD, но суть та же). Источник: исследование Мичиганского университета, 2016 Майк О'Коннор, один из старейших инвесторов в до...

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

[Перевод] Как создавать интерактивные линейные графики на Pandas и Altair Линейный график является неотъемлемой частью анализа данных. Он даёт нам представление о том, как величина изменяется при последовательных измерениях. В случае работы с временными рядами важность линейных графиков становится решающей. Тренд [направление], сезонность и коррел...

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

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

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

Зачем вам чужие ошибки? Исправляем уязвимости в сторонних библиотеках Любое ПО содержит уязвимости, причем они появляются на разных этапах его жизненного цикла. Полностью избавиться от уязвимостей в коде достаточно сложно, но можно, как минимум, сократить их количество. Для этого используются средства SAST, DAST и IAST – статический, динамичес...

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

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

Websocket API на nodejs по новому О чем эта статья?1. uWebsockets.js - высокопроизводительная реализация http/websocket сервера для nodejs2. AsyncAPI - спецификация для асинхронного API, с помощью которой можно создать описание Websocket API3. Простой пример websocket API с использованием библиотеки wsapix: ...

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

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

[Перевод] Разработка REST-серверов на Go. Часть 7: GraphQL Перед вами — седьмая (заключительная) часть серии статей о разработке REST-серверов на Go. В предыдущих статьях мы занимались, в основном, различными подходами к разработке REST API для простого приложения, автоматизирующего управление задачами. Сегодня мы исследуем кое-что ...

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

Microsoft расширяет возможности Windows 10 PowerToys с помощью нового диспетчера подключаемых модулей Microsoft PowerToys – набор полезных инструментов и утилит для Windows 10, который скоро получит еще одно большое обновление. Согласно дорожной карте, Microsoft работает над новым диспетчером подключаемых модулей для PowerToys Run, который является средством запуска приложен...

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

Ускорение WordPress. Тотальный разбор плагинов для кэширования. Личный опыт (часть 1) Что делать, если сайт на WordPress грузится медленно? Ответ на самом деле прост – настрой кеширование. Можно ещё заниматься оптимизацией изображений, настройкой lazy loading и прочими хитростями. Но кеширование всё равно остаётся ключевым способом ускорения любого сайта на В...

Отлаживаем ядро из командной строки с bpftrace Это очередная статья из цикла «BPF для самых маленьких» (0, 1, 2) и первая из серии практических статей про трассировку Linux современными средствами. Из нее вы узнаете о программе и языке bpftrace — самом простом способе погрузиться в мир BPF с практической точки зрения, да...

Microsoft выпустила расширение Microsoft News для Google Chrome Старый Microsoft Edge канул в лету, а на его смену пришел новый Microsoft Edge, который уже основан на Chromium. Как бы там не было, как у старого, так и у нового Microsoft есть есть одна функция, которая может показаться интересной: Адресная строка поиска, новостная лента,...

Как в 2020 году разработчику найти удаленную работу: статистика, инструменты + советы инженера По статистике Stack Overflow, активно ищут работу немногим более 17% разработчиков. При этом, помимо зарплаты, в пятерку важных факторов при смене места входит и запрос на улучшения work/life balance. Традиционно многие люди видят в удаленной работе возможность улучшить эт...

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

[Перевод] Искусство написания циклов на Python Цикл for — самый базовый инструмент потока управления большинства языков программирования. Например, простой цикл for на C выглядит так: int i; for (i=0;i<N;i++) { //do something } Не существует более изящного способа написания цикла for на C. В сложных случаях обычн...

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

Большое обновление браузера Microsoft. Новый Edge приносит поиск в боковой панели, синхронизацию открытых вкладок, темы, спящие вкладки и многое другое Компания Microsoft выпустила большое обновление фирменного браузера Edge. Стабильная версия Edge 88 собрала множество интересных функций, которые до этого тестировались в каналах Beta, Dev и Canary.  Одно из самых заметных новшеств — появление боковой панели...

Тестируем производительность кода с помощью Jetpack Microbenchmark В мобильной разработке периодически возникают ситуации, когда нужно оценить время выполнения кода. Помимо теоретических подходов (например, Big O), которые позволяют отсеять очевидно неудачные решения, существуют бенчмарки для тестирования кода и поиска более мелких отличий....

Идеальный инструмент для работы с СУБД без SQL для Node.js или Все, что вы хотели знать о Sequelize. Часть 1 Представляю вашему вниманию руководство по Sequelize. Sequelize — это ORM (Object-Relational Mapping — объектно-реляционное отображение или преобразование) для работы с такими СУБД (системами управления (реляционными) базами данных, Relational Database Management System, RD...

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

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

Samsung SmartThings Find — простой поиск гаджетов Galaxy даже без подключения к сети Компания Samsung представила новый сервис SmartThings Find для поиска потерянных смартфонов, планшетов и носимых устройств Galaxy.

[Перевод] Четыре простые настройки терминала Kubernetes, которые повысят вашу продуктивность Я управлял эксплуатацией больших Kubernetes-кластеров более трёх лет, и хочу поделиться своим минималистичным подходом к настройке терминала kubectl terminal, которая доказала свою высокую эффективность в повседневной работе. Хорошо настроенный терминал с командной строкой ...

WhatsApp с 1-го числа на Android и iOS прекратит работать В настоящее время на рынке можно встретить крайне много различных самых разных сервисов для общения, а одним из наиболее крупных и известных среди всех существующих на рынке является WhatsApp. Это программное обеспечение является невероятно распространенным, Читать полную в...

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

[Перевод] Контравариантный функтор в Scala Cats В этой статье мы поговорим о функторах. О функторах из библиотеки Cats, а не о классических функторах, которые мы все знаем и любим. Рассмотрим контравариантные функторы (Contravariant Functors), представленные в Cats в виде тайпкласса Contravariant.Некоторые из вас, возможн...

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

[Перевод] Ваша новая любимая команда для поиска и устранения неисправностей CISCO IOS Простите за название блога с кликбейтом, но я говорю серьезно. Одна из самых неприятных вещей при поиске и устранении неисправностей в сети - это проблема с максимальным размером передаваемого блока данных (MTU) Читать далее

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

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

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

Tesla Model S Plaid вошел в историю как самый быстрый серийный автомобиль из когда-либо существовавших Новый электромобиль Tesla Model S Plaid установил мировой рекорд в заезде на четверть мили или 402 м, преодолев эту дистанцию за 9,2 секунды. Компания Tesla официально заявляет, что Tesla Model S Plaid имеет максимальную скорость 320 км/ч, разгянется от 0 до 100 км/ч за...

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

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

Мощный мониторинг за пять минут с помощью Glances Допустим, что у нас не очень обширная инфраструктура: несколько небольших VPSок, подкроватник, NAS и два ноутбука, торчащих в сеть. Тем не менее, за ней всё равно надо приглядывать, и заниматься этим вручную раздражает всё больше с каждой новой машиной. Я стал искать систе...

Простой умный алгоритм поиска для iOS на Swift Алгоритм умнее простого сопоставления подстроки, но не такой сложный, как нечеткое сопоставление имен методов в Xcode.

Беги, муравей. Беги В данной статье рассматривается процесс создания имитационной модели поведения муравьиной колонии (можно почитать в википедии ) в среде имитационного моделирования «AnyLogic». Данная статься носит практический характер. В ней будет рассмотрен вопрос применения муравьиного ал...

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

Nikon называет Nikkor Z 24-50mm f/4-6.3 самым коротким и легким зум-объективом для полнокадровых беззеркальных камер Одновременно с полнокадровой беззеркальной камерой Nikon Z 5 компания Nikon представила совместимый с ней объектив Nikkor Z 24-50mm f/4-6.3. По словам производителя, это самый короткий и легкий зум-объектив для полнокадровых беззеркальных камер. Объектив будет предложе...

Разница между ОМС, ДМС и наличными в стоматологии Из каждой своей зарплаты вы отчисляете 5,1% на ОМС. Это довольно много. Если у вас зарплата в 100 000 рублей, то каждый год вы отчисляете 61 200 рублей. На этом моменте все начинают нервничать, понимая, что полис ДМС с куда более качественным лечением обойдётся как...

Что ещё, кроме животных, можно смотреть в 3D в Google «Смотреть 3д животных». Именно этот запрос на протяжении нескольких недель оставался самым популярным в Google, а наша инструкция, в которой мы подробно расписали, что и как, до сих удерживает первое место по количеству прочтений среди наших читателей. Почему? Причин на сам...

Пользовательский обзор 3D-принтера TwoTrees Sapphire Plus с кинематикой CoreXY В поисках надежного, быстрого и точного 3D-принтера и устав от моей старой «пруши», я обратил взгляд к 3D-принтерам с кинематикой CoreXY. Как выяснилось, главная проблема с большинством предлагаемых вариантов в том, что они либо стоят слишком дорого, либо их характеристики н...

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

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

WhatsApp начиная с 1-го числа перестанет работать на всех Android и iOS Как бы сильно не старались различные конкуренты, в число которых входят Telegram, WeChat, Viber, ICQ, Signal и другие, но самым популярным и распространенным по всему земному шару мессенджером, то есть сервисом для общения, является WhatsApp. Читать полную версию публикации...

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

Магазин приложений Huawei AppGallery стал доступен на ПК Ранее Huawei запустила магазин приложений AppGallery для смартфонов Huawei и Honor в качестве замены магазину Google Play Store. AppGallery предлагает огромный каталог приложений для Android, безопасность личных данных и привычные возможности по поиску контента в разных...

Есть ли жизнь без Nvidia? Запускаем TensorFlow на Radeon RX 580 На новом рабочем месте меня посадили за ПК, оборудованный процессором Ryzen 2600 и видеокартой Radeon RX 580. Попробовав обучать нейронные сети на процессоре, я понял, что это не дело: уж слишком медленным был процесс. После недолгих поисков я узнал, что существует как миним...

Как правильно искать изображения в Google Картинках Для большинства пользователей Интернета основным инструментом поиска информации является Google, а сервис Google Картинки (Google Images) – самое популярное место для поиска картинок. Достаточно ввести любой запрос, и вы увидите тысячи связанных с ним изображений. Все кажетс...

Как отправить видео большого размера с iPhone, iPad, Android или компьютера Казалось бы, с ростом скоростей Интернета отправка больших файлов тоже должна становиться более простым занятием. На самом деле задача по-прежнему остается сложной. Самое простое решение – отправить файл по электронной почте, упирается в ограничение в размер письма в 25 МБ, ...

Что выбрать в качестве библиотеки компонентов для React-проекта Меня зовут Ксюша Луговая. В СберКорусе я занимаюсь поддержкой библиотеки React-компонентов Korus-UI. С проблемой выбора библиотеки рано или поздно сталкивается почти каждый разработчик, и порой решение может быть нетривиальным. Возникают вопросы: чем руководствоват...

Нейрозапятые, или как мы оставили своих редакторов без работы (ну почти) Всем привет, меня зовут Владислав Соболев – ML-инженер в компании “БАРС Груп”. Сегодня я хотел бы рассказать о том, зачем и как мы расставляем знаки препинания в текстах, сравним аналоги, и посмотрим на то, как устроена работа инструмента, который мы написали, чтобы обучать ...

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

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

Android Localization Library: простое переключение языков Android Localization Library — библиотека для управлениями языками в приложении. Принцип локализации остается прежним (вы делаете разные строковые файлы для разных языков), а библиотека помогает переключаться между языками “на лету”. Например: class MainApplication : A...

[Перевод] Связные списки, трюки с указателями и хороший вкус В интервью на TED 2016 (14:10) Линус Торвальдс рассказывает о хорошем стиле программирования. В качестве примера приводит два варианта удаления элементов из односвязных списков (см. ниже). В первом варианте есть специальный случай, а в другом — нет. Линус предпочитает второй...

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

Работаем с текстами на Python: кодировки, нормализация, чистка Об обработке текстов на естественном языке сейчас знают все. Все хоть раз пробовали задавать вопрос Сири или Алисе, пользовались Grammarly (это не реклама), пробовали генераторы стихов, текстов... или просто вводили запрос в Google. Да, вот так просто. На самом деле Google п...

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

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

[Перевод] Flutter.dev: Простое управление состоянием приложения Всем привет. В сентябре OTUS запускает новый курс «Flutter Mobile Developer». В преддверии старта курса мы традиционно подготовили для вас полезный перевод. Теперь, когда вы знаете о декларативном программировании пользовательского интерфейса и разнице между эфемерным сос...

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

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

Типизированные запросы OData в TypeScript Традиционно запросы OData к данным выражаются в виде простых строк без проверки типов при компиляции или без поддержки IntelliSense, кроме того, разработчику приходится изучать синтаксис языка запросов. Данная статья описывает библиотеку TsToOdata, которая превращает запрос...

Клонированные переменные Как-то попалось интересное (для меня), хотя и довольно давнее обсуждение языков программирования, где упоминался и язык PL/1. В конце концов, как всегда и бывает на таких форумах, все стороны остались при своем мнении, и тогда один из участников предложил написать на разных ...

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

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

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

[Перевод] Единый математический язык для физики и инженерного искусства в 21 веке Конец 18-го и 19-й век были временем колоссального прогресса в математике. Величайшие умы тысячелетия вводили все новые математические системы и языки, такие как алгебры Клиффорда и Грассмана. Хотя эти алгебры вызвали значительный интерес, в то время они воспринимались как п...

Парсер командной строки на .NET5 Сегодня мы собираемся показать вам, как начать парсинг аргументов командной строки. Кстати, это один пост из серии статей о .NET 5. У нас есть еще много интересного.Приложения командной строки, также известные как консольные приложения, - это программы, созданные для использ...

178 Тбит/с — новый мировой рекорд скорости интернета Установлен новый рекорд скорости передачи данных в интернете, который составляет 178 терабит в секунду (Тбит/с). Сразу стоит добавить, что в обозримом будущем такая скорость не будет доступна рядовым пользователям. В данный момент самая быстрая доступная скорость для по...

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

Microsoft втихаря лишила Windows 10 полезной функции. Больше никаких походов в интернет за драйверами через Диспетчер устройств В выпущенном недавно необязательном обновлении Windows 10 (сборка 19041.423) пользователей ждёт неожиданное «новшество». Компания Microsoft тихо и без объявления войны убрала опцию Диспетчера устройств (Device Manager) обновления драйверов через интернет.&nb...

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

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

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

Office 2019 стал бесплатным для Windows 10 Наиболее известной и популярной операционной системой среди всех существующих на рынке в настоящее время является Windows 10, а установлена она на более чем 1,4 млрд электронных устройств, относятся к числу которых персональные компьютеры, ноутбуки, планшеты, Читать полную ...

Долгожданное новшество Spotify. Доступ ко всем песням на смартфоне Команда популярного музыкального сервиса Spotify готовит к запуску новую полезную функцию, которая порадует многих пользователей.  На грядущее нововведение обратила внимание Джейн Маньчунь Вонг (Jane Manchun Wong), специализирующаяся как раз на поиске таких скрыты...

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

[Перевод] Портируем Quake 3 на Rust Команда поклонников Rust сайта Immutant усердно трудилась над C2Rust, фреймворком для миграции программ, который существенно упрощает их перевод на Rust. Мы стремились везде, где можем, добиться автоматической оптимизации безопасности получаемого кода Rust. В иных случаях...

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

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

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

Биткоин или Биткойн? В русском языке встречаются два варианта написания слова Bitcoin — через «ои» (Биткоин) и через «ой» (Биткойн). Какое же из них верное? На самом деле это не такой уж простой вопрос. Дебаты между сторонниками обоих вариантов ведутся не один год и, на момент написани...

Появились предварительные спецификации объектива Sigma 18-50mm F2.8 DC DN | Contemporary Источник дополнил информацию о том, что компания Sigma планирует скоро представить объектив 18-50mm F2.8 DC DN | Contemporary, его основными техническими характеристиками. Как утверждается, в оптической схеме объектива, охватывающего диапазон фокусных расстояний 18-50 ...

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

SQL HowTo: решаем головоломку «Небоскрёбы» почти без перебора Многие знают правила этой головоломки (Skyscrapers):"Перед вами вид сверху на городской квартал. В каждой клетке стоит "небоскреб" высотой, равной числу в этой клетке. Числа с боков сетки означают количество "небоскребов", видимых из соответствующей строки или столбца, если ...

Быстрее, чем C++; медленнее, чем PHP Привет, Хабр. У меня тут случайно код на хаскеле получился быстрее аналогичного кода на C++. Иногда — на 40%. (время работы, меньше — лучше, C++ снизу) Что самое смешное — я собирал хаскель-код через LLVM-бекенд, но при этом сравнивал с GCC. Если сравнивать с clang (что вро...

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

Процессоры AMD Ryzen 4000U обеспечат лучшую автономность, нежели Intel Ice Lake-U Процессоры для ноутбуков должны обладать не только достаточно высокой производительностью, но и потреблять при этом не слишком много энергии. Компания AMD сегодня раскрыла больше подробностей о своих мобильных процессорах Ryzen 4000-й серии, входящих в семейство Renoir, в то...

Виджеты и библиотека приложений в iOS 14 навсегда изменят экран вашего iPhone Главный экран iPhone практически не менялся со времени дебюта iPhone 13 лет назад. Он представлял собой простую сетку иконок и оставался таким же вплоть до выхода iOS 13 (где в iPad впервые появились виджеты). В iOS 8 Apple добавила поддержку виджетов, хотя снова по своему ...

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

Зачем нам нужны нейронные процессоры? Нейросети сейчас называют новым электричеством. Мы их не замечаем, но пользуемся каждый день. Face ID в iPhone, умные ассистенты, сервисы перевода, и даже рекомендации в YouTube — всё это нейросети. Они развиваются настолько стремительно, что даже самые потрясающие отк...

[Перевод] Как работает поиск изображений в Dropbox Если вам нужно найти фотографию, сделанную на пикнике несколько лет назад, вряд ли вы помните имя, которое камера автоматически присвоила файлу в момент съёмки, например, 2017-07-04 12.37.54.jpg. Вы просматриваете всё подряд — фотографии, их эскизы, пытаетесь определить...

Библиотека для реализации Publish-Subscribe паттерна на TypeScript Известно, что одним из признаков хорошего архитектурного дизайна является слабая связанность между отдельными модулями приложения. Достичь этого можно разными способами: Dependency Injection, с помощью паттернов проектирования Mediator, Publish-Subscribe и некоторыми другими...

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

Я протестировал «Быстрые команды» для Android. Это какая-то дичь «Быстрые команды», которые появились в iOS 12, на мой взгляд, являются одним из главных преимуществ iOS над Android. Благодаря им мне удалось расширить функциональные возможности своих устройств, научив их такому, чего ни один Android-смартфон ни за что не сделает при помощ...

[Перевод] Алгоритм быстрого и простого объёмного рендеринга Недавно я написал небольшой ShaderToy, выполняющий простой объёмный рендеринг, а затем решил опубликовать пост с объяснением его работы. Сам интерактивный ShaderToy можно посмотреть здесь. Если вы читаете с телефона или ноутбука, то рекомендую посмотреть эту быструю версию....

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

Подшипники B71911-E-T-P4S-UL в любом объеме Подшипники –это небольшие, но очень важные детали. Применяя современные технологии, с помощью этой запчасти крутятся все остальные детали. К тому же, она контролирует их движение и систематизирует, благодаря ПШ движения происходят равномерно, а не хаотично. Подшипник HS71903...

[Перевод] Apache Kafka — скоро без ZooKeeper В основе Apache Kafka находится лог — простая структура данных, которая использует последовательные операции, работающие в симбиозе с оборудованием. Эффективное использование дискового буфера и кэша процессора, prefetch, передача данных zero-copy и много других радостей — в...

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

Секреты поиска Spotlight на Mac Если вы давно пользуетесь macOS, то наверное уже привыкли к поиску Spotlight, с помощью которого можно легко найти практически любой файл на накопителе Mac. В этой статье мы расскажем о некоторых полезных советах, которые помогут во взаимодействии с поиском Spotlight. ♥ ПО Т...

Material Design Search UI iOS: красивый поиск Material Design Search UI iOS — экран поиска в материальном дизайне для iOS. Представляет стилизованную поисковую строку и соответствующий View с результатами. Написано на Swift 5.0 и работает начиная с iOS 11.0. Исходники: https://github.com/twho/material-design-searc...

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

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

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

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

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

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

[Перевод] Вышел Windows Terminal Preview v0.8 Выпущена новая версия Windows Terminal. Терминал можно загрузить из Microsoft Store или со страницы выпусков на GitHub. Давайте перейдем к просмотру нововведений! Поиск В Терминал добавлена функция поиска. По умолчанию, для вызова строки поиска, используется комбинация клав...

[Личная история] Из Москвы — в Кремниевую долину. Как пройти в Google, и почему здесь нужно уметь играть в покер Екатерина Вебер когда-то начинала в «Яндексе» и Росатоме, а сейчас работает Program manager в Google Youtube, в подразделении, занимающемся поиском абьюзивного контента. Она рассказала нам об особенностях жизни и работы в Северной Калифорнии. Почему это большая деревня, по...

Microsoft хочет отделить Панель задач Windows 10 от Explorer.exe Панель задач может быть отделена от Проводника Windows (explorer.exe), при этом функция, возможно, получит отдельный процесс в будущем. Ссылки на эти изменения были замечены в предварительных сборках обновления Sun Valley для Windows 10, также известного как версия 21H2. До ...