Социальные сети Рунета
Пятница, 19 апреля 2024

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

OS1: примитивное ядро на Rust для x86. Часть 2. VGA, GDT, IDT Первая часть Первая статья еще не успела остыть, а я решил не держать вас в интриге и написать продолжение. Итак, в предыдущей статье мы поговорили о линковке, загрузке файла ядра и первичной инициализации. Я дал несколько полезных ссылок, рассказал, как размещается загружен...

Релейные стабилизаторы напряжения Sven: VR-L1500, VR-A1000 и AVR SLIM-2000 LCD с разными возможностями Младший из образцов имеет меньшее количество ступеней регулировки, то есть способен поддерживать близкое к номинальному напряжение на выходе при меньших изменениях на входе, прежде всего в «минус», зато у него отличная перегрузочная способность. Два других образца хорошо под...

ИБП Powercom Raptor RPT-1025AP LCD: линейно-интерактивная модель с ЖК-экраном и четырьмя выходными розетками Schuko Компания Powercom представляет новую линейку в серии источников бесперебойного питания Raptor, модели которой оснащены жидкокристаллическим индикатором. Появление ЖК-экрана немного повысило цену по сравнению с моделью без такой индикации, но сделало работу с источником более...

Генерация многофазного ШИМ сигнала на TMS320F28027 Давным давно в далекой далекой галактике я написал небольшую статью о специализированных контроллера Piccolo от Texas Instruments, которые предназначены для управления силовыми преобразователями и электроприводом. Данные контроллеры являются очень мощным инструментов разрабо...

Пишем свой язык программирования, часть 3: Архитектура транслятора. Разбор языковых структур и математических выражений Введение Приветствую вас, заинтересованные читающие разработчики на не важно каких языках, на которых я ориентирую эти статьи и чьи поддержку и мнения я ценю. Для начала, по устоявшимся традициям, я приведу ссылки на предыдущие статьи: Часть 1: пишем языковую ВМ Часть 2:...

Oracle APEX. Отчеты В этой статье описываются три типа отчетов апекса: Classic Report, Interactive Report (IR) и Interactive Grid (IG). Classic Report — самый простой из них, но в сочетании с другими компонентами позволяет делать достаточно неожиданные вещи. IR и IG обладают намного более широк...

Как я написал и издал книгу об МГУ: 10 критических ошибок Три года назад я решил сделать книгу о высотке МГУ на Ленинских горах — большую, иллюстрированную, с привлечением выпускников и т.п. История этой работы — настоящее кино (местами фарс, местами хоррор) с кучей драматических поворотов. Сверхудачный краудфандинг, широкая аудито...

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

[Из песочницы] Phoenix LiveView: когда вам больше не нужен JavaScript* * для создания динамической страницы Не так давно 12.12.2018 был анонсирован выход новой библиотеки для фанатов phoenix framework под названием Phoenix LiveView. Я бы хотел поделиться с вами впечатлениями от ее использования и phoenix в целом, а в следующей статье попробова...

Badoo Jira API Client: магия в Jira на PHP Если в строке поиска на Хабре ввести “Jira Badoo”, результаты займут не одну страницу: мы упоминаем её почти везде, потому что она играет важную роль в наших процессах. Причём каждый из нас хочет от нее немножко разного. Разработчик, которому пришла задача на ревью, ожида...

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

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

5 способов сделать Python-сервер на Raspberry Pi. Часть 2 Привет Хабр. Сегодня мы продолжим изучать сетевые возможности Raspberry Pi, а точнее их реализацию на языке Python. В первой части мы рассмотрели базовые функции простейшего веб-сервера, работающего на Raspberry Pi. Сейчас мы пойдем дальше, и рассмотрим несколько способов, ...

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

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

Как сделать сетевое напряжение 220В в вашей Машине для использования ноутбука или мелких приборов В данной статье описан инвертор тока который поможет преобразовать автомобильное напряжение 12в в сетевое напряжение 220 в его функции и характеристики

AERODISK Engine: Катастрофоустойчивость. Часть 1 Привет, читатели хабра! Темой этой статьи будет реализация средств катастрофоустойчивости в системах хранения AERODISK Engine. Изначально мы хотели написать в одной статье про оба средства: репликацию и метрокластер, но, к сожалению, статья получилась слишком большой, поэто...

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

Написание змейки на ipad (pythonista) … или как убить время имея ipad и больше ничего... Привет! О чем речь? К сожалению, планшеты пока не заменяют компьютеры. Но покодить в поездке/полете это же жизненно необходимо. Поэтому я поискал какие ide есть под ipad, и собственно сегодня буду делать игрульку на Python...

Курс лекций «Основы цифровой обработки сигналов» Всем привет! Часто ко мне обращаются люди с вопросами по задачам из области цифровой обработки сигналов (ЦОС). Я подробно рассказываю нюансы, подсказываю нужные источники информации. Но всем слушателям, как показало время, не хватает практических задач и примеров в процессе...

[Из песочницы] Программируем проходной выключатель. MicroPython на esp8266 (sonoff) с OTA. Часть 1 Всем привет. В процессе ремонта возникла задача сделать проходной выключатель. Конечно же захотелось сделать самым простым и удобным способом, добавив базовые функции управления с телефона. Я выбрал наиболее простую и удобную технологию для этого (конечно, на свой взгляд) —...

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

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

Адаптация ARDUINO MEGA 2560 под нужды 3D печати. Возможно кому то данная статья и не интересна. Но все же я не нашел внятного объяснения, как поменять стабилизатор на плате ARDUINO MEGA 2560 на более мощный. И решил написать для тех кому это действительно нужно.ВНИМАНИЕ! Все работы по адаптации плат для работы в 3D принтер...

[Из песочницы] 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 ...

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

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

Как взлететь на батарейках или практика эксплуатации электропарамотора SkyMax. Часть 2 Продолжение статьи: «Как взлететь на батарейках или немного теории электропарамотора. Часть 1» habr.com/ru/post/475174 4. Описание электропарамотора SkyMax. В предыдущей статье уже фигурировала фотография внутреннего устройства используемой батареи в проекте. Она же — в со...

Расширяем возможности UObject в Unreal Engine 4 Всем привет! Меня зовут Александр, я уже более 5 лет работаю с Unreal Engine, и почти все это время — с сетевыми проектами. Поскольку сетевые проекты отличаются своими требованиями к разработке и производительности, нередко необходимо работать с более простыми объектами, та...

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

[Перевод] Модели дженериков и метапрограммирования: Go, Rust, Swift, D и другие В некоторых сферах программирования нормально хотеть написать такую структуру данных или алгоритм, которые могут работать с элементами разных типов. Например, список дженериков или алгоритм сортировки, которому нужна только функция сравнения. В разных языках предложены всев...

Xiaomi Mi 9 получил функцию DC dimming, берегущую глаза Пару недель назад компания Xiaomi выпустила бета-версию обновления для смартфона Xiaomi Mi 9, которое добавила функцию DC Dimming, позволяющую устранить мерцание экрана OLED при небольшой яркости. Теперь Чжан Гоцюань (Zhang Guoquan), глава отдела программного обеспечени...

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

Как мы нашли критичную уязвимость AspNetCore.Mvc и перешли на собственную сериализацию Привет, Хабр! В этой статье мы хотим поделиться нашим опытом в оптимизации производительности и исследовании особенностей AspNetCore.Mvc. Предыстория Несколько лет назад на одном из наших нагруженных сервисов мы заметили существенное потребление ресурсов CPU. Это выгляде...

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

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

[Перевод] Создаём процедурные глобусы планет Искажения, бесшовный шум и как с ними работать. Генерируем планету Один из простейших способов генерации планеты — использование шума. Если мы решим выбрать его, то у нас есть пара возможных вариантов. Давайте рассмотрим каждый и определим лучший: Шум Перлина (Perlin Noi...

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

[Перевод] Стратегии деплоя в Kubernetes: rolling, recreate, blue/green, canary, dark (A/B-тестирование) Прим. перев.: Этот обзорный материал от Weaveworks знакомит с наиболее популярными стратегиями выката приложений и рассказывает о возможности реализации наиболее продвинутых из них с помощью Kubernetes-оператора Flagger. Он написан простым языком и содержит наглядные схемы, ...

[Перевод] Как написать смарт-контракт на Python в сети Ontology. Часть 2: Storage API Это вторая часть из серии обучающих статей о создании смарт-контрактов на Python в блокчейн сети Ontology. В предыдущей статье мы познакомились с Blockchain & Block API смарт-контракта Ontology. Сегодня мы обсудим, как использовать второй модуль— Storage API. Storage API...

Самый «живой» искусственный интеллект — Google Duplex — переходит в онлайн В начале марта Google сделала свой искусственный интеллект Duplex доступным почти на всей территории США, но изначально только для владельцев смартфонов Pixel. Чуть позже поддержку Duplex получили флагманы Samsung. Вчера на мероприятии Google заявила, что Duplex в США д...

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

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

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

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

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

О том как я подготовился и сдал сертификацию Oracle Database SQL (1Z0-071) Зачем написана статья? Когда я готовился к OCA и OCP по Java 8, то нашел много статей на Хабре, благодаря которым выбрал оптимальный путь и сэкономил много времени. Однако по подготовке именно к OCA Oracle Database SQL (1Z0-071) материалов на Хабре нет и в интернете тоже о...

Как мы разрабатываем персональные товарные рекомендации Наши клиенты-магазины хотят делать крутой маркетинг. Чтобы люди больше покупали, они регулярно шлют им email-рассылки. И каждый раз думают: “Что же написать в письме?”. Можно писать просто: “Покупайте у нас почаще!”, но это не очень-то работает. Идея получше — вставлять в п...

«Нельзя просто так взять и запараллелить источники напряжения» Не раз и не два мне попадались предложения типа «давайте включим два стабилизатора напряжения параллельно, если не хватает выходного тока одного». В том числе и здесь: Тут — в авторском тексте о ПК Специалист (Spectrum) habr.com/ru/post/247211 (в итоге — автор применил двухк...

Смартфоны OnePlus и Oppo также получат функцию DC Dimming По мере роста популярности OLED-панелей в индустрии смартфонов производители решили начать использовать в мобильных устройствах технологию DC Dimming для изменениях их электрической мощности. Сотрудник, сливший дизайн Oppo Reno, заплатит штраф более 36 000 долларов ...

Универсальный способ настройки внешнего вида WinForms приложения (на примере FAQ.Net) Введение После размещения первой статьи о своем приложении FAQ.Net (программа заметок под Windows), появились первые пользователи, для которых хочется дальше развивать свою программу для заметок. Чтобы повысить интерес у пользователей, возникла идея повысить его привлекател...

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

[Из песочницы] Неявные (implicit) параметры и преобразования в Scala Пробежавшись по предыдущим статьям на Хабре, тыц и тыц так и не удалось в быстром режиме понять, что делает неявность (implicit) в Scala. Попробуем разобраться вместе. Итак, implicit в Scala позволяют избежать вызывания методов или явных ссылок на переменные, и взамен это...

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

[Перевод] Современный рендеринг текста в Linux: часть 1 Добро пожаловать в первую часть «Современного рендеринга текста в Linux». В каждой статье из этой серии мы разработаем самодостаточную программу на C для визуализации символа или последовательности символов. Каждая из этих программ будет реализовывать функцию, которую я счит...

Производитель называет Cirrus Logic CS35L41 самым маленьким интеллектуальным УНЧ с низким энергопотреблением Компания Cirrus Logic представила изделие, позиционируемое как ответ на растущую тенденцию к оснащению смартфонов и других портативных устройств стереофоническими звуковыми системами, позволяющими с более качественным звуком слушать музыку, смотреть потоковое видео и иг...

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

Делаем вездесущий Splash Screen на iOS Привет Хабр! Я расскажу о реализации анимации перехода со сплэш скрина на другие экраны приложения. Задача возникла в рамках глобального ребрендинга, который не мог обойтись без изменения заставки и внешнего вида продукта. Для многих разработчиков, участвующих в крупных...

[Из песочницы] Функциональные компоненты с React Hooks. Чем они лучше? Относительно недавно вышла версия React.js 16.8, с которой нам стали доступны хуки. Концепция хуков позволяет писать полноценные функциональные компоненты, используя все возможности React, и позволяет делать это во многом более удобно, чем мы это делали с помощью классов. М...

Пишем свой язык программирования, часть 4: Представление структур и классов, генерация аллокаторов Доброго времени суток тем, кто решил ознакомиться с моей очередной статьёй. Первым делом выкладываю ссылки на предыдущие части: Часть 1: пишем языковую ВМ Часть 2: промежуточное представление программ Часть 3: Архитектура транслятора. Разбор языковых структур и математиче...

Linux Backup от Veeam на ОС «Эльбрус». Импортозамещение ['?' | '.' | '!'] Всем привет. Недавние статьи на Хабре Импортозамещение на практике. Часть 1. Варианты и Не долго музыка играла… или как ОС Эльбрус так и не стала свободной не оставили меня равнодушным. Я решил поизучать этот вопрос в ключе задачи резервного копирования. Тем более, что в э...

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

Как я отлавливал стили :before для фокус-элемента Сегодня столкнулся с интересной задачкой, которая заставила меня узнать больше об отладке в хроме. Хочу поделиться с вами (вдруг кто не знал). Возникшая проблемка не сложная, но оказалась не особо тривиальная. В общем, сижу натягиваю стороннюю верстку готовую на сайт (этот...

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

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

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

Адаптация программ для ZX Spectrum к TR-DOS современными средствами. Часть 1 В отличие от современных компьютеров, на спектрумах понятия файловой системы не было как такового. Это значит, что загрузка с каждого типа носителя требовала отдельной реализации и в большинстве случаев программу нельзя было просто так скопировать с кассеты на дискету. В слу...

Наша космическая промышленность. Взгляд на проблемы рядового разработчика Я работал в нашей космической промышленности достаточно долго (1983-1995, 2008-2012 годы). Когда читаешь статьи о наших неудачах, в них часто не видны основные действующие механизмы создания проблем. Итак, я хотел бы начать это рассмотрение с принципа «фактической негативн...

Ручной стабилизатор для смартфона DJI Osmo Mobile 3 «засветился» на сайте FCC В базе данных Федеральной комиссии связи США (FCC) появилась информация о новом пополнении серии ручных стабилизаторов DJI, что позволяет предположить выход в ближайшее время преемника модели DJI Osmo Mobile 2. Первым обнаружил информацию об Osmo Mobile 3 блогер Дейв Затц (D...

Использование Liquibase для управления структурой БД в Spring Boot приложении. Часть 2 В предыдущей части мы разобрались с основными возможностями Liquibase и написали базовый пример Spring boot приложения, который использует Liquibase для инициализации БД. Полный код базового приложения можно увидеть тут. В этой статье мы поговорим про liquibase-maven-plugin ...

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

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

Check Point Falcon Acceleration Cards — ускоряем обработку трафика Относительно недавно мы публиковали статью про Check Point Maestro, новую масштабируемую платформу, которая позволяет практически линейно наращивать “мощность” шлюзов Check Point. Однако это не единственная технология увеличения производительности. Еще в 2018 году были ано...

Публикация приложения в Microsoft Store: некоторые изменения за год Вот уже год прошел с момента выхода статьи об особенностях публикации в MS Store. За прошедший год произошло много событий – GDPR, выход VS 2019 и прочие изменения. В сегодняшней небольшой статье мне бы хотелось немного рассказать о том, какие изменения произошли в особенно...

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

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

В Москве открыли новое «интерактивное пространство» Samsung Galaxy Studio На минувших выходных Samsung Electronics открыла в парке Горького новое летнее интерактивное пространство Samsung Galaxy Studio. Samsung Galaxy Studio располагается на центральной аллее и открыта для посещений ежедневно: в будни с 12:00 до 22:00, в выходные с 11:00 до ...

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

Ускоряем PHP-коннекторы для Tarantool с помощью Async, Swoole и Parallel В экосистеме PHP на данный момент существует два коннектора для работы с сервером Tarantool ― это официальное расширение PECL tarantool/tarantool-php, написанное на С, и tarantool-php/client, написанный на PHP. Я являюсь автором последнего. В этой статье я хотел бы подели...

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

Стохастический градиентный спуск(SGD) для логарифмической функции потерь(LogLoss) в задаче бинарной классификации Предыдущая часть (про линейную регрессию, градиентный спуск и про то, как оно всё работает) — habr.com/ru/post/471458 В этой статье я покажу решение задачи классификации сначала, что называется, «ручками», без сторонних библиотек для SGD, LogLoss'а и вычисления градиентов, ...

Простейшее профилирование памяти на STM32 и других микроконтроллерах «С опытом приходит стандартный, научный подход к вычислению правильного размера стека: взять случайное число и надеяться на лучшее» — Jack Ganssle, «The Art of Designing Embedded Systems» Привет, Хабр! Как ни странно, но в абсолютном большинстве виденных мной «учебников дл...

Добавляем Sign in with Apple на back-end На WWDC 2019 Apple представила новую систему авторизации пользователей — Sign in with Apple. Возникла задача интегрировать её в наш back-end и синхронизировать её с уже существующими методами авторизации при помощи email, Google и Facebook. За задачу взялся наш коллега kuren...

Бэкап для Linux не пишет писем Всем привет! Сегодня хочу поведать о том, как управлять Veeam Agent for Linux с помощью командной строки, и о том, какие возможности она открывает в умелых руках программиста. На написание статьи меня подтолкнул комментарий к предыдущей статье. Перефразирую удивление поль...

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

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

Импортозамещение на практике. Часть 1. Варианты Введение В связи с тем, что близится 2020 год и «час хэ», когда нужно будет отчитаться об исполнении приказа Минкомсвязи о переходе на отечественное ПО (в рамках импортозамещения), да не простое, а из реестра Минкомсвязи, мне прилетела задача о разработке плана, собственно...

«Современные» обедающие философы на C++ посредством акторов и CSP Некоторое время назад ссылка на статью "Modern dining philosophers" распространилась по ресурсам вроде Reddit и HackerNews. Статья интересная, она показывает несколько решений этой известной задачи, реализованных на современном C++ с использованием task-based подхода. Если к...

Суровая сибирская JVM: большое интервью об Excelsior JET Недавно мы писали о том, на какие ухищрения пошла Alibaba, чтобы сделать себе жизнь с OpenJDK более приемлемой. Там были комментарии вроде «оказывается, пока мы тут страдаем с обычной джавой, китайцы уже сделали себе свою особенную». Alibaba, конечно, впечатляет — но и в Рос...

Два в одном: программируемый по Wi-Fi монитор качества воздуха и стрелочные часы В свое время мне понравился монитор качества воздуха из публикации Сергея Сильнова «Компактный монитор домашнего воздуха (CO2, температура, влажность, давление) с Wi-Fi и мобильным интерфейсом». В мониторе качества воздуха (далее – монитор) из проекта Сергея информация с дат...

Использование Liquibase для управления структурой БД в Spring Boot приложении. Часть 1 В этой статье я разберу использование утилиты Liquibase в Spring Boot приложениях для версионирования структуры реляционной БД и миграции этой структуры с одной версии на другую. В первой части разберем базовый пример, а во второй поговорим об использовании liquibase-mave-pl...

Разработка простейшей «прошивки» для ПЛИС, установленной в Redd. Часть 2. Программный код Итак, в прошлой статье мы разработали простейшую процессорную систему, с помощью которой планируем провести тест микросхемы ОЗУ, подключённой к ПЛИС комплекса Redd. Сегодня же мы сделаем для этой аппаратной среды программу на языке С++, а также разберёмся, как эту программу ...

[Из песочницы] Headless CMS. Почему я пишу свою Всем привет! Написать эту публикацию меня побудила вот эта недавняя статья (вчера увидел). Пересказывать основные признаки Headless/content-first/api-first и т.п. CMS я не буду, материала полно и наверняка уже многие знакомы с этим трендом. А хочу я рассказать почему и ка...

[Из песочницы] Использование Ansible, Terraform, Docker, Consul, Nomad в облаках (Алексей Вахов, Учи.ру) Учи.ру — онлайн-платформа для школьного образования, более 2 миллионов школьников, регулярно решают у нас интерактивные занятия. Все наши проекты хостятся полностью в публичных облаках, 100% приложений работают в контейнерах, начиная от самых маленьких, для внутреннего польз...

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

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

Разработка сайта на WebAssembly с помощью NetCore 3 и Blazor Мое мнение, что WebAssembly будущее интернета. Данная технология на текущий момент уже интегрирована в большинство современных браузерах (а точнее в их движках) на ПК и мобильных устройствах. В таких браузерах как Chrome, Edge, Firefox, и WebKit. В данной статье я опишу как ...

[Перевод] Функциональное мышление. Часть 8 Привет, Хабр! Мы с небольшим запозданием возвращаемся с новогодних каникул с продолжением нашей серии статей про функциональное программирование. Сегодня расскажем про понимание функций через сигнатуры и определение собственных типов для сигнатур функций. Подробности под кат...

[Перевод] 9 правил крутого расширения для Visual Studio Крутые расширения Visual Studio имеют несколько ключевых признаков, которые отличают их от остальных. Они выглядят и на самом деле хорошо продуманы, функциональны и надежны. Кроме того, они делают то, что должны, до уровня совершенства и нативно вписываются во внутренние фун...

5 способов деплоя PHP-кода в условиях хайлоада Если бы хайлоад преподавали в школе, в учебнике по этому предмету была бы такая задача. «У соцсети N есть 2 000 серверов, на которых 150 000 файлов объемом по 900 Мб PHP-кода и стейджинг-кластер на 50 машин. На серверы код деплоится 2 раза в день, на стейджинг-кластере код о...

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

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

[Перевод] Четыре больших ошибки, которые совершал каждый программист Фотограф — Blake Connally, источник — Unsplash Создание программного обеспечения — искусство. Написание кода позволяет нам самовыражаться. И каждый разработчик делает это по-своему. Но индивидуализм не бесплатен — в этой статье я напишу о некоторых самых распространённых оши...

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

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

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

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

Батарейное питание для устройств MySensors Эта музыка будет вечной если я заменю батарейки (С) Это опус посвящен моим изысканиям по питанию автономными беспроводными устройствами, входящими в систему умного дома MySensors. Сперва был литий... Вернее литий-ионные и литий-полимерные аккумуляторы. Долгое время эти акку...

[Перевод] Сила дженериков в Swift. Часть 2 Добрый день, друзья. Специально для студентов курса «iOS Разработчик. Продвинутый курс» мы подготовили перевод второй части статьи «Сила дженериков в Swift». Связанные типы, условия where, сабскрипты и прочее… В статье «Сила дженериков в Swift. Часть 1» описывались gene...

10 000 мА·ч и мощность 18 Вт: у Huawei появился новый мобильный аккумулятор Ассортимент мобильных аккумуляторов компании Huawei пополнился новой моделью емкостью 10 000 мА·ч. Новинка предложена в двух вариантах: с выходным разъемом в виде USB Type-A и в виде USB-C. Пока в Китае стартовали продажи только первого варианта. За счет пе...

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

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

Гайд по автоматическому аудиту смарт-контрактов. Часть 2: Slither Анализатор: Slither Описание: Open-source static analysis framework for Solidity githib: https://github.com/trailofbits/slither Это статический анализатор кода, написанный на python. Он умеет следить за переменными, вызовами, и детектирует вот такой список уязвимостей. У каж...

Хитрости в Machine Learning — работа с несколькими моделями в Keras Это моя первая статья по теме Машинное обучение. С недавнего времени я профессионально занимаюсь машинным обучением и компьютерным зрением. В этой и будущих статьях я буду делиться наблюдениями и решениями специфических проблем при использовании TensorFlow и Keras. В этой ст...

[Из песочницы] Идея, как можно предоставлять сотрудникам временный доступ к ресурсам клиента, не светя лишний раз пароли Небольшая предыстория После лекции на HighLoad++ 2017. Я посмотрел этот доклад, “Как мы админа увольняли”, в записи. Докладчик сказал, что все web компании испытывает проблемы с паролями, и у меня появилась идея как это решить. Скорее всего кто-то уже сделал, но, если честно...

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

Sony WH-1000XM3 — лучшие беспроводные наушники? Этим небольшим обзором — да что там говорить, небольшим имхо — я хочу завершить небольшой цикл, предыдущая часть которого находится здесь. На самом деле я уже всё сказал, что хотел, но уважаемый Gordon01 заставил меня съездить к старому знакомому за 900 км от дома (Кирилл,...

NLP. Основы. Техники. Саморазвитие. Часть 2: NER Первую часть статьи об основах NLP можно прочитать здесь. А сегодня мы поговорим об одной из самых популярных задач NLP – извлечении именованных сущностей (Named-entity recognition, NER) – и разберем подробно архитектуры решений этой задачи. Читать дальше →

«Ждёт тебя дорога дальняя…» или решение задачи прогнозирования на C# с помощью Ml.NET (DataScience) В последнее время мне все чаще на глаза попадается информация о фреймворке для машинного обучения Ml.NET. Количество упоминаний о нем переросло в качество, и я решил хотя бы одним глазком глянуть, что же это за зверь такой. Ранее мы с вами уже пробовали решить простейшую з...

Готовим полнотекстовый поиск в Postgres. Часть 1 Эта статья — первая из небольшой серии статей о том, как оптимально настроить полнотекстовый поиск в PostgreSQL. Мне пришлось недавно решать подобную задачу на работе — и я был очень удивлен отсутствию хоть сколько-нибудь вменяемых материалов по этому поводу. Мой опыт борьбы...

[Из песочницы] Драйвер шагового двигателя. Тестируем микросхему L9110 Откуда «ножки» растут В настоящее время стали доступны и приобрели популярность различные станки с программным управлением. Это лазерные и фрезерные резчики и гравёры. А так же 3D принтеры. Все эти станки имеют один общий узел — шаговый двигатель. И этому двигателю нужен др...

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

Arduino DIY «Демоническая карусель» Всем привет. На данный момент я разработал прототип детского интерактивного тира в виде конструктора, которую я назвал “демоническая карусель”. Задумка была реализовать конструктор в области робототехники. Используя технологию 3D печати и различныx готовых плат, которые мо...

Sony Wena — умный ремешок для часов, который стоит больше, чем Apple Watch Идея переноса ряда функций с умных часов на ремешок не нова. Такой подход позволяет добавить современные функции любым наручным часам, как классическим, так и умным, но лишённым этих самых функций. Именно такой ремешок сегодня представила компания Sony. Новинка называе...

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

Гиперконвергентное решение AERODISK vAIR. Основа — файловая система ARDFS Привет, читатели Хабра. Этой статьей мы открываем цикл, который будет рассказывать о разработанной нами гиперконвергентной системе AERODISK vAIR. Изначально мы хотели первой же статьей рассказать всё обо всём, но система довольно сложная, поэтому будем есть слона по частям....

Распознавание объектов в режиме реального времени на iOS с помощью YOLOv3 Всем привет! В данной статье мы напишем небольшую программу для решения задачи детектирования и распознавания объектов (object detection) в режиме реального времени. Программа будет написана на языке программирования Swift под платформу iOS. Для детектирования объектов буд...

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

О пиве глазами химика. Часть 2 Привет, %username%. Если у тебя прямо сейчас возник вопрос: «Эй, что значит часть 2 — а где первая?!» — срочно идти сюда. Ну а для тех, кто уже знаком с первой частью — переходим непосредственно к делу. Да, и я знаю, что для многих пятница только началась — ну вот и пов...

Использование кастомных функций потери и метрики качества обучения в Keras При обучении нейронной сети на обучающей выборке на выходе нейросети вычисляются два ключевых параметра эффективности обучения — ошибка и точность предсказания. Для этого используются функция потери (loss) и метрика точности. Эти метрики различаются в зависимости от поставле...

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

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

Концепции программирования в Scratch Многим знаком Scratch – детская среда программирования, обучение в которой обычно сводится к созданию творческих проектов по принципу «от простого к сложному». При этом «классический подход» к изучению программирования (переменные → ветвления → циклы → функции → структуры ...

Software Defined Radio — как это работает? Часть 9 Привет Хабр. В предыдущей части было рассмотрено декодирование сигналов RDS для FM-радиостанций, и идея следующей статьи возникла сама собой — нужно сделать свой собственный FM-трансмиттер. Вариантов будет два — простой, и более сложный, с RDS. Как и в предыдущих случая...

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

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

[Из песочницы] Dagger 2 – это элементарно (Часть 1) Содержание Введение Что такое Dependency Injection, Пример зависимости Dagger 2 – введение Первое использование Dagger 2 Введение Статья написана не продвинутым программистом для таких же, обычными и понятными словами В статье используется пример кода на Kotlin. Версия da...

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

Автономная метеостанция на контроллере ATMEGA328P и питанием от батареек с беспроводным выносным датчиком Совершенствуя свой комнатный термостат, о котором писал раньше, я задался целью дополнить его беспроводным датчиком температуры для измерения температуры воздуха на улице, собрать термостат с питанием от батареек и заменить модули приемник-передатчик RF 433MHz другой парой р...

Проектируем космическую ракету с нуля. Часть 5 — Первый закон Кеплера Содержание Часть 1 — Задача двух тел Часть 2 — Полу-решение задачи двух тел Часть 3 — Ужепочти-решение задачи двух тел Часть 4 — Второй закон Кеплера Привет всем читателям! Сразу приступим к продолжению без лишних разглагольствований. В прошлый раз остановились на: Э...

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

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

Лазерная коррекция зрения — так ли эффективен метод Smile на самом деле? Мои исходные данные: небольшая близорукость, -1 диоптрия, но всего лишь 20% остроты — видел только две строчки. Очки или линзы мне были неудобны, поэтому я решил сделать операцию. Выбор сводился всего к двум типам — Femto lasik или Smile. Фемто — проверенный и надежный мет...

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

Как закрывать задачи в баг-трекере Эту статью я написала в рабочем конфлюенсе в 2013 году. И на момент написания этой статьи (2019 год) она все еще была актуальна. Исходно чек-лист записала как напоминание, в том числе и себе. Потому что к задачам приходится возвращаться, в том числе людям, которые их НЕ про...

Amazon выпустила Open Distro for Elasticsearch Эта статья — обзор новостей о том, как — Amazon выпустила Open Distro for Elasticsearch — почему они это сделали? — что это значит для компании Elastic и для Open Source вообще? Elastic Жила была компания Elastic. Было у них несколько Open Source продуктов: — Сам Elast...

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

DMA: мифы и реальность Введение В прошлой статье («Часть 2: Использование блоков UDB контроллеров PSoC фирмы Cypress для уменьшения числа прерываний в 3D-принтере») я отметил один очень интересный факт: если автомат в UDB изымал данные из FIFO слишком быстро, он успевал заметить состояние, что н...

Свежий взгляд на отображение диалогов в Android На картинке первая мысль читателя, который недоумевает, что можно написать про такую простую задачу как отображения диалога. Аналогично думает и менеджер: «Тут ничего сложного, наш Вася за 5 минут сделает». Я, конечно, утрирую, но на самом деле всё не так просто, как кажетс...

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

MVP и Dagger 2 – скелет Android-приложения – часть 1 Данная статья нацелена на новичков в Android-разработке и призвана помочь в создании минимально необходимой структуры приложения. Так получилось, что я относительно недавно начал программировать под Android – после месяца без проекта в компании, где я работаю, меня определи...

[recovery mode] Что показывает вольтметр или математика розетки О чем эта статья Сегодня я ненадолго отступлю от своей обычной темы о визуальном программировании контроллеров и обращусь к теме измерений напряжения прямо в ней, в розетке! Родилась эта статья из дискуссий за чаем, когда разразился спор среди «всезнающих и всеведающих» п...

[recovery mode] REST страсти по 200 Давно я хотел написать эту статью. Все думал — с какой стороны зайти правильнее? Но, вдруг, недавно, на Хабре появилась подобная статья, которая вызвала бурю в стакане. Больше всего меня удивил тот простой факт, что статью начали вбивать в минуса, хотя она даже не декларир...

Пишем защиту от DDoS-атак на XDP. Ядерная часть Технология eXpress Data Path (XDP) позволяет выполнить произвольную обработку трафика на интерфейсах Linux до того, как пакеты поступят в сетевой стек ядра. Применение XDP — защита от DDoS-атак (CloudFlare), сложные фильтры, сбор статистики (Netflix). Программы XDP исполняют...

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

ML на Scala с улыбкой, для тех, кто не боится экспериментов Всем привет! Сегодня будем говорить о реализации машинного обучения на Scala. Начну с объяснения, как мы докатились до такой жизни. Итак, наша команда долгое время использовала все возможности машинного обучения на Python. Это удобно, есть много полезных библиотек для подг...

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

[Перевод] Вся правда об ОСРВ. Статья #32. Миграция Nucleus SE: Нереализованные функции и совместимость Основным требованием при разработке Nucleus SE была высокая степень совместимости с главным ОСРВ-продуктом Mentor – Nucleus RTOS. Nucleus SE поддерживает определенную часть функционала Nucleus RTOS, о чем много раз говорилось в предыдущих статьях, однако в этой статье я пост...

VMware NSX для самых маленьких. Часть 5. Настройка балансировщика нагрузки Часть первая. Вводная Часть вторая. Настройка правил Firewall и NAT Часть третья. Настройка DHCP Часть четвертая. Настройка маршрутизации В прошлый раз мы говорили о возможностях NSX Edge в разрезе статической и динамической маршрутизации, а сегодня будем разбираться с ба...

Универсальный DSL. Возможно ли это? Язык предметной области. Не перегружен конструкциями языка общего назначения. При этом позволяет всего несколькими строчками реализовать весьма сложную логику. Все это — DSL. Однако создание DSL требует от разработчика соответствующей квалификации. Регулярное использование...

Как нейронная сеть SincNet выделяет значимые частоты в звуке через Back Propagation Недавно вышла одна очень интересная статья "Speaker Recognition from raw waveform with SincNet", в которой была описана end-to-end архитектура нейронной сети для распознавания говорящего по голосу. Ключевая особенность этой архитектуры — специальные одномерные сверточные сло...

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

Nomad готовит к выпуску беспроводную станцию зарядки на 3 устройства В партнерстве с Aira FreePower компания Nomad разработала базовую станцию ​​Pro, которая имеет одну матрицу зарядки на 18 катушек, которая может заряжать до 3 устройств в любой ориентации. Запатентованные алгоритмы FreePower помогают найти устройство на планшете и динамическ...

Как сделать из сайта приложение и выложить его в Google Play за несколько часов. Часть 2/2: Trusted Web Activity В первой части мы превратили наш сайт в Progressive Web App. Там же было сказано, что совсем недавно, 6 февраля 2019 года, Google предоставили простую возможность выкладывать PWA в Google Play при помощи Trusted Web Activity. Всё, что нужно сделать, это написать небольшую ...

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

Правда о железнодорожных тормозах: часть 1 Кинетическая энергия «Сапсана» на максимальной скорости — свыше 1500 мегаджоулей. Для полной остановки вся она должна быть рассеяна на тормозных устройствах Было дело, просили меня поподробнее раскрыть эту тему именно здесь, на хабре. Здесь публикуется довольно много обзор...

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

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

Снова про дырявые абстракции (или про непредсказуемое окружение) Итак, довольно простая часть программы под Windows. Есть файл, содержащий несколько записей. И их надо определенным образом отфильтровать. Решение довольно простое — открываем файл, читаем записи одну за другой, нужные нам записываем во временный файл. Закрываем файл. Удаля...

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

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

Российские физики с русскими коллегами из США и Франции создали «невозможный» конденсатор Некоторое время назад в издании Communications Physics вышла научная статья «Harnessing ferroelectric domains for negative capacitance», авторами которой стали российские физики из Южного федерального университета (Ростов-на-Дону) Юрий Тихонов и Анна Разумная, физики из фран...

Univention Corporate Server (UCS) — установка простого и удобного LDAP сервера с web-панелью и его связка с Nextcloud Рано или поздно на любом маленьком или среднем предприятии возникает задача по созданию единого центра авторизации пользователей в многочисленных сервисах и порталах компании. Среди кандидатов на такой центр авторизации сразу приходит в голову Microsoft Active Directory ил...

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

[Перевод] Почему мы перенесли серверы в Исландию Примечание переводчика. Simple Analytics — сервис аналитики для веб-сайтов, ориентированный на приватность (в некотором роде противоположность Google Analytics) Как основатель Simple Analytics, я всегда помнил о важности доверия и прозрачности для наших клиентов. Мы несём о...

Холивар. История рунета. Часть 3. Поисковики: Яндекс vs Рамблер. Как не делать инвестиции Холивар. История рунета. Часть 1. Начало: хиппи из Калифорнии, Носик и лихие 90-е Холивар. История рунета. Часть 2. Контркультура: пАдонки, марихуана и Кремль «Я ж не сразу поддамся, ты хоть нажимай». Программисты Дмитрий Крюков и Сергей Лысаков создали Rambler.ru — гла...

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

[Перевод] Встраиваемые функции в Go Go позволяет писать на ассемблере. Но авторы языка написали такую стандартную библиотеку, что бы этого делать не пришлось. Есть способы писать переносимый и быстрый код одновремено. Как? Добро пожаловат под cut. Читать дальше →

Жизненный цикл статьи на Хабре: пишем хабрапарсер Привет Хабр! Многие постоянные читатели и авторы сайта наверное задумывались о том, какой жизненный цикл имеют опубликованные здесь статьи. И хотя интуитивно это и так более-менее ясно (очевидно например, что статья на первой странице имеет максимальное число просмотров), н...

Как мы пересадили всю команду на другой язык за один день (на самом деле — нет) func main() { envs.UpdateDotenv() ctx := context_os.Context(context.Background()) res := resources.Get(ctx) ready := readiness.New() ready.AddProbe(func() { //add some initialization }) h := handlers.New(res) s := server.NewServer(ready) s.HandleFunc("/test", h.Tes...

[Перевод] Вся правда об ОСРВ. Статья #30. Инициализация и процедуры запуска Nucleus SE У любой операционной системы есть определенный механизм запуска. Принцип работы этого механизма у каждой системы свой. Обычно говорят, что система загружается (англ. boot), это сокращение от «bootstrap», которое отсылает к выражению «pull oneself over a fence by one’s boot...

Компания RRC расширила список вендоров ИБП и стабилизаторов напряжения На сегодняшний день продуктовая линейка POWERMAN включает в себя ИБП, стабилизаторы напряжения и АКБ широкого применения. Продукция POWERMAN выпускается с 2000 года...

Как ускорить шифрование по ГОСТ 28147-89 на процессоре Байкал-Т1 за счет SIMD-блока В статье на примере описания реализации алгоритма шифрования по ГОСТ 28147–89, построенного на сети Фейстеля, показаны возможности двухъядерного процессора BE-T1000 (aka Байкал-Т1) и проведены сравнительные испытания реализации алгоритма с помощью векторных вычислений с сопр...

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

[Из песочницы] QlikView. Условное форматирование «Как в Эксель» Пришла задача от заказчика – сделать условное форматирование таблицы «как в эксель». QlikView вполне себе справляется со стандартными задачами раскраски по условию, но вот с выбором параметров динамически, да еще и как в эксель – возник вопрос «это как вообще..?». Итог: был...

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

Java Native Image: проверка возможности использования Не так давно Oracle выпустил первый релиз проекта GraalVM (https://www.graalvm.org/). Релизу был сразу присвоен номер 19.0.0, видимо, для того чтобы убедить, что проект зрелый и готов к использованию в серьезных приложениях. Одна из частей этого проекта: Substrate VM — фре...

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

Большой брат следит за… собой или карта с историей перемещений в HomeAssistant Вступление. Для своей домашней автоматизации я уже давно использую HomeAssistant. Однажды товарищ у меня спросил, мол, почему у HomeAssistant есть возможность указывать только текущее положение трекера на карте, но нельзя отобразить весь маршрут следования? С тех пор данная ...

Использование Paging library совместно с Realm На одном из митингов Android-отдела я подслушал, как один из наших разработчиков сделал небольшую либу, которая помогает сделать «бесконечный» список при использовании Realm, сохранив «ленивую загрузку» и нотификации. Сделал и написал черновик статьи, которой почти в неизме...

Делаем современное веб-приложение с нуля Итак, вы решили сделать новый проект. И проект этот — веб-приложение. Сколько времени уйдёт на создание базового прототипа? Насколько это сложно? Что должен уже со старта уметь современный веб-сайт? В этой статье мы попробуем набросать boilerplate простейшего веб-приложения...

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

EFORTH для МК-161: Структуры данных Эта статья — окончание цикла статей про eForth на программируемом калькуляторе. Начало здесь: habr.com/ru/post/452398 Команды входного языка «Электроники МК-161» занимают только половину файла eForth0.mkl. Вторую половину занимают таблицы, разработать которые был не меньший...

ZENLIX 3.5 — спустя 2 год Начав разработку системы заявок, с 2013 года, история которой описана в предыдущих публикациях: Как мы написали helpdesk Как мы написали helpdesk (часть 2) Как мы написали helpdesk (часть 3) мы остановили выпуск новых версий в 2017 году. Это не значит, что мы переста...

Microsoft To-Do теперь поддерживает закрепление списков в виде «живых» плиток в меню «Пуск» Компания Microsoft выпустила новое обновление приложения To-Do для Windows 10 и iPad, которое принесло с собой несколько приятных улучшений. На Windows 10 пользователи получили возможность закреплять отдельные списки в качестве динамических плиток в меню «Пуск», тогда как н...

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

Создаем несложный шахматный ИИ: 5 простых этапов Перевели для вас статью Лори Хартикка (Lauri Hartikka) о создании простейшего ИИ для шахмат. Она написана еще в 2017 году, но базовые принципы остались теми же. Все файлы, которые использовал Лори, тоже доступны. Простой искусственный интеллект, который умеет играть в ш...

[Из песочницы] Игра (не) для дураков. Пишем AI для «Дурака» (часть 1) Думаю, ни для кого не секрет, что "Дурак" (далее это слово будет написано с маленькой буквы и без кавычек) — это самая популярная карточная игра в России и странах бывшего СССР (хотя и почти неизвестная за его пределами). Несмотря на свое название и довольно неслож...

[Перевод] Обмен данными между React-компонентами с использованием библиотеки RxJS Перед вами перевод статьи Chidume Nnamdi, опубликованной на blog.bitsrc.io. Перевод публикуется с разрешения автора. Появление библиотеки RxJS открыло массу новых возможностей в мире JS. Цель RxJS — достигать многого, используя небольшое количество кода. Прочитав эту стат...

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

[Перевод] Знакомство с HealthKit В этой статье про HealthKit вы узнаете, как запрашивать разрешение на доступ к данным HealthKit, а также считывать и записывать данные в центральный репозиторий HealthKit. В статье используется Swift 4, iOS 11, Xcode 9 версии. HealthKit — это API, которое было представлено...

SciPy, оптимизация с условиями SciPy (произносится как сай пай) — это основанный на numpy математический пакет, включающий в себя также библиотеки на C и Fortran. С SciPy интерактивный сеанс Python превращается в такую же полноценную среду обработки данных, как MATLAB, IDL, Octave, R или SciLab. В это...

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

Как не дать идее погибнуть и собрать команду, которая ее не убьет Когда наше digital-агентство только открылось, возник вопрос: как все начать и не запороть. Мы хотели создать что-то большое. Что-то, вокруг чего объединились бы единомышленники. Здесь мы расскажем, как не дать идее умереть и как собрать команду, которая ее не убьет. В са...

Осторожно — ГАЗ! или Как мы делали негазированные смарт-контракты Блокчейн и смарт-контракты все еще остаются горячей темой среди разработчиков и технических специалистов, много исследований и рассуждений об их будущем и о том, куда это все движется и приведет нас. У нас в Waves Platform свой взгляд на то, какими должны быть смарт-контрак...

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

[Перевод] Израильские учёные разработали универсальное лечение против рака Небольшая команда израильских учёных считает, что они нашли первое универсальное лекарство против рака. «Мы считаем, что через год мы предложим универсальное лекарство против рака», – сказал Дэн Аридор о новом лечении, разработанном его компанией, Accelerated Evolution B...

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

STABLE CUBE 2 версия . Здравствуйте, читатели 3-D Today. В этой статье хочу представить вам 2 версию стального принтера STABLE CUBE 300x300. Итак, что представляет мой принтер: - Поле печати 300х300х400; - Кинематика H-Bot, CoreXY - Плата управления Lerdge-S; - Возможность установки 2 экструд...

[Из песочницы] Настройка автоматического тестирования гибридного приложения В этой статье хочу поделиться опытом решения задачи запуска автоматизированного тестирования мобильного приложения на Android. О чем расскажу: Как запустить среду автоматического тестирования используя Appium (ОС ПК — Windows 10) Как избежать некоторых ошибок которые возн...

[Перевод] Функциональное мышление. Часть 11: Финал Сегодня мы заканчиваем нашу серию статей о функциональном программировании. Получилось 11 частей. Я считаю, что это достижение. В этой статье реализуем простой стековый калькулятор (также известный как "обратная Польская нотация"). Реализация практически полностью построена ...

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

Если не читается/не определяется/глючит SD-карта Всем привет!Когда я купил себе Anycubic Linear Plus, счастью моему не было предела!) В комплекте с принтером была нонэйм SD-карта на 8 ГБ. И начал я активно печатать)Через некоторое время, карта стала глючить: то вообще не определяется, то определяется через раз, то файлы не...

Фракталы в иррациональных числах. Часть 2 Часть 0: Фракталы в простых числах. Часть 1: Фракталы в иррациональных числах. В статье присутствуют Gif и контрастные картинки. У эпилептиков может случиться эпилептический припадок. Читать дальше →

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

[Перевод] Исследование глубин аннотаций типов в Python. Часть 1 C 2014 года, когда в Python появилась поддержка аннотаций типов, программисты работают над их внедрением в свой код. Автор материала, первую часть перевода которого мы публикуем сегодня, говорит, что по её оценке, довольно смелой, сейчас аннотации типов (иногда их называют «...

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

Пишем на Java для Nintendo DS Введение Все началось с того, что я случайно нашел список homebrew программ (программы, разработанные усилиями пользователей для устройств, не предназначенных для запуска пользовательского ПО) для Nintendo DS и в нем увидел одну очень интересную строчку, а именно: «Pstros ...

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

[Из песочницы] Сказ о полукольцах Привет, Хабр! Предлагаю вашему вниманию перевод статьи "A tale on Semirings" автора Luka Jacobowitz. Когда-нибудь задумывались, почему сумма типов называется суммой типов. Или, может, вы всегда хотели узнать, почему оператор <*> записывается именно так? И что...

[Перевод] Плюсы и минусы Django Прим. перев.: Эта статья рассчитана в основном на тех кто только выбирает фреймворк для веб-разработки. Опытные разработчики на Django вряд ли узнают что-то новое. Django описывают как «веб-фреймворк для перфекционистов с дедлайнами». Его создали, чтобы переходить от протот...

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

[Из песочницы] Как мы тушили велосипед техподдержки — Привет! — Привет! — Скажи, а каково это — делать техническую поддержку? — Ну-у-у, представь себе велосипед… и он горит… и ты горишь… и дорога горит… и вообще, ты в аду…(с) автор не известен Не важно кто вы, новичок или опытный менеджер, каждый из нас сталкивался с сит...

Антирейтинг 2018 Эта статья написана по аналогии со статьей «Как не надо писать на Хабр: Антирейтинг 2017». Статьи взяты за 2018 год, точнее, начиная с индекса 345000. Кроме отрицательных значений рейтинга, есть список по абсолютному количеству минусов (видимо, самые обсуждаемые темы, в бо...

Энтропийное кодирование rANS или как написать собственный архиватор Эта статья может быть интересна тем, кто занимается сжатием данных или хочет написать собственный архиватор. Статья написана, в основном, по материалам блога, который ведёт Fabian Giesen. Читать дальше →

[Перевод] Классификация покрова земли при помощи eo-learn. Часть 2 Классификация покрова земли при помощи eo-learn. Часть 2 Часть 1 Переходим от данных к результатам, не покидая рамки своего компьютера Стек изображений небольшой зоны в Словении, и карта с классифицированным покровом земли, полученная, используя методы, описанные в статье. ...

[Из песочницы] (5-2) Способа перенести большую SQL таблицу Введение Всем привет! Это моя первая статья и пишу я ее от лица младшего инженера-разработчика на языке C#. Так что здесь не будет каких-то подробных сведений о SQL, лишь практические сведения и размышления по решению довольно не очевидной задачи, с которой мне пришлось стол...

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

[Из песочницы] Использование SQLite в Unity (Unity + SQLite) Всем привет, данная публикация будет посвящена работе с встраиваемой реляционной базой данных SQLite в Unity. Данная статья написана новичком для новичков с целью показания работы с SQLite, предполагается, что вы знаете основы SQL. Так как в интернете нет ясного тутора для н...

[Перевод] Зачем ЯОП? Зачем Racket? Это продолжение статьи «Зачем Racket? Зачем Lisp?», которую я написал примерно через год после того, как открыл для себя Racket. Будучи новичком, я не мог понять дифирамбов, которые со всех сторон сыпались в адрес Lisp. Я не знал, что и думать. Как понимать, что Lisp в конце...

Применение Oracle Database для Технического анализа рынков Эта статья про Oracle Database, PL/SQL, SQL, MATCH_RECOGNIZE, MODEL clause, aggregate и pipelined functions. В качестве функциональной области использован Технический анализ (ТА) рынков. Сначала небольшая поверхностная вводная о торговле на рынках, потом — расчёты. Техниче...

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

Новая версия ПО Cinebench R15 позволяет корректнее тестировать процессоры с большим количеством ядер Тест Cinebench R15 часто используется для оценки производительности процессоров. Проблема в том, что тест старый, и современные многоядерные CPU проходят его буквально за секунды. А это означает, что всё время теста они работают на максимальных частотах. Это показатель ...

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

[Перевод] Автоматизация Android. Супер простое руководство по созданию первого Espresso-теста Здравствуйте, друзья. В преддверии старта курса «Mobile QA Engineer», хотим поделиться с вами переводом интересного материала. Что такое Espresso? Нет, это не напиток, который вы пьете каждый день, чтобы взбодриться. Espresso — это тестовый фреймворк с открытым исходным к...

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

Android-приложения, которые обучат вас игре на гитаре Сразу играть как легендарный Slash из Guns’n’Roses у вас вряд ли получится, но вот сделать первые шаги к этому при помощи приложений вы запросто сможете Кажется, что обучиться игре на гитаре — это довольно сложное занятие. Которое к тому же требует от вас п...

SNA Hackathon 2019: усложняем архитектуру — упрощаем признаки В этой статье я расскажу про свое решение текстовой части задачи SNA Hackathon 2019. Какие-то из предложенных идей будут полезны участникам очной части хакатона, которая пройдет в московском офисе Mail.ru Group с 30 марта по 1 апреля. Кроме того, этот рассказ может быть ин...

Ослабляем гайки, часть 2: срок голосования за публикации и другие изменения В начале недели мы рассказали о важных изменениях для пользователей и, кажется, они всем понравились: рейтинг публикации перевалил за 300, написано более 800 комментариев (и они активно продолжают появляться). Там же мы посеяли зерно интриги и пообещали ещё кое-какие изменен...

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

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

[Из песочницы] Как я делился местоположением через ВК API Недавно решил попробовать реализовать идею о том, как можно делиться местоположением через API ВКонтакте с друзьями в режиме, приближенном к реальному времени. На выходе получилось кроссплатформенное Qt-приложение для iOS/Android, веб-приложение для ВКонтакте и парочка pull ...

60 миллионов полей и 27 культур. Как мы делали карту всех полей Европы и США Несколько месяцев назад мы запустили первую в мире бесплатную интерактивную карту, с помощью которой можно посмотреть информацию о любом поле в США и Европе. Про карту написали десятки изданий, а на Product Hunt она собрала беспрецедентные для продукта из агросектора полторы...

Делаем домашнюю библиотеку с Notion и Python Мне всегда было интересно, как бы получше распределить книги у себя в электронной библиотеке. В итоге пришел к такому варианту с автоматическим подсчетом количества страниц и прочими плюшками. Всех заинтересованных прошу под кат. Читать дальше →

Что не нужно делать если у вас украли телефон Ранее каждый раз, когда я видел сообщения о том, что у человека украли телефон, то всегда задавался вопросом: а зачем? Ну, серьезно, зачем воруют смартфоны если: — его можно отследить по IMEI, а смена IMEI явно не бесплатна; — на телефоне могут быть установлены блокировк...

[Перевод] Как написать смарт контракт на WebAssembly в сети Ontology? Часть 2: С++ В этой статье мы разберем на двух примерах, как написать смарт контракт на языке C++, используя WASM на основе блокчейн сети Ontology. Сегодня, после нескольких месяцев стабильной работы в тестовом режиме, Ontology запустила WASM в основной сети, что позволяет безболезненн...

[Из песочницы] Архитектура компьютерных систем 1 часть. Логические вентили Логические элементы Доброго времени суток, я начинаю серию статей по написанию виртуальной машины на языке Golang. Я выбрал этот язык так как он прост для чтения и имеет в стандартной библиотеке уже необходимые функции, которые пригодятся в дальнейшем. Эта статья не несёт в...

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

[Перевод] Самодельный сборщик мусора для OpenJDK Это перевод статьи Алексея Шипилёва «Do It Yourself (OpenJDK) Garbage Collector», публикуется с согласия автора. О любых опечатках и других багах сообщайте в личку — мы их поправим.Процесс создания чего-нибудь в рантайме языка — весёлое упражнение. По крайней мере, создание ...

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

Пишем краулер на раз-два 1.0 Веб-краулер (или веб-паук) — это важная составная часть поисковых систем для обхода веб-страниц с целью занесения информации о них в базы данных, в основном, для их дальнейшей индексации. Такая штука есть у поисковиков (Google, Yandex, Bing), а также у SEO-продуктов (SEMrush...

«Эмоциональные метрики» Стивен Вест в недавней статье «The Importance of Managed Emotional Metrics in ITSM» на портале ITSM.tools высказывает известный тезис о том, что помимо объективных показателей, согласованных в SLA, необходимо контролировать удовлетворённость потребителя (слышать голос заказч...

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

Часть вторая. Как проходить code review по версии Google Возможно вы читали первую часть статьи про код ревью со стороны ревьювера (кстати, мы уже успели ее обсудить в последнем выпуске подкаста "Цинковый прод"). Так как статья набрала много лайков, пишу обещанное продолжение про код ревью с другой стороны — со стороны автора из...

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

Попытка создать аналог ASH для PostgreSQL Постановка задачи Для оптимизации запросов PostgreSQL, очень требуется возможность анализировать историю активности, в частности – ожидания, блокировки, статистика таблиц. Имеющиеся возможности Инструмент анализа исторической нагрузки или «AWR для Postgres»: очень интересн...

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

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

[Перевод] 56 проектов на Python с открытым исходным кодом 1. Flask Это микро-фреймворк, написанный на Python. Он не имеет валидаций для форм и уровня абстракции базы данных, но позволяет вам использовать сторонние библиотеки для общих функций. И именно поэтому это микро-фреймворк. Flask предназначен для простого и быстрого создан...

[Из песочницы] Порядок в фотоархиве средствами powershell Привет, Хабр! На днях возникла типовая задача — помочь знакомой превратить гору фотографий в упорядоченную иерархию. Всё бы ничего, но гор фотографий не одна, а две — на Mac и на ноуте под Win10. В поисках решения, наткнулся на несколько сценариев для linux, а вот чего-то т...

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

Как выглядит zip-архив и что мы с этим можем сделать. Часть 2 — Data Descriptor и сжатие Продолжение статьи Как выглядит zip-архив и что мы с этим можем сделать. Предисловие Доброго времени суток. И снова в эфире у нас нетрадиционное программирование на PHP. В прошлой статье уважаемых читателей заинтересовала тема сжатия в ZIP и сохранение потоков в zip. Попробу...

Software Defined Radio — как это работает? Часть 6 Привет, Хабр. В предыдущей части мы рассмотрели возможность передачи простых сигналов с помощью GNU Radio. Сейчас мы пойдем дальше, и посмотрим, как передать что-нибудь посложнее. Начнем с радиолюбительских сигналов WSPR, а затем создадим работающий программный QAM-модем. ...

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

Библиотека генератора ассемблерного кода для микроконтроллеров AVR. Часть 5 ← Часть 4. Программирование периферийных устройств и обработка прерываний Библиотека генератора ассемблерного кода для микроконтроллеров AVR Часть 5. Проектирование многопоточных приложений В предыдущих частях статьи мы подробно останавливались на основах программирования с ...

Компактное зарядное устройство Anker PowerPort Atom PD 1 Anker готова начать продажу своего зарядного устройства, которое было анонсировано в октябре - PowerPort Atom PD 1. Это компактное зарядное устройство USB-C. Фактически это самое маленькое в мире зарядное устройство USB-PD, способное выдавать мощность 30 Вт. Этого достаточн...

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

Блокчейн здесь только для пиара и хайпа? Недавно компания «Ренессанс Страхование» опубликовала статью, в которой рассказала о программном продукте для страхования грузоперевозок. Этот продукт мы разработали на основе платформы Hyperledger Fabric. Вокруг статьи развернулись дискуссии между криптоскептиками и крипт...

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

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

Выходные на электромобиле Праздники в Канаде, США и некоторых других странах распределены так, что примерно раз в месяц получается не два, а три выходных дня подряд. Например, пятница, суббота, воскресенье. Или суббота, воскресенье, понедельник. Такие длинные выходные тут называют Long Weekend. Нек...

Модульные встраиваемые компьютеры серии UNO-1000/2000 UNO 1000/2000 — это полноценные X86-компьютеры для встраиваемых систем, в форм-факторе готовых модулей, с возможностью установки на DIN-рейку. Платформу легко использовать для любых специфических задач, благодаря широкому выбору фирменных модулей расширения iDoor, позволяю...

Создание своего jsfiddle, часть 2 Привет всем читателем Habr. В данной статье мы будем продолжать писать свой онлайн редактор кода. В этой статье мы сделаем функцию сохранения кода в localStorage и по обновлению страницы этот код будет вставляться в эти 3 поля, а также сделаем функцию скачивания этого кода...

Как переназначить кнопку Bixby на Galaxy S8, S9, S10 Компания Samsung представила не так давно Galaxy S10. О смартфонах мы уже написали немало в недавних материалах, но не затронули подробности, которые многих волнуют. Так, например, компания позволяет в Galaxy S10 переназначить кнопку Bixby. Об этом просят корейцев уже не пе...

Перепрограммируем кассу и печатаем на ней Киану Ривза. Часть 2. ПО для ПК В предыдущей статье я кратко описал свою прошивку для ККТ ШТРИХ-ФР-К, которая позволяет управлять термоголовкой, движками и соответственно выводить на печать все что угодно. В этой части я покажу как написать софт, который будет общаться с кассой и форматировать картинку для...

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

[Из песочницы] Учим компьютер различать звуки: знакомство с конкурсом DCASE и сборка своего аудио классификатора за 30 минут Введение Доброго времени суток, хабр! Накопив немного опыта в решении задач классификации и детектирования акустических событий, мы с ananaskelly решили, что готовы им с вами поделиться. Цель этой статьи — познакомить вас с некоторыми задачами и рассказать о соревновании по ...

Использование камеры Fish eye на Raspberry Pi 3 с ROS — часть 2 Добрый день уважаемые читатели Хабра! Это вторая часть рассказа об использовании fish eye камеры на Raspberry Pi 3. Первую часть можно найти здесь. В этой статье я расскажу о калибровке fish eye камеры и применении камеры в детекции объектов с помощью пакета find_object_2d. ...

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

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

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

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

[Перевод] Новости из мира OpenStreetMap № 462 (21.05.2019-27.05.2019) Российское отделение GREENPEACE переходит OSM1 | Map data OpenStreetMap contributors, ODbL Mapbox Картографирование Кристофер Беддоу из Mapillary написал пост, в котором рассказал о двух способах использования данных Mapillary для редактирования OpenStreetMap. Джозеф Айзе...

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

HDMI-LVDS. Разработка на TSUMV59 от MStar Доброго времени суток, Хабр! В продолжение прошлой статьи на тему DisplayPort-LVDS, решил написать о своей новой разработке контроллера HDMI-LVDS на чипе TSUMV59 от MStar. Контроллер имеет много интересного на борту, например, аналоговый выход звука, ИК порт, кнопки управ...

Самодокументируемый REST сервер (Node.JS, TypeScript, Koa, Joi, Swagger) Про преимущества и недостатки REST написано уже довольно много статей (и еще больше в комментариях к ним) ). И если уж так вышло, что вам предстоит разработать сервис, в котором должна быть применена именно эта архитектура, то вы обязательно столкнетесь с ее документировани...

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

Представляем Vepp — новую панель управления сервером и сайтом от ISPsystem Vepp — это наша новая панель для управления сервером и сайтом. Сначала мы хотели просто обновить интерфейс ISPmanager 5, но на этапе проектирования поняли: интерфейсом не обойтись, нужно менять подход к задачам пользователя. Фактически это означало, что надо делать новый пр...

Nginx VTS Stats, Mockify — mock API, сравнение Wiremock и Mockify В этом посте я хотел сделать демо Nginx VTS + Prometheus + Grafana. Для демо необходимо было чтобы upstream могли выдавать разные http коды. Это могли сделать следующие проекты: Mockify, написанный на Golang, и WireMock, написанный на Java. Небольшое оглавление установка и...

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

Пишем telegram-бота на python с помощью библиотеки telebot часть 2 Всем привет! Это вторая часть статьи, в которой я посвящу время запросам и серверам telegram. Если кто-то еще не видел первую часть, то рекомендую её почитать. В третьей части скорее всего будет описана работа с базами данных. Ну и если у вас опять возникли вопросы, то пишит...

[Перевод] 2D-тени на Signed Distance Fields Теперь, когда мы знаем основы комбинирования функций расстояний со знаком, можно использовать их для создания крутых вещей. В этом туториале мы применим их для рендеринга мягких двухмерных теней. Если вы пока не читали моих предыдущих туториалов о полях расстояний со знаком ...

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

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

Делаем камеру формата gopro 3/4 для подвеса tarot t-3d iii из caddx tarsier Привет всем!  Решил написать свой первый пост. Давно хотел заменить камеру на подвесе, так как перестало устраивать мыльное аналоговое fpv видео. Выбор пал на камеру caddx tarsier, аналоговый сигнал неплохой, плюс вроде есть 4к). Правда, первую камеру прислали с браком матри...

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

DotNext 2019 Piter: небольшой отчёт 15-16 мая прошла конференция DotNext 2019 Piter. Погода в Санкт-Петербурге стояла необыкновенно тёплая. Горожане недоверчиво глядели на странный жёлтый шар в непривычно синем небе и всё никак не могли решить, пора ли уже переходить на летнее пальто. А конгресс-центр гостиниц...

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

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

[Из песочницы] Система контроля библиотеки на Flask-Potion, Часть 0: готовим всё, что понадобится Введение В своей работе я уже некоторое время использую Flask-Potion — фреймворк, основными достоинствами которого являются: весьма удобная интеграция с SQLAlchemy моделями, автогенерация crud-эндпоинтов, наличие клиента potion-client (весьма удобного, если пишешь API сервис...

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

Идея о поиске людей в лесу Эта статья описание небольшой идеи возникшей после прочтения недавней статьи «Обыскать 314 км² за 10 часов — финальное сражение инженеров-поисковиков против леса» Сразу предупрежу, что у меня маловато опыта в радиотехнике, и совсем нет оного в поиске пропавших людей, так чт...

Простая реализация небольших CAM на ПЛИС Введение Как-то раз мне потребовалось по работе реализовать небольшой блок ассоциативной памяти. Почитав, как это делается у Xilinx на BlockRAM (BRAM) или на SRL16, я несколько опечалился, так как их реализации занимали довольно много места. Решил попробовать сделать его сам...

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

[Из песочницы] Делаем ST-Link V2.1 из китайского ST-Link V2 Привет, Хабр! В данной статье расскажу как модифицировать ST-Link V2 до ST-Link V2.1. Возможно для кого-то это не будет новостью, но особой инфы по данной теме в инете не нашел. Кому интересно — прошу под кат. Читать дальше →

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

Знакомство с Python для камрадов переросших «язык A vs. язык B» и другие предрассудки Для всех хабравчан, у которых возникло ощущение дежа-вю: Написать этот пост меня побудили статья "Введение в Python" и комментарии к ней. К сожалению, качество этого "введения" кхм… не будем о грустном. Но ещё грустнее было наблюдать склоки в комментариях, из разряда "C++ бы...

Хайлайты и тренды ICCV 2019 Нейросети в компьютерном зрении активно развиваются, многие задачи еще далеки от решения. Чтобы быть в тренде в своей области, достаточно подписаться на инфлюенсеров в Твиттере и читать релевантные статьи на arXiv.org. Но у нас появилась возможность съездить на Internatina...

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

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

5 типовых задач на собеседованиях по JavaScript: разбор и решения От переводчика: опубликовали для вас статью Марии Перна (Maria Antonietta Perna), которая рассказывает о типовых задачах по JavaScript, чаще всего предлагаемых соискателям-разработчикам на собеседованиях. Статья будет полезна, в первую очередь, начинающим программистам. ...

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

[Из песочницы] Spacewalk на Рождество Привет, Хабр! Незадолго до прихода Рождества, в IT-отделе было решено изучить Spacewalk, — это Red Hat система, бесплатный аналог Satellite, для централизованного управления конфигурациями, обновлений систем, удобной поддержкой всего серверного парка. Ввиду того, что досту...

[Перевод] Конференция DEFCON 27. Извлечение пользы из хакерских продуктов для macOS. Часть 1 Брифинг выступления. Всякий раз, когда обнаруживается новый образец вредоносного ПО для macOS, он предоставляет нам возможность оценить новые возможности взлома, которые можно использовать с пользой для себя. Я имею в виду то, что жизнь коротка, зачем же тратить её на написа...

Дозиметр для Серёжи. Часть III. Народный радиометр Самой частой претензией в комментариях к прошлой моей статье была претензия в «радиофобии». Хотя я в принципе не понимаю, какой деструктивный общественный посыл может нести это «заболевание» (в отличие от той же вакционофобии или какой-нибудь аблютофобии). Наоборот, чем боль...

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

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

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

[Перевод] SVG фильтры 101 Это первая статья в серии об SVG фильтрах. Это руководство поможет понять, что это такое, и покажет, как использовать их для создания собственных визуальных эффектов. CSS в настоящее время предоставляет нам способ применения цветовых эффектов к изображениям, таких как насыщ...

В будущих камерах системы Canon EOS R появится стабилизатор изображения В недавней презентации компания Canon подтвердила слухи о том, что в будущих беззеркальных камерах системы Canon EOS R появится стабилизатор изображения (IBIS). Он сможет работать одновременно со стабилизаторами в объективах. Когда именно выйдет первая модель со стабил...

Голос за геймдев: как мы разработали голосовой квест «Мир Лавкрафта» Пока Google готовил глобальное обновление для русскоязычного Ассистента – с новыми голосами, блэкджеком и встроенными оплатами, мы решили создать для него собственную игру. Мы экспериментировали с жанрами, сюжетом, пасхалками, озвучкой и внутриигровыми платежами. В итоге пол...

Учебные проекты на Godot — Pong (часть 1) Создание и настройка сцены игрового процесса Приветствую вас, хабровчане! Как и обещал в конце прошлой статьи, я обратил свой взгляд на игровой движок. Правда мне больше приглянулся Godot. Почему? Тема для отдельной статьи размышления, а я не умею долго думать и, тем более, размышлять. Несмотря на то, что Pong имеетс...

Asus VivoWatch SP — фитнес-трекер, который умеет снимать ЭКГ, отслеживать давление и уровень насыщения крови кислородом Компания Asus представила часы VivoWatch SP, которые, как заявляет сам производитель, сочетают в себе функции умных часов и фитнес-трекера. Конечно, фактически перед нами именно второе, так как никакой полноценной операционной системы у VivoWatch SP нет. Asus делает у...

Основы реактивного программирования с использованием RxJS. Часть 2. Операторы и пайпы В предыдущей статье мы рассмотрели, что такое потоки и с чем их едят. В новой части мы познакомимся с тем, какие методы RxJS предоставляет для создания потоков, что такое операторы, пайпы(pipes) и как с ними работать. RxJS обладает богатейшим API. В документации описано б...

Ступени в Blender 2.8 При моделировании в версии 2.8 в первое время пришлось привыкать к изменениям горячим клавишам. Особенно актуальными для меня были:Выбор объектов2.79: выбор производится правой кнопкой мышки2.80: выбор производится левой кнопкой мышкиT-панель2.79: вызывалась нажатием клавиши...

C, C++ и DotNet decompile — основы реверса. Решение задач на реверсинг с r0от-мi. Часть 1 В данной статье 5 первых заданий, узнаем основы дизассемблирования, решим задачи начального уровня реверса, а также декомпилируем dotNet приложение. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и...

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

Алиса в стране Битрикс Приветствую вас (лично вас, а не всех кто это читает)! Сегодня мы: Создадим приложение (навык) Алисы с использованием нового (октябрь 2019) сервиса Yandex Cloud Functions. Настроим наше приложение так, чтобы оно отправляло заказы клиентов (т.н. лиды) в CRM Битрикс24. ...

[Из песочницы] Что нужно для разработки игр и кем реально является разработчик игр Большинство людей (нормальных), которые планируют заниматься программированием (как хобби или основной профессией) обычно задаются вопросами: «Что такое программирование?», «Зачем мне нужно программирование?», «Какой язык я буду учить?», «Что я получу в итоге?». Таким был и...

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

Хабрамегарейтинг: лучшие статьи и статистика Хабра за 12 лет. Часть 2/2 Привет Хабр. В первой части были рассмотрены некоторые закономерности развития такого интересного ресурса, как habrahabr. Материал получился длинный, так что продолжение здесь. В этой части мы заодно посмотрим как строить такие картинки, и наконец, завершим нашу статистику ...

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

Промышленные 4G-роутеры SmartMotion Передняя панель роутера BB-ST35200025-SWH Роутеры серии SmartMotion предназначены для подвижных объектов с высокими требованиями к доступности сети: автомобилей, поездов, кораблей. Они имеют два независимых LTE-модуля с возможностью установки по 2 SIM-карты в каждый модуль...

JMeter — швейцарский нож тестировщика (Часть 2) Сегодня расскажу, как мы с помощью JMeter’а наладили процесс кэширования продуктовых страниц, проверили работу мобильного приложения без самого приложения и создали 2000 юзеров в системе без доступа к базе данных. Кто не в курсе, что здесь происходит, читайте первую часть ...

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

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

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

[Из песочницы] Карты лояльности. Google Pay API for Passes в ASP.NET Приложения-хранилища банковских карт стремительно вошли в нашу жизнь благодаря Apple Wallet и Google Pay. Обе платформы, помимо банковских, позволяют также работать и с другими типами карт — картами лояльности, подарочными картами, билетами на мероприятия, посадочными талона...

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

[Из песочницы] KVM (недо)VDI с одноразовыми виртуальными машинами с помощью bash Кому предназначена данная статья Данная статья может быть интересна системным администраторам, перед которыми вставала задача создать сервис «одноразовых» рабочих мест. Пролог В отдел ИТ сопровождения молодой динамично развивающейся компании с небольшой региональной сетью,...

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

Legrand Keor Line RT: все под защитой! Legrand Keor Line RT –серия однофазных линейно-интерактивных ИБП мощностью от 1000 до 3000 ВА для использования в корпоративной среде

Мы два года развивали свою систему мониторинга. Кликай, чтобы… Всем привет! Я уже рассказывал в этом блоге об организации модульной системы мониторинга для микросервичной архитектуры и о переходе с Graphite+Whisper на Graphite+ClickHouse для хранения метрик в условиях высоких нагрузок. После чего мой коллега Сергей Носков писал о самом ...

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

[Перевод] Реверс-инжиниринг клиента Dropbox TL;DR. В статье рассказывается об обратной разработке клиента Dropbox, взломе механизмов обфускации и декомпиляции клиента на Python, а также изменении программы для активации функций отладки, которые скрыты в обычном режиме. Если вас интересует только соответствующий код и ...

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

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

Python v3.x: обработчик исключений для корутин и синхронных функций. Вобщем, для всего В свободное время я работаю над своим небольшим проектом. Написан на Python v3.x + SQLAlchemy. Возможно, я когда-нибудь напишу и о нем, но сегодня хочу рассказать о своем декораторе для обработки исключений. Его можно применять как для функций, так и для методов. Синхронных ...

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

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

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

Can I haz? Ударим программированием на типах по дженерикам Привет, Хабр. В прошлый раз мы описали Has-паттерн, обрисовали проблемы, которые он решает, и написали несколько конкретных инстансов: instance HasDbConfig AppConfig where getDbConfig = dbConfig instance HasWebServerConfig AppConfig where getWebServerConfig = webServerCo...

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

Резервное копирование windows серверов в AWS Имеем windows сервер в AWS и задача настроить резервное копирование. Можно использовать снапшоты, но тогда возникнет проблема с целостностью данных. Ещё хочется хранить недельные и месячные снапшоты, а lifecycle в снапшотах этого не предлагает. Новый сервисе AWS Backup тоже ...

Курс лекций по JavaScript и Node.js в КПИ Товарищи инженеры, как и было обещано в анонсе, половина лекций (а это 51) уже доступны для просмотра на ютюбе и я продолжу их записывать в 2019 году. Часть из нужно будет перезаписать, потому, что в первых лекциях не самый лучший звук и потому, что очень простые темы у мен...

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

Drimsim vs Mate 20 Pro, раунд! Но за кем? Эта небольшая статья возможно будет полезна для тех, кто пользуется Drimsim или собирается это делать в будущем. Статья — предостережение. Читать дальше →

[Из песочницы] Назад в будущее с WebAssembly Привет, Хабр! Представляю вашему вниманию перевод статьи «Back To The Future With WebAssembly» автора Attila Vágó. Данный пост является переводом статьи, в которой рассказывается о свойствах WebAssemly и Emscripten. Оригинал статьи на английском языке. Автор статьи Аттила ...

[Из песочницы] SSEGWSW: Server-Sent Events Gateway by Service Workers Привет! Меня зовут Саша и я работаю архитектором в Тинькофф Бизнес. В этой статье хочу рассказать о том, как преодолеть ограничение браузеров на количество открытых долгоживущих HTTP-соединений в рамках одного домена при помощи service worker. Если хотите — смело пропуска...

Как адаптировать UX/UI под permissions Во многих проектах существует процессы аутентификации (в той или иной степени). Написано много “бест практис” во всех известных технологиях и т.д. и т.п. Но вот пользователь сделал логин и? Ведь он далеко не всё может сделать. Как определить что он может видеть, а что нет. ...

Визуализация дерева приматов Станислав Дробышевский в начале года опубликовал подробное дерево происхождения приматов. Версия в ПДФ Комментаторы во «Вконтакте» просили интерактивную версию (1, 2, 3, 4), потому что её удобнее изучать и проще обновлять при появлении новых данных. Мы с Олей Моховой решил...

[Из песочницы] Отказоустойчивый DHCP сервер на базе Kea Статья-инструкция по установке и базовой настройке отказоустойчивого сервера Kea DHCP Kea DHCP – это open-source DHCP сервер, разрабатываемый Internet Systems Consortium(ISC) с поддержкой DHCPv4 и DHCPv6. ISC – это те же ребята, которые разрабатывают наши любимые bind и ...

Делаем облачное видеонаблюдение своими руками: новые возможности Web SDK Ivideon У нас есть несколько интеграционных компонентов, позволяющих любому партнеру создавать собственные продукты: Open API для разработки любой альтернативы личного кабинета пользователя Ivideon, Mobile SDK, с помощью которого можно разработать полноценное решение, эквивалентно...

Entity Framework 6 with Full-Text Search via LINQ Хочу поделиться своим костылем в решении довольно банальной проблемы: как подружить полнотекстовый поиск MSSQL c Entity Framework. Тема очень узкоспециальная, но как мне кажется, актуальна на сегодняшний день. Интересующихся прошу под кат. Читать дальше →

Еще один способ оптимизации docker-образов для Java приложений История по оптимизации образов для java приложений началась с выхода статьи в блоге спринга — Spring Boot in a Container. В ней обсуждались различные аспекты по созданию docker образов для spring boot приложений, в том числе и такой интересный вопрос, как уменьшение размеров...

AERODISK Engine: Катастрофоустойчивость. Часть 2. Метрокластер Привет, читатели Хабра! В прошлой статье мы рассказали о простом средстве катастрофоустойчивости в системах хранения AERODISK ENGINE – о репликации. В этой статье мы погрузимся в более сложную и интересную тему – метрокластер, то есть средство автоматизированной защиты от к...

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

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

5 функций Android 10, которые Google скопировала у iPhone Справедливости ради отметим, что и Apple иногда тоже «подсматривает» некоторые фишки у Android. Но не в этот раз С выхода Android 10 прошло совсем не так много времени и пользователи устройств, на которых уже доступно обновление, вовсю устанавливают себе новую верс...

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

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

Распознавание номеров. Практическое пособие. Часть 1 Все начиналось банально — моя компания уже год платила ежемесячно плату за сервис, который умел находить регион с номерными знаками на фото. Эта функция применяется для автоматической зарисовки номера у некоторых клиентов. И в один прекрасный день МВД Украины открыло дост...

Крутой ремейк приключения-платформера Wonder Boy: The Dragon's Trap вышел на iOS и Android Вчера мы рассказали о том, что издатель Dotemu всего за день до релиза предложил пользователям iOS-устройств оформить предзаказ на ремейк приключения Wonder Boy: The Dragon’s Trap. Компания утверждала, что это единственный способ получить скидку, но сейчас проект уже доступе...

TJBOT как иллюстрация IBM Watson services Привет, Хабр! Весной 2019 года прошел очередной Think Developers Workshop, на котором все желающие могли собрать картонного робота TJBota под управлением IBM Watson Services. Под катом находится подробная инструкция, из чего и как собрать такого робота, полезные ссылки и про...

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

[Перевод] Функциональное мышление. Часть 9 Это уже 9 часть серии статей по функциональному программированию на F#! Уверен, на Хабре существует не очень много настолько длинных циклов. Но мы не собираемся останавливаться. Сегодня расскажем про вложенные функции, модули, пространства имен и смешивание типов и функций в...

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

Байт-машина для форта (и не только) по-индейски (часть 4) И снова я несколько переоценил объем статьи! Планировал, что это будет заключительная статья, где сделаем компилятор и выполним тестирование. Но объем оказался велик, и я решил разбить статью на две. В этой статье мы сделаем практически все основные функции компилятора. ...

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

Microsoft отказывается от «Дружелюбных дат» в обновлении Windows 10 May 2019 Update Microsoft решила убрать «Дружелюбные даты» из Windows 10 May 2019 Update, которое выйдет уже в конце этого месяца.Дружелюбные даты – это новая функция Windows, которая стала называться «диалоговым форматом дат» в Проводнике.Вместо фактической даты создания или изменения файл...

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

О анонимности в интернете, жизни и её относительности Warning! Дабы заранее предупредить различные вопросы, а также обеспечить удобство чтения, далее — небольшой дисклеймер: всё, что будет написано далее — основано на личном и субъективном опыте, выражает личное мнение автора и ни в коем случае не является призывом к каким либо...

Памятка начинающему разработчику компьютерных игр Данная статья ориентирована на школьников, студентов, и тех, кто постарше, кто никогда не пробовал, но очень хочет начать писать компьютерные игры. Кто в детстве не играл в компьютерные игры, и не хотел написать свою игру, которая будет лучше, чем GTA или Crysis? И я хотел,...

Модернизация IDA Pro. Отладчик для Sega Mega Drive (часть 1) Приветствую! Товарищи реверсеры, ромхакеры: в основном эта статья будет посвящена вам. В ней я расскажу вам, как написать свой плагин-отладчик для IDA Pro. Да, уже была первая попытка начать рассказ, но, с тех пор много воды утекло, многие принципы пересмотрены. В общем, по...

[Из песочницы] Управление подставкой для ноутбука с помощью digispark Решил написать статью об очень простом устройстве, сделанным за два вечера. Решило оно давнюю проблему, чему я сильно рад и использую его по сей день. Отработало исправно оно около 3 месяцев. Собственно вот что получилось в итоге. Кого заинтересовало, прошу под кат. Читат...

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

Почему программист — не самая перспективная профессия Юноше, обдумывающему житье, Решающему — делать жизнь с кого, Cкажу, не задумываясь — делай ее C товарища… Склифосовского ! Привет, Хабр! Следуя завету древних “хочешь разобраться в вопросе — напиши об этом статью”, я решил разобраться в вопросе — а какие собственно спец...

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

Cerebras Systems представила компьютер с самым большим в мире процессором 22×22 сантиметра Схема компьютера CS-1 показывает, что большая часть отведена для питания и охлаждения гигантского «процессора-на-пластине» Wafer Scale Engine (WSE). Фото: Cerebras Systems В августе 2019 года компания Cerebras Systems и её производственный партнер TSMC анонсировали крупне...

Камера Afidus ATL-200 может вести интервальную съемку без замены источника питания до 80 дней Тайваньская компания Afidus представила небольшую камеру ATL-200, внешне похожую на экшн-камеру, но разработанную специально для интервальной съемки. Камера ATL-200 может работать от адаптера питания с выходным напряжением 5 В, подключенного к разъему micro-USB, или от...

[Из песочницы] Sass MediaScreen — Определяем девайсы на CSS Я считаю, что в последнее время разница размера экранов между разными группами устройств всё больше размывается. Не смотря на это я попытался написать инструмент для определения, как групп устройств (мобильники, планшеты, лаптопы, десктопы), так и конкретных девайсов (iPhone...

[Перевод] Опыт кандидата при рекрутинге разработчиков программного обеспечения. Часть 2 Добрый день. Делимся с вами второй частью статьи о рекрутинге разработчиков ПО, которая приурочена к запуску курса «IT-Recruiter». Первую часть можно прочитать тут. Уведомление привлекательно Итак, вы сходили на свое первое свидание, а потом… ничего. Вы звоните на следую...

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

SciPy, ввод и вывод в MATLAB SciPy (произносится как сай пай) — это пакет прикладных математических процедур, основанный на расширении Numpy Python. С SciPy интерактивный сеанс Python превращается в такую же полноценную среду обработки данных и прототипирования сложных систем, как MATLAB, IDL, Octave,...

Scarlett представила утюг Scarlett SC-SI30K17 Scarlett представила свою новинку — утюг Scarlett SC-SI30K17 мощностью 2400 Ватт, который способен справиться даже с самой сложной задачей. Благодаря высокой мощности, достигается большая интенсивность отпаривания (паровой удар — 115 г/мин), которую при н...

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

Вижу, значит существую: обзор Deep Learning в Computer Vision (часть 1) Компьютерное зрение. Сейчас о нём много говорят, оно много где применяется и внедряется. И как-то давненько на Хабре не выходило обзорных статей по CV, с примерами архитектур и современными задачами. А ведь их очень много, и они правда крутые! Если вам интересно, что сейчас ...

Консольный плеер cmus для Linux Доброго времени суток. В данный момент использую консольный плеер cmus, который очень удобен в использовании. В свете этого, хотел бы написать небольшой обзор. Читать дальше →

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

Ssh-chat, часть 2 Привет, Хабр. Это 2 статья из цикла ssh-chat. Что мы сделаем: Добавим возможность создания своих функций оформления Добавим поддержку markdown Добавим поддержку ботов Увеличим безопасность паролей(хеш и соль) Читать дальше →

Microsoft и Kroger собираются дать бой Amazon в cфере… торговли продуктами питания Источник: microsoft.com На Хабре несколько раз публиковались новости и статьи о полностью автоматизированных супермаркетах. В таком магазине покупателю не нужна касса, достаточно лишь скачать мобильное приложение, зайти в шоп, выбрать товары, которые нужны и уйти. Система ...

Проблемы пакетной обработки запросов и их решения (часть 2) Это продолжение статьи «Проблемы пакетной обработки запросов и их решения». Рекомендуется сначала ознакомиться с первой частью, так как в ней подробно описана суть задачи и некоторые подходы к ее решению. Здесь же мы рассмотрим другие методы. Читать дальше →

Arend – язык с зависимыми типами, основанный на HoTT (часть 2) В первой части статьи про язык Arend мы рассматривали простейшие индуктивные типы, рекурсивные функции, классы и множества. 2. Сортировка списков в Arend 2.1 Упорядоченные списки в Arend Определим тип упорядоченных списков как пару, состоящую из списка и доказательства его ...

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

Структура DNS пакета Предисловие Решил как то написать снифер DNS, так сказать just for fun. Просто посмотреть какие адреса в моей системе резолвятся. Протокол старый, документации должно быть много. Много. Но все статьи очень не полные и заканчиваются, на самом интересном моменте. Да, есть rf...

Подключение Micrometer для веб-приложения на Java Micrometer используется для сбора метрик приложения JVM и позволяет экспортировать данные в различные системы мониторинга. В этой статье я расскажу, как подключить Micrometer для spring web приложения и экспортировать данные в Prometheus (хороший пост о нем). Так как мое при...

Победа на PHDays 9. Делимся лайфхаками в трёх частях. Часть 1 Всем привет! Меня зовут Виталий Малкин. Я руководитель отдела анализа защищённости компании «Информзащита» и по совместительству капитан команды True0xA3. Этой статьей мы начинаем цикл из 3-х материалов, посвящённых нашему выступлению на PHDays IX Standoff. В этой статье мы ...

Создаём Azure DevOps extension У нас есть проект с настроенным CI/CD-процессом. Когда разработчик заканчивает задачу и вливает свои изменения в develop\qa, автоматически запускается билд, который выкладывает новую версию приложения на тестовую среду. В идеальном мире тестировщик автоматически узнаёт о зад...

Мой вариант BLinTouch Мой принтер – TronXY P 802 системы Priusa i 3 изначально не был оснащен автоуровнем. Наличие механического конечного выключателя по оси Z приводило к тому, что стол чуть-ли не перед каждой печатью приходилось подстраивать. Ну, и стол у меня «кривоват», хоть и немного. Иссле...

Особенности настройки Palo Alto: SSL VPN Несмотря на все преимущества межсетевых экранов Palo Alto, в рунете не так много материалов по настройке этих устройств, а также текстов, описывающих опыт их внедрения. Мы решили обобщить материалы, накопленные у нас за время работы с оборудованием этого вендора и рассказа...

[Из песочницы] Метод создания DRAG and DROP эффекта Придя впервые к технологии DRAG and DROP столкнулся с очень тяжелым её описанием (Это мое субъективное мнение. Прошу с ним не соглашаться, а перечитать все что только можно и посмотреть на этот вопрос с многих сторон). И решил написать пару статей, нацеленных на начинающих р...

Security Week 25: уязвимость в Evernote и сотни взломанных интернет-магазинов Специалисты компании Guardio обнаружили (новость, исследование) интересную уязвимость в Evernote. Точнее, не в самом приложении для хранения заметок, а в расширении для браузера Google Chrome. Evernote Web Clipper позволяет сохранять веб-страницы, причем как целиком, так и ч...

Deepfake-приложение Zao позволяет стать героем фильма Китайское deepfake-приложение Zao, позволяющее заменить в любом фильме лицо голливудского актера на своё, всего за выходные заняло первую строчку списка бесплатных приложений в App Store в Китае. Функция приложения довольно проста: своим селфи Zao позволяет заменить…

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

[Из песочницы] Три Больших Лжи о JavaScript Привет, Хабр! Представляю вашему вниманию мой перевод статьи "The Three Big Lies About JavaScript" автора Richard Kenneth. Данная статья была написана в мае 2016 года, однако ее актуальность, на мой взгляд, не исчезла. Я начинающий программист, поэтому возможны оши...

Meeting Room L̶i̶t̶t̶l̶e̶ Helper v 2 Данная статья подробно описывает этапы разработки мобильного приложения Meeting Room Helper: от зарождения идеи до релиза. Приложение написано на Kotlin и построено по упрощённой MVVM архитектуре, без использования data binding. Обновление UI-части происходит с помощью LiveD...

[Из песочницы] Как одно изменение конфигурации PostgreSQL улучшило производительность медленных запросов в 50 раз Здравсвуйте, хабровчане! Предлагаю вашему вниманию перевод статьи «How a single PostgreSQL config change improved slow query performance by 50x» автора Pavan Patibandla. Она очень сильно мне помогла улучшить производительность PostgreSQL. В Amplitude наша цель — предоставит...

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

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

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

ThingJS v1.0-alpha Последние два года я разрабатывал собственную IoT платформу и сегодня готов показать ее альфа версию. Вместе с партнером мы создаем и поддерживаем IoT устройства. Мы разобрали не один сарай с граблями в процессе этой деятельности. ThingJS родилась не столько из желания, ско...

Hohem iSteady Pro и Pro 2 отдают со скидкой В последнее время требования к качеству контента существенно выросли и пользователи хотят снимать крутой контент для своих социальных сетей, блогов и так далее. Для того, чтобы делать видео высокого качества, стоит обратить внимание на модель стабилизатора Hohem iSteady Pro ...

Android Camera2 API от чайника, часть 2, пишем видео Продолжаем разбираться с CAMERA2 API Android. В предыдущей статье мы осваивали работу камеры, чтобы делать фоточки, используя новое API. Теперь же займёмся съемкой видео. Вообще изначально, главной моей целью был стрим по сети живого видео с камеры Android при помощи Med...

Официальное подтверждение. Многие функции OnePlus 7 Pro появятся у старых смартфонов OnePlus Компания OnePlus официально подтвердила недавнее сообщение о том, что новейшие функции OnePlus 7 Pro станут доступны для старых моделей компании, а также раскрыла подробности о них.  Отдельно отмечается, что не только OnePlus 7 Pro и OnePlus 6/6T могут протестиров...

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

[Из песочницы] Дизайн интерфейса для игры, рисуем кольцо Хавеля из Dark Souls 3 Здравствуйте, дорогие друзья! Я Михаил Кравченко, дизайнер игровых интерфейсов. Это статья о том как нарисовать кольцо Хавеля из игры Dark Souls 3. Перед вами результат, которого я добился примерно за полтора часа работы в фотошопе. Дизайнера интерфейсов периодически пр...

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

.NET: Инструменты для работы с многопоточностью и асинхронностью. Часть 2 Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight. Я продолжаю создавать текстовую версию своего выступления на митапе по многопоточности. С первой частью можно ознакомиться здесь или здесь, там речь больше шла о базовом наборе инструментов, что...

Liveprof покажет, когда и почему менялась производительность вашего PHP-приложения Привет, Хабр! Меня зовут Тимур Шагиахметов, я PHP-разработчик в Badoo. Производительность приложения — один из важнейших критериев качества работы программиста. В вопросах оптимизации PHP-приложений помощником является профайлер. Недавно мы рассказывали о том, какими и...

[Перевод] Назад к микросервисам вместе с Istio. Часть 1 Прим. перев.: Service mesh'и определённо стали актуальным решением в современной инфраструктуре для приложений, следующих микросервисной архитектуре. Хотя Istio может быть на слуху у многих DevOps-инженеров, это довольно новый продукт, который, будучи комплексным в смысле ...

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

Трактат о Pinе. Мысли о настройке и работе с пинами на С++ для микроконтроллеров (на примере CortexM) Последнее время я сильно увлекся вопросом надежности софта для микроконтроллеров, 0xd34df00d посоветовал мне сильнодействующие препараты, но к сожалению руки пока не дошли до изучения Haskell и Ivory для микроконтроллеров, да и вообще до совершенно новых подходов к разработк...

Интерактивная игра на XSLT Когда-то давным-давно придумали люди язык XML и увидели, что это хорошо. И стали использовать его везде, где можно, и даже там, где не следует. Форматы хранения и передачи данных, конфиги, веб-сервисы, базы данных… Казалось, оглянись вокруг — XML, XML повсюду. Время прошло...

Docker + Laravel = ❤ // Часть 2 Данный пост написан по заявкам трудящихся, которые с завидной периодичностью спрашивают о том "Как запустить Illuminate / Symfony / MyOwnPsr7 приложение в докере". Давать ссылку на ранее написанный пост уже не хочется, так как взгляды относительно того, как следует решать п...

[Перевод] Моделирование состояния приложения с использованием объектов Store в SwiftUI На этой неделе я хочу поговорить о моделировании слоя данных в SwiftUI. Я уже закончил работу над своим самым первым приложением, которое я создаю используя только SwiftUI. Теперь я могу поделиться способом создания слоя модели с использованием объектов Store, которые я испо...

[Перевод] Интервью — 10 вопросов про Swift. Часть 2 До запуска курса «iOS-разработчик» остается все меньше времени, поэтому сегодня мы продолжаем публиковать материал из серии «10 вопросов про Swift». Первую часть которого можно прочитать тут. Объясните дженерики в Swift? Дженерики (универсальные шаблоны) позволяют вам пис...

Как загрузить OpenStreetMap в Hive? В прошлой статье я рассмотрел обратное геокодирование средствами Spark. Теперь представим, что перед нами встала задача прямого геокодирования почтовых адресов. То есть, получения для записанного текстом адреса неких географических координат. Адреса для определенности росс...

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

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

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

Как мы выбирали себе ServiceDesk. Часть 3 Наши “хождения по мукам” подходят к концу. Эта статья завершает цикл нашего выбора оптимальной системы для оцифровки бизнеса. Всем привет! Напомню, что мы — установщики кондиционеров, которые решили найти для себя оптимальный ServiceDesk. Ранее работали в совместных календа...

А вы все-все за меня мониторить будете? Ага Обычно Хабр используется как информационное решение — кто-то делится наработанной и структурированной информацией, а кто-то эту информацию впитывает (я хотел написать “потребляет”, но это слово маркетологи уже испоганили). Я же, на правах старожила, и учитывая легкую рассл...

Как решать NP-трудные задачи с помощью параметризованных алгоритмов Научно-исследовательская работа, пожалуй, самая интересная часть нашего обучения. Идея в том, чтобы ещё в университете попробовать себя в выбранном направлении. Например, студенты с направлений Software Engineering и Machine Learning часто идут делать НИРы в компании (в осно...

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

[Перевод] Умные часы с Бейсиком на физическом 6502 Процессор 6502 существует более 40 лет и до сих пор используется в ряде встроенных систем. Компания WDC продолжает выпускать 65C02 и периферийные микросхемы серии 65Cxx. Автор обнаружил, что теперь они доступны и в корпусах PLCC и QFP, но эти варианты микросхем используютс...

Отображение и оптимизация вывода на терминал в вебе Не так давно я столкнулся с довольно простой и одновременно интересной задачей: реализация read-only терминала в веб приложении. Интереса задаче придавали три важных аспекта: поддержка основных ANSI Escape sequences поддержка минимум 50 000 строк данных отображение данных п...

Канадская компания разработала материал, делающий вас невидимыми Вчерашняя научная фантастика постепенно становится реальностью. Компания Hyperstealth Biotechnology из Ванкувера разработала и запатентовала тонкий материал, обеспечивающий, по её словам, «квантовую невидимость». Он способен делать некоторые вещи за собой почти полностью н...

Установка FPV и телеметрии на квадрокоптер Данная статья является продолжением статьи «Квадрокоптер на MultiWii SE v2.5 — от задумки до первого полёта», в ней я поделюсь с Вами своим опытом установки и настройки FPV оборудования на квадрокоптер для полётов от первого лица. Заинтересовавшихся прошу под кат. Читать ...

Terraformer — Infrastructure To Code Хотел бы рассказать про новый CLI tool который я написал для решения одной старой проблемы. Проблема Terraform уже давно стал стандартом в Devops/Cloud/IT сообществе. Вещь очень удобная и полезная чтоб заниматся infrastructure as code. Есть много прелестей в Terraform а т...

Питание электроники от сигнала Wi-Fi Разработана уникальная 2D-ректенна с диодом Шоттки из MoS2 толщиной всего три атома Инженеры давно научились извлекать энергию из радиосигнала. Для этого применяют ректенны (выпрямляющие антенны), которые преобразуют энергию поля электромагнитной волны в энергию постоянног...

Разработка чат-бота (laravel+botman) Welcome! Я, как junior full stack разработчик, при попытке написать бота с использованием laravel и botman’а столкнулся с многими проблемами. Во-первых, я плохо знаю английский, а на русском статей очень мало на эту тему, а те, что есть не помогли мне решить мои проблемы. В ...

Как Google Ассистент может упростить вашу жизнь Google Ассистент может куда больше, чем вы думаете «Окей, Google». Как часто вы используете эту фразу для вызова голосового помощника? Ну или просто, насколько часто вы им пользуетесь по прямому назначению? Можете написать свой вариант в нашем чате в Телеграм. А ме...

Когда машины просто не нужны: уникальный скутер По Bluetooth он соединяется со смартфоном пользователя, а затем по интернету — с облачным искусственным интеллектом Nomi, разработанным программистами из NIO. ИИ позволяет скутеру запоминать маршруты и фактически освобождать ездока от управления. Вместе с тем машина чутко сл...

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

VMware NSX для самых маленьких. Часть 2. Настройка Firewall и NAT Часть первая После небольшого перерыва возвращаемся к NSX. Сегодня покажу, как настроить NAT и Firewall. Читать дальше →

Telegram бот для персонализированной подборки статей с хабра Для вопросов в стиле "зачем?" есть более старая статья — Натуральный Geektimes — делаем пространство чище. Статей много, по субъективным причинам некоторые не нравятся, а некоторые, наоборот, жалко пропускать. Хочется оптимизировать этот процесс и экономить время. В вышеупом...

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

Software Defined Radio — как это работает? Часть 4 Привет Хабр. В третьей части было рассказано, как получить доступ к SDR-приемнику посредством языка Python. Сейчас мы познакомимся с программой GNU Radio — системой, позволяющей создать достаточно сложную конфигурацию радиоустройства, не написав ни единой строчки кода. Д...

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

Модуль подводного ультразвукового дальномера. Часть вторая В первой части мы описали процесс разработки тестового варианта модуля подводного дальномера. Пришло время поделиться информацией о второй версии модуля, поскольку заявленные в первой статье предполагаемые изменения мы реализовали. Читать дальше →

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

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

Cascadeur: предсказание позы персонажа по шести точкам Хотим в общих чертах рассказать про первые достижения с deep learning в анимации персонажей для нашей программы Cascadeur. Во время работы над Shadow Fight 3 у нас накопилось много боевой анимации — около 1100 движений средней длительностью около 4 секунд. Нам давно казало...

[Перевод] 39 новых фич, которые будут доступны в Java 12 Из замечательного интервью на Хабре: «Саймон Риттер — человек, который работал над Java с самого начала и продолжает делать это в роли заместителя технического директора Azul — компании, работающей над виртуальной машиной Zing JVM и одним из лучших сборщиков мусора, C4 (Cont...

Natural Language Processing онлайн-чеков: курс уроков волшебства для обычного кота и другие проблемы Компания CleverDATA занимается разработкой платформы для работы с большими данными. В частности, на нашей платформе есть возможность работать с  информацией из чеков онлайн-покупок. Перед нами стояла задача научиться обрабатывать текстовые данные чеков и строить на них вывод...

Ассортимент Antec пополнили блоки питания NeoECO Gold и NeoECO Classic Компания Antec объявила о выпуске двух новых серий блоков питания: NeoECO Gold и NeoECO Classic. БП NetecECO Gold характеризуются КПД не менее 92% и соответствуют спецификации ErP Lot 6: 2013. Производитель отмечает высокую стабильность выходных напряжений и наличие раз...

[Перевод] Детальный разбор AWS Lambda Перевод статьи подготовлен специально для студентов курса «Облачные сервисы». Интересно развиваться в данном направлении? Смотрите мастер-класс Егора Зуева (TeamLead в компании InBit) «AWS EC2 сервис» и присоединяйтесь к ближайшей группе курса: старт 26 сентября. Все больш...

USB over IP концентратора DistKontrolUSB Подключение и отключение USB-устройств не займёт много времени: фактически пользователь не увидит разницы между локальным и сетевым методами работы. Не возникнет проблем и с техподдержкой: DistKontrolUSB — отечественный продукт, совместим практически со всеми видами электрон...

Настройка CD через gitlab Задумался как-то раз я об автоматизации развертывания своего проекта. gitlab.com любезно предоставляет для этого все инструменты, и я конечно решил воспользоваться, разобравшись и написав небольшой сценарий деплоя. В статье я делюсь своим опытом с сообществом. Читать дальше ...

Синтетические vs реальные тестовые данные: плюсы, минусы, подводные камни Начнём со сладкого и приведём примеры из практики тестирования. Представьте себе готовый к запуску интернет-магазин. Ничего не предвещает беды. Маркетологи разработали стратегию продвижения, были написаны статьи в профильные интернет-ресурсы, оплачена реклама. Руководство...

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

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

[Перевод] Организовываем эффективный рабочий процесс веб-разработчиков: Confluence, Airtable и другие инструменты Я работаю фронтенд-разработчиком около двух лет, участвовал в создании самых разных проектов. Один из выученных мной уроков: взаимодействие между разными группами разработчиков, объединенных одной целью, но имеющих различные задачи и степень ответственности, — дело непрос...

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

«Я бы открыл на юге России особую зону ИТ» — 10 вопросов программисту #11. Новый сезон Прошлым летом мы запустили рубрику «10 вопросов программисту», и на протяжении 10 выпусков в ней было довольно весело. Хорошие люди, у которых не всегда есть доступ к огромной аудитории, смогли высказаться. Кто-то нашел понимание, кто-то наткнулся на критику. Перед 11 вы...

[Перевод] Как eBay делал сканер штрих-кодов на WebAssembly С момента своего анонса технология WebAssembly сразу привлекла внимание разработчиков фронтенда. Веб-сообщество с энтузиазмом восприняло идею запустить в браузере код, написанный на других языках, кроме JavaScript. Главное, что WebAssembly гарантирует скорость намного выше, ...

Электромобили из 90ых. Часть 1. Братья Ситроен и Пежо Источник Еще в девяностых годах двадцатого века автомобильный концерн PSA разработал и выпустил несколько малосерийных элекромобилей, вполне пригодных для городских нужд, с пробегом до 100км, возможностью зарядки от простой бытовой розетки и даже от сети быстрых зарядок те...

Промышленные неуправляемые коммутаторы EKI Серия EKI-2000/5000 — это неуправляемые промышленные коммутаторы, которые, при всей простоте, обладают рядом продвинутых функций. Коммутаторы легко интегрируются в любую SCADA-систему благодаря поддержке открытых протоколов Modbus TCP и SNMP, имеют защиту от неправильной ко...

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

Behaviors — конечный автомат без головной боли Стандартный подход к описанию последовательности вводов пользователя и реакции на них (например при управлении персонажем в игре) — это конечный автомат (state machine). Он, однако, часто приводит к громоздким программам, понимание которых требует немалых усилий или даже зар...

[Из песочницы] Как я свой первый ИИ писал Привет, Хабр. История моя берёт начало в январе 2019 года. Мы с моей тимой геймдевелоперов решили взяться за самый большой проект в нашей истории- 2Д платформер. Нет, мы не делали до этого какие-нибудь FlappyBird'ы или змейки, но объём работы в этом проекте просто сносил на...

OTUS. Наши любимые ошибки Два с половиной года назад мы запустили проект Otus.ru и я написал вот эту статью. Сказать, что я ошибся – это совсем ничего не сказать. Сегодня я хотел бы подвести промежуточный итог и немного рассказать о проекте, что у нас пока получилось, что у нас «под капотом». Начну я...

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

[Перевод] Разбираемся в протоколе консенсуса Stellar Протокол консенсуса Stellar впервые описан в научной статье Дэвида Мазьера в 2015 году. Это «федеративная система византийского соглашения», которая позволяет децентрализованным вычислительным сетям без лидеров эффективно достигать консенсуса по какому-либо решению. Платёж...

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

Поиск задач в JIRA (простым языком). Часть 1: Быстрый и базовый поиск В последнее время JIRA активно используют организации, не имеющие прямой связи с IT. Специалистам, не знакомым ранее с JIRA, бывает сложно понять структуру JQL-запросов, если не привести примеры. Для упрощения восприятия, мы решили собрать всю документацию, локализовать и р...

CVE-2019-6111 и другие уязвимости в scp TL;DR; Совсем недавно ( примерно с 1983 года ) оказалось, что OpenSSH, как наследник rsh, для команды scp ( ex. rcp ) позволяет серверу выбрать, какой файл и с какими параметрами вам передать. А уязвимости вывода позволяют скрыть, какой именно файл вам передали. То есть прос...

Фракталы в иррациональных числах Статья является продолжением моей первой статьи «Фракталы в простых числах». В предыдущей статье мы научились рисовать самоподобные паттерны с помощью взаимно простых чисел. В этой статье покажу фрактальную природу числа . Без предисловия. Под кат. Читать дальше →

Обновление прошивки сломало кроссовки Nike Пользователи кроссовок Nike испытывают технические трудности из-за ошибок программистов. Кроссовки Adapt BB за $350 — самая последняя модель в линейке высокотехнологичной обуви Nike с функцией автоматической шнуровки. В хайтек-обуви «шнурки» можно завязать простым нажатием к...

IR интерфейс, Raspberry и LIRC Моя задача сечас — научиться отправлять команды кондиционерам и другим устройствам в доме. Исходно эти устройства имеют только IR remote control. Для решения этой задачи у меня есть Raspberry Pi и IR transceiver shield. В статье можно найти конфиги, команды, советы и немного...

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

[Из песочницы] Простой Telegram-бот на Python за 30 минут На Хабре, да и не только, про ботов рассказано уже так много, что даже слишком. Но заинтересовавшись пару недель назад данной темой, найти нормальный материал у меня так и не вышло: все статьи были либо для совсем чайников и ограничивались отправкой сообщения в ответ на сооб...

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

[Перевод] Работа над PEG на Core Developer Sprint В этой статье я не буду рассказывать о новых фичах генератора парсера — я достаточно описал его в предыдущих частях. Вместо этого хочу рассказать что я делал на Core Developer Sprint на прошлой неделе, прежде чем всё сотрётся из моей памяти. Хотя большая часть материала так ...

[Перевод] Десять лет на удалёнке Ещё во время учёбы в колледже (вперёд, Бронкос!) мы с Алеком запустили стартап. Мы были молоды, неопытны и наивны. Наш первый проект назывался YippieMail: агрегатор электронной почты. Проще говоря, YippieMail отображает все ваши почтовые ящики (например, Hotmail, Yahoo, Gmai...

Новинка HDPLEX позволяет запитать от мощного блока питания второй ПК Компания HDPLEX, известная как поставщик корпусов для HTPC и мини-ПК, представила изделие под названием DC-ATX 800W. Это преобразователь питания форм-фактора nano-ATX, который рассчитан на подключение к блоку питания и позволяет питать от него вторую систему. У преобра...

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

Google Pay в Android 10 станет таким же удобным, как Apple Pay Как назначить карту в Google Pay? Нет ничего проще. По крайней мере, в Android 10 Я не очень люблю Google Pay. Несмотря на то что иногда бывает удобно оплатить покупки, не доставая из кармана портмоне, в целом пользоваться им совершенно некомфортно. Мало того, что через раз ...

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

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