Социальные сети Рунета
Вторник, 23 апреля 2024

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

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

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

3D-печать и airsoft: как я печатал «привод» Всем привет! Я попробую немного рассказать о том, как я пытался сделать страйкбольный привод при помощи 3D-принтера, что из этого получилось и с какими сложностями пришлось столкнуться. Статья может оказаться интересной для тех, кто любит airsoft, DIY или 3D-печать. Для те...

[Перевод] Композитор с долгой кратковременной памятью Автоматическое сочинение музыки Почти сразу после того, как я научился программированию, мне хотелось создать ПО, способное сочинять музыку. Я в течение нескольких лет предпринимал примитивные попытки автоматического сочинения музыки для Visions of Chaos. В основном при эт...

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

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

Neural Quantum States — представление волновой функции нейронной сетью В этой статье мы рассмотрим необычное применение нейронных сетей в целом и ограниченных машин Больцмана в частности для решения двух сложных задач квантовой механики — поиска энергии основного состояния и аппроксимации волновой функции системы многих тел. Читать дальше →

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

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

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

0, 0, 1, 0, 2, 0, 2, 2, 1, 6, 0, 5, 0, 2, 6, 5, 4, 0, 5, 3, 0, 3, 2, 9, 0, 4, 9, 3, 6, 14, 0, 6, 3, 5, 15, 0, 5, 3, 5… Есть два мужика с именами «Van Eck». Первый, в 1985 году показал всему миру как за 15 долларов перехватывать данные с монитора (Van Eck phreaking), второй, в 2010 придумал хитрую последовательность (Van Eck's sequence). Круче простоты задания этой последовательности могут бы...

Осторожно — ГАЗ! или Как мы делали негазированные смарт-контракты Блокчейн и смарт-контракты все еще остаются горячей темой среди разработчиков и технических специалистов, много исследований и рассуждений об их будущем и о том, куда это все движется и приведет нас. У нас в Waves Platform свой взгляд на то, какими должны быть смарт-контрак...

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

Как взять сетевую инфраструктуру под свой контроль. Глава третья. Сетевая безопасность. Часть третья Эта статья является пятой в цикле статей «Как взять сетевую инфраструктуру под свой контроль». Содержание всех статей цикла и ссылки можно найти здесь. Эта часть будет посвящена Campus (Office) & Remote access VPN сегментам. Может показаться, что дизайн офисной сети...

[Перевод] Собеседование: Swift. Вопросы и ответы Языку программирования Swift всего четыре года, но он уже становится основным языком разработки для iOS. Развиваясь до версии 5.0, Swift превратился в сложный и мощный язык, отвечающий как объектно-ориентированной, так и функциональной парадигме. И с каждым новым релизом в н...

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

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

Terms of service: 99% пользователей их просто не понимают Источник: Shutterstock Наверное, среди читателей Хабра есть те, кто детально знакомится с условиями предоставления услуг различных сервисов и приложений. Большинство просто ставит галочку там, где это требуется, и начинает работу. Кто-то может назвать это неправильным, но,...

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

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

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

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

[Не] используйте CDN Практически в любой статье или инструменте для оптимизации скорости сайтов есть скромный пункт «используйте CDN». Вообще, CDN – это content delivery network или сеть доставки контента. Мы в компании «Метод Лаб» часто встречаемся с вопросами клиентов по этой теме, некоторые с...

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

Балансировка красно-чёрных деревьев — Три случая Двоичные деревья поиска — эта структура данных для хранения элементов с возможностью быстрого поиска. Идея проста и гениальна: «меньше – налево, больше – направо». На этом простота заканчивается и начинаются сложные вопросы балансировки дерева, чтобы оно не превратилось в дл...

Пишем Reverse socks5 proxy на powershell.Часть 3 История об исследовании и разработке в 3-х частях. Часть 3 — практическая. Буков много — пользы еще больше Предыдущие статьи из цикла можно найти тут и здесь =) Проверка боем Давайте теперь проверим работу нашего скрипта на практике. Для этого попробуем выбросить обратный ...

