Книжный куб
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре (no ads in channel)
Ko'proq ko'rsatish📈 Telegram kanali Книжный куб analitikasi
Книжный куб (@book_cube) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 14 405 obunachidan iborat bo'lib, Kitoblar toifasida 2 571-o'rinni va Rossiya mintaqasida 45 927-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 14 405 obunachiga ega bo‘ldi.
28 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni 184 ga, so‘nggi 24 soatda esa 5 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 18.52% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 9.91% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 2 668 marta ko‘riladi; birinchi sutkada odatda 1 428 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 20 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent engineering, native, devex, devops, leadership kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре (no ads in channel)”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 29 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Kitoblar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
Однажды муж, отец и успешный бизнесмен Виктор Волков остановил свой BMW 5-й серии возле трамвайной остановки, вышел из машины и сел на скамейку. Это событие привлекло внимание всего города и разрушило две счастливые семьи.На самом представлении ты попадаешь в небольшой зал, где восемь рядов сидений по 11 мест и сцена начинается прямо от первого ряда:) Сама сцена минималистична - есть наклоненный полукруг в центре диаметром в 3-4 метра с кубиком на нем и 4 отдельных кубика по краям, на которых могут сидеть артисты. Логично, что актеров как раз четверо - двое мужчин и двое женщин, которые играют семейные пары. Все остальные персонажи появляются в виде больших голов прямо внутри наклоненного круга, который оказывается экраном, на котором транслируются их мини-видео интервью в нужные моменты постановки. В общем, интерьер не отвлекает от игры актеров, которые показывают как может выглядеть остановка в жизни каждого человека и к каким последствиям она может привести. Эта постановка местами веселая, а местами грустная, подталкивает на размышления:) #Theater #SelfDevelopment #Culture
Я считаю, что родители должны учить детей получать радость от жизни и, самое главное, стремиться реализовать собственные мечты. Лучшее, что мы можем сделать, - это помочь им самим добиться цели. Я желаю своим детям, чтобы они нашли собственный путь в жизни и сумели реализовать свои мечты. И поскольку в этот момент меня не будет рядом с ними, я хочу, чтобы они ззапомнили мои слова: "Дети, не пытайтесь понять, кем я хотел вас увидеть. Я хочу, чтобы вы стали теми, кем сами захотите стать!"#SelfDevelopment #PublicSpeaking #Software
Два элемента считаются связанным в отношении некоторого изменения, если изменение одного элемента требует изменения другого элементаВ это определении важно не просто, что элементы связаны между собой, но и что эта связь существует относительно определенного изменения. Поэтому для анализа coupling недостаточно простого просмотра исходного кода - важно знать какие изменения уже произошли, а также какие возможны в будущем. В итоге, coupling повышает затраты на разработку, поэтому при очистке часто полезно понимать какие изменения приведут к его уменьшению. - Равенство Костантайна (Constantine’s equivalence) - интересная цепочка размышлений автора -- Где он начинает с того, что большую часть совокупной стоимости владения кодов составляет стоимость измений -> cost(software) ~= cost(change) -- Продолжает тем, что стоимость изменений имеет степенное распределение (power law distribution), а не нормальное, откуда следует, что стоимость больших изменений перевешивает нормальные события -> cost(change) ~= cost(big changes) -- А большие изменения обусловлены высоким coupling -> cost(big changes) ~= coupling Так получается равенство Константайна: cost(software) ~= cost(change) ~= cost(big changes) ~= coupling или проще говоря
cost(software) ~= couplingПоэтому все и хотят уменьшать coupling, но это требует компромиссов. - Зацепление и его уменьшение (coupling versus decoupling) - автор начинает с того, что "зацепление часто остается незаметным, пока на него не наступишь - совсем как кубик Лего в темной комнате". Но как появляется зацепление - есть несколько вариантов -- При реализации поведения мы выбрали путь с дополнительным зацеплением, учтя NPV решения (можно было сделать без него, но это было дольше и не ясно когда окупится) -- Изначально оно не создавало проблем (мы изначально не планировали делать изменения, которые теперь внезапно появились перед нами) -- Его было не избежать - в конце концов между нашими элементами системы должны быть отношения и взаимосвязи иначе это уже не система, а группа элементов:) Дальше мы должны принять решение - платить дальше за зацепление или заплатить за его уменьшение. Если построить график, то видно, что оба экстремальных решения приведут к чрезмерным затратам и нам нужно выбрать что-то посередине (как обычно где именно посередине остановиться надо искать эмпирически). - Связанность (cohesion) - здесь автор фактически говорит про кластеризацию элементов нашей системы. Условно сильносвязанные элементы должны попадать в свои кластера, а несвязанные элементы должны оказываться в разных кластерах. А вот coupling - это уже связи между этими кластерами. - Заключение (conclusion) - в последней главе автор рассказывает о том, как принимать решение по очистке
-- Затраты. Снизит ли уборка затраты на более позднее время или сделает их менее вероятными? -- Доход. Повысит ли уборка доход больше, быстрее или вероятнее? -- Coupling. Приведет ли уборка к тому, что мне придется менять меньше элементов? -- Cohesion. Сможет ли наведение порядка привести к тому, что элементы, которые мне нужно изменить, будут находиться в меньшем и более концентрированном объеме?И напоследок он приводит сравнение очистки, рефакторинга и эволюции архитектуры, где меняется масштаб изменений, стейкхолдеры, причины и способы осуществления каждого из подходов. Плюс это только первая книга из серии, поэтому ждем следующую. P.S. В конце автор рекомендует кучу книг, из которых я читал всего несколько - "A philosophy of software Design" - "The Design of Everyday Things" #Architecture #Software #SystemDesign #Management #Leadership #SoftwareArchitecture
- Что такое программный дизайн? - Как дизайн влияет на разработку и эксплуатацию софта и наоборот? - Стоит ли вкладываться в проработку струтктуры софта и к чем это приведет? - Каакие принципы (экономические и гуманитарные) можно использовать для принятия решений о изменении структуры софта?И вот что я вынес из этой части - Взаимовыгодные отношения между элементами (benecially relating elements) - собственно, это и есть определение программного дизайна от автора, которое лаконично и интересно. По-факту, в определении приведены основные части: элементы, отношения и взаимная выгода между ними. А дизайнеры - это те, кто как раз обеспечивают то, чтобы отношения были взаимовыгодными. - Структура и поведение (structure and behavior) - ценность кода в том, что он умеет делать уже сейчас (поведение), а также в том, что он сможет делать завтра (структура). Поведение можно характеризовать двумя способами: парами вход/выход и инвариантами, которые сохраняются во время изменений системы. Структура не влияет напрямую на поведение, но она влияет на варианты развития событий - насколько нам просто будет дорабатывать систему тем или иным способом. Изменения в поведении видны сразу, а вот изменения в структуре замерить сложно, поэтому их часто откладывают. - Экономика: ценность во времени и вариативность (economics: time value and optionality) - автор рассказывает про природу денег: -- Доллар сегодня стоит больше доллара завтра, поэтому зарабатывать надо раньше - тут можно посмотреть в сторону дисконтированных денежных потоков и NPV -- В ситуации хаоса лучше вариативность, чем однозначность, поэтому перед лицом неопределенность создавайте варианты В итоге, задачей дизайн автор видит согласование императивов "зарабатывать раньше/тратить позже" (поведение) и "создаавать вариативность, а не однозначность" (структура). - Доллар сегодня стоит больше, чем доллар завтра (a dollar today > a dollar tomorrow) - рассказ про пальцах про дисконтирование денежных потоков - Вариативность (options) - рассказ про "дилемму Златовласки", где у нас не должно быть слишком много дизайна или очень рано, но и не должно быть слишком мало дизайна или слишком поздно. Дальше вступает в дело концепция опционов, когда мы платим деньги сейчас за возможность купить что-то в будущем. В итоге, проектирование, которым мы знимаемся сегодня, - это "опционная премия", которую мы платим, "покупая" изменения поведения программы в будущем. - Опционы и денежные потоки (options versus cash flows) - здесь автор объясняет как принимать решения об очистке (tidying) с учетом наших знаний ою опционах. Одновременно звучит тезис о том, что программный дизайн - это про налаживание отношений с людьми, а очистка - это про отношения с самим собой:) Считать всю экономику для очистки часто бывает затратно, но принимая решения о ней мы тренируем -- Привычку читывать факторы, влияющие на время и область действия дизайна -- Навыки выстраивать взаимоотношения с людьми - Обратимые изменения структуры (reversible structure changes) - структурные изменения обычно обратимы, а вот изменения в поведении приводят к сайд-эффектам, которые мы не всегда можем откатить (условно, рассылка не тех сообщений не тем людям). В итоге, надо работать с разной степенью тщательности с обратимыми и необратимыми изменениями (это сходно с концепцией one-way door и two-way door decisions как это описывал Джефф Безос) В следующем посте я расскажу про оставшиеся части теории и про литературу, что советует изучать автор. #Architecture #Software #SystemDesign #Management #Leadership #SoftwareArchitecture
Hyperscale is the ability of an architecture to scale appropriately as increased demand is added to the system.Сам автор работал в компании Netflix и был изначально в traffic team, которая отвечала за то, чтобы Netflix работал для пользователей. А в комплексных системах возникает такой уровень сложности, который не помещается ни в одну голову. Для того, чтобы бороться с этой сложностью в Netflix придумали Chaos Monkey, который рандомно отключает машинки с частями системы. Это помогает инженерам искать системные недостатки и принимать решения для повышения надежности системы. Дальше автор приводит конкретный пример с двумя микросервисами, один из которых stateful и хранит данные в persistent DB, а также у него есть кеш в Redis. А дальше что-то идет не так со stateful сервисом и вся система деградирует:) Суть примера в том, что в комплексных системах возможны пробелмы, несмотря на то, что все компоненты соответствуют спецификациям. Автор говорит про 4 модели, что помогают гиперскейлерам бороться со сложностью: - Observability (not metrics) - обеспечение наблюдаемости системы, просто метрик для этого не достаточно - DevUX (platfoorm engineering) - создание платформенных команд, что делают dev2dev продукты, что снижают когнитивную сложность (можно почитать мой разбор "State of Platform Engineering Report 2023 от Puppet") - Experimentation over testing - экспериментирование, а не тестирование. Суть в том, что эксперименты помогают узнать что-то новое о системе, а тестирование - это проверка того, что система соответствует нашим ожиданиям - Low bureaucracy - низкий уровень бюрократии, где у инженеров достаточно полномочий на то, чтобы делать свою работу без кучи согласований Автор рассказывает про 4 экономических столпа комлексности - States - ограничение количества состояний системы. Например, Ford Model T, где потребитель мог купить машину любого цвета, если этот цвет черный:) Но сейчас это ушло в прошлое и мы ценим вариативность и персонализацию продуктов под конкретного клиента - Relationships - здесь у нас тоже все идет по нарастающей - добавляются новые связи, новые уровни абстракции, динамическое поведение систем становится все сложнее - Environment - окружающая среда тоже не отличается предсказуемостью и мало кто из компаний может на нее как-то значимо повлиять в свою пользу (если вы не Amazon или Google) - Reversability - а вот тут разработка софта сильно выделяется на общем фоне. Мы можем выбрать для себя фокус на этом и получить возможность откатывать изменения. Тут нам в помощь CI/CD, a/b тестирование гипотез, ... Но для того, чтобы это все работало нам требуется observability. И автор рассказывает про подходы: observability 1.0 и observability 2.0, где observability 1.0 это • Metrics (метрики) • Unstructured logs (неструктурированные логи) • Structure logs (структурированные логи) Недостатком observability 1.0 является убывающая полезность и нарастающие затраты на создание и хранение логов и метрик. Суть в том, что по мере роста системы, добавления компонентов, инцидентов, логов будет становиться все больше и сложно будет искать в них нужную информацию, а также это все будет занимать все больше места. В качестве ответа автор говорит про observability 2.0, который обладает следующими возможностями: - Это подход с high cardinality / high dimenions и в одном месте, который является единым источником истины - Из этого хранилища можно получать показатели, логи, структурированные и неструктурированные данные - А кроме того, это не уменьшает эффективность разработчиков, а скорее увеличивает за счет использования одного решения У нас в Tinkoff таким единым источником истины является Sage, наша obserbility платформа, которая является стандартом де-факто для всех в компании. #Devops #PlatformEngineering #Management #SoftwareDevelopment #Software #SRE
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
