목록전체 글 (48)
킴의 레포지토리
1. CPU 스케줄링이란 CPU는 한번에 단 하나의 프로그램만 수행할 수 있다. 여러 프로그램이 동시에 실행되려면, CPU가 여러 프로그램을 빠르게 번갈아가면서 수행해 동시에 동작하는 것처럼 보여야 한다. CPU 스케줄링이란 대기하고 있는 프로세스 중에 어떤 프로세스를 다음으로 실행할지를 결정하는 것이다. CPU 상에서 동작하는 프로그램이 있으면 다른 프로그램들은 대기해야한다. 동시에 실행되는 여러개의 프로그램을 어떤 순서로 실행하느냐가 시스템의 전체 성능에 직접적인 영향을 미친다. CPU 스케줄링에 따라서 프로세스의 대기시간(waiting time), 응답시간(turn around), CPU 이용률에 영향을 미치며 CPU 스케줄링에 따라서 시스템 성능이 좌우된다. 프로세스의 상태 NEW: 프로세스가 생..
List students = List.of( new Student("hong", 100, Student.Sex.MALE, Student.City.Seoul), new Student("kim", 80, Student.Sex.FEMALE, Student.City.Seoul), new Student("park", 50, Student.Sex.MALE, Student.City.Pusan) ); Map avgScoreBySex = students.stream() .collect( Collectors.groupingBy( Student::getSex, TreeMap::new, Collectors.averagingDouble(Student::getScore))); avgScoreBySex.entrySet() .for..
이전 프로젝트에서 JWT로 사용자 인증 및 인가 로직을 구현할때 인터셉터를 활용했다. 이 경험을 바탕으로, 필터와 인터셉터의 사용 목적과 차이점을 다시 한번 고민해보기로 했다. 우선, 필터와 인터셉터가 왜 사용되는지 살펴본다. 이어서, 서블릿 컨텍스트와 어플리케이션 컨텍스트이 차이점 그로 인한 필터와 인터셉터의 주요 차이점에 대해 알아본다. JWT 토큰 검증 로직을 인터셉터에 구현한 이유를 분석하고, 이 로직을 필터에 적용할 경우의 방법과 장점을 분석해본다. 1. 필터와 인터셉터는 공통 관심사를 분리하기 위해 사용된다. 공통관심사는 비지니스 로직으로부터 분리되어야한다. 인증 및 인가, 로깅, 인코딩 등 어플리케이션의 다양한 로직에서 걸쳐 공통으로 적용되는 로직을 공통 관심사라고 한다. 공통 관심사를 위해..