개발자 되버리기
최대한 비용 부담을 줄이면서 보안도 신경쓰고.. 개발하고.. 인증하기 위해서 노력을 많이 하는 편... 근 1년 들어 Let's encrypt 가 이런 저런 안되는 곳이 좀 있는 것 같아서 인증서를 알아보던 중 Zero SSL을 알게 되었다. 인증서 기간은 Let's encrypt 와 같이 3개월동안 무료로 제공! 스프링과 vue에 다 적용해주기 위해서 입력해야 하는 명령어들을 정리할 예정이다. 일단 Zero SSL에서 인증서를 받으면 다음과 같은 파일들을 준다. 여기 있는 세 개의 파일들은 추후 vue 쪽 설정 잡아주는 파일들과 매칭된다. zeroSSL -> vue 에서 쓰일 변수 private.key -> privkey.pem certificate.crt -> cert.pem ca_bundle.crt..
만약 메소드 단위별로 시간을 측정하고싶다면 (혹은 그 외의 무언가 특수한 공통적인 목적이 있을경우) 해당코드를 응용하면 좋을 것 같다. import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.springframework.stereotype.Component; @Aspect @Component public class TimeTraceAop { @Around("execution(* com.mydirectory..*(..))") public Object execute(ProceedingJoinPoint joinPo..
반복적인 파라미터에 응답을 해줄 경우가 있다거나 조회가 빈번히 일어나는 API의 경우에는 캐싱 기능을 이용하면 정말 좋습니다. 40ms 걸리던 것도 (혹은 1초 이상이더라도) 10ms 이내로 응답을 반환할 수 있기에 DB 커넥션을 불필요하게 사용하지 않고 리소스를 덜 잡아 먹으며 동일한 응답을 할 수 있습니다. 해당 포스트에서는 게시글을 조회하거나 저장할 때를 예시로 하여 포스팅을 하도록 하겠습니다. 우선 캐싱 설정을 해주어야 합니다. build.gradle에 해당 라이브러리를 추가해줍니다. implementation 'org.springframework.boot:spring-boot-starter-cache' 캐시 설정 bean을 주입해줍니다. @Configuration @EnableCaching pu..