Социальные сети Рунета
Четверг, 23 мая 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...

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

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

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

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

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

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

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

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

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

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

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

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

Что делать, если для постройки робота не хватает кубиков? Моя предыдущая статья была написана, в первую очередь, для менеджеров проектов и руководителей направления RPA. Эту статью я хотел бы адресовать, в первую очередь, программистам и тем, кому приходится с роботизацией сталкиваться face-to-face. Первые несколько процессов, кот...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Настройка файла подкачки в Windows 10: как увеличить, изменить, отключить? Файл подкачки в Windows служит для расширения оперативной памяти в том случае, если ее не хватает. Написали для вас шпаргалку по манипуляциям с подкачкой: как ей управлять?

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

Как на самом деле надо сравнивать цены Apple в США и РФ. Личный опыт Сначала хотел написать комментарий к неоднозначным сравнениям цены на продукцию Apple в статье, но текста получилось слишком уж много. Pochtoycom (на самом деле не только они) лукавят, сравнивая цены Apple в РФ и в США. Действительно, в США возможно купить iPhone дешевле,...

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

Распределенная компиляция C/C++ проектов с помощью ICECC … Работаете вы, например, над очень большим проектом. Проект реально очень большой, написан на C или C++, и его билд «с нуля» может занять несколько часов, да и сборка после каких-то фиксов или патчей тоже требует немало времени, особенно если изменения коснулись чего-то фу...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Новинка ON Semiconductor предназначена для устройств IoT без элементов питания Компания ON Semiconductor представила мультисенсорную платформу, работающую исключительно от солнечного элемента. По словам производителя, это законченное решение предназначено для разработки устройств IoT без элементов питания или аккумуляторов и оснащено интерфейсом B...

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

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

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

[Перевод] Глубокое обучение с подкреплением: пинг-понг по сырым пикселям Это давно назревшая статья об обучении с подкреплением Reinforcement Learning (RL). RL – крутая тема! Вы, возможно, знаете, что компьютеры теперь могут автоматически учиться играть в игры ATARI (получая на вход сырые игровые пиксели!). Они бьют чемпионов мира в игру Го, ви...

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

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

Новинка ON Semiconductor предназначена для устройств IoT без элементов питания Компания ON Semiconductor представила мультисенсорную платформу, работающую исключительно от солнечного элемента. По словам производителя, это законченное решение предназначено для разработки устройств IoT без элементов питания или аккумуляторов и оснащено интерфейсом B...

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

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

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

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

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

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

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

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

Начались продажи троянов в исходном коде с учебником для тех, кто не умеет программировать В последнее время в даркнете встречается немалое количество ресурсов, предлагающих шифровальщики как услугу (RaaS), где от клиента вообще не требуется никаких или почти никаких технических знаний. Однако Inpivx работает по иному принципу.За $500 клиенту предлагается исходные...

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

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

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

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

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

Как заархивировать файл на iOS и отправить его адресату Несмотря на распространенное суждение об отсутствии возможности полноценно работать с файлами на iOS, на деле все обстоит несколько иначе. Apple действительно ограничивает пользователей в их праве свободно взаимодействовать с файловой системой, однако оставляет им разного р...

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

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

[Перевод] Таймер в iOS Представьте, что вы работаете над приложением, в котором нужно периодически выполнять некоторые действия. Именно для этого в Swift используется класс Timer. Timer используется для планирования действий в приложении. Это может быть разовое действие или повторяющаяся процедур...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Wireshark 3.x: анализ кода под macOS и обзор ошибок Wireshark Foundation выпустила финальную stable-версию популярного сетевого анализатора трафика — Wireshark 3.0.0. В новом релизе устранено несколько багов, реализована возможность анализа новых протоколов и заменен драйвер WinPcap на Npcap. Здесь заканчивается цитирование ...

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

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

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

