분류 전체보기411 [Java] Jasypt 알아보기 🙋 들어가며 프로젝트를 진행할 때 보안에 예민해서 노출시키지 않는 값들이 있습니다. 여러 방법으로 노출시키지 않는 방법이 있지만 그중에 Jasypt라는 라이브러리가 존재합니다. 오늘은 어떻게 사용하는지 가볍게 알아보겠습니다. 😋 🔐 Jasypt란? Jasypt는 Java Simplified Encryption의 약자입니다. 공식 문서에 따르면 다음과 같이 설명되어 있습니다. Java library which allows the developer to add basic encryption capabilities to his/her projects with minimum effort, and without the need of having deep knowledge on how cryptography wor.. 2023. 10. 21. [Java] Fixture Monkey 사용해보기 🙋 들어가며 누구나 한 번쯤 테스트 코드의 생산성을 고민해 보았을 거라고 생각합니다. 저는 테스트용 데이터를 만드는데 시간이 꽤 걸려서 Object Mother 패턴을 도입하고, Fixture(테스트용 정적 객체)를 사용해서 이런 시간을 줄여보기도 했습니다. 저와 같은 고민을 하신 분들이라면 들어봤을 법한 라이브러리를 소개하겠습니다. 공식 문서는 모두 영어로 되어있어 번역하기 귀찮으신 분들을 위해서 사용에 필요한 내용만 정리해 보겠습니다. 🙉 Fixture Monkey Fixture Monkey는 임의의 테스트 객체를 생성하는 라이브러리입니다. 테스트 코드의 생산성과 간결함을 위해서 네이버에서 만든 PBT 도구이며 java와 kotlin을 지원합니다. 💡 PBT(Property Based Testing).. 2023. 10. 17. [Backend] flyway 사용하기 🙋 들어가며 우리는 코드를 관리하기 위해서 git이라는 형상 관리 툴을 사용합니다. 반면에 여러분들은 DB는 어떤 것으로 형상을 관리하시나요? 바로 Flyway가 DB에 대한 형상 관리를 제공합니다. 이번 글에서 간단하게 사용법을 알아보겠습니다. 😋 🪽 flyway란? 공식 문서에는 다음과 같이 소개합니다. 😮 Flyway is an open-source database migration tool. DB 형상 관리를 도와주는 도구입니다. 심지어 오픈 소스입니다! 😋 🤔 왜 사용할까? 저는 개발을 할 때 DDL을 직접 작성해서 관리하는 것을 선호합니다. 스키마에 변경사항이 생기면 하나하나 수정했습니다. (다행히도 꼼꼼한 성격 때문에 아직까진 실수한 적 없습니다 😜) 만약 관리해야 할 DB가 많다면 이 과정.. 2023. 10. 11. [Java] JVM 알아보기 🙋 들어가며 자바라는 언어를 처음 배울 때 무엇부터 배우셨나요? 저는 가장 먼저 자바만의 특이한 장치가 존재한다는 사실부터 배웠습니다. 😋 바로 JVM이라는 가상 머신인데, 이 가상 머신이 어떤 동작을 하고 어떤 구조로 되어있는지 알아보겠습니다. 🏭 JVM JVM이란, Java Virtual Machine의 약자로 바이트 코드를 실행시키는 가상 머신입니다. 자바와 다른 언어를 구분 짓는 큰 차이로, WORA(Write Once Run Anywhere)를 목표로 만들어졌습니다. JVM을 이해하기 위해서 어떻게 자바 코드가 실행되는지 먼저 알아보겠습니다. 💻 Java는 컴파일 언어 자바는 C언어와 함께 대표적인 컴파일 언어입니다. 컴파일(Compile)이란, 우리가 작성한 코드를 컴퓨터가 이해할 수 있는 과.. 2023. 8. 25. [Security] 시큐리티 파헤치기 (4) : 인증이란? (feat. Authentication) 🙋 들어가며 이번 글부터 시큐리티의 인증 시리즈를 다뤄볼 생각입니다. 인증에 대해서 무엇인지 알아보면서 인증 시리즈를 시작해 보겠습니다. 또한, 어떤 객체에 인증 정보를 담을지까지 알아보겠습니다. 🙆♂️ 인증(Authentication)? 인증이란, 어떤 사용자가 접근하고 있는지 확인하는 절차입니다. 보안에 민감한 정보를 다룬다면 당연히 누가 사용하는지 확인하고 접근시켜야 합니다. 자세하게 어떻게 동작하는지는 몰라도, 인증하려면 정보를 담아줄 그릇이 필요할 것 같습니다. 바로 이 그릇이 Authentication 객체입니다. 🪙 Authentication 인터페이스 Authentication 인터페이스는 인증 정보를 담는 하나의 토큰입니다. 실제 코드는 다음과 같이 구현되어 있습니다. public in.. 2023. 8. 17. [Security] 시큐리티 파헤치기 (3) : 시큐리티 초기화, 다중 필터 체인 🙋 들어가며 이번 글에서는 시큐리티가 어떻게 초기화되고 어떤 값들이 생성되는지 알아보겠습니다. 시큐리티는 여러 개의 필터 체인을 관리할 수 있는데 어떻게 설정하는지 알아보겠습니다. 그리고 요청이 어떻게 알맞은 필터 체인에 타고 흐르는지도 알아보겠습니다. 📁 설정 파일 작성 (feat. Security 6) 시큐리티를 사용하기 위해서는 우선 설정 파일을 작성해야 합니다. 다음과 같이 단 어노테이션 하나만 달아주면 기본적인 시큐리티 설정이 완료됩니다. @Configuration @EnableWebSecurity // 기본 시큐리티 설정 public class SecurityConfig { } 바로 @EnableWebSecurity 입니다. 전혀 복잡하지 않죠? 😋 단순히 달아주기만 하면 애플리케이션이 메모리.. 2023. 8. 11. 이전 1 2 3 4 5 ··· 69 다음