Социальные сети Рунета
Вторник, 23 апреля 2024

Flare-On 2019 write-up -0x01 — Intro Данная статья посвящена разбору всех заданий Flare-On 2019 — ежегодного соревнования по реверс-инжинирингу от FireEye. В данных соревнованиях я принимаю участие уже второй раз. В предыдущем году мне удалось попасть на 11-ое место по времени сдачи, решив все з...

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

[Перевод] Реверс-инжиниринг Fantastic Dizzy Fantastic Dizzy — это игра в жанре «пазл-платформер», созданная в 1991 году компанией Codemasters. Она является частью серии игр про Диззи (Dizzy Series). Несмотря на то, что серия Dizzy до сих пор популярна, и по ней создаются любительские игры (Dizzy Age), похоже, что никт...

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

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

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

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

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

Основы формата GLTF и GLB, часть 1 Что такое GLTF и GLB? GLTF (GL Transmission Format) — это формат файла для хранения 3Д сцен и моделей, который является крайне простым в понимании (структура записана в стандарте JSON), расширяемым и легко взаимодействующим с современными веб-технологиями. Данный формат хоро...

[Перевод] Мета-грамматика для PEG парсера На этой неделе мы делаем генератор парсеров «самостоятельным», то есть он будет генерировать свой собственный парсер. Содержание серии статей о PEG-парсере в Python PEG парсеры Реализация PEG парсера Генерация PEG парсера Визуализация работы PEG парсера Леворекурсивные PEG г...

[Перевод] Автоматический перенос приложений iOS (ARM) на macOS (x86) с помощью Bitcode Когда Apple представила технологию Bitcode и сделала её обязательной для watchOS и tvOS, компания словно отмахнулись от вопросов, зачем она вообще нужна. Лишь туманно сказала, что она помогает настраивать двоичные файлы и использует последние улучшения компилятора. С тех по...

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

Искусство парсинга 2 или транслитерация собственной разметки +БОНУС: как включать классы друг в друга в C++ Привет, Хабр! Эта статья — прямое продолжение статьи Искусство парсинга или DOM собственными руками, где мы разобрали HTML-документ и построили на его основе абстрактное синтаксическое дерево (AST) с доступом к любому элементу ч...

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

[Из песочницы] Интеграция ClangFormat и Notepad++ ClangFormat является одним из лучших инструментов для автоматического форматирования исходных кодов на языках C, C++, Java, JavaScript, Objective-C, C#. Существуют плагины для популярных сред разработки (IDE), но часто нужно быстро отформатировать файл или часть файла с исхо...

QVD-файлы — что внутри, часть 2 В первой статье о структуре QVD файла я описал общую структуру и достаточно подробно остановился на метаданных. В этой статье я опишу формат хранения информации о колонках, поделюсь своим опытом трактовки этих данных. Итак (вспоминаем) QVD файл соответствует реляционной табл...

[Перевод] Визуализация работы PEG парсера В прошлый раз получился простой генератор парсера PEG. Сейчас же я покажу, что на самом деле делает сгенерированный парсер при разборе программы. Я погрузился в ретро-мир ASCII-арта, в частности, библиотеку с именем «curses», которая доступна в стандартной поставке Python дл...

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

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

[Перевод] Грамматика английского. Who vs. Whom – как понять, какое слово использовать Разобраться в хитростях английской грамматики может быть довольно непросто. Классический пример здесь – выбор между who и whom. Даже носители языка не всегда корректно используют нужное слово, что уж говорить о тех, кто только изучает английского. В блоге одного из сервис...

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

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

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

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

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

[Перевод] Разбор задачи с собеседования в Google: синонимичные запросы Это новая статья из разбора задач с собеседований в Google. Когда я там работал, то предлагал кандидатам такие задачи. Потом произошла утечка, и их запретили. Но у медали есть обратная сторона: теперь я могу свободно объяснить решение. Читать дальше →

[Перевод] Reflective Shadow Maps: Часть 2 ― Реализация Привет, Хабр! В данной статье представлена простая реализация Reflective Shadow Maps (алгоритм описан в предыдущей статье). Далее я объясню, как я это сделал и какие подводные камни были. Также будут рассмотрены некоторые возможные оптимизации. Рисунок 1: Слева направо: бе...

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

[Из песочницы] System.Console, Mono и NCurses Всем привет, в своей работе (а ранее и в учебе) я часто использую C# и этот язык стал мне, что называется, привычным. Решив немного потренироваться в программировании, я написал консольный текстовый редактор для Linux. Вкратце опишу полученный опыт. В Mono класс System.C...

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

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

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

Геймдизайн в жизнь. Экономика игры (Часть II) Доброго дня! Немного об авторе: меня зовут Мария, гейм дизайнер. Это третья статья из цикла по применению теории геймдизайна в жизни. Ссылки: Первая статья: «Гейм дизайн в жизнь. Пример разбора механики игры» Вторая статья: «Геймдизайн в жизнь. Экономика игры (Часть I)» ...

Алгоритм взаимодействия сотен тысяч уникальных частиц на GPU, в GLES3 и WebGL2 Описание алгоритма логики, и разбор рабочего примера в виде техно-демки-игры WebGL2 версия этой демки https://danilw.itch.io/flat-maze-web остальные ссылки смотрите в статье. Статья разбита на две части, сначала про логику, и вторая часть про применение в игре, первая часть...

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

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

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

Электронные книги и их форматы: говорим про EPUB — его историю, плюсы и минусы Ранее в блоге мы писали о том, как появились форматы электронных книг DjVu и FB2. Тема сегодняшней статьи — EPUB. Изображение: Nathan Oakley / CC BY История формата В 90-е на рынке электронных книг господствовали проприетарные решения. И у многих производителей читалок б...

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

Microsoft представила новый открытый шрифт Cascadia Code для эмуляторов терминалов и редакторов кода Microsoft представила открытый моноширинный шрифт Cascadia Code, оптимизированный для использования в эмуляторах терминалов и редакторах кода. Исходные компоненты шрифта распространяются под лицензией OFL 1.1 (Open Font License), позволяющей без каких-либо ограничений модифи...

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

[Из песочницы] Импорт OpenStreetMap. От бинарного исходника к таблице в БД в несколько шагов Обычно, когда кто-то говорит про OSM, то в голове всплывает какой-нибудь из веб-сервисов, или приложение вроде Maps.me, основанные на данных OSM. На самом деле проект OSM — это в первую очередь данные, всё остальное по сути частные случаи их использования. Сервисы предоставл...

Movavi Конвертер Видео: обзор и инструкция В одной из наших статей мы делали краткий обзор программ Movavi: Видеоредактор, Фоторедактор, Screen Capture Studio и Конвертер Видео. Сегодня мы подробнее остановимся на конвертере и расскажем, как в нём конвертировать видео: https://www.movavi.ru/videoconverter/. При перв...

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

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

[Перевод] Генерация подземелий в Diablo 1 Diablo 1 — это классический roguelike 1996 года в жанре hack and slash. Это была одна из первых успешных попыток познакомить широкие массы с roguelike, которые до этого имели нишевую графику в виде ASCII-арта. Игра породила несколько сиквелов и множество имитаций. Она извес...

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

В королевстве PWN. Атака ret2bss, криптооракулы и реверс-инжиниринг на виртуалке Smasher с Hack The Box Для подписчиковВ этой статье тебя ждут: низкоуровневая эксплуатация веб-сервера со срывом стека и генерацией шелл-кода на лету с помощью древней магии pwntools; атака Padding Oracle на питоновское приложение для вскрытия шифртекста AES-CBC, а также реверс-инжиниринг исполняе...

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

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

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

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

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

Рецепты для ELFов На русском языке довольно мало информации про то, как работать с ELF-файлами (формат ELF (Execution & Linkable Format) — основной формат исполняемых файлов Linux и многих Unix-систем). Не претендуем на полное покрытие всех возможных сценариев работы с эльфами, но надеем...

HolyJS 2019: Разбор задач от компании SEMrush (Часть 2) Это вторая часть разбора задач от нашего стенда на конференции HolyJS, прошедшей в Санкт-Петербурге 24-25 мая. Для большего контекста рекомендуется сначала ознакомиться с первой частью настоящего материала. А если Countdown Expression уже пройден, то добро пожаловать на сл...

Основы формата GLTF и GLB, часть 2 Данная статья является продолжением рассмотра основ GLTF и GLB форматов. Вы можете найти первую часть статьи здесь. В первой части мы рассмотрели с вами зачем изначально планировался формат, а также такие артефакты и их атрибуты GLTF формата как Scene, Node, Buffer, BufferVi...

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

Как конвертировать файл Numbers в формат Excel на Mac У вас есть файл, созданный в Numbers, и вы хотите превратить его в документ Excel? Нет ничего проще! Следуйте нашей инструкции – и получите на выходе файл Excel в формате .xls или xlsx, совместимый с любой версией Microsoft Excel и других приложений.   Как превратить та...

Пишем свой язык программирования, часть 2: промежуточное представление программ Введение Приветствую всех, кто заглянул почитать мою очередную статью. Повторюсь, я описываю создание языка языка программирования, на основе проведенной ранее работы, результаты которой описал в этом посте. В первой части (линк: habr.com/post/435202) я описал этапы прое...

[Перевод] Тот день, когда я полюбил фаззинг В 2007 году я написал пару инструментов для моддинга космического симулятора Freelancer. Ресурсы игры хранятся в формате “binary INI” или “BINI”. Вероятно, бинарный формат выбрали ради производительности: такие файлы быстрее загружать и читать, чем произвольный текст в форма...

[Из песочницы] JPEG от мира 3D. Что такое glTF? Определение и краткая история GLTF (GL Transmission Format) — это формат файла для хранения 3Д сцен и моделей, который является крайне простым в понимании (структура записана в стандарте JSON), расширяемым и легко взаимодействующим с современными веб-технологиями. Данный фор...

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

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

DSC и напильник: часть 1. Настройка DSC Pull Server для работы с базой данных SQL PowerShell Desired State Configuration (DSC) сильно упрощает работу по развертыванию и конфигурированию операционной системы, ролей сервера и приложений, когда у вас сотни серверов. Но при использовании DSC on-premises, т.е. не в MS Azure, возникает пара нюансов. Они осо...

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

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

[Перевод] История Vim и руководство по его эффективному использованию Примечание от переводчика: это первая часть монументальной (на самом деле монументальной) статьи о Vim и его возможностях от разработчика из Миннеаполиса и автора проекта PostgREST Джо begriffs Нельсона. Первая часть статьи отводится на знакомство с историей Vim как редакт...

Пример разбора C++ кода с помощью libclang на Python На одном личном проекте на C++ мне потребовалось получать информацию о типах объектов во время выполнения приложения. В C++ есть встроенный механизм Run-Time Type Information (RTTI), и конечно же первая мысль была использовать именно его, но я решил написать свою реализацию,...

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

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

[Перевод] Ещё лучшая ZIP-бомба В статье показано, как создать нерекурсивную zip-бомбу, которая обеспечивает высокую степень сжатия путём перекрытия файлов внутри zip-контейнера. «Нерекурсивная» означает, что она не зависит от рекурсивной распаковки декомпрессорами файлов, вложенных в zip-архивы: здесь все...

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

[Перевод] Конференция DEFCON 20. Захват за 60 секунд: от гостевой учётной записи до администратора домена Windows. Часть 2 Конференция DEFCON 20. Захват за 60 секунд: от гостевой учётной записи до администратора домена Windows. Часть 1 Хорошо то, что мы можем войти в локальную сеть, подделав DNS. А как насчёт социальной инженерии, учитывающей предпочтения и склонности пользователей? Пентестеры ...

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

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

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

