Социальные сети Рунета
Суббота, 23 февраля 2019
20 июля 2018   12:48

[Перевод] Сравнение JS-фреймворков: React, Vue и Hyperapp

Автор материала, перевод которого мы сегодня публикуем, полагает, что Hyperapp — это заслуживающая внимания альтернатива таким веб-фреймворкам, как React или Vue. Он говорит, что причиной такого утверждения стало то, что он выяснил, что Hyperapp легче в освоении, чем эти два...

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

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

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

[Из песочницы] Введение в PHP Reflection API Привет, Хабр! Представляю вашему вниманию перевод статьи "Introduction to PHP Reflection API" автора Mustafa Magdi. Как в PHP анализировать структуру данных Вступление Когда я начал программировать на PHP, то не знал о возможностях Reflection API. Главная причин...

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

[Перевод] Разбираемся с асинхронностью в JavaScript [Перевод статьи Sukhjinder Arora] Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding Asynchronous JavaScript» автора Sukhjinder Arora. Читать дальше →

Псевдо Lens Flare Привет, Хабр! Представляю вашему вниманию перевод статьи «Pseudo Lens Flare» автора John Chapman. Lens flare (блики на линзах) ― это фотографический артефакт, возникающий при рассеивании и преломлении света в системе линз. Хотя он является артефактом, существует множество...

[Перевод] Самые популярные Node.js-фреймворки 2018 года Сегодня мы публикуем перевод материала, автор которого хочет рассказать о самых популярных в наши дни фреймворках для Node.js. В этот список входят Sails.js, Hapi.js, NestJS, LoopBack, Derby.js, Mean.io и Total.js. Читать дальше →

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

[Из песочницы] Обнаружение сарказма с помощью сверточных нейросетей Привет, Хабр! Представляю вашему вниманию перевод статьи "Detecting Sarcasm with Deep Convolutional Neural Networks" автора Elvis Saravia. Одна из ключевых проблем обработки естественного языка — обнаружение сарказма. Обнаружение сарказма важно в других областях, таких как...

[Из песочницы] Когда использовать var, let и const в Javascript [перевод статьи Tyler’а McGinnis] Привет, Хабр! Представляю вашему вниманию перевод статьи «var vs let vs const in JavaScript» автора Tyler McGinnis. В этой статье вы узнаете 2 новых способа для создания переменных в Javascript (ES6), let и const. На протяжении этой статьи мы рассмотрим разницу между var,...

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

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

[Из песочницы] Обзор и сравнение квантовых программных платформ гейтового уровня Привет, Хабр! Представляю вашему вниманию перевод статьи "Overview and Comparison of Gate Level Quantum Software Platforms" автора Ryan LaRose. Квантовые компьютеры доступны для использования в облачной инфраструктуре, но в тоже время недавний бурный рост квантовых...

[Перевод] Практика работы с потоками в Node.js 10.5.0 Совсем недавно вышла версия 10.5.0 платформы Node.js. Одной из её главных возможностей стала впервые добавленная в Node.js поддержка работы с потоками, пока носящая статус экспериментальной. Этот факт особенно интересен в свете того, что данная возможность теперь есть у плат...

[Перевод] Разбираемся с промисами в JavaScript Доброго времени суток, Хабр! Представляю вашему вниманию перевод статьи «Understanding Promises in JavaScript» автора Sukhjinder Arora. Читать дальше →

[Перевод] Python — это медленно. Почему? В последнее время можно наблюдать рост популярности языка программирования Python. Он используется в DevOps, в анализе данных, в веб-разработке, в сфере безопасности и в других областях. Но вот скорость… Здесь этому языку похвастаться нечем. Автор материала, перевод которого...

[Перевод] Почему в основе каждого нового веб-приложения в PayPal лежит TypeScript? Недавно мы опубликовали материал, в котором Эрик Эллиот критиковал TypeScript. Сегодня мы представляем вашему вниманию перевод статьи Кента Доддса. Тут он рассказывает о том, почему в PayPal перешли с Flow на TypeScript. Читать дальше →

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

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

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

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

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

[Перевод] Проектирование типами: Как сделать некорректные состояния невыразимыми Представляю вашему вниманию перевод статьи Scott Wlaschin "Designing with types: Making illegal states unrepresentable". В этой статье мы рассмотрим ключевое преимущество F# — возможность "сделать некорректные состояния невыразимыми" при помощи системы типов (фраза заимствов...

InfoWatch Traffic Monitor. По лезвию багов и фич «Игорь, у него ДВА сердца!!!» Анна Попова, руководитель Блока DLP ГК Инфосекьюрити, продолжает делиться своими впечатлениями от использования разных DLP-систем. В прошлой статье она рассказала о плюсах и минусах решения КИБ SearchInform. Сегодня, как и было обещано, поговор...

[Перевод] Reflective Shadow Maps: Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи «Reflective Shadow Maps» автора Eric Polman. Reflective Shadow Maps (RSM) (отражающие карты теней) ― это алгоритм, расширяющий “простые” shadow map. Алгоритм учитывает свет, рассеянный после первого попадания на пов...

[Перевод] Рефакторинг программы на Go: ускорение в 23 раза Привет! Меня зовут Марко, я работаю в Badoo в отделе «Платформы». У нас довольно много всего написано на Go, и зачастую это критичные к производительности системы. Именно поэтому сегодня я предлагаю вашему вниманию перевод статьи, которая мне очень понравилась и, я уверен,...

[Перевод - recovery mode ] Подборка: 6 открытых фреймворков для создания бэктестеров торговых стратегий на Python В своей статье на ресурсе QuantStart, эксперт по разработке финансовых приложений Фрэнк Смитана (Frank Smietana) рассказал о существующих фреймворках для создания софта для бэктестинга торговых стратегий и дал несколько советов по выбору подобных инструментов. Мы адаптиров...

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

[Из песочницы] Разработка UI с помощью Flutter Привет, Хабр! Представляем вашему вниманию перевод статьи "Building Layouts". Сегодня мы узнаем: Как работают механики построения UI на Flutter Как верстать экраны горизонтально и вертикально Как сверстать экран, используя Flutter Результатом сегодняшнего урока...

[Перевод] 19 идей для Node.js-разработчиков, которые стремятся вырасти над собой в 2019 году Автор материала, перевод которого мы публикуем, собрал 19 идей, которые могут оказаться полезными для тех Node.js-разработчиков, которые хотят повысить свой профессиональный уровень в 2019 году. Мир JavaScript огромен, поэтому освоить всё то, о чём пойдёт здесь речь, попрост...

[Перевод] DataChannels на QUIC: первые шаги DataChannels, основанные на QUIC, считаются альтернативой нынешнему SCTP-транспорту. Рабочая группа WebRTC в Google уже экспериментирует с ними: Looking for feedback: QUIC based RTCQuicTransport and RTCIceTransport API's are available as origin trial in Chrome 73 for experi...

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

[Перевод] Собеседование по TypeScript: 20 вопросов и ответов Язык TypeScript основан на том же синтаксисе и семантике, которые хорошо знакомы миллионам JavaScript-разработчиков. TypeScript даёт возможность работать с самыми свежими и ещё только появляющимися возможностями JS, включая те, которые имеются в ECMAScript 2015, и те, которы...

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

Как изменилась Siri в iOS 12 В последней версии iOS разработчики решили пересмотреть свой подход к Siri. Голосовой помощник обзавелся мощным инструментом «Siri Shortcuts», который позволяет автоматизировать ваши действия. Не обошлось и без улучшений самого алгоритма Siri. Остановимся на этом подробнее...

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

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

[Из песочницы] JAVA SOUND API основы Привет, Хабр! Представляю вашему вниманию перевод статьи «Java Sound, Getting Started, Part 1, Playback». Звук в JAVA, часть первая, Начало. Проигрывание звука Это начальный из серии в восемь уроков, который полностью ознакомит вас с Java Sound API.  Читать дальше →

[Перевод] Electron: разработка настольных приложений с использованием HTML, CSS и JavaScript Можно ли, используя HTML, CSS и JavaScript, создавать настольные приложения? Автор статьи, перевод которой мы сегодня публикуем, даёт утвердительный ответ на этот вопрос. Здесь он расскажет о том, как, применяя веб-технологии и пользуясь возможностями фреймворка Electron, со...

Tornado vs Aiohttp: путешествие в дебри асинхронных фреймворков Привет! Я Дима, и я довольно давно и плотно сижу на Python. Сегодня хочу показать вам отличия двух асинхронных фреймворков — Tornado и Aiohttp. Расскажу историю выбора между фреймворками в нашем проекте, чем отличаются корутины в Tornado и в AsyncIO, покажу бенчмарки и дам н...

[Перевод] 22 совета Angular-разработчику. Часть 1 Автор статьи, первую часть перевода которой мы публикуем, говорит, что он уже около двух лет работает над крупномасштабным Angular-приложением в Trade Me. В течение последних нескольких лет команда разработчиков приложения постоянно занимается совершенствованием проекта — ка...

[Из песочницы] HTML, который мы потеряли Привет, Хабр! Представляю вашему вниманию перевод статьи "The HTML we never had" автора Сергея Кучерова. В этом году исполняется 30 лет с тех пор, как Бернерс-Ли начал разрабатывать язык HTML. С тех пор мы прошли долгий путь, начиная с восхищения новой технологией,...

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

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

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

[Из песочницы] Устранение рекурсии в Python Привет, Хабр! Представляю вашему вниманию перевод статьи "Removing a recursion in Python, part 1" автора Эрика Липперта (Eric Lippert). На протяжении последних 20 лет я восхищался простоте и возможностям Python, хотя на самом деле никогда не работал с ним и не изуч...

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

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

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

[Из песочницы] Восстановление когнитивных способностей 100 пациентов (перевод статьи Дейла Бредесена) Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи Дейла Бредесена, директора отдела нейродегенеративных заболеваний медицинского факультета Калифорнийского университета в Лос-Анджелесе (UCLA), автора «The End of Alzheimer's: The First Program to Prevent...

[Перевод] Var, let или const? Проблемы областей видимости переменных и ES6 Области видимости в JavaScript всегда были непростой темой, особенно в сравнении с более строго организованными языками, такими, как C и Java. В течение многих лет области видимости в JS особенно широко не обсуждались, так как в языке попросту не было средств, которые позвол...

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

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

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

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

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

[Перевод] Подробности о JavaScript-объектах Автор материала, перевод которого мы сегодня публикуем, говорит, что в JavaScript-объектах содержится много такого, о существовании чего можно и не подозревать, пользуясь ими в повседневной работе. Объекты в JavaScript очень легко создавать, с ними удобно работать, они кажут...

