분류 전체보기
TIL - 0301
1. 자바 플레이 그라운드 with TDD, 클린 코드 미학습 2. 혼자서 공부하는 컴퓨터 구조 + 운영체제 * 교착상태 해결 방법 교착상태 예방 구분 특징 상호배제 제외 - 모든 자원을 공유하게 만드는 방법 - 현실적으로 어려움 점유와 대기 제외 - 특정 프로세스에 자원을 모두 할당 or 전혀 할당하지 않음 - 자원의 활용률이 낮아지고, 자원을 많이 사용해야 하는 프로세스의 기아현상이 발생할 수 있음 비선점 제외 - 선점방식으로 사용 - 하지만 비선점으로 자원을 이용해야만 하는 프로세스가 존재 원형대기 제외 - 모든 자원에 번호를 붙이고 오름차순으로 자원 할당 - 특정 자원의 활용률 저하 및 번호매김이 쉽지 않다. 교착상태 회피 구분 특징 안전 상태 - 교착상태가 발생하지 않고 모든 프로세스가 정상적으..

TIL - 0228
1. 자바 플레이 그라운드 with TDD, 클린 코드 블랙잭 구현 중 Players 일급컬렉션의 지네릭 타입을 Player -> Person(Player, Dealer의 인터페이스)로 변경 UI 변경 어느정도 마무리가 되었다. 재구현전에 클래스간 의존관계 및 메소드 내용을 정리해 다이어그램을 그려보자 2. 혼자서 공부하는 컴퓨터 구조 + 운영체제 * 동기화 기법 구분 특징 뮤텍스락 - 하나의 공유자원을 상정한 방식 - 상호배제를 위한 동기화 도구 - 자물쇠 역할의 전역변수 : lock - 임계구역을 잠그는 역할의 함수 : acquire(임계 구역이 잠겨 있다면 열릴때 까지 반복적으로 확인, 열린 경우엔 잠금 -> lock = true; - 잠금해제 역할의 함수 : release(lock = false;..
프로그래머스 - 무인도 여행
1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/154540 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 접근방식 전형적인 dfs, bfs방식의 문제다. 처음 접근은 dfs로 진행하고 시간초과로 틀릴 경우 bfs로 접근하려고 했는데 다행히 한번에 합격했다. String배열로 온 maps를 int배열로 바꿔준다. (X->0으로 바꿔서 넣어주기.굳이 0이 아니어도 상관은 없다. 구별가능한 다른 숫자면 무엇이든 가능) 방문한적이 없고(!visited) , 바다이지 않은 경우(map[i][..
TIL - 0225
1. 자바 플레이 그라운드 with TDD, 클린 코드 블랙잭 구현 중 Card클래스를 상속받던 Spade, Heart, Diamond, Clover 클래스 제거 -> Card에 상수로 선언 Players 일급컬렉션에 saveCards메소드 추가 매일 짦은 시간으로 연달아 하니 점점 꼬이는게 느껴진다. 첫째, 요구사항에 대한 분석이 제대로 이루어지지 못함 -> 도메인간 의존관계를 명확하게 둘째, 클래스사이에 비슷한 기능의 메소드들이 존재 -> 위와 관련된 문제로 클래스간 의존관계를 명확하게 정했어야함 2. 혼자서 공부하는 컴퓨터 구조 + 운영체제 미학습 3. 알고리즘 미학습
TIL - 0224
1. 자바 플레이 그라운드 with TDD, 클린 코드 블랙잭 구현 중 sumTotal 메서드 추가(숫자가 아닌 값(A,J,QK) + 숫자인 값) 및 테스트패스 새로운 카드 추가 시 중복값 존재 여부 확인 테스트 Player를 저장하는 Players 일급컬렉션 클래스 생성 MVC패턴을 유지하기 위한 UI 변경(UI에 새로운 객체들을 생성하기보단 BlackJack(Controller)객체 하나를 생성해 활용 2. 혼자서 공부하는 컴퓨터 구조 + 운영체제 * CPU 스케줄링 알고리즘 구분(스케줄링) 특징 선입선출 (FCFS) - 준비 큐에 삽입된 순서대로 프로세스를 처리하는 스케줄링 방식(비선점형) - 호위효과 발생(먼저 삽입된 프로세스 대기 시간이 길 경우 나중에 삽입된 프로세스는 대기시간이 길어짐) 최단..
백준 1934번 자바
1. 문제 https://www.acmicpc.net/problem/1934 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net 2. 유클리드 호제법? 역시 자세한 설명은 네이버가 잘해준다. https://terms.naver.com/entry.naver?docId=2073670&cid=47324&categoryId=47324 유클리드 호제법 [ 1. 교과서 속 주개념] [ 1) 유클리드 호제법] 두 정수 a, b의 최대공약수를 G(a, b)라고 하자. 정수 a, b, q r (b ≠ 0)에 ..