Социальные сети Рунета
Воскресенье, 24 февраля 2019
24 сентября 2018   12:16

[Перевод] Java для Playstation 2 — возможно ли это?

Введение Этим проектом я хотел ответить на один вопрос: возможно ли написать Java API для Playstation 2 и создать на нём графическое демо. Не хочу раскрывать спойлеры, но ответом будет «да». Несколько лет назад я начал проект Java Grinder, получающий скомпилированные файлы...

Подробности на сайте: habr.com

Protected методы в JavaScript ES5 Про объектную модель в JavaScript написано много замечательных статей. Да и про различные способы создания приватных членов класса в интернете полно достойных описаний. А вот про protected методы — данных очень немного. Я бы хотел восполнить этот пробел и рассказать, как мож...

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

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

Передача данных через анимированные QR на Gomobile и GopherJS В данной статье я хочу рассказать о небольшом и забавном проекте выходного дня по передаче файлов через анимированные QR коды. Проект написан на Go, с использованием Gomobile и Gopherjs – последний для веб-приложения для автоматического замера скорости передачи данных. Если ...

Asana 6.10.3 Asana Mobile  — Эта программа позволит вам создавать групповые проекты и управлять задачами и оставаться с коллегами на связи в любой момент. Создавайте новые проекты и задачи, устанавливайте приоритет, конечные даты выполнения проектов, выполняйте поиск по людям, задачам, п...

OpenSceneGraph: Управление окнами и режимами отображения Введение Мы уже говорили о том, что класс osg::Camera управляет связанным с ним графическим контекстом OpenGL. Графический контекст инкапсулирует информацию о том, как и куда происходит отрисовка объектов и какие атрибуты состояния к ним применяются. Под контекстом понимают...

[Из песочницы] Построение микросервисной архитектуры на Golang и gRPC, часть 1 Введение в микросервисную архитектуру Часть 1 из 10 Это серия из десяти частей, я постараюсь раз в месяц писать про построение микросервисов на Golang. Я буду использовать protobuf и gRPC в качестве основного транспортного протокола. Стек, который я использовал: golang, mon...

Rockstar — язык программирования, программы на котором похожи на песни Британский разработчик Дилан Битти (Dylan Beattie) опубликовал на сайте GitHub спецификации и описание необычного языка программирования Rockstar («рок-звезда»). По словам самого разработчика, полный по Тьюрингу язык с динамическим приведением типов был созд...

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

[Из песочницы] Сниппеты против Клевера – обыгрываем популярнейшую викторину в реальном времени Апрель 2018-го года. Мне было 14. Мы с друзьями играли в тогда очень популярную онлайн-викторину «Клевер» от ВКонтакте. Один из нас (обычно я) всегда был за ноутбуком, чтобы пытаться быстро гуглить вопросы и глазами искать в поисковой выдаче правильный ответ. Но вдруг я поня...

Markdown база знаний (или блог, или документация проекта) Заметил за собой, что постоянно записываю всякие мелочи, полезную информацию, просто что-то из буфера обмена прямо в текстовом редакторе. Всегда где-то на фоне висит открытый Sublime Text с кучей вкладок. И ещё я заметил, что мне удобнее всего структурировать информацию в о...

[Из песочницы] SNMP + Java – невозможное возможно: пишем парсер MIB-файлов SNMP – не самый юзер-френдли протокол: MIB-файлы слишком длинные и запутанные, а OID'ы просто невозможно запомнить. А что если возникла необходимость работать с SNMP на Java? Например, написать автотесты для проверки API SNMP-сервера. Путём проб и ошибок при наличии доволь...

[Из песочницы] Анализ Minor Violations Java кода на платформе Duerank.com (часть 1) Введение Что мы знаем об ошибках в коде приложений, написанных на Java? Ну, мы наверняка знаем, что они там встречаются. А насколько часто встречаются? Как много делает разнообразных ошибок в своём коде разработчик? Под ошибками мы понимаем не только баги, но и наличие раз...

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

Jaxb (XJC) генерация классов из XML Schema (XSD) с описаниями классов и полей в виде аннотаций. XJC плагин Думаю многие Java-разработчики которые хоть раз сталкивались с Web-сервисами, использовали генерацию Java DTO классов по описанию XML Schema (XSD). Jaxb с этим справляется на ура, не важно как его использовать, через xjc или wsimport вызов из командной строки, maven или grad...

[Перевод] Извлекаем уровни из Super Mario Bros с помощью Python Введение Для нового проекта мне понадобилось извлечь данные уровней из классической видеоигры 1985 года Super Mario Bros (SMB). Если конкретнее, то я хотел извлечь фоновую графику каждого уровня игры без интерфейса, подвижных спрайтов и т.п. Разумеется, я просто мог склеит...

[Перевод] Трюки при линковке и загрузке файлов Mach-O Представляю вашему вниманию перевод моей статьи из блога Проекта Darling. Маленькая справка по используемым понятиям: Darwin – операционная система с открытым исходным кодом, лежащая в основе macOS, iOS и других ОС от Apple; Mach-O – бинарный формат исполняемых файлов и библ...

[Перевод] Когда вызовы функций через внешний интерфейс быстрее нативных вызовов C Дополнено: хорошая дискуссия на Hacker News Дэвид Ю на GitHub разработал интересный тест производительности для вызовов функций через разные внешние интерфейсы (Foreign Function Interfaces, FFI). Он создал файл общего объекта (.so) с одной простой функцией C. Затем написа...

Равномерно распределяем точки по сфере в pytorch и tensorflow Этот текст написан для тех, кто интересуется глубоким обучением, кто хочет использовать разные методы библиотек pytorch и tensorflow для минимизации функции многих переменных, кому интересно научиться превращать последовательно выполняющуюся программу в выполняемые с помощью...

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

[Перевод] Пишем собственную виртуальную машину В этом руководстве я расскажу, как написать собственную виртуальную машину (VM), способную запускать программы на ассемблере, такие как 2048 (моего друга) или Roguelike (моя). Если вы умеете программировать, но хотите лучше понять, что происходит внутри компьютера и как рабо...

Microsoft опубликовала исходный код MS-DOS на GitHub Microsoft опубликовала исходный код классической операционной системы MS-DOS на GitHub, упростив доступ к программному обеспечению.MS-DOS от Microsoft занимает видное место в развитии персонального компьютера. Это была ведущая операционная система для x86 в 1980-х и 1990-х г...

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

Асинхронное программирование на примерах: реконструкция методов java.util.concurrent.CompletableFuture Для чего нужна реконструкция, если исходный код этого класса открыт? Хотя бы потому, что там под капотом высокооптимизированный, трудночитаемый код, изучение которго мало что дает в педагогическом плане. Поэтому мы воссоздадим семантику операций по их спецификациям, и напиш...

Sketchware 3.5.1 Sketchware — это интегрированная среда разработки на основе Scratch (IDE) для разработки реальных приложений для Android. Это нормально, если вы ничего не знаете о разработке приложений для Android и Java. Sketchware — это IDE, использующая Scratch, инновационный язык програ...

[Перевод] Что не так с std::visit в современном C++ Сигма-тип и вы Давайте поговорим о простой, но мощной концепции в программировании — сигма-типах. Сигма-тип (тип-сумма, меченное объединение) может содержать значения одного и только одного из нескольких типов. Например, рассмотрим настройки в INI-подобном файле конфигураци...

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

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

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

[Из песочницы] FB2D — 2D framework for Linux Frame Buffer (Rust) Вот решил поведать о библиотеке, которую написал недавно. Возможно кому-то и пригодится. Это 2D framework на языке Rust для рендеринга непосредственно в Linux Frame Buffer /dev/fb0. Задача была — на Raspberry Pi выводить на экран / телевизор простые 2D сцены. Raspberry Pi ра...

Заметки дилетанта, или Сказ о том, как Scala-разработчик ПЛИС конфигурировал Долгое время я мечтал научиться работать с FPGA, присматривался. Потом купил отладочную плату, написал пару hello world-ов и положил плату в ящик, поскольку было непонятно, что с ней делать. Потом пришла идея: а давайте напишем генератор композитного видеосигнала для древне...

[Из песочницы] Связь драйвера и устройства по _HID методу ACPI на примере GPIO контроллера Lynxpoint Постановка задачи В Linux есть стандартный интерфейс для работы с GPIO через sysfs. Документацию на него можно посмотреть тут. Если кратко, то в папке "/sys/class/gpio" есть файлы «export» и «unexport». С помощью записи числа X в файл export можно открыть интерфейс в user s...

[Из песочницы] Как я заменил RxJava на корутины в своем проекте и почему вам вероятно также стоит это сделать Привет, Хабр! Представляю вам перевод статьи автора Paulo Sato на тему использования Kotlin Coroutines вместо RxJava в своих Android проектах. RxJava как базука, большинство приложений не использует и половины её огневой мощи. В статье пойдет речь о том, как заменить её кор...

[Перевод] SMAA: улучшенное субпиксельное морфологическое сглаживание Данная статья основана на журнале Хорхе Хименеса, Хосе Эчеварриа, Тиаго Соуса и Диего Гутьерреса. Их демо реализации SMAA можно посмотреть здесь (файл .exe). На моём GTX 960 2GB оно работает вполне нормально. Старые способы сглаживания (антиалиасинга) Долгие годы стандарт...

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

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

Книга «Блистательный Agile. Гибкое управление проектами с помощью Agile, Scrum и Kanban» Что такое гибкое управление проектами? Нужно ли оно вашему проекту? Будет ли от этого выгода? Хотите разобраться, как работает гибкое управление проектами и воспользоваться этим мощным подходом? Тогда вы выбрали правильную книгу. «Блистательный Agile» — это не очередной...

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

[Перевод] Загрузка ядра Linux. Часть 1 От загрузчика к ядру Если вы читали предыдущие статьи, то знаете о моём новом увлечении низкоуровневым программированием. Я написал несколько статей о программировании на ассемблере для x86_64 Linux и в то же время начал погружаться в исходный код ядра Linux. Мне очень ин...

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

