Domain knowledge
-
BIG-O Notation (빅오표기법)Domain knowledge 2019. 9. 18. 01:10
BIG-O Notation(빅오 표기법)은 알고리즘의 작동의 공간적,시간적 복잡도를 수학적으로 표기하는 방법입니다. 표기방법은 O(n) ,O(log n) O(N^2) 식으로 O의 괄호안에 처리식을 작성하는 형식으로 표기합니다. 위의 그래프 처럼 O(n) 을 기점으로 Y축에 가까운 형태들은 처리데이터가 많을수록 기하급수적으로 처리횟수가 높아지며 X축으로 가까운 형태들일 수록 처리횟수가 감소합니다. [참고 링크] https://en.wikipedia.org/wiki/Big_O_notation Big O notation - Wikipedia Example of Big O notation: f(x) ∈ O(g(x)) as there exists c > 0 (e.g., c = 1) and x0 (e.g., x0 ..
-
객체지향 디자인 5원칙 (SOLID)Domain knowledge 2019. 9. 18. 00:34
객체지향 디자인 5원칙 (SOLID)는 응집도를 높이고 결합도를 낮추기 위해 사용하는 디자인 원칙이다. S - SRP(Single responsibility principle) 단일 책임 원칙 클레스는 하나의 기능, 하나의 역활을 가진다. 어떤 클레스를 만드는데 있어 관련책임을 주어야한다. EX> UI와 작동의 분리 , API 통신과 리스트 갱신과의 분리 O - OCP(Open Closed Principle) 개방 - 폐쇄 원칙 확장에 대해서는 개방 , 수정에 대해서는 폐쇄 되어 있어야 한다. EX> 부모클레스 또는 인터페이스에서 기능을 선언 후 해당기능은 하위의 클레스에서 Override하여 기능을 정의하는 경우 L - LSP(Liskov Substitusion Principle) 리스코프 치환 법칙 ..
-
GC(Garbage Collection) 가비지 컬렉터Domain knowledge 2019. 8. 27. 01:33
GC(Garbage Collection)는 프로그램이 실행되면서 메모리에 할당한 내용이 더이상 프로그램에서 사용하지 않을경우 자동으로 메모리에 할당한 영역을 제거하는 메모리 관리 방법이자 메모리를 관리하는 기능을 말합니다. 기본적으로 메모리를 할당하고 해제하는 것은 프로그래머가 직접 코드로 작성하여야 하나 프로그래머의 실수나 구조상의 문제등으로 메모리 누수가 발생할 수 있기때문에 자동으로 메모리를 관리해주는 GC가 나오게 되었습니다. 가장 대표적인것이 JVM의 GC 입니다. GC의 역할은 3가지 입니다. 1. 메모리 할당 2. 사용중인 메모리 확인 3. 비사용중인 메모리 확인 자바(JAVA)에서 기본적으로 메모리는 5가지 영역으로 나누며 스텍영역(Stack Area) , PC 레지스터(PC Registe..