Pull to refresh
-5

Программист

Send message

VPS-бастион: доступ к домашнему серверу без белого IP

Level of difficultyEasy
Reading time12 min
Reach and readers29K

У вас дома крутятся полезные сервисы: Home Assistant, code-server или Nextcloud. Или вы только собираетесь их запустить. Пока вы дома, всё открывается по локальному IP. Но стоит выйти за пределы квартиры, и сервисы пропадают. Причина: провайдер выдал серый IP-адрес, то есть применяет CGNAT. Белый адрес получить либо нельзя (примерно, как советский дефицит), либо он стоит дополнительных денег.

Читать далее

Passkey без Apple, Google и облаков: делаем собственный аппаратный ключ за 4 евро

Reading time7 min
Reach and readers28K

Несколько лет назад я озаботился покупкой YubiKey 5 NFC в надежде, что он станет для меня своеобразным ключом от всех дверей. Ожидания оправдались, он успешно трудится каждый день в роли 2FA и снабжает меня одноразовыми кодами TOTP. Но под некоторые задачи мне хотелось иметь отдельные ключи, вот только жаба душила отдавать по 70-80 евро за штуку.

Однажды я наткнулся на проект Pico Keys, который позволяет превратить Raspberry Pi Pico или ESP32-S3 в персональный security key, некую альтернативу Yubikey. С учетом стоимости и доступности, это выглядело как неплохой вариант, а в реальности оказалось еще интереснее. Так что наливайте кофейку и приятного чтения.

Читать далее

Про свёрла

Level of difficultyEasy
Reading time10 min
Reach and readers148K

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

Читать далее

«Telegram обошёл блокировку РКН» — нет, не Telegram

Level of difficultyEasy
Reading time5 min
Reach and readers294K

Пока СМИ писали про победу команды Дурова над РКН, анонимные разработчики из опенсорс-комьюнити уже две недели сидели в чатах, реверсили DPI и писали патч, который и использовала команда Дурова. Расскажу, как это было на самом деле.

Погружение

За гранью App Store, или Что нового открывает MDM и Supervised для B2B в iOS

Reading time14 min
Reach and readers15K
Привет! Меня зовут Денис Кудинов, я iOS-Development team lead в «Лаборатории Касперского». В этой статье расскажу об Mobile Device Management, а также о supervised- и BYOD-режимах — как работает технология и что с ее помощью можно сделать такого, что недоступно обычным приложениям из App Store. Считайте это презентацией возможностей Configuration Profiles, да и Apple MDM в целом :)

image

Статья будет полезна разработчикам B2B-приложений для iOS, которые хотят разбавить свои инструменты новыми фичами, а также для product owner-ов и бэкенд-разработчиков, которые хотят поддержать взаимодействие с мобильными устройствами.
Читать дальше →

Рецензия на книгу «Генеративный ИИ на практике: трансформеры и диффузионные модели»

Level of difficultyEasy
Reading time6 min
Reach and readers6.9K

Генеративный ИИ развивается так быстро, что книги устаревают еще до того, как доходят до читателя. Тогда почему для рецензии мы выбрали книгу «Генеративный ИИ на практике: трансформеры и диффузионные модели»? Во-первых, оригинальное издание вышло чуть более года назад и отражает уже сформировавшуюся практику работы с трансформерами, diffusion-моделями и современными ML-инструментами. Во-вторых, именно эта книга вышла за рамки обычного пособия — ряд университетов по всему миру включили ее в учебные материалы и рекомендации как практико-ориентированный ресурс по генеративному ИИ. Это хороший знак, что перед нами не просто обзор популярной темы, а системное объяснение технологии.

Читать далее

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

Level of difficultyMedium
Reading time10 min
Reach and readers8.6K

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

Читать далее

Реализации кэша в C# .NET

Reading time8 min
Reach and readers51K
Привет, Хабр! В преддверии старта курса «C# ASP.NET Core разработчик», подготовили перевод интересного материала о реализации кэша в C#. Приятного прочтения.




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

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

Кэширование отлично подходит для данных, которые изменяются нечасто. Или, в идеале, не меняются никогда. Данные, которые изменяются постоянно, например, текущее время, не должны кэшироваться, иначе вы рискуете получить неправильные результаты.
Читать дальше →

В сфере HR стало появляться всё больше стартапов для скоринга резюме кандидатов — естественно, стартапы...

Reading time2 min
Reach and readers456


В сфере HR стало появляться всё больше стартапов для скоринга резюме кандидатов — естественно, стартапы теперь строят это все на базе больших языковых моделей и работают по принципу а-ля: получили ваше резюме → выдрали текст → прогнали через промпты в стиле «оцени этого кандидата на соответствие позиции X, где 0 очков это неподходящий кандидат, а 20 подходящий» → HR получает оценку → кандидат попадет в другой этап, если набрал нужное количество баллов.

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

Есть очень простой способ по встройке промпт-инъекции в свое резюме:

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

Существуют ли шаровые молнии и как их объясняет современная наука?

Level of difficultyEasy
Reading time8 min
Reach and readers228K


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

Хотя почти у каждого человека в последние лет 20 с собой всегда есть телефон с видеокамерой, качественных видео с демонстрацией шаровой молнии почему-то не появилось — те, что можно найти, отличаются плохим качеством.
Читать дальше →

Простой советский геймдев: многокадровый, цветной

Level of difficultyMedium
Reading time27 min
Reach and readers29K

Около года назад, в одной из прошлых своих публикаций, я уже вскользь касался темы самой совершенной советской видеоигровой аркадной платформы, ТИА-МЦ1. Недавно поступило предложение рассказать про это поподробнее: какое я имею к ней отношение, как и когда удалось создать её эмулятор для современных ПК, как она устроена, в конце концов. Приступаем!
Читать дальше →

