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

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

Kotlin (не) против Java: особенности компиляции в байткод В 1995 году Sun Microsystems представили Java — объектно-ориентированный язык программирования, основное кредо которого можно сформулировать так: «Написано один раз, работает всегда». В 2011 году как улучшенную альтернативу Java компания JetBrains представила Kotlin — язык с...

Настройка CI/CD для Gitlab-репозитория: схемы и гайд по шагам Рассказываем, как работать с CI/CD, о шагах при настройке сервера и о полезных командах, которые помогут в работе. Привет! Меня зовут Николай, я Backend-разработчик в РЕЛЭКС.В статье ты найдешь полезный теоретический материал, сравнение инструментов CI/CD и подробный гайд п...

Ceph: разбираем базовые операции в кластере на примере интеграции с Hashicorp Nomad Привет! Я Владимир Иванов, системный администратор выделенных серверов в Selectel. Мы довольно часто экспериментируем с подходами, процессами и решениями. В одном из экспериментов добрались до Ceph: сделали тренажер, в котором можно «потыкать» основной функционал хранилища,...

Yandex Backend Tour: по городам России в поисках backend-разработчиков Программисты уровня middle+ не готовы тратить месяц жизни на длительные интервью. Поэтому Яндекс приглашает backend-специалистов пройти собеседование всего за неделю, без стресса и ожидания. В ходе Yandex Backend Tour с 13 по 17 ноября кандидаты смогут встретиться офлайн с р...

Конверсия 1 собеседование на 500 откликов на западном рынке. Как так вышло и чем грозит? Привет, меня зовут Артур, и это моя вторая публикация на Хабре. Я долго не решался опубликовать эту статью, переписывал её несколько раз и всё-таки в приятный пятничный вечер решил вынести эту тему на всеобщее обсуждение. Мне кажется, тема очень важной и актуальной. Несмотря...

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

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

REST API на котиках Привет любителям котиков! Меня зовут Юля, я backend‑разработчик компании CDEK. Я сама не так давно изучала все эти сложные понятия в программировании, поэтому решила помочь и вам разобраться с одним из них.С какой стороны IT вы бы не пытали...

Как безболезненно внедрить исследования в продуктовую разработку Дизайнеры Samokat.tech начали проводить продуктовые исследования внутренними силами команды. «‎Что из этого вышло» и «‎Как внедрить такой подход» – разбираем на конкретных примерах от первого лица. Читать далее

Осваиваем DOM Invader: ищем DOM XSS и Prototype Pollution на примере пяти лабораторных и одной уязвимости на Хабре Привет, Хабр! Сегодня мы познакомимся с DOM XSS и Prototype Pollution, рассмотрим примеры уязвимостей на Bug Bounty и научимся использовать инструмент DOM Invader, который заметно упростит поиск таких уязвимостей. Материал будет интересен специалистам, которые уже сталкивали...

Clickhouse: прогулки по граблям Добрый день, Хабр! Меня зовут Олег, я являюсь Backend-разработчиком в IT-компании «Философт» последние полтора года. Мы занимаемся разработкой платформы для жителей, подключённых к нашей системе, которая призвана помочь взаимодействовать с различными «умными» устройства...

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

Account Abstraction: что это такое и зачем нужно криптомиру Привет всем! Меня зовут Паша, я web3 разработчик в команде MetaLamp, мой основной стек – Solidity. Последнее время я часто сталкивался с задачами, требующими применения технологии Account Abstraction, поэтому я решил собрать базовые знания о ней в одну статью. Эта статья пом...

[Перевод] Это слишком опасно для C++ Некоторые паттерны стало возможно использовать на практике только благодаря безопасности Rust по памяти, а на C++ они слишком опасны. В статье приведён один такой пример.Работая над внутренней библиотекой, написанной на Rust, я создал тип ошибок для парсера, у которых должна...

zVirt Hosted Engine: практика развертывания в картинках Привет, друзья! С этой статьи компания Orion soft начинает вести свой блог на Хабре. Сегодня я расскажу о том, как происходит развертывание системы виртуализации zVirt. Текст предназначен для тех, кто еще ни разу не работал с нашим гипервизором, но в тайне (или явно) мечтает...

Как писать просто, понятно и для интерфейсов: лучшие практики UX-редакторов Ozon Привет всем! Это не обычная статья, это целый курс про UX-редактуру от Ozon. Мы с вами разберем, что такое UX-редактура, какие бывают форматы интерфейсных текстов и как их писать качественно, быстро и просто.Меня зовут Кира Калимулина, мы с командой занимаемся всеми интерфей...

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

Рынок BI (business intelligence) в России Давайте попробуем начать разбирать тему рынка Аналитических платформ в России. Есть ли он, насколько сильно отстает от топ 3 из Гартнера, и когда наступит светлое будущее BI для пользователя. В этом коротком посте напишу тезисно, то, что я наблюдаю сейчас и какие проблемы ви...

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

Как решить типичные проблемы Django нестандартным подходом: Fake Injection Давайте признаем, что развитие проектов в мире Django не всегда проходит гладко. Мы часто сталкиваемся с толстыми моделями и сериалайзерами, размытой бизнес-логикой и тестированием, которое больше напоминает головную боль, чем удовольствие. Меня зовут Павел Губарев, я back...

Альтернатива Nova: почему решили перейти с самописного решения на Orchid Привет. Меня зовут Артем, я backend-разработчик в Пиробайте. Когда я только пришел в компанию, то узнал, что команда разрабатывает административные панели на основе самописного решения, созданного внутри студии. Когда-то за основу был взят шаблон Inspinia, и для него написан...

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

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

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

Четыре года с умным домом: личный опыт и интересные сценарии Меня зовут Виктор, я backend-разработчик в финансовом маркетплейсе Банки.ру.Последние годы я интересуюсь темой умного дома. Хочу поделиться тем, с чего я начинал и к чему пришел. Эта статья будет полезна тем, кто: хочет понять как устроен self-hosted умный дом; хочет перенят...

Upgradeable smart contracts. 5 способов обновить код смарт-контрактов на все случаи жизни Рассказываем, зачем нужны обновляемые смарт-контракты, какие методы обновления существуют, а также делимся примерами кода реализации. Это может оказаться must have технологией на старте проекта, которая поможет спасти ваш код от уязвимостей и критических ошибок. Читать далее

[recovery mode] KolibriOS: пробуем ассемблер Решил потренироваться на ассемблере под x86 и выбор мой пал на KolibryOS. Ведь как-никак это ОС была написана на ассемблере и для использования ассемблера. И я хотел именно из самой KolibriOS писать код. Но... Наверное, зря я это всё затеял.Как оказалось, примеров кода не ма...

[Перевод] Что ты делаешь для безопасности Active Directory? (часть 1) Привет! Если ты не понимаешь с чего начать защищать Active Directory я привожу краткий перевод публикации "The Complete Active Directory Security Handbook. Exploitation, Detection, and Mitigation Strategies" от Picus Security. На своем опыте могу сказать, что восстановление ...

«Импортозамещение» в видеонаблюдении. Часть четвертая: разбираю камеру от НИЦ “Технологии” сам Наконец пришла моя долгожданная двухмегапиксельная ip-камера, произведенная, как написано на стикере, в Краснодаре. Разберу начинку, ПО и попытаюсь определить насколько она отечественная. Читать далее

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

QIWI Server Party 9.0 — 14 декабря, офлайн и онлайн Привет! Совсем скоро мы проведём наш очередной QIWI Server Party, уже 9-й по счёту. Это митап для backend-разработчиков и тех, кому в целом интересна подобная тематика.Как обычно, расскажем об опыте больших компаний из первых рук — будут не только спикеры из нашей компании, ...

Meilisearch — организация поиска в связке с Laravel Hola, Amigos! Меня зовут Евгений Шмулевский, я backend-разработчик на Laravel в агентстве продуктовой разработки Amiga. В статье описываю организацию поиска через Meilisearch и нюансы использования в связке с Laravel. Читать далее

Интерактивный парсер web страниц Всем привет. Меня зовут Влад и по профессии я Java Backend.Для начала вкратце введу в курс дела. 3 года назад ко мне в голову закралась навязчивая мысль написать интерактивный словарь-помощник для чтения на английском языке. И с тех пор начались мои приключения в мире расшир...

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

Анонс и открытый бета-тест данжен-кроулера Blood Servants Издатель Neon Doctrine вместе со студией OneShark анонсировал hack and slash данжен-кроулер Blood Servants, который выйдет только для ПК через Steam. Дата релиза пока что неизвестна, но уже сейчас можно записаться на бета-тест — прямо на странице магазина по кнопке «Запросит...

Съемка видеоинструкции: от идеи к реализации Технические писатели создают текстовые документы, но что если для процесса одного текста мало? Тогда приходится учиться монтировать и делать видеоинструкции.В этой статье я рассказала, как и зачем в Компании «Актив» мы делаем видеоинструкции на примере одного важного кейса: ...

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

97 откликов, 2 тестовых, 3 технических собеседования — и оффер в IT-компанию у меня в кармане Привет, я Настя — младший разработчик в «Метре квадратном». Это статья о том, как я пришла в разработку практически с нуля в 2023 году. Знаю, на «Хабре» таких уже много, но когда-то подобная статья помогла мне начать свой путь, и я решила, что этот текст тоже может быть поле...

KISS your website или как написать уважаемый сайт на аутсорсе, глава первая Добрый день. Меня зовут Тимофей, я фронт-тимлид в диджитал-продакшене ДАЛЕЕ. В данном цикле статей я поделюсь подходами и инструментами фронтенд-разработки на аутсорсе, которые помогут создать качественный продукт без кошмарного instant-legacy и значительно облегчат жизнь ко...

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

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

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

Backend-разработчик: из стажера в джуны Всем привет! Меня зовут Егор, я стажёр backend-разработчик в зарплатном проекте Росбанка (он же Payroll). В этой статье я расскажу про путь становления от «зеленого» стажера до боевой единицы в команде: через что мне пришлось пройти, с какими трудностями я столкнулся и как п...

Скорее жив, чем мёртв: тенденция по развитию iOS технологий Подготовьте кружечку чая, запаситесь терпением и дочитайте всю статью до конца.После 24 февраля 2022 года, события в iOS разработке начали меняться не в лучшую сторону. Приложения "крупных" компаний удаляются из App Store (пример Сбербанк, Альфа банк, ВТБ, Тинькофф). Кажется...

Разбираем на винтики учебный процессор TOY А давайте возьмём простейший процессор и напишем его эмулятор на Python. А потом скормим ему бинарник с программой, чтобы получить, например, такой результат:# python emulator.py -f add_two_numbers.bin Enter a number > -3 Enter a number > 8Output > 5Статья для тех, ...

Suno есть, скрипач не нужен!? Я еще не совсем отошел от шока полугодичной давности, когда познакомился с RVC ... а тут новый прорыв - Suno. Думаю, многие если и не знакомы с самим сервисом, то слышали результаты - саундтреки с вокалом, полностью сгенерированные ИИ, по сути, не отличимые от живого исполне...

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

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

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

СДЭК в критические дни и приключения с потерянным лекарством Пятничный вечер не предвещал беды. Напротив, я был доволен собой. В этот раз делаю все вовремя, с хорошим запасом по срокам. Заказал из Москвы в Екатеринбург очередную порцию одного лекарства. Лекарства довольно дорогого. И критически необходимого для одного из чле...

Пишем свой QTableView с нуля Итак жил был фреймворк Qt и последние 10 лет ничего в нем не менялось. И захотел один чел написать свой QTableView с нужным ему функционалом, а именно захотелось ему выводить ячейки в несколько рядов (по горизонтали) в одной строке. Ещё ему хотелось растягивать одну из ячеек...

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

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

TypeScript: infer и conditional types. Продвинутый TS на примерах Разбираемся, что же такое conditional types и как написать свои утилиты, такие как ReturnType, InstanceType, NonNullable и др., при помощи ключевых слов infer и extends. Читать далее

Коротко об играх от инди разработчиков №2 Прошлая подборка была неоднозначна принята. В комментарии было написано что не надо, а потом кто-то написал что надо. Пусть лайки/дизлайки определят, нужно такое здесь публиковать или нет. Попытка № 2.На DTF в комментариях было очень тепло принято, на пикабу залайкано.Мне на...

[Перевод] Почему некоторые проекты угасают после ухода программиста из компании Зачастую судьба цифрового продукта заботит не только компанию, которой он принадлежит, но и специалистов, непосредственно участвовавших в его разработке. Для многих программистов (и команда beeline cloud — не исключение) проект, к которому они приложили руку, — это не просто...

