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

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

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

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

Обзор работы «Learnability Can Be Undecidable» Эта статья является моим вольным пересказом работы Learnability can be undecidable, Shai Ben-David, et al. Недавно на Хабре вышла статья Машинное обучение столкнулось с нерешенной математической проблемой, которая является переводом одноименного обзора в Nature News статьи Ш...

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

Ляпы и загогулины. 2 Продолжаю тему ляпов и загогулин, начатую в статье “Ляпы учебников и курьезы учебы”. Напоминаю определения: Ляп – явная или завуалированная ошибка, не носящая, впрочем, фундаментального характера, так что помучившись можно её исправить. Загогулина – фраза, тема, изложенна...

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

Что не так с Хабром Ловлю себя на мысли, что все меньше и меньше читаю Хабр специально, теперь чаще просто из поиска попадаю или в рекомендациях выскакивает. Начал думать — почему? Ведь раньше были и подписки и прочее. Пришел к такому выводу: Очень длинные статьи, при этом часто очень замудр...

[Перевод] Современные архитектуры фронт-энда В статье "Contemporary Front-end Architectures" рассмотрены архитектуры фронт-энда с точки зрения потоков данных в исторической ретроспективе. Материал состоит из трех частей Теория и история Реализация Перспективы Читать дальше →

[Перевод] Расширяемые расширения в JavaScript Привет, Хабр! Обращаем ваше внимание на долгожданную допечатку книги "Выразительный JavaScript", которая только-только пришла из типографии. Тем, кто еще не знаком с творчеством автора книги (при всей энциклопедичности она понравится и начинающим разработчикам) ...

Изучаем VoIP-движок Mediastreamer2. Часть 2 Материал статьи взят с моего дзен-канала. Создаем тональный генератор В предыдущей статье мы выполнили установку библиотеки медиастримера, инструментов разработки и проверили их функционирование, собрав пробное приложение. Сегодня мы создадим приложение, которое сможет пропи...

Мониторинг БД Oracle с помощью OEM Привет! Меня зовут Александра, я работаю в команде тестирования производительности. В этой статье расскажу базовые сведения об OEM от Oracle. Статья будет полезна для тех, кто только знакомится с платформой, но и не только для них. Основная цель статьи — помочь провести бы...

Apache Kafka: основы технологии У Kafka есть множество способов применения, и у каждого способа есть свои особенности. В этой статье разберём, чем Kafka отличается от популярных систем обмена сообщениями; рассмотрим, как Kafka хранит данные и обеспечивает гарантию сохранности; поймём, как записываются и ч...

[Перевод] Концепции, лежащие в основе Web Audio API Доброго времени суток, друзья! В этой статье объясняются некоторые концепции из теории музыки, на основе которых работает Web Audio API (WAA). Зная эти концепции, вы сможете принимать взвешенные решения при проектировании аудио в приложении. Статья не сделает вас опытным ...

Как забраться на дерево Точнее, как с него спуститься. Но обо всем по порядку. Эта статья немного выбьется из привычного формата статей от PVS-Studio. Мы часто пишем о проверке других проектов, но почти никогда не приоткрываем дверь нашей внутренней кухни. Пришло время это исправить и рассказать о...

Распространение сферического коня в вакууме по территории РФ Привет от ODS. Мы откликнулись на идею tutu.ru поработать с их датасетом пассажиропотока РФ. И если в посте Milfgard огромная таблица выводов и научпоп, то мы хотим рассказать что под капотом. Что, опять очередной пост про COVID-19? Да, но нет. Нам это было интересно именно...

Svelte: знакомимся с Действиями Недавно на Хабре появилась статья от @sanReal, где Александр рассказал о том, каким приёмам и каким возможностям Svelte он научился на собственном опыте. Я был немного удивлён не увидев в его списке упоминания одного из самых мощных инструментов фреймворка — Действий. К тому...

LyX: Общие замечания. Часть 1 Скопировано с моего блога в целях создания еще одного русскоязычного источника информации по данной теме. Эта статья является продолжением следующих статей одного цикла: статья 1 статья 2 статья 3 статья 4 статья 5 Фух, даже не знаю, как писать этот пост. Я мог бы начать ...

Как с помощью хакатона столкнуть математиков и ML–щиков, и кто тогда победит Введение Эта статья о том, как мы совместно с роснефтёвой «дочкой» «Самаранефтехимпроект» и Казанским Федеральным Университетом в сентябре 2020 года провели «Хакатон трёх городов», на котором предложили студентам решить классическую задачу сейсмической корреляции отражающих ...

Объединяем закрытый WhatsApp и открытый SIP – Часть 1 Предыдущая статья «Как избежать блокировки в WhatsApp», хотя и получила много минусов, но тем не менее в течении 2 суток была самой читаемой статьей на Хабре – набрала более 20 тыс просмотров. Поэтому я решил что нужно продолжать с хакингом монстров рассказывать о различны...

1000 и 1 пост: с Днём рождения, Хабр ❤ 26 мая — День рождения Хабра. А ещё вышла наша 1000-ая публикация, которой могло бы не быть, если бы Хабр не был тем, который он есть. В этой статье мы расскажем о нашем пути и о наших выводах, которые удалось сделать за 4 года ведения блога. Но это ниже, под катом. А здесь ...

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

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

Python (+numba) быстрее си — серьёзно?! Часть 1. Теория Давно собирался написать статью о numba и о сравнении её быстродействия с си. Статья про хаскелл «Быстрее, чем C++; медленнее, чем PHP» подтолкнула к действию. В комментариях к этой статье упомянули о библиотеке numba и о том, что она магическим образом может приблизить скор...

[Перевод] Введение в gRPC на Rust В статье будет показано как создать gRPC сервер и клиент на Rust. Для большей наглядности клиент будет также Telegram ботом. В итоге будет получена следующая архитектура: Статья является не всеобъемлющим руководством по gRPC в Rust, а скорее практическим гайдом, демонстриру...

Создание отказоустойчивой ИТ инфраструктуры. Часть 3. Организация маршрутизации на роутерах VyOS Основная цель статьи – показать процесс установки и настройки виртуальных маршрутизаторов VyOS на кластере oVirt, для организации связи на уровне L3 между внутренними и внешними сетями. Также в статье будут рассмотрены вопросы, связанные с особенностями настройки выхода в Ин...

Новые архитектуры нейросетей Новые архитектуры нейросетей Предыдущая статья «Нейросети. Куда это все движется» В этой статье кратко рассматриваются некоторые архитектуры нейросетей, в основном по задаче обнаружения объектов, чтобы найти (или хотя бы попытаться найти) будущие направления в этой быстро р...

3.Elastic stack: анализ security логов. Дашборды В прошлых статьях мы немного ознакомились со стеком elk и настройкой конфигурационного файла Logstash для парсера логов, в данной статье перейдем к самому важному с точки зрения аналитики, то что вы хотите увидеть от системы и ради чего все создавалось — это графики и табл...

Популярные ошибки в английском среди IT-специалистов. Часть 2: Произношение Моя статья «Популярные ошибки в английском среди IT-специалистов» собрала много комментариев с полезными дополнениями. И я решила выпустить вторую часть, теперь посвященную Произношению. Читать дальше →

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

Занимательный JavaScript: Почти линейное уравнение Что если взять замечательную математику (а именно линейные уравнения) и наш не менее замечательный JavaScript, а потом наложить одно на другое? То в условиях ограничений и специфики js-среды простая математическая задача может обернуться весьма любопытной и полной подводных ...

Перезагрузка текстур OpenGLESv2 через DMABUF В этой статье я хочу рассказать, как просто можно обновлять текстуры OpenGLES через DMABUF. Поискал по Хабру и к своему удивлению не обнаружил ни одной статьи на эту тему. В Хабр Q&A тоже ничего такого не нашел. И это для меня немного странно. Технология появилась довол...

Сказ о том, как я Home Assistant настраивал Home Assistant — это популярная система умного дома, которая автоматизирует привычные бытовые процессы и работает на YAML файлах. В этой статье я расскажу, как настроить Home Assistant (далее HA), и что конкретно я использую в повседневной жизни. Это поможет вам избежать ош...

Превращаем DSLogic U2Basic в DSLogic Plus Привет, Хабр! В данной статье расскажу как модифицировать DSLogic U2Basic до DSLogic Plus. Данная статья является обновлением статьи — Превращаем DSLogic Basic в DSLogic Plus Кому интересно — прошу под кат. Читать дальше →

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

Введение в язык запросов Cypher Язык запросов Cypher изначально разработан специально для графовой СУБД Neo4j. Целью Cypher является предоставить человеко-читаемый язык запросов к графовым базам данных похожий на SQL. На сегодня Cypher поддерживается несколькими графовыми СУБД. Для стандартизации Cypher бы...

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

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

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

Не плачь, девчонка! Ответ автору с vc.ru на письмо о Хабре Я давний участник Хабра — обычный читатель и корпоративный автор. Для меня Хабр — это хорошо знакомая, изученная, родная и не враждебная среда, поэтому каждый раз я удивлённо читаю доводы участников «кармасрачей» и обхожу их стороной, потому что писать комментарии на 5000 зн...

Covid-19: зачем мы сидим на карантине, и ответы на другие вопросы Привет Хабр. Изначально я не планировал публиковать здесь статью про коронавирус, аналитики на хабре уже более чем достаточно. Однако, читая разные местечковые форумы и соцсети, я с удивлением обнаружил сколько достаточно вредных мифов гуляет в сети, и что обычные люди, не ...

Запуск космических летательных аппаратов и… погода в регионах 30 лет назад статья с таким заголовком была опубликована в журнале «Изобретатель и рационализатор» №5 за 1990 год в разделе «гипотезы». Предположительно, автор статьи – Рыбников Сергей Игоревич, профессор Московского Авиационного Института, автор более 100 научных работ, в...

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

[Перевод] Теория вероятностей для физически точного рендеринга Введение В рендеринге часто используется вычисление многомерных определённых интегралов: например, для определения видимости пространственных источников освещения (area light), светимости, доходящей до области пикселя, светимости, поступающей за период времени и облучения, ...

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

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

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

Тёмная Вселенная. Часть 1 Доброго времени суток, уважаемое хабрасообщество! Как я и обещал после прошлой статьи по теории струн, сегодня мы попробуем приоткрыть завесу тайн и пробежаться по костылям новым веяниям в космологии — попробуем взглянуть на тернистый путь, который прошли ученые, и разобрать...

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

Изучаем VoIP-движок Mediastreamer2. Часть 4 Материал статьи взят с моего дзен-канала. Создаем измеритель уровня сигнала В прошлой статье мы внесли ясность в корректное завершение программ использующих медиастример. В этой статье мы соберем схему измерителя уровня сигнала и научимся читать результат измерения из фильтр...

Rust глазами Python-разработчика Привет! Мы – часть команды разработки «Рамблер/Медиа» (портал «Рамблер»). На протяжении трех лет мы поддерживаем и развиваем несколько больших python-приложений. Чуть больше года назад перед нами встала задача написать еще одно большое приложение – API к основному хранилищу...

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

Парсинг сайта кинотеатра на Golang Всем привет, в этой статье мы рассмотрим небольшой пример кода, написанный для сбора данных с сайта на популярном сегодня языке программирования Go. Эта статья будет особенно интересна тем, кто много слышал о Go, но пока еще не попробовал его самостоятельно. Для одного из...

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

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

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

Все ли вы знаете о useCallback Привет, Хабр!Начиная с версии ReactJS 16.8 в наш обиход вошли хуки.  Этот функционал вызвал много споров, и на это есть свои причины. В данной статье мы рассмотрим одно из самых популярных заблуждений использования хуков и заодно разберемся стоит ли писать компоненты на...

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

[Из песочницы] Создаем прогрессивный PWA интернет-магазин на Nuxt.js 2 пошаговое руководство Часть 1 Статья ориентированна на людей, которые уже имеют понимание работы Vue, на котором основан Nuxt, поэтому я буду заострять внимание только на специфических для Nuxt вещах. Но даже если вы не знакомы с ними, то статья даст общее представление как выглядит проект с PWA Nuxt. Вы...

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

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

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

[Перевод] Создаём 2,5D-игру жанра Dungeon Crawling в Unity В этой статье мы расскажем, как можно воссоздать старые игры жанра dungeon crawler в Unity. Eye of the Beholder (1991 год) и SMT If (1994 год) Базовый ассет «карты» для уровня нашего подземелья. Большинство dungeon crawler-ов 90-х, в том числе и наш — это листы спрайт...

[Перевод] Что такое Waypoint и какие возможности дает его использование Пару недель назад я посмотрела демонстрацию Waypoint— нового инструмента, который представила 15 октября 2020 года компания Hashicorp. Инструмента, который предназначен для создания легкого, интуитивного и настраиваемого под пользователя рабочего процесса сборки, развертыва...

[Из песочницы] Формат таблиц в pandas Если вы пока ещё не знаете как транслировать данные напрямую заказчику в подсознание или, на худой конец, текст сообщения в slack, вам пригодится информация о том, как сделать процесс интерпретации таблиц более быстрым и комфортным. Например, в excel для этого используется у...

