Социальные сети Рунета
Четверг, 25 апреля 2024

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

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

5 малоизвестных возможностей JSON.stringify() Доброго времени суток, друзья! В этой небольшой заметке я хочу рассказать вам о некоторых редко используемых возможностях JSON.stringify(). Возможно, они окажутся вам полезными. JSON.stringify() часто используется при отладке для преобразования объекта или обычной стро...

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

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

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

DeepPavlov: «Keras» для обработки естественного языка помогает отвечать на вопросы про COVID-2019 В такой области глубокого обучения, как обработка изображений, библиотека Keras играет ключевую роль, радикально упрощая обучение transfer learning и использование предварительно обученных моделей. В области обработки естественного языка (NLP) для решения достаточно сложных ...

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

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

Книга «Bash и кибербезопасность: атака, защита и анализ из командной строки Linux» Привет, Хаброжители! Командная строка может стать идеальным инструментом для обеспечения кибербезопасности. Невероятная гибкость и абсолютная доступность превращают стандартный интерфейс командной строки (CLI) в фундаментальное решение, если у вас есть соответствующий опыт....

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

[Перевод] 23 непростых вопроса для JavaScript-собеседования Хотите подготовиться к собеседованию по JavaScript и ищете вопросы, на которых можно попрактиковаться? Если так — считайте, что ваши поиски окончены. Автор материала, перевод которого мы сегодня публикуем, говорит, что собрал более двух десятков вопросов по JavaScript, предн...

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

Дипфейк видео по одному кадру пример работы First Order Motion Model Можно ли из одной фотографии сделать целый фильм? А записав движения одного человека, заменить его на другого в видео? Безусловно, ответ на эти вопросы, крайне важен для таких сфер как кинематограф, фотография, разработка компьютерных...

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

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

[Перевод] wc на D: 712 символов без единого ветвления После прочтения "Побиваем С программой в 80 строк на Хаскеле", которую я нашел на ХакерНьюс, я решил, что D может и лучше. И я написал wc на D. Прим.пер. Я предложил вышеупомянутую статью перевести 0xd34df00d, но он предпочел сделать по мотивам свою «Побеждая C дв...

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

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

[Перевод] Интерактивная визуализация данных при помощи Plotly: строим красивые графики с Express и Cufflinks Если Вы все еще используете Matplotlib для создания графиков в Python, самое время взглянуть на мир с высоты альтернативной библиотеки интерактивной визуализации. Plotly позволяет создавать красивые, интерактивные, экспортируемые графики с помощью всего нескольких строк к...

И целого байта мало… (Часть #3) Итак, друзья, 1-е апреля прошло, пора раскрывать карты, что же такое "2B or not 2B" на самом деле. Это совместный текст от автора работы jin_x и уже знакомого вам деда unbeliever Обязательно скачайте архив с работой на Pouet и прочитайте вводную (первоапрельскую...

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

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

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

Рядовой SNAFU идет в DBA Для тех, кто не знает, SNAFU — персонаж военных патриотических мультфильмов, созданных американцами во время войны. Этот раздолбай, ввиду природного идиотизма, все время попадает в катастрофические ситуации и, как правило, гибнет в конце серии. Правда, в следующей серии он...

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

Оптимизация строк в ClickHouse. Доклад Яндекса Аналитическая СУБД ClickHouse обрабатывает множество разных строк, потребляя ресурсы. Для ускорения работы системы постоянно добавляются новые оптимизации. Разработчик ClickHouse Николай Кочетов рассказывает о строковом типе данных, в том числе о новом типе, LowCardinality, ...

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

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

[Из песочницы] Как использовать консоль JavaScript: выход за пределы console.log () Привет, Хабр! Представляю вашему вниманию перевод статьи «How to use the JavaScript console: going beyond console.log()» автора Yash Agrawal. Один из самых простых способов отладки чего-либо в JavaScript — вывод материала с помощью console.log. Но есть много других методов,...

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

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

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

Blitz: относительное время для TextView Библиотека для Android-приложения от нашего читателя. Blitz — устанавливает в TextView относительное время (например, «5 минут назад»). Киллер-фичей является автоматический апдейт строки со временем — по прошествии, скажем, минуты время обновится самостоятель...

[Перевод - recovery mode ] Делаем быстрее POSTGRESQL COUNT (*) Часто жалуются, что count (*) в PostgreSQL очень медленный. В этой статье я хочу изучить варианты, чтобы вы получили результат как можно быстрее. Почему count (*) такой медленный? Большинство людей без проблем понимают, что следующий запрос будет выполняться медленно: S...

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

Хаос зависимостей в Python Знакомы ли вы с историей Python packaging? Ориентируетесь ли в форматах пакетов? Знаете ли, что распутывать клубок зависимостей придется даже когда кажется, что вот оно чудо — zero dependency? Уверен, что знакомы со всем этим не так хорошо, как автор библиотеки DepHell. М...

Генерация URL с параметрами на коленке и best practice Как-то я увидел в проекте соседней команды код, который генерировал строку с URL-параметрами для последующей вставки в iframe src-атрибут. Эта статья может показаться лишней, очевидной или слишком простой, но раз такое встречается в живой природе, об этом не стоит молчать, а...

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

Цифровая логистика: решение транспортной задачи спроса и предложения с помощью библиотеки DOcplex от IBM Всем привет, меня зовут Дмитрий Кузин (Application Development Senior Analyst в Accenture), и в своей статье я делюсь историей о том, как запрос на решение задачи в корпоративной рассылке привел к освоению Python библиотеки DOcplex от IBM, предназначенной для решения оптими...

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

[Перевод] Random Forest, метод главных компонент и оптимизация гиперпараметров: пример решения задачи классификации на Python У специалистов по обработке и анализу данных есть множество средств для создания классификационных моделей. Один из самых популярных и надёжных методов разработки таких моделей заключается в использовании алгоритма «случайный лес» (Random Forest, RF). Для того чтобы попытать...

[Перевод] 6 способов значительно ускорить pandas с помощью пары строк кода. Часть 2 В предыдущей статье мы с вами рассмотрели несколько несложных способов ускорить Pandas через jit-компиляцию и использование нескольких ядер с помощью таких инструментов как Numba и Pandarallel. В этот раз мы поговорим о более мощных инструментах, с помощью которых можно не т...

[Из песочницы] 10 строк кода, которые уменьшат боль от вашего проекта на Vue … или знакомство с плагинами Vue JS на примере интегрированной шины событий Пара слов о… Всем привет! Сразу оговорюсь. Я очень люблю VueJS, активно пишу на нем уже больше 2-х лет и не считаю, что разработка на нем может причинить боль хоть в какой-то значимой степени :) С д...

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

Где смотреть статус загрузки при копировании файлов с Mac в iCloud Drive При перемещении или копировании файлов с Mac в iCloud Drive всегда есть возможность наблюдать прогресс загрузки. Finder на Mac позволяет проверять статус копирования (перемещения) в нескольких местах файловой системы. Ниже мы расскажем вам о четырех способах, позволяющих про...

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

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

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

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

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

Книга «Профессиональный TypeScript. Разработка масштабируемых JavaScript-приложений» Любой программист, работающий с языком с динамической типизацией, подтвердит, что задача масштабирования кода невероятно сложна и требует большой команды инженеров. Вот почему Facebook, Google и Microsoft придумали статическую типизацию для динамически типизированного кода....

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

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

