일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- m:n
- 편향된 지수
- 영속화
- 기본키 전략
- DTO
- 백준
- @Autowired
- 쿠키
- JPA
- 파이썬
- allocationSize
- application layer
- 프로그래머스
- JDBC
- Git
- 커밋 되돌리기
- 컴파일 타임 상수
- 알고리즘
- spring
- compgen
- BindingResult
- API
- 은행원알고리즘
- intelij spring config
- 쉘 스크립트
- 무한정 대기
- @SubscribeMapping
- 데커
- 런타임 상수
- 리눅스
- Today
- Total
목록전체 글 (93)
둘셋 개발!
엔티티 (JPA가 관리하는 객체)의 기본키를 자동으로 생성하는 전략에는 3가지가 있다. 1. IDENTITY 2. SEQUENCE 3. TABLE 아래의 내용은 각각의 전략에 대한 설명과 성능향상을 위한 방법과 실제 사용 예시이다. 1. IDENTITY @Entity public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; //... } 이 전략은 기본키 생성을 DB에게 위임하는 것이다. 엔티티를 영속성 컨텍스트에 persist 하려고 할 때 DB에 저장하고 DB로부터 기본키를 받아 영속성 컨텍스트에 저장한다. 원래는 새로운 엔티티를 영속화하면 insert 쿼리를 쓰기 지연 SQL에 저장하고,..
이번 포스팅은 운영체제가 메모리를 어떻게 관리하는지에 대한 대략적인 내용을 간략히 다룬다. 메모리 관리 방식 프로그램은 메모리에 올라와야 실행할 수 있다. 만약 동시에 여러 프로그램을 실행하고 싶다면(시분할이겠지만) 하나의 메모리안에 여러 프로세스가 올라와야 하기 때문에 메모리의 공간을 잘 나누어 프로세스들에게 할당해야한다. 메모리의 공간할당 방법에는 대표적으로 2가지가 있다. 첫번째는 프로세스 크기만큼 메모리를 할당하는 방법인 세그멘테이션 기법이고, 두번째로는 프로세스를 일정 크기만큼 나눠서 메모리를 할당하는 페이징 기법이다. 또한 여러 프로그램을 메모리에 올릴 경우 메모리의 공간이 모자라는 경우도 있을 것이다. 그럴때에는 메모리를 할당받고자 했었던 프로세스 또는 메모리가 모잘라서 쫓겨난 프로세스는 스..
@Controller을 사용할 때 각 핸들러 메서드에 다양한 파라미터값을 넣으면서 편하게 데이터를 불러올 수 있다. 대표적인 파라미터로는 @RequestParam, @PathValiable, @RequestBody, @ModelAttribute, Model,... 등등 이 있다. 해당 핸들러 메서드의 파라미터를 보고 데이터를 넣어주는 것은 누가 하는것일까?? 바로 ArgumentResolver다. Argument는 전달인자 Resolver는 해결하다라는 의미를 가지고 있으니, 전달인자를 해결해주는 녀석이다. 코드를 보면 동작 방식 1. @RequestMapping을 사용했음으로 RequestMapping 핸들러 어댑터를 호출 2. 호출할 핸들러 정보를 바탕으로 맞는 파라미터 값을 넣기 위해 Argumen..
데드락이란? 데드락은 2개 이상의 작업이 자원을 점유하고 있는 상태에서 서로의 자원을 무한정 기다리게 되어 어떤 작업도 더 이상 진행할 수 없는 상태를 말한다. 교착상태라고도 한다. 데드락의 필요조건 데드락의 필요조건는 총 4가지로 상호 배제, 비선점, 점유 대기, 순환 대기가 있다. 1. 상호배제 한 프로세스가 자원을 사용하고 있는 중이라면, 다른 프로세스는 해당 자원을 같이 쓸 수 없다는 것이다. 상호 배제 조건을 만족하지 않는다면, 서로의 자원을 무한정 기다리는 것이 아니라 그냥 같이 사용하면 되기 때문에, 데드락 상황이 발생하지 않는다. 2. 비선점 한 프로세스가 자원을 사용하고 있는 상황에서 다른 프로세스가 해당 자원을 선점할 수(빼앗을 수) 없다는 것이다. 비선점 조건을 만족하지 않는다면, 자..