머리말 현재 회사에서 토큰(JWT)을 사용하여 사용자들의 인증 작업을 처리하고 있다. 하지만 accessToken 타임이 길게 설정이 되어 있어, accessToken 을 짧게 하고 신규로 refreshToken 도 같이 제공하여 JWT 토큰을 oAuth2 방식처럼 사용하도록 구현하는 업무를 맡게 되었고, 그래서 JWT 에 대해서 공부하고 참조했던 내용을 기반으로 정리 하려고 한다. (시작하기도 전에 벌써 귀차니즘이...........) JWT 가 뭘까? JWT(Json Web Token)란 Json 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 Web Token이다. JWT는 정보를 Json 객체 형태로 주고 받기위해 표준규약(RFC-7519)에 따라 생성한 암호화된 문자열(토큰) 이..
웹 서비스 개발하기에 앞서, API 개발과 RESTfull API를 문서화 할 수 있는 Swagger 를 먼저 설정한 후 진행 할 예정이다. API 문서를 완성하고 스펙이 변경 될 때 마다 문서를 수정하는건 엄청나게 귀찮은 일이기 때문에..... Swagger 의 경우, 내가 생각하는 장점은 아래와 같다. Swagger 를 적용한 MSA 기반 API 서버에서, 간단한 설정만으로 UI 제공 Swagger-UI 는 API 의 스펙을 확인할 수 있고, 파라미터 입력 후 실행할 수 있다 (RestClient 툴을 사용안해도 됨!) 간단한 Annotation 을 통해 문서에 표기할 수 있고, 주석(?)을 겸할 수 있다. 개발과 동시에 문서까지 적용하는 일거 양득 !! 쉽게 적용할 수 있고, 사용법도 엄청나게 간단..
이전장에서는 로컬 경로에 프로젝트를 생성하여, 로컬 환경으로 띄어보기 까지 했으니, 이제 해당 프로젝트 소스를 관리할 Git Repository 연동을 해보자 !! 1. GitHub Repository https://github.com 해당 사이트에 접속 후, Repositories > NEW 를 클릭하여 신규 저장소를 생성. 음... 최초 Repository 생성 시, ReadMe 파일을 만들게 되면 내 로컬저장소에 있는 파일과 원격저장소에 파일 싱크가 맞지 않아, 로컬 저장소에 풀 받고 다시 add -> commit -> push 과정을 거쳐서 해야 한다. 그래서 나는 ReadMe 파일을 안만들고 이후에 따로 생성하여 올릴 예정 이다. 아래 그림을 보면 저장소명 및 설명만 작성하고 "Create Re..
토이 프로젝트 형식으로, 갖고 놀기 좋은 프로젝트를 하나 만들어서 경험해보지 못한 코드들을 적용시켜 보고, 개인 학습을 병행하며 진행 해보려고 한다. 1. 프로젝트 컨셉 음... 아무래도 막무가내로 시작하여 "demo" 라는 프로젝트명으로 생성 후, 이것저것 실험하고 버리는것 보다는, 하나의 프로젝트의 컨셉을 잡고 해당 컨셉에 맞는 기술을 적용시키면 어떨까? 그래서, 뭐가 있을지 생각하다가 간단하게 개발실 내에 있는 도서 항목들을 관리하는 서비스를 만들어 보려고 한다. 2. 프로젝트 개발환경 나의 경우 현재 MAC 을 사용하고 있으며, 개발툴은 InteliJ 를 쓰고 있고, 프로젝트 초기 구성은 Spring Boot 2.x + Java8 + Gradle + JPA + H2 로 환경이 구성할 예정인데 변동..
나같은 경우는 첫 회사를 6년 정도 다니고 나서 이직을 하는 케이스라, 같은 연차에 비해 면접에 대한 경험이 적어 상당한 압박감(?)으로 다가 왔었다ㅠㅠㅠ 그리고 다음회사에 대한 신중한 선택 까지 !! 요새 왠만한 기업들은 개발자 경력직을 채용할 때 코딩 테스트를 하기 때문에 열심히 준비 하였다. 알고리즘 관련해서 정리를 잘해놓은 블로그가 많아 공부하기 편했고, 코딩 테스트를 해볼수 있는 사이트에서 실전(?) 도 여러번 진행 했었다... 하지만...문제가 영어라 상당히...아주 많이.... 해석하는데 어려움을 겪었음... 그래도 번역기를 돌려가며 문제를 한번씩 쭈-욱 풀면서, 이론으로만 알고 있던걸 실제로 코딩을 할 수 있는지와 접근법에 대해 익히면서 준비(코-테)를 하였다. 코딩 테스트를 통과한 이후에..
1. Spring framework 가 도대체 뭔데? "자바 엔터프라이즈를 위한 오픈소스 애플리케이션 프레임워크" 라 정의하고 외워 두자! 간단히 Spring이라고 부른다. 오픈소스 : 소스가 공개되어 여러 개발자가 플랫폼을 함께 개발, 구축, 보완해 나가는 시스템 프레임워크 : 설계 기본이 되는 뼈대나 구조 및 환경 자바 객체(POJO)를 자바EE에 의존적이지 않게 연결해 주는 역할을 한다. POJO(Plan Old Java Object) 로 특별한 뜻을 담고 있는 용어는 아니라고 한다. 상속 및 인터페이스가 필요없는 단순하고 가벼운 객체로 그냥 평범한 자바빈즈(JavaBeans) 객체를 의미한다. 스프링 프레임워크에서 POJO 만으로 어떻게 동작 하지? 내부에서 어떤 서블릿 클래스들이 동작하지? 라는..
( 회상 중 ) 지인 A: Jenkins 설치부터 배포 설정까지 해본 적 있어? 대장장이: 엉 지금은 전담팀이 있어서 안하고, 전 직장에서는 내가 설치하고 셋팅했지ㅋㅋ 지인 A: 오! 그럼 혹시 정리한거 있어? 대장장이: ㅇㅇ 기둘기둘 (외장하드 > 03.Linux > 3.2. Jenkins > 3.2.1. Jenkins Linux 설치 ) -> 전송 (외장하드 > 03.Linux > 3.2. Jenkins > 3.2.2. Jenkins Build & Deploy ) -> 전송 지인 A: 감사ㅋㅋㅋ 근데 저렇게 폴더별로 다 파일정리 해놓은겨? 대장장이: (뿌-듯) 엉ㅋㅋㅋ 지인 A: 그럼 개발했던 소스도 ? 대장장이: 뭐 개발 관련한 소스나 정리했던 내용들은 다 외장하드에 보관하고 있지. (외장하드 ==..
- Total
- Today
- Yesterday