Социальные сети Рунета
Четверг, 25 апреля 2024

Анализ производительности ВМ в VMware vSphere. Часть 2: Memory Часть 1. Про CPU В этой статье поговорим про счетчики производительности оперативной памяти (RAM) в vSphere. Вроде бы с памятью все более однозначно, чем с процессором: если на ВМ возникают проблемы с производительностью, их сложно не заметить. Зато если они появляются, с...

[Перевод] Статический анализ больших объёмов Python-кода: опыт Instagram. Часть 2 Сегодня публикуем вторую часть перевода материала, посвящённого статическому анализу больших объёмов серверного Python-кода в Instagram. → Первая часть Читать дальше →

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

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

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

GoLand 2019.1: анализ производительности кода, Smart Step Into, рефакторинг Extract Interface, Nilness Analyzer и другое Привет, Хабр! Две недели назад мы выпустили GoLand 2019.1 и спешим рассказать вам о новинках этого релиза. Читать дальше →

РНР-безопасность: где и как хранить пароли. Часть 2 Всем привет! На прошлой неделе мы опубликовали первую часть данной статьи, чем вызвали нешуточный холивар. Одной из главных претензий было отсутствие в статье упоминания password_hash, как мы и обещали, вторую часть данного материала начнем как раз таки с хеширования парол...

[Перевод] C# Regex в примерах Перевод статьи подготовлен специально для студентов курса «Разработчик С#». Класс Regex реализует регулярные выражения в C#. В этой статье вы узнаете, как использовать C# Regex для проверки различных пользовательских входных данных. Regex в C# реализует регулярные выра...

[Перевод] Мертв ли Hadoop? Часть 2 Перевод статьи подготовлен специально для студентов курса «Data Engineer». Читать первую часть Никому не нужна Big Data Когда вы услышите «Никому не нужна Big Data», посмотрите на резюме докладчика. Африканский телекоммуникационный оператор, переживающий удивительные уро...

Apple вернула в App Store легендарную игру 11-летней давности Компания Apple решила оригинальным образом отпраздновать 10-летие магазина приложений App Store. Купертинский гигант вернул в магазин игру Texas Hold’em — одну из первых игр для App Store. Конечно, Apple не просто вернула игру. Обновлённая версия Texas Hold&...

[Перевод] Чеклист по UX из 30 пунктов для мобильных приложений Эта статья — напминалка о том, что нужно перепроверить в дизайне вашего приложения, прежде чем отсылать его на AppStore/GooglePlay. Список поделен на тематические блоки: Вход / Регистрация Первый опыт Ежедневные взаимодействия Уведомления Параметры аккаунта Лента ...

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

Влияние Transparent Huge Pages на производительность системы Статья публикуется от имени Ахальцева Иоанна, Jiga Tinkoff.ru сегодня — это не просто банк, это IT-компания. Она предоставляет не только банковские услуги, но ещё выстраивает экосистему вокруг них. Мы в Tinkoff.ru заключаем партнерство с различными сервисами для повышения к...

Победа на PHDays 9. Делимся лайфхаками в трёх частях. Часть 2 Всем привет! Меня зовут Виталий Малкин. Я руководитель отдела анализа защищённости компании «Информзащита» и по совместительству капитан команды True0xA3. Чуть больше недели назад мы победили в одном из самых престижных соревнований белых хакеров в СНГ. В прошлой статье (есл...

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

[Перевод] Введение в детерминированные сборки на С/С++. Часть 2 Перевод статьи подготовлен специально для студентов курса «Разработчик С++». → Читать первую часть Читать дальше →

[Перевод] Понимаем Property Wrappers в SwiftUI Перевод статьи подготовлен специально для студентов курса «iOS Разработчик. Продвинутый курс v 2.0.» На прошлой неделе мы начали новую серию постов о фреймворке SwiftUI. Сегодня я хочу продолжить эту тему, рассказав о Property Wrappers в SwiftUI. SwiftUI предоставляет нам...

[Перевод] Функциональное программирование: дурацкая игрушка, которая убивает производительность труда. Часть 2 Сегодня мы представляем вашему вниманию продолжение перевода материала о вреде так называемого «функционального» программирования. Читать дальше →

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

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

Garbage Collector. Полный курс + перевод из BOTR В данной статье вы встретите сразу два источника информации: Полный курс по работе Garbage Collector на русском языке: CLRium #6 (текущий семинар здесь) Перевод статьи из BOTR "Устройство сборщика мусора" от Маони Стевенс. Читать дальше →

[Перевод] История о V8, React и падении производительности. Часть 2 Сегодня мы публикуем вторую часть перевода материала, посвящённого внутренним механизмам V8 и расследованию проблемы с производительностью React. → Первая часть Читать дальше →

[Из песочницы] Руководство Google по стилю в C++ Часть 1. Именование Часть 2. Комментарии … Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Хотя все C++ программисты читают на английском легче, чем на родном, приятнее иметь...

[Из песочницы] Vue.js render-функции и переходы (перевод статьи Hajime Yamasaki Vukelic) Здравствуй, Хабр! Начать свою деятельность решил с перевода на русский статей, который мне самому принесли большую пользу. Надеюсь, вам пригодятся. Отмечу, что я старался переводить литературно, а не дословно. Первым вашему вниманию представляю перевод статьи «Vue.js rende...

[Перевод] 8 лучших трендов International Conference on Learning Representations (ICLR) 2019 Тема анализа данных и Data Science в наши дни развивается с поразительной скоростью. Для того, чтобы понимать актуальность своих методов и подходов, необходимо быть в курсе работ коллег, и именно на конференциях удается получить информацию о трендах современности. К сожалени...

Психоанализ эффекта недооцененного специалиста. Часть 2. Как и зачем противостоять Начло статьи с описанием возможных причин недооценности специалистов, можно прочитать, перейдя по «ссылке». III Противостояние причинам, вызывающим недооцененность. Вирус прошлого не поддается лечению – пока свое не возьмет, он не уйдет. Но ему можно и нужно противостоять...

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

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

[Перевод] Исчерпывающий список различий между VB.NET и C#. Часть 2 В первой части статьи тема превосходства VB.NET над C# по рейтингу TIOBE нашла живой отклик в комментариях. Поэтому по совету AngReload посмотрим на тренды StackOverflow. C# все еще силен! Революция, о которой так долго говорили в прошлый раз, отменяется! Ура, товарищи! Или...

О локализации продуктов. Часть 2: как формируется цена? Во второй части статьи нашего технического писателя Андрея Старовойтова мы посмотрим, как именно формируется цена за перевод технической документации. Если не хочется читать много текста, смотрите сразу раздел «Примеры» в конце статьи. С первой частью статьи можно ознаком...

Анализ производительности виртуальной машины в VMware vSphere. Часть 1: CPU Если вы администрируете виртуальную инфраструктуру на базе VMware vSphere (или любого другого стека технологий), то наверняка часто слышите от пользователей жалобы: «Виртуальная машина работает медленно!». В этом цикле статей разберу метрики производительности и расскажу, ...

Миграция на инфраструктуру async-await в Rust img source На прошлой неделе для Rust комьюнити случилось огромное событие — вышла версия компилятора 1.39, а в месте с ней и стабилизация async-await фичи. В этом посте я постараюсь резюмировать все релевантные изменения в компиляторе и экосистеме, а также предоставить инс...

Операционная система двухлетней давности побила новейшую Android Q в тестах на скорость Поначалу Android 7.1.2 Nougat отставала от более свежих версий операционной системы, но в итоге пришла к финишу первой с результатом 2 минуты 50 секунд. На втором месте оказалась предпоследняя версия Android 9.0 Pie.

[Перевод] Топ 20 навигационных фич в IntelliJ IDEA. Часть 2 Перевод статьи подготовлен специально для студентов курса «Android-разработчик. Продвинутый курс». И хотя в данном материале речь пойдет преимущественно о Java, материал будет полезен Android-разработчикам Первая часть тут Читать дальше →

Анализ производительности ВМ в VMware vSphere. Часть 3: Storage Часть 1. Про CPU Часть 2. Про Memory Сегодня разберем метрики дисковой подсистемы в vSphere. Проблема со стораджем – самая частая причина медленной работы виртуальной машины. Если в случаях с CPU и RAM траблшутинг заканчивается на уровне гипервизора, то при проблемах с ди...

[Перевод] Топ-65 вопросов по SQL с собеседований, к которым вы должны подготовиться в 2019 году. Часть I Перевод статьи подготовлен для студентов курса «MS SQL Server разработчик» Реляционные базы данных являются одними из наиболее часто используемых баз данных по сей день, и поэтому навыки работы с SQL для большинства должностей являются обязательными. В этой статье с вопрос...

[Из песочницы] Права в Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask) Всем привет. Это перевод статьи из книги RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 and EX300. От себя: Надеюсь статья будет полезна не только начинающим, но и поможет более опытным администраторам упорядочить свои знания. Итак, поехали. Читать дальше →

Ликвидирован ботнет двухлетней давности Кроме того, Avast и правоохранительным органам удалось вылечить 850 тысяч зараженных Windows-компьютеров.

[Перевод] Внутренности JVM, Часть 1 — Загрузчик классов Перевод статьи подготовлен специально для студентов курса «Разработчик Java». В этой серии статей я расскажу о том, как работает Java Virtual Machine. Сегодня мы рассмотрим механизм загрузки классов в JVM. Читать дальше →

Свистать всех на Linux, гром и молния Привет, Хабр! Сегодня я хочу рассказать о собственном опыте перевода рабочего места на Linux. Статья не претендует на 100% охват всех проблем и их решений, но кое-какие рецепты, позволяющие сделать жизнь лучше, тут все же будут. Также в статье будет некоторое количество флеш...

[Из песочницы] Классификация покрова земли при помощи eo-learn. Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи "Land Cover Classification with eo-learn: Part 1" автора Matic Lubej. Предисловие Примерно полгода назад был сделан первый коммит в репозиторий eo-learn на GitHub. Сегодня, eo-learn превратился в замечательную библиоте...

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

[Перевод] Анализ TSDB в Prometheus 2 База данных временных рядов (TSDB, time series database) в Prometheus 2 – это отличный пример инженерного решения, которое предлагает серьёзные улучшения в сравнении с хранилищем v2 в Prometheus 1 в плане скорости накопления данных и выполнения запросов, эффективности испо...

Слёрм: московский интенсив по Kubernetes и другие анонсы Слёрм — это учебные курсы по Kubernetes. Слёрм Базовый: создаем кластер и деплоим приложение. Слёрм Мега: заглядываем под капот кластера. Отчет с прошлого Слёрма История Слёрма Мы — единственный Kubernetes Training Partner CNCF в России. Московский Слёрм Слёрм Базовый пройд...

Custom instruments: когда signpost недостаточно Instruments для Xcode компании Apple — это инструменты для анализа производительности iOS-приложения. Их используют для сбора и отображения данных, которые необходимы в отладке кода. В прошлом году Apple презентовала Custom Instruments. Это возможность расширить стандартный ...

[Из песочницы] Анализ скроллинга страниц в Google Data Studio Добрый день, меня зовут Чакканбаев Ильхом я автор блога SeoPulses, хотел бы поделиться переводом и реализацией на практике статьи michaelhoweely.com. Для того чтобы создать полноценный и понятный отчет для блога или статейного сайта в Google Data Studio потребуется использов...

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

Какие заголовки привлекают внимание чаще всего или анализ HabraHabr Здравствуйте, и снова появилось желание поделиться чем-то полезным! Статья о пользе домохозяйки не зашла на Хабр, по этому я выудил статью 4 летней давности написанную специально для habrhabr.ru для рекламы digital агентства, которое я уже закрыл. Надеюсь этот раз плюсов буд...

[Из песочницы] Full-stack TypeScript Apps Привет, Хабр! Представляю вашему вниманию перевод статьи "Full-Stack TypeScript Apps — Part 1: Developing Backend APIs with Nest.js" автора Ana Ribeiro. Часть 1: Разработка серверного API с помощью Nest.JS TL;DR: это серия статей о том, как создать веб-приложение TypeScript ...

[Перевод] Сила дженериков в Swift. Часть 2 Добрый день, друзья. Специально для студентов курса «iOS Разработчик. Продвинутый курс» мы подготовили перевод второй части статьи «Сила дженериков в Swift». Связанные типы, условия where, сабскрипты и прочее… В статье «Сила дженериков в Swift. Часть 1» описывались gene...

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

[Перевод] Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важенЭтот пост — перевод первой статьи ...

Победа на PHDays 9. Делимся лайфхаками в трёх частях. Часть 1 Всем привет! Меня зовут Виталий Малкин. Я руководитель отдела анализа защищённости компании «Информзащита» и по совместительству капитан команды True0xA3. Этой статьей мы начинаем цикл из 3-х материалов, посвящённых нашему выступлению на PHDays IX Standoff. В этой статье мы ...

[Из песочницы] Краткое введение в рекурсию. JavaScript Перевод: Привет, Хабр! Представляю вашему вниманию перевод статьи "A Quick Intro to Recursion in Javascript" Yazeed Bzadough. Примечание. Рекурсия не единожды обсуждалась на хабре, но данная статья даёт базовое понимание рекурсии. Это будет полезно начинающим разр...

[Перевод] Лямбды: от C++11 до C++20. Часть 1 Добрый день, друзья. Сегодня мы подготовили для вас перевод первой части статьи «Лямбды: от C++11 до C++20». Публикация данного материала приурочена к запуску курса «Разработчик C++», который стартует уже завтра. Лямбда-выражения являются одним из наиболее мощных дополнений...

Патенты в дизайне: часть вторая (примеры от Microsoft, Snapchat, Samsung, Netflix, Airbnb, Tinder) Под катом — вторая часть перевода статьи о том, как крупные, известные компании защищают свои дизайн-решения (и какие именно). Примерное представление о том, как происходит процесс оформления прав на тот или иной интерфейс, можно получить в первой части. Читать дальше →

Вейвлет-анализ.Часть 3 Введение При проведении CWT анализа средствами библиотеки PyWavelets (бесплатное программное обеспечение с открытым исходным кодом, выпущенное по лицензии MIT) возникают проблемы с визуализацией результата. Предложенная разработчиками тестовая программа по визуализации прив...

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

[Из песочницы] TON: рекомендации и лучшие практики Эта статья является переводом документа, опубликованного на странице блокчейна TON: smc-guidelines.txt. Возможно кому-то это поможет сделать шаг в сторону разработки для этого блокчейна. Также, в конце я сделал краткое резюме. Читать дальше →

Пять перспективных языков программирования со светлым будущим (3 года спустя) В 2016-м году я опубликовал перевод статьи про 5 перспективных языков программирования, в которой прогнозировался их рост в ближайшие 2-3 года. Зачастую прогнозы так и остаются прогнозами, без последующего анализа. Но я решил, что это непорядок. И посколько 3 года уже проле...

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

Использование Python для формирования отчетов в отдельно взятой компании Эта история случилась в реальной компании, несмотря на то, что некоторые имена и события вымышлены. Слава был рядовым разработчиком в небольшой фирме в городе N. Фирма занималась предоставлением услуг образовательным организациям. В наличии было несколько приложений, которы...

Применение Oracle Database для Технического анализа рынков Эта статья про Oracle Database, PL/SQL, SQL, MATCH_RECOGNIZE, MODEL clause, aggregate и pipelined functions. В качестве функциональной области использован Технический анализ (ТА) рынков. Сначала небольшая поверхностная вводная о торговле на рынках, потом — расчёты. Техниче...

[Перевод] Тестирование многопоточного и асинхронного кода Привет! На неделе встала задача написать интеграционный тест для Spring Boot приложения, использующего асинхронное взаимодействие с внешними системами. Освежил много материала про отладку многопоточного кода. Привлекла внимание статья «Testing Multi-Threaded and Asynchronous...

[recovery mode] Сбалансированные показатели сайта. Часть 4: Внешняя оптимизация В прошлых частях мы разбирали Cтратегию и ее составляющие, а также затронули тему внутренних показателей сайта, влияющих на продвижение. В этой же статье обратимся ко внешней оптимизации. Читать дальше →

[Из песочницы] Криптография в Java Привет, Хабр! Представляю вашему вниманию перевод статьи "Java Cryptography" автора Jakob Jenkov. Данная публикация является переводом первой статьи Java Cryptography из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

[Перевод] Работа над PEG на Core Developer Sprint В этой статье я не буду рассказывать о новых фичах генератора парсера — я достаточно описал его в предыдущих частях. Вместо этого хочу рассказать что я делал на Core Developer Sprint на прошлой неделе, прежде чем всё сотрётся из моей памяти. Хотя большая часть материала так ...

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

[Из песочницы] Самая дорогая ошибка в моей жизни: подробно об атаке на порт SIM-карты Привет, Хабр! Представляю вашему вниманию перевод статьи «The Most Expensive Lesson Of My Life: Details of SIM port hack» автора Sean Coonce. В прошлую среду я потерял более 100000 долларов. Деньги испарились в течение 24 часов в результате «атаки на порт SIM-карты», котора...

[Перевод] Механизмы расширяемых расширений в JavaScript Здравствуйте, коллеги! Напоминаем, что не так давно у нас вышло 3-е издание легендарной книги «Выразительный JavaScript» (Eloquent JavaScript) — на русском языке напечатано впервые, хотя качественные переводы предыдущих изданий встречались в Интернете. Тем не менее, ни J...

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

[Перевод] Ускорение instagram.com. Часть 1 В последние годы на instagram.com появилось много нового. Очень много. Например — средства создания историй, фильтры, творческие инструменты, уведомления, прямые сообщения. Однако по мере роста проекта всё это дало один печальный побочный эффект, который заключался в том, чт...

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

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

[Перевод] Интервью — 10 вопросов про Swift. Часть 3 Профессиональная программа «iOS Разработчик» — 5 месяцев Best Practice по разработке мобильных приложений с помощью Swift 5. Лучших выпускников ждут на собеседованиях 12 компаний-партнёров OTUS, поэтому публикуем перевод заключительной статьи из серии «iOS Interview Question...

Паттерны и анти-паттерны CI/CD. Часть 2 Всех с пятницей, друзья. Сегодня делимся с вами переводом второй части статьи «Паттерны и анти-паттерны CI/CD», первую часть которой можно прочитать здесь. Напомним, даная серия публикаций приурочена к запуску нового потока по курсу «DevOps практики и инструменты». 1.3 Патт...

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

Upwork вводит плату за право написать потенциальному клиенту Только что на почту упало письмо от СЕО Upwork в котором говорится, что теперь необходимо платить от 15 американских центов за каждый отклик на опубликованную вакансию. Письмо и перевод под катом. Читать дальше →

[Из песочницы] UICollectionView всему голова: Изменение представления на лету Привет, Хабр! Представляю вашему вниманию перевод статьи "UICollectionView Tutorial: Changing presentation on the fly". В данной статье мы рассмотрим использование различный способов отображение элементов, а также их переиспользование и динамическое изменение. Зде...

[Перевод] Детальный разбор новых возможностей React 16+, часть 1: общие сведения Сегодня мы представляем вам первую часть перевода этого большого материала. Он посвящён детальному разбору новых возможностей React, которые появились в этой библиотеке начиная с версии 16. Автор этого материала уже 5 лет занимается программированием. В прошлом он был дизайн...

[Из песочницы] Бесконечный и нелепый список того, что вам нужно знать, чтобы безопасно использовать публичные сети Wi-Fi Привет, Хабр! Представляю вашему вниманию перевод статьи «The Complete, Endless, Ridiculous List of Everything You Need to Be Safe on Public Wi-Fi» автора Patrick F. Wilbur. Wi-Fi сети, вебсайты, протоколы, которые мы используем, не обеспечивают нам необходимой безопасност...

[Перевод] UDB. Что же это такое? Часть 6. Модуль управления и статуса/Status and Control Module В прошлых статьях-переводах документации Cypress очень предметно рассматривался операционный автомат — Datapath. Постепенно переходим к изучению других модулей UDB, в частности — модуль управления и статуса. Читать дальше →

