분류 전체보기: 2105개의 글
REST API 사용을 위한 인증 방법 4가지Stateless 한 REST API 를 사용하기 위해서는 4가지의 인증방법이 있다. Basic Authentication, Token Authentication, API Key & Secret Authentication, OAuth2.0(Open Authorization) 이 그것이다. 1. Basic AuthenticationHTTP 표준 사양에 따라 매 요청시 헤더의 Authorization 필드에 아이디와 패스워드를 넘겨주는 방식으로 사용자를 인증하는 방식이다.이 방식은 보안상 매우 취약하고 탈취가 쉽다.특히 SAP 방식에서는 자바스크립트 코드가 그대로 드러나기 때문에 더 위험하다. 2. API Token Based Authentication 프로세스A..
일반적으로 스프링 부트로 개발을 할 때 lombok 라이브러리는 거의 필수입니다. @Slf4j를 쉽게 어노테이션 형식으로 사용합니다.(@Slf4j는 Simple Logging Facade for Java의 줄임말) 사용법은 간단합니다. 일반 클래스에서는 아래 코드와 같이 사용합니다.@Slf4j@RequiredArgsConstructor@RequestMapping("/v1/api/members")@RestControllerpublic class MemberController { @PostMapping public String createMember(@RequestBody @Validated MemberRequest memberRequest) { log.info("정보 확인 ->{}"..
화면을 수정했는데, 클라이언트의 브라우져에 캐시가 남아서 이전 화면이 나오는 경우가 있다. 직접 브라우져 설정 들어가서 캐시를 지워달라고 요청 할 수도 있지만, 그게 한두번이 아니게 되니 코드에서 캐시를 지울수 없는지 찾아보았다. 이럴수가... 크게 어렵지도 않지만, html한정으로 이게 꼭 필요한 화면이 아니면 아래 설정은 가급적 안 하는게 좋을 것 같다. HTML 메타태그 이용하기 JSP, Java 사용시 자바 코드 지만 html과 같음. response.setHeader( "Pragma", "no-cache" ); response.setDateHeader( "Expires", -1 ); response.setHeader( "Cache-Control", "no-cache" ); JS, CSS 파일 캐..
jstl 내장함수 JSTL functions은 JSTL에서 제공하는 각종 함수를 사용해서 문자열이나, 컬렉션들을 처리함. fn태그는 단독으로 사용할 수 없고 EL 표현식 내에서 사용해야함. like ${fn:length(...)} jsp 페이지 시작점에 다음 태그로 선언 해줘야 사용 할 수 있음. boolean contains(String sting, String substring) string이 substring을 포함하면 return true. boolean containsIgnoreCase(String string, String substring) 대소문자에 관계없이, string이 substring을 포함하면 return true. ${fn:contains("helloworld", "world")..
[JSP, JSTL] fn function 정리 jstl function (jstl fn) 정리 jsp 파일 최 생단에 다음과 같이 jstl functions를 사용하겠다고 선언 해야 함. 함수들은 단독으로 사용할 수 없고 EL 표현식과 함께 사용해야 함. ${fn:length(list)} ${fn:contains(str, str)} fn:contains(string, substr) string이 substr을 포함하면 return true fn:containsIgnoreCase(string, substr) 대소문자 관계없이 string이 substr을 포함하면 return true fn:startsWith(string, prefix) string이 prefix로 시작하면 return True fn:en..
[JSP, JSTL] forEach 잘 사용하기 Spring 개발을 하다 보면 jstl 의 forEach 를 많이 사용하게 된다. 간단하지만 varStatus 속성 사용을 잘 하면 보다 편하게 개발할 수 있는것 같아서 남겨본다. current (현재 객체) : ${i.current} index (0부터의 순서) : ${i.index} count (1부터의 순서) : ${i.count} first (루프의 처음인가) : ${i.first} last (루프의 마지막인가) : ${i.last} begin (루프의 시작값) : ${i.begin} end (끝값) : ${i.end} step (증가값) : ${i.step} 출처 : https://jeaha.dev/70
화면을 수정했는데, 클라이언트의 브라우져에 캐시가 남아서 이전 화면이 나오는 경우가 있다. 직접 브라우져 설정 들어가서 캐시를 지워달라고 요청 할 수도 있지만, 그게 한두번이 아니게 되니 코드에서 캐시를 지울수 없는지 찾아보았다. HTML 메타태그 이용하기 JSP, Java 사용시 자바 코드 지만 html과 같음. response.setHeader( "Pragma", "no-cache" ); response.setDateHeader( "Expires", -1 ); response.setHeader( "Cache-Control", "no-cache" ); JS, CSS 파일 캐시 사용 방지 js나 css등 정적파일도 종종 변경을 해도 캐시문제로 적용이 되지 않는 경우가 많다. 그럴 경우 파일의 url 뒤에..
집, 회사, 노트북 인텔리J가 설치가 되어 있지만 모두 세팅이 조금씩 다르다. 세팅을 Export 해보기도 했지만 폰트가 설정이 안되거나 플러그인도 조금씩 에러가 있어서 블로그에 세팅 관련 글을 적어야 겠다고 생각했다. ▣ IntelliJ 프로젝트 SDK 설정 | 필자는 openJDK를 사용하고 있으며 openJDK는 하단의 링크에서 다운로드 받을 수 있다. ▶ File - Project Structure - Project Settings의 Project에서 Project SDK란을 설정하면 된다. JDK home path가 설정이 안되어서 인텔리j가 JDK 위치를 모르면 Platform Settings에서 추가하면 된다. ▣ 개발자 폰트 추천 - D2 Codi..
IntelliJ 에서 사진처럼 한줄로 보여주는 기능이 있다. 개인적으로 가독성이 떨어져서 별로인데 설정에서 off 할수있다. Setting > Editor > General > Code Folding > One-line methods 체크 해제
# 프로젝트명 변경 1. [File] > [Project Structure] > [Project] > (Project name) 이름을 변경한다. 2. IntelliJ 를 종료한다. 3. 프로젝트 root 디렉토리로 이동하여 아래 파일을 열어 프로젝트명을 동일하게 수정한다. /settings.gradle rootProject.name = 'api-project' /.idea/.name ( 파일 내용에 프로젝트명과 다르게 저장되어 있다면 수정 ) api-project 4. IntelliJ 를 다시 실행하고 Gradle 프로젝트를 Refresh 한다.