Социальные сети Рунета
Понедельник, 17 июня 2024

[Перевод] Анатомия Hello World на языке C Эта статья посвящена программе Hello World, написанной на C. Это максимальный уровень, на который можно добраться с языком высокого уровня, не беспокоясь при этом о том, что конкретно язык делает в интерпретаторе/компиляторе/JIT перед выполнением программы. Изначально я хо...

Unit-тестирование Flink-операторов, Job: Flink MiniCluster Привет, Хабр! С вами вновь Александр Бобряков, техлид в команде МТС Аналитики. И я с очередной статьёй из цикла про фреймворк Apache Flink.В предыдущей части я рассказал, как тестировать stateless- и stateful-операторы Flink с использованием вспомогательных TestHarness-абстр...

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

Геймдев на Lisp. Часть 1: ECS и металингвистическая абстракция В данной серии практических руководств мы подробно рассмотрим создание несложных 2D-игр на Common Lisp. Результатом первой части станет настроенная среда разработки и простая симуляция, отображающая двумерную сцену с большим количеством физических объектов. Предполагается, ч...

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

[Перевод] 4. Nix в пилюлях: Основы языка Четвёртая часть из цикла статей Люка Бруно, посвящённой пакетному менеджеру и языку программирования Nix.Здесь мы знакомимся с основами языка. Читать далее

Микросотовые IP-DECT-системы Yealink: базовый траблшутинг Этой статьей мы завершаем цикл о микросотовых системах Yealink. Первая статья цикла Вторая статья цикла Третья статья цикла Четвертая статья посвящена первичной диагностике микросотовых систем. Читать далее

Прогресс WebAssembly и будущее веба. Быстрые интерфейсы, пример Figma Скетч из статьи Лин Кларк «Создание и работа с модулями WebAssembly» WebAssembly (Wasm) — это бинарный формат для безопасного и эффективного выполнения портативных программ в стековой виртуальной машине (в браузере или на сервере). Как и ASM.js, представляет собой низкоуро...

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

Pkl — новый язык конфигураций от Apple. Обзор и сравнение с YAML и JSON Каждое приложение требует определенного уровня конфигурации. С помощью специальных языков можно создавать файлы, которые способны автоматизировать инициализацию системы. Эти файлы обычно читаются и интерпретируются только один раз. Наиболее распространенный пример — конфигу...

Шаг за шагом: разработка 3D-игры в Godot 4.2 для начинающих И снова привет, Хабр! В прошлой статье я рассказал, как создавать 2D-игры на движке Godot. По вашим запросам — добавляем измерение и переходим в мир 3D. На этот раз мы погрузимся в трехмерные объекты и элементы анимирования. Подробности под катом! Читать дальше →

Проверка игрового движка qdEngine, часть вторая: упрощение C++ кода В этой статье мы рассмотрим, как статический анализатор PVS-Studio воодушевляет заняться рефакторингом кода. Ведь чем короче, проще и понятнее код, тем меньше в нём ошибок. Читать дальше →

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

Как перевести игру 'The Lamplighters League' На данном примере предлагается разобрать перевод .wem файлов аудио одного языка (англ.) на другой язык (русский) с последующей упаковкой в .wem и использования в игре. В качестве инструментов будут использоваться python, нейросети, а также программа Wwise. Из интересного — ...

Константность в C++ Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это седьмая статья из серии, список предыдущих статей приведен в конце в разделе 10. Серия ориентирована на программистов, им...

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

Проведение фишинг-учений с использованием вредоносных ссылок и HTML-приложений. Часть 1 Многим угрозам можно противопоставить технические средства защиты информации (СЗИ): как базовые, так и системные решения. Но сколько бы ни стоило СЗИ, и сколько бы ни знал о устройстве инфраструктуры специалист, главной головной болью все равно остается человеческий фактор. ...

Концепция RAII (Resource Acquisition Is Initialization) Здравствуй, Хабр!RAII (Resource Acquisition Is Initialization) - это важная концепция в C++. Она представляет собой парадигму управления ресурсами, которая способствует безопасности и эффективности кода. В основе RAII лежит идея связывания жизненного цикла ресурса (например,...

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

Лучшие игровые движки 2024 для 2D разработки Defold - это бесплатный движок для создания 2D игр и других интерактивных приложений. Он разработан компанией King (известной по игре Candy Crush) и предлагает простой и эффективный способ создания кроссплатформенных проектов. 1. Язык программирования: Defold использует язык...

Фишки и «грабли» использования машинного обучения от спикеров ML2Business В среду 29 мая мы провели ML2Business — первую конференцию от Yandex Cloud, посвящённую кейсам применения GenAI, NLP, CV и других технологий ML в бизнесе. Реальный опыт внедрения машинного обучения был представлен в двух треках: GenAI&N...

Симулятор электронных схем Qucs-S: обзор новшеств версии 2.1.0 Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux и Windows) и написан на С++ с использованием набора библиотек Qt. Для работы Qucs рекомендуется использовать также открытый движок моделир...

Qucs-S: руководство по видам моделирования, часть 1 Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux и Windows) и написан на С++ с использованием набора библиотек Qt. О данной программе рассказывают мои предыдущие статьи. Для работы Qucs-S...

Безопасное программирование на Си Статья для первокурсников технических ВУЗов, которым повезло изучать Си в качестве первого языка программирования. В рамках данной работы расскажу и покажу, как избегать типовых ошибок при разработке, а если уж вы эту ошибку допустили - как быстро и безболезненно её найти. Ч...

[Перевод] Демо City In A Bottle – система рейкастинга в 256 байтах Привет всем любителям size coding, сегодня я расскажу о чём-то потрясающем: крошечном движке трассировки лучей (raycasting) и генераторе города, умещающихся в автономном файле HTML размером 256 байтов.В этом посте я поделюсь секретами работы этой волшебной программы. Возможн...

[Перевод] Реверс-инжиниринг программ DOS как в старом-добром 1990-м На видео выше я записал наглядную реализацию процесса, описанного в разделе «Сборка и установка». Эта статья посвящена запуску SoftICE, популярного отладчика для DOS и Windows, в эмулированной среде MS-DOS, а также обходу недостатка Bochs, эмулятора IA-32 (x86) PC. Весь про...

Сто паттернов для разработки корпоративных программ. Часть первая В этой статье рассмотрены все паттерны проектирования из "Банды четырёх" с примерами на языке программирования C#. Для самых терпеливых имеются дополнительные паттерны.Это первая статья из серии "Сто паттернов для разработки корпоративных программ". Следующие статьи будут по...

Unreal Engine vs Unity vs GoDot. Что нужно знать, если ты не программист Доброго времени суток, дорогие хабражители. Продолжаем разбор строения игр, игровых движков и их особенностей с точки зрения человека, которому никогда в жизни не говорили «тыжпрограммист». Сегодня на повестке дня выбор игрового движка из двух гигантов игростроя: Unity и U...

Zend_Db – объекты модели, связи и сложные условия 1. Модель данных, таблицы и связи Многие задавались вопросом, как правильно задать метод $articles->findAllByCategoryId($categoryId); или $category->findAllArticles(); Читать дальше →

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

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

Проверка игрового движка qdEngine, часть первая: топ 10 предупреждений PVS-Studio Баги, которые удалось найти в движке qdEngine, оказались весьма разнообразны, поэтому не хочется мешать всё в кучу в одной публикации. Читатели могут упустить интересные темы, связанные с написанием качественного кода. Поэтому разбор проекта выйдет в виде серии публикаций, ...

«Разгоняем» HashSet, HashMap и циклы на примере Dart Если вы занимались профилированием своего приложения, то, глядя на CPU Flame Chart, вероятно, испытывали смесь досады и азарта, глядя на особо «жирный» метод. Досады – что ваша программа всё ещё не идеальна по скорости. Азарт – от того, что вы можете докопаться до причины пр...

Какой язык программирования выбрать? Обзор на Go Продолжаем серию статей про особенности, применение, плюсы и минусы языков, которые используются в «Криптоните». В этой статье наш инженер департамента инфраструктуры Алексей Косов расскажет про Golang.Ранее наши разработчики делали обзоры на Rust, Scala, JavaScript и Spark....

Суслик и пингвин: кодим на Go под Linux Язык ядра Linux, его модулей и утилит написаны на языке C. Хоть он и является старым языком и прародителем многих других, но его до сих пор используют. В экосистему линукса постепенно проникают и более молодые языки — например, Rust. Но сегодня мы поговорим об детище Google ...

Основы TypeScript Привет, Хаброжители! TypeScript — популярная надстройка над JavaScript с поддержкой статической типизации, которая наверняка покажется знакомой программистам на C# или Java. TypeScript поможет вам сократить количество ошибок и повысить общее качество кода на JavaScript. «...

Range Loop в Go: подводные камни, как с ними бороться и что нас ждёт в версии 1.22 Привет, Хабр! Меня зовут Рафаэль Мустафин, я ментор на курсе «Go-разработчик» в Яндекс Практикуме. Эта статья посвящена нюансам цикла range в Go. Мы рассмотрим распространённые подводные камни, лучшие практики и интересные изменения, ожидаемые в Go 1.22. Читать далее

Дешево и сердито: геймдев на Godot 4.2 для тех, кто знает Python Привет, Хабр! Меня зовут Матвей, я уже несколько лет хочу научиться создавать игры. Скажу честно: все никак не хватало времени и, возможно, целеустремленности, чтобы изучить Unreal Engine, Cry Engine и им подобные движки. Но я знаю Python. Оказывается, для любителей парсел...

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

[Перевод] Вам не нужен для этого JavaScript Прошу вас не возмущаться названием статьи. Я не ненавижу JavaScript, я люблю его. Ежедневно я пишу на нём кучу кода. Но ещё я люблю CSS и даже люблю JSX HTML. Я люблю все эти три технологии по причине, которая называется… ▍ Правило наименьших полномочий Это один из базовых...

Что скрывается в коде игрового движка, написанного на Java? Вы когда-нибудь интересовались игровыми движками, написанными на Java? В этой статье мы рассмотрим и проверим на наличие ошибок в исходном коде один из популярных игровых движков — jMonkeyEngine. Возможно, мы даже узнаем, почему игры пишутся на C# и C++, а не на Java. Читать...

E2E-тестирование Flink Job с Kafka Привет, Хабр! С вами Александр Бобряков, техлид в команде МТС Аналитики. Я к вам с новой статьёй из цикла про фреймворк Apache Flink. В предыдущей части я рассказал, как создать Unit-тест на полноценную джобу Flink и отдельные stateful-операторы с использованием Flink MiniCl...

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

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

[Перевод] Wasm на весь стек — движемся от клиента к серверу с использованием Leptos, Rust и Spin Leptos – интересное пополнение в ряду веб-фреймворков для Rust. Помимо того, что Leptos может обеспечить быстрые обновления на стороне браузера через клиентскую часть WebAssembly, а также детализированные отклики на сигналы в ходе реактивной коммуникации, он ещё и чрезвыча...

Детекция объектов. R-CNN, Fast R-CNN, Faster R-CNN. Часть 1 Кто такой детектор?Данная статья посвящена постановке задачи детекции и обзору первых двухстадийных детекторов, таких как: R-CNN, Fast R-CNN и Faster RCNN. Читать далее

[Перевод] Создаём безукоризненную автодокументацию кода на Python с помощью Sphinx В этой статье я расскажу о генераторе документации Sphinx, с помощью которого можно автоматически создавать документацию для модулей Python. Кроме того, я буду использовать шаблон проекта Cookiecutter Data Science в Visual Studio Code (VS Code), поскольку он легко интегрируе...

Сборка мусора в V8 В этой статье мы детально разберем процесс сборки мусора движком V8. Познакомимся с понятиями поколений, Minor и Major Garbage Collection, посмотрим, как аллоцируются, трассируются и маркируются объекты в памяти. Что происходит с пустыми областями после очистки, и как выполн...

Музыкальное время и MIDI В статье завершим цикл материалов по преобразованию MIDI-времени в другие форматы. Попутно столкнёмся с неожиданным приступом оверинжиниринга, напишем микроскопическое количество кода и откроем для себя неправильную музыку. Читать далее

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

[Перевод] Эффект Монреаля: почему языкам программирования нужен Царь стилей Давайте представим нереалистичный сценарий, где вы выбираете язык программирования для проекта, который в перспективе станет очень большим. Допустим, это будет набор сервисов в монорепозитории, над которыми работает более 100 человек. Чтобы сделать этот сценарий ещё менее р...

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

Ламповый дисплей для компьютера, часть 6: заключительная сборка в корпусе Вы добрались до шестой, заключительной части цикла статей о ламповом дисплее для компьютера. В этой статье я опишу, как осуществлялась окончательная сборка дисплея в корпусе и что из этого вышло. Нелишне будет привести ссылки на предыдущие статьи цикла: Часть 1 – обзор сос...

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

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

Don't Repeat Yourself: Как правильно использовать принцип DRY в разработке ПО Принцип “Не повторяйся” (Don't Repeat Yourself, или DRY), то есть избегай дублирования кода, часто относят к обязательным практикам в программировании. Однако в реальности часто можно увидеть, как в общем коде оказываются концептуально разные блоки, которые похожи только по ...

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

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