E-Dobavki — веб-сервис поиска пищевых добавок на Java и Spring Boot, написанный моими студентами Введение Так получилось, что последние почти два года я преподаю программирование в одной из IT школ Киева. Занялся я этим Just For Fun. Когда-то я вел блог по программированию, потом забросил. Но желание рассказывать полезные вещи заинтересованным людям никуда не делось. Мо...

[Перевод] Проект «Прометей»: поиск пожаров с помощью ИИ Перевод Project Prometheus — An AI-powered fire finding solution Мы с коллегами работаем в проекте Prometheus («Прометей») — это решение для раннего обнаружения пожаров, в котором объединены ИИ, компьютерное зрение, автоматические дроны и сервисы прогноза погоды. Этот ком...

Как я создавал Recycle! VR В предыдущей статье мы попробовали создать базовую сцену в A-Frame, чтобы опробовать основные концепции фреймворка на практике. В этой статье я хотел бы поделится своим опытом создания игры на A-Frame — Recycle! VR. Репозиторий проекта доступен по следующей ссылке. Перера...

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

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

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

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

Как мы делали SCRUM Страшный сон команды разработчиков — это когда до начала разработки надо «нырнуть» в неизвестную предметную область и «проэстимейтить» half-baked idea. При этом нужно буквально «подписаться кровью» за результат в назначенный срок за фиксированные деньги. На деле дать точную...

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

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

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

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

[Из песочницы] Удаленный мониторинг и управление устройств на базе Lunix/OpenWrt/Lede через 80-ый порт… Всем привет, это мой первый опыт на Хабре. Хочу написать о том, как нестандартно управлять сетевым оборудованием во внешней сети. Что значит нестандартно: в большинстве случаев, для управления оборудованием во внешней сети Вам необходимо: Публичный IP-адрес. Ну, или если...

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

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

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

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

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

Система скриптового 3д моделирования ZenCad Та работа, которую я хочу представить вашему вниманию, есть попытка еще раз написать систему скриптового 3д моделирования. Написать так, как я её хотел бы видеть. Рецепт системы ZenCad довольно прост. Концепт скриптового 3д моделирования OpenScad, геометрическое ядро OpenCas...

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

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

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

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

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

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

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

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

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

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

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

Запускаем инструментальные тесты в Firebase Test Lab. Часть 1: iOS проект Меня зовут Дмитрий, я работаю тестировщиком в компании MEL Science. Совсем недавно я закончил разбираться со сравнительно свежей фичей от Firebase Test Lab — а именно, с инструментальным тестированием iOS приложений с использованием нативного фреймворка тестирования XCUITe...

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

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

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

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

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

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

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

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

[Из песочницы] Нужно ли писать weak self в Grand Central Dispatch? Тут у нас возник спор: нужно ли писать [weak self] в GCD? Один говорит: – [weak self] нужно писать везде! Второй говорит: – Нет, даже если не писать [weak self] внутри DispatchQueue, утечки памяти не будет. Вместо того, чтобы разбираться, легче написать пару строк. Тяжеле...

Мал, да удал: реальный взгляд на японский проект Minimal Fab 16 мая в МИЭТ (Зеленоград) прошел уже традиционный семинар-встреча с японскими разработчиками и производителями компактной технологической линеек, так называемого Minimal Fabа. Предыдущий большой семинар проходил там же в 2017, и на youtube есть почти трехчасовая запись. ...

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

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

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

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

Пишем на Rust + CUDA C Всем привет! В данном руководстве хочу рассказать как подружить CUDA C/С++ и Rust. И в качестве примера напишем небольшую программу на Rust для вычисления скалярного произведения векторов, вычисление скалярного произведения будет производиться на GPU с использованием CUDA ...

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

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

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

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

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

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

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

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

[Перевод] Асинхронный PHP. Зачем? Асинхронное программирование сегодня востребовано, особенно в веб-разработке, где отзывчивость приложения особенно важна. Никому не хочется ждать, пока приложение «отвиснет», пусть даже в это время оно выполняет запрос к базе данных, отправляет электронное письмо или работ...