Комментарии в телеграм-канале Знакомство с телеграм-ботами вышло сумбурно — на работе нужно было опередить команду коллег, и, неплохо зная внутренний API, был написан бот за несколько дней (впоследствии доработанный и получивший ru telegram verify badge) По итогам было написано два бота (основной и расс...

Pixelmator Pro получил поддержку Touch Bar, инструменты нарезки и научился редактировать SVG Команда Pixelmator Team позаботилась о своём детище – Pixelmator Pro для Mac, выкатив интересное обновление, расширяющее возможности именитого и перерождённого графического редактора. Чтобы не сваливать всё в кучу во введении, лучше сделаем его коротким и подробнее пробежим...

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

Looking.House — более 150 точек Looking Glass на одном сайте Почти с самого начала существования Поиска VPS на нем был раздел с точками Looking Glass. О нем я написал в январе 2014 года и на тот момент на карте были расположены 23 точки. Функционал был довольно скудный, точки периодически “умирали”, а времени следить за ними не было....

Самый простой способ редактировать PDF на Mac (со скидкой 50 % для читателей AppleInsider.ru) Все мы так или иначе работаем с файлами в формате PDF, а для кого-то это вовсе единственный способ наладить документооборот в компании. Конечно, для всего этого нужна мощная утилита, которая позволит редактировать соответствующие документы. Например, PDFelement Express — у...

СМИ: Сатоши Накамото напишет книгу и ответит на все волнующие сообщество вопросы На сайте nakamotofamilyfoundation.org неизвестный автор опубликовал информацию о появлении будущей книги, раскрывающей личность Сатоши Накамото и тех, кто стоит за созданием биткоина. Об этом пишет Wired. Согласно сообщению, текст написал сам Сатоши Накамото. Автор заявил, ч...

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

Команда PVS-Studio непредвзята при написании статей Наша команда проверяет различные открытые проекты с помощью PVS-Studio и пишет о результатах анализа кода. Время от времени мы сталкиваемся со странными обвинениями в предвзятости. Думаем, что часто это «тролли», и вступать в дискуссии с ними не имеет смысла. С другой сторон...

Splunk. Легкий Troubleshooting работы приложений Как часто вы используете уже созданные надстройки со Splukbase, вместо того, чтобы написать собственные? Всегда ли в них есть то, что вы хотели бы увидеть? Все ли в них работает нормально, даже если устанавливалось точно по инструкции? Сегодня мы поговорим об особенностях ...

[Из песочницы] Как протестировать приложение при взаимодействии с API с помощью SoapUI Многие используют SoapUI для того, чтобы тестировать как сам API, так и приложения, обращающиеся к API. Довольно гибкий инструмент, позволяющий, например, экспортировать swagger файл API и сгенерировать Mock-service на его основе. Не так давно у нас в компании я столкнулся ...

[Из песочницы] Распространение приложения под iOS внутри компании (Enterprise Distribute iOS App in-house) Подготовка и распространение приложения IOS внутри компании весьма непростая задача, особенно когда приложение написано на Windows с использованием Visual studio, а большинство туториалов в интернете описывают исключительно MacOS с использованием Xcode. Однако после часов ср...

[Из песочницы] PHP, YII2 и формирование больших excel-файлов Начало Одна поддерживаемая нашей компанией учетно-отчетная система начала очень быстро разрастаться в количестве хранимых данных. Система написана на PHP с использованием фреймворка Yii2. Изначально отчеты строились через библиотеку PhpSpreadsheet, которая пришла на смену, у...

Создание и интегрирование бота VK в группу через VkBotLongPoll [Python] В этой статье мы создадим бота и интегрируем его в группу VK на Python 3.x Для кого эта статья? Для тех, кто хочет написать простого бота для своего сообщества, умеющего определять команды и выводить соответствующий ответ Основные стадии Для начала создадим бота в ВК, нас...

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

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

Frontend Mix — доклады про Node.js, масштабируемость и нативный веб У вас есть фронтенд. Вы написали сайт, но теперь его просят встроить в ваше нативное приложение. Вы смешиваете их и получаете бесшовный переход. Вы не понимаете, как это произошло, но вам объяснят. У вас есть фронтенд. Вам нужен BFF, и вы выбираете Node.js. Что-то настраивае...

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

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

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

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

[Из песочницы] FadeObjects — Скрываем объекты между камерой и персонажем Как-то раз, потребовалось написать модуль для скрытия объектов между камерой и персонажем, либо между несколькими персонажами для RTS игры. Хочу поделиться для тех, кто начал свой путь в Unreal Engine. Данный туториал, если его можно так назвать, будет с использованием С++...

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

Используем Node.js для работы с очень, очень большими файлами и наборами raw-данных Этот пост — перевод оригинальной статьи Пейдж Нидринхауз, full-stack software engineer. Ее основная специальность — JavaScript, но Пейдж изучает и другие языки и фреймворки. А полученным опытом делится со своими читателями. К слову, статья будет интересна начинающим разра...

[Из песочницы] Быстрый Sin и Cos на встроенном ASM для Delphi Всем привет! Возникла потребность написать быстрое вычисление Sin и Cos. За основу для вычислений взял разложение по ряду Тейлора. Использую в 3D-системах (OpenGL и графическая библиотека своей разработки). К сожалению свести ряд «идеально» для Double не получается, но это ...

«Божественный» код (GOD'S code) «Божественный» код — громкий термин, который может показаться желтым заголовком, но всё же именно о таком коде будет идти речь: из каких частей он состоит и как его писать. Это история о моих стараниях сделать так, чтобы задачи не возвращались с code review с пометкой: «Вс...

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

Вычисление определённых интегралов: базовые алгоритмы В этой публикации описаны простейшие методы вычисления интегралов функций от одной переменной на отрезке, также называемые квадратурными формулами. Обычно эти методы реализованы в стандартных математических библиотеках, таких как GNU Scientific Library для C, SciPy для Pyth...

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

Опрос по функционалу japbox Приветствую!Разрабатываю japbox - устройство для автономной работы LCD(и не только)-принтеров, отдаленно напоминающее wanhao box для D7. В простейшем варианте будет только чистая малинка (возможно апельсинка, если её hdmi потянет 2К, пока не было возможности проверить). Устр...

[Из песочницы] Метеостанция на Arduino от А до Я. Часть 1 Метеостанция на Arduino от А до Я. Часть 1. «Так, давайте сразу договоримся: вы не собираетесь снимать кино для Голливуда. Даже в Стране чудес утверждается не более пяти процентов от всех сценариев, и только один процент идет затем в производство… Таким образом, вместо всег...

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

[Из песочницы] LLTR Часть 0: Автоматическое определение топологии сети и неуправляемые коммутаторы. Миссия невыполнима? Как построить топологию сети на канальном уровне, если в нужной подсети используются только неуправляемые свитчи? В статье я постараюсь ответить на этот вопрос. Начну с причины возникновения LLTR (Link Layer Topology Reveal). У меня был один “велосипед” - синхронизат...

[Из песочницы] Подписываемся на Kafka по HTTP или как упростить себе Веб-хуки Существует множество способов обработки сообщений из Pub-Sub систем: использование отдельного сервиса, выделение изолированного процесса, оркестрация пулом процессов/потоков, сложные IPC, Poll-over-Http и многие другие. Сегодня я хочу рассказать о том, как использовать Pub-S...

Ещё один dsl на Kotlin или как я печатал PDF из react Нельзя просто взять и распечатать страницу написанную на React: есть разделители страниц, поля для ввода. Кроме того, хочется один раз написать рендеринг, чтобы он генерил как ReactDom, так и обычный HTML, который можно сконвертить в PDF. Самое сложное, что у React свой d...

[Перевод] Что на самом деле делала программа Ады Лавлейс? Эпизод с основанием Microsoft – один из наиболее известных в компьютерной истории. В 1975 году Пол Аллен вылетел в Альбукерк, чтобы продемонстрировать интерпретатор BASIC, которые они с Биллом Гейтсом написали для микрокомпьютера Altair. Поскольку у них не было работающего...

История тестирования проекта «К»: Kotlin&Spek Привет, Хабр! В этой статье мы поговорим об автоматическом тестировании на одном из многочисленных проектов QIWI, получившим кодовое название «К». Когда мы организовывали тестирование это проекта, то решили выбрать практичный и хайповый Kotlin, а также Spek, гласящий «В...

[Перевод] Пакетный менеджер для Kubernetes — Helm: прошлое, настоящее, будущее Прим. перев.: Этой статьёй мы открываем цикл публикаций про пакетный менеджер для Kubernetes, который активно используем в повседневной работе, — Helm. Оригинальным автором материала является Matt Butcher — один из основателей проекта Helm, работающий над Open Source-проекта...

ASH Viewer: перезагрузка Что делать, если надо работать с данными, которые по объему еще не Big data, но уже больше того, что умещается в памяти компьютера и для которых достаточно возможностей Excel? Для любителей велосипедостроения ответ очевиден – нужно писать что-то свое (да, мы не ищем легких п...

[Перевод] Создание эмулятора аркадного автомата. Часть 2 Первая часть здесь. Дизассемблер процессора 8080 Знакомство Нам понадобится информация об опкодах и соответствующих им командах. Когда вы будете искать информацию в Интернете, то заметите, что есть много перемешанных сведений о 8080 и Z80. Процессор Z80 был последователем ...

MW share2save 1.00.07 MW share2save — это небольшая программа, которая сохраняет полученный текст в файл (в папке Загрузки телефона) через кнопку Поделиться (share). Без рекламы. Пригодится тем, кто хочет собрать выбранные фрагменты текста в отдельный файл в несколько нажатий. Напр...

Книга «Apache Kafka. Потоковая обработка и анализ данных» При работе любого enterprise-приложения образуются данные: это файлы логов, метрики, информация об активности пользователей, исходящие сообщения и т. п. Правильные манипуляции над всеми этими данными не менее важны, чем сами данные. Если вы — архитектор, разработчик или выпу...

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

[Перевод] Учебный курс по React, часть 3: файлы компонентов, структура проектов В этом материале мы поговорим о файлах компонентов и о структуре React-проектов. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: файлы компонентов, структура проектов Занятие 8. Файлы компонентов, структу...

Книга «Python. Экспресс-курс. 3-е изд.» Привет, Хаброжители! Эта книга предназначена для людей, которые уже обладают опытом работы на одном или нескольких языках программирования и хотят по возможности быстро и просто изучить основы Python 3. Предполагается, что читатель уже знаком с управляющими конструкциями, О...

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

Reuters: Россия повысит штрафы для интернет-компаний до 1% годовой выручки Как известно, некоторые западные интернет-компании, в том числе Facebook, не торопятся переносить свои сервера в Россию и выполнять требования российского законодательства по локализации персональных данных. Мессенджеры как Telegram и поисковые системы вроде Google тоже не в...

iPad, как компьютер или горячие клавиши для внешней клавиатуры в приложении Файлы Приложение «Файлы» играет в iOS играет ту же роль, что Finder в Mac. С его помощью можно осуществлять браузинг файлов в iCloud Drive наряду с файлами и папками в Dropbox и других программах, поддерживающих iOS. В iOS 11 купертиновцы добавили в приложение поддержку «горячих» ...

[Из песочницы] История одной игры или 4х стратегия, которая началась 20 лет назад и жива до сих пор В этой статье хочу рассказать об игре которая была создана в 1998 году и через 16 лет получила своё развитие, была издана и успешно продавалась. Примечательно тут то, что игра была написана одним человеком. Речь о Remember Tomorrow (Polaris Sector). Читать дальше →

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

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

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

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

Введение в Data classes Одна из новых возможностей, появившихся в Python 3.7 — классы данных (Data classes). Они призваны автоматизировать генерацию кода классов, которые используются для хранения данных. Не смотря на то, что они используют другие механизмы работы, их можно сравнить с "изменяемыми ...

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

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

[Перевод] Как использовать HDF5-файлы в Python Всем привет! Приближается запуск курса «Web-разработчик на Python», соответственно, мы всё так же делимся интересными статьями и приглашаем на наши открытые уроки, где можно посмотреть интересный материал, познакомиться с преподавателями и позадавать им вопросы. Поехали! ...

[Из песочницы] Работа Xamarin c SDK, написанном на C Не так давно у меня был интересный проект на Xamarin Forms для нескольких платформ: Android iOS UWP MacOS Нам было необходимо создать библиотеку, которая смогла бы подключаться к нескольким нашим проектам: Xamarin.Forms, Android на Java, Cordova, а также позволять сторонн...

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

Компьютеры Apple поразил опасный вирус. Виноват Windows Для этого они замаскировали троян под установщик довольно популярного среди пользователей MacOS файрвола Little Snitch. Внутри обыкновенного на вид файла для установки находится среда исполнения Windows-совместимых файлов Mono, а также вредоносный код, выполняемый в этом кон...

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

Обновляем Angular до 6-ой версии в проекте без использования CLI В этой статье я расскажу о тернистом пути обновления Angular с кастомным Webpack конфигом, который нашей команде пришлось пройти неделю назад. Возможно, наш опыт будет полезен тем, кто использует Angular со своим Webpack конфигом, а остальным — интересен как иллюстрация того...

[Перевод] Сколько объектов выделяет Python, выполняя скрипты? Некоторые Python программисты сильно удивляются, когда узнают сколько временных объектов интерпретатор питона выделяет во время работы простого скрипта. CPython позволяет получить статистику по выделяемым объектам, для этого его нужно скомпилировать с дополнительными флага...

Как сделать слайд-шоу из фотографий Фотофильм по мотивам пикника с друзьями, путешествия в город мечты или встречи Нового года в кругу семьи – отличный подарок для близких. В программе Movavi СлайдШОУ вы создадите неповторимые видеоролики. Узнайте подробнее, как сделать слайд-шоу из фотографий: https://www.mov...

Новый загрузчик Buhtrap Сегодня мы расскажем вам о новом подходе к рассылке ВПО группировкой Buhtrap. Модуль загрузчика 19 декабря нам стало известно о вредоносной рассылке, содержащей исполняемый файл (md5: faf833a1456e1bb85117d95c23892368). Файл принимал различные названия: «Сверка за декабрь....

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

Зацените, на 70% готовый турбореактивный ховерборд Этот пост меня заставил написать Паша zhovner и рассказать, зачем я строю джетпак, как это выглядит изнутри и на каком этапе находится проект Jethackers. Зачем все это нужно В 2014 году я узнал про Ива Росси и написал статью на Хабр. Тогда мне казалось, что это под силу т...

Хакеры неожиданно нашли в Adobe Reader и Windows брешь «нулевого дня» Кибервзломщики показали уязвимость совершенно случайно после того, как загрузили зараженный вирусом PDF-файл в сервис для анализа вредоносных ПО. Оказалось, что брешь 0-day была замечена в Adobe и Microsoft. Об этом рассказали специалисты из ESET. Исследователь Антон Черепа...

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

[Из песочницы] Подключение файла подкачки (SWAP) в MAC OS X при использовании внешнего SSD-диска в качестве системного Доброго времени суток, дорогие товарищи! Очень короткое сообщение хочу оставить здесь, для того, чтобы люди, которые имеют проблему, сходную с моей, не тратили слишком много времени на ее решение. Как-то раз, мне пришлось призадуматься над одной небольшой задачкой. Есть ко...

Чарльз Наттер. Как перенести древний монолитный проект на JRuby и стоит ли это делать? Через пару дней в Москве пройдет конференция RubyRussia. Наш гость Чарльз Наттер (работает над JRuby и JVM поддержкой в Red Hat) ответил на пару вопросов. Как вы попали в мир программирования и Ruby? В 2004 году я работал по контракту в правительственной фирме в качеств...

Зачем айтишнику «знать, чем живут другие»? Среди разработчиков регулярно всплывает вопрос о непрофильных знаниях: стоит ли тратить время, разбираясь в том, что не используешь ежедневно? Порой в связи с высшим образованием: «действительно ли надо давать теоретические основы в таком объёме, или больше пригодилось бы ...

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

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

Свободные библиотеки для создания и редактирования файлов PDF Неделю назад состоялся релиз свободной библиотеки для генерации pdf-файлов версии OpenPDF 1.1.0, самый значительной апгрейд этой библиотеки за последнее время. OpenPDF — это Java-библиотека для создания и редактирования файлов PDF, которая распространяется под двойной лицен...

Как добавить в Dock папку с недавно открытыми файлами Один из самых быстрых способов добраться до недавно запускавшихся на вашем Mac файлов и приложений – это создать специальную папку для них и закрепить её в Dock для мгновенного доступа. Но как это сделать? Для начала нам потребуется открыть Finder и создать смарт-папку одним...

LibreOffice: страшный сон бухгалтера LibreOffice — мощный офисный пакет, который бесплатен для частного, образовательного и коммерческого использования. Его разработчики делают замечательный продукт, который во многих сферах используется в качестве альтернативы Microsoft Office. Команде PVS-Studio всегда интер...

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

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

Generics + Spring: Да прибудет с вами сила Однажды в одном далёком, далёком банке ... Доброго времени суток, хабр. Сегодня наконец-то вновь дошли руки написать сюда. Но в отличие от предыдущих туториалов — статей сегодня хотелось бы поделиться своим опытом и показать мощь такого механизма как дженерики, который вмест...

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

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

[Перевод] Оптимизация рендеринга сцены из диснеевского мультфильма «Моана». Часть 3 Сегодня мы рассмотрим ещё два места, в которых pbrt тратит много времени при парсинге сцены из диснеевского мультфильма «Моана». Посмотрим, удастся ли и здесь улучшить производительность. На этом мы закончим с тем, что разумно делать в pbrt-v3. Ещё в одном посте я буду разб...

Webpack 4 и разделение конфигурационного файла на модули Привет, Хабр! Сегодня я расскажу вам о Webpack 4 с разделением кода на отдельные модули, а также о интересных решениях, которые помогут вам быстрее собрать сборку на webpack 4. В конце, я предоставлю свою базовую сборку на webpack c самыми необходимыми инструментами, которую...

[Перевод] Как собрать досовский COM-файл компилятором GCC Статья опубликована 9 декабря 2014 года Обновление от 2018 года: RenéRebe сделал на базе этой статьи интересное видео (часть 2) В минувшие выходные я участвовал в Ludum Dare #31. Но даже до объявления тем конференции из-за своего недавнего увлечения я хотел сделать олдскул...

Altium Designer: что делать если проект стал сложным? Приветствую! Думаю, любой инженер или просто радиолюбитель/DIYщик/мейкер, занимающийся разработкой электроники, старается развивать свои навыки, которые растут вместе со сложностью выполняемых проектов. В какой-то момент человек достигает уровня, когда ему кажется, что проек...

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

Похититель информации Vidar – форк Arkei? Независимый исследователь, известный твиттерянам как @fumik0, поделился результатами анализа новой вредоносной программы с претенциозным названием Vidar (в скандинавской мифологии бог мщения). Как оказалось, по коду она схожа с Windows-трояном Arkei, предназначенным для краж...

Cogear.JS – современный генератор статических сайтов Привет, Хабр! Хочу представить вниманию хабровчан генератор статических сайтов с открытым исходным кодом, написанный на Node.JS, в основе которого лежит Webpack. Проект вдохновлён тем же Jekyll, но в основе своей использует современный технологический стек. Например, предост...

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

[Из песочницы] TypeScript: Десериализация JSON в классы с валидацией типов у свойств Привет, Хабр! Хочу поделиться с вами своей библиотекой для десериализации объектов JSON в классы, которая еще и автоматически валидирует по типам входные данные. Не так давно в JavaScript появилась такая замечательная вещь как классы, которая значительно упростила процесс н...

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

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

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

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

ES Проводник 4.1.8.2.2 EStrongs File Explorer — бесплатный файловый менеджер Возможности: копировать, перемещать, удалять файлы выводить превью использовать мультивыбор файлов редактировать текстовые файлы искать файлы разархивировать zip-архивы управлять файлами на FTP получать доступ к ф...

Perl 5: как в макросах ошибки прятались Для пополнения списка языков программирования с открытым исходным кодом, которые были проверены с помощью статического анализатора кода PVS-Studio, был выбран Perl 5. Эта статья о найденных ошибках и трудностях просмотра результатов анализа. Количество макросов в коде столь...

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

Получаем разницу между бинарными файлами при помощи vcdiff Понадобилось мне это для того чтобы понять в каком месте и как файл JPEG испорчен в процессе передачи. VCDIFF — формат и алгоритм для дельта кодирования. Описан в RFC 3284. Дельта-кодирование (англ. Delta encoding) — способ представления данных в виде разницы (дельты) между...

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

Разбор архитектуры VIPER на примере небольшого iOS приложения на Swift 4 «У каждого свой VIPER». Автор неизвестен В данной статье я хотел бы рассмотреть архитектуру VIPER на небольшом конкретном примере, который в того же время показывал всю мощь этой архитектуры и был написан на последнем Swift 4. Для тех, кто хочет сразу глянуть код, не читая в...

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

Как работает stack trace на ARM Добрый день! Несколько дней назад столкнулся с небольшой проблемой в нашем проекте — в обработчике прерывания gdb неправильно выводил stack trace для Cortex-M. Поэтому в очередной раз полез выяснять, а какими способами можно получать stack trace для ARM? Какие флаги компиляц...

Как избавиться от ошибок с таблицами Active Object при восстановлении Jira из бэкапа В этой статье поговорим о том, как избавиться от ошибок с таблицами Active Objects при восстановлении Jira из бэкапа и напишем плагин для удаления ненужных таблиц Active Objects из архивного файла бэкапа. Читать дальше →

[Из песочницы] Система автоматического документирования REST-API в Laravel проектах Преамбула Для того, чтоб описать и задокументировать правила клиент-серверного взаимодействия используя Rest-api можно выделить три основных метода: Описывать своим коллегам правила обращения к серверу на пальцах Этот метод быстр и не требует долгосрочной поддержки, но высо...

[Из песочницы] MVIDroid: обзор новой библиотеки MVI (Model-View-Intent) Всем привет! В этой статье я хочу рассказать о новой библиотеке, которая привносит шаблон проектирования MVI в Android. Эта библиотека называется MVIDroid, написана 100% на языке Kotlin, легковесная и использует RxJava 2.x. Автор библиотеки лично я, исходный код её доступен ...

[Перевод] Создание карты пути пользователя для чайников Всем привет! Продолжаем наши эксперименты с не совсем программерскими курсами и теперь на очереди в запуск «Проектирование UX/UI» и вот интересный материал, которым мы бы хотели поделиться с вами. Поехали Что такое Карта Пути Пользователя? Карта пути пользователя (или ин...

[Перевод] Как обновление Rust 1.26 ускорило мой код в три с лишним раза Хочу поделиться небольшой историей о мощи LLVM и преимуществах языков высокого уровня над ассемблером. Я работаю в компании Parity Technologies, которая поддерживает клиент Parity Ethereum. В этом клиенте нам нужна быстрая 256-битная арифметика, которую приходится эмулирова...

Упарываемся по максимуму: от ORM до анализа байткода Как известно, настоящий программист в своей жизни должен сделать 3 вещи: создать свой язык программирования, написать свою операционную систему и сделать свой ORM. И если язык я написал уже давно (возможно, расскажу как-нибудь в другой раз), а ОС еще ждет впереди, то про ORM...

Новые GSM шлюзы от OpenVox Asterisk — потрясающий конструктор. Хотите построить небольшую АТС для бизнеса? Берем Raspberry PI, накатываем готовый образ на флешку, 10 минут, и вы уже вбиваете логин с паролем на ваш SIP телефон и делаете первый звонок. Хотите нечто большее? Ставим бесплатный и навороч...

[Перевод] Как работает Zig? От переводчика: этот пост был опубликован в блоге автора 15 марта 2018 года. Так как язык развивается, в настоящее время его синтаксис может отличаться. Всё описанное относится к Zig 0.2.0, текущая версия языка — Zig 0.3.0. Я связался с автором поста, и он любезно предостави...

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

Лечение «механического» Scrum. Часть 1. Работа PO Я больше 10 лет работаю с / в / для agile в сфере web-разработки. Из них больше всего пришлось иметь дело с самым популярным agile фреймворком — scrum (по данным VersionOne). Хочу поделиться с вами накопленными наблюдениями и выводами. Начну с метафоры, так как иногда прихо...

[Перевод] Глубокое погружение в папку .idea в Android Studio Как и для многих разработчиков, папка .idea в Android Studio для меня всегда была, как черный ящик: я знал, что она существует, я знал, что её всегда добавляют в .gitignore, но я решил узнать, для чего же там нужны те или иные файлы и папки, чтобы у меня была возможность об...

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

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

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

Успейте принять участие в бета-тесте мультиплеерного шутера Pico Tanks 2 года разработчик Panda Arcade работал над игрой своей мечты — Pico Tanks. Он хотел создать командный мультиплеерный шутер для мобильных, в который было бы легко начать играть новичкам, но который содержал бы глубину, интересную для опытных геймеров. Авторы приближаются к ...

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

[recovery mode] Еще один способ использования docker-compose По следам статьи Docker + Laravel = ? хочу рассказать о довольно необычном способе использования утилиты docker-compose. Для начала, для тех кто не знает, зачем нужен docker-compose. Это утилита, которая позволяет запускать на отдельном хосте набор связанных сервисов, запако...

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

Как построить пирамиду в багажнике или Test-Driven Development приложений на Spring Boot Spring Framework часто приводят как пример Cloud Native фреймворка, созданного для работы в облаке, разработки Twelve-Factor приложений, микросервисов, и одного из самых стабильных, но в то же время инновационных продуктов. Но в этой статье я бы хотел остановиться на еще одн...

TelegramBot в облаке Wolfram Введение Прошел тот период, когда каждая вторая статья на Habrahabr была посвящена написанию своего телеграмм-бота. Также прошел период времени, когда бота без трудностей можно было разместить на своем компьютере или хостинге в России. Еще полгода назад мой бот запускался пр...

[Из песочницы] Кротовые норы в JavaScript Привет, Хабр! Представляю вашему вниманию перевод статьи "Wormholes in JavaScript" автора Mathius Buus. Компьютеры — интересные машины. В теории они представляются нам идеальными механическими математиками работающими с цифрами и хорошо выполняющими операции сложе...

Выбор языка программирования: 3 совета от программиста из Apple От переводчика: эта статья — перевод материала, написанного программистом Аластером Парагасом (Alastair Paragas) из Apple.Он работал с такими языками программирования, как Javascript, Python, PHP, Java, Scala, Haskell, Swift и Rust. Аластер делится собственными размышлени...

Chrome 67.0.3396.87 Chrome – это удобный, быстрый и безопасный браузер. Он создан специально для Android. В Chrome вам доступны персонализированные новости, быстрый переход на любимые сайты, скачивание контента, а также встроенные Google Поиск и Google Переводчик.  Расходуйте меньше времени и...

Фантастические тимлиды и где они обитают Всем привет! Меня зовут Анатолий Панов, я работаю в ИТ уже больше 15 лет. За это время прошел путь от разработчика до руководителя тимлидов. Работал в таких компаниях как Badoo, Lazada. С начала этого года я в Авито. Руковожу разработкой новых проектов и разработкой для верт...

«Цель была проста — побить сами знаете кого»: автор Sonic the Hedgehog о создании игры Создатель Sonic the Hedgehog Юдзи Нака (Yuji Naka) в одном из интервью рассказал, как вообще было принято решение выпустить игру про синего ежа. Всё оказалось донельзя просто — Sega нужно было кого-то противопоставить Марио. Юдзи Нака объяснил, что в действите...

Фишки Календаря macOS, или как на Mac планировать запуск файлов или программ в нужный момент Когда вы собираетесь на деловую встречу, будь то онлайн-конференция, совещание по телефону или личная встреча, вам наверняка понадобится как минимум один документ. Для того чтобы его точно не забыть, добавьте нужный файл в «Календарь» на вашем Mac. Тем не менее, если не уста...

Re-ARM 32 bit. Установка Marlin 2.0 Давно хотелось поставить 32 битную плату управления принтером.Так как сейчас моя плата управления представляет собой стандартный бутерброд Mega+Ramps и свободное место для установки платы большего размера практически отсутствует, то первоначально рассматривался вариант замен...

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

XSS-уязвимость в Evernote позволяла читать файлы и выполнять произвольные команды В Evernote для Windows исправили уязвимость, допускавшую проведение stored XSS атак.

Nginx-переменные с njs: просто, безболезненно и через JavaScript njs — это JavaScript-интерпретатор в легковесном веб-сервере, с помощью которого можно создавать новые nginx-переменные и обработчики стадий запроса. Чем njs хорош? Чего не умеет? И зачем вообще его сделали? На эти и другие вопросы ответит Дмитрий Волынцев (xeioex), разработ...

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

Секретность Death Stranding обусловлена «эпохой легкодоступных ответов» С момента анонса Death Stranding прошло несколько лет. С момента демонстрации первых реальных кадров проекта — пару недель. Это игра от создателя Metal Gear, Хидео Кодзимы (Hideo Kojima). И кроме того, что в ней участвует несколько актёров высокого класса, мы ...

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

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

3D-напечатанный светодиодный цветок Хотите найти практичное применение своему принтеру для трехмерной печати? Создатель контента Autodesk и Instructables Бекки Стерн делится проектом о том, как сделать интересные светодиодные светильники в виде цветов. Что и как печатать? Технология FDM 3D-печати открыла новы...

Apache Kafka + Spring Boot: Hello, microservices Привет, Хабр! В этом посте мы напишем приложение на Spring Boot 2 с использованием Apache Kafka под Linux, от установки JRE до работающего микросервисного приложения. Коллеги из отдела фронтэнд-разработки, увидевшие статью, сетуют на то, что я не объясняю, что такое Apache ...

Как сделать невидимую папку в Windows? Если вы хотите спрятать определенные файлы в Windows от посторонних глаз, вы можете поместить их в надежно скрытую папку. Расскажем одну хитрость, позволяющую создать невидимую папку на всех актуальных версиях Windows.

Суд запретил свободное распространение оружейных CAD-файлов, поэтому создатель начал продавать их Файлы для печати винтовки AR-15 с сайта Defense Distributed. Флэш-накопители с файлами продаются по свободной цене, которую устанавливает сам покупатель Активист за свободу 3D-печати Коди Уилсон из компании Defense Distributed нашёл оригинальный выход из положения, в котор...

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

Xiaomi открыла академию Poco GDV для создания мобильных игр. Компания намекает на то, что в будущем выпустит свой PUBG Похоже, Xiaomi решила серьёзнее взяться за сегмент мобильных игр. Несколько дней назад мы узнали, что к концу года ожидается анонс ещё одного игрового смартфона Xiaomi Play, а теперь стало известно о создании компанией специальной академии для разработки игр. Проект на...

Прошивка марлин и диодный лазер, некоторые тонкости. Лазер и Марлин, некоторые тонкости.Сделал резак на основе синего диодного лазера 5.5 вт с TTL модуляцией, и механики описанной  https://mysku.ru/blog/aliexpress/40000.html. Прошивка компилировалась и загружалась через:1) arduino-1.0.5r; 2) arduino-1.7.7; 3) arduino-1.8....

Веб-аналитика для бизнеса Вы вкладываете в маркетинг деньги. И наверняка хотите знать сколько клиентов приходит и сколько стоит один приведенный клиент. Лучше SEO или Facebook? А может разместить баннер на сайте Х за 1000 грн в месяц? Или лучше отключить банерную рекламу, от нее все-равно толку мало…...

Изучаем сопромат с CalculiX Сдал сопромат — можно жениться! Введение Метод конечных элементов (МКЭ или FEM, у них за рубежом) прочно вошел в практику инженерных расчетов при проектировании сложных систем. В значительной степени это касается прочностных расчетов механики. Применения этого метода, реали...

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

[Из песочницы] Получаем данные enum в проекции Automapper Немного ликбеза Я очень люблю Automapper, особенно его QueryableExtensions и метод ProjectTo<>. Если вкратце, то данный метод позволяет делать проекцию типов прямо в SQL-запросе. Это позволяло получать dto фактически из базы данных. Т.е. не нужно получать две entity из...

Automator: Как объединить несколько изображений в один файл на macOS? Продолжаем осваивать возможности Automator. На примере этой статьи мы расскажем, как можно добавить все свои изображения или отсканированные документы в файл PDF. Автоматизировав эту операцию, можно значительно сэкономить свое время. Открываем программу «Automator» любым...

RN FAQ #16. Прокси, скрэтч-диски и Premiere Pro (на примере Transcend) После того, как  я эксперимента ради пересел со старой зеркалки на Huawei P20 и начал снимать ею обзоры, я заметил, что моя система, справляющаяся с FullHD-видео вполне неплохо, на 4К давится как угорелая. На помощь пришли компания Transcend с с накопителем MTE850, а также т...

Windows 95 можно установить как приложение на современный ПК Windows 95 уже давно используется в качестве своеобразного вызова разработчикам. Её запускали на самых разных современных устройствах и платформах, от смарт-часов Apple Watch и Android Wear до игровой приставки Xbox One.  Феликс Райзенберг (Felix Rieseberg), участ...

Xiaomi открыла академию Poco GDV для создания мобильных игр. Компания намекает на то, что в будущем выпустит свой PUBG Похоже, Xiaomi решила серьёзнее взяться за сегмент мобильных игр. Несколько дней назад мы узнали, что к концу года ожидается анонс ещё одного игрового смартфона Xiaomi Play, а теперь стало известно о создании компанией специальной академии для разработки игр. Проект наз...

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

Книга «Как устроен Python. Гид для разработчиков, программистов и интересующихся» Привет Хаброжители! У нас недавно вышла новая книга про «Python». Предлагаем сразу ознакомится с ознакомительным материалом. Отрывок. 7.4. Использование IDLE Так как IDLE включает REPL, вы можете ввести приведенный код и проанализировать его прямо в REPL. Однако вы также м...

ИИ. Тактический Обходчик Барьеров Данный рассказ был написан мной в 2015 году, это не кросспостинг (не было публикации нигде). Текст не большой и простой — так как старался писать для школьного продвинутого уровня (племянник оценил, хотя все начиналось с его вопросов — «что такое файл readme» и «кто такие ха...

Windows 10 удаляет файлы Microsoft выпустила 2-го октября обновление Windows 10 October 2018 Update. И по началу все было довольно неплохо. Ошибки не критические в основном у пользователей, но вот на днях пользователи стали просто атаковать Реддит, Твиттер и различные форумы, и проблема была одна – ...

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

Готовим тестовое окружение, или сколько тестовых инстансов вам нужно Сколько в вашем проекте тестовых стендов — 5, 10 или больше 10? Навскидку, нужны стенды для каждой команды разработки, стенды для QA под каждый проект, менеджерам проектов тоже нужны стенды, а еще CI — трудно это все точно разграничить и не вызвать конфликтные ситуации. Одни...

[Из песочницы] Как превратить федеральный проект в сайт-визитку? Почти подробная инструкция Когда заказчик впервые обозначил идею своего проекта — Роснацздрав, она показалась очень интересной. Собственно, так оно и было. Только представьте, федеральная ассоциация, которая объединит в себе медицинские организации со всей России, позволит простым пациентам из любой ...

Поиск в MapKit: Tips & Tricks MapKit — это программная библиотека, которая позволяет использовать картографические данные и технологии Яндекса в мобильных приложениях. У неё есть официальная документация, которая уже содержит подробное описание методов API, поэтому сегодня мы поговорим о другом. В этом...

[Перевод] Создание GIF-анимации с помощью OpenCV Из этого туториала вы узнаете, как создавать анимированные GIF-файлы с помощью OpenCV, Python и ImageMagick. Затем объедините эти методы, чтобы создать генератор мемов с OpenCV! Нам всем нужно время от времени посмеяться. И, возможно, лучший способ найти лулзы — это мемы....

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

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

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

[Перевод] Как работают библиотеки виртуального окружения Вы когда-нибудь задумывались о том, как работают библиотеки виртуального окружения в Python? В этой статье я предлагаю ознакомится с главной концепцией, которую используют все библиотеки для окружений, такие как virtualenv, virtualenvwrapper, conda, pipenv. Изначально, в Py...

[Перевод] Python 3 в Facebook Всем привет! Запустили юбилейный пятый поток курса «Разработчик Python». Перед стартом каждого потока часто спрашивают какую версию мы используем в обучении (вообще обе и не только, как бы это странно не звучало, учитывая как называется курс, Python) и разные нюансы миграци...

Настройка окружения в Docker для yii-framework приложения Для того чтобы быстро поднять рабочее окружение существует много способов. Один из них — поднять все необходимые сервисы в Docker-контейнерах. Чтобы ускорить создание новых проектов на Yii-framework я написал такую небольшую инструкцию, которую используют разработчики в наше...

Создаём голосовое приложение на примере Google Assistant Каждый пятый житель США владеет умной колонкой, а это 47 000 000 человек. Помощник может создать напоминание, список дел, будильник, таймер, прочитать новости, включить музыку, подкаст, заказать доставку, купить билеты в кино и вызвать такси. Все это «навыки» или «skills» по...

Как мы убили себя в один клик, размещая сайт и биллинг на геокластере или ещё раз поговорим об избыточности Да, я тоже бываю дебилом. Но такого я от себя не ожидал. Вроде бы «не первый год замужем». Вроде бы читал кучу умных статей об отказоустойчивости, избыточности и т.п., что-то разумное когда-то написал даже сам тут. Свыше 10 лет являюсь CEO хостинг-провайдера работающего под ...

[Перевод] Создание игры для Game Boy, часть 2 Несколько недель назад я решила поработать над игрой для Game Boy, создание которой доставило мне большое удовольствие. Её рабочее название «Aqua and Ashes». Игра имеет открытые исходники и выложена на GitHub. Предыдущая часть статьи находится здесь. Фантастические спрайты...

[Из песочницы] Реализация алгоритма k-means (k-средних) на примере работы с пикселями Всем привет! Недавно нужно было написать код для реализации сегментации изображения с помощью метода k – средних (англ. k-means). Ну, первым делом Google в помощь. Нашел много информации, как и с математической точки зрения (всякие там сложные математические каракули, хрен п...

Киберпреступники научились прятать вирусы в мемах Маскировать вирусные программы под обычные файлы преступники научились уже довольно давно. У неподготовленного пользователя обычный mp3 файл, картинка в jpeg или текстовый документ формата doc не вызовет никаких подозрений. Иногда он даже откроется и выполнит свою прямую фу...

Boss Сlicker 4.5.7 Boss Clicker — это увлекательный кликер с элементами РПГ, в котором тебе нужно закликать всех, кто станет у тебя на пути. Думаешь они так просто дадут себя в обиду и отдадут сундук с сокровищем? Ну уж нет! Они будут делать все, что бы тебя остановить. Вызывать ужасные к...

[Перевод] Почему люди не используют формальные методы? На Software Engineering Stack Exchange я увидел такой вопрос: «Что мешает широкому внедрению формальных методов?» Вопрос был закрыт как предвзятый, а большинство ответов представляли собой комментарии типа «Слишком дорого!!!» или «Сайт — это не самолёт!!!» В каком-то смысле ...

[Из песочницы] Google Code-in 2017 Для начала расскажу что такое Google Code-in для тех, кто не знает — это онлайн конкурс для школьников 13-17 лет, который нацелен на то, чтобы познакомить их с миром Open Source, предоставляя возможность поработать с организациями разрабатывающими открытое ПО. Я принял учас...

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

[Перевод] Учебный курс по React, часть 13: компоненты, основанные на классах Сегодня мы публикуем перевод очередного занятия учебного курса по React. Оно посвящено компонентам, основанным на классах. Такие компоненты создают с использованием ключевого слова class. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функци...

Google делает Gboard ещё умнее. Как пользователям поможет искусственный интеллект? В конце октября сотрудники выпустили обновление Gboard. Апдейт порадовал новым набором мини-стикеров под названием «Emoji». Приложение внимательно изучало лицо владельца и изменяло стоковые эмодзи Android в соответствии с его внешностью. Получилось забавно — система даже уч...

Как запустить iOS-приложение через React Native Это перевод оригинальной статьи программистки, ведущей блог под псевдонимом Soujanya PS. Она профессионал своего дела и любит не только разрабатывать приложения и сервисы, но и писать об этом статьи. Вот ее обзор запуска iOS-приложения с использованием фреймворка React N...

OAuth Authorization Provider для asp net core Начал изучать asp.net core и первое что пытался найти это некое подобие «OAuthAuthorizationServerProvider» для реализации генерации тикета и «IAuthenticationTokenProvider» для реализаций рефреш токена как в обычном asp.net, но не нашел. Не исключено, что плохо искал, и может...

Еще раз о passport.js Недавно мне передали на поддержку проект на express.js. При изучении кода проекта я обнаружил немного запутанную работу с аутентификацией/авторизацией которая базировалась, как и 99,999% случаев, на библиотеке passport.js. Этот код работал и следуя принципу «работет — не тро...

OutOfMemoryError: поймай, если сможешь Всем привет! Сегдня хотел бы поделиться опытом обратоки ошибки ООМ. Эту статью меня побудила написать проблема, с которой я столкнулся. И которая, как позже выяснилось, долгое время оставалсь незамеченой. Меня заинтересовал этот вопрос, так что я решил изучить его немного г...

Подключение дисплея MKS-TFT к плате MKS-Sbase v 1.3 с прошивкой смузи. После подключения дисплея к плате возникла проблема, дисплей прекрасно показывает, менюшки бегают, все очень красиво,только на принтере никак не отображается. Нет связи между дисплеем и принтером.Начал гуглить и читать 3Дтудей, в итоге заменил шлейф, перепробовал 4 версии пр...

Контейнеризация Angular 6 SPA Template ASP .NET Core 2.1 приложения К сожалению готового решения нигде не нашел. Пришлось компилировать из нескольких источников информацию. Чтобы запустить в докере Angular 6/7 приложение в виде проекта на ASP .NET Core. Если мы включим стандартными средствами поддержку докер для проекта с Angular приложение...

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

Пишем свою простейшую программу для ARM Cortex-M3 Добрый день! Сегодня я хочу рассказать вам как написать минимальную программу, которая запустится на ARM Cortex-M3 и при этом напечатает “Hello, World!”. Постараемся разобрать по шагам необходимый минимум, который нам для этого потребуется. Запускать будем на эмуляторе QEMU....

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

[Перевод] Руководство по фоновой работе в Android. Часть 5: Корутины в Котлине Остров Котлин Предыдущие тексты этой серии: про AsyncTask, про Loaders, про Executors и EventBus, про RxJava. Итак, этот час настал. Это статья, ради которой была написана вся серия: объяснение, как новый подход работает «под капотом». Если вы пока не знаете и того, как и...

ConvNets. Создание прототипа проекта с помощью Mask R-CNN Привет, Хабр! Мы, наконец, дождались еще одной части серии материалов от выпускника наших программ “Специалист по большим данным” и “Deep Learning”, Кирилла Данилюка, об использовании популярных на сегодняшний день нейронных сетей Mask R-CNN как части системы для классификац...

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

Adobe Scan 18.03.20 Adobe Scan — превращает ваше устройство в мощный портативный сканер с функцией автоматического распознавания текста. Преобразуйте любые материалы — квитанции, заметки, документы, изображения, визитные карточки, лекционные доски — в Adobe PDF и используйте распознанный текст....

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

Представлен видеорегистратор DIGMA FreeDrive 550 DUAL INCAR DIGMA запустил в продажу видеорегистратор DIGMA FreeDrive 550 DUAL INCAR. Модель позволяет записывать всё происходящее как снаружи автомобиля, так и внутри салона. Видеорегистратор DIGMA FreeDrive 550 DUAL INCAR работает на базе тандема процессора Novatek NTK96658 и CMOS-сен...

[Перевод] AI, практический курс. Планирование проекта В этой статье речь пойдет о: оформлении замысла в реальный проект с применением разных методов анализа и соответствующих инструментов управления проектом; использовании методологии CRISP-DM (межотраслевой стандартный процесс для интеллектуального анализа данных); определ...

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

Проверка WHOIS домена: что, зачем и как Если вы ещё ни разу сталкивались с таким явлением, как проверка WHOIS домена, мы готовы подробно рассказать о ней. Ответим на самые распространённые вопросы по данной теме, посмотрим, что даст проверка WHOIS домена, кому и зачем может потребоваться. Для начала, чтобы вы нич...

Файлы для Хорошего Бота - новое размещение Проснувшись утром обнаружил что куча моих подписчиков сообщает мне о недоступности выложенных мной файлов для 3д принтера Хороший Бот на Яндекс Диске. И что я обнаружилКак то странно получить блокировку файлов автором которых я являюсь.Общение с Яндексом только сообщило что ...

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

[Из песочницы] Управление состоянием и событиями между компонентами в GameObject Управление состоянием и событиями между компонентами в GameObject Ссылка на проект Как известно всем, более или менее знакомых с платформой Unity, каждый игровой объект GameObject состоит из компонентов (встроенных или пользовательских, который обычно называют «скрипт»). Ко...

[Перевод] Введение в смарт-контракты. Их потенциальные и реальные ограничения Это, пожалуй, самая интересная статья о перспективах применения смарт-контрактов в деловой практике, которая мне попадалась (правда, попадалось их не так уж много). Она написана юристами и опубликована в конце мая на сайте Гарварда. Хоть и на примере США, текст раскрывает т...

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

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

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

Как удалять файлы на macOS мимо корзины Ну, вы знаете: чтобы удалить ненужный файл или папку, на «маке» нужно либо перетащить его в мусорное ведро, либо выделить файл, а затем нажать ⌘Cmd + Delete. А потом – ещё и удалить его из корзины! Однако, существует способ прямого удаления файлов в macOS не помещая их в «Tr...

Дилетант в opensource — lessons learned за 3 года Давно, в 2014 году я сделал для себя небольшую утилитку, чтобы перегонять C#-вьюмодели в TypeScript-код. Она сэкономила мне немало времени и нервов. И вот, в сентябре 2015 я решил оформить свои "эксперименты на коленке" в некую удобоваримую форму и вылить их на GitHub. Так н...

[Перевод] Вся правда об ОСРВ. Статья #6. Другие сервисы ОСРВ В предыдущих статьях мы обсуждали функциональность ядра с точки зрения выполняемых задач и взаимодействия между ними. В этой статье мы рассмотрим, что еще может делать ядро, что в значительной степени проявляется в ряде других доступных вызовов API. Мы также ответим на воп...

Разработка Технического задания по ГОСТ 34 легко и просто Нередко слышишь мнение, что составление Технического задания по ГОСТ 34 (ТЗ) занятие не только трудоемкое, но и крайне раздражающее, поскольку приходится писать много всякой ерунды, воды. Но подумайте: разработкой этого ГОСТа занимались целые НИИ, это был проект на государст...

[Из песочницы] Python + Raspberry Pi + Pixhawk и квадрокоптер. Или как не надо делать роботов Привет, Хабр! Меня зовут Алексей, уже 7 лет я ведущий разработчик Smart TV-решений в крупной компании из Ижевска, занимающейся заказной разработкой. Каждый год у нас проводится конкурс новогодних украшений, и каждый раз мы ничего не украшаем, а пилим всякие технологичные шт...

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

Google лицемерит, публикуя уязвимость в APK Fortnite для Android Fortnite – это очень популярная кросс-платформенная игра по мотивам PUBG, краткую историю появления которой мы описывали здесь. Игра воистину хит, но так случилось, что её версия для Android до сих пор так и не была представлена в официальном магазине приложений Google...

Google лицемерит, публикуя уязвимость в APK Fortnite для Android Fortnite – это очень популярная кросс-платформенная игра по мотивам PUBG, краткую историю появления которой мы описывали здесь. Игра воистину хит, но так случилось, что её версия для Android до сих пор так и не была представлена в официальном магазине приложений Google...

Установка дисплея MKS_TFT35 на prusa i4 Вот и я созрел на установку этого контроллера. Для этого был разработан и напечатан корпус с креплением.Собственно плюсы и минусы для меня касаемо этого контроллера.Минусы:Это все-таки контроллер, а не полноценный дисплей к принтеру, т.е. настройки либо через штатный дисплей...

[Перевод] Руководство по Node.js, часть 1: общие сведения и начало работы Мы начинаем публикацию серии материалов, которые представляют собой поэтапный перевод руководства по Node.js для начинающих. А именно, в данном случае «начинающий» — это тот, кто обладает некоторыми познаниями в области браузерного JavaScript. Он слышал о том, что существует...

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

Fuchsia OS будет поддерживать работу приложений для Android Недавно в Android Open Source Project (AOSP) были обнаружены свежие комментарии, которые раскрывают истинное предназначение репозитория «device/google/fuchsia». Как оказалось, Fuchsia OS будет использовать специально разработанную для нее версию Android Runtime (...

[Перевод] Знакомство с Timeline в Unity [В туториале около 50 МБ изображений, в том числе анимированных GIF] Чтобы рассказать часть сюжета игры или увлечь игрока, разработчики часто используют катсцены. В некоторых играх создают специально отрендеренные анимированные сцены с моделями высокой детализации, в других...

Как пропатчить cp под FreeBSD? Учим FreeBSD копировать вместе с файлами их расширенные атрибуты Я большой поклонник cp — по изящности и несокрушимости эта утилита, на мой взгляд, уступает только утилите dd. Но под FreeBSD у неё есть один скромный недостаток — при копировании файла cp теряет его расширенны...

[Из песочницы] Vanessa-Automation — инструмент тестирования прикладных решений на платформе 1С: Предприятие Не с начала Много вы знаете инструментов тестирования, которые умеют: Получать шаги на языке Gherkin сразу из того, что накликал пользователь? Создавать видео-инструкции автоматически, с субтитрами, black Jack'ом и Еленой?) Создавать *.feature файл на английском языке в рум...

Падает зрение после лазерной коррекции зрения — что делать? Или, доктор, сделай мне «enhancement» Традиционно это самый частый вопрос для тех, кто уже сделал коррекцию и для тех, кто только планирует ее. Договоримся, что под словом «падает» будем подразумевать изменение оптики глаза – то есть увеличение «минуса», астигматизма или появление «плюса». Короче, когда опять ну...

Kubernetes (k8s) + Helm + GitLab CI/CD. Деплоим правильно В данной статье я хочу рассказать как деплоить приложения в разные среды. В этом примере, мы будем деплоить в: «Test» и «Production». Разумеется, вы можете добавить любые среды. Для деплоя приложений я использую HELM. Он позволяет гибко управлять конфигурациями. В чем вы см...

Ricoh GR III выглядит шикарно Только-только мы написали новость про камеру Ricoh G900, которая не боится падений или чего-то в таком духе, как в свет вышла еще и премиальная камера Ricoh GR III, которая отличается от конкурентов компактными размерами, стильным дизайном корпуса и сенсорным дисплеем. Вы см...

Обзор САПР на геометрическом ядре C3D В предыдущих статьях о геометрическом ядре C3D мы разбирали его внутреннее устройство (структура ядра, модуль визуализации) и объясняли, чем оно отличается от API CAD-системы (статья). Проявить свои качества ядро, как инструмент разработчика САПР, может только в продуктах, н...

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

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

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

[Из песочницы] WiX.Py: cобираем MSI пакет «в три строчки» Нет времени и желания изучать километровые файлы WiX, чтобы собрать MSI инсталлер для своего проекта, погружаясь при этом в бездны MSDN? Хотите собирать инсталлер, описывая его простыми и понятными терминами, в несколько строк? Есть клиническая склонность к кроссплатформенно...

В Android-приложении для экономии заряда батареи прятался кликер рекламы Очередного шпиона, маскирующегося под видом приложения для экономии заряда батареи, выявили специалисты по кибербезопасности компании RiskIQ. По их словам, программу с названием Advanced Battery Saver успели скачать более 60 тыс. раз.  Приложение распространялось станда...

Реакция на холодные письма Меня немного расстроила статья «Оцениваем рекрутёров по холодным письмам». Как по мне, вся проблема высосана из пальца, и все очень похоже на то, что уже описал автор: Иди-ка ты на !@# со своей «токсичностью» Я напишу максимально противоположное большинству мнение, чем ско...

Devilution: проект по реверс-инжинирингу Diablo Как показывают годы, шансов увидеть оригинальный исходный код — или хотя бы ремейк — первой части Diablo у нас практически нет (событие The Darkening of Tristram в Diablo III в честь 20-летия выхода первой части — это, конечно, хорошо, но все же немного не то, чего ожидали ...

Kotlin: ищем Head of Marketing Привет! Снова пришло то время, когда нам пора поднимать маркетинг Котлина на новый уровень. Почему? Если коротко, мы очень выросли, и у нас очень большие амбиции. Сегодня в маркетинге Котлина работает 2 (прописью: два) человека. Всем очевидно, что это очень мало. Результат...

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

File Viewer for Android 2.4.1 Универсальный просмотрщик файлов, который поддерживает более ста типов файлов, в том числе PDF, файлы электронной почты, аудио и видео файлы, изображения, фотографии необработанных снимков, архивов и многое другое. В дополнение к просмотру файлов, вы можете просматривать и у...

Подключение энкодера к экранам OLED 0.96' (SSD1306) и OLED 1.3' - SH1106 в прошивках MARLIN Добрый день всем! Получаю достаточно много вопросов в личную почту по подключению энкодеров и экранов OLED 0.96'  (SSD1306) и OLED 1.3' - (SH1106) в прошивках MARLIN, поэтому решил написать эту маленькую статью по подключению данных экранов, энкодера и карты памяти. Экр...

[Из песочницы] CI для фронтенда: Gitlab, Traefik, Docker В каждом уважающем себя проекте должны участвовать QA инженеры. Ежедневно перед ними будет стоять задача проверки выполнения задач в отдельных ветках. Очень часто процесс перехода на нужную ветку, сборки и тестирования занимает много времени, к тому же, локально не всегда во...

Джеффри Рихтер приезжает в Россию: анонс конференции DotNext Moscow 2018 Задумайтесь на минутку: что за последний год произошло с .NET? Что изменилось, что из этого мы должны использовать? Можно даже отложить эту статью и подумать, ведь вопрос более чем достойный. Мы сами попробовали и потратили на него не один час. В этом году ответить на него ...

iOS 12 beta 5 подтвердила появление в HomePod долгожданной возможности В настоящее время, если вы хотите совершить телефонных звонок с помощью HomePod, вам приходится набрать или ответить на вызов на iPhone, а затем выбрать колонку в качестве устройства для вывода звука. Этой осенью всё станет намного проще.

[Перевод] Стилизация 3D-персонажа: модель, текстура, детали Потрясающий 3D-художник Луана Буэно (Luana Bueno) подробно рассказала о создании своей низкополигональной фан-версии Элой из Horizon Zero Dawn. Введение Меня зовут Луана, я художник 3D-персонажей из Сан-Паулу. Я переехала сюда шесть лет назад, потому что выиграла обучение ...

Google показала пример, как нужно делать аудиоплееры для Android У компании Google есть приложения, которые демонстрируют разработчикам примеры реализации различных функций операционной системы. Одним из самых популярных является Universal Android Music Player (UAMP). Это так называемое референсное приложение, основная задача которого сос...

Не лечите меня, доктор Когда собирали доклады на голосование для участия в одной специализированной конференции, я хотел рассказать такую тему – как подсидеть директора по качеству. Это был бы конъюнктурный доклад про карьерный рост для программиста или ИТ-директора. С одной стороны, рост в сторо...

Порядка 100 тысяч учеников приняли участие в проекте «Билет в будущее» Посредством участия в профориентационном проекте «Билет в будущее» российские школьники получают возможность заранее ознакомиться с интересной им профессией. Под эгидой проекта в период 13-30 ноября включительно в 46 субъектах РФ прошли профориентационные пробы. В будущем го...

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

DevCore: программная часть проекта DevBoy Привет, друзья! С вами снова Николай, в прошлой статье "DevBoy — как я создал проект устройства с открытым исходным кодом и запустил проект на Kickstarter" упор делался больше на внешнем виде и железе, сегодня поговорим о том как это сделано "внутри" и разберем программную ...

Собираем Qt 5.6 (MSVC) с OpenSSL и поддержкой Windows XP В один прекрасный вечер, понадобилось мне написать небольшое приложение, требования к которому, на первый взгляд, выглядели не такими уж и сложными: работа с кое-какими железяками; наличие GUI; умение работать в Windows XP и выше (не спрашивайте, зачем); один исполняемый фа...

[Из песочницы] [Перевод] Как работает Graal — JIT-компилятор JVM на Java Привет, Хабр! Представляю вашему вниманию перевод статьи "Understanding How Graal Works — a Java JIT Compiler Written in Java". Введение Одной из причин по которой я стал исследователем языков программирования является то, что, в большом сообществе людей связанных ...

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

Кому нужна эта…Haiku? Я исказил название советского фильма, “Кому нужен этот Васька?”, надеюсь, никто не сочтет это кощунством. Ответ в вопросе: если кто-то об этом спрашивает, значит кому-то это нужно. И, наверное, в повествовании о подготовке первого публичного релиза Haiku, и о том скольких ...

Разработка конвертера видео из 264 в avi для видеорегистратора QCM-08DL На самом деле, статья посвящена разработке программы для перепаковки видео DVR из одного контейнера в другой, если это можно назвать конвертацией. Хотя, я всю жизнь считал, что конвертер занимается преобразованием (перекодировкой) формата видео. Данная статья является второй...

Уникальный калькулятор MyScript Calculator 2 доступен на iOS и Android бесплатно Разработчики приложения MyScript Calculator 2 сделали все для того, чтобы сделать процесс решения примеров и уравнений максимально простым и интуитивным. Вместо того, чтобы выбирать нужные цифры и знаки на виртуальной клавиатуре, вам достаточно просто написать пальцем,...

Создание шаблонов в IDE от Jetbrains Вступление Сегодня я хочу привести небольшой обзор-туториал темплейтов в ИСР от Jetbrains. Приведенные ниже примеры будут реализованы на Java в Intellij IDEA, но механизм создания одинаков и для других языков и продуктов компании. Думаю все программирующие в данной IDE поль...

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

VPS.today — каталог виртуальных серверов В октябре моему проекту Поиск VPS исполнится 5 лет. В 2013 году я представил его общественности, и он был воспринят пользователями и хостерами крайне положительно. В течение следующего года я активно развивал сайт и добавлял различные функции, однако с 2015 года на сайте не ...

[Перевод] Программирование с PyUSB 1.0 От переводчика: Это перевод руководства Programming with PyUSB 1.0 Данное руководство написано силами разработчиков PyUSB, однако быстро пробежавшись по коммитам я полагаю, что основной автор руководства — walac. Позвольте мне представиться PyUSB 1.0 — это библиотека Python...

Нуждаешься во внедрении 1С? Обратись в АБ-ЮГ Согласитесь, если вы ведете крупный бизнес, вам придется придерживаться определенных правил. И в первую очередь необходимо в серьез задуматься о ведении бухгалтерии, ведь в противном случае у вас могут возникнуть серьезные проблемы. Сегодня речь пойдет о внедрении 1С на пред...

IT в Германии — как искать работу в крупных городах Германии Уехать в Германию при наличии опыта работы в IT довольно просто, и множество статей на эту тему помогают определиться с выбором. Эта статья не будет исключением, в ней собраны истории 5х эмигрантов, которые поделились своим опытом работы в крупных городах Германии и рассказа...

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

Full stack Data analyst "Анализ данных" часто организован так: вот у нас разработчики хранилища, а вот у нас аналитики. В DWH (data warehouse, хранилище) умеют SQL, а аналитики у нас умеют работать c экселем. Если нам нужно что-то проанализировать, то идете к аналитикам, а они идут за данными к DWH...

Обзор Ninja Dash. Шикарный раннер В последнее время я не видел ничего адекватного из жанра раннеров, так как разработчики мобильных проектов ударились во что-то иное, более прибыльное. Все мы понимаем, что раннер — одиночная игра. соответственно, заработать денег на этом практически невозможно, так как нет м...

Критики остались довольны новой JRPG Octopath Traveler с ноткой ностальгии Японская ролевая игра Octopath Traveler от создателей Bravely Default сегодня вышла на Nintendo Switch, а вчера пресса начала публиковать первые обзоры. Средний рейтинг игры составляет 84 балла из 100 на основе 22 рецензий с оценками (на агрегаторе OpenCritic)....

[Из песочницы] Внедрение Zimbra Collaboration Open Source, авторизация через AD и автоматическое создание почтовых ящиков 1. Исходные данные ОС сервера: CentOS 7 По поводу ОСНа самом деле разница между CentOS7 и любой другой системой будет заключаться исключительно в командах серверу на установку зависимостей, и, возможно, расположении некоторых файлов. Работа ведется в основном с командлетами...

Google призналась, что тоже хотела купить GitHub Директор облачного подразделения Google Cloud Диана Грин (Diane Greene), отвечая на вопросы модератора на мероприятии Fortune Magazine, сделала интересное заявление относительно покупки GitHub компанией Microsoft: «Я была бы не против, чтобы мы их купили, но ничего страшного...

Facebook прекращает разработку интернет-дрона Aquila В начале 2014 года Facebook сообщила о создании нового подразделения Connectivity Lab, которому поручили разработку инновационных технологий для подключения к интернету всего мира. Один из проектов этого подразделения – БПЛА на солнечных батареях Aquila для раздачи интернета...

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

Предлагаемые изменения в Chromium нарушат работу uBlock Origin Разработчик uBlock Origin заявил, что его расширение для блокировки рекламы не сможет работать, если будут приняты изменения в Chromium. Речь идёт о внедрении declarativeNetRequest API, которые лишают возможности использовать webRequest API. Google считает, что изменения нео...

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

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

[Перевод] Как восстанавливали видео для Full Throttle Remastered. Часть 2 В моём предыдущем посте я рассказал, как мы извлекали контент из исходных FMV-файлов и создали инструменты для анализа примерно 67 ГБ архивов в поисках промежуточных составляющих частей, использованных для создания FMV. Эти части являются базисом для создания remastered-кон...

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

Обзор облачного сервиса RaiseCloud Здравствуйте!Вашему вниманию предлагается обзор облачного сервиса от компании Raise3D – Raise Cloud.  Сервис предназначен для удаленного контроля и управления 3D печатью, видеомониторинга и т.д.Рассмотрим основные функции сервиса.Сервис требует регистрации и привязки к ...

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

[Перевод] Учебный курс по React, часть 11: динамическое формирование разметки и метод массивов map В сегодняшней части перевода учебного курса по React мы поговорим об использовании стандартного метода массивов map() для организации динамического формирования JSX-разметки, описывающей наборы однотипных элементов. → Часть 1: обзор курса, причины популярности React, Reac...

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

Gihosoft iPhone Data Recovery Free поможет восстановить данные из памяти вашего iPhone Многие из нас хранят гигабайты информации в своих смартфонах, в том числе и Apple iPhone, и мало кто делает резервные копии. Но со смартфоном могут случиться различные неприятности, после которых восстановление данных будет затруднено. Или же файлов может быть так много, что...

Одобрением киносценариев будет заниматься искусственный интеллект По мнению Надиры Азермай, основателя бельгийской компании ScriptBook, занимающейся технологиями искусственного интеллекта, та же кинокомпания Sony Pictures в период с 2015 по 2017 годы смогла бы сэкономить миллионы долларов своих средств, если бы использовала разработанный...

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

[Из песочницы] Странности синтеза при работе с FPGA На сегодняшний день существует два наиболее распространённых языка описания аппаратуры: Verilog/SystemVerilog и VHDL. Сами языки описания аппаратуры являются достаточно универсальными средствами, но всегда ли это так? И от чего может зависеть «не универсальность» языка описа...

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

[Перевод] Неожиданная полнота по Тьюрингу повсюду Каталог программных конструкций, языков и API, которые неожиданно являются полными по Тьюрингу; последствия этого для безопасности и надёжности. Приложение: сколько компьютеров в вашем компьютере? Любая достаточно сложная программа на Си или Фортране содержит заново написа...

Делаем Shrimp еще полезнее: добавляем перекодирование картинок в другие форматы С начала 2017-го года наша небольшая команда разрабатывает OpenSource-библиотеку RESTinio для встраивания HTTP-сервера в C++ приложения. К своему большому удивлению мы время от времени получаем вопросы из категории «А для чего может потребоваться встраиваемый HTTP-сервер н...

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

Как геокодировать миллион точек на Spark по-быстрому? В моем предыдущем проекте перед нами встала задача провести обратное геокодирование для множества пар географических координат. Обратное геокодирование — это процедура, которая паре широта-долгота ставит в соответствие адрес или название объекта на карте, к которому принадле...

На Kickstarter вышла MMORPG Dragon Eye Online, которая хочет сломать каноны жанра Сколько в своей жизни вы встречали проектов, которые обещали поменять законы жанра, которые они представляют. Наверное, много. Вот вам еще один — разработчики из Game Nerd Productions вышли на Kickstarter с дебютным проектом под названием Dragon Eye Online. В этот раз они з...

[Перевод] Исследование Ivy — нового компилятора Angular «Я думаю, что компиляторы — это очень интересно», — говорит Ури Шейкед, автор материала, перевод которого мы сегодня публикуем. В прошлом году он написал статью, в которой шла речь о реверс-инжиниринге компилятора Angular и об имитации некоторых этапов процесса компиляции, п...

Картина, написанная искусственным интеллектом, продана на аукционе за 432 000 долларов На аукционе Christie's впервые продана картина, созданная искусственным интеллектом. Ожидалось, что лот принесет от 7 000 до 10 000 долларов, но окончательная цена оказалась равна 432 000 долларов. Произведение под названием «Портрет Эдмонда Белами» вхо...

Давняя ошибка в Xorg ставит под удар Linux В программном пакете X.Org Server устранена уязвимость, позволяющая локально повысить привилегии до уровня суперпользователя и перезаписать любой файл. Большинство современных дистрибутивов Linux и BSD использует X.Org Server для обеспечения базовых функций графической среды...

Обзор 7 Billions Humans — идеальная головоломка про неидеальных людей  Независимых авторов игр сейчас много, но есть с ними одна проблема: разработчиками хотят считаться все, а делать оригинальные и качественные проекты под силу единицам. У меня при упоминании инди-рынка возникают ассоциации с Филом Фишем — автором Fez, Эдмундом МакМилленом — с...

“Глупый” зловред атакует пользователей macOS Хакеры заражают покупателей криптовалюты вредоносной программой для macOS. Зловред, получившей прозвище OSX.Dummy (от англ. dummy — “тупица”), обнаружили исследователи Ремко Ферхуф (Remco Verhoef) и Патрик Уордл (Patrick Wardle). Несмотря на простейший метод инфи...

[Перевод] Учебный курс по React, часть 7: встроенные стили Сегодня, в следующей части курса по React, мы поговорим о встроенных стилях. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: файлы компонентов, структура проектов → Часть 4: родительские и дочерние компоне...

[Перевод] JavaScript: Публичные и приватные поля классов Несколько предложений расширяют существующий синтаксис классов в JavaScript новой функциональностью. Эта статья объясняет новый синтаксис публичных полей классов в V8 v7.2 и Chrome 72, а также грядущих приватных полей. Вот пример кода, который создает экземпляр класса Incre...

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

[Из песочницы] Три относительно честных способа создания Flutter проекта Итак, с презентацией Google первой стабильной версии Flutter, которая случилась 4 декабря 2018 г. начался процесс изменения ландшафта на полях мобильного программирования. Появился новый игрок, способный изменить правила самой игры. Теперь из одной базы кода можно создават...

Создание приложения на .NET Core и Kubernetes: наш опыт Всем привет! Сегодня расскажем об опыте одного из наших DevOps проектов. Мы решили реализовать новое приложение под Linux с использованием .Net Core на микросервисной архитектуре. Мы рассчитываем, что проект будет активно развиваться, а пользователей будет всё больше и бо...

Блокнот-текстовый редактор PRO 8.1 Блокнот — текстовый редактор является простое приложение, чтобы открыть, редактировать, удалять, переименовывать и сохранять текстовые файлы, и с карты памяти. Особенности: — Создать новый текстовый файл и папку в приложении — Сохранить поддерживаемые текстовые ф...

[Из песочницы] Скрывать не скрывая. Еще раз о LSB-стеганографии, хи-квадрате и… сингулярности? Сегодня снова поворошим старое гнездо и поговорим о том, как скрыть кучку бит в картинке с котиком, посмотрим на несколько доступных инструментов и разберем самые популярные атаки. И казалось бы, при чем тут сингулярность? Как говорится, если хочешь в чем-то разобраться, то...

[recovery mode] QtCreator и его использование в качестве IDE для Rust В общем попросил я у коллеги маленький гайд по тому как настроить QtCreator в качестве IDE для Rust и с его разрешения выкладываю. Сам Я использую CLion и позже напишу о том как с ним дела обстоят на этом поприще. Мопед не мой. Я просто разместил объяву. (с) Что нужно совре...

СХД QSAN в качестве конкурента продукции брендам Tier 1 Современная IT инфраструктура сейчас уже немыслима без использования систем виртуализации. А виртуализация наиболее полно раскрывает свои возможности в случае использования централизованной системы хранения данных. Да и помимо этой немаловажной роли найдутся другие задачи, г...

Xender 4.3.2 Xender — программа для скоростного обмена файлов не использующее Bluetooth, сети Wi-fi и 3G. Программа работает и без наличие карты сим.Скорость передачи  более 6 мб/с.Также есть возможность обмены файлами с ПК при условии того что оба должны быть подключены к одной и той же...

Как передавать файлы между компьютером и телефоном при помощи AirDroid Если вам нужен простой способ передачи фотографий, видео и других файлов между устройствами на Windows, Mac, iOS или Android, в этом вам поможет AirDroid. ***

[Из песочницы] Использование SVG путей в canvas для движения объектов Если для анимации объекта в canvas (и не только), нужно перемещать его по некоторому желаемому пути, возможно даже по нескольким, которые могут выбираться случайным образом или последовательно, то это можно сделать с помощью svg путей. Давайте, для начала, запустим по траект...

Католики создали собственную версию Pokemon Go Католическая религиозная организация Fundación Ramón Pané выпустила игру, которая копирует игровой процесс Pokemon Go. Follow JC Go также предлагает игроку выполнять реальные задания. Например, помолиться проходя мимо церкви или больницы. Игрок также может пожертвовать деньг...

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

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

[Перевод] Руководство по промисам для тех, кто хочет в них разобраться Лес чуден, тёмен — глянь в глубину. Но прежде я все долги верну… И много миль, пока я усну, Так много миль, пока я усну... Роберт Фрост Промисы — это одно из самых замечательных новшеств ES6. JavaScript поддерживает асинхронное программирование посредством функций обратно...

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

Реверс-инжиниринг прошивки устройства на примере мигающего «носорога». Часть 2 Представляем вашему вниманию вторую часть статьи о реверс-инжиниринге прошивки устройства «Мигающий носорог» по мотивам мастер-класса на конференции SMARTRHINO-2018. В первой части статьи прошивка устройства была загружена в дизассемблер IDA и выполнен первичный анализ ко...

Wondershare PDFelement — мощный инструмент для работы с PDF-файлами со скидкой 20 % до 15 июля Всем хорош разработанный компанией Adobe Systems межплатформенный формат электронных документов Portable Document Format (PDF), только вот вносить в него правки и конвертировать в другие форматы — та ещё задача, довольно часто сталкиваться с которой приходится...

Google Фото обновляется до версии 4.4. Что нового? Первые два месяца осени оказались насыщенными для Google Photo. В начале сентября программа обновилась до версии 4.0, в которой нашлось место для свежего дизайна, новых шрифтов и обилия белого пространства. Уже в конце месяца состоялся релиз следующего апдейта. Тогда програ...

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

Метод плавательных дорожек Есть на свете такая штука, называется «бизнес-программирование». Я вам о ней еще не рассказывал. И не уверен, что вам она будет интересна. Бизнес-программирование — это программирование бизнеса, как системы. Вот вы же чего-то программируете? Сервис там, сайт, мобильное прил...

[Перевод] Приключения с ptrace(2) На Хабре уже писали про перехват системных вызовов с помощью ptrace; Алекса написал про это намного более развёрнутый пост, который я решил перевести. С чего начать Общение между отлаживаемой программой и отладчиком происходит при помощи сигналов. Это существенно усложняет...

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

APEX станет главным нововведением Android Q. Что это такое? Android Q покажут, как обычно, на Googe I/O. Уже сейчас известно, что в систему встроят полноценную темную тему, а все стандартные приложения компании к моменту выхода новой версии Android будут обновлены под данное нововведение. Однако тёмная тема — не главное в Andr...

Тонкости продуктового дизайна Продуктовый дизайнер — это не совсем дизайнер. Он может неделями не открывать графический редактор и не произвести ни одного макета за месяц. Потому что основная цель его работы в другом. За последние полтора года я работал над двумя продуктами. С первым (BINO CX) прошел ...

Обновление базы данных и zero-downtime deployment Про обновление систем «на лету» без их остановки (zero-downtime deployment) написано немало статей и многие аспекты этого подхода является достаточно очевидными. На мой взгляд, наиболее сложная часть деплоймента в этом случае — обновление хранилищ данных, в случае если их ко...

Релизим проект на Java с Maven на новый лад Все мы давно уже привыкли к Maven, к версионности предложенной им и управлению зависимостями. Maven появился на свет, когда ежедневная сборка проекта была уделом самых смелых, когда считалось нормальным релизиться хотя-бы пару раз в год, Jenkins тогда еще назывался Hudson, а...

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

[Из песочницы] Плагин «Rainbow CSV» как альтернатива Excel Привет, Хабр! Эта статья про плагин Rainbow CSV, который я написал для 5 текстовых редакторов: VS Code, Vim, Sublime Text 3, Atom, Gedit Думаю, что многие читатели этой статьи периодически сталкиваются с CSV (comma-separated), ТSV (tab-separated) и подобными файлами. Если п...

Прерывания от внешних устройств в системе x86. Эволюция контроллеров прерываний В данной статье хотелось бы рассмотреть механизмы доставки прерываний от внешних устройств в системе x86 и попытаться ответить на вопросы: — что такое PIC и для чего он нужен? — что такое APIC и для чего он нужен? Для чего нужны LAPIC и I/O APIC? — в чём отличия APIC, xA...

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

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

Изучение английского: a geeky way Доброй глубокой ночи, незаметно для меня перешедшей в утро. Пишу под влиянием того поста, тоже написанного под влиянием. Да, вторично и уже начинает надоедать, но удержаться просто не могу. Хочу описать свой личный, немного нетривиальный, вовсе не претендующий на способ и м...

AnyTrans 7 возвращает функции, которые удалили из iTunes Ни для кого не секрет, что главным каналом связи между компьютером и любимым смартфоном является iTunes. Однако в последнее время Apple заметно урезала функциональность своего приложения. Например, убрала менеджер программ, и это вдобавок к не самому интуитивному интересу,...

Запрещаем говнокод, или полезные плагины для ESLint Думаю, многие знают, что в серьёзных проектах в наше время принято использовать специальные инструменты для проверки кода на ошибки и соответствие принятому в команде стилю. Сегодня я хочу затронуть тему ESLint'а, прекрасного инструмента для проверки JavaScript проектов на н...

Настройка связанных серверов: ms sql server и teradata Всем привет! Решил написать эту статью по одной простой причине — не нашел подробной инструкции по настройке удаленного связанного сервера между серверами teradata и ms sql server. В Сбербанке данные хранятся на разных серверах: oracle, teradata, mssql. Часто (бывает, по не...

SSLH: Прячем SSH/HTTPS/OpenVPN/Telegram за единым портом 443 SSH/HTTPS/OpenVPN/Telegram и всё на одном порту?! Что?! — Да! Хотите скрыть наличее у вас некоторых сервисов? В публичной wi-fi сети блокируется всё кроме 443 (https) порта? Настроили Telegram Proxy/OpenVPN и не хотите его «светить» ? SSH подключение к своему серверу и...

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

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

Где зарабатывать копирайтерам большие деньги Вчера вечером на моём  блоге был опубликован вот такой комментарий: Да потому что копирайтерам, рерайтерам и прочим райтерам не платят нифига !!!! Средняя цена по рынку 40 р./1000 зн. Что можно ценного создать за 40 рублей??? А на биржах есть за 20 и 12. Вот дает владелец са...

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

Самоучитель HTML 4.1 Самоучитель HTML — [отите создать собственный сайт, но не желаете платить за его разработку другим людям? В таком случае, вам точно пригодится данный оффлайн-учебник. Установив приложение-самоучитель, вы сможете проходить обучение по собственному расписанию, в удобное для ва...

Мастер менеджмента и фрилансер. Повесть в трёх частях Для тех кто просто пролистывает дальше, краткое содержание: «google: freelance подписывайте контракт» спасибо за внимание. Чуть более полное описание: Как я открыл для себя новые вершины менеджмента благодаря одному заказчику, при работе над совместным фриланс проектом. Пе...

[Из песочницы] Как я писал змейку на F# и модели акторов О чем это все? Я расскажу о том, как построить модель акторов с помощью MailboxProcessor из стандартной библиотеки, на какие моменты обратить внимание и о том, какие подводные камни вас могут ожидать. Я не претендую на истину в последней инстанции. Код, написанный здесь, не ...

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

Отечественная САПР-платформа nanoCAD Plus 10: универсальный комплекс для тех, кто проектирует Весной 2018 года наша компания («Нанософт») выпустила в свет nanoCAD Plus 10 – новую версию российской САПР-платформы, приуроченную к 10-летию компании. Подумать только – 10 лет мы создаем nanoCAD на благо наших пользователей! Что нового появилось в продукте? Несколько меся...

[Перевод] Когда использовать параллельные stream-ы Источник Авторы: Doug Lea совместно с Brian Goetz, Paul Sandoz, Алексей Шипилёв, Heinz Kabutz, Joe Bowbeer, ...Фреймворк java.util.streams содержит управляемые данными (data-driven) операции над коллекциями и другими источниками данных. Большинство потоковых (stream) методов...

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

«Логомашина» делает бесплатные логотипы за коммент Привет, мы — дизайн-студия Логомашина, сегодня бесплатно делаем логотипы для участников Хабра! Что нужно, чтобы поучаствовать? Присылаете в комменты описание, название вашего проекта и логотип (если есть) Мы рандомно выбираем проекты и делаем логотипы, готовый результат ...

Как писать подкасты, что за железо нужно? Автор статей, текстов и постов сейчас вам всё расскажет На конференциях люди, насмотревшись на приглашенных спикеров (многие из которых ведут свои проекты в форме каналов на YouTube, подкастов или чего-то такого), частенько подходят ко мне с вопросами: «Как написать хабростатью?» «Что нужно, чтобы записать подкаст?» «Как ты пише...

[Перевод] Любимые игрушки DARPA за 60 лет Прошлое и будущее передовых технологий, демонстрировавшееся на конференции в честь 60-летия DARPA В этом году Управление перспективных исследовательских проектов Министерства обороны США [Defense Advanced Research Projects Agency, DARPA] празднует 60-летие. Чтобы отметить эт...

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

Злоумышленники подменили установщик пакетного менеджера PEAR Разработчики PEAR (PHP Extension and Application Repository, репозиторий расширений и приложений PHP) сообщили о взломе своего веб-сервера. Согласно официальному заявлению, проникновение произошло около полугода назад. Злоумышленникам удалось внести изменения в файл для уста...

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

Autodesk Configurator 360 – программный продукт для проектов Autodesk является сформированным программным товаром, который решает определенные задачи в информационных областях, как и другая продукция с использованием большого набора профессиональных инструментов от компании «Поинт». Успех в продвижении технологий проектирования в ваше...

Maraquia — ORM для MongoDB После прочтения заголовка у многих наверняка возникает вопрос — зачем ещё один велосипед при наличии уже обкатанных Mongoose, Mongorito, TypeORM и т. д.? Для ответа нужно разобраться в чём отличие ORM от ODM. Смотрим википедию: ORM (англ. Object-Relational Mapping, рус. объе...

[Перевод] Стивен Вольфрам «Делая большие проекты» Я люблю делать проекты, которые кажутся безумными. И полагаю, делал это около 35 лет в науке (я начал молодым) и около 30 лет в технологической сфере. Сегодня я хочу рассказать немного о том, что такое «делать безумные проекты» и немного о моих проектах. В первом приближен...

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

[Из песочницы] Установка и настройка Oracle Internet Directory для разрешения имен баз данных О настройке доступа к СУБД Oracle, который хранится в файле tnsnames.ora известно каждому, кто работал с этим типом СУБД. Данные хранятся в файле tnsnames.ora в обычном текстовом виде и легко могут быть изменены с помощью любого текстового редактора. Хорошо если записей в ...

[Из песочницы] Знакомимся с микросервисным фреймворком Moleculer Привет, %habrauser%! Сегодня я хочу рассказать тебе об одном отличном, на мой взгляд, микросервисном фреймворке Moleculer. Изначально этот фреймворк был написан на Node.js, но в последствии у него появились порты и на других языках таких как Java, Go, Python и .NET и, ск...

Инфраструктура System.Transactions в мире .NET Встречали ли вы в C# конструкцию типа using (var scope = new TransactionScope(TransactionScopeOption.Required))? Это значит, что код, выполняющийся в блоке using, заключается в транзакцию и после выхода из этого блока изменения будут зафиксированы или отменены. Звучит понят...

[Из песочницы] Создание management commands в Django Management commands — команды, выполняемые из командной строки с помощью скрипта manage.py. Наиболее частые сферы применения — это действия, выполняемые разово или периодически, но для которых почему-либо недоступен запуск через планировщик. Например, отправка пользователям...

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

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

[Перевод] Хотите привлечь лучших инженеров? Откройте код «Умные разработчики любят работать с умным кодом. Открывая качественные исходники, вы привлекаете талантов» Иллюстрация Kevin Ma «Вы знаете о проектах Facebook с открытым исходным кодом?» Такой вопрос задал инженерам Джеймс Пирс, бывший директор программы по открытым и...

Картина, написанная искусственным интеллектом, продана на аукционе за 432 000 долларов На аукционе Christie's впервые продана картина, созданная искусственным интеллектом. Ожидалось, что лот принесет от 7 000 до 10 000 долларов, но окончательная цена оказалась равна 432 000 долларов. Произведение под названием «Портрет Эдмонда Белами&raq...

[Перевод] Шейдеры растворения и исследования мира Часть 1: шейдер растворения Шейдер растворения возвращает красивый эффект, к тому же его легко создать и понять; сегодня мы сделаем его в Unity Shader Graph, а также напишем на HLSL. Вот пример того, что мы будем создавать: Как это работает Чтобы создать шейдер растворен...

Найдена опасная уязвимость в документах Word Эксперты обнаружили новый способ заражения компьютеров пользователей через видео, встроенные в файлы Microsoft Word.  Как сообщается на сайте исследовательской компании Cymulate, хакеры вставляют в текст видео, взятое с любого интернет-ресурса, затем редактируют файл documen...

Microsoft и WhatsApp, возможно, работают над новым UWP-приложением для Windows 10 WhatsApp — одно из немногих приложений для Windows 10 Mobile, которое по-прежнему продолжает получать обновления, приносящие с собой и некоторые новые функции, а не только исправления ошибок. Только вот само приложение было создано в далёком 2014 году и написано на Silverli...

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

Classic AppleWorks: сотворение мира AppleWorks для Apple II предоставил Apple абсолютно реальный шанс занять лидирующую позицию в офисах всего мира. Шанс из разряда единственных в жизни. Воспользоваться им было несложно: надо было всего лишь не мешать. А еще лучше помочь. Но… Apple не была бы Apple. Подобны...

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

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

Бесплатный вебинар «Как написать продающий текст» На вебинаре с преподавателем-филологом соберем воедино все составляющие продающего текста или того, что под этим чаще всего подразумевают. Готовая формула подойдет для написания постов в соцсетях для коммерческих и личных проектов, e-mail-рассылок, частично текстов на сайты ...

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

Игры на Xbox One теперь загружаются в два раза быстрее На презентации E3 2018 компания Microsoft анонсировала новую функцию быстрой загрузки игр на Xbox One, которая должна серьёзно упростить жизнь пользователям. Современные ААА-проекты могут занимать на жёстком диске до 80 ГБ памяти, так что геймеру нужно подождать несколько ча...

АудиоМАСТЕР – отличное решение для работы с аудио файлами Согласитесь, в интернете развелось огромное количество блогеров, обзорщиков и других людей, которые хотят заработать денег на просмотрах и рекламе. Однако у многих возникает один единственный вопрос – какую программу использовать для обработки аудио файлов? Сегодня мы бы хот...

[Перевод] Flutter для Android-разработчиков. Как создавать UI для Activity, используя Flutter Эта статья написана для Android-разработчиков, которые хотят применить свои существующие знания для создания мобильных приложений с помощью Flutter. В этой статье мы рассмотрим эквивалент Activity во Flutter. Читать дальше →

Удаление данных с шардированной базы Статья о том, как решали задачу оптимизации процесса удаления файлов из шардированной системы. Речь пойдет о проекте для совместного доступа и работы с файлами. Система была стартапом лет 8 назад, потом он успешно выстрелил и был несколько раз продан. В проекте 4 разработчик...

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

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

EIZO FlexScan EV2457 создан для бизнеса Далеко не всегда разработчики создают именно игровые мониторы. На рынке есть громадная армия тех, кто за компьютером работает и тоже хочет получать комфорт и удовольствие. Например, корпоративный сектор приносит больше денег, чем все игровые направления. Яркий тому пример — ...

[Перевод] В чём важность 196 884 = 196 883 + 1? Как это объяснить на пальцах? Автор ответа на Quora — Майкл Гриффин, постдок по математике Сения Шейдвассер дал очень хороший, простой ответ на этот вопрос, рекомендую прочитать эту краткую версию. Но есть гораздо более удивительная история гипотезы о монструозной фантазии (Monstrous Moonshine), смешанн...

Любишь пользоваться читами, люби и эссе писать: второй шанс для читеров от Bethesda Все мы знаем, что Fallout 76 славиться не только кучей багов, но и обилием читеров. Bethesda активно борется с данной категорией геймеров, однако вместо обычного бана навсегда, компания решила скреативить. Согласно нескольким источникам, забаненным пользователям на почту нач...

АО НИТ хочет создать конкурента Dropbox и Google Drive Новое мобильное приложение Digi Locker позволит хранить файлы казахстанцев в облаке.

Logitech G332 стоит 60 баксов Только вчера мы рассказывали вам о новой флагманской гарнитуре компании Logitech, как сегодня появились данные о более доступной модели Logitech G332. данная гарнитура тоже предназначена для геймеров, которые хотят получить преимущество в виртуальных мирах, но у более просто...

«Черт меня дернул пойти работать в офис» — 10 вопросов программисту, 9 выпуск Как-то так вышло, что почти все восемь выпусков мы говорили с офисными разрабами, и не опрашивали, каково живется на фрилансе. Сегодня, наконец, исправляем. Рассказывает Денис Казаков (nrcpp). Он написал первую программу в 14 на Pascal, а в университете разработал свой С++...

Проверка проекта LibrePCB с помощью PVS-Studio внутри Docker контейнера Это классическая статья о том, как наша команда проверила открытый проект LibrePCB с помощью статического анализатора кода PVS-Studio. Однако статья интересна тем, что проверка осуществлялась внутри Docker контейнера. Если вы использует контейнеры, то надеемся, что статья п...

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

CPU-функции RDRAND и RDSEED стали доступнее Всем привет! Сам я криптографией не занимаюсь, но кому то вполне может пригодится мое небольшое исследование. Решил разобраться со встроенными в процессор функциями RDRAND и RDSEED. Компилятор Delphi сказал Undeclared identifier. Хмм. Уже давно существует BMI, BMI2, AVX, AV...

Проксируем файлы из AWS S3 средствами nginx Казалось бы, задача реализации фронтенда для AWS на nginx звучит как типовой кейс для StackOverflow — ведь проблем с проксированием файлов из S3 быть не может? На деле выяснилось, что готовое решение не так-то просто найти, и данная статья должна исправить эту ситуацию. З...

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

Яндекс ответил на запрос РКН о попадании в выдачу файлов Google Docs Яндекс предоставил Роскомнадзору первый ответ касательно инцидента с индексацией документов Google Docs. Об этом сообщают «Ведомости» со ссылкой на представителя РКН. Пользователи массово обратили внимание на то, что в результатах поиска Яндекса отображаются незащищённые фай...

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

Uber хочет создать собственные электросамокаты По словам Bloomberg, Uber работает над созданием электросамокатов, чтобы конкурировать с Lime, Bird, Scoot и другими. Проект контролируется компанией Jump, стартапом велошеринга, который Uber приобрёл в апреле за 200 миллионов долларов.О разработках мало что известно. Непоня...

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

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

[Из песочницы] Пишем GeoIP exporter для Prometheus с визуализаций в Grafana за 15 минут Привет всем! Я хочу поделиться с вами тем, как легко можно написать свой экспортер для Prometheus на Golang и покажу как это можно сделать на примере небольшой программы, которая следит за тем, откуда географически установлены текущие TCP соединения. Читать дальше →

[recovery mode] Рассказываем, как работать с системным диском macOS на PC Группа компаний Paragon Software возвращается на Хабр, чтобы рассказать об инструменте для чтения и копирования APFS-разделов на ПК. Так сложилось, что Windows по умолчанию не читает жесткие диски и носители, записанные на Mac. При подключении такого носителя к ПК, Windows ...

Транспилятор PAS2JS из Паскаля в JavaScript: несовместимости с Delphi и пути обхода В наше время в кармане обычного человека лежит мощный персональный компьютер, о котором 10-20 лет назад можно было только мечтать. И если у вас километры отлаженного Windows-кода и отлично работающие приложения и утилиты, написанные на Delphi, вы наверняка хотели бы задейств...

[Javawatch Live] История одного pull request. `os.version` в SubstrateVM Прошел год с тех пор, как удалась предыдущая выходка: опубликовать вместо поста ролик на YouTube. «Стыдный разговор о синглтонах» набрал 7к просмотров на YouTube и вдвое больше на самом Хабре в текстовой версии. Для статьи, написанной в совершенно упоротом состоянии и расска...

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

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

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

В исходном коде файлов PlayStation Classic найдены десятки названий игр не из основного списка и скрытое меню На Хабре уже несколько раз публиковались новости и статьи о портативной консоли PlayStation Classic, которая, как рассчитывают в Sony, найдет своих покупателей среди ностальгирующих геймеров. У Sony есть основания так считать, поскольку опыт Nintendo показывает, что желающ...

ITIL и новые модные штуки В самом начале 2000-х мне, как и многим другим ребятам, было очень важно узнать: как организовать современный (на тот момент) ИТ-департамент коммерческой компании среднего размера. Скажем, на 50-200 «айтишников». То был не праздный интерес, а вполне реальная зад...

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

[Из песочницы] Node.JS: библиотека для модификации http ответов Некоторое время назад писал сайт с бэкендом на Express/Node.JS. Возникла проблема с минификацией ответов. Нашел много готовых пакетов, но у всех была проблема — не минифицировался html после шаблонов. В итоге принял решение написать свой маленький и родной велосипед — библио...

Поэтапная настройка Continues Integration (build, test, deploy) для .NET Core WebApp + GitHub Поэтапная настройка Continuous Integration (build, test, deploy) для .NET Core WebApp + GitHub Всем привет. Continues Integration (CI) давным-давно проник в мир разработки программного обеспечения и для многих является его неотъемлемой частью, которое позволяет создавать б...

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

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

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

[Перевод] 15 советов по работе с Github Я 10 лет разрабатываю ПО, участвовал в нескольких open source-проектах и в многочисленных не-open source-проектах, работал в больших и малых командах, и везде мы использовали Github в качестве репозитория версионирования. За это время я перепробовал разные рабочие процесс...

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

Украинский monobank открыл возможность получать зарплаты и выплаты ФОП на свои кредитные карты, возмещая комиссию за снятие наличных В украинском «мобильном банке» monobank запустили новый проект для субъектов предпринимательской деятельности и тех пользователей, которые хотели бы получать зарплату на эту карту. Если пользователь является физлицом-предпринимателем (ФОП) или получает зарплату на ...

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

GObject: инкапсуляция, инстанциация, интроспекция … а также другие страшные слова! (с) Прежде чем мы познакомимся с некоторыми продвинутыми возможностями объектной системы типов GLib, необходимо поговорить о ряде моментов, которые мы не затронули в предыдущих двух статьях. В этот раз мы познакомимся ближе с базовым типом G...

Microsoft выложила исходные коды MS-DOS Опубликованы исходники двух версий MS-DOS (1.25 и 2.0), написанных на ассемблере для процессоров Intel 8086. Причем представлены те же файлы, что были опубликованы Музеем компьютерной истории еще в 2014 году. Microsoft решила воспользоваться площадкой GitHub, что заинтересов...

Элементарный Canvas Если вы изучаете веб совсем недавно, но уже успели увидеть различные красивые эффекты на сайте, по типу системы частиц или какие либо игры разработанные на canvas'e и вас это заинтриговало, но изучать что-то новое очень страшно, то я вам готов продемонстрировать, как за 50 с...

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

GandCrab можно обмануть и избежать шифрования В южнокорейской ИБ-компании AhnLab создали приложение, способное воспрепятствовать шифрованию файлов на ПК Windows, зараженных GandCrab 4.1.2 — вариантом вымогателя, появившимся 17 июля. Эту “вакцину”, как сказано в репортаже Bleeping Computer, можно использовать...

Группировка Outlaw перепрофилировала свой IoT-ботнет Румынская группировка Outlaw, создавшая ботнет на основе IoT-устройств и Linux-серверов, теперь использует его не только для DDoS-атак, но и для майнинга Monero, а также поиска уязвимых к брутфорс-атакам хостов. Это стало возможно благодаря добавлению двух разновидностей бот...

Lazarus — пишем компонент для анимации спрайтов Вместо предисловия В одесской школе ученики 8-го класса на уроках информатики используют бесплатную кроссплатформенную среду разработки Lazarus (официальный сайт: www.lazarus-ide.org), внешне и внутренне очень напоминающую любимый многими Delphi, использующую версию Object P...

Форматирование исходного кода в Linux средствами ClangFormat: проблемы и решение Согласитесь, приятно и полезно, когда в проекте исходный код выглядит красиво и единообразно. Это облегчает его понимание и поддержку. Покажем и расскажем, как реализовать форматирование исходного кода при помощи clang-format, git и sh. Читать дальше →

Heroes Charge 2.1.94 Heroes Charge – крутая и современная игра в жанре РПГ. Обучайте своего героям различным навыкам ведения боя соберите команду из смельчаков и отправляйтесь в бой. Всегда хотели почувствовать себя настоящим героем и спасти мир? Тогда наша игра для вас. Создайте своего г...

[Перевод] Уязвимость runC, затрагивающая Kubernetes, Docker и containerd Сообщество Linux занято сейчас устранением недавно обнаруженной уязвимости, которая касается средства для запуска контейнеров runC, используемого Docker, CRI-O, containerd и Kubernetes. Уязвимость, получившая идентификационный номер CVE-2019-5736, даёт заражённому контейне...

Что такое смарт-папки и для чего они нужны Немногие знают, но в macOS есть такая полезная функция как смарт-папки. Несмотря на название, это не папка в привычном понимании слова. Это скорее организация файлов по заданным критериям. На самом деле, изучив в полной мере возможности смарт-папок, вы сможете сделать свою ...

[recovery mode] Комфортная работа с Android Studio Всем доброго времени суток! Насколько производительно работает Android Studio? Считаете ли Вы, что она работает шустро на Вашем ПК или Mac? Или, иногда, сталкиваетесь с лагами или долгой сборкой? А на крупных проектах? В любом случае, всем нам хочется получать максимальную ...

Как переименовать сразу нескольких файлов в macOS До выхода OS X Yosemite не было простого и интуитивно понятного способа сменить название нескольких файлов за один раз. Для такой простой задачи приходилось запускать такие приложения, как «Automator» или «Терминал». К счастью, все это в прошлом, поскольку теперь Finder об...

Для тех, кто хочет поиграть в детектива: найди ошибку в функции из Midnight Commander Приглашаем попробовать найти ошибку в очень простой функции из проекта GNU Midnight Commander. Зачем? Просто так. Это забавно и интересно. Хотя нет, мы соврали. Мы в очередной раз хотим продемонстрировать ошибку, которую с трудом находит человек в процессе code review, но л...

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

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

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

[Перевод] Тим Бернерс-Ли выходит на тропу войны: «Один маленький шаг для web…» Я всегда считал, что web для всех. Вот почему я и все остальные яростно сражаются, чтобы защитить его. Изменения, которых нам удалось добиться, создали лучший и более связанный мир. Но помимо всего хорошего, что мы достигли, сеть превратилась в двигатель несправедливости и...

[Перевод] Чему я научился, создав 100 игр за 5 лет Мой марафон закончен! С июня 2012 года по июнь 2017 года я создал 100 игр. Прежде, чем мы углубимся в подробности, мне нужно немного рассказать о своём проекте «100 игр за пять лет» и вкратце изложить числа и факты о самих играх. Небольшое объяснение В 2012 году я решил ...

простой вопрос, но не простой ответ Давайте что-ли о математике поговорим? Поспорил с "клиентом", которым выступил коллега по работе.Вопрос очень простой:  он захотел модель в 2 раза больше. Ведь куда проще сделать в 2 раза больше, но ведь в 3D не все так просто?Приведем простой пример - если у тебя один ...

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

Создаем бота на Aimylogic для автоматизации онлайн-магазина Про автоматизацию общения с клиентами сегодня не пишет только ленивый. Но вот как начать ее использовать на практике — об этом рассказывают редко. Мы в Just AI понимаем, что автоматизация — это тренд, и знаем, как она может помочь вашему малому и большому бизнесу. И сегод...

[Из песочницы] Как мы хостинг создавали Я давно хотел поделиться нашим опытом создания хостинг компании. И вот этот день настал. История основного хостинг проекта «N», который был создан в 2011 году, когда было 18 лет. До этого был опыт с другими хостинг компаниями в качестве системного администратора. Со своим па...

RFM-анализ одной кнопкой или как мы облегчили клиентам жизнь С тех пор как в компании Mindbox впервые произнесли Machine Learning, общей целью стала Большая Зеленая Кнопка. Это такая кнопка во весь экран, при нажатии на которую всё работает само и приносит прибыль. В аналитическом проекте «RFM» цель менее амбициозная — Маленькая зе...

Я детей вообще-то боюсь, милостивый мой государь, – шумливы, жестоки и себялюбивы, а коли дети правят державой? Представьте себе, что руководитель пресс-службы NASA на своей странице в Facebook банит пользователей, задавших вопрос, на который он не хочет отвечать т.к не может написать правду. А затем же на этой странице публикует пост со статусом «feeling wonderful» о том, что забанил...

DNS over TLS — Шифруем наши DNS запросы с помощью Stunnel и Lua источник изображения После новости о том что "Google Public DNS тихо включили поддержку DNS over TLS" я решил попробовать его. У меня уже есть Stunnel который создаст шифрованный TCP туннель до гугла. Но программы обычно общаются с DNS по UDP протоколу. Поэтому нам нужен п...

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

Square Enix: The Quiet Man — это экспериментальная игра в духе независимых проектов Компания Square Enix опубликовала второе официальное письмо продюсера кинематографического экшена The Quiet Man Кенсея Фудзинаги (Kensei Fujinaga), в котором он объяснил, что для издательства это первая экспериментальная игра такого плана. «The Quiet Man &mdas...

Введение в Maven от Balaji Varnasi и Sudha Belida (перевод) От переводчика: Несколько лет назад я поставил себе целью быстро, но достаточно плотно познакомиться с таким повсеместно используемым фреймворком, как Apache Maven. Практически моментально мне удалось найти соответствующую литературу, но я был слегка удивлен тем фактом, что ...

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

Анализ поведения трояна Pegasus в сети Недавно был опубликован исходный код банковского трояна Pegasus. Несмотря на упоминание группы Carbanak в названии архива, исследователи из компании Minerva Labs опровергли причастность трояна к этой группе и доказали причастность к группе Buhtrap (Ratopak). Внутри архива на...

Google, Microsoft, Facebook и Twitter работают вместе над одним проектом Что делать, если ваши данные разбросаны по различным популярным интернет-сервисам? К примеру, в вашем фотоальбоме Facebook скопилось очень много фотографий, которые вы хотели бы перенести в Google Photo, или наоборот? Сейчас для того, чтобы провернуть такую авантюру, вам пон...

Подключение OpenSSL в Mono В предыдущей статье был описан процесс интеграции ГОСТовых сертификатов КриптоПро с mono. В этой же подробно остановимся на подключении RSA сертификатов. Мы продолжали переносить одну из наших серверных систем написанных на C# в Linux, и очередь дошла до части связанной с RS...

Octoprint. Автоматическая загрузка файлов из Simplify3D (с поддержкой кириллицы) Достаточно давно известен способ загрузки файлов и Simplify3D в Octoprint c помощью утилиты curl. Я им довольно долго и успешно пользовался. Но у него есть недостаток. Файлы содержащие в названии кириллицу передаются, но русские буквы становятся нечитаемыми.Были решения этой...

[Из песочницы] Автоматическая сборка Unity-проектов для Android и iOS с помощью Gitlab CI В этой статье хочу рассказать о подходе к сборке Unity-проектов на android и ios через Gitlab на собственных сборщиках с macOS. Я работаю в небольшой gamedev компании, и задача автоматизации сборки появилась из-за следующих проблем: 5 распределенных команд должны собирать п...

ML-Блиц: разбор задач первого квалификационного раунда 23 июня 2018 года состоялся финал ML-Блица, конкурса по машинному обучению, организованного Яндексом. Ранее мы анонсировали его на Хабре и рассказывали, какие примерно задачи могут встретиться на реальном соревновании. Теперь мы хотим поделиться с вами разборами задач одного...

«Машинный звук»: синтезаторы на базе нейросетей Разработчики из исследовательского проекта Magenta (подразделение Google) представили синтезатор с открытым исходным кодом NSynth Super. В его основе лежит система искусственного интеллекта, которая миксует несколько предварительно загруженных сэмплов (например, звучание гит...

Под капотом Graveyard Keeper: Как реализованы графические эффекты Всем привет! Целых 4 года я не писал на Хабр. Последняя моя серия постов была о различных инструментах и приемах, которые мы применяли на нашей прошлой игре (разрабатывая ее на Unity). С тех пор игру ту мы благополучно выпустили, а также выпустили и новую. Так что теперь мож...

[Перевод] Модульный Sci-Fi уровень на UE4: вдохновляемся Ностромо и Серенити Баланс и реиграбельность, пожалуй, одни из главных моментов для PvP-шутера. Визуал тоже важен и для всего этого у нас есть целый пайплайн левел-дизайнера. Другое дело — жанры, где атмосфера окружения стоит на первом месте, а над уровнем работает один человек вместо целой ком...

Под капотом Screeps — виртуализация в MMO-песочнице для программистов В этой статье я расскажу про одну малоизвестную технологию, которая нашла ключевое применение в нашей онлайн-игре для программистов. Чтобы долго не тянуть резину, сразу спойлер: кажется, что такого шаманства в нативном коде Node.js, к которому мы пришли после нескольких лет ...

[Перевод] Чек-лист по анализу логов событий безопасности Сегодня тема мониторинга IT – инфраструктуры и анализа логов набирает все большую и большую популярность. В первую очередь все задумываются о мониторинге событий безопасности, о чем и будет идти речь в данной статье. Несмотря на то, что на эту тему сказано и написано уже д...

О чем думать на NALSD собеседовании Я описывал ранее типичное кодинг-интервью. Помимо кодинга почти всегда есть вопрос на проектирование систем. (Large) System Design. В случае собеседований на SRE, это еще более интересный (как по мне) зверь — NALSD. Non-abstract large system design. Главное отличие между SWE...

Таймтрекер на Google Scripts, Docs и Spreadsheets В предыдущей статье речь шла о подходе к техническому заданию в Decart IT-production. Когда мы внедрили эти изменения, проекты велись в облачной Jira, но ее потенциал использовался на минимальном уровне. Для небольшой компании достаточно грамотной постановки задач, таймтре...

В Роскосмосе хотят отправлять туристов на орбиту по "гагаринскому" маршруту "Запускаем проект облета Земли по короткому "гагаринскому" маршруту, что позволит сократить сроки подготовки к полету желающих увидеть нашу планету из космоса", - написал в своем микроблоге глава Роскосмоса Дмитрий Рогозин.

Математика в Gamedev по-простому. Кривые и дождь в Unity Всем привет! Меня зовут Гриша, и я основатель CGDevs. Продолжим говорить про математику что ли. Пожалуй, основное применение математики в геймдеве и компьютерной графики в целом – это VFX. Вот и поговорим про один такой эффект – дождь, а точнее про его основную часть, требую...

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

[Из песочницы] Как выруливать с legacy code, когда проект нужно было на вчера Привет. Меня зовут Иван Мельничук, я Head of Development Department в украинской IT-компании. В публикации хочу поделиться личными профессиональными подходами относительно решения вопроса legacy code в условиях стремительного развития проекта и рассказать о приемах, к которы...

«Class-fields-proposal» или «Что пошло не так в коммитете tc39» Все мы давным давно хотим нормальную инкапсуляцию в JS, которую можно было бы использовать без лишних телодвижений. А ещё мы хотим удобные конструкции для объявления свойств класса. И, напоследок, мы хотим что бы все эти фичи в языке появились так, что бы не сломать уже суще...

Про одного парня История реальная, я все видел своими глазами. Несколько лет один парень, как и многие из вас, работал программистом. На всякий случай напишу так: «программистом». Потому что он был 1Сником, на фиксе, производственной компании. До этого он пробовал разные специальности – 4 ...

Насколько R быстр для продуктива? Есть такой популярный класс задач, в которых требуется проводить достаточно глубокий анализ всего объема цепочек работ, регистрируемых какой-либо информационной системой (ИС). В качестве ИС может быть документооборот, сервис деск, багтрекер, электронный журнал, складской уче...

Как спрятать файлы и папки в Windows и macOS Если вы не хотите делиться конфиденциальной информацией с коллегами или домочадцами, вот несколько способов её спрятать.

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

«Хочу уйти с завода в веб» — 10 вопросов программисту, 8 выпуск Помните, три года назад один парень написал сверхпопулярную статью, как он от скуки делал игры в армии. Это Анатолий (oWart), выпускник НИУ «МЭИ». Сейчас ему 27, он живет в Смоленске, работает инженером-конструктором, растит двухлетнюю дочку. В новом выпуске 10 вопросов пр...

[Перевод] Роботы начинают справляться с манипулированием произвольных объектов Как новое поколение захватов с улучшенным трёхмерным восприятием и тактильными ощущениями обучается манипулировать объектами из большого спектра Захват, созданный компанией Robotic Materials Inc., основанной автором статьи, выполняет задачу по манипуляции на соревновании по...

Как подружить дисплей MKS TFT28 и плату MKS SBASE v1.3 Smoothieware (смузи) Итак, приобрел я 32-х битную плату MKS-SBASE v 1.3 подключил, залил последнюю версию прошивки, настроил конфигрурацию. Пришло время подключать TFT дисплей, подключаю шлейф, прошиваю дисплей, появляются красивые значки на экране, все кнопочки нажимаются, а плата не управляетс...

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

Как вырастить лес на Actionscript3/Flash в несколько* строк кода Вот в этом комменте я похвастался, что в своё время написал программу, создающую рендер «пристойно выглядящего» леса в двести строк кода. К сожалению, реальность оказалась немного большей по размеру — раскопанные исходники содержат примерно 2100 строк кода, из которых где-то...

Полномасштабный DevOps: греческая трагедия в трёх актах Траге́дия (от нем. Tragödie из лат. tragoedia от др.-греч. τραγωδία) — жанр художественного произведения, предназначенный для постановки на сцене, в котором сюжет приводит персонажей к катастрофическому исходу. Большинство трагедий написано стихами. Эта трагедия написана Б...