Социальные сети Рунета
Вторник, 26 октября 2021

[Из песочницы] Instagram api на минималках Все началось с того, что я захотел сделать канал в инстаграме потратив на поиски и тесты сервисов авто публикаций целый день, далее я решил посмотреть на готовые пакеты гитхаба я удивился на размер кода этих пакетов (некоторые фреймворки php меньше чем эти обертки над инст...

[Перевод] @Once: однократные замыкания В Swift 5.5 появилась возможность использовать обертки свойств на параметрах функций и замыканий. Это наконец позволило мне реализовать то, что я и многие другие люди всегда хотели видеть в Swift — способ каким-либо образом обеспечить, чтобы замыкание (closure) вызывалось ро...

Самые популярные структуры данных Что такое структура данных? Проще говоря, структура данных — это контейнер, в котором хранятся данные в определенной компоновке (формате, или способе организации их в памяти). Эта «компоновка» позволяет структуре данных быть эффективной в одних операциях и неэффективной в др...

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

[Перевод] Работа с библиотеками KTX Когда вы используете Android Java API в Kotlin, к вам достаточно быстро приходит понимание, что вам не хватает некоторых фич Kotlin, которые делают написание кода намного проще и приятнее. Вместо того, чтобы писать свои собственные обертки и функции расширения для этих API, ...

JavaScript: как из Fetch сделать Axios? Привет, друзья! В этой статье я хочу поделиться с вами результатами небольшого эксперимента, суть которого заключается в создании обертки над Fetch API для максимального упрощения работы с ним. С чего все началось? Прочитал статью Kent C. Dodds "Replace axios with a s...

[Перевод] Самые популярные базы данных NoSQL, поддерживаемые ClusterControl NoSQL ("не только SQL") — это подход к проектированию баз данных, который позволяет хранить и запрашивать данные вне традиционных структур, используемых в реляционных базах данных. Он был создан в первую очередь для работы с неструктурированными данными, которые генерируются...

[Перевод] Как автоматизировать развертывание баз данных с помощью Liquibase? Liquibase — это инструмент управления изменениями в базе данных. С его помощью вы можете отслеживать изменения в базе данных, сделанные с помощью SQL (или XML) скриптов. Эти скрипты могут быть добавлены в системы контроля версий, такие как git.В данной статье мы рассмотрим, ...

Джентльменский набор программиста UE4, ч. 3 Данный вопросник является дополнением и логическим завершением темы "джентльменского набора", поднятой ранее. Разработка игр — весьма комплексная индустрия, с очень широкими набором технологий и подходов, при этом базис у всех этих вещей на самом деле общий. Этот список созд...

CSS Grid понятно для всех Что такое Grid? Grid представляет собой пересекающийся набор горизонтальных и вертикальных линий — один набор определяет столбцы, а другой строки. Элементы могут быть помещены в сетку, соответственно строкам и столбцам. Поддержка браузерами В 2020 году поддержка браузерами...

[recovery mode] ООП: Кто взял Измаил? Вопрос принадлежности методов объекту Данная статья посвящена разбору вопроса о том, какому именно объекту ООП должен принадлежать метод, осуществляющий взаимодейстие между несколькими сущностями. Это распространённая тема для холиваров. Например: Не используйте ООП. Никогда. Это ошибка. На эту тему есть много...

C++ zero-cost abstractions на примере хеш-таблиц в ClickHouse. Доклад Яндекса Хеш-таблицы — это королевы структур данных. Нигде не сломано так много копий, как на оптимизации хеш-таблиц. В докладе я рассказал ещё об одной хеш-таблице, которая используется в ClickHouse. Вы увидите, что zero-cost abstractions в современном С++ оправдывают себя и как с п...

[Из песочницы] База данных на ScriptableObject c системой сейва/загрузки Введение В каждой игре есть данные, с которыми работают гейм-дизайнеры. В рпг — это база данных айтемов, в матч-3 — стоимость в кристаллах инструментов из магазина, в экшенах — количество хп, на которое лечит аптечка. Для хранения таких данных существует много способов — кт...

[Перевод] Темная сторона DateTime.Now DateTime.Now — одно из наиболее часто используемых свойств в .NET Framework. Несмотря на то, что это свойство предназначено для определенных целей, из-за недостатка понимания и сноровки многие .NET-разработчики используют его при неправильных обстоятельствах, когда следует и...

Как автоматизировать безопасный декодинг массивов в Swift с @propertyWrapper Привет! На связи Влад, iOS-разработчик из Ozon. Сегодня я поделюсь с вами, возможно, не самым очевидным способом использования propertyWrappers. Обёртки позволяют добавлять дополнительную логику свойствам. В одну из них мы спрятали описание безопасного декодинга массивов, и ...

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

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

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

Неделя фронтенда на Хабр Карьере Мы, конечно, не астрологи, но решили сделать так, чтобы крутые фронтендеры нашли себе работу мечты и поэтому объявляем неделю фронтенда на Хабр Карьере! Читать далее

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

Методы организации DI и жизненного цикла приложения в GO Есть несколько вещей, которыми можно заниматься вечно: смотреть на огонь, фиксить баги в легаси-коде и, конечно, говорить о DI — и всё равно нет-нет, да и будешь сталкиваться со странными зависимостями в очередном приложении. В контексте языка GO, впрочем, ситуация чуть слож...

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

[Перевод] В чём разница между узлом и элементом DOM? Объектная модель документа (Document Object Model, DOM) — это интерфейс, который рассматривает HTML- или XML-документы в виде древовидных структур, каждый узел которых является объектом документа. DOM, кроме того, предоставляет набор методов для выполнения запросов к дереву ...

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

Корпоративная магистратура JetBrains в Университете ИТМО ищет новых студентов Объявляем набор на магистерскую программу JetBrains “Разработка программного обеспечения” на 2021-2023 учебные годы. Мы ждем тех, кто уже обладает базовыми знаниями в программировании и готов посвятить два года интенсивной учебе.Обучение ведется по двум специализациям: разра...

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

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

Используем serverless для построения аналитики на данных из AmoCRM в Yandex.Cloud Сегодня почти любая современная компания собирает, хранит и использует данные о своей деятельности, используя облачные технологии. В этой статье вы можете узнать о том, как можно вытащить данные из AmoCRM, обработать их с помощью функций и проанализировать с помощью DataLens...

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

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

Распределённое хранение данных в IPFS Cluster Дисклеймер: эта статья рассчитана на понимание основных принципов работы InterPlanetary File System. Если вы не знакомы с IPFS, начните с этой статьи или загляните на ipfs.io. Самый известный и труднопреодолимый недостаток IPFS в скорости её работы. Так как все данные раз...

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

Fortinet Single Sign-On. Описание технологии Приветствуем! На протяжении всего времени нашей работы с решениями компании Fortinet, а в частности с межсетевым экраном нового поколения FortiGate, одним из самых интересующих вопросов является контроль и отслеживание трафика отдельных пользователей или групп пользователей....

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

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

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

Некоторые методы детектирования отладки iOS приложений Изучение приложений на платформе iOS - это достаточно сложная задача, которая разрешима, если использовать правильный набор инструментов. Основа такого набора - устройство с установленным jailbreak и инструмент frida Frida.Далее будет рассказано о нескольких способах детекти...

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

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

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

Почему технические собеседования не нужны Ремарка - речь пойдет о 98% собеседований в постсоветском пространстве на позицию Java Developer. Начну вот с чего: знание Collections Framework, его иерархии наследования, внутренней работы HashMap и количества примитивов в языке - никак, совсем никак, не может дать пр...

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

[Перевод] Бинарный протокол для JavaScript Нативная поддержка JSON одно из преимуществ разработки full-stack JavaScript приложений. JSON является простым, не требующим схемы и человекочитаемым - качества особенно ценимые на ранней стадии разработки, когда ваша модель данных подвержена частым изменениям. Однако за все...

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

Model Checking для тестирования многопоточности? С Lincheck — легко Привет! Сегодня мы будем говорить про многопоточность и расскажем про инструмент  Lincheck – один из ключевых проектов  Лаборатории параллельных вычислений в JetBrains Research. Если в двух словах, то это фреймворк для тестирования многопоточных структур данных под...

Я твой WAF payload шатал Пару недель назад команда Vulners опубликовала сравнение нескольких популярных WAF. Поймав себя на мысли - "а как оценивать качество его работы?", я решил разобрать подробнее тему security-тестов и критериев оценки Web Application Firewall. Статья пригодится, в первую очеред...

[Из песочницы] Теория графов в машинном обучении для самых маленьких Сложность представления данных для глубокого обучения растет с каждым днем. Нейронные сети на основе данных в виде графа (Graph Neural Network, GNN) стали одним из прорывов последних лет. Но почему именно графы набирают все большую популярность в машинном обучении? Конечной ...

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

[Перевод] Детальный обзор Well-known Symbols Доброго времени суток, друзья! Символ (Symbol) — это примитивный тип данных, представленный в ECMAScript2015 (ES6), позволяющий создавать уникальные идентификаторы: const uniqueKey = Symbol('SymbolName'). Вы можете использовать символы в качестве ключей для свойств объек...

[Из песочницы] Unity Editor Adventures: Сериализованная Матрёшка Краткое вступление Как правило, для того чтобы добраться до интересующего нас поля сериализованного свойства, мануальная терапия советует нам использовать метод FindPropertyRelative(), в который прокидывается название переменной. По определённым причинам такой подход не все...

Автоматизация тестирования: Java или Python? Всем привет! В марте OTUS запускает сразу два курса по автоматизации тестирования: «Python QA Engineer» и «Java QA Engineer». У нас часто спрашивают, какой из этих курсов выбрать, ответить на данный вопрос мы решили переводом статьи от компании SafeBear. Один из самых попу...

[Перевод] Разбираемся в моделях кода архитектуры x64 «Какой моделью кода мне воспользоваться?» — часто возникающий, но нечасто разбираемый вопрос при написании кода для архитектуры х64. Тем не менее, это довольно интересная проблема, и для понимания генерируемого компиляторами машинного кода х64 полезно иметь представление о м...

Как я сделал свою сборку Gulp для быстрой, лёгкой и приятной вёрстки Серьёзно и профессионально я начал заниматься вёрсткой в 2019 году, хотя до этого интересовался данной темой как любитель. Поэтому новичком мне себя назвать сложно, но и профессионалом с опытом 5+ лет я тоже не являюсь.Тем не менее, я успел познакомиться со сборщиком Gulp, е...

VMware ESXi на Raspberry Pi: они реально это сделали То, что выглядит как забавная шутка, иногда оказывается вполне серьезным проектом. Это редко, но случается. Буквально на этой неделе было анонсировано техническое превью гипервизора VMware ESXi на архитектуре aarch64 под названием ESXi-Arm-Fling. В этой статье мы рассмотрим...

WSL эксперименты. Часть 1 Привет, хабр! В октябре OTUS запускает новый поток курса «Безопасность Linux». В преддверии старта курса делимся с вами статьёй, которую написал один из наших преподавателей — Александр Колесников. В 2016 году компания Microsoft представила IT сообществу новую технологи...

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

[Из песочницы] Отладка и программирование микроконтроллеров stm32f303, atmega328 через любой интерфейс, как через jtag Данная статья посвящена моему первому open source проекту “repl”(ссылка на репозиторий внизу). Идея данного проекта заключается в том, чтоб позволить программисту микроконтроллеров отлаживать программу в микроконтроллере через любой его интерфейс, при этом чтобы отладка не с...

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

[Перевод] Анализ данных Twitter для ленивых в Elastic Stack (сравнение Xbox и PlayStation) Данные Twitter можно получить множеством способов — но кому хочется заморачиваться и писать код? Особенно такой, который будет работать без перебоев и перерывов. В Elastic Stack вы можете с легкостью собирать данные из Twitter и анализировать их. Logstash может в ...

Синергия Graphviz и препроцессора C/C++ Это статья посвящена тому, как использовать популярный инструмент рисования графов Graphviz в кооперации с препроцессором C/C++ (далее просто препроцессор). Ключевым моментом является то, что язык описания графов dot, который использует Graphviz, по своему синтаксису пригоде...

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

ИТ-инфраструктура компании EOS размещена в облаке Техносерв Cloud Техносерв Cloud объявляет о сотрудничестве с международным холдингом EOS. Компания EOS использует «Виртуальный дата-центр» на базе VMware. Облачный центр обработки данных предоставляются по сервисной модели IaaS, что позволяет ...

Что нужно знать об устройстве коллекций, основанных на хешировании Всем привет. На связи Владислав Родин. В настоящее время я являюсь руководителем курса «Архитектор высоких нагрузок» в OTUS, а также преподаю на курсах посвященных архитектуре ПО. Помимо преподавания, как вы могли заметить, я занимаюсь написанием авторского материала для б...

Фичи JavaScript. Часть 1 Доброго времени суток, друзья! В этой статье я хочу поделиться с Вами некоторыми находками, сделанными мной в процессе изучения JavaScript. Возможно, Вы найдете для себя что-то интересное. Данная часть серии будет посвящена, преимущественно, работе с DOM. Рекомендую прим...

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

Cucumber и BDD. Пишем UI-автотесты на iOS Привет, Хабр! В данной статье-мануале я хочу рассказать о базовых функциях такого фреймворка как Cucumber и его применение для создания ui авто тестов на мобильных iOS устройствах.Я ставлю перед собой задачу сделать описание максимально простым и понятным для большинства чит...

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

Что Data Scientist может подсмотреть у разработчика Всем привет, меня зовут Дарья Пронина, я специалист по анализу данных и машинному обучению в отделе R&D в Lamoda. Я расскажу о том, что специалист по Data Science может подсмотреть у разработчиков, чтобы сделать свою работу эффективнее, production-процессы — устойчивее, ...

Анатомия юнит-теста Эта статья является конспектом книги «Принципы юнит-тестирования». Материал статьи посвящен структуре юнит-теста.В этой статье рассмотрим структуру типичного юнит-теста, которая обычно описывается паттерном AAA (arrange, act, assert — подготовка, действие и проверка). З...

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

4. Check Point SandBlast Agent Management Platform. Политика Data Protection. Deployment и Global Policy Settings Добро пожаловать на четвёртую статью цикла о решении Check Point SandBlast Agent Management Platform. В предыдущих статьях (первая, вторая, третья) мы детально описали интерфейс и возможности веб-консоли управления, а также рассмотрели политику Threat Prevention и протести...

Пишем простейший GitHub Action на TypeScript Недавно я решил немного привести в порядок несколько своих .NET pet-проектов на GitHub, настроить для них нормальный CI/CD через GitHub Actions и вынести всё в отдельный репозиторий, чтобы все скрипты лежали в одном месте. Для этого пришлось как следует изучить документацию,...

Полный цифровой протокол с использованием 3D-печати и сканирования в стоматологии. 19-20 декабря. Москва. Мы рады сообщить Вам, что 19-20 декабря, в рамках iGo3D CAD/CAM COLLEGE, мы проведем курс о полном цифровом протоколе с использованием 3D-печати в стоматологии!По многочисленным просьбам пользователей, мы объявляем Вам, что 19-20 декабря, состоится двухдневный курс CAD/CAM C...

Эволюция Docker. Часть 2.1 Данная статья является второй, в цикле по истории развития и изучению исходного кода Docker. В ней мы разберем, что представлял собой первый публичный релиз от 23 марта 2013 года. Изначально я планировал уложить весь материал, посвященный этой версии, в одной статье, но...

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

SQL HowTo: обрабатываем дерево — упорядочиваем иерархию с рекурсией и без Видимо, это осень так влияет, что за последний месяц на PostgreSQL уже и в «Морской бой» играли, и «Жизнь» Конвея эмулировали… Что уж оставаться в стороне! Давайте и мы потренируем мозг в реализации нетривиальных алгоритмов на SQL. Тем более, сегодняшняя тема родилась из об...

Собственные метрики JFR и их анализ Недавно я описывал как осуществлять запуск и управление Java Flight Recorder (JFR). Теперь решил затронуть тему записи в JFR метрик, специфичных для приложения, а так же способов их анализа в Java Mission Control (JMC). Это позволяет расширить понимание происходящего с прило...

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

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

Пишем и тестируем миграции БД с Alembic. Доклад Яндекса Приложения на бэкенде могут работать с самыми разными базами данных: PostgreSQL, SQLite, MariaDB и другими. Перед разработчиками встает задача реализовать возможность легко и безопасно изменять состояние БД. Менять нужно как структуру базы, так и сами данные от одной версии ...

Mikrotik и VLAN Сразу оговорюсь, что данная статья про Router OS, а не Switch OS. На мой взгляд, работа с VLAN в Mikrotik освещена хуже всего. Да, конечно есть набор статей на эту тему, но лично я когда их все читал... У меня не складывалось глубокого понимания, как именно это всё работает...

Наследование компонентов в Angular: простой способ решить проблему с Dependency Injection Итак, собственно проблема: порой у нас в проекте есть много похожих компонентов, с одинаковой логикой, одинаковыми DI, свойствами итд и возникает мысль: а почему бы не вынести все это дело в базовый компонент (точнее директиву) абстрактным классом, а остальные компоненты уже...

Если мало GeForce RTX 3090. Nvidia готовится выпустить GeForce RTX 3090 Super Несмотря на то, что GeForce RTX 3090 и так является весьма специфической и очень дорогой видеокартой, Nvidia, если верить свежим данным, всё же готовит её ускоренную версию.  Источник утверждает, что RTX 3090 Super всё-таки выйдет. Такая карта получит GPU GA102 в ...

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

Ищем цепочку событий в потоке данных с помощью FlinkCEP В данной статье речь пойдет об использовании открытой платформы Apache Flink для обнаружения цепочки последовательности событий. Статья подойдет как для начинающих разработчиков в области обработки потоковых данных, так и для тех, кто желает познакомиться с Apache Flink. Н...

[Перевод] Корутины в C++20. Часть 2 Введение Данная статья является продолжением данной статьи. Бесконечный поток данных при помощи co_yield Код ниже реализует бесконечный поток данных. Корутина getNext использует co_yield для создания потока данных который начинается со start и выдает по запросу каждое новое ...

[Перевод] Проектирование API: почему для представления отношений в API лучше использовать ссылки, а не ключи Привет, Хабр! У нас выходит долгожданное второе издание книги "Веб-разработка с применением Node и Express". В рамках исследования этой темы нами была найдена концептуальная статья о проектировании веб-API по модели, где вместо ключей и значений базы данных при...

Архитектура контейнеров, часть 2. Пользовательское пространство Материал переведен. Ссылка на оригиналВ первой статье из серии "Архитектура контейнеров" (перевод, оригинал на англ.) мы рассмотрели разницу между пользовательским пространством и пространством ядра. Сегодня мы продолжим изучение этой темы и посмотрим подробнее на пользовате...

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

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

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

Реальный способ улучшения снимка без фоторедакторов Изначально, статья должна была быть присвоена теме улучшения снимков с помощью приложения для фото на основе алгоритмов искусственного интеллекта (https://play.google.com/store/apps/details?id=wide.android.camera&hl=uk), но разница между стандартным приложением фотокаме...

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

[Перевод] Что нового в C# 9.0 В преддверии старта нового потока курса «C#-разработчик» представляем вашему вниманию обзор нововведений. Среди них — новый метод доступа к свойству — init, не позволяющий изменять свойства после инициализации, with-выражения для изменения свойств объекта прямо здесь и сейча...

[Перевод] Спецификация D-Bus. Часть 1 Данная статья открывает серию публикаций с переводом спецификации D-Bus (Версия 0.36 от 2020-04-21). Поскольку у D-Bus нет логотипа, то в качестве обложки была использована картинка автобуса с D-образным корпусом. Для краткого введения в тему D-Bus рекомендую прочитать пер...

Ещё один велосипед: храним юникодные строки на 30-60% компактнее, чем UTF-8 Если вы разработчик и перед вами стоит задача выбора кодировки, то почти всегда правильным решением будет Юникод. Конкретный способ представления зависит от контекста, но чаще всего тут тоже есть универсальный ответ — UTF-8. Он хорош тем, что позволяет использовать все сим...

CGTN: GAUC проведет всемирный молодежный саммит на тему безуглеродного будущего ПЕКИН, 25 августа 2021 г. /PRNewswire/ — 2021 год является критически важным в плане активизации мер по борьбе с изменением климата. В целях мобилизации, демонстрации и максимального укрепления потенциала молодежи в борьбе с изменением климата Международный университет...

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

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

[Перевод] Вы можете создавать эти элементы, не используя JavaScript Мы привыкли создавать некоторые элементы пользовательского интерфейса с помощью JavaScript, например аккордеоны, всплывающие подсказки (тултипы), усечение текста и т. д. Но, поскольку HTML и CSS постоянно получают новые функции, а старые браузеры больше не нужно поддерживать...

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

[Перевод] Go: Управление обработкой множественных ошибок Управление обработкой ошибок в Go всегда вызывает споры — это извечная тема в ежегодном опросе о самых больших проблемах, с которыми сталкиваются разработчики при работе с Go. Однако когда дело доходит до обработки ошибок в многопоточной среде или объединения нескольких ошиб...

[Перевод] В каких случаях не нужно использовать списки в Python Перевод статьи подготовлен в преддверии старта базового курса «Разработчик Python». В Python, наверное, самым популярным контейнером данных будет список (list). Он настолько гибкий, что его можно использовать в проектах почти повсеместно и хранить в нем данные различного т...

Обработка больших данных: первые шаги в понимании Hadoop MapReduce и Spark Привет, Хабр! Меня зовут Эмилия Межекова, я ETL-developer в компании Luxoft.Я расскажу о своём опыте работе с Big Data и почему Spark лучше, чем Hadoop MapReduce в обработке данных. Big Data как концепт довольно понятна, но из-за того, что она включает в себя множество проце...

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

Review- или динамические окружения. Теория и практика в Kubernetes Статья посвящена так называемым review-окружениям, реализуемым в рамках кластеров Kubernetes. Ранее эта тема затрагивалась, например, в нашем докладе «Лучшие практики CI/CD с Kubernetes и GitLab», но не была там основной темой, поэтому раскрывалась не во всех деталях. Попроб...

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

[Перевод] Миграция с Terraform на Terragrunt В Bestmile мы используем Terraform для AWS IaC. Но чем больше развивалась наша инфраструктура, тем запутаннее становился код Terraform.Код Terraform стало сложнее обслуживать. Он терял эффективность. Terraform — отличный инструмент, но нуждается в дополнениях. Здесь-то ...

Адаптивные изображения. Что использовать: img или picture? Теги img и picture предназначены для загрузки изображений. Каждый из них позволяет задать набор правил, согласно которым браузер будет выбирать, какое из изображений загружать. В статье рассморен синтаксис и различия данных тегов. Читать далее

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

Citrus: Набор стилей для AvaloniaUI В комментариях к новостям об изменениях и улучшениях в новых версиях кроссплатформенного GUI-фреймворка AvaloniaUI довольно часто можно увидеть критику тем оформления, используемых по умолчанию. Дело в том, что данные темы были созданы на основе Metro — художественного стил...

В Google объяснили, почему полевые данные более надёжные, чем лабораторные Ранее в этом месяце сотрудник Google Мартин Сплитт (Martin Splitt) объяснил, в чём разница между лабораторными (lab data) и полевыми данными (field data), которые используются в инструментах для вебмастеров. По словам Сплитта, полевые данные более надёжные, поскольку они явл...

[Перевод] Framework vs Platform: в чём разница? Привет, Хабр! Представляю вашему вниманию перевод статьи "Framework Vs. Platform What’s The Difference?" автора G. Harris. Исповедуюсь: я педант. Несмотря на личные неудачи на этом поприще, я глубоко верю, что использование правильного языка добавляет множество пре...

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

Бессерверная альтернатива традиционным базам данных Современная распределенная СУБД должна уметь поддерживать различные типы нагрузки, удовлетворяя запросы совершенно разных пользователей. СУБД Yandex Database позволяет не только хранить петабайты данных, поддерживать обработку миллионов запросов в секунду, но и предоставляет...

[Перевод] Почему базы данных NoSQL — плохое решение для современных приложений Здравствуйте, Хабр. Сегодня мы предлагаем вашему вниманию перевод статьи из блога MemSQL, которая исходно является рекламной (посвящена достоинствам MemSQL, обновлена по состоянию на начало января 2020 года). Но мы решили все-таки перевести ее в сокращенном виде, поскольку ...

Почему AirPods не зачитывают входящие уведомления Новая фишка, которая появилась в iOS 13, позволяет зачитывать текст входящих сообщений через гарнитуру AirPods. Чтобы она работала, нужно выполнить следующие условия: 1. Нужно обновить iPhone или iPad, с которым работает гарнитура до iOS 13.2. 2. Для чтения уведомлений...

[Перевод] Подробности об использовании CSS-функции minmax() в Grid-макетах Существует множество руководств, в которых рассматриваются общие вопросы работы с CSS Grid, с механизмом, позволяющим создавать сеточные макеты. Я и сам немало об этом писал. Но я обратил внимание на то, что у многих разработчиков возникают сложности с использованием CSS-фун...

Темы оформления (скины) для Makerbase MKS-TFT 3.5 Не так давно я собирал новый принтер. Выбрав дисплей MKS-TFT 3.5, столкнулся с тем что тема оформления по умолчанию ужасна. Готовых альтернативных тем именно для этой модели я не нашёл. Но наткнулся на замечательную работу majurca для MKS-TFT 2.8. Увы, но есть несколько прич...

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

Использование российских облачных сервисов очередей на C# Данная статья будет полезна тем, кто хочет начать работать с очередями сообщений или хочет перевести работающий проект с зарубежных облачных сервисов, либо с сервисов обслуживаемых собственными силами. В данной статье не будут затронуты вопросы: "Что такое очереди сообщений?...

Трюки для обработки метрик в Kapacitor Скорее всего, сегодня уже ни у кого не возникает вопрос, зачем нужно собирать метрики сервисов. Следующий логичный шаг – настроить алертинг на собираемые метрики, который будет оповещать о любых отклонениях в данных в удобные вам каналы (почту, Slack, Telegram). В сервисе он...

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

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

Работа с объектным S3-хранилищем Mail.ru Cloud Solutions как с файловой системой Waste Pickers by GabrielBStiernstrom С объектными хранилищами чаще всего работают через API. Но если очень хочется, можно сложить туда файлы и работать с ними в объектном хранилище, как в файловой системе, с иерархией каталогов. Грубо говоря, в хранилище можно выложить фото...

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

Современный код для выполнения HTTP запросов в Swift 5 с помощью Combine и применение их в SwiftUI. Часть 1 Выполнение HTTP запросов — это один из самых важных навыков, которые необходимо получить при разработке iOS приложений. В более ранних версиях Swift (до версии 5) вне зависимости от того, формировали ли вы эти запросы «с нуля» или с использование известного фреймворка Alam...

Подключаем нагрудный датчик пульса по Bluetooth на Swift Подключаем нагрудный пульсометр к IOS устройству на Swift по протоколу Bluetooth без смс и регистраций.У меня был китайский пульсометр CooSpo, MacBook, iPhone и немного свободного времени, чтобы написать данный гайд, так как информации в интернете по данной теме не совсем мн...

[Перевод] Понимание CSS Grid (2 часть): Grid-линии Приветствую! Представляю вашему вниманию перевод статьи «Understanding CSS Grid: Grid Lines» автора Rachel Andrew В первой статье из серии "Понимание CSS Grid" мы рассмотрели, как создавать родительский grid-контейнер и различные свойства, применяемые к данному эл...

ELITechGroup приобретает GONOTEC — одного из лидеров в области криоскопической осмометрии ЛОГАН (шт. Юта), 15 июля 2021 г. /PRNewswire/ — ELITechGroup, лидер мирового рынка технологий осмометрии паровой фазы, объявляет о приобретении компании GONOTEC — одного из ведущих игроков рынка технологий криоскопической осмометрии. Покупка компании объединяет дв...

Метеостанция на Banana Pi M64 (Linux, C#, Docker, RabbitMQ, AvaloniaUI) Статей о создании метеостанции на базе Arduino не счесть. Можно сказать, если статья про метеостанцию, то это про микроконтроллеры Arduino, ESP32 или STM32. Но только не в этот раз. Будем запускать метеостанцию на Banana Pi BPI-M64 под Linux, без использования Arduino-подо...

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

Операционная Система «Сивелькирия»: вводное описание Привет, Хабр. Эта статья открывает цикл публикаций об операционной системе «Сивелькирия», на данный момент находящейся на раннем этапе проектирования и разработки. В статьях цикла будут подробно описаны системные проблемы популярных операционных систем и предложены пути их ...

Ни туда, ни обратно Хотел я написать комментарий к статье «Германия или Туда и Обратно», да получился он настолько развернутым, что решил написать изложить свои мысли в отдельную статью.Начнем с того, что тема отъезда и приезда коснулась меня самого лично, о своем опыте я писал некоторое время ...

[Перевод] Как управлять вашими секретами с git-crypt Большинство программных проектов используют секреты – обычно, как ключи к удаленному API или данные для доступа к внешнему ресурсу, например к базе данных. Вашему приложению необходимы эти ключи во время работы, поэтому вам нужно предоставить их при развертывании приложения ...

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

[Перевод] Новое тестирование фичей в Django 3.2 Пару недель назад Django 3.2 выпустил свой первый альфа-релиз, а финальный релиз выйдет в апреле. Он содержит микс новых возможностей, о которых вы можете прочитать в примечаниях к релизу. Эта статья посвящена изменениям в тестировании, некоторые из которых можно получить на...

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

Временные ограничения для внешних интерфейсов ПЛИС Здравствуйте. В данной статье я хочу по возможности максимально просто и понятно рассказать о том, как рассчитываются временны́е ограничения (timing constraints) на синхронные интерфейсы ПЛИС. Просто — не значит коротко, но зато простыми словами, которые вы сможете легк...

Будущее JavaScript: декораторы Доброго времени суток, друзья! Представляю вашему вниманию адаптированный перевод нового варианта предложения (сентябрь 2020 г.), касающегося использования декораторов в JavaScript, с небольшими пояснениями относительно характера происходящего. Впервые данное предложение...

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

[Перевод] Абрахам Флекснер: Полезность бесполезных знаний (1939) Разве не удивительно, что в мире, погрязшем в необоснованной ненависти, угрожающей самой цивилизации, мужчины и женщины, и стар, и млад, частично или полностью отделяются от злобного потока будничной жизни, чтобы посвятить себя культивированию красоты, распространению знан...

Почему следует избегать использования JPA/Hibernate в продакшене JPA безусловно самая распространённая технология работы с базами данных на платформе Java. Но она же и наименее пригодна для разработки быстрых и поддерживаемых систем. В этой статье я расскажу почему JPA лучше не использовать в продакшене и что можно использовать вместо неё...

Способы хранения деревьев в реляционных базах данных c использованием ORM Hibernate Здравствуйте! В этой статье, я постараюсь кратко рассказать о четырёх достаточно известных способах хранения деревьев с указанием преимуществ и недостатков. На идею написать подобную статью подтолкнул, когда-то не раз заданный мне вопрос: "А как это будет в Hibernate?", то е...

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

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

BitClout регистрируется на AscendEX, продолжая расти невероятными темпами BitClout расширяет свою сеть, предоставляя пользователям больше возможностей для конвертации СИНГАПУР, 14 июля 2021 г. /PRNewswire/ — 14 июля в 13:00 глобальная криптовалютная финансовая платформа AscendEX с полным комплексом продуктов объявляет о регист...

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

CSoft предоставляет своим клиентам дублирующие лицензии Группа компаний CSoft объявляет о запуске серверов лицензирования с набором лицензий CSoft Development для своих клиентов, работающих удаленно.

Самые полезные новинки C++ 20 В сентябре прошлого года профильный комитет ISO утвердил С++ 20 в качестве текущей версии международного стандарта. Предлагаю ознакомиться с самыми полезными и долгожданными изменениями нового стандарта. Библиотека концепций C++ Библиотека определяет фундаментальные понят...

Объявляем победителей конкурса "Сыграй в ящик с Filamentarno!" Спешим объявить результаты конкурса "Сыграй в ящик с Filamentarno!"Но прежде всего хотим поблагодарить всех участников и им сочувствующим за статьи и поддержку! Как всегда, вы все нас удивили, "проходных" работ не было! Спасибо!Ну, а теперь к делу. Поскольку выбор был действ...

[Из песочницы] Частотный анализ русского текста и облако слов на Python Частотный анализ является одним из сравнительно простых методов обработки текста на естественном языке (NLP). Его результатом является список слов, наиболее часто встречающихся в тексте. Частотный анализ также позволяет получить представление о тематике и основных понятиях т...

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

Появились данные о производительности видеокарты Nvidia GeForce RTX 3060 Ti в тестах 3DMark Fire Strike и Time Spy Выход видеокарты Nvidia GeForce RTX 3060 Ti не за горами. О его приближении свидетельствует плотный поток утечек, позволяющих составить полное представление о новинке. Обозреватели уже получили свои экземпляры, поэтому стали известны не только технические данные карты, ...

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

20000 петабайт под водой: есть ли перспективы у подводных центров обработки данных Дата-центры строят в самых неожиданных местах: старых бомбоубежищах, ледяных пещерах, католических храмах... У каждого варианта есть свои особенности. Мы предлагаем обсудить подводные ЦОД. Читать далее

Что такое транзакция Транзация — это набор операций по работе с базой данных, объединенных в одну атомарную пачку.Транзакционные базы данных (базы, работающие через транзакции) выполняют требования ACID, которые обеспечивают безопасность данных. В том числе финансовых данных ? Поэтому разра...

[Перевод] JavaScript-классы — это не просто «синтаксический сахар» После того, как я прочитал очередную статью, где говорится о том, что JS-классы — это всего лишь «синтаксический сахар» для прототипного наследования, я решил написать материал, призванный (в который раз!) прояснить вопрос о том, почему данное утверждение неверно. Тут я, над...

Собираем простейшую ZigBee-сеть, программируем под Mbed, общаемся через MQTT Собираем простейшую ZigBee-сеть, программируем под MBed, общаемся через MQTT Эта статья — большой учебный практикум начального уровня по использованию XBee-модуля в связке с микроконтроллером, имеющим на борту Mbed OS. Стек XBee реализует ZigBee-стандарт и подходит для задач...

Разработка производительной модели обработки данных для Cassandra В DataStax работают над созданием производительной модели данных для Apache Cassandra. В чём заключается эта работа и как её делать правильно, на конференции Cassandra Day Russia 2021 рассказал Артём Чеботко, Solutions Architect в DataStax. Речь пойдет о разработке производ...

Многообразие Linux-дистрибутивов Цель этой статьи показать и объяснить многообразие дистрибутивов Линукс. Показать основные сходства (они же все почему то называются "Линуксы" или даже правильнее "GNU/Linux") и основные различия (если бы не было различий их бы столько не существовало).Плюс рассмотрим нескол...

cGit-UI — web-интерфейс для Git-репозиториев cGit-ui — это web-интерфейс для Git-репозиториев, основу которого предстваляет CGI-скрипт написанный на языке С. cGit-ui поддерживает Markdown-файлы, которые обрабатываются на стороне сервера с помощью библиотеки md4c, зарекомендовавшей себя в проекте KDE Plasma. cGit-ui пр...

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

[Из песочницы] Реализация скелетной анимации для трёхмерных моделей Здравствуйте! В данный момент на Хабре существует большое количество статей, посвящённых компьютерной графике и реализации различных эффектов, однако текстов на тему реализации скелетной анимации (особенно "с нуля") достаточно немного. Постараюсь восполнить этот пр...

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

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

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

Карта бизнес-процессов маркетплейса Разработку платформы для e-commerce проекта нужно всегда начинать с описания бизнес-процессов, и лишь потом переходить к IT-реализации. IT — это необходимое техническое решение, которое позволяет автоматизировать все описанное. Есть часть важных процессов, которые являю...

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

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

ФотоМастер 8.15 от AMS Software Многие пользователи фото и видео редакторов знают, как важно иметь под рукой универсальный и качественный инструмент для выполнения обработки фотоматериала. К сожалению, многие программы имеют свои преимущества и недостатки, поэтому приходится работать сразу в нескольких про...

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

[Перевод] Что покупать для глубокого обучения: личный опыт и советы использования GPU Перевод статьи Тима Деттмерса, кандидата наук из Вашингтонского университета, специалиста по глубокому обучению и обработке естественного языка Глубокое обучение (ГО) – область с повышенными запросами к вычислительным мощностям, поэтому ваш выбор GPU фундаментально определи...

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

Как мы провели Hack and Learn Initiative CTF В декабре 2020 года, за неделю до нового года, компании Semrush и Mail.ru Group решили провести совместное обучающее мероприятие по информационной безопасности в формате CTF. Причём тут разработчики, тестировщики и devops, зачем и почему – расскажем в этой статье. Чита...

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

Реализация моделей динамических систем средствами контроллера За основу задания динамических свойств систем может быть принята любая из форм представления операторов: дифференциальные уравнения (ДУ), передаточные функции (ПФ), временные характеристики (ВХ) или частотные характеристики (ЧХ), однако для конкретных задач целесообразно выб...

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

Закон о связи – он «все лучше и лучше» 2 июля 2021 года произошло «замечательное», но, на мой взгляд, недооцененное событие – подписание Федерального Закона 319-ФЗ о внесении изменений в «Закон о связи» 126-ФЗ. В данной статье я попробую дать субъективный анализ основных «улучшений».  Читать далее

Практики при работе с PHPUnit Не секрет, что чем больше проект, тем с большим количеством проблем он сталкивается даже в самых элементарных аспектах.  В продукте Plesk, над которым я работаю, PHP является одним из основных языков, и количество кода на нем превышает 1 миллион строк. Соответственно, м...

Вы вряд ли угадаете разницу в скорости зарядки Samsung Galaxy S20 Ultra при использовании ЗУ мощностью 25 и 45 Вт Как известно, смартфон Samsung Galaxy S20 Ultra поддерживает 45-ваттную зарядку, но в комплекте с ним поставляется лишь 25-ваттная. Недавно мы узнали, насколько быстро заряжается флагман при использовании более мощного ЗУ. Теперь же у нас есть возможность сравнить эти д...

Unreal Engine 4 Mobile. Сборка Android проекта + DLC Unreal Engine 4 предоставляет достаточный функционал для полноценной разработки игр на мобильные платформы. К сожалению, тема недостаточно освещена, а сам процесс сборки приложения полон багов. Я решил обобщить актуальную на данный момент информацию и поделиться собственным ...

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

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

[Перевод] Нативный Masonry Layout в CSS Grid Level 3 Недавно был опубликован черновик спецификации CSS Grid 3 уровня, в котором содержится описание способа создания Masonry-раскладки с помощью чистого CSS. В этой статье Rachel Andrew объясняет данную спецификацию с примерами, которые вы можете воспроизвести в браузере Firefox ...

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

NASA переходит в облака: MCP, DAPHNE и облачные инструменты для команды Perseverance Мы уже писали о том, что NASA и другие космические агентства генерируют огромный объем информации. Данных будет еще больше после запуска в работу сети радиотелескопов и антенн Square Kilometre Array (SKA). Все эти данные нужно где-то хранить и обрабатывать. Кроме того, N...

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

Pizza as a service: как Amazon на Redshift мигрировал Привет, меня зовут Виктория, и я отвечаю за маркетинг в КРОК Облачные сервисы. Теперь мы регулярно проводим у себя облачные митапы. Я недавно попала на крутейшее выступление Дмитрия Аношина, который сейчас работает в Amazon, и хочу им поделиться. У меня появилось стойкое ...

Inspur называет серверы NF5468M6 и NF5468A5 «серверами искусственного интеллекта» Компания Inspur, называющая себя «ведущим поставщиком центров обработки данных и решений для полного стека ИИ», в ходе мероприятия ISC High Performance 2020 представила серверы NF5468M6 и NF5468A5, поддерживающие ускорители Nvidia A100. Inspur называет NF546...

Dart на сервере Недавно столкнулся с необходимостью написать REST API сервер на Dart. Оставим за рамками этой статьи почему и зачем это было надо, но первое с чем я столкнулся - выбор библиотек. Так уж сложилось, что я привык писать на NodeJS используя KoaJS в качестве веб сервера. Простая ...

Семилетними шагами: миграция с JSP + Angular JS на Angular 2+ Что нужно для перехода от серверного рендеринга к пользовательскому? Чем хорош Angular 2+ и как на него перейти?  В этой статье попытаемся разобраться в данных вопросах и описать процесс миграции от серверных технологий рендеринга, таких, как JSP, к клиентским технологи...

[Перевод] EventNative – простой инструмент для записи потока событий в ClickHouse Данные стали бесценным активом, позволяющим компаниям лучше понимать своих пользователей, прогнозировать их поведение и определять тренды. EventNative – проект с открытым исходным кодом, разработанный командой из Jitsu, который позволяет упростить сбор данных. EventNative по...

Первый опыт с Raspberry Pi или микросервисы для дома Данная статья будет полезна тем, кто никогда прежде не экспериментировал с Raspberry, но считает, что этому самое время.Привет, Хабр! Тенденция приписывать любому техническому устройству эпитет «умный» достигла, кажется, своего апогея (по количеству употребления, разумеется)...

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

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

Samsung готовит что-то странное. Samsung W21 должен быть копией Galaxy Z Fold2, но он почему-то ощутимо крупнее Samsung W21 по спецификациям и фотографиям казался ровно тем же Galaxy Z Fold2, только с чуть изменённым дизайном. Однако это не совсем так.  Как можно видеть на фото, китайская версия крупнее, и разница не в паре миллиметров. При этом ранние данные...

Андрей Когунь: зачем развивать IT-сообщество 23 июня DINS проводит бесплатную онлайн-конференцию Java Meeting Point. Наша цель — объединить инженеров из разных городов на одной площадке, дать возможность обсудить новые технологии, подходы в разработке и все, что с этим связано. Спикеры конференции — инженеры крупных IT...

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

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

[Перевод] Машинное обучение с Dask Перевод статьи подготовлен для будущих учащихся на продвинутом курсе Machine Learning. Обработка даже пары гигабайт данных на ноутбуке может стать сложной задачей, только если он не оснащен большим количеством оперативной памяти и не обладает хорошей вычислительной мощнос...

Отключение уязвимого механизма PSF в процессорах AMD Zen 3 почти не снижает производительность На днях AMD сообщила, что механизм Predictive Store Forwarding (PSF) в процессорах с архитектурой Zen 3 подвержен атакам по побочному каналу (вроде Spectre и Meltdown), которые базируются на анализе данных, осевших в процессорном кеше при спекулятивном выполнении команд. Ком...

MediaTek Dimensity 1000 Plus практически не уступает в производительности Snapdragon 865 Неделю тому назад дебютировал первый в мире смартфон на однокристальной платформе MediaTek Dimensity 1000 Plus (им оказался Iqoo Z1), а сегодня вышел первый подробный обзор устройства. Немалая часть материала в нем посвящена однокристальной системе и ее производительнос...

Arasan объявляет о соответствии своего нового IP-ядра C-PHY / D-PHY Combo требованиям MIPI Arasan объявляет о соответствии своего IP-ядра нового поколения C-PHY / D-PHY Combo самым последним требованиям MIPI Компания Arasan Chip Systems, являющаяся одним из ведущих поставщиков полупроводниковых ИС для СнК, используемых в мобильной связи и автомобилестроении, сегод...

[recovery mode] Зачем студентам теория графов Скрытый текст (Здание кёнигсбергской биржи (построено в 1875 году, сохранилось до сих пор) и Зелёный мост (построен в 1322 году, не сохранился) — «решение Эйлером задачи о кёнигсбергских мостах явилось первым в истории примен...

[Из песочницы] Расчет временных ограничений для ПЛИС простым языком Здравствуйте. Эта статья написана для самых-самых новичков в мире ПЛИС. В ней я попытаюсь максимально просто и понятно рассказать что такое временны́е ограничения (timing constraints), накладываемые на проекты под ПЛИС. Статья создана на основе собственного опыта попыт...

Заметки Дата Саентиста: персональный обзор языков запросов к данным Рассказываю из личного опыта, что где и когда пригодилось. Обзорно-тезисно, чтобы понятно было что и куда можно копать дальше — но тут у меня исключительно субъективный личный опыт, у вас может быть все совсем по-другому. Почему важно знать и уметь обращаться с языками зап...

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

Рабочий прототип 3D принтера RPMachine S500 IDEX: на пути к экономичной 3D печати инженерными и конструкционными пластиками. Всех приветствую! В данной статье мне хотелось бы затронуть некоторые важные аспекты 3D печати (FDM) промышленными пластиками.  И, в первую очередь, привлечь внимание малых производственных предприятий и небольших фирм, которые имеют потребность в изготовлении конечных издел...

[Перевод] Устаревшие пропсы и дочерние зомби-элементы в Redux Читая документацию по react-redux v7, вы могли обратить внимание на предупреждение о проблеме устаревших пропсов и дочерних зомби-элементов. Этот раздел может показаться слегка запутанным, если читатель ещё не сталкивался с проблемой сам. Цель данной статьи — как следует раз...

[Перевод] Дизайн-токены способны на большее: создаем единый источник информации о компонентах UI Термином «дизайн-система» в IT давно никого не удивишь. Компании систематизируют дизайн продуктов, придумывая свои или используя чужие инструменты для управления стилями, паттернами и компонентами.  Badoo не является исключением: с помощью нашей дизайн-системы Cosmos мы подд...

High-velocity IT На только что завершившейся неделе провёл курс ITIL® 4 High-velocity IT (HVIT). Ниже некоторые мысли после курса. Про HVIT, ITIL «и вообще». По абзацу на каждую. Книга HVIT и дополнительные материалы программы, включающие в том числе значительное количество публикаций практи...

Вы вряд ли угадаете разницу в скорости зарядки Samsung Galaxy S20 Ultra при использовании ЗУ мощностью 25 и 45 Вт Как известно, смартфон Samsung Galaxy S20 Ultra поддерживает 45-ваттную зарядку, но в комплекте с ним поставляется лишь 25-ваттная. Недавно мы узнали, насколько быстро заряжается флагман при использовании более мощного ЗУ. Теперь же у нас есть возможность сравнить эти д...

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

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

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

[Перевод] Автоматизируем работу с контейнерами через Makefile: сборка, тестирование и развёртывание за один вызов make Утилита make позволяет просто управлять контейнерами, объединив команды для сборки, тестирования и развёртывания в одном конфигурационном файле. Разработчики многие годы используют утилиту make. При запуске утилита читает файл с описанием проекта (Makefile) и, интерпретир...

Особенности практического использования различных алгоритмов Многорукого бандита Большинство статей про алгоритмы, используемые для решения задачи многорукого бандита, очень академичны. Они пестрят формулами, графиками и статистическими таблицами. При этом как будто подразумевается, что у нас есть неизменяемый набор ручек для дёргания и n→∞ попыток. В эт...

Apache Spark: оптимизация производительности на реальных примерах Apache Spark – фреймворк для обработки больших данных, который давно уже стал одним из самых популярных и часто встречаемых во всевозможных проектах, связанных с Big Data. Он удачно сочетает в себе скорость работы и простоту выражения своих мыслей разработчиком. Разработчик ...

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

[Из песочницы] Настройка динамической маршрутизации (в частности BGP) поверх туннеля OpenVPN на Linux (и вероятно *BSD) Зачем и о чём эта статья? Если погуглить на тему «openvpn bgp», то можно найти несколько интересных и полезных с практической точки зрения статей (например раз или два). Но начиная решать задачку вынесенную в заголовок, я по многим причинам даже не удосужился погуглить. Идея...

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

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

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

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

AWS объявляет о доступности инстансов Amazon EC2 P4d Компания Amazon Web Services (AWS) на днях объявила об общедоступности инстансов Amazon Elastic Compute Cloud (Amazon EC2) P4d на базе GPU Nvidia. Напомним, под инстансом понимают экземпляр виртуальной машины, запущенный в облаке, предоставляющем сервис «инфрастру...

[Перевод] Имя не гарантирует безопасность. Haskell и типобезопасность Разработчики на Haskell много говорят о типобезопасности (type safety). Сообщество Haskell-разработчиков отстаивает идеи «описания инвариант на уровне системы типов» и «исключения недопустимых состояний». Звучит как вдохновляющая цель! Однако не совсем понятно, как ее достич...

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

Книга «Конкурентность в C#. Асинхронное, параллельное и многопоточное программирование. 2-е межд. изд.» Привет, Хаброжители! Если вы побаиваетесь конкурентного и многопоточного программирования, эта книга написана для вас. Стивен Клири предоставляет в ваше распоряжение 85 рецептов работы с .NET и C# 8.0, необходимых для параллельной обработки и асинхронного программирования. К...

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

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

[Перевод] USA: Компания PG&E будет строить накопители на Li-Ion от Tesla, NorthWestern делает ставку на газ Здравствуйте, друзья! В статье «Литий-ионные ИБП: какой тип батарей выбрать, LMO или LFP?» мы касались вопроса Li-Ion решений (накопителей, аккумуляторов) для энергосистем частного и промышленного сектора. Предлагаю перевод сводки свежих коротких новостей из США от 3 март...

[Перевод] Обучение на табличных данных. TABNet. Часть 2. Реализация Продолжение перевода про архитектуру TABNet. Первая часть здесьМы предложили TabNet, новую архитектуру глубокого обучения для табличного обучения. TabNet использует механизм последовательного улучшения выбора подмножества семантически значимых функций для обработки на каждом...

Hitachi Vantara приобретает Io-Tahoe Британская компания Io-Tahoe специализируется на инновациях в области управления данными на базе алгоритмов искусственного интеллекта. Компания Hitachi Vantara объявляет о приобретении компании Io-Tahoe — подразделения британской энергетической компании Centrica, специал...

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

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

Принимаем 10 000 ивентов в Яндекс.Облаке. Часть 2 И снова здравствуйте! Продолжаем нашу серию статей про то, как мы щупали Яндекс.Облако. Давайте вспомним план, по которому мы с вами двигаемся: 1 часть. Мы определились с ТЗ и архитектурой решения, написали приложение на golang. 2 часть (вы сейчас здесь). Выливаем наше при...

CRDT, RON и Сети Данных Эта статья о следующем эволюционном шаге в развитии систем обработки данных. Тема амбициозная, поэтому расскажу сначала немного о себе. Вот уже больше 10 лет я работаю над проектами в области CRDT и синхронизации данных. За это время успел поработать на университеты, стар...

Даже круче перехода от 2D к 3D. PlayStation 5 и Xbox Series X произведут настоящую революцию Исполнительный директор компании Gearbox Рэнди Питчфорд (Randy Pitchford) в свежем интервью GameSpot заявил, что консоли следующего поколение PlayStation 5 и Xbox Series X принесут с собой самые впечатляющие изменения игровой графики в истории, которые превзойдут даже п...

[Перевод] Readonly-свойства в PHP 8.1 Пост посвящён рассмотрению readonly-свойств, добавленных в PHP 8.1. Читать далее

Как мы внедрили свою модель хранения данных — highly Normalized hybrid Model. Доклад Яндекса Общепринятый и проверенный временем подход к построению Data Warehouse (DWH) — это схема «Звезда» или «Снежинка». Такой подход каноничен, фундаментален, вотрфоллен и совсем не отвечает той гибкости, к которой призывает Agile. Чтобы сделать структуру DWH гибкой, существуют со...

[Перевод] Знакомьтесь, pass Я много лет искал подходящую мне хранилку паролей и недавно наткнулся на Pass на HackerNews. Идея хранить пароли в git-репозитории может выглядеть странно, но в целом это неплохая идея, потому что: Я держу гит-репозиторий локально у себя на компе Все пароли защищены GPG ...

JavaScript: немного об интернационализации и локализации веб-приложений Привет, друзья! В данной статье я хочу рассказать вам об Internationalization API — интерфейсе, предоставляемом браузером, позволяющем выполнять интернационализацию и локализацию веб-приложений. Статья состоит из 2 частей: теоретической и практической. В теоретической част...

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

Работа с dbt на базе Google BigQuery На днях смотрел вебинар OWOX, где Андрей Осипов (веб-аналитик, автор блога web-analytics.me и лектор Школы веб-аналитики Андрея Осипова) рассказал о своем опыте использования dbt. Говорил о том, кому будет полезен инструмент и какие проблемы решает, а самое главное — как не ...

[Перевод] Невероятная производительность ввода-вывода с параллельным Apache Parquet на Python В преддверии старта курса «Data Engineer» подготовили перевод небольшого, но интересного материала. В этой статье я расскажу о том, как Parquet сжимает большие наборы данных в маленький файл footprint, и как мы можем достичь пропускной способности, значительно превышающей ...

iHerb открывает шестой распределительный центр в Гонконге ПАСАДЕНА (шт. Калифорния), 20 апреля 2021 г. /PRNewswire/ — Компания iHerb с радостью объявляет об открытии своего шестого центра обработки и исполнения заказов. Это уже второй зарубежный распределительный центр компании, который будет располагаться в Гонконге и обслуж...

DBA: «Кто-то слишком много ест!» Тема "распухания" таблиц и индексов из-за реализации MVCC - больная для пользователей и администраторов PostgreSQL.Однажды я уже поднимал ее в статье "DBA: когда пасует VACUUM — чистим таблицу вручную", разобрав на конкретных примерах, насколько драматический эффект для прои...

[Из песочницы] Any и AnyObject в Swift. В чем их различие? Довольно долгое время в своих проектах при написании когда я использовал тип Any, например при обработке JSON данных. Но также я знал что есть и второй тип — AnyObject. И недавно я задумался о разнице между этими двумя типами. Читать дальше →

[Из песочницы] Как платить программистам Данная статья — это ответ на эту статью. Ну что ж. Если с представлением о том, как управлять программистами, всё настолько плохо, придётся написать тут, как всё на самом деле. И не забываем читать классику — «Путь камикадзэ: аудит менеджмента безнадёжного проекта» и «Мифи...

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

Стали известны отличия между ожидаемыми Xiaomi Mi 10 и Mi 10 Pro В сети последние несколько недель ходит множество разговоров о грядущей новинке от Xiaomi — Xiaomi Mi 10. Но как журналисты, так и пользователи будто бы забыли, что нас ждет анонс сразу двух устройств: “обычного” Mi 10 и Mi 10 Pro. А в чем заключается разница между двумя дан...

HashiСorp Vault & Kubernetes Secret: используем vault-secrets-operator Vault от HashiСorp — довольно известное open-source-решение для хранения секретов и неплохая альтернатива реализации секретов в Kubernetes. Vault использует свой сайдкар-контейнер на каждом поде, который получает секреты из хранилища и доставляет их в под или же реализует до...

Fortinet Security Fabric на практике. Часть 4. Взаимная интеграция Доброго дня! В наших прошлых статьях мы рассказали про концепцию Fortinet Security Fabric, а также описали продукты FortiSwitch и FortiAP. Теперь пришло время рассмотреть процесс взаимной интеграции продуктов “фабрики безопасности” на практике, а также познакомиться с возмож...

NAT (Network Address Translation) для новичков и не только Приветствую всех читателей статьи!Данная статья будет полезна как новичкам, так и опытным системным администраторам/ сетевым инженерам. Здесь затрагиваются понятия и принцип работы технологии NAT, ее значение в наше время, виды и создание с конфигурированием в программе-симу...

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

Меняем промежуточное представление кода на лету в Ghidra Когда мы разрабатывали модуль ghidra nodejs для инструмента Ghidra, мы поняли, что не всегда получается корректно реализовать опкод V8 (движка JavaScript, используемого Node.js) на языке описания ассемблерных инструкций SLEIGH. В таких средах исполнения, как V8, JVM и прочие...

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

Насколько точной может быть IP-геолокация? Технология IP-геолокации существует уже давно. Это единственный ненавязчивый инструмент, который поставщик услуг может использовать для оценки географического положения онлайн-посетителей.IP-геолокация зарекомендовала себя как главный механизм для предоставления услуг локали...

Получаем полную версию Microsoft Exchange. Исследуем, как мир ставит обновления Перед тем, как я расскажу о своем исследовании, объясню, чем оно было обусловлено. В мае мы запустили альфа-версию сканера интернета – Netlas.io. Этот сервис – наша собственная разработка, которой мы занимались последние месяцы.   В двух словах о том, что это. Netl...

Что страшнее — новые клиенты или новые сотрудники? Привет, Хабр! Сегодня у нас возникла идея — давайте обсудим проблемы роста ИТ-провайдеров, которые предоставляют корпоративным и частным пользователям самые разные услуги. Под катом — результаты небольшого исследования и размышления на тему новых подходов к управлению ИТ. Вс...

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

[Перевод] Data Science для гуманитариев: что такое «data» Размышления об информации, памяти, аналитике и распределениях Все, что воспринимают наши чувства, — это данные, хотя их хранение в наших черепушках оставляет желать лучшего. Записать это немного надежнее, особенно когда мы записываем это на компьютере. Когда эти записи хорош...

Декор коридора. Первый пост не судите строго. Решил использовать принтер для создания декоративной вставки между дверями в своей квартире.Вот что получилось...  Делал следующим образом. Нашел векторные рисунки в Google, далее в программе  SolidWorks сделал модели по своим размерам. Затем......

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

[Из песочницы] Некоторые тонкости injection'а коллекций в Spring'е Всем привет! Меня зовут Владислав Родин. В настоящее время я преподаю на портале OTUS курсы, посвященные архитектуре ПО и архитектуре ПО, подверженного высокой нагрузке. Сейчас в OTUS'е открыт набор на новый поток курса Разработчик на Spring Framework. В преддверии старта к...

[Перевод] SQLite с использованием Go и Python В основном я предпочитаю использовать реляционные базы данных (SQL), поскольку они предоставляют несколько возможностей, которые весьма полезны при работе с данными. SQLite - отличный выбор, так как база данных там представляет собой единый файл, что упрощает обмен данными. ...

Apache Ignite 3: распределённая БД своими руками, next level «В теории нет разницы между теорией и практикой. А на практике есть»Йоги БерраРаспределённые системы — это вообще интересная и непростая тема, мы по ней проводим целую конференцию Hydra. А у опенсорсного проекта Apache Ignite (и его коммерческой версии GridGain) есть ещё и с...

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

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

Супераппы мертвы. Да здравствуют супераппы! Доклад Яндекса Всем привет, меня зовут Илья Богин, я руковожу отделом разработки мобильного портального приложения Яндекса и Яндекс.Браузера для Android/iOS. В докладе на конференции YaTalks я решил поговорить о том, что сейчас понимается под супераппами, какие задачи они решают, чем отлич...

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

Как выбрать зубную пасту: рассказывает стоматолог Зачем нужен фтор, как бороться с кровоточивостью дёсен и есть ли разница между пастой за 200 и 2 000 рублей.

Два новых вебинара CleverTALK в этом сезоне Почти два месяца назад, когда новый сезон CleverTALK только стартовал, мы обещали при первой же возможности уточнить тему заключительного вебинара. И вот мы готовы объявить не одну, а сразу две темы! Итак,  19 декабря 2019 состоится вебинар на тему «Восемь ключевых пок...

Погружение в Threat Intelligence: кому и зачем нужны данные киберразведки Привет! Меня зовут Антон, я владелец продукта R-Vision Threat Intelligence Platform (TIP). От создания первых прототипов решения до реализации пилотных проектов по его внедрению прошло уже более трех лет, и мне захотелось поделиться накопленным опытом и набитыми шишками с со...

[Перевод] Распространённые заблуждения о временах жизни в Rust (прим. переводчика: времена жизни (lifetimes) — это одна из самых запутанных вещей в Rust, которая часто вызывает затруднение у новичков, даже не смотря на официальную документацию. Разъяснения по отдельным аспектам времён жизни есть, но они все разбросаны по разным источник...

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

Обработка ошибок в JavaScript Привет, Хабр!Тема обработки ошибок в JavaScript возникает не только у каждого новичка, но и матерого разработчика. Замечу, что тема уже довольно заезжена, поэтому я позволю себе резюмировать в кратком изложении все, что действительно эффективно и проверено в бою мною, коллег...

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

О фейковых криптовалютах (Ethereum, Tron, Ripple и пр) К сожалению, концепция криптовалют, несмотря на своё изящество, не нашла понимания у основной массы пользователей. "Среднему пользователю" неважно, лежат ли его деньги в распределённом блокчейне или на каком-то конкретном сайте. Для него это всё равно "где-то в сети". Когда ...

Apache Flink и потоковая обработка данных для решения задач IoT К 2021 году прогнозируется, что около 16 млрд из приблизительно 28 млрд подключенных устройств по всему миру, будут так или иначе связаны в рамках концепции интернета вещей. Интернет уходит в вещность, и надо как-то справляться с растущим потоком данных.Немного отвлекшись от...

[Перевод] Погружение в CQRS Эта статья является конспектом материала Clarified CQRS. Прежде чем начать разбираться с CQRS, нужно понять две основные движущие силы, стоящие за ним: сотрудничество и устаревание.Сотрудничество относится к ситуациям, когда несколько участников используют или изменяют один ...

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

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

Проблемы правового регулирования искусственного интеллекта Введение В 21 веке перед человечеством остро встаёт вопрос о внедрении искусственного интеллекта (далее – ИИ) в повседневную жизнь. В данной статье дефиниции «искусственный интеллект» и «робот» специально не разделяются ввиду действительной конвергенции данных понятий. ИИ...

Аутсорсинг печати. Часть 1: Кому и зачем это нужно По нашим оценкам, большинство (порядка 80%) ИТ-директоров не верят, что аутсорсинг печати снизит их расходы. В то же время число компаний, объявляющих об оказании услуг управляемой печати, за 2020 год выросло почти в три раза при том, что формализованный ...

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

Скажи мне что ты измеряешь… На недавно прошедшем курсе «Управление архитектурой предприятия на основе TOGAF и IT4IT» возник вопрос о соотношении/противопоставлении моделей, предлагаемых для описания функционирования ИТ, IT4IT (The Open Group IT4IT Reference Architecture) и библиотекой ITILv3. На самом ...

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

[Из песочницы] OSCP — мой опыт Что это за четыре буквы и кому это вообще надо? Я не буду описывать курс PWK и OSCP экзамен, простой запрос «OSCP review» выдаст вам кучу обзоров, описание формата, рекомендации и структуру курса. Просто поделюсь своим собственным опытом, как я сделал это и какие решения при...

Новые ядерные реакторы на Кольской АЭС-2 На днях были озвучены планы по строительству новых энергоблоков Кольской АЭС-2. Они придут на смену уже отработавшим к тому времени по 60 лет реакторам первой очереди АЭС. Самое интересное что выбрано им на замену - это энергоблоки ВВЭР-С со спектральным регулированием, кото...

[Перевод] Гениальность микропроцессоров RISC-V Войны между RISC и CISC, проходившие в конце 1990-х, уже давно отгремели, и сегодня считается, что разница между RISC и CISC совершенно не имеет значения. Многие заявляют, что наборы команд несущественны. Однако на самом деле наборы команд важны. Они накладывают ограничени...

Apache Kafka: основы технологии У Kafka есть множество способов применения, и у каждого способа есть свои особенности. В этой статье разберём, чем Kafka отличается от популярных систем обмена сообщениями; рассмотрим, как Kafka хранит данные и обеспечивает гарантию сохранности; поймём, как записываются и ч...

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

Платформа данных в Леруа Мерлен. Part 2. Обновления 2021 года: Flink и Superset Всем привет!«Данные – это новая нефть» – вам наверняка доводилось уже не раз слышать эту фразу. Впервые в 2006 году эту идею озвучил математик Клайв Хамби в своем блоге, но с тех пор она не потеряла популярности и сейчас её можно услышать почти из каждого утюга. Особую актуа...

Для некоторых смартфонов уже доступен мод Google Camera 8.0 Для некоторых смартфонов уже появился порт Google Camera версии 8.0 от Arnova8G2. Нужно ли объяснять, почему Google Camera действительно желанный продукт для многих, кто не обладает смартфонами Pixel? Примеры разницы в фото мы уже приводили ранее. Они красноречиво говорят ...

Предновогодний Вечерний Аддитив и розыгрыш 20 катушек Clotho ABS В эту пятницу мы проводим Вечерний Аддитив посвященный теме разработки расходных материалов. Какие темы мы обсудим на стриме:​Зачем разрабатывать новые материалы, и кому они нужны?​Какие материалы делать не нужно и почему?​Как РЭК сделал материалы для Импринты, и почему они ...

В чем разница между форматами JPEG, GIF, PNG, RAW, BMP, TIFF? Вам известна разница между JPEG, GIF, PNG и другими графическими форматами? Когда нужно использовать тот или иной формат, или какой лучше всего подойдет для сохранения фотографий? Ниже вы найдете ответы на все эти вопросы. ♥ ПО ТЕМЕ: Как правильно снимать групповые фотографи...

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

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

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

Взгляд из будущего: как меняются фоторедакторы Технологии IT/Игры 30.06.2021, 11:33 Взгляд из будущего: как меняются фоторедакторы Чтобы понять, насколько фоторедакторы проникли в нашу жизнь, достаточно одного факта: 68% взрослых людей редактируют свои селфи перед тем, как размести...

JavaScript: Стек вызовов и магия его размера Большинство разработчиков, которые использовали рекурсию для решения своих задач, видели такую ошибку:RangeError: Maximum call stack size exceeded. Многие полагают, что браузер ограничивает нас именно в количестве вызовов, но это не так. В данной статье я покажу на простых п...

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

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

Отбор признаков в задачах машинного обучения. Часть 1 Часто наборы данных, с которыми приходится работать, содержат большое количество признаков, число которых может достигать нескольких сотен и даже тысяч. При построении модели машинного обучения не всегда понятно, какие из признаков действительно для неё важны (т.е. имеют свя...

[Перевод] kotlinx.coroutines 1.4.0: представляем StateFlow и SharedFlow Сегодня мы с радостью объявляем о выходе версии 1.4.0 библиотеки Kotlin Coroutines. Основными новшествами этого релиза стали StateFlow и SharedFlow, которые теперь являются стабильными API-интерфейсами. StateFlow и SharedFlow предназначены для использован...

Эксплуатация Ceph: как распределять пулы по разным типам (HDD/SSD) и группам серверов В Ceph можно распределять пулы с данными по разным типам серверов: «горячие» данные хранить и реплицировать на SSD, «холодные» — на HDD. Кроме того, пулы одного кластера можно разделять физически. В статье расскажем, как это сделать. Статья подготовлена на основе лекции Але...

Два способа измерить длину суток на Земле: в чем разница Сколько времени нужно Земле, чтобы совершить вращение на 360 градусов? Вы скажете «24 часа», но на самом деле потребуется ровно 23 часа 56 минут. Однако поскольку Земля постоянно движется по своей орбите вокруг Солнца, определенная точка планеты будет обращена к Солнцу прямо...

[Перевод] C++20 в 2020: Модули Разработка C++20 идет полным ходом, и это принесет немало новых возможностей. У нас есть библиотека ranges, корутины, концепции и новая библиотека форматирования строк. Но, возможно, самой большой потенциальной возможностью повлиять на структуру и архитектуру нашего кода явл...

[Перевод] Почему разработчики влюбляются в функциональное программирование? Функциональное программирование (ФП) существует уже лет 60, но до сих пор оно всегда имело достаточно узкую сферу использования. Хотя компании, меняющие мир, вроде Google, полагаются на его ключевые концепции, средний современный программист знает об этом феномене очень мало...

Алгоритм Форда-Фалкерсона В данной статье хотелось бы на примитивном уровне разобрать один из популярных алгоритмов нахождения максимального потока в графе. Читать далее

Это пушка! Xiaomi начала запускать игры в оперативной памяти своих смартфонов Исторически так сложилось, что Android-смартфоны всегда имели больше оперативки, чем iPhone. Поначалу это было ключевым условием для более-менее сносной работы операционной системы Google, которая явно требовала больше ресурсов, чем iOS. Но постепенно стало понятно, что бол...

НАСА объявляет о создании аккумуляторов для электросамолетов По данным НАСА, отдел исследований и разработок батарей SABERS решил с нуля создать твердотельные батареи для электрических самолетов. The post НАСА объявляет о создании аккумуляторов для электросамолетов first appeared on HiTech.Expert.

Уязвимости IoT-систем на примере LoRaWAN В данной статье мы рассмотрим уязвимости IoT систем и 3 сценария атаки на устройства данного типа. Но для начала стоит разобраться в терминах: что такое IoT? Что плохого может произойти из-за атаки на IoT устройства? Почему кибербезопасность сейчас так важна?Интернет ве...

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

Новичкам фондового рынка: честный разговор о валюте xxx: я сегодня сделал полезное дело для нашей страны! yyy: это какое же? xxx: обменял почти все бывшие у меня рубли на доллары! C моим везением теперь доллар точно обвалится ( Bash.im, начало истории чувака с долларами Знаете ли вы, что падение рубля не печалит часть жител...

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

Free Trial, motherf***er, do you need it? — или почему бесплатные траялы и фримиум модели подходят далеко не для всех На этой неделе случилось 3 вещи: Несколько дней назад в своей статье о фреймворке формировании привычек я обещал рассказать о том, почему мы используем ПЛАТНЫЙ VS бесплатный trial-период в своих продуктах. Ребята из Getcourse написали заплюсованую статью про онлайн-школ...

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

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

varchar(max)-varchar(max) и в продакшн Недавно поучаствовал в дискуссии на тему влияния на производительность указания длины в столбцах с типом nvarchar. Доводы были разумны у обеих сторон и поскольку у меня было свободное время, решил немного потестировать. Результатом стал этот пост. Спойлер – не всё так одноз...

Fiddler = удобный сниффер + прокси сервер Привет. В данной статье расскажу как и зачем можно изменять HTTP пакеты при отправке на сервер и при получении ответов от сервера.В статье много практических примеров. Читать далее

О системах контроля версий Всем привет! Уже на следующей неделе в OTUS стартует «Супер-практикум по использованию и настройке GIT». Этому я и решил посвятить сегодняшнюю публикацию. Введение Предлагаю обсудить предназначение и различные способы организаций систем контроля версий. Читать дальше &ra...

std::atomic. Модель памяти C++ в примерах Для написания эффективных и корректных многопоточных приложений очень важно знать какие существуют механизмы синхронизации памяти между потоками исполнения, какие гарантии предоставляют элементы многопоточного программирования, такие как мьютекс, join потока и другие. Особен...

Microsoft обсуждает специальные возможности и улучшения ввода текста в Windows 11 Канал программы Windows Insider на YouTube продемонстрировал улучшения в наборе текста и изменения в специальных возможностях системы Windows 11. На канале программы Windows Insider на YouTube опубликованы несколько посвящённых системе Windows 11 видеороликов В одном из них ...

[Перевод] Python Gateway в InterSystems IRIS Эта статья посвящена Python Gateway — комьюнити-проекту с открытым исходным кодом для платформы данных InterSystems IRIS. Этот проект позволяет оркестрировать любые алгоритмы машинного обучения, созданные на языке Python (основная среда для многих Data Scientists), использов...

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

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

Ender-4. Замена платы на MKS 1.4 + драйвера 2100\2208\2209 Я думаю владельцев данных принтеров осталось немного. Но может кому-то пригодится данная статья. Данную плату я установил уже на много данных принтеров. Мне нравится как она работает, без сбоев и каких то проблем. И конечно же самая главная идея, зачем я ее ставлю - убрать в...

[Перевод] Надоел JavaScript — используй браузерный Python Мой опыт разработки игры «Змейка» на Brython «Погоди, что?» – думаю, большинство читателей отреагирует на заголовок именно так. В смысле «просто использовать Python в браузере»? Все знают, что в браузерах работает только JavaScript. Ну, выше приведен скриншот с исходны...

IT в тюрьме. Письма в неволю и из неволи В одной из прошлых статей (https://habr.com/ru/company/unidata/blog/570118/) мы подробно рассказали о неприятной ситуации, в которой оказались наши коллеги, и дали целый ряд практических советов относительно того, как себя вести, когда «к тебе пришли». Статья вызвала настоль...

Artificial Intelligence, герой нашего времени. Этюд Хм. Один из пунктов, регламентирующих действия модераторов на Хабре, сформулирован следующим образом: не надо пропускать статьи, слабо относящиеся к IT-тематике или не относящиеся к ней вовсе. Что сходу заставило автора призадуматься, а имеет ли прямое отношение к "IT-темати...

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

Вам не нужен end-to-end? Борьба с шифрованием в западном мире набирает обороты В прошлый раз мы поговорили о том, кто и где ведет наиболее активную борьбу со сквозным шифрованием. Одни из «лидеров» в этом процессе — структуры Великобритании. Но они не одиноки в своих начинаниях, и сегодня мы обсудим опыт их «коллег» из других стран. Читать далее

Использование TLS fingerprinting для выявления угроз В статье хотим рассказать про технологию TLS fingerprinting, про которую недостаточно материалов в русскоязычном сегменте. Попробуем это исправить. Статья частично переводит тематические материалы авторов описываемых методов (тут и тут), а также содержит описание практическо...

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

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

Разница между cPanel и Plesk Obsidian Мы продолжаем рассказывать об удобных многофункциональных веб-консолях (панелях управления хостингом и сайтами), которые вы можете приобрести у нас вместе с VPS — об условиях приобретения читайте в конце статьи. Некоторые сравнения-обзоры консолей, которые есть в нашем арсен...

OPPO объявляют цeноОРРОпад сразу на 8 моделей смартфонов К новому учебному году — новый смартфон! OPPO AED Украина объявляет акционный период ценоОРРОпада сразу на 8 популярных моделей своих смартфонов, а именно на гаджеты А серии.

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

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

CAD/CAM COLLEGE приглашает Вас за новыми знаниями! Дорогие друзья!Спешим сообщить Вам о новых курсах CAD/CAM COLLEGE, которые состоятся уже совсем скоро!Курс о полном цифровом протоколе с применением 3D-печати в стоматологии.Данный курс мы, компания iGo3D Russia, уже проводили в нашем офисе в Москве 22 и 23 августа. Но мы ре...

«РобоКросс» 2010 — 2018. Уже история "РобоКросс". А если полностью - Ежегодные полевые испытания беспилотных робототехнических систем «РобоКросс». На Хабре были уже статьи посвящённые РобоКроссу с описанием мероприятия с точки зрения команд, сторонних наблюдателей и прессы. Ниже общая информация с описанием и...

[Из песочницы] Поверхностное моделирование при работе над САПР T-FLEX CAD 17 Автор: Тимофеев Сергей, программист-разработчик ЗАО «Топ Системы». Руководитель: Батюченко Игорь, руководитель группы разработки ЗАО «Топ Системы». В статье описывается теоретическая база работы новых операций поверхностного моделирования в T-FLEX CAD 17, а также их основн...

Поговорим про градиенты в Unity Всём привет. Меня зовут Григорий Дядиченко. Я в Unity разработке около 7 лет, и за это время повидал многое. Одна из основных проблем, которая встречается, когда забираешь у неопытных ребят проект - градиенты в интерфейсах. В целом ошибки в разработке интерфейсов не редкость...

Эксклюзив. Официальные рендеры Samsung Galaxy S20, S20+ 5G и S20 Ultra 5G за три недели до анонса Компания Samsung официально представит свои смартфоны линейки Galaxy S20 11 февраля, но известный инсайдер Исхан Агарвал (Ishan Agarwal) уже опубликовал официальные рендеры и подробности о ценах. Информатор проверенный (неделю тому назад он раскрыл подробные характерист...

На Moscow Python Conf++ приходите поговорить с разработчиками языка Мы строили-строили, и наконец построили: расписание Moscow Python Conf++ собрано, проверено, перепроверено и опубликовано. Не то чтобы работа Программного комитета на этом заканчивалась (за два-то месяца до конференции, ну-ну), но 10 месяцев явно потрачено не зря, и я с нете...

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

[Перевод] Напишем и поймем Decision Tree на Python с нуля! Часть 1. Краткий обзор Привет, Хабр! Представляю вашему вниманию перевод статьи "Pythonで0からディシジョンツリーを作って理解する (1. 概要編)". 1.1 Что такое Decision Tree? 1.1.1 Пример Decision Tree Например, у нас есть следующий набор данных (дата сет): погода, температура, влажность, ветер, игра в гольф. В ...

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

[Перевод] Быстро и гибко настраиваем  наблюдаемость с помощью канонических строк логов В постах на Хабре тема структурного логирования упоминается часто, но вскользь. Поэтому, когда я наткнулся на эту статью Brandur Leach из Stripe, я решил перевести её и поделиться с сообществом. Мне понравилось, что в статье есть и описания практической пользы от использован...

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

[Из песочницы] Вы разрабатываете эффективные или антихрупкие системы? Давайте поговорим о high-load, high-extensible, ООП, DDD & EDA. Речь пойдет о разнице между high load & high extensibility — это разные цели и задачи. Для которых нужны принципиально разные подходы. Которые часто вызывают когнитивный диссонанс среди программистов, пр...

Получение данных с датчика углекислого газа Даджет в системы умного дома Датчик углекислого газа Даджет KIT MT8057S давно зарекомендовал себя как достаточно надежный и недорогой прибор. Один недостаток, на мой взгляд — официально данные с него можно получать только фирменной программой под windows, и никак иначе. Тем не менее, получить данные в ...

Enum в PHP 8.1 — для чего нужен enum, и как реализован в PHP Через несколько дней заканчивается голосование по первой итерации реализации enum в PHP 8.1 . Уже видно, что голосов “за” гораздо больше, так что давайте кратко пройдемся и посмотрим, что же нам приготовили авторы языка. Зачем нужны enum? Зачем вообще нужны enum? По сути они...

RabbitMQ. Часть 3. Разбираемся с Queues и Bindings Queue (очередь) — структура данных на диске или в оперативной памяти, которая хранит ссылки на сообщения и отдает их копии consumers (потребителям). Queue представляет собой Erlang-процесс с состоянием (где могут кэшироваться и сами сообщения). 1 тысяча очередей может занима...

Коммерческая тайна добро или зло? Эту статью я написал благодаря одному из комментариев, которую читатель оставил под моей публикацией «Как правильно работать с коммерческой тайной».Сначала я планировал дать короткий ответ прямо в обсуждении. Но потом понял, что вопрос заслуживает большего внимания и разверн...

ZTE и ASBIS объявляют о начале сотрудничества Российское подразделение компании ZTE Mobile Devices объявляет о начале сотрудничества с компанией ASBIS. В рамках подписанного контракта ASBIS будет осуществлять эксклюзивные поставки умных ТВ-приставок ZTE на территории России и Казахстана.

Вот почему OnePlus 9 никогда не сможет делать фото так же хорошо, как Xiaomi Mi 11 Pro. Одно фото объясняет все Можно сколько угодно использовать трюки вычислительной фотографии или различные программные «улучшайзеры» фото и видео, но законы физики никто не отменял: при прочих равных – чем больше датчик изображения используется в камере, тем выше качество фото, ...

Оказывается, есть целых 28 вариантов мобильных видеокарт GeForce RTX 3000 За последние несколько дней мы не раз поднимали тему мобильных видеокарт GeForce RTX 3000, потому как оказалось, что выбрать геймерский ноутбук теперь будет намного сложнее.  Ресурс Computerbase не поленился и собрал данные обо всех версиях моб...

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

SCENTAIR® и Snap Fitness объявляют о глобальном партнерстве Snap Fitness и ScentAir начали сотрудничать для повышения качества обслуживания клиентов.  ШАРЛОТТА (шт. Северная Каролина), 7 июля 2021 г. /PRNewswire/ — Компания ScentAir, мировой лидер в области аромамаркетинга, объявила о партнерстве с ведущей франшизой ф...

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

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

Тим Кук: 13 января Apple сделает большой анонс Тим Кук пообещал большой анонс, который проведёт Apple 13 января Последний квартал 2020 года стал для Apple самым богатым на презентации за последние несколько лет. Аппаратные новинки, которые подготовили в Купертино, оказались настолько знаковыми, что не посвятить каждой из...

EonStor CS оптимизирует обработку медиаданных с помощью функции автоматического распределения данных по уровням ТАЙБЭЙ, 17 августа 2021 г. /PRNewswire/ — Компания Infortrend® Technology, Inc. (TWSE: 2495), ведущий поставщик корпоративных систем хранения данных, разработала функцию автоматического распределения данных по уровням хранилища для горизонтально мас...

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

Microsoft выпусит антивирус на Android и iOS. Вот смешные! Компания Microsoft с особенным энтузиазмом в последнее время относится к мобильным продуктам. Так, например, не так давно она выпустила отдельное приложение Office со встроенным Word, Excel и PowerPoint. Приложение хоть и выступило лишь в качестве обертки над тремя уже суще...

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

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

Планировщик Windows? Это очень просто Реализация одной из ответственных задач моделирования в очередной раз привела к сложностям с операционной системой (ОС). Попытка решить задачу «под Windows», т.е. просто запустить программу, не применяя специальных средств, почти удалась, однако время от времени возникали не...

WhatsApp работает над функцией переноса истории чатов между iOS и Android В приложении WhatsApp есть удобная функция, которая позволяет создавать резервные копии чатов в Интернете, но вы не можете получать доступ к данным и перемещать их между устройствами на iOS и Android.По информации издания WABetaInfo, это может измениться, поскольку WhatsApp ...

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

[Перевод] Разбираемся, в чем разница между Data Mining и Data Extraction Два этих модных слова, связанных с Data Science, сбивают с толку многих людей. Data Mining часто неправильно понимают как извлечение и получение данных, но на самом деле все намного сложнее. В этом посте давайте расставим точки над Mining и выясним разницу между Data Mining...

Voxelab Polaris, бюджетный фотополимерник с разрешением 2к На данный момент в ассортименте компании Voxelab 2 фотополимерных принтера: Proxima и Polaris. Proxima сейчас является "старшей" моделью. В ней чуть больше площадь печати, и стоит монохромный дисплей.Polaris - младшая модель, стоит немного дешевле (разница несильно существен...

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

OPPO объявляют цeноОРРОпад сразу на 8 моделей смартфонов К новому учебному году — новый смартфон! OPPO AED Украина объявляет акционный период ценоОРРОпада сразу на 8 популярных моделей своих смартфонов, а именно на гаджеты А серии: OPPO A52, OPPO А91, OPPO A31, OPPO A72, а также Reno серии: ОPPO Reno2, ОPPO Reno3, ОPPO Reno3 Pro и...

Одно изображение позволяет сравнить габариты Samsung Galaxy Note20+ и Note20 Инсайдер Ice Universe опубликовал в социальной сети Weibo картинку, позволяющую наглядно оценить разницу в габаритах двух новых флагманов Samsung — Galaxy Note20+ и Note20. Как видно, один является практически масштабной копией другого, при этом сама по себе разни...

Android Fragment Result Listener В Android передача данных между фрагментами может осуществляться разными способами: передача через родительскую Activity, используя ViewModel или даже Fragments API. Fragment Target API с недавних пор получил статус Deprecated и вместо него Google рекомендует использовать ...

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

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

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

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

Приложение, работающее через I2P: проще, чем кажется Invisible Internet Project (I2P, проект невидимого интернета) – лидер среди технологий приватной передачи информации. Полная децентрализация и независимость делают сеть I2P архитектурно сложной, но уникальной в своем роде. Статья посвящена вопросу: может ли программист, несв...

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

Security Week 50: zero-click уязвимость в iPhone, атака на постаматы Главная новость прошлой недели посвящена уже закрытой уязвимости в мобильных устройствах Apple, обеспечивающей полный взлом устройства с кражей данных, удаленно и без вмешательства пользователя. Набор последствий от эксплуатации дыры в софте можно было бы считать максимально...

На пути к функциональной СУБД и NoSQL ERP: хранение остатков и расчет себестоимости Привет, Хабр! Продолжаем исследовать применимость принципов функционального программирования при проектировании ERP. В предыдущей статье мы рассказали зачем это нужно, заложили основы архитектуры, и продемонстрировали построение простых сверток на примере оборотной ведомост...

На что стоит обратить внимание новичкам при работе с ReactJS Всем привет, меня зовут Иван, я – разработчик ПО в Orion Innovation. Сейчас много публикаций по фронтенд-разработке, в которых начинающему специалисту легко потеряться и упустить неочевидные вещи. Данная статья позволит структурировать информацию об особенностях изучения Re...

Sony PlayStation 5 потеряет своё превосходство перед Xbox Series X к выпуску В сети уже не первый раз появляется информация, что игровая приставка нового поколения Sony PlayStation 5 на данный момент обеспечивает большую производительность, чем Xbox Series X. Тем не менее, это временное явление.  Об этом сообщил на форуме NeoGAF пользовате...

Разница в производительности двух версий мобильной GeForce RTX 3070 достигает 31% С релизом графических адаптеров GeForce RTX 30-й серии Nvidia перестанет делить мобильные видеокарты на Max-Q и Max-P. По планам чипмейкера, вместо данных маркировок производители ноутбуков будут указывать в описании номинальный уровень TGP (Total...

Vodafone открывает третий набор в школу Big Data Lab Vodafone объявляет о новом наборе в школу Big Data Lab, которая готовит аналитиков больших данных. Интенсивный полугодовой курс содержит весь спектр знаний, необходимых для старта карьеры.

Сыграй в ящик с "Filamentarno!" Компания "Filamentarno!" объявляет очередной, ставший ежегодным, конкурс на ящик пластика! В этом году мы выпустили много новинок и хотели бы ими с Вами поделиться. В нашем ассортименте присутствуют как известные всем пластики (SBS, ABS, PLA), так и инженерные композиты, и д...

[Перевод] [теория] Разница между веб-сокетами (WebSockets) и Socket.IO Доброго времени суток, друзья! Веб-сокеты и Socket.IO, вероятно, являются двумя наиболее распространенными средствами коммуникации в режиме реального времени (далее — живое общение). Но чем они отличаются? При построении приложения для живого общения наступает момент, ко...

[Из песочницы] Топ 5 причин, почему мне нравятся пользовательские свойства CSS Привет, Хабр! Представляю вашему вниманию перевод статьи «My top 5 reasons why I like CSS custom properties», автора Stas Melnikov Спецификация пользовательских свойств CSS навсегда изменила мой взгляд на веб-разработку. Именно поэтому я хочу написать, почему мне нравятся п...

Wrike уходит от использования языка Dart. Часть 1 Данной статьёй мы хотим пролить свет на технический стек Wrike: каким он был раньше и каким мы видим его в будущем. Мы расскажем о том, почему пять лет назад мы выбрали язык Dart основным для frontend-разработки нашего продукта и почему сейчас мы решили посмотреть в сторону ...

С каких книг можно начать изучать программирование (Python, C#, C++, Java, Lua, …) Здравствуйте дорогие читатели. Этот канал посвящён программированию и робототехнике. И конечно он затрагивает образовательный аспект изучению этих дисциплин.Данная статья посвящена вопросу, который волнует большинство начинающих программистов и робототехников&...

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

Так все же, зачем нужен make? Все началось, казалось бы, с простого вопроса, который сначала ввел меня в ступор — "Зачем нужен make? Почему нельзя обойтись bash скриптами?". И я подумал — Действительно, зачем нужен make? (и самое важное) Какие проблемы он решает? Читать дальше →

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

[Перевод] Локальное хранилище или куки? Безопасное хранение JWT на клиенте JWT (JSON Web Token) — это замечательный стандарт, основанный на формате JSON, позволяющий создавать токены доступа, обычно используемые для аутентификации в клиент-серверных приложениях. При использовании этих токенов возникает вопрос о том, как безопасно хранить их во фрон...

Выясняем, нужен ли играм дорогой процессор с высокой тактовой частотой – 6 ядер VS 12ядер в тесте SH Зачем покупать дорогой процессор, если разницы с бюджетным 6-яденым Ryzen 5 3600 нет? Или есть? Давайте разбираться.

Изучаем ELK. Часть III — Безопасность В первой и второй частях данной серии была описана процедура установки и настройки кластера Elasticsearch, Kibana и Logstash, но никак не освящался вопрос безопасности.На борту стека ELK имеется широкий функционал, который позволяет организовать ролевую модель доступа, шифро...

Linux гораздо лучше раскрывает потенциал 64-ядерного Ryzen Threadripper 3990X, чем Windows Неделю назад процессор Ryzen Threadripper 3990X поступил в продажу, и в Сети появились его первые тесты. Тогда же мы узнали, что такому CPU нужна специальная версия Windows. Обычная Windows 10 Home или Pro не способна загрузить все 128 потоков процессора без определённ...

Immutable. Постигаем хитрости неизменяемых структур данных в функциональных языках Для подписчиковРяд языков программирования заявляют неизменяемость переменных (immutability) как одну из своих главных фич. Среди них семейство ML (OCaml, F#, Standard ML) и Haskell, а также молодые Clojure и Rust. Если ты незнаком с ними, то наверняка удивлялся: а чем это о...

Чем отличается формат ProRAW в iPhone 12 Pro от обычной фотографии? Когда Apple впервые анонсировала iPhone 12 Pro и iPhone 12 Pro Max в октябре 2020 года, было заявлено, что одной из функций, отличающих линейку Pro от iPhone 12 и iPhone 12 mini, является ProRAW. Это собственный подход Apple к формату изображений RAW, который используется в...

Подробный обзор Google Analytics 4: новые возможности, преимущества и недостатки Около года назад команда Google презентовала функционал «App + Web», который позволяет объединять данные сайтов и мобильных приложений в одном ресурсе GA. Все это время новый тип ресурса тестировался, менялся, дорабатывался и вот наконец вышел из бета-версии под другим назва...

Сколько мы переплачиваем за сервера используя Ruby on Rails В прошлой статье я разбирался с тем как работает GIL, а сегодня меня захватила идея узнать насколько дорого обходится этот GIL для кода, который исполняется у нас на бэкенде. Для этого я решил пропатчить MRI и добавить пару переменных, в которые буду засекать сколько времени...

3.8 Инерционно-интегрирующее звено (интегрирующее звено с замедлением) Лекции по курсу «Управление Техническими Системами» читает Козлов Олег Степанович на кафедре «Ядерные реакторы и энергетические установки» факультета «Энергомашиностроения» МГТУ им. Н.Э. Баумана. За что ему огромная благодарность!Данные лекции готовятся к публикации в виде к...

SoC Exynos 990 оправдана? Тест показал, что с автономностью у такой версии всё тоже не так страшно Вчера мы убедились в том, что актуальные флагманы Samsung на платформе Exynos 990 при обычном использовании без «тяжёлых» игр работают условно так же быстро, как и модификации на Snapdragon 865. При этом мы знаем, что у первых остаются проблемы с автономност...

[Перевод] Как продавать приложения для Mac за пределами App Store Mac всегда отличался от своего близкого родственника iOS, особенно в отношении того, что пользователю можно и нельзя запускать в своей системе. Даже после появления Apple Silicon компания Apple чётко дала понять, что Mac остаётся Mac, и его по-прежнему можно хакать, даже п...

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

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

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

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

CDP для самых маленьких Функция CDP (она же Continuous Data Protection) для многих сейчас видится манной небесной. Ведь она позволяет свести риски потери данных к около-нулевым значениям (RTO и RPO - единицы секунд), при этом не используя тормозящие всё вокруг себя снапшоты, и не зависеть от ограни...

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

[Перевод] Почему стоит использовать exa вместо привычной консольной утилиты ls Изображение: Opensource.com Цель автора статьи — показать, что exa может легко заменить стандартную утилиту ls. И более того, в сравнении с ls, exa — более гибкий и мощный инструмент. Стараясь сэкономить время и силы, мы автоматизируем часто повторяющиеся и сложные операц...

Определение объёма кластера Elasticsearch и тестирование производительности в Rally В этой статье мы разберёмся с основными подходами к сайзингу Elasticsearch, покажем сравнения бенчмарков кластера при загрузке логов и метрик. А разница там заметная. Надеемся, вам это поможет с определением объёма кластера Elasticsearch и расшифровкой того самого «it depend...

[Из песочницы] Оценка задач в Story Points Практически каждый человек, который сталкивался с разработкой ПО знает что такое оценка задач в Story Points (SP), тем не менее периодически мне доводится рассказывать коллегам из других отделов или новичкам в команде, которые ни разу не сталкивались с таким подходом, зачем ...

Простая нейронка без библиотек и многомерных массивов Руководство? Гайд? В общем описание моего опыта создания простой, а главное понятной любому новичку нейросети :) Читать далее

Анализ внешнего потока в SOLIDWORKS Flow Simulation Дополнительный модуль SOLIDWORKS – Flow Simulation – позволяет моделировать потоки жидкости и газа для вычисления различных характеристик: температуры, скорости потока, давления и т.д. В этой статье мы рассмотрим случай, когда на пути движения внешнего потока воды находится ...

[Перевод] Как BigQuery от Google демократизировал анализ данных. Часть 1 Привет, Хабр! Прямо сейчас в OTUS открыт набор на новый поток курса «Data Engineer». В преддверии старта курса мы традиционно подготовили для вас перевод интересного материала. Каждый день более ста миллионов человек посещают Twitter, чтобы узнать, что происходит в мире, ...

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

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

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

Какой смысл в режиме 108 Мп у Samsung Galaxy S20 Ultra? Первые сравнения не могут дать ответ на этот вопрос Мы уже оценили сравнение камер Samsung Galaxy S20 Ultra и iPhone 11 Pro Max. Теперь же стоит взглянуть на разницу между двумя режимами съёмки нового флагмана Samsung. Речь о 108-мегапиксельном и 12-мегапиксельном режимах для основной камеры. На фотографиях ниже 12-мегап...

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

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

HUAWEI AppGallery Connect представляет сервисы для внесерверной обработки данных HUAWEI AppGallery Connect предлагает разработчикам приложений доступ к сервисам для внесерверной обработки данных  ШЭНЬЧЖЭНЬ (Китай), 3 сентября 2021 г. /PRNewswire/ — HUAWEI AppGallery Connect представляет ряд сервисов для внесерверной обработки данных,...

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

На что способен недорогой Лазерный гравер? (часть 2) Ребята всем привет! Эта статья является прямым продолжение статьи Зачем нужен Лазерный Гравер дома?!Мое знакомство с лазерными технологиями продолжается и в этой статье я расскажу вам где еще мне удалось применить Лазерный гравер и какие материалы поддаются обработке.Перед н...

Junior — приговор или возможность? Что надо знать новичкам о своей первой работе Знаете, меня вряд ли можно назвать сеньором. У меня всего 3 года опыта разработки и повидал я сравнительно мало. Но я помню те тяжелые дни, когда я оказался на своей первой работе и мне пришлось буквально заставлять себя делать хорошо. Когда не понимал зачем нужен git и закр...

Фотогалерея на максималках ~1 год назад я начал разрабатывать свою фотогалерею (песочницу для теста всяких технологий). Данная статья – это описание её архитектуры, а также различные твики/лайфхаки/микрогайды которые я узнал за время разработки + немного про производительность. Читать далее

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

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

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

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

Двухрычажные HDD Seagate MACH.2 позволяют удвоить производительность Главной проблемой жёстких дисков является их медленный доступ к данным. И чем больше объём накопителя, тем больше времени требуется, чтобы найти нужные данные и обеспечить к ним доступ. Однако с ростом объёма хранимых данных нужно ускорять доступ к ним.

[Перевод] PuppetConf 2016. Kubernetes для сисадминов. Часть 1 Я системный администратор, занимаюсь компьютерами, и сегодня мы поговорим о Kubernetes. Я постараюсь глубже окунуться в тему, рассмотрев, какие проблемы сисадмин может решить с помощью этого приложения, и также затрону некоторые моменты эксплуатации Puppet, которая вроде как...

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

«Железяка 1» — робот из «обычного» металлического конструктора Небольшой дисклеймер. Эта статья нашлась в моих старых "запасах", и она написана несколько лет назад. Но на фоне новости, что компания, которая производит "донора" для робота решила выпустить набор на Arduino, решил показать, что можно сделать похожее самостоятельно. Благо и...

По подсчетам IDC, рынок серверов за год сократился на 6,7% В третьем квартале 2019 года в мире было отгружено немногим менее 3,1 млн серверов. Объем рынка в денежном выражении составил 22,0 млрд долларов, что на 6,7% меньше показателя за третий квартал 2018 года. Такие данные приведены в отчете, подготовленном специалистами ана...

Observable сервисы в Angular Всем привет, меня зовут Владимир. Я занимаюсь фронтенд разработкой в Tinkoff.ru. В Ангуляре для передачи данных внутри приложения или для инкапсуляции бизнес-логики мы привыкли использовать сервисы. Для управления асинхронными потоками отлично подходит RxJS. Ангуляр в сочета...

[Из песочницы] Как подключить АЦП HX711 к NRF52832 1. Введение На повестке дня стояла задача разработать протокол общения микроконтролера nrf52832 с двумя полумостовыми китайскими тензодатчиками. Задача оказалась не простой, так как столкнулся с отсутствием какой — либо внятной информации. Вероятнее, что «корень зла» нахо...

СберБанк запускает конкурента Zoom СберБанк добавил ещё один сервис в свою экосистему — сервис СберМитап. Фактически, это новый конкурент ставшего сверхпопулярным сервиса видеоконференций Zoom.  СберБанк пока не объявлял о запуске официально. На данный момент СберМитап находится в тестовой ст...

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

Визуализация использования GIL в CPython Интересно, как ведут себя потоки, когда борются за GIL, или немного информации отсюда только для Python3. Сразу оговорюсь, что использую Ubuntu 16.04 c ядром 4.15.0-115-generic, на машине стоит 4-х ядерный процессор Intel(R) Core(TM) i5-4200U CPU @ 1.60GHz с 4 GB RAM. Теор...

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

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

[Перевод] Локализация в ASP.NET Core Razor Pages — Культуры Привет, хабр! Прямо сейчас OTUS открывает набор на новый поток курса "C# ASP.NET Core разработчик". В связи с этим традиционно делимся с вами полезным переводом и приглашаем записаться на день открытых дверей, в рамках которого можно будет подробно узнать о курсе, а также за...

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

Идеальный инструмент для создания прогрессивных веб-приложений или Все, что вы хотели знать о Workbox. Часть 2 Что такое Workbox? Workbox (далее — WB) — это библиотека (точнее, набор библиотек), основной целью которой является "предоставление лучших практик и избавление от шаблонного кода при работе с сервис-воркерами" (далее — СВ). Если вы впервые слышите о СВ, то перед и...

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

Шпаргалка для разработчика: создаём безопасное веб-приложение Эта статья — своего рода ‘cheat sheet’ для веб-разработчика. Она даёт представление о «программе-минимум» для создания веб-приложения, защищённого от самых распространённых угроз. Читать далее

Чего хотят конференции: воспроизводимость экспериментов в data science Топовые научные конференции просят воспроизводимости экспериментов в науках о данных. И это нужно для повышения доверия к работам, для извлечения пользы (повторной используемости и цитируемости), ну и «тренд» (согласно опросу журнала Nature).Ожидания растут, в 2021 уже 9 из ...

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

Blume Global объявляет о новом капиталовложении от Bridgepoint Новейшее капиталовложение оценивает быстрорастущего лидера в сфере технологий реализации логистических цепей в 500 млн долларов, предоставляя средства для дальнейшего развития технологий обеспечения прозрачности и координации их функционирования ПЛЕЗАНТОН (шт. Калифорния), 1...

Зачем (не)нужны геттеры? Прошлая статья про сеттеры/геттеры как способ работы с сущностью (на примере Symfony в PHP) получила бурное обсуждение. В данной статье попробую выразить свои мысли отдельно по поводу геттеров: зачем и когда что-то получать, какую ответственность они решают и когда их уместн...

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

Решения для защиты корпоративной и технологической сети: обзор продуктов Positive Technologies Коллеги, добрый день! Данная статья является отправной точкой в цикле статей по продуктам Positive Technologies. Первая часть будет посвящена MaxPatrol 8, а сегодня в рамках данной статьи мы поговорим о разнообразии продуктов и решений Positive Technologies и их совместно...

Приучаем кошку к автоматическому туалету DFK-lab Данная статья представляет собой мысли «разработчика» автоматического кошачьего туалета на вопрос приучения кошек к туалету. Являясь исключительно техническим специалистом, далеким от зоопсихологии, с данной темой столкнулся как среднестатистический любитель кошек. Тема: «…с...

Система управления иерархическими древовидными комментариями для Laravel Пакет для фреймворка Laravel, который позволяет организовать управление древовидными комментариями. Используется симбиоз двух методов хранения иерархических структур — «Closure Table» и «Adjacency List». Совместное применение методов «Closure Table» и «Ad...

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

GameDev: Империя Соблазна – Часть 1 Приветствую! Хочу поделиться историей о том, как меня, обычного «офисного клерка», затянуло в GameDev, постепенно превратив в инди разработчика. Возможно, кто-нибудь сочтет это интересным и даже возьмет на заметку, прежде чем утонуть во всей этой теме игровой индустрии. Это...

Kotlin + Hibernate: всё сложно Невозможно представить JPA без сущностей. Однако, их определение в Котлине таит некоторое количество подводных камней. Давайте посмотрим, как избежать распространенных ошибок и использовать возможности Котлина на максимум. Внимание спойлер! Классы данных — не лучший вариант ...

Создание связей параметров 3D моделей в nanoCAD Plus 20 на примере подшипникового стакана и крышки В данной статье рассмотрен процесс задания зависимостей геометрических параметров двух 3D-тел, а также рассмотрены инструменты, которые позволяют работать с объектами в пространстве модели, в частности для подготовки моделей к дальнейшей сборке. Статья является логическим пр...

[Перевод] Заметки о Unix: системный вызов write(), на самом деле, не такой уж и атомарный Недавно я читал материал Эвана Джонса «Устойчивое хранение данных и файловые API Linux». Я полагаю, что автор этой довольно хорошей статьи ошибается, говоря о том, чего можно ожидать от команды write() (и в том виде, в каком она описана в стандарте POSIX, и на практике). Н...

[Из песочницы] Null safety в Dart Привет, Хабр! Представляю вашему вниманию перевод статьи «Announcing sound null safety» автора Filip Hracek с моими комментариями: Null safety — безопасная работа с пустыми ссылками. Далее по тексту для краткости и по причине устойчивости термина будет использоваться англий...

Складской Ватикан в Южном Бутово, или Как мы создали индивидуальный ЦОД для Утконос ОНЛАЙН Со стороны кажется, что новый дата-центр, построенный с нуля за полгода — это тривиальный проект. Но, во-первых, в дело вкрались всем известные события 2020-го. А во-вторых, Утконос ОНЛАЙН не нужен был просто дата-центр; им нужно было решение, на котором можно основать будущ...

LG открыла новый корпоративный облачный центр обработки данных Компания представляет эффективное облачное решение для оперативного обслуживания клиентов, разработанное с помощью Amazon Connect и GenesysCloud LG Electronics (LG) объявляет об открытии облачного колл-центра в США, который ...

Как сохранить нервы тестировщика или ускорить регресс с 8 до 2 часов Кукусики! Меня зовут Юля, и я Mobile QA в компании Vivid Money.В тестировании уже давно — столько всего интересного видела. ​ Но как показывает практика, проблемы и заботы у всех одинаковые. Разница только в анализе, подходах и реализации решений.В этой статье я расскажу, КА...

Современная сборка 2020 для frontend. Gulp4 Начало Посмотрев на календарь, я понял, что уже 2020, а посмотрев на свою сборку, которая была с 2018 года, я понял, что пора её менять. В этой статье мы разберем структуру проекта, плагины (минимальный набор функционала) и их новые возможности, которые добавились за такое б...

Honeypot vs Deception на примере Xello На Хабре уже есть несколько статей про технологии Honeypot и Deception (1 статья, 2 статья). Однако, до сих пор мы сталкиваемся с непониманием разницы между этими классами средств защиты. Для этого наши коллеги из Xello Deception (первый и пока единственный российский разраб...

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

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

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

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

Hitachi Vantara объявляет о приобретении британской компании автоматизации данных Основанная в 2017 году, компания Io-Tahoe объединила инженерию данных, науку и аналитику на открытой унифицированной платформе, которая позволяет командам, занимающимся данными, более эффективно взаимодействовать и внедрять инновации.

Используем Kata Containers в Kubernetes Данная статья продолжает тему с Kata Containers, поднятую в прошлый раз. Сегодня я буду настраивать Kubernetes для работы с Kata Containers. Читать дальше →

PlayStation 5 против топового ПК с GeForce RTX 3090. Есть ли разница? Споры о том, что лучше — консоль или ПК — не утихают никогда, и с выходом новых поколений приставок разгораются с новой силой.   Ресурс Testing Games решил сравнить PlayStation 5 с топовым ПК на основе GeForce RTX 3090 и Core i...

Редкий процессор AMD, аналогов которому у Intel нет и близко. В тесте засветился Ryzen 9 5900 12-ядерный 65-ваттный процессор Ryzen 9 5900 был представлен ещё в начале года, но доступен он лишь для производителей ПК.  При этом неясно, отгружала ли AMD такие процессоры своим партнёрам, так как в бенчмарках Ryzen 9 5900 засветился лишь се...

Неожиданная статья про нашего единорога: кто такой маскот PVS-Studio? У компании PVS-Studio есть маскот, неразрывно связанный с брендом, – единорог. В последнее время мне всё чаще поступают вопросы о нашем волшебном коне: почему именно единорог, почему он так сильно изменился, есть ли у него копыта, отчего он без штанов и как всё-таки мы его р...

Как объём оперативной памяти влияет на скорость MacBook Pro с M1 Apple предлагает два фиксированных объёма ОЗУ на MacBook Pro с M1. Но есть ли разница в быстродействии между версиями на 8 и 16 ГБ? В этом году Apple сделала невероятное и оснастила MacBook Air и MacBook Pro одним и тем же процессором. Несмотря на то что для проведения более...

Стреляем себе в ногу с помощью GenServer'а, или как мы фиксили неуловимый баг в Elixir проекте Привет, Хабр! Меня зовут Иван, я являюсь техлидом в компании Karuna.И в нашей команде мы активно используем Elixir в одной из самых нагруженных частей нашего проекта.Мы уделяем особое внимание тому что за код выполняется в коллбеках GenServer'а, особенно если это код третьес...

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

Фреймворк Camel: сравнение компонентов HTTP и AHC В данной статье производится сравнение работы простейших сервисов реализованных с помощью фреймворка Camel и двух его компонентов: HTTP и AHC. Углубляться в структуру и работу с самим фреймворком не будем, предполагается что читатель уже немного знаком с ним. Читать далее

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

ASUS объявляет о старте предзаказа на новые Zenbook 13 и Zenbook 14 Самые тонкие из оснащенных полным набором портов подключения 13,3- и 14-дюймовые ноутбуки на базе процессоров Intel Core 10-го поколения и тонкорамочным дисплеем NanoEdge

Раскрыта разница между камерами Huawei Mate 40 Pro и Mate 40 Pro+ Инсайдер опубликовал в сеть информацию о разнице между камерами грядущих смартфонов Huawei Mate 40 Pro и Mate 40 Pro+.

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

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

Asus посчитала, что майнерам тоже нужна подсветка на видеокартах. Модель CMP 30HX её получила Видеокарты для майнинга мало отличаются от обычных технически. Обычно разница лишь в отсутствующих видеовыходах, потому как они попросту не требуются.  Кроме того, не требуются таким устройствам и всякие излишества. Но в Asus посчитали, что адаптеру CMP 3...

Отчет о сетевой безопасности и доступности в 2020 году К 2021 году сеть фильтрации Qrator Labs расширилась до 14 центров очистки трафика общей пропускной способностью в 3 Тбит/с с точкой присутствия в Сан-Паулу, Бразилия, вводящейся в эксплуатацию в начале 2021 г.Новые сервисы, предоставляемые партнерами компании (SolidWall WAF ...

Запросы в PostgreSQL: 4. Индексное сканирование Я уже рассказал об этапах выполнения запросов и о статистике и перешел к способам доступа к данным. В прошлый раз темой статьи было последовательное сканирование, а сегодня поговорим о сканировании индексном.Прежде чем погружаться в детали индексного доступа, надо было бы ра...

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

Разведка с geo2ip и reverse-whois Разведка сетевых ресурсов компании главным образом заключается в брутфорсе поддоменов с последующим ресолвом найденных сетевых блоков. Далее могут быть найдены новые домены 2 уровня и процедура повторяется снова. Это позволяет найти новые IP-адреса на каждой итерации.Этот ме...

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

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

Решение InfoWatch Traffic Monitor внедрено в «Газпром межрегионгаз Уфа» ГК Info Watch объявляет о внедрении решения для защиты от утечек данных и контроля информационных потоков InfoWatch Traffic Monitor в ООО «Газпром межрегионгаз Уфа». В результате внедрения обеспечена защита конфиденциальной ...