ATtiny13 против ПЛК, или как получить 14 I/O от контроллера с 8 ногами Прежде чем приступить, хотел бы предупредить рьяного читателя. То, что я описываю, делать нельзя по многим причинам, эти причины вам радостно укажут в комментариях, и я ни коим образом не призываю так делать. И ни в коем случае я не утверждаю, что описанным ниже устройст...

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

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

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

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

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

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

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

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

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

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

[Перевод] Python — помощник в поиске недорогих авиабилетов для тех, кто любит путешествовать Автор статьи, перевод которой мы публикуем сегодня, говорит, что её цель — рассказать о разработке веб-скрапера на Python с использованием Selenium, который выполняет поиск цен на авиабилеты. При поиске билетов используются гибкие даты (+- 3 дня относительно указанных дат). ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 позволяет выполнять резервное копиро...

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

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

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

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

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

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

Колонка редактора: инфобизнес в благотворительности Евгений Зубов в родном городе Тольятти успел запустить серию it-порталов, информационных сайтов, модельное агентство. Уезжать не хочет и не думал, в свои 27 много путешествует. И бизнеса в один момент стало мало. Понял, что его навыки могут помочь в благотворительности, где...

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

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

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

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

Кластерное хранилище для небольших web-кластеров на базе drbd+ocfs2 О чем мы расскажем: Как быстро развернуть общее хранилище для двух серверов на базе решений drbd+ocfs2. Для кого это будет полезно: Туториал станет полезен системным администраторам и всем, кто выбирает способ реализации хранилища или хотят попробовать решение. От каких р...

[Из песочницы] Уведомления о входах на сервер (SSH/TERMINAL) дешево и сердито Приветствую сообщество. Это первая публикация, далеко не профи-администратора, но просто захотелось поделиться короткой и простой наработкой, которая может оказаться полезной для такого же новичка как я сам. Сложилось так, что потребовалось контролировать около 30 VDS-ок на...

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

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

Кастомизация Repetier: добавляем физические кнопки для управления принтером Нравится мне repetier за относительно простую кастомизацию прошивки. Но почему-то сложилось так, что на repetier тяжелее найти какую-либо информацию из-за не слишком большой популярности. В основном все предпочитают пользоваться Марлином. Да и сообщества у Marlin побольше бу...

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

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

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

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

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

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

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

Главный секрет Google I/O 2019, о котором не узнать из интернета Титульная конференция крупнейшего гиганта рекламного бизнеса отгремела уже как неделю, а некоторые до сих пор пишут статьи. Так как всё, что можно было написать про программу и главные новинки, уже написано (привет phillennium), то что остаётся скромному посетителю? Только р...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[Перевод] 20 лет RollerCoaster Tycoon: интервью с создателем игры 31 марта 1999 года была выпущена игра RollerCoaster Tycoon, полностью созданная одним человеком и написанная на языке ассемблера x86. В честь юбилея игры мы публикуем перевод интервью с автором, записанное в 2016 году. Сегодня мало кто помнит имя шотландского программиста ...

[Перевод] Open source не приносит денег, потому что не создан для этого Лучший способ что-то сделать — хотя бы попробовать Все знают, что на open source невозможно заработать, верно? Я сейчас размышляю на эту тему, потому что Mozilla хочет в ближайшие несколько лет диверсифицировать доходы, но у нас одно ограничение — все разработки обязатель...

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

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

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

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

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

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

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

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

Вариатор vs государство — Скажите, имею ли я право… — Имеете, имеете! — Да Вы не поняли, я хотел узнать, имею ли я право… — Да точно говорю, имеете! — Да Вы объясните, могу ли я… — А-а-а… Нет, не можете! © (Анекдот о юристах) Предыстория Около года назад я опубликовал статью Вариатор...

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

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

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

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

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

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

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

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

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

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

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

[Перевод] composer и автодополнение командной строки Так как я все больше и больше добавляю свои скрипты в файлы composer.json, было бы полезно иметь автозаполнение для команды composer в bash. Мой вопрос в Твиттере не дал немедленного решения, и, поскольку я уже делал нечто подобное для Phing, я закатал рукава и написал своё ...

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

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

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

[Перевод] KlusterKit KlusterKit: набор инструментов с открытым исходным кодом для упрощения деплоев Kubernetes и работы в физически изолированных локальных средах Сегодня мы с радостью объявляем, что Platform9 открывает исходные коды Klusterkit, набора из трех инструментов, по лицензии Apache v...

Как мы в IntelliJ IDEA ищем лямбда-выражения Важной возможностью любой IDE является поиск и навигация по коду. Один из часто используемых вариантов поиска на языке Java — поиск всех реализаций данного интерфейса. Часто такая функция называется иерархией типов (Type Hierarchy) и выглядит как на картинке справа. Перебира...

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

Разработчики Google Chrome хотят блокировать загрузку некоторых типов файлов через HTTP Инженер Google предлагает запретить HTTPS-сайтам инициировать загрузку определенных типов файлов посредством HTTP. В список запрещенных могут включить файлы EXE, DMG, CRX и все форматы популярных архиваторов.

В Google Docs можно будет напрямую редактировать файлы Microsoft Office Сервис для совместной работы с документами Google Docs получил встроенную поддержку файлов Microsoft Office. Ранее для редактирования, комментирования и совместной работы с этими файлами, их нужно было конвертировать в формат, поддерживаемый Google Docs. Теперь их можно загр...

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

Лучшие «облака» без регистрации, или как удобно передавать файлы между iPhone, Android, Mac и Windows Интернет позволяет быстро обмениваться документами. Основным инструментом для этого была и остается электронная почта. Но облачные технологии сделали обмен файлами еще более проще. Вы хотите передать свой файл кому-то, но не пользуетесь Dropbox, Яндекс.Диском, Google Диском ...

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

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

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

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

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

Есть ли гарантия без ТО? «АвтоВАЗ» ответил владельцу LADA Vesta Автомобилист решил проверить, действует ли гарантия, если нарушить условия её соблюдения. На официальном сайте «АвтоВАЗ» в первом пункте условий соблюдения производителем гарантии написано, что клиент должен своевременно и обязательно выполнять плановое техническое обслужив...

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

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

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

Назло Ответам@Mail.Ru. «Яндекс» купил сервис вопросов и ответов TheQuestion Компания «Яндекс» объявила о покупке сервиса вопросов и ответов TheQuestion. Он будет объединён с аналогичным фирменным сервисом «Яндекс.Знатоки», который не пользовался особой популярностью. Руководить объединённым проектом станет Тоня Самсонов...

Бесплатные варианты лицензирования PVS-Studio Существует несколько вариантов бесплатного лицензирования статического анализатора кода PVS-Studio, предназначенного для поиска ошибок и потенциальных уязвимостей. Бесплатной лицензией могут воспользоваться открытые проекты, маленькие закрытые проекты, публичные специалисты...

[Перевод] Какой здесь this? Внутренняя работа объектов JavaScript Фотография: "Любопытный" Liliana Saeb (CC BY 2.0) JavaScript – это мультипарадигмальный язык, который поддерживает объектно-ориентированное программирование и динамическое связывание. Динамическое связывание — это мощная концепция, которая позволяет изменять структуру JavaS...

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

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

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

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

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

Удалось обнаружить десятки корпоративных хранилищ Box.com, раскрывающих данные компаний Apple, Herbalife и т.д Исследователи из Adversis обнаружили десятки корпоративных аккаунтов на сервисе облачного хранения файлов Box.com, которые содержали свободно доступную чувствительную корпоративную информацию и персональные данные клиентов. Всего было найдено более 90 компаний, у которых на...

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

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

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

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

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

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

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

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

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

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

Резервирование в Kubernetes: оно существует Меня зовут Сергей, я из компании ITSumma, и я хочу вам рассказать, как мы подходим к резервированию в Kubernetes. В последнее время я много занимаюсь консультативной работой по внедрению разнообразных devops-решений для различных команд, и, в частности, плотно работаю по про...

[Перевод] Почему SvelteJS возможно лучший фреймворк для новых веб-разработчиков Любой веб-разработчик, который занимается этим хотя бы несколько лет, наверняка день за днем слышит подобный вопрос: Я действительно хочу стать веб-разработчиком, но я не знаю с чего начать. Есть какие-то предложения? Лет 10 назад ответ был очень прост. Просто создайте in...

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

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

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

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

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

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

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

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

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

Назло Ответам@Mail.Ru. «Яндекс» купил сервис вопросов и ответов TheQuestion Компания «Яндекс» объявила о покупке сервиса вопросов и ответов TheQuestion. Он будет объединён с аналогичным фирменным сервисом «Яндекс.Знатоки», который не пользовался особой популярностью. Руководить объединённым проектом станет Тоня Са...

Минкомсвязь настаивает на едином операторе 5G Несмотря на критику экспертов и операторов мобильной связи, Минкомсвязь настаивает на едином инфраструктурном операторе, ссылаясь на нехватку частот, пишет РБК. За создание единого инфраструктурного оператора несколько лет выступает «Ростелеком», который хотел бы выполнят...

Еще одна система мониторинга 16 модемов, 4 сотовых оператора= Исходящая скорость 933.45 Мбит/с Введение Привет! Это статья про то, как мы написали для себя новую систему мониторинга. От существующих она отличается возможностью высокочастотного синхронного получения метрик и очень маленьким потребление...

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

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

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

С сожалением об отсутствии в C++ полноценного static if или… … как наполнить шаблонный класс разным содержимым в зависимости от значений параметров шаблона? Когда-то, уже довольно давно, язык D начали делать как "правильный C++" с учетом накопившегося в C++ опыта. Со временем D стал не менее сложным и более выразительным языком, чем C...

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

Как я устанавливал нагрев стола на MakerBot Replicator 2 или танцы с бубном Доброго времени суток, уважаемые друзья! Настал наконец тот день, когда я допилил нагревательный стол на свой MakerBot Replicator 2. Подсоединил стол согласно инструкции https://www.youtube.com/watch?v=VSIu8YKadmc включил его в настройках, проверил предпрогрев – всё работало...

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

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

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

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

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

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

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

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

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

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

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

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

[Перевод] Любопытные извращения из мира ИТ — 3 Сайт The Daily WTF уже 14 лет собирает курьёзные, дикие и/или печальные истории из мира ИТ. Я перевёл несколько рассказов, показавшихся мне интересными. Все имена и названия компаний изменены. Предыдущие выпуски можно найти по метке "любопытные извращения". История первая:...

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

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

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

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

[Перевод] Я выставил счёт $18 000 за статичную веб-страничку… и мне это сошло с рук Не так давно я работал контрактником, перескакивая с одного проекта на другой. С некоторыми краткосрочными проектами справлялся за неделю. Другие длились пару месяцев. Они приносили достаточно денег, чтобы взять отпуск. Но я предпочитал короткие, потому что там можно было ус...

Git это круто! Ваш кэп Это, пожалуй, будет самая короткая моя статья. Более того, сама идея, изложенная в ней, очевидная. Часто в WEB проектах возникают задачи по доставке статики на прод вне релизов. Например, нужно выложить файлы для SPA со всякой маркетинговой лабудой, типа актуальных комиссий...

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

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

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

[Перевод] Введение в геномику для программистов Об авторе. Энди Томасон — ведущий программист Genomics PLC. Он с 70-х годов занимается графическими системами, играми и компиляторами; специализация — производительность кода. Гены: краткое введение Геном человека состоит из двух копий примерно по 3 миллиарда пар оснований...

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

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

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

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

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

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

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

[Из песочницы] Как я боролся с Shared Element Transition и написал свою первую opensource библиотeку Нет повести печальнее на свете, чем повесть о ViewPager’e и SET’e Хочется предупредить, что автор ‒ новичок андроид, поэтому статья содержит столько технических неточностей, что вас, скорее, нужно предупредить о том, что в статье могут встретиться технически достоверные...

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

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

Председатель совета директоров GHP Group Марк Гарбер вложил около $10 млн в проект Vostok 12 апреля 2018 года была запущена реализация российского блокчейн-проекта Vostok. Он ориентирован на внедрение технологии блокчейн в реальном секторе экономики и государственном управлении. В число партнеров проекта вошли ВЭБ.РФ, «Ростех», Сбербанк, «Трансмашхолдинг» и пр. О...

Как узнать пароль от Wi-Fi, к которому подключён ваш Android-смартфон За время использования своего Android-устройства вы, скорее всего, подключались к десяткам сетей Wi-Fi. Школа, дом, работа, спортзал, дома ваших друзей и семьи, кафе – каждый раз, когда вы вводите один из этих Wi-Fi-паролей, ваше Android-устройство сохраняет его для безопас...

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

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

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

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

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

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

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

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) и подобными файлами. Если п...

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

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

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

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

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

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

Шестерни в Box2D Добрый день, дорогой читатель! Это уже четвертая статья по Box2D. И здесь я предложу готовое решение для программистов. Мне самому нужны были шестерни для моего проекта, и я сделал 4-х, 6-и, 12-и и 24-х зубчатые колеса. Код занял 2115 строк, 4 дня работы. И я хочу поделиться...

4 июня выйдет Bewildebots — качественная головоломка для фанатов сложных загадок  Во время Global Game Jam (тип мероприятий, когда разработчики собираются, чтобы за короткое время создавать игры) в 2018 году группа разработчиков создала проект Buddy System, который перерос в полноценную игру Bewildebots. Ее релиз ожидается 4 июня в App Store. По аналогии...

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

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

Не ORMом единым Не ORMом единым Всем привет! Я руковожу отделом партнерской разработки (Partners Development) в сервисе бронирования отелей Ostrovok.ru. В этой статье я хотел бы рассказать про то, как на одном проекте мы использовали Django ORM. На самом деле я слукавил, название должно был...

OpenStreetMap: прошлое, настоящее и будущее Скажу сразу: я не пользователь OSM и, тем более, не участник проекта. Тем не менее, я считаю, что знаю о нём достаточно много, и хочу изложить свои соображения в виде обзорной заметки по статьям, которые мне удалось здесь обнаружить. Своего рода полемика с авторами этих стат...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Принимаем участие в недавнем Telegram Contest, пишем крутое OpenGL ES приложение и выигрываем ничего Забегая вперед, хотелось бы обратить внимание на сумбурную ситуацию с победителем первого этапа конкурса. Победитель забрал 50К американских президентов. НО, был как минимум, еще один разработчик, который написал идентичное приложение и не был никак вознагражден. Он даже по...

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

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

[Перевод] Mozilla собирается использовать WASI для всех устройств, компьютеров и операционных систем Всем привет! На связи TestMace и мы продолжаем знакомить вас с самыми горячими новостями из мира JavaScript. На очереди перевод статьи о WASI — технологии, которая позволит использовать WebAssembly вне браузеров Один формат, чтоб править всеми Компания Mozilla на этой недел...

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

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

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

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

Ремонт квартиры под ключ с соблюдением сроков: stroyhouse.od.ua Заказывая ремонт квартир под ключ вы можете получить отменный результат в кратчайшие сроки. Казалось бы, это невозможно, но если работать с профессионалами, то все реально. Компания stroyhouse.od.ua предоставит вам такую возможность и вы получите необходимый результат в коро...

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

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

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

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

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

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

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

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

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

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

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

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

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

[Перевод] Записки фрилансера: разработка первого React Native-приложения Автор материала, перевод которого мы публикуем, недавно выпустил своё первое мобильное приложение, написанное на React Native. Так случилось, что это приложение стало и его первым проектом, который он создал как программист-фрилансер. Здесь он расскажет о том, с чем ему приш...

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

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

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

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

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

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

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

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

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

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

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

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

