Социальные сети Рунета
Понедельник, 17 декабря 2018
24 апреля 2018   16:46

Устройство и механизм работы Prometheus Operator в Kubernetes

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

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

[Перевод] Понимаем RBAC в Kubernetes Прим. перев.: Статья написана Javier Salmeron — инженером из хорошо известной в Kubernetes-сообществе компании Bitnami — и была опубликована в блоге CNCF в начале августа. Автор рассказывает о самых основах механизма RBAC (управление доступом на основе ролей), появившегося в...

[Перевод] KubeDirector — простой способ запускать сложные stateful-приложения в Kubernetes Прим. перев.: Оригинальная статья написана представителями компании BlueData, основанной выходцами из VMware. Она специализируется на том, чтобы сделать доступнее (проще, быстрее, дешевле) развёртывание решений для Big Data-аналитики и машинного обучения в различных окружени...

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

[Перевод] Разворачиваем Kubernetes HA-кластер на Baremethal с помощью Kubeadm и Keepalived (простое руководство) Эта статья является свободной интерпретацей официального руководства Creating Highly Available Clusters with kubeadm для Stacked control plane nodes. Мне не нравятся сложный язык и примеры использованные в нем, поэтому я написал свое руководство. Если у вас появятся какие-ли...

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

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

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

[Перевод] Senior Engineer в поисках работы. Как я прошел 20 собеседований с HR и что я об этом думаю Предисловие для читателей Хабра — статья поиске работы на рынке разработки в Украине (который в основном об аутсорсе на иностранных заказчиков) поэтому некоторые вещи могут показаться странными (LinkedIn, собеседования с заказчиками, обязательное требование разговорного англ...

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

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

[recovery mode] CRM-интеграция 3CX с Google Contacts В прошлой статье мы обсуждали интеграцию бесплатной редакции IP-АТС 3CX с Microsoft Outlook. А в этой статье поговорим об аналогичной интеграции с сервисом Gmail / Google Apps (G Suite). Например, имея общий доступ к аккаунту Gmail, несколько сотрудников компании могут работ...

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

Тестирование приложения на Go как черный ящик при помощи Rspec Хорошо написанные тесты значительно уменьшают риск “поломать” приложение при добавлении новой фитчи или исправлении ошибки. В сложных системах, состоящих из нескольких взаимосвязанных компонентов, наиболее сложным является тестирование их точек соприкосновения. В этой стат...

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

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

Kubernetes в production: сервисы Полгода назад мы закончили миграцию всех наших stateless сервисов в kubernetes. На первый взгляд задача достаточно простая: нужно развернуть кластер, написать спецификации приложений и вперед. Из-за одержимости в вопросе обеспечения стабильности в работе нашего сервиса пришл...

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

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

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

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

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

Pure Storage ActiveCluster в связке с VMware: обзор и тестирование Не так давно компания Pure Storage анонсировали новую функциональность ActiveCluster – active/active метро кластер между хранилищами данных. Это технология синхронной репликации, при которой логический том растянут между двумя хранилищами и доступен на чтение/запись на обо...

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

Soft Skills в управлении проектами: понятие, цели и советы по успешному бизнес-применению Минимум инструментов для максимально успешных результатов — именно такому правилу следуют настоящие специалисты. К примеру, динамично развивающаяся сфера управления проектами избирательно подходит к используемым в работе техникам и методикам, оставляя лишь самое полезное. Эт...

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

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

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

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

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

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

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

Qualcomm Snapdragon Wear 3100 нацелен на то, чтобы предоставить конкурентам Apple Watch более длительное время автономной работы Qualcomm запустила новый чипсет для носимых устройств Snapdragon Wear 3100, который будет работать в смарт-часах на базе Wear, чтобы конкурировать с Apple Watch, предлагая большее время автономной работы. Snapdragon Wear 3100, выпущенный в понедельник, является продолжением ...

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

[Перевод] Оптимальное расположение шардов в петабайтном кластере Elasticsearch: линейное программирование В самом сердце информационно-поисковых систем Meltwater и Fairhair.ai работает набор кластеров Elasticsearch с миллиардами статей из СМИ и социальных медиа. Индексные шарды в кластерах сильно отличаются по структуре доступа, рабочей нагрузке и размеру, что поднимает некотор...

[Перевод] Как передать полиморфный объект в алгоритм STL Как мы можем прочесть в первой главе книги Effective C++, язык С++ является по сути своей объединением 4 разных частей: Процедурная часть, доставшаяся в наследство от языка С Объектно-ориентировання часть STL, пытающийся следовать функциональной парадигме Шаблоны Эти четы...

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

Line Puzzle: String Art 1.3.32 Line Puzzle – это потрясающая яркая и увлекательная головоломка для всех. Для детей и для взрослых без ограничений по возрасту. Суть игры в том, что игра предлагает вам образцы картинок, выполненных в стиле STRING ART. Ваша задача состоит в том, чтобы повторить предст...

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

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

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

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

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

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

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

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

Как построить IIoT архитектуру своими руками. Часть 2: «Вещи» В предыдущей статье мы достаточно кратко рассмотрели организацию и процессинг IoT данных с помощью проекта Apache NiFi. Этой статьей мы открываем серию, в которой детально расскажем о каждом этапе, начиная от самих устройств и заканчивая DataLake платформой аналитикой, машин...

[Перевод] Деплой Elasticsearch на AWS с помощью Kubernetes за 10 шагов Kubernetes aka k8s — это система с открытым исходным кодом для автоматизации развертывания, масштабирования и управления контейнерными приложениями. В этой статье я расскажу как настроить кластер Kubernetes и развернуть на нем кластер Elasticsearch в AWS. Эти настройки такж...

[recovery mode] Интеграция 3CX с Microsoft Dynamics 365 В этой статье мы расскажем, как подключить CRM-интеграцию Microsoft Dynamics 365 к IP-АТС 3CX. В данный момент 3CX завершает поддержку интеграций на стороне клиента 3CXPhone и переводит все CRM-интеграции на сторону сервера АТС по технологии REST API. Это позволяет настроит...

Безопасность или паранойя: временные права при запуске команд В прошлой статье «Меньше администраторов всем» я рассказывал о принципах работы без прав администратора ― в частности, о технологии Just Enough Administration (JEA). Этот механизм хоть и гибкий, но сложный в настройке, и в ряде ситуаций можно обойтись и без него. Например,...

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

«Флант» и Okmeter: симбиоз на благо мониторинга Пройдя длинный путь системного администрирования Linux-серверов, в качестве базовых инструментов для сбора статистики и мониторинга мы успели попробовать разные варианты реализации. Самописные скрипты (и даже веб-приложения), Cacti, Zabbix — наиболее устоявшиеся у нас в то...

Слабости HTTPS. Часть 2 Любая система имеет свои слабые и сильные стороны. Первая часть о слабостях HTTPS вызвала неоднозначную реакцию, что «это не слабости, так было задумано». В первой части говорилось: О невозможности обеспечить полную конфиденциальность и privacy пользователям (все ещё можно...

Как работает Headless Chrome Уже из названия понятно, что headless-браузер — это нечто без головы. В контексте фронтенда — это незаменимый инструмент разработчика, с помощью которого можно тестировать код, проверять качество и соответствие верстке. Виталий Слободин на Frontend Conf решил, что необходимо...

[Перевод] Как работает JS: классы и наследование, транспиляция в Babel и TypeScript [Советуем почитать] Предыдущие 14 частей циклаЧасть 1: Обзор движка, механизмов времени выполнения, стека вызовов Часть 2: О внутреннем устройстве V8 и оптимизации кода Часть 3: Управление памятью, четыре вида утечек памяти и борьба с ними Часть 4: Цикл событий, асинхронност...

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

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

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

Интеграция web-приложений с помощью Spring Cloud Contract В статье речь пойдет об интеграции веб-приложений, написанных с помощью Spring и работающих по HTTP. Название Spring Cloud Contract, на мой взгляд, вводит в заблуждение, так как не имеет ничего общего с cloud. Речь пойдет об API контрактах. Читать дальше →

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

[Перевод] Что происходит при создании контейнера Flexbox? Это перевод статьи Rachel Andrew, являющейся одним из разработчиков спецификаций CSS. В короткой серии статей я собираюсь потратить некоторое время на детальную распаковку Flexbox — точно так же, как я делала в прошлом с grid. Мы рассмотрим, для чего был разработан Flexbox, ...

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

RabbitMQ против Kafka: два разных подхода к обмену сообщениями В прошлых двух статьях мы рассказывали об IIoT — индустриальном интернете вещей — строили архитектуру, чтобы принимать данные от сенсоров, паяли сами сенсоры. Краеугольным камнем архитектур IIoT да и вообще любых архитектур работающих с BigData является потоковая обработка д...

«Научиться Spring — бессмысленное занятие» — Джош Лонг, главный евангелист Spring о внутренней кухне проекта Сегодня у нас в виртуальной студии самый известный в мире докладчик по Spring — Джош Лонг. Именно его докладами открываются Java-конференции по всему миру. Именно он отвечает на вопросы сообщества, делает Spring Tips на YouTube, именно его «This week in Spring» мы читаем ка...

[Перевод] Оптимизация работы с прототипами в JavaScript-движках Материал, перевод которого мы сегодня публикуем, подготовили Матиас Байненс и Бенедикт Мейрер. Они занимаются работой над JS-движком V8 в Google. Эта статья посвящена некоторым базовым механизмам, которые характерны не только для V8, но и для других движков. Знакомство с вну...

[Из песочницы] Kubernetes-HA. Разворачиваем отказоустойчивый кластер Kubernetes c 5 мастерами Здравствуйте! В данной публикации я хотел бы рассказать о кластере Kubernetes с высокой доступностью (HA). Оглавление: Вступление Список используемого софта Список и назначение хостов Принцип работы и развертывания Подготовка ОС к развертыванию. Установка docker...

Удобный способ тестирования React-компонентов Я написал построитель дополнительных отчетов (custom reporter) для Jest и выложил на GitHub. Мой построитель называется Jest-snapshots-book, он создает HTML-книгу снимков компонентов React-приложения. В статье речь пойдет о том, что такое Jest, snapshot-тестирование, для ...

Как мы попали в отдел ИБ большой компании и начали в ней работать. Дневник двух молодых и перспективных специалистов Вот уже три месяца мы, двое студентов четвертого курса, работаем в отделе информационной безопасности "ЛАНИТ-Интеграция". Мы хотели бы поделиться своими впечатлениями от этого этапа вхождения в профессию и в большой ИТ-бизнес. Эта статья будет полезна всем, кто собирается ус...

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

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

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

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

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

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

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

Исследование файловой системы HDD видеорегистратора модели QCM-08DL Данная статья посвящена изучению файловой структуры жёсткого диска восьмиканального видеорегистратора с целью массового извлечения файлов с видеозаписями. В конце статьи приводится реализация соответствующей программы на языке С. Читать дальше →

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

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

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

Миграция схемы базы данных без даунтайма для postgresql на примере django Введение Привет, Хабр! Хочу поделиться опытом написания миграций для postgres и django. Речь в основном пойдёт про postgres, django же здесь хорошо дополняет, так как из коробки имеет автоматическую миграцию схемы данных по изменениям модельки, то есть имеет довольно полный ...

Совместное использование аутентификации yii1/yii2 Это статья не имеет смысла без первой части, в которой есть ответ «зачем это делать». Она про методику плавной миграцию проекта с yii1 на yii2. Ее суть в том, что ветки проекта на yii1 и его новой версии на yii2 работают совместно на одном домене в одном виртуальном хост...

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

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

Newman и Continuous Integration на примере Atlassian Bamboo. Изобретение велосипеда Введение В недавней статье наш боевой товарищ actopolus рассказал о том, как мы научились применять Postman для реализации функционального тестирования нашего API проекта. Научившись писать функциональные тесты, и написав их порядка полутора сотен, мы решили, что настало т...

[recovery mode] Лента новостей: почему мы делаем это неправильно? Здравствуй, меня зовут Дмитрий Карловский и у меня для вас новость. Ну как новость, свежий взгляд на привычную вещь в виде очередной статьи. Скорее всего вы попадёте на неё из какой-либо ленты новостей. Или не попадёте, если новость будет опубликована не вовремя. Независимо ...

[Перевод] Карты из шестиугольников в Unity: части 1-3 От переводчика: эта статья — первая из подробной (27 частей) серии туториалов о создании карт из шестиугольников. Вот, что должно получиться в самом конце туториалов. Часть1: создание сетки из шестиугольников Оглавление Преобразуем квадраты в шестиугольники. Триангулируем...

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

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

Continuous integration в Яндексе Поддержка огромной кодовой базы с одновременным обеспечением высокой производительности большого числа разработчиков — это серьезный вызов. В течение последних 5 лет в Яндексе идет разработка особой системы непрерывной интеграции. В данной статье мы расскажем про масштаб код...

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

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

[Из песочницы] Guice всемогущий: assistedinject, multibindings, generics В последнее время чаще стал встречать команды, которые используют Guice в качестве DI фреймворка. Стал его бояться (слезать с любимого Spring!?), и, как это обычно в жизни и бывает, страхи мои материализовались — я попал на проект, на котором активно используется Guice… В и...

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

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

Создание игры «Like Coins» на Godot Engine. Часть 2 Я надеюсь вы заждались второй части статьи затрагивающей аспекты разработки игр при помощи "Godot Engine", на примере игры "Like Coins"? На повестке дня приготовлено много всего "вкусного" и "полезного". Сразу оговорюсь, что в этой статье мы завершим ранее начатую игру, нача...

[Из песочницы] Как сделать простым и понятным запуск Java-процессов в Linux / Docker По профилю работы DevOps-инженером я часто занимаюсь автоматизацией установки и настройки разнообразных IT-систем в различных средах: от контейнеров до облака. Приходилось работать со многими системами, основанными на Java-стеке: от небольших (вроде Tomcat), до масштабных (H...

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

[Перевод] Сколько стоит компилятор? Компилирующий тулчейн является одним из самых больших и самых сложных компонентов любой системы, и, как правило, основан на опенсорсном коде, либо GCC, либо LLVM. На Linux-системе, только ядро операционной системы и браузер имеют больше строк кода. Для коммерческих систем, к...

[Перевод] Как Discord одновременно обслуживает 2,5 млн голосовых чатов с помощью WebRTC С самого начала мы так спланировали инженерные и продуктовые решения, чтобы Discord хорошо подходил для голосовых чатов во время игры с друзьями. Эти решения позволили сильно масштабировать систему, обладая небольшой командой и ограниченными ресурсами. В статье рассматрив...

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

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

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

Zyxel Nebula — простота управления как основа экономии Вместо предисловия Эта статья посвящена таким совсем «нетехническими» вещам как простота и удобство управления. Речь пойдёт не об эргономике и различных особенностях интерфейса, а именно о комплексном подходе. Читать дальше →

DotVVM — Коммуникация между клиентом и сервером Это вторая статья из серии посвященная DotVVM. Первая статья была скорее ознакомительной. Я старался на простом примере показать как работать в DotVVM на базовом уровне. Статья, по сути, не затрагивала самого важного: как это работает. Этому вопросу а также оптимизации траф...

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

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

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

Обзор оперативной памяти Kingston HyperX Predator DDR4-2933 (2х8 Гбайт) В мире оперативной памяти в данный момент главенствуют две ярко выраженные тенденции: рост стоимости комплектов ОЗУ и повсеместное внедрение RGB ламп. Оперативка стандарта DDR4 резко подскочила в цене достаточно давно, причем за модули с высокой тактовой частотой (2933 МГц ...

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

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

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

Как запустить Istio, используя Kubernetes в production. Часть 1 Что такое Istio? Это так называемый Service mesh, технология, которая добавляет уровень абстракции над сетью. Мы перехватываем весь или часть трафика в кластере и производим определенный набор операций с ним. Какой именно? Например, делаем умный роутинг, или реализуем подход...

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

Apple сообщила, сколько пользователей установили iOS 11 Мобильная операционная система от Apple iOS 11 установлена уже на 76% всех устройств. Эти данные были опубликованы самой компанией, опираясь на статистику посещений магазина App Store. Около 19% устройств по-прежнему используют iOS 10 и 5% – iOS 9 и более ранние версии. Ск...

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

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

ActionViews или как я не люблю boilerplate с самого детства Привет, Хабр! В данной статье я хочу поделиться опытом создания своего механизма для автоматизации показа различных View типа: ContentView, LoadingView, NoInternetView, EmptyContentView, ErrorView. Читать дальше →

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

Пишем модуль ядра Linux: GPIO с поддержкой IRQ Хабр, привет! Данная статья посвящена разработке GPIO (General-Purpose Input/Output) модуля ядра Linux. Как и в предыдущей статье мы реализуем базовую структуру GPIO драйвера с поддержкой прерываний (IRQ: Interrupt Request). Читать дальше →

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

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

Созданная в ARM платформа повысит гибкость Интернета вещей Программное обеспечение Pelion IoT Platform предназначено для управления устройствами, данными и соединениями в корпоративных системах Интернета вещей. Широкое распространение электронных компонентов, спроектированных ARM, которые используются сегодня повсеместно &nda...

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

Ломаем фундаментальные основы C#: выделение памяти под ссылочный тип на стеке В данной статье будут приведены основы внутреннего устройста типов, а также пример, в котором память под ссылочный тип будет выделена полностью на стеке (это потому что я full-stack программист). Дисклеймер Данная статья не содержит материал, который стоит применять в реа...

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

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

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

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

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

[Перевод] Какие инструменты есть у солнечного зонда Parker Источник: The Bruce Murray Space Image Library (Примечание переводчика: поскольку в комментариях к предыдущей статье неоднократно раздавались вопросы «а что вообще там можно наблюдать и как?», я решил дополнительно перевести статью об инструментах, которыми оснащён Parker)...

[Из песочницы] Опыт использования LoRaWAN в системе АСКУЭ в реальных городских условиях В этой статье изложены результаты опытной эксплуатации системы коммерческого поквартирного учёта энергоресурсов (далее АСКУЭ) в реальных городских условиях на базе отечественного оборудования LoRaWAN. Наша компания с 2010 г. занимается созданием систем коммерческого и техн...

В SoC Nvidia Tegra X1 обнаружена неустранимая критическая уязвимость Новость, опубликованная исследователями ReSwitched, заинтересует, в первую очередь, владельцев устройств Nintendo Switch и Google Pixel C. В однокристальной системе Nvidia Tegra X1, на которой построены эти устройства, обнаружена критическая уязвимость. Она получила наз...

Исследование Solar JSOC: киберпреступники становятся профессиональнее Мы в Solar JSOC на постоянной основе собираем данные о событиях и инцидентах информационной безопасности в инфраструктурах заказчиков. На базе этой информации мы раз в полгода делаем аналитику, которая демонстрирует, как меняются атаки на российские организации. Сегодня мы с...

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

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

[Перевод] Непрерывный рост JSON Статья написана в сентябре 2017 года JSON захватил мир. Если сегодня любые два приложения общаются друг с другом через интернет, то скорее всего делают это с помощью JSON. Стандарт принят всеми крупными игроками: из десяти самых популярных Web API, которые разработаны в ...

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

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

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

Создан искусственный интеллект для управления инопланетными базами Правда, новый искусственный интеллект по управлению внеземными базами называется CASE (cognitive architecture for space agents — когнитивная архитектура для космических средств), и о нем Питом Бонассо, главным инженером проекта, опубликована статья в журнале Science Robotics...

[Перевод] Оптимизация рендеринга сцены из диснеевского мультфильма «Моана». Части 4 и 5 У меня есть ветка pbrt, которую я использую для проверки новых идей, реализации интересных мыслей из научных статей и в целом для исследования всего того, что в результате обычно оказывается в новой редакции книги Physically Based Rendering. В отличие от pbrt-v3, который мы...

[Перевод] Пример работы с методом ICE от менеджера продуктов Google и Microsoft Работа с приоритетами — задача, требующая подготовки, опыта и рассмотрения множества технологий, научных подходов, а также авторских методов. Эта статья – перевод материала с сайта Hackernoon.com. Ее автор предлагает применение собственного инструмента оценки приоритетов в ...

Демократизация данных в убере Всем привет! Под хеллоувин я побывал на конференции в Будапеште (Data Crunch) и послушал там ряд интересных докладов. Один из них был от Uber, которые рассказывали о том, на каких подходах они организовали свою платформу управления данными. Этот доклад был не столько техниче...

Data mining Pubmed и Pubchem — баз медицинской и биохимической информации PubMed представляет собой более чем 28 миллионов цитированний (абстрактов и названий) биомедицинской литературы из журналов наук о жизни, онлайн книг и MEDLINE. Также цитирование может включать в себя полный текст статей. Типичный запрос в Пабмед — type 2 diabetes natural co...

Как интегрировать ReactJS в 1С-Битрикс с автоматической генерацией шаблонов на back-end на примере сети Глобус В этом году впервые начали внедрение ReactJS для интернет-магазина сети гипермаркетов Глобус. Проект интересен тем, что расширяет возможности платформы Битрикс и при этом сохраняет возможность генерации страниц для поисковиков и не захламляет дублированием кода и верстки. В ...

Графические процессоры в решении современных IT-задач Графические процессоры (graphics processing unit, GPU) — яркий пример того, как технология, спроектированная для задач графической обработки, распространилась на несвязанную область высокопроизводительных вычислений. Современные GPU являются сердцем множества сложнейших пр...

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

Как научить Zabbix отправлять уведомления о проблемах прямо на рабочий стол Картинка: источник Привет, Хабр! Меня зовут Илья Аблеев, я работаю в отделе мониторинга Badoo. Можно долго холиварить на тему того, какая система мониторинга круче. Основным инструментом для реакции на проблемы Badoo используется Zabbix и мы неоднократно делились опытом ...

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

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

Hello World для получения данных с Bluetooth (BLE) устройства через C# Добрый день. Пару недель назад я столкнулся с проблемой, что нормальной и современной статьи по первому получению данных с Bluetooth просто нет. И пришлось повозиться чтобы понять с чего начать и как это вообще осуществить. И чтобы люди не повторяли мои ошибки, вот краткое э...

[Перевод] Строим систему реактивных компонентов с помощью Kotlin Всем привет! Меня зовут Анатолий Варивончик, я Android-разработчик Badoo. Сегодня я поделюсь с вами переводом второй части статьи моего коллеги Zsolt Kocsi о реализации MVI, которую мы ежедневно используем в процессе разработки. Первая часть здесь. Чего мы хотим и как мы...

Собственный VPN клиент на JavaScript. 11 часть — Сборка приложения под Windows P.S. Каждая часть — это часть, сама по себе смысла не имеет, чтобы обзавестись необходимым контекстом и не испытывать когнитивный диссонанс от отсутствия так необходимых блоков текста начните читать с 1 части В этот раз собирать приложение я буду npm модулем electron-builde...

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

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

Разработка и тестирование смарт-контрактов Hyperledger Fabric Hyperledger Fabric (HLF) — платформа с открытым исходным кодом, использующая технологию распределенного реестра (DLT — distributed ledger technology), предназначенная для разработки приложений, работающих в среде бизнес-сетей, созданных и контролируемых консорциумом организа...

Восход Cолнца Вручную #2: По хардкору за IDE, Cmake, и моё разочарование в животных В предыдущей статье имел наглость использовать CLion в качестве IDE. И тут же прибежал человек с вопросом: ой, проприетарная платная поделка, продался, зажрался, итп. Справедливости ради, на Хабре такой комментарий был всего один, но в реальности их тысячи. Например, крайний...

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

Cертифицированная инфраструктура на базе HyperFlex для SAP HANA Мы продолжаем знакомить вас с гиперконвергентной системой Cisco HyperFlex и в этой статье расскажем о сертифицированной инфраструктуре на базе HyperFlex для SAP HANA. В октябре 2018-ого года компания SAP сертифицировала HyperFlex для запуска SAP HANA. SAP HANA (High-Perfo...

Сети для самых матёрых. Часть пятнадцатая. QoS СДСМ-15. Про QoS. Теперь с возможностью Pull Request'ов. И вот мы дошли до темы QoS. Знаете почему только сейчас и почему это будет закрывающая статья всего курса СДСМ? Потому что QoS необычайно сложен. Сложнее всего, что было прежде в цикле. Это не какой-то магический арх...

Java EE Concurency API Всем привет! А мы тут плюшками балуемся запускаем второй поток курса «Разработчик Java Enterprise». Бессменный создатель и преподаватель курса — Виталий Иванов, написал вот по этому поводу статью даже, которая, как надеемся, покажется вам полезной :) Так что поехали :) Д...

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

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

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

[Перевод] Собираем собственный аудио усилитель профессионального уровня не (очень) дорого Получаем потрясающий стереозвук на основе платы 3e Audio Д-класса Перевод статьи с сайта IEEE Spectrum, автор – Гленн Зорпет Несколько лет назад я решил узнать, насколько дёшево можно сделать самому усилитель Д-класса аудиофильского качества. Тогда у меня получилось $523,...

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

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

[Из песочницы] Создание бота для участия в AI mini cup 2018 на основе рекуррентной нейронной сети Изначально у меня не было планов о статье, тем более о выступлении на конференции. Но случилась конференция. И после выступления на ней, у смотревших появились ко мне вопросы касательно реализации некоторых технических моментов. Так и получилось слово за слово — статья. Зап...

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

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

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

[Перевод] Репликация из Percona Server for MySQL в PostgreSQL с использованием инструмента pg_chameleon Репликация является одной из хорошо известных функций, позволяющих создавать идентичную копию базы данных. Она поддерживается практически в любой реляционной системе управления базой данных (РСУБД). Возможность репликации обеспечивает значительные преимущества, в особенности...

[Перевод] Секс — продавец классических аркадных игр. А кто же покупатель? Насколько я помню, в 70-80 годах лозунг «секс — двигатель рекламы» был невероятно притягателен. Было такое ощущение, что предметом общего согласия в рекламе был образ полуодетой красавицы, которую достаточно поставить перед неким продуктом и сфотографировать, после чего этот...

[Из песочницы] Блеск и нищета 1С для интернет-магазина. Блеск золота для франчайзи и нищета функционала для пользователя TL;DR или ВКРАТЦЕ: Статья рассказывает о том, что ожидать от использования системы 1С для интернет-магазина. Все знакомы с картинкой-мемом «ожидание-реальность». Автор работает в давно функционирующем интернет-магазине без единой товаро-учетной системы (эксель, макросы и про...

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

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

[Перевод] Мышление в стиле Ramda: Неизменяемость и массивы 1. Первые шаги 2. Сочетаем функции 3. Частичное применение (каррирование) 4. Декларативное программирование 5. Бесточечная нотация 6. Неизменяемость и объекты 7. Неизменяемость и массивы 8. Линзы 9. Заключение 10. Использование Ramda с Redux 11. Функциональные компоненты с R...

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

Мультиподписи в сети Monero Мы открываем цикл публикаций об устройстве различных блокчейнов и начнем исследования с монеро (Monero). Это достаточно известная криптовалюта, в ней реализован ряд интересных алгоритмических и криптографических решений. Несколько месяцев назад в Monero Core была добавлена п...

Обзор и тестирование СХД Infortrend EonStor DS2024 2-го поколения В статье «СХД Infortrend — альтернатива А-брендам. Обзор и тестирование» мы описали функционал и производительность одной из самых популярных на тот момент SAN Infortrend — DS 3012T. К преимуществам СХД Infortrend, по итогам прошлой статьи, мы отнесли поддержку классических ...

Gradle 5.0 — что нового В процессе разработки CUBA мы применяли все три основных инструмента сборки — начали с Ant, потом перешли на Maven на короткое время, а сейчас используем Gradle и, похоже, что в ближайшее время останемся с ним. Не так давно вышел Gradle 5.0. В этой версии появилось большое ...

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

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

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

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

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

[recovery mode] Отказоустойчивый VoIP кластер 3CX Отказоустойчивый кластер 3CX представляет собой два реплицируемых сервера АТС. Когда основной сервер выходит из строя, в работу включается сервер-реплика, минимизируя время отказа телефонии. В этой статье мы рассмотрим, как правильно конфигурировать отказоустойчивость АТС 3C...

[Перевод] Мышление в стиле Ramda: Линзы 1. Первые шаги 2. Сочетаем функции 3. Частичное применение (каррирование) 4. Декларативное программирование 5. Бесточечная нотация 6. Неизменяемость и объекты 7. Неизменяемость и массивы 8. Линзы 9. Заключение 10. Использование Ramda с Redux 11. Функциональные компоненты с R...

[Перевод] Использование промисов в JavaScript Периодически мы публикуем материалы, которые так или иначе касаются использования промисов в JavaScript. Вот некоторые из нихПромисы в ES6: паттерны и анти-паттерны JavaScript: методы асинхронного программирования JavaScript ES8 и переход на async / await Async/await: 6 пр...

[Перевод] Как работает JS: технология Shadow DOM и веб-компоненты [Советуем почитать] Предыдущие 16 частей циклаЧасть 1: Обзор движка, механизмов времени выполнения, стека вызовов Часть 2: О внутреннем устройстве V8 и оптимизации кода Часть 3: Управление памятью, четыре вида утечек памяти и борьба с ними Часть 4: Цикл событий, асинхронност...

Как устроены базы данных Нельзя сказать, что в этой статье вас ждут отборные потроха баз данных, но скорее рассказ про базы данных от самого начала, плюс небольшое углубление в некоторые подробности, которые Илье Космодемьянскому (@hydrobiont) кажутся важными. И есть все основания полагать, что так ...

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

Apollo graphql client — разработка приложений на react.js без redux Сразу уточню. Apollo graphql client использует redux под капотом. То есть, никто не собирается отказываться от redux. Просто ничего из того что описано в документации redux для работы с Apollo graphql client не понадобится. То, о чем я хотел бы рассказать в этой статье — это...

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

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

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

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

Apple блокирует возможность независимого ремонта новых моделей MacBook Статьи о так называемом «праве на ремонт» на Хабре публиковались регулярно. Суть в том, что некоторые компании, включая Apple, всеми силами стараются препятствовать независимым сервисным центрам и ремонтным мастерским, не давая им в полной мере заниматься обслуживанием уст...

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

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

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

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

[Из песочницы] Программирование stm32f103 с самых основ В статье я хотел бы описать шаги на пути к написанию прошивки для микроконтроллеров stm32 без использования специальных сред разработки типа keil, eclipse и тому подобных. Я опишу подготовку прошивки с самых основ, начиная с написания загрузчика на ассемблере, скрипта для ли...

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

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

Check Point Smart Event. Мини-руководство В этой статье я хочу рассказать о продукте SmartEvent компании Check Point. Данный продукт дополняет и расширяет возможности файрвола Check Point, превращая его в эффективный инструмент, который помогает выявить, распознать и обработать инциденты информационной безопасност...

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

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

Первая оптическая нейросеть Обученная многослойная фазовая маска (классификатор рукописных символов). Справа показана физическая модель оптической нейросети D²NN, напечатанная на 3D-принтере: слои 8×8 см с расстоянием 3 см друг между другом Группа исследователей из Калифорнийского университета в Лос...

Конфиденциальные транзакции в Monero, или как перевести неизвестно что неизвестно куда Мы продолжаем наш цикл об устройстве блокчейна Monero, и сегодняшняя статья будет посвящена протоколу RingCT (Ring Confidential Transactions), в котором представлены конфиденциальные транзакции и новые кольцевые подписи. К сожалению, в интернете мало информации о том, как он...

Терминальный сервер для AutoCAD Терминальный сервер для CAD систем интересовал меня давно и данная статья является результатом изысканий в сети Интернет. В этой статье поговорим конкретно о терминальном сервере для Автокада. Автокад довольно ресурсоёмкое приложение требующее все ресурсы железа: и оператив...

Как мы делали БелАЗ. Часть 2 – Лабораторные испытания В прошлой статье было рассказано про состав электрической трансмиссии карьерного самосвала, а в этой я расскажу про то, как мы её пусконалаживали на заводе и с какими проблемами столкнулись. Из этой статьи вы узнаете: как испытать электродвигатель весом в полторы тонны, ка...

[Перевод] У iPhone нашли аллергию на гелий Такую историю услышишь не каждый день. Эрик Вулдридж – специалист по сложным системам в Госпитале Морриса близ Чикаго. Когда он устанавливал новую машину для МРТ от GE Healthcare, ему начали поступать жалобы на неработающие телефоны. Потом у людей начали глючить Apple Watc...

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

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

[Перевод] Как работает JS: пользовательские элементы [Советуем почитать] Предыдущие 18 частей циклаЧасть 1: Обзор движка, механизмов времени выполнения, стека вызовов Часть 2: О внутреннем устройстве V8 и оптимизации кода Часть 3: Управление памятью, четыре вида утечек памяти и борьба с ними Часть 4: Цикл событий, асинхронност...

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

Менеджеры зависимостей В этой статье я расскажу, в чем менеджеры зависимостей (package manager) схожи по внутреннему устройству, алгоритму работы, и в чем их принципиальные отличия. Я рассматривал package manager’ы, предназначенные для разработки под iOS/OS X, но содержание статьи с некоторыми д...

Управление устройством по блютус Эта статья служит продолжением предыдущей статьи «Смартфон управляет игрушечным автомобилем» и должна помочь пользователям, решившим повторить проект, управлять своим устройством с помощью блютус, используя среду программирования BASIC!.. Управление голосом эффектное, но не...

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

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

Conditional Access как механизм контроля доступа В предыдущей статье я упомянул переход на Intune Standalone, который позволил нам в большей степени использовать возможности Azure Active Directory, а именно работать с Conditional Access. В этой расскажу подробнее о том, как это можно сделать. Читать дальше →

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

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

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

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

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

Azure Kubernetes Service (AKS) и PowerShell Потребовалось мне как-то автоматизировать развертывание и управление кластерами Kubernetes в Azure. Документация Microsoft предлагает для этого 2,5 способа: Читать дальше →

CPU Design. Эзотерический язык LMCode Часть I Часть II Часть III Часть IV Эта статья посвящена созданию интерпретатора некого эзотерического языка LMCode, в основе которого лежит архитектура Little Man Computer. О Little Man Computer можно прочитать в предыдущих статьях. Пусть команде INP соответствует , ...

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

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

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

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

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

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

Интерактивная карта для веб-приложения за пару часов В прошлой статье я кратко рассказала о возможностях kepler.gl — нового Open Source инструмента для визуализации и анализа больших наборов гео-данных. Рисунок 1. Варианты карт, созданных с помощью kepler.gl (by Uber) Данное веб-приложение позволяет за считанные минуты созда...

Проектирование типами: Как сделать некорректные состояния невыразимыми на C# Как правило статьи, рассказывающие о проектировании типами, содержат примеры на функциональных языках — Haskell, F# и других. Может показаться, что эта концепция неприменима к объектно-ориентированным языкам, но это не так. В этой статье я переведу примеры из статьи Скотта В...

Печать из CAD/CAE/CAM систем По долгу службы достаточно хорошо изучил систему твердотельного моделирования от отечественного производителя  - Компас-3D. Не трудно догадаться, что компас стал моим основным инструментом для создания 3D моделей для печати. Все шло хорошо, создавал модель, сохранял в S...

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

[Перевод] Как развернуть приложение Ruby on Rails с HAProxy Ingress, unicorn/puma и веб-сокетами После нескольких месяцев тестов мы наконец перенесли приложение Ruby on Rails в продакшен с кластером Kubernetes. В этой статье я расскажу, как настроить маршрутизацию на основе Path для приложения Ruby on Rails в Kubernetes с контроллером HAProxy Ingress. Читать дальше →

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

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

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

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

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

5. Check Point на максимум. IPS. Часть 1 Продолжаем нашу серию уроков по Check Point. На этот раз мы обсудим одну из моих любимых тем, а именно — IPS (Intrusion Prevention System) По-русски — система предотвращения вторжений. Причем акцент именно на Prevention (т.е. предотвращение)! Одно из главных кредо компании...

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

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

Как работают платежные каналы и lightning network в Биткоине Данная статья посвящена рассмотрению off-chain платежных каналов: их типам, принципам работы и особенностям применения. Представленный материал поможет понять, почему идея платежных каналов является революционной в системах учета финансов. Мы поговорим о платежных каналах им...

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

[Перевод] Понимая, как используется дисковое пространство в Linux Прим перев.: Автор оригинальной статьи — испанский Open Source-энтузиаст nachoparker, развивающий проект NextCloudPlus (ранее известен как NextCloudPi), — делится своими знаниями об устройстве дисковой подсистемы в Linux, делая важные уточнения в ответах на простые, казалось...

QuickPad — одно устройство, чтобы управлять всеми На краудфандинговой площадке Kickstarter собирают деньги на весьма необычное устройство под названием QuickPad. Как пишут разработчики в пресс-релизе — One Device to Rule Them All (Одно кольцо устройство, чтобы управлять всеми). Что такое QuickPad Это гаджет с 6-дюймовым сен...

Google собирает со смартфонов в 10 раз больше информации, чем Apple В режиме ожидания Android-устройства отправляют данные в десять раз чаще чем iPhone, пишет MacRumors. К такому выводу пришел профессор информатики Университета Вандербильта Дуглас Шмидт. В статье под названием «Сбор данных Google», Шмидт делится результатами исследован...

Практическое знакомство с пакетным менеджером для Kubernetes — Helm Статья является логическим продолжение нашей недавней публикации об истории пакетного менеджера для Kubernetes — Helm. В этот раз мы снова затронем вопросы устройства и функционирования нынешнего Helm (версия 2.x), а также управляемых им чартов и репозиториев, после чего п...

Сокрытие в Ruby. А ещё скрываем классы из Top-Level Что бы далеко не ходить, сразу определимся с терминами. Инкапсуляция — упаковка данных и функций в единый компонент. Сокрытие — представляет собой принцип проектирования, заключающийся в разграничении доступа различных частей программы к внутренним компонентам друг друга. ...

Как украсть деньги с бесконтактной карты и Apple Pay В статье разбираются популярные мифы и сценарии мошенничества с бесконтактными системами оплаты на примере настоящего POS-терминала, карт PayPass/payWave и телефонов с функцией Google Pay/Apple Pay. Рассматриваемые темы: Можно ли НА САМОМ ДЕЛЕ украсть деньги, прислонивши...

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

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

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

[Перевод] Играем в Mortal Kombat с помощью TensorFlow.js Экспериментируя с улучшениями для модели прогнозирования Guess.js, я стал присматриваться к глубокому обучению: к рекуррентным нейронным сетям (RNN), в частности, LSTM из-за их «необоснованной эффективности» в той области, где работает Guess.js. В то же время я начал игратьс...

[Перевод] Встречайте псевдоконсоль Windows (ConPTY) Статья опубликована 2 августа 2018 года Это вторая статья про командную строку Windows, где мы обсудим новую инфраструктуру и программные интерфейсы псевдоконсоли Windows, то есть Windows Pseudo Console (ConPTY): зачем мы её разработали, для чего она нужна, как работает, ка...

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

[Из песочницы] Как я добавлял новое устройство в SmartThings Hub, часть 1 В этой статье я хочу рассказать про свой опыт разработки так называемого Device Handler для умного дома SmartThings. Задача состояла в добавлении универсального устройства на базе протокола Z-Wave — Z-Uno, а так же обработка подключаемых к нему дочерних устройств. Читать ...

[Из песочницы] Пошаговая инструкция по восстановлению доступа к Linux Amazon EC2 инстансу при потере pem-файла Если при создании Linux-инстанса в AWS не была создана пара ключей (KeyPair) для доступа к нему через SSH либо они утеряны, то необходимо совершить ряд операций для получения доступа к машине. К уже запущенному инстансу добавить ключи через консоль AWS невозможно. Существует...

Kotlin DSL: Теория и Практика Разработка тестов приложения — не самое приятное занятие. Этот процесс занимает долгое время, требует большой концентрации и при этом крайне востребован. Язык Kotlin дает набор инструментов, который позволяет довольно легко построить собственный проблемно-ориентированный язы...

epoll и Windows IO Completion Ports: практическая разница Введение В этой статье мы попробуем разобраться чем на практике отличается механизм epoll от портов завершения (Windows I/O Completion Port или IOCP). Это может быть интересно системным архитекторам, проектирующим высокопроизводительные сетевые сервисы или программистам, пор...

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

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

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

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

Как НЕ быть посредственным разработчиком Привет, Хабр! Представляю вашему вниманию перевод статьи «How not to be a mediocre developer!» Dushyant Sabharwal. В статье приведены некоторые советы для начинающих и, возможно, некоторых опытных программистов, которые могут помочь значительно повысить свой профессионализм...

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

Новый движок, продвинутый ИИ и сложная анимация: первый взгляд на Dying Light 2 от Digital Foundry Анонсированный на выставке Е3 2018 сиквел Dying Light, по обещанию разработчиков, будет не просто паркурным экшеном, а глубокой игрой с фракциями, отыгрыванием роли и сложной системой морали. Оптимизм внушают не только обещания авторов, но и результаты техничес...

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

[recovery mode] Пятничная разминка для ума: Идеальная карма для Хабрахабра Статья написана в состоянии аффекта под впечатлением от объединения Хабрахабра и Гиктаймса. Толчком к её написанию послужили слова Boomburum "А ко мнениям мы к любым прислушиваемся", циклически возникающие обсуждения системы кармы, а так же мысль MTyrz "В принципе эта сист...

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

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

[recovery mode] Главные черты лендинга в 2019 году Сайт, состоящий из одной страницы и посвященный одной услуге или товару, называется посадочной страницей или лендингом. Этот рекламный инструмент – один из наиболее эффективных для превращения посетителя ресурса в реального покупателя. Сегодня лендинги становятся одним из ...

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

[Перевод] О генераторах в JavaScript ES6, и о том, почему изучать их необязательно С ростом популярности конструкции async/await растёт и интерес к её внутренним механизмам. Порывшись в интернете, несложно выяснить, что в основе async/await лежат широко известные промисы, и генераторы, которые пользуются куда меньшей известностью и популярностью. Матери...

Intel ME Manufacturing Mode — скрытая угроза, или что стоит за уязвимостью CVE-2018-4251 в MacBook Принцип «безопасность через неясность» не один год критикуется специалистами, но это не мешает крупным производителям электроники под предлогом защиты интеллектуальной собственности требовать подписания соглашений о неразглашении для получения технической документации. Сит...

Обзор коммутатора D-link DES-1100 Сетевые коммутаторы D-Link – это всегда прекрасное соотношение цена/качество. За сравнительно небольшие деньги вы получите надежные сетевые устройства с необходимым набором функций, способных удовлетворить потребности небольших компаний, имеющих собственные локальные вычисл...

Безопасность мобильного OAuth 2.0 Всем привет! Я Никита Ступин, специалист по информационной безопасности Почты Mail.Ru. Не так давно я провел исследование уязвимостей мобильного OAuth 2.0. Для создания безопасной схемы мобильного OAuth 2.0 мало реализовать стандарт в чистом виде и проверять redirect_uri. ...

Может ли голосовой помощник упростить управление инфраструктурой ЦОД? Будущее управления инфраструктурой ЦОД Вот простой сценарий. Утро. Вы заходите в свою серверную ферму и видите записку от коллег из команды DevOps, которые работали вчера. Они просят вас развернуть несколько инстансов AWS, чтобы можно было протестировать новый код для DCIM-...

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

Грузим терабайты бочками или SparkStreaming vs Spring+YARN+Java В рамках проекта интеграции GridGain и хранилища на базе Hadoop (HDFS + HBASE) мы столкнулись с задачей получения и обработки существенного объема данных, примерно до 80 Тб в день. Это необходимо для построения витрин и для восстановления удаленных в GridGain данных после и...

Opera Mini beta 35.2.2254.128648 Opera Mini beta — самый лучший браузер для телефонов и планшетов под управлением Android 2.3 и выше: быстрый, бесплатный и полностью продуманный. Загрузите бета-версию Opera Mini для Android. С Opera Mini beta вы сможете экономить трафик и быстрее открывать всё, что вас инте...

[Перевод] Резервное копирование и восстановление ресурсов Kubernetes утилитой Heptio Ark Вам наверняка приходилось восстанавливать кластер Kubernetes после сбоя. Была ли у вас толковая стратегия резервного копирования, не требующая пахать несколько дней? Да, можно делать резервные копии в etcd-кластер, но что если отвалилась только часть кластера или вы использу...

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

Splunk Distributed Search. Или как построить Indexer кластер на Splunk? Нам часто задают вопрос, как развернуть кластер на Splunk. У многих пользователей в процессе эксплуатации возникает потребность перехода от standalone к конфигурации кластера, которая обеспечивает устойчивую систему хранения и индексации данных, а также постоянную доступно...

[Из песочницы] Реализация Вавилонской библиотеки В этой статье Вы узнаете всё о Вавилонской библиотеке, а самое главное — как воссоздать её, да и вообще любую библиотеку. Читать дальше →

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

Функциональное программирование на Java с Vavr Многие слышали про такие функциональные языки, как Haskell и Clojure. Но есть и такие языки, как, например, Scala. Он совмещает в себе как ООП, так и функциональный подход. А что насчет старой доброй Java? Можно ли на ней писать программы в функциональном стиле и на сколько ...

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

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

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

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

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

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

Первый смартфон Xiaomi на базе SoC Snapdragon 675 замечен в Сети Компания Qualcomm всего пару недель назад представила новою однокристальную систему Snapdragon 675, которая предназначена для смартфонов средней ценовой категории. Акцент при ее разработке делался на производительности в играх, обработке изображений и искусственном инте...

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

Мониторинг Elasticsearch без боли и страданий «А оно там делает магию» кто-то из тех, кого я удалённо консультировал по Эластику. Я всегда говорю, что верю в три вещи: мониторинг, логи и бэкапы. Тема про то, как мы собираем и храним логи, достаточно полно была раскрыта в предыдущих статьях, тема про бэкапы в Elastic...

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

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

PDFelement – один из самых функциональных PDF-редакторов. Пока со скидкой Всех пользователей яблочных компьютеров можно условно разделить на две большие группы. Первые не используют никаких специальных приложений для открытия и работы с PDF документами. Им вполне хватает стандартных возможностей системы и утилиты «Просмотр». Вторые же активно поль...

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

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

Старый компьютер, Windows 7, 1 Гб оперативки, DirectX 9 видеокарта, Firefox и интернет Несмотря на пройденное время, многие по прежнему ещё пользуются Windows 7. Кто-то вынужден работать на этой ОС или обслуживать такие компьютеры, у кого-то может быть хобби восстановления старых ПК, некоторых полностью устраивает Windows 7 или же из-за своих финансовых или пр...

OpenID Connect 1.0 На Пальцах У OpenID Connect есть спецификация, есть туториалы, статьи на хабре и не на хабре. Довольно бессмысленно лепить очередную пошаговую инструкцию, ведущую от глубокого недоумения к работающей сквозной авторизации и аутентификации. Задача текста ниже иная, описать лежащие в осно...

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

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

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

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

Теория акустических систем: 16 материалов о том, как устроены динамики и колонки Это — новый дайджест c материалами из «Мир Hi-Fi». Мы собрали статьи об устройстве акустических систем и проектировании колонок. Под катом читайте — какую роль выполняет магнит в динамике, как создают DIY-акустику, как выбрать катушку индуктивности. Читать дальше →

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

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

Обзор и тестирование сервера Fujitsu PRIMERGY RX2540 M4 Стремительное развитие новых технологий нередко влечет за собой ситуации, когда используемое оборудование уже не справляется с задачами компаний. Приходится либо производить модернизацию существующего парка серверных систем, либо менять их на более производительные. При этом...

[Из песочницы] Опыт построения интеграционной платформы на базе ServiceMix (Camel) и RabbitMQ Как только в компании появляется хотя бы две информационных системы, которым необходимо обмениваться данными, возникает вопрос, как организовать их взаимодействие. Вариантов множество: файловый обмен, линки между базами данных, web или rest сервисы, различные системы обмена...

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

Kubernetes в массы: 3 августа стартует Слёрм В пятницу начинается Слёрм, интенсив по Кубернетес. Если не подведет местный интернет, мы будем транслировать все лекции. Расписание трансляций: 3 августа, 9:00—13:00 — Автоматизация развертывания инфраструктуры. Ansible — Docker, основы практической работы — Знакомство с K...

[Перевод] Xcode и продвинутая отладка в LLDB: Часть 1 Добрый день, сегодня предлагаю вам ознакомиться с переводом статьи об отладке iOS приложений при помощи LLDB. Одна из самых интригующих частей презентации WWDC 2018, Xcode и продвинутая отладка в LLDB была представлена инженерами Apple. Они дали несколько полезных советов о...

[Из песочницы] [Перевод] Обработка ошибок и транзакций в SQL Server. Часть 1. Обработка ошибок – быстрый старт Привет, Хабр! Представляю вашему вниманию перевод статьи «Error and Transaction Handling in SQL Server. Part One – Jumpstart Error Handling» автора Erland Sommarskog. 1. Введение Эта статья – первая в серии из трёх статей, посвященных обработке ошибок и транзакций в SQL Ser...

Проектирование процессора на языке Verilog Спроектируем Little Man Computer на языке Verilog. Статья про LMC была на Хабре. Online симулятор этого компьютера здесь. Сперва создадим устройство, позволяющее производить загрузку данных в ОЗУ. Читать дальше →

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

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

«С чего начинается путь геймдизайнера?» — Step By Step vol.1 Доброго времени суток читатели! Если вы твердо решили заниматься разработкой игр то вы наверняка знаете что делать если вы: концепт художник, видеомонтажер, художник по спецэффектам, звуковик, кодер, дизайнер интерфейсов, сетевой специалист и тд. Но как быть геймдизайне...

[Перевод] Java Challengers #3: Полиморфизм и наследование Java Challengers #3: Полиморфизм и наследование Мы продолжаем перевод серии статей с задачками по Java. Прошлый пост про строки вызвал на удивление бурную дискуссию. Надеемся, что мимо этой статьи вы тоже не пройдете мимо. И да — мы приглашаем теперь на юбилейный десятый пот...

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

Горячая история техподдержки, или Почему AutoCAD удаляет прокси-объекты? ДисклеймерЦелью этой статьи не является дискредитация программного обеспечения. Статья носит исключительно информационный характер и предназначена для защиты конечного пользователя, который может при определенных обстоятельствах потерять свои данные, работая в AutoCAD. Чит...

В РФ начали собирать предзаказы на новый купеобразный Audi Q8 Немецкий премиальный бренд Audi поделился информацией о старте предзаказов на новый купеобразный Audi Q8. За него придется выложить от 5 100 000 рублей. Первые машины приедут к российским дилерам в декабре нынешнего года. Дебют купе-кроссовера Audi Q8 прошел летом текущего ...

Второе дыхание управления конфигурациями Идеи и подходы к построению управления конфигурациями, описанные в ITIL (Service Transition), понятны и симпатичны… Но почему в этой области так много проектов, реализация которых так и не привела к ожидаемому эффекту? Давайте это разберем. Глоссарий дает следующее определен...

[Из песочницы] Освоение Vuex — с нуля до героя Привет, Хабр! представляю вашему вниманию перевод статьи «Mastering Vuex — Zero to Hero» автора Sanath Kumar. Официальная документация Vuex определяет его как паттерн управления состоянием + библиотека для приложений Vue.js. Но что это значит? Что такое паттерн управления со...

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

Multi-Touch Skin: датчик, который превращает кожу человека в сенсорную поверхность Для управления электронными девайсами придумана масса самых разных устройств ввода. Но что, если сделать нашу собственную кожу этим самым устройством? Звучит фантастически, но группа ученых их Саарского университета в рамках разработки сенсора Multi-Touch Skin создает имен...

Глубокое обучение программированию: что, зачем и как Disclaimer: эта статья подготовлена Skillbox совместно с Егором Яковишеном, ведущим разработчиком Setka Editor и трекером ФРИИ. В наше время научиться программировать на базовом уровне относительно несложно. К примеру, американский бездомный Лео Гранд, обладавший только ...

Организация регулярного дайджеста логов с помощью python и ansible на примере asterisk Когда я создавал данный инструмент, я не был знаком с logwatch. Мне захотелось видеть ситуацию с логами на своих серверах в целом, и, так я сделал этот велосипед. Думаю, что данный механизм может помочь новичкам в понимании альтернативных возможностей ansible. Используемые ...

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

Модель шарового крана. Часть первая - пластическая. Привет. Год назад мной был приобретен принтер Up mini 2, вопрос выбора этого устройства можно вынести в отдельную статью, в этой же я хотел поделиться с вами своим проектом. Это модель шарового крана, которые устанавливают на магистральных газопроводах. Основной функцией дан...

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

8 причин купить обычный iPad вместо iPad Pro В этой статье будут приведены доводы в пользу покупки обычного iPad, если вы не из тех, кто желает приобрести iPad mini. Итак, вот по каким причинам вам лучше остановиться на обычном iPad и не смотреть в сторону iPad Pro. Цена — самый главный довод. Цены на iPad Pro начинаю...

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

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

Особенности применения мандатной модели управления доступом Astra Linux при разработке веб-приложений В последние годы растёт потребность в защищённых решениях для структур, работающих с секретной информацией. Раньше словосочетание «защищённая операционная система для военных» воспринималось многими иронично. Сегодня же вопрос защиты информации является одним из ключевых, ...

Домашняя Аптечка 1.15.0 Домашняя Аптечка (MedsWithMe) — это самый простой способ управлять своими лекарствами. Вы всегда и везде будете знать, какие лекарства у Вас есть в домашней аптечке и в каком они состоянии. Данное приложение поможет Вам: Быть здоровым: будьте в курсе, когда истекает срок ...

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

Хитрости QComboBox + QTreeView На практике, иногда бывает необходимость, показывать в QComboBox древовидную структуру данных. Стандартным компонентом в Qt для такой структуры данных является QTreeView, более того, QComboBox умеет отображать этот компонент внутри себя, но как всегда, в документации суще...

8 причин купить обычный iPad вместо iPad Pro На данный момент Apple продает четыре модели планшетных компьютеров: iPad mini 4, iPad и две версии iPad Pro с разной диагональю экранов. В этой статье будут приведены доводы в пользу покупки обычного iPad, если вы не из тех, кто желает приобрести iPad mini. Итак, вот по к...

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

Facebook соврала. Информация, собираемая смарт-дисплеями Portal, будет использоваться для рекламы Недавно компания Facebook представила свои смарт-дисплеи Portal и Portal+. Это устройства в первую очередь для видеозвонков. Учитывая скандалы вокруг компании, связанные с утечкой и сливом конфиденциальных данных, Facebook позаботилась о безопасности, включив в комплект...

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

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

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

[Из песочницы] Опыт SAMBA classicupgrade на Debian 8 Предыстория Существует небольшая локальная сеть предприятия, в которой лет 10 назад на Debian 5 был поднят домен на 3-й «Самбе» + LDAP. По сути от нее нужна была только аутентификация пользователей да файловые шары. Все эти годы сервер без проблем апгрейдился до новых версий...

10 крутых возможностей связки iPhone + Mac при совместном использовании MacOS и iOS отлично работают вместе. Если вы используете и смартфон, и компьютер от Apple, в вашем распоряжении есть множество полезных функций. В этой статье мы рассмотрим десять самых полезных способов совместного использования Mac и iPhone. ПО ТЕМЕ: Как хорошо выглядеть н...

[Из песочницы] Современная Android разработка на Kotlin. Часть 2 Привет, Хабр! Представляю вашему вниманию перевод статьи "Modern Android development with Kotlin (Part 2)" автора Mladen Rakonjac. Примечание. Данная статья является переводом циклов статей от Mladen Rakonjac, дата статьи: 23.09.2017. GitHub. Начав читать первую ч...

50 анонсов Build 2018. Часть 2. Azure & Bots Всем привет! В этой статье мы продолжаем наш рассказ про ключевые анонсы конференции Build. Прошлый выпуск мы посвятили железячным анонсам (от облака до девкитов для разработчиков) и инструментам разработки. Сегодня мы расскажем про облако и ботов. В этом выпуске: Обзор ...

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

Rube’s Lab 1.6.2 Rubes Lab — логическая головоломка в которой нужно заставить работать машину Руба Голдберга и докатить шарик до необходимой лунки. Используя различные сложные механизмы вам предстоит совершить очень просто действие — закатить шарик в лунку. Время на прохождение каждого уровн...

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

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

Facebook соврала. Информация, собираемая смарт-дисплеями Portal, будет использоваться для рекламы Недавно компания Facebook представила свои смарт-дисплеи Portal и Portal+. Это устройства в первую очередь для видеозвонков. Учитывая скандалы вокруг компании, связанные с утечкой и сливом конфиденциальных данных, Facebook позаботилась о безопасности, включив в комплект...

Целостность данных в микросервисной архитектуре — как ее обеспечить без распределенных транзакций и жесткой связности Всем привет. Как вы, возможно, знаете, раньше я все больше писал и рассказывал про хранилища, Vertica, хранилища больших данных и прочие аналитические вещи. Сейчас в область моей ответственности упали и все остальные базы, не только аналитические, но и OLTP (PostgreSQL), и N...

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

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

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

Функции для документирования баз данных PostgreSQL. Часть третья Это третья часть статьи, которая описывает пользовательские функции для работы с системными каталогами: pg_class, pg_attribute, pg_constraints и т.д. Первая и вторая части статьи опубликованы ранее. <img src=«habrastorage.org/webt/zc/rx/ta/zcrxta08dnfat5cqpgid4lyq7by.p...

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

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

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

Как стримить игры с Xbox One на iPhone или iPad Теперь владельцы устройств на iOS и консоли Xbox One могут играть в игры для Xbox в любом месте. Стриминг игр становится все популярнее, и новое приложение OneCast для iOS создано специально для стриминга игры с консоли от Microsoft на iPhone или iPad. Ранее приложение On...

Правоведы о тестировании при найме в частном секторе Источник фото В первых двух статьях (первая и вторая) о трудовом праве автор пытался донести насколько право идёт вразрез с некоторыми устоявшимися обычаями. Из комментариев стало ясно, что многие даже не представляют, что современные "тестовые задания" — это от 4 часов до ...

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

Обзор материнской платы ASUS Prime Z390-A В октябре компания Intel выпустила на рынок сразу несколько новых решений: девятое поколение десктоп процессоров и чипсет Z390. Материнская плата ASUS Prime Z390-A как раз реализована на его базе. Перед нами самая настоящая классика, в которой есть все необходимое для постр...

СУБД Vertica поддерживает полный цикл машинного обучения внутри DataWareHouse Выбор единой платформы для реализации задач машинного обучения в организации позволяет решить проблему фрагментации экосистемы и заложить надежный фундамент для будущего развития, уверен Яссин Файх (Yassine Faihe), директор департамента технического консультирования заказчик...

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

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

Книга «Внутреннее устройство Windows. 7-е изд» С момента выхода предыдущего издания этой книги операционная система Windows прошла длинный путь обновлений и концептуальных изменений, результатом которых стала новая стабильная архитектура ядра Windows 10. Книга «Внутреннее устройство Windows» создана для профессионалов,...

Перед вами — React Modern Web App Перед тем как начать собирать с нуля Modern Web App нужно разобраться, что такое — Современное Веб-Приложение? Modern Web App (MWA) — приложение, придерживающееся всех современных веб-стандартов. Среди них Progressive Web App — возможность скачивать мобильную браузерную верс...

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

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

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

[Перевод] Разворачиваем хранилище LINSTOR для Proxmox Недавно LINBIT выпустили свое новое решение для оркестрации и управления множеством DRBD-массивов. К примеру у вас может быть несколько нод и у каждой будет собственный LVM или ZFS пул в котором LINSTOR будет автоматически создавать новые тома и реплицировать их между нодам...

Far Fields mic (Mic array) — незаметный герой в умной колонке Far Fields mic (Mic array) — незаметный герой в умной колонке. В этой статье я хочу рассказать о своем давнем увлечении — изучении и работе с far fields mic (mic array) — массивами микрофонов. Статья будет интересна увлекающимся построением своих голосовых помощников, она о...

Positive Hack Days CTF 2018 райтапы заданий: mnogorock, sincity, wowsuchchain, event0 Всем привет. Прошел ежегодный PHD CTF и как всегда задачи были очень крутые и интересные! В этом году решил 4 таска. Может показаться что статья очень длинная — но там просто много скриншотов. Читать дальше →

[Из песочницы] Самый полный русскоязычный перевод Гарвардского курса по программированию CS50 2015, бесплатно на YouTube В этой статье я хочу немного рассказать о самом лучшем в мире курсе по программированию. С 2013 года наша небольшая команда занимается переводом и адаптацией англоязычных видеокурсов. За это время мы перевели и адаптировали свыше 150 часов материала. Перед тем как приступат...

От простых скриптов к клиент-серверному приложению на WCF своими руками: почему мне нравится работа в CM Работа в команде Configuration Management связана с обеспечением функциональности билд-процессов — сборки продуктов компании, предварительной проверки кода, статистического анализа, ведения документации и многого другого. Помимо этого, мы постоянно работаем над оптимизацией ...

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

Великолепная пятерка: must have инструменты для ускорения разработки От переводчика: этот пост — перевод оригинальной статьи Рейндера де Вриса, опытного программиста, разработавшего собственный курс обучения кодингу. Автор делится мыслями об инструментах, которые могут оказаться полезными разработчикам, позволяя ускорить и оптимизировать п...

Лучший SQL Builder – используем jOOQ на Android Лучший SQL Builder. Используем jOOQ на Android Введение При разработке Android-приложений вполне естественным считается использовать SQLite базу данных в качестве основного хранилища. Обычно, базы данных на мобильных устройствах имеют весьма простенькие схемы и состоят из 10...

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

[Перевод] Как сделать поиск пользователей по GitHub используя React + RxJS 6 + Recompose Эта статья рассчитана на людей имеющих опыт работы с React и RxJS. Я всего лишь делюсь шаблонами, которые я посчитал полезными для создания такого UI. Читать дальше →

Справочная: государственный интернет-поисковик «Спутник» и его сложная история В России немало интересных государственных проектов, которые приносят гражданам пользу. Но есть и проекты со сложной судьбой. Один из них — государственный интернет-поисковик «Спутник». На Хабре новость о нем впервые появилась в 2013 году. Тогда сообщалось, что поисковы...

[Из песочницы] SAP и Python интеграция или как забрать данные из SAP проще Добрый день, Хабр! Хочу поделится опытом интересной задачи по тому как без труда взаимодействовать с системами SAP с помощью Python — не важно какой модуль или версия платформы. Если интересно только техническое решение, то пропускайте всю лирику и смотрите пример реализац...

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

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

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

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

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

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

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

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

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

Робот впервые прооперировал глаз человека В 2016 году Оксфордский университет представил хирургическую систему PRECEYES, робота, спроектированного для операций сетчатки глаза. И в этот понедельник он помогал проводить операцию докторам, статья о результатах опыта опубликована в журнале Nature Biomedical Engineering....

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

React Native с точки зрения мобильного разработчика Статья ориентирована на iOS и android разработчиков, которые уже достаточно хорошо разбираются в своей области и поглядывают в сторону React Native. Впервые узнав про React Native, я воспринял его как повод для веб-разработчиков вторгнуться на мою территорию (нипазволю!) ...

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

Как эффективно готовить и задавать вопросы клиентам Эта статья написана совместно с Питером Лайоном. Питер является вице-президентом Customer Success в компании Brightflag и сооснователем Customer Success Network Каждый Customer Success менеджер (CSM) должен хорошо уметь выстраивать коммуникацию со своими клиентами. Это общий...

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

[Перевод] Как анализировать Thread Dump В программе курса Разработчик Java довольно много тем,посвященных внутренностям работы JVM. Мы разбираемся в механизмах работы коллекций, байт-кода, сборщика мусора и т.д. Сегодня предлагаем Вашему внимаю перевод довольно интересной статьи о thread dump-е. Что это такое, ка...

Надежное хранилище с DRBD9 и Proxmox (Часть 1: NFS) Наверное каждый, кто хоть раз озадачивался поиском высокопроизводительного software-defiined хранилища рано или поздно слышал про DRBD, а может даже и имел дело с ним. Правда на пике популярности Ceph и GlusterFS, которые работают в принципе неплохо, а главное сразу и из ко...

[recovery mode] CRM-интеграция с Outlook в бесплатной версии 3CX В этой статье мы расскажем, как в вашей компании запустить бесплатную IP-АТС 3CX, объединенную с мини-CRM системой на базе весьма популярного почтового клиента Microsoft Outlook. 3CX предлагает интеграцию с Microsoft Outlook сразу «из коробки». Причем, обратите внимание, не ...

[Из песочницы] У Интернета могут быть серьёзные проблемы из-за языков, подобных C и C++, которые способствуют появлению уязвимостей Привет, Хабр! Представляю вашему вниманию перевод статьи "Internet aurait de sérieux problèmes à cause de langages comme C et C++ favorisant la survenue de failles" (фр. язык). Но мало кого из разработчиков это волнует Один баг затрагивает iPhone, другой – Windows...

BEERBRAZZERS. Управление светом. Vixen Lights 3. Быстрый старт(1/4) Добрый вечер, дамы и господа! Всем доброго здравия и хорошего настроения желаю! Сейчас я начну цикл из десятка статей, посвящённых разработке пивоварни «BEERBRAZZERS». Относиться к этому циклу серьёзно — не рекомендуется. Это всё по фану и, как говорится, чисто ради веселья....

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

Внутренняя работа HashMap в Java [примечание от автора перевода] Перевод был выполнен для собственных нужд, но если кому -то это окажется полезным, значит мир стал хоть немного, но лучше! В этой статье мы увидим, как изнутри работают методы get и put в коллекции HashMap. Какие операции выполняются. Как прои...

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

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

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

[Перевод] Каково это — создавать игру для Game Boy в 2017 году У всех была детская мечта. Лично я мечтал создать игру для моей первой консоли: Nintendo Game Boy. Сегодня моя мечта реализовалась — я выпустил первую игру для Game Boy на настоящем картридже: Sheep It Up! В этой статье я расскажу об использованных мной инструментах и о пр...

Инструменты для поиска аннотированных классов в Java В статье приведен небольшой обзор трех инструментов для поиска аннотированных классов в java проекте. Читать дальше →

[Из песочницы] Из конструкторов в отдел QA, или есть ли жизнь после завода У большинства из нас найдётся знакомый, который недоволен выбранной профессией и воспринимает походы на работу как обязаловку и повинность. А возможно, что вы и есть тот самый недовольный. Возникает вопрос: «Что же с этим делать?». В этой статье я хочу рассказать, как сам ...

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

Приручаем WSUS при помощи Ansible и не только Ну что ж, вот и настала пора подружить Windows-обновления с миром Open Source. В этой статье будем разнообразить быт интеграцией Ansible со всеми возможными источниками обновлений Windows-машин. Хотя возможности системы значительно шире простой раскатки обновлений на сервер...

Замена стекла в ipadair 2 Замена стекла в ipadair 2 является самой распространенной проблемой. Из-за хрупкости используемых материалов при производстве, а также чувствительности экрана, он подвержен различным повреждениям. Это может быть падение на землю, удары, попадания жидкости и другие причины. С...

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

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

Создание сайта на Delphi, или Как использовать uniGUI по-минимуму uniGUI – это библиотека, позволяющая создавать веб-приложения в классической Delphi-манере, посредством визуальных компонентов, причём, что является немаловажным, в большинстве случаев она полностью скрывает от разработчика всю клиентскую (браузерную) «кухню»: не требуется з...

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

Превосходство Snapdragon 8150 над Snapdragon 845 становится куда более очевидным В начале месяца мы публиковали первые результаты тестов однокристальной системы Snapdragon 8150, которая ранее проходила под названием Snapdragon 855. тогда неизвестное устройство набрало чуть более 3 000 и 10 000 баллов в однопоточном и многопоточном тестах Geekbench с...

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

Фитнес-браслеты i6 pro Уже давно высокие технологии прочно вошли в нашу повседневную жизнь. Современного человека очень сложно представить без всевозможных гаджетов, которые в значительной степени повышают мобильность и комфорт. Практически в каждой сфере деятельности есть свои технические достиже...

Запускаем дисплей на STM32 через LTDC… на регистрах Приветствую! Недавно для проекта потребовалось запустить дисплей, который имел интерфейс LVDS. Для реализации задачи был выбран контроллер STM32F746, т.к. я с ним уже достаточно много работал и у него есть модуль LTDC, который позволяет работать напрямую с дисплеем без контр...

[Перевод] С облаков на землю: как создать production-grade Kubernetes в любых условиях Всем добра! Ну вот и подошло время для очередного нашего курса по Девопсу. Наверное, это один из самых стабильных и эталонных курсов, но при этом и самый разнообразный по обучающимся, так как ни одна группа ещё не была похожа на другую: то в одной разработчики почти полност...

Apache NiFi: что это такое и краткий обзор возможностей Сегодня на тематических зарубежных сайтах о Big Data можно встретить упоминание такого относительно нового для экосистемы Hadoop инструмента как Apache NiFi. Это современный open source ETL-инструмент. Распределенная архитектура для быстрой параллельной загрузки и обработки ...

Kotlin: статика, которой нет В этой статье пойдёт речь об использовании статики в Kotlin. Начнём. В Kotlin нет статики! Об этом говорится в официальной документации. И вроде бы на этом можно было бы и закончить статью. Но позвольте, как же так? Ведь если в Android Studio вставить код на Java в фа...

Редактируем CSV-файлы, чтобы не сломать данные Продукты HFLabs в промышленных объемах обрабатывают данные: адреса, ФИО, реквизиты компаний и еще вагон всего. Естественно, тестировщики ежедневно с этими данными имеют дело: обновляют тест-кейсы, изучают результаты очистки. Часто заказчики дают «живую» базу, чтобы тестиро...

TrustZone: доверенная ОС и ее приложения В прошлых статьях мы рассматривали аппаратное устройство TrustZone и работу механизма Secure Monitor. Сегодня речь пойдет о доверенной ОС (TEE) и ее приложениях. И если прошлый раз были довольно низкоуровневые вещи, сейчас все будет на вполне высоком уровне — на уровне опера...

Построение распределенной VPN сети на базе Check Point. Несколько типовых сценариев В данной статье мы рассмотрим варианты построения распределенных сетей с помощью Check Point. Я постараюсь описать главные особенности Site-to-Site VPN от Check Point, рассмотрю несколько типовых сценариев, опишу плюсы и минусы каждого из них и попробую рассказать, как мож...

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

Смартфон Wileyfox Pro на Windows 10 Mobile возвращается Ни для кого не секрет, что мобильная версия Windows 10 по сути мертва. Не окончательно, для нее до сих пор выходят обновления, но нового функционала ждать не стоит, тем более, что Microsoft для большей интеграции делает новую оболочку Andromeda, которая будет еще сильнее пох...

Самодельный 3D-принтер из фанеры и запчастей от старых принтеров, DVD-приводов. Статья для конкурса "Мой 3D-принтер", в номинации "3D-принтер собранный своими руками"      Всем Привет.      Меня зовут Никита, я школьник, для своего проекта собираю свой 3d-принтер.Я учусь в 9 классе, на уроках труда мы основном делаем подел...

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

Раскрываем номера пользователей Telegram Последнее время безопасность Telegram (далее – телеграм) все чаще поддается критике и встает вопрос: «действительно ли телеграм хорошо защищен?» Как и для любого мессенджера – важна его максимальная интеграция со сторонними сервисами. Для примера, телеграм в первую очередь...

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

[Из песочницы] Сортировка… хэш-таблицей Три дня назад я задумался об объединении сортировки подсчётом и деревом. Обсудив её с коллегой, пришли к следующему решению: вместо TreeSet использовать HashMap (при чём здесь вообще TreeSet, можно посмотреть ниже). Но и этого мне показалось мало, так что я решил реализовать...

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

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

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

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

Представлена Яндекс.Станция — умная колонка с Алисой Компания «Яндекс» представила первое устройство собственной разработки — колонку «Яндекс.Станция» со встроенным голосовым ассистентом «Алиса». Российского конкурента Google Home и Apple HomePod показали в ходе ежегодной конференции Yet Another Conference 2018. Производитель ...

Data-mining и Твиттер Среди социальных сетей Твиттер более других подходит для добычи текстовых данных в силу жесткого ограничения на длину сообщения, в которое пользователи вынуждены поместить все самое существенное. Предлагаю угадать, какую технологию обрамляет это облако слов? Используя Твитт...

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

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

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

Два скилла, которые помогут стать отличным разработчиком От переводчика: эта статья — перевод оригинальной статьи Бара Франека, специалиста по JavaScript. В новом своем материале он решил рассказать, какие навыки помогают разработчику в его ежедневном труде. Но речь не о программных инструментах, а, скорее, ментальных. Без раз...

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

Хороший outstuff, плохой outstuff Я фулстек девелопер из Украины, живу и работаю во Франции, регион Бретань. Про мой релокейт я уже писал здесь. В данной статье я хочу рассказать как работает система найма во Франции в сфере IT, и как я эту систему пытался хакнуть. Читать дальше →

Асимметричная криптография с одноразовым секретным ключом: описание идеи и возможное применение (для понимания того, о чём говорится в этой статье, необходимо и достаточно хотя бы в общих чертах представлять, что такое асимметричная криптография и как работает электронная подпись) Сценарий использования одноразового секретного ключа: Создаётся ключевая пара, состоя...

Игровой интерфейс и с чем его едят Всем привет! Данная статья — об игровых интерфейсах и порядку работы с ними. Она предназначена в первую очередь для тех, кто работает в игровой индустрии и в том или ином виде влияет на разработку интерфейса, но при этом сам не является UI/UX специалистом. Проект-менеджеры, ...

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

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

Модуль Nchan веб-сервера nginx. Работа с Websocket, EventSource (Server-Sent Events), Long-Polling В это статье будет сделан обзор возможностей модуля Nchan веб-сервера nginx, который заменил deprecated модуль NGiNX_HTTP_Push_Module. Модуль Nchan поддерживает основные технологии отправки сообщений Websocket, EventSource (Server-Sent Events), Long-Polling. Для горизонтальн...

[Из песочницы] Подход к реализации RBAC в ReactJS Вступление Привет, дорогой читатель! Некоторое время (около года) назад столкнулся с необходимостью условной отрисовки компонентов в ReactJS в зависимости от текущих прав пользователя. Первым делом начал искать готовые решения и «лучшие практики». Статья "Role based authori...

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

Бенчмарк подтвердил 4 ГБ оперативки в iPhone 2018 iPhone 2018 модельного года может получить 4 ГБ оперативной памяти против 3 ГБ у модели актуального поколения. Это следует из результатов бенчмарк-теста Geekbench, в базе данных которого появилось устройство, предположительно являющееся следующим флагманом компании Apple. ...

Независимая приёмка ЦОД Всем привет! Меня зовут Кирилл Шадский, я руководитель отдела управления внешними ЦОД компании ДатаЛайн.   Эта статья посвящена наиболее важным аспектам проведения приёмо-сдаточных испытаний, а также возможным проблемам и подводным камням, которые могут попортить немало не...

[Перевод] Создатель Wikipedia отвечает на вопросы: программирование, сон, книги, советы «за жизнь» «Каждый день я просыпаюсь и делаю самое интересное, что я могу придумать.» Когда я первый раз бегло просмотрел 961 ответ Джимми Уэйлса на Quora, я выписал несколько самых интересных, чтобы «заглянуть в голову» человеку, который сделал, пожалуй, самый полезный проект для че...

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

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

Заряди мозги напрямую! Рантаймы, компиляторы и перформанс на Joker 2018 Многие из нас ходят на конференции по Java только из-за хардкора. Это статья о том, что в этом плане изменилось за год. Хардкор бывает нескольких видов. Можно выделить как минимум: перформансные оптимизации в любых проявлениях; внутренности достаточно сложных технологий (Op...

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

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

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

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

Автоподборщик раскрыл обман официалов при осмотре Toyota Land Cruiser с пробегом Не секрет, что в официальном дилерском центре перед продажей подержанного авто проводится его диагностика. Насколько можно верить её результатам рассказал автоподборщик на примере Toyota Land Cruiser. На первый взгляд предлагаемый дилером экземпляр выглядит прекрасно. В диа...

Превосходство Snapdragon 8150 над Snapdragon 845 становится куда более очевидным В начале месяца мы публиковали первые результаты тестов однокристальной системы Snapdragon 8150, которая ранее проходила под названием Snapdragon 855. тогда неизвестное устройство набрало чуть более 3 000 и 10 000 баллов в однопоточном и многопоточном тестах Geekbench ...

Как пропатчить find под FreeBSD? Учим FreeBSD искать файлы по расширенным атрибутам Аннотация: в ОС FreeBSD на уровне файловой системы реализован механизм управления расширенными атрибутами файла (extattr). При помощи стандартных команд setextattr, getextattr и rmextattr можно создавать, читать и удалять ко...

PostgreSQL: PipelineDB — агрегирующие запросы в режиме реального времени Вас когда-либо просили посчитать количество чего-то на основании данных в бд за последний месяц, сгруппировав результат по каким-то значениям и разбив всё это ещё по дням/часам? Если да — то вы уже представляете, что вам придётся написать что-то вроде такого, только хуже SE...

[Перевод] Pattern matching в C# 7 В C# 7 наконец-то появилась долгожданная функция под названием «сопоставление с образцом». Если вы знакомы с функциональными языками, такими как F#, то эта функция в том виде, в котором она существует на данный момент, может вас слегка разочаровать. Но даже сегодня она спосо...

[Перевод] Киберпанк 2000: инструменты создания Deus Ex Введение В последнее время хороший приём на GDC получали рассказы о классических играх, но было очень мало историй об инструментах их разработки. В этой серии статей мы попытаемся заполнить этот пробел, взяв интервью в людей, игравших важную роль в истории инструментов для ...

В России предложен проект необычного спутника для борьбы с космическим мусором Российские исследователи из Московского государственного университета имени М.В.Ломоносова (МГУ) предложили оригинальную систему, которая в перспективе может помочь в решении проблемы космического мусора. Увеличивающееся количество объектов на орбите Земли создаёт серьёзную ...

Видеоэкскурсия: как выглядит ЦОД MacStadium из серверов на базе Apple Mac Рабочие станции из семейства Mac от компании Apple выполняют широкий спектр функций. Они используются огромным множеством людей для творчества, исследований, разработки и потребления контента. Такие машины также могут использоваться как сервера. Полноценную серверную ферму н...

Как эффективно использовать переговорные комнаты при помощи интернета вещей? В июле мы открыли в Москве собственный технологический и выставочный хаб — Центр цифрового лидерства. Это новая площадка для мероприятий, демонстрации новых инновационных сценариев, разработанных совместно с клиентами и партнёрами SAP. При строительстве собственного Центр...

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

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

[Перевод] Современная MVI-архитектура на базе Kotlin. Часть 1 За последние два года Android-разработчики в Badoo прошли длинный тернистый путь от MVP к совершенно иному подходу к архитектуре приложений. Мы с ANublo хотим поделиться переводом статьи нашего коллеги Zsolt Kocsi, описывающую проблемы, с которыми мы столкнулись, и их реше...

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

Робот-змея научился взбираться по лестнице Человекоподобные роботы наподобие Atlas от Boston Dynamics умеют перепрыгивать через препятствия, а роботизированный пес SpotMini без проблем шагает по ступенькам. К сожалению, им пока неподвластны приставные лестницы, по которым нужно взбираться используя не только ноги, н...

ИИ Google научился предсказывать, когда пациент умрет (но не все так мрачно) Фото: Mario Tama/Getty Корпорация Google работает во многих сферах, включая медицину. Специалисты компании сейчас разрабатывают программную платформу, которая могла бы предсказывать последствия болезни для пациента. Такая система, проанализировав медицинскую книжку пациен...

Как мы делали БелАЗ. Часть 3 – Пусконаладка на разрезе Это третья статья из цикла о самосвале (первая, вторая). Теперь мы едем на карьер, устанавливать электрооборудование на машину и выезжать в первый рейс! Но, конечно же, так просто, с наскоку, ничего не ездит, и я расскажу про множество проблем с которыми мы столкнулись во в...

High Energy — молодая компания с огромным опытом Основа и главная ценность High Energy («ЭнергоТех») — команда профессионалов, признанных экспертов в своих областях. Каждый проект реализуется на основе их знаний и опыта. Благодаря этому компания High Energy обладает большими возможнос...

Самое краткое введение в Reactive Programming Цель данной статьи – показать на примере зачем нужно reactive programming, как оно связано с функциональным программированием, и как с его помощью можно писать декларативный код, который легко адаптировать к новым требованиям. Кроме того, хочется сделать это максимально крат...

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

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

Анонсировано первое в России приложение дополненной реальности на фармрынке Разработанное специалистами Центра виртуальной реальности КРОК, мобильное AR-приложение открывает новые возможности для коммуникации, помогая быстро, легко и доступно визуализировать большие объемы сложной для восприятия и специализированной информации.Интерактивный сценарий...

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

ДНК. Механизмы хранения и обработки информации. Часть I Много людей использует термин ДНК. Но статей, нормально описывающих, как она работает почти нет (понятных не биологам). Я уже описывал в общих чертах устройство клетки и самые основы ее энергетических процессов. Теперь перейдем к ДНК. ДНК хранит информацию. Это знают все. ...

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

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

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

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