💻Development
-
[linked list] add two numbersAlgorithm/LeetCode 2025. 4. 20. 11:40
✅ Problemhttps://leetcode.com/problems/add-two-numbers/description/ ✅ Approach & Solution방식) 반복문 사용더보기반복문을 사용해 첫 번째 연결 리스트, 두 번째 연결 리스트, 자리올림수를 모두 처리할 때까지 반복dummyNode 생성하여 연결 리스트 구현 (null 확인 로직 줄이기 위함)/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNo..
-
[linked list] reverse linked listAlgorithm/LeetCode 2025. 4. 20. 10:45
✅ Problemhttps://leetcode.com/problems/reverse-linked-list/description/ ✅ Approach & Solution방식1) iterative더보기현재 노드의 next가 이전 노드여야 한다./** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */class Solution..
-
[Spring] 스프링 핵심 원리 - ThreadLocalStudy/Spring 2025. 4. 19. 23:15
일반 변수와 ThreadLocal 변수 비교1) 일반 변수 필드여러 스레드가 같은 인스턴스의 필드(멤버 변수)에 접근하면 처음 스레드가 보관한 데이터가 사라질 수 있음 예시)thread-A가 userA라는 값을 저장하고, thread-B가 userB라는 값을 저장하면 직전에 thread-A가 저장한 userA 값은 덮어씌워짐 2) ThreadLocal로 선언된 필드ThreadLocal은 해당 스레드만 접근할 수 있는 특별한 저장소를 말함즉, ThreadLocal을 사용하면 각 스레드마다 별도의 내부 저장소를 제공함. 따라서 같은 인스턴스의 스레드 로컬 필드에 접근해도 문제 없음자바는 언어 차원에서 스레드 로컬을 지원하기 위한 java.lang.ThreadLocal 클래스를 제공함 예시)thread-A가 ..
-
[Spring] Spring MVC - 필터, 인터셉터Study/Spring 2025. 4. 19. 21:26
들어가기 전,Q. 필터와 인터셉터는 언제 사용하면 좋을까?공통 관심사는 스프링의 AOP로도 해결할 수 있지만, 웹과 관련된 공통 관심사는 서블릿 필터나 스프링 인터셉터를 사용하는 것이 좋음웹과 관련된 공통 관심사를 처리할 때는 HTTP 헤더나 URL 정보들이 필요한데, 서블릿 필터나 스프링 인터셉터는 HttpServletRequest를 제공함 Q. 둘 중 어떤 것을 사용할까?인터셉터는 스프링 MVC 구조에 특화된 필터 기능을 제공한다고 이해하면 됨스프링 MVC를 사용하고, 특별히 필터를 꼭 사용해야 하는 상황이 아니라면 인터셉터를 사용하는 것이 더 편리함 서블릿 필터필터 흐름HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 컨트롤러필터를 적용하면 필터가 호출된 후에 서블릿이 호출됨필터는 특정 URL..