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

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

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

Библиотека Granite от elementary OS На данный момент существует множество различных операционных систем на базе ядра Linux. Буквально на любой вкус. Некоторые операционные системы пользуются уже готовыми графическими оболочками, а другие создают свои. В дистрибутиве elementary OS применяется свое окружени...

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

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

Обзор библиотеки Stan в R Приветствую! Stan - это библиотека на C++, предназначенная для байесовского моделирования и вывода. Она использует сэмплер NUTS, чтобы создавать апостериорные симуляции модели, основываясь на заданных пользователем моделях и данных. Так же Stan может использовать алгоритм о...

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

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

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

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

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

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

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

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

concurrent.futures в Python Привет, Хабр! Сегодня мы взглянем на одну из самых интересных библиотек в Python для работы с параллельным выполнением задач - concurrent.futures.Каждый разработчик сталкивается с ситуациями, когда необходимо выполнять задачи параллельно. Это может быть I/O-операции, которые...

Как оптимизировать код на С для x86-процессоров: подсистема кэша и памяти, инструкции AVX-512 Меня зовут Андрей Бакшаев, я ведущий инженер-программист в YADRO. Моя команда занимается разработкой и оптимизацией математических библиотек под архитектуру x86. До этого я 15 лет работал в Intel. Значительная часть моих задач заключалась в том, чтобы реализовывать некоторые...

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

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

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

Анализ текстовых данных с помощью NLTK и Python Привет, Хабр!NLTK предлагает удобные инструменты для множества задач NLP: токенизация, стемминг, лемматизация, морфологический и синтаксический анализ, а также анализ настроений. Библиотека идеально подходит как для начинающих, так и для опытных разработчиков, предоставляя и...

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

[recovery mode] Решаем дифференциальные уравнения с помощью Python часть 1 Начнем пожалуй с того, что решать дифференциальные уравнения вручную может быть не совсем просто. На данном ресурсе http://mathprofi.ru/differencialnye_uravnenija_primery_reshenii.html есть шпоры как это делать вручную, там есть множество подсказок по различным разделам высш...

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

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

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

Ищем Арнольда Шварценеггера среди мужчин, женщин и детей с помощью нейросети на С++ Привет, Хабр! Меня зовут Кирилл Колодяжный, я ведущий инженер-программист в YADRO. Помимо основных рабочих задач, включающих исследование проблем производительности СХД, я увлекаюсь машинным обучением. Участвовал в коммерческих проектах, связанных с техническим зрением, 3D-с...

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

Прогнозирование временных рядов с помощью библиотеки Skforecast В открытом доступе существует огромное число библиотек для построения моделей машинного обучения в Python. Самые популярные — scikit-learn, XGBoost, LightGBM, Catboost, PyTorch. Каждая из них позволяет построить регрессионную модель для прогнозирования на временных рядах, ...

[Перевод] Битва фреймворков: сравнение высокопроизводительных HTTP-библиотек Мир веб-разработки предлагает бесконечное количество вариантов HTTP-фреймворков для разных языков программирования. Но как разработчикам понять, какие из них обеспечивают действительно высокую производительность? Под катом команда блога CodeReliant* проводит прямое сравнение...

Геометрия и навигация В этой статье будут рассмотрены некоторые проблемы и размышления, связанные с довольно интересной задачей коррекции/восстановления автомобильного трека на основе данных, полученных от MEMS датчика и навигационного приемника. Эта задача содержит много различных а...

Библиотека dplyr в R Библиотека dplyr в R позволяет манипулировать данными, проводить фильтрацию, выборку, сортировку, группировку данных и многое другое.В этой статье как раз и рассмотрим эту библиотеку. Читать далее

Теоретическая и реальная производительность Intel AMX AMX (Advanced Matrix Extension) - это модуль аппаратного ускорения умножения матриц, который появился в серверных процессорах Intel Xeon Scalable, начиная с 4 поколения (архитектура Sapphire Rapids). В начале этого года ко мне в руки наконец попал сервер, с данным типом...

Малоизвестные библиотеки Python для анализа данных, которые сделают вашу жизнь проще Привет Хабр! В этой статье мы рассмотрим некоторые полезные библиотеки Python для задач обработки данных, с которыми, возможно, вы еще не знакомы. Хотя для задач машинного обучения на ум приходят такие библиотеки, как pandas, numpy, scikit-learn, keras, tensorflow, matplotli...

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

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

Кратко про экосистему RAPIDS для работы с данными на GPU Привет, Хабр!RAPIDS — это open source библиотека экосистема, состоящая из нескольких библиотек, разработанная NVIDIA, которая предоставляет набор инструментов для выполнения всего цикла обработки данных и аналитики на GPU. RAPIDS была создана с целью того, чтобы ускорить а...

Кратко про Serde в Rust Serde — это высокопроизводительная библиотека для сериализации и десериализации данных в Rust. Она поддерживает различные форматы данных, включая JSON, YAML, TOML, BSON и многие другие.В этой статье рассмотрим основы Serde в Rust. Читать далее

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

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

[Перевод] Объяснение режимов работы Run, Stop и Program центрального процессора ПЛК Программируемые логические контроллеры (ПЛК) можно перевести в режим «Пуск» (Run) или «Стоп» (Stop), а иногда и в режим «Программирование» (Program) обычно с помощью физических или виртуальных методов. Но что означают эти режимы и когда их ...

Профилирование асинхронного Python Профилирование приложений — это процесс анализа программы для определения её характеристик: времени выполнения различных частей кода и использования ресурсов.Для асинхронного python-кода существует конечное количество специфических "узких мест", которые лучше перечислить зар...

Kornia — библиотека компьютерного зрения Kornia это open source библиотека для решения задач компьютерного зрения. Она использует PyTorch в качестве основного бэкенда и состоит из набора дифференцируемых процедур и модулей. Создатели библиотеки вдохновлялись OpenCV, и поэтому Kornia является его аналогом, но при эт...

Медленное выполнение команды TRUNCATE: анализ проблемы блокировок спинлока в SQL Server Приветствую всех читателей Хабра! Меня зовут Михаил, я администратор DBA в компании «Автомакон». На данный момент работаю на проекте для «ВкусВилл».Решил затронуть одну из насущных проблем, связанную с работой SQL Server, а именно со спинлоками в нем. Да, даже такой зрелый и...

WaveSync: Новый путь к нелинейному анализу эмбеддингов WaveSync — новый алгоритм для детального, нелинейного и быстрого анализа сходства эмбеддингов и векторов. Алгоритм является в большинстве задач заменой линейному косиносному сходству. Он позволяет улучшить точность обработки языка и открывает новые перспективы для разработчи...

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

Как Apache Arrow поможет управиться JS с большими данными Привет. Меня зовут Николай Шувалов, я занимаюсь коммерческим программированием около семи лет, владею Rust, JavaScript, PHP. Сейчас я работаю в отделе данных билайна. Наша платформа позволяет делиться с партнерами данными, не раскрывая их. Например, можно расширить данные с ...

Семантический поиск и генерация текста на R. Часть 1 Для этой задачи использую LLM (Large Language Models - например, chatGPT или opensouce модели) для внутренних задач (а-ля поиск или вопрос-ответную систему по необходимым данным).Я пишу на языке R и также увлекаюсь NLP (надеюсь, я не один такой). Но есть сложности из-за того...

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

Ускоряем работу python с numba Привет, Хабр!Numba — это Just-In-Time компилятор, который превращает ваш код на питоне в машинный код на лету. Это не просто мелкая оптимизация, а серьёзно ускорение.Если вы знакомы с интерпретируемыми языками, вы знаете, что они обычно медленнее компилируемых из-за необходи...

Proof of Work и Proof of Stake для чайников Привет, Хабр!На старте блокчейн-технологий стояла задача создания системы, которая могла бы функционировать надежно и без централизованного контроля. Здесь помогают консенсусные алгоритмы. Консенсус в блокчейне — это согласие всех участников сети относительно ее текущего сос...

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

Кратко про язык программирования Triton Triton был разработан специально для выполнения на GPU и предоставляет удобную Python-ориентированную среду.Triton позволяет использовать модель программирования, основанную на блоках, которая значительно отличается от традиционной модели CUDA. Вместо управления потоками на ...

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

Получение мостов tor из GMail с помощью Python В предыдущей статье была рассмотрена установка и настройка tor в ОС Linux Mint 21.3, а также были рассмотрены несколько способов получения мостов obfs4 с помощью сайта и телеграмм бота. В комментариях был задан вопрос по пово...

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

The Hive. Разбор open source решения В свете быстрого развития информационных систем и увеличения угроз кибербезопасности поиск надежных решений, позволяющих минимизировать вред от нарушения информационной безопасности (ИБ), становится важной задачей для различных организаций. Когда инфрастр...

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

Планируем путешествие — задача коммивояжера (TSP) для построения оптимального маршрута С вами Алексей Ложкинс, эксперт по анализу данных и машинному обучению в ПГК Диджитал. Мы разрабатываем цифровые продукты для логистической отрасли, в первую очередь, для ж/д перевозок.В кулуарах московского офиса ПГК мы обсуждаем и нерабочие темы. Топовую строчку в темах не...

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

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

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

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

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

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

[recovery mode] Где бесплатно учить Java в 2024 году В 2024 году изучение Java остается одним из актуальных направлений для тех, кто стремится стать профессиональным разработчиком.В настоящее время существует множество бесплатных ресурсов, которые предлагают уроки по Java, от курсов до университетских программ, что делает дост...

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

Типичные задачи аналитика данных. Часть 1. Упала метрика В прошлой статье мы рассматривали неочевидные проблемы АБ тестирования и как можно с ними справляться [ссылка]. Но часто бывает так, что при внедрении новой функциональности АБ тестирование провести нельзя. Например, это типично для маркетинговых кампаний нацеленных на массо...

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

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

Введение в библиотеку Diffusers и диффузионные модели Diffusers — это библиотека от Hugging Face, которая позволяет работать с сотнями предобученных моделей класса Stable Diffusion для создания изображений и аудио.Всегда хотели стать художником, но у вас лапки? :) Тогда Diffusers этот то, что вам нужно!В этой статье рассмотрим ...

Теперь-то наконец блоки NPU в процессорах Intel станут полезными? Компания открыла исходный код своей библиотеки ускорения NPU Acceleration Library Компания Intel открыла исходный код своей библиотеки ускорения NPU Acceleration Library, позволяющей компактным моделям искусственного интеллекта работать непосредственно на блоках NPU в процессорах Meteor Lake.  Библиотека создана на языке Python и призвана помоч...

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