[Из песочницы] AI детектор лжи может определить, когда человек врет Привет, Хабр! Представляю вашему вниманию перевод статьи "Here's how an AI lie detector can tell when you're fibbing" автора Rob Verger. Сегодня искусственный интеллект встречается повсюду – он определяет, что находится на фотографиях еды (на таких сайтах, как Y...

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

[Перевод] Секреты JavaScript-кухни: специи Взгляните на следующие фрагменты кода, решающие одну и ту же задачу, и подумайте о том, какой из них вам больше нравится. Вот первый: Вот второй: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] .filter(int => isEven(int)) .filter(int => isBiggerThan(3, int)) .map(int => int ...

[Перевод] Тестирование Node.js-проектов. Часть 1. Анатомия тестов и типы тестов Автор материала, первую часть перевода которого мы сегодня публикуем, говорит, что он, как независимый консультант по Node.js, каждый год анализирует более 10 проектов. Его клиенты, что вполне оправданно, просят его обратить особое внимание на тестирование. Несколько месяцев...

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

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

[Перевод] Настоящее и будущее безопасной работы с null и undefined в JavaScript Автору материала, перевод которого мы сегодня публикуем, недавно попался один вопрос на StackOverflow, который заставил его задуматься об обработке значений null и undefined в JavaScript. Здесь он приводит анализ текущей ситуации, показывает некоторые приёмы безопасной работ...

[Перевод] Imba: JavaScript-совместимый язык для быстрой работы с DOM Imba — это опенсорсный язык программирования, созданный компанией Scrimba специально для разработки веб-приложений. Он компилируется в JavaScript и способен работать внутри существующей JS-экосистемы. Речь идёт, например, о Node.js, об npm, о Webpack. Основная сильная сторо...

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

[Из песочницы] Перевод руководства по Stream API от Benjamin Winterberg Привет, Хабр! Представляю вашему вниманию перевод статьи "Java 8 Stream Tutorial". Это руководство, основанное на примерах кода, представляет всесторонний обзор потоков в Java 8. При моем первом знакомстве с Stream API, я был озадачен названием, поскольку оно очень созвучно...

Бесконечный узор на основе простых чисел Привет, Хабр! Однажды утром мне пришла в голову идея находить "исключающее ИЛИ" между координатами точки пространства и проверять полученное число на простоту. Результат такого простого алгоритма вы можете видеть на картинке. Подробнее под катом. Читать дальше →

Как это сделано: пишем «Сапера» за 4 минуты От переводчика: этот пост — перевод оригинальной статьи Маки Чиза, опытного кодера, который не только пишет классные программы, но и демонстрирует возможности различных языков своим коллегам, как новичкам, так и профессионалам. «Сапер» — веселая игра, многие из нас в не...

Ноутбуки с SoC Snapdragon 845 и Windows 10 уже на подходе Как мы уже имели возможность убедиться, ноутбуки Connected PC, которые основаны на Snapdragon 835 и работают под управлением Windows 10, похвастаться производительностью не могут. Прошлогодняя флагманская платформа Qualcomm в среднем демонстрирует результаты намного хуж...

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

Анализ подходов к связыванию модулей в Node.js Многие разработчики Node.js для связывания модулей используют исключительно создание жёсткой зависимости с помощью require(), однако существуют и другие подходы, со своими плюсами и минусами. О них я в этой статье и расскажу. Будут рассмотрены четыре подхода: Жёсткие завис...

[Из песочницы] Пагинация во Vue.js Привет, Хабр! Представляю вашему вниманию перевод статьи "Pagination in Vue.js" автора Denny Headrick. Пагинация увеличивает UX, позволяя пользователям визуализировать данные в небольших блоках или на страницах. Вот и компонент Vue.js можно сделать с разбивкой по ...

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

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

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

[Из песочницы] Погружаемся в динамику клиентской базы: когортный анализ и анализ потоков Продолжаю цикл статей по анализу продукта (начало) В прошлой статье я погрузился в анализ выручки и разбил ее на 2 компоненты — MRPU и кол-во клиентов. Сегодня рассмотрим дальнейшие шаги в анализе и разложим на составляющие кол-во клиентов и их динамику. Теперь общая схема ...

Тестирование PRTG Network Monitor и сравнение с Zabbix Публикуем перевод статьи Flavio Xandó о тестировании PRTG Network Monitor и сравнении с Zabbix. Тестирование проводилось не в лабораторных условиях, а в режиме реального использования, в реально существующей компании со всей ее инфраструктурой в ходе повседневной деятельност...

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

Амплитудная модуляция на пальцах В недавней статье «Амплитудная модуляция произвольного сигнала» её автор довольно сумбурно попытался представить своё понимание формирования спектра при амплитудной модуляции. Но отсутствие иллюстраций и избыток математики с привлечением интегральных преобразований помешало ...

[Из песочницы] От API first на OAS до single contract на RAML Привет, %username%! Ты наверняка знаешь, что такое API интерфейсы и то, как много от них зависит в твоем проекте. Более того, я так же полагаю, что ты уже знаком с тем, что такое API first подход и знаешь, что Swagger и его Open API являются одними из самых популярных инс...

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

[Перевод] За кулисами сети в Kubernetes Прим. перев.: Автор оригинальной статьи — Nicolas Leiva — архитектор решений Cisco, который решил поделиться со своими коллегами, сетевыми инженерами, о том, как устроена сеть Kubernetes изнутри. Для этого он исследует простейшую её конфигурацию в кластере, активно применяя ...

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

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

«Валит боком»: Блогер пожаловался на управляемость новой LADA Granta FL Автомобилист протестировал новинку, чтобы дать ей объективную оценку. В целом, блогер хорошо отзывается о LADA Granta FL, но ему не понравилась ее управляемость. В сети появился объективный обзор новой LADA Granta FL от отечественного блогера. По словам автолюбителя, новинк...

[Перевод] Можно ли использовать Redux на сервере? Redux — это отличное средство для управления состоянием сложных фронтенд-приложений. Автор материала, перевод которого мы сегодня публикуем, собирается найти ответ на вопрос о том, можно ли воспользоваться возможностями Redux в серверной среде. Читать дальше →

[Перевод] Когда исчезнут JavaScript-фреймворки? Автор материала, перевод которого мы сегодня публикуем, веб-разработчик, говорит, что он старается регулярно пересматривать набор инструментов, которыми пользуется. Делает он это для того, чтобы понять, может ли он без некоторых из них обойтись, решая свои обычные задачи. Не...

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

На пути к физическим принципам биологической эволюции. Окончание + полный текст перевода Сокращенный перевод статьи М. Кацнельсона, Ю. Вольфа и Е. Кунина Towards physical principles of biological evolution Mikhail I. Katsnelson, Yuri I. Wolf, Eugene V. Koonin Оригинал статьи (Две предыдущие части уже были опубликованы: начало и продолжение ) Возможна ли конвер...

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

2. Анализ логов Check Point: SmartEvent Здравствуйте, коллеги. В прошлый раз, в статье «1. Анализ логов Check Point: официальное приложение Check Point для Splunk» мы обсуждали разбор логов шлюза безопасности на основе официального приложения в системе логирования Splunk. В заключении пришли к выводу что хоть пр...

[Из песочницы] Почему я не использую story points для планирования спринта Привет, Хабр! Представляю вашему вниманию перевод статьи «Why I Don’t Use Story Points for Sprint Planning» автора Mike Cohn. Как описано в «Agile Estimating and Planning», я большой поклонник story points для оценки бэклога продукта. Тем не менее, я также рекомендую оценив...

[Из песочницы] Профилируем Unity проект с Android Studio Всем день добрый! Это статья о том, как профайлить Unity игры на Android с Android Studio. Я расскажу о том, как настроить Android Studio и получить максимальное кол-во данных. Вопросы анализа и выводов на основе полученного результата находятся вне рамок данной статьи. Чита...

[Перевод] Кроссплатформенная мобильная архитектура RIBs от Uber 20 декабря 2016 года ребята из Uber Engineering опубликовали статью про новую архитектуру (вот перевод этой статьи на хабре). Представляю вашему вниманию перевод основной части документации. Читать дальше →

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

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

Оцениваем процессы в команде разработки на основе объективных данных Разработка софта считается плохо измеримым процессом, и кажется что, чтобы ей эффективно управлять, нужно особое чутье. А если интуиция с эмоциональным интеллектом развиты не очень, то неизбежно будут сдвигаться сроки, проседать качество продукта и падать скорость поставки. ...

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

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

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

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

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

[Перевод] Полезные методы массивов и объектов в JavaScript Автор статьи, перевод которой мы сегодня публикуем, говорит, что её идею подсказал ему один из выпусков подкаста Syntax FM, в котором давался обзор полезных методов объектов и массивов в JavaScript. Эти методы помогают разработчикам писать чистый и читабельный код. Их примен...

[Перевод] Регистрация событий при помощи Kafka Привет, Хабр! Мы раскупорили последние резервы книги "Apache Kafka. Потоковая обработка и анализ данных" и отправили ее в допечатку. Более того, мы получили контракт на книгу "Kafka Streams in Action" и приступаем к ее переводу буквально на будущей неделе. Чтобы показать...

RTOS или не RTOS вот в чем вопрос На написание данной статьи меня побудила длинная ветка комментариев (дискуссией это я назвать, к сожалению, не могу) к моей недавней статье “Многообразный мир embedded systems и место Embox в нем”. Меня в нескольких местах упрекнули в том, что я путаю RTOS и Embedded OS, чт...

[Перевод] Полнофункциональная динамическая трассировка в Linux с использованием eBPF и bpftrace «В режиме трассировки программист видит последовательность выполнения команд и значения переменных на данном шаге выполнения программы, что позволяет легче обнаруживать ошибки» — сообщает нам Википедия. Сами будучи поклонниками Linux, мы регулярно сталкиваемся с вопросом, ...

[Перевод] 11 библиотек (наборов компонентов) для React Native, о которых стоит знать в 2018-м В начале года мы опубликовали несколько материалов о популярных наборах компонентов для React, Angular и Vue. Сегодня мы представляем вашему вниманию перевод статьи из той же серии, посвящённой React Native. Учитывая непрекращающийся рост популярности React, и то, что мобиль...

[Из песочницы] GAN научили создавать лица с реалистичной текстурой и геометрией Привет, Хабр! Представляю вашему вниманию перевод статьи «Facial Surface and Texture Synthesis via GAN». Когда у исследователей имеется недостаток реальных данных, зачастую они прибегают к аугментации данных, как способу расширить имеющийся датасет. Идея состоит в том, чтоб...

PWA — это просто. Hello Joomla Продолжаем изучение Progressive Web Applications. После теоретической первой части и простого практического примера Hello Habr второй части попробуем перевести в PWA веб сайт на CMS Joomla. Тип серверного фреймворка не важен. Задача данной статьи — показать перевод обычного...

[Из песочницы] Если вы не занимаетесь управлением активами, у вас нет информационной безопасности Привет, Хабр! Представляю вашему вниманию перевод статьи "If You’re Not Doing Continuous Asset Management You’re Not Doing Security" автора Daniel Miessler. Чем больше компания может рассказать о своих активах, тем лучше у них дела с безопасностью. Чем более комплексная и о...

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

[Перевод] Незнание основ React, которое, возможно, вас губит Хотите получить наглядное представление о том, что происходит с компонентами, когда вы работаете с React? Читайте под катом перевод статьи Ohans Emmanuel, опубликованной на сайте freeCodeCamp. Читать дальше →

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

[Из песочницы] Как убедить клиента или компанию использовать Flutter Привет, Хабр! Представляю вашему вниманию перевод с англ. статьи Pitching Flutter to your company or client (автор Wm Leler) С момента публикации статьи What’s Revolutionary about Flutter прошло больше года (и этот материал всё ещё актуален). Когда я писал ту статью, лишь н...

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

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

[Перевод] ES2018 — метод промисов finally Автор заметки, перевод которой мы сегодня публикуем, говорит, что с трудом удержался от того, чтобы не назвать её «Finally — возможность, которую все ждали», или как-то пошутить на эту тему. В итоге он решил обойтись без шуток и просто рассказать о по-настоящему важной и пол...

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

[Перевод] Медленный софт От переводчика: проблема медленного программного обеспечения стала одной из главных тем обсуждения на Хабре и Hacker News в последние недели. Например, см. статью Никиты Прокопова «Моё разочарование в софте» и 2432 комментария к ней. Мы проводим много времени за компьютером...

[Из песочницы] Что делать, когда “this” теряет ссылку на контекст Привет, Хабр! Представляю вашему вниманию перевод статьи «What to do when “this” loses context» автора Cristi Salcescu. Лучший способ избежать потери контекста this – не использовать this. Однако, это не всегда возможно. Например, мы работаем с чужим кодом или библиотекой, ...

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

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

[Перевод] CORS, CSP, HTTPS, HSTS: о технологиях веб-безопасности Автор материала, перевод которого мы публикуем сегодня, говорит, что существует множество причин изучать веб-безопасность. Например, вопросами безопасности интересуются пользователи веб-сайтов, которых беспокоит возможность кражи их персональных данных. Безопасность заботит ...

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

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

Видео: трансформация оружия, боевые приёмы и кастомизация персонажей в трейлере God Eater 3 Компания Bandai Namco показала публике новый трейлер, посвящённый God Eater 3. Предыдущий ролик демонстрировал кооперативные режимы и возможности командного взаимодействия. На этот раз авторы раскрыли подробности об оружии и показали элементы кастомизации. Видео нач...

[Перевод] Биткоин — это культ Автор: Адам Кодилл, специалист по безопасности, исследователь и разработчик с 15-летним опытом, который специализируется на проблемах безопасности приложений, защите коммуникаций и криптографии. Статья опубликована в личном блоге автора 21 июня 2018 года. За эти годы битко...

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

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

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

[Из песочницы] Законы рефлексии в Gо Привет, Хабр! Представляю вашему вниманию перевод статьи «The Laws of Reflection» от создателя языка. Рефлексия — способность программы исследовать собственную структуру, в особенности через типы. Это форма метапрограммирования и отличный источник путаницы. В Go рефлексия ш...

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

Получение морфируемой 3D-модели лица на основе фотографии в произвольном ракурсе Привет, Хабр! Представляю вашему вниманию перевод статьи «Learning 3D Face Morphable Model Out of 2D Images». Трёхмерная морфируемая модель лица (3D Morphable Model, далее 3DMM)  —  это статистическая модель структуры и текстуры лица, которая используются компьютерном зре...

[Перевод] RoadRunner: PHP не создан, чтобы умирать, или Golang спешит на помощь Привет, Хабр! Мы в Badoo активно работаем над производительностью PHP, поскольку у нас достаточно большая система на этом языке и вопрос производительности — это вопрос экономии денег. Более десяти лет назад мы создали для этого PHP-FPM, который сначала представлял собой н...

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

[Перевод] Инициализация в С++ действительно безумна. Лучше начинать с Си Недавно мне напомнили, почему я считаю плохой идеей давать новичкам C++. Это плохая идея, потому что в C++ реальный бардак — хотя и красивый, но извращённый, трагический и удивительный бардак. Несмотря на нынешнее состояние сообщества, эта статья не направлена против совреме...

[Перевод] Архитектура Redux. Да или нет? Автор материала, перевод которого мы сегодня публикуем, говорит, что входит в команду мессенджера Hike, которая занимается новыми возможностями приложения. Цель этой команды заключается в том, чтобы воплощать в реальность и исследовать идеи, которые могут понравиться пользов...

[Из песочницы] Почему вы должны думать о функциональном программировании Привет, Хабр! Представляю вашему вниманию перевод своей статьи «Why you should think about functional programming», посвященной функциональному программированию. Почему вы должны думать о функциональном программировании? Давайте ответим на следующие вопросы: всегда ли в...

Анализ производительности WSGI-серверов: вернем uWSGI на место На прошлой неделе был опубликован перевод статьи двухлетней давности Анализ производительности WSGI-серверов: Часть вторая, где незаслужено был обделен славой uWSGI. Необходимо срочно перепроверить тесты! Читать дальше →

[Перевод] Git: исправление ошибок и наведение порядка в коммитах Ошибка в коммите… Как её исправить? Беспорядок в истории коммитов… Как привести всё в пристойный вид? Автор статьи, перевод которой мы публикуем сегодня, говорит, что она написана специально для тех, кто задавался такими вопросами. По его словам, изучив методики работы с Git...

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

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

[Перевод] Почему жители стран Запада боятся роботов, а японцы – нет [Перевод статьи японского автора Joi Ito — журналиста, предпринимателя и активиста, сотрудничающего с журналом Wired] Будучи японцем, я рос, смотря такие аниме, как Евангелион [Neon Genesis Evangelion], в котором изображается будущее, где люди и машины слились в кибернетич...

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

10 причин [не] использовать k8s Сегодня мы поговорим про Kubernetes, про грабли, которые можно собрать при его практическом использовании, и про наработки, которые помогли автору и которые должны помочь и вам. Постараемся доказать, что без k8s в современном мире никуда. Противникам k8s также предоставим от...

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

[Перевод] Кодек нового поколения AV1: корректирующий направленный фильтр CDEF Автор: Monty (monty@xiph.org, cmontgomery@mozilla.com). Опубликовано 28 июня 2018 года. Если кто не читал предыдущую статью… AV1 — это новый универсальный видеокодек, разработанный Альянсом за открытые медиа (Alliance for Open Media). Альянс взял за основу кодек VPX от Go...

[recovery mode] Небольшое исследование свойств простой U-net, классической сверточной сети для сегментации Cтатья написана по анализу и изучению материалов соревнования по поиску корабликов на море. Попробуем понять, как и что ищет сеть и что находит. Статья эта есть просто результат любопытства и праздного интереса, ничего из нее в практике не встречается и для практических з...

[Перевод] Разработка собственного фреймворка и профессиональный рост JS-программиста Вы когда-нибудь задавались вопросом о том, как работают фреймворки? Автор материала, перевод которого мы сегодня публикуем, говорит, что когда он, много лет назад, после изучения jQuery, наткнулся на Angular.js, то, что он увидел, показалось ему очень сложным и непонятным. П...

Портирование JS на Эльбрус Это рассказ про портирование JavaScript на отечественную платформу Эльбрус, выполненное ребятами из компании UniPro. В статье — краткий сравнительный анализ платформ, детали процесса и подводные камни. В основе статьи — доклад Дмитрия (dbezheckov) Бежецкова и Владимира (v...

Новые MacBook Pro 15 и MacBook Pro 13 – всё лучше и мощнее Сегодня серьёзному техническому обновлению подверглась линейка Apple MacBook Pro. И чтобы полностью осознать, насколько изменения серьёзные, мы проведём глобальное сравнение моделей 2017 и 2018 года. Хочешь наглядно увидеть, как эволюционировал MacBook Pro и насколько подоро...

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

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

Exactly once is NOT exactly the same: анализ статьи Введение Решил проанализировать статью, описывающую некоторые интересные детали потоковой обработки ровно один раз: exactly-once. Дело в том, что некоторые авторы очень странно понимают термины. Разбор статьи как раз позволит прояснить многие детали более глубже, т.к. выявле...

Пишем простой транслятор на Лиспе — I Давайте попробуем написать на Лиспе… транслятор простого императивного языка. Нет-нет, я не ошибся – именно транслятор. Транслировать он будет в Лисп-код. А дальше этот код может быть выполнен Лисп-системой. Здесь бесценную услугу нам окажет то обстоятельство, что в Лиспе не...

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

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

50 лет спустя. The Mother of All Demos «Компьютерная революция еще не случилась. (The computer revolution hasnt happened yet)» — Алан Кей Всем привет. Сегодня 50 лет с исторического события, известного как "Мать всех демонстраций" (The Mother of All Demos). И я стартую проект «Энгельбарт» (чтобы это ни было ...

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

[Перевод] Философия CSS Привет всем! Пришло время сообщить, что мы рассчитываем еще до конца февраля выпустить новую книгу по CSS, которая рекомендуется всем, кто уже освоил Макфарланда (пока в наличии, ближайшую допечатку рассчитываем сделать в январе). Сегодня вам предлагается перевод статьи Ки...

[Перевод] Как создавать нестандартные фигуры с помощью MaterialShapeDrawable В Material Design 2.0 появилось несколько новых концепций. Одна из них — особое внимание к геометрическим формам элементов интерфейса. И есть простой способ делать красивые нестандартные формы. Он называется MaterialShapeDrawable. Давайте разберемся, насколько он полезен и...

[Перевод] CoreBluetooth на практике Перевод статьи Practical CoreBluetooth for Peripherals Пару лет назад, впервые столкнувшись в рабочем проекте с Bluetooth, нашел эту статью, которая сильно помогла понять, как это работает, найти “отправную” точку. Надеюсь, что пригодится новичкам. Об авторе: Йоав Шварц — ве...

Errorx — библиотека для работы с ошибками в Go Что такое Errorx и чем он полезен Errorx — это библиотека для работы с ошибками в Go. Она предоставляет инструменты для решения проблем, связанных с механизмом ошибок в больших проектах, и единый синтаксис для работы с ними. Большинство серверных компонентов Joom пишутся на...

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

Перевод книги Эндрю Ына «Страсть к машинному обучению» Главы 15 — 17 предыдущие главы 15. Одновременная оценка нескольких идей во время анализа ошибок У вашей команды есть несколько идей, как улучшить определитель кошек в вашем приложении: Решить проблему с тем, что ваш алгоритм относит собак к кошкам Решить проблему с тем, что ваш алгоритм ...

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

Новый способ введения экспоненты В статье предложен новый весьма необычный способ определения экспоненты и на основе этого определения выведены её основные свойства. Каждому положительному числу поставим в соответствие множество , где  и . Лемма 1. Из  следует, что для каждого элемента  найдётся элемент...

[Перевод] Вся правда об ОСРВ. Статья #23. Очереди: введение и базовые службы Очереди были упомянуты в одной из предыдущих статей (#5). Они предоставляют более гибкий способ передачи простых сообщений между задачами по сравнению с почтовыми ящиками. Читать дальше →

[Перевод] Осваиваем новые языки программирования, опираясь на уже изученные Здравствуйте, коллеги. Снимок Дженни Марвин с сайта Unsplash Сегодня мы подготовили для вас перевод статьи о принципиальном сходстве многих языков программирования на примере с Ruby и C#. Надеемся, что идеи уважаемого Северина Переса помогут многим из вас поскорее присту...

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

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

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

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

Улучшение агента на основе Q-Learning, торгующего stocks, путем добавления рекуррентности и формирования наград Напоминание Привет, Хабр! Предлагаю вашему вниманию ещё один перевод моей новой статьи с медиума. В прошлый раз (первая статья) (Habr) мы создали агента на технологии Q-Learning, который совершает сделки на имитированных и реальных биржевых временных рядах и пытались провер...

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

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

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

[Перевод] Что не так с A/B тестированием Мы подготовили для читателей Хабры перевод статьи Майкла Камински, бывшего директора по аналитике в Harry’s. Он рассуждает о том, что не так с A/B тестированием. Комментирует материал Глеб Сологуб, директор по аналитике Skyeng. Понятие A/B-тестирования основано на в корне ...

Новые китайские ПЛК с Алиэкспресс: Wecon LX3VP/LX3VE Продолжаю серию заметок о программируемых логических контроллерах, с которыми мне доводится работать. В этот раз будет снова про «китайские контроллеры с Алиэкспресс» от кампании Wecon. Но сначала нужно напомнить, почему я ими заинтересовался. При выборе ПЛК для проекта неи...

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

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

[Из песочницы] Комплексный подход к визуализации событий безопасности и измерению её эффективности Привет, Хабр! Представляем вашему вниманию перевод статьи "A Full-Scale Security Visualization Effectiveness Measurement and Presentation Approach". От автора перевода Визуализация оказывает неоценимую помощь экспертам в получении выводов и знаний об объекте исследований,...

[Из песочницы] User Memory Design: Как проектировать на века Привет, Хабр! Представляю вашему вниманию перевод статьи User Memory Design: How To Design For Experiences That Last Если мы поймем разницу между опытом и памятью, мы сможем повысить свои навыки проектирования пользовательского опыта (UX). Читать дальше →

[Перевод] Unrestricted File Upload at Apple.com Внимание — это фривольный перевод заметки о том, как именно Jonathan Bouman нашёл публичный AWS S3, который использовался на одном из поддоменнов apple.com. Плюс заметка хороша тем, что наглядно демонстрирует пользу от нескольких маленьких утилит в совокупности с терпением. ...

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

Kotlin performance on Android Поговорим сегодня о производительности Kotlin на Android в production. Посмотрим под капот, реализуем хитрые оптимизаци, сравним байт-код. Наконец, серьезно подойдем к сравнению и замерим бенчмарки. Эта статья основана на докладе Александра Смирнова на AppsConf 2017 и помож...

[Перевод] Цукерберг финансирует: Сотрудничество + Технология + Open Science Наш подход к ускорению развития науки и лечению болезней. Мы считаем, что сотрудничество, принятие рискованных решений и поддерживание связи с научным сообществом — наши лучшие возможности для ускорения прогресса в науке. Работа Chan Zuckerberg Initiative в науке была ос...

Внедряйте SIAM правильно Австралийский SIAM-архитектор и консультант Michelle Major-Goldsmith в своей статье делится рекомендациями, которые могут оказаться полезными для тех, кто решил применить подходы SIAM на практике. В условиях постоянно снижающейся толерантности бизнеса к простоям ИТ-обеспечен...

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

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

[Перевод] Предполагаемые принципы проектирования для Jakarta EE Привет, Хабр! У нас совсем недавно вышла книга "Изучаем Java EE. Современное программирование для больших предприятий" от немецкого Java-чемпиона Себастьяна Дашнера. Господин Дашнер активно пишет и выступает на темы, связанные с современной Java EE, поэтому в своем блоге ...

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

[Из песочницы] Старение это не процесс износа (перевод) Привет, Хабр! Представляю вашему вниманию перевод статьи Джошуа Миттельдорфа (2010г), автора книги «Aging is a Group-Selected Adaptation» (2017г) Идея, что тела изнашиваются с возрастом столь стара, распространена и глубоко укоренена, что это оказывает влияние на нас на п...

[Перевод] Нет, вам не нужен Express в вашем REST API на Node.js Об альтернативах Express, где и почему стоит отказаться от Express'a и небольшие замеры в переводе под катом Читать дальше →

6 проблем, с которыми вы столкнетесь, изучая программирование самостоятельно От переводчика: Эта статья — перевод оригинальной авторской статьи опытного программиста Сяна Чжу. Чжу предпочитает не держать полученные знания и опыт в себе, а делиться ими с окружающими, чтобы сделать мир (ну или программирование) лучше. За последние несколько лет пр...

[Перевод] TensorFlow.js и clmtrackr.js: отслеживание направления взгляда пользователя в браузере Автор статьи, перевод которой мы публикуем, предлагает поговорить о решении задач из сферы компьютерного зрения исключительно средствами веб-браузера. Решить подобную задачу не так уж и трудно благодаря JavaScript-библиотеке TensorFlow. Вместо того, чтобы обучать собственную...

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

Настоящее Время 4.8.0.23 Видеоновости в Настоящем Времени – визуальная информационная картина дня в вашем мобильном устройстве и телевизоре. В приложении вы найдете: • Прямую трансляцию передач телеканала Настоящее Время. • Регулярно обновляемые выпуски видеоновостей. • Отдельные передачи...

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

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

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

Облысение: Теория и практика лечения, ч.2 «Даже у простаты есть гланды, простагландины» Вторая статья о облысении (часть первая), причинах и методах лечения, будет посвящена простагландинам — сигнальным белкам которые по мимо прочего так же замешаны в регуляции как роста волос так и процессов облысения. Использование простагландинов, либо препаратов их блоки...

[Перевод] Конференция DEFCON 20. Как поиметь плохих парней (и мафию) с помощью JavaScript ботнета. Часть 1 Я рад представить сегодняшнюю тему «Как поиметь плохих парней и мафию, используя JavaScript ботнет». Сначала я хочу представить себя и мою страну – я Чема Алонсо, работаю в маленькой компании под названием Informatica64. Я также занимаюсь безопасностью Microsoft и живу в Исп...

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

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

[Перевод] API CSS Paint По словам автора материала, перевод которого мы публикуем сегодня, API CSS Paint — это невероятно интересная технология. Причём, речь идёт не только о её текущих возможностях, но и о представляемых ей явлениях, и о том, что её возникновение знаменует собой начало весьма прим...

Реверс-инжиниринг прошивки устройства на примере мигающего «носорога». Часть 1 26 апреля 2018 года компания ИНФОРИОН провела конференцию для студентов МГТУ им. Баумана SMARTRHINO-2018. Специально для конференции было подготовлено небольшое устройство на базе микроконтроллера STM32F042. Этот носорожек стал подопытным главным героем мастер-класса по ...

[Перевод] Анализ 112654 тестовых заданий и тренды рынка труда программистов 2019 года Материал, перевод которого мы публикуем сегодня, посвящён анализу рынка труда разработчиков программного обеспечения. А именно, компания Devskiller, которая работает в сфере рекрутинга, делится здесь результатом исследования 112654 тестовых заданий, которые выполнили програм...

Почему iPhone XR заслуживает больше внимания чем флагманы Apple В среду Apple показала общественности три новых смартфона — iPhone XS, iPhone XS Max и iPhone XR. Сейчас все внимание приковано к флагманским моделям — и по мнению журналиста 9to5Mac, Бена Лавджоя, совершенно незаслуженно, так как именно «недорогой» iPhone выгл...

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

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

[Из песочницы] Как подключить Raspberry PI к Azure IoT: пошаговая инструкция Привет, Хабр! Представляю вашему вниманию перевод статьи Connecting Raspberry PI via Azure IoT: Step-By-Step Tutorial. В этом посте мы расскажем, как подключить Raspberry Pi как периферийное устройство для передачи сигналов к светодиодной панели, использовав модуль Azure Io...

[Перевод] 15 малоизвестных свойств и методов объектов DOM При разработке современных веб-сайтов интенсивно используются возможности JavaScript по работе с DOM. Скрипты позволяют отображать и скрывать элементы, из которых строятся страницы, настраивать свойства этих элементов. У объектов DOM, с которыми взаимодействуют из программ, ...

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

[Из песочницы] Hasura. Архитектура высокопроизводительного GraphQL to SQL сервера Привет, Хабр! Представляю вашему вниманию перевод статьи «Architecture of a high performance GraphQL to SQL engine». Это перевод статьи про то, как устроен изнутри и какие оптимизации и архитектурные решения несет в себе Hasura — высокопроизводительный легковесный GraphQL с...

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

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

[Из песочницы] Генерация изображений из текста с помощью AttnGAN Привет, Хабр! Представляю вашему вниманию перевод статьи "AttnGAN: Fine-Grained Text to Image Generation with Attentional Generative Adversarial Networks" авторов Tao Xu, Pengchuan Zhang, Qiuyuan Huang, Han Zhang, Zhe Gan, Xiaolei Huang, Xiaodong He. В данной публ...

[Перевод] Мониторинг кластера Kubernetes при помощи Prometheus Здравствуйте, коллеги. Мы только что отдали в перевод интересную книгу Брендана Бёрнса, рассказывающую о паттернах проектирования для распределенных систем Кроме того, у нас уже полным ходом идет перевод книги "Mastering Kubernetes" (2-е издание) и готовится к выходу в се...

[Перевод] Руководство по JavaScript, часть 1: первая программа, особенности языка, стандарты Недавно мы провели опрос, посвящённый целесообразности перевода этого руководства по JavaScript. Как оказалось, около 90% проголосовавших отнеслись к данной идее положительно. Поэтому сегодня публикуем первую часть перевода. Это руководство, по замыслу автора, рассчитано ...

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

Машинное обучение поможет сократить популяцию мух цеце, чтобы снизить уровень заболеваемости сонной болезнью Привет, Хабр! Представляю вашему вниманию перевод статьи " Machine learning can control tsetse flies аnd thus reduce sleeping sickness". Самки мухи цеце спариваются один раз в жизни, что дает возможность контролировать размеры популяции этих вредных насекомых. Так у самки, ...

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

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

Pentaho Data Integration (PDI), Python и глубокое обучение Привет, Хабр! Представляю вашему вниманию перевод статьи «Pentaho Data Integration (PDI), Python and Deep Learning». Глубокое Обучение (DL) — почему вокруг него столько шума? По данным Zion Market Research, рынок глубокого обучения (DL) увеличится с 2,3 млрд долларов в 201...

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

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

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

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

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

[Перевод] Конференция DEFCON 23. Как я потерял свой второй глаз, или дальнейшие исследования в области уничтожении данных. Часть 1 Привет, DEFCON! Я собираюсь нарушить традицию и на этот раз начать выступление на минуту раньше, потому что хочу вам показать столько всего, что боюсь не успеть. Я уверен, что в этой презентации есть намного больше взрывных моментов, чем во всей истории презентаций за 25 лет...

«Прикладной» ASCII-арт Привет, Хабр! Автор недавней статьи рассказал о разновидности ASCII-арта, которая вроде как и не совсем «арт», т.е., искусство. Ибо служит практическим целям: показать небольшой эскиз, график, электрическую или иную схему… Решил и я вспомнить на эту тему что-нибудь. WA1-o-o...

Некоторые заметки по текущему состоянию Cloud Gaming Некоторые заметки по текущему состоянию Cloud Gaming После чтения статьи Dell и DROVA: как играть в требовательные игры даже на слабом ноутбуке, Мне вспомнилась в том числе статья Обзор рынка облачных сервисов игр на тему стриминга игр. В комментариях к той был мельком уп...

[Из песочницы] 10 советов по дизайну интерфейса Привет, Хабр! Представляю вашему вниманию перевод статьи "10 Tips to Designing Perfect Forms". Формы играют роль портала между пользователем и системой и часто являются основой страницы. Авторизация, регистрация, обновление статуса, ввод платежных данных или адреса доставк...

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

Нужен ли вашей команде Data Engineer? Мы часто находим классные англоязычные статьи, которые кажутся полезными нашей команде, и решили, что было бы здорово делиться с читателями Хабры их переводом. Сегодня мы подготовили перевод статьи Тристана Хэнди, основателя компании Fishtown Analytics. Читать дальше →

Обзор смартфона BQ Aurora (BQ-6000L). После месяца использования Не так уж много сейчас Российских компаний, которые работают для телеком-рынка и заслуживают внимания, предлагая нормальные модели устройств. Если ранее нам в руки попадались устройства от российской компании BQ, относящиеся к бюджетными вариантам, например, BQ Advance, то...

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

[Перевод] Зачем человеку Scala? Здравствуйте, коллеги. Не так давно мы допечатали книгу Одерски, Спуна и Веннерса о Scala 2.12. Ведь до Scala 3 еще далеко. Автор сегодняшней статьи — Адам Уорски, сооснователь компании «SoftwareMill» и опытный Scala-разработчик. У него получилось интересное резюме сильн...

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

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

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

Global AI & MR Bootcamp Moscow 2018 Global AI & MR Bootcamp — это глобальное бесплатное мероприятие, организованное головным офисом Microsoft и MVP сообществом (Most Valuable Professionals). Основная идея Global AI & MR Bootcamp — развеять слухи об Artificial Intelligence и Mixed Reality, а также показ...

[Перевод] Понимаем Container Storage Interface (в Kubernetes и не только) Прим. перев.: о так называемых плагинах хранилищ «вне дерева» Kubernetes (Out-of-Tree CSI Volume Plugins) мы впервые рассказывали в своём обзоре релиза K8s 1.9, где эта фича появилась в статусе альфа-версии. Автор нового материала — Anoop Vijayan Maniankara (ведущий DevOps-и...

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

ИИ в медицине: науки о жизни и открытие лекарств Привет, Хабр! Сегодня я покажу тебе свой перевод одного замечательного интервью с Александром Жаворонковым. Надеюсь тебе будет так же интересно читать, как и мне переводить. Читать дальше →

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

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

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

12 полезных настроек Apple Music, о которых вы могли не знать «Яблочному» музыкальному сервису  Music всего три года. Среди прочего это означает и то, что рядовой пользователь по объективным причинам может знать далеко не все возможности сервиса. Давайте восполним этот досадный пробел! ПО ТЕМЕ: Как слушать Apple Music с вечной скидкой...

[Перевод] Крошечные компоненты: что может пойти не так? Используем принцип единственной ответственности Представляем вашему вниманию перевод статьи Scott Domes, которая была опубликована на blog.bitsrc.io. Узнайте под катом, почему компоненты должны быть как можно меньше и как принцип единственной ответственности влияет на качество приложений. Фото Austin Kirk с Unsplash Чит...

[Перевод] Символы, генераторы, async/await и асинхронные итераторы в JavaScript: их сущность, взаимосвязь и варианты использования Сущность и предназначение множества возможностей JavaScript вполне очевидны. А вот некоторые, вроде генераторов, могут, на первый взгляд, показаться странными. Такое же впечатление способны вызвать и, скажем, символы, которые похожи и на значения примитивных типов, и на объе...

[Из песочницы] Контроль над ситуацией делает тебя счастливым Привет, Хабр! Представляю вашему вниманию перевод статьи «Controlling Your Environment Makes You Happy» автора Джоэля Спольски. Об авторе: Джоэль Спольски, совладелец Trello, Fog Creek Software и глава Stack Overflow Большинство разработчиков С++ терпеть не могут програ...

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

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

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

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

MindNode 5 – обновлённый подход к построению схем на iOS и macOS Благодаря современным возможностям iOS (в macOS с этим и так полный порядок), быстрое составление диаграмм связей, карт мыслей или попросту графиков благополучно перешло на ежедневную службу у работников множества профессий, потому что преобразование идей в красивую инфогра...

OLO – будущее диагностики крови уже здесь Каждый день миллионы врачей откладывают назначение медикаментозного лечения из-за отсутствия немедленного и точного результата анализа крови. Компания Sight меняет эту реальность. Устройство OLO, разработанное Sight, позволяет врачам провести диагностику крови во вре...

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

[Из песочницы] Protocol-Oriented Programming На WWDC 2015 Apple объявила, что Swift — первый протокол-ориентированный язык программирования (видео сессии «Protocol-Oriented Programming in Swift»). На этой сессии и ряде других (Swift in Practice, Protocol and Value Oriented Programming in UIKit Apps) Apple демонстриру...

Настройка Firefox/Chrome для очень медленного и лимитированного интернета     Давайте попробуем сделать из, например, Firefox броузер, который будет полезен когда у вас очень дорогой трафик, или очень низкая скорость интернета, а вам срочно нужно перелопатить кучу текстовой информации в минимально читаемом виде, конечно же без Javascript. Для этог...

[Перевод] Тестирование Node.js-проектов. Часть 2. Оценка эффективности тестов, непрерывная интеграция и анализ качества кода → Тестирование Node.js-проектов. Часть 1. Анатомия тестов и типы тестов Сегодня, во второй части перевода материала, посвящённого тестированию Node.js-проектов, мы поговорим об оценке эффективности тестов и об анализе качества кода. Читать дальше →

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

10 заповедей безопасности полётов, которые могли бы пригодиться любой организации Designed by fanjianhua / Freepik В статье «Как авиакатастрофа может улучшить разбор факапов в ИТ» автор поднял интересную тему методов и средств организации безопасности полётов. В частности были перечислены принципы solution without blame, SWOB («решение без обвинений»). ...

Прекрасное знание школьной программы как показатель не самого высокого интеллекта Добрый день! Сегодня достаточно часто по TV и каналам на youtube можно увидеть эксперименты по “определению уровня интеллекта” у населения. Суть их заключается в том, что взрослым людям задают вопрос из школьной программы. Обычно такие “эксперименты” набирают множество просм...

Основы программирования на SAS Base. Урок 4. Создание наборов данных SAS В предыдущей статье мы изучили, как читать внешние необработанные данные. А сегодня познакомимся с оператором SET, который считывает стандартные наборы данных SAS (SAS Data Set), научимся создавать срезы данных, настраивать постоянные атрибуты, а также изучим несколько полез...

Информационная безопасность банковских безналичных платежей. Часть 6 — Анализ банковских преступлений (с) МВД России. Фрагмент записи с камер наблюдения в момент кражи денег из банкомата Ссылки на другие части исследования Информационная безопасность банковских безналичных платежей. Часть 1 — Экономические основы. Информационная безопасность банковских безналичных платежей...

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

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

Google показала новое поколение рюкзаков Street View Trekker Несколько лет назад охват Google Street View начал расширяться от панорам улиц до практически любого места на земле, а все благодаря программе Trekker в рамках которого камеры Street View удалось разместить в рюкзаке. Сегодня Google анонсировала обновленный рюкзак Trekker,...

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

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

[Перевод] Как ИИ учится генерировать изображения кошек Перевод How AI can learn to generate pictures of cats. Опубликованная в 2014-м исследовательская работа Generative Adversarial Nets (GAN) стала прорывом в сфере генеративных моделей. Ведущий исследователь Янн Лекун назвал состязательные сети (adversarial nets) «лучшей иде...

Как настроить установку переменных окружения Nuxt.js в рантайме, или Как сделать всё не как все и не пожалеть (Иллюстрация) Senior web developer’ы Антон и Алексей продолжают рассказ о непростой борьбе с Nuxt. В предыдущем раунде битвы с этим фреймворком они показали, как запустить проект на Nuxt так, чтобы все были счастливы. В новой статье поговорим о реальном применении фреймвор...

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

Блокчейн мёртв. Да здравствует блокчейн Название хайп, автор не прав, дизлайк, нет конструктива. Данная статья — рефлексия по поводу нынешней ситуации на рынке криптовалют. Не будет глубокого анализа ситуации и безмерной философии того, куда мы катимся. Чувствую себя членом анонимного клуба. Здравствуйте, я Иван...

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

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

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

[Из песочницы] Нейронная сеть с использованием TensorFlow: классификация изображений Привет, Хабр! Представляю вашему вниманию перевод статьи «Train your first neural network: basic classification». Это руководство по обучению модели нейронной сети для классификации изображений одежды, таких как кроссовки и рубашки. Для создания нейронной сети используем py...

Почему открытие YouTube в Firefox или Edge может занимать в 5 раз дольше, чем в Google Chrome Неожиданным открытием поделился сегодня с общественностью Крис Петерсон из Mozilla: как выяснилось, в данный момент открытие страницы YouTube в браузерах Firefox и Edge происходит в 5 раз медленнее, чем в Google Chrome. В чём же причина подобного явления? Дело в том, что н...

Совершеннолетняя журналистика: от России до Кремля Анализ публикаций Lenta.ru за 18 лет (с сентября 1999 по декабрь 2017 гг.) средствами python, sklearn, scipy, XGBoost, pymorphy2, nltk, gensim, MongoDB, Keras и TensorFlow. В исследовании использованы данные из поста «Анализируй это — Lenta.ru» пользователя ildarchegg. Авто...

Обновлённый браузер Chrome 69 получил новое оформление интерфейса Команда разработчиков Google представила на суд публики новый, 69-й по счёту релиз браузера Chrome, ключевым изменением которого стал переработанный пользовательский интерфейс. В интерфейсе обновлённого Chrome 69 доработкам подверглись вкладки, адресная строка, стар...

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

[Перевод] Почему человек из мира Java стал горячим сторонником Node.js и JavaScript? Дэвид Хэррон, автор материала, перевод которого мы публикуем сегодня, задался следующим вопросом: «Должен ли человек, работавший более 10 лет в Sun Microsystems, в команде Java SE, до последнего вздоха думать лишь о байт-коде Java и создавать экземпляры абстрактных интерфейс...

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

[Из песочницы] Clean swift архитектура как альтернатива VIPER Введение На данный момент существует множество статей про VIPER — clean архитектуру, различные вариации которой в свое время стали популярны для iOS проектов. Если вы не знакомы с Viper, можете прочитать тут, тут или тут. Я бы хотел поговорить об альтернативе VIPER — Clean...

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

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

8 глубоких идей из книги “Племя менторов” Тима Ферриса Книга не издавалась на русском Каждый из нас находится в уникальных условиях, поэтому большинство советов по достижению успеха бесполезны, даже если они исходят из авторитетного источника. Именно поэтому, я осторожно отношусь к прямым рекомендациям из книг и всегда обраща...

[Из песочницы] Мечтают ли приложения на Flutter о платформа-ориентированных виджетах? Привет, Хабр! Представляю вашему вниманию перевод статьи «Do Flutter apps dream of platform aware widgets?» Разрабатывая приложения на Flutter с нативным дизайном под iOS и Android, я столкнулся с тем, что мне пришлось писать кучу условий для проверки платформы на которой и...

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

Шаровая защита – легко 2.0 Приветствую, читатель!Помнишь прошлую статью про коптер в шаровой защите из шпажек? Эта статья — продолжение первой, и здесь мы займемся модернизацией конструкции!И для начала давайте обратимся к недостаткам прошлой конструкции. Что там было не так? Давайте перечислим: 1) ...

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

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

Перевод «Подготовьте ваши приложения к 64-бит требованиям» Перевод статьи Get your apps ready for the 64-bit requirement блога «Android Developers Blog». Современные 64-бит процессоры увеличивают скорость и обогащают опыт ваших пользователей. Добавление 64-бит версии приложения даёт улучшение производительности, открывает пути для...

[Из песочницы] Рефакторинга много не бывает Привет, Хабр! Представляю вашему вниманию перевод статьи "Refactoring — oops, I’ve been doing it backwards" автора Джастина Фуллера (Justin Fuller). Я очень завишу от рефакторинга, и не боюсь признать это, но есть только одна проблема: я всегда делал это задом на...

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

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

Корм для Битрикс-попугаев. Тестируем производительность, подбираем железо Всем нужны Битрикс-попугаи, и побольше. Я работаю администратором в хостинг-компании и постоянно сталкиваюсь с такими запросами. Давайте покончим с этим раз и навсегда — в этой статье вы найдёте ответ, как железо влияет на производительность CMS Битрикс (реальную и «попуга...

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

Как мы написали еще один алгоритм RFM-анализа Недавно мы рассказали, почему придумали свой RFM-сегментатор, который помогает сделать RFM-анализ за 20 секунд, и показали, как использовать его результаты в маркетинге. Теперь рассказываем, как он устроен. Читать дальше →

[Из песочницы] Паттерн: Сага Привет, Хабр! Представляю вашему вниманию перевод статьи "Pattern: Saga" автора Chris Richardson. Ситуация Есть приложение, к которому применялся паттерн Database per Service. Теперь у каждого сервиса приложения есть своя собственная база данных. Некоторые бизнес транзакции ...

Flutter — новый взгляд на кроссплатформенную разработку В августе 2018 года Flutter стал самой запрашиваемой кроссплатформенной технологией на Stack Overflow. В нашем блоге Артем Зайцев, Android-разработчик Surf, и Евгений Сатуров, Android-тимлид Surf, расскажут, почему и как так получилось: Кроссплатформенные решения давно п...

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

[Перевод] Три вида утечек в памяти Здравствуйте, коллеги. Наши долгие поиски неустаревающих бестселлеров по оптимизации кода пока дают лишь первые результаты, но мы готовы вас порадовать, что буквально только что закончен перевод легендарной книги Бена Уотсона "Writing High Performance .NET Code". В магазина...

[Перевод] Дональд Кнут: «Старшие товарищи играли нами в теннис, мы были мячами. Они били по нам, было больно.» (11,12/97) Продолжаем публиковать перевод серии автобиографических рассказов Дональда Кнута. 11. Управление баскетбольной командой Как мне помнится, в том году впервые попробовали такое, и я точно не помню, как долго продолжали эксперимент, но назвали это Разделом Чести, и это означ...

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

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

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

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

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

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

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

Как гора от фораминиферы зависит Земная кора состоит из континентальной и океанической коры. Последняя относительно тонка — 5−7 километров, материковая примерно в десять раз толще. В силу этого океаническая эластична (не забываем, что мы о геологии) и при столкновении с континентами изгибается, уходя вниз, ...

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

[Из песочницы] Как научиться учиться Привет, Хабр! Представляю вашему вниманию перевод статьи «HOW TO LEARN HOW TO LEARN». Заметки и наблюдения о том, как лучше организовать свой учебный процесс. Мы, IT-шники, обречены на постоянное обучение до конца жизни. Еще 10-15 лет назад знания Java и JSP-серверлетов б...

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

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

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

Rust новости #3 (ноябрь 2018) Предлагаю вашему вниманию субъективную подборку ржавых новостей за ноябрь. В этой подборке: Rust 2018, RustRush, видео с конференций, Amazon Lambda и Firecracker, квизы, переход exonum на actix-web, 10 причин использовать Rust. Результаты Rust опроса 2018 Опубликованы резу...

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

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

Достойная альтернатива «Крузаку»: Особенности «некрасивого» KIA Mohave 2018 назвал эксперт Корейский рамник не может похвастаться яркой внешностью, но, тем не менее, этот кроссовер заслуживает внимания. Блогер с YouTube-канала Clickoncar провёл обзор рамного корейского кроссовера KIA Mohave 2018, который на первый взгляд ничем не примечателен. Тем не менее, экспе...

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

Анализ цены биткоина: быки угодили в капкан Прошедшая неделя прошла с сильным преимуществом медведей. Быки одним махом растеряли половину своего успеха. Наша идея с тем, что пробой $8000 – это ловушка, оказалась верной. Цена за неделю снизилась на $1300. О том, как может повести себя цена биткоина в дальнейшем, а такж...

[Перевод] Рассказ о 33 расширениях для VS Code, об их разработке и об управлении ими Автор материала, перевод которого мы сегодня публикуем, создал 33 расширения для VS Code. Он решил поделиться с теми, кому нравится этот редактор, методикой разработки и поддержки расширений. Кроме того, он кратко рассказал о своих проектах. Возможно, вы найдёте среди них чт...

Neutralinojs — что ты такое? Или UNIX way там, где не ждали Недавно я совершенно случайно наткнулся на простую рекламную заметочку "Neutralinojs — альтернатива Electron, потребляющая меньше памяти", рассказывающую о том, что есть такая крутая вещь как Neutralinojs. Заметочка, как и следует ей быть, совсем короткая и не несёт никакой ...

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

[Перевод] Руководство по Java 9 для тех, кому приходится работать с legacy-кодом Добрый вечер, коллеги. Ровно месяц назад мы получили контракт на перевод книги "Modern Java" от издательства Manning, которая должна стать одной из наших самых заметных новинок в будущем году. Проблема «Modern» и «Legacy» в Java настолько остра, что необходимость такой книги...

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

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

Apple A12 Bionic имеет на 70% большую плотность транзисторов по сравнению с A11 Bionic Ни для кого не секрет, что лежащий в основе смартфонов iPhone XS и iPhone XS Max чипсет Apple A12 Bionic стал первой коммерчески доступной SoC на основе 7-нм техпроцесса. Какие это даёт преимущества по сравнению с 10-нм A11 Bionic? Подробнее об этом читайте на THG.ru.

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

Роскомнадзор пообещал не блокировать YouTube Днем ранее, 4 августа, Центризбирком и Роскомнадзор направили руководству Google письма с разъяснениями о том, что политические мероприятия, информация о которых распространяется через YouTube, являются незаконными и их реклама не должна быть показана в день российских выбо...

Небольшой обзор SIMD в .NET/C# Вашему вниманию предлагается небольшой обзор возможностей векторизации алгоритмов в .NET Framework и .NETCORE. Цель статьи познакомить с этими приёмами тех, кто их вообще не знал и показать, что .NET не сильно отстаёт от "настоящих, компилируемых" языков для нативной разрабо...

Kotlin: копаем глубже. Конструкторы и инициализаторы В уже далёком мае 2017 года Google объявила о том, что Kotlin стал официальным языком для разработки под Android. Кто-то тогда впервые услышал название этого языка, кто-то на нём уже продолжительное время писал, но с того момента стало понятно, что все, кто близок к Androi...

Сравнение камер: iPhone XS Max против Google Pixel 3 XL На недавней презентации Google, где общественности была показана обновленная линейка смартфонов Pixel, представители компании заявили, что особая ставка была сделана на камерах устройств. По утверждениям топ-менеджмента, одиночный объектив Pixel 3 и Pixel 3 XL способен сост...

[Перевод] Apache Kafka и RabbitMQ: семантика и гарантия доставки сообщений Подготовили перевод следующей части многосерийной статьи, где сравнивается функциональность Apache Kafka и RabbitMQ. В этой публикации речь идёт о семантике и гарантии доставки сообщений. Обращаем ваше внимание, что автор учитывал Кафку до версии 0.10 включительно, а в вер...

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

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

OnePlus 6 или Pixel 2 XL, кого лучше купить? Смартфон Pixel 2 XL существует на рынке уже не первый месяц, аппарат же OnePlus 6 — новичок, но всё же давайте попробуем сравнить 2 этих флагмана. Вдруг кто-то мучается вопросом, кого из них выгоднее приобретать сегодня. Такие мысли были в головах у парней с AndroidCentral...

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

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

Xiaomi наглядно показала чем новый Mi A2 лучше Mi A1 Xiaomi только сегодня официально анонсировала свой новый смартфон Mi A2 из серии Android One для мировой общественности с кучей улучшений по сравнению с предшественником. Для более наглядного сравнения производитель представил изображение со сравнением характеристик. Если в...

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

[Перевод] Выбор места для сервера и софта, тестирование рыночной неэффективности: как на самом деле создают роботов для торговли н Автор блога Financial Hacker рассказал о том, как на самом деле устроен процесс разработки высокочастотных стратегий для торговли на бирже — от важности анализа возможных задержек, до вопросов получения данных и тестирования (все с примерами кода). Для примера используется...

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

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

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

Bad Dream: Fever – игра с игрой в игре Инди-игры отпугивают сегодня многих серьёзных пользователей своей нарочитой бюджетностью, которая в свою очередь служит основной причиной множества других объективных недостатков такого рода проектов: прежде всего, небольшой продолжительности и предельно скромной, а временам...

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

Интернет вещей: а не застряли ли мы на месте? Сегодня в IoT верят как мало во что ещё. Сильнее контроль над средой, больше real-time данных о ней, больше решений, которые устройства принимают самостоятельно, на основании «общения» друг с другом. Число устройств и датчиков в составе интернета вещей, по прогнозу Juniper R...

[Перевод] CSS: интересные возможности border-radius Что можно сделать с помощью CSS-свойства border-radius? Автор материала, перевод которого мы публикуем, говорит, что больше, чем кажется на первый взгляд. В частности, речь идёт о том, что углы элементов, скруглённые с помощью этого свойства, могут иметь весьма интересную фо...

[Из песочницы] Советы студентам-программистам Привет, Хабр! Представляю вашему вниманию перевод статьи "Advice for programming students". Есть много вещей, которые я хотел бы знать, когда я начал свое путешествие в качестве студента-программиста. С тех пор прошло почти 10 лет, и, к сожалению, я не могу поделиться своим...

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

Утечка показывает, что игровой смартфон Razer Phone 2 получит SoC Snapdragon 845 Как известно, игровой смартфон Razer Phone, который недавно изрядно подешевел, вскоре получит преемника. О его параметрах ничего известно не было, но сегодня новинка появилась в базе Geekbench. Как можно видеть, тестовый экземпляр работал под управлением Android 8.1, о...

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

[Перевод] Разбираемся с перехватчиками в React Привет, Хабр! Мы с чувством невероятной гордости и облегчения сегодня вечером сдали в типографию новую книгу о React По этому поводу предлагаем вам немного сокращенный перевод статьи Дэна Абрамова (Dan Abramov), рассказывающего об использовании перехватчиков в 16-й верс...

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

[Перевод] Стандартный Error Handler в RxJava2 или почему RxJava вызывает сбой приложения даже если реализован onError В переводе статьи пойдёт речь об UndeliverableException в RxJava2 версии 2.0.6 и новее. Если кто-то столкнулся и не может разобраться, или совсем не слышал об этой проблеме — прошу под кат. Побудили к переводу проблемы в production после перехода с RxJava1 на RxJava2. Оригин...

Особенности оконной фильтрации на ПЛИС Всем привет! В этой статье речь пойдет об одной важной части цифровой обработки сигналов — оконной фильтрации сигналов, в частности на ПЛИС. В статье будут показаны способы проектирования классических окон стандартной длины и «длинных» окон от 64K до 16M+ отсчетов. Основной...

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

Face ID на всех не хватит Рынок смартфонов рискует не увидеть достойных альтернатив Face ID едва ли не до середины следующего года, передает Loup Ventures со ссылкой на источники в отрасли. Это связано с тем, что Apple скупила почти все запасы лазеров VCSEL, составляющих аппаратную основу интерфейс...

«Современные» обедающие философы на C++ посредством акторов и CSP Некоторое время назад ссылка на статью "Modern dining philosophers" распространилась по ресурсам вроде Reddit и HackerNews. Статья интересная, она показывает несколько решений этой известной задачи, реализованных на современном C++ с использованием task-based подхода. Если к...

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

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

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

Идентификация мошенничества с использованием Enron dataset. Часть 2-ая, поиск оптимальной модели Представляю вашему вниманию вторую часть статьи о поиске подозреваемых в мошениничестве на основе данных из Enron Dataset. Если вы не читали первую часть, ознакомиться с ней можно здесь. Сейчас речь пойдет про процесс построения, оптимизации и выбора модели, которая даст от...

[Из песочницы] Изучаем трассировку с помощью eBPF: Руководство и примеры Привет, Хабр! Предлагаю вашему вниманию перевод статьи Брендана Грегга, посвящённой изучению eBPF На конференции Linux Plumbers было как минимум 24 выступления по eBPF. Он быстро стал не просто бесценной технологией, но и востребованным навыком. Возможно, вам хотелось бы пос...

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

[Из песочницы] Так ли плох XMPP, как его малюют? Каким Jabber стал сегодня Часто при обсуждении мессенджеров, при упоминании XMPP можно услышать слова: Привет из двухтысячных! Неужели кто-то еще пользуется устаревшим протоколом? В XMPP до сих пор нет доставки файлов, сообщений, синхронизации, красивых клиентов? Причина мифов о XMPP в том, что мно...

[Из песочницы] Неизбежным старение делает физика, а не биология Привет, Хабр! Представляю вашему вниманию перевод статьи Physics Makes Aging Inevitable, Not Biology. Автор Peter Hoffmann. Наномасштабная теплофизика гарантирует наше угасание, независимо от того, сколько болезней мы излечим Внутренности каждой клетки нашего тела подобны п...

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

Легенда о Фреймворке Всевластия В последнее время набирает популярность тренд «исчезающих фреймворков», локомотивом которого, без сомнения, можно считать SvelteJS — buildtime-фреймворк и компилятор в ванильный javascript. Несмотря на то, что концептуально Svelte весьма прост, а в использовании еще проще,...

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

Реализация Spring Framework API с нуля. Пошаговое руководство для начинающих. Часть 1 Spring Framework является одним из самых сложных фремворков для понимания и изучения. Большинство разработчиков изучают его медленно, через практические задачи и гугл. Этот подход не эффективен, так как не даёт полной картины и при этом требует больших затрат. Я хотел бы ...

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

РИТ++: как появился крупнейший российский фестиваль технологий Сегодня РИТ++ — масштабное российское IT-мероприятие. Но таким он был не всегда. Мы начинали с небольшой тусовки на несколько сотен человек, а к концепции фестиваля пришли только через восемь лет. В этой статье я расскажу о том, каким был РИТ++ раньше и во что превратился ...

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

[Перевод] Надежная стратегия миграции в облако в 2019 году: 7 советов Перед вами перевод статьи Manjunath M, которая была опубликована на Bits and Pieces. Мы предлагаем прочитать ее тем, кто уже преодолел этап подготовки к миграции и приступает к следующему шагу. Обычно компании рассматривают разные способы переноса приложений в облачное хран...

Обзор Digma Plane 7561N 3G. Недорогой 3G-планшет с IPS Недорогие планшеты с телефонным модулем могут быть интересны для широкой аудитории под разный круг задач. Как показала практика длительных тестов, даже недорогие модели дают возможность полноценно использовать распространённые приложения. Продолжая изучение актуальных моделе...

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

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

Собираем когортный анализ/анализ потоков на примере Excel В прошлой статье я описал использование когортного анализа для выяснения причин динамики клиентской базы. Сегодня пришло время поговорить про трюки подготовки данных для когортного анализа. Легко рисовать картинки, но для того, чтобы они считались и отображались правильно ...

Когда теорема стала аксиомой: обзор ONYX BOOX Euclid Как древнегреческого геометра Евклида спросили: — Что бы ты предпочёл — два целых яблока или четыре половинки? — Конечно, четыре половинки. — А почему? Это ведь одно и то же. — Отнюдь. Выбирая два целых яблока, как я узнаю, червивые они или нет? Привет Хабр! Ну что ж,...

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

[Перевод] Искусственный интеллект для каждого В начале января 2019 г. Forbes составил ТОП-10 главных технологических книг 2018 года, среди которых оказалась и «Машины прогнозирования: Простая экономика искусственного интеллекта» (Prediction Machines: The Simple Economics of Artificial Intelligence). Книга, написанная ко...

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

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

[Перевод] Беспокойство о захвате мира искусственным интеллектом, возможно, основано на ненаучных предположениях Надо ли нам бояться искусственного интеллекта (ИИ)? Для меня это простой вопрос, с ещё более простым ответом: нет. Но со мной согласны не все – многие люди, включая и Стивена Хокинга, выразили беспокойство тем, что появление мощных ИИ-систем может означать конец для челове...

[Из песочницы] Хороший код до Google-a не доведет Долгое время работая в разных сферах ИТ, мы с исследовательской командой наблюдали все возможные проблемы становления разработчиков и все причины-следствия их дефицита. Нас интересовало: почему программист развивается в senior-специалиста так долго или вовсе им не становится...

Ускорение конкатенации строк в Go своими руками Сегодня мы будем разгонять склеивание коротких строк в Go на 30%. Причём для этого нам не нужно будет модифицировать сам Go, всё это будет реализованно в виде сторонней библиотеки. Под катом вас ждут: Сравнение +, strings.Builder и собственной функции конкатенации Детали в...

[Перевод] Пробелы победили. Перевод документации Kotlin Coding Conventions от JetBrains Привет, Хабр! Предлагаю вашему вниманию авторский перевод страницы документации Kotlin Coding Conventions от JetBrains. → Оригинал документации Читать дальше →

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

8-битная аналоговая память для работы с нейросетями В конце года на Хабре появилась статья о том, что компании IBM удалось создать первый 8-битный чип, основанный на памяти с изменением фазового состояния (phase-change memory). Сегодня мы расскажем, как работает устройство, представленное ИТ-гигантом. Читать дальше →

[Перевод] Управление движением: Steering Behaviors Steering behaviors помогают автономным персонажам реалистично двигаться благодаря применению простых сил, сочетание которых создаёт естественно выглядящее и импровизированное движение по окружению. В этом туториале я расскажу об основах теории steering behaviors, а также об...

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

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

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

[Из песочницы] Электромобили: наступает революция Привет, Хабр! Представляю вашему вниманию перевод статьи "Electric cars: the coming revolution". В то время, как проблемы с мощностью, запасом хода и дороговизной тают на глазах, электромобили начинают привлекать всеобщее внимание. Ниже представлены модели элект...

История о том, как мы иконку PVS-Studio меняли Релиз 7.0 ознаменовал новую веху в истории анализатора PVS-Studio – теперь доступен анализ не только кода, написанного на C, C++, C#, но также и Java. Кроме этого глобального нововведения продолжают улучшаться и дорабатываться существующие механизмы анализа, добавляются ди...

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

[Перевод] Запускаем kubernetes внутри LXC В этой статье я расскажу как можно запустить kubernetes master внутри LXC-контейнера. Этод метод работает вполне неплохо с Proxmox и может быть рассмотрен как альтернатива классическому развертыванию kubernetes с несколькими мастерами. Читать дальше →

Манифест разработчика умных систем: 15 принципов Мы предлагаем вашему вниманию статью Владислава Зайцева(vvzvlad), приглашенного гостя нашего блога. Владислав давно занимается темой «умных домов», и обобщив свой опыт, он предлагает следующие основные принципы дизайна такого рода систем. Сегодня я хочу поговорить с вами об...

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

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

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

Как дебажить фронтенд и бекенд: пошаговая инструкция Привет, Хабр! Представляю вам перевод статьи "How to debug javascript in Chrome quick and easy ". В этом посте мы научимся дебажить JavaScript на фронт- и бекенде с помощью Chrome DevTools и VS Code. Читать дальше →

Конечные React Компоненты Чем мне нравится экосистема React, так это тем, что за многими решениями сидит ИДЕЯ. Различные авторы пишут различные статьи в поддержку существующего порядка и обьясняют почему все "правильно", так что всем понятно — партия держит правильный курс. Через некоторые время ИДЕЯ...

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

WebSockets в Angular. Часть 2. Продуктовые решения В предыдущей статье речь шла об общем решении для вебсокетов в Angular, где мы на основе WebSocketSubject построили шину с реконнектом и сервисом для использования в компонентах. Подобная реализация подходит для большинства простых случаев, например, приема и отправки сооб...

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

Re: «Сравнение JS-фреймворков: React, Vue и Hyperapp» Это небольшая ответная статья на публикацию «Сравнение JS-фреймворков: React, Vue и Hyperapp». Вообще я не большой фанат подобных сравнений. Однако раз уж речь зашла о таком маргинальном фреймворке, как Hyperapp, в сравнении с мастодонтами, типа React и Vue, я подумал, почем...

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

[Перевод] Clang. Часть 1: введение Что такое Clang? Я провёл последние несколько месяцев, работая с Clang, фронтендом LLVM. Clang умеет парсить и анализировать любой исходный код на языках семейства С (C, C++, ObjectiveC, и т.п....) и имеет удивительную модульную структуру, которая делает его простым в исполь...

Строим храмы — в коде и в жизни. Мой опыт разработки своего второго Android-приложения Приветствую читателей хабра. Вашему вниманию предлагается перевод статьи «Building Cathedrals — In Coding, And In Life. My experience with publishing my second app at 19» Kunal Shandilya. Начало роста приносит человеку новые трудности. Принимая эти трудности, человек обес...

[Перевод] Java Challengers #2: Сравнение строк Java Challengers #2: Сравнение строк У нас как всегда много опаздывающих к началу курса, так что только вчера провели второе занятие среди нового потока "Разработчик Java". Но это так, мелочи жизни, а пока что мы продолжаем публикацию серии статей Java Challengers, перевод к...

5 причин успеха: почему Amazon стала самой дорогой компанией в мире Изображение: Unsplash Компания, которая работает уже на протяжение 24 лет, в начале 2019 года обошла Microsoft и стала самой дорогой публичной компанией мира. Капитализация Amazon превысила $796 млрд, в то время как стоимость Microsoft находится на уровне $783 млрд. Изда...

Использование DiagnosticSource в .NET Core: теория DiagnosticSource — это простой, но весьма полезный набор API (доступен в NuGet пакете System.Diagnostics.DiagnosticSource), который, с одной стороны, позволяет различным библиотекам отправлять именованные события о своей работе, а с другой — позволяет приложениям подписывать...

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

Перевод книги «Managing Humans» Всем привет! Мы начали переводить книгу «Managing Humans: Biting and Humorous Tales of a Software Engineering Manager». Сегодня переводчик прислал нередактированный текст, фрагмент из первой главы, и задал вопрос (как и автор книги): Можно ли использовать слово «мудак» в те...

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

Google PageSpeed Insights кардинально обновился, что изменится? 12 ноября Google по тихому обновил PageSpeed Insights, изменив в нем практически все. Это станет большой переменой для всей индустрии сайтостроения. Похоже, сейчас настанет некоторая волна паники и хайпа вокруг этого события. В статье — анализ перемен и что они нам принесу...

«Люди не станут пользоваться голосовым ассистентом, если проще решить задачу другим способом» Перевод статьи Nielsen Norman Group о том, соответствуют ли современные «умные» помощники нуждам пользователей.

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

[Из песочницы] Регресс или регрессив в тестировании О себе писать не буду (кто я и чем занимаюсь). Моя статья возможно ответит на эти вопросы. Не могу терпеть эту боль и слышать как неправильно произносят некоторые определения в тестировании. Да, я — тестировщик. Хотя мои близкие меня постоянно спрашивают — «Ты точно тести...

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

Что не так с обучением с подкреплением (Reinforcement Learning)? Еще в начале 2018 года вышла статья Deep Reinforcement Learning Doesn't Work Yet ("Обучение с подкреплением пока не работает"). Основная претензия которой сводилась к тому, что современные алгоритмы обучения с подкреплением требуют для решения задачи примерно столько же вре...

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

[Перевод] Как настроить архивирование резервных копий Veeam в Microsoft Azure Blob Storage с помощью StarWind VTL Предлагаю вашему вниманию перевод статьи моего коллеги Andrew Zhelezko о применении интегрированного решения для хранения резервных копий на базе продуктов Veeam, StarWind и Azure. Многие компании по сей день используют для своих сервисов ленточные библиотеки, однако всё бо...

[Из песочницы] Создаем простой maven проект с использованием Java EE + WildFly10 + JPA (Hibernate) + Postgresql + EJB + IntelliJ IDEA В данной статья я расскажу, как сконфигурировать проект на JBoss с использование JPA. В подробности JPA, Hibernate, EJB лезть не буду, это отдельная тема. Просто покажу структуру проекта, как настроить datasource на WildFly и все это запустить в IntelliJ IDEA. Данный каркас,...

Как участвовать в соревнованиях по машинному обучению. Лекция в Яндексе Многие из постоянных посетителей ML-тренировок придерживаются обоснованного мнения, что участие в конкурсах — самый быстрый способ попасть в профессию. У нас даже была статья на эту тему. Автор сегодняшней лекции Артур Кузин на собственном примере показал, как можно за пару ...

Автоматизируем тестирование redux селекторов в приложении В этой статье я хотел бы поделиться своими идеями того, как можно автоматизировать написание unit-тестов в react/redux приложениях. Идеи эти родились в одной из дискуссий с коллегами, в процессе написания тестов, и, как мне кажется, предложенное решение имеет право на жизнь....

[Из песочницы] Гипотеза Била или как заработать миллион долларов и познать энтропию Математика — прекрасная и очень красивая наука с множеством областей, теорий и ответвлений. Однако есть в ней особая, «чистая» область, этакая математика в квадрате, под названием высшая арифметика. А уже там прячется основа основ всей математики, её священный Грааль — элеме...

[Перевод] JavaScript ES6: слабые стороны В июне 2018 года стандарт ECMAScript 2015 (ES6) отметил свой трёхлетний юбилей. В ES6, во-первых, появилось множество новых возможностей JavaScript, во-вторых, с этого стандарта начинается новая эра развития языка. Кроме того, это был последний масштабный релиз JS, так как т...

Индекс развития медиасферы-2018: стагнация телевидения, рост доверия к неформальным медиа Фонд медиаисследований и развития стандартов журналистики опубликовал отчёт «Индекс развития медиасферы – 2018. Динамика институционального развития средств массовой информации в субъектах РФ верхнего уровня в 2015–2018 гг». Эксперты отмечают, что в течение 2017–2018 гг пр...

[Перевод] Как поколение Y превратилось в поколение выгоревших? Почему мы выгораем и даже не подозреваем об этом? Краткий перевод статьи Анн Хелен Петерсен, репортера BuzzFeed News. Читать дальше →

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

[Из песочницы] Кто на новенького? Мой первый опыт в разработке игры – от идеи до публикации Всем привет! Меня зовут Алексей, я из Санкт-Петербурга. В этой статье расскажу про свой первый опыт разработки мобильной игры под Android на Unity3d. Если Вам близка идея создания собственной игры или приложения, но Вы находитесь в раздумьях или не уверены в своих силах —...

Анализ срывов сверхпроводимости магнитов Большого адронного коллайдера в CERN В Большом адронном коллайдере (БАК), подземном ускорителе частиц длиной 27 километров, пересекающем границу между Швейцарией и Францией, два пучка частиц сталкиваются друг с другом, двигаясь со скоростью, близкой к скорости света. Результаты высокоэнергетических столкновений...

[Перевод] Практика применения прокси-объектов в JavaScript Возможно, вы слышали о том, что в JavaScript ES6 появились новые объекты — так называемые прокси. Тем, кто знает о том, что такое прокси-объекты, и умеет с ними работать, они могут принести немалую пользу. Сегодня мы публикуем перевод материала, который направлен на то, чтоб...

[Перевод] GLSL: Центр или центроид? Или когда шейдеры атакуют Дорабатывая шейдер для готовящейся к выходу игры, я столкнулся с неприятным артефактом, который проявляется только при включении аппаратного MSAA. На скриншоте ландшафта видно несколько чересчур ярких пикселей. Значения цвета в нескольких из них было настолько велико, что по...

Summ3r 0f h4ck: результаты летней стажировки в Digital Security Уже третий год подряд мы успешно продолжаем традицию летних стажировок. Как и в прошлые годы, мы взяли стажеров на два технических направления: в отдел исследований и в отдел анализа защищенности. С результатами предыдущих стажировок можно ознакомиться вот здесь: отдел ис...

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

[Перевод] Как без особенных усилий создать ИИ-расиста Предостерегающий урок. Сделаем классификатор тональности! Анализ тональности (сентимент-анализ) — очень распространённая задача в обработке естественного языка (NLP), и это неудивительно. Для бизнеса важно понимать, какие мнения высказывают люди: положительные или отрицате...

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

[Перевод] Learn OpenGL. Урок 6.1. PBR или Физически-корректный рендеринг Физически-корректный рендеринг PBR, или физически-корректный рендеринг (physically-based rendering) это набор техник визуализации, в основе которых лежит теория, довольно хорошо согласующаяся с реальной теорией распространения света. Поскольку целью PBR является физически д...

[Перевод] IDisposable — что ваша мама не говорила об освобождении ресурсов. Часть 1 Это перевод первой части статьи. Статья была написана в 2008 году. Спустя 10 лет почти не потеряла актуальности. Детерминированное освобождение ресурсов — необходимость В течение более чем 20-летнего опыта кодирования я иногда разрабатывал собственные языки для решения задач...

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

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

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

[Перевод] Python становится самым популярным языком программирования в мире Еще летом на The economist вышла статья о том, что Python все активнее завоевывает рынок. Но завирусилась она только сейчас. Вероятно, так произошло из-за того, что она очень неоднозначная. Ведь несмотря на такой заголовок, автор заявляет, что Python, теоретически, может пов...

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

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

Самый простой способ создания игры (но это не точно) Привет, Хабр! Сегодня у нас заключительная статья из серии по разработке игры с программированием без написания кода. Кстати, все это на базе платформы Clickteam Fusion 2.5. Рассмотрим реальный проект по созданию платформера и расскажем о публикации в Microsoft Store. Загляд...

3blue1brown и MIT на русском Привет, Хабр! Ровно год назад мы — небольшое сообщество — собрались, чтобы переводить на русский самые крутые образовательные курсы, что есть в открытом доступе (например, физика Уолтера Левина). Без денег — просто интерес. И сегодня мы к вам — с надеждой, что вам понравитс...

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

Динамическое программирование или «Разделяй и Властвуй» В этой статье рассматриваются сходства и различия двух подходов к решению алгоритмических задач: динамического программирования (dynamic programing) и принципа «разделяй и властвуй» (divide and conquer). Сравнение будем производить на примере, соответственно, двух алгоритмов...

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

[Перевод] Xcode и продвинутая отладка в LLDB: Часть 2 Добрый день, сегодня вашему вниманию предлагаю вторую часть статьи про отладку приложения в LLDB. В первой части мы разобрались, как использовать брейкпоинты (breakpoints) в Xcode для изменения существующих свойств переменных и добавления строчки кода через команды-инструкц...

[Из песочницы] Создание логической игры для игровой платформы Здравствуйте. Хочу поделиться своей историей знакомства с игровой платформой Gameduino 3, а также немного расскажу о программировании простейшей логической игры под данную платформу, используемой совместно с Arduino Uno. Что же такое Gameduino 3? Gameduino 3 — это плата ра...

Управление микросервисами с помощью Kubernetes и Istio Небольшой рассказ о преимуществах и недостатках микросервисов, концепции Service Mesh и инструментах Google, позволяющих запускать микросервисные приложения не засоряя голову бесконечными настройками политик, доступов и сертификатов и быстро находить ошибки, прячущиеся не в ...

Новое спортивное ориентирование: как самостоятельно определить свое местоположение Кадр из фильма “Вверх” (2009) Геоданные нужны огромному числу приложений — от навигаторов до программ, напоминающих о событии рядом с конкретным местом. Поэтому многие компании разрабатывают сервисы, использующие данные о местоположении — Location Based Services (LBS). Д...

Продвижение стартапа за рубежом: как охватить сотни тысяч англоязычных читателей с помощью Medium Я профессионально занимаюсь темой продвижения российских стартапов за рубежом, и в последнее время одной из главных альтернатив использования традиционных СМИ там стала блог-платформа Medium. За последние полтора мне удалось охватить своими статьями на этом ресурсе более 1...

Zabbix Review: как организовать code review для конфигурации мониторинга Code review — инженерная практика в терминах гибкой методологии разработки. Это анализ (инспекция) кода с целью выявления ошибок, недочетов, расхождения в стиле написания кода и понимания, решает ли код поставленную задачу. Сегодня расскажу о том, как мы организовали процес...

[Перевод] Перемены в интерфейсах, многослойная анимация и структурированный визуальный хаос: обзор веб-тенденций на 2019 год Интернет — многостороннее явление. Динамика его развития расширяет привычные границы по всем направлениям. Зарекомендовавшие себя подходы и элементы постепенно уступают место новым, более эффективным формам коммуникации людей с брендами и технологиями. 1 / Технологии 1.1....

Книга “Электричество шаг за шагом” от Рудольфа Свореня Сегодня день информатики, и кто-то возможно помнит первые уроки по информатике в школе, и свой первый учебник “Основы информатики и вычислительной техники” (1990 год): Открыть В числе авторов этого учебника был — Р.А. Сворень. Про легендарного человека — Рудольфа Анатоль...

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

Kotlin + React vs Javasript + React Мысль перевести фронт на какой-либо js фреймворк появилась одновременно с возможностью писать React на Kotlin. И я решил попробовать. Основная проблема: мало материалов и примеров (постараюсь эту ситуацию поправить). Зато у меня полноценная типизация, безбоязненный рефактори...

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

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

Операторы связи проведут «полевые испытания» закона об устойчивости Рунета Сегодня стало известно о том, что члены рабочей группы «Информационная безопасность» (именно эта группа занимается реализацией одноименного федерального проекта программы «Цифровая экономика») порекомендовали провести испытания на сетях связи согласно положениям закона об ...

Фильтр Калмана для минимизации энтропийного значения случайной погрешности с не Гауссовым распределением Введение На Habr математическое описание работы фильтра Калмана и особенности его применения рассматривались в следующих публикациях [1÷10]. В публикации [2] в простой и доходчивой форме рассмотрен алгоритм работы фильтра Калмана (ФК) в модели «пространства состояний», Сл...

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

Почему переход браузера Microsoft Edge на движок Chromium — это плохо? Internet Explorer в свое время имел немалую популярность. Прошло 23 года с момента выхода первой версии браузера. Microsoft Edge с выходом Windows 10 стал заменой когда-то популярного среди Windows-пользователей браузера. Edge работает на собственном движке EdgeHTML. Данный...

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

[Перевод] Размышления о TDD. Почему эта методология не получила широкого признания Привет, Хабр! Мы давно и практически безуспешно ищем светлую голову, желающую потеснить на рынке господина Кента Бека — то есть, ищем того, кто готов написать для нас книгу по TDD. C реальными примерами, рассказом о собственных шишках и достижениях. Книг на эту тему совсем ...

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

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

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

Honor 7X — отличная альтернатива Xiaomi Если не Xiaomi, то Honor. Примерно такой логикой следует руководствоваться при выборе недорого и достойного смартфона. И сегодня я хочу напомнить вам про незаслуженно обделённый вниманием Honor 7X.Читать далееЗапись Honor 7X — отличная альтернатива Xiaomi впервые появи...

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

Почему новый дизайн Gmail такой медленный? Как известно, в 2018 году компания Google провела крупнейший редизайн интерфейса своего почтового сервиса Gmail. Как обычно, довольны им оказались далеко не все — и на этот раз есть вполне объективные причины для недовольства сервисом. Почему загрузка Gmail стала занимать т...

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

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

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

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

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

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

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

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

Mini AI Cup #3: Пишем топового бота В начале осени завершился конкурс по написанию ботов Mini AI Cup #3 (aka Mad Cars), в котором участникам необходимо было сражаться на машинках. Участники много спорили о том, что будет работать и что не будет, высказывались и проверялись идеи от простых if’ов до обучения не...

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

Сравнение: iOS 12.1 против iOS 12.1.1. Кто быстрее? Вчера вечером для загрузки стала доступна iOS 12.1.1. Обновление вышло минорным и включает в себя минимум нововведений. Очевидно, что многих пользователей интересует, повлиял ли апдейт как-либо на производительность и скорость работы старых устройств. Чтобы получить ответ н...

Xiaomi Mi Mix 3 показали на рендере До презентации Xiaomi Mi Mix 3 осталось минимум два месяца и в сети постепенно начинает появляться информация о нем. Вчера были фотографии, на которых якобы позирует безрамочник, а сегодня появился рендер. Источник опубликовавший изображение, тоже указывает на то, что это Mi...

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

[Перевод] Делаем проект по машинному обучению на Python. Часть 2 Перевод A Complete Machine Learning Walk-Through in Python: Part Two Собрать воедино все части проекта по машинному обучению бывает весьма непросто. В этой серии статей мы пройдём через все этапы реализации процесса машинного обучения с использованием реальных данных, и у...