← 15 марта 2025          17 марта 2025 →          А сегодня?

16 марта 2025 на Хабре были опубликованы 44 статьи.

Создаём HTTP-сервер на Java NIO

Привет, Хабр!

В этой статье создадим HTTP-сервер на чистом Java NIO, без всяких Spring Boot, Jetty и прочих фреймворков. Будем разбираться, как работает неблокирующее I/O, что такое Selector, SocketChannel, и как заставить сервер обрабатывать тысячи запросов одновременно без запуска тысяч потоков.

Читать далее

Посмотрим с другой стороны: а какая польза от корпоративных блогов, ссылок на Telegram каналы и запрета на дизлайки?

Эта статья изначально родилась как ответ на эту статью. В ней автор рассказал, как его отправили в "кармический бан". В комментариях началось обсуждение, почему саморегуляция на Хабре не работает, хабр уже не торт, а модерация несправедливая. За одно обозначили, что корпоративные блоги и ссылки на Telegram каналы — зло.

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

- почему кармический бан — не самое плохое решение;
- корпоративные блоги помогают авторам и читателям;
- Telegram каналы выгодный для Хабра компромисс между контентом и рекламой (*с оговорками).

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

Читать далее

Пишем свой FDW для PostgreSQL

Привет, Хабр!

В этой статье быстро разберём, как устроен PostgreSQL – от хранения данных в Heap и работы с FSM/VM до создания своего FDW с компрессией на базе zlib.

Читать далее

Существует ли мультивселенная в реальности, или это лишь удобная теоретическая концепция?


За 600 лет до нашей эры в городе Милет, на территории современной Турции, жил Анаксимандр Милетский — древнегреческий философ, представитель милетской школы натурфилософии, ученик Фалеса Милетского. В какой-то момент он сменил Фалеса на посту главы школы, и среди его учеников были Анаксимен и, возможно, сам Пифагор.

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

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

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

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

[Перевод] Дело всегда в TCP_NODELAY


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

Но для начала давайте проясним, о чём вообще речь. Лучше всего нам в этом поможет документ RFC896, изданный Джоном Нейглом в 19841 году. Вот описание задачи:

Обработка малых пакетов сопряжена с одной специфичной проблемой. Когда для передачи односимвольных сообщений с клавиатуры используется TCP, обычно для отправки одного байта полезных данных задействуется пакет размером 41 байт (один байт данных и 40 байт заголовка). Такие издержки в 4 000%, конечно, раздражают, но в слабо нагруженных сетях ещё терпимы.

Если коротко, то Нейгл хотел сократить затраты на отправку TCP-заголовков, чтобы повысить пропускную способность сети — вплоть до 40х! Эти крохотные пакеты поступали из двух основных источников: интерактивных приложений вроде оболочек, где пользователь вводил по одному байту за раз, и плохо реализованных программ, которые передавали сообщения ядру через множество вызовов write(). Предложенное Нейглом исправление оказалось простым и продуманным. Читать дальше →

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


Одноплатные компьютеры уже давно не просто игрушка для энтузиастов. Это мощные системы, которые могут работать с AI, подверрживать одновременно несколько 4K-дисплеев, управлять роботами и даже выполнять серверные задачи. В 2025 году рынок пополнился новыми моделями, которые впечатляют возможностями и ценами. В этом обзоре — пять самых интересных новинок, которые подойдут как для разработчиков, так и для тех, кто ищет компактную, но мощную альтернативу традиционному ПК.
Читать дальше →

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

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

Раньше ведь как было — вне дома геймер использует либо верный SE K750i с предустановленной на ней Asphalt, Gangstar или Heroes Lore, либо познает радости портативного гейминга на PSP. А дома уже играет в «большие» проекты за компьютером или на игровой консоли.

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

А ещё именно «геншин», разработанный в Китае, привнёс в сленг большинства СНГ-геймеров такой исконно японский термин, как «гача-игры».

Для многих слово «гача» стало синонимом словосочетания «казино для детей», однако этот термин куда обширнее и имеет крайне интересную историю. Которую я сейчас и поведаю.

Читать далее

[Перевод] Быстрая свёртка множеств (алгоритм)

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

Статья будет интересна тем, кто интересуется нетривиальными, но красивыми алгоритмами!

Читать далее

Как поменять процессор на материнской плате в домашних условиях. Часть 2

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

Если делать все по фэншую, нужна инфракрасная станция. Это специализированное оборудование, предназначенное для демонтажа и установки BGA-чипов (включая процессоры, видеочипы и чипсеты) на печатные платы. Используется в сервисных центрах и на заводах по ремонту и сборке электроники. Ну и в домашних условиях тоже — некоторые мастера покупают станции и домой (я в их числе). Об этих аппаратах сегодня и поговорим.

Читать далее

20 полезных команд Kubernetes, о которых вы не знали

Ваш кластер снова ведёт себя как капризный ребёнок? Ошибки, зависшие поды, бесконечные деплои, которые идут не туда, куда нужно? Значит, пора прокачать свои навыки работы с kubectl! Мы собрали в этой подборке самые полезные команды с подробным описанием, которые помогут держать Kubernetes в узде и решать любые инциденты одной кнопкой!

Читать далее

ИТ-тренды —> Почему отраслевые облачные платформы становятся более значимыми в cloud-индустрии

Привет, Хабр! Мы в beeline cloud следим за ситуацией на глобальном и отечественном рынке. Поэтому решили запустить цикл статей с пометкой «ИТ-тренды». Заглядывайте почитать, постараемся делать такие материалы каждый месяц.

В этом выпуске разберемся с отраслевыми облачными платформами — одним из ключевых направлений на cloud-рынке. По мнению Gartner, именно на них к 2027 году будет приходиться 50% облачных расходов. Вместе с тем AWS обозначил отраслевые облачные платформы своим приоритетом развития на ближайшие годы.

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

Читать далее

Как я научил?буфер обмена думать

Я научил буфер обмена думать за меня, и теперь всё вокруг стало быстрее. Копировать и вставлять — это для новичков. А что если выделенный текст мгновенно станет грамотным, переведётся на нужный язык или расшифрует картинку? Я не программист, но сделал утилиту, которая превращает Ctrl+C и Ctrl+V в настоящую волшебную палочку. Пара нажатий — и ИИ исправляет ошибки в Telegram, объясняет код в VS Code или переводит иностранные мемы. Расскажу, как работает эта магия и как запустить её на своём компьютере за две минуты.

Читать далее

Лучше не скажешь

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

Например, бессмертное:
«Побеждает тот общественный строй, который обеспечивает высшую производительность труда»

Несколько таких ёмких высказываний я встретил и на страницах Хабра.

Читать далее

Лучше не скажешь

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

Например, бессмертное:
«Побеждает тот общественный строй, который обеспечивает высшую производительность труда»

Несколько таких ёмких высказываний я встретил и на страницах Хабра.

Читать далее

[Перевод] Расшифровка зашифрованных файлов программы-вымогателя Akira (Linux/ESXi 2024) с использованием набора GPU

Хакер делает из любви то, что другие не стали бы делать и за деньги.

Недавно я помог компании восстановить их данные после атаки программы-вымогателя Akira без выплаты выкупа. Я делюсь тем, как я это сделал, вместе с полным исходным кодом.

Код доступен здесь: https://github.com/yohanes/akira-bruteforce

Для ясности, несколько вариантов программ-вымогателей были названы Akira за эти годы, и несколько версий сейчас находятся в обращении. Вариант, с которым я столкнулся, активен с конца 2023 года по настоящее время (компания подверглась взлому в этом году).

Была более ранняя версия (до середины 2023 года), которая содержала ошибку, позволившую Avast создать дешифратор. Однако, как только это было опубликовано, злоумышленники обновили свое шифрование. Я ожидаю, что они снова изменят своё шифрование после того, как я опубликую эту информацию.

Читать далее

Мобильная разработка за неделю #579 (10 — 16 марта)

В новом дайджесте производительный SwiftUI и бесшовное взаимодействие Compose и View, сборка ядра Android и отслеживание угла горизонта, решение задач распознавания, прямые без препятствий, что происходит на рынке разработки, глажка травы и многое другое. Заходите!

Читать дальше →

ИИ-агент для управления компьютером: разработка умного помощника на Python

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

Читать далее

ИИ-агент для управления компьютером: разработка умного помощника на Python

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

Читать далее

Байки о малом бизнесе

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

Байки рассказываю от первого лица.

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

   Предприятия с числом работников до 100 человек относятся к категории малого бизнеса.

Байка о малом брокерском бизнесе

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

Стоимость ее создания существенно ниже, чем создание (покупка) банка. Маржа больше, риски меньше.   Требуемый начальный капитал занял у частных инвесторов.

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

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

Но выгода брокера существенно выше, чем у банкира, при существенно более низких рисках.

Приведу наглядный пример.

Предположим Вы положили деньги на депозит под 20%. Банкир отдаст ваши деньги в кредит под 28%. Таким образом, маржа банкира составит 8%.

Читать далее

Анализ компьютерных сетей

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

Компьютерные сети – неотъемлемая часть современной жизни. В момент полной цифровизации государств, знание работы сетей становится обязательным для всех IT-специалистов и даже обычных людей. Очень сильно популяризируются сервисы VPN/Proxy, туториалы по созданию своих VPN/Proxy серверов, методы защиты конфиденциальной информации.

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

Читать далее

Законы масштабирования дистилляции

После того, как DeepSeek представил в open source свой метод дистилляции знаний для R1, исследователи из Apple и Оксфордского университета быстро предложили закон масштабирования дистилляции и уже 28 февраля завершили все эксперименты и загрузили 67-страничную статью на arXiv.

Apple исследовали законы масштабирования дистилляции и сделали интересные выводы:

1. Почему слишком мощный учитель может ухудшить результаты ученика?

2. Как дистилляция подчиняется законам масштабирования?

3. Какое уравнение оптимизирует процесс дистилляции?

4. Почему дистилляция эффективнее обучения с нуля, но только в определённых условиях?

Читать далее

Taigram: как мы решали проблемы данных и пришли к бете

Продолжаем рассказывать о разработке нашего Open Source проекта Taigram.

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

Также затронем тему бета-тестирования и расскажем, как вы можете помочь нам сделать Taigram лучше.

Читать далее

Колбэки в акторной модели

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

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

И как же это починить?

Вертим кеш на GPU

Идут значит: Redis, Docker и Postgres.
R: Как вы собираетесь надругаться над нами сегодня?
D: Я буду вертеть вас на GPU!
P: Ого, прямо на GPU?
D: Да, ресурсов - не жалею!

В данной статье мы:

1. Cравним Redis и Postgres (в качестве системы кеширования).
2. Запустим их на GPU.
3. Оценим их быстродействие.

Давайте разбираться...

[Перевод] Прибор под управлением SwRI развернут на поверхности Луны

13.03.2025, пресс-релиз Юго-Западного исследовательского института (SwRI - Southwest Research Institute)

2 марта 2025 года, всего через несколько часов после приземления на поверхность Луны на борту посадочного модуля Blue Ghost 1 компании Firefly Aerospace был активирован лунный магнитотеллурический зонд (LMS) разработанный Юго-Западным исследовательским институтом. LMS развернул пять своих датчиков для изучения недр Луны путем измерения электрических и магнитных полей. Инструмент LMS является первым внеземным применением магнитотеллурического зондирования.

Читать далее

GRE (Generic Router Encapsulation) CISCO

Здравствуйте, коллеги! Сегодня мы будем рассматривать протокол GRE (Generic Router Encapsulation) на устройствах Cisco, а также основы его работы.

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

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

Encapsulate

Machine learning на ESP32

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

В этом примере используются измерения акселерометра MPU 6050 и машинное обучение (ML) для распознавания трех жестов рукой с помощью ESP32. Данные из сенсора распознаются на микроконтроллере и результат выводится в консоль в виде названия жеста и вероятности результата. Модель ML использует TensorFlow и Keras и обучается на выборке данных, представляющей три различных жеста: "circle" (окружность), "cross" (пересечение) и "pad" (поступательное движение).

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

В следующей части рассмотрим как настроить Bluetooth LE (BLE) на ESP32 и Android устройстве. Передадим квантированный набор ускорений сенсора по BLE. Настроим Модель ML для распознания жестов на Android.

Читать далее

[Перевод] OSINT: Австрия

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

Благодаря своему центральному положению в Европе, богатому культурному наследию и передовой цифровой инфраструктуре, Австрия представляет собой увлекательное место для OSINT исследований. Огромный кладезь информации от правительственных баз данных, до местных новостных ресурсов – ждет вас.

Отправимся в это путешествие вместе и раскроем тайны Альпийской Республики!

Основные инструменты и советы по OSINT для Австрии

Читать далее

Machine learning на ESP32

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

В этом примере используются измерения акселерометра MPU 6050 и машинное обучение (ML) для распознавания трех жестов рукой с помощью ESP32. Данные из сенсора распознаются на микроконтроллере и результат выводится в консоль в виде названия жеста и вероятности результата. Модель ML использует TensorFlow и Keras и обучается на выборке данных, представляющей три различных жеста: "circle" (окружность), "cross" (пересечение) и "pad" (поступательное движение).

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

В следующей части рассмотрим как настроить Bluetooth LE (BLE) на ESP32 и Android устройстве. Передадим квантированный набор ускорений сенсора по BLE. Настроим Модель ML для распознания жестов на Android.

Читать далее

Сделай удобно: подборка UI/UX-кейсов из цифровых и нецифровых продуктов (#9)

«Сделай удобно» #1«Сделай удобно» #2«Сделай удобно» #3«Сделай удобно» #4«Сделай удобно» #5«Сделай удобно» #6«Сделай удобно» #7, «Сделай удобно» #8.

Продолжаю изучать различные UI/UX/CX кейсы в мобильных приложениях, веб-сайтах и в реальном мире. Дизайнерам и менеджерам по продукту, чтобы вдохновиться и добавить в заметки.

Под катом: Intsagram, Amie, Glovo, Flowwow, Иви.

Читать далее

Установка+базовая настройка файерволла ufw. Базовая настройка и использование proxychains4 на Kali Linux

1 Proxychains4

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

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

Итак начнем с утилиты proxychains4. В Кали Линукс установка ее предельно проста:

sudo apt update; sudo apt install proxychains4

Читать далее

Как повысить безопасность удалённого доступа, путем ограничения разрешенных IP адресов

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

Читать далее

Жизнь и творчество режиссёра Джеймса Кэмерона — Часть 2. Хорошая ночь для прогулки

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

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

I'll be back

Авторский гайд, как увеличить доход и результаты, уменьшив количество дел

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

Кроме того, то, о чем я расскажу сейчас, напрямую влияет на то, как вам достается деньги, какими усилиями, и сколько их в итоге остается у вас на руках.

Читать далее

Банковское приложение как voip клиент

Не встречал такой новости и вообще описания функционала, поэтому решил написать заметку об этом.

Желтый банк, по видимому, начал тестировать в своем приложении для android функционал voip клиента. То есть банк может позвонить клиенту прямо в приложение на смартфоне, минуя сотовую сеть.

Читать далее

Logit Lens & ViT model: туториал

Привет, Хабр! В этом туториале разобран метод для анализа внутренних представлений "логит-линза" (Logit Lens).

В результате практики по туториалу, вы:
1. Изучите подход и концепцию Logit Lens;
2. Реализуете Logit Lens для Visual Transformer;
3. Познакомитесь с анализом результатов применения логит-линзы.

Как всегда, весь код будет на гитхаб — step by step. Welcome!

Читать далее

Пишем калькулятор на C++ с SFML

Привет, коллеги и доброжелательные критики! Сегодня я решил отвлечься от своей грамозкой работы, чтобы написать что-то простое, но с изюминкой — калькулятор с графическим интерфейсом на C++20 и SFML. Этот проект — не претензия на что-то грандиозное, а скорее лёгкий эксперимент, чтобы вспомнить, как приятно писать код, который сразу видно на экране. Заодно я поделюсь с вами своими мыслями, подходами и парой советов. Давайте разберём, как я это закрутил и почему выбрал именно SFML.

Читать далее

[Перевод] Глава 3: Типы и форматы API

Глава 3: Типы и форматы API

До сих пор мы узнали, что HTTP (протокол передачи гипертекста) (Hyper-Text Transfer Protocol) является основой API в сети и что для их использования нам нужно знать, как работает HTTP. В этой главе мы рассмотрим данные, предоставляемые API, как они форматируются и как HTTP делает это возможным.

Читать далее

Notion – это офисный плен! Объясняю, как выбраться с помощью Obsidian

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

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

Читать далее

Импортозамещение для бедных — что нам стоит свою open source Jira построить

Внутренние хакатоны — отличный способ протестировать новые идеи. Мы не только экспериментируем, но и получаем практический опыт. Однажды, работая над CRM для управляющей компании (УК) в Дубае, мы задумались:

Мы сделали систему для работы с заявками для УК. А почему бы не создать свою Jira для работы с задачами? Почему еще никто не напилил полноценную Open Source Jira для бедных?

Сначала это звучало как шутка. Но мысль возвращалась снова и снова — особенно когда Jira начинала тормозить или раздражать.

Поэтому мы решили собрать велосипед ???? из готовых Open Source решений.

Что из этого вышло? ????

Как DNS работает через TLS: DNS-over-TLS на практике

Защита DNS при помощи TLS позволяет скрыть состав DNS-трафика, который обычно передаётся в открытом виде. Соединения DNS-over-TLS не так распространены, как DNS-over-HTTPS, но зато могут прозрачно применяться не только для доступа к резолверам, но и на авторитативных серверах. Посмотрим, вооружившись консольными утилитами, как всё это работает на практике.

Читать далее

[Перевод] Глава 4: API-аутентификация, часть 1 (базовая и ключевая)

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

Читать далее

[Перевод] Глава 5: API-аутентификация, часть 2 (OAuth)

В Главе 4 мы упомянули, что большинство веб-сайтов используют имя пользователя и пароль для аутентификации учетных данных. Мы также обсудили, что повторное использование этих учетных данных для доступа к API небезопасно, поэтому API часто требуют другой набор учетных данных, нежели те, которые используются для входа на веб-сайт. Распространенным примером являются ключи API. В этой главе мы рассмотрим другое решение — открытую авторизацию (OAuth), которая становится наиболее широко используемой схемой аутентификации в Интернете.

Читать далее

От революционной идеи к самой спорной клавише — история Caps Lock

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

«Ну ничего», — думаете вы, — «Сейчас попрошу жену пополнить наши запасы», и открываете Telegram, чтобы написать ей сообщение. Однако вместо нежного «Кофе закончился, дорогая!» вы отправляете «КОФЕ ЗАКОНЧИЛСЯ, ДОРОГАЯ!"

Катастрофа, объявлено чрезвычайное положение. А все из-за случайно нажатого Caps Lock.

Нужна ли миру эта кнопка? Как она вообще появилась? Обсуждаем в этой статье.

Читать далее

← 15 марта 2025          17 марта 2025 →          А сегодня?