전체 글 350

Woori코딩 페스티벌 후기

예전에 다니던 회사에서 YBM Cos Pro 1급 시험을 지원해줘서 자격증을 갖고 있는데, 마침 이걸 가지고 있으면 본선 진출이 가능하다고 해서 일단 시험을 봤다. 예선 통과자는 총 165명이었는데... 골때리게 명단에 내이름이 없었다. 뭐지???? 근데 또 본선에 가보니까 내이름이 있었다.... 아마 예선을 본게 아닌 사람은 그냥 빠져있는걸까? 암튼 몇명인지는 잘 모르겠지만 전국적으로 꽤나 많이 시험을 봤을 것 같다. 솔직히 코딩테스트 공부도 살짝 소홀했고, 다른 이름도 아니고 코딩 페스티벌이라고 이름까지 붙은 시험이면 장난아니게 어렵겠구만 하고 재미로 시험을 봤는데... 3문제 180분이었는데 평가 기준에 [나이/풀이 시간]이 괜히 있는게 아니었다. 문제가 좀 지나치게 쉬웠다.... 1번 문제는 간단..

기타/일상 2022.09.21

트랜잭션의 격리수준과 문제점, 그리고 해결법

트랜잭션의 격리수준 동시에 여러 트랜잭션을 처리할 때에, 얼마나 이들이 서로 고립되어 있는지를 의미한다. 즉, A라는 트랜잭션이 B라는 트랜잭션 내에서 변경한 데이터를 보는 기준점을 결정한다. 격리수준의 종류 이는 4가지로 분류할 수 있는데, READ UNCOMMITTED 커밋되지 않은 데이터를 읽을 수 있음 READ COMMITTED 커밋된 데이터만 읽을 수 있음 REPETABLE READ 트랜잭션 동안 같은 데이터를 읽을 수 있음 SERIALIZABLE 트랜잭션의 순차적 실행 이다. 한번 하나하나 살펴보자. READ UNCOMMITTED 아직 커밋되지 않은 데이터를 읽을 수 있는 격리 수준이다. 즉 Transaction의 COMMIT이나 ROLLBACK과 상관 없이 해당 트랜잭션의 데이터를 확인 가능..

Terraform 기본 개념 정리

Terraform 기본 개념 Infrastrupctupre as Code, 코드로써의 인프라 인프라를 이루는 서버, 미들웨어 그리고 서비스 등, 인프라 구성요소들을 코드를 통해 구축하는 것 IaC는 코드로써의 장점, 즉 작성용이성, 재사용성, 유지보수 등의 장점을 가진다. Terraform by Hashicorp 테라폼은 현재 정말 많이 쓰이는 도구이고, 현재는 거의 업계 표준으로 쓰인다. 테라폼은 인프라를 만들고, 변경하고, 기록하는 IaC를 위해 만들어진 도구이다. 문법이 쉬워 비교적 다루기 쉽고 사용자가 많아 레퍼런스를 찾기 쉽다. .tf형식의 파일 확장자를 갖는다. AWS, Azure, GCP같은 퍼블릭 클라우드뿐만이 아닌 다양한 서비스 역시 지원한다. 테라폼 구성요소 provider 테라폼으로 ..

Terraform의 Variable 기초

Terraform Infrastructure as Code Variables 코드에서 변수를 사용할 수 없다면, 매번 다른 값이 필요할 때 마다 하드코딩된 코드 한벌씩을 새로 만들어야 할 것이다. 테라폼의 설정 파일을 작성하는 운영자와 개발자는 변수의 정의를 코드와 함께 작성하여 텍스트 편집기를 열지 않고도 인프라를 코드로 쉽게 정의할 수 있다. .tfvars형식의 직접적 변수 선언 일반 .tf파일에서의 변수 선언 Inline변수 선언 또는 변수 파일 지정 (-var / -var-file) 환경 변수 선언 OSS Terraform 구성 또는 모듈의 입력 변수 관리 지원되는 변수의 종류는 이렇게 3가지 카테코리로 이루어져 있다. Primitive Types string number bool Collecti..

terraform의 workflow 기초

Terraform 기초 HashiCorp라는 회사에서 만든 솔루션이다. 이는 인프라를 구축,변경,버전관리를 하기 위한 도구로서 코드로 인프라를 관리할 수 있게 해준다. 코드가 곧 인프라가 되고, 인프라를 코드로 설명할 수 있어야 한다는 것이다. Provisioning Day0, Day1, Day2 이런 식으로 설명한다. Day0 요구사항 분석, 어떤 아키텍쳐를 설계할지에 대한 트레이닝 과정 Day1 설계된 아키텍쳐의 구현 인프라, 네트워크 서비스 구현 등이 여기서 이루어진다. Day2 Day1에서 구성된 요소들을 관리하고, 유지보수하고, 새로운 요청이 있으면 새로운 아키텍쳐를 구성하는 등의 반복 작업을 여기서 수행해준다. Day1을 통해서 인프라 구성 완료를 했다고 가정해 보자. 그리고 이후 Day2에서..

