Социальные сети Рунета
Пятница, 29 марта 2024

Создаем свой собственный язык программирования с использованием LLVM. Часть 1: Лексический и синтаксический анализ Это первая статья из цикла о том, как создать свой собственный ООП язык программирования с использованием LLVM.В данной статье мы начнем с введения в серию и начнем реализацию с написания лексического и синтаксического анализаторов для подмножества языка, который будет полно...

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

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

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

Умные пайетки на микроконтроллерах Padauk и Миландр Сегодня расскажу о том как мы переводили "умные пайетки" на китайские микроконтроллеры Padauk и применяли Миландр в устройстве управления матрицей электромеханических цветовоспроизводящих устройств. Читать далее

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

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

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

Программирование микроконтроллеров AVR в IDE Lazarus Вот появилось желание написать небольшой проектик для себя с применением микроконтроллера. В CodeVisionAVR команды не подсвечиваются по Ctrl+Пробел, да и Си что-то начал забывать, вспоминать - лень... Конечно, вспомнить Си - это 10-30 минут, но лень... Поэтому, было решено ...

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

Вывод спрайтов, создание анимации, программирование nes/famicom/dendy Ранее я уже писал статью о выводе спрайтовой графики на экрана с использованием регистра OAMDATA ($2004), но это подходит лишь для экспериментов и вывода некой статической картинки. Но движение либо анимация будет приводить к появ...

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

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

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

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

Tinkoff Pro Open Source Мы в Тинькофф активно инвестируем в образование. Развиваем Поколение, Финтех, Академию и другие программы. Open source — наглядный способ передать экспертизу на конкретных примерах и дополнительная возможность развивать наши образовательные программы.Открытая разработка инст...

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

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

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

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

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

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

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

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

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

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

C# и обработка медиафайлов средствами FFmpeg, Pandoc и ImageMagick Приветствую читатели, в этой статье я бы хотел рассказать о написанной мной OpenSource библиотеке MediaFileProcessor под платформу .NET (.netstandart 2.0). Читать далее

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

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

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

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

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

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

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

Пишем телеграм-бота на Rust, предаврительно спаяв сетевую карту Что делать, если ваш микроконтроллер не умеет работать с сетью, а бота для телеграма написать хочется? Конечно же, сделать свой сетевой адаптер на логических микросхемах! Читать далее

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

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

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

Tenebris: 7 кругов ада инди-разработки Друзья, меня зовут Пётр, и в этой статье я попробую рассказать о нашем уже трехлетнем опыте в разработке инди-игры  —  Tenebris: Terra Incognita. Через какие сложности мы прошли и чего добились.Работа над игрой началась в мае 2019 года, про старт я написал ранее в ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как я написал Telegram-бота для учёта подписок Как я написал Telegram-Бот для учёта подписокНаписал Telegram-Бот для учёта подписок и регулярных расходов на Python и Yandex. CloudОн умеет предупреждать по 3 основным сценариям:1. Окончание пробного периода.2. Ежемесячная подписка.3. Ежегодная подписка.В статье расскажу пр...

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

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

Конфигурирование BGP на Juniper MX Привет, мимо пробегающий читатель!В прошлой статье я обмолвился, что, возможно, опишу конфигурацию присутствующих в решении маршрутизаторов Juniper MX204. Близится конец года, и напоследок я решил написать небольшую статью на эту тему. Читать далее

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

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

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

Эволюция NGFW: тестируем новинку Sangfor NGAF Всем привет! Меня зовут Дмитрий Шкуропат, я являюсь руководителем направления защиты информации в компании Nubes. Мы открываем цикл статей, в котором расскажем, как выбирали и тестировали для нашего защищенного публичного облака межсетевой экран нового поколения (NGFW)....

Фильтрация и пагинация в FastAPI Недавно столкнулся с задачей написать фильтрацию на FastAPI, пошёл гуглить и нашёл замечательную библиотеку fastapi-filter, которая сильно упрощает задачу. О ней в этой статье и пойдёт речь, а также заодно покажу простой способ пагинации без библиотек. Читать далее

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

Как написать автотесты деплоя и сэкономить нервы DevOps-инженеров Привет! Меня зовут Артём Комаренко, я работаю на позиции QA Lead в команде PaaS в СберМаркете. Хочу поделиться историей, как мы придумывали способ быстро убедиться, что очередные изменения в скриптах деплоя не разломают процесс выкатки во всей компании. Статья будет полезна ...

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

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

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

Миграция Postgrespro с Centos7 на AlmaLinux8. Как бонус — пара седых волос В статье описывается один из способов обновления дистибутива операционной системы с работающим кластером баз данных Postgres Pro Standard версии 11. В дальнейшем, для краткости кластер баз данных Postgres Pro Standard 11 будем называть Postgrespro, Centos7 - Centos, а AlmaLi...

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

Плагиат не пройдёт? В OpenAI запустили нейросеть которая распознает тексты, написанные другими нейросетями Разработчики из OpenAI запустили бесплатный инструмент AI Text Classifier для определения текстов, написанных с помощью ИИ, в том числе с помощью ChatGPT. При этом компания предупредила, что новинка не является на 100% точным способом определить плагиат. По данным OpenA...

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

[Перевод] Немного о Fastify Почти 15 лет назад Райан Томайко (Ryan Tomayko) написал книгу "The Thing About Git" (Про Git). Это было время, когда SVN (Subversion - система управления версиями) все еще активно использовался. Мало кто понимал, почему Git такой особенный, и тогда я тоже не принадлежал к их...

Опыт использования Tyk в качестве шлюза GraphQL API Вообще-то мы хотели назвать статью «Неудачный опыт…», потому что, как будет рассказано ниже, с использованием Tyk всё оказалось не так просто. Но, во-первых, даже неудачный опыт — это тоже опыт. Во-вторых, нам не хотелось бы превращать заголовок в спойлер, чтобы заинтересова...

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

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

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

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

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

1337ReverseEngineer's VMAdventures 1 crackme Продолжаем решать головоломки: сегодня это 1337ReverseEngineer's VMAdventures 1 https://crackmes.one/crackme/63bd7f5733c5d43ab4ecf3adЗадача: узнать верный пароль, на который программа выдаст "Correct key!".Проверка пароляС помощью дизассемблера находим строку "Correct key!" ...

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

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

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

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

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

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

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

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

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

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

Изучаем Reanimated 2 создавая анимированный компонент React Native предоставляет Animated API который может покрыть часть базовых потребностей вашего приложения, однако если вы хотите создавать сложные и производительные анимации на 60fps, без сторонних библиотек вам не обойтись. И сегодня я хотел бы рассказать о Reanimated 2 и...

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

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

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

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

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

Вознаграждения в Bug Bounty VK, или Как мы работаем с деньгами Привет, Хабр! В прошлой статье я рассказал о том, как правильно искать уязвимости и составлять отчёты для программы Bug Bounty VK, сегодня я хочу раскрыть тему вознаграждений. Если тебе интересно узнать, почему с точки зрения владельца программы и багхантера это два абсолютн...

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

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

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

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

[recovery mode] Обзор чат-бота ChatGPT: что это, возможности и примеры использования ChatGPT от OpenAI, запущенный 30 ноября 2022 года, произвел настоящий фурор в IT-сообществе, поразив многих точностью ответов на специальные вопросы. Посмотрим, как можно использовать этого чат-бота, в том числе в сочетании с другими программными продуктами.Я заинтересовался...

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

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

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

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

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

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

Пишем FastAPI с нуля на python FastAPI — это современная, быстрая (высокопроизводительная) веб-инфраструктура для создания API-интерфейсов с Python 3.7+ на основе стандартных подсказок типов Python. В этой статье мы рассмотрим как написать его с нуля. Читать далее

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

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

SimpleX – первый мессенджер без идентификаторов пользователей Сегодня рассказываем про анонимный мессенджер SimpleX, который написан на Haskell и позволяет, в том числе, использовать сеть Tor для общения.  ​​SimpleX – не только один из немногих мессенджеров, который не собирает данные пользователей, но и единственный на сегод...

Топ-10 ошибок, найденных в C#-проектах за 2022 год За 2022 год разработчики PVS-Studio написали много статей, в которых рассказали об ошибках, найденных в различных Open Source проектах. Пришло время подвести итоги и представить десяток самых интересных срабатываний. Читать далее

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

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

Аналитика рынка профессии с историей (Yandex Data Lake + Power BI) Как-то я написал статью Аналитика рынка профессии в три клика. Но подключение, описанное в статье, напрямую к сайту HHru, лишает анализ вакансий историчности. В дашборде хранится только один «снимок» данных на момент загрузки в него. Другими словами, при нажатии кнопки Обнов...

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

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

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

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

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

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

Obsidian + Dataview: Задачи В прошлой статье Obsidian + Dataview: Таблицы я рассказал про установку плагина Dataview, формирование таблиц с его помощью и разобрал 4 кейса его использования.Dataview - это очень мощный и функциональный плагин, с помощью которого кроме таблиц можно так же формировать спи...

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

Как стать джуном, которого берут на работу (frontend-разработка) Привет, Хабр! Я - начальник отдела разработки небольшой IT-компании, и мы - те самые люди, которые не ищут на работу сеньоров, и мы готовы брать не только мидлов, но даже и джуниоров, и готовы растить их до уровня крепких мидлов. Однако 80% приходящих на вакансию frontend-ра...

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

Импортозамещаем Evernote. Obsidian – менеджер заметок и лучший друг менеджеров Привет, Хабр! Меня зовут Николай Суворов. Я – профессиональный менеджер, руководитель направления Delivery Management в МТС Digital. Занимаюсь Enablement Platform – единой платформой для быстрого создания продуктов в экосистеме МТС. Сегодня я расскажу о своем pet-проекте и о...

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

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

[Перевод] О важности владения кодом Наткнулся на данную статью случайно, когда находился в очередном поиске ответа на вопрос "Как же так?!" в интернете. Автор данной статьи занимается мобильной разработкой, но тем не менее его наблюдения и выводы касательно владения кодом разительно перекликаются с моими:Однаж...

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

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

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

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

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

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

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

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

Пишем и отлаживаем приложения для Flipper Zero Недавно я получил свой флиппер и, решив написать первое приложение, столкнулся с проблемой отсутствия информации по отладке программного кода. Есть несколько статей по разработке приложений для флиппера (первое приложение и приложение HewViewer). Однако, когда я приступил к ...

Критерий Манна-Уитни — самый главный враг A/B-тестов Всем привет! Меня зовут Дима Лунин, я аналитик в компании Авито. В этой статье я расскажу про критерий Манна-Уитни и проблемы при его использовании. Если вы анализировали A/B-тест, где вас интересовал прирост или падение какой-то метрики, то наверняка использовали критерий М...

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

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

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

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

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

[Перевод] Starting Electronics: руководство по веб-серверам на Arduino. Часть3. Управление светодиодом с веб-страницы От переводчика. Поскольку при переводе и публикации на Хабре некоторые разделы оригинального руководства были скомпонованы друг с другом, то нумерация частей оригинала и перевода не совпадает — у нас это 3-я часть, а в оригинале — 5-я. В этой части автор переходит к самом...

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

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

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

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

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

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

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

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

Платье на 3D принтере (из НЕумных пайеток) Всем привет! Мы разрабатываем «умные пайетки» - электромеханические цветовоспроизводящие устройства для дизайнерской одежды. Сегодня расскажу о том, как мы напечатали наше первое платье на 3D принтере! Читать далее

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

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

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

Задача коммивояжера (TSP) точное решение — метод целочисленного линейного программирования (Integer programming) Дочитав эту статью до конца, вы сможете решать точно задачу коммивояжёра на сотню элементов за считанные секунды! Заинтригованы? Тогда, добро пожаловать под кат. Читать далее

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

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

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

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

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

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

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

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

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

Как писать конспекты на компьютере быстрее, чем от руки, при помощи VS Code Привет всем!В этой статье говорится о том, как я конспектирую на компьютере, а точнее описываются способы ускорения набора LaTeX-овского текста. Читать далее

[Перевод] Jenkins Scripted Pipeline: как использовать «Pipeline-as-code» — принцип, который позволяет Jenkins обрабатывать пайплайны как обычные файлы. Существует два способа описания пайплайнов: скриптовый и декларативный. В этой статье поговорим о Jenkins Scripted Pipeline: проанализируем его структуру и разберём варианты исп...

Как написать 2D игру на C++ и чистом STL для терминала в Linux Привет хабр, я PHP разработчик с опытом работы в продакшне более 8 лет. После долгого и упорного труда мне стало скучно пилить микросервисы и бэкенды в хайлоде, я решил постичь магию разработки игр. Выбрал курс по Unreal Engine 5 и C++, так как там все структурировано, понят...

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

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

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

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

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

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

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

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

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

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

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

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

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

Разница между debounceTime и throttleTime В этой статье я хочу рассказать тонкую разницу между операторами debounceTime и throttleTime простыми словами Читать далее

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

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

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

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

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

[Перевод] Сказ о M1 GPU Привет всем, в эфире Асахи Лина!✨marcan попросил меня написать статью о M1 GPU, и вот она готова ~! Это был долгий проект, растянувшийся на несколько месяцев, и было о чём поведать, так что, надеюсь, вам понравится! Читать далее

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

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

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

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

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

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

USB монитор из Futaba GP1160A02A Когда-то вакуумно-люминесцентные индикаторы создавались как альтернатива газоразрядным, а также в целях загрузить производство электроламповых заводов, так как в те времена лампы уже начали терять актуальность и на их место пришли полупроводники.Прожив долгую 60-летнюю истор...

KC868-A128: заявка на Книгу рекордов Гиннеса Сегодня мы поговорим о решении, достойном помещения в Книгу рекордов Гиннеса — это контроллер Kincony KC868-A128, имеющий на борту аж 128 цифровых входов и 128 транзисторных (MOSFET) выходов. Как говорится, «раззудись плечо, размахнись рука» — с такими ТТХ KC868-A128 может...

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

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

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

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

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

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

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

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

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

[Перевод] Почему стоит использовать лимиты CPU в Kubernetes Эту статью я написал в противовес статье “For the love of god, stop using CPU limits on Kubernetes” (Ради всего святого, прекратите использовать в Kubernetes лимиты CPU). Мне та статья понравилась, и я считаю её хорошим чтивом. Более того, я согласен с высказанными в ней р...

[Перевод] Создание базовой сети 5G с Open5GS и UERANSIM Добрый день, уважаемые хабровчане!Сегодня и в последующие дни я сделаю перевод статей о развертывании архитектуры сетей 5G для дальнейшего ее изучения. Цель этой статьи - показать, что самые передовые технологии доступны всем и каждому, и что будущее можно создавать своими р...

Всё о визах в Таиланд в 2023 году От “А” до “Я” о визах в Таиланд: виды, стоимость, нюансы. Всем привет! Я – Женя, как-то я прилетела в отпуск в Таиланд и осталась тут жить. За это время я делала 3 визы и сейчас в процессе получения 4 – Elite visa. В статье расскажу обо всех тонкостях, связанных с получ...

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

5 неочевидных способов улучшить иностранный язык с помощью ChatGPT Кто-то просит нашумевшего чат-бота сгенерировать код, кто-то — написать песню в стиле The Queen. Ну а я — как лингво-коуч и гик — решила упороться и посмотреть, поможет ли нашумевшая система OpenAI прокачать иностранный язык. Спойлер: очень даже.Протестировала на себе нескол...

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

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

Обучаем SVTR-Tiny для распознавания текста сцены Сегодня мы расскажем вам, как дообучить новую state-of-the-art модель SVTR-Tiny для распознавания текста сцены (текста в реальных уличных условиях) на собственноручно сгенерированных изображениях с помощью API библиотеки PaddleOCR. Читать далее

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

HOMEd: A почему «d»? Чтобы никто не догадался Это случилось обычным воскресным вечером, лет 15 назад. Завтра - понедельник, на работу, значит пора ложиться спать. По всей квартире горит свет, надо идти выключать, но лень! Хочу чтобы одной кнопкой все выключалось! Знакомая ситуация, не правда ли?На тот момент о программи...

Тонкости C++: итак, вы объявили класс… Во время работы наша команда постоянно сталкивается с некоторыми особенностями языка, которые могут быть неизвестны рядовому C++ программисту. В этой статье мы расскажем о том, как работает, казалось бы, обыденная вещь – forward-декларации классов. Читать далее

Дизайн. С нуля до миддла Привет!Меня зовут Ксюша, мне 29 лет и я продуктовый дизайнер в Константе.В этой статье я расскажу о том, с чего начался мой путь в дизайне и постараюсь дать несколько полезных советов тем, кто только начинает. Читать далее

VPN Gate, или — неубиваемая Великим Китайским Файрволом распределённая сеть VPN Сегодня речь пойдёт о технологии распределённой сети VPN Gate, своего рода недруга Поднебесной в области интернет цензуры. На Хабре много статей на тему SoftEther VPN (нижележащий слой VPN Gate), но нет ни одной технически всесторонней статьи про саму распределённую сеть и т...

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

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

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

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

Теория управления шаговым двигателем (или как вертеть PTZ камеру) Настал тот редчайший случай, когда в работе программиста микроконтроллеров появилась нужда в знании математики и даже физики. При управлении шаговыми двигателями важно решать кинематическую задачу. Правда по уровню сложности её можно отнести к школьной программе 6 класса. Чи...

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

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

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

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

Особенность CI/CD-конвейеров для корпораций и новое решение от Сбера Какие инструменты первыми приходят вам на ум при упоминании CI/CD pipeline? Вероятнее всего, это Gitlab CI/CD, Jenkins CI, Azure DevOps. На самом деле инструментов десятки, но так было не всегда. Ещё недавно в крупных компаниях главенствовал Windows Server, Power Shell был л...

Теория и практика БПЛА, или как я учился в Школе дронов МАИ Продолжая уже поднимавшуюся в этом блоге тему беспилотных летательных аппаратов, сегодня я расскажу об опыте посещения пятидневных курсов операторов БПЛА от Московского авиационного института. Читать далее

Австралийские университеты выступили против ChatGPT — студенты используют его для написания работ Австралийские университеты были вынуждены изменить способ проведения экзаменов и других способов оценки знаний из-за ChatGPT. Руководство вузов опасается, что студенты используют это программное обеспечение для написания эссе или других материалов. Чат-бот, созданный O...

Стартапы используют GPT-4, чтобы экономить на живых программистах Сетевые издания сообщили, что ряд стартапов начал использовать языковую модель GPT-4 от OpenAI, чтобы сэкономить на разработчиках. Как утверждается, возможностей ИИ хватает на создание кода. Изображение сгенерировано нейросетью Midjourney К примеру, основатель стартапа...

GraphQL: сложность запросов Всем привет! Меня зовут Олег Негрозов, я бэкенд-разработчик из команды Talantix. В мире GraphQL есть один минус, который одновременно является и плюсом — пользователь ограничен лишь описанной схемой. Он может попросить у сервера все данные, доступные ему, или написать такой ...

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

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

Permissions в Android: как не допустить ошибок при разработке Всем привет! На связи Юрий Шабалин, ведущий архитектор Swordfish Security и генеральный директор Стингрей Технолоджиз. Эта статья написана в соавторстве с Android-разработчиком Веселиной Зацепиной @VeselinaZatsepinaa). В материале мы поговорим про один из ключевых механизмов...

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

Вжух и собралось или как я ускорял сборку UI на базе kubernetes + jenkins и yarn + nx С распространением практики доставки непрерывных обновлений время сборки приложений стало критически важным параметром как для разработчиков, так и для бизнеса компании в целом. В данной статье описан мой опыт ускорения Frontend пайплайна Jenkins в Kubernetes на базе yarn и ...