Зачем писать на Хабр, если каждый раз потеют ладони? Сегодня стартует VI конкурс технических статей на Хабре «Технотекст». Команда комьюнити проводит его во второй раз, участвует в четвёртый. Так получилось, что трое из нас — активные авторы Хабра, которые писали для компаний, писали для себя и пишут для блога Хабра. И каждый ...

Как заказчик пришел к нам за новой фичей, а мы его отговорили Привет! Я Вика Левена, директор по аналитике в AGIMA. В этом году мы плотно поработали с одним заказчиком. Настолько плотно, что он пришел к нам за одной услугой, а получил совсем другую. Но остался доволен.Ситуация эта не такая уж и обыкновенная, поэтому я решила написать о...

Всё интересное из первого трейлера GTA VI: персонажи, мир и лёгкое безумие Сегодня, как всем уже известно, в сети появился первый трейлер Grand Theft Auto VI, в который вошли только кадры из кат-сцен — никакого геймплея. Но даже так разработчики из Rockstar Games смогли дать нам море информации о новой части, о которой мы сейчас и поговорим. Кстати...

Привычка быть SOLIDным разработчиком Привет, Хабр! Меня зовут Грант, я уже 5 лет занимаюсь backend-разработкой в SimbirSoft, а с 2021 года возглавляю Backend-отдел компании в Краснодаре. В последние несколько лет неоднократно замечаю, что на входном интервью соискатели часто путают принципы разработки. Поэтому ...

Один бот против тысяч мемов, или как я создал бота-полицейского для мем-чата Привет, я Дима Абакумов, разработчик в диджитал-агентстве ДАЛЕЕ. Расскажу, как я написал бота на Python, который находит дубли мемов в нашем мем-чате, и какие методы сравнения изображений для этого использовал. Читать далее

Бруклинский мост. Зачем генерируем C++ на Kotlin Нелегко на рынке найти senior разработчика для конкретной сферы. Каждый из них имеет уникальные знания в своем языке и фреймворке, будь это Java, Kotlin, С++, JS или Swift. Каждый накапливал свои знания годами. Но найти senior разработчика, который одинаково хорош и C++ и в ...

Подборка: навыки и инструменты начинающего Go-разработчика Привет! Меня зовут Александр Тетеркин, я Go-разработчик в VK. Раньше я писал на Python, потом перешел на Go — пишу на этом языке уже три года, а также являюсь наставником на курсе «Go-разработчик с нуля».Я знаю, что новички в любой сфере задаются вопросами о том, с чего нача...

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

Зачем нужен архитектор 1С. Часть 2 В предыдущей статье habr.com/ru/companies/otus/articles/772490 я постарался на конкретном примере показать различие между разработчиком 1С и архитектором 1С. Насколько по разному они подходят к решению одной и той же задачи. В этот раз я приведу пример, в котором различие ...

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

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

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

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

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

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

Почему происходит подмена телефонных номеров. Часть 1. Кейс МегаФона Волна телефонного мошенничества, к сожалению, продолжается. Запуск системы «Антифрод» немного снизил накал страстей. Операторы перестали пачками получать запросы из МВД. Но проблемы это не решает. И вот почему. Разбираем кейс на примере МегаФона. Читать далее

О внутрикластерной маршрутизации через Istio Привет, Хабр! Я Степан, DevOps‑инженер, занимаюсь созданием CI/CD процессов с учётом проверки кода на безопасность, поддержкой и разверткой новых кластеров Kubernetes, соблюдением требований безопасности и созданием системы мониторинга и логирования — все это ...

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

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

Встречаем Fedora Linux 39: что появилось в новом релизе? Разбираем по пунктам На днях вышел ожидаемый многими релиз дистрибутива Fedora Linux 39. В нём достаточно много изменений, так что о них стоит поговорить подробно. Если есть желание опробовать новинку, то уже подготовлены продукты Fedora Workstation, Fedora Server, Fedora CoreOS, Fedora Cloud Ba...

Разбирая бэклог. Часть 6. Спрайтовая эстетика, минимализм, загадочные письма. 4+4 необычных аркады и пазла. 1991-1999 Пазл-перевёртыш. Как в сюжетном плане, так и в геймплейном. Некая группа добрых существ пленила всех злодеев из видеоигр (по ходу прохождения можно будет встретить несколько знакомых образов), установив своё понимание правильного миропорядка. Двум персонажем с треугольными г...

В ноябре Wink.ru поможет сохранить бодрость и хорошее настроение В ноябре, одном из самых хмурых месяцев года, видеосервис Wink.ru как всегда позаботится о хорошем настроении подписчиков. В планы на долгие почти зимние вечера и уикенды надо обязательно включить новые сериалы о пацанах разных поколений, узнать историю «Гардемаринов» 30 лет...

VBA, Word: перекрёстные ссылки согласно ГОСТ (убираем из текста паразитные названия «Рисунок..», «Таблица..» и тп) Меня попросили написать статью по поводу известной проблемы с паразитными названиями перекрёстных ссылок в тексте документа MS Word, а именно, когда вы вставляете в текст документа перекрёстную ссылку (меню ссылки/перекрёстная ссылка) Word позволяет вставить либо название ти...

Как перестать переусложнять и начать жить Мое наблюдение состоит в том, что мы — разработчики и продукты, сильно переусложняем, осознанно или нет, но всякие «„Архитектурные комитеты“, „Планирования“, „Апрувы у 50 отделов“ и деплои в 2-часовые окна, простыни текста сопровождающие простей...

Векторные базы данных — набирающий устойчивость тренд в разработке систем ИИ или мимолетное увлечение? В блоге beeline cloud на хабре и в нашем технологическом медиа мы разбираем ключевые технологии и принципы работы отрасли. На этот раз мы решили затронуть стремительно растущий рынок машинного обучения, который «тянет» за собой сегмент векторных БД.С одной стороны, технологи...

Как написать свою маленькую ОС Большое начинается с малого. Например, ядро Linux 0.0.1 состояло всего из 10 239 строк кода, из них 20% комментарии. Такой проект вполне может осилить студент в качестве курсовой или дипломной работы, программируя по вечерам на домашнем ПК (собственно, Линус и написал его ...

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

А/Б тестирование с CUPED: детальный разбор Хабр, привет! Сегодня обсудим, как применять CUPED для повышения чувствительности А/Б тестов. Рассмотрим на простом примере принцип работы CUPED, покажем теоретически за счёт чего снижается дисперсия и приведём пример оценки эксперимента. Обсудим, как выбирать ковариату, как...

Нейросети, виртуальная реальность и Бог-солипсист Несколько недель тому назад компания OpenAI анонсировала скорый выход нейросети SORA, способной создавать связный осмысленный видеоряд из простого текстового описания того, что вы хотите увидеть. То, как работает эта нейросеть, можно узнать из великолепной статьи "Настоящее ...

Что такое Software Bill of Materials и зачем он нужен разработчикам Последнее время наблюдается рост числа кибератак, нацеленных на разработчиков и вендоров программного обеспечения. Поэтому в ИТ-сообществе все чаще обсуждают спецификацию Software Bill of Materials, или SBOM. Ее внедряют как стартапы, так и корпорации. Обсудим, что это за ин...

Бизнес на Слитых Данных — это Аналитика от SimilarWeb Представьте, вы написали свой сервис веб-почты, или классное расширение, которое стилизует браузер. Такие сервисы могут набирать миллионную аудиторию, но только если они бесплатны.Так кто же готов платить за такой сервис? Только тот, кому нужен контроль над пользователями - ...

Нейросети помогут продавцам написать текст объявления на Авито Отличная новость.

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

Обзор Simulator — платформы для обучения инженеров безопасности Kubernetes с помощью CTF-сценариев Ранее мы делали обзор инструментов для оценки безопасности кластера Kubernetes. Но что, если нам нужно обучить инженеров основам безопасности Kubernetes на реальных примерах и автоматизировать этот процесс? Недавно компания ControlPlane, специализирующаяся на Cloud Native-ре...

«Что? Где? Когда?» в названии багов Хорошее название бага понятно любому:- менеджеру, плохо знающему техническую часть проекта;- джуниору, который только пришел в проект;- разработчику (зачем мне это чинить?)Для этого оно должно отвечать на 3 главные вопроса: Что? Где? Когда?И в этой статье я хочу разобрать ка...

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

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

Сбер запустил сервис GigaChek для определения текстов, написанных нейросетью На технологической конференции GigaConf 2024 исследователи Сбера и SberDevices представили GigaCheck — детектор для определения авторства русскоязычных текстов. Как отметили в пресс-службе, решение отличается высокой точностью и скоростью работы, предоставляется п...

Сервер Юк. Заставляем Yandex Cloud Functions работать на F# В этой статье я расскажу, как засунуть F# в Yandex Cloud Functions. Навыка работы с Serverless у меня нет, так что это будет не компиляция моего опыта, а отчет о вполне успешном эксперименте.Судя по всему, разработчики Yandex Cloud Functions считают, что dotnet = C#. Поэтому...

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

[Перевод] Разбираем самый маленький PNG в мире Самый миниатюрный PNG в мире весит 67 байт и представляет собой один чёрный пиксель. Выше вы видите его в 200-кратном увеличении. Красота, не так ли? Состоит этот файл из четырёх частей: Сигнатура PNG, одинаковая во всех файлах этого формата: 8 байт. Метаданные изображе...

[Перевод] Решение задач Front End с интервью. Promise Pool Разбираем задачу Promise Pool (Leetcode 2636)Дан массив асинхронных функций functions и максимальный размер пула n. Необходимо написать асинхронную функцию promisePool. Она должна возвращать Promise, который разрешается, когда разрешаются все входные функции function. Читать...

[Перевод] Невидимая проблема текстовых редакторов на смартфонах Когда я рассказываю о своих исследованиях редактирования текста на мобильных в Google, то обычно сталкиваюсь с непониманием и немного враждебным «Разве на телефонах нельзя редактировать тексты? В чём проблема?»Редактирование текста на мобильных поломано. На самом деле, оно г...

По KPI По KPI (он же КПИ или КПЭ).Как говориться – все писали, теперь и я напишу ))).Новый год опять же… взывает. Прошу прощения заранее, если кому на больной мозоль наступил. Столько всего и разного поломано на эту тему, что просто, наверное, смысла нет писать, однако свербит мысл...

Kotlin Object Multiplatform Mapper Складывается такое впечатление, что дописать свою приложение для Android мне суждено не скоро. Каждый раз начиная писать новую версию (так как старая была написана не до конца, использовалась только мной, а через пару-тройку лет простоя - проще написать заново) своего прилож...

Реальность существует и это надо учитывать Я полгода собирался написать эту статью и одной из причин постоянного откладывания её написания было то, что я не знал как её начать. Поэтому, начну банально.Привет, меня зовут Михаил Елисейкин, я более 20 лет в IT, более 20 лет изучаю историю техники, и сейчас хочу сказать,...

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

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

Нововведения Zig версии 0.12.0, которые стоит упомянуть По случаю выхода версии 0.12.0 языка Zig я снова решил написать статью об этом языке. И в этот раз о том, что изменилось в языке относительно версии 0.11.0. Сразу уточню, что я не буду описывать все изменения. Ссылка на примечания к выпуску под цифрой выше. Список изменений ...

[Перевод] Vue.js 3 — шаблоны проектирования и лучшие практики Предлагается перевод книги Vue.js 3 Design Patterns and Best Practices автора Pablo Garaguso.Книга вышла в мае 2023 года, написана очень компетентно, оперирует современными технологиями и стандартами. Материал книги будет полезен разработчикам не только Vue, но и других фрон...

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

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

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

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

Обзор K8s LAN Party —  сборника задач по поиску уязвимостей в кластере Kubernetes прямо в браузере Я продолжаю тестировать инструменты, которые помогают научиться защищать кластеры Kubernetes. На этот раз взглянем на продукт от разработчиков из компании Wiz Research — Kubernetes LAN Party, челлендж по выполнению CTF-сценариев. Выход инструмента был приурочен к прошедшей в...

Блок переключателей РК Патриот Добрый день, есть такое движение у автолюбителей - покупать некоторые отечественные автомобили, как своего рода конструктор, в том числе и для перемещения по бездорожью. Одним из доступных таких автомобилей до недавнего времени был «УАЗ-Patriot”. Не буду вдаваться, на что и...

