공부
-
I/O Bound와 Context Switching공부 2025. 7. 18. 20:53
CPU bound vs I/O bound프로그램이나 작업의 병목이 어디에서 발생하는지를 설명하는 개념 CPU bound (CPU 제한): 프로그램의 실행 속도가 CPU의 연산 능력에 의해 제한되는 경우.I/O bound (입출력 제한): 프로그램의 실행 속도가 입출력 작업(I/O)에 의해 제한되는 경우. CPU BoundCPU 때문에 boundCPU 사용량 높음, 복잡한 계산, 반복문, 알고리즘 연산 등이 주 원인.CPU가 쉬지 않고 계속 연산을 수행해야 하므로, CPU 사용률이 높음.예시: 대규모 행렬 곱셈, 암호화/복호화, 머신러닝 모델 학습, 재귀 알고리즘을 이용한 수학 문제 계산해결: 더 빠른 CPU / 멀티스레딩 / 병렬 처리I/O BoundI/O 때문에 boundCPU는 대기 상태이고, 디..
-
정수론 공부공부 2025. 6. 23. 21:53
백준 6064 카잉 달력을 풀다가 정수론 공부함이하 출처 : https://dimenchoi.tistory.com/46 정수론정수론: 정수의 특징(약수와 배수, 몫과 나머지)에 대해 탐구왜 필요? 1) 현대 암호의 원리: 두 개의 큰 소수를 곱하는 건 쉽지만, 이 결과를 다시 소인수분해하는 것은 어렵다2) 컴퓨터를 이용한 계산, 메모리 설계 등에서 다양하게 쓰이고 있다. 최대공약수 GCD, Greatest Common Division최소공배수 LCM, Least Common MultipleA, B를 소인수분해 해서 공통된 소인수를 모두 곱하면 GCD, 두 수의 모든 소인수를 곱하면 LCM 벤다이어그램으로 표현하면 여러가지 정리를 유도하는 데 도움이 된다예를 들면, AB = LG정수론에서 GCD와 LCM는..
-
DB 고민: PK, 정규화와 역정규화공부 2024. 7. 1. 00:31
정규화,역정규화 + DB 스키마테이블에서 키가 될 수 있는 조건들unique : 테이블 안에서 동일한 값이 없어야 함not null : Null값이 포함되면 안 됨최소성 : 키가 너무 많으면 성능이 저하된다불변성 : 다른 테이블에 참조될 수 있기 때문에 자주 변하는 것은 좋지 않다정규화1NF 컬럼이 하나의 값(원자값)을 갖도록 : 다중값을 가진 취미 컬럼을 여러 row로 펼치기2NF 완전 함수 종속적이도록 : 테이블의 주제는 단 한가지. PK가 모든 데이터 하위 집단에 대해 별도의 테이블을 생성해야 함. 복합PK의 부분이 다른 컬럼을 결정하지 않아야 함 (강좌이름 → 강의실이 학생 성적 테이블에 같이 존재하는 경우 강좌이름에 의존하는 컬럼을 분리)3NF 이행적 종속 없애기 : 기본 키에 변경이 있는 경우..
-
[JAVA] final공부 2024. 6. 22. 12:26
final final 지역변수 : 지역 내 값 변경 불가, 최초 한 번만 할당 가능final 매개변수 : 메서드 내 값을 변경 불가, 호출 시점의 값이 메서드 실행동안 유지됨final 필드 - 필드에서 초기화 : 모든 인스턴스가 같은 값, 상수(Constant)임, 메모리 낭비를 줄이기 위해 static 사용이 좋다 - 생성자에서 초기화 : 인스턴스 생성 이후 값 할당 불가 필드(클래스에 포함된 변수, cv iv)final 변수 - 기본형 변수 : 값 고정 - 참조형 변수 : 주소 고정, 참조값 변경 불가 참조대상의 값은 변경 가능
-
[JAVA] Thread Quiz공부 2024. 6. 20. 20:59
문제/** * Thread Quiz * 벡터는 동기화 된 콜렉션인데 왜 에러가 발생할까? 에러를 수정해보자! */public class VectorTest { private static Vector vector = new Vector(); public static void main(String[] args) { while (true) { for (int i = 0; i 20) ; } }} 풀이 문제 현상 : 없는 것을 remove()하거나 get()한다문제 원인 : size()와 get() 사이에 sleep()이 있기 때문에 그 시간에 remove()가 들어와버리는 문제Vector의 동기화는 메소드 단위로 되어 있기 때문에..
-
[JAVA]참조 유형의 4단계 / [운영체제] Locality of Reference공부 2024. 6. 19. 20:39
4 levels of object referencesStrong Soft Weak Phantom GC x GC o 아래로 갈 수록 참조가 약한 것으로, GC의 대상이 되기 쉽다 ↑ 참조의 강도가 높음강한 참조 Stong Reference기본GC되지 않음GC 원한다면 명시적 null 표시 필요약한 참조 Soft Reference메모리 부족 시 GC의 대상참조 지역성의 원리를 활용하기 위해 주로 cache에 사용됨. cache의 성능을 개선하며 메모리 누수 방지가 가능Weak reference해당 객체를 참조하는 strong ref.가 없는 경우 바로 GC의 대상캐시에 사용!여유 있어도 즉시 수거될 가능성이 높다Phantom Reference객..
-
[SQL] (프로그래머스) '서울에 위치한 식당 목록 출력하기' 문제 풀기공부 2024. 6. 19. 20:28
-- REST_INFO와 REST_REVIEW 테이블에서 -- 서울에 위치한 식당들의 -- 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수-- 리뷰 평균점수는 소수점 세 번째 자리에서 반올림 해주시고-- 평균점수를 기준으로 내림차순 정렬, 즐겨찾기수를 기준으로 내림차순 정렬해주세요. (오라클 구문)SELECT i.REST_ID, REST_NAME, FOOD_TYPE, FAVORITES, ADDRESS, ROUND( AVG(r.review_score), 2 ) AS SCOREFROM REST_INFO i, REST_REVIEW rWHERE i.address LIKE '서울%' AND i.rest_id = r.rest_idGROUP BY i.RE..