Skip to content

Instantly share code, notes, and snippets.

View wataruoguchi's full-sized avatar
🦥
Curiosity Driven

Wataru Oguchi wataruoguchi

🦥
Curiosity Driven
View GitHub Profile

Resilient Management, An Excerpt

how to collaborate, how to hit goals, how to determine priorities.

  • Mentoring: lending advice and helping to problem solve based on your own experience.
  • Coaching: asking open questions to help your teammate reflect and introspect, rather than sharing your own opinions or quickly problem solving.
  • Sponsoring: finding opportunities for your teammate to level up, take on new leadership roles, and get promoted.
  • Delivering feedback: observing behavior that is or isn’t aligned to what the team needs to be doing and sharing those observations, along with praise or suggestions.
@wataruoguchi
wataruoguchi / APhilosophyOfSoftwareChapter1-4.md
Created September 6, 2021 19:40
A Philosophy of Software Design (Chapter 1 - 4) #bookclub

A Philosophy of Software Design

Preface

The most fundamental problem in computer science is problem decomposition: how to take a complex problem and divide it up into pieces that can be solved independently. Problem decomposition is the central design task that programmers face every day, and yet, other than the work described here, I have not been able to identify a single class in any university where problem decomposition is a central topic.

Chapter 1 - Introduction (It's all about complexity)

Good development tools can help us deal with complexity, and many great tools have been created over the last several decades. But there is a limit to what we can do with tools alone. If we want to make it easier to write software, so that we can build more powerful systems more cheaply, we must find ways to make software simpler.

@wataruoguchi
wataruoguchi / cleanArchitecturePart6-2.md
Created July 11, 2021 05:04
Clean Architecture - PART 6 - Architecture (Chapter 33 - 34) #bookclub

Clean Architecture

PART VI - Details

Chapter 33 - Case Study: Video Sales

The Product

Example project is a website that sells videos. (e-learning. individual customer / business customer)

@wataruoguchi
wataruoguchi / cleanArchitecturePart6-1.md
Created July 11, 2021 05:03
Clean Architecture - PART 6 - Architecture (Chapter 30 - 32) #bookclub

Clean Architecture

PART VI - Details

Chapter 30 - The Database Is a Detail

The database is not an entity, nor the data model. The database is mechanism to store data.

Relational Database

@wataruoguchi
wataruoguchi / cleanArchitecturePart5-3.md
Created July 3, 2021 21:25
Clean Architecture - PART 5 - Architecture (Chapter 26 - 29) #bookclub

Clean Architecture

PART V - Architecture

Chapter 26 - The Main Component

The Ultimate Detail

The point is that Main is a dirty low-level module in the outermost circle of the clean architecture. It loads everything up for the high level system, and then hands control over to it.

@wataruoguchi
wataruoguchi / cleanArchitecturePart5-2.md
Created June 22, 2021 05:03
Clean Architecture - PART 5 - Architecture (Chapter 21 - 25) #bookclub

Clean Architecture

PART V - Architecture

Chapter 21 - Screaming Architecture

The Theme of an Architecture

Architectures should not be supplied by frameworks. Frameworks are tools to be used, not architectures to be conformed to. If your architecture is based on frameworks, then it cannot be based on your use cases.

@wataruoguchi
wataruoguchi / cleanArchitecturePart5-1.md
Created June 16, 2021 04:40
Clean Architecture - PART 5 - Architecture (~Chapter 20) #bookclub

Clean Architecture

PART V - Architecture

Chapter 15 - What Is Architecture?

Software architects are the best programmers, and they continue to take programming tasks, while they also guide the rest of the team toward a design that maximizes productivity. (...) They do this because they cannot do their jobs properly if they are not experiencing the problems that they are creating for the rest of programmers.

Certainly, productivity is what I care, and the reason why I'm learning this.

@wataruoguchi
wataruoguchi / cleanArchitecturePart4.md
Created June 2, 2021 05:34
Clean Architecture - PART 4 - Component Principle #bookclub

Clean Architecture

PART IV - Component Principle

  • SOLID principle How to arrange the bricks into walls and rooms.
  • Component principle How to arrange the rooms into buildings.

Chapter 12 - Component

Components, jars, gems, packages, DLLs, .jar, .dll, .exe ... well designed components always retain the ability to be independently deployable and deployable.

@wataruoguchi
wataruoguchi / cleanArchitecturePart3.md
Last active May 27, 2021 04:23
Clean Architecture - PART 3 - Design Principles #bookclub

Clean Architecture

PART III - Design Principles

The SOLID principles tell us how to arrange our functions and data structures into classes, and how those classes should be interconnected.

The goal of the principles is the creation of mid-level software structure that:

  • Tolerate change,
  • Are easy to understand, and,
@wataruoguchi
wataruoguchi / cleanArchitecturePart2.md
Last active May 17, 2021 00:53
Clean Architecture - PART 2 - Starting with the Bricks: Programming Paradigms #bookclub

Clean Architecture

PART II - Starting with the Bricks: Programming Paradigms

Chapter 3 - Paradigm Overview

Structured Programming

Born in 1968.