[Перевод] Миниатюрный Macintosh Plus В начале эпохи домашних компьютеров существовала компания под названием Apple. Она только что заработала огромный успех благодаря линейке компьютеров Apple II, но чтобы оставаться на вершине быстро развивающегося компьютерного рынка, ей необходимы были инновации. Компания у...

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

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

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

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

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

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

Боевые стрельбы в ночи, или Почему нагружать прод — не страшно «А если ты не выстрелишь, то испорчусь я» Ещё недавно считалось, сервис должен просто работать. Нарисовали, заверстали, написали скрипты — вроде всё ок, можно катить на прод. Но конкуренты не дремлют, поэтому начинается гонка не только за новыми функциями, но и за скоростью...

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

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

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

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

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

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

GOSTIM: P2P F2F E2EE IM за один вечер с ГОСТ-криптографией Будучи разработчиком PyGOST библиотеки (ГОСТовые криптографические примитивы на чистом Python), я нередко получаю вопросы о том как на коленке реализовать простейший безопасный обмен сообщениями. Многие считают прикладную криптографию достаточно простой штукой, и .encrypt() ...

Как настроить uTоrrent для максимального ускорения скачивания файлов Всем привет. Вы пользуетесь торрентами? Если да, то наверняка задумывались, как же можно ускорить скачивание файлов. Особенно остро этот вопрос стоит для обладателей медленного интернета. Так можно ли это сделать? Да! Но всё же с некоторой оговоркой - скорость увеличится не ...

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

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

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

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

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

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

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

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

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

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

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

Как изменить фон экрана блокировки на macOS Mojave В последней версии операционной системы macOS Mojave компания Apple внесла небольшие изменения в интерфейс экрана блокировки. Если раньше пользователя при загрузке встречало фоновое изображение рабочего стола с фильтром размытия, то теперь там «красуется» песчаные горы Моха...

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

[Из песочницы] Использование оптики Minolta AF (Sony A-mount) на современных беззеркальных фотокамерах Sony Я написал эту статью, потому что не нашёл в сети адекватного обзора ситуации. Меня интересовала тема на протяжении нескольких лет, я много экспериментировал, накопил опыт и хочу им поделиться. Статья выражает мое личное мнение, вы можете быть с ним не согласны. Читать даль...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Повышение эффективности ручного тестирования на VueJS Сегодня я предлагаю затронуть вопрос ручного тестирования проектов на VueJS. Независимо от уровня автоматизации процессов тестирования, практически всегда остается “живое общение” тестировщика с будущим релизом. Естественно, что оно должно быть комфортным и эффективным. ...

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

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

arkit — архитектурные диаграммы для JavaScript, TypeScript и Flow (швед. arkitektur) Дамы и господа, представляю вашему вниманию arkit — инструмент, который анализирует файлы вашего проекта и генерирует диаграмму зависимостей между ними и внешними модулями. Наверное, проще показать на примере самого arkit: Читать дальше →

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

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

ControlValueAccessor и contenteditable в Angular Вы когда-нибудь задумывались, как работает связка форм Angular и HTML элементов, через которые пользователь заносит данные? С самого начала для этого использовали ControlValueAccessor — специальный интерфейс, состоящий всего из 4 методов: interface ControlValueAccessor { w...

[Перевод] Мой компилятор для Lisp Очень рад объявить о завершении моего первого компилятора для языка программирования! Malcc — это инкрементальный AOT-компилятор Lisp, написанный на C. Вкратце расскажу о его многолетней разработке и что я узнал в процессе. Альтернативное название статьи: «Как написать комп...

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

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

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

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

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

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

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

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

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

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

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

[Из песочницы] Buildroot — часть 1. Общие сведения, сборка минимальной системы, настройка через меню Введение В данной серии статей я хочу рассмотреть систему сборки дистрибутива buildroot и поделиться опытом её кастомизации. Здесь будет практический опыт создания небольшой ОС с графическим интерфейсом и минимальным функционалом. Прежде всего, не следует путать систему сбо...

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