Как мы строили Норильск «на ледяной планете»

Reading time13 min
Reach and readers67K


60–65% территории России занимает вечная мерзлота. Она бывает разная: где-то это много относительно сухой земли, а где-то прямо линза льда (до 95% воды), причём глубиной до нескольких километров. В районе Норильска можно грубо сравнить её с замёрзшим океаном.

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

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

Строить на линзе льда ничего нельзя. Тепло от здания означает, что его фундамент просто разорвёт при подвижках льда. Но тогда, конечно, про сюрпризы с мерзлотой мы не знали, и потому первое поселение — позже его назовут Аварийным посёлком — разрушилось через полгода.

Современный город стоит на скальных выходах как на островах: есть центральный жилой остров, есть Оганер — остров с больницей, есть Талнах — добывающий район, отдельно есть аэропорт, есть Надежда — ещё один комбинат, есть остров Дудинка — порт в 90 километрах от центра. Есть кусок скалы — можно строить. Нет скалы — нельзя строить.

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

Obsidian+Github вместо Notion: синхронизация, бекап и версионность (3-в-1)

Level of difficultyEasy
Reading time9 min
Reach and readers211K

О том, как сделать прозрачную синхронизацию заметок Obsidian между устройствами (Desktop, Android, iOS) через GitHub:

1. Без сторонних приложений (вроде iCloud, SyncThing, Termux и пр)
2. Бесплатно
3. Бонусом — резервная копия: как самих заметок, так и истории изменений.

В результате получается полноценная замена Notion: структурированные заметки с автоматической синхронизацией между устройствами.

Инструкция:

Какой роутер для OpenWrt купить в 2025 году?

Level of difficultyEasy
Reading time21 min
Reach and readers727K

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

Роутер, как и любой другой девайс, нужно покупать под запрос. Например, линуксоиды привыкли покупать ноутбуки именно под Linux, а не первый попавшийся. Также и тут: если нужен OpenWrt, то роутер тоже надо выбирать с умом, а не надеяться на то, что кастомная прошивка сделает конфетку из роутера за 700 р.

В 2023 и 2024 появились интересные роутеры, которые уже поддерживаются проектом OpenWrt. Эти роутеры сделаны на базе ARM-процессоров. Такие роутеры появились у нескольких компаний, и дальше их количество будет только увеличиваться.

Читать далее

Auth service без библиотек

Level of difficultyMedium
Reading time8 min
Reach and readers24K

О чем эта статья: статья посвящена схемам регистрации, аутентификации, авторизации пользователей в веб приложениях, смене паролей, отзыве токенов, и т. п. Мы также рассмотрим, как организовать хранение данных, обсудим, что такое JWT, коротко поговорим о «сервисе для отправки email»

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

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

Читать далее

У меня был 6-дневный дофаминовый детокс — и вот что получилось

Level of difficultyEasy
Reading time5 min
Reach and readers253K

Что такое дофамин и почему в среде любителей самосовершенствования он считается гормоном, способствующим отвлечению внимания?

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

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

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

Читать далее

Не «Ctrl+C»/«Ctrl+V» едиными. История клавиш-модификаторов

Reading time10 min
Reach and readers25K

Задумывались ли вы когда-нибудь, сколько времени экономят сочетания клавиш? Большинство людей теряют в среднем две секунды за минуту работы, переключаясь туда-сюда с помощью мыши. Без нее многие уже не могут полноценно работать за компьютером. Но используя только клавиатуру, можно открывать окна, изменять их размер или перемещать, запускать программы, да и впринципе делать абсолютно все, что необходимо. Нажмите сочетание «Alt + пробел» и приключение начнется!

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

Визуализация архитектуры с помощью C4 модели и PlantUML

Reading time12 min
Reach and readers72K

Приветствую, коллеги. Меня зовут Мстислав, я являюсь руководителем Python практики в Usetech. В этой статье я раскрою нюансы работы с PlantUML и C4 моделью. Вся информация является выжимкой из нашего ежедневного опыта. Также необходимо упомянуть, что на эту тему я проводил воркшоп на TechLeadConf 2022, так что при желании, вы всегда можете найти видео.

Читать далее

Генерируем псевдослучайные ID а-ля Youtube

Reading time4 min
Reach and readers26K
Привет, %username%! Бывает необходимо генерировать ID не подряд, причем чтобы они гарантированно не повторялись. На youtube это используется для того, чтобы вы не могли брутфорсом получить все новые и старые видосики, так же это не редкость на разных файлообменниках и вообще везде где нужно предотвратить или хотя бы затруднить возможность прямого перебора значений.


К примеру, в системе moodle, которая использовалась у нас в универе для тестирования студентов, ID ответов были инкрементными и сквозными на всю базу. Логично предположить, что правильным ответом был тот, что с наименьшим ID в пределах вопроса. В общем, проблем с тестами у нас не было. Потом они перешли на GUID, но я к тому моменту уже выпустился, хехе.

Давайте рассмотрим несколько способов генерации таких ограниченных по длине последовательностей от самых простых до криптографически стойких.
Читать дальше →

Опыт интеграции .NET Core+ приложений с HashiCorp Vault

Level of difficultyMedium
Reading time14 min
Reach and readers7.4K

Привет, Хабр! В этой статье я хотел бы поделиться опытом нашей команды в части интеграции .NET Core и выше приложений с корпоративным хранилищем секретов HashiCorp Vault.

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

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

Читать далее

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity