Социальные сети Рунета
Суббота, 11 мая 2024

Как я написал свой первый классификатор эмоций Всем привет! Немного о себе. Меня зовут Максим, я работаю специалистом по Machine Learning в компании SimbirSoft. Последние два года я углубленно изучал область машинного обучения и компьютерного зрения и сегодня с удовольствием поделюсь с вами опытом разработки личного пет-...

Архитектурные нюансы OpenStack. Базы данных как сервис, реализация Trove Привет, Хабр. Это вторая статья в цикле, в котором мы рассматриваем архитектуру основных сервисов OpenStack. Первая, в которой я рассказывал о Nova и общих паттернах построения платформы, находится здесь. Сегодня погрузимся в детали реализации сервиса DBaaS, который в платфо...

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

React Fiber & Concurrency Part 1 (2) В сети много статей и докладов, которые описывают React Fiber, но, к сожалению, они сейчас уже не актуальны. Заметив это, я решил разобраться и актуализировать информацию. Моими основными помощниками были исходники и отладчик, поэтому здесь вы увидите множество ссылок на код...

Наивный байесовский классификатор. Основная идея, модификации и реализация с нуля на Python Наивный байесовский классификатор (Naive Bayes classifier) — вероятностный классификатор на основе формулы Байеса со строгим (наивным) предположением о независимости признаков между собой при заданном классе, что сильно упрощает задачу классификации из-за оценки одномерных в...

Вы кто такие, я вас не знаю, или Как мы делаем JWT-аутентификацию Привет! Меня зовут Данил, я backend-разработчик в Doubletapp. Почти во всех наших проектах есть пользователи, которые могут войти в систему. А значит, нам почти всегда нужна авторизация. Мы используем авторизацию, построенную на JSON Web Token. Она отлично сочетает в се...

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

От винта! Рычаги и винты в Unity Всем привет! Меня зовут Григорий Дядиченко, и я разрабатываю разные проекты на заказ. Сегодня хотелось бы поговорить про рычаги и винты, и их реализацию в Unity. Сейчас как раз на хайпе Apple Vision Pro, а подобные штуки бывают весьма полезны в проектах с виртуальной и допол...

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

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

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

Вы за это заплатите! Цена Чистой Архитектуры. Часть 2 В прошлой части мы немного коснулись теории и остановились на определении лишних компонентов. В этой части мы продолжим определять лишнее, коснёмся вопросов экстремальной экономии, а также закрепим всё выводами.Если не читали первую часть, настоятельно рекомендую это сделать...

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

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

Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL. Часть. 2 Привет, Хабр! Это снова мы — Павел Конотопов и Михаил Жилин, сотрудники компании Postgres Professional. Напомню, что Павел занимается архитектурой построения отказоустойчивых кластеров, а я анализом производительности СУБД. У каждого из нас за плечами более десяти лет опыта ...

Реализация многооконного приложения на Vue 3 В наше время чуть ли не каждое приложение использует браузерный клиент. Это просто в написании, это кроссплатформенно, это легко в использовании. Браузерные решения уже активно используются и в промышленной сфере: аналитиками, операторами. WEB-приложения для управления промы...

[Перевод] Как добавить Flutter в нативное приложение iOS и протестировать его на Codemagic (Часть 2) Hola, Amigos! На связи Саша Чаплыгин, Flutter dev компании заказной разработки Amiga. Нашел интересную статью на английском о том, как добавить Flutter в новый или существующий проект Native iOS. Решил поделиться с вами переводом. Это вторая часть, в которой будет идти речь ...

Telegram бот для доставки torrent контента с телефона до телевизора Всем привет! Этой мой первый пост на Habr (да и вообще где либо, за исключением GitHub). Хочу поделиться работой, на реализацию который у меня ушло около месяца, но тем не менее сейчас используя ежедневно и планирую развивать в дальнейшем. Задумка была таковой, что бы донест...

Интерактивный NPC на Unreal Engine Всем привет.Я хочу с вами поделиться результатами эксперимента по созданию интерактивного NPC на Unreal Engine 5.Speech recognition, Text-to-speech, LLM модели, LipSync, MetaHuman и все это без использования сторонних сервисов.Видео работы и ссылка на демо версию прилагается...

Реализация кодека 66b/64b на языке VHDL В протоколах передачи данных для стабильной работы используются кодеки, выбранные разработчиками с учётом следующих требований:равномерное распределение 0 и 1 в каналепростота кодирования/декодированияиметь небольшую избыточностьОдин из самых распространённых протоколов, о к...

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

Сравнение сборщиков мусора в Unity и .NET В этой статье я хотел бы рассказать о различиях между сборкой мусора в Unity (IL2CPP) и .NET. Несмотря на то что IL2CPP существует более 10 лет, я до сих пор встречаю недоумение, когда беседа заходит на тему Garbage Collector (GC) касательно Unity. Считать реализацию GC в .N...

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

Реализация взаимодействия с БД через Middleware в Telegram-ботах Когда я начинал писать своих первых ботов с использованием базы данных, их код был очень плохим: он расходовал лишние ресурсы, а также была плохая архитектура проекта. Поэтому я хочу поделиться с вами своими знаниями, чтобы вы не наступали на те грабли, на которые наступа...

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

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

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

[Перевод] А что, если бы функция get в Lodash выводила типы за вас в TypeScript Продвинутая реализация Lodash функции get используя за основу базовую реализацию "Typed Get" type-challenge, а затем покрывая пограничные случаи: опциональные пути, массивы, кортежи. В самом конце типы добавляются к решению на JS. Читать далее

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

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

Можно ли использовать DMA вместо memcpy в Linux В интернете можно найти описание проблем, связанных с использованием DMA для стандартной функции копирования данных из памяти в память:Linux – DMA memcpy operation in LinuxДавайте попробуем разобраться, как можно использовать интерфейс к DMA для реализации стандартной операц...

Конфигурация вместо кода при написании Telegram-бота Привет! Меня зовут Никита и я пишу от имени небольшой команды студентов, разработчиков проекта Cloffer — систему онлайн-заказа для кофеен. Мы решили начать наш путь с написания связки бэкенд + набор телеграм-ботов.Эта статья будет посвящена подходу, который мы использовали д...

По следам Phrack. Ищем LKM-руткиты в оперативке и изучаем устройство памяти x64 Для подписчиковКогда‑то, еще в начале погружения в тему ядерных руткитов в Linux, мне попалась заметка из Phrack об их обнаружении с реализацией для i386. Статья была не новая, и речь в ней шла о ядре Linux образца 2003 года. Что‑то в этой заметке меня зацепило, хотя многое ...

Разработка высоконагруженного игрового WebSocket сервера на Java, Netty с поддержкой BattleRoyale/Matchmaking Всем доброго времени суток. В предыдущей статье я затронул тему клиентской разработки браузерной игры. В этой же публикации попробую пролить свет на детали разработки мультиплеера, а именно - разработки игрового websocket-tcp сервера на Netty.Разберем технические особенности...

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

Роман Тезиков про СV-проекты и промт-инжиниринг как базовый навык каждого человека К нам на огонек в подкаст заглянул Роман Тезиков — senior-разработчик и DL-engineer. Эксперт рассказал много интересного о своем опыте реализации ML-проектов. А «на десерт» Роман поделился тем, как он применяет промт-инжиниринг в работе и личной жизни и каких впечатляющих ре...

Подобие CI/CD c микроконтроллерами. Jenkins + GitLab + HeadlessBuild Прежде всего – хотелось избавить себя от рутинных операций, которые необходимо прокручивать в каждый релиз артефакта каждого проекта. Второе – понять, нужен ли мне вообще такой подход у разработке и сколько от него профита. Третье – узнать немного нового Читать далее

Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL. Часть. 1 Привет, Хабр! Недавно мы делали доклад на конференции HighLoad 2023 — «Мифы и реалии Мультимастера в архитектуре СУБД PostgreSQL». Мы — это Павел Конотопов (@kakoka) и Михаил Жилин (@mizhka), сотрудники компании Postgres Professional. Павел занимается архитектурой построения...

Оптимизация Скорости и Доступности с помощью Сети Доставки Контента (CDN) в Microsoft Azure Привет Хабр!В мире быстро развивающихся технологий быстродействие и доступность играют ключевую роль в обеспечении удовлетворения потребностей пользователей. В этой эпохе, где каждая миллисекунда имеет значение, использование современных инструментов для оптимизации скорости...

Алгоритм расчёта расстояния между строками По работе стояла задача оптимизации поиска по адресам (улицы, дома и объекты). Главный критерий - нахождение адреса, если написано с ошибками или не дописан он в полной мере. Bert’ы, косинусные расстояния эмбеддингов и т.д. не подходили, так как они заточены под смысловой по...

REST API/Web сервер на PowerShell Все привет! В продолжение статьи о возможностях PowerShell, хочу поделиться несложной реализацией создания REST API и простого Web-сервера, используя только PowerShell на базе класса .NET HttpListener. Такая реализация позволяет настроить endpoint (конечные точки) для обрабо...

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

DevOps as a Service. Часть 5. Работа с бэклогом и сквозной приоритизацией команды Всем доброе утро! С Вами Крылов Александр, и мы продолжаем серию статей про DevOps as a Service, и как с помощью данного подхода возможно решить ряд распространённых проблем в организации работы подразделения. В прошлых статьях мы описали подход и показали пути решения часто...

Зеттелькастен рисование на бесконечном канвасе или как помнить всё на свете Каждый автор, обдумывая статью, сталкивается с проблемой. С одной стороны хочется передать читателю крутую идею и тем самым принести большую пользу, а с другой страшно давать что-то “тяжелое”, потому что тема может оказаться неподъемной и следовательно бесполезной.В первых м...

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

Apache Flink: динамическое определение выходного топика в Kafka Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Мы начали использовать фреймворк Apache Flink, и я решил поделиться на Хабре своим опытом внедрения этой технологии в цикле статей.В предыдущей статье — «Apac...

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

Генератор кадров Nvidia никогда таким похвастаться не сможет. AMD Fluid Motion Frames теперь доступен в любой современной игре Компания AMD добавила поддержку генератора кадров Fluid Motion Frames сразу для всех игр с поддержкой DirectX 11/12. Но это не полноценная поддержка.  Это реализация генератора посредством драйвера, которая не требует от разработчиков внедрения технологии в их игр...

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

Android получит второе приватное пространство для чувствительных данных Часть брендов называют эту функциональность вторым рабочим пространством, иные кличат приватной зоной или как-то аналогично. Одна из самых удобных, продуманных и востребованных реализаций в EMUI/HarmonyOS, получившая название Private Space у HUAWEI, о которой мы рассказыв...

Всё /var/lib/docker пожрал … docker Небольшая юмористическая заметка на тему того, что делать, если докер всё пожрал всё место на диске, от для человека, который каждый день работает с докером не шарит за докер.Заметку написала моя коллега, орфография и пунктуация по возможности сохранены. В какой-то момент ей...

Rokit Dr. INVIVO 4D6: 3D-биопринтер-инкубатор для восстановления костей и хрящей - кейс Top 3D Group В 2023 году компания Top 3D Group поставила и интегрировала в научно-исследовательские процессы 3D-биопринтер Rokit Dr. INVIVO 4D6 для Национального медицинского исследовательского центра имени академика Мешалкина.ВидеоверсияКейсНовосибирский Центр — это одно из крупнейших в...

Игровой системный блок Raskat Strike 520: мощное и относительно недорогое решение c Core i5-13400F и GeForce RTX 4070 Ti Raskat Strike 520 — это реализация практически беспроигрышной концепции: Core i5 в недорогом окружении, но с мощной видеокартой позволяет без лишних переплат построить мощный игровой компьютер. Некоторые детали реализации оптимальными не являются, и в первую очередь это отно...

Динамический шеринг GPU в Kubernetes: разбор взлетов, падений и существующих решений Привет, Хабр! С вами снова Антон, все еще DevOps-инженер в отделе Data- и ML-продуктов Selectel, который все еще исследует тему шеринга GPU. В предыдущей статье я рассказал, как можно использовать шеринг видеокарт в Kubernetes. В комментариях была затронута тема динамическ...

[Перевод] Dataloader 3.0: Новый алгоритм для решения проблемы N+1 При реализации Cosmo Router, open-source замена Apollo Router, мы столкнулись с проблемой поддержания нашего кода для решения проблемы N+1. Реализация маршрутизатора для федеративных служб GraphQL в значительной степени зависит от возможности группировать вложенные запросы G...

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

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

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

Удобные формы для Vue 3 Vue + Form. А можно немного попроще...Краткий путь по созданию библиотеки для работы с полями и формами . В статье описан краткий путь от v-modal к чему-то более умному и самостоятельному. Я также поделился своими наработками, чтобы вы могли использовать их у себя в проекте....

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

[Перевод] Основы Scrum менее, чем за 10 минут (Scrum Alliance) Скрам  –  это легкая методология, которая помогает людям, командам и организациям создавать ценности. Это простая и намеренно неполная система, которая позволяет пользователям полностью раскрыть свой потенциал и работать в режиме Agile. В центре внимания Скрам...

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

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

[Перевод] Сколько строк на C нужно, чтобы выполнить a + b в Python? В своей предыдущей статье я исследовал структуру PyObject и её роль в качестве заголовка для всех объектов среды исполнения CPython. Эта структура играет важнейшую роль в обеспечении наследования и полиморфизма в системе объектов CPython. Но это лишь вершина айсбер...

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

Как мы решали задачу оптимизации доставки грузов с использованием численных методов на примере метода имитации отжига В статье хотим поделиться своим опытом реализации алгоритма решения задачи маршрутизации на основе метода имитации отжига в Norbit CDS – умной системе управления доставкой. Проанализировав материалы, можно обнаружить различные предлагаемые способы решения VRP-задач (Veh...

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

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

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

Unity: сквозь тернии к importing assets Небольшая заметка по итогу многих лет работы с движком: проблемы, баги, странности и краши.С движком работаю в той или иной мере с 4 версии, поэтом накопилось довольно много различных нюансов. Читать далее

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

Покрытие архитектуры as Code тестами

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

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

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

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

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

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

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

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

[Перевод] Улучшенная маршрутизация HTTP-серверов в Go 1.22 В Go 1.22 ожидается появление интересного предложения - расширение возможностей по поиску шаблонов (pattern-matching) в мультиплексоре, используемом по умолчанию для обслуживания HTTP в пакете net/http.Существующий мультиплексор (http.ServeMux) обеспечивает рудиментарное соп...

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

Алгоритмы AdaBoost (SAMME & R2). Принцип работы и реализация с нуля на Python Следующим мощным алгоритмом машинного обучения является AdaBoost (adaptive boosting), в основе которого лежит концепция бустинга, когда слабые базовые модели последовательно объединяются в одну сильную, исправляя ошибки предшественников.В AdaBoost в качестве базовой модели и...

Путь развития Frontend разработчика (Вторая часть) Это вторая часть roadmap frontend разработчика, Если вы не читали первую часть, то настоятельно рекомендую ознакомится, Первая часть. В этой статье я продолжу вам рассказывать про мое представление современной карты развития frontend разработчика. Читать далее

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

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

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

Ржавое наследование 2. Славянский проброс Get/Set Вторая статья по теме, развивающая мои теоретические выкладки про наследование реализаций из первой части. В этой части пойдет речь о доступе к данным через цепочку вложенных структур. Все также никакой лишней нагрузки в виде: Rc, RefCell, и тд, только no_std и немного night...

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

Как написать новостной Телеграм-канал если ты не программист. Часть первая Всем привет! Попробую написать трилогию покорения основ Python, отражающую мой путь любителя с “паяльником”. Тут не будет основ, чистого кода, отсылок к требованиям PEP-8, практически не будет ООП.Всех суровых Senior’ов, читающих данный материал, прошу понять и простить. Я н...

Как рендерить R Markdown в PDF на кириллице Так получилось, что за всё время, что я использую в работе R, мне не доводилось рендерить markdown-файлы в формат PDF. Иногда я хранил наработки просто в фалах .R, а исследования оформлял в Google Docs, накидывая туда скринов из viewer-а. Иногда это был рендер в .html, с инт...

«Бесполезный» генератор кадров AMD Fluid Motion Frames, доступный через драйвер, теперь поддерживается и видеокартами Radeon RX 6000 Технология генерация кадров Fluid Motion Frames стала доступна в драйвере для видеокарт линейки Radeon RX 6000. AMD выпустила предварительную версию свежего ПО, где в том числе реализована поддержка AFMF для видеокарт прошлого поколения.   Напомним, речь о пр...

Временное хранилище данных на Apache Druid: почему это эффективно сработало для загрузки табличных файлов Всем привет! Меня зовут Амир, я Data Engineer в компании «ДЮК Технологии». Расскажу, как мы спроектировали и реализовали на Apache Druid хранилище разрозненных табличных данных.В статье опишу, почему для реализации проекта мы выбрали именно Apache Dr...

[Перевод] Тонкая настройка Whisper для многоязычного ASR с помощью Hugging Face Transformers Предлагается пошаговое руководство по дообучению Whisper для любого многоязычного набора данных ASR с использованием Hugging Face

ИИ в 3D: Где мы сейчас и какое будущее нас ждёт? (Часть 1) В последнее время мы оцениваем на удивление много проектов, так или иначе связанных с 3D-пространством и ML-моделями. По всей видимости по прошествии 2023 года люди воодушевились и начали видеть возможность реализации тех идей, которые ранее просто-напросто казались научной ...

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

Контроллер управления аттенюаторами Agilent/Keysight 8494H и 8496H Приветствуем! Так получилось, что нам достались два аттенюатора Agilent 8494H и 8496H. Они долго лежали без дела, поскольку отсутствовал контроллер управления. Конечно, четыре простых переключателя справились бы с этой задачей, но хотелось реализации с дисплеем показы...

Решетчатый и случайный поиск Привет, Хабр!Среди разнообразных подходов оптимизации, методы решетчатого (grid search) и случайного (random search) поиска выделяются своей способностью находить оптимальные решения в хардовых пространствах параметров. Решетчатый поиск - это метод, при котором пространство ...

Простейший пример kafka + golang В данной статье представлен простой способ реализации микросервисной архитектуры с использованием Kafka, Golang и Docker. Читать далее

Делаю игрулю на Playdate на чистом C. Глава 2 Я пишу игру на игровую консоль Playdate на чистом C. Игра в жанре "выживальщик" наподобие Vampire Survivors. Так как в чистом C отсутствуют многие современные объектно-ориентированные удобства мне приходится по-всякому изворачиваться чтобы адаптировать свои идеи в код. В эти...

Cortex-M0+ под ногами или бесплатная «девборда» Доброго времени, уважаемые читатели! Одним прекрасным днем по пути на работу краем глаза обнаружил в пустом стаканчике рядом с кофейней хайп-вейп девайс. Да не простой, а с экранчиком. Вашему вниманию предлагается заметка в стиле "шаг-за-шагом" по использованию уже использов...

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

REST API сервер на Bash с использованием сокетов и Apache Всем привет! Ранее рассказывал о том, как создать REST API и Web-сервер на PowerShell для Windows, а также упоминал, что подобный сервер будет работать и в системе Linux, благодаря кроссплатформенной версии PowerShell Core. Безусловно, для подобных целей лучше используются с...

Коэффициенты для экстраполяции прогнозов компонент CLTV на 5 лет Эта статья описывает, как из прогнозов ряда ML-моделей получить ценность клиента с горизонтом в 5 лет. Напомним, что показатель CLTV представляет из себя композицию прогнозов ее компонент (подробнее в статье). В нашей реализации максимальный период прогнозирования ...

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

Похоже, я придумал свой алгоритм поиска кратчайшего пути Всем привет! Я реализовал похоже собственный алгоритм поиска кратчайшего пути с отрицательными ребрами графа. Почему собственный? Я искал подобное решение, но не нашел, возможно, оно уже было реализовано, просто плохо поискал. Жду Нобелевскую премию =) Додумался я до него пу...

PostgreSQL и временные таблицы Мы много лет уже используем в качестве основной базы данных PostgreSQL. За это время он зарекомендовал себя быстрой и надежной СУБД. Однако, есть в PostgreSQL одна проблема, с которой приходится сталкиваться достаточно часто. К сожалению, реализация логики временных таблиц в...

Анализ Приказа ФСТЭК России №118 «Об утверждении требований по безопасности информации к средствам контейнеризации» Рассмотрим требования к безопасности информации в средствах контейнеризации, указанные в Выписке из Приказа ФСТЭК России № 118 «Требования по безопасности информации к средствам контейнеризации», приведем разъяснения к каждому требован...

Монтаж уличной ip-камеры и вывод изображения по RTSP (python, raspberry pi) Камеры видеонаблюдения стали для многих стран обыденностью, например в Китае, они могут свисать гроздьями, через каждые 5 метров, по улице. Но в провинции России это все еще может быть в новинку. Я отношусь к видеонаблюдению по большей мере положительно. Ведь вид камеры, да...

Использование Redis почти как SQL БД: Реализация чата с кешированием сообщений Допустим, мы хотим создать чат и хранить сообщения для него. Вполне возможно, мы можем добавить для этого простую базу данных (БД), такую как MySQL или даже NoSQL БД.Обычно многие используют Redis как key‑value (dictionary) хранилище. Тем не мен...

AMD предлагает свою бесплатную технологию улучшения видео Реализация от NVIDIA носит название RTX Video Super Resolution (как её активировать?), в данный момент уже версии 1.5. Кроме того, вспоминается вариант от Opera (как его использовать?), который тоже может дать положительный результат для некоторых видео. Читать полную ст...

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

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

Реализация Avalon-MM Master в виде конечного автомата на VHDL Шина Avalon-MM является одной из стандартных шин передачи данных, используемых в ПЛИС фирмы Intel. Использование этой шины в своих модулях для передачи данных существенно повышает их возможность повторного применения и повышает надежность проектов. Также упрощается интеграци...

Как мы реализовали аутентификацию трафика для MSA на базе монолита Привет, Хабр! Меня зовут Салахутдинов Дмитрий, я принципал инженер в СберМаркете. Занимаюсь развитием Ruby-платформы и масштабированием системы через декомпозицию монолита на сервисы.В статье хочу поделится опытом внедрения аутентификации на базе монолита. Это первая пробле...

[Перевод] Чем хорош Rust для продакшена? За последние годы интерес к Rust значительно вырос. Отчасти этому способствовало то, что ведущие участники технологической индустрии, такие как Microsoft, Google и Amazon рассказали о своём опыте использования этого языка в реализации критических систем. При этом немалое в...

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

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

SFC Vue3 Компоненты в Bitrix, с использованием Composition API, без сборщиков, без CDN и NPM пакетов В данной статье будет показана нестандартная реализация компонентов Vue + Bitrix, которую вряд ли кто то видел и использовал.Без NPM, без сборщиков и без костылей. Все "нативными" средствами Читать далее

Разбираемся с this в JavaScript раз и навсегда (но это не точно) Бесконечно можно смотреть на три вещи: как горит огонь, как течет вода и то как фронтендеры пишут очередную статью про this.Но все же такое количество статей существует не просто так, тема действительно для многих запутанная и зачастую даже сами авторы статей неправильно пон...

Автономность iPhone 15 Pro Max лучше, чем у основных конкурентов на Android, но не особо значительно Среди новых iPhone 15 самым автономным, как мы уже знаем, стал не iPhone 15 Pro Max, но он занял второе место. Теперь же его, как лучшее решение Apple на данный момент, сравнили с другими флагманами на рынке.  В битве против iPhone 15 Pro Max поучаствовали Samsung...

Опыт использования свободного ПО OSS-CAD_SUITE для программирования FPGA Gowin Для программирования FPGA нужна среда проектирования. Например, при использовании микросхем ПЛИС Altera/Intel мы используем САПР Intel Quartus Prime Software. Возможно, основная ценность технологии ПЛИС даже не сами микросхемы, а программное обеспечение, которое позволяет ра...

Как закрыть весь техдолг автотестов за два дня «по-домашнему» Привет, меня зовут Яна, я технический лидер тестирования Платежей и переводов Альфа-банка и сегодня мне бы хотелось поделиться с вами интересным опытом, который, в перспективе, можно использовать и как добрую традицию. Речь пойдет о мероприятии под названием «QA Automation D...

Как мы реализовали текстовый поиск за 48 часов В компании Циан (где я, Клюшев Александр, и работаю в роли ML-инженера) проводятся внутренние хакатоны, и один из таких проходил в начале лета 2023. Достаточно давно в компании обсуждали идею по реализации поиска объявлений через текстовую строку, и было принято решение эту ...

Используем MLOps-конвейер: пример работы с Cloud ML Platform для построения сервиса распознавания лиц Есть два подхода к работе с машинным обучением (Machine Learning, ML): быть человеком-оркестром и задействовать «зоопарк технологий» для каждого этапа, или работать с готовым набором инфраструктурных решений, который позволяет выстроить MLOps-конвейер в рамках одной платфо...

Проект Альфа-Бизнес Mobile Web (веб-приложение), или Что делать если AppStore — всё? Начиная с ведения санкций в 2022 вниманием не обошел и банковский сектор. Сказалось это и на возможности вести разработку и обновлять банковские приложения в Google Play и AppStore. Если ограничение Google Play можно обойти через множество альтернативных сторов или, на худой...

Метод K-ближайших соседей (KNN). Принцип работы, разновидности и реализация с нуля на Python К-ближайших соседей (K-Nearest Neighbors или просто KNN) — алгоритм классификации и регрессии, основанный на гипотезе компактности, которая предполагает, что расположенные близко друг к другу объекты в пространстве признаков имеют схожие значения целевой переменной или прина...

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

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

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

Торговый бот на Python с нуля (с использованием Binance API), часть 2 Продолжение первой части статьи о создании торгового бота на python с нуля с использованием Binance API!В данной статье мы напишем полностью рабочую реальную стратегию с использованием биржевых данных. Я расскажу что такое линии Боллинджера, а также о других популярных страт...

Симуляция высокоскоростных приёмопередатчиков с динамической реконфигурацией для ПЛИС Intel серии 10 В этой статье мы подошли к самому "свежему" поколению ПЛИС фирмы Intel, а именно 10 поколение. И теперь мы будем создавать проект в среде симуляции для Arria 10.Напомню, что высокоскоростные приёмопередатчики - это пара RX и TX, встроенные в ПЛИС, которые позволяют преобразо...

Автоматическое обновление заметок в Joplin Joplin это опенсорс приложение для управления заметками, которое я активно использую. Некоторое время назад понадобилось редактировать заметки автоматически. Задача казалась несложной, но по пути удалось собрать достаточно граблей. Пока разбирался, написал микро клиент на go...

Unreal Engine 5: Nanite — Z-тест для самых маленьких Доброго времени суток,Неожиданной для себя, обнаружил, что по какой-то причине, присутствует не так много содержательных статей о работе технологий Unreal Engine 5 на русском языке. Я решил исправить эту несправедливость. И чтобы не повторятся с англоязычными статьями или не...

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

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

Open-source ML от Apple Привет, Хабр! После недавнего релиза Apple VIsion Pro я задумался над тем, какой вклад компания внесла в open-source ML, ведь, очевидно, было много предпосылок, наработок и технологий, о которых массовый пользователь не знает. Но все это гарантировано сыграло роль в появлен...

Расширяем тестовый фреймворк с помощью Pytest-плагинов. Часть 1: теория Всем привет! Меня зовут Александр Волков, я занимаюсь интеграционным и компонентным тестированием в YADRO. В числе продуктов компании есть системы хранения данных и, говоря о тестировании, я буду иметь в виду в первую очередь работу с СХД. Однако описанные подходы пригодятся...

Высокоточное измерение ЭКГ. Часть 3 В данной статье представлены некоторые результаты практической реализации высокоточного измерения сигнала ЭКГ и ФПГ. Читать далее

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

Реализации Microkernel архитектуры с помощью Java OSGI Я хотел бы поделиться опытом реализации микроядерной архитектуры (microkernel) на Java с помощью OSGI (Open Service Gateway Initiative). Этот подход является промежуточным вариантом между микро-сервисной и монолитной архитектурой. С одной стороны присутствует разделение межд...

За три миллиарда лет до зарождения Милкомеды Около ста лет назад, на рубеже 1923 и 1924 годов, Эдвин Хаббл открыл галактики. К началу XX века считалось, что размеры Вселенной примерно соответствуют размеру Млечного Пути, и диаметр её составляет около 300 000 световых лет. Существовала даже теория «островной Вселен...

Дерево решений (CART). От теоретических основ до продвинутых техник и реализации с нуля на Python Дерево решений CART (Classification and Regressoin Tree) — алгоритм классификации и регрессии, основанный на бинарном дереве и являющийся фундаментальным компонентом случайного леса и бустингов, которые входят в число самых мощных алгоритмов машинного обучения на сегодняшний...

Используем паттерн Decorator в Bitrix Применять паттерны программирования — хорошая практика. К сожалению, на проектах CMS Bitrix редко встречаются примеры использования. В статье я покажу на примере, как можно использовать паттерн Decorator.А также рассмотрю этот паттерн в целом: его распространенные реали...

Как работает дедупликация данных в потоке Kafka-to-Kafka? Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Мы начали использовать фреймворк Apache Flink, и я решил поделиться на Хабре своим опытом внедрения этой технологии в цикле статей.В предыдущей части «Как исп...

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

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

Добычу гелия-3 собираются начать уже в 2028 году. Кому и зачем это нужно? На днях компания Interlune из Сиэтла сделала интересное заявление: она разрабатывает роботизированный «харвестер» для добычи гелия-3 на Луне. Кроме того, ценный ресурс затем планируется доставить на Землю. В целом, изотоп можно использовать в разных отраслях, но он наиболее ...

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

Логистическая и Softmax-регрессии. Основная идея и реализация с нуля на Python Начнём с более простого. Логистическая регрессия — линейный бинарный классификатор, основанный на применении сигмоидальной функции к линейной комбинации признаков, результатом которого является вероятность принадлежности к определённому классу. Обычно порог устанавливается 0...

Как и зачем мы парсим XML Большинство разработчиков рано или поздно сталкиваются с XML. Этот язык разметки настолько глубоко вошел в нашу жизнь, что сложно представить систему, в которой не используется он сам или его подмножества. Разбор XML - достаточно типовая задача, но даже в ней можно выделить ...

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

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

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

Unity 3D: о чем давно было пора рассказать нашим подросткам Прочитал как‑то на Хабре заметку «Что делать с детьми летом, если ты айтишник?» Ответил на нее двумя своими заметками (раз и два). А теперь предлагаю взглянуть на поднятую тему немного с другой стороны: с точки зрения «борьбы с цифровы...

Как использовать html-элемент <dialog>? Привет, Хабр! Меня зовут Александр Григоренко, я фронтенд-разработчик. В основном, занимаюсь разработкой приложений на React, но также постоянно экспериментирую с различными технологиями.В своей работе я часто создаю собственные или использую уже готовые UI-компоненты. Пробл...

Быстрое нахождение чисел Фибоначчи Описание способа нахождения значения произвольного элемента последовательности Фибоначчи за логарифмическое время. Читать далее

«Ростелеком» подвел итоги реализации проекта УЦН 2.0 в 2023 году Реализация проекта ведется в соответствии с контрактом Минцифры России с «Ростелекомом».

Процессы в РСХБ: взаимодействие с СБП через ЕСПП, App.Farm и различные нюансы импортозамещения Привет, Хабр! Меня зовут Игорь Шестаков. Я занимаюсь тестированием ЕСПП (единая система приема платежей) в Блоке обеспечения и контроля качества выпуска изменения ПО в РСХБ‑Интех. Сегодня обсудим тему выживания в контейнере и ветвистых путей импортозамеще...

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

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

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

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

Micron показала коммерческий модуль ОЗУ LPCAMM2. Достоинства и недостатки новых стандартов оперативной памяти На CES 2024 представлено много интересных устройств и технологий. Одна из них — реализация нового типа памяти ОЗУ, стандарт LPCAMM2. Именно такой модуль представлен компанией Micron. Аналогичные продукты готовят и другие компании. В чём их преимущества и недостатки и какие и...

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

Создание и использование BOM в Gradle В каждой компании (а если она крупная, то, скорее всего, в каждом подразделении) должна быть выстроена культура использования BOM (bill of materials) для управления версиями зависимостей. В этой статье я хочу поделиться своим видением того, как это может быть организовано, а...

Сможет ли IPFS полностью заменить HTTP? Меня зовут Виталий Киреев, я руководитель R&D в SpaceWeb. В начале прошлого года мы внедрили IPFS-технологию в работу своего хостинга, и все наши клиенты получили возможность размещать контент в IPFS-сети. Решились на такой шаг не сразу: IPFS — технология пока еще экспер...

Global Talent visa для IT-ника. Путь с нуля Недавно я завершил свой длинный путь и получил Global Talent visa в Великобританию. О первых выводах я поделился в канале, а сейчас хотелось бы разложить все по полочками и подготовить гайд, который поможет практически любому стать обладателем этой визы.В этой статье я поста...

И это после шести лет развития технологий трассировки лучей? В Diablo IV эффекты на основе ray tracing попросту уничтожают производительность Около недели назад игра Diablo IV получила патч, который добавил ей эффекты на основе трассировки лучей. Оказалось, что это одна из самых требовательных реализаций трассировки на данный момент.  Если точнее, требовательны там тени на основе трассировки, тогда как о...

Внутренняя память ПЛИС, которой всегда не хватает Хотелось бы выделить два основных свойства внутренней памяти ПЛИС:удобство использования (+)ограниченное количество (-)Вот со вторым приходится всегда бороться, особенно если есть необходимость буферизации каких-то данных в достаточном количестве.В этой статье мы рассмотрим ...

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

[Перевод] Потенциальные проблемы с автоинкрементным ключом. MySQL <8.0, PostgreSQL В данной публикации я поделюсь двумя основными причинами, по которым я предпочитаю избегать использования автоинкрементных полей в PostgreSQL и MySQL в будущих проектах. Вместо этого я предпочитаю использовать UUID-поля, за исключением случаев, когда есть очень веские аргуме...

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

Что такое архитектура приложений MACH и есть ли там технологический прорыв — кроме пиара и маркетинга Вы наверняка слышали термин «MACH-архитектура», которая включает в себя Микросервисы, API-First дизайн, Cloud-Native инфраструктуру и Headless фронтенд. На Хабре тема MACH архитектуры практически не поднимается ввиду как сложности полной реализации и того факта, что MACH обы...

Разработка цифровой аппаратуры нетрадиционным методом: Yosys, SpinalHDL, VexRiscv (ч. 2) Это вторая и заключительная часть большой статьи. Ознакомиться с первой частью можно по ссылке. Основная прелесть использования ПЛИС, на мой взгляд, состоит в том, что разработка аппаратуры превращается в программирование со всеми его свойствами: написание и отладка кода...

4 стихии программной документации: The Grand Unified Theory of Documentation В статье я хочу рассказать об одной интересной теории разработки документации на системы и программы. Её авторы утверждают, что создали ни много ни мало «Великую Единую Теорию Документации». В теории изложены идеи и правила, которые часто встречаются в разных методиках разра...

4 стихии программной документации: The Grand Unified Theory of Documentation В статье я хочу рассказать об одной интересной теории разработки документации на системы и программы. Её авторы утверждают, что создали ни много ни мало «Великую Единую Теорию Документации». В теории изложены идеи и правила, которые часто встречаются в разных методиках разра...

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

Anytype вместо Notion Да, N это очень круто, не спорю, но однажды у меня в N закончилось место в 1000 блоков (в A пространство так же ограничено 1Гб, но об этом позже) и дальше заметки вести невозможно, и N предлагает апгрейд Читать далее

