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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[Перевод] Применение принципов 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, так как сам занимается изучением этой библиотеки и не отка...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[Из песочницы] Пагинация во 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". Введение Одной из причин по которой я стал исследователем языков программирования является то, что, в большом сообществе людей связанных ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[Из песочницы] В чём разница Smoke, Sanity, Regression, Re-test и как их различать? Оригинал. Перевод разбавлен размышлениями и дополнениями автора из своего опыта О чём это всё Будучи инженером по тестированию, вы, вероятно, слышали о таких видах тестирования как «дымовое» (smoke), «санитарное тестирование» (sanity), «ре-тест» и регрессионное тестирован...

[Перевод] Чек-лист по анализу логов событий безопасности Сегодня тема мониторинга 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" и приступаем к ее переводу буквально на будущей неделе. Чтобы показать...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[Перевод] Как статы и мониторинг WebRTC изменили мониторинг VoIP Сегодня мы публикуем перевод об очередном тренде WebRTC, спасибо за это консультанту Цахи. Какие изменения несет в мир VoIP технология WebRTC и что как меняется подход к статистике: об этом под катом. Кстати, возможно вы помните, что Цахи Левент-Леви приезжал на нашу конфе...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Есть ли альтернатива BGP Flowspec? Идея написать статью о необходимости ревизии принимаемых от аплинков BGP full-view (FV) анонсов возникла еще в конце прошлого года, после обнаруженного большого количества hidden (rejeceted by import policy) маршрутов принятых после включения очередного аплинка в Казахстане....

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

