emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc. – Telegram
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
3.48K subscribers
119 photos
15 videos
22 files
1.14K links
Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, Extreme Programming, SDLC, Agile, etc.

Chat: https://news.1rj.ru/str/emacsway_chat

Persistence: https://dckms.github.io/system-architecture/
Download Telegram
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Гы... недавно был холиварчик в архитекторской группе на эту тему. Там же: 📝 "A software architect who does not code is like a cook who does not eat." - Grady Booch https://twitter.com/Grady_Booch/status/1301810374598033408?s=19 #SoftwareDesign #SftwareArchitecture
📝 "The “real place” in software development is the code, which suggests that first-level managers are master programmers who are frequently evaluating the code."
- https://less.works/less/principles/systems-thinking.html

📝 "“Место, где происходит реальная работа” в программировании - это код, из чего следует, что первоклассными менеджерами должны становиться лучшие разработчики, которые часто оценивают код."
- https://less.works/ru/less/principles/systems-thinking.html

- Craig Larman, известный как создатель GRASP и LESS

#Agile #Career
Как-то раньше я и не задумывался о том, что подходы к развертыванию приложений можно взять и пересчитать https://thenewstack.io/deployment-strategies/ а еще и анимированными картинками сопроводить
Третья книга 2020 года по SRE от Google:
"Building Secure & Reliable Systems"
https://landing.google.com/sre/books/

Можно скачать с первоисточника.

#Microservices #SRE #DevOps
Неплохая статья на тему OOP vs Procedural Programming. Дает еще одну точку зрения на Anemic Domain Model.

"Classes vs. Data Structures"
http://blog.cleancoder.com/uncle-bob/2019/06/16/ObjectsAndDataStructures.html

Очень хорошо эта тема раскрывается в главе "Chapter 6: Objects and Data Structures : Data/Object Anti-Symmetry" книги “Clean Code: A Handbook of Agile Software Craftsmanship” by Robert C. Martin.

Еще на эту тему:
"Что такое expression problem, или О дуализме функционального и объектно-ориентированного программирования"
https://ru.hexlet.io/blog/posts/expression-problem

#SoftwareDesign #DDD
Перевод монументальной статьи "Is Design Dead?" by M.Fowler о том, как избежать крайностей в архитектуре приложения при Agile разработке: http://citforum.ru/SE/project/design_dead/

#SoftwareDesign #SoftwareArchitecture #Agile
Поговорим немного о целесообразности посещения курсов. Курсы, конечно, бывают разные, и их нужно рассматривать дифференцировано. Но будем считать, что нам посчастливилось найти качественные курсы. Насколько целесообразно их посещение?

Software Construction/Design/Architecture - это довольно обширная область знаний, на глубокое изучение которой может и жизни не хватить. Но нужна ли глубина везде и во всем?

Для полноценного развития специалиста нужно поддерживать баланс между глубиной и охватом знаний (кругозором).

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

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

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

Приоритеты - вот то, что является важным, и здесь так же действует "Принцип Парето".

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

На этой неделе я посетил один из курсов от https://www.luxoft-training.ru/training/katalog_kursov/ именно по этой причине - мне нужно было в лимитированные ресурсы времени получить необходимый кругозор знаний по вопросам, которые для меня в настоящий момент не являются приоритетными, но с которыми мне тоже приходится работать (речь идет о методиках документирования архитектуры), вскрыть пробелы, систематизировать и подвергнуть ревизии свои знания.

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

Можно выделить следующие направления:
- https://www.luxoft-training.ru/training/katalog_kursov/arkhitektura-po/
- https://www.luxoft-training.ru/training/katalog_kursov/upravlencheskaya_effektivnost_i_kommunikatsii/
- https://www.luxoft-training.ru/training/katalog_kursov/lichnaya_effektivnost/
- https://www.luxoft-training.ru/training/katalog_kursov/testirovanie/
- https://www.luxoft-training.ru/training/katalog_kursov/sistemnyy-analiz/
- https://www.luxoft-training.ru/training/katalog_kursov/biznes-analiz/
- https://www.luxoft-training.ru/training/katalog_kursov/upravlenie_proektami_razrabotki_po/

Пост отражает мое мнение и не является рекламой.

Если вы ищите курсы, то я бы советовал еще присмотреться к курсам @vkhorikov (на мой взгляд, у него лучшие русскоязычные курсы по DDD и тестированию):
- https://www.pluralsight.com/authors/vladimir-khorikov
- https://it.eductera.com/experts/expert/52/

P.S.: посещение курсов и конференций у нас в компании оплачивается, засчитывается в рабочее время, и даже является обязательным. Так что, если вы в поиске более лучших условий для своего профессионального роста как разработчик (и есть желание делать это на Golang), то можете обратиться ко мне в приват - окажу содействие нашему HR.

#Career #SoftwareDesign #SoftwareArchitecture
Та самая книга, которую никто не читал, но которую все знают 🙂))
#Юмор
📝 "New educational materials!
Today I'm announcing two new, free resources I've written: an 8-lecture course on fundamentals of distributed systems, and a 30-page tutorial on elliptic curve cryptography. https://martin.kleppmann.com/2020/11/18/distributed-systems-and-elliptic-curves.html "
- Martin Kleppmann
https://twitter.com/martinkl/status/1329051710019543041?s=19

P.S.: Если кто не знает, Martin Kleppmann - один из лучших авторов по распределенным системам. Автор "Кабанчика".

The distributed systems course comprises about 7 hours of video and 87 pages of lecture notes. It covers the following topics:
1. Introduction: distributed systems, computer networks, and RPC
2. System models: network faults, crash and Byzantine faults, synchrony assumptions
3. Physical clocks, clock synchronisation, and causality
4. Logical time, broadcast protocols (reliable, FIFO, causal, total order)
5. Replication, quorum protocols, state machine replication
6. Consensus, details on the Raft consensus algorithm
7. Replica consistency, two-phase commit, linearizability, eventual consistency
8. Case studies: collaboration software, Google’s Spanner

#SoftwareDesign #DistributedSystems #SoftwareArchitecture