Cook project setup using cookiecutter

Cook project setup using cookiecutter

마이크로서비스아키텍쳐 환경인 뱅크샐러드는 여러 마이크로 서비스들을 찍어내면서 프로젝트 마다 설정과 구조, 환경이 달랐던 과거에 스트레스를 받고 있었는데 cookiecutter 와 템플릿을 통해 프로젝트라는 쿠키를 굽게된 이야기입니다.

22b02091761ba790122dd89436bce02c?s=128

Winter Jung

April 20, 2019
Tweet

Transcript

  1. 귀찮은 프로젝트 셋업, 이젠 찍어내자! 정겨울

  2. 다들 한번쯤 해보셨을 경험 발표 소개

  3. 새로운 프로젝트/서비스 만들기 토이 프로젝트, 회사의 서비스, 오픈소스 라이브러리 발표

    소개
  4. 공들여 린트 넣고 포매터 넣고 .travis.yml .gitignore README.md 등등등 발표

    소개
  5. ✨✨ 완벽히 설정된 하나의 레포 발표 소개

  6. ✨✨ 만들어야할게 더 있다면? 발표 소개

  7. ✨✨ 만들어야할게 좀 더 있다면? 발표 소개

  8. ✨✨ 만들어야할게 좀 더 많이 있다면? 발표 소개

  9. 버전 1 버전 1 발표 소개

  10. 버전 2 버전 1 발표 소개

  11. 버전 2 버전 1 발표 소개

  12. 버전 2 버전 1 버전 3 발표 소개

  13. 발표 소개

  14. audreyr/cookiecutter A command-line utility that creates projects 발표 소개

  15. ✨ ✨ 발표 소개

  16. 정겨울 Jung Winter 뱅크샐러드 백엔드 엔지니어 발표자 res_tin JungWinter

  17. Index Stress 01 Cookiecutter 02 Stress again 03

  18. 스트레스 받는 환경 01

  19. 마이크로서비스 아키텍쳐 파이썬 ⚙ 01 환경

  20. 왜 MSA 환경이고 왜 파이썬이고 어떻게 같이 일하는지는 이야기가 궁금하다면

    3차 콘샐러드로! 01 환경
  21. 01 환경 다양한 서비스엔

  22. 버전 2 버전 1 버전 3 01 환경 다양한 설정들

  23. isort * 01 환경

  24. .editorconfig 01 환경

  25. .editorconfig 01 환경 난 트레일링 콤마 안써 " 난 1줄에

    80자
  26. Makefile 01 환경

  27. Makefile 01 환경 굳이 black 까지? " pipenv 안쓰고 그냥

    쓸래 # mypy는 투머치야
  28. .travis.yml 01 환경 여기에서는

  29. .pylintrc 01 환경 저기서는

  30. mypy.ini 01 환경 정말 다양한 각각의 설정들

  31. 01 환경 Dockerfile 멀티 스테이지 빌드냐 아니냐 pipenv냐 아니냐

  32. Git hook bin/pre-push 01 환경 hook 이라고 예외는 아니다

  33. 스트레스 뿌셔 @=(^o^)@ 02

  34. Rainist/styleguide 트레일링 콤마, 1줄의 최대 길이, indent, 네이밍 등 02

    cookiecutter 쓰기 전 명문화부터
  35. 전원 합의를 거친 코드 컨벤션 이슈와 PR 02 cookiecutter 쓰기

    전 명문화부터
  36. 앞서 말했던걸 템플릿으로 관리 docker, CI 설정, 컨벤션, hook, 린트

    설정 등 02 cookiecutter
  37. Rainist/python Rainist Python project template based on Cookiecutter 02 cookiecutter

  38. Rainist/python 02 cookiecutter Rainist Python project template based on Cookiecutter

  39. 02 cookiecutter Rainist/python Rainist Python project template based on Cookiecutter

  40. Rainist/python Rainist Python project template based on Cookiecutter ✨ ✨

    02 cookiecutter
  41. 스트레스 또 뿌셔 @=(^o^)@ 03

  42. 03 쿠키 확인하기 [5점] 위 상황에서 경우의 수를 구하시오

  43. 03 쿠키 확인하기 [5점] 위 상황에서 경우의 수를 구하시오 얘네는

    제외한다 하더라도
  44. 03 쿠키 확인하기 [5점] 위 상황에서 경우의 수를 구하시오 2가지

  45. 03 쿠키 확인하기 [5점] 위 상황에서 경우의 수를 구하시오 2가지

    또 2가지
  46. 03 쿠키 확인하기 [5점] 위 상황에서 경우의 수를 구하시오 2가지

    또 2가지 얜 3가지
  47. 03 쿠키 확인하기 [5점] 위 상황에서 경우의 수를 구하시오 2가지

    또 2가지 얜 3가지 2가지 2가지
  48. 03 쿠키 확인하기 가능한 조합 48가지

  49. 03 쿠키 확인하기 가능한 조합 48가지

  50. 03 쿠키 확인하기 한 기능을 수정해도 몇십개를 확인해야함

  51. 03 쿠키 확인하기 a <enter><enter><enter> 다 끝나고 rm -rf a

    급기야
  52. 03 쿠키 확인하기 코드로 테스트 하자

  53. 03 쿠키 확인하기 pytest-cookies와 함께하는 제빵시간 README.md

  54. 03 쿠키 확인하기 Makefile 어떤 줄은 없어야하고 사이에 빈 줄은

    없어야하고 맨 마지막에 한 줄은 비어둬야하고
  55. 03 쿠키 확인하기 Makefile

  56. 03 쿠키 확인하기 가장 좋은 점

  57. Remind Stress 01 Cookiecutter 02 Stress again 03

  58. We're hiring Banksalad

  59. Thank You

  60. QnA