NumPy в Python. Часть 2 Предисловие переводчика Продолжаем перевод статьи о numpy в python. Для тех кто не читал первую часть, сюда: Часть 1. А всем остальным — приятного чтения. Другие пути создания массивов Функция arange аналогична функции range, но возвращает массив: >>> np.arange(5,...

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

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

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

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

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

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

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

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

[Из песочницы] Генерация изображений из текста с помощью 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. В данной публ...

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

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

[Перевод] AI, практический курс. Предисловие Блог Intel начинает публикацию русского перевода большой серии статей со специализированного ресурса Intel AI Academy. Цель этой публикации — представить разнообразные подходы к искусственному интеллекту и различные способы его применения. Первый пост серии будет в некотор...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[Перевод] 9 полезных приёмов для тех, кто программирует на JavaScript Автор материала, перевод которого мы сегодня публикуем, рассказывает о девяти полезных приёмах работы, которые могут пригодиться JavaScript-программисту. Он говорит о том, что эти приёмы позволяют экономить время, и о том, что ими пользуются профессионалы. Читать дальше →

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

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

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

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

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

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

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

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

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

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

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

Взгляд в прошлое: как росла оперативная память смартфонов за последние 12 лет Современные флагманы предлагают пользователям двойные камеры, безрамочные дисплеи и спорную выемку в верхней части дисплея. Ещё есть восьмиядерные процессоры и масса гигабайтов оперативной памяти. В среднем цифра варьируется от 4 до 6 ГБ, но бывает и 8. Сегодня посмотрим, к...

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

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

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

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

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

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

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

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

Совершеннолетняя журналистика: от России до Кремля Анализ публикаций 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 доработкам подверглись вкладки, адресная строка, стар...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Google Assistant снова обошёл конкурентов по объёму ответов и их точности Компания Stone Temple Consulting поделилась результатами нового исследования, посвящённого сравнению эффективности голосовых помощников Google Assistant, Siri, Cortana и Alexa. Оценка производилась по таким критериям, как объём ответов и их точность. Полученные результаты ос...

Состоялся официальный анонс Levelhead – новой игры от Butterscotch Shenanigans, авторов CrashLands Butterscotch Shenanigans – авторы успешных и популярных Quadropus Rampage и Crashlands, сейчас работают над проектом LevelHead. Впервые о нем стало известно еще на GDC, но сегодня разработчики провели официальный анонс, так что о ней есть повод рассказать еще раз. Игра напом...

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

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

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

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

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

New Adventures in Responsive Web Design Предлагаем вашему вниманию подборку всевозможных лайфхаков и трюков по оптимизации объема загружаемого кода и файлов, а также общего ускорения загрузки веб-страниц. В основе статьи расшифровка выступления Виталия Фридмана из Smashing Magazine на декабрьской конференции Hol...

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

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

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

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

Check Point API + Splunk. Автоматизация защиты от сетевых атак Здравствуйте коллеги, сегодня мы расскажем и продемонстрируем подходы и механизмы автоматизации системы защиты от сетевых атак на основе Check Point и Splunk. Постоянный рост количества сетевых атак и их сложность, повышают требования к системам безопасности. Организации ...

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

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

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

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

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

[Перевод] Баланс торговли идеями (фундаментальная статья Николоса Негропонтэ по цифровой экономике за 1995 год, часть 4) Статья, с которой «началась» цифровая экономика. Часть 1, Часть 2, Часть 3. Сообщение: 22 Дата: 4.1.95 От: <nicholas@media.mit.edu> Кому: <lr@wired.com> Тема: The Balance of Trade of Ideas 19 декабря 1990 года на первой полосе в «Нью-Йорк Таймс» появилась ста...

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

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

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

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

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

Возможности dapp, которые делают жизнь проще В статье представлен (и продемонстрирован в коротких видеороликах) инструментарий, облегчающий разработку и отладку конфигураций с dapp — Open Source-утилитой, которую мы ежедневно используем при построении и сопровождении процессов CI/CD. Читать дальше →

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

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

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

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

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

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

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

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

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

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, о...

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

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

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

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

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

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

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

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

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

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

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

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

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

[Перевод] Внутренности протокола, которым браузеры передают голос и видео WebRTC, технология голосовых и видеозвонков в браузерах (а еще realtime передачи произвольных данных, peer-to-peer пробивания NAT и захвата экрана) никогда не была простой. Долгая история, несовместимости между браузерами, запутанная документация, множество решаемых задач и...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Люди покупают не продукты, они покупают улучшенную версию самих себя Вы читаете перевод статьи “People Don’t Buy Products, They Buy Better Versions of Themselves”. Над переводом работали: Ольга Жолудова (iSpring Solutions) и Ринат Шайхутдинов.

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

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

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

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

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

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

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

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

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

В России запустят переводы денег по QR-коду через мессенджеры В 2019 году в России заработает возможность перевода денег по по QR-коду через социальные сети и мессенджеры. Об этом сообщило издание «Известия» со ссылкой на источник, близкий к Центробанку. По словам источника, для этого запустят специальное приложение, интег...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

О том, как я хотел учить других, а в результате научился сам Привет, Хабр! Вот уже год как я работаю над онлайн-программой обучения Android-разработчиков в Академии e-Legion. Под катом рассказываю, как пришёл к идее стать преподом и с какими сложностями сталкиваюсь в процессе. Читать дальше →

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

[Перевод] Как решить любую программерскую задачу Привет всем! Сегодня вашему вниманию предлагается перевод по-своему незаменимой статьи, которая поможет вам правильно подойти даже к самому коварному и нетривиальному ТЗ, которого вы на первый взгляд в упор не понимаете. Главное — не сдаваться и толково формулировать вопрос...

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

В США создан робот-медузоид Исследователи сообщили свои результаты в журнале Bioinspiration and Biomimetics. Как следует из опубликованного текста, изначальной целью проекта был мониторинг коралловых рифов и прочих уязвимых биоценозов. Подражание различным морским организмам уже несколько лет популярно...

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

[Перевод] Аналоги в Python и JavaScript. Часть третья Продолжаем перевод серии статей про аналоги в Python и JavaScript В прошлых выпусках мы опирались на синтаксис классических версий Питона (2.7) и JS на основе ECMAScript 5. В этот раз мы будем использовать новые функции которые появились в Питоне 3.6 и JS стандарта ECMAScrip...

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

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

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

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

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

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

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

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

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

Гид по владению аккаунтами и контрактами в Ethereum Материал, который мы решили сегодня опубликовать, родился уже около 6 месяцев назад и до сих пор не потерял своей актуальности (может быть, пришлось его чуть-чуть освежить). Тогда мы еще были способны удивляться, глядя на бизнесменов и стартаперов, намеревающихся проводить ...

#Видео: Представлен концепт золотого iPhone XS Несколько дней назад издание 9to5Mac опубликовало эксклюзивное изображение iPhone XS в золотой расцветке. По заверениям блога, этому рендеру можно верить — данный снимок является частью официальных рекламных материалов нового флагмана. На основе этой информации, диза...

[Перевод] 90 новых фич (и API) в JDK 11 Привет, Хабр! Представляю вашему вниманию перевод статьи «90 New Features (and APIs) in JDK 11» от автора Simon Ritter. Новый шестимесячный релизный цикл JDK для многих означает, что некоторые ещё даже не выяснили, какие новые функции в JDK 10, а на пороге уже JDK 11. В одн...

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

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

Сломался Асик - ремонтировать или избавляться? Сегодня многие из тех кто хотел бы заняться майнингом десять раз подумают прежде чем входить на рынок приптовалют. Для этого есть объективные причины - курс главной криптовалюты Bitcoin за последний год так динамично менялся, что если рост на 100% и более многие переживали н...

[Перевод] Директивы prefetch и preload в webpack В webpack 4.6.0. появилась поддержка директив prefetch и preload (они выглядят, соответственно, как «магические комментарии» webpackPrefetch и webpackPreload к командам import()). С их помощью браузеру можно давать подсказки о ресурсах, которые могут понадобиться пользовател...

Python для ребёнка: выбор самоучителя Мой сын заинтересовался программированием на Python, и у меня появился вопрос – есть ли сегодня возможность купить книгу для ребёнка в качестве самоучителя? Самоучители для взрослых детям не подходят – мотивации продираться самостоятельно через учебники программирования и ...

[Перевод] Реактивность в JavaScript: простой и понятный пример Во многих фронтенд-фреймворках, написанных на JavaScript (например, в Angular, React и Vue) имеются собственные системы реактивности. Понимание особенностей работы этих систем пригодится любому разработчику, поможет ему более эффективно использовать современные JS-фреймворки...

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

Тестирование белого ящика Разработка программ высокого качества подразумевает, что программа и её части подвергаются тестированию. Классическое модульное (unit) тестирование подразумевает разбиение большой программы на маленькие блоки, удобные для тестов. Либо, если разработка тестов происходит парал...

[Перевод] Простое введение в АЛУ для нейронных сетей: пояснение, физический смысл и реализация Недавно исследователи из Google DeepMind, в том числе известный учёный в сфере искусственного интеллекта, автор книги "Разбираемся в глубоком обучении", Эндрю Траск, опубликовали впечатляющую статью, описывающую модель нейронной сети для экстраполяции значений простых и слож...

[Из песочницы] Python сделал доступным программирование для широкой аудитории Привет, Хабр! Представляю вашему вниманию перевод статьи "Python has brought computer programming to a vast new audience". А его основатель ушел в отставку В Декабре 1989 года Гвидо ван Россум, голландский специалист в области информатики, запланировал для себя некий проек...

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

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

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

Анализ применения цифровой подписи: 10 из 15 топовых криптовалют не подписывают ПО Читая новость о внедрении в инфраструктуру одного из проектов, я задался вопросом: как вообще обстоят дела с применением цифровой подписи в оплоте финтех революции. Собственно одним лишь любопытством дело не закончилось. Тотально низкая безопасность в криптосфере – оксюморо...

Топ-10 вебинаров CleverTALK по числу просмотров В этот четверг состоится 103-й вебинар CleverTALK «Собираем паззл: бюджетирование, управление мощностями и архитектурой», который проведёт Павел Дёмин. Это будет по-настоящему уникальный вебинар, посвященный сервисной экономике, аналоги которого вряд ли встречают...

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

Быстрая настройка Continuous Integration для .NET Core c помощью Travis — CI. Очень коротко По некоторым просьбам, публикую очень короткую выжимку моей предыдущей статьи о настройке Continuous Integration, но "как чеклист и для C#". Заодно добавил несколько альтернатив Travis-у. Чтение займет не больше 3 минут, кому интересно — прошу под кат. Читать дальше →

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

Предварительный обзор Samsung Galaxy S Light Luxury. Как S8, только проще Многие большие компании понимают, что делать смартфоны нового формата дорого и рискованно — та же Samsung не будет экспериментировать лишний раз, ведь это сулит большими затратами на исследования и в случае провала полетят головы. Именно по этой причине появляются смартфоны ...

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

[Перевод] Почему перенос при целочисленном переполнении — не очень хорошая идея Эта статья посвящена неопределённому поведению и оптимизациям компилятора, особенно в контексте знакового целочисленного переполнения. Примечание от переводчика: в русском языке нет четкого соответствия в употребляемом контексте слова «wrap»/«wrapping». Существует математи...

OWASP TOP 10 Project: введение Первый материал из нашего цикла статей про OWASP Top 10 Project. Он начинался как проект энтузиастов, но сегодня на него уже ссылаются PCI DSS и MITRE, а сам проект стал де-факто стандартом для оценки уязвимостей веб-приложений. В этой статье проводим обзор этого документа к...

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

[Из песочницы] [Перевод] Исправить или убить автоматически устанавливаемый JavaScript? Привет, Хабр! Представляю вашему вниманию перевод статьи Julie Marchant Fix or Kill Automatically Installed JavaScript? В эссе Ричарда Столлмана "Ловушка JavaScript" отмечается, что люди запускают несвободные программы, которые автоматически незаметно устанавливают...

Диаризация на основе модели GMM-UBM и алгоритма MAP adaptation Привет, Хабр. Я бы хотел рассказать об одном из подходов в решении задачи диаризации дикторов и показать, как этот метод можно реализовать на языке python. Чтобы не отпугивать читателя, я не буду приводить сложные математические формулы (отчасти потому что я и сам «не настоя...

Перевод книги Эндрю Ына «Страсть к машинному обучению» Главы 28 — 29 предыдущие главы Кривые обучения 28 Диагностирование смещения и разброса: Кривые обучения Мы рассматривали несколько подходов к разделению ошибок на избегаемое смещение и на разброс. Мы делали это оценивая оптимальную долю ошибок вычисляя ошибки на тренировочной выборке алго...

Обзор Star Trek Trexels II. Фанатам Спока посвящается Довольно часто игры на основе фильмов или книг получаются ужасными. Дело в том, что такого рода проекты стремятся привлечь внимание фанатов и заработать на тех, кто очень любит историю с экрана. Над уникальными механиками или прочими особенностями продукта никто не думает, э...

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

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

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

(Не)переезд в Молдову фотограф Андрей Бенимецкий Думаю, никто не удивится тому, что на просторах интернета и на Хабре в частности есть очень много статей об успешном (или не очень) переезде из стран СНГ в страны ЕС, США, Азию и т.д. Некоторые статьи полезны, другие — не очень, но даже если авто...

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

[Перевод] Маленький чёрненький квадратик (визуализация всех денег и рынков мира) Авторы The Money Project собрали и визуализировали информацию о стоимости всех мировых денег и их эквивалентах. В результате получилась эффектная и простая инфографика, в которую помимо основных данных были добавлены сравнительные ориентиры: размеры состояний богатейших в ми...

Обзор Digma EVE 605. Ноутбук для работы и учебы на Intel Atom X5-Z8350 Как показала практика серии тестов, последние чипы семейства Intel Atom выступают отличной основой для ноутбуков в недорогом сегменте. В них соблюден баланс между уровнем энергопотребления и быстродействия, который позволяет, обеспечивая высокое время автономной работы, легк...

[Перевод] Компоненты высшего порядка в React Недавно мы публиковали материал о функциях высшего порядка в JavaScript, направленный на тех, кто изучает JavaScript. Статья, перевод которой мы публикуем сегодня, предназначена для начинающих React-разработчиков. Она посвящена компонентам высшего порядка (Higher-Order Compo...

[Перевод] Функции высшего порядка в JavaScript: что это такое? Представляем вам перевод статьи Sukhjinder Arora, опубликованной на ресурсе Bits and Pieces. Узнайте под катом о функциях высшего порядка в JavaScript и о некоторых других функциях, встроенных в этот язык. Фото NESA by Makers с сайта Unsplash Читать дальше →

[Из песочницы] Введение в WSGI-серверы: Часть первая Данная статья является переводом статьи Кевина Голдберга «An Introduction to Python WSGI Servers: Part 1» blog.appdynamics.com/engineering/an-introduction-to-python-wsgi-servers-part-1 с небольшими дополнениями от переводчика Краткая история серверов WSGI Python WSGI-серв...

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

Предварительный обзор Fractal Design Define R6. Стиль стоит денег Сборка игрового или рабочего компьютера — всегда тяжелый и довольно затратный процесс. Особенно это сложно, если вы хотите собрать не просто систему, а что-то привлекательное, что не стыдно показать друзьям и сфотографировать в социальные сети. Сегодня у нас на детальном раз...

Работа с API КОМПАС-3D → Урок 11 → Простые текстовые надписи На предыдущих уроках цикла мы научились выводить текст в основную надпись. Сегодня поговорим о том, как выводить текст в сам документ. Мы рассмотрим простейшие примеры, а более сложные приемы покажем на следующих уроках. Читать дальше →

Цифровой электронный корпус JN-EH35 представила компания JIINTECH Новое решение, подходящее для использования в условиях экстремального климата, решает такие проблемы систем охранного видеонаблюдения, как перегрев и низкое разрешение камер Компания JIINTECH (главный исполнительный директор: Парк Джи-хён (Jihyun Park)), технологическая комп...

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

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

[Перевод] Лучше, быстрее, мощнее: styled-components v4 Автор материала, перевод которого мы публикуем сегодня, хочет представить сообществу веб-разработчиков бета-версию библиотеки styled-components v4. Он, выступая от лица создателей библиотеки, говорит, что теперь в styled-components имеется новое глобальное API для работы со ...

[Перевод] Как не пропустить ни одного сообщения Обработка событий — одна из самых распространенных задач в области бессерверных технологий. Сегодня расскажем о том, как создать надежный обработчик сообщений, который сведет к нулю их потерю. Кстати, примеры написаны на C# с использованием библиотеки Polly, но показанные по...

Как же, черт побери, работает async/await в Python 3.5 От переводчика: Это перевод статьи https://snarky.ca/how-the-heck-does-async-await-work-in-python-3-5/. Оригинальная статья показалась мне очень полезной и, как мне кажется, определенно заслуживает внимания, если вы до сих пор плохо представляете, как работает асинхронное пр...

[Из песочницы] Строим простой GraphQL API сервер на express и nodeJS Предлагаю к прочтению свободный перевод небольшой статьи по практическому применению GraphQL. Оригинал доступен по ссылке (En). Пару слов о GraphQL GraphQL это язык запросов для API, который предлагает декларативный подход к получению данных. Он позволяет клиентам запрашива...

В России проведена первая нейрохирургическая операция с участием робота Фото: ИКТИ РАН На днях в Москве была проведена операция на головном мозге с участием робота, пишут «Известия». Операцию провели специалисты НИИ скорой помощи им. Н. В. Склифосовского. Хирурги оперировали 37-летнего пациента со сложной локализацией опухоли глубинных отделов...

Официально: в Facebook действительно ратуют за Android, но Цукерберг никому ничего не запрещал Сегодня мы сообщали о том, что Марк Цукерберг (Mark Zuckerberg) обязал всех топ-менеджеров Facebook пользоваться исключительно смартфонами с Android. Источник предполагал, что это могло быть связано с недавней критикой самой крупной в мире социальной сети со стороны гла...

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

Практика тестирования бэкенда на Java + Rest-Assured В предыдущей статье я поделился своим опытом автоматизации на Robot Framework. Теперь же речь пойдет о несколько другом подходе к тестированию API для проекта на Kotlin. Воспользовавшись свободой выбора стека технологий и опираясь на желание попробовать «в бою» что-то новое...

SAP Process Mining или как разобраться в своих бизнес-процессах Посмотрите на эту картинку. В бизнес-процессах многих компаний такая же ситуация – очень много обходных путей, которые могут упростить действия сотрудников, не нарушая при этом принятые правила. Но как руководителям увидеть эту реальность внутри компании? Самый простой п...

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

Распознавание жестов с помощью APDS-9960 Читая комментарии к моей предыдущей статье про APDS-9960, где речь шла про распознавание цвета и уровня освещенности для меня стали очевидными две вещи: 1) тема распознавания жестов интересна и 2) тема эта не раскрыта. Действительно, если уж взялся за описание APDS-9960, т...

Ноутбуки линейки Surface вернулись в список рекомендованных журналом Consumer Reports В прошлом году Consumer Reports отказалась рекомендовать устройства линейки Microsoft Surface, ссылаясь на проблемы надежности по результатам опроса 90000 владельцев планшетов и ноутбуков. Сегодня же Consumer Reports изменила свою позицию, вернув все устройства Surface в сп...

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

[Перевод] Фонд Джефа Безоса «День Первый» «Мы будем исходить из тех же принципов, которые привели Amazon к успеху. Самым важным из них будет неподдельная, сильная одержимость клиентом. Клиентом будет ребенок» Джеф Безос и его супруга Маккензи. 13 сентября Безос твитнул, на какие благотворительные цели, он готов ...

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

[Перевод] Цукерберг финансирует: Как «подружить» оптические технологии и биомедицину Чтобы ускорить биомедтех, создатель Fаcebook решил профинансировать Imaging Scientists (ученые, занимающиеся наукой о сборе, хранении, поиске и обработке визуальной информации). Конфокальная микроскопия фибробластов, которые важны в соединительной ткани. Ядра отмечены син...

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

Фотоэкскурсия по офису «Аудиомании»: часть первая Мы решили провести для вас фотоэкскурсию по московскому офису «Аудиомании», расположенном в бизнес-центре «На Барабанном». Сегодня (в первой части большой фотоэкскурсии) в центре внимания — бизнес-центр, шоурумы и кинозалы. (Внимание, под катом много фото) Читать дальше →

[Перевод] Введение в SOLID: новый редецентрализованный интернет Тима Бернерса-Ли Создание нового децентрализованного интернета долгие годы волнует умы специалистов. Профессор Тим Бернерс-Ли пошел еще дальше и нашел способ редецентрализовать интернет. Что это значит, как с этим связан проект Solid и что такое «поды»? Читайте в нашем переводе статьи Arnav ...

Какой лазерный станок купить? Обзор надежных лазерных станков Raylogic 11G Всем добрый день, с вами компания 3Dtool. Сегодня мы хотели бы вам показать и рассказать немного о лазерных станках Raylogic 11G. Серия 11G — это большая линейка универсальных лазерных станков с широким диапазоном технических характеристик и размеров рабочего поля. Можн...

Фотоэкскурсия по коворкингу SOK Сегодня мы покажем новый московский коворкинг с необычной концепцией — SOK. Под катом — материал о том, как создавалось рабочее пространство на Земляном валу (м. Курская). Внимание — множество фотографий. Входная группа в коворкинге SOK на Земляном валу Читать дальше →

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

[Перевод] Обязательный чек-лист разработки UX-дизайна мобильного приложения От переводчика: Эта статья изначально была опубликована сооснователем компании Django Stars Романом Гапоновым в его англоязычном блоге на Medium. Мы сделали перевод этого обзора главных UX-нюансов мобайла и представляем его вашему вниманию. Статья поможет разработчикам,...

[Перевод] Что нужно ждать о создании стратегий для торговли на бирже: насколько эффективно машинное обучение В нашем блоге на Хабре мы публиковали адаптированные переводы материалов из блога The Financial Hacker, посвященные вопросам создания стратегий для торговли на бирже. Ранее мы обсудили поиск рыночных неэффективностей, создание моделей торговых стратегий, и принципы их прог...

[Из песочницы] Chisel — (не совсем) новый подход к разработке цифровой логики С развитием микроэлектроники, rtl дизайны становились все больше и больше. Реюзабилити кода на verilog доставляет массу неудобств, даже с использованием generate, макросов и фишек system verilog. Chisel же, дает возможность применить всю мощь объектного и функционального пр...

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

[Перевод] «Истина в последней инстанции» или зачем нужен Database First Design В этой весьма запоздалой статье я объясню почему, по моему мнению, в большинстве случаев при разработке модели данных приложения необходимо придерживаться подхода "database first". Вместо "Java[любой другой язык] first" подхода, который выведет вас на длинную дорожку, полную...

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

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

7 причин не доверять своему мозгу Узнайте, почему мы никогда не бываем объективными и в чём кроются глубинные причины многих наших поступков.

[Перевод] Синхронность — это миф Привет всем! Сегодня вас ждет длинный текст без картинок (слегка сокращенный по сравнению с оригиналом), где подробно разобран тезис, вынесенный в заголовок. Ветеран компании Майкрософт Терри Кроули описывает суть асинхронного программирования и объясняет, почему именно это...

Большая утечка о iPad Pro 2018: свежий дизайн, новый стилус Apple Pencil и разъём Magnetic Connector В этом месяце Apple проведёт ещё одну большую презентацию, на которой будет показано следующее поколение планшетов iPad Pro. И сегодня нам удалось узнать о некоторых возможностях этого аппарата. Подробнее об этом читайте на THG.ru.

Lead Dev New York: обзор докладов и отзыв о конференции Привет, Хабр! Я Николай Крапивный, руководитель отдела server-side-разработки в Badoo. Недавно мы дружной командой ездили на конференцию Lead Dev в Нью-Йорк, посвящённую управлению разработкой. Среди спикеров были представители Google, IBM, Slack и других компаний. По с...

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

Виталия Яковенко: столичный Депобразования способствует победам наших ребят на международной арене На территории Казани в августе следующего года пройдут международные соревнования по стандартам WorldSkills. Федеральное агентство новостей, предваряя это событие, побеседовало с жительницей Москвы Виталией Яковенко. В этом году она выиграла европейские соревнования EuroSki...

Анимации в мире состояний Многие уже научились строить чистые интерфейсы и писать «undo-redo» в несколько строчек. Но как быть с анимациями? Часто их обходят стороной, и они не всегда вписываются в подход (state) ↦ DOM. Есть отличные решения вроде React Motion, но что если вам нужно делать сложные ан...

Huawei объяснилась с разработчиками 3DMark касательно режима Performance Mode, повышающего производительность в тестах Несколько дней назад мы писали о том, что в смартфонах Huawei и Honor было обнаружено ПО, которое определяет, когда смартфон проходит тесты, после чего снимает ограничение на уровень энергопотребления, благодаря чему вырастает производительность. Сама Huawei не стала от...

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

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

[Из песочницы] Перевод вики проекта Svelto.ECS. ECS фреймворк для Unity3D ОглавлениеОГЛАВЛЕНИЕ Введение Composition Root и Engines Root Сущности Движки Представления сущности Компоненты Дескрипторы сущности Имплементоры Создание сущностей Коммуникация в Svelto.ECS Привет, Хабр! Представляю вашему вниманию перевод вики проекта Svelto.ECS, написа...

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

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

«Я просто энтузиаст проекта и пользователь языка Dart» — интервью с Ari Lerner, автором знаменитой ng-book Как написать девять книг по совершенно разным технологиям, включая Angular, Vue, React, React Native и другим? Что самое важное в обучении, что такое «hallway chat» и вообще, при чём тут Dart и Flutter? Сегодня у нас в гостях автор множества книг и статей по программирова...

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

[Перевод] Что требуется сделать в языке Java для полноценной поддержки машинного обучения Здравствуйте, коллеги! Из последних известий по нашим планируемым новинкам из области ML/DL: Нишант Шакла, "Машинное обучение с Tensorflow" — книга в верстке, ожидается в магазинах в январе Делип Рао, Брайан Макмахан, "Обработка естественного языка на PyTorch" — контракт ...

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

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

[Из песочницы] Аргументы функций в виде битовых констант в PHP Привет, Хабр! Представляю вашему вниманию перевод статьи Лиама Хамметта (Liam Hammett): Bitmask Constant Arguments in PHP.PHP содержит множество стандартных функций, которые принимают аргументы логического типа (boolean) в форме встроенных констант со значениями двоичных чис...

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

[Перевод] Сравнение Google TPUv2 и Nvidia V100 на ResNet-50 Недавно Google добавила к списку облачных услуг Tensor Processing Unit v2 (TPUv2) — процессор, специально разработанный для ускорения глубокого обучения. Это второе поколение первого в мире общедоступного ускорителя глубокого обучения, который претендует на альтернативу гр...

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

Huawei настаивает на превосходстве Kirin 980 над Apple A12 Bionic В конце лета на выставке IFA 2018 компания HiSilicon, являющаяся дочерним предприятием Huawei, официально представила мобильный процессор Kirin 980. Он стал первым чипсетом для смартфонов, произведённым по 7-нм техпроцессу, но только на бумаге. По факту же первенство достало...

Смартфон Apple iPhone XS Max установил рекорд в тесте AnTuTu Как известно, основой смартфонов Apple iPhone XS и XS Max служит 7-нанометровая однокристальная система A12 Bionic с шестиядерным CPU и четырехъядерным GPU. По официальным данным, производительность двух высокопроизводительных ядер процессора A12 повышена по сравнению с...

Главные особенности Pixel 3. Версия Google В начале недели сотрудники Google анонсировали новое поколение линейки Pixel. Смартфонов по-прежнему два, так что слухи о релизе мини-версии флагмана оказались ложными. Из них больше внимания привлёк Pixel 3 XL — любители технологий не оценили слишком высокую выемку в верхн...

Как сделать поиск пользователей по GitHub без React + RxJS 6 + Recompose Эта статья является ответом на статью-перевод «Как сделать поиск пользователей по GitHub используя React + RxJS 6 + Recompose», которая буквально вчера научила нас как надо использовать React, RxJS и Recompose вместе. Что ж, предлагаю теперь посмотреть, как это можно реализо...

Реализация минимизации логических функций методом Квайна-Мак'Класки при неполном входном наборе Данная статья является, в некоторой степени, продолжением моей статьи по минимизации логических функций методом Квайна-Мак’Класки. В ней рассматривался случай с полностью определёнными логическими функциями (хотя этого в ней прямо не упоминалось, а только подразумевалось). В...

[Перевод] Создание, настройка и использование собственного Git-сервера Материал, перевод которого мы сегодня публикуем, посвящён настройке Git-серверов. Git — это система управления версиями, разработанная Линусом Торвальдсом. Git пользуются миллионы людей во всём мире. Компании, вроде GitHub, предлагают службы хостинга кода, основанные на Git....

Тесты показали превосходство iPhone XS и iPhone XS Max над предшественником На осенней презентации Apple, где были показаны iPhone XS и iPhone XS Max, представители компании обещали нам, что новинки смогут обеспечить большее время автономной работы, чем iPhone X. Для того чтобы проверить, соответствует ли данное заявление действительности, специали...

[Из песочницы] Распространение программ на Go. Часть 1 Недавно прочел достаточно неплохую статью о инсталяции программ на Go. Где был показан простой пример того как можно реализовать установку бинарника под «любую» (unix friendly) операционную систему. Решил написать более подробный цикл статей на эту тему. Читать дальше →

Пользователи iPhone XS пожаловались на недокументированную функцию приукрашивания селфи Сразу после официального выхода iPhone XS / XS Max на рынок многие простые пользователи и авторы обзоров заметили странное поведение фронтальной камеры смартфонов. Несмотря на то, что селфи-модуль в них используется тот же, что и в iPhone X, автопортреты, снятые на ...

Смартфон Apple iPhone XS Max установил рекорд в тесте AnTuTu Как известно, основой смартфонов Apple iPhone XS и XS Max служит 7-нанометровая однокристальная система A12 Bionic с шестиядерным CPU и четырехъядерным GPU. По официальным данным, производительность двух высокопроизводительных ядер процессора A12 повышена по сравнению с...

[Перевод] Как я научил ИИ играть в Tetris для NES. Часть 1: анализ кода игры В этой статье я исследую обманчиво простые механики Nintendo Tetris, а во второй части расскажу, как создал ИИ, эксплуатирующий эти механики. Попробуйте сами О проекте Для тех, кому не хватает упорства, терпения и времени, необходимых для освоения Nintendo Tetris, я созда...

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

Официально: в Facebook действительно ратуют за Android, но Цукерберг никому ничего не запрещал Сегодня мы сообщали о том, что Марк Цукерберг (Mark Zuckerberg) обязал всех топ-менеджеров Facebook пользоваться исключительно смартфонами с Android. Источник предполагал, что это могло быть связано с недавней критикой самой крупной в мире социальной сети со стороны гла...

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

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

Мой любимый файл в кодовой базе Chromium Код Хромиума весьма обширен, там каждому найдётся что-то по вкусу. А я вот решил рассказать о своём любимом файле в нём (а у вас есть такой?). Этот файл отражает всё: боль, разочарование, надежду, упорство, силу воли, ответственность за чужие провалы и самопожертвование. Я и...

Квантовый переключатель в стиле Шредингера Мир вокруг нас работает по законам естественных наук с самого своего возникновения. Любое, практически, явление мы можем объяснить, опираясь на те самые законы. И вот мы уже знаем, что молнии это не ярость Зевса, цунами это не чих Нептуна, Земля не плоская, а огромных чере...

Определение цифры на слух В этой статье я расскажу о простой программке на progressing, которая «слушает» микрофон и определяет цифры, набираемые на телефоне в тоновом режиме. Читать дальше →

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

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

Смысл тестирования — в процессе, а не в оставшихся артефактах. Майкл Болтон и Rapid Software Testing В среде ИТ есть свои легенды, чьи имена знает сегодня чуть ли не каждый и чьи (что важнее) достижения в профессии показали другим новый путь к развитию. Одной из таких фигур для мира тестирования ПО был и остается Майкл Болтон, которого мы ждем на ближайшем Heisenbug 2018 Pi...

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

[Перевод] Работа с буфером обмена в JavaScript с использованием асинхронного API Clipboard Существует новое API JavaScript, предназначенное для организации асинхронного доступа к буферу обмена с использованием спецификации, которая всё ещё находится на этапе разработки. До сих пор в веб-разработке стандартным способом копирования текста в буфер обмена является под...

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

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

Zabbix как сканер безопасности Привет! Все мы знаем и любим такие продукты для vulnerability assessment процессов как Nessus, Qualys, Max Patrol и всякие прочие OpenVAS. Одной из основных задач, которые они решают, является обеспечение контроля версионных уязвимостей. Это довольно простой процесс сравнен...

Превратить пользователя в покупателя Перевод статьи автора Chargebee Йохана Кундерса о том, чем отличаются адаптация пользователя и покупателя, как избежать «зыбучих песков» продукта и привести пользователя к aha-моменту. ...

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

Consulo UI API от идеи до прототипа     Всем привет, давно я не писал статьи о жизни проекта на хабре, решил исправиться и начну пожалуй с того над чем сейчас работаю а именно Consulo UI API. Consulo — это форк IntelliJ IDEA Community Edition, который имеет поддержку .NET(C#), Java Читать дальше →

Android Storage: Internal, External, Removable. Часть 1/3 Всем, кто, несмотря ни на что, сумел сделать правильный выбор.Это перевод серии статей от Mark Murphy из CommonsWare, широко известного на stackoverflow, а так же автора книг “The Busy Coder’s Guide to Android Development”, “Android’s Architecture Components”. Некоторые терм...

[Перевод] Перевод статьи Нила Форда «Микросервисы как эволюционная архитектура» Мы подготовили перевод статьи Нила Форда, системного архитектора и идейного вдохновителя компании ThoughtWorks, которая занимается разработкой программных средств для автоматизации процессов тестирования и развертывания ПО. Нил – признанный эксперт в области разработки прог...

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

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

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

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

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

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

Предварительные тесты процессора Intel Core i9-9900K демонстрируют более высокий результат по сравнению с AMD Ryzen 7 2700X Официальная презентация новых процессоров Intel 9-го поколения в исполнении LGA1151 ожидается 1 августа. Тем не менее, ещё до этого события в интернете уже появились утечки с результатами тестирования флагманской модели Core i9-9900K. Напомним, этот чип содержит 8 вычислител...

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

На что способны камеры смартфонов в 2018 году? В 2012 году нельзя было представить, что когда-нибудь с помощью смартфонов можно будет производить профессиональные видеоролики. В этой статье мы собрали кинематографичные видеоролики, снятые с помощью 3 лучших камер на рынке — Google Pixel 2 XL, Huawei P20 Pro и Sams...

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

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

[Перевод] Если бы дизайнеры цифровых продуктов создавали реальные вещи Привет, Хабр! Представляю вашему вниманию перевод небольшой развлекательной статьи. Хэв сам фан! Рассказываю в комиксах. Об авторе: Пабло Стэнли (Pablo Stanley), дизайнер InVision. Читать дальше →

СС1101 под управлением PIC-контроллера или построение одноранговой сети для радиоинженера (часть 2, продолжение) После опроса прошло время… Прошу извинить за задержку: сложно выкроить время. В процессе написания данного текста выявилось столько тонкостей, которые хотелось бы описать, что это может потянуть на небольшой труд :-). Поэтому я решил публиковать материал по главе за раз. Тол...

Tesoro GRAM Spectrum TKL занимает минимум места на столе В последнее время пользователи стали активнее обращать свое внимание на клавиатуры с компактным корпусом. Например, в свет только вышла Tesoro GRAM Spectrum TKL, а нам уже хочется ее приобрести. Преимущество данного решения в том, что клавиатура на столе занимает минимум мес...

Подводный «GPS» на двух приемопередатчиках Привет дорогой хабрачитатель! Нашему подводному GPS на днях исполнилось три года. За это время система стала серийной, мы вывели на рынок еще несколько систем и устройств, но все это время меня не покидала навязчивая идея принести гидроакустику в широкие массы, сделать ее д...

[Перевод] Использование std::optional в С++17 Давайте возьмём пару от двух типов <YourType, bool> — что вы можете сделать с композицией подобного рода? В этой статье я расскажу вам про std::optional — новый вспомогательный тип, добавленный в C++17. Это обёртка для вашего типа и флаг показывает, инициализировано в...

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

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

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

[Перевод] Использование функции connect() из пакета react-redux В статье, перевод которой мы публикуем сегодня, речь пойдёт о том, как создавать в React-приложениях компоненты-контейнеры, которые связаны с состоянием Redux. Этот материал основан на описании механизма управления состоянием в React с применением пакета react-redux. Предпол...