Перечитал на днях книгу от Apigee (часть Google Cloud) про дизайн Web Api "Web API Design: The Missing Link". Книга отличная: короткая, понятная и с четким набором action items относительно того, как вам сделать свой API великим опять:) Мне показалось интересным скомпоновать свои заметки в небольшую статью, представленную в статье - https://apolomodov.medium.com/review-web-api-design-9ce14661dbcf
#Software #Architecture #API #ExternalReview #DistributedSystems
#Software #Architecture #API #ExternalReview #DistributedSystems
👍12
Programming the Universe: A Quantum Computer Scientist Takes on the Cosmos (Программируя вселенную. Квантовый компьютер и будущее науки)
Сегодня я решил вспомнить про книгу Сета Ллойда "Программируя вселенную. Квантовый компьютер и будущее науки".
В этой книге совмещаются мои интересы в области разработки и чтения научно-популярной литературы:) Кроме того, конкретно эта книга навевает мне воспоминания про обучение теорфизу в МФТИ 15 лет назад:) А теперь перейдем к самой книге. В ней автор задает тон с вступления, где он предлагает воспринимать Вселенную в терминах обработки информации.
- В первой главе, которая является введением автор рассказывает про революцию в обработке информации и когда и как появилась идея квантового компьютера.
- Во второй главе автор рассказывает про концепцию вычислений: информацию, компьютер, логические схемы и невычислимость.
- В третьей главе автор излагает концепцию вычислительной вселенной, которая "в сущности, является гигантским компьютером, в котором каждый атом и каждая элементарная частица содержат биты информации, и каждый раз, когда два атома или две частицы сталкиваются, эти биты меняют свои значения. Вычислительная природа Вселенной дает начало ее запутанности и сложности: все что может быть вычислено ... существует где-то во Вселенной"
- В четвертой главе автор рассматривает вопрос информации и физических систем, начиная со статистической физики и дальше.
- Собственно в пятой главе рассматривается квантовая механика, начиная с двухщелевого эксперимента, продолжая котом Шредингера и заканчивая многомировой интерпретацией декогерентных историй.
- В шестой главе "Атомы за работой" автор рассказывает как можно сделать квантовый бит - кубит, используя ядерный спин и фотон.
- В седьмой главе автор рассказывает про универсальный компьютер и моделирование вселенной, а также про ее вычислительную мощность. В конце главы автор рассказывает про модель квантовых вычислений и квантовой гравитации.
- Восьмая глава "Упрощая сложность" мне очень нравится, т.к. она является самой концептуальной, в которой автор рассматривает разнообразные концепции сложности, которые он разбивает на 4 типа:
1) насколько сложно что-то описать (например, алгоритмическая информация)
2) насколько сложно что-то сделать (например, вычислительная сложность)
3) меры степени организации в системе
4) неколичественные идеи о сложности (такие как самоорганизация или адаптивные системы)
Дальше автор вводит понятие эффективной сложности, которое эквивалентно информации, необходимой для описания регулярности системы. Забавно, что дальше автор вспоминает про принцип KISS (Keep It Simple Stupid). А дальше исходя из понятия эффективной сложности автор объясняет почему Вселенная сложна.
В общем, мне книга понравилась как с философской точки зрения, так и некоторой практической информацией относительно квантовых компьютеров, феерический приход которых нам обещают уже некоторое время:)
#PopularScience #Physics #Software
Сегодня я решил вспомнить про книгу Сета Ллойда "Программируя вселенную. Квантовый компьютер и будущее науки".
В этой книге совмещаются мои интересы в области разработки и чтения научно-популярной литературы:) Кроме того, конкретно эта книга навевает мне воспоминания про обучение теорфизу в МФТИ 15 лет назад:) А теперь перейдем к самой книге. В ней автор задает тон с вступления, где он предлагает воспринимать Вселенную в терминах обработки информации.
- В первой главе, которая является введением автор рассказывает про революцию в обработке информации и когда и как появилась идея квантового компьютера.
- Во второй главе автор рассказывает про концепцию вычислений: информацию, компьютер, логические схемы и невычислимость.
- В третьей главе автор излагает концепцию вычислительной вселенной, которая "в сущности, является гигантским компьютером, в котором каждый атом и каждая элементарная частица содержат биты информации, и каждый раз, когда два атома или две частицы сталкиваются, эти биты меняют свои значения. Вычислительная природа Вселенной дает начало ее запутанности и сложности: все что может быть вычислено ... существует где-то во Вселенной"
- В четвертой главе автор рассматривает вопрос информации и физических систем, начиная со статистической физики и дальше.
- Собственно в пятой главе рассматривается квантовая механика, начиная с двухщелевого эксперимента, продолжая котом Шредингера и заканчивая многомировой интерпретацией декогерентных историй.
- В шестой главе "Атомы за работой" автор рассказывает как можно сделать квантовый бит - кубит, используя ядерный спин и фотон.
- В седьмой главе автор рассказывает про универсальный компьютер и моделирование вселенной, а также про ее вычислительную мощность. В конце главы автор рассказывает про модель квантовых вычислений и квантовой гравитации.
- Восьмая глава "Упрощая сложность" мне очень нравится, т.к. она является самой концептуальной, в которой автор рассматривает разнообразные концепции сложности, которые он разбивает на 4 типа:
1) насколько сложно что-то описать (например, алгоритмическая информация)
2) насколько сложно что-то сделать (например, вычислительная сложность)
3) меры степени организации в системе
4) неколичественные идеи о сложности (такие как самоорганизация или адаптивные системы)
Дальше автор вводит понятие эффективной сложности, которое эквивалентно информации, необходимой для описания регулярности системы. Забавно, что дальше автор вспоминает про принцип KISS (Keep It Simple Stupid). А дальше исходя из понятия эффективной сложности автор объясняет почему Вселенная сложна.
В общем, мне книга понравилась как с философской точки зрения, так и некоторой практической информацией относительно квантовых компьютеров, феерический приход которых нам обещают уже некоторое время:)
#PopularScience #Physics #Software
👏5
Computer Science Distilled: Learn the Art of Solving Computational Problems (Теоретический минимум по Computer Science) (Рубрика #Software)
Раньше я уже рассказывал про книжку "Как объяснить ребенку информатику", которая была отлично переведена издательством МИФ и классно попадала не только в целевую аудиторию (детей), но и подходило для более старшего поколения, которое заинтересовалось IT. А сегодня я решил вспомнить про хорошую книгу для начинающих "Computer Science Distilled. Learn the art of solving computational problem". Правда, маркетологи издательства Питер решили сделать русское название более продающим и назвали переведенную книгу "Теоретический минимум по Computer Science. Всё, что нужно программисту и разработчику".
Если оценивать содержание книги в соответствии с оригинальным названием, то все ок.
Автор, Владстон Феррейра Фило, рассказывает на пальцах про:
- основы (моделирование, логику, комбинаторику, вероятности)
- вычислительную сложность
- стратегии в работе с алгоритмами
- данные (абстрактные типы данных, общие абстракции, структуры)
- алгоритмы (сортировка, поиск, графы)
- базы данных (sql, nosql, распределенная модель)
- компьютеры (архитектура, компиляторы, память)
- программирование (лингвистика, переменные, парадигмы)
В общем, автор потрудился и сделал книжку, которую можно давать шестилетке из детского сада или ребенку постарше, например, семилетке из первого класса школы:) Но маркетологи, придумывающие названия, решили хайпануть на популярности темы "входа в it" и добавили в название "Всё, что нужно программисту и разработчику". Но это приблизительно то же самое, что на букваре дописать "Всё, что нужно писателю и поэту"...
Итого: книга - 🔥 для начинающих, а издательство Питер - манипуляторы:)
#Software #ForBeginners #PopularScience
Раньше я уже рассказывал про книжку "Как объяснить ребенку информатику", которая была отлично переведена издательством МИФ и классно попадала не только в целевую аудиторию (детей), но и подходило для более старшего поколения, которое заинтересовалось IT. А сегодня я решил вспомнить про хорошую книгу для начинающих "Computer Science Distilled. Learn the art of solving computational problem". Правда, маркетологи издательства Питер решили сделать русское название более продающим и назвали переведенную книгу "Теоретический минимум по Computer Science. Всё, что нужно программисту и разработчику".
Если оценивать содержание книги в соответствии с оригинальным названием, то все ок.
Автор, Владстон Феррейра Фило, рассказывает на пальцах про:
- основы (моделирование, логику, комбинаторику, вероятности)
- вычислительную сложность
- стратегии в работе с алгоритмами
- данные (абстрактные типы данных, общие абстракции, структуры)
- алгоритмы (сортировка, поиск, графы)
- базы данных (sql, nosql, распределенная модель)
- компьютеры (архитектура, компиляторы, память)
- программирование (лингвистика, переменные, парадигмы)
В общем, автор потрудился и сделал книжку, которую можно давать шестилетке из детского сада или ребенку постарше, например, семилетке из первого класса школы:) Но маркетологи, придумывающие названия, решили хайпануть на популярности темы "входа в it" и добавили в название "Всё, что нужно программисту и разработчику". Но это приблизительно то же самое, что на букваре дописать "Всё, что нужно писателю и поэту"...
Итого: книга - 🔥 для начинающих, а издательство Питер - манипуляторы:)
#Software #ForBeginners #PopularScience
👍6🔥3❤1
Книга "Рождение сложности. Эволюционная биология сегодня" Александра Маркова превзошла мои ожидания. Я думал прочесть что-то навроде научно-популярной литературы из серии NewScience, а получил очень глубокую и интересную книгу, в которой действительно интересный сюжет сопровождался там где нужно погружением в детали из химии, биологии или палеонтологии. Книга содержит вдохновляющее предисловие, 9 захватывающих глав, составленных из небольших эссе, связанных одной идеей и заключение, заканчивающееся фразой "это может стать поводом для продолжения разговора"
Название главх книги выстраиваются в стройное повествование
1. Происхождение жизни
2. Планета микробов
3. Великий симбиоз
4. Рождение сложности
5. Животные
6. Направленность эволюции
7. Управляемые мутации
8. Наследуются ли приобретенные признаки
9. На подступах к неведомому
В общем, горячо рекомендую книгу к ознакомлению. Если бы мне так преподавали биологию в школе, то она могла бы войти в список моих любимых предметов
#PopularScience #Biology #Evolution
Название главх книги выстраиваются в стройное повествование
1. Происхождение жизни
2. Планета микробов
3. Великий симбиоз
4. Рождение сложности
5. Животные
6. Направленность эволюции
7. Управляемые мутации
8. Наследуются ли приобретенные признаки
9. На подступах к неведомому
В общем, горячо рекомендую книгу к ознакомлению. Если бы мне так преподавали биологию в школе, то она могла бы войти в список моих любимых предметов
#PopularScience #Biology #Evolution
🔥6👏3
Вчера я дописал статью, в которой рассказываю о том, как у меня в комадах разработки был выстроен привычный уже всем процесс performance review:)
Я принес его в свои команды порядка 5 лет назад, но тогда я еще не вел Medium или tg, поэтому поделиться им было негде. Интересно, что тогда этот процесс еще не был принят у нас во всей компании. А мне он был нужен для повышения эффективности моих команд, а также для мотивации и объяснения моим разработчикам того, как они могут расти у нас в компании. Интересно, что около трех лет назад я рассказывал на конференции как у меня в привлечении Tinkoff была выстроена часть с наймом и мотивацией сотрудников, где я достаточно подробно рассказывал про performance review как часть этих процессов. В статье я привел ссылку на видеозапись и сделал текстовую расшифровку части про review.
https://apolomodov.medium.com/performance-review-basics-20793141f4c5
#Software #Management #Performance #Processes
Я принес его в свои команды порядка 5 лет назад, но тогда я еще не вел Medium или tg, поэтому поделиться им было негде. Интересно, что тогда этот процесс еще не был принят у нас во всей компании. А мне он был нужен для повышения эффективности моих команд, а также для мотивации и объяснения моим разработчикам того, как они могут расти у нас в компании. Интересно, что около трех лет назад я рассказывал на конференции как у меня в привлечении Tinkoff была выстроена часть с наймом и мотивацией сотрудников, где я достаточно подробно рассказывал про performance review как часть этих процессов. В статье я привел ссылку на видеозапись и сделал текстовую расшифровку части про review.
https://apolomodov.medium.com/performance-review-basics-20793141f4c5
#Software #Management #Performance #Processes
Medium
Про performance review в командах разработки
В этой статье я решил рассказать о том, как у меня был выстроен привычный уже всем процесс performance review:) Я принес его в свои команды…
👍4
Kubernetes Patterns (Рубрика #Architecture)
В последнее время я читаю много информации про Kubernetes для прохождения повторной сертификации.
Среди читаемого есть как мануалы с официального сайта, так и интересные книги с платформы O'Reilly и даже playbook'и от katacoda.com.
Но сегодня я решил всвпомнить про книгу "Kubernetes Patterns", которая не так полезна в сертификации, как в понимании того, какие абстракции дает K8s разработчикам в построеннии их сервисов.
По структуре книга напоминает классическую книгу “Design Patterns” банды четырех, которая содержала creational, structural и behavioral паттерны. Но у нас здесь 5 категорий паттернов:
- Foundation patterns - базовые блоки k8s, на основе которых строится все остальное
- Behavioral patterns - поведенческие паттерны, которые позволяют добиться желаемого поведения, например, запуска периодических job или приложения синглтона
- Structural patterns - структурные паттерны, которые показывают как можно расширить функционал основного контейнера добавив другие контейнеры в pod
- Configuration patterns - конфигурационные паттерны, которые позволяют эффективнее управлять конфигурацией ваших приложений
- Advanced patterns - продвинутые паттерны, которые раскрывают темы того, как работает сам k8s и как его можно расширять
Подробнее можно почитать в статье в моем блоге
#Software #Infrastructure #Kubernetes #Patterns #Architecture #DistributedSystems
В последнее время я читаю много информации про Kubernetes для прохождения повторной сертификации.
Среди читаемого есть как мануалы с официального сайта, так и интересные книги с платформы O'Reilly и даже playbook'и от katacoda.com.
Но сегодня я решил всвпомнить про книгу "Kubernetes Patterns", которая не так полезна в сертификации, как в понимании того, какие абстракции дает K8s разработчикам в построеннии их сервисов.
По структуре книга напоминает классическую книгу “Design Patterns” банды четырех, которая содержала creational, structural и behavioral паттерны. Но у нас здесь 5 категорий паттернов:
- Foundation patterns - базовые блоки k8s, на основе которых строится все остальное
- Behavioral patterns - поведенческие паттерны, которые позволяют добиться желаемого поведения, например, запуска периодических job или приложения синглтона
- Structural patterns - структурные паттерны, которые показывают как можно расширить функционал основного контейнера добавив другие контейнеры в pod
- Configuration patterns - конфигурационные паттерны, которые позволяют эффективнее управлять конфигурацией ваших приложений
- Advanced patterns - продвинутые паттерны, которые раскрывают темы того, как работает сам k8s и как его можно расширять
Подробнее можно почитать в статье в моем блоге
#Software #Infrastructure #Kubernetes #Patterns #Architecture #DistributedSystems
Medium
Обзор Kubernetes Patterns
Kubernetes давно стал стандартом де-факто как среды для эксплуатации cloud native приложений. А именно такие приложения модно делать в…
👍3
Love and Math: The Heart of Hidden Reality (Любовь и математика)
Иногда хочется почитать что-то нетехническое для души:) В такие моменты я часто выбираю книги по названию, аннотации, обложке или рекомендациям.
Конкретно сегодня я говорю о книге из такой серии, название которой меня соблазнило ее прочитать. Книга называлась "Любовь и математика" и фактически это был научпоп по математике, правда, если слишком сильно увлекаться изучением примечаний, вынесенных в конец книги, то книга становиться скорее научной, чем популярной:)
Уже когда я прочитал 2/3 книги я понял, что она чудо как хороша. Стиль изложения сочетает в себе автобиографичность и максимально простую и понятную подачу довольно сложной математики из теории групп, симметрий и дальше:) Забавно, что автор пришел в математику из-за любви к теоретической физике в попытке понять как устроены кварки.
В общем, книга определенно на 5+, рекомендую
P.S.
Именно в таком стиле надо подавать математику, чтобы люди в школе не считали, что она слишком скучная:)
#PopularScience #Mathematics
Иногда хочется почитать что-то нетехническое для души:) В такие моменты я часто выбираю книги по названию, аннотации, обложке или рекомендациям.
Конкретно сегодня я говорю о книге из такой серии, название которой меня соблазнило ее прочитать. Книга называлась "Любовь и математика" и фактически это был научпоп по математике, правда, если слишком сильно увлекаться изучением примечаний, вынесенных в конец книги, то книга становиться скорее научной, чем популярной:)
Уже когда я прочитал 2/3 книги я понял, что она чудо как хороша. Стиль изложения сочетает в себе автобиографичность и максимально простую и понятную подачу довольно сложной математики из теории групп, симметрий и дальше:) Забавно, что автор пришел в математику из-за любви к теоретической физике в попытке понять как устроены кварки.
В общем, книга определенно на 5+, рекомендую
P.S.
Именно в таком стиле надо подавать математику, чтобы люди в школе не считали, что она слишком скучная:)
#PopularScience #Mathematics
👍10❤1🔥1
Сегодня я решил вспомнить про книгу Арнхейма "Исскуство и визуальное восприятие", которую я читал давно, когда заинтересовался фотографией:)
Эта книга 1954 года, но до сих пор активно рекомендуется к прочтению, так как является классическим трудом по исследованию психологии искусства. Мне ее рекомендовали как начинающему фотографу наряду с более простой книгой Лапина "Фотография как…". Книга Арнхейма очень хорошо мне зашла и позволила научиться видеть по другому происходящее вокруг:)
Если интересно, то примеры моих фотографий можно посмотреть на 500px -> bit.ly/apolo500px
Сейчас я уже не успеваю заниматься фотографией, но изученная теория помогает отличать элегантные решения в смежных областях, например, в Software Architecture:)
Кое-что понять о книге можно, посмотрев на список глав и примеры рисунков, которые демонстрирут паттерны нашего восприятия:)
1. Равновесие
2. Очертание
3. Форма
4. Развитие
5. Пространство
6. Свет
7. Цвет
8. Движение
9. Выразительность
#Photography
Эта книга 1954 года, но до сих пор активно рекомендуется к прочтению, так как является классическим трудом по исследованию психологии искусства. Мне ее рекомендовали как начинающему фотографу наряду с более простой книгой Лапина "Фотография как…". Книга Арнхейма очень хорошо мне зашла и позволила научиться видеть по другому происходящее вокруг:)
Если интересно, то примеры моих фотографий можно посмотреть на 500px -> bit.ly/apolo500px
Сейчас я уже не успеваю заниматься фотографией, но изученная теория помогает отличать элегантные решения в смежных областях, например, в Software Architecture:)
Кое-что понять о книге можно, посмотрев на список глав и примеры рисунков, которые демонстрирут паттерны нашего восприятия:)
1. Равновесие
2. Очертание
3. Форма
4. Развитие
5. Пространство
6. Свет
7. Цвет
8. Движение
9. Выразительность
#Photography
👍5❤3
Пару лет назад я прочитал отчет Владика Кононова с названием “What is DDD”, а год назад написал на него краткое саммари. Недавно вышла полноценная книга “Learning Domain-Driven Design” Владика, которая основана на этом отчете. В этой небольшой статье я хочу сравнить содержимое этих книг и объяснить почему стоит потратить время на чтение “Learning DDD”, даже если вы уже узнали ответ на вопрос “What is DDD” из одноименного отчета Владика. А также анонсирую обсуждения нашего клуба любителей архитектуры “Code of Architecture”, которые посвящены этой книге:)
https://apolomodov.medium.com/comparison-of-learning-ddd-and-what-is-ddd-e258652075be
#Software #DDD #Architecture #ExternalReview #Strategy
https://apolomodov.medium.com/comparison-of-learning-ddd-and-what-is-ddd-e258652075be
#Software #DDD #Architecture #ExternalReview #Strategy
Medium
Сравнение книг “Learning Domain-Driven Design” и “What is DDD”
Пару лет назад я прочитал отчет Владика Кононова с названием “What is DDD”, а год назад написал на него краткое саммари. Недавно вышла…
👍12
Сегодня я решил вспомнить книгу Чарльза Петцольда "Читаем Тьюринга" из серии "Классика программирования".
Книга очень интересна и одновременно крайне сложна для восприятия:) На самом деле Тюринг за свою жизнь опубликовал около 30 работ, причем это все были статьи и ни одной книги.
Две статьи стали классическими:
- "О вычислимых числах" - здесь была введена машина Тьюринга для решения одной из проблем Гильберта относительно общего процесса доказуемости произвольных утверждений в математической логике
- "Вычислительные машины и интеллект" - здесь появился знаменитый тест Тьюринга, в котором наличие интеллекта у машины проверяется общением с человеком - если человек не может отличить машину от человека, то считаем что у нее есть интеллект
В статье по ссылке рассмотрена книга Чарльза Петцольда "Читаем Тьюринга", в которой он пытается на пальцах объяснить в чем суть статьи "О вычислимых числах" и при чем здесь машина Тьюринга.
https://apolomodov.medium.com/review-annotated-turing-30c884af201c
#Software #ComputerScience #ExternalReview #PopularScience
Книга очень интересна и одновременно крайне сложна для восприятия:) На самом деле Тюринг за свою жизнь опубликовал около 30 работ, причем это все были статьи и ни одной книги.
Две статьи стали классическими:
- "О вычислимых числах" - здесь была введена машина Тьюринга для решения одной из проблем Гильберта относительно общего процесса доказуемости произвольных утверждений в математической логике
- "Вычислительные машины и интеллект" - здесь появился знаменитый тест Тьюринга, в котором наличие интеллекта у машины проверяется общением с человеком - если человек не может отличить машину от человека, то считаем что у нее есть интеллект
В статье по ссылке рассмотрена книга Чарльза Петцольда "Читаем Тьюринга", в которой он пытается на пальцах объяснить в чем суть статьи "О вычислимых числах" и при чем здесь машина Тьюринга.
https://apolomodov.medium.com/review-annotated-turing-30c884af201c
#Software #ComputerScience #ExternalReview #PopularScience
Medium
Обзор книги Петцольда “Читаем Тьюринга”
На самом деле книга называется “Читаем Тьюринга. Путешествие по исторической статье Тьюринга о вычислимости и машинах Тьюринга” и вышла она…
👍3👏2🔥1