전체 글(68)
-
자바의 로봇청소기, 가비지 컬렉션
자바에는 가비지 컬렉션(Garbage Collection) 이라는 기능이 있습니다.영문 뜻으로 짐작할 수 있듯이 사용하는 객체의 메모리를 주기적으로 검사해서 청소해주는 일을 합니다!C와 C++같은 Unmanaged language는 free()와 같은 함수를 사용해서 직접 메모리를 해제하는 반면Garbage Collector는 이러한 번거로운 일을 대신 해주고 있는 것이죠! (like 로봇청소기) ♻ 가비지 컬렉션 ( vs 가비지 컬렉터) 먼저, 헷갈릴 수 있는 두 용어를 정리하고 가겠습니다. 가비지 컬렉션 메모리 관리 프로세스로, 더 이상 사용되지 않는 메모리(객체)를 자동으로 찾아서 회수하는 작업 → 청소가비지 컬렉터가비지 컬렉션을 수행하는 구성요소. 불필요한 메모리를 실제로 찾아내고 해제하는 ..
2024.07.09 -
Spring Security @EnabledWebSecurity 의 동작원리
Spring Security? Spring의 공식문서에 따르면, Spring Security는 강력하고 사용자 정의가 가능한 인증 및 액세스 제어 프레임워크입니다. (Spring 기반 애플리케이션 보안을 위한 사실상의 표준)Java 어플리케이션에 인증 및 권한 부여를 제공하는 데 중점을 둔 프레임 워크라고 할 수 있죠.인증 및 권한 부여에 대한 포괄적이고 확장 가능한 지원세션 고정, 클릭재킹, 크로스 사이트 요청 위조 등과 같은 공격으로부터 보호서블릿 API 통합Spring Web MVC와의 선택적 통합 등… 다양한 특징을 가지고 있습니다! @ 어노테이션 그렇다면 제목의 EnabledWebSecurity앞에 붙어있는 @는 무엇일까요?이해를 위해서는 메타데이터 라는 개념을 짚고 넘어갈 필요가 있습니다! 메..
2024.06.17 -
RabbiqMQ란 무엇일까?
RabbitMQ 얼랭(Erlang)언어로 AMQP를 구현한 오픈소스 메세지 브로커. *얼랭 : 함수형 프로그래밍 언어 (C와 비슷한 성격의 언어라고 볼 수 있겠다.) 메시지 브로커란? Publisher(송신자)로부터 전달받은 메시지를 Subscriber(수신자)로 전달해주는 중간 역할이며 응용 소프트웨어 간에 메시지를 교환할 수 있게 한다. 즉, 소프트웨어끼리 메세지를 서로 교환할 수 있도록 중간에서 알선해주는 녀석이다.(미들웨어 라고 칭함) AMQP client application과 middleware broker와의 메세지를 주고 받기 위한 프로토콜 메시지 브로커가 어플리케이션(소프트웨어) 사이에서 메시지를 중개해주는 녀석이라고 했다. 양측의 어플리케이션에서 받은 메세지를 퍼나르기위한 규칙이자 방법..
2023.02.15 -
[Docker] 도커와 컨테이너
개발에 조금이라도 발을 담가봤다면 대부분 '도커'라는 개념을 들어본 적이 있을 것이다. 필자의 경우 주위에서 '도커 참 좋더라~' 라고 하는데, '그래서 도커가 뭔데..?' 라는 생각이 머리를 맴돌았다. 그 후 도커에 대한 내 생각의 흐름은 이렇게 흘러갔다. 대충 구글에 도커 검색 -> 아~ -> (1주일 뒤) 도커가 뭐더라? -> 대충 구글에 도커 검색 -> 아~ 이 무한의 굴레를 끊고자.. 제대로 마음잡고 도커에 대해 공부하고 직접 실습해보며 어느 정도 감을 잡기 시작했다. 그 좌충우돌의 과정을 한 달이 지난 이제서야 포스팅으로 정리해보려 한다. (포스팅으로 정리하는건 배우는 것과 별개로 정말 어렵고 번거롭다..흑흑.. 모든 블로거들에게 무한한 존경을..) 도커에 대한 개념을 쉽게 훑어보고, '정확한..
2022.08.12 -
[Spring Boot] 이메일 보내기 (3) - html 템플릿 적용 (feat. Thymeleaf)
++) 해당 포스팅은 이전 작성한 포스팅들과 연계되어 있으므로 먼저 보고 오는 것을 추천합니다! https://born2bedeveloper.tistory.com/68?category=1038709 [Spring Boot] 이메일 보내기 (2) - 참조(cc), 첨부 파일 꽤 오래전에 구글 SMTP 서버를 이용한 Email 전송에 관한 내용을 다룬 적이 있었는데, 생각보다 조회수가 매우 높았다. 아마 이메일 전송이 부가적인 기능으로 다양하게 사용되기 떄문이겠지? 새로 born2bedeveloper.tistory.com https://born2bedeveloper.tistory.com/14?category=1038709 [Spring Boot] EMail 보내기 기존 프로젝트를 베타 오픈하기 전에, 피드백..
2022.08.11 -
[Spring Boot] Thymeleaf 경로 변경 & 다중 경로 설정
이 포스팅은 타임리프 템플릿 엔진 사용 시, html등의 파일을 프로젝트 '내부'가 아닌 '외부' (ex. C드라이브)에 두고 관리할 수 있는 방법을 다룬다. Thymeleaf 경로 변경 별도의 설정이 없다면, 기본 경로는 src/main/resources/templates 로 설정된다. 만약 기본 경로값을 바꾸고 싶다면, application.properties 파일에서 간단하게 변경 가능하다. spring.thymeleaf.prefix=classpath:/other-template/ 위와 같이 설정하게 되면, 경로는 src/main/resources/other-template 폴더 안에 들어간 html파일을 기본 경로로 읽을 것이다. Thymeleaf 다중 경로 설정 만약, 기존의 경로를 유지하면서 ..
2022.08.11