Социальные сети Рунета
Четверг, 25 апреля 2024

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

Языки программирования как зеркало IT-столпотворения. Часть II В предыдущей статье мы подробно рассказали о первых попытках человечества запатентовать языки программирования и о первых созданных ЭВМ. В этой речь пойдет о современности.  Читать далее

Неизвестный UART: теория Можно с уверенностью сказать, что с момента публикации первой версии стандарта RS‑232 в мае 1960 года и по настоящее время, было написано приблизительно 109 независимых реализаций UART на всём, чём угодно. Однако, подобно «Hello world» в мире прикладного ПО, а также ми...

STM32 Часть 1. Как поморгать светодиодиком Приветствую! Данная статья открывает цикл статей о программировании микроконтроллеров STM32 для новичков.Сегодня я расскажу как написать моргание светодиодом двумя способами с использованием инструментов, труднодоступных в 2023 году. Читать далее

От потоков к корутинам: как и почему видоизменились примитивы синхронизации в языке Kotlin (Часть 1) В этой статье мы рассмотрим, как и почему изменилась реализация примитивов синхронизации из стандартной библиотеки Java и пакета java.util.concurrent для Kotlin Coroutines и для языка Kotlin в целом.Разберемся, какие реализации примитивов синхронизации потоков актуальны в ко...

Принципы SOLID на JS, теперь точно простым языком, но не очень коротко SOLID — универсальный набор принципов разработки поддерживаемого программного обеспечения. В данной статье я попытался разъяснить свое понимание принципов SOLID в отношении языка JavaScript: особенности реализации, некоторые синтаксические конструкции и, конечно, примеры из ...

TAPE: первый бенчмарк для few-shot оценки языковых моделей на русском языке Мы в SberDevices обучаем и оцениваем языковые модели для русского языка уже давно — так, например, за два года существования бенчмарка Russian SuperGLUE через его систему оценки прошли более 1500 сабмитов. Мы продолжаем разрабатывать инструменты для русского языка и в этой с...

Использование шейдеров во Flutter. Часть 2 Всем привет! На связи Юрий Петров, Flutter Team Lead в Friflex. В предыдущей статье мы познакомились с работой шейдеров во Flutter, а также рассмотрели, как написать свой собственный шейдер на языке GLSL. В этой части разберемся, как импортировать готовые шейдеры и управлять...

Цикл постов про Keycloak. Часть первая: Внедрение Цикл постов про Keycloak (часть 1): Внедрение.О чем речь?Это первая часть серии статей о переходе на Keycloak в качестве SSO в условиях кровавого enterprise. Читать далее

Программирование EEPROM 93C76. Пишем программатор. Часть 1 Всем привет! Я - Kekovsky, инженер-любитель, до этого публиковался на некоторых других платформах. Решил попробовать себя здесь, если статья понравится, будет продолжение. В этой статье мы изучим работу с микросхемой EEPROM 93C76, рассмотрим обращение к ней по шине SPI, напи...

[Перевод] Работа с SQL Server в C# с помощью скриптинга. Часть 2 В этой статье я покажу вам, как работать с Microsoft SQL Server в C# проектах посредством скриптинга. Реализовать это можно как в Windows, так и в macOS. Поскольку Windows, очевидно, является намного более популярной целевой платформой для C# и SQL Server, больше внимания я ...

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

Какой язык программирования выбрать? Часть 1. Rust Какой язык программирования выбрать? Открываем серию статей об этом! Наши разработчики будут рассказывать об особенностях, применении, плюсах и минусах языков, которые используются в «Криптоните». Начинаем с Rust: опытом поделится Андрей Чесноков, ведущий системный программи...

Разработка игр на Kotlin Native. Часть 1 Возможность компиляции Kotlin в нативный код, который может использовать С-библиотеки позволяет разрабатывать мультимедийные приложения и игры на основе библиотек SDL, GTK/OpenGL, GDX и специализированных библиотек для Kotlin (например, KorGE). В этой статье мы последователь...

[recovery mode] Тестирование gRPC. Часть 2 В предыдущей статье мы с вами рассмотрели тестирование фреймворка gRPC. Но демо проект созданный моим коллегой Михаилом Петровым, был улучшен моим в другим коллегой Читать далее

Честные модули внутри PHP: теперь они существуют Низкий порог входа и строгость языка программирования — вещи обычно несовместимые. Потому что ты либо, как Rust, бьёшь по рукам borrow checker’ом — либо, как PHP, позволяешь не задумываться о типах и быстро прототипировать. На самом деле, если писать код грамотно, это с...

Разбор бинарных форматов. Часть 1 Одна из самых сложных и интересных задач, с которыми сталкивается реверс инженер — это анализ бинарных файлов. Зачастую это может быть просто уже известный формат, и интерес с точки зрения анализа здесь появляется в тот момент, когда нужно напис...

Магия размерностей и магия Котлина. Часть первая: Введение в KotUniL Амперы нельзя складывать с вольтами. Сантиметры можно складывать с дюймами, но очень внимательно. Иначе получится как с космическим аппаратом стоимостью 125 миллионов долларов Mars Climate Orbiter, который успешно долетел до Марса, но бездарно разбился о его  поверхност...

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

[Перевод] Неявные параметры. Когда их следует использовать? Часть 1 Имплиситы (implicits) – одна из наиболее вызывающих опасения фич языка программирования Scala, и на то есть веские причины!Во-первых, понятие имплиcитов довольно специфично для Scala. Ни один другой основной язык программирования не имеет подобной концепции. Это означает, чт...

Язык программирования Vala и где он используется. Создаем простое приложение для прослушивания радио Vala был разработан для более простой и быстрой разработки приложений с использованием библиотеки GTK. Этот язык уникален тем, что код при выполнении программы транслируется в код на языке C, а уже потом преобразуется в машинный. Благодаря этому скорость выполнения программы...

Создание GUI-приложения в MATLAB. Часть 2 В предыдущей статье мной были рассмотрены возможности среды GUIDE входящей в MATLAB, ее инструментарий сильно устарел как по функциональности так и по дизайну. Такого инструментария недостаточно для реализации более-менее крупных проектов, которые подразумевают бол...

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

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

[recovery mode] Как доработка UX помогла сократить время прохождения сценария заказа еды на 70%. Часть 3 Всем привет, мы дизайнеры студии Focus. Во второй части статьи мы рассказывали, как проводили тестирование и готовились к нему. А также, как провели небольшое исследование конкурентов. В заключительной части мы покажем обновленный дизайн приложения по доработанному сценарию....

Установка OpenCV под Windows В данной статье будет описан способ сборки OpenCV из исходников с помощью cmake и Microsoft Visual Studio, и пример запуска своего проекта на cmake. Большая часть статьи является повторением официальной документации. Читать далее

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

Язык программирования Rave Приветствую всех читателей данной статьи.Тут я постараюсь описать год усердной, тяжёлой работы на моим собственным компилятором языка программирования Rave.Удачного чтения! Читать далее

Смерть или эволюция. Что ждёт программирование в будущем? Или ещё одна статья про ChatGPT. Этот чат-бот с ИИ пишет код на многих языках программирования, оптимизирует код, конвертирует код с одного языка программирования на другой, пишет скрипты с нуля и т. д. Хотя ChatGPT вряд ли когда-нибудь полноценно заменит инженера-программи...

Создаем свой загрузочный диск Linux В статье описывается способ, как создать собственный загрузочный диск Linux (оптический диск или флешку), добавить в него только нужные программы и убрать все лишнее. Полученный образ в экспериментах занял менее 25 Мб. Он позволяет быстро загружаться, работать в текстовом ре...

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

Пентест. Думаем как злоумышленник. Часть 3: Эскалация привилегий и социнженерия В предыдущих статьях (Часть 1, Часть 2) мы поговорили о том, как может действовать Внешний нарушитель (пентестер за пределами организации) и Гость (пентестер  имеет только доступ в сеть) при проведении пентеста. Также начали рассматривать действия Внутреннего нарушителя...

Джон Маккарти: открытия и наследие создателя термина «Искусственный интеллект» Ученый и новатор Джон Маккарти придумал термин «Искусственный интеллект», создал язык программирования Lisp и разработал концепцию разделения времени. В этой статье мы отследили путь Джона Маккарти от юного энтузиаста математики до титана компьютерной науки, чье наследие про...

Колдовской NeoVIM. Часть вторая. “Конфиг Всевластья” Никто не любит конфиги (я уж точно). Они скучные и нединамичные.Но со своим конфигом Nvim’а я ношусь, как Голлум с кольцом Всевластья. Моя прелесссссть. Я боюсь потерять свой конфиг, боюсь, что с ним что-то случится. Другие хотят забрать тебя, моя прелессссть. Саша тебя им н...

Weak Pass Detector – запрет на использование утекших паролей в контроллере домена Всем привет! Меня зовут Иван Нагорнов, я руководитель направления в Лаборатории кибербезопасности Сбербанка. В данной статье будет сделан обзор и предложение к использованию одной из наших разработок, которая направлена на минимизацию использования утекших паролей из открыты...

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

Github Actions. Простой пример для уверенного знакомства Здесь я буду расссказывать о моем опыте настройки CI/CD c помощью GitHub Actions.Эта статья поможет тем, кто хочет настроить автоматический деплой для личного/учебного проекта на свой удаленный сервер, пользуясь бесплатным сервисов GitHub Actions. Причем этим сервисом можно ...

Anycubic Kobra Go. Обзор продолжения линейки Всем доброго времени суток и с наступившими праздниками.Речь в статье пойдет о новом (для меня) 3d принтере Anycubic Kobra Go. В следующей статье расскажу о его более совершенной модели Kobra Neo. Пока приступимс. Цена принтера варьируется в районе 15т.р. в зависимости от ку...

Часть 2. Управление знаниями в Obsidian. Базовый рабочий процесс. Журнал. Источники и их библиотеки. Пример В этой статье будет показано как можно начать организовывать свою базу знаний в Obsidian, отталкиваясь от источников. В статье будет разобрано какие стоит использовать папки и теги; как создать свою первую точку входа в систему. Также будет уделено внимание способу ведению ж...

Полезные методы работы с данными в Pandas. Часть 1 Сегодня анализ данных стал неотъемлемой частью многих сфер деятельности, от науки до бизнеса. Python является одним из самых популярных инструментов для работы с данными, благодаря своей гибкости и обширному спектру доступных библиотек. Одной из таких библиотек является Pand...

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

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

Магия размерностей и магия Котлина. Часть третья: Смешение магий Это третья, заключительная статья серии, посвящённой библиотеке по манипулировали физическими величинами системы СИ, а также другими величинами, в Котлин. В ней мы рассмотрим, как фундаментальные математические структуры, которые природа “заложила” в систему СИ, предопределя...

Yet Another Домашний Сервер. Железо (часть 1) Вот и я потихоньку пришёл к тому, чтобы сделать свой домашний сервер. Точнее, идея появилась ещё со школьных времён, но вот реализовать в каком-либо виде получилось только сейчас. И я бы хотел поделиться тем, что у меня получилось, с читателями Хабра, и ко всем написанным ст...

Часть 3. Управление знаниями в Obsidian. Продвинутые техники. Excalibrain. Spaced repetition. Breadcrumbs. Longform Эта статья будет завершать цикл "Управление знаниями в Obsidian". В ней будет предполагаться, что вы способны понять все техники и приемы из прошлой второй части про базовый рабочий процесс, т.к. здесь будут показаны продвинутые способы управления персональной базой знаний. ...

Развертывание ASP.NET Core приложения в Kubernetes Данная статья является краткой инструкцией по развертыванию ASP.NET Core приложения в Kubernetes с написанием Dockerfile для формирования образа (Docker image) и минимального манифеста для создания деплоймента и объекта, предоставляющего доступ к нему, – в статье будет испол...

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

ESP32 отладка с помощью JLINK Здравствуйте друзья, я хочу поделиться с вами своим опытом в отладке ESP32 с помощью отладчиков, реализующих интерфейс JTAG. Данная задача кажется тривиальной (она такая и есть), при мысли об программировании микроконтроллеров. Но при старте работы с микроконтроллерами ESP32...

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

Работа с контейнерами в Minikube Про Kubernetes написано огромное количество статей. Установка, настройка, мониторинг и безопасность все эти аспекты рассматриваются достаточно подробно. При этом, отдельным пунктом идет создание и настройка контейнеров. И если для решения глобальных задач  администриров...

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

[Перевод] Работа с SQL Server в C# с помощью скриптинга. Часть 1 В этой статье я покажу вам, как работать с Microsoft SQL Server в C# проектах посредством скриптинга. Реализовать это можно как в Windows, так и в macOS. Поскольку Windows, очевидно, является намного более популярной целевой платформой для C# и SQL Server, больше внимания я ...

Кодогенерация Dart Доброго дня, в данной статье подробно рассмотрим как работает кодогенерация во Flutter. Главная цель, которая стояла перед мной при написании статьи - это разбор каждого этапа настройки кодогенерации, чтобы у разработчика, прочитавшего этого материал, сложилась полноценная к...

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

English Tenses — моё представление времён в английском языке Всем привет! Сегодня я хочу представить своё виденье времен в английском языке, а также представить свою диаграмму по изучению и применению на практике данных времен. Сразу хочу отметить, что я не являюсь педагогом и у меня вообще нет никакого ни лингвистического, ни педаго...

Пишем простого бота-администратора для Telegram на Python. Тестируем на жене Создание своего собственного телеграм-бота является одним из увлекательных и полезных способов практического применения программирования. Я решил создать своего бота как вариант добавления нового увлекательного проекта в свой портфолио, а также для создания комфорта и удобст...

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

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

Как спроектировать умный дом с Алисой: опыт реализации и «нащупанные» подводные камни. Часть 2 Привет! На связи Роман Люкшин, системный эксперт‑аналитик в компании «БАРС Груп». В рабочее время я помогаю создавать ИТ‑решения в сфере строительства, ЖКХ и соцзащиты. А в свободное — совершенствую систему «умный дом», созданную собственны...

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

[Перевод] PostgreSQL: настройка и оптимизация производительности. Часть 1 Данная статья посвящена способам повышения производительности PostgreSQL и EDB Postgres Advanced Server (EPAS) с 10 по 13 версии. Мы начнём с аппаратного обеспечения и будем двигаться вверх по стеку, оставив напоследок SQL-запросы.  Читать далее

Устройство 64-битных счётчиков транзакций в Postgres Pro Enterprise Эта статья описывает реализацию 64–битных счётчиков транзакций (XID, ксидов) в СУБД Postgres Pro Enterprise, которая создана на основе свободной, опенсорсной объектно–реляционной СУБД Postgres. Она ориентирована на тех, кто имеет практический опыт в работе с СУБД Postgres Pr...

