전체 글

여러분 안냐세욤
🪄 문제점: ACCESS_KEY와 SECRET_KEY가 컨테이너 환경변수 지정까지는 문제 없이 되어있으나 스프링부트에서 System.getProperty("ACCESS_KEY")로 가져오지 못한다. 🪄 해결: System.getenv()는 JVM이 실행되는 OS의 환경변수를 가져오고, System.getProperty()는 JAVA 시스템 즉 JVM에서 가져오는 것이다. 다시 말해 JVM에 국한되며, 또 다시말해 플랫폼 독립적이다. 즉 이것은 시스템 환경변수를 가져오는 메서드가 아니다. 환경변수가 Java의 시스템 속성으로서 존재하는 경우만 getProperty()로 가져올 수 있다. 그러나 우리 상황에서는 Java의 변수가 아닌 OS의 환경변수를 가져오는 것이기 때문에 System.getenv()를 써..
· 미분류글
🪄 ENV 키워드 Docker Container에 환경변수를 두고 싶을 때에는 Dockerfile에 ENV 키워드를 사용한다. 그래서 만약 시스템 환경변수를 Docker Container의 환경변수로 설정하고 싶을 때는 다음 예시와 같이 명령줄을 추가한다. ENV ACCESS_KEY $ACCESS_KEY ENV SECRET_KEY $SECRET_KEY 이렇게 하면 시스템 환경변수를 $ACCESS_KEY, $SECRET_KEY로 가져오고, ENV 키워드를 통하여, 생성할 Docker Container에 ACCESS_KEY와 SECRET_KEY라는 환경변수가 등록된다. 🪄 ARG 키워드 ARG 키워드는 빌드타임에 인수를 전달하는 것이다. 즉 ARG 키워드는 이미지를 빌드할 때 값을 유동적으로 전달하여 빌드하..
· 기타
https://www.acmicpc.net/problem/1976 1976번: 여행 가자동혁이는 친구들과 함께 여행을 가려고 한다. 한국에는 도시가 N개 있고 임의의 두 도시 사이에 길이 있을 수도, 없을 수도 있다. 동혁이의 여행 일정이 주어졌을 때, 이 여행 경로가 가능한 것인www.acmicpc.net 여행 가자... 입니다. 결국 그 경로들이 이어져 있으면 되는 문제라 BFS를 처음에 떠올렸다. 근데 빠르게 플로이드 와샬로 풀었다. 제출하고 다른 사람들 코드 보니까 Union-Find 로도 많이 풀었다. 다시 여러방법으로 해봐도 좋을 문제일듯! import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamR..
· 기타
🪄 기본 미션 다음의 메모리 할당 방식 쓰기 - 최초 적합: 최초로 발견한 적재 가능한 빈 공간에 프로세스 배치 - 최적 적합: 프로세스가 적재될 수 있는 가장 큰 공간에 프로세스 배치 - 최악 적합: 프로세스가 적재될 수 있는 가장 작은 공간에 프로세스 배치 🪄 가상 메모리 가상 메모리와 페이징 페이징 페이지 잘 관리 방법 + 🪄 선택 미션 프로세스가 사용할 수 있는 프레임이 3개 있고, 페이지 참조열이 '2313523423'일 때 LRU 페이지 교체 알고리즘으로 이 페이지를 참조한다면 몇 번의 페이지 폴트가 발생하는가? * 페이지 초기 적재시 페이지폴트는 고려하지 않음 [답: 3번❗️❗️❗️] 2 --- 2 3 --- 2 3 1 --- 2 3 1 3 --- 2 3 1 5 --- 5 3 1 ❗️ 2 -..
· 기타
https://www.acmicpc.net/problem/1253 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net 🪄 풀이 과정 투 포인터 문제다. 정렬을 곁들인! 만약 for문 완탐 으로 접근하다가 시간초과가 난다! (80억번) 첨에는 sum에 대한 hashMap으로 해결할 수 있을 것 같아서 sum을 키로 하고 sumIdx를 값으로 하는 map을 만들었다. 그래서 sum = nums[idx1] + nums[idx2]로 sumIdx 가져와서 idx1, idx2가 아니어야함을 체크하는 방식으로 했다가 큰 결함을 발견했는데, 어떤 sumI..
· 기타
https://www.acmicpc.net/problem/1238 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net 문제 요약 플로이드와샬로 풀었다. 그치만 가중치 양수니까 다익스트라로 푸는게 시간적으로 좋겠으며, 다른 코드들을 보니까 그렇게들 많이 풀었다. 최단거리 알고리즘을 연습하기 좋은 문제였다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public c..
· 기타
✨기본 미션 1번: 뮤텍스 락과 세마포에 대한 설명으로 옳지 않은 것을 고르세요. (답 ④) ① 뮤텍스 락은 임계 구역을 잠근 뒤 임계 구역에 진입함으로써 상호 배제를 위한 동기화를 이룹니다. ② 세마포는 공유 자원이 여러 개 있는 상황에서도 이용할 수 있습니다. ③ 세마포를 이용해 프로세스 실행 순서 제어를 위한 동기화도 이룰 수 있습니다. ④ 세마포를 이용하면 반드시 바쁜 대기를 해야 합니다 ← 아닙니다. 그냥 대기상태 해도 됩니다.
· 기타
4주차는 운영체제의 역할, 프로세스 & 스레드 개념, 그리고 프로세스를 효율적으로 CPU에 할당하기 위한 CPU 스케줄링 아이디어들... 이 학습 범위였다. 자료를 보지 않고 말로 설명할 수 있을 정도로 공부해두면 좋을 것 같다! ✨ 기본 미션304p 1번 🪄 운영체제 시작하기운영체제를 알아야 하는 이유 / 운영체제의 큰 그림 🪄 프로세스와 스레드프로세스 개요*PCB(Process Control Block) 프로세스 상태와 계층 구조 프로세스 상태 [운영체제] 프로세스 상태도Intro 각 프로세스는 우리의 RAM에서 이런 구성으로 할당이 되어 돌아간다. * 참고(논외): 프로세스가 new상태일 때 값들이 세팅된다. 보조기억장치 내부에 Virtual Address Space(VAS, 가상 주소 공간)이 생..
· 기타
🪄 기본 미션 185p 3번 주로 캐시 메모리로 활용됩니다: SRAM 주로 주기억장치로 활용됩니다: DRAM 대용량화하기 유리합니다: DRAM 집적도가 상대적으로 낮습니다: SRAM 205p 1번 (1)레지스터 (2)캐시메모리 (3)메모리 (4)보조기억장치 🪄 메모리와 캐시 메모리 RAM의 특징과 종류 메모리의 주소 공간 캐시 메모리 🪄 보조기억장치(+선택미션) 다양한 보조기억장치 RAID의 정의와 종류 🪄 입출력장치 장치 컨트롤러와 장치 드라이버 입출력장치는 규격화가 어렵고 전송률도 낮아서 다루기 까다롭다. 그래서 컴에 직접 연결하지 않고, 장치 컨트롤러 (하드웨어) 장치에 연결한다 *장치컨트롤러(=입출력제어기, 입출력모듈) 왜? 장치컨트롤러가 어쨌길래.. 1) CPU ~ IO장치간의 통신 중개 2) ..
· 기타
https://www.acmicpc.net/problem/14890 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 이 문제는 경사로를 놓기 위한 높이조건과 길이조건이 있었다. 맨 처음 높이조건을 확인하며 세가지상태를 리턴했는데, 그 중 높이차가 존재해 경사로를 배치해줘야 하는 경우에서 경사로 길이조건을 따져주었다. 후기 어떤 문제를 풀건 인덱스 따지는 부분에서 자잘한 실수가 있다. 조심하자. 한번에 착착... import java.io.BufferedReader; import java.io.IOException; import ..
히어로맛쿠키
자꾸 생각나는 체리쥬빌레