| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- 비전공자sqld
- 격파르타비전공자
- javaJRE
- java map 출력
- java map 저장
- java list 출력
- 프로그래머스
- 프로그래머스제일작은수
- java 자료구조 활용
- java set 출력
- java list 저장
- 격파르타후기
- java참조자료형
- 인터프린터언어
- 노베이스부트캠프
- 격파르타합격후기
- 항해99후기
- java알고리즘
- java알고리즘문제풀이
- 작은수제거하기
- 코딩부트캠프후기
- 컴파일
- 격파르타장점
- 항해15기
- java최솟값구하기
- java set 저장
- java map
- java기본자료형
- javaJVM
- sqld자격증합격
- Today
- Total
목록분류 전체보기 (259)
코딩과 결혼합니다
📌프로세스와 스레드 프로세스 실행 중인 프로그램, 작업공간 프로그램을 실행하면 OS로부터 실행에 필요한 자원을 할당받아 프로세스가 된다. 데이터, 메모리 등의 자원 + 스레드 스레드 실제로 작업을 수행하는 것, 일꾼 모든 프로세스에는 하나 이상의 스레드가 존재 둘 이상의 스레드를 가진 프로세스를 '멀티스레드 프로세스'라고 한다. ⭐멀티태스킹과 멀티 스레딩 멀티태스킹(multi-tashking, 다중작업) : 여러 개의 프로세스가 동시에 실행 멀티스레딩 : 하나의 프로세스 내에서 여러 스레드가 동시에 작업을 수행 CPU의 코어는 한 번에 하나의 작업만 수행할 수 있다. (코어의 개수 = 처리되는 작업의 개수) 스레드의 수는 언제가 코어의 개수보다 훨씬 많기 때문에 각 코어가 아주 짧은 시간 동안 여러 작업..
📌CORS (Cross-Origin Resource Sharing) CORS는 출처가 다른 자원들을 공유한다는 뜻으로, 한 출처에 있는 자원에서 다른 출처에 있는 자원에 접근하도록 하는 개념이다. 다른 출처에 있는 자원을 요청하는 것을 교차 출처 요청이라 부른다. 교차 출처 리소스 공유 는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제이다. 웹 애플리케이션은 리소스가 자신의 출처(도메인, 프로토콜, 포트)와 다를 때 교차 출처 HTTP 요청을 실행한다. 📌출처 Protocol + Host + Port 3가지가 같으면 동일 출처(Origin)라고 한다. 다른 출처 요청일 경우, CORS 정책에 준..
기존에는 로그인 기능을 어플리케이션 도메인에 구현하였는데, 이번에 Spring Security JWT 로그인으로 Filter에서 로그인을 처리하도록 리팩토링 해보았다. 이것에는 몇 가지 이점이 있다. 1. Spring Security는 보안 관련 다양한 기능을 제공하므로 보안 구현 부담을 줄일 수 있다. 2. Spring Security의 다양한 확장 기능을 활용하여 인증 방식이나 사용자 관리 기능을 유연하게 변경하거나 확장할 수 있다. 📌JWT 검증 및 인가 Slf4j(topic = "JWT 검증 및 인가") @RequiredArgsConstructor public class JwtAuthorizationFilter extends OncePerRequestFilter { private final Jwt..
.github/workflows/main.yml 파일 만들기 name: Build and Deploy Spring Boot to AWS EC2 on: push: branches: [ "main" ] permissions: contents: read jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up JDK 17 uses: actions/setup-java@v3 with: java-version: '17' distribution: 'temurin' - uses: actions/checkout@v3 - run: touch ./src/main/resources/application.properties - ru..
JWT을 생성하고 검증하는 클래스 @Slf4j(topic = "JwtUtil") @Component public class JwtUtil { // Header KEY 값 public static final String AUTHORIZATION_HEADER = "Authorization"; // Token 식별자 public static final String BEARER_PREFIX = "Bearer "; // 토큰 만료시간 private final long TOKEN_TIME = 60 * 60 * 1000L; // 60분 @Value("${jwt.secret.key}") // Base64 Encode 한 SecretKey private String secretKey; private Key key; pr..
이전에 회원가입과 로그인이 잘 되는 걸 보고 풀리퀘 날렸었는데.. 이상하게 로그인은 되는데 signup이 죽어도 안 됨. 서버는 잘 돌아가는데 포스트맨으로 기능 테스트를 하려 하면 403이 떴다. POST방식으로 보내는지 ok 경로를 제대로 입력했는지 ok securityFilterChain 메서드 내부에서 정의된 권한 설정이 일치하는지 ok인 줄 알았으나 정말 바보 같은 실수를 하고 있었다. 이 부분을 수정하면서 ""를 제대로 구분 안 해준 것. 이거 찾느라 몇 시간 버렸다. 이메일 인증 구현을 했지만 여전히 304 에러가 뜬다. 인증 토큰의 부재 또는 유효하지 않음 확인 ⭕ - 회원가입때 이메일 인증하는 거라 인증 토큰이 따로 필요하지 않다. CORS 정책 ⭕ - @CrossOrigin 어노테이션을 ..
⭐열거형 관련된 상수들을 같이 묶어 놓은 것. Java는 타입에 안전한 열거형을 제공(값&타입 체크) ⭐열거형의 정의와 사용 열거형을 정의하는 방법 enum 열거형 이름 {상수명 1, 상수명 2,...} 열거형 상수 간 비교 == 연산자를 사용하여 비교할 수 있다. equals()가 아닌 ==으로 비교가 가능하다는 것은 그만큼 성능이 좋다는 것이다. 로는 비교할 수 없지만 compareTo()는 사용이 가능하다. switch 문의 조건식에도 사용할 수 있다. switch(d1) { case EAST: // Direction.EAST라고 쓰면 안된다. System.out.println("The direction is EAST."); break; case SOUTH: System.out.println("Th..
⭐Generics란? 컴파일 시 타입을 체크해 주는 기능 - JDK1.5 객체의 타입 안정성을 높이고 형변환의 번거로움을 줄여줌 ⭐타입 변수 클래스를 생성할 때, Object타입 대신 타입 변수를 선언해서 사용 객체를 생성 시, 타입 변수(E) 대신 실제 타입을 지정(대입) 타입 변수 대신 실제 타입이 지정되면, 형변환 생략가능 ⭐Generics 용어 Box 지네릭 클래스, 'T의 Box' 또는 'T Box'라고 읽는다. T 타입변수 또는 타입 매개변수 Box 원시타입 (raw type) ⭐Generics 타입과 다형성 참조 변수와 생성자의 대입된 타입은 일치해야 한다. ArrayList list = new ArrayList(); // ok, 일치 ArrayList list = new ArrayList(..