OAuth2.0이란?
·
Knowledge/Security
OAuth 2.0이란 무엇인가?OAuth 2.0은 인터넷 애플리케이션이 사용자의 자원에 안전하게 접근할 수 있도록 돕는 인증 및 권한 부여 프레임워크다. 이 프레임워크는 사용자의 민감한 인증 정보를 직접 공유하지 않고, 대신 액세스 토큰을 통해 애플리케이션이 자원에 접근할 수 있게 한다. 이 방식은 특히 클라우드 서비스나 API 통합에서 자주 사용된다. 주요 개념예:1. 사용자가 구글 드라이브 API를 사용하는 A라는 서비스에 OAuth2를 통해 가입했다. 2. 사용자는 OAuth2 인증을 거쳐 로그인한 후, 권한 요청 팝업이 표시되었고, 사용자는 구글 드라이브의 자원 접근을 허가했다.  3. 그 결과, A 서비스는 구글 드라이브에서 사용자의 사진을 다운로드할 수 있었다.1. Resource Owner ..
해싱(Hashing)과 일반 해시 함수(non-cryptographic hash function)
·
Knowledge/Data Structure
해싱해싱(Hashing)은 가변 길이의 입력 데이터를 받아서 고정 길이의 출력 값으로 변환하는 과정을 의미한다. 이때 생성된 고정된 크기의 값은 해시 값 또는 다이제스트(digest)라고 불리며, 원본 데이터와는 크기나 형식이 다르다. 해싱은 데이터의 무결성 검증, 빠른 데이터 검색, 비밀번호 저장 등 다양한 목적으로 사용된다. 특징단방향성: 해싱은 단방향 함수이다. 즉, 원본 데이터를 해시 값으로 변환할 수는 있지만, 반대로 해시 값에서 원본 데이터를 복원하는 것은 불가능하다. 이 때문에 해싱은 암호화와는 다르며, 주로 데이터의 무결성을 확인하는 데 사용된다.고유성(충돌 저항성): 서로 다른 입력값이 동일한 해시 값을 생성할 확률은 매우 낮다. 이를 충돌 저항성이라고 하며, 이 특성 덕분에 해싱은 데이..
[K8S] labels, selector, matchLabels에 대하여
·
Infra/Kubernetes
개인적으로 공부한 내용을 작성한 게시글입니다. 잘못된 내용이 있을 수 있습니다. 틀린 부분을 알려주시면 바로 고치겠습니다.감사합니다.쿠버네티스 리소스의 Manifest 파일들을 작성하다보면 많은 labels, matchLabels, selectors 필드들을 볼 수 있다. 이번 포스팅을 통해 이들을 정리해보려고 한다. Selector Deployment우선 Deployment의 Manifest 파일을 살펴보자apiVersion: apps/v1kind: Deploymentmetadata: name: hello labels: app: hellospec: selector: matchLabels: app: hello track: stable matchExpressions:..
[K8S] 쿠버네티스를 이용하여 Elasticsearch, Kibana, Logstash 배포 (with helm)
·
Infra/Kubernetes
개인적으로 공부한 내용을 작성한 게시글입니다. 잘못된 내용이 있을 수 있습니다. 틀린 부분을 알려주시면 바로 고치겠습니다. 감사합니다. 이제 K8S 이용하여 Elasticsearch를 배포해 보자. Helm이라는 패키징 툴을 이용해서 배포할 것이다.Helm 이란쿠버네티스를 통해 애플리케이션을 배포하기 위해서는 많은 리소스들이 필요하다. 대표적으로 Pod, Deployment, Statefulset, DaemonSet, Service, ConfigMap, Secret, PersistentVolume, PersistentVolumeClaim, Ingress 등등위의 리소스들의 템플릿은 비슷한데, 배포하기 위해서는 애플리케이션마다 모두 yaml파일을 만들어야 하고, 관리를 해줘야 한다.그에 반해 helm을 이..
[K8S] MacOS M2 환경 쿠버네티스 설치 (Docker Desktop)
·
Infra/Kubernetes
이번 시간에는 Kubernetes를 Docker Desktop를 사용하여 로컬환경에 설치하려고 한다. 이는 Lightweight Kubernetes Distributions 이라고 불리며 보통 개발과 테스트 환경에서 사용된다. Lightweight Kubernetes Distributions에는 Docker Desktop 이외에 Minikube, MicroK8S, Kind, K3S등이 있다. 아래 링크에 들의 비교글이 있다. https://www.baeldung.com/ops/kubernetes-lightweight-distributions#comparison 설치 1. 우선 Docker-desktop을 설치하자. 아래 링크로 들어가 Apple Chip 버전을 다운로드 후 설치하면 된다. Downloa..
프론트엔드 구현 세부 사항 테스트
·
Knowledge/Test
이 글은 Kent C. Dodds의 Testing Implementation Details 포스트를 번역한 글입니다.Thank you Kent C. Dodds. Because of your posts, I can continue to grow as an engineer.  이전에 enzyme를 사용할 때 (그 시절 모두가 사용했던 것처럼), 나는 enzyme의 특정 API를 신경 써서 사용했다. shallow rendering를 완전히 피하기 위해, `instance()`, `state()`, `find('컴포넌트이름')`와 같은 API를 사용하지 않았다. 그리고 다른 사람들의 풀 리퀘스트 코드를 검토할 때, 왜 이런 API들을 피해야 하는지에 대해 몇 번이고 설명했다. 그 이유는 이런 API들이 컴포넌..