[Перевод] Перестаньте использовать DateTime Специально для студентов курса «Backend разработчик на PHP» подготовили перевод интересной статьи о сайд-эффекте популярного инструмента. Работа с датами и временем в PHP порой раздражает, поскольку приводит к неожиданным багам в коде: $startedAt = new DateTime('2019...

Как выглядит zip-архив и что мы с этим можем сделать. Часть 2 — Data Descriptor и сжатие Продолжение статьи Как выглядит zip-архив и что мы с этим можем сделать. Предисловие Доброго времени суток. И снова в эфире у нас нетрадиционное программирование на PHP. В прошлой статье уважаемых читателей заинтересовала тема сжатия в ZIP и сохранение потоков в zip. Попробу...

Производительность анимаций на сайтах При разработке сайтов, выходящих за рамки условного бутстрапа, рано или поздно возникают вопросы, связанные с производительностью анимаций. Особенно важными они являются в дизайнерских сайтах, вроде тех, что попадают в каталоги Awwwards, FWA, CSS Design Awards и.т.д. При эт...

[Перевод] Лямбды: от C++11 до C++20. Часть 2 Привет, хабровчане. В связи со стартом набора в новую группу по курсу «Разработчик C++», делимся с вами переводом второй части статьи «Лямбды: от C++11 до C++20». Первую часть можно прочитать тут. В первой части серии мы рассмотрели лямбды с точки зрения C++03, C++11 и C+...

[recovery mode] Как подступиться к fullstack-разработке сегодня, если ты проспал десять лет Привет, Хабр! Несколько месяцев назад у меня остро встал вопрос смены профиля деятельности и я обнаружил, что для претендента на вакансию web-разработчика сейчас недостаточно навыков десятилетней давности (какая неожиданность!). Пришлось срочно актуализировать свои знания....

Группа «М.Видео-Эльдорадо» представила анализ развития рынка смартфонов Группа «М.Видео-Эльдорадо» (часть ПФГ «САФМАР» М.Гуцериева) поделилась результатами собственного анализа развития российского рынка смартфонов за период январь-сентябрь нынешнего года. Отмечается, что за отчетный период гражданами РФ было приобретено порядка 22 миллионов дев...

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

VMware NSX для самых маленьких. Часть 5. Настройка балансировщика нагрузки Часть первая. Вводная Часть вторая. Настройка правил Firewall и NAT Часть третья. Настройка DHCP Часть четвертая. Настройка маршрутизации В прошлый раз мы говорили о возможностях NSX Edge в разрезе статической и динамической маршрутизации, а сегодня будем разбираться с ба...

[Перевод] Приёмы в проектировании пользовательского интерфейса, которые сэкономят время В переводе этой статьи автор приводят ряд советов и приёмов, которые упростят жизнь при проектировании дизайна пользовательского интерфейса. В статье даны сведения о полезных и экономящих время возможностях работы таких программ как Sketch, Adobe Illustrator, Figma, Adobe XD...

[Перевод] Новое в Hadoop: познакомимся с различными форматами файлов в Hadoop Всем привет! Публикуем перевод статьи, подготовленный для студентов новой группы курса «Data Engineer». Если интересно узнать, как построить эффективную и масштабируемую систему обработки данных с минимальными затратами, посмотрите запись мастер-класса Егора Матешука! Неско...

[Из песочницы] Proof-Of-Work эффективен Привет, Хабр! Представляю вашему вниманию перевод статьи «PoW is Efficient» автора Dan Held. Вступление Большинство людей думает, что энергия, потраченная на Proof-Of-Work (далее PoW), тратится впустую. В этой статье я расскажу, почему все основано на энергии, включая деньг...

Hello, World! Глубокое погружение в Терминалы На написание данной статьи меня вдохновила статья об анализе Сишного printf. Однако, там был пропущен момент о том, какой путь проходят данные после того, как они попадают в терминальное устройство. В данной статье я хочу исправить этот недочет и проанализировать путь данны...

[Перевод] Путь к проверке типов 4 миллионов строк Python-кода. Часть 3 Представляем вашему вниманию третью часть перевода материала о пути, который прошла компания Dropbox, внедряя у себя систему проверки типов Python-кода. → Предыдущие части: первая и вторая Читать дальше →

«Анализ данных на Python» в двух частях Курсы по анализу данных в CS центре читает Вадим Леонардович Аббакумов — кандидат физ.-мат. наук, он работает главным экспертом-аналитиком в компании Газпромнефть-Альтернативное топливо. Лекции предназначены для двух категорий слушателей. Первая — начинающие аналитики, кот...

Методика D.I.Y. проекта. Часть вторая В заключительной части статьи «Методика D.I.Y. проекта» будет рассмотрен комплекс организационных мероприятий на стадии исполнения и закрытия любительского проекта. Предыдущие части статьи опубликованы здесь и здесь. Читать дальше →

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

Приложения для электронных книг на операционной системе Android (часть 3) В этой (третьей) части статьи о приложениях для электронных книг на операционной системе Android будут рассмотрены следующие две группы приложений: 1. Альтернативные словари 2. Заметки, дневники, планировщики Краткое содержание предыдущих двух частей статьи: В 1-ой част...

[Перевод] Делаем приложение доступным, используя библиотеку тестирования доступности aXe Представляем вам перевод статьи Indrek Lasn, опубликованной на Medium.com. Под катом вы узнаете, как сделать приложение или сайт более доступными при помощи aXe — средства тестирования доступности веб-сайтов и других пользовательских интерфейсов. react-axe показывает резул...

[Перевод] Почему, зачем и когда нужно использовать ValueTask Этот перевод появился благодаря хорошему комментарию 0x1000000. В .NET Framework 4 появилось пространство System.Threading.Tasks, а с ним и класс Task. Этот тип и порождённый от него Task<TResult> долго дожидались, пока их признают стандартами в .NET в роли ключевых а...

[Из песочницы] Как работают денежные переводы с карты на карту Несмотря на то, что популярность данного вида переводов с каждым годом растёт все больше, в интернете очень мало информации о том как они работаю «изнутри», и в этой статье я простым языком расскажу что такое p2p-переводы, какие они бывают и как они устроены. Читать дальше...

Ethernet, FTP, Telnet, HTTP, Bluetooth — основы анализа трафика. Решение задач на сети с r0от-мi. Часть 1 В данной статье 5 первых заданий, узнаем основы анализа трафика различных сетевых протоколов. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказыват...

Быстрая локализация проблем производительности Microsoft SQL Server в Quest Foglight В прошлой статье об инструменте для мониторинга Foglight for Databases мы рассказывали о возможностях контроля из единого интерфейса SQL Server, Oracle, PostgreSQL, MySQL, SAP ASE, DB2, Cassandra и MongoDB. Сегодня разберём подходы к быстрому выявлению причин нештатной раб...

[Перевод] Моя вторая неделя с Haiku: множество скрытых алмазов и приятных сюрпризов, а также некоторые проблемы Редактирование снимка экрана для этой статьи — в Haiku TL;DR: Производительность намного лучше, чем изначально. Виноват был ACPI. Запуск в виртуальной машине работает прекрасно для показа экрана. Git и менеджер пакетов встроены в файловый менеджер. Публичные беспроводные се...

[Перевод] Service mesh для микросервисов. Часть III. Более глубокий взгляд на Istio Перевод статьи подготовлен специально для студентов курса «Инфраструктурная платформа на основе Kubernetes». Это третья статья из серии публикаций, посвященных  Kubernetes и технологии service mesh (также известной как «сеть микросервисов» и «mesh-сеть микросервисов»). В ...

PVS-Studio идёт в облака – запуск анализа на Travis CI На данный момент облачные CI-системы — очень востребованный сервис. В этой статье мы расскажем, как, с помощью уже существующих средств, доступных в PVS-Studio, можно интегрировать анализ исходного кода с облачной CI платформой, на примере сервиса Travis CI. Читать дальше ...

[Из песочницы] 10 советов для того, чтобы быть хорошим техническим лидером Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Tips for Being a Good Tech Lead» автора VijayDeveloper. Лидерство это не услуга, это умение. Профессионалы, работающие разработчиком программного обеспечения в течение нескольких лет, получают шанс стать технолог...

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

Смартфон LG Q9 One получил процессор двухлетней давности Компания LG представила в Южной Корее новый смартфон среднего уровня. Он получил довольно странные характеристики. Смартфон работает на платформе Android One и базируется на процессоре Qualcomm Snapdragon 835 двухлетней давности.

[Из песочницы] Перевод: Стандарт IEEE 802.15.4z. Что нас ждет в будущем? Привет, Хабр! Представляю вашему вниманию перевод статьи «IEEE P802.15. Wireless Personal Area Networks». Перевод статьи: mentor.ieee.org/802.15/documents?is_dcn=coexistence%20document&is_group=004z Файл: 09-Apr-2019 ET Coexistence Document 15.4z Benjamin A. Rolfe (BCA...

Восемь именных законов в UX дизайне (часть 2) Эта статья является продолжением опубликованной ранее первой части. Если вы еще не успели ознакомиться с ней, рекомендую начать именно с нее. Читать дальше →

[Перевод] Подготовка к Spring Professional Certification. Spring Security Эта статья является переводом статьи по подготовке к Spring Professional Certification. В ней будет рассмотрена тема Spring Security и основные вопросы по ней. Ее также можно использовать для подготовки к собеседованию. ↓ Остальные статьи доступны по ссылкам в оглавлении ↓ ...

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

pg_stat_statements + pg_stat_activity + loq_query = pg_ash? В качестве короткого дополнения к статье Попытка создать аналог ASH для PostgreSQL. Задача Необходимо связать историю представлений pg_stat_statemenets, pg_stat_activity. В результате, используя историю планов выполнения из сервисной таблицы log_query, можно получить очень ...

[Перевод] MVC в Unity со Scriptable Objects. Часть 1 MVC (Model-View-Controller) — это схема, предполагающая разделение данных приложения, пользовательского интерфейса и управляющей логики на три отдельных компонента, чтобы каждый из них можно было независимо модифицировать. Разработчик Cem Ugur Karacam поделился своим опытом ...

[Перевод] Утечка 809 миллионов email адресов сервиса Verifications.io из-за публично открытой MongoDB Примечание переводчика — поводом для перевода статьи стало получение уведомления Have I Been Pwned о том, что мои данные оказались в этой утечке. На прошлой неделе исследователи безопасности Bob Diachenko и Vinny Troia обнаружили незащищенную базу данных MongoDB, содержащую...

PHP, почём абстракции для народа? Joy: What is going on? Sadness: We’re abstracting! There are four stages. This is the first. Non-objective fragmentation! Bing Bong: Alright, do not panic. What is important is that we all stay together. [suddenly his abstract arm falls off] Joy: Oh! [Sadness and Joy start ...

Трансформация кода в Android 2. Анализ AST Первая часть Пример на Github В этой статье расскажу о том, как решал проблемы, с которыми столкнулся в предыдущей части при реализации проекта. Во-первых, при анализе трансформируемого класса, нужно как-то понять, является ли этот класс наследником Activity или Fragment...

[Из песочницы] Языковые слои Привет, Хабр! Предлагаю вашему вниманию перевод статьи «Language Layers» автора Robert C. Martin (Uncle Bob). Читать дальше →

[Из песочницы] Вещи, которых я не знаю в 2018 Привет, Хабр! Представляю вашему вниманию перевод статьи "Things I Don’t Know as of 2018" автора Дэна Абрамова. Люди обычно думают, что я знаю многое, но это не так на самом деле. Это не так плохо и я совсем не жалуюсь. (Некоторая малая часть людей часто страдает от предвзят...

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

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

[Перевод] Как использовать systemd-nspawn для восстановления Linux-системы Перевод статьи подготовлен специально для студентов курса «Администратор Linux». Разбираемся со способностью systemd запускать контейнеры для восстановления корневой файловой системы поврежденной системы. До тех пор пока будут существовать системы GNU/Linux, системным ...

[Перевод] Зал славы потребительской электроники: истории лучших гаджетов последних 50 лет, часть 3 Вторая часть GPS-навигатор Garmin StreetPilot Garmin StreetPilot помог уничтожить рынок уличных атласов, но, возможно, сохранил несколько браков Путь вперёд: Garmin StreetPilot, появившийся в 1998 году по цене в $400, был одним из первых практичных и доступных GPS-навигат...

[Перевод] Mozilla собирается использовать WASI для всех устройств, компьютеров и операционных систем Всем привет! На связи TestMace и мы продолжаем знакомить вас с самыми горячими новостями из мира JavaScript. На очереди перевод статьи о WASI — технологии, которая позволит использовать WebAssembly вне браузеров Один формат, чтоб править всеми Компания Mozilla на этой недел...

Опубликован анализ данных с зонда Voyager 2, полученных после выхода в межзвёздное пространство Космический зонд Voyager 2 Национального управления США по воздухоплаванию и исследованию космического пространства (NASA) в прошлом году вышел в межзвёздное пространство, повторив достижение космического аппарата Voyager 1. JPL/NASA. В научном журнале Nature Astronomy на эт...

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

Пароли Cisco, перенос зоны DNS, нулевые запросы LDAP, собираем Ethernet пакеты. Решение задач на сети с r0от-мi. Часть 2 В данной статье решим еще несколько задач. Ссылки на другие части ниже. Первая часть: Ethernet, FTP, Telnet, HTTP, Bluetooth — основы анализа трафика. Решение задач на сети с r0от-мi. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиват...

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

[Из песочницы] Как сэкономить в AWS до полумиллиона долларов? Привет, Хабр! Представляю вашему вниманию перевод статьи «How to reduce your AWS costs? Save up to $500k with these guidelines!» автора George Batschinski. В этой статье мы в подробностях расскажем, как Back4App уменьшила свои расходы в AWS с $55,492 в месяц до $20,074 в ...

[Перевод] Создание игры «Крестики-нолики» при помощи TypeScript, React и Mocha Представляем вам перевод статьи Josh Kuttler, опубликованной на blog.bitsrc.io. Узнайте, как создать приложение «Крестики-нолики», используя React и TypeScript. Простая игра в крестики-нолики создана по модульному принципу и загружена на сайт Bit. Вы можете изменять компо...

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

20 проектов, 20 языков, срок вчера. Часть 3 Заключительная статья об интеграции Serge+Smartcat. В этой статье я расскажу, как мы масштабируем Serge на всю компанию, рассмотрю 4 нестандартных интеграции и, в качестве бонуса, расскажу о 2 фичах которые могут упростить вам жизнь. Предыдущие статьи: 20 проектов, 20 язык...

Истории успеха Kubernetes в production. Часть 10: Reddit На прошлой неделе было объявлено о том, что отныне все новые сервисы Reddit запускаются в production на инфраструктуре, основанной на Kubernetes-кластерах. Эта значимая веха на пути миграции на K8s одного из популярнейших онлайн-ресурсов, и вот как к ней пришли… Читать дал...

Блог RUVDS на Хабре: год за три С самого начала года у нас была какая-то тактика и мы её придерживались. Как результат — прямо сейчас мы на первом месте в рейтинге компаний, а из не менее приятного — ТМ вручили нам награду за второе место в номинации «Лучший корпоративный блог на Хабре». Под катом расскаже...

[Перевод] Топ 20 навигационных фич в IntelliJ IDEA Перевод статьи подготовлен специально для студентов курса «Android-разработчик. Продвинутый курс». И хотя в данном материале речь пойдет преимущественно о Java, материал будет полезен Android-разработчикам Продолжая серию статей, в которых я освещаю основные фичи IntelliJ...

AERODISK Engine: Катастрофоустойчивость. Часть 1 Привет, читатели хабра! Темой этой статьи будет реализация средств катастрофоустойчивости в системах хранения AERODISK Engine. Изначально мы хотели написать в одной статье про оба средства: репликацию и метрокластер, но, к сожалению, статья получилась слишком большой, поэто...

[Перевод] AMD Radeon VII: рывок в High-End (часть 3) Часть 1 >> Часть 2>>Часть 3 Производительность вычислений Пожалуй, достаточно об играх. Рассмотрим вычислительные аспекты Radeon VII. Хотя он в основе своей похож на Vega первого поколения, вокруг него много шума об улучшенной вычислительной мощности Vega 20. По...

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

Web scraping на R, часть 2. Ускорение процесса с помощью параллельных вычислений и использование пакета Rcrawler В прошлой статье я с помощью скрэпинга-парсинга собрал с сайтов IMDB и Кинопоиск оценки фильмов и сравнил их. Репозиторий на Github. Код неплохо справился со своей задачей, однако скрэпинг часто используют для "соскабливания" не пары-тройки страниц, а пары-тройки тысяч и д...

[Перевод] Обмен данными между React-компонентами с использованием библиотеки RxJS Перед вами перевод статьи Chidume Nnamdi, опубликованной на blog.bitsrc.io. Перевод публикуется с разрешения автора. Появление библиотеки RxJS открыло массу новых возможностей в мире JS. Цель RxJS — достигать многого, используя небольшое количество кода. Прочитав эту стат...

[Перевод] Создание игры для Game Boy, часть 2 Несколько недель назад я решила поработать над игрой для Game Boy, создание которой доставило мне большое удовольствие. Её рабочее название «Aqua and Ashes». Игра имеет открытые исходники и выложена на GitHub. Предыдущая часть статьи находится здесь. Фантастические спрайты...

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

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

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

Фракталы в иррациональных числах. Часть 2 Часть 0: Фракталы в простых числах. Часть 1: Фракталы в иррациональных числах. В статье присутствуют Gif и контрастные картинки. У эпилептиков может случиться эпилептический припадок. Читать дальше →

[Перевод] Как обучать детей правильно пользоваться технологиями, если в вашем детстве такого не было? Привет, Хабр! Предлагаю вашему вниманию перевод статьи "Children's Exposure to Digital Technology Causes Parental Anxiet" от Kim Flaherty и Kate Moran. Читать дальше →

[Из песочницы] Эффективные и не эффективные методы кодинга на Python Привет, Хабр! Предлагаю Вашему вниманию перевод статьи Good and Bad Practices of Coding in Python автора Duomly. Python – высокоуровневый язык программирования, акцентирующий внимание на удобочитаемости. Он разрабатывается, поддерживается и часто используется в соответствии...

[Перевод] Что я узнал про оптимизацию в Python Всем привет. Сегодня хотим поделиться еще одним переводом подготовленным в преддверии запуска курса «Разработчик Python». Поехали! Я использовал Python чаще, чем любой другой язык программирования в последние 4-5 лет. Python – преобладающий язык для билдов под Firefox, те...

Некоторые аспекты мониторинга MS SQL Server. Рекомендации по настройке флагов трассировки Предисловие Довольно часто пользователи, разработчики и администраторы СУБД MS SQL Server сталкиваются с проблемами производительности БД или СУБД в целом, поэтому весьма актуальным является мониторинг MS SQL Server. Данная статья является дополнением к статье Использование ...

[Из песочницы] Система генерации ландшафта лабиринта с улучшенным визуальным реализмом [перевод статьи Jinmo Kim] Привет, Хабр! В этой публикации я расскажу о статье автора Jinmo Kim: "Maze Terrain Authoring System in Immersive Virtual Reality for New Visual Realism". Она была опубликована 4.04.2019. Полный текст статьи можно посмотреть здесь. Краткое описание системы В стать...

Самые мощные смартфоны ноября в Китае по версии AnTuTu: доступный vivo iQOO Neo 855 теперь в топе Только неделю назад была опубликована октябрьская подборка самых мощных смартфонов на глобальном рынке по версии AnTuTu, как появился топ устройств, продающихся в Китае за ноябрь. И он традиционно куда более разнообразен. Рейтинг почти не поменялся в сравнении с прошлым мес...

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

[Перевод] Указатели сложны, или Что хранится в байте? Привет, Хабр! Представляю вашему вниманию перевод статьи "Pointers Are Complicated, or: What's in a Byte?" авторства Ralf Jung. Этим летом я снова работаю над Rust фуллтайм, и я снова буду работать (помимо прочих вещей) над "моделью памяти" для Rust/MIR. Однако, прежде чем я...

Реверсим MIPS и Golang — основы реверса. Решение задач на реверсинг с r0от-мi. Часть 2 В данной статье разберемся с декомпиляцией MIPS бинарника в Ghidra и пореверсим программу, написанную на golang, в IDA. Часть 1 — C, C++ и DotNet decompile. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информа...

[Из песочницы] WWDC19: Приступим к работе с Test Plan для XCTest Привет, Хабр! Представляю вашему вниманию перевод статьи «WWDC19: Getting Started with Test Plan for XCTest» автора Shashikant Jagtap. На прошедшей конференции WWDC компания Apple показала новые классные фичи для разработчиков. В Xcode 11 так же добавлено несколько потряс...

Дискретная математика для WMS: алгоритм сжатия товаров в ячейках (часть 2) В статье мы расскажем, как разрабатывали алгоритм оптимального сжатия остатков товаров в ячейках. Расскажем как выбирали нужную метаэвристику среду «зоопарка» фреймворков: табу-поиск, генетический алгоритм, муравьиная колония и др. Проведем вычислительный эксперимент по ...

[Перевод] Как сделать ваш HTML отзывчивым, добавив одну строку кода на CSS Привет, Хабр! представляю вашему вниманию перевод статьи «How to make your HTML responsive by adding a single line of CSS» автора Per Harald Borgen. В этой статье я научу вас, как использовать CSS Grid для создания крутой сетки изображений, которая изменяет количество сто...

[Из песочницы] Лучшие практики React и советы, которые каждый разработчик должен знать. Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи «React Best Practices & Tips Every React Developer Should Know Pt.1» автора Alex Devero. React — одна из самых популярных библиотек для построения интерактивных пользовательских интерфейсов. В этой статье я пока...

На пути к ядру Питона Привет, Хабр! Представляю вашему вниманию перевод статьи Toward a “Kernel Python” автора Glyph Lefkowitz (создателя фреймворка Twisted). Подробнее — под катом. Читать дальше →

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

Монорепозитории: пожалуйста, не надо (часть 2) Всем привет! Итак, новая порция обещанного холивара про монорепозитории. В первой части мы обсуждали перевод статьи уважаемого инженера из Lyft (и ранее Twitter) о том, какие есть недостатки у монорепозиториев и почему они нивелируют почти все достоинства этого подхода. Лич...

Эксперимент — от парного программирования к программированию всей командой Очень хочу поделиться с вами переводом статьи про эксперимент с моб-программированием от одного из его создателей, Вуди Зила. Это когда вся команда сразу работает за одним компьютером. Как парное программирование, только групповое. Я бывший Java-разработчик и тимлид с 11-лет...

Как ускорить работу с API на языке R с помощью параллельных вычислений, на примере API Яндекс.Директ (Часть 2) В прошлой статье я рассказал о том, что такое многопоточность, и привёл примеры её реализации на языке R при работе с API Яндекс.Директ с помощью пакетов doSNOW, doParallel и конструкции foreach. Данная статья является продолжением, но может быть рассмотрена как автономное р...

[Перевод] Извлечение данных при машинном обучении Хотите узнать о трех методах получения данных для своего следующего проекта по ML? Тогда читайте перевод статьи Rebecca Vickery, опубликованной в блоге Towards Data Science на сайте Medium! Она будет интересна начинающим специалистам. Получение качественных данных — это пе...

[Перевод - recovery mode ] Руководство по SQL: Как лучше писать запросы (Часть 2) Продолжение статьи Руководство по SQL: Как лучше писать запросы (Часть 1) От запроса к планам выполнения Зная, что антипаттерны не статичны и эволюционируют по мере того, как вы растете как разработчик SQL, и тот факт, что есть много, что нужно учитывать, когда вы задумыва...

SamsPcbGuide, часть 9: Гальваническая изоляция, безопасность и печатные платы Данная статья продолжает рассмотрение вопроса, поднятого @olartamonov, а именно, обеспечение безопасности в высоковольтных приложениях. В статье будут рассмотрены физические основы пробоя диэлектриков, а также новый стандарт безопасности. Читать дальше →

[Перевод] Функциональное мышление. Часть 11: Финал Сегодня мы заканчиваем нашу серию статей о функциональном программировании. Получилось 11 частей. Я считаю, что это достижение. В этой статье реализуем простой стековый калькулятор (также известный как "обратная Польская нотация"). Реализация практически полностью построена ...

[Из песочницы] Как разработать ещё один платформер с помощью Unity. Ещё один туториал Привет, Хабр! Под катом вас ждёт ещё одна статья, которая расскажет о том, как я поставил себе цель запрограммировать игру, основываясь на переводе статьи на Хабр под названием Паттерны дизайна уровней для 2D-игр. Статья имеет много текста (как обычного, так и исходного) и м...

Интерфейсы для мониторинга производительности популярных БД в Foglight for Databases В прошлых статьях мы рассказывали о мониторинге различных БД в Quest Foglight for Databases и о подходе к быстрой локализации проблем производительности SQL Server. В этой мы покажем какие ещё дашборды можно использовать на основе собираемых метрик. А метрик этих достаточн...

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

Operating Systems: Three Easy Pieces. Part 5: Планирование: Multi-Level Feedback Queue (перевод) Введение в операционные системы Привет, Хабр! Хочу представить вашему вниманию серию статей-переводов одной интересной на мой взгляд литературы — OSTEP. В этом материале рассматривается достаточно глубоко работа unix-подобных операционных систем, а именно — работа с процесс...

О пиве глазами химика. Часть 2 Привет, %username%. Если у тебя прямо сейчас возник вопрос: «Эй, что значит часть 2 — а где первая?!» — срочно идти сюда. Ну а для тех, кто уже знаком с первой частью — переходим непосредственно к делу. Да, и я знаю, что для многих пятница только началась — ну вот и пов...

[Из песочницы] 27 вещей, которые я хотел бы узнать заранее, прежде чем начинать программировать Привет, Хабр! Представляю вашему вниманию перевод статьи «27 things I wish I knew when I started programming» автора Ken Mazaika. Заранее, прежде чем начинать программировать, хотелось бы узнать массу вещей, но вот 27 из них, которые приходят на ум. Читать дальше →

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

[Перевод] Про «Open» Distros, Open Source, и создание компании Elastic В контексте событий про Open Distro, открытие исходников X-Pack, а также статьи «The Cloud and Open Source Powder Keg» — перевод поста Шейя Бэнона (основатель и CEO Elastic). Читать дальше →

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

Операция TA505: сетевая инфраструктура группировки. Часть 3 Анализ сетевой инфраструктуры играет большую роль в исследовании вредоносных кампаний. Сведения о том, какие IP-адреса соответствовали доменному имени в различные промежутки времени, позволяют определить новые серверы злоумышленников. Решение противоположной задачи (ретрос...

[Перевод] Приключения неуловимой малвари, часть V: еще больше DDE и COM-скриплетов Эта статья является частью серии «Fileless Malware». Все остальные части серии: Приключения неуловимой малвари, часть I Приключения неуловимой малвари, часть II: скрытные VBA-скрипты Приключения неуловимой малвари, часть III: запутанные VBA-скрипты для смеха и прибыли ...

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

[Перевод] ValueTask<TResult> — почему, зачем и как? Предисловие к переводу В отличие от научных статей, статьи данного типа сложно переводить "близко к тексту", приходится проводить довольно сильную адаптацию. По этой причине приношу свои извинения, за некоторую вольность, с моей стороны, в обращении с текстом исходной статьи...

LG может выпустить Q9 — смартфон с чипом Snapdragon 821 — флагманом 2016 года LG уже почти выпала из эшелона топовых производителей смартфонов, уступив место китайским производителям: Huawei, Xiaomi и другим. Но это не мешает ей и дальше выпускать устройства. Так, в сеть попала информация о смартфоне LG Q9. Еще в прошлом году ходили слухи, что работа...

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

Нагрузочное тестирование с locust. Часть 3 Финальная статья об инструменте для нагрузочного тестирования Locust. Сегодня поделюсь наблюдениями, которые накопил в процессе работы. Как всегда, видео прилагается. Часть 1 — тестирование с Locust Часть 2 — продвинутые сценарии Читать дальше →

[Перевод] 10 самых распространенных ошибок при работе с платформой Spring. Часть 1 Всем привет. Сегодня делимся первой частью статьи, перевод которой подготовлен специально для студентов курса «Разработчик на Spring Framework». Начнём! Spring — пожалуй, одна из самых популярных платформ разработки на языке Java. Это мощный, но довольно сложный в освоении...

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

[Перевод] Учебник по JavaFX: основные макеты Перевод статьи «JavaFX Tutorial: Basic layouts» автора Vojtech Ruzicka. Как организовать и разместить GUI компоненты в приложении JavaFX. Это четвертая статья в серии о JavaFX. В предыдущей статье я описал, как использовать FXML и SceneBuilder для создания вашего пользоват...

[Перевод] Исчерпывающий список различий между VB.NET и C#. Часть 1 Согласно рейтингу TIOBE в 2018 году VB.NET обогнал по популярности C#. Совпадение или нет, но в феврале Эрик Липперт, один из создателей C#, призвал читателей обратить внимание на блог его друга, бывшего коллеги по команде компилятора Roslyn и, по совместительству, ярого ф...

[Из песочницы] «Статья про минет»: ученые обработали 109 часов орального секса, чтобы разработать ИИ, который сосет член Привет, Хабр! Представляю вашему вниманию перевод статьи Саманты Коул (Samantha Cole) c motherboard.vice.com. Анонимные специалисты по машинному обучению написали «статью про минет», чтобы сделать эту машинку для отсоса более реалистичной. Autoblow AI, секс-игрушка для поль...

Финансовая ловушка в Яндекс.Деньги Привет, Хабр! Хотел бы поделиться с вами одной особенностью Яндекс.Денег, которая выглядит, как ловушка для ваших денег и, на мой взгляд, является хорошим примером непродуманного UX. Хочется верить, что это было сделано не нарочно, а эта небольшая статья или как-то оградит ч...

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

[Из песочницы] Переносим проект с Swift 4.2 на Swift 5.0 Привет, Хабр! Представляю вашему вниманию перевод статьи «Swift 5.0: How to migrate your project and frameworks» автора Antoine Van Der Lee. Swift 5.0 был выпущен в марте 2019 года и является первым стабильным выпуском ABI Swift. Несмотря на то, что многие ресурсы освещают ...

[Перевод] Как вернуть контроль и уменьшить зависимость от смартфонов и уведомлений Данные от 200 000 пользователей iPhone Тристан Харрис — борец с Facebook, Google и другими крупными корпорациями. Его называют «Совестью Кремниевой долины». Его основной посыл — что тысячи специалистов в сотнях ИТишных компаниях борются за то, чтобы вы отвлекались от полн...

[Из песочницы] Учебник по JavaFX: начало работы Привет, Хабр! Представляю вашему вниманию перевод статьи «JavaFX Tutorial: Getting started» автора Vojtech Ruzicka. Как настроить и начать работать с JavaFX, с помощью Maven, Gradle или JavaFX SDK. Читать дальше →

[Перевод] Прокачиваем навыки отладки JavaScript с помощью консольных трюков Перед вами перевод статьи из блога Better Programming на сайте Medium.com. Автор, Indrek Lasn, рассказывает об инструментах для отладки кода, которые предоставляет JavaScript. Читать дальше →

[Перевод] Рекомендации по созданию приложений на React Native. Часть 1 Добрый день, хабровчане. Сегодня делимся с вами переводом статьи, перевод которой был подготовлен специально для первого запуска курса «ReactJS/React Native-разработчик». Приятного прочтения. Если вы новичок в мире React Native, то вы знаете, что в нем есть некоторые по...

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

Основы движков JavaScript: общие формы и Inline кэширование. Часть 1 Привет, друзья. В конце апреля мы запускаем новый курс «Безопасность информационных систем». И уже сейчас хотим поделиться с вами переводом статьи, которая непременно будет очень полезной для курса. В статье описаны ключевые основы, они являются общими для всех движков Jav...

[Перевод] Преимущества и недостатки HugePages Перевод статьи подготовлен для студентов курса «Администратор Linux». Ранее я рассказал о том, как проверить и включить использование Hugepages в Linux. Эта статья будет полезна, только если у вас действительно есть, где использовать Hugepages. Я встречал множество людей, ...

[Из песочницы] Изучение комбинаторных парсеров с Rust Привет, Хабр! Представляю вашему вниманию перевод статьи "Learning Parser Combinators With Rust". Эта статья учит основам комбинаторных парсеров людей, которые уже знакомы с Rust. Предполагается, что никаких других знаний не требуется, а всё, что не имеет прямого о...

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

[Перевод] Как полиморфизм реализован внутри JVM Перевод данной статьи подготовлен специально для студентов курса «Разработчик Java». В моей предыдущей статье Everything About Method Overloading vs Method Overriding (“Все о перегрузке и переопределении методов”) были рассмотрены правила и различия перегрузки и переопре...

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

[Перевод] Стартап, который использовал ИИ, чтобы разработать лекарство за 21 день И снова здравствуйте. В преддверии запуска курса «Нейронные сети на Python», хотим поделиться с вами переводом интересной статьи о вкладе ИИ в развитие медицины. Компания Insilico Medicine из Гонконга опубликовала исследование, показывающее, что их система глубокого обуче...

[Перевод] Топ-5 JS-фреймворков для фронтенд-разработки в 2020 году. Часть 2 Публикуем вторую часть перевода материала, посвящённого пятёрке лучших JavaScript-инструментов для разработки клиентских частей веб-проектов. В первой части речь шла о библиотеке React и о фреймворке Angular. Здесь мы обсудим Vue, Ember и Backbone. Читать дальше →

[Из песочницы] Изучить отзывчивый веб-дизайн за 5 минут Привет, Хабр! Представляю вашему вниманию перевод статьи «Learn responsive web design in 5 minutes» автора Per. В этой статье я научу вас многим приёмам отзывчивого дизайна за 5 минут. Этого, очевидно, недостаточно для правильного изучения, но здесь вы найдёте обзор на след...

[Перевод] Заложники COBOL и математика. Часть 2 Сегодня публикуем вторую часть перевода материала о математике, о COBOL, и о том, почему этот язык всё ещё жив. → Первая часть Читать дальше →

[Из песочницы] Angular. Понимание @Input, @Output и EventEmitter Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding @Input, @Output and EventEmitter in Angular» автора foolishneo. Приветствую всех желающих накапливать информацию о тонкостях работы фреймворка Angular. Сегодня посчитал нужным лучше изучить информацию,...

СМИ подняли панику, что «в России кончаются IP-адреса». Как на самом деле? Распределение адресного пространства IPv4 (слева) и IPv6 (справа), апрель 2018 года На прошлой неделе немало шума наделала статья «К концу сентября в России закончатся IP-адреса» в РБК (123 000 просмотров), которую затем подхватили другие СМИ. На самом деле никаких причи...

[Перевод] Что нового в Spring Boot 2.2? Перевод статьи подготовлен специально для студентов курса «Разработчик на Spring Framework». 16 октября 2019 года был выпущен Spring Boot 2.2 ! В этом посте вы узнаете о многих новых плюшках, которые предлагает вам версия 2.2. Читать дальше →

Operating Systems: Three Easy Pieces. Part 4: Введение в планировщик (перевод) Введение в операционные системы Привет, Хабр! Хочу представить вашему вниманию серию статей-переводов одной интересной на мой взгляд литературы — OSTEP. В этом материале рассматривается достаточно глубоко работа unix-подобных операционных систем, а именно — работа с процесс...

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

[Перевод] Service mesh для микросервисов. Часть II, основы работы с Istio Перевод статьи подготовлен специально для студентов курса «Инфраструктурная платформа на основе Kubernetes». Настройка базового микросервиса в Kubernetes обманчиво проста. В одной из последних статей мы рассказали, как легко начать работать с контейнерами. Мы скомпоновали п...

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

JMeter — швейцарский нож тестировщика (Часть 2) Сегодня расскажу, как мы с помощью JMeter’а наладили процесс кэширования продуктовых страниц, проверили работу мобильного приложения без самого приложения и создали 2000 юзеров в системе без доступа к базе данных. Кто не в курсе, что здесь происходит, читайте первую часть ...

Laravel: разбираем основные понятия. Часть третья: «Заключительная» Считанные дни остаются до старта нового курса от OTUS — «Framework Laravel». В преддверии старта курса делимся заключительной частью авторской публикации о основных понятиях в Laravel. Важно: данная серия публикаций не имеет отношения к образовательной программе курса и явля...

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

Русская «Википедия» назвала самые популярные статьи Русскоязычный раздел интернет-энциклопедии «Википедия» опубликовала список самых популярных и посещаемых статей в 2018 году. На первом месте оказалась статья «Чемпионат мира по футболу 2018», количество посещений в день у неё превышало 20 тысяч.&...

Создание своего jsfiddle, часть 2 Привет всем читателем Habr. В данной статье мы будем продолжать писать свой онлайн редактор кода. В этой статье мы сделаем функцию сохранения кода в localStorage и по обновлению страницы этот код будет вставляться в эти 3 поля, а также сделаем функцию скачивания этого кода...

[Перевод] Новый алгоритм поиска пути в Factorio На прошлой неделе мы говорили в своём блоге об изменениях, которые позволят врагам (biters) не наталкиваться друг на друга, но это было не единственное обновление, связанное с biter-ами. Совпало так, что в обновления этой недели вошло то, над чем мы работали предыдущие неск...

[Перевод] Обзор AI & ML решений в 2018 году и прогнозы на 2019 год: Часть 2 — Инструменты и библиотеки, AutoML, RL, этика в AI Всем привет! Представляю вам перевод статьи Analytics Vidhya с обзором событий в области AI / ML в 2018 году и трендов 2019 года. Материал довольно большой, поэтому разделен на 2 части. Надеюсь, что статья заинтересует не только профильных специалистов, но и интересующихся т...

Ломаем простую «крякми» при помощи Ghidra — Часть 2 В первой части статьи мы при помощи Ghidra провели автоматический анализ простой программы-крякми (которую мы скачали с сайта crackmes.one). Мы разобрались с тем, как переименовывать «непонятные» функции прямо в листинге декомпилятора, а также поняли алгоритм программы «верх...

[Из песочницы] 10 самых распространенных ошибок Spring Framework Привет, Хабр! Представляю вашему вниманию перевод статьи «Top 10 Most Common Spring Framework Mistakes» автора Toni Kukurin. Spring, вероятно, один из самых популярных Java-фреймворков, а также могучий зверь для укрощения. Хотя его базовые концепции довольно легко понять, д...

[Перевод] Классификация покрова земли при помощи eo-learn. Часть 3 Когда нужны результаты лучше, чем "удовлетворительно" Часть 1 Часть 2 Переход зоны из зимнего сезона в летний, составлено из изображений Sentinel-2. Можно заметить некоторые отличия в типах покрова по снегу, что описывалось в прошлой статье. Читать дальше →

Часть вторая. Как проходить code review по версии Google Возможно вы читали первую часть статьи про код ревью со стороны ревьювера (кстати, мы уже успели ее обсудить в последнем выпуске подкаста "Цинковый прод"). Так как статья набрала много лайков, пишу обещанное продолжение про код ревью с другой стороны — со стороны автора из...

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

WAL в PostgreSQL: 4. Настройка журнала Итак, мы познакомились с устройством буферного кеша и на его примере поняли, что когда при сбое пропадает содержимое оперативной памяти, для восстановления необходим журнал предзаписи. Размер необходимых файлов журнала и время восстановления ограничены благодаря периодически...

[Перевод] Вышел .NET Core 3.0 (Preview 6) На прошлой неделе вышел .NET Core 3.0 (Preview 6). В него вошли обновления компиляции сборок для улучшения запуска, улучшения оптимизации приложений по размеру с улучшениями компоновщика и EventPipe. Мы также выпустили новые образы Docker для Alpine на ARM64. Скачать .NET C...

AERODISK Engine: Катастрофоустойчивость. Часть 2. Метрокластер Привет, читатели Хабра! В прошлой статье мы рассказали о простом средстве катастрофоустойчивости в системах хранения AERODISK ENGINE – о репликации. В этой статье мы погрузимся в более сложную и интересную тему – метрокластер, то есть средство автоматизированной защиты от к...

[Перевод] Использование AD Federation Service для авторизации пользователей на AWS с раздачей прав Вольный перевод статьи Jeff Wierer "Enabling Federation to AWS Using Windows Active Directory, ADFS, and SAML 2.0" с добавлениями и уточнениями. 1. Исходные данные 2. Подготовка 3. Конфигурирование AD 4. Установка ADFS 5. Конфигурирование ADFS 6. Конфигурирование AWS 7. ...

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

Перевод книги «Using Google Analytics with R» (Michal Brys) Электронная книга «Using Google Analytics with R» (Michal Brys) представляет собой практическое руководство по анализу данных из Google Analytics в R. Написана дата-сайентистом в 2014 году, но ничуть не теряет своей актуальности и сегодня. Читать дальше →

[Перевод] 10 советов и приемов, которые помогут вам стать лучшим разработчиком на VueJS Перед вами вольный перевод статьи 10 Tips & Tricks to make you a better VueJS Developer с сайта Dev.to. Автор расскажет нам об интересных и полезных вариантах применения привычных нам средств VueJS. Введение Мне действительно нравится работать с VueJS и каждый раз, когда...

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

[Перевод] Я ненавижу почти всё ПО Прим. переводчика: Недавно создатель NodeJS Райн Дал открывал конференцию HolyJS в питере. И я вспомнил, что у меня есть неопубликованный перевод с его блога и решил его опубликовать. Местами перевод довольно откровенный. Надеюсь, вам будет интересно. Дата выхода статьи — Ок...

Разработка простейшей «прошивки» для ПЛИС, установленной в Redd. Часть 2. Программный код Итак, в прошлой статье мы разработали простейшую процессорную систему, с помощью которой планируем провести тест микросхемы ОЗУ, подключённой к ПЛИС комплекса Redd. Сегодня же мы сделаем для этой аппаратной среды программу на языке С++, а также разберёмся, как эту программу ...

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

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

[Перевод] Как Java 8 поддерживается в Android Привет, Хабр! Предлагаю вашему вниманию перевод замечательной статьи из цикла статей небезызвестного Джейка Вортона о том, как происходит поддержка Андроидом Java 8. Оригинал статьи лежит тут Читать дальше →

Как не утонуть в рутине, или Наш опыт сравнения AWR-дампов при проведении нагрузочного тестирования Всем привет! Меня зовут Людмила, я занимаюсь нагрузочным тестированием, хочу поделиться тем, как мы выполнили автоматизацию сравнительного анализа регрессионного профиля нагрузочного тестирования системы с БД под СУБД Oracle вместе с одним из наших заказчиков. Целью статьи ...

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

[Перевод] Визуализируем и разбираемся с Hash Match Join Этот пост является третьей частью серии, посвященной операторам соединения (обязательно прочитайте часть 1 — nested loops joins, и часть 2 — merge joins). Перевод статьи подготовлен специально для студентов курса «MS SQL Server разработчик». Hash Match Joins — это надежные ...

[Из песочницы] Синтез как один из методов улучшения производительности PostgreSQL Философское вступление Как известно, существует всего два метода для решения задач: Метод анализа или метод дедукции, или от общего к частному. Метод синтеза или метод индукции, или от частного к общему. Для решения проблемы “улучшить производительность базы данных” это...

Новое приложение 3CX для Android — ответы на вопросы и рекомендации На прошлой неделе мы выпустили обновление 3CX v16 Update 3 и новое приложение (мобильный софтфон) 3CX для Android. Софтфон предназначен для работы только с 3CX v16 Update 3 и выше. У многих пользователей возникли дополнительные вопросы о работе приложения. В этой статье мы о...

[Перевод] Введение в детерминированные сборки на С/С++. Часть 1 Перевод статьи подготовлен специально для студентов курса «Разработчик С++». Что такое детерминированная сборка? Детерминированная сборка — это процесс сборки одного и того же исходного кода с одной и той же средой и инструкциями сборки, при котором создаются одни и те же...

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

[Перевод] Как я создал более 100 приложений с открытым кодом, используя инструменты автоматизации Представляем вам перевод статьи Sm0ke, опубликованной на сайте dev.to. Автор рассказывает о своем опыте генерации веб-приложений и способе автоматизации процесса их создания. Привет, кодеры! Я — разработчик-фрилансер, и я сгенерировал более 100 приложений на различных язык...

[Перевод] Итак, вы хотите стать аналитиком в области сетевой безопасности… Перевод статьи подготовлен специально для студентов курса «Пентест. Практика тестирования на проникновение». Вы интересуетесь развитием методов взлома и хотите поделиться своими открытиями с сообществом информационной безопасности? В этой статье я дам некоторые рекомендац...

Коренные микробы на пике моды Indibiome – is the new black (что-то очень стильное) — так называется статья на английском (ссылка на Хабр), здесь приводится перевод моего собственного текста. Коренные микробы на пике моды, точно так же как в электронной и компьютерной индустриях, конструкторские бюро микр...

[Перевод] Путь к проверке типов 4 миллионов строк Python-кода. Часть 2 Сегодня публикуем вторую часть перевода материала о том, как в Dropbox организовывали контроль типов нескольких миллионов строк Python-кода. → Читать первую часть Читать дальше →

[Перевод] Криптография в Java. Утилита Keytool Привет, Хабр! Представляю вашему вниманию перевод 10 статьи "Java Keytool" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

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

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

[Перевод] Пошаговое руководство по настройке DNS-сервера BIND в chroot среде для Red Hat (RHEL / CentOS) 7 Перевод статьи подготовлен для студентов курса «Безопасность Linux». Интересно развиваться в данном направлении? Смотрите запись трансляции мастер-класса Ивана Пискунова «Безопасность в Linux в сравнении с Windows и MacOS» В этой статье я расскажу о шагах по настройке DNS-с...

[Перевод] Купил!=твоё: John Deere лишает фермеров прав ремонтировать свои собственные тракторы (статья Wired 2018 года) Фермерское бюро Калифорнии (The California Farm Bureau) отказало фермерам в праве чинить свое оборудование, не обращаясь к дилеру. Война фермеров-инженеров и производителем тракторов John Deere началась в 2015 и продолжается до сих пор. Вот приме...

[Перевод] Предварительная загрузка в PHP 7.4 Перевод данной статьи подготовлен специально для студентов курса «Backend разработчик на PHP». В PHP 7.4 добавлена предварительная загрузка — возможность, которая позволяет значительно повысить производительность кода. О предзагрузке в двух словах. Для предварительной...

Так что же будет с аутентификацией и паролями? Вторая часть отчета Javelin «Состояние строгой аутентификации» Недавно исследовательская компания «Javelin Strategy & Research» опубликовала отчёт «The State of Strong Authentication 2019». Его создатели собрали информацию о том какие способы аутентификации используются в корпоративной среде и пользовательских приложениях, а также...

[Перевод] Как работают методы persist, merge из JPA и методы save, update, saveOrUpdate из Hibernate Добрый день, друзья. Перевод статьи подготовлен специально для студентов курса "Разработчик Java". Введение В этой статье я собираюсь показать вам, как работают методы persist, merge из JPA и сравнить их с методами save, update, saveOrUpdate из Hibernate. Хотя лучше испол...

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

Блокчейн: что нам стоит PoC построить? Глаза боятся, а руки чешутся! В прошлых статьях мы разобрались с технологиями, на которых строятся блокчейны (Что нам стоит блокчейн построить?) и кейсами, которые можно с их помощью реализовать (Что нам стоит кейс построить?). Настало время поработать руками! Для реализаци...

[Перевод] 12 возможностей ES10 в 12 простых примерах Перед вами перевод статьи из блога Carlos Caballero на сайте Medium.com. Автор расскажет нам о функциях, которые появились в версии ES10 2019 года. ES10 — это версия ECMAScript, актуальная для 2019 года. Она содержит не так много нововведений, как версия ES6, выпущенная в...

Импортозамещение на практике. Часть 2. Начало. Гипервизор В предыдущей статье были рассмотрены варианты, на что можно заменить существующие системы в рамках выполнения приказа об импортозамещении. Далее в статьях речь пойдет о выборе конкретных продуктов для замены развернутых в настоящее время. Начнем с точки отсчета — системы вир...

Невангеры: Spice must flow Доброго времени суток. В этой статье машинки-мехосы ищут пряность, во тьме зажигаются светлячки и пробуждается червь пустыни. Пятая версия прототипа Невангеров — механика переноса цвета и прочие нововведения. Часть первая: Невангеры Часть вторая: Road is changed Читать д...

Чем нам запомнилась последняя JokerConf На прошлой неделе в Санкт-Петербурге прошла международная Java-конференция Joker. Мы попросили наших ребят, которые её посетили, рассказать немного об организации и самых интересных, по их мнению, выступлениях. Кто-то отметил самые хайповые и весёлые, кто-то — самые актуальн...

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

[Перевод] Криптография в Java. Класс Mac Привет, Хабр! Представляю вашему вниманию перевод четвертой статьи "Java Mac" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

[Перевод] Криптография в Java. Класс Signature Привет, Хабр! Представляю вашему вниманию перевод пятой статьи "Java Signature" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

[Перевод] Криптография в Java. Класс Certificate Привет, Хабр! Представляю вашему вниманию перевод заключительной статьи "Java Certificate" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

Криптография в Java. Класс MessageDigest Привет, Хабр! Представляю вашему вниманию перевод третьей статьи "Java MessageDigest" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

Подготовка данных в Data Science-проекте: рецепты для молодых хозяек В предыдущей статье я рассказывала про структуру Data Science-проекта по материалам методологии IBM: как он устроен, из каких этапов состоит, какие задачи решаются на каждой стадии. Теперь я бы хотела сделать обзор самой трудоемкой стадии, которая может занимать до 90% общ...

Приложения для электронных книг на операционной системе Android. Часть 5. Облачные хранилища и плееры В этой, последней, части статьи о приложениях для электронных книг на операционной системе Android будут рассмотрены две темы: Облачные хранилища и Аудиоплееры. Бонус: список бесплатных библиотек с каталогами OPDS. Краткое содержание предыдущих четырёх частей статьиВ 1-ой ч...

[Из песочницы] Dagger 2 – это элементарно (Часть 1) Содержание Введение Что такое Dependency Injection, Пример зависимости Dagger 2 – введение Первое использование Dagger 2 Введение Статья написана не продвинутым программистом для таких же, обычными и понятными словами В статье используется пример кода на Kotlin. Версия da...

Как оценить производительность СХД на Linux: бенчмаркинг с помощью открытых инструментов В прошлый раз мы рассказывали об инструментах с отрытым исходным кодом для оценки производительности процессоров и памяти. Сегодня говорим о бенчмарках для файловых систем и систем хранения данных на Linux — Interbench, Fio, Hdparm, S и Bonnie. Читать дальше →

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

Как взять сетевую инфраструктуру под свой контроль. Оглавление Оглавление для всех статей цикла «Как взять сетевую инфраструктуру под свой контроль» и ссылки. На данный момент опубликовано 5 статей: Глава 1. Удержание Глава 2. Чистка и документирование Глава 3. Сетевая безопасность. Часть первая Глава 3. Сетевая безопасность. Часть в...

[Перевод] Что такое сервисная сеть Доброе утро всем! Сегодня мы рады предложить вам перевод статьи, кратко рассказывающей о новом технологическом веянии под названием «Service mesh» (сервисная сеть). Наиболее интересным решением в этой сфере (на наш взгляд) является Istio, но предлагаемая статья интересна, в...

К дню космонавтики. Продолжение истории советского баллистического центра «Земля слушает». Нестеров.В.Д. 1965 год Моя прошлая статья с, возможно, претенциозным названием вызвала оживленную дискуссию. Чтобы дать ответы на часть вопросов, я решил выложить письмо Платонова полностью, без какой-либо редактуры. Тем более что оно представляет историче...

Data Science Digest (May 2019) Хабр, привет! В прошлом выпуске я рассказывал, что для дайджеста запустил Telegram-канал, а сегодня хочу поделиться новостью, что также завел для него страницы в facebook, twitter, LinkedIn. Приглашаю всех присоединяться к ним. Кроме этого сегодня мы опубликовали дайдж...

В локальной выдаче Google всё ещё наблюдаются колебания Ранее в этом месяце Google обновил алгоритм ранжирования в блоках локальной выдачи. Однако, по наблюдениям западных экспертов, колебания ещё продолжаются. Первые изменения в локальной выдаче появились 5 ноября. При этом многие компании вернули свои позиции 10 ноября. Однако ...

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

[Из песочницы] Как создать 2D игру с Python и аркадной библиотекой Привет, Хабр! представляю вашему вниманию перевод статьи How to create a 2D game with Python and the Arcade library автора Paul Vincent Craven Как создать 2D игру с Python и аркадной библиотекой Узнайте, как начать работу с Arcade, простой в использовании библиотеки Python д...

Liveprof покажет, когда и почему менялась производительность вашего PHP-приложения Привет, Хабр! Меня зовут Тимур Шагиахметов, я PHP-разработчик в Badoo. Производительность приложения — один из важнейших критериев качества работы программиста. В вопросах оптимизации PHP-приложений помощником является профайлер. Недавно мы рассказывали о том, какими и...

Восхождение на Эльбрус — Разведка боем. Техническая Часть 1. Регистры, стеки и другие технические детали Как и обещали, продолжаем рассказывать про освоение процессоров Эльбрус. Данная статья является технической. Информация, приведенная в статье, не является официальной документацией, ведь получена она при исследовании Эльбруса во многом как черного ящика. Но будет безусловно ...

[Из песочницы] Прагматическое функциональное программирование Привет, Хабр! Предлагаю вашему вниманию перевод статьи «Pragmatic Functional Programming» автора Robert C. Martin (Uncle Bob). Переход к функциональному программированию всерьез развился только около десяти лет назад. Мы видим, что такие языки, как Scala, Clojure и F# прив...

Приглашаем на DINS Java EVENING 18 сентября Приглашаем всех интересующихся java-разработкой на очередной открытый DINS Java EVENING, который пройдет в нашем офисе на Старо-Петергофском, 19. Этим вечером Денис Репп из Wrike расскажет, как организовать работу с техническим долгом в критически важных частях продукта. Ан...

[Перевод] 6 уроков, извлечённых из поиска решения масштабной проблемы на gitlab.com. Часть 2 Представляем вашему вниманию вторую часть перевода материала о борьбе команды gitlab.com с тиранией времени. → Вот, кстати, первая часть. Читать дальше →

[Перевод] Создание собственных синтаксических конструкций для JavaScript с использованием Babel. Часть 2 Сегодня мы публикуем вторую часть перевода материала о расширении синтаксиса JavaScript с использованием Babel. → Головокружительная первая часть Читать дальше →

[Перевод] Мониторинг и проверка состояния SSD в Linux И снова здравствуйте. Перевод следующей статьи подготовлен специально для студентов курса «Администратор Linux». Поехали! Что такое S.M.A.R.T.? S.M.A.R.T. (расшифровывается как Self-Monitoring, Analysis, and Reporting Technology) – это технология, вшитая в накопители, та...

[Перевод] Svelte 3: Переосмысление реактивности Буквально на днях произошло большое событие в сообществе SvelteJS, да и вообще, как мне кажется, для всего современного фронтенда — долгожданный релиз Svelte 3! Посему, под катом перевод статьи автора Svelte и прекрасное видео с его доклада на YGLF 2019. Читать дальше →

[Из песочницы] Как написать легко описываемый код Привет, Хабр! Часто ли у вас было, что вы или ваши коллеги не могли описать свой собственный код парочкой фраз? Предлагаю вашему вниманию перевод статьи "How to write easily describable code" автора Cedd Burge, в которой он делится советом, как избежать таких ситуа...

Приглашаем на неделю NLP в Яндекс С 26 по 29 марта в Яндексе пройдёт неделя NLP, организованная совместно Школой анализа данных и Yandex.Research. Это четырёхдневный интенсив, рассчитанный на разработчиков и исследователей, хорошо знакомых с Natural Language Processing и глубинным обучением. Лекторы курса: ...

[Из песочницы] Операционные vs аналитические базы: колоночное vs построчное хранение данных Базы данных можно реализовать с помощью Excel, GSheet или при помощи больших ORM систем. В своей практике бизнес-аналитика я сталкивался с разными решениями. А поскольку в бизнес-анализ я пришёл из финансов и аудита, то каждый раз встречая новую систему задавался вопросами —...

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

Tic Tac Toe, часть 7: pytest и Travis CI Tic Tac Toe: содержание цикла статейВ этой статье рассмотрим Непрерывную Интеграцию/Сontinuous Integration на примере использования Travis CI. Читать дальше →

Summ3r of h4ck 2019. Отдел анализа защищённости Летняя программа Summ3er of h4ck 2019 завершилась, и настало время подвести итоги. В этой статье мы расскажем, каких же результатов добились практиканты отдела анализа защищённости. Читать дальше →

[Из песочницы] Вступление в архитектуру React Fiber Привет, Хабр! Предлагаю вашему вниманию перевод статьи "React Fiber Architecture" автора Andrew Clark. Вступление React Fiber — прогрессивная реализация ключевого алгоритма React. Это кульминационное достижение двухгодичных исследований команды разработчиков React. Цель Fibe...

[Перевод] UDB. Что же это такое? Часть 8. Адресация UDB Мы завершаем нашу эпопею с переводом фирменной документации Cypress об UDB. Последний выпуск – про адресацию UDB – перед вами. Читать дальше →

Проектирование дашбордов для веб-аналитики e-commerce сайта. Часть 3: SEO-канал В этой статье соберем дашборд для аналитики SEO-трафика. Данные будем выгружать через скрипты на python и через .csv файлы. Что будем выгружать? Для аналитики динамики позиций поисковых фраз потребуется выгрузки из Яндекс.Вебмастера и Google Search Console. Для оценки «поле...

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

[Перевод] Функциональное программирование: дурацкая игрушка, которая убивает производительность труда. Часть 1 Возможно, вы уже слышали о так называемом «функциональном» программировании. Возможно, вы даже подумываете о том, что вам стоит его как-нибудь попробовать. Ни в коем случае этого не делайте! Функциональное программирование полно недочётов, оно не подходит для реальных пр...

[Перевод] Руководство по React Native для начинающих Android-разработчиков (с примером приложения) Представляем вам перевод статьи Nikhil Sachdeva, опубликованной на hackernoon.com. Автор делится опытом разработки мобильных приложений с помощью React Native и предлагает создать свое приложение, используя этот фреймворк. Я был Android-разработчиком и довольно длительное...

[Из песочницы] Создание Redux-подобного глобального хранилища, используя React Hooks Привет, Хабр! Представляю вашему вниманию перевод статьи "Build a Redux-like Global Store Using React Hooks" автора Ramsay. Давайте представим, что я написал интересное предисловие к этой статье и теперь мы сразу можем перейти к по-настоящему интересным вещам. Если...

[Из песочницы] Вам есть, что скрывать Привет, Хабр! Представляю вашему вниманию перевод статьи автора «You don’t have nothing to hide» автора Sharon Flitman. Кажется, приватность в 21м веке становится все более размытым понятием. В не столь далеком прошлом лишь несколько моих друзей знали, где я нахожусь в ...

[Перевод] Откуда берётся квантовая вероятность Вероятность можно представлять себе разными способами. И квантовая механика охватывает их все Статья Шона Кэрролла, профессора теоретической физики из Калифорнийского технического института В философском "Эссе о вероятностях", опубликованном в 1814 году, Пьер-Симон Лаплас...

VMware NSX для самых маленьких. Часть 3. Настройка DHCP Часть первая. Вводная Часть вторая. Настройка правил Firewall и NAT DHCP – сетевой протокол, позволяющий вашим виртуальным машинам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. В NSX Edge есть три опции настроек DHCP: 1) DHCP p...

Современные устройства ввода-вывода быстрее, чем процессоры. Обзор статьи Хочу рассказать о статье "I/O Is Faster Than the CPU – Let’s Partition Resources and Eliminate (Most) OS Abstractions", опубликованной на личной странице одного из разработчиков ScyllaDB, Pekka Enberg. О ней узнал из видео. С докладом по этой статье авторы должны были высту...

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

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

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

[Перевод] Как вы избавляетесь от неиспользуемого CSS-кода? Часть 2 Сегодня публикуем вторую часть перевода материала о борьбе с неиспользуемым CSS-кодом. → Первая часть Читать дальше →

[Перевод] Исследование глубин аннотаций типов в Python. Часть 2 Сегодня мы публикуем вторую часть перевода материала, который посвящён аннотациям типов в Python. → Первая часть Читать дальше →

[Из песочницы] Принцип открытости-закрытости Привет, Хабр! Перед вами перевод статьи Роберта Мартина Open-Closed Principle, которую он опубликовал в январе 1996 года. Статья, мягко говоря, не самая свежая. Но в рунете статьи дяди Боба про SOLID пересказывают только в урезанном виде, поэтому я подумал, что полный перево...

[Перевод] Envoy модель потоков (Envoy threading model) Привет, Хабр! Представляю вашему вниманию перевод статьи «Envoy threading model» автора Matt Klein. Данная статься показалась мне достаточно интересной, а так как Envoy чаще всего используется как часть «istio» или просто как «ingress controller» kubernetes, следовательно ...

[Перевод] Разбираемся в основах Blockchain: Задача Византийских Генералов. Часть 1 Перевод статьи подготовлен специально для студентов курса «Архитектор высоких нагрузок», который стартует уже в этом месяце. Блокчейн – это децентрализованная система, состоящая из различных субъектов, которые действуют в зависимости от своих стимулов и имеющейся у них ин...

Работа не волк, часть 2. Пройти босса и выжить на испытательном сроке Новая работа — маленькая (а иногда и не очень) новая жизнь. Самое главное это начать её правильно, чтобы верный старт стал началом отличного пути. После того, как вы прошли HR-а, остаётся два важных шага: пройти собеседование с руководителем и удачно завершить испытательный ...

Обзор AngularConnect 2019. Часть 1 19 и 20 сентября мы с коллегами посетили конференцию AngularConnect. Это одна из крупных Angular-конференций, в этом году она прошла в пятый раз. В программе было 30 докладов, из которых 8 — от команды Angular, 4 воркшопа и 5 эксперт-зон. Ради такого стоило поехать в Лондон ...

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

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

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

Введение в контекстно-ориентированное программирование на Kotlin Это перевод статьи An introduction to context-oriented programming in Kotlin В этой статье я постараюсь описать новое явление, которое возникло как побочный результат стремительного развития языка Kotlin. Речь идет о новом подходе к проектированию архитектуры приложений и б...

Основы реактивного программирования с использованием RxJS. Часть 3. Higher Order Observables В данной статье мы рассмотрим, как можно в одном потоке обрабатывать другой, для чего это нужно, и как нам в этом помогут операторы Higher Order Observables (дальше HOO). При работе с потоками часто возникает ситуация, когда необходимо в качестве значения одному потоку пе...

[Из песочницы] Game Engine своими руками на C++. Часть 1 (Вступление) Game Engine Проектируем, пишем, думаем рассуждаем, читаем и многое другое Внимание: статьи содержат много костылей! Читать дальше →

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

[Перевод] Создание собственных синтаксических конструкций для JavaScript с использованием Babel. Часть 1 Сегодня мы публикуем первую часть перевода материала, который посвящён созданию собственных синтаксических конструкций для JavaScript с использованием Babel. Читать дальше →

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

Мины под производительностью ждут своего часа В этой статье я расскажу о минах, заложенных под производительность, а также об их обнаружении (желательно ещё до взрыва) и обезвреживании. Картинка для привлечения внимания Читать дальше →

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

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

[Из песочницы] Phoenix LiveView: когда вам больше не нужен JavaScript* * для создания динамической страницы Не так давно 12.12.2018 был анонсирован выход новой библиотеки для фанатов phoenix framework под названием Phoenix LiveView. Я бы хотел поделиться с вами впечатлениями от ее использования и phoenix в целом, а в следующей статье попробова...

[Перевод] Современный рендеринг текста в Linux: часть 1 Добро пожаловать в первую часть «Современного рендеринга текста в Linux». В каждой статье из этой серии мы разработаем самодостаточную программу на C для визуализации символа или последовательности символов. Каждая из этих программ будет реализовывать функцию, которую я счит...

PHP Composer: фиксим зависимости без боли Многие из вас наверняка сталкивались с ситуацией, когда в библиотеке или фреймворке, который вы используете, есть баг или нет необходимой функциональности. Предположим, вы даже не поленились и сформировали pull request. Но примут его далеко не сразу, а следующий релиз продук...

Security Week 47: нетривиальные уязвимости В прошлом году у нас уже был дайджест про нетривиальные атаки. Тогда речь шла про DoS-атаку на ПК через акустическое воздействие на жесткий диск и кражу пользовательских данных через хак со стилями CSS. А на прошлой неделе как раз было опубликовано два исследования про уязви...

[Из песочницы] Планирование в Go: Часть I — Планировщик ОС Привет, Хабр! Представляю вашему вниманию перевод статьи «Scheduling In Go: Part I — OS Scheduler» автора Билла Кеннеди, о том, как работает внутренний планировщик Go. Это первый пост в серии из трех частей, который даст представление о механике и семантике, лежащей в осно...

Алгоритм мышления и сознания, часть 2 Данный текст содержит пояснения к алгоритму из моей первой статьи “Алгоритм мышления и сознания”. Тезисы первой статьи: Феномен субъективного мышления можно алгоритмизовать. Предъявленный в статье алгоритм мыслит и этим можно воспользоваться практически. С помощью алгорит...

Web — javascript authentication, obfuscation и native code. Решение задач с r0от-мi —. Client. Часть 1 Данная статья содержит решений заданий, в которых рассматриваются аутентификация javascript, обфускация javascript и javascript native code. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьют...

[Из песочницы] Почему Swift может стать большим событием в глубинном обучении Здравствуй, Хабр! Представляю вашему вниманию перевод заинтересовавшей меня статьи «Why Swift May Be the Next Big Thing in Deep Learning» автора Max Pechyonkin, в которой автор рассуждает о языке на котором будет осуществляться глубокое обучение в ближайшие годы. Читать дал...

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

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

[Из песочницы] Что значит unsafe в Rust? Привет, Хабр! Представляю вашему вниманию перевод статьи "What Is Rust's unsafe?" автора Nora Codes. Мне доводилось видеть много недопониманий относительно того, что значит ключевое слово unsafe для полезности и правильности языка Rust и его продвижения как "б...

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

[Перевод] Зал славы потребительской электроники: истории лучших гаджетов последних 50 лет, часть 2 Первая часть Bowmar 901B В 1973 году Bowmar/ALI была крупнейшей компанией-производителем калькуляторов в мире. В 1976 году она закрылась Прощай, логарифмическая линейка: калькулятор Bowmar 901B (по прозвищу «Мозг») считается первым калькулятором с ЖК-экраном и первым карма...

AWS Elasticsearch: фундаментально дефектный продукт Перевод статьи Nick Price В настоящее время я работаю над большим проектом логирования, который изначально был реализован с использованием AWS Elasticsearch. Поработав с крупномасштабными магистральными кластерами Elasticsearch в течение нескольких лет, я совершенно повер...

[Перевод] Изучаем Docker, часть 4: уменьшение размеров образов и ускорение их сборки В этой части перевода серии материалов, которая посвящена Docker, мы поговорим о том, как оптимизировать размеры образов и ускорить их сборку. В прошлых материалах мы сравнивали образы Docker с пиццей, термины с пончиками, а инструкции файлов Dockerfile с бубликами. Сегодня ...

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

[Перевод] Способы тестирования программного обеспечения Всем привет! Уже на следующей неделе мы запускаем новый поток по курсу «Автоматизация веб-тестирования». Этому и будет посвящен сегодняшний материал. В этой статье рассматриваются различные способы тестирования программного обеспечения, такие как модульное тестирование (uni...

Интересные доклады на HighLoad++ Siberia 2019 по версии Plesk Всем привет! В июне в Новосибирске прошла конференция по разработке высоконагруженных приложений HighLoad++ Siberia 2019. Ранее в статьях на Хабре мы упоминали, что мы в компании Plesk проводим ретроспективу конференций и докладов, которые посещаем, чтобы не потерять получен...

Явка провалена: выводим AgentTesla на чистую воду. Часть 1 Недавно в Group-IB обратилась европейская компания-производитель электромонтажного оборудования — ее сотрудник получил по почте подозрительное письмо с вредоносным вложением. Илья Померанцев, специалист по анализу вредоносного кода CERT Group-IB, провел детальный анализ это...

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

[Перевод] Протокол QUIC в деле: как его внедрял Uber, чтобы оптимизировать производительность За протоколом QUIC чрезвычайно интересно наблюдать, поэтому мы любим писать о нем. Но если предыдущие публикации о QUIC носили больше исторический (краеведческий, если хотите) характер и матчасть, то сегодня мы рады опубликовать перевод другого толка – речь пойдет про реальн...

Разработка hexapod с нуля (часть 4) — математика траекторий и последовательности Всем привет! Разработка гексапода продвинулась на еще один шаг. На этот раз реализованы и протестированы траектории движения конечности — очередная часть математики передвижения. В этой статье я расскажу об этих траекториях и базовых последовательностях для движения. Надеюс...

[Перевод] Руководство пользователя Kibana. Визуализация. Часть 2 Вторая часть перевода официальной документации по визуализации данных в Kibana. Ссылка на оригинальный материал: Kibana User Guide [6.6] » Visualize Ссылка на 1 часть: Руководство пользователя Kibana. Визуализация. Часть 1 Читать дальше →

[Из песочницы] Почему плохо, когда Интернет знает о вас всё? Привет, Хабр! Предлагаю вашему вниманию перевод статьи "The Dangers of Overpersonalization" авторов Kim Flaherty и Kate Moran. Итог: Излишняя персонализация контента приводит к однородному и безразличному восприятию пользователем информации и может вызывать усталос...

[Перевод] Как я сдал сертификационный экзамен Google Cloud Professional Data Engineer Без рекомендуемого 3-х летнего практического опыта В преддверии старта занятий по курсу «Data Engineer», хотим поделиться с Вами переводом одной очень интересной истории, которая наверняка будет полезна будущим дата инженерам. Поехали! Худи от Google: надето. Серьезное раб...

Эволюция программного проекта и ООП Осваивая рецепты эффективного развития программного проекта, постарался для себя найти причины, делающие полезным использование принципов развития архитектуры SOLID (статья Как не понимать принципы развития архитектуры SOLID). Анализ этих принципов позволил выделить несколь...

[Из песочницы] Новые рубежи в Физике Здравствуй, уважаемый читатель! Представляю вашему вниманию перевод с английского языка статьи «Physics, The Next Frontier» авторства Chris Hecker. Я, начинающий Java-разработчик, столкнулся с тем, что материалы по созданию физического внутриигрового движка представлены ли...

[Перевод] Дизайн видеоигр: нужно понимать, что наследуешь В прошлом году я сделал короткий доклад на GDC о важности понимания того, на каком наследии прошлого основана ваша игра. Видео доклада опубликовано здесь (моя часть начинается с 28:50): Ссылка Три страйка — и ты выбываешь. Эта фраза настолько популярна, что практически ста...

Kubernetes Operator на Python без фреймворков и SDK Go на данный момент является монополистом среди языков программирования, которые люди выбирают для написания операторов для Kubernetes. Тому есть такие объективные причины, как: Существует мощнейший фреймворк для разработки операторов на Go — Operator SDK. На Go написа...

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

[Перевод] 6 уроков, извлечённых из поиска решения масштабной проблемы на gitlab.com. Часть 1 Материал, первую часть перевода которого мы публикуем сегодня, посвящён масштабной проблеме, которая возникла в gitlab.com. Здесь пойдёт речь о том, как её обнаружили, как с ней боролись, и как, наконец, её решили. Кроме того, столкнувшись с этой проблемой, команда gitlab.co...

Как мы разогнали САПР КОМПАС-3D → Часть 3 Это заключительная часть статьи об ускорении КОМПАС-3D v18 (Часть 1, Часть 2). Она посвящена доработкам в расчетах массо-центровочных характеристик и тому, что сделано для ускорения КОМПАСа на стороне нашего геометрического ядра C3D. И еще немного расскажем о том, какое желе...

О “хакерском кибероружии” из «умных» колонок и о том, как хайпожеры испортили научпоп и ИТ-журналистику В своем стремлении узнать больше, я часто читаю разнообразную англоязычную интернет-периодику, в частности, такие издания как techradar.com, wired.com т.п… В нынешнем году времени на чтение немного и часть новостей я догоняю. Внезапно мне попался громкий августовский заголов...

Как мы запускаем новый сайт банка. Часть 2 Прошло полгода с момента публикации первой статьи о работе над сайтом банка. За это время Промсвязьбанк превратился в ПСБ, моя команда пополнилась еще тремя сильными спецами, мы запустили 300+ новых страниц на сайте, увеличив фокусные показатели и получив обратную связь от ...

[Из песочницы] Дизайн интерфейса для игры, рисуем кольцо Хавеля из Dark Souls 3 Здравствуйте, дорогие друзья! Я Михаил Кравченко, дизайнер игровых интерфейсов. Это статья о том как нарисовать кольцо Хавеля из игры Dark Souls 3. Перед вами результат, которого я добился примерно за полтора часа работы в фотошопе. Дизайнера интерфейсов периодически пр...

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

[Перевод] Приключения неуловимой малвари, часть II: скрытные VBA-скрипты Эта статья является частью серии «Fileless Malware». Все остальные части серии: Приключения неуловимой малвари, часть I Приключения неуловимой малвари, часть II: cкрытные VBA-cкрипты (мы тут) Я поклонник сайта гибридного анализа (hybrid analysis, далее HA). Это сво...

Как мы разогнали САПР КОМПАС-3D → Часть 1 Уже 20 лет прошло с момента выпуска первой 3D-версии КОМПАС — V5.11. За это время мы поняли, что потребности наших пользователей растут пропорционально возможностям КОМПАС-3D, так же как и функциональность КОМПАС расширяется пропорционально запросам пользователей. Только вот...

[Перевод] Что нужно знать о массивах JavaScript Представляем вам перевод статьи автора Thomas Lombart, которая была опубликована на сайте medium.freecodecamp.org. Перевод публикуется с разрешения автора. Пример использования метода reduce для сокращения массива Позвольте мне сделать смелое заявление: циклы часто бывают...

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

[Перевод] MetricKit. Анализ производительности iOS приложений Новая игрушка Мы продолжаем знакомится с новым материалом от Apple, представленным на WWDC. На этот раз рассмотрим MetricKit, это абсолютно новый фреймворк, который служит инструментом для мониторинга производительности приложений. Читать дальше →

[Из песочницы] Ограничения машинного обучения Привет, Хабр! Представляю вашему вниманию перевод статьи “The Limitations of Machine Learning“ автора Matthew Stewart. Большинство людей, читающих эту статью, вероятно, знакомы с машинным обучением и соответствующими алгоритмами, используемыми для классификации или прогнози...

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

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

Выписки из Росреестра через ФГИС ЕГРН и python. Часть 1 — образец Дешевые выписки, что может быть лучше ? У Романа Андреевича Карцева есть неплохой монолог про раков вчерашних по 5 руб. и сегодняшних по 3-и. Будем считать, что прошлый пост был про раков по 5 руб. Так как выписка из ЕГРН по 300 руб., хоть и автоматизированная не каждому по...

[Перевод] Авария Boeing 737 Max глазами разработчика ПО Представляю вашему вниманию перевод статьи «How the Boeing 737 Max Disaster Looks to a Software Developer» Грега Трэвиса. Речь пойдет о том, как желание Боинга сэкономить и «срезать углы» для коммерческой выгоды, а также культура «некомпетентности и неэтичности» в сообществе...

[Перевод] Тестирование инфраструктуры как код с помощью Pulumi. Часть 2 Всем привет. Сегодня делимся с вами заключительной частью статьи «Тестирование инфраструктуры как код с помощью Pulumi», перевод которой подготовлен специально для студентов курса «DevOps практики и инструменты». Тестирование развертывания Рассмотренный стиль тестирования —...

[Из песочницы] Создание минимального Docker-контейнера для Go-приложений Привет, Хабр! Предлагаю вашему вниманию перевод статьи основателя сервиса Meetspaceapp Nick Gauthier «Building Minimal Docker Containers for Go Applications». Время чтения: 6 минут Существует множество, как официальных, так и поддерживаемых сообществом контейнеров для разл...

[Из песочницы] Учебное пособие по TensorFlow: 10 минутное практическое занятие по TensorFlow для начинающих [перевод] Привет, Хабр! Представляю вашему вниманию перевод статьи "TensorFlow Tutorial: 10 minutes Practical TensorFlow lesson for quick learners" автора Ankit Sachan. Этот туториал по TensorFlow предназначен для тех, кто имеет общее представление о машинном обучении и пыта...

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

[Перевод] Лучшие продукты отталкиваются от настоящих проблем: Intercom про Jobs-to-be-Done. Часть 2 Вторая часть перевода книги Intercom про Jobs-to-be-Done — это продолжение повествования о том, как концепция Jobs-to-be-Done меняет принципы создания и улучшения IT-продукта. Главы с третьей по шестую. Первая часть. Читать дальше →

Тайна прошивок Авторы: к.ф.-м.н. Чернов А.В. (monsieur_cher) и к.ф.-м.н. Трошина К.Н. Как с помощью самых общих предположений, основанных на знании современных процессорных архитектур, можно восстановить структуру программы из бинарного образа неизвестной архитектуры, и дальше восстановит...

Последний рубеж обороны QA: автоматическое обнаружение ошибок Привет! Меня зовут Асхат Нурыев, я ведущий инженер по автоматизации в компании DINS. Я работаю в Dino Systems последние 7 лет. За это время пришлось заниматься разными задачами: от написания автоматических функциональных тестов до тестирования производительности и высокой...

Отображение текста в Android Отображение текстовой информации — наверное, самая базовая и важная часть многих Android-приложений. В данной статье пойдет речь о TextView. Каждый разработчик, начиная с «Hello World», постоянно сталкивается с этим элементом пользовательского интерфейса. Периодически в раб...

Samsung обновила у Galaxy S8 и Galaxy S8+ камеру вслед за Galaxy S9, Note9 и Galaxy S10 Компания Samsung начала распространять обновление прошивки для флагманов двухлетней давности Galaxy S8 и Galaxy S8+. Апдейт приносит июльское обновление безопасности Android и новую функцию в приложение камеры.  Речь идёт об ожидаемой многими функции встроенного с...

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

10 причин, чтобы выбрать решение для SAP HANA от НРЕ. Часть 2 В предыдущей статье мы начали говорить о 10 причинах, чтобы выбрать решение от компании Hewlett Packard Enterprise для SAP HANA и остановились на технических причинах. Предлагаю взглянуть на процесс выбора решения под SAP HANA «глазами вендора». Очень бы хотелось, чтобы эт...

Web. Решение задач с r0от-мi. Часть 1 Данная статья содержит решение заданий, направленных на эксплуатацию web-узвимостей. Здесь рассмотрим задачи, затрагивающие backup файлы, непроиндексированные директории, http заголовки, редирект и command injection. Организационная информацияСпециально для тех, кто хочет ...

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

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

Выбор технологий, архитектуры и проектирование в программных проектах — без купюр Друзья! Мы продолжаем серию публикаций «без купюр» о проектных процессах, IT-технологиях и о том, как работать эффективно. Сегодня поговорим об очень наболевшей теме, вызывающей изжогу в головном мозге — выборе технологий, языков программирования, роли архитекторов, аналитик...

[Из песочницы] Простота Hickey Привет, Хабр! Предлагаю вашему вниманию перевод статьи "Simple Hickey" автора Robert C. Martin (Uncle Bob). Рич Хики выступил с отличной лекцией в «Strange Loop» под названием «Простое, сделанное легко». Я настоятельно рекомендую вам потратить час и послушать её. Это вы...

[Перевод] Управление ЖК-матрицей F-51543NFU-LW-ADN / PWB51543C-2-V0 (от ленточной библиотеки) И снова привет, Хабр! Сделав перевод статьи об управлении ЖК-модулем с драйвером, но без собственного видео-ОЗУ, я решил перевести ещё одну публикацию на ту же тему. Здесь модуль уже попроще, монохромный, но «оживить» его не менее интересно. Читать дальше →

SamsPcbGuide, часть 13: Использование IBIS-моделей В этой спонтанной статье решил поделиться опытом применения IBIS-моделей на примере простой задачи. Читать дальше →

Citymobil — пособие для стартапов по увеличению стабильности на фоне роста. Часть 2. Какие бывают виды аварий? Это вторая статья из цикла про то, как мы в Citymobil увеличивали стабильность сервиса (первую можете почитать здесь). В этой статье я углублюсь в конкретику разбора аварий. Но перед этим я освещу один момент, о котором я должен был подумать заранее и осветить в первой ста...

Разработка hexapod с нуля (часть 3) — математика Всем привет! Разработка гексапода продвигается и наконец-то базовая математическая часть протестирована и готова к документированию. Чтобы проект дожил до конца и не остался пылиться на полке нужно видеть его сдвиги в положительную сторону, даже если они незначительны. В эт...

Linux Backup от Veeam на ОС «Эльбрус». Импортозамещение ['?' | '.' | '!'] Всем привет. Недавние статьи на Хабре Импортозамещение на практике. Часть 1. Варианты и Не долго музыка играла… или как ОС Эльбрус так и не стала свободной не оставили меня равнодушным. Я решил поизучать этот вопрос в ключе задачи резервного копирования. Тем более, что в э...

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

[Перевод] Исследование глубин аннотаций типов в Python. Часть 1 C 2014 года, когда в Python появилась поддержка аннотаций типов, программисты работают над их внедрением в свой код. Автор материала, первую часть перевода которого мы публикуем сегодня, говорит, что по её оценке, довольно смелой, сейчас аннотации типов (иногда их называют «...

[Из песочницы] GIT изнутри: введение (перевод) Привет, Хабр! Представляю вашему вниманию перевод статьи "Git for Computer Scientists" автора Tommi Virtanen. GIT изнутри: введение От себя: Периодически почитываю статьи, как различные популярные технологии устроены под капотом, наткнулся вот на этот материал. Ста...

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

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

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

Как зависит перевод термина trunk от вендора коммутаторов? На эту ошибку (или, если хотите, разночтение) я обратил внимание во время проверки перевода по коммутаторам NETGEAR. Дело в том, что при переводе термина “trunk” нужно обязательно учитывать, чьей трактовки придерживается вендор — Cisco или HP, ибо между ними очень разный тех...

Наказывают ли в России за незаконную торговлю персональными данными? Наверное, уже весь Хабр знает, что наши персональные данные давно и успешно стали объектом законной и незаконной торговли. Про рынок банковской информации, данных мобильных операторов и госорганов я писал тут в статье: «Анализ цен черного рынка на персональные данные и проби...

Анализ механизмов локализации интерфейса приложений в Splunk В данной статье мы рассмотрим основной механизм локализации интерфейса приложений Splunk (в т.ч. стандартных элементов приложения Search) — gettext internationalization and localization (i18n). Читать дальше →

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

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

Технический анализ эксплойта checkm8 С большой вероятностью вы уже слышали про нашумевший эксплойт checkm8, использующий неисправимую уязвимость в BootROM большинства iDevice-ов, включая iPhone X. В этой статье мы приведем технический анализ эксплойта и разберемся в причинах уязвимости. Всем заинтересовавшимся...

[Перевод] Шесть навыков, которые выведут вашу карьеру в Data Science на новый уровень Перед вами перевод статьи Genevieve Hayes, Data Scientist с 15-летним опытом работы. Автор рассказывает о том, какие навыки стоит развивать, чтобы значительно увеличить шансы найти работу в Data Science. Чтобы определить эти навыки, она проанализировала 100 вакансий, размеще...

Видео докладов с Summer Droid Meetup В прошлую субботу мы провели Summer Droid Meetup, а уже сегодня выкладываем видео докладов. Познавательного вам просмотра! «Сбор и анализ неординарных данных Android-приложения», Дмитрий Васильев, FunCorp Читать дальше →

[Перевод] Функциональное мышление. Часть 9 Это уже 9 часть серии статей по функциональному программированию на F#! Уверен, на Хабре существует не очень много настолько длинных циклов. Но мы не собираемся останавливаться. Сегодня расскажем про вложенные функции, модули, пространства имен и смешивание типов и функций в...

Инвентаризация от И до Я. Считаем ИТ-активы На этом скриншоте результат работы Quest KACE относительно компьютера бухгалтера одной из российских компаний. Выяснилось, что часть ПО установлена, но не используется. Здесь приведены цены, по которым это ПО закупалось. В вашем случае цена на ПО может отличаться, здесь ва...

[Перевод] Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 2. ActiveMQ Продолжение перевода небольшой книги: «Understanding Message Brokers», автор: Jakub Korab, издательство: O'Reilly Media, Inc., дата издания: June 2017, ISBN: 9781492049296. Перевод выполнен Предыдущая часть: Понимание брокеров сообщений. Изучение механики обмена сообщениям...

Deno: время Node.JS уходит? Прошло примерно 18 месяцев с внутреннего релиза Deno, вышел preview release, появилось несколько статей на Хабре, и Райан ездит по конференциям и рассказывает о нём. Однако я нигде так и не видел сколько-нибудь вдумчивого разбора этого проекта — почему-то все ограничиваются...

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

[Перевод] Новшества JavaScript: итоги Google I/O 2019. Часть 2 Сегодня мы публикуем вторую часть перевода материала о новшествах JavaScript. Здесь мы поговорим о разделителях разрядов чисел, о BigInt-числах, о работе с массивами и объектами, о globalThis, о сортировке, об API интернационализации и о промисах. → Первая часть Читать да...

Laravel: объясняем основные понятия. Часть вторая: «Практика» Всем привет! Продолжаем серию авторских публикаций в преддверии старта курса «Framework Laravel». В прошлой статье мы с вами посмотрели на теоретические основы Laravel. Однако теорию любого фреймворка можно изучать достаточно долго и ничего не понять, пока сам не напишешь н...

[Перевод] Kafka на Kubernetes — это хорошо? Приветствуем вас, Хабр! В свое время мы первыми вывели на российский рынок тему Kafka и продолжаем следить за ее развитием. В частности, нам показалась интересной тема взаимодействия Kafka и Kubernetes. Обзорная (и довольно осторожная) статья на эту тему выходила в блоге ко...

.NET: Инструменты для работы с многопоточностью и асинхронностью. Часть 2 Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight. Я продолжаю создавать текстовую версию своего выступления на митапе по многопоточности. С первой частью можно ознакомиться здесь или здесь, там речь больше шла о базовом наборе инструментов, что...

SNA Hackathon 2019: усложняем архитектуру — упрощаем признаки В этой статье я расскажу про свое решение текстовой части задачи SNA Hackathon 2019. Какие-то из предложенных идей будут полезны участникам очной части хакатона, которая пройдет в московском офисе Mail.ru Group с 30 марта по 1 апреля. Кроме того, этот рассказ может быть ин...

Сети кабельного телевидения для самых маленьких. Часть 6: Усилители RF-сигнала В этой статье рассмотрим усилители высокочастотного радиосигнала кабельного телевидения на коаксиальной части магистрали. Читать дальше →

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

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

[Из песочницы] Ревизия уровней доступа пользователей с помощью Power BI на примере CMS Битрикс (БУС) В статье показан пример применения Power BI для анализа доступов пользователей на сайте под управлением 1С-Битрикс. Читать дальше →

Tic Tac Toe, часть 5: Бэкенд на С++ Boost.Beast, HTTP В этой статье рассмотрим реализацию бэкенда с применением C++ Boost.Beast библиотеки на примере синхронного сервера. Та же функциональность, что и в прошлой статье — получаем от бэкенда случайное число от 0 до 8 включительно. Оказалось, что поднимать контейнер для Beast ничу...

C, C++ и DotNet decompile — основы реверса. Решение задач на реверсинг с r0от-мi. Часть 1 В данной статье 5 первых заданий, узнаем основы дизассемблирования, решим задачи начального уровня реверса, а также декомпилируем dotNet приложение. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и...

Disk forensics, memory forensics и log forensics. Volatility framework и Autopsy. Решение задач с r0от-мi. Часть 1 Данная статья содержит решений заданий, направленных на криминалистику памяти, оперативной памяти, и логов web-сервера. А также примеры использования программ Volatility Framework и Autopsy. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и ра...

Lenovo оживит бренд Motorola ROKR 15-летней давности Компания Lenovo собирается вернуть к жизни бренд Motorola ROKR, под которым продавались музыкальные сотовые телефоны Motorola. Сделает она это, по всей вероятности, сразу после дебюта возрожденной раскладушки Motorola RAZR, которая вернется в виде современного смартфона с ги...

В рамках проекта «Путь героя» школьники Москвы пройдут по местам боевой славы героев войны В российской столице ведется подготовка к празднованию 75-й годовщины победы в ВОВ, в рамках которой реализуется проект «Путь героя». Его участниками являются более 70 школ мегаполиса, которые носят имена героев ВОВ.  В четверг, 15 августа прошло селекторное совещание м...

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

[Перевод] Как стать хорошим менеджером? 4 способа восполнить пробел в навыках управления Перевод статьи подготовлен специально для студентов курса «Team Lead 2.0». Как стать хорошим менеджером и восполнить пробелы в навыках управления бизнесом? На сегодняшний день многие недооценивают необходимость грамотного менеджмента в бизнесе. Менеджмент – это сложно. Н...

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

Signpost: когда брейкпоинтов недостаточно В предыдущей статье мы узнали о причинах нестабильности unit-тестов и способах борьбы с этим. Теперь мы хотим рассмотреть один из новых инструментов Apple для отладки и профилирования кода. Речь о представленном на WWDC 2018 фреймворке для логирования os_log, который был рас...

[Перевод] Обзор AI & ML решений в 2018 году и прогнозы на 2019 год: Часть 1 — NLP, Computer Vision Всем привет! Представляю вам перевод статьи Analytics Vidhya с обзором событий в области AI / ML в 2018 году и трендов 2019 года. Материал довольно большой, поэтому разделен на 2 части. Надеюсь, что статья заинтересует не только профильных специалистов, но и интересующихся т...

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

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

[Из песочницы] Руководство пользователя Kibana. Визуализация. Часть 1 Доброго времени суток. Всем пользователям ElasticStack рано или поздно нужно визуализировать данные. Большинство использует Kibana. Под катом перевод официальной документации для версии 6.6. Ссылка на оригинальный материал: Kibana User Guide [6.6] » Visualize Читать дальше...

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

Евгений Каневский: «Государство не увидело большого будущего малой техники» Мы решили дополнить музейную коллекцию DataArt интервью с людьми, повлиявшими на историю IT. В прошлый раз мы поговорили с Сергеем Зоновым, создателем одного из главных клонов «Спектрума». На этой неделе наш герой — ведущий научный сотрудник института региональной экономик...

[] Браузерная симуляция физики В этой статье я хочу дать описание существующих решений для создания приложений с симуляцией физики, сравнить их производительность и предоставляемый инструментарий. Читать дальше →

[Перевод] Слишком чисто? Привет, Хабр! Предлагаю вашему вниманию перевод статьи "Too Clean?" автора Robert C. Martin (Uncle Bob). Я только что посмотрел выступление Сары Мэй: Жизнеспособный код. Это было очень хорошо. Я полностью согласен с основными моментами ее выступления. С другой стороны, темо...

[Из песочницы] Сказ о полукольцах Привет, Хабр! Предлагаю вашему вниманию перевод статьи "A tale on Semirings" автора Luka Jacobowitz. Когда-нибудь задумывались, почему сумма типов называется суммой типов. Или, может, вы всегда хотели узнать, почему оператор <*> записывается именно так? И что...

Наглядное пособие по разработке продуктов: дизайн Это вторая часть из цикла четырех статей о разработке физических продуктов. Если вы пропустили Часть 1: Формирование идеи, обязательно её прочтите. Вскоре вы сможете перейти к Части 3: Конструирование и Части 4: Валидация. Автор: Ben Einstein. Оригинал Перевод выполнен коман...

[Перевод] GCP: Разбор вычислительного стека Google Cloud Platform Перевод статьи подготовлен специально для студентов курса «Облачные сервисы». Интересно развиваться в данном направлении? Смотрите запись профессионального мастер-класса «AWS EC2 сервис», который провёл Егор Зуев — TeamLead в компании InBit и автор образовательной программы...

Web. Решение задач с r0от-мi. Часть 2 Данная статья содержит решение заданий, направленных на эксплуатацию web-узвимостей. Статья ориентирована в основном на новичков, которые хотят разобараться в заголовках HTTP и учавствовать в CTF. Ссылки на предыдущие части этого раздела: Web. Решение задач с r0от-мi. Час...

[Перевод] Никогда больше не игнорируйте обучение с подкреплением Привет, Хабр! Представляю вашему вниманию перевод статьи «Don’t Ever Ignore Reinforcement Learning Again» автора Michel Kana, Ph.D. Обучение с учителем и обучение без учителя — это ещё не все. Все это знают. Начните с OpenAI Gym. Собираетесь победить чемпиона мира по шах...

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

[Перевод] Сервисная сеть, «Плоскость данных» и «Плоскости управления» (Service mesh data plane vs. control plane) Привет, Хабр! Представляю вашему вниманию перевод статьи «Service mesh data plane vs control plane» автора Matt Klein. В этот раз «захотелось и перевелось» описание обоих компонентов service mesh, data plane и control plane. Это описание мне показалось самым понятным и ин...

[Перевод] Приключения неуловимой малвари, часть III: запутанные VBA-cкрипты для смеха и прибыли Эта статья является частью серии «Fileless Malware». Все остальные части серии: Приключения неуловимой малвари, часть I Приключения неуловимой малвари, часть II: Скрытные VBA-скрипты Приключения неуловимой малвари, часть III: запутанные VBA-скрипты для смеха и при...

[Из песочницы] Как сойти за хорошего программиста Привет, Хабр! Представляю вашему вниманию перевод статьи «How To Fake Being a Good Programmer» автора Stan Sootla. Программисты – это, своего рода, волшебники: слегка потрепанные персонажи-бедняки, которые умеют превращать кофе в строчки кода. Я не владею магией, я всего ...

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

[Перевод] Функциональное мышление. Часть 8 Привет, Хабр! Мы с небольшим запозданием возвращаемся с новогодних каникул с продолжением нашей серии статей про функциональное программирование. Сегодня расскажем про понимание функций через сигнатуры и определение собственных типов для сигнатур функций. Подробности под кат...

Cataclysm Dark Days Ahead, статический анализ и рогалики Скорее всего, из названия статьи вы уже догадались, что в центре внимания ошибки в исходном коде. Но это вовсе не единственное, о чем пойдет речь в этой статье. Если кроме С++ и ошибок в чужом коде вас привлекают необычные игры и вам интересно узнать, что это такие за «рога...

Улучшаем работу Wi-Fi. Часть 2. Особенности оборудования Друзья, эта статья является продолжением первой части цикла статей о том как улучшить работу WiFi в офисе или на предприятии. Читать дальше →

[Перевод] Деплоим на PythonAnywhere из GitHub Каждый может сделать так: локальный проект → github С (платным) ssh доступом вы сможете сделать так: локальный проект → PythonAnywhere В статье показано как (бесплатно) сделать так: локальный проект → github → PythonAnywhere Сначала я перечислю, зачем вам это может быть ну...

Учебные проекты на Godot — Pong (часть 2) Создание и настройка мяча Приветствую вас, хабровчане! В этой части я буду создавать и настраивать мяч для игры Pong. Если вы пропустили начало, то оно здесь. Уровень статьи по прежнему начинающий. Под катом по прежнему много скринов.Зовите детей и welcome под кат. Читать дальше →

[Перевод] Reflective Shadow Maps: Часть 2 ― Реализация Привет, Хабр! В данной статье представлена простая реализация Reflective Shadow Maps (алгоритм описан в предыдущей статье). Далее я объясню, как я это сделал и какие подводные камни были. Также будут рассмотрены некоторые возможные оптимизации. Рисунок 1: Слева направо: бе...

10 популярных смартфонов 22 недели года (июнь) 22 неделя 2019 года, которая пришлась на июнь явила нам новый список смартфонов, которыми интересовались пользователи в сети. Информацией традиционно делится портал GSMArena. В этот раз видим два новичка в рейтинге, а также значительные перемещения с места на место тех мод...

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

[Перевод] Распознавание текста с помощью VNRecognizeTextRequest в iOS 13 Теперь фреймворк Vision умеет распознавать текст по-настоящему, а не как раньше. С нетерпением ждем, когда сможем применить это в Dodo IS. А пока перевод статьи о распознавании карточек из настольной игры Magic The Gathering и извлечении из них текстовой информации. Читат...

Алгоритм взаимодействия сотен тысяч уникальных частиц на GPU, в GLES3 и WebGL2 Описание алгоритма логики, и разбор рабочего примера в виде техно-демки-игры WebGL2 версия этой демки https://danilw.itch.io/flat-maze-web остальные ссылки смотрите в статье. Статья разбита на две части, сначала про логику, и вторая часть про применение в игре, первая часть...

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

[Перевод] Что же такое GitOps? Прим. перев.: После недавней публикации материала о методах pull и push в GitOps мы увидели интерес к этой модели в целом, однако русскоязычных публикаций на эту тему оказалось совсем мало (на хабре их попросту нет). Посему рады предложить вашему вниманию перевод другой стат...

Техподдержка 3CX отвечает: захват SIP-трафика на сервере АТС В этой статье мы поговорим об основах захвата и анализа SIP-трафика, генерируемого АТС 3CX. Статья адресована начинающим системным администраторам или обычным пользователям, в обязанности которых входит обслуживание телефонии. Для углубленного изучения темы рекомендуем пройт...

Rage 2 стартовала с первого места в британском чарте продаж Rage 2 заняла первое место в британском чарте продаж. Она обогнала лидера прошлой недели — Days Gone. 57% физических копий Rage 2 продали для PlayStation 4, 38% — для Xbox One, и лишь 5% — для персональных компьютеров. Несмотря на лидерство в чарте, шутер от Bethesda не ...

[Перевод] Создаем конвейер потоковой обработки данных. Часть 2 Всем привет. Делимся переводом заключительной части статьи, подготовленной специально для студентов курса «Data Engineer». С первой частью можно ознакомиться тут. Apache Beam и DataFlow для конвейеров реального времени Настройка Google Cloud Примечание: Для запуска конве...

[Перевод] Использование JavaScript-модулей в продакшне: современное состояние дел. Часть 2 Сегодня мы публикуем вторую часть перевода материала, который посвящён использованию JS-модулей в продакшне. → Кстати, вот первая часть статьи. Читать дальше →

[Перевод] Программная архитектура и проектирование систем: общая картина и путеводитель по ресурсам Здравствуйте, коллеги. Сегодня на ваш суд предлагается перевод статьи Тугберка Уруглу (Tugberk Uruglu), который взялся в сравнительно небольшом объеме изложить принципы проектирования современных софтверных систем. Вот что автор сообщает о себе в сухом остатке: Поскольку ...

Аналитика как фича: процесс работы с данными в Plesk Всем привет, недавно мы писали о том, как учились быть Data Driven с Симулятором GoPractice! В этом выпуске продолжим тему анализа данных и поговорим о выстраивании процесса работы с аналитикой в команде Plesk. Plesk — сложный продукт с 20-летним бэкграундом и эффективно с...

Кодировки, шифр сдвига, брут хешей и создание картинки с помощью PIL python. Решение задач с r0от-мi Cryto. Часть 1 Данная статья содержит решений заданий Encoding ASCII и Encoding UU направленные на кодировки, Hash Message Digest 5 и Hash SHA-2 — на нахождение прообраза хеша, Shift cipher — шифр сдвига, и Pixel Madness — на составление картинки. Организационная информацияСпециально дл...

Проверка Telerik UI for UWP для знакомства с PVS-Studio Уже стало традицией, что программисты, пополняющие команду PVS-Studio, начинают свою деятельность с написания статьи про анализ проекта с открытым исходным кодом. В этот раз таким проверенным проектом станет Telerik UI for UWP. Читать дальше →

Тестировать верстку? Легко Статья подготовлена Анной anna-che и Ксенией KseMish. Одной из причин, по которой мы активно взялись за тестирование верстки, стали, как обычно, грабли. Мы с размаху наступили на баг, который стал проявляться после очередного обновления Хрома. Оказалось, что в течение 3-х ...

[Из песочницы] Как хакеры используют Microsoft Excel против самого себя Привет, Хабр! представляю вашему вниманию перевод статьи «How Hackers Turn Microsoft Excel's Own Features Against It» автора Лили Хэй Ньюман. Elena Lacey, getty images Наверняка для многих из нас Microsoft Excel – программа скучная. Она много чего умеет, но всё-таки это н...

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

Приложения для электронных книг на операционной системе Android. Часть 4. Игры В сегодняшней, четвёртой (предпоследней), части статьи о приложениях для электронных книг на операционной системе Android будет рассмотрена только одна, но обширная тема: игры. Краткое содержание предыдущих трёх частей статьиВ 1-ой части были подробно рассмотрены причины, п...

[Перевод] Руководство пользователя Kibana. Визуализация. Часть 4 Четвертая часть перевода официальной документации по визуализации данных в Kibana. Ссылка на оригинальный материал: Kibana User Guide [6.6] » Visualize Ссылка на 1 часть: Руководство пользователя Kibana. Визуализация. Часть 1 Ссылка на 2 часть: Руководство пользователя Kiban...

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

Восемь именных законов в UX дизайне ( часть 1) В UX дизайне, как и в любой другой сфере деятельности, есть свои принципы и законы. В этой статье я бы хотел разобрать восемь из них, которые названы в честь их создателей. Читать дальше →

ЧПУ в хоббийной мастерской (часть 2) → Первая часть В статье рассмотрим стандартное и нестандартное использование CNC-роутера. Для чего кроме вырезания деревянных картинок можно приспособить такой станок. Осторожно, трафик. Читать дальше →

Гибридный накопитель Intel Optane Memory H10 — приводим характеристики Когда в январе мы анонсировали принципиально новый продукт Intel под названием Optane Memory H10, объединяющий в себе кэш Optane и накопитель QLC 3D NAND, то не смогли побаловать читателей спецификациями и подробностями — тогда их просто еще не было. Известно, что любая тай...

[Перевод] Бессерверные вычисления на основе OpenWhisk, часть 2 Эта статья продолжает цикл переводных заметок об OpenWhisk от автора Priti Desai. Сегодня будут рассмотрены примеры развертывания GitHub webhook, периодических сигналов, а также приведено простейшее приложение для отправки сообщений в Slack. Читать дальше →

[Перевод] Реализация анимации в React Native Перевод статьи подготовлен специально для студентов курса «ReactJS/React Native-разработчик». Трудно себе представить мобильное приложение, в котором нет анимации. В вебе анимации обычно простые, если они есть вообще (максимум – одна страница сменяет другую). Анимации же...

Сравнительное тестирование PostgreSQL на FreeBSD, CentOS, Ubuntu Debian и openSUSE Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи «PostgreSQL benchmark on FreeBSD, CentOS, Ubuntu Debian and openSUSE» автора Martin Kováčik. В ней рассматриваются тесты СУБД PostgreSQL 10.1 в приближенных к реальным условиям средах на различных unix-сис...

Тесты или типы? — Rust version Пару дней назад 0xd34df00d опубликовал здесь перевод статьи, описывающей, что можно узнать о функции в разных языках, если рассматривать её как "чёрный ящик", не используя информацию о её реализации (но, разумеется, не мешая ей пользоваться компилятору). Разумеется, получаем...

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

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

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

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

[Из песочницы] Пишите меньше кода Хайп по Svelte после недавнего релиза 3 версии фреймворка всё-таки имеет место быть, чему свидетельствуют сильно возросшее комьюнити и огромное количество вопросов как в официальном чате, так и в нашем рускоязычном telegram-канале. Всё больше разработчиков украдкой или всерь...

Профилирование со сверхсветовой скоростью: теория и практика. Часть 1 Привет! Из заголовка вы уже поняли, о чём я собираюсь рассказать. Тут будет много хардкора: мы обсудим Java, С, С++, ассемблер, немного Linux, немного ядра операционной системы. А ещё разберём практический кейс, поэтому статья будет в трёх больших частях (достаточно объёмных...

Пишем Android приложение для киноманов — Часть 1 (Прототипирование) Доброго времени суток, Хабр! Не секрет, что недавно компания Google утвердила в качестве приоритетного языка программирования ОС Android — Kotlin. В этой и последующих статьях будет рассказываться о создании приложения на этом языке. Читать дальше →

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

[Перевод] Введение в Kubernetes для пользователей VMware. Часть 2. Практика Это вторая часть введения в Kubernetes для пользователей VMware. Прежде чем перейти к практической части, ознакомьтесь с предыдущей статьей по ссылке. Читать дальше →

Автоматизация Для Самых Маленьких. Часть 1.1. Основы виртуализации Предыдущая статья рассматривала архитектуру виртуализированной сети, underlay-overlay, путь пакета между VM и прочее. Роман Горге вдохновился ею и решил написать обзорный выпуск о виртуализации вообще. В данной статье мы затронем (или попытаемся затронуть) вопросы: а как с...

[Перевод] Порождение событий, CQRS и Laravel Перевод статьи подготовлен для студентов профессионального курса «Framework Laravel» ________________________ Введение Эта статья посвящена основам создания событийных CQRS-систем на языке PHP и в фреймворке Laravel. Предполагается, что вы знакомы со схемой разработки с ...

Как студенты из Перми попали в финал международного чемпионата по анализу данных Data Mining Cup 2019 Всем привет. В этой статье я расскажу о нашем опыте участия в соревновании по анализу данных Data Mining Cup 2019 (DMC) и о том, как нам удалось войти в ТОП-10 команд и принять участие в очном финале чемпионата в Берлине. Читать дальше →

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

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

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

Natas Web. Прохождение CTF площадки, направленной на эксплуатацию Web-уязвимостей. Часть 3 В данной статье мы разберемся с эксплуатацией некоторых WEB-узвимостей на примере прохождения варгейма Natas. Каждый уровень имеет доступ к паролю следующего уровня. Все пароли также хранятся в файлах /etc/natas_webpass/. Например, пароль для natas5 хранится в файле /etc/n...

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)