Настройка NVMe over TCP — для тех, кому надо подключить больше 1 диска единственной конфигурации из всех примеров в Сети Технология NVMe через различные фабрики (далее NVMeOF) оформлена в качестве стандарта летом 2016 года, она была встроена в пятую ветку ядра Linux.Поэтому, когда было решено мигрировать объемные базы данных с легаси-решений на общедоступные платформы, возник вопрос — можно ли...

[Перевод] Как работает async/await в Swift Функция async/await в Swift появилась в iOS 15, и я полагаю, что на данный момент вы уже знаете, как ее использовать. Но задумывались ли вы когда-нибудь о том, как работает async/await изнутри? Или, может быть, почему выглядит и ведет себя именно так? Или даже почему вообще ...

Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 4. Расширения, обобщения и методы В прошлой части мы научились определять собственные типы и модули. Мы облекли все достопримечательности в конкретные типы и теперь можем снабдить их индивидуальными свойствами-ребрами (см. рисунок ниже).В этой части речь в первую очередь пойдёт про Fluent API, но мы также по...

Территория Большого Взрыва. Как устроена Вселенная и что с ней не так? Привет, Хабр!Рад поделиться с уважаемым сообществом своей любовью к популярной науке, в первую очередь, к космологии. Эта статья открывает небольшую серию, основанную на моём курсе лекций, который я читаю школьникам в летней школе Химера.И котор...

«В каждой игре должен быть свой CJ»: история инструментов для создания модов В прошлой статье мы рассказали, как появились первые моды, и даже проследили взаимосвязь с современными играми на примере серии ARMA и DayZ Standalone. На этот раз погрузимся в тему глубже: обсудим виды модификаций и историю инструментов, с помощью которых их можно создава...

Разговор с Алексеем Усановым из Positive Technologies о реверс‑инжиниринге и создании книги по этой специализации Это первый материал по «ИТ‑Пикнику», проходившему 2 сентября 2023 года. Будет отдельный обзорный материал мероприятия, а пока хочу представить интервью с руководителем направления исследований безопасности аппаратных решений компании Positive Technologies...

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

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

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

Андрей Аксёнов, создатель Sphinx и лауреат Highload++: Мой путь — это «святые» девяностые и алгоритмический джихад Андрей Аксёнов нередко начинает свои доклады с такой самопрезентации: «воронежское быдло, интересуюсь информационным поиском». Правда, в Воронеже он уже давно не проживает, но информационный поиск по-прежнему в топе списка его интересов. Работает Андрей тимлидом в компании A...

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

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

Road Run, или как я свою первую игру делал. Часть 3 Вторая часть была о том, как быстро создавать текстуры для окружающей игрока обстановки, не имея при этом навыков в изобразительном искусстве. В этой части уместно будет поведать о премудростях создания трёхмерных моделей. Читать далее

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

Шпаргалка для алгособеса 2 — графовые и строковые алгоритмы Привет, Хабр!В наше неспокойное время, когда сфера AI стремительно движется вперёд, хочется немного стабильности и уверенности в завтрашнем дне. Как это связано с темой статьи?Самым прямым образом — алгоритмы прокачивают умение системно мыслить, искать нестандартные пути реш...

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

Детекция дефектов дорожного покрытия без размеченных данных: Хакатон, LiDAR, RANSAC, ICP и 44 бесcонных часов Здравствуйте, читатели Хабра! Решил активнее вкатываться в DS (хотя уже больше года в "теме" и даже нет ни одной публикации, ужас) и написать первую статью на Хабре.В данной публикации я расскажу о проекте для детекции дефектов дорожного покрытия с использованием лидара, про...

Реализация слоев в NN (часть 1) Не приходил ли вам когда-нибудь в голову вопрос о том, как устроены слои нейронных сетей под капотом? Задумавшись над этим вопросом, я перерыл интернет в поисках полноценной реализации слоёв, но находил лишь отдельные куски кода или слишком упрощенные примеры, где чаще всего...

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

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

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

Глубокий JS. В память о типах и данных Всех нас учили, что в JavaScript есть примитивные и ссылочные типы данных. Исчерпывающая информация есть в официальной документации, а на просторах интернета полно статей на этот счет.Теория теорией, однако, JS-код исполняется не в теории, а на практике. Точнее, его компилир...

[Перевод] Осваиваем модуляризацию: Руководство для начинающих по организации сложных программных систем ⚡ Tl;dr Модуляризация — это метод разделения сложных систем на более мелкие удобоваримые части для лучшего управления и восприятия. Она повышает эффективность, надежность и ремонтопригодность программных проектов за счет организации кода в модули. Она снижает когнитивную на...

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

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

Симуляция высокоскоростных приёмопередатчиков с динамической реконфигурацией для ПЛИС Intel серии IV. Практика В прошлой статье мы описали и подготовили всё, что необходимо для сборки TestBench. В этой статье мы переходим от теории к практике. Читать далее

Бесплатные векторные карты на своём хостинге Векторные карты Protomaps на базе OSM Каждый веб-разработчик знает о OpenStreetMap (OSM), свободной альтернативе Google Maps. Несмотря на всеобщую известность OSM, у некоторых всё-таки возникают вопросы: как сделать веб-карту с открытыми данными OSM, как самостоятельно пуб...

[Перевод] Города в киберпространстве: образ города и разработка ПО Уже почти 200 лет урбанисты проектируют города с учетом потребностей людей. UI/UX дизайнерам есть чему у них научиться.Эта статья — вторая часть моего исследования связи между городами, теорией градостроительства, современными практиками разработки цифровых продуктов и польз...

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

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

«Трудности перевода»: как ChatGPT справился с задачей адаптации сложных текстов Привет, Хабр! Меня зовут Сергей Кулабухов, я занимаюсь внедрением ИИ в бизнес-процессы компании Fix Price. С появлением моделей обработки естественного языка (natural language processing) изменился и подход к реализации подобных задач. Теперь мы не программируем и не обучаем...

Опыт участия в Epic MegaJam: 7 дней творения Я «обычный» энтерпрайз программист, но недавно попробовал силы в Epic Mega Jam 2023. Опыт получился яркий, эмоциональный. Сразу захотелось поделиться. Вероятно, профессионал прочитает статью с рукой у лица, если вообще будет читать. Но текст больше для тех из нас, кто занят ...

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

Стекинг и блендинг в ML. Ключевые особенности и реализация с нуля на Python Среди всех методов ансамблирования особое внимание заслуживают две очень мощные техники, известные как стекинг (stacked generalization) и блендинг, особенность которых заключается в возможности использования прогнозов не только однородных, но и сразу нескольки...

Четвёртое наблюдение о командной строке и путях в файловой системе В недавно опубликованной статье «Три наблюдения о командной строке и путях в файловой системе» были рассмотрены некоторые особенности интерпретации командной строки оболочками в операционных системах Windows и Linux. Первое наблюдение было о том, что командные оболочки SH/BA...

Go 1.22: Rangefunc Experiment Разработчики Go в версии 1.22 добавили предварительную экспериментальную реализацию итераторов на уровне языка. Читать далее

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

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

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

Выгорание на работе: что это такое и по каким причинам происходит Привет, Хабр! Меня зовут Даниил Старосек, я работаю аналитиком на проекте «Единое фронтальное решение» (ЕФР) в Россельхозбанке. В прошлый раз я рассказал о работе в условиях the roof is on fire на испытательном сроке: проект и сроки горят, старший коллега в отпуске, а ты в к...

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

Линейный дискриминантный анализ (LDA). Принцип работы и реализация с нуля на Python Линейный дискриминантный анализ (Linear Discriminant Analysis или LDA) — алгоритм классификации и понижения размерности, позволяющий производить разделение классов наилучшим образом. Основная идея LDA заключается в предположении о многомерном нормальном распределении признак...

Дружим FreeBSD и HomeAssistant Привет, Хабр!Многие из вас наверное слышали о Home Assistant (далее HA) - система домашней автоматизации с открытым исходным кодом, которая прекрасно работает на различных аппаратных решениях и поддерживает операционные систем Linux, macOS, Windows. К сожалению, в списке под...

Xinhua Silk Road: Ляньюньган запускает кампанию в СМИ для освещения успешных результатов реализации BRI В этом году предложенная Китаем инициатива «Пояс и путь» (BRI) отмечает 10-летний юбилей. Город Ляньюньган в провинции Цзянсу на востоке Китая запустил в этом году кампанию в СМИ под девизом «Новая эра, новый двигатель, новое путешествие на Запад», чтобы продемонстрировать с...

[Перевод] Синглтоны в Java В этом кратком руководстве мы рассмотрим два наиболее популярных способа реализации синглтонов в Java. Читать далее

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

Нагрузи меня, Gatling Привет. Это статья-туториал про выбор технологии и реализацию проекта нагрузочных тестов для API REST микросервисов. Про себя и специфику продукта, над которым работаю, я подробно описывал тут, когда рассказывал о интеграционных тестах. Здесь этому уделять внимание не буду. ...

Для ARPG Sipher Odyssey проходит предрегистрация Студия Ather Labs Inc. собирается выпустить мобильную игру Sipher Odyssey. Пока что можно пройти предрегистрацию в App Store и Google Play, но не во всех странах — из России нельзя, но можно в США, Индонезии, Индии, Бразилии и ряде других стран. Релиз намечен на 8 марта, есл...

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

Ждём Cyberpunk 2077 на смартфонах? Qualcomm и Samsung собираются использовать технологию апскейла AMD FSR Технология суперсемплинга AMD FSR, как известно, является открытой и поддерживается условно любым GPU. Как сообщается, FSR в обозримом будущем может появиться и на смартфонах.  Инсайдер Revegnus говорит, что Samsung и Qualcomm решили сотрудничать с AMD для реализа...

Как мы разрабатываем игры для Pixel Quest, публикуем исходники и делимся частью выручки Полгода назад я писал про наш путь к открытию первой пиксельной игровой Pixel Quest: путь от прототипа до первого игрового заведения. Сегодня хочу рассказать, как мы решили проблему разработки игр путём перехода с Go на Lua и публикации исходников, а также о планах делиться ...

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

Проектный менеджмент. Новогодние тезисы Немного вступления (не самореклама): в далёком 2003 году я пришёл работать юным программистом в бухгалтерию, пришлось изучать матчасть области в которой нужно кодить и спустя 2 бухгалтерия поглотила меня. Минуло лет 15, я уже успел вырваться из лап бух.учёта, вызывает меня к...

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

Мечтают ли нейроовцы о генеративных трубах? Кратко о PCG в контексте игровой индустрии Привет, Хабр! Меня зовут Владимир Садовский и я трудоголик (вялые аплодисменты) работаю программистом инструментария в Nau Engine. А ещё — обожаю игры. С детства. Компьютер у меня появился, когда мне было восемь. Предполагалось, что для учебы, но на глаза мне попалась Carmag...

Путевые заметки с выставки GITEX, или Хайп на AI: о выставке в Дубае В конце октября в Дубае прошла выставка GITEX-2023. Её посетило вдвое больше людей, чем крупнейшую европейскую — Hannover Messe. На GITEX было не только разнообразное технологичное, но и странное: специфический маркетинг, множество «пустышек», а иногда и попросту «обманок»...

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

Простой и сложный Always On VPN от Microsoft. Опыт внедрения VPN обеспечивает доступ удаленных пользователей в корпоративную сеть. Решений много, но выбор оптимального не всегда очевиден. В данной статье хотел бы поделиться опытом внедрения и использования такого продуктового решении как Always On VPN от компании Microsoft. Подчеркну,...

Взгляд изнутри. Информационные системы российских компаний глазами пентестера: аналитический обзор итогов 2023 года — У нас дыра в безопасности. — Слава богу, хоть что‑то у нас в безопасности...Информационные технологии развиваются семимильными шагами, но одно остается стабильным – наличие «дыр в безопасности». Мы проанализировали результаты более 100 прошлогодних пр...

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

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

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

