Как стать автором
Обновить
2
0.1
Bronx @Bronx

Пользователь

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

Квантовая электродинамика в картинках

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров20K

Квантовая электродинамика (далее КЭД), любимое, но капризное дитя нерелятивистской квантовой механики и специальной теории относительности — весьма непростая физическая теория с зубодробительным математическим аппаратом. Но, в отличие от многих других сложных теорий, в её инструментарии есть одна небольшая и сравнительно обособленная часть, допускающая примитивную, но наглядную трактовку. Я имею в виду так называемые «диаграммы Фейнмана». Cегодня непросто написать статью по квантовой теории поля, не начертив нескольких таких диаграмм, а в некоторых работах они встречаются чаще, чем знаки элементарной арифметики. Как следует из названия, изобрёл эти диаграммы выдающийся американский физик Ричард Фейнман. Сделал он это в конце 1940-х годов для графического описания некоторых математических выражений, возникающих в КЭД. Сразу оговорюсь: разумеется, вычислять диаграммы Фейнмана, за исключением нескольких самых примитивных, очень непросто. За каждой из них стоит строго определённое математическое выражение, обычно весьма сложное. Но при этом у них есть замечательное свойство — они допускают простую качественную словесную интерпретацию и помогают понять некоторые основополагающие идеи, лежащие в основе современной квантовой теории. Идеи эти скорее непривычны, чем сложны и, как мне кажется, в них вполне может на базовом уровне разобраться даже успевающий школьник.

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

Читать далее
Всего голосов 55: ↑55 и ↓0+69
Комментарии41

Сложнейшая проблема компьютерных наук: центрирование

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров34K

Заявляю: «Мы, как цивилизация, разучились использовать центрирование». Ну то есть мы, конечно, знаем, как это делать — очень просто:

display: flex;
justify-content: center; /* Горизонтальное центрирование */
align-items: center; /* Вертикальное центрирование */

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

Ещё можно использовать сетку:

display: grid;
justify-items: center; /* Горизонтальное центрирование */
align-items: center; /* Вертикальное центрирование */

Также не спрашивайте, почему выражение justify-content стало justify-items.
Читать дальше →
Всего голосов 194: ↑189 и ↓5+227
Комментарии56

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

Уровень сложностиСредний
Время на прочтение46 мин
Количество просмотров241K

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

Вы, наверняка, помните отличный цикл статей на Хабре в прошлом году от пользователя MiraclePtr, который рассказывал о разных методах блокировок, о разных методах обхода блокировок, о разных клиентах и серверах для обходов блокировок, и о разных способах их настройки (раз, два, три, четыре, пять, шесть, семь, восемь, десять, десять, и вроде были еще другие), и можете спросить, а зачем еще одна? Есть две основные причины для этого.

Читать далее
Всего голосов 445: ↑437 и ↓8+489
Комментарии371

ESM. Выходим за рамки

Время на прочтение4 мин
Количество просмотров3.3K

Итак, работая над... ну не знаю... каким-нибудь замечательным генератором статики, вы, возможно, захотите импортировать в свой код зависимости напрямую из текстовых файлов, таких как: HTML, MD, CSS, SVG или JSON. Конечно, можно использовать бандлер с соответствующим лоадером. Но, допустим, ваш кодекс самурая велит вам - никаких лишних npm install xxx и промежуточных билдов! Только хардкор! Что делать? Выход есть.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии0

Обработка ошибок и C++

Время на прочтение8 мин
Количество просмотров30K

О чём тут не будет: напоминания базовых конструкций языка и основных моментов о том, как с ними работать; подробного разбора, как работают исключения (писали тут и тут); как грамотно спроектировать ваш класс/программу, чтобы не наломать дров в будущем с гарантией исключений (разве что совсем чуть-чуть, хотя я сам и не очень-то тук-тук).

О чём будет: разные способы обработки ошибок в C++, несколько советов от сообщества и немного заметок о различных жизненных (и не очень) ситуациях.

Обработать ошибки.
Всего голосов 20: ↑19 и ↓1+25
Комментарии20

Создание .NET библиотеки от А до Я

Уровень сложностиСредний
Время на прочтение32 мин
Количество просмотров18K

Думаете о создании .NET библиотеки, но не знаете, в какую сторону двигаться? Уже разрабатываете нечто подобное, но хочется открыть для себя что-то новое? Ищете варианты расширить автоматизацию? Не знаете, что делать с пользователями?

Надеюсь, данная статья поможет ответить на эти и другие вопросы. На примере своей библиотеки с открытым исходным кодом – DryWetMIDI – рассмотрим различные аспекты создания подобных проектов. И хотя речь будет идти про .NET/C#, уверен, многое применимо и к другим популярным платформам и языкам программирования.

Читать далее
Всего голосов 42: ↑41 и ↓1+51
Комментарии13

OpenConnect: недетектируемый VPN, который вам понравится

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров291K

Я уже написал здесь много статей на тему прокси-протоколов и прокси-клиентов, которые очень сложно детектировать и заблокировать, и которые используют пользователи в Китае, Иране, Ираке, Туркменистане, и теперь вот в России (мы здесь в отличной компании, правда?). Но довольно часто мне в комментариях писали, мол, это все отлично, но мне нужен именно VPN для целей именно VPN - доступа в частные локальные сети, либо для соединения клиентов между собой, и желательно так, чтобы его не заблокировали обезьяны с гранатой. Поэтому сегодня мы поговорим именно о VPN.

Классические OpenVPN, Wireguard и IPSec отметаем сразу - их уже давно умеют блокировать и блокировали не раз. Модифицированный Wireguard от проекта Amnezia под названием AmneziaWG — отличная задумка, но есть одно но...

Читать далее
Всего голосов 273: ↑272 и ↓1+323
Комментарии353

.NET 7 против российской криптографии. Часть 2. Штампы времени

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров8.5K

Практически неотъемлемой частью формирования электронной подписи стало формирование штампов времени (TS) на подпись. С их помощью обеспечивается доверенное подтверждение времени подписания документа. Со штампами времени в .NET 7 та же беда, что и с CMS-сообщениями - отсутствие нативной поддержки российских алгоритмов хэширования и электронной подписи на уровне фреймворка. Но, благо, старый добрый WinAPI и здесь поможет обойти проблему.

Читать далее
Всего голосов 8: ↑7 и ↓1+6
Комментарии8

Бардак в идеальном мире. Часть 1

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

Откуда берëтся динамический хаос в простейших механических системах? Как его изучать? А это настоящий хаос или просто что-то очень сложное?

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

Это пример небольшого исследования, доступного студентам младших курсов, поэтому я позволю себе привести некоторые подробности анализа, которые искушённому читателю могут показаться излишними. Моя задача показать, что даже очень простые системы могут быть очень интересными, красивыми и доступными для глубокого анализа. И, конечно же, это повод показать симпатичные картинки, как правило, фрактальные. Ведь все же любят фракталы, верно? Ну, поехали!

Читать далее
Всего голосов 153: ↑153 и ↓0+153
Комментарии60

Как мы ведём документацию рядом с кодом

Время на прочтение6 мин
Количество просмотров17K

В Альфа-Банке мы уже больше 5 лет ведём документацию рядом с кодом. Но она используется не для всех проектных документов. Дело в том, что документация у нас делится по слоям: фронт, миддл и бэкенд. Если с миддлом — слоем микросервисов — всё хорошо, то вот с переводом фронт- и бэк-документации в Bitbucket возникает трудность в необходимости хранения бинарников с примерами пользовательского интерфейса. 

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

Читать далее
Всего голосов 16: ↑14 и ↓2+12
Комментарии25

Новая документация Docsvision ч. 2 — Antora

Время на прочтение17 мин
Количество просмотров5K

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

В первой статье я рассказал, как мы выбирали SSG для создания новой документации и как нам пришлось конвертировать DITA сначала в HTML, а потом в AsciiDoc.

В этой статье я расскажу, как я начал работать с SSG Antora, как я настраивал UI и добавлял сквозной поиск по сайту.

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии2

Как выбрать свой Static Site Generator — Новая документация Docsvision ч.1

Время на прочтение17 мин
Количество просмотров4.3K

Привет всем читающим! Меня зовут Владимир, я - технический писатель в компании Docsvision. Я создаю документацию для нашей «Платформы по управлению процессами и данными для крупного бизнеса и госкомпаний». Это как СЭД, только лучше (C).

Я хочу поделиться историей о том, как мы пришли к новой документации и почему. Сначала я кратко расскажу, как устроена наша "старая" документация, а потом расскажу о том, как мы пришли к новой документации.

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

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии0

Почему работать с OAuth сложно даже сегодня?

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

OAuth — это стандартный протокол. Ведь так? И для OAuth 2.0 есть клиентские библиотеки практически на всех языках программирования, которые можно представить.

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

Если вам это удастся, то, пожалуйста, сообщите об этом нам — мы угостим вас изысканным ужином и послушаем, как у вас это получилось.
Читать дальше →
Всего голосов 50: ↑49 и ↓1+65
Комментарии16

Как работает ChatGPT: объясняем на простом русском эволюцию языковых моделей с T9 до чуда

Уровень сложностиПростой
Время на прочтение30 мин
Количество просмотров428K

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

Погнали →
Всего голосов 299: ↑292 и ↓7+343
Комментарии283

Каррирование и частичное применение на C++14

Время на прочтение10 мин
Количество просмотров14K

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

Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии18

Сверхлёгкие частицы размером с галактику

Время на прочтение41 мин
Количество просмотров37K

Расправившись со статьёй про «волны-убийцы», я ещё некоторое время по инерции запускал описанную там модель с различными начальными условиями. На каком-то этапе пришла мысль обобщить код на большие измерения и произвести расчёт для поля, заполненного случайными возмущениями. Результат крайне озадачил и увёл меня в совсем другое направление, заставив на несколько месяцев погрузиться в космологию и физику тёмной материи.
Читать дальше →
Всего голосов 108: ↑107 и ↓1+135
Комментарии34

Как и для чего эмигранты из России используют крипту за рубежом: разбираем самые популярные страны

Время на прочтение8 мин
Количество просмотров9.1K

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

Читать далее
Всего голосов 12: ↑10 и ↓2+8
Комментарии7

Почему вам не нужна версия для слабовидящих

Время на прочтение12 мин
Количество просмотров14K

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

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

Читать далее
Всего голосов 28: ↑27 и ↓1+33
Комментарии18

Source Generators в действии

Время на прочтение38 мин
Количество просмотров16K

C# 9 дал долгожданную возможность кодогенерации, интегрированную с компилятором. Тем, кто мечтал избавиться от тысяч строк шаблонного кода или попробовать метапрограммирование, стало проще это сделать.


Ранее Андрей Дятлов TessenR выступил на конференции DotNext с докладом «Source Generators в действии». А теперь, пока мы готовим следующий DotNext, сделали для Хабра текстовую расшифровку его доклада.



Что вообще такое эти Source Generators? Как их использовать? Как предоставить пользователю вашего генератора необходимую гибкость конфигурации и понятные сообщения о возникающих проблемах? Как разобраться, когда что-то пошло не так?


Ответы на все эти и другие вопросы — в тексте.

Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии7

TypeScript в деталях. Часть 2

Время на прочтение11 мин
Количество просмотров14K


Привет, друзья!


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


Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии0
1
23 ...

Информация

В рейтинге
2 910-й
Зарегистрирован
Активность