오늘의 생각
무계획이 얼마나 무모한 일인지 알기 때문에 개발 프로세스를 배울 때는 경청하는 자세로 배웠다.
워터폴 방식과 애자일 방식의 차이점을 이해하는데 조금 어려움이 있었지만, 각 방식의 (내가 느끼는)미묘한 차이에서 오는 장단점이 있기 때문에 납득할 수 있었다.
CI와 CD는 듣기엔 매우 합리적이고 단순해 보였는데, 막상 Github Actions와 사용하려니 많이 헷갈렸다. 내가 빌드를 한건지, AWS S3에 복사는 된건지 알기 어려웠다.
물론 Actions 결과 창을 보면 알 수 있었지만, 기존 콘솔창에서 에러 해결하는 것보다 더 생소하고 어려웠다.
프록시는 분명 유용하고 좋아 보였는데, 여러 개의 포트를 사용하는게 과연 보안상에 좋을까? 라는 의문이 들었었다.
그런데 이게 왠걸, 프록시를 활용해 서버를 분할해 사용하는 것이 오히려 보안을 강화시키는 방법(!!)이라고 한다. 생각해보면 결국 우회경로를 통해 리소스를 따로 보관하는 것이고, 해킹 공격이 들어오더라도 한 곳에 모든 정보가 있는 것이 아닌 분산 형식이라 보안이 더 강화된다는 것에 납득할 수 있었다.
오늘의 키워드
개발 프로세스, 소프트웨어 개발 생명주기(SDLC, Software Develpment Life Cycle), 수정형/적응형/완전형/예방형 유지보수, 폭포수(Waterfall) 방식, 시스템/알파/베타 테스트, 애자일(Agile) 방식, SaaS, DevOps, CI/CD, Github Action, 워크플로(Workflow), YAML (Yet Another Markup Language), Proxy
오늘의 학습내용
- 개발 프로세스의 발전과 각 단계에서의 과정
- 워터폴 방식과 애자일 방식의 차이점 및 각각의 장단점
- DevOps의 정의 및 특징
- CI와 CD의 정의 및 단계별 역할
- CI/CD 파이프라인 과정 및 배포 자동화를 쓰는 이유
- GitHub Action과 YAML의 사용법
- CORS 정책이 필요한 이유
- Proxy 사용법: webpack dev server proxy와 React Proxy
어려웠던 keyword / 활용한 질문
Q. 배포에서 파이프라인이란 무슨 뜻인가요?
A. 소스 코드의 관리부터 실제 서비스로의 배포 과정을 연결하는 구조를 뜻합니다. 파이프라인은 대표적으로 Source - Build - Deploy 단계로 분리하며, 각 단계는 파이프라인 안에서 순차적으로 실행됩니다.
Q. YAML의 단점이 무엇인가요?
A. 데이터 전송, API 등에서 널리 사용되지 않기 때문에 대중성과 실용성이 떨어집니다. 또한 문법상 단 하나의 여백을 잘못 입력한 것만으로도 코드 자체가 작동하지 않을 수 있습니다.
'개발자 일기 > 일일회고 (TIL)' 카테고리의 다른 글
부트캠프 80일차 (Section 4 회고) (0) | 2022.12.14 |
---|---|
부트캠프 77 ~ 79일차 (자료구조, 알고리즘, Coz' Mini Hackathon) (0) | 2022.12.14 |
부트캠프 74일차 (AWS, CI/CD) (0) | 2022.12.07 |
부트캠프 73일차 (최적화Optimization) (0) | 2022.12.05 |
부트캠프 71, 72일차 (GraphQL, TDD) (0) | 2022.12.02 |
댓글