개요 WSL2는 Windows 10/11 운영체제에서 가상 머신 또는 듀얼 부트 없이 리눅스 운영체제를 사용 가능하게 해주는 공식 도구이다. Microsoft에서는 WSL 2 기반으로 네이티브하게 작동하는 여러 벤더의 리눅스 운영체제를 Windows Store에서 무료로 제공하고 있다. 이를 통해 개발자는 번거로운 과정이나 성능 저하 없이 네이티브하게 리눅스 기반의 개발 환경을 구축할 수 있다. 특징 WSL 2 아키텍쳐는 경량의 VM 위에 마이크로소프트에서 직접 제작한 리눅스 커널을 기반으로 여러 리눅스 벤더들과 공식 협력하여 WSL distro을 제공하기 때문에 Windows 생태계에서는 역대 가장 뛰어난 성능의 리눅스 환경을 제공한다. 위와 같은 이유로 Cygwin과 같이 최대한 리눅스와 비슷하게 흉..
개요 JHipster는 Java 진영에서 모놀리스 또는 마이크로서비스를 제작하기 위한 만물상자라고 할 수 있다. JHipster의 커맨드 도구를 이용하여 프로젝트를 생성하면 순식간에 최신 모던 기술 스택 기반의 모든 기술을 총망라한 프로젝트를 제작할 수 있다. 개발자는 순전히 선택한 모던 기술 스택을 숙지하기만 하면, 곧바로 비지니스 로직 구현에 집중할 수 있는 장점이 있다. 한편, JHipster는 공식적으로 여러 Blueprint를 제공하는데 KHipster라 불리는 블루프린트를 이용하면 Kotlin 언어로도 프로젝트를 생성할 수 있다. (생성된 프로젝트 내에서는 Java, Kotlin 언어의 동시 사용이 가능하다.) 이번 글에서는 KHipster를 이용한 프로젝트 생성, 실행, 빌드 방법을 설명하고..
개요 REST API를 설계하다보면, 하나의 API 요청 사이클을 처리함에 있어 가장 앞 단계에서 이미 유효한 인증을 통해 획득했던 회원 오브젝트를 반복적으로 다시 획득해야 문제에 부딪히게 된다. (데이터베이스에서 다시 조회하는 것은 퍼포먼스 측면에서 비효율적이다.) 일반적으로 하나의 요청이 하나의 쓰레드로 처리되는 것을 감안하면, 특정 쓰레드의 생명 주기 안에서 전역으로 접근할 수 있는 변수를 설계하면 이러한 상황에서 고민 없이 재사용할 수 있을 것이다. 이번 글에서는 이 방법을 통해 하나의 쓰레드 안에서 특정 오브젝트를 재사용할 수 있는 방법을 예제를 통해 소개하고자 한다. 작성 예 아래는 하나의 쓰레드 안에서 전역으로 참조할 수 있는 RequstContext라는 클래스를 작성한 예이다. 프로덕션 레..
개요 JWT(JSON Web Token)는 전통적인 Opaque Token과 반대되는 개념으로 제 3자가 토큰 문자열에서 주요 정보를 확인 가능한 것이 특징이다. (반면에 Opaque Token은 UUID와 같이 의미 없는 랜덤 문자열을 의미하며, 주요 정보는 서버 사이드에 안전하게 격리된 저장소에 랜덤 문자열과 매칭하여 저장한다.) JWT 도입의 장점은 토큰 관리에 있어 별도의 저장소가 필요하지 않아 진정한 의미의 상태 없는 마이크로서비스 구현이 가능하다는 것이고, 단점은 한번 발급한 토큰에 대한 일괄 만료 등의 직접적인 제어가 힘들다보니 보안을 위한 추가 절차의 설계가 필요하다는 것이다. (이에 대한 보완책으로 Access Token은 JWT 방식으로 수명을 짧게 설정하고, Refresh Token은..
- Total
- Today
- Yesterday
- Spring MVC 3
- JavaScript
- jpa
- DynamoDB
- 로드 바이크
- JHipster
- Kendo UI
- Spring Boot
- chrome
- 평속
- MySQL
- Tomcat
- CentOS
- node.js
- 알뜰폰
- jstl
- bootstrap
- spring
- 로드바이크
- Docker
- Kendo UI Web Grid
- 자전거
- maven
- Eclipse
- jsp
- java
- 태그를 입력해 주세요.
- graylog
- 구동계
- kotlin
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |