목록취업준비 (3)
어디까지 갈 수 있을까?
1. 문제 이해 2. 설계 - 시간복잡도로 방향성 잡기 - 아이디어 - To Do List 만들기 - 검증(입력예제 기반 손검증, 시간복잡도, boundary test) 3. 구현 4. 디버깅 설계 50%(최악의 경우) / 구현 + 디버깅 50% 시간분배가 적절 설계를 안 하고 풀었던 경우 디버깅에 시간이 다 가는 경우가 많았다. 앞으로 설계를 최우선으로 하고 문제를 풀어야겠다.
1. 단축키 breakpoint / toggle breakpoint f9 디버깅 시작 shift + f9 step over f8 resume shift + f8 step into f7 디버깅 종료 ctrl + f2 에디터로 포커스 변경 esc 2. 설명 resume : 다음 breakpoint로 이동 step over : 한줄한줄 실행 step into : 호출된 함수로 이동 step out : 함수에서 빠져나옴 run to cursor : 포커스 된 라인으로 이동 ** breakpoint / toggle breakpoint 은 기존 단축키를 변경함 3. 기타 evaluate : 수동 실행 watch : 삭제하기 전까지 자동 실행 특정 조건에서 멈추고 싶을 때? i==5와 같은 조건문을 추가하고 거기에 ..
-프로세스 : 운영체제가 작업을 처리하는 최소 단위, 운영체제가 pcb에 상태 저장 -스레드 : 프로세스가 작업을 처리하는 최소 단위, 스레드 별로 상태정보 가짐(pcb는 커널에서, tcb는 프로세스내에서 관리함) *멀티스레드의 장점 1. 컨텍스트 스위칭시 공유하고 있는 메모리만큼 메모리 자원을 아낄 수 있음 2. stack외에 모든 메모리를 공유하기 때문에 통신 부담이 적어 응답 시간이 빠르다 *멀티스레드의 단점 1. 하나의 스레드에 오류가 나면 모든 스레드가 종료될 수 있다. 2. 자원을 공유하기 때문에 동기화 문제가 발생한다 *멀티스레드의 동시성과 병렬성 동시성 : 싱글코어에서 멀티스레드를 동작시키기 위한 방식, 여러 개의 스레드를 번갈아가며 실행(시분할처럼 동시에 실행되는 것처럼 보이게 하는 거 ..