전체 글(137)
-
[운영체제] 프로세스에 대한 연산
대부분 시스템 내의 프로세스들은 병행 실행될 수 있으며, 반드시 동적으로 생성되고 제거되어야 한다. 그러므로 운영체제는 프로세스 생성, 종료를 위한 기법을 제공해야 한다. 프로세스 생성 및 종료 과정 실행되는 동안 프로세스는 여러 개의 새로운 프로세스들을 생성할 수 있다. 같이 생성한 프로세스는 부모 프로세스 새로운 프로세스는 자식 프로세스라 부른다. 때문에 프로세스 구조는 트리구조를 형성한다. 대부분의 운영체제에서는 PID (프로세스 식별자 -> DB -> 유일키 역할)를 사용해 프로세스의 고유값을 할당해 구별한다. 일반적으로 프로세스가 자식 프로세스를 생성할 때 그 자식 프로세스는 자신의 임무를 달성하기 위하여 CPU 시간, 메모리, 파일, 입출력 장치가 필요한다. 자식프로세스는 이 자원을 운영체제..
2024.09.04 -
[프로그래머스 - JAVA] 다리를 지나는 트럭
문제 설명 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다. 단, 다리에 완전히 오르지 않은 트럭의 무게는 무시합니다.예를 들어, 트럭 2대가 올라갈 수 있고 무게를 10kg까지 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서대로 최단 시간 안에 다리를 건너려면 다음과 같이 건너야 합니다. 경과 시간다리를 지난 트럭 다리를 건너는 트럭 대기 트럭0[][][7,4,5,6]1~2[][7][4,5,6]3[7][4][5,6]4[7][4,5][6]5[7,4][5][..
2024.08.31 -
[프로그래머스 - JAVA] 전력망을 둘로 나누기
문제 설명 n개의 송전탑이 전선을 통해 하나의 트리 형태로 연결되어 있습니다. 당신은 이 전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개로 분할하려고 합니다. 이때, 두 전력망이 갖게 되는 송전탑의 개수를 최대한 비슷하게 맞추고자 합니다. 송전탑의 개수 n, 그리고 전선 정보 wires가 매개변수로 주어집니다. 전선들 중 하나를 끊어서 송전탑 개수가 가능한 비슷하도록 두 전력망으로 나누었을 때, 두 전력망이 가지고 있는 송전탑 개수의 차이(절대값)를 return 하도록 solution 함수를 완성해주세요. 제한사항n은 2 이상 100 이하인 자연수입니다. wires는 길이가 n-1인 정수형 2차원 배열입니다. wires의 각 원소는 [v1, v2] 2개의 자연수로 이루어져 있으며, 이는 전력망의..
2024.08.29 -
[MockMvc - SpringTest] Spring Security Login Test
Spring Boot Security를 이용하여 로그인 테스트를 실행 방법을 알아보자. 기본 세팅 - gradle testImplementation 'org.springframework.security:spring-security-test' Test를 하기 위해서는 security-test 라이브러리를 추가해줘야 한다. 기본적으로 Mockmvc 가상 웹 환경에서 진행하는데 해당 과정의 동작 처리에 필요하다(CSRF 토큰, 인증, 인가등등..) 테스트 코드 작성 방법 @Slf4j@SpringBootTest@TestPropertySource(locations = "classpath:application-api.properties")@ActiveProfiles("test")@Transactional@Auto..
2024.08.25 -
[트러블 슈팅 - Spring Test] 의존성 주입 실패 (test yml 파일 안 읽힘)
문제 사항 org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'messageController' defined in file [~~~\controller\MessageController.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'messageService': Injection of autowired dependencies failedCaused by: org.springframework.beans.factory.BeanCreationExcep..
2024.08.25 -
[운영체제] 프로세스란
초기의 컴퓨터 시스템은 한 번에 하나의 프로그램만을 실행하도록 허용하였다. 이 프로그램이 시스템을 완전히 제어하고, 시스템의 모든 자원에 접근할 수 있었다. 반면 오늘날의 컴퓨터 시스템들은 메모리에 다수의 프로그램이 적재되어 병행 실행되는 것을 허용한다. 이러한 발전은 다양한 프로그램을 보다 견고하게 제어하고 보다 구획화할 것을 필요로 했다. 이러한 필요성이 프로세스의 개념을 낳았으면, 프로세스란 실행 중인 프로그램을 말한다. 프로세스는 현대의 컴퓨팅 시스템에서 작업의 단위이다.모든 프로세스는 잠재적으로 병행 실행이 가능하고, CPU는 이들 프로세스 가운데에서 다중화된다. 프로세스 개념 초기에는 작업을 실행하는 일괄처리 시스템이었고, 사용자 프로그램 또는 태스크를 실행하는 시분할 시스템이 뒤를 이어 발전..
2024.08.22