Обновить
-5

Программист

Отправить сообщение

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

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели29K

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

Читать далее

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

Время на прочтение7 мин
Охват и читатели28K

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

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

Читать далее

Про свёрла

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели148K

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели294K

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

Погружение

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

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

image

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

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

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели6.9K

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели8.6K

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

Читать далее

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

Время на прочтение8 мин
Охват и читатели51K
Привет, Хабр! В преддверии старта курса «C# ASP.NET Core разработчик», подготовили перевод интересного материала о реализации кэша в C#. Приятного прочтения.




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

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

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

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

Время на прочтение2 мин
Охват и читатели457


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

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

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

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

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

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели228K


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

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

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

Уровень сложностиСредний
Время на прочтение27 мин
Охват и читатели29K

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

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

Время на прочтение13 мин
Охват и читатели67K


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

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

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

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

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

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

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

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели211K

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

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

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

Инструкция:

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

Уровень сложностиПростой
Время на прочтение21 мин
Охват и читатели727K

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

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели24K

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

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

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели253K

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

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

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

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

Читать далее

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

Время на прочтение10 мин
Охват и читатели25K

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

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

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

Время на прочтение12 мин
Охват и читатели72K

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

Читать далее

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

Время на прочтение4 мин
Охват и читатели26K
Привет, %username%! Бывает необходимо генерировать ID не подряд, причем чтобы они гарантированно не повторялись. На youtube это используется для того, чтобы вы не могли брутфорсом получить все новые и старые видосики, так же это не редкость на разных файлообменниках и вообще везде где нужно предотвратить или хотя бы затруднить возможность прямого перебора значений.


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

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

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

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели7.4K

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

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

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

Читать далее

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность