[용어 정리] 애자일 방법론이란?
·
CS
서론 회사에서 애자일 방식을 통해 프로젝트를 진행하게 되었다. 설명을 듣긴 하였지만, 정확히 어떤 이론인지 알지 못하여 정리하고자 글을 작성하게 되었다. 소프트웨어 개발 방법론이란? 소프트웨어 개발에 필요한 반복적인 과정(절차, 방법, 산출물, 기법, 도구)들을 체계적으로 정리한 것 수 많은 소프트웨어 실제 개발 과정을 정리하여 체계적인 분석을 통해 각각의 상황에 맞는 개발 방법을 정의한 이론 정리하자면, 현재 나보다 앞서 경험해 보시고 불편함을 느끼신 선배님들께서, 이러한 불편함을 최소화하기 위해 여러 방법론을 만들어 놓으셨다. 어떤 방법론이 '좋다, 나쁘다' 보다는 속해있는 팀, 회사 상황, 어떠한 프로젝트인지.. 상황에 맞게 그에 맞는 방법론을 활용하면 좋은 결과를 낼 수 있을 것이라고 생각한다. ..
[용어 정리] 캐시(Cache) 란 무엇인가?
·
CS
캐시(Cache)란? 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소 캐시는 캐시의 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우 사용 캐시는 저장 공간이 작고 비용이 비싼 대신 빠른 성능을 제공 요약 캐시란 이전의 요청과 동일한 요청이 들어오면 복잡한 작업을 수행해서 결과를 보여주는 대신, 이미 보관된 결과를 바로 돌려주는 방식을 말한다. 캐시의 등장 배경 무어의 법칙(Moore's law) 반도체 집적회로의 성능이 24개월마다 2배로 증가한다는 법칙이다. 무어의 법칙에 의해 CPU의 처리속도는 급격하게 증가하였지만, 메모리 접근 속도는 그러지 못했습니다. 연산의 속도는 빠르지만, 연산에 필요한 데이터가 오는 속도가 느리기 때문에 CPU의 성능을 모두 내지 못했습니다. 이러..
[용어 정리] REST API (RESTful API) 란 무엇인가?
·
CS
개요 REST REST 란? REST 구성 REST의 장단점 REST API REST API 란? REST API 규칙 RESTful API RESTful API 란? 요약 및 정리 REST 란? REST(Representational State Transfer)는 월드 와이드 웹(World Wide Web)과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식이다 - [위키백과] 웹에 존재하는 모든 자원(이미지, 동영상 DB 자원 등..)에 고유한 URI(Uniform Resource Identifier)를 부여. 이러한 자원에 대한 주소를 지정하는 방법론을 의미한다. REST 구성 구성 요소 내용 표현 방법 Resource 자원 HTTP URI Verb 자원에 대한 행위 HTTP Me..
[용어 정리] MVC 디자인 패턴이란 무엇인가?
·
CS
디자인 패턴 특정 문맥에서 공통적으로 발생하는 문제에 대해 재사용 가능한 해결책이다. 소스나 기계 코드로 바로 전환될 수 있는 완성된 디자인은 아니며, 다른 상황에 맞게 사용될 수 있는 문제들을 해결하는 데에 쓰이는 템플릿이다. 디자인 패턴은 프로그래머가 애플리케이션이나 시스템을 디자인할 때 공통된 문제들을 해결하는 데에 쓰이는 형식화된 가장 좋은 관행이다. - [위키백과] MVC란 MVC는 Model-View-Controller의 약자. 하나의 애플리케이션을 구성할 때 그 구성 요소를 세 가지로 구분한 패턴. 사용자 인터페이스로부터 비즈니스 로직을 분리하여, 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있다. Model (모델) 애플리케이션의 정보, 프로그램에서 사용되는 데이터를 의미. ..
[용어 정리] 자료구조(Data structure)란 무엇인가?
·
CS
자료구조 자료(Data)의 집합 Data를 저장하고, 관리하기 위해 사용하는 구조 자료구조의 목적 데이터를 효율적으로 저장 및 관리하여 메모리를 효율적으로 사용하기 위함 자료구조의 사용은 메모리의 용량을 절약해주고, 실행 시간을 단축시켜줌 자료구조 종류 선형 구조 (Linear data Structure) 데이터를 일렬로 저장하는 방식 리스트 (List) 스택 (Stack) 큐 (Queue) 데크 (deque) 비선형 구조 (Non-linear data Structure) 데이터를 나란히 저장하지 않는 구조 그래프 (Graphs) 트리 (Trees) 리스트 (List) 단순 연결 리스트 원형 연결 리스트 이중 연결 리스트 스택 (Stack) 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 LIFO (Last ..
[용어 정리] 렌더링 방식과 웹 아키텍처에 따른 분류 CSR/SSR SPA/MPA
·
CS
CSR (Client Side Rendering) vs SSR (Server Side Rendering) 랜더링(Rendering - 화면에 데이터를 뿌려주는 행위)을 하는 주최에 따라 구분된다. CSR (Client Side Rendering) 클라이언트에서 렌더링이 일어남 CSR 동작 1. 유저(Client)가 서버(Server)에 요청을 보냄 2. HTML 파일과 JS를 서버에서 전송 3. 브라우저에서 HTML 파일과 JS 다운 4. 브라우저에서 프레임워크 실행 (TTV / TTI) TTV (Time To View- 사용자가 볼 수 있음) TTI (Time To Interact - 사용자가 클릭 등의 인터렉션 가능) CSR 장점 1. 컴포넌트 정의 및 재사용에 용이 2. Blinking (깜빡임) ..