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

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

[Перевод] Vue.js для начинающих, урок 2: привязка атрибутов Вот перевод второго урока учебного курса по Vue.js. Здесь речь пойдёт о привязке атрибутов, о подключении данных, хранящихся в экземпляре Vue, к атрибутам HTML-элементов. → Первый урок Читать дальше →

[Из песочницы] 6 самых распространённых ошибок разработчиков при написании HTML и CSS Привет, Хабр! Представляю вашему вниманию перевод статьи «The 6 most common mistakes developers when writing HTML and CSS» автора Stas Melnikov. Использование атрибута placeholder вместо элемента label Часто разработчики используют атрибут placeholder вместо элемента label....

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

Генерация URL с параметрами на коленке и best practice Как-то я увидел в проекте соседней команды код, который генерировал строку с URL-параметрами для последующей вставки в iframe src-атрибут. Эта статья может показаться лишней, очевидной или слишком простой, но раз такое встречается в живой природе, об этом не стоит молчать, а...

Быстрый ENUM tl;dr github.com/QratorLabs/fastenum pip install fast-enum Зачем нужно перечисление (enum) (если вы все знаете — опуститесь до секции «Перечисления в стандартной библиотеке») Представьте, что вам нужно описать набор всех возможных состояний сущностей в собственной модели ба...

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

Введение в язык запросов Cypher Язык запросов Cypher изначально разработан специально для графовой СУБД Neo4j. Целью Cypher является предоставить человеко-читаемый язык запросов к графовым базам данных похожий на SQL. На сегодня Cypher поддерживается несколькими графовыми СУБД. Для стандартизации Cypher бы...

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

Google рекомендует при синдикации контента использовать rel=canonical Команда Google Webmasters заявила в Twitter, что наилучший подход при синдикации контента - использование партнёрами атрибута rel=canonical. Это нужно, чтобы поисковик знал, где находится источник статьи.При этом в Google отметили, что данный подход помогает, но не гарантиру...

Еще один [почти] неудаляемый троянец под Android В конце прошлого года с помощью функции обнаружения изменений в системной области у некоторых наших пользователей было зафиксировано изменение системного файла /system/lib/libc.so. Это одна из главных библиотек операционных систем на базе Linux, которая отвечает за системные...

[Перевод] Напишем и поймем Decision Tree на Python с нуля! Часть 3. Библиотека для анализа данных Pandas Привет, Хабр! Представляю вашему вниманию перевод статьи "Pythonで0からディシジョンツリーを作って理解する (3. データ分析ライブラリPandas編)". Это третья статья из серии. Ссылки на предыдущие статьи: первая, вторая В данной статье я объясню, как работать с библиотекой Pandas, чтобы создавать De...

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

Создание графики для nes/dendy Предыдущие мои статьи рассказывают о том как начать программировать под денди на ассемблере. Мы научились отрисовывать спрайты и background, так же мельком обсудили что такое таблица атрибутов и таблица имен, так же мы разобрались как прочитать контроллер. В тех статьях Я ис...

Про ссылочные атрибуты nofollow, sponsored и ugc

[Перевод] Пришло время ленивой загрузки закадровых <iframe> Нативная отложенная загрузка для изображений была добавлена в Chrome 76 через атрибут loading, а затем пришла и в Firefox. Мы рады сообщить, что встроенная отложенная загрузка для iframe теперь стандартизирована и также поддерживается в браузерах на основе Chrome и Chromiu...

Генерация типизированных ссылок на элементы управления Avalonia с атрибутом x:Name с помощью C# SourceGenerator В апреле 2020-го года разработчиками платформы .NET 5 был анонсирован новый способ генерации исходного кода на языке программирования C# — с помощью реализации интерфейса ISourceGenerator. Данный способ позволяет разработчикам анализировать пользовательский код и создавать...

PHP-Дайджест № 179 (21 апреля – 4 мая 2020) Свежая подборка со ссылками на новости и материалы. В выпуске: 4 принятых RFC предложения для PHP 8, включая атрибуты (аннотации / декораторы), порция полезных инструментов, онлайн-конференции и митапы, видео, подкасты и многое другое. Приятного чтения! Читать дальше &rarr...

Google ответил на вопросы об изменениях в обработке nofollow с 1 марта 1 марта Google должен был изменить свой подход к обработке ссылочного атрибута nofollow при сканировании и индексировании. Предполагалось, что начиная с этой даты он будет обрабатываться как подсказка. Однако в компании так чётко и не ответили, изменилось ли что-либо после 1...

Джон Мюллер: ссылки в PDF-файлах не передают никаких сигналов Во время последней видеовстречи для вебмастеров сотрудник Google Джон Мюллер заявил, что ссылки в PDF-файлах обрабатываются так же, как ссылки, закрытые атрибутом nofollow, и не передают никаких сигналов. «Касательно SEO. Поскольку в PDF-файлах нет способа узнать, что с...

Как научить iPhone распознавать пользователя в маске Полезный лайфхак во время карантина. Защитные маски стали одним из обязательных атрибутов во время пандемии […]

Гэри Илш заявил, что Google может отказаться от nofollow в будущем Сотрудник Google Гэри Илш выступил с докладом на конференции Pubcon в Остине, где рассказал подробнее о последних нововведениях в поиске и ответил на вопросы вебмастеров. Nofollow и новые ссылочные атрибуты В ходе своего выступления Илш заявил, что в будущем Google может пол...

[Перевод] Vue.js для начинающих, урок 3: условный рендеринг Продолжаем наш учебный курс по Vue, которые порекомендовала Наталья Теплухина, Staff Engineer в Gitlab и Core Team Member фреймворка Vue (Q/A сессия с Наташей прошла в нашем инстаграм, а расшифровку можно прочитать здесь) На третьем уроке речь пойдёт об условном рендеринге....

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

[Перевод] Способы использования Math.random() в JavaScript Math.random() — это один из API JavaScript. Это — функция, которая возвращает случайные числа. Диапазон возвращаемых чисел представлен значениями от 0 (включая 0, то есть, она может вернуть 0) до 1 (не включая 1, то есть — единицу она вернуть не может). Math.random(); // во...

Технические особенности онлайн-выступления: Starter Pack Недавно руководитель Роспотребнадзора назвала ограничение, которое будет отменено последним, — это будет отмена запрета на массовые мероприятия. Онлайн с нами надолго! Значит, начнём готовиться и поговорим сегодня о техническом обеспечении онлайн-выступления. На наших конфе...

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

Sealed classes. Semantics vs performance Наверное, не я один после прочтения документации о sealed классах подумал: «Ладно. Может быть это когда-нибудь пригодится». Позже, когда в работе я встретил пару задач, где удалось успешно применить этот инструмент, я подумал: «Недурно. Стоит чаще задумываться о применении»....

Darksiders Genesis: половина Апокалипсиса Если The Pit: Infinity – это пример того, как не стоит переносить проект в новый формат, то Darksiders Genesis, спин-офф серии Darksiders — образец того, как правильно сменить жанр, не лишив игру узнаваемых атрибутов серии и не пожертвовав при этом играбельностью. Мало...

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

[Из песочницы] Различные способы передачи данных в компоненты Angular Привет, Хабр! Представляю вашему вниманию перевод статьи «Different Ways to Pass Inputs to a Component in Angular» автора Netanel Basal. В этой статье, мы разберём три разных способа передачи данных в компонент. В следующем примере мы будем использовать select как главный...

[Перевод] Аппаратный взлом жёсткого диска Жёсткие диски: если вы читаете эту статью, то с большой вероятностью у вас есть одно или несколько таких устройств. Они довольно просты и, по сути, представляют собой набор 512-байтных секторов, пронумерованных возрастающими адресами, также называемыми LBA (Logical Block Ad...

Исключения C++ через призму компиляторных оптимизаций На дворе 21-й век, непроизводительная реализация обработки C++ исключений на основе setjmp/longjmp уже в прошлом. Современные компиляторы, такие как gcc и clang, используют продвинутую реализацию C++ исключений, называемую zero-cost exception handling. Но насколько действи...

Google готовит новые рекомендации по пагинации Google готовит новые рекомендации и справочные документы касательно пагинации. Они призваны разъяснить, что нужно делать вебмастерам сейчас, когда rel=next/priv больше не поддерживается. Новостью поделился в Twitter один из участников Google Webmaster Conference в Тель-Авиве...

[Из песочницы] PostgeSQL: Разработка расширений (функций) на языке С Эту статью написал еще пару лет назад, и не знал куда ее можно было бы выложить, а потом и забыл. Смысл использования языка С при разработке расширений для PostgreSQL по сравнению с интерпретируемыми (скриптовыми) языками можно свести к двум положениям: производительность и...

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

[Из песочницы] Компилятор Befunge на Python В процессе подготовки к курсу «Основы компиляторов» для студентов 4-го курса я изучал различные эзотерические языки программирования. Вот хорошая статья на эту тему. В статье самым интересным мне показался язык Befunge (Крис Пресс, 1993 год), особо отмечу три его особенности...

#Назаметку. Осторожно, атомарные операции в ConcurrentHashMap В Java с незапямятных времён есть замечательный интерфейс Map и его имплементации, в частности, HashMap. А начиная с Java 5 есть ещё и ConcurrentHashMap. Рассмотрим эти две реализации, их эволюцию и то, к чему эта эволюция может привести невнимательных разработчиков. Warn...

Как добавить изображение и ссылку к подписи E-mail на Mac Подпись к письму – обязательный атрибут человека, который ежедневно использует электронную почту для переписки дома и на работе. Стандартным «С уважением, … » уже никого не удивишь, а именно поэтому в данном материале мы расскажем как разнообразить свою подпись изображением ...

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

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

Обзор беспроводной игровой гарнитуры HyperX Cloud Flight S Хорошая игровая гарнитура — практически незаменимый атрибут для геймера. В отдельных жанрах игр это важный инструмент, позволяющий оценивать обстановку и вычислить расположение соперника. Также наушники лучше помогают погрузиться в игровой процесс, «отсекая» звуки окружения....

МЧС призвало отказаться от ношения масок на улице Медицинская маска стала одним из обязательных атрибутов борьбы с коронавирусом, но не все пользуются ей правильно, а в некоторых ситуациях ношение маски и вовсе бессмысленно. Например, ношение маски на улице раскритиковали российские спасатели. «Маска уместна, если вы находи...

Как описать 100 Gitlab джоб в 100 строк В продолжение предыдущей статьи про инструменты деплоя в Kubernetes, хочу рассказать вам про то как можно использовать Jsonnet для упрощения описания джоб в вашем .gitlab-ci.yml Дано Есть монорепа, в которой: 10 Dockerfiles 30 описанных деплоев 3 окружения: devel, staging...

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

На Картах Google появились ярлыки «Takeout» и «Delivery» для кафе и ресторанов Англоязычные пользователи заметили, что на Картах Google появились ярлыки «Takeout» (еда на вынос) и «Delivery» (доставка) для кафе и ресторанов. Новые ярлыки отображаются под названием заведения: В каких ещё странах, помимо США, запущено это обновление, пока непонятно. Goog...

Системная плата ASRock X570D4I-2T типоразмера mini-ITX X570 оснащена двумя портами 10 GbE Компания ASRock представила системную плату типоразмера mini-ITX на чипсете X570, которая оснащена тремя сетевыми портами: двумя 10 GbE и одним 1 GbE. Другим достоинством платы, которая может послужить основой малогабаритного сервера, является наличие четырех слотов дл...

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

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

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

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

[Из песочницы] Knight's life — онлайн Aрена с элементами RPG Всем доброго времени суток! Для тех кто не читал мои предыдущие посты, я разрабатываю мобильную игру. Онлайн арену с элементами РПГ. Основная идея игры состоит в арене и в развитие своих персонажей. Под персонажами имеется ввиду 3 основных класса. Воин. Маг. Разбойник. Нем...

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

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

Дичь дня: дисковой мобильный телефон. ... В современном мире не редки случаи, когда смартфон и его владелец становятся единым организмом. Чем сильнее зависимость человека от мобильного устройства, тем сильнее отвлекающий эффект, оказываемый гаджетом. Но далеко не всем нравится тот факт, что смартфоны фактически &la...

Opium.Fill — цветовая схема глазами программиста Привет. Сегодня покажу вам цветовую схему, которой пользуюсь последние 2 года. Она была придумана, чтобы на проблемном проекте избавиться от огромного количества переменных в CSS. А потом оказалось, что эти принципы можно применить почти к любому проекту. В общем, попробу...

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

[Из песочницы] Интеллект — способность объекта адаптировать свое поведение к окружающей среде с целью своего сохранения (выживания) Аннотация Весь мир только и делает, что говорит об Искусственном Интеллекте, но при этом — вот же парадокс! — определения, собственно, «интеллекта» (даже не искусственного, а вообще) — общепринятого, понятного, логично структурированного и глубокого до сих пор нет! Почему бы...

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

[Перевод] Canary Deployment в Kubernetes #1: Gitlab CI Мы будем использовать Gitlab CI и ручной GitOps для внедрения и использования Canary-деплоя в Kubernetes Статьи из этого цикла: (эта статья) Canary Deployment при помощи ArgoCI Canary Deployment при помощи Istio Canary Deployment при помощи Jenkins-X Istio Flagger Выполн...

Microsoft говорит, что большинство приложений Win32 будут работать на Windows 10X 11 февраля Microsoft поделилась подробностями о Windows 10X для двухэкранных и различных сторонних складных устройств. По слухам, Windows 10X не будет ограничиваться только приложениями из магазина, а операционная система сможет запускать UWP, PWA, веб-приложения и даже прил...

Microsoft действительно не хочет, чтобы вы отключали Защитник Windows Защитник Windows, также известный как Microsoft Defender Antivirus, – это встроенное решение для защиты от вредоносных программ в Windows 10. Он предназначен для защиты вашего компьютера и подключенных устройств от нежелательных атак, вымогателей, вирусов и многих других фор...

Линус Торвальдс остался недоволен рядом моментов в использовании Rust для Linux В прошлом году разработчики ядра Linux предложили использовать Rust для нового встроенного кода. В марте 2021 года эта идея была частично реализована — в состав ветки linux-next, на которой будет базироваться Linux 5.13, включили начальный набор компонентов для разработки д...

[Перевод] Sysbench и распределение случайных величин Перевод статьи подготовлен специально для студентов курса «Базы данных». То, что вы, возможно, не знали о генерации случайных чисел в sysbench Sysbench — это популярный инструмент для тестирования производительности. Первоначально он был написан Петром Зайцевым в начале ...

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

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

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

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

И мышонок, и лягушка. Универсальный Компилятор В серии про надежное программирование [1], [2] остался незаслуженно забытым Swift. Я, честно говоря, просто не считал его кроссплатформенным, а работающим исключительно для macOS/iOS. Тут случайно выяснилось, что Swift также поддерживается такой средой разработки, как Re...

[Из песочницы] Геокодирование. Как привязать 250 тысяч адресов к координатам за 10 минут? Привет, Хабр! В этой статье я хотел бы поделиться опытом решения маленькой проблемы с большим количеством адресов. Если вы когда-либо работали с API геокодирования или пользовались онлайн инструментами, то думаю вы разделяете мою боль ожидания результата в течение несколь...

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

Используем Gradle и Github Actions для публикации Java проекта в Sonatype Maven Central Repository В данной статье я хочу подробно рассмотреть процесс публикации с нуля Java артефакта через Github Actions в Sonatype Maven Central Repository используя сборщик Gradle. Данную статью решил написать ввиду отсутствия нормального туториала в одном месте. Всю информацию приходил...

Древности: Roland MT-32, альтернативный звук для DOS-игр Не во всех играх под DOS есть настройки звука. Например, в Lemmings все просто работает. Или нет. Но там, где настройки все же имеются, они выглядят примерно так: Когда я играл в «Принца Персии» в девяностые, моим единственным выбором была верхняя строчка, по причине отсу...

Общий финансовый анализ на Python (Часть 3) После всех вычислений, приведенных в этой и этой публикациях, можно углубиться в статистический анализ и рассмотреть метод наименьших квадратов. Для этой цели используется библиотека statsmodels, которая позволяет пользователям исследовать данные, оценивать статистические мо...

Позиция win-win: улучшаем пользовательский опыт и делаем онлайн-бизнес счастливее Рынок e-commerce в России растет быстро. По данным Яндекс.Кассы, с 2015 по 2020 год малый и средний бизнес вырос в объеме продаж на 148%, в 2 раза увеличилось количество платежей и стал выше средний чек. Если предприниматель опытный и не вчера вышел с бизнесом в онлайн, то о...

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

Особенности data-driven в нефтехимии При создании любого бизнеса каждое из его подразделений автоматизирует само себя. Как правило сквозные потоки данных между ними единичны. Это приводит к тому, что данные нельзя сопоставить друг с другом, ведь каждый отдел считает их по-своему. Никаких проблем, если собирать ...

Кратко о том, как научить МФУ Brother сканировать в Windows Server Эта даже не статья, а заметка о том, как в среде Microsoft Windows Server использовать сетевые функции сканера МФУ Brother. Речь пойдет о полноценной установке драйвера устройства. Будет рассмотрен пример с Brother MFC-L2700DRN. Официально функция сканирования поддерживает...

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

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

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

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

Заряжаемся быстро с технологией Quick Charge 3+ Известный чипмейкер Qualcomm презентовал новый стандарт быстрой зарядки — Quick Charge 3+. Он помогает заряжать устройства на 35% быстрее по сравнению с предыдущим поколением, новая зарядка поддерживает ток до 3А. Первым смартфоном, получившим поддержку Quick Charge 3+...

Новые шаблоны — IPMI, Mikrotik, MSSQL Статья написана на основе доклада Максима Чудинова, инженера-интегратора Zabbix. В этой статье мы расскажем о некоторых новых шаблонах, добавленных в версию Zabbix 5.0. IPMI Шаблон IPMI работает только с пятой версией системы мониторинга Zabbix, потому что построен на новом...

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

Представлено обновление информационно-аналитической платформы Visiology 2.17 Основные изменения в релизе Visiology 2.17 коснулись экспорта и импорта аналитических панелей и связанных с ними метаданных, что значительно облегчит работу на проектах с несколькими контурами разработки. Российская ИТ-компания Visiology выпустила обновленную версию однои...

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

[Перевод] Про SSH Agent Введение SSH-agent является частью OpenSSH. В этом посте я объясню, что такое агент, как его использовать и как он работает, чтобы сохранить ваши ключи в безопасности. Я также опишу переадресацию агента и то, как она работает. Я помогу вам снизить риск при использовании пере...

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

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

Новый тест в обновленном 3DMark Для владельцев версии Advanced Edition в 3DMark в новом обновлении был добавлен новый тест VRS ( Variable Rate Shading ). Он доступен только для видеокарт Nvidia на базе графических процессоров Turing. В настоящее время есть две игры, которые используют технологию VRS, это "...

Полный набор gRPC, RESTful JSON API и Swagger из одного .proto файла. От введения до нюансов и тонкостей grpc-gateway В этой статье я опишу процесс создания сервера с gRPC и RESTful JSON API одновременно и Swagger документацию к нему. Эта статья — продолжение разбора различных способов реализаций API-сервера на Golang с автогенерацией кода и документации. Там я обещал более подробно остано...

[Перевод] Последние версии компиляторов D Группа разработчиков LDC закрыла ушедший год версией 1.19.0 компилятора D, использующего LLVM, а основная команда начала новый год версией 2.090.0 эталонного компилятора DMD. И если вы еще не слышали, не так давно появились важные новости о D-компиляторе на базе GCC, GDC. На...

WebRTC на Android: как включить аппаратное кодирование на множестве устройств Для видеозвонков в Badoo мы используем стандарт WebRTC и кодек H.264. Если верить документации, этот кодек должен без проблем работать на любых устройствах Android начиная с Android 5.0. Но на практике всё оказалось не совсем так. В этой статье я расскажу про особенности реа...

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

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

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

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

Microsoft опубликовала список известных проблем для Xbox Series X и S Уже завтра, 10 ноября 2020 года, в продажу поступят консоли нового поколения Xbox Series X и Xbox Series S. И в преддверии этого события Microsoft опубликовала список известных проблем, с которыми могут столкнуться обладатели новых консолей. Проблемы будут исправлены с обно...

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

[Перевод] Статический анализ в GCC 10 Я работаю в Red Hat над GCC, GNU Compiler Collection. Для следующего основного релиза GCC, GCC 10, я реализовывал новую опцию -fanalyzer: проход статического анализа для выявления различных проблем во время компиляции, а не во время исполнения. Я думаю, что лучше выявлять ...

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

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

Запись видео UI автотестов, работающих в headless Chrome Всем привет! В данной статье хочется рассказать о том, как была решена задача записи видео автотестов, работающих в headless Chrome (с записью в не headless режиме проблем быть не должно). Будет рассмотрено несколько разных подходов, рассказано про трудности и пути их реше...

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

DataMatrix или как правильно маркировать обувь С 1 июля 2019 года в России введена обязательная маркировка группы товаров. С 1 марта 2020 года под этот закон должна была попасть обувь. Не все успели подготовиться, и в результате запуск перенесли на 1 июля. Lamoda среди тех, кто успел. Поэтому мы хотим поделиться опытом ...

Redux Toolkit как средство эффективной Redux-разработки В настоящее время разработка львиной доли веб-приложений, основанных на фреймворке React, ведется с использованием библиотеки Redux. Данная библиотека является самой популярной реализацией FLUX-архитектуры и, несмотря на ряд очевидных преимуществ, имеет весьма существенные ...

Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio Авторы: Андрей Карпов, khandeliants Филипп Хандельянц. Хочется поделиться интересной ситуацией, когда вопрос, используемый нами на собеседовании, оказался сложнее, чем задумывал его автор. С языком C++ и компиляторами надо всегда быть начеку. Не заскучаешь. Читать дальше &r...

Вызов кода Go из Dart с использованием cgo и Dart FFI на простом примере Ключевой мотивацией для написания данной статьи является факт сильного недостатка информации (особенно в русскоязычном сообществе) по использованию cgo и Dart FFI для использования Go из языка Dart.Язык Dart, не смотря на свою возрастающую популярность, на данный момент до с...

[Перевод] Сжатие ответов в GRPC для ASP.NET CORE 3.0 Перевод статьи подготовлен в преддверии старта курса «C# ASP.NET Core разработчик». В этом эпизоде моей серии статей о gRPC и ASP.NET Core мы рассмотрим подключение функции сжатия ответов (response compression) служб gRPC. ПРИМЕЧАНИЕ: В этой статье я рассказываю о некото...

Цифро-аналоговое и смешанное моделирование в PADS Professional Одной из полезных функций, включенных в PADS Professional, является встроенный инструмент моделирования аналоговых смешанных сигналов (AMS), который позволяет моделировать ваши схемотические проекты с использованием моделей SPICE и VHDL-AMS. Возможность использования обоих...

[Перевод] 14 open-source проектов для прокачки Data Science мастерства (easy, normal, hard) Data Science для начинающих 1. Sentiment Analysis (Анализ настроений через текст) Посмотрите полную реализацию проекта Data Science с использованием исходного кода — Sentiment Analysis Project в R. Sentiment Analysis — это анализ слов для определения настроений и мнений...

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

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

[Перевод] Почему интернационализация и локализация имеют значение Хабр, отличного всем времени суток! Скоро в OTUS стартует курс «Python Web-Developer»: мы приглашаем на бесплатный Demo-урок «Паттерны Page Controller и Front Controller: реализация в Django» и публикуем перевод статьи Nicolle Cysneiros — Full Stack Developer (Labcodes). Сог...

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

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

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

Swift 5.3: Что нового? Привет Хабр! Язык программирования Swift обладает большой популярностью ввиду его использования в написании приложений под iOS, поэтому его развитие представляет интерес для всех занятых в этой области. Давайте посмотрим что нового приготовил разработчикам Swift версии 5.3....

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

Пресс-релиз сборки Windows 10 Insider Preview Build 21382 Компания Microsoft выпустила сборку Windows 10 Insider Preview Build 21382 для инсайдеров в Dev Channel. Что нового в сборке 21382 Поддержка HDR в приложениях с управлением цветом Режим HDR изменяет поведение некоторых творческих и художественных приложений, которые использу...

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

[Из песочницы] Создание Discord-бота, используя библиотеку discord.js | Часть №1 Введение В этой статье я подробно расскажу о том, как работать с библиотекой discord.js, создать своего Discord-бота, а также покажу несколько интересных и полезных команд. Сразу хочу отметить, что я планирую сделать ряд подобных статей, начиная с простых команд, заканчивая...

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

Системный подход к переменным в Ansible ansible devops codestyle Hey! Меня зовут Денис Калюжный я работаю инженером в отделе автоматизации процессов разработки. Каждый день новые сборки приложений раскатываются на сотнях серверов кампании. И в этой статье я делюсь опытом использования Ansible для этих целей. Этот ...

[Из песочницы] Как использовать консоль JavaScript: выход за пределы console.log () Привет, Хабр! Представляю вашему вниманию перевод статьи «How to use the JavaScript console: going beyond console.log()» автора Yash Agrawal. Один из самых простых способов отладки чего-либо в JavaScript — вывод материала с помощью console.log. Но есть много других методов,...

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

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

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

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

Гайд по Blade & Soul Revolution: статы, экипировка и стамина для доминации Издатель Netmarble запустил крутую MMORPG на мобилках, Blade & Soul Revolution. Она сильно отличается от имеющихся на рынке MMO, о чём мы подробно поговорили с главным разработчиком в этом интервью. Если вы только делаете первые шаги в мире Blade & Soul, лучше сначал...

Наш опыт с графовой базой данных Dgraph в Kubernetes Недавно перед нами встала задача развернуть Dgraph в кластере Kubernetes. В этой статье я поделюсь полученным опытом: с чем мы столкнулись во время деплоя и последующего использования этого приложения в различных окружениях, от dev до production. Что вообще такое Dgraph? ...

Debouncing с помощью React Hooks: хук для функций Здравствуйте! Меня зовут Игорь Шамаев, я главный инженер по разработке в команде SmartData. Занимаюсь fullstack-разработкой внутренней аналитической BI-системы. В нашей компании React принят в качестве основного стандарта для построения пользовательских интерфейсов. Как и бо...

Искусственный интеллект Nvidia GameGAN воссоздал копию культовой игры Pac-Man, изначально не зная её правил и логики Игра Pac-Man — одна из самых известны в мире. Даже те люди, которые в своей жизни не играли ни в одну видеоигру, наверняка слышали что-то про Pac-Man либо узнают её по визуальной составляющей. Сегодня исполнилось ровно 40 лет с момента выхода Pac-Man на аркадных ...

[Перевод] 5 вопросов по SQL, которые часто задают дата-сайентистам на собеседованиях Хотя составление SQL-запросов — это не самое интересное в работе дата-сайентистов, хорошее понимание SQL чрезвычайно важно для того, кто хочет преуспеть в любом занятии, связанном с обработкой данных. Дело тут в том, что SQL — это не только SELECT, FROM и WHERE. Чем больше S...

Windows 10 получает новую функцию передачи контента для Android Microsoft сейчас не делает смартфоны на Windows, но компания нашла способ сделать так, чтобы их присутствие в пространстве смартфонов ощущалось даже без их собственной мобильной ОС. Приложения Microsoft на Android хорошо работают в Play Market, и одним из последних примеров ...

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

Уязвимости IoT-девайсов открывают доступ к домашней сети Найденные уязвимости могут быть использованы для осуществления атак методом Man-in-the-Middle (MitM, пер. с англ. "атака посредника" или "человек посередине"), когда злоумышленник перехватывает данные, передаваемые между каналами связи, извлекает полезну...

[recovery mode] Базовые возможности LXD — системы контейнеров в Linux LXD — это системный менеджер контейнеров следующего поколения, так гласит источник. Он предлагает пользовательский интерфейс, похожий на виртуальные машины, но использующий вместо этого контейнеры Linux. Ядро LXD — это привилегированный демон (сервис запущенный с правами ro...

Запуск сложных C++ приложений на микроконтроллерах Сегодня никого не удивить возможностью разрабатывать на C++ под микроконтроллеры. Проект mbed полностью ориентирован на этот язык. Ряд других RTOS предоставляют возможности разработки на С++. Это удобно, ведь программисту доступны средства объектно-ориентированного програм...

Сравниваем производительность C# и C++ в задачах обработки изображений Бытует мнение, что C# не место в вычислительных задачах, и мнение это вполне обоснованное: JIT-компилятор вынужден компилировать и оптимизировать код на лету в процессе выполнения программы с минимальными задержками, у него попросту нет возможности потратить больше вычислите...

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

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

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

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

[Из песочницы] Web2Text: глубокое структурированное извлечение содержимого web-страницы Привет, Хабр! Представляю вашему вниманию перевод статьи "Web2Text: Deep Structured Boilerplate Removal" коллектива авторов Thijs Vogels, Octavian-Eugen Ganea и Carsten Eickhof. Веб-страницы являются ценным источником информации для многих задач обработки естествен...

Простое руководство по дистилляции BERT Если вы интересуетесь машинным обучением, то наверняка слышали про BERT и трансформеры. BERT — это языковая модель от Google, показавшая state-of-the-art результаты с большим отрывом на целом ряде задач. BERT, и вообще трансформеры, стали совершенно новым шаго...

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

[Перевод] Life in the Fast Lane Серия статей о GC Don’t Fear the Reaper Life in the Fast Lane Go Your Own Way. Часть первая: Стек Go Your Own Way. Часть первая: Куча В первой из серии статей о GC я представил сборщик мусора в языке D и...

[Перевод] Простая хэш-таблица для GPU Я выложил на Github новый проект A Simple GPU Hash Table. Это простая хэш-таблица для GPU, способная обрабатывать в секунду сотни миллионов вставок. На моём ноутбуке с NVIDIA GTX 1060 код вставляет 64 миллиона случайно сгенерированных пар ключ-значение примерно за 210 мс и...

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

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

Docs as code против или вместе с Confluence? Обзор нескольких способов публикации из репозитория в Confluence Многие уже давно или активно используют или смотрят в сторону модели хранения и публикации документации как кода, это значит применять к документации все те же правила, инструменты и процедуры, что и к программному коду, например, хранить в репозитории, прогонять тесты, соби...

[Из песочницы] Типобезопасная работа с регистрами без оверхеда на С++17: value-based метапрограммирование С++, благодаря своей строгой типизации, может помочь программисту на этапе компиляции. На хабре уже довольно много статьей, описывающих как, используя типы, добиться этого, и это прекрасно. Но во всех, что я читал, есть один изъян. Сравним с++ подход и си подход с использова...

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

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

Haproxy — программирование и конфигурирование средствами Lua Сервер Haproxy имеет встроенные средства для выполнения скриптов Lua.Язык программирования Lua для расширения возможностей различных серверов используется очень широко. Например, на Lua можно программировать для серверов Redis, Nginx (nginx-extras, openresty), Envoy. Это впо...

NVIDIA GeForce 451.48 добавляет функцию аппаратного ускорения планирования GPU в Windows 10 Состоялся релиз драйвера NVIDIA GeForce версии 451.48 для Windows 10, в том числе и для May 2020 Update. В обновлении драйвера NVIDIA GeForce 451.48 добавлена ​​поддержка функции аппаратного ускорения графического процессора в Windows 10. Microsoft добавила поддержку аппарат...

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

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

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

[Перевод] Баги, которые разрушили ваш замок Уолтер Брайт — «великодушный пожизненный диктатор» языка программирования D и основатель Digital Mars. За его плечами не один десяток лет опыта в разработке компиляторов и интерпретаторов для нескольких языков, в числе которых Zortech C++ — первый нативный компилятор C++. Он...

[Из песочницы] DevOps инструменты не только для DevOps. Процесс построения инфраструктуры автоматизации тестирования с нуля Часть 1: Web / Android Примечание: данная статья является переводом на русский язык оригинальной статьи «DevOps tools are not only for DevOps. Building test automation infrastructure from scratch». Однако все иллюстрации, ссылки, цитаты и термины сохранены на языке оригинал...

[Перевод] Руководство по возможностям Java версий 8-14 Здесь есть все, что вам нужно знать о различных версиях и функциях Java. Java 8, Java 11, Java 13, Java 14 — какая разница? Вы можете использовать это руководство, чтобы получить практическую информацию о том, как найти и установить последнюю версию Java, понять различия ме...

[Из песочницы] Java простое веб-приложения. Логин и регистрация Всем доброго времени суток. Эта статья рассчитана для новичков в мире Web и Java. Мы рассмотрим стандартную архитектуру веб-приложения и сделаем небольшой проект с нуля. Будем использовать Spring (Огромный фреймворк для веба), но по минимуму. Если не иметь предыдущего опыта ...

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

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

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

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

[Перевод] REST API в Symfony (без FosRestBundle) с использованием JWT аутентификации. Часть 1 Перевод статьи подготовлен в преддверии старта курса «Symfony Framework». В первой части статьи мы рассмотрим самый простой способ реализации REST API в проекте Symfony без использования FosRestBundle. Во второй части, которую я опубликую следом, мы рассмотрим JWT аутентиф...

Power Automate VS Logic Apps. Особенности Logic Apps Добрый день всем! В прошлой статье, посвященной изучению Power Automate и Logic Apps мы рассмотрели некоторые возможности использования Power Automate. В данной статье я бы хотел остановиться на некоторых сценариях использования Logic Apps и ряде отличий от Power Automate. К...

NBA Ball Stars: Netmarble превратила баскетбол в аркаду, что это значит? Мы все знаем около спортивную NBA Live от Electronic Arts. Там акцент делается на коллекционирование карточек с игроками. Netmarble, которая недавно подарила миру хорошую MMORPG Blade & Soul Revolution, работает над своей версией баскетбола, NBA Ball Stars. Из официально...

Комитет ISO утвердил стандарт «C++20» На днях комитет ISO по стандартизации языка С++ (да, есть и такой) утвердил международный стандарт «С++20». Возможности, которые представлены в спецификации, поддерживаются в компиляторах GCC, Clang и Microsoft Visual C++. Кроме того, стандартные библиотеки с поддержкой «...

[Перевод] Архитектурный шаблон MVI в Kotlin Multipaltform, часть 1 Около года назад я заинтересовался новой технологией Kotlin Multiplatform. Она позволяет писать общий код и компилировать его под разные платформы, имея при этом доступ к их API. С тех пор я активно экспериментирую в этой области и продвигаю этот инструмент в нашей компани...

[Из песочницы] Unity — Enable Multidex или слишком много методов С чего все началось Всем привет. На определенном этапе разработки игры под Android на движке Unity я столкнулся с одной проблемой при билде. После добавления в проект таких плагинов как Appodeal и Google Play Games количество используемых методов превысило 65K и во время бил...

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

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

[Перевод] Учебный проект на Python: интерфейс в 40 строк кода (часть 2) Демонстрация проекта Python с пользовательским интерфейсом никогда не была такой простой. С помощью Streamlit Framework вы можете создавать браузерный пользовательский интерфейс, используя только код Python. В этой статье мы будем создавать пользовательский интерфейс для п...

В Linux найдена опасная уязвимость Несмотря на то, что Linux многие считают самой безопасной ОС в мире, дыры безопасности в ней все-таки имеются.Эксперты по безопасности обнаружили в Linux брешь, позволяющую взломать систему. Уязвимость BootHole была найдена в загрузчике операционной системы GRUB2.BootHole по...

Windows 10 версии 2004 поставляется с опциями регулирования обновлений Обновить Windows 10 иногда сложно людям с медленным интернет-соединением или ограниченной пропускной способностью. Операционная система всегда подключена к Сети и использует ваши интернет-данные через обновления и Microsoft Store, но функция оптимизации доставки позволяет ог...

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

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

Windows 10 20H1: решения проблем высокой загрузки процессора и диска Microsoft представляет новый алгоритм для индексатора поиска Windows, который делает его более эффективным с точки зрения общей производительности системы, использования процессора и диска. Изменения, включенные в Windows 10 версии 2004 (20H1), могут, наконец, устранить жало...

Как в линуксе подключиться к корпоративному VPN с помощью openconnect и vpn-slice Хотите использовать линукс на работе, но корпоративный VPN не даёт? Тогда эта статья может помочь, хотя это не точно. Хочу заранее предупредить, что вопросы администрирования сетей я понимаю плохо, поэтому не исключено, что я всё сделал неправильно. С другой стороны не исклю...

Когда компьютерные игры — твоя работа: внутреннее устройство облачного гейминга О том, как работают игровые компании, на Хабре писали не раз и не два. Нюансы индустрии гейминга известны многим. Но о том, как организована работа в компаниях из сферы облачного гейминга, мало кто знает. Эта статья даст представление о внутренней кухне этой индустрии на ...

Руководство по Node.js для начинающих. Часть 3 Доброго времени суток, друзья! Продолжаю публиковать перевод этого руководства по Node.js. Другие части: Часть 1 Часть 2 Часть 3 Получение данных, введенных пользователем, в Node.js Как сделать Node.js-программу интерактивной? Для этого в 7 версии Node.js представлен м...

Низкобюджетный бизнес-класс по цене премиума: 3 миллиона рублей за новую Skoda Superb – настоящий чешский трэш Кажется, компания Skoda позабыла о «бюджетности» своего бренда. Очевидно, когда за автомобиль просят 3 миллиона рублей, он должен быть либо «заряженным» на все 100, либо – быть Toyota RAV4, но это уже совсем другая история. Такая же другая, как и новый Skoda Superb, посколь...

Windows 10 работает на iPhone Хотели бы вы сделать так, чтобы Ваш iPhone мог гораздо большее, чем просто запускать приложения магазина Apple? Группа независимых разработчиков работает над похожим приложением. UTM – это новое приложение, которое использует QEMU (программное обеспечение для виртуализации) ...

В Windows 11 есть новый Центр действий с элементами управления мультимедиа Как и ожидалось, Windows 11 получит элементы пользовательского интерфейса, которые изначально планировалось использовать в Windows 10X. Microsoft отложила разработку Windows 10X, и она уже, скорее всего, никогда не появится для потребителей, но функции Windows 10X, по-видимо...

Использование TSDuck для мониторинга IP(TS)-потоков На сегодняшний день существуют готовые (проприетарные) решения для мониторинга IP(TS)-потоков, например VB и iQ, они обладают достаточно богатым набором функций и обычно подобные решения имеются у крупных операторов, имеющих дело с ТВ-сервисами. В этой статье описывается реш...

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

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

Устройство расширений для браузера Firefox (WebExtensions) Для людей, работа которых связана с использованием сети Интернет, расширения браузера могут быть очень полезными инструментами. С помощью них можно избавить пользователя от повторения одних и тех же действий и лучше организовать рабочий процесс. Можно составить набор инструм...

Запуск тестов JMeter в OpenShift, используя Jenkins Pipeline Всем привет! В этой статье хочу поделиться одним из способов запуска тестов производительности JMeter в OpenShift'e с использованием Jenkins'a в качестве автоматизации. Сначала мы проделаем все необходимые действия (создание ImageStreams, BuildConfig, Job и проч) в ручном р...

Android-смартфоны 2020 года получат эксклюзивную технологию iPhone 11 Apple не удастся сохранить Ultra Wideband в качестве эксклюзивной функции iPhone Несмотря на то что Apple довольно часто предпочитает оттягивать внедрение тех или иных функций iOS до последнего момента, по части инноваций у неё всё более чем в порядке. Кажется, не проходит и...

Scara-робот. Epic fail. Доброго времени суток, уважаемые печатающие.С момента написания последнего поста, в котором я повествовал о сборке 3d-принтера с кинематикой Scara, прошло больше времени, чем должно было пройти. Если кому интересно, то у меня отмазки следующие: •    после недели попыток на з...

AIOps в управлении ИТ-инфраструктурой Традиционные методы ИТ-администрирования и управления ИТ-инфраструктурой активно пересматриваются и постепенно реформируются. Использование искусственного интеллекта (ИИ) в управлениии ИТ-инфраструктурой рисует интереснейшие перспективы. Термин AIOps (Artificial Intelligence...

Web Cryptography API: пример использования Доброго времени суток, друзья! В этом туториале мы рассмотрим Web Cryptography API: интерфейс шифрования данных на стороне клиента. Данный туториал основан на этой статье. Предполагается, что вы немного знакомы с шифрованием. Что конкретно мы будем делать? Мы напишем прос...

Добавление собственных пунктов в меню Marlin    Привет всем 3D печатникам и не только!   Сегодня постараюсь в простой форме рассказать, как можно добавить собственный пункт меню в Marlin. На форуме уже была статья на эту тему, но в ней рассматривался случай отмены печати при возникновении проблем в начале печати. Спосо...

DeepPavlov: «Keras» для обработки естественного языка помогает отвечать на вопросы про COVID-2019 В такой области глубокого обучения, как обработка изображений, библиотека Keras играет ключевую роль, радикально упрощая обучение transfer learning и использование предварительно обученных моделей. В области обработки естественного языка (NLP) для решения достаточно сложных ...

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

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

.NET nanoFramework — платформа для разработки приложений на C# для микроконтроллеров .NET nanoFramework — это бесплатная платформа с открытым исходным кодом, основанная на .NET и предназначена для малых встраиваемых устройств, микроконтроллеров. С ее помощью можно разрабатывать различные устройства для Интернета вещей, носимые устройства, научные приборы, ...

Парсинг сайта кинотеатра на Golang Всем привет, в этой статье мы рассмотрим небольшой пример кода, написанный для сбора данных с сайта на популярном сегодня языке программирования Go. Эта статья будет особенно интересна тем, кто много слышал о Go, но пока еще не попробовал его самостоятельно. Для одного из...

Коды избыточности: простыми словами о том, как надёжно и дёшево хранить данные Так выглядит избыточность. Коды избыточности* широко применяются в компьютерных системах для увеличения надёжности хранения данных. В Яндексе их используют в очень многих проектах. Например, применение кодов избыточности вместо репликации в нашем внутреннем объектном хранил...

Postgresso 20 Жизнь продолжается. Продолжаем знакомить вас с самыми интересными новостями PostgreSQL Главная новость Feature Freeze Функциональность 13-й версии PostgreSQL заморожена. Теперь только доработки и исправления багов. Список нового, вопреки многим ожиданиям, довольно обширный...

Шлюз Siemens IOT2050 предназначен для интернета вещей Компания Siemens объявила о начале поставок шлюзов данных нового поколения IOT2050. По словам производителя, это устройство обеспечивает бесперебойную связь между облаком, корпоративной IT-системой и производством, делая возможным построение интернета вещей на промышлен...

Как управлять iPhone или iPad только голосом Голосовое управление в iOS удобно настолько, что его не хочется отключать Apple дальше других продвинулась по части развития инклюзивных технологий. Благодаря этому фирменной техникой компании могут пользоваться люди с нарушениями зрения, с парализованными конечностями и сам...

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

[Из песочницы] C++/Qt: пора валить?. Если бы раньше я запускал новый долгоживущий проект, в котором основные функции связаны с большим объёмом вычислений при каком-то взаимодействии с пользователем через графический интерфейс, я бы не задумываясь использовал С++/Qt. Это позволяло использовать один фреймворк/яз...

Использование примесей (mixins) в Dart Несколько раз от коллег звучал вопрос о том, что не понятно, зачем вообще нужны mixin'ы (примеси) в языке Dart. Я решил посмотреть, что есть на просторах Интернета по этому вопросу. К великому огорчению в статьях, которые удалось найти в основном говорится о том, как использ...

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

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

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

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

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

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

AI на минималках 2: Генератор стихов на Prolog AI на минималках 2: Генератор стихов на Prolog На картинке — четверостишье, сгенерированное моей программой. Оказывается "стихи" писать легко, нужно только знать несколько необходимых ингредиентов: размер, ритм, рифма. "Стихи" в кавычках, потому что в на...

[Из песочницы] List Comprehension vs Map Привет, Хабр. Часто при работе с последовательностями встает вопрос об их создании. Вроде бы привык использовать списковые включения (List Comprehension), а в книжках кричат об обязательном использовании встроенной функции map. В этой статье мы рассмотрим эти подходы к раб...

Как отключить управление работоспособностью батареи в macOS Catalina 10.15.5 Apple во второй бета-версии MacOS Catalina 10.15.5 добавила новую функцию Battery Health Management для Mac, которая предназначена для продления времени автономной работы современных ноутбуков Mac (так же, как и с портами Thunderbolt 3) за счет снижения скорости химического ...

Использование механизмов криптографических токенов PKCS#11 на платформе Android Подошло время задействовать криптографические механизмы PKCS#11 и на платформе Android. Кто-то может сказать, что нет аппаратных токенов для Android. Но, если это и так, то это только временное явление. Но уже сегодня можно поставить программный токен или использовать облач...

Kubernetes tips & tricks: особенности выполнения graceful shutdown в NGINX и PHP-FPM Типовое условие при реализации CI/CD в Kubernetes: приложение должно уметь перед полной остановкой не принимать новые клиентские запросы, а самое главное — успешно завершать уже существующие. Соблюдение такого условия позволяет достичь нулевого простоя во время деплоя. Од...

Обучение модели естественного языка с BERT и Tensorflow Рис. 1. Фразы и предложения в векторном представлении модели естественного языка Обработка естественного языка (Natural Language Processing, NLP) – это область вычислительной лингвистики, ориентированная на разработку машин, способных понимать человеческие языки. Разработк...

Немного о WebRTC: что где использовать и случай из практики WebRTC — это браузерная технология, предназначенная для передачи потоковых данных между браузерами или приложениями с использованием технологии двухточечной передачи (point-to-point transmission). Эта технология хороша тем, что позволяет устанавливать связь между пользоват...

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

Говорящий плеер на raspberry Приветствую всех. У меня проблемы со зрением, увлечение мое — программирование. Как то в недалеком прошлом я узнал об одноплатном компьютере raspberry, описание меня впечатливо и я приобрел его. Так, как официальный дистрибутив — raspbian, основан на debian, думал включу с...

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

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

[Перевод] Разворачиваем вложенные столбцы — списки с помощью языка R (пакет tidyr) В большинстве случаев при работе с ответом полученным от API, или с любыми другими данными которые имеют сложную древовидную структуру, вы сталкиваетесь с форматами JSON и XML. Эти форматы имеют множество преимуществ: они достаточно компактно хранят данные и позволяют избежа...

[Из песочницы] Как скомпилировать декоратор — C++, Python и собственная реализация. Часть 2 Декораторы — одна из самых необычных особенностей Python. Это инструмент, который полноценно может существовать только в динамически типизированном, интерпретируемом языке. В первой части статьи мой товарищ Witcher136 показал, как в С++ реализовать наиболее приближенную к эт...

Google представила «Быстрые команды» и 3D Touch для Android. Жаль, не для всех Копировать чужие наработки, особенно, если их владельцем является Apple, очень опасно. Samsung в этом уже убедилась на собственном опыте, хотя изначально её планы были поистине наполеоновскими. Поэтому сейчас если кто-то и заимствует идеи компании из Купертино, то старается...

[Из песочницы] vuex + typescript = vuexok. Велосипед, который поехал и обогнал всех Доброго времени суток. Как и многие разработчики, я в свободное от работы время пишу свой относительно небольшой проект. Раньше писал на react, а на работе используется vue. Ну и что бы прокачаться во vue начал пилить свой проект на нем. Сначала всё было хорошо, прямо-таки ...

[Из песочницы] Raspberry Pi и модем SIM7600E 4G HAT Добрый день всем. В этой статье я хотел бы рассказать о своем опыте использования 3G-модема SIM7600X, который можно подключать к Raspberry Pi. Статья может оказаться полезной тем из вас, кому необходимо использовать Raspberry автономно, в условиях отсутствия WIFI-сети. Пара...

Обновление прошивки камер Sony a7r IV, a7r III и a7 III добавляет сохранение и загрузку пользовательских настроек Компания Sony выпустила обновление прошивки для камер a7r IV, a7r III и a7 III. В обновлении добавлена возможность использовать «My Menu» для сохранения и загрузки пользовательских настроек камеры. Кроме того, добавлена функция «External Flash Set&raq...

Унифицируй это: как Lamoda делает единообразными свои Go сервисы Мы широко используем микросервисную архитектуру, хоть и не считаем ее панацеей, и чуть больше 2 лет назад начали переходить на язык Go. Он сравнительно прост и, на мой взгляд, очень хорошо подходит для создания простых, небольших и быстрых микросервисов. Эта простота имеет и...

Python &amp;amp; EEL. Делаем просто на Python’е и красиво на JS Тема красивых интерфейсов была и будет актуальна всегда, кто-то использует для создания графических приложений C#, кто-то использует Java, кто-то уходит в дебри C++, ну а кто-то извращается с Python, используя tkinter или PyQT. Существуют различные технологии, позволяющие со...

Опыт использования gRPC в Почте Mail.ru Привет, Хабр! Я работаю в команде Антиспама Почты Mail.ru. В этой статье я бы хотел рассказать про наш опыт запуска сервиса с пропускной способностью около 3 миллионов запросов в минуту на базе технологии gRPC. Это современная технология передачи данных по сети, которая реа...

Как просто и быстро выбрать нужный филамент Ассортимент филаментов на современном рынке материалов для 3D принтеров достаточно широк, поэтому мы разработали «Азбуку филаментов». Это своеобразный справочник с описаниями различных видов филаментов, для удобства пользования которым существует система настраиваемых фильтр...

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

Загрузка и обработка изображений в .NET Core В этой статье я хочу рассказать о своём опыте реализации механизма загрузки изображений в .NET Core приложении с последующим их ресайзом и сохранением в файловой системе. Для обработки изображений я использовал кроссплатформенную библиотеку ImageSharp от Six Labors. Существу...

И целого байта мало… (Часть #3) Итак, друзья, 1-е апреля прошло, пора раскрывать карты, что же такое "2B or not 2B" на самом деле. Это совместный текст от автора работы jin_x и уже знакомого вам деда unbeliever Обязательно скачайте архив с работой на Pouet и прочитайте вводную (первоапрельскую...

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

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

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

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

Бессерверные вычисления на основе OpenWhisk, часть 4 Эта статья заканчивает цикл переводных заметок об OpenWhisk от автора Priti Desai. Сегодня рассмотрим процесс развертывания OpenWhisk поверх Kubernetes с исправленными командами для работоспособности с актуальными версиями приложений. Также будет описан процесс запуска функ...

[Перевод] Пол Грэм: «Краткость = сила» На HackerNews сегодня подняли обсуждение статьи Пола Грэма 2002 года и мы решили воскресить её перевод из небытия. «The quantity of meaning compressed into a small space by algebraic signs, is another circumstance that facilitates the reasonings we are accustomed to carry...

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

Паскаль играет в Go. Реализация методов и интерфейсов в любительском компиляторе If I could export one feature of Go into other languages, it would be interfaces. — Russ Cox Мой предельно простой компилятор Паскаля уже становился предметом двух публикаций на Хабре. Со времени их написания язык обзавёлся всеми недостающими средствами, положенными станд...

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

Прощай, SMS. На смартфонах Xiaomi появились 5G-сообщения Несколько месяцев назад появилась информация, что функция отправки SMS будет в будущем заменена более сложной функцией 5G-сообщений (5G Messages). Согласно последним сообщениям, опция 5G-сообщений теперь доступна в разделе текстовых сообщений некоторых телефонов Xiaomi....

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

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

Настройка балансировки нагрузки на InfoWatch Traffic Monitor Что делать, если мощности одного сервера не хватает для обработки всех запросов, а производителем ПО не предусмотрена балансировка нагрузки? Есть много вариантов – от покупки балансировщика нагрузки до ограничения числа запросов. Какой из них правильный, нужно смотреть по ...

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

[Перевод] Java: свертывание многострочных логов в однострочный лог с помощью Spirng и логгера Logback или Log4j2 Logback и Log4j2 – одни из самых известных фреймворков логирования в JAVA. Фреймворк Logback используется только совместно с библиотекой SLF4J, которая представляет собой интерфейс для систем протоколирования событий. Log4j2 представляет собой вторую, улучшенную версию логге...

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

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

16 советов по разработке для андроид на языке Kotlin. Часть 3 И еще раз здравствуйте! В преддверии старта базового курса по Android-разработке, делимся заключительной частью статьи «16 советов по разработке для андроид на языке Kotlin». Читать первую часть Читать вторую часть LATEINIT Одной из ведущих особенностей Kotlin является е...

[Перевод] Разбираемся с launchMode Android Activity: standard, singleTop, singleTask и singleInstance Перевод статьи подготовлен специально для студентов продвинутого курса по Android разработке. Activity — это одна из самых ярких концепций в Android (самой популярной мобильной операционной системе с хорошо продуманной архитектурой управления памятью, которая отлично реал...

Oracle: разница между deterministic и result_cache От переводчика: свой путь на habr я решил начать не с попытки написать какой-то уникальный текст с нуля, а с перевода относительно свежей (от 17.08.2020) статьи классика PL/SQL-разработки Стивена Фойерштайна, в которой он достаточно подробно рассматривает разницу между двумя...

[Перевод] Руководство по работе с OpenAL на C++. Часть 1: воспроизводим звук Вашей игре нужен звук! Наверно, вы уже использовали OpenGL для рисования на экране. Вы разобрались с его API, и поэтому обратились к OpenAL, потому что название кажется знакомым. Что же, хорошие новости — OpenAL тоже имеет очень знакомый API. Он изначально задумывался для и...

Каков ты, русский опен сорс? В 2017-м году, когда я жил в Одессе (Украина), на украинском IT-портале DOU (аналог Хабра) опубликовали анализ наиболее активных "украинских" open source разработчиков: GitHub-акаунти українських ІТшників: хто в ТОПі. Я не попал в рейтинг, хотя по некоторым парамет...

[Из песочницы] ECS back and forth Привет, Хабр! Представляю вашему вниманию перевод статьи "ECS back and forth — Part 1 — Introduction" автора Michele skypjack Caini. ECS back and forth Часть 1 — Введение. Когда я в первые узнал про архитектурный шаблон entity component system, я пошёл искать больш...

«Магнит» займется цифровой рекламой Об этом пишет “КоммерсантЪ” со ссылкой на сообщаение компании. Программа лояльности "Магнита" была запущена в августе, уже выдано более 17 млн карт, к концу года их число вырастет до 20-23 млн, уточнил представитель ритейлера. По его словам, "Магни...

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

Google представила технологию беспроводной передачи файлов Nearby Share — аналог AirDrop для Android Компания Google начала внедрение Nearby Share — новой технологии для Android-смартфонов, которая позволяет делиться фотографиями, файлами, ссылками и прочим контентом с другими пользователями Android-смартфонов, находящихся рядом. Принцип работы технологии очень похож на фун...

[Перевод] Transformer в картинках В прошлой статье мы рассматривали механизм внимания (attention) – чрезвычайно распространенный метод в современных моделях глубокого обучения, позволяющий улучшить показатели эффективности приложений нейронного машинного перевода. В данной статье мы рассмотрим Трансформер (T...

[Перевод] Заметки о Unix: надёжная работа с API C-библиотеки Unix возможна только из программ, написанных на C Для того чтобы полностью реализовать требования системы верификации источника системных вызовов, разработчики OpenBSD хотят, чтобы Go выполнял бы системные вызовы через C-библиотеку, а не напрямую, из собственной среды выполнения (а у Go есть некоторые причины поступать имен...

Как отключить оптимизацию MIUI и зачем это нужно Считается, что на Android дела с оптимизацией совсем плохи. Якобы фрагментация (когда на рынке сосуществует много разных версий ОС) банально не позволяет Google нормально оптимизировать софт смартфонов, из-за чего они работают не в полную мощь, поскольку реализовать их поте...

Как найти потерянные AirPods с помощью приложения Локатор на iPhone Несколько лет назад Apple официально представила новую функцию «Найти AirPods» (Find My AirPods), которая упрощает поиск потерянных наушников с помощью приложения Локатор на iPhone, iPad и Mac. Функция работает по аналогии с «Найти iPhone», правда в более упрощенной версии....

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

Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон, часть 3 В этой части мы перестаём говорить о простом и приятном и начинаем говорить о трудном. Переменные в Ansible: scope, precedence, рекурсивная интерполяция. Для тех, кто дочитает до конца, маленький бонус: упрощённая таблица приоритетов, с которой можно жить. Предыдущие части: ...

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

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

[Перевод] “Давайте использовать Kubernetes!” Теперь у вас 8 проблем Если вы используете Docker, следующим логичным шагом кажется переход на Kubernetes, он же K8s, правильно? Ну, предположим. Однако решения, предназначенные для 500 инженеров-программистов, одновременно разрабатывающих одно приложение, достаточно сильно отличаются от решений д...

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

Эффект Телепорно: почему нормальные фразы на иностранном кажутся смешными и как применять это для прокачки английского Никогда не пытайтесь объяснить незнакомцу на английском, как найти магазин «Шитье» на улице Фартовой, рядом с кинотеатром «Факел». Сегодня мы расскажем об эффекте Телепорно, который в научных кругах называют «лингвистический шок». Когда нормальное слово или фраза на иност...

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

Huawei представила пользовательский интерфейс EMUI 11: что нового? Китайский производитель смартфонов Huawei открыл сегодня свою ежегодную конференцию разработчиков Huawei Developer Conference (HDC) в Дунгуане, Китай. В ходе мероприятия компания представила публике EMUI 11 — последнюю версию фирменного скина для Android. Хотя последняя верс...

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

Xbox Series X — игровая консоль нового поколения от Microsoft В ходе ежегодной церемонии награждения The Game Awards компания Microsoft продемонстрировала игровую консоль нового поколения, которая получила официальное название Xbox Series X. Из короткого трейлера понятно, что консоль будет больше похоже на персональный компьютер, неже...

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

Start11 v0.5 – классическое меню «Пуск» в Windows 11 Stardock выпустила новую версию своего приложения для настройки меню «Пуск», на этот раз с функциями, специально предназначенными для Windows 11. Как вы, наверное, уже знаете, Windows 11 поставляется с новым дизайном меню «Пуск», вдохновленным Windows 10X, с основными измене...

[Перевод] «Давайте использовать Kubernetes!»: как получить 8 проблем Это перевод вводной статьи об использовании Kubernetes: «Let’s use Kubernetes!» Now you have 8 problems Если вы используете Docker, то следующим логичным шагом будет Kubernetes, известный как K8s. Именно так вы обеспечиваете эксплуатацию своих продуктов, верно? Ну, возможн...

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

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

[Перевод] Используйте парсинг вместо контроля типов В 2019 году была написана потрясающая статья Parse, don’t validate. Я крайне рекомендую изучить её всем программистам (а также недавнее дополнение к ней Names are not type safety). Её основная идея заключается в том, что существует два способа проверки валидности входящих ...

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

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

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

Уменьшаем потребление ESP8266 при автономной работе с датчиками Вот уже более пяти лет WiFi модули на основе SOC ESP8266(ESP8285) успешно используются в автономных устройствах для измерения различных параметров объектов и окружающей среды с передачей по WiFi полученных данных. В заметке «Как уменьшить потребление wifi модулей в десять и ...

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

Гидродинамическое моделирование (CFD) на рельефе с помощью MantaFlow и визуализация результатов в ParaView Дисциплина Computational fluid dynamics(CFD) или, на русском языке, Вычислительная гидродинамика изучает поведение различных потоков, в том числе вихревых. Это и моделирование цунами, и лавовых потоков, и выбрасываемых из жерла вулкана камней вместе с лавой и газами и многое...

Статический генератор сайтов Hugo. Фронтенд реалии В 2020 практически весь мир фронтенда заполонили Javascript фреймворки. Только и слышно о React, Angular, Vue и иногда в далеких просторах можно услышать тихий шепот «Svelte». Разработчики умело используют эти инструменты для создания крутых продуктов, но есть и «динозавры» ...

Как выбрать зарядное устройство для смартфона и не только — все про вольты и амперы На сегодняшний день все больше и больше производителей смартфонов громогласно вещают: «Наше устройство поддерживает быструю зарядку 60 Вт», «Мы представили новый стандарт зарядки – 80 Вт!». Vivo пошла еще дальше, выпустив Super FlashCharge с ее 120 Вт. Стандарты выходят за р...

Razer представила геймпад для iPhone и Android На продолжающейся международной выставке бытовой электроники CES 2020 компания Razer представила новый геймпад, совместимый с большинством Android-смартфонов и iPhone. Новый геймпад называется Razer Kishi, он подключается непосредственно через разъем USB-C или Lightnin...

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

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

[Перевод] Не начинайте учиться кодингу с Python, начните с языка C Python удивителен своей способностью продвигать программирование. Он как будто является подтверждением популярной идеи «если вы знаете английский, то должны знать, как писать код». Благодаря синтаксису, напоминающему английский язык, парадигме отступов и огромному количест...

Какую цену мы платим за использование async/await в языках JS / C# / Rust Привет, Хабр ! Работая с Javascript / Typescript, я давно заметил, что асинхронное API работает медленней чем аналогичное синхронное, и даже знал что так должно быть. Но на последнем проекте асинхронная работа с файловой системой стала узким местом, и я озаботился замерами. ...

[Перевод] Введение в GitHub Actions В этой статье Senior App Dev Manager Джейсон Джордано (Jason Giordano) покажет нам, как использовать GitHub Actions для создания очень простого CI/CD решения. GitHub Actions, релиз которого состоялся 13 ноября 2019 года, позволяет легко автоматизировать все ваши рабочие пр...

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

[Перевод] Terraform, моно-репозитории и compliance as code Всем привет. OTUS открыл набор в новую группу по курсу «Инфраструктурная платформа на основе Kubernetes», в связи с этим мы подготовили перевод интересного материала по теме. Возможно, вы один из тех, кто использует terraform для Infrastructure as a Code, и вам интересно...

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

[Из песочницы] AWS Step Functions overview Теория Что такое Step Functions? Из AWS Docs: Step Functions — это сервис бессерверной оркестровки, который позволяет комбинировать функции AWS Lambda и другие сервисы AWS для создания критически важных для бизнеса приложений. С помощью графической консоли Step Functions вы ...

Amazon, Apple и Google занялись разработкой открытых стандартов для устройств умного дома Цель состоит в том, чтобы предоставить покупателям более широкий выбор, упростить разработку устройств для производителей оборудования, а также повысить совместимость аппаратов между собой, с мобильными приложениями, облачными сервисами и голосовыми помощниками Siri, Alexa и...

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

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

[Из песочницы] Понимание итераторов в Python Python — особенный язык в плане итераций и их реализации, в этой статье мы подробно разберём устройство итерируемых объектов и пресловутого цикла for. Особенности, с которыми вы часто можете столкнуться в повседневной деятельности 1. Использование генератора дважды >>&...

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

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

[Перевод] Swift Property Wrappers Если вы использовали SwiftUI, то наверняка обращали внимание на такие ключевые слова, как @ObservedObject, @EnvironmentObject, @FetchRequest и так далее. Property Wrappers (далее «обёртки свойств») — новая возможность языка Swift 5.1. Эта статья поможет вам понять, откуда же...

[Перевод] Что JavaScript-разработчику следует знать о Curl Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «What JavaScript Developers Should Know About Curl» автора Valery Karpov. Curl — это популярный инструмент командной строки, часто используемый для отправки HTTP-запросов. Curl поддерживает большое...

Численный FORTH Форт и сейчас известен, главным образом, среди разработки встроенных систем, как что-то вроде необычайного высокоуровневого ассемблера, например, для микроконтроллеров - AmForth и Mecrisp. Однако, когда-то давным давно был известен в другой ипостаси - как язык программирован...

Описание HDCP В этой статье описываются устройство HDCP. В одном из вариантов осуществления устройство HDCP включает в себя: (1) передатчик сконфигурированный для доставки ЦАВ контента по каналу связи до авторизированного HDCP приемника, (2) устройство подтверждения, настроенное для опред...

Xiaomi запатентовала метку для поиска различных вещей Судя по всему, другие компании раньше Apple представят метку, предназначенную для поиска различных вещей.К примеру, китайский технологический гигант Xiaomi уже запатентовала свой аналог Apple AirTags и Samsung Galaxy SmartTag.Как видно, устройство имеет овальную форму с кноп...

Новый порт Google Camera для более чем 30 Android-смартфонов. ... Думаю, что многие знают, что такое приложение Google Camera. Качественные портретные снимки, ночной режим и всевозможные алгоритмы — все это позволяет делать качественные фоточки. Само приложение считается одним из лучших для Android-устройств, но у него есть серьезный...

Повторная обработка событий, полученных из Kafka Привет, Хабр. Недавно я поделился опытом о том, какие параметры мы в команде чаще всего используем для Kafka Producer и Consumer, чтобы приблизиться к гарантированной доставке. В этой статье хочу рассказать, как мы организовали повторную обработку события, полученного из Ka...

[Из песочницы] Организовываем взаимодействие между ПК и ЦАП/АЦП при помощи ПЛИС В современном цифровом мире необходимость ЦАП/АЦП (цифро-аналоговых преобразователей/аналого-цифровых преобразователей) не подвергается сомнению: они используются для обработки сигналов разнообразных датчиков, в звуковой аппаратуре, ТВ-тюнерах, платах видеовхода, видеокамера...

Kubernetes: мониторинг c помощью Prometheus Привет, Хабр! Меня зовут Радик, Head of DevOps of AGIMA! В этой статье я постарался показать, как можно использовать Prometheus в качестве системы мониторинга для микросервисной архитектуры. Подробно рассмотрел архитектуру Prometheus и взаимодействие его компонентов. О...

Объяснение: почему wc на Haskell оказался «быстрее» аналога на С После недавних статей (№10xd34df00d, №2chapuza, №3picul) сравнивающих скорость работы реализаций упрощенной утилиты wc у меня оставался только один вопрос — Как простая реализация на Haskell оказалась быстрее [простой реализации на C ?! Читать дальше →

Мониторим основные сервисы в AWS с Prometheus и exporter’ами для CloudWatch Если вы используете в облачных провайдерах managed-инсталляции серверных служб вроде RDS или ElastiCache от AWS, то несомненно задавались темой мониторинга инфраструктуры, а главное — оповещений по произошедшим инцидентам. При реализации возникают понятные вопросы: Как можно...

Запуск космических летательных аппаратов и… погода в регионах 30 лет назад статья с таким заголовком была опубликована в журнале «Изобретатель и рационализатор» №5 за 1990 год в разделе «гипотезы». Предположительно, автор статьи – Рыбников Сергей Игоревич, профессор Московского Авиационного Института, автор более 100 научных работ, в...

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

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

Практика использования Spark SQL или как не наступить на грабли Если вы работаете с SQL, то вам это будет нужно очень скоро. Apache Spark – это один из инструментов, входящих в экосистему Hadoop, который обрабатывает данные в оперативной памяти. Одним из его расширений является Spark SQL, позволяющий выполнять SQL-запросы над данными. Sp...

jsqry — лучше, чем jq В своей прошлой статье на Хабре я писал про библиотеку Jsqry, которая предоставляет простой и удобный язык запросов (DSL) к объектам JSON. С тех пор прошло много времени и библиотека тоже получила свое развитие. Отдельный повод для гордости — библиотека имеет 98% покрытие ко...

Транскомпилируемые языки: проекты конвертации код-в-код Источник: Ward Cunningham Транспиляция — это конвертация кода одного языка в другой. С помощью специального транспилера (транскомпилятора) один язык программирования общего назначения можно перенести на любой другой язык программирования общего назначения. Если необходимо...

[Перевод] Quarkus — новый взгляд на Cloud Native Java Привет, Хабр! В наступившем новом году мы планируем всерьез развивать темы контейнеров, Cloud-Native Java и Kubernetes. Логичным продолжением этих тем на русском языке будет рассказ о фреймворке Quarkus, уже рассмотренном в хорошей статье на Хабре. Сегодняшняя статья посвящ...

IoT-шлюз для промышленных протоколов на базе i.MX6 и Linux WISE-710 — это универсальное устройство, которое одновременно может быть шлюзом для промышленных интерфейсов, устройством сбора и обработки данных, хабом для IoT устройств и маршрутизатором. Построено на базе SoC i.MX6 и работает под управлением Ubuntu или Yocto Linux. П...

Миграция IBM Lotus Notes/Domino в Microsoft Exchange без шума и пыли Может быть пора? Такой вопрос рано или поздно появляются у коллег, которые используют Lotus в качестве почтового клиента или системы документооборота. Запрос на миграцию (по нашему опыту) может возникнуть на совсем разных уровнях организации: от топ-менеджмента до пользоват...

Nvidia CUDA можно использовать на GPU Intel. Для этого понадобится инструмент ZLUDA Платформа Nvidia CUDA существует на рынке уже почти 15 лет. Это программный комплекс, представляющий собой расширение языка программирования C, и предназначенный для неграфических вычислений на GPU.  При этом CUDA всегда была эксклюзивом карт Nvidia...

Запускаем тесты на GitLab Runner с werf — на примере SonarQube Если в качестве инфраструктуры, где разворачивается приложение, выступает Kubernetes, можно сказать, что существует два способа запуска тестов (и других утилит для анализа кода) в CI/CD: непосредственно в кластере K8s — с помощью отдельных Job или Helm hooks; «снаружи»...

[Перевод] Вражеский ИИ: преследование игрока без Navigation2D и поиска пути A* Создаёте игру, в которой враги должны преследовать игрока? Всё начинается с простого — заставим врага бежать к игроку. Но что произойдёт, если он находится за деревом, или за углом стены? Ну, теперь враг будет выглядеть довольно глупо — упрётся в объект, перебирая ногами на ...

Автооключение на Anet A8 В свое время задумался над реализацией функции автоматического выключения принтера по окончанию печати. Находил материалы по этому поводу, но помню там было что-то мудреное, а я решил сделать все применительно к своим суровым реалиям, т.е. на стоковом (в плане прошивки) Anet...

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

.NET Core: интринсики x86_64 на виртуальных машинах Мы живём в эпоху доминирования архитектуры x86. Все x86-совместимые процессоры похожи, но и все при этом немного отличаются. И не только производителем, частотой и количеством ядер. Архитектура x86 за время своего существования (и популярности) пережила много крупных апдейт...

Все «тайны» настройки софта для модулей и периферии OpenCPN После публикации статьи Использование OpenCPN для автоматизации производства / Хабр (habr.com) в личной почте были вопросы по настройке программного обеспечения на собранном устройстве. В этой статье будут более детально и последовательно приведены все необходимые конфигура...

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

[Перевод] Интерактивная визуализация данных при помощи Plotly: строим красивые графики с Express и Cufflinks Если Вы все еще используете Matplotlib для создания графиков в Python, самое время взглянуть на мир с высоты альтернативной библиотеки интерактивной визуализации. Plotly позволяет создавать красивые, интерактивные, экспортируемые графики с помощью всего нескольких строк к...

Windows 10 LTSC 2021: дата выхода, поддержка устройств и ОС Microsoft на днях анонсировала Office 2021, и компания использовала эту возможность, чтобы также представить новую политику обновления не только для пакета повышения производительности, но и для своей операционной системы Windows 10. Office LTSC и Windows 10 LTSC получат под...

Пользователям Android угрожает уязвимость StrandHogg Исследователи из норвежской компании Promon обнаружили серьезную уязвимость Android, позволяющую злоумышленникам перехватывать критически важные пользовательские данные и устанавливать скрытый контроль над мобильными устройствами. Эксперты насчитали в Google Play несколько д...

[Перевод] Как избавиться от разрыва кадров и задержки ввода в играх Разрыв кадров (screen tear) или задержка ввода (input lag)? Использовать ли vsync? Очень долгое время в мире игр для PC это был вопрос «или-или». Можно добиться или картинки без разрыва кадров, или низкой задержки ввода. Но невозможно получить и то, и другое. Или можно? От...

Windows 10 Build 18363.1256 уже доступна для скачивания Если вы все еще используете Windows 10 версии 1909 или 1903, то теперь для вашего ПК доступно новое накопительное обновление. Декабрьское накопительное обновление для версии 1909/1903 выпущено через WU и WSUS, но вы также можете загрузить автономные установщики Windows 10 KB...

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

Security Week 18: текстовая бомба для iOS Если из разных видов уязвимостей собрать воображаемый сборник лучших хитов, то различного рода ошибки обработки ввода займут там лучшие места. Одним из древнейших способов вывода программы или всей системы из строя является zip-бомба — архив небольшого размера, который разво...

Windows 10 Build 19041.450 уже доступна для скачивания Windows 10 KB4566782 теперь доступна для развертывания в Windows 10 версии 2004 через Центр обновления Windows. Как обычно, Microsoft также опубликовала прямые ссылки для загрузки автономных установщиков накопительного обновления KB4566782. Вторник исправлений – это второй в...

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

Security Week 51: уязвимости в iOS и процессорах Intel 10 декабря компания Apple выпустила большой набор патчей для macOS, iOS (включая iPadOS) и watchOS. Пожалуй, наиболее опасным из закрытых багов была уязвимость в FaceTime, затрагивающая все мобильные устройства Apple начиная с iPhone 6s и iPad Air 2. Как и в случае с обнаруж...

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

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

Я обновился до Android 10. Что изменилось Magic UI 3.0 построена на базе Android 10, но особых отличий от Magic UI 2.0 практически нет Я уже много лет равнодушен к обновлениям. Если году эдак в 2010, когда нормального софта на Android было не так много, как сегодня, и апдейты действительно расширяли функциональность...

Как обучить нейронную сеть DeepPavlov на ноутбуке с использованием GPU В этой статье я хочу поделиться своим опытом использования данной open-source библиотеки на примере реализации одной задачи с парсингом файлов PDF/DOC/DOCX содержащих резюме специалистов. Здесь я также опишу этапы реализации инструмента для подготовки датасета. После чего м...

Не запускаются приложения на iPhone с ошибкой «Общий доступ закрыт». Как решить За последние несколько дней многие пользователи iPhone и iPad на iOS 13 столкнулись с проблемами с запуском некоторых приложений. При этом появляется ошибка «Общий доступ к этому приложению теперь для Вас закрыт» или «This app is no longer shared with you», в зависимости от...

Выпущена новая сборка Microsoft Edge Dev 83.0.474.0 Microsoft выпустила новую сборку Microsoft Edge на базе Chromium под номером 83.0.474.0 для канала Dev, которая принесла с собой несколько новых функций, а также различные исправления и улучшения. Это она из последних сборок в рамках версии 83. Основные новшества: Теперь из...

Эмулятор Windows 10X и Surface Neo доступен для загрузки В рамках конференции разработчиков Microsoft 365 Developer Day, посвящённой устройствам с двумя экранами, компания объявила о публичном выходе предварительной версии эмулятора Windows 10X. Этот эмулятор позволяет эмулировать интерфейс Windows 10X и различные положения Surfa...

One UI 2.5 позволяет использовать жесты навигации Android 10 в сторонних средствах запуска приложений. Компания Samsung представила оболочку One UI 2.5 со своими недавно выпущенными смартфонами и планшетами Galaxy Note 20, Galaxy Tab S7 и Galaxy Z. Это программное обеспечение содержит ряд новых функций. В частности, в нем добавлена совместимость с жестами полноэкранной н...

Материальный дизайн. Создание анимаций в Kivy Приветствую всех любителей и знатоков языка программирования Python! В этой статье я покажу, как работать с анимациями в кроссплатформенном фреймворке Kivy в связке с библиотекой компонентов Google Material Design — KivyMD. Мы рассмотрим структуру Kivy проекта, использован...

Windows 10X: подробности о контейнеризации, UWP и Win32-приложениях Несколько дней назад компания Microsoft раскрыла подробности о работе новой операционной системы Windows 10X, а также опубликовала эмулятор, благодаря чему разработчики уже могут приступить к оптимизации своих приложений для устройств с двумя экранами. Одна из важнейших фун...

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

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

Полная поддержка популярных реализаций Docker Registry в werf Все популярные реализации реестров для образов контейнеров поддерживают Docker Registry HTTP API и позволяют использовать одни и те же инструменты для работы с ними. Тем не менее, часть реализаций имеет свои особенности и ограничения, а значит — если вам нужно их поддержива...

[Из песочницы] Изучаем мультикаст операторы RxJS Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding RxJS Multicast Operators» автора Netanel Basal. Широковещательные или мультикаст операторы нередко кажутся самой сложной темой при изучении RxJS. В этой статье я попробую все доступно объяснить. Мы рас...

Эксперименты с микроконтроллерами в Jupyter Notebook Jupyter Notebook — любимый инструмент-среда для data scientist'ов, аналитиков, инженеров, математиков, студентов и даже для нас — самых обычных ученых в экспериментальной физике. Этот инструмент предназначен для работы с интерпретируемыми языками и удобного графического пре...

Изучаем VoIP-движок Mediastreamer2. Часть 11 Материал статьи взят с моего дзен-канала. Механизм перемещения данных Блок данных dblk_t Сообщение mblk_t Функции работы с сообщениями mblk_t Очередь queue_t Функции работы с очередями queue_t Соединение фильтров Сигнальная точка графа обработки данных Закулисная деятельно...

Три простых функции Windows 10, которые хотелось бы увидеть в 2020 году Этот год принес нам два разных обновления для Windows 10, но, несомненно, только одно действительно имеет значение с точки зрения возможностей и улучшений для пользователя. Это связано с тем, что, в отличие от Windows 10 May 2019 Update (версия 1903), Windows 10 November 201...

Можно ли программировать на iPad Pro? При желании iPad Pro можно приспособить к программированию Вы заметили, что на большинстве фото и во многих офисах программисты в основном используют MacBook? Причин этого выбора множество, но одна из главных — ноутбуки Apple имеют консоль Bash и схожи с Linux, при этом пред...

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

Microsoft сертификация Online — записки с полей Microsoft Russia перевела статью о процессе сдачи экзамена онлайн. Через меня за последний год, так или иначе, прошли уже сотни, если не тысячи людей, готовившихся, сдавших экзамены. Многие из них сдавали онлайн, еще до Covid-19, а уже после закрытия сертификационных центр...

Изящные улучшения в Windows 10 версии 2004 (20H1) В следующем году в обновлении Windows 10 под кодовым названием 20H1, также известная как версия 2004, пользователи могут ожидать несколько изящных улучшений. Версия Windows 10 2004 (20H1), как сообщается, была завершена в декабре, и Microsoft не планирует добавлять новые фун...

«Локатор» в iOS 15 научится искать разряженные и сброшенные iPhone Когда год назад Apple представила «Локатор» для поиска пропавших устройств, это был настоящий фурор. Ещё никому не удавалось сделать так, чтобы другие устройства могли принимать сигнал бедствия от пропажи, а потом передавать информацию о её местоположении реальному владельц...

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

[Из песочницы] Визуализируя нейронный машинный перевод (seq2seq модели с механизмом внимания) Привет, Хабр! Представляю вашему вниманию перевод статьи "Visualizing A Neural Machine Translation Model (Mechanics of Seq2seq Models With Attention)" автора Jay Alammar. Sequence-to-sequence модели (seq2seq) – это модели глубокого обучения, достигшие больших успех...

Использование RabbitMQ вместе с MonsterMQ часть 5 В предыдущей части мы улучшили нашу систему логгирования. Вместо использования обменника типа fanout мы использовали обменник типа direct, позволившему нам выборочно принимать сообщения. Не смотря на улучшения, наша система до сих пор имеет ограничения, например мы не можем...

[Из песочницы] Keylogger для Windows с изменением прав в DACL Здесь будет рассмотрено создание Keylogger на базе .Net C# с вызовами системных функций. Сами системные функции в кратце описываются, но лучше прочитать официальную документацию от Microsoft. Ссылка на репозиторий с рабочей сборкой приведена в конце, так же как и ссылка на д...

CAT-интерфейс для трансивера «Радио-76» В предыдущей публикации о трансивере «Радио-76» упоминалось о синтезаторе частоты с CAT-интерфейсом. В этой статье тема CAT-интерфейса будет раскрыта подробней. CAT-интерфейс (Computer Aided Transceiver) предназначен для управления частотой, видами модуляции и другими функ...

Изучаем VoIP-движок Mediastreamer2. Часть 10 Материал статьи взят с моего дзен-канала. В прошлой статье мы сделали дуплексное переговорное устройство, выполняющее обмен звуковым сигналом через дуплексную RTP-сессию. В этой статье мы научимся писать фильтры и добавим сделанный своими руками фильтр в сделанное своими рук...

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

[Перевод] Стратегия Apple: почему iPad не оправдал ожиданий Выдержка из статьи The Verge: 10 лет назад Стив Джобс вышел на сцену, чтобы представить миру iPad. По его же признанию, планшет стал устройством из третьей категории между смартфоном и ноутбуком. В то время нетбуки доминировали в секторе персональных компьютеров… У Apple бы...

[Перевод] Argo CD: готов к труду и обороне в Kubernetes В этой статье мы рассмотрим несколько вопросов касательно Argo CD: что это такое, зачем его используют, как его развернуть (в Kubernetes), как его использовать для реализации непрерывного развертывания (continuous deployment), как настроить SSO с помощью GitHub и разрешений ...

[Из песочницы] Наука о пользовательском опыте. Использование когнитивных искажений в разработке качественных продуктов Содержание Введение. О чем эта статья Цели и дисклеймеры Часть 1. Хороший продукт Часть 2. Пользовательский опыт (UX). Что это? Часть 3. Архитектура выбора Часть 4. Архитектор выбора Часть 5. Когнитивные искажения и Пользовательский опыт Ссылка на полную версию UX CORE (105...

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

[Из песочницы] Сохранение значений в .Net приложение на этапе сборки Появилась у меня необходимость при сборке приложения передать внутрь набор констант для использования их на рантайме. Например, мы хотим «зашить» в приложение некое строковое значение которое будет известно в момент сборки. В мире C++ я решал подобные штуки очень просто с и...

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

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

Создание зашифрованного диска с «двойным» дном с помощью Veracrypt VeraCrypt — свободный форк TrueCrypt используемый для сквозного шифрования в Windows, Mac OSX и Linux, и позволяет шифровать системный диск, отдельный внутренний или внешний диск или создавать виртуальные диски с использованием файлов-контейнеров. В этой статье мы рассмот...

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

[Из песочницы] Управление интерфейсом приложения при помощи жестов (Keras + CoreML) В настоящее время популярность программ с использованием искусственных нейронных сетей растет, в связи с этим появляется большое количество технологий, позволяющих упростить работу связанную с ними. В настоящей статье будет описан один из возможных путей реализации приложени...

Windows 10X установили на MacBook Microsoft продвигает Windows 10X как индивидуальное решение для нового класса складных устройств, таких как Surface Neo. Хотя Microsoft никогда публично не подтверждала оптимизированную для ноутбука версию Windows 10X, мы знаем, что Microsoft планирует в ближайшем будущем вы...

[Из песочницы] Большое тестирование процессоров различных архитектур Предисловие Попытка сравнить производительность процессоров на разнородных архитектурах x86-64, e2k (Эльбрус), mips и arm. Все тесты написаны на языке C (взяты из исходных кодов, которые я не модифицировал и не оптимизировал) и компилируются под конкретную архитектуру с испо...

Google тестирует новое меню «Поделиться» в Chrome для Android. Как включить Экспериментальное меню Chrome скрывает в себе много интересного Я долго думал, за что я люблю Google Chrome. Ведь, по большому счёту, ничего уникального в нём нет. Тот же Firefox имеет и расширения, и блокировщик рекламы, да и с безопасностью у него явно получше, чем у детищ...

История IT. Когда компьютеры были большими… Некоторое время назад меня попросили рассказать или дать ссылки на историю развития IT-разработки, в которой была бы видна внутренняя логика развития, а не просто факты и события. Казалось бы, об этом должны быть книги или обзорные курсы, ведь логика развития IT-разработки в...

[Перевод] Понимание CSS Grid: Создание Grid-контейнера Перевод «Understanding CSS Grid: Creating A Grid Container» Рейчел Эндрю Хотя технология CSS Grid стала поддерживаться некоторыми браузерами еще в 2017 году, у многих разработчиков пока не было возможности использовать её в своих проектах. Технология CSS Grid привносит множ...

[Перевод] Руководство по Node.js для начинающих. Часть 1 Доброго времени суток, друзья! Представляю Вашему вниманию перевод этого руководства по Node.js. Введение в Node.js Node.js — это открытая и кроссплатформенная среда выполнения JavaScript. Это отличное решение почти для любого проекта. Node.js запускает «движок» Java...

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

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

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

Версия 20H2: быстрое завоевание экосистемы Windows 10 Microsoft недавно выпустила обновление Windows 10 October 2020 Update, или версию 20H2, и, согласно новым данным, это конкретное обновление, похоже, быстро набирает популярность. AdDuplex утверждает, что обновление Windows 10 October 2020 Update уже работает на 8,8% устройст...

[Из песочницы] Создание динамических параметров в Jenkins job, или как сделать вашу задачу user-friendly Доброго времени суток, Хабр! Сегодня я хотел бы поделиться одним из способов, как с помощью Active Choices Plugin сделать задачу в Jenkins наиболее унифицированной и понятной для пользователя. Введение Такая аббревиатура как DevOps уже давно не является чем-то новым для IT с...

Пишем гибкий VerticalSwipeBehavior Привет, Хабр! Меня зовут Илья Осинцев, я Android-разработчик в компании Apiqa. Под катом вас ждет пример использования ViewDragHelper для создания компонента пользовательского интерфейса аналогичного SwipeDismissBehavior, но работающего вертикально. С появлением Material Des...

Два моих любимых кейса использования ZeroTier: работа и стрельба в зомби У вас есть сервер под кроватью, умный дом на даче, а еще IP-камера в гараже. Как их всех объединить в одну сеть чтобы иметь доступ ко всем устройствам? В таких ситуациях принято использовать VPN, но есть решение эффективнее — ZeroTier. Он создает одноранговую (P2P) сеть ме...

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

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

[Из песочницы] Запускаем браузерные тесты с Cucumber и Selenoid в Gitlab CI c Allure отчетом Cucumber – это инфраструктура тестирования, позволяющая преодолеть разрыв между разработчиками ПО и бизнес-менеджерами. Тесты пишутся на простом языке управляемой поведением разработки (BDD) в стиле Given, When, Then (условия, операция, результат), которой понятен любому пол...

[Перевод] Рецепты по приготовлению оффлайн-приложений Доброго времени суток, друзья! Представляю вашему вниманию перевод замечательной статьи Джейка Арчибальда «Offline Cookbook», посвященной различным вариантам использования сервис-воркера (ServiceWorker API, далее по тексту — просто воркер) и интерфейса кэширования (Cache ...

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

Об одной уязвимости в… Год назад, 21 марта 2019, в баг баунти программу Mail.Ru на HackerOne пришел очень хороший багрепорт от maxarr. При внедрении нулевого байта (ASCII 0) в POST-параметр одного из API-запросов веб-почты, который возвращал HTTP-редирект, в данных редиректа виднелись куски неин...

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

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

Настраиваем адаптивное освещение в умном доме Адаптивное освещение — это автоматическая подстройка температуры света в вашем доме в течение дня. Исследователи утверждают, что такой подход плодотворно сказывается на циркадных ритмах тела. В недавнем обновлении iOS 14 такая функция появилась в платформе HomeKit от Apple. ...

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

PostgreSQL 13: happy pagination WITH TIES На прошедшей неделе вышло сразу две статьи (от Hubert 'depesz' Lubaczewski и автора самого патча Alvaro Herrera), посвященные реализованной в грядущей версии PostgreSQL 13 поддержке опции WITH TIES из стандарта SQL:2008: OFFSET start { ROW | ROWS } FETCH { FIRST | NEXT } [ c...

[Перевод] Loki — сбор логов, используя подход Prometheus Салют, хабровчане! В преддверии старта нового набора на курс «DevOps практики и инструменты» подготовили для вас перевод интересного материала. Эта статья — краткое введение в Loki. Проект Loki поддерживается Grafana и направлен на централизованный сбор логов (с серверов ил...

[Перевод] Карты высот и параллакс Из этой статьи вы узнаете о картах высот (height maps), также называемых картами параллакса (parallax maps). Что такое карта высот? Как обычно, когда я говорю «карта», то имеют в виду текстуру, содержащую информацию о внешнем виде 3D-объекта. Карта высот/параллакса — это к...

[Перевод] Планирование редакции Rust 2021 Рабочая группа Rust 2021 Edition рада сообщить, что следующая редакция Rust — Rust 2021 — запланирована на этот год. Пока что формально описывающий её RFC остаётся открытым, но мы ожидаем, что в скором времени он будет принят. Планирование и подготовка уже начались, и мы идё...

[Перевод] Дружим ORDER BY с индексами Привет, Хабр! Я потихоньку перевожу статьи Маркуса Винанда из блога use the index luke. Первой статьей в цикле был манифест Маркуса о важности использования безофсетной пагинации на ключах. Мы рассмотрели всего один пример, как этот подход работает на практике. В этой и сле...

14 практических советов по использованию Tableau Всем привет, меня зовут Меркурьев Михаил, я продуктовый аналитик в ManyChat. Год назад мы решили использовать Tableau как основной BI инструмент в компании и столкнулись с рядом проблем, касающихся того, что нужно наладить эффективную работу с инструментом для аналитиков, ме...

Алгебраические типы данных и Python Возможно, кто-то из читателей, увидев заголовок этой статьи, подумает что-нибудь вроде:"Что?! Алгебраические типы данных?! Это же что-то из мира функциональных языков программирования. Python?! Ну нет... Где Python со своей динамической утиной типизацией, а где типы дан...

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

Microsoft исправляет основные проблемы в Windows 10 May 2020 Update Ранее в этом году появилось обновление для Windows 10 May 2020 Update с множеством важных улучшений и несколькими новыми функциями, такими как «Загрузка из облака». В майском обновлении 2020 года Microsoft добавила поддержку аппаратного ускорения планирования GPU в модели мо...

Как включить 3D-звук в играх в Windows 7/8/10 Наверное практически всем известно, что с выходом Windows Vista ещё в 2007 году, а в след за ней и во всех последующих версиях Windows звуковой API DirectSound3D был удален из Windows, вместо DirectSound и DirectSound3D стали использоваться новые API XAudio2 и X3DAudio. Вс...

VR-технологии в ремонте оборудования АЭС "Комплект оборудования виртуальной реальности (шлем, система трекинга) подключается к персональному компьютеру и обеспечивает полное погружение в виртуальный мир. Пользователь взаимодействует с трехмерной компьютерной средой, манипулирует объектами и выполняет конкретны...

WOA Deployer v3 позволяет запускать Windows 10 на Raspberry Pi Raspberry Pi 4 предлагает гораздо большую производительность, дополнительные параметры ввода/вывода, в отличие от Raspberry Pi 3. В 2019 году в сети появились новости о возможности хакинга Raspberry Pi для загрузки настольной версии Windows 10 на ARM. Проект достиг большего ...

CES 2020: компания TCL показала концепт устройства со сгибаемым экраном Китайская компания TCL показала на выставке CES 2020 свое видение сгибаемого смартфона. Пока что это всего лишь концепт, но полноценно его представят на MWC 2020. Конструкция новинки напоминает таковую у Samsung Galaxy Fold — это книжка, где во внутренней части прячется кру...

Swift.assert — жизнь после релиза Как часто вы используете Swift.assert() в вашем коде? Я, честно, использую довольно часто (Если это плохая практика, то, пожалуйста, напишите в комментариях — почему это плохо?). В моем коде часто можно встретить, например, такой вызов: Swift.assert(Thread.isMainThread) Не ...

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

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

Как ускорить старый iPhone? Как ускорить старый iPhone? Пользователей iPhone 6 и более ранних устройств, которые не получили обновление до iOS 13, можно с уверенностью назвать владельцами устаревших аппаратов. iPhone 6 был представлен в далеком 2014 году. Даже по тем временам он технически несильно опе...

Asciidoc для подготовки сложной документации В заголовке использовано слово сложной, под которым можно понимать все, что угодно. Утверждение о том, что 2 * 2 = 4, если вдуматься, тоже очень не просто. Но в данном случае всё банальнее. Речь идёт о ЕСКД, ГОСТ, ОСТ и тому подобных скучных терминах, отягчаемых бюрократиче...

Google представила большое обновление Android Auto и режима вождения Google Assistant На этой неделе режим вождения Google Assistant на телефонах Android получил новую панель управления с ключевой фразой «Привет, Google, поехали». В этом новом режиме будут доступны «удобные для просмотра карты» для простоты использования во время ...

Обзор премиального повербанка NEO Magnum от Rombica Я продолжаю тему powerbank-ов и сегодня я делаю обзор на powerbank Rombica NEO Magnum ёмкостью 10 000 мАч. Одна только упаковка данного пауэрбанка говорит о премиальности данного продукта. Давайте посмотрим, что идёт в комплекте.  Итак, это сам powerbank. Также инструкция, ...

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

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

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

Как работает Windows 10 на Raspberry Pi 4 и Pi 3 Разработчики наконец установили оптимизированную для ARM версию Windows 10 на Raspberry Pi 4 после того, как некоторым людям удалось запустить ее на Raspberry Pi 3 в первой половине 2019 года. Raspberry Pi 4 и Pi 3 официально поддерживают версию Windows 10 для IoT Core, кото...

[Перевод] Обработка сетевых данных на лету Перевод статьи подготовлен в преддверии старта курса «Пентест. Практика тестирования на проникновение». Аннотация Разнообразные виды оценки безопасности, начиная от регулярного тестирования на проникновение и операций Red Team до взлома IoT/ICS-устройств и SCADA, подразум...

Первый тестовый полёт Boeing Starliner оказался провальным Первый тестовый полёт космического корабля CST-100 Starliner компании Boeing к Международной космической станции ​​(МКС) потерпел неудачу. Космическому аппарату не удастся произвести стыковку с МКС, как было запланировано, так как он не вышел на расчётную орбиту. Запуск Star...

Что такое Immutable Infrastructure Меня зовут Никита, я системный инженер в компании SEMrush. И в этой статье я расскажу вам, что такое Immutable Infrastructure, какие у этого подхода есть преимущества и недостатки и как мы его используем в компании. Если вы ни разу не слышали такое словосочетание, то усажив...

[Перевод] Использование Clickhouse в качестве замены ELK, Big Query и TimescaleDB Clickhouse — это столбцовая система управления базами данных для онлайн обработки аналитических запросов (OLAP) с открытым исходным кодом, созданная Яндексом. Ее используют Яндекс, CloudFlare, VK.com, Badoo и другие сервисы по всему миру для хранения действительно больших об...

Xiaomi выпустила защищенную колонку компактных размеров Компания Xiaomi выпустила небольшую защищенную колонку Mi Outdoor Bluetooth Speaker.Стоимость Mi Outdoor Bluetooth Speaker составляет около $19.5. Колонка совместима с устройствами на базе операционных систем iOS и Android, также поддерживаются голосовые помощники.Новинка пр...

Тесты визуальной регрессии. Перезагрузка В своей предыдущей статье я рассказывал про опыт использования движка Gemini для разработки визуальных тестов, точнее, тестов визуальной регрессии. Такие тесты проверяют, не «съехало» ли что-нибудь в UI после очередных изменений с помощью сравнения текущих скриншотов с ранее...

Кастомизация компонентов Ant Design и оптимизация бандла The Archivist by juliedillon Я Иван Копенков, ведущий фронтенд-разработчик в Mail.ru Cloud Solutions, в статье расскажу, какие есть подходы к кастомизации компонентов UI-библиотеки Ant Design, как это сделали мы, а так же покажу, как удалось полностью избавиться от неисполь...

Сканирующее окно по массивам NumPy CoLab блокнот с примерами Возможно сделать скользящее окно (rolling window, sliding window, moving window) по массивам NumPy на языке программирования Python без явных циклов. В данной статье рассматривается создание одно-, двух-, трех- и N-мерных скользящих окон по массивам...

Пишем свой capped expirationd модуль для tarantool Какое-то время назад перед нами встала проблема чистки кортежей в спейсах tarantool. Чистку нужно было запускать не тогда, когда у tarantool уже заканчивалась память, а заранее и с определенной периодичностью. Для этой задачи в tarantool есть модуль, написанный на Lua, под ...

Создаем graphql бекенд на Golang Сегодня мы будем разрабатывать приложение на Golang + GraphQL. Мы часто используем GraphQL на своих проектах и знаем о нем немало, использовали его вместе с различными языками программирования: Javascript, Ruby и теперь руки дошли и до того чтобы попробовать связку Golang G...

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

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

Опыт использования MobX в большом приложении Всем привет! Меня зовут Сергей, я работаю в команде разработки приложений контроля качества Tinkoff. Поделюсь опытом нашей команды в использовании библиотеки Mobx и расскажу о деталях работы с ней в связке с React. В этой статье не будет описания базовых концепций. Я расск...

[Перевод] Почему Discord переходит с Go на Rust Rust становится первоклассным языком в самых разных областях. Мы в Discord успешно используем его и на серверной, и на клиентской стороне. Например, на стороне клиента в конвейере кодирования видео для Go Live, а на стороне сервера для функций Elixir NIF (Native Implemente...

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

Утекли характеристики графических процессоров для PlayStation 5 и Xbox Series X Похоже, компания AMD допустила утечку информации о технических характеристиках графических процессоров для игровых консолей PlayStayion 5 и Xbox Series X. Соответствующую информацию опубликовал технический отдел портала Eurogamer (Digital Foundry). Сообщается, что около 6 м...

PostgreSQL. Добавляем not null constraints в большие таблицы Проекты развиваются, клиентская база увеличивается, базы данных разрастаются, и наступает момент, когда мы начинаем замечать, что некогда простые манипуляции над базами данных требуют более сложных действий, а цена ошибки сильно повышается. Уже нельзя за раз промигрировать...

[Перевод] Ошибки при работе с датой и временем в SQL Server Перевод статьи подготовлен специально для студентов курса "MS SQL Server разработчик". Содержание Ошибка #1: Предполагать, что значения даты и времени хранятся в виде форматированных строк Ошибка #2: Забыть о людях, которые живут в других частях света Ошибка #3: ...

Гаджеты недели 30 марта 2020 года В этом выпуске «Гаджеты недели»: интеллектуальный динамик с сенсорным экраном Redmi XiaoAI Touch; музыкальный диффузор Essential Oils Diffuser; контейнер-стерилизатор EUE Phone для смартфонов и другие любопытные гаджеты. Смарт-динамик Redmi XiaoAI Touch ...

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

«HarmonyOS доступна для всех производителей смартфонов» — Huawei позиционирует ОС как альтернативу Android Представители Huawei в интервью TechRadar заявили, что операционная система HarmonyOS предназначена не только замены Android на устройствах Huawei и Honor, но и в качестве альтернативы для других брендов смартфонов, которые в настоящее время работают с Android. «H...

Как Windows 10X будет динамически менять обои для Рабочего стола Microsoft не много говорила о Windows 10X после ее анонса в октябре 2019 года, но слухи и утечки раскрыли новые детали модульной операционной системы Microsoft. Недавно в отчете сообщалось, что Windows 10X может поставляться с MacOS-подобной динамической функцией обоев Apple...

Оконные функции с «форточкой» или как пользоваться фреймом Всем привет. 26 февраля в OTUS стартовали занятия в новой группе по курсу «MS SQL Server разработчик». В связи с этим я хочу поделиться с вами своей публикацией про оконные функции. Кстати, в ближайшую неделю еще можно записаться в группу ;-). Оконные функции прочно вошл...

Появилась информация о природе таинственного разъёма новой приставки Xbox Series X Живые фото игровой консоли Xbox Series X, которая после выхода будет называться просто Xbox, появились в Сети ещё пару недель назад. Тогда мы смогли рассмотреть не только саму приставку, но и её набор портов. Среди прочих разъёмов там был некий непонятный порт прямоуго...

Разработка плагинов для Zabbix Agent 2 На последнем Zabbix Summit 2019 вместе с выходом Zabbix 4.4 был анонсирован новый Zabbix Agent 2, ключевая фишка которого — возможность написания плагинов к нему на языке Go. И многие сразу стали спрашивать: а как же, собственно, эти плагины писать, как они устроены? Где взя...

Как построить ракетный ускоритель для скриптов PowerCLI  Рано или поздно любой системный администратор VMware доходит до автоматизации рутинных задач. Начинается все с командной строки, потом идет PowerShell или VMware PowerCLI. Допустим, вы освоили PowerShell чуть дальше запуска ISE и использования стандартных командлетов из мод...

[Из песочницы] 9 ключевых алгоритмов машинного обучения простым языком Привет, Хабр! Представляю вашему вниманию перевод статьи «9 Key Machine Learning Algorithms Explained in Plain English» автора Nick McCullum. Машинное обучение (МО) уже меняет мир. Google использует МО предлагая и показывая ответы на поисковые запросы пользователей. Netflix...

Microsoft выпустила Windows 10 21H1 Build 19043.1023 Компания Microsoft выпустила Windows 10 21H1 Build 19043.1023 (KB5003214) для инсайдеров в каналах Beta и Release Preview. Это обновление включает следующие улучшения: • Исправлена проблема с поведением just-in-time (JIT) jscript9.dll; • Исправлена проблема, которая могла по...

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

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

9. Fortinet Getting Started v6.0. Логирование и отчетность Приветствую! Добро пожаловать на девятый урок курса Fortinet Getting Started. На прошлом уроке мы рассмотрели основные механизмы контроля доступа пользователей к различным ресурсам. Теперь перед нами другая задача — необходимо анализировать поведение пользователей в сети, ...

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

[Из песочницы] Чистая архитектура с Typescript: DDD и слоистая архитектура Привет, Хабр! В последнее время уделяю много внимание архитектуре и решил поделиться с сообществом переводом статьи Clean Architecture with Typescript: DDD, Onion автора André Bazaglia. Введение На протяжении более 6 лет моего профессионального опыта, я имел возможность раб...

В iOS 14 поддержку мыши выведут на новый уровень Анализируя код новой версии операционной системы iOS, команда 9to5Mac нашла упоминания функции, которая указывает на расширенную поддержку мыши. Уже в iOS 13 пользователи получили возможность использовать мыши с iPhone и iPad, но в в iOS 14 Apple улучшит эту функцию, а ...

[Перевод] Несколько полезных советов как практиковаться в Python Привет, Хабр! Сегодня я предлагаю Вам перевод статьи Duomly, посвящённой изучению и практике программирования на языке Python. Введение Изучение Python не сильно отличается от изучения других языков программирования. Один путь для становления профессионалом в Python (или в д...

Первые реальные проблемы с Xbox Series X и S Пару дней назад начались продажи игровых консолей Xbox Series X и Xbox Series S, но запуск получился не совсем гладким. В сети появляется всё больше жалоб на проблемы с консолями, из-за которой порой вовсе невозможно использовать устройство. У некоторых пользователей консол...

Windows 10 станет быстрее в May 2020 Update Устройства Windows 10 могут стать медленнее со временем. Несмотря на то, что существуют способы улучшить производительность вашего устройства, похоже, что Microsoft наконец-то вносит изменения с обновлением May 2020 Update, чтобы ускорить работу Windows 10 на некоторых устро...

Facebook Messenger получил поддержку функции демонстрации экрана во время разговора Facebook Messenger получил поддержку функции Screen Sharing, которая позволит демонстрировать картинку со своего смартфона другим участникам беседы. Функция может использоваться при звонке одному пользователю, в групповом чате или же в процессе более масштабного совещания в ...

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

[Из песочницы] Краткое сравнение архитектуры SDS или поиск подходящей платформы хранения (GlusterVsCephVsVirtuozzoStorage) Данная статья написана для того, чтобы помочь выбрать для себя подходящее решение и понять отличия между такими SDS как Gluster, Ceph и Vstorage (Virtuozzo). В тексте используются ссылки на статьи с более детальным раскрытием тех или иных проблем, поэтому описания будут мак...

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

Outline эффект с использованием RenderFeature в Unity URP В Universal Render Pipeline, создавая свои RendererFeature, можно легко расширить возможности отрисовки. Добавление новых проходов в конвеер рендеринга позволяет создавать различные эффекты. В этой статье, используя ScriptableRendererFeature и ScriptableRenderPass, создадим ...

ESP32 development board с кастомным дизайном Наконец то у меня добрались руки до сборки минимального аналога Espressif Systems плат на ESP32 микроконтроллере. На плате расположен микрофон, усилитель для этого микрофона на одном транзисторе. Усилитель для динамика на трех транзисторах с выходным каскадом работающим в р...

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

Все, что вы хотели узнать про области видимости в Python, но стеснялись спросить В преддверии старта нового потока по курсу «Разработчик Python», решили поговорить про области видимости в Python. Что из этого вышло? — Читайте в материале ниже. Сегодня мы будем говорить о важных теоретических основах, которые необходимо понимать и помнить, чтобы писат...

[Из песочницы] Как достичь своих целей? Привет, Хабр! Представляю вашему вниманию перевод ранее опубликованной на Хабре статьи «How to achieve goals?». 5 жизненных советов, которые помогут вам достичь своей желаемой цели. Конечно же, не обязательно выполнять их все в указанном порядке. Но самое важное — не просто...

Интернет вещей в Яндекс.Облаке: как устроены сервисы Yandex IoT Core и Yandex Cloud Functions В октябре прошлого года состоялась первая облачная конференция Яндекса Yandex Scale. На ней было объявлено о запуске множества новых сервисов, в том числе Yandex IoT Core, который позволяет обмениваться данными с миллионами устройств Интернета вещей. В этой статье я расск...

Messenger Rooms бросает вызов Zoom Похоже, однако, что участие в групповых видеоконференциях без ограничений будет доступно только пользователям Facebook. В условиях, когда сервис Zoom стал фактическим синонимом группового видеочата, компания Facebook анонсировала целый ряд различных вариантов удаленного п...

4. NGFW для малого бизнеса. VPN Продолжаем наш цикл статей о NGFW для малого бизнеса, напомню что мы рассматриваем новый модельный ряд 1500 серии. В 1 части цикла я упомянул об одной из самых полезных опций при покупке устройства SMB — поставка шлюзов с встроенными лицензиями Mobile Access (от 100 до 200...

Коммуникации внутри удаленной команды — наш опыт В этой статье мы решили немного раскрыть внутреннюю кухню. В удаленной команде один из главных элементов — коммуникации. Расскажем, как это у нас организовано, — с целевыми параметрами (SLO) и конкретикой. Читать дальше →

Интеграция проекта VueJS+TS с SonarQube В своей работе мы активно используем платформу SonarQube для поддержания качества кода на высоком уровне. При интеграции одного из проектов, написанном на VueJs+Typescript, возникли проблемы. Поэтому хотел бы рассказать подробней о том, как удалось их решить. В данной стать...

[recovery mode] Уйти от jQuery к Svelte, как это было Всем привет. Это отчёт в продолжение статьи "Уйти от jQuery к Svelte, без боли". Ниже я расскажу о трудностях с которыми столкнулся, их было не много, и только одна была настолько фундаментальной, где без поддержки сообщества я бы не справился. Введение Я планир...

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

Инструкция: устанавливаем Windows Subsystem for Android на любой сборке Windows 11 Несколько дней назад Microsoft начала тестирование подсистемы Windows Subsystem for Android (WSA), которая позволяет запускать Android-приложения в Windows 11. Сейчас функция доступна только участникам программы Windows Insider на канале Beta, что несколько удивительно, так...

Прокачай свой CLI Сейчас многие фреймворки имеют в своем арсенале CLI (Command Line Interface) и ангуляр – не исключение. Впервые с CLI-утилитами я столкнулся, когда пробовал EmberJS и тогда мне это показалось очень удобным инструментом, который довольно сильно экономил мое время. Но, к сожал...

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

Java-дайджест за 4 мая Вышла совершенно новая библиотека Enriched Beans — генератор исходников, совместимый с JSR 330: Dependency Injection for Java. Конкретно, генерит он фабрики, совместимые с фреймворками вроде Spring и Micronaut. Работает примерно как AutoFactory, может использоваться вместе...

Центробанк собирается запустить «убийцу» Apple Pay и Google Pay Как пишет CNews со ссылкой на РБК, оплата будет осуществляться по технологии NFC, как это происходит в системах Apple Pay, Samsung Pay и Google Pay, а также при бесконтактной оплате банковскими картами.Внедрение уже обсуждается с Национальной системой платежных карт (НСПК), ...

6. NGFW для малого бизнеса. Smart-1 Cloud Приветствую всех, кто продолжает читать цикл о новом поколении NGFW Check Point семейства SMB (1500 cерия). В 5 части мы рассмотрели решение SMP (портал управления для SMB шлюзов). Сегодня же хотелось бы рассказать о портале Smart-1 Cloud, он позиционирует себя как решени...

В роликах на YouTube появятся видеоглавы Google приступил к запуску новой функции в роликах на YouTube, которая получила название «видеоглавы». Видеоглавы – аналоги таймкодов, которые призваны сделать просмотр видео ещё удобнее. Благодаря новой функции зрители смогут лучше ориентироваться в видео, сразу п...

Natural Language Processing. Итоги 2019 и тренды на 2020 Всем привет. С некоторым запозданием я решил опубликовать эту статью. Каждый год я стараюсь подвести итоги произошедшего в области обработки естественного языка (natural language processing). Не стал исключением и этот год. BERTs, BERTs are everywhere Начнем по порядку. Ес...

[Из песочницы] Используем macOS для удалённой сборки Unreal Engine билдов из-под Windows Любой пользователь ОС Windows, вставший на увлекательный путь кросс-платформенной разработки, однажды сталкивается с проблемой невозможности сборки «яблочных» билдов из рабочего окружения: для сборки и подписания приложения требуется девайс с macOS. У нас есть два варианта:...

[Перевод] Знакомимся с NestJS Перевод статьи подготовлен в преддверии старта курса «Разработчик Node.js». У современных разработчиков есть много альтернатив, когда речь заходит о создании веб-сервисов и других серверных приложений. Node стал крайне популярным выбором, однако многие программисты предп...

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

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