Software-Engineering-at-Google

Software Engineering at Google 스터디

목적

  • Google Software Engineer 보다 뛰어난 엔지니어가 되기
  • Git 잘 써보기

목차

Thesis

  1. What Is Software Engineering?

Culture

  1. How to Work Well on Teams
  2. Knowledge Sharing
  3. Engineering for Equity
  4. How to Lead a Team
  5. Leading at Scale
  6. Measuring Engineering Productivity

Processes

  1. Style Guides and Rules
  2. Code Review
  3. Documentation
  4. Testing Overview
  5. Unit Testing
  6. Test Doubles
  7. Larger Testing
  8. Deprecation

Tools

  1. Version Control and Branch Management.
  2. Code Search
  3. Build Systems and Build Philosophy
  4. Critique: Google’s Code Review Tool
  5. Static Analysis
  6. Dependency Management
  7. Large-Scale Changes.
  8. Continuous Integration.
  9. Continuous Delivery
  10. Compute as a Service

Conclusion

  • Afterword

관리

Contribution Check Lists:

  1. README.md 페이지에 링크 적용하기
  2. 문서 이름 형식 맞추기: 00_snake_case.md
  3. Assignement 체크 하기
  4. Formatting tool 로 format 맞추기 (vscode prettier 추천)

Merge Request 방법

  1. 원본의 저장소에 Fork 하기
  2. Fork 된 저장소를 Clone, remote
  3. branch 생성하기
  4. 실제 작업하기 (코딩, 문서 등)
  5. 작업된 내역 업로드 하기 add, commit, push
  6. GitLab - New Merge Request
  7. GitLab - New Merge Request 확인하기
  8. 작업자에게 코멘트 남기고 Master 에 병합하기
  9. Master에 병합한것 취소 하기
  10. 승인자가 Master에 병합이후, fork를 원본 저장소의 내용으로 동기화 하기
  11. 업로드한 branch 삭제하기

Assignment

담당자 1st 2nd 3rd 4th 5th
KKP 5 - O 9 - O 11 - O 20 - O 23 - O
CJY 2 - O 8 - O 12 - O 17 - O 21
NHB 4 - O 6 - O 13 - O 19 - O 24 - O
PYJ 1 - O 10 - O 15 - O 16 25 - O
KMS 3 - O 7 - O 14 - O 18 - O 22

Reference