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

[Перевод] Диаграмма Ганта vs Канбан доска Если коротко – диаграммы Ганта полезны, когда зависимости являются основным фактором формирования расписания, тогда как Канбан доски можно использовать для работ, которые не имеют зависимостей между собой. Кроме того, диаграммы Ганта подходят, когда существует предварительн...

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

[Из песочницы] Учимся стандарту проектирования — Entity Relationship Здравствуйте. Данная статья посвящена одной из самых популярных, а также и многим знакомой, модели проектирования — ER(Entity Relationship), которая была предложена учёным, в области информатики — Питером Ченом, в 1976 году. По ходу статьи простым языком на простых примера...

[Перевод] Разработка динамических древовидных диаграмм с использованием SVG и Vue.js Материал, перевод которого мы сегодня публикуем, посвящён процессу разработки системы визуализации динамических древовидных диаграмм. Для рисования кубических кривых Безье здесь используется технология SVG (Scalable Vector Graphics, масштабируемая векторная графика). Реактив...

От моделирования процессов к проектированию автоматизированной системы (Часть 2) «Один день из жизни белки» или от моделирования процессов к проектированию автоматизированной системы учёта материальных ценностей «Белка-1.0» (Часть 2) Использована иллюстрация к "Сказке о царе Салтане" А.С.Пушкина, изд."Детская литература", Москва, 1949 год, Ленинград, ри...

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

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

[Перевод] Различия Fluent и gettext Продолжая дискуссию о преимуществах Fluent перед привычным gettext, публикую официальную позицию создателей Fluent в переводе. Gettext — это система локализации, глубоко укоренившаяся в проект GNU и сопутствующие ему архитектурные решения. Fluent Project рассматривает gette...

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

#Samson #CL7a и #CL8a Компания Samson представила на выставке NAB Show 2019 конденсаторные микрофоны с большой мембраной: кардиоидный CL7a (129,99$) и с тремя диаграммами направленности CL8a (149,99$). Выпуск планируется в июне.Samson CL7a Конденсаторный микрофон с большой мембраной, кардиои...

В Редакторе отчётов Google Ads стали доступны два новых типа диаграмм Google Ads добавил в Редактор отчётов два новых типа диаграмм: линейчатую диаграмму с накоплением и пузырьковую. Теперь в инструменте доступны 6 типов диаграмм: Линейная Гистограмма Линейчатая с накоплением Круговая Точечная Пузырьковая Новые типы диаграмм дадут дополнительн...

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

[recovery mode] Один способ вычисления логарифма по основанию 2 Вычисление логарифмов довольно распространённая операция в цифровой обработке сигналов. Чаще пожалуй приходится считать только свёртки (умножение с накоплением) и амплитуды с фазами. Как правило для вычисления логарифмов на FPGA применяется алгоритм CORDIC в гиперболическом ...

[Из песочницы] 12 социальных навыков, которые совершенствуют работу руководителей ИТ-проектов Привет, Хабр! Представляю вашему вниманию перевод статьи: «12 Soft Skills That Make IT Project Managers Unstoppable» автора Pavel_Ku. Растущая конкуренция на рынке труда свидетельствует о том, что одной лишь работы, основанной на технических навыках, уже недостаточно. В реа...

[Из песочницы] Визуализация количества побед у команд НБА с помощью анимационных столбиковых диаграмм в R Для начала небольшая вводная информация. Меня зовут Владислав и моё знакомство с R состоялось в августе прошлого года. Изучать язык программирования я решил по причине прикладного характера. Мне с детства нравилось вести спортивную статистику. С возрастом это увлечение транс...

Podlodka #125: Оценка сроков и трудоемкости задач Идеальный мир в ИТ — это когда все прогнозы сбываются, эстимейты совпадают с фактическими временными затратами, а нарисованная на старте проекта диаграмма Ганта не меняется до самого его конца.

Генератор простых арифметических примеров для чайников и не только Привет! В этой «статье», а вернее сказать очерке, покажу очень простой способ развлечься зная самые основы latex и python. Читать дальше →

Работа с внешними ресурсами в Unity 3d Введение Здравствуйте уважаемые читатели, сегодня речь пойдет о работе с внешними ресурсами в среде Unity 3d. По традиции, для начала определимся, что это и зачем нам это надо. Итак, что же такое эти внешние ресурсы. В рамках разработки игр, такими ресурсами может быть все...

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

Firefox Send: свободный сервис обмена шифрованными файлами Вчера Mozilla довела до финальной версии один из своих экспериментальных проектов Firefox Send: простой и безопасный сервис обмена зашифрованными файлами. Поддерживаются файлы до 1 ГБ (до 2,5 ГБ после авторизации в Firefox Account). Сервис выглядит просто, но под ним рабо...

Микрофон SPC Gear SM900 комплектуется стойкой-пантографом, подвесом и поп-фильтром Игровое подразделение компании SilentiumPC под торговой маркой SPC Gear представило микрофонный комплект для любителей потокового вещания. Он включает микрофон SM900 с кардиоидной диаграммой направленности, подключаемый к порту USB, кабель длиной 2,9 м, настольную стойк...

Встраиваем интерпретатор Python в java-приложение с помощью проекта Panama Пару дней назад увидел твит Брайана Гетца, но только сегодня дошли руки поиграться с примерами. Про это и хочу кратко рассказать. О проекте Panama на Хабре уже писали, поэтому просто покажу пару простых примеров того, как можно применить native binder. Читать дальше →

Программирование микроконтроллеров ESP8266/ESP32 написанием YAML конфиг файлов Будучи поклонником системы управления "умным домом" Home Assistant я недавно открыл для себя интересный инструмент, тесно с HA интегрированный и ранее на Хабре не освещенный — ESP Home (ранее ESPhomeYAML). ESP Home представляет собой набор библиотек и инструментов, генерирую...

[Перевод] API IntersectionObserver и ленивая загрузка изображений Использование ленивой загрузки изображений для улучшения производительности веб-проектов — востребованная техника оптимизации. Всё дело в том, что изображения — это «тяжёлые» ресурсы, которыми переполнены современные веб-сайты. Мы уже кое-что об этом публиковали. Здесь можно...

Интерактивные таблицы, графики и диаграммы на Mac без установки Excel (Эксель): Как создавать на macOS Таблица и график – отличный способ сделать данные наглядными. Но их можно сделать и ещё лучше, если превратить статичную картинку в динамическую. Как это сделать? ПО ТЕМЕ: Как сохранять файлы Pages в формате Word (doc, docx) на Mac, iPhone, iPad или Windows. Нам поможет бесп...

[Из песочницы] Как создать простой микросервис на Golang и gRPC и выполнить его контейнеризацию с помощью Docker Привет, Хабр! представляю вашему вниманию перевод статьи «Go, gRPC and Docker» автора Mat Evans. Существует множество статей о совместном использовании Go и Docker. Создавать контейнеры, способные взаимодействовать с клиентами и между собой, очень легко. Далее следует небол...

[Перевод] 7 шагов к использованию Room. Пошаговое руководство по миграции приложения на Room Room — это библиотека, которая является частью архитектурных компонентов Android. Она облегчает работу с объектами SQLiteDatabase в приложении, уменьшая объём стандартного кода и проверяя SQL-запросы во время компиляции. У вас уже есть Android-проект, который использует SQL...

[Перевод] ООП мертво, да здравствует ООП Источники вдохновения Этот пост возник благодаря недавней публикации Араса Пранцкевичуса о докладе, предназначенном для программистов-джуниоров. В нём рассказывается о том, как адаптироваться к новым ECS-архитектурам. Арас следует привычной схеме (объяснения ниже): показыва...

Безопасный доступ к полям регистров на С++ без ущерба эффективности(на примере CortexM) Рис. взят с сайта www.extremetech.com/wp-content/uploads/2016/07/MegaProcessor-Feature.jpg Всем доброго здравия! В прошлой статье я рассмотрел вопрос о проблеме доступа к регистрам микроконтроллера с ядром CortexM на языке С++ и показал простые варианты решения части про...

Знакомьтесь, <details> Я хочу рассказать о замечательно элементе <details> и показать несколько примеров его использования, от простых до безумных. Читать дальше →

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

Библиотеки Electronic Arts почти хорошего качества Наше внимание привлёк репозиторий Electronic Arts на GitHub. Он очень маленький и из двадцати трёх проектов нас заинтересовали только несколько C++ библиотек: EASTL, EAStdC, EABase, EAThread, EATest, EAMain и EAAssert. Проекты оказались тоже очень маленькими (около 10 файлов...

[Перевод] 4 шага для создания профиля кандидата Всем привет. В этом месяце в Отус стартует новый поток курса «IT-Recruiter.» К этому запуску мы приурочили новый полезный перевод, которым делимся с вами. Создание профиля кандидата Ваш профиль кандидата – это внутренний документ, который, по сути, представляет собой спис...

Серьёзные математические ошибки NHTSA позволили Tesla заявить о безопасности автопилота Национальная администрация безопасности дорожного движения (NHTSA) крупно рискует своей репутацией после разгромного отчёта, который опубликовала маленькая исследовательская и консалтинговая фирма под названием Quality Control Systems. Этот отчёт посвящён анализу доклада NH...

В WordPress Core могут встроить функцию создания файлов XML Sitemap Сотрудник Google Паскаль Бирчлер (Pascal Birchler) анонсировал новый проект, в котором говорится об интеграции функции создания базовых файлов XML Sitemap в WordPress Core, а также запуске XML Sitemaps API. Это предложение было разработано при участии Google, Yoast и других ...

[Перевод] Как отлаживать и профилировать любой EXE-файл с помощью Visual Studio Вам когда-нибудь нужно было отлаживать или профилировать исполняемый файл (файл .exe), для которого у вас нет исходного кода или вы не можете его собрать? Тогда наименее известный тип проекта Visual Studio, проект EXE, для вас! В Visual Studio вы можете открыть любой EXE-фа...

Flex, Qualcomm и Broadcom. Появились подробные данные о том, от кого Huawei зависит сильнее всего Ресурс Reuters опубликовал диаграммы, отображающие взаимосвязь Huawei с различными компаниями, если говорить о денежном выражении. Ниже на левой диаграмме можно видеть выручку той или иной компании, которую она получает благодаря продаже продукции компании Huawei. На п...

[Из песочницы] Перевод руководства по Stream API от Benjamin Winterberg Привет, Хабр! Представляю вашему вниманию перевод статьи "Java 8 Stream Tutorial". Это руководство, основанное на примерах кода, представляет всесторонний обзор потоков в Java 8. При моем первом знакомстве с Stream API, я был озадачен названием, поскольку оно очень созвучно...

Обзор Coda — бесплатного и функционального конкурента Notion Текстовый редактор, канбан-доски, списки задач, таблицы и диаграммы — всё это в одном приложении.

Тесты новейшей мобильной видеокарты GeForce GTX 1650. Новинка сильно обходит GTX 1050 Ti и лишь немного отстаёт от GTX 1060 Компания Nvidia недавно представила мобильные видеокарты GeForce GTX 1660 Ti и GTX 1650, которые должны сделать бюджетные игровые ноутбуки ещё более интересными для покупателей. С первыми тестами старшей карты мы уже знакомились, пришёл черёд младшей. Источник приводит...

[Из песочницы] Создание REST API с Node.js и базой данных Oracle Привет, Хабр! представляю вашему вниманию перевод статьи «Creating a REST API: Web Server Basics». Часть 1. Создание REST API: основы веб-сервера Веб-сервер является одним из наиболее важных компонентов REST API. В этом посте вы начнете свой проект API REST, создав нескольк...

[Из песочницы] Эффективные и не эффективные методы кодинга на Python Привет, Хабр! Предлагаю Вашему вниманию перевод статьи Good and Bad Practices of Coding in Python автора Duomly. Python – высокоуровневый язык программирования, акцентирующий внимание на удобочитаемости. Он разрабатывается, поддерживается и часто используется в соответствии...

Avalonia первая встреча Когда мы встречаем новый язык, мы пишем «Hello word», а когда встречаем новый UI, то создаем блокнот. Здесь же я хочу показать простейший пример дружбы с корссплатформенным GUI Framework AvaloniaUI. Читать дальше →

Представляем shell-operator: создавать операторы для Kubernetes теперь совсем просто В нашем блоге уже были статьи, рассказывающие про возможности операторов в Kubernetes и о том, как написать простой оператор самому. На этот раз хотим представить вашему вниманию наше Open Source-решение, которое выводит создание операторов на суперлёгкий уровень, — познаком...

[Перевод] Как сделать ваш HTML отзывчивым, добавив одну строку кода на CSS Привет, Хабр! представляю вашему вниманию перевод статьи «How to make your HTML responsive by adding a single line of CSS» автора Per Harald Borgen. В этой статье я научу вас, как использовать CSS Grid для создания крутой сетки изображений, которая изменяет количество сто...

[Перевод] Пример создания Makefile для Go-приложений В этом руководстве мы рассмотрим, как разработчик Go может использовать Makefile при разработке собственных приложений. Что такое Makefile-ы? Makefile — невероятно полезный инструмент автоматизации, который можно использовать для запуска и сборки приложений не только на G...

Уникальное видео позволяет оценить, как менялся список самых популярных видеокарт в Steam за последние 15 лет На сайте сервиса Steam постоянно публикуется статистика популярности видеокарт, процессоров и так далее. Но она обновляется раз в месяц, а каких-то итогов Valve зачастую не подводит. Создатели канала TheRankings на YouTube решили сделать это сами, создав динамическую д...

Зачем и как строить диаграмму Исикавы Этот метод поможет по косточкам разобрать ситуацию, когда в жизни или работе что-то пошло не так.

Представляем InterSystems API Manager (+ вебинар) Недавно мы выпустили InterSystems API Manager (IAM) — новый компонент InterSystems IRIS Data Platform, обеспечивающий наблюдение, контроль и управление трафиком в/из web API в рамках IT-инфраструктуры. В этой статье я покажу как настраивать IAM и продемонстрирую некоторые из...

[recovery mode] Расширение (плагин) SketchUp для проектирования мебели программистом При расчете стоимости новой кухни цена оказалась такой большой, что я решил сделать её сам так как это обойдется в два раза дешевле. Для тренировки решил сделать для себя рабочий стол. Достаточно быстро пришло понимание: чтобы сделать хорошую вещь нужно сделать 3D модель. Эт...

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

Rozetka.ua — «лидер» по переплатам при доставке товаров, на третьем месте — АЛЛО "Лидером" по переплатам стала Rozetka.ua (в диаграмме допущена ошибка в названии интернет-магазина), где покупатель платил в среднем на 574 грн при доставке товара.

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

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

[Из песочницы] Лучшие практики React и советы, которые каждый разработчик должен знать. Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи «React Best Practices & Tips Every React Developer Should Know Pt.1» автора Alex Devero. React — одна из самых популярных библиотек для построения интерактивных пользовательских интерфейсов. В этой статье я пока...

Sketch 55, обновление Adobe XD, шаблоны для рисования диаграмм в Figma и другие новые инструменты дизайна интерфейсов Такой микродайджест насчитал уже два десятка выпусков и постоянно вылезает за границы малого формата.

[Из песочницы] Переименовываем файлы вместе с переменными — Visual Code Мы все избалованы IDE. Хочу больше баловства! Представляю бесплатное расширение Visual Code по переименованию файлов и переменных multi-replace. Читать дальше →

Redux — пересмотр логики reducer'a и actions На днях ковыряясь в множестве файлов redux'a, где по логике файлы вынесены в reducers, actions, константы типов actions. Bсе это оказалось весьма не простая задача держа все эти типы файлов у себя в голове и прослеживать логику. И… эврика, появилась идея упрощения написания...

Уточняем описание функций системы с помощью диаграммы Sequence Уточняем описание функций системы с помощью диаграммы Sequence (продолжение "Белки") В данной статье рассмотрим, как можно детализировать (уточнить) описание автоматизируемой функции с помощью UML Sequence Diagram — диаграммы последовательности. В данном примере я использую ...

[Перевод] Почему простой дизайн сайта лучше с научной точки зрения Исследование, проведенное Google, имело два ключевых вывода: • Пользователю нужно всего 1/50 до 1/20 секунды, чтобы оценить, красивый сайт или нет. • «Визуально сложные» сайты оцениваются как менее красивые, чем их простые аналоги. Другими словами, исследование показало ...

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

AMD представила процессоры Ryzen 3000: на выбор 5 моделей, от 6-ядерного Ryzen 5 3600 за $200 до 12-ядерного Ryzen 9 3900X за $500 Наряду с 7-нанометровыми видеокартами Radeon RX 5000 компания AMD сегодня наконец-то официально представила процессоры Ryzen 3000. В отличие от 3D-карт, создатели не только раскрыли конкретные модели серии, но и их характеристики и даже стоимость. Новинок всего их пять:...

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

Процессоры Intel 11-го поколения получат 8 ядер В Сеть утекла новая техническая диаграмма 11-го поколения настольных процессоров Intel. Её опубликовал известный инсайдер @momomo_us.

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

Реверс-инжиниринг бинарного формата на примере файлов Korg SNG. Часть 2 В прошлой статье я описал ход рассуждений при разборе неизвестного двоичного формата данных. Используя Hex-редактор Synalaze It!, я показал как можно разобрать заголовок двоичного файла и выделить основные блоки данных. Так как в случае формата SNG эти блоки образуют иерар...

[Перевод] Портируем многопользовательскую игру с С++ на веб c Cheerp, WebRTC и Firebase Введение Наша компания Leaning Technologies предоставляет решения по портированию традиционных desktop-приложений в веб. Наш компилятор C++ Cheerp генерирует сочетание WebAssembly и JavaScript, что обеспечивает и простое взаимодействие с браузером, и высокую производительнос...

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

Обзор внешнего SSD Verbatim Store n Go 240 Gb Ко внешним портативным жёстким дискам мы давно уже привыкли — удобные устройства. Но сейчас рынок предлагает нам внешние SSD. Те самые, что мы ещё недавно подключали к материнской плате, устанавливая на твердотельный накопитель систему, чтобы ощутимо её ускорить. А теперь ...

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

История типизации на примере одного большого проекта Всем привет! Сегодня я расскажу вам историю развития типизации на примере одного из проектов в Ostrovok.ru. Эта история началась задолго до хайпа о typing в python3.5, более того, она началась внутри проекта, написанного еще на python2.7. 2013 год: совсем недавно был рел...

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

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

[Перевод] 12 возможностей ES10 в 12 простых примерах Перед вами перевод статьи из блога Carlos Caballero на сайте Medium.com. Автор расскажет нам о функциях, которые появились в версии ES10 2019 года. ES10 — это версия ECMAScript, актуальная для 2019 года. Она содержит не так много нововведений, как версия ES6, выпущенная в...

[Из песочницы] Как создать 2D игру с Python и аркадной библиотекой Привет, Хабр! представляю вашему вниманию перевод статьи How to create a 2D game with Python and the Arcade library автора Paul Vincent Craven Как создать 2D игру с Python и аркадной библиотекой Узнайте, как начать работу с Arcade, простой в использовании библиотеки Python д...

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

Облака созрели — время собирать урожай Станислав Мирин, ведущий консультант iKS-Consulting, представил доклад «Тренды российского облачного рынка: драйверы и перспективы» в рамках прошедшего в начале сентября MERLION IT Solutions Summit 2019. Данные на диаграммах и в таблицах презентации ...

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

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

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

[Из песочницы] Почему вы должны думать о функциональном программировании Привет, Хабр! Представляю вашему вниманию перевод своей статьи «Why you should think about functional programming», посвященной функциональному программированию. Почему вы должны думать о функциональном программировании? Давайте ответим на следующие вопросы: всегда ли в...

Microsoft выпускает новый Office Build 12228.20020 для инсайдеров Office Microsoft выпустила новую версию Office для инсайдеров. Новая сборка 12228.20020 представила новые функции для Excel, PowerPoint, Visio, Word. Помимо этого, она приносит множество исправлений ошибок. Вы можете прочитать официальный список изменений ниже.Обновления функцийExc...

[Из песочницы] Система Управления Тесткейсами QuAck — простые радости тестирования Привет, Хабр! Представляю вашему вниманию перевод статьи «QuAck — the joy of testing» автора Aziz Namazov. Сегодня я затрону непростую тему жизненного цикла программного обеспечения. Тема эта достаточно сложная и многогранна, включающая в себя все этапы, начиная от дизайн...

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

CUBA 7: что нового? Три года назад мы объявили о выходе CUBA 6. Та версия стала революционной: вместо закрытой проприетарной лицензии мы стали распространять фреймворк свободно, по лицензии Apache 2.0. В то время мы не могли даже и близко представить, насколько это отразится на развитии фреймв...

Kubernetes 1.16 — как обновиться и ничего не сломать Сегодня, 18 сентября, выходит очередная версия Kubernetes — 1.16. Как всегда нас ждет много улучшений и новинок. Но я хотел бы обратить ваше внимание на разделы Action Required файла CHANGELOG-1.16.md. В этих разделах публикуются изменения, которые могут сломать работу ваш...

The state of CSS В ежегодном опросе «The state of JavaScript» разработчики рассказывают о том, что они используют здесь и сейчас. Вопросы там знакомы и привычны фронтенд-сообществу. В 2019 году появился опрос «The state of CSS», который ввёл разработчиков в ступор. Оказывается, многие технол...

Трансформация кода в Android 2. Анализ AST Первая часть Пример на Github В этой статье расскажу о том, как решал проблемы, с которыми столкнулся в предыдущей части при реализации проекта. Во-первых, при анализе трансформируемого класса, нужно как-то понять, является ли этот класс наследником Activity или Fragment...

[Из песочницы] Ревизия уровней доступа пользователей с помощью Power BI на примере CMS Битрикс (БУС) В статье показан пример применения Power BI для анализа доступов пользователей на сайте под управлением 1С-Битрикс. Читать дальше →

[Перевод] Виды компиляции в JVM: сеанс черной магии с разоблачением Всем привет! Сегодня вашему вниманию предлагается перевод статьи, в котором на примерах разобраны варианты компиляции в JVM. Особое внимание уделено AOT-компиляции, поддерживаемой в Java 9 и выше. Приятного чтения! Читать дальше →

Навигация для Android с использованием Navigation Architecture Component: пошаговое руководство Попробуем, пользуясь официальным руководством и примерами кода, построить работающую систему навигации для будущего многоэкранного приложения в соответствии со стандартами Navigation Architecture Component. Статья включает следующие разделы: Часть 1. Подготовительные работ...

Обзор внешнего SSD-накопителя SanDisk Extreme 900 Portable: если важна скорость… Внешние твердотельные накопители пока дороговаты, но, если вам постоянно нужно переносить файлы больших объемов, стоит потратиться. Изучаем, насколько они быстрые, и стоят ли своих денег на примере SanDisk Extreme 900 Portable.

[Из песочницы] Краткое введение в рекурсию. JavaScript Перевод: Привет, Хабр! Представляю вашему вниманию перевод статьи "A Quick Intro to Recursion in Javascript" Yazeed Bzadough. Примечание. Рекурсия не единожды обсуждалась на хабре, но данная статья даёт базовое понимание рекурсии. Это будет полезно начинающим разр...

[Перевод] Почему вам следует использовать pathlib От переводчика: Привет, хабр! Представляю вашему вниманию перевод статьи Why you should be using pathlib и её продолжения, No really, pathlib is great. Много внимания нынче уделяется таким новым возможностям Python, как asyncio, оператору :=, и опциональной типизации. При э...

Анализируем тональность текстов с помощью Fast.ai В статье пойдет речь о классификации тональности текстовых сообщений на русском языке (а по сути любой классификации текстов, используя те же технологии). За основу возьмем данную статью, в которой была рассмотрена классификация тональности на архитектуре CNN с использование...

[Из песочницы] Вещи, которых я не знаю в 2018 Привет, Хабр! Представляю вашему вниманию перевод статьи "Things I Don’t Know as of 2018" автора Дэна Абрамова. Люди обычно думают, что я знаю многое, но это не так на самом деле. Это не так плохо и я совсем не жалуюсь. (Некоторая малая часть людей часто страдает от предвзят...

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

Три парадигмы асинхронного программирования в Vertx Я хочу показать три парадигмы асинхронного программирования — callbacks, futures, coroutines на примере простого веб приложения на фрейморке Vertx. Код будем писать на Котлине. Допустим у нас есть приложение, которое получает некую строку в HTTP запросе, по ней ищет URL в б...

Бизнес-процессы в enterprise компаниях: домыслы и реальность. Проливаем свет с помощью R Краткая заметка по теме business process mining в контексте роста интереса к концепции "digital twin". В силу периодического выплывания этой темы считаю целесообразным поделиться подходами к решению. Постановка задачи Ситуация предельно проста. Есть компания X (Y, Z, ...)....

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

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

[Из песочницы] Как при помощи 2 видов unit-тестов сделать приложение более стабильным Привет, Habr. Меня зовут Илья Смирнов, я Android-разработчик в компании FINCH. Хочу показать вам несколько примеров работы с Unit-тестами, которые мы наработали у себя в команде. В наших проектах используется два вида Unit-тестов: проверка на соответствие и проверка на выз...

[Перевод] Затраты на AWS, которые должен знать каждый программист Заголовок этого поста — прямая отсылка к диаграмме «Времена задержек, которые должен знать каждый программист». В настоящее время есть несколько версий этой диаграммы, и трудно установить оригинального автора. Некоторые говорят, что это Джефф Дин. Если вы работаете над прое...

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

[Из песочницы] Делаем простой Circuit Breaker на базе кеша в Spring Эта статья для тех, кто использует в своем приложении эффективный кеш и хочет простым добавлением 1 класса в проект добавить стабильности не только приложению, но и всему окружению. Если вы узнали себя, читайте дальше. Что такое Circuit Breaker Читать дальше →

Зрелая исполняемая среда для контейнеров: containerd стал «выпускником» CNCF За проектом containerd мы следим с самого его начала. Посему не можем обойти вниманием значимое событие: минувшей ночью организация CNCF, стоящая за Kubernetes и другими выдающимися Open Source-решениями для мира cloud native, объявила containerd своим «выпускником». Этот пр...

Сравнительное тестирование PostgreSQL на FreeBSD, CentOS, Ubuntu Debian и openSUSE Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи «PostgreSQL benchmark on FreeBSD, CentOS, Ubuntu Debian and openSUSE» автора Martin Kováčik. В ней рассматриваются тесты СУБД PostgreSQL 10.1 в приближенных к реальным условиям средах на различных unix-сис...

[Из песочницы] История второго места в Mini AI Cup 4: Paper IO Меня зовут Волков Игорь. Я работаю в консалтинговой компании на позициях Java разработчика, архитектора, руководителя команды, технического менеджера. Разные роли в зависимости от текущих потребностей проекта. Обратил внимание на конкурсы от mail.ru давно, но активно поучаст...

#Октава #MK119 – переиздание классического микрофона MK219 Российская компания Oktava, базирующаяся в городе Тула, представила новый микрофон MK119, основанный на модели MK219, производство которой было прекращено в 2010 году. Новинка предлагает винтажный характер звучания и подойдет для записи голоса, акустической гитары, с...

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

[Из песочницы] Full-stack TypeScript Apps Привет, Хабр! Представляю вашему вниманию перевод статьи "Full-Stack TypeScript Apps — Part 1: Developing Backend APIs with Nest.js" автора Ana Ribeiro. Часть 1: Разработка серверного API с помощью Nest.JS TL;DR: это серия статей о том, как создать веб-приложение TypeScript ...

Сэмплирование с температурой Недавно натолкнулся на вопрос в чате ODS: почему алгоритм, генерирующий текст буква-за-буквой, сэмплит буквы не из p (вектор вероятностей следующей буквы, предсказанный языковой моделью), а из p'=softmax(log(p)/t) (где t — это ещё какой-то непонятный положительный скаляр)? Б...

[Перевод] 10 лучших JavaScript библиотек для визуализации данных на графиках и диаграммах Есть в графиках что-то магическое. Изгиб кривой мгновенно раскрывает всю ситуацию — историю развития эпидемии, паники или периода процветания. Эта линия просвещает, пробуждает воображение, убеждает. ― Генри. Д. ХаббардОбъемы данных, с которыми нужно работать, постоянно увели...

[Перевод] Государственный университет Адамс. Как взламывать веб-сайты. Часть 2 Государственный университет Адамс. Как взламывать веб-сайты. Часть 1 Давайте поговорим о нашей следующей атаке. Расскажу, как серверы вас идентифицируют. Для этого между браузером и сервером используется протокол HTTP без сохранения состояния, когда общение с сервером проис...

Neutralinojs — что ты такое? Или UNIX way там, где не ждали Недавно я совершенно случайно наткнулся на простую рекламную заметочку "Neutralinojs — альтернатива Electron, потребляющая меньше памяти", рассказывающую о том, что есть такая крутая вещь как Neutralinojs. Заметочка, как и следует ей быть, совсем короткая и не несёт никакой ...

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

[Из песочницы] Интернет проект security.txt — знакомство с еще одним .well-known файлом Основная идея проекта — формализация взаимодействия между внутренней ИБ и внешними исследователями, давая четкое указание как и куда направлять информацию об уязвимостях или проблемах безопасности. Формализация взаимодействия — серьезная проблема, не все сайты имеют программ...

[Перевод] Как приоритеты pod'ов в Kubernetes стали причиной простоя в Grafana Labs Прим. перев.: Представляем вашему вниманию технические подробности о причинах недавнего простоя в работе облачного сервиса, обслуживаемого создателями Grafana. Это классический пример того, как новая и, казалось бы, исключительно полезная возможность, призванная улучшить кач...

Natas Web. Прохождение CTF площадки, направленной на эксплуатацию Web-уязвимостей В данной статье мы разберемся с эксплуатацией некоторых WEB-узвимостей на примере прохождения варгейма Natas. Каждый уровень имеет доступ к паролю следующего уровня. Все пароли также хранятся в файлах /etc/natas_webpass/. Например, пароль для natas5 хранится в файле /etc/n...

Natas Web. Прохождение CTF площадки, направленной на эксплуатацию Web-уязвимостей. Часть 2 В данной статье мы разберемся с эксплуатацией некоторых WEB-узвимостей на примере прохождения варгейма Natas. Каждый уровень имеет доступ к паролю следующего уровня. Все пароли также хранятся в файлах /etc/natas_webpass/. Например, пароль для natas5 хранится в файле /etc/n...

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

[Из песочницы] Лицензия для проектов с открытым исходным кодом, которая обязывает пользователей «не причинять вред» Привет, Хабр! Представляю вашему вниманию перевод статьи «An Open Source License That Requires Users to Do No Harm» автора Klint Finley. Китай использует технологии распознавания лиц, чтобы вычислять уйгурских мусульман. Военные США используют дроны для убийства подозрева...

[Перевод] Перенос десктопных приложений на .NET Core С тех пор, как я начала работать с сообществом над переносом десктопных приложений с .NET Framework на .NET Core, я заметила, что существует «два лагеря»: представители одного хотят очень простой и короткий список инструкций для переноса своих приложений на .NET Core, в то в...

Использование DbTool для засеивания (seeding) баз данных в приложениях .NET (Core) Представляем вашему вниманию DbTool — утилиту командной строки для экспорта данных БД в различные форматы и open-source библиотеку Korzh.DbUtils, использование которых может значительно упростить первоначальное "засевание" базы данных в вашем .NET (Core) приложении. С помощь...

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

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

Natas Web. Прохождение CTF площадки, направленной на эксплуатацию Web-уязвимостей. Часть 5 В данной статье мы разберемся с эксплуатацией некоторых WEB-узвимостей на примере прохождения варгейма Natas. Каждый уровень имеет доступ к паролю следующего уровня. Все пароли также хранятся в файлах /etc/natas_webpass/. Например, пароль для natas5 хранится в файле /etc/n...

Natas Web. Прохождение CTF площадки, направленной на эксплуатацию Web-уязвимостей. Часть 4 В данной статье мы разберемся с эксплуатацией некоторых WEB-узвимостей на примере прохождения варгейма Natas. Каждый уровень имеет доступ к паролю следующего уровня. Все пароли также хранятся в файлах /etc/natas_webpass/. Например, пароль для natas5 хранится в файле /etc/n...

Natas Web. Прохождение CTF площадки, направленной на эксплуатацию Web-уязвимостей. Часть 3 В данной статье мы разберемся с эксплуатацией некоторых WEB-узвимостей на примере прохождения варгейма Natas. Каждый уровень имеет доступ к паролю следующего уровня. Все пароли также хранятся в файлах /etc/natas_webpass/. Например, пароль для natas5 хранится в файле /etc/n...

Microsoft Office Insider Build 12126.20000: потоковые диаграммы Visio из Excel Microsoft выпустила новую версию Office для инсайдеров в Windows. Новая сборка 12126.20000 позволяет создавать потоковые диаграммы Visio из Excel. Кроме того, новая версия Office Insider содержит множество исправлений ошибок. Вы можете прочитать официальный список изменений ...

По вашим заявкам: профессиональный тест SSD-накопителей Kingston DC500R и DC500M Вы просили показать реальные примеры использования наших корпоративных SSD-накопителей и профессиональные тесты. Предоставляем вашему вниманию подробный обзор наших SSD-накопителей Kingston DC500R и DC500M от нашего партнера Truesystems. Эксперты Truesystems собрали реальный...

Планирование проектов в организации (часть 4) Я продолжаю цикл публикаций о Pulse Management — Управление проектной организацией (Метод Пульса). В этой статье я расскажу о самой «вкусной» части: Планирование проектов. Планирование — это самая простая и самая сложная часть любого проекта основанного целью которого являет...

Ищем и анализируем ошибки в коде Orchard CMS Эта статья – результат повторной проверки проекта Orchard с помощью статического анализатора PVS-Studio. Orchard это система управления контентом с открытым исходным кодом, которая является частью галереи ASP.NET-проектов некоммерческого фонда Outercurve Foundation. Проверк...

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

Динамическая генерация DAG в Airflow Всем привет! Меня зовут Антон, в Ростелекоме я занимаюсь разработкой центрального хранилища данных. Наше хранилище состоит из модулей, в качестве оркестратора которых используются несколько инстансов Informatica, часть из которых мы хотим перевести на Airflow в рамках перехо...

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

«РИА Новости» в VR покажет 17 утраченных шедевров русского искусства 16 полотен русских художников и выдающийся архитектурный объект, которые были утрачены, теперь можно увидеть в новом уникальном проекте «РИА Новости» в формате виртуальной реальности «Музей исчезнувших картин». Партнером проекта стал Государственный Русский музей.

[Из песочницы] CI/CD, используя Jenkins на Kubernetes Добрый день. На Хабре уже есть несколько статей о jenkins, ci/cd и kubernetes, но в данной я хочу сконцентрироваться не на разборе возможностей этих технологий, а на максимально простой их конфигурации для постройки ci/cd pipeline. Я подразумеваю, что читатель имеет базовое ...

[Из песочницы] ClusterJ — работаем с MySQL NDB Cluster из Java Привет, Хабр! В этой статье я хочу рассмотреть такую библиотеку для Java, как ClusterJ, которая позволяет очень просто работать с движком MySQL NDBCLUSTER из Java кода, которая представляет собой высокоуровневое API, схожее по концепции с JPA и Hibernate. В рамках статьи со...

Создаем виджет с помощью пользовательских CSS-свойств: встраиваем кастомную ссылку на сайт NHL Автор курса Нетологии «HTML-верстка», Стас Мельников, показал пример верстки виджета, который можно встроить на сторонний сайт. В прошлый раз мы рассказали, что такое пользовательские свойства, а сейчас на примере сайта NHL покажем, как с их помощью встроить кастомную ссыл...

[Из песочницы] HTML, который мы потеряли Привет, Хабр! Представляю вашему вниманию перевод статьи "The HTML we never had" автора Сергея Кучерова. В этом году исполняется 30 лет с тех пор, как Бернерс-Ли начал разрабатывать язык HTML. С тех пор мы прошли долгий путь, начиная с восхищения новой технологией,...

Доживем до понедельника или как пережить чёрную пятницу Завтра «Черная Пятница» — для интернет проектов это означает, что будут пиковые нагрузки на сайт. Их могут не выдержать даже гиганты, так например, случилось с Amazon в Prime Day в 2017 году.  Мы решили привести несколько простых примеров работы с виртуальным сервером, чт...

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

Security Week 47: нетривиальные уязвимости В прошлом году у нас уже был дайджест про нетривиальные атаки. Тогда речь шла про DoS-атаку на ПК через акустическое воздействие на жесткий диск и кражу пользовательских данных через хак со стилями CSS. А на прошлой неделе как раз было опубликовано два исследования про уязви...

Генерация документов с помощью ONLYOFFICE DocumentBuilder Привет, Хабр. Я хочу рассказать об утилите под названием DocumentBuilder, которая позволяет генерировать документы, таблицы и презентации, а также показать, как можно его использовать для решения ваших задач, на примере создания резюме из шаблонов. Работает билдер следующи...

Проект Collage: как бороться с интернет-цензурой с помощью пользовательского контента Группа ученых из технологического университета штата Джорджия опубликовала концепцию нового инструмента обхода блокировок. Проект получил название Collage, и его концепция предполагает использование так называемого user-generated content. Мы представляем вашему вниманию ос...

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

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

[Перевод] Parcel — мой любимый сборщик проектов Сегодня мы поговорим о сборщиках проектов (о бандлерах), об инструментах, которые облегчают жизнь разработчиков. Суть работы бандлеров заключается в том, что они берут JavaScript-код, содержащийся во множестве файлов, и упаковывают его в один или несколько файлов, определённ...

Как вредоносы обходят песочницы с помощью Visual Basic Мы в JSOC CERT ежедневно сталкиваемся с событиями из разных песочниц, которые функционируют в составе AntiAPT-решений наших заказчиков и пропускают через себя тысячи файлов из web- и почтового трафика. Стоит отметить, что современные Sandbox-системы в своем развитии ушли нам...

Как не промахнуться с бюджетом на серийное производство корпусов: 20 примеров из практики бюро по инженерному дизайну Публикация всего двух статей о том, как самостоятельно оценить стоимость производства корпуса для прибора (первая и вторая) подняла просто волну запросов из серии «А вот сколько будет стоить наш корпус при тираже 5-100-1000- ∞ штук?» Как выясняется в ходе общения, большин...

Читаем даташиты 2: SPI на STM32; ШИМ, таймеры и прерывания на STM8 В первой части я попробовал рассказать хобби-электронщикам, выросшим из штанишек Ардуино, как и зачем им стоит читать даташиты и прочую документацию к микроконтроллерам. Текст получился большой, поэтому я пообещал практические примеры показать в отдельной статье. Ну что же,...

[Из песочницы] Управление зависимостями в многомодульном проекте на градл Вступление Статья пишется с прицелом на нативные андроид проекты, но, так как градл универсальная система сборки, в принципе, подойдет и для других проектов, которые может собрать градл. Идея не моя, я ее подчерпнул из гитхаб проекта у Jake Wharton SdkSearch — набор програм...

Подборка интересных докладов с конференции 35C3 В конце декабря 2018 года в Лейпциге прошел 35-й Chaos Communications Congress. В этом году конгресс порадовал большим количеством отличных технических докладов. Представляю вашему вниманию подборку самых интересных из них (в хронологическом порядке). Читать дальше →

Внутренние и вложенные классы java. Часть 2 Внутренние и вложенные классы java 02.03.2017 — 2019 год <<< Часть 1 Часть 2 Внутренние классы Inner Classes — Внутренние классы Внутренний класс связан с экземпляром его обрамляющего класса (из документации). Пример внутреннего класса есть в документации...

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

GPT-2 нейросеть от OpenAI. Быстрый старт Не успели отшуметь новости о нейросети BERT от Google, показавшей state-of-the-art результаты на целом ряде разговорных (NLP) задач в машинном обучении, как OpenAI выкатили новую разработку: GPT-2. Это нейронная сеть с рекордным на данный момент числом параметров (1.5 млрд,...

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

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

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

SamsPcbGuide, часть 13: Использование IBIS-моделей В этой спонтанной статье решил поделиться опытом применения IBIS-моделей на примере простой задачи. Читать дальше →

Металлообработка на станках с ЧПУ: как начать выпускать продукцию мирового уровня? Представляю вашему вниманию статью на тему цифровизации производства и выпуска продукции нового поколения. В материале пойдет речь о CAD-CAM-системе как важной составляющей конкурентоспособного производства. В качестве примера расскажу об одной из таких систем – Solid Edge+S...

Трансляция проектов и библиотек из Altium Designer в PADS Professional Часто у инженеров возникает необходимость транслировать проекты из одной САПР в другую. На предприятиях не редко бывает такая ситуация, когда разные отделы проектируют в разных САПРах. Также трансляция проектов может потребоваться, когда ваша система проектирования уже не с...

EaseUS Data Recovery Wizard Pro — легкий способ восстановить удаленные файлы Когда ты случайно удалил важный файл или потерял данные, потому что вирус, который ты скачал посмотреть, внезапно вырвался из-под контроля и начал уничтожать все подряд, последнее, что хочется делать, — это возиться со сложным софтом. Если ты хочешь получить свои файлы обрат...

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

PVS-Studio идёт в облака: Azure DevOps Это вторая статья про использование статического анализатора PVS-Studio в облачных CI-системах, и на этот раз мы рассмотрим платформу Azure DevOps – облачное CI\CD-решение от компании Microsoft. В качестве анализируемого проекта в этот раз рассмотрим ShareX. Читать дальше ...

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

[Перевод] Тестирование Node.js-проектов. Часть 1. Анатомия тестов и типы тестов Автор материала, первую часть перевода которого мы сегодня публикуем, говорит, что он, как независимый консультант по Node.js, каждый год анализирует более 10 проектов. Его клиенты, что вполне оправданно, просят его обратить особое внимание на тестирование. Несколько месяцев...

Soyuz 013 FET – конденсаторный микрофон c малой диафрагмой Компания Soyuz выпустила конденсаторный микрофон 013 FET, который предлагает точный естественный звук в сочетании с мягким верхом и насыщенным низом.Модель представляет собой конденсаторный микрофон с малой диафрагмой, капсюлем с золотым напылением и тороидальным трансфо...

[Перевод] Разбираемся с промисами в JavaScript Доброго времени суток, Хабр! Представляю вашему вниманию перевод статьи «Understanding Promises in JavaScript» автора Sukhjinder Arora. Читать дальше →

[Перевод] «Тетрис» в роли принтера Поворачивая, переставляя и опуская вниз заранее заданную последовательность фигур, Tetris Printer Algorithm использует механику «Тетриса» для генерации произвольных битовых изображений. Описание алгоритма Алгоритм построчно преобразует пиксели исходного изображения в квадр...

Google начал показывать диаграммы с ценами по отелям в основной выдаче Google начал показывать интерактивные диаграммы с ценами по конкретному отелю в основной выдаче. Ранее эта функция была доступна только в туристических вертикалях поиска. Ниже – SERP по запросу [New York Marriott Marquis] в Google.com.ua: Информация о ценах предоставляется п...

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

[Перевод] Строители против синтаксиса Java Шаблон проектирования «строитель» — один из самых популярных в Java. Он простой, он помогает делать объекты неизменяемыми, и его можно генерировать инструментами вроде @Builder в Project Lombok или Immutables. Но так ли удобен этот паттерн в Java? Читать дальше →

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

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

Сервер, ты меня слышишь? BROP-атака на примере задания NeoQUEST-2019 Как найти уязвимость на сервере, не имея информации о нём? Чем BROP отличается от ROP? Можно ли скачать исполняемый файл с сервера через переполнение буфера? Добро пожаловать под кат, разберём ответы на эти вопросы на примере прохождения задания NeoQUEST-2019! Читать дальш...

Кастомизация Django ORM на примере ZomboDB Кастомизация Django ORM на примере ZomboDB Часто при работе с Django и PostgreSQL возникает необходимость в дополнительных расширениях для базы данных. И если например с hstore или PostGIS (благодаря GeoDjango) всё достаточно удобно, то c более редкими расширениями — вроде p...

В принятии решений губернаторам поможет «умная» система Система представлена на XII Тюменском цифровом форуме "Инфотех-2019".Разработка включает в себя программную и интеграционную платформы, а также более сотни готовых аналитических модулей, охватывающих все сферы государственного управления. Система собирает сведения ...

[Из песочницы] WWDC19: Приступим к работе с Test Plan для XCTest Привет, Хабр! Представляю вашему вниманию перевод статьи «WWDC19: Getting Started with Test Plan for XCTest» автора Shashikant Jagtap. На прошедшей конференции WWDC компания Apple показала новые классные фичи для разработчиков. В Xcode 11 так же добавлено несколько потряс...

Алгоритмы поиска простых чисел «Самое большое простое число 232582657-1. И я с гордостью утверждаю, что запомнил все его цифры… в двоичной форме». Карл Померанс Число называется простым, если оно имеет только два различных делителя: единицу и само себя. Задача поиска простых чисел не дает покоя математи...

[Перевод] C# или Java? TypeScript или JavaScript? Классификация языков программирования на основе машинного обучения На GitHub представлено больше 300 языков программирования, начиная с общеизвестных языков, таких как Python, Java, и Javascript, и заканчивая эзотерическими языками, такими как Befunge, известными только малым группам людей. Топ-10 языков программирования, размещенных на Gi...

Новые наушники Razer Kraken X с восьмиканальным звуком за $ 50 Игровые гарнитуры Razer's Kraken, без сомнения, являются основой бренда, когда речь заходит о аудио продуктах. Компания представила новое дополнение к линейке Kraken под названием Razer Kraken X, которое позиционируется как самая легкая игровая гарнитура на рынке. Точный вес...

[Перевод] Архитектурная шизофрения Facebook Libra Спустя два года я вернулся к блогу ради поста, который отличается от обычных занудных лекций о Haskell и математике. Последние несколько лет я занимался финансовыми технологиями в ЕС, и, кажется, пришло время написать на тему, которой технические СМИ уделили мало внимания. ...

React + Mobx: в чём смысл? Сегодня я хочу рассказать вам о том, как на нашем проекте состоялся переход на Mobx, какие преимущества это даёт. Также будет показан типовой проект и даны пояснения по основным вопросам. Но сначала вводные. Читать дальше →

[Из песочницы] Реверс-инжиниринг бинарного формата на примере файлов Korg .SNG Мы живем в удивительное время. Вокруг нас изобилие техники: телефоны, компьютеры, умные часы и прочие гаджеты. Каждый день производители выпускают на рынок все новые и новые устройства. Большинству их них предначертана короткая и яркая (или не очень) жизнь: мощная маркетин...

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

[Из песочницы] Vue.js render-функции и переходы (перевод статьи Hajime Yamasaki Vukelic) Здравствуй, Хабр! Начать свою деятельность решил с перевода на русский статей, который мне самому принесли большую пользу. Надеюсь, вам пригодятся. Отмечу, что я старался переводить литературно, а не дословно. Первым вашему вниманию представляю перевод статьи «Vue.js rende...

Тесты Intel Core i9-9900KS показывают, что это в целом бессмысленный процессор Два дня назад Intel представила процессор Core i9-9900KS, а уже сегодня он поступил в продажу. Также сегодня тематические издания опубликовали свои обзоры данного CPU. Так как Core i9-9900KS от Core i9-9900K отличается крайне мало, мы не будет заострять внимание на про...

Яндекс.Облако запустило сервис для визуализации и анализа бизнес-данных В Yandex DataLens можно анализировать данные из разных источников: с помощью встроенных коннекторов подключать к системе реляционные базы данных и API Яндекс.Метрики, загружать файлы. Данные можно представить в виде графиков, диаграмм и таблиц и объединить на одном дашборде....

Ломаем простую «крякми» при помощи Ghidra — Часть 2 В первой части статьи мы при помощи Ghidra провели автоматический анализ простой программы-крякми (которую мы скачали с сайта crackmes.one). Мы разобрались с тем, как переименовывать «непонятные» функции прямо в листинге декомпилятора, а также поняли алгоритм программы «верх...

[Перевод] Создание пиксельной туманности при помощи шума и Median Cut Я хотел, чтобы в моей игре The Last Boundary была туманность. Они потрясающе выглядят и космос без них не космос, а просто разбросанные по фону белые пиксели. Но так как игру я делаю в стиле «пиксель-арт», то мне нужно было как-то заставить мою библиотеку шума генерировать п...

На пути к ядру Питона Привет, Хабр! Представляю вашему вниманию перевод статьи Toward a “Kernel Python” автора Glyph Lefkowitz (создателя фреймворка Twisted). Подробнее — под катом. Читать дальше →

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

Работа с форматом конфигураций 1С: Предприятие Решил опубликовать исходный код C# для работы с форматом конфигураций 1С: Предприятие. https://github.com/elisy/MdInternals MdInternals понимает формат cf, cfu, epf, erf, распаковывает содержимое в удобочитаемые Xml и текстовые файлы и загружает обратно. Позволяет програм...

[Из песочницы] Первое, что нужно сделать запуская проект на Django Приветствую сообщество, встала передо мной задача написать социальную сеть. А коль скоро язык программирования, которым я более-менее владею — это Python, я выбрал фреймворк Django для реализации проекта. Чтобы не тратить время на написание HTML шаблонов и CSS стилей, эти фа...

За два года доля AMD на рынке процессоров в странах Бенилюкса выросла с 10% до 43% За тем, как процессоры AMD активно теснят CPU Intel, мы последнее время могли наглядно наблюдать благодаря ежемесячным отчётам из крупного немецкого онлайн-магазина Mindfactory. Теперь же у нас есть возможность взглянуть на иную статистику, которая подтверждает наращива...

Peephole микрооптимизации в С++ и C# компиляторах В школе, когда мы решали уравнения или считали формулы, мы пытались их сперва сократить несколько раз, к примеру Z = X - (Y + X) сокращается в Z = -Y. В современных компиляторах это подмножество так называемых peephole-оптимизаций, в которых мы по, грубо говоря, набору шабло...

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

#Soyuz 013 Tube – ламповый конденсаторный микрофон Компания Soyuz выпустила микрофон 013 Tube, который сочетает в себе точную передачу записываемого звукового материала с лучшей в своем классе скоростью работы с транзиентами. Модель в первую очередь предназначена для записи инструментов и способна улавливать мельчайшие детал...

[Из песочницы] Создание многомодульного Gradle проекта SpringBoot + Angular в IDEA Достаточно часто в моей практике используется связка Spring + Angular. Хочу поделится своим опытом по подготовке подобного проекта в среде разработки IntelliJ IDEA. Создаем пустой Gradle проект Для начала создадим пустой Gradle проект в IDEA, при этом снимите все галочки би...

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

За всё ответишь! Consumer Driven Contracts глазами разработчика В этой статье мы расскажем про проблемы, которые решает Consumer Driven Contracts, покажем как это применять на примере Pact с Node.js и Spring Boot. И расскажем про ограничения этого подхода. Проблематика При тестировании продуктов часто используют сценарные тесты, в кот...

Общая сумма украденных с биткоин-бирж средств превысила $1,35 млрд Согласно расчетам аналитиков The Block, за всю историю криптоиндустрии сумма похищенных с крупных бирж средств превысила $1,35 млрд. Примечательно, что больше половины от этой суммы (59%) злоумышленники заполучили в течение 2018 года. На диаграмме ниже проиллюстрированы круп...

В «Яндекс.Такси» разработали прибор для анализа усталости водителей Устройство представляет собой камеру, анализирующую уровень внимания водителя на дороге с помощью технологий компьютерного зрения.

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

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

[Из песочницы] Построение сервис-ориентированной архитектуры на Rails + Kafka Привет, Хабр! Представляю вашему вниманию пост, который является текстовой адаптацией выступления Stella Cotton на RailsConf 2018 и переводом статьи «Building a Service-oriented Architecture with Rails and Kafka» автора Stella Cotton. В последнее время отчетливо виден перех...

[Из песочницы] 27 вещей, которые я хотел бы узнать заранее, прежде чем начинать программировать Привет, Хабр! Представляю вашему вниманию перевод статьи «27 things I wish I knew when I started programming» автора Ken Mazaika. Заранее, прежде чем начинать программировать, хотелось бы узнать массу вещей, но вот 27 из них, которые приходят на ум. Читать дальше →

Масштабный тест видеокарты Radeon VII в 25 играх демонстрирует превосходство новинки над Radeon RX Vega 64 Во время презентации видеокарты AMD Radeon VII компания показала несколько слайдов, которые указывали на то, что новинка обходит Radeon RX Vega 64 на 25-42% и даже способна на равных тягаться с GeForce RTX 2080. Правда, глава Nvidia весьма резко выразил свои сомнения на...

[Из песочницы] Феерический screensaver для Kodi Назначение хранителя экрана для «Kodi» Проект предназначен для создания «Феерического» хранителя экрана с минимальным количеством исходного кода на языке Python. Проект является простейшим плагином для мультимедиа центра Kodi. Проект показывает как можно создать очень кра...

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

[Из песочницы] Унификация правил валидации на примере Asp core + VueJS В статье описывается простой способ унификации правил валидации пользовательского ввода клиент-серверного приложеия. На примере простого проекта, я покажу как это можно сделать, с использованием Asp net core и Vue js. Разрабатывая веб приложения, мы как правило сталкаваемся...

[Из песочницы] Почему нельзя установить размер шрифта у посещенной ссылки Привет, Хабр! Представляю Вашему вниманию перевод статьи «Why can’t I set the font size of a visited link?» автора Jim Fisher. Посещенные ссылки отображаются фиолетовым; не посещенные — голубым. Это различие пришло к нам с времен появления веба. Но CSS позволяет нам перен...

[Перевод] PowerShell в роли инструмента для пентеста: скрипты и примеры от Varonis Хакеры любят использовать PowerShell для запуска «fileless malware» — бестелесных вредоносных программ, которые не являются традиционными бинарными файлами с компилированным вредоносным кодом, и по этой причине подчас не могут быть обнаружены антивирусными решениями. Powe...

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

Сжимаем APK, стараясь сохранить его работоспособность / PxHere / PD Оптимизация веса APK — это нетривиальная, но очень актуальная во времена Instant App, задача. Включение proguard избавит вас от ненужного кода, если ваши зависимости можно определить на этапе компиляции, но в APK есть ещё несколько видов файлов, которые можно ...

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

Intel Stratix 10 DX — завершение линейки FPGA Stratix 10 Выводя в свет свою новую 10-нм линейку FPGA Agilex, Intel одновременно завершает формировать уже широко известное и хорошо зарекомендовавшее себя семейство Intel Stratix 10. Последняя из выведенных на рынок разновидностей, 10 DX, характеризуется архитектурными нововведениями...

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

Близкие контакты ADL-ной степени Как навсегда вписать своё имя в историю? Первыми слетать на Луну? Первым встретиться с инопланетным разумом? У нас есть способ проще — можно вписать себя в стандарт языка C++. Хороший пример показывает Эрик Ниблер — автор C++ Ranges. «Запомните это. 19 февраля 2019 года — д...

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

[Перевод] Функциональное программирование: дурацкая игрушка, которая убивает производительность труда. Часть 2 Сегодня мы представляем вашему вниманию продолжение перевода материала о вреде так называемого «функционального» программирования. Читать дальше →

[Из песочницы] Учебник по JavaFX: начало работы Привет, Хабр! Представляю вашему вниманию перевод статьи «JavaFX Tutorial: Getting started» автора Vojtech Ruzicka. Как настроить и начать работать с JavaFX, с помощью Maven, Gradle или JavaFX SDK. Читать дальше →

[Перевод] Новый алгоритм поиска пути в Factorio На прошлой неделе мы говорили в своём блоге об изменениях, которые позволят врагам (biters) не наталкиваться друг на друга, но это было не единственное обновление, связанное с biter-ами. Совпало так, что в обновления этой недели вошло то, над чем мы работали предыдущие неск...

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

Простой москвич Levelord: интервью с создателем Duke Nukem RUVDS совместно с Хабром продолжают проект, состоящий из серии интервью с интересными, на наш взгляд людьми в IT-среде. В прошлый раз мы познакомились с главным «по мозгам» Алисы в Яндексе Борисом Янгелем. Сегодня представляем вашему вниманию интервью с Ричардом (Levelord) ...

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

[Перевод] 5 распространенных ошибок при использовании архитектурных компонентов Android Даже если вы не делаете этих ошибок, стоит о них помнить, чтобы не столкнуться с некоторыми проблемами в будущем. Читать дальше →

Антон Беличков: «Самый простой способ понять мощь OpenStreetMap — начать самому править карту» Антон Беличков (az09) — программист из Магнитогорска, который, как почти все герои моих интервью про мир OSM, пришел в этот проект 10 лет назад. Он — теплая мудрость и твердый дух сообщества RU-OSM. Почему так важен институт наставничества, как нам догнать Америку и чего хо...

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

Сборка Android-проекта в Docker-контейнере Разрабатывая проект под платформу Android, даже самый небольшой, рано или поздно приходится сталкиваться с окружением для разработки. Кроме Android SDK, необходимо чтобы была последняя версия Kotlin, Gradle, platform-tools, build-tools. И если на машине разработчика все эти ...

[Перевод] Вычисление 2D-коллизий: алгоритм Гилберта — Джонсона — Кирти Я занялся изучением процессов распознавания коллизий, и это привело меня к алгоритму Гилберта — Джонсона — Кирти (Gilbert-Johnson-Keerthi, GJK). Все примеры кода в посте написаны на TypeScript. В примерах используются созданные мной структуры, которые подробно в посте не р...

Подключаем онлайн-карты к навигатору на смартфоне. Часть 1 — стандартные растровые карты Что из себя представляют онлайн-карты? Как узнать адрес сервера заинтересовавшей вас карты? Как создать файл с настройками, который позволит навигатору на смартфоне подключиться к этой карте? Читать дальше →

[Перевод] Топ-10 самых распространенных ошибок, которые мне встречались в Go-проектах Этот пост — мой топ самых распространенных ошибок, которые встречались мне в Go-проектах. Порядок не имеет значения. Неизвестное значение Enum Давайте взглянем на простой пример: type Status uint32 const ( StatusOpen Status = iota StatusClosed StatusUnknown ) Здесь м...

Зомби-проекты – сливают данные пользователей даже после своей смерти Я снова про утечки персональных данных, но на этот раз расскажу немного про загробный мир ИТ-проектов на примере двух недавних находок. В процессе аудита безопасности баз данных часто бывает, что обнаруживаешь сервера (как искать базы данных, я писал в блоге), принадлежащи...

Гигатрон — самодельный микрокомпьютер без процессора Микрокомпьютер Gigatron — это минималистичный 8-битный ретро-компьютер построенный по необычному дизайну: в нём нет никаких сложных логических интегральных схем, нет даже микропроцессора! Его CPU построен на классических логических элементах серии 7400, также известных как...

Миниатюрный Cubinote Pro распечатывает заметки прямо с телефона Изящный принтер для заметок Cubinote Pro позволяет записывать ваши идеи в любое время и в любом месте. Когда вам в голову приходит отличная идея, запишите ее в телефон и синхронизируйте с Cubinote Pro через Wi-Fi или Bluetooth. Он может распечатать все, что может отобра...

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

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

Учимся писать Waves смарт-контракты на RIDE и RIDE4DAPPS. Часть 1 (Многопользовательский кошелек) Всем привет! Совсем недавно Waves Labs анонсировал конкурс для разработчиков приуроченный к релизу в тестовую сеть расширения языка смарт-контрактов RIDE для децентрализованных приложений Ride4Dapps! Мы выбрали кейс DAO, так как Ventuary планирует заниматься разработкой dAp...

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

Навигация внутри Android приложения Введение При Андроид разработке мы используем разные архитектурные решения(паттерны). Например Mvp, Mvvm, Mvi и т.д… Каждый из этих паттернов решает несколько важных задач и поскольку они не идеальны они нам оставляют кое-какие нерешенные задачи. К примеру этих задач относят...

[Перевод] Среда, лексическая область видимости и замыкания в JavaScript Перевод JavaScript Environment, Lexical Scope and Closures. Поговорим о среде. Наша огромная планета одна на всех. При строительстве нового химического завода было бы неплохо его изолировать, чтобы все внутренние процессы не покидали его пределы. Можно сказать, что среда ...

[Из песочницы] Переносим проект с Swift 4.2 на Swift 5.0 Привет, Хабр! Представляю вашему вниманию перевод статьи «Swift 5.0: How to migrate your project and frameworks» автора Antoine Van Der Lee. Swift 5.0 был выпущен в марте 2019 года и является первым стабильным выпуском ABI Swift. Несмотря на то, что многие ресурсы освещают ...

[Перевод] Разбираемся с асинхронностью в JavaScript [Перевод статьи Sukhjinder Arora] Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding Asynchronous JavaScript» автора Sukhjinder Arora. Читать дальше →

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

Использование DiagnosticSource в .NET Core: теория DiagnosticSource — это простой, но весьма полезный набор API (доступен в NuGet пакете System.Diagnostics.DiagnosticSource), который, с одной стороны, позволяет различным библиотекам отправлять именованные события о своей работе, а с другой — позволяет приложениям подписывать...

[Из песочницы] Всё что вам нужно знать о Node.js Привет, Хабр! Представляю вашему вниманию перевод статьи "Everything you need to know about Node.js" автора Jorge Ramón. В наши дни платформа Node.js является одной из самых популярных платформ для построения эффективных и масштабируемых REST API's. Она так же под...

[Перевод] Python Testing с pytest. Конфигурация, ГЛАВА 6 Вернуться Дальше В этой главе мы рассмотрим файлы конфигурации, которые влияют на pytest, обсудим, как pytest изменяет свое поведение на их основе, и внесем некоторые изменения в файлы конфигурации проекта Tasks. Читать дальше →

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

[Из песочницы] Бизнес-логика в базе данных при помощи SchemaKeeper Цель данной статьи — на примере библиотеки schema-keeper показать инструменты, которые позволяют существенно облегчить процесс разработки баз данных в рамках PHP-проектов, использующих СУБД PostgreSQL. Информация из этой статьи, в первую очередь, будет полезна разработ...

[Из песочницы] Создаем элементы интерфейса программно с помощью PureLayout Привет, Хабр! Представляю вашему вниманию перевод статьи Creating UIViews Constraints Programmatically Using PureLayout автора Aly Yaka. Сегодня я проведу вас через создание простого пользовательского интерфейса мобильного приложения кодом, без использования раскадровок и...

5 причин успеха: почему Amazon стала самой дорогой компанией в мире Изображение: Unsplash Компания, которая работает уже на протяжение 24 лет, в начале 2019 года обошла Microsoft и стала самой дорогой публичной компанией мира. Капитализация Amazon превысила $796 млрд, в то время как стоимость Microsoft находится на уровне $783 млрд. Изда...

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

Как запустить java-проект на shell-раннере при пуше в репозиторий GitLab’а Меня зовут Иван Сидоренко, я инженер по тестированию в компании Digital Design. Передо мной стояла задача — внедрить запуск автотестов, написанных на Java Selenium. Я новичок в CI/CD, поэтому столкнулся со множеством проблем. Подробных инструкций в интернете по этой задаче ...

Операция “Миграция”: как происходит переезд в облако DataLine Лет 7 назад самые первые проекты переезжали в наше облако просто и незатейливо. Образы виртуальных машин загружались на FTP-сервер, или их привозили на жестких дисках. Затем через специальный импорт-сервер ВМ загружали в облако. Если для клиента не проблема выключить виртуа...

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

Потенциал раскрыт: Radeon RX Vega 64 оказалась до 20 % быстрее GeForce RTX 2080 Ti в World War Z Компания AMD в последнее время, к сожалению, не может похвастаться видеокартами, способными на равных противостоять флагманским решениям своего конкурента. Но тем интереснее наблюдать моменты, когда «красным» удаётся отличиться. Например, как показало тестирование производит...

Без дизайнера: 15 инструментов для визуализации данных Уместить 20-страничную презентацию в трех слайдах, превратить статистику в инфографику, сделать не «форму допроса», а новый канал коммуникации – всегда актуальные и часто горящие задачи. Собрали в одной статье все инструменты для их решения. Гифки, видео, карты, графики ...

[Перевод] Исчерпывающий список различий между VB.NET и C#. Часть 1 Согласно рейтингу TIOBE в 2018 году VB.NET обогнал по популярности C#. Совпадение или нет, но в феврале Эрик Липперт, один из создателей C#, призвал читателей обратить внимание на блог его друга, бывшего коллеги по команде компилятора Roslyn и, по совместительству, ярого ф...

[Перевод] 6 уроков, извлечённых из поиска решения масштабной проблемы на gitlab.com. Часть 2 Представляем вашему вниманию вторую часть перевода материала о борьбе команды gitlab.com с тиранией времени. → Вот, кстати, первая часть. Читать дальше →

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

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

#Antelope Audio Edge Go – моделирующий USB микрофон Производитель студийного оборудования Antelope Audio анонсировал выпуск моделирующего USB микрофона Go, расширяющего серию Edge. Модель поставляется с набором эмуляций популярных студийных микрофонов, которые можно использовать в режиме реального времени. Моделирование звука...

Шифр ускорением: изучаем акселерометр Android-устройства на примере задания NeoQUEST-2019 Акселерометр — он же G-сенсор — является одним из самых распространенных датчиков на сегодня. Встретить его можно практически в каждом современном гаджете. Акселерометр выполняет довольно простую задачу — измеряет ускорение устройства. Давайте посмотрим, как он это делает ...

[Из песочницы] Сказ о том, как чайник Autoplay Media Studio 8.5.3.0 ломал Как не трудно догадаться, то чайник — это я. Захотелось мне на днях в исходник одной утилитки заглянуть, очевидно сделанной средствами AMS (.cdd файл рядом с .exe и пара lua*.dll). Пару лет назад разбирал детально одну программу сделанную аналогичными средствами и предста...

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

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

Лучшие клавиатуры с Aliexpress, не пропусти! Ищите самую удобную и надежную клавиатуру? Обратите внимание на девайсы, предлагаемые в китайском магазине AliExpress. Вашему вниманию представляю – самые покупаемые клавиатуры. Итак, начнем.

Техносфера. Курс лекций «Управление IT-проектами и продуктом» Недавно наш образовательный проект Техносфера выложил последние лекции из курса «Управление IT-проектами и продуктом». Вы получите знания в области управления продуктами и проектами на примере Mail.ru Group, поймёте роль менеджера продукта и проекта, узнаете о перспективах...

Ускоряем Ansible с помощью Mitogen Ansible стал одним из самых популярных Configuration Management систем. После того как был куплен Red Hat в 2015 году число участников проекта превысило тысячи и Ansible стал наверное самым используемой системой развертывания и оркестрации. Его широкие области применения оче...

Визуализация сортировок обменами В данной статье рассматриваются различные варианты сортировки обменами, а также даётся описание простого графического приложения (processing.js) с примерами сортировок. Перед прочтением рекомендую ознакомиться со статьями: → Сортировка обменами → Пузырьковая сортировка ...

Вместо Android: Google запустила сайт об ОС Fuchsia Никто не знает, сколько тайных проектов в данный момент развивает Google, но даже если и узнает, нет никаких гарантий, что он представляет собой именно то, чем кажется. Именно так было в случае с проектом Fuchsia, которому прочили роль преемника Android, Wear OS и Chrome OS...

[Перевод] Криптография в Java. Класс KeyPair Привет, Хабр! Представляю вашему вниманию перевод 6, 7 и 8 статей автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

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

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

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

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

Эволюция H2 — оконные функции, CTE, JSON/XML во встраиваемой базе данных Есть open source проекты которые стали коммерчески успешным мейнстримом, как например PostgreSQL/Elasticsearch. Другие, к примеру RethinkDB, проиграли на рынке и остановили разработку. А проект H2 database встраиваемой базы данных, написанной на языке java, развивается и здр...

Tic Tac Toe, часть 1 В статье "Сравнение: Svelte и React" я попробовал повторить разработку игры Tic Tac Toe. Там я выполнил только первую часть исходного туториала для React'а без поддержки истории ходов. В этой статье мы начнем разработку этой игры с применением фреймворка Svelte с поддержкой ...

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

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

[Перевод] Криптография в Java. Утилита Keytool Привет, Хабр! Представляю вашему вниманию перевод 10 статьи "Java Keytool" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

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

Reactor, WebFlux, Kotlin Coroutines, или Асинхронность на простом примере Многие сервисы в современном мире, по большей части, «ничего не делают». Их задачи сводятся к запросам к другим базам/сервисам/кешам и агрегации всех этих данных по различным правилам и разнообразной бизнес-логике. Поэтому неудивительно, что появляются такие языки, как Go...

Искусственный интеллект на примере простой игры. Часть 2 В этот раз выбрана игра «Змейка». Создана библиотека для нейросети на языке Go. Найден принцип обучения, зависимый от «глубины» памяти. Написан сервер для игры между разработчиками. Читать дальше →

Детализация на высоте: примеры снимков на iPhone 11 и iPhone 11 Pro с технологией Deep Fusion  На последней презентации Apple многие отметили, насколько мало инноваций получили новые iPhone. Но было очевидно, что компания в очередной раз делает акцент на камеру. И хоть ее внешний вид многим не нравится, возможности впечатляют. Так, в бета-версии iOS 13.2 появилась по...

OMEGA — Автоматизация подсчета времени на спортивных мероприятиях Всем привет, меня зовут Сергей. Я руководитель образовательного проекта "SERVODROID". Мой проект занимается разработкой простых в повторении роботов для детей и взрослых. Сам я преподаю робототехнику в Санкт-Петербурге. Но также я спортсмен, и, одно из моих любимых спортив...

[Из песочницы] Как хакеры используют Microsoft Excel против самого себя Привет, Хабр! представляю вашему вниманию перевод статьи «How Hackers Turn Microsoft Excel's Own Features Against It» автора Лили Хэй Ньюман. Elena Lacey, getty images Наверняка для многих из нас Microsoft Excel – программа скучная. Она много чего умеет, но всё-таки это н...

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

[Перевод] Криптография в Java. Класс Signature Привет, Хабр! Представляю вашему вниманию перевод пятой статьи "Java Signature" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

[Перевод] Криптография в Java. Класс Certificate Привет, Хабр! Представляю вашему вниманию перевод заключительной статьи "Java Certificate" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

Криптография в Java. Класс MessageDigest Привет, Хабр! Представляю вашему вниманию перевод третьей статьи "Java MessageDigest" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

[Перевод] Криптография в Java. Класс Mac Привет, Хабр! Представляю вашему вниманию перевод четвертой статьи "Java Mac" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

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

[Из песочницы] Переменные окружения для Python проектов Переменные окружения для Python проектов При разработки web-приложения или бота мы часто имеем дело с какой-либо секретной информацией, различными токенами и паролями (API-ключами, секретами веб-форм). "Хардкодить" эту информацию, а тем более сохранять в публично доступной с...

DisplayPort-LVDS Доброго времени суток, Хабр! И снова хочу предложить Вашему вниманию проект аппаратного конвертера, но теперь уже DisplayPort-LVDS построенный на одной (!) микросхеме Texas Instruments. Читать дальше →

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

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

factory_trace gem поможет почистить ваши factories Если вы пишите тесты для вашего проекта и используете factory_bot для генерации тестовых данных, то представляю вам гем factory_trace, который поможет вам поддерживать ваши factories & traits в актуальном состоянии. Читать дальше →

Руководство: Thymeleaf + Spring. Часть 2 Первая часть Третья часть 5 Отображение Seed Starter Data Первое, что покажет наша страница /WEB-INF/templates/seedstartermng.html, — это список с начальными стартовыми данными, которые в данный момент сохранены. Для этого нам потребуются некоторые внешние сообщения, а т...

Как ускорить работу с API на языке R с помощью параллельных вычислений, на примере API Яндекс.Директ (Часть 2) В прошлой статье я рассказал о том, что такое многопоточность, и привёл примеры её реализации на языке R при работе с API Яндекс.Директ с помощью пакетов doSNOW, doParallel и конструкции foreach. Данная статья является продолжением, но может быть рассмотрена как автономное р...

Прерывания от внешних устройств в системе x86. Часть 3. Настройка роутинга прерываний в чипсете на примере coreboot Продолжаем рассматривать настройку прерываний от внешних устройств в системе x86. В части 1 (Эволюция контроллеров прерываний) мы рассмотрели теоретические основы контроллеров прерываний и общие термины, в части 2 (Опции загрузки ядра Linux) посмотрели как на практике ОС ос...

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

[Перевод] Node.js для начинающих: основы работы с файлами Сегодня мы поговорим о том, как работать с файловой системой средствами Node.js, рассмотрим базовые операции, выполняемые с файлами. К таким операциям относятся следующие: Создание файла Чтение файла Запись данных в файл Удаление файла Переименование файла Необходимость в...

MPPT контроллер заряда на STM32F334C8T6 В комментариях под моими предыдущими статьями неоднократно возникал вполне резонный вопрос: "Зачем делать dc/dc преобразователи на микроконтроллере, когда есть готовые?" и я в качестве ответа постоянно упоминал, как наиболее яркий пример, контроллер заряда с алгоритмом MPPT....

[Перевод] Учебный курс по React, часть 17: пятый этап работы над TODO-приложением, модификация состояния компонентов В сегодняшней части перевода курса по React мы предлагаем вам выполнить очередное практическое задание и представляем вашему вниманию рассказ о том, как модифицировать состояние компонентов React. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть ...

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

Социальная инженерия с помощью программ Universal Windows Platform (APPX) TL;DR: В APPX-файл Universal Windows Platform можно упаковать обычный exe-файл, который будет запускаться в Windows 10 (сборка 1607 и новее) примерно так же, как обычные exe-файлы. Это можно использовать для атак социальной инженерии, с помощью рассылки через email — почто...

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

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

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

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

Pentaho Data Integration (PDI), Python и глубокое обучение Привет, Хабр! Представляю вашему вниманию перевод статьи «Pentaho Data Integration (PDI), Python and Deep Learning». Глубокое Обучение (DL) — почему вокруг него столько шума? По данным Zion Market Research, рынок глубокого обучения (DL) увеличится с 2,3 млрд долларов в 201...

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

Микрофон Rode NTG5 имеет круглые акустические порты Австралийская звуковая компания Rode анонсировала дополнение линейки профессиональных микрофонов — модель NTG5 . В описании микрофона отмечена новая конструкция с «круглыми акустическими портами», которая пришла на смену линейным прорезям, характерным...

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

PHP-Дайджест № 165 (23 сентября – 7 октября 2019) Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4.0 RC3, поддержка Composer-зависимостей на GitHub, обновление стандартов PSR, RFC предложения из PHP Internals и о координации проекта PHP, порция полезных инструментов, подкасты, митапы, и многое другое....

Эх, что же стало с чемоданами?! На примере детского чемодана-самоката ZINC Грядет май, многие уезжают в первые отпуска с детьми, а потому время рассказать про презабавную, хоть и очень простую штуковину — детский «чемокат». Вообще, с чемоданами творится последнее время что-то странное… Читать дальше →

Релиз InterSystems IRIS 2019.1 В середине марта вышла новая версия платформы данных InterSystems IRIS 2019.1 Представляем вашему вниманию список изменений на русском языке. Полный список изменений и Upgrade Checklist на английском языке можно найти по ссылке. Читать дальше →

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

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

[Из песочницы] PHP: Как разобрать сложный XML-файл и не утонуть в собственном коде Доброе время суток! Сфера применения XML-формата достаточно обширна. Наряду с CSV, JSON и другими, XML — один из самых распространенных способов представить данные для обмена между различными сервисами, программами и сайтами. В качестве примера можно привести формат Commerc...

Микрофон HyperX Quadcast предназначен для игрового вещания Компания HyperX выпустила свой первый микрофон для игрового вещания. Он называется Quadcast и поставляется в комплекте с антивибрационным подвесом и трехметровым кабелем с разъемом TRS, что позволяет очень просто подключать его к персональному компьютеру или игровой кон...

[Из песочницы] Изучаем трассировку с помощью eBPF: Руководство и примеры Привет, Хабр! Предлагаю вашему вниманию перевод статьи Брендана Грегга, посвящённой изучению eBPF На конференции Linux Plumbers было как минимум 24 выступления по eBPF. Он быстро стал не просто бесценной технологией, но и востребованным навыком. Возможно, вам хотелось бы пос...

[Перевод] io_submit: альтернатива epoll, о которой вы никогда не слышали Недавно внимание автора привлекла статья на LWN о новом интерфейсе ядра для опроса (polling). В ней обсуждается новый механизм опроса в Linux AIO API (интерфейс для асинхронной работы с файлами), который добавили в ядро версии 4.18. Идея довольно интересная: автор патча пр...

[Из песочницы] Легкое создание отчетов на C/C++ Если вы разрабатываете на C/C++ какое-либо ПО для операторов (администраторов) больниц, магазинов, сервисов проката гироскутеров, ремонта сотовых телефонов, то наверняка сталкивались с задачей создания отчетов, чтобы печатать их на принтере, ну или хотя бы в PDF. Существует ...

Сколько стоит Apple Park? В 2017 году свои двери открыл новый кампус компании — Apple Park. Это масштабный архитектурный проект современности с уникальным дизайном. Главное здание кампуса площадью 26 гектаров, выполненное в форме кольца, полностью покрыто самыми большими в мире панелями из гну...

Поиск задач в JIRA (простым языком). Часть 2: Продвинутый поиск Структуру JQL-запросов без примеров сложно понять специалистам, не знакомым ранее с JIRA. Мы уже успели рассказать про быстрый и базовый поиск. Теперь же прейдем к самому мощному из трех методов — к продвинутому поиску. В этом режиме вы можете указывать критерии, которые ...

[Из песочницы] Изоморфизм спешит на помощь «Изоморфизм» — одно из базовых понятий современной математики. На конкретных примерах на Haskell и C# я не только растолкую теорию для нематематиков (не используя при этом никаких непонятных математических символов и терминов), но и покажу как этим можно пользоваться в повсе...

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

Как устроен балансировщик команд в World of Tanks Blitz WoT Blitz — это мобильный танковый шутер, в котором игроки сражаются в формате 7 на 7. Матчмейкер, или балансировщик это механизм, который на основе очереди игроков, желающих попасть в бой, формирует состав команд. У танков есть следующие важные для матчмейкинга параметры...

Children of Morta — всем семейством против Скверны (Mac) В последнее время все больше разработчиков вспоминает о таком жанре как «рогалик». Однако далеко не у всех получается удачно соединить вместе процедурно генерируемые уровни, разных противников, героев с различными умениями и какой-никакой простой сюжет. Но иногда интересные ...

[Из песочницы] Самая дорогая ошибка в моей жизни: подробно об атаке на порт SIM-карты Привет, Хабр! Представляю вашему вниманию перевод статьи «The Most Expensive Lesson Of My Life: Details of SIM port hack» автора Sean Coonce. В прошлую среду я потерял более 100000 долларов. Деньги испарились в течение 24 часов в результате «атаки на порт SIM-карты», котора...

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

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

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

Встраиваем Lua интерпретатор в проект для микроконтроллера (stm32) В достаточно крупных приложениях немалую часть проекта составляет бизнес-логика. Эту часть программы удобно отлаживать на компьютере, после чего встраивать в состав проекта для микроконтроллера, ожидая, что эта часть будет выполняться в точности так, как было задумано без ...

[Перевод] Почему в основе каждого нового веб-приложения в PayPal лежит TypeScript? Недавно мы опубликовали материал, в котором Эрик Эллиот критиковал TypeScript. Сегодня мы представляем вашему вниманию перевод статьи Кента Доддса. Тут он рассказывает о том, почему в PayPal перешли с Flow на TypeScript. Читать дальше →

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

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

[Перевод] Рассказ о том, почему я до сих пор использую jQuery Многие, когда речь заходит о jQuery, говорят так: «Просто пользуйтесь обычным JavaScript. Библиотека jQuery вам не нужна». Что тут сказать? Я не нуждаюсь во многих вещах, но, несмотря на это, хорошо, когда они есть. Так и jQuery. Я в этой библиотеке не нуждаюсь, но её, опред...

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

Как могли бы выглядеть регистры в 1С при наличии ООП В 1С одним из ключевых элементов системы являются регистры. Этот термин имеет свой аналог в английском языке — ledger. Он первоначально появился в бухгалтерской практике, но со временем его логика начала использоваться и в других сферах. В отличие от 1С, где регистры явля...

[Перевод] Основы внедрения зависимостей В этой статье я расскажу об основах внедрения зависимостей (англ. Dependency Injection, DI) простым языком, а также расскажу о причинах использования этого подхода. Эта статья предназначена для тех, кто не знает, что такое внедрение зависимостей, или сомневается в необходим...

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

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

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

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

[Из песочницы] GIT изнутри: введение (перевод) Привет, Хабр! Представляю вашему вниманию перевод статьи "Git for Computer Scientists" автора Tommi Virtanen. GIT изнутри: введение От себя: Периодически почитываю статьи, как различные популярные технологии устроены под капотом, наткнулся вот на этот материал. Ста...

Лаборатория Samsung показала «умную» лампу, помощник SnailSound и настраиваемую автоматически подставку для монитора Компания Samsung Electronics представила к выставке CES 2019, которая пройдёт с 8 по 11 января, восемь новых проектов лаборатории C-Lab (Creative Lab). Все они используют возможности искусственного интеллекта.  В число новых проектов C-Lab вошли виртуальный ...

[Из песочницы] Deploy Symfony + React приложения на AWS посредством CI Добрый день, в данной статье я покажу как развернуть Symfony 4 приложение на AWS. В официальной документации есть пример подобного процесса, однако мой вариант не столь тривиален, как загрузка zip архива с приложением. На дворе 2019, в моде docker, микросервисная архитектура...

Дайджест: 10 материалов об экранах и проекторах для домашнего кинотеатра В «Мире Hi-Fi» мы рассказываем и про видеотехнику. Представляем вашему вниманию материалы, которые помогут отрегулировать цветопередачу проектора, выбрать подходящий экран для 4K-фильмов и избавиться от «чёрных полос» по краям изображения. Читать дальше →

Расчет нулевой гипотезы, на примере анализа зарплат украинских программистов Решил поделиться, да бы и самому не забывать, как можно использовать простые статистические инструменты для анализа данных. В качестве примера использовался анонимный опрос относительно зарплат, стажа и позиций украинских программистов за 2014 и 2019 год. (1) Этапы анализа...

[Из песочницы] MicroPyServer простой HTTP сервер для ESP8266 и ESP32 Всем привет! Хочу рассказать о библиотеке MicroPyServer написанной на Python, которая позволяет взаимодействовать с устройствами ESP8266 и ESP32 посредством простого HTTP сервера. Что такое MicroPyServer? MicroPyServer это простой HTTP сервер предназначенный для проектов на...

[Перевод] Безопасность для Docker-контейнеров Прим. перев.: Тема безопасности Docker, пожалуй, одна из вечных в современном мире IT. Поэтому без лишних объяснений представляем перевод очередной подборки соответствующих рекомендаций. Если вы уже интересовались этим вопросом, многие из них будут вам знакомы. А саму подбор...

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

[Перевод] Минималистический четырёхголосный MIDI-проигрыватель Предлагаемый проигрыватель не требует карты памяти, он хранит MIDI-файл длиной до 6000 байт непосредственно в микроконтроллере ATtiny85 (в отличие от этой классической конструкции, которая проигрывает WAV-файлы, и карту памяти, естественно, требует). Четырёхголосное проигр...

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

Android: создание динамических Product Flavors и Signing Configs При работе над Android-проектом, представляющий собой платформу для создания приложений для просмотра видео-контента, возникла необходимость динамического конфигурирования product flavors с выносом информации о signing configs во внешний файл. Подробности под катом. Читать д...

[Перевод] Приключения неуловимой малвари, часть II: скрытные VBA-скрипты Эта статья является частью серии «Fileless Malware». Все остальные части серии: Приключения неуловимой малвари, часть I Приключения неуловимой малвари, часть II: cкрытные VBA-cкрипты (мы тут) Я поклонник сайта гибридного анализа (hybrid analysis, далее HA). Это сво...

Дайджест интересных IT-проектов на Kickstarter №7 Изобретатели продолжают пополнять Kickstarter интереснейшими IT проектами. Предлагаем вашему вниманию дайджест за февраль 2019 года. Читать дальше →

[Перевод] Виртуальные файловые системы в Linux: зачем они нужны и как они работают? Часть 2 Всем привет, делимся с вами второй частью публикации «Виртуальные файловые системы в Linux: зачем они нужны и как они работают?» Первую часть можно прочитать тут. Напомним, данная серия публикаций приурочена к запуску нового потока по курсу «Администратор Linux», который ста...

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

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

[Перевод] Fluent 1.0: гибкая система локализации Fluent — семейство спецификаций, реализаций и практик для локализации, разработанной Mozilla. Сейчас она применяется в браузере Firefox. Используя Fluent, переводчики могут писать более естественные переводы на родном языке. Сегодня мы представляем спецификацию формата фай...

[Из песочницы] Etherblade.net — opensource проект по созданию инкапсулятора ethernet-трафика на FPGA (часть первая) Сразу хочу оговориться, что эта статья не только подразумевает пассивное чтение, но и приглашает всех желающих присоединяться к разработке. Системные программисты, разработчики железа, сетевые и DevOps инженеры — добро пожаловать. Поскольку проект идет на стыке сетевых те...

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

Amazon объявила о плане борьбы с глобальным потеплением Глава Amazon Джефф Безос на конференции в Вашингтоне анонсировал гигантский новый план по борьбе с изменением климата. Он называется The Climate Pledge. В согласии с этим «обетом», Amazon в ближайшие годы резко уменьшит выбросы углекислого газа в атмосферу, и в итоге стане...

Написание UDR на языке Pascal В Firebird уже достаточно давно существует возможность расширения возможностей языка PSQL с помощью написания внешних функций — UDF (User Defined Functions). UDF можно писать практически на любом компилируемом языке программирования. В Firebird 3.0 была введена плагинная арх...

QEMU.js: теперь по-серьёзному и с WASM Когда-то давно я смеха ради решил доказать обратимость процесса и научиться генерировать JavaScript (а точнее, Asm.js) из машинного кода. Для эксперимента был выбран QEMU, некоторое время спустя была написана статья на Хабр. В комментариях мне посоветовали переделать проект ...

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

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

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

[Перевод] Путь к проверке типов 4 миллионов строк Python-кода. Часть 3 Представляем вашему вниманию третью часть перевода материала о пути, который прошла компания Dropbox, внедряя у себя систему проверки типов Python-кода. → Предыдущие части: первая и вторая Читать дальше →

Почти половина всех продаваемых смартфонов в России относится к ценовой категории 7000-15000 рублей Аналитики J’son & Partners Consulting оценили российский рынок смартфонов с точки зрения различных его особенностей. К примеру, они пришли к выводу, что 80% используемых аппаратов относятся к ценовой группе 7-30 тысяч рублей. Более подробно распределение можн...

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

Профессиональное выгорание в ИТ (результаты исследования «Моего круга») В октябре прошлого года «Мой круг» пригласили на РИФ Воронеж сделать доклад про профессиональное выгорание среди ИТ-специалистов. Как всегда, мы подошли основательно, провели по этой теме соцопрос среди пользователей «Моего круга» и «Хабра» и сегодня рады поделиться своим ...

[Перевод] Создание процедурного генератора головоломок В этом посте описывается генератор уровней для моей игры-головоломки Linjat. Пост можно читать и без подготовки, но он легче усвоится, если сыграть в несколько уровней. Исходный код я выложил на github; всё обсуждаемое в статье находится в файле src/main.cc. Примерный план ...

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

Следим за изменением файлов с помощью Alerting OpenDistro for Elasticsearch Сегодня возникла потребность в мониторинге изменений определенных файлов на сервере, существует много разных способов например osquery от facebook, но так как недавно я начал пользоваться Open Distro for Elasticsearch решил мониторить файлы эластиком, одним из его beat'ов. Ч...

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

Аудит безопасности облачной платформы MCS SkyShip Dusk by SeerLight Построение любого сервиса обязательно включает в себя постоянную работу над безопасностью. Безопасность — это непрерывный процесс, который включает в себя постоянный анализ и улучшение защищенности продукта, мониторинг новостей про уязвимости и мн...

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

Бессерверный REST API «на коленке за 5 минут» Привет, Хабр! Сегодня продолжим разговор о возможностях, которые предоставляет нам Amazon Web Services и о том, как эти возможности использовать в решении прикладных задач. На простом примере рассмотрим создание буквально за несколько минут собственного бессерверного автом...

Обзор Sea of Thieves. Лучший пиратский боевик Нужно понимать, что Sea of Thieves вышла в конце марта 2018 года, а мы делаем обзор на нее только сейчас, спустя год после релиза. Нет, дело не в том, что автор ленивый и никак не мог добраться до написания данной статьи, а в том, что на релизе игра показалась немного сырой....

Управляем Windows Server из Windows Admin Center В данной статье мы продолжаем рассказывать про работу с Windows Server Core 2019. В прошлых постах мы рассказали как готовим клиентские виртуальные машины на примере нашего нового тарифа VDS Ultralight с Server Core за 99 рублей. Затем показали как работать с Windows Server ...

[Перевод] Автоматически импортируем избранные библиотеки в IPython или Jupyter Notebook Всем привет! Сегодня мы разберем очень короткий, но полезный лайфхак о том, что нужно сделать, чтобы не вводить, к примеру, «import pandas as pd» по 10 раз в день. Для этого нужно: Перейти к ~/.ipython/profile_default; Создать папку с именем startup, если ее там еще нет; ...

Тесты показали, когда имеет смысл использовать Raspberry Pi 4 вместе с SSD В прошлом месяце был представлен одноплатный ПК Raspberry Pi 4. Новая модель стала не только производительнее, но и функциональнее. К примеру, у нового ПК появился порт USB 3.0. Кроме прочего, такой разъём позволяет более полноценно использовать SSD в качестве основног...

[Из песочницы] Как подключить Raspberry PI к Azure IoT: пошаговая инструкция Привет, Хабр! Представляю вашему вниманию перевод статьи Connecting Raspberry PI via Azure IoT: Step-By-Step Tutorial. В этом посте мы расскажем, как подключить Raspberry Pi как периферийное устройство для передачи сигналов к светодиодной панели, использовав модуль Azure Io...

[Перевод] Тестирование многопоточного и асинхронного кода Привет! На неделе встала задача написать интеграционный тест для Spring Boot приложения, использующего асинхронное взаимодействие с внешними системами. Освежил много материала про отладку многопоточного кода. Привлекла внимание статья «Testing Multi-Threaded and Asynchronous...

Анимированные обои из GIF — Lite 1.65 У вас есть GIF файлы которые вы хотите использовать как обои?  Gif Live Wallpaper это то что вам нужно! Наверное самый лёгкий способ использования GIF файлов как живие обои.  Всё это делается в несколько простых шагов:  Шаг 1 — Откройте приложение. Шаг 2 — Нажмите...

Как открыть в Finder оригинал изображения из «Фото» на Mac (macOS): 3 способа Многие пользователи приложения «Фото» для Mac, которое появилось взамен устаревших iPhoto и Aperture, заметили отсутствие привычного меню «Показать в Finder», при помощи которого можно было быстро просмотреть исходный файл в штатном проводнике macOS. В этом материале мы пока...

[Перевод] Apollo Client. Теперь — с хуками React Автор материала, перевод которого мы публикуем сегодня, говорит, что миссия разработчиков Apollo Client заключается в том, чтобы сделать этот инструмент самым современным и удобным решением для управления состоянием React-приложений. Сообщество React развивается и осваивает ...

[Перевод] От идеи к производству — Разработка IoT проекта Сегодня мы пошагово разберем взлеты и падения разработки IoT. Только примеры из настоящей жизни, никаких теоретических "наверное" и много опыта. А еще ссылки на связанные статьи как бонус. Читать дальше →

Битва невыпущенных видеокарт: Radeon RX 5500 XT окажется быстрее GeForce GTX 1660, но уступит GeForce GTX 1660 Super На следующей неделе ожидается премьера новых бюджетных видеокарт AMD — анонс Radeon RX 5500 XT может состояться уже завтра. Ну а в конце месяца должна выйти GeForce GTX 1660 Super. Как покажут себя эти модели — пока вопрос, но источник уже взялся смоделирова...

Взаимодействие R с базами данных на примере Microsoft SQL Server и других СУБД Поскольку львиная доля бизнес информации храниться в базах данных. На каком бы языке программирования вы не писали, вам придётся производить различные действия с ними. В этой статье я расскажу о двух интерфейса для работы с базами данных в R. Большая часть примеров демонстри...

Введение в программирование: простой 3Д шутер с нуля за выходные, часть 1 Этот текст предназначен для тех, кто только осваивает программирование. Основная идея в том, чтобы показать этап за этапом, как можно самостоятельно сделать игру à la Wolfenstein 3D. Внимание, я совершенно не собираюсь соревноваться с Кармаком, он гений и его код прекрасен. ...

[Из песочницы] Выбор между XML и SQL для накатывания скриптов LiquiBase на примере Java/Spring/H2 В процессе работы над очередным проектом в команде возникли споры по поводу использования формата XML или SQL в Liquibase. Естественно про Liquibase уже написано много статей, но как всегда хочется добавить свои наблюдения. В статье будет представлен маленький туториал по со...

[Из песочницы] Ant-карусель на CSS и Javascript С появлением CSS3 появилась возможность совершать анимацию без использования JS-библиотек, таких, например, как jQuery. CSS3 свойство transition позволяет плавно изменять другие свойства элемента (width, height, margin, opacity и пр.), задав в качестве параметров время и зак...

Введение в программирование: простой 3Д шутер с нуля за выходные, часть 2 Продолжаем разговор про 3Д шутер за выходные. Если что, то напоминаю, что это вторая половина: Часть первая: отрисовка стен Часть вторая: населяем наш мир + оконный интерфейс Как я и говорил, я всеми силами поддерживаю желание в студентах делать что-то своими руками. В ча...

[Из песочницы] Учебное пособие по TensorFlow: 10 минутное практическое занятие по TensorFlow для начинающих [перевод] Привет, Хабр! Представляю вашему вниманию перевод статьи "TensorFlow Tutorial: 10 minutes Practical TensorFlow lesson for quick learners" автора Ankit Sachan. Этот туториал по TensorFlow предназначен для тех, кто имеет общее представление о машинном обучении и пыта...

[Перевод] Конфигурируйте Visual Studio в вашей организации с помощью .vsconfig В Visual Studio 2017 Update 15.9 мы добавили возможность экспорта и импорта рабочей нагрузки и выбора компонентов в файл конфигурации установки Visual Studio. Разработчики могут импортировать эти файлы в новые или существующие установки. Проверка этих файлов в ваших исходных...

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

10++ способов работать с аппаратными регистрами на С++ (на примере IAR и Cortex M) Рис. И. Кийко Всем доброго здравия! Помните наверное бородатый анекдот, а может быть и правдивую историю про то, как студента спрашивали о способе измерить высоту здания с помощью барометра. Студент привел, по-моему около 20 или 30 способов, при этом не назвав прямого(ч...

[Перевод] Архитектура программного обеспечения переоценена, простой и понятный дизайн — недооценен Вашему вниманию предлагается перевод поста Гергелия Ороса, занимающего должность Engineering Manager в Uber. В нем он делится своим взглядом на проектирование крупномасштабных систем, основанном на собственном практическом опыте работы в Uber и Microsoft. В сочетании с ком...

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

Пробую .NET Core + Kubernetes + appmetrics + prometheus + grafana + jobs + health checks Краткое знакомство с kubernetes для разработчиков на примере разворачивания простого шаблонного сайта, с постановкой его на мониторинг, выполнением джобов по расписанию и health checks (все исходники прилагаются) — Установка Kubernetes — Установка UI — Запуск своего прил...

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

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

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

Полезная help-ссылка для работы с данными Хабр, привет. Представляю вам главную help-ссылку для работы с данными. Материал в Гугл-доке подойдет как профессионалам, так и тем, кто только учится работать с данными. Пользуйтесь и прокачивайте скиллы сами + делитесь с коллегами. Дальнейшее описание поста — это содержан...

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

Илон Маск показал испытания двигателя Raptor для сверхтяжёлой ракеты Starship Внешний вид самой ракеты SpaceX показала в начале 2019 года.

Книга «Data mining. Извлечение информации из Facebook, Twitter, LinkedIn, Instagram, GitHub» Привет, Хаброжители! В недрах популярных социальных сетей — Twitter, Facebook, LinkedIn и Instagram — скрыты богатейшие залежи информации. Из этой книги исследователи, аналитики и разработчики узнают, как извлекать эти уникальные данные, используя код на Python, Jupyter Not...

[Перевод] Внепроцессный отладчик для C++ в Visual Studio 2019 В Visual Studio 2019 Preview 1 представлен улучшенный отладчик для C++, который использует внешний 64-разрядный процесс для размещения своих ресурсозатратных компонентов. Если у вас ранее возникали проблемы с памятью при отладке приложений C++, теперь эти проблемы должны быт...

IaaS и Managed IT: технологический дайджест Это — тематическая подборка от «ITGLOBAL.COM» — IaaS-провайдера, IT-аутсорсера, интегратора и поставщика услуг «Managed IT». Мы представляем вашему вниманию наши первые хабратопики и материалы из корпоративного блога о решениях для обеспечения сетевой безопасности, работе об...

«Основы программирования» набор на бесплатный курс с примерами на JavaScript Дорогие товарищи инженеры и будущие инженеры, сообщество Метархия открывает набор на бесплатный курс «Основы программирования», который будет доступен на youtube и github без всяких ограничений. Часть лекций уже записана в конце 2018 и начале 2019 года, а часть будет прочит...

[Перевод] Thinking with Portals: создаём порталы в Unreal Engine 4 В этой статье я расскажу, как создавать порталы в Unreal Engine 4. Я не нашёл никаких источников, подробно описывающих такую систему (наблюдение сквозь порталы и проход через них), поэтому решил написать собственную. Что такое портал? Давайте начнём с примеров и объяснения...

[Из песочницы] Криптография в Java Привет, Хабр! Представляю вашему вниманию перевод статьи "Java Cryptography" автора Jakob Jenkov. Данная публикация является переводом первой статьи Java Cryptography из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

Mattermost. Интеграция с внешними сервисами Выбирая замену, используемой у нас системы обмена сообщениями, наткнулся на описание Mattermost, и решил попробовать. Одним из плюсов, описываемой системы, является простая интеграция со сторонними сервисами, так называемые "хуки" (outgoing и incoming hooks). Вот про настрой...

[Перевод] Представляем Microsoft Game Stack Мы объявляем о новой инициативе «Microsoft Game Stack», в рамках которой мы объединим инструменты и сервисы Microsoft, которые позволят всем разработчикам игр, независимо от того, являются ли они независимыми разработчиками или студией AAA, добиться большего. Сегодня в мире...

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

MySpace потерял музыку, фото и видео, которые пользователи загружали с 2003 по 2015 годы Когда-нибудь это произойдёт с Facebook, Вконтакте, Google Drive, Dropbox и любым другим коммерческим сервисом. Все ваши файлы на облачном хостинге неизбежно будут потеряны со временем. Как это происходит — можно прямо сейчас наблюдать на примере MySpace, бывшего интернет-гиг...

[Из песочницы] Структура Data Science-проекта с высоты птичьего полета Как узнать наверняка, что внутри у колобка? Может, ты его проглотишь, а внутри него река? © Таня Задорожная Что такое Data Science сегодня, кажется, знают уже не только дети, но и домашние животные. Спроси любого котика, и он скажет: статистика, Python, R, BigData, маш...

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

[Перевод] Интро Newton Protocol: что можно уместить в 4 килобайта Недавно я участвовал соревнованиях демосцены Revision 2019 в категории «PC 4k intro», и моё интро выиграло первое место. Я занимался кодингом и графикой, а dixan сочинял музыку. Основное правило соревнования — необходимо создать исполняемый файл или веб-сайт, имеющий размер...

TDDx2, BDD, DDD, FDD, MDD и PDD, или все, что вы хотите узнать о Driven Development Просматривая статьи по проектированию ПО, я постоянно встречал тучу невиданных сокращений и вскользь упоминаемых практик разработки. TDD — ну, это все знают, сначала пишем тесты, а потом остальной код. BDD — что-то знакомое, вроде как, тоже тесты, но особенные. TDD — снов...

DEV Labs 2019. Python для решения нетривиальных задач. Онлайн-митап Уважаемые коллеги! Приглашаем принять участие в онлайн-митапе серии DEV Labs, который пройдёт 20 марта и будет посвящён языку Python. Расскажем о применении Python в сфере проектирования систем «умного дома» и рассмотрим примеры решения задач по распознаванию человеческих д...

[Из песочницы] Аскетичный вебъ: прототип барахолки на go и js Всем привет, хочу поделиться результатом размышлений на тему — каким может быть современное веб-приложение. В качестве примера рассмотрим проектирование доски объявлений для комиксов. В некотором смысле рассматриваемый продукт рассчитан на аудиторию гиков и им сочувствующих,...

Serverless Telegram бот в Яндекс.облаке, или 4.6 копейки за 1000 сообщений "Whenever you receive a webhook update, you have two options" Из Telegram Bot Api Faq Привет, Хабр! Долгое время концепция serverless (а если говорить точнее — её реализация в виде сервиса AWS Lambda) была для меня относительно понятной, но очень абстрактной идеей. Она ча...

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

Рекламные интеграции: как это работает? Реклама — один из популярных способов монетизации развлекательных проектов и приложений. На примере iFunny я расскажу о механизмах получения рекламы и некоторых сложностях, с которыми можно столкнуться при интеграции рекламных SDK. Читать дальше →

[Из песочницы] Как быстро увеличить размер диска на сервере Всем привет! Недавно столкнулся с простой на первый взгляд задачей — увеличить «на горячую» размер диска на сервере Linux. Описание задачи Есть сервер в облаке. В моем случае, это Google Cloud — Compute Engine. Операционная система — Ubuntu. Сейчас подключен диск размером 3...

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

Обзор Skaffold для разработки под Kubernetes Полтора года назад, 5 марта 2018, компания Google выпустила первую альфа-версию своего Open Source-проекта для CI/CD под названием Skaffold, целью которого стало создание «простой и воспроизводимой разработки под Kubernetes», чтобы разработчики могли сфокусироваться именно...

[Перевод] Тайная история интернета в политике конфиденциальности от Google, состоящей из 4000 слов Конец 1990-х был простым периодом для Google. Нарождающаяся компания представляла собой всего лишь поисковую систему, а такие сервисы, как Gmail, Android и YouTube в лучшем случае были лишь блеском в глазах стартаперов. И первая политика конфиденциальности отражала эту про...

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

Dream big & go global: международный стартап-конкурс на конференции EMERGE Всем привет! 4 и 5 июня в Минске пройдет вторая конференция EMERGE — событие, посвящённое созданию глобальных инновационных продуктов и инвестициям в сфере технологий, единственное мероприятие такого масштаба в регионе New East (страны Восточной Европы, Балканы, Централь...

Windows 10 May 2019 Update приводит к зависанию Microsoft Visio Microsoft Visio, которая используется для создания простых или сложных диаграмм, может зависнуть в Windows 10 May 2019 Update (версия 1903).Microsoft Visio – это адаптируемая программа, в основном используемая почти всеми в бизнесе и организации для создания различных диагра...

Язык и органы чувств Привет, Хабр! Представляю вашему вниманию перевод статьи "How your language reflects the senses you use" автора Sophie Hardach. Что вам проще описать: цвет травы или ее запах? Ответ может зависеть от того, откуда вы родом, и, в частности, от того, на каком языке вы с детств...

[Перевод] Создание динамических PDF-файлов с использованием React и Node.js Материал, перевод которого мы сегодня публикуем, посвящён созданию динамических PDF-файлов с использованием HTML-кода в качестве шаблона. А именно, речь пойдёт о том, как сформировать простой счёт на оплату неких товаров или услуг, динамические данные, включённые в который, ...

Использование DiagnosticSource в .NET Core: практика В предыдущей статье я рассказал про механизм DiagnosticSource и на простом примере показал, как с его помощью можно перехватывать запросы в базу данных через классы SqlConnection и SqlCommand и измерять время их выполнения. В настоящее время DiagnosticSource уже используется...

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

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

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

Независимый обзор PVS-Studio (Linux, C++) Увидел публикацию о том, что PVS таки научился анализировать под Линуксами, и решил попробовать на своих проектах. И вот что из этого получилось. Читать дальше →

[Перевод] Sketch + Node.js: генерируем иконки для множества платформ и брендов. Часть 2 Это вторая часть статьи о создании инструмента, способного экспортировать все помещённые в Sketch-файл иконки: в разных форматах, для разных платформ, с возможностью A/B-тестирования каждой из иконок. Первую часть вы можете прочесть по ссылке. В прошлый раз мы подготов...

GitHub запускает свои щупальца в CI/CD и менеджмент артефактов В мае 2019 года GitHub анонсировала выход сервиса Package Registry. Вслед за этим, уже в августе, была анонсирована поддержка CI/CD в Actions. В статье я расскажу, что это за сервисы и как это можно использовать на примере небольшого пет-проекта на GitHub. Читать дальше →

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

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

[Перевод] Serverless CI/CD на AWS Было бы круто, если бы развертывание в формате копи-пейст осталось в прошлом, но, увы, дела обстоят иначе. Бывает, разработчикам предпочтительней именно такой метод поставки. Хоть сейчас пиши статью о том, почему это не есть гуд, но вы и без меня все знаете. С тенденцией к ...

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

Микрофон Blue Ember с интерфейсом XLR предназначен для профессиональной записи и вещания Компания Blue, известная своими микрофонами, представила новую модель. Она называется Ember. Это конденсаторный микрофон с интерфейсом XLR и кардиоидный диаграммой направленности. Он предназначен для профессиональной записи и вещания вокала и акустических инструментов. ...

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

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

[Перевод] Никогда больше не игнорируйте обучение с подкреплением Привет, Хабр! Представляю вашему вниманию перевод статьи «Don’t Ever Ignore Reinforcement Learning Again» автора Michel Kana, Ph.D. Обучение с учителем и обучение без учителя — это ещё не все. Все это знают. Начните с OpenAI Gym. Собираетесь победить чемпиона мира по шах...

Простая интеграция MS Project и Redmine Эпиграф “Если бы губы Никанора Ивановича да приставить к носу Ивана Кузьмича, да взять сколько-нибудь развязности, какая у Балтазара Балтазарыча, да, пожалуй, прибавить к этому еще дородности Ивана Павловича — я бы тогда тотчас же решилась.» Н.В. Гоголь. Женитьба. Есть два ...

За прошлый квартал Sony продала всего 1,1 млн смартфонов Компания Sony сегодня опубликовала отчёт по итогам 2018 финансового года. Японский гигант сумел нарастить выручку и прибыль, причём некоторые из показателей выросли очень существенно. Однако Sony — это крупная компания, включающая множество различных подразделени...

[Перевод] Исследование шейдера песка игры Journey Среди множества инди-игр, выпущенных за последние 10 лет, одной из самых любимых для меня определённо является Journey. Благодаря своей потрясающей эстетике и красивому саундтреку Journey стала примером превосходства практически в каждом аспекте разработки. Я разработчик иг...

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

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

Упрощенный доступ к данным внутренней FAT12 для STM32 В предыдущей статье был рассмотрен вариант использования микроконтроллера STM32F103C8T6 как flash накопителя с внутренней файловой системой FAT12. Теперь можно рассмотреть, каким образом получить данные из нашей внутренней файловой системы. К примеру нам необходимо хранить н...

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

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

Лексическое окружение (LexicalEnvironment) и Замыкание (Closures) в EcmaScript Привет, Хабр! Давно ничего не писал, большая загруженность на проекте крайние несколько недель, но сейчас появилось свободное время, поэтому решил представить вашему вниманию новую статью. Сегодня мы продолжим разбирать ключевые концепции EcmaScript, поговорим о Лексическо...

Работа с API КОМПАС-3D → Урок 13 → Параграфы Прежде чем перейти к рассмотрению документированных способов создания составных строк, нам нужно познакомиться с таким объектом, как параграф. Он представляет собой автоматически форматируемый блок текста, состоящий из нескольких строк. На данном уроке мы рассмотрим вопросы ...

[Перевод] 3 истории сбоев Kubernetes в production: anti-affinity, graceful shutdown, webhook Прим. перев.: Представляем вниманию мини-подборку из постмортемов о фатальных проблемах, с которыми столкнулись инженеры разных компаний при эксплуатации инфраструктуры на базе Kubernetes. Каждая заметка рассказывает о самой проблеме, её причинах и последствиях, а также, к...

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

[Перевод] Ускорение instagram.com. Часть 2 Сегодня мы представляем вашему вниманию перевод второго материала из серии, посвящённой оптимизации instagram.com. Здесь речь пойдёт об улучшении механизма заблаговременного выполнения GraphQL-запросов и о повышении эффективности передачи HTML-данных клиенту. → Читать, за...

[Из песочницы] Бесконечный и нелепый список того, что вам нужно знать, чтобы безопасно использовать публичные сети Wi-Fi Привет, Хабр! Представляю вашему вниманию перевод статьи «The Complete, Endless, Ridiculous List of Everything You Need to Be Safe on Public Wi-Fi» автора Patrick F. Wilbur. Wi-Fi сети, вебсайты, протоколы, которые мы используем, не обеспечивают нам необходимой безопасност...

Идиоматичное программирование GPU на Rust: Библиотека Emu Введение Emu — это высокоуровневый язык программирования видеокарт, способный встраиваться в обычный код на системном языке программирования Rust. В данной статье речь пойдёт о синтаксисе Emu, его особенностях, а также будут показаны несколько наглядных примеров его использ...

[Перевод] Крошечные компоненты: что может пойти не так? Используем принцип единственной ответственности Представляем вашему вниманию перевод статьи Scott Domes, которая была опубликована на blog.bitsrc.io. Узнайте под катом, почему компоненты должны быть как можно меньше и как принцип единственной ответственности влияет на качество приложений. Фото Austin Kirk с Unsplash Чит...

[Перевод] Процедурная генерация планет От переводчика: Представляю вашему вниманию статью авторства Andy Gainey, в прошлом независимого разработчика игровых инструментов, ныне сотрудника Paradox Development Studio. На мой взгляд, автор играючи создал один из лучших процедурных генераторов планет с открытым исход...

Thymeleaf: диалект Layout + Spring Boot 2 Диалект Layout — это диалект Thymeleaf, который позволяет пользователям создавать макеты и шаблоны для повторного использования HTML кода. Он имеет иерархический подход и использует шаблон декоратора для «декорирования» файлов макета. Layout Dialect является отдельным проект...

5 способов сделать Python-сервер на Raspberry Pi. Часть 1 Привет, Хабр. Сегодня в большом числе проектов домашней (и не только) автоматизации используется Raspberry Pi. При этом достаточно удобно иметь не только прямой доступ к устройству, но и использовать браузер — это позволяет выполнять необходимые действия и с компьютера, и с...

[Из песочницы] Какую роль могут сыграть технологии в древнем искусстве смешивания специй? Привет, Хабр! Представляю вашему вниманию перевод статьи «AI and spices: Would you put cumin on a pizza?» автора Dhruti Shah. Что общего между тосканской курицей, стейком-бурбоном и новоорлеанской колбасой? Все они представляют собой новые ароматы специй, разработанные кру...

Почему Math.Round открывает окно печати из браузера в Try .NET Сегодня внимание общественности привлек забавный нелогичный баг, обнаруженный в Try .NET – инструменте, предназначенном для встраивания в документацию интерактивных примеров на C#. Посмотреть открытый issue можно на Github по ссылке. Приведенный код при выполнении (при вызо...

Как вести сложные технические проекты, не нанимая PMщиков: опыт DataLine DataLine начинала с традиционных colocation и телекома. Потом к ним добавились облачные вычисления. Сейчас мы администрируем инфраструктуру, базы данных, сервисы информационной безопасности, приложения и целые веб-проекты. Вместе с числом услуг выросло и наше производство – ...

[Из песочницы] Oracle VM Server for SPARC для чайников (How-to) Небольшой How-to для начинающих работать с ОС Solaris и платформой виртуализации Oracle VM Server for SPARC, ранее известной как Sun Logical Domains. Oracle VM представляет из себя гипервизор XEN, установленный на ОС Solaris. Управлять гипервизором возможно из командной ...

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

[Перевод] Cтажировка в Haxe Foundation Представляю вам перевод еще одного доклада с HaxeUp Sessions 2019 Linz, считаю что он хорошо дополняет предыдущий, т.к. продолжает тему изменений в Haxe, произошедших в 2019 году, а также немного рассказывает о его будущем. Немного об авторе доклада: Аурел Били познакомился ...

[Перевод] 48 open source ресурсов для JavaScript (2019) Мы выбрали из 20 000 проектов и библиотек для JavaScript 48 самых лучших (по звёздам на GitHub) и сгруппировали в 5 категорий: Пользовательский интерфейс (1~9) Инструменты JavaScript (10~25) Machine Learning (26~33) Проекты (34~39) Инструменты разработчика (40~48) Чита...

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

Мобильный интернет в Украине оказался самым дешёвым в Европе и 4-м по доступности в мире Украинцы любят рассказать, как всё плохо, дорого, а жадные операторы сотовой связи постоянно повышают тарифы и непомерно наживаются на простом народе. Но объективная реальность далека от этих стенаний. Об этом свидетельствуют результаты исследования провайдера Cable.co.uk, к...

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

Архитектурные решения для мобильной игры. Часть 1: Model Эпиграф: — Как я тебе оценю, если неизвестно что делать? — Ну там будут экранчики и кнопочки. — Дима, ты сейчас всю мою жизнь описал в трёх словах! (с) Реальный диалог на митинге в игровой компании Набор потребностей и отвечающих им решений, о которых я поговорю в этой...

Amazon представила сервис AWS Backup для резервного копирования Amazon анонсировала полностью управляемый централизованный сервис резервного копирования AWS Backup. Компания рекламирует новое предложение как более быстрое и простое для клиентов резервное копирование. Его можно настроить на регулярной основе или проводить по запросу. A...

Как браузер помогает товарищу майору Знаете, когда я почти нечаянно обнаружил, читая прекрасную книгу Дмитрия Кетова «Внутреннее устройство Linux» (и это не реклама), что каждый скачанный нами файл из Интернета с легкой руки браузера оставляет в расширенных атрибутах файла (в inode файла, не в самом файле) как ...

[Из песочницы] Восстановление данных с XtraDB таблиц без файла структуры, используя побайтовый анализ ibd файла Предыстория Так произошло, что сервере был атакован вирусом шифровальщиком, который по "счастливой случайности", частично отставил не тронутыми файлы .ibd (файлы сырых данных innodb таблиц), но при этом полностью зашифровал файлы .fpm (файлы структур). При этом .i...

Мгновенная настройка привычных файловых ассоциаций Автоматизировал задание файловых ассоциаций, то есть выбор программы которая будет открывать файл из Explorer/Finder. И делюсь. Сначала проблематика. Файлы нужных расширений часто не открываются по умолчанию ничем, а если открываются, то каким-нибудь iTunes. Под windows нужн...

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

[Из песочницы] Ограничения машинного обучения Привет, Хабр! Представляю вашему вниманию перевод статьи “The Limitations of Machine Learning“ автора Matthew Stewart. Большинство людей, читающих эту статью, вероятно, знакомы с машинным обучением и соответствующими алгоритмами, используемыми для классификации или прогнози...

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

[Перевод] Самое простое объяснение принципа работы современных алгоритмов симметричного шифрования (Нашёл в твиттере тред с очень крутым объяснением работы симметричных шифров. Его написал Colm MacCárthaigh один из основных контрибьюторов Apache. Я спросил разрешение Колма на перевод, он любезно согласился). Я объясню вам доступным языком, что происходит при шифровании да...

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

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

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

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

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