Настройка алертингов из Opensearch в Telegram В «Магните» только по 1С-системам суточный объем логов переваливает за 100 Гб. Их нужно обрабатывать, использовать, выделять ценные данные. Конечно, мы пользуемся Discover и различными дашбордами и визуализациями. Но иногда необходима оперативность. Тогда пригождается систем...

Генерация контрактов OpenApi или прикладной API first: совсем немного про зачем Новое место, новая позиция, новый продукт! Финтех, камунда, ~ 40 (!) микросервисов за которые отвечает наша команда. Первый спринт. Я в роли наблюдателя. В спринте вроде бы обычная задача - нужно вызвать из одного сервиса другой, и обработать результат. Ребята оценивают, нач...

[Перевод] Как избежать когнитивной перегрузки: способы оптимизации кода для разработчиков По мнению Артема Закируллина*, одна из фундаментальных проблем, с которой сталкиваются разработчики при анализе кода – высокая когнитивная нагрузка. Это не абстрактное, а реальное ограничение возможностей, которое стоит времени и денег. На чтение и понимание кода, тратится б...

[Перевод] Сжимаем текст в изображения PNG (Наверно, это глупая идея. Но иногда даже самые глупые идеи приводят к неожиданным результатам.)Текст шекспировской трагедии «Ромео и Джульетта» состоит примерно из 146 тысяч символов. Благодаря английскому алфавиту каждый символ можно описать одним байтом. Так что размер те...

К чему с годами приводит работа с Dependency Injection и Service Locator Глубину осознания библиотеки можно проверить, написав её самостоятельно. Возможно, новорожденное решение будет ограниченным и не найдёт свою аудиторию, но оно навеки принадлежит автору и подтверждает реальное понимание работы технологии. Так произошло и со мной. Я решил...

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

История работы и увольнения в Super.web Я не совсем новичок в IT, но так получилось, что карьеру именно backend-разработчика я начал с небольшой самарской веб-студии, которая гордо именует себя Super.web. Студия совсем крохотная. Вместе со мной и основателем там работали 5 человек. Расположена в полуподвально...

Как использовать ChatGPT для разработки и учебы. Четыре сценария Привет, Хабр! В 2023 году искусственный интеллект (далее ИИ)  вышел на тот уровень популярности, когда о нем не говорил только ленивый. Все больше компаний активно начали обсуждать свои разработки в этой области, а такие модели как Midjourney, ChatGPT, Gemini (ex-Bard),...

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

Самое главное в конференции это… Всем привет! Я главный редактор блога Онтико на Хабре. Меня зовут Роман Бурак. Немного пришёл в себя после участия в подготовке и проведении HighLoad++ 2023 и хочу поделиться впечатлениями. Именно ощущениями, никакой рекламы мероприятия, докладов и всего прочего. Расскажу, в...

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

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

Простой путь к публикации Vue3 модуля на NPM с помощью Vite Для веб-разработчика (особенно начинающего) создание собственных модулей и публикация их в open source может казаться сложным процессом. В этой статье я покажу один из самых простых и быстрых способов публикации своего модуля на NPM при помощи бандлера Vite. Этот метод ...

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

Недельный геймдев: #160 — 11 февраля, 2024 Из новостей: Disney инвестирует 1,5 миллиарда долларов в Epic Games, вышел Stride 4.2, студия Evil Empire перестанет выпускать обновления Dead Cells.Из интересностей: Solver2D и эксперименты, как симулировать различные типы песка в Houdini, разбираем...

Парадигму UNITS в массы У первой статьи («Реальность существует и это надо учитывать») были очень интересные и содержательные комментарии, среди которых были озвучены идеи о необходимости примеров. С одной стороны это правильно, потому что на примерах можно вырабатыват...

Зачем грузовой компании идти в разработку — опыт ПГК Привет, Хабр! Я — Аня Анциферова, продакт «Цифрового вагона» (это одна из разработок Первой грузовой компании). Сегодня на примере опыта ПГК я хочу рассказать о том, почему даже консервативные отрасли вроде железнодорожных перевозок имеют огромный потенциал для развития цифр...

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

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

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

Сила хакатонов: почему Middle и Senior Engineers должны в них участвовать Привет, Хабр! На связи beeline cloud — обсуждаем вопрос зачем Middle и Senior Engineers хакатоны и нужно ли в них принимать участие? Разобраться в этом поможет автор нашего DIY-медиа вАЙТИ. Читать далее

Как я преподавал алгоритмы в 4 местах и проходил iOS-курсы. Что помогло получить работу? Привет! Я Рома. Год назад я стал разработчиком в Альфе — помогли несколько курсов и 5 лет преподавания. Я не кандидат наук и даже не закончил вуз. Так получилось, что я вёл информатику, веб и даже алгоритмы для разработчиков банка.В статье расскажу, почему я так прикипел к о...

Своё кастомное межсервисное взаимодействие с блекджеком и gRPC Привет, Хабр! Меня зовут Ильяс. Мы с командой делаем собственный Service Mesh в Ozon Tech, и в этой статье я расскажу, как можно за вечер реализовать свое супер кастомное межсервисное взаимодействие. К концу статьи мы с вами напишем современные алгоритмы балансировки, настро...

Ключи в базе данных: практический обзор для начинающих системных аналитиков Всем привет! Меня зовут Оксана, я системный аналитик из компании EvApps. Что побудило меня написать эту статью? Я обучаю стажеров – системных аналитиков, и недавно столкнулась с такими вопросами, о которых раньше даже не задумывалась.Вопросы были связаны с разными видами клю...

Как я написал загрузчик YouTube видео на Ktor + HTMX. Убийца React? Мы вырастили монстра, который больше не нужен (с)Рассмотрим возможности применения модного фреймворка HTMX в связке с Ktor на примере написания загрузчика видео. Читать далее

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

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

[Перевод] Советы разработчика с 8-летним опытом работы Привет! Меня зовут Бенуа, я работаю разработчиком программного обеспечения последние 8 лет. В своей предыдущей компании я проработал 7,5 лет, а в начале 2022 года перешел в новую.Эта статья написана в результате недавнего самоанализа о том, что мне стоило начать делать в сво...

От ручной сборки приложений к конвейеру: опыт бэк-офиса «Магнита» Как мы ежа и ужа собирали. Сказ об автосборке разномастных технологий под одну крышу. Если серьёзно: у нас было много разнообразной ручной работы на пути от разработчика до релиза приложения для сети магазинов. Мы научились хранить наши приложения в git и собирать их «одним ...

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

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

Почему Accelerate — это не страшно Всем привет! Я Игорь Белов, iOS-разработчик в Тинькофф Бизнесе, выпускник Университета Иннополис и энтузиаст в области Computer Science. Занимаюсь iOS-разработкой почти четыре года, мне нравится изучать фундаментальные темы программирования и разбираться, как все работает по...

Как мотивировать разработчика заниматься контрибушеном, а главное, для чего Привет! Я Алсу, лид-деврел по бэкенду в Тинькофф. Расскажу как мы мотивировали разработчиков заниматься контрибутой больше обычного, почему это важно, как провели месяц по языку Scala и что из этого получилось.  Читать далее

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

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

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

Моющий аккумуляторный пылесос «3 в 1» Redmond MultiClean RV-UR390: пылесосит, моет и чистит сам себя Мы впервые познакомились с концепцией вертикального пылесоса «3 в 1» — это когда в одном универсальном приборе объединены не только традиционный вертикальный и ручной пылесосы, но и полноценный моющий. Объясняем, как это выглядит, на примере очень общительного Redmond MultiC...

Другой способ понять, как работает async/await в C# Про закулисье async/await написано предостаточно. Как правило, авторы декомпилируют IL-код, смотрят на IAsyncStateMachine и объясняют, вот дескать какое преобразование случилось с нашим исходным кодом. Из бесконечно-длинной прошлогодней статьи Стивена Тауба можно узнать мель...

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

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

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

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

Важные советы backend-разработчику: защити себя от нежелательных проблем Чем больше у backend-разработчика знаний в своей области, тем лучшим специалистом он является. Но опыт показывает: самые классные программисты подобны Сократу, который не стеснялся заявлять во всеуслышание «scio me nihil scire», что в переводе на общенародный - «я знаю, что ...

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

Помогаторы разработчика 1С Всем привет. Данная статья написана по моему выступлению на Infostart Event 2022, на котором я рассказал об инструментах и «лайфхаках», которые использую в своей работе и которые, как мне кажется, помогают сделать работу разработчика 1С проще, удобнее, а главное, эффективней...

Как дизайнеры помогают заменить GitLab: что из этого получилось Привет! Меня зовут Валерия, я дизайнер внутренних сервисов в Ozon Tech. Наша команда занимается продуктами, которые коллеги используют для доступа к инфраструктуре Ozon, приоритизации задач, проведения регламентных работ, выкатки и управления релизами.Сегодня речь пойдёт про...

Как я курсовую писал на gRPC+REST в связке с клиентом на Android+Jetpack Compose В этой статье я расскажу о том как написал курсовую работу и успешно сдал её с первой попытки без защиты на «отлично». Чего у меня и моих одногруппников ранее никогда не удавалось. Читать далее

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

«Галя, у нас инцидент!» или зачем мы написали SIEM-чатбота для MaxPatrol Привет, Хабр! Меня зовут Кирилл Орлов, я CISO Oxygen Data Centers & Clouds и в этом посте я поделюсь с вами нашим опытом внедрения MaxPatrol (MP): расскажу, как удобно настроить защиту разных сегментов инфраструктур на базе этого решения, объясню, зачем мы сделали своего...

NET hosting. Обзор вариантов и пример деплоя приложения Приложения Dotnet и Mono можно развернуть на сервере разными способами. В статье мы рассмотрим специализированные решения для хостинга dotnet приложений и предоставим инструкцию по развертыванию, написанную на конкретном примере. Читать далее

[Перевод] Common Table Expressions Common Table Expressions (CTE) или обобщенное табличное выражение, впервые появилось в версии SQL Server 2005, и это простой способ разбить сложный запрос T-SQL на несколько запросов, что придаёт больше гибкости и управляемости. CTE во многом очень похожи на представлен...

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

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

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

Оцениваем сложность алгоритмов на C# по памяти и времени с примерами Продолжаем говорить о производительности и оптимизации кода. Сегодня поговорим о том, как и зачем оценивать сложность алгоритмов,  а также наглядно покажем, как эта сложность влияет на производительность кода. Читать далее

Из микро в макро: как адаптировать мобильное приложение под ТВ-платформу Рано или поздно Android-разработчику станет любопытно попробовать новые платформы. Устройств с этой ОС много — есть из чего выбрать. Например, сейчас набирает популярность разработка под умные телевизоры.И вот здесь начинается самое интересное. Вроде бы и на смартфоне, и на ...

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

Как правильно замерить скорость работы кода в .NET Поговорим о бенчмаркинге кода: о том, что это такое и для чего нужно. А также покажем, как на основе результатов бенчмаркинга оценить производительность кода в проекте, написанном на C#. Читать далее

MMORPG Call of Chaos: Assemble появилась в Корее на Android Call of Chaos: Assemble — мобильная игра в жанре MMORPG, которая стала доступна в корейском Google Play. Открытие серверов состоялось 23 ноября. По геймплею Call of Chaos: Assemble напоминает Black Desert Mobile — изометрический геймплей, приятный саундтрек и хорошая картин...

10 вопросов, которые нужно задать себе, когда разбираете шкаф с одеждой Они помогут оставить только самое важное и нужное.

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

Для Lonesome Village появилась страница в Google Play Релиз Lonesome Village намечен на iOS 11 апреля, о чём я подробно писал ранее. Тогда казалось, что игра выйдет только в App Store, но теперь для неё появилась страница в Google Play с предрегистрацией. Отмечу, что проект будет премиальным, с ценником в 499 рублей. Lones...

Как мы ускорили Golang-тесты на CI Привет, Хабр

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

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

Нейросети помогают продавать автомобили: в «Авто.ру» можно генерировать объявления с помощью YandexGPT Команда Яндекса объявила о запуске нового сервиса на основе фирменной генеративной нейросети на платформе «Авто.ру». Теперь все продавцы «Авто.ру» смогут написать объявление о продаже автомобиля с помощью YandexGPT.  Сгенерировано нейросеть...

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

Профессия: технический писатель Хотела начать текст с шутки про то, что раз инструкции никто не читает, то и писать их не обязательно. Однако 14 лет работы в IT-сфере доказывают, что это всё же довольно глупая шутка. В современных компаниях (не только в IT, но и особенно в IT!) на документации завязаны пра...

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

Внутри S3. Доклад Яндекса Привет, я Паша, разработчик в Yandex Infrastructure, и я катаю гусей. С 2019 года я развиваю S3-хранилище как для внутренних пользователей Яндекса, так и для клиентов Yandex Cloud. А «гусём» называется наш бэкенд S3 API: он написан на Go, а из словосочетания Go + S3 получилс...

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

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

Сам себе ментор: что ещё делать, кроме работы, чтобы подрасти Привет, меня зовут Кирилл Павлик. Я ведущий JS-разработчик в Альфа-Банке, «25 лет» в вебе, но 4 года реального опыта. И переходя в этот ваш айти, понял, что проявление некоторых активностей, которые настолько очевидны и всем понятны, что их даже не пишут в должностных инстру...

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

[Перевод] Одна игра, один разработчик, шесть платформ Недавно компания Valve объявила о том, что Counter-Strike 2 не будет поддерживать macOS. Я инди-разработчик, в одиночку выпустивший игру с поддержкой macOS, поэтому поначалу меня удивило это решение Valve. Но вспомнив о своём собственном опыте поддержки шести платформ, я нач...

Новый взгляд на загрузку данных в 1С из Excel Иногда меня спрашивают, почему я присвоил себе ник "Гений 1С". Наверное потому, что я вижу проблему под тем углом, о котором никто не задумывается. Вот и с загрузкой данных в 1С из Excel - казалось бы - все понятно, зачем изобретать велосипед. За свою трудовую деятельность к...

Сказание о static и неименованном пространстве имен для функции в C++ Команда разработчиков получила от руководства задание срочно написать приложение для обработки пользовательских данных. Руководитель быстро декомпозировал задачу на две и поручил одной команде сделать модуль подготовки данных, а другой - реализовать сами расчеты.// Все персо...

[Перевод] Вышел Chrome 118 CSS @scope.Правило @scope at-rule позволяет разработчикам распространять правила стилей на заданный корень описания и стилизовать элементы в соответствии с близостью к этому корню.С помощью @scope можно отменять стили, основанные на близости, что отличается от обычных с...

Python, MSA, Kafka Всем привет! Сегодня микросервисная архитектура, что называется "на хайпе". Я перечитал достаточно много статей по данной тематике, но обнаружил, что среди всего прочего, не так много публикаций, объясняющих данную концепцию на конкретном примере (может, плохо искал). Сегодн...

Почему умение дебажить один из самых важных навыков для разработчика Привет! Меня зовут Абакар и я работаю главным тех лидом в Альфа Банке. Меня часто посещает вопрос — «А какой навык всё-таки самый полезный для разработчика?». Понятное дело, что ответ на этот вопрос обязан быть комплексным и скилл сет разраба не должен ограничиваться одним н...

Как показать номер версии на экране загру… Привет, Хабр! Меня зовут Сергей, и я 3 года работаю Android/iOS разработчиком. Написал с нуля приложение для фитнес-клубов (Google Play/App Store — если интересно, код под NDA, его не могу показать) и дорабатываю малоизвестный банк. За это время накопилось много интерес...

Как начать писать на Java в VSCode Давайте признаемся: подавляющее большинство пишет Java код, используя JetBrains IntelliJ IDEA Ultimate. Да, это отличная IDE. Для нее есть большое количество расширений, среда очень тесно интегрируется с Spring Framework и знает его особенности.Тогда зачем пробоват...

[Перевод] Параллельные вычисления — Все дело в контексте-синхронизации (SynchronizationContext) Чтобы до конца разобраться с содержанием Поста: How Async/Await Really Works in C#, который мы начали анализировать в предыдущей статье, неплохо бы познакомиться с изначальным определением концепции SynchronizationContext, на которую ссылается автор этого поста, без которой,...

Куда девать 300 багов: автоматизация бэклога и RICE для багов POV: Вы только что начали работать над новым проектом и встретились с небольшой проблемой — в бэклоге багов обнаружилось 300+ открытых тасок. Первая реакция — недоумение, отчаяние и боль от увиденного. «Ну ничего, – думаете вы, – это же как раз то, зачем я нужен этой компани...

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

Открытый смысл скрытого текста для разработчиков документации — Видишь суслика?— Нет… — И я не вижу. А он есть!Одним из мощных и удобных инструментов текстовых редакторов является скрытый текст. Этот инструмент имеется практически во всех редакторах. Самым популярным и совершенным редактором на данный момент является MS ...

Сомнительная инициатива ВК… Добрый день, вечер или что у вас там на марсе. Хотел бы обратиться к людям придумавшим новый, модный и очень интересный инструмент под кодовым названием «perfomance-review».Немного обо мне. Я сотрудник ООО «ВК». Пожалуй это всё что я могу рассказать о себе, так как эта стать...

Scala Digest. Выпуск 11 Привет, Хабр! Мы — Рома, Настя и Карина — бэкенд-разработчики Тинькофф, пишем код на Scala и горим желанием его популяризировать.Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные н...

Scala Digest. Выпуск 15 Привет, Хабр! Мы — Рома, Настя и Карина — бэкенд-разработчики Тинькофф, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем новости и собст...

WebAssembly: короткий обзор ассемблера для фронтенда В последнее время фронтенд все больше и больше обрастает новыми технологиями, одна из них — WebAssembly. На ней можно написать полноценное web‑приложение и почти все на что способна ваша фантазия. В статье мы рассмотрим, что такое WebA...

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

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

[Перевод] Как мы начали использовать виртуальные потоки Java 21 и на раз-два получили дедлок в TPC-C для PostgreSQL В этом посте мы расскажем о примере дедлока в TPC-C для PostgreSQL, причиной которого является исключительно переход на виртуальные потоки Java 21 - и никаких проблем обедающих философов. Читать далее

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

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

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

Архитектура Xорошего Кода Прошивки (Массив-Наше Всё) В этом тексте я написал о некоторых подходах к организации кода для микроконтроллеров.Основная идея - массив наша основная скрепа.Главные достоинства представленной архитектуры - это простота поддержки, сопровождения и масштабирования кодовой базы. Читать далее

Scala Digest. Выпуск 9 Привет, Хабр! Мы — Рома, Настя и Карина — бэкенд-разработчики Тинькофф, пишем код на Scala и горим желанием его популяризировать. Собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные нов...

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

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

Как я осваивал Jetpack Compose Привет, я Михаил Селезнев, андроид-разработчик в компании 1221Systems. Поделюсь своими впечатлениями о Compose — будет интересно коллегам, которые думают о переходе на него. Расскажу, в чем были сложности и что помогло мне быстрее разобраться.Пару слов о моем бэкграунде: я в...

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

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

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

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

