1주차에서 인상깊었던 부분을 따로 정리하였습니다. 이름 짓기 이름을 짓는다는 행위는 추상적 사고를 기반으로 한다. 표현하고자 하는 구체에서 핵심 개념만을 추출하여 잘 드러내는 표현 우리 도메인의 문맥 안에서 표현되는 기능 단수와 복수를 구분하기 끝에 (e)s 를 붙여 어떤 데이터가 단수 인지 복수 인지 나타내는 것만으로도 읽는 이에게 중요한 정보를 제공할 ...
자신만의 언어로 클린 코딩 하기 as-is public boolean validateOrder(Order order) { if (order.getItems().size() == 0) { log.info(""주문 항목이 없습니다.""); return false; } else { if (order.getTotalPrice() > 0) { if (!order.h...
메모리의 종류는 어떤것들이 있나요? 각 메모리의 특징도 함께 적어주세요. 레지스터 - 가장 빠르고 CPU 명령 수행시 사용 캐시 메모리 - 메모리와 레지스터 중간에서 데이터를 임시 저장함. 메모리 - 프로그램 실행 시 데이터를 올려두는 공간 보조 기억장치 - 비휘발성으로 데이터를 영구 저장 사용자 프로세스가 메모리의 운영체제 영역에 침범하지 못하도록 만든 ...
프로세스 동기화 프로세스 간 통신(IPC: Inter-Process Communication) 프로세스는 독립적인 실행 단위이기 때문에 기본적으로 타 프로세스의 메모리 영역에 접근할 수 없다. 서로 다른 프로세스들이 데이터를 교환하고 협력할 수 있도록 도와주는 메커니즘이다. 통신의 분류는 크게 3가지로 분류될 수 있다. 같은 컴퓨터 내 프로세스 간 통신 같...
지금까지 배운 5개의 정렬 알고리즘의 장단점과 시간 복잡도를 적어주세요. 버블정렬, 선택정렬 , 삽입정렬 시간복잡도 O(n^2) 장점 : 이해가 쉽고 구현이 간단하다. 단점 : 다른 두 알고리즘에 비해 시간복잡도가 높다. 병합정렬, 퀵 정렬 시간복잡도 : O(nlogn) 장점 : 시간복잡도가 오래 걸리지 않는 효율적인 알고리즘. 퀵 정렬의 경우 메모리 사용...
알고리즘 재귀(Recursion) 어떠한 것을 정의할 때 자기 자신을 참조하는 것. 복잡한 문제를 간단한 하위 문제로 나누어 해결할 수 있다. 재귀적으로 정의한 함수를 재귀함수라고 한다. function func(number) { console.log(number) return number+1; } func(number) 콜스택의 메모리 공간만큼 찬 뒤에 ...
재귀(Recursion) 어떠한 것을 정의할 때 자기 자신을 참조하는 것. 복잡한 문제를 간단한 하위 문제로 나누어 해결할 수 있다. 재귀적으로 정의한 함수를 재귀함수라고 한다. function func(number) { console.log(number) return number+1; } func(number) 콜스택의 메모리 공간만큼 찬 뒤에 종료된다....