Биология желания. Зависимость - не болезнь (The Biology of Desire. Why Addiction Is Not a Disease)
Лет пять я прочитал эту книгу Марка Льюиса и могу сказать, что книга не зря получила премию Prose Awards как лучшая психологическая книга в 2016 году. Автор в первых главах четко и последовательно аргументирует свою позицию относительно того, что зависимость не является болезнью. Дальше автор занимается сторителлингом и мы знакомимся с 5 историями зависимых, которые завораживают своей реалистичностью. В каждой истории Марк объясняет как работал мозг человека aka какие были предпосылки и как развивалась зависимость, а также как её успешно удавалось преодолеть. В конце книги автор выдает очень воодушевляющее summary для зависимых (среди которых когда-то был и он сам):
"Если работа отдела мозга, отвечающего за представления о будущем, синхронизируется с работой отделов мозга, которые подталкивают нас к выполнению поставленных целей, и если эта связь постоянно используется и поддерживается, так что синаптические магистрали становятся гладкими и эффективными, то зависимость становится всего-навсего стадией развития я. И кажется, именно таковой она и является."
В общем, книга очень интересная и полезная. Используя подход описанный в книге, можно ретроспективно оценить свою жизнь и понять какие зависимости есть у тебя самого. Дальше оценить насколько они тебе мешают и в дальнейшем выстроить свои будущие цели так, чтобы зависимость стала просто стадией развития, а в перспективе просто ушла в прошлое:)
#Psychology #Brain #PopularScience
Лет пять я прочитал эту книгу Марка Льюиса и могу сказать, что книга не зря получила премию Prose Awards как лучшая психологическая книга в 2016 году. Автор в первых главах четко и последовательно аргументирует свою позицию относительно того, что зависимость не является болезнью. Дальше автор занимается сторителлингом и мы знакомимся с 5 историями зависимых, которые завораживают своей реалистичностью. В каждой истории Марк объясняет как работал мозг человека aka какие были предпосылки и как развивалась зависимость, а также как её успешно удавалось преодолеть. В конце книги автор выдает очень воодушевляющее summary для зависимых (среди которых когда-то был и он сам):
"Если работа отдела мозга, отвечающего за представления о будущем, синхронизируется с работой отделов мозга, которые подталкивают нас к выполнению поставленных целей, и если эта связь постоянно используется и поддерживается, так что синаптические магистрали становятся гладкими и эффективными, то зависимость становится всего-навсего стадией развития я. И кажется, именно таковой она и является."
В общем, книга очень интересная и полезная. Используя подход описанный в книге, можно ретроспективно оценить свою жизнь и понять какие зависимости есть у тебя самого. Дальше оценить насколько они тебе мешают и в дальнейшем выстроить свои будущие цели так, чтобы зависимость стала просто стадией развития, а в перспективе просто ушла в прошлое:)
#Psychology #Brain #PopularScience
👍24🔥3❤2
Билл Гейтс (Bill Gates: The co-creator of Microsoft)
Этот комикс Пьерро Мартина и Бассетта Зака был издан на английском еще в 2012 (а в России в 2019). Он рассказывает биографию Билла Гейтса в привязке к его основному детищу в виде Microsoft. Правда, завершается все рассказом про фонд Билла и Мелинды Гейтс, который основными целями для себя ставит глобальное улучшение здравоохранения, сокращение нищеты, расширение образовательных возможностей и доступа к информационным технологиям.
В общем, этот комикс хорошо почитать с детишками, чтобы рассказать им про ранние шаги компьютерной революции и одного из героев того времени:)
#ForKids #Biography #Comics
Этот комикс Пьерро Мартина и Бассетта Зака был издан на английском еще в 2012 (а в России в 2019). Он рассказывает биографию Билла Гейтса в привязке к его основному детищу в виде Microsoft. Правда, завершается все рассказом про фонд Билла и Мелинды Гейтс, который основными целями для себя ставит глобальное улучшение здравоохранения, сокращение нищеты, расширение образовательных возможностей и доступа к информационным технологиям.
В общем, этот комикс хорошо почитать с детишками, чтобы рассказать им про ранние шаги компьютерной революции и одного из героев того времени:)
#ForKids #Biography #Comics
👍8
PlatformCon 2023
Тема platform engineering сейчас популярна настолько, что 8-9 июня будет бесплатная онлайн конференция, посвященная полностью этой теме и я планирую ее посмотреть:)
Кроме того, у создателей конференции есть отдельный сайт platformengineering.org, где дается такое определение платформам
Platform engineering is the discipline of designing and building toolchains and workflows that enable self-service capabilities for software engineering organizations in the cloud-native era. Platform engineers provide an integrated product most often referred to as an “Internal Developer Platform” covering the operational necessities of the entire lifecycle of an application.
На этом сайте есть еще достаточно много информации, которую интересно изучить.
Сам подход с платформами и платформенными командами был известен достаточно давно и был дополнительно популяризирован в книге Team Topologies, где двумя основными типами команд (из всего четырех) были stream-aligned teams и platform teams, которые делали платформы. Кстати у меня есть краткий обзор этой книги в трех частях Teams as means of Delivery, Team Topologies that work for flow, Evolving team interactions for innovation and rapid delivery. Плюс я года три назад рассказывал на Teachlead Cjnf про то, что такое платформенные команды и зачем они нужны, а в прошлом году делился на Highload++ опытом трансформации наших команд мобильного банка в сторону stream aligned и platform teams.
#Conference #PlatformEngineering #SystemEngineering #SoftwareDevelopment #Software
Тема platform engineering сейчас популярна настолько, что 8-9 июня будет бесплатная онлайн конференция, посвященная полностью этой теме и я планирую ее посмотреть:)
Кроме того, у создателей конференции есть отдельный сайт platformengineering.org, где дается такое определение платформам
Platform engineering is the discipline of designing and building toolchains and workflows that enable self-service capabilities for software engineering organizations in the cloud-native era. Platform engineers provide an integrated product most often referred to as an “Internal Developer Platform” covering the operational necessities of the entire lifecycle of an application.
На этом сайте есть еще достаточно много информации, которую интересно изучить.
Сам подход с платформами и платформенными командами был известен достаточно давно и был дополнительно популяризирован в книге Team Topologies, где двумя основными типами команд (из всего четырех) были stream-aligned teams и platform teams, которые делали платформы. Кстати у меня есть краткий обзор этой книги в трех частях Teams as means of Delivery, Team Topologies that work for flow, Evolving team interactions for innovation and rapid delivery. Плюс я года три назад рассказывал на Teachlead Cjnf про то, что такое платформенные команды и зачем они нужны, а в прошлом году делился на Highload++ опытом трансформации наших команд мобильного банка в сторону stream aligned и platform teams.
#Conference #PlatformEngineering #SystemEngineering #SoftwareDevelopment #Software
Platformcon
PlatformCon 2026 | The #1 platform engineering event
Join 50k+ practitioners at PlatformCon 2026, June 22-26. 200+ speakers, 300+ sessions, 5 days of platform engineering content. Register now.
👍16❤2
Я сейчас думаю над новыми выступлениями на разных конференциях (Highload++, Codefest, Teamlead Conf, ArchDays, ...) и хочу понять а что было бы интересно послушать. Поэтому если у вас есть идеи, что бы вы хотели послушать от меня в виде доклада, то пишите и в комментариях к этому посту.
#Conference
#Conference
👍10
Software Architecture and Design InfoQ Trends Report - April 2023
Сегодня вышла статья от InfoQ с названием Trend Report по архитектуре и проектированию за апрель 2023. В ней авторы выделили следующие моменты.
Design for portability - это уже не про запаковку кода и деплой его в разных окружениях, а про "clean abstraction from the infrastructure". Дальше говорится про эволюцию cloud-native applications в cloud-bound applications и приводятся примеры таких подходов, как Dapr and WebAssembly.
Large language models - здесь авторы говорят про влияние GPT-3 and GPT-4 на разработку. Подробнее про GPT-4 есть в посте.
Data-driven architecture - тут идет речь про data mesh и идеи data-driven architecture
Design for sustainability - история про карбоновый след, его отслеживание и сокращение
Decentralized apps (dApps) - блокчейн и мастодон как альтернатива централизованному twitter
Architecture as a team sport - здесь речь работу над архитектурой в команде, про то, что должности архитекторов некоторые компании полностью заменили на principal инженеров, а также что использование ADR для фиксации архитектурных решений стало популярным
#Architecture #Software #SoftwareArchitecture
Сегодня вышла статья от InfoQ с названием Trend Report по архитектуре и проектированию за апрель 2023. В ней авторы выделили следующие моменты.
Design for portability - это уже не про запаковку кода и деплой его в разных окружениях, а про "clean abstraction from the infrastructure". Дальше говорится про эволюцию cloud-native applications в cloud-bound applications и приводятся примеры таких подходов, как Dapr and WebAssembly.
Large language models - здесь авторы говорят про влияние GPT-3 and GPT-4 на разработку. Подробнее про GPT-4 есть в посте.
Data-driven architecture - тут идет речь про data mesh и идеи data-driven architecture
Design for sustainability - история про карбоновый след, его отслеживание и сокращение
Decentralized apps (dApps) - блокчейн и мастодон как альтернатива централизованному twitter
Architecture as a team sport - здесь речь работу над архитектурой в команде, про то, что должности архитекторов некоторые компании полностью заменили на principal инженеров, а также что использование ADR для фиксации архитектурных решений стало популярным
#Architecture #Software #SoftwareArchitecture
👍12
Элегантные объекты. Java Edition (Elegant Objects)
Лет 5 назад я прочитал эту книгу за авторством Егора Бугаенко. И я не рекомендую читать целиком данную книжку junior и middle разработчикам, т.к. автор живет в своем выдуманном мире чистого ООП:) Но некоторые разделы прочитать бы стоило:) Senior'ам и архитекторам читать будет интересно в том случае, если они хотят заочно поучаствовать в holy war относительно того какой ООП считать достаточно оопшным. В общем и целом, часть разделов книги крайне хороши, а вот другие крайне сомнительны. Но в любом случае редко какая книга напоминала мне поездку на американских горках и вызывала такой эмоциональный отклик. Я бы переименовал книгу в Догмы ООП от Егора. В этом случае название было бы гораздо ближе к содержанию.
Кстати, книга составлена из заметок автора в его блоге - в итоге, часть заметок противоречат сами себе:)
Ну и напоследок примеры догм:
- "... я рекомендую инкапсулировать не более 4х объектов. ... Без исключения"
- "Не используйте публичные константы"
- "Если в классе меньше 5 публичных методов, то это приемлемо. Если их больше, класс нуждается в рефакторинге" - (опять магическое число взятое с потолка)
- "Не используйте статические методы"
- "Никогда не используйте сеттеры и геттеры"
#Software #SoftwareDevelopment
Лет 5 назад я прочитал эту книгу за авторством Егора Бугаенко. И я не рекомендую читать целиком данную книжку junior и middle разработчикам, т.к. автор живет в своем выдуманном мире чистого ООП:) Но некоторые разделы прочитать бы стоило:) Senior'ам и архитекторам читать будет интересно в том случае, если они хотят заочно поучаствовать в holy war относительно того какой ООП считать достаточно оопшным. В общем и целом, часть разделов книги крайне хороши, а вот другие крайне сомнительны. Но в любом случае редко какая книга напоминала мне поездку на американских горках и вызывала такой эмоциональный отклик. Я бы переименовал книгу в Догмы ООП от Егора. В этом случае название было бы гораздо ближе к содержанию.
Кстати, книга составлена из заметок автора в его блоге - в итоге, часть заметок противоречат сами себе:)
Ну и напоследок примеры догм:
- "... я рекомендую инкапсулировать не более 4х объектов. ... Без исключения"
- "Не используйте публичные константы"
- "Если в классе меньше 5 публичных методов, то это приемлемо. Если их больше, класс нуждается в рефакторинге" - (опять магическое число взятое с потолка)
- "Не используйте статические методы"
- "Никогда не используйте сеттеры и геттеры"
#Software #SoftwareDevelopment
👍11😁7👏3❤2
Я — легенда (I Am Legend)
Этот научно-фантастический роман Ричарда Мэтисона интересно прочитать в оригинале, а не смотреть в популярной экранизации 2007 года с Уиллом Смитом. В самом романе главный герой, Роберт Невилл, оказывается единственным человеком, что не заразился болезнью, похожей на вампиризм. Он живет в хорошо укрепленном домене и днем охотится на вампиров, которые ночью охотятся на него. В какой-то момент он решает найти лекарство от болезни и начинает заниматься исследованиями для победы над возбудителем вампиризма, бактерией, вступающей в симбиоз с клетками крови...
В общем, читайте оригинальный роман и поймете почему он назван именно так ... причем после окончания чтения вы почуствуете, что построенная вами изначально картина этого мира перестраивается:)
#SciFi
Этот научно-фантастический роман Ричарда Мэтисона интересно прочитать в оригинале, а не смотреть в популярной экранизации 2007 года с Уиллом Смитом. В самом романе главный герой, Роберт Невилл, оказывается единственным человеком, что не заразился болезнью, похожей на вампиризм. Он живет в хорошо укрепленном домене и днем охотится на вампиров, которые ночью охотятся на него. В какой-то момент он решает найти лекарство от болезни и начинает заниматься исследованиями для победы над возбудителем вампиризма, бактерией, вступающей в симбиоз с клетками крови...
В общем, читайте оригинальный роман и поймете почему он назван именно так ... причем после окончания чтения вы почуствуете, что построенная вами изначально картина этого мира перестраивается:)
#SciFi
👍15❤3👏3
Вторая серия Code of Architecture по книге "A Philosophy of Software Design"
Сегодня в 18:00 по Москве мы продолжим обсуждать как уменьшить сложность за счет правильного разделения на модули. А если говорить точнее, то мы обсудим 7-11 главы книги "A Philosophy of Software Design", в которых Джон Оустерхаут продолжает тему про модули, рассказывая про следующие темы
— на разных уровнях используйте разные абстракции;
— перемещение сложности вниз;
— лучше вместе или по отдельности;
— сокращение числа мест обработки исключений;
— проектируй дважды и не используй первую идею пришедшую в голову.
Гостем стрима станет наш коллега Олег Корнев, архитектор группы платежных сервисов.
Встречаемся сегодня в 18:00 на ютуб-канале IT's Tinkoff.
#CoA #Software #Architect #SystemDesign #Philosophy #SoftwareArchitecture
Сегодня в 18:00 по Москве мы продолжим обсуждать как уменьшить сложность за счет правильного разделения на модули. А если говорить точнее, то мы обсудим 7-11 главы книги "A Philosophy of Software Design", в которых Джон Оустерхаут продолжает тему про модули, рассказывая про следующие темы
— на разных уровнях используйте разные абстракции;
— перемещение сложности вниз;
— лучше вместе или по отдельности;
— сокращение числа мест обработки исключений;
— проектируй дважды и не используй первую идею пришедшую в голову.
Гостем стрима станет наш коллега Олег Корнев, архитектор группы платежных сервисов.
Встречаемся сегодня в 18:00 на ютуб-канале IT's Tinkoff.
#CoA #Software #Architect #SystemDesign #Philosophy #SoftwareArchitecture
🔥7❤2👍2
Непрерывное развертывание ПО (Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation)
Книга Джеза Хамбла и Дейвида Фарли была издана в далеком 2010 году и содержала очень интересные мысли на тот момент. Я прочитал ее в первый раз в 2017 году и к тому моменту она уже была безнадежно устаревшей и капитанской. Сейчас в 2023 году ее стоит покупать, только если вы любите посещать букинистические магазины:)
Если вспоминать мои впечатления от первого прочтения, то могу отметить, что качество каждой главы книги варьируется от уровня "почитать в дороге можно" до "действительно стоит прочесть", но вот соединенные в одну книгу они мешают друг другу:) Авторы декларируют, что читатель может читать главы выборочно, что соответствует истине. Правда, степень дублирования информации между главами такая, что ты ловишь дежавю настолько часто, что появляется ощущение, что тебе рассказывают одни и те же мысли по кругу в пятый раз:)
P.S.
Отдельно отмечу перевод на русский - он зажигательный, например, я первый раз вижу, чтобы основную ветку в vcs называли магистралью, а дальше цитата: "Регулярно регистрируйте изменения на магистрали ..."
#Devops #ContinuousDelivery #Software #SoftwareDevelopment
Книга Джеза Хамбла и Дейвида Фарли была издана в далеком 2010 году и содержала очень интересные мысли на тот момент. Я прочитал ее в первый раз в 2017 году и к тому моменту она уже была безнадежно устаревшей и капитанской. Сейчас в 2023 году ее стоит покупать, только если вы любите посещать букинистические магазины:)
Если вспоминать мои впечатления от первого прочтения, то могу отметить, что качество каждой главы книги варьируется от уровня "почитать в дороге можно" до "действительно стоит прочесть", но вот соединенные в одну книгу они мешают друг другу:) Авторы декларируют, что читатель может читать главы выборочно, что соответствует истине. Правда, степень дублирования информации между главами такая, что ты ловишь дежавю настолько часто, что появляется ощущение, что тебе рассказывают одни и те же мысли по кругу в пятый раз:)
P.S.
Отдельно отмечу перевод на русский - он зажигательный, например, я первый раз вижу, чтобы основную ветку в vcs называли магистралью, а дальше цитата: "Регулярно регистрируйте изменения на магистрали ..."
#Devops #ContinuousDelivery #Software #SoftwareDevelopment
😁21👍4
Непрерывная интеграция (Continuous Integration: Improving Software Quality and Reducing Risk)
Продолжая тему раритетных книг по инженерным процессам в разработке софта (начало тут), я решил вспомнить эту книгу Эндрю Гловера, Поля Дюваля и Стивена Матиаса. Если кратко, то хорошая книжка ... была для своего времени (2007 год). В текущий момент ее стоит читать только для того, чтобы узнать с чего все начиналось. Правда, если ее актуализировать, то книга опять станет неплохой. Если более подробно, то автор рассказывает о некоторых практиках, которые стали базовыми в настоящее время:
1) что такое CI и в чем оно помогает пр разработке ПО, а именно в снижении рисков:
- проблема с развертыванием ("На моей машине это работает")
- позднее выявление дефектов, а следовательно более дорогое их исправление
- плохой контроль состояния проекта (не ясно что уже готово, а что нет)
- низкое качество продукта (наличие большого количества багов)
2) что требуется для реализации CI
- хранение исходников в системе контроля версий
- хранение конфигураций в системе контроля версий (использование SCM)
- хранение изменений для бд в системе контроля версий (механизм миграций данных)
- возможность сборки этого всего вместе(smile)
Еще авторы рассматривает создание полнофункциональной CI, правда в реалиях пятнадцатилетней давности. Эта часть абсолютно устарела, но ... даже в ней есть интересные моменты:
1) обсуждение вопросов тестирования:
- unit
- functional
- integration
- system
2) вопросы инспекции кода
- использование статических анализаторов
- поддержка code style
- поддержка метрик кода на заданном уровне, например, цикломатическая сложность
3) организация continuous delivery
4) организация обратной связи о работе CI
В общем, в текущий момент книжку стоит читать разве что только для того, чтобы почувствовать ностальгию по тем временам, когда разработка велась на коленке:)
#Devops #ContinuousDelivery #Software #SoftwareDevelopment #ContinuousIntegration
Продолжая тему раритетных книг по инженерным процессам в разработке софта (начало тут), я решил вспомнить эту книгу Эндрю Гловера, Поля Дюваля и Стивена Матиаса. Если кратко, то хорошая книжка ... была для своего времени (2007 год). В текущий момент ее стоит читать только для того, чтобы узнать с чего все начиналось. Правда, если ее актуализировать, то книга опять станет неплохой. Если более подробно, то автор рассказывает о некоторых практиках, которые стали базовыми в настоящее время:
1) что такое CI и в чем оно помогает пр разработке ПО, а именно в снижении рисков:
- проблема с развертыванием ("На моей машине это работает")
- позднее выявление дефектов, а следовательно более дорогое их исправление
- плохой контроль состояния проекта (не ясно что уже готово, а что нет)
- низкое качество продукта (наличие большого количества багов)
2) что требуется для реализации CI
- хранение исходников в системе контроля версий
- хранение конфигураций в системе контроля версий (использование SCM)
- хранение изменений для бд в системе контроля версий (механизм миграций данных)
- возможность сборки этого всего вместе(smile)
Еще авторы рассматривает создание полнофункциональной CI, правда в реалиях пятнадцатилетней давности. Эта часть абсолютно устарела, но ... даже в ней есть интересные моменты:
1) обсуждение вопросов тестирования:
- unit
- functional
- integration
- system
2) вопросы инспекции кода
- использование статических анализаторов
- поддержка code style
- поддержка метрик кода на заданном уровне, например, цикломатическая сложность
3) организация continuous delivery
4) организация обратной связи о работе CI
В общем, в текущий момент книжку стоит читать разве что только для того, чтобы почувствовать ностальгию по тем временам, когда разработка велась на коленке:)
#Devops #ContinuousDelivery #Software #SoftwareDevelopment #ContinuousIntegration
👍7😁1
Искусство программирования для Unix (Art of Unix Programming)
Эта книга по разработке, изданная 20 лет назад, когда-то была одной из моей любимых:)
После первого прочтения лет 15 назад у меня было такое впечетление
Стоит прочитать любому кто еще планирует или уже пишет код.
Общий настрой книги легко понять по первой главе, в которой приводится базовый список хороших практик.
В 3 главе описываются различные операционные системы и их истории развития. Там же приводится описание системы, которая получится, если планомерно и целенаправленно отклоняться от этих практик. В итоге получается вылитая х...,. В общем, книга поможет понять как писать так, чтобы пользователи Вашего кода и люди его поддерживающие не думали потом, что Вы придерживаетесь нестандартной ориентации...
в программировании конечно:))
Сама книга состоит из четырех частей:
1) Контекст - здесь обсуждаются философские вопросы, вопросы культуры (Unix, Linux, WIndows)
2) Проектирование - здесь идет речь про модульность, текстовое представление данных (textuality), прозрачность (transparency), мультипрограммирование (multiprogramming), minilanguages, генерацию кода, конфигурацию, интерфейсы, оптимизацию, сложность (complexity)
3) Реализация (implementation) - здесь автор говорит про языки программирования (C и остальные), инструменты (tools), повторное использование (reuse)
4) Community - здесь речь про portability, документацию (documentation), open source, будущее (опасности и перспективы как они виделись из начала 2000-х)
Как мне кажется, книга может быть интересна для прочтения и в наше время.
#SystemDesign #SoftwareDevelopment #Software #SoftwareArchitecture
Эта книга по разработке, изданная 20 лет назад, когда-то была одной из моей любимых:)
После первого прочтения лет 15 назад у меня было такое впечетление
Стоит прочитать любому кто еще планирует или уже пишет код.
Общий настрой книги легко понять по первой главе, в которой приводится базовый список хороших практик.
В 3 главе описываются различные операционные системы и их истории развития. Там же приводится описание системы, которая получится, если планомерно и целенаправленно отклоняться от этих практик. В итоге получается вылитая х...,. В общем, книга поможет понять как писать так, чтобы пользователи Вашего кода и люди его поддерживающие не думали потом, что Вы придерживаетесь нестандартной ориентации...
в программировании конечно:))
Сама книга состоит из четырех частей:
1) Контекст - здесь обсуждаются философские вопросы, вопросы культуры (Unix, Linux, WIndows)
2) Проектирование - здесь идет речь про модульность, текстовое представление данных (textuality), прозрачность (transparency), мультипрограммирование (multiprogramming), minilanguages, генерацию кода, конфигурацию, интерфейсы, оптимизацию, сложность (complexity)
3) Реализация (implementation) - здесь автор говорит про языки программирования (C и остальные), инструменты (tools), повторное использование (reuse)
4) Community - здесь речь про portability, документацию (documentation), open source, будущее (опасности и перспективы как они виделись из начала 2000-х)
Как мне кажется, книга может быть интересна для прочтения и в наше время.
#SystemDesign #SoftwareDevelopment #Software #SoftwareArchitecture
🔥9👍4❤2
Совершенный Код (Code Complete)
Эта книга Стива Макконела в свое время была хитом, а мне она очень помогла на пути становления меня software develoment engineer. Году в 2006 я впервые стал писать код за деньги и делал это в компании, где предыдущий отдел веб-разработки разошелся полностью. Новый руководитель отдела пришел и начал наводить порядок и я перешел из техподдержки в стажеры-разработчики. С кодовой базой мы изначально были на вы, процесс деплоя был ручным, тестирования не было, часть систем надо было планово перезагружать раз в час, иначе они падали сами, но с непредсказуемыми последствиями. На этом фоне книга Стива дала мне ответы на вопросы, а всегда ли так больно разрабатывать программное обеспечение или бывают менее болезненные способы. После этой книги я полюбил использование метафор для сложных концепций, понял важность обеспечения качества, узнал про проектирование софта и много чего еще:)
Сама книга выглядела как монументальный кирпич почти на тысячу страниц формата А4 и состояла она из 7 частей.
I. Laying the Foundation - как раз здесь про метафоры, сбор требований, продумывание вариантов и принятие ключевых решений
II. Creating High-Quality Code - про проективание, классы и методы, защитное программирование и важность использования псевдокода
III. Variables - про принципы использования переменных, их именование и типы данных (как обычные, так и нестандартные)
IV. Statements - про организацю кода, условные операторы, циклы, нестадартные управляющие структуры (goto и рекурсию), табличные методы и общие вопросы управления выполнением
V. Code Improvements - про качество программного обеспечения (с тех пор многое здесь улучшилось:))
VI. System Considerations - немного статистики про большие проекты и как размер влияет на разработку, как управлять ей (тут тоже многое поменялось с тех пор, например, инкрементальные подходы стали доминирующими)
VII. Software Craftsmanship - часть про мастерство. Тут интересно, что когда-то давно engineering и craftmanship противопоставляли себя друг другу, но теперь ясно, что инженерные подходы общеприняты:) Про это можно посмотреть выступление Dave Farley с goto 2022 "Taking Back “Software Engineering” – Craftsmanship is Insufficient" и интересно посмотреть именно его, так как он в свое время топил за craftmanship
P.S.
Я не уверен, что эта книга сейчас настолько же актуальна как 30 и 20 лет назад, но не вспомнить ее в своем канале я не мог:)
Кстати, у Стива есть еще книга "Еще более эффективный Agile" ("More Effective Agile: A Roadmap for Software Leaders"), в которой автор хорошо проходится по процессам разработки (а точнее конкретно по Scrum) и я про нее вспоминал в отдельном посте.
#Software #SoftwareDevelopment #SoftwareArchitecture #Devops #Engineering
Эта книга Стива Макконела в свое время была хитом, а мне она очень помогла на пути становления меня software develoment engineer. Году в 2006 я впервые стал писать код за деньги и делал это в компании, где предыдущий отдел веб-разработки разошелся полностью. Новый руководитель отдела пришел и начал наводить порядок и я перешел из техподдержки в стажеры-разработчики. С кодовой базой мы изначально были на вы, процесс деплоя был ручным, тестирования не было, часть систем надо было планово перезагружать раз в час, иначе они падали сами, но с непредсказуемыми последствиями. На этом фоне книга Стива дала мне ответы на вопросы, а всегда ли так больно разрабатывать программное обеспечение или бывают менее болезненные способы. После этой книги я полюбил использование метафор для сложных концепций, понял важность обеспечения качества, узнал про проектирование софта и много чего еще:)
Сама книга выглядела как монументальный кирпич почти на тысячу страниц формата А4 и состояла она из 7 частей.
I. Laying the Foundation - как раз здесь про метафоры, сбор требований, продумывание вариантов и принятие ключевых решений
II. Creating High-Quality Code - про проективание, классы и методы, защитное программирование и важность использования псевдокода
III. Variables - про принципы использования переменных, их именование и типы данных (как обычные, так и нестандартные)
IV. Statements - про организацю кода, условные операторы, циклы, нестадартные управляющие структуры (goto и рекурсию), табличные методы и общие вопросы управления выполнением
V. Code Improvements - про качество программного обеспечения (с тех пор многое здесь улучшилось:))
VI. System Considerations - немного статистики про большие проекты и как размер влияет на разработку, как управлять ей (тут тоже многое поменялось с тех пор, например, инкрементальные подходы стали доминирующими)
VII. Software Craftsmanship - часть про мастерство. Тут интересно, что когда-то давно engineering и craftmanship противопоставляли себя друг другу, но теперь ясно, что инженерные подходы общеприняты:) Про это можно посмотреть выступление Dave Farley с goto 2022 "Taking Back “Software Engineering” – Craftsmanship is Insufficient" и интересно посмотреть именно его, так как он в свое время топил за craftmanship
P.S.
Я не уверен, что эта книга сейчас настолько же актуальна как 30 и 20 лет назад, но не вспомнить ее в своем канале я не мог:)
Кстати, у Стива есть еще книга "Еще более эффективный Agile" ("More Effective Agile: A Roadmap for Software Leaders"), в которой автор хорошо проходится по процессам разработки (а точнее конкретно по Scrum) и я про нее вспоминал в отдельном посте.
#Software #SoftwareDevelopment #SoftwareArchitecture #Devops #Engineering
👍9🔥4❤2🤔1
Роботоделы. Короткое замыкание в школе
Я дочитал этот комикс Тома Эликсы и Алексиса Баррио на днях и могу отметить, что авторы достаточно забавно обыгрывают школьные приключения 12 летнего парнишки Уго. Он, как истинный раздолбай, залипает на школьных уроках и учитель отправляет его в кабинет наказаний. Там Уго знакомится с гениальным робототехником, девочкой Галей примерно тех же лет, которая на коленке решила задачу создания сильного AI, построив робота Си-эр3бро, а дальше решила его испытать в этом кабинете. Испытание заканчивается переносом во времени, так как Галя не просто сделала автономного робота из аппарата для попкорна, но и сразу машину времени:) А переносится эта компания вместе с учителем из кабинета наказаний в Средневековье, а точнее в 1149 и там начинаются их приключения ...
В общем, книга достаточно упоротая, но интересная для детей и с неплохим юмором для взрослых:)
#ForKids #PopularScience
Я дочитал этот комикс Тома Эликсы и Алексиса Баррио на днях и могу отметить, что авторы достаточно забавно обыгрывают школьные приключения 12 летнего парнишки Уго. Он, как истинный раздолбай, залипает на школьных уроках и учитель отправляет его в кабинет наказаний. Там Уго знакомится с гениальным робототехником, девочкой Галей примерно тех же лет, которая на коленке решила задачу создания сильного AI, построив робота Си-эр3бро, а дальше решила его испытать в этом кабинете. Испытание заканчивается переносом во времени, так как Галя не просто сделала автономного робота из аппарата для попкорна, но и сразу машину времени:) А переносится эта компания вместе с учителем из кабинета наказаний в Средневековье, а точнее в 1149 и там начинаются их приключения ...
В общем, книга достаточно упоротая, но интересная для детей и с неплохим юмором для взрослых:)
#ForKids #PopularScience
🔥7👍5👏1