Как решать NP-трудные задачи с помощью параметризованных алгоритмов Научно-исследовательская работа, пожалуй, самая интересная часть нашего обучения. Идея в том, чтобы ещё в университете попробовать себя в выбранном направлении. Например, студенты с направлений Software Engineering и Machine Learning часто идут делать НИРы в компании (в осно...

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

Распознавание объектов в режиме реального времени на iOS с помощью YOLOv3 Всем привет! В данной статье мы напишем небольшую программу для решения задачи детектирования и распознавания объектов (object detection) в режиме реального времени. Программа будет написана на языке программирования Swift под платформу iOS. Для детектирования объектов буд...

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

Треугольник Паскаля vs цепочек типа «000…/111…» в бинарных рядах и нейронных сетях Серия «Белый шум рисует черный квадрат» История цикла этих публикаций начинается с того, что в книге Г.Секей «Парадоксы в теории вероятностей и математической статистике» (стр.43), было обнаружено следующее утверждение: Рис. 1. По анализу комментарий к первым публикациям...

Arend – язык с зависимыми типами, основанный на HoTT (часть 1) В данном посте мы поговорим о только что выпущенном JetBrains языке с зависимыми типами Arend. Этот язык разрабатывался JetBrains Research на протяжении последних нескольких лет. И хотя репозитории уже год назад были выложены в открытый доступ на github.com/JetBrains, полноц...

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

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

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

Модели натурального ряда чисел и его элементов: Геометрическая (плоскостная) модель натурального ряда     Задача криптографического анализа шифра (атака на шифр) предполагает построение и исследование модели криптографической системы (алгоритма шифра и его элементов), а также ситуации, в рамках которой осуществляется криптоанализ. Для шифра RSA такой моделью его элемента д...

Google Analytics и GDPR: а нужно ли согласие пользователя? После публикации о том, как быстро проверить cookies на соблюдение GDPR, наиболее обсуждаемым оказался вопрос необходимости получения согласия пользователей при использования на сайте Google Analytics. В этой статье ознакомимся с позициями некоторых Европейских регуляторов ...

[Перевод] Простое объяснение алгоритмов поиска пути и A* Часть 1. Общий алгоритм поиска Введение Поиск пути — это одна из тех тем, которые обычно представляют самые большие сложности для разработчиков игр. Особенно плохо люди понимают алгоритм A*, и многим кажется, что это какая-то непостижимая магия. Цель данной статьи — объясн...

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

Возможно ли без Redux? На сегодняшний день можно найти уйму позиций, где требуется react/redux. React прекрасен, вопросов нет. Вопрос к Redux — возможно ли без него. Если погуглить чуть-чуть, найдется добротная статья на хабре (https://habr.com/ru/post/350850/), где автор задается таким же вопросо...

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

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

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 34. Расширенная концепция VLAN Мы уже рассматривали локальные сети VLAN в видеоуроках День 11, 12 и 13 и сегодня продолжим их изучение в соответствии с тематикой ICND2. Я записал предыдущее видео, которое ознаменовало окончание подготовки к сдаче экзамена ICND1, несколько месяцев назад и все это время до ...

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

5 вещей, которые чаще всего не понимают новички в JavaScript Всем привет! В конце сентября в OTUS стартует новый поток курса «Fullstack разработчик JavaScript». В преддверии начала занятий хотим поделиться с вами авторской статьей, подготовленной специально для студентов курса. Автор статьи: Павел Якупов Превью. Хочу сразу отмети...

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

Если у Вас нет Питона, но есть Керас-модель и Джава Всем привет! В построении ML-моделей Python сегодня занимает лидирующее положение и пользуется широкой популярностью сообщества Data Science специалистов [1]. Также, как и большинство разработчиков, Python привлекает нас своей простотой и лаконичным синтаксисом. Мы использу...

Хорошее не бывает дешёвым. Но бывает бесплатным В этой статье я хочу рассказать о Rolling Scopes School – бесплатном курсе по JavaScript / фронтенду, который прошла, и который мне очень понравился. Узнала я об этом курсе случайно, информации в сети о нём, на мой взгляд, немного, а курс отличный и заслуживает внимания. Дум...

[Перевод] Трассировка лучей на GPU в Unity — Часть 3 [Первая и вторая части.] Сегодня мы совершим большой скачок. Мы отойдём от исключительно сферических конструкций и бесконечной плоскости, которые трассировали ранее, и добавим треугольники — всю суть современной компьютерной графики, элемент, из которого состоят все виртуа...

Расслоения в стали. Как они образуются Тема этой статьи несколько необычна для Хабра. Меня побудило ее написать простое и понятное желание напомнить, что в свое время в нашей стране на очень высоком уровне была металловедческая наука, в частности ее раздел по исследованию причин разрушения высокопрочных материало...

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

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

[Перевод] Самодельный сборщик мусора для OpenJDK Это перевод статьи Алексея Шипилёва «Do It Yourself (OpenJDK) Garbage Collector», публикуется с согласия автора. О любых опечатках и других багах сообщайте в личку — мы их поправим.Процесс создания чего-нибудь в рантайме языка — весёлое упражнение. По крайней мере, создание ...

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

[Из песочницы] Пишем простую нейронную сеть с использованием математики и Numpy Зачем очередная статья про то, как писать нейронные сети с нуля? Увы, я не смог найти статьи, где были бы описаны теория и код с нуля до полностью работающей модели. Сразу предупреждаю, что тут будет много математики. Я предполагаю, что читатель знаком с основами линейной а...

Говорит и показывает: отличается ли риторика кандидатов в президенты? Можно ли по цитате определить, кто из политиков ее автор? Украинская НКО Vox Ukraine делает проект VoxCheck, в рамках которого проверяет высказывания наиболее рейтинговых политиков. Недавно они выложили всю базу проверенных цитат. Я как раз слушаю курсы по NLP и решила прове...

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

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

5 бесплатных курсов для IT-Администраторов от Microsoft Привет, Хабр! Сегодня мы продолжаем серию статей, в которую войдет 5 подборок бесплатных обучающих курсов от компании Microsoft. Во второй части у нас самые крутые курсы для IT-Администраторов, которые сильнее всего нравятся коллегам. Кстати! Все курсы бесплатные (вы даже...

Боль и слёзы в Svelte 3 Вместо предисловия Статья будет полезна тем, кто так-же как и Мы решил попробовать Svelte в живом проекте. В нашу небольшую компанию пришёл заказ на разработку веб-админки для сервиса с бекэндом на Mongodb Stitch. В последние пару лет frontend Мы пишем на React или Vue (в за...

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

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

[Перевод] 6 интересных идей применения дополненной реальности (AR) Прим. пер.: в своей статье, оригинальное название которой: «6 Interesting Augmented Reality Concepts», Ник Бабич собрал ценную подборку идей применения AR, которая будет интересна даже тем, кто никак не связан с разработкой. Среди концепций есть реально работающие продукты,...

Как превратить спутниковые снимки в карты. Компьютерное зрение в Яндексе Один из главных источников данных для сервиса Яндекс.Карты — спутниковые снимки. Чтобы с картой было удобно работать, на снимках многоугольниками размечаются объекты: леса, водоёмы, улицы, дома и т. п. Обычно разметкой занимаются специалисты-картографы. Мы решили помочь им и...

Предсказания от математиков. Разбираем основные методы обнаружения аномалий За рубежом все большую популярность набирает использование искусственного интеллекта в промышленности для предиктивного обслуживания (predictive maintenance) различных систем. Цель этой методики — определение неполадок в работе системы на этапе эксплуатации до выхода её из с...

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

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

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

Ищем пневмонию на рентгеновских снимках с Fast.ai Наткнулся на статью в блоге компании Школа Данных и решил проверить, на что способна библиотека Fast.ai на том же датасете, который упоминается в статье. Здесь вы не найдете рассуждений о том, как важно своевременно и правильно диагностировать пневмонию, будут ли нужны врачи...

Как ускорить шифрование по ГОСТ 28147-89 на процессоре Байкал-Т1 за счет SIMD-блока В статье на примере описания реализации алгоритма шифрования по ГОСТ 28147–89, построенного на сети Фейстеля, показаны возможности двухъядерного процессора BE-T1000 (aka Байкал-Т1) и проведены сравнительные испытания реализации алгоритма с помощью векторных вычислений с сопр...

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

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

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

Как нейронная сеть SincNet выделяет значимые частоты в звуке через Back Propagation Недавно вышла одна очень интересная статья "Speaker Recognition from raw waveform with SincNet", в которой была описана end-to-end архитектура нейронной сети для распознавания говорящего по голосу. Ключевая особенность этой архитектуры — специальные одномерные сверточные сло...

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

Геттеры/сеттеры и проблема с инкапсуляцией в Symfony коде Сравнительно недавно работаю с Symfony (чуть более года) и во всех проектах, что довелось поработать — сущности всегда создавались таким образом, что они содержали только приватные поля и голые сеттеры/геттеры к ним. В статьи будут рассуждения и примеры, почему такой подход...

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

Как соотносятся экзамены ITIL® 4 с экзаменами предыдущей версии по уровню сложности В строгом соответствии с планом AXLEOS/PEOPLECERT 8 ноября 2019 объявили о начале приёма экзаменов продвинутого уровня сертификационной схемы ITIL 4. Теперь доступны экзамены ITIL Specialist: Create, Deliver and Support из потока (steam) Managing Professional и ITIL Strateg...

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

[Перевод] Почему вам следует использовать pathlib От переводчика: Привет, хабр! Представляю вашему вниманию перевод статьи Why you should be using pathlib и её продолжения, No really, pathlib is great. Много внимания нынче уделяется таким новым возможностям Python, как asyncio, оператору :=, и опциональной типизации. При э...

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

[Из песочницы] Исследование связности мировых валют через корреляцию абсолютных курсов Введение О проекте Проект “Абсолютный курс валют” занимается анализом парных валютных курсов, выделением из них абсолютных валютных курсов и их анализом. В рамках проекта получена методика преобразования от парных курсов к абсолютным валютным курсам. Для этого определена аб...

Экзамены по Azure На мероприятии в сентябре 2018 было анонсировано, что появились новые экзамены серии AZ-***, а серия 70-53* уйдет в небытие. Описание уже было тут, но эта статья про все изменения, а мне бы хотелось сделать обзор только Azure. Кроме того, в декабре 2018 года были дополнитель...

PVS-Studio ROI Время от времени нам задают вопрос, какую пользу в денежном эквиваленте получит компания от использования анализатора PVS-Studio. Мы решили оформить ответ в виде статьи и привести таблицы, которые покажут, насколько анализатор может быть полезен. Мы не можем в статье доказа...

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

Фракталы в иррациональных числах Статья является продолжением моей первой статьи «Фракталы в простых числах». В предыдущей статье мы научились рисовать самоподобные паттерны с помощью взаимно простых чисел. В этой статье покажу фрактальную природу числа . Без предисловия. Под кат. Читать дальше →

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

YIMP — Панель управления для Yii 2 на Bootstrap 4 Уверен, что у многих разработчиков, предпочитающих фреймворки готовым CMS, есть в запасе решение на Bootstrap или его аналогах, которое используется в для создания интерфейсов админок и прочих бэк-офисов. И у меня такое есть. Успешно работает много лет, но безнадежно устарел...

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

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

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

Хватит спорить про функциональное программирование и ООП Пост содержит некоторое количество стёба, минздрав убедительно просит неподготовленного читателя воздержаться от прочтения. Статьи на тему «ФП лучше» или «ООП лучше» напоминают дебаты, что же лучше для обеда, вилка или ложка. Традиционно джуны начинали с ложки, но кто-то оче...

Экзамены по Azure (версия исправленная и дополненная) На мероприятии в сентябре 2018 было анонсировано, что появились новые экзамены серии AZ-***, а серия 70-53* ушли в небытие. Описание уже было тут и в моей более ранней статье. Но с тех пор многое изменилось и эта статья включает в себя изменения от декабря 2018 года, марта...

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

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

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

6 самых свежих курсов по Azure Привет, Хабр! Ранее мы опубликовали уже 3 статьи из 5 в нашей серии подборок интересных учебных курсов от Microsoft. Сегодня – уже четвертая часть, и в ней мы расскажем про самые свежие курсы по облаку Azure. Кстати! Все курсы бесплатные (вы даже сможете попробовать плат...

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

Изучение английского — непопулярное мнение Всем привет. Очередная статья от «курсов изучения английского» сподвигла меня написать свои заметки. Этой статьёй я надеюсь ответить на некоторые вопросы изучающих язык и отговорить от глупых советов «запомнить вот эти 10/15/20 слов/конструкций», которые подаются как некие ...

Samsung открывает бесплатный онлайн-курс по нейросетям в задачах компьютерного зрения Вы пока не разбираетесь, почему ReLU лучше сигмоиды, чем отличается Rprop от RMSprop, чем нормализованный сигнал лучше ненормализованного и почему сигналы вообще стоит пробрасывать? И зачем нейронной сети нужен граф, и какую он совершил ошибку, что она распространяется обрат...

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

[Из песочницы] Неявные (implicit) параметры и преобразования в Scala Пробежавшись по предыдущим статьям на Хабре, тыц и тыц так и не удалось в быстром режиме понять, что делает неявность (implicit) в Scala. Попробуем разобраться вместе. Итак, implicit в Scala позволяют избежать вызывания методов или явных ссылок на переменные, и взамен это...

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

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

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

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

[Из песочницы] Способы сегментации точек в Point Clouds Введение Некоторое время назад мне потребовалось решить задачу сегментации точек в Point Cloud (облака точек — данные, полученные с лидаров). Пример данных и решаемой задачи: Поиски общего обзора существующих методов оказались неуспешными, поэтому пришлось собирать информац...

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

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

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

Детали перехода от парных (относительных) валютных курсов к абсолютным. Работа над ошибками Введение Настоящая статья описывает результаты эксперимента проведенного в рамках проекта “Абсолютный курс валют”. Протокол эксперимента можно увидеть перейдя по ссылке. Проект “Абсолютный курс валют” занимается анализом парных валютных курсов, выделением из них абсолютных ...

Анализ коммитов и pull request'ов в Travis CI, Buddy и AppVeyor с помощью PVS-Studio В анализаторе PVS-Studio для языков С и C++ на Linux и macOS, начиная с версии 7.04, появилась тестовая возможность проверить список указанных файлов. С помощью нового режима можно настроить анализатор для проверки коммитов и pull request'ов. В этой статье будет рассказано,...

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

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

Краш-тесты СХД AERODISK ENGINE N2, проверка на прочность Всем привет! Этой статьей компания AERODISK открывает блог на Хабре. Ура, товарищи! В предыдущих статьях на Хабре были рассмотрены вопросы об архитектуре и базовой настройке СХД. В этой статье мы рассмотрим вопрос, который ранее не был освещен, но его часто задавали – об от...

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

Как закрывать задачи в баг-трекере Эту статью я написала в рабочем конфлюенсе в 2013 году. И на момент написания этой статьи (2019 год) она все еще была актуальна. Исходно чек-лист записала как напоминание, в том числе и себе. Потому что к задачам приходится возвращаться, в том числе людям, которые их НЕ про...

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

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

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

Инженерный подход к разработке ПО Как проверить идеи, архитектуру и алгоритмы без написания кода? Как сформулировать и проверить их свойства? Что такое model-checkers и model-finders? Требования и спецификации — пережиток прошлого? Привет. Меня зовут Васил Дядов, сейчас я работаю программистом в Яндексе, до ...

[Перевод] Senior Engineer в поисках работы. О задачах на технических собеседованиях и теоретических вопросах Продолжаем говорить о технических собеседованиях (если вы не читали — просмотрите предыдущие статьи из цикла — о собеседованиях с HR и технических). В этот раз будет больше субъективного опыта, минимум советов, а также немножко про тестовые задания и теоретические вопросы. П...

[Перевод] Улучшение работы батарей через химию [* Название статьи является аллюзией на название первого студийного альбома Fatboy Slim, «Better Living Through Chemistry» / прим. перев.] Свинцово-кислотный аккумулятор нельзя назвать чудом современной инженерной мысли. Он очень надёжен и прост в использовании, а для его...

Закон Яровой с точки зрения конституции. Почему можно Привет, %habrauser% это пробная заметка, с целью разведать насколько интересна данная тематика уважаемому сообществу. И так, наверно многие задавались вопросом, почему статья 23 Конституции РФ предоставляет нам, среди прочего право на тайну переписки, телефонных переговоро...

Сравнение сертификаций по Agile, часть 1 — ICAgile, Scrum.org, ScrumAlliance и PMI Некоторое время назад, я перешел из компании, которая жила в мире жесткого Waterfall и суровых планов в MS Project на несколько тысяч строк, в компанию, которая живет в мире Agile — ценности, которую несут продукты уделяется больше внимания чем следованию плану, фокус в разр...

[recovery mode] REST страсти по 200 Давно я хотел написать эту статью. Все думал — с какой стороны зайти правильнее? Но, вдруг, недавно, на Хабре появилась подобная статья, которая вызвала бурю в стакане. Больше всего меня удивил тот простой факт, что статью начали вбивать в минуса, хотя она даже не декларир...

[recovery mode] Оптимизатор политик безопасности Palo Alto Networks NGFW Как оценить эффективность настройки NGFW Самая частая задача — проверить насколько эффективно настроен ваш межсетевой экран. Для этого существуют бесплатные утилиты и сервисы у компаний которые занимаются NGFW. Например, ниже видно, что у компании Palo Alto Networks есть в...

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

Идея о поиске людей в лесу Эта статья описание небольшой идеи возникшей после прочтения недавней статьи «Обыскать 314 км² за 10 часов — финальное сражение инженеров-поисковиков против леса» Сразу предупрежу, что у меня маловато опыта в радиотехнике, и совсем нет оного в поиске пропавших людей, так чт...

[Перевод] Комбинирование Signed Distance Fields в 2D В предыдущем туториале мы научились создавать и перемещать простые фигуры с помощью функций расстояний со знаком. В этой статье мы научимся комбинировать несколько фигур для создания более сложных полей расстояний. Большинству описанных здесь техник я научился из библиотеки ...

NLP. Основы. Техники. Саморазвитие. Часть 1 Привет! Меня зовут Иван Смуров, и я возглавляю группу исследований в области NLP в компании ABBYY. О том, чем занимается наша группа, можно почитать здесь. Недавно я читал лекцию про Natural Language Processing (NLP) в Школе глубокого обучения – это кружок при Физтех-школе п...

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

Дайджест статей машинного обучения и искусственного интеллекта Хабр, привет. Отфильтровав большое количество статей, конференций и подписок — собрал для вас все наиболее значимые гайды, статьи и лайфхаки из мира машинного обучения и искусственного интеллекта. Всем приятного чтения! 1. Проекты искусственного интеллекта, с которыми можн...

Разработка электроники. Аудит проекта в примерах. Спасаем тёплые полы всем хабром Лирическое отступление По моему мнению, в сегодняшней России наибольшие шансы на успех в области технологических стартапов имеют два типа проектов: узконишевые в области промышленной автоматизации, основанные командой профессионалов в данной области и подкреплённые старто...

Flare-On 2019 write-up -0x01 — Intro Данная статья посвящена разбору всех заданий Flare-On 2019 — ежегодного соревнования по реверс-инжинирингу от FireEye. В данных соревнованиях я принимаю участие уже второй раз. В предыдущем году мне удалось попасть на 11-ое место по времени сдачи, решив все з...

Язык и органы чувств Привет, Хабр! Представляю вашему вниманию перевод статьи "How your language reflects the senses you use" автора Sophie Hardach. Что вам проще описать: цвет травы или ее запах? Ответ может зависеть от того, откуда вы родом, и, в частности, от того, на каком языке вы с детств...

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

[Перевод] Java Challengers #4: Сравнение объектов с equals() и hashCode() Java Challengers #4: Сравнение объектов с equals() и hashCode() В преддверии запуска нового потока по курсу "Разработчик Java" мы продолжаем перевод серии статей Java Challengers, предыдущие части которых можно прочитать по ссылкам ниже: Перегрузка методов в JVM Сравнение с...

[Из песочницы] Передача знания и Нейронный машинный перевод на практике Нейронный машинные перевод (НМП, англ. Neural Machine Translation, NMT) развивается очень быстро. Сегодня, чтобы собрать свой переводчик, не нужно иметь два высших образования. Но чтобы обучить модель, нужен большой параллельный корпус (корпус, в котором предложению на исход...

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

Курс лекций «Основы цифровой обработки сигналов» Всем привет! Часто ко мне обращаются люди с вопросами по задачам из области цифровой обработки сигналов (ЦОС). Я подробно рассказываю нюансы, подсказываю нужные источники информации. Но всем слушателям, как показало время, не хватает практических задач и примеров в процессе...

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

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

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

Искусство парсинга 2 или транслитерация собственной разметки +БОНУС: как включать классы друг в друга в C++ Привет, Хабр! Эта статья — прямое продолжение статьи Искусство парсинга или DOM собственными руками, где мы разобрали HTML-документ и построили на его основе абстрактное синтаксическое дерево (AST) с доступом к любому элементу ч...

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

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

[Из песочницы] Сколько стоит OpenSource Значение термина Open Source очень часто отождествляют с отсутствием необходимости платить за программный продукт. Стремление к экономии, к «халяве» не чуждо большинству, и вроде как OpenSource должен являться той волшебной таблеткой, которая должна была уже давно спасти вес...

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

PostGIS и JPA PostGIS — открытое программное обеспечение, добавляющее поддержку географических объектов в реляционную базу данных PostgreSQL. В этой небольшой статье будет рассмотрено использование его в Java. В частности — задача нахождения географических объектов по их координатам. Ч...

[Перевод] Трагедия Common Lisp: почему популярные языки раздуваются в сложности Адаптировано из обсуждения 2015 года. Здесь Common Lisp служит лишь одним из многих наглядных примеров Будущее JavaScript? Я с 2007 года работаю в комитете по стандартам JavaScript (TC39). Мы ценим простоту языка, но со временем утратили бдительность. Сложность стала не...

Структура DNS пакета Предисловие Решил как то написать снифер DNS, так сказать just for fun. Просто посмотреть какие адреса в моей системе резолвятся. Протокол старый, документации должно быть много. Много. Но все статьи очень не полные и заканчиваются, на самом интересном моменте. Да, есть rf...

[Перевод] Язык программирования Swift на Raspberry Pi Raspberry PI 3 Model B+ В этом мануале мы разберем основы использования Swift на Raspberry Pi. Raspberry Pi — небольшой и недорогой одноплатный компьютер, потенциал которого ограничен лишь его вычислительными ресурсами. Он хорошо известен техногикам и любителям DIY. Это о...

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

Делаем крутой sticky-эффект для слайдера на React Есть много разных библиотек для реализации слайдера со всеми возможными эффектами. Для React одни из лучших это: ReactSlick и Swiper. Но когда для моего проекта потребовался горизонтальный sticky-эффект, то ничего подходящего не нашлось. В этой статье мы попробуем поэтапно...

[Перевод] Сравнение BDD фреймворков Python: плюсы и минусы Всем привет. Уже в этом месяце в ОТУС стартует курс "Python QA Engineer". В преддверии старта данного курса делимся с вами переводом интересного материала. Почти все основные языки программирования имеют фреймворки для BDD тестирования, и Python не исключение. И по факту, у...

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

TheOutloud — озвучивай и делись любимыми статьями и историями Привет всему сообществу, Habr! Уже некоторое время я являюсь вашим читателем и сегодня решил, что пришло время для моего первого поста здесь. Я давно хотел научиться программировать и последние пару месяцев проводил все свободное время, просматривая обучающие ролики на yout...

ML.NET: впечатления от Model Builder и не только Доброго времени суток и мое почтение, читатели Хабра! Предыстория У нас на работе принято обмениваться интересными находками в командах разработки. На очередной встрече, обсуждая будущее .NET и .NET 5 в частности, мы с коллегами заострили внимание на видении унифицированный ...

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

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

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

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

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

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

Chrome Audit на 500: Часть 1. Лендинг В инструментах разработчика браузера хром есть вкладка «Audit». На ней расположился инструмент который называется Lighthouse, служит он для анализа насколько хорошо сделано веб приложение. Недавно я решил протестировать одно приложение и ужаснулся результатам. Сразу по нес...

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

Обман нейронной сети для начинающих В рамках ежегодного контеста ZeroNights HackQuest 2018 участникам предлагалось попробовать силы в целом ряде нетривиальных заданий и конкурсов. Часть одного из них была связана с генерированием adversarial-примера для нейронной сети. В наших статьях мы уже уделяли внимание ...

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

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

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

Сравнение производительности виртуальных машин 6 облачных платформ: Selectel, MCS, Я.Облако, Google Cloud, AWS и Azure Давеча на глаза мне тут попалось аж две статьи из одного корпоративного блога, касающиеся облаков — одна про Kubernetes, а во второй была попытка замера производительности по методике, которая мне показалась сомнительной (спойлер — и не зря). Про K8s мне тоже есть что сказат...

8 советов, как применить свою квалификацию ITIL на практике Если вы только что сдали сертификационный экзамен ITIL Foundation или еще не сдавали его и думаете о том, как наилучшим образом использовать свое обучение на рабочем месте, то эта статья для вас. Кроме того, если у вас квалификация по более старой версии ITIL, то части этой ...

[Из песочницы] Преобразование Фурье. The Fast and the Furious Зачастую при разработке алгоритмов мы упираемся в предел вычислительной сложности, который, казалось бы, преодолеть невозможно. Преобразование Фурье имеет сложность , а быстрый вариант, предложенный около 1805 года Гаусом1 (и переизобретенный в 1965 году Джеймсом Кули и Джон...

Behaviors — конечный автомат без головной боли Стандартный подход к описанию последовательности вводов пользователя и реакции на них (например при управлении персонажем в игре) — это конечный автомат (state machine). Он, однако, часто приводит к громоздким программам, понимание которых требует немалых усилий или даже зар...

Sberbank AI Journey. Как мы учили нейросеть сдавать экзамен Если вы закончили школу уже во времена ЕГЭ, то вам известно, что все задания в нём имеют набор стандартных формулировок и упорядочены по типам. С одной стороны, это облегчает подготовку к экзамену: школьник уже знает, что нужно делать в задании, даже не читая его условия. С ...

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

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

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

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

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

Даже web ресурсы известных организаций не защищены от детских ошибок Disclaimer. Все события происходили в 2017 году. Обо всех указанных в статье уязвимостях было сообщено представителям компаний в кратчайшие сроки с момента их обнаружения. Некоторые ресурсы, на 2019 год, были полностью обновлены (frontend и backend). Статья носит сугубо инфо...

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

[Из песочницы] Тренды и прогнозы в Natural Language Processing Тренды и прогнозы в области NLP (Natural Language Processing) Это статья про тренды и прогнозы из нашего сентябрьского Альманаха «Искусственный интеллект» №2, который посвящен обзору рынка технологий и компаний в области NLP и распознавания-синтеза речи в России. Для этого ...

ScrumBut в команде аналитиков: перед взлётом Привет, Хабр! Меня зовут Женя. Я системный аналитик компании «НОРБИТ» и начинающий Scrum-мастер. Я давно присматривалась к Scrum с целью изучить, попробовать и оценить его возможности в нашей команде аналитиков. И вот, после легкого пинка воодушевляющего разговора с РП я пон...

Monster Yard — яркая, но хардкорная головоломка с бесконечными режимом для Android Такие простые на первый взгляд головоломки, как VVVVVV, Super Hexagon или Oo, на самом деле делают очень важные вещи — они показывают, что для того чтобы затянуть игрока не нужна крутая графика или что-либо еще. Им достаточно механики. Потом обязательно находятся разработчик...

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

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

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

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

[Из песочницы] Пишем блог на микросервисах – часть 1 «Общее описание» В этой статье хочу поделится нашими c SergeyMaslov наработками решения типовых задач с использованием микросервисной архитектуры на примере задачи «создание блога» (в надежде, что читатель представляет как устроен блог и это не должно вызывать вопросов по функциональности:) ...

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

[Перевод] Зачем ЯОП? Зачем Racket? Это продолжение статьи «Зачем Racket? Зачем Lisp?», которую я написал примерно через год после того, как открыл для себя Racket. Будучи новичком, я не мог понять дифирамбов, которые со всех сторон сыпались в адрес Lisp. Я не знал, что и думать. Как понимать, что Lisp в конце...

Строительные блоки распределенных приложений. Второе приближение Анонс Коллеги, в середине лета я планирую выпустить еще один цикл статей по проектированию систем массового обслуживания: “Эксперимент VTrade” — попытка написать фреймворк для торговых систем. В цикле будет разобрана теория и практика построения биржи, аукциона и магазина. В...

[Перевод] 5 чрезвычайно простых способов ощутимо повысить скорость вашего VueJS-приложения Здравствуйте. Перевод данной статьи подготовлен специально для студентов курса «Разработчик JavaScript», который стартует уже на следующей неделе. Голос Чуи Немного обо мне — меня зовут Вайбхав, я из Five2One. Я вовлечен во VueJS уже целых 2 года (с момента выхода 1.0) и...

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

[Из песочницы] Deploy Symfony + React приложения на AWS посредством CI Добрый день, в данной статье я покажу как развернуть Symfony 4 приложение на AWS. В официальной документации есть пример подобного процесса, однако мой вариант не столь тривиален, как загрузка zip архива с приложением. На дворе 2019, в моде docker, микросервисная архитектура...

А какая разница какой Collation выбрать? Статья подготовлена для студентов курса «MS SQL Server разработчик» Хочу поделиться историей из одного из предыдущих проектов, которая иллюстрирует, что Collation нужно выбирать очень вдумчиво. И о том, что бывает, если этот параметр все-таки выбрали неверно, и какие вариант...

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

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

Как геокодировать миллион точек на Spark по-быстрому? В моем предыдущем проекте перед нами встала задача провести обратное геокодирование для множества пар географических координат. Обратное геокодирование — это процедура, которая паре широта-долгота ставит в соответствие адрес или название объекта на карте, к которому принадле...

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

[Из песочницы] Пишем «Hello, world!» приложение для web на Haskell (Spock) Мне стало скучно писать на Python, захотелось чего-нибудь необычного. Решил попробовать Haskell. Языка я не знаю, однако просто писать консольные учебные программы, типа вычисления факториала, не хотелось. После изучения довольно большого числа постов про Haskell и его приме...

«Теория Большого взрыва» и практика применения Python Вступление В последнее время активно изучаю язык программирования Python. Особенно меня заинтересовало использование Python в распознавании и классификации лиц. В статье я попробую применить распознавание лиц для сериала «Теория Большого взрыва». Читать дальше →

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

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

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

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

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

IntelliJ IDEA, ReSharper, SonarLint и SonarQube находят те же ошибки, что и PVS-Studio — ну и зачем нам PVS-Studio? Иногда люди задают вопрос, который, на первый взгляд, про одно, а на самом деле про другое. Как говорится, грамотно поставленный вопрос содержит половину ответа. На днях я вернулся с конференции JPoint, на которой впервые был представлен наш новый анализатор PVS-Studio для ...

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

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

Хаки при работе с большим числом мелких файлов Идея статьи родилась спонтанно из дискуссии в комментариях к статье «Кое-что об inode». Дело в том, что внутренней спецификой работы наших сервисов является хранение огромадного числа мелких файлов. На данный момент у нас порядка сотен терабайт таких данных. И мы натолкну...

Станет ли Apple TV+ серьезным конкурентом существующим сервисам? Станет ли Apple TV+ нашим будущим или будет обычным проходным сервисом? Весной этого года Apple рассказала о новом сервисе, который получил название Apple TV+. На прошедшей десятого сентября презентации, нам назвали конкретную дату появления этого сервиса в наших домах ̵...

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

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

Расчет нулевой гипотезы, на примере анализа зарплат украинских программистов Решил поделиться, да бы и самому не забывать, как можно использовать простые статистические инструменты для анализа данных. В качестве примера использовался анонимный опрос относительно зарплат, стажа и позиций украинских программистов за 2014 и 2019 год. (1) Этапы анализа...

Напиши свою песню за 10 минут (модуль textgenrnn Python3) Сегодня попробуем обучить свою собственную нейронную сеть, чтобы писала текст для песен. Обучающей выборкой будут тексты группы "Руки Вверх". Ничто не мешает чтобы поменять данные на тексты своих любимых групп. Для извлечения данных с веб-сайтов используем Python3 (модуль B...

[Из песочницы] Как я не стал программистом в 35 лет С самого начала сентября широким потоком хлынули на Хабр публикации об успешном успехе на тему «Детство программиста», «Как стать программистом после N лет», «Как я ушёл в IT из другой профессии», «Путь в программирование» и так далее. Подобные статьи пишут постоянно, но во...

Трактат о Pinе. Мысли о настройке и работе с пинами на С++ для микроконтроллеров (на примере CortexM) Последнее время я сильно увлекся вопросом надежности софта для микроконтроллеров, 0xd34df00d посоветовал мне сильнодействующие препараты, но к сожалению руки пока не дошли до изучения Haskell и Ivory для микроконтроллеров, да и вообще до совершенно новых подходов к разработк...

Айсиошечка от Цукерберга — кратко и по делу о Libra Объявленный 17 июня 2019 года проект Libra уже наделал шума в прессе и даже большой политике, но все виденные мной статьи пестрят лозунгами и предсказаниями мрачного будущего, опуская технические детали. В этой статье я кратко изложу что же Facebook собственно обещает, как р...

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

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

[Из песочницы] Назад в будущее с WebAssembly Привет, Хабр! Представляю вашему вниманию перевод статьи «Back To The Future With WebAssembly» автора Attila Vágó. Данный пост является переводом статьи, в которой рассказывается о свойствах WebAssemly и Emscripten. Оригинал статьи на английском языке. Автор статьи Аттила ...

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

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

MPPT контроллер заряда на STM32F334C8T6 В комментариях под моими предыдущими статьями неоднократно возникал вполне резонный вопрос: "Зачем делать dc/dc преобразователи на микроконтроллере, когда есть готовые?" и я в качестве ответа постоянно упоминал, как наиболее яркий пример, контроллер заряда с алгоритмом MPPT....

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

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

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

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

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

Blitz Engine & Battle Prime: ECS и сетевой код Вступление Battle Prime — первый проект нашей студии. Несмотря на то, что многие члены команды имеют приличный опыт в разработке игр, мы, естественно, сталкивались с разными сложностями во время работы над ним. Они возникали как в процессе работы над движком, так и в процес...

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

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

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

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 22. Третья версия CCNA: продолжаем изучение RIP Я уже говорил, что буду обновлять свои видеоуроки до CCNA v3. Все, что вы выучили на предыдущих уроках, полностью соответствует новому курсу. Если возникнет необходимость, я буду включать дополнительные темы в новые уроки, так что можете не беспокоиться по поводу соответстви...

Простейшее профилирование памяти на STM32 и других микроконтроллерах «С опытом приходит стандартный, научный подход к вычислению правильного размера стека: взять случайное число и надеяться на лучшее» — Jack Ganssle, «The Art of Designing Embedded Systems» Привет, Хабр! Как ни странно, но в абсолютном большинстве виденных мной «учебников дл...

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

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

Как технологии IoT изменят мир в ближайшие 10 лет 29 марта в нижегородском технопарке «Анкудиновка» iCluster организовал лекцию Тома Рафтери (Tom Raftery), футуриста и IoT-евангелиста компании SAP. Бренд-менеджер веб-сервиса Smarty CRM познакомился с ним лично и узнал о том, что как и какие инновации проникают в повседнев...

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

Игра фреймворков: тренды JavaScript в 2019 TypeScript против ES6, React против Angular, Jest против Mocha… Не хуже нашумевшего сериала, эти «битвы» держат поклонников JavaScript в напряжении, заставляя их задумываться: «Что же учить дальше?» К тому же, армии пользователей каждой из технологий приводит настолько убеди...

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

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

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

Работаем с USB Custom HID на Android В современных Android — приложениях для взаимодействия с другими устройствами чаще всего используются беспроводные протоколы передачи данных, как например Bluetooth. В годы, когда часть устройств имеют беспроводную зарядку, сложно представить себе связку Android устройства ...

[Перевод] Знакомство с Тестированием в Python. Ч. 3 Друзья, у нас для вас отличные новости. Во-первых на улице наконец-то светит солнышко, а это значит, что весна начинает полноправно вступать в свои права. Вторая новость более профильная — уже 20 марта стартует первое занятие в новом потоке по курсу «Разработчик Python», в с...

Один день из жизни модели ресторана Данная статья описывает новые компоненты фреймворка для имитационного моделирования, ранее представленного в статье «Простая система имитационного моделирования на Go». По мере расширения фреймворка появилась возможность моделировать более сложные системы, например, провест...

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

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

[Перевод] Starlink — дело крупное Эта статья из серии, посвященной ликбезу в области космических технологий. Starlink — план SpaceX раздавать интернет через десятки тысяч спутников — главная тема в посвященной космосу прессе. Еженедельно выходят статьи о последних достижениях. Если в общем-то схема ясная, д...

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

[Из песочницы] Make it True — Разработка логической игры на Unity Хочу поделиться процессом разработки простой мобильной игры силами двух разработчиков и художника. Данная статья в большей мере состоит описания технической реализации. Осторожно, много текста! Статья не являются руководством или уроком, хотя надеюсь что читатели смогут в...

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

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

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

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

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

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

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

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

[Из песочницы] Учим компьютер различать звуки: знакомство с конкурсом DCASE и сборка своего аудио классификатора за 30 минут Введение Доброго времени суток, хабр! Накопив немного опыта в решении задач классификации и детектирования акустических событий, мы с ananaskelly решили, что готовы им с вами поделиться. Цель этой статьи — познакомить вас с некоторыми задачами и рассказать о соревновании по ...

9 типовых проблем в сети, которые можно обнаружить с помощью анализа NetFlow (на примере Flowmon) Относительно недавно мы публиковали статью “Сетевой мониторинг и выявления аномальной сетевой активности с помощью решений Flowmon Networks”. Там мы кратко рассмотрели возможности этого продукта и процесс установки. Неожиданно для нас, после статьи и вебинара, поступило бо...

[Перевод] Чеклист готовности к продакшну Перевод статьи подготовлен специально для студентов курса «DevOps практики и инструменты», который стартует уже сегодня! Вы когда-нибудь выпускали новый сервис в продакшн? Или может занимались сопровождением таких сервисов? Если да, то чем вы руководствовались? Что для п...

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

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

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

[Перевод] Хранилище LINSTOR и его интеграция с OpenNebula Не так давно ребята из LINBIT представили свое новое SDS-решение — Linstor. Это полностью свободное хранилище в основе которого используются проверенные технологии: DRBD, LVM, ZFS. Linstor сочетает в себе простоту и хорошо проработанную архитектуру, что позволяет добиться с...

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

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

Republic в Kubernetes: переезд десятилетия Скандальные, важные и просто очень крутые материалы выходят в СМИ не каждый день, да и со 100% точностью спрогнозировать успешность той или иной статьи не возьмётся ни один редактор. Максимум, чем располагает коллектив — на уровне чутья сказать, «крепкий» материал или же «...

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

Магия SwiftUI Вы пробовали добавить в VStack больше 10 вьюх? var body: some View { VStack { Text("Placeholder1") Text("Placeholder2") // ... тут вьюшки с 3 по 10 . . . Text("Placeholder11") } } Я попробовал — это не комп...

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

Статическое распределение объектов FreeRTOS По умолчанию все объекты в системе FreeRTOS распределяются динамически — очереди, семафоры, таймеры, задачи (потоки), и мьютексы. Программист видит только «кучу» — область где динамически выделяется память по запросу программы или системы, а что там творится внутри – не ясно...

TR-069 в Mikrotik. Испытываем Freeacs в качестве сервера автоконфигурации для RouterOS В данной статье, я попробую пошагово описать процесс установки тестового сервера прекрасного проекта Freeacs до полностью работоспособного состояния, и показать практические приемы для работы с mikrotik: конфигурацию через параметры, выполнение скриптов, обновление, установк...

[Из песочницы] Новичку only: 10 вещей, которые вы должны знать как веб-разработчик Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Things You Should Know As a Web Developer» автора Anuupadhyay. Написание тысячи строк кода и превращение в веб-сайт — одна из творческих и сложных вещей для веб-разработчиков. Если вы в этом деле новичок, увидели ...

Окей, Google: как пройти капчу? Здравствуйте. Меня зовут Ибадов Илькин, я студент Уральского федерального университета. В данной статье я хочу рассказать о своем опыте автоматизированного решения капчи компании «Google» — «reCAPTCHA». Хотелось бы заранее предупредить читателя о том, что на момент написани...

[Из песочницы] Как я делился местоположением через ВК API Недавно решил попробовать реализовать идею о том, как можно делиться местоположением через API ВКонтакте с друзьями в режиме, приближенном к реальному времени. На выходе получилось кроссплатформенное Qt-приложение для iOS/Android, веб-приложение для ВКонтакте и парочка pull ...

От «Цветорасширителя для ZX-Spectrum» до ZX-Poly "Цветорасширитель для ZX-Spectrum" — так называлась статья, опубликованная в эхе fido7.zx.spectrum 3 августа 1997 года. Статья описывала идею решения одной из главных проблем платформы ZX-Spectrum — конфликта атрибутов (attribute clash). Публикация вызвала в то время определ...

Тонкий, мощный и выносливый, да ещё и со вторым экраном в тачпаде. Обзор ноутбука ASUS ZenBook 14 Когда в устройстве находишь много недостатков, в статье всегда найдётся, о чём написать. Когда недостатков практически нет, зато есть всё необходимое, хочется написать "просто хороший ноутбук". И в статье об ASUS ZenBook 14 UX434F мы бы так и поступили, но на самом деле эта ...

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

[Перевод] Вычисление 2D-коллизий: алгоритм Гилберта — Джонсона — Кирти Я занялся изучением процессов распознавания коллизий, и это привело меня к алгоритму Гилберта — Джонсона — Кирти (Gilbert-Johnson-Keerthi, GJK). Все примеры кода в посте написаны на TypeScript. В примерах используются созданные мной структуры, которые подробно в посте не р...

К вопросу о буферах (кольцевых) «Если затраты на разработку архитектуры кажутся Вам чрезмерными, подумайте, во сколько Вам может обойтись неправильная архитектура» — не могу точно вспомнить источник Когда то, «давным-давно, в одной далекой галактике», я приобрел замечательную книгу Чарльза Уэзерелла «Эт...

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

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

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

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

Kali Linux NetHunter на Android Ч.2: атаки на беспроводные сети Предыдущие статьиKali Linux NetHunter на Android: зачем и как установить И снова здравствуй, мой любознательный друг! Как ты, наверняка, помнишь, в прошлой статье мы говорили об установке NetHunter на Android устройство. Сейчас мы займемся практической частью и обзором возм...

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

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

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

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

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

[Перевод] Обработка 40 ТБ кода из 10 млн проектов на выделенном сервере с Go за $100 Написанной мной инструмент командной строки Sloc Cloc and Code (scc), который теперь доработан и поддерживается многими отличными людьми, подсчитывает строки кода, комментарии и оценивает сложность файлов внутри каталога. Здесь нужна хорошая выборка. Инструмент подсчитывает ...

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

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

QEMU.js: теперь по-серьёзному и с WASM Когда-то давно я смеха ради решил доказать обратимость процесса и научиться генерировать JavaScript (а точнее, Asm.js) из машинного кода. Для эксперимента был выбран QEMU, некоторое время спустя была написана статья на Хабр. В комментариях мне посоветовали переделать проект ...

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

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

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

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

[Перевод] Десять заповедей React компонентов Написано Kristofer Selbekk, в сотрудничестве с Caroline Odden. Основано на лекции с таким же названием и с теми же людьми, состоявшейся на встрече ReactJS в Осло в июне 2019 года.От переводчика — оригинальное название The 10 Component Commandments не упоминает React, но бол...

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

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

Хабро-самоубийство. Боль планирования в 1С Не я придумал, но я согласен с тем, что для понимания решений и их полезности нужна боль, или, как говорят ребята в костюмах, pain. Если у вас нет трудностей с дефицитами, избыточными запасами, просрочкой отгрузок, и другими симптомами плохого планирования – отлично, статья ...

[Из песочницы] Визуализация времени возрождения Рошана В данной статье рассматривается перехват функций графического API на примере DirectX 9 под x64 применительно к игре Dota 2. Будет подробно рассказано, как внедриться в процесс игры, как изменить поток выполнения, приведено краткое описание внедряемой логики. В конце поговор...

Этот ваш хаскель (не) только для факториалов и годен Когда речь заходит о любимых языках, я обычно говорю, что при прочих равных предпочитаю C++ для числодробилок и хаскель для всего остального. Полезно периодически проверять, насколько такое деление обосновано, а тут ещё недавно возник один праздный и очень простой вопрос: ка...

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

[Из песочницы] ClusterJ — работаем с MySQL NDB Cluster из Java Привет, Хабр! В этой статье я хочу рассмотреть такую библиотеку для Java, как ClusterJ, которая позволяет очень просто работать с движком MySQL NDBCLUSTER из Java кода, которая представляет собой высокоуровневое API, схожее по концепции с JPA и Hibernate. В рамках статьи со...

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

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

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

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

[Из песочницы] NeoBook: среда программирования для непрограммистов NeoBook: среда программирования для непрограммистов Для кого эта статья Статья написана, в первую очередь, для тех, кто не является профессиональным программистом, но хочет уметь создавать свои собственные компьютерные программы для компьютеров с Windows. Программирование ...

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

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

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

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

Категории выражений в C++ Категории выражений, такие как lvalue и rvalue, относятся, скорее, к фундаментальным теоретическим понятиям языка C++, чем к практическим аспектам его использования. По этой причине многие даже опытные программисты достаточно смутно представляют себе, что они означают. В это...

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

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

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

Зачем вам учить Go Источник картинки Go — относительно молодой, но популярный язык программирования. По данным опроса Stack Overflow, именно Golang получил третье место в рейтинге языков программирования, которые хотели бы освоить разработчики. В этой статье мы попробуем разобраться в причина...

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

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

Обучающий курс по DataPower Материал подготовлен в соавторстве с пользователем wedmeed В 2017 году, когда начинался наш проект во Вьетнаме, мы столкнулись с новым для нас зверем IBM DataPower. IBM DataPower – продукт, представляющий собой gateway между клиентами и бэкендами, предназначенный для фильтр...

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

«Ждёт тебя дорога дальняя…» или решение задачи прогнозирования на C# с помощью Ml.NET (DataScience) В последнее время мне все чаще на глаза попадается информация о фреймворке для машинного обучения Ml.NET. Количество упоминаний о нем переросло в качество, и я решил хотя бы одним глазком глянуть, что же это за зверь такой. Ранее мы с вами уже пробовали решить простейшую з...

Make C++ great again!.. in Tula Не так давно на базе нашего офиса мы провели бесплатный курс лекций «Современный и эффективный С++» и записали их на видео. Курс был рассчитан на недавно прибывших в наш коллектив программистов, стажеров и всех желающих. В этой статье мы хотели бы осветить цель данного курса...

Новый Hercules Strong. Рестайлинг 2019 года. Так уж получилось, что мы достаточно часто обновляем наши продукты - 3d принтеры модельного ряда Hercules. Это нормальная практика компаний, которые заботятся о своих пользователях и стараются оперативно реагировать на обратную связь. И это неважно - изменения относятся к ис...

[Из песочницы] Как создать простой микросервис на Golang и gRPC и выполнить его контейнеризацию с помощью Docker Привет, Хабр! представляю вашему вниманию перевод статьи «Go, gRPC and Docker» автора Mat Evans. Существует множество статей о совместном использовании Go и Docker. Создавать контейнеры, способные взаимодействовать с клиентами и между собой, очень легко. Далее следует небол...

Python и FPGA. Тестирование В продолжение к первой статье, хочу на примере показать вариант работы с FPGA (ПЛИС) на python. В данной статье затрону подробнее аспект тестирования. Если фреймворк MyHDL позволяет людям, работающим на python, используя знакомый синтаксис и экосистему, заглянуть в мир FPGA,...

[Перевод] Рендеринг кадра Resident Evil 2 Общие примечания Все результаты получены на довольно старой машине (i7 3770+GTX 770), игра запускалась в DirectX 11 со средним качеством. Для анализа использовались RenderDoc и Nsight. Игра работает на движке Re Engine, ставшем наследником MT Framework — движка предыдущего...

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

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

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

Ловим кота с TLA+ Формальные методы считаются эффективным, но неоправданно сложным способом обеспечения надежности программного обеспечения. Используемые при этом инструменты существенно отличаются от привычных программисту. Эта статья написана с целью снизить порог вхождения в этот инструме...

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

Vue 3 станет быстрее Одним из самых ярких событий в мире Фронтенда в этому году стала публикация репозитория Vue next — части функционала третьей версии VueJS. В этой в этой статье представлен обзор новых killer features VueJS. На момент публикации статьи репозиторий находился в статусе Pre-Alp...

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

[Из песочницы] Быстрая интеграция с 1С: Предприятие В данной статье я расскажу о наиболее простом, на мой взгляд, способе интеграции сторонних приложений с конфигурациями 1С. Статья будет интересна в первую очередь разработчикам, пишущим на .Net Core, PHP и Python. Способов интеграции с 1С известно много, этому даже посвящен...

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

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

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

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

[Перевод] Вся правда об ОСРВ. Статья #25. Каналы передачи данных: введение и базовые службы После небольшого перерыва мы продолжаем публиковать переводы статей «Вся правда об ОСРВ» Колина Уоллса. В этот раз поговорим о каналах передачи данных (далее – каналы), которые были уже были упомянуты в одной из предыдущих статей, а именно в #5. Каналы, по сравнению с почт...

VBA и Python для автоматизации Excel и MS Office Поводом для заметки послужила статья на Хабре, в которой автор описывал, как он решал на Python задачу сбора и анализа метаданных из файлов Excel. Эта заметка более подробно раскрывает всем известный тезис: Под конкретную задачу надо выбирать наиболее подходящий инструмент п...

Альтернативный подход к отображению загрузки во время пагинации Работа с постраничной загрузкой в мобильных приложениях — тема довольно простая и никаких подводных камней не таит. С подобной задачей разработчик встречается довольно часто и соответственно раз за разом делать одно и тоже скучно и лениво. Но любую даже самую обычную зад...

Визуализация сортировок обменами В данной статье рассматриваются различные варианты сортировки обменами, а также даётся описание простого графического приложения (processing.js) с примерами сортировок. Перед прочтением рекомендую ознакомиться со статьями: → Сортировка обменами → Пузырьковая сортировка ...

Askozia. Как работает Autoprovisioning Plug & Play При разработке АТС Askozia мы столкнулись с задачей по автоматической настройке телефонов и решили ее по-своему. Autoprovisioning Plug & Play (PnP), эту технологию поддерживают многие производители — Yealink, Snom, Fanvil. Основные достоинства автоматической настройки ...

Универсальное и идеальное хеширование Начинаем неделю с полезного материала приуроченного к запуску курса «Алгоритмы для разработчиков». Приятного прочтения. 1. Обзор Хеширование — отличный практический инструмент, с интересной и тонкой теорией. Помимо использования в качестве словарной структуры данных, хеш...

Кармическое проклятье Хабра Непредвиденные последствия «Система кармы Хабра и ее влияние на пользователей» — это тема для курсовой как минимум Тема про карму на «Пикабу» Я мог бы начать эту статью с того, что я давно читаю Хабр, но это будет не совсем точным высказыванием. Правильный тезис звучал б...

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

Темы и стили в Android без магии. И как их готовить с SwitchCompat В предыдущей статье мы рассмотрели как использовать темы и стили на уровне кода, на примере кастомной view. В этой статье давайте разберем несколько способов стилизации стандартного ui элемента, а в частности SwitchCompat. Читать дальше →

Univention Corporate Server (UCS) — установка простого и удобного LDAP сервера с web-панелью и его связка с Nextcloud Рано или поздно на любом маленьком или среднем предприятии возникает задача по созданию единого центра авторизации пользователей в многочисленных сервисах и порталах компании. Среди кандидатов на такой центр авторизации сразу приходит в голову Microsoft Active Directory ил...

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

Делаем современное веб-приложение с нуля Итак, вы решили сделать новый проект. И проект этот — веб-приложение. Сколько времени уйдёт на создание базового прототипа? Насколько это сложно? Что должен уже со старта уметь современный веб-сайт? В этой статье мы попробуем набросать boilerplate простейшего веб-приложения...

Архитектура Digital Workspace на платформе Citrix Cloud Введение Статья описывает возможности и архитектурные особенности облачной платформы Citrix Cloud и набора сервисов Citrix Workspace. Данные решения являются центральным элементом и основой для реализации концепции цифровых рабочих мест (digital workspaсe) от компании Citr...

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

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

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

Tic Tac Toe, часть 1 В статье "Сравнение: Svelte и React" я попробовал повторить разработку игры Tic Tac Toe. Там я выполнил только первую часть исходного туториала для React'а без поддержки истории ходов. В этой статье мы начнем разработку этой игры с применением фреймворка Svelte с поддержкой ...

[Перевод] Элегантная обработка ошибок в JavaScript с помощью монады Either Давайте немного поговорим о том, как мы обрабатываем ошибки. В JavaScript у нас есть встроенная функция языка для работы с исключениями. Проблемный код мы заключаем в конструкцию try...catch. Это позволяет прописать нормальный путь выполнения в разделе try, а затем разобрать...

Вопросы для собеседования — от кандидата к работодателю Все мы привыкли к тому, что на собеседованиях задают много вопросов. Обычно — работодатели кандидатам. Один из таких вопросов — “а у вас есть вопросы к нам?”. Довольно часто кандидаты не готовы к этому. И зря. Задавать вопросы работодателю — это совершенно нормально и даже н...

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

Веб-аналитика для бизнеса Вы вкладываете в маркетинг деньги. И наверняка хотите знать сколько клиентов приходит и сколько стоит один приведенный клиент. Лучше SEO или Facebook? А может разместить баннер на сайте Х за 1000 грн в месяц? Или лучше отключить банерную рекламу, от нее все-равно толку мало…...

Каждому яду — свой антидот. Как спастись или хотя бы попытаться… Всем бойцам РХБЗ (радиохимической и биологической защиты) не посрамившим честь своего ОЗК посвящается... С интересом читая статьи коллеги gjf про самые интересные, самые страшные и самые нестрашные яды испытываю ностальгию :). Потому что любой правильный химик, начиная свой...

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

SamsPcbGuide, часть 11: Технологии, корпуса BGA-типа и космос В обсуждениях к предыдущей статье proton17 написал, что в космос обычные BGA не летают, дав ссылки на корпуса CCGA-типа как образец надёжности. Я решил разобраться в этом вопросе и нашёл много интересной информации (во многом благодаря вот этому ↓ человеку). Читать дальше ...

[Перевод] Как вы избавляетесь от неиспользуемого CSS-кода? Часть 1 Автор статьи, первую часть перевода которой мы сегодня публикуем, хотел бы, чтобы читатели заранее знали о том, что избавление от ненужного CSS — это трудная задача. Если вы это читаете в надежде найти некий инструмент, запустив который, вы сможете узнать о том, какой именно...

Недостаточно знать, что такое Mutex, Semaphore и async/awat. Надо знать всё, начиная с квантов Совсем скоро, 29-30 ноября в Санкт-Петербурге и 06-07 декабря — в Москве мы запустим шестой семинар по .NET. На этот раз — по теме многопоточки и конкурентности. Мы уже писали об этом пару раз на Хабре, но сегодня есть отдельный повод для этого: на семинаре настоящий эксклюз...

Взгляд изнутри: аспирантура в EPFL. Часть 4.1: повседневная жизнь Посещая любую страну важно не путать туризм с эмиграцией. Народная мудрость В прошлых статьях (часть 1, часть 2, часть 3) мы затронули тему профессиональную, что ждёт молодого и ещё зелёного выпускника ВУЗа при поступлении, а также во время обучения в Швейцарии. Следующая ч...

[Перевод] Как работает kubectl exec? Прим. перев.: автор статьи — Erkan Erol, инженер из SAP — делится своим изучением механизмов функционирования команды kubectl exec, столь привычной для всех, кто работает с Kubernetes. Весь алгоритм он сопровождает листингами исходного кода Kubernetes (и связанных проектов),...

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

[Из песочницы] Случайные перестановки и случайные разбиения Я много лет читаю курсы по комбинаторике и графам для студентов-математиков и computer scientists (как это по-русски, компьютерных научников?), раньше в Академическом университете, а теперь в СПбГУ. Программа у нас построена так, что эти темы проходят как часть «теоретическо...

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

PVS-Studio для Visual Studio Многие наши статьи посвящаются чему угодно, но только не самому инструменту PVS-Studio. А ведь мы очень много делаем, чтобы разработчикам было удобно пользоваться нашим инструментом. Но как раз это часто оказывается за кадром. Решил исправить эту ситуацию и рассказать об пл...

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

[Перевод] Почему простой дизайн сайта лучше с научной точки зрения Исследование, проведенное Google, имело два ключевых вывода: • Пользователю нужно всего 1/50 до 1/20 секунды, чтобы оценить, красивый сайт или нет. • «Визуально сложные» сайты оцениваются как менее красивые, чем их простые аналоги. Другими словами, исследование показало ...

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

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

[Из песочницы] Первое рабочее место или как начать разработку API на Node.js Введение В данной статье хотел бы поделиться своими эмоциями и приобретенными навыками в разработке первого REST API на Node.js с использованием TypeScript, как говорится, с нуля. История достаточно банальная: «Закончил университет, получил диплом. Куда же пойти работать?» К...

CS231n: Свёрточные нейронные сети для распознавания образов Добро пожаловать на одну из лекций курса CS231n: Convolutional Neural Networks for Visual Recognition. Читать дальше →

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

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

Геометрическое моделирование поверхностей скругления Одна из самых труднорешаемых задач в системах автоматизированного проектирования – скругления при моделировании объектов сложных форм. За построение скруглений, как и за всю геометрию в САПР, отвечает геометрическое ядро. С точки зрения разработчика ядра охватить все вар...

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

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

MacBook Air (Late 2018), часть 2: подключаем внешнюю видеокарту к ультрапортативному ноутбуку Недавно мы тестировали MacBook Air последнего поколения и среди прочего отмечали, что он не предназначен для выполнения профессиональных высоконагрузочных задач. Однако благодаря наличию Thunderbolt (который отсутствует в 12-дюймовом MacBook) к нему можно подключить внешнюю ...

Как подготовиться и сдать экзамен ITIL 4 Foundation ITIL (произносится как «áйтил», англ. IT Infrastructure Library — библиотека инфраструктуры информационных технологий) — библиотека, описывающая лучшие из применяемых на практике способов организации работы подразделений или компаний, занимающихся предоставлением услуг в об...

[Из песочницы] USB-звуковая карта на YM3812 Я люблю старые компьютерные игры. Люблю старое железо, но не настолько, чтобы коллекционировать его дома. Другое дело – поковырять какой-нибудь старый чип и попробовать самому что-нибудь воспроизвести, совместить старое с новым. В данной статье история о том, как я подключил...

Курсы vs стажировка. Как мы в SimbirSoft учим мидлов У нас несколько центров разработки, и мы постоянно ищем в регионах талантливых мидлов. С 2013 года обучаем разработчиков – проводим митапы, хакатоны, интенсивы. В статье рассказываем, как учеба помогает подружиться с мидлами, а также кто и зачем приходит на внешнюю и внутрен...

[Из песочницы] Создаем элементы интерфейса программно с помощью PureLayout Привет, Хабр! Представляю вашему вниманию перевод статьи Creating UIViews Constraints Programmatically Using PureLayout автора Aly Yaka. Сегодня я проведу вас через создание простого пользовательского интерфейса мобильного приложения кодом, без использования раскадровок и...

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

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

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

И ещё один Steam Windows Client Local Privilege Escalation 0day В предыдущей серии Не так давно я опубликовал описание уязвимости для Steam. Я получил много отзывов от читателей. Valve не проронили ни слова, а HackerOne прислал огромное слезливое письмо и, в основном, молчал. В итоге меня забанили Valve на H1 — я не могу участвовать в и...

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

[Перевод] Дизайн уровней и геймплея roguelike на примере Cogmind Многие годы я использовал довольно стандартизированный подход к дизайну каждой новой карты Cogmind, и хотя сейчас их счёт уже идёт на десятки, в своём блоге я его никогда не рассматривал. В основном это вызвано тем, что подробный анализ всего процесса потребует раскрытия ку...

Основы работы с Neo4j в браузере В статье рассматривается как начать работать с графовой СУБД Neo4j, используя Neo4j Browser. Это руководство может быть полезным как дополнение к книге Редмонда и Уилсона "Семь баз данных за семь недель", так как рассматриваемый веб-интерфейс был полностью переработан, а так...

Мне нравятся картонные человечки Краткое содержание статьи — в конце текста. Леха – отличный парень. Хорошо работает, исполнительный, с идеями, перспективный. Сделали с ним пару отличных проектов. Но он бегает от уплаты алиментов на ребенка от первого брака. Прям приходит и просит, чтобы как-то скрыть его ...

Пишем под FPGA без HDL. Сравнение высокоуровневых средств разработки В последнее время производители FPGA и сторонние компании активно развивают методы разработки для FPGA, отличающиеся от привычных подходов использованием высокоуровневых средств разработки. Являясь FPGA-разработчиком, в качестве основного инструмента я использую язык описа...

Хакеры в рамках законов РФ После публикации статьи о моих исследования в качестве Grey hat, в комментариях к статье и в чате Telegram (@router_os) люди стали писать, что я нарушил все законы и меня посадят. И как обещал, спустя несколько месяцев я пишу эту статью и даже не из камеры СИЗО :-) Более т...

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

Ликбез по передаче параметров по значению в конструкторы и сеттеры (современный C++, примеры) Судя по комментам habr.com/ru/post/460831/#comment_20416435 в соседнем посте и развернувшейся там дискуссии, на Хабре не помешает статья, как правильно передавать аргументы в конструктор или сеттер. На StackOverflow подобного материала полно, но тут что-то я не припомню. По...

Публикация приложения в Microsoft Store: некоторые изменения за год Вот уже год прошел с момента выхода статьи об особенностях публикации в MS Store. За прошедший год произошло много событий – GDPR, выход VS 2019 и прочие изменения. В сегодняшней небольшой статье мне бы хотелось немного рассказать о том, какие изменения произошли в особенно...

Ремонт и диагностика китайского BLTouch Вчера был занят ремонтом BLTouch, в частности задавал вопрос по поводу его диагностики. Но вопрос смог решить самостоятельно. У меня вот такая его версия (недостает только надписи "Classic" которая у меня вместе с клейкой лентой отодралась, ну и ладно):Решил здесь резюмирова...

Создание и обновление списков рассылки в Zimbra Collaboration OSE на основе групп и пользователей Active Directory 1. Пара слов от автора В комментариях к прошлой статье мне задали интересный вопрос об автоматическом формировании списков рассылки на основе групп безопасности AD. Есть задача – есть решение. Правда, оговорюсь сразу, решение несколько костыльное (почему – читать далее), но ...

Как убедить всех, что у тебя защищённый ЦОД? Преамбула. Статья носит исключительно информационный характер. Предназначена для потенциальных клиентов ЦОД, которые слышали про 152-ФЗ, 149-ФЗ, хотят потратить бюджетные средства и не знают, что такие схемы бывают. Для удобства восприятия материала автор будет излагать схем...

Какой язык программирования выбрать После того, как я написал статью «Почему не нужно учить Python первым языком», я на регулярной основе получаю много вопросов в личку, что лучше выбрать, как быть и так далее. Поэтому в этой статье я расскажу вам свои мысли на этот счет. И самое главное отвечу на «Священный Г...

[Перевод] Переносим 30 000 строк кода с Flow на TypeScript Недавно мы перенесли 30 тысяч строк кода JavaScript нашей системы MemSQL Studio с Flow на TypeScript. В этой статье я расскажу, почему мы портировали кодовую базу, как это происходило и что получилось. Дисклеймер: моя цель — вовсе не критика Flow. Я восхищаюсь проектом и ду...

GOSTIM: P2P F2F E2EE IM за один вечер с ГОСТ-криптографией Будучи разработчиком PyGOST библиотеки (ГОСТовые криптографические примитивы на чистом Python), я нередко получаю вопросы о том как на коленке реализовать простейший безопасный обмен сообщениями. Многие считают прикладную криптографию достаточно простой штукой, и .encrypt() ...

Извлечение мастер-пароля из заблокированного менеджера паролей SafeInCloud После прочтения этой статьи мне захотелось провести исследование другого менеджера паролей на наличие похожих уязвимостей. В комментариях к статье пользователем Dark_Angel был задан вопрос: А что скажите насчет SafeInCloud? Читать дальше →

Как устроена программа Tinkoff Internship Привет! Мы участники программы Tinkoff Internship, и в этой статье хотим рассказать об отборе, внутренней обстановке, задачах и наших впечатлениях. Надеемся, это будет полезно и будущим интернам, и тем, кому просто интересна компания. Читать дальше →

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

Color Bump 3D 1.0.6 Color Bump 3D — вы будете управлять шариком и разрушать все на своем пути. В этой игре вашей главной задачей будет управлять белым шариком и разрушать разнообразные фигуры, состоящие их шаров, треугольников и квадратов. Разрушайте и разбивайте фигуры на вашем пути и старайте...

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

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

[Из песочницы] ShIoTiny: малая автоматизация, интернет вещей или «за полгода до отпуска» Основные тезисы или о чем эта статья Так как интересы людей разные, а времени у людей мало, то кратко о содержании статьи. Статья эта представляет собой обзор проекта контроллера с минимальной ценой и возможностью визуального программирования посредством WEB-браузера. Пос...

GPS для навозного жука: мультимодальная система ориентирования Есть вопросы, которые мы задавали либо пытались на них ответить: почему небо синее, сколько звезд на небосводе, кто сильнее — белая акула или косатка и т.д. А есть вопросы, которые мы не задавали, но ответ от этого менее интересным не становится. К таким вопросам можно отн...

[Перевод] Подготовка к Spring Professional Certification. Вопросы по Spring MVC Приветствую всех. Это уже 5 статья из цикла статей для подготовки с Spring Professional Certification. На Хабре она выходит второй, после части 1. Оглавление Внедрение зависимостей, контейнер, IoC, бины AOP (аспектно-ориентированное программирование) JDBC, транзакции, JPA...

Энтропийное кодирование rANS или как написать собственный архиватор Эта статья может быть интересна тем, кто занимается сжатием данных или хочет написать собственный архиватор. Статья написана, в основном, по материалам блога, который ведёт Fabian Giesen. Читать дальше →

ABS fdplast ABS FD-PLAST белыйВроде удалось подобрать параметры при которых этим пластиком хоть чт то можно напечатать отличное от прямоугольника.соплей практически нет, но слипаемость крайне низкая, убираю обдув мелкие детали оплывают, короче жесть.вообще пластик крайне текучий и распи...

DevOops 2019 глазами разработчика 29-30 октября в Санкт-Петербурге прошла конференция DevOops. В этой статье я поделюсь впечатлениями и инсайтами, а также краткими заметками о прослушанных докладах. Небольшой disclaimer: поскольку я разработчик, то некоторые мысли и комментарии могут быть с уклоном в Dev, ...

«Ты узнаешь ее из тысячи...» или классифицируем изображения с веб-камеры в реальном времени с помощью PyTorch Вот бывает же в жизни такое. Сидишь себе не шалишь, никого не трогаешь, починяешь примус, а тут из этого примуса, из телевизора, да и вообще из каждого утюга, до тебя доносится: «нейронные сети, глубокое обучение, искусственный интеллект, цифровая экономика…». Я — человек,...

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

Апгрейд AMD FX-8350 на Ryzen 7 1800X. Выясняем, стоит ли овчинка выделки Стоит ли переходить на Ryzen владельцам топовых AMD FX, если их и сегодня устраивает производительность "фуфыкса"? В данной статье Вы найдете ответ на этот вопрос, как в виде краткого, но интересного видеоролика, так и в виде "серьезной" статьи автора "старой школы".

Один из методов получения истории блокировок в PostgreSQL Продолжение статьи "Попытка создать аналог ASH для PostgreSQL ". В статье будет рассмотрено и показано на конкретных запросах и примерах — какую же полезную информацию можно получить с помощью истории представления pg_locks. Предупреждение. В связи с новизной темы и незавер...

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

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

Идеальная локальная сеть Стандартная локальная сеть в её нынешнем (усреднённо) виде окончательно сформировалась много лет назад, на чём её развитие и остановилось. С одной стороны, лучшее – враг хорошего, с другой – стагнация тоже не слишком хорошо. Тем более, что при ближайшем рассмотрении совр...

Введение в свёрточные нейронные сети (Convolutional Neural Networks) Полный курс на русском языке можно найти по этой ссылке. Оригинальный курс на английском доступен по этой ссылке. Выход новых лекций запланирован каждые 2-3 дня. Читать дальше →

Язык Bosque — новый язык программирования от Microsoft Буквально несколько дней назад компания Microsoft представила публике новый язык программирования. Языку дали название Bosque. Главная миссия дизайна языка — лучше быть богатым и здоровым, чем бедным и больным чтобы он был прост и понятен как для человека, так и для компьюте...

RAMPS-FD V1 Rev A + DUE + Marlin 2 Вот и до меня добрался бутерброд из DUE и RAMPS-FD V1 Rev A. Начитавшись кучку постов про переделку существующего бутерброда в не существующий V2. И чуть было не изкурочил плату. Но, нужных силовых транзисторов у меня не было и идею с V2 решил оставить её авторам, пусть паяю...

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

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

Как я делал desktop-приложение на Flutter (+ bonus) Недавно попалась на глаза новость, что вышел очередной релиз Flutter (1.9), который обещает разные вкусности и, в том числе, раннюю поддержку веб-приложений. На работе я занимаюсь разработкой мобильных приложений на React Native, но с любопытством поглядываю на Flutter. Для...

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

Запускаем php скриптики через php-fpm без web сервера. Или свой FastCgi клиент (под капотом) Приветствую всех читателей "Хабра". Дисклеймер Статья получилась довольно длинная и тем кто не хочет читать предысторию, а хочет перейти сразу к сути прошу прямиком к главе "Решение" Вступление В данной статье хотелось бы рассказать о решении довольно нестандартной задачи, с...

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

[Перевод] Особенности рендеринга в игре Metro: Exodus c raytracing Предисловие После выхода последней игры из серии «Метро» я потратил несколько часов на изучение её внутренней работы и решил поделиться тем, что может показаться интересным с технологической точки зрения. Я не буду проводить подробный анализ или изучать дизассемблированный ...

2. Обзор технической поддержки и гарантии коммутаторов Extreme Networks Введение Друзья, добрый день. В предыдущей статье мы рассмотрели коммутаторы Extreme уровня Enterprise. Теперь я немного изменю порядок статей и сегодня продолжу цикл статьей про сервисные контракты и гарантийные обязательства Extreme. У Extreme, как и у всех остальных бол...

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

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

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

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

[recovery mode] Как устроена программа летней стажировки Tinkoff Internship Привет! Мы участники программы Tinkoff Internship, и в этой статье хотим рассказать об отборе, внутренней обстановке, задачах и наших впечатлениях. Надеемся, это будет полезно и будущим интернам, и тем, кому просто интересна компания. Читать дальше →

3. Дизайн сети предприятия на коммутаторах Extreme Добрый день, друзья! Сегодня я продолжу цикл, посвященный коммутаторам Extreme статьей по проектированию сети Enterprise. В статье я постараюсь по возможности кратко: описать модульный подход к проектированию сети Etnterprise рассмотреть виды построения одного из важне...

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

[Перевод] Новое в Git 3: замыкания Git — популярная система контроля версий. В ней атомарное изменение одного или нескольких файлов называется коммитом, а несколько последовательно идущих коммитов объединяются в ветку. Ветки используются для того, чтобы реализовывать новые идеи (фичи). Случается, что идея ок...

[Из песочницы] Как подключить стартерную АКБ к ИБП Данная статья будет интересна тем, кто хочет: увеличить продолжительность работы ИБП от аккумулятора увеличить выносливость автономного источника энергии при некачественном питании Скептически настроенным читателям, задающим бестолковые вопросы типа:«зачем использовать ...

Необычные системные вызовы на Linux Что видит программист, начиная работать с языком C? Он видит fopen, printf, scanf и ещё много других функций. Видит он и всякие open и mmap — казалось бы, зачем их выделять? Но, в отличие от первой группы, эти две функции при выполнении на ядре Linux являются системными в...

Разработка чат-бота (laravel+botman) Welcome! Я, как junior full stack разработчик, при попытке написать бота с использованием laravel и botman’а столкнулся с многими проблемами. Во-первых, я плохо знаю английский, а на русском статей очень мало на эту тему, а те, что есть не помогли мне решить мои проблемы. В ...

5 советов о Design Leadership. Часть 1 Всем привет. Уже в этом месяце мы запускаем курс «Team Lead 2.0», который подготовлен специально для старших разработчиков, TeamLead’ов, SCRUM мастеров и специалистов, желающих повысить свой профессиональный уровень и получить уникальный опыт, необходимый для эффективного уп...

[Перевод] Сложное модульное архитектурное окружение в UE4 Тайлер Анлауф подготовил подробный анализ модульного окружения ROME: Church of Sant’Ivo созданного им в UE4 и 3ds Max. В статье он рассказывает о предварительном черновом плане (blockout), модульной сборке, освещении, постобработке и многом другом. ROME: Church of Sant’Ivo...

Хочешь <s>похудеть</s> учиться ИТ самостоятельно? Спроси меня как Есть мнение, с которым я часто сталкиваюсь, — учиться самостоятельно невозможно, нужны профессионалы, которые будут вас вести по этому тернистому пути — объяснять, проверять, контролировать. Попробую опровергнуть это утверждение, а для этого, как известно, достаточно привест...

Использование тепловых потенциалов для анализа территорий Пример расчета теплового потенциала для уличной сети г. Нижнего Новгорода Территория города – сложная, неоднородная система, находящаяся в постоянном изменении. Описать территорию и провести оценку городской среды можно с помощью пространственных объектов (факторов). Факто...

[Перевод] Как работает альфа-композитинг Возможно, прозрачность не кажется какой-то интересной темой. Формат GIF, позволявший некоторым пикселям просвечивать сквозь фон, опубликован более 30 лет назад. Почти в каждом приложении для графического дизайна, выпущенном за последние два десятка лет, поддерживается созда...

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

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

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

Objectives and Key Results: инструкция по применению Всем привет! Меня зовут Егор, я руковожу кластером App Platform в Авито. Мои команды в основном занимаются разработкой внутренних продуктов, инструментов и процессов — тем, что принято называть платформенной разработкой. Год назад я рассказывал в этом блоге, как мы внедрили ...

Badoo Jira API Client: магия в Jira на PHP Если в строке поиска на Хабре ввести “Jira Badoo”, результаты займут не одну страницу: мы упоминаем её почти везде, потому что она играет важную роль в наших процессах. Причём каждый из нас хочет от нее немножко разного. Разработчик, которому пришла задача на ревью, ожида...

7 бесплатных курсов для архитекторов решений от Microsoft Привет, Хабр! Сегодня мы на экваторе серии подборок классных бесплатных курсов от Microsoft. В этой части у нас самые крутые курсы для архитекторов решений. Все они на русском, приступить к ним можно уже сейчас, а по окончании вы получите бейдж. Присоединяйтесь! Все статьи ...

Админ без рук = гиперконвергенция? Это миф, достаточно распространённый в сфере серверного железа. На практике же гиперконвергентные решения (когда всё в одном) нужны много для чего. Исторически сложилось, что первые архитектуры были разработаны Amazon и Google под свои сервисы. Тогда идея была в том, чтоб...

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

[Из песочницы] Создание Android приложения с использованием Anko Layouts и Anko Coroutines Примерно год назад я начал использовать Kotlin в своих Android проектах. Мне хотелось попробовать что-то новое, что было бы интересно изучать. Тогда я и наткнулся на Anko. К тому времени писать UI на xml порядком осточертело. Мне всегда нравилось писать интерфейс руками, не...

[Из песочницы] Сложности работы с Redux и их решение Redux среди нас Это один из самых популярных state-manager`ов. Он прост в использовании, прозрачен и предсказуем. С его помощью можно организовать хранение и изменение данных. А если считать, что action`ы и reducer`ы являются частью redux`а, то можно без преувеличения утве...

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

Импортозамещение на практике. Часть 1. Варианты Введение В связи с тем, что близится 2020 год и «час хэ», когда нужно будет отчитаться об исполнении приказа Минкомсвязи о переходе на отечественное ПО (в рамках импортозамещения), да не простое, а из реестра Минкомсвязи, мне прилетела задача о разработке плана, собственно...

[Перевод] Python как предельный случай C++. Часть 1/2 От переводчикаБрендон Роудс − весьма скромный человек, представляющий себя в твиттере как «Python-программиста, возвращающего долг сообществу в форме докладов или эссе». Число этих «докладов и эссе» впечатляет, равно как и число свободных проектов, контрибьютором которых Бре...

Удалённое управление эмулятором Fceux с помощью Python В статье я опишу, как сделать эмулятор NES управляемым удалённо, и сервер для удалённой отправки команд на него. Зачем это нужно? Некоторые эмуляторы различных игровых консолей, в том числе и Fceux, позволяют писать и запускать пользовательские скрипты на Lua. Но Lua – пл...

[Перевод] Как была устроена графика NES Выпущенная в 1983 году домашняя консоль Nintendo Entertainment System (NES) была дешёвой, но мощной машиной, достигшей феноменального успеха. При помощи блока обработки изображений (Picture Processing Unit, PPU) система могла создавать достаточно впечатляющую по тем времена...

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

Ошибки панели администрирования или опыт разработки Laravel Orchid В прошлом на Хабре публиковалась статья "Orchid CMS — ещё одна CMS на Laravel", а теперь спустя два года и больше 100 релизов попробуем разобрать ошибки и проблемы которые стояли на пути разработки. Читать дальше →

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

Как улучшить защиту периметра сети? Практические рекомендации для Check Point и не только Мы продолжаем цикл статей, посвященных оптимизации security настроек средств защиты периметра сети (NGFW). Хочу сразу заметить, что приведенные рекомендации подходят не только для владельцев Check Point. По сути, если разобраться, угрозы одинаковы для всех, просто каждый N...

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

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

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

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

[Из песочницы] Как определить индексированные журналы ISI, Scopus или Scimago? Когда вы хотите представить свою исследовательскую статью в журнале. Вы должны выбрать целевой журнал для своей области исследования, а также журнал должен быть проиндексирован в любой из основных баз данных индексации, таких как ISI, Scopus, SCI, SCI-E или ESCI. Но определи...

Проблема с дисплеем iPad, кнопкой Home в iPhone и другие ответы по ремонту техники Apple Мы продолжаем проект, в рамках которого специалисты сервисного центра ModMac отвечают на ваши самые интересные вопросы по ремонту техники Apple. Сегодня речь пойдет о проблемах AirPods, дисплее iPad и не только! Вопрос от читателя с ником PeaceDeath4: Здравствуйте! Возникл...

Субъективное видение идеального языка программирования Дальнейший текст — моя точка зрения. Возможно, она позволит кому-то по-новому взглянуть на дизайн языков программирования или увидеть какие-то преимущества и недостатки конкретных фич. Я не буду лезть в частные подробности типа "в языке должна быть конструкция while", а прос...

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

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

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

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

Laser tolerance Приветствую всех!С детства, мама учила, что надо сначала обдумать, проверить, а потом только сказать. В предыдущем посте я заявил что разочаровался в lcd печати. Теперь я проверил точность form 2, и понял, что с lcd, за его стоимость, вообще все замечательно.Для начала, по п...

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

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

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

I’m going deeper underground, или о чем стоит знать, оптимизируя работу сетевого приложения Приветствую, друзья! В предыдущих двух статьях (раз, два) мы погружались в сложность выбора между технологиями и искали оптимальные настройки для нашего решения в Ostrovok.ru. Какую тему поднимем сегодня? Каждый сервис должен работать на каком-то сервере, общаясь с желез...

Почему не SQL? Без преувеличения можно сказать, что SQL — один из самых распространенных в мире языков. Информационные системы могут быть написаны на Java, Python, JavaScript, C#, PHP и десятке других языков, но SQL база в том или ином виде будет в абсолютном большинстве таких систем. Ср...

Определение кодировки текста в PHP вместо mb_detect_encoding Существует несколько кодировок символов кириллицы. При создании сайтов в Интернете обычно используют: utf-8 windows-1251 koi8-r Еще популярные кодировки: iso-8859-5 ibm866 mac-cyrillic Вероятно это не весь список, это те кодировки с которыми я часто сталкиваюсь. Иног...

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

Мнение: Зачем нам новые iPad? Вчера компания Apple закрыла свой сайт и все начали гадать, что же нам покажут. В итоге мы получили только два iPad, линейки которых были уже почти забыты пользователями и самой компанией. Попробуем разобраться, для чего все это было сделано. https://youtu.be/v9xhu3iM9fY Я ...

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