일단 해보고, 아니면 뭐

실패했어도 배웠으면 실패가 아냐.

무한한 개발세계 여행기

Programing 21

RestTemplate로 알아보는 Spring Template Callback Pattern

오늘도 열심히 인프런 강의를 듣고 있었다. 스프링 강의 고급 편을 듣다 보면 여러 가지 디자인 패턴에 대해서 알게 되는데, 오늘은 템플릿 메서드 패턴부터 시작해서 프록시 패턴까지 공부를 하게 되었다. 강의를 듣던 중 템플릿 콜백 패턴이라는 것을 듣게 되었는데 따로 GOF 패턴은 아니고 스프링 내에서 자주 사용되는 패턴이라 스프링 안에서만 이렇게 부른다고 한다. 김영한님 강의에서는 다른 코드의 인수로서 넘겨주는 실행 가능한 코드를 콜백(callback)이라고 하며 프로그래밍에서 콜백(callback) 또는 콜애프터 함수(call-after function)는 다른 코드의 인수로서 넘겨주는 실행 가능한 코드이고 콜백을 넘겨받는 코드는 이 콜백을 필요에 따라 즉시 실행할 수도 있고, 아니면 나중에 실행할 수..

Programing/Spring 2022.07.17

Java ThreadLocal 파헤치기

요즘에 나는 인프런 강의를 즐겨 듣고 있다. 오늘은 스프링 핵심 원리 - 고급편 강의를 들었는데 강의 내용이 'ThreadLocal'를 이용하여 동시성 이슈를 해결하는 거였다. ThreadLocal은 자바를 공부하던 시절부터 자주 들어왔어서 기능 자체가 낯설지는 않았다. 쓰레드 별로 본인의 특별한 저장공간? 을 만들어서 사용하는 기능인데, 어떻게 쓰고, 무슨 일을 하는지는 알지만 'ThreadLocal이 어떻게 이런 기술을 구현했는지'는 따로 알아본 적이 없는 거 같다! 그래서 나는 이번 기회에 ThreadLocal 클래스를 분석해서 어떻게 쓰레드간 동시성 이슈를 해결했는지 정리해보고자 한다! (동시성 이슈는 서버 개발을 하다 보면 무조건 겪게 되는 거 같다. 이번 기회에 원리와 구현방식을 공부하면 많은..

Programing/Java 2022.07.16

Spring Security Role 도입. Autority 써보기

요즘에 회사생활도 일상생활도 바빠져서 포스팅을 오랫동안 하지 못했는데, 나태해진 나를 반성하고 반성하며 오랜만에 포스팅을 하려고 한다. 포스팅 주제를 생각하다가 과거에 API 접근관련하여 Spring Security의 Autority를 사용한 적이 있는데, 최근 회사에서 새로운 서비스를 개발할 때 사용할 수 있을 것 같아서기억을 되새김질할 겸 정리를 해보려고 한다. API 접근 권한은 왜 부여하는 걸까? 'API 보안이 중요하다'라는 말은 많이 들어봤을 것이다. API에 접근 권한을 부여하는 것은 이 보안의 모범사례 중 하나일 뿐이다. 그렇다면 API 보안은 왜 중요할까? 기업은 API를 이용해서 서비스를 연결하고 데이터를 전송하는데 이런 API가 손상, 노출 또는 해킹이 되면 주요한 데이터의 보안 유출..

Programing/Spring 2022.06.20