Robot Framework для автоматизации тестирования: ограничения и плюшки В автоматизации тестирования я уже более 11 лет. Скажу сразу, что являюсь поклонником старомодного тестирования на Java и очень настороженно отношусь к различным готовым фреймворкам. Если вы придерживаетесь такого же мнения или только задумываетесь об использовании Robot Fra...

Unigine Engine — новый уникальный Пролог Не так давно я увидел showreel движка, который выглядит более чем конкурентно showreel В этой статье я максимально кратко расскажу об этом движке и косвенно сравню с прямыми конкурентами. зарегестрироваться и скачать тутunigine.com Немного про историю : Все началос...

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

[Перевод] Ода Excel: 34 года волшебства Примечание: статья была написана в 2019 году, а в этом Microsoft Excel отмечает уже 35-летний юбилей. Чему инструмент, выдержавший проверку временем, может научить нас в эпоху «софта, который пожирает мир»? В статье я хочу показать вам, как фундаментальные принципы, стоящи...

Зачем (не)нужны геттеры? Прошлая статья про сеттеры/геттеры как способ работы с сущностью (на примере Symfony в PHP) получила бурное обсуждение. В данной статье попробую выразить свои мысли отдельно по поводу геттеров: зачем и когда что-то получать, какую ответственность они решают и когда их уместн...

Освободи свой Android Некоторое время назад на Хабре вышла статья замечательной девушки fur_habr о проблемах безопасности, приватности и конфиденциальности мобильных коммуникаций и о путях решения этих проблем на платформе Android. В момент выхода этой статьи я как-то не обратил на неё внимани...

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

[Перевод] Об изменчивых методах объекта Math в JavaScript Сегодня мы публикуем перевод статьи о математических вычислениях в JavaScript, которая представляет собой письменный вариант выступления её автора на WaffleJS. А само это выступление было чем-то вроде продолжения этой беседы в Twitter. Математическое образование Читать дал...

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

Алгоритм планирования задач на TypeScript. Теория графов наконец-то пригодилась В этой статье я хочу рассказать об алгоритме, который помогает ответить на извечный вопрос всех проектов: Когда проект будет закончен?Более формально проблема звучит так: "Проект состоит из задач, которые могут зависеть друг друга, а также могут иметь один и тех же испо...

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

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

Изучаем VoIP-движок Mediastreamer2. Часть 7 Материал статьи взят с моего дзен-канала. Используем TShark для анализа RTP-пакетов В прошлой статье мы собрали схему дистанционного управления из генератора и детектора тональных сигналов, связь между которыми осуществлялась с помощью RTP-потока. В этой статье мы продолжа...

[Из песочницы] 3 года программирования вслепую. Часть 1 Всем доброго времени суток! Хочу поделиться своим опытом из разряда «Войти в IT». Тем более, что он происходил в полностью невизуальном режиме. О незрячих людях в нашем обществе знают мало, а о незрячих программистах еще меньше. И эта статья предлагает проследить за тем, как...

[Перевод] Дружим ORDER BY с индексами Привет, Хабр! Я потихоньку перевожу статьи Маркуса Винанда из блога use the index luke. Первой статьей в цикле был манифест Маркуса о важности использования безофсетной пагинации на ключах. Мы рассмотрели всего один пример, как этот подход работает на практике. В этой и сле...

Определение объёма кластера Elasticsearch и тестирование производительности в Rally В этой статье мы разберёмся с основными подходами к сайзингу Elasticsearch, покажем сравнения бенчмарков кластера при загрузке логов и метрик. А разница там заметная. Надеемся, вам это поможет с определением объёма кластера Elasticsearch и расшифровкой того самого «it depend...

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

Ах, эти строки Это текстовая версия моего доклада "Ах, эти строки" на конференции JPoint-2020. Дабы не тратить время читателей зря, сразу расставим все точки над "ё". О чём статья? Статья об эффективном (или не очень) использовании строк. Для кого статья? Статья для раз...

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

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

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

Как я «умный» телевизор Samsung до ума доводил — расширенный отзыв “Каждый человек обязан, по меньшей мере, вернуть миру столько, сколько он из него взял.” — Альберт Эйнштейн В своей первой статье на Хабре мне хотелось бы поделиться с уважаемыми читателями подробной информацией о достоинствах и недостатках, а также личным опытом настройки ...

[Из песочницы] Расчет временных ограничений для ПЛИС простым языком Здравствуйте. Эта статья написана для самых-самых новичков в мире ПЛИС. В ней я попытаюсь максимально просто и понятно рассказать что такое временны́е ограничения (timing constraints), накладываемые на проекты под ПЛИС. Статья создана на основе собственного опыта попыт...

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

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

Единый реестр российских программ и GPL. Мои пять копеек Несколько дней назад на Хабре была опубликована статья вызвавшая определенный резонанс. Краткий пересказ статьи привело издание CNews, а оттуда тезис о запрете GPL и MPL в Едином реестре перекочевал в статью в Википедии. В исходной статье красноречиво рассказывалось о том, ...

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

Таинственная программа LyX. Часть 2 Скопировано с моего блога в целях создания еще одного русскоязычного источника информации по данной теме. LyX: Preview В меню Вставка есть команда Preview. Я ее понял в числе последних. Математический режим имеет, с одной стороны, преимущество в том, что вводимая формула о...

[Перевод] Эндрю Ын «Страсть к машинному обучению». Перевод глав 36-46 Три года прошло с момента публикации первых глав книги Эндрю Ына (Andrew Ng) «Machine Learning Yearning». Если вы подписаны на хаб «Машинное обучение», то нет никакой нужды представлять вам её автора и скорее всего саму книгу вы уже давно прочитали на языке первоисточника. П...

[Из песочницы] Docker-образ для раздачи Single Page Application Single-page Application (SPA) – это набор статических JavaScript и HTML файлов, а так же картинок и других ресурсов. Поскольку они не изменяются динамически, опубликовать их в интернете очень просто. Для этого существует большое количество дешёвых и даже бесплатных сервисов,...

Принцип единственной ответственности: глубокое погружение Про принцип единственной ответственности (The Single Responsibility Principle, SRP) уже было написано множество статей. В большинстве из них даётся лишь поверхностное его описание мало чем отличающееся от информации в википедии. А те немногие статьи что затрагивают ключевые ...

