Pull to refresh
2
0
Send message

Разработка требований к ПО с помощью Markdown, Git и Obsidian

Level of difficultyMedium
Reading time9 min
Views4.4K

Пошаговое руководство по использованию Git, Obsidian, Markdown и любимого IDE для разработки требований и трассируемого в них программного кода.

Читать далее

Открытые инструменты для визуализации сетевого трафика

Reading time5 min
Views5.6K

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

Читать далее

От React всё также веет безумием, но все об этом молчат

Level of difficultyEasy
Reading time11 min
Views6.5K

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

Так что вот она полноценная статья, ещё больше той, из которой она родилась. Здесь я подробно опишу все проблемы React и поясню, почему это может не быть виной разработчиков.

Читать далее

VLESS+Reality и Multi-hop: Архитектура VPN-цепочки для нового поколения блокировок

Level of difficultyMedium
Reading time10 min
Views27K

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

Помните то блаженное время, когда для доступа к любому ресурсу хватало простого WireGuard до сервера в Германии? Я тоже помню. Но эта эпоха закончилась. Недавно я заметил, что мой верный VPN стал лагать, рвать соединение и вести себя так, будто его кто‑то целенаправленно «душит». Это был тот самый момент, когда я понял: игра изменилась. Системы глубокого анализа трафика (DPI) стали умнее, и мой трафик для них был как на ладони.

Это стало моим личным вызовом. Я отправился в путешествие по миру современных средств обхода блокировок, наступил на множество граблей (чего только стоит осознание, что «двойное шифрование» — это миф!), но в итоге нашел свое сокровище — рабочую и относительно устойчивую схему на базе VLESS+Reality и Multi‑hop.

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

Принять вызов

Обходим CSP nonce через дисковый кеш браузера

Level of difficultyMedium
Reading time16 min
Views970

Эта статья описывает изощренную технику обхода Content Security Policy (CSP) на основе nonce-значений через эксплуатацию механизмов кеширования браузера. Автор демонстрирует, как комбинация CSS-инъекций, CSRF-атак и особенностей работы bfcache и дискового кеша может привести к выполнению произвольного JavaScript-кода даже при наличии строгой CSP.

Читать далее

Язык программирования Cangjie: китайский вызов Java и Swift

Reading time4 min
Views4.3K

Несколько лет назад Huawei решила зайти на территорию языков программирования (ЯП) со своим проектом Cangjie. Сказано — сделано. Новый ЯП впервые показали на HDC 2024. 30 июля 2025 года компания обещает открыть исходный код. Язык заявлен как кроссплатформенный: уже сейчас он поддерживает HarmonyOS и Android, а в перспективе может получить совместимость с iOS. Что в нем интересного и что даст открытие кода, сегодня и разберем.

Читать далее

В решение этой математической задачи с укладкой блоков сложно поверить

Level of difficultyEasy
Reading time5 min
Views18K

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

Читать далее

Конечный автомат, машина Тьюринга, порождающая грамматика и компьютер: в чём разница

Level of difficultyHard
Reading time12 min
Views1.8K

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

А в конце мы немного пофилософствуем на тему, что же такое программа и что такое семантика.

Читать далее

Эксперты шокированы: язык программирования на основе кликбейтных заголовков

Level of difficultyEasy
Reading time4 min
Views10K

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

Представьте язык, где вместо привычного function hello() вы пишете DISCOVER HOW TO HELLO WITH (англ. «узнайте, как сделать... с помощью»), а вместо return используете SHOCKING DEVELOPMENT! (англ. «шокирующее развитие событий»). А еще каждый листинг должен заканчиваться фразой PLEASE LIKE AND SUBSCRIBE.

Звучит как странная шутка? Да, но этот язык реально работает, имеет собственный интерпретатор и позволяет писать полноценные программы.

СЕНЬОРЫ СКРЫВАЛИ ЭТОТ ЯЗЫК….

Атакамит: охлаждение магнитным полем

Reading time12 min
Views2.5K

Принято считать, что законы точных наук, таких как физика, непоколебимы. И это конечно же верно, однако есть явления, которые начинают вызывать сомнения в стойкости этих законов или, по крайней мере, в том, что мы знаем их все. Ученые из Центра им. Гельмгольца Дрезден-Россендорф (Германия) обнаружили, что размещение зеленого кристалла атакамита, который можно найти в чилийской пустыне Атакама, в магнитное поле вызывает резкое и внушительное падение его температуры. Что именно происходит во время такого нестандартного охлаждения, какую роль в этом играет структура кристалла, и как полученные знания могут быть применены на практике? Ответы на эти вопросы мы найдем в докладе ученых.

Читать далее

Как заставить вашу базу данных летать, а не ползать. Часть 3 – ещё три способа шардирования

Level of difficultyMedium
Reading time9 min
Views6K

Всем привет! И снова с вами Илья Криволапов – системный аналитик в SENSE, где мы вместе с командой трудимся над проектом одного из цветных банков РФ. Напоминаю, что в профессии я уже больше пяти лет и, несмотря на фамилию, прод все еще живой и здоровый (ну почти)!

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

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

Материал будет полезен всем, кто проектирует, масштабирует или просто поддерживает «здоровье» базы данных: DBA, архитекторам, DevOps-инженерам, аналитикам и разработчикам.

Финальный рывок – поехали!

Читать далее

Как вызывать C++ из Python

Reading time5 min
Views6K

Сравнение PyBind11 vs ctypes

В принципе, можно вызывать C++ из Python двумя способами: при помощи библиотеки PyBind11 для C++, которая готовит модуль Python, либо при помощи пакета cytpes для Python, который предоставляет доступ к скомпилированной разделяемой библиотеке. Работая с PyBind11, не составляет труда совместно использовать множество типов данных, в то время как ctypes — это гораздо более низкоуровневое решение в стиле C.

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

К счастью, вызывать C++ из Python не так сложно, как может показаться на первый взгляд. Таким образом, можно в какой-то степени позаимствовать интерактивность Python при разработке кода C++.

Читать далее

Просветление через Код: Суть Django Revolution

Level of difficultyMedium
Reading time4 min
Views1.6K

Django Revolution — это не просто инструмент, это философия. Философия, где рутина уступает место творчеству, а баги растворяются в чистоте кода. Это путь к просветлению в разработке API. Примите его, и ваш код будет сиять, а дух разработчика — парить.

Наш мир, сотканный из битов и фантомных сущностей, породил нового Джинна, способного исполнять самые заветные желания Разработчика. Встречайте: Django Revolution – не просто библиотека, а откровение, мантра, ключ к вратам истинного дзен в мире Django API.

Читать далее

Август 2009. Катастрофа в Саянах

Reading time23 min
Views5.4K

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

Читать далее

Я написал свой VPN-клиент для Android. Зачем, если их сотни, и что скрывается под капотом?

Level of difficultyMedium
Reading time22 min
Views48K

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

Эта статья — мой личный "бортовой журнал". Я не претендую на создание самого безопасного решения, это скорее история о пути, граблях и открытиях для тех, кто тоже решит заглянуть под капот VPN-технологий на Android.

Так родилась идея этого проекта — создать свой, пусть и простой, VPN-клиент. Это не попытка сделать коммерческий продукт, а скорее исследовательское погружение, мой личный "челлендж" и способ разложить всё по полочкам.

Заглянуть под капот

Как стать кем угодно: DIY маска с изменяющимися проекциями

Level of difficultyMedium
Reading time6 min
Views1.4K

Подробный гайд по созданию маски с проекциями, которая использует Raspberry Pi и мини-проектор для отображения изображений на лице. Мы пройдем все этапы — от 3D-печати деталей до настройки системы для воспроизведения видео, включая пайку и работу с электроникой. Этот проект подойдет для разработчиков, заинтересованных в создании встраиваемых систем и экспериментировании с носимой техникой.

Читать далее

72 рабочих часа в неделю, никаких пушей и «следующее действие»: формула на 100 млн ₽

Level of difficultyEasy
Reading time3 min
Views15K

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

Как сделать еще больше, как иметь больше энергии?

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

Читать далее

Мотивационные триггеры: 30 рекламных крючков, которые используют на вас

Level of difficultyEasy
Reading time6 min
Views1.4K

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

Прочитать и замотивироваться! Или нет...

Clipjacking: Взлом через копирование текста — тот же Clickjacking, но круче

Level of difficultyEasy
Reading time4 min
Views1.7K

Атака осуществляется через браузер, когда вы используете его для копирования кода со StackOverflow или ChatGPT. Я называю это clipjacking («перехват буфера обмена»), это как clickjacking, но круче. Расскажу о нескольких полезных техниках, которые могут пригодиться при создании Proof‑of‑Concept (PoC) для атак на клиентской стороне.

Читать далее
1
23 ...

Information

Rating
6,102-nd
Registered
Activity