일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- C
- c언어
- Data Structure
- mongoDB
- react
- Galera Cluster
- spring webflux
- MySQL
- Heap
- MSA
- 네트워크
- 백준
- 운영체제
- 디자인 패턴
- OS
- Algorithm
- 자료구조
- JPA
- IT
- 컴퓨터구조
- 파이썬
- Proxy
- JavaScript
- design pattern
- Spring
- redis
- Java
- Kafka
- 알고리즘
- 자바
- Today
- Total
목록전체 글 (215)
시냅스

걸어서 4000만개 데이터가 있는 테이블 8개 속으로... 지금 하고 있는 프로젝트는 전국의 어떤 데이터(대외비임다... )를 관리하고, 맞춰서 GIS 로 개발하는 프로젝트를 하고 있다. 프론트 오피스에서는 데이터들을 지도에 그려주고, 백 오피스에서는 데이터들을 관리 혹은 처리하게 된다. 나는 대체로 백오피스의 업무들을 배당 받았는데, 이미 엑셀 파일을 유저가 업로드 할 수 있게 처리하거나 권한 작업들은 해두었던 상태였다. 그리고 대망의 각 500만개 데이터가 있는 테이블 8개 속으로 걸어들어갔다. 전국의 데이터는 시도 별로 시군구 별로 테이블이 따로 있었고 정렬될 필요가 있었다. 전국의 어떤 데이터가 들어왔을 때, 서울시라고 한다면 다시 서울시 중랑구 까지 분류가 되어 각개 테이블에 적재되었어야 했다...

Synchronized keyword static과 heap을 공유하면서 동시접근이 가능한 resource 에 관하여 race condition 을 회피하기 위해 Java에서 제공하는 키워드 함수에 synchronized 키워드를 붙이거나 (Lock in Synchronized Methods) 함수에 synchronized를 걸면 함수가 포함된 해당 객체(this)에 lock을 거는 것과 동일하다. synchronized block을 만들어 사용할 수 있다. (Synchronized Statements) 필요한 부분만 lock이 걸린다. 객체에 lock을 거는 것은 동일하다. 만약 singleton 객체에 synchronized 키워드를 사용할 경우 synchronized 메소드가 많을 수록 deadlo..

Equals 와 == 의 차이 Primitive type (원시타입) Call by value 주소로 변수 값을 바로 확인하여 계산하기 때문에 == 비교가 가능 Reference type (원시타입 이외 모두) Call by reference 주소값을 참조(포인터) 하여 사용하기 때문에 == 비교를 하게 될 경우 주소값을 비교하게 된다. String을 new (builder, buffer 포함)를 사용하지 않고 리터럴로 생성한 경우 String은 string constant pool 이라는 영역에 속한다. (intern) 같은 값에 한해서는 같은 주소값을 같게 된다. 따라서 == 비교가 가능하다. 이때 객체 내부에 Equals()를 override 하여 객체간 값에 대한 비교를 할 수 있다. Equals..