Global Feed

2026-09-16 23:59

Автор: Николай Павлин · «Павлин Шарит — ИТ вместе с Николаем Павлиным»


Поле status отвечает на вопрос, в каком состоянии находится заказ сейчас. Оно не объясняет, какие состояния были допустимы раньше, куда заказ может перейти дальше и что должно произойти при переходе.

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

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

Кому смотреть: Python-разработчикам, у которых правила изменения статуса сущности начали повторяться в разных частях приложения.

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

Read more →
0
2026-09-16 13:48

«Я был обожжён зноем жизни, я промок до нитки под ливнями жизни, и это пошло мне на пользу», — писал Генри Уодсворт Лонгфелло.

Есть жизненный опыт, который невозможно получить из книг.

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

Именно поэтому жизнь учит не только знаниями, но и обстоятельствами.

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

Испытания, понятно, это не то, что делает жизнь легче.

Но именно они могут сделать сильнее самого человека.

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

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

0
2026-09-15 17:38

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

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

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

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

Впервые опубликовано 5 июля 2024 года в Telegram-канале «КотЪ всея Руси».

0
2026-09-14 21:06

Автор: Ильяс Салихов (retailCRM) · PHP Russia 2019


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

Ильяс Салихов сравнивает PHP и Go на опыте retailCRM. На момент доклада систему обслуживали около тридцати сервисов: примерно 60% были написаны на PHP с Symfony, 30% — на Go. Автор не выбирает победителя, а показывает задачи, для которых в компании использовали каждый стек.

PHP выигрывал в насыщенных бизнес-приложениях. Symfony и Doctrine давали ORM, Unit of Work, миграции, формы и валидацию. Go выбирали для небольших API и сервисов с конкурентной обработкой, где были полезны goroutines, производительность и поставка одним бинарником.

Кому смотреть: тимлидам и backend-разработчикам, которые выбирают язык для нового сервиса внутри уже работающей системы.

Из этого можно взять в работу: сравнивать не только скорость runtime, но и список инфраструктурных и прикладных механизмов, которые команде придётся реализовать или сопровождать самостоятельно.

Read more →
0
2026-09-14 20:21

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

Но у денег есть ещё одно свойство, о котором говорят значительно реже: их архитектура.

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

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

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

Такие деньги называют account-based, то есть основанными на счетах.

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

Индустриальный мир вообще был миром больших организаций.

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

Поэтому вполне естественно, что и деньги приобрели похожую архитектуру.

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

Но устройство общества постепенно меняется.

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

Read more →
0
2026-09-13 06:08

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

Мудрый Лао-цзы учил: «Внешнее – это цветок дао, начало невежества. Поэтому великий человек берет существенное и оставляет ничтожное. Он берет плод и отбрасывает его цветок».

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

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

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

Так что не бойтесь менять свою точку зрения на различные ситуации и отказываться от негативного общения. И помните, что наяву или в виртуальном мире Кот всегда может стать вашим верным спутником и источником радости! 😺

Впервые опубликовано 5 июня 2024 года в Telegram-канале «КотЪ всея Руси».

0
2026-09-11 19:53

Автор: Дмитрий Емельянов (Altenar) · Видео с мероприятий {speach!}


В 39-минутном докладе Дмитрий Емельянов, тимлид группы разработки в Altenar, рассказывает об аварии, которая началась почти как анекдот: команда настраивала новый бэкап Kafka — и именно в этот момент потеряла Kafka. Но самое интересное случилось не во время аварии, а после, когда кластер уже удалось восстановить.

В системе Altenar некоторые топики были не просто транспортом между микросервисами, а единственным источником истины. При запуске сервисы перечитывали их, собирали состояние в памяти и затем продолжали работать с ним. Kafka реплицировалась между брокерами, а раз в сутки её файлы дополнительно копировали с одного диска на другой. Восстановление этих копий не проверяли: для этого пришлось бы останавливать stage, мешать работе QA и откладывать бизнес-фичи.

Когда Kafka исчезла, после восстановления из свежего бэкапа в ней не хватало части партиций. Копия двухдневной давности поднялась успешно: топики на месте, сервисы запускаются, объём данных выглядит правдоподобно. Казалось бы, инцидент закончен. На самом деле система только что раскололась во времени: база осталась в настоящем, а Kafka вернулась на два дня назад.

