- 2023_1st_Semester
- codingTest
- Linux
- Baekjoon
- Java
- programmers
- 티스토리챌린지
- Operating_System
- datastructure
- cloud_computing
- Univ._Study
- C
- Kubernetes
- Database_Design
- Android
- study
- 오블완
- 자격증
- 리눅스마스터2급
- c++
- kubeflow
- Python
- SingleProject
- tensorflow
- Personal_Study
- Algorithm
- Artificial_Intelligence
- app
- Image_classification
- Unix_System
목록study (64)
코딩 기록 저장소

1. 지식기반 에이전트 지식기반 에이전트 (Intelligent Agent) ■ 에이전트(Agent)란? - Sensor를 통해 환경(environment)를 인식하고, 동작(action)을 수행할 수 있는 작동기(Actuactors)를 통해 인식된 환경에 대한 동작을 수행하는 개체 -> 즉 복잡한 환경에서 환경을 인식하여 주어진 목표를 달성하려는 시스템 ■ 단순 반사 에이전트 (Simple Reflex Agent) - Sensor를 통해 인식한 환경만을 고려하여 동작(action)을 수행 (이전 History 고려 X) memo : 약간 if else 룰 같음. 해당하는 조건에 맞으면 바로 실행 예를 들어 자율주행 자동차 앞차가 브레이크 밟으면 우리도 브레이크 밟기 시작함 ■ 모델 기반 에이전트 (Mo..

탐색 전략 ■ 탐색 전략 (Search Strategy) 종류 무정보 탐색 (Uninformed Search, Blind Search (맹목적 탐색) ) 정보 이용 탐색 (Informed Search) 지역 탐색 (Local Search) 게임 탐색 (Game search) 1. 정보이용 탐색 (Informed Search) ■ 정보이용 탐색이란? - 상태 공간에 대한 추가적인 정보나 지식을 활용해서 탐색 하는 방법 - 정보이용 탐색은 휴리스틱(H(n), 평가함수)을 활용하기 때문에 휴리스틱 탐색(Heuristic Search)이라고도 함 - 휴리스틱(Heuristic) : 최적의 해를 찾다는 보장(Optimality)은 없지만, 신속한 어림짐작을 통해 충분히 좋은 해를 찾을 수 있는 경험적 지식 mem..

1. 유닉스 편집기 유닉스 편집기의 종류 ■ 행 단위 편집기 - ed - 유닉스 초기에 사용 -> 지금은 거의 사용하지 않음 - ex - 단독으로 사용하기 보다는 vi와 연결하여 사용 ■ 화면 단위 편집기 - vi - vi와 유사한 화면 편집기 - 솔라리스는 vi 명령을 사용하면 vim을 실행함 - Emacs - 막강한 기능 제공 -> 설치해서 사용해야 함 모드형과 비모드형 ■ 모드형 - 명령모드에서 입력한 키는 명령으로 간주 - 입력모드에서 입력한 키는 데이터로 간주 - 모드를 바꾸기 위한 특수 키가 있음 (ex : Esc) - vi는 모드형 ■ 비모드형 - 입력한 모든 키는 데이터로 간주됨 - 명령은 특수키(Ctrl, Alt 등)와 일반키의 조합으로 구성 - ex) 아래 한글, 워드 2. vim의 사..

1. 스레드 동기화의 필요성 ■ 다수의 스레드가 동시에 공유 데이터에 쓰기를 접근하면 - 공유 데이터가 훼손되는 문제 발생 가능 - 두 스레드가 동시에 공유 데이터 읽는 경우 -> 문제 없음 - 한 스레드는 쓰고 한 스레드는 읽을 경우 -> 읽고 쓰는 순서에 따라 읽는 값이 달라질 수 있지만 공유데이터의 훼손은 없음 - 두 스레드가 동시에 공유 데이터에 쓰는 경우 -> 공유 데이터 훼손 가능성 ■ 스레드 동기화 (Thread Synchronization) - 공유데이터에 대한 다수의 스레드가 동시에 접근할 때 공유데이터가 훼손되지 않게 하는 기법 - 한 스레드가 공유데이터를 배타적 독점적으로 접근하도록 순서화 공유 집계판에 동시 접근하는 사례 공유 집계판 문제를 프로그램으로 작성 ■ 공유 집계판 사례의 ..

1. CPU 스케줄링 개요 운영체제에서 일어나는 다양한 스케줄링 ■ 스케줄링은 왜 필요할까? - 자원에 대한 경쟁이 있는 곳에서 경쟁자 중 하나 선택 - 자원 : CPU, 디스크, 프린트, 파일, 데이터베이스 등 IO, CPU - 컴퓨터 시스템 여러 곳에서 발생 ■ 컴퓨터 시스템 내 다양한 스케줄링 작업(job) 스케줄링 배치시스템에서 대기중인 배치 작업(Job) 중 메모리에 적재할 작업 결정 CPU 스케줄링 - 프로세스 스케줄링 프로세스/스레드 중에 하나를 선택하여 CPU 할당 오늘날 CPU 스케줄링은 커널 수준의 스레드 스케줄링 디스크 스케줄링 디스크 장치 내에서 디스크 입출력 요청 중 하나 선택 프린터 스케줄링 프린팅 작업 중 하나 선택하여 프린터 할당 다중프로그래밍과 스케줄링 ■ 다중프로그래밍의 ..

1. 파일 내용 보기 : cat / more / tail cat cat [ 옵션 ] nl 파일명 - 간단한 파일보기 명령으로 짧은 파일에 적합 ■ 옵션 -n : 행 번호 출력 nl : 행번호 포함한 파일 내용 ■ 사용법 more more [ 옵션 ] 파일명 - 파일의 내용을 한 화면씩 출력 ■ 옵션 + 행 번호 : 지정한 행부터 출력 ■ 명령 다음 페이지 : space 이전 페이지 : b 종료 : q 문자열 찾기 : /문자열 ■ 사용법 tail tail [ 옵션 ] 파일명 - 파일의 마지막 부분 출력 ■ 옵션 + 행 번호 : 지정한 행부터 끝까지 출력 - 숫자 : 화면에 출력할 행 수 - f : 파일 출력이 종료되지 않고 주기적으로 반복 출력 ■ 사용법 2. 파일 복사 : cp cp [ 옵션 ] 원본 파..