목록분류 전체보기 (233)
주뇽's 저장소
스프링 시큐리티 필터 체인 설정 스프링 시큐리티(Spring Security)는 자바(Java) 기반의 애플리케이션을 위한 강력한 인증 및 접근 제어 프레임워크다. 스프링 프레임워크(Spring Framework)의 일부로, 웹 애플리케이션과 메소드 수준의 보안을 제공한다. 이는 애플리케이션의 보안을 강화하기 위해 맞춤화하고 확장할 수 있는 다양한 기능들을 포함하고 있다. 주요 특징 인증(Authentication): 사용자가 누구인지 확인하는 과정이다. 스프링 시큐리티는 다양한 인증 메커니즘을 지원하며, 이를 통해 사용자 이름과 비밀번호, 토큰 기반 인증, LDAP, OAuth 등 다양한 방식으로 인증을 수행할 수 있다. 권한 부여(Authorization): 인증된 사용자가 특정 자원에 접근하거나 특..
Difference Array Technique 이 기법은 주로 누적 합(Prefix Sum)과 함께 사용되며, 배열의 연속적인 부분에 대한 업데이트를 빠르게 수행할 수 있도록 해준다. 효율적인 업데이트: 배열의 큰 구간을 한 번의 연산으로 업데이트할 수 있다. 이는 구간에 포함된 각 요소를 개별적으로 업데이트하는 것보다 훨씬 빠르다. 시간 복잡도: 각 업데이트는 O(1) 시간에 수행된다. 전체 배열에 대한 누적 합 계산은 O(N) 시간이 소요된다 예시: 온도 조절 상황 : 7일 동안의 온도 기록을 가지고 있다. 각 날짜의 초기 온도는 0도로 설정되어 있다. 일: 1 2 3 4 5 6 7 온도: 0 0 0 0 0 0 0 이제 다음과 같은 온도 조절 작업을 수행한다고 가정해 보자 : 1. 2일부터 4일까지..

점프 투 스프링부트 3 Spring Boot와 React를 이용하여 게시판 풀스택 프로젝트를 진행 중에 Question 엔티티와 Answer 엔티티의 양방향 관계 때문에 JackSon 무한루프에 빠져 오버플로우가 발생하는 문제가 생겼다. 에러 내용은 너무 길어서 가장 윗 부분만 잘라 왔다. // Question Entity의 일부 @OneToMany(mappedBy = "question", cascade = CascadeType.REMOVE) private List answerList = new ArrayList(); // Answer Entity 일부 @ManyToOne private Question question; 해당 문제가 발생한 이유는 다음과 같다. 예를 들어, Question 객체를 JSON..
IaaS(Infrastructure as a Service)하드웨어, 네트워킹, 가상화(AWS의 경우 EC2)만 제공하고 나머지는 담당해야함ex) 리눅스 인스턴스에 파이썬 앱을 배포한다고 가정리눅스 설치 -> 파이썬 설치 -> 애플리케이션 설치OS 업데이트, 애플리케이션 런타임, 오토 스케일링, 로드밸런싱, 등등 직접 해야함PaaS(Platform as a Service)IaaS의 대안이 되며 클라우드가 제공하는 플랫폼을 사용하드웨어, 네트워킹, 가상화(AWS의 경우 EC2), OS, Application Runtime을 제공하고 Application만 담당파이썬 코드와 원하는 파이썬 버전을 실행OS, 파이썬 설치는 신경쓰지 않고 애플리에키션 코드만 담당OS 업데이트, 애플리케이션 런타임, 오토 스케일링..

AWS IAM : 인증과 권한 1. IAM (ID and Access) 그룹 생성 IAM 검색 후 클릭 사용자 그룹 -> 그룹 생성 -> 'Developers' 이름으로 생성 권한 정책 연결 -> AdministratorAccess 검색 후 체크-> 생성 2. IAM 유저 생성 사용자 -> 사용자 추가 -> parkJun_dev(자신의 사용자 이름) 권한부여 -> 항상 그룹에 사용자를 연결 -> Developers 체크 후 생성 3. IAM 유저 로그인 IAM 그룹 우측에 위치한 IAM Login URL을 통해 로그인 3. IAM 유저 로그인 IAM 그룹 우측에 위치한 IAM Login URL을 통해 로그인 클라우드 Regions and Zones 가정 : 런던 지역에 데이터 센터를 운영하고 거기서 애플..
1. 기본 인증 (Basic Authentication) 특징 HTTP 인증 방식 중 가장 간단하다. 사용자 이름과 비밀번호를 결합하여 Base64로 인코딩한 후 전송한다. HTTP 헤더의 Authorization 필드에 사용한다. 장점 구현이 간단하고 이해하기 쉽다. 기본적인 인증 요구사항에 적합하다. 단점 보안이 약하다. HTTPS와 함께 사용하는 것이 필수적이다. 매 요청마다 사용자 이름과 비밀번호를 전송해야 한다. 예시 사용자가 웹사이트에 로그인하려고 하면, 브라우저가 사용자 이름과 비밀번호를 요청하여 서버에 전송한다. 2. JWT (JSON Web Token) 특징 자가 포함된 토큰 방식을 사용한다. 사용자 정보와 인증 데이터를 JSON 형태로 담아 암호화한다. 헤더, 페이로드, 서명으로 구성된..
JUnit 단위 테스트 - 대규모 애플리케이션에는 수천 개의 코드 파일과 수백만 줄의 코드가 있고 이러한 코드는 여러개의 레이어에 분산되어 있다, 애플리케이션을 구축할 때마다 코드가 제대로 작동하는지 확인해야 한다. 즉, 예상하는 동작과 실제 애플리케이션의 동작을 확인해야 한다. 테스트를 수행하는 방법 1. 전체 애플리케이션을 배포하고 테스트 - jar 파일이나 war파일을 빌드하고 어딘가에 배포 후 확인 : 시스템 테스트, 통합 테스트라 불린다. 2. 애플리케이션 코드의 특정한 단위를 독립적으로 테스트 - 특정 메서드나 메서드 그룹을 테스트 하며 확인 : 단위 테스트(JUnit) 단위 테스트의 장점 - 버그를 조기에 찾고 해결할 수 있다 - 단기적으로는 비용이 많이 들지만 장기적으로 비용 절감 JUni..

https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 문제 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다. 예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다. 계단 오르는 데는 다음과 같은 규칙이 있..