ChatGPT + YandexGPT API = ЛЮБОФ. Часть 1 Сказ о том, как мы, дата-сайентист и аналитик данных, на троих с ChatGPT, без программиста и девопса, создали сервис пересказа новостей TechMix с текстом и озвучкой. ChatGPT писал код, а мы ему только поддакивали.Авторы: Эдуард Ланчев, Илья Кузнецов, ChatGPTТретьим будешь? (...

Scala Digest. Выпуск 13 Привет, Хабр! Мы — Рома, Настя и Карина — бэкенд-разработчики Тинькофф, пишем код на Scala и горим желанием его популяризировать.Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные н...

Scala Digest. Выпуск 10 Привет, Хабр! Мы — Рома, Настя и Карина — бэкенд-разработчики Тинькофф, пишем код на Scala и горим желанием его популяризировать.Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные н...

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

Наш опыт Android- и iOS-разработки в проекте Посмотрим на текущую ситуацию с разработчиками Android и iOS‑приложений. Обсудим варианты разработки мобильных приложений. Разберемся, как мы в стартапе NFCKEY работаем в этом направлении. Затронем особенности, которые возникают в связи с у...

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

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

Assembler для Windows в Visual Studio В этой статье я покажу как написать приложение для windows на ассемблере. В качестве IDE будет привычная многим Visual Studio 2019 со своими привычными плюшками - подсветка кода, отладка и привычный просмотр локальных переменных и регистров. Собирать приложение будет MASM, а...

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

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

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

Создание плагина для Фигмы: дизайнеры захотели — разработчик подсуетился День только начинался, ничего не предвещало беды, как вдруг в чате с дизайнерами появился вопрос: «Есть ли плагин в фигме, который при наведении на страницу показывает все используемые текстовые стили?..» Гугл такой плагин не нашел, поэтому я вызвалась его написать, предвари...

Митап по С++ в Питере и онлайн: цена абстракции, статический анализ и дискуссия о код-ревью 20 марта собираемся на бесплатном митапе в Санкт-Петербурге и онлайн. Константин Владимиров расскажет о цене абстракции, а разработчик из команды телекома YADRO Владимир Леонтьев на примере инструмента генерации RPC-серверов покажет, как написать кодогенератор. В конце встре...

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

Про userstyles (пользовательский CSS): за два дня написал несколько для сайтов, которыми пользуюсь, и доволен (habr too) Краткий обзор о том, как изменять внешний вид сайтов - на вашей стороне. Это уже давно можно, называется userstyles - написано для тех, кто еще не знает этого. Читать далее

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

Чтение на выходные: «Silent Hill. Навстречу ужасу. Игры и теория страха» Бернара Перрона Сегодня в рубрике книга для геймеров, которые любят углубиться в теорию.Бернар Перрон — эксперт из мира кино и компьютерных игр, профессор Монреальского университета, соредактор игры-песочницы Landmark. Книжица небольшая, но содержательная и без воды. Если хотите прочитать з...

Scala Digest. Выпуск 14 Привет, Хабр! Мы — Рома, Настя и Карина — бэкенд-разработчики Тинькофф, пишем код на Scala и горим желанием его популяризировать.Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем новости и собств...

Зачем программисту микроконтроллеров комплексные числа (или обзор MEMS микрофона MP23DB01HPTR) На 12ом году работы программистом-микроконтроллеров мне наконец-то пригодились комплексные числа из школьной математики. Где они тут нужны? Пояснение в тексте.Есть много организаций, которые так или иначе разрабатывают и производят оборудование со звукоизлучателями. Очевидно...

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

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

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

Неочевидные угрозы: как защититься от атак на десериализацию, XSS и чтение произвольных файлов Злоумышленники могут успешно атаковать 98% веб-приложений. И это не просто громкие цифры, а данные из исследования Positive Technologies. Как такое возможно, если есть инструменты и практики типа SAST, DAST и WAF, а разработчики вроде бы нормально кодят?Давайте я объясн...

Алло, мы ищем таланты! Стажировка в IT как инвестиция в черную дыру? Предыстория для данного поста началась чуть больше года назад, когда я решил собрать команду из пары PreJunior-разработчиков без опыта работать над своим open source проектом.Если хотите узнать: • Как попасть в оплачиваемую интернатуру на разработчика к нам в команду?• Сколь...

Решаем трудности адаптации мобильных приложений с Responsive_framework Hola, Amigos! Меня зовут Ярослав Цемко, я Flutter-разработчик в компании заказной разработки Amiga. Сейчас я расскажу об очень крутом плагине, который помог нам решить проблемы, связанные с адаптацией контента под разные дисплеи в одном из наших проектов. Читать далее

Готовимся к вопросам по вёрстке на интервью Frontend-разработчика: свойство display За свою карьеру у меня было достаточно много собеседований. Конечно, одной из основных тем вопросов была вёрстка. Немного похвалюсь. Не было вопроса, на который я не ответил. Недавно у меня появилось желание снова проверить себя и показать сообществу свои ответы на самые ...

Как применяется и для чего нужен local first подход Local first — это подход к разработке приложений, когда данные обрабатывают в первую очередь на устройствах пользователей, а не в облаке. Обсудим ключевые принципы подхода и примеры в контексте организации совместной работы. Читать далее

Зачем нам столько смартфонов? Разбираемся на примере A-серии от OPPO Для чего бренды выпускают линейки из одинаковых смартфонов, которые на вид отличаются разве что цветом и размерами? Эта тенденция здорово осложняет жизнь при поиске нового телефона, можно голову сломать, пытаясь понять, чем же они отличаются, и какой гаджет подойдет конкре...

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

Как работает Kubernetes пока ты спишь Эта статья - базовое описание того, из каких компонентов состоит Kubernetes, как он работает «под капотом». Это важно так как платформа сложная и: •  понимание ее работы влияет на факторы разработки; •  становится понятно, что можно и чего нельзя; • &n...

Пять вредных советов, как гарантированно НЕ написать книгу Привет, Хабр! Меня зовут Иван Чаплыгин и я – руководитель отдела переводов в компании КРОК. Пару лет назад я написал книгу «Думай о смысле. Будни переводчика IT-текстов», которая вышла в издательстве «МИФ». Пробежав писательский марафон и набив пару-тройку шишек, решил ...

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

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

Начинаем работать с цифровыми картами (ГИС) Обзорная статья, которая поможет разобраться с базовыми понятиями, познакомит с основами, даст общее представление о принципах работы цифровых карт и геоинформационных систем (ГИС). Будет полезно тем, кто только начинает работать с картами и хочет начать в этом разбираться....

Что не увидит SCA Всем привет!

Игра All of You от создателей Love You to Bits и Bring You Home больше не эксклюзив Apple Arcade Студия Alike ещё в 2020 году сделала мобильную игру All of You эксклюзивом Apple Arcade. И пока проекты по типу Dicey Dungeons наоборот только добавляют в эту библиотеку игр, All of You наоборот ушла из Apple Arcade и теперь доступна просто как премиальный проект в App Store...

Пишем REST-приложение на Delphi Привет, Хабр! Я Ануар, работаю в GlowByte и профессионально играю на нервах (шутка

Tarantella — распределённое key-value хранилище в рекламных технологиях VK Привет, Хабр! Меня зовут Виктор Лучиц, я руководитель группы backend-разработки в департаменте рекламных технологий VK. В этой статье я расскажу вам про Tarantella — наше key-value хранилище, которое мы используем в рекламных технологиях. Из материала вы узнаете о том, ...

Ошибки и подозрительные места в исходниках .NET 8 Каждый год выходит новая версия .NET. Это событие не только предоставляет нам возможность познакомиться с последними улучшениями в самом .NET и нововведениями в языке, но и даёт повод исследовать исходный код .NET. Нужно воспользоваться этим шансом! Читать далее

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

Разбор примера BLE Audio от Nordic Semiconductor (или переходник I2S->BLE-Audio) Обзор технологии беспроводной передачи данных BLE 5.3. Представлен разбор примера Ble Audio от Nordic Semiconductor для микроконтроллера nRF5340. Это пример передачи звука по Bluetooth 5.3. Читать далее

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

Управление напряжением PWM сигналом (PWM+RC=DAC) В очередной тестировочной электронной плате появилась нужда выставлять напряжения на клеммах. Существует очень остроумный способ собрать DAC используя PWM сигнал и аналоговый RC фильтр. На выходе будет желаемое напряжение. Причем, уровнем этого напряжения можно управлять циф...

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

Вышла Stable Diffusion 3 от Stability AI: Лучшая модель для генерации изображений. Но есть нюанс… Компания Stability AI анонсировала долгожданный релиз Stable Diffusion 3, включая более быструю версию Stable Diffusion 3 Turbo. Согласно их исследовательской статье, новая модель, основанная на архитектуре Multimodal Diffusion Transformer (MMDi...

Зачем нужен индивидуальный план развития? Привет, Хабр! Меня зовут Ольга Николаева, я ведущий менеджер по персоналу в группе «Рексофт». Сегодня я расскажу про индивидуальный план развития (ИПР): как использовать этот инструмент, для чего он нужен, и как его создать так, чтобы он принес реальные результаты. Также мы ...

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

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

Кодирование числа в Micro QR Code версии М1 Задача: необходимо прочитать Micro QR Code версии М1, содержащее кодовое слово, состоящее из цифр (на примерах – 7, 77, 777, 7777 и максимальное кодовое расстояние – 77777) на основе алгоритма, приведенного в ГОСТ Р ИСО/МЭК 18004-2015 (п. 7.4.3, пример 2). Данный режим невоз...

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

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

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

Кто через 5–10 лет будет проектировать российское телеком-оборудование Совместно с компанией YADRO мы на Новом физтехе ИТМО открываем специальный трек, где будем обучать будущих разработчиков телекоммуникационного оборудования. В этой статье рассказываем, что это за трек и зачем он нужен. Читать далее

Несколько советов как новичкам не забросить изучение IT Я создаю IT-курсы уже 6 лет, являюсь руководителем направления обучения Бэкенд-разработке в онлайн-школе и даже развиваю свои собственные курсы по программированию на Python. Еще веду корпоративные обучения, работаю в универе и провожу консультации о построении пути в I...

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

TextDiffuser-2: генерация текста диффузиями Генерация текста на изображении – на мой взгляд одна из самых сложных задач в genAI. О ней сегодня будет разговор подробнее. Читать далее

«Битва интеллектов»: сравниваем AI-сервисы для создания текстов В Selectel мы часто пишем разные тексты: от обычных постов до рассылок клиентам. Это не только требует креативности, но иногда занимает много времени. Поэтому мы решили провести эксперимент — узнать, как пишут тексты нейросети ChatGPT, Rytr, Hypotenuse и Copy Monkey. Вдруг ...

Разбираемся, почему Google Play Protect посчитал 2ГИС вредоносным ПО Что случилось10 января Google Play Protect ошибочно посчитал 2ГИС вредоносным приложением. Пользователи 2ГИС на Android начали получать системное сообщение, что 2ГИС — вредоносное приложение. Мы стали массово получать сообщения от пользователей и разбираться в ситуации....

Плагин на LibreOffice с Gigachat API В этой статье пойдет речь о решении, позволяющем упростить написание текстов при работе с офисным пакетом LibreOffice. Мы разработали плагин, который позволяет работать с текстом с помощью большой языковой модели GigaChat от Сбер. Читать далее

Недельный геймдев: #163 — 03 марта, 2024 Из новостей: новый календарь разработчика Steamworks, Remedy выкупила все права на Control, Nintendo подала в суд на создателей Yuzu, Embracer продаст Saber, PlayStation уволит 900 сотрудников, EA объявила об увольнении 5% сотрудников.Из интересностей: первая неделя ранне...

Как я пришёл в дата-анализ после долгих блужданий по онлайн-курсам, маршрут со всеми тупиками и ухабами Привет! Меня зовут Алексей, я дата-аналитик. Четыре года назад я пришёл в дата-анализ из сферы, далековатой от IT, — пивоварения (хотя о том, что на самом деле они не так далеки, я рассказывал здесь). До того как я нашёл свою нишу, тщетно пробовал вкатиться в IT через разные...

Эмоциональная капча: что вы чувствуете в данный момент? Необычный подход к защите от ботов предлагает организация правозащитников из Швеции Civil Rights Defenders, которая таким образом пытается убить одним патроном двух зайцев: с одной стороны, распространить в интернете факты нарушения прав людей, а с другой — помочь защитить в...

Где Моя Эффективность, Босс? Как использовать метрики в управлении командой Привет! Я Саша, тимлид одной из команд первичной недвижимости в Циан. Мы активно используем данные для принятия управленческих решений. Не только продуктовых, но и при управлении командами разработки. В статье я расскажу, как это устроено у нас в компании, и покажу на пример...

Ностальгические игры: Serious Sam Давным-давно, еще во времена, когда интернет не был обыденной вещью, одной из возможностей познакомиться с новыми хитами для меня был поход в игровой клуб. В моём районе существовало два таких заведения. Один располагался в довольно сыром, тёмном и насквозь прокуренном под...

SQL инъекции для продолжающих: ломаем настоящий сайт Про SQL-инъекции написано огромное количество статей. Все знаю про пресловутые ‘ OR 1 = 1 и аналогичные конструкции, но далеко не все реализовывали их на практике. В этой статье мы разберем на практике некоторые способы реализации SQL-инъекций на примере уязвимого сайта.Стат...

Предрегистрации уютного приключения The Bear: A Story from the World of Gra Разработчики из студии Mucks Games с гордостью готовы представить дебютную инди-игру, которая уже успела получить номинацию на немецкую премию за лучший сюжет и графический дизайн — The Bear: A Story from the World of Gra. Новинка с трогательным сюжетом и захватывающими дух ...

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

Пишем калькулятор на Rust с GUI Зачем еще один калькулятор? Да не зачем, просто как тестовый проект для рассмотрения GUI-библиотеки.Изначально я хотел попробовать такие крейты, как GPUI, Floem и Xilem, но первая, кажется, пока работает только под MacOS и Linux, вторая не позволяет установить иконку окну и ...

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

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

Мои советы после 20 лет в программировании Сегодня ровно 20 лет, как я начал программировать профессионально. За эти годы я:- Получил одобрение на петицию по грин‑карте за выдающиеся способности в науке.- Стал Google Developer Expert.- Стал IEEE Senior Member.- Был операционным директоро...

Когда проснулся и узнал, что существуют PWA Всем привет. Меня зовут Антон, я фронтендер в Сбере. Если вы ещё не осваивали технологию PWA, но хотели бы — или вдруг срочно понадобилось, — то я вам помогу и объясню, что это и как начать с ней работать.  Читать далее

JWT-аутентификация при помощи Spring Boot 3 и Spring Security 6 Переход от базовых приложений к более сложным требует использования Spring Security для обеспечения безопасности. Новая версия, Spring Security 6, изменяет некоторые базовые реализации, а русскоязычных материалов на эту тему очень мало. В этой статье мы рассмотрим JWT-аутент...

YTsaurus SPYT: помогаем планировщику Apache Spark быть ещё эффективнее В больших распределённых системах многое зависит от эффективности запросов: если на гигабайте данных неоптимальный запрос может выполняться за миллисекунды, то при увеличении массива в тысячи раз, сервер начнёт кряхтеть, пыхтеть и жаловаться. Чтобы избежать этого, помогут зн...

Простыми словами про метрики в ИИ. Классификация. Confusion matrix, Accuracy, Precision, Recall, F-score, ROC-AUC Привет, Хабр! Меня зовут Александр Троицкий, я автор канала AI для чайников, и я расскажу про метрики классификации! Само собой, в интернете очень много материала про эти метрики, но я попробую описать их максимально простым языком с простыми примерами.Зачем вообще нужн...

В Бразилии после ряда правок приняли закон, сгенерированный нейросетью ChatGPT О том, что значительную часть текста законопроекта написала нейросеть, стало известно только после его принятия

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

Полный гайд по CSS Flexbox с примерами из практики Привет! Сегодня мы поговорим про flexbox в css. Это очень важная тема, в которой должен разбираться каждый фронтенд-разработчик или верстальщик. Я покажу вам как flexbox работает на реальных примерах. А в конце статьи покажу лайфхаки, которыми сам постоянно пользуюсь на рабо...

Как и зачем компании могут применять ML? Разбираемся на примере Netflix Привет, Хабр! Я Ефим, MLOps-инженер в отделе Data- и ML-продуктов Selectel. В последнее время, куда ни глянешь, только и разговоров, что про ML. Но всегда хочется увидеть результаты работы на практике. Если с IT-гигантами все понятно, то зачем ML, скажем, компаниям из индус...

Решил я тут текстовую MMORPG на C++ написать Cразу уточню, это не гайд по созданию MMORPG на C++. Это нечто вроде моего дневника, куда я буду скидывать процесс разработки (Да, проект ещё не завершён, даже не близко, скорее только начат...). Почему я вообще тогда создал эту статью? Ну, коли ты к...

Scala Digest. Выпуск 16 Привет, Хабр! Мы — Рома, Настя и Карина — бэкенд-разработчики Тинькофф, пишем код на Scala и горим желанием его популяризировать.Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные н...

[Перевод] Перевод трактата по демонологии при помощи GPT-4 и Claude Вряд ли кто-то будет спорить, что инструменты ИИ вроде GPT-4, как минимум интересны и забавны. Но насколько они практичны?Могут ли они помочь нам сделать что-то действительно полезное... например, перевести 1200-страничную книгу о демонах, написанную малоизвестным теологом-и...

[Перевод] 15+ Инструментов на базе искусственного интеллекта для разработчиков Перевод статьи https://www.marktechpost.com/2023/12/04/15-ai-tools-for-developers-august-2023.От переводчика: Выбор темы современных инструментов на базе ИИ оказался для меня не только хайповым, но и лично значимым. Мой интерес к этой области возник из желания совместит...

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

Есть ли жизнь до fit/predict? Всем привет! Меня зовут Даниил Карпов, я старший NLP-разработчик в MTS AI. В эпоху LLM и огромных датасетов, вмещающих в себя весь интернет, кажется, что качество самих данных ушло немного на второй план: чем больше данных/параметров, тем лучше. Однако экстенсивный рост рано...

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

[Перевод] 10 самых распространенных проблем при линтинге Dockerfile'ов Весной 2023 года разработчики Depot добавили в свой сервис возможность проверять Dockerfile'ы при каждой сборке.В этой статье они делятся десятью наиболее распространенными проблемами при линтинге Dockerfile'ов, разбирают каждую проблему и объясняют, почему она возникает и к...

Mercedes-Benz анонсировала совершенно новый «Гелендваген» — бензиновый, а не электрический В прошлом году Mercedes-Benz активно демонстрировала будущий электрический «Гелендваген» — Mercedes-Benz EQG, но сейчас компания показа первый тизер обычного бензинового внедорожника нового поколения. Это будет совершенно новый Mercedes-Benz G 500. &l...

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

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

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

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

GoFunc: новая конференция по Go Разработка на Go — особый мир. Этот язык не так популярен, как Python или JavaScript, но благодаря этому и дурацкой шумихи вокруг него меньше. Популярность приманивает «случайно проходивших мимо» и вызывает много глупых холиваров. А тем временем Go собирает людей, которые хо...

Делаем addon для Blender Люблю Blender. Он мощный, а в последних версиях красивый! А ещё он бесплатный. И даже становится удобнее. Но, если посмотреть на то, сколько вопросов в интернете про то, как сделать что-то вполне тривиальное, начинаешь понимать что до реального удобства там ещё далеко. С пос...

AutoLove: апдейты девушке с YandexGPT Салют! Меня зовут Григорий. Как и у многих из нас, у меня есть вторая половинка, и ей свойственно требовать внимания. Сам по себе я человек занятой и мне бывает трудно отвлечься от дел и написать апдейт девушке, из-за чего приходиться терпеть капризы по причине «недостатка в...

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

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

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

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

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

Kaspresso для самых маленьких Привет! Меня зовут Элчин, я занимаюсь автоматизацией мобильных приложений в hh.ru и расскажу вам о том, как написать первый тест на Android. В разработке автотестов мы используем Kotlin и нативный фреймворк Kaspresso, о котором я напишу подробней в этой статье. Читать далее

iKOOLCORE R2: 3-дюймовый мини-ПК с четырьмя 2.5 GbE Ethernet-портами. На что он способен? Вся линейка мини-ПК iKOOLCORE — крошечные устройства, они меньше, чем большинство других миниатюрных компьютеров сторонних производителей. Тем не менее разработчику этих девайсов удаётся обеспечить неплохую функциональность, что позволяет использовать их как в офисе, так и д...

Работа программистом в Германии: как пережить испытательный срок Живу в Германии, работаю программистом в местной компании и хочу рассказать об одном из самых сложных и напряженных - по крайней мере, субъективно, - этапов работы - испытательном сроке (нем. Probezeit), о его особенностях, как формальных, так и неформальных и об отличи...

Компьютер с 1-битным процессором: что это за девайс и зачем он нужен Совсем недавно японские разработчики представили одноплатник Naoto64, который не может практически ничего из того, на что способны современные устройства. Так, у него нет привычных выводов, он умеет лишь мигать светодиодами. А процессор у девайса однобитный. Несмотря на всё ...

Как я выстрелил себе в ногу, не соблюдая паттерны Всем привет, меня зовут Андрей, я — php-разработчик в wpp.digital.Сегодня я поделюсь с вами историей. Она о том, как поверхностное понимание (или непонимание) паттернов проектирования отстрелило мне ногу. А еще поделюсь примером реализации простой истины: знание чего-то не ...

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

Мониторинг на Python: как сохранить метрики в мультипроцессном режиме Привет, Хабр! Меня зовут Никита, я backend-разработчик команды клиентских сервисов. В Selectel мы строим и поддерживаем IT-инфраструктуру для компаний, которые развивают свои цифровые продукты. В нашем департаменте около 20 приложений, большая часть из которых работает на F...

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

Победить хаос в документации: почему мы создали свой продукт для Docs-as-a-Code Привет, Хабр! В 2020 году компания решила вывести на рынок линейку продуктов Platform V. Для них нужна была документация, которая на тот момент велась в Confluence. Нам предстояло проделать сложную и дорогую работу: собрать документы на нужные версии, привести тексты к едино...

Тест на секретную вечеринку Яндекса, — ночь в финтехе Всем привет!Недавно прошло событие ночь в финтехе от Яндекса и поскольку Яндекс не рассказал о нем здесь, то это сделаю я. Что бы попасть на мероприятие - нужно было решить несложную задачку (приведена ниже в тексте). Статья будет включать 4 темы: предыстория, попытки решени...

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

Async/Await из C#. Головоломка для разработчиков компилятора и для нас Я рискну все таки продолжить изложение своего понимания Поста: How Async/Await Really Works in C#, которое в предыдущей статье получило название “ортогональный взгляд”. Также, недавно мы познакомились (возможно несколько преждевременно) с изначальным определением концепции S...

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

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

[Ответ] Про цифровые сервисы в Германии Несколько дней назад на Хабре была опубликована статья Правда ли, что в Европе везде отсталые сервисы, медленные платежи и плохие онлайн-услуги? Которая достаточно быстро набрала много просмотров и вызвала бурные обсуждения в комментариях. Я так же с интересом ее прочел и ел...

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

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

Качество выше, релиз ближе: как аналитик влияет на успех IT-проекта Привет, я Юля Зубова — руководитель отдела аналитики в диджитал-агентстве ДАЛЕЕ. Хотя написано много статей про роль аналитиков, открыты сотни вакансий и есть даже целые сформированные отделы, остались компании и команды, где их нет. Иногда приходится объяснять, зачем нужны ...

ИИ для написания текста — новый инструмент PR-CY Инструмент, который поможет создать любой текст для сайта, соцсетей или рассылок.

Взять и захостить собственную LLM — зачем это нужно [и нужно ли вообще] ИТ-индустрия проявляет интерес к большим языковым моделям (LLM). Многие компании — в том числе стартапы и разработчики — предпочитают self-hosting открытых LLM работе с API проприетарных решений. Мы в beeline cloud решили обсудить плюсы и минусы такого подхода, в том числе с...

Doom. Часть 4. Технические ограничения как стимул творческого потенциала на примере 12 вадов Как известно 640 КБ должно было хватить всем, но прогресс пошёл другим путём и ныне только пустой файл проекта на каком-нибудь Unity многократно превышает указанный объём, как и, например, размер картриджа, в который в своё время Blizzard умудрились уместить Rock n' Roll Rac...

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

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

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

Добавляем зрение, слух и голос в свой ChatGPT бот в Telegram Поддержка преобразования речи в текст была в OpenAI API уже давно, а вот из текста в речь, а также распознавание изображений было добавлено совсем недавно. В связи с чем продолжаю свою серию туториалов по разработке собственного ChatGPT бота в Telegram. Читать далее

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

[Перевод] Создание мультидокументного ридера и чат-бота с помощью LangChain и ChatGPT Мы начнём с простого чат-бота, который может взаимодействовать только с одним документом; а закончим более продвинутым чат-ботом, который может взаимодействовать с несколькими различными документами и типами документов, а также сохранять историю чата — чтобы он мог отвечать ...

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

FUSE: как написать свою файловую систему Меня зовут Максим, я ведущий разработчик в VK. Занимаюсь инфраструктурой доставки электронной почты в проекте Mail.ru. Наша команда разработала и довела до эксплуатации файловую систему (ФС) на FUSE в рамках проекта распределённой почтовой очереди. В проекте требовалось реал...

Как выжать максимум из Confluence. Глава вторая Привет, Хабр! На связи ведущий аналитик Ульяна. В первой главе я рассказала, что такое Confluence, зачем его используют и как работать с макросами. Во второй главе поговорим про шаблоны и метки, которые помогут организовать процессные и проектные рутины, например в...

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

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

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

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

Будни техпода. Как разместить Telegram-бота на виртуальном сервере Чуть больше месяца назад мы запустили Telegram-бота, через который можно заказать виртуальный сервер. Этот бот помогает арендовать VPN-сервер, VPS из нашего маркетплейса или уникальную конфигурацию под ваши цели. А не возникало ли у вас желания запустить собственный Tele...

По дороге из желтого кирпича — что скрывается за сказкой о волшебной стране Оз? «Удивительный волшебник из страны Оз» написан исключительно для удовольствия детей» — уверял Лаймен Фрэнк Баум в предисловии к первому изданию 1900 года. Спустя полвека после написания книги экономисты и историки открыли в ней политические и экономические аллегории. Но закла...

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

Как выйти из тупика и начать расти: 5 ментальных ловушек, которые мешают это сделать Бывает ли у вас ощущение, что несмотря на все усилия, вы не получаете тех результатов, на которые рассчитываете? Что последние несколько лет в жизни ничего не меняется или становится только хуже. Кажется, что вы зашли в тупик – развития нет, роста нет, перспективы не радуют....

[Перевод] Вычитание функционально полное Если конкретнее, то функционально полно вычитание с плавающей точкой по IEEE-754 . Это значит, что можно создать любую двоичную схему на одном только вычитании с плавающей запятой.Чтобы понять, как это сделать, нужно начать снизу. Цитата из раздела 6.3 стандарта IEEE 75...

Вся наша жизнь – игра: или как прижилась геймификация внутри мобильного приложения в ритейле Здравствуйте, меня зовут Амалия, я специалист по обеспечению качества в команде мобильного приложения «Пятёрочка». Хочу начать с небольшой истории. В школьные годы я любила онлайн-игру в жанре хоррор Requiem Online. В ней была пара игроков, которые участвовали в закрытом тес...

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

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

Один в поле разработчик: примеры российских видеоигр, которые создавал один человек Может ли интересную игру создать один человек? Когда-то Пажитнов сделал Тетрис, а одним из развлечений программистов было создание или портирование игр с одной платформы на другую. Есть зарубежные игры, созданные в одиночку и заработавшие миллионы – о них на Хабре уже п...

Архивная репликация в PostgreSQL: пошаговая инструкция Разбираем c  Григорием Тарасенко, инженером команды SQL на примере, как реплицировать базы без использования слотов репликации. Читать далее

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

typewriter: бесплатная программа, которая введёт любой текст за вас Всем привет! Делюсь своей довольно простой программкой, полезной в таких ситуациях, когда нужно перенести некоторые количества текста в такие места, куда он простым буфером обмена не переносится, например - в remote console виртуального или физического сервера, как Proxmox и...

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

Изучение Java в 2024 году: что стоит почитать. 6 книг, которые можно рекомендовать В 2024 г. Java никуда не делась и в ближайшие много лет явно не исчезнет. Язык продолжает развиваться. ПО, написанного на этом ЯП, всё больше. Разработчиков тоже нужно много и сразу, причём хороших. Для того чтобы стать таким специалистом, нужно, конечно, учиться и практиков...

Удалёнка для айтишников: разбираем 5 мифов про работу из дома В доковидные времена, если кто еще помнит таковые, я работал из офиса, менеджерил какие‑то проекты, общался с коллегами и в 19:00 выключал комп. И вообще не представлял себе как всякие фрилансеры с ноутбуком сидят где‑то по кафешкам и ...

Как может расти бизнес-аналитик Привет! Меня зовут Лариса Дансарунова, я бизнес-аналитик с 9-летним опытом и наставница на курсе «Бизнес-аналитик» в Яндекс Практикуме. Сегодня расскажу, какие есть варианты развития карьеры, а также — с чего начать путь в профессию. Читать далее

Интеграция с ЕСИА на Node.js без CryptoPro [2024] Приветствую! Свою первую статью решил посвятить технической стороне интеграции с ЕСИА (Госуслугами). Считаю данный материал уникальным, поскольку пока разбирался в этой задаче не увидел ни одной статьи которая описывает интеграцию с ЕСИА без использования платной CryptoPro. ...

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

Shiva — Open Source проект на Rust для парсинга и генерации документов любого типа Идея проекта возникла у меня во время работы над проектом поисковика документов. Существует такая библиотека, как Apache Tika, написанная на Java, которая умеет парсить документы различных типов. Чтобы мой поисковик работал, он должен уметь извлекать текст из документов разн...

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

ChatGPT на Java. Пишем «Hello World» на Spring AI В преддверии Нового Года, начинаем осваивать генеративные сети с помощью привычного всем Java разработчикам фреймворка Spring. Несколько месяцев назад в Spring добавили модуль AI, который упрощает работу с нейронками от OpenAI и Azure.Давайте же напишем первое приложение с н...

Препарируем Wazuh. Часть 2: Подключаем источники В первой статье мы начали рассмотрение решения с открытым кодом Wazuh. Мы развернули систему в конфигурации All In One, то есть все компоненты находятся на одном узле. В этой статье мы продолжим настройку нашего SIEM. Конечно, после установки он уже не совсем бесполезен, так...

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

Zalman ZM-VE500 и неподдерживаемые ОС: «швейцарский нож» инженера дата-центра vs винтажные устройства На Хабре уже есть статья про Zalman ZM-VE500, написанная системным инженером ЦОД. Это одно из немногих устройств, которое содержит в себе эмулятор оптического привода и позволяет иметь под рукой сразу коллекцию ISO-образов операционных систем. Вот только любителям ретрокомпь...

Самолёт принял решение приземлиться Представьте: вот вы пилот, летите, никого не трогаете, примус починяете, и решаете набрать высоту. Для этого надо немного ускориться и параллельно чуть увеличить тангаж, что вы, собственно, и делаете. Увеличивая тягу РУДом, вы параллельно немного тянете рычаг управления на с...

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

Обзор Aудио Кодека NAU8814YG Аудио кодек по сути это цифро аналоговое устройство, где есть пара ADC + DAC. На входе обычно есть сумматор на операционных усилителях для подмешивания аналогово сигнала с разных проводов, есть еще аналоговый инвертор, усилитель (boost). Число провод на основе I2S (или TDM) ...

Who are you, Platform Engineering. Часть 2: типовая архитектура, варианты и примеры реализации IDP В докладе Gartner методология Platform Engineering определена в качестве одного из стратегических технологических трендов на 2024 год, что свидетельствует о дальнейшем эволюционном развитии подходов DevOps. Несмотря на это, для многих компаний Platform Engineering и Intern...

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

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

Топ-3 причины, почему вы должны использовать Copilot Всем привет! Меня зовут Анатолий Барцев, я frontend-разработчик в команде Модерации Циан. Я решил протестировать Copilot, чтобы оценить, полезен ли он для реальной разработки. В статье расскажу, какие выделил для себя плюсы использования, а также покажу, как GitHub Copilot п...

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

Алгоритм MiniMax. Использование минимакса в Unity на примере игры Поймай Овечку Минимакс - популярный алгоритм для принятия решений в играх с нулевой суммой (один выиграл - другой проиграл). Казалось бы, раз он так популярен, то всё что можно было про него сказать уже сказано? Не совсем. Информация сильно раздроблена, иногда ошибочна, а найти какие-либо...

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

Кибернетическая музыка или как советский компьютер написал первый вальс Словосочетанием 2023 года по версии словаря Collins Dictionary стал ИИ (AI) — искусственный интеллект, что совсем не удивительно. Последние пару лет о потенциальной безграничности возможностей ИИ размышляют ученые, пытаясь внедрять все новые и новые решения, проверяя теории ...

Хватит маппить все руками, используй Mapster Привет, Хабр! Меня зовут Георгий, я С#-разработчик в SimbirSoft. Хочу рассказать об опыте использования библиотеки Mapster: как он может упростить разработку, сэкономить силы и частично избавиться от рутины маппинга.Данная статья подойдет и тем, кто только собирается открыть...

[Перевод] Новый линт в Dart 3.2 Разбираем новый линт annotate_redeclares и новую конструкцию 'extension type', которая пока доступна в Dart 3.2 под экспериментальным флагом. Читать далее

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

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

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

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

[Перевод] Когда парное программирование не работает Экстремальное программирование включает более 10 разнообразных приемов — TDD, игра в планирование, «заказчик всегда рядом» и т.д. Сегодня речь пойдет о парном программировании. Предлагаем читателям блога beeline cloud поделиться своим мнением об этом приеме! Практиковали ли ...

[Перевод] Часы на синусах и косинусах в CSS В этой статье осторожно прикоснёмся к sin() и cos(). Есть и другие функции, в том числе tan(), зачем же останавливаться только на синусе и косинусе? Они идеальны для размещения текста по краю круга. Об этом уже рассказывалось на CSS-Tricks, когда Крис поделился подходом к ра...

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

YandexGPT поможет редактировать тексты на английском в Яндекс Переводчике С новыми нейросетевыми возможностями пользователи смогут работать с текстами на английском без глубокого знания языка.

Популярнее некуда: у JavaScript самое большое сообщество. Как это выяснили Языки программирования часто анализируют по разным методикам, после чего и публикуются рейтинги. Их не один и не два, но о самом известном, Tiobe, слышали, наверное, все. Рейтинги часто оспаривают, с ними не согласны многие разработчики и аналитики. Тем не менее, знать о них...

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

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

Текст в стиле техно: есть ли жизнь за пределами Хабра? Написав первый текст в августе 2011, за 12 лет я срослась с Хабром: сперва вела блоги двух компаний, затем левачила партизанскими статьями, и наконец, стала работать в самом Хабре. Меня как автора до Хабра особо и не было — так, разовые заказы на переводы, переделанные песни...

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

Web3 приложение Twitter на React.js + Solidity | часть 2 Hello, в первой части был подготовлен проект, подключены кошельки и написан backend на Solidity, значит пришло время писать frontend на React.Проект далёк от продакшена и является простым примером для новичков, предназначенным для демонстрации взаимодействия с...

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

Новые коллекции в Android В 2018 году в androidx появился новый пакет collection, который содержал несколько специфичных структур данных, переписанных на Kotlin, таких как LongSparseArray, SimpleArrayMap и SparseArrayCompat.На тот период Kotlin только начинал набирать обороты в Android разработке и д...

Напиши в ЛС «томат» или же что за «Клан томатов» Расскажу о игре "Клан томатов", которая уже гуляет по сети >10 лет, чем нарушу её правила.И том, как я написал бота, что бы попытаться вывести эту игру на новый уровень! Читать далее

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

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

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

В браузере Opera появится генерация картинок и перевод текста в аудио от Google Разработчики браузера Opera рассказали, что объединились с Google, в результате чего в их продукт будет внедрена большая языковая модель (LLM) Gemini.

Bootloader. Part 1. Нюансы Cortex-M, устройство памяти stm32 и преднастройка Решил начать цикл статей на тему бутлоадера для STM32. Возможно это послужит руководством для начинающих разработчиков, а может поможет самым настоящим демиургам в сфере embedded разработки. Читать далее

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

Domain Driven Design в Go – это почти не больно Как выглядят паттерны DDD (Domain Driven Design) в большом проекте? А самое главное, стоит ли их вообще использовать? Рассмотрим, какими инструментами можно реализовать DDD на Go и оценим, насколько это больно.Меня зовут Илья Сергунин, я backend-сочинитель в Авито: занимаюсь...

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

CPM vs. BI:  о чем не расскажут продавцы Более восьми лет я специализируюсь на внедрении CPM и BI-систем различных вендоров. Несмотря на то, что во многом их функционал пересекается, мне хорошо понятно, какие задачи решаются лучше, а какие решаются только одним из этих двух классов систем.Написать данную статью мен...

Запускаем локальный ML-процесс в облаке с помощью DataSphere Jobs В сообществе ML-инженеров и дата-сайентистов популярны инструменты с быстрой обратной связью наподобие JupyterLab — они помогают легко и без лишних обвязок проверять гипотезы или создавать прототипы. Но довольно часто бывает, что при разработке ML-пайплайна, будь то инференс...

Гайд по Aurora OS: как начать разработку для отечественной мобильной операционки Заканчивается бета-тестирование пятой версии отечественной мобильной операционной системы Aurora OS. И если до этого система позиционировалась только как рабочая лошадка для терминалов в сегменте B2B, то теперь авторы планируют выход на рынок персональных устройств для работ...

Рассматриваем мифический фреймворк C2 Mythic. Часть 1 Привет Хабр, на связи лаборатория кибербезопасности AP Security. В этой статье мы продолжим разбирать C2-фреймворки. На этот раз, мы будем изучать относительно новый фреймворк под названием Mythic. Приятного прочтения! Читать далее

Go на митап: обсудим sync.Pool, свой mini-k8s, паттерны и сообщения об ошибках 28 марта встречаемся на митапе по Go-разработке с инженерами из команд систем хранения данных и телекома YADRO, а также разработчиками из VK и AvitoTech. Эксперты расскажут, как: — снизить нагрузку на сборщик мусора,— сделать свой mini‑k8s,— написать библиотеку для...

35+ бесплатных ресурсов для начинающих разработчиков С++ Привет. Предположим, вы захотели начать изучать языĸ программирования C++ или, возможно, тех материалов, что уже изучили, вам недостаточно.Я — Савва, программирую уже больше 7 лет, работаю менеджером команды наставников в Практикуме на курсе «Разрабо...

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

DECT: как покрыть беспроводной телефонией склад размером с три футбольных поля DECT — стандарт беспроводной IP-телефонии, альтернатива Wi-Fi-телефонии и сотовой связи. У него много применений, но для покрытия больших площадей со сложной планировкой (для ритейла, производства) он вне конкуренции.В статье я сравню разные решения для беспроводной телефони...

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

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

Ностальгические игры: Sid Meier's Civilization III В наши дни, после выхода уже шести частей Цивилизации, каждый может найти для себя «ту самую» игру серии, которая близка его сердцу. Любая из них по-своему уникальна, что позволяет фанатам-олдфагам ранжировать их между собой. Что же касается меня, наиболее ламповой и носталь...

[Хабр, help] Android-разработчица. Как сделать первые шаги? Здравствуйте, я очень долго думала, стоит ли мне регистрироваться на "Хабре" и обращаться, как новичку, по этому вопросу, так как я не первая и не последняя, с подобными запросами.Я хочу стать Android-разработчицей, с нуля.Пожалуйста, укажите с чего начать первые шаги?Пожалу...

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

Эпидемия многоступенчатых собеседований Эта статья написана по мотивам НЕМИТАПА, проведенного компанией Авито. Когда я увидел ЭТО, сказать, что был шокирован – ничего не сказать. Сначала Яндекс, потом Тинькофф, ну и теперь вот Авито (и это только наши, отечественные) внедряет у себя шестиступенчатое собеседование....

Эмуляция сотового телефона… на сотовом телефоне О чём только не пишут на Хабре. Например, о создании J2ME-игры в 2024 году, о написании программ на ассемблере под Nokia 3310. Вдохновлённый этими статьями, я тоже решил создать нечто подобное. Это «нечто» должно удовлетворять следующим критериям: а) Быть не слишком прос...

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

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

Применяем Java Sealed Classes на практике В этой статье применим Sealed Classes для улучшения читаемости кода, используя пример из реальной разработки. В статье используется Java 21 т.к. это первая LTS версия Java с релизным Pattern Matching. Также в примере используется Spring Boot, но этот подход можно использоват...

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

[Туториал] Пишем собственные Spark Native Functions (Часть 2) В предыдущей своей статье Почему стоит начать писать собственные Spark Native Functions? (Часть 1), которая является переводом и которая вдохновила меня на собственные изыскания, был разобран пример, как написать свою Spark Native Function по генерации UID. Это, конечно, здо...

Make Habr Hard Again: «железная» номинация «Технотекста» Новый «Технотекст» стартовал в конце прошлого года. Посмотрев список номинаций, некоторые авторы-инженеры YADRO, которые занимаются разработкой и программированием серверов, СХД, микроэлектроники, не поняли, какую из них выбрать. Раньше же была отдельная «железная» номинация...

Как мы загрузочный экран приложения в полезный для пользователя инструмент превратили. Кейс онлайн-кинотеатра KION Привет, Хабр! Меня зовут Михаил Фандуберин, я Product Owner, отвечающий за авторизацию и онбординг в KION. В прошлом августе я написал статью о повышении конверсии регистраций на примере страницы входа онлайн-кинотеатра KION. Сегодня расскажу о другом проекте — работе со ста...

GigaChat Pro. Технические детали, сдача ЕГЭ и сравнение с конкурентами С момента запуска GigaChat прошло около полугода, и за это время у нас появилось более полутора миллионов пользователей. Они активно используют нейросетевые технологии как в работе, так и для развлечения. От пользователей поступают разнообразные запросы: от просьбы сделать к...

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

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

[Перевод] Что такое PID 0 Как говорится, «не будите во мне ботана». Иногда кто-нибудь беспечно задаст мне, казалось бы, невинный вопрос — и я убиваю следующие несколько часов (в описываемом случае — дней), чтобы полноценно сформулировать ответ. Обычно всё это заканчивается с моей стороны очередной фи...

Зонтичный мониторинг в X5 Group, или как построить цифровую карту здоровья бизнеса с миллионом объектов Привет, Хабр! Хотим рассказать о том, как и зачем Х5 Group внедряет зонтичный мониторинг Monq, почему сущность и состояние «магазина» для бизнеса важнее виртуальных объектов, ну и как вообще стало возможным не только собрать под один зонтик >1.1 млн объектов и данные...

Дамп разделов TV-бокса на чипе RK3528 Заметил в продаже новенький TV-бокс H96 MAX M1 на чипсете Rockchip RK3528, с 4Гб памяти, новым 13-м Андроидом, и подозрительно дешевый. Зная, что на старых чипах Rockchip уже запускали Линукс, я решил заказать и попробовать.Можете заметить разъёмы питания/USB/HDMI/AV... Как ...

Дамп разделов TV-бокса на чипе RK3528 Заметил в продаже новенький TV-бокс H96 MAX M1 на чипсете Rockchip RK3528, с 4Гб памяти, новым 13-м Андроидом, и подозрительно дешевый. Зная, что на старых чипах Rockchip уже запускали Линукс, я решил заказать и попробовать.Можете заметить разъёмы питания/USB/HDMI/AV... Как ...

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

Игры нашего детства: 8-битные шедевры Мы ранее говорили об эпохе Flash-игр. Но 1990-е годы для большинства детей того времени, да и не только детей – это в первую очередь игры на Dendy с стрельбой в телек по уткам, иногда – «Сюбор» который был в виде клавиатуры, а для настоящих богачей и счастливчиков была – и S...

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

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

Как исследовать текст в интерфейсе Привет! Меня зовут Анна Мурашова, я UX-исследователь М.Тех (М.Видео-Эльдорадо). Не будет преувеличением, если скажу, что текст в интерфейсе — это самый важный тип контента на наших сайтах и в мобильных приложениях. Благодаря тексту пользователи:• подбирают товары по характер...

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

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

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

Ваш iPhone может больше: 5 полезных приложений для смартфонов Apple Ни для кого не секрет, что с помощью стороннего софта можно превратить Айфон не только в инструмент для потребления контента, но и в устройство для образования и много чего еще полезного. Именно поэтому иногда стоит просто заходить в App Store в поисках интересных приложени...

Хоппер или цистерна? Теплушка или малыш? Как мы сделали экспресс-курс о железной дороге для айтишников и не только Первая грузовая компания занимается железнодорожными перевозками — но далеко не все наши сотрудники имели опыт работы в ж/д-отрасли до прихода в ПГК, особенно это касается IT-специалистов. Чтобы организовать новичкам погружение в тему, мы сделали специальный вводный курс о т...

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

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

Простой, но масштабируемый State Management для Flutter Библиотека для управления состоянием - то, чем мы пользуемся каждый день. Чувствуете ли вы легкое покалывание при виде OnRefreshPostsButtonClickedHomeScreenEvent? Возможно, вы используете bloc.Нет? А сейчас -firstNameUserProfileStateProvider ? Ага, riverpod.Все еще нет? Тогд...

Снова на те же грабли. Разбираемся с ошибками хранения ПДн и способами защиты медицинских данных Привет, Хабр! Ловите новую подборку от beeline cloud — собрали практические истории по работе с персональными данными. Здесь и основные ошибки хранения ПДн, и советы, которые помогут навести порядок, и примеры защиты личных данных пациентов в виде кейса компании, которая про...

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

Lessons Learned: почему никогда не стыдно взять и всё переделать Эта история будет несколько личной - с одной из предыдущих команд, в которой я когда-то была просто инженером, много лет назад мы начинали строить SOC для заказчиков, не сильно-то и понимая, как это делать правильно. В ход шло все - международные стандарты, здравый смысл и ж...

[Перевод] Разбираем портативный ТВ Sony FDL-330S (FDM-330) В 1988/1989 году был представлен цветной телевизор Watchman FDL 330S с ЖК-дисплеем. Прошло уже больше 30 лет с момента существования этого устройства, а оно до сих пор встречается в продаже и даже (иногда) работает! Будем разбирать? Конечно! Читать далее

Войти в ИТ через тестирование: опыт QA-инженеров hh.ru Привет! Меня зовут Олег Водянов, и я QA-инженер в hh.ru.  Свой путь в тестировании я начал в качестве джуна в далёком 2018 году. Всё, что мне тогда понадобилось для трудоустройства — это прочитать и законспектировать теоретическую информацию с сайта www.protesting.ru, н...

Любовь и кошки: Башкирский Translation Forum Russia 2023 в объятиях Gen AI, LLM и CAT-tools Приветствую, дорогие читатели. Впервые решилась написать статью, связанную со своей профессией — с профессией переводчика. Статья покажет не только путь юного падавана в новой среде, но и первый опыт посещения больших мероприятий. И мой вывод: участвуйте! Читать далее

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

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

Миландр + GCC + VSCode. Пробуем мигать светодиодом на отечественном ARM32 микроконтроллере Год назад я написал статью об отладке STM32 микроконтроллеров из под VSCode, с компиляцией в GCC и сборкой с помощью CMake. А в декабре мне в руки попали две тестовые единицы отечественных микроконтроллеров К1986ВЕ92FI (MDR1211FI1). Производитель имеет свою библиотеку SPL на...

Как развернуть сайт c помощью Terraform Привет, Хабр! В этой инструкции я покажу, как развернуть сайт в Kubernetes c помощью Terraform. Разберу интеграцию CRaaS с Managed Kubernetes, которая сократит ручную настройку и поможет публиковать образы контейнеров всего в несколько кликов. Дисклеймер: мы не будем c ну...

Создание Chat-Ops бота в Mattermost на python Привет, Хабр!Компания АльфаСтрахование, как и многие другие, столкнулась с необходимостью замены используемых инструментов в связи с санкциями. За последний год мы отказались от Slack в пользу open-source аналога Mattermost, а Jira не без сложностей была заменена на Kaiten.В...

Deep Live Cam — нейросеть для дипфейков в реальном времени Всем привет!В этой статье познакомимся с Deep-Live-Cam - это инструмент для замены лиц в реальном времени и создания видеодипфейков с использованием всего одного изображения.Софт включает встроенную проверку на недопустимые материалы и поддерживает GPU ускорение для улучшенн...

«Ревизорро» в IT: тестируем суммаризацию текста в GigaChat и YandexGPT После появления на рынке API для беседы с ChatGPT 3.5 каждый второй заказчик решения на основе машинного обучения (ML) хочет внедрить у себя ИИ, который может красиво и содержательно общаться на русском языке.Меня зовут Екатерина, я IT-архитектор команды SimbirSoft, специали...

[Перевод] Обзор продуктивности разработчиков от McKinsey Не так давно компания McKinsey опубликовала статью, в которой утверждалось, что они могут измерить продуктивность разработчиков. Этот текст вызвал определённый резонанс, но я не видел, чтобы кто-то подробно комментировал содержание. Я решил, что это будет полезно сделать.Я б...

Мучаем iPad 2010 года на предмет жизнеспособности Новые айпады Apple выпускает каждый год. А что из себя представляла самая первая модель, и реально ли ей пользоваться в наше время? Шёл 2021 год, коронавирус всё ещё был актуален. Ну а мне нечего было делать без работы, и как-то подумал: а может всё-таки купить самый первы...

Atari: от рассвета аркад до заката легенды Американская компания Atari внесла огромный вклад в историю аркадных игровых автоматов, игровых консолей, домашних персональных компьютеров и самих игр. Такие игры, как Pong, Asteroids, Breakout и Missile Command, стали легендами и до сих пор любимы миллионами людей во всём ...

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

Kotlin под капотом: inline функции Многие разработчики не понимают в чем профит от использования inline функций и в каких случаях их нужно использовать. Для чего нужен crossinline и как работает reified. Разбираемся как это работает на уровне байткода, в котором хорошо видно всю суть inline функций kotlin. Чи...

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

Основано на реальных событиях: как шифровальщики ведут переговоры и что советуют жертвам Программы-вымогатели — одна из главных киберугроз для российских компаний. Только в прошлом году, по данным F.A.C.C.T., количество атак шифровальщиков на бизнес увеличилось в 2,5 раза. В некоторых случаях суммы выкупа достигали 321 млн рублей.Мы изучили реальные переписки с ...

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

LLM field landscape Ради чего эта статья?Сфера генеративных моделей сегодня кипит, булькает и шипит — каждый день выходят новые статьи, новые бенчмарки, новая модель вырывается вперёд на Arena, открывается очередной AI‑стартап… Только мы успеваем потрогать одну модель и сделать свои выводы...

После трех лет борьбы Epic Games возвращается в App Store, но только в Европе Еще в августе 2020 года Apple закрыла учетные записи разработчиков Epic Games. Но теперь разработчики Fortnite считают, что постановление ЕС помогло им восстановить доступ.

Самодельные инструменты для тестирования продукта, или DIY в разработке Все мы привыкли к общепринятым инструментам для тестирования. Думаю, список есть у каждого и он постоянно пополняется. Лично мой: Postman, IntelliJ IDEA и DataGrip от JetBrains, ShareX для скриншотов и его величество DevTools. В этой статье я хотел бы отдать дань само...

Соединяем Flutter, Firebase и ESP32 в единую систему Всем привет! Это Мурат Насиров, Flutter-разработчик в Friflex. Мы разрабатываем высоконагруженные мобильные приложения для бизнеса и специализируемся на Flutter. Сегодня расскажу, как использовать микроконтроллер ESP32 в связке с Flutter-приложением. В качестве примера ...

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

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

Новая комета C/2023 H2 Lemmon Она вспыхнула, когда уже никто не ждал Эта комета была обнаружена 23 апреля 2023 года в ходе панорамного обзора неба, проводимого обсерваторией Маунт Леммон (штат Аризона, США). Давайте проследим движение кометы C/2023 H2 Lemmon в каждый из 10 предстоящих вечеров Читать да...

ESLint | Shareable config настройка и что это такое? Приветствую! В ходе своей профессиональной деятельности, каждый фронтенд-разработчик сталкивается с неотъемлемой частью разработки - инструментом ESLint.Сегодня мы поговорим, о настройке shareable config. Мы рассмотрим, как это может помочь продуктовым командам или фрилансер...

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

App Puzzle15. Дорога в Питер за android-фоном Совсем недавно в славном городе на Неве проводился конкурс ребятами из местного GTUG, анонс конкурса ютится в этом топике. О самом конкурсе, проведении его и результатах будет подробно написано в отчёте от arkady112. Я же хочу рассказать немного о приложении Puzzle15, котор...

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

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

Ранняя версия Path of Exile II появится к концу 2024 года Grinding Gear Games анонсировали в ходе презентации State of Play, что ранняя версия Path of Exile II появится позже не только для PC и Xbox Series, но и для PlayStation 5. Также игра будет поддерживать локальный кооператив и кросс-плей между консолями. Кооп доступен как на ...

История о том, как я решил сплотить и мотивировать команду техподдержки Cloud.ru «Быть саппорт инженером — довольно депрессивный процесс» — эту фразу я услышал на одной из конференций. Часто работа в технической поддержке ассоциируется с рутиной, однообразием и общением с гневными клиентами. Одним словом — не работа мечты для инженеров. При этом для спец...

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

Блеск и нищета std::format Сравнительно недавно в stdlib плюсов появилось форматирование строк «как в питоне», а точнее, как в библиотеке fmt. И я, как смелый и отчаянный, решил этим воспользоваться. Возможно, аксакалы и настоящие разработчики скажут, что я всё делаю не так, и вообще не то, но я буду ...

Шпайш машт флов, или как работает вселенная Дюны Выход фильмов Дени Вильнева и их успех — отдельный праздник для давних фанатов книжной эпопеи Фрэнка Герберта. Наконец-то они (мы) могут обсуждать наболевшие детали фантастической вселенной, не боясь показаться (оказаться) законченными нёрдами. Теперь каждый знает, что где-т...

Интерпретатор Brainfuck на Brainfuck Когда-то давно, году в 2013-м, на глаза мне попался следующий код:>>>+[[-]>>[-]++>+>+++++++[<++++>>++<-]++>>+>+>+++++[>++>++++++<<-]+>>>,<++[[>[->>]<[>>]<<-]<[<]<+>>[&...

NVIDIA B200 может оказаться несуществующим чипом В наименовании ускорителя могла потеряться одна буква.

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

Не все логи одинаковы полезны: 3 истории из жизни Прочитав статью "Утечки памяти, которые не утечки", я решил поделиться своим опытом поиска проблем, связанных с нагрузкой систем под управлением Windows. 2 проблемы были связаны с возросшей нагрузкой на ЦПУ и одна проблема связанна с утечкой памяти.В своей статье я расскажу,...

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

После RTX 4090 китайцы начали массово разбирать на чипы для ИИ пользовательские карты RTX 3090 RTX 3090 Ti постигла та же участь.

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