Asterisk. Dialplan Askozia 6. Исходящие звонки В статье пойдет речь о бесплатной АТС Askozia версии 6. При разработке телефонной станции одной из первых задач была организация исходящих звонков. Как это было В старой версии Askozia использовались стандартные “шаблоны” dialplan. X! — все номера телефонов XXX — трехзна...

Универсальное DRO на базе Arduino Nano — shDRO. Часть 2 И снова здравствуйте! Продолжаю описывать свою разработку shDRO. В данной части я опишу алгоритм опроса устройств и формат команд консоли. Первая часть. Читать дальше →

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

Разбор заданий конкурса AI CTF на Positive Hack Days 9 На PHDays 9 мы решили рассмотреть с практической стороны модную сегодня тему безопасности машинного обучения. Для этого мы создали онлайн-конкурс AI CTF (capture the flag) формата task-based, с заданиями, посвященными безопасности применения техник искусственного интеллекта....

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

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

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

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

Photoscape: обзор программы для редактирования фото Что такое PhotoScape? Это редактор фото, который включает в себя такие инструменты: редактор, просмотрщик, страницу, пакетный редактор, анимированный GIF, печать, объединение, печать, захват экрана, разделитель и многое другое. При этом данный графический редактор не требова...

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

«Hello»! Первое в мире автоматическое хранилище данных в молекулах ДНК Исследователи из Microsoft и Вашингтонского университета продемонстрировали первую полностью автоматизированную систему хранения данных в искусственно созданной ДНК с возможностью считывания. Это ключевой шаг на пути к переносу новой технологии из исследовательских лабора...

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

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

[Перевод] Как разрабатываются и производятся процессоры: проектирование ЦП Теперь, когда мы знаем, как работают процессоры на высоком уровне, настало время углубиться в разбор процесса проектирования их внутренних компонентов. Это вторая статья из серии, посвящённой разработке процессоров. Рекомендую изучить для начала первую часть, чтобы вы поним...

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

Уязвимость в браузере Internet Explorer позволяет злоумышленникам красть файлы с ПК под управлением Windows Исследователь безопасности Джон Пейдж (John Page) опубликовал подробные сведения об уязвимости XXE (XML eXternal Entity), обнаруженной в браузере Internet Explorer, которая позволяет злоумышленникам красть файлы с ПК под управлением Windows. Уязвимостью можно воспользов...

Как управлять часами? Разбор фронтенд-трека второго чемпионата по программированию Новый хабрапост в серии разборов недавно прошедшего чемпионата. Участникам квалификации, которые выбрали секцию фронтенда, нужно было решить несколько задач очень разной сложности: первая (по нашим ожиданиям) занимала 20 минут, последняя — около часа. Мы проверяли широкий сп...

[Перевод] Воссоздание старой DOS-игры на C++ 17 В 2016 году я начал работу над хобби-проектом по реверс-инжинирингу игры Duke Nukem II и воссозданию с нуля его движка. Проект имеет название Rigel Engine и выложен в open source (его страница на GitHub). Сегодня, более чем два с половиной года спустя на моём движке уже можн...

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

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

[Перевод] Детальный разбор новых возможностей React 16+, часть 1: общие сведения Сегодня мы представляем вам первую часть перевода этого большого материала. Он посвящён детальному разбору новых возможностей React, которые появились в этой библиотеке начиная с версии 16. Автор этого материала уже 5 лет занимается программированием. В прошлом он был дизайн...

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

Разработчики Monero предупредили о возможной компрометации бинарных файлов CLI Двоичные файлы CLI, доступные на getmonero.org, могли быть скомпрометированы в течение последних 24 часов. Об этом сообщили разработчики криптовалюты Monero. #Monero Security Warning: CLI binaries available on https://t.co/UYopePqqdo may have been compromised at some point d...

Настройка с нуля сервиса управления ИБП Network UPS Tools (NUT) для управления локально подключенным ИБП Настройка Network UPS Tools на Linux на примере ИБП Eaton 5E650iUSB Описание Сервис Linux NUT (Network UPS Tools) — это комплекс программ мониторинга и управления различными блоками бесперебойного питания (далее ИБП). Полный список поддерживаемых моделей можно получить, посм...

Android: обман Face ID, сравнение Java и Kotlin и разбор паттернов MVC, MVI, MVVM Для подписчиковСегодня в выпуске: простой и эффективный способ обмана Face ID, реверс-инжиниринг прошивок IoT-устройств, неожиданные результаты сравнения производительности Java и Kotlin, сравнение паттернов MVC, MVP, MVVM и MVI, советы по использованию Android Studio. А так...

ShIoTiny и окружающий мир: аналоговые датчики или АЦП для самых маленьких Основные тезисы или о чем эта статья Продолжение серии статей о ShIoTiny — визуально программируемом контроллере на базе чипа ESP8266. Ключевой особенностью данного контроллера является возможность его программирования путем рисования программы в браузере. В данной статье о...

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

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

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

OpenVPN, о котором вы так мало знали OpenVPN, как много в этом слове. Мультиплатформенный, гибко настраиваемый, бесплатный VPN сервер с открытым исходным кодом, являющийся фактически стандартом "defacto" для организации доступа к внутренним корпоративным сетям. Большинство администраторов используют его с настр...

[Перевод] Новости из мира OpenStreetMap № 472 (30.07.2019-05.08.2019) How to carve OSM data into a slade plate – by Harald Hartmann 1 | Foto Harald Hartmann | Map data OpenStreetmap contributors Картографирование Продолжаются дискуссии (в Twitter, в списке рассылки) вокруг онлайн-редактора от Facebook — RapiD'a. Если вы хотите серьезно погр...

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

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

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

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

HolyJS 2019: Разбор задач от компании SEMrush (Часть 1) На прошедшей 24-25 мая в Санкт-Петербурге очередной конференции для JavaScript-разработчиков HolyJS стенд нашей компании предлагал всем желающим новые задачки. В этот раз их было 3 штуки! Задачи выдавались по очереди, а за решение каждой последующей полагался знак отличия ...

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

Китайцы показали второй смартфон без рамок, разъемов и кнопок Vivo каждый год выпускает концептуальный смартфон Apex, демонстрируя всем свои самые передовые технические решения. Модель 2018 года была первым телефоном с выдвижной фронтальной камерой. Новая версия следует той же концепции, что и Meizu Zero: монолитное устройство без един...

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

Аура позволит искать друзей по музыкальным интересам Разработчики закрытой социальной сети Яндекса добавили в раздел Люди новый блок — «Слушаете похожую музыку». Если пользователь хочет, чтобы в нем начали отображаться люди, нужно разрешить Ауре использовать данные о проигрывании треков из Яндекс.Музыки. Это можно сделат...

[Перевод] Процедурные дороги в Houdini и Unity Для моей постапокалиптической игры Frameshift мне нужно было заполнить очень большой открытый мир разнообразными городами. В нашей команде всего 3 человека, поэтому я, разумеется, воспользовался процедурной мощью Houdini! Раньше, когда не знал о Houdini, я писал на C# соб...

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

RAR на Mac (macOS) — как открыть: бесплатная программа-архиватор Итак, перед вами — архив в формате RAR. Раньше вы никогда не имели с ним дела, и разахивировать находящиеся в нем файлы одним кликом у вас тоже не получилось. Что делать? Сейчас расскажем! ♥ ПО ТЕМЕ: Как настроить главный экран Mac (macOS) максимально эффективно.   Что ...

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

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

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

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

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

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

7 лучших (и бесплатных) редакторов PDF для Mac и iOS в 2019 году PDF по-прежнему остается одним из самых популярных форматов для обмена документами, поскольку он отличается эргономичностью и удобством в использовании. А если у вас установлен специальный инструмент для раскрытия всего потенциала этого формата, то вы сможете творить с ним ...

[Перевод] Microsoft Edge – Универсальный XSS Перевод статьи подготовлен специально для студентов курса «Реверс-инжиниринг». Универсальный XSS (uXSS) – это баг браузера, который дает возможность выполнять код на JavaScript на любом сайте. Кажется, будто XSS есть на всех сайтах и выглядит это очень интересно. Что е...

Обнаружена утечка документов через приложение для конвертации файлов Бесплатное приложение PDF to Word, как следует из названия, предназначено для конвертации PDF-документов в формат файлов Microsoft Word, позволяющий редактировать текст.Как установил специалист ESET Лукас Стефанко, все исходные документы передавались и сохранялись на FTP-сер...

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

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

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

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

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

Новая игра со старой атмосферой на Three.js. Часть 2 В первой части я рассказал о проблемах, с которыми я столкнулся в процессе создания 3D игры под браузер c использованием Three.js. Теперь я хотел бы подробно остановиться на решении некоторых важных задач при написании игры, типа конструирования уровней, определения столкнов...

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

Рекомендательная система для Directum Club. Часть первая, коллаборативная Каждый день пользователи по всему миру получают большое количество различных рассылок — только через сервис MailChimp ежедневно рассылают миллиард писем. Из них открывают 20.81%. Ежемесячно пользователи наших сайтов получают рассылки с отобранными редактором материалами. Эти...

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

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

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

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

Готовое решение markdown2pdf с исходным кодом для Linux Предисловие Markdown это прекрасный способ написать небольшую статью, а иногда и достаточно объемный текст, с несложным форматированием в виде курсива и толстого шрифта. Также Markdown неплох для написания статей с включением исходного кода. Но иногда хочется без потерь, тан...

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

Рождение и смерть альбома: разбираемся, как менялись музыкальные форматы за последние 100 лет В прошлых статьях мы говорили об изменяющейся роли критиков в мире музыки. Теперь же поговорим о том, как альбомный формат потерял былую значимость — и что пришло ему на смену. Фото Florencia Viadana / Unsplash Как альбомы завоевали музыкальный рынок В первой половине XX ...

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

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

[recovery mode] Бинарные деревья поиска Прелюдия Эта статья посвящена бинарным деревьям поиска. Недавно делал статью про сжатие данных методом Хаффмана. Там я не очень обращал внимание на бинарные деревья, ибо методы поиска, вставки, удаления не были актуальны. Теперь решил написать статью именно про деревья. Пожа...

Вскоре Google Docs начнет поддерживать родные форматы Microsoft Word, Excel и PowerPoint Редактирование документов Microsoft Office в сервисе Google Docs является не самой удобной задачей. Их можно легко просматривать, но для внесения изменений (редактирования, комментирования, совместной работы) потребуется первоначально конвертировать файлы в формат Google. Но...

Используем буфер обмена на Mac с умом Automator можно по праву назвать одним из самых недооцененных приложений на macOS. Увы, но многие пользователи не догадываются о скрытых возможностях данной утилиты. Тем не менее потенциал заложенный в программу действительно огромен. Сегодня мы расскажем о простых способах...

[Перевод] Создаем конвейер потоковой обработки данных. Часть 1 Всем привет. Друзья, делимся с вами переводом статьи, подготовленным специально для студентов курса «Data Engineer». Поехали! Apache Beam и DataFlow для конвейеров реального времени Сегодняшний пост основан на задаче, которой я недавно занимался на работе. Я был действитель...

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

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

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

[Перевод] Процедурные паттерны, которые можно использовать с тайловыми картами Процедурная генерация используется для повышения вариабельности игр. Среди известных проектов можно упомянуть Minecraft, Enter the Gungeon и Descenders. В этом посте я объясню некоторые из алгоритмов, которые можно применять при работе с системой Tilemap, появившейся как 2D-...