[Перевод] Запускаем однофайловые программы в Java 11 без компилирования Пусть исходный файл HelloUniverse.java содержит определение класса и статичный метод main, который выводит в терминал одну строку текста: public class HelloUniverse{ public static void main(String[] args) { System.out.println("Hello InfoQ Universe"); ...

[Перевод] Создание CI/CD-цепочки и автоматизация работы с Docker Я написала мои первые сайты в конце 90-х. Тогда приводить их в рабочее состояние было очень просто. Был Apache-сервер на каком-нибудь общем хостинге, на этот сервер можно было войти по FTP, написав в браузерной строке нечто вроде ftp://ftp.example.com. Потом надо было ввести...

Группа разработчиков предлагает перейти на UTF-8 Недавно на Hacker News опубликовали манифест программистов из Тель-Авива. Они предложили сделать UTF-8 решением по умолчанию для хранения текстовых строк в памяти и коммуникации. Материал породил активную дискуссию, и мы решили разобраться в ситуации, рассмотреть аргументы ...

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

Книга «Конкурентность в C#. Асинхронное, параллельное и многопоточное программирование. 2-е межд. изд.» Привет, Хаброжители! Если вы побаиваетесь конкурентного и многопоточного программирования, эта книга написана для вас. Стивен Клири предоставляет в ваше распоряжение 85 рецептов работы с .NET и C# 8.0, необходимых для параллельной обработки и асинхронного программирования. К...

Что такое Windows PowerShell и с чем его едят? Часть 1: основные возможности Исторически утилиты командной строки в Unix-системах развиты лучше чем в Windows, однако с появлением нового решения ситуация изменилась. Windows PowerShell позволяет системным администраторам автоматизировать большинство рутинных задач. С ее помощью можно менять настройки,...

Опыт создания web-приложения с Pony ORM Привет, Хабр! Недавно передо мной встала задача написать на Python web-приложение для разделения счёта в ресторане между участниками трапезы. Так как нужна DB для хранения данных о заказах и пользователях, встал вопрос выбора ORM для работы с базой. Разработка велась на Flas...

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

[Перевод] “Давайте использовать Kubernetes!” Теперь у вас 8 проблем Если вы используете Docker, следующим логичным шагом кажется переход на Kubernetes, он же K8s, правильно? Ну, предположим. Однако решения, предназначенные для 500 инженеров-программистов, одновременно разрабатывающих одно приложение, достаточно сильно отличаются от решений д...

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

Снижение скорости свободного перемещения для первого слоя      Доброго времени суток. Прошу строго не судить, это мой первый пост. Испытывал трудности при печати модели с большим количеством элементов в первом слое. Раньше использовал PLA и проблем не было, перешёл на ABS, узнал все его капризы с адгезией к столу. Если использовать...

QA — специалист по пожарной безопасности вашего проекта На конференциях и в неформальных беседах на работе нет-нет да и возникает разговор о важности работы QA-инженера и его роли в проекте. Это может быть и робкий вопрос коллеги-программиста «А, может, выпустим без QA?», и объёмный доклад. Проблема, как мне кажется, связана с т...

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

[Перевод] Заменяем Redux c помощью Observables и React Hooks Управление состоянием — одна из важнейших задач, решаемых в разработке на React. Было создано множество инструментов в помощь разработчикам для решения этой задачи. Наиболее популярным инструментом является Redux — небольшая библиотека, созданная Дэном Абрамовым, и предназн...

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

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

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

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

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

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

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

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

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

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

В VK добавили Callback кнопки для ботов . Доброго времени суток, уважаемые жителя Хабра) Мой первый пост. Будет кратко, емко и надеюсь актуально. 9го июля ВК выкатил callback кнопки для чат-ботов. Телеграм напрягся сделал это в 199... давно. Самая популярная библиотека для разработки чат-ботов под ВК на Python — v...

Windows 7 отказалась выключаться и перезагружаться Как сообщает портал ZDNet, многие пользователи при попытке завершить работу операционной системы получают сообщение «У вас недостаточно разрешений, чтобы выключить компьютер» (You don't have permission to shut down this computer). Причины бага достоверно неизвестн...

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

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

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

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

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

Современный Web-UI для SVN в 2020 году cSvn — это web-интерфейс к Subversion репозиториям. Основу cSvn представляет CGI-скрипт написанный на языке С. В мае 2020 года был опубликован релиз очередной версии Apache Subversion 1.14.0. В свете этого события, был создан новый, современный web-интерфейс для просмотра S...

Оверинжиниринг головного мозга Попалась мне простая развлекательная задача: собрать данные о температуре воды и воздуха с пары HTML страниц и выдать результат, в JSON из API. Задача тривиальная, решается кодом строк в 40 (или около того) с комментариями. Конечно если писать руководствуясь принципом Quick...

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

[Из песочницы] Оптимальный путь новичка в мире C++/Qt Часто задаваемый начинающими программистами вопрос – какие материалы читать для повышения своего профессионального уровня? В таком, наиболее общем виде, ответить на данный вопрос невозможно. Это зависит от текущих знаний и умений человека, от его специализации, от задач, кот...

Hidden Bar – удобная утилита для упорядочивания элементов в строке меню macOS По мере установки новых программ на Mac число элементов в правой части строки меню системы будет увеличиваться. Мало того, что это заставляет каждый раз напрягаться в поисках нужной иконки, так и порядок навести в этом месте очень сложно. Постоянно приходится путаться в этом...

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

[Из песочницы] Spring Boot vs Spring MVC vs Spring — Как они сравниваются? Spring Boot vs Spring MVC vs Spring — Как они сравниваются? Spring, Spring Boot, Spring MVC, везде есть слово “spring”! Давайте пройдемся где и когда вы можете применять каждый из этих инструментов В этой статье, вы увидите обзоры: Spring, Spring MVC, и Spring Boot, узнает...

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

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

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

Эксперименты с микроконтроллерами в Jupyter Notebook Jupyter Notebook — любимый инструмент-среда для data scientist'ов, аналитиков, инженеров, математиков, студентов и даже для нас — самых обычных ученых в экспериментальной физике. Этот инструмент предназначен для работы с интерпретируемыми языками и удобного графического пре...

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

[Перевод] 6 грехов, которые совершают программисты Эта статья — перевод с medium.com, в которой Daan, ее автор, предостерегает нас от неверных решений при выборе между скоростью и эффективностью в программировании. Фото с сайта Unsplash. Автор: Artem Sapegin Работа программиста неразрывно связана с необходимостью принимат...

Разработчики Chromium предложили замену заголовку User-Agent Разработчики Chromium предложили заморозить и унифицировать строку User-Agent в HTTP-заголовках и в navigator.userAgent, чтобы усилить защиту конфиденциальности пользователей. Они также разработали новый механизм, который призван заменить User-Agent. В настоящее время строка...

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

[Перевод] Решаем мини-игру про взлом протокола в Cyberpunk 2077 за 50 строк на Python Если вы хотя бы отдалённо интересуетесь играми и не прожили последнюю пару лет в тайге, то, вероятно, слышали что-нибудь о Cyberpunk 2077. После долгого ожидания она наконец вышла! И в ней есть мини-игра про взлом! И чем больше получишь в ней очков, тем ценнее приз! Может л...

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

Быстрое чтение CSV в C# (fast read CSV) Уже не первый год пользуюсь своим универсальным конвертером CSV файлов в БД SQL Server - ImportExportDataSql, который имеет ряд полезных функций, необходимых любому разработчику БД MSSQL, например: перенос данных с одной БД в другую через SQL скрипт, выгрузка структуры БД...

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

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

[Перевод] Node.js, Tor, Puppeteer и Cheerio: анонимный веб-скрапинг Веб-скрапинг — это метод сбора данных с веб-сайтов. Этот термин обычно используется в применении к автоматизированному сбору данных. Сегодня мы поговорим о том, как собирать данные с сайтов анонимно. Причина, по которой некто может захотеть анонимности в деле веб-скрапинга, ...

Книга «Python: Искусственный интеллект, большие данные и облачные вычисления» Привет, Хаброжители! Пол и Харви Дейтелы предлагают по-новому взглянуть на Python и использовать уникальный подход, чтобы быстро решить проблемы, стоящие перед современными айтишниками. В вашем распоряжении более пятисот реальных задач — от фрагментов до 40 больших сценар...

Что такое Windows PowerShell и с чем его едят? Часть 2: введение в язык программирования Исторически утилиты командной строки в Unix-системах развиты лучше чем в Windows, однако с появлением нового решения ситуация изменилась. Читать дальше →

[Перевод] Обработка сетевых данных на лету Перевод статьи подготовлен в преддверии старта курса «Пентест. Практика тестирования на проникновение». Аннотация Разнообразные виды оценки безопасности, начиная от регулярного тестирования на проникновение и операций Red Team до взлома IoT/ICS-устройств и SCADA, подразум...

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

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

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

[Перевод] Основы нейросетей в 100 строках кода (часть 1) В трёх частях этой статьи мы: Напишем нейросеть с нуля на Python и обучим её алгоритмом градиентного спуска. Применим её к датасету The Wisconsin Cancer Data-set и предскажем по 9 различным признакам, является ли опухоль доброкачественной или злокачественной. Подробнее иссл...

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

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

Как быстро и безопасно организовать удалённую работу сотрудников? Рассказываем о разных подходах: с VDI и не только С необходимостью удобно и безопасно организовывать удалённую работу своих сотрудников бизнес столкнулся давно. Но если раньше эту задачу можно было регулярно откладывать и продолжать обдумывать, то сейчас времени уже нет: «удалёнка» – главный тренд весны 2020 во всём мире. В...

Debouncing с помощью React Hooks: хук для функций Здравствуйте! Меня зовут Игорь Шамаев, я главный инженер по разработке в команде SmartData. Занимаюсь fullstack-разработкой внутренней аналитической BI-системы. В нашей компании React принят в качестве основного стандарта для построения пользовательских интерфейсов. Как и бо...

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

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

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

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

Ask me anything! Задай вопрос Android-команде Badoo Предлагаем продолжить добрую традицию Ask me anything на Хабре и поговорить про разработку Android-приложений. Сегодня и завтра Android-команда Badoo будет на связи и ответит на любые вопросы о разработке и тестировании приложений с многомиллионной аудиторией, даст советы на...

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

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

Java-дайджест за 14 декабря Дело Google vs Oracle будет рассматривать Верховный Суд США. В последний раз. Запасаемся попкорном, русская рулетка начинается. Прочитать суть проблемы можно в оригинальной PDF-ке, в которой Oracle утверждает, что у них скопировали 11500 строк кода из 37 пакетов, тем самым...

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

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

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

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

Java-дайджест за 10 марта Есть такая штука, Milkman — это альтернатива Postman, расширяемый воркбенч для работы с запросами и ответами с интерфейсом на JavaFx и с идеей «всё есть плагин». Несмотря на плагинную архитектуру, эта штука почти не использует reflection, и поэтому стало возможно пересобр...

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

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

[Перевод] Реализация алгоритма Минимакс на примере игры «Крестики-Нолики» Недавно я написал непобедимую игру «Крестики-Нолики». Это был интересный и поучительный проект, который многому меня научил. Если у вас есть желание посмотреть результат — это можно сделать здесь. Для того чтобы сделать игру непобедимой, было необходимо создать алгоритм, ...

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

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

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

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

50/200+ вопросов по JavaScript Доброго времени суток, друзья! Предлагаю Вашему вниманию небольшой интерактив — своего рода викторину по JavaScript, на данный момент состоящую из 50 вопросов. На мой взгляд, решение подобных задач — лучший способ определить свой уровень мастерства. Предисловие Данная ча...

Вариант работы с вебсокетами в iOS на языке Swift / Написал менеджер для работы с websocket Всем привет. 4 года назад я уже разбирался с вебсокетами в iOS, тогда я решил задачу с помощью одной из библиотек cocoapods, статья есть на Хабре. А сегодня хочу продемонстрировать еще одно решение, нативное без cocoapods. Я написал свой менеджер для работы с вебсокетами ...

Как я делал 2D тени в Unity Что первое приходит в голову разработчику инди-игры, когда он сталкивается с необходимостью добавления фичи, представления о реализации которой толком не имеет? Разумеется, он идёт искать следы тех, кто уже прошёл этот путь и удосужился записать свой опыт. Так поступил и я н...

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

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

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

Простой графический интерфейс для M5Stack (Arduino) Привет! Сегодня мы познакомимся с такой штукой как M5 UI. Благодаря M5 UI Вы можете с помощью пары строк кода подключать всевозможные поля, кнопки, ползунки и переключатели, создавать условные слоя. Несмотря на то, что процесс подключения элементов UI очень прост, Вы также м...

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

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

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

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

[Перевод] Использование Clickhouse в качестве замены ELK, Big Query и TimescaleDB Clickhouse — это столбцовая система управления базами данных для онлайн обработки аналитических запросов (OLAP) с открытым исходным кодом, созданная Яндексом. Ее используют Яндекс, CloudFlare, VK.com, Badoo и другие сервисы по всему миру для хранения действительно больших об...

Как перевести текст в Word на Mac Microsoft Word имеет встроенный переводчик, что удобно, если ваши познания в иностранных языках не очень обширны Владение английским языком – очень важный навык, который сильно пригодится вам в жизни. Несмотря на то что кое-кто уверенно настаивает на том, что пройдёт несколь...

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

Google сломала умную разблокировку в Android 10 Пользователи смартфонов Google Pixel, Samsung, OnePlus и Nokia пожаловались, что на Android 10 режим Smart Lock перестал работать так же, как прежде. У одних пользователей после обновления даже с активной умной разблокировкой аппарат стал запрашивать биометрическую верифика...

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

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

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

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

[Перевод] Видеозвонки с виртуальным фоном и опенсорсные инструменты Сейчас, когда многие из нас находятся на карантине из-за COVID-19, видеозвонки стали куда более частым явлением, чем раньше. В частности, сервис ZOOM неожиданно стал очень популярным. Вероятно, самой интересной возможностью Zoom является поддержка виртуального фона (Virtual ...

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

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

Огромное обновление Firefox для Android Mozilla представила обновленный браузер Firefox для Android. Он содержит множество новых функций и оптимизаций. Большинство из них пришли непосредственно из настольной версии браузера. Компания хочет обеспечить бесперебойную работу на разных платформах. В результате Fir...

[Перевод] Как я строил карьеру в Amazon, куда меня взяли по ошибке Сегодня я праздную пять лет работы в Amazon. За это время я передал в продакшн боле 500 000 строк кода, проводил инспекцию чужого кода более 500 раз, проектировал, разрабатывал, развёртывал и поддерживал масштабные системы, которыми пользуются тысячи клиентов со всего света....

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

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

Android TV добавляет рекламные баннеры различных шоу на ... Google направляет на Android TV, возможно, больше внимания, чем на любой другой свой продукт. Как еще объяснить, что модифицированная версия Зеленого робота обрастает новыми фичами почти каждую неделю?   Читать также: Google расширяют функциональность YouTube для Androi...

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

[Перевод] Почему разработчики влюбляются в функциональное программирование? Функциональное программирование (ФП) существует уже лет 60, но до сих пор оно всегда имело достаточно узкую сферу использования. Хотя компании, меняющие мир, вроде Google, полагаются на его ключевые концепции, средний современный программист знает об этом феномене очень мало...

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

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

[Перевод] Product Discovery 101 для Product-менеджера Перевод статьи подготовлен в преддверии старта новой группы по курсу "Product Manager IT-проектов". Так что же такое Product Discovery? Product Discovery – это процесс выяснения того, что же в конечном итоге предстоит создать. Он отражает ваше видение, дает бол...

[Перевод] Sktime: унифицированная библиотека Python для машинного обучения и работы с временными рядами Всем привет. В преддверии старта базового и продвинутого курсов «Математика для Data Science», мы подготовили перевод еще одного интересного материала. Решение задач из области data science на Python – это непросто Почему? Существующие инструменты плохо подходят для реше...

[Перевод] Какую нагрузку на серверы создают сетевые механизмы? Когда анализируют работу сетевой подсистемы серверов, внимание обычно обращают на такие показатели, как время задержки (latency), пропускная способность системы (throughput), количество пакетов, которое можно обработать за секунду (PPS, Packets Per Second). Эти показатели пр...

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

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

Флагман Samsung Galaxy S20 Ultra занял лишь 7 строку рейтинга камер DxOMark Специалисты DxOMark наконец-то провели оценку качества работы камеры одного из самых дорогих флагманских смартфонов в истории — Samsung Galaxy S20 Ultra. Его рекомендованная стоимость начинается с $1400 в США и 100 тыс рублей в России. С момента выпуска аппарата на рынок Sam...

Vivaldi 3.1 — Заметные радости Привет, Хабр! При работе на компьютере в сети мы больше всего времени проводим в браузере, а главная задача, которую мы при этом решаем — получение или создание информации. Собственно, всё просто. Но только на словах. А на самом деле за этими простыми описаниями стоит оче...

Выбор архитектурного стиля (часть 2) Привет, хабр. Сегодня я продолжаю серию публикаций, которую написал специально к старту нового потока курса «Software Architect». Введение Выбор архитектурного стиля является одним из основополагающих технических решений при построении информационной системы. В этой серии...

Вышла неожиданная версия Android 11. План выпуска ОС поменяли Ранее в этом году Google представила свой план выпуска Android 11, включая версии для разработчиков и бета-версии. После выпуска трех предварительных версий для разработчиков компания решила выпустить еще одну Developer Preview-версию (DP4). После выхода DP1, DP2 и DP3 ...

Почему много оперативной памяти — это хорошо Не так давно Samsung представила Galaxy S20, минимальная модификация которого оснащена 8 ГБ ОЗУ, а максимальная предлагает 16 гигабайт. Новый Xiaomi Mi 10 также предлагает 8 гигабайт оперативной памяти. Но зачем же смартфонам так много памяти? На этот вопрос я и попытаюсь о...

[Из песочницы] Телеграм + 1С + Вебхуки + Апач + Самоподписанный сертификат Много строк исписано про интеграцию Телеграма и 1С. Но нигде не увидел полной инструкции по установке и настройке вебхуков. Попробую её написать. Для всего этого нам понадобится (или правильнее будет сказать, что было использовано мной): Apache 2.2.24 OpenSSL (входящий в...

Простые запросы SNMP в Python (с помощью pysnmp) Этот пост предназначен в первую очередь для сотрудников телекома, админов и новичков в разработке, впервые столкнувшихся с необходимостью отправить snmp-запросы к какому-нибудь коммутатору и разобрать полученный ответ. Разберем основы работы с библиотекой pysnmp на примере ...

Книга «PowerShell для сисадминов» Привет, Хаброжители! PowerShell — это одновременно язык сценариев и командная оболочка, которая позволяет управлять системой и автоматизировать практически любую задачу. В книге «PowerShell для сисадминов» обладатель Microsoft MVP Адам Бертрам aka «the Automator» покажет, к...

Собираем «цепочки» с помощью window functions Иногда при анализе данных возникает задача выделения «цепочек» в выборке — то есть упорядоченных последовательностей записей, для каждой из которых выполняется некоторое условие. Это может быть как условие от данных самой записи, так и сложное выражение относительно одной и...

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

Как OpenShift меняет организационную структуру ИТ-организации. Эволюция организационных моделей при переходе на PaaS Хотя сами по себе решения PaaS («Платформа как сервис») не способны изменить способы индивидуального и командного взаимодействия, они часто служат катализатором организационных изменений в ответ на возросшую гибкость ИТ-технологий. На деле максимальная отдача от инвестиц...

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

[Перевод] Инструмент для отслеживания DNS-запросов: dnspeep Недавно я создала небольшой инструмент под названием dnspeep, который позволяет понять, какие DNS-запросы отправляет ваш компьютер и какие ответы он получает. Всего мой код занял 250 строк на Rust. В этой статье я расскажу о коде, объясню, для чего он нужен, почему в нём воз...

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

Как оптимизировать изучение английского Ни для кого не секрет, что знание английского на хорошем уровне — уже must-have для современного человека. В нынешней реальности с бешеным темпом жизни, напряженной работой и попыткой найти work-life balance, чтобы выучить язык чаще всего приходится прибегать к помощи репе...

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

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

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

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

11 друзей Sanic’а – собираем асинхронное веб-приложение на Python Рано или поздно маленькие приложения разрастаются до нагруженных production-решений, поэтому программисту необходимо заранее продумать стек технологий. Для Python концептуальный выбор стоит между синхронными и асинхронными фреймворками. После появления библиотеки asyncio поп...

Huawei представила свой поисковик на замену Google. Как им пользоваться Даже если вы не пользуетесь смартфонами Huawei, скорее всего, вы знаете, что AppGallery – это собственный магазин приложений китайской компании, который она запустила на замену Google Play. Несмотря на довольно широкий ассортимент, который за последний год сильно разросся, ...

Почему мобильным приложениям скоро придёт конец Android-приложениям скоро придёт конец? Мобильные приложения являются неотъемлемой частью как iOS, так и Android. И с чего мы это решили, что им придёт конец? Всё дело в PWA (Progressive Web Apps). Это веб-приложения, построенные на фронтенд-технологиях (HTML, CSS, JavaScrip...

Домашний кластер на Dask Я недавно проводил исследование, в рамках которого было необходимо обработать несколько сотен тысяч наборов входных данных. Для каждого набора — провести некоторые расчеты, результаты всех расчетов собрать вместе и выбрать "лучший" по некоторым критериям. По сути ...

Blue-Green Deployment на минималках В этой статье мы с помощью bash, ssh, docker и nginx организуем бесшовную выкладку веб-приложения. Blue-green deployment — это техника, позволяющая мгновенно обновлять приложение, не отклоняя ни одного запроса. Она является одной из стратегий zero downtime deployment и лучше...

5 символов 1920-х, которые спустя 100 лет поднялись в облака Всего один полновесный год остается до начала новых «ревущих» двадцатых. Тем не менее, условности ради, давайте сделаем вид, что появление еще одной «двойки» в календаре подводит итог «десятым». В прошлом веке 20-е ознаменовались завершением I мировой войны, становлением С...

Работа с IPv6 в PHP Недавно мы получили статус LIR и /29 блок IPv6. А следом возникла необходимость вести учёт назначенных подсетей. И коль скоро наш биллинг написан на PHP, пришлось немного проникнуться вопросом и осознать, что этот язык — не самый дружелюбный в плане работы с IPv6. Под катом ...

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

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

Как активировать Windows 10 21H1 Мы уже как-то писали, что Microsoft начала подготовку к запуску Windows 10 21H1 (19043) с появлением обновления KB4598291. К сожалению, установка тогда была довольно сложна, но с выходом патча KB4601319 установка упростилась в разы и теперь необходимо просто прописать команд...

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

В поисковой выдаче DuckDuckGo появились быстрые ответы Англоязычные пользователи заметили, что DuckDuckGo добавил в результаты поиска быстрые ответы, которые во многом похожи на featured snippets (избранные сниппеты) в Google. На скриншоте ниже новый блок отображается справа от результатов поиска: При этом место размещения этого...

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

[Перевод] Руководство по Deno: примеры работы со средой выполнения TypeScript Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «The Deno Handbook: A TypeScript Runtime Tutorial with Code Examples» автора Flavio Copes. В этой статье мы научимся работать с Deno. Мы сравним его с Node.js и создадим с его помощью простой RES...

Как скачать всю свою медиатеку Apple Music на iPhone За несколько лет существования стримингового сервиса Apple Music разработчики так и не добавили возможность быстро скачать на iPhone все треки из своей медиатеки. Есть простой способ сделать это, однако, на несколько минут понадобится компьютер. Как загрузить все треки...

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

[Из песочницы] Как мы придумали TableAdapter и упростили работу с UITableView При работе с UITableView хотелось избежать написания шаблонного кода, который еще больше усложняется, если нужно обновлять состояние таблицы анимировано. Apple представила свое решение этой проблемы на WWDC 2019, но оно работает только с iOS 13. А у нас, как у студии разраб...

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

[Перевод] Принципы для разработки: KISS, DRY, YAGNI, BDUF, SOLID, APO и бритва Оккама Хорошему программисту необходимо уметь совмещать свои навыки со здравым смыслом. Все дело в прагматизме и навыке выбора лучшего решения для вашей проблемы. Когда вы сталкиваетесь с проблемой при разработке ПО, вы можете воспользоваться базовыми принципами, которые помогут ...

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

Сервисный бизнес и кризис: истории успеха. Как нестандартное мышление работает на вас? Приветствую всех! С кем не знаком — Андрей Балякин. Последние 6 лет плотно связан с сервисной индустрией (ремонт и обслуживание оборудования). Являюсь со-основателем и CEO проекта HubEx — онлайн платформы автоматизации сервисных процессов в компаниях с мобильными сотрудникам...

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

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

n8n. Автоматизация ИБ со вкусом смузи Всем давно очевидна польза тотальной автоматизации, в том числе, и в области информационной безопасности. В условиях большого кадрового дефицита как никогда актуальна идея снятия рутинной рабочей нагрузки как со специалиста по информационной безопасности, так и со специалист...

[Из песочницы] Российский SCRUM. Бессмысленный и беспощадный Доброе время суток, уважаемый Хабр! Я программист «старой школы», с опытом работы более 20 лет. Участвовал в разработке многих проектов, большая часть из которых довольно известные и успешные. В некоторых проектах занимал руководящие должности, достиг неплохого уровня зарпл...

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

[Перевод] Бандлинг JavaScript-кода и производительность: передовые методики Сейчас, на рубеже десятилетий, самое время критически переоценить то, что считалось правильным в недалёком прошлом, и выяснить, не потеряло ли оно актуальности в наши дни. Иногда вчерашние передовые методики разработки становятся сегодняшними антипаттернами. Автор статьи,...

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

[Перевод] Файл .npmrc и оптимизация настройки Node.js-окружения Npm — это повседневный рабочий инструмент Node.js-разработчиков. Это, в буквальном смысле, нечто такое, чем мы пользуемся ежедневно и по несколько раз на дню. Это — одна из частей экосистемы Node.js, которая привела эту платформу к успеху. Одним из самых важных и полезных с...

Поведениеметр Я специально добавил хаб «читальный зал», так как конкретных схем, ПО и чертежей тут не будет, зато будет сказ о том, как проект выходного дня растянулся на 2 недели. В общем, нет ТЗ — результат ХЗ. Предпосылка. Не знаю, или кризис 4х — 5и лет, или непростой 2020, но повед...

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

Chrome для Android теперь можно управлять голосом при помощи Google Assistant Google Chrome можно управлять голосом при помощи Google Assistant Скорость, с которой развивается Google Assistant, действительно поражает. Кажется, ещё вчера максимум, о чём его можно было спросить, был прогноз погоды, а теперь с его помощью можно выполнять множество различ...

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

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

2 экструдера на плате Ramps 1.4 BT7200 v1.8.26 с Marlin 2.0 При попытке найти решение вопроса на просторах, толком нет никакой информации. Суть вопроса в том, что при переходе с прошивки Marlin 1.1 на весрию Marlin 2.0 перестаёт работать второй экструдер на плате с маркировкой BT7200 v1.8.26. При попытке нагреть второй экструдер начи...

Летом на мобильных выйдет сюжетное приключение Krystopia: Nova's Journey Krystopia: Nova's Journey — это прямое продолжение прошлогодней Krystopia: A Puzzle Journey от студии Antler Interactive, которое выйдет на мобильных летом этого года. Игра не просто предложит новый набор головоломок, но преобразится как в визуальном, так и в геймплейном пл...

Microsoft объявила о релизе унифицированного приложения Office для iOS и Android Компания Microsoft объявила об официальном релизе унифицированной версии Office для Android и iOS, которая объединяет в себе Word, Excel и PowerPoint. Напомним, что публичное бета-тестирование приложения проводилось с ноября прошлого года. Новый Office объединил все основны...

[Из песочницы] Простая машина состояний для VueJS Недавно я наткнулся на интересное обсуждение на Full Stack Radio — Bulding Better UI Components with State Machines. Речь шла о том, что концепция машины состояний может помочь при разработке компонентов Vue. Я начал просматривать готовые решения, но они оказались не столь...

[Из песочницы] Адаптивное разбиение кривых Безье 2-го и 3-го порядка Уже год как я сменил работу на новую. В этой статье я хочу поделиться опытом, накопленным на прошлом месте. Здесь рассмотрены методы аппроксимации кривых Безье, а также обработка исключительных случаев, при которых простые алгоритмы показывают себя не очень хорошо. Все, ком...

Играть по-взрослому: кейс Kunlun и Bidease На первый взгляд продвижение игр такого нестандартного жанра как визуальная новелла задача сложная и пугающая. Но на самом деле (и как показывает наш опыт) всё вовсе не так. Системный подход, постоянный поиск новых решений и каналов и кропотливая работа со «своей» аудиторией...

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

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

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

[Перевод] Разворачиваем вложенные столбцы — списки с помощью языка R (пакет tidyr) В большинстве случаев при работе с ответом полученным от API, или с любыми другими данными которые имеют сложную древовидную структуру, вы сталкиваетесь с форматами JSON и XML. Эти форматы имеют множество преимуществ: они достаточно компактно хранят данные и позволяют избежа...

MVVM на основе Combine в UIKit и SwiftUI приложениях для UIKit разработчиков Мы знаем, что ObservableObject классы с его @Published свойствами созданы в Combine специально для View Model в SwiftUI. Но в точности ту же самую View Model можно использовать и в UIKit для реализации архитектуры MVVM, хотя  в этом случае нам придется вручную «привязать» ...

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

От наркотиков до любви один шаг: Сериал «Бывшие» расскажет о романе наркоманки и психолога Любовь Аксенова объявила голодовку, а Денис Шведов оказался в реабилитационной клинике. Наркотики и алкоголь — очень острая проблема в наше время. Каждый второй убегает от повседневных проблем, ищет новых ощущений и не считает себя зависимым. А ведь осознать свою зависимост...

Скрипт настройки Windows 10. Часть II Чуть больше года назад выкладывал свой скрипт по автоматизации настройки Windows 10. Давеча переписал Windows 10 Sophia Script в виде примитивного модуля на 6 000 строк для одноразового использования. Под катом — всегда самое интересное! Читать далее

Навык поиска работы Есть много причин, почему классные разработчики часто долго не могут найти работу, а компании — классных разработчиков. Я хочу поговорить об одной из наиболее распространённых. Эта причина — абсолютно неправильный, деструктивный подход к проведению технических собеседований...

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

Как делать карьеру программисту, не решая задачи бизнеса Статья Программист не должен решать задачи бизнеса вызвала неслабое обсуждение (и даже ответ с прямо противоположным утверждением). И, забавно, что все свелось к догматическим рассуждениям из разряда «программист должен», или «бизнес должен». Как будто, речь идет о системе, ...

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

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

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

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

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

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

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

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

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

Дизайн, продукт и рок-н-ролл Встречают, как водится, по одежке. И к твоему луку довольно много требований, особенно если ты — самое заметное HR-tech явление страны. Будучи сложным и нетривиальном сервисом, hh.ru бросает дизайнерам множество интересных вызовов, раздает массу уникальных и действительно сл...

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

[Перевод] Глубокое обучение на Kotlin: альфа-версия KotlinDL Привет, друзья!Сегодня мы расскажем о первой предварительной версии KotlinDL (v.0.1.0) — высокоуровневого фреймворка для глубокого обучения, похожего на Keras, но написанного на Kotlin. В нем есть простые API для создания, тренировки и развертывания моделей глубоко...

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

NVIDIA призвала геймеров использовать свои ПК для борьбы с COVID-19 Если у вас есть игровой компьютер, вы можете использовать его графические возможности для борьбы со вспышкой пандемии коронавирусной инфекции COVID-19. NVIDIA/CDC NVIDIA призывает всех владельцев игровых ПК скачать приложение Folding@home, чтобы использовать компьютер в своб...

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

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

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

Искусственный интеллект «увидел» квантовые преимущества Российские ученые из МФТИ, ФТИАН и ИТМО создали нейросеть, которая научилась предсказывать поведение квантовой системы, «взглянув» на схему этой системы. Такая нейросеть самостоятельно находит те решения, которые хорошо подходят для демонстрации квантовых преимуществ. Это по...

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

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

Очереди на очереди: Magento 2 + RabbitMQ Привет! Меня зовут Павел и я Magento 2 бэкенд-разработчик. Когда-то давно, когда я только начинал знакомство с Magento 2 (для краткости буду называть ее M2), мне понадобилось автоматизировать обработку однотипных событий при разработке одного решения. Тогда я удивился, наско...

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

[Перевод] Visx — коллекция графических примитивов для React-приложений, созданная в Airbnb После 3 лет разработки и 2,5 лет использования в продакшн-проектах Airbnb, после переписывания кода на TypeScript, мы рады представить вам официальный релиз коллекции графических примитивов visx 1.0  (раньше она называлась vx). Вот — страница проекта на GitHub. Документацию ...

SVM. Объяснение с нуля, имплементация и подробный разбор Привет всем, кто выбрал путь ML-самурая! Введение: В данной статье рассмотрим метод опорных векторов (англ. SVM, Support Vector Machine) для задачи классификации. Будет представлена основная идея алгоритма, вывод настройки его весов и разобрана простая реализация своими рука...

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

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

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

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

[Перевод] Forge of Empires из AS3 в Haxe. Постмортем В комментариях к переводу доклада с HaxeUp Sessions 2020 Hamburg — Зимний отчет о состоянии Haxe — был задан вопрос о том, зачем нужен Haxe. На него, конечно же, ответили там же, в комментариях. Предлагаемый вашему вниманию перевод еще одного доклада с прошедшего HaxeUp долж...

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

[Перевод] Учебный проект на Python: интерфейс в 40 строк кода (часть 2) Демонстрация проекта Python с пользовательским интерфейсом никогда не была такой простой. С помощью Streamlit Framework вы можете создавать браузерный пользовательский интерфейс, используя только код Python. В этой статье мы будем создавать пользовательский интерфейс для п...

Как устроены DPU, сопроцессоры для обработки данных Специализированные процессоры ASIC для конкретных областей — один из способов «перезапустить» закон Мура и преодолеть ограничения универсальных CPU общего назначения. Сейчас это очень перспективная область развития микроэлектроники. Собственные проекты есть у Google, Amazon...

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

Как вернуть старый интерфейс Safari в iOS 15 На презентации iOS 15, которая состоялась на WWDC 2021 в июле этого года, Apple представила обновлённый Safari. В Купертино принципиально изменили всего лишь один элемент браузера – адресную строку, — но зато как. Её взяли и сместили к нижней части экрана, где ей, по ...

Обновление прошивки PRUSA I4 by China Всем душевный привет!Я неделю назад купил себе бу прушу и столкнулся с проблемой, что принтер не видит SD карту, перепробывал кучу вариантов, но решение нашел не самое хардкорное, но стопроцентное - это покупка RepRap display 2004. Все стало работать, карточку видит. Пока ис...

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

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

FlaNium: как сделать тестирование Desktop-приложений под Windows проще На рынке так много программных продуктов для тестирования, что может показаться, будто для всего найдется готовое решение и нет необходимости тратить время и усилия на разработку инструментов тестирования. На самом деле это не так. Мы в «ЛАНИТ Экспертизе» убедились в этом, к...

[Перевод] Конференция HACKTIVITY 2012. Теория большого взрыва: эволюция пентестинга в условиях повышенной безопасности. Часть 2 Конференция HACKTIVITY 2012. Теория большого взрыва: эволюция пентестинга в условиях повышенной безопасности. Часть 1 Сейчас мы попробуем другой способ внедрения SQL. Посмотрим, будет ли база данных продолжать отбрасывать сообщения об ошибках. Этот метод называется «ожидани...

3D-аркада в браузере: как мы сделали игру на React + Redux Привет, Хабр! В не такие уж далёкие годы, на первом курсе «программистского» факультета, мне нравилось задавать товарищам по учёбе вопрос: «Зачем вы вообще пошли сюда учиться?» Точной статистики ответов я, конечно, не вёл, но доподлинно помню: больше половины хотели делать и...

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

Съёмка северного сияния на смартфон — реальность, и всё благодаря Google Смартфоны Google Pixel четвёртого поколения не смогли стать лучшими по качеству фото, но всё же кое-что они умеют очень хорошо. Речь об астрофотографии. На самом деле небо очень неплохо можно было снимать ещё на Huawei P30 Pro, но в Google сделали из этого отдельный реж...

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

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

Руководство по Node.js для начинающих. Часть 3 Доброго времени суток, друзья! Продолжаю публиковать перевод этого руководства по Node.js. Другие части: Часть 1 Часть 2 Часть 3 Получение данных, введенных пользователем, в Node.js Как сделать Node.js-программу интерактивной? Для этого в 7 версии Node.js представлен м...

Побеждая C двадцатью строками Haskell: пишем свой wc Привет, Хабр. На днях Siemargl предложил мне перевести любопытную статью о победе над юниксовым wc при помощи хаскеля. Переводить её я, конечно же, не буду, и по нескольким причинам: автор выжал из однопоточной версии далеко не всё, и однопоточная версия была существенно ме...

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

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

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

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

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

[Из песочницы] Запускаем браузерные тесты с Cucumber и Selenoid в Gitlab CI c Allure отчетом Cucumber – это инфраструктура тестирования, позволяющая преодолеть разрыв между разработчиками ПО и бизнес-менеджерами. Тесты пишутся на простом языке управляемой поведением разработки (BDD) в стиле Given, When, Then (условия, операция, результат), которой понятен любому пол...

Покайтесь, ибо грядет LDAP Channel Binding & Signing В первых строках хочу заметить, что новость это уже во первых старая, во вторых мало кому на самом деле интересная. Тем не менее, возможно кому то будет интересно узнать, что в марте 2020 года, примерно через месяц, всем использующим MS LDAP может стать немножко больно и о...

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

Памятка по борьбе с алкоголем или Как пережить фуршеты Тут вот праздники скоро. Спросил недавно друг «как мне это все пережить?». Я сначала объяснял, а потом решил написать статью на хабр. Рассказанное — услышит один человек, а написанное — прочитаю сотни! Меня, если честно, достаточно сильно раздражают всевозможные застолья. По...

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

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

Разбираемся в рекурсии Привет, Хабр. Про рекурсию ходит много шуток, и она традиционно считается одной из сложных для понимания тем в computer science, поэтому давайте сегодня немного о ней поговорим. А именно, давайте обсудим, как выражать доказуемо завершимые вычисления. Зачем это надо? Рекурси...

Райтап In the Shadows Это райтап об одном из заданий, которое мы приготовили для отборочного этапа CTFZone, прошедшего в конце ноября. О процессе подготовки к квалификации можно прочитать здесь. Вы начинаете с двумя файлами: decrypt_flag.py и ntfs_volume.raw. Д...

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

[Перевод] PuppetConf 2016. Kubernetes для сисадминов. Часть 1 Я системный администратор, занимаюсь компьютерами, и сегодня мы поговорим о Kubernetes. Я постараюсь глубже окунуться в тему, рассмотрев, какие проблемы сисадмин может решить с помощью этого приложения, и также затрону некоторые моменты эксплуатации Puppet, которая вроде как...

Как странный код скрывает ошибки? Анализ TensorFlow.NET Статический анализ – крайне полезный инструмент для любого разработчика, так как помогает вовремя отыскать не только ошибки, но и просто подозрительные и странные фрагменты кода, которые могут вызвать недоумение у программистов, которым пришлось бы работать с ним в будущем....

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

Код в одну строку или проверка Nethermind с помощью PVS-Studio C# для Linux Данная статья приурочена к старту бета-теста PVS-Studio C# для Linux, а также плагина для Rider. По такому прекрасному поводу с помощью данных инструментов была проведена проверка исходного кода продукта Nethermind и в данной статье мы посмотрим на интересные, а иногда и за...

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

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

[Перевод] Как подключить OLED дисплей к Raspberry Pi Pico — быстрый старт У Raspberry Pi Pico несколько функциональных ограничений, включая отсутствие модуля беспроводной связи. Но, в целом, это отличная плата для реализации самых разных проектов. Одно из ее достоинств — простота подключения дисплея. Она позволяет работать с Pico Display или Pico...

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

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

Книга «Head First. Изучаем Go» Привет. Хаброжители! Go упрощает построение простых, надежных и эффективных программ. А эта книга сделает его доступным для обычных программистов. Основная задача Go — эффективная работа с сетевыми коммуникациями и многопроцессорной обработкой, но код на этом языке пишется ...

Юлия → Iuliia. Всё о транслитерации Транслитерация — это запись кириллических слов латиницей (Анна → Anna, Самара → Samara). Её используют в загранпаспортах, водительских удостоверениях, трансграничной доставке, библиотечных каталогах и множестве других международных процессов. Так вышло, что я недавно окунул...

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

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

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

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

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

Работа не волк, часть 4. Опытный сотрудник: как не перегореть и не сдаться Итак, первый год работы прошёл, и вы стали дедом матёрым волком, который растёт вместе с компанией, сечёт в бизнес-процессах и довольно борзо спорит с руководством. Кажется, что может случиться? Но чем больше срок работы на одном месте, тем больше моральных и профессиональны...

[recovery mode] CRUD операции с Entities в DialogFlow (C#) Вступление Совсем недавно я начал работу над новым проектом, который включал в себя работу с уже достаточно известным сервисом (AI) от Google — DialogFlow. Суть заключалась в том, что у нас был бот (Telegram) который работал с API нескольких сайтов, а сам же DialogFlow помог...

Трюки для обработки метрик в Kapacitor Скорее всего, сегодня уже ни у кого не возникает вопрос, зачем нужно собирать метрики сервисов. Следующий логичный шаг – настроить алертинг на собираемые метрики, который будет оповещать о любых отклонениях в данных в удобные вам каналы (почту, Slack, Telegram). В сервисе он...

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

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

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

Разработка в Wargaming – встреча с Максимом Барышниковым, Head of Platform (ч.I) Все побежали, и я побежал. Недавно я запустил серию онлайн-митапов, куда приглашаю на дискуссию экспертов в области разработки крупных IT-проектов. Нашим первым гостем был Максим Барышников, Head of Platform из Wargaming. Ниже – расшифровка нашего разговора, вернее, её перва...

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

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

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

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

[Перевод] Использование современных графических форматов в веб-проектах Эдди Османи, в статье «Цена JavaScript в 2018 году», озвучил одну ценную мысль: время, необходимое на обработку скрипта размером 200 Кб, и на обработку изображения, имеющего такой же размер, серьёзно различается. Дело в том, что при обработке кода браузеру нужно проделать бо...

Опыт работы с карт-принтерами, часть 1 Данная статья будет полезна тем, кто начинает работу с карт-принтерами(Evolis Primacy и Smart-51) и кодировкой NFC карт типа Mifare Classic и Mifare DESFire EV2. В первой части мы опишем общее впечатление от работы с карт-принтерами, а также проблемы с которыми нам пришлось ...

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

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

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

Красивый концепт WordPad в Windows 10 В настоящее время происходит обновление Windows 10 с применением Fluent Design, а это означает, что приложения постепенно получают новый визуальный стиль. Тем не менее, одно из приложений, не получающих обновлений, является WordPad, который по-прежнему остается одним из самы...

Visiology: мониторинг ситуации по COVID-19 в Нижегородской области В Нижегородской области создан высокотехнологичный «Центр управления регионом». В Нижегородской области создан высокотехнологичный «Центр управления регионом» (ЦУР), в пилотном режиме проект начал работу 2 апреля. Российская аналитическая платформа Vis...

Проблемы с Проводником в Windows 10 после обновлений После недавних накопительных обновлений для Windows 10 версии 1909, ситуация не стала намного лучше. Пользователи по-прежнему сообщают о проблемах с панелью поиска Windows 10 в Проводнике (Windows Explorer), и, похоже, ошибка широко распространена.Windows 10 версии 1909 вклю...

[Перевод] Использование переменных Grafana для большей интерактивности дашбордов Flowers and butterflies by marijeberting С помощью визуализации данных проще понять и осмыслить собранную информацию, использовать ее на практике. При этом работа с дашбордами должна быть простой для нетехнических пользователей — хорошо, если они смогут получать нужные дан...

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

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

Евгений Варавва, разработчик в Google. Как описать Google в 5 словах Можно ли описать Goggle в нескольких словах? Компанию, в которой сотни подразделений, порой настолько экспериментальных, что вплотную приближаются к научной фантастике. Компанию, в которой работают сотни тысяч человек по всему миру. Наверное, Google — для каждого своей. Для...

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

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

“Что делать, когда кардинальные изменения в процессах демотивируют команду”. Опыт бэкенд-инженера, ставшего тимлидом Я 7 лет работал бэкенд-инженером в Miro, затем стал тимлидом. За последние годы наша инженерная команда выросла вдвое, стала распределённой и международной, что повлекло за собой множество изменений. Одним из них стало введение кросс-функц...

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

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

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

[Перевод] 6 уроков, извлечённых из опыта оптимизации производительности Node.js-сервиса В компании Klarna прилагают большие усилия к тому, чтобы помочь разработчикам в создании высококачественных и безопасных сервисов. Один из инструментов, который предназначен для разработчиков, представляет собой платформу для выполнения A/B-тестов. Важнейшим компонентом этой...

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

Как активировать уже сейчас Windows 10 21H1 Build 19043 Мы сообщали, что Microsoft начала подготовку к запуску Windows 10 21H1 (19043) с патчем KB4598291. В пакете обновления уже все уже для этого есть. Все, что вам нужно, это установленное накопительное обновление KB459829 и Командная строка (администратор). Здесь вам нужно всег...

Несовместимо с устройством: как устанавливать на Android несовместимые приложения? Если вы хотите скачать из Google Play новую крутую игру или опробовать популярный стриминговый сервис, но вдруг оказывается, что выбранное приложение несовместимо с вашим устройством или не поддерживается в вашей стране – да, это разочарование. Но не спешите с выводами и не ...

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

Первые шаги в BI-аналитике. Роль Data Engineering Добрый день, уважаемые читатели! Материал носит теоретический характер и адресован исключительно начинающим аналитикам, которые впервые столкнулись с BI-аналитикой.Что традиционно понимается под этим понятием? Если говорить простым языком, то это комплексная система (как и, ...

[Перевод] Тысячи забытых TODO в коде Kubernetes Фото Yancy Min на Unsplash Kubernetes — большой проект. Не только потому, что очень востребован, но и с точки зрения исходного кода. На момент написания этой статьи насчитывалось более 86 000 коммитов, более 2000 участников, более 2000 открытых тикетов, более 1000 открыты...

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

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

Интеграция в стиле BPM Привет, Хабр! Наша компания специализируется на разработке программных решений класса ERP, в составе которых львиную долю занимают транзакционные системы с огромным объемом бизнес-логики и документооборотом а-ля СЭД. Современные версии наших продуктов базируются на техноло...

Пользователи Mac с чипом M1 жалуются на быстрый износ SSD. В чём дело? Компьютеры Mac на M1 получились очень мощными и производительными (не говоря уже о времени автономной работы), но, как и в случае с любым новым устройством, без «болячек» здесь не обошлось. И если большинство проблем Apple уже исправила с помощью обновлений macOS, то с ново...

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

Втискиваем Windows Server на маломощную VPS-ку с помощью Windows Server Core По причине прожорливости Windows-систем в среде VPS доминируют легкие Linux-дистрибутивы: Mint, Colibri OS, Debian или Ubuntu, лишенные ненужного, в рамках наших задач, тяжеловесного окружения рабочего стола. Как говорится, только консоль, только хардкор! И на самом деле, ...

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

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

Гидродинамическое моделирование (CFD) на рельефе с помощью MantaFlow и визуализация результатов в ParaView Дисциплина Computational fluid dynamics(CFD) или, на русском языке, Вычислительная гидродинамика изучает поведение различных потоков, в том числе вихревых. Это и моделирование цунами, и лавовых потоков, и выбрасываемых из жерла вулкана камней вместе с лавой и газами и многое...

[Из песочницы] Генератор музыки. Web Audio API. Опыт новичка Контекст и предыстория Мне 62. Года три назад решил попробовать написать достаточно сложную систему, до этого было только 20 строк на бэйсике в 1981 г., когда нам на 5 курсе радио-факультета (НГТУ, ранее НЭТИ) воткнули 3 месяца информатики. Профессионалом принято считать тог...

Создание сайта – от А до Я Создание сайта— это длительный процесс, который требует последовательности действий и проработки всех этапов. Чтобы клиент получил функциональный сайт или магазин, нужно ответить на несколько вопросов: Какие задачи у сайт? На каких посетителей он рассчитан? Как он будет раб...

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

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

Гореть, но не сгорать – гореть, чтобы светить Привет, хабровчане. В преддверии старта курса «Team Lead 2.0», хотим поговорить о профессиональном выгорании. О профессиональном выгорании хотя бы краем уха слышал каждый второй, но по-настоящему понять, что это такое необходимо, чтобы сохранить самое важное, что у нас ес...

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

Радости и горести побед над C: делаем конфетку из прототипа wc на хаскеле Привет, Хабр. Итак, в прошлый раз мы эмпирически доказали, что на хаскеле можно довольно легко написать этакий игрушечный wc, который при этом существенно быстрее реализации wc из GNU Coreutils. Понятное дело, что это не совсем честное сравнение: наша программа не умеет ниче...

Что интересного в Notion придумало сообщество vc.ru Сервис отменил ограничения на количество строк в бесплатном тарифе, раньше нужно было платить $4 в месяц. Если давно хотели попробовать Notion — несколько материалов о том, что он умеет. ...

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

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

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

Странный баг Safari в iOS 13.4 и macOS 10.15.4 Странным образом Safari теперь не находит в интернете нужный контент, если поисковой запрос в адресной строке содержит знак плюса.

Hack The Box. Прохождение Control. SQL инъекция и LPE через права на службу Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. В данной статье проникаем в систему через SQL инъекцию, копаемся в истории командной строки и повышаем свои привилегии благодаря имеющимся правам на службу. Подключение к лаборатории ос...

Эффект Манделы – почему люди помнят то, чего не было? Южноафриканский политический деятель Нельсон Мандела умер на свободе в 2013 году. Некоторые люди убеждены, что помнят как южноафриканский лидер движения борцов за гражданские права Нельсон Мандела умер в тюрьме в 1985 году. Народ скорбел, его жена произнесла памятную надгроб...

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

STL, allocator, его разделяемая память и её особенности Разделяемая память — самый быстрый способ обмена данными между процессами. Но в отличие от потоковых механизмов (трубы, сокеты всех мастей, файловые очереди ...), здесь у программиста полная свобода действий, в результате пишут кто во что горазд. Так и автор однажды задал...

[Из песочницы] Умеем ли мы готовить Java, Kotlin RestController? Практически любой программист на java в своей жизни писал RestController, но мало кто задумывается правильно ли он это делает. Даже если вы опытный программист, у вас могут возникнуть вопросы на которые я постараюсь ответить. В статье будут затронуты такие фреймворки как spr...

Hack The Box. Прохождение Rope. PWN. Форматные строки и ROP используя pwntools Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. В данной статье собираем много много pwn, которые будем решать средствами pwntools. Думаю будет полезно читателям с любым уровнем осведомленности в данной теме. Поехали… Подключение к л...

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

Библиотеки для декодирования видео. Сравнение на Python и Rust Многие задаются вопросом — насколько медленный Python в операциях декодирования? Правда ли, что компилируемые языки дают прирост скорости во всем, чего касаются? Что быстрее: OpenCV или ничего? Ответы на эти и другие бесполезные вопросы под катом вы прочитать не сможете. Там...

Navicon поможет удаленными сотрудникам адаптироваться к сложным бизнес-приложениям Digital Adoption Platform WalkMe - это решение, которое создает эффективную среду взаимодействия между сотрудниками и бизнес-приложениями предприятия. Востребованность решения стремительно возросла в феврале-марте текущего года, когда многие организации оказались вынуждены п...

[Перевод] Заметки о Unix: надёжная работа с API C-библиотеки Unix возможна только из программ, написанных на C Для того чтобы полностью реализовать требования системы верификации источника системных вызовов, разработчики OpenBSD хотят, чтобы Go выполнял бы системные вызовы через C-библиотеку, а не напрямую, из собственной среды выполнения (а у Go есть некоторые причины поступать имен...

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

10 плагинов WooCommerce для Интернет-Магазина на WordPress Если у вас есть веб-сайт, разработанный с помощью WordPress, вы можете довольно просто и быстро запустить магазин с помощью плагина WooCommerce. Несмотря на то, что плагины WooCommerce предлагают множество преимуществ для веб-сайтов на WordPress, для внесения изменений и ул...

Хочу middleware, но не хочу ExpressJS Middleware в случае с HTTP-сервером в Node.JS — это промежуточный код, который выполняется до того, как начнёт выполняться ваш основной код. Это, чаще всего, нужно для того, чтобы сделать какой-то дополнительный тюнинг или проверку входящего запроса. Например, чтобы преврати...

[Перевод] Продуманные запросы: стратегии кэширования в век PWA Давным-давно мы, в деле кэширования, всецело полагались на браузеры. Разработчики в те дни почти никак не могли на это повлиять. Но потом появились прогрессивные веб-приложения (Progressive Web App, PWA), сервис-воркеры, API Cache. Внезапно случилось так, что в руках програм...

Валидация ассетов в Unity3D Начнём с того, что я обожаю сериализацию в Unity. Она надёжна и очень проста в использовании. Я просто расширяю MonoBehaviour, ScriptableObject и подобные классы и настраиваю сериализуемые поля экземпляров в инспекторе. Но у неё есть и слабости. Одна из них ― человеческий...

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

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

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

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

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

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

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

[Из песочницы] Как завести pet project и не получить выгоды TL;DRСтатья описывает использование pet project как способ поддержания и улучшения навыков. Автор создал PHP библиотеку для установки ФИАС из XML файлов. Цель Я редко меняю места работы, поэтому, учитывая естественное стремление каждой организации к фиксированным процессам,...

Задачи по JavaScript от Microsoft Доброго времени суток, друзья! Представляю вашему вниманию три задания по JS, предложенные участникам Microsoft’s Online Assessment 2019. Microsoft’s Online Assessment — предварительный отбор кандидатов в разработчики. Тех, кто прошел предварительный отбор, приглашают на...

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

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

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

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

iOS 13 объединяет все iPhone в один суперкомпьютер. Зачем это нужно Apple объединила все свои устройства в один суперкомпьютер и обучает таким образом Siri Несмотря на то что долгое время Apple считалась компанией одного человека, которым был Стив Джобс, на деле в создании продуктов, конечно, участвовал не только он, но и большое количество ...

Как перенести файлы с одного облака на другое минуя свой ПК Смерть, развод, переезд — три наиболее стрессовых ситуаций в жизни любого человека. «Американская история ужасов». — Андрюх, я из дома ухожу, помоги с переездом, ко мне всё не влезет:( — Хорошо, а много там? — Тонн* 7-8… *Тонна (жарг.) — Терабайт. Недавно, в процессе ...

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

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

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

Может ли быть слишком много прозрачности в работе Agile-команд? Прозрачность часто называют одним из трёх столпов Agile, наряду со способностью к проверке и адаптации. Но может ли команде быть нанесён вред от излишней прозрачности? Майк Кон (Mike Kohn), один из соавторов и основателей Scrum и Scrum Alliance, считает, что это возможно, и ...

Нетехническая статья про технические статьи Мне часто говорят – эй, где технические статьи? Чё ты всякую чушь пишешь, про менеджеров, директоров, отношения с персоналом, корпоративные дрязги, ноешь про бессмысленность нашей работы и вообще. Мы хотим технические статьи! Я, если честно, плохо понимаю, что такое «технич...

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

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

[Перевод] Безопасная работа с секретами при сборке в Docker Compose Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Когда вы собираете Docker-образ вам могут понадобиться секреты, например, пароль к приватному репозиторию пакетов. Вы не хотите, чтобы этот секрет в конечном итоге оказался в образе, потому ...

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

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

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

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

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

Похмелье 8 марта: ещё одна статья на Хабре о женщинах в ИТ «Если, по-вашему, женщина может быть кузнецом, то почему бы мужчине не быть педикюршей? Она кует, он пилит, прекрасная пара!» К/ф «Берегите женщин» Я читаю Хабр года так с 2009-го. Последние несколько лет накануне 8 марта случается вал публикаций, спецпроектов, мегапостов и...

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

Лучший бюджетный монитор. AOC 24V2Q 23.8 Samsung C24F390FHI 23.5 Начнем статью с достаточно простого, но качественного монитора Samsung C24F390FHI 23.5, который обладает всеми необходимыми для нас параметрами и характеристиками. Диагональ монитора, как вы уже догадались из названия, составляет 23,5 дюйма, чего ...

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

UiPath Action Center: удобное взаимодействие роботов и людей В одном из последних исследований Deloitte сообщается, что 32% всех руководителей самым серьезным препятствием при масштабировании автоматизации считают разрозненность и фрагментарность бизнес-процессов. Новый продукт компании UiPath — Action Center помогает собрать всё во...

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

Владимир Путин поручил создать цифровую платформу «Национальный словарный фонд» Такое поручение утверждено президентом РФ по итогам заседания Совета по русскому языку, состоявшегося 5 ноября 2019 года.Доклад должен быть представлен до 1 сентября 2020 года, далее - один раз в полгода, говорится в документе.Напомним, что о создании "Национального сло...

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

Названы главные киберугрозы 2020 года Компания Avast представила ежегодный доклад Threat Landscape Report с прогнозами в области кибербезопасности на 2020 год.Какие тенденции можно выделить?Во-первых, злоумышленники будут искать новые методы распространения угроз. Глава направления по исследованию угроз компании...

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

The state of soft skills Так сложилось, что софт-скиллы довольно сильно помогли мне в карьере. Например, спустя всего 9 месяцев работы в Rambler, куда я приходил простым frontend-разработчиком, мне предложили стать руководителем группы, потому что мой руководитель увидел во мне потенциал и достаточн...

10 фактов о кубике Рубика 1. Кубик Рубика изобрел венгерский скульптор и преподаватель архитектуры Эрнё Рубик. Последние годы автор головоломки занимается разработкой видеоигр. 2. Эрнё Рубик потратил целый месяц, когда сам впервые пытался собрать кубик Рубика. 3. Кубик Рубика имеет 6 граней, 12 рёбер...

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

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

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

Обновление Windows 10 KB4532693 теперь вызывает сбои загрузки Windows 10 KB4532693, представляющая собой исправление безопасности, по-видимому, стала серьезным источником горя для тысяч пользователей. По некоторым сведениям, это обновление удаляет файлы, в то время как другие сообщают, что Microsoft переместила все данные рабочего стол...

Как в компании развивался Python. Доклад Яндекса 13 лет назад начался эксперимент по использованию Python в больших сервисах Яндекса. Эксперимент получился удачным (кто бы сомневался!) и Python начал свое победное поползновение по сервисам компании. Яндекс.Афиша, Яндекс.Погода — через некоторое время сервисов стало очень м...

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

Как мы разрабатывали кроссплатформенную BPMS Всем привет! В НОРБИТ мы занимаемся SRM-решениями. Сегодня расскажем про особенный для нашей команды проект — разработку BPMS-платформы NBT. Мы не просто создали бизнес-решение для заказчика, а разработали собственный продукт с нуля, — всё это подразумевает совершенно друго...

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

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

MediaTek «накручивает» цифры в синтетических тестах ... В условиях жесткой конкуренции производителям приходится идти на разные уловки, чтобы показать свою продукцию в более выгодном свете. Один из опробованных методов манипуляции —накрутить результаты бенчмарков. За этим занятием ранее ловили Samsung, Huawei и OnePlus. Вид...

[Перевод] Ультраконденсатор NASA стал… измерителем влажности C технологиями многое может пойти (и идет) не так, как хотелось бы. Доктор Терри Ролин, аналитик сбоев электронных систем в Центре космических полетов Маршалла, знает об этом не понаслышке. Его работа заключается в том, чтобы находить решения проблем, а если он не может ...

Производительность Lakefield не впечатляет: 5-ядерный Intel Core i5-L16G7 протестирован в UserBenchmark В прошлом году компания Intel анонсировала 10-нм процессоры Lakefield с пониженным энергопотреблением, предназначенные для планшетов и тонких ноутбуков. И теперь появились новые данные о производительности данных чипов — один из них был протестирован в UserBenchmark. Для нач...

[Перевод] Распределенные блокировки с применением Redis Привет, Хабр! Сегодня мы предлагаем вашему вниманию перевод сложной статьи о реализации распределенных блокировок средствами Redis и предлагаем поговорить о перспективности Redis как темы. Анализ рассматриваемого алгоритма Redlock от Мартина Клеппмана, автора книги "Вы...

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

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

Проблема космического мусора может быть решена в ближайшее время Так должен выглядеть аппарат ESA ClearSpace-1 на орбите нашей планеты Загрязнение окружающей среды является одной из наиболее острых проблем современности. Мы неизменно оставляем после себя беспорядок, куда бы не направились. К сожалению, это касается не только поверхности н...

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

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

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

Магия виртуализации: вводный курс в Proxmox VE Сегодня речь пойдет о том, как быстро и достаточно просто на одном физическом сервере развернуть несколько виртуальных серверов с разными операционными системами. Любому системному администратору это позволит централизованно управлять всей IT-инфраструктурой компании и экон...

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

Ошибка autotune failed temperature too high при настройки PID, переназначение портов в MARLIN для термистора. Народ, привет. Гуру 3д принтеров и знатоки прошивки Marlin, могут пропустить.Собственно это скорее заметка для себя, чтобы не забыть и заметка для тех кто не знает что с этим делать и "куда бежать". Так как сам эту инфу нашёл в глубинах форума одного из сайтов по 3д печати з...

[Из песочницы] Очереди сообщений в PostgreSQL с использованием PgQ Очереди сообщений используются для выполнения: отложенных операций, взаимодействия сервисов между собой, «batch processing» и т.д. Для организации подобных очередей существуют специализированные решения, такие как: RabbitMQ, ActiveMQ, ZeroMQ и тд, но часто бывает, что в ни...

SSH, PGP, TOTP в Yubikey 5 Это аппаратный ключ безопасности, который поддерживает протокол универсальной двухфакторной аутентификации, одноразовые пароли и асимметричное шифрование. Если вы добавите его, допустим, в аккаунт на Гитхабе, то для входа в свой аккаунт, понадобится ввести логин/пароль и кос...

Как я искал пацанский движок для блога Я много пишу в интернетах и мне захотелось завести свой личный стэндалон блог, куда можно писать мелкие заметки и статьи, не подходящие для других площадок. Главная проблема личного блога — мне лень оформлять посты. Чтобы черкануть пару строк в каком-нибудь Wordpress, нужн...

Укрощение строптивого или тонкая настройка энкодера в Marlin    Привет всем 3D печатникам и не только!   Сегодня я хочу поведать вам о настройке энкодера в прошивке Marlin. Точнее о настройке ускорений изменения значений при увеличении скорости вращения ручки энкодера. Дело в том, что во всех инструкциях по настройке прошивки Marlin п...

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

Wulfric Ransomware – шифровальщик, которого нет Порой так хочется заглянуть какому-нибудь вирусописателю в глаза и спросить: зачем и почему? С ответом на вопрос «как» мы справимся сами, а вот узнать, чем думал руководствовался тот или иной создатель вредоносного ПО, было бы очень интересно. Тем более, когда нам попадаются...

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

Выпуск обновленного электромобиля Chevrolet Bolt отложен до 2021 года Компания General Motors планировала в этом году выпустить обновленный электромобиль Chevrolet Bolt, но по сообщению источника, ссылающегося на письмо, полученное от пресс-секретаря компании, выпуск обновленного электромобиля Chevrolet Bolt отложен до 2021 года. «...

[Перевод] Аппаратный взлом жёсткого диска Жёсткие диски: если вы читаете эту статью, то с большой вероятностью у вас есть одно или несколько таких устройств. Они довольно просты и, по сути, представляют собой набор 512-байтных секторов, пронумерованных возрастающими адресами, также называемыми LBA (Logical Block Ad...

Как выглядит рабочий стол моего смартфона? Не так давно я перешел с iPhone на Xiaomi Mi 9 Lite. И, конечно, после iOS мне было достаточно сложно привыкнуть к рекламе в операционной системе, большому количеству ненужного контента, а также к недостаточно приятному внешнему виду. В iOS у вас не возникает вопросов относ...

Как поделиться геолокацией в Google Maps без адреса Наверное, все умеют делиться геопозицией. Этот навык может пригодиться в самых разных жизненных ситуациях – от поиска нужного заведения до отслеживания передвижения близкого человека, которого нужно проконтролировать, например, при поездке на такси посреди ночи. Другое дело...

Лучший микрофон 2019 года. Razer Razer Seiren X Trust GXT 232 Mantis Самым доступным микрофоном, который мы можем посоветовать для покупки, является модель Trust GXT 232 Mantis. Это достаточно доступный вариант, который при должной настройке выдаст отличное качество звука. Например, если вы делаете ролики для YouTube ...

Опасно ли держать открытым RDP в Интернете? Нередко я читал мнение, что держать RDP (Remote Desktop Protocol) порт открытым в Интернет — это весьма небезопасно, и делать так не надо. А надо доступ к RDP давать или через VPN, или только с определённых "белых" IP адресов. Я администрирую несколько Windows Serv...

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

PostgreSQL. Добавляем not null constraints в большие таблицы Проекты развиваются, клиентская база увеличивается, базы данных разрастаются, и наступает момент, когда мы начинаем замечать, что некогда простые манипуляции над базами данных требуют более сложных действий, а цена ошибки сильно повышается. Уже нельзя за раз промигрировать...

[Перевод] Портирование API на TypeScript как способ решения проблем React-фронтенд Execute Program перевели с JavaScript на TypeScript. А бэкенд, написанный на Ruby, трогать не стали. Однако проблемы, связанные с этим бэкендом, заставили разработчиков проекта задуматься о переходе с Ruby на TypeScript. Перевод материала, который мы сегодня п...

Библиотека ttf2mesh — преобразование TrueType шрифтов в сетку Многим известна проблема трёхмерной графики — отсутствие легковесных кроссплатформенных решений в вопросе вывода текста. Большинство реализаций позволяет использовать выбранный шрифт в виде текстуры. Публикуемая библиотека ttf2mesh реализует другой способ — она преобразует в...

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

[Перевод] Sol Levante: как делали аниме в 4K и HDR для сервиса Netflix Некоторые люди отмахиваются от аниме, считая произведения в этом стиле простыми мультиками, однако разнообразные и витиеватые истории аниме, живой стиль и изысканная рисовка – это форма искусства, которая за последние пятьдесят лет развивалась и росла, умножая популярность...

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

[Из песочницы] Кому на Руси жить хорошо? Как мы искали самый “зеленый” город с помощью OpenStreetMap и Overpass API У каждой карты есть легенда: именно она говорит читателю о том, что и каким образом на ней обозначено. Домам соответствуют многоугольники серого цвета, дорогам — отрезки и кривые, территории парков и скверов заливаются светло-зеленым и украшаются пиктограммой дерева. А к нек...

Microsoft Edge может получить Fluent Design После примерно одного года бета-тестирования Microsoft выпустила браузер Edge на базе Chromium для Windows 10, 7 и macOS. Chromium Edge, который работает на том же веб-движке, что и Chrome, обладает собственными эксклюзивными функциями, а также функциями, доступными в браузе...

Может ли ФБР взломать iPhone без помощи Apple? Не совсем ФБР не могут взломать iPhone без Apple, и это правда Вы заметили, что Apple постоянно кому-то противостоит? Как правило, это в основном защита от нападок со стороны, но факт остаётся фактом. То Spotify закатит истерику из-за того, что Apple, видите ли, взимает комиссию за тр...

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

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

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

Максут Шадаев рассказал о приоритетах работы Минкомсвязи и региональных органов власти 1. Подключение социально значимых объектов (СЗО) к Интернету.Подключение СЗО осуществляется в ходе исполнения федерального проекта "Информационная инфраструктура" национальной программы "Цифровая экономика Российской Федерации".Напомним, к СЗО относятся ш...

Softline помогает компании «Спортмастер» с помощью AI Компания Softline успешно реализовала проект, который призван помочь международной сети спортивных магазинов “Спортмастер” значительно ускорить работу моделей искусственного интеллекта. Благодаря внедрению программно-аппаратных комплексов NVIDIA DGX-2, предназначенных...

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

[Перевод] Малоизвестные, но популярные JS-фреймворки для фронтенда Не так давно мы, создавая динамические веб-приложения, использовали для работы с DOM чистый JavaScript или jQuery. С тех пор появилось много замечательных JavaScript-фреймворков и библиотек. Они помогают разрабатывать проекты, которые, по привлекательности и удобству, превос...

Tele2 внедрила с помощью "Крок" систему управления знаниями Как сообщил ComNews представитель "Крок", в данный момент в KMS Lighthouse заведено более 13 тысяч статей. Базой знаний уже пользуется три тысячи операторов и аналитиков контактного центра, а также восемь тысяч сотрудников салонов связи оператора. Ежедневно сотрудники Tele2 ...

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

Автотесты на Android. Картина целиком Всем привет! Автотесты под Android — это непросто. Чтобы выстроить процесс автотестирования, надо запланировать и решить множество задач. Но самая большая беда заключается в том, что нигде нет полного описания, что вообще включает в себя автотестирование под Android, каковы...

Xbox Series X обзаведется большим объемом ОЗУ Информации о консолях нового поколения с каждым днем все больше и больше, при чем рассказывают о своих продуктах разработчики, а не инсайдеры. Видимо, таким образом производитель планирует привлекать внимание пользователей к своему продукту еще до официального релиза. К прим...

Анатомическая шарнирная кукла. Масштаб 1:6 Годам к 14 каждый из нас принял относительно сознательное решение – «буду врачом» или «Пойду на физтех, буду инженером». Было такое? Пошли, отучились, выпустились, получив диплом. Кто-то пошел работать по специальности, повезло, кто-то занялся тем, что предлагалось на рынке ...

Хакатон на 200 человек — что нужно для организации Знаете, почему проекты в крупных компаниях делаются по полгода? Потому что один из самых медленных процессов — это общение с заказчиком для выявления деталей его потребностей. Простое уточнение ТЗ (на гвозди или на клей надо крепить) может занимать до трёх месяцев. Я сейча...

Хабр Конвертер: чтобы версталось легко Наверняка многие из вас хотя бы однажды пользовались хабраконвертером, который официально рекомендован администрацией Хабра — https://shirixae.github.io/habraconverter-v2/. Несколько лет назад его создал хабравчанин meta4, а потом доработал Shirixae. Принцип простой: открыва...

«Китайцы» набрались уверенности? Увеличена гарантия против сквозной коррозии для автомобилей Haval Доказательство того, что китайские автомобили «гниют» не быстрее конкурентов. Продажи Haval в 2019 году увеличились почти в 4 раза по сравнению с прошлым годом, что делает его 2-м быстрорастущим брендом в России после еще одной китайской марки — Changan. Но бренд на этом не...

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

Можно ли запускать игры на Mac Pro Подходит ли Mac Pro для игр? Ну, при определённых условиях — вполне Когда Apple объявила, что объём оперативной памяти нового Mac Pro можно будет расширить до 1,5 ТБ, даже у нас в редакции возник спор на тему того, кому и, самое главное, зачем вообще может быть нужна ...

Что означает оранжевая и зеленая точка на экране iPhone в iOS 14 iOS 14 включает в себя несколько основных новых функций и множество мелких изменений, а также визуальных обновлений. Те, кто уже успели установить новую версию мобильной операционной системы Apple, наверняка заметили новые индикаторы в правой части строки состояния (рядом с...

[Из песочницы] ConfigureAwait: часто задаваемые вопросы Привет, Хабр! Представляю вашему вниманию перевод статьи «ConfigureAwait FAQ» автора Стивен Тауб. Async/await добавили в .NET более семи лет назад. Это решение оказало существенное влияние не только на экосистему .NET — оно также находит отражение во многих других языках...

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

[Из песочницы] Нужно ли нам озеро данных? А что делать с хранилищем данных? Это статья перевод моей статьи на medium — Getting Started with Data Lake, которая оказалась довольно популярной, наверное из-за своей простоты. Поэтому я решил написать ее на русском языке и немного дополнить, чтобы простому человеку, который не является специалистом по раб...

Как пользоваться Гугл фото на Android «Google Фото», как это обычно бывает у Google, — очень сложный сервис. Но не для понимания – с логикой интерфейса как раз никаких проблем нет, — а с точки зрения функциональных возможностей. Задумывавшийся изначально как хранилище фотографий и видеозаписей в обл...

Notion отменил ограничения на количество строк в бесплатном тарифе Раньше для создания неограниченного количество заметок нужно было оформить подписку от $4 в месяц.

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

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