Социальные сети Рунета
Среда, 16 января 2019
27 июля 2018   10:46

Визуализация данных для вашего Web-проекта

Автор: Александр Кашеверов, Senior JavaScript Developer Добро пожаловать и приятного чтения! Статья для тех, кто раньше не использовал графики в веб, но собирается. Также для тех, кто хочет глубже познакомиться с этой темой. Цель — осветить предметную область и упрост...

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

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

[Из песочницы] Как подружить React и D3 D3 одна из наиболее популярных javascript-библиотек для создания динамических и интерактивных визуализаций данных. Сегодня ее используют сотни тысяч сайтов и web-приложений. В интернете огромное количество примеров – от банальных линейных графиков до динамически обновляющих...

Google News и Лев Толстой: визуализация векторных представлений слов с помощью t-SNE Каждый из нас воспринимает тексты по-своему, будь это новости в интернете, поэзия или классические романы. То же касается алгоритмов и методов машинного обучения, которые, как правило, воспринимают тексты в математической в форме, в виде многомерного векторного пространств...

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

Кластер kubernetes HA с containerd. Или есть ли жизнь без docker? Развертываение kubernetes HA с containerd Добрый день уважаемые читатели Хабра! 24.05.2018 г. в официальном блоге Kubernetes была опубликована статья под названием Kubernetes Containerd Integration Goes GA, в которой говорится, что интеграция containerd с Kubernetes готова ...

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

Поваренная книга Ruby-разработчика: Domain Driven Design рецепты ( 2-я часть, структура и взаимодействие ) Введение В первой статье мы выделили область применения обозначенных практик, для каких проектов их можно применять, а для каких не следует. В данной статье я хотел бы сделать краткий обзор основных принципов DDD, а также поделиться личным опытом их применения. Более подро...

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

[DotNetBook]: Span, Memory и ReadOnlyMemory Этой статьей я продолжаю публиковать целую серию статей, результатом которой будет книга по работе .NET CLR, и .NET в целом. За ссылками — добро пожаловать по кат. Memory<T> и ReadOnlyMemory<T> Визуальных отличий Memory<T> от Span<T> два. Первое — ти...

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

Обсуждение бесплатной лицензии PVS-Studio для проектов, размещённых на GitHub  Предлагаю вниманию прототип статьи под названием «Бесплатный PVS-Studio для всех, кто развивает открытые проекты на GitHub». Прошу подойти к данной теме конструктивно и высказывать предложения и критику по делу. Интересно мнение, насколько предложенный вариант разумен и уд...

[Перевод] Используем Ramda вместе с Redux Это перевод статьи Using Ramda With Redux, в которой рассказывается о том, как упростить ваш код на основе библиотеки Redux с помощью библиотеки Ramda, позволяющей писать код в функциональном стиле. P.S. Если вы не знаете, что такое Ramda — приглашаю вас к переводу цикла ста...

[Из песочницы] Аналоги в Python и JavaScript. Часть первая Привет, Хабр! Представляю вашему вниманию перевод статьи "Equivalents in Python and JavaScript. Part 1". Несмотря на то что Python и Javascript довольно сильно отличаются, существует много схожего, о чем должен знать любой фулстек разработчик. В этой серии из 4-х ...

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

Изучаем климат городов России с помощью Python На Python можно работать с данными и визуализировать их. Пользуются этим не только программисты, но и ученые: биологи, физики, социологи. Сегодня мы вместе с shwars, куратором нашего курса Python jumpstart for AI, ненадолго превратимся в метеорологов и изучим климат городов ...

[Перевод] Лучший Способ Программирования (Better way To Code) От переводчика: Я не являюсь ни профессиональным программистом ни профессиональным переводчиком, но появление описанного в статье инструмента от создателя популярной библиотеки D3.js произвело на меня сильное впечатление. С удивлением обнаружил, что на Хабре, да и вообще в ...

Книга «Глубокое обучение на R» Глубокое обучение — Deep learning — это набор алгоритмов машинного обучения, которые моделируют высокоуровневые абстракции в данных, используя архитектуры, состоящие из множества нелинейных преобразований. Согласитесь, эта фраза звучит угрожающе. Но всё не так страшно, если ...

На злобу дня: кроссплатформенный клиент для Telegram на .NET Core и Avalonia В этой статье я расскажу, как реализовать кроссплатформенное приложение на .NET Core и Avalonia. Тема Телеграма очень популярна в последнее время — тем интереснее будет сделать клиентское приложение для него. Статья затрагивает достаточно базовые концепции разработки на Ava...

[Из песочницы] Разбираем протокол чайника Redmond G200S и подключаем его к HomeAssistant Вступление На Гиктаймс уже была статья, посвященная разбору протокола чайника Redmond SkyKettle. Однако там речь шла о модели RK-M171S, здесь же речь пойдет о более функциональном G200S. В данной модели изменился протокол взаимодействия, из за чего подход автора предыдущей с...

Пишем игру на LWJGL Создание игры на LWJGL #1 Написание игры — сложный и интересный процесс, который требует много времени. В данном цикле статей я расскажу, как создать простую 3D игру на Java с использование библиотеки LWJGL. Для создания своей игры необходимо следующее: Умения писать код ...

Tableau от чайника или визуализация анализа ПАММ счетов Друзья, добрый день. Давно не писал, и тут подписался на рассылку компании Абвгд. Красивые письма пишут мОлодцы :) Уговаривают вложиться в ПАММ счета. Что это такое не знаю. Зато понятно, как эти данные анализировать. Терминология – есть ПАММ-счет и у него есть управляющий....

[Из песочницы] Работа с формами в React.js, используя базовый инструментарий Введение За время работы на React.js мне часто приходилось сталкиваться с обработкой форм. Через мои руки прошли Redux-Form, React-Redux-Form, но ни одна из библиотек не удовлетворила меня в полной мере. Мне не нравилось, что состояние формы хранится в reducer, а каждое собы...

[Перевод] Вся правда об ОСРВ. Статья #7. Nucleus SE: введение В оставшейся части серии статей «Вся правда об ОСРВ» мы подробно рассмотрим, как внедряется и развертывается ОСРВ. Для этого мы будем рассмотрим конкретную ОСРВ: Nucleus SE. Даже если вы не собираетесь использовать конкретно это ядро или другие, связанные с ним, ядра, пони...

[Перевод] Создаем читалку eBook с помощью PDFKit на Swift Добрый день! Представляю вашему вниманию продолжение статьи «Скачиваем, сохраняем и просматриваем PDF в Swift», как и обещал автор — немного подробнее рассмотрим PDFKit. PDFKit появился в iOS 11, и в нем есть 3 замечательные функции, о которых бы я хотел рассказать, в проце...

Event Tracing for Windows на стороне зла. Но это не точно В предыдущих статьях про сниффер на PowerShell и сбор данных о загрузке с удаленного сервера я уже немного писал про возможности ETW (Event Tracing for Windows). Сегодня я хочу подробнее рассказать про эту технологию. Заодно покажу на примере разбора HTTPS и создания кейло...

Управление зависимостями, события и паттерны Observer и Mediator Паттерны в чистом виде встречаются довольно редко и при изучении паттернов, особенно на ранних этапах, важны не столько сами паттерны, сколько понимание механизмов (тактик), с помощью которых они реализуются. В этой статье я хотел бы описать один из таких механизмов (управле...

«Lock-free, or not lock-free, that is the question» или «Здоровый сон хуже горькой редьки» На написание данной статьи меня подвигли комментарии к статье "Как правильно и неправильно спать". Речь в данной статье пойдёт о разработке многопоточных приложений, применимости lock-free к некоторым кейсам возникшим в процессе работы над LAppS, о функции nanosleep и насил...

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

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

Автоматическая визуализация python-кода. Часть третья: новые возможности графического представления кода Ссылки на предыдущие части: Часть первая — обсуждены блок-схемы, имеющиеся инструменты для работы с блок-схемами, а также все графические примитивы, необходимые для создания графического представления кода. Часть вторая — обсуждены реализация ( выполнена, в основном, на Пит...

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

[Из песочницы] Использование функций JavaScript для построения 3D-моделей В данной статье рассмотрено применение геометрической библиотеки функций WebGeometry для построения моделей сложных многогранников. Библиотека написана на языке Javascript. Ссылка на GitHub с примером, в котором приведен простейший пример использования библиотеки. Замечани...

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

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

ИТОГ 3-х месяцев: Альтернатива платному отключению рекламы в бесплатном приложении Android Здравствуй, Дорогой читатель ХабраХабра! В данной мини-статье я хочу рассказать/показать итог моей альтернативы платному отключению рекламы в бесплатном приложении Android. Всем, кому интересно добро пожаловать под кат! Читать дальше →

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

Легальные книги по управлению проектами от PMI Рассмотрим ситуацию с одним из самых популярных проджект-менеджмент «талмудов» — Сводом знаний по управлению проектами (PMBoK — Project management body of knowlege) от американского института PMI (Project management institute). Вряд ли вам встретится нелегальная бумажная кн...

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

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

Балансировка HTTP(S) трафика Добрый день, %username%. Меня зовут Антон Резников, я работаю над проектом Облако Mail.Ru Сегодня я хочу рассказать о технологиях балансировки трафика, проиллюстрировав историей о развитии социальной сети. Все персонажи выдуманы, а совпадения почти случайны. Статья обзорна...

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

[Из песочницы] CUDA и удалённый GPU CUDA всем хороша, пока под рукой есть видеокарта от Nvidia. Но что делать, когда на любимом ноутбуке нет Nvidia видеокарты? Или нужно вести разработку в виртуальной машине? Я постараюсь рассмотреть в этой статье такое решение, как фреймворк rCUDA (Remote CUDA), который помо...

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

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

[Перевод] О 3D-графике простыми словами Часть 1. Введение Привет меня зовут baldurk. Я уже несколько лет работаю программистом графики, поэтому хоть я и не в коем случае не являюсь экспертом, кажется, я уже многое понимаю во всём том, что касается работы с графикой. Идея этой серии постов уже давно витала где-то ...

[Из песочницы] Как я стандартную библиотеку C++11 писал или почему boost такой страшный Вместо предисловия Пожалуй с этой картинки должно начинаться любое повествование о boost, Loki, самостоятельных, да и так же поставляемых с компиляторами реализациях стандартной библиотеки C++. Да-да, и если вы думали что разработчики стандартной библиотеки для того же g+...

Зачем технические скиллы менеджеру проектов: объясняем на кейсах Эффективно руководить командой айтишников сумеет не каждый. Работа проджект-менеджера в IT отличается тем, что в ней системные аналитические навыки тесно связаны с техническими скиллами. Они необходимы менеджеру проектов и не ограничиваются глубокими знаниями в одной или дву...

Обработка изображений: Tensorflow Object Detection API Последние несколько лет в развитии глубоких нейронных сетей происходит настоящая революция: возникают новые архитектуры, совершенствуются фреймворки для разработчиков, а железо для экспериментов можно получить совершенно бесплатно — например, в рамках проекта Google colabora...

Как создать своего бота без навыков программирования и подключить его к Яндекс.Алисе Как мы уже писали в своей первой статье, мы в Just AI специализируемся на технологиях искусственного интеллекта для понимания естественного языка (NLU). У нас есть своя платформа для разработки разговорных ассистентов, как текстовых, так и голосовых. Платформа имеет развиту...

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

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

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

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

ПО для машинного обучения на Python Сегодня существует большое количество программных инструментов для создания моделей Machine Learning. Первые такие инструменты формировались в среде ученых и статистиков, где популярны языки R и Python, исторически сложились экосистемы для обработки, анализа и визуализации...

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

Управляем стоимостью проекта с Earned Value Management Как измерять и контролировать эффективность исполнения планов проектов — такие вопросы являются постоянной головной болью их руководителей. Подходов к решению этих задач много. В данной статье мы рассмотрим основные элементы техники по управлению освоенным объемом (Earned Va...

Что такое психическое здоровье: взгляд со стороны психологии / психотерапии Привет, читатель! Прошлая моя статья вышла несколько “суховатой”, в чем меня справедливо упрекнули на нескольких площадках, поэтому я решил написать другую, более наполненную живыми примерами и понятными объяснениями. Поговорить сегодня я предлагаю о психическом здоровье в...

Поваренная книга разработчика: DDD-рецепты (3-я часть, Архитектура приложения) Введение В рамках предыдущих статей мы выделили область применения подхода и рассмотрели основные методологические принципы Domain Driven Design. В данной статье я хотел бы обозначить основные современные подходы к построению архитектуры корпоративных систем: Supple, Screami...

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

Как перестать беспокоиться и начать писать тесты на основе свойств В последнее время все чаще встречаются упоминания о некоем волшебном средстве — тестировании на основе свойств (property based testing, если надо погуглить англоязычную литературу). Большинство статей на эту тему рассказывают о том, какой это классный подход, затем на элемен...

[Из песочницы] Tableau Software представляет интерфейс естественного языка для создания визуализации Привет, Хабр! Представляю вашему вниманию перевод статьи «Tableau talks up natural language interface for creating visualizations» Peter Sayer. Поставщик BI стремится упростить и автоматизировать анализ данных в рамках растущей тенденции к внедрению возможностей AI (искусс...

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

Исправление опечаток, взгляд сбоку Мы поговорим об использовании модных «Word embedding» не совсем по назначению — а именно для исправления опечаток (строго говоря, и ошибок тоже, но мы предполагаем, что люди грамотные и опечатываются). На хабре была довольно близкая статья, но здесь будет немного о другом. ...

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

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

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

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

[Перевод] Ray: Распределенная система для использования ИИ Здравствуйте, коллеги. Надеемся еще до конца августа приступить к переводу небольшой, но поистине базовой книги о реализации возможностей ИИ на языке Python. Господин Гифт, пожалуй, в дополнительной рекламе не нуждается (для любопытствующих — профиль мэтра на GitHub): ...

Глубокое обучение с использованием R и mxnet. Часть 1. Основы работы Привет, Хабр! Эта статья является первой частью руководства по приготовления нейронных сетей с использованием библиотеки mxnet на языке R. Источником вдохновения послужила онлайн-книга Deep Learning — The Straight Dope, объема которой достаточно для осознанного использова...

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

Уязвимости EOS Blockchain на ZeroNights 2018 В рамках данной статьи будут рассмотрены несколько реальных уязвимостей в EOS blockchain (одном из конкурентов Etherum) и то, как они были встроены в конкурс New-Generation Secure Slot Machine на ZeroNights 2018. Если вам интересно познакомиться с тем, как обстоят дела с б...

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

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

[Перевод] Unreal Engine4 — PostProcess эффект сканирования В эти выходные у меня появилось немного свободного времени между занятиями (прим. автор на момент статьи получал степень магистра наук), и я решил вернуться к созданию шейдеров, придумав этот postprocess эффект сканирования. Я представил, что он используется в игре как сво...

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

«Storytelling with Data», Cole Nussbaumer Knaflic: неформальный обзор-конспект книги «Наши сайнтисты сгенерировали кучу графиков, а мы совершенно не знаем, куда их девать. Давайте попробуем их хоть как-то пристроить». (с) подслушано «Плохие графики везде. В моей работе я постоянно встречаю крайне сомнительные визуализации данных. Никто не делает плохие граф...

[Из песочницы] Настройка HTTP/2 на примере Apache 2.4, PHP 7 и Ubuntu 18.04 LTS Я понимаю, что, возможно, Апач на данный момент не является предпочтительным выбором для запуска на нём новых проектов, то тем не менее, он существует, здравствует и проекты на нём таки работают. Выбор на него может пасть по каким-то личным предпочтениям, по требованиям совм...

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

Пример программирования FPGA-ускорителя Не так давно мы рассказали о новой услуге Selectel — облачных высокопроизводительных вычислениях на FPGA-ускорителях. В новой статье на эту тему рассмотрим пример программирования FPGA для построения множества Мандельброта, — известного математического алгоритма для визуал...

[Из песочницы] Heisenbug 2018 Moscow: взгляд из толпы Всем привет, меня зовут Таня и это моя первая статья на Хабре. В начале декабря проходила конференция Heisenbug 2018 в Москве. Это событие было уже освещено многими: раз, два, три. Я отметила для себя, что в основном были затронуты только положительные моменты, хотя были...

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

[Перевод] Фильтр Блума в Java с помощью Guava Всем доброго дня. Мы запустили новый курс — «Алгоритмы для разработчиков», предназначенных для тех подтянуть знания по разнообразным структурам и алгоритмам обработки данных, решению алгебраических задач и задач динамического программирования для различных языков. Так что с...

[Из песочницы] Сравнение C# и JavaScript. Основы Мой более-менее серьезный путь в программировании начался с написания программ на языке C#, иногда я пробовал писать на JavaScript, и то и дело впадал в ступор в таких ситуациях, когда неверно указывал имя переменной и узнавал об этом спустя много много лет час отладки, так...

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

[Перевод] Основа геймплея игры на C++ для Unreal Engine Основа геймплея для Unreal Engine 4 предоставляет разработчику мощный набор классов для создания игры. Ваш проект может быть шутером, симулятором фермы, глубокой RPG — это неважно, основа очень универсальна, делает за вас часть тяжёлой работы и задаёт некоторые стандарты. О...

[Перевод] 25 ошибок начинающего программиста Научитесь выявлять их. Выработайте привычки избегать их. Цель этой статьи не загнобить новичков за типичные ошибки, а научить выявлять их и избегать. Порядок перечисления – случайный. От переводчика Иногда бывает трудно объяснить простыми словами казалось бы банальные вещи:...

Математика в Gamedev по-простому. Триангуляции и Triangle.Net в Unity Всем привет! Меня зовут Гриша, и я основатель CGDevs. Математика – очень крутой инструмент при разработке игр. Но если скажем без понимания векторов и матриц обойтись в принципе сложно, то алгоритмы триангуляций не столь обязательная вещь, но с помощью них решается достаточн...

[Из песочницы] Установка Kubernetes на Hetzner Cloud В данной статье я хотел бы рассказать об установке Kubernetes на Hetzner Cloud. На моем рабочем компьютере установлен Ubuntu Linux 18.04 и все примеры будут подразумевать использование данной операционной системы. Для работы с Hetzner Cloud и построения кластера Kubernet...

IT Релокация. Обзор плюсов и минусов жизни в Бангкоке год спустя Моя история началась где-то в октябре 2016 года когда в голове поселилась мысль «А почему бы не попробовать работать за рубежом?». Сначала были простые интервью с аутсорсинг компаниями из Англии. Было очень много вакансий с описанием «возможны частые командировки в Америку...

[Перевод] Как обеспечивается высокая доступность в Kubernetes Прим. перев.: Оригинальная статья была написана техническим писателем из Google, работающим над документацией для Kubernetes (Andrew Chen), и директором по software engineering из SAP (Dominik Tornow). Её цель — доступно и наглядно объяснить основы организации и реализации h...

[Из песочницы] Разработка под Android. Немного о быстрой работе со списками Всем привет! Мои посты — желание помочь в работе с какими-то элементами Android. Если вы разработчик, который еще не сформировал для себя алгоритм для построения списков — вам может оказаться полезным почитать этот материал. В основном, я бы хотел предлагать готовые решения ...

[Из песочницы] Радость Haxe. Роман с обделенным вниманием языком программирования Привет, Хабр! Представляю вашему вниманию перевод статьи The Joy of Haxe. FontStruct’s love affair with a neglected programming language. Довольно грубая попытка воспроизвести логотип Haxe в редакторе шрифтов FontStruct Недавно мы открыли исходный код наиболее важной част...

Полное руководство по правильному использованию анимации в UX Предлагаю вашему вниманию перевод очень крутой статьи по анимации интерфейса. The ultimate guide to proper use of animation in UX автора Taras Skytskyi. В настоящее время трудно впечатлить или даже удивить анимацией интерфейса. Она показывает взаимодействие между экранами...

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

[Перевод] Четыре способа работы с текстом UI в Unity В процессе преобразования старого кода Unity на основе 2D Toolkit в чистый код Unity я столкнулся с проблемой: в Unity есть замечательная поддержка стандартных форматов шрифтов, но этого всё равно недостаточно, чтобы сравниться поддержкой создания шрифтов из листов спрайтов ...

Как устроен скоринг в индустрии каршеринга. Часть 1. Обзор популярных инструментов на реальных данных Каршеринг, несмотря на свою молодость, — одно из самых активно развивающихся направлений в автобизнесе России. С момента запуска первой компании прошло 5 лет, и сегодня на рынке работают более 25 операторов, специализирующихся на краткосрочной аренде. С развитием каршеринга ...

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

[Перевод] Внедрение зависимостей в Go Недавно я создал небольшой проект на языке Go. После нескольких лет работы с Java я был сильно удивлён тем, как вяло внедрение зависимостей (Dependency Injection, DI) применяется в экосистеме Go. Для своего проекта я решил использовать библиотеку dig от компании Uber, и он...

[DotNetBook] Span: новый тип данных .NET С этой статьей я продолжаю публиковать целую серию статей, результатом которой будет книга по работе .NET CLR, и .NET в целом (уже готово около 200 страниц книги, так что добро пожаловать в конец статьи за ссылками). Как язык, так и платформа существуют уже много лет: и все...

PHP может стать еще лучше Шутки про PHP — уже отдельный жанр в различных сообществах программистов. Некоторые не любят PHP, потому что {lang_name} намного лучше. А кого-то он вполне обоснованно расстраивает. Я же PHP люблю. Не смотря на его косяки. Этот язык был создан для конкретной цели и решает о...

[Из песочницы] Горячие клавиши Android Studio, которые могут увеличить вашу производительность на 100% Перевод заметки Шикара Ша с medium.com Вступительный спойлерОб авторе оригинала: Шикар Ша, Android-разработчик, сертифицированный Google (Shikhar Shah, Google Certified Android Developer). От переводчика: Если вы найдёте какие-то неточности в переводе терминов или их искаж...

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

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

[Из песочницы] Асинхронный WEB в 2018. Пишем чат на Websocket используя Swoole Тема Websocket`ов уже не раз затрагивалась на Хабре, в частности рассматривались варианты реализации на PHP. Однако, с момента выхода последней статьи с обзором разных технологий прошло уже более года, а миру PHP есть чем похвастаться за прошедшее время. В данной статье я...

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

[Перевод] Скачиваем, сохраняем и просматриваем PDF в Swift Добрый день, представляю вашему вниманию перевод статьи о работе PDF в Swift. Всем заинтересовавшимся, добро пожаловать под кат. Читать дальше →

Знай свой JIT: ближе к машине До того, как написанный нами код будет исполнен, он проходит довольно долгий путь. Андрей Мелихов в своем докладе на РИТ++ 2018 разобрал каждый шаг на этом пути на примере движка V8. Заходите под кат, чтобы выяснить, что даёт нам глубокое понимание принципов работы компилято...

Нейронки за 5 минут Давайте я за 5-10 минут чтения и понимания коротенькой статьи добавлю вам в резюме строчки «машинное обучение» и «нейронные сети»? Тем, кто далек от программирования, я развею все мифы о сложности ИИ и покажу, что большая часть всех проектов на машинном обучении строится на ...

Всё, что вам нужно знать об ИИ — за несколько минут Приветствую читателей Хабра. Вашему вниманию предлагается перевод статьи «Everything you need to know about AI — in under 8 minutes.». Содержание направлено на людей, не знакомых со сферой ИИ и желающих получить о ней общее представление, чтобы затем, возможно, углубиться ...

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

Интересности и полезности python. Часть 2 В предыдущей статье мы рассмотрели несколько интересных моментов языка python, разумеется, одной статьёй они не исчерпываются, поэтому продолжим. В одном из комментариев рассматривался следующий код: SEX = 'Female', 'Male' sex = SEX[True] # -> Male sex = SEX[False] # -...

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

Как создавать библиотеки компонентов в Figma, экономя бюджет, на примере онлайн-аукциона В этой статье мы расскажем, как разрабатывали не сферическую в вакууме, а самую настоящую библиотеку компонентов, и как нам удалось игнорируя излишний перфекционизм (не в ущерб проекту) сэкономить 25% от заложенного бюджета. Это первая часть статьи, в которой будет много ...

5 простых шагов к созданию сервера для тестирования android REST-запросов Добрый день. Не так давно возникла необходимость реализации в android приложении общения с API сервера посредством REST-запросов. Реализовать программную часть на android не составило большого труда, в связи с наличием удобной и простой библиотеки Retrofit. Однако, написав...

[Перевод] Экскурсия по PyTorch Привет, Хабр! Еще до конца мая у нас выйдет перевод книги Франсуа Шолле "Глубокое обучение на Python" (примеры с использованием библиотек Keras и Tensorflow). Не пропустите! Но мы, естественно, смотрим в надвигающееся будущее и начинаем присматриваться к еще более иннов...

ASP.NET Razor: решение некоторых проблем с архитектурой для модели представления Введение Здравствуйте, коллеги! Сегодня хочу поделиться с вами своим опытом разработки архитектуры View Model в рамках разработки веб-приложений на платформе ASP.NET, используя шаблонизатор Razor. Описываемые в данной статье технические реализации подходят для всех актуальн...

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

[Перевод] Вся правда об ОСРВ. Статья #13. Структуры данных задач и неподдерживаемые вызовы API В этой третьей и последней статье о задачах, я рассмотрю структуры данных Nucleus SE и опишу вызовы API RTOS, которые не реализованы в Nucleus SE, а также расскажу о других проблемах совместимости. Читать дальше →

GraalVM: смешались в кучу C и Scala Не знаю, как на вас, а на меня в последнее время производят сильное впечатление статьи про новые Java-технологии — Graal, Truffle и все-все-все. Выглядит так, как будто раньше ты придумал язык, написал интерпретатор, порадовался какой язык хороший и погрустил, какой медленны...

[Из песочницы] Внедряем Angular компоненты в React, Vue и даже JQuery если хотите Если вы нашли крутой компонент в npm, но она с приставкой ng, ngx, angular и так далее, то не стоит расстраиваться по этому поводу. Есть много решений, чтобы этот компонент оказался у вас. В данной статье рассмотрим решение, которое официально поддерживается Angular Team, а ...

[Из песочницы] Усложняя стандартный пример Стандартная библиотека С++ предлагает не только набор классов, но также определяет способ написания программ. В рамках данной статьи рассматриваются общие требования к реализации программ при помощи STL. Рассмотрим следующую задачу: Считать из файла input.txt массив целых ...

Изучаю Rust: Как я UDP чат сделал c Azul Я продолжаю изучать Rust. Я еще много не знаю, поэтому делаю много ошибок. В прошлый раз я попробовал сделать игру Змейка. Попробовал циклы, коллекции, работу с 3D Three.rs. Узнал про ggez и Amethyst. В этот раз я попробовал сделать клиент и сервер для чата. Для GUI использ...

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

[Из песочницы] Кроссплатформенная разработка с помощью .NET, реактивного программирования, шаблона MVVM и кодогенерации Сегодня платформа .NET является по-настоящему универсальным инструментом – с её помощью можно решать широчайший круг задач, включая разработку прикладных приложений для популярных операционных систем, таких, как Windows, Linux, MacOS, Android и iOS. В настоящей статье рассм...

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

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

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

Анализ технологий: с чего начать работу над патентным ландшафтом А рассматривали ли вы развитие технологий интернета вещей, машинного обучения, робототехники и облачных вычислений, сквозь призму приближения четвертой индустриальной революции (Индустрия 4.0)? Уже в конце 2017 года регуляторы в ЕС отмечали рост подачи заявок на технологии...

6. Check Point на максимум. IPS. Часть 2 Добро пожаловать на 6-ой урок и мы продолжаем тему IPS. Предыдущий урок был полностью посвящен заблуждениям на счет IPS, а также мы вкратце рассмотрели историю становления систем предотвращения вторжений. Настоятельно рекомендую посмотреть 5-ый урок, прежде чем начинать эт...

Обучение и тестирование нейронных сетей на PyTorch с помощью Ignite Привет, Хабр, в этой статье я расскажу про библиотеку ignite, с помощью которой можно легко обучать и тестировать нейронные сети, используя фреймворк PyTorch. С помощью ignite можно писать циклы для обучения сети буквально в несколько строк, добавлять из коробки расчет станд...

Подвожу итоги комментариев к статье про ИП Спасибо всем, кто отметился в комментариях к моей первой статье. Получилось интересно (и, как обычно, упомянуто много ценного). Для тех, у кого нет времени на изучение всех четырех сотен комментариев, собрал краткое содержание под катом. Читать дальше →

[Перевод] Питер Норвиг: Обучитесь программированию за… 10 лет Примечание переводчика: данная статья была опубликована Питером Норвигом в 2001 году. По варианту 2001 года был выполнен перевод на русский язык. В 2014 году статья была обновлена, но перевод не был обновлен. Поэтому я выполнил свой перевод статьи по ее современному варианту...

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

[Из песочницы] Автоматизация тестирования с нуля. Часть 1 Добрый день, уважаемые читатели. Хочу рассказать об опыте построения системы автоматизации тестирования, когда на проекте или совсем нет тестирования, или ее степень минимальная. Надеюсь статьи будет полезна начинающим автотестерам. В первой части пофилосовствуем в общем...

Экспресс-обзор производительности PostgreSQL 10.5 в новейших облачных сервисах Яндекс.Облака Буквально на днях Яндекс открыл доступ для beta-пользователей к своему новому сервису — Яндекс.Облако. Так вышло, что это событие совпало с необходимостью выбора облачной платформы для одного из наших внутренних проектов и я решил сразу протестировать производительность реше...

Моя история прохождений интервью в IB IT (Java разработчик) с примерами типичных заданий Так получилось, что я хотел стать программистом еще учась в университете в Москве, но стал им уже за пределами России и не сразу — путь был долог и тернист. Я ходил на множество интервью (вначале искал я, потом уже искали меня), вникал в тонкости работы и размышлял на тему —...

Анализ производительности WSGI-серверов: Часть вторая Данная статья является переводом статьи Кевина Голдберга «A Performance Analysis of Python WSGI Servers: Part 2» dzone.com/articles/a-performance-analysis-of-python-wsgi-servers-part с небольшими дополнениями от переводчика. Введение В первой части этой серии Вы познакоми...

[Из песочницы] Автоматизация системы мониторинга на базе Icinga2 и Puppet  Автоматизация системы мониторинга на базе Icinga2 и Puppet Поговорим немного о… Infrastructure as code (IaC). На Хабре есть несколько очень хороших статей про Icinga2, есть также отличные статьи про Puppet: Icinga2 простой вариант Поднимаем микромониторинг на icinga2 с мин...

[Перевод] AdBlock для радио Автор статьи — польский программист Томек Рекавек, разрабатывает проект Jackrabbit Oak в рамках Apache Software Foundation для Adobe. Статья опубликована в личном блоге автора 24 февраля 2016 года. Польское «Радио-3» (так называемая «Тройка») знаменито хорошей музыкой и ин...

Работа с изображениями на Python в 2017 году Тема сегодняшнего разговора — чему же научился Python за все годы своего существования в работе с изображениями. И действительно, кроме старичков родом из 1990 года ImageMagick и GraphicsMagick, есть современные эффективные библиотеки. Например, Pillow и более производительн...

Настройка Jira под ваши нужды. Cовершенный флоу и идеальный тикет Если вы работаете в IT-компании, то, скорее всего, ваши процессы построены вокруг известного продукта Atlassian — Jira. На рынке есть множество таск-трекеров для решения тех же задач, в том числе open-source-решения (Trac, Redmine, Bugzilla), но, пожалуй, именно Jira имеет ...

angular-ngrx-data — state management и CRUD за пять минут На сегодняшний день ни одно большое SPA приложение не обходится без state management (управления состоянием). Для Angular по данному направлению есть несколько решений. Самым популярным из них является NgRx. Он реализует Redux паттерн с использованием библиотеки RxJs и обла...

Эмулятор басс-динамика 1.03 Визуализация музыки в реальном времени Красивая имитация работы мощных акустических систем под ваши любимые треки. Особенности: — выбор типа динамиков; — изменение цвета фона; — выбор дополнительной визуализации в разных цветовых вариантах; — приложение не воспро...

[Из песочницы] Автоматизация с Codeception + Gherkin + PageObject для самых маленьких Не найдя в интернете ни одного конкретного примера реализации Gherkin с паттерном проектирования Page Object для Codeception, подумалось, что будет не лишним рассказать интернету о собственной реализации этого паттерна. Эта статья рассчитана скорее на тех, кто уже немного...

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

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

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

[Из песочницы] Повышение привилегий в Windows-среде Практика управления информационной безопасностью: pentest Повышение привилегий пользователя до уровня администратора домена Windows Введение Хорошая система управления информационной безопасностью (СУИБ) требует регулярной оценки своей эффективности. Существуют разные метод...

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

[Перевод] Вся правда об ОСРВ. Статья #9. Планировщик: реализация Основные принципы работы планировщиков ОСРВ были рассмотрены в статье «Задачи и планирование». В настоящей статье мы рассмотрим возможности, которые предлагает Nucleus RTOS, а также более подробно те, которые предоставляет Nucleus SE. Читать дальше →

[Перевод] Grafana как еще один инструмент для технического мониторинга создаваемых нами программных продуктов Очередная статья в серии «Инструменты мониторинга Logicify» рассказывает о Grafana. Это программное средство мы используем для визуализации и анализа данных как внутренних, так и внешних проектов. Статья может быть полезна техническим директорам, разработчикам, DevOps, систе...

[Перевод] Обучение с подкреплением на языке Python Привет, коллеги! В последней публикации уходящего года мы хотели упомянуть о Reinforcement Learning — теме, книгу на которую мы уже переводим. Посудите сами: нашлась элементарная статья с Medium, в которой изложен контекст проблемы, описан простейший алгоритм с реализаци...

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

[Перевод] Оптимизируем распределение нагрузки в инфраструктуре Veeam Backup & Replication Мои замечательные коллеги из отдела технической поддержки пишут не только вредные, но также и полезные советы и рекомендации по настройке Veeam Backup & Replication. С момента публикации статьи для начинающих пользователей ее автор, Евгений Иванов, продолжая трудиться вм...

[Из песочницы] Parse & Android: рекомендации начинающим разработчикам Аннотация В данной статье я бы хотел поделиться общими впечатлениями от использования BaaS – решения под названием Parse для разработки бэкэнда Android-приложения, рассказать о всех «подводных камнях», с которыми мне пришлось столкнуться в период разработки. Впервые эту плат...

[Из песочницы] Как Microsoft забыла про полмира или читайте сообщения об ошибках Нет, это статья не про то, какой огромный и злобный монстр компания Microsoft. И как она опять обижает пользователей. А про то, как исправить досадный изъян, появившийся с последним, августовским обновлением Power BI Desktop c включённой поддержкой Python, а именно проблемы...

[recovery mode] Назначение и поддержка FQDN сервера 3CX У наших пользователей периодически возникают вопросы по поводу назначения и поддержки FQDN сервера 3CX (который теперь может предоставляться компанией 3CX): принципов выбора FQDN, закрепления этого FQDN за лицензионным ключом и т.п. В этой статье мы ответим на многие из вопр...

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

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

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

Разработка buck-преобразователя на STM32F334: принцип работы, расчеты, макетирование В двух своих последних статьях я рассказал о силовом модуле и плате управления на базе микроконтроллера STM32F334R8T6, которые созданы специально для реализации систем управления силовыми преобразователями и электроприводом. Так же был рассмотрен пример DC/AC преобразователя...

Разбор таска по верстке (sass, pug, gulp, bem) Для Junior’ов, для junior’ов… а то начнут тут… да мы, да это… Доделал проект(сайт) pug+sass+es6+gulp+BEM. Во время разработки столкнулся со многими трудностями. Эта статья рассчитана на новичков, на тех, кто не знает об отрицательных маржинах, слышали о методологии именован...

Язык программирования Zig Первым комментарием к замечательной статье Субъективное видение идеального языка программирования оказалась ссылка на язык программирования Zig. Естественно, стало интересно, что же это такое за язык, который претендует на шину C++, D и Rust. Посмотрел — язык показался симп...

[recovery mode] Как я свою онлайн игру создавал. Часть 1: Работа с сетью Привет всем! У меня недавно был отпуск, и появилось время спокойно попрограммировать свои домашние проекты. Захотел я, значит, свою простенькую онлайн игру сделать на Rust. Точнее, простенькую 2D стрелялку. Решил сначала сделать сетевую часть, а там уже видно будет, что да...

Курс «Языки веб-программирования» (на основе Ruby) от МГТУ им. Н. Э. Баумана на канале Технострим В этой статье мы расскажем о курсе «Языки веб-программирования», который читается на кафедре «Компьютерные системы и сети» (ИУ-6) МГТУ им. Н.Э. Баумана. Примеры приводятся на Ruby, а сам курс и представляет собой 16 видеолекций, доступных бесплатно на канале Технострим. В ...

[Из песочницы] SmartMailHack. Решение 1-го места в задаче классификации логотипов Две недели назад закончился проходивший в офисе Mail.Ru Group хакатон для студентов SmartMailHack. На хакатоне предлагался выбор из трех задач; статья от победителей во второй задаче уже есть на хабре, я же хочу описать решение нашей команды, победившей в первой задаче. Все ...

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

Примеры использования customTask в Google Tag Manager Материал основан на статье Simo Ahava «customTask — The Guide». Примерно год назад (в 2017) произошло обновление JS библиотеки Universal Analytics. Обновление принесло с собой такую замечательную штуку как customTask. Данная фича, в рамках Google Tag Manager, позволяет выпо...

[Перевод] Javascript-фреймворки: тенденции 2019 года Представляем вам перевод статьи Nwose Lotannaс, которая была опубликована на blog.bitsrc.io. В ней подборки лучших фреймворков и информация, полезная как новичкам, так и опытным специалистам. Очередной отчет от State of JS и наш прогноз на новый год уже здесь! Давайте охва...

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

[Из песочницы] Разбор Memory Forensics с OtterCTF и знакомство с фреймворком Volatility Привет, Хабр! Недавно закончился OtterCTF (для интересующихся — ссылка на ctftime), который в этом году меня, как человека, достаточно плотно связанного с железом откровенно порадовал — была отдельная категория Memory Forensics, которая, по сути, представляла из себя анализ ...

Обучение с подкреплением: разбираем на видеоиграх На AI Conference о применении обучения с подкреплением расскажет Владимир Иванов, Sr. Deep learning engineer в Nvidia. Эксперт занимается машинным обучением в отделе тестирования: «Я анализирую данные, которые мы собираем во время тестирования видеоигр и железа. Для это пол...

UI framework за 5 минут Некоторое время назад я задумался, почему так много UI frameworks для web? Я довольно давно в IT и не помню чтоб UI библиотеки на других платформах рождались и умирали с такой же скоростью как в WEB. Библиотеки для настольных OS, такие как: MFC, QT, WPF, и т.д. — были монст...

Как организовать общее состояние в react-приложениях без использования библиотек (и зачем нужен mobx) Cразу небольшой спойлер — организация состояния в mobx ничем не отличается от организации общего состояния без использования mobx на чистом реакте. Ответ на закономерный вопрос зачем тогда собственно этот mobx нужен вы найдете в конце статьи а пока статья будет посвящена воп...

[Из песочницы] Fullstack – почему это клево, или как получать от работы удовольствие Недавно на Хабре разгорелись нешуточные баталии в комментариях к заметке Фулстеки — это вечные мидлы. Не идите по этому пути, если не хотите страдать Я попробую высказать свою точку зрения о том, что фуллстек – это на самом деле клево, и почему по этому пути идти хорошо. ...

Расширение PHP и Kotlin Native. Часть первая, наивная В этой статье рассматривается самый наивный и простой подход к созданию расширения PHP с использованием Kotlin Native. Обращаю внимание, что не на, а с использованием. Это скорее некий туториал с описанием возникших при скрещивании ужа с ежом проблем и путей их решения. Отк...

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

Реализация алгоритма Левенберга-Марквардта для оптимизации нейронных сетей на TensorFlow Это tutorial по библиотеке TensorFlow. Рассмотрим её немного глубже, чем в статьях про распознавание рукописных цифр. Это tutorial по методам оптимизации. Совсем без математики здесь не обойтись. Ничего страшного, если вы её совершенно забыли. Вспомним. Не будет никаких форм...

[Перевод] 8 этапов процесса разработки интерфейса мобильного приложения От переводчика: Роман Гапонов — сооснователь компании Django Stars, которая занимается разработкой веб- и мобильных приложений. Основываясь на личном опыте и опыте своей компании, Роман написал статью о процессе разработки пользовательского интерфейса. Изначально она была...

[Перевод] Стремление к прозрачности Самый эффективный способ помочь другим — это помочь им помочь самим себе. Джерри КорстенсОт переводчика Предлагаю вашему вниманию перевод статьи CEO SpecterOps David McGuire «A Push Toward Transparency». Никакого отношения к данной компании я не имею и никогда не пользовался...

Corona Native для Android — использование произвольного Java кода в игре написанной на Corona Игровой движок Corona позволяет создавать кроссплатформенные приложения и игры. Но иногда предоставляемого им API бывает недостаточно. Для таких случаев есть Corona Native, позволяющий расширять функциональность с использованием родного кода для каждой платформы. В статье по...

Когда 2 х 3 = 2, или еще раз про виртуализацию данных Всем привет! Слышали ли вы что-нибудь о феномене Баадера-Майнхофа? Это забавное когнитивное искажение, наблюдать которое, как оказалось, довольно интересно на собственном примере. В 2016 году на Хабре вышла обзорная статья про технологию Delphix. Как любая хорошая теория, ко...

Расширение PHP и Kotlin Native. Часть вторая, осознанная Краткое содержание первой части: Установка и настройка инструментария. Написание функции helloWorld() на Kotlin Native и компиляция ее в shared library. Доступ к этой функции из C-кода расширения PHP. В этой статье я буду рассказывать про создание инструментария для напис...

[Из песочницы] Решаем проблемы типов данных в Ruby или Make data reliable again В этой статье я хотел бы рассказать о том, какие проблемы с типами данных есть в Ruby, с какими проблемами столкнулся я, как их можно решить и как сделать так, чтобы на данные, с которыми мы работаем, можно было положиться. Читать дальше →

Сборник демографических рассказов в одной карте В свежем номере журнала The Lancet опубликована моя статья — любопытная карта и небольшое к ней пояснение. Решил рассказать об этом на Хабре, поскольку есть надежда, что реализованный способ визуализации данных может пригодиться еще кому-то. Kashnitsky, I., & Schöley...

Как я стандартную библиотеку C++11 писал или почему boost такой страшный. Глава 4.3 Краткое содержание предыдущих частей Из-за ограничений на возможность использовать компиляторы C++ 11 и от безальтернативности boost'у возникло желание написать свою реализацию стандартной библиотеки C++ 11 поверх поставляемой с компилятором библиотеки C++ 98 / C++ 03. Бы...

Приручить зверя. С чем мы столкнулись при разработке приложения для ведения личного дневника на React Native В предыдущей статье я подробно рассказал о нашем опыте создания веб-сервиса/мобильного приложения для ведения личного дневника. Актуальная версия приложения (минимальная работоспособная версия уже выложена в Google Play) разрабатывается на React Native, и вот на нем мы и ост...

TL;DR книги “Искусство заниматься наукой и инженерным делом” Ричарда Хэмминга На Хабре уже долгое время публикуется совместный перевод замечательной книги Ричарда Хэмминга "The Art of Doing Science and Engineering". Я долгое время хотел её прочитать в оригинале. Да не просто прочитать, а составить насколько возможно краткую выжимку основных идей каждо...

Centrifugo v2 — будущее сервера real-time сообщений и библиотека для Go Возможно, некоторые из читателей уже слышали про Centrifugo раньше. В данной статье речь пойдет о разработке второй версии сервера и новой real-time библиотеке для языка Go, лежащей в его основе. Меня зовут Александр Емелин. Летом прошлого года я присоединился к команде Авит...

Стандартизованный инструмент управления работами? Публикации DevOps Forum – огромный вклад в свод знаний о DevOps. Я всегда многому у них учусь. Но с последним выпуском я не могу согласиться. Это Преодоление неэффективности в системах управления работами. Я не согласен с тем, что внедрение стандартизованной системы управле...

Альтернатива: «Как научить Zabbix отправлять уведомления о проблемах прямо на рабочий стол» На волне статьи от Ильи (ableev) хочу рассказать об ином подходе для уведомлений от системы монторинга Zabbix на рабочем столе. Последние 3 месяца я пользуюсь расширением для браузера zabbix vue. От меня в этот проект прилетел только перевод на русский, так что это не рекла...

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

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

[Из песочницы] Запускаем LDA в реальном мире. Подробное руководство Предисловие На просторах интернета имеется множество туториалов объясняющих принцип работы LDA(Latent Dirichlet Allocation — Латентное размещение Дирихле) и то, как применять его на практике. Примеры обучения LDA часто демонстрируются на "образцовых" датасетах, например "20 ...

[Из песочницы] Как не надо писать шаблоны для bootstrap Мало кто сейчас пишет дизайн сайта с нуля — зачем, если есть куча замечательных CSS фреймворков? Наиболее популярен среди них bootstrap. Тем не менее, всем хочется, чтобы сайт выглядел уникально, не так как у других — поэтому поверх часто втыкают(в меру возможностей) бесплат...

Создаем 2D игру на Python с библиотекой Arcade Всем привет! Мы продолжаем делится с вами интересными найденными вещами про питончик. Сегодня вот решили разобраться с 2D играми. Это, конечно, немного попроще, чем то, что проходят у нас на курсе «Разработчик Python», но не менее интересно это уж точно. Поехали. Python ...

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

Разработка для Sailfish OS: отображение графиков с использованием D3.js и QML Canvas Здравствуйте! Данная статья является продолжением цикла статей, посвященных разработке приложений для мобильной платформы Sailfish OS. На этот раз речь пойдет о работе с графиками в Sailfish-приложении. Мы расскажем о поиске и подключении библиотеки и о том, как мы отображае...

Методы удержания игроков: примеры из игр различных жанров Меня зовут Оксана Фомина, я анализирую поведение пользователей и увеличиваю доходы игры, в том числе за счет повышения удержания игроков. В первой части статьи «МЕТОДЫ УДЕРЖАНИЯ ИГРОКОВ В СЛОТ-ИГРАХ: Часть 1» я рассмотрела применение методов удержания игроков на примере сло...

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

Модуль управления силовым преобразователем: разработка и сборка Не для кого не секрет, что сложные современные преобразователи, например, online UPS, работают под управлением DSP/МК или ASIC. Основными поставщиками DSP для силовой электроники являются две компании — Texas Instruments и Infineon, но сегодня речь пойдет о продукции компани...

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

Расширение редактора Unity через Editor Window, Scriptable Object и Custom Editor Всем привет! Меня зовут Гриша, и я основатель CGDevs. Сегодня хочется поговорить про расширения редактора и рассказать про один из моих проектов, который я решил выложить в OpenSource. Юнити — прекрасный инструмент, но в нём есть небольшая проблема. Новичку, чтобы сделать п...

[Перевод] Семь эмпирических правил об экспериментах с веб-сайтами Перевод статьи: Experimenters Rules of Thumb Владельцы веб-порталов, от самых маленьких, до таких крупных, как Amazon, Facebook, Google, LinkedIn, Microsoft и Yahoo, пытаются улучшить свой сайты, оптимизируя различные метрики, начиная с количества повторных использований ...

[recovery mode] «Мне сложно понять мотивацию data scientist’а, который не видит красоты в математике» — Кирилл Данилюк, Data Scientist Привет, Хабр! Data Science уже давно стала привлекательной областью, и все больше и больше людей хотят сменить свою профессиональную траекторию и начать работать с большими данными. Своей историей перехода в data science, советами для начинающих и продвинутых data scientist’...

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

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

[Перевод] Безопасность начинается с домашнего машрутизатора Автор статьи — архитектор решений безопасности (Security Solutions Architect) в подразделении CERT В последнее время много внимания привлекла вредоносная программа VPNFilter, особенно после публичного объявления ФБР 25 мая и ряда объявлений от производителей устройств и ко...

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

Как сделать расширение на PHP7 сложнее, чем «hello, world», и не стать красноглазиком. Часть 1 ЗАЧЕМ?Я пишу эту статью для того, чтобы путь, который у меня занял в общей сложности не меньше года, читатель смог пройти за пару часов. Как показал мой личный опыт, просто программировать на Си несколько легче, чем заставить работать серьезное расширение для PHP. Здесь я ма...

Доверие к мобильным SDK Недавняя история о бэкдоре в популярнейшей NPM-библиотеке заставила многих задуматься о том, насколько мы доверяем стороннему коду и как смело используем его в своих проектах (потенциально подставляя тем самым пользователей наших продуктов). Но ещё за месяцы до того, как ...

А давайте сделаем выводы из обсуждения статьи Что не так с возвращением Geektimes на Хабр 30.05.2018 пользователь andorro опубликовал статью Что не так с возвращением Geektimes на Хабр. Статья получилась замечательная, а комментарии еще лучше. Здесь я попытался просуммировать всю боль (ну почти), высказанную участниками сообщества в комментариях. Очень надеюсь,...

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

[Из песочницы] Android navigation component. Простые вещи, которые приходится делать самому Всем привет! Хочу рассказать об особенностях в работе Navigation Architecture Component, из-за которых у меня сложилось неоднозначное впечатление о библиотеке. Эта статья не пошаговая инструкция, в ней опущены детали реализации, чтобы сосредоточить внимание на ключевых мом...

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

[Перевод] Все, что вам нужно знать о выравнивании во Flexbox Цикл публикаций по особенностям CSS-технологии Flexbox от Rachel Andrew. Что происходит при создании контейнера Flexbox. Резюме В этой статье мы рассмотрим свойства выравнивания во Flexbox, а также основные правила, помогающие запомнить, как работает выравнивание как на гл...

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

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

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

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

[Перевод] 9 из 10 человек согласны зарабатывать меньше на более осмысленной работе В своём введении к книге Working, знаковой устной истории работы 1974 года, Стадс Теркель поставил осмысленность на ту же ступень, что и финансовую компенсацию, в деле мотивации американских работников. «Работа – это поиск ежедневного смысла в той же мере, как и поиск ежед...

Чистая прагматичная архитектура. Мозговой штурм Закрадывалась ли вам в голову идея переписать своё жирное энтерпрайзное приложение с нуля? Если с нуля, то это ж ого-го. Как минимум кода будет раза в два меньше, верно? Но ведь пройдёт пара лет, и оно тоже обрастёт, станет легаси… времени и денег на переписывание не так мно...

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

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

Работа IT-специалистом на Дальнем Востоке — Амурская область Прочитав Стоит ли ехать It-специалисту на Дальний Восток я в комментариях обещал рассказать про свою область. В данной публикации я опишу опыт поиска работы со стороны Junior’a, да и про жизнь в области в целом. Историю дополню своим жизненным опытом, так что надеюсь вам пон...

[Из песочницы] Уменьшение размера APK (в разумных пределах) На Habr.com уже была подобная статья, доказывающая, что можно ужать APK файл с 1.5 МБ до 1757 байт и меньше. Цель данной статьи — уменьшить размер приложения до разумного предела, сохранив его функциональность и осветить некоторые тонкости и неявные моменты. Читать дальше &...

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

WebSockets в Angular: cоздаем Angular Service для работы с вебсокетами В этой статье я постараюсь детально охватить узкую сферу применения технологии в рамках фреймворка Angular и его уже неотъемлемого помощника — RxJs, при этом мы намеренно не будем касаться серверных реализаций, т.к. это полноценная тема для отдельной статьи. Данный текст б...

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

[Перевод] Архитектуры нейросетей Перевод Neural Network Architectures Алгоритмы глубоких нейросетей сегодня обрели большую популярность, которая во многом обеспечивается продуманностью архитектур. Давайте рассмотрим историю их развития за последние несколько лет. Если вас интересует более глубокий анализ, ...

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

[Перевод] Микросервисы на Go с помощью Go kit: Введение В этой статье я опишу использование Go kit, набора инструментов и библиотек для создания микросервисов на Go. Эта статья — введение в Go kit. Первая часть в моем блоге, исходный код примеров доступен здесь. Читать дальше →

[Из песочницы] Что значат метрики для Agile команд? Проходя собеседование на позицию Product Owner я понял, что у меня серьезный пробел по бизнес метрикам в Agile проекте, т.к. работаю в госструктуре. В русском сегменте информация достаточно скудная. В английском сегменте очень понравилась статья Ashwinee Kalkura. Поэтому реш...

[Перевод] Создание эмулятора аркадного автомата. Часть 1 Написание эмулятора аркадного автомата — это замечательный учебный проект, и в этом туториале мы очень подробно рассмотрим весь процесс разработки. Хотите по-настоящему разобраться в работе процессора? Тогда создание эмулятора — наилучший способ его изучения. Вам потребует...

Дизайн привычных вещей: как улучшить интерфейс на примере YouTube От переводчика: сегодня мы предлагаем вниманию Хабра перевод статьи дизайнера интерфейсов Kévin Eugène. Он много лет занят в этой сфере, поэтому ему есть что рассказать. Пример YouTube — один из наиболее показательных, ведь этот сервис хорошо знаком всем нам. Как и все ...

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

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

[Перевод] 7 практических уроков по UX Эта статья будет представлять собой анализ нескольких уроков по UX/UI, которые мы получили, внимательно наблюдая на выставке за парой сотен людей, занимавшихся плейтестингом ранней сборки нашей игры Steamhounds. Для понимания контекста скажу, что Steamhounds — это пошагова...

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

Классификация больших объемов данных на Apache Spark с использованием произвольных моделей машинного обучения Часть 2: Решение И снова здравствуйте! Сегодня я продолжу свой рассказ о том, как мы классифицируем большие объёмы данных на Apache Spark, используя произвольные модели машинного обучения. В первой части статьи мы рассмотрели саму постановку задачи, а также основные проблемы...

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

[Перевод] Эффективная работа с памятью в Node.js Программы, в ходе работы, пользуются оперативной памятью компьютеров. На JavaScript, в среде Node.js, можно писать серверные проекты самых разных масштабов. Организация работы с памятью — это всегда непростая и ответственная задача. При этом, если в таких языках, как C и C++...

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

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

Жадный гном: Как я писал аналитику рынка в Lineage 2 Вот и наступила осенне-зимняя пора. За окном дожди и желания проводить время на открытом воздухе все меньше и меньше. И вот приходит мне сообщение от товарища "А давай поиграем в Lineage 2?". И опять я, поддавшись ностальгии, согласился. Выбрали мы свеженький сервер на ру-оф...

REST-assured: полезные советы В данной статье я собрал полезные советы по использованию REST-assured, одной из самых распространенных Java-библиотек для автоматизации тестирования REST-API. Все примеры жизненные, они собраны из моей практики проведения code-review в более чем 50 проектах с автотестами....

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

Книга «Чистый Python. Тонкости программирования для профи» Привет, Хаброжители! Изучение всех возможностей Python — сложная задача, а с этой книгой вы сможете сосредоточиться на практических навыках, которые действительно важны. Раскопайте «скрытое золото» в стандартной библиотеке Python и начните писать чистый код уже сегодня. Ес...

Прекратите использовать рейкасты там, где это не нужно! Работа с EventSystem в Unity Всем привет! Давно ничего не писал, но сейчас захотелось рассказать про очень удобную штуку, о которой многие не знают. Это Event System в Unity. Многие, для задач в которых EventSystem очень удобен, используют обычный Raycast. Я расскажу про то, как пользоваться частью функ...

Есть ли жизнь без архитектуры? Основная часть кода большинства современных приложений наверняка была написана ещё во времена Android 4.0. Приложения пережили время ContentProvider, RoboSpice, различных библиотек и архитектурных подходов. Поэтому очень важно иметь архитектуру, которая будет оставаться гиб...

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

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

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

Как использует 3d печать сибирский художник-философ, космореалист. Александр Краснов - сибирский художник-философ, космореалист. В 1997 году награждён специальной премией японской фирмы «Фукуока Сокен» за создание фантастических персонажей.На выставке «СО-ЕДИНЕНИЕ» он представил свою первую скульптуру космического корабля. Эта скульптура бы...

Влияет ли искусственный интеллект на качество фотографий? Искусственный интеллект всё чаще внедряется в смартфоны. Он помогает увеличить производительность и улучшить качество фотографий. В случае с последним всё не совсем понятно. Давайте же рассмотрим примеры фотографий, сделанных на Huawei P20 Pro, LG V30S и Pixel 2, и поймем, ...

[Перевод] Организация безопасного тестирования в продакшене. Часть 2 В этой части статьи мы продолжим рассматривать различные виды тестирования в продакшене. Те, кто пропустил первую часть, могут прочитать её здесь. Остальным — добро пожаловать под кат. Читать дальше →

[DotNetBook] Исключения: архитектура системы типов С этой статьей я продолжаю публиковать целую серию статей, результатом которой будет книга по работе .NET CLR, и .NET в целом. За ссылками — добро пожаловать по кат. Архитектура исключительной ситуации Наверное, один из самых важных вопросов, который касается темы исключени...

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

[Из песочницы] Кастомная кнопка с простой анимацией на Swift. Пример 1 Привет Хабр! В этой статье я покажу, как можно создать в Xcode свою кастомную кнопку с простой анимацией с помощью языка Swift. Совместимость: iOS8 или выше. Это просто пример, поэтому всевозможные права доступа, типа private и т. п., здесь не используются. Также подразумев...

[Из песочницы] Боилерплейт ASP.NET Core 2 с React, Redux и плюшками       Настал, наконец, тот момент, когда я могу представить вам боилерплейт React Core Boilerplate (GitHub, Visual Studio Marketplace), или, иными словами, готовый шаблон проекта на ASP.NET Core. Интересно? Добро пожаловать под кат. Читать дальше →

[Из песочницы] node.js serverside — работа над ошибками. Часть 1 Добрый день. Эта статья ориентирована на разработчиков, имеющих представление о node.js. Недавно готовил материал по фактам, которые полезно знать разработчикам под node.js в нашей конторе. Проекты, над которыми мы работаем — это API сервисы, использующие модуль node.js ex...

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

Игровые фичи с помощью ECS: добавляем в шутер аптечки От ковров перейдем к серьезным вещам. Мы уже рассказали про ECS, какие есть фреймворки для Unity и почему написали свой (со списком можно ознакомиться в конце статьи). А сейчас остановимся на конкретных примерах, как используем ECS в нашем новом мобильном PvP-шутере и как ...

[Из песочницы] Использвание Blender и FreeCad для импорта 3D-моделей компонентов в KiCad KiCad отличная программа для проектирования печатных плат, позволяющая создавать достаточно сложные проекты. Она поддерживает трёхмерную визуализацию изделия, что может быть очень полезно для нахождения ошибок в топологии или конструкции. Есть лишь одно неудобство: KiCad не...

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

Визуализация в САПР: зачем мы написали еще один 3D-движок и как он работает Команда C3D Labs с 1995 года делает геометрическое ядро, ключевой технологический компонент для создания систем автоматизированного проектирования (САПР). Два года назад мы выпустили собственный модуль визуализации C3D Vision. Зачем понадобился еще один 3D-движок? Читать д...

[Перевод] DDD, Hexagonal, Onion, Clean, CQRS… как я собрал всё это вместе Эта статья — часть «Хроники архитектуры программного обеспечения», серии статей об архитектуре ПО. В них я пишу о том, что узнал об архитектуре программного обеспечения, что я думаю об этом и как использую знания. Содержание этой статьи может иметь больше смысла, если вы п...

[Из песочницы] Визуализация комментариев на ютубе: ролики, каналы, жанры, кросс-жанры Всем привет! Таннер Стоукс в свое время написал адд-он, переделывающий текст комментариев на ютубе в “herp derp”. Кому-то это сделало жизнь намного лучше. Мы пошли по тому же пути, но немного изменили концепцию. Мы представляем комментарии с ютуба в виде картинок, а точнее г...

Реактивное приложение без Redux/NgRx Сегодня мы разберем по косточкам реактивное angular-приложение (репозиторий на github), написанное целиком по стратегии OnPush. Также приложение использует reactive forms, что вполне типично для enterprise-приложения. При этом мы не будем использовать Flux, Redux, NgRx, I...

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

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

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

Пасхальные яйца и Open Source «Пасхальное яйцо» (англ. Easter Egg) — секрет в компьютерной игре, фильме или программном обеспечении, заложенный создателями. Отличие пасхального яйца в игре от обычного игрового секрета состоит в том, что его содержание, как правило, не вписывается в общую концепцию, выгля...

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

Какими были сварочники для оптики (часть вторая) Эта статья продолжение материала, посвященного истории аппаратов для сварки оптического волокна, которая была опубликована в нашем блоге ранее. Поэтому кому интересно ныряем под кат. Читать дальше →

Что происходит за кулисами С#: основы работы со стеком Предлагаю посмотреть все то, что стоит за простыми строками инициализации объектов, вызова методов и передачи параметров. Ну и, разумеется, использование этих сведений на практике — вычитывание стека вызывающего метода. Дисклеймер Прежде, чем приступить к повествованию, на...

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

Математика в Gamedev по-простому. Матрицы и аффинные преобразования Всем привет! Меня зовут Гриша, и я основатель CGDevs. Сегодня хочется продолжить тему математики в геймдеве. В предыдущей статье были показаны базовые примеры использования векторов и интегралов в Unity проектах, а сейчас поговорим о матрицах и аффинных преобразованиях. Если...

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

Boston Scientifiс сообщила о выпуске первой системы DBS-визуализации GUIDE XT Компания Boston Scientific Corporation (код NYSE: BSX) сообщила о выпуске системы визуализации процесса глубокой стимуляции головного мозга GUIDE™ XT на рынок Европы. — первая система DBS-визуализации, созданная для корректировки направления имплантации в соотве...

[Перевод] Создание дизайна реиграбельных стелс-уровней для Payday 2 Создание Murky Station: Payday 2 Payday 2 — это кооперативный шутер от первого лица с элементами RPG, рассчитанный на четырёх человек. Игра посвящена ограблениям банков и краже редких трофеев. Она выпущена 13 августа 2013 года, с того времени к ней появилось 50 DLC и до сих...

Навигация с архитектурными компонентами от Google. Часть 1. Знакомство Одной из проблем, с которыми сталкивается разработчик немного подразросшегося приложения — навигация между экранами. Когда сценарии становятся нелинейными, уже тяжело обойтись стандартными startActivity и changeFragment. Эту проблему каждый решал по-своему: делал какое-то св...

WebGL-ветер и программирование GPU. Лекция на FrontTalks 2018 Для отрисовки сложной графики на веб-страницах существует библиотека Web Graphics Library, сокращенно WebGL. Разработчик интерфейсов Дмитрий Васильев рассказал о программировании GPU с точки зрения верстальщика, о том, что из себя представляет WebGL и как мы с помощью этой т...

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

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

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

[Из песочницы] Реализация горячей перезагрузки С++ кода в Linux * Ссылка на библиотеку в конце статьи. В самой статье изложены механизмы, реализованные в библиотеке, со средней детализацией. Реализация для macOS еще не закончена, но она мало чем отличается от реализации для Linux. Здесь в основном рассматривается реализация для Linux. Г...

[Перевод] Всё, что нужно знать о выравнивании во Flexbox Об авторе: Рэйчел Эндрю — не только главный редактор журнала Smashing Magazine, но и веб-разработчик, писатель и спикер. Она автор ряда книг, в том числе The New CSS Layout, один из разработчиков системы управления контентом Perch. Пишет о бизнесе и технологиях на своём сайт...

[Перевод] Микросервисы. Паттерны разработки и рефакторинга с примерами на языке Java Привет, Хабр! Мы приступаем к переводу книги Криса Ричардсона "Microservices Patterns. With examples in Java". До премьеры на русском языке еще с полгода, но мы хотели бы предложить вам своеобразный трейлер — немного сокращенный обзор этой книги от Бена Нейдела (Ben Nadel),...

Пишем загрузчик ПЛИС в LabVIEW У большинства "нормальных" программистов, мягко говоря, неоднозначное отношение к технологии LabVIEW. Тут спорить можно долго и безрезультатно. Ситуацию усугубляет то, что в сети масса примеров программ на LabVIEW, но все они ориентированы на новичка и сводятся к "ой, смо...

Перфоратор для дома - лучшие модели В этой статье я решил поделиться своими исследованиями о том, какие перфораторы считаются на сегодняшний момент самыми лучшими. Хочу представить топ 3 перфораторов для использования в домашнем ремонте. Все данные я собраны с сайта https://storgom.ua/perforatory.html. Из дан...

Путешествие gocritic'а в прошлое Хочу поделиться результатами работы последних нескольких дней, которые включали в себя анализ git истории некоторых крупных Go проектов с целью нахождения коммитов, которые исправляли ошибки c последующей их формализацией для детектирования в случае их появления в новом код...

100500 способов кэширования в Oracle Database Рассказывать, какие есть кэши, что такое Result Cache, как он сделан в Oracle и в других базах данных не очень интересно и довольно шаблонно. Но все приобретает совершенно другие краски, когда речь идет о конкретных примерах. Александр Токарев (shtock) построил свой доклад н...

[Перевод] Монстры после каникул: AMD Threadripper 2990WX 32-Core и 2950X 16-Core (часть 5) Часть 1 → Часть 2 → Часть 3 → Часть 4 → Часть 5 Тепловые сравнения и XFR2: Не забудьте удалить пластик с кулера! Каждая машина преследует цели с разными приоритетами: производительность, потребление, шум, тепловые характеристики или стоимость. Достигнуть всех и сразу оч...

[Перевод] Спросите Итана: как близко друг к другу могут появиться инопланетные цивилизации? Ближайшим к нашей Земле миром служит бесплодная, необитаемая Луна. Но можно представить себе, как недалеко от нас располагался бы другой населённый мир – возможно, даже в Солнечной системе. А как близко он мог бы быть к нам? На нашей Земле, движущейся по орбите вокруг Солн...

[Из песочницы] Записки IoT-провайдера. Введение Здравствуйте, уважаемые читатели Хабра. Меня зовут Олег Плотников, я директор Центра Промышленного Интернета одной из IT-компаний. Этой статьей я бы хотел начать целый цикл заметок про Интернет Вещей и конкретно про технологию LoRa. О ней уже не раз писали на Хабре, писали и...

[DotNetBook] Исключения: события об исключительных ситуациях С этой статьей я продолжаю публиковать целую серию статей, результатом которой будет книга по работе .NET CLR, и .NET в целом. За ссылками — добро пожаловать по кат. События об исключительных ситуациях В общем случае мы не всегда знаем о тех исключениях, которые произойдут ...

Что лучше Apple Watch 38 мм или 42 мм? В последнее время смарт-часы приобрели особую популярность, этот уникальный гаджет может заменить мобильный телефон, фитнес-браслет и классические часы. Сейчас в магазинах представлен широкий выбор умных часов от разных производителей, однако самыми популярными все же остают...

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

Веб-компоненты. Часть 3: html шаблоны и импорты Вступление Приветствую коллеги. Данная статья является третьей и последней статьей в серии статей о веб-компонентах.Первые две статьи доступны по ссылкам: Веб компоненты. Часть 1: Пользовательские элементы Веб-компоненты. Часть 2: Теневой DOM В данной статье речь пойдет о &...

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

[Перевод] Magic Leap — печальный хлам Название этой статьи [в оригинале Magic Leap is a Tragic Heap — прим. пер.] тщательно подобрано, а не для красного словца. Я желаю лучшего для VR и всех других технологий в континууме между реальностью и виртуальностью, включая Magic Leap. К сожалению, нынешнее предложение ...

Как декларативно описать коллапсирующий Toolbar Хочу представить решение того, как можно описать CollapsingToolbar, с акцентом на читаемости кода. В статье не будет объясняться, что такое и как написать свой CoordinatorLayout.Behavior. Если читателю интересно в этом разобраться, есть много статей, в том числе на хабре. ...

Dagaz: Орда Мильоны — вас. Нас — тьмы, и тьмы, и тьмы. Попробуйте, сразитесь с нами! Да, скифы — мы! Да, азиаты — мы…   Александр Блок "Скифы" В предыдущей статье я много рассказывал о своих находках в области дизайна и пользовательского интерфейса настольных игр, но тот рассказ пришло...

Переходим на Androidx или увлекательное путешествие по граблям Тема перехода на Androidx сейчас витает в воздухе. Уже есть коротенькая статья на английском от Daniel Lew, есть доклад. Но все они довольно поверхностно рассматривают сценарий перехода описанный в документации Google. Я же хочу поделиться своим опытом. В моем проекте испол...

Python для чайников 2.1 Python для чайников — самоучитель по Python для новичков. Легкие для понимания статьи с примерами программ. Подойдет для изучения Python с нуля, даже если вы раньше никогда не программировали. Содержит 20 уроков, а также инструкцию по установке и настройке Python в Wind...

Как сделать поиск пользователей по Github используя Angular Эта статья является ответом на: Как сделать поиск пользователей по GitHub используя React + RxJS 6 + Recompose, Как сделать поиск пользователей по GitHub без React + RxJS 6 + Recompose, Как сделать поиск пользователей по Github используя VanillaJS. Целью статьи является...

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

[Перевод] Управляемые токенами реестры 1.0 Идея управляемых токенами реестров (TCR) зародилась в блокчейн-сообществе не менее года назад. По крайней мере, эта статья была опубликована автором еще в сентябре 2017 года. А недавно я был на конференции DappCon 2018 в Берлине и увидел большой интерес к этой теме, а также...

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

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

Istio и Kubernetes в production. Часть 2. Tracing В прошлой статье мы рассмотрели базовые компоненты Service Mesh Istio, познакомились с системой и ответили на основные вопросы, которые обычно возникают в начале работы с Istio. В этой части мы посмотрим на то, как организовать сбор tracing информации по сети. Читать дальш...

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

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

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

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

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

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

GNMT, epic fail или тонкости машинного перевода После прочтения статьи "Нейронный машинный перевод Google" вспомнился курсирующий последнее время в интернет очередной epic-fail машинного перевода от Google. Кому сильно не терпится сразу мотаем в низ статьи. Ну а для начала немного теории: GNMT есть система нейронного маш...

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

Работа IT-специалистом на Дальнем Востоке — Сахалинская область TLDR. После прочтения статьи “Стоит ли ехать It-специалисту на Дальний Восток” у меня возникло желание рассказать про мой родной регион — Сахалинскую область, о чем в комментариях к вышеуказанной статье и сообщил. Обо мне — мне 25, разработчик, полуадмин, недо-DevOps, стаж ...

[Перевод] DEFCON 21. Одних паролей недостаточно, или почему «ломается» шифрование диска и как это можно исправить. Часть 1 Спасибо всем, что пришли, сегодня мы поговорим о полном шифровании жёсткого диска (FDE), которое не так безопасно, как вы думаете. Поднимите руки, кто шифрует таким образом HDD своего компьютера. Поразительно! Ну что же, добро пожаловать на DefCon! Похоже на то, что 90% и...

[Из песочницы] Так ли хорош DRY или все же он может нарушать O из SOLID Принцип DRY (Do not Repeat Yourself) давно всем вполне очевиден и любим многими программистами. И многие согласны, что Copy/Paste это совсем не круто. В этой статье я хочу привести пример того, в каких случаях в промышленном программировании использование Copy/Paste более ум...

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

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

Восстановление данных из пустого места Привет Хабр. В новогодние каникулы появилась возможность написать об интересном случае (хотя подобных кейсов у нас в DATALABS не мало). А интересен он тем, что из полностью обнулённой USB флешки, мы удачно восстановили данные. Если интересно как? Добро пожаловать под кат…...

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

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

Закупить электронные компоненты в Европе можно даже в отпуске. Опыт покупки на Mouser в Болгарии Проблемы с закупками зарубежных электронных компонентов а других у нас почти не водится имел почти каждый, профессионально занимающийся разработкой электроники в нашей стране. Ряд комментариев, к моей последней статье о технологических стартапах, это подтвердили. С тем, ч...

[Перевод] Ричард Хэмминг: Глава 10. Теория кодирования — I «Цель этого курса — подготовить вас к вашему техническому будущему.» Привет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2442 в закладки, 394k прочтений)? Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, н...

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

Динамика вертикального полёта летательного аппарата легче воздуха Введение Определение скорости подъёма и спуска летательных аппаратов легче воздуха (ЛАЛВ) до настоящего времени является практически важной задачей, возникающей при проектировании таких аппаратов. Большое количество публикаций посвящено ЛАЛВ, например, только на нашем ресу...

Какие обои лучше купить? Кажется выбор очевиден Сегодня большинство людей сталкиваются с одной и той же проблемой при начале ремонта в своей квартире – а какие обои купить? Действительно, без мнения специалистов быстро и не разберешься, а все благодаря тому, что магазины буквально наполнены огромным выбором. Давайте попро...

Google прекратит поддержку браузера Chrome для 32 миллионов Android-пользователей Google Chrome является самым популярным браузером в мире. Chrome используют 60% пользователей Интернета. Более того, на основе Chromium построено множество других браузеров, ярким примером является Yandex Browser. Как и в случае с Windows, у Android-пользователей есть выбор...

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

[Перевод] Истерия вокруг GDPR, часть 2. Полезные советы Статья опубликована 21 мая 2018 года Первая часть статьи здесь. Если не читали её, пожалуйста, ознакомьтесь для контекста. Разобравшись с самыми распространёнными заблуждениями о GDPR, давайте посмотрим на реальное влияние GDPR. Затем рассмотрим наиболее важные полезные с...

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

Brain Trainer Qt (Учимся считать в уме или проект выходного дня) Наткнулся на посты, где очень бурно обсуждалась тема эффективного счета в уме Один, Два Тема заинтересовала и я начал искать программы и сервисы для тренировки В скором времени пришло осознание, что быстрее написать свое приложение, под свои хотелки и с кнопками где мне удо...

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

ЗИЛ 131 в масштабе 1/16 Продолжая мучать китайскую машинку от WPL решил сделать для нее очередную кабину в масштабе 1/16. На этот раз выбор пал на ЗИЛ 131, ибо он и по размеру больше соответствует грузовику М35, и люди интересовались, да и модель уже почти готовая имелась.Немного подогнав размер и ...

Spring + Firebird + REST. Часть 1 Конфигурирование проекта Вместо вступления Если разбираешь что-то, попробуй это описать понятным языком и найти того, кто прочитает и выступит с замечаниями (перефразировал Р.Фейнмана, таки да я это сделал). Все комментарии, даже злобные в стиле "Да, что этот ~белый~~чел. себе позволяет" приветствую...

[Перевод] Так что же такое pod в Kubernetes? Прим. перев.: Эта статья продолжает цикл материалов от технического писателя из Google, работающего над документацией для Kubernetes (Andrew Chen), и директора по software engineering из SAP (Dominik Tornow). Их цель — доступно и наглядно объяснить основы организации Kuberne...

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

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

Пятничный пост в среду: топ самых «необходимых» NPM-пакетов Привет Хабр! Все знают что такое NPM. Эээй, кто там крикнул «помойка»?! NPM — действительно must-have инструмент для практически любого JS разработчика. Готов поспорить что если вы один из них – где-то в вашем проекте обязательно лежит файлик package.json (а может и не оди...

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

CI/CD простого системного администратора В процессе работы появилась идея автоматизировать доставку powershell скриптов, а также синхронизировать работу в команде среди системных администраторов со скриптами выполняемыми на разных серверах. Статья рассчитана на простых win администраторов незнакомых глубоко с git,...

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

Субъективное видение идеального языка программирования Дальнейший текст — моя точка зрения. Возможно, она позволит кому-то по-новому взглянуть на дизайн языков программирования или увидеть какие-то преимущества и недостатки конкретных фич. Я не буду лезть в частные подробности типа "в языке должна быть конструкция while", а прос...

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

A7 Data Server: управление данными онлайн Привет, Хабр! Мы пилотируем публикации с расшифровками докладов, прозвучавших на PiterJS. Так как это первый опыт, будем рады услышать конструктивную критику и предложения по улучшению. Смотрите видео и слайды, а за расшифровкой — добро пожаловать под кат. Читать дальше →

Python и DataScience: изучаем возможности универсальной библиотеки Numpy От переводчика: это перевод материала Ракшита Васудева, давно и плотно изучающего DataScience и применение в ней языка Python. Автор рассказывает о мощной библиотеке Numpy, который позволяет реализовать многие возможности машинного обучения и работы с большими данными. ...

Как я год строил расширениe для браузера которое читает статьи голосом (с синхронизацией в подкаст) Не один раз я пробовал использовать сторонние API для получения голоса из текста который мне интересно прочитать — можно переключить чтение на уши когда глаза устали, или слушать во время комьюта. Знаю я такой не один, даже люди далекие от айти бывает загружают куда-то текст...

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

[Перевод] Визуализация данных при помощи Angular и D3 D3.js — это JavaScript библотека для манипулирования документами на основе входных данных. Angular — фреймворк, который может похвастаться высокой производительностью привязки данных. Ниже я рассмотрю один хороший подход по использованию всей этой мощи. От симуляций D3 до S...

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

Power BI: Визуализировать, чтобы понимать Визуализация данных — это общий тренд. В современном бизнесе данные не могут «молчать», поэтому выгодней активно использовать технологии, чтобы заставить их «говорить». Сообщение Power BI: Визуализировать, чтобы понимать появились сначала на Searchengines.ru.

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

Улучшение Service Desk при использовании COBIT 5 Онлайн-ресурс ISACA — «COBIT FOCUS» —  опубликовал статью Клаудио Силли (кандидат наук, CISA, CRISC, CISM, CGEIT), посвященную улучшению деятельности Service Desk в компаниях, использующих COBIT 5. «Service Desk играет значительную роль в повседневной р...

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

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

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

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

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

[Перевод] Что нового в JPA 2.2 Всех с праздником! Так уж внезапно получилось, что старт второй группы «Разработчик Java Enterprise» совпал с 256-м днём в году. Совпадение? Не думаю. Ну и делимся предпоследней интересностью: что же нового привнёс JPA 2.2 — cтриминг результатов, улучшенное преобразование ...

[Из песочницы] Упрощаем работу с базами данных в Qt с помощью QSqlRelationalTableModel Доброго времени суток, Хабровчане! В этой статье я хочу рассказать о своем опыте упрощения взаимодействия с базами данных SQL при разработке десктопного приложения с помощью класса QSqlRelationalTableModel кроссплатформенной библиотеки Qt. Пролог С Qt я познакомился еще буд...

[recovery mode] Разбираемся с Render Props на примере Привет, Хабр! Представляю вашему вниманию перевод статьи «Learn Render Props by Example». Честно говоря, раньше я не представлял ситуаций, в которых можно применить React render props, пока не увидел практический пример Читать дальше →

Города и их «большие данные» О чем рассказывают «большие данные» города? Как представить их наглядно и — что важнее — как с их помощью сделать жизнь горожан лучше? Об этом мы поговорили с Андреем Кармацким, гендиректором компании Urbica. Компания специализируется на визуализации городских данных. Среди...

[Из песочницы] Национальный конкурс «Награждение компьютерных игр Германии» в 2018 году, в котором есть место для инди Эта статья о том, что и сейчас (в 2018 году) маленькая инди команда из трех разработчиков может создать игру, которая выиграет приз в 40 000 евро (~2 800 000 руб.) в рамках национальной государственной поддержки отечественных разработчиков игр [1]. Общий призовой фонд данног...

Модернизация IDA Pro. Исправляем косяки процессорных модулей Привет всем, Спустя довольно-таки продолжительное время с момента написания первой статьи я всё-таки решил, пусть и по чуть-чуть, но писать статьи на тему модификации/улучшения IDA Pro. В этой статье пойдёт речь о том, как правильно исправлять косяки в тех процессорных моду...

Отладочная плата STM32F4 в форм-факторе Raspberry Pi Добрый день, уважаемые хабровчане! Хочу представить общественности мой проект — небольшая отладочная плата на базе STM32, но в форм-факторе Raspberry Pi. От других отладочных плат она отличается тем, что имеет совместимую с корпусами от Raspberry Pi геометрию и наличие ESP8...

Устройство и механизм работы Prometheus Operator в Kubernetes В основу этой статьи легла наша внутренняя документация для DevOps-инженеров, объясняющая, как работает Prometheus под управлением Prometheus Operator в разворачиваемых и обслуживаемых кластерах Kubernetes. С первого взгляда Prometheus может показаться достаточно сложным ...

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

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

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

[Из песочницы] Расширение сетевых возможностей программируемого реле при помощи WI-FI С чего все начиналось Начиналось все с разработки алгоритмов для программируемого реле ПР200, и часто требовалась визуализация или ввод информации с компьютера, для этого необходимо использовать панели оператора или SCADA системы, но не всегда это удобно, да и нужно ли для п...

От сисадмина к человеку На DevOps есть по крайней мере два устоявшихся взгляда — со стороны системных администраторов и со стороны разработчиков. Первые обычно хвастаются тем, что используют Chef/Puppet/Ansible/Docker c 200X года, вторые считают, что DevOps либо изжил себя и ведет к NoOps, либо ч...

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

[Перевод] Вся правда об ОСРВ. Статья #18. Группы флагов событий: вспомогательные службы и структуры данных Эта статья продолжает описывать группы флагов событий. Предыдущие статьи серии: Статья #17. Группы флагов событий: введение и базовые службы Статья #16. Сигналы Статья #15. Разделы памяти: службы и структуры данных Статья #14. Разделы памяти: введение и базовые службы ...

[Перевод] Введение в React Hooks Если вы читаете Twitter, вы, вероятнее всего, знаете что Hooks  -  это новая фича React, но вы можете спросить, как мы на практике можем их использовать? В этой статье мы покажем вам несколько примеров использования Hooks. Одна из ключевых идей для понимания заключается в ...

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

[Перевод] Swift 4.1: почему Apple переименовала flatMap в compactMap Привет, Хабр! Меня зовут Александр Зимин, я iOS-разработчик в Badoo. Это перевод статьи моего коллеги Швиба, в которой он рассказал, что из себя представляла функция flatMap в Swift и почему одну из её перегрузок переименовали в compactMap. Статья полезна как для понимания ...

Cassandra для хранения метаданных: успехи и провалы Каким требованиям должно удовлетворять хранилище метаданных для облачного сервиса? Да не самого обычного, а для enterprise с поддержкой географически распределенных датацентров и Active-Active. Очевидно, система должна хорошо масштабироваться, быть отказоустойчивой и хотелос...

Про ИТ-бизнес и не только Всем доброго нового года! Навеяно статьей Бизнес, я люблю тебя коллеги Verovir, а также ее же статьей Уходя — уходи? Ночной разговор об увольнениях (хотя последняя заслуживает отдельного развернутого ответа). Коллега, вы в статье хорошо выделили ключевые проблемные точки, с ...

Использование камеры Fish eye на Raspberry Pi 3 с ROS — часть 1 Добрый день уважаемые читатели Хабра. Несколько лет назад я писал об использовании камеры Raspberry Pi Camera Board на Raspberry Pi в связке с ROS. В этой и следующей статьях я бы хотел рассказать об использовании широкоугольной камеры типа fish eye на Raspberry Pi 3 с устан...

Internal DSL & Expression Trees — динамическое создание функций serialize, copy, clone, equals (Часть I) Статья посвящена двойному применению API Expression Trees — для разбора выражений и для генерации кода. Разбор выражений помогает построить структуры представления (они же структуры представления проблемно-ориентированного языка Internal DSL), а кодогенерация позволяет дина...

AntiFuzzing: Security through obscurity!? Зачем заморачиваться и тратить деньги и ресурсы на security? Зачем утруждать себя постановкой Security Development Lifecycle (SDL)? Зачем заниматься интеграцией fuzzing’а в процесс разработки? Зачем занимать голову знаниями о различных фаззерах типа AFL, libfuzz и т.д.? Ве...

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

День информатики в России: история первого проекта автоматической вычислительной машины Малая электронная счетная машина 4 декабря мы отмечаем День информатики в России. Но что это за праздник, как он появился? В этом интересно разобраться, если знать, что днем рождения российской информатики принято считать 4 декабря 1948 года — то есть за 14 лет до того мом...

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

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

[Из песочницы] Как поднять проект тестирования на windows 10 (Cucumber + capybara + selenium-webdriver) Статья рассчитана на знакомоство с автотестированием и разверткой среды в Windows 10 и предназначена для тех, кто хоть чуть — чуть знает о Cucumber + Capybara + Selenium-webdriver. Идея для статьи появилась из-за различий в разворачивании окружения на Windows 10 и Linux. П...

[Из песочницы] Создаем простой API-шлюз в ASP.NET Core Привет, Хабр! Представляю вашему вниманию перевод статьи "Creating a simple API Gateway in ASP.NET Core". Время чтения: ~10 минут В моей предыдущей статье, JWT аутентификация для микросервисов в .NET, я рассмотрел процесс создания микросервиса для аутентификации пользователе...

UE4 | Инвентарь для Multiplayer #5 | Передача информации между Сервером и Клиентом Список статейUE4 | Инвентарь для Multiplayer #1 | Хранилище данных на DataAsset UE4 | Инвентарь для Multiplayer #2 | Подключение Blueprint к C++ UE4 | Инвентарь для Multiplayer #3 | Структура взаимодействия UE4 | Инвентарь для Multiplayer #4 | Создание и подключение конейнер...

[Из песочницы] Неочевидные особенности применения Rotativa для генерации PDF в ASP.NET MVC приложении Многие разработчики сталкиваются с задачей создания PDF отчетов для веб приложений, вполне естественный запрос. Я бы хотел представить вашему вниманию свой опыт работы с такой задачей при использовании библиотеки Rotativa для генерации отчетов. Это одна из самых, на мой взгл...

[Из песочницы] Взлет Хелидона Привет, Хабр! Представляю вашему вниманию перевод статьи Дмитрия Корнилова Helidon Takes Flight. Я не являюсь сотрудником Oracle, но мне показалась интересной статья о новом, набирающем популярность, типе фреймворков. Итак, поехали… Сегодня хороший день. Сегодня мы представ...

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

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

Туннели и VPN, устойчивые к DPI Мы живем в интересное время. Я бы даже сказал, в удивительное. Кто-то из журналистов недавно назвал происходящее «цифровой гражданской войной». По одну сторону баррикад мы видим государство в лице госструктур, которое очень хочет знать, о чем между собой разговаривают его гр...

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

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

Неуловимый Космический Пират: спрячься в холодильнике от копов, победи в войне дроидов и плюнь Саурону в глаз Статья написана под ярким впечатлением поста «Пиратство в Космосе – Коварная Delta-V и Водородные Стелс-Пароходы — Часть 1» и является альтернативным взглядом на представленную вселенную. Мы будем часто обращаться к тому, что в нем написано и писать так, чтобы не было нужды ...

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

[Перевод] Знакомство с Тестированием в Python. Ч. 2 Всем привет! Продолжаем статью о знакомстве с тестированием в Python, которую мы подготовили для вас в рамках нашего курса «Разработчик Python». Тестирование для Веб-Фреймворков Django и Flask Если вы пишете тесты для веб-приложений, используя один из популярных фреймворк...

[Из песочницы] Как я создал «визард» для WordPress от своей глубокой лени Привет всем. Все мы любим автоматизацию процессов в нашей жизни. Я также не стал исключением. Ведь лень двигатель прогресса, поэтому и пишу сей пост. Начну сначала: На сегодняшний день я работаю QA (куа) тестером в компании TemplateMonster в отделе Wordpress. Никогда не д...

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

Минтруд: тестовое задание — это трудовые отношения Изначальная статья "Что всё-таки не так с наймом в IT?" многим порвала шаблон мышления месяц назад. Не все смогли адекватно воспринять суть трудового права. От шуток к делу, теперь слово берёт Министерство труда и социальной защиты Российской Федерации. Ниже дословно: В соо...

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

Вия, Уая, Вая, Вайя – “трудности перевода”, или что скрывается за новой платформой SAS Viya (Вайя)    В сети можно найти огромное количество разнообразных статей о методах использования алгоритмов математической статистики, о нейронных сетях и в целом о пользе машинного обучения. Данные направления способствуют существенному улучшению жизни человека и светлому будущем...

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

UE4 | Инвентарь для Multiplayer #2 | Подключение Blueprint к C++ Список статейUE4 | Инвентарь для Multiplayer #1 | Хранилище данных на DataAsset UE4 | Инвентарь для Multiplayer #2 | Подключение Blueprint к C++ В предыдущей статье я рассказывал как создать DataAsset, и почему он такой хороший и удобный. Здесь же мы рассмотрим то, как получ...

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

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

Получи пятерку от IMPRINTA! Всем доброго утра!⠀Хотим напомнить вам про нашу акцию, в которой любой пользователь нашего принтера может поучаствовать!⠀Причем подарок получит КАЖДЫЙ, кто поделится своим опытом использования принтеров Hercules или Hercules Strong! И вам не придется беспокоиться о количеств...

RecyclerView на максималках: разбор библиотек Илья Некрасов, Mahtalitet, android-разработчик KODE За два с половиной года в андроид-разработке я успел поработать на совершенно разных проектах: от социальной сети для автомобилистов и латвийского банка до федеральной бонусной системы и третьей по перевозкам авиакомпании....

В Сети появился первый обзор HTC U12+ В Сети на некоторое время появился предварительный обзор HTC U12+ на сайте немецких коллег t-online.de. В настоящее время материал уже удалён, однако сохранился в кешах Google. В статье указано, что на данный момент на рынке нет инновационных устройств и HTC желает изменить...

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

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

[Перевод] Осторожно. Как использовать метрики процессов без вреда для здоровья процессов Оригинал «Be Careful How You Use Metrics» By Stuart Rance | April 10, 2018 in General IT К сожалению оригинал больше не доступен :(, зато теперь есть перевод :). Он получился довольно вольный и ближе к пересказу, т.е. личный опыт переводчика мог затмить мнение автора и гд...

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

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

Протокол ISCP/eISCP от Onkyo: управление устройствами Onkyo по сети Я уверен, что многие из читателей Хабра знают, или хотя бы слышали, об аудио-аппаратуре компании Onkyo. Современные сетевые плееры и A/V ресиверы имеют на борту Линукс, а также возможность проводного/беспроводного подключения к сети. Компания Onkyo предоставляет своё фирменн...

Dragonfire 1.0 — первый голосовой помощник под Linux Сейчас голосовым ассистентом сложно кого-то удивить. Есть мобильные Alexa, Google Assistant и Siri, есть Cortana на Windows. А вот ОС Linux долгое время оставалась без такого приложения. Но теперь оно появилось — после 3 лет разработки была выпущена релизная версия голосовог...

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

[Из песочницы] Ускоряем умножение матриц float 4x4 с помощью SIMD Уже немало лет прошло, как я познакомился с инструкциями MMX, SSE, а позже и AVX на процессорах Intel. В своё время они казались какой-то магией на фоне x86 ассемблера, который уже давно стал чем-то обыденным. Они меня настолько зацепили, что пару лет назад у меня появилась ...

[Перевод] Codable: Советы и Примеры Хотел бы поделиться с вами некоторыми советами и трюками, которые я использовал на этом примере. Скачайте Swift Playground со всем кодом из этой статьи: Codable представлен в Swift 4 с целью заменить старый NSCoding API. В отличие от NSCoding у Codable есть поддержка JSO...

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

Как я стал разработчиком в ABBYY В этот замечательный 256-ой день года поздравляем всех причастных c Днем программиста! И не только тех, кто работает по специальности, но и всех, кто увлекается программированием. По данным исследователей из Evans Data Corporation, в мире 23 миллиона разработчиков. И, наверн...

Управление домом при помощи KNX: освещение Привет! Попробую рассказать, как можно построить систему управления домом при помощи системы KNX. Основные вопросы, которые я хочу осветить — подход к воплощению «умного дома» на KNX, ориентиры по стоимости, подводные камни. Если материал «зайдет», продолжу. Я не стремлюсь в...

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

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

Как мигрировать к другому мобильному оператору и не обанкротиться (для владельцев iOS) Привет, Habr! Решил поделиться своим опытом, как яблочному рабу владельцу iPhone без проблем мигрировать от одного мобильного оператора к другому. Итак, все знают, что в России с 1 декабря 2013 года можно перейти от одного мобильного оператора к другому со всеми вытекающим...

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

Так ли страшен Rust, как его малюют Некоторое время назад я начал понимать необходимость разнообразить мой опыт программирования исключительно на C#. После некоторого изучения различных вариантов, таких как Haskell, Scala, Rust и некоторых других, выбор пал на последний. Со временем я начал обращать внимание, ...

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

Создание регулятора на базе нечеткой логики с многоканальной настройкой «Зато мы делаем ракеты!» В предыдущей статье я проверил, можно ли автоматически настраивать нечеткий регулятор, «стандартными методами» оптимизации. Оказалось можно и результат автоматической настройки вполне удовлетворительный. По крайней мере для ракеты, модель которой бы...

Как я стандартную библиотеку C++11 писал или почему boost такой страшный. Глава 4.2 Краткое содержание предыдущих частей Из-за ограничений на возможность использовать компиляторы C++ 11 и от безальтернативности boost'у возникло желание написать свою реализацию стандартной библиотеки C++ 11 поверх поставляемой с компилятором библиотеки C++ 98 / C++ 03. Бы...

Двигатели Renault D4F > B4D (он-же SCe). Смена поколений. Взгляд автомобилиста Вы спросите — ну какой-же тут транспорт будущего? И вот что я отвечу: Легковые авто с ДВС составляют пока львиную долю рынка. Для многих владельцев старых "ведер", уставших от ремонта, покупка базового нового авто — это таки радужное будущее. До 2030 года владельцы "керога...

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

[Перевод] Навигация в Android-приложении с помощью координаторов За последние несколько лет мы выработали общие подходы создания Android-приложений. Чистая архитектура, архитектурные шаблоны (MVC, MVP, MVVM, MVI), шаблон “репозиторий” и другие. Однако до сих пор нет общепринятых подходов к организации навигации по приложению. Сегодня я хо...

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

[Перевод] Худшая диаграмма на свете Всем привет! А мы тут запускаем очередной поток курса «Разработчик JavaScript» и, по рекомендации преподавателей, готовим интересные материалы для чтения. Сегодня посмотрим на одну интересную заметку о визуализации вывода данных. Поехали. Круговая диаграмма — самый ужасны...

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

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

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

Знакомство с виртуализацией, контейнерами и Kubernetes: 18 материалов о работе в облаке В этой подборке мы объединили статьи и руководства для тех, кто хочет познакомиться с виртуализацией. В материалах под катом — как появилась виртуальная инфраструктура, что такое контейнеризация и чем занимается Cloud DevOps Engineer. Читать дальше →

[Перевод] Быть или не быть… Использовать ли www на своём домене? В течение 20 лет или около того идёт дискуссия, использовать ли www в каноническом имени хоста (CNAME) вашего веб-сайта. Так что, использовать или нет? Хотя многие взаимозаменяемо используют термины «доменное имя» и «имя хоста», между ними есть разница, и дело не только в...

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

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

Есть человек — есть проблема ...или 10 самых частых проблем с людьми в ITSM. Известный эксперт Пол Вилкинсон (Paul Wilkinson) делится своим опытом. Надеюсь, — пишет автор — от вашего внимания не ускользнуло то, как много сказано и написано о человеческом аспекте управления ИТ-услуг...

Kubernetes tips & tricks: о выделении узлов и о нагрузках на веб-приложение В продолжение наших статей с практическими инструкциями о том, как облегчить жизнь в повседневной работе с Kubernetes, рассказываем о двух историях из мира эксплуатации: выделении отдельных узлов под конкретные задачи и конфигурации php-fpm (или другого сервера приложений)...

Новый микроскоп позволяет разглядеть работу отдельной живой клетки Команда ученых из Гарварда и Медицинского университета Хьюза подготовила трехмерную визуализацию наблюдений за активностью живой клетки. Цель – продемонстрировать широкой публике преимущества и перспективы нового инструмента, которым они теперь располагают. Его можно использ...

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

[Из песочницы] Конвертирование XLS файлов в Google Spreadsheet с использованием Google Apps Script Меня зовут Александр и я фрилансер, основная моя специализация — это Google Apps Script. Одному из заказчиков потребовалось программно конвертировать файлы Microsoft Excel в Google Spreadsheets. Я раньше с такой задачей не сталкивался, поэтому призвал на помощь Google. Перер...

[Из песочницы] Основные проблемы разработки современных интерфейсов Привет, Хабр! Представляю вашему вниманию перевод поста Дэна Абрамова «The Elements of UI Engineering» о современных проблемах и задачах, которые должны быть решены в хорошем интерфейсе. Автор разбирает фундаментальные проблемы при разработке интерфейсов, осмысление и решени...

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

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

Кластеры Kubernetes в сервисе VPC Мы добавили возможность удобного запуска Kubernetes в сервисе Виртуальное приватное облако в режиме раннего beta-тестирования. Эта функциональность будет полезна пользователям, которым требуется удобное управление большим количеством приложений, запущенных в виде контейнер...

Используем SQLite в Flutter Привет, Хабр! Представляем вашему вниманию перевод статьи «Using SQLite in Flutter». Сохранение данных очень важно для пользователей, так как нецелесообразно грузить одни и те же данные из сети. Разумнее будет сохранить их локально. В этой статье я продемонстрирую как с...

[Из песочницы] Матрица — терминальная операционная система в 10 Кб Javascript, для реактивных приложений на PHP Всем привет. Эта история началась 10 лет назад, когда разработчики сайтов только начали использовать XmlHttpRequest, длилась все эти годы и наконец подошла к завершению. XmlHttpRequest мы использовали немного не так, как его используют все, и теперь хотим поделиться многолет...

DropTask 3.0.31 DropTask – это полезное приложение для Android, которое позиционируется как менеджер задач для самых разных масштабов. Программу получится использовать для личных нужд или же для работы над крупными проектами с командой пользователей. Перед использованием DropTask всем ...

[Перевод] Мысли о Rust 2019 Коллеги, доброго вечера всем! Мы с радостью предлагаем вам перевод по-настоящему программной статьи от Рафа Левина, чей титанический труд над развитием языка Rust вызывает уважение и пиетет: Без ложной скромности и без шапкозакидательства, предметно и увлеченно уважаемый...

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

[Перевод] Python Developer Tools от Microsoft. Начало работы Последние несколько лет специалисты Microsoft трудились над тем, чтобы добавить поддержку инструментов разработчика Python в одни из наших самых популярных продуктов: Visual Studio Code и Visual Studio. В этом году все заработало. В статье мы познакомимся с инструментами раз...

GitLab для Continuous Delivery проекта на технологиях InterSystems: Контейнеры Эта статья — продолжение статьи про организацию процессов Continuous Integration / Continuous Delivery, автоматизирующих сборку, тестирование и доставку приложений применимо к решениям на платформе InterSystems. Рассмотрим такие темы как: Контейнеры 101 Контейнеры на разны...

Рыбалка Где Клюёт! 1.4.6 Хотите узнать места, где отличная рыбалка? Где можно не только отдохнуть от городской суеты, но и наловить рыбы, а возможно, и потягаться с достойным трофеем? Бесплатное приложение «Где Клюёт!» предлагает Вам легко путешествовать по рыболовным картам, на которых отме...

Критикам не понравилась State of Decay 2 Перед тем как озвучить мнение игровых журналистов и критиков, я бы хотел объяснить один важный момент, касающийся обзоров на игру, которая ещё не вышла в свет. Прямо срываю покровы. Получить игру до релиза могут исключительно профильные СМИ (включая блогеров, журналистов, ле...

Установка Archlinux c полным шифрованием системы и LVM на LUKS В данном посте вы прочитаете немного о моих странных изыскания во время вынужденного отпуска по болезни. Речь пойдёт сразу о нескольких вещах, которые не являются «best practice», но так же тоже можно! Итак, здесь будет туториал о том, как установить Archlinux(мой любимый ди...

GraphQL для платформ компании InterSystems GraphQL — это стандарт декларирования структур данных и способов получения данных, который выступает дополнительным слоем между клиентом и сервером. Если вы впервые слышите о GraphQL, то вот пара хороших ресурсов: раз и два. В этой статье я расскажу как вы можете использова...

Генерация последовательности дат и generate_series в PostgreSQL ВелопредупреждениеДанная статья может оказаться сферическим примером велосипедостроения. Если вам известно стандартное или более изящное решение задачи, то буду рад увидеть его в комментариях. Однажды на одном из проектов нам понадобилось составить отчет по финансовым операц...

Kivy. Xamarin. React Native. Три фреймворка — один эксперемент Приветствую всех! Как только дым от жаркой дискуссии в комментариях к моей статье Kivy — фреймворк для кроссплатформенной разработки №1 осел, и среди прочих пробился достойный внимания комментарий, мы (Mirimon, SeOd), подумали, что было бы интересно и нам и читателям самост...

«Резиновый хозяин искать на Алибаба облако»: размещаем Elasticsearch на мощностях Alibaba Cloud Некоторое время назад я рассказывал о нашем опыте решения сложных задач с помощью Elasticsearch. Это была история про колбасу, где мы разработали поиск по базе минимум из 50 000 документов, который позволяет искать ингредиенты в составе продуктов и автоматически формироват...

Дайджест интересных материа лов для мобильного разработчика #269 (3 — 9 сентября) В новом дайджесте статьи про собственный YouTube, дополненную реальность на картах, текст в интерфейсах, рост приложений для фитнеса и доставки еды, про распознавание лиц, текстов, объектов. Добро пожаловать! Читать дальше →

[Из песочницы] Детекторы и дескрипторы особых точек FAST, BRIEF, ORB В этой статье речь пойдёт о некоторых алгоритмах поиска и описания особых точек изображений. Здесь эта тема уже поднималась, и не раз. Буду считать, что основные определения читателю уже знакомы, рассмотрим детально эвристические алгоритмы FAST, FAST-9, FAST-ER, BRIEF, rBRIE...

DevBoy: делаем генератор сигналов Привет, друзья! В прошлых статьях я рассказывал про свой проект и про его программную часть. В этой статье я расскажу как простенький генератор сигналов на 4 канала — два аналоговых канала и два PWM канала. Читать дальше →

Интеграция 3CX с 1С: Управление торговлей — метод объединения конфигураций В прошлой статье мы рассмотрели интеграцию 3CX v15.5 с типовой конфигурацией 1С Управление торговлей, редакция 11 (11.4.3.167) для России. Однако некоторые специалисты в комментариях выразили опасение, что отключение режима совместимости платформы 1С с текущей версией конфиг...

Microsoft проводит конкурс агентов ИИ на платформе Minecraft Участники конкурса совревнуются в нескольких играх на платформе Minecraft. Слева: игра Build Battle, где игрокам необходимо воссоздать структуру (в данном случае структура расположена на земле). Справа: игра Pig Chase, где агенты ИИ должны сотрудничать, чтобы загнать свинью...

[Перевод] Вся правда об ОСРВ от Колина Уоллса. Статья #3. Задачи и планирование Вся правда об ОСРВ. Статья #3. Задачи и планирование Задачи, потоки и процессы Мы рассмотрели многозадачность, свойство операционной системы выполнять несколько квазинезависимых программ одновременно. Перед тем, как мы более подробно рассмотрим задачи, необходимо разобр...

[Перевод] Вся правда об ОСРВ. Статья #16. Сигналы В этой статье будут рассмотрены сигналы, которые являются простейшими механизмами взаимодействия между задачами в Nucleus SE. Они предоставляют малозатратный способ передачи простых сообщений между задачами. Читать дальше →

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

[Перевод] Реализация BottomAppBar. Часть 2: Меню и элемент управления Navigation Drawer В предыдущей статье мы обсудили основы BottomAppBar, который не так давно представили на Google I/O 2018 как часть Material компонентов для Android. Мы рассмотрели способ реализации BottomAppBar и изучили его атрибуты. Также BottomAppBar может отображать элементы меню и эле...

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

[Из песочницы] BEM'a не должно существовать Здравствуйте. BEM'а не должно существовать. Есть огромное количество причин не использовать эту методологию, но из-за её простоты использования и непонимания работы CSS и HTML, методология широко распространилась среди фронтендеров всего мира, в большинстве случаев среди р...

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

[Перевод] Как определить минимальный размер, необходимый для промежуточной папки репликации DFSR [Прим. переводчика. Материал статьи относится к Windows Server 2003/2003R2/2008/2008R2, но большинство из описанного справедливо и для более поздних версий ОС] Уоррен снова здесь. Эта статья — краткое справочное руководство о том, как правильно вычислить минимальный разме...

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

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

Как мы игру «Камень – ножницы – бумага» на блокчейне Ethereum делали. Ч.2 Техническая Учтя комментарии к моей предыдущей статье я решил написать вторую часть, где будут более подробна рассмотрена техническая составляющая игры. Читать дальше →

[Перевод] Когда не стоит пользоваться алгоритмами STL. Пример с множествами Товарищи, добрый вечер! Вы так здорово разобрали у нас первый тираж книги "С++17 STL. Стандартная библиотека шаблонов" и продолжаете разбирать второй, что мы наконец-то решили изложить здесь и альтернативную точку зрения. Автор сегодняшней статьи — Иван Чукич (Ivan Čukić), ...

Технические интерактивы на фантастических конвентах. Часть 1 За последние несколько лет я пристрастился к фестивалям научной фантастики и фэнтези, кино, сериалов и книг. В первый год только как зритель, но в последующие мне довелось поучаствовать в организации фан-стендов по Доктору Кто (Doctor Who, научно-фантастический сериал), Рэ...

Компилятор Go: язык описания правил SSA оптимизаций В компиляторе gc для описания Static Single Assignment (SSA) правил оптимизаций используется специальный Лисп-подобный предметно-ориентированный язык (DSL). Предлагаю разобрать основные элементы этого языка, его особенности и ограничения. В качестве упражнения, добавим в Go...

Проще, чем кажется. Глава 11 Предыдущие главы — здесь. Таня молчала уже почти час. Смотрела в окно, на проносящиеся мимо поля и леса, укрытые свежим снегом. Вчера подморозило, и снег искрился так, что больно было смотреть – спасали только поляризационные очки. Дорога до родителей Тани, которые жили в ...

Добро пожаловать на борт: вводим новых разработчиков в команду Привет, Хабр! Меня зовут Андрей Гоменюк, я тимлид одной из команд серверной разработки Badoo. На майском Badoo Techleads Meetup, посвящённом управлению разработкой, я поделился опытом интеграции новичков в команду. А сегодня делюсь текстовым дополненным и улучшенным вар...

[Перевод - recovery mode ] Асинхронный Python: различные формы конкурентности С появлением Python 3 довольно много шума об “асинхронности” и “параллелизме”, можно полагать, что Python недавно представил эти возможности/концепции. Но это не так. Мы много раз использовали эти операции. Кроме того, новички могут подумать, что asyncio является единственны...

[Из песочницы] ReactiveValidation: валидация данных в WPF Здравствуй, Хабр! Мне хотелось бы рассказать об Open Source библиотеке для WPF — ReactiveValidation, в процессе написания которой я пытался ориентироваться на FluentValidation и Reactive UI. Её задача — это валидация формы каждый раз, когда пользователь изменил данные внутр...

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

Школа по основам цифровой схемотехники: Новосибирск — Ок, Красноярск — приготовиться Со 2 по 5 октября в Новосибирске прошла школа по основам цифровой схемотехники, архитектуры и использования Verilog. Формальное название мероприятия: школа для магистрантов и аспирантов, проходившая в Новосибирском государственном техническом университет в рамках XIV Междун...

В Комсомольске-на-Амуре пройдет хакатон социальных проектов 25–26 августа 2018 года в Комсомольске-на-Амуре пройдет хакатон социальных проектов «Код-на-Амуре». Приглашаем активных горожан присоединиться и поработать над проектами для решения насущных общественных проблем города. Хакатон проводится совместно с фестивалем «Добрый Комсо...

PICASO 3D: заключительный аккорд На самом деле этой статьи уже не должно было быть. Но поскольку текст был написан раньше, то пусть тоже пойдёт к публикации. Сейчас поскольку принтер PICASO DESIGNER X PRO уже продан и деньги получены в общем-то глупо что-то писать про взаимоотношения с PICASO 3D (ООО “Пикас...

[Из песочницы] Go vs Javascript. На чем писать IoT проекты Какой язык программирования лучше для вашего IoT проекта? Ответ на этот вопрос неоднозначный и субъективный. Есть несколько аспектов, которые необходимо учитывать при рассмотрении этого вопроса: задачи, цели и потребности вашего проекта. Важную роль также играют ваши личные ...