Шаблонизируй это или Как ускорить разработку при помощи одного документа Привет! На связи лид команды аналитиков Magnus Tech Владислава Никитина.В заказной разработке каждый проект начинается со сбора бизнес-требований к будущей системе. Это важный этап, ведь именно здесь определяются контуры задач, которыми займутся разработчики. И с ним связан ...

File upload на React.js шаг за шагом В этой статье напишем компонент для загрузки файлов на сервер, который поддерживает: - Индикатор загрузки - Прерывание отправки - Drag and dropВ нашей конкретной реализации этот компонент будет оберткой и сам не будет отображать файлы, но, я надеюсь, приемы из этой статьи по...

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

Автоматизация тестирования ОС Ключ к качественному и постоянному тестированию - атоматизация, которая позволяет проводить тесты множество раз за день одновременно на нескольких устройствах с разными процессорами и архитектурами.Для реализации этой автоматизации мы используем несколько Jenkins Declarative...

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

Пакет context в Go: взгляд профессионала А вы часто читаете реализацию стандартной библиотеки своего любимого языка?..Меня зовут Константин Соколов, и мы с Сергеем Мачульскисом, моим коллегой из бэкенд-разработки в Positive Technologies, хотим с вами поделиться вдохновением. Давайте вместе посмотрим на пакет contex...

В России представлен Xgimi Horizon Ultra – первый в мире длиннофокусный проектор 4К с технологией Dual Light и поддержкой Dolby Vision Xgimi представляет на российском рынке новый длиннофокусный проектор Xgimi Horizon Ultra с разрешением 4К, технологией Dolby Vision и аудиосистемой Harman Kardon. В новом проекторе впервые используется технология Dual Light, которая объединяет в себе два источника света...

Zabbix, PostgreSQL и pg_stat_statements Я хочу поделиться своим опытом использования Zabbix для анализа проблем с производительностью PostgreSQL, используя расширение pg_stat_statements. Читать далее

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

Теория сложности Привет, Хабр!Теория сложности представляет собой концепцию о том, что сложные системы — это не просто совокупность частей, но скорее сеть взаимодействий, которые порождают новые, часто непредсказуемые явления.Формулы, используемые в теории сложности, часто связаны с вычисли...

OpenAI GPTs: пошаговое руководство для создания с практическими примерами, ACTIONS и внешние API Я часто использую ChatGPT в повседневных задачах. Он реально помогает в обучении, разработке и решении небольших проблем, которые легко описать. Но с другой стороны бывает сложно дать ему нужный контекст, чтобы он начал делать то, что нужно вам, а не выдавал ложь за действит...

Полиномиальные корневые методы синтеза САУ ч.1 Ленонид Маркович Скворцов. Широко известный в узких кругах математик, профессионально занимающийся математическами проблемами автоматического управления. Например, его авторские методы использованы в SimInTech. Данный текст первая часть работы, которая еще готовится к публи...

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

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

Насколько быстрым оказался новый iPad Pro? Появились результаты первых тестов Новейший планшет iPad Pro от Apple стал первым в мире устройством, оснащенным однокристальной системой Apple M4. Теперь устройство появилось в базе данных Geekbench. На соответствующей странице показано, что одноядерный результат iPad Pro M4 составляет 3767, а многоядер...

Когда мобильная сеть недоступна: зачем запускают звонки через интернет Технология VoWiFi позволяет совершать звонки по номеру телефона вне зоны действия мобильной сети, используя Wi-Fi. Сегодня мы решили обсудить актуальность такого сервиса и ключевые способы его настройки: от OTT и UMA до недоверенного доступа к ePDG. Также рассмотрим перспект...

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

[recovery mode] Знакомство с IPv6 на практике В 2023 году люди боятся многих новых для них вещей, например, systemd, SELinux, IPv6 и др. От этих вещей люди стараются избавиться, отключить, удалить. Об этом написано во множестве любительских мануалов в интернете, коим может являться и этот. Далее речь пойдёт о протоколе ...

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

Атипичный тимлид. Начало пути Всем привет!Хотел бы поделиться некоторым количеством мыслей и выводов, которые я сделал, работая на такой непростой должности, как teamlead команды разработки. Вообще, мой путь в ИТ начинался довольно спонтанно и я бы даже сказал, странно. Читать далее

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

[Перевод] Реализация Graceful Shutdown в Go Изящное завершение работы (Graceful Shutdown) важно для любого длительного процесса, особенно для того, который обрабатывает состояние. Например, что если вы хотите завершить работу базы данных, поддерживающей ваше приложение, а процесс db не сбрасывает текущее состояние на ...

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

Автоматический выпуск SSL-сертификатов. Используем Kubernetes и FreeIPA Недавно стал использовать новый способ получения SSL-сертификатов. Сохранил небольшую шпаргалку для себя, чтобы каждый раз не вспоминать шаги, команды и вот это вот всё. Потом решил, что такая инструкция может пригодиться кому-то еще. Читать далее

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

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

Глубина кроличьей норы: бинарная граница и ABI C++ Вопрос ABI (Application Binary Interface), бинарной границы и бинарной совместимости в C++, раскрыт на просторах интернета не так хорошо как хотелось бы. Особенно сложно в его изучении приходится новичкам, потому что эта тема связана со множеством деталей нарочно скрытой от ...

Как мы решали вопрос многоязычности в боте Русский или English? Что для бота хорошо, то разработчику работа :)ВведениеВ этой статье я поделюсь своим опытом реализации многоязычности в телеграм-боте, World for Life Bot расскажу о принципах выбора языков, которыми я руководствовался, технических аспектах реализации и ...

Метод главных компонент (PCA). Принцип работы и реализация с нуля на Python Метод главных компонент (Principal Component Analysis или же PCA) — алгоритм обучения без учителя, используемый для понижения размерности и выявления наиболее информативных признаков в данных. Его суть заключается в предположении о линейности отношений данных и их проекции н...

[Перевод] История разработки игры «Тетрис»: каким может быть подарок на Новый год или Рождество? От лица beeline cloud поздравляем всех читателей Хабра с Новым годом! Подготовили для вас статью про необычный подарок. Будем рады, если вы в комментариях поделитесь своими историями и расскажете, какие интересные технологичные презенты вам доводилось дарить или получать в к...

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

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

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

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

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

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

Как взломать банк? (или разбор Payment Village на StandOff 11) Егор Филатов, младший аналитик отдела анализа защищенности Angara Security, подготовил разбор двух недопустимых событий в банковской сфере, которые могли бы нанести серьезный урон бизнесу... Но на практике это моделирование кибератаки через мобильное приложение, которое полу...

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

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

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

Аутентификация go с использованием токенов PASETO В этой статье мы напишем небольшой сервис аутентификации на go с использованием токенов PASETO. Этот токен можно использовать вместо JWT для процесса аутентификации. Если хотите узнать о PASETO подробнее, то можете почитать статьи на Хабре или гитхабе. Читать далее

Архитектура, планирование и реализация DMA в микроконтроллерах Synergy Здесь мы продолжаем развитие платформы нашего ПЛК под названием PLCS7 на базе модуля с микроконтроллером семейства Synergy S7FS2. В этом ПЛК ввод-вывод в основном выполняется через микросхемы расширители IO с последовательными каналами связи. Программный байтовый обмен с та...

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

[Перевод] Сравнение технологий WebSockets, Server-Sent-Events, Long-Polling, WebRTC и WebTransport При работе с современными веб-приложениями реального времени незаменима возможность отправлять события с сервера на клиент. Именно этой необходимостью продиктовано то, что за годы работы было изобретено несколько методов для этой цели, каждый с собственным набором достоинств...

«К2 Кибербезопасность», Positive Technologies и Anti-Malware.ru представили совместное исследование о выполнении 187-ФЗ В Музее криптографии в Москве 12 октября 2023 года прошла презентация совместного исследования подразделения «К2 Кибербезопасность», компании Positive Technologies и портала Anti‑Malware.ru, посвящённого реализации 187-ФЗ «О безопасности критической ...

Недельный геймдев: #157 — 21 января, 2024 Из новостей: мобильный Cascadeur, продажи Palworld превысили миллион копий за восемь часов с релиза и онлайн в Steam превысил миллион игроков, War Robots вернулась в Китай, Piranha Bytes на грани закрытия, GPU Reshape, за последний год треть раз...

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

Event Sourcing и CQRS в Go Привет, Хабр!Сегодня мы поговорим о двух концепциях — Event Sourcing и CQRS, и их реализации на языке Go. Go предоставляет хорошие возможности для реализации этих паттернов благодаря своей производительности, простоте и поддержке конкурентности «из коробки». Читать далее

Немедленно в печать! Настоящее и будущее аддитивных технологий Первая волна массового использования 3D–принтеров захлестнула мир чуть больше 10 лет назад. Поначалу технологию воспринимали как выставочную, однако уже в 2016 году она доказала свою состоятельность. Оборудование стоимостью менее 1000$ стало доступным для рядовых покупателей...

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

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

Простой пример ИИ для управления роботом. TensorFlow + Node Js Немного слов обо мне: мое хобби это робототехника. На данный момент экспериментирую с шагающим роботом на базе SunFounder PiCrawler. Последнее время тема искусственного интеллекта (ИИ) приобретает все большую популярность. Причиной этому служит в том числе совершенствование ...

NVIDIA представила новый фильтр Freestyle для HDR-контента Сегодня компания NVIDIA официально представила совершенно новый фильтр под названием Freestyle, работающий на базе искусственного интеллекта, который направлен на автоматическую реализацию HDR во множестве игр, поддерживающих только SDR-режим и работающих на DirectX 9, Direc...

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

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

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

FromSoftware расширяется за счет множества новых проектов FromSoftware расширяется для реализации нескольких новых игровых проектов

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

Распознавание алфавита глухонемых с помощью нейронной сети Сама тема сурдоперевода мне близка, т.к. я сам на нем немного разговариваю на пальцах. Поэтому темой диплома я выбрал – компьютерное зрение и алфавит глухонемых.Первоначальная задумка была yolov5 + сверточная сеть. Некоторые буквы алфавита динамические, например «б...

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

Libre/OpenPGP vs OpenSSH/age Я использую GnuPG (реализацию OpenPGP и LibrePGP) каждый день на протяжении более чем десяти лет. У меня накопилось почти две сотни публичных ключей разных людей с которыми я общался и общаюсь по почте. Почти три сотни публичных ключей для проверки дистрибутивов операционных...

Как обойти лимит Telegram API для групп свыше 10,000 участников Здравствуйте! Если вы когда-либо пытались извлечь данные пользователей из крупных телеграм-групп и каналов, вы наверняка знаете о технических сложностях, которые могут возникнуть. В рамках нашего проекта — платформы для спикеров и коучей — мы столкнулись с необходимостью эф...

Django + React. Авторизация с помощью сессий между разными источниками Всем здравия! Сегодня будет рассмотрена авторизация с помощью сессий между Django и React, которые находятся на разных доменах, т.е случай "cross-origin". Я в двух словах донесу принцип работы, причины появления концепций и технологий описанных здесь, оставлю ссылки на более...

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

One-on-one. Девлог. Карта со сложным кастомным эффектом На этой неделе продолжил (и пока что закончил) рефакторинг. За счет этого быстро добавил карту, на реализацию которой раньше ушла бы куча времени. Читать далее

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

Spring Security 6. Авторизация и аутентификация на основе Базы данных Привет. Меня зовут Кирилл, я Java-разработчик. Несмотря на то, что уже год я работаю в компании, по прежнему стараюсь находить время для собственных проектов, с помощью которых осваиваю интересующие меня технологии и подходы. Именно на таком проекте я решил разобраться, как ...

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

Недельный геймдев: #158 — 28 января, 2024 Из новостей: Microsoft уволит 1900 сотрудников игрового подразделения, появился игровой акселератор Narwhal, Apple вводит Run‑Time Fee, топ‑менеджеры спрогнозировали спад в индустрии.Из интересностей: подробности разработки Palworld, 13 лет работы над одн...

Метод быстрого марша (Fast Marching Method) Пример реализации метода быстрого марша(Fast Marching Method) для создания полей расстояний(Distance FIeld) и поиска кратчайшего пути. Читать далее

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

Когда был большой взрыв в виртуальной реальности? История развития VR-технологий Сегодня шлемы Oculus Rift, Kinect, гарнитуры PS-VR и тактильные жилеты не кажутся чем-то фантастическим. Крупные IT-компании вроде Google и Apple уже давно создают устройства дополненной и виртуальной реальности. Почти любой человек может запустить любимую игру и погрузит...

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

Уникальный 3D-музей oVert покажет 13 тысяч животных изнутри Музей Флориды сообщил о завершении формирования первой части цифровой библиотеки oVert, в которой представлены трехмерные изображения 13 тысяч музейных экспонатов. Это различные живые существа: рептилии, птицы, млекопитающие, которых теперь можно увидеть изнутри. Изображения...

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

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

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

Как можно использовать .NET из Javascript (React) в 2023 году Статья показывает опыт использования .NET из JavaScript (React) с помощью компиляции .NET кода в WebAssembly с помощью новых возможностей .NET 7. Включает инструкцию по созданию проекта для .NET для использования из Javascript, и интеграции его в веб-приложение, написанного...

Разработка тензорного компилятора под RISC-V CPU с помощью OpenVINO и MLIR Привет, Хабр! Меня зовут Владислав Виноградов, я инженер группы исследований и разработки ПО глубокого обучения в YADRO. Моя команда создает и оптимизирует связанное с искусственным интеллектом программное обеспечение. Сегодня я расскажу, как можно разработать тензорный комп...

Динамический JIT компилятор C++ Когда-то давно я писал статью-наблюдение про использование Хабра в качестве площадки для архитектурных ревью технических решений практически любой сложности Хабр — ума палата, и продолжаю пользоваться этим способом на постоянной основе. А теперь, похоже, я нашел еще один оч...

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

Создание библиотек и публикация в npm Занимаясь веб-разработкой в it-компании Intelsy на аутсорс- и аутстафф-проектах, я постоянно подключаю и использую библиотеки. Решил собрать воедино всю накопленную информацию по этой теме и поделиться с теми, кому это может быть нужно: с опытными или начинающими разработчик...

Теория химического строения. Ликбез. Часть 1 Приветствую всех айтишников и технарей. Не беспокойтесь, серию про ЯМР я не бросил, и обязательно её закончу. Однако пися пиша готовя очередную статью, посвященную возможностям метода, я столкнулся с тем, что описать и объяснить эти самые возможности можно только человеку, к...

Скрытый потенциал функции inject в Angular Привет! В этой заметке покажу, как можно использовать функцию inject на сто процентов.Обычно ведь как: если функцией inject и пользуются, то только для того, чтобы заменить инжект через конструктор. Удобно, конечно. Но что, если я скажу, что это не всё, на что способна функц...

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

UUIDv7 Седьмая версия UUID (Universally Unique Identifier Version 7, UUID Version 7, UUIDv7) является модифицированной и стандартизованной версией ULID. Проект стандарта (далее стандарт) находится в ожидании окончательной проверки редактором. Но уже имеется большое количество реали...

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

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

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

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

MSI Готовит к релизу уникальный ноутбук Titan 18 HX Только что появилась информация о том, что компания MSI готовится представить свой гигантский игровой ноутбук Titan 18 HX на выставке CES 2024 — с первым в мире дисплеем на технологии MiniLED с 4K и 120 Гц. Да, стоит понимать, что в последнее время стандарт MiniLED в сегмент...

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

Xiaomi 15, 15 Pro и 15 Ultra получат новые сканеры отпечатков пальцев: точнее и безопаснее Xiaomi работает над серией смартфонов Xiaomi 15 для китайского рынка, при этом прототипы уже тестируются. Линейка Xiaomi 15 может дебютировать в октябре. Новая утечка, предоставленная инсайдером Digital Chat Station, предполагает, что вся серия, которая включает в себя ...

[Перевод] Timed wait events in PostgreSQL перевод второй статьи известного специалиста в области Oracle Фрица Хугланда на тему трассировки postgresql при помощи bpftrace (первую статью я перевёл ранее см. Использование bpftrace для трассировки выполнения запросов в postgres) Читать далее

[Перевод] Что я хотел бы знать заранее, когда выкупал себе целую ASN Как вы, возможно, знаете, я сейчас пишу серию статей о BGP и о том, как устроен Интернет. Рассказываю об этом с собственной точки зрения – как оператор небольшой автономной системы, AS200351. Притом, что теоретического материала на эту тему много, предположу, что м...

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

Анимация в веб-интерфейсе Привет, родные!

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

Как с помощью ChatGPT реализовать раскраску во flutter Сегодня мы рассмотрим, как реализовать раскраску для растровых изображений с помощью алгоритма flood fill. Посмотрим, что уже есть на pub.dev, заглянем немного в теорию этого алгоритма, реализуем его на dart с помощью ChatGPT и применим во flutter приложении. Читать далее

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

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

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

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

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

Обработка анимации после бюджетного мокапа для UE4 Мы небольшая студия энтузиастов, основная наша деятельность это создание проектов для местного музея под гарнитуры VR (Oculus Quest 2). В каждый наш новый проект мы стараемся добавлять какую-нибудь фишку. В этом проекте принято было отказаться от Mixamo и создать свой компле...

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

Стилус Apple Pencil 3 сможет вибрировать? Новинке приписывают технологию тактильной обратной связи Уже 7 мая Apple представит новые планшеты, а с ними, вероятно, и новый стилус Apple Pencil 3. Согласно свежим данным, это будет первый стилус компании с тактильной обратной связью.  фото: Apple Наличие такой вибрации позволит расширить возможности цифрового пера, ...

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

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

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

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

[Перевод] ViewModels в Android: «за» и «против» В этой серии статей мы рассмотрим лучшие практики использования ViewModels в Android с акцентом на основных принципах повышения качества кода. Рассмотрим роль ViewModels в управлении состоянием пользовательского интерфейса и бизнес-логикой, стратегии для ленивого внедрения з...

Это не жадность Apple, просто у компании не получилось. Купертинский гигант три года работал над реализацией совместимости Apple Watch с Android Как известно, умные часы Apple не работают со смартфонами под управлением Android. Можно было бы подумать, что Apple сделала это специально, но компания как минимум пыталась реализовать совместимость.  создано DALL-E В рамках своего ответа на иск Министерства юсти...

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

[Перевод] Баг памяти Windows, которому не менее восьми лет Память — достаточно дефицитный ресурс для многих компьютеров потребительского уровня, поэтому логично создать функцию, ограничивающую объём используемой процессом памяти; и Microsoft действительно реализовала такую функцию. Однако:Компания её не задокументировала (!)Её реали...

Домашний сервер GameDev разработчика. Где найти железо? Всем привет, меня зовут Иван, я программист C++ в области GameDev'а и в момент написания статьи специализируюсь на Unreal Engine.Тема домашних серверов, конечно, не нова, но у всех есть свои требования и подход к решению этой задачи. Вот и я после успешного запуска подобного...

Миссия Polaris Dawn совместно со SpaceX всё ближе и ближе к запуску Polaris Dawn – это амбициозная частная космическая миссия, организованная и финансируемая известным предпринимателем и генеральным директором Shift4, Джаредом Иссакманом. Иссакман уже оставил свой след в космосе, приняв участие в миссии Inspiration4 в 20...

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

Стек протоколов BLE 5 -физический уровень Физический уровень - это нижний уровень стека протоколов BLE, который определяет основные радиочастотные параметры связи BLE, включая частоту сигнала, схему модуляции и т.д.Рабочая частота BLE составляет 2,4 ГГц. Он использует частотную модуляцию GFSK и использует механизм с...

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

Теория игр за 15 минут Многие из вас, я уверен, слышали о теории игр в какой-то момент своей жизни. Если вы хотите выглядеть умным и произвести впечатление на свою девушку — просто упомяните «игру с нулевой суммой» или «эволюционную стратегию», и ваши шансы отвести её домой сегодня вечером только ...

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

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

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

Развитие RISC-V & мультиклеточная архитектура Рост популярности RISC-V с момента его появления в 2010 году позволяет говорить, что архитектура состоялась.Пока успех архитектуры RISC-V — это, в первую очередь, ее открытость. Все остальные факторы вторичны. Минимализм системы команд, ее стандартизация, программная инфраст...

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

Немного про OR в SQL запросах Несмотря на избитость темы и многочисленные рекомендации избегать OR в выражениях WHERE/ON SQL запросов, жизнь вносит свои коррективы. Иногда сама постановка задачи подразумевает необходимость использовать OR. Я не собираюсь здесь рассматривать простые случаи, а сразу возьму...

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

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

Super Mario 64: как Марио завоевал трехмерный мир Super Mario 64 стала революционной игрой для Nintendo, представив Марио в трехмерном мире с новым уровнем управления и взаимодействия, которая и по сей день остается важной частью игровой культуры.

DIY: Ваше собственное облако на базе Kubernetes (часть 2) Продолжаем серию постов про то как построить своё собственное облако в экосистеме Kubernetes. В прошлой статье мы разобрали как можно подготовить базовый дистрибутив Kubernetes на базе Talos Linux и Flux CD. Теперь нам предстоит обсудить возможность запуска виртуальных машин...

«Подземные камни» А/Б-тестирования в e-commerce Любой полезный бизнесу продукт меняется со временем: появляются новые функции, улучшаются старые. Возникает потребность оценить влияние таких изменений на пользователей продукта. Необходимо проверить, нет ли ошибок в реализации новой функциональности и справляется ли она с п...

REST API vs GraphQL: в чём между ними разница Сегодня в среде разработчиков часто продвигают GraphQL в качестве замены REST, хотя обе технологии можно использовать одновременно. В этой статье Екатерина Саяпина, Product Owner личного кабинета платформы МТС Exolve (входит в экосистему МТС), рассмотрит интерфейсы подробнее...

Передача и обработка IAsyncEnumerable в Typescript с ASP.NET Core Web Всем привет, Меня зовут Олег и я .NET разработчик в компании Bimeister. Я хотел поделиться своим интересным опытом по связи проекта на ASP.NET Core Web App с использованием IAsyncEnumerable коллекций и современного фронт-енд SPA приложения на Typescript.и Vue.js 3 версии.Все...

Геймплейный трейлер Senua’s Saga: Hellblade II поражает лицевыми анимациями Senua’s Saga: Hellblade II — приключение от третьего лица про девушку, которая сражается с монстрами и своими страхами. Стоит ожидать море заскриптованных сцен, коридорных и красивых локаций. В ходе The Game Awards 2023 разработчики из студии Ninja Theory показали новый тре...

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

Польза ИT-систем в работе ИБ-аналитика Это вторая статья из цикла «Взаимодействие ИТ и ИБ». Первую статью можно прочитать здесь. Зачем ИБ-шникам ИТ-системы?Нередко при работе с инцидентами аналитику приходится сталкиваться с таким страшным зверем, как обогащение и поиск дополнительной информации. Любые ул...

Об эффективном использовании заметок на примерах из работы и личной жизни Личная жизнь – штука сложная, работа – ещё сложнее. В условиях поистине огромной кучи «контекстов» не забывать даже самые важные вещи бывает непросто, а делать то, что надо и когда надо – порой просто невозможно. Нерешаемая задача? Отнюдь. Всё уже на самом деле давно изобрет...

Древовидные структуры в SQL в одну таблицу Как реализовать хранение и работу каталога папок в PostgreSQL? Есть большое количество вариантов. Но хочется, чтобы реализация выглядела лаконично, не нарушала прозрачность выполняемых операций, не вызывала блокировок, не требовала большого вовлечения клиента в специфик...

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

Виды кинематики в FDM 3D принтерах Здравствуйте! С вами LIDER-3D!В данной статье рассмотрим виды кинематики, используемые в FDM 3D принтерах. FDM технология является одной из наиболее популярных в сфере 3D печати благодаря своей доступности, простоте использования и возможности работы с широким спектром матер...

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

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

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