CADLib Web: портальная часть среды общих данных и системы управления инженерными данными Компания «СиСофт Девелопмент» (CSoft Development) сообщила об официальном выпуске CADLib Web. Среда общих данных CADLib Модель и Архив переходит на новый уровень взаимодействия, что в свою очередь открывает дополнительные возможности ...

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

Архитектура PostgreSQL. Часть 2. Подготовка бэкэнда В предыдущем посте мы остановились на моменте форка процесса для бэкэнда. Сегодня рассмотрим как происходит инициализация дочерних процессов после форка от Postmaster, некоторые системные вызовы Linux, goto, парсинг стартап пакета и многие хаки. Читать далее

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

Простые метрики по качеству: как их вести и зачем они нужны Всем привет! Меня зовут Алиса, я — ведущий тестировщик в компании Constanta, и сегодня расскажу вам о простых QA метриках, помогающих отслеживать качество продукта.Если мы вобьем в поисковой строке незамысловатое словосочетание “метрики QA”, то увидим, что почти все ссылки в...

React+Django как написать Hello World Создание веб приложения на основе React и Django, с базой данных на postgress, небольшое прощупывание RabbitMQ и чуть-чуть nginx, потом объясню зачем. Ах да! Завернём все в контейнеры и заставим подниматься в три команды! Читать далее

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

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

Как написать пайплайн для чтения рукописного текста Привет, Хабр! В этой статье мы, команда Sber AI, расскажем о пайплайне для распознавания текста и о нюансах обучения HTR‑моделей, а также поделимся датасетом школьных обезличенных тетрадей. Это почти 2 тысячи страниц с полной разметкой поли...

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

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

[Перевод] Телематическая система автомобиля Мы в команде Third Man по долгу службы изучаем довольно много англоязычных материалов. Часто интересными статьями хочется поделиться с коллегами и обсудить поподробнее. Но не всегда есть время всей командой читать 20+ страниц англоязычного текста, так что сокращённый и “подс...

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

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

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

«Хакер»: Как мы с DALL-E 2 делали картинки к статьям DALL-E 2 — нейросеть, которая рисует картинки по текстовому запросу. Гулявшие в этом году примеры работы с ней просто поражают: иногда она рисует, как настоящий художник, и еще и предлагает варианты на выбор! С августа этого года мы периодически использовали DALL-E 2, чтобы ...

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

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

Обзор Enchen Water Flosser Mint 3. Портативный ирригатор с 3 режимами и 3 насадками Изучаемый сегодня ирригатор для полости рта Enchen Water Flosser Mint 3 выполнен в портативном формате. Он дополняет зубную щетку при проведении процедуры гигиены полости рта, удаляя остатки пищи и мягкий налет из труднодоступных участков. Также он необходим при ношении брек...

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

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

«Рейдерский» захват и захват корпоративного контроля в бизнесе: как защититься правовыми способами в современном мире О рейдерских захватах написано много, однако до сих пор бытует мнение, что рейдеры — это люди со стороны («бандиты», преступившие закон силовики и так далее). На деле же рейдером может выступить бизнес-партнёр, инвестор. Рейдерские схемы стали гораздо более мягкими, интеллек...

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

Депутат Госдумы выступил в защиту ChatGPT и прочёл текст, написанный нейросетью Во вторник, 14 февраля, член комитета Госдумы по информполитике Антон Ткачев на пленарном заседании выступил с речью в поддержку нейросетей. Он зачитал текст, написанный с помощью ChatGPT. Сегодня все обсуждают нейросети. Мы узнали, что нейросеть может написать за студе...

[Перевод] Способы эмуляции Win32 Самый популярный вопрос о моём эмуляторе Windows retrowin32 (после «Зачем вообще это нужно?») — это вопрос о том, как он работает. Сегодня ответ кажется мне очевидным, но прежде чем я разобрался, он представлял для меня огромную загадку. Поэтому я постараюсь объяснить так, ...

Kotlin Symbol Processing. От теории до практики Я расскажу в этой статье о Kotlin Symbol Processing, также известном как KSP.Сначала обсудим теоретические основы работы KSP, после, конечно же, перейдём к практике. На примере небольшой задачи, подобной той, что мы решаем с помощью KSP в нашей компании, покажу, как анализир...

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

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

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

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

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

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

Как заработать на Bug Bounty Меня зовут Алексей Гришин, я руководитель направления Bug Bounty VK. За 9 лет участия в программе по поиску уязвимостей на различных платформах мы накопили огромный опыт получения, проверки и оплаты самых разношерстных отчетов, поэтому в этой статье я хочу поделиться советам...

Доход ~40 000 руб. в месяц с Телеграм-канала. Делюсь опытом. Даю аккуратные советы… Привет! Меня зовут Максим Кульгин, я основатель xmldatafeed.com и clickfraud.ru. Мы занимаемся сбором данных и защитой от скликивания рекламы. Я веду Телеграм-канал про ИТ-бизнес. В нем пишу всё, с чем сталкиваемся в процессе работы, без приукрашивания. Сейчас...

Как мы ищем документы в Naumen Disk или еще один вариант организации FTS В процессе работы над проектом мы рассмотрели различные способы организации Full Text Search (FTS) по файлам. И… отказались от них в пользу своего решения, которое базируется на стандартных методах. В статье я опишу путь построения полнотекстового поиска по файлам для веб пр...

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

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

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

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

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

[Перевод] 2.6 миллиона доменов и ~45 000 открытых Phpinfo() спустя… История о незащищенном Phpinfo() После сканирования 2.6 миллионов доменов на наличие открытых .git каталогов (ссылка на статью), .env (ссылка на статью) и .DS_Store (ссылка на статью) файлов я проделал такое же сканирование для phpinfo-файлов, таких как info.php или phpinfo.php.В первой части этой статьи я ...

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

Боевой прокси-сервер Squid 5.2 с нуля ч.2 Настройка файла конфигурации SquidПроизведем базовую настройку, открываем /etc/squid/squid.conf# Аутентификация Kerberosauth_param negotiate program /usr/lib/squid/negotiate_kerberos_auth -k /etc/squid/squid.keytab -s [email protected]_param negotiate children 160 st...

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

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

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

Как мы сокращаем время простоя при установке обновлений схемы базы данных. Советы разработчикам Привет! Я работаю в компании Bercut, которая более 20 лет занимается разработкой и поддержкой ПО для операторов сотовой и фиксированной связи. Сегодня я хочу рассказать о наших подходах к сокращению времени простоя продуктивного комплекса при&nb...