Padding Oracle Attack на Wallet.dat расшифровка пароля для популярного кошелька Bitcoin Core В этой статье мы воспользуемся классификацией распространенных шаблонов атак из ресурса кибербезопасности [CAPEC™]. В первые об “Padding Oracle Attack” на Wallet.dat заговорили в далеком 2012 году (на платформе по управления уязвимостями и анали...

Затачиваем Astesrisk для работы с BLF Cisco BLF (Busy Lamp Field) — в общем, это набор индикаторов на IP телефоне, которые показывают статус линии: свободно или занято. В этой статье мы научим Asterisk правильно работать с телефонами Cisco для отображения BLF статусов. Читать дальше →

[Перевод] Интеграционное тестирование с применением Testcontainers в .NET 8 В этой статье будет показано, как правильно организовать интеграционное тестирование с применением Testcontainers на платформе .NET. В качестве примера возьмём веб-API, который будет обмениваться информацией с SQL Server через EF Core. Читать дальше →

Обзор ноутбуков с двумя дисплеями. Новая модель SZBOX DS16 с процессором от Intel, YogaBook C930 и другие Источник. Китайцы выпускают немало интересных девайсов: от одноплатников до игровых портативных консолей и компьютеров. Недавно, например, вышел ноутбук SZBOX DS16, который обладает неплохими характеристиками. Но у него есть небольшая особенность — вместо клавиатуры наход...

Проклятые Земли. Изменяем движок игры! Подробности + ПРИМЕР реверсинга движка Статья о том, как реверс-инжиниринг и разбор форматов могут не только расширить старую любимую игрушку, но и сделать из неё абсолютный шедевр, который будет смотреться уже в новом свете. Обзор уникальных фишек игры Проклятые Земли, исправление её лёгких недостатков и разбор ...

[Перевод] Управление памятью в Linux Управление памятью (memory management) является важной подсистемой операционной системы Linux, которая обеспечивает эффективное использование ресурсов физической и виртуальной памяти. В Linux управление памятью в основном подразумевает обработку запросов к памяти от про...

Разработка игр с использованием Go и библиотеки Ebiten Go является мощным и эффективным языком программирования, который можно использовать для создания игр. В этой статье мы рассмотрим разработку простой игры с использованием языка Go и библиотеки Ebiten, предназначенной для создания 2D игр. Читать далее

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

AMD допустила серьёзную ошибку, но теперь готова её исправить. Функция Anti-Lag+ вскоре вернётся Компания AMD готовится вернуть функцию Anti-Lag+, которую отключила несколько месяцев назад из-за проблем с рядом игр.  Пока нет никаких подробностей о сроках, но о возвращении написал топ-менеджер компании Фрэнк Азор (Frank Azor), отвечающий в AMD за игровое напр...

От «здравствуйте» до こんにちは: языки программирования не на английском языке Существует огромное количество самых разных языков программирования, их насчитывается несколько тысяч. Какие‑то — идеальны для работы, другие же созданы just for fun. К слову, есть ЯП, представленные программистами из неанглоязычных стран, в них...

Владельцы PlayStation 5 теряют купленные игры из-за ошибки системы Ряд владельцев игровых консолей PS4 и PS5 сообщают, что потеряли доступ к своим цифровым покупкам в PS Store. Всё из-за ошибки CE-117773-6, которая не позволяет правильно читать лицензии. Проблема приводит к невозможности скачивания, запуска или обновления ранее купленных…

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

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

Хеш-функция Стрибог. Особенности аппаратной реализации на System Verilog На просторах интернета есть несколько статей об алгоритме получения хеш-функции Стрибог (ГОСТ 34.11-2012), в том числе и на Хабре. Однако везде в качестве примера приводится реализация на языках программирования C, C#, Python и других. То есть идет последовательное выполнен...

[Перевод] Простые языки программирования Мне нравятся простые языки программирования, такие как Gleam, Go и C. Знаю, я не один такой. Есть что-то чудесное в работе с простым языком: каково его читать, использовать в команде, возвращаться к нему спустя долгое время и т.д. В этом посте я хочу конкретизировать, в чём...

[Перевод] За 25 лет я выучил 30 языков программирования. Хочу поделиться своим опытом Привет, Хабр! Перевели для вас статью программиста-самоучки, в арсенале которого — три десятка языков программирования. Надеемся, она вдохновит вас поделиться собственными историями становления в кодинге не меньше, чем нас в beeline cloud. Приятного чтения!Всё началось в дал...

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

[recovery mode] Делаем JavaScript компилируемым с помощью llvm.js В данной статье мы рассмотрим мощный проект - llvm.js и расскажем, что он представляет из себя. Также мы научимся создавать компилируемый язык программирования на основе JavaScript. Хотя в этой статье мы сфокусируемся именно на JavaScript, ознакомившись с процессом, вы сможе...

Российская студия анонсировала создание нового игрового движка Case Engine Российский игровой движок объявил намерение интегрироваться с Blender и стать платформой нового поколения для инди-разработчиков видеоигр.

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

[recovery mode] Разработка расширения для PHP на C++. Хуки встроенных функций и методов PHP - это мощный и широко используемый язык программирования для веб-разработки. Однако, иногда требуется расширение функциональности или модификация стандартного поведения PHP с использованием более низкоуровневых языков, таких как C++. В этой статье мы рассмотрим, как с...

Система уведомлений в ресурсах Laravel В предыдущей статье по работе с API ресурсами в Laravel была затронута тема изменения бизнес-потребностей в области формирования внешнего вида объекта ответа на запрос к API приложения.В этой мы пойдём дальше и введём новую бизнес-потребность под названием "нотифик...

Файловый ввод, сделанный по-человечески Поводом к написанию данной статьи и к разработке соответствующей мини-библиотеки ffh стало одно из практических заданий по дисциплине ‘Языки программирования’, которую я веду. В этом задании необходимо прочитать все строки из текстового файла для последующей обработки. Так ...

«Найти и утилизировать»: как мы автоматизировали очистку ресурсов после тестирования с помощью Tempest Cleanup Всем привет! Меня зовут Валентина, я разработчик в тестировании Selectel. В своей прошлой статье я рассказала, как мы автоматизировали запуск тестов Tempest в GitLab. Статья вам понравилась, поэтому я написала продолжение. В нашей автоматизации была проблема: после тестов ...

Quickwit. Когда Elasticsearch слишком дорогой Quickwit – это поисковой движок нового поколения, альтернатива для Elasticsearch, Loki и Splunk. Одна из главных особенностей Quickwit, заключается в том, что индексы хранятся в объектном хранилище (s3, minio, другие s3-совместимые проекты). Такая архитектура позволяет сокра...

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

Механический квантовый компьютер Квантовые компьютеры постепенно мигрировали от «натуральных» квантовых объектов типа ионов и quantum dots к «искусственным» объектам типа трансмонов, где роль атомных переходов выполняют собственные частоты колебаний LC контуров. К таким контурам прикручены коаксиальные кабе...

Как и почему я писал для Флиппера на Си-с-классами Мой Флиппер дошёл до меня больше полугода назад, но что-то под него написать я собрался только сейчас. Его API рассчитаны на язык С — а у меня с ним опыта не очень много. Но проблем с тулингом не возникло — у Флиппера есть своя система сборки, которая скачала мне нужный тулч...

Потрошим golang: как устроена память Привет, меня зовут Стас, и я работаю в VK Cloud над разработкой облачных сервисов в команде Data Masters. Сервисы, запрошенные клиентами, так или иначе должны развернуться в том виде, в котором клиенты их запросили, в адекватные сроки и без ошибок. Существует множество мех...

Структура объекта в JavaScript движках С точки зрения разработчика, объекты в JavaScript довольно гибкие и понятные. Мы можем добавлять, удалять и изменять свойства объекта по своему усмотрению. Однако мало кто задумывается о том, как объекты хранятся в памяти и обрабатываются JS-движками. Могут ли действия разра...

Trait-объекты и полиморфизм в Rust Привет, Хабр! Полиморфизм - это принцип в программирование, который позволяет нам писать гибкий, масштабируемый и поддерживаемый код. В Rust, как и во многих других языках программирования, полиморфизм позволяет одному интерфейсу представлять множество реализаций.Один из спо...

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

Symfony под капотом: Symfony Messenger и механизм повторной обработки сообщений при ошибках Привет! Меня зовут Ваня, последние несколько лет я занимаюсь backend-разработкой в Сравни. Моя команда разрабатывает интеграции с сервисами наших партнёров, код пишем на PHP и Symfony Framework.При работе с интеграциями мы часто имеем дело со сбоями в сторонних сервисах, и н...

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

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

Детектирование атак на контейнеры с помощью eBPF Привет, Хабр!Меня зовут Илья Зимин, я аналитик-исследователь угроз в компании R-Vision. Сегодня в статье я расскажу о возможностях обнаружения атак на контейнеризированные приложения с помощью такого инструмента, как eBPF, на примере приемов, связанных с побегом из Docker-ко...

Call of Duty: Warzone Mobile — игроки злятся на разработчиков из-за избыточного количества ботов После официального релиза Call of Duty: Warzone Mobile прошло менее месяца, но игра уже столкнулась с серьезными проблемами. Одной из основных жалоб игроков стало избыточное количество ботов, что значительно ухудшает игровой процесс.

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

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

Криптографически стойкие генераторы псевдослучайных чисел Статья посвящена обзору криптографически стойких генераторов псевдослучайных чисел (CSPRNG), ключевого элемента в обеспечении безопасности криптографических систем. Рассматриваются различные виды криптографически стойких генераторов псевдослучайных чисел, проведено их сравн...

[Перевод] Неожиданное взаимодействие предсказания ветвлений и подсистем памяти Это 15-ая статья в серии, посвящённая оптимизации подсистем памяти. Остальные доступны здесь (англ.). В ней мы изучим взаимодействие механизма предсказания ветвлений с подсистемой памяти. В повествовании мы будем исходить из предположения, что вам знаком принцип предсказан...

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

AtomSite 1.1. Русская версия блог-движка на ASP.NET MVC Перевел один из немногих готовых работающих движков на ASP.NET MVC. Далее — объяснение, что такое AtomSite (для тех, кто не слышал о нем) и много скриншотов. Что такое AtomSite?AtomSite 1.1 — это блог-движок, написанный на платформе ASP.NET MVC. Он находится на ранних...

Микросотовые IP-DECT-системы Yealink: сбор требований и проведение радиопланирования Вторая статья посвящена особенностям работы с микросотовой системой Yealink на этапе ее внедрения.Внедрение — важнейший этап построения стабильно работающей высоконагруженной микросотовой DECT-системы. В этой статье рассмотрим следующие вопросы:• что такое радиопланиров...

SPARK для «малышей» Примеры кода на Python для работы с Apache Spark для «самых маленьких» (и немного «картинок»).Данная статья представляет собой обзор основных функций Apache Spark и рассматривает способы их применения в реальных задачах обработки данных. Apache Spark — это мощная и гибкая си...

[Перевод] Compiler Explorer — уникальный проект для исследования компилируемого кода Этот пост посвящён замечательному инструменту, полезному для каждого, кто интересуется компиляторами или архитектурой компьютеров. Это Compiler Explorer, который я в дальнейшем будут называть CE. CE — потрясающий инструмент. Если вы с ним не знакомы, то прервите чтение и пе...

Nota, Typst и Evidence. Языки программирования для генерации документов Все настолько привыкли к Markdown, что считают его неким стандартом для оформления документов в вебе. Но это не конечная истина, высеченная на камне, а просто популярный язык разметки, как HTML и TeX. В то же время появляется всё больше новых языков, которые позиционируют...

«Двигай телом»: обзор новой игровой консоли Nex Playground На выставке CES 2024 Nex Playground назвали интересной инновацией этого года. Из необычного — консоль использует технологию отслеживания движений, чтобы пользователи могли управлять процессом игры. Мы решили разобраться, откуда пошел тренд на «управлением всем телом» и како...

Бенчмарк Whetstone — исторический тест оценки производительности Продолжаю работу по обзору старых кроссплатформенных тестов оценки производительности, первая статья про целочисленный бенчмарк Dhrystone Тест разработан Гарольдом Керноу (CCTA) в 1972 году на языке Algol-60, в 1973 появляется реализация на языке Fortran, а в 1996 году появл...

Python и чистая архитектура… Всем привет! Сегодня я хочу поделиться своими опытом разработки на различных языках программирования и размышлениями касаемо проектирования серверных приложений. Речь пойдет про много обсуждаемую в последнее время чистую архитектуру в рамках языка python. Казалось бы, по зав...

Воплощаю мечту, создавая игру. Часть 2-я Вторая часть статьи про разработку компьютерной игры в одиночку на игровом движке Unreal Engine 5. Вторая часть является заключительной моего знакомства с аудиторией и в ней я высказываю свои мысли по поводу покупных механик и 3D моделей в marketplace, делюсь результатами р...

Написание open source проекта на примере рендера для ttf шрифтов. Начало В данном проекте планируется создать парсер, а затем и рендер для шрифтов с расширениями TTF, OTF, TTC, OTC.Цикл данных статей является своеобразным блогом, но не обучающим. Наоборот я прошу об обратном отклике в виде комментариев.Данный влог - это опыт создания open source ...

[Перевод] Hono vs. H3 vs. HatTip vs. Elysia — современные замены Express для сервера (или без сервера) H3 отмечает, что Express.js - старый и малоразвивающийся фреймворк, являющийся не оптимальным выбором для новых проектов из-за потенциальных проблем безопасности и утечек памяти, что, к слову, касается и Koa.В нашей статье мы сделаем акцент на фреймворках, поддерживающих зап...

Игровая экономика Premium игр на примере PC 4х стратегии Как спроектировать экономику для вашей игры? Это вопрос, ответ на который может занять небольшой цикл лекций или статей. Принципиальная разница в подходе основана в первую очередь на модели монетизации: F2P или B2P. Второе, что определяет подход к разработке экономической си...

[Перевод] Об извлечении кода в Python Я начал изучать Python в 2009 году, столкнувшись с очень нетривиальной и, кстати, необычной задачей на этом языке. Тогда я разрабатывал приложение для ПК, где графический пользовательский интерфейс создавался на PyQT, а основным языком в программе был Python. Чтобы скрыть...

Визуализация результатов escape-анализа в VS Code В Go есть возможность получить отчёт о выполняемом escape-анализе: go build -gcflags '-m=3 -l'. В этой статье я расскажу, как можно визуализировать этот отчёт в VS Code. Дополнительно приведу способ, как в несколько кликов проверить теорию (escape-анализ) практикой (профилир...

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

Оптимизация JavaScript. Inline Caches Думаю, ни для кого не секрет, что все популярные JavaScript движки имеют схожий пайплайн выполнения кода. Выглядит он примерно следующим образом. Интерпретатор быстро компилирует JS-код в байт "на лету". Полученный байт код начинает исполняться и параллельно обрабатывается о...

[Перевод] Кто реально угрожает C++ (нет, Rust, не ты) Привет! Меня зовут Александр Каленюк, и я крепко подсел на C++. Пишу на C++ 18 лет кряду, и все эти годы отчаянно пытаюсь избавиться от этой разрушительной зависимости. Всё началось в конце 2005 года, когда мне довелось писать движок для симуляции 3D-пространства. В это...

Недельный геймдев: #164 — 10 марта, 2024 Из новостей: Apple восстановит аккаунт разработчика Epic Games, Warner Bros. меняет стратегию, K-D Lab открыла код игрового движка qdEngine, хакеры не взламывали Epic Games.Из интересностей: как Persona сочетает 2d и 3d арт, разработка игр с использованием Go и библиотеки...

Сложно о простом. Модель OSI и TCP/IP Приветствую, коллеги! Меня зовут @ProstoKirReal, и я сетевой инженер, который пришел в эту профессию из совершенно другой сферы. На начальном этапе было особенно трудно разобраться в сложных терминах и принципах работы сетевых протоколов и оборудования. Мне захотелось написа...

[Перевод] Передавать пустые срезы между Rust и C/C++ на удивление сложно Моя основная работа связана с браузерами и криптографией, а не компиляторами. Но я нередко сталкиваюсь с ситуацией, когда мне приходится проводить больше рабочего времени за изучением семантики языков программирования, чем за фактическим их использованием. Так что эта стать...

Ламповый дисплей для компьютера. Часть 1 — обзор концепций и постановка задачи Всем привет! Мне с большим трудом удалось побороть лень и начать писать новый цикл статей, но на этот раз не о лазерах. Дело в том, что лазеры – не единственный мой интерес, значительное место в списке интересов у меня занимает ламповая техника в её разнообразных проявлениях...

Укрощение примитивов синхронизации: сравниваем решения задачи с построением пула потоков на С и Go Эта статья основана на истории об одном личном челлендже. Задача звучала так: помочь с реализацией взаимодействия компонентов в программном комплексе заказчика. Иными словами, понадобилось IPC для дальнейшего развития продукта. Вызов заключался в том, что в обязательных треб...

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

Вышел релиз Microsoft Small Basic 0.6 Этот релиз включает в себя немецкую локализацию. Кроме того добавлены новые функции и исправлены некоторые ошибки: Обновлено руководство пользователя, которое теперь включает в себя главу Массивы (пока только на английском). Добавлен метод Zoom для объекта Shapes, с помо...

Обзор актуальных инструментов шифрования в Android Привет, Хабр! Меня зовут Артур Илькаев, я работаю в департаменте экосистемных продуктов, мы разрабатываем VK ID SDK и все что связано с авторизацией и сессиями, в частности — мультиаккаунт.Секретные данные требуют особого внимания при хранении и передаче. Инструмен...

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

В приложении «Фотографии» для Windows появилась функция Generative Erase Microsoft продолжает добавлять новые интеллектуальные функции для редактирования изображений. В новой версии приложения «Фотографии» для Windows 10 и Windows 11 появилась ИИ-функция под названием Generative Erase, которая позволяет удалять как мелкие, так и крупные объекты ...

[recovery mode] 13 грехов продакт-менеджера Чтобы качественно решать проблемы пользователей, продакт-менеджер должен обладать широким набором компетенций: исследования, аналитика, критическое мышление, управление проектами, коммуникации и так далее.Ошибки в работе неизбежны. Но ошибаться не страшно. Страшно не признав...

Основные настройки для управления ресурсами в PostgreSQL: настройка памяти, CPU и I/O Привет, Хабр!При работе с PostgreSQL (да и в целом с любой БД) важно правильно настраивать и управлять ресурсами, такими как память, процессорное время и дисковые операции, и так далее для обеспечения лучшей производительности и стабильности работы БД. В этой статье мы как р...

[Перевод] 10 рекомендаций по VS Code для повышения продуктивности А вы знали, что 73% разработчиков по всему миру используют один редактор кода? Так и есть. Результаты проведённого в 2023 году опроса Stack Overflow показали, что VS Code является самой популярной средой разработки. Visual Studio Code остаётся наиболее предпочтительной IDE...

Плэнер — язык логического программирования для ИИ: что из него получилось Боты под управлением системы GOAP (Goal Oriented Action Planning), источник Плэнер (Planner) — функционально-логический язык программирования, схожий по своему синтаксису с Лиспом. Функциональная часть языка содержит фактически целиком Лисп в качестве подмножества. При этом...

[Перевод] Нельзя предполагать, что все используют UTF-8 Как вычислять кодировку при помощи статистики Люди говорят на бесчисленном количестве разных языков. Эти языки не только несовместимы между собой, но и представляют огромную трудность при транспиляции в среде исполнения. К сожалению, все попытки стандартизации провалились. ...

Операция «K». Ищем баги в коде IntelliJ IDEA В этой статье мы проверим проект IntelliJ IDEA Community Edition на наличие ошибок и отправим наши правки разработчикам. Крупный проект, Open Source база и использование статического анализатора при разработке. Сложная задача для PVS-Studio. Читать далее

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

[Перевод] Как создать приложение для чата в реальном времени с помощью React, Node, Socket.io и HarperDB Статья посвящена созданию приложения для чата в реальном времени с чат-комнатами, с использованием Socket.io и HarperDB. Научимся на практике создавать полнофункциональные приложения, в которых бэкэнд может взаимодействовать с фронтендом в реальном времени. Руководство будет...

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

Обзор мультиплексора Zelax ГМ-1GB После появления не очень цензурных пословиц и поговорок о ПолиКом'ах® (мультиплексорах, использующихся на L2 в нашей сети), наступило осознание того, что не мешало бы их заменить, на что-то, менее склоняющее к использованию народного фольклора в саппорте. Осторожно! Под ка...

[Перевод] Создаем свою STL-совместимую реализацию std::allocator с лучшей производительностью Реализация защиты от сбоев из-за фрагментации кучи и повышение скорости выполнения с помощью STL-альтернативы std::allocator, работающей с блоками памяти фиксированного размера.В этой статье описывается реализация STL-совместимого аллокатора, ориентированного на выделение и ...

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

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

[Перевод] Меняем моки репозиториев на in-memory реализации Одним из важнейших аспектов тестирования наряду с поиском ошибок в приложении является время, необходимое для его проведения. Если тестирование приложения занимает от нескольких минут до нескольких часов, то оно не подходит для разработки с использованием быстрого цикла обра...

Делаем crackme. Часть вторая: шифруем функции Эта статья вторая в цикле по созданию crackme под linux amd64. В этой части мы создадим исполняемый файл, в котором каждая функция будет зашифрована собственным ключом, и будет расшифровываться только на время исполнения. Процесс создания будет полностью автоматизирован, то ...

PCI-E SSD накопитель OCZ Z-Drive R4 IT технологии развиваются семимильными шагами, и достаточно молодая технология SSD тому прямое подтверждение. Ещё не так давно только появлялись первые модели SSD накопителей, не так давно цены на них стали приемлемыми для использования в рабочих станциях и серверах, и вот у...

Решение ошибки при миграции на Storybook 7: «Providers from the BrowserModule have already been loaded» Привет, я фронтенд-разработчик в Skyeng. При переходе с шестой версии Storybook на седьмую встретилась ошибка «Providers from the BrowserModule have already been loaded. If you need access to common directives such as NgIf and NgFor, import the CommonModule instead».В этой с...

Статический анализ структуры базы данных (часть 2) Продолжим разбор проверок структуры базы данных, на примере PostgeSQL. Данная статья будет посвящена проверкам связанным с ограниением FOREIGN KEY (FK). Часть проверок целесообразно выполнять на регулярной основе, а некоторые позволяют лучше понять структуру проекта при перв...

DARPA представила концепцию будущего вспомогательного беспилотника ANCILLARY DARPA сообщило о начале разработки концепции вспомогательных беспилотников без использования инфраструктуры - ANCILLARY.

Создание шаблонов сайта в Joomla 4+ Последние статьи на Хабре о создании шаблонов для Joomla - 2015-2017 годов. В этой статье опытным разработчикам будет интересно посмотреть на отличия от предыдущих версий Joomla и, возможно, дополнить статью ценным советом. Тем же, кто чаще работал с другими движками статья ...

iOmega ZIP. Уже не дискеты, но ещё не HDD Приветствую всех! Казалось бы, о накопителях iOmega ZIP не писал только ленивый. Даже здесь, на Хабре было несколько статей, посвящённых этому во всех смыслах неоднозначному формату. Но вот в мои руки тоже попал такой привод, и я подумал: а что бы не затронуть и эту техноло...

Зачем в Scala трамплины и как их использовать В этой статье директор департамента разработки российской компании «Криптонит» и «скалист» Алексей Шуксто рассказывает о специфической технике функционального программирования, которая называется «трамплин» (trampoline).Если кратко, то «трамплин» — это постоянный вызов в цик...

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

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

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

Короткой строкой: почему я начал учить английский и пригодился ли язык в работе Всем привет! Меня зовут Павел, я работаю в Альфа-Банке на позиции QA Tech Lead. В этой статье хотел бы поделиться своим видением и опытом использования английского языка в повседневной и профессиональной жизни. Не сказать, чтобы мой английский был на высочайшем уровне, но дл...

Обзор языка Erlang и его синтаксиса Привет, Хабр! История Erlang 80-х годах прошлого века в стенах шведской компании Ericsson. Он был разработан первоначально для нужд телекоммуникаций, Erlang задумывался как инструмент для создания распределенных, отказоустойчивых систем с возможностью быстрого обновления код...

[Перевод] Как устроено автоматическое удаление мёртвого кода в Meta* В фреймворке Systematic Code and Asset Removal Framework (SCARF) компании Meta* есть подсистема выявления и удаления мёртвого кода. SCARF использует статический и динамический анализ программ для выявления кода, мёртвого с точки зрения как бизнеса, так и языков программиро...

[Перевод] Потерян и не найден Салют! В этой статье я попытался разобрать назначение и основные сценарии использования директории lost+found в Linux. ❯ Обзор Если мы запустим fsck, команду проверки и восстановления файловой системы, она может найти фрагменты данных, на которые нет ссылок нигде в файло...

Разница между pool.map и pool.map_async в Python Еще одна статья-шпаргалка о модуле multiprocessing в Python, без воды, от новичка для новичков многопроцессорного программирования.pool.map и pool.map_async являются методами модуля multiprocessing.Pool в Python, которые позволяют параллельно выполнять функции на нескольких ...

Генерация зависимостей внутри программы В программировании программы часто строятся иерархично. Один программный компонент вызывает функции из другого программного компонента. Как бы представить эту взаимосвязь в законченной программе? Эту задачу можно решить прибегнув к языку Graphviz и утилитам cpp, dot, make, c...

Northrop Grumman передумала участвовать в строительстве космической станции для НАСА По оценкам участников международной программы МКС, за более чем 20-летнюю эксплуатацию рабочий ресурс станции постепенно истощается, и к 2030 году она, скорее всего, завершит работу и будет сведена с орбиты.

Вестник Midjourney: обзор шестой версии модели Привет, Хабр! Меня зовут Владимир Туров, я разработчик в Selectel. В это статье расскажу, что нового в Midjourney v6 и почему она лучше предшественников. Разберем примеры генераций и протестируем новые функции. Читать дальше →

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

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Статьи про инди-разработку игр — это всегда интересно и занимательно. Но статьи про разработку игр с нуля, без каких-либо игровых движков — ещё интереснее! У меня есть небольшой фетиш, заключающийся в разработке минимально играбельных 3D-демок, которые нормально работали б...

Всё что вы хотели знать про ACL в Active Directory В данной статье я постарался максимально полно и глубоко рассказать про построение и внутреннее использование ACL (Access Control List) внутри Active Directory. В этой статье нет рассказов про "null DACL" и "empty DACL" и тому подобного. Если читатель хочет изучить все более...

Ранняя версия XCOM Legends: Squad RPG получила новое обновление В последний раз я писал об XCOM Legends: Squad RPG в 2021 году. С тех пор, а именно в 2022 году, пробный запуск игры стал проходить на iOS, а не только на Android. Количество стран, где можно скачать клиент через App Store и Google Play — 44, но среди них нет России и других...

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

Ликбез по Data Governance, защита LLM, рейтинг BI-инструментов и другие новинки в мире ML и DA Привет, Хабр! После перерыва возвращаюсь с новым выпуском полезных материалов, которые помогут лучше разобраться в ML, AI и дата-аналитике. Сегодня в программе — эволюция СУБД, миграция с Apache Druid на ClickHouse и подходы к экономии ресурсов для инфраструктуры. Еще больш...

Как подружить JUnit 5 и Robolectric? Задавались ли вы вопросом, почему Robolectric не работает JUnit 5? В этой статье расскажу, как подружить Robolectric и JUnit 5 и как мы смогли это сделать в команде. Вы узнаете, как запустить JUnit 4 тесты при совместном использовании с JUnit Jupiter с помощью тестовог...

Обзор архитектуры Compose с использованием паттерна «координатор» В этой статье рассмотрим, пример реализации архитектуры UI-слоя на Compose, которая основывается на Uni-directional data flow и state hoisting с использованием паттерна «координатор» для навигации. Вдохновением для меня послужила эта публикация, но я решил подробнее разверну...

Navmesh, lightmaps и lightprobes: реализация и использование в Playcanvas В этой небольшой заметке хотелось бы поделиться результатами реализаций нескольких технологий из gamdev-а. В основном коснёмся двух тем. Первая тема - это использование navmesh-ей для нахождения путей в пространстве трёхмерной сцены. Вторая тема - это использование lightmap ...

Отечественному игровому движку вернули «гражданство» Минцифры вернуло российский игровой движок Unigine в реестр отечественного ПО

«Одна учетная запись — десять участников»: что такое федеративный доступ и как с ним работать Привет! Я Максим Филимонов, ведущий инженер команды администрирования сервисов в Selectel. Для доступа в аккаунты с инфраструктурой, которую мы сопровождаем, приходится хранить множество паролей, контролировать их соответствие парольным политикам, проводить ротацию учетных ...

Движок Unity открыли для разработки приложений под Apple Vision Pro Разработчики игрового движка Unity сообщили о завершении бета-тестирования, длившегося полгода, и открытии своего продукта для всех, кто будет создавать приложения для гарнитуры Apple Vision Pro.

Infinix представила игровой ноутбук GT Book с GeForce RTX 4050 6Gb Компания Infinix, известная своими смартфонами, представила игровой ноутбук GT Book. Ресурс GSMArena уже успел заполучить новинку на обзор и опубликовал несколько фотографий.

[Перевод] Повышение живучести SSD за счёт его превращения из QLC в SLC В этой статье мы займёмся беспрецедентным экспериментом! Я шаг за шагом проведу вас через процесс преобразования SSD на базе QLC NAND в SLC SSD, что позволит значительно повысить его ресурс и общую производительность. ▍ Спецификация испытуемого SSD На роль испытуемого я в...

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

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

Zyxel XMG1930-30HP: обзор способов управления В прошлой статье мы разобрались с внешним видом, индикаторами и даже заглянули внутрь коммутатора. Теперь пришла пора его подключить и посмотреть, каким образом системные администраторы и сетевые инженеры могут управлять этим устройством и контролировать его параметры. Чита...

В Steam до 19 февраля бесплатно раздают движок RPG Maker XP Пользователи Steam и так постоянно завалены акциями, фестивалями и специальными предложениями, а тут ещё и студия Gotcha Gotcha Games решила сделать неожиданный подарок. Разработчики отдают совершенно бесплатно полную версию игрового движка RPG Maker XP, который смогут забра...

Расчет количества газа необходимого для выполнения транзакции в Ethereum. Часть 2 — storage Привет всем! В прошлой статье мы с вами изучили общую механику расчета газа при выполнении транзакций. В этой статье мы сфокусируемся на самых "дорогих" операциях работы с хранилищем смарт-контракта (storage), а также пройдемся по истории EIPs, связанных с расчетом газа в Et...

Lockheed Martin успешно завершила первый этап разработки NGI Lockheed Martin достигла значительного прогресса в программе Next Generation Interceptor (NGI), успешно завершив первый этап разработки.

[Перевод] Руководство по написанию промптов Написание промптов — это искусство общения с генеративной ИИ-моделью. В этой статье мы расскажем о том, как мы в GitHub подходим к составлению промптов и как можно использовать эти принципы для создания собственного приложения на основе LLM. В 2011 году в одной своей публ...

Apple исправляет ошибку в функции "частный адрес Wi-Fi", но iPhone все еще не идеален Ошибка позволяла отслеживать iPhone, даже несмотря на функцию защиты конфиденциальности

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

[Перевод] Если покупка — это не владение, то пиратство — не воровство Двадцать лет назад я ввязался в публичную перепалку (дружескую) с Крисом Андерсоном, работавшим тогда главным редактором Wired. Я публично выразил своё разочарование публикуемыми в Wired радужными обзорами отягощённых DRM цифровых устройств. Андерсон сказал, что я идеалист,...

В Китае построили необычный музей на воде Архитектурное бюро Junya.ishigami+ завершила строительство Художественного музея Zaishui. Музей может выполнять функцию парка. Люди смогут гулять, не переживая за ветер или дождь.

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

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

Обзор Helm Dashboard — графического интерфейса для управления релизами Kubernetes Часто разработчики предпочитают использовать именно визуальные средства, чтобы более эффективно управлять релизами Kubernetes. Один из таких инструментов — Helm Dashboard. С его помощью можно самостоятельно создавать, развертывать, обновлять различные релизы Kubernetes-прило...

[Перевод] Снижение потребления LoRa ноды (TPL5010/TPL5110) От переводчика. В этой статье автор исследует тему снижения тока потребления беспроводной LoRa ноды при помощи использования специализированных микросхем семейства нано-потребляющих таймеров TPL5010/TPL5110. Плюс затрагивает вопрос влияния Arduino загрузчика на время жизни...

За минувшие сутки российские войска завершили освобождение посёлков Новокалиново и Керамик Одновременно с этим подразделения выбили ВСУ с населённого пункта Бердычи

Язык программирования R для статистической обработки данных Гибадуллина Д.А  Гибадуллина Дарья Анатольевна/ Gibadullina Daria Anatolievna- студент второго курса бакалавриат Уральского филиала Финансового университета направления бизнес-информатика Аннотация: Язык программирования R имеет широкое применение в области ст...

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

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

Реализация Streebog256 и Streebog512 на языке RUST Как и планировалось, следом за реализацией семейства хэш-функций SHA, появляется Стрибог и тоже в двух версиях, для 256 и 512 бит на выходе. Надеюсь эта статья будет полезна другим студентам. Более опытные разработчики в комментариях приветствуются. Весь код сохранен в репоз...

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

Собирать данные VS интерпретировать их: типичные ошибки в e-commerce аналитике Каждый день мы собираем больше 200 ГБ данных о клиентах Lamoda, которые листают сайт и делают заказы. Но красивые цифры про наше хранилище — это одно, а правильные выводы из данных — совсем другое.Меня зовут Александр Айваз, я руковожу командой Data & Analytics в Lamoda ...

Diátaxis: структура технической документации Это первая статья в корпоративном блоге компании documentat.io. Мы занимаемся заказной разработкой технической документации и помогаем компаниям настраивать процессы документирования.Многие разработчики сталкиваются с тем, что писать и поддерживать документацию трудно: непон...

DEVCONF::PHPConf — программа сформирована — авторы PHP, MySQL, Sphinx — 17 мая в Москве DEVCONF 2010 extend PHPConf2009 — программа опубликована… devconf.ru/phpconf/page/programm РЕГИСТРАЦИЯ на 5 конференций в 1 уже открыта.. Программа DEVConf::PHPConf(beta) Читать дальше →

Взлом вашей первой программы Наша задача - сделать так, чтобы программа выводила "Good" в независимости от того, что пользователь ввёл в поле пароля. Если вы захотели декомпилировать данную программу, закинув EXE-файл в программу по типу dotPeek или ILSpy, то у вас ничего не выйдет. Ведь данная программ...

Golang: Мои Открытия В этом посте мы обсудим несколько увлекательных моментов, которые я узнал в процессе своей работы. В нашем канале много переводов стаей и обзор инструментов  GO, welcome.1. Как используется встраивание (embedding) в Go?В Go директива //go:embed используется для вст...

[Перевод] Мягкое знакомство с дополнительным кодом Недавно, общаясь по видеосвязи с другом, я рассказывал ему о своих идеях по реализации нового продукта. В разговоре я упомянул добавление больших знаковых чисел в ассемблере с использованием дополнительного кода, на что получил от собеседника вопрос: «Что такое дополнительн...

Управление контейнерами из Kotlin-тестов Нередко для выполнения тестов требуется запуск вспомогательных сервисов (баз данных, брокеров очередей и др.) и стандартной практикой в подходах DevOps является запуск тестов внутри управляемого окружения, где сначала создается контейнер с JVM, после чего внутри конвейера CI...

Запускаем игры под Wine c поддержкой Native Wayland Иллюстрации к статье подготовлены нейросетью freepik.com. Многие люди на планете играют в видео игры. Игры помогают улучшить когнитивные способности, провести приятно свободное время. Данная статья посвящена тому, как запустить Windows игры под Linux в Wayland. Эта статья м...

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

[Перевод] Как я портировал Sonic 2 на графический калькулятор Этот пост посвящён тому, как я портировал 8-битный Sonic 2 на TI-84+ CE Часть 1: с чего всё началось Эта история началась осенью 2022 года, когда я смотрел видео This Does Not Compute об истории игр на графических калькуляторах. Примерно на пятой минуте автор мимоходом упо...

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

[Перевод] Выявление ошибок в работе с памятью в C и C++: Сравниваем Sanitizers и Valgrind В этой статье вашему вниманию представлено сравнение двух инструментов для поиска ошибок в работе с памятью в программах, написанных на memory-unsafe (небезопасных при работе с памятью) языках — Sanitizers и Valgrind. Эти два инструмента работают совершенно по-разному. Поэто...

Объявляю ошибку вида if (x = 42) вымирающей и заношу её в Красную книгу C и C++ багов Если спросить программиста, какие баги чаще всего можно встретить в C и C++ коде, он назовёт разыменование нулевого указателя, неопределённое поведение, выход за границу массива и другие, на его взгляд, типовые паттерны ошибок. Скорее всего, он назовёт и случайное присваива...

Последнее обновление Windows 10 оказалось проблемным. В Microsoft признали это и уже устранила ошибку Microsoft устранила проблему, из-за которой обновления безопасности Windows 10, выпущенные ранее в этом месяце, завершались с ошибкой 0x8007000d. Для систем, затронутых этой проблемой, в частности Windows 10 21H2 и Windows 10 22H2, обновление безопасности KB5031356 не у...

Samsung рассматривала идею взимания платы за использование функций Galaxy AI По словам топ-менеджера, компания изначально планировала сделать ИИ-функции платными, поскольку в их разработку было вложено немало сил и ресурсов

[Перевод] Байт-кодовые VM в неожиданных местах Отвечая на вопрос в Twitter, Ричард Хипп написал, почему SQLite использует байт-кодовую VM для исполнения операторов SQL. Вероятно, большинство людей ассоциирует байт-кодовые VM с языками программирования общего назначения, например, с JavaScript или Python. Но иногда их м...

NORVI Arita: добавляем SD картридер и веб-интерфейс (почти контроллер мечты) Итак, это уже третья статья (0, 1, 2) по модернизации NORVI Arita Model 5, контроллера который имеется в моём распоряжении. Арита изначально была интересным решением, а после добавления нами на прошлых этапах Ethernet интерфейса и OLED дисплея SSD1306 стала ещё интереснее....

Диплом специалиста ИБ. Часть №3 — Портативное устройство SmartPulse Привет, Хабр!Вам знакомо такое чувство, когда сидишь, пишешь дипломную работу и думаешь "А не сделать ли умный пульсометр на ESP32-C3 с интегрированными механизмами защиты, динамическим пин-кодом и управлением через BLE с помощью собственного мобильного приложения для IoT-ус...

HTML и CSS ошибки, влияющие на доступность. Мой опыт и моего незрячего знакомого Ильи. Часть 2 Я продолжаю рассказывать, как HTML и CSS могут улучшить или ухудшить доступность интерфейсов. В своём рассказе я использую свой опыт и моего незрячего знакомого Ильи. Мы уже выпустили первую часть. В этой статье будет: атрибут autofocus и его нюансы, паттерн «Skip-link» и и...

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

Диплом специалиста ИБ. Часть №5 — Несанкционированный доступ к IoT-устройствам с BLE Привет, Хабр!Представьте, что вы написали собственную методику обеспечения безопасности устройств IoT и защитили собранное вами устройство в соответствии с ней. Не захочется ли попробовать проверить его защищенность самостоятельно? Эта статья является пятой и заключительной ...

7 ошибок джунов в DevOps, которые мешают им стать мидлами В прошлой статье мы рассмотрели, каким должен быть джуниор-DevOps-инженер. Сегодня пойдём чуть дальше, вспомним наш опыт и расскажем, какие ошибки могут мешать джуниорам перейти на грейд «мидл». Читать далее

AMD Radeon RX 560 - маленький шедевр, растоптанный майнингом Младшие видеокарты от AMD преследует какое-то проклятье. Уже семь лет отличные бюджетные карты не могут добраться до геймеров. Майнеры разрушают все, что не правильно прибито к полу.

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

Книга «100 ошибок Go и как их избежать» Привет, Хаброжители! Лучший способ улучшить код — понять и исправить ошибки, сделанные при его написании. В этой уникальной книге проанализированы 100 типичных ошибок и неэффективных приемов в Go-приложениях. Вы научитесь писать идиоматичный и выразительный код на Go, раз...

Прокачиваем вёрстку ARIA атрибутами. Атрибут aria-label В прошлом месяце я рассказал, зачем нужна семантика, на примере атрибута role. Если вы не читали мою статью, пожалуйста, прочтите её перед тем, как читать эту. А сегодня я хочу рассказать про атрибут aria-label. В статье не будет заумных определений и бездумного копировани...

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

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

Сказ о том, как я эмулятор Intel 4004 на Python писал (часть 2) Небольшой дисклеймер: перед прочтением данной статьи ознакомьтесь с первой частью, дабы вникнуть в суть происходящего. Желаю вам приятного прочтения :)Это вторая часть о том, как я писал и продолжаю писать и улучшать эмулятор Intel 4004 с очень ограниченным функционалом на я...

Президент Ирана: Страдания палестинцев - ключ к освобождению Иерусалима Эбрахим Раиси заявил, что страдания палестинцев приближают освобождение Иерусалима

ВМС Германии успешно испытали боевой лазер мощностью 100 кВт Фрегат ВМС Германии Sachsen Ведущие мировые державы активно готовятся к будущим войнам с использованием лазерного оружия. Так, ВМС Германии (Deutsche Marine) успешно завершили годичный цикл полевых испытаний прототипа боевого лазера совместного производства Rheinmetall и MB...

Манюня, часть 2 И снова здравствуйте!Данная статья посвящена разъяснению того, что из себя представляет проект «Манюня». Я не буду пытаться с пеной у рта доказывать, что он круче, лучше чем то, что уже есть. Это нечто другое, ностальгия, реализация того, что давным-давно хотелось сделать, н...

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

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

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

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

Быстрое пополнение словарного запаса при изучении иностранного языка методом «Ознакомление-забывание-вспоминание» Привет, Хабр!В этой статье мы описываем полную методику быстрого пополнения словарного запаса при чтении неадаптированной литературы на иностранном языке. Статья будет интересна тем, кто владеет иностранным языком на уровне B2-С1 и столкнулся с необходимостью увеличить слова...

Без холивара «переписать все на Go»: проблема переносимости в Python и ее решение На скриптовых языках удобно разрабатывать… И на этом удобство заканчивается. Вне машины разработчика начинаются проблемы. Особенно если вы пишете какой-то прикладной тулинг — cli-утилиты, вспомогательные приложения в вашем SDK и прочее. Вы даже не можете рассчитывать на то, ...

Что внутри у PlayStation Portal? Оцениваем странный девайс от Sony В конце лета 2023 года корпорация Sony представила свою новую портативную консоль, которая получила название PlayStation Portal. Собственно, это не совсем игровое устройство, оно не автономное. Дело в том, что девайс выполняет лишь одну функцию — транслирует игры с PlayStati...

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

В игровом браузере Opera GX появилась «тревожная кнопка», выполняющая необычную функцию Но пока только в предварительной версии

Диплом специалиста ИБ. Часть №1 — Методика обеспечения безопасности устройств Интернета вещей Привет, Хабр!Так вышло, что я заканчиваю университет в феврале 2024 года (направление 10.05.01 «Компьютерная безопасность» является специалитетом, поэтому студенты выпускаются традиционно зимой после 5,5 лет обучения). Соответственно, уже в прошедшем 2023 году передо мной, к...

[Перевод] Создаём сортировщик деталей Lego Technic, распознающий объекты в реальном времени Когда я проходил стажировку в Nullspace Robotics, мне повезло участвовать в проекте, нацеленном на расширение возможностей компании. Мы совместили системы обнаружения объектов и распознавания изображений для создания модели, классифицирующей детали конструктора Lego Technic...

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

[Перевод] CCNP Encor на русском ч. 1 (L2) Перевод материала CCNP на русский язык для тех, кому лень учить английский.Данная часть посвящена повторению основ из курса CCNA и начинает погружение в L2 Switching. Читать далее

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

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

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

Эффективная запитка от литиевых аккумуляторов (серия TI TPS63xxx) Эта статья посвящена разбору решений по запитке 3,3-вольтовых контроллеров (и их периферии) от литиевых аккумуляторов, напряжение которых меняется в процессе работы от 4,2 В до 3 В и даже ниже, в случае глубокого разряда. Получить стабильные 3,3 В в этом случае не так-то ...

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

Как начать карьеру в пентесте: опыт сотрудника Angara Security Мы продолжаем цикл материалов о старте карьеры в кибербезопасности. Этот материал подготовил сотрудник отдела анализа защищенности Angara Security, по просьбе автора, мы не будем раскрывать его имя. Если после прочтения статьи будут вопросы, welcome в комментарии или в личны...

Использование Symfony / PHP (II) Привет! Я, Андрей, Symfony разработчик - мы делаем сайты. Каждый день мы тратим много ресурсов на администрирование и базовые настройки проектов. В этой статье я продолжаю делиться опытом, как можно адаптировать фреймворк Symfony под свои нужды. Сегодня я расскажу как мы раб...

Логика — волшебный инструмент Биолог Жак Моно однажды сказал, что «удивительное свойство эволюции заключается в том, что она всем кажется понятной». К сожалению, никто не повторил того же самого о логике, но я исправлю это упущение. Практически каждый человек знаком с этим словом, и всем оно кажется поня...

Обзор на новую CSS-in-JS либу от Facebook* – StyleX Недавно компания Facebook* (aka Meta**) выпустила в опенсорс собственную CSS-in-JS библиотеку под названием StyleX. По заявлениям разработчиков, она отлично подходит для больших проектов и ключевым ее преимуществом является перфоманс.В этой статье мы рассмотрим пример исполь...

Kodein DI для Android. KMP и Compose Быть в авангарде в разработке — жизненная необходимость. Поэтому многие проекты уже переходят на Jetpack Compose, а самые смелые и продвинутые даже выпускают приложения на KMP. Мы в проекте Дринкит тоже активно переходим на Jetpack Compose (с KMP пока не сделали подход).Ну и...

[Перевод] Как изучить Haskell всего за 15 лет Haskell — это язык программирования, изобретённый в 20-м веке шотландскими логиками в качестве пранка (вероятно). Примерно пятнадцать лет назад я начал изучать Haskell по причинам, которые уже и не упомню. Сегодня я наконец написал полезную программу на Haskell и уверен, чт...

Релиз Final Fantasy VII Rebirth: эксклюзив для PS5 и восторги критиков До релиза наконец-то добрался очередной ремейк японской RPG Final Fantasy VII, которая вышла в ещё в далёком 1997 году — Final Fantasy VII Rebirth. Новинка, как и многие игры Square Enix, пока что является эксклюзивом для платформы PlayStation 5, но в будущем должна появитьс...

[Перевод] О сложности и монолитах Изображение сгенерировано с помощью DALL·E. Запрос: a complex monolith in a server room, with the faces of IT consultants with suits engraved in it with twisted faces, mathematical formulations about complexity floating around, and with a mysterious malevolent godlike presen...

Flipper Zero — мнение пентестера после двух лет «полевой» эксплуатации «Дельфин-тамагочи» от Flipper Devices Inc. не нуждается в представлении, но хайп вокруг этого хакерского мультитула уже поутих. Теперь пользователи разделились на два лагеря: одни считают Flipper Zero крутым инструментом, другие не понимают, зачем его купили.Один из наших пе...

Как делать бинарно-совместимые API на компилируемых языках При разработке продукта на компилируемом языке (таком как C или Rust) рано или поздно может наступить момент, когда нужно разделить продукт на несколько компонентов, развивающихся независимо, или дать возможность расширять функциональность плагинами, разрабатываемыми отдел...

Возвращаемся на Гроув-Стрит. Анализ движка Grand Theft Auto: San Andreas на Unity Серия Grand Theft Auto стала культовой в игровой индустрии, а San Andreas — одной из самых запоминающихся частей для многих игроков. Время проходит, но фанаты всё так же преданы игре. Кто-то достаёт старый и пыльный диск с ностальгией, а некоторые заходят ещё дальше. Сегодня...

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

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

Разработка Tower Defense на Unity — часть 2, проектирование И так, в прошлой статье цикла тут мы определились с концепцией игры, геймплеем и программными средствами. Самое время поговорить об архитектуре, организации игрового процесса, что и как будет происходить. Чтобы определиться с организацией всех процессов в игре необходимо раз...

Делаем RPG на Go: часть 0 Один из самых частых вопросов в нашем сообществе разработке игр на Go — это с чего начать. В этой серии статей мы будем изучать движок Ebitengine и создадим RPG в процессе. Читать дальше →

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

​​Все мои детальки: сделайте свою Arduino Привет, читатель! Сегодня существуют десятки вариантов платы Arduino. Их популярность обусловлена, по моему мнению, фреймворком Wiring для микроконтроллеров, распространением «шилдов» (нет необходимости паять компоненты) и, что самое удобное, загрузкой программ по USB. В р...

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

Инсайдерам Windows 11 доступна новая версия приложения «Ножницы» с функцией визуального поиска Microsoft выпустила очередное обновление для приложения «Ножницы», которое приносит с собой функцию визуального поиска. С её помощью вы можете быстро найти похожие изображения и объекты на скриншот е с помощью Bing. Чтобы опробовать функцию, нажмите правой кнопкой мыши по с...

Использование расширения VS Code «PVS-Studio» для эффективной борьбы с ошибками в C# коде VS Code — это знакомый многим редактор кода, главная особенность которого — возможность дополнить свой функционал с помощью множества полезных расширений. Одно из них теперь помогает эффективнее находить ошибки не только в C, С++, но и в C# коде. Читать далее

Блокировка Docker Hub для России. Без паники разбираемся как работать дальше Главной новостью этой недели стала блокировка пользователей из России ресурсом Docker Hub. Она осуществляется по Geo IP.Ирония в том, что у самого докера есть инструменты, чтобы обойти эту блокировку. Используем докер, чтобы обойти блокировку докера и дальше использовать док...

Замки, драконы и сундуки: как возник классический сеттинг игрового фэнтези? Часть 2: как трое великих переделали фэнтези В прошлой статье мы вспомнили, как и почему в США середины 60-х годов оформился жанр фэнтези — и почему цикл о Конане Роберта Говарда оказал на него как минимум не меньшее влияние, чем «Властелин колец» Толкиена. Именно на почве увлечения «Конанинаной» в 1965 году оформился...

Боевые машины «Терминатор» доказали свою эффективность на Авдеевском направлении По мнению западной прессы, с данной техникой подразделениям проще выполнять боевые задачи по освобождению территорий от ВСУ

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

Spring Boot Starter: практически, принципиально и подробнее. Part 1 Всем привет, меня зовут Сергей Соловых, я Java-разработчик в команде МТС Digital. За последние 2 года я написал и выпустил в продакшен более 30 микросервисов. Выдержать столь высокий темп помогло применение общепроектных решений и паттернов разработки. Общепроектные решения&...

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

Отправляем и принимаем SMS с помощью SIM868 и Repka Pi В этой статье мы продолжим рассказ об использовании модуля GSM/GPRS/GNSS Bluetooth HAT, созданного на базе SIM868, для беспроводной передачи данных в виде СМС-сообщений через Российский одноплатник Repka Pi. Такой способ даже в наше время актуален, когда нужно управлять авто...

Корутины C++ для чайников: пишем асинхронный веб-клиент Написать этот материал меня побудило... отсутствие хороших статей по корутинам в C++ в русскоязычном интернете, как бы странно это не звучало. Ну серьезно, C++20 существует уже несколько лет как, но до сих пор почти все статьи про корутины, что встречаются в рунете, относятс...

Как устроен PassMark. Воспроизводим тесты из машинного кода На сегодняшний день существуют сотни программ для оценки производительности вычислительных устройств, но абсолютным лидером среди них несомненно является PassMark - "Industry standard benchmarking since 1998", - как его позиционирует сам разработчик, и вдобавок предоставляющ...

Оптимизация работы с Camunda на основе External task Привет! Меня зовут Андрей, я - ведущий разработчик в "РТК ИТ". В этой статье речь пойдет об опыте перехода на паттерн external task в одной из наших систем.Camunda — это BPM-движок для автоматизации бизнес-процессов. Она представляет собой набор библиотек, которые и позволяю...

Универсальная плата для E-Ink экранов. Работа над ошибками (Ч3) Приветствую вас, друзья! Продолжаем работу с универсальной платой для E-Ink экранов. В этот раз проверим пути токов, найдём и исправим ошибки схемы и разводки, постараемся побороть шипение, соберём и запустим проект. Сделаем важные выводы. Узнаем полезные мелочи, которые м...

Искусственный интеллект LATTE3D от NVIDIA создает готовые 3D-модели и объекты за считанные секунды Генеративный ИИ будет выполнять важную роль в разработке будущих видеоигр. Модель LATTE3D от NVIDIA генерирует полностью готовые к использованию в играх 3D-модели животных и объектов за считанные секунды.

Метод Binoculars обещает высокую точность обнаружения текста от больших языковых моделей ChatGPT пишет не хуже человека, но можно ли обнаружить «машинность» в тексте? Хотя некоторым компаниям было бы выгоднее представить всё так, будто результат работы языковых моделей неотличим от человеческого, исследования в этом направлении активно ведутся. Авторы научной ...

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

«Once you go Rust, you never go back»: создаем игру для программистов на Bevy Привет, Хабр! В прошлой статье я рассказал о своем переходе в геймдев и моей концепции «хакерской» игры. Здесь же сосредоточился именно на разработке, а также на инструментах Bevy и Rust, которые использовал для игрового движка. Интересно узнать из первых уст, как создаются...

Взлет и падение языка COBOL. Где и как язык программирования, которому 60 лет, применяется и в наше время? В 2023 году языку COBOL исполнилось уже 64 года. Это один из старейших языков программирования, которые применяются на практике. Кроме того, он же — один из лидеров по объему написанного кода. Язык не собирается умирать, наоборот, он развивается. Конечно, конкурентом популяр...

Press F, чтобы рассчитать использование облачных ресурсов Привет, Хабр! Меня зовут Эд, я менеджер биллинга в Selectel. Сегодня хотел бы рассказать про подход FinOps, который объединяет продуктовое мышление, мониторинг и управление облачными ресурсами. А еще показать графики и разобрать, кому и зачем это вообще нужно. Спойлер: не т...

В МТС разработали ИИ-программиста, который знает Python и Java В России создали нейросеть, которая умеет писать программный код на двух языках и «переводить» программы с одного языка на другой.

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

Язык программирования Mojo: что нового в версии 24.3? На днях была опубликована новая версия языка программирования Mojo, теперь это 24.3. Новинка получила несколько важных компонентов, которые требуются для создания приложений на этом языке. Например, компилятор, интерактивная REPL-оболочка для сборки и запуска программ, отлад...

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

Тысячи игровых разработчиков захотели попробовать отечественный аналог Unreal Engine 5 и Unity Российский игровой движок Nau Engine, который финансируется холдингом VK, привлёк внимание многих разработчиков.

PyZelda своими руками или как геймдевить без Unreal, Unity и кредитов Хабры и Хаброчки, я хотел бы перед самой статьёй обсудить вопрос целесообразности писать свой движок, вместо готовых решений. Есть куча статей, которые опишут разные движки от более популярных до менее. Я бы хотел затронуть немного другой вопрос: "Как человеку, который изуча...

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

AMD запускает программу Bug Bounty для вознаграждения тех, кто находит ошибки AMD разработала решение проблемы растущего числа ошибок и проблем, возникающих с распространением современного оборудования.

Figma закрыла Dev Mode: пути обхода и их краткий обзор В июне 2023 года Figma выпустила масштабное обновление: появился режим разработки Dev Mode. Эта функция обеспечивает плавный переход от дизайна к разработке. Такое новшество сразу же пришлось по душе многим. Однако совсем недавно пропала возможность пользоваться режимом бес...

[Перевод] Xv6: учебная Unix-подобная ОС. Глава 6. Блокировки Ядро ОС выполняет программы параллельно и переключает потоки по таймеру. Каждый процессор выполняет поток независимо от других. Процессоры используют оперативную память совместно, поэтому важно защитить структуры данных от одновременного доступа. Потоки испортят данные, если...

Российские СХД, очень много платформ для ML, новые GPU и коммутаторы. Дайджест серверного железа за февраль Привет! Меня зовут Сергей, в этой статье я расскажу о новинках в мире железа за прошедший месяц. Многие из них показали на выставке Mobile World Congress 2024 в Барселоне. Бонус — обзор нового оборудования российских вендоров. Уже присматриваете железо для своих серверов? П...

Системная ошибка рынка труда или почему не хватает технических писателей со знанием языков разработки и API Hola, Хабр! Я — технический писатель и за свою длинную карьеру в ИТ, нигде и никогда не сталкивался с ситуацией переизбытка в командах технических писателей. Наоборот, почти повсеместно в компаниях есть множество продуктов и проектов, в которых документация неполная, неточна...

Это флешка объёмом всего 8 КБ, зато способная хранить данные сотни лет. Накопитель Blaustahl опирается на память FRAM Компания Blaustahl представила флешку объёмом 8 КБ. Ошибки нет, речь именно о восьми килобайтах. И за такой накопитель просят 30 евро.  Флешка Blaustahl не является какой-то шуткой. Суть в том, что она не предназначена для тех задач, на которые ориентированы обычн...

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

Java Digest # 10 Всем привет!

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

[Перевод] Как я уменьшил размер образа docker на 40% Ежедневно по работе я сталкиваюсь с Dockerfile, написал несколько из них самостоятельно, создавал контейнеры и всё такое. Но я никогда не публиковал их в реестре docker hub. Мне хотелось создать ugit — инструмент для отмены команд git (написанный в виде шелл-скрипт...

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

Малоизвестные и интересные особенности C и C++ В C и C++ есть особенности, о которых вас вряд ли спросят на собеседовании (вернее, не спросили бы до этого момента). Почему не спросят? Потому что такие аспекты имеют мало практического значения в повседневной работе или попросту малоизвестны.Целью статьи является не освеще...

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

Многообразие функциональных обёрток В далёком 2002-ом комитет по стандартизации C++ посетил пропозал, предлагавший ввести шаблонный класс, некий обобщенный «указатель на функцию», способный работать как с простыми указателями на функции, указателями на методы классов, так и с произвольными функциональными объе...

Массажный матрас с четырьмя программами и нагревом. Обзор HELST HMM-400 Изучаемый сегодня массажер HELST HMM-400 отличается от рассмотренных ранее моделей форматом исполнения. Это матрас, который можно будет разложить на ровной поверхности и расслабиться выбрав одну из четырех программ с функцией подогрева и регулируемой интенсивностью. Компле...

Деревья ltree в PostgreSQL – простым языком Привет, Habr! Меня зовут Оля Плюта, я продуктовый аналитик маркетплейса Uzum Market. В этой статье я расскажу об иерархических деревьях ltree в PostgreSQL. Статья вводная, поэтому я постаралась сделать её максимально понятной и наглядной. Читать далее

Дневник альтруиста. dfu-util В данной статье я рассмотрю подключение утилиты dfu‑util, написанную на языке С, к С++ проекту на CMake в виде сабмодуля.Одна из главных целей статьи — это подключение старого и типового кода на С к своему проекту. Здесь прив...

Обзор программ-диалеров для OS Windows Phone За всеми теми замечательными вещами, которые позволяют делать современные смартфоны, очень легко забыть об основной функции этих устройств. А именно — о звонках. Казалось бы, что может быть проще, чем запустить стандартное приложение «Телефон» и набрать интересующий нас номе...

Самодельные портативные игровые консоли и ESPboy С некоторых пор в среде самодельщиков обрёл популярность новый формат — портативные игровые устройства на основе недорогих микроконтроллеров и OLED или TFT-экранчиков, подражающие популярным портативным игровым системам прошлого, таким как Game Boy компании Nintendo 1989 го...

Импортозамещение high-availability решений: обзор китайского балансировщика TongTech К концу 2023 года большинство балансировщиков в российских ЦОДах по-прежнему западного производства. В прошлом году западные вендоры ушли из России, и оставаться на их оборудовании стало рискованно. Но мигрировать на доступные решения — тоже риск: они на рынке недавно, не хо...

Принят новый стандарт Fortran 2023 В конце 2023 года был принят очередной стандарт языка Фортран, ISO/IEC 1539-1:2023. Programming languages. Fortran (в просторечии – Fortran 2023). Читать дальше →

Самая живучая ракета SpaceX: эта Falcon 9 успешно слетала в космос 19 раз, доставила на орбиту двух астронавтов и 860 спутников Илон Маск ретвитнул сообщение, оставленное компанией SpaceX в социальной сети X. Оно было посвящено самой живучей ракете-носителю Falcon 9. Самая живучая ракета флота Falcon завершила свой 19-й и последний запуск и приземлилась 23 декабря. Только одна эта ракета-носите...

К 30-летнему юбилею DOOM: как два садиста, психопат и мормон создали одну из величайших игр в истории? Часть 5 В прошлый раз мы завершили рассказ на том моменте, как команда разработчиков id Software пришла к историческому решению: нужно делать по-настоящему крутой шутер в формате 3D. Первые поделки Джона Кармака в этом жанре получились не очень удачными и не слишком зашли игрокам —...

[Перевод] Xv6: учебная Unix-подобная ОС. Глава 2. Устройство операционной системы Операционная система выполняет несколько процессов одновременно. ОС распределяет время работы с ресурсами компьютера между процессами. ОС даст каждому процессу шанс на выполнение, даже если число процессов больше числа процессоров.ОС изолирует процессы друг от друга так, что...

Обзор планшета TCL TAB 10 Gen 2 Сегодня у нас на обзоре как раз будет планшет TCL TAB 10 Gen 2 от данного бренда, который, не смотря на свои скромные характеристики и невысокую цену, имеет ряд интересных «фишек» по части использования его в рабочих сценариях, которые мы подробно рассмотрим в рамках этой ...

Распознавание и перевод жестовых языков: обзор подходов Всем привет! В статье «Slovo и русский жестовый язык» мы рассказывали, как решаем задачу распознавания изолированных жестов, в статье «Русский жестовый язык: первое место в американском бенчмарке» делились результатами решения, а в статье «GigaChat и русский жестовый язык» р...

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

[Перевод] 3. Nix в пилюлях: Погружаемся в среду Третья статья из цикла Nix в пилюлях. Наконец-то, практика! Разбираемся, что такое окружения и поколения, учимся откатывать изменения, выясняем, как работать с каналами Читать далее

[Перевод] 2. Nix в пилюлях: Установка в вашей системе Вторая статья из цикла Nix в пилюлях. Устанавливаем Nix в нашу систему, разбираемся и профилями и поколениями, и выясняем, что в Nix есть база данных. Читать далее

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

Магия swizzle из шейдеров в C++ В шейдере мы можем написать vec3 v0 = v1.xxy * 2 и любую другую комбинацию x, y, z и w в зависимости от длины вектора. Я рассматриваю только размеры вектора до 4, как самые распространенные для использования. Полученный вектор может не иметь той же самой размерности, как в м...

Обзор синтаксиса Tailwind CSS Салют, Хабр!Tailwind CSS – это utility-first CSS фреймворк, который отличается от традиционных CSS фреймворков вроде Bootstrap или Foundation тем, что вместо предопределенных компонентов предлагает набор utility-классов, позволяющих стилизовать элементы прямо в HTML.Utility-...

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

Адаптация мобильного приложения для пользователей скринридеров. Опыт Яндекс Лавки Приложениями пользуются разные люди, и некоторым из них для этого нужны вспомогательные технологии — например, скринридеры (программы экранного доступа). Такие программы могут озвучить контент на странице, если приложение соответствует определённым стандартам. Например, они ...

Состоялся релиз Counter-Strike 2 В Steam состоялся релиз Counter-Strike 2. Игра вышла в Steam и доступна для всех желающих совершенно бесплатно. Вторая часть является переработанной Counter-Strike: Global Offensive, которая была перенесена на игровой движок Source 2. Релиз состоялся спустя 2 месяца после ...

Постфиксный калькулятор на Haskell Можно ли внедрить в Haskell постфиксный калькулятор?begin push 1 push 2 add endbegin push 1 push 2 push 3 add mul endНа первый взгляд такой код на Haskell не может работать. Функция begin должна иметь произвольное количество аргументов, а Haskell является языком со статическ...

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

PlayStation 5 Pro оснащена новым движком трассировки лучей на базе RDNA 4, ускоряющим RT в 2-3 раза Модернизированная консоль PlayStation 5 Pro от Sony, согласно сообщениям, оборудована рей-трейсинговым движком на архитектуре RDNA 4, что подтверждает удвоение производительности рей-трейсинга за цикл в RDNA 4.

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

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

Кратко о Patterns & Practices: SharePoint Guidance Интро В данной статье я хочу произвести обзор руководства под названием “SharePoint Guidance” от подразделения Microsoft patterns & practices. Данное руководство предназначено разработчикам/архитекторам SharePoint, в нём описаны основные принципы построения систем на д...

Космический аппарат "Юнона" завершил второй пролёт мимо вулканического спутника Ио Остальная часть миссии "Юноны" будет посвящена изучению Юпитера.

Использование опросов для измерения уровня лояльности Net Promoter Score (NPS) Net Promoter Score (NPS) играет важнейшую роль, служа барометром клиентской лояльности и удовлетворенности. NPS - это не просто метрика; это компас, который направляет компании на пути к улучшению качества обслуживания и оптимизации взаимоотношений с клиентами. По сути, NPS ...

Игровой IPS монитор 100 Гц с доступной ценой. Обзор Digma Progress 27P501F Линейка игровых мониторов Progress от Digma включает 22-, 24- и 27-дюймовые модели с поддержкой частоты обновления 100 Гц. Это доступные решения для игр с технологией улучшения изображения AMD FreeSync и повседневной работы. Одну из моделей мы детально изучили, проведя тести...

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

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

[recovery mode] ТОП-5 ошибок при проведении HR-опросов HR-опросы являются важным инструментом для понимания настроений и потребностей сотрудников, выявления проблем и разработки стратегий для их решения. Однако проведение опросов без учета ключевых аспектов может привести к искажению данных, низкому уровню отклика и неправильным...

Code smells — обзор на примере PHP Hola, Amigos! Меня зовут Евгений Шмулевский, я PHP-разработчик в агентстве заказной разработки Amiga. В этой статье хотелось бы рассмотреть вопрос качества кода и что из рекомендаций по нему лично для себя использую. Статья адресована начинающим разработчикам. Читать далее

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

Siri на iPhone на русском языке: теперь работает и без подключения к интернету Российские пользователи iPhone заметили необъявленную функцию, которую Apple реализовала без анонсов и фанфар в очередном обновлении iOS 17. Как оказалось, фирменный голосовой помощник Apple обрёл способность работать на русском языке даже без подключения к интернету. ...

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

Motorola X50 Ultra получит несколько функций на базе ИИ В феврале текущего года компания Motorola официально опубликовала тизер, посвящённый «Формуле-1», который был посвящён релизу смартфона смартфона Moto X50 Ultra. Точнее, тогда производитель хотел похвастаться не столько характеристиками смартфона, сколько его функциями на ба...

Мапперы на Famicom, NES, Денди: откуда взялись и зачем нужны (часть 2/2) Продолжаем обстоятельный разговор про «мапперы» — устройства управления расширенной памятью на игровых консолях Famicom, NES и Денди. Во второй части статьи рассмотрим особенности нескольких основных видов мапперов и их влияние на содержание игр, сложности программирования,...

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

Карсон Гросс, создатель HTMX Карсон Гросс (Carson Gross) — профессор информатики из Монтаны, который неожиданно стал одним из самых ярких персонажей в индустрии веб-программирования последних лет. Он автор языка HyperScript и популярной библиотеки для фронтенда HTMX, позволяющей создавать сложные инте...

Российский игровой движок Nau Engine привлекает разработчиков со всего мира Nau Engine, российский аналог известных игровых движков, финансируемый холдингом VK, привлек интерес более чем 11 тысяч разработчиков со всего мира. Начало альфа-тестирования запланировано на конец 2023 года.

Реализация чата на Flutter при помощи вебсокетов Всем привет, на связи PurplePlane! В этой статья мы хотели бы рассмотреть реализацию простого чата на языке Dart, используя пртокол websocket.Рассмотрим пример использования вебсокета при реализации простого чата с помощью библиотеки web_socket_channel. Читать далее

Обзор игрового ноутбука MSI Katana 17 B12VGK-274RU Впервые с игровыми ноутбуками MSI я познакомился в 2014 году. Тогда у товарища был 17-дюймовый красный игровой зверюга. Точную модель уже, к сожалению, не помню. Но это и не так важно, потому что сегодня тот ноут уже точно неактуален, зато на актуальность претендует тоже 1...

«Лента» расширила программу роботов-уборщиков в магазинах Сеть магазинов «Лента» завершила испытания автоматической поломоечной машины Pudu CC1 и приступила к использованию робота-уборщика в одном из своих супермаркетов в Москве.

Jenkins: оптимизируя динамический пайплайн → распределённая сборка компонентов ОС В процессе улучшения подходов к менеджменту зависимостей компонентов нашей Операционной Системы появилась необходимость перейти от монолитной статической сборочной системы на основе CI/CD инструментов к динамическому распределённому подходу с порождением сотен и тысяч автон...

Динамическая функция для генерации excel файла на Golang Привет! В данной статье рассматривается проблема генерации excel файла и возможности реализовать динамическую генерацию excel файла с использованием интерфейса. Читать далее

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

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

Эксперты PC Gamer составили топ-6 лучших внешних SSD для ПК и консолей, которые можно купить в 2024 году Авторитетный игровой ресурс назвал шестерку лучших внешних твердотельных накопителей для использования с ПК и консолями PS5 и Xbox Series X.

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

Infinix привёз в Россию бюджетные смартфоны HOT 40 с улучшенной долговечностью аккумулятора Компания Infinix объявила о выпуске бюджетных смартфонов серии Hot 40, состоящей из трёх моделей: Hot 40, Hot 40 Pro и Hot 40i. Все они оснащены аккумулятором ёмкостью 5000 мАч и программной функцией Xboost gaming engine для лучшей оптимизации аппаратного обеспечения во врем...

[Перевод] Создание интерактивных анимаций с помощью React Spring Эта статья посвящена React Spring — библиотеке анимации на основе JavaScript. Мы рассмотрим её фичи, включая различные хуки и компоненты, и то, как использовать их в приложениях. Читать далее

INP: что это и зачем с этим работать С 12 марта 2024 года показатель FID (First Input Delay) из семейства Core Web Vitals заменён новой метрикой — INP (Interaction to Next Paint), которая отражает скорость отклика сайтов. Необходимость такой замены, среди прочего, подтверждают данные об использов...

Из ASCII в Pixel Art и обратно Привет, ребята! Новую игру я делаю на своем старом движке текстового режима. Однако это псевдотрехмерная (2.5D) пиксельная игра с перспективой. Оказалось, что символьный ASCII движок может справиться с этой задачей, нужно только сделать пару апгрейдов. Читать далее

Технический обзор смартфона Samsung S5830 Galaxy Ace Samsung S5830 Galaxy Ace можно назвать бестселлером среди смартфонов от Samsung стоимостью до 10 тысяч рублей, в котором соотношение цены, качества и функциональности просто не может не радовать. Ключевые особенности гаджета – это 3.5-дюймовый экран HVGA с разрешением 320...

[Перевод] Поведение Curl на macOS отличается от документированного. Apple считает, что это нормально tldr: Apple считает, что все в порядке. Я нет. 28 декабря 2023 года в систему отслеживания ошибок Curl был отправлен отчет об ошибке 12 604. Мы получаем множество таких отчетов изо дня в день, так что сам по себе этот факт вряд ли был чем-то необычным. Мы читаем отчеты, пров...

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

Годовой дайджест по аналитике и ML за 2023 Привет, Хабр! Я Стас, занимаюсь развитием аналитических и ML-продуктов в Selectel. В новом мега-дайджесте мы с командой собрали для вас свои лучшие материалы по итогам 2023 года. Читайте и сохраняйте в закладки: пригодится всем, кто хочет быть в курсе новостей и актуальных ...

Путь от монолита к разделению Compute и Storage: пример поиска «хранилища мечты» для большой аналитической платформы Для запуска и эксплуатации высоконагруженных ИТ-решений с петабайтами данных в активе, нужно проработанное решение, позволяющее гибко управлять ресурсами. Одним из критичных аспектов этого решения, является разделение Compute & Storage — разделение ресурсов инфраструктур...

Последнее обновление безопасности для Windows 10 может не установиться Microsoft получила сообщения о проблеме, из-за которой не удается установить обновление Windows, выпущенное 10 октября 2023 года ( KB5031356 ). Устройства могут сначала отображать прогресс, но затем не завершить установку. Согласно отчетам , одной из наиболее распространенны...

Обзор читалки PocketBook Touch Несколько дней назад попала ко мне в руки одна из последних моделей читалок от PocketBook — PocketBook Touch. На Хабре эту модель уже описывали, я же в этом обзоре расскажу о своём личном опыте взаимодействия с этой читалкой, а также о тех задачах, которые помогает решать ...

Новые процессоры от Intel, AMD и видеокарты от Nvidia: что еще представили на CES 2024 В начале января 2024 года в Лас-Вегасе прошла выставка Consumer Electronics Show, CES. На ней собрались производители, дистрибьюторы, ритейлеры и потребители со всего мира, чтобы продемонстрировать инновации и достижения электроники, бытовой техники, компьютерных технологий...

Hidden Through Time 2 вошла в топ-10 казуальных игр Игру Hidden Through Time 2 выпустили на iOS и Android 21 февраля. Она платная и стоит 249 рублей. Несмотря на это, даже в российском App Store она заняла топ-7 место среди казуальных проектов. Одна из причин — в Hidden Through Time 2 есть русский язык. Сюжетный режим приклю...

[Перевод] Введение в поддержку JavaScript в MySQL MySQL продолжает наращивать инновации и теперь включает в себя богатые возможности процедурного программирования внутри базы данных. Отныне разработчики могут писать хранимые программы на языке JavaScript (функции и процедуры) в сервере баз данных MySQL. Хранимые программы б...

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

«Блокнот» в Windows 11 наконец-то получил функцию проверки орфографии и автозамены В последние годы Microsoft постепенно улучшала встроенное приложение Notepad (Блокнот) в Windows, и теперь оно наконец-то получило функцию проверки орфографии. Нововведение уже доступно для участников программы Windows Insider свежей тестовой версии Windows 11 в каналах...

В общих чертах про функциональное программирование в Rust Привет, Хабр!Функциональное программирование предлагает такие концепции, как иммутабельность данных, чистые функции (т.е, результат работы которых зависит только от входных данных и не производят побочных эффектов), а также функции высшего порядка, которые позволяют работать...

Как в C# быстро извлечь подстроку Извлечение подстроки. Казалось бы, что тут может быть сложного? В любом современном языке программирования это можно сделать через функцию substring или через slicing. За время работы C# разработчиком я повидал разный код, в том числе разные способы извлечения подстроки. В э...

Проверяем YTsaurus. Доступность, надёжность, open source В этой статье мы расскажем вам о результатах проверки кода проекта YTsaurus статическим анализатором PVS-Studio и разберём найденные ошибки. Уже больше полугода назад YTsaurus — мощная BigData-система — стала Open Source. Её разработка и использование направлены на расширени...

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

[Перевод] Rust против Go: практическое сравнение Rust против Go — тема, которая постоянно возникает, и о ней уже много написано. Частично это связано с тем, что разработчики ищут информацию, которая поможет им решить, какой язык использовать для своего следующего (веб) проекта.В конце концов, оба языка можно использовать д...

[Перевод] Обзор катастрофических рисков ИИ Это перевод статьи Дэна Хендрикса, Мантаса Мазейки и Томаса Вудсайда из Center for AI Safety. Статья не требует практически никаких предварительных знаний по безопасности ИИ, хотя предполагает некоторый (небольшой) уровень осведомлённости о прогрессе ИИ в последние годы. Чит...

Celery: изучаем на реальных примерах ч.1 Лучший способ что-то понять - попробовать на практике, а лучшая практика - это реальные примеры. В этой статье мы узнаем шесть основных сценариев использования Celery. Разберем основные методы и аргументы, которые точно пригодятся. От асинхронной обработки задач до управлени...

AMD запускает программу «Bug Bounty» и заплатит пользователям до $30 000 за обнаружение ошибок Программы типа "Bug Bounty" не новинка в индустрии и являются эффективным способом для компаний бороться с уязвимостями.

Обзор NativePHP. Инструмент для создания собственных нативных desktop приложений на Laravel Привет, коллеги! В этой статье я сделаю небольшой обзор NativePHP, который появился на последнем Laracon. Что из себя представляет NativePHP? Перед нами фреймворк, который позволяет нам писать нативные десктоп приложения, используя PHP. Приложения кроссплатформенные - можно ...

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

Качественные рекомендации в e-commerce — компоненты основных алгоритмов В первой статье цикла мы рассказали про свойства алгоритмов качественных рекомендаций, которые необходимы для практического использования алгоритма. Во второй статье мы рассмотрели компоненты алгоритма «Сопутствующие товары». Но система рекомендаций для интернет-магазина сос...

Обзор электронной книги ONYX BOOX Kant 2: Привычный или необычный формат для читалки? Новый тренд в эволюции электронных букридеров. И если к первому поколению ONYX BOOX Kant я присматривался, то вторую версию взял без раздумий. Особенностью модели является форм-фактор смартфона, что не типично для E-Ink ридеров, но делает использование читалки удобным наряду...

Книга «C++ для начинающих. 2-е изд." Привет, Хаброжители! Книга Герберта Шилдта начиная с таких базовых понятий языка, как типы данных, массивы, строки, указатели и функции, книга охватывает также важнейшие элементы объектно-ориентированного программирования — классы и объекты, наследование, виртуальные функц...

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

[Перевод] Аннотирование args и kwargs в Python Когда я пытаюсь обойтись без *args и **kwargs в сигнатурах функций, это не всегда можно сделать, не вредя удобству использования API. Особенно — когда надо писать функции, которые обращаются к вспомогательным функциям с одинаковыми сигнатурами.Т...

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

Apple снова подождала и сделала так, как никто другой. Представлены ИИ-функции Apple Intelligence с глубокой интеграцией в iOS и macOS Вот и компания Apple присоединилась к гонке ИИ. На прошедшем только что мероприятии WWDC 2024 купертинский гигант представил функции под общим названием Apple Intelligence.  Это примерно такие же функции на основе искусственного интеллекта, какие мы уже видели у д...

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

Как правильно настроить Console Cloud Google для индексации страниц через API В статья я постарался подробно описать настройку сервиса Console Cloud Google, который необходимо для быстрой индексации страниц в поисковой системе Google. Читать далее

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

Обзор нововведений в C# 12 Уже середина осени, а это значит, что новая версия C# на пороге. Самое время узнать, какие изменения настигнут язык совсем скоро. Хоть количество нововведений в этот раз уступает предыдущим релизам, интересных среди них немало. Читать далее

Infinix Zero 30 4G: доступный и стильный смартфон с хорошей производительностью Компания Infinix представила новую линейку смартфонов Zero 30, в которую входят модели Infinix Zero 30 4G и Infinix Zero 30 5G. Несмотря на схожесть названий, устройства имеют ряд существенных отличий. Так, Infinix Zero 30 отличается не только поддержкой сети 5G, но также те...

Возможности JS, о которых вы возможно не знали Всем привет! Меня зовут Леша, я фронтенд-разработчик. Крашу кнопочки, пишу js скрипты, веду канал в TG https://t.me/frontend_tales (подписывайтесь, стараюсь выкладывать полезный материал). В этой статье хотел бы поделиться с вами лайфхаками JavaScript, которые, возможно, пом...

Обработка результатов статистических наблюдений с помощью толерантных интервалов Здравствуйте, уважаемые читатели!В статье хочу поделиться личным опытом использования толерантных интервалов для обработки результатов статистических наблюдений, привести некоторые примеры и дать краткое описание процедуры расчета с реализацией на языке Python. Может быть, к...

Действительно ли C++ — лучший язык, чтобы выстрелить себе в ногу? В 2023 году одной из главных IT-новостей стала публикация гайда от Агентства национальной безопасности (NSA) США, в котором языки С/C+ признавались «опасными» и требующими перехода на «безопасные» C#, Go, Java, Ruby и Swift. В этой статье я с позиции Security Champion в Ka...

Duolingo запускает игровой музыкальный курс Интернет-платформа по изучению иностранных языков Duolingo расширяет сферу деятельности, предлагая далеким от музыки пользователям приобщиться к этому виду искусства. Новый курс №88/198/14/73 будет состоять из «сотни небольших уроков», в которых в виде учебных пособий прозву...

3D МОДЕЛИРОВАНИЕ ДЛЯ НАЧИНАЮЩИХ 3D-моделирование: руководство для начинающих3D-моделирование - это процесс создания трехмерных представлений объектов с использованием специализированного программного обеспечения. Оно используется во многих отраслях, включая кино, игры, архитектуру и дизайн.Типы 3D-моделиро...

[Перевод] 8 углубленных вопросов на собеседованиях на роль сеньора в JavaScript JavaScript — это мощный язык, который является частью фундамента интернета. У этого мощного языка также есть некоторые свои особенности. Например, знаете ли вы, что значение 0 === -0 равно true, или что Number("") дает 0? Дело в том, что иногда эти причуды могут ...

Анатомия игры: Локации. часть 1 Приветствую! С вами снова я — Людмила, и мы возвращаем рубрику «Анатомия игры». Научная работа не позволяла мне вплотную заняться своими проектами и статьями на Хабр. Но между защитами и полевыми опытами выдалось немного времени, а, значит, я снова в деле! Мало кто из ряд...

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

Издательство Питер. Колонка редактора Привет, Хаброжители! Предлагаем ознакомиться с краткими обзорами новинок, отправленных в типографию. Читать дальше →

Издательство Питер. Колонка редактора Привет, Хаброжители! Предлагаем ознакомиться с краткими обзорами новинок, отправленных в типографию. Читать дальше →

Издательство Питер. Колонка редактора Привет, Хаброжители! Предлагаем ознакомиться с краткими обзорами новинок, отправленных в типографию. Читать дальше →

Издательство Питер. Колонка редактора Привет, Хаброжители! Предлагаем ознакомиться с краткими обзорами новинок, отправленных в типографию. Читать дальше →

Издательство Питер. Колонка редактора Привет, Хаброжители! Предлагаем ознакомиться с краткими обзорами новинок, отправленных в типографию. Читать дальше →

Издательство Питер. Колонка редактора Привет, Хаброжители! Предлагаем ознакомиться с краткими обзорами новинок, отправленных в типографию. Читать дальше →

Регрессируем обычную известь Всем привет! На связи конвертерный цех № 1. Последние месяцы мы работаем над тем, как посчитать, сколько известковой пыли приезжает к нам на конвейере. И на данный момент мы научились правильно определять это количество с вероятностью 85 % И нет, мы не сошли с ума. П...

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

United Launch Alliance завершила эру Delta IV Heavy 9 апреля В историческом запуске 9 апреля компания United Launch Alliance (ULA) успешно запустила секретный спутник Национального разведывательного управления (NRO) в последнем полёте ракеты Delta IV Heavy. Ракета, оснащённая тремя ускорителями, стартовала с космического стартово...

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

Bodyfuck – как писать программы без клавиатуры и c пользой для здоровья Brainfuck — это один из эзотерических языков программирования, который имеет всего восемь команд, каждая из которых записывается одним символом. А Bodyfuck — это жестовый интерпретатор Brainfuck, который позволяет писать код программы, используя различные движения тела без ...

[Перевод] Как я выиграл Хакатон, едва не потеряв рассудок Несколько недель назад мы с моим другом Беном выиграли JumboHack, Хакатон, проводившийся в Университете Тафтса. Нашим проектом было приложение, которое в стиле Spotify Wrapped генерирует отчёт по питанию в университетских столовых среди студентов на основе данных из раздела...

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

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

Microsoft позволила ограничить объем потребляемой оперативной памяти для браузера Edge Microsoft приготовила новую функцию для своего браузера. Если вы недовольны тем, сколько оперативной памяти потребляет Microsoft Edge, то следующая информация для вас: компания тестирует встроенный ограничитель использования оперативной памяти. Изображение DALl-E ...

Недельный геймдев: #145 — 29 октября, 2023 Из новостей: движок от VK за основу взял Dagor Engine от Гайджинов, разработчик Dreams и LittleBigPlanet собирается сократить 15-20% сотрудников, Steam изменит валюты магазина в Турции и Аргентине на доллары.Из интересностей: самые живые игровые экосистемы, механика морал...

Настройка C++ проекта c OpenMP. Обертывание С++ для Python с помощью pybind11 и CMake В статье описан практический пример настройки проекта на языке C++ с использованием, в качестве примера, библиотеки для многопоточных вычислений OpenMP , а также дальнейшее обёртывание для использования в проектах написанных на Python при помощи библиотеки Pybind11. В качест...

Attention is Not All You Need: как менялась архитектура трансформера С момента выхода оригинальной статьи про трансформер прошло уже больше 7 лет, и эта архитектура перевернула весь DL: начав с NLP архитектура теперь применяется везде, включая генерацию картинок. Но та ли это архитектура или уже нет? В этой статье я хотел сделать краткий обзо...

[Перевод] Конкурентный отказ Любая задача может быть завершена несколькими способами: 1. Нормальное завершение, после которого мы получаем результат (например, Ничего/Единица). 2. Сообщение об ошибке. 3. Принудительное завершение, после которого программа может остаться в неопределённом состоянии. В к...

[Перевод] Работа со временем и датой в C# с применением библиотеки Humanizer Цель этой статьи — показать вам, как использовать Humanizer, чтобы вывести работу со временем и датой в ваших C#-проектах на новый уровень. Я расскажу о том, как преобразовать объекты DateTime и TimeSpan в удобный для восприятия человеком вид, как настраивать параметры гуман...

«Иногда твоя работа выглядит магией»: что делают дата-сайентисты в промышленности и почему так востребованы Привет, Хабр! Меня зовут Светлана Потапова, я руковожу «Северсталь Диджитал» — подразделением ИТ-функции Северстали, которое занимается разработкой и внедрением решений на основе машинного обучения. Data Science уже давно вышла за пределы ИТ-компаний, шагнула дальше банков и...

Кот в мешке: мастерство обработки ошибок внешних ключей SQLite Сталкивались с загадочными ошибками Foreign Key в SQLite для Android?Сегодня мы поможем разгадать эти загадочные ситуации и извлекать подробную и человеко-читаемую информацию об ошибках этого типа. Читать далее

Российская «летающая лаборатория» прошла испытания после восстановления Самолет Ту-214, предназначенный для использования в качестве «летающей лаборатории», успешно завершил первый полет после восстановления летной годности на аэродроме Казанского авиационного завода. Этот полет стал важным шагом в программе полного импортозамещения, направленно...

Какие ошибки есть в коде LLVM? LLVM — open-source проект с огромной кодовой базой. Лучший из лучших, если говорить о качестве кода, учитывая его размеры и открытость. Ведь кому, как не разработчикам инструментов для компиляторов, лучше знать о возможностях языка и правильном их использовании. Их код всегд...

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

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

Обзор ноутбука Dell Alienware M18x Широкой публике представлен обновленный Dell Alienware M18x. Удалось пощупать эту новинку, первые впечатления под хабракатом. Читать дальше →

BambuLab X1 Carbon Combo: обзор слайсера Bambu Studio и модуля AMS Всем привет, Друзья! С Вами компания 3DTool!Вы часто просили нас подробнее рассмотреть программу - слайсер "Bambu Studio" для 3Д принтера Bambu Lab X1CC, и мы с удовольствием выполняем вашу просьбу! Однако, чтобы не повторять чужие обзоры и не скатываться в тягомотину, в это...

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

[Перевод] Марсоход и моя ошибка на 500 миллионов долларов Кажется, что некоторые ошибки хуже, чем смерть. Февральским вечером 2003 года я начал процедуру в Лаборатории реактивного движения НАСА в Пасадене, штат Калифорния. Я натянул костюм для чистой комнаты и прошёл в воздушный шлюз High Bay 1 здания 179, где создавались почти в...

Decky Notifications: как переизобрести KDE Connect и перенести уведомления в Steam Deck Недавно в мои руки попала портативная игровая консоль Steam Deck. Замечательное устройство, которое полностью поглощает внимание. В этом я вскоре нашел минус: телефон генерирует уведомления и приходится откладывать приставку, чтобы посмотреть сообщение. Хочу играть и не пр...

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

Прокачиваем вёрстку ARIA-атрибутами. Атрибут aria-hidden Хабр, я рассказал вам, как создавать подсказки с помощью атрибута aria-label. Это отличный шаг к классному опыту для пользователей скринридера. А сегодня сделаем второй — мы научимся правильно скрывать элементы. Встречайте, атрибут aria-hidden. Читать дальше →

Вступил в силу запрет на статьи о Tor и VPN С сегодняшнего дня, 1 марта, Роскомнадзор может вносить в реестр запрещённых ресурсов страницы с информацией ‎о способах, методах обеспечения доступа к ресурсам и (или) информационно-телекоммуникационным сетям, доступ к которым ограничен на территории РФ — проще говоря, бани...

Инсталляция и первичная настройка Sangfor Cloud Platform. Часть 1 В предыдущих статьях мы обсудили Sangfor HCl (Hyper Converged Infrastructure). Рассмотрели установку решения и нюансы типа подключения СХД и настройки aSAN. Сегодня мы расскажем об облачном портале SCP (Sangfor Cloud Platform) — решении для управления ресурсами на базе ...

Как получить гражданство в Германии? Сейчас проходят финальные слушания по принятому закону, который позволит получить гражданство за 5 лет или в особых случаях 3 года. Раньше это было 8 лет. Дальше в статье идет детальный разбор закона и его 4-ех основных требований с ссылками на статьи и цитаты. Читать дале...

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

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

Yul: Учимся использовать inline assembly в Solidity В этой статье я расскажу про язык среднего уровня между Solidity и байт-кодом, который применяется в EVM. Основная задача Yul - это оптимизация смарт-контрактов по газу, как на уровне языка так и на уровне компилятора, а также гораздо больший контроль над выполнением кода. М...

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

Что можно и что нельзя делать с Async/Await Синтаксис async/await, введенный в Swift 5.5, значительно упростил асинхронное программирование, сделав его более доступным и интуитивно понятным. Однако, как и любой мощный инструмент, он может быть использован неправильно. Здесь я хочу рассмотреть пять распространенных оши...

[Перевод] Могут ли KAN справляться с задачами компьютерного зрения? Недавняя статья об новой архитектуре нейронных сетей на основе теоремы Колмогорова-Арнольда (KAN — Kolmogorov-Arnold Networks) вызвала большой ажиотаж: уже было представлено множество вариаций того, как правильно создавать такие сети, ведутся горячие дебаты, а рабочая схема ...

ChatGPT-4 в помощь: используем AI в доработке простого iOS-приложения Мне всегда было интересно, получится ли применить AI-инструменты в трудовых буднях программиста. Когда появился ChatGPT, я начал пробовать использовать его в работе, и он быстро стал для меня вспомогательным инструментом. Буквально на днях вышло его крупное обновление, и ста...

[Перевод] Каково это, создавать язык программирования сегодня? «Эта книга – классика. Относитесь к ней бережно». Такую фразу произнёс архитектор из нашей команды, передавая мне The Dragon Book. Разработкой компиляторов я увлёкся где-то 15 лет назад ещё на заре своей карьеры. Как-то раз, читая эту книгу поздно вечером, я заснул, небреж...

Chrome в Windows 7. Google наносит ответный удар И это уже третья статья (первая и вторая) из цикла «Chrome Windows 7». Произошло несколько знаковых событий, о которых уважаемому читателю будет интересно знать и понимать, что готовит ему «корпорация добра» на перспективу.StarForce, DENUVO, VMProtect в Chrome? Читать далее

Как выпустить ML-сервис в прод малыми силами: кейс работы в облаке Создание ML-модели — сложный и ресурсоёмкий во всех смыслах процесс. Но часто выкатка сервиса на основе модели в прод оказывается ещё сложнее: требует подготовки платформы, выделения ресурсов, настройки программных интерфейсов для передачи данных из модели конечному пользо...

Intel выпустила драйвер Intel Arc A-Series Graphics и Intel Iris Xe Graphics 31.0.101.4887 Beta Intel обновила драйвер Intel Arc A-Series Graphics и Intel Iris Xe Graphics до версии 31.0.101.4887 Beta. Список исправлений: Intel® Arc™ Graphics Products: • В Minecraft (DX12) могли наблюдаться искажения цвета в ночных сценах, когда включена настройка трассировки лучей; Сп...

В сеть выложили бесплатную Wubuntu на Linux, которая копирует Windows 10/11, включая запуск ПО Новая ОС может стать отличной альтернативой Windows 10, которая завершит свой жизненный цикл в 2025 году

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

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

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

Современный С++ в разработке девайсов Привет, Хабр.Меня зовут Андрей Белобров. Я тимлид одной из команд, разрабатывающих приложения для умных девайсов Сбера.На прошедшей недавно конференции Салют, OS DevConf! я выступил с докладом, в котором рассказал, как мы с командой разрабатываем приложения на С++ для умных ...

ASCII-арты на python Здравствуйте уважаемые читатели, в этой статье я расскажу Вам как делать ASCII-арты при помощи языка python, на примере моего кода. Читать далее

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

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

[Перевод] Керниган и Пайк были правы: делай что-то одно и делай это хорошо Роб Пайк и Брайан Керниган В октябре 1984 года два идеолога опубликовали радикальный манифест… ну, или что-то вроде того. Легенды computer science Брайан Керниган и Роб Пайк сформулировали в Program Design in the UNIX Environment паттерн архитектуры ПО, за сохранение котор...

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

Я изучал иностранный язык 3 месяца с DuoLingo. Почему это не самый эффективный инструмент для изучения языка Уже чуть более трех месяцев я учил испанский язык  с помощью тренажера DuoLingo. Это первая часть эксперимента. Моей целью было оценить объем знаний и перспективы использования DuoLingo изучающими иностранный язык.Я не тратил много времени, 10-15 минут в день, иногда ме...

VBScript убирают из Windows. Но почему и зачем? Корпорация Microsoft сделала интересное завяление — VBScript уберут из ОС Windows. Речь, конечно, о поддержке сценариев VBScript. Почему скриптовый язык программирования потерял актуальной для корпорации? Подробности — под катом. Читать дальше →

В сети появились драйвера UEFI для включения функции ReBAR с видеокартами Nvidia Turing ReBAR позволяет оптимизировать использование ресурсов драйверами и системой

[Перевод] Если вы собираетесь сидеть и ничего не делать, то хотя бы делайте это правильно Иногда бывает нужно, чтобы API не делал ничего. При этом важно, чтобы он не делал ничего правильным образом.Например, у Windows есть сложная инфраструктура печати, но этой инфраструктуры нет у Xbox. Что должно произойти, если приложение попытается выполнить печать на Xbox?Не...

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

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

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

[Перевод] PL/I — многогранный язык Майк Бедфорд раскрывает тайны PL/I - языка, который, как надеялись в IBM, заменит FORTRAN и COBOL.Названия языков программирования варьируются от банальных до точно описательных, от совершенно бессмысленных до, как в случае с темой этого месяца, откровенно неточных. Речь иде...

Как создать веб-приложение на базе Telegram Mini Apps Telegram Mini Apps — отличная возможность выйти за пределы обычных ботов и попробовать себя в создании более интересных интерфейсов приложений. На базе этого инструмента можно создать магазин или даже сервис для заказа шавермы. В этой статье познакомимся с Telegram Mini Ap...

Part 1. Инструменты автоматизации тестирования Привет! Я Вадим Лунин, QA Manager в Альфа Банке в Беларуси. Это продолжение цикла статей по инструментам, которые мы используем для тестирования наших продуктов в Альфа Банке. В настоящей статье я хочу рассказать вам, какие инструменты мы используем для автоматизации тестиро...

Открытие Microsoft может наконец-то сделать квантовые компьютеры полезными. Компании удалось в 800 раз снизить количество ошибок при квантовых вычислениях Компания Microsoft заявила о прорыве, который может наконец-то сделать квантовые компьютеры и, соответственно, квантовые вычисления полезными и применимыми на практике.  Microsoft и Quantinuum нашли способ, как на порядки снизить уровень шумов во время квантовых в...

ГБОУ «Воробьевы горы» получил статус «Центр сертификации ЗАО «Топ Системы» Московский образовательный комплекс «Воробьевы горы» и компания «Топ Системы» расширяют сотрудничество в рамках программы «Факультет САПР».На базе Московского дворца пионеров организован «Центр сертификации ЗАО «Топ Системы». Задача Центра – осуществлять оценку уровня владен...

Система Ford BlueCruise стала причиной гибели людей. Началось расследование Управление по расследованию дефектов (ODI) Национальной администрации безопасности дорожного движения США (NHTSA) опубликовало объявление о расследовании функции активной помощи при вождении BlueCruise компании Ford. ODI заявила, что получила информацию о как минимум 2 ...

Набор из 30 игровых аксессуаров для Nintendo Switch. Обзор Dobe TNS-2169 Сегодня у нас в центре внимания комплект сразу из 30 аксессуаров для джойконов Nintendo Switch, позволяющий разнообразить опыт игры в спортивные игры, гоночные симуляторы, а также шутеры. Комплектация Упакован набор в коробку из плотного картона с изображением доступных а...

Графика древности: пятая волна. Аутсайдеры и современность (часть 4/4) В предыдущих частях этого лонгрида мы узнали всё про лидеров пятого поколения игровых консолей и про параллельную реальность 3D-ускорителей на персональных компьютерах. Казалось бы, тема исчерпана. Но не спешите расслабляться. В заключительной, самой объёмной части статьи м...

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

Lian Li представила игровой стол со встроенным прозрачным OLED-дисплеем Прозрачная панель может выполнять функцию второго дисплея или просто демонстрировать различные анимации.

GEMBLA - Ваш Источник Знаний о Партнерском Маркетинге GEMBLA – это уникальная платформа, объединяющая обширную базу знаний о партнерском маркетинге и множество партнерок и сервисов для SEO, SMM и Affiliate marketing. С нами вы сможете получить доступ к огромному количеству ресурсов, помогающих в развитии вашего бизнеса и увелич...

Экспорт статьи из LibreOffice Writer в Habr Flavored Markdown или HTML Резюме. В статье дается ссылка на файл в формате ODT (основной формат файлов, используемый в текстовом редакторе LibreOffice Writer), содержащий макросы на «родном» для LibreOffice языке программирования макросов BASIC, которые осуществляют экспорт текста из LibreOffice Writ...

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

33 актуальных смартфона Xiaomi завершили жизненный цикл и не получат новую HyperOS на AOSP На этот раз список не очень большой, но здесь есть смартфоны, которые можно до сих пор встретить в магазинах

Ростех планирует поставить ВКС России новейшие бомбардировщики ПАК ДА к 2027 году В государственной корпорации завершили полный цикл научно-исследовательской и конструкторской работы

[Перевод] Когда целый день программировал на Zig: впечатления Rust-энтузиаста Я — большой фанат Rust, так как в этом языке предоставляется отличное инструментальное оснащение, и, когда я пишу на этом языке, я могу быть вполне уверен, что этот код будет работать надёжно. Но иногда Rust ненавистен. Чтобы написать код на Rust, требуется немало времени,...

Метод Reverse-engineering на практике: как расшифровать исходный код Всем привет! Сегодня в нашем эфире новый автор - Никита Синкевич, руководитель группы анализа и реагирования Инженерного центра Angara Security. Итак, начинаем!Иногда в ходе расследования инцидента информационной безопасности необходимо понять, имеет ли та или иная программа...

Три пингвина под окном… Обзор рабочих мест пользователя 1С собранных на отечественных дистрибутивах linux Обзор рабочих мест пользователя 1С в облаке, собранных на отечественных ОС: Astra Linux (ГК «Астра»), ОС «Альт» (ALT Linux от «Базальт СПО») и РЕД ОС (разработки «РЕД Софт») Читать дальше →

Книга «Python для сложных задач: наука о данных. 2-е межд. изд. » Привет, Хаброжители! Python — первоклассный инструмент, и в первую очередь благодаря наличию множества библиотек для хранения, анализа и обработки данных. Отдельные части стека Python описываются во многих источниках, но только в новом издании «Python для сложных задач» вы...

Продолжаем глубже изучать передачу данных по сетям GSM через GRPS с помощью SIM868 и Repka Pi — про AT-команды  В предыдущей статье мы рассказали, как с помощью модуля GSM/GPRS/GNSS Bluetooth HAT, созданного на базе SIM868, библиотек SIM800L, RoverConnect и Telemetry можно обмениваться данными между микрокомпьютером Repka Pi с JSON-сервисом, доступным в интернете.Мы привели исхо...

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

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

Яндекс назвал самые востребованные настройки доступности на смартфонах Яндекс опубликовал исследование, посвящённое настройкам доступности, которые пользователи Яндекс Браузера включают на iOS и Android в России. Исследование призвано помочь бизнесу и разработчикам лучше понять, сколько пользователей нуждаются в ...

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

Отладка в SQL Developer Привет! Меня зовут Алексей Маряхин, я разработчик на Oracle. В этой статье продолжим знакомиться с темой отладки PL/SQL-кода.  В предыдущей статье мы изучили возможности отладки в PL/SQL Developer. В этой предлагаю рассмотреть ещё один инструмент — SQL Developer (версия...

[Перевод] Записываем музыку при помощи CSS Grid Слишком часто я наблюдал за тем, как импровизирующий музыкант трясущимися руками пытается увеличить pdf размером A4 на крошечном экране телефона в самом разгаре исполнения. Мы обязаны создать плавный и отзывчивый рендеринг музыки для веба! В вебе нотная запись должна быть с...

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

Очередная версия Alternativa3D 8.12.0 с поддержкой Flash Player 11 Beta 2 Представляем вашему вниманию новую публичную сборку движка Alternativa3D 8. Версия 8.12.0 поддерживает Flash Player 11 Beta 2, то есть полностью совместима с самой свежей на данный момент сборкой Flash Player. Мы также значительно ускорили систему мышиных событий и добавили ...

Шаровары: тогда и сейчас Wolfenstein 3D, одна из самых популярных шароварных игр начала 90-х В 90-е годы популярной моделью продажи программ была shareware (как их тогда называли, «шаровары»). Особенной популярностью она пользовалась у независимых разработчиков. Благодаря интернету они могли распро...

Garnet. Хранит ли баги кэш-хранилище от Microsoft? Microsoft представили Garnet — проект кроссплатформенного быстрого кэш-хранилища с открытым исходным кодом, написанный на языке C#. Предлагаю расчехлить статический анализатор и посмотреть, какие ошибки и странности содержатся в исходном коде проекта. Читать далее

«Рувики» полноценно заработает 15 января. Бета-тестирование завершено Этап бета-тестирования российской онлайн-энциклопедии «Рувики» завершён, и 15 января отечественный аналог «Википедии» заработает в полноценном режиме. В бета-версии ресурс работает с 26 июня 2023 года. Финальный вариант, который будет запущен в б...

[recovery mode] Как заниматься английским языком самостоятельно: гайд по самостоятельному изучению грамматики для начинающих Вы хотите начать заниматься английским, но пока по какой-то причине не готовы записаться на курсы или найти преподавателя по английскому языку. Но вы готовы уделить какое-то время, чтобы изучать язык самостоятельно, в своем темпе, чтобы если вдруг где-то в будущем вам язык п...

Обзор языка Crystal Привет, Хабр!История Crystal начинается в 2011 году, когда команда энтузистов решили создать язык, который бы исправил некоторые из тех ограничений и проблем, с которыми они сталкивались, работая с Ruby. Они мечтали о языке, который бы позволял писать код, легкий для пониман...

Анонс Windows 11 Insider Preview Build 22635.2419 (канал Beta) Добрый вечер, друзья! Microsoft выпустила новые предварительные сборки Windows 11 (версия 22H2) под номером 22635.2419 (KB5031463) для участников программы Windows Insider на канале Beta. Полный номер сборки: 10.0.22635.2419.ni_release_svc_betaflt_prod1.230928-1741 Отныне н...

Анонс Windows 11 Insider Preview Build 22635.2419 (канал Beta) Добрый день, друзья! Microsoft выпустила новые предварительные сборки Windows 11 (версия 22H2) под номером 22635.2419 (KB5031463) для участников программы Windows Insider на канале Beta. Полный номер сборки: 10.0.22635.2419.ni_release_svc_betaflt_prod1.230928-1741 Отныне на...

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

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