Основы Identity and Access Management (IAM) в архитектуре приложений Привет, Хабр!С каждым годом мы становимся свидетелями все большего количества сбоев в системах безопасности, утечек данных и хакерских атак даже на самые маленькие проекты.Identity and Access Management (IAM) выступает как наша первая линия обороны. Оно не просто защищает на...

Градиентный бустинг. Реализация с нуля на Python и разбор особенностей его модификаций (XGBoost, CatBoost, LightGBM) На сегодняшний день градиентный бустинг (gradient boosting machine) является одним из основных production-решений при работе с табличными, неоднородными данными, поскольку обладает высокой производительностью и точностью, а если быть точнее, то его модификации, речь о которы...

Принесите, пожалуйста, кота Я сначала хотел написать историю про трех черепашек и вестник Перди-Закаменной, но вместо этого мне попалась на глаза реклама вебинара “vStack SPP: решение для построения облачного бизнеса”. Пока я писал к вебинару комментарий, заметка про семинар уехала в черновики. Но не п...

«Ростелеком»: платформа self-service по модели франшизы Дмитрий Тарасов, директор центра разработки аналитических решений «Ростелеком Корпоративные Системы», – о реализации проекта Self-Service Analytics Platform, в результате которого удалось создать платформу для работы с данными, которую можно быстро и без серьезных затрат раз...

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

TypeScript: операции Union и Intersection в свете теории множеств Недавно мне задали вопрос «почему пересечение в TS работает не как в теории множеств, а совсем наоборот?» Озадачился, задумался и стал разбираться, как согласуются, и согласуются ли вообще операции «объединение» и «пересечение» в TypeS...

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

Как мы делаем свой DBaaS Сейчас мы, в Postgres Professional, разрабатываем новый интересный продукт — DataBase as a Service, и в этой статье хочется немного рассказать о наших успехах, узнать ваше мнение и послушать возможные пожелания.  Читать далее

Играем в крестики-нолики c RPN калькулятором Когда я разбирался с программируемыми калькуляторами, то думал, как бы элегантнее протестировать функциональность устройства. Один из известных способов проверки – это реализация какой-либо игры. Игр для калькуляторов, как на просторах бывшего СССР, так и за рубежом громад...

И термометр, и пульсоксиметр, и стетоскоп, и электрокардиограф в одном маленьком устройстве. Представлен мультископ Withings BeamO Компания Withings привезла на CES 2024 необычное устройство под названием BeamO.   Если просто на него посмотреть, то сложно догадаться, для чего оно предназначено. Между тем, это весьма полезное устройство, сочетающее в себе сразу несколько функций. Это и термоме...

Беспроводной роутер TCL LinkHub HH63V1 со встроенным модемом LTE Cat6 TCL LinkHub HH63V1 представляет собой современную модель для реализации подключения небольшой локальной сети к интернету через сотовых операторов. В нем реализован модем LTE Cat6, есть гигабитные проводные порты и Wi-Fi класса AC1200. В тестах устройство показало соответству...

[Перевод] Функции ранжирования: RANK, DENSE_RANK, and NTILE В предыдущей статье обсуждалась функция ROW_NUMBER. Сейчас же мы рассмотрим другие функции ранжирования: RANK, DENSE_RANK и NTILE. Начнем с RANK и DENSE_RANK. Эти функции по функциональности и реализации аналогичны ROW_NUMBER. Разница в том, что ROW_NUMBER присваивает уникал...

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

[Перевод] Как в git работает HEAD Недавно я провела в Mastodon опрос о том, насколько мои читатели уверены в том, что они хорошо понимают работу HEAD в Git. Результаты (на основании примерно 1700 голосов) меня немного удивили:10% — 100%36% — достаточно сильно уверен39% — уверен в некоторой степени15% — предс...

Программируем в браузерном моде для Scratch 3 на JavaScript Для преодоления ограничений функциональности блоков мы воспользуемся модом Sheeptester для Scratch, который позволяет подключать внешние расширения, написанные на JavaScript. Хорошей новостью является то, что писать такие расширения несложно даже в случае обладания минималь...

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

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

Разобраться раз и навсегда: Task.WhenAll или Parallel.ForEachAsync в C# Все хотят писать код, который работает быстро. Часто мы сидим, просматривая написанные алгоритмы и пытаясь понять, что можно сделать, чтобы настроить их производительность. В таком случае часто прибегают к параллельному выполнению задач. Конечно, если можно выполнять зада...

Data Scientist in Helsinki. Мое небольшое исследование про поиск работы в Финляндии в 2024 году Превью фото сделано мной зимой 2022 года в Вуосаари - зимняя природа в Финляндии очень живописнаяПривет, хабр! Под катом хотел бы обсудить тему поиска работы в период зимы 2023-2024 года it-специалистом в Финляндии. Про “исследование” я конечно сильно сказал, это скорее...

Реализация многофункционального терминального интерфейса для МК AVR В данной статье речь пойдёт о разработке многофункционального терминального интерфейса для МК (на примере МК Atmega32 и терминала HyperTerminal. Многофункциональность в моём случае будет заключаться в обработке управляющих символов и управляющих последовательностей с целью р...

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

[Перевод] YDB знакомится с TPC-C: раскрываем производительность наших распределенных транзакций В нашем предыдущем посте о производительности YDB, посвященном Yahoo! Cloud Serving Benchmark (YCSB), мы упоминали, что готовим к публикации результаты других бенчмарков. Мы придерживаемся плана и сегодня рады представить вашему вниманию наши первые результаты бенчмарка TPC-...

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

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

[Перевод] Как я ускорил QEMU в 10 раз с помощью небольшого фокуса NixOS широко использует виртуальные машины на базе QEMU для запуска своего набора тестов. Чтобы не генерировать образ диска для каждого теста, тестовый драйвер обычно загружается с помощью ресурса Plan 9 File Protocol (9p) (сервер, реализованный QEMU) для Nix Store, который ...

[Перевод] AFCOM: Бум ИИ стимулирует инновации в проектировании и строительстве ЦОД В своем последнем отчете AFCOM (Association For Computer Operations Management) отмечают, что стремительное развитие искусственного интеллекта и широкое распространение цифровых сервисов стимулируют спрос на инновационные технологии в области проектирования ЦОД. Однако в ход...

Автоматизация создания тестовых данных и загрузки исторических данных в SAP на основе SAP GUI Scripting Привет, Хабр! Меня зовут Василь Хамидуллин, я работаю в ЦК тестирования АСУ ФХД в компании РСХБ‑Интех. Продолжу тему использования SAP для автоматизации подготовки данных. В прошлом материале говорили про LSMW и как данный инструмент можно испол...

Microsoft объединит технологии масштабирования изображения DLSS, FSR и XeSS в API DirectSR Разработчики больше не будут привязаны к конкретной реализации

Видеоускоритель Intel Arc A580 (8 ГБ): теория и архитектура, описание карты Gunnir, синтетические и игровые тесты, энергоэффективность, выводы Intel Arc A580 (8 ГБ) — третий по уровню игровой производительности видеоускоритель компании Intel для рынка настольных ПК. Он неплохо подходит для игр без RT в разрешении Full HD с максимальным качеством графики (возможно, в ряде игр для полного комфорта придется чуть пониз...

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

Прокси-сервер для Android на Go Реализация простого HTTP CONNECT прокси-сервера на Go, квест с маркировкой сетевых пакетов и запуск программы в Android. Читать далее

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

Смартфон Honor 90: 200-мегапиксельная камера и интересный дизайн Из минусов можно отметить отсутствие защиты от пыли и влаги, хотя в этой ценовой категории обычно встречается как минимум защита от брызг IP53. И еще звук: почему в такой модели не установили стереодинамики — полная загадка, в этом сегменте уже трудно найти соперников с моно...

Rush Minutes — онлайн-шутер с матчами на 3-5 минут Студия moreeasygame выпустила раннюю версию Rush Minutes. Это мобильная игра, доступная на Android через Google Play США. Пока что количество скачиваний 10+, поэтому в матчах придётся сталкиваться с ботами. Игровой процесс Rush Minutes представляет собой гиперказуальный шут...

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

Mini LED, 65-100 дюймов, 4K, 288 Гц, девять динамиков и сабвуфер. Представлены официальные телевизоры игры Black Myth: Wukong от Hisense Представлены новые Mini LED-телевизоры Hisense E8N Pro, которые, как утверждается, являются официальными телевизорами новой игры Black Myth: Wukong , созданной по мотивам «Путешествия на Запад». Серия E8N Pro включает в себя чип обработки изображения Xinchip...

Африканский Союз активизировал реализацию континентальной зоны свободной торговли AfCFTA Африканским Союзом принимается ряд дополнительных мер для ускорения реализации Соглашения об Африканской континентальной зоне свободной торговли (AfCFTA). Одной из них будет проведение в феврале в Аддис-Абебе (Эфиопия) специального тренинга для послов и дипломатов, аккредито...

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

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

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

Разработчики Fortnite уволили почти тысячу человек Epic Games, известная своими играми Fortnite и движком Unreal Engine, сокращает 16% своего штата, что коснется почти 900 сотрудников. Генеральный директор Тим Суини сообщил об этом в служебной записке, признав, что основной причиной сокращения является чрезмерное расходовани...

[Перевод] Rust — лучший язык для инфраструктуры данных Мир технологий бесконечно цикличен, и за последние несколько лет произошел еще один поворот колеса. Такие проекты, как ScyllaDB и Redpanda, добились успеха, переписав системы с Java (Cassandra и Kafka соответственно) на C++ для повышения производител...

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

Разработка цифровой аппаратуры нетрадиционным методом: Yosys, SpinalHDL, VexRiscv (ч.1) Основная прелесть использования ПЛИС, на мой взгляд, состоит в том, что разработка аппаратуры превращается в программирование со всеми его свойствами: написание и отладка кода как текста на специализированных языках описания аппаратуры (HDL); код распространяется в виде па...

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

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

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

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

Полиномиальные корневые методы синтеза САУ ч.3 (заключение) Леонид Маркович Скворцов. Широко известный в узких кругах математик, профессионально занимающийся математическими проблемами автоматического управления. Например, его авторские методы использованы в SimInTech. Данный текст, еще готовится к публикации. Но с разрешения ав...

От Kubernetes в мечтах к Kubernetes в проде. Часть 4. Хранилище секретов ― HCP Vault В серии статей по теме DevOps мы вместе с Lead DevOps инженером департамента информационных систем ИТМО Михаилом Рыбкиным рассказываем о проверенных инструментах выстраивания инфраструктуры, которыми с недавнего времени пользуемся сами. В предыдущих статьях мы уже рассмотрел...

Apple возобновила переговоры с OpenAI о внедрении их технологий в iOS 18 Компания в настоящий момент ищет партнёра, который помог бы в реализации чат-бота в её гаджеты

EA Skate тестируют на смартфонах — появились первые скриншоты Разработчики игры EA Skate разослали приглашения на бета-тест мобильной версии 13 февраля, как заявляет инсайдер @SargeOP_. Тестирование продлится до 4 марта. Также появились скриншоты от пользователя Reddit. У EA Skate пока что нет оригинального ярлыка, поэтому Electronic A...

Как я научил ChatGPT материться Заголовок не совсем точный. Я не учил ChatGPT материться — она прекрасно умеет это делать и без меня. Одну из её излюбленных фраз: F*ck me sideways with a chainsaw — я впервые услышал именно от ChatGPT.Чтобы раскрыть полный потенциал ChatGPT, нужно лишь обойти фильтры контен...

Графика древности: легендарный Mode 7 Технологический переход в индустрии видеоигр, случившийся в середине 1990-х годов — от пиксельной графики игр прошлых лет к полигональной графике игр чуть менее прошлых лет — произошёл не одномоментно. Ему предшествовала эпоха экспериментов, когда разработчики придумывали р...

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

Первая игра на LeoEcsLite Целью этой статьи является изучение архитектурного паттерна Entity Component Systems на практике. Я подготовил пошаговое руководство по созданию небольшой игры, с помощью которого вы познакомитесь с основными принципами разработки на Ecs. Читать далее

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

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

Локацию из Diablo II воссоздали на движке Unreal Engine 5 Очередным «ремастером» занялся один из фанатов игры Михал Ваврух, который решил показать своё видение небольшой локации 3 акта «Средоточие Ненависти», в которой обитает игровой босс Мефисто. Кроме него ещё парочка противников, но в целом весь этаж отведён для сражения с вл...

«Замена Chrome». Браузер Arc стал доступен для пользователей Windows 11 После нескольких месяцев бета-тестирования The Browser Company наконец выпустила официальную версию браузера Arc 1.0.1 для пользователей Windows 11, которым уже не нужно записываться в список ожидания. Arc в настоящее время поддерживает только Windows 11. Тем, кто испол...

Итоги RecSys 2023: разбор знаковых статей прошедшей конференции. Часть 1 ACM RecSys — международная конференция, на которой эксперты в области рекомендательных систем делятся своими наработками и исследованиями, задавая тренды развития технологий и подходов. Команда ОК изучила статьи конференции RecSys 2023 и сделала разбор наиболее интересных из...

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

Vector.dev: затащили в PoC Привет, Хабр.В одном из проектов, связанных с мониторингом, мы используем Clickhouse, Prometheus, VictoriaMetrics, Grafana, Alertmanager и Vector.dev. Кстати, что общего у всех этих компонентов? Они написаны не на Java – это было одним из требований проекта, но речь ниже пой...

Microsoft DirectSR вскоре появится во множестве игр Месяц назад на конференции разработчиков Game Developers Conference 2024 было представлено новое технологическое решение под названием Microsoft DirectSR. Это своеобразная попытка упростить реализацию методов масштабирования изображения, которая была разработана в сотрудниче...

Ovrdrive USB — флешка для фанатов безопасности, которая имеет подготовленную функцию физического самоуничтожения На краудфандинговой площадке Crowd Supply стартовала кампания по сбору средств на необычный флеш-накопитель Ovrdrive USB. Выделяется он необычной реализацией защиты данных с потенциальной возможностью интеграции технологии самоуничтожения.  Продукт является проект...

NoArchitecture Kotline Compose Статья про основные моменты использования Compose в Android разработке на примере простого приложения. Три таба в одном Activity. Обращение в сеть, парсинг Json. Немного анимации. Приложение сделано на коленке за пару дней. Скорее как вопрос к сообществуTODO: Добавить Clean ...

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

Стоимость проекта eSports Island в Абу-Даби может превысить 1 миллиард долларов ОАЭ приступает к реализации грандиозного проекта eSports Island по строительству игрового острова ​для крупнейших киберсоревнований.​

Как распараллелить тесты с базой данных Представьте проект, в котором уже написано несколько сотен тестов. Каждый тест настраивает базу под себя: добавляет данные, вызывает truncate по окончанию. Хочется запускать тесты параллельно, чтобы ускориться, но если два теста запустить одновременно, они почти наверняка др...

Команда «Kcell» путь к победе на KazHackStan 2023 Привет, Username, в данной статье я хочу рассказать тебе о конференции KazHackStan, которая прошла 13-15 сентября 2023 года. Также, поделиться информацией о некоторых векторах атак на полигоне и подготовке, которая позволила нам - команде "Kcell" - завоевать почетное первое ...

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

Quake II RTX работает со скоростью 1 кадр в секунду с трассировкой лучей на базе процессора Такого результата добился разработчик после реализации поддержки RT драйвером Vulkan для Mesa

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

Once Human: Гайд по нахождению мистического сокровища в Hearst Industries Игроки Once Human жалуются, что они не могут пройти головоломки в локации Hearst Industries, а на нахождение мистического сокровища у них ушло 3 часа. Я решил помочь и подготовил текстовую инструкцию со скриншотами и детальным описанием необходимых действий. Внимание! Пои...

Как тебе такое, Илон Маск? «Прогресс» возобновил работу над проектом сверхтяжелой ракеты для полётов к Луне и Марсу Ракетно-космический центр «Прогресс» (Progress Rocket Space Centre) возобновил работу над проектом сверхтяжелой ракеты для полетов к Луне и Марсу. На данный момент существуют «различные вариации» создания такой ракеты, в том числе на базе первой ...

Дизайн уровней в DOOM 1993: игра, на которой можно учиться Doom – моя первая игра, которую довелось пройти в детстве, и каждый год хочется её пройти заново. Она внесла вклад в профессию дизайнера уровней, где мне довелось работать. В Doom до сих пор используются методы, делающие уровни качественными, интересными, многие запоминающ...

Введение в Apache Flink: осваиваем фреймворк на реальных примерах Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Недавно мы начали использовать фреймворк Apache Flink. Эту технологию выбрали, так как она (в отличие от Apache Spark) относится к true-стримингу и позволяет ...

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

Списки с душой и стилем: Ваш путь к Jetpack Compose С каждым днём всё больше и больше разработчиков присоединяются к использованию Jetpack Compose. Этот рост связан с тем, что фреймворк предлагает ускоренную и упрощённую разработку пользовательского интерфейса (UI). Если ранее вы разрабатывали приложения с...

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

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

Представлен 165-Гц монитор ViewSonic VX2781-4K-Pro-6 Компания ViewSonic пополнила ассортимент геймерских мониторов моделью VX2781-4K-Pro-6, которая первой на рынке сочетает панель Fast IPS с поддержкой технологии 4K IGZO и частотой обновления 165 Гц. Новинка характеризуется 27-дюймовой матрицей с разрешением 3840:2160 пикселей...

Первый экогород в России. Байкальск планируют обеспечивать энергией из геотермальных источников Губернатор Иркутской области Игорь Кобзев рассказал о том, что город Байкальск в будущем могут обеспечивать энергией из геотермальных источников.  создано DALL-E В своём Telegram-канале Кобзев сообщил, что сегодня Роснедра планирует выдать первую лицензию для изуч...

Как создавали игру Neverwinter Nights Вы слышали новость с игрового «Оскара»? Игра Baldur's Gate 3 от Larian Studios взяла приз «Главная игра года» на церемонии The Game Awards 2023. Она обошла такие игры, как Alan Wake II, Marvel’s Spider-Man 2, Resident Evil 4, Super Mario Bros. Wonder и The Legend of Zelda: T...

Nvidia снова наступает на те же грабли? Представлена технология G-Sync Pulsar, но для её реализации мониторы должны иметь специальный чип Nvidia Компания Nvidia представила на CES 2024 новый этап развития технологии G-Sync — G-Sync Pulsar.   Похоже, что под новым именем в целом скрыты «старые» технологии: собственно, сама G-Sync, то есть переменная адаптивная кадровая частота монитора, и U...

Разбираем TLS по байтам. Часть 1: кто такой этот ваш HTTPS? Подключение к сайту бывает защищённым, а бывает нет — это надо знать всем детям. Только мало детей знают, что это значит и как работает. Я, изучая веб-разработку, узнал об HTTP. Разобраться в нём несложно: в каждой статье о протоколе множество наглядных примеров запросов ...

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

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

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

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

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

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

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? С момента выхода первой части статьи из рубрики «сам себе экосистема» прошёл уже практически год! За это время, мы успели с вами реализовать клиенты VK и YouTube, которые работают на Android 2.2+, а также на Windows Phone 8, написать небольшую 2D-игру с нуля весом менее 1М...

Microsoft собирается выпустить конкурента Chrome OS. Что это будет за система? Похоже на то, что облачных операционных систем, которые практически нельзя использовать без подключения к сети, вскоре станет больше. Стало известно о том, что корпорация Microsoft готовит специальную версию Windows 12. Она будет базироваться на браузере Edge, который, в сво...

ASIC и FPGA: сорок лет эволюции Внутри каждого современного телефона несколько микросхем ASIC. Ими наполнены автомобили, стойки в центрах обработки данных, датчики «умного дома», и вообще все электронные устройства. Без чипов ASIC был бы невозможен быстрый интернет, трехмерные игры и ускорители машинного о...

Практическая магия Istio при построении архитектуры крупных микросервисных систем. Часть 1 — функциональная Под Новый Год мы с женой пересматриваем одну популярную магическую сагу — хочется знаете ли в жизни волшебства. В IT волшебства тоже хватает — от танцев с бубнами до самых современных технологий, принцип работы которых проще объяснить тёмной магией. Так, например, бытуе...

В России обнаружили сотни новых популярных Kia и Hyundai примерно по 2 млн рублей В России все еще можно приобрести новые автомобили южнокорейской марки Hyundai, несмотря на уход концерна с российского рынка и прекращение локального производства. Как выяснил портал «Автовзгляд», на складах дилеров скопились внушительные запасы недорогих &...

Первый трейлер Asphalt Legends Unite с датой релиза — больше информации по игре Разработчики Asphalt Legends Unite выпустили первый трейлер, который показывает, чего стоит ждать от переделанной версии Asphalt 9: Legends. Её основная фишка — кроссплатформа. Legends Unite впервые перенесёт серию Asphalt на консоли PlayStation 4 и PS5. Также в трейлере у...

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

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

Анонс новинки: Shining 3D FreeScan Trak Pro2 FreeScan Trak Pro2 - это улучшенная версия портативной оптической системы FreeScan Trak Pro.В ней используются передовые лазерные технологии для достижения высокой точности и повторяемости без необходимости маркировки объектов.Эффективность сканирования значительно улучшена ...

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

[Перевод] SQL в качестве API SQL в API???  Верно, вы уже успели подумать: «это же безумие, предоставлять API, который принимает SQL». Да, это ужасная идея. Особенно, если API обращён к Интернету. Делать так небезопасно, вы напрашиваетесь на атаки в виде SQL-инъекций. Поддержка такого интерфейса превр...

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

[Перевод] Не стоит недооценивать HTML «HTML – это просто», «Разрабатывать фронтенд проще, чем бэкенд», «После реализации бэкенда обновление UI не должно составлять труда», – за время работы в сфере веб-разработки вокруг меня то и дело звучали эти и другие аналогичные утверждения. И очень часто они вызывали у м...

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

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

Делаю игрулю на Playdate на чистом C. Глава 3 Глава 1Глава 2Я пишу игру на игровую консоль Playdate на чистом C. Игра в жанре "выживальщик" наподобие Vampire Survivors. Так как в чистом C отсутствуют многие современные объектно-ориентированные удобства мне приходится по-всякому изворачиваться чтобы адаптировать свои иде...

Range Extender на NRF24L01+PA+LNA: обмен текстовыми сообщениями между устройствами там, где нет сотовой связи Картинка Pressfoto, Freepik Эта идея появилась у меня достаточно давно, и наконец-то дошли руки её частично реализовать. А именно: хотелось попробовать сделать средство общения с помощью известного радиопередатчика NRF24L01+PA+LNA. В качестве способа общения на данном этап...

SL_ST P&P (Pick&Place) tweezers     Продолжается разработка компактного, относительно простого(уже с натяжкой) пинцета для машин Pick and Place.     На данный момент сформировалась небольшая команда единомышленников и мы аккуратно разделили между собой четкие роли. Теперь у проекта есть большие шансы выйти...

Малоизвестные детали реализации Math.Round() в .Net Недавно довелось разбирать багрепорт одного клиента на нашу программу, где клиент указал на ошибку в отчете в одну копейку.Казалось бы, сложно себе представить программиста или вообще IT-шника, который не знает как работает функция округления. Тем не менее, почти двадцатилет...

Open Research Knowledge Graph: новый подход к научной коммуникации На сегодняшний день для представления и обмена результатами исследований мы используем методы, которые были разработаны много веков назад. С момента зарождения современной науки (публикации первого научного журнала "Transactions of the Royal Philosophical Society", 1665 г.) ...

Wolfram Language JavaScript Frontend Wolfram Language JavaScript Frontend - это проект, цель которого в создании бесплатной альтернативы для Mathematica с открытым исходным кодом, но со своими особенностями и преимуществами, а если точнее то в реализации пользовательского интерфейса для ядра Wolfram Language (W...

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

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

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