본문 바로가기

CS/BackEnd23

느슨해진 백엔드씬에 긴장감을 주는 FastAPI 프레임워크 https://www.youtube.com/watch?v=5A67mQ2Pt9s&ab_channel=%EC%BD%94%EB%94%A9%EC%95%A0%ED%94%8C 2022. 7. 24.
API Response 효율적으로 테스트하기 - 신동현 - PyCon Korea 2021 https://www.youtube.com/watch?v=mTmlhcYvwwc&ab_channel=PyConKorea 1. 이상적인 백엔드 테스트 - "한 번에 하나의 기능만 테스트 한다" - Model, Controller(View), Serializer, Utility Function 등을 세분화해서 Unittest로 짠다 - Unittest가 잘 짜여져 있더라도 별도의 Integration Test는 필요 2022. 6. 28.
git conflict - 알면 기능, 모르면 사고 https://www.youtube.com/watch?v=wVUnsTsRQ3g 1. 2022. 6. 20.
테스트 주도 개발 1. 테스트 주도 개발 절차 a. RED - 실패하는 테스트 추가 b. GREEN - 테스트 통과, 최소한의 코딩 c. REFACTOR - 구현 설계 개선, 테스트 통과 유지 2. 테스트 실패 a. 구체적인 하나의 요구사항을 검증하는 하나의 테스트를 추가 b. 추가된 테스트가 실패하는지 확인 - 실패하는 것을 확인해야 테스트가 동작함을 믿을 수 있음 - 운영 코드 변경이 진행되지 않았기 때문에 실패했는지 확인해야 함 3. 테스트 성공 a. 추가된 테스트를 비롯해 모든 테스트가 성공하도록 운영코드 변경 b. 테스트 성공은 요구사항 만족을 의미 c. 테스트 성공을 위한 최소한의 변경 4. 켄트 벡의 설계 규칙 a. Passes the tests b. Reveals intention c. No duplicat.. 2022. 6. 20.
테스트 기법 & 코드 분해 & 테스트 우선 개발 테스트기법 1. 수동 테스트 a. 품질 담당자가 UI를 사용해 기능을 검증 b. 최종 사용자의 사용 경험과 가장 비슷하게 검증 c. 실행 비용이 높고 결과의 변동이 큼 d. 가장 온전한 코드 실행 e. 인수 테스트 2. Software Regression A software bug that makes a feature stop functioning as intended after a certain event 3. 테스트 자동화 a. 기능을 검증하는 코드를 작성 b. 테스트 코드 작성 비용이 소비되지만 실행 비용이 낮고 결과의 신뢰도가 높음 c. 테스트 코드 작성과 관리가 프로그래머 역량에 크게 영향을 받음 4. 인수테스트 a. 배치된 시스템을 대상으로 검증 b. 전체 시스템 이상 여부 신뢰도가 높음 c... 2022. 6. 19.
그림과 실습으로 배우는 도커 & 쿠버네티스 p.3 도커를 한마디로 정의하자면 '데이터 또는 프로그램을 격리시키는 기능'을 제공하는 소프트웨어라고 할 수 있다. p.8~9 쉽게 예를 들면, 시스템 A와 시스템 B가 모두 '무슨무슨 프로그램'과 연동되는 상황을 생각해보면 된다. 시스템 A가 '무슨무슨 프로그램'이 5.0버전이어야만 동작하도록 만들어졌는데 시스템 B만을 위해 '무슨무슨 프로그램'을 8.0버전으로 업데이트했다면? 시스템 A가 동작하지 않게 될 것이다. 이 예는 공통으로 함께 연동되는 소프트웨어를 예로 들었지만 실행 환경이나 라이브러리, 디렉터리나 설정 파일에서도 같은 일이 일어날 수 있다. 공유하는 대상을 어느 한쪽만을 위해 수정하면 다른 쪽에서 오류가 발생하게 된다. 이러한 문제가 업데이트할 때만 발생하는 것도 아니다. 서버에서는 여러.. 2022. 5. 26.