목차 Spring Security Spring Security는 인증, 권한 부여 및 보안 기능을 제공하는 스프링 프레임워크이다. 먼저 사용되는 용어를 간단히 정리하자. User, Principal 인증을 시도하는 주체를 User, 주체의 구체적인 정보(Username ID)를 Principal이라고 한다. 실제로는 혼용돼서 사용되는 듯하며, 보통 Entity 클래스에 그 정보가 담긴다. Authentication 인증은 User, 혹은 Principal이 본인이 맞음을 증명하는 절차를 말한다. 정상적인 인증을 위해 제출하는 식별 정보를 Credential(신원 증명 정보)이라고 한다. Authorization 권한 부여, 혹은 인가는 인증을 통과한 사용자에게 역할(Role)에 따라 특정 리소스에 대한 ..
목차 어제오늘 JVM의 메모리 구조를 공부하다가 속도와 용량, 일처리 속도의 최적화에 대해 조금 더 알고 싶어서 찾아보게 되었다. 당연하게도 관련 자료가 매우 많고 논문까지 쌓여있는(...) 수준이라 맛보기의 맛보기 정도만 정리하고 가려고 한다. Memory? 메모리는 크게 나누면 Primary Memory와 Secondary Memory로 구분되며, 각 특징은 아래와 같다. Primary MemorySecondary MemoryCPU에 직접 접근이 가능함CPU에 직접 접근이 불가능함Secondary Memory에 비해 상대적으로 속도가 빠름Primary Memory에 비해 상대적으로 속도가 느림임시적(temporary) 메모리이며 일반적으로 휘발성영구적 메모리이며 비휘발성용량 대비 가격이 상대적으로 비..
목차 지난 글에선 JVM의 대략적인 구조와 Workflow에 대해 알아보았다. 2022.10.30 - [Development/Technical Interview] - [Java]JVM 구조(1), JVM Workflow [Java]JVM 구조(1), JVM Workflow JVM(Java Virtual Machine) JVM(Java Virtual Machine)이란 이름 그대로 자바 바이트코드를 실행할 수 있는 가상 머신이다. 여기서 자바 바이트코드란 JVM이 실행할 수 있는 언어로 이루어진 명령어의 집합을 가 gnidinger.tistory.com 이번 글에선 내용을 나누어 다루기로 했던, 런타임 데이터 영역에 대해 알아보겠다. 먼저 지난 글에서 살펴본, JVM의 구조에 대해 그림으로 복습하고 가자...
목차 HTTP의 특징 중 하나는 비연결성이다. 특정 사용자가 한 번 서버에 연결한 적이 있어도 서버는 해당 연결을 유지하지 않는다. 이 때문에 클라이언트의 요청이 없는 실시간 알림이나 메시지 수신이 불가능한데, 이를 해결하는 방식에 대해 정리한다. Polling 폴링은 간단하게 말하면 주기적으로 클라이언트가 서버로 요청을 보내는 방식이다. 가장 간단한 방식이지만 지속적인 HTTP 요청이 발생하기 때문에 리소스 낭비가 발생하며, 진정한 의미의 실시간 연결이라 보기 힘들다는 단점이 존재한다. 추가로 이를 부분적으로 해결하기 위해 긴 폴링(Long Polling)이라는 방식이 존재한다. 이는 요청의 유지시간을 이벤트 발생 시까지 길게 유지하는 방법으로, 어느 정도 실시간 연결이라 볼 구석이 있지만 이벤트 사이..
목차 AWS(Amazon Web Service) 아마존의 클라우드 컴퓨팅 사업부. 클라우드 컴퓨팅을 통한 서비스 배포에 필요한 각종 서비스를 제공한다. EC2(Elastic Compute Cloud) EC2는 AWS에서 제공하는 클라우드 컴퓨팅 서비스이다. 적은 시간과 노력으로 원하는 성능과 원하는 운영체제의 가상 머신을 구성할 수 있으며, 이렇게 생성 및 대여한 한 대의 컴퓨터를 인스턴스라 부른다. S3(Simple Storage Service) S3는 무제한 용량을 지원하는 클라우드 저장소이다. 버킷(Bucket)이라는 영역을 생성해 데이터를 키-값(Key-Value) 형식의 객체로 저장한다. 여기서 객체란 구체적으로는 실제 데이터가 담긴 파일과 그 파일에 대한 메타데이터로 구성된 객체이다. 파일에는..
목차 Spring Boot 스프링 부트는 복잡한 세팅과 구성을 개발자 대신 간결하게 처리하는 스프링 프로젝트 중 하나다. 구체적으로는 복잡한 .xml 파일에서 .yml 파일로의 전환 build.gradle을 통한 의존 라이브러리 버전 자동 관리 starter 모듈 의존 라이브러리를 통한 앱 및 앱을 띄울 서블릿 컨테이너 자동 구성 .jar 파일로의 빌드를 통해 바로 실행 가능한 파일 생성 내장 WAS(Web Application Server, 혹은 서블릿 컨테이너)를 통한 손쉬운 배포 가 그 특징이라고 할 수 있다. +) 서블릿 컨테이너 - 클라이언트의 요청을 처리하고 반환하는 서블릿의 실행 및 생명주기를 관리하는 역할 Spring AOP AOP(Aspect Oriented Programming)는 직역..
목차 PaaS PaaS란 Platform as a Service의 약자로, 직역하면 서비스로서의 플랫폼이 된다. 저장공간, 서버 등의 자원에 더해 O/S, 미들웨어(소프트웨어 사이의 소프트웨어) 등을 제공하고 관리하여 개발자로 하여금 자체 데이터 및 앱 개발에만 신경 쓸 수 있는 환경을 제공하는 것이다. 조금 구체적인 작동방식은 로컬에서 빌드 및 컴파일해 클라우드에서 실행하는 순서로 이루어진다. 여기서 빌드란 소스 코드를 실행 가능한 형태로 변환하는 과정과 그 결과를 아우르며 컴파일은 빌드의 과정 중 소스코드를 컴퓨터가 이해할 수 있는 기계어로 번역하는 과정을 말한다. 상대적으로 자유도가 낮다는 단점이 있지만 접근성이 좋기 때문에 앱 개발자에게 가장 이상적인 클라우드 컴퓨팅으로 받아들여진다. Docker..
- Total
- Today
- Yesterday
- Python
- 동적계획법
- 세모
- 리스트
- 지지
- 유럽
- BOJ
- 세계일주
- 자바
- 칼이사
- 중남미
- 면접 준비
- Backjoon
- 스프링
- 세계여행
- spring
- 유럽여행
- java
- Algorithm
- a6000
- 파이썬
- 야경
- 스트림
- 맛집
- 남미
- 백준
- 알고리즘
- RX100M5
- 기술면접
- 여행
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |