목록전체 글 (57)
공부함
https://core.ewha.ac.kr/publicview/C0101020140411151510275738?vmode=f 반효경 [운영체제] 16. Deadlock 1 설명이 없습니다. core.ewha.ac.kr DeadLock DeadLock - 일련의 프로세스들이 서로가 가진 자원을 기다리며 block된 상태 Resource = 자원 - 자원은 HW 자원일수도, SW 자원일수도 있다 - 프로세스가 하나의 tape drive에서 읽어서 다른 tape drive에 copy 하는 작업을 한다고 생각해보자 프로세스가 tape 2개를 다 점유해야 가능하다 P1, P2가 각각 하나의 tape을 가지고 다른 tape을 얻기를 기다린다면 deadlock이 발생한다 이 경우 HW 자원 때문에 deadlock이 ..
java랑 1주차 미션이었던 숫자야구 풀이를 해주는 영상이 있어서 복습할 겸 간단하게 정리해보고자 한다 개발 전 - 기능 요구 사항을 정리해라 - 요구사항으로부터 기능 목록을 정리해라 빌드 - 빌드 도구가 있으면 build.gradle의 dependencies에 적어준 라이브러리를 저장소에서 받아온다 패키지 - 관련있는 클래스파일들을 한 곳에 모은다 - 클래스명을 다 보지 않고 패키지명만 봐도 어떤 역할을 하는지 알 수 있다 - 패키지를 먼저 만들어서 어떤 프로그램인지 알 수 있게 하자 - model, doamin : 다루고자 하는 서비스의 비즈니스 로직이 들어있는 영역 클래스 - 클래스 이름에 어울리게 행동해야 한다 - 객체는 클래스의 복사본이다 - static 멤버변수는 모든 객체가 함께 공유하는 값..
유틸리티 클래스에 대한 고민 지금 2주차 미션을 구현하고 있는데 ....... 유틸리티 클래스를 사용해야 할지 너무 고민이다. 1주차 미션에서는 Printer와 Writer 유틸리티 클래스를 사용했다. 사용한 이유는 정리하자면 이렇다. SRP : 단일책임의 원칙 : 하나의 클래스는 하나의 책임만 가져야 한다 입,출력은 각각 하나의 기능이다 클래스로 분리하면 수정사항이 발생했을 때 하나의 클래스만 관리하면 된다 이러한 이유에서였다. 그런데 1주차 pr 리뷰에 이러한 리뷰가 달렸다. 이러한 리뷰도 달리고 해서 다시 생각해 보니까 굳이 필요한것인가..? 하는 생각도 든다. 그래서 추가로 생각해 보니 이러한 장점도 있을 것 같다. System.out.println(START_MENT); 보다 Printer.st..
우테코 프리코스 1주차 미션을 하면서 나는 +를 이용해 문자열 생성을 했다. 리뷰어가 StringBuilder, StringJoiner, String.format을 사용해서 관리하는게 어떻겠냐고 조언을 해줬다. 그래서 각 내용에 대해 간단하게 정리해보고자 한다. 먼저 String을 +를 사용해 이어붙일 때의 성능상의 단점을 알아보자. String은 불변 객체다. 즉 한번 생성하면 바꿀 수 없다. +를 이용해 하나의 문자열을 다른 문자열과 연결하게 되면 새 문자열이 생성되고 이전 문자열은 가비지 컬렉터로 돌아간다. 따라서 여러 번의 이어붙이기 연산을 통해 String을 이어붙인다면 메모리 낭비가 발생하게 된다. 가독성 측면에서도 String을 단순히 +로 이어붙이기보다는 StringBuilder나 Stri..
https://github.com/jd99iam/java-baseball-6 GitHub - jd99iam/java-baseball-6 Contribute to jd99iam/java-baseball-6 development by creating an account on GitHub. github.com 프리코스 1주 차 미션은 숫자 야구 미션이었다. 미션을 진행하면서 느끼고 배운 점을 정리해보고자 한다 검증을 어디서 해야 할까? 다양한 검증 기능 (입력 값 형태 검증, 입력 값이 숫자인지 검증, 입력 값의 볼 스트라이크 검증..)을 어느 클래스에서 구현해야 할까? 원래는 검증만 하는 Validator 클래스를 만들어서 여기서 모든 검증을 하려고 했다. 하지만 입력 값의 볼, 스트라이크를 검증하는 것은 ..
https://velog.io/@gillog/Java-Priority-Queue%EC%9A%B0%EC%84%A0-%EC%88%9C%EC%9C%84-%ED%81%90 [Java] Priority Queue(우선 순위 큐) PriorityQueue란 우선순위 큐로써 일반적인 큐의 구조 FIFO(First In First Out)를 가지면서, 데이터가 들어온 순서대로 데이터가 나가는 것이 아닌 우선순위를 먼저 결정하고 그 우선순위가 높은 데이터 velog.io 우선순위 큐란? 큐 : FIFO 구조로 먼저 들어간 값이 먼저 나오는 자료구조이다. 우선순위 큐 : 들어간 값 중 우선순위가 가장 높은 값이 먼저 나오는 자료구조이다. Java에서 우선순위 큐 java에서 우선순위 큐는 java.util.Priority..
이분탐색이란 ? 이분탐색은 정렬되어있는 리스트에서 탐색 범위를 반씩 좁혀가며 탐색하는 방식이다. https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net package codingtest; import java.util.*; import java.io.*; public class Main{ static int N; static int M; static int[] A; static int[] B; publi..
https://core.ewha.ac.kr/publicview/C0101020140401134252676046?vmode=f 반효경 [운영체제] 11. CPU Scheduling 2 / Process Synchronization 1 설명이 없습니다. core.ewha.ac.kr 데이터의 접근 컴퓨터 시스템 안에서 데이터에 접근 할 떄는 위와 같은 flow를 따르게 된다. 먼저 연산할 데이터에 접근하고 연산한 후 연산한 결과를 다시 저장하게 된다. 데이터를 읽기만 하면 문제될 게 없다. 데이터를 읽어 와서 연산한 후 결과를 다시 저장하면 누가 먼저 읽었는지에 따라 결과가 달라질 수 있고 이것을 Synchronization 문제라고 한다. Race Condition 여러 주체가 데이터에 동시에 접근하려고 하..