RecTools – OpenSource библиотека для рекомендательных систем Если вы когда-либо работали с рекомендательными системами, то знаете, что все необходимые и самые часто используемые инструменты разбросаны по разным библиотекам. Более того, каждая из таких библиотек имеет много уникальных особенностей, к которым нужно приноровиться (наприм...

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

Как я написал свой первый эзотерический язык программирования В данной статье, я рассказываю о том, как написал свой первый эзотерический язык программирования C42. Читать далее

Учёные научили роботов «здравому смыслу» Инженеры Массачусетского технологического института (MIT) разработали метод, который позволяет роботам логически адаптироваться к различным ситуациям при выполнении домашних задач. Они соединили данные о движении робота с «здравым смыслом», полученным из больших языковых мод...

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

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

[Перевод] Невероятно, но факт: умножение матриц на GPU идёт быстрее на «предсказуемых» данных Шёл 2022 год. Я обратил внимание на новый интересный проект CUTLASS, отличающийся очень высокой скоростью выполнения операций умножения матриц. Я взял большую задачу по умножению матриц — 8192 x 8192 x 8192, и померял производительность в PyTorch, где используется библиотека...

Компиляция на этапе выполнения в C++: constexpr, consteval и constinit Сегодня мы поговорим о том, как constexpr, consteval, и constinit позволяют реализовывать компиляцию на этапе выполнения. Компиляция на этапе выполнения позволяет ускорить выполнение кода за счет выполнения расчетов на этапе компиляции, а не в рантайме.constexpr делает воз...

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

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

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

Алгоритм генерации столбцов (Column Generation) Генерация столбцов - подход к решению задач смешанного линейного программирования (MIP) с большим кол-вом переменных или столбцов.В статье представил теоретическую предпосылку, схему алгоритма и python реализацию подхода. В практической части рассмотрел решение двух задач: з...

[Перевод] От теории к практике: создаём веб-приложение для решения задачи коммивояжёра В таких сферах, как исследование операций (Operations Research) и наука о данных (Data Science) чрезвычайно актуально сближение теории и её практического применения в виде программных проектов. Теоретические выкладки формируют базу программ для оптим...

Типичные задачи аналитика. Часть 2. А есть ли тренд? В первой части статьи на Habr мы рассмотрели классические подходы к оценке изменений метрики при условии ее стационарности. В этом контексте статистические критерии, применяемые в A/B тестировании, оказались весьма эффективными.Однако, если существует стабильный тренд, напри...

Статический анализ структуры базы данных (часть 1) Статический анализ структуры базы данных — это процесс выявления ошибок, нерекомендуемых практик и потенциальных проблем в базе данных только на основе структуры, типов данных, свойствах объектов. Статиеский анализ структуры не задействует ни пользовательские данные, ни ста...

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

Как мы определили веса алгоритмов ранжирования крупнейших маркетплейсов на открытых данных Привет, Хабр! Меня зовут Владислав Абрамов, я аналитик в команде разработки компании Easy Commerce. Перед нами стояла задача создать алгоритм, который определяет влияние характеристик карточки товара на поисковую позицию в крупнейших российских маркетплейсах. Большинство из ...

Библиотеки для реализации алгоритмов сжатия данных в Rust Привет, Хабр!Сегодня мы рассмотрим хорошие библиотеки для реализации алгоритмов сжатия данных на ЯП Rust. Сжатие данных позволяет уменьшать объемы данных без потери качества или с минимальными потерями. Различают две основные категории методов сжатия: с потерями и без потерь...

Логирование в Golang Привет, Хабр!Как в Golang логирование поживает? Рассмотрим этот вопрос в статье.Рассмотрим основные библиотеки и подходы. Читать далее

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

Как много языков может влезть в одного программиста? Всем привет, я Серёжа, технический лидер iOS-разработки. Сегодня хочу поговорить о многогранности мира программирования, а именно о количестве языков, причинах, по которым они нам нужны, и о том, зачем одному программисту несколько языков.Если с каких-то рассуждений прямо си...

Взгляд НСИ на VBA в Excel и не только Салют! На связи Ганзюк Владимир. Тружусь инженером по нормативно-справочной информации (НСИ) в компании Bimeister.Хочу поделиться с вами опытом работы с Excel: расскажу, как можно ускорить выполнение рутинных задач при работе с составлением наименований согласно нормативно-т...

Redux vs Mobx кого же выбрать для React-приложения в 2024 году? Привет, Хабр!Сегодня я хочу поделиться с вами своими размышлениями о том, какой стейт менеджер лучше использовать для разработки приложений на React в 2024 году. Как вы знаете, React — это одна из самых популярных и мощных библиотек дл...

Его вы изучали в школе: умер создатель языка программирования Pascal Никлаус Вирт, швейцарский ученый-компьютерщик, считающийся одним из пионеров языков программирования, умер 1 января 2024 года в возрасте 89 лет.

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

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

Сравнение utility types библиотек или тайпскрипт на стероидах Буквально за несколько лет typesctipt стал практически мастхэв в современной фронтэнд-разработке (и не только). Язык типов, работающих поверх языка javascript, который сам по себе является языком со слабой динамической типизацией со всеми вытекающими (отсутствие достойного т...

Бесплатные курсы для изучения SQL в 2024 году Изучение SQL в 2024 году остается важным для по нескольким причинам:1. Широкое применение: SQL является стандартным языком для работы с реляционными базами данных, которые широко используются в различных отраслях. Большинство предприятий и организаций все еще хранят свои дан...

ВРМ. Смарт-инструменты «Таблица -> Схема» для формализации бизнес-процессов. Рестайлинг ARIS SmartDesign Ставится задача повторить доселе непревзойдённый ARIS SmartDesign, который по табличному представлению процесса автоматически рисует схему процесса (структуры чего-либо). Схемы процессов желательно строить в нескольких процессных нотациях (EPC, VAD и т.п.). ARIS SmartDesign ...

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

Cample.js — один из самых быстрых фреймворков без виртуального DOM в Интернете! Отчёт № 2 В данной статье я бы хотел провести последний отчёт по быстродействию Cample.js. За два года работы над фреймворком, сложились небольшие результаты, которые я бы хотел рассмотреть.Отчёт включает в себя сравнения по производительности с популярными библиотеками и фреймворком,...

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

Metatron — Open Source библиотека для генерации отчетов на языке Rust Год назад возникла идея переписать весь Java-бекенд на Rust, который я уже несколько лет разрабатываю и поддерживаю. Я нашёл все аналоги библиотек и фреймворков из мира Java в экосистеме Rust: Читать далее

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

Операторы PostgreSQL для Kubernetes. Как мы выбирали идеальный вариант для организации системы DBaaS Некоторое время назад у нас возникла задача организовать возможность создания managed баз данных. Сложность данной задачи в том, что нам надо развертывать и управлять тысячами баз данных PostgreSQL, которые обеспечивают репликацию, бэкапы, мониторинг и другие полезные пользо...

Яндекс открывает YaFSDP — инструмент для ускорения обучения больших языковых моделей и сокращения расходов на GPU Сегодня мы выкладываем в опенсорс наш новый инструмент — алгоритм YaFSDP, который помогает существенно ускорить процесс обучения больших языковых моделей.В этой статье мы расскажем о том, как можно организовать обучение больших языковых моделей на&nb...

Разработка децентрализованных приложений на Spring Boot: инструменты Web3 Tech Привет! Меня зовут Даниил, я разработчик в Web3 Tech. Недавно в JVM-инструментарии для нашей основной платформы «Конфидент» состоялся новый релиз, в который вошли библиотеки клиента для взаимодействия с нодой и Spring Boot стартеры. Далее в посте я расскажу об этих библиотек...

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

[Перевод] 4 миллиардов операторов if Просматривая недавно соцсети, я наткнулся на этот скриншот. Разумеется, его сопровождало множество злобных комментариев, критикующих попытку этого новичка в программировании решить классическую задачу computer science: операцию деления с остатком.В современном мире, где ИИ п...

ГАЙД по python стеку для Data Science инженеров Data science - это область, которая занимается изучением и анализом больших объемов данных, чтобы находить в них полезные закономерности, делать прогнозы или принимать решения на основе фактов. Самым популярным языком программирования для data science является Python. Б...

Какой плащ был у Понтия Пилата? Отвечает GigaChat Всем привет! На связи лид разработки SDK GigaChat’a — Константин Крестников. В этой статье я расскажу о том, что такое GigaChain и как в целом SDK позволяет упростить жизнь разработчика LLM, например, научить LLM давать ответы на вопросы по вашим документам или работать в ре...

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

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

Новая ИИ-модель SIMA сможет самостоятельно играть в видеоигры Представлено новое исследование масштабируемого обучаемого многомирового агента (SIMA), который может следовать инструкциям на естественном языке для выполнения задач в различных условиях видеоигр.

NLUX: Библиотека интерфейса Conversational AI В современном мире взаимодействие с компьютерами и приложениями становится все более естественным и удобным благодаря использованию разговорных интерфейсов и искусственного интеллекта. Однако, интеграция таких функциональностей в веб-приложения может стать вызовом для разраб...

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

Простой тест llvm/libjit часть II, те же + gnu lightning Эта статья является продолжением Простой тест libjit vs llvm, где сравнивалось быстродействие библиотек для Just In Time компиляции llvm и libjit на примере задачи решета эратосфена. В этой статье решается точно та же задача — решето эратосфена при помощи еще одной JIT биб...

Я мыслю MOV EAX, 1 Чем больше усилий ты прикладываешь, тем лучше это у тебя получается. Программирование не исключение, и чтобы с уверенностью сказать: "Я могу написать это" нужно много работать. Эта статья о том с какого языка начать путь в программировании и о том как понять принципы работы ...

Cisco TRex на практике В этой статье описывается процесс работы с программным генератором сетевого трафика TRex. Этот инструмент предназначен для генерации различных типов сетевого трафика и анализа данных в режиме реального времени. Trex поддерживает работу на уровнях MAC и IP, позволяя пользоват...

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

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

Pandas НЕ для анализа данных В среде питонистов библиотека Pandas пользуется большой популярностью и по большей мере известна в контексте DataSciense и анализа данных. DataFrame пандас позволяет не только всячески манипулировать данными, но и выводить их в нужном формате, предоставляя широкие возможност...

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

«В чем сила?» — ищем ответ среди афоризмов. Сравнение 6 моделей для векторного поиска и так ли хорош OpenAi Large Сравниваем между собой качество 6 различных токенайзеров, включая новейший OpenAi Large|Small и E5 от Microsoft на задаче векторного поиска:В чем сила? Среди сборника афоризмов.text-embedding-ada-002 text-embedding-3-largetext-embedding-3-smallintfloat/multilingual-e5-largea...

[Перевод] Анти-паттерны в Go Web Applications В какой-то момент моей карьеры меня перестало радовать ПО которое я разрабатывал.Больше всего мне нравилось работать с низкоуровневыми деталями и сложными алгоритмами. Но после перехода на пользовательские приложения эта часть работы почти исчезла. Теперь программирование ка...

Основы Event Loop в JavaScript В JS Event Loop позволяет непрерывно проверять, есть ли в очереди задачи, и, когда стек вызовов пуст, передавать эти задачи на выполнение. Таким образом, долгие операции не мешают продолжению выполнения кода. Именно благодаря Event Loop приложение мо...

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

Язык Crystal и математика Если вам вдруг захотелось посчитать собственные значения матрицы, решить задачу линейного программирования или оптимизировать нелинейную функцию, то вы может взять питон со SciPy, можете взять R или Matlab\Octave, для любителей экзотики есть Julia, а те кому важен каждый тик...

Эволюция разработки под Android Отправной точкой истории разработки Android считается начало 2000-х, когда Энди Рубин, Рич Майнер, Ник Сирс, Крис Уайт основывают Android Inc. Уже в 2005 Google выкупает их, а в 2008 запускает свою ОС — Android. Первым смартфоном на её базе стал HTC Dream. Так началась ...

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

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

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

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

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

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

[Перевод] Ускоряем анализ данных в 170 000 раз с помощью Python В статье «Ускоряем анализ данных в 180 000 раз с помощью Rust» показано, как неоптимизированный код на Python, после переписывания и оптимизации на Rust, ускоряется в 180 000 раз. Автор отмечает: «есть множество способов сделать код на Python быстрее, но смысл этого поста не...

Подключаем библиотеку к проекту с помощью npm/yarn link Привет! Меня зовут Света, я фронтенд-разработчик отдела спецпроектов в KTS.Наш отдел разрабатывает и запускает около 100 проектов в год. При такой загрузке мы постоянно ищем новые способы ускорить и автоматизировать работу.У нас много библиотек: с общими утилитами и хуками, ...

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

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

Готовимся к собеседованию по Rust: 4 самых частых вопросов. Часть 1 Привет, Хабр!Rust — язык программирования с акцентом на безопасность, скорость и параллелизм. Rust решает многие проблемы, с которыми сталкиваются на других ЯП, например, управление памятью без сборщика мусора. Очевидно из-за многих преимуществ Rust выбирают все большей комп...

Индексирование полнотекстовых данных в PostgreSQL с использованием модуля pg_trgm Привет, Хабр!PostgreSQL, одна из самых мощных и гибких реляционных СУБД, предлагает нам свой модуль pg_trgm, чтобы решить сложную задачу полнотекстового поиска.Когда речь идет о поиске, просто LIKE запросы больше не всегда могут удовлетворить технические требования. Полнотек...

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

Oxlint — более быстрая альтернатива ESLint Друзья, всем привет! Меня зовут Игорь Карелин, я frontend-разработчик в компании Домклик. Недавно стал общедоступен новый линтер «Oxlint», основанный на языке программирования Rust, и многие эксперты высоко оценили его. Какие преимущества Oxlint предоставляет по сравнению со...

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

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

Решение на миллион: разбираем алгоритмические задачи с победителями True Tech Champ Привет, Хабр! Меня зовут Алина Ёжикова, я работаю в МТС Диджитал и делаю мероприятия для разработчиков. Сегодня расскажу, как мы организовали самый большой и сложный ивент в моей карьере — олимпиаду по программированию на восемь тысяч разработчиков.Я говорю про True Tech Cha...

Calypso: Схема данных MongoDB на Scala Чтобы применять Domain-Driven Design, DDD Aggregate и Transactional outbox на MongoDB, наша команда создала open source библиотеку calypso для работы с BSON.Публикация для тех, кто стремится к современным практикам разработки и разделяет наше влечение к Scala 3.Готовы к откр...

Open Source спутниковая интерферометрия PyGMTSAR (Python InSAR) С тех пор, как я рассказывал на хабре про мой открытый проект спутниковой интерферометрии PyGMTSAR (Python InSAR библиотека) для обработки и анализа радарных данных спутников Sentinel-1, прошло много времени и сегодня PyGMTSAR представляет собой наиболее мощный инструмент ср...

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

«Яндекс» открывает библиотеку YaFSDP для обучения больших языковых моделей Компания «Яндекс» выложила в опенсорс библиотеку YaFSDP, которая ускоряет обучение больших языковых моделей — как собственной разработки, так и сторонних, с открытым исходным кодом. Библиотека дает ускорение до 25% (результат зависит от архитектуры и параметров нейросети). С...

Как я рабочую задачу автоматизировал, не написав ни строчки кода, с помощью AI-ассистента AI-сервис Phind - ассистент по программированию для не программистов. Или как я автоматизировал свою рабочую задачу, не написав самостоятельно ни строчки кода. Читать далее

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

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

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

«Физика для программистов» — как физтехи применяют её в приложениях. Маятники Данная статья входит в цикл, освещающий задачи на моделирование физических процессов на факультете МТФИ ВШПИ. В этой части речь пойдёт про задачу моделирования поведения маятника: коротко разберём теорию, которая лежит в основе модели, немного подумаем над архитектурой и нап...

Сравнение алгоритмов балансировки нагрузки: Round Robin vs. Least Connections vs. IP Hash Привет, уважаемые читатели Хабра!Сегодня сетевые приложения чрезмерно сложны. В такой среде балансировка нагрузки становится неотъемлемой частью инфраструктуры, позволяя равномерно распределять запросы между серверами и обеспечивать отказоустойчивость. Без балансировки нагру...

Vivaldi-6.7 — Хранитель времени В современном стремительном мире одним из самых ценных ресурсов является время. Его всегда не хватает и любая возможность ускорить выполнение наших ежедневных задач становится ценным подарком. Вот и мы представили в новой версии браузера Vivaldi для десктопов несколько функц...

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

Зачем нам так много языков программирования? В мире насчитывают примерно 7 000 естественных языков и 9 000 языков программирования. Но, в то время как количество первых стабильно сокращается, число вторых продолжает уверенно расти. Сегодня поговорим о универсальном языке программирования «для всего» и причинах появлени...

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

Использование маппера UNROM при разработке игр для Dendy на языке Си Приветствую всех любителей программирования всяческих ретро-железок. Могу предположить, что у большинства из читателей этой статьи была в детстве Dendy (а может и сейчас есть) или другой клон Famicom (клонов NES в СНГ я не встречал). Сегодня предлагаю обсудить особенности ра...

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

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

Самый конец 2023 года: оцениваем рейтинги языков программирования по версии TIOBE и PYPL Востребованность языков программирования постоянно меняется. Какие-то с течением времени остаются актуальными, а часть постепенно прекращает использоваться и уходит с рынка. Есть, конечно, долгожители вроде COBOL, но их не так много. Тем не менее некоторые ЯП находятся в топ...

Кратко про класс CompletableFuture в Java Привет, Хабр!Асинхронное программирование уже давно является полноценной частью Java. С появлением Java 8 и введением класса CompletableFuture, асинхронное программирование стало более доступным.CompletableFuture — это класс в пакете java.util.concurrent, предоставляющий воз...

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

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

Основы работы с хранилищами в Kubernetes Привет, Хабр! В Kubernetes принято разделение хранилищ на два основных типа: постоянные и временные. Постоянные хранилища (PV) представляют собой сегменты дискового пространства, которые могут быть подключены к подам и сохранять данные даже после перезапуска или удаления кон...

[recovery mode] Где изучать Python в 2024. Бесплатные курсы, книги и ресурсы Python является одним из самых популярных языков программирования в мире. Он широко используется в различных сферах, таких как веб-разработка, научные исследования, анализ данных, машинное обучение и многое другое. Изучение Python позволит вам получить полезные навыки и откр...

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

Python и Excel глазами НСИ Всем привет! Меня зовут Алмаз. Я специалист по НСИ (нормативно-справочной информации) в компании Bimeister. Хотел бы поделиться своим небольшим опытом автоматизации некоторых рутинных задач при работе с различными файлами и Excel- базами данных.Python.Предыстория.Сейчас дово...

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

Некоторым языкам программирования десятки лет — и они ещё в ходу. 5 старых, но актуальных ЯП Не так давно мы писали про язык COBOL, которому уже больше 60 лет. Он до сих пор актуален, поскольку на нём держится немало систем финансовых и банковских организаций. Но есть и другие старые ЯП, всё ещё применяемые в некоторых отраслях. О них сегодня и говорим, не обойдя и ...

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

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

[recovery mode] Фильтруем логи санитайзеров и valgrind на примере приложения с Qt Периодически встречающаяся проблемами кода на С и C++ являются утечки памяти и неопределенное поведение. Даже если вы используете умные указатели, то от ошибок в библиотеках сторонних разработчиков вы не застрахованы. Для поиска ошибок в коде существуют специальные инструмен...

Учебно-развлекательный проект «Мобильная платформа». Управление жестами руки Учебно-развлекательный проект "Мобильная платформа", который использует управление жестами руки для управления роботом. В ней подробно рассматриваются технические аспекты сборки платформы, программирование Arduino и обработка жестов с помощью Python и библиотеки mediapipe. ...

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

Бьемся с индексацией парных неравенств в планах PostgreSQL Я уже не раз писал, что условия с несколькими неравенствами (<, <=, >=, >) обычно плохо подходят для индексирования "классическим" btree, вызывают "тормоза", и необходимо придумывать различные нетривиальные подходы в PostgreSQL, чтобы добиться хорошей производите...

Про рейтинги популярности языков программирования — на лето 2024 года Вечнозеленая тема — рейтинги популярности языков программирования. Говорят, что они в основном интересуют слушателей ИТ-курсов, но в майском рейтинге 2024 есть и небольшая сенсация. В ТОП-10 индекса TIOBE вернулся Fortran, — язык, ведущий историю с 1957 года (кстати, последн...

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

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

Почему Сборка с Помощью Есlipse ARM GCC Плагинов это Тупиковый Путь В программировании микроконтроллеров часто используют Eclipse с плагинами.Главным образом от незнания языков скриптов сборки (Make, Cmake, Ninjia и т п).В этом тексте я напишут почему способ сборки из Eclipse c ARM плагинами — это тупиковый путь...

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

Библиотека WiringRP для управления GPIO на Repka Pi Если вы ищете средства для работы с GPIO микрокомпьютера Repka Pi из программ, составленных на Си, обратите внимание на библиотеку WiringRP. В этой статье мы расскажем, как создавать с ее помощью однопоточные и многопоточные программы, управляющие светодиодами, сервоприводам...

[Перевод] Безымянный язык программирования без присваивания имён Придумывать имена сложно. Давайте посмотрим, как далеко мы можем зайти без них.Что это?Это язык программирования, основанный на трёх парадигмах:Бесточечном программированииСтековом программированииМассиво-ориентированном программированииОсновная «фишка» языка — избегание люб...

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

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

“Ну и долго мне ещё до магазина?” Или пара слов о геоинформационном анализе с помощью Python Привет, хабр! Сегодня мы хотели бы продолжить тему обработки пространственных данных средствами Python библиотеки estaty. Мы уже рассказывали о том как можно Объединять открытые данные Open Street Map и Landsat для уточнения площадей зеленых зон вокруг объектов недвижимости....

Persistent-request библиотека для надежных запросов Всем привет!В этой статье расскажу, как решил написать библиотеку https://packagist.org/packages/xman12/persistent-request и что там внутри.Как и любая библиотека, эта решает свои задачи, а именно гарантированное выполнение запроса и последующую обработку. Я находил, как мин...

Многорукие бандиты в задаче ритейла В настоящее время набирают популярность модели Reinforcement Learning для решения прикладных задач бизнеса. В этой статье мы рассмотрим подмножество этих моделей, а именно многоруких бандитов (multi-armed bandits). Также мы:- обсудим, какие задачи теоретически могут быт...

Airflow в Kubernetes. Часть 1 Приветствую!На пути инженера данных часто встречаются задачи связанные с DevOps. Одна из таких - развернуть Airflow в Kubernetes кластере. Если до этого похожего опыта работы не было, то эта задача может показаться нетривиальной. Конечно, можно выполнить несколько команд из ...

[Перевод] Увлекательный лексический анализ языка Rust Давайте поговорим о лексическом анализе. Сначала я собирался назвать этот пост «Реализуем токенайзер», но ветер переменился, времена изменились… и, чтобы не утонуть в потоке комментариев вида «фыр, а где мой BPE-токенизатор LLama, который вы мне обещали», ограничимся пока л...

Тюнинг Wireshark Анализатор пакетов Wireshark является мощным инструментом как для сбора, так и для анализа трафика. Ранее мы уже рассматривали использование Wireshark для работы с пакетами DNS. В этой статье мы рассмотрим различные приемы гибкой настройки данного инструмента для того, чтобы...

Falang: Low-сode конструктор логики с экcпортом в C++, C#, Rust, Go, TypeScript Полтора года назад я рассказывал про свой пет-проект по визуальному программированию - falang.io. Основная его особенность состоит в том, что пользователь не управляет расположением икон на схеме, только их содержимым. Все остальные соединительные линии рисуются автоматическ...

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

Вся мощь ускорителей Nvidia для ИИ теперь в Windows. Компания объявила о доступности для этой ОС своей библиотеки TensorRT-LLM На данный момент искусственный интеллект в Windows практически никак не задействован, если не считать интеграции языковой модели GPT. Однако, во-первых, уже есть процессоры AMD с выделенным блоком для работы с ИИ, и аналогичные готовит Intel, а во-вторых, согласно слуха...

Object-Relational Mapping (ORM) в Golang Одна из самых важных задач ЯП`s это эффективное взаимодействие с базами данных и Go не исключение. В Go есть парадигма Object-Relational Mapping (ORM), позволяет работать с реляционными базами данных в терминах объектно-ориентированного программирования. Это очень сильно упр...

Библиотека Scout — быстрый и безопасный DI на Kotlin Привет! Меня зовут Александр Миронычев. Я занимаюсь инфраструктурой приложения Яндекс Маркет под Android. Около двух лет назад при работе над модульностью у меня появилось желание написать собственную библиотеку для внедрения зависимостей, которая позволила бы ускорить сборк...

Решаем задачу асинхронного ввода-вывода с библиотекой Asio Привет, Хабр! Меня зовут Илья Казаков, я C++ разработчик в команде систем хранения данных  компании YADRO, одна из моих задач — реализация эффективных IO-bound программ под Linux. На одном из проектов мы с командой использовали Asio — библиотеку C++ для сетевого и ...

Modular выложила в открытый доступ основные компоненты Mojo – языка программирования для ИИ Компания Modular открывает доступ к Mojo, языку для разработки ИИ, обещающему сделать программирование более простым и интуитивным.

Мини-ПК GEEKOM Mini Air12: что это за система и какие у неё возможности? Миниатюрные персональные компьютеры — отличный выбор для любой категории пользователей, включая корпоративных. Такие устройства занимают минимум пространства на рабочем столе. Более того, большинство можно закрепить на задней крышке монитора. Есть девайсы, которые служат лиш...

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

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

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

SQL HowTo: один индекс на два диапазона В прошлой статье я показал, как условие с парой однотипных неравенств, плохо поддающееся индексации с помощью btree, можно переделать на эффективно gist-индексируемое в PostgreSQL условие относительно диапазонных типов, а наш сервис анализа планов запросов explain.tensor.ru ...

LLM как универсальная «отмычка» студента — настолько ли все хорошо? Небольшой эксперимент по применению LLM при решении задач анализа данных на R и краткие выводы по нему. Читать далее

Технологии интеграции ИТ систем Одной из основных задач для Enterprise архитекторов является проектирование и проведение работ по интеграции различных ИТ систем. Так типичной историей является наличие у заказчика каких-то решений, либо не взаимосвязанных, либо частично связанных между собой и архитектору н...

Где изучать Javascript в 2024. Бесплатные курсы, книги и ресурсы Изучение JavaScript в 2024 году по открытым ресурсов имеет несколько преимуществ:1. Востребованность: JavaScript остается самым популярным языков программирования в мире. Знание JavaScript открывает двери к множеству возможностей в IT-индустрии.2. Бесплатный доступ...

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

[Перевод] Новое в SQL Server 2022: Обзор использования Intel QuickAssist Технология Intel® QuickAssist (Intel QAT) в SQL Server 2022 призвана обеспечить аппаратное ускорение и возможности разгрузки процессоров от функций сжатия и распаковки резервных копий баз данных. Использование этой технологии даёт заметное снижение нагрузки на проц...

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

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

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

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

Разработка и тестирование целочисленного сумматора с AXI-Stream интерфейсами Часть 4 В предыдущей части был рассмотрен основной подход, применяемым для тестирования сложных цифровых устройств - constraint random testing. Мы узнали, как автоматизировать проверку корректности работы устройства с помощью сравнения его выходов с эталонной моделью. Тестовые окру...

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

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

Как мы сделали переводчик точнее и дешевле Google и Yandex Всем привет! Меня зовут Никита, я Data Scientist из Raft. Сегодня я расскажу вам о том, как мы решили задачу перевода каталога товаров большого интернет-магазина с русского на арабский язык с применением искусственного интеллекта. Мы рассмотрим различные подходы и идеи, возн...

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

Dedoc: как автоматически извлечь из текстового документа всё и даже немного больше Привет, Хабр! Мы команда разработчиков Института Системного Программирования РАН, занимаемся Computer Vision в обработке электронных документов. Мы разработали open-source библиотеку dedoc, которая помогает разработчикам и дата-сайентистам в пару строк кода читать разли...

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

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

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

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

В погоне за скоростью. Оптимизация нейросетевых вычислений на процессоре К1967ВН044 компании «Миландр» В статье «Второе рождение DSP или запуск нейросетей на процессорах К1967ВН044 от «Миландр» мы рассмотрели в целом задачу адаптации нейросетей для DSP процессора К1967ВН044. Были вкратце описаны особенности процессора и возможные методы для эффективного его использования. В э...

Где мне это пригодится в жизни или применение Nothing в Kotlin на примере В данной статье я хочу показать, почему развитая система типов в языке программирования это здорово. Я попробую провести небольшой ликбез о таких на первый взгляд сложных вещах, как sealed-иерархии, ковариантность и тип Nothing на понятном практическом примере создания своей...

Python + pygame — небольшие оптимизации Приветствую IT-специалистов, решивших прочитать мою статью, я - python разработчик любитель (изучающий язык уже 5 лет, но не имеющий коммерческого опыта), который решил создать игру на очень медленном языке программирования. В процессе разработки я сталкиваюсь с различными п...

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

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

Ускорение роутера в Django в 51 раз История началась с разбора использования ресурсов приложением, которое занимается проксированием. Обнаружили, что довольно много времени оно тратит на выбор маршрута (роута), и решили ускорить этот процесс. Описанная в статье оптимизация не требует каких-то особых вложений, ...

Java Тренажер Хочу представить вашему вниманию бесплатный курс Java Тренажер, который недавно опубликовал на платформе Stepik.Java — это объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (позднее приобретённой компанией Oracle). Он был выпущен в 1995...

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

Как выбрать GPU для машинного обучения Машинное обучение позволяет компьютерам извлекать данные, находить закономерности и принимать решения на их основе в различных отраслях. Например, в медицине его используют для анализа рентгеновских снимков и МРТ. Автономные транспортные средства с их помощью строят маршруты...

[Перевод] Оптимизируя неоптимизируемое: ускорение компиляции C++ В этой статье речь пойдёт о повышении скорости компиляции библиотеки {fmt} до уровня библиотеки ввода-вывода Cи stdio. Дня начала немного теории. {fmt} – это популярная открытая библиотека С++, представляющая более эффективную альтернативу С++ библиотеке iostreams и библио...

LLM'ы в преобразовании запроса на естественном языке в SQL (text2sql) Привет, Хабр! На связи участница профессионального сообщества NTA Марина Коробова.Данные занимают центральное место в информационном обществе. Именно информация является основой для принятия решений, развития бизнеса и научных исследований. Многие организации инвестируют огр...

Build 2024: Microsoft представила компактную языковую модель Phi-3-vision Microsoft анонсировала мультимодальную компактную языковую модель Phi-3-vision, которая может работать как с текстом, так и с изображениями. Она наилучшим образом подходит для использования в мобильных устройствах. Компания заявляет, что модель включает в себя 4,2 миллиарда...

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

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

Что такое Архитектура Существует множество определений термина "Архитектура ПО", от устаревших и неформальных до слишком абстрактных и претендующих на остроумие. К примеру, можно упомянуть сайт Института Программной Инженерии (SEI) Университета Карнеги-Меллона, в электронной библиотеке которого е...

Многопоточность JavaScript с SharedArrayBuffer и Atomics: основы JavaScript по традиции известен как однопоточный язык. Т.е код выполняется последовательно, и одновременное выполнение нескольких задач может быть проблематичным. Если код сталкивается с тяжелыми вычислительными задачами, это может привести к задержкам и замедлению интерфейс...

gRPC Привет, Хабровчане!Для тех, кто не в курсе, gRPC - это открытый фреймворк от Google, который был представлен миру в 2016 году. Основываясь на протоколе HTTP/2, gRPC использует Protocol Buffers в качестве языка описания интерфейса. Основная идея gRPC заключается в создании ун...

[Перевод] Программирование вне парадигм Со времени изобретения высокоуровневых языков программирования в отрасли доминируют парадигмы. Именно парадигмы, от императивных до объектно-ориентированных и функциональных – в основном формируют современный дискурс, касающийся языков программирования. Читать дальше →

5 самых странных языков программирования: для чего они нужны и что на них можно написать Согласно самым разным источникам, в мире существует от нескольких сотен до нескольких тысяч языков программирования. Правда, ЯП, с которыми реально имеют дело десятки и сотни тысяч человек, немного. Больше, конечно, нишевых языков, применяемых для решения узкого круга задач....

[Перевод] NumPy: оттачивайте навыки Data Science на практике В этой статье мы рассмотрим ряд различных упражнений, используя библиотеку NumPy (и сравним с тем, как мы бы реализовали их без неё). В самом конце статьи я приведу ряд упражнений.t.me/ai_machinelearning_big_data -  моем телеграм канале я публикую актуальные проекты ку...

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

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

Лонгрид о JavaScript JavaScript — ужасный язык программирования. По сравнению с другими распространёнными языками он выглядит генетическим уродом. Дело даже не в отсутствии многопоточности, или статической типизации, или того, что node_modules для про...

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

Как я за месяц написал интерпретируемый язык программирования на Python Привет, Хабр! В этой статье я хотел бы поделиться опытом создания своего языка программирования.ПредысторияМне 14. Обучаясь на втором году Яндекс Лицея, нужно было написать несколько проектов. Первым из них стал проект на PyQT5. Я долго думал над идеей и вспомнил, что летом ...

Синкерим, хешайдим, терминируем: 6 утилит, чтобы ускорить ваши локализации Наша команда Mobile Doc&Loc «Лаборатории Касперского» занимается подготовкой документации и локализации B2C-продуктов компании для мобильных устройств. Основная сложность (и одновременно фишка) нашей работы заключается в том, что необходимо регулярно подготавливать перев...

Управляем навигацией во Flutter с помощью библиотеки auto_route: часть 2. Guards, Wrappers и миграция Привет, Хабр! Меня зовут Юрий Петров, я Flutter Team Lead в Friflex. Это продолжение моей статьи про библиотеку auto_route. В этой статье, я попробую пояснить, что такое охранники(guards), обертки (wrappers) и с чем вам придется столкнуться в легаси проектах при миграции на ...

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

[Перевод] Отсечение и поиск / Prune and search Решал задачу на LeetCode (Word Search) и наткнулся на незнакомый мне термин "search pruning", либо "Prune and search". Немного погуглив, узнал, что это метод решения задач оптимизации, на Википедии есть соответствующая статья (ссылка). На русском языке я не нашел такого терм...

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

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

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

[Перевод] Исследование режима Copy-on-Write в pandas. Часть 1 Библиотека pandas 2.0 вышла в начале апреля, в ней появилось много улучшений нового режима Copy‑on‑Write (CoW, копирование при записи). Ожидается, что в pandas 3.0 режим CoW будет использоваться по умолчанию. Сейчас полный переход на к...

JetBrains выпустила новую IDE для работы с документацией Writerside Инструмент используется в JetBrains уже более 10 лет, и, по словам команды, продукты JetBrains, от языка программирования Kotlin до IntelliJ Platform SDK, используют Writerside для создания своей документации. Читать далее

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

Бенчмарк HTML парсеров в Python: сравнение скорости Привет, Хабр!Меня зовут Вадим Москаленко и я разработчик инновационных технологий Страхового Дома ВСК. В этой статье хочу поделиться с вами информацией по проведенному сравнению производительности нескольких популярных библиотек для простого HTML-парсинга.При необходимости с...

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

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

Кластеризация в ML: от теоретических основ популярных алгоритмов к их реализации с нуля на Python Кластеризация — это набор методов без учителя для группировки данных по определённым критериям в так называемые кластеры, что позволяет выявлять сходства и различия между объектами, а также упрощать их анализ и визуализацию. Из-за частичного сходства в постановке задач с кла...

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

Релиз Ruby 3.3.0: что появилось нового в языке программирования и что изменилось На днях появился новый релиз динамического объектно ориентированного языка программирования Ruby 3.3.0. Он вобрал в себя лучшие возможности многих других ЯП, включая Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp. Что касается кода проекта, то он распространяется под лице...

[recovery mode] Где изучать C# в 2024. Бесплатные курсы и полезные ресурсы Существует несколько причин, почему стоит учить C# в 2024 году через бесплатные курсы:1. Популярность: C# является одним из самых популярных языков программирования, особенно в сфере разработки приложений для платформы Microsoft. Изучение C# открывает двери для работы над ши...

Решаем головоломки и настраиваем среды Kubernetes: подборка новых языков программирования В блоге beeline cloud мы уже делились дайджестом свежих DIY-материалов о контейнерах, DevOps и архитектуре. Сегодня расскажем, кто и зачем разрабатывает новые языки программирования — выбрали те, что появились на свет за последние три года. Некоторые из них написаны энтузиас...

Restyle как новый стандарт для создания UI в React Native Restyle предоставляет набор инструментов, которые позволят строить UI продуктов на основе токенов. Особенно очень хорошо такой подход залетает, когда в продукте есть Дизайн Система и этот набор токенов действительно определен.Одно из основных преимуществ библиотеки Restyle п...

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

Библиотека на Go для работы с RuStore API Привет, Хабр!Меня зовут Энрике, и я работаю Go-разработчиком в RuStore. Сегодня хочу рассказать про библиотеку на Go для комфортной работы с API магазина приложений RuStore. Иногда авторизация через API и получение JWE-токена занимают больше времени, чем хотелось бы. С ...

Релиз Ruby 3.3.0: что появилось нового в языке программирования и что изменилось  На днях появился новый релиз динамического объектно ориентированного языка программирования Ruby 3.3.0. Он вобрал в себя лучшие возможности многих других ЯП, включая Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp. Что касается кода проекта, то он распространяется по...

Windows 11 можно ускорить на 45% в некоторых случаях, если отключить шифрование По умолчанию Microsoft активирует шифрование BitLocker по умолчанию, считая, что приватность и безопасность пользователей важнее, чем ускорение работы, тем более, что заметно это будет всё же не всегда и не везде. Читать полную статью

Функциональная панель Инструменты в Платформе nanoCAD При работе с CAD-системами у пользователя зачастую возникает потребность адаптировать интерфейс «под себя» – к примеру, собрав в выбранном месте все часто используемые и специализированные инструменты. В Платформе nanoCAD такую возможность предоставляет функциональная панель...

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

Добавление своих команд для CLI в Joomla 4 и Joomla 5 с помощью плагина В Joomla, как и во многих других PHP фреймворках и движках, уже довольно давно (с версий 1.7.x) существует возможность работы с помощью CLI. С его помощью обычно решают те задачи, решение которых в веб-интерфейсе Joomla нецелесообразно из-за возможных ограничений веб-сервера...

CADLib API: От API к прямой работе с базой данных модели через SQL-запросы Рассмотрим вариант расширения стандартного CADLib API в части выборки объектов с некоторыми параметрами из базы при помощи SQL-запросов на примере получения всех файлов публикации, в которых встречаются объекты коллизий. Подобную задачу мы решим сперва вручную при помощи тол...

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

[Перевод] Rust и асинхронные функции: не надо менять future В начале 2010-х годов в программировании появился новый подход к реализации параллелизма с использованием абстракций future и promise, а также синтаксического приёма async/await. Эти технологии облегчили работу с асинхронным кодом, но вызвали ожесточённые споры среди разрабо...

ООП в Mathematica В комментариях к мой статье пользователь @Refridgeratorв ответ на мой вопрос написал, что в Wolfram Language (WL) не хватает следующего: "ООП, перегрузки операторов, строгой типизации, событийно-ориентированного программирования, дата-ориентированного программирования, парал...

Почему Windows настолько медленнее Linux. Расползание фич Время выполнения общих команд Git в Ubuntu и Windows 11 (в секундах, чем меньше — тем лучше), источник: OpenBemchmarking.org В далёком 2013 году один из разработчиков Microsoft детально объяснил, в чём главные технические проблемы при разработке ядра Windows NT. Спустя дес...

Продюсеры и консьюмеры с Apache Kafka в Python Салют, Хабр!Apache Kafka - это распределенная платформа потоковой обработки, предназначенная для построения систем обработки данных. Kafka позволяет публиковать, подписываться, хранить и обрабатывать потоки данных в реальном времени. Все это дает нам очень высокую пропускную...

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

Room для Kotlin Multiplatform. Пробуем нативное решение Всем привет! На связи Анна Жаркова, руководитель группы мобильной разработки в компании Usetech. В начале мая Google нас порадовали релизами нескольких библиотек для локальных хранилищ. Наконец, в приложения Kotlin Multiplatform можно полноценно использовать Room (версия 2....

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

Кратко про лидеров рынка Runbook Automation: Ansible, Puppet, и Chef Runbook Automation — это процесс использования специальных программных решений для автоматизации выполнения повторяющихся задач и процедур, которые в традиционных условиях выполняются вручную операторами IT-систем. RBA находит применение в автоматизации широкого спектра опер...

16-, 8- и 4-битные форматы чисел с плавающей запятой Уже лет 50, со времён выхода первого издания «Языка программирования Си» Кернигана и Ритчи, известно, что «числа с плавающей запятой» одинарной точности имеют размер 32 бита, а числа двойной точности — 64 бита. Существуют ещё и 80-битные числа расшир...

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

Управление сетевыми устройствами: Orange Pi, OpenWRT и Python Современный мир интернета вещей (IoT) и смарт-устройств требует гибкости и мощности при управлении сетевым оборудованием. Найти подходящее решение, сочетающее в себе одновременно простоту, надежность и доступность, может быть сложной задачей. Сегодня я хочу рассмотреть одну ...

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

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

Временные ряды с Julia с библиотекой TimeSeries.jl Julia позволяет достигать скорости, сравнимой с C, что делает её хрошим выбором для временных рядов.Пакет TimeSeriesпредоставляет удобные методы для работы с данными временных рядов в Julia. Читать далее

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

Получение и визуализация данных из Битрикс24 без навыков программирования Год назад у Битрикс24 появилась нативная интеграция с BI-сервисом DataLens: теперь пользователи CRM могут строить дашборд с бизнес-аналитикой за несколько кликов. Для создания таких аналитических отчётов бизнес обычно объединяет все данные в единую базу. При таком подходе мо...

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

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

Soft Robots. Мягкое решение жёстких задач ▎Откуда пошла робототехника Прежде, чем говорить о робототехнике, следует выяснить, что такое робот. Казалось бы, любой человек XXI века легко даст определение этому термину. Из литературы можно выяснить: чаще всего под роботом понимается автоматическое устройство, заточен...

ИИ для разработчиков: Intel открыла код библиотеки ускорения NPU Intel открыла код своей библиотеки, которая позволит использовать возможности нового блока нейронной обработки (NPU) в процессорах Meteor Lake. Эта библиотека, получившая меткое название NPU Acceleration Library, написана на языке Python и призвана помочь вам "раскрыть потен...

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

Оптимизируем шрифты и ускоряем сайт на 5-12% Описываем способы максимально ускорить загрузку шрифтов на сайте.Развенчиваем мифы и разбираем ошибки. В статье вас ждут полезные онлайн сервисы для ускорения работы. Читать далее

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

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

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

strtree — классификатор строк на основе регулярных выражений Вы хотите найти короткие регулярные выражения, полно и точно отделяющие один класс строк от другого? Это статья для вас. Мы поговорим про задачу классификации строк с помощью автоматически определяемых паттернов, а в конце я предоставлю пример такой процедуры с кодом на Pyth...

«А» и «Б» сидели на трубе. «А» упало, «Б» пропало. Что осталось на трубе? (алгоритм получения ответа в частном случае) Началось всё с того, что не нашел я библиотеки для JavaScript, которая вычисляет собственные векторы для комплекснозначной матрицы 4х4. Пришлось писать самому. И в ходе реализации встала передо мной этакая бодренькая микрозадачка – из набора чисел «1, 2, 3, 4» вычеркнули два...

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

AMD FSR 3 работает даже на старых видеокартах На прошлой неделе была представлена технология AMD FSR 3, которая считается невероятно важной в сегменте апскейлинга изображения, потому что данная технология способна выполнять поставленные задачи на любом аппаратном обеспечении. Например, в играх Forspoken и Immortals of A...

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

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

[Перевод] Простые способы ускорения обучения PyTorch-моделей Не знаю — нужно ли вступление к статье, посвящённой ускорению машинного обучения (Machine Learning, ML)?Ускорение обучения моделей — это именно то, в чём нуждаются все ML‑инженеры. Более быстрое обучение модели означает ускорение эксперимен...

Метод опорных векторов (SVM). Подходы, принцип работы и реализация с нуля на Python Метод опорных векторов (Support Vector Machine или просто SVM) — мощный и универсальный набор алгоритмов для работы с данными любой формы, применяемый не только для задач классификации и регрессии, но и также для выявления аномалий. В данной статье будут рассмотрены основные...

Анализ вакансий ИТ в Москве: системное администрирование, 2023г Прошел ровно год с предыдущего анализа вакансий системных администраторов и снова появилась необходимость в актуальных данных для планирования заработных плат специалистам уже на 2024 год.Цели, условия, методика и формат анализа остались без изменений, их можно про...

История языков программирования: Autocode Алика Гленни из 50-х годов XX века «Упрощённые системы кодирования», которые затем стали называть привычным нам термином «языки программирования», появились очень давно. Одним из первых языков, которые действительно упростили работу операторов вычислительных машин, стал язык, разработанный Аликом Гленни в 195...

Решение школьных задач по химии в Python Изображение от rawpixel.com на FreepikЯ попробовал решить несколько простых школьных задач по химии в Python с помощью библиотек mendeleev, chemlib и chempy, в том числе несколько заданий из ОГЭ и ЕГЭ. к задачам

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

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

Основные функции Apache Tomcat Привет, дорогие читатели! Apache Tomcat — это открытое программное обеспечение, реализующее спецификации Java Servlet, JSP и Java WebSocket, предоставляя таким образом платформу для запуска веб-приложений, написанных на языке Java. Разработанный и поддерживаемый Apache Softw...

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

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

Новые функции CSS (mod, round) или как сделать анимированные Sprite Sheet без JS Sprite Sheet — это техника в веб-разработке, позволяющая использовать множество различных кадров анимации, хранящихся в одном изображении. Это эффективный способ уменьшить количество HTTP-запросов к серверу и ускорить загрузку веб-страницы, так как все кадры анимации загружа...

[Перевод] Cовместное использование GitHub Actions, Docker и GitHub NPMvPackage В современном мире разработки программного обеспечения GitHub остается самой популярной платформой для хранения Git-репозиторий и управления ими. Помимо своей фундаментальной роли в управлении версиями, GitHub предлагает дополнительные функции, включая возможность размещения...

Многомерный анализ данных: исследование многомерных кубов и SQL OLAP-запросов Привет, Хабр!Многомерный анализ данных позволяет нам оперировать множеством измерений и атрибутов, создавая более глубокое понимание данных. Это важно для принятия обоснованных бизнес-решений, улучшения производительности и оптимизации процессов.Работая с данными, мы сталкив...

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

Обзор продукта «Структура API» и новой функциональности сравнения Open API спецификаций Всем привет!Сегодня мы хотим вам рассказать о нашем продукте «Структура API» и последних изменениях в нём. Данный продукт позволяет решить одну из важнейших задач в управлении API – это получение актуальной и полной структуры API на основании реального трафика. Результат пре...

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

Экстремальные практики программирования: что, как и зачем Всем привет! Меня зовут Сергей Бережной, я работаю в Яндексе уже 18 лет: в 2005 году пришёл разработчиком интерфейсов, потом руководил подразделениями разного размера, а сейчас я директор по взаимодействию с разработчиками. Ещё я много занимаюсь обучением: в рамках наших сез...

Database, Data Warehouse и Data Lake: что это и когда следует использовать каждое? Данных становится все больше. Важно уметь эффективно хранить и обрабатывать их для решения сложных бизнес-задач. Одним из первых шагов на пути к успешной стратегии является выбор технологии хранения, поиска, анализа и отчетности по данным. Как выбрать между базой данных, Dat...

Большие языковые модели (LLM) в задачах Сейчас в мире довольно много разговор о том, что LLM оставят всех нас без работы. Чтобы понять о чем речь рассмотрим на практических примерах какие задачи из коробки могут решать современные большие языковые модели (large language models, LLM).З.Ы. Подписывайтесь на мой теле...

Новое в App Store: Эмулятор Delta позволяет запускать игры от NES, SNES, N64 и DS В App Store появился эмулятор Delta, который вмещает в себя мощь множества ретро-консолей: Nintendo Entertainment System, Super Nintendo Entertainment System, Nintendo 64, Game Boy (Color), Game Boy Advance и Nintendo DS. В будущем автор данного эмулятора обещает добавить ещ...

[Перевод] Фильтры действий в ASP.NET Core ASP.NET Core — это мощный и универсальный фреймворк для создания веб-приложений. Он предоставляет широкий набор возможностей для создания надежных и масштабируемых приложений, и одной из ключевых фич, расширяющих его функциональность, являются фильтры действий (Action Filter...

Устройство памяти процессов в ОС Linux. Сбор дампов при помощи гипервизора Иногда для анализа ВПО или, например, для отладки какого-либо процесса может потребоваться дамп памяти процесса. Но как его собрать без отладчика? Постараемся ответить на этот вопрос в этой статье.Задачи:- Обозначить цель сбора дампа процесса.- Описать структуру памяти проце...

Майнинг бизнес-процессов и визуализация данных с помощью Neo4j, Plotly и GPT Этот материал может быть полезен для COO, бизнес-аналитиков и топ-менеджеров компаний. Хотя в тексте присутствуют некоторые технические детали, надеюсь, они не будут слишком сложными. Цель материала: показать общую логику, которую мы использовали для извлечения и анализа дан...

ИИ помог в 3 раза сократить количество назначений антибиотиков Основной задачей программы еРОСТ+ является оказание помощи врачам-педиатрам при принятии критически важных решений. Швейцарские программисты создали программу, которая позволяет лечить пациентов с инфекционными заболеваниями в возрасте до 15 лет более эффективно, и при это...

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

Новая эра диагностики: Как с помощью ИИ можно диагностировать рак кожи на ранней стадии В последние десятилетия рак кожи считается одним из самых распространенных онкологических заболеваний во всем мире. По оценкам ВОЗ, ежегодно регистрируется около 132 000 случаев меланомы кожи, а смертность достигает 66 000 случаев.Диагностика рака кожи требует значительных у...

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

Боремся с блокировками с помощью Trojan TCP на слабых устройствах c OpenWRT В данной статье рассмотрим как:Настроить обход блокировок с помощью Trojan TCP, tun2socks и bird2 (BGP) на устройствах с 8 Мб ПЗУ и 64 ОЗУ (8/64);Настроить существующее подключение к OpenVPN серверу, которое могло или может перестать работать, через Trojan TCP туннель&n...

Сбер открыл доступ к самой мощной своей нейросети – GigaChat Pro Команда Сбербанка открыла компаниям и разработчикам GigaChat API для доступа к двум моделям фирменной генеративной нейросети — GigaChat Lite и GigaChat Pro. Как отмечают в пресс-службе, GigaChat Lite подойдёт для решения более тривиальных задач, требующих при это...

ABC-XYZ анализ на Python. Управление ассортиментом и схемами поставок Управление ассортиментной матрицей и складскими запасами является нетривиальной задачей для бизнеса, требует аналитики и научного подхода к решению задачи. Одним из методов управления ассортиментом и закупками является ABC-XYZ классификация. Рассмотрим ее реализацию на Pytho...

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

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

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

Gabriel2 — Open Source асинхронная библиотека для модели Акторов на Rust с использованием Tokio В целом мне очень нравится концепция Акторов в асинхронном программировании. Низкоуровневое программирование с использованием очередей сообщений и обработчиков сообщений не позволяет мыслить в терминах высокоуровневых абстракций. Акторы позволяют абстрагироваться от низкоуро...

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

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

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

Heretic: full stack фреймворк на основе Marko.js В последнее время вышло так, что я по неведомой причине стал часто заниматься популяризацией Marko.js, декларативного и реактивного языка разметки, который разрабатывается eBay. С одной стороны, это связано с тем, что Marko незаслуженно часто обходят стороной, хотя он п...

9 полезных крейтов в Rust Привет, Хабр!Rust, как любимый многими разработчиками знаменит своей скоростью и безопасностью. Но его истинная сила заключается в экосистеме крейтов — библиотек и инструментов, которые могут превратить сложные и трудоёмкие задачи в удивительно простые и приятные процессы.Кр...

Ещё одна замена Android, но теперь с поддержкой языка программирования Rust. Представлена Vivo BlueOS Похоже, китайские компании решили всерьёз вытеснить Android как минимум с внутреннего рынка. Huawei уже давно продвигает HarmonyOS, Xiaomi представила HyperOS, а теперь и Vivo присоединилась к этой игре, анонсировав BlueOS.  Как говорит сама Vivo, BlueOS — э...

«Физика для программистов» — как физтехи применяют её в приложениях. Дифракция. Интеграл Френеля Данная статья входит в цикл, освещающий задачи на моделирование физических процессов на факультете МФТИ ВШПИ. В этой части речь пойдёт про задачу моделирования дифракции Френеля: разберём теорию, которая лежит в основе модели, напишем небольшое приложение для моделирования д...

CI/CD в каждый дом: сборочный цех базовых docker-образов Привет, Хабр.Последнее время DevOps и CI/CD де-факто стали повсеместным стандартом независимо от размера команды, в интернетах хватает статей, почему это важно, в чём собственно идея, полезных практик и других материалов. Я же решил подойти с несколько другой стороны и макси...

Пишем приложение на Python для подготовки к собеседованиям по Python На конец 2023 года язык программирования Python является самым популярным по индексу TIOBE. Что касается работы, то по количеству вакансий в мире язык Python занимает второе место (после JavaScript/TypeScript). Поэтому у соискателей на должность, где требуется Python, возник...

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

[Перевод] Macroni: рецепт поступательного улучшения языка программирования Хотя, Clang и используется в качестве инструмента для рефакторинга и статического анализа, у него есть серьёзный недостаток: в абстрактном синтаксическом дереве не предоставляется информации о происхождении конкретных расширений-макросов на CPP, за счёт которых может надст...

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

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

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

Исследование рыночной корзины на основе данных розничной торговли в Стамбуле Всем привет! Вот и я добралась до Хабра :).Хочу поделиться своей проектной работой, которую написала в рамках курса OTUS "Machine Learning.Basic". Итак, нас ждет путешествие в увлекательный мир шопинга в Стамбуле! Целью работы было получить представление о тенденциях и модел...

Гайд по ресурсам в Civilization: Eras & Allies и как их заработать Помимо науки и производства, в мобильной игре Civilization: Eras & Allies очень важны все ресурсы и материалы, которые правитель может заработать за короткий срок. Одним из самых главных ресурсов является Золото. Его можно заработать за выполнение миссий, квестов и уча...

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

Наноразмерные кассетные бомбы, применяемые в онкологии Одними из самых жутких и одновременно эффективных изобретений нашей цивилизации являются кассетные боеприпасы и химиотерапия. На английском языке кассетные боеприпасы называются «cluster munition» или «cluster bomb». Именно с кассетными боеприпасами сравнивается удивительный...

Вышел Firebird 5.0 11 января 2024 года, выпущен Firebird 5.0 — восьмой основной выпуск СУБД Firebird, разработка которого началась в мае 2021 года. В Firebird 5.0 команда разработчиков сосредоточила свои усилия на повышении производительности СУБД: параллельное выполнение backup, restore, swee...

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

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x. Крупная кража на $ 900 000 у пользователей Биткоин Кошельков Исследователи компании «Slowmist» проводят регулярное исследование сферы безопасности блокчейна Биткоин. Они обнародовали уязвимость в библиотеке Libbitcoin Explorer 3.x, который позволила злоумышленникам украсть более $ 900 000 у пользователей Биткоин Кошельков (B...

PostgreSQL 16. Изоляция транзакций. Часть 2 Данная статья является продолжением первой части: "PostgreSQL 16. Организация данных. Часть 1".В этой части мы обсудим, как транзакции могут влиять друг на друга, вызывая "аномалии", а также рассмотрим различные уровни изоляции, которые помогают избежать подобных проблем. Чи...

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

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

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

Диспетчер Задач для Микроконтроллера В программировании микроконтроллеров часто нужно написать простые тестировочные прошивки. При этом надо некоторые функции вызывать чаще, а некоторые реже. Для этого, конечно, можно запустить FreeRTOS, однако тогда этот код не будет переносим на другие RTOS например Zephyr RT...

Миграция конфигурации сборки с Groovy на Kotlin DSL (Domain-Specific Language) — это язык программирования, который спроектирован и оптимизирован для решения задач в конкретной области или для определенного класса задач. DSL build.gradle предоставляет разработчикам удобный способ определения настроек проекта и управления ...

[recovery mode] Анализ инцидентов с продакшена: как мы интегрировали этот процесс в тестирование Проведение анализа дефектов, обнаруженных на продакшене, кажется сложной и трудоемкой задачей. Однако в команде Polymatica мы успешно интегрировали этот процесс в цикл тестирования, сделав его неотъемлемой частью обеспечения качества ПО. Локализация дефектов с...

Преодоление ожирения скальпелем: оценка наиболее эффективных бариатрических операций По последним данным Росстата, более 42% населения России имеют избыточный вес. Крайняя степень ожирения затрагивает 2,1% россиян. Ожирение занимает четвертое место среди причин смертности, так как оно является фактором риска для сердечно-сосудистых заболеваний, инсульта, диа...

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

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

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

Подмена функций стандартной библиотеки PHP с помощью xepozz/internal-mocker Как в PHP заставить функции из стандартной библиотеки, например \time() или \date() выдать нужный результат? С помощью инструмента xepozz/internal-mocker такое возможно сделать. Для этого необходимо выполнить несколько подготовительных шагов и можно запускать тесты в любом о...

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

Архитектура Stable Diffusion: Face ID, Lighting Это перевод моей статьи на medium.com. Год назад я провёл краткий обзор по теме переноса стиля. Пару месяцев назад я решил вернуться к этому вопросу и исследовать прогресс за последний год. За это время случилось много значимых изменений: архитектура open-source модели Stabl...

Использование Annotated в Python Всем привет. Ранее мы с вами разбирали универсальные типы в python. Продолжая тему подсказок типов, в данной статье, я расскажу о примерах использования Annotated из модуля typing. Если вы слышите о Annotated в первый раз, то для лучшего понимания, стоит ознакомится с PEP 59...

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

Разбираем 5 способов ускорить сайт: от простого к сложному Низкая скорость загрузки — это критично. По данным исследования Unbounce, долгое ожидание негативно влияет на пользователей: 45,4% из них с меньшей вероятностью совершат целевое действие, а 11,9% — вообще покинут сайт. Давайте обсудим несколько способов, которые помогут...

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

[recovery mode] Как мы делаем веб-сервис для автоматизации рабочих задач на базе агентов LLM Друзья, всем привет! Сегодня хотим рассказать про то, как мы — Виталий, Даниил, Роберт и Никита — при поддержке AI Talent Hub, совместной магистратуры Napoleon IT и ИТМО, создаем Цифработа — сервис цифровых работников, который помогает оптимизировать временные затраты у сотр...

Realme GT 5 Pro против Realme GT 5: сравнение технических характеристик Цель этого сравнения - провести глубокий анализ этих устройств, уделяя особое внимание различным аспектам

Merlion Framework или как упростить работу с временными рядами Единственная причина для существования времени — чтобы все не  случилось одновременно.Альберт ЭйнштейнПривет! Меня зовут Дмитрий, я дата-инженер в SM Lab, и в этом посте хочу рассказать вам о Merlion Framework. В посте мы рассмотрим его архитектуру, полезные функции и о...

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

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

database/sql: плохой, хороший, злой Многие Golang-разработчики  пробовали работать с БД в Go, и у каждого — свои боли. В этой статье разберём библиотеку database/sql как безотносительно конкретной СУБД, так и применительно к YDB. Рассмотрим трудности эксплуатации при использовании драйвера database/sql на...

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

GigaChat и русский жестовый язык Всем привет! Меня зовут Капитанов Александр, я отвечаю за направление компьютерного зрения в SberDevices. В этой статье я расскажу о том, как моя команда Vision RnD разработала серию моделей SignFlow, обеспечивающих перевод с жестового языка на русский и американский английс...

Как математика улучшает геосервисы и помогает быстрее сориентироваться Сегодня всё чаще требуется учитывать географическую привязку и выполнять поиск в локальном окружении клиента. Иными словами, регулярно возникает необходимость найти что-то (или кого-то) рядом с конкретным пользователем. «Где ближайший банкомат?», «Кто из друзей поблизости?»,...

Тестируем AI на создании прикладного приложения Всем привет, я Григорий Тумаков, CTO в Моризо Диджитал.Недавно рассказал на Хабре, как мы в компании “потрогали” нейросети для прикладных задач разработки. Но там никаких серьезных выводов сделать не удалось.Поэтому решил на этом не останавливаться. Если есть инструменты — и...

Nvidia хвастается тем, насколько GeForce RTX 4090 мощнее всех новомодных NPU в задачах ИИ. Правда, если сравнивать с видеокартой попроще, все не так убедительно Компания Nvidia решила еще раз показать, насколько все эти современные NPU в процессорах уступают мощи видеокарт GeForce в задачах ИИ.  Для демонстрации компания взяла GeForce RTX 4090, что, с одной стороны, демонстрирует максимум возможностей, но с другой, делает...

Потоковая обработка данных: анализ альтернативных решений Всем привет! Я Алексей Пономаревский, разработчик решений для платформ сбора и обработки больших данных.Два года назад мы в ITSumma создали решение для потоковой обработки данных с помощью Apache Spark и базы данных Greenplum — spark-greenplum-connector. Это многофункциональ...

Декодируем protobuf загружая чанки loadable-components в NodeJS У меня возникла задача спарсить данные с веб-сайта aboutyou.de. Я провел быстрый анализ страниц и обнаружил, что сайт не имеет серьезной защиты и вся необходимая информация доступна в HTML. На первый взгляд всё казалось окей. Но это, между прочим, не окей. Читать далее

[Перевод] Ранний взгляд на будущее тестирования с swift-testing Пару месяцев назад Стюарт Монтгомери, программист из команды XCTest в Apple, поделился новой библиотекой тестирования Swift с открытым исходным кодом на основе макросов.Библиотека называется Swift-testing, и, как указано в ее документации, она предназначена для проверки конц...

NVIDIA и HP представили библиотеки обработки данных NVIDIA CUDA-X NVIDIA и HP представили библиотеки обработки данных NVIDIA CUDA-X, которые будут интегрированы в рабочие станции HP AI, для ускорения подготовки и обработки данных

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

GraphQL и микросервисная архитектура: объединяем сервисы в федерацию Меня зовут Владислав Гончаров, я разработчик в команде Platform V DataSpace СберТеха. Расскажу, как мы решаем вопрос с объединением сервисов в GraphQL и микросервисной архитектуре, которая позволяет разбить любое большое приложение на маленькие сервисы. С одной стороны, их п...

Проектирование веб-приложений с помощью Python и Flask Для каких проектов лучше всего подходит Flask, а для каких — Django? Какие особенности Flask можно использовать при разработке веб-приложений наиболее эффективно? Я Алексей Некрасов, лидер направления Python в МТС, автор форка библиотеки flask-combo-jsonapi, программный дире...

Упростить развертывание приложений в облаке — open source инструменты, которые помогут это сделать C помощью cloud-сервисов можно решить множество задач бизнеса — например, организовать централизованное управление корпоративной ИТ-инфраструктурой, разместить клиентские приложения и обеспечить высокую доступность веб-ресурсов при пиковых нагрузках, сократить затраты на сер...

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

Краткий обзор развития лямбда-выражений в C++11, C++14, C++17 и C++20 Привет, Хабр!Сегодня рассмотрим лямбда-выражения в C++ и их эволюцию с момента появления в стандарте C++11 и до последних обновлений в C++20.Лямбда-выражения в C++ — это анонимные функции, которые позволяют писать инлайн-выражения прямо там, где они используются. С их помощь...

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

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

Первое приложение на SolidJS В этой статье познакомимся с SolidJS − JavaScript-библиотекой для создания пользовательских интерфейсов без виртуального DOM. Мы создадим легкий список задач с использованием TypeScript и разберем некоторые особенности библиотеки. Читать далее

BI-инструмент от Яндекса DataLens — теперь в опенсорсе Сегодня мы опубликовали на GitHub под открытой лицензией Apache 2.0 исходный код Yandex DataLens — сервиса для анализа и визуализации данных. Теперь использовать опенсорс-версию DataLens может любой желающий и в любой инфраструктуре. Меня зовут Павел Дубинин, вместе с Г...

Почему вам стоит отказаться от использования timestamp в PostgreSQL Не секрет, что работа с часовыми поясами — боль, и многие разработчики объяснимо стараются ее избегать. Тем более что в каждом языке программирования / СУБД работа с часовыми поясами реализована по-разному.Среди тех, кто работает с PostgreSQL, есть очень распространенное заб...

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

Введение в архитектуру MLOps Привет, Хабр!MLOps, или Machine Learning Operations, это практика объединения машинного обучения и операционных процессов. Она направлена на упрощение и ускорение цикла разработки, тестирования, развертывания и мониторинга моделей машинного обучения. В MLOps применяются прин...

Глубокий взгляд на асинхронность в Java Script: роль Event Loop, Event Bus, промисов и async/await В этой статье мы сосредоточимся на ключевых элементах асинхронного программирования в Java Script: Event Loop, Event Bus, промисы и синтаксический сахар async/await. Разберемся, как эти концепции взаимодействуют между собой и как их использование помогает нам создавать более...

[Перевод] Анатомия shadcn/ui Если вы следите за новинками экосистемы JavaScript, то должны были слышать об интересной библиотеке пользовательского интерфейса (user interface, UI) под названием shadcn/ui. Вместо того, чтобы распространяться в виде пакета npm, компоненты shadcn/ui добавляются с помощью ...

Как пишут SQL-запросы гуманитарии Когда говорят "мы ускорили выполнение нашего запроса в N раз" это значит, что сначала сделали плохо а потом начали думать как улучшить.Так я думал раньше. Читать далее

Знакомьтесь, WOPI! Как настроить работу с документами в браузере Всем привет! Меня зовут Алексей Симонов. Я — разработчик в компании ELMA. Сегодня мы поговорим про протокол под названием WOPI. Он позволяет работать с файлами документов с использованием облачного сервера. Вы выбираете файл который хотите посмотреть или отредактировать...

Книга рецептов Rust. 1/2 Hello world! Книга рецептов — это коллекция простых примеров, демонстрирующих хорошие практики решения распространенных задач программирования с помощью крейтов экосистемы Rust. Читать дальше →

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

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

[Перевод] Почему я отказался от разработки игр на Rust, часть 3 Часть 1Часть 2Ситуация с GUI в Rust просто ужаснаВ сообществе Rust ходит шутка, что на 5 игр существует 50 игровых движков; наверно, ещё одна такая шутка нужна про фреймворки GUI. Люди пробуют разные подходы, что, учитывая полную обобщённость Rust как языка, имеет смысл. Но ...

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

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

iPhone теперь оповещает, когда он заряжался при помощи медленного зарядного устройства Apple обновила раздел «Аккумулятор» приложения «Настройки» в iOS 18, добавив функцию, которая позволяет узнать, заряжали ли вы свой iPhone с помощью медленного зарядного устройства. Периоды медленной зарядки обозначаются оранжевой полосой в той ч...

[Перевод] Язык Janet для смертных. Часть 1 — Значения и ссылки Это первая глава перевода небольшой книги о языке Janet за авторством Иана Генри (Ian Henry). В этой книге раскрываются различные аспекты работы с языком, обьяснение синтаксиса и некоторых приемов программирования. Внимание, в этой публикации содержатся скобочки! Люди с неп...

Системы автоматизации, SGRC Современная кибербезопасность включает в себя множество различных аспектов, объектов и субъектов защиты: информационные активы компании (ИТ-системы, бизнес-приложения, серверы, рабочие станции, сетевое оборудование), файлы и данные в самых разных форматах (от структурированн...

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

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

Сетевой мультитул для ИТ и ИБ специалистов: zero-skill создание Telegram чат-бота с помощью ChatGPT Привет, Хабр! Меня зовут Руслан, я – инженер по сетевой и информационной безопасности в компании-интеграторе STEP LOGIC. Решаю различные задачи, связанные с настройкой и поддержкой сетевого оборудования в компьютерных сетях, работаю над проектами, требующими планировани...

SQL HowTo: итоги по строкам и столбцам «в одно действие» Немного отвлечемся от простых SELECT и посмотрим на реальной бизнес-задаче построения различных "тепловых карт" и "шахматок", как знание возможностей SQL может облегчить жизнь и разработчику, и его базе. Читать далее

Разработка системы отчётности и BI: вопросы производительности Мы в компании «Магнит» много лет строим и эксплуатируем корпоративное хранилище данных и занимаемся различными задачами, связанными с этим. В частности, разрабатываем инструмент для конечного пользователя — систему отчётности и BI. В статье рассмотрим вопросы оптимизации про...

Представлен универсальный процессор X-Silicon CPU/GPU, ядро которого может выполнять любые задачи Компания X-Silicon представила открытую архитектуру C-GPU, которая сочетает процессорное ядро RISC-V с векторными возможностями и ускорения GPU в одном чипе.  создано DALL-E Платформа C-GPU X-Silicon нацелена на такие сегменты, как автомобильный рынок и рынок встр...

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

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

Общее описание и реализация Word2Vec с помощью PyTorch В данной статье даётся общее описание векторного представления вложений слов - модель word2vec. Также рассматривается пример реализации модели word2vec с использованием библиотеки PyTorch. Приведена реализация как архитектуры skip-gram так и CBOW. Читать далее

Библиотека контролов для Avalonia UI Последний год наша команда работала над кроссплатформенной версией САПР Delta Design. В результате этой работы была создана своя библиотека UI контролов для Avalonia, которая поддерживает как ОС Windows, так и ряд систем Linux, включая российские АстраЛинукс, РедОс, а также ...

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

Велосипедим связанный список на Wolfram Возможно 11 подписчиков моего блога обратили внимание на тот факт, что все мои статьи касаются языка Wolfram, а несколько последних статей вышли довольно громоздкими. Одна из последних статей была помечена Хабром как требующая в среднем 32 минуты на прочтение. Я посчитал, чт...

[Перевод] С новым годом: GPT в 500 строках на SQL В минувшем году все только и говорили об ИИ и о том, как он может всё за вас сделать.Мне нравится, когда кто-то или что-то работает за меня. Поэтому решил: попрошу-ка ChatGPT написать за меня новогодний пост:"Эй, ChatGPT. А ты можешь реализовать большую языковую модель на SQ...

Топ Необходимых Bash-Команд для Разработчика [Шпаргалка] Bash - самый распространенный командный интерпретатор в UNIX-подобных системах, предоставляет возможность выполнения практически любого действия через терминал. Не все операции можно выполнить через графический интерфейс, в то время как Bash дает возможность полного контроля...

Книга рецептов Rust. 2/2 Hello world! Книга рецептов — это коллекция простых примеров, демонстрирующих хорошие практики решения распространенных задач программирования с помощью крейтов экосистемы Rust. Первая часть Читать дальше →

Программист мало пишет, но много читает Здравствуйте, меня зовут Александр, я backend-разработчик. Цель данной публикации – проанализировать затраты времени при разработке приложений. Расчеты приведены на основе web приложений на языке Python. Так же не рассматривается ситуация разработки MVP для получения различн...

Как легко получить deadlock на Task.WhenAll Напоминание! Task.WhenAll не отдает ваши задачи планировщику и если вы забыли Task.Run или Task.Factory.StartNew, то добро пожаловать на синхронное выполнение и\или выполнение в main и\или ловите deadlock.А ниже пара примеров, при которых вы можете этого избежать, но так дел...

Оптимальный Power Limit для deep learning задач на RTX 3090 Недавно я купил б/у RTX 3090 для экспериментов с обучением нейронных сетей и выяснил, что карта сильно нагревается и потребляет много энергии. После понижения power limit до 250 Вт производительность упала не так сильно, как я ожидал. Я решил исследовать, как ограничение мо...

Как обнаружить хакера на этапе дампа учетных данных в Windows? Одна из самых часто используемых техник при атаках — получение учетных данных из операционной системы. В этом можно убедиться, читая аналитические отчеты различных компаний: техника T1003 OS Credential Dumping в подавляющем большинстве случаев входит в ТОП-5. После прон...

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

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

Pandas в pandas'е: упаковываем документацию в датафрейм Документация к сложным библиотекам на питоне (напр. pandas) хранится в doc-строках и разбросана по сотням страниц сайта. В этой статье мы с помощью небольшого кода упакуем её (информацию из документации для каждого класса и метода) в... датайфрейм. Но зачем? Во-первых, это п...

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

Создание карты подключений Elasticsearch + Fluent Bit + Nginx Ingress Controller Данная статья представляет подход к решению задачи сбора и агрегации метрик от Ingress Nginx Controller для извлечения геоданных с помощью GeoIP2 и их визуализации в Elasticsearch. Читать далее

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

Microsoft уменьшила размеры обновлений для Windows 10 версии 22H2 Несколько дней назад Microsoft выпустила необязательное накопительное обновление для Windows 10 версии 22H2 (KB5036979, сборка 19045.4355), размеры которого оказались значительно меньше по сравнению с предыдущими. Дело в том, что теперь подобные обновления не включают в себ...

Подключаем модуль TM1638 к Arduino без библиотеки SPI Изначально поставка задачи была такой. У меня была в наличии плата TM1638. Нужно было научиться с ней работать (ну и проверить работоспособность самой платы) для того, чтобы использовать её в одном интересном проекте (о нём в другой раз). Под рукой оказалась платка Arduino N...

Albumentations: XYMasking Короткая версияПосле длинного вступления, будет туториал по применению аугментации XYMasking к спектрограммам от ЭЭГ. Кто экономит время - код с примерами можно найти по ссылке в документации библиотеки. Длинная версияAlbumentations - это Open Source библиотека для аугментац...

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

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

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

Чтение на выходные: «Думай о смысле. Будни переводчика IT-текстов» Ивана Чаплыгина Чем занимаются IT-переводчики? Собственно, переводами инструкций, типовых договоров о неразглашении и другой документации. На первый взгляд, можно подумать, что с такой работой  справится любой выпускник-лингвист. Однако автор книги, которую мы сегодня рассмотрим в рубр...

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

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

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

Исследуем Скрытые Сокровища: Малоизвестные Библиотеки Python для Аналитики Данных Введение: Привет, Хабр! Сегодня мы исследуем мир менее известных, но чрезвычайно полезных библиотек Python, которые могут значительно обогатить ваш аналитический инструментарий.

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

Блеск и нищета нового Scrolling API в Spring Data В Spring Data 3.1 появилось новое API для итерирования по большому объему данных: Scrolling API. Давайте изучим его, посмотрим на практические применения с примерами кода и преимущества по сравнению со всем известным Pageable. А также разберём, чего Scrolling API пока не хва...

Управление электромеханической системой на основе ДПТ. Метод желаемой ЛАЧХ и другие средства Matlab Частой задачей при обучении теории автоматического управления является расчет корректирующего устройства методом желаемой ЛАЧХ. Эта задача дается для ознакомления с большим миром управления в частотной области. Зачем вообще частотный метод, когда есть модальный? Дело ...

Настройка CI/CD для самых маленьких разработчиков Считается, что построение CI/CD - задача для DevOps. Глобально это действительно так, особенно если речь идет о первоначальной настройке. Но часто с докручиванием отдельных этапов процесса сталкиваются и разработчики. Умение поправить что-то незначительное своими силами позв...

Инструкция по переезду и миграции данных с Google Firebase на Self-hosted Supabase Всем доброго дня! Комментарии к моей предыдущей статье о том, как я развиваю свой pet-проект, а также различные законы, подразумевающие локализацию персональных данных на серверах, размещенных на территории РФ (в частности Федеральный закон от 21.07.2014 № 242-ФЗ «О внесении...

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

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

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

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

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

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

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

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

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

Показываем видео в терминале Приветствую, сегодня я опробую OpenCV, библиотеку для работы с видео, на примере простой задачи - символами ASCII вывести видеоролик в терминал. Те, кто ей пользовались, могут сказать, что я забиваю дрелью гвозди - создана она для работы с алгоритмами компьютерного зрения. Ч...

Реализация SHA256 и SHA512 на языке RUST Небольшая заметка студента о том, как самостоятельно реализовать алгоритмы SHA256 и SHA512 на Rust.Статья будет полезна всем, кто интересуется криптографией, хочет повысить уровень безопасности своих приложений или просто расширить свои знания в области программирования на R...

ChatGPT и отзывы на приложение: Анализ тональности для улучшения пользовательского опыта Привет, дорогие читатели Хабра!Сегодня я хочу поделиться с вами своими знаниями и опытом в области анализа данных и машинного обучения, освещая увлекательную и актуальную тему – анализ отзывов на приложения с использованием модели ChatGPT. Этот подход открывает новые горизон...

Теперь AMD обвиняет Nvidia в некорректном сравнении ускорителей H100 и Instinct MI300X. Новые данные AMD показывают, что её продукт быстрее Пару дней назад Nvidia опубликовала материал, где рассказала, что на своей недавней презентации AMD неправильно сравнивала ускоритель Instinct MI300X и с Nvidia H100. И если сравнить правильно, решение Nvidia будет быстрее. Теперь AMD отреагировала на выпад конкурента, ...

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

GridStack + Vue 3 composition api Мир всем, на связи ShADAMoV!Сегодня, я бы хотел поведать вам о своём опыте взаимодействия с библиотекой GridStack. Расскажу о странностях и сложностях, с которыми столкнулся в ходе её интеграции во Vue 3 проект. Прежде чем приступим, дисклеймер: автор данной статьи не претен...

Курс «PostgreSQL для начинающих»: #4 — Анализ запросов (ч.1 — как и зачем читать планы) Продолжаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".В этой лекции мы узнаем, что такое план выполнения запроса, как и зачем его читать (и почему это совс...

Node Pools в AKS Привет, Хабр!В Kubernetes кластер состоит из множества узлов (nodes), которые представляют собой виртуальные или физические машины, на которых запущены приложения. Node Pools — это группы узлов с одинаковой конфигурацией, управляемые как единое целое. С Node Pools можно имет...

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

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

Архитектуры RL: DDPG иPPO Привет, уважаемые читатели Хабра! В RL существует множество алгоритмов, каждый из которых имеет свои преимущества и недостатки.DDPG (Deep Deterministic Policy Gradients) - это алгоритм, объединяющий в себе идеи из двух областей: DPG (Deterministic Policy Gradients) и DQN (De...

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

DebugMenu и визуальная иерархия элементов интерфейса В начале квартала, в Альфе, мы выбираем себе технические таски — задачи, направленные на техническое развитие проекта, а не на продуктовую составляющую. При выборе задачи хочется, чтобы она соответствовала нескольким условиям: • решает реальные проблемы нашей команды, у...

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

[Перевод] Result builders in Swift Конструктор результатов можно рассматривать как встроенный предметно-ориентированный язык (DSL) для сбора деталей, которые объединяются в конечный результат. Конструкторы результатов в Swift позволяют создавать результат, используя "блоки сборки", расположенные в ряд друг за...

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

asynpg-lite: Простой асинхронный менеджер для PostgreSQL на Python Друзья, в прошлых своих публикациях я рассказывал о том, что почти в каждом своем проекте использую свой класс для работы с базой данных PostgreSQL. На днях этот класс перерос в полноценную библиотеку asynpg-lite на базе asyncpg, которую каждый из вас может прямо сейчас уста...

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

Microsoft хочет ускорить трассировку лучей с помощью твердотельных накопителей Microsoft запатентовала технологию использования твердотельных накопителей для ускорения трассировки лучей в играх за счет разгрузки видеопамяти.

В России ускорят рост семян с помощью облучения Российские учёные придумали, как использовать свет в нескольких спектрах для ускорения роста растений

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

Истории из жизни вредоносов: знакомимся с Remnux Представим следующую ситуацию, у нас имеется файл, который скорее всего содержит вредоносный код. Варианты с отправкой этого файла сазу на virustotal.com мы пока рассматривать не будем, так как это слишком просто не спортивно.Можно конечно, поднять виртуалку/контейнер с Wind...

Как создать свой DAO с блэкджеком и OpenZeppelin? Продолжаем тему DAO. Раннее мы уже разбирали саму концепцию, а теперь пора делать своё решение!Разберём по косточкам смарт-контракты короля Web3 библиотек — OpenZeppelin. Они прошли всевозможные аудиты и считаются эталоном безопасности. Умение использовать governance смарт-к...

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

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

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