K8S Deploy github action 소개 1
·
Server/Infra
GITHUB ACTIONS을 통한 ECR 배포 및 EKS를 사용하기 위한 배포 스크립트이며, Github Actions에 대한 소개입니다.깃헙 액션 레파지토리를 참고하면 좋습니다.ON & ENVon: push: branches: [ "dev" ]env: AWS_REGION: ap-northeast-2 AWS_ACCESS_KEY_ID: ${{ secrets.PROJECTT_AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.PROJECTT_AWS_SECRET_ACCESS_KEY }}{{ secrets.something }}의 경우 GitHub Secrets에 등록된 값으로 대체됩니다.branches 배열의 경우 OR 조건으로, 배열 안에 작성된 ..
Chapter 01. 함수형 프로그래밍 소개
·
스터디/함수형 프로그래밍 with 자바
함수형 프로그래밍 소개어떤 것이 언어를 함수형으로 만드는가?프로그래밍 언어가 추상 함수(abstract function)을 생성하고 조합함으로써 논리 연산을 표현할 수 있을 때 함수형 언어로 간주.람다 대수를 구성하는 세가지 구성 요소- 추상화: 단일 입력을 받는 익명 함수, 람다를 의미- 응용: 값에 추상화가 적용되어 결과를 생성. 개발자의 관점에서는 함수나 메서드 호출을 의미.- 베타 축약: 추상화된 변수를 적용된 인수로 대체제어 흐름이나 알고리즘을 설명하지 않고, 연산의 논리를 선언적 문장으로 표현할 수 있다.함수형 프로그래밍은 불변성을 강조하며, 상태를 변경하는 대신 새로운 상태를 생성한다.문장이 아닌 표현식을 사용하여 결과와 프로그램이 작동하는 방식을 설명.무엇을 해야하는지가 아닌, 무엇을 원하..
[Spring Security] OncePerRequestFilter, GenericFilterBean에 대하여
·
Server/Security
JWT를 구현하는 Security 구현에 대한 글들을 보면 JWT filter 구현시, OncePerRequestFilter를 사용하는 경우가 많다. (사실 단 한 번도 빠짐없이 모두 OncePerRequestFilter를 사용하는 것으로 보였다.) Spring Security 기능에 필터를 추가하고자 한다면 Filter를 사용하면 된다. 그럼에도 불구하고 OncePerRequestFilter를 사용하는 이유는 뭘까? OncePErRequestFilter는 무엇일까? (나는 지금까지 왜 이걸 궁금해하지 않고 그냥 복붙 하여 쓰고만 있었을까..) OncePerRequestFilter를 알기 전에 먼저 GenericFilterBean라는 추상 클래스에 대해 먼저 알아보는 게 좋겠다. (OncePerReque..
[Spring Security] UserDetails Class에 대하여
·
Server/Security
UserDetails 클래스 public interface UserDetails extends Serializable { /** * Returns the authorities granted to the user. Cannot return null. * @return the authorities, sorted by natural key (never null) */ Collection
[Spring Security] Security 종속성 추가 후, 자동 로그인 화면이 뜨는 이유
·
Server/Security
종속성 추가 implementation 'org.springframework.boot:spring-boot-starter-security' Spring Security를 사용하기 위해, 위의 종속성을 추가함과 동시에 아래와 같은 로그인 화면이 뜨는 것을 볼 수 있다. 로그인 화면이 뜨는 이유 package org.springframework.boot.autoconfigure.security.servlet; 시큐리티 종속성 추가 후, 다음 패키지로 이동하면 SpringBootWebSecurityConfiguration라는 하나의 클래스를 확인할 수 있다. @Configuration(proxyBeanMethods = false) @ConditionalOnWebApplication(type = Type.SER..
[DynamoDB] AWS 다이나모 DB Local 설치
·
Basic/Database
DynamoDB Local 설치도커를 사용하여 다이나모 디비를 받아옵니다. (Docker가 설치되어 있어야 합니다.)docker pull amazon/dynamodb-localDynamoDB 실행docker run -d -p 8000:8000 amazon/dynamodb-local확인(aws cli가 설치되어 있어야 합니다.)aws dynamodb list-tables --endpoint-url http://localhost:8000
[kube] 쿠버네티스 명령어
·
Server/Infra
# 쿠버네티스 클러스터에서 사용할 수 있는 오브젝트 목록 조회 kubectl api-resources pod만 보기 바랄 때. # 쿠버네티스 오브젝트의 설명과 1레벨 속성들의 설명 # apiVersion, kind, metadata, spec, status kubectl explain pod kubectl explain deployment . 을 사용해서 더 디테일한 정보들을 볼 수 있다. # 쿠버네티스 클러스터에서 속한 노드 목록 조회 kubectl get nodes # 쿠버테니스 오브젝트 생성/변경 # kubectl apply -f kubectl apply -f deployment.yaml kubectl apply -f 을 통해 pods을 올릴 수 있다. # 애플리케이션 배포 개수를 조정 (repli..
[kube] 쿠버네티스 클러스터 통신
·
Server/Infra
이전 게시물 [Kube] GKE (Google Kubernetes) 클러스터 만들기 구글 클라우드 90일 무료를 선택하였습니다. 쿠버네티스 엔진을 클릭하시면 대시보드로 이동하게 됩니다. 사용 버튼을 눌러줍니다. 만들기 버튼을 눌러줍니다. Autopilot 클러스터가 아닌 STANDARD chordplaylist.tistory.com kubectl 명령어 실행 준비 명령어를 어디로 보내야 하는가에 대한 api 서버 주소가 필요합니다. (현재는 GKS를 이용하므로 구글 쿠버네티스 클러스터 서버 접속 정보. 아마존이라면 EKS) 접속 정보는 gcloud 명령어를 사용하여 클러스터 접속 정보 및 사용자 정보를 로컬에 구성할 수 있습니다. 구글 클라우드의 Kubernetes 클러스터에 들어가 이전에 만들었던 클러..
코드플리
코드 플레이 리스트