개발 노션

https://www.notion.so/jinwon829/3-960d2721ee40401db2c3c4b29b33e45f

분류 전체보기 18

kotlin-in-action 2장

Hello, World 모든 언어의 기본 Hello, World를 찍어보자, fun main(args: Array) { println("코틀린 기초 공부") } Hello, World에서 볼 수 있는 간단한 내용은 다음과 같다. 함수를 선언할 때 fun 키워드를 사용한다. 파라미터 이름 뒤 파라미터의 타입을 쓴다. 변수 선언 할 때도 동일한 방식을 채택했다. 함수를 최상위 수준에 정의할 수 있다. (클래스 자동 생성) 세미 콜론을 붙이지 않아도 된다. 함수 코틀린 함수의 기본 구조는 다음과 같다. fun max(a: Int, b: Int) : Int { return if (a > b) a else b } 함수 이름(파라미터 목록) : 반환 타입 { 함수 본문 } 으로 이루어져 있으며 여기서 보아야할 부분..

개발/공부 2022.07.20

Coverage 직관적으로 확인해보기

validator 테스트 코드 작성 후 coverage를 확인했는데, 분명 모두 작성한 거 같은데.. 왜 클래스가 92%일까? 생각하며 직관적으로 확인할 수 있는 플러그인을 달기로 했다. plugins { id 'org.springframework.boot' version '2.6.8' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'jacoco' id 'java' } Plugins에 jacoco를 추가하고, jacocoTestReport { afterEvaluate { classDirectories.from = files(classDirectories.files.collect { fileTree(dir: it, exclude: [ "..

JAVA STATIC CLASS Mocking 및 Verify 방법

패스워드 검증 단위 테스트 작성 중 유틸리티 클래스를 Mocking할 일이 생겼는데, 실제 Mocking을 진행해보니, Underlying exception : org.mockito.exceptions.base.MockitoException: Unsupported settings with this type '패키지 구조' 라는 에러를 뱉으면서 실패를 하고 있었다. 그래서 mock 메소드 중, mockStatic이라는 메소드가 있어 다음과 같이 사용해보았다. MockedStatic partPasswordValidator = mockStatic(PasswordValidator.PartPasswordValidator.class); 마찬가지로 에러를 뱉었으나, mockito-inline 이라는 라이브러리를 사용..

webflux hibernate-reactive 활용해보기

기존 webflux를 사용할 땐, R2DBC를 사용하지 않고 @Override public Mono getReviewsByProductId(int productId) { return Mono.fromCallable(() -> getByProductId(productId)); } 다음과 같은 형태로 fromCallable로 처리하거나, 편법을 사용하여 @Bean public Scheduler jdbcScheduler() { return Schedulers.fromExecutor(Executors.newFixedThreadPool(maximumPoolSize)); } private Flux asyncFlux(Iterable iterable) { return Flux.fromIterable(iterable)...

개발/공부 2022.07.16

3년 차 백엔드 개발자

더 자세히 보고 싶으시면, 노션 참고 부탁드립니다. https://jinwon829.notion.site/3-960d2721ee40401db2c3c4b29b33e45f 소개 이름 : 이진원 업무 : 백엔드 개발자 회사 : 마이다스인 이메일 : olo_jinwon@naver.com github : https://github.com/wlsdnjs829 wlsdnjs829 - Overview wlsdnjs829 has 14 repositories available. Follow their code on GitHub. github.com 개발 블로그 : https://jinwon829.notion.site/73fce8e395fc4409866039eb11d00fdf?v=ec7f8082dee84963819ca443..

개발 2022.07.10

Client Password 암호화

.. 고객사 ISMS 보안 조치 사항으로 클라이언트가 서버로 보내는 패스워드를 암호화해야하는 이슈가 생겼다. 이미 SSL이 적용되어 있어도 정상 참작이 안되나보다.. 우선 클라이언트에서도 암호화 키를 가지고 있어야 하기 때문에 암호화 방식은 RSA 방식을 적용했고, 새로운 요청마다 다른 암호화 키가 적용되도록 처리했다. STEP 1 @Slf4j @UtilityClass public class RsaUtil { private static final String RSA_CIPHER = "RSA/ECB/PKCS1Padding"; private static final String RSA = "RSA"; private static final int KEY_SIZE = 1024; private static fina..

개발/공부 2022.07.10