Vault userpass방식 로그인 및 Policy 적용하기

Vault userpass방식을 사용한 Vault서버 로그인 및 policy를 통한 권한 부여 이전 방식에서는 Token을 통해 권한의 확인을 진행해 보았다. 이번에는 여기에 userpass를 붙여본다. 1. Vault서버에 Root 계정으로 로그인하기 입력 vault login hvs.RootToken~~~~~ 결과 Success! You are now authenticated. The token information displayed below is already stored in the token helper. You do NOT need to run "vault login" again. Future Vault requests will automatically use this token. Key V..

Vault Token방식 로그인 및 Policy 적용하기

Vault Token방식을 사용한 Vault서버 로그인 및 policy를 통한 권한 부여 1. Vault서버에 Root 계정으로 로그인하기 입력 vault login hvs.RootToken~~~~~ 결과 Success! You are now authenticated. The token information displayed below is already stored in the token helper. You do NOT need to run "vault login" again. Future Vault requests will automatically use this token. Key Value --- ----- token hvs.RootToken~~~~~ token_accessor mDI0u6IZs..

네트워크 인프라 기초 공부 및 정리

IT인프라, 왜 알아야 할까?? 어플리케이션을 동작시키기 위해서는 다양한 요소들에 대한 고민이 필요하다. 이 때 우리는 시스템을 크게 기능적 요구사항과 비기능적 요구사항으로 나누어 생각해볼 수 있는데, IT인프라 환경은 비기능적 요구사항에서 중요한 역할을 차지한다. 어플리케이션 개발에 있어서는 크게 기능적 요구사항 / 비기능적 요구사항 에의 고민이 필요하다. 기능적 요구사항 시스템이 무엇을 해야 하는지에 대한 정의 시스템이 수행해야 하는 기능 기술 세부정보 데이터 조작 및 처리 등등... 비기능적 요구사항 대체적으로 품질이나 속성에 대한 내용 인프라는 비기능적 요구사항과 밀접한 관련을 가지고 있다. 제품 요구사항 시스템이 얼마나 빨리 실행되고, 얼마나 많은 CPU나 메모리가 존재해야 하는지? 장애가 났을..

RBAC과 ABAC 기초 정리

RBAC(Role-Based access Control)이란 접근이나 작업에 대한 권한을 역할에 따라 결정한다. 여기서 역할은 보통 부서 , 위치 , 연공서열 , 담당 업무 등등... 이다. 역할이 정의되면 다음에 대한 권한을 할당할 수 있다. 액세스 무엇에 접근할 수 있을지? 운영 무엇을 읽고, 무엇을 작성할 수 있을지? 파일을 생성하거나 삭제할 수 있을지? 세션 시스템에 얼마나 오래 머무를 수 있을지? 로그인은 언제 작동하고 언제 만료되는지? ABAC(Attribute-Based Access Control) 접근이나 작업에 대한 권한을 사용자, 리소스 속성 또는 환경에 따라 결정한다. 권한을 다음과 같이 할당할 수 있다. 사용자 사람의 직급과 연공서열에 따라서 등등.. 리소스 속성 파일유형, 만든사람..

이론 정리 2022.08.18

네트워크 입문 001

네트워크 시작하기 물리적 연결부터 네트워크 모든 것의 이론적 기반이 되는 OSI7계층, 그리고 패킷이 실제로 전송되는 인캡슐레이션(Encapsulation, 캡슐화) 과정까지 간단히 알아본다. 네트워크 구성도 살펴보기 네트워크는 크게 서비스를 받는 입장과 서비스를 제공하는 입장으로 나뉜다. 서비스를 제공하는 입장에서는 네트워크에 접속한 구성원 수, 필요한 네트워크 속도에 따라 여러 상황을 고려해야 한다. 홈 네트워크 홈 네트워크의 구성은 어떤 인터넷 회선을 연결하더라도 같다. 홈 네트워크를 구성하는 데는 모뎀, 공유기, 단말 간에 물리적 연결이 필요하다. 무선 연결은 무선 랜 카드와 무선 신호를 보낼 수 있는 매체(공기)가 필요하다. 유선 연결은 유선 랜 카드, 랜 케이블이 플요하다. 프로토콜 네트워크에..