Социальные сети Рунета
Вторник, 19 февраля 2019
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-аналитики и машинного обучения в различных окружени...

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

[Перевод] Вся правда об ОСРВ. Статья #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, собеседования с заказчиками, обязательное требование разговорного англ...

[Перевод] Настройка НА-кластера Kubernetes на «голом железе» с kubeadm. Часть 1/3 Всем привет! В этой статье я хочу упорядочить информацию и поделиться опытом создания и использования внутреннего кластера Kubernetes. За последние несколько лет эта технология оркестровки контейнеров сделала большой шаг вперед и стала своего рода корпоративным стандартом дл...

[Перевод] Инструментарий для рефакторинга баз данных: Flyway vs. Liquibase В этой статье мы поговорим о Flyway и Liquibase — двух наиболее популярных инструментах на основе Java для рефакторинга баз данных. Цель статьи — сравнить эти инструменты и выяснить, какой из них в каких случаях лучше применять. Читать дальше →

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

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

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

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

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

Spring JPA репозитории в CUBA Тема статьи достаточно узконаправленная, но, возможно, окажется полезной тем, кто разрабатывает свои собственные хранилища данных и думает об интеграции со Spring Framework. Предпосылки Разработчики обычно не очень любят менять свои привычки (зачастую, в список привычек вхо...

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

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

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

Kubernetes кластер за $20 в месяц TL; DR Поднимаем кластер для обслуживания веб-приложений без записи состояния (stateless web applications) вместе с ingress, letsencrypt, не используя средства автоматизации вроде kubespray, kubeadm и любых других. Время на чтение: ~45-60 минут, на воспроизведение действий: ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Нюансы работы инструментов Target Length и Tuning Meter в PADS Professional/Xpedition При трассировке сложных печатных плат, с использованием высокоскоростных интерфейсов, инженерам необходимо четко контролировать длину критических сигналов, ведь на высоких частотах каждый неучтенный миллиметр проводника будет сильно влиять на целостность сигнала, а значит ...

Отладка cети с помощью eBPF (RHEL 8 Beta) Всех с прошедшими праздниками! Нашу первую статью после праздников мы решили посвятить линуксу, то есть под наш замечательный курс «Администратор Linux», который у нас входит в когорту самых динамичных курсов, то есть с наиболее актуальным материалами и практиками. Ну и, со...

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

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

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

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

Jira DataCenter — что это? Как работает? Как развернуть? Введение С распространением философии Agile российские IT-специалисты с каждым годом накапливают все больше экспертизы и компетенций в области настройки и управления продуктами для команд разработчиков, самым популярным из которых до сих пор остается Jira. Однако работа с са...

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

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

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

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

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

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

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

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

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

[Перевод] Деплой 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. Это позволяет настроит...

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

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

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

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

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

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

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

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

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

Трезвый взгляд на Helm 2: «Вот такой, какой есть...» Как и любое другое решение, Helm — пакетный менеджер для Kubernetes — имеет плюсы, минусы и область применения, поэтому при его использовании стоит правильно оценивать свои ожидания… Мы используем Helm в своём арсенале инструментов непрерывного выката. На момент написания ...

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

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

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

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

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

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

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

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

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

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

[Из песочницы] Основы реактивного программирования с использованием RxJS Часть 1. Реактивность и потоки Данная серия статей посвящена реактивности и ее применению в JS с использованием такой замечательной библиотеки как RxJS. Для кого эта статья: в основном, здесь я буду объяснять основы, поэтому в первую очередь статья рассчитана на новичков в ...

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

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

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

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

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

[Перевод] Интеграция проверок пароля в KeePass по базе данных утечек Данная статья по шагам описывает процесс интеграции проверок пароля на безопасность в менеджере паролей KeePass. Проверки используют последнюю базу данных Have I Been Pwned, где хранятся утекшие пароли, и всё это работает локально, поэтому вам не надо беспокоиться о возможно...

«Секретики» DPAPI или DPAPI для пентестеров Вторая статья по итогам выступления нашей команды на OFFZONE-2018. На этот раз рассмотрим доклад с MainTrack “Windows DPAPI “Sekretiki” or DPAPI for pentesters”. Внимание! Очень много буков! При проведении RedTeam кампаний хочется давать меньше поводов для реакции BlueTeam...

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

«Удаление» объектов в Django Рано или поздно перед разработчиками встаёт задача удаления ненужных данных. И чем сложнее сервис, тем больше нюансов необходимо учесть. В данной статье я расскажу, как мы реализовали «удаление» в базе данных с сотней связей. Читать дальше →

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

Buildbot: сказ с примерами еще об одной системе непрерывной интеграции (картинка с официального сайта) Buildbot, как несложно догадаться из названия, является инструментом для непрерывной интеграции (continuous integration system, ci). Про него уже было несколько статей на хабре, но, с моей точки зрения, из них не очень понятны преимущества с...

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

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

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

TDD приложений на Spring Boot: работа с базой данных Вторая статья из цикла "Test-Driven Development приложений на Spring Boot" и в этот раз я буду говорить про тестирование доступа к базе данных, важного аспекта интеграционного тестирования. Я расскажу как через тесты определять интерфейс будущего сервиса для доступа к данным...

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

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

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

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

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

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

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

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

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

[Из песочницы] Liqubase и Maven Введение Liquibase представляет из себя систему управления версиями базы данных, в основном это касается структуры и в меньшей степени содержимого базы. При этом описание базы с одной стороны достаточно абстрактно и позволяет использовать на нижнем уровне различные СУБД, и с...

Основы архитектуры приложений на Flutter: Vanilla, Scoped Model, BLoC (оригинал статьи на английском языке опубликован на Medium) Flutter предоставляет современный реактивный фреймворк, большой набор виджетов и тулов. Но, к сожалению, в документации нет ничего похожего на руководство по рекомендуемой архитектуре приложения для Android. Не сущ...

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

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

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

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

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

Разворачиваем Kubernetes на десктопе за несколько минут с MicroK8s Начать работать с Kubernetes не всегда бывает просто. Не у всех есть необходимая для разворачивания полноценного кластера Kubernetes инфраструктура. Для локальной работы Kubernetes предлагет утилиту Minikube. Minikube — достаточно простое и удобное средство, и есть несколько...

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

[Перевод] Чтобы вести разработку быстрее, необходимо замедлиться Примечание переводчика: Начало года — отличное время, чтобы вдумчиво оценить прошедший год. Окинуть широким взглядом происходящее и понять, как сделать 2019 год лучше, спокойнее и продуктивнее. В этом деле нам показалась полезной статья How To Slow Down to Go Faster Than E...

Своя видео-платформа или чем занять много вычислительных ресурсов. Part 1 На фото — первый летающий четырёхколёсный велосипед. Источник. Сегодня, благодаря доступности нужных сервисов, размещение видео в сети не является сложной задачей. Однако материалов по внутреннему устройству подобных систем не так уж и много, особенно в русскоязычном сегмен...

[Перевод] Фаззинг в стиле 1989 года С наступлением 2019 года хорошо вспомнить прошлое и подумать о будущем. Оглянемся на 30 лет назад и поразмышляем над первыми научными статьями по фаззингу: «Эмпирическое исследование надёжности утилит UNIX» и последующей работой 1995 года «Пересмотр фаззинга» того же автора ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Работа с callbacks в React За время свой работы, я периодически сталкивался с тем, что разработчики не всегда четко представляют, каким образом работает механизм передачи данных через props, в частности колбеков, и почему их PureComponents обновляется так часто. Поэтому в данной статье мы разберемся,...

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

Видеоурок Теплицы: как Crowdtangle.com помогает cформировать стратегию поведения в соцсетях Платформа для анализа поведения в социальных сетях Сrowdtangle.com пока не очень распространена в России. Это странно, поскольку она дает возможность достаточно точно отследить поведение пользователей на любую статью в социальных сетях. На данный момент Сrowdtangle работает ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Патенты Apple намекают на то, что Ваш iPad может быть встроен в свитер Управление по патентам и товарным знакам США опубликовало заявку на патент Apple, под названием «Изделия на основе ткани с массивами электрических компонентов». В документации подробно рассказывается, как Технический гигант работает над тем, чтобы беспрепятственно переплетат...

Как настроить Continuous Deployment для своего проекта: личный опыт Перевели для вас статью Юлиуса Минмо о настройке непрерывной интеграции (Continuous Deployment) для своего проекта. Автоматизация позволяет сэкономить кучу времени и сил. Статья будет полезна, в первую очередь, начинающим программистам. Непрерывная интеграция — отличная ...

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

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

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

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

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

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

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

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

Кастомизация резолвинга зависимостей в Spring Привет! Меня зовут Андрей Неведомский и я главный инженер в СберТехе. Я работаю в команде, которая занимается разработкой одного из системных сервисов ЕФС (Единой Фронтальной Системы). В своей работе мы активно используем Spring Framework, в частности его DI, и время от врем...

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

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

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

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

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

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

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

[Перевод] UDB. Что же это такое? В комментариях к моей статье про управление RGB светодиодами средствами блока UDB микроконтроллеров PSoC фирмы Cypress было высказано мнение, что неплохо бы в начале статьи кратко рассказать, что такое вообще UDB. Как я уже отметил в статье, про UDB кратко не написать, но ...

Журналисты Forbes начали использовать ИИ для набросков статей Система управления контентом предоставляет ссылки как на значимые статьи по теме, так и на изображения, которые могут улучшить историю. В этом отношении новый инструмент ничем не отличается от Reuters Lynx Insights, который был запущен в марте 2018 года и отыскивает ключевые...

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

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

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

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

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

Антирейтинг 2018 Эта статья написана по аналогии со статьей «Как не надо писать на Хабр: Антирейтинг 2017». Статьи взяты за 2018 год, точнее, начиная с индекса 345000. Кроме отрицательных значений рейтинга, есть список по абсолютному количеству минусов (видимо, самые обсуждаемые темы, в бо...

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

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

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

[Перевод] Оптимизация рендеринга сцены из диснеевского мультфильма «Моана». Части 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...

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

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

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

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

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

Самая большая проблема DevOps – это название Статья в Википедии, посвящённая DevOps, начинается с заявления о том, что DevOps – это слияние слов «разработка» и «эксплуатация». Таким образом, это методология, которая объединяет разработку программного обеспечения (Dev) с эксплуатацией ИТ (Ops). Оно, конечно, верно, есл...

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

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

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

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

Следующая версия Windows 10 будет резервировать не менее 7 ГБ памяти для обновлений Начиная со следующего функционального обновления для Windows 10, ныне известного под кодовым названием 19H1, Microsoft представить функцию «Reserved Storage» (Зарезервированное хранилище). Эта функция будет выделять некоторое количества места в памяти устройства для хранени...

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

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

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

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

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

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

[Из песочницы] Spacewalk на Рождество Привет, Хабр! Незадолго до прихода Рождества, в IT-отделе было решено изучить Spacewalk, — это Red Hat система, бесплатный аналог Satellite, для централизованного управления конфигурациями, обновлений систем, удобной поддержкой всего серверного парка. Ввиду того, что досту...

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

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

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

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

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

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

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

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

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

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

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

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

Тренды в управлении документами и хранении данных на 2019 год В этой статье я поделюсь с вами обзором трендов в области управления документами и документаций. В основу материала легли личный опыт и наблюдения, данные из открытых источников, публикации вендоров. «Born-digital» est mort! Vive le «born-online»! История документов от дино...

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

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

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

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

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

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

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

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

Security Week 03: 2019 — год приватности Ладно, может и не весь 2019 год, и вообще предсказания — штука сложная и неблагодарная. После громкого заголовка выскажемся точнее: важные новости начала января почти все так или иначе посвящены приватности. В 2018 году вопросы ценности данных, собираемых с клиентов сетевых ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

vCloud Director Extender: миграция В этой статье будет рассмотрена процедура расширения сети предприятия в облако провайдера посредством компонента VMware NSX® Edge™ Gateway Standalone. А также детально разобраны виды миграции виртуальных машин. Прежде чем приступать к миграциям и настройке сети...

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

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

В Windows 10 появится «песочница» для подозрительного ПО Компания Microsoft представила функцию Windows Sandbox, которая будет включена в состав следующего функционального обновления для Windows 10, разрабатывающегося под кодовым названием 19H1. Она предоставит пользователям облегчённую временную среду Windows 10, которая будет р...

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

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

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

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

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

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

[Перевод] Вышел Entity Framework Core 2.2. Что нового? (3 из 3) 4 декабря вышла финальная версия EF Core 2.2. Она выпущена параллельно с ASP.NET Core 2.2 и .NET Core 2.2 и является самым свежим релизом нашей опенсорсной и кроссплатформенной технологии для управления отображениями между объектами языка и базой данных. EF Core 2.2 RTM соде...

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

[Перевод] Проверки работоспособности и постепенная деградация распределенных систем Как всегда, спасибо Фреду Хеберту и Саргуну Дхиллону за то, что прочли черновик этой статьи и предложили нескольких бесценных советов. В своем докладе о скорости Тамар Берковичи из Box подчеркнула важность проверок работоспособности при автоматическом аварийном переключении...

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

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

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

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

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

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

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

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

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

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

Как планировать на год. Кейс IT-компании 120 человек и две практики для небольших команд Хабр, привет! Меня зовут Антон, я руководитель YouGile (система управления проектами). Самое полезное, что я делаю в компании — это общаюсь с клиентами на тему того, как вести проекты и как связывать отделы в системе управления. Тема сколько-нибудь долгосрочного планирован...

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

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

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

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

Профессиональные IT Продвижение интернет ресурса требует определенных знаний и умений, самостоятельно выполнить данную работу вряд ли получится. Получить грамотный и профессиональный it аутсорсинг в Москве можно в компании «Ivit». Данная компания достаточно давно осуществляет свою деятельность ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

MVP и Dagger 2 – скелет Android-приложения – часть 1 Данная статья нацелена на новичков в Android-разработке и призвана помочь в создании минимально необходимой структуры приложения. Так получилось, что я относительно недавно начал программировать под Android – после месяца без проекта в компании, где я работаю, меня определи...

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

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

Популярный open source — часть третья: 5 инструментов для разработчиков Продолжаем говорить о самых обсуждаемых на Hacker News открытых проектах. Сегодня рассказываем о решениях для работы с репозиториями и блокчейнами. Предыдущие части: Инструменты для управления облаком Сервисы для работы с логами и базами данных Читать дальше →

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

[Перевод] Приключения с домашним Kubernetes-кластером Прим. перев.: Автор статьи — Marshall Brekka — занимает позицию директора по проектированию систем в компании Fair.com, предлагающей своё приложение для лизинга автомобилей. В свободное же от работы время он любит применять свой обширный опыт для решения «домашних» задач, ко...

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

[Перевод] io_submit: альтернатива epoll, о которой вы никогда не слышали Недавно внимание автора привлекла статья на LWN о новом интерфейсе ядра для опроса (polling). В ней обсуждается новый механизм опроса в Linux AIO API (интерфейс для асинхронной работы с файлами), который добавили в ядро версии 4.18. Идея довольно интересная: автор патча пр...

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

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

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

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

Что нужно знать о JavaScript Engine Switcher 3.0 JavaScript Engine Switcher изначально создавался как вспомогательная библиотека и его развитие во многом определялось потребностями библиотек, которые его использовали. Фактически каждая его мажорная версия решала одну или несколько крупных задач необходимых для дальнейшего...

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

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

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

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

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

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

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

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

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

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

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

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

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

[Перевод] Создаем плагин Vuex Undo/Redo для VueJS Есть много преимуществ для централизации состояния вашего приложения в Vuex store. Одним из преимуществ является то, что все транзакции записываются. Это позволяет использовать удобные функции, такие как отладка по времени выполнения, где вы можете переключаться между преды...

Решение Veeam для бэкапа и восстановления виртуальных машин на платформе Nutanix AHV. Часть 1 Если кто-то еще не слышал, то сообщаем: в уходящем году компания Veeam Software реализовала поддержку резервного копирования и восстановления виртуальных машин на платформе Nutanix Acropolis Hypervisor (AHV). Для этого был разработан специальный компонент инфраструктуры Veea...

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

Как не запутаться в нейросетях? Инструменты для работы На что способны алгоритмы машинного обучения, мы уже выяснили, что им не под силу – в общих чертах разобрались. В этой статье журналист Теплицы Юлия Каленкова расскажет об инструментах работы с этими алгоритмами. Для машинного обучения действует очевидное правило: сложнее да...

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

Nomad: проблемы и решения Первый сервис в Nomad я запустил в сентябре 2016 года. На данный момент пользуюсь как программист и занимаюсь поддержкой как администратор двух Nomad кластеров — один "домашний" для своих личных проектов (6 микро-виртуалок в Hetzner Cloud и ArubaCloud в 5 разных датацентрах ...

Почему сервер лучше доверить профессионалам? Бесперебойная работа сервера – залог стабильности функционирования IT инфраструктуры предприятия. Грамотная организация управления бизнесом позволяет компании повысить эффективность своей деятельности и всегда быть на шаг впереди конкурентов. Это невозможно без обеспеч...

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

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

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

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

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

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

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

Параллельное обновление данных в ASP.NET Web API Хочу рассказать, как мы организовали фоновое обновление данных во время запроса к REST-сервису. Задача следующая: система хранит данные о пользователях. Cервис работает изолированно и не имеет прямого доступа к базам с этими данными. Для работы сервису необходимо иметь в св...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Популярный open source — часть первая: 3 инструмента для работы с данными Мы решили подготовить серию дайджестов с обзорами наиболее популярных open source проектов. В список попали самые обсуждаемые на Hacker News решения с открытым исходным кодом. Тема первой подборки — инструменты и сервисы для работы с логами и базами данных. Читать дальше →

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

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

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

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

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

Несколько новых подробностей о Windows Core OS Уже несколько лет компания Microsoft работает над проектом под названием Windows Core OS (WCOS), который, по имеющейся информации, ляжет в основу операционных систем для Surface Hub 2, HoloLens 2 и складных устройств Andromeda и Centaurus. Однако до сих пор было неизвестно,...

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

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

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

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

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

Проблемы масштабирования БД в высоконагруженных системах На прошлом внутреннем митапе Pyrus мы говорили о современных распределенных хранилищах, а Максим Нальский, CEO и основатель Pyrus, поделился первым впечатлением от FoundationDB. В этой статье рассказываем о технических нюансах, с которыми сталкиваешься при выборе технологии ...

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

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

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

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

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

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

[Перевод] Основы внедрения зависимостей В этой статье я расскажу об основах внедрения зависимостей (англ. Dependency Injection, DI) простым языком, а также расскажу о причинах использования этого подхода. Эта статья предназначена для тех, кто не знает, что такое внедрение зависимостей, или сомневается в необходим...

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

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

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

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

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

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

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

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

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

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

Профессиональное обслуживание компьютеров от IVIT Компания «IVIT» предоставляет достаточно большой перечень услуг по обслуживанию компьютерных систем и отдельных компьютеров. На официальном сайте https://ivit.pro/it-uslugi/obsluzhivanie-kompyuterov/ можно ознакомиться со всем перечнем оказываемых услуг и получить более подр...

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

[Из песочницы] Использование Ansible, Terraform, Docker, Consul, Nomad в облаках (Алексей Вахов, Учи.ру) Учи.ру — онлайн-платформа для школьного образования, более 2 миллионов школьников, регулярно решают у нас интерактивные занятия. Все наши проекты хостятся полностью в публичных облаках, 100% приложений работают в контейнерах, начиная от самых маленьких, для внутреннего польз...

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

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

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

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

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

[Из песочницы] Повествование о том, как мы выбирали весы для автоматизации кассовых мест В 2017 году у многих интеграторов возникали вопросы о замене торгового оборудования при переходе на новые условия работы, соответствующие требованиям Закона 54-ФЗ «О применении контрольно-кассовой техники». Поскольку клиенты, которым требовалась замена или дооснащение торгов...

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

Сотрудник Google сумел взломать iOS 12 Йен Бир, сотрудник команды Google Project Zero, занятой исследованиями в области информационной безопасности, обнаружил уязвимость в iOS 12.1.2, которая может использоваться для взлома операционной системы. Об этом исследователь сообщил в официальном блоге проекта. На основ...

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

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

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

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

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

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

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

Грузовой модуль «Заря»: 20 лет на орбите Специалисты центра им. Хруничева обращают внимание на очень долгий срок работы функционального грузового блока «Заря». Об этом говорится в статье из сборника тезисов XLIII Академических чтений по космонавтике (стр. 263−265 в сборнике). «Анализ данных по расходу ресурса ра...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[Перевод] UDB. Что же это такое? Часть 3. Datapath FIFO Продолжаем делать перевод фирменной документации фирмы Cypress на блоки UDB. Тем более, что всё очень удачно совпадает. Для продолжения практической статьи по UDB понадобится использование FIFO, а в теоретической части мы подобрались как раз к их описанию. Поэтому начинаем...

Начало дружбы с VkNet Я много дружу с библиотекой VkNet. Но, к сожалению, документация по работе с ней достаточно устарела. Так что я решил поделиться и создать маленький туториал по основам работы с этой библиотекой. Читать дальше →

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

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

Модернизация IDA Pro. Отладчик для Sega Mega Drive (часть 1) Приветствую! Товарищи реверсеры, ромхакеры: в основном эта статья будет посвящена вам. В ней я расскажу вам, как написать свой плагин-отладчик для IDA Pro. Да, уже была первая попытка начать рассказ, но, с тех пор много воды утекло, многие принципы пересмотрены. В общем, по...

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

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

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

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

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

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

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

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

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

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

[Перевод] Демонстрация AresDB: инструмент анализа в реальном времени с открытым исходным кодом на основе GPU от Uber Благодаря анализу в реальном времени мы, сотрудники компании Uber, получаем представление о состоянии дел и эффективности работы и на основе данных решаем, как повысить качество работы на платформе Uber. Например, проектная команда мониторит состояние рынка и выявляет потенц...

Check Point Maestro Hyperscale Network Security — новая масштабируемая security платформа Компания Check Point довольно резво начала 2019 год сделав сразу несколько анонсов. Рассказать обо всем в одной статье не получится, поэтому начнем с самого главного — Check Point Maestro Hyperscale Network Security. Maestro это новая масштабируемая платформа, которая позв...

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

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

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

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

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

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

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

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

Бесшовная (почти) миграция между мажорными релизами PostgreSQL с помощью логической репликации У нас в True Engineering на одном проекте назрела необходимость в смене версии PostgreSQL с 9.6 на 11.1. Зачем? База данных на проекте уже объемом 1,5 Tb и растет. Перформанс – одно из основных требований к системе. А сама структура данных эволюционирует: добавляются новые...

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

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

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

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

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

Как мы мигрировали базу данных из Redis и Riak KV в PostgreSQL. Часть 1: процесс Это первая часть статьи, в которой я расскажу о том, как мы построили процесс работы над большим проектом по миграции БД: про безопасные эксперименты, командное планирование и кросс-командное взаимодействие. В следующих статьях подробней расскажу про технические проблемы, ко...

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

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

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

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

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

Делаем мессенджер*, который работает даже в лифте *на самом деле мы напишем только прототип протокола. Возможно, вы встречались с подобной ситуацией – сидите в любимом мессенджере, переписываетесь с друзьями, заходите в лифт/тоннель/вагон, и интернет вроде ещё ловит, но отправить ничего не получается? Или иногда ваш прова...

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

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

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

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

Я покажу вам Z-Way. Делаем хаб для умного дома на основе Z-Wave и Raspberry Pi Для подписчиковЕсли ты планируешь систему умного дома и хочешь с самого начала сделать все как можно лучше, то радиопротокол Z-Wave и серверный софт под названием Z-Way — это надежный и перспективный вариант. В этой статье я подробно расскажу о том, как сделать хаб своими ру...

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

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

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

[Перевод] [Иллюстрированное] Руководство по устройству сети в Kubernetes. Часть 3 Прим. перев.: Эта статья продолжает цикл материалов о базовом устройстве сетей в Kubernetes, что описывается в доступной форме и с наглядными иллюстрациями (впрочем, конкретно в этой части иллюстраций уже практически не оказалось). Переводя две предшествующие части этого цик...

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

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

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

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

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

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

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

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

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

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

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

МегаСлёрм в Москве в начале июня: первый анонс и скидки TL;DR — если пройти Слёрм-3 (1–3 февраля), то МегаСлёрм (31 мая — 2 июня) будет стоить на 15 тысяч меньше. Подробности. Слёрм — это введение в Кубернетес. Каждый участник создает свой кластер и разворачивает в нем приложение, хотя большинство впервые видит Кубернетес. Слёрм...

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

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

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

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

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

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

Роботы начали исследование самой радиоактивной части Фукусимы Учёные попытаются исследовать радиоактивное топливо на японской АЭС «Фукусима». Сложная операция уже началась, которая рассматривается как ключ к возможности по очистке после аварии 2011 года. Эта операция предназначена для лучшей оценки состояния расплавленного топлива, в...

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

[Перевод] Postgres в ретроспективе Предлагаем вашему вниманию перевод статьи Джозефа Хеллерштейна «Looking Back at Postgres», опубликованной в соответствии с международной лицензией Creative Commons «С указанием авторства» версии 4.0 (CC-BY 4.0). Авторы оставляют за собой право распространять эту работу на ли...

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

Всегда ли нужны Docker, микросервисы и реактивное программирование? Автор: Денис Цыплаков, Solution Architect, DataArt В DataArt я работаю по двум направлениям. В первом помогаю людям чинить системы, сломанные тем или иным образом и по самым разным причинам. Во втором помогаю проектировать новые системы так, чтобы они в будущем сломаны не...

Переход на Kotlin в Android-проекте: Tips and Tricks Автор: Сергей Ешин, Strong Junior Android Developer, DataArt Уже более полутора лет прошло с тех пор, как Google объявил об официальной поддержке Kotlin в Android, а самые матерые разработчики начали экспериментировать с ним в своих боевых и не очень проектах больше трех л...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[Из песочницы] О том, как из C# перешел в Elixir/Phoenix Как-то раз пришлось мне менять работу. До этого я работал только с языками типа Python, C++, C# и ещё парочкой подобных. А теперь пришлось начать работать с функциональным языком. Первые впечатления были «да что за фигня?». Однако у меня получилось достаточно быстро адаптиро...

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

Создаем инструменты для глубокого анализа рейтинга приложений в Google Play Store От переводчика: сегодня публикуем для вас совместную статью трех разработчиков, Akaash Chikarmane, Erte Bablu и Nikhil Gaur, в которой рассказывается о методе прогнозирования рейтинга приложений в Google Play Store. В этой статье мы покажем способы обработки информации,...

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

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

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

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

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

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

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