본문 바로가기
반응형

public void static main/Java12

[Spring Security] JWT(Json Web Token) JWT를 사용하기 위해서는 참 공부할께 많구나..JWT(Json Web Token)은 뭘까?JWT는 인증 정보를 안정하고 효율적으로 표현하기 위해서 사용하는 JSON 기반의 토큰이다!주로 Stateless 인증 시스템에서 사용되고, 사용자가 로그인하면 서버는 JWT를 생성하여 클라이언트에 전달한다.클라이언트는 이후 요청마다 이 토큰을 서버로 전송하여 인증을 받는다.JWT 구조JWT는 Header, Payload, Signature 세 부분으로 구성되고, 각각 Base64Url로 인코딩된 뒤 "."으로 연결된다.JWT 예시eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VySWQiLCJyb2xlIjoiUk9MRV9BRE1JTiIsImV4cCI6MTY4MTM0NjY.. 2025. 1. 13.
[Spring Security] Spring Security에 대해서 알아보자! 프로젝트가 시작되었따... 빠르게 알고가야하는 개념에 대해서 정리하면서 공부해보자! 구조로 보면 더 이해가 쉬워서 다양한 spring security 구조 자료를 가져왔다!Spring SecuritySpring Framework 기반 애플리케이션에 인증(Authentication)과 권한 부여(Authorization)를 처리하기 위한 보안 프레임 워크이다!구성 요소Authentication (인증)사용자가 누구인지 확인하는 과정을 거친다.사용자 이름과 비밀번호, 토큰 등을 사용한다.Authorization (권한 부여)인증된 사용자가 어떤 작업을 수행할 권한이 있는지 확인한다.URL, 메서드, 리소스 접근 제어한다.Filter Chain보안 로직은 일련의 필터 체인으로 작동 한다.요청이 들어오면 필터 .. 2025. 1. 13.
[Spring] Filter, AOP, Interceptor 그리고 Middleware 실무에서 개발하면서 찾아봐야지~ 찾아봐야지~ 했던 filter, aop, interceptor 부분을 드디어 공부해본다! 차이점 미리보기특징FilterAOPInterceptorMiddleware적용 레벨HTTP 요청/응답메서드/클래스컨트롤러 전후요청/응답주요 사용 사례보안, 로깅트랜잭션, 로깅인증, 데이터 가공요청 처리프레임워크 종속성낮음높음(Spring 등)높음(Spring MVC)높음 (Spring Boot)설정 위치web.xml/Java ConfigBean 등록Handler 설정Spring Config코드 복잡도중간높음중간낮음요약Filter는 주로 HTTP 요청/응답을 다루며, 프레임워크에 종속되지 않아 표준적이다.AOP는 메서드 수준의 로직 분리에 적합하며, 코드 재사용성과 유지보수성이 뛰어나다... 2025. 1. 2.
[JAVA] 불변객체, 가변객 뭔지는 알겠는데 자세히 좀 더 알아보자 음 String은 불변이고 StringBuffer 랑 StringBuilder는 가변이래 알겠어 알겠는데 그래서 구조랑 뭐 데이터 할때 어케하는건데!?일단 정의 부터 알아보자!불변 객체란?객체가 한 번 생성되면 그 상태를 변경할 수 없는 객체이다.대표적인 예: String, Integer, LocalDate 등.불변 객체의 장점안정성과 스레드 안전성상태가 변하지 않으므로 여러 스레드에서 동시에 사용해도 안전하다.추가적인 동기화 없이 읽기 전용 데이터로 활용할 수 있다.예: String은 여러 스레드에서 공유될 때 안전하게 사용할 수 있음.설계상태가 변하지 않으므로 객체의 상태를 추적하거나 변경을 고려할 필요가 없다.디버깅과 유지보수가 더 쉬워진다.해시 기반 컬렉션과의 호환성HashMap이나 HashSet.. 2024. 12. 25.
[JAVA] LinkedList 알꺼같으면서도 모르겠다. 면접에서 가장 자주 나오는 개념인 LinkedList인데... 아는거 같으면서도 잘 모르겠는 부분이 많아서 질문 받아서 대답하면 어버버버 한다... 오늘 해결해보자!오늘의 한줄 요약: LinkedList 에서 데이터를 찾는 방법은 순차 탐색(Sequential Search)을 기반으로 이루어진다!LinkedList의 구조 이해LinkedList는 노드(Node)들의 연결로 이루어져있다.각 노드는 두가지 요소를 가지고 있음!데이터(Data): 노드가 저장하고 있는 실제 값.포인터(Next): 다음 노드를 가리키는 참조데이터를 10 -> 20 -> 30 순서로 저장한 LinkedList는 아래와 같다아:[10 | Next] -> [20 | Next] -> [30 | Null]Head: List의 시작 노드를.. 2024. 12. 23.
[JAVA] 타입 캐스팅 시 발생하는 오버플로우? Java에서는 타입 캐스팅을 수행할 때, 특히 정수형 데이터를 더 작은 크기의 정수형으로 캐스팅할 때 오버플로우가 발생할 수 있다.JVM 내부에서는 이 오버플로우를 특별히 에러로 처리하지 않고, 단순히 값의 하위 비트만 취하는 방식으로 처리한다! 처리 과정비트 자르기더 큰 정수형 데이터를 더 작은 정수형으로 캐스팅하면, 상위 비트를 잘라내고 결과적으로 잘린 하위 비트만 새로운 값으로 사용한다.예를 들어, int를 byte로 변환할 때, int의 하위 8비트만 유지된다.값의 손실상위 비트를 잘라내는 과정에서 정보가 손실될 수 있다.오버플로우나 언더블로우와 관계없이 자바는 이를 단순히 값 변환으로 간주한다.2의 보수 연산 규칙 적용정수는 자바에서 2의 보수 표현을 사용하므로, 하위 비트를 유지한 결과가 2의.. 2024. 12. 22.
[JAVA] JVM Memory 강의를 듣다가 정리를 하는게 좋다고 생각해서! JVM Memory는 무엇인가에 대해 글을 쓴다라리 JVM 이란? 자바 가상 머신으로 자바 바이트 코드를 실행할 수 있는 주체! CPU나 운영체제의 종류와 무관하게 실행이 가능함! JVM의 구성 Class Loader Execution Engine Grabage Collector Runtime Data Area Class Loader 변환된 Byte code(.class) 파일을 JVM 내로 class를 로드하고 Link작업을 통해 배치 등 일련의 작업을 한다! 또 런타임시 class를 load 한다! Execution Engine class loader를 통해 JVM 내부로 넘어와 Runtime Data Area (JVM 메모리)에 배치된 Byte code.. 2022. 2. 18.
[Spring] @RestController @Controller 차이가뭐야?? 새롭게 스터디를 시작하면서 오랜만 공부를 시작했는데 Swagger 적용하다가 엇? 계속 오류가 나지뭐야 오마나 아주 기본적인거를 까묵었네 뭐해 이바보야~ 문제 발생! Swagger로 실행하는데 콘솔에 이런 에러가 나옴! 그래서 엇 머지머지 나는 그냥 swagger를 실행 하려고했는데 라고 생각하고 읽어보니 list 이름의 view가 없단다... 아니아니 그냥 swagger만 실행해달라구!!!!!!! 2022-01-29 20:40:47.553 ERROR 14824 --- [nio-8080-exec-8] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] t.. 2022. 1. 29.
[Spring] Hidden Method 회사 발표 준비.... 1.Hidden Method? 브라우저에 따라서 PUT, PATCH, DELETE 방식을 지원하지 않는 경우가 발생할 수 있습니다. 대부분의 많은 브라우저가 GET, POST 방식만 지원하기 때문에 REST방식을 제대로 사용하려면 브라우저가 지원하지 않는 상황에 대해서 고려해야만 합니다. 대부분의 해결책을 브라우저에서 POST 방식으로 전송하고, 추가적인 정보를 이용해서 PUT, PATCH, DELETE와 같은 정보를 같이 전송하는 것입니다. 이를 Overloaded POST 라고 합니다. [💬간단한 예시] 태그를 이용해서 데이터를 전송하는 경우에는 POST 방식으로 전송하되, "method" 라는 추가적인 정보를 이용합니다. 보통 과 같은 형태로 사용해서 GET/POST 방식만을.. 2021. 11. 23.
반응형