Архив за 2023

Справедливость - 03 - Либертарианство

Справедливость - 03 - Либертарианство

Данные лекции на тему “Справедливость” охватывают мою любимую тему - Либертарианство. Если мне нужно определить свои политические взгляды одним словом, это было бы Либертарианство. ОДНАКО, когда я разговариваю со своими либертарианскими знакомыми, я могу назвать себя “сторонником государств”. ;-) Для меня очень понятно, почему либертарианство не так популярно: большинство людей, которые его пропагандируют, являются фанатиками они пытаются видеть мир в “черно-белых” тонах и закрывают глаза на фундаментальные проблемы. Фундаментальные проблемы включают:
Справедливость - 02 - Утилитаризм

Справедливость - 02 - Утилитаризм

Я продолжаю обзор лекций о справедливости и делюсь своими интеллект-картами. На этот раз я делюсь своей интеллект-картой с лекций об Утилитаризме. Скачать полную интеллект-карту (PDF) Резюме лекций: Лекция 3: Утилитаризм - Джереми Бентам В этой лекции докладчик обсуждает версию утилитаризма Джереми Бентама, которая направлена на максимизацию общего благосостояния за счет балансировки удовольствия и страдания, и применение утилитаризма в анализе затрат и выгод, используемом компаниями и правительствами. Лекция рассматривает пример исследования Philip Morris о курении в Чешской Республике, которое показало чистый прирост государственных финансов на 147 миллионов долларов.
Справедливость - 01 - Моральная сторона убийства

Справедливость - 01 - Моральная сторона убийства

Я начал повторение курса Справедливость профессора Майкла Дж. Сэндэла из Гарварда. Этот курс о философии и обсуждает: что хорошо, а что плохо, и как эти идеи эволюционировали со временем. Курс особенно важен в сегодняшнем мире, когда ИИ скоро будет принимать решения о том, КТО ДОЛЖЕН ЖИТЬ, А КТО ДОЛЖЕН УМЕРЕТЬ (мне, как ИТ специалисту, интересны шаблоны попадания в первую категорию, как вы догадываетесь ;-). Первые два занятия сосредоточены на моральных последствиях убийства:
Делай как в Google - Глава 1 - Что такое Программная Инженерия

Делай как в Google - Глава 1 - Что такое Программная Инженерия

Наш клуб книг по IT начал чтение новой книги - об Инженерии Программного Обеспечения в Google - процессах, культуре и инструментах, которые помогают Google создавать и поддерживать высококачественное программное обеспечение. Первая глава посвящена Инженерии Программного Обеспечения в общем: Что такое Инженерия Программного Обеспечения по сравнению с Разработкой программного обеспечения? Три принципа, которые учитывает Google: Время и изменение Масштаб и рост Компромиссы и затраты Как эти три принципа применяются к Инженерии Программного Обеспечения и в чем она отличается от Разработки программного обеспечения.
System Design. Подготовка к сложному интервью - Глава 8 - Проектирование системы для сокращения URL адресов

System Design. Подготовка к сложному интервью - Глава 8 - Проектирование системы для сокращения URL адресов

Переводы: EN
Ранее описанные технологии, такие как согласованное хеширование, генератор ID позволяют разработать сокращатель URL, который способен генерировать 100 миллионов URL в день. Проектирование включает в себя следующие элементы: конечные точки API перенаправление URL сокращение URL модель данных хеш-функции: хеширование + разрешение коллизий VS преобразования в base-62 а также такие вопросы, как: ограничитель частоты масштабирование веб-сервера масштабирование базы данных аналитика доступность, согласованность и надежность Эти пункты раскрыты в очень интересной главе 8 книги:
System Design. Подготовка к сложному интервью - Глава 7 - Проектирование генератора уникальных идентификаторов в распределенных системах

System Design. Подготовка к сложному интервью - Глава 7 - Проектирование генератора уникальных идентификаторов в распределенных системах

Переводы: EN
Генерация уникального идентификатора кажется простой задачей, но не в высоконагруженных распределенных системах! Эта тема состоит из: Понимание требований и почему это сложная задача Возможные решения: Репликация с несколькими мастерами Универсальный уникальный идентификатор (UUID) Сервер билетов Подход Twitter SNOWFLAKE (похоже, что он наилучший!) Подробности: Штамп времени Номер последовательности Другие вопросы Синхронизация часов Настройка длины секции Высокая доступность Эти пункты раскрыты в очень интересной главе 7 книги:
System Design. Подготовка к сложному интервью - Глава 6 - Проектирование хранилища типа Ключ-Значение

System Design. Подготовка к сложному интервью - Глава 6 - Проектирование хранилища типа Ключ-Значение

Переводы: EN
Дизайн хранилища типа Ключ-Значене состоит из понимания следующих тем: Что мы хотим от хранилища Ключ-Значение? Односерверное хранилище Ключ-Значение РАСПРЕДЕЛЕННОЕ хранилище Ключ-Значение: Теорема CAP Реальные компромиссы для распределенных систем Системные компоненты: Партиционирование данных Репликация данных Консистентность Разрешение неконсистентности: Версии Обработка всех типов сбоев: Обнаружение сбоев, Обработка ВРЕМЕННЫХ сбоев, Обработка ПОСТОЯННЫХ сбоев, Устранение сбоев в работе центра обработки данных Схема архитектуры системы Путь записи Путь чтения Эти пункты раскрыты в очень интересной главе 6 книги:
System Design. Подготовка к сложному интервью - Глава 5 - Консистентное хэширование

System Design. Подготовка к сложному интервью - Глава 5 - Консистентное хэширование

Переводы: EN
Консистентное хеширование является краеугольной технологией для распределенных систем. Многие разработчики программного обеспечения этого не осознают, но консистентное хеширование необходимо во многих местах: балансировщики нагрузки, кэши, CDN, генераторы id, базы данных, чаты/социальные сети и многие другие системы. Эта тема состоит из: Проблема с перехешированием и почему нам нужно, чтобы хеширование было ПОСЛЕДОВАТЕЛЬНЫМ Хэш-пространство и хэш-кольцо БАЗОВЫЙ подход (введенный Каргером и др. в MIT) Расширенный подход с ВИРТУАЛЬНЫМИ УЗЛАМИ Эти моменты раскрыты в очень интересной главе 5 книги: