전체 글 54

정처기 정리

유닉스/리눅스 로그 파일 중 현재 시스템에 로그인한 사용자 정보를 보여주는 로그 파일 - utmp/utmpx 자동반복 요청 방식(ARQ)의 종류 중 연속적으로 데이터 프레임을 전송하고 에러가 발생한 데이터 프레임만 재전송하는 방식 - Selective Repeat ARQ ---------------블랙 박스 테스트 -------------- 요구사항의 논리와 발생 조건을 테이블 형태로 나열하여 조건과 행위를 모두 조합 - Decision Table Testing SW의 일부 또는 전체를 트리 구조로 분석 및 표현하여 테스트 케이스를 설계하여 테스트 - Classification Tree Method Testing 입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석한 다음 효용성이 높은 ..

ETC/ETC 2024.02.05

[Java] Executors로 스레드 관리하기

Thread Pool 과 Executor Framework를 사용하는 이유? - 자바에서 Executors는 task를 간단하게 비동기로 처리할 수 있게 해주는 thread-pool과 API를 제공하는 framework이다. 각각의 프로세스에 스레드를 새로 생성하고 관리하는 작업은 메모리를 소비하고, CPU에서는 컨텍스트 스위칭(Context Switching)이 일어나 그 만큼의 시간을 소비하게 된다. 이 때 Thread Pool을 사용한다면 스레드를 재사용하여 효율적으로 스레드를 관리할 수 있다. Thread Pool은 Queue 자료구조로 관리된다. Executor는 크게 4 타입으로 구분된다. 1.) SingleThreadExecutor - task를 순차적으로(sequential)로 실행하기 위..

[자료구조] 연결리스트로 Stack(스택) 구현해보기

Stack은 추상자료형(Abstract Data Type , ADT)이기 때문에 구현 방법을 따로 명시하지 않아 어떤 방법으로든 구현이 가능하다. 보통 Array, LinkedList, Deque 중에서 사용하는데, 이 글은 LinkedList를 통해 Stack을 구현하는 방법을 소개한다. Stack 자료구조란? Stack 자료구조를 tail이 없는 LinkedList라고 생각하면 쉽다. LinkedList에서는 head를 제외하면 포인터를 이용해 노드에 접근하기 때문에 중간 노드로의 바로 접근이 불가하다. Stack도 이와 마찬가지로 중간으로의 접근이 불가하고 항상 LinkedList의 head에 해당하는 top에서만 접근이 가능하다. 그림으로 표현하면 아래와 같다. Stack은 그림과 같이 접시처럼 ..