Нюансы поддержки npm в Deno Всем, привет! Меня зовут Данильян, я работаю в Самокате фронтенд-разработчиком и разрабатываю бэкофисное приложение с использованием React. Помимо работы, у меня есть несколько сайд-проектов, в которых я широко использую Deno. В последнее время этот проект радует новыми фича...

Tests as code с Allure TestOps и что из этого вышло Внедрение автоматизированных практик тестирования — очень полезная штука. Однако при подходе к этой задаче возникает масса вопросов. Какую платформу выбрать? Сложной ли будет миграция? Какие подводные камни ждут впереди? В своем посте я расскажу, как мы переносили практику т...

ATWatch: Долгий путь разработки умных часов на Arduino Привет, меня зовут Артем. Не так давно я спросил Артёма о том, почему бы нам не рассказать о своём проекте, думаю многие смогут подчеркнуть в нашей истории, что-то своё.Проект ещё начинался, когда я был в 9 классе школы. В университете к разработке присоединился мой друг Арт...

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

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

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

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

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

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

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

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

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

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

10 способов увеличить продажи: плюсы, минусы, подводные камни Цель любой компании — постоянный рост продаж. Достичь ее позволяют разные подходы и инструменты. Алена Бирюкова, руководитель отдела прогрева, и Артем Елисов, коммерческий директор Completo, поделились рабочими механиками, которые чаще всего выбирает для себя бизнес. Также о...

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

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

Как технологии помогают бороться с лесными пожарами Привет, Хабр! Мы – Александр Просвирнин, руководитель проектного направления, и Иван Григорьев, старший менеджер, работаем в команде продукта «Видеонаблюдение» МТС. В этой статье мы расскажем о том, как современные технологии помогают бороться с лесными пожарами. В...

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

Прошивка и отладка STM32 в VSCode под Windows На хабре уже есть немало информации об отладке МК в VSCode на Linux, также было написано как настроить тулчейн для работы под Windows в QT Creator, Eclipse, etc. Пришло и моё время написать похожую, но для VS Code и под Widnows. Инициализация проекта будет проводиться с помо...

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

[Перевод] Node.js наизнанку: не все происходит в пуле потоков Node.js это кроссплатформенная среда выполнения JavaScript с открытым исходным кодом для выполнения JavaScript вне браузера. Он поддерживается движком Google V8, что делает его чрезвычайно производительным.Асинхронная среда выполнения, управляемая событиямиОдно из наиболее р...

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

Перенос URLSessionTask в background URLSession при уходе приложения в фон Всем привет. Всем привет. Меня зовут Максим Батраков и я iOS-разработчик в 65apps. В этой статье я хочу рассказать о некоторых особенностях работы с URLSession, разобрать загрузку файлов в background URLSession и показать процесс переноса выполнения активных запросов в backg...

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

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

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

Дриставрация стиков портативных игровых консолей — маленькое how-to Вообще, эта статья-заметка не особо подходит к тематике хабра, но вероятно здесь есть любители поиграть, у кого возможно лежит мёртвым грузом PSP. А поскольку я по своей натуре любитель залезть и попытаться сделать всё что можно разобрать, то вот вам минигайд.Последний месяц...

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

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

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

Ценный QA Automation – кто он на самом деле? Загадка от Жака Фреско Всем привет! Меня зовут Иван и я Head of QA Automation в Skyeng. Я регулярно занимаюсь обучением Manual QA и менторством начинающих QA Automation (далее – QAA) и часто слышу от падаванов вопрос: «А как же мне, собственно, стать QAA?»Вопрос многогранный. В статье хочу поделит...

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

Внимание: 3 популярных способа взлома Telegram В последнее время всё чаще некоторые пользователи стали получать от знакомых контактов странные сообщения. Некоторые из них должны вас насторожить. На часть из них не стоит реагировать, а лучше предупредить собеседника, если вы с ним знакомы лично. Большая вероятность, что...

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

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

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

Можно ли стать программистом (в возрасте)? Начав с поиска в интернете, удивился, что программистом в возрасте хотят стать с переодичностью в 5 лет, может это как-то связано с циклом разработки, но оставим тему для дальнейшего исследования!Здравствуйте, меня зовут Олег и я программист! Пусть будет таким начало исповед...

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

[Перевод] Преобразуем карты DOOM в SVG для лазерной резки Я много слышал о формате данных классического Doom, поэтому решил написать код на Rust для извлечения его карт и преобразования в векторную графику для лазерной резки. В статье я опишу процесс: извлечение данных, воссоздание геометрии и вывод SVG для лазерной резки; также я...

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

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

Совсем скоро стартует курс «Python с нуля» 24 января 2023 года стартует практический курс «Хакера» — «Python с нуля», направленный на изучение основ и базовых концепций программирования на Python. Перед началом занятий мы проведем пробный бесплатный вебинар, который пройдет 17 января 2023 года. Обсуждение будет сопро...

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

Одна платформа, чтобы править всеми Привет! Меня зовут Миша, я работаю в Ozon Tech — руковожу направлением базовых сервисов в платформе. Ozon сегодня — это порядка 4000 разработчиков и более 3500 сервисов. Разработка постоянно развивается, количество сервисов увеличивается, и одна из сложных задач — ...

[Перевод] Повторная обработка данных на платформе управления цифровыми ресурсами в Netflix Netflix ушел, а технологии остались. Поэтому мы решили перевести оригинальную статью за авторством Meenakshi Jindal о том, как стриминговый сервис обрабатывает данные с помощью Apache Kafka. Читать далее

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

«Раньше, чем ожидалось, быстрее, чем предполагалось». Первый официальный тизер Redmi K60 Redmi сегодня опубликовала первый официальный тизер, посвященный телефонам линейки Redmi K60. Картинка сопровождается словами «Раньше, чем ожидалось, быстрее, чем предполагалось». Первая часть относится к анонсу. То есть представят новинки раньше, чем в про...

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

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

Влияние сбора статистик на скорость выполнения запросов в СУБД TERADATA Расскажу о такой важной особенности работы СУБД TERADATA, как сбор и использование статистик при выполнении запросов и как их наличие или отсутствие может повлиять на скорость выполнения таких запросов. Попытаюсь объяснить, что представляют собой статистики и для чего о...

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

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

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

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

[Перевод] Homescapes! Остин, в чем секрет? Часть 1. История, описание и монетизация Я занимаюсь гейм-дизайном игры в жанре Match-3. Это обязывает отыгрывать во все топовые Match-3, изучать механики этих игр и вообще всецело интересоваться данной темой. В русскоязычном интернете практически не встретишь статей об играх этого жанра, по крайней мере, о Homesca...

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

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

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

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

