분류 전체보기158 큐와 스택 큐(Queue) 큐는 선형 자료구조의 일종으로 First In First Out(FIFO)의 성질을 가지고 있다. 먼저 들어간 원소가 가장 먼저 나오게 되는 구조이다. 큐가 사용되는 예로는 은행 번호표 시스템, OS의 스케줄링, 리그오브레전드 매칭큐 시스템 등이 있다. 스택(Stack) 스택도 선형 자료구조의 일종으로 Last In First Out(LIFO)의 성질을 가지고 있다. 나중에 들어간 원소가 먼저 나오게 된다. 스택의 예시로는 웹 브라우저 방문기록(뒤로가기), 실행취소(undo), 수식의 괄호 검사 등에서 사용된다. 2021. 9. 29. 배열과 연결리스트 배열(Array) 배열은 가장 기본적인 자료구조로, 논리적 저장 순서와 물리적 저장 순서가 일치한다. 따라서 인덱스(index)로 해당 원소에 접근할 수 있고, O(1)의 시간만에 해당 원소에 접근할 수 있다. 하지만 원소를 삽입, 삭제하는 경우에는 뒤의 원소들을 한칸씩 shift 해줘야하기 때문에 O(n)의 시간이 걸린다. 연결리스트(Linked List) 연결리스트는 원소 각각이 자기 자신 다음 순서가 어떤 원소인지만 기억한다. 그래서 어떤 특정 인덱스의 원소에 접근하기 위해서는 첫번째 원소부터 순차적으로 검색해야 하므로 O(n)의 시간이 걸린다. 어떤 특정 원소의 주소를 알고 있을 때 그 원소를 삭제하던가 삽입하는 시간은 O(1)의 시간이 걸리지만, 주소를 모르고 몇번째 원소인지(인덱스)만 알고 있.. 2021. 9. 29. MVC패턴이란 무엇인가? MVC는 Model, View, Controller로 나눠져서 서버를 구성하는 모델을 말한다. 그렇다면 Model은 무엇이고, View는 무엇이고, Contoller는 무엇인가? Controller 클라이언트의 요청을 받았을 때, 그 요청에 대해 실제 업무를 수행하는 모델 컴포넌트를 호출한다. 또한 클라이언트가 보낸 데이터가 있다면, 모델에 전달하기 쉽게 데이터를 가공한다. 모델이 업무를 마치면 그 결과를 뷰에게 전달한다. Model 컨트롤러가 호출할 때 요청에 맞는 역할을 수행한다. 비즈니스 로직을 구현하는 영역으롤 응용프로그램에서 데이터를 처리하는 부분이다. 비지니스 로직이란 업무에 필요한 데이터처리를 수행하는 응용프로그램의 일부라고 할 수 있다. DB에 연결하고 데이터에 대한 CRUD 작업을 수행한.. 2021. 9. 29. TDD란 무엇인가? TDD는 Test-Driven Development의 약자로 짧은 개발 사이클의 반복에 의존하는 소프트웨어 개발 프로세스이다. 개발자는 요구되는 새로운 기능에 대한 자동화된 테스트케이스를 작성하고 해당 테스트를 통과하는 가장 간단한 코드를 작성한다. 테스트를 통과하는 코드를 작성하고 상황에 맞게 리팩토링하는 과정을 거치는 것이다. 테스트가 코드 작성을 주도하는 개발방식인 것이다. 테스트를 작성하기 위해서, 개발자는 요구사항과 명세를 분명히 이해하고 있어야 한다. 이는 개발자가 보다 요구사항에 집중할 수 있도록 도와준다. 한번에 좋은 코드를 작성하기는 쉽지 않기에 계속해서 리팩토링을 해줘야한다. 이 때 TDD를 해왔다면 간단한 테스트를 통해 리팩토링을 신뢰성있게 진행할 수 있다. 결국 리팩토링의 속도와 코.. 2021. 9. 29. Spring - AOP AOP란 무엇인가? AOP는 Aspect Oriented Programming(관점 지향 프로그래밍)의 약자이다. OOP를 보완해주는 역할을 합니다. Controller, Service, Repository 같은 핵심 관심 사항에 시간측정 같은 공통 관심 사항을 적용해줄 수 있다. 공통 관심 사항을 핵심 관심 사항과 별도로 작성해서 관리해주면 유지보수에 용이하다. 인프라 로직 애플리케이션의 전 영역에서 나타날 수 있음 중복코드를 만들어낼 가능성 때문에 유지보수가 힘들어짐 비지니스 로직과 함께 있으면 비즈니스 로직을 이해하기 어려워짐 Target 어떤 대상에 부가 기능을 부여할 것인가 Advice 어떤 부가 기능을 부여할 것인가? Join point 어디에 적용할 것인가? 메서드, 필드, 객체, 생성자 등.. 2021. 9. 28. RESTful한 API란 무엇인가 REST란 REpresentational State Transfer의 약자이다. RESTful이란 REST의 기본 원칙을 성실히 지킨 서비스 디자인을 말한다. REST는 하나의 아키텍처로 볼 수 있다. REST는 Resource Oriented Architecture이다. API 설계의 중심에 자원(Resource)가 있고, HTTP Method를 통해 자원을 처리하도록 설계하는 것이다. REST 6 가지 원칙 Uniform Interface Stateless Caching Client-Server Hierarchical system Code on demand RESTful하게 API를 디자인 한다는 것은 무엇을 의미하는가? 1. 리소스와 행위를 명시적이고 직관적으로 분리한다. 리소스는 URI로 표현되는.. 2021. 9. 28. 이전 1 ··· 15 16 17 18 19 20 21 ··· 27 다음