일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- django
- Spring Boot
- 자료구조
- bytecode
- 데이터베이스
- 디자인 패턴
- 안드로이드
- 장고
- 보안
- 개발
- python3
- mysql
- 웹
- 자바
- 파이썬
- 스프링부트
- Python
- ORM
- java
- 스프링 부트
- 파이썬3
- node.js
- Spring
- BCI
- JPA
- HTTP
- db
- 스프링
- rabbitmq
- 웹 개발
- Today
- Total
목록2020/05/16 (4)
semtax의 개발 일지
개요 이번에는, 생성 패턴 중 하나인 싱글톤 패턴에 대해서 알아보도록 하겠습니다. 왜 나오게 됬는가? 싱글톤 패턴은, 여러 객체에서 데이터를 공유해서 써야하는데 단 1개만 생성해서 써야할때 어떻게 해야할까 라는 고민에서 나오게 된 패턴입니다. (OOP의 전역변수 라는 느낌으로 생각하시면 됩니다.) 주로, 여러곳에서 쓰이는 설정 정보나, 다른곳에서도 공통적으로 쓰이는 데이터베이스 설정 객체와 같은 정보들을 공유할 때 사용되게 됩니다. 문제 상황 먼저 아래의 상황을 한번 가정 해봅시다. 당신이 앱을 개발한다고 가정을 해봅시다. 그런데, 앱에 있는 여러 클래스에서 앱에서 전역으로 쓰이는 설정정보를 읽고 써야하는 상황이 닥쳤습니다. 이럴때 당신은 어떻게 하겠습니까? 위와 같은..
개요 이번 포스팅에서는, 생성 패턴 중에 하나인 빌더패턴에 대해 알아보도록 하겠습니다. 왜 나오게 됬는가? 이 패턴같은 경우, 복잡한 객체를 생성할때 초기화를 단계별(step-by-step)로 해야 할 때, 어떻게 깔끔하게 코드를 작성할 수 있을까를 고민하다 나온 패턴입니다. 대표적인 예로 자동차 조립, 피자 만들기가 있습니다. 이제 실제 예제로 어떤 문제가 있는지 알아보도록 합시다. 문제 상황 먼저 피자 라는 객체를 만든다고 가정을 해봅시다. 피자에는, 올리브 토핑도 들어 갈 수 있고, 페퍼로니 토핑도 들어 갈 수 있고, 피망, 채소도 들어갈 수 있고 고기도 들어갈 수 있습니다. 하지만, 저 재료들을 무조건 넣어야 되는게 아니고, 선택적으로 넣을 수 있습니다. ..
개요 이번 포스팅에서는, P95값이나 평균 값과 같은 통계 지표들을 효율적으로 저장할 수 있는 방법 중에 하나인 HdrHistogram에 대해 알아보도록 하겠다. P95와 평균을 저장하는 단순한 방법 우선 다음과 같은 상황을 가정해보자 만약 당신이, 모니터링 시스템을 만든다고 가정을 해보자. 이때, 수천~수억건의 응답시간 로그 데이터로 부터, 하위 5% 응답속도와 평균응답 속도를 계산해야 한다. 당신이라면 어떻게 하겠는가? 먼저, P95나 평균을 저장하는 단순한 방법은, 데이터를 계속 가지고 있다가 P95값이나 평균 값이 필요할때 마다, 또는 일정 주기마다 데이터들을 정렬해서 P95(하위 5% 값) 이나 평균값을 계산하는 방법이 있다. 하지만, 이러한 방법은 매번 데이터를 전..
개요 이번 포스팅에서는, 카프카가 무엇인지와 스프링에서 카프카를 사용하는 방법에 대해서 알아보도록 하겠습니다. 왜 메시지 큐를 쓰는가? 메시지 큐를 쓰는 이유는 대략적으로 아래와 같습니다. 먼저, 기존의 단순한 동기식 통신 방식에 비해서 더 뛰어난 응답속도를 보여줍니다. 기존의 동기식 통신 방식은, 사용자로 부터 요청을 받아서 요청을 다 처리할때 까지 Blocking 상태에 빠지게 됩니다. 즉, 요청이 전부 처리가 되어야 사용자에게 응답을 주게 됩니다. 하지만, 메시지 큐를 이용하는 경우 사용자에게 요청을 받으면 큐에다 집어 넣기만 하면 바로 다음 사용자의 요청을 받아들일 수 있기 때문에 응답속도가 향상되게 됩니다. (실제 처리는 쌓여진 큐에서 다른 워커 프로세스가 1개씩..