분류 전체보기 74

Unit 3 - SRS

2023-08-08(화) SRS의 정의 SRS(소프트웨어 요구 사항 사양)는 소프트웨어 요구 사항 사양이 무엇인지 설명하는 문서입니다. 소프트웨어가 수행하고 수행할 것으로 예상되는 방식입니다. 또한 다음을 설명합니다. 제품이 모든 이해 관계자(비즈니스, 사용자)를 충족시키는 데 필요한 기능이 필요합니다. SRS는 정의에서 살펴본 바와 같이 우리가 개발하고자 하는 소프트웨어(제품)가 무엇을 하는 것이고 어떻게 작동할지를 예상하는 문서의 집합입니다. 그렇다면 이러한 내용들을 어떤 문서로 어떻게 정리해야 하는지 살펴볼 필요가 있습니다. 정리하자면 SRS는 소프트웨어(제품)를 기획/분석, 설계, 구현, 시험하는 데 있어 필요한 종합 설계도와 같다고 할 수 있습니다. 프로젝트에서 SRS가 중요한 이유 위에서 언급..

개념학습 2023.08.08

깃허브 - 칸반

2023-08-07(월) 칸반이란? 칸반은 팀과 조직이 작업을 시각화하고, 업무의 병목 현상과 리소스 낭비를 해결하는 업무 관리 방법입니다. 칸반 보드를 통한 시각화 칸반의 대표적인 특징은 칸반 보드를 통한 업무 시각화입니다. 칸반 보드는 아래 사진처럼 업무를 하나의 티켓으로 표현하고, 업무 단계를 하나의 열로 표현합니다. 새로운 업무가 생기면 가장 왼쪽 열에 업무가 쌓이고, 업무가 잘 진행되면 가장 오른쪽으로 전달되어 쌓이는 방식입니다. 어떤 업무가 현재 어느 업무 단계에 있는지 한눈에 파악할 수 있습니다. 이렇게 한눈에 업무를 파악할 수 있게 되면 각 팀원이 다른 팀원이 어떤 일을 하고 있는지 투명하게 확인할 수 있고, 문서 파일에 쌓여있는 업무 현황보다 훨씬 더 종합적이고 빠르게 업무 흐름을 파악할..

개념학습 2023.08.07

자료구조 - 기술면접준비(Section 4)

2023-08-03(목) 자료구조 Stack과 Queue의 차이점은 무엇인가요? Tree와 Graph의 차이점은 무엇인가요? 이진 탐색 방법에 대해 설명할 수 있나요? 1. Stack과 Queue의 차이점은 무엇인가요? Stack 쌓여있는 접시와 같다. 먼저들어온 자료가 나중에 나간다. FILO(First In Last Out.) Stack은 접근성에 제한이 있는 자료구조. 오직 맨 위에 추가(push)할 수 있고, 맨 위에 것만 나갈(pop) 수 있다. Queue 놀이공원에 줄 서있는 사람들과 같다. 먼저 온 사람이 먼저 나간다. FIFO(First In First Out.) 두가지 동작만 허용된 자료구조. Enqueue(들어옴)과 Dequeue(나감). Enqueue는 queue의 가장 뒷 부분에 i..

개념학습 2023.08.03

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