일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- KAKAOLOGINAPI
- ERROR TYPE : org.apache.ibatis.binding.BindingException
- 무상태프로토콜
- 김영한JPA
- Invalid bound statement (not found)
- org.apache.ibatis.binding.BindingException
- HTTPMESSAGE
- 데이터베이스 방언
- @Entity
- RFC723x
- 자바ORM표준프로그래밍
- 네이버 연결된 서비스
- initialDelay
- 멱등활용
- fixedDelay
- JPA
- gitrevert
- @Table
- 네이버로그인API
- Git
- DB방언
- SpringBoot
- 캐쉬가능
- anyMatch
- 매핑정보가없는필드
- Transaction not successfully started
- http
- HTTP3
- hibernate.dialect
- gitreset
- Today
- Total
목록IT (131)
twocowsong
웹 환경 - Java, SpringBoot 순서 1. 카카오톡 개발자 사이트에서 애플리케이션을 등록합니다. - 카카오 개발자 바로가기 2. 등록된 애플리케이션에서 키를 받고 플랫폼 정보를 등록합니다. 3. 카카오에서 제공해주는 SDK를 다운받고 로그인 화면에서 스크립트를 부릅니다. 4. 카카오로그인이 성공적으로 이루어지면 id, accesstoken을 서버로 전송하게됩니다. 5. 서버에서 api 통신을 통해 입력받은 accesstoken으로 정상데이터 확인을 다시합니다. (서버에서 확인하는 이유는 스크립트에서 조작할수있기때문입니다.) 6. 정상적으로 입력받았으면 로그인을 시킵니다. (로그인은 기능 현재 글에서 없습니다.) 카카오 개발자화면은 카카오가 언제든지 바꿀수있습니다. 화면만 그대로 따라하지마시구 ..
개발시 상황에따라 로컬, 개발, 운영 환경에맞게 변경하고싶은값들이있습니다. 예를들면 디비정보나, url정보가 있을것같습니다. 상황에 맞게 하드코딩되어진 변수들을 한개씩 수정하다보면 위험이 많이발생하기에 대체로 properties에 환경에 맞게 선언해두고 가져다가 사용을 많이합니다. 인텔리제이에서 Active profiles라는 입력란이있습니다. (인텔리제이 무료버전에서는 없을수 있습니다.) 여기에 자신이 현재 어디를 바라볼지에 대한정보를 입력하면됩니다. 저는 로컬PC에서 개발을 하기에 local이라고 선언하겠습니다. properties파일들을 상황에맞게 사용하기위해 위와 같이 파일을 만들었습니다. application-{Active profiles 값}.properties 으로 이름을 설정해주시면 스프링..
캐시 무효화 캐쉬를 무효화를 하여도 웹브라우저에서 GET요청이면 캐쉬를 사용합니다. Cache-Control 확실한 캐시 무효화 응답 • Cache-Control: no-cache, no-store, must-revalidate • Pragma: no-cache • HTTP 1.0 하위 호환 Cache-Control 캐시 지시어(directives) - 확실한 캐시 무효화 • Cache-Control: no-cache 데이터는 캐시해도 되지만, 항상 원 서버에 검증하고 사용(이름에 주의!) • Cache-Control: no-store 데이터에 민감한 정보가 있으므로 저장하면 안됨 (메모리에서 사용하고 최대한 빨리 삭제) • Cache-Control: must-revalidate • 캐시 만료후 최초 조..
프록시 서버 미국에있는 서버에 이미지를 다운받을경우 0.5초씩걸린다고 가정해봅시다. 이때 프록시 캐쉬 서버를 도입하게됩니다. (EX ) CDN...) 자료 요청 시 웹브라이저가 원서버가아닌 프록시 서버에 접근하게 만듭니다. 기존에 0.5초가 걸렸던게 0.1초만에 응답을 받게됩니다. Cache-Control 캐시 지시어(directives) - 기타 • Cache-Control: public • 응답이 public 캐시에 저장되어도 됨 • ex) 공용으로 사용하는 이미지의 경우 public으로 설정하여 cdn을 통해 다운로드 받음 • Cache-Control: private • 응답이 해당 사용자만을 위한 것임, private 캐시에 저장해야 함(기본값) • Cache-Control: s-maxage • ..
캐시 제어 헤더 • Cache-Control: 캐시 제어 • Pragma: 캐시 제어(하위 호환) • Expires: 캐시 유효 기간(하위 호환) Cache-Control 캐시 지시어(directives) • Cache-Control: max-age 캐시 유효 시간, 초 단위 • Cache-Control: no-cache 데이터는 캐시해도 되지만, 항상 원(origin) 서버에 검증하고 사용 • Cache-Control: no-store 데이터에 민감한 정보가 있으므로 저장하면 안됨 (메모리에서 사용하고 최대한 빨리 삭제) Pragma 캐시 제어(하위 호환) • Pragma: no-cache • HTTP 1.0 하위 호환 Expires 캐시 만료일 지정(하위 호환) • expires: Mon, 01 Ja..
검증 헤더와 조건부 요청2 • 검증 헤더 • 캐시 데이터와 서버 데이터가 같은지 검증하는 데이터 • Last-Modified , ETag • 조건부 요청 헤더 • 검증 헤더로 조건에 따른 분기 • If-Modified-Since: Last-Modified 사용 • If-None-Match: ETag 사용 • 조건이 만족하면 200 OK ( 새로 다운 ) • 조건이 만족하지 않으면 304 Not Modified (브라우저 캐쉬에 이미지와 서버에이미지가 같은경우) If-Modified-Since: 이후에 데이터가 수정되었으면? 데이터 미변경 예시 (다운로드 하지않음) • 캐시: 2020년 11월 10일 10:00:00 vs 서버: 2020년 11월 10일 10:00:00 • 304 Not Modified, ..
검증 헤더와 조건부 요청1 캐시 유효 시간이 초과해서 서버에 다시 요청하면 다음 두 가지 상황이 나타납니다. 1. 서버에서 기존 데이터를 변경함 2. 서버에서 기존 데이터를 변경하지 않음 • 캐시 만료후에도 서버에서 데이터를 변경하지 않음(기존의 이미지와 서버에서 다운받을이미지 같은경우) • 생각해보면 데이터를 전송하는 대신에 저장해 두었던 캐시를 재사용 할 수 있다. • 단 클라이언트의 데이터와 서버의 데이터가 같다는 사실을 확인할 수 있는 방법 필요 최초 이미지를 요청할경우 Last-Modified라는걸 추가하여 다운받으려는 이미지의 마지막 수정된 일자 정보를 얻을수있습니다. 응답결과를 캐쉬에 저장, max-age도 저장, Last-Modified에 받은 응답값도 브라우저에 저장합니다. max-age..