Как написать UI-автотесты, если не умеешь программировать? О чем эта статья и чем она полезна.Всем привет! В этой статье пойдет речь о том, как написать простые UI-тесты на языке Java. Это будет интересно тем, кто давно хотел попробовать себя в автоматизации или добавить новенького в свой текущий проект. В этой статье не будет больш...

Лучшие языки программирования для изучения в 2023 году | Голосование Программирование постоянно развивается, а с ним и языки программирования, которые используются разработчиками. Чтобы быть успешным в мире IT, важно выбрать актуальный и востребованный язык программирования для изучения. Мы решили провести голосование, чтобы выяснить, какие я...

[Перевод] Управление заголовками HTTP в Joomla 4 (часть 1) Эта статья - первая часть перевода статьи Joomla’s New HTTP Headers Plugin For J4 из майского номера (2022) Joomla Community Magazine. Статья рассчитана на широкий круг читателей с разными уровнями компетенций, поэтому опытным вебмастерам и разработчикам имеет смысл пропусти...

[Перевод] Осваиваем TypeScript: 21 лучшая практика при написании кода TypeScript является популярным открытым языком программирования, идеально подходящим для современной разработки. За счёт своей продвинутой системы типов он позволяет писать более надёжный, обслуживаемый и масштабируемый код. Однако, чтобы задействовать весь потенциал этого ...

Архитектура игры на Unity без Zenject. Часть 1 Всем привет!Меня зовут Игорь Гулькин, и я Unity разработчик. За свои 5 лет накопилось много опыта, поэтому в этой статье хотел бы поделиться принципами и подходами, с помощью которых можно реализовать архитектуру игры просто и гибко без фреймворка. Цель доклада, дать не прос...

QR-code. Обнаружить и расшифровать. Шаг 1 — Обнаружить Эта статья - первая в цикле статей, в котором мы разберемся с тем, как qr-код устроен, и напишем простенький Qr-детектор и дешифровщик, а также свой собственный генератор qr-кодовИспользовать мы будем python вместе с opencv и numpy. Учитывая, что opencv - кросс-язычная библи...

[Перевод] Как Java мусорит за пределами кучи: часть 1, реляционные базы данных Как Java разработчики, мы знакомы с концепцией сборки мусора. Наши приложения постоянно генерируют мусор, и этот мусор тщательно очищается сборщиками CMS, G1, Azul C4 и другими типами сборщиков.Однако история не заканчивается на Java куче. На самом деле, это только...

Hashmap по версии Golang вместе с реализацией на дженериках Привет. Сегодня рассмотрим такую интересную структуру данных как hashmap, а именно ее реализацию в Go. Вкратце разберем что такое hashmap, как это выглядит под капотом Go 1.19. Посмотрим отличия реализации с Java и Python. Реализуем hashmap из под капота с помощью дженериков...

Настраиваем QtCreator для полноценного программирования и отладки микроконтроллеров STM32 Привет всем.На данный момент я активно осваиваю разработку ПО для STM32 и хотел бы поделиться моим опытом. Как известно, для STM32 имеется много сред для разработки, однако часть из них, несмотря на удобность, имеют ограничения по использованию в случае пробной версии. Так, ...

Javarush, так ли полезно спустя 9.5 лет? Про Javarush, писали уже многие, в этой статье хотелось бы выразить свое мнение буквами и символами. Как вы уже наверняка знаете, Javarush - это весьма интересный проект, который предлагает обучение языку программирования Java, здесь вы изучите основы, решая простые (и не оч...

[Перевод] Как настроить OpenVPN на Debian 11. Часть 1 Когда вы настраиваете удалённый доступ, важно не только предоставить всем сотрудникам подключение к нужным сервисам, но и позаботиться о безопасности. В этом помогает VPN — виртуальная частная сеть. VPN-сервер действует как единая точка входа: он аутентифицирует пользователе...

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

ChatGPT: новый инструмент в борьбе с багами. Как можно использовать AI для повышения качества тестирования Всем привет! Я QA Engineer и недавно открыл для себя ChatGPT и хочу открыть этот мир другим тестировщикам. Эта статья не руководство к применению и каких-то суперлайфхаков здесь не будет. Цель этой статьи в том, чтобы показать огромные возможности нейросетей в помощи нам, те...

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

Централизация логирования микросервисов с Graylog Трассировка и анализ ошибок в микросервисной архитектуре без средств централизации логирования обычно причиняет неудобства, поскольку для понимания “что и на каком микросервисе умерло” приходится обходить микросервисы по очереди, сверять и сопоставлять данные в логах. В данн...

Как мы быстро запустили мобильное приложение и споткнулись о свой успех Привет, Хабр! Мы крупная производственная компания с 50К+ сотрудников, и в 2019 году поняли, что нам нужно мобильное приложение. Срок реализации 5 месяцев. Какой стек вы бы выбрали при такой скорости? Мы выбрали нативные Kotlin и Swift. Поначалу запилили всего 6 сервисов (но...

[Перевод] Отправка уведомлений из Symfony API с помощью Mercure В статье я создал атрибут, чтобы помечать операции API для выполнения в фоновом режиме. Когда аннотированная операция вызывалась как фоновая, ее выполнение задерживалось с помощью symfony messenger, клиент получал в ответ код состояния HTTP 202 Accepted. В этой статье я внес...

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

6 книг по MySQL для старта работы и погружения в технологию MySQL — реляционная СУБД, использующая декларативный язык программирования SQL. Она предлагает все необходимые возможности для создания баз данных и написания серверных приложений. В нашей подборке — 6 книг по MySQL, которые будут полезны как на старте, так и для развития ...

Как снять данные с весового модуля со своей спецификацией протокола передачи данных и отправить на MQTT сервер Данная статья написана для тех кто на начальном уровне знает Python и немного разбирается в АСУ ТП. Задача достаточно распространенная, надо взять данные со старого, со своей специфичной реализацией протокола оборудования и перевести ее в такой вид, что бы ее можно было ...

[Перевод] Создание расширения браузера Google Chrome для извлечения всех изображений web-страницы. Часть 2 Представляю вашему вниманию вторую часть статьи о создании расширения web-браузера Chrome, которое позволяет извлечь все изображения с web-страницы.В этой части я покажу как автоматически упаковать все изображения этого списка в ZIP-архив и предложить пользователю его скачат...

[recovery mode] Интеграция Primefaces в приложение на Spring Boot. Часть 1 — настройка зависимостей и базовый проект В данной статье описывается пример интеграции библиотеки компонентов пользовательского интерфейса Primefaces, построенной на основе фреймворка JavaServer Faces (JSF), в MVC приложение на Spring Boot. Читать далее

Сколько я заработал на Яндекс играх? Моя история выпуска игры Добрый день, Игроделы. Я InterestingPerson. В этой статье я опишу как создал свою игру и залил её на Яндекс. Читать далее

Джон Кармак взялся за сильный ИИ — и у него особый подход. Список фундаментальной литературы для начала В рубрике «Выдающиеся программисты 21 века» уже была статья про гения программирования Джона Кармака, создателя движков для Doom, Quake и других культовых игр. Потом он занялся разработкой ракет (они в Armadillo Aerospace реализовали вертикальную посадку раньше SpaceX), а з...

Ультимативный гайд по HTTP. Часть 1. Структура запроса и ответа Привет! Меня зовут Ивасюта Алексей, я техлид команды Bricks в Авито в кластере Architecture. Я решил написать цикл статей об истории и развитии HTTP, рассмотреть каждую из его версий и проблемы, которые они решали и решают сейчас. Весь современный веб построен на проток...

Компонентный подход. Реализуем экраны с помощью библиотеки Decompose Это вторая часть из серии статей про компонентный подход. Если вы не читали первую часть Компонентный подход. Боремся со сложностью в Android-приложениях, то рекомендую начать с нее.Ранее мы обсудили, что компонентный подход — это способ организации приложения в виде иерархи...

Пишем продвинутый планировщик с использованием React, Nest и NX. Часть 3: работа с задачами Друзья, всем привет! Меня зовут Игорь Карелин, я frontend-разработчик в компании Домклик. В прошлой части мы разобрали, как создать аутентификацию с помощью библиотеки Passport, а сегодня мы рассмотрим такие манипуляции, как добавление, редактирование, удалени...

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

Boson — разработка СУБД «с нуля» (часть I) После разработки виртуальной машины и компилятора в рамках хобби прошел год и захотелось попробовать реализовать ёмкий по алгоритмам проект по системному программированию. Каждый разработчик "кровавого" enterprise в своей работе использует СУБД (SQL/NoSQL) и меня всегда искр...

Unity «уменьшение размера файла на устройстве» Часть 1 Когда игра подходит к релизу, ее объем занимаемой памяти сильно превышает желаемый. Если говорить с точки зрения пользователя, то они тоже не любят, когда приложение весит очень много. Это может отпугнуть как при первом скачивании, так и при очистке телефона, когда нужно буд...

Теория вероятностей в машинном обучении. Часть 1: модель регрессии В данной статье мы подробно рассмотрим вероятностную постановку задачи машинного обучения: что такое распределение данных, дискриминативная модель, i.i.d.-гипотеза и метод максимизации правдоподобия, что такое регрессия Пуассона и регрессия с оценкой уверенности, и как норма...

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

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

C++, параллелизм и введение в автоматное программирование в SimInTech Поводом для написания статьи послужило не очень приятное для меня событие: модератор Хабра убрал теги – «С++» и «Параллельное программирование» из моей крайней статьи [1]. Этому предшествовало сообщение пользователя, который по его словам не заметил в статье ни С++, ни парал...

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

Разработка клиент-серверного приложения с помощью Next.js и TypeScript. Часть 1. Настройка проекта и разработка сервера Привет, друзья! В этой серии из 2 статей-туториалов мы с вами разработаем клиент-серверное (фуллстек — fullstack) приложение с помощью Next.js и TypeScript. Руководство по Next.js. Карманная книга по TypeScript. Наше приложение будет представлять собой блог — относитель...

Советы по архитектуре кода для начинающих Для кого статьяВы уже написали свои первые 1000 строк кода и сейчас хотите сделать их понятнее, потому что внесение изменений занимает столько-же времени, сколько написать заново, но советы из ООП, SOLID, clean architecture и т.д. непонятны вам.О чем статьяЭта статья - не об...

Интеграция Primefaces в приложение на Spring Boot. Часть 2 — Готовим контекстное меню для главной страницы В этой статье описывается пример интеграции библиотеки компонентов пользовательского интерфейса Primefaces, построенной на основе фреймворка JavaServer Faces (JSF), в MVC приложение на Spring Boot.Первая часть Читать далее

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

Использование скриптов на языке Python в Платформе nanoCAD 23 Рассмотрим действия, необходимые для включения поддержки скриптов на языке Python в Платформе nanoCAD. В статье описана процедура настройки расширения Python.AXScript.2, а также приведены примеры использования команд PY и ‑PY. Пример скрипта использу...

Размышление об Active Object в контексте Qt6. Часть 2.5 Статья выпущена как дополнение к предыдущей и показывает, как можно сделать Active object, работающий асинхронно в среде Qt, но при этом не использующий события. Читать далее

Подробная пошаговая инструкция как настроить сервер на Linux и подключение по API к ChatGPT. Для Python и Node.js ChatGPT набирает все большую популярность, ведь он может помочь человеку или даже заменить его в ряде задач. С ним можно взаимодействовать не только через графический интерфейс, но и по API. Таким образом его можно встраивать в свои системы, чтобы решать практические задачи ...

GPT Chat для преподавателя английского Какие я обнаружила сферы применения GPT чата в своей работе:1. Работа с лексикой:— подготовка списка слов (wordlist) по уровням языка на основе текста или видео;— подбор определений к словам на английском языке и примеров, либо переводов на русский язык (далее готовый список...

Миссия невыполнима: подключаем электросчётчик SDM220 к трансформеру Lavritech V7.1 Lite по RS485/Modbus RTU Некоторое время назад в моём блоге вышел цикл статей об устройстве и программировании Lavritech V7.1 Lite — ESP32 контроллера с необычной модульной архитектурой. Необычность архитектуры заключается в том, что функционал Lavritech V7.1 Lite можно набирать из отдельных модул...

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

Экстремально уменьшаем размер NPM пакета Однажды я захотел создать небольшую NPM библиотеку по всем “best practices” - с покрытием тестами, написанием документации, ведением нормального версионирования и changelog'а и т.п. Даже написал пару статей, которые в деталях описали, какие вопросы решает библ...

Как создать сервис по ремонту оргтехники В этой статье расскажу о том, как мы создавали сервисный отдел по ремонту оргтехники. Читать далее

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

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

Основы мониторинга (обзор Prometheus и Grafana) Мониторинг сегодня – фактически обязательная «часть программы» для компаний любых размеров. В данной статье мы попробуем разобраться в многообразии программного обеспечения для мониторинга и рассмотрим подробнее одно из популярных решений – систему на основе Prometheus...

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

Tutorial по обмену с 1С. Часть пятая: Наш опыт настройки 1000 и 1 обмена В своей предыдущей статье я начала раскрывать тему того, как правильно настраивать обмен между крупными сайтами и B2B-системами на Битрикс с системами учета 1С:Предприятие. Если еще не читали — посмотрите, будет полезно, типовой модуль обмена многое умеет, а то, что не ...

Патентный анализ аддитивных технологий (3D-печати) в России за последние 5 лет. Часть вторая В первой части мы подробно проанализировали патенты на изобретения, касающиеся 3D-печати. Теперь рассмотрим патенты на полезные модели, свидетельства на программы ЭВМ и базы данных, выданные в России.  Читать далее

Дизайн сетей ЦОД. Часть 3. Управление трафиком В этой статье мы продолжим тему дизайна сетей ЦОД. Мы уже поговорили про надежность, рассмотрели организацию кабельной инфраструктуры в ЦОД и теперь самое время перейти к рассмотрению вопросов управления и оптимизации трафика. Немаловажную роль в оптимизации трафика на логич...

Бесплатный мультиязычный чат для сайта на Tawk + Notion + Telegram + chatGPT + GPT-Index Вы хотите общаться с посетителями сайта на всех языках и при этом чтобы вам помогал обученный на вашей базе знаний chatGPT?Я следил за различными видами использования chatGPT с момента его выхода. Предлагаемое в статье решение я еще не встречал и поэтому думаю оно будет кому...

Почему IT такое, какое оно есть Навеяно мыслями после прочтение замечательной статьи "Гори это ИТ синим пламенем" - https://habr.com/ru/post/707230/ Вспомните себя в школьные или студенческие годы, когда всё свободное время вы посвящали своему любимому делу - программированию. Садясь утром за компьютер, то...

Расширяем PostgreSQL с помощью Rust Свободная система управления базами данных PostgreSQL не только предоставляет высокопроизводительный движок для выполнения запросов, но и может быть расширена с помощью расширений, которые могут добавлять новые типы данных (например, для ГИС‑рас...

Как добавить Life Activity в существующий проект. Часть I Live Activity был показан Apple на презентации iOS 16 и нового iPhone с Dynamic Island. Обновление доступно только для тех, кто обновил iOS до 16.1. Меня зовут Азиз, я iOS-разработчик в inDrive. В статье расскажу, как мы добавляли Live Activity в наше iOS-приложение. По...

Генератор эмбеддингов: как провести качественный анализ метрик сотрудников без прямого доступа к персональным данным Привет, Хабр! Меня зовут Роман, я работаю в Сбере в блоке HR исследователем данных. Мне и моим коллегам часто приходится иметь дело с персональными данными сотрудников (далее ПДн). А получить допуск к использованию этих данных в различных контурах банка очень непросто: в Сбе...

Как работают text2image модели? Вы, наверное, слышали про dalle-2, midjourney, stable diffusion? Слышали о моделях, которые по тексту генерируют картинку. Совсем недавно они продвинулись настолько, что художники протестуют, закидывая в стоки картинки с призывом запретить AI, а недавно, вообще, в суд подали...

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

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

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

Пишем API автотесты на TypeScript + Playwright В данной статье мы разберем, как писать API автотесты на языке TypeScript + Playwright. Читать далее

Самый простой способ ввести Linux в домен Всем привет!Термин Microsoft Active Directory Domain Services включает в себя множество технологий, поэтому сразу уточню, в этой статье речь пойдет про использование контроллера домена только для аутентификации пользователей. То есть в финале, нужна возможность любому сотруд...

Интерфейсы и протоколы в IoT. Лекция первая В этом году меня в очередной раз позвали в Московский институт электроники и математики (МИЭМ) НИУ ВШЭ читать студентам магистратуры (четвёртый курс на наши деньги) департамента электронной инженерии курс «Обеспечение взаимодействия элементов системы IoT, интерфейсы и проток...

Ностальгические игры: Deus Ex (часть 1) В наше время, когда у всех на слуху франшизы-гиганты вроде Call of Duty, Assassin`s Creed и Fortnite, очень мало кто помнит такие культовые и жанрообразующие франшизы, как System Shock, Thief и Deus Ex, созданные гениальным геймдизайнером Уорреном Спектором.Да, многие соврем...

Превращаем DSLogic U2Basic (PANGO) в DSLogic Plus В данной статье расскажу как модифицировать DSLogic U2Basic (PANGO) в DSLogic Plus.Данная статья является обновлением статей - Превращаем DSLogic Basic в DSLogic Plus и Превращаем DSLogic U2Basic в DSLogic Plus Читать далее

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

Знакомство с указателями в Паскале Всем читателям habr.com, привет! Мы студенты Технического ВУЗа- Мария и Екатерина, и хотим рассказать о своем опыте работы с указателями на языке программирования Паскаль.Знакомство с указателями произошло еще на первом курсе, когда нам читали предмет по языку программирован...

10 инструментов ИИ с бесплатным тестовым доступом, которые пригодятся в работе В этой статье собрано 10 инструментов на основе искусственного интеллекта, большинство из которых просты в использовании и бесплатны для тестирования.Всем привет! Меня зовут Маруся, я аналитик данных, веду блог в телеграме Аналитика и growth mind-set.Практически все инс...

[Перевод] Введение в архитектуру Greenplum В этой статье поговорим о Greenplum — СУБД, основанной на PostgreSQL. Разберём её общую архитектуру, способы хранения данных, а также перечислим проблемы, с которыми можно столкнуться в ходе эксплуатации. Читать далее

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

[Перевод] Стратегии роста Notion. Часть 2 Примечание Wunder Fund: мы very early adopters Ноушена и большие его фанаты. Поэтому решили перевести нетипичную для нас статью о том, как он создавался, как рос, как развивалась его стратегия. В статье есть ряд интересных мыслей про развитие продуктов.Сегодня публикуем втор...

Архитектура PostgreSQL. Часть 1. Цикл сервера Продолжаем изучать исходный код PostgreSQLВ этот раз исследуем главный цикл сервера:- Принятие входящих подключений;- Проверка окружения;- Обработка упавших воркеров. Читать далее

[Перевод] Столетний язык программирования — какой он Особо амбициозные разработчики любят заявлять о том, что используемый ими язык программирования или фреймворк будет жить лет сто. Дерзкое заявление, учитывая, что разработке программного обеспечения, как таковой, всего около 65 лет. А фреймворки еще моложе. И всё же инт...

Технологии, изменившие музыку. Часть 1: запись Эта статья — первая из цикла, в котором мы рассмотрим технологии, изменившие музыкальный мир второй половины 20-го века. В первой части мы поговорим про запись музыки. Если разобраться, отсутствие этих технологий столетия назад — подлинная трагедия человечества. Ведь мы нико...

Если бы Остер раздавал советы автоматизаторам. Часть 2 Всем привет! В статье продолжаю давать вредные советы из области автоматизации: по кодингу, коммуникациям, организации процессов, стандартам, визуализации и т. д. Здесь вы найдёте подробную инструкцию о том, что нужно делать автоматизатору, чтобы усложнить жизнь себе и ...

Проецирование вершин графа в векторное пространство. Часть 2. Марковская цепь и Word2Vec И снова здравствуйте! Меня зовут Илья Котов, я Data Scientist в Сбере, участник профессионального сообщества NTA. Эта статья — вторая часть небольшого цикла, посвящённого алгоритмам вложений вершин графа в векторное пространство. Сегодня рассмотрим главную идею алгоритмов, о...

Как сделать анимацию с помощью MotionLayout Привет, Хабр! Меня зовут Павел Беловол, я Android-разработчик на проекте онлайн-кинотеатра KION в МТС Digital. Это новая часть сериала о внедрении фичи Autoplay в KION, в которой я расскажу про свой личный опыт работы с MotionLayout на примере продакшн-задачи в KION. Из этой...

Конструктор базы для браузерной стратегии в духе Dune 2/2000 на Three.js, Vue3 + TS Самой успешной моей статьей для сообщества был подробный отчет о разработке браузерного FPS. Судя по статистике в базе данных — неожиданно огромное количество людей зашло и попробовало сыграть, я получал заинтересованные вопросы в личку и так далее. В дальнейшем я сделал еще...

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

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

C++ для Maya Создание кастомного локатора в Autodesk Maya с помощью C++Здравствуйте. В этой статье я хочу поделиться тем опытом, который приобрел при написании плагина на C++ для Maya. Читать далее

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

Количество партиций в Spark DataFrame, DataSet на основе Relational Data Base table В прошлой статье мы рассмотрели количество партиций, которое по умолчанию создается Apache Spark при инициализации DataFrame, DataSet. В текущей статье продолжим рассматривать количество партиций у Spark DataFrame и DataSet, созданных на основе таблицы в Relational Database....

Часть 1. Управление знаниями в Obsidian. Обработка информации. Рабочий процесс. Источники информации. Работа с заметками Этот текст открывает цикл статей по рассмотрению проблемы управления знаниями в Obsidian. Эта часть почти не будет содержать практических советов о работе с заметками конкретно в Obsidian. Однако в ней будут раскрыты несколько более важные проблемы обработки различных источн...

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

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

Как создать эвристический алгоритм онлайн-мастеринга и получить предупреждение от RIAA Добрый день, меня зовут Сергей. В своей статье я бы хотел осветить тему аудио мастеринга, а именно: автоматизированного онлайн-мастеринга музыки.Я расскажу о своём пути от продюсера психоделического транса до мейнтейнера самой популярной open source библиотеки автоматизирова...

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

gRPC — альтернатива REST API от Google ПроблемаКогда мы разрабатываем приложение, которое разделено на независимые автономные компоненты, мы говорим о микросервисной архитектуре. Для взаимодействия компонентов используется API. Самый популярным API является REST. Это обусловлено его гибкостью, эффективностью (в б...

Index.ts – зло и польза Привет всем! Меня зовут Михаил, я старший Frontend-разработчик в НЛМК, занимаюсь разработкой одной из внутренних информационных систем на React + Typescript.Расскажу про самый короткий и наименее трудоемкий способ экспорта и импорта модулей, что частенько требуется для постр...

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

RTK query, что мы от него хотим и почему он вам очень нужен Redux Toolkit Query — это мощный инструмент для взаимодействия с API, который из коробки реализует такие полезные фишки, как отображение состояния загрузки, кэширование, дедупликацию запросов, полинг, ревалидацию при различных условиях, а также весьма удобна в использования ...

Быстрый консольный ввод на .NET Во времена, когда .NET был закрытой технологией только для Windows, за ним и языком C# закрепилась репутация платформы, которая отлично подходит для решения бизнес-задач, но непригодна для соревновательного программирования и написания высокопроизводительного кода. Часто при...

19,6 млн рублей за 2022 год. Парсинг сайтов. 25 советов желающим заняться Меня зовут Максим Кульгин, моя компания xmldatafeed занимается парсингом сайтов в России порядка четырёх лет. По итогам прошедшего 2022 года поделюсь советами для тех, кто думает о подобном бизнесе. Бизнес очень интересный, но наполнен нюансами, которые и расскажу ...

Тест – это вещь! F#, тестирование на базе Expecto. Часть первая Expecto — фреймворк для тестирования, написанный на F# и для F#. Он довольно хорошо известен в рамках F#-сообщества, и у разработчиков, сумевших отгородиться от C# в достаточной степени, используется как платформа для тестов по умолчанию. Новички в F#, а также мимо проходящи...

7 килограммов портативности, или ноутбук Amstrad ALT-386SX из 1988 года. Часть 2 — разбираем убердевайс Привет, Хабр! В первой части статьи о ноутбуке из 1988 года, который весит 7 кг я знакомил вас с его историей. Напомню, что девайс не включается. Делает попытки включиться, мигает светодиодами, включая Caps Lock, Scroll Lock и т.п., шумит иногда кулером, но сразу выключает...

PostgreSQL 16: Часть 3 или Коммитфест 2022-11 Продолжаем следить за новинками будущей 16-й версии. В начале декабря завершился третий коммитфест и вот его результаты. Самое интересное из первых коммитфестов можно прочитать в предыдущих статьях серии: 2022-07, 2022-09. Читать дальше →

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

Немного про ПИД-регуляторы или «велосипед автоматизации». Часть 2 Реализация регулятора в ПЛК.Все, что будет написано ниже про реализацию ПИД-регулятора в ПЛК, не является чем-то новым и революционным. Практически всю эту информацию можно найти в документации на ПЛК серьезных производителей. Если вы инженер АСУТП со стажем и добросовестно...

Как создать свою СУБД с нуля и не сойти с ума. Практическое пособие начинающему некроманту. Часть первая Наступил Апокалипсис.Нет, не стоит бежать запасаться банками с консервами и крышками отечественной бай-колы! Апокалипсис произошёл только в нашей фантазии и с определённой целью — чтобы проверить, а может ли человек, обладающий только книгами по теме и стандартной библиотеко...

Как я написал книгу по Java Статья о том, как я написал и полностью довёл до издания мою первую книгу по Java, про что эта книга, какие у неё особенности и где можно её купить. Приводится список глав с кратким описанием их содержания. Читать далее

Книга «Kotlin. Программирование для профессионалов. 2-е изд.» Привет, Хаброжители! Kotlin — это язык программирования со статической типизацией, который взяла на вооружение Google в ОС Android. Кроме того, это мультиплатформенный язык, позволяющий создавать приложения для macOS, Windows и iOS. Джош Скин, Дэвид Гринхол, Эндрю Бэйли ...

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

Книга «Pandas в действии» Здравствуйте, Хаброжители! Давненько вас не радовали новинками. Язык Python помогает упростить анализ данных. Если вы научились пользоваться электронными таблицами, то сможете освоить и pandas! Несмотря на сходство с табличной компоновкой Excel, pandas обладает большей ги...

[Перевод] DatRet: Реализация Tensorflow для табличных данных Мой open-source продукт. Rete neurale per la previsione di Dati tabulari. (it.)Простая реализация архитектуры глубокой нейронной сети для табличных данных с автоматической генерацией слоев и послойным сокращением количества нейронов. С удобством использования, аналогичным к...

Создание модуля WebAssembly с помощью Emscripten, AssemblyScript и Rust В этой небольшой заметке предлагается рассмотреть несколько способов компиляции модуля для WebAssembly, используя три разных подхода. Мы реализуем решение одной и той же задачки на трёх языках и скомпилируем полученный код в модуль WebAssembly. Будем использовать:Emscripten ...

Зачем Clojure Flutter ”Если вам нравятся Руби, Свифт, Дарт, Эликсир, Эльм, С++, Питон или даже С, используйте их ради бога. Но выучите Кложур, и выучите его хорошо” — Дядя Боб (твит, а также твиты: 1, 2, 3).Статей о Clojure написано много, цель этой — дать свое видение некоторых преимуществ языка...

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

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

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

5 библиотек Python для красивого вывода на консоль Независимо от того, создаете ли вы простой скрипт Python или приложение корпоративного уровня, элегантное взаимодействие с консолью избавит вас от надоедливой головной боли при устранении неполадок в будущем.В этой статье мы рассмотрим некоторые библиотеки, которые позволят ...

Busrpc — фреймворк для разработки микросервисов В этой статье я расскажу о собственном проекте ориентированном на микросервисную архитектуру. Этот проект вырос из идей и подходов, которые я применял на протяжении нескольких лет работы связанных с переводом крупного монолитного проекта на микросервисную архитектуру. Я не б...

Автоматизируем рутину при создании рекламных digital-размещений Привет! В сейлз-хаусе ЭВЕРЕСТ мы создали личный кабинет, который автоматизирует все процессы от расчётов до получения отчётов по рекламным кампаниям.У многих компаний эти шаги проходят исключительно в почте, итогом чего становится цепочка писем довольно внушительного размера...

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

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

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

Pyspark. Анализ больших данных, когда Pandas не достаточно Pandas - одна из наиболее используемых библиотек Python с открытым исходным кодом для работы со структурированными табличными данными для анализа. Однако он не поддерживает распределенную обработку, поэтому вам всегда придется увеличивать ресурсы, когда вам понадобится допол...

Как получить доступ к chatGPT в России Всем привет! Перед началом статьи сразу скажу:САМЫЙ ВАЖНЫЙ ДИСКЛЕЙМЕР: естественно, покупая смс на чужой номер вы полностью компрометируете безопасность своего аккаунта. Мало ли кто его потом еще купит для получения доступа. Поэтому, помните, что представленный в данной стат...

[Перевод] Как мы обновили старый кластер Elasticsearch на 3 ПБ без простоев. Часть 4 — токенизация и нормализация Прим. переводчика: автор статьи рассказывает, как его команде удалось оптимизировать временные и ресурсные затраты при токенизации текстов в Elasticsearch путем внедрения нормализации похожих символов.Это четвертая часть серии статей об обновлении кластера Elasticsearch...

[Перевод] Как собрать, покрыть тестами и опубликовать TypeScript-пакет в npm в 2022 году В этой статье мы с вами создадим с нуля и опубликуем в  NPM TypeScript-пакет, не забыв про Jest для покрытия тестами.Мы инициализируем проект, настроим TypeScript, напишем для него тесты в Jest и опубликуем его в NPM. Читать далее

Использование шейдеров во Flutter. Часть 1 Привет! На связи Юрий Петров, Flutter Team Lead в Friflex. Мы разрабатываем кроссплатформенные мобильные приложения для бизнеса и специализируемся на Flutter. В этой серии статей я поделюсь опытом, как с помощью шейдеров на фреймворке разра...

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

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

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

[recovery mode] Kotlin/Golang работа в двух языках Так уж получилось, что у нас в компании используются разные стеки и языки. И в частности у нас есть большое подразделение, основным стеком которого является JVM с Kotlin в качестве языка разработки (вместо ванильной Java, на бэкенде). Но при этом этому же отделу регулярно пр...

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

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

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

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

[Перевод] Argo Rollouts с примерами Что такое Argo Rollouts? Это контроллер Kubernetes и набор CRD для дополнительных возможностей развёртывания — сине-зелёное, канареечное, прогрессивное, анализ канареечного развёртывания и экспериментирование.В этой статье поговорим о продвинутых возможностях развёртыва...

Spring-потрошитель: жизненный цикл Spring Framework Никому не секрет, что Spring Framework один из самых популярных фреймворков для приложений на языке Java. Он интегрировал в себя самые полезные и актуальные технологии, такие как i18n, JPA, MVC, JMS, Cloud и т.п.Но насколько хорошо вы знакомы с жизненным циклом фреймворка? Н...

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

Prostore — простой Event sourcing + CQRS фреймворк На данный момент на рынке мало Event sourcing + CQRS фреймворков. А те, что есть, непопулярны и имеют слабую поддержку, поэтому многие создают свои in-house решения. В этой статье расскажу о выполненном командой «Programming Store» проекте Prostore, который может послужить ...

Книга «Head First. Изучаем Swift» Добрый день, Хаброжители! Swift известен как язык разработки приложений, выбранный компанией Apple для iOS, iPadOS, macOS, watchOS и tvOS. Но этим его применение не ограничивается. Swift с открытым кодом набирает популярность как язык системного программирования и программ...

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

Фукуяма, NAT, TCP и кротовые норы Данная статья является продолжением темы обсуждавшейся в статье "Философия борьбы с NAT" и так же нацелена на сетевых разработчиков, С++ программистов и просто интересующихся тенденциями развития интернет индустрии. Предполагается, что читатель в общих чертах знаком с модель...

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

Tutorial по стандартному и нестандартному обмену сайта с 1С. Часть первая: стандартный обмен и его хитрости В жизни наши желания часто расходятся с нашими возможностями. Приходится искать компромисс. Так происходит и при интеграции интернет-магазинов с 1С. Хочется реалтайма, интеграции с программой лояльности, полного отсутствия коллизий и омниканальности (простите).Мы решили...

Архитектура PostgreSQL. Часть 3. Инициализация бэкэнда Приветствую!На прошлом шаге мы дошли до входной точки Postgres. Сегодня мы пройдемся по ней до главного цикла. Будут рассмотрены:— Модули для работы с файлами и файловой системой— Как SIGUSR1передает множественные значения— Реализации хэш‑таблиц...

Представляю универсальный responsive header для React.js Вы когда-нибудь думали о том, чтобы создать свой стартап? Почти каждому стартапу (да и +/- любой компании) нужен лендинг/сайт. А у каждого сайта вверху есть хедер с меню навигации. При чем в наше время он обязательно должно быть адаптивным, чтобы одинаково хорошо работать ка...

Active Directory для изучения Pentest Это первая статья цикла, который будет описывать методы исследования структур системы Windows и Active Directory. В статье попробуем изучить мини инфраструктуру AD и попытаемся понять как обнаруживаются логические уязвимости.В сети достаточно много статей о том, что была най...

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

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

Превратности диспетчеризации в Swift Всем привет, меня зовут Сергей, я работаю в компании Joy Dev в должности iOS TeamLead. Эта статья - моя “проба пера” на Хабре. В ней, вместе с обзором видов диспетчеризации в Swift, мы рассмотрим несколько примеров, когда реализация методов в extension может вести себя неожи...

Chrome на iOS начнет глючить и высаживать батарею. Спасибо Apple за это! В момент появления iPhone единственным браузером на нем был Safari. Очень неплохое приложение, которое Apple ежегодно прокачивает новыми функциями и возможностями. При этом сторонние разработчики уже давно выпускают для iOS собственные решения. Например, Google Chrome, Mozi...

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

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

[Перевод] В стране потоков — Кафка, часть 2: Поднимаем consumer’ы В предыдущей статье мы обсуждали, как именно работает сторона producer при отправке сообщений, и с учетом данных, хранящихся внутри темы, давайте теперь углубимся в сторону consumer.Цель этой части — охватить следующее:1.Как работает сторона consumer;2.Как работает масштабир...

Код на репите. Механизмы повторного использования кода: от элитного до простого Привет! Меня зовут Грант, я .Net-разработчик. Знаете вы это или нет, но ваш код можно переиспользовать: будь то модуль, компонент или архитектура. Одни разработчики делают это осознанно, другие на уровне рефлексов. Повторное использование хорошего кода экономит время и други...

[Перевод] Стратегии роста Notion. Часть 1 Примечание Wunder Fund: мы very early adopters Ноушена и большие его фанаты. Поэтому решили перевести нетипичную для нас статью о том, как он создавался, как рос, как развивалась его стратегия. В статье есть ряд интересных мыслей про развитие продуктов.Что можно узнать о стр...

[recovery mode] Tensorflow: Используем трансферное обучение для классификации пневмонии и оптимизируем нашу модель Привет, Хабр! На связи Рустем, IBM Senior DevOps Engineer & Integration Architect.Сегодня мы будем работать с открытым набором данных по рентгенографии грудной клетки которые, использовали для этого исследования, с предварительно обученной моделью MobileNet_v2 для класси...

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

[Перевод] Как мы в Slack используем Terraform В Slack всей своей инфраструктурой, опирающейся на AWS, DigitalOcean, NS1 и GCP, мы управляем с помощью Terraform. И хотя большая её часть работает на AWS, мы выбрали Terraform в противоположность их нативному сервису CloudFormation, чтобы использовать единый инструмент сре...

СМИ: Windows 12 может получить поддержку ChatGPT Сетевые источники сообщили, что новая версия операционной Windows 12 может получить поддержку ChatGPT от OpenAI. Утверждается, что новая система находится в разработке. По данным источника, новые ИИ-возможности могут появиться в штатных приложениях, таких как «Поч...

[Перевод] Как фронтендеру стать мобильным разработчиком, или Перевод API React в Jetpack Compose Привет, я Данильян, работаю в Самокате фронтенд-разработчиком, разрабатываю бэкофисное приложение с использованием React. Когда я только начинал изучать Jetpack Сompose, я наткнулся на статью, в которой простым языком для людей, пришедших из мира веб-технологий в мир мобильн...

[Перевод] Военное вычислительное мышление. Тактический искуственный интеллект. Часть II В своём последнием посте в блоге я описал, как программы TIGER, а потом и MATE, класифицировали сражения (в терминах информатики - "объекты") на основе атрибутов, конкретнне - атрибута закреплённых и не закреплённых флангов, а после распознания их наличия или отсутвия, мы у...

[Перевод] Starting Electronics: руководство по веб-серверам на Arduino. Часть 6. Автоматическое AJAX взаимодействие с веб-сервером От переводчика. На шестом уроке мы добрались до практически полезного кода — с его помощью можно создать работающий пример «бесшовного» автоматического взаимодействия между клиентом (страницей в веб-браузере) и Arduino веб-сервером, который передаёт данные о состоянии подк...

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

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

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

Будущее евгеники: в Германии создали прототип первой в мире «искусственной матки» Биотехнологи из Германии разрабатывают прототип первого в мире оборудования для искусственной матки, которая позволит вам выбирать характеристики своего будущего ребенка из меню, как в какой-нибудь RPG.Планируется выращивать так до 30 тысяч детей в год. Проект называется Ect...

Wave Function Collapse для процедурной генерации в Unity Wave Function Collapse – это алгоритм, c помощью которого можно реализовать генерацию чего угодно, что можно было бы описать с помощью правил или конкретным примером. В этой статье мы рассмотрим, как использовать WFC для генерации карты в Unity. Читать далее

Как создать cloud-init шаблон ОС Astra Linux в Proxmox Вы когда-нибудь задумывались над тем, как вы создаете виртуальные машины?Как правило, это долгий и скучный процесс, богатый ручной работой. Читать далее

Если бы Остер раздавал советы автоматизаторам. Часть 1 Привет, Хабр! Меня зовут Мария Снопок, я отвечаю за автоматизацию тестирования на Python в X5 Tech. Я, конечно, не Остер, но могу дать с десяток вредных советов из области автоматизации. В частности, о том, как испортить жизнь себе и окружающим. В статье я собрала вредн...

Введение в библиотеку Transformers и платформу Hugging Face Библиотека Transformers предоставляет доступ к огромному кол-ву современных предобученных моделей глубокого обучения. В основном основаных на архитектуре трансформеров. Модели решают весьма разнообразный спектр задач: NLP, CV, Audio, Multimodal, Reinforcement Learning, Time ...

Основы OkHttp в Android-разработке OkHttp — библиотека и по совместительству HTTP-клиент с открытым исходным кодом для Java и Kotlin, разработанная Square, которая также создала Retrofit.Порой стоит использовать не вездесущий Retrofit, а OkHttp из-за его производительности и большего функционала.В статье подр...

Говорящая книга: четверть века спустя Четверть века назад в издательстве Addison-Wesley вышел мой первый CBT (Computer Based Training) - учебник по Visual C++ 5 [1]. Это был один из первых в Западной Европе фундаментальных мультимедиальных образовательных проектов. Четверть века - это повод вспомнить, ...

Увлекательная криптография. Часть 1 Как и многие специалисты по ИБ, я очень люблю разминать мозг различными головоломками. Идеальным для меня является формат CTF, позволяющий проверить свои знания и толику нестандартного мышления на различных типах задач.Сегодня я хочу рассказать о первой из трёх задач из ...

Популяризация JSON-RPC (часть 2) Продолжим строить подобие JSON-RPC сервера, начатого в части 1 и анализировать его плюсы и минусы. В прошлой статье был описан механизм отделения бизнес логики бэкенда от транспортного протокола (HTTP) через шаблон проектирования "Front Controller", роль которого исполняет в...

И самые лучшие книги они в рюкзаках хранят… В этом топике продолжим тему решения криптографических загадок с MysteryTwister. Ранее уже были опубликованы статьи навеянные задачами с этого ресурса («Угнать SIGABA за 24 часа», часть 1, часть 2). На этот раз возьмём задачу, основанную на классической «задаче о рюкзаке». А...

Кастомизация диалоговых окон WixToolSet на примере windows installer и executable packages Приветствую!В этой статье я покажу вам свой вариант использования набора утилит WixToolSet для создания кастомных диалоговых окон с возможностью получения предустановленной информации (пароли, явки и прочие параметры). И приведу пример использования кастомных окон в простом ...

Релокация в Боснию: нехитрые правила жизни На связи Саша Хрущев, технический директор IT-компании WINFOX. Мы открыли филиал в Боснии и Герцеговине и рассказываем, как жить и работать в этой стране. В этой статье — про то, как жить в этой стране после переезда: правила пребывания, стоимость жизни, жилье, транспорт, яз...

Тысяча и один справочник в Master Data Management Ростелекома Импортозамещение Всем привет! В предыдущей статье мы рассказали об использовании коробочного продукта Master Data Management и обещали рассказать о дальнейшем развитии подходов управления справочниками в компании. Сегодня мы сдержим свое обещание.Система MDM - специализированное програм...

Смартфоны Meizu 20 и 20 Pro протестировали в Geekbench После приобретения компанией Hubei Xingji Shidai Technology, созданной Geely, Meizu переместила свою штаб-квартиру в Ухань, Китай. В настоящее время бренд готовится к выпуску своей первой серии смартфонов с момента приобретения.

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

Богатые богатеют: Bentley установила абсолютный рекорд продаж за свою 100-летнюю историю Компания Bentley сообщилась о рекордных поставках своих машин в прошлом году. Впервые в истории производитель смог отгрузить более 15 000 машин. Компания Bentley была основана более 100 лет назад, но только в прошлом году она смогла реализовать 15 174 автомобиля, что ок...

Как мы запускали сервис по продаже подписок на Spotify, Netflix, PlayStation Меня зовут Рома Васильев, я дата-инженер. В марте 2022 года мы с коллегой создали стартап — сервис-посредник, через который в России можно купить подписки на Netflix, Spotify, PlayStation, Steam и другие площадки, которые ушли с рынка. В этой статье расскажу, как это вс...

Знакомство с Velociraptor Если такие понятия как DFIR, Threat Hunting, Security Monitoring, для вас не пустой звук, то эта статья будет вам интересна. Я расскажу про утилиту Velociraptor, которая часто помогает мне в работе. К моему удивлению, на Habr даже нет упоминания про нее, попробую это исправи...

Упрощаем себе жизнь при разработке интерфейса взаимодействия приложения и БД Привет, %username%! Меня зовут Антон Жеронкин, я Data Scientist в Сбере, участник профессионального сообщества NTA. Сегодня поговорим о том, как можно сделать лучше жизнь разработчиков, которые часто сталкиваются с базами данных. Дело в том, что, когда разработчики вручную п...

[Перевод] Ansible: 30 самых важных модулей для DevOps-профессионалов (часть 1) Модули – это дискретные единицы кода, которые можно запускать с помощью командной строки или с помощью плейбука для того, чтобы вносить определенные изменения в целевой узел или собирать с него информацию. Ansible реализует каждый модуль на удалённом целевом узле, а также со...

Obsidian + Dataview: Таблицы На статью меня вдохновил этот комментарий .Dataview - это мощный плагин для Obsidian позволяющий отбирать данные (теги, даты, числа и любые другие пользовательские параметры) markdown-заметок, а затем их фильтровать и отбирать как пожелаешь.Это такой своеобразный аналог Noti...

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

Tutorial по обмену с 1С. Часть третья: Выжимаем максимум из стандарта. Что мы хотели бы знать 1000 проектов назад Всем привет! Я Дина, ведущий разработчик личных кабинетов и ecom-систем в ИНТЕРВОЛГЕ. Мы не делаем тривиальных проектов. Все что я буду описывать ниже – уникальные задачи. Однако очень часто мы решаем их стандартными средствами за счет хитрых трюков и опыта.Disclaimer: «Сайт...

Self-Supervised Learning. Contrastive learning В предыдущих статьях мы разобрали много аспектов, связанных с SSL. Теперь пришло время посмотреть на методы, которые используют достаточно очевидное, на первый взгляд, знание - одна и та же картинка похожа, а разные картинки - разные. Это основная идея методов с contrastive...

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

Docs as Code для художественной литературы. Делаем творческий сайт ребенка с помощью MkDocs Docs as Сode — подход к работе с текстами, подразумевающий написание текста как кода: в простом текстовом редакторе или IDE; с использованием системы контроля версий; с CI / CD / Code Review. В настоящее время Docs as Code широко применяется при работе с технической докум...

[Перевод] Тестирование автоматизации Ansible с помощью Molecule Часть 1 Molecule – это проект Red Hat, призванный помочь в тестировании ролей Ansible. Он обеспечивает поддержку тестирования с различными операционными системами и дистрибуями. Molecule также является весьма разноплановым проектом, позволяющим использовать множество провайдеров вир...

[recovery mode] Jenkins pipelines с Groovy Добрый день, коллеги. Jenkins является одной из самых популярных систем CI/CD, которая применяется для построения пайплайнов сборки и доставки.Jenkins поддерживает построение пайплайнов на основе Groovy скриптов. Использование Groovy дает возможность очень гибко настраивать ...

Unity UI Toolkit: Быстрый старт Всем привет!В игре может быть множество элементов интерфейса, всплывающих окон и т. д., и когда появится необходимость изменить общий стиль, например цвет кнопки или текста, то придется это менять во всех созданных элементах, если используется старая система UI Canvas - uGUI...

Создаем простую игру с Jetpack Compose для часов на Google WearOS Библиотека Jetpack Compose значительно изменила подход к разработке нативных приложений и позволила декларативно описывать в коде интерфейсы, которые зависят от состояния и автоматически отслеживают его изменение. Но долгое время ее применимость ограничивалась платформой And...

Автоматизируем Telegram-канал с AWS Lambda и DynamoDB В этом материале вы узнаете, как создать Telegram-канал, который будет сам обновляться, получая данные из открытых источников. Используем Python, AWS Lambda, DynamoDB и BeautifulSoup. Читать далее

Как устроены интернет-платежи в Dodо Одно из направлений разработки в Dodo — интернет-платежи. Для компании это скорее утилити-функция, чем основной бизнес, но всё же нам приходится делать кучу всего, чтобы дать клиентам лучший UX и у нас накопился опыт, которым хочется поделиться.Меня зовут Дмитрий Кочнев, я р...

Claim-based авторизация на PL/pgSQL Статья о создании супергибкой системы проверки прав к ресурсам на основе клэймов и политик. В свое время был вдохновлен реализацией Claims‑based authorization in ASP.NET Core, но нужно было на Node.js (а теоретически на любую плат...

Делаем полезное Zigbee устройство из Триколор GS SMH-ZW-I1 на прошивке PTVO. Новогодняя ёлка с датчиком давления По просьбам заинтересовавшихся данной темой, продолжаю цикл постов на Хабре про создание Zigbee устройств из подручных средств. В предыдущих постах я рассказал как сделать из модуля управления умным домом Триколор GS SMH-ZW-I1 Zigbee координатор или роутер, как прошить чип C...

ChatGPT можно использовать для написания вирусов и программ-вымогателей — это подтвердили ИБ-специалисты Сетевые ресурсы сообщили, что в сети появились примеры того, как популярный чат-бот ChatGPT пишет код для вирусов. Специалисты компании Check Point Research, которая занимается сетевой безопасностью, обнаружили это и заявили, что использование ИИ повышает опасность со с...

Linux на смартфоне: считываем показания сенсоров и программируем «Куб времени» в Node-RED И снова привет! В прошлом уроке мы посмотрели проект для смартфона “Погодная станция”. Сегодня будем делать более сложный проект: “Куб времени”. Это устройство для тайм-менеджмента, которое поможет вам вести лог собственных занятий и знать, сколько времени вы тратите на рабо...

Пентагон тоже использует ChatGPT: пока что только для написания статей В Министерстве обороны США использовали ChatGPT для написания статьи, которая касается создания новой группы для борьбы с беспилотниками. Речь идёт о группе Task Force 39. Изображение сгенерировано Midjourney В пресс-релизе Cлужбы распространения визуальной информации ...

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

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

Генерация 2D мира с помощью клеточного автомата на Python Всем привет! На написание этой статьи меня вдохновил автор YouTube канала PeaAshMeter. В своем видео автор показывает простейший генератор 2D мира, который основан на простейшем правиле клеточного автомата. Что такое клеточный автомат? Какие клеточные автоматы бывают? На эти...

Что такое состояние Привет! Меня зовут Артём Арутюнян, много где меня можно встретить под ником artalar. 10 лет я разрабатываю крупные веб-сервисы, и вот уже четыре года менеджер состояния, исследуя тему реактивности, консистентности данных и состояния. А началось всё с простого вопроса: поче...

В России выросли цены на телевизоры Как сообщает РБК со ссылкой на российских продавцов электроники, в России выросли цены на телевизоры. По данным «Ситилинка», средняя цена телевизора за прошлый год выросла на 13%. В «Марвел Дистрибуции» заявили, что рост цен составил 8,2% (средни...

Microsoft выпустила список изменений сборки Microsoft Edge Stable Build 109.0.1518.49 Компания Microsoft выпустила список изменений сборки Microsoft Edge Stable Build 109.0.1518.49. Новые функции • Привязка учетной записи MSA-AAD. Microsoft позволяет пользователям, у которых есть личная учетная запись Microsoft (MSA) и учетная запись пользователя Microsoft че...

Интеграция Primefaces в приложение на Spring Boot. Часть 6 — Комбинирование компонентов для вывода сложных данных Описывается пример интеграции библиотеки компонентов пользовательского интерфейса Primefaces, построенной на основе фреймворка JavaServer Faces (JSF), в MVC приложение на Spring Boot.Первая часть | Вторая часть | Третья частьЧетвертая часть | Пятая часть Читать далее

Торговые роботы на Python Привет! На связи команда Тинькофф Инвестиций. В этой статье рассказываем про Tinkoff Invest API, объясняем, как написать робота на Python, и разбираем плюсы этого языка в сравнении с другими. А вместо заключения ловите гайд по созданию робота на примере работы победителя наш...

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

Тихая революция: с ноября 2022 года часть статей на портале CNET писала нейросеть На портале CNET публикуется немало статей и новостей. Однако, похоже, не все они написаны людьми. Как сообщается, примерно с ноября 2022 года часть материалов финансовой тематики генерировалась с помощью нейросети. Эти материалы опубликованы от имени автора CNET Money ...

Изучаем PostgreSQL. Часть 1. Знакомимся с архитектурой  На сегодняшний день существует большое количество различных систем управления базами данных - СУБД, от коммерческих до открытых, от реляционных до новомодных NoSQL и аналогичных.Одним из лидеров направления СУБД является PostgreSQL и ее различные ответвления, о некотор...

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

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

Что такое service mesh простыми словами Всё больше компаний переходят на микросервисы. Такой выбор вполне оправдан: при должной реализации они решают множество проблем монолита. За последние несколько лет микросервисная архитектура сильно эволюционировала и обросла вспомогательными технологиями, одна из которых se...

84 года Дональду Кнуту На его книгах обучилось не одно поколение программистов, в том числе, и в нашей стране. Созданная им в 70-х годах прошлого века система набора текста TeX до сих пор активно используется по всему миру для верстки высококачественных документов, таких как исследовательские ра...

Обзор книги Дэна Бейдера «Чистый Python. Тонкости программирования для профи» — почему её стоит прочитать Для кого эта книга? Точно не для начинающих — это не учебник. Скорее, для профессионалов, но и не для гуру. Если вы уже программируете на Python, но всё ещё чувствуете себя неуверенно в чисто питоновских концепциях, то эта книга для вас. Особенно, если до этого вы писали при...

Обзор ChatGPT с примерами использования в различных задачах Одно из знаковых событий 2022 года помимо text-to-image моделей - это, безусловно, модель ChatGPT. Выйдя на суд общества, она смогла найти как большой круг почитателей и восхищающихся её способностями, так и довольно существенное число скептиков и борцов за торжество Естеств...

У нас была стратегия и мы её придерживались: как подружить бизнес и DevRel, сохранив ментальное здоровье Если к вам однажды приходил лид отдела мобильной разработки со странным запросом «Хотим 40 статей — нам через месяц надо 40 разработчиков», то эта статья для вас. В статье расскажу, как управлять ожиданиями с помощью простого фреймворка для деврелов. Читать далее

Как ускорить сайт на WordPress за 15 шагов Оптимизация скорости сайта на WordPress — одна из тех тем, которые, казалось бы «перекопаны» вдоль и поперек, но продолжают вызывать постоянный интерес. И, если задуматься, это совсем неудивительно. WP остается самой популярной CMS, на которой работает более 43% сайтов. Техн...

[Перевод] Запросы к MongoDB из Java с помощью билдера фильтров В этой статье разберемся, как использовать класс Filters для запросов к MongoDB.Класс Filters представляет собой билдер для удобного написания фильтров запросов. Фильтры — это некоторые условные операции, которые MongoDB использует для ограничения результатов. Читать далее

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

[Перевод] React + TypeScript: необходимый минимум Привет, друзья! Представляю вашему вниманию перевод этой замечательной статьи. Многие React-разработчики спрашивают себя: надо ли мне учить TypeScript? Еще как надо! Преимущества изучения TS могут быть сведены к следующему: ваши шансы получить более высокооплачиваемую раб...

Self-Supervised Learning. Обучение на изображении и его аугментациях Ранее мы разобрали, что за зверь такой SSL и какой линейкой его можно померять. Также окунулись в историческое прошлое SSL методов глубокой древности (4 года назад

Как контролировать задачи в MODX Revolution — делаем TODO виджет для админки В CMF MODX Revolution изначально не предусмотрена возможность ставить задачи и привязывать их к ресурсам. Такое дополнение я тоже не нашел, да и было интересно разобраться в создании виджетов, поэтому придумал решение, как можно быстро реализовать такой функционал на своем с...

Производитель запрещённых для ввоза в Россию чипов создал свой первый 32-ядерный процессор Китайская компания Loongson готовится выпустить новый процессор — Loongson 3D5000. Его отличительной особенностью является рекордное для серии количество ядер.

Создание персонажа для тестирования и работы с VR без шлема Эта статья может быть полезна тем кто хочет попробовать создать механики для VR но у него еще нет шлема, или если у вас уже раскалывается голова от постоянного тестирования вашего продукта.Именно такая проблема и побудила меня задуматься в этом направленииДля того чтобы не у...

Сам себе сотовый оператор … Кроме типовых для журнала статей, там была статья за авторством некоего «DI HALT» про то, как из двух телефонов и микроконтроллера извлечь кучу лулзов. «Прикольный ник» — подумал мальчик Андрей и перелистнул страницу, ибо ниасилил. А за ней была статья того же автора про т...

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

Раннер Sky Dancer 2 выпустили в App Store Sky Dancer 2 — мобильный раннер и продолжение серии Sky Dancer. Первая игра доступна на iOS и Android, а вот вторая часть — пока лишь на iOS. Мы обновим новость, как только появится информация. Игрокам Sky Dancer 2 предстоит автоматически бегать по сказочному миру, зачастую...

[Перевод] Genie Builder v0.2: ускорьте разработку вашего приложения на Julia В этой статье представлен перевод руководства: "How to quickly turn your Julia code into a web app with Genie Builder". В статье пойдет речь о новом инструменте быстрой разработки web-приложений на основе Ginie Framework - платформы для интернет приложений на языке Julia. ...

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

Приколы с ChatGPT: обмануть или быть обманутым Привет, Хабр! В этой статье я написал про ошибки и приколы, с которыми я столкнулся за пару дней использования ChatGPT. Сразу оговорюсь — таких жёстких примеров, как на картинке, у меня не было. Но были даже более интересные! Читать далее

НАТО создаст виртуальную сеть спутников для разведки Генсек НАТО Йенс Столтенберг заявил, что Альянс создаст виртуальную сеть, объединяющую данные гражданских и военных спутников для нужд разведки. Реализация этой инициативы, по сути, стирает разницу между военным и гражданским спутником, ведь и тот и другой будут использовать...

Как я приложение с Go на Rust переписывал О Rust я слышал ещё несколько лет назад и все его либо хватили, либо порицали, по различным причинам, но сам как-то не брался за него - мне, неподготовленному к подобному синтаксису и не знакомому с подобными языками хотя бы на базовом уровне, в то время он казался совершенн...

Полная история создания игры Elite (1984). Часть 2 Elite — компьютерная игра, которую выпустила Acornsoft в 1984 году для компьютеров BBC Micro. Ее создали два 19-летних студента — Дэвид Брабен и Йен Белл. Это прорывной для своего времени космический симулятор с открытым миром и элементами экономической стратегии, который ...

[Перевод] Создайте конвейер потоковой обработки событий в реальном времени с помощью Kafka, BigQuery & Looker Studio Создание простого проекта потоковой обработки событий – не самая простая задача. В сегодняшней статье мы расскажем, как можно достаточно просто сделать это при помощи Kafka, BigQuery & Looker Studio. Приложения для потоковой обработки в реальном времени иногда могут бы...

Как за неделю превратить Open redirect в RCE В этой статье я расскажу вам о том, как ровно год назад я связал в цепочку несколько проблем безопасности для достижения Удаленного выполнения кода (RCE) на нескольких серверах компании VK. Я постарался описать свои шаги в подробностях, так как мне самому, как постоянному чи...

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

Рецепт красивого бабаха. Три составляющих хорошего силового преобразователя. Часть 2 У вас есть симпатичная плата силового преобразователя? Тогда мы идём к вам! Давайте взорвём его! На картинке источник питания и «всё что осталось после нашей с ним работы». Приветствую. Это вторая часть статьи о трёх составляющих преобразователя. Сегодня доберёмся до некото...

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

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

API Честный знак как получить ключ сессии Привет habr!Хочу поделиться опытом работы с API системы маркировки товаров «Честный Знак» (ЧЗ) / МДЛП (маркировка лекарственных препаратов), в части выгрузки статистических данных.Не раз сталкивался с интеграцией различных источников данных в аналитические системы, но конкре...

Kotlin-сервер без JVM — реальность? Не секрет, что Kotlin может использоваться для создания всех компонентов FullStack-приложения - от мобильных приложения для Android/iOS и веб-сайтов на Kotlin JS до бэкэнда (например, с использованием Ktor, http4k и micronaut). Но все же многих останавливает от использования...

На Twitch запустили бесконечный сериал в стиле ситкомов 80-х. Его генерируют нейросети На платформе Twitch запустили сериал Nothing, Forever в стиле ситкомов 80-х годов. Он примечателен тем, что полностью создаётся с помощью нейросетей. Реплики для сериала «придумывает» ChatGPT, а DALL-E, Stable Diffusion и Azure Cognitive Services генерируют ...

[Перевод] Как писать код на Go? Подход Google. Часть первая Рекомендации по стилю для проектов из Google с открытым исходным кодом Руководство по стилю Go Принципы стиля Есть несколько общих принципов, обобщающих представления о том, как писать читаемый код на языке Go. Ниже перечислены признаки читаемого кода в порядке их важности: ...

Go 1.20 и арена памяти Одной из революционных особенностей Go в сравнении с другими компилируемыми языками стало автоматическое управление освобождением памяти от неиспользуемых объектов (сборка мусора). В то же время она может привести к потере производительности при передаче контроля процессу уп...

Сравнение экономики в Eve Online и в реальности Мы, студенты Казанского техникума информационных технологий и связи Канев Даниил и Будник Илья под кураторством преподавателя экономики Маннаповой Диляры Фирнандовны приняли решение рассмотреть экономическую часть игры Eve Online и сравнить её с настоящей экономикой.EVE Onli...

Искусство типизации: TypeScript Utility Types Что вы чувствуете от познания нового? За себя скажу, что в такие моменты просветления меня переполняет неподдельная детская радость от свершившегося открытия. Жаль, что этих моментов становится всё меньше. К чему я это? Когда мне в голову мне пришла мысль о написании статьи ...

Догони меня: анимационный фильм, созданный с помощью 3D-печати Начало 3D-приключенийДогони меня (Chase Me) - первый фильм, полностью записанный с использованием напечатанных 3D-моделей, который был создан Жилем-Александром. Его всегда завораживало смешение 3D и других медиа. Его увлечение 3D-печатью началось с выхода в 2009 году фильма ...

ИИ в конце 2022 года или как ИИ может помочь создать видеоролик 2022 год уходит. Чем же он нам запомнился? Несомненно, одно из последних достижений года - ChatGPT, самая спорная вещь в комьюнити: кто-то говорит “зачем такое создавать, роботы скоро оставят миллионы журналистов, писателей, блогеров, креаторов без работы”, другие же напроти...

Нейросеть ChatGPT сделала за меня анализ данных: аналитики будут не нужны? От автора Telegram-канала Аналитика и Growth mind-set (делюсь кейсами с работы, бесплатным обучением, задачами с собеседований).Последовательно я проверила, как нейросеть:- справится с написанием SQL-запросов разной сложности- с задачей визуализации данных и получе...

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

PVS-Studio и protobuf-net: лучшие предупреждения в один клик Разбираем best practice знакомства с PVS-Studio. Покажем быстрый старт работы с анализатором на примере проекта protobuf-net. Читать далее

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

Цифровой рентген: реверсировал, реверсировал, да и выреверсировал Весной 2022 о заморозке своей деятельности на территории РФ заявили основные мировые производители программного обеспечения для компьютерной томографии (КТ). От "хорошей" жизни нам пришлось запустить проект разработки собственного КТ‑реконструктора совместно с командой ...

Электрификация сельских районов в Африке: кейс создания солнечного микрогрида Попалась на глаза любопытная статья об электрификации сельских районов в Африке на примере общины с очень выразительным для русского уха названием Йебу (Yebu) [1]. Поскольку это явный пример освоения "неудобий", о которых мы часто пишем в развитие концепции геоклиматических ...

Поиск данных в инструментах Data Governance: вызовы и решения Добрый день!Меня зовут Никита, я работаю ведущим системным аналитиком в Департаменте управления данными компании Ростелеком.В данной статье я опишу наш опыт использования Реестра отчетов и Бизнес-глоссария, подводные камни, с которыми мы столкнулись, а также планы по оптимиз...

Разделяй и властвуй: как развивалась сеть Selectel Сегодня Selectel объединяет шесть собственных дата-центров в Москве, Санкт-Петербурге и Ленинградской области. И еще два партнерских — в Новосибирске и Ташкенте. В начале развития компании все было иначе: первые дата-центры сильно зависели друг от друга, а при доступе мос...

Тестирование PHP проектов на примере Symfony Хочу описать свои наработки и устоявшиеся подходы к тестированию PHP проектов. Последние годы я работаю с Symfony и здесь будет достаточно моментов специфичных для этого фреймворка. Так же в этой статье термин функциональные тесты (functional) является синонимом End-to-End т...

Сравниваем инструменты мониторинга IT-инфраструктуры Zabbix, Icinga, Prometheus Инструменты мониторинга IT-инфраструктуры позволяют полностью отслеживать ее состояние: собирать данные, анализировать и визуализировать их, оповещать о сбоях и т.д. В этой статье рассмотрим платформы Zabbix, Icinga и Prometheus. Разберем их UI, архитектуру, принципы сбора м...

На ПК успешно запустили самую первую версию iPhone OS Мартин де Вос (Martijn de Vos), также известный как devos50, запустил на ПК самую первую версию iPhone OS, выпущенной для iPod touch первого поколения в 2007 году. Реализация проекта заняла больше года. В своём блоке разработчик объясняет, что сложной частью была эмуляц...

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

Ford F-серии уже 46-й год подряд становится самым продаваемым пикапом в США. Ford продаёт по машине каждые 49 секунд По заявлению Ford, в 2022 году в США было продано не менее 640 000 пикапов F-серии, что означает, что Ford F-серии снова стал самым продаваемым автомобилем в США. Компания заявляет, что в прошлом году она продавала в среднем один пикап F-серии каждые 49 секунд. Ассортим...

Обновляем платформу 1С на сервере под управлением Linux Данная статья является, по сути, моей методичкой о том как перевести сервер 1С и прилегающие сервисы, работающие под Linux на новую версию платформы.Действуя по этой методичке вы сможете пройти короткий путь по переводу своей инфраструктуры на новую версию платформы в конце ...

[Перевод] Starting Electronics: руководство по веб-серверам на Arduino. Часть 1 От переводчика. В сети есть много информации о работе веб-серверов на микроконтроллерах, но она плохо структурирована и не отличается системным подходом к изложению материала. Среди прочих есть в интернете один замечательный, можно сказать культовый, туториал (руководство)...

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

Исследование нагрузки на ELK stack и тюнинг Logstash Всем привет! Меня зовут Александр, и в этой статье я расскажу про то, как столкнувшись с многократно увеличившейся нагрузкой на ELK stack сначала было диагностировано узкое место, а после произведён его тюнинг. Хоть и в заголовке статьи уже есть спойлер что произведен только...

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

Колдовской NeoVIM. Часть третья. «Режимы сна, отдыха и Nvim’a» Режим в жизни нужен для того, чтобы не растолстеть к тридцати годам и высыпаться.Режимы в Nvim нужны для того, чтобы сломать жизнь неподготовленным чародеям, а выспаться вы сможете только тогда, когда полностью прочитаете всю документацию, сможете выйти из Nvim и, просветлен...

Jenkins Dynamic Agents в K8s Привет Хабр! На связи Рустем, IBM Senior DevOps Engineer & Integration Architect. В этой статье я хотел бы поделиться своим недавним подходом к динамической подготовке агента Jenkins с помощью простых строк кода в пайплайне Jenkins с использованием метода общей библиотек...

Подробный гайд по Docker на M1 Я Александр Калинка из компании Evrone. Мы работаем удалённо с 2008 года и делаем это на собственных устройствах. Иногда возникает проблема, как установить, настроить и запустить все приложения и сервисы, необходимые для использования ...

Как ускорить бэкап и сэкономить место на сторадже: на примере ArenadataDB ddboost и СХД Dell EMC Data Domain Всем привет, меня зовут Андрей, я – системный архитектор Arenadata и в этой статье мы рассмотрим интеграцию решения логического резервного копирования и восстановления gpbackup/gprestore с программно-аппаратным комплексом Dell EMC Data Domain — задача, которой наша команда р...

Разворачиваем Kubernetes-кластер на bare metal под управлением Deckhouse и создаем в нем виртуальные машины В новом релизе Kubernetes-платформы Deckhouse v1.43 появилась система виртуализации, основанная на современных технологиях: KubeVirt, Cilium, LINSTOR. Она позволяет в удобном и привычном для пользователя платформы режиме запускать виртуальные машины и управлять их жизненным ...

Как я организовал продажу электронной версии Книги нормального фрилансера и с какими трудностями столкнулся Я написал Книгу нормального фрилансера. В ней поделился опытом работы проектировщиком (UX‑дизайнером) с 2006 года по сегодняшний день. На момент написания этой статьи с книгой познакомилось не меньше 2 000 человек. Десятки положительны...

Использование методов А/Б тестирования. Решение практического кейса в Python Привет, Хабр! В данной статье будет рассмотрено применение логистической регрессии, причинного случайного леса (Causal Random Forest), метода CUPED для оценки изменения целевой переменной в Python при проведении А/Б тестов. Основное внимание будет уделено практике, теоретиче...

Как я написал свой язык и онлайн IDE Здесь онлайн интерпретатор, здесь документация.В сентябре 2020 года я учился на 2 курсе. В том же месяце я впервые написал программу, которая мне понравилась. Она создаёт svg изображения растений, здесь её можно потрогать.Чуть позже я выяснил, что такие программы называют пр...

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

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

Как стать Android разработчиком в 2023 И так, давайте начнем с того, что должен знать и уметь человек, чтобы стать Android разработчиком? Скиллсет будем смотреть по вот этому Roadmap Читать далее

Бардак в main, стандартизация и uber.fx. Как сделать структуру кода понятнее для всех Привет, Хабр! Меня зовут Данила Проценко. Я — Lead Software Architect в «Лаборатории Касперского», занимаюсь архитектурой микросервисов и монолитов на Go. Строгий порядок — залог успешного промышленного программирования. А порядок, в свою очередь, начинается со стандартиза...

Алгоритм HyperLogLog, или Оцениваем мощность множества за O(1) Привет, Хабр! Меня зовут Максим, я учусь на третьем курсе МФТИ. Этим летом я участвовал в студенческой программе, которую проводила команда Tarantool. Если кратко, суть программы в том, чтобы самостоятельно или в команде решить исследовательскую задачу в определенный срок....

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

Часы реального времени — RTC (real time clock) на одноплатном компьютере. На примере Repka Pi 3 — аналоге Raspberry Pi 3 Эта статья посвящена решению задачи добавления часов реального времени на примере конкретных и широко доступных модулей для RTC и на примере одного конкретного подхода к реализации и алгоритму работы и является скорее примером, демонстрирующим общий принц...

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

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

Ruby под нагрузкой, или Как поменять Puma на Falcon за неделю до релиза Всем привет! Меня зовут Александр Шерман, я тимлид в команде CRM в Самокате. Мы в первую очередь известны по своей модели доставки заказов от 15 минут. Чтобы укладываться в такой норматив, у нас достаточно жёсткие SLA (2,5 минуты на сборку заказа), что, в свою очер...

Git scraping: методика бесплатного хостинга не совсем статических сайтов Ни для кого не секрет, что, используя GitHub Pages, вы можете бесплатно разместить свой статический веб-сайт в сети Интернет. 1 Гбайт доступного пространства, SSL-сертификат, возможность привязать собственный домен — разве не сказка? Но что делать, если вам необходимо, чтобы...

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

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

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

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

Эволюция Dev-серверов CarPrice: от монолита к микросервисам и Kubernetes Нужен ли каждому разработчику свой dev-сервер? Многие компании, опасаясь лишних расходов и проблем, даже не пробуют внедрить такой подход.CarPrice развернул свои dev-серверы еще в те далекие времена, когда все работало на монолите. А после монолита пилил собственный сервис д...

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

JavaScript: замена фона видео и реализация интересных эффектов на основе координат лица в реальном времени Привет, друзья! Я продолжаю изучать MediaPipe — библиотеку с открытым исходным кодом от Google, предоставляющую "кроссплатформенные и кастомизируемые решения на основе машинного обучения для работы с медиа", и в этой статье хочу рассказать вам о 2 инструментах: ...

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

[Перевод] Как мы обновили старый кластер Elasticsearch на 3 ПБ без простоев. Части 6 и 7 (финальная) Прим. переводчика: автор статьи рассказывает, как его команда убедилась, что новый кластер Elasticsearch работает в соответствии с ожиданиями и полностью готов к production-нагрузкам. Также подводит итоги всего процесса и анализирует получившуюся архитектуру нового кластера ...

Антирейтинг 2022 Эта статья написана по аналогии со статьей «Как не надо писать на Хабр: Антирейтинг 2017». Статьи взяты за 2022 год. Кроме отрицательных значений рейтинга, есть список по абсолютному количеству минусов (видимо, самые обсуждаемые темы). «Вот найдется же нехороший, которому ...

Что под капотом «ответов на вопросы» Маруси? Привет, это команда ответов на вопросы Маруси.Этот материал состоит из двух частей. Это вторая часть (первая часть). В ней мы чуть глубже копнём технический аспект того, как устроены ответы на вопросы Маруси.В первой части мы поверхностно рассмотрели механизм, позволяющий на...

[Перевод] 5 неочевидных возможностей FastAPI: упрощаем работу с бэкендом на Python Почти все, с чем мы сталкиваемся в интернете, имеет отношение к API, а точнее к версиям этого программного интерфейса, использующим для работы HTTP-запросы. Когда мы хотим узнать прогноз погоды, интерфейс браузера или мобильного приложения вызывает API Яндекс.Погоды или API ...

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

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

Samsung создаёт вторую команду для разработки однокристальных систем Exynos Похоже, компания Samsung пересматривает свою бизнес-модель относительно создания собственных однокристальных систем Exynos.   Как сообщает ресурс The Elec, подразделение Samsung Mobile Experience Business сформировало группу разработки решений для SoC. Судя по все...

Аномалии под нагрузкой в PostgreSQL: о чём стоит помнить и с чем надо бороться В этой статье мы разберём несколько аномальных случаев высокой нагрузки в СУБД PostgreSQL. Что это такое? Обычно PostgreSQL хорошо показывает себя под нагрузкой и оправдывает ожидания в отношении производительности — она остаётся высокой. Но при определённых профилях нагрузк...

Самый мощный ноутбук в истории Razer. Первые детали и изображения Spirit Blade 18 Компания Razer объявила, что на выставке CES 2023, которая пройдёт на этой неделе, она представит два ноутбука: Spirit Blade 16 и Spirit Blade 18. Компания подтвердила, что серия игровых ноутбуков Razer Blade впервые будет доступна в таких размерах. Razer не сообщила бо...

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

В Samsung Galaxy S24 тоже будет использоваться разогненная версия Snapdragon, а новый Exynos дебютирует только в Galaxy S25 в 2025 году Инсайдер Йогеш Брар утверждает, что Samsung планирует и в будущем выпускать разогнанные версии однокристальных систем Snapdragon для своих смартфонов. В частности, сообщается, что в серии Samsung Galaxy S24 также будет использоваться разогнанная однокристальная система ...

Создаем кибер-разведку в компании на основе OSINT Привет ХАБР. Тема, которой посвящена эта статья с одной стороны важна, ведь в кибер-пространстве «неспокойно». Каждый день приходят новости, что ту или иную компанию взломали хакеры, получили дампы или зашифровали данные. Защищаться от кибер-угроз, выстраивая целую инфрастр...

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

Эд Бун назвал персонажа, которого мечтает добавить в новую часть Mortal Kombat Один из создателей серии Mortal Kombat Эд Бун рассказал какого героя давно мечтает добавить в Mortal Kombat. Что любопытно, им оказался персонаж другой культовой серии файтингов. Читать полную статью

Автоматизация ревью ТЗ с помощью инструмента Comala для Confluence. Углубленная автоматизация В предыдущей статье мы рассмотрели, как можно собрать базовую автоматизацию ревью для документации и как уже на этом этапе она облегчает жизнь аналитику и команде. Однако всегда появляются новые задачи для решения, и всегда можно посмотреть шире. Придумать, что еще можно сде...

Подготовка инженеров АСУТП в ВУЗе. Часть 1 — Прошлое Это первая из трех частей, описывающих развитие процесса обучения инженеров АСУТП. Целью всех трех статей является попытка осмыслить подготовку инженеров АСУТП в ВУЗе (какая была, и какая есть сейчас), и обсудить с сообществом хабра, какой она должна быть в будущем. Каким об...

Облачный умный дом: что нужно знать, чтобы избежать проблем В обычной жизни я не только тестирую оборудование умного дома, но и очень много путешествую. Любимое хобби в поездках – трекинг, особенно в холмистой местности. Ходил я и по лестницам Непала, и по левадам Мадейры, и по козьим тропам Азорских островов. К чему это я? Многим об...

Apple разрабатывает собственный чип Wi-Fi и Bluetooth Компания Apple занялась разработкой собственного модема еще несколько лет назад. Первые намеки на это появились в 2018 году. Позднее купертиновцы приобрели профильное подразделение Intel. Однако пока Apple не готова полностью переходить на модемы собственной разработки. Пере...

Устанавливаем Kubernetes-платформу Deckhouse в закрытом окружении. Пошаговая инструкция Продолжаем серию статей про установку Deckhouse в разные окружения. Мы уже рассказывали про развертывание в Yandex Cloud. Эта статья посвящена установке платформы в закрытое окружение, когда у машин, на которых разворачивается кластер, нет доступа в Интернет. Читать далее

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

Кейсы разметки в CVAT #1: найди отличия Привет, дорогие читатели! Меня зовут Алина, я работаю операционным менеджером в компании Training Data, которая занимается сбором и разметкой данных. Я веду проекты по разметке, а еще благодаря знанию python пишу скрипты для автоматизации работы своей команды. У меня накопил...

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

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

Как настроить простой DNS-сервер для локальной сети Если вы впервые столкнулись с необходимостью поднять DNS-сервер для локальной сети под Linux, то эта статья – для вас. Преимущество предлагаемого способа – простота: сервер можно настроить буквально за несколько минут. Но этот способ, скорее всего, не подойдёт для продакшн с...

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

История 8-битного ПК Amstrad CPC464. Часть вторая Первая часть посвящена в большей степени создателю CPC Майклу Шугару, и лишь немного – самому компьютеру. Но для того, чтобы понять, почему именно таким получился третий по популярности ПК в Англии, ее стоит прочитать. В моем комментарии к первой публикации есть ссылки на бо...

[Перевод] Создаем сервис для Serverless перевода голоса, как в Cyberpunk 2077 На днях мне наконец-то удалось поиграть в Cybperunk 2077, и я заметил, что в игре есть одна интересная особенность: Когда персонаж говорит на иностранном языке, текст сначала появляется над ним в оригинале, а затем как бы вживую переводится на английский.Тогда я задался вопр...

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

[Перевод] Всё про USB-C: ответ через протокол PD В последней статье мы настроили FUSB302 на получение сообщений USB PD и успешно получили «оповещение о возможностях» от БП с USB-C. В этой же статье мы обратимся к спецификации PD, спарсим сообщение, после чего создадим ответ, который заставит БП подать максимально возможно...

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

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

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

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

История 8-битного ПК Amstrad CPC464. Часть первая На Хабре есть масса статей, посвященных ZX Spectrum и Commodore C64, компьютерам позднего СССР типа БК-0010, а вот про Amstrad CPC464 я нашел только два обзорных материала. Это печально. Amstrad CPC - культовый компьютер середины 80х. Выпущенный в 1984 году, он несколько опо...

На развитие квантовых технологий в России направят 100 миллиардов рублей «Дорожной картой» по развитию квантовых вычислений предусматривается создание собственного 100-кубитного процессора к 2025 году. Зампред правительства РФ Дмитрий Чернышенко провел совещание по развитию высокотехнологичной отрасли «Квантовые вычисления». С основным докладо...

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

[Перевод] Starting Electronics: руководство по веб-серверам на Arduino. Часть2. HTML и веб-сервер с SD картой От переводчика. Продолжаем изучать тему создания веб-серверов на Arduino и на микроконтроллерах вообще. В этой статье скомпанованы две части оригинального руководства — «Структура веб-страницы (HTML)» и «Arduino веб-сервер с SD картой». Материал в этих уроках излагается п...

Microsoft выпустила список изменений сборки Microsoft Edge Beta Build 109.0.1518.14 Компания Microsoft выпустила список изменений сборки Microsoft Edge Beta Build 109.0.1518.14. Новые функции • Привязка учетной записи MSA-AAD. Microsoft позволяет пользователям, у которых есть личная учетная запись Microsoft (MSA) и учетная запись пользователя Microsoft чере...

Доставайте шапочки из фольги: насколько больше Windows 11 «шпионит» по сравнению со старыми ОС Microsoft Многие слышали заявления о том, что Windows 11 интенсивно «шпионит» за пользователи. Как показывает опубликованное недавно на YouTube видео на канале The PC Security Channel, ОС Windows 11 действительно отправляет внушительные объемы данных на собственные и ...

Что такое GitOps и почему он (почти) бесполезен. Часть 2 Одной каноничной синей изоленты может не хватить Каждый раз, когда появляется новая технология, на очередной конференции вам показывают отполированного коня в вакууме, который сияет своей красотой и логичностью. Но, как правило, дьявол кроется в деталях. Гравитация оказыва...

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

Интеграция Primefaces в приложение на Spring Boot. Часть 3 — динамическое обновление контента страницы Описывается пример интеграции библиотеки компонентов пользовательского интерфейса Primefaces, построенной на основе фреймворка JavaServer Faces (JSF), в MVC приложение на Spring Boot.Первая частьВторая часть Читать далее

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

Разворачиваем MySQL: репликации и секционирование В этой статье сначала настроим репликацию данных на второй сервер, а затем рассмотрим различные варианты секционирования. Читать далее

Жуткий сценарий использования ChatGPT Вчера у меня в ленте на фейсбуке (жаль что в закрытом посте) проявился еще один аспект ChatGPT, жуть которого я не вполне осознавал. Представьте, что ваш менеджер присылает вам емейл: "я вот тут сгенерил с помощью ChatGPT код на языке описания аппаратуры SystemVerilog, котор...

Data driven SRE Начнем эту увлекательную историю издалека. Во время первого локдауна, в начале 2020 года, сайт Леруа Мерлен испытал бóльшую нагрузку, чем когда-либо. Проводившие много времени дома и на даче наши пользователи взялись чинить полочки, проектировать новые кухни и всеми силами д...

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

Процесс запуска и проведения АВ-тестов Приветствую, уважаемые читатели Хабра. Меня зовут Николай Французов, я digital-аналитик в компании Tele2, занимаюсь сбором и анализом данных, построением дашбордов и проведением А/В-тестов.Я хотел бы рассказать вам о том, как мы проводим тесты в нашем проекте, и поделиться о...

Жизненный цикл задачи после разработки Что есть задача для разработчика?  Как правило, разработка получает от продукт-менеджера, техническое задание на разработку новой или исправление старой функциональности. Например, это выражено в виде PRD https://en.wikipedia.org/wiki/Product_requirements_document ...

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

КриптоПро в Linux контейнере для использования КЭП от ФНС С Нового Года в России от Индивидуальных Предпринимателей (ИП) и директоров Обществ с Ограниченной Ответственностью (ООО) требуют использовать Квалифицированную Электронную Подпись (КЭП) выданную Федеральной Налоговой Службой (ФНС).В этой статье речь пойдёт о том, как работа...

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

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

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

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

From Zero to Hero: определите ваш уровень решения LeetCode задач от 1 до 5 В этой статье я хочу написать про мой опыт взаимодействия с платформой LeetCode, и описать свою подготовку к интервью в FAANG подобные компании путем разбиения ее на уровни.А какой у вас уровень? Читать далее

Универсальный VPN с WireGuard, MikroTik и Keenetic В данной статье я поделюсь опытом и конфигами для построения универсального семейного VPN - как для конечных потребителей, так и для организации сетевого взаимодействия между дачей и квартирой. Читать далее

Честно об уровнях знания языка/владения языком (Субъективное мнение о системе языкового образования и её связи с IT) Добрый день! Недавно я прочитал статью об английских артиклях на данной платформе, и она вдохновила меня на публикацию своих мыслей о системе современного языкового образования.Немного обо мне. Я занимаюсь преподаванием английского уже 7 лет, последние три года я сотрудничаю...

[Перевод] Rust: что такое unit-подобные структуры? Определение, назначение и примеры Unit-подобная структура (или “unit-like”, потому что она похожа на пустой кортеж (), иногда называемый “unit”) — это специальная структура на языке программирования Rust, которую мы объявляем без каких-либо полей. Определяется она с помощью ключевого слова struct, за которым...

[Перевод] Состояние WebAssembly в 2022-23 годах Автор статьи Жерар Галлан известен как автор книги “WebAssembly in Action”, выпущенной Manning в 2018 году. Существует перевод его книги на русский — “WebAssembly в действии” (Питер, 2022). Предыдущий обзор The State of WebAssembly – 2021 and 2022 опубликован автором в январ...

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

ChatGPT. Новая парадигма, новый мир. Часть 1 3 недели назад я написал инструкцию о том как получить доступ к ChatGPT в России. За это время она неожиданно набрала более 130т просмотров, что показывает явный интерес сообщества к этой теме.За последнее время я собрал достаточно много интересной информации вокруг этой тех...

Архитектура предприятия в гигантах индустрии Архитектура предприятия — это дисциплина, которая фокусируется на проектировании и управлении системами, процессами и структурами организации. Она направлена на то, чтобы они соответствовали бизнес-целям и задачам и были эффективными, результативными и адаптируемыми.IBM, Goo...

[Перевод] Kubeflow: учимся устанавливать и запускать Kubeflow на локальной машине Пошаговое руководство по установке и конфигурированию всех компонентов kubeflow на локальной машине. Рис. 1. Взаимодействие Kubeflow и Kubernetes | рисунок автора |иконки от Eucalyp Kubeflow [1] – это созданная Google опенсорсная платформа, на которой разворачивается весь...

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

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

Как же так, Microsoft? Сторонний разработчик уже добавил ChatGPT в Word Компания Creative Data Studios разработала плагин для Microsoft Word, который называется Ghostwriter ChatGPT, который добавляет функциональность чат-бота в текстовый редактор. Новинку создали без участия Microsoft. На данный момент доступны две версии плагина: за 10 и ...

[Перевод] Starting Electronics: руководство по веб-серверам на Arduino. Часть 4. Отображение состояния кнопки на веб-странице От переводчика. В этой части руководства автор собирает ещё одну часть пазла и объясняет каким образом можно отображать состояние кнопки на веб-странице. Разумеется, это не обязательно должна быть кнопка, это может быть переключатель, джампер, контакты реле или что-то подо...

Developer app analytics: аналитика приложений для разработчиков Это способ управления данными для вашего приложения. Обычно это делается с помощью таблиц базы данных, но с растущим количеством вариантов это может быть не всегда необходимо. Используя Developer app analytics - AppRank можно провести анализ.На что обратить вниманиеАналитика...

2022. Год из жизни CTO в GameDev Доброго времени, Хабр!Сначала немного представлюсь. Меня зовут Сергей. В IT я уже более 13 лет из них в GameDev более восьми. Так вышло, что до написания статьи на хабр дошел только сейчас. И дошел только благодаря подписчикам моего небольшом канала по разработке игр в teleg...

OpenSSL + ГИС ЖКХ Это ода данному посту и его законное продолжение.Реализация описана для PHP, но подходит для всех.КонфигиНачнём с контейнера, из которого будем общаться с ГИС ЖКХ. Тут приведён конфиг контейнера с продакшена, поэтому есть лишние (для вас) пакеты.Пока просто посмотрим, поясне...

Как настроить Gitlab CI/CD для Android и Firebase App Distribution для доставки сборок Привет, меня зовут Антон Рябых, я технический директор компании Doubletapp, и я расскажу, как реализовать сборку Android-приложений на Gitlab CI/CD с последующей загрузкой в Firebase App Distribution для удобной доставки.Это позволит нам:• автоматически собирать сборки на к...

DSL фреймворк для создания Telegram ботов Родилась у меня идея! Я хочу создать фреймворк, который позволит пользователям писать своих ботов Telegram с помощью языка, специфичного для конкретной области (DSL), или визуального представления, например, диаграммы UML. На основе предоставленных данных фреймворк будет ге...

Реверс-инжиниринг китайского ПЛК FX3U-14MR. Часть 2. Софт В первой части мы познакомились с аппаратным обеспечением китайского клона ПЛК FX3U-14MR (одного из его вариантов). В это части мы научимся подключаться к его MCU по доступным коммуникационным интерфейсам, останавливать, запускать программу, заливать прошивку. И в конце расс...

Microsoft представила новый ИИ Kosmos-1. Он понимает текст с картинками и умеет решать головоломки На днях исследователи из Microsoft представили Kosmos-1, ИИ-модель, которая умеет анализировать изображения, находит на них текст и распознавать его, решать визуальные головоломки, проходить визуальные тесты IQ и воспринимать команды на естественном языке. Эта система, ...

Образование, продажи, финансовый анализ, генерация контента: китайские технологические компании спешно создают аналоги ChatGPT Китайские технологические компании планируют разработать свои собственные аналоги системы ChatGPT. Ранее стало известно, что Baidu представит своего чат-бота в марте, а теперь сообщается, что этому примеру последуют Alibaba Group Holding, Tencent Holdings, NetEase и JD....

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

Профессиональные задачи, которые вы можете решить с AI системой ChatGPT от OpenAI Мир охватила новая волна безумства вокруг AI, все соц.сети заполнены огромным количеством экспериментов вокруг нового продукта - ChatGPT. В этой статье я расскажу вам о 30+ самых интересных кейсов использования AI-чата на базе открытого искусственного интеллекта от ...

10 лет назад я продал свой стартап за $2.2M и погряз в депрессии Меня зовут Виктор Кох и это моя история одного из громких скандалов в технологическом секторе.Прежде всего, я рад опубликовать свою первую статью на HabrHabr. Одна из причин, по которой я не мог свою историю написать ранее, а именно 5 лет назад или даже 8 лет назад — договор...

Программы пишут программы, или стоит ли разработчикам осваивать новые профессии После выхода ChatGPT только ленивый не написал о нём. Языковая модель GPT-3.5 от OpenAI привлекла широкое внимание общественности своими возможностями: создание текстов, возможности перевода, получения точных ответов и использования контекста для диалога. Но больше всего раз...

Новый геймплейный трейлер Amnesia: The Bunker Разработчики из Frictional Games опубликовали новый трейлер Amnesia: The Bunker. Это первая часть серии, где будет стрельба и полуоткрытый игровой мир. Читать полную статью

Дельта компрессия и квантизация объектов в C# Cтатья затрагивает тему сериализации данных, которые передаются по unreliable каналам.В первую очередь это касается реалтайм игр, которые критичны к сетевым задержкам, имеют активное общение клиента и сервера, например, 10 - 60 раз в секунду и используют UDP протокол. В стат...

От проекта до производства: как мы сделали один из лучших пультов управления на рынке Всем привет! Меня зовут Евгений Торчинский, практически всю свою жизнь я работаю с технологиями. Сейчас я руковожу компанией Movix Lab — мы уже много лет занимаемся железом, софтом и работаем с искусственным интеллектом. В частности, мы делаем смарт-приставками и делаем...

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

Я выбрал язык программирования с помощью икигаи, коучей и рефлексии — и это сработало Я в IT уже 15 лет: 10 лет разрабатывал DevOps в 1C и 3 года руководил отделом разработчиков в Сбере и не писал код. Однажды я понял, что хочу кодить, а не руководить — и передо мной встал вопрос: какой выбрать язык?Может быть, взять самый популярный? Или тот, по которому бол...

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

Выпускайте Кракена: опыт использования KrakenD Привет, Хабр! Меня зовут Владимир Калугин, я руковожу бэкенд-разработкой в МТС Travel. Сегодня расскажу про KrakenD, готовое решение, которое мы используем для реализации API-шлюза, важной штуки для продуктов с микросервисной архитектурой. Уверен, наш опыт может пригодиться ...

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

DCSync: особенности выполнения атаки и возможные варианты детектирования, Часть 1 DCSync - атака, позволяющая злоумышленнику выдавать себя за контроллер домена (DC, domain controller) с целью получения учетных данных пользователей для последующего горизонтального перемещения в сети и/или доступа к конфиденциальной информации.В основе атаки лежит механизм,...

Официально: новая часть бессмертной серии Sid Meier’s Civilization находится в разработке Но подробностей пока нет.

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

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

Apple выпустила iOS 16.4 beta 1. Что нового и как обновиться Мы уже привыкли к тому, что Apple выпускает новые бета-версии iOS примерно раз в неделю, по вторникам, лишь изредка делая перерывы. На этот раз вышло немного иначе: сначала купертиновцы выпустили iOS 16.3, а затем на месяц пропали с радаров до выхода чисто технического обно...

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

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

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

Моя попытка сделать утилиту для очистки Linux Всем привет! Я начинающий разработчик на языке Go. До этого у меня был, так сказать, небольшой опыт, но в виде хобби. Во время изучения я также осваивал Linux, сейчас уже пользуюсь им как основной ОС.Мой ноутбук довольно слабый, на борту всего 4ГБ ОЗУ, а на Windows существуе...

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

[Перевод] NoNa: Алгоритм заполнения отсутствующих данных Мой первый open-source продуктGitHub — AbdualimovTP/nona: библиотека для заполнения пропущенных значений с использованием методов искусственного интеллекта  Читать далее

Что нам несет Python 3.12 Переписали виртуальную машину на новый DSL И теперь ее гораздо проще менять, оптимизировать и проводить эксперименты.В качестве примера, можно посмотреть на попытку добавления register-based интерпретатора. Другой пример, что часто два опкода идут вместе и выполняются послед...

[Перевод] Ansible: 30 самых важных модулей для DevOps-профессионалов (часть 2) В прошлой части мы обсудили модули Ansible и прочитали о некоторых важных модулях. Таких, как модуль проверки подключения хоста и целевого узла (модуль ping), модуль, способный извлекать информацию из целевого узла (модуль setup), модуль управления существующим пакетом и уст...

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

Пишем плагин для IntelliJ IDEA. Ускоряем написание тестов на DTO Когда пишешь тесты на обширную модель (DTO), ловишь себя на мысли, что сосредоточен не на тестовых данных, а на том, как ловчее избавить себя от написания boilerplate-кода.Как это сделать? Поискать готовое решение (плагин). А если его нет? Тогда – написать плагин.А если не у...

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

Илон Маск хочет создать свой аналог ChatGPT. Он уже собирает команду для разработки Издание The Information сообщило, что Илон Маск (Elon Musk) намерен создать альтернативу ChatGPT от OpenAI. Сообщается, что бизнесмен уже обратился к некоторым специалистам в области искусственного интеллекта. В их силе упоминается Игорь Бабушкин, который ранее ушёл из ...

Entity Framework c Code-First миграциями для .Net Maui Если вы, как и я, уже являетесь большим поклонником Microsoft Entity Framework и хотели бы начать использовать его локально в своем мобильном приложении, с появлением .Net Maui на рынке, это стало возможным.Небольшое замечание: для ускорения времени запуска мобильного прилож...

Появилось видео с геймплеем новой Assassin's Creed про Древний Китай. В сети появился ролик, где показали геймплей новой Assassin's Creed: Codename Jade. Эта часть серии Assassin's Creed сделана для мобильных платформ, события которой разворачиваются в Древнем Китае. Читать полную статью

[Перевод] Создание изображений с использованием генеративно-состязательных нейронных сетей (GAN) на примере ЭКГ Для создания изображений с помощью GAN я буду использовать Tensorflow. Генеративно-состязательная сеть (GAN) — это модель машинного обучения, в которой две нейронные сети соревнуются друг с другом, чтобы быть более точными в своих прогнозах. Как работают GAN? Первым шагом в...

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

Error Budget, SLO и мониторинг: советы для начинающих SRE-инженеров Книга Google о SRE, статьи экспертов, документация и обучающие курсы дают исчерпывающие знания о том, как в идеале должен работать SRE в компаниях. Правда, ключевое здесь – «в идеале». Работа с метриками и управление инцидентами в командах может сильно различаться по ряду пр...

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

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

Россельхозбанк и Группа Т1 внедрили ИИ в цифровой маркетинг Созданное решение – автоматизированная система «Цифровой профиль клиента» – дает возможность проводить глубокий анализ больших данных с помощью искусственного интеллекта. Применение разработанной системы позволило нарастить продажи продуктов и услуг на платформах экосистемы ...

Программирование nes/dendy скроллинг фона Я несколько раз задавался вопросом а как сделать прокрутку фона как в марио или черном площе, и постепенно подобрался к выводу что надо перерисовать nametable динамически в момент аппаратной прокрутки. Объяснение и код как это сделано на ассемблере 6502 в данной статье. Чита...

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

MedBench: NLP-задачи в медицине, модели и методы их решения Привет, Хабр! Меня зовут Даниил Погуляка. Я студент четвертого курса МГТУ им. Н.Э. Баумана, факультета "Информатика, искусственный интеллект и системы управления". Уже некоторое время я занимаюсь изучением методов машинного обучения, в частности, касающихся автоматической об...

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

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

Как получить грант 4 млн. рублей от ФСИ на запуск вашего ИТ стартапа? Наш опыт с детальным разбором заявки Меня зовут Максим Кульгин, и моя компания clickfraud занимается защитой от скликивания контекстной рекламы в «Яндекс.Директ». В августе 2022 года мы получили грант от фонда ФСИ, и я хочу поделиться опытом с детальным разбором нашей заявки в фонд. Так, кажется, еще ...

Сказка про Method as Parameter Наверняка вы вызывали методы в C#. И казалось бы, что тут может быть интересного. Но тут есть о чем поговорить, есть что интересного рассказать.Позвольте рассказать вам сказку про то, как обычное использование методов может утопить ваше приложение в GC, а наивная реализация ...

Большое сравнение нейросетей Привет, меня зовут Юля, 85GB и я веду свой канал по нейронкамВ этой статье я рассмотрю по различным параметрам графические нейронки: DALL-E 2, Midjourney, Stable Diffusion, Кандинский и Шедеврум. Постараюсь разложить всё максимально чётко и ёмко, дать оценку по каждому блоку...

ТОП-10 экспортеров для Prometheus 2023 Статья Основы мониторинга (обзор Prometheus и Grafana) оборвалась на самом интересном месте. Автор предложил искать и использовать актуальные экспортеры, а читатель такой – окей, где референс? Что ж, давайте рассмотрим топ-10 наиболее полезных экспортеров на начало 2023 года...

[Перевод] 8 бесплатных инструментов искусственного интеллекта, которые пригодятся Всем привет! Меня зовут Маруся, я аналитик данных, веду блог в телеграме Аналитика и growth mind-set.В этой статье собрано 8 бесплатных инструментов на основе искусственного интеллекта, большинство из которых просты в использовании и самое главное бесплатны для тестиров...

Geb Framework для автотестов Добрый день, коллеги. Один из самых известных и популярных фреймворков для написания автотестов - это Selenium. У этого фреймворка множество плюсов и возможностей, но в то же время есть некоторые неудобства в конфигурации, настройке и написании тестов. Поэтому появились фрей...

Что под капотом у Leak Canary? LeakCanary – библиотека, позволяющая находить утечки памяти во работы приложения в фоновом режиме. При всем при этом, со стороны клиента ничего делать не нужно. Просто указал либу в зависимостях Gradle, и она сама начинает работать. Естественно инженерное любопытство за...

Почему стандарты ИСО не публикуют в открытом доступе? Основатели ИСО, Лондон, 1946 Международная организация по стандартизации создана в 1946 году для выпуска международных стандартов. Первым из них стало само название организации, которое на всех языках мира звучит одинаково: ИСО. Стандарты ИСО по всем вопросам — от безопас...

Как бесплатно запустить Windows на Mac M1/M2 (Apple Silicon) В статье описана инструкция по установке Windows внутри MacOS. Читать далее

Оптимизация OneToMany коллекций Doctrine В этой статье будет показан пример того, как уменьшить количество запросов к базе данных до одного при работе с коллекциями сущностей иерархической структуры в контексте PHP и Doctrine ORM. Полный пример решения вы можете посмотреть в специальном репозитории. Статья основана...

Колдовской NeoVIM. Часть первая. «Neovim VS Ваша IDE, или долой мышей!» Nvim - это не обычный текстовый редактор, а программа, которая позволяет вам превратить свой рабочий процесс в изящный танец или фортепианную партию.Фишкой колдовского редактора является то, что вы общаетесь с ним не через аналоговое управление (двигаем мышкой, вводим текст)...

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

[Перевод] Генерация конвейеров обработки данных в Dataflow Эта статья посвящена всем практикующим специалистам по данным, заинтересованным в освоении запуска, стандартизации и автоматизации пакетных конвейеров данных в Netflix. О Dataflow мы писали в статье под названием Data pipeline asset management with Dataflow. Та статья пред...

Недельный геймдев: #99 — 11 декабря, 2022 Из новостей: релиз Blender 3.4 и Unity 2022.2 Tech Stream, Rokoko запускает бесплатный инструмент для мокапа Rokoko Video.Из интересностей: игровой программный рендеринг в 2022-м году, судьба игровой индустрии в Кыргызстане, Пинг-понг полностью на шейдерах в Unity, как зап...

Зеркалирование GitHub-проектов в 2023 году По ряду причин я решил зеркалировать свои открытые GitHub-проекты на другие платформы совместной разработки. Сделать это оказалось не так просто. В этой короткой статье описаны трудности, с которыми мне пришлось столкнуться, и итоговое рабочее решение. Читать далее

JavaScript, Java и Python - самые востребованные языки программирования Это следует из отчёта о состоянии найма в 2023 году

ИИ в играх в 2022 году Современная волна ИИ хайпа началась с вполне конкретного события: победы ИИ над чемпионом мира в игре в Го. Это вызвало шквал интереса к обучению с подкреплением и привело к запуску работ над созданием ИИ для других более сложных игр (Starcraft, Dota и.т.п.). Однако, с появл...

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

3 ошибки хорошего Product Manager С 2013 года я работаю в IT и прошла путь от Account manager до Senior Product manager в таких компаниях как МегаЛабс (Мегафон), Билайн, X5 Retail Group. С 2017 года я начала собирать свои команды в роли PO (до этого работала под руководством других PM или PO) и все это время...

X5 Group перевела процессы управления данными киберразвездки на решение российского разработчика R-Vision X5 Group в рамках реализуемой в компании программы импортозамещения перешла на отечественную платформу анализа информации об угрозах R-Vision Threat Intelligence (TIP) от разработчика систем кибербезопасности R-Vision.

Эвристики Нильсена – личный опыт, ошибки и находки Привет. Меня зовут Сергей Кардашев. Прошедшие три года я работал менеджером по продуктам и инструментам управления данными в Tele2. До этого много лет был продакт-дизайнером и UI/UX дизайнером. В этой статье я не просто пересказываю принципы построения интерфейсов, а делюсь ...

Немного про ПИД-регуляторы или «велосипед автоматизации» Часть 1. От практики к теории.Как и все поколения будущих инженеров, в ВУЗе я делал лабораторные и курсовые, что-то рассчитывал, чертил годографы и казалось, что понимал теорию и был готов применять ее на практике. По окончанию университета, попав инженером АСУТП на нефтепер...

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

Изучаем mergeMap, switchMap, concatMap и exhaustMap Я Angular разработчик. Это моя первая статья и таких я собираюсь написать много. Пришла эта идея мне в голову потому что иногда, пытаясь найти какую-то информацию в интернете о принципах работы какого-либо инструмента разработки, я не нахожу абсолютно ничего. Это либо ненави...

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

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