Section4 8

Unit 7 - [Deploy] CI/CD - Proxy

2023-08-02(수) CORS 에러 많은 사람들이 알겠지만 CORS 에러의 근본적인 오류는 "같은 도메인으로부터 요청"을 하지 않았기 때문이다. CORS 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제입니다. 근데 개발을 하다보면 react server에서 db server로 요청을 해야하는데 같은 도메인을 공유하지 않기에 요청을 하면 CORS에러가 뜸 그러면 CORS에러를 어떻게 해결?????? CORS 에러 해결하기 해결방법: proxy 이용하기 Proxy? 자신을 통해서 다른 네트워크 서비스에 간..

Section4 2023.08.02

Unit 7 - [Deploy] CI/CD 파이프라인

2023-08-01(화) 배포 자동화 배포 자동화란 한 번의 클릭 혹은 명령어 입력을 통해 전체 배포 과정을 자동으로 진행하는 것을 뜻합니다. 배포 자동화가 왜 필요할까요? 먼저 수동적이고 반복적인 배포 과정을 자동화함으로써 시간이 절약됩니다. 휴먼 에러(Human Error)를 방지할 수 있습니다. 여기서 휴먼 에러란 사람이 수동적으로 배포 과정을 진행하는 중에 생기는 실수들을 뜻합니다. 그전에 했던 배포 과정과 비교하여 특정 과정을 생략하거나 다르게 진행하여 오류가 발생하는 것이 휴먼 에러의 예로 볼 수 있습니다. 배포 자동화를 통해 전체 배포 과정을 매번 일관되게 진행하는 구조를 설계하여 휴먼 에러 발생 가능성을 낮출 수 있습니다. CI/CD 파이프라인 앞서 우리는 전통적인 개발 프로세스와 모던 개..

Section4 2023.08.01

Unit 7 - [Deploy] CI/CD

2023-08-01(화) CI/CD란 CI/CD는 약어로, 몇 가지의 다른 의미를 가지고 있습니다. CI/CD의 "CI"는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미합니다. CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 있습니다. CI/CD의 "CD"는 지속적인 서비스 제공(Continuous Delivery) 및/또는 지속적인 배포(Continuous Deployment)를 의미하며 이 두 용어는 상호 교환적으로 사용됩니다. 두 가지 의미 모두 파이프..

Section4 2023.08.01

Unit 7 - [Deploy] DevOps

2023-08-01(화) DevOps 전통적인 IT 조직 구조로는 개발팀(Dev)과 운영팀(Ops)이 소프트웨어의 개발과 관리 및 유지보수를 담당해 왔습니다. 개발팀(Dev) - 잦은 배포 및 업데이트 - 애플리케이션을 통해 새로운 기능(리소스) 제공 운영팀(Ops) - 프로덕션 앱의 안정성 확보 - 인프라 관리 - 모니터링 및 제어 개발팀이 잦은 업데이트를 통해 제품에 변화를 만들어야 한다면, 운영팀은 이런 서비스의 구성의 변경을 최소화해 안정성을 확보하는데, 이 부분은 꽤 상충이 되는 부분이기 때문에 갈등을 야기하기도 합니다. 이런 갈등이 빚어지는 구조는 현대 IT 시장에는 맞지 않을뿐더러, 제품의 릴리스 주기를 길어지게 만들기도 합니다. 그렇기 때문에 DevOps라는 개념이 만들어졌습니다. DevO..

Section4 2023.08.01

Unit 7 - [Deploy] 개발 프로세스

2023-08-01(화) 개발 프로세스란? 개발 프로세스란 소프트웨어 시스템이나 애플리케이션 개발 및 유지보수할 목적으로 수행되는 활동의 절차를 뜻합니다. 목적 ? 개발 프로세스의 목적은 개발에 대한 전체적인 가이드라인을 제공하는 데에 있습니다. 1. 절차가 있는 개발과 그렇지 않은 개발은 큰 차이가 있다. 개발 프로세스, 즉 소프트웨어 개발 프로세스 모델은 소프트웨어 개발 생명주기(SDLC, Software Develpment Life Cylcle) 를 기반으로 만들어졌습니다. 요구분석 및 시스템 명세 작성 : 문제분석 단계라고도 하며, 개발할 소프트웨어의 기능과 제약조건, 목표 등을 사용자와 함께 정확히 정의하는 단계입니다. 개발하고자 하는 소프트웨어의 성격을 정확히 이해하여 이를 토대로 개발 방법과..

Section4 2023.08.01

[TypeScript] - 기초(1)

TypeScript 마이크로 소프트에서 개발한 JavaScript의 상위 집합(Superset)언어이다. JavaScript에 정적 타입 검사와 클래스 기반 객체지향 프로그래밍 등의 기능을 추가해 개발된 언어이다. JavaScript가 발전하면서 생긴 단점(타입의 명시성이 부족한 단점으로 인해 예상치 못한 결과를 초래한다.)을 보완하기 위해 등장했다. 장점 정적타입 검사 기능 제공 코드의 가독성과 유지 보수성을 높여준다. 런타임 에러 최소화 코드 작성 시간 단축 협업시 코드의 가독성을 높을 수 있다. ES6 문법 포함한 최신 JavaScript 문법 지원 인터페이스(interface), 제네릭(Generic), 데코레이터(Decorators) 등의 기능을 제공해 객체 지향 프로그래밍을 보다 쉽게 할 수 ..

Section4 2023.07.27

Unit 1 [ 자료구조 ]

2023-07-07(금) 자료구조 - Stack 그리고 Queue 자료구조란 무엇일까요? = 자료구조를 설명하기에 앞서, 데이터는 무엇일까요? 데이터는 문자,소리,숫자,그림,영상 등 실생활을 구성하고 있는 모든 값 입니다. 그러나 데이터는 그 자체만으로 어떤 정보를 가지기 힘듭니다. 예를들어 나이라는 데이터만 알고있다면, 사람의 나이인지, 동물의 나이인지, 구분할 수 있을까요? 이처럼 데이터는 분석하고 정리하여 활용해야만 의미를 가질 수 있습니다. 이처럼 데이터를 분석하고 특징을 잘 파악해서 정리하고 저장하고 사용하는 방법을 알려주는 구조가 바로 자료구조 입니다. 자료구조의 분류 수많은 선배 개발자는 무수한 상황에 데이터를 효율적으로 다룰 수 있는 여러 방법을 연구해 두었습니다. 무수한 상황의 예시 번호..

Section4 2023.07.07