
코드 품질에도 규모의 경제가 적용된다. 코드를 직접 작성하면서 프로그램이 실패하거나, 문제를 해결하고 싶어도 현상을 재현하기 쉽지 않은 경험이 있을 것이다. 예를 들면 무작위 정수 하나를 생성하고 싶다. 나는 이 책을 읽기 전까지 다음과 같은 코드로 작성했다. static Random rnd = new Random(); static int random(int n){ return Math.abs(rnd.nextInt()) % n; } 하지만 이 코드에는 결함이 3가지 있다. 첫 번째, n이 그리 크지 않은 2의 제곱수라면 얼마 지나지 않아 같은 수열이 반복된다. 두 번째, n이 2의 제곱수가 아니라면 몇몇 숫자가 평균적으로 더 자주 반환된다. (n값이 크면 이 현상은 더 두드러진다) 세 번째, random..
전 포스팅에서 Deadlock. 즉, 교착상태에 알아보았으니 이번 포스팅에선 뮤텍스와 세마포어의 차이에 대해 알아보겠습니다. 혹시, 데드락에 대해 잘 모르는 상태라면 전 포스팅 또는 하단의 Youtube 강의를 보고 보시면 더 도움이 됩니다! 2022.07.19 - [운영체제] - [운영체제] Deadlock (데드락, 또는 교착상태) [운영체제] Deadlock (데드락, 또는 교착상태) 운영체제 기술면접에 대해 공부하다 보면 세마포어와 뮤텍스의 차이를 물어보는 질문이 자주 나옵니다. 이 차이를 알기 전!!!!!!! 세마포어와 뮤텍스를 알기 위해서는 먼저 Deadlock 즉, 교착상태에 odingcoding.tistory.com https://www.youtube.com/watch?v=Ry_gB34cv..
운영체제 기술면접에 대해 공부하다 보면 세마포어와 뮤텍스의 차이를 물어보는 질문이 자주 나옵니다. 이 차이를 알기 전!!!!!!! 세마포어와 뮤텍스를 알기 위해서는 먼저 Deadlock 즉, 교착상태에 대해 먼저 알아야 합니다. ❓ Deadlock(교착상태)란? 운영체제에서 데드락(교착상태)란, 시스템 자원에 대한 요구가 뒤엉킨 상태입니다. 즉, 둘 이상의 프로세스가 다른 프로세스가 점유하고 있는 자원을 서로 기다릴 때 무한 대기에 빠지는 상황을 일컫습니다. 🔎 Deadlock의 발생조건 Deadlock에 걸리는 요건으로는 4가지가 있습니다. 첫 번째, 상호 배제 조건 (Mutual exclusion condition) 프로세스는 한 번에 하나의 자원만 사용할 수 있습니다. 사용 중인 자원을 다른 프로세..

전통적인 for문보다는 for-each 문을 사용하라 🔎 for-each문이 전통적인 for문보다 무엇이 좋을까? 다음은 전통적인 for문으로 컬렉션을 순회하는 코드다. 순차적으로 발전하는 코드를 보여주면서 for-each문의 간결함을 볼 수 있을 것이다. 1. 전통적인 for문으로 컬렉션과 배열을 순회한다. // 컬렉션 순회 for (Iterator i = c.iterator() ; i.hasNext(); ){ Element e = i.next(); ... // e로 무언가를 한다. } // 배열 순회 for (int i=0 ; i 반복자와 인덱스 변수를 사용하지 않으니 코드가 깔끔해지고 오류가 날 일도 없다. 4 -> 하나의 관용구로 컬렉션과 배열을 모두 처리할 수 있어서 어떤 컨테이너를 다루는지는 ..
- Total
- Today
- Yesterday
- 아이템60
- BOJ
- OS
- 이펙티브자바
- 순열
- 그래프탐색
- DevOps
- EffectiveJava
- Container
- Retrofit2
- 운영체제
- Java
- cicd
- 조합
- springboot
- dp
- dfs
- docker-compose
- 완전탐색
- 토큰기반인증
- 아이템61
- 백준
- subset
- BFS
- docker
- bruteforce
- IMAGE
- 알고리즘
- 완탐
- 아이템59
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |