객체에 할당되는 메모리 사이즈 객체의 종류에 따라 달라짐. 객체에 메모리 할당 과정 아래 코드와 같이 객체를 선언 JVM이 4 bytes 블록을 s에 할당 할당된 블록이 heap에 있는 공간을 가리킴. heap에는 Student class에 필요한 메모리 양을 계산하여 그만큼 heap에 할당되어 있음. Student class 안에 선언된 모든 변수들을 계산하여 필요한 메모리 양 계산. JVM은 Student가 무엇인지, 어디서 온 것인지(어디서 상속된 것인지) 알아야 heap에 얼마의 공간을 할당할지 결정할 수 있음. Student s = new Student(); 상속 여러 개의 객체가 있으면 상속을 활용하여 객체 간의 관계를 나타낼 수 있음. 다음과 같은 구조를 이용하여 상속 받을 수 있음. * 아..
시간 복잡도 규칙 입력값 n 은 항상 0 보다 크다. 모든 상수를 제거한다. 예) 3n, 5n, 200n은 모두 n 이다. 낮은 차수의 항은 무시한다. 예) n^3+n^2+n+5 ====> n^3 log함수 일 때 밑을 무시한다. 빅 오 표기법(Big-Oh Notation) 알고리즘의 효율성을 표시하는 표기법 1. O (빅 오 복잡도) 비교 대상인 그래프가 일치 혹은 아래에 있을 때 비교 대상인 다른 알고리즘과 같거나 더 빠름. 2. o (리틀 오 복잡도) 비교 대상인 그래프가 아래에 있을 때 비교 대상인 다른 알고리즘보다 더 빠름. 3. θ (세타 복잡도) 비교 대상인 그래프가 일치할 때 비교 대상인 다른 알고리즘과 같음. 4. Ω (빅 오메가 복잡도) 비교 대상인 그래프가 일치 혹은 위에 있을 때 비..
✔️ 이 글을 읽기 전 CORS에 대해 잘 모르겠다면 아래 글을 먼저 보자. [CORS 00] CORS, 왜 필요할까? [CORS 01] CORS 기본 동작 과정 CorsConfig.java import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter; @Con..
1. 클라이언트에서 HTTP Request시 브라우저가 header에 Origin을 담아서 보냄 2. 서버는 응답 header에 Access-Control-Allow-Origin을 담아서 전송 3. 브라우저가 Origin과 Access-Control-Allow-Origin을 비교 비교 후 Access-Control-Allow-Origin에 Origin이 없거나 다르다면 CORS 에러 발생 출처 교차 출처 리소스 공유 (CORS) - HTTP | MDN 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라 developer.mozi..
CORS (Cross-Origin Resource Sharing) 한 도메인에서 로드되어 다른 도메인에 있는 리소스와 상호 작용하는 클라이언트 웹 애플리케이션에 대한 방법을 정의 왜 CORS가 필요할까? CSRF 문제를 방지하기 위해 기본적으로 동일 오리진 정책(SOP)을 사용 승인된 다른 origin에서 데이터를 가져오는 것이 제한됨. 다른 origin에서 데이터를 공유해야 하는 경우가 있을 수 있음. 따라서 데이터 공유를 허용할 특정 origin을 적어놓은 것이 CORS이다. ❓ CSRF(Cross Site Request Forgery) 사이트 간 요청 위조 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격 ❓동일 오리진 정책(SOP..
객체란? A Java object is a member (also called an instance) of a Java class. Java 클래스의 멤버(인스턴스라고도 함) 클래스를 구체화한 것 클래스를 데이터 타입으로 메모리에 생성된 것 state(fields, 상태), behavior(methods, 행동)로 구성 클래스란? A class is the blueprint from which individual objects are created. 개별 객체가 생성되는 기반이 되는 설계도 사용자 정의 데이터 유형, 데이터 타입 객체를 생성할 때 사용 객체지향 프로그래밍(OOP, Object-Oriented Programming) 기본적으로 기능과 논리보다는 데이터 또는 객체를 중심으로 소프트웨어 설계를..
코드 정리한 Git repository 아래 git repository에 코드 업로드했으니 참고하면서 보면 됩니다. GitHub - wjdwn03/jwt: Spring Boot - JWT 발급, 재발급 코드 정리 / MySQL & Redis 두 가지 버전 업로드 예정 Spring Boot - JWT 발급, 재발급 코드 정리 / MySQL & Redis 두 가지 버전 업로드 예정 - GitHub - wjdwn03/jwt: Spring Boot - JWT 발급, 재발급 코드 정리 / MySQL & Redis 두 가지 버전 업로드 예정 github.com JWT 발급, 재발급 프로젝트 구조 (Spring Boot) ※ 발급, 재발급에 반드시 필요한 파일만 적었습니다. ※ exception, request, r..