일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- HTTP
- cache
- dependency injection
- thymeleaf
- vue-cli
- DB
- di
- Spring
- javascript
- 라이프 사이클
- js
- Security
- Java
- Vue.js
- JPA
- BEAN
- Singleton
- Stateless
- Setter
- 의존성 주입
- 로그인
- vuex
- 싱글톤
- Excel
- 캐시
- VUE
- HTTP 메서드
- 프로토타입
- Kotlin
- Repository
- Today
- Total
목록전체 글 (130)
jhhan의 블로그
한참동안 블로그 안하다가 다시 시작해보기 일단 이렇게 쓰는 것은 최근 들어서 공부도 안하는 것 같고, 목표도 없고, 시간만 허비하는 것 같아서이다. 그래서 좀 다짐을 해보기 위해서 이런 의미 없는 글을 써본다. 그리고 그 시작으로 노마드코더 강의를 선택했다. 그 중에서도 바닐라 JS강의를 선택해서 진행해보려고 한다. 아무래도 javascript에 대해서 알아두면 지금의 나에게 좋고, 아마 나중에도 이득이 있지 않을까 하는 마음에 공부한다. 그리고 javascript기초에 대해서 다시 공부해보기로 한다. 사실 javascript를 기초부터 공부해본 기억이 없다. 대신에 실전으로 필요한 부분들만 공부했다. → 그래서 javascript의 이론과 기초에 대해서는 약하다고 생각한다. 기초 & 이론부터 공부해보자..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bpcRYS/btrDPBAWDMK/vAg5DzdfLM2ton1SVZWd6k/img.png)
오랜만에 블로그 작성을 해봅니다. 이번에는 Spring Boot 설정 시 template 부분을 읽어오는 방법을 알아보겠습니다. 사실 이 부분은 크게 신경을 쓰지 않았습니다. 설정하지 않아도 잘 되길래 원래 그런가보다 한거죠. 근데 프로젝트를 단순하게 설정하면 그렇지 않더군요. 자세히 알아보겠습니다. spring boot 프로젝트를 하나 만듭니다.(과정 생략) 그리고 그 결과 build.gradle 파일은 다음과 같다고 하겠습니다. dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' developmentOnly 'org.springframework.boot:spring-boot-devtools' testImple..
이번 포스트에서도 캐시에 대해서 알아보겠습니다. 캐시에 대해 알아야 할 것들이 조금 있네요 ㅎㅎ 그래도 계속 이어나가겠습니다. 먼저 캐시와 관련된 헤더들 중 알아두면 좋을 것들에 대해 살펴보겠습니다. 1. Cache-Control 캐시 제어 헤더 Cache-Control: max-age 캐시의 유효 시간을 나타냄 초(second)단위 Cache-Control: no-cache 데이터를 캐시해도 되지만 항상 원(origin) 서버에 검증 후 사용하기 보통 중간에 프록시 캐시 서버가 존재함 → 프록시 캐시 서버가 아닌 원 서버 검증하기 Cache-Control: no-store 민감 데이터가 있으므로 저장하면 안됨 or 최대한 빨리 삭제 ex) 주민번호, 비밀번호 등 요즘에는 Cache-Control 헤더로..
이번 포스트는 지난번 포스트에 이어 캐시에 대해 계속 알아보겠습니다. 캐시의 유효기간이 지난 경우 다시 서버와 통신을 해서 캐시 유효시간을 갱신해야 합니다. 하지만 단순히 캐시만 갱신하는데 동일한 데이터를 가져와야 하는 경우가 있을 것입니다. 이런 경우는 뭔가 좀 비효율적인 것 같습니다. 그래서 캐시 검증 헤더와 조건부 요청이라는 것이 있습니다. 똑같은 말을 한번만 더하겠습니다. 캐시 유효시간이 지난 경우 다시 서버와 통신을 해야합니다. 그럴 때 2가지 상황이 있죠 서버가 기존 데이터를 변경함 서버가 기존 데이터를 유지함 1번의 경우는 어쩔 수 없이 새로운 데이터를 받아오는 것이 맞지만 2번의 경우 단순히 유효시간만 지났기 때문에 브라우저 캐시에 저장된 데이터를 그대로 가져다 쓰고 싶습니다. 이럴 때는 ..
이번 포스트에서는 캐시에 대해서 알아보겠습니다. 이전 포스트에서 다룬 쿠키와 같이 매우 많이 들어볼 수 있는 단어입니다. 캐시를 알아두면 어떻게든 도움이 될 것 같습니다. 먼저 캐시를 사용하지 않을 때를 살펴보겠습니다. GET /circle.jpg 라는 요청으로 원 모양의 이미지를 받아올 수 있다고 가정해봅니다. 첫 번째 GET /circle.jpg 요청을 보냄 서버에서는 circle.jpg 이미지를 전송해줌 이 때 HTTP 헤더는 0.1M 바이트 HTTP 바디는 1M 바이트 총 1.1M 바이트가 필요하다고 가정합니다. 웹 브라우저는 서버에서 전송해준 이미지를 받아서 화면에 표시합니다. 이후 두 번째 GET /circle.jpg 요청이 들어오면 다시 서버에서 circle.jpg 이미지를 전송 → 다시 1..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bw3bMA/btrr043r2Gc/AfLfbC9HCaj1FRhyat2gu1/img.png)
이번 포스트에서는 HTTP Cookie에 대해서 알아보려고 합니다. 쿠키에 대해서는 다들 한번쯤은 들어보신 적이 있을 것입니다. 그리고 일부 사이트에 들어가면 쿠키 허용에 대한 문구도 종종 볼 수 있죠. 이런 쿠키에 대해서 조금 적어보려고 합니다. 일단 쿠키를 왜 쓰는지, 어떤 방식으로 쓰이는지 먼저 알아봅시다. 일단 먼저 HTTP 특징 중 Stateless라는 특징이 있습니다. Stateless(무상태) 클라이언트와 서버가 요청 & 응답을 주고 받으면 끝(연결 해제) 즉, 서버는 클라이언트의 이전 요청을 기억하지 못함 클라이언트와 서버는 서로 상태 유지를 하지 않음 이런 특징이 있는데 그러면 로그인 관련 동작을 진행하면 어떻게 될까요? 정말 간단하게만 보면 위의 3가지 그림으로 설명이 될 것 같습니다...
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/3ZyWJ/btrrqZHwJ1p/FjRNOo8kioOU3vP8MbXPqK/img.png)
지난번 포스트에 이어서 이번 포스트에서도 HTTP 헤더에 대해서 알아보겠습니다. 이번에는 좀 더 자세히 알아볼 것입니다. (분류되는 내용이 다른 블로그에서 정리한 것과는 다를 수도 있을 것 같습니다.) 1. 표현 표현과 관련된 헤더입니다. 1-1. Content-Type 표현 데이터의 형식을 설명하는 역할 ex) Content-Type: text/html; charset=UTF-8 Content-Type: application/json Content-Type: image/png 메세지 바디 부분에 무슨 내용이 들어가는지 표시합니다. 자주 사용됨 1-2. Content-Encoding 표현 데이터를 압축하기 위해 사용 데이터 전달 시 압축 후 헤더 추가 데이터를 받는 부분은 헤더 정보를 통해 압축 해제 e..
(제목을 헤더와 바디라고 했지만 사실은 헤더에 대해서 계속 알아볼 것입니다.) 이번 포스트에서는 HTTP 헤더에 대해서 알아보겠습니다. HTTP 헤더에는 굉장히 다양한 내용이 들어갑니다. 그래서 이게 뭐지... 하는 것들이 굉장히 많습니다. 그리고 몰라도 큰 문제없이 넘어가는 경우도 있기 때문에 저는 HTTP 헤더에 크게 관심을 가지지 않았습니다. 그래도 어떤 내용이 주로 들어가는지 정도는 알아야겠죠.. HTTP 헤더 HTTP 전송에 필요한 모든 부가정보 전송 EX) 메세지 바디 내용 & 크기, 압축, 인증, 등등 굉장히 많다 필요한 경우 임의로 헤더를 추가할 수도 있음 HTTP 헤더를 분류하는 방법도 정의되어 있습니다. 1. RFC2616버전(1999년) General 헤더 : 메시지 전체에 적용되는 ..