1. 알고리즘
- SQL 알고리즘
- SUBSTR 활용(예를 들어 문자열이 AB12345라고 할 때, SUBSTR(STRING,1,2)의 값은 AB가 된다.)
- 프로그래머스 - 올바른 괄호
- https://ahlight.tistory.com/181
프로그래머스 - 올바른 괄호
1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이
ahlight.tistory.com
2. 운영체제(공룡책)
*챕터5 - CPU 스케줄링 (CPU Scheduling)
5.7 여러 운영체제별 사례
- Linux CFS(완벽한 공정 스케줄러)를 사용해 각 태스크에 일정 비율의 CPU 처리 시간을 할당 - vruntime값을 기준으로
- Windows는 선점형 32단계 우선순위 기법을 사용해 스케줄링한다.
- Solaris는 전역 우선순위에 매핑된 6개의 스케줄링 클래스로 스케줄링한다.
*챕터6 - 동기화 도구들 (Synchronization Tools)
6.1 Background
- 여러개의 프로세스가 병행, 병렬로 실행되며 공유 데이터에 동시에 접근하는 문제를 해결하기 위한 방안이 필요 - 데이터의 무결성을 해치기 때문
- 이러한 상황을 경쟁 상황(race condition)이라고 부른다 - 어느 한순간에 하나의 프로세스만이 공유 데이터에 접근해야해결 할 수 있다.
6.2 The Critical-Section Problem(임계 구역 문제)
- 임계 구역(critical section) 또는 공유변수 영역은병렬컴퓨팅에서 둘 이상의 스레드가 동시에 접근해서는 안되는 공유 자원(자료 구조 또는 장치)을 접근하는 코드의 일부를 말한다. - 위키백과
- 쉽게 말해 두개 이상의 프로세스는 동시에 자신의 임계구역에 들어갈 수없다.
- entry section - critical section - exit section - remainder section으로 구분 지을 수 있다.
- 임계 구역 문제 해결 조건 3가지 - 상호배제(mutual exclusion), 진행(progress), 한정된 대기(bounded waiting)
- 상호배제 - 한 프로세스가 자신의 임계구역에서 실행되고 있다면 다른 프로세스는 그들 자신의 임계구역에서 실행될 수 없다.
- 진행 - 임계구역에 진입해 있는 프로세스가 없고, 진입하려는 프로세스가 여러개 있을 때 어는 프로세스가 들어갈지 적절하게 처리해줘야함(무한정 연기가 발생되지 않게)
- 한정된 대기 - 프로세스의 기아 현상을 방지하기 위해 한 프로세스의 연속적인 임계구역 진입을 방지해줘야 한다.
3. 후니의 쉽게 쓴 시스코 네트워킹
* Part 8
4. Spring MVC 1
Chapter 1 WAS에 대한 이해
- 웹 서버와 웹 어플리케이션의 차이 - 웹 서버 + WAS + DB의 시스템 구성으로 각각의 단점을 보완
- 서블릿의 역할 - 요청과 응답에 필요한 여러 과정을 도와줘 프로그래머가 비즈니스 로직에만 전념할 수 있게 도와줌
- HttpServletRequest, HttpServletResponse를 사용한 요청,응답 정보를 편리하게 사용, http스펙을 편리하게 사용
- 서블릿 컨테이너 - 서블릿을 지원하는 WAS
- 컨테이너는 서블릿 객체를 생성, 초기화, 호출, 종료의 생명주기 관리
- 서블릿 객체는 싱글톤으로 관리된다. - 공유변수 사용에 주의
- jsp도 서블릿으로 변환되어 사용된다.
- 멀티 쓰레드 처리 지원
- 동시 다발적인 요청마다 쓰레드를 생성하는 것은 비효율적 - WAS에선 쓰레드 풀을 사용해 이를 해결
- 쓰레드 풀의 쓰레드 적정 숫자는 여러가지 변수에 따라 달라짐 - 애플리케이션의 복잡도, CPU, 메모리 등
- WAS의 멀티 쓰레드 지원으로 개발자는 싱글 스레드 프로그래밍을 하듯이 편리하게 개발 가능
'TIL' 카테고리의 다른 글
TIL - 0613 (0) | 2023.06.13 |
---|---|
TIL - 0608 (0) | 2023.06.08 |
TIL - 0602 (0) | 2023.06.03 |
TIL - 0531 (0) | 2023.06.01 |
TIL - 0529 (0) | 2023.05.29 |