Free Lines Arrow
본문 바로가기
728x90

전체 글350

[Spring] 객체지향 설계의 5가지 원칙(SOLID) SOLID? 5개의 원칙의 앞글자를 따서 만든것이다. S => SRP(Single responsibility principle): 단일 책임 원칙 O => OCP(Open/Closed principle): 개방-폐쇄 원칙 L => LSP(Liskov substitution principle) 리스코프 치환원칙 I =>ISP(Interface segregation principle) 인터페이스 분리 원칙 D=>DIP(Dependency inversion principle) 의존관계 역전 원칙 SRP 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다 ex) 악기 라는 클래스가 있다면 악기의 속성만 다뤄야 한다. 악기 클래스 안에서 악기의 이름과 속성을 DB에 저장하는 기능이 동시에 있으면 안된다. //.. 2021. 4. 14.
[Algorithm] 병합정렬(merger sort) 병합정렬? 병합 정렬의 특징은 빠르다. 구현이 어렵다. 병합 정렬의 flow 1. 분할: 문제를 반으로 나눈다. 2. 정복: 반으로 나눈 문제를 해결한다. 3. 병합: 해결된 문제들을 합친다. 예시 12345678 이 있으면 다음 단계로 나눈다. 1단: 1234 | 5678 2단: 12 | 34 | 56 | 78 3단: 1|2|3|4|5|6|7|8 다시 문제들을 정복해 나가면서 병합한다. 구현 public class MergeSort { MergeSort(){}; public void merge(int []data, int start, int center, int end) { int i = start; // 배열 앞부분 인덱스 int j = center+1; // 배열 중간 인덱스 int k = star.. 2021. 4. 13.
[Spring] 스프링 공부 본격적으로 시작 Spring을 어떻게 배울까? 스프링을 어디서 부터 시작해야되지 막막한 사람들이 이글을 보고 잘 배웠으면 좋겠다. 물론 실패한 과정도 있다. 1. 책구매 토비의 스프링 책을 구매했다. 독학하기에 꽤 큰 책이었다. 책을 읽고 공부를 하다보니 의문점이 왔다. 물론 이론부터 배우는것도 좋지만 그래도 한번 스프링이 무엇인지 한번 경험해보는것이 좋겠다 싶었다. 그리고 나서 책을보면서 더 탄탄한 베이스를 만들자 생각을 했다. 사실 아무것도 모르는데 설명해주는 사람 없고 혼자 이해하는게 제일 위험한거다. 잘못된 개념이 자리잡으면 고치기 힘들다 생각했다. 그래서 인강을 찾아봤다. 2. 인강 열심히 인강을 찾아 돌아다니던중 패스트캠프 와 인프런이 눈에 들어왔다. 패스트 캠프 패스트 캠프의 스프링 후기 를 찾아봤지만 좋지.. 2021. 4. 12.
[Algorithm] 조합 구현 구현1 nCr #include using namespace std; void combination(int arr[], int n, int r, int index, int target, int comb[]) { cout j & 1) { cout 2021. 4. 11.
728x90
반응형