Кому смотреть: разработчикам и архитекторам, у которых Kafka хранит состояние системы, а рядом существуют базы, кэши или другие независимо восстанавливаемые хранилища.

Из этого можно взять в работу: проверять не только то, поднимается ли Kafka из копии, но и то, сможет ли после отката продолжить работу вся система. Особенно важно заранее понимать, как устранять рассинхронизацию между хранилищами, восстановленными на разные моменты времени.

Read more →
0
2026-09-11 18:45

«Тоска — самое бесплодное из всех человеческих переживаний».

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

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

💡 Если ты чувствуешь, что дни потускнели и хочется вернуть живость, присоединяйся к Сообществу Кота! Давай помогать друг другу вытаскивать себя из бесплодной тоски маленькими, но реальными шагами.

0
2026-09-10 21:35

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

И во многих случаях это действительно так. Однако у незавершённости есть одно довольно интересное свойство: то, что не получило окончательного ответа, продолжает в некотором смысле жить внутри нас.

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

Ответ иногда действительно заканчивает не только вопрос. Он заканчивает и размышление над ним.

Не торопиться с ответом

Особенно хорошо это видно в образовании. Можно сразу объяснить ученику правильное решение — и он просто его услышит. А можно оставить перед ним задачу, с которой придётся некоторое время пожить: попробовать один путь, ошибиться, отбросить его, найти другой.

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

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

Оставить место для продолжения

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

Пока работа не объявлена законченной, новая мысль ещё может найти в…

Read more →
0
2026-09-09 23:56

Автор: Александр Боргардт (duckstax) · Evrone Development


У питонистов есть простое правило: хочешь сделать быстро — пиши нативный код. Это действительно так, когда нативный код пишут опытные C/C++-разработчики. Но те, кто только начинает погружаться в эту область, часто обнаруживают что стало не быстрее, а медленнее. Боргардт объясняет почему — и как это исправить.

Реальный кейс: ML pipeline с видеопотоком, задача — поиск объектов в кадре в реальном времени. На каком-то этапе всё начало тормозить. Расследование привело не к проблеме в алгоритме, а к проблеме на границе Python–C++: неявные накладные расходы при вызове нативного кода из Python.

Кому смотреть: Python-разработчикам, которые пишут или планируют писать C++-расширения — и хотят понять, почему «просто вынести в C++» не всегда означает «стало быстрее».

Из этого можно взять в работу: если пишете C++-модуль для Python и работаете с большими массивами данных — изучите Buffer Protocol (PEP 3118). Это стандартный механизм zero-copy передачи данных между Python и нативным кодом, который поддерживают numpy, bytearray, bytes.

Read more →
0
2026-09-09 22:00

«Поэзия — это солнце, солнце с его тёмными пятнами и затмениями, освещающее весь мир», — писал Генри Уодсворт Лонгфелло.

Поэзия не делает мир светлее, просто закрывая глаза на его тёмные стороны.

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

В этом смысле сравнение Лонгфелло с солнцем удивительно точно. Свет ведь не уничтожает то, что обычно прячется в тени. Он делает это видимым.

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

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

Поэзия сохраняет эти переживания и передаёт их дальше — от одного поколения к другому.

У солнца есть пятна, с ним происходят затмения, но оно продолжает освещать мир. Так и поэзия: она не обещает человеку вечного света, зато помогает различать дорогу даже тогда, когда вокруг становится темно.

0
2026-09-08 23:32

Из Кошачьего архива — заметка о лаконичности: от спартанских ответов и чеховской краткости до простого кошачьего «мяу», которое часто говорит больше длинных речей.

Лаконичность — краткое и ясное выражение мыслей.

Корень слова произошёл от названия Лаконии — региона Древней Греции, в котором находится город Спарта. «…Если бы кто захотел сблизиться с самым никчемным из лаконцев, то на первый взгляд нашел бы его довольно слабым в речах», предупреждал философ Сократ, «но вдруг, в любом месте речи, метнет он, словно могучий стрелок, какое-нибудь точное изречение, краткое и сжатое, и собеседник кажется перед ним малым ребенком». Многие правители и военачальники убедились в правоте Сократа.

Например, сражение при Фермопилах было выиграно персидским царём Ксерксом, но моральная победа досталась спартанцам. Известен лаконичный ответ царя Леонида на требование Ксеркса сложить оружие в обмен на жизнь: «Приди и возьми».

Когда Филипп Македонский (отец Александра) подошёл к стенам Спарты, он направил спартанцам послание, в котором говорилось: «Я покорил всю Грецию, у меня самое лучшее в мире войско. Сдавайтесь, потому что если я захвачу Спарту силой, если я сломаю её ворота, если я пробью таранами её стены, то беспощадно уничтожу всё население и сравняю город с землёй!». На что спартанцы отправили самый короткий известный ответ: «Если».

На протяжении всей истории важность краткого и ёмкого изречения своих мыслей неоднократно подчёркивали разные мыслители. Например, А.П. Чехов учил своего брата: «старайся быть оригинальным и по возможности умным, но не бойся показаться глупым; нужно вольнодумство, а только тот вольнодумец, кто не боится писать глупостей. Не зализывай, не шлифуй, а будь неуклюж и дерзок. Краткость — сестра таланта».

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

В современном мире, переполненном множеством информации, зачастую малоценной и…

Read more →
0
2026-09-07 23:44

Автор: Даниил Коноваленко (Яндекс Go) · Python Channel · Moscow Python Conf++ 2021


Даниил Коноваленко — backend-разработчик в Яндекс Go. В подразделении несколько сотен микросервисов, треть из них написана на Python. Однажды во время дежурства пришёл алерт: один из сервисов занял 91% памяти. Открыв графики — всё выглядело нормально. Открыв на большем масштабе — характерный паттерн: память растёт линейно и никогда не возвращается. После перезапуска — то же самое. Это и есть утечка.

Доклад — детективная история с реальным production-кейсом. Три акта: как утечка выглядит и как её опознать, откуда они берутся в языке с GC, какие инструменты помогают найти и исправить.

Кому смотреть: backend-разработчикам на Python, которые деплоят сервисы в production и уверены что GC за них всё уберёт. После этого доклада — чуть менее уверены, зато знают что делать.

Из этого можно взять в работу: если у вашего сервиса есть метрика потребления памяти — посмотрите на неё на масштабе нескольких дней. Линейный рост без возврата после GC-цикла — сигнал для расследования, а не повод «накинуть памяти и посмотреть».

Read more →
0
2026-09-07 21:33

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

Клиентократия прежде всего отвечает на вопрос: для кого и ради чего нужна автономия? Ради создания ценности клиенту.

Lean отвечает на другой вопрос: как совершенствовать саму систему? Постоянно, с участием людей внутри процесса, которые видят то, чего не видно сверху.

А Кошачий подход — на третий вопрос: как управлять людьми, которым предоставлена широкая автономия?

Мягкие лапки — острые когти

Его базовый режим можно обозначить знакомой формулой: «мягкие лапки — острые когти».

По умолчанию действует режим 🐾. Человек получает широкое пространство самостоятельности: может самостоятельно выбирать способы работы, экспериментировать, спорить и ошибаться.

Большинство событий не должны менять этот режим:

🐾 → 🐾

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

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

🐾 → 🐅

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

После устранения исключительной ситуации необходимо обратное движение:

🐅 → 🐾

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

Отсюда одна из основных формул Кошачьего подхода: доверие — штатный режим работы системы; контроль — механизм обработки исключений.

А кто всё-таки прав?

Здесь легко впасть в другую крайность…

Read more →
0
2026-09-06 22:40

Из Кошачьего архива — короткая заметка о внутреннем компасе: прошлое объясняет, где мы оказались, но не оно определяет, куда мы пойдём дальше.

Наша жизнь — это не статичная точка, а путь. Как говорил американский врач, поэт и мыслитель Оливер Уэнделл Холмз: «В нашей жизни не столько важно положение, в котором мы находимся, сколько направление, в каком мы движемся».

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

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

Давайте зададим себе вопрос: куда направлен наш компас? Если направление выбрано правильно, со временем мы окажемся там, где хотим быть.

Впервые опубликовано 17 января 2025 года в Telegram-канале «КотЪ всея Руси».

0
2026-09-04 22:46

Автор: Асхат Уразбаев · Организованное программирование | Кирилл Мокевнин


Асхат Уразбаев — один из наиболее известных Agile-консультантов в России, основатель ScrumTrek, более двадцати лет внедрял Agile в крупнейших российских компаниях. В этом выпуске подкаста «Организованное программирование» (1:53:26) он говорит не о том, как «правильно внедрять Scrum», а о том, что произошло с Agile за двадцать лет — и куда это движение привело.

Центральный вопрос разговора: почему Scrum победил XP? Ответ неочевидный — не потому что лучше технически, а потому что церемонии, роли и сертификации проще продавать. XP требовал технической дисциплины: TDD, парного программирования, непрерывной интеграции. Scrum предлагал процесс, который мог вести не инженер, а специально нанятый Scrum Master. Это решило задачу менеджмента — и убило технические практики.

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

Из этого можно взять в работу: спросить себя — Continuous Delivery в вашей команде есть, или только спринты? По словам Уразбаева, именно отсутствие CD при наличии Scrum-церемоний — самый частый симптом того, что «Agile» внедрён, а ценностей нет.

Read more →
0
2026-09-04 21:45

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

Мы часто ищем внешние причины успеха. А стоит начать с простого вопроса: что я создаю вокруг себя? Кто рядом со мной? Какой путь я выбираю — путь усилия или путь жалоб?

И здесь важно не только идти, но и идти с теми, кто разделяет эти ценности.

Именно поэтому в Сообществе Кота мы держим ориентир не на хайп, а на глубину. Не на громкие слова, а на внутреннюю работу.

Если тебе это тоже близко — присоединяйся к нам.

0
2026-09-03 21:41

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

Проблема была в том, что этот эфир никак не удавалось поймать.

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

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

А Альберт Эйнштейн в 1905 году поступил гораздо радикальнее.

Если никакой эксперимент не позволяет определить движение относительно эфира, зачем он вообще нужен теории?

Эйнштейн просто выбросил его.

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

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

Отказ от старого эфира оказался невероятно плодотворным.

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

Хотя даже сам Эйнштейн так далеко в итоге не пошёл.

В…

Read more →
2
2026-09-02 22:45

Автор: Артём Малышев · Moscow Python Conf 2016


⚠️ Материал 2016 года, Django Channels 1.x. Концептуальный разбор «зачем это нужно» остаётся актуальным. Детали API и конкретные паттерны с тех пор существенно изменились (Channels 2.x переписал архитектуру Channel Layer). Сверяйтесь с актуальной документацией.


Классический Django построен на WSGI — стандарте, появившемся в 2003 году. Его базовый контракт прост: принять запрос, вернуть ответ. Никакой асинхронности, никаких долгоживущих соединений. Это сознательный дизайн для эпохи, когда веб состоял из страниц с новостями и гостевых книг.

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

Кому смотреть: Django-разработчикам, которым нужны WebSocket или long-polling, и которые хотят понять как Channels вписывается в Django-архитектуру — особенно где заканчивается синхронный Django и начинается async.

Из этого можно взять в работу: если добавляете real-time функциональность в Django-проект — поймите границу между синхронным Django (models, ORM, middleware) и async Channel Layer до того как начнёте писать код. Смешивать их без понимания этой границы — источник трудноуловимых проблем.

Read more →
0
2026-09-02 21:51

«Большинство людей ведут свою жизнь в тихом отчаянии».

Так писал Генри Дэвид Торо — и в этой фразе есть что-то такое… весьма неудобное. Подумайте — отчаяние не трагическое в театральном смысле, не громкое, не героическое. А именно тихое.

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

Тихое отчаяние страшно тем, что оно умеет становиться нормой.

Человек не падает внезапно. Он просто постепенно перестаёт подниматься. Не бунтует, не уходит, не меняет. Только немного гаснет — день за днём. И даже сам себе объясняет это зрелостью, реализмом, ответственностью, обстоятельствами.

Конечно, не всякая неудовлетворённость — знак, что надо всё немедленно разрушить. Жизнь вообще редко бывает простой, и у каждого есть обязанности, усталость, компромиссы.

Но есть важный вопрос: я сейчас терплю трудный участок своего пути — или я уже давно живу не свою жизнь?

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

И это уже не отчаяние.

Это первый признак того, что внутри ещё есть жизнь, которая хочет выбраться наружу.

0