programmers.co.kr/learn/courses/30/lessons/43238 1. 문제 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 명만 심사를 할 수 있습니다. 가장 앞에 서 있는 사람은 비어 있는 심사대로 가서 심사를 받을 수 있습니다. 하지만 더 빨리 끝나는 심사대가 있으면 기다렸다가 그곳으로 가서 심사를 받을 수도 있습니다. 모든 사람이 심사를 받는데 걸리는 시간을 최소로 하고 싶습니다. 입국심사를 기다리는 사람 수 n, 각 심사관이 한 명을 심사하는데 걸리는 시간이 담긴 배열 times가 매개변수로 주어질 때, 모든 사람이 심사를 받는데 걸리는 시..
1. 관계의 개념 가. 관계의 정의 나. 관계의 패어링 유의해야할 점은 관계는 엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것(패어링)이고 이것의 집합을 관계로 표현한다는 것이다. 따라서 개별 인스턴스가 각각 다른 종류의 관계를 가지고 있다면 두 엔터티 사이에 두 개 이상의 관계가 형성될 수 있다. 각각의 엔터티의 인스턴스들은 자신이 관련된 인스턴스들과 관계의 어커런스로 참여하는 형태를 관계 패어링(Relationship Paring)이라 한다. 그림 Ⅰ-1-31에서는 강사인 정성철은 이춘식과 황종하에게 강의를 하는 형태로 관계가 표현되어 있고 조시형은 황종하에게 강의를 하는 형태로 되어 있다. 이와 같이 엔터티내에 인스턴스와 인스턴스사이에 관계가 설정되어 있는 어커런스를 관계 패어링이라고 한다. 엔..
1. 속성 (Attribute)의 개념 속성의 정의를 정리해 보면 다음과 같다. • 업무에서 필요로 한다. • 의미상 더 이상 분리되지 않는다. • 엔터티를 설명하고 인스턴스의 구성요소가 된다. 2. 엔터티, 인스턴스와 속성, 속성값에 대한 내용과 표기법 가. 엔터티, 인스턴스, 속성, 속성값의 관계 엔터티, 인스턴스, 속성, 속성값에 대한 관계를 분석하면 다음과 같은 결과를 얻을 수 있다. • 한 개의 엔터티는 두 개 이상의 인스턴스의 집합이어야 한다. • 한 개의 인스턴스는 두 개 이상의 속성을 갖는다. • 한 개의 속성은 한 개의 속성값을 갖는다. 속성은 엔터티에 속한 엔터티에 대한 자세하고 구체적인 정보를 나타내며 각각의 속성은 구체적인 값을 갖게 된다. 예를 들어 사원이라는 엔터티에는 홍길동이라..
1. 엔터티의 개념 • 엔터티는 사람, 장소, 물건, 사건, 개념 등의 명사에 해당한다. • 엔터티는 업무상 관리가 필요한 관심사에 해당한다. • 엔터티는 저장이 되기 위한 어떤 것(Thing)이다. 엔터티란 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것(Thing) 또는, 엔터티는 업무 활동상 지속적인 관심을 가지고 있어야 하는 대상으로서 그 대상들 간에 동질성을 지닌 인스턴스들이나 그들이 행하는 행위의 집합 2. 엔터티와 인스턴스에 대한 내용과 표기법 엔터티와 엔터티간의 ERD를 그리면 그림 Ⅰ-1-15와 같이 표현할 수 있다. 그림 Ⅰ-1-15에서 과목, 강사, 사건은 엔터티에 해당하고 수학, 영어는 과목이라는 엔터티의 인스턴스이고 이춘식, 조시형은 강사라는 엔터티의 인스턴스..
1. 모델링의 이해 가. 모델링의 정의 모델 : 모형(模型), 축소형(縮小型)의 의미로서 사람이 살아가면서 나타날 수 있는 다양한 현상에 대해서 일정한 표기법에 의해 표현해 놓은 모형 ☞ 커뮤니케이션의 효율성을 극대화한 고급화된 표현방법 모델링 : 표기법에 의해 규칙을 가지고 표기하는 것. 즉, 모델을 만들어가는 일 자체 나. 모델링의 특징 1) 추상화(모형화, 가설적) : 현실세계를 일정한 형식에 맞추어 표현을 한다는 의미. 즉, 다양한 현상을 일정한 양식인 표기법에 의해 표현 2) 단순화 : 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 쉽게 이해할 수 있도록 하는 개념 3) 명확화 : 누구나 이해하기 쉽게 하기 위해 대상에 대한 애매모호함을 제거하고 정확(正確)하게 ..
- 현재 상황에서 지금 당장 좋은 것만 고르는 방법. - 일반적인 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구. - 그리디 해법은 정당성 분석이 중요. => 단순히 가장 좋아 보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토. - 일반적인 상황에서 그리디 알고리즘은 최적의 해를 보장할 수 없을 때가 많음. - 하지만 코딩테스트에서의 대부분의 그리디 문제는 탐욕법으로 얻은 해가 최적의 해가 되는 상황에서, 이를 추론할 수 있어야 풀리도록 출제. - 가장 큰 화폐 단위부터 돈을 거슬러 주는 것이 최적의 해를 보장하는 이유 => 가지고 있는 동전 중에서 큰 단위가 항상 작은 단위의 배수이므로 작은 단위의 동전들을 종합해 다른 해가 나올 수 없기 때문. -..
낮은 단계의 격리성 수준에서 발생할 수 있는 현상들 1. Dirty Read - 다른 트랜잭션에 의해 수정됐지만 아직 커밋되지 않은 데이터를 읽는 것을 말함. - 변경 후 아직 커밋되지 않은 값을 읽었는데 변경을 가한 트랜잭션이 최종적으로 롤백된다면 그 값을 읽은 트랜잭션은 비일관된 상태에 놓이게 됨. 2. Non-Repeatable Read - 한 트랜잭션 내에서 같은 쿼리를 두 번 수행했는데, 그 사이에 다른 트랜잭션이 값을 수정 또는 삭제하는 바람에 두 쿼리 결과가 다르게 나타나는 현상. 3. Phantom Read - 한 트랜잭션 내에서 같은 쿼리를 두 번 수행했는데, 첫 번째 쿼리에서 없던 유령(Phantom) 레코드가 두 번째 쿼리에서 나타나는 현상을 말함. 트랜잭션 격리성 수준 1. Read..
스프링은 지정된 클래스 이름을 가지고 리플렉션을 이용해서 해당 클래스의 오브젝트를 만듦. 클래스의 이름을 갖고 있다면 다음과 같은 방법으로 새로운 오브젝트를 생성할 수 있음. Date now = (Date) Class.forName("java.util.Date").newInstance(); 스프링은 내부적으로 리플렉션 API를 이용해서 빈 정의에 나오는 클래스 이름을 가지고 빈 오브젝트를 생성함. 그러나 다이나믹 프록시 오브젝트는 위와 같이 일반적인 스프링의 빈으로는 등록할 방법이 없음. 스프링은 클래스 정보를 가지고 디폴트 생성자를 통해 오브젝트를 만드는 방법 외에도 빈을 만들 수 있는 여러 가지 방법을 제공함. => 대표적으로 팩토리 빈을 이용한 생성 방법. 팩토리 빈을 만드는 방법에서 가장 간단한 ..
- Total
- Today
- Yesterday
- 스택/큐
- Synchronous
- 블로킹
- blocking
- 프로그래머스 Level 3
- non-blocking
- Filter
- 프로그래머스 Level 2
- 프로그래머스
- 동기
- http://www.nextree.co.kr/p6960/
- 비동기
- 인터셉터
- 프로그래머스 Level 1
- 필터
- Asynchronous
- a
- Handler Interceptor
- 논블로킹
- 코딩테스트 고득점 Kit
- 해시
- 핸들러 인터셉터
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |