일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java
- 스프링 부트
- RabbitMQ
- OAuth
- 스프링
- Security
- Producer
- load balancing
- apache
- Refactoring
- GC
- 리팩토링
- 페이스북
- gdg
- clean code
- tomcat
- 비동기
- 스프링부트
- Spring
- 권한
- g1
- assertj
- 페이징
- JPA
- spring boot
- JWT
- jvm
- 시큐리티
- oauth2
- 클린코드
- Today
- Total
목록분류 전체보기 (81)
허원철의 개발 블로그
이번 글은 Resource를 개선하기 위한 방법에 대한 글 입니다. Why..? 흔히 웹단를 같이 구성하게되는 WAS를 구성하게 되면 Spring 에서는 Static Resources(html, js, css, img)를 /resources에 경로로 잡아 관리 해줍니다. (Resource Server를 통해 따로 관리할 수 도 있습니다.) User가 Browser를 통해 Server에 접근하게 되면 해당 url에 mapping된 html을 보여주고, 그에 맞는 Resource를 HTTP 통신을 통해 가져오게 됩니다. 물론, 브라우저에 Resource가 Cache에 쌓여 두번째 호출 부터는 통신이 줄겠지만 결국에는 HTTP 통신을 통해 가져오는 것이기 때문에 서버의 과부하의 원인이 될 수 있습니다. 그래서..
이번 글을 HTTP Header에 대한 간략한 내용 정리 입니다. 웹 어플리케이션은 HTTP 프로토콜로 통신하는 네트워크 것으로, 웹 브라우저와 웹 서버 간에 오고 가는 네트워크 패킷 분석을 통해 HTTP 프로토콜을 알 수 있습니다. 그리고 그 HTTP 프로토콜을 Header 와 Body로 구분할 수 있는데, Header는 응답 데이터에 대한 정보, Body는 응답 데이터를 가지고 있습니다.각 브라우저의 개발자 도구(F12)에서 Network 탭을 통해 HTTP 통신에 대한 내역들을 볼 수 있습니다. 1. Content-Length 2. Transfer-Encoding 3. Connection 4. Content-Encoding 1. Content-Length- HTTP 통신에서 반드시 필요한 것은 전송..
이번 편은 Session Clustering 알아보기에 이어 Spring Boot에서 Redis를 활용하여 빠르게 Session을 공유해보록 하겠습니다. 우선 전편에서 Redis에 대해 자세하게 설명하지 않아, 간단하게 설명하고 넘어가겠습니다. Redis 란? - 메모리기반 Key/Value Store 로 No-SQL 로 구분됩니다. 또한 이와 비슷한 memcached와 같은 In memory 솔루션으로도 구분되기도 합니다. 모든 데이터는 메모리에 저장되고, 매우 빠른 Write/Read 속도를 보장합니다. 하지만 메모리기반이기 때문에 실 데이터를 저장하는 것보다는 Session 과 같은 데이터를 담아두기에 적합하다고 볼 수 있습니다. 관계형 데이터베이스와 같은 데이터 형식보다는 한 로우 형태의 데이터를..
이번에는 두편에 걸쳐 Session Clustering에 대해 적어보려 합니다. 첫편에서는 Session Clustering에 대한 간단한 개념을 알아보겠습니다. What..! - 동일한 세션으로 여러 곳에서 사용할 수 있게 관리 하는 것을 의미합니다. Why..? - 앞서 언급했지만 동일한 세션을 여러 곳에서 사용하기 위함입니다. 세션은 WAS 자체에 가지고 있어 두 대 이상의 WAS를 이용하는 경우(로드 밸런싱), 또는 failover 이나 auto scaling으로 대체된 WAS에게도 세션이 공유되어야 하기 때문에 반드시 알아야 하는 방법입니다. When..? - WAS가 2대 이상 설치되어 있을 경우에 해당 됩니다. 1. 네트워크 Level 에서 본다면, 로드밸런싱을 하게 될 때 입니다. 여기서 ..
이번 글은 JNDI에 대한 글입니다. JDBC, DBCP.. JAVA로 개발을 하다보면, 흔히 볼 수 있고, 반드시 써야 Database를 연결할 수 있는 라이브러리 입니다. 하지만.. JNDI..? 비슷한 놈인가 하고 넘겼지만, 이제는 알아야 하고 정리해야 할 필요성을 느끼게 되었습니다. What..? - Java 소프트웨어 클라이언트가 이름(name)을 이용하여 데이터 및 객체를 찾을 수 있도록 도와주는 디렉토리 서비스에 대한 Java API이다.(Wiki 참고) - 예를 들자면, WAS에 데이터 및 객체 정보(ex. DB 정보)를 Naming을 해놓고 WAS 내에서 가져다 쓰는 것 입니다. Why..? - WAS내에 N개의 웹 어플리케이션이 들어가는 경우가 있습니다.(WAS : Web Applica..