[Перевод] Запуск Stable Diffusion локально и в облаке с помощью Diffusers и dstack Вероятно, все уже слышали о Stable Diffusion - модели, способной создавать фотореалистичные изображения на основе текста. Благодаря библиотеке diffusers от HuggingFace, использование этой модели очень просто.Однако организация проекта и зависимостей для его запуска независим...

Видеоконференция без включения камеры: цифровые аватары vmoji заработали в «VK Звонках» Команда «ВКонтакте» объявила о запуске новой полезной функции в фирменном сервисе видеоконференций. Теперь пользователи«VK Звонков» смогут подключаться к встречам с использованием персональных аватаров vmoji.  Это позволит участвовать в вид...

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

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

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

Домашняя лаборатория Угадай данную статью написал ChatGPT или нет?Хотите потестировать приложение, или опробовать в работе инструмент? В этой статье опишу то, как организовал тестовый стенд на Linux. Стенд поддерживает работу с доменами, умеет генерировать TLS сертификаты, легко масштабируется, ...

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

[Перевод] Взлом Hyundai Tucson История в двух частях. В первой мы расскажем о первых неудачных попытках болгарского ИТ-специалиста Радослава Герганова взломать свой автомобиль Hyundai Tucson 2020 года выпуска, а во второй — о том, как выполнялся взлом.Я купил новенький Hyundai Tucson в 2020 году, а в 2022...

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

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

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

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

О том, как я прошёл курсы по программированию и остался «выжившим» в IT. Советы тем, кто хочет начать учиться в 2023 Всем привет! Прочитав недавно пост "Невыжившие в IT", который попался в моей ленте, решил поделиться своим опытом прохождения курсов, вхождением в сферу и советами для тех, кто думает "Войти в АйТи в 2023 году", устраивайтесь поудобнее, приятного чтения! Читать далее

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

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

Про Inbox, веселые легаси и динамические микрофронты Наш Альфа-Банк прекрасен. Мы его очень любим, но он такой большой-большой, разнообразный и сложный. Думаю, никого не удивил :) Наш ИТ-ландшафт содержит великое множество всякой «флоры и фауны», с которой необходимо считаться. То тут, то там, из глубоких Enterprise джунглей н...

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

Создание «Google Sheets» через Websockets на Node.js ВведениеВсем привет! Меня зовут Герман Панов и в этой статье мы разработаем табличный редактор - аналог Google Sheets (в упрощенном виде), работающий на основе вебсокетов, чтобы познакомиться со способами применения этой технологии в браузерах. Поскольку цель - ознакомл...

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

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

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

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

DevOps и SRE просто модно Всем привет Хабровчане!Хочу рассказать про современный мир IT и его подходах. Сегодня каждая компания говорит про DevOps и более чем уверенна, что он у них есть. Читая вакансии на множестве ресурсов, я часто вижу объявления "требуется DevOps инженер" с расписанным стеком тех...

Двадцать бабушек – уже рубль. Как GraalVM Native Image позволяет экономить джавистам и девопсам деньги на облако Первая статья в нашем блоге. Я постарался написать хороший текст на основе докладов из Failover Bar и прошлого митапа Альфы, и человеческими словами объяснить, зачем нужен GraalVM.Мы поговорим об экономии на облаках в мире победившего Кубернетиса, обсудим перформанс современ...

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

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

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

Обзор слайсеров для 3D печати 2022! Какой слайсер выбрать в 2022 году? И какие вообще есть программы для нарезки 3D моделей перед печатью? Расскажем в этом материале!Для 3D-печати необходимо несколько вспомогательных инструментов. Очевидно, что у вас есть 3D-модель и 3D-принтер, но между этими двумя пунктами е...

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

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

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

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

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

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

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

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

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

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

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

Кастомный генератор кода API: структура и методы доработки Всем привет! Меня зовут Юлия Сладковская, я разработчик в МТС Digital, команда BOPS (Backoffice Portal). Эта статья – про структуру генераторов NSwag для кода клиента и сервера на основе схемы API. Также я расскажу о создании кастомного генератора на базе стандартных генерат...

Зачем вообще защищать данные при передаче? Привет, Хабр! Меня зовут Федор и я занимаюсь киберкриминалистикой. Не только на работе (в RTM Group), но и на досуге. Мне нравится исследовать, почему и как кого-то взломали, а еще думать, как сделать так, чтобы этого не происходило. В связи с COVIDом и п...

Вместо BMW и Hyundai-Kia «Автотор» будет собирать китайские автомобили DongFeng Сегодня калининградское предприятие «Автотор» сообщило о перезапуске производства, но своих новых партнеров называть не стало. Подробностями на этот счет поделился автоэксперт и автор Telegram-канала «Русский автомобиль» Сергей Цыганов. По его сл...

Абсолютно бесплатный VPN с бесплатного VPS Думаю про VPN слышали все, и многим приходилось им пользоваться. При этом использование готового VPN, которым руководит какой - то неизвестный человек, не является хорошей идей. Тем более в России на данный момент пытаются блокировать, как сами VPN провайдеры (Windscribe, Pr...

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

Как получить полные 3Д данные маленького ключа? Здравствуйте, меня зовут Чэнь, работаю как технический специалист в компании Shining 3D.А может быть, вы более и менее услышали о Shining 3D, прежде всего позволить мне кратко рассказать о нас еще, мы занимаемся делом о высокоточной 3Д-оцифровке и 3д-печа...

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

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

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

11 полезных AI сервисов + Plasma AI Telegram бот с 160 ролевыми моделями, эксклюзивом от chatGPT 4 и MidJourney 5 После моей предыдущей статьи про 30+ задач, которые может выполнять chatGPT, мы решили запустить своего чат бота в Телеграм, которые за 3 месяца вырос до более 1 миллиона активных пользователей. Сегодня мы запустили большое обновление и функционал "Ролевых" моделей chatGPT 4...

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

Мой диплом, или Как собрать вещи и переехать на YDB Меня зовут Арслан, в этом году я делал сервис для построения циклов заказа (например, заказа такси). Возможно, вы видели пост от другого разработчика в команде, Ильи Lol4t0. Всего сервис обрабатывает примерно 5000 RPS с задержкой 100 мс в 99 перцентиле. Раньше для хранения д...

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

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

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

Один плагин, чтоб править всеми. Как разработать сканер на Flutter для 3 платформ и ускорить ввод данных в 2 раза Привет! Меня зовут Сергей, я Flutter‑разработчик SimbirSoft. В этой статье хочу поделиться интересным платформоспецифичным кейсом для мобильных устройств и ТСД. Нам с командой удалось сократить затраты на разработку и ускорить процесс ввода данных в 2&nbs...

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

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

Сайт, целиком написанный OpenAI Да, про эту нейросеть сейчас слышно отовсюду, как она пишет текста песен, сдает экзамены, пишет куски кода, но я подумал, а сможет ли она сама целиком завершить проект под моим руководством? Читать далее

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

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

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

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

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

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

Новая встроенная графика AMD Radeon 780M для ноутбуков удивляет производительностью Согласно данным Wccftech, AMD Radeon 780M уже может побить по производительности самую популярную сегодня видеокарту по статистике Steam. Интригует? Читать полную статью

LSI ключи и что использовать вместо них? Меня зовут Пётр Гришечкин, и я работаю SEO-специалистом в команде проекта “Своё Родное”. В основном я занимаюсь продвижением цифровых продуктов, представленных на платформе, и готов поделиться своими знаниями с читателями Хабра. Вокруг SEO ходит много мифов и легенд. На неко...

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

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

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

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

Тестирование мобильных приложений на Flutter с использованием Python + Appium Тестирование нативных мобильных приложений для Android и iOS обычно обеспечивается библиотеками UiAutomator2 и XCUITest, но сейчас, в связи с появлением мобильных приложений, разработанных с использованием Flutter Framework, использовать их для тестирования становится затруд...

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

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

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

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

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

Масштабирование SSR-приложений Привет! Меня зовут Олег Драпеза, я работаю техлидом в Тинькофф в команде Coretech Frontend. Мой основной проект — SSR мета-фреймворк tramvai, на котором работают несколько десятков фронтовых приложений Тинькофф.Сегодня хочется поговорить про масштабирование SSR-приложений. С...

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

Легенды на SH-3 Приветствую всех! Думаю, многие из нас хоть раз слышали о клавиатурных КПК. И как-то так получилось, что едва ли не самым узнаваемым аппаратом подобного класса стал HP Jornada 720. Но сегодня речь пойдёт о других, более старых устройствах, оснащённых процессором иной арх...

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

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

«И швец и жнец» или обзор полезных расширений для XWiki  Вот уже второй год, как мы используем XWiki, вместо Confluence. За это время я к ней привык и даже в некотором роде полюбил. Поэтому не могу пройти мимо такого важного события как выход новой LTS версии 4.10.X.Если вы не знакомы с релизным циклом XWiki, то вас мож...

[Перевод] Как легко пройти собеседование по Kubernetes в 2023 году Сегодня одним из наиболее часто используемых инструментов в стеке технологических компаний является Kubernetes. С момента своего выпуска K8s получил массовое распространение, расширяя свою экосистему и увеличивая количество пользователей. В 2021 году CNCF (Cloud Native Compu...

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

Tarantool: Билли Миллиган в мире СУБД Привет! Меня зовут Mons Anderson, я архитектор, разработчик, продакт-менеджер и евангелист Tarantool. В VK работаю уже больше 10 лет. Я постоянно нуждаюсь в базах данных, использую их и очень люблю. И в последнее время, когда я говорю про БД, я всё чаще говорю про Tarantool....

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

Что можно понять о научной журналистике читая об открытии бутылки с шампанским? Об измерении скорости потока углекислого газа при открытии шампанского написала под новый года вся желтая российская интернет-пресса начиная от шитпостеров «наука и техника», до самых базовых реплоидов с Рен-тв. Читать далее

Обзор SpongeBob SquarePants: The Cosmic Shake. Достойное продолжение 3D-платформера Сегодня на консолях и ПК стартовала игра SpongeBob SquarePants: The Cosmic Shake, ставшая продолжением Battle for Bikini Bottom — Rehydrated, вышедшая в 2020 году и довольно удачно. Собственно успех неудивителен гремучая смесь из популярного мультсериала, знакомого детям и в...

Плохие практики разработки, которые до сих пор встречаю в стартапах Привет, я Виктор. Двенадцать лет назад я пришел в веб-студию в Самаре. Так начался мой путь в разработке. У нас не было гита, CI/CD, тестовых стендов и много чего еще. Я видел, как это мешало развитию команды и бизнеса. Приходилось на ощупь собирать грабли, открывать для себ...

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

Техподдержка: как научиться жить без Jira Привет! Меня зовут Савр, я работаю инженером технической поддержки Arenadata. В прошлом году нам, как и многим другим компаниям, использовавшим зарубежное ПО, пришлось переходить на российские аналоги. В частности, с болью в сердце мы отказались от Jira Service Management (д...

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

Миграция с СУБД Oracle на PostgreSQL: опыт крупного ритейлера Summary: Сотрудники Лиги Цифровой Экономики Юлия Крашеница, DBA PostgreSQL, Андрей Ходус, ведущий эксперт, и Елена Жикривецкая, старший эксперт PostgreSQL, рассказали об особенностях миграции с системы управления базами данных Oracle на PostgreSQL и возникших сложностях, а е...

Парсинг ответов на BLE-команды на языке Swift на примере GoPro Привет, Хабр! Меня зовут Полина, работаю в Doubletapp iOS‑разработчиком и сегодня хочу рассказать о нашем опыте работы с API GoPro, а конкретно с парсингом ответов на команды BLE, которые описаны в этом API.Содержание:• Принцип работы с BLE-уст...

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

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

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

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

3D-графика в Go В большинстве случаев, когда речь заходит об использовании Go, вспоминается backend или DevOps и в самую последнюю очередь можно подумать об использовании Go для создания мобильных или десктопных приложений. Но в действительности, благодаря возможностям интеграции с нативным...

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

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

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

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

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

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

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

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

Xonotic: свободный и бесплатный шутер Многие из нас, наверное, помнят времена когда мы просиживали долгие часы в компьютерных клубах, играя в Quake III и Unreal Tournament. Эпоха расцвета аренных шутеров пришлась на конец девяностых и начало нулевых годов. Сейчас этот жанр стал не таким популярным и даже во мног...

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

Курсы для ИТ-специалистов от компаний: как они устроены и кому будут полезны Есть много способов получить ИТ-специальность и найти работу: от поступления в вуз до самообучения. Один из таких способов — корпоративные курсы. Меня зовут Юлия Купряшова, и я уже четыре года курирую курсы Тинькофф Финтеха. Расскажу, как устроены такие курсы, чем они о...

В очередь, ...! Как управлять состоянием системы через события Существует множество разных подходов к построению архитектуры серверных приложений. В данной статье рассмотрим Event-driven архитектуру (она же событийно-ориентированная). Рассмотрим основные принципы, как перейти от связей Компонент А <-> Компонент В, к связям через с...

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

ChatGPT написал Android приложение Вчера чат-бот с искусственным интеллектом ChatGPT написал за меня Android приложение! Это очень примитивное приложение, но оно компилируется, запускается и работает. Но как он это сделал? С первой попытки или пришлось долго сидеть и мучить его?Сейчас расскажу! Читать далее

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

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

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

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

Чат-бот Bing отказался писать сопроводительное письмо вместо человека, он назвав такой запрос «неэтичным» и «несправедливым» Новая поисковая система Microsoft Bing с чат-ботом отказалась писать сопроводительное письмо соискателю вакансии. Система заявила, что такой способ «несправедлив по отношению к другим претендентам» и «неэтичен». Систему протестировали журналисты ...

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

Polars: библиотека для работы с данными, написанная на RUST Настоящий хреновый программист всегда находится на гребне волны новых технологий. Зачем ему это? Чтобы при случае можно было повыделоваться багажом своих знаний, и заработать немного очков уважения в окружении своих менее осведомлённых коллег. Stay toxic, brothers. Я с вами....

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

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

Как открыть ИП в Молдове Напишу пост как открыть ИП в Молдове, легально получать оплату из других стран, платить налоги (7% от дохода при регистрации в ИТ парке или 12% с прибыли доходы минус расходы), полезные ссылки и лайфхаки. Возможно, кому-то будет полезно, раз народ жалуется, что в Ереване мес...

SOAR в Kubernetes малой кровью Как идеально не строй цикл разработки и поиска уязвимостей, все равно будут существовать кейсы, которые приводят к security-инцидентам. Поэтому давайте соединим два ингредиента: control loop (reconciliation loop) и полную декларативную возможность Kubernetes и посмотрим, как...

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

Технологии прошлого сегодня — стандарт X.25 У себя в блоге мы часто пишем о работе интернет-провайдеров и сетевых протоколах. Мы решили начать серию материалов о технологиях из прошлого. Сегодня говорим о стандарте пакетной передачи данных X.25. Относительно недавно с ним работали крупные банковские системы вроде SWIF...

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

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

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

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

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

Чип AudioСodec(а) WM8731 (или (ADC/DAC)*2) Существует чип WM8731. Это стерео аудиокодек или однокристальная звуковая карта. В сущности 2 пары ADC/DAC на 24бит каждый с настройкой по I2C. Чип знаменит тем, что его в свое время заложили в культовую отладочную плату Altera-DE1 для FPGA  и чип WM8731 стал извес...

Java. Работа с XML-документами Привет, Хабр! Меня зовут Михаил, я SDET-специалист компании SimbirSoft. Я занимаюсь автоматизацией тестирования, в основном это работа с WEB и REST API, но на последнем проекте применял SOAP. Мне приходилось работать с сообщениями этого протокола, а именно:— выполн...

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

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

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

H-мост: Load Detect (или как выявлять вандализм) В этом тексте я написал как диагностировать и тестировать такую электрическую цепь как H-мост. Как в Run-Time(е) определять Fault(ы) в H-мосте, чтобы вовремя отключить ключи и перевести всю цепь в безопасное состояние тем самым спасти дорогое оборудование от сгорания? Читать...

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

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

IT's Tinkoff QA Meetup На связи команда перфоманс-тестинга. Нам важно развитие профессиональных стандартов и профессионального комьюнити. В конце октября мы провели митап на тему нагрузочного тестирования. В статье расскажем про доклады спикеров и дадим ссылки на все материалы.На митапе обсудили, ...

Neoflex представил платформу Dognauts для полного цикла разработки и эксплуатации ML-моделей Neoflex представил новую версию платформы Neoflex MLOps Center для разработки, эксплуатации и управления жизненным циклом ML-моделей, которая получила название Dognauts (Догнатс). Платформа основана на Open-Source компонентах и может быть ...

5 новых причин роста запросов на DR и 3 кейса клиентов из серии “откуда не ждали” Привет, Хабр. Сегодня мы поговорим о том, почему растет спрос на аварийное восстановление, а также разберем несколько примеров, когда компании сталкиваются с рисками или реальными сбоями инфраструктуры там, где раньше это было невозможно. Всех желающих обсудить предпосылки к...

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

Привет из мира 1С — Обработка результатов запроса произвольными вычисляемыми полями. Обзор некоторых новых функций СКД В данной статье вспомним как обрабатывать результаты запроса в вычисляемых полях СКД, а так же сделаем небольшой обзор на новые функции СКД платформы 8.3.20. Читать далее

Кто последний на индустриальный стандарт? Мне только спросить… Сегодня в сообществе ИТ архитекторов, поддерживающих подход “Архитектура как код”, все чаще появляются упоминания о его перспективах выйти на уровень нового индустриального стандарта. Можно было бы сказать, что любое общество должно быть амбициозным и видеть себя в “Центре В...

Устройств в интернете больше, чем людей, а ИИ начал писать софт. Что будет дальше? Простое приложение, написанное нейросетью ChatGPT по просьбе пользователя Сегодня в мире насчитывается 13 млрд подключённых устройств IoT, то есть количество устройств в интернете уже превысило количество людей на Земле. И дальше разница между ними будет стремительно увели...

Пентест. Думаем как злоумышленник Часть 1. Угрозы извне О тестировании на проникновение написано уже немало книг и статей. Эта тема становится все актуальнее с каждым новым инцидентом ИБ. Злоумышленники проникают в сети различных организаций с целью прямого хищения денег с счетов (банки, финансовые организации), атак на отказ в о...

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

«Глобалки» Xiaomi 13 и 13 Pro: цена от €999 и международная гарантия На выставке MWC 2023 состоялся глобальный релиз смартфонов Xiaomi 13 и 13 Pro. Компания объявила дату начала продаж обеих моделей, рассказала об их розничной цене на международном рынке и цикле обновлений, [...]

OpenAI представила инструмент для обнаружения текста, написанного ИИ Компания OpenAI выпустила инструмент, который должен определять, был ли текст сгенерирован с помощью искусственного интеллекта (например, ChatGPT) или же написан человеком. Однако, по словам самих разработчиков, этот инструмент «не совсем надежен» и правильно идентифицирует ...

Нефункциональные проверки при тестировании мобильных приложений Привет! Я Линар Юнусов, тестировщик из мобильной команды СберМаркета. Если вы не первый день в тестировании, то знаете про существование нефункциональных проверок и как они могут поломать жизнь (зачеркнуто) приложение. В этой статье расскажу про то, к каким проверкам мы приш...

Зачем нужен 3D-принтер - сценарии использования для дома и бизнеса 3D-печать становится всё более доступной для обычных смертных и открывает множество возможностей как для хобби, так и для бизнеса.

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

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

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

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