Свой сервер видеоконференций Jitsi. Часть 1 Это первая статья, в которой я расскажу, как поднять свой собственный сервер видеоконференций Jitsi-meet. Я планирую выпустить три статьи на эту тему: Свой сервер видеоконференций Jitsi. Jitsi и все необходимые службы работают на одном сервере + сервис Jibri (для записи ...

Рубрика «Читаем статьи за вас». Март 2020. Часть 2 Привет, Хабр! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество! Первая часть мартовской сборки обзоров опубликована ранее. Статьи на сегодня: NeRF: ...

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

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

История создания домашнего облака. Часть 5. Актуализация 2019 – PHP 7.2, MariaDB 10.4 и Nextcloud 17 Два года назад я опубликовал цикл статей на тему создания веб-сервера на базе Debian 8 и запуске на нём сервиса Nextcloud 11. Через несколько месяцев появилось дополнение, содержащее «диффиренциальную» информацию по установке Nextcloud 13 на Debian 9. В конце 2018 года я про...

[Из песочницы] Изучаем мультикаст операторы RxJS Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding RxJS Multicast Operators» автора Netanel Basal. Широковещательные или мультикаст операторы нередко кажутся самой сложной темой при изучении RxJS. В этой статье я попробую все доступно объяснить. Мы рас...

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

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

SwiftUI по полочкам: Анимация. Часть 1 Недавно мне попалась свежая статья, в которой ребята пытались воспроизвести интересный концепт средствами SwiftUI. Вот что у них получилось: Я с интересом изучил их код, но испытал некоторое разочарование. Нет, не в том смысле, что они что-то сделали неправильно, вовсе...

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

Основы deep learning на примере дебага автоэнкодера, часть №1 Если почитать обучение по автоэнкодерам на сайте keras.io, то один из первых посылов там звучит примерно так: на практике автоэнкодеры почти никогда не используются, но про них часто рассказывают в обучалках и народу заходит, поэтому мы решили написать свою обучалку про них:...

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

[Из песочницы] Теория графов в машинном обучении для самых маленьких Сложность представления данных для глубокого обучения растет с каждым днем. Нейронные сети на основе данных в виде графа (Graph Neural Network, GNN) стали одним из прорывов последних лет. Но почему именно графы набирают все большую популярность в машинном обучении? Конечной ...

[Из песочницы] Наука о пользовательском опыте. Использование когнитивных искажений в разработке качественных продуктов Содержание Введение. О чем эта статья Цели и дисклеймеры Часть 1. Хороший продукт Часть 2. Пользовательский опыт (UX). Что это? Часть 3. Архитектура выбора Часть 4. Архитектор выбора Часть 5. Когнитивные искажения и Пользовательский опыт Ссылка на полную версию UX CORE (105...

Новые Samsung Galaxy S20 и Z Flip с точки зрения обзорщика — достойны ли они покупки? Я посмотрел вчерашнюю онлайн-трансляцию Samsung Galaxy Unpacked 2020 и в этой статье расскажу и о своих впечатлениях от неё, и о том, какими в итоге получились новые смартфоны Galaxy S20, и что в них самое главное.

[Перевод] Quarkus — новый взгляд на Cloud Native Java Привет, Хабр! В наступившем новом году мы планируем всерьез развивать темы контейнеров, Cloud-Native Java и Kubernetes. Логичным продолжением этих тем на русском языке будет рассказ о фреймворке Quarkus, уже рассмотренном в хорошей статье на Хабре. Сегодняшняя статья посвящ...

Учимся разворачивать микросервисы. Часть 3. Helm Привет, Хабр! Это третья часть в серии статей "Учимся разворачивать микросервисы", и сегодня речь пойдет о Helm 3. В прошлой части мы создали Kubernetes конфигурацию для учебного проекта из 2 микросервисов (бекенда и шлюза) и задеплоили все это в Google Kubernetes...

[recovery mode] Использование faiss для поиска по многомерным пространствам Привет! Меня зовут Владимир Олохтонов, я старший разработчик в команде автоматической модерации Авито. Осенью 2019 мы запустили сервис поиска похожих изображений на основе библиотеки faiss. Он помогает нам понимать, что фотографии уже встречались в другом объя...

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

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

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

Чего ждать от Java в 2020 году? 2020 уже в разгаре, давайте же обсудим, какие изменения в мире Java нас ожидают в этом году. В этой статье перечислю основные тренды Java и JDK. И буду рад дополнениям от читателей в комментариях. Сразу оговорюсь, что статья носит скорее ознакомительный характер. Детали по ...

Новые шаблоны — IPMI, Mikrotik, MSSQL Статья написана на основе доклада Максима Чудинова, инженера-интегратора Zabbix. В этой статье мы расскажем о некоторых новых шаблонах, добавленных в версию Zabbix 5.0. IPMI Шаблон IPMI работает только с пятой версией системы мониторинга Zabbix, потому что построен на новом...

Как я искал хелпдеск среди 15 решений и… не нашёл Этой статьи не должно было быть: вроде как и Хабр не жалобная книга, и у меня частная история далеко не хабровской компании. Но именно на Хабре я получил не очень корректное отношение одной компании и познакомился аж с двумя другими в самый подходящий момент — в момент, когд...

[Перевод] Что же такого особенного в IAsyncEnumerable в .NET Core 3.0? Перевод статьи подготовлен в преддверии старта курса «Разработчик C#». Одной из наиболее важных функций .NET Core 3.0 и C# 8.0 стал новый IAsyncEnumerable<T> (он же асинхронный поток). Но что в нем такого особенного? Что же мы можем сделать теперь, что было невозмо...

Изучаем VoIP-движок Mediastreamer2. Часть 8 Материал статьи взят с моего дзен-канала. Структура RTP-пакета В прошлой статье мы с помощью TShark выполнили захват RTP-пакетов, которыми обменивались наши приемник и передатчик. Ну а в этой мы раскрасим элементы пакета в разные цвета и поговорим об их назначении. Взглянем...

Postgres: bloat, pg_repack и deferred constraints Эффект раздувания таблиц и индексов (bloat) широко известен и присутствует не только в Postgres. Есть способы борьбы с ним “из коробки” вроде VACUUM FULL или CLUSTER, но они блокируют таблицы во время работы и поэтому не всегда могут быть использованы. В статье будет немн...

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

Мой опыт разработки на языке Nim Привет, Хабр! Уже довольно давно я пишу свой игровой фреймворк — такой pet project для души. А так как для души нужно выбирать что-то, что нравится (а в данном случае — на чём нравится писать), то выбор мой пал на nim. В этой статье я хочу поговорить именно про nim, про его...

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

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

Типизируй все Всем привет! У нас уже есть одна статья про развитие типизации в Ostrovok.ru. В ней объясняется, зачем мы переходим с pyContracts на typeguard, почему переходим именно на typeguard и что в итоге получаем. А сегодня я расскажу подробнее о том, каким образом происходит этот пе...

[Перевод] 10 практических рекомендаций по безопасности образов Docker. Часть 1 Перевод статьи подготовлен специально для студентов курса «Безопасность Linux». В этой статье мы хотели бы сосредоточиться на Docker и обсудить советы и рекомендации, которые обеспечивают более безопасный и качественный процесс обработки образов Docker. Итак, начнем с н...

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

Автоматизация задач администрирования API VMware vSphere с использованием Ansible В предыдущей статье мы рассмотрели взаимодействие с VMware с помощью Python. В этой же обсудим взаимодействие с VMware с помощью Ansible. Ansible — система управления конфигурациями, написанная на языке программирования Python с использованием декларативного языка разметки ...

TDD в микроконтроллерах. Часть 2: Как шпионы избавляют от зависимостей В предыдущей статье мы начали освещать тему эффективности применения методологии TDD для микроконтроллеров (далее – МК) на примере разработки прошивки для STM32. Мы выполнили следующее: Определили цель и инструменты разработки. Настроили IDE и фреймворк для написания тесто...

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

Как увеличить дальность связи с беспилотным летательным аппаратом (БЛА) Задача увеличения дальности связи с беспилотным летательным аппаратом (БЛА) не теряет актуальности. В данной статье рассматриваются методы улучшения этого параметра. Статья написана для разработчиков и эксплуатантов БЛА и является продолжением цикла статей про связь с БЛА (н...

[Перевод] Сертификация Microsoft в онлайн — вы, ваше пространство и ваш компьютер На момент написания этой статьи (апрель 2020 года) большая часть мира находится дома для сдерживания распространения COVID-19. В связи с этим было закрыто большинство центров тестирования, что нарушило планы многих людей по прохождению сертификации Microsoft. К счастью, у ва...

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

[Из песочницы] Визуализируя нейронный машинный перевод (seq2seq модели с механизмом внимания) Привет, Хабр! Представляю вашему вниманию перевод статьи "Visualizing A Neural Machine Translation Model (Mechanics of Seq2seq Models With Attention)" автора Jay Alammar. Sequence-to-sequence модели (seq2seq) – это модели глубокого обучения, достигшие больших успех...

Kubernetes: мониторинг c помощью Prometheus Привет, Хабр! Меня зовут Радик, Head of DevOps of AGIMA! В этой статье я постарался показать, как можно использовать Prometheus в качестве системы мониторинга для микросервисной архитектуры. Подробно рассмотрел архитектуру Prometheus и взаимодействие его компонентов. О...

[Перевод] Transformer в картинках В прошлой статье мы рассматривали механизм внимания (attention) – чрезвычайно распространенный метод в современных моделях глубокого обучения, позволяющий улучшить показатели эффективности приложений нейронного машинного перевода. В данной статье мы рассмотрим Трансформер (T...

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

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

[Перевод] Оптимизация кода на Python с помощью ctypes Перевод статьи подготовлен специально для студентов курса «Разработчик Python». Внимание: код в этой статье лицензирован под GNU AGPLv3. Я написал это руководство, поскольку не смог найти такого, которое будет объединять в себе все полезное о ctypes. Надеюсь, эта статья ...

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

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

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

Логирование запросов к приложению Django Привет, меня зовут Дмитрий Чернышов, я ведущий разработчик компании «БАРС Груп». Последние несколько лет среди прочих задач нам в команде приходится сталкиваться с необходимостью анализа производительности приложений на Django с большим количеством пользователей и постоянн...

Потоковая передача колоночных данных с помощью Apache Arrow Перевод статьи подготовлен специально для студентов курса «Data Engineer». За последние несколько недель мы с Nong Li добавили в Apache Arrow бинарный потоковый формат, дополнив уже существующий формат файлов random access/IPC. У нас есть реализации на Java и C++ и привяз...

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

[Перевод] С чего начать изучение Flutter в 2021 году Как и многие мобильные разработчики, мы с нетерпением ждали презентации Flutter и теперь хотим поделиться с читателями Хабра переводом статьи Tadas Petra о том, как можно выстроить свое обучение, если вы хотите познакомиться с Flutter и кроссплатформенными приложениями в 202...

[Перевод] SageMath и CoCalc: как всё начиналось. Часть первая Публикуется с разрешения автора. От переводчика Текст, перевод которого я намерен представить вашему вниманию, — краткая автобиография (называющаяся в оригинале «Mathematical Software and Me: A Very Personal Recollection», то есть «Математическое ПО и я: очень личные размыш...

[Перевод] Взлом Wi-Fi-сетей, защищённых WPA и WPA2 Автор статьи, перевод которой мы сегодня публикуем, хочет рассказать о том, как взломать Wi-Fi-сеть, для защиты которой используются протоколы WPA и WPA2. Статья написана исключительно в ознакомительных целях Читать дальше →

[Из песочницы] Как разместить статический сайт с помощью Yandex.Cloud Object Storage Привет, Хабр! В этой статье, я расскажу как легко и просто разместить статический сайт с помощью технологий Яндекса, а именно Object Storage. В конце у вас будет размещенный в сети сайт, который будет доступен по внешней ссылке. Эта статья будет полезна, если вы Начинающий ...

[Из песочницы] Ранжирование округов Москвы по стоимости аренды с Python Сейчас программирование все глубже и глубже проникает во все сферы жизни. А возможно это стало благодаря очень популярному сейчас python’у. Если еще лет 5 назад для анализа данных приходилось использовать целый пакет различных инструментов: C# для выгрузки (или ручки), Excel...

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

Compositional Layout в iOS 13. Основы Добрый день, На практике iOS разработчик часто сталкивается с задачей показа большого количества информации в виде списка или в виде коллекции, как правило, для этого отлично подходят UITableView или UICollectionView. Также часто встречается задача реализации экрана, который...

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

Как зарабатывать на фотографиях Данная статья является логическим продолжением этой статьи на Хабре о выдаче регистратором Р01 моих персональных данных. Пришлось дожидаться, пока закончатся суды (частично), чтобы описать, кому было интересно запросить мои персональные данные у доменного регистратора Р01 и...

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

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

10 самых популярных курсов Microsoft на русском Привет, Хабр! Совсем недавно мы выложили первую часть серии подборок полезных обучающий курсов для программистов. И вот незаметно подкралась последняя пятая часть. В ней мы перечислили некоторые из самых популярных IT-курсов, которые доступны на нашей учебной платформе Micro...

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

Free Trial, motherf***er, do you need it? — или почему бесплатные траялы и фримиум модели подходят далеко не для всех На этой неделе случилось 3 вещи: Несколько дней назад в своей статье о фреймворке формировании привычек я обещал рассказать о том, почему мы используем ПЛАТНЫЙ VS бесплатный trial-период в своих продуктах. Ребята из Getcourse написали заплюсованую статью про онлайн-школ...

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

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

[Перевод] Почему центр пикселя должен быть в (0,5; 0,5) Сегодня, когда всё популярнее становится трассировка лучей (ray tracing) выполняемая из «глаза» камеры, этот урок нужно усвоить заново: код становится лучше, а жизнь — проще, если центр пикселя находится в координате (0,5; 0.5). Если вы уверены, что делаете всё правильно, то...

Apple Mac и причудливые устройства. LTO, SAS, Fibre Channel, eSATA Темой настоящей статьи является подключение к Маку внешних устройств по интерфейсам SAS, Fibre Channel (FC), eSATA. Сразу оговоримся, что для решения задачи доступа к таким устройствам существует путь здорового человека: собрать дешёвый PC, воткнуть туда карту контроллера HB...

[Из песочницы] Raspberry Pi и модем SIM7600E 4G HAT Добрый день всем. В этой статье я хотел бы рассказать о своем опыте использования 3G-модема SIM7600X, который можно подключать к Raspberry Pi. Статья может оказаться полезной тем из вас, кому необходимо использовать Raspberry автономно, в условиях отсутствия WIFI-сети. Пара...

Перегрузка в C++. Часть II. Перегрузка операторов Продолжаем серию «C++, копаем в глубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Эта статья посвящена перегрузке операторов. Особое внимание уделено использованию перегруженных операторов в стандартной биб...

Тестирование в Kotlin при помощи Spock Цель статьи заключается в том, чтобы показать какие возникают трудности при использовании Spock с Kotlin, какие есть пути их разрешения и ответить на вопрос, стоит ли использовать Spock, если вы разрабатываете на Kotlin. Подробности под катом. Читать дальше →

Машинное обучение. Нейронные сети (часть 2): Моделирование OR; XOR с помощью TensorFlow.js Статья является продолжением цикла статей, посвященных машинному обучению с использованием библиотеки TensorFlow.JS, в предыдущей статье приведены общая теоретическая часть обучения простейшей нейронной сети, состоящей из одного нейрона: Машинное обучение. Нейронные сети (ча...

Саморазвитие: как я не усидел на двух стульях и нашел третий Всем привет! Я руковожу командой антиспама в Mail.ru Group, а также несколькими группами по машинному обучению. Тема этой статьи — саморазвитие для тимлидов/руководителей, но на самом деле многие техники и рецепты совершенно не зависят от роли. Для меня этот вопрос очень а...

SDR трансивер SoftRock Ensemble RXTX Данная статья является продолжением серии публикаций про SDR (Software Defined Radio). В двух предыдущих статьях мы разобрались, как работает схема Tayloe, как с помощью схемы Tayloe осуществить синхронный приём АМ сигналов, и как устроен связной SDR-приёмник. В этой публи...

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

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

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

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

[Из песочницы] Как скомпилировать декоратор — C++, Python и собственная реализация. Часть 2 Декораторы — одна из самых необычных особенностей Python. Это инструмент, который полноценно может существовать только в динамически типизированном, интерпретируемом языке. В первой части статьи мой товарищ Witcher136 показал, как в С++ реализовать наиболее приближенную к эт...

[Перевод] Как прошел 2019 год в области математики и Computer Science Перевод статьи подготовлен специально для студентов базового и продвинутого курсов «Математика для Data Science». Математики и информатики за прошедший год добились больших успехов в теории чисел, теории графов, машинном обучении и квантовых вычислениях, даже пересмотрел...

Перевод на английский язык в сфере IT на примере PVS-Studio Наша компания PVS-Studio активно публикует статьи на тему разработки, поиска ошибок в коде, техниках по улучшению его качества. Этот пост отличается по тематике – в этот раз рассмотрим вопрос перевода на английский язык русскоязычного контента на тему разработки. В этой ста...

[Перевод] Техническое руководство по системам управления версиями (VСS) В этой статье сравним с технической точки зрения самые известные системы управления версиями (в будущем планируем расширить список): Первое поколение SCCS (Source Code Control System) RCS (Revision Control System) Второе поколение CVS (Concurrent Versions System) SVN (...

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

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

Разработка первого проекта на платформе Microsoft Dynamics 365 For Finance and Operations Всем привет! Меня зовут Таня, я тимлид группы разработки Axapta в компании Lamoda. В этой статье речь пойдет про разработку нашего первого проекта на платформе Microsoft Dynamics 365 For Finance and Operations. Я расскажу про подходы, которые мы использовали, про ошибки,...

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

Embox на процессоре Эльбрус. Или никогда не забывайте о том, что получили при разведке Данная статья является логическим завершением серии статьей “восхождение на Эльбрус” об ознакомлении Embox с процессорной архитектурой Эльбрус (E2K) . Почему логическим завершением, потому что в результате удалось через telnet запустить приложение, которое выводит на экран ...

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

[Перевод] «Потрясающий» математический мост, простирающийся за пределы Великой теоремы Ферма Математики придумали, как удлинить загадочный мост, соединяющий два далёких континента математического мира Когда в начале 1990-х Эндрю Джон Уайлс доказал Великую теорему Ферма, это стало монументальным шагом не только для математиков, но и для всего человечества. Формулир...

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

Обзор и тестирование Huawei Dorado 5000V6 Полгода назад я уже начинал рассказывать об обновлении линейки СХД компании Huawei – Dorado V6. На самом деле, мне удалось познакомиться с ними еще до официального анонса, и логично, что тогда у меня не было возможности потрогать их в работе собственными руками. В своей ста...

Как я разработал мобильную игру на Android с использованием React.js и выложил её в Google Play Store В данной статье рассмотрим все этапы разработки: от зарождения идеи до имплементации отдельных частей приложения, в том числе выборочно будут предоставлены некоторые кастомные куски кода.Данная статья может быть полезна тем, кто только задумывается или начинает разрабатывать...

Маркетинг на рынке США: как SaaS-стартапу заработать десятки тысяч долларов с помощью AppSumo.com В русскоязычном интернете нет недостатка в статьях по выводу продукта на Product Hunt и другие похожие сервисы, но не так много материалов по использованию ресурса AppSumo. Я решил поделиться своим опытом продвижения продукта на американском рынке с помощью этого сервиса. ...

[Перевод] Сортировка в Scala — пример на кошках Привет, Хабр! Выношу на ваш суд русскоязычный перевод моей статьи на Medium: Sorting in Scala — a cat shop example. Статья рассчитана на читателей, знающих синтаксис языка Scala и осведомлённых о базовых инструментах стандартной библиотеки. Читать дальше →

Эволюция цифровой фотографии Мы в ЛАНИТ любим фотографию. Не какое-то конкретное фото, а сам вид искусства. Так, Inventive Retail Group (часть нашей группы) проводит фотовыставки в рамках проекта re:Store digital art (здесь статья об одной из экспозиций, а здесь информация о действующей выставке), а так...

[Перевод] Разбираемся в моделях кода архитектуры x64 «Какой моделью кода мне воспользоваться?» — часто возникающий, но нечасто разбираемый вопрос при написании кода для архитектуры х64. Тем не менее, это довольно интересная проблема, и для понимания генерируемого компиляторами машинного кода х64 полезно иметь представление о м...

[Перевод] О роли фронтенд-разработчика Привет, Хабр! Представляем вашему вниманию перевод статьи фронтенд-разработчика из MediaMonks Рональда Мендеса. Будучи родом из Венесуэлы, Рональд перебрался в Аргентину и построил успешную карьеру, а благодаря своему большому интересу к дизайну и анимации стал одним из член...

Python (+numba) быстрее си — серьёзно?! Часть 2. Практика Это вторая часть статьи про numba. В первой было историческое введение и краткая инструкция по эксплуатации numba. Здесь я привожу слегка модифицированный код задачи из статьи про хаскелл «Быстрее, чем C++; медленнее, чем PHP» с более детальными бенчмарками, графиками и пояс...

Решение нескольких задач от Amazon на примере JavaScript Доброго времени суток. Представляю вашему вниманию перевод статьи «Amazon Coding Interview Questions» автора Trung Anh Dang. В этой статье автор приводит несколько (три, если быть точнее) задач от Amazon (как он утверждает) и свои варианты решений. После ознакомления с ...

[Перевод] Учебник по Spring Boot Admin Контролируйте и управляйте своими приложениями Spring Boot с помощью приятного пользовательского интерфейса поверх конечных точек Spring Boot Actuator. Spring Boot Actuator Actuator — это модуль Spring Boot, который добавляет конечные точки (endpoint) REST / JMX в ваше пр...

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

OpenGL примитивы в стиле RAII Добрый день, хабра юзеры. Я давно не писал и возможно кто-то заждался статей от меня — конечно же нет. Так как свободного времени стало чутка поболее, а мой GitHub совершенно пуст, я решил написать свой клон Mein kampf Minecraft. С большой вероятностью, я задокументирую это...

PHP и регулярные выражения: азы для новичков В преддверии старта нового потока по курсу «Backend-разработчик на PHP», а также смежного с ним курса «Framework Laravel», хотим поделиться статьей, которую подготовил наш внештатный автор. Внимание! данная статья не имеет отношения к программе курса и будет полезна только ...

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

[Перевод] Руководство Google по стилю в C++. Часть 2 Часть 1. Вступление Часть 2. Заголовочные файлы … Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Хотя все C++ программисты читают на английском легче, чем на родном, приятн...

Nothing At Stake: компромиссы с совестью Очень коротко о себе. Как-то давно на Хабре обо мне писали в этой статье, однако часть аудитории, интересующаяся блокчейн технологиями, почти наверняка знакома с моей работой через проект Monero, у которого оригинальная кодовая база(CryptoNote) была разработана в основном м...

5 самых известных проектов, написанных на Golang О языке программирования Golang, созданном корпорацией Google, на Хабре рассказывали много и подробно, так что мы не будем в очередной раз обсуждать достоинства этого инструмента. Лучше поговорим об известных проектах, которые написаны на Go — они являются доказательством...

Принцип SRP на примере Laravel Принцип SRP (Принцип Единой Ответственности) — один из основополагающих принципов написания поддерживаемого кода. В этой статье я покажу как применить данный принцип на примере языка PHP и фреймворка Laravel. Часто, описывая модель разработки MVC (MVP, MVVM или другие M**),...

oVirt за 2 часа. Часть 3. Дополнительные настройки В этой статье мы рассмотрим ряд необязательных, но полезных настроек: использование дополнительных имен для менеджера; подключение аутентификации через Active Directory; Mutlipathing; управление питанием; замена SSL сертификата; архивация; менеджмент-интерфейс хостов (cockp...

Тестирование загрузчиков STEP формата для VR Мы, компания ООО «ВР Концепт», уже 5 лет ведем разработку программного обеспечения VR Concept для организации коллективной работы с любой 3D моделью, в том числе САПР, в шлемах виртуальной реальности. В данной статье мы хотели бы поделиться опытом интеграции нескольких загр...

Web-приложения на Flask: как бороться с циклическими импортами Flask – один из самых популярных фреймворков Python, но некоторые ошибки при его использовании могут привести к определенным затруднениям. В этой статье мы расскажем о том, как не допустить возникновения циклических импортов в проекте. Читать дальше →

Все «тайны» настройки софта для модулей и периферии OpenCPN После публикации статьи Использование OpenCPN для автоматизации производства / Хабр (habr.com) в личной почте были вопросы по настройке программного обеспечения на собранном устройстве. В этой статье будут более детально и последовательно приведены все необходимые конфигура...

[Из песочницы] Zimbra — Генерация HTML подписи на основе данных LDAP Введение В Веб-Админке Zimbra отсутствуют инструменты для генерации подписи к письмам. Перелопатив кучу мануалов — понял, что ни один из Них меня не устраивает. Задача кажется тривиальной, но решения в лоб — найти сразу не удалось. Надеюсь, эта статья поможет кому-то сэконо...

[Перевод] Open Source Guides: Запуск проекта с открытым исходником Предисловие переводчика Пару месяцев назад на Гитхабе случайно наткнулся на ссылку «Open source guides» и не мог оторваться. Где-то за неделю я внимательно прочитал все 10 разделов. Конечно, я и раньше знал про open source: читал разные статьи (например, «Понять Open Sourc...

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

11 друзей RUVDS или Обзор маркетплейса с готовыми образами Недавно в очередном посте о том «как корпоративные редакторы захватили Хабр и совсем не дают вздохнуть свободным авторам», нам поставили в минус, что в нашем блоге слишком много материалов НЕ про услуги компании, ее деятельность и прочее в том же духе. То про лабиринты в иг...

Опыт конвертирования кода C# в код Rust Постановка задачи Код на языке C# нужно перевести в код на Rust. Точнее, требуется такая процедура перевода (разработка продолжается на C#), чтобы в любой момент можно было получить работающий код на Rust. Эту задачу я решал для языков Java, Python, JavaScript и PHP, написав...

Забудьте про RGB и HEX В CSS существует несколько способов представления цветов. Один из них — система HSL. В этой статье я покажу вам, какие возможности она открывает для верстальщика. Читать дальше →

Первые шаги с Fiddler Classic Привет! После знакомства с Charles Proxy большинство из читателей захотело узнать больше про инструменты мониторинга и анализа HTTP/HTTPS трафика. Расскажем про популярный у многих тестировщиков Fiddler. Описать все возможности Fiddler в одной статье вряд ли получится, поэто...

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

Хабр Q&A 2019: итоги года Подводим итоги на Хабр Q&A: за год вы успели задать более 100 000 вопросов и дать почти 200 000 ответов! В статье вспоминаем самые большие запуски и делимся статистикой. Читать дальше →

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

О том как написать и опубликовать смарт-контракт в Telegram Open Network (TON) О том как написать и опубликовать смарт-контракт в TON О чем эта статья? В статье я расскажу о том, как поучаствовал в первом (из двух) конкурсе Telegram по блокчейну, не занял призовое место и решил зафиксировать опыт в статье, чтобы он не канул в Лету и, возможно, помог ко...

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

Как сохранить Email-письмо в формате PDF на iPhone, iPad и Mac Если вы хотите скопировать важное письмо из электронной почты себе на компьютер, лучший способ сделать это — перевести его в популярный формат PDF. В этой статье мы расскажем вам, как сделать это на iPhone, iPad и Mac без сторонних приложений. Инструкция составлена с учетом ...

[Из песочницы] Бакалавриат в США: Нетрадиционный путь в топ-вузики Прочитала я пару статей на хабре после того как прошла по ссылке со стороннего ресурса и мне как-то грустно стало так как я сама учусь в топ-университете в США и знаю нескольких из России. habr.com/ru/post/469275 habr.com/ru/post/230789 Однако, моя история не совсем станд...

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

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

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

Crypt, XOR, взлом нешифрованного ZIP и ГПСЧ. Решение задач с r0от-мi Crypto. Часть 2 В данной статье узнаем про функцию crypt, узнаем как подбирать пароли к ZIP архиву с незашифрованными именами файлов, познакомимся с утилитой xortool, а так же разберемся с генератором псевдослучайных чисел. Предыдущие статьи на эту тему: Часть 1 — Кодировки, шифр сдвига,...

7 бесплатных курсов для специалистов по работе с данными (DS и DE) Finale! Именно этим итальянским словом можно назвать эту статью. Ведь она последняя уже во второй серии подборок бесплатных курсов от Microsoft. И сегодня у нас курсы для специалистов по анализу данных и инженеров данных. Присоединяйтесь! Кстати! Все курсы бесплатные (вы ...

[Перевод] Swift Property Wrappers Если вы использовали SwiftUI, то наверняка обращали внимание на такие ключевые слова, как @ObservedObject, @EnvironmentObject, @FetchRequest и так далее. Property Wrappers (далее «обёртки свойств») — новая возможность языка Swift 5.1. Эта статья поможет вам понять, откуда же...

[Из песочницы] Бот для сборов. Собираемся на футбол с новыми технологиями Введение Всем привет. В этой статье я опишу своего чат-бота для сервиса обмена сообщениями telegram и социальной сети VK с использованием NodeJS. На этом месте у многих читателей должно вырваться что-то вроде: "Доколе!" или "Что, опять ?!". Да, похожие публикации уже были и ...

Управление LCD и OLED дисплеями на AVR-ассемблере Сразу предупреждаю, что не собираюсь разводить холивары насчет преимуществ AVR-ассемблера перед С/Arduino, или даже перед BASCOM-AVR и MikroPascal for AVR — каждый инструмент уместен в своей области. У ассемблерного подхода в ряде случаев имеются свои преимущества — в основн...

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

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

Opennebula. Короткие записки Всем привет. Данная статья написана для тех, кто до сих пор мечется между выбором платформ виртуализации и после прочтения статьи из серии «Поставили proxmox и вообще все отлично, 6 лет аптайм не единого разрыва». Но после установки того или иного коробочного решения, воз...

Пора на свалку Никогда не думал, что это случится со мной, но, похоже, я выгорел. А ещё мне стрёмно. Да, это ещё одна статья про выгорание. Я тут на днях смотрел на свою RSS-читалку и заметил, что под тегом «C++» у меня где-то три сотни непрочитанных статей. Я не прочитал ни одной статьи ...

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

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

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

Обратная разработка аналоговой видеокамеры Ранее на хабре я публиковал статьи, связанные с системой аналогового видеонаблюдения. В частности, были статьи, связанные с изучением файловой системы HDD видеорегистратора (DVR). В данной статье речь пойдёт про обзор навороченной аналоговой видеокамеры модели Evidence EVR...

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

Почему мы перешли на Selenide, попутно написав более 200 новых автотестов Привет, я автоматизатор тестирования на одном из проектов крупной компании. В этой статье я расскажу, почему мы приняли решение перейти с Serenity на Selenide. Задача у нас масштабная, и хотя изменение технологического стека заняло определенное время, впоследствии оно с лихв...

Почему lsFusion, а не 1С? Предыдущая статья “Почему не 1С?” вышла больше года назад и вызвала достаточно живой интерес (совсем немного не дотянула до 100к просмотров и 2к комментариев). Впрочем, как и ожидалось, у многих возник резонный вопрос: “Если не он, то кто?” Безусловно, как многие поняли, т...

[Из песочницы] Как разработать дизайн и код персонального веб-сайта Привет, Хабр! представляю вашему вниманию перевод статьи «How to Design and Code a Personal Website» автора Ryan Smith. Многие разработчики считают, что быть хорошим дизайнером — это врожденная способность, что творческий подход — это то, с чем вы сразу родились. На самом д...

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

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

[Перевод] Платный доступ к статьям (Примечание переводчика: 5 июня была опубликована статья "Problems With Paywalls", сейчас на ее месте стоит заглушка со словами: «NYT угрожает раскрыть моё имя, поэтому я удаляю блог. Вот мои объяснения». Я, MagisterLudi, сейчас делаю проект «Ontol» (прототип, кан...

Масштабирование базы данных. Microsoft AlwaysOn Привет. Меня зовут Тигран Петросян, я ведущий инженер по технической поддержке Docsvision, и сегодня расскажу о применении технологии MS SQL AlwaysOn. Это вторая статья из мини-серии «Масштабируемость системы ECM на предприятии», в которой первая статья моего коллеги была по...

Ваша первая нейронная сеть на графическом процессоре (GPU). Руководство для начинающих В этой статье я расскажу как за 30 минут настроить среду для машинного обучения, создать нейронную сеть для распознавания изображений a потом запустить ту же сеть на графическом процессоре (GPU). Для начала определим что такое нейронная сеть. В нашем случае это математиче...

Подарок всем под Ёлочку Или всё-таки под Елочку? Нет, под Ёлочку! Теперь точно с Ё, потому что это статья про ёфикацию! И не просто теория или скрипты из командной строки, а настоящая рабочая программа, которую можно использовать как на компе так и на телефоне. Читать дальше →

14 самых популярных Node.js-библиотек в 2020 году Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «14 Most Useful NodeJS Libraries in 2020». В данной статье автор делится своими находками среди многочисленных пакетов Nodejs. Express Быстрый, гибкий, минималистичный, легкий в изучении фреймворк...

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

[Из песочницы] Коронавирус: мы все умрём? Что мы говорим Богу смерти? — Не сегодня. Сирио Форель, сериал «Игра престолов». Насколько действительно опасен коронавирус COVID-19? Сколько людей умрёт от коронавируса в мире? А сколько – в России? Так ли необходимы жесткие меры, принимаемые для борьбы с коронавирусом в ...

Пишем шеллкод под Windows на ассемблере В этой статье я хочу показать и подробно объяснить пример создания шеллкода на ассемблере в ОС Windows 7 x86. Не смотря на солидный возраст данной темы, она остаётся актуальной и по сей день: это стартовая точка в написании своих шеллкодов, эксплуатации переполнений буферо...

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

[recovery mode] Украденное резюме, человек, который ушел в Кемерово, призыв кандидата и другие «увлекательные» истории трэш-собеседовани За время работы в IT-рекрутинге у нас накопилось много историй о смешных, нелепых и странных собеседованиях как от разработчиков, так и от HR. Поэтому решили запустить рубрику «Трэш-собеседования», где будем делиться подобным контентом. В этой статье собрали 13 историй: стра...

Habr vs Medium: сколько можно заработать опубликовав 9 статей на Medium.com Привет Хабр. Наверное многие авторы, публикующие статьи на русскоязычных ресурсах, хотя бы раз задумывались о публикации своих текстов в англоязычном сегменте интернета. Мне тоже стало интересно узнать, как это работает и какой отзыв аудитории можно получить. Я пишу статьи ...

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

[Перевод] Создание пайплайнов CI с помощью Tekton (внутри Kubernetes). Часть 2/2 Создание пайплайнов CI с помощью Tekton (Часть 2/2) В этой статье мы собираемся продолжить создание пайплайна CI с Tekton. В первой части мы установили Tekton на локальный кластер kind и определили нашу первую задачу, которая клонирует репозиторий GitHub и запускает тесты пр...

Автоматизация аналитики Jira средствами Apache NiFi Приветствую, господа. Я Маша, мне 23, и я уже полгода изучаю и внедряю на практике Apache NiFi. Должна отметить, что спустя месяц после знакомства с этой технологией — я начала употреблять антидепрессанты. Был ли NiFi триггером или последней каплей достоверно неизвестно, к...

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

[Перевод] Локализация в ASP.NET Core Razor Pages — Культуры Привет, хабр! Прямо сейчас OTUS открывает набор на новый поток курса "C# ASP.NET Core разработчик". В связи с этим традиционно делимся с вами полезным переводом и приглашаем записаться на день открытых дверей, в рамках которого можно будет подробно узнать о курсе, а также за...

Как выглядит zip-архив и что мы с этим можем сделать. Часть 3 — Практическое применение Продолжение статьи Как выглядит zip-архив и что мы с этим можем сделать. Часть 2 — Data Descriptor и сжатие. Дорогие читатели, я снова приветствую вас на передаче Нетрадиционное программирование на PHP. Для понимания происходящего рекомендую ознакомиться с предыдущими двумя...

[Перевод] Путь к Global Talent Visa в UK В мае 2021го я получил Talent Visa от правительства Великобритании, с одобрения Tech Nation как Exceptional Talent. В этой статье я хотел бы задокументировать свой путь к ней. Быть может это поможет кому-то еще. На Хабре уже была отличная статья на эту тему. Моя статья предс...

С Hyper-V на VMware и обратно: конвертация виртуальных дисков Привет, Хабр! Периодически я слышу от практикующих инженеров странное: VMDK, VHD и VHDX – абсолютно разные форматы виртуальных дисков, чуть ли не закрытые, а конвертировать из одного в другое – долго и больно. Сегодня наглядно покажу, что это не так, разберу, как эти форм...

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

[Перевод] Бессерверные вычисления на основе OpenWhisk, часть 3 Эта статья продолжает цикл переводных заметок об OpenWhisk от автора Priti Desai. Сегодня рассмотрим примеры развертывания Zip-функций, зависимости GitHub, а также подробнее опишем синхронизацию объектов между клиентом и сервером OpenWhisk. Читать дальше →

[Из песочницы] Телефонный эфир v2.0. Возрождение легенды в telegram боте Это первая статья из будущей серии статей о том, как я возродил однажды ушедшую в историю идею в коде. В этой статье я опишу реализацию регистрации в части места жительства. Читать дальше →

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

[Перевод] Сжатие ответов в GRPC для ASP.NET CORE 3.0 Перевод статьи подготовлен в преддверии старта курса «C# ASP.NET Core разработчик». В этом эпизоде моей серии статей о gRPC и ASP.NET Core мы рассмотрим подключение функции сжатия ответов (response compression) служб gRPC. ПРИМЕЧАНИЕ: В этой статье я рассказываю о некото...

[Из песочницы] Игра с открытым API: Swagger Play В данной статье я хочу рассказать, как использовать Swagger модуль для Play Framework, с примерами из реальной жизни. Я расскажу: Как прикрутить последнюю версию Swagger-Play (модуль Play, позволяющий использовать аннотации swagger-api и генерировать на их основе документ...

[Из песочницы] О работе ПК на примере Windows 10 и клавиатуры ч. 1 Меня зовут Андрей Артемьев, я работаю в Microsoft над ядром ОС Windows 10, ранее я работал над Windows 10x (WCOS), XBox, Windows Phone и Microsoft Edge. Я хочу популярно в образовательных целях рассказать о том как работает компьютер на примере клавиатурного ввода и Window...

Развертывание в Docker и Kubernetes образа StatsD+Grafana В начале моего изучения Docker и Kubernetes мне нехватало простого и понятного примера, с которым можно было бы «поиграться», изучая особенности этой среды. Этой статьей хотелось бы закрыть этот пробел. Здесь я расскажу об интеграции .NET Core приложения с Telegraf и Grafana...

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

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

32 отличия дизайна мобильного приложения под iOS и Android Железный дизайнер из Redmadrobot Design Lab Артур Абраров делится наблюдениями. Адаптировать дизайн под другую платформу — неотъемлемая часть работы дизайнера мобильных приложений. Цель этой работы — органично вписать дизайн в паттерны взаимодействия пользователя. К тому ...

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

2. UserGate Getting Started. Требования, установка Здравствуйте, это вторая статья о NGFW решении от компании UserGate . Задача данной статьи заключается в том, чтобы показать, как установить межсетевой экран UserGate на виртуальную систему (буду использовать программное обеспечение виртуализации VMware&n...

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

[Перевод] Опциональная цепочка, объединение с null, и как они меняют наш подход к написанию кода Автор фото — Miguel Á. Padriñán. Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Sam Sedighian «Optional Chaining, Null Coalescing and How They Will Change the Way You Write Code». Опциональная цепочка, объединение с null, и как они меняют подхо...

[Из песочницы] Как использовать несколько языков программирования и не сойти с ума Привет, Хабр! Представляю вашему вниманию перевод статьи «How to use multiple programming languages without losing your mind» автора Bart Copeland. Сопливое нытьё про FSF и Red HatКароч, тема такая: я им написал, а они не ответили. Ну ладно бы Массивсофт, который вообще ник...

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

Основа любого программирования на… пазлах Приветствую, Хабровчане! В этой статье я хочу рассказать о своем опыте работы преподавателем программирования на C++ в колледже при техническом университете. Это был уникальный опыт в моей жизни, который многому меня научил. Когда меня просят рассказать интересный факт о св...

100 теоретических вопросов по JavaScript Доброго времени суток, друзья! Представляю вашему вниманию список из первых 100 вопросов по основам JavaScript из этого репозитория с краткими ответами и ссылками на «Современный учебник по JavaScript» Ильи Кантора (JSR) и MDN. Также в конце имеются ссылки на статьи для п...

PostgreSQL 13: happy pagination WITH TIES На прошедшей неделе вышло сразу две статьи (от Hubert 'depesz' Lubaczewski и автора самого патча Alvaro Herrera), посвященные реализованной в грядущей версии PostgreSQL 13 поддержке опции WITH TIES из стандарта SQL:2008: OFFSET start { ROW | ROWS } FETCH { FIRST | NEXT } [ c...

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

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

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

Шпаргалка по форматам файлов с данными в python Python понимает все популярные форматы файлов. Кроме того, у каждой библиотеки есть свой, «теплый ламповый», формат. Синтаксис, разумеется, у каждого формата сугубо индивидуален. Я собрал все функции для работы с файлами разных форматов на один лист A4, с приложением в виде ...

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

Сценарий идеального технического собеседования Дисклеймер: это сценарий идеального технического собеседования в Delivery Club Tech. Мнение нашей команды может не совпадать с мнением читателей. Привет, Хабр! Меня зовут Василий Козлов, я iOS-техлид в Delivery Club. Я часто и много провожу собеседования. В этой статье я с...

[Перевод] Учимся видеть Перед вами — оптическая иллюзия Мюллера-Лайера. Возможно, вы её уже видели (в этой статье я использую слово «видеть» в смысле «воспринимать»; не все познают мир через зрение).  На рисунке имеются два отрезка, обрамлённых стрелками, направленными в разные стороны. Иллюзия с...

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

Клиентоориентированный Data Lake в игровой компании Источник Привет, Хабр! Меня зовут Максим Пчелин, и я руковожу разработкой BI-DWH в MyGames (игровое подразделение Mail.ru Group). В этой статье я расскажу о том, как и зачем мы строили клиентоориентированное DataLake-хранилище. Статья состоит из трех частей. Сперва я расс...

WSL эксперименты. Часть 1 Привет, хабр! В октябре OTUS запускает новый поток курса «Безопасность Linux». В преддверии старта курса делимся с вами статьёй, которую написал один из наших преподавателей — Александр Колесников. В 2016 году компания Microsoft представила IT сообществу новую технологи...

Работаем с Cutter — основы реверса. Решение задач на реверсинг с r0от-мi. Часть 3 В данной статье разберемся с декомпиляцией ELF файлов в Cutter на примере легеньких задач. Прошлые части введения в реверс: Часть 1: C, C++ и DotNet decompile — основы реверса Часть 2: Реверсим MIPS и Golang — основы реверса Организационная информ...

FAST VP в СХД Unity: как это работает Сегодня речь пойдет об интересной технологии, реализованной в СХД Unity/Unity XT, – FAST VP. Если вы впервые услышали о Unity, то по ссылке в конце статьи можно ознакомиться с характеристиками системы. В проектной команде Dell EMC я работал над FAST VP более года. Сегодня хо...

[Из песочницы] Как собирать проекты в Jenkins, если нужно много разных окружений На Хабре много статей о Jenkins, но мало где описывается пример работы Jenkins и докер агентов. Все популярные инструменты сборки проектов типа Drone.io, Bitbucket Pipeline, GitLab, GitHub actions и другие, могут собирать все в контейнерах. Но как же Jenkins? На сегодняшний...

Автоматизация журналиста. Часть 1: Задачи и календари Уже больше 15 лет я работаю техническим журналистом. Помогаю рассказывать о продуктах, технологиях и, что уж тут скрывать, встраиваюсь в стратегию хантинга. На меня есть спрос, поэтому много лет для меня ребром стоит задача повышения эффективности работы. Как говорится, вок...

[Перевод] Руководство Google по стилю в C++. Часть 1 Часть 1. Вступление … Часть 8. Именование Часть 9. Комментарии … Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Хотя все C++ программисты читают на английском легче, чем на...

Миграция IBM Lotus Notes/Domino в Microsoft Exchange без шума и пыли Может быть пора? Такой вопрос рано или поздно появляются у коллег, которые используют Lotus в качестве почтового клиента или системы документооборота. Запрос на миграцию (по нашему опыту) может возникнуть на совсем разных уровнях организации: от топ-менеджмента до пользоват...

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

Изучаем VoIP-движок Mediastreamer2. Часть 11 Материал статьи взят с моего дзен-канала. Механизм перемещения данных Блок данных dblk_t Сообщение mblk_t Функции работы с сообщениями mblk_t Очередь queue_t Функции работы с очередями queue_t Соединение фильтров Сигнальная точка графа обработки данных Закулисная деятельно...

[Перевод] Python Gateway в InterSystems IRIS Эта статья посвящена Python Gateway — комьюнити-проекту с открытым исходным кодом для платформы данных InterSystems IRIS. Этот проект позволяет оркестрировать любые алгоритмы машинного обучения, созданные на языке Python (основная среда для многих Data Scientists), использов...

[Перевод] Руководство Google по стилю в C++. Часть 10 Часть 1. Вступление … Часть 9. Комментарии Часть 10. Форматирование … Эта статья является переводом части руководства Google по стилю в C++ на русский язык. Исходная статья (fork на github), обновляемый перевод. Читать дальше →

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

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

[Перевод] Отпечаток браузера: что это, как работает, нарушает ли закон и как защититься. Часть 1 От Selectel: эта статья первая в цикле переводов очень детальной статьи об отпечатках браузера и том, как работает технология. Здесь собрано все, что вы хотели знать, но боялись спросить по этой теме. Что такое отпечатки браузера? Это метод, используемый сайтами и сервиса...

[Из песочницы] Как достичь своих целей? Привет, Хабр! Представляю вашему вниманию перевод ранее опубликованной на Хабре статьи «How to achieve goals?». 5 жизненных советов, которые помогут вам достичь своей желаемой цели. Конечно же, не обязательно выполнять их все в указанном порядке. Но самое важное — не просто...

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

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

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

[Из песочницы] Golang + Phaser3 = MMORPG — Делаем базу для бесконечной генерации мира На русскоязычных ресурсах трудно найти подходящую информацию, возможно этот материал позволит вам понять некоторые основы для создания многопользовательских игр и не только. Я планирую сделать серию статей по созданию 2.5D MMORPG, то бишь в изометрии, наш мир будет разделе...

[Перевод] Seccomp в Kubernetes: 7 вещей, о которых надо знать с самого начала Прим. перев.: Представляем вниманию перевод статьи старшего инженера по безопасности приложений британской компании ASOS.com. С ней он начинает цикл публикаций, посвящённых повышению безопасности в Kubernetes благодаря использованию seccomp. Если введение понравится читателя...

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

[Перевод] Микросервисы со Spring Boot. Часть 4. Использование Ribbon для балансировки нагрузки Это часть 4 серии о микросервисных архитектурах, в которой мы сосредоточимся на использовании Ribbon для балансировки нагрузки. Это статья входит в серию статей «Микросервисы со Spring Boot»: Часть 1. Начало работы с архитектурой микросервисов Часть 2. Создание микросерви...

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

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

Game of Life с битовой магией, многопоточностью и на GPU Всем привет! Недавняя статья на Хабре в очередной раз показала неостывающий интерес к игре «Жизнь» в частности и всевозможным оптимизациям в общем. Статья и комментарии к ней, особенно любопытство к вычислениям на GPU, вдохновили меня на то, чтобы поделиться своими изыскания...

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

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

Когда я на часах Мы тут открыли позицию инженера поддержки в команде GoLand. Это сподвигло меня рассказать, как это у нас происходит. На Хабре уже есть хорошая статья об этом из 2014 года. Но, во-первых, GoLand тогда еще не существовал. А, во-вторых, многое с тех пор поменялось. Хотя забавно...

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

Сказ о том, как сделать машину времени для базы данных и случайно написать эксплойт Доброго времени суток, Хабр. Приходилось ли вам задумываться как поменять время внутри базы данных? Легко? Ну в некоторых случаях да, несложно — linux команда date и дело в шляпе. А если нужно поменять время только внутри одного экземпляра бд если их на сервере несколько? А...

Разложение монолита: Декомпозиция БД (часть 1) Эта статья является конспектом книги «От монолита к микросервисам». Материал статьи посвящен декомпозиции БД во время процесса разложения монолита на микросервисы.В предыдущей статье рассмотрели способы извлечения функциональности из монолита в микрослужбы. Однако, что делат...

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

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

Используем Kata Containers в Kubernetes Данная статья продолжает тему с Kata Containers, поднятую в прошлый раз. Сегодня я буду настраивать Kubernetes для работы с Kata Containers. Читать дальше →

[Перевод - recovery mode ] Zettelkasten: как один немецкий учёный стал невероятно продуктивным Изображение предоставлено автором. Основано на фотографии Патрика Томаса с Ансплэша Это перевод статьи Дэвида Клира о методе ведения заметок Zettelkasten, благодаря которому немецкий социолог Никлас Луман написал более 70 книг и 400 научных статей. Стоит читать, если вы хо...

Анатомия юнит-теста Эта статья является конспектом книги «Принципы юнит-тестирования». Материал статьи посвящен структуре юнит-теста.В этой статье рассмотрим структуру типичного юнит-теста, которая обычно описывается паттерном AAA (arrange, act, assert — подготовка, действие и проверка). З...

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

Стоит ли жаловаться на собеседования? Как мне кажется, на Хабре есть две вечные темы, на которые статьи появляются с завидной регулярностью и собирают массу комментариев и плюсов. Первая тема — "мне слили карму, систему кармы надо изменить/отменить". Вторая тема — "меня не взяли на работу, процесс...

Создание Discord – бота на .NET Core с деплоем на VPS-сервер Привет, Хабровчане! Сегодня вы ознакомитесь со статьей, в которой будет рассказано, как создать бота, используя C# на .NET Core, и о том, как его завести на удаленном сервере. Статья будет состоять из предыстории, подготовительного этапа, написания логики и переноса бот...

Запускаем трансфлективный TFT дисплей на SSD1283A с помощью STM32 Введение Модель дисплея называется H016IT01. Данный дисплей интересен прежде всего тем, что он является транфлективным(transflective). Это означает, что изображение на нем должно быть видно даже под ярким солнцем. А также это чуть ли не единственная доступная модель с этой о...

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

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

NAS Backup и никакой магии. Deep dive от Veeam Уже несколько месяцев прошло с момента релиза Veeam Backup & Replication 10. Даже была обзорная статья про грядущий релиз. А вот пост-релизной статьи посвящённой более детальному и техническому разбору самой ожидаемой функции новой версии — NAS Backup, так и не было. Поэ...

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

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

Простой робот на МК esp8266 c micropython Привет, Хабр! Эта статья описывает процесс апгрейда самоходной платформы на базе МК esp8266 с micropython, до простейшего робота, оснащённого сканирующим ультразвуковым датчиком препятствий, мигающим светодиодом, кнопкой «старт/стоп», а также встроенным веб-сервером, в рамк...

[Из песочницы] Кое-как одетые принцы и дворяне Читая статью «Разработчики — никакая не элита, а голые короли индустрии», разделившую Хабр на две половины: резко-негативно ЗА и резко-позитивно ПРОТИВ, а особенно обсуждение под ней, хочется кое что добавить. Я в целом согласен с автором статьи и хочу добавить аргументов в ...

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

Как Magento 2 взаимодействует с Vue Storefront Привет! Меня зовут Павел и я занимаюсь бэкенд разработкой. Как уже писал AndreyHabr, многие из наших проектов основаны на стеке Adobe Magento 2 (для краткости далее я буду называть ее M2) в качестве бэкенда и Vue Storefront (VS) в качестве фронтенда. Я не буду подробно оста...

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

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

Мониторинг 95+ метрик PostgreSQL с помощью плагина Zabbix Agent 2 В прошлом году популярный сервис мониторинга Zabbix представил Agent 2, призванный сократить число TCP-подключений и обеспечить удобную расширяемость за счёт плагинов на Golang. Меня зовут Даша и я один из разработчиков плагина мониторинга PostgreSQL для Zabbix Agent 2. В эт...

[Перевод] Смешиваем OpenJDK и NodeJS: межъязыковые взаимодействия и вертикальная архитектура Привет, Хабр! Давно вынашивали мысль обсудить с вами тему GraalVM, откладывали, пока не нашли, наконец, сегодняшнюю статью, тематика которой серьезно выходит за рамки разбора конкретной виртуальной машины. Автор Майк Хёрн (Mike Hearn) ни много ни мало излагает целую парадиг...

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

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

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

Web Security SQL Injection 2020 Статья расскажет, как использовать SQLmap и похожих инструментов для автоматизации решений заданий по sql injection на одном из популярных CTF ресурсов. В статье зайдем немного дальше, чем просто модификация risk-level «if you know what i mean». Задания не будут полностью ра...

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

[Перевод] Хорошо подумайте, прежде чем использовать Docker-in-Docker для CI или тестовой среды Docker-in-Docker представляет собой виртуализированную среду Docker-демон, запущенную в самом контейнере для сборки образов контейнера. Основной целью создания Docker-in-Docker была помощь в разработке самого Docker. Многие люди используют его для запуска Jenkins CI. Понач...

[Перевод] Рецепты по приготовлению оффлайн-приложений Доброго времени суток, друзья! Представляю вашему вниманию перевод замечательной статьи Джейка Арчибальда «Offline Cookbook», посвященной различным вариантам использования сервис-воркера (ServiceWorker API, далее по тексту — просто воркер) и интерфейса кэширования (Cache ...

[Перевод] Распознавание маски на лице с помощью YOLOv3 YOLO или You Only Look Once — это архитектура свёрточных нейронных сетей, которая используется для распознавания множественных объектов на изображении. В 2020, на фоне пандемии, задача детектирования объектов (object detection) на изображении стала как никогда актуальной. Эт...

Почему вам не надо становиться тимлидом? Привет, друзья. Эта статья написана Георгием Могелашвили (glamcoder), который работает на позиции Lead Developer в Booking.com в Амстердаме и отвечает за архитектуру и координацию нескольких технических команд в отделе маркетинга, а по совместительству Георгий преподает в OT...

[Перевод] Как бороться с привычками запрограммированным людям Перевод статьи из микроблога биохакера Сержа Фаге. В человеке есть запрограммированные паттерны поведения, которые всегда запускаются одним и тем же механическим, линейным способом. Так называемые «страстные желания» (англ. – cravings) – вещи и занятия, которые очень хочетс...

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

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

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

Какой язык выбрать для работы с данными R или Python? Оба! Мигрируем с pandas на tidyverse и data.table и обратно По запросу R или Python в интернете вы найдёте миллионы статей и километровых обсуждений по теме какой из них лучше, быстрее и удобнее для работы с данными. Но к сожалению особой пользы все эти статьи и споры не несут. Цель этой статьи — сравнить основные приёмы обработки д...

Самоходная платформа на МК esp8266 с micropython Привет, Хабр! Эта статья описывает страдания начинающего процесс изготовления самоходной платформы на базе МК esp8266 с micropython, управляемой через встроенный веб-сервер. КДПВ: Интерфейс: Читать дальше →

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

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

За кулисами жизни модератора Stack Overflow Недавние статьи на Хабре про опыт пользования StackOverflow сподвигли меня на написание статьи, но с позиции модератора. Сразу хочу отметить, что речь пойдёт о Stack Overflow на Русском. Мой профиль: Suvitruf. Сначала хотелось бы рассказать о причинах, побудивших меня участв...

16 советов по разработке для андроид на языке Kotlin. Часть 3 И еще раз здравствуйте! В преддверии старта базового курса по Android-разработке, делимся заключительной частью статьи «16 советов по разработке для андроид на языке Kotlin». Читать первую часть Читать вторую часть LATEINIT Одной из ведущих особенностей Kotlin является е...

Простой зомби-шутер на Unity Всем привет! Скоро стартуют занятия в первой группе курса «Разработчик игр на Unity». В преддверии начала курса прошел открытый урок по созданию зомби-шутера на Unity. Вебинар провёл Николай Запольнов, Senior Game Developer из Rovio Entertainment Corporation. Он также написа...

[Перевод] Как устроен процесс создания docker-контейнера (от docker run до runc) Перевод статьи подготовлен в преддверии старта курса «Инфраструктурная платформа на основе Kubernetes». За последние несколько месяцев я потратил немало личного времени на изучение работы Linux-контейнеров. В частности, что конкретно делает docker run. В этой статье я соб...

Keyboa: клавиатуры на максималках для ботов в Telegram Боты - одна из особенностей Telegram, сделавших мессенджер столь популярным. А его встроенные клавиатуры дают разработчикам большую свободу взаимодействия с пользователями.Keyboa помогает создавать встроенные клавиатуры любой сложности для ботов, разработанных на базе pyTele...

YOLOv4 – самая точная real-time нейронная сеть на датасете Microsoft COCO Эта же статья на medium: medium Код: github.com/AlexeyAB/darknet Статья: arxiv.org/abs/2004.10934 Мы покажем некоторые нюансы сравнения и использования нейронных сетей для обнаружения объектов. Нашей целью было разработать алгоритм обнаружения объектов для использования в...

Бессерверные вычисления на основе OpenWhisk, часть 4 Эта статья заканчивает цикл переводных заметок об OpenWhisk от автора Priti Desai. Сегодня рассмотрим процесс развертывания OpenWhisk поверх Kubernetes с исправленными командами для работоспособности с актуальными версиями приложений. Также будет описан процесс запуска функ...

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

[Перевод] Микросервисы со Spring Boot. Часть 5. Использование сервера имен Eureka В этой заключительной части нашей серии архитектур микросервисов мы научимся включать сервер имен Eureka и позволять микросервисам взаимодействовать с ним. Это статья входит в серию статей «Микросервисы со Spring Boot»: Часть 1. Начало работы с архитектурой микросервисов ...

Настройки Windows 10: часть III, или куда приводят скрипты Здравствуйте, товарищи! Прошло чуть больше полугода после выхода предыдущей статьи о Windows 10 Sophia Script — скрипте, который за прошедшие годы стал самым крупным (а их осталось всего два) опенсорс-проектом по персонализации и настройке Windows 10, а также автоматизации р...

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

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

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

Заметки о разработке МРРТ контроллера Приветствую! Ранее я уже рассказывал в статье о своем проекте контроллера заряда для небольшой СЭС с алгоритмом поиска ТММ. Сей проект вялотекущий из-за нехватки времени и порой отcутствия настроения, но все же он развивается. С момент последней статьи я сделал еще 2 ревизии...

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

Подробная инструкция по изготовлению сплит клавиатуры на основе ATmega32U4. Аналог Iris / Jiran своими руками Моя самоделка Перед изготовленияем своей клавиатуры я наметил следующие цели: 1. Максимально возможный тактильный комфорт. 2. Добиться того, чтобы совершенно не было необходимости смотреть на клавиатуру при работе, чтобы она никоим образом не отвлекала внимание на себя, что...

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

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

Как мы рекомендуем новинки каталога в онлайн-кинотеатре ivi (+ код на Python) В блоге онлайн-кинотеатра ivi накопилось достаточно статей про архитектуру рекомендательной системы Hydra. Однако рекомендации — это не только внешний API, но и алгоритмы, которые живут «под капотом» и реализуют достаточно сложную бизнес-логику. В этой статье я расскажу о п...

TDD для микроконтроллеров. Часть 3: Запуск на железе TDD для микроконтроллеров. Часть 1: Первый полет TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей TDD для микроконтроллеров. Часть 3: Запуск на железе В первой части нашего цикла статей мы начали освещать тему эффективности применения методологии TDD...

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

[Перевод] Эндрю Ын «Страсть к машинному обучению». Перевод глав 47-58 Это вторая статья с переводом отдельных глав книги Эндрю Ына «Страсть к машинному обучению». Перевод предыдущих глав вы можете почитать по ссылке. В этой статье речь пойдёт о сквозном (end-to-end) глубоком обучении, а так же автор книги поделится некоторыми способами анал...

Что почитать на праздниках Длинные праздники впереди, а это значит, что будет время вернуться к закладкам в Read later или еще раз перечитать важные статьи уходящего года. В этом посте мы собрали и подготовили для вас список из самых интересных материалов из нашего блога за 2019 год и надеемся, что ...

[Nginx] Как победить response_status = 0 Статья из разряда «заметки на полях». TL:DR:http2_max_field_size 8k; # всех спасет! На одном из проектов, после изменения некоторой внутренней логики бекенда, начал наблюдать странный response_code в логах, а именно — 0. В логах выглядит примерно так: { "timestamp&...

Грабли на пути к keep-alive Увеличение активности обмена данными между микросервисами зачастую является проблемой в архитектуре современных IT решений. Выжать максимум и выжить любой ценой — серьёзный вызов для любой разработки. Поэтому поиск оптимальных решений — это не прекращающийся процесс. В стать...

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

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

Как оценить уровень владения Английским языком На Хабре много статей о том, как самостоятельно изучать английский язык. Но вот вопрос, а как оценить свой уровень при самостоятельном изучении? Понятно, что есть IELTS и TOEFL, но эти тесты почти никто не сдает без дополнительной подготовки и эти тесты, как говорят, оцени...

20 SEO-мифов, которые должны умереть в 2020 Хабр читают не только разработчики, и не только люди связанные с IT, некоторые из моих клиентов иногда кидали мне ссылки на Хабр, и среди них были такие, которые совсем далеки от IT. Поэтому в этой статье будет максимально простым языком объясняться некоторые аспекты SEO. К ...

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

Как уменьшить потребление wifi модулей в десять и более раз Добрый день, Всем!!! Данная статья в основном касается популярного модуля ESP8266 (ESP8285). Недавно на одном из форумов мне задали вопрос о протоколе ESP-NOW. В итоге решил рассказать о способах сокращения потребления датчиков и исполнительных устройств, работающих по WiFi,...

Трансформация Android-разработки с Jetpack Compose и Корутинами Jetpack Compose — одна из наиболее обсуждаемых тем из серии видео про Android 11, заменивших собой Google IO. Многие ожидают от библиотеки, что она решит проблемы текущего UI-фреймворка Android, содержащего много легаси-кода и неоднозначных архитектурных решений. Другим не м...

Zabbix + Wirenboard: мониторинг производства ВведениеВ этой статье я расскажу о том, как мы используем zabbix и wirenboard для мониторинга производственного оборудования, каким образом мы смоли получить данные с линий и источников основных ресурсов. Статья описывает концепцию и основные моменты организации мониторинга ...

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

1С — Добро и зло. Расстановка точек в холиварах вокруг 1С Друзья и коллеги, в последнее время на Хабре участились статьи с хейтом в адрес 1С, как платформы для разработки, и выступлениями ее защитников. Эти статьи обозначили одну серьезную проблему: чаще всего, критики 1С критикуют ее с позиции "не осиливших", ругая проблемы, кото...

Технический обзор архитектуры СХД Infinidat InfiniBox – модерновая система хранения, сразу попавшая в правую часть магического квадрата. В чем ее уникальность? Краткая предыстория Что такое InfiniBox? Это система хранения компании Infinidat. Что такое компания Infinidat? Это компания, созданная Моше Янаем (создатель...

[Перевод] Портируем Quake на iPod Classic Запускаем Quake на iPod Classic (видео). TL;DR: мне удалось запустить Quake на MP3-плеере. В статье описывается, как это произошло. Часть прошлого лета я потратил на пару своих любимых вещей: Rockbox и игру Quake id Software. Мне даже предоставилась возможность объединить...

Как работает музыка в NES Если тут есть музыканты, которые имеют свой ютуб-канал или паблик вконтакте, ответьте мне на один вопрос: знаком ли вам такой способ набрать популярность, как каверы на музыку из старинных видеоигр? Способ убойный не только из-за ностальгии. Smooth McGroove в одном из своих ...

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

Перфоманс фронтенда как современное искусство: графики, код, кулстори Всем привет. В предыдущих статьях мы говорили о базовых вещах оптимизации: раз и два. Сегодня я предлагаю с разбега окунуться в одну часть из тех задач, которыми занимается команда архитектуры фронтенда в hh.ru. Я работаю в команде архитектуры. Мы не только перекладываем фай...

Как вести технический блог? Я работаю в коммерческой разработке с 2011 года. С конца 2012 занимаюсь разработкой под iOS. Свою первую техническую статью я написал на Хабре в начале 2017 года про подход к локализации мобильных приложений. Потом выпустил ещё несколько статей по iOS-разработке на Хабре и...

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

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

Умные устройства глазами Хабра: подкаст Хабр Спешал о том, что происходит на рынке и чего ждать в будущем Всем привет! Недавно мы вместе с МТС провели опрос про умные устройства. Его результаты мы выложили в отдельном посте, где собрали общее мнение Хабра о том, какие устройства можно назвать «умными» и чего не хватает нашим читателям. Дополнительно мы решили узнать профессионал...

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

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

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

Всё про налоги для IT-фрилансеров. Налоговая нагрузка ИП на разных режимах. Часть 3 Это третья, заключительная часть из цикла. В предыдущей статье мы подробно рассказали об УСН, патенте и налоге для самозанятых. В этой части рассчитаем налоговую нагрузку для ИП с доходом 100, 200 или 300 тыс. руб. в месяц на разных режимах. Читать дальше →

Техподдержка 3CX отвечает: Обновление на 3CX v16 с предыдущих версий В новый год с новой АТС! Правда, не всегда есть время или желание разбираться в тонкостях перехода между версиями, собирая информацию из разных источников. В этой статье мы собрали всю информацию, необходимую для простого и быстрого обновления до 3CX v16 Update 4 со старых в...

Прокачай скиллы в DevSecOps: 5 вебинаров с теорией и практикой Привет, Хабр! Наступила эпоха онлайн-мероприятий, и мы не стоим в стороне, тоже проводим разные вебинары и онлайн-встречи. Мы думаем, что тема DevSecOps требует отдельного внимания. Почему? Все просто: Она сейчас крайне популярна (кто еще не успел поучаствовать в холива...

Теории вероятностей: готовимся к собеседованию и разрешаем «парадоксы» Каждый год я участвую примерно в сотне собеседований в образовательных проектах JetBrains: собеседую абитуриентов в Computer Science Center и корпоративную магистратуру ИТМО (кстати, набор на программу идёт прямо сейчас). Все собеседования устроены по одному шаблону: мы про...

[Перевод] 70 вопросов по JavaScript для подготовки к собеседованию Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Mark A «70 JavaScript Interview Questions». Надеюсь, эта статья будет полезна как начинающим разработчикам, так и бывалым (я хотел сказать, опытным). Первым для изучения, вторым для повторения. Лич...

Как организовать тестирование, чтобы ускорить и стабилизировать релизы продукта. Часть 2 У тестировщика много возможностей повысить качество продукта и сделать работу команды комфортнее. Главное – обсуждать любые изменения с коллективом и внедрять только то, что удобно и полезно для всех. Меня зовут Виктория Дежкина, я отвечаю за тестирование ряда продуктов в Д...

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

Полный набор gRPC, RESTful JSON API и Swagger из одного .proto файла. От введения до нюансов и тонкостей grpc-gateway В этой статье я опишу процесс создания сервера с gRPC и RESTful JSON API одновременно и Swagger документацию к нему. Эта статья — продолжение разбора различных способов реализаций API-сервера на Golang с автогенерацией кода и документации. Там я обещал более подробно остано...

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

[Перевод] C# 8 и null-допустимость. Как нам с этим жить Здравствуйте, коллеги! Пришло время упомянуть, что у нас в планах — выпуск фундаментальной книги Иэна Гриффитса по C#8: Тем временем, в своем блоге автор опубликовал две взаимосвязанные статьи, в которых рассматривает тонкости таких новых явлений, как «nullability», «null-...

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

Open360: как мы начали с разработки модели премирования и сделали IT-систему для внутреннего HR TL;DR: рассказываю о задаче оценки вклада сотрудника в общий результат и новой open source системе проведения круговой оценки сотрудников, разработанной в нашей компании, на базе метода оценки 360 градусов. Здравствуйте, меня зовут Иван Кудрявцев — я технический директор и ...

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

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

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

Как мы мигрировали с Oracle JDK и Java Web Start на AdoptOpenJDK и OpenWebStart Доброго времени суток. В данной статье я расскажу о «модернизации» в компании, в которой я работаю, такого инструмента как Java Web Start, а точнее об его замене альтернативным opensource решением. Читать дальше →

Самодельный лидар: OpenTOFLidar В этой статье я хочу рассказать про свой проект импульсного (TOF) Open Source лидара — о том как я его делал, и каких результатов удалось добиться. Читать дальше →

Blazor: Server и WebAssembly одновременно в одном приложении ASP.NET Core Blazor — это разработанная Microsoft веб-платформа, предназначенная для запуска на стороне клиента в браузере на основе WebAssembly (Blazor WebAssembly) или на стороне сервера в ASP.NET Core (Blazor Server), но две эти модели нельзя использовать одновременно. П...

[Из песочницы] Компилятор Befunge на Python В процессе подготовки к курсу «Основы компиляторов» для студентов 4-го курса я изучал различные эзотерические языки программирования. Вот хорошая статья на эту тему. В статье самым интересным мне показался язык Befunge (Крис Пресс, 1993 год), особо отмечу три его особенности...

[Из песочницы] Flutter. Асинхронность и параллельность Привет, Хабр! Представляю вашему вниманию перевод статьи "Futures — Isolates — Event Loop" автора Didier Boelens об асинхронности и многопоточности в Dart (и Flutter в частности). TLDR: В целом, статья ориентирована на новичков и не изобилует откровениями. Если вы ...

Тестируем ruGPT-3 на новых задачах Рекомендательные системы с нуля, чат-боты и многое другое Погрузившись в пучину текстовых данных, в октябре этого года мы обучили модели ruGPT-3 — модели для русского языка на основе архитектуры от OpenAI. Но на что же способны эти модели? В этой статье мы соберем первые при...

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

eBPF: современные возможности интроспекции в Linux, или Ядро больше не черный ящик У всех есть любимые книжки про магию. У кого-то это Толкин, у кого-то — Пратчетт, у кого-то, как у меня, Макс Фрай. Сегодня я расскажу вам о моей любимой IT-магии — о BPF и современной инфраструктуре вокруг него. BPF сейчас на пике популярности. Технология развивается сем...

[Перевод] Celery throttling — настраивам rate limit для очередей ​ В этой статье я покажу как решить одну из проблем, возникающих при использовании распределенных очередей задач — регулирование пропускной способности очереди, или же, более простым языком, настройка ее rate limit'a. В качестве примера я возьму python и свою любимую связку ...

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

Война с тормозами. Оптимизация количества рендеров компонентов в React Native Привет, Хабр! Меня зовут Камо Сперцян, я занимаюсь React Native разработкой в Profi.ru. Если вы решили воспользоваться технологией React Native для быстрой доставки продуктовых фич и сосредоточились на скорости разработки, то, скорее всего, столкнётесь с проблемами производи...

Изучаем VoIP-движок Mediastreamer2. Часть 10 Материал статьи взят с моего дзен-канала. В прошлой статье мы сделали дуплексное переговорное устройство, выполняющее обмен звуковым сигналом через дуплексную RTP-сессию. В этой статье мы научимся писать фильтры и добавим сделанный своими руками фильтр в сделанное своими рук...

Знакомство с pg_probackup. Третья часть Завершающая часть из цикла "Знакомство с pg_probackup" (первая | вторая части). В предыдущей статье мы решили сразу две задачи: в первой создали архив wal-файлов, перешли к PAGE-архивам, настроили политику удержания wal-файлов; во второй — реплику из бэкапа и на...

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

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

Между дизайн-системой и Server Driven UI Введение (как устроена разработка в ivi) Всем привет! Меня зовут Владимир Касаткин, и я работаю бэкенд-разработчиком в компании ivi.ru, в команде "UX". Цель этой статьи — показать, как мы уменьшили объём клиентской разработки, но при этом увеличили количество прово...

Понимание (всех) «модульных» форматов и инструментов JavaScript Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Understanding (all) JavaScript module formats and tools» автора Dixin. При создании приложения часто возникает желание разделить код на части, логические или функциональные блоки (модули). Однако ...

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

Головоломка для ИИ Как я обучал агента собирать клетку 2048 в игре “2048”Привет! Меня зовут Ринат Максутов, я работаю в подразделении Intelligent Engineering Services департамента Technology российского офиса компании Accenture, и веду проекты по заказной разработке. За свою многолетнюю карьер...

Изучаем ELK. Часть I — Установка Elasticsearch Эта статья является первой в серии статей по стеку Elasticsearch, Logstash, Kibana (ELK). Цикл статей ориентирован на тех, кто только начинает знакомится со стеком ELK, и содержит минимально необходимый набор знаний, чтобы успешно запустить свой первый кластер ELK. В этой ...

Разработка hexapod с нуля (часть 8) — улучшенная математика передвижения Всем привет! В результате перехода на удаленную работу у меня появилось больше свободного времени на разработку гексапода (+2 часа в день за счет экономии на дороге). Я наконец-то смог сделать универсальный алгоритм для построения траектории движения в реальном времени. Нов...

Оцениваем опционы на Clojure методом Монте-Карло Привет! Меня зовут Рома, я работаю iOS-разработчиком в Exness. А кроме того, пишу на Clojure и инвестирую. Сегодня я расскажу о том, как оценивать опционы. Это вводная статья и заработать миллион, используя предложенный способ, вряд ли получится. Тем не менее, это хорошая ос...

Стажировка в Parallels, когда тебе 14 лет Привет, Хабр! Меня зовут Тимофей. Мне 14 лет. Недавно я ездил в московский офис Parallels навестить своего ментора. В этой статье я хочу поделиться с вами своими впечатлениями о предшествующей этому событию стажировке и о самой поездке в офис. Читать дальше →

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

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

[Перевод] Юнит-тесты на Python: Быстрый старт Перевод статьи подготовлен специально для студентов курса «Python QA Engineer». Юнит-тестирование кода является неотъемлемой частью жизненного цикла разработки программного обеспечения. Юнит-тесты также формируют основу для проведения регрессионного тестирования, то есть о...

Отладка микроконтроллеров ARM Cortex-M по UART Часть 2 В прошлой статье я рассказывал про прерывание DebugMon и регистры с ним связанные. В этой статье будем писать реализацию отладчика по UART. Читать дальше →

SamsPcbGuide, часть 14: Технологии — Микроразварка и технология Chip-On-Board В этой самоизоляционной статье я расскажу о разварке проволочных микровыводов (англ. wire bonding). В контексте печатных плат речь пойдёт о технологии монтажа кристаллов на печатную плату (англ. chip-on-board, COB). Обязательно смотрите видео по ссылкам, микроразварка — это ...

Скоро PGConf.Russia 2020 PGConf.Russia 2020 в этом году, как и в прошлом, пройдет в начале февраля, а именно – 3 февраля – мастер-классы, 4го и 5го – доклады. Это первый раз, когда нам не пришлось отодвигать дедлайн по приему заявок на доклады — то ли люди стали более самоорганизованными, то ли появ...

Y-метод — действительно простой способ собрать кубик Рубика Введение В статье рассматривается «Y-метод» сборки кубика Рубика — его легко понять и запомнить. Он основан всего на одной последовательности, которая называется «Y-движение». Поняв этот алгоритм, вы навряд ли забудете как собрать кубик самостоятельно. Читать дальше →

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

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

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

Разбор тестовых заданий на стажировку в UX-редакцию Авито Привет! Я Юля Трусова, старший UX-редактор в Авито. В этом году мы снова набирали стажёров, которые будут писать интерфейсы, лендинги, рассылки и многое другое.В этой статье разберём типичные ошибки, которые кандидаты допускали в тестовом задании, и покажем удачные решения. ...

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

3D своими руками. Часть 2: оно трехмерное В предыдущей части мы разобрались, как выводить на экран двумерные объекты, такие как пиксель и линия (отрезок), но ведь хочется поскорее создать что-то трехмерное. В этой статье впервые попробуем вывести 3D-объект на экран и познакомимся с новыми математическими объектами...

Исследуем бинарные форматы на примере байткода .class файла Если вас не пугает картинка выше, если вы знаете чем отличается big-endian от little-endian, если вам всегда было интересно как "устроены" бинарные файлы, значит эта статья для ВАС! Читать дальше →

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

Дружим STM32 с LCD дисплеем 1604 по I2C шине (библиотека HAL) Привет, Хабр! В этой статье я хотел бы рассказать о своем опыте подключения LCD дисплеев к микроконтроллеру STM32 с использованием библиотеки HAL по I2C шине. Подключать буду дисплей 1602 и 2004. Они оба имеют припаянный I2C адаптер на основе чипа PCF8574T. Отладочной пл...

Антикризисный раздел Хабра А вы знали, что если нажать на Хабре хоткей «/» и ввести запрос в квадратных скобках, то сработает поиск только по ключевым словам? Например, с тегом [covid-19] уже написано более 170 постов — только по одному этому числу можно сделать вывод, что тема вируса волнует наших чи...

Maltego Часть 4. ВК, Instagram, LinkedIN и другие фантастические твари И снова здравствуйте, дорогие друзья. Мы опять готовимся окунуться в прекрасный мир OSINT. Статьи в нашем цикле прибавляются, поэтому пора уже вводить некое подобие оглавления, ведь дальше их будет только больше. Итак, что мы уже разобрали в Maltego: Часть 1 — Что такое ...

Полная поддержка популярных реализаций Docker Registry в werf Все популярные реализации реестров для образов контейнеров поддерживают Docker Registry HTTP API и позволяют использовать одни и те же инструменты для работы с ними. Тем не менее, часть реализаций имеет свои особенности и ограничения, а значит — если вам нужно их поддержива...

[Перевод] Браузер и числа с плавающей запятой Изображение — www.freepik.com Несколько лет назад я много думал и писал о математике с плавающей запятой. Это было очень интересно, и в процессе исследований я многое узнал, но иногда я долгое время не использую на практике все эти полученные тяжким трудом знания. Поэтому ...

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

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

Пишем прошивку под TI cc2530 на Z-Stack 3.0 для Zigbee реле Sonoff BASICZBR3 с датчиком ds18b20 Предполагается, что читатель уже имеет начальные знания языка C, что-то знает о Zigbee, чипе cc2530, методах его прошивания и использования, а также знаком с такими проектами, как zigbee2mqtt. Если нет — подготовьтесь или сходите почитать на https://myzigbee.ru и https://w...

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

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

Граф сообщества «Что? Где? Когда?» (ЧГК) или сколько рукопожатий до Друзя? Привет, Хабр! Новогодние праздники — отличное время, чтобы отдохнуть от IT использовать профессиональные навыки в любимом хобби. Ковыряясь на сайте рейтинга спортивного ЧГК, я обнаружил отличный API, позволяющий получить данные о всех играх всех турниров. Так у меня появила...

Видео Live! Badoo Localization Meetup 21 апреля Неделю назад прошел Live! Badoo Localization Meetup. Для нас это первая встреча на такую тему, да еще и в онлайн-формате. Отдельные секции по локализации редко встречаются на конференциях, поэтому собрать вместе четырех спикеров и больше 100 заинтересованных слушателей был...

Роутинг в комплексных чат-ботах с Hobot framework Начав разрабатывать боты для Telegram несколько лет назад, я открыл для себя производительность, простоту и гибкость работы с ними как с частным случаем интерфейса командной строки. Эти характеристики, доступные сегодня многим — во многом заслуга популярного фреймворка tel...

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

[Из песочницы] HTTP Error 503. Service Unavailable: случай в поддержке хостинга Работа в поддержке хостинга в основном однотипная, большинство запросов от клиентов решаются по проработанной схеме, но иногда всё же приходится сталкиваться с нетривиальными проблемами. Тогда главная задача инженера — найти тот самый — единственно верный путь, который приве...

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

[Перевод] Что JavaScript-разработчику следует знать о Curl Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «What JavaScript Developers Should Know About Curl» автора Valery Karpov. Curl — это популярный инструмент командной строки, часто используемый для отправки HTTP-запросов. Curl поддерживает большое...

Maltego Часть 5. Твое лицо тебя сдало Здравствуйте, дорогие друзья. Сегодня поговорим о более тяжелой артиллерии в рамках OSINT, а именно, о применении технологии распознавания лиц от Social Links для Maltego. Если не читали предыдущие статьи цикла о Maltego, то сейчас — самое время: Часть 1 — Что такое Malt...

[Перевод] Всё, что нужно знать о Progressive Web App (PWA) PWA — прогрессивные веб-приложения. Предупреждение. Эта статья не проспонсирована PWA. Все взгляды и мнения в статье принадлежат только её автору. Progressive Web App или PWA — лучший способ для разработчиков заставить свои веб-приложения загружаться быстрее и быть более...

[Перевод] Полигоны Another World: Sega Genesis Перевод пятой статьи из серии от Fabien Sanglard, в этот раз про порт Another World на Sega Genesis. Разработка MegaDrive/Genesis началась сразу после того, как Sega выпустила свою Master System ​​в 1987 году. В то время целью Sega было создание чего-то, что превосходит PC E...

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

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

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

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

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

[Из песочницы] Как копирайтеру писать для IT без глупостей и стереотипов Привет. Я Дмитрий — автор и редактор, помогаю IT-компаниям рассказывать о себе с помощью PR-статей на различные ресурсы, начиная от развлекательных и заканчивая большими профильными площадками (Как раз про Хабр, да). Кто-то вроде литературного негра — грубо говоря, ко мне пр...

Что нужно знать о влиянии новостей на стоимость акций Изображение: Unsplash В последнее время очень часто можно прочитать новости формата «индекс Dow Jones пережил рекордное падение на фоне новостей о распространении коронавируса». При этом, такие статьи в СМИ появлялись регулярно и до того, как тема вируса и общественного з...

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

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

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

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

Python GUI. Библиотека KivyMD. Шаблон MVC, parallax эффект и анимация контента слайдов Приветствую вас, дорогие любители и знатоки Python! Прошло пол года с момента моей последней публикации на Хабре. Был погружен в пучину обстоятельств и сторонние проекты. Начиная с сегодняшней, статьи будут выходить с периодичностью раз в месяц. В этой статье мы рассмотрим к...

[Из песочницы] BPF для самых маленьких, часть нулевая: classic BPF Berkeley Packet Filters (BPF) — это технология ядра Linux, которая не сходит с первых полос англоязычных технических изданий вот уже несколько лет подряд. Конференции забиты докладами про использование и разработку BPF. David Miller, мантейнер сетевой подсистемы Linux, назыв...

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

[Перевод] Canary Deployment в Kubernetes #1: Gitlab CI Мы будем использовать Gitlab CI и ручной GitOps для внедрения и использования Canary-деплоя в Kubernetes Статьи из этого цикла: (эта статья) Canary Deployment при помощи ArgoCI Canary Deployment при помощи Istio Canary Deployment при помощи Jenkins-X Istio Flagger Выполн...

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

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