Социальные сети Рунета
Среда, 24 апреля 2024

Атрибут cleanup Цитата из документации GCC [1]: Атрибут cleanup предназначен для запуска функции, когда переменная выходит из области видимости. Этот атрибут может быть применён только к auto-переменным, и не может быть использован с параметрами или с static-переменными. Функция должна прин...

[Перевод] «Культурный код: секреты чрезвычайно успешных групп и организаций» — заметки из книги Я прослушал книгу "Культурный код" Даниела Койла ("The Culture Code: The Secrets of Highly Successful Groups" by Daniel Coyle) после прочтения отрывка, который оставил впечатление «вот оно!» Вся книга оказалась на том же уровне, что и вступление. Она пол...

Как создать шаблон описания системы и начать его использовать Когда в IT-компании работают 6 человек, которые пилят одну систему и обсуждают её в кулуарах, описание системы и документация кажутся ненужными. Но когда систем уже более 100, без описания не обойтись. Ведь непродуманное изменение UI может остановить создание заказов. Мы соз...

Mockito. Из чего он приготовлен и как его подавать? Думаю, многим довелось выпить какой-нибудь напиток, который глубоко впился в наши вкусовые рецепторы, что нам хочется пить его каждый день. Так вот для меня таким «напитком» стал Mockito. Один раз написав простенький тест, можно вернуть себе веру в магию. Я всё ещё помню, к...

[Перевод] Запускаем однофайловые программы в Java 11 без компилирования Пусть исходный файл HelloUniverse.java содержит определение класса и статичный метод main, который выводит в терминал одну строку текста: public class HelloUniverse{ public static void main(String[] args) { System.out.println("Hello InfoQ Universe"); ...

[Из песочницы] Помощник по работе с базами данных GreenPig Вступление Подключение библиотеки Класс Where Атомарная часть запроса Сложные запросы Класс Join Класс Query Выборка из БД с вложенными параметрами Многократное объединение с самим собой во имя поиска ╔═══╗╔═══╗╔═══╗╔═══╗╔╗─╔╗────╔═══╗╔══╗╔═══╗ ║╔══╝║╔═╗...

Продвинутое логирование Windows. Ищем mimikatz Всем привет. Сегодня рассмотрим пример, когда злоумышленнику удалось обойти Windows Defender, но не удалось — безопасника. Да, речь опять про mimikatz. Как, запуская mimikatz, обойти Windows Defender, можно почитать тут. А сегодня, как я и обещал, рассмотрим что-нибудь для ...

Интеграция в стиле BPM Привет, Хабр! Наша компания специализируется на разработке программных решений класса ERP, в составе которых львиную долю занимают транзакционные системы с огромным объемом бизнес-логики и документооборотом а-ля СЭД. Современные версии наших продуктов базируются на техноло...

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

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

[Перевод] Java Records (JEP 359) Проблема Одной из проблем Java является ее многословность и объем необходимого стандартного кода. Это общеизвестно. Давайте рассмотрим простой класс Cat на Java. Мы хотим, чтобы каждый объект Cat имел следующие атрибуты (поля): Читать дальше →

Вариант работы с вебсокетами в iOS на языке Swift / Написал менеджер для работы с websocket Всем привет. 4 года назад я уже разбирался с вебсокетами в iOS, тогда я решил задачу с помощью одной из библиотек cocoapods, статья есть на Хабре. А сегодня хочу продемонстрировать еще одно решение, нативное без cocoapods. Я написал свой менеджер для работы с вебсокетами ...

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

Расстояние Махаланобиса Основной смысл использования метрики Махаланобиса1. Термины и определения2. Расстояние Махаланобиса между двумя точками и между точкой и классом 2.1. Теоретические сведения 2.2. Алгоритм вычисления расстояния между двумя точками и между точкой и классом 2.3. Пример ...

[Перевод] Разработка MQ JMS приложения на Spring Boot Разработчики приложений, работающие на Java, при использовании интерфейса JMS, часто предпочитают работать со Spring Framework. Spring может упростить написание кода новых приложений, предоставляя шаблоны для общих паттернов (templates for common patterns) и успешно исполь...

[Из песочницы] Реализация алгоритма определения ширины объекта с помощью ультразвукового дальномера и энкодеров на языке RobotC Доброго дня! Сегодня я бы хотел поделиться реализацией алгоритма определения ширины объекта с помощью ультразвукового дальномера и энкодеров на языке программирования RobotC (с использованием платформы VEX EDR). Предистория Недавно, мне предложили провести мастер-класс на ...

[Из песочницы] Обязанности администратора Salesforce: Что должно быть сделано и когда Привет, Хабр! Представляю вашему вниманию перевод «Salesforce administrator responsibilities: What needs to be done and when» автора David Taber. Что администратор Salesforce делает весь день, неделю или месяц? Вот общее краткое изложение. Salesforce администраторы отвечаю...

Алексей Рагозин про новые и старые возможности Java Flight Recorder в OpenJDK 11 на встрече jug.msk.ru 12 декабря на завершающей 2019 год встрече московского сообщества Java-разработчиков jug.msk.ru Алексей Рагозин провёл мастер-класс по использованию новых версий Java Flight Recorder и Mission Control. Читать дальше →

Scrum — нюансы применения в распределенной команде Наблюдая за применением Scrum в той или иной команде, я сделал вывод, что этот фреймворк, мягко говоря, не совсем правильно применяют. Несколько лет назад, впервые столкнувшись со Scrum (Скрам), я воспринял все происходящее как какой-то неведомый ранее бардак. Увидев очере...

Принцип SRP на примере Laravel Принцип SRP (Принцип Единой Ответственности) — один из основополагающих принципов написания поддерживаемого кода. В этой статье я покажу как применить данный принцип на примере языка PHP и фреймворка Laravel. Часто, описывая модель разработки MVC (MVP, MVVM или другие M**),...

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

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

[Перевод] Стилизация старого доброго элемента button Кнопка — это один из тех элементов, которые чаще всего используются на веб-страницах. Тег <button></button> может быть применён для запуска некоего процесса вроде вывода данных, открытия модального окна, отправки формы и так далее. В материале, перевод которого м...

DAG’и без напрягов: наш опыт использования метаданных при работе с Apache Airflow Apache Airflow – простой и удобный batch-ориентированный инструмент для построения, планирования и мониторинга дата-пайплайнов. Ключевой его особенностью является то, что, используя Python-код и встроенные функциональные блоки, можно соединить множество различных технологий,...

Книга “Разработка мобильных приложений на C# для iOS и Android” Уважаемые читатели, рады представить вам книгу “Разработка мобильных приложений на C# для iOS и Android” от уже хорошо известного вам автора и эксперта в Xamarin, Вячеслава Черникова из компании Binwell. Без долгих прелюдий передаю слово автору. Добрый день, уважаемый хабр...

Архитектурный шаблон MVI в Kotlin Multiplatform, часть 2 Это вторая из трёх статей о применении архитектурного шаблона MVI в Kotlin Multiplatform. В первой статье мы вспомнили, что такое MVI, и применили его для написания общего для iOS и Android кода. Мы ввели простые абстракции, такие как Store и View, а также некоторые вспомо...

Отраслевые прогнозы Red Hat на 2020 год Компания Red Hat, поставщик программных решений корпоративного класса с открытым исходным кодом, выпустила отраслевые прогнозы на 2020 год, представленные экспертами компании. Специалисты Red Hat поделились своей точкой зрения о том, что может произойти ...

Java-дайджест за 29 мая 23 мая нашей любимой Java исполнилось 25 лет. Все эти годы один из самых популярных запросов в гугле — когда же Java наконец умрёт? Не дождётесь. К летней конференции JPoint присоединяется сам Джоэл Спольски — один из двух создателей Stack Overflow. Олды должны хорошо пом...

[Перевод] Flutter. Упрощаем компоновку виджетов с помощью Dart расширений В версии Dart 2.7 нам представили расширения, позволяющие разработчикам добавлять новые функциональные возможности в уже существующие типы. Расширения могут быть отличным помощником не только, когда мы пишем бизнес-логику, но и когда у нас есть другие задачи! Примером такой...

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

Как объяснить роботу свою точку зрения Когда-нибудь задумывались зачем сегодня нужны роботы? С детства мне казалось, что роботы стоят где-то на современных фабриках, что это где-то далеко от нас. Или в фантастике. Но уже нет. Роботы на сегодня — это автоматизация любого рутинного процесса. Их могут ставить и на ф...

MVVM на основе Combine в UIKit и SwiftUI приложениях для UIKit разработчиков Мы знаем, что ObservableObject классы с его @Published свойствами созданы в Combine специально для View Model в SwiftUI. Но в точности ту же самую View Model можно использовать и в UIKit для реализации архитектуры MVVM, хотя  в этом случае нам придется вручную «привязать» ...

R, Монте-Карло и enterprise задачи При решении практических задач с завидной регулярностью приходится сталкиваться с двумя типовыми подходами, которые выдвигаются на совещаниях или витают в воздухе. Вариант 1 — давайте решать частную задачу в общем виде. Решив ее таким образом, мы сможем попутно много чего е...

Автоматизация задач администрирования API VMware vSphere с использованием Ansible В предыдущей статье мы рассмотрели взаимодействие с VMware с помощью Python. В этой же обсудим взаимодействие с VMware с помощью Ansible. Ansible — система управления конфигурациями, написанная на языке программирования Python с использованием декларативного языка разметки ...

Android. Surface Дисклеймер Данная статья предназначена для начинающих андроид разработчиков с небольшим опытом работы с видео и/или камерой, особенно тех кто начал разбирать примеры grafika и кому они показались сложными — здесь будет рассмотрен похожий код с упрощенным описанием основных ш...

На смартфоны вышла Merge Dungeon которая уж больно похожа на Darkest Dungeon Если вы когда-нибудь задумывались о том, как бы выглядела Darkest Dungeon на смартфонах, то Merge Dungeon может это сделать на своём примере. Как и в других представителях жанра данжен-кроулер, здесь игрокам придётся спускаться в глубины подземелья в поисках вкусных и ценны...

Логистика. Часть 1. Оптимизация авиасообщения по направлениям и формирование расписания Наверняка каждому доводилось летать в полупустом самолете или встречаться с переносом рейса, возможно вы задумывались об оптимальности затрат и эффективности такого рейса. Сколько потенциальной прибыли недополучает авиакомпания? Действительно, рейсы бывают малоприбыльными, а...

[Перевод] Что делать, когда CSS блокирует парсинг страницы? Недавно я проводил аудит одного сайта и наткнулся на паттерн preload/polyfill, который уже видел у нескольких клиентов. В наши дни использование этого паттерна, ранее популярного, не рекомендуется. Однако его полезно рассмотреть для того, чтобы проиллюстрировать важность ост...

[Из песочницы] Зачем ограничивать наследование с помощью final? Вы наверняка слышали это знаменитое высказывание от GoF: «Предпочитайте композицию наследованию класса». И дальше, как правило, шли длинные размышления на тему того, как статически определяемое наследование не настолько гибко по сравнению с динамической композицией. Гибкост...

[Перевод] Что будет, если ускориться в полтора раза? Можно слушать подкасты и смотреть видео на большей скорости, но как на это реагирует мозг? Моя подруга Мегги смотрит и слушает всё на скорости 150%. Сначала это были обучающие видео и записи встреч, которые ей приходилось смотреть по работе в Google. Затем она начала слуша...

Как же, черт возьми, отсортировать этот список? Пусть у нас есть список — содержимое каталога, в котором элементами являются экземпляры классов File и Folder. Задача — отсортировать этот список. Есть два широко известных варианта сортировки структуры каталога — когда сначала идут каталоги, а потом файлы, и когда файлы и к...

Книга «Программируй & типизируй» Привет, Хаброжители! Причиной многих программных ошибок становится несоответствие типов данных. Сильная система типов позволяет избежать целого класса ошибок и обеспечить целостность данных в рамках всего приложения. Разработчик, научившись мастерски использовать типы в пов...

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

[Из песочницы] Remote observer Если проект вышел за рамки локальной машины, скорее всего придётся интегрироваться с какими-нибудь сторонними системами. Хочу рассмотреть случай, когда упомянутая внешняя система хочет получать уведомления о каких-либо изменениях в нашей системе. Например, обновление каталог...

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

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

Бесшовные A/B-обновления в Android: как они устроены Всем привет. В SberDevices наша команда занимается разработкой различных железок прошивок и для них на базе AOSP. Начиная с Android 8 (у некоторых вендоров с 7.1) в системе появился новый механизм накатки OTA-обновлений, т. н. Seamless A/B OTA Updates — бесшовные обновле...

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

[Перевод] Управление зависимостями в Node.js Управление зависимостями — это часть повседневной работы Node.js-программиста. Сегодня мы поговорим о разных подходах к работе с зависимостями в Node.js, и о том, как система загружает и обрабатывает зависимости. Писать Node.js-приложения можно так, чтобы абсолютно весь код...

[Перевод] “Чистый код”: пять ключевых моментов из обязательной к прочтению книги для программистов Недавно я написал о «Пять книг, которые изменили то как я кодирую». В комментариях несколько читателей рекомендовали «Чистый код» Роберта С. Мартина. В результате я прочитал книгу и нашел ее достойной углубленного обзора. Читать дальше →

Компонент Slider из библиотеки материального дизайна Началось с небольшой детективной истории — разглядывая сайт Material Design, наткнулся на страницу Sliders. В описании говорилось, что данный компонент доступен для Android и даже дана ссылка на Гитхаб. Меня это немножко удивило, так как я ни разу о нём не слышал. Перехожу п...

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

Agile coach здорового человека Вступительное слово Для удобства я буду писать различные английские слова, такие как “Agile”, “coach”, “Scrum” и т.д. русскими буквами. Аджайл, коуч, скрам и т.д. Кто легко оскорбляется наличием транслитерации в тексте — прошу меня понять и простить. Аджайл сегодня, как мгла...

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

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

6 мифов о разработке в финтехе Привет! Когда спрашивают, чем современная IT-компания отличается от финтеха с точки зрения разработки, чаще всего на ум приходит стек. Оно и ясно, ведь финтех и банки — это процессинг, гора легаси, множество систем, которые обновляются не так быстро, как хотелось бы. И возн...

Функциональное программирование на TypeScript: задачи (tasks) как альтернатива промисам Предыдущие статьи цикла: Полиморфизм родов высших порядков Паттерн «класс типов» Option и Either как замены nullable-типам и исключениям В предыдущей статье мы рассмотрели типы Option и Either, которые предоставляют функциональную замену nullable-типам и выбрасыванию искл...

Java-дайджест за 6 марта Вышел очередной выпуск подкаста «Битовая Каска» с Антоном Архиповым (@antonarhipov). Антона, наверное, представлять не нужно, но всё-таки: Java-чемпион, менеджер по продукту в команде Kotlin, раньше работал в ZeroTurnaround. Подкаст помогает вести Кирилл Толкачёв, в остал...

[Из песочницы] Техническая документация в разработке ПО: кто, зачем, когда и как описывает проект Привет! Меня зовут Даша Григорьева, я технический писатель в компании 65apps. Мы занимаемся разработкой сложных мобильных решений, и моя задача — подготовка технической документации по проектам. Очень часто роль технического писателя бывает недооцененной в компании (не у ...

Мне 14 и я работаю в ИТ-компании От редакции блога: когда в распределённой компании пара сотен инженеров, а часть ты знаешь лишь как профили в Slack, случается забавное. Например, на вопрос “Ребят, кто может провести вебинар по ботам” откликается Жора. И только после вебинара на комментарий “Слушай, а какой...

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

[Перевод] Современные архитектуры фронт-энда В статье "Contemporary Front-end Architectures" рассмотрены архитектуры фронт-энда с точки зрения потоков данных в исторической ретроспективе. Материал состоит из трех частей Теория и история Реализация Перспективы Читать дальше →

Flutter BloC паттерн + Provider + тесты + запоминаем состояние Эта статья выросла из публикации “BLoC паттерн на простом примере” где мы разобрались, что это за паттерн и как его применить в классическом простом примере счетчика. По комментам и для своего лучшего понимания я решил попробовать написать приложение в котором будут получены...

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

[Из песочницы] Как начать писать микросервис на Spring Boot, чтобы потом не болела голова Привет! Меня зовут Женя, я Java-разработчик в Usetech, в последнее время много работаю с микросервисной архитектурой, и в этой статье хотела бы поделиться некоторыми моментами, на которые может быть полезно обратить внимание, когда вы пишете новый микросервис на Spring Boot....

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

Microsoft анонсировала виртуальную интернатуру В связи с пандемией COVID-19 летняя программа стажировки в Microsoft переходит в онлайн. Такое обращение опубликовала компания в своем блоге. В Microsoft мы принимаем “новую норму” жизни и работы, когда мир сплотился вместе, чтобы бороться с пандемией COVID-19. З...

SSO на микросервисной архитектуре. Используем Keycloak. Часть №1 В любой крупной компании, и X5 Retail Group не исключение, по мере развития возрастает количество проектов, где требуется авторизация пользователей. С течением времени требуется бесшовный переход пользователей из одного приложения в другой и тогда возникает необходимость исп...

eBPF: современные возможности интроспекции в Linux, или Ядро больше не черный ящик У всех есть любимые книжки про магию. У кого-то это Толкин, у кого-то — Пратчетт, у кого-то, как у меня, Макс Фрай. Сегодня я расскажу вам о моей любимой IT-магии — о BPF и современной инфраструктуре вокруг него. BPF сейчас на пике популярности. Технология развивается сем...

Планирование потоков в Windows. Часть 1 из 4 Ниже представлена не простая расшифровка доклада с семинара CLRium, а переработанная версия для книги .NET Platform Architecture. Той её части, что относится к потокам. Потоки и планирование потоков Что такое поток? Давайте дадим краткое определение. По своей сути поток это...

Трудности SMART Наверное, все знакомы с набором критериев SMART, которым должна соответствовать правильно поставленная цель, задача. По моим наблюдениям самая большая проблема на практике у людей возникает с «R». Следует уточнить, что несмотря на то, что нередко под «R» понимают, как и было...

Обзор игровой гарнитуры SteelSeries Arctis 7 Мы продолжаем знакомство с игровой периферией компании SteelSeries. Сегодня мы рассмотрим модель более высокого класса с расширенной функциональностью – SteelSeries Arctis 7. В модельном ряду беспроводных гарнитур она является самой продвинутой. Выше классом представлены лиш...

Шпаргалка аналитику: как «раскопать» систему На конференции аналитиков Analyst days #10 было выступление архитектора с докладом как раскопать legacy систему без документации или при наличии противоречивой документации («4 правила археолога: как «раскопать» систему» Евгений Асламов). Отличный доклад. Когда аналитик при...

Хабра-детектив: у вас картинка потерялась Вы когда-нибудь задумывались, сколько информации бесследно потеряно? Ведь информация — это то, ради чего Хабр существует. Знаете, что чаще всего случается с ресурсами основанными на пользовательских публикациях? Авторы вставляют изображения, картинки и видео со сторонних са...

[Перевод] Исследование CSS-свойства flex Вам когда-нибудь было интересно узнать о том, как работает сокращённое CSS-свойство flex? Оно позволяет задавать значения свойств flex-grow, flex-shrink и flex-basis. Я обратил внимание на то, что данное свойство чаще всего используют в виде flex: 1, что позволяет flex-элеме...

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

Разбор решения задач реальной промышленности (спасение поросят и другие) Свиноматка кормит поросят до 26-го дня. За это время она может на них прилечь, что приведёт к тому, что поросят станет чуть меньше, чем было в самом начале. Чтобы этого избежать, используются вот такие станки, как на фото, которые исключают её повороты и хождение по загону. ...

Книга «Совершенный алгоритм. Жадные алгоритмы и динамическое программирование» Привет, Хаброжители! В новой книге Тим Рафгарден рассказывает о жадных алгоритмах (задача планирования, минимальные остовные деревья, кластеризация, коды Хаффмана) и динамическом программировании (задача о рюкзаке, выравнивание последовательностей, кратчайшие пути, оптималь...

16 советов по разработке для Android на языке Kotlin. Часть 1 Перед прочтением этих советов вам желательно ознакомиться с документацией Kotlin и самостоятельно изучить язык на сайте try.kotlinlang.org. Поскольку эти советы направлены именно на использование Kotlin в контексте разработки под Android, у вас также должен быть опыт работ...

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

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

[Из песочницы] Flask-DJ: Django (mvc) структура для проекта на flask Всем привет! Когда я впервые столкнулся с Flask, у меня сразу возник вопрос по построению архитектуры проекта. Прочитав пару статей на Хабре (https://habr.com/ru/post/275099/ и https://habr.com/ru/post/421887/), я вспомнил свой опыт создания проектов на Django, и решил сде...

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

[Перевод] Преобразование природы в украшения с помощью 3D-сканирования Изготовление ювелирных изделий с помощью 3D сканера EinScan Pro 2x На вопрос о том, в каких сферах применяется 3D-сканирование, большинство людей не задумываясь ответят, что подобная аппаратура чаще всего находит применение в промышленности — в метрологии и реверсивном инж...

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

Чиним сериализацию объектов в Kotlin раз и навсегда Недавно я наткнулся на статью о проблеме c Java-сериализацией объектов в Kotlin. Автор предложил решать её добавлением метода readResolve к каждому объекту, который наследуется от java.io.Serializable. Этот способ выглядит абсолютно правильным, однако его поддержка может о...

Ленивая реализация обхода дерева дочерних элементов класса QObject Введение В статье описана ленивая реализация обхода дерева на языке C++ с использованием сопрограмм и диапазонов на примере улучшения интерфейса работы с дочерними элементами класса QObject из фреймворка Qt. Подробно рассмотрено создание пользовательского представления для р...

iFixit про 2019 Mac Pro: «Мастер-класс по ремонту» iFixit поделился полным разбором нового Mac Pro, назвав его «красивым, удивительно хорошо сложенным и мастер-классом по ремонту». Благодаря своему модульному дизайну новый Mac Pro, что неудивительно, получил почти идеальный показатель ремонтопригодности 9/10, при этом iFixit...

[Перевод] Планирование в Go: Часть II — Планировщик Go Привет, Хабр! Это второй пост в серии из трех частей, которая даст представление о механике и семантике работы планировщика в Go. Этот пост посвящен планировщику Go. В первой части этого цикла я объяснил аспекты планировщика операционной системы, которые, на мой взгляд, важ...

Золушка от LEGO: машина на основе ИИ и Raspberry Pi рассортирует детальки за вас Конструктор LEGO нередко используют для создания корпуса какого-нибудь механизма с движком на «малинках». Чаще всего этот тандем используется в различных роботах, дронах, вездеходах. Энтузиаст Дэниел Уэст (Daniel West) пошел другим путем и создал машину с участием Raspberry...

16 советов по разработке для андроид на языке Kotlin. Часть 2 Всем привет. В преддверии старта базового курса по Android-разработке, продолжаем делиться полезным материалом. Перед прочтением этих советов вам желательно ознакомиться с документацией Kotlin и самостоятельно изучить язык на сайте try.kotlinlang.org. Поскольку эти советы...

Семинары лаборатории языковых инструментов JetBrains Research Лаборатория языковых инструментов — совместная инициатива JetBrains и математико-механического факультета СПбГУ. Сотрудники лаборатории исследуют: формализацию и верификацию семантики языков программирования в контексте слабых моделей памяти; логическое и реляционное пр...

Храним числа экономно Недавно в одном из проектов встала задача: есть набор множеств (Set), которые надо достаточно эффективно хранить в оперативной памяти. Потому что множеств много, а памяти мало. И с этим надо что-то делать. Так как язык, на котором всё это написано — C#, то есть нюансы. А и...

AMD продолжает удивлять. Оказывается, у компании есть в запасе ещё более мощные мобильные процессоры В новой линейке мобильных процессоров AMD Ryzen 4000 фактически два флагмана: энергоэффективный Ryzen 7 4800U и высокопроизводительный Ryzen 7 4800H. С точки зрения кремния это два абсолютно идентичных процессора с восемью ядрами, поддержкой SMT и GPU Vega 8 — отл...

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

[Перевод] Продвинутый уровень визуализации данных для Data Science на Python Как сделать крутые, полностью интерактивные графики с помощью одной строки Python Когнитивное искажение о невозвратных затратах (sunk cost fallacy) является одним из многих вредных когнитивных предубеждений, жертвой которых становятся люди. Это относится к нашей тенденции...

Wrike: 5 лет с OKR Тема OKR (Objectives and Key Results) сейчас становится все более популярной в бизнесе. Во многих компаниях рассматривают возможность внедрить у себя эту методологию. Мы в Wrike перешли на OKR в 2015 году, и на тот момент это была достаточно новая и малоизученная тема, по кр...

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

Алгоритм планирования задач на TypeScript. Теория графов наконец-то пригодилась В этой статье я хочу рассказать об алгоритме, который помогает ответить на извечный вопрос всех проектов: Когда проект будет закончен?Более формально проблема звучит так: "Проект состоит из задач, которые могут зависеть друг друга, а также могут иметь один и тех же испо...

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

[Из песочницы] pyqtdeploy, или упаковываем Python-программу в exe'шник… the hard way Наверняка, каждый, кто хоть раз писал что-то на Python, задумывался о том, как распространять свою программу (или, пусть даже, простой скрипт) без лишней головной боли: без необходимости устанавливать сам интерпретатор, различные зависимости, кроссплатформенно, чтобы одним ...

Кризис и вот это всё Кризис и карьера Кризис, с точки зрения карьеры, время отличное. Особенно в России. Принципиально, кризис – это когда рушатся все правила и договоренности, по естественным причинам. Например, продажи резко падают. Если раньше деньги в компании проходили длинными цепочками, ...

Классификация с многими метками Привет, Хаброжители! Мы решили привести опубликовать отрывок из книги Андрея Буркова «Машинное обучение без лишних слов», посвященный классификации. Для описания изображения на рисунке можно использовать одновременно несколько меток: «хвойный лес», «горы», «дорога». Если ч...

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

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

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

Основы Data Vault В настоящее время, в сфере анализа данных и BI, уже не возможно не встретить такое понятия как DATA VAULT. Однако, на мой взгляд, есть некоторый недостаток информации по этой теме, особенно в русскоязычном сегменте интернета. Можно найти интересные статьи о применении DATA V...

[Из песочницы] Unity3D: Автоматический агрегатор скриптов-менеджеров Вступление В этой статье речь пойдет об одном виде организации взаимодействия между скриптами-менеджерами (синглтонами именуемыми), а конкретно — использование отдельного класса-агрегатора, в котором содержаться ссылки на все instance менеджеров. Идея создать класс-агрегатор...

[Из песочницы] Проекция контента в Angular или затерянная документация по ng-content При изучении Angular очень часто упускают или уделяют недостаточное внимание такому понятию, как проекция контента. Это очень мощный инструмент для создания гибких и переиспользуемых компонентов. Но в документации о нем упоминается лишь пару абзацев в разделе Lifecycle hooks...

Пусть хоть потоп, но 1С должна работать! Договариваемся с бизнесом о DR Представьте себе: вы обслуживаете ИТ-инфраструктуру крупного торгового центра. В городе начинается ливень. Потоки дождя прорывают крышу, вода заполняет торговые помещения по щиколотку. Надеемся, что ваша серверная не в подвале, иначе проблем не избежать.   Описанная история...

Как быстро и безопасно организовать удалённую работу сотрудников? Рассказываем о разных подходах: с VDI и не только С необходимостью удобно и безопасно организовывать удалённую работу своих сотрудников бизнес столкнулся давно. Но если раньше эту задачу можно было регулярно откладывать и продолжать обдумывать, то сейчас времени уже нет: «удалёнка» – главный тренд весны 2020 во всём мире. В...

[Перевод] Как подготовиться к интервью в YCombinator Один из первых наборов YC. Когда я готовился к интервью зимнего класса 2018 года, я пересмотрел все доступные источники по теме и провел около 20 практических интервью с выпускниками YCombinator. Ниже собрано воедино все, что я узнал. Это руководство – моё личное видение,...

Swift: Копируй-изменяй Часто бывает так, что нам нужно скопировать объект, изменив некоторые его свойства, но сохранив остальные неизменными. Для этой задачи существует функция copy().Это отрывок описания метода copy() из документации Kotlin. На нашем родном языке Swift это означает примерно таку...

Автоматизация журналиста. Часть 1: Задачи и календари Уже больше 15 лет я работаю техническим журналистом. Помогаю рассказывать о продуктах, технологиях и, что уж тут скрывать, встраиваюсь в стратегию хантинга. На меня есть спрос, поэтому много лет для меня ребром стоит задача повышения эффективности работы. Как говорится, вок...

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

PostgreSQL Antipatterns: насколько глубока кроличья нора? пробежимся по иерархии В сложных ERP-системах многие сущности имеют иерархическую природу, когда однородные объекты выстраиваются в дерево отношений «предок — потомок» — это и организационная структура предприятия (все эти филиалы, отделы и рабочие группы), и каталог товаров, и участки работ, и ге...

[Перевод] О структуре параллельных вычислений или доводы против оператора «Go» Каждый язык, поддерживающий параллельные (конкурентные, асинхронные) вычисления, нуждается в способе запуска кода параллельно. Вот примеры из разных API: go myfunc(); // Golang pthread_create(&thread_id, NULL, &myfunc); /* C with POS...

Навык поиска работы Есть много причин, почему классные разработчики часто долго не могут найти работу, а компании — классных разработчиков. Я хочу поговорить об одной из наиболее распространённых. Эта причина — абсолютно неправильный, деструктивный подход к проведению технических собеседований...

Stm32 + USB на шаблонах C++. Продолжение. Делаем CDC Продолжаю разработку полностью шаблонной библиотеки под микроконтроллеры Stm32, в прошлой статье рассказал об успешной (почти) реализации HID устройства. Еще одним популярным классом USB является виртуальный COM-порт (VCP) из класса CDC. Популярность объясняется тем, что обм...

Создание инкрементального сервера для iOS Team Бесплатная книга После пяти лет наступаний на одни и те же грабли, и полугода поисков DevOps-а, который знает что-такое Provision Profile и как от него зависит развертывание приложения, было принято решение составить пошаговую инструкцию, в картинках, о том, настраивать р...

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

[Перевод] Celery throttling — настраивам rate limit для очередей ​ В этой статье я покажу как решить одну из проблем, возникающих при использовании распределенных очередей задач — регулирование пропускной способности очереди, или же, более простым языком, настройка ее rate limit'a. В качестве примера я возьму python и свою любимую связку ...

[Из песочницы] Spring Boot vs Spring MVC vs Spring — Как они сравниваются? Spring Boot vs Spring MVC vs Spring — Как они сравниваются? Spring, Spring Boot, Spring MVC, везде есть слово “spring”! Давайте пройдемся где и когда вы можете применять каждый из этих инструментов В этой статье, вы увидите обзоры: Spring, Spring MVC, и Spring Boot, узнает...

ТОП-10 лучших Smart-колонок в 2020 году. Часть 1 Данный сегмент только начал набирать обороты в России. Задумывались когда-нибудь о покупке такого устройства в дом? Тогда посмотрите топ-10 лучших умных колонок.

Windows UAC не перестаёт удивлять, или Как обнаружить инсайдера Всем привет! Уверен, что вы наслышаны о недочетах технологии Windows UAC, однако относительно недавно появились подробности любопытной уязвимости, эксплуатация которой дает возможность непривилегированному пользователю максимально повысить привилегии. В Jet CSIRT мы не ост...

«Как прожить хорошую жизнь». Конспект книги Массимо Пильюччи К 35 годам я начал задумываться о том, на каких принципах строить жизнь, чтобы больше времени чувствовать себя счастливым. Я почитал немного про стоицизм, буддизм, экзистенциализм, и везде находил что-то для себя.В поисках книг на тему я наткнулся на труд Массимо Пильюччи по...

Мастер-класс «Работа с переменными в Loginom» Переменная — именованный объект, который может содержать только одно значение определенного типа. Значения переменных могут использоваться в вычислениях, например, в узлах Калькулятор, Условие и прочие. Так же значения переменных могут использоваться в качестве управляющих п...

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

Туториал по uplift моделированию. Часть 1 Команда Big Data МТС активно извлекает знания из имеющихся данных и решает большое количество задач для бизнеса. Один из типов задач машинного обучения, с которыми мы сталкиваемся – это задачи моделирования uplift. С помощью этого подхода оценивается эффект от коммуникации ...

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

Российский производитель представил мобильный телефон с одним из самых больших экранов в классе Обычно кнопочные «звонилки» оснащаются дисплеями в районе 2,5 - 2,8 дюймов по диагонали. Иногда встречаются модели с экраном в 3,2 дюйма. Но BQ 3595 Elegant стал настоящим рекордсменом класса со своими 3,47 дюйма.

Собираем «цепочки» с помощью window functions Иногда при анализе данных возникает задача выделения «цепочек» в выборке — то есть упорядоченных последовательностей записей, для каждой из которых выполняется некоторое условие. Это может быть как условие от данных самой записи, так и сложное выражение относительно одной и...

[Из песочницы] 3D картинка на питоне с (почти) нормальной производительностью Можно считать эту статью ответом на вот эту, где речь идет о написании подобной вещи на C++, с прицелом на новичков, то есть с упором на простой читаемый код вместо высокой производительности. После прочтения статьи у меня возникла идея повторить написанную автором программ...

Jitsi Meet: опенсорсная альтернатива «шпионскому» видеоприложению Zoom В связи с массовым переходом на удалённую работу приложение для видеоконференций Zoom резко выросло в популярности. Но это не идеальный вариант с точки зрения безопасности. Хотя Zoom предлагает end-to-end шифрование для текстовых чатов, а шифрование видеоконференций можно ак...

BlazingPizza: приложение на Blazor от начала и до конца. Часть 2. Добавляем компонент Привет всем! Всем тем, кто хочет узнать о Blazor немного больше. Сегодня мы продолжим создание нашего сайта для пиццерии, а именно, создадим web api контроллер и попробуем отобразить данные которые поступают из него на компоненте Blazor. Поскольку наше приложение о пицце, т...

Книга «Изучаем Python: программирование игр, визуализация данных, веб-приложения. 3-е изд.» Привет, Хаброжители! Мы выпустили третью версию #1 Best Seller in Python Programming Amazon — популярного в мире руководства по языку Python. Вы сможете не только максимально быстро его освоить, но и научитесь писать программы, устранять ошибки и создавать работающие прило...

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

Исправление проблем под Docker. Казалось бы, при чём здесь GIT? Докер под Windows — это постоянные приключения. То ему нужно обновить операционку, иначе последние версии не ставятся, то он забывает, как подключаться к сети. В общем, каждый день от него новости. «Поставил и забыл» — это не про Docker Desktop for Windows. Особенно, когда...

Анонс книги «Машинное обучение без лишних слов» Привет, Хаброжители! Готовится к сдаче в типографию полноцветная новинка «Машинное обучение без лишних слов» #1 in Data Mining #2 in Programming Algorithms #3 in Machine Theory Эту книгу рекомендуют к прочтению Питер Норвиг, Джеймс Гаррет и Орельен Жерон. Предисловие к ...

Скребём Github: поиск «секретов» разработки При разработке софтверного продукта или облачного SaaS-сервиса достаточно трудно отслеживать сторонние активности всех специалистов, вовлеченных в процесс разработки. Достаточно открыть Github, ввести в поиске «<имя_домена_компании.com> pass» и оценить выдачу. В том с...

[Перевод] [в закладки] Работа с изображениями в веб Одно из решений, которые приходится принимать фронтенд-разработчику при создании сайта, касается выбора способа включения изображений в состав веб-страниц. Этот способ может заключаться в использовании HTML-тега <img>. Это может быть применение CSS-свойства background ...

Чем просить и унижаться… — Xiaomi «одолжили» функцию у Google Хорошие художники копируют, а великие — крадут. Слышали такую фразу? Смотря на то, что происходит в мире высоких технологий в целом и смартфонов в частности, складывается ощущение, что красть у конкурентов стало нормой. Остается только понять, где грань между «скопиро...

VPS как лекарство от скуки на карантине Когда ты постоянно работаешь на удалёнке, работа постепенно занимает весь объём свободного времени. И это карма, от которой сложно избавиться. Однако, когда ты работал-работал в офисе и вдруг вынужденно (как все мы) сел дома, неожиданно обнаруживается масса свободного времен...

Самописный антиспам-сервис Gotoh, или как мы боролись за «белизну» IP-адресов Система антиспама в Selectel до самописного решения Привет, Хабр! Я Саша Федосеев, младший разработчик Python в Selectel. Несколько лет назад, когда наша компания начала особенно быстро расти, мы столкнулись с проблемой. Нашими ресурсами начали интересоваться всякие недобро...

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

Ксеноботы: живые нанороботы из клеток лягушки В далеком 1495 году Леонардо да Винчи создал чертеж живых доспехов. И лишь спустя 425 лет чешский фантаст Карел Чапек впервые использовал слово «робот» в своей пьесе «R.U.R.». Современные роботы намного умнее, сложнее и мобильнее робота да Винчи, но у них есть общие черты....

Машинное обучение на языке R с использованием пакета mlr3 Источник: https://mlr3book.mlr-org.com/ Привет, Хабр! В этом сообщении мы рассмотрим самый продуманный на сегодняшний день подход к машинному обучению на языке R — пакет mlr3 и экосистему вокруг него. Данный подход основан на «нормальном» ООП с использованием R6-классов и...

[Перевод] Визуализация работы сервис-воркеров (Service Workers) Доброго времени суток, друзья! Вероятно, многие из вас слышали о таком новшестве в экосистеме JavaScript, как сервис-воркеры, которые являются ключевым элементом современной веб-разработки. Сервис-воркеры становятся все более востребованными, в первую очередь, благодаря п...

[Перевод] LCH-цвета в CSS Меня всегда интересовала наука о цвете. В 2014 году я выступала на разных конференциях, рассказывая о спецификации CSS Color 4. А до этого, в 2009 году, я написала программу для выбора цвета. Она использовала скрытый Java-апплет для поддержки цветовых профилей ICC и для прав...

nodejs: менеджеры процессов и ES6-модули В мире серверного JavaScript'а я — новичок с чистым, практически незамутнённым разумом. Поэтому когда я узнал о существовании менеджеров процессов, а конкретно — о pm2, то сразу же попробовал применить его для запуска какого-нибудь простейшего backend-сервиса на nodejs в цел...

[Перевод] Оптимизация времени сборки проекта Там, где я работаю (в стартапе Spot.IM, размер которого находится где-то между малым и средним), Webpack используется для сборки различных проектов. После 4 лет работы над нашим основным продуктом, когда в его код внесло вклад столько народа, что и не сосчитать, время его пе...

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

Часть 6: Портирование MemTest86+ на RISC-V Наверное, мало какому айтишнику нужно объяснять, что такое Memtest86+ — пожалуй, он уже стал более-менее стандартом в тестировании оперативной памяти на ПК. Когда в одной из предыдущих частей я наткнулся на битую планку памяти, пришедшую в комплекте с платой, он (вместе с п...

VxLAN фабрика. Часть 2 Привет, Хабр. Продолжаю цикл статей по технологии VxLAN EVPN, которые были написаны специально к запуску курса "Сетевой инженер" от OTUS. И сегодня рассмотрим интересную часть задач — маршрутизацию. Как бы ни банально это звучало, однако в рамках работы сетевой фаб...

Разработка дискретной графики Intel продвигается, но флагманы на втором плане Как выяснилось по итогам изучения аннотаций в программном обеспечении с открытым кодом, таинственные дискретные графические решения Intel DG1 будут относиться к тому же классу энергопотребления и производительности, что и встроенная графика процессоров Tiger Lake, которые до...

Как устроены DPU, сопроцессоры для обработки данных Специализированные процессоры ASIC для конкретных областей — один из способов «перезапустить» закон Мура и преодолеть ограничения универсальных CPU общего назначения. Сейчас это очень перспективная область развития микроэлектроники. Собственные проекты есть у Google, Amazon...

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

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

Отправляем маркетологов работать из дома. Что может пойти не так? Удивительно, но работа с удалёнными сотрудниками пару месяцев назад была просто одной из тенденций. Дизайнер на Бали, копирайтеры в Таиланде, пара таргетологов из соседнего региона — привычный формат работы для маркетинга. Но теперь...

Digital-мероприятия в Москве с 16 по 22 марта Подборка мероприятий на неделю. FORUM.DIGITAL RETAIL 2020 17 марта (вторник) Техноград (ВДНХ) от 5 000 р. Международный форум по цифровизации ритейла 2020 — это масштабное международное мероприятие в России по применению цифровых технологий в ритейле и eCommerce. Мастер –...

Как сделать базовый тест-класс для Selenium тестов и выполнить инициализацию через JUnit RuleChain Этой статьей мы продолжаем серию публикаций о том, как мы автоматизировали в одном из крупных проектов ЛАНИТ процесс ручного тестирования (далее – автотесты) большой информационной системы (далее – Системы) и что у нас из этого вышло. Как эффективно организовать иерархию кл...

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

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

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

Что бы я хотел знать когда начинал изучать Django? — очень общий взгляд Здесь на Хабре много различных инструкций по использованию Django. Эти инструкции часто включают много кода и представляют последовательность шагов, которые нужно сделать, чтобы создать проект. Когда я начинал изучать Django и Wagtail по таким инструкциям, меня часто смущал...

Мобильная разработка: индивидуально или в команде? Привет! Как многим известно, Mail.ru Group ведет образовательные проекты для студентов в 9 вузах: МГТУ им. Баумана, МГУ, МИФИ, МФТИ, СпбПУ, Мосполитех, МАИ, ВГУ и ПГУ. Среди 70 дисциплин есть курсы по мобильной разработке под платформы Android и iOS. С точки зрения методо...

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

[Перевод] Что такое Waypoint и какие возможности дает его использование Пару недель назад я посмотрела демонстрацию Waypoint— нового инструмента, который представила 15 октября 2020 года компания Hashicorp. Инструмента, который предназначен для создания легкого, интуитивного и настраиваемого под пользователя рабочего процесса сборки, развертыва...

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

Работа в Google. Из Украины в Кремниевую долину Он решил пару математических задач и устроился на стажировку в Facebook, уехал из Украины в Кремниевую долину, перешел в Google и теперь работает из дома 4 дня из 5. Мы пообщались с Вовой, инженером компании Google, который поделился историей, как он попал на стажировку в Fa...

[Перевод] Инстанцирование в Python Допустим, у вас есть класс Foo : class Foo(object): def __init__(self, x, y=0): self.x = x self.y = y Что происходит, когда вы создаёте его объект? f = Foo(1, y=2) Какой метод вызывается первым при этом вызове Foo? Большинство новичков, да и, возможно, не...

Что нужно знать об архитектуре ClickHouse, чтобы его эффективно использовать. Алексей Зателепин (2018г) ClickHouse — высокопроизводительная аналитическая база данных с открытыми исходниками, разработанная в Яндексе. Изначально ClickHouse создавался для задач Яндекс.Метрики, но постепенно нашёл множество применений как внутри Яндекса, так и в других компаниях. Я расскажу, как C...

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

Анонсирован LG Style3 с Snapdragon 845 Ходят упорные слухи, что в этом году LG отказалась от выпуска флагмана серии G. Но при этом может возродить линейку Chocolate, которая объединит в себе среднего класса смартфоны. Среди причин отказа выпускать обновление в рамках семейства G некоторые называют дороговизн...

JPoint 2021: тенденции и тренды мира Java В третьем онлайн-сезоне конференций, проводимых JUG Ru Group, с 13 по 17 апреля 2021 года успешно прошла Java-конференция JPoint 2021. Что было интересного на конференции? Какой тематики были доклады? Кто из спикеров и про что рассказывал? Что изменилось в организации кон...

«Типичная ошибка — бездумно бенчмаркать всё подряд»: интервью с Андреем Акиньшиным о бенчмаркинге В прошлом году у Андрея Акиньшина (DreamWalker) вышла книга «Pro .NET Benchmarking»: подробнейший труд о бенчмаркинге, полезный как .NET-разработчикам, так и айтишникам других направлений. Когда до её выхода оставалась пара месяцев, мы проводили конференцию DotNext 2019 ...

[Из песочницы] Сериализация в C++ В данной статье речь пойдет об автоматизации процесса сериализации в C++. В начале будут рассмотрены базовые механизмы, позволяющие упростить чтение/запись данных в потоки ввода-вывода, после чего будет дано описание примитивной системы генерации кода на основе libclang. Ссы...

OnePlus 8 и OnePlus 8 Pro: улучшения радуют, цена ошеломляет Положив конец всем слухам, производители, наконец, официально продемонстрировали смартфоны серии OnePlus 8 во всей красе. Аппараты OnePlus 8 и OnePlus 8 Pro получили несколько заметных улучшений в отношении камеры, дисплея, батареи и производительности. Однако наиболее замет...

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

Разложение монолита: Декомпозиция БД (часть 1) Эта статья является конспектом книги «От монолита к микросервисам». Материал статьи посвящен декомпозиции БД во время процесса разложения монолита на микросервисы.В предыдущей статье рассмотрели способы извлечения функциональности из монолита в микрослужбы. Однако, что делат...

[Перевод] Почему центр пикселя должен быть в (0,5; 0,5) Сегодня, когда всё популярнее становится трассировка лучей (ray tracing) выполняемая из «глаза» камеры, этот урок нужно усвоить заново: код становится лучше, а жизнь — проще, если центр пикселя находится в координате (0,5; 0.5). Если вы уверены, что делаете всё правильно, то...

Перенос работающего сервера на RAID Жил-был LAMP-сервер на Ubuntu 12.04, который работал на одном диске. Соответственно, возникла задача обеспечить перенос сервера на более отказоустойчивую конфигурацию – RAID1. Товарищи, в ведении которых был данный сервер установили второй диск, а дальнейшее было возложено н...

Сказ о том, как сделать машину времени для базы данных и случайно написать эксплойт Доброго времени суток, Хабр. Приходилось ли вам задумываться как поменять время внутри базы данных? Легко? Ну в некоторых случаях да, несложно — linux команда date и дело в шляпе. А если нужно поменять время только внутри одного экземпляра бд если их на сервере несколько? А...

[Из песочницы] Form design patterns. Обзор книги Введение от автора обзора Книга раскрывает, порой не очевидные для дизайнеров и фронтендеров, темы оформления полей, концепции работы с типами данных и юзабилити. Книга будет полезна и новичкам и разбирающимся в теме проектировщикам интерфейсов, т. к. первым даст понимание...

[Перевод] Что я узнал после более чем 1000 code review За последние 3 года я рассмотрел более 1000 pull (merge) request’ов. За это время я многому научился — в основном тому, как не проверять код, как сделать процесс менее болезненным, что делает код хорошего качества и так далее. Pull request должен делать только одну вещь Это...

Давайте отключим vacuum?! Алексей Лесовский Расшифровка доклада 2018 года Алексея Лесовского "Давайте отключим vacuum?!" Такой призыв часто возникает, когда в PostgreSQL возникают проблемы, и главным подозреваемым оказывается vacuum (далее по тексту просто "вакуум"). По опыту, многие наступают на э...

Видеоаналитика в нефтехимии Привет! Как мы уже неоднократно писали, наши объекты — это довольно большие производства, как с точки зрения занимаемой площади, так и количества различных установок и узлов. Чтобы всё это работало и не возникало каких-то ситуаций, способных вызвать остановку производственн...

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

Вейвлет деревья Succinct data structures свежее веяние в алгоритмистике. В русскоязычной школе материала мало, нет даже устоявшегося перевода. Будем восполнять этот пробел. На правах первопроходцев терминологию будем вводить налету. Пусть, скажем, компактные структуры данных. На Хабре уже п...

Нам мало CAP. Да здравствует PACELC Если вы когда-нибудь сталкивались с распределёнными СУБД или системами обработки данных, то слышали о двух теоремах CAP и PACELC, определяющих грани возможных конфигураций этих систем. Споры об их универсальности не утихают до сих пор, однако, альтернативы, способные полнос...

Мартовский iPad Pro в опасности? В марте Apple может показать новый iPad. Каким он будет? Агентурные данные, подкрепленные фирменной аналитикой главных мозговых центров цивилизации, рисовали в нашем воображении ясную и четкую картинку: в марте Apple проведет традиционное “специальное событие”, и представит ...

[Перевод] Скрытая цена CSS-in-JS-библиотек в React-приложениях В современных фронтенд-приложениях технология CSS-in-JS пользуется определённой популярностью. Всё дело в том, что она даёт разработчикам механизм работы со стилями, который удобнее обычного CSS. Не поймите меня неправильно. Мне очень нравится CSS, но создание хорошей CSS-ар...

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

Логирование запросов к приложению Django Привет, меня зовут Дмитрий Чернышов, я ведущий разработчик компании «БАРС Груп». Последние несколько лет среди прочих задач нам в команде приходится сталкиваться с необходимостью анализа производительности приложений на Django с большим количеством пользователей и постоянн...

[Перевод] Учимся писать информативные комментарии к GIT-коммитам используя общепринятую семантику Когда я только знакомился с системами контроля версий (особенно с git), я рассматривал их только как приложения, которые помогают мне хранить историю изменений моего кода. Т.е. когда случается что-то нехорошее, я могу просмотреть историю коммитов и вернуться к последнему «хо...

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

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

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

Смартфоны серии Honor 30 будут представлены в апреле По информации твиттер-аккаунта @RODENT950, смартфоны серии Honor 30 будут представлены в апреле 2020 года. Это на месяц раньше по сравнению с датой, когда была объявлена ​​линейка Honor 20.Серия Honor 30 должна включать в себя стандартный вариант и профессиональную модель по...

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

Алгоритмы на экзамене в ШАД Привет! Меня зовут Александр Курилкин, и я веду курс по алгоритмам в «ШАД Helper». В этом посте я разберу несколько задач из вступительных экзаменов прошлых лет, чтобы вы смогли увидеть, что вас ждет, и понять, чему мы сможем вас научить на нашем курсе. Надеюсь, что вы разде...

Galaxy S20 Ultra за 100 тысяч рублей идеальный? Нет Samsung на презентации Unpacked не так давно представила флагманскую линейку Galaxy S20. Может показаться, что стоимость новинки не устраивает лишь российских пользователей, которым предлагается S20 Ultra не в самой максимальной комплектации за 100 тысяч рублей. Вероятно, в...

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

Обзор и тестирование Huawei Dorado 5000V6 Полгода назад я уже начинал рассказывать об обновлении линейки СХД компании Huawei – Dorado V6. На самом деле, мне удалось познакомиться с ними еще до официального анонса, и логично, что тогда у меня не было возможности потрогать их в работе собственными руками. В своей ста...

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

[Из песочницы] Простой zero-copy рендеринг аппаратно ускоренного видео в QML Введение Целью данной статьи является продемонстрировать способ как можно подружить сторонние видео буфера и QML. Основная идея — использовать стандартный QML компонент VideoOutput. Он позволяет подсовывать сторонние источники, неплохо документирован и имеет бекэнд поддержив...

[Перевод] Моржовый оператор в Python Моржовый (walrus) оператор, появившийся в Python 3.8, дает возможность решить сразу две задачи: присвоить значение переменной и вернуть это значение, поэтому порой можно написать код короче и сделать его более читаемым, и он может быть даже более эффективным с точки зрения в...

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

Создание дополнительного kube-scheduler’a с кастомным набором правил планирования Kube-scheduler является неотъемлемым компонентом Kubernetes, который отвечает за планирование подов по нодам в соответствии с заданными политиками. Зачастую, в процессе эксплуатации Kubernetes-кластера нам не приходится задумываться о том, по каким именно политикам происход...

[Перевод] Многопоточность. Модель памяти Java (часть 2) Привет, Хабр! Представляю вашему вниманию перевод второй части статьи «Java Memory Model» автора Jakob Jenkov. Первая часть тут. Аппаратная архитектура памяти Современная аппаратная архитектура памяти несколько отличается от внутренней Java-модели памяти. Важно понимать апп...

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

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

Трансформация цвета: поиски в прореженном столе Это обзор функциональности, появившейся в Pillow 5.4: применение трехмерных таблиц поиска (3D lookup tables, 3D LUT) для трансформации цвета. Эта техника широко распространена в обработке видео и 3D-играх, однако мало графических библиотек могли похвастаться их поддержкой до...

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

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

Что подарить любителю музыки на Новый год и не только? Если вы читаете эту статью в декабре 2019, самой очевидной причиной подарка станет, наверное, подступающий Новый Год. На самом же деле идеи презентов, которые мы озвучим дальше по тексту не потеряют свою актуальность очень долго. Даже те модели устройств или иных предметов...

Как работает медслужба аэропорта Этот пассажир не так чихнул в полёте. На самом деле учения, фото из архива аэропорта KZN. 2016 год, борт Пхукет-Москва запросил вынужденную посадку. На борту женщина собирается рожать. КВС решил сажать в Казани. Диспетчер выводит его с трассы по сокращённой схеме (не по ко...

SOLID == ООП? Наверное я не ошибусь, если скажу, что чаще всего на собеседованиях спрашивают о SOLID принципах. Технологии, языки и фреймворки разные, но принципы написания кода в целом похожи: SOLID, KISS, DRY, YAGNI, GRASP и подобные стоит знать всем. В современной индустрии уже много д...

В MMORPG Black Desert Mobile появился первый новый класс «Колдунья» Только вчера мы перевели интервью с руководителем Pearl Abyss America, в котором он рассказал, что разработчики попытаются быстро догнать компьютерную версию игры по количеству контента, как для Black Desert Mobile выходит обновление с первым новым классом. Отныне игроки см...

[Перевод] Кэш – король быстродействия: нужен ли процессорам четвёртый уровень кэширования Разрыв между быстродействием процессоров в общем смысле и быстродействием основной памяти DRAM, также в общем смысле, был проблемой в последние 30 лет – в этот период разрыв начал по-настоящему расти. И стоит честно сказать, что инженеры, разрабатывавшие как оборудование, ...

GitHub: новая Open Source библиотека для OSINT В мире информационной безопасности часто задаются вопросом об исследовании открытых источников на получение личной информации — будь то защищающая сторона (например, для контроля периметра, выявления открытых уязвимостей) или пентестеры (поиск точки входа, аудит периметра и...

Грани честности и Джон Доу Я, где-то с 2005 года, с перерывами, работаю в компаниях, которые решают задачи за деньги. Ну это когда клиент приходит, просит чего-то ему запрограммировать, мы делаем, и он нам платит. Там есть и проекты, но в тексте – только про разовые задачи. Да, это про 1С. Не про каку...

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

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

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

NewNode — децентрализованная CDN от разработчика FireChat На днях я наткнулся на упоминание некоего NewNode: NewNode — SDK для мобильной разработки, который делает любое приложение неубиваемым для любой цензуры и DDoS, и драматически снижает нагрузку на сервере. P2P сеть. Может работать в теории без интернета. Выглядело довольно...

[Перевод] Как превратить скрипт на Python в «настоящую» программу при помощи Docker Никого не интересует, умеете ли вы разворачивать связанный список — всем нужно, чтобы можно было легко запускать ваши программы на их машине. Это становится возможным благодаря Docker. Для кого предназначена эта статья? Вам когда-нибудь передавали код или программу, дерево...

[Перевод] Использование паттерна BFF для создания общих типов в бэкенде и фронтенде Контракт между бэкендным сервисом и фронтендным потребителем (или клиентом) обычно является местом соединения двух миров. Такой контракт может принимать форму спецификации REST API, конечной точки GraphQL, или чего-то другого. Главное, чтобы он сообщал обеим сторонам, чего ...

[Из песочницы] Использование Quartus и ModelSim Меня всегда интересовала цифровая схемотехника, а в частности языки описания аппаратуры -HDL. У меня давно лежала в списке будущего чтения книга Дэвида М. Хэррис и Сары Л. Хэррис «Цифровая схемотехника и архитектура компьютера», воспользовавшись свободным временем на самоизо...

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

Беги, муравей. Беги В данной статье рассматривается процесс создания имитационной модели поведения муравьиной колонии (можно почитать в википедии ) в среде имитационного моделирования «AnyLogic». Данная статься носит практический характер. В ней будет рассмотрен вопрос применения муравьиного ал...

Сервис высокого класса – вместе с ключами от квартиры в клубном доме “Ривьера” Покупатели квартир в жилом комплексе премьер-класса «Ривьера» в Екатеринбурге вместе с ключами получают доступ к системе «Премиум ЖКХ». Установив приложение на смартфон и зарегистрировавшись в личном кабинете, собственники и арендаторы квартир могут быть уверены в качестве о...

Dark Souls 3 и его аналоги Рассмотрим игры Dark Souls 3, Lord of the Fallen и Mortal Shell с точки зрения графики и протестируем на системе 1240 v3 + GTX 1070.

[Перевод] Тестирование в Puppeteer vs Selenium vs Playwright: сравнение производительности Ранее мы уже писали о том, когда бывает нужна автоматизация тестирования и какие проверки при этом используют. Сегодня предлагаем обсудить использование инструментов на практике и оценить их производительность. С разрешения Giovanni Rago – автора серии полезных материалов о ...

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

Как мы считаем людей с помощью компьютерного зрения Фото из открытых источников Массовые скопления людей создают проблемы в самых разных областях (ритейл, госслужбы, банки, застройщики). Заказчикам необходимо объединять и мониторить информацию о количестве людей во множестве мест: в офисах обслуживания, административных пом...

Опыт работы с Plesk Хочу поделиться некоторыми впечатлениями о нужности или ненужности такой вещи, как контрольная панель для коммерческого односерверного веб-проекта при наличии очень part time админа. История началась пару лет назад, когда знакомые знакомых попросили меня сопроводить покупку ...

[Из песочницы] Игра с открытым API: Swagger Play В данной статье я хочу рассказать, как использовать Swagger модуль для Play Framework, с примерами из реальной жизни. Я расскажу: Как прикрутить последнюю версию Swagger-Play (модуль Play, позволяющий использовать аннотации swagger-api и генерировать на их основе документ...

[Перевод] Как устроен Selenium: Эпизоды 3 — 5 Салют, хабровчане. Сегодня мы продолжаем серию переводов, приуроченных к запуску курса «Java QA Engineer». Эпизод 3 — isDisplayed В результате диалога, произошедшего в последние выходные января 2020 года, который был посвящен одной из проблем в Selenium, где кто-то сказал ...

[Перевод] JavaFX — еще не умер Примечание переводчика. Недавно я опубликованных на сайте habr переводы на русский язык нескольких уроков по JavaFX,. И один из моих читателей спросил меня: «А этим сейчас вообще кто-то пользуется?» Неделю назад я увидел пост в блоге Стивена Чина (Stephen Chin) и решил, чт...

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

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

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

Шпион под прикрытием: проверяем исходный код ILSpy с помощью PVS-Studio В блоге компании PVS-Studio можно найти далеко не одну статью с результатами проверок исходного кода различных компиляторов. С другой стороны, немного обделённым вниманием PVS-Studio кажется другой класс программ - класс декомпиляторов. Дабы сделать мир более гармоничным, бы...

[Перевод] Низкоуровневое программирование STM32: от включения питания до «Hello, World» В этом материале я хочу рассказать о том, как писать программы для микроконтроллеров (Microcontroller Unit, MCU) Cortex-M, вроде STM32, используя лишь набор инструментов ARM и документацию, подготовленную STMicroelectronics. У некоторых читателей может появиться вопрос о том...

[Перевод] Принципы для разработки: KISS, DRY, YAGNI, BDUF, SOLID, APO и бритва Оккама Хорошему программисту необходимо уметь совмещать свои навыки со здравым смыслом. Все дело в прагматизме и навыке выбора лучшего решения для вашей проблемы. Когда вы сталкиваетесь с проблемой при разработке ПО, вы можете воспользоваться базовыми принципами, которые помогут ...

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

В 2020 году экраны с подсветкой mini-LED можно будет встретить только в мониторах и ноутбуках верхнего сегмента Компания Lextar Electronics, активно продвигающая модули подсветки на миниатюрных светодиодах (mini-LED) для жидкокристаллических экранов, по данным отраслевых источников, получила заказы от MSI. Компания MSI оснастит экраном 4K Ultra HD с подсветкой mini-LED свой новый...

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

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

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

Meshtastic – оперативно-тактический радиочат без сотовой связи и интернета. Часть 1. Знакомство Вы когда-нибудь задумывались над тем, что будете делать, окажись внезапно в чрезвычайной ситуации без сотовой или спутниковой связи, без интернета, без возможности вызвать помощь? Ваш телефон, при этом, ещё пару-тройку дней без электричества будет работать и, вероятно, сможе...

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

Wulfric Ransomware – шифровальщик, которого нет Порой так хочется заглянуть какому-нибудь вирусописателю в глаза и спросить: зачем и почему? С ответом на вопрос «как» мы справимся сами, а вот узнать, чем думал руководствовался тот или иной создатель вредоносного ПО, было бы очень интересно. Тем более, когда нам попадаются...

[Перевод] Kindle собирает подозрительно много информации Я люблю читать и у меня есть несколько моделей Kindle, от самого первого до Paperwhite, они мне все нравятся. Однако, ввиду своей профессии, я привык следить за потенциальными угрозами. Технически, Амазон владеет контентом который вы просматриваете. Они даже могут отобрат...

[Из песочницы] Проверка б/у макбука перед покупкой — чек-лист Данный чек-лист — компиляция нескольких источников, я его делал для себя, когда в конце 2019 года покупал 13" б/у макбук 2015 года, последний из имевших нормальную клавиатуру и набор портов, перед тем как Apple перешла на клавиатуру-бабочку и usb-с порты. Какую модель ...

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

Управляем контактами GPIO из C# .NET 5 в Linux на одноплатном компьютере Banana Pi M64 (ARM64) и Cubietruck (ARM32) Когда заходит речь про программирование на C# .NET для одноплатных компьютеров, то разговоры крутятся только в основном вокруг Raspberry Pi на Windows IoT. А как же Banana/Orange/Rock/Nano Pi, Odroid, Pine64 и другие китайские одноплатные компьютеры работающие на Linux? Та...

[Перевод] Миллион спрайтов при 120 с лишним fps Если вы побродите по форуму DOTS, то можете встретить там подобные посты о том, как автор написал библиотеку, способную рендерить миллион анимированных спрайтов, и всё равно получает только 60fps. Я создал собственный рендерер спрайтов DOTS, который достаточно хорош для наш...

Какой Samsung выбрать в 2020 году? Galaxy M31, M21, A31, A51. ... В этом году ценники на флагманы воспарили в облака, поэтому все больше пользователей обращают свой взор в сторону устройств среднего и бюджетного уровней. Так, в сегменте до $300 можно найти немало неплохих смартфонов и без переплаты.   Правда, придется пойти на ряд ком...

[Перевод] Пол Грэм: Идеи для стартапов (Ideas for Startups, 2005) (Это эссе основано на разговоре в Школе Стартапов 2005) Откуда вы берете хорошие идеи для стартапов? Из тех вопросов, которые мне задают, этот, пожалуй, номер один. Я отвечу так: а почему, собственно, люди думают, что придумать идею для стартапа настолько сложно? Может ...

Нужно ли создавать RAID-массив из SSD и какие контроллеры для этого нужны Привет Хабр! В этом материале мы расскажем, стоит ли организовывать RAID-массивы на базе твердотельных решений SATA SSD и NVMe SSD, и будет ли от этого серьезный профит? Мы решили разобраться в этом вопросе, рассмотрев виды и типы контроллеров, которые позволяют это сделать,...

Бизнес-процессы на прокачку: как Process Intelligence помогает компаниям определить, что, где и когда автоматизировать Как вы, возможно, слышали, в прошлом году ABBYY приобрела компанию TimelinePI – разработчика платформ Process Intelligence. Теперь, помимо интеллектуальной обработки информации, продукты ABBYY помогают компаниям решать новый класс задач – анализировать бизнес-процессы, пони...

[Перевод] Стоит ли переходить с Python на Nim ради производительности? Nim — это сочетание синтаксиса Python и производительности C Несколько недель назад я бродил по GitHub и наткнулся на любопытный репозиторий: проект был полностью написан на языке Nim. До этого я с ним не сталкивался, и в этот раз решил разобраться, что это за зверь. Сна...

Обзор подкаста «Деньги пришли» План такой: слушаю, что записывает компания, делаю заметки, пишу обзор. Alec Favale, Unsplash.com В конце прошлого года я решил написать о корпоративных подкастах и спросил в Facebook, кто ими занимается. Ответили человек 20, дали примеры программ. По мере их изучения я ...

Веб-компоненты в реальном проекте Всем привет! Меня зовут Артур, я работаю frontend-разработчиком в Exness. Не так давно мы перевели один из наших проектов на веб-компоненты. Расскажу, с какими проблемами пришлось столкнуться, и о том, как многие концепции, к которым мы привыкли при работе с фреймворками, л...

Django Rest Framework для начинающих: создаём API для чтения данных (часть 1) Меня зовут Стас Гаранжа, я выпускник курса «Python-разработчик» в Яндекс.Практикуме. Я хочу помочь начинающим разработчикам, которые приступили к изучению Django Rest Framework (DRF) и хотят разобраться, как устроен этот фреймворк. Я готовлю цикл статей, в которых расскажу о...

[Из песочницы] Flutter. BlOC, Provider, async – архитектура «по полочкам» Вступление Когда пытаешься написать приложение, то первое с чем сталкиваешься – это как организовать архитектуру приложения. А когда еще при этом речь идет про Flutter, так голова совсем может пойти кругом от того, что выдает Гугл — Vanilla, Scoped Model, BLoC, MVP, MVC, MVV...

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

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

Изучаю Scala: Часть 1 — Игра змейка Привет Хабр! Когда я изучаю новый язык я обычно делаю на нем змейку. Может какому нибудь новичку который тоже изучает Scala будет интересен код другого новичка в этом ЯП. У опытных скалистов скорее всего мой первый код на Scala вызовет грусть. За подробностями добро пожалов...

Видеокарта PowerColor Red Devil Radeon RX 5700 (8 ГБ): хорошая скорость для разрешения 2.5К, очень тихий кулер PowerColor Red Devil Radeon RX 5700 (8 ГБ) — один из лучших на сегодня вариантов ускорителя 3D-графики игрового класса в ценовом диапазоне немногим ниже 30 тысяч рублей. Базовый ускоритель Radeon RX 5700 на сегодня и вовсе является лидером рейтинга полезности, обгоняя даже с...

Angular: Интеграционное тестирование (Shallow testing) Когда приложение разрастается или нам очень важно, чтобы оно работало верно при любом рефакторинге, мы начинаем задумываться о unit или e2e тестировании. За несколько лет работы с Angular — приложениями в корпоративном сегменте, поймав множество проблем при рефакторинге ...

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

Network diagram as code / Схема сети как код В последние пару лет стал больше заниматься документацией. Написать поясняющий текст о том, как работает та или иная система — в целом, это достаточно просто. Нарисовать схему, на которой будут отображены все ключевые объекты, связи между этими объектами, тоже вполне легко. ...

Что такое Wi-Fi 6: преимущества нового стандарта Wi-Fi 6, или 802.11ax, это следующий этап развития технологии Wi-Fi, который обеспечивает более высокие скорости передачи для большего количества устройств. Если вы задумываетесь о покупке или апгрейде роутера, есть смысл нацеливаться на тот, который поддерживает новый станд...

Применение Flowmon Networks для контроля производительности распределенных приложений и баз данных Статью подготовил Dmitriy Andrichenko | Sales Executive, Russia & CIS | Flowmon Networks Приветствуем Вас на странице нашей новой статьи, посвященной решению задач контроля производительности распределенных сетевых приложений и баз данных. Данная статья является продо...

Опыт реализации сетевых фабрик на базе EVPN VXLAN и Cisco ACI и небольшое сравнение Оцените связки в средней части схемы. Ниже к ним вернёмся В какой-то момент вы можете столкнуться с тем, что большие сложные сети на базе L2 неизлечимо больны. В первую очередь проблемами, связанными с обработкой BUM трафика и с работой протокола STP. Во вторую — в целом м...

2 в 1: шифрование с имитозащитой Классическими задачами, которые решаются криптографическими методами, являются обеспечение конфиденциальности и обеспечение аутентичности/имитостойкости хранимых и передаваемых данных. Ранее (примерно до середины 2000-х годов) для решения подобных задач использовались шифров...

Прекращаем ставить диод 2 Несколько лет назад мною была опубликована статья под аналогичным заголовком. Если кратко, то в ней я рассказал о процессе разработки с нуля устройства, выполняющего функции «идеального диода» для предотвращения разряда буферного аккумулятора на обесточенный блок питания. У...

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

[Перевод] PEP 257 на русском. (Соглашение о Docstrings) Привет, Хабр. Бывают моменты, когда тебе хочется максимально погрузиться в язык и понять все его тонкости. В случае Python один из лучших способов это сделать — читать на официальном сайте документацию и PEP-ы. В своё время я этого не делал, поскольку не мог понять многих «т...

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

Сниппеты. Как сделать процесс работы с документацией проще Привет, Хабр! Меня зовут Павел Лесюк. Я тестировщик нативных мобильных приложений. В своей предыдущей статье я привел список инструментов, которые могут использоваться тестировщиками и некоторыми другими специалистами для повышения продуктивности своей работы. В новой сери...

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

Шаговые двигатели (NEMA17). Греть или не греть? На тему рабочей температуры шагового двигателя в любительской среде сложилась поверье, которое гласит, что шаговые двигатели могут работать только при +80 oC, и что их нужно всячески охлаждать и т.д. Каюсь, тоже стал приверженцем этого обывательского мнения, пока не увидел п...

Нативный способ покрасить SVG-иконки Когда вам нужна возможность менять цвет иконок через CSS, что вы делаете? Вариантов не так много. Обычно используются либо шрифты иконок, либо исходный код SVG скачивается и вставляется в HTML вручную. Шрифт нужно оптимизировать, иначе пользователь загрузит разом все иконки...

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

Профессия: фронтенд-разработчик ххх: на чём пишешь фронтенд? yyy: на костылях и велосипедах ххх: ммм, хороший фреймворк! Bash.im Когда приходит мысль стать программистом, ты вдохновенно открываешь справочник Шилдта по С, заказываешь толстую книгу Страуструпа по С++ и учишься шутить про указатель на указат...

Что такое OpenVINO? Привет всем читателем habr.com! Мы студенты НГТУ им. Р.Е. Алексеева, и хотим рассказать о своем опыте работы с набором инструментов Intel – OpenVINO (Open Visual Inference & Neural Network Optimization).Для начала давайте познакомимся. Мы- студенты 2 курса ИРИТ, каф...

Навыки эффективного руководителя, мастер-класс от МТС Университета

Прокачайте управленческие навыки — повышайте мотивацию и продуктивность сотрудников. На мастер-классе от ведущего тренера МТС Университета Юлии Михайловой вы научитесь: Определять уровень своих компетенций и направления для личного развит...

[Перевод] Запуск Camunda BPM в Kubernetes Используете Kubernetes? Готовы переместить свои экземпляры Camunda BPM с виртуальных машин, а может просто попробовать запустить их на Kubernetes? Давайте рассмотрим некоторые распространенные конфигурации и отдельные элементы, которые можно адаптировать к вашим конкретным ...

Кибератаки на гидроакустические системы: мифы и реальность Приветствую вас, глубокоуважаемые! «Если в ответ на запрос свой-чужой ответить неправильно, второй запрос придет уже на 533-ей частоте» (С) «Все это идет как-то мимо вас. Или сквозь вас. А по мне это идет, как паровой каток. Ни одной целой кости не осталось. » (С) А. и Б. Ст...

Как вести технический блог? Я работаю в коммерческой разработке с 2011 года. С конца 2012 занимаюсь разработкой под iOS. Свою первую техническую статью я написал на Хабре в начале 2017 года про подход к локализации мобильных приложений. Потом выпустил ещё несколько статей по iOS-разработке на Хабре и...

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

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

Сниппет, расширение для VSCode и CLI. Часть 1 Доброго времени суток, друзья! В процессе разработки Современного стартового HTML-шаблона я задумался о расширении возможностей его использования. На тот момент варианты его применения ограничивались клонированием репозитория и скачиванием архива. Так появились HTML-снипп...

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

[Перевод] Как работает panic в Rust Как работает паника в Rust Что именно происходит, когда вы вызываете panic!()? Недавно я потратил много времени на изучение частей стандартной библиотеки, связанных с этим и оказалось, что ответ довольно сложный! Мне не удалось найти документы, объясняющие общую картину пани...

Java-дайджест за 21 апреля Выпущен монитор системных ресурсов, работающий на Raspberry Pi и 7-дюймовом экране. Зонд жрет всего 30 мегабайт оперативки без использования GraalVM (но как?). И зонд, и дисплей-сервер для Raspberry Pi используют JavaFX. В качестве платформы для мониторинга пока доступна т...

Использование мультигигабитных коммутаторов как философия компромисса Что делать, когда нужны скорости больше 1Gbps, а в наличии только старая СКС категории 5E и сменить её нельзя. Куда подключить новейшие точки доступа со скоростью >3Gbps — неужели к старой гигабитной сети? И что делать, если требуется провести сеть в удалённый кабинет, к...

[Перевод] Смотри, куда едешь (периферийное зрение vs когнитивная нагрузка) Проблема не в когнитивной нагрузке из-за многозадачности, а в периферийном зрении. Согласно новому исследованию MIT, ключ к тому, чтобы не отвлекаться от вождения, прост: следите за дорогой и смотрите, куда едете. Это может показаться ужасно очевидным, учитывая, что «смо...

Как мы в Спортмастере выбирали систему кеширования. Часть 1 Привет! Меня зовут Алексей Пьянков, я разработчик в компании Спортмастер. В этом посте я рассказал, как начиналась работа над сайтом Спортмастер в 2012 году, какие инициативы удалось «протолкнуть» и наоборот, какие грабли мы собрали. Сегодня я хочу поделиться мыслями, кото...

[Из песочницы] Оптимальный путь новичка в мире C++/Qt Часто задаваемый начинающими программистами вопрос – какие материалы читать для повышения своего профессионального уровня? В таком, наиболее общем виде, ответить на данный вопрос невозможно. Это зависит от текущих знаний и умений человека, от его специализации, от задач, кот...

Гибридные сортировки Как все уже знают, в основу сортировки могут быть положены обмены, вставки, выбор, слияние и распределение. Но если в алгоритме комбинируются разные методы, то тогда он относится к классу гибридных сортировок. Читать дальше →

[Перевод] Какую нагрузку на серверы создают сетевые механизмы? Когда анализируют работу сетевой подсистемы серверов, внимание обычно обращают на такие показатели, как время задержки (latency), пропускная способность системы (throughput), количество пакетов, которое можно обработать за секунду (PPS, Packets Per Second). Эти показатели пр...

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

Boot manager для 486-го компьютера Введение Всё началось с того, что меня несколько расстраивало отсутствие возможности загружаться с дисковода на старой плате Socket 3. CD-приводы в то время ещё не были распространены и разработчики BIOS даже не задумывались о предоставлении такой опции. Да и операционные си...

Camunda external tasks — мощный инструмент для создания приложений с отказоустойчивой и масштабируемой архитектурой В Тинькофф для разработки систем автоматизации бизнес-процессов мы используем фреймворк Camunda + Spring. Сами бизнес-процессы описываем с помощью BPMN (Business Process Management Notation) в виде блок-схем. Наиболее часто используемый элемент на наших схемах — service ta...

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

Программа весеннего сезона вебинаров CleverTALK Начинается новый сезон бесплатных вебинаров по управлению ИТ. В программе на сегодняшний день четыре вебинара, регистрация уже идёт. 23 апреля. ITIL 4 и всё, что нужно знать интересующимся данной темой.Ведущий: Игорь Гутник, ITIL 4 Managing Professional, ITIL Expert, ITIL Pr...

В поиске вопросов, или как создать новый отладчик Мы уделяем много внимания инструментам разработки: участвуем в горячих спорах о редакторах (Vim или Emacs?), долго настраиваем IDE под свой вкус, и тщательно выбираем языки программирования и библиотеки, которые с каждым днем становятся все лучше и удобнее. Однако, здесь мож...

Бесплатный вебинар «Нейминг. Зачем и кому он нужен» Первая бизнес-школа клубного типа «БИЗНЕС ИНСАЙТ» приглашает Вас принять участие в бесплатном вебинаре на тему «Нейминг. Зачем и кому он нужен». Вебинар проведет Галина Вратенкова, основатель брендингового агентства Golden Marrow. Зачем: - Рассказать о подводных камнях при ...

Picaso 3D Designer, реанимация драйвера шагового двигателя Доброго времени суток!Долго мой picasic не выкидывал финты и на те, после 2800 часов упорной работы приказал долго жить драйвер ШД подачи пластика (красиво приказал, с шипением, дымом и отгоревшей медью на плате). И это в тот самый момент самоизоляции, когда можно спокойно п...

Предварительный обзор Google Pixel 4a. Как уделать конкурентов Компания Google довольно часто радует нас интересными устройствами, которые при довольно низкой стоимости могут удивить потенциального покупателя продвинутым набором характеристик и преимуществ. Теперь давайте поговорим об очередной новинке, которая нацелена на покорение сре...

Поднимаем Mercurial на Windows-сервере (с Nginx) Недавно случайно узнал, что BitBucket, где лежат мои Mercurial-репозитории, прекращает поддержку Mercurial: новые репозитории создавать уже нельзя, а существующие будут удалелы с 1.06.2020. Возможные варианты действий: перейти на Git, выбрать один из других сервисов, или нас...

[Перевод] Языковая механика escape analysis Прелюдия Это вторая из четырех статей в серии, которая даст представление о механике и дизайне указателей, стеков, куч, escape analysis и семантики значения/указателя в Go. Этот пост посвящен кучам и escape analysis. Оглавление цикла статей: Language Mechanics On Stacks A...

IT — это средний класс с натяжкой. И как НЕ надо проводить собеседование с программистом Много лет опыта в разработке (или любом другом айти направлении). Десятки пройденных очных собеседований. Работа в крупных IT компаниях с высочайшей культурой кода. Навыки, которым позавидовал бы любой разработчик из силиконовой долины: НИЧЕГО из этого не даст вам шанса прой...

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

Город и данные: анализ пешеходной доступности объектов в Праге с помощью data science Несколько лет назад компания Veeam открыла R&D центр в Праге. Изначально у нас был небольшой офис примерно на 40 человек, но компания активно растет, и сейчас, в новом просторном офисе Rustonka нас уже больше двухсот. Veeam нанимает сотрудников не только из Чехии и Евро...

Как разработчики приложений из Google Play обманывают вас В Google Play масса приложений, чьи разработчики вас обманывают Google никогда особенно не давалась защита пользователей Android. Да, компания старается доказать обратное, каждый месяц выпуская по обновлению безопасности с исправлением уязвимостей, но проблема в том, что у н...

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

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

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

Стоит ли платить за плагины OpenCart? У нас обновление в маркетплейсе: теперь вы можете заказать VPS-сервер с предустановленным OpenCart. Вместо того, чтобы рассказывать, что такое OpenCart, давайте лучше порассуждаем о расширениях: в каком случае стоит покупать готовое, как их проверять? Мы подготовили крат...

Node.js Streams для чайников или как работать с потоками Я думаю многие не раз слышали про Node js Streams, но так ни разу и не использовали, либо использовали, не задумываясь как же они работают, запайпили (pipe) стрим и норм. Давайте же разберемся что такое стримы, запайпить (pipe), чанки (chunk — часть данных) и все такое)) Ч...

С Днём Программиста Всем привет! Сегодня 256-й день в году, а это значит, что мы снова празднуем День Программиста! Когда я слышу поздравления с каким-нибудь профессиональным «днём», у меня возникает ощущение какой-то ламповости, которую мы утратили в современном мире. Именно эту аnмосферу я ...

Анимируем RecyclerView легко без перехода на ViewPager2 Когда мы работаем с коллекциями и их отображением, перед многими из нас часто встает выбор между ViewPager (теперь ещё и ViewPager2) и RecyclerView. Эти компоненты похожи друг на друга по области применения, но серьезно отличаются интерфейсом и реализацией. Начиная с suppor...

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

[Перевод] Использование алгоритма Прима для генерации соединённых друг с другом пещер Я решил объяснить один из алгоритмов генерации карты, используемых в моей игре In the House of Silence. Главное преимущество этого способа заключается в том, что в отличие от других алгоритмов, он никаким образом не может сгенерировать карту с разделёнными частями. Гене...

[Перевод] Deep Q Trading: объектно-ориентированный код на R Привет! Это перевод еще одной моей статьи, посвященной обучению с подкреплением (reinforcement learning). Эту итерацию даже предложили запостить в блоге Веды аналитики. :) В двух прошлых статьях на эту тему: 1 и 2 я пробовал создать и запустить обучение с подкреплением д...

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

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

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

Вот как может выглядеть новый стеклянный iMac Смелый дизайн, но Apple в последнее время не стесняется с этим экспериментировать Как дальше будут развиваться настольные компьютеры Apple? Mac Pro был представлен еще на WWDC 2019, и в декабре 2019 года в продажу поступила «машина для убийства» (ну, почти) сверхвысокого кла...

Как перенести приложения на смартфоны Huawei без Google Play Несмотря на то что Huawei уже давно и вполне успешно развивает AppGallery, составить конкуренцию Google Play он по-прежнему не в силах. Всё-таки ассортимент собственного магазина приложений Google за годы его существования разросся настолько, что даже App Store будет сложно...

Что можно взломать поддельным отпечатком пальца. Почти любой смартфон, MacBook, но не ноутбуки с Windows 10 За последние годы мы привыкли к тому, что сканеры отпечатков пальцев в смартфонах — лучшая биометрическая защита. Но насколько они действительно обеспечивают защиту? Специалисты Cisco Talos Security Group решили проверить это, заодно определив, улучшились ли моби...

Очереди на очереди: Magento 2 + RabbitMQ Привет! Меня зовут Павел и я Magento 2 бэкенд-разработчик. Когда-то давно, когда я только начинал знакомство с Magento 2 (для краткости буду называть ее M2), мне понадобилось автоматизировать обработку однотипных событий при разработке одного решения. Тогда я удивился, наско...

3.Elastic stack: анализ security логов. Дашборды В прошлых статьях мы немного ознакомились со стеком elk и настройкой конфигурационного файла Logstash для парсера логов, в данной статье перейдем к самому важному с точки зрения аналитики, то что вы хотите увидеть от системы и ради чего все создавалось — это графики и табл...

Взлом с помощью Юникода (на примере GitHub) Юникод исключительно сложен. Мало кто знает все хитрости: от невидимых символов и контрольных знаков до суррогатных пар и комбинированных эмодзи (когда при сложении двух знаков получается третий). Стандарт включает 216 кодовых позиций в 17-ти плоскостях. По сути, изучение Юн...

Переход на IPv6 может занять еще десять лет Такую точку зрения высказал представитель интернет-регистратора RIPE NCC Марко Хохевонинг (Marco Hogewoning). Однако некоторые члены ИТ-сообщества посчитали такой прогноз излишне оптимистичным. Обсуждаем мнения экспертов и рассказываем, как идет внедрение IPv6. Читать даль...

Контейнер LXC для веб-разработки как альтернатива Docker Разговоров о Docker очень много, а вот про LXC гораздо меньше шума. А ведь у LXC есть свои области применения, где он может оказаться удобнее.Изначально мы применили LXC для контейнеризации нашего массивного веб-приложения с длинной историей разработки с 2006 года. И с этой ...

Мы не рабы, рабы не мы «Мы не рабы́, рабы не мы» — это фраза из первой советской азбуки «Долой неграмотность: Букварь для взрослых» от 1919 года. Данная книга стимулировала миллионы людей в нашей стране менять свой быт, сознание и даже политический строй. Прошло сто лет. И кажется на какой-то ра...

Древности: ZX Spectrum и древний игрожур Короткая, но яркая эпоха ZX Spectrum в моей жизни началась в 1993 году и закончилась в 1995-м, с появлением дома IBM PC. Самособранный АТМ Турбо со временем обзавелся звуковой микросхемой, двумя пятидюймовыми приводами для дискет, шикарной герконовой клавиатурой и корпусом о...

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

[Из песочницы] Кроссплатформенный многопоточный TCP/IP сервер на C++ Как-то раз встала задача по написанию простого и быстрого многопоточного TCP/IP сервера на C++ и при этом, чтобы работал из под Windows и Linux без требования как-либо изменять код за пределами класса самого сервера. Ранее, на чистом C++ без библиотек вроде Qt, Tcp-сервер не...

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

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

Новые 4K телевизоры Sony стоимостью от $ 700 Компания Sony представила новые телевизоры начального уровня X800H и среднего класса X950H, которые заменят прошлогодние экраны X800G и X950G. Линейка Sony X800H, доступна в шести размерах от 43 до 85 дюймов, в которой используется процессор X1. Телевизоры поддерживают...

Завершен первый этап проекта по разработке «цифрового двойника» двигателя ТВ7-117СТ-01 Высокотехнологичный проект выполнен специалистами Центра компетенций НТИ СПбПУ "Новые производственные технологии" по заказу компании "ОДК-Климов" Объединенной двигателестроительной корпорации Госкорпорации Ростех. В ходе проекта решены задачи организацио...

Должна ли карточка товаров быть уникальной?   Вопрос пользователя: Какой контент писать товарам, если они отличаются только цветом/оттенком/объемом? Наш ответ: Если товарные карточки открыты к индексации, то в идеале все их описания должны быть уникальным (подробное руководство тут) Но это в идеале. В реальности...

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

Quartet 9: Allegro | TypeScript Когда создавалась библиотека для валидации данных quartet были поставленны следующие цели-ориентиры: TypeScript Краткость и простота Производительность В этой статье я хотел бы рассмотреть ориентированность quartet на TypeScript. Читать дальше →

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

И целого байта мало… (Часть #1) Дамы, господа, сегодня отличный день! Скорее всего вы помните, что существует такая форма компьютерного искусства как «демосцена», но если слышите это слово впервые — просто прочитайте тематический хаб и теги на Хабре, а так же пару популярных статей по этому вопросу. Од...

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

Возможности ClickHouse для продвинутых разработчиков. Алексей Миловидов (2018г) В докладе планируется рассмотреть малоизвестные или недостаточно хорошо освещённые в документации возможности ClickHouse: инкрементальная агрегация и манипуляции с состояниями агрегатных функций, межкластерное копирование, выполнение запросов без использования сервера и т.п...

[Из песочницы] Программист-фанатик. Конспект часть 1. Почему нужно быть худшим и не слушать советы родителей Дошли руки до книги Чеда Фаулера «Программист-фанатик». Я решил написать конспект книги, отжав из нее всю воду, а воды было предостаточно. Конспект позволит тем, кто не читал книгу ранее, познакомиться с идеями изложенными в ней. Читать дальше →

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

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

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

[Перевод] BERT, ELMO и Ко в картинках (как в NLP пришло трансферное обучение) 2018 год стал переломной точкой для развития моделей машинного обучения, направленных на решение задач обработки текста (или, что более корректно, обработки естественного языка (Natural Language Processing, NLP)). Быстро растет концептуальное понимание того, как представлять...

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

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

Коды step-by-step: читаем / кодируем PDF417 Вы ведь любите коды? Ну или не любите. В любом случае, иногда нужно знать, как правильно ими пользоваться. Можно пойти длинным путём, как это сделал я в прошлый раз, но когда времени нет, проще воспользоваться инструкцией. Итак, давайте разберёмся со всем необходимым для чт...

Рецепты для хворающих SQL-запросов Несколько месяцев назад мы анонсировали explain.tensor.ru — публичный сервис для разбора и визуализации планов запросов к PostgreSQL. За прошедшее время вы уже воспользовались им более 6000 раз, но одна из удобных функций могла остаться незамеченной — это структурные подска...

Ученые впервые сумели исследовать «рулевое колесо» нашего тела под нагрузкой Ученым из Портсмутского университета (Великобритания) впервые удалось применить на людях методику трехмерной визуализации работы сустава при полной нагрузке без вмешательства в организм. Способ неинвазивный и не требует применения никаких датчиков. Предметом исследования ста...

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

В KonoSuba: Fantastic Days могли добавить откровенные наряды для тян На смартфоны залетел типичный представитель аниме-гач, KonoSuba: Fantastic Days. Мы должны собирать редких персонажей и смотреть сюжетные кат-сцены. В описании указано, что мы можем встретить нагих персонажей. Давайте разбираться. KonoSuba: Fantastic Days — мобильная игра с...

Нейросеть GPT-3 вела мотивационный блог на английском и всем понравилось. Чем это грозит копирайтерам и писателям Компания OpenAI, которую несколько лет назад основал Илон Маск, в июне выпустила новый алгоритм нейросети GPT-3. На сегодня это самая совершенная система, которая умеет работать с естественными языками. Ее возможности просто колоссальны. С помощью GPT-3 можно создавать л...

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

MASK-RCNN для поиска крыш по снимкам с беспилотников В белом-белом городе на белой-белой улице стояли белые-белые дома… А как быстро вы можете найти все крыши домов на этой фотографии? Все чаще можно слышать про планы правительства провести полную инвентаризацию объектов недвижимости с целью уточнения кадастровых данных. Для...

[Перевод] Сравнение React Native и Flutter с точки зрения их применения в реальных проектах Чем React Native отличается от Flutter, за исключением того, что речь идёт о разных фреймворках, в основу которых положены разные технологии? На что ориентироваться тому, кто не знаком с этими инструментами для разработки кросс-платформенных приложений, но хочет выбрать один...

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

Java-дайджест за 10 марта Есть такая штука, Milkman — это альтернатива Postman, расширяемый воркбенч для работы с запросами и ответами с интерфейсом на JavaFx и с идеей «всё есть плагин». Несмотря на плагинную архитектуру, эта штука почти не использует reflection, и поэтому стало возможно пересобр...

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

Разбираемся в VPN протоколах В последние месяцы армия пользователей VPN значительно увеличилась. И речь не о любителях обходить блокировки и посещать запрещенные сайты, а о тех, кто использует VPN для безопасной работы (да-да, удаленной работы). Это повод еще раз посмотреть на арсенал доступных протокол...

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

Тесты Exynos 2100 и Snapdragon 888 Exynos 2100 был выпущен как усовершенствование по сравнению с Exynos 990 и призван превзойти Exynos 990. Snapdragon 888 с улучшенной энергоэффективностью по сравнению с предыдущей моделью. Однако процессор не соответствует возможностям Snapdragon 888. В сети опубликовали це...

Котики и Scrum Введение Так вышло, что с темой agile и scrum меня связывают долгие и нежные чувства. Все началось ещё в студенчестве: стартапы при полном отсутствии опыта, но с горящими глазами, преакселерационная программа ФРИИ, крутые конференции со спикерами-небожителями. Как часто быв...

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

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

[Из песочницы] BPF для самых маленьких, часть нулевая: classic BPF Berkeley Packet Filters (BPF) — это технология ядра Linux, которая не сходит с первых полос англоязычных технических изданий вот уже несколько лет подряд. Конференции забиты докладами про использование и разработку BPF. David Miller, мантейнер сетевой подсистемы Linux, назыв...

[Перевод] Перенос Quake 3 на Rust Наша команда Immunant любит Rust и активно работает над C2Rust — фреймворком миграции, берущим на себя всю рутину миграции на Rust. Мы стремимся автоматически вносить в преобразованный код на Rust улучшения безопасности и помогать программисту делать это самому, когда не сп...

Чистая архитектура с Go Меня зовут Эдгар (ZergsLaw), я работаю в компании, которая занимается  финтех-разработкой для b2b и b2c. Когда только устроился в компанию, то попал в команду большого финтех-проекта и получил «в нагрузку» небольшой микросервис. Мне поручили его изучить и подготовить план ре...

Евгений Варавва, разработчик в Google. Как описать Google в 5 словах Можно ли описать Goggle в нескольких словах? Компанию, в которой сотни подразделений, порой настолько экспериментальных, что вплотную приближаются к научной фантастике. Компанию, в которой работают сотни тысяч человек по всему миру. Наверное, Google — для каждого своей. Для...

Почувствуй себя шпионом. Лучшие Android-приложения для скрытой съемки Находим нестандартное применение смартфону Буквально вчера вышел трейлер юбилейного 25-го фильма о Джеймсе Бонде под названием «Не время умирать». У знаменитого спецагента имеется, как известно, множество различных профессиональных гаджетов. Но немного почувствоват...

Структуры данных: список, который умеет всё* * Под всё имеется в виду относительно быстрое выполнение операций над единичным элементом массива. Структур данных, которые реализуют список полно. У всех есть свои достоинства и недостатки. Например в мире Java — в зависимости от необходимых операций — можно использовать: ...

Обзор и тестирование материнской платы ASRock Z490 Taichi С появлением платформы LGA 1200 производители системных плат представили новинки на чипсете Intel Z490. И если какие-то фишки не предлагает сама платформа – все карты в руки производителям, которые делают все, чтобы новые модели были современными и востребованными… Мы изучим...

Можно ли писать скрипты на C++? Недавно пришлось мне опять/снова погрузиться в чудесный мир программирования Linux скриптов. В принципе, дело не очень хитрое, но поскольку мне попадаются такие задачи не часто, то каждый раз изучаю заново. Знаю точно, что завтра многое забуду и через месяц опять буду гугл...

Раковые клетки помогли решить проблему отторжения пересаженных органов Многие возникающие перед учеными задачи уже успешно решены самой природой – нужно лишь не стесняться учиться у ее творений. Одним из таких учителей выступил злейший враг человека – раковые клетки. Ученые из Университета Питсбурга (США) изучили, как клетки рака «взламывают» и...

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

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

Биологические проблемы багфикса Как чинить баги, если вы — органический продакшн с аптаймом в десятки лет, когда нельзя сделать ни ребут, ни замену внутренних модулей? Почему переиспользование кода — это логично, но печально? Отчего нельзя выключить какой-нибудь белок и стать неуязвимым к ВИЧ или SARS-CoV...

Реактивное программирование на Java: как, зачем и стоит ли? Часть I Идея реактивного программирования появилась сравнительно недавно, лет 10 назад. Что вызвало популярность этого относительно нового подхода и почему сейчас он в тренде, рассказал на конференции РИТ++ 2020 эксперт и тренер Luxoft Training Владимир Сонькин. В режиме мастер...

Китай испытал ракету для удара по США С китайской подлодки атомного ракетного базирования класса Jin запустили баллистическую ракету, способную достать до любой точки на территории США. Испытания прошли в минувшее воскресенье.

Huawei запатентовала 8-дюймовый планшет с парой динамиков Компания Huawei зарегистрировала патент с описанием нового планшета еще в прошлом году, но данные о нем стали доступны только сейчас.Запатентованное устройство, вероятно, будет относиться к серии Huawei MatePad. Планшет получит 8-дюймовый экран и компактные габариты.На его н...

[Перевод] Знакомимся с Web Animations API Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Charlie Gerard «Exploring the Web Animations API». Знакомимся с Web Animations API Веб API постоянно эволюционируют. Некоторые из них, такие как Console или Canvas, хорошо поддерживаются всеми брау...

[Перевод] Как прошел 2019 год в области математики и Computer Science Перевод статьи подготовлен специально для студентов базового и продвинутого курсов «Математика для Data Science». Математики и информатики за прошедший год добились больших успехов в теории чисел, теории графов, машинном обучении и квантовых вычислениях, даже пересмотрел...

Как заменить target-action и delegate замыканиями Apple предоставляет различные варианты обработки данных и событий в iOS приложениях. Обработка событий UIControl происходит через паттерн target-action. В документации к UIControl написано следующее: The target-action mechanism simplifies the code that you write to use contr...

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

Все, что вы хотели узнать об LDPC кодах, но стеснялись спросить (наверное) Предисловие С кодами малой плотности проверок на чётность, которые дальше мы будем именовать коротко LDPC (Low-density parity-check codes), мне удалось познакомиться более или менее близко, работая над семестровым научным проектом в ТУ Ильменау (магистерская программа CSP)....

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

[Перевод] Чему я научился за 10 лет на Stack Overflow Близится десятая годовщина моего присутствия на Stack Overflow. За эти годы мой подход к использованию сайта и его восприятие сильно изменилось, и я хочу поделиться с вами своим опытом. И пишу я об этом с точки зрения среднестатистического пользователя, который не сильно во...

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

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

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

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

Шесть рецептов для начинающего тимлида: как всё успевать и развивать команду Привет! Меня зовут Дмитрий Ли, я тимлид одной из команд разработки бэкенда в Badoo. Когда я впервые стал тимлидом, я стал активно посещать конференции и читать умные книги об управлении командой. Однако в моей работе после этого менялось немногое. Я читал о том, каким я д...

LG представляет первый лазерный проектор LG Ultra Short Throw (UST) 4K UHD CineBeam Laser Утонченный и компактный дизайн HU85LS с применением премиального материала отделки от Kvadrat, выбираемого мировыми брендами класса люкс, органично впишется в интерьер вашего дома. Также это создает кинематографическую атмосферу с мощными встроенными динамиками.

Карты AMD Radeon RX серии 5600 будут предложены в вариантах с 6 и 8 ГБ памяти Как известно, компания AMD готовит к выпуску серию 3D-карт Radeon RX 5600. Окончательно технические характеристики входящих в нее моделей RX 5600 и RX 5600 XT станут известны после анонса, но уже сейчас есть достоверная информация о том, сколько памяти будет у вышеназва...

Бесплатный онлайн мастер-класс по ораторскому искусству На мастер-классе по ораторскому искусству Александр Эпштейн расскажет о методах постановки голоса и правилах подготовки к публичным выступлениям, о речевых манипуляциях и навыках ведения дискуссии. Вы обсудите волнующие вас вопросы и&n...

Rinel производитель лингафонных кабинетов Лингафонный кабинет– это специальная аудитория, которая оборудована звуковыми техническими и проекционными приспособлениями. Посредством аудио и видео методов организовывается плодотворная работа учеников или студентов, в основном для изучения родного или иностранного языка....

Избавляемся от рутины со своим плагином для PhpStorm Привет, Хабр! Я тружусь в команде Антиспама, и, как и у большинства бэкенд-разработчиков Badoo, большая часть времени у меня уходит на работу с PHP-кодом. С этой работой связано много специфических проблем и задач, которые можно решить или упростить. Когда мне надоело вруч...

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

Делюсь небольшим, но полезным плагином: Deeplink Helper для Android Studio DRY. Don’t Repeat Yourself. Принцип, призывающий разработчика не дублировать код. DRY часто можно распространить шире, не только на код. Сегодня расскажу о личном проекте, который уже помог мне и другим разработчикам избавиться от последовательности рутинных действий при раз...

[Из песочницы] Способы реализации API-сервера на Golang с автогенерацией кода и документации Я бы хотел в этой статье рассказать вам о том как можно быстро и просто сделать веб сервер на языке Golang с документацией к нему. И о том какие есть подходы и инструменты для их реализации Сегодня мы разберем эти готовые инструменты: swagger-api/swagger-codegen go-swagger/...

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

Как я поверил Илону Маску. И когда мы снова будем на Луне Антон Первушин, писатель и журналист, невероятный скептик и прагматик, давний исследователь истории освоения космоса, недавно удивил меня заявлением: «А я поверил в Илона Маска». Хотя раньше соглашался с тем, что этот американский персонаж книг О.Генри исключительно генериру...

Cassandra. Как не умереть, если знаешь только Oracle Привет, Хабр. Меня зовут Миша Бутримов, я хотел бы хотел немного рассказать про Cassandra. Мой рассказ будет полезен тем, кто никогда не сталкивался с NoSQL-базами, — у нее есть очень много особенностей реализации и подводных камней, про которые нужно знать. И если кроме Or...

Samsung Galaxy Z Flip будет представлен в четырех цветах По информации издания Sammobile, смартфон Samsung Galaxy Z Flip будет представлен 14 февраля в четырех цветах: черный, золотой, фиолетовый и серебристый.В отчете также говорится, что серебряный вариант будет иметь «футбольный» рисунок. Все четыре варианта будут д...

Самое интересное в PHP 8 PHP 7.4 только-только объявлена stable, а нам уже подавай еще больше усовершенствований. И лучше всех о том, что ждет PHP, может рассказать Дмитрий Стогов — один из ведущих разработчиков Open Source PHP и, наверное, старейший активный контрибьютор. Все доклады Дмитрия тольк...

Межсетевой прокси: Доступ в Интернет, Tor, I2P и другие сети через Yggdrasil Путешествуя по обычному интернету мы не задумываемся над доменными зонами: ru, com, org и так далее, потому что все они открываются одинаково. Однако, настроив браузер для открытия сайта в сети I2P, вы не откроете onion-домен из сети Tor. Для этого нужно будет сменить настро...

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

Платформа Lattice Nexus стала основой FPGA CrossLink-NX Компания Lattice Semiconductor объявила о выпуске первой программируемой пользователем вентильной матрицы (FPGA), разработанной на новой платформе Lattice Nexus. К достоинствам FPGA CrossLink-NX отнесено низкое энергопотребление, малый форм-фактор, высокая надежность и ...

[Из песочницы] 10 строк кода, которые уменьшат боль от вашего проекта на Vue … или знакомство с плагинами Vue JS на примере интегрированной шины событий Пара слов о… Всем привет! Сразу оговорюсь. Я очень люблю VueJS, активно пишу на нем уже больше 2-х лет и не считаю, что разработка на нем может причинить боль хоть в какой-то значимой степени :) С д...

Разница между ОМС, ДМС и наличными в стоматологии Из каждой своей зарплаты вы отчисляете 5,1% на ОМС. Это довольно много. Если у вас зарплата в 100 000 рублей, то каждый год вы отчисляете 61 200 рублей. На этом моменте все начинают нервничать, понимая, что полис ДМС с куда более качественным лечением обойдётся как...

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

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

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

Готовый шаблон для тестирования с использованием Spring Представляю вам — готовый шаблон для тестирования с использованием Spring. Введение Цель этой статьи показать, что писать автотесты со Spring проще нежели на чистой Java. Так же хочу продемонстрировать, насколько Java + Spring упрощает жизнь тестировщикам. Для кого эта ...

Фреймворконезависимый фронтенд GoF, Чистая архитектура, Совершенный код — настольные книги «true программиста». Но в мире фронтенда многие идеи из этих книг недоступны. По крайней мере сходство с реальным миром найти очень сложно. Может быть современный фронтенд опережает время? Может быть «функциональное...

Проброс USB-портов из Windows 10 для удалённой работы Когда человек много лет рыл бункер и запасал там продукты, он должен испытывать глубокое моральное удовлетворение, если бункер понадобился. Он будет довольный заявлять: «А я говори-и-и-ил!» То же касается и того, кто делал запасы продуктов в кладовой, когда все закупались в ...

Быстрее, чем C++; медленнее, чем PHP Привет, Хабр. У меня тут случайно код на хаскеле получился быстрее аналогичного кода на C++. Иногда — на 40%. (время работы, меньше — лучше, C++ снизу) Что самое смешное — я собирал хаскель-код через LLVM-бекенд, но при этом сравнивал с GCC. Если сравнивать с clang (что вро...

Как выбирать музыку для видеоролика: 8 советов и блиц-обзор Photo by Blaz Erzetic on Unsplash Делимся опытом и рассказываем, по каким критериям мы выбираем музыку для роликов и что нужно делать, чтобы аудио- и видеоряд хорошо сочетались. Когда мы делаем промо-ролики об играх и софте, приблизительно в 29 случаях из 30 мы покупаем м...

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

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

Некомпетентные в данных сотрудники тянут бизнес ко дну По данным Accenture и Qlik, только 25% опрошенных сотрудников готовы эффективно использовать данные в работе. Только 21% уверен в навыках грамотности в области использования данных: в способности читать, понимать, задавать вопросы и работать с данными. 37% сотрудников доверя...

Web Sip клиент на основе JsSIP + FreePBX У FreePBX есть Web Sip клиент. Мне было интересно как он работает. Начав изучать технологию WebRTC я наткнулся на 3 библиотеки — это JsSIP, его fork SIP.js, а также sipml5. JsSIP и SIP.js не удалось запустить с первого раза, не хватало опыта. А вот sipml5 оказался самым про...

Саморазвитие: как я не усидел на двух стульях и нашел третий Всем привет! Я руковожу командой антиспама в Mail.ru Group, а также несколькими группами по машинному обучению. Тема этой статьи — саморазвитие для тимлидов/руководителей, но на самом деле многие техники и рецепты совершенно не зависят от роли. Для меня этот вопрос очень а...

ITIL 4: Текущее состояние дел Практики (ITIL 4 practice guides) Книги (ITIL 4 guides) Экзамены Тренинги 14 ноября опубликованы описания практик (ITIL 4 management practices). Пока пятнадцать из тридцати четырёх. Всего шестнадцать документов, включая «инструкцию по чтению» (Reader’s Manual). Документы д...

Open360: как мы начали с разработки модели премирования и сделали IT-систему для внутреннего HR TL;DR: рассказываю о задаче оценки вклада сотрудника в общий результат и новой open source системе проведения круговой оценки сотрудников, разработанной в нашей компании, на базе метода оценки 360 градусов. Здравствуйте, меня зовут Иван Кудрявцев — я технический директор и ...

[Перевод] Решаем мини-игру про взлом протокола в Cyberpunk 2077 за 50 строк на Python Если вы хотя бы отдалённо интересуетесь играми и не прожили последнюю пару лет в тайге, то, вероятно, слышали что-нибудь о Cyberpunk 2077. После долгого ожидания она наконец вышла! И в ней есть мини-игра про взлом! И чем больше получишь в ней очков, тем ценнее приз! Может л...

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

Создана первая в истории карта поверхности пульсара Нейтронные звезды — самые плотные объекты во Вселенной Недавно ученые составили подробную карту луны Сатурна Титана. Благодаря современным технологиям и роботизированным аппаратам, которые мы отправляем в космос начиная с 1970-х годов прошлого века, далекие миры перест...

Анализ возможности блокировки приложения для удаленного управления компьютером по сети, на примере AnyDesk Когда в один прекрасный день начальник поднимает вопрос: «Почему у некоторых есть удаленный доступ к раб.компьютеру, без получения дополнительных разрешений на использование?», возникает задача «прикрыть» лазейку. Читать дальше →

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

[Из песочницы] Простая модель эпидемии базовыми инструментами Python “Почему бы не разжечь эпидемию” — эта мысль пришла внезапно. Работа из дома при правильной организации может оказаться эффективнее офисной, в результате появляется честное дополнительное время на “подумать” над чем-нибудь еще. Началось все, конечно, из построения ежедневной ...

Как проходит собеседование Python-разработчика: вопросы для джуниоров и мидлов Собеседование — одна из наиболее стрессовых тем для разработчиков, но только первые двадцать раз :) Привет! Меня зовут Руслан, я один из наставников курса «Мидл Python-разработчик» в Яндекс.Практикуме. Около 12 лет я занимаюсь разработкой, из них девять — на Python. За это ...

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

Скрытая активация камеры браузерами: Большой Брат или технологический просчёт? Всем привет! Меня зовут Вадим, и я один из технических консультантов и, по совместительству, системный администратор "РосКомСвободы". Но данный пост будет не обо мне. Он будет историей о подозрительной (с точки зрения приватности в контексте мобильных телефонов) ситуации, с...

Экс-сотрудник Apple: компания душит развитие новых технологий Apple то и дело предъявляют разного рода претензии. Пользователи обвиняют компанию в нелояльном отношении и халатности при разработке фирменной продукции, конкуренты – в нарушении патентов, а бывшие сотрудники – либо в невыполнении обязательств, либо в излишней бюрократизац...

Купить Xiaomi Mi Band 4 или подождать выхода Mi Band 5? В 2019 году фитнес-трекер Xiaomi Mi Band 4 не имел конкурентов среди носимых устройств. Объемы продаж зашкаливали, обилие положительных отзывов лишь подстёгивало интерес пользователей к браслету. Новинка неслучайно стала хитом продаж и завоевала репутацию лучшего носимого эл...

Китайские эксперты удаленно взломали Mercedes-Benz E-класса Специалисты Qihoo 360 рассказали о том, как им удалось обнаружить ряд проблем в автомобилях Mercedes-Benz E-класса, которые позволяли удаленно запирать и отпирать двери машин, открывать и закрывать крышу, активировать звуковой сигнал и свет, а в некоторых случаях даже запуск...

Агломеративная кластеризация: алгоритм, быстродействие, код на GitHub Несколько лет назад мне потребовалось очень качественно кластеризовать относительно неплотные графы среднего размера (сотни тысяч объектов, сотни миллионов связей). Тогда оказалось, что алгоритма с подходящим набором свойств просто не существует, несмотря на всё разнообраз...

Будни Scrum-Мастера: трансформация команды и себя Бывало ли с вами такое, что вовремя общения, чтения или изучения чего-то будто осеняет, какая-то из старых или нынешних ситуаций в буквальном смысле предстаёт в новом свете? Со мной это постоянно случается, в этот раз при чтении книги “Азбука системного мышления” Донеллы Мед...

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

Гарри Поттер и Сливочное пиво, или Как переводить авторские неологизмы с английского на маггловский 20 лет назад впервые вышла на русском языке легендарная книга «Гарри Поттер и философский камень». На полки книжных магазинов попала малоизвестная на русскоговорящем рынке история про «мальчика-который-выжил». Джоан Роулинг придумала в своих книгах огромное количество ав...

Под капотом OpenVINO (Intel Neural Stick) Привет, Habr! Сегодня я хочу рассказать немного об аппаратном ускорителе Neural Compute Stick. Расскажу с точки зрения hardware-разработчика. Известно, что OpenVINO взаимодействует с Neural Compute Stick, а сердцем самого стика является чип Movidius Myriad X. Некоторые ...

[Из песочницы] OData + RxJava + Retrofit 2 для android приложения Столкнулся на проекте с проблемой доселе не виданной. Пришлось покурить документацию и в этой статье я расскажу как с помощью RxJava и Retrofit 2 — можно решить задачу по созданию клиента Odata для android приложения. Спасибо огромное Jake Wharton за создание таких комфортн...

Что посмотреть на карантине? Подборка материалов от Технострима (часть 1) Сидение на необъявленном карантине можно провести с пользой, совершенствуя тело и разум. О первом мы, возможно, когда-нибудь поговорим, а пока предлагаем вам пищу для ума: подборку разноплановых интересных материалов в виде двух курсов и двух интервью. Читать дальше →

Эмулятор классического рынка Каждый раз, когда я читаю что-либо об экономике, я постоянно пропускаю момент между “да, конечно, это всё очевидно” и “почему? как вы это получили?”. Обычно это связано с тем, что примеры, которые можно привести из реальной жизни, либо элементарные, либо настолько сложные...

iPhone 9 будет стоить как iPhone SE. Как он выглядит? Это iPhone 8. iPhone SE 2 (iPhone 9) будет очень похож на него Кого ни спроси — все хотели бы, чтобы Apple предложила ценовое решение для iPhone в районе 400 долларов (около 30 000 рублей с учетом НДС). В основном эта инициатива исходит от тех, кто помнит времена, когд...

Тестирование «переплетением» – в 100 раз быстрее АБ теста А/Б тестирование – один из основных инструментов продакт менеджмента, пока еще не придумали более надежного и дешевого способа достоверно оценить влияние одного конкретного изменения на бизнес-метрики продукта, изолировав его от всех остальных факторов. В этой статье я хочу...

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

Превращаем EditText в SearchEditText Пробовали ли Вы когда-нибудь настроить внешний вид или поведение стандартного компонента SearchView? Полагаю, да. В этом случае, я думаю что вы согласитесь, что далеко не все его настройки являются достаточно гибкими, для того, чтобы удовлетворить всем бизнес-требованиям о...

Consul + iptables = :3 В 2010 году у компании Wargaming было 50 серверов и простая сетевая модель: бэкенд, фронтенд и файрвол. Количество серверов росло, модель усложнялась: стейджинги, изолированные VLAN с ACL, потом VPN с VRF, VLAN c ACL на L2, VRF с ACL на L3. Закружилась голова? Дальше будет в...

Мастер-класс «SEO в 2020» 28 января в 15.00 состоится бесплатный мастер-класс «Результативные работы в SEO». Спикер: «Артур Латыпов», (SEO Интеллект); Формат: Онлайн; Тема: Результативные работы в SEO. О чем будет мастер-класс Факторы, влияющие на успешност...

Google Assistant умеет удалять случайно записанные разговоры. Нужно просто попросить Google Assistant может случайно записать то, что вы сказали, но при этом может и удалить Если вы пользуетесь Google Assistant и интересуетесь его развитием, скорее всего, вы знаете, что иногда он может срабатывать, даже если вы его не звали. Это жертва, на которую мы идём в ...

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

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

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

Настройка ПИД-регуляторов: так ли страшен черт, как его малюют? Часть 5. Closed-Loop PID Autotuner Заключающая статья серии, посвященной автоматизированным способам настройки ПИД-регуляторов в среде Simulink, в которой мы рассмотрим применение блока автоматической настройки Closed-Loop PID Autotuner. Читать дальше →

Первые шаги с Fiddler Classic Привет! После знакомства с Charles Proxy большинство из читателей захотело узнать больше про инструменты мониторинга и анализа HTTP/HTTPS трафика. Расскажем про популярный у многих тестировщиков Fiddler. Описать все возможности Fiddler в одной статье вряд ли получится, поэто...

Почему VR разработка вам не подходит Всем привет! Меня зовут Григорий Дядиченко, и я занимаюсь AR/VR. (Слышны хлопки по залу). В AR/VR я уже больше 4 лёт, хотя занимаюсь всё это не только исключительно ими, а самыми различными проектами под заказ всё это время. Я работал в студиях, я долгое время был фрилансеро...

Вы когда-нибудь хотели умные часы Nokia? Такое устройство могут показать уже на MWC 2020 Компания HMD Global весьма успешно вернула бренд Nokia на рынок смартфонов и постепенно продолжает расширять ассортимент устройств. Одной из новинок, которые нам покажут на MWC 2020, могут стать первые умные часы Nokia. Nokia/Withings Steel HR Пока нет точных данных, н...

Java-дайджест за 14 декабря Дело Google vs Oracle будет рассматривать Верховный Суд США. В последний раз. Запасаемся попкорном, русская рулетка начинается. Прочитать суть проблемы можно в оригинальной PDF-ке, в которой Oracle утверждает, что у них скопировали 11500 строк кода из 37 пакетов, тем самым...

Бесполезный REPL. Доклад Яндекса REPL (read-eval-print loop) бесполезен в Python, даже если это волшебный IPython. Сегодня я предложу одно из возможных решений этой проблемы. В первую очередь доклад и мое расширение TheREPL будет полезны тем, кого интересует более быстрая и эффективная разработка, а также т...

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

«Три подруги после 40 решили найти любовь на сайте знакомств» Сериал «Критический возраст» о предательстве и дружбе. Главные героини - Алёна, Марина и Наталья. Девушкам уже за 40, но никто из них так и не смог построить семью. Алена после школы стала учителем литературы. Она вышла замуж, но в результате стала вдовой и была вынуждена в...

Создание Python-обвязки для библиотек, написанных на C/C++, с помощью SIP. Часть 1 Иногда во время работы над проектом на языке Python возникает желание использовать библиотеку, которая написана не на Python, а, например, на C или C++. Причины для этого могут быть разные Во-первых, Python — язык замечательный, но в некоторых ситуациях недостаточно быстрый....

Настройка CI/CD скриптов миграции БД с нуля с использованием GitLab и Liquibase Добрый день, уважаемые читатели. Совсем недавно мне пришлось осваивать новую для себя область CI/CD, настраивая с нуля доставку скриптов миграции базы данных в одном из проектов. При этом было тяжело преодолеть самый первый этап "глаза боятся", когда задача вроде бы ясна, а ...

Работа с асинхронностью в Dart Всем привет! Меня зовут Дмитрий Репин, я Flutter-разработчик в Surf.В этой статье я расскажу о том, как работать с асинхронностью в Dart: всё о самых важных классах библиотеки dart:async с примерами под катом. Поговорим о том, как в однопоточном языке сходить в сеть или базу...

Строим Mesh-систему из разных роутеров ASUS с поддержкой технологий AiMesh и Wi-Fi 6 Появление Mesh-систем сильно облегчило жизнь владельцем больших квартир и частных домов. В таких помещениях чаще всего можно было встретить «мертвые зоны», в которые сигнал одного роутера с большим трудом доставал. И даже если  сеть была, потеря скорости соединения могла быт...

[Перевод] Радужные раскраски — лучшие друзья математиков Недавно радужные раскраски помогли провести новое доказательство. И они уже не в первый раз оказываются полезными. Your browser does not support HTML5 video. Цветовое кодирование латинского квадрата и его графа может многое о них рассказать Недавно мы рассказывали о новом ...

Самые популярные смартфоны 2019 года iPhone XR — самый популярный смартфон 3 квартала 2019 года Исследовательская компания Counterpoint любит периодически делиться с нами различной информацией по доле рынка и продаже тех или иных смартфонов. В этот раз мы рассмотрим самые свежие данные за 3 квартал 2019 г...

А скоро ли в небо? Последние 10 лет происходит бум венчурного инвестирования в сферу аэротакси и прочего летающего транспорта. Большинство аппаратов не похожи ни на вертолет, ни на самолет – конструкторы придумывают свои новые "прорывные" схемы. Все мы ждем, что еще чуть-чуть и кажд...

Про перевод «сфер» Про «сферы» Не знаю, как вас, а меня корёжит, когда «в сфере» переводят на английский in the sphere. В этой статье я как раз поговорю об этих всяких сферах и сразу дам спойлер — слова sphere вы нигде в примерах не увидите. Примерно в половине случаев эта фраза вообще не пере...

10 систем управления. Где удобнее коммуницировать по задачам и обмениваться файлами? Вот уже 7 лет, как я раз и навсегда «переехала» из реальных офисов в виртуальные. Мне гораздо комфортнее работать дома на удалёнке. Под «виртуальным офисом» я подразумеваю системы управления проектами. За годы дистанционной работы с разными компаниями и студиями я перепробов...

Обновление KB5003173 не удается установить с ошибкой 0x800f0922 KB5003173, которая является частью цикла майских вторничных обновлений, как сообщается, вызывает проблемы у некоторых людей, в том числе, кажется, неприятную ошибку совместимости с Microsoft Edge, которая уничтожает сам процесс обновления Windows, что означает, что обновлени...

3. Анализ зловредов с помощью форензики Check Point. SandBlast Mobile Добро пожаловать в третью статью нашего цикла по форезнике от Check Point. На этот раз мы рассмотрим SandBlast Mobile. Мобильные устройства уже давно стали частью нашей жизни. В смартфонах наша работа, наш досуг, развлечения, личные данные. Про это знают и злоумышленники. ...

Разработка приложений и Blue-Green deployment опираясь на методологию The Twelve-Factor App с примерами на php и docker Для начала немного теории. Что такое The Twelve-Factor App? Простыми словами, это документ призванный упростить разработку SaaS приложений, помогает тем что, осведомляет разработчиков и DevOps инженеров о проблемах \ практиках которые чаще всего встречались в разработке со...

YouTrack 2019.3: обновленный список задач и многое другое Меня зовут Лена, и я принесла вам YouTrack. Вы наверняка слышали про этот сервис трекинга задач от JetBrains, а если нет — время познакомиться! Мы выпустили новую версию и вот что происходит: появились новые функции и улучшения практически для всех сценариев использования Yo...

Книга «Head First. Изучаем Go» Привет. Хаброжители! Go упрощает построение простых, надежных и эффективных программ. А эта книга сделает его доступным для обычных программистов. Основная задача Go — эффективная работа с сетевыми коммуникациями и многопроцессорной обработкой, но код на этом языке пишется ...

Navicon поможет удаленными сотрудникам адаптироваться к сложным бизнес-приложениям Digital Adoption Platform WalkMe - это решение, которое создает эффективную среду взаимодействия между сотрудниками и бизнес-приложениями предприятия. Востребованность решения стремительно возросла в феврале-марте текущего года, когда многие организации оказались вынуждены п...

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

HorizontalList с помощью SwiftUI Вступление SwiftUI — это современный UI framework, который позволяет разработчикам быстро и легко создавать собственные приложения на всех платформах Apple. Используя простой, понятный декларативный стиль, разработчики могут создавать потрясающие пользовательские интерфейсы ...

Пробуем Magic Trackpad 2 на Windows 10 Продав свой старый Mac 2009 года из-за слабого железа и нагрева, я решил попробовать получить из своей текущей не Apple техники то же качество, что и в случае, если бы я приобрел ноутбук или ПК от Apple. Но как этого добиться? Во-первых, можно попробовать установить Hackint...

Фото Asus Zenfone 7 с камерой-перевертышем Asus Zenfone позирует на «живых» снимках. Поворотная камера подтверждена   26 августа привилегированный класс флагманов пополнится очередными новинками — Asus Zenfone 7 и Zenfone 7 Pro. Но это не просто «очередные» топовые устройства. У них...

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

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