전체 글
-
6.5 CI/CD 파이프라인코드스테이츠 2023. 6. 5. 17:39
배포 자동화 배포 자동화란 한 번의 클릭 혹은 명령어 입력을 통해 전체 배포 과정을 자동으로 진행하는 것을 뜻합니다. 배포 자동화가 왜 필요할까요? 먼저 수동적이고 반복적인 배포 과정을 자동화함으로써 시간이 절약됩니다. 휴먼 에러(Human Error)를 방지할 수 있습니다. 여기서 휴먼 에러란 사람이 수동적으로 배포 과정을 진행하는 중에 생기는 실수들을 뜻합니다. 그전에 했던 배포 과정과 비교하여 특정 과정을 생략하거나 다르게 진행하여 오류가 발생하는 것이 휴먼 에러의 예로 볼 수 있습니다. 배포 자동화를 통해 전체 배포 과정을 매번 일관되게 진행하는 구조를 설계하여 휴먼 에러 발생 가능성을 낮출 수 있습니다. CI/CD 파이프라인 앞서 우리는 전통적인 개발 프로세스와 모던 개발 프로세스에 대해 배웠습..
-
6.5 CI/CD코드스테이츠 2023. 6. 5. 17:33
CI/CD란 CI/CD는 약어로, 몇 가지의 다른 의미를 가지고 있습니다. CI/CD의 "CI"는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미합니다. CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 있습니다. CI/CD의 "CD"는 지속적인 서비스 제공(Continuous Delivery) 및/또는 지속적인 배포(Continuous Deployment)를 의미하며 이 두 용어는 상호 교환적으로 사용됩니다. 두 가지 의미 모두 파이프라인의 추가 단계에 대한 ..
-
6.5 DevOps코드스테이츠 2023. 6. 5. 17:32
DevOps 전통적인 IT 조직 구조로는 개발팀(Dev)과 운영팀(Ops)이 소프트웨어의 개발과 관리 및 유지보수를 담당해 왔습니다. Dev(개발팀)Ops(운영팀) 특징 - 잦은 배포 및 업데이트 - 애플리케이션을 통해 새로운 기능(리소스) 제공 - 프로덕션 앱의 안정성 확보 - 인프라 관리 - 모니터링 및 제어 개발팀이 잦은 업데이트를 통해 제품에 변화를 만들어야 한다면, 운영팀은 이런 서비스의 구성의 변경을 최소화해 안정성을 확보하는데, 이 부분은 꽤 상충이 되는 부분이기 때문에 갈등을 야기하기도 합니다. 이런 갈등이 빚어지는 구조는 현대 IT 시장에는 맞지 않을뿐더러, 제품의 릴리스 주기를 길어지게 만들기도 합니다. 그렇기 때문에 DevOps라는 개념이 만들어졌습니다. DevOps는 소프트웨어 개발..
-
6.5 개발 프로세스의 발전코드스테이츠 2023. 6. 5. 17:30
개발 프로세스의 발전 개발 프로세스 개발 프로세스, 즉 소프트웨어 개발 프로세스 모델은 소프트웨어 개발 생명주기(SDLC, Software Develpment Life Cycle)를 기반으로 만들어졌습니다. [그림] 개발 프로세스 요구분석 및 시스템 명세 작성 : 문제분석 단계라고도 하며, 개발할 소프트웨어의 기능과 제약조건, 목표 등을 사용자와 함께 정확히 정의하는 단계입니다. 개발하고자 하는 소프트웨어의 성격을 정확히 이해하여 이를 토대로 개발 방법과 필요한 자원 및 예산 예측 후 요구명세를 작성합니다. 설계 : 설계단계에서는 앞서 정의한 기능을 실제로 수행하기 위한 방법을 논리적으로 결정합니다. 크게 시스템, 프로그램, UI(User Interface) 설계로 나뉘며, 시스템 구조설계는 시스템을 구..
-
-
6.1 TypeScript의 제네릭(Generic)코드스테이츠 2023. 6. 1. 12:39
타입스크립트의 제네릭(Generic)은 코드 재사용성을 높이고 타입 안정성을 보장하는 기능입니다. 제네릭을 사용하면 함수나 클래스를 작성할 때, 사용될 데이터의 타입을 미리 지정하지 않고, 이후에 함수나 클래스를 호출할 때 인자로 전달된 데이터의 타입에 따라 자동으로 타입을 추론하게 됩니다. 아래와 같은 코드가 있습니다. 제네릭의 필요성 function printLog(text) { return text; } 위의 printLog 함수는 파라미터로 text를 받고 있으며, 반환 값으로 text를 리턴하고 있습니다. 이를 제네릭 없이 구현한다면 아래와 같이 구현할 수 있을 것입니다. function printLog(text: string): string { return text; } printLog('he..
-
-
5.31 TS열거형실습코드스테이츠 2023. 5. 31. 16:07
/* 밑의 코드를 enum으로 구현합니다. */ const NumberColor = { RED: 0, GREEN: 1, BLUE: 2, }; const StringColor = { RED: 'red', GREEN: 'green', BLUE: 'blue', }; enum NumberColor { RED, GREEN, BLUE, } enum StringColor { RED = 'red', GREEN = 'green', BLUE = 'blue', } 이렇게 변경하는게 맞는걸까..................