[Перевод] Реверс-инжиниринг неизвестного процессора по единственной программе TL;DR: мы выполнили обратную разработку программы, написанной для полностью неизвестной архитектуры ЦП без какой-либо документации на ЦП (без эмулятора, без ISA, без всего) всего за десять часов. Из статьи вы узнаете, как нам это удалось… В прошлые выходные мы с командой C...

Дизайн интерфейса для игры, рисуем пак иконок Всем привет! Я Михаил Кравченко, дизайнер игровых интерфейсов. Это статья о том как нарисовать пак иконок для игры. Ниже вы видите результат. Фиксируем требования к результату Вот к нам прилетела задача примерно такого содержания. В игре начинается событие — вторжение ра...

В Drupal закрыты серьезные бреши Для CMS-системы Drupal версий 7 и 8 вышли обновления, устраняющие два бага удаленного исполнения кода, которые разработчики оценили как критические. Оба они привнесены с появлением в репертуаре Drupal файлов в формате .phar — исполняемых PHP-архивов, поддержка которых была в...

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

РНР-безопасность: где и как хранить пароли. Часть 2 Всем привет! На прошлой неделе мы опубликовали первую часть данной статьи, чем вызвали нешуточный холивар. Одной из главных претензий было отсутствие в статье упоминания password_hash, как мы и обещали, вторую часть данного материала начнем как раз таки с хеширования парол...

[Из песочницы] Редактор блок схем — о дружбе Vue.js и MxGraph С чего все началось? Я фронтенд разработчик, но стремлюсь к развитию, решил написать fullstack приложение и стать миллионером получить бесценный опыт. Так вот, начал планировать бэкенд, выбрал MongoDB для хранения данных, и был готов планировать структуру и связи полей. Н...

[Из песочницы] WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti Уже были описаны некоторые примеры организации корпоративного WiFi. Здесь я распишу как реализовал подобное решение и проблемы с которыми пришлось столкнуться при подключении на разных устройствах. Будем использовать уже имеющейся LDAP с заведенными пользователями, подниме...

В RDP-клиентах для Windows и Linux нашли десятки уязвимостей Популярные RDP-клиенты для удаленного администрирования обладают уязвимостями, которые позволяют злоумышленникам проводить реверсивные атаки или получить несанкционированный доступ к файлам через общий буфер обмена. К такому выводу пришли ИБ-специалисты компании Check Point ...

Microsoft выпустила Windows Terminal Preview v0.4 Компания Microsoft выпустила очередную предварительную версию приложения Windows Terminal под номером 0.4, которая принесла с собой несколько приятных улучшений. Во-первых, изменения коснулись настроек приложения. Файл profiles.json перемещён из папки RoamingState в папку L...

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

DevOpsProdigy KubeGraf v1.1.0 Сегодня мы зарелизили новую версию нашего плагина для мониторинга k8s — grafana.com/grafana/plugins/devopsprodigy-kubegraf-app — о котором писали ранее. Ключевая фича новой версии — возможность аутентификации с помощью bearer-токена. Теперь посредством манифестов (которые м...

Что такое формат .ics, и как поделиться своим календарем? Файл .ics – универсальный формат календарей. Он используется в таких сервисах, как Mozilla Sunbird, Google Calendar, Microsoft Outlook, Apple iCal. Формат .ics позволяет пользователям публиковать и обмениваться данными календаря онлайн и рассылать по email. Другие пользоват...

Один из методов получения истории блокировок в PostgreSQL Продолжение статьи "Попытка создать аналог ASH для PostgreSQL ". В статье будет рассмотрено и показано на конкретных запросах и примерах — какую же полезную информацию можно получить с помощью истории представления pg_locks. Предупреждение. В связи с новизной темы и незавер...

Устройство компилятора Swift. Часть 4 Это последняя часть моего обзора компилятора Swift. Я покажу, как можно осуществить генерацию LLVM IR из AST и что выдаёт настоящий фронтенд. Если вы не читали предыдущие части, то переходите по ссылкам: Общий обзор компонентов Разбор исходного файла Swift intermediate lan...

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

Разработка плагина для Grafana: история набитых шишек Всем привет! Несколько месяцев назад мы запустили в продакшн наш новый open-source проект — Grafana-плагин для мониторинга kubernetes, который назвали DevOpsProdigy KubeGraf. Исходный код плагина доступен в публичном репозитории на GitHub. А в этой статье мы хотим поделиться...

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

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

[Из песочницы] Преобразование черно-белых изображений в ASCII-графику при помощи неотрицательного матричного разложения В общем случае преобразование изображения в ASCII-графику представляет собой довольно трудоемкую задачу, однако существуют алгоритмы, позволяющие автоматизировать данный процесс. В данной статье рассматривается подход, предложенный исследователями Paul D. O’Grady и Scott T....

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

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

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

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

[Перевод] Лямбды: от C++11 до C++20. Часть 2 Привет, хабровчане. В связи со стартом набора в новую группу по курсу «Разработчик C++», делимся с вами переводом второй части статьи «Лямбды: от C++11 до C++20». Первую часть можно прочитать тут. В первой части серии мы рассмотрели лямбды с точки зрения C++03, C++11 и C+...

[Перевод] Идеальный баг: Использование Путаницы Типов в Flash. Часть 1 И снова здравствуйте! Уже завтра у нас стартуют занятия в новой группе по курсу «Реверс-инжиниринг». Традиционно делимся с вами переводом полезного материала по теме. Поехали! Некоторым злоумышленникам важно, чтобы эксплойт был чрезвычайно надежным. Он всегда должен приводи...

Solid Explorer 2.6.1 Solid Explorer — многофункциональный файловый менеджер для операционной системы Android. Обладает широкой поддержкой облачных хранилищ (Dropbox, Google Диск, OneDrive), способен подключаться к удаленным серверам (Windows, FTP, SFTP, WebDAV) и может порадовать вас возможность...

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

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

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

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

Huawei P30 Pro плохо поддается ремонту Huawei P30 Pro, новейший флагман этого китайского производителя, только недавно был анонсирован, а умельцы из iFixit уже успели его разобрать до винтика. Это оказалось сложно, так что ремонт этого смартфона, скорее всего, будет довольно дорогим удовольствием. Как и большинс...

Фотографии в заложниках. Первый взлом цифровых камер по WiFi (протокол PTP/IP) В наше время ни одно устройство с сетевым подключением не защищено от потенциального взлома. Даже фотоаппарат. На хакерской конференции DEF CON 2019 Эяль Иткин из Check Point Software Technologies показал первый в мире действующий эксплоит для протокола PTP (Picture Trans...

Часто работаете с PDF? Попробуйте это приложение Многие каждый день работают с файлами в формате PDF: например, медицинские записи зачастую ведутся в нескольких форматах: у одного пациента — в Word и Excel, у другого — в виде изображений и PDF. Чтобы все наладить и привести систему к общему знаменателю, необходимо приложе...

[Перевод] Очень математическая история идеального сочетания цветов Захари Бир создаёт рисунки, используя цветовую палитру от цветовой схемы для Мака Solarized и собственную программу для генерации изображений Geometriq. Пару лет назад я влюбился в цветовую палитру: цвет, чуть темнее белого, выделяемый жёлто-оранжевым и нейтральным голубым...

[Из песочницы] Подводные камни разработки Google Play Instant Привет, Хабр! Меня зовут Камо Сперцян, я занимаюсь Android-разработкой в PROFI.RU. Недавно я написал приложение с мгновенным запуском для наших клиентов. Если вы ещё не знакомы с технологией, приглашаю вас сначала посетить Android Developers. С презентации Instant Apps (G...

Software Defined Radio — как это работает? Часть 2 Привет, Хабр. В первой части были описаны основные виды SDR-устройств и кратко были приведены их характеристики. Во второй части я расскажу подробнее о плюсах и минусах SDR, также будет рассмотрен пример доступа к приемнику из языка Python. Продолжение под катом (осторож...

Как поморгать 4 светодиодами на CortexM используя С++17, tuple и извращенное воображение Всем доброго здравия! При обучении студентов разработке встроенного программного обеспечения для микроконтроллеров в университете я использую С++ и иногда даю особо интересующимся студентам всякие задачки на определения особо больных на голову одаренных учеников. В очеред...

[Из песочницы] Tails OS или как защитить себя в сети Рано или поздно, но большинство фантастических сюжетов воплощаются в реальную жизнь. В мире информационной безопасности это произошло как только Эдвард Сноуден опубликовал информацию о PRISM — средстве слежения за пользователями сети, разработанного АНБ. В этой статье я опиш...

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

Уязвимость WinRAR угрожает 500 миллионам пользователей Уязвимость связана с библиотекой unacev2.dll. Она позволяет архиватору поддерживать работу с файлами ACE - некогда популярного формата компрессии, используемого сегодня крайне редко. Все, что требуется от злоумышленника - создать вредоносный архив в формате ACE и назначить е...

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

[Из песочницы] Методы сжатия/хранения медиа данных в форматах WAVE и JPEG, часть 1 Здравствуйте! Моя первая серия статей будет направлена на изучение методов сжатия и хранения изображений/звука, таких как JPEG (изобр.) и WAVE (звук), также в них будут примеры программ с использованием этих форматов (.jpg, .wav) на практике. В этой части мы рассмотрим именн...

[Перевод] Простое объяснение алгоритмов поиска пути и A* Часть 1. Общий алгоритм поиска Введение Поиск пути — это одна из тех тем, которые обычно представляют самые большие сложности для разработчиков игр. Особенно плохо люди понимают алгоритм A*, и многим кажется, что это какая-то непостижимая магия. Цель данной статьи — объясн...

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

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

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

Особенности формирования тактовых частот в PSoC 5LP При разработке аппаратной части комплекса REDD, описанного в этой статье, мы рассматривали различные варианты реализации. PSoC рассматривался, так как для него имеется готовый относительно стандартизованный, пусть и де-факто, вариант переходника USB-I2C. К сожалению, по пр...

Создание бэкенд приложения для онлайн чата Apollo, Node.js Некоторое время назад я работал над мобильным приложением, функционал которого включал в себя удобный онлайн-чат. И теперь я решил написать статью с краткой инструкцией, как создать чат, используя apollo server и node.js на бэкенде, а так же react native и apollo client на к...

Аккуратно пользуйтесь Galaxy Fold, iPhone 11 Pro Max в разрезе и днюха Android — Гуд Монинг #7 iFixIt разобрали iPhone 11 Pro Max Полные результаты разбора можно посмотреть по ссылке. Пожалуй, интереснее всего выглядит блок тройной камеры. Разбор также подтвердил, что аккумулятор в 11 Pro Max имеет объём 3969 мАч. Интересно, что он на 0,7 мм тоньше, при этом имеет бол...

Самый удобный видео редактор от AMS Создание видео проектов требует использования качественных и профессиональных инструментов, программа Видео Монтаж 8.27 от компании AMS, является самой универсальной и оригинальной в данном деле. На сайте компании https://amssoft.ru/videomontage/ можно ознакомиться со всеми ...

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

Из 2D-изображения в 3D-модель Доброго времени суток!Хотел бы рассказать о моём* способе придать объём нашим двухмерным изображениям.P.s. Я лишь новичок в этом деле, и по этому информация в этом посте будет весьма субъективной.Находим нужное изображение, желательно с расширением ․png:Если оно является рас...

Приглашаем на DroidHeads Meetup 8 июня 8 июня в московском офисе Mail.ru Group состоится встреча всех неравнодушных к мобильной разработке. ​В этот раз мы проведем ее совместно с сообществами MosDroid и CocoaHeads. Соберем представителей обеих платформ, чтобы участники знали, с чем могут столкнуться при разрабо...

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

Работаем с PDF-файлами в Movavi PDF-Редактор Компания Movavi известна тем, что выпускает программы для работы с мультимедиа. Так, в одном из наших материалов мы рассказывали о Конвертере Видео. Недавно в линейке продуктов Movavi появился PDF-Редактор, и он хорошо справляется с первостепенными задачами:  п...

Уязвимость Internet Explorer грозит потерей файлов Специалист по кибербезопасности Джон Пейдж (John Page) опубликовал информацию об уязвимости Internet Explorer 11, позволяющей получить доступ к локальным файлам. Исследователь уведомил Microsoft о найденном баге, но компания отказалась выпускать внеплановый патч. Проблема св...

Ученые научились взламывать зашифрованные PDF-файлы Исследователи из двух немецких университетов смогли прочитать зашифрованные PDF-документы. Эксперты предложили два способа атаки под общим названием PDFex: оба позволяют взламывать файлы через 27 программ, включая Adobe Acrobat, Foxit Reader, средства просмотра PDF в Chrome ...

[Перевод] Что нового в разработке Mamba Прошло немало времени с тех пор, как мы рассказывали о том, что нового в змеиной стране. Mamba всё еще быстра, поддерживает больше операций Conda и отрастила хвост (бэкенд) посолиднее благодаря изменениям в libsolv. Ускоряем змею! А что такое Mamba? Mamba — это drop-in заме...

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

Разрабатываем утилиту на GraalVM Постановка задачи Периодически у меня возникает задача поделиться файлами по локальной сети, например, с коллегой по проекту. Решений для этого может быть очень много — Samba / FTP / scp. Можно просто залить файл в общедоступное публичное место типа Google Drive, приложить к...

Реверс-инжиниринг на производстве при помощи 3D-сканирования Интервью с экспертом по 3D-технологиям Георгием Казакевичем – Если мы хотим понимать, что такое реверс-инжиниринг, что нам нужно знать в первую очередь? – Прежде всего надо разобраться, в чем состоит задача 3D-сканирования. Термин этот на самом деле расплывчатый, посколь...

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

Тест-драйв nanoCAD СПДС Стройплощадка 8. Часть 2 Тест-драйв nanoCAD СПДС Стройплощадка 8 Мы продолжаем публикацию тест-драйва по nanoCAD СПДС Стройплощадка. В первой части тест-драйва мы разобрали работу со специальным инструментом Менеджер проектов, его основные функции и способы построения элементов стройгенплана. Во вто...

Построение поведенческих воронок на языке R, на основе данных полученных из Logs API Яндекс.Метрики Анализ воронки продаж — типичная задача для интернет маркетинга, и в частности электронной коммерции. С её помощью вы можете: Выяснить на каком из шагов к покупке вы теряете потенциальных клиентов. Моделировать объём дополнительного притока выручки, в случае расширения каж...

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

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

[Перевод] Нативное редактирование Jupyter Notebooks в VS Code С осктябрьским релелизом расширения Python, мы рады объявить о поддержке нативного редактирования Jupyter Notebooks в Visual Studio Code! Теперь вы можете напрямую редактировать файлы .ipynb и получать интерактивность Jupyter Notebooks с полной мощью VS Code. Вы можете упра...

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

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

Web. Решение задач с r0от-мi. Часть 2 Данная статья содержит решение заданий, направленных на эксплуатацию web-узвимостей. Статья ориентирована в основном на новичков, которые хотят разобараться в заголовках HTTP и учавствовать в CTF. Ссылки на предыдущие части этого раздела: Web. Решение задач с r0от-мi. Час...

3. Дизайн сети предприятия на коммутаторах Extreme Добрый день, друзья! Сегодня я продолжу цикл, посвященный коммутаторам Extreme статьей по проектированию сети Enterprise. В статье я постараюсь по возможности кратко: описать модульный подход к проектированию сети Etnterprise рассмотреть виды построения одного из важне...

Как смотреть фильмы из Google Drive на своём Chromecast Медиаплеер Google Chromecast — это отличный способ удобного просмотра фильмов с различных устройств на большом экране телевизора. Но хранить видеофайлы на нескольких устройствах очень сложно — проще использовать в качестве собственной онлайн-фильмотеки Google Ди...

Блок питания Seasonic Focus SGX 650: решение формата SFX-L с удлиненным корпусом и гибридной системой охлаждения Seasonic Focus SGX 650 представляет собой нишевое решение, использование которого возможно только в части корпусов с посадочными местами для БП SFX — там, где имеется место для источника питания с увеличенными габаритами типоразмера SFX-L. Также его можно использовать в част...

Web scraping на R, часть 2. Ускорение процесса с помощью параллельных вычислений и использование пакета Rcrawler В прошлой статье я с помощью скрэпинга-парсинга собрал с сайтов IMDB и Кинопоиск оценки фильмов и сравнил их. Репозиторий на Github. Код неплохо справился со своей задачей, однако скрэпинг часто используют для "соскабливания" не пары-тройки страниц, а пары-тройки тысяч и д...

[Из песочницы] Prometheus + Grafana + Node Exporter + Docker в Azure c уведомлениями в Telegram Для начала подготовим виртуальную машину, для этого напишем небольшой скрипт, который разворачивает и автоматизирует некоторые рутинные операции, скрипт использует Azure Cli: project.sh#!/bin/bash echo "AZURE VM Create" echo "Azure Account:" echo "Az...

VideoProc — лучший конвертер видео для iPhone (бесплатная лицензия и розыгрыш iPhone XS Max) При всем своем удобстве и функциональности яблочные мобильные устройства обладают некоторыми особенностями, которые нужно учитывать. Например, стандартный плеер iOS может не воспроизводить видео в MKV, AAC и FLV форматах, а привычные настольные редакторы вроде QuickTime, Fin...

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

Как загрузить YouTube-видео на Android-смартфон Хотите загрузить видео из YouTube на смартфон? Мы поможем вам это сделать. На крайне популярном видеохостинге YouTube каждый может найти контент, который ему по душе. Однако бывает так, что нам нужно скачать какой-то ролик для того, чтобы посмотреть его в дальнейшем. Конечно...

[Перевод] Новое в Hadoop: познакомимся с различными форматами файлов в Hadoop Всем привет! Публикуем перевод статьи, подготовленный для студентов новой группы курса «Data Engineer». Если интересно узнать, как построить эффективную и масштабируемую систему обработки данных с минимальными затратами, посмотрите запись мастер-класса Егора Матешука! Неско...

[Перевод] Реверс-инжиниринг аркадного автомата: записываем Майкла Джордана в NBA Jam Прошлым летом меня пригласили на тусовку в Саннивейле. Оказалось, что у хозяев в гараже есть аркадный автомат NBA JAM Tournament Edition на четверых игроков. Несмотря на то, что игре уже больше 25 лет (она была выпущена в 1993 году), в неё по-прежнему очень интересно играть...

[Перевод] Композитор с долгой кратковременной памятью Автоматическое сочинение музыки Почти сразу после того, как я научился программированию, мне хотелось создать ПО, способное сочинять музыку. Я в течение нескольких лет предпринимал примитивные попытки автоматического сочинения музыки для Visions of Chaos. В основном при эт...

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

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

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

Установка и настройка Sonata Admin на Symfony 4 Приветствую всех. В данной статье поговорим об Symfony 4 и Sonata Admin. В процессе установки я столкнулся с массой неточностей в документации и сама документация была раскидана по нескольким местам. Здесь я рассмотрю весь процесс, начиная от создания проекта и заканчивая а...

Изучаем Adversarial Tactics, Techniques & Common Knowledge (ATT@CK). Enterprise Tactics. Часть 11 Командование и управление (Command and Control) Ссылки на все части: Часть 1. Получение первоначального доступа (Initial Access) Часть 2. Выполнение (Execution) Часть 3. Закрепление (Persistence) Часть 4. Повышение привилегий (Privilege Escalation) Часть 5. Обход защиты (Def...

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

[Перевод] Представляем шрифт Cascadia Code Cascadia Code наконец-то здесь! Вы можете установить его непосредственно со страницы релизов в нашем репозитории на GitHub или автоматически получить его в следующем обновлении Windows Terminal. Постойте, что за «Cascadia Code»? Cascadia Code был представлен в мае этого г...

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

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

Анализ производительности виртуальной машины в VMware vSphere. Часть 1: CPU Если вы администрируете виртуальную инфраструктуру на базе VMware vSphere (или любого другого стека технологий), то наверняка часто слышите от пользователей жалобы: «Виртуальная машина работает медленно!». В этом цикле статей разберу метрики производительности и расскажу, ...

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

#Конкурс! Как работать с видео в 4K на Mac без Final Cut Pro X За последние несколько лет компьютеры Mac у многих стали ассоциироваться как инструменты для работы с видео. Действительно, Apple сама не скрывает, что делает упор на тех, кто монтирует ролики (особенно в 4K), но кроме профессионального решения Final Cut Pro X ничего не пре...

ResNet50. Своя реализация Всем привет. Библиотека нейросети описана в моей прошлой статье. Здесь решил показать как можно использовать обученную сеть из TF (Tensorflow) в своем решении, и стоит ли. Под катом сравнение с оригинальной реализацией TF, демо приложение для распознавания картинок, ну и… в...

Что будет с аутентификацией и паролями? Перевод отчета Javelin «Состояние строгой аутентификации» с комментариями Спойлер из заголовка отчета «Количество случаев использования строгой аутентификации выросло благодаря угрозам новых рисков и требованиям регуляторов». Исследовательская компания «Javelin Strategy & Research» опубликовала отчёт «The State of Strong Authentication 2019»...

Media365 Reader 4.3.1092 Media365 Reader — стильное и удобное приложение для чтения электронных книг Android. С этой главной новой версии вы можете открыть более 50 форматов файлов через импорт в EPUB и PDF: Преобразование AZW, azw3, CBC, CBR, CBZ, CHM, DOCX, FB2, освещено, ФПС, Mobi, PDB, PM...

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

Как узнать размер любого файла на iPhone или iPad Одно из главных нововведений iOS 12 — приложение «Быстрые команды». Новая программа позволяет пользователям не только создавать цепочки действий для автоматизации повседневных и рутинных операций, но и совершать действия, которые изначально не были предусмотрены iOS. ...

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

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

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

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

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

[Из песочницы] Философия деления на… или исповедь сумасшедшего Вступление Сразу следует указать что в данной статье не будет глубокой математики. Будет лишь рассуждение на указанную в заголовке тему. Всё далее описанное лишь мнение автора. Не более того. Почти. Особенность математики Математика, как наука, окончательно углубилась в с...

Настройка программы Asymptote Из всех хабов этот показался мне наиболее подходящей для этой темы. Итак. Скопировано с моего блога в целях создания еще одного русскоязычного источника информации по данной теме. Я опишу этот процесс для Asymptote 2.35. Итак, вот я скачал эту программу, установил. Если м...

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

[Из песочницы] Создание своего jsfiddle, часть 1 Привет всем читателем habr. В данной статье мы напишем свой онлайн редактор кода. Зачем я писал свой онлайн редактор кода В один день мне стало интересно насколько сложно создать свой онлайн редактор по типу jsfiddle, из-за чего я решил написать свой редактор. Написание сво...

[Из песочницы] Автоматизация доставки flow в Apache NiFi Всем привет! Задача заключается в следующем — есть flow, представленный на картинке выше, который надо раскатить на N серверов с Apache NiFi. Flow тестовый — идет генерация файла и отправка в другой инстанс NiFi. Передача данных происходит с помощью протокола NiFi Site to...

Изучаем сборку микросхемы оперативной памяти на примере Hynix GDDR3 SDRAM Для многих микросхема это черный ящик с нанесенной на нее маркировкой. Заглядываем в микросхему оперативной памяти и смотрим, что внутри. Небольшой реверс-инжиниринг в сборку. Статья для тех, кому интересна микроэлектроника и кто хочет познакомиться с ней. Читать дальше →

[Из песочницы] Создание Android приложения с использованием Anko Layouts и Anko Coroutines Примерно год назад я начал использовать Kotlin в своих Android проектах. Мне хотелось попробовать что-то новое, что было бы интересно изучать. Тогда я и наткнулся на Anko. К тому времени писать UI на xml порядком осточертело. Мне всегда нравилось писать интерфейс руками, не...

SMARTtech: FLAC vs MP3. FLAC лучше, чем MP3? В этой статье редакция портала Smartphone.ua предлагает обсудить различия между двумя популярными музыкальными форматами: FLAC и MP3. Наша цель - убедиться, что после прочтения этой статьи у вас будет четкое представление об этих музыкальных форматах и их функциях.

Chrome уличили в утечке личных данных Проблему в системе безопасности браузера Google Chrome обнаружили сотрудники компании EdgeSpot. Уязвимость заключается в особенностях работы «Хрома» с PDF-файлами. Как выяснилось, документы такого формата могут передавать посторонним пользователям определённые данные об устр...

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

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

Автоматизируем переход на React Hooks React 16.18 — первый стабильный релиз с поддержкой react hooks. Теперь хуки можно использовать не опасаясь, что API изменится кардинальным образом. И хотя команда разработчиков react советует использовать новую технологию лишь для новых компонентов, многим, в том числе и мне...

Битва потрошителей. Выбираем лучший редактор для вскрытия исполняемых файлов Windows Для подписчиковГлавная и сложнейшая задача хакера во время взлома программы — найти защитный механизм и обойти его. Для его нахождения я обычно использую отладчик WinDbg, а для «исправления» приложения — редактор Hiew. Но есть ли альтернативы для последнего? Задавшись этим в...

[Перевод] PEG парсеры Несколько лет назад меня кто-то спросил имеет ли смысл превести Python на PEG-парсер (или на грамматику PEG; я не помню точно кто и когда это было). Тогда я немного посмотрел на него, но так и не пришёл к какому-либо выводу, а потому и отбросил эту тему. Недавно я узнал боль...

Операция TA505: сетевая инфраструктура группировки. Часть 3 Анализ сетевой инфраструктуры играет большую роль в исследовании вредоносных кампаний. Сведения о том, какие IP-адреса соответствовали доменному имени в различные промежутки времени, позволяют определить новые серверы злоумышленников. Решение противоположной задачи (ретрос...

Качаем 16GB торрент через планшет с 4GB свободного места Задача: Есть ПК без интернета но есть возможность перекинуть файл по USB. Есть планшет с интернетом с которого этот файл можно перекинуть. На планшет можно скачать нужный торрент но не достаточно свободного места. Файл в торренте один и большой. Путь к решению: Я запустил т...

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

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

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

[Из песочницы] Создание Google пользователей из PowerShell через API Привет! В этой статье будет описана реализация взаимодействия PowerShell с Google API для проведения манипуляций с пользователями G Suite. В организации мы используем несколько внутренних и облачных сервисов. По большей части авторизация в них сводится к Google или Active ...

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

Мультимедиа центр «Kodi» и Yocto Project Введение в Yocto Project Yocto Project — это совместный Open Source проект для упрощения разработки дистрибутивов для встраиваемых систем. Yocto содержит большое количество шаблонов, метаданных и инструментальных средств сборки. В Yocto Project вы можете подключить большо...

Качественная утилита «Экранная камера» Многие геймеры довольно часто задаются вопросом, каким образом можно снять прохождение собственной игры на камеру. Данная возможность в полной мере раскрыта компанией AMS Software. Эта фирма позволяет создавать уникальные и необычные видео и фото проекты с помощью её програм...

Конвертация детали в формат STL для 3D печати, Autodesk Inventor Professional 2017 Сегодня я расскажу, как легко конвертировать в формат STL для 3D печати с помощью программы Autodesk Inventor Professional 2017.Если верно конвертировать деталь в Инвенторе, то получим гладкую с правильной геометрией поверхность, смотрите  ниже рисунок (зеленая стрелка)...

[Из песочницы] Реверс-инжиниринг электрокарниза AM82TV Есть у меня пара электрокарнизов компании Akko — AM82TV. Модель эта выделяется из собратьев наиболее полным набором интерфейсов управления. Шторами можно управлять по радиоканалу, есть “сухие контакты”, пофазное управление (замыканием управляющих проводов с сетевыми). Есть и...

Какой следующий член…? — Ищем формулу для n-го члена последовательности, производящие функции и Z-преобразование Скачать файл с кодом и данные можно в оригинале поста в моем блоге В языке Wolfram Language есть четыре совершенно потрясающие функции: FindSequenceFunction, RSolve, DifferenceRootReduce и FindFormula. В этой статье мы обсудим их возможности и поговорим о функциях, тесно с ...

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

Как загрузить музыку и видео с YouTube бесплатно, без СМС и регистрации Популярный видеохостинг YouTube уже давно предоставляет не только услуги по просмотру видеороликов, но и позволяет слушать музыкальные композиции. Благодаря функции YouTube Music Premium вы можете загружать и слушать музыку без рекламы в фоновом режиме. Это, конечно, замеча...

Новый мобильник Linx C170 Компания Nokia выпустила очень простую модель, у нее нет музыкального плеера. Название модели Linx C170, для хранения музыкальной коллекции и полученных фотоснимков можно использовать дополнительную карту памяти формата microSD на 16 ГБ.Экранная панель отличается разрешени...

Компилятор Ангуляр в 200 строчек кода Привет. Меня зовут Роман, и я не изобретатель велосипедов. Мне нравится фреймворк Angular и экосистема вокруг него, и я разрабатываю с его помощью свои веб-приложения. С моей точки зрения, основное преимущество Angular в долгосрочной перспективе базируется на разделении кода...

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

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

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

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

43 дюйма, 32:10, док-станция USB-C и всплывающая камера. В России выходит очень широкий изогнутый монитор Philips 439P9H В России выходит сверхширокоформатный изогнутый монитор Philips 439P9H, оснащенный ЖК-диспплеем диагональю 43 дюйма. Благодаря широкому формату SuperWide 32:10 и разрешению 3840 x 1200 пикселей, новая модель может легко заменить два высокопроизводительных монитора форма...

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

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

Лучшие Linux-приложения для Chrome OS Мы уже писали статью о том, как установить Linux-приложение на Chrome OS через контейнер Debian. Эта функция изначально предназначена для разработчиков, однако будет полезна и тем, кто желает получить качественный софт, недоступный в Google Play, на Chrome OS. В этом матери...

[Перевод] Как технологии манипулируют вашим разумом: взгляд иллюзиониста и эксперта по этике дизайна Google “Проще обмануть человека, чем убедить его, что он был обманут” Неизвестный авторЯ разбираюсь в том как технологии используют наши психологические уязвимости. Именно поэтому последние три года я проработал экспертом по этике дизайна в Google. Я изучаю как создавать продукты...

Почти все настройки, необходимые для нормальной печати Cura 3.6. Часть 3 Я решил сменить формат на представление и описания различных "примочек" для улучшения качества или получения иного результата. Я считаю что ролик Дмитрия рассказывает о всём, что может понадобится на первых парах.Сегодня мы рассмотрим настройку Разглаживание.  Эта настр...

[Из песочницы] Подводные камни в управлении Machine Learning проектом Уже полтора года я занимаю у себя в компании позицию основного ML-разработчика. Полгода управляю небольшой командой. Я накопил опыт, которым хочу поделиться. Делать это буду в формате топа заблуждений и потенциальных трудностей. Читать дальше →

Security Week 49: взлом гостиничной инфраструктуры 28 ноября эксперты «Лаборатории Касперского» опубликовали интересное исследование о систематических атаках на компьютеры в гостиницах. Подтвержденных жертв кампании больше 20, потенциальных — больше тысячи. Исследованные атаки, скорее всего, ведут две разные группировки с не...

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

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

[Перевод] Аналитика логов Nginx с помощью Amazon Athena и Cube.js Обычно для мониторинга и анализа работы Nginx используют коммерческие продукты или готовые open-source альтернативы, такие как Prometheus + Grafana. Это хороший вариант для мониторинга или real-time аналитики, но не слишком удобный для исторического анализа. На любом популяр...

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

Тайна прошивок Авторы: к.ф.-м.н. Чернов А.В. (monsieur_cher) и к.ф.-м.н. Трошина К.Н. Как с помощью самых общих предположений, основанных на знании современных процессорных архитектур, можно восстановить структуру программы из бинарного образа неизвестной архитектуры, и дальше восстановит...

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

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

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

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

Swift против Rust — бенчмаркинг на Linux с (не)понятным финалом Привет, Хабр! Периодически посматриваю на Swift в качестве языка прикладного программирования для Linux — простой, динамичный, компилируемый, без сборщика мусора, а значит, теоретически, пригоден и для устройств. Решил сравнить его с чем-то таким же молодым и модным — напри...

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

[Перевод] Компилируем FFmpeg в WebAssembly (=ffmpeg.js): Часть 3 — Конвертация avi в mp4 Список переведённых частей серии: Приготовления Компиляция с Emscripten Конвертация avi в mp4 (вы тут) В этой части ма разберём: Компиляцию библиотеки FFmpeg с оптимизированными аргументами. Управление файловой системой Emscripten. Разработку ffmpeg.js v0.1.0 и конвер...

Про Godot, GLSL и WebGL, шейдеры используемые в мини игре Статья в основном про GLSL-шейдеры, и как я их использовал в этой мини-демке-игре. Статья разбита по такой очередности: Ссылки и краткое описание. Очень краткое описание игровой логики, и используемых возможностей Godot. Про используемые шейдеры. Еще немного про Godot, и е...

[Перевод] XXE: XML external entity В этой статье мы объясним, что такое инъекция внешних сущностей XML, опишем некоторые общие примеры, поясним, как найти и использовать различные виды XXE-инъекций, а также обобщим, как предотвратить атаки с их помощью. Читать дальше →

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

Python и FPGA. Тестирование В продолжение к первой статье, хочу на примере показать вариант работы с FPGA (ПЛИС) на python. В данной статье затрону подробнее аспект тестирования. Если фреймворк MyHDL позволяет людям, работающим на python, используя знакомый синтаксис и экосистему, заглянуть в мир FPGA,...

[Перевод] Reflective Shadow Maps: Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи «Reflective Shadow Maps» автора Eric Polman. Reflective Shadow Maps (RSM) (отражающие карты теней) ― это алгоритм, расширяющий “простые” shadow map. Алгоритм учитывает свет, рассеянный после первого попадания на пов...

pg_stat_statements + pg_stat_activity + loq_query = pg_ash? В качестве короткого дополнения к статье Попытка создать аналог ASH для PostgreSQL. Задача Необходимо связать историю представлений pg_stat_statemenets, pg_stat_activity. В результате, используя историю планов выполнения из сервисной таблицы log_query, можно получить очень ...

MacX MediaTrans — быстрый перенос файлов между iOS и Mac Уже много лет фанаты Apple не могут смириться с запутанным и не всегда логичным интерфейсом iTunes. Многие просто мирятся с этим фактом и привыкают пользоваться приложением. Но есть категория людей, которые ищут лучшее решение для каждого сценария использования связки iOS+Ma...

[Из песочницы] DDS Синтезатор на Verilog В этом посте я поделюсь тем, как разбирался с написанием DDS синтезатора на Verilog. Он будет использован для генерации синусоидального колебания, частоту и начальную фазу которого можно регулировать и рассчитан для использования с 8-битным однополярным ЦАП. О том, как рабо...

SwiftUI для прошлого конкурсного задания Telegram Charts (март 2019 года): все просто Сразу начну с замечания о том, что приложение, о котором пойдет речь в этой статье, требует Xcode 11 и MacOS Catalina , если вы хотите использовать Live Previews, и Mojave, если будете пользоваться симулятором. Код приложения находится на Github. В этом году на WWDC 2019,...

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

Драйвер шагового двигателя "под микроскопом" на примере DRV8825 (PWM, Overshoot, Slow Decay, Fast Decay, Mixed Decay, SS34, пропуск шагов, ложные выводы, панацея и всё такое) Заранее прошу прощения, если рассуждения местами сумбурны, писал за один заход, но слишком много материала для одного раза. Также там есть опечатки.Описанное в статье даёт представление о работе не только DRV8825, но и драйверов двигателей вообще.Что из себя представляет DRV...

Лучшая программа Fotoshow Компания AMS Software является одной из самых крупных и известных производителей качественного софта. Она является разработчиком самых популярных программ по работе с видео, фото и аудио проектами. Большой популярностью пользуется программа Fotoshow Pro 14.7. На официальном ...

Samsung Galaxy Fold в разобранном виде На Weibo были размещены фотографии подробно разобранного смартфона Samsung Galaxy Fold. Это не стандартный разбор в стиле iFixit, но он показывает все кабели, гибкий дисплей, батареи, ленточные разъемы и другие компоненты, присутствующие в Galaxy Fold. Пользователь, размести...

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

Глина → Кирпич → Печь В данной статье я хочу описать свой опыт по работе с глиной, изготовление из неё кирпичей (в формате 1:6) и создание уменьшенной модели типовой отопительной печи ПТО-2300 Читать дальше →

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

Ранее неизвестных пауков назвали в честь штурмовиков из «Звездных войн» Carlos Perafan Исследователи нашли в Колумбии шесть ранее неизвестных видов пауков, причем четыре из них объединили в новый род. Последний назвали Stormtropis — в честь имперских штурмовиков из популярной киноэпопеи «Звездные войны». Найденные в Колумбии виды пауков отн...

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

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

Askozia. Как работает Autoprovisioning Plug & Play При разработке АТС Askozia мы столкнулись с задачей по автоматической настройке телефонов и решили ее по-своему. Autoprovisioning Plug & Play (PnP), эту технологию поддерживают многие производители — Yealink, Snom, Fanvil. Основные достоинства автоматической настройки ...

[Перевод] UDB. Что же это такое? Часть 4. Datapath ALU Как и обещали в прошлый раз, мы начинаем детальный разбор Арифметико-Логического Устройства (Arithmetic and Logic Unit, ALU). Читать дальше →

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

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

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

Получение статистики по всем клиентам из API Яндекс Директ в разрезе дней с помощью Python В работе часто использую короткую статистику в разрезе дней чтобы отслеживать отклонения трафика. Более подробно о написании запросов написал в статье « Получение рекламных кампаний Яндекс Директ с помощью API в DataFrame (Python)». В данной статье я в большей степени рас...

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

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

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

В iOS 13 появятся новые инструменты для редактирования фото и видео iOS 13 можно по праву назвать знаменательным релизом — пользователи наконец получили в свое распоряжение темный режим интерфейса, полноценный менеджер загрузок в Safari и даже Swype-клавиатуру. Но есть и другие, не менее важные изменения. К ним можно отнести новое при...

[Перевод] Chaos Engineering: искусство умышленного разрушения. Часть 2 Прим. перев.: Этот материал продолжает замечательный цикл статей от технологического евангелиста из AWS — Adrian Hornsby, — задавшегося целью просто и понятно объяснить важность экспериментов, призванных смягчить последствия сбоев в ИТ-системах. «Если провалил подготовку ...

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

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

Статистика сайта и своё маленькое хранилище Утилита Webalizer и инструмент Google Analytics помогали мне много лет получать представление о том, что происходит на веб сайтах. Сейчас я понимаю, что они дают очень мало полезной информации. Имея доступ к своему файлу access.log, разобраться со статистикой очень просто и ...

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

WinX MediaTrans — как переместить фото с iPhone на компьютер без iTunes Когда перед покупателем встает выбор между iPhone, iPad и планшетами и смартфонами на операционной системе Android, зачастую он выбирает именно последние, поскольку не хочет быть привязанным к iTunes и вообще устанавливать эту программу на свой компьютер (если это, конечно,...

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

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

Профилирование со сверхсветовой скоростью: теория и практика. Часть 1 Привет! Из заголовка вы уже поняли, о чём я собираюсь рассказать. Тут будет много хардкора: мы обсудим Java, С, С++, ассемблер, немного Linux, немного ядра операционной системы. А ещё разберём практический кейс, поэтому статья будет в трёх больших частях (достаточно объёмных...

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

Зачем нужен менеджер загрузок на Android Менеджер загрузок — не роскошь, а необходимость Сегодня практически любой смартфон имеет возможность загрузки файлов из интернета во внутреннюю память устройства. При этом на просторах Google Play Store существует целый ворох программ для загрузки файлов. Может возникн...

VBA и Python для автоматизации Excel и MS Office Поводом для заметки послужила статья на Хабре, в которой автор описывал, как он решал на Python задачу сбора и анализа метаданных из файлов Excel. Эта заметка более подробно раскрывает всем известный тезис: Под конкретную задачу надо выбирать наиболее подходящий инструмент п...

[Перевод] Настройка кластера HA Kubernetes на «голом железе» с GlusterFS & MetalLB. Часть 2/3 Часть 1/3 тут Привет и с возвращением! Это вторая часть статьи о настройке кластера Kubernetes на «голом железе». Ранее мы настраивали НА-кластер Kubernetes с помощью внешнего etcd, схемы «ведущий-ведущий» и балансировки нагрузки. Ну а теперь пришло время настроить дополнит...

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

TabPy для работы с данными в ClickHouse из Tableau Выстраивание коммуникаций между брендами и людьми — то, чем мы в Dentsu Aegis Network занимаемся каждый день, и неотъемлемой частью этой работы является анализ данных. В ряде случаев этот процесс не требует data science (хотя и он у нас есть), тогда мы используем BI платформ...

Консенсус в криптовалютах с гибридным майнингом Мне довелось участвовать в разработке механизма майнинга для криптовалюты, позволяющего использовать разные алгоритмы хэширования для построения блокчейна. Цель — дать возможность майнерам с любым оборудованием(ASIC, GPU, CPU) поддерживать сеть, охватывая всю возможную аудит...

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

Альтернативный оркестратор nomad на десктопе В настоящее время оркестрация контейнеров ассоциируется в первую очередь с kubernetes. Но это не единственный возможный выбор. Есть и альтернативные средства оркестрации, например nomad, разработчик HashiCorp (хорошо известный как разработчик средства виртуализации Vagrant)....

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

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

[Из песочницы] Красивые точные часы из старого смартфона Речь в статье пойдёт о том, как старый ненужный мобильник переделать в отличные настенные часы с крупными цифрами, всегда точным временем и резервным питанием. Я расскажу о некоторых выясненных особенностях сихронизации времени в ОС Андроид, а также о разных электрических...

[Перевод] Конференция DEFCON 27. Извлечение пользы из хакерских продуктов для macOS. Часть 2 Конференция DEFCON 27. Извлечение пользы из хакерских продуктов для macOS. Часть 2 Получив с удаленного хакерского C&C-сервера файл с вредоносным кодом, эксплойт приступает к его исполнению. Здесь используется тот же SDF-метод, когда архив с вредоносным ПО распаковывает...

Как реализуется Retentioneering в App in the Air Удержать пользователя в мобильном приложении – это целая наука. Ее основы в нашей статье на VC.ru описал автор курса Growth Hacking: аналитика мобильного приложения Максим Годзи, руководитель подразделения Машинного обучения в App in the Air. Максим рассказывает о разработ...

[] Бикватернионы Если вы открыли данную статью, то наверняка уже слышали о кватернионах, и возможно даже используете их в своих разработках. Но пора подняться на уровень выше — к бикватернионам. Можно и еще выше — к седионам! Но не сейчас. В данной статье даны основные понятия о бикватернио...

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

Мощная новинка Monte Cristo 4 Monte Cristo 4 выполнен в корпусе чёрного цвета из алюминиево-магниевого сплава и поставляется в комплекте с умной обложкой, которая при закрытии переводит устройство в спящий режим.Букридер поддерживает большинство популярных форматов файлов и позволяет читать книги на множ...

SQL: решение задачи о рабочем времени Здравствуйте, в эфире опять Радио SQL! Сегодня у нас решение задачи, которую мы передавали в нашем предыдущем эфире, и обещали разобрать в следующий раз. И вот этот следующий раз наступил. Задача вызвала живой отклик у гуманоидов галактики Млечный путь (и неудивительно, с их...

ИТ-игра «Что? Где? Когда?». Разбор вопросов 29 августа в офисе ManyChat прошел интеллектуальный ИТ-вечер «Что? Где? Когда?». За звание лучших знатоков боролось сразу 10 команд. Мы рады поделиться с вами записью с мероприятия, разбором вопросов, а также некоторыми секретами о следующих встречах. Все подробности скрываю...

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

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

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

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

[Перевод] Распаковка: загрузчик Dridex Доброй ночи, друзья! Менее чем через месяц у нас стартует курс «Реверс-инжиниринг», в связи с этим традиционно делимся полезным материалом по теме. У некоторых читателей были проблемы с распаковкой начального загрузчика для Dridex (того, что был сброшен макросом), поэтому с...

Злоумышленники спрятали LokiBot внутри PNG-файла Спам-кампанию c необычной техникой доставки трояна LokiBot зафиксировали исследователи из Trustwave SpiderLabs. Как выяснили аналитики, вредоносные письма содержали архив в формате ZIPX, скрытый внутри PNG-файла. Специалисты отмечают, что такая уловка может обмануть фильтры ...

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

7 альтернатив Air Drop для Android Большинство из нас сегодня воспринимает некоторые технологии, которые еще 10-15 лет назад казались невероятными, как должное. Например, пользователи устройств от компании Apple вполне успешно передают данные при помощи Airdrop. Это быстро, удобно и безопасно. Однако же не в...

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

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

10 материалов о необычных музыкальных инструментах и нетипичных способах извлечения звука В качестве чтения на выходные мы хотели бы предложить вам наиболее популярные материалы нашего «Мира Hi-Fi». Сегодняшний топ-10 посвящен необычным музыкальным инструментам. Здесь есть исторические разборы и статьи о технологиях, предвосхитивших современные семплеры, нейронн...

ВКонтакте удалила аудиосообщения сторонних приложений из публичного доступа Сегодня пользователи ВКонтакте заметили, что часть голосовых сообщений оказалась в открытом доступе, их можно было найти в разделе «Документы» по запросу audiocomment.3g. Однако, как сообщили разработчики,  ВКонтакте не использует файлы формата audiocomment.3gp для голо...

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

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

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

В США группа из шести человек обвинена в краже криптовалюты на сумму 2,4 млн долларов с помощью подмены SIM-карт В феврале мы рассказывали, что хакер, похитивший более 5 млн долларов путем подмены SIM-карт, получил 10 лет тюрьмы. Это был первый случай наказания за такое преступление. Согласно новым сообщениям, минувшей неделе еще девять человек были обвинены в сговоре с целью хищ...

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

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

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

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

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

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

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

Спамеры рассылают письма с вредоносными ISO-файлами Специалисты Netskope обнаружили спам-кампанию, в рамках которой злоумышленники распространяют ISO-образы с троянами LokiBot и NanoCore. Эксперты сообщают о десяти разновидностях рассылки, в которых используются разные файлы и письма. Сообщения с вредоносными вложениями под в...

Балансировка красно-чёрных деревьев — Три случая Двоичные деревья поиска — эта структура данных для хранения элементов с возможностью быстрого поиска. Идея проста и гениальна: «меньше – налево, больше – направо». На этом простота заканчивается и начинаются сложные вопросы балансировки дерева, чтобы оно не превратилось в дл...

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

[Из песочницы] Пентест-лаборатория «Pentestit Test lab 12» — полное прохождение Каждый год компания Pentestit запускает новую лабораторию для тестирования на проникновение «Test Lab», и данная статья будет посвящена прохождению 12-ой лаборатории, получившей название «z 9r347 39u411z3r» или если раскодировать — «The great equalizer». DisclaimerДанная ...

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

Лучшие программы для создания сторис в Instagram Если вы используете Instagram не первый день, то наверняка в курсе существования такой функции, как «истории». Это небольшие фото или видеоролики, которые хранятся 24 часа и доступны в специальном разделе. Однако если вы подписаны на топовых блогеров, то наверняка...

21 книга о том, как построить гармоничные отношения с окружающими Разбор распространённых ошибок, практические упражнения и понятное объяснение сложных вопросов.

Security Week 24: заводские бэкдоры в смартфонах Android Прошедшая неделя вышла богатой на новости про безопасность смартфонов Android. Во многих СМИ (например, в ArsTechnica) написали о том, что Google «подтвердила» факт продажи смартфонов с предустановленным «на заводе» бэкдором. Поводом для таких заголовков стала вполне техниче...

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

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

StealthWatch: развертывание и настройка. Часть 2 Здравствуйте, коллеги! Определившись с минимальными требованиями для развертывания StealthWatch в прошлой части, мы можем начать развертывание продукта. 1. Способы развертывания StealthWatch Существует несколько способов «потрогать» StealthWatch: dcloud – облачный серв...

[Из песочницы] Шифрование конфигурационных файлов Предыстория Мне поступила задача по настройке CI. Было принято решение использовать трансформацию конфигурационных файлов и конфиденциальные данные хранить в зашифрованном виде. Изучив документацию по шифрованию, вот что было сделано. Key Container В каждой ОС Windows есть...

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

Как создать 3D модели для 3D принтера? 3D Редактор Fusion 360 Часть 3 Создание шестеренок. Всем привет, с вами 3DTool!В прошлые разы мы готовили для вас рубрику, которую давно просили читатели и зрители. В формате вебинара, мы демонстрировали вам, как создавать простейшие 3D-модели в специализированном редакторе, знакомились с понятием Скетчей и Объектов. Сегодня ...

[Из песочницы] Пишем блог на микросервисах – часть 2 «API Gateway» В первой части нашего цикла статей «Пишем блог на микросервисах» мы описали общий подход к решению задачи. Теперь пришла очередь API Gateway или API GW. В нашем c ptimofeev API GW мы реализуем следующие функции: Конвертация REST запросов в gRPC запросы и наоборот. Логир...

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

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

АНБ выложит в открытый доступ дизассемблер Ghidra Агентство национальной безопасности США решило предоставить всем желающим открытый доступ к своей утилите для реверс-инжиниринга под названием Ghidra. Предполагается, что старший советник АНБ Роберт Джойс (Robert Joyce) продемонстрирует фреймворк на международной конференции...

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

TrickBot обходил почтовые фильтры с помощью Google Docs ИБ-исследователи из компании Cofense обнаружили фишинговую кампанию, в рамках которой злоумышленники рассылают банковский троян TrickBot через Google Docs, обходя почтовые фильтры. Для этого мошенники создали в онлайн-редакторе страницу, содержащую поддельное сообщение об ош...

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

Flash-анимации в Unity3D своими руками. Часть первая, лирическая В этой серии статей я расскажу о том, как и почему мы решили создать своё собственное решение для импорта flash-анимаций в Unity, об оптимизациях и внутренней кухне получившегося плагина. А также в программе: рассказ о внутренностях формата swf, особенностях расширения Unity...

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

[Из песочницы] Гнев, торг и депрессия при работе с InfluxDB Если использовать БД временных рядов (timeseries db, wiki) как основное хранилище для сайта со статистикой, то вместо решения задачи можно получить много головной боли. Я работаю над проектом, где используется такая база, и иногда InfluxDB, о которой пойдет речь, преподнос...

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

Пишем Reverse socks5 proxy на powershell.Часть 2 История об исследовании и разработке в 3-х частях. Часть 2 — разработческая. Буков много — пользы еще больше. В первой части статьи мы познакомились с некоторым инструментарием по организации обратных туннелей, посмотрели на их преимущества и недостатки, изучили механизм ра...

[Перевод] История 3dfx Voodoo1 Это вторая статья из серии «3D-карты конца 90-х, на которых работал Quake». В первой части мы рассмотрели Rendition Vérité 1000 конца 1996 года и специальный порт игры для неё под названием vQuake. Rendition удалось победить всех на рынке Quake. На короткий промежуток време...

[Перевод] Рассказ о решении проблемы с производительностью Moment.js Moment.js — это одна из самых популярных JavaScript-библиотек для разбора и форматирования дат. В компании WhereTo используют Node.js, поэтому для них применение этой библиотеки было совершенно естественным ходом. Проблем с серверным использованием Moment.js не ожидалось. В ...

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

[Перевод] На что способен формат Mini PCI-e Мне очень нравится формат Mini PCI-e. Это крохотный форм-фактор, служащий базовым для mSATA и M.2, но в основном он используются для подключения карт WiFi и Bluetooth в ноутбуках или маленьких ПК. Но по сути это просто PCI-e, поэтому с его помощью можно сделать гораздо бол...

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

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

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

Патенты в дизайне: часть вторая (примеры от Microsoft, Snapchat, Samsung, Netflix, Airbnb, Tinder) Под катом — вторая часть перевода статьи о том, как крупные, известные компании защищают свои дизайн-решения (и какие именно). Примерное представление о том, как происходит процесс оформления прав на тот или иной интерфейс, можно получить в первой части. Читать дальше →

Сочетания клавиш для продуктивной работы со Spotlight В 2005 году в OS X появился мощный инструмент для поиска, который получил название Spotlight. Фирменная технология поиска постепенно совершенствовалась Apple, и уже сегодня Spotlight можно использовать не только для поиска файлов и приложений, но и для арифметических вычисл...

[Из песочницы] Что значит unsafe в Rust? Привет, Хабр! Представляю вашему вниманию перевод статьи "What Is Rust's unsafe?" автора Nora Codes. Мне доводилось видеть много недопониманий относительно того, что значит ключевое слово unsafe для полезности и правильности языка Rust и его продвижения как "б...

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

[Перевод] USB-педаль для переключения между компьютерами Статья из блога самоделкина с ником РедькаМышь Вот она, во всей своей красе: Файлы STL: Верх корпуса. Низ корпуса. Кнопка. Зачем я её сделал Я одновременно использую несколько ноутбуков. На них запущены Linux, OpenBSD, macOS и ChromeOS. Я предпочитаю работать на кл...

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

Nokia 110 и его технические превосходства Компания Nokia выпустила очень интересные и яркие кнопочные телефоны.Новинка держит зарядку до двух дней и цветовая гамма телефона розовый и бирюзовый расцветке.Телефон располагает камерой с оптикой на 0,3 МП, FM-тюнером, фонариком и mp3-плеером. Для хранения музыкальных фа...

Настраиваем удобную сборку проектов в Visual Studio Эта статья является руководством по настройке сборки C++ проектов Visual Studio. Частично она сводилась из материалов разрозненных статей на эту тему, частично является результатом реверс-инжениринга стандартных конфигурационных файлов Студии. Я написал ее в основном потому ...

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

[Из песочницы] Настройка reverse proxy для Nextcloud и ONLYOFFICE Привет, Хабр! Я занимаюсь тестированием редакторов документов ONLYOFFICE, а также тестированием интеграции редакторов в сторонние сервисы. К нам часто обращаются пользователи с различными проблемами при настройке, решения которых просто так не найти. Одна из самых популярных...

Шилд RABPS 32 бита на базе STM32 (Blue Pill) в формате Sprint-Layout Здравствуйте уважаемые коллеги.В этот посте я, с разрешения уважаемого 3dmaniack, публикую файл печатнойплаты RABPS, который я переделал в программе Sprint-Layout.Плата RABPS - это простой вариант 32-битной платы управления, на базе Blue Pill (STM32F103C8T6) из доступных ком...

[Перевод] Эффекты фильтрации SVG. Часть 4. Двухцветные изображения при помощи feComponentTransfer Эта четвертая статья серии об SVG-фильтрах, в которой Sara Soueidan покажет вам, как использовать feComponentTransfer для создания эффекта двухтонового фильтра. Предлагаемая серия статей "Эффекты фильтрации SVG" Sara Soueidan, внештатного разработчика UI/UX интерфейса и авт...

В Samsung придумали, чем хорош смартфон, обернутый гибким дисплеем Со ссылкой на сайт Let's Go Digital источник рассказал об интересном патенте Samsung, в котором подробно описан смартфон с гибким дисплеем. В отличие от складного смартфона, в данном случае дисплей не сгибается — он облегает один из торцов аппарата. Помимо пр...

Вычисляем символьные выражения с нечеткими треугольными числами в python Привет, Хабр! Сегодня миниатюрный туториал о том, как сделать разбор строки с математическим выражением и вычислить его используя нечеткие треугольные числа. При соответствующих изменениях кода туториал сгодится для работы и с другими «кастомными» переменными. Требования: ...

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

[Из песочницы] Установка OpenCV + CUDA на Windows Введение В данной статье речь пойдет о сборке и установке OpenCV 4 из исходных файлов с дополнительными модулями CUDA 10 на ОС Windows. Я постарался включить сюда все тонкости и нюансы, с которыми можно столкнуться в ходе установки, и про которые не написано в официальном м...

Конструирующий XPath? Алгоритмический XPath? Ничего, кроме XPath Здравствуйте, уважаемые читатели. В этой публикации речь пойдет о немного нестандартных применениях такого хорошо известного формализма как XPath. Все знают, что он очень удобен для извлечения информации из XML- или HTML- или еще каких-нибудь *ML-документов (как простых текс...

Кросс-компиляция в docker. Почему бы и нет? Что такое кросс-компиляция? Какие есть инструменты для сборки бинарных файлов для Windows в Linux? Как настроить docker-контейнер для всего этого? Вот лишь небольшая часть вопросов, которые будут обсуждаться ниже. Читать дальше →

Как я разрабатываю и тестирую API со своим «велосипедом» PieceofScript PieceofScript — простой язык для написания сценариев автоматического тестирования HTTP JSON API. PieceofScript позволяет: описывать методы API в формате YAML, с названием метода на почти естественном языке, что удобно для чтения тестов достаточно гибко описывать модели в...

Разработка команды запроса данных из базы — часть 2 В предыдущей части я остановился на том, что разрабатываемая мной команда реализует поведение, которое можно описать вот таким тестом: it('execute should return promise', () => { request.configure(options); request.execute().then((result) => { expect(result....

[Из песочницы] Использование верилятора как средства быстрого моделирования RTL проектов. Введение в UVM В данной статье будут описаны установка и применение бесплатного ПО для моделирования схем цифровой логики на языке Verilog как альтернативы коммерческих продуктов Incisve от компании Cadense и ModelSim от компании MentorGraphics. Сравнение моделирования в ModelSim и Verilat...

Что делать, если не работает Google Play Music Не работает Play Music? Есть решение! Google Play Music — это замечательная вещь: почти любая песня мгновенно передается на ваше устройство «по воздуху» независимо от того, где вы находитесь. Кроме тех случаев, когда у вас, естественно, нет доступа к сети. Од...

[Из песочницы] Система управления движением корабля «Союз-ТМ» В своих хабах я хочу рассказывать вам о управлении пилотируемыми космическими кораблями. В основном о корабле «Союз» и «Space Shuttle». За 15 лет изучения этих кораблей у меня собралось достаточное количество информации о них, а так же знаний которыми я хочу поделится с вами...

Lost in Harmony 2.2.2 Lost in Harmony — погрузитесь в живое музыкальное путешествие с захватывающей музыкой, написанной известными композиторами, в том числе Wyclef Jean. Пойдите дальше, создайте и поделитесь собственными уровнями с ЛЮБОЙ ПЕСНЕЙ, используя встроенный редактор уровней. ОТК...

DataArt запустил бесплатный сервис улучшения резюме CV Duck Сервис рассчитан, в первую очередь, на разработчиков и тех, кто занимается созданием цифровых продуктов. HR-эксперты и редакторы исправляют ошибки и дают рекомендации, как структурировать резюме, описать профессиональный опыт и навыки. Бета-версия CV Duck доступна пользо...

Синглтон размещающий объекты в ROM и статические переменные(С++ на примере микроконтроллера Cortex M4) В предыдущей статье Где хранятся ваши константы на микроконтроллере CortexM (на примере С++ IAR компилятора), был разобран вопрос о том, как расположить константные объекты в ROM. Теперь же я хочу рассказать, как можно использовать порождающий шаблон одиночка для создания ...

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

T-FLEX CAD 16 - Моделирование в 3D сцене. 3D профили и другие 3D элементы Друзья!В прошлом уроке по работе с T-FLEX CAD 16 мы познакомили вас с особенностью, интерфейсом и настройками программы. Все действия, описанные в уроках, можно выполнять в бесплатной учебной версии.В новом уроке мы разберём основные принципы создания 3D моделей: создание оп...

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

[Перевод] Создание современных облачных приложений с использованием Pulumi и .NET Core Мы рады объявить о поддержке .NET Core для Pulumi! Это объявление означает, что вы можете декларировать облачную инфраструктуру — включая все в Azure, например Kubernetes, Functions, AppService, Виртуальные машины, CosmosDB и другое, — используя ваш любимый язык .NET, включа...

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

DroidScript 1.68 DroidScript — программа поможет легко написать приложения для смартфона или планшета используя javascript. При этом нет необходимости в ПК, просто редактируйте код непосредственно на устройстве. А широкий набор api этому только способствует. Однако есть возможность отладки...

Хватит качать и хранить нули Нуль-блоками я называю блоки(части файла) заполненные нулевыми байтами. Можно заранее посчитать их хеши и не запрашивать эти блоки у источников а сразу помечать их уже загруженными. Нуль-блоки не надо хранить на диске. Благодаря sparse флагу операционная система просто пом...

Как научить машину понимать инвойсы и извлекать из них данные Привет, хабр! Меня зовут Станислав Семенов, я работаю над технологиями извлечения данных из документов в R&D ABBYY. В этой статье я расскажу об основных подходах к обработке полуструктурированных документов (инвойсы, кассовые чеки и т.д.), которые мы использовали совсем ...

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

Преобразование полигональных моделей в граничное представление: алгоритм и примеры кода В большинстве систем проектирования (САПР) основным представлением моделируемого объекта является граничное представление геометрии или B-rep (Boundary representation). Но все чаще пользователям САПР приходится иметь дело с полигональными моделями, например, полученными в ре...

[Перевод] Visual Studio for Mac: 5 новых крутых функций За прошедший год команда Visual Studio for Mac обновила редакторы в среде IDE, чтобы они стали быстрее, плавнее и продуктивнее. Мы сделали это, создав нативный интерфейс редактора macOS на основе того же самого бэкенда редактора, что и Visual Studio в Windows. В версии 8.1 м...

Файловый менеджер WinFile родом из 90-х доступен в Microsoft Store Корпорация Microsoft ранее открыла исходные коды WinFile — Диспетчера файлов Windows, который был создан ещё для версии Windows 3.0. А теперь эта программа появилась в магазине приложений Microsoft Store. Новая «старая» версия получила ряд улучшени...

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

Прошивка Marlin на Anet A8 под Ubuntu     Когда очень любишь свободное программное обеспечение, но не являешься "красноглазым" иногда приходится тяжко разобраться с чем то новым. Большинство гайдов пишется под Windows, а то, что удается найти на Linux, преимущественно на английском языке.     Являюсь обладателем...

Дополнительные программные средства безопасности для NAS Цикл статей назван "Построение защищённого NAS". Поэтому в данной статье будет рассматриваться повышение уровня защищённости. Также, будут описаны и те инструменты, которые я не использовал, но возможно применить. Читать дальше →

Microsoft меняет игровую стратегию и делает большой шаг вперёд В последние пару лет мы наблюдали, как игровая стратегия компании Microsoft делает резкий поворот. От запуска новой консоли Xbox One X вне традиционного цикла релизов до перехода на сервис потоковой трансляции под названием xCloud — всё указывает на то, что игры снова станов...

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

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

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

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

Подводные камни при подключении BIGTREETECH SKR V1.3 к ANET A6 В данном посте я отобразил некоторые манипуляции и проблемы, с которыми столкнулся при подключении платы SKR V1.3 к ANET A6. Возможно кому-то пригодится.1. Нужно поменять пины на местами в колодках на кабелях FAN1, FAN2Кабель FAN1 подключить к разъему FANКабель FAN2 подключ...

Лучший аудио мастер в сети Компания AMS Software является лидером на рынке по производству уникального и качественного программного обеспечения разной направленности. Так одним из её наиболее популярным детищем можно назвать программу АудиоМАСТЕР. Данный софт предназначен для работы с музыкальной прод...

[Из песочницы] Разбор утилиты Files.walkFileTree(); Не найдя нигде толкового описания на русском, что за зверь Files.walkFileTree(), и со скрипом освоив его, как оказалось впоследствии, несложный функционал, решил поделиться в рамках закрепления материалом с примерами, чего мне так не хватало. Метод walkFileTree() позволяет ...

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

Microsoft пропатчила атакуемый RCE-баг в Internet Explorer В рамках ноябрьского «вторника патчей» в скриптовом движке Microsoft закрыта критическая уязвимость, уже используемая в атаках. Проблема, зарегистрированная как CVE-2019-1429, позволяет через порчу памяти выполнить вредоносный код и затрагивает все поддерживаемые в...

В самой глубокой части Индийского океана нашли странное существо The Five Deeps Expedition / YouTube Как передает LiveScience, исследователи засняли странное существо в Зондском желобе — глубочайшей области Индийского океана. Просматривая видео, ученые увидели необычное животное, напоминающее привязанный воздушный шар, и, обратившись...

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

Microsoft начала распространять крупное обновление Windows 10 На прошлой неделе компания Microsoft сделала доступным крупное полугодовое обновление Windows 10 November 2019 Update (версия 1909) для желающих. Теперь же пользователям стали доступны дополнительные варианты.  Ранее желающие обновиться могли вручную проверить нал...

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

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

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

Диздок-десятистраничник — шаблон по книге Скота Роджерса с примером на игру от Pixonic В данной статье я приведу пример составления дизайн-документа для разработки игры в формате десятистраничника. В начале будет приведён общий шаблон документа, предлагаемый Скотом Роджерсом в его книге «Level up. The guid to great video game design» [1]. Затем будет выложен...

[Из песочницы] Еще одно мнение о разнице между bin, sbin, usr/bin, usr/sbin Недавно я обнаружил вот такую статью: Разница между bin, sbin, usr/bin, usr/sbin. Хотелось бы поделиться своим взглядом на стандарт. /bin Содержит команды, которые могут использоваться как системным администратором, так и пользователями, но которые необходимы, когда не смон...

Kotlin Native: следите за файлами Когда вы пишите command line утилиту, последнее, на что вам хочется полагаться, так это на то, что на компьютере где она будет запущена установлен JVM, Ruby или Python. Так же хотелось бы на выходе иметь один бинарный файл, который будет легко запустить. И не возиться слишко...

Пинг HTML5 как инструмент проведения DDoS-атак Специалисты по защите от DDoS из компании Imperva столкнулись с необычной атакой. Ее авторы использовали легитимную опцию HTML5 — команду ping, чтобы заставить браузеры посетителей сайта создавать и направлять на мишени мусорный поток интенсивностью до 7,5 тыс. запросов в се...

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

[Из песочницы] Первое рабочее место или как начать разработку API на Node.js Введение В данной статье хотел бы поделиться своими эмоциями и приобретенными навыками в разработке первого REST API на Node.js с использованием TypeScript, как говорится, с нуля. История достаточно банальная: «Закончил университет, получил диплом. Куда же пойти работать?» К...

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

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

[Перевод] Используйте __main__.py Зачем нужен __init__.py знает, наверное, любой питонист, но что насчёт __main__.py? Я видел немало проектов либо рабочих, либо на Github, которые не используют это магический файл, хотя могли бы сделать свою жизнь проще. На мой взгляд, __main__.py это лучший способ для взаим...

Как исследование блокчейна Namecoin позволило предсказывать кибератаки группировки RTM Блокчейн Namecoin был создан как защищенная от цензуры и принудительного изъятия доменов альтернатива традиционным регистраторам DNS. В последние несколько лет его начали использовать операторы таких ботнетов, как Dimnie, Shifu, RTM и Gandcrab, для управления адресами C&am...

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

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

Язык программирования Ü. Введение, мотивация к созданию, цели Введение С 2016-го года (с перерывами) я разрабатываю собственный язык программирования. Название данного языка — «Ü». Почему Ü? Потому, что хотелось однобуквенного названия, а все буквы из набора A-Z уже заняты. Данная статья имеет задачу ознакомить публику с данным языко...

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

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

[Из песочницы] Кросс-компиляция Scala в Gradle проекте Для Scala проектов довольно распространённым является предоставление бинарных артефактов скомпилированных под несколько версий Scala компилятора. Как правило для целей создания нескольких версий одного артефакта в сообществе принято использовать SBT, где эта возможность есть...

[Перевод] Новости из мира OpenStreetMap № 476 (27.08.2019-02.09.2019) Отдел туризма национального парка Дурмитор в Жабляке, (Черногория), рекомендует использовать OSM 1 | Фото CC0 Картографирование «Камни преткновения» (нем. Stolpersteine) — это маленькие медные таблички, которые установлены в тех местах (по всей Европе), откуда человека за...

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

Пишем под FPGA без HDL. Сравнение высокоуровневых средств разработки В последнее время производители FPGA и сторонние компании активно развивают методы разработки для FPGA, отличающиеся от привычных подходов использованием высокоуровневых средств разработки. Являясь FPGA-разработчиком, в качестве основного инструмента я использую язык описа...

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

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