일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 복합키
- uncheck Exception
- Unsatisfied dependency
- JPA
- JPA주의사항
- @IdClass
- REST란
- Error creating bean with name
- Filter
- jpa에러
- json gson 차이
- 빈생성안됨
- 스프링 부트 기능
- jwt메서드
- Q 클래스
- ERD 작성
- 최종 프로젝트
- Spring Spring boot 차이
- github
- spring서버
- 인텔리제이
- 스프링 부트 공식 문서
- jpa회원가입
- json
- JoinColumn
- 스프링부트오류
- git
- REST API 규칙
- queryDSL
- 1차캐시
- Today
- Total
목록전체 글 (208)
Everyday Dev System
XSS (Cross-Site Scripting) XSS이란? 부적절한 의도를 갖고 공격하려는 사이트에 악성 스크립트를 삽입할 수 있는 보안 취약점이다. 사용자의 쿠키를 탈취하여 세션 하이재킹 공격이 가능합니다. (사용자를 대신하여 악의적인 활동을 수행할 수 있습니다.) 세션 하이재킹? - 공격자가 인증 작업이 완료되어 정상 통신을 하고 있는 다른 사용자의 세션을 가로채어 별도의 인증 작업 없이 해당 세션을 통해 통신을 계속하는 행위 Stored XSS Reflected XSS

출처(Origin)란? 출처(Origin)는 다음과 같은 3가지를 합친 것을 의미합니다. 프로토콜 : http과 https는 다른 프로토콜 입니다. 도메인 : naver.com과 google.com 은 다릅니다. 포트 번호 : 8080과 22 포트는 다릅니다. ex) https://www.google.com:8080 Cross-Origin이란? 프로토콜, 도메인, 포트 번호 중 한가지라도 상이한 경우를 말합니다. CORS (Cross-Origin Resource Sharing) 다른 출처에서도 리소스를 안전하게 공유할 수 있도록 하는 것이 CORS 정책입니다. 이와 반대로 같은 출처에서만 리소스를 공유할 수 있는 규칙을 가진 정책은 SOP(Same-Origin Policy) 입니다. 보통 브라우저에서는 ..
JNI에 대한 설명을 다음 글을 참고 하면 된다. 2023.09.30 - [나의 호기심] - JNI란? 아래는 JNI를 이용하는 자바 프로그램 코드이다. public class JNIExample { static { System.loadLibrary("MyJNILibrary"); } private native int getNumber(); private native void printHelloWorld(); public static void main(String[] args){ JNIExample jni = new JNIExample(); jni.printHelloWorld(); System.out.println(jni.getNumber()); } } System.loadLibrary("MyJNILibr..

InterCeptor란? Interceptor 활용하기 먼저, Interceptor가 무엇인지 알아야 합니다. 1. 인터셉터란? 컨트롤러와 핸들러를 호출하기 전과 후에 요청과 응답을 참조하거나 가공하는 역할을 합니다. '낚아채다' 라는 의미로, 사용자 요청에 의해 서버에 들어온 Request 객체를 컨트롤러의 핸들러로 도달하기 전에 낚아채서 개발자가 원하는 추가 작업을 한 후 핸들러로 보낼 수 있도록 돕습니다. 예로 로그인체크 혹은 권한 체크 등을 할 수 있습니다. 특정 컨트롤러 url에 매핑되어 인터센터를 지정할 수 있습니다. 또한, 장점으로는 여러 url에 컨트롤러 접근 이전에 전처리가 필요할 경우에 코드의 중복을 최소화할 수 있습니다. 2. 인터셉터 활용 예제 간단한 예시를 아래를 통해 보도록 하겠..
이력서를 쓰면서 내가 어떤 사람인지 알아가고 글로 적는게 색다르고 재밌었다. '나'라는 사람에 대해 집중하고 내면을 깊숙히 들여다보며 나의 본질을 한번에 알기란 어렵다. 그래서 주변 지인들께 물어보았다. 지인들이 바라본 나 한가지에 깊게 파는 성향인 것 같다. 단점으로는 멀티가 잘 안되는 듯. 감정적으로 힘든 것을 주변인에게 호소하지 않고 혼자 감당하는 편이다. 주변인에게 의지하지 않고 어떤 일이든 스스로 해내려고 노력한다. 맡은 일을 책임감있게 임해서 신뢰가 간다. 지식을 습득하는데에 있어서 관심이 많다. 가끔 좀 행동이나 생각이 엉뚱하다. 한번 아니라고 생각하면 아니다 라는 생각이 뚜렷하다. 반복적인 일상을 즐기지 않는 편이다. 명예보다는 능력있는 사람으로 인정받고 싶어한다. 하고 싶은 일에 대해서는..
System.arraycopy 메서드에서 native를 명시한 이유가 무엇일까? @IntrinsicCandidate public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length); 위의 코드는 System 클래스의 코드 일부를 발췌한 것이다. System.arraycopy 메서드는 저수준 메모리 작업 필요하여 순수 java 코드로 수행이 힘들다. 그 이유는 다음과 같다. 1. 배열 복사 작업: System.arraycopy 메서드는 배열의 요소를 다른 배열로 복사하는 작업을 수행한다. 이 때, 배열은 메모리 상에 연속적으로 저장되어 있으며, 배열의 각 요소는 메모리의 연속된 위치에 저장된다. ..

자바에서 Arrays 클래스 코드들을 뜯어보다가 처음보는 것을 발견해서 찾아보았다. native 란 ? JNI란? import java.util.Arrays; public class test { public static void main(String[] args) { int[] arr = {0,1,2,3,4}; System.out.println("Arrays.toString(arr) = " + Arrays.toString(arr)); System.out.println(); // copyOf int[] arr2 = Arrays.copyOf(arr, arr.length); System.out.println("Arrays.toString(arr2) = " + Arrays.toString(arr2)); int[..

1. 프로젝트 개요 프로젝트 명 : "Elephant " 프로젝트 한줄 소개 : 개발자 및 개발 공부를 하는 사람끼리 서로 정보를 공유하고 협업 프로젝트 팀을 구성해 사이내에서 다양한 협업 지원 기능을 이용할 수 있습니다. 도메인 주소 : https://www.elephantcodingclub.site/ (현재 서버 OFF) 시연 영상 : https://www.youtube.com/watch?v=5RR0kAxlCGY 팀노션 : https://www.notion.so/azuressu/a1c7ce1ccb874da0b1f4b99050bd295d Repository : https://github.com/sangbu3jo/Elephant GitHub - sangbu3jo/Elephant Contribute to ..

먼저, 로그인을 하면 JWT 토큰을 재발급 해줍니다. 예를 들어 JWT 토큰의 만료 시간이 1시간일 경우, 1시간마다 로그인을 해주어야 합니다. 이러한 번거로움과 엑세스 토큰의 탈취를 염려하여 리프레시 토큰을 추가했습니다. Refresh Token 도입 쿠키에 토큰을 저장하는 방식을 선택하였고, 쿠키에 만료 시간을 설정하여 웹 브라우저에서 쿠키가 만료가 되면 자동으로 삭제하도록 하였습니다. 이는 웹 브라우저에서 제공하는 기능입니다. 도입 배경 : 만료 이전의 엑세스 토큰이 탈취되면 이를 활용할 할 수 있다는 문제 발현 보안적인 측면과 사용자의 편의성을 고려하여 Refresh Token을 도입. 목적 : 인증 과정에서 보안적인 측면을 강화 보안적인 측면을 고려함으로써 감소하는 사용자의 편의성 또한 보완 인..