분류 전체보기 (115) 썸네일형 리스트형 [Trouble Shooting] organization 내 레포 푸시 불가 오류 개요이번에 새로 시작한 프로젝트를 위해 github의 organization을 생성하였다. 첫 PR을 내가 올리기로 하고 코드 작성을 끝마쳤다. 문제그런데 clone한 레포에 push를 올리려고 하니 PS C:\Users\chose\Desktop\WEB\스프링\spring-rest-api> git push origin feature/#1info: please complete authentication in your browser...remote: Permission to "organization"/"레포".git denied to "깃허브 닉네임"fatal: unable to access 'https://github.com/"organization"/"레포".git/': The requested UR.. [Trouble Shooting] 인텔리제이 SDK, JDK 버전 선택 불가 오류 개요이번에 프로젝트를 시작하며 Java 21을 사용해보자는 의견이 나왔다. 평소에는 JDK 17만 사용해왔기에 JDK 21을 다운받고 이것저것 세팅을 바꿀 필요가 있었다. 문제그런데 인텔리제이 모듈 설정에서 언어 설정 중에 JDK 21이 없었다.확인해본 결과, 내 인텔리제이 버전은 2022년 버전이었는데 그때 당시 Java 21이 존재하지 않아 지원하지 않았던 걸로 파악된다. 즉, IDE 버전 문제였던 것이다. 해결인텔리제이 다운로드 사이트로 가서 2024.3 버전을 다운받고 진행하니 선택지가 생겼다. 여기서 원래는 21 선택지가 없었던 것이다. Java 신규 버전을 시도해보려고 한다면, IDE 버전도 꼭 유념하자. [Spring Security] SecurityFilterChain SecurityFilterChain의 개요이 글은 Spring Security 6.4.3을 기반으로 작성되었습니다. SecurityFilterChain은 FilterChainProxy에 의해서 사용되고,여러 개의 Security Filter들로 구성되어 있습니다. 이 SecurityFilterChain을 통해 보안 처리가 이루어진다고 생각하시면 됩니다. Security Filter들은 보통 Bean이지만,DelegatingFilterProxy나 Servlet container에 등록되는 대신 FilterChainProxy에 등록됩니다. 이를 통해 얻는 장점이 몇 가지 있습니다.1. Spring Security 디버깅이 편리해집니다.- FilterChainProxy는 모든 스프링 시큐리티 지원의 .. [Spring Security] DelegatingFilterProxy와 FilterChainProxy DelegatingFilterProxy이 글은 Spring Security 6.4.3을 기반으로 작성되었습니다. 위 그림은 Client의 하나의 HTTP request에 대해서 Filter들을 거쳐 Servlet까지 가는 그림입니다. DelegatingFilterProxy는 이 Filter중 하나입니다. DelegatingFilterProxy는 스프링에서 제공하는 필터 구현체로서,Servlet 컨테이너와 스프링 IoC 컨테이너의 다리 역할을 합니다. 다리 역할?서블릿 컨테이너는 스프링 IoC 컨테이너에서 관리하는 Bean들에 대해 알지 못합니다.하지만 DelegatingFilterProxy는 스프링 컨테이너에서 Filter를 구현한 Bean(Bean Filter)들을 찾아 등록할 수 있습니다.※ 아래.. [Spring Security] Servlet 기반 어플리케이션 보안의 개요 - FilterChain 개요이 글은 Spring Security 6.4.3을 기반으로 작성되었습니다. 스프링 시큐리티의 Servlet 지원은 Servlet 필터(Filter) 위에서 동작합니다.따라서 필터가 뭔지 아는 것이 먼저입니다. 위의 이미지는 하나의 HTTP request에 대해서 어떻게 처리하는 지 보여줍니다. 만약 클라이언트(Clinet)가 request를 하나 보내면, container에서는 FilterChain을 생성합니다.이 FilterChain에는 여러 개의 Filter들과 하나의 Servlet이 포함되어 있습니다. Spring MVC 어플리케이션에서는 주로 DispatcherServlet의 객체가 Servlet이 됩니다. 이 그림에서 중요한 건 두 가지입니다.첫째, 대부분의 경우 1개의 Servlet이 .. [Logging] SLF4J에 대해서 개요SLF4J(Simple Logging Facade for Java)는 이름의 Facade에서 알 수 있듯이간단한 퍼사드 패턴을 로깅에 적용한 시스템으로 로깅 추상화 라이브러리이다.퍼사드 패턴?퍼사드 패턴(Facade Pattern)은 구조 패턴(Structural Pattern)의 한 종류로써, 복잡한 서브 클래스들의 공통적인 기능을 정의하는 상위 수준의 인터페이스를 제공하는 패턴이다. java.util.logging, logback, log4j 등 다양한 로깅 프레임워크에 대해서 추상화 역할을 하는 인터페이스이다.위의 로깅 프레임워크를 구현체, SLF4J를 인터페이스로 생각하면 이해하기 쉽다. 때문에 SLF4J는 반드시 구현체를 필요로 하게 된다. SLF4J 기본 구성 요소1. SLF4J AP.. [Java] 프로그래머스: 베스트앨범 개요스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개 모아 베스트 앨범을 출시하려 한다.노래는 고유 번호로 구분된다.노래를 수록하는 기준속한 노래가 많이 재생된 장르를 먼저 수록장르 내에서 많이 재생된 노래를 먼저 수록장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록 알 수 없음 String[] genres: 노래의 장르genres[i]: 고유번호가 i인 노래의 장르길이: 1 ~ 10,000(10^4)종류: 1 ~ 99int[] plays: 노래별 재생 횟수plays[i]: 고유번호가 i인 노래가 재생된 횟수길이: 1 ~ 10,000(10^4)※ genres와 plays의 길이는 같다. -> 둘 다 곡에 대한 정보이기 때문※ 모든 장르는 재생된 횟수가 다르다. .. [Java] 프로그래머스: 디스크 컨트롤러 - 람다식 활용 개요하드 디스크는 한 번에 하나의 작업만 수행할 수 있다.우선순위 디스크 컨트롤러를 구현해야한다.어떤 작업 요청이 들어왔을 때, 작업의 번호, 작업의 요청 시각, 작업의 소요 시간을 저장해 두는 대기 큐가 존재.이 큐는 처음에는 비어있다.디스크 컨트롤러는 하드디스크가 쉬고 있고, 대기 큐에 작업이 있을경우 우선순위가 높은 작업을 디스크에게 수행시킨다.우선순위가 높은 것: 작업의 소요시간이 짧은 것, 작업의 요청 시각이 빠른 것, 작업의 번호가 작은 것하드디스크는 작업을 한 번 시작하면 작업을 마칠 때까지 그 작업만 수행한다.하드디스크는 작업을 마치자마자 바로 다음 작업 수행이 가능하다.각 작업에 대한 반환 시간: 작업 요청부터 종료까지 걸린 시간 알 수 없음 작업의 정보가 담겨있는 int[][] job.. 이전 1 2 3 4 ··· 15 다음