목록전체 글 (77)
땃쥐는 오늘도 열심히 서버를 띄우네
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/DBROX/btsHWwvQrMs/00NPqAOcSFD6jXInfkJ0Y0/img.png)
1. 의문점 @GetMapping("user") fun user(authentication: Authentication): OAuth2User { val token = authentication as OAuth2AuthenticationToken val user = token.principal return user } 스프링 시큐리티를 사용할 때, Authentication 객체를 컨트롤러에서 바로 바인딩받아 사용할 수 있다.그런데 이 Authentication 객체는 어떻게 주입되는걸까? 2. 디버거로 찾기: 어느 HandlerMethodArguemntResolver가 작동했을까? 컨트롤러의 파라미터 바인딩 동작 확인은 어떤 HandlerMetho..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bVCAuW/btsHsnE3Q0S/4AW2FIUKWVzr1z4RTXr8vk/img.png)
이번 글에서는 Gradle에서 변수를 buildSrc 폴더에 모아두고 빌드 스크립트에서 사용할 수 있도록 해보겠다. 환경- 필자는 Kotlin 사용, JDK는 21을 사용하고 있으나 그 이전 버전을 사용해도 무방- IntelliJ Ultimate (Community 버전을 사용해도 무방) buildSrc 폴더 생성, build.gradle.kts 생성plugins { `kotlin-dsl`}repositories { mavenCentral()} 프로젝트 루트 경로에 buildSrc 폴더를 생성한다.이곳에 build.gradle.kts 파일을 추가한 뒤 위 스크립트를 작성하자. gradle 공식문서의 설명에 따르면, gradle은 buildSrc 디렉터리를 발견하면 이 코드를 자동으로 컴파일 및..
자바, 순수 코틀린 문법을 사용하다보면 스프링 시큐리티 필터체인을 작성할 때 다음과 같이 작성해야한다. @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { http .authorizeHttpRequests((authorize) -> authorize .requestMatchers("/login").permitAll() .anyRequest().authenticated() ); return http.build(); } 물론 이것도 괜찮긴 한데... 람다 표현식을 체이닝을 통해 넣어주는 식이기도 하고 가독성이 썩 좋지는 않다.import org.springframework.se..
dependencies { // spring security implementation("org.springframework.boot:spring-boot-starter-security") testImplementation("org.springframework.security:spring-security-test") } gradle의 경우 buiild.gradle 또는 build.gradle.kts maven의 경우 pom.xml 파일에 스프링부트 시큐리티 의존성을 추가 해보면 여러가지 일들이 일어난다. 이를 가장 정확히 설명하는 문서는 스프링 시큐리티의 공식 문서의 getting-started - Runtime Expectations 단락에 있다. 여기선 간단하게 당장 개발하면서 체감할 수 있는 내용만..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bJNJXA/btsFp9oLFNs/n97JZqTUsDwkbCeQLO7nBK/img.png)
[GKE] Google Kubernetes Engine (GKE) 시작하기 글에서 이어집니다. 이전 글에서, 구글 클라우드 플랫폼 상에서 쿠버네티스 클러스터를 실행하는 것을 다뤄봤습니다. 클러스터에 접근하여 애플리케이션을 배포해보겠습니다. Cloud Shell 에서 클러스터 연결 우선 우측 상단에 보이시는 Cloud Shell 활성화 버튼을 누릅니다. 아래에 터미널이 활성화되고 명령을 입력할 수 있습니다. 지금 우리가 접속한 쉘은 클러스터와 별도로 존재하는 VM에 위치해있다는 점에 주의합시다. 이제 우리가 아까 만든 클러스터에 원격으로 접근할 수 있도록 해야합니다. 클러스터 페이지의 우리가 만든 클러스터를 선택하고, 연결 버튼을 클릭합니다. 명령줄을 통해 우리 클러스터에 연결하는 방법을 제공해주네요. C..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bQq074/btsFmmP7zve/aKolSMGbXKSuZIkrEv4SRk/img.png)
[GCP] Google Cloud Platform 시작하기 포스팅에서 이어집니다. 구글 클라우드 플랫폼의 무료체험을 시작하고, 프로젝트를 개설해둡시다. 쿠버네티스 엔진 API 활성화 우선 이전에 만들어 둔 프로젝트에 대해서, 쿠버네티스 엔진 API를 활성화해야합니다. 잠시 기다리다가 새로고침 해보면 쿠버네티스 클러스터 API가 활성화되네요! 쿠버네티스 클러스터 생성 쿠버네티스 클러스터가 활성화됐다면, 위에서 '만들기' 버튼을 눌러서 클러스터를 만들 수 있어요. 그런데 우측 상단에 보면 Standard 클러스터로 전환 또는 Autopilot 클러스터로 전환이 보입니다. 쿠버네티스 클러스터를 만드는 방법은 autopilot 방식, standard 2개로 나뉘는 것 같뉘는데, 이 두가지의 차이점에 대해서는 구..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ck0JIQ/btsFkJSyYTS/XHFIfBKWW0uf4M8kxU8VGK/img.png)
저는 AWS 프리티어 기간이 만료된 상황에서 갖고놀 장난감 서버가 필요하던 상황입니다. 뭘 어떻게 해야할까 고민했는데... 바로 눈에 들어온 것은 구글이였습니다. 구글 클라우드 플랫폼 무료체험 시작 구글 클라우드 플랫폼 무료체험 시작 90일간 300달러 한도 내에서 무료 체험 가능합니다. 신용(체크)카드 등록이 필요하다. gmail 새로 만들어서, 등록 가능 콘솔에서 결제탭에 가보면 300달러 한도 내에서 90일간 사용가능한 것을 확인 가능합니다. AWS 프리티어와 달리 아직까지는 이메일 바꿔서 가입하면 무료 체험이 가능합니다... 킹갓 구글 형님들 감사합니다...!!! 프로젝트 생성 콘솔에 들어와서 새 프로젝트를 개설할 수 있어요. 프로젝트 이름은 고유하게 짓는 것을 권장하는데 이름-날짜-시간 을 나열..
이 포스트는 HTTP 완벽 가이드의 02장 "URL과 리소스" 를 읽고 정리한 내역입니다. 1. 인터넷의 리소스 탐색하기 1.1 URL 이란? URL은 정보를 찾는데 필요한 리소스의 위치를 가리킨다 URL을 통해 인터넷 상의 리소스를 찾고 사용하며 공유할 수 있다 URL을 통해 사람이 HTTP 및 다른 프로토콜을 통해 접근할 수 있다 URI, URL, URN URI : 통합 자원 식별자(URL, URN을 아우르는 개념) URL : 위치를 기반으로 리소스를 식별 URN : 이름을 통해 리소스 식별 1.2 URL의 구조 ://서버위치/경로 스킴(어떻게) : 클라이언트가 리소스에 어떻게 접근하는 지를 알려줌. 어떤 프로토콜을 통해 접근할지를 명시함 호스트(어디에) : 서버의 위치. 리소스가 어디에 호스팅 되어..