Bank-End Chronicles

「Memory gets GC’d, but this blog stays committed.」

DB - 신뢰할 수 있고 확장 가능하며 유지보수하기 쉬운 애플리케이션

<데이터 중심 애플리케이션 설계를 읽고>

신뢰할 수 있고 확장 가능하며 유지보수하기 쉬운 애플리케이션 신뢰성Reliability : 하드웨어나 소프트웨어 결함, 인적 오류같은 역경에 직면하더라도 시스템은 지속적으로 올바르게 동작(원하는 성능 수준에서 정확한 기능을 수행)해야 한다. 확장성Scalability : 시스템의 데이터 양, 트래픽 양, 복잡도가 증가하면서 이를 처리할 수 ...

배경지식 쌓기 - E2EE

End-to-End Encryption

E2EE 종단 간 암호화 End-to-End Encryption 전송자와 수신자 사이의 커뮤니케이션을 암호화하는 방법 메시지를 보내는 곳부터 받는 곳까지 모든 과정에서 암호화된 상태로 메시지를 전달하는 것 사용자들의 중간에서 메세지를 경유하는 서버가 메세지를 열어보지 못하게 하여 사생활의 노출을 막을 수 있는 기술 E2EE가 적용...

AWS - RDS

EC2 DB 구축하기

AWS RDS Amazon Relational Database Service 아마존의 분산 관계형 데이터베이스 데이터베이스 소프트웨어를 패치하거나, DB를 백업하거나, 시점 복구를 활성화하는 것과 같은 복잡한 관리 프로세스들이 자동으로 관리된다. 애플리케이션 내에서 관계형 데이터베이스의 설정, 운영, 스케일링을 단순케 하도록 설...

Docker - Dockerfile

Dockerfile에 대해서

Dockerfile 이미지를 빌드하기 위해서는 Dockerfile 이라는 파일을 작성해야 한다. Dockerfile: 도커 이미지를 빌드하기 위한 스크립트 파일 파일의 이름이 Dockerfile이다. Dockerfile 키워드 1. FROM 베이스 이미지를 지정 (사용할 이미지 입력) tag는 버전을 지정하는 것으로 가능...

9월 25일 (일)

spring boot를 aws에서

infra와 ci/cd 자동화를 위해 할 일 aws에 ec2 인스턴스 만들기 1.인스턴스 생성 2.키페어 생성 3.$ ssh -i {YOUR_KEY_PAIR_FILE.pem} {USER_NAME}@{AWS_PUBLIC_DNS_} Docker image 띄우기 java 17 설치 r...

9월 17일 (토)

<구글 엔지니어는 이렇게 일한다>를 읽고

수 많은 프로세스에서 의미 찾기 이번 개발 기간은 쉴새없이 일하는 까닭에, 조금 지치고 나를 태우고 있다는 생각이 들 즈음이었다. 우리 프로젝트의 gitlab에서 볼 수 있는 타사 개발자가 올린 MR중, 정갈하게 코드 리뷰를 하고 있는 레포를 보았다. 요즘 우리 프로젝트에 도입된 수 많은 프로세스가 제 기능을 하고 있지 않다는 일종의 허무함이 들어서...

Spring - cloud

Spring을 이용한 MSA

Web Service와 Restful Service 웹 서비스를 구현할 때 두 가지 기술을 사용할 수 있다. web service vs RESTful service web service 기술은 호출 당사자 사이에 엄격한 계약이 있을 경우에 적절한 선택이 될 수 있다. 관공서 등에서 사용한다. XML 사용 SOA...

CI/CD - Github Actions

CI/CD

github action 코드를 push하면 github.com에서 컴퓨터를 하나 빌려주는데, 이것이 runner다. 내 코드의 로직은 아무것도 없는 runner라는 가상머신에서 실행되면서 테스트나 deploy, 메세지 등의 처리를 할 수 있게 된다. 구조 아래 4가지로 구성되어 있는데, 각 컴포넌트는 하위 단계를 포함한다. Wor...

8월 22일 (월)

눌러 담기

꾹꾹 눌러담기 요즘은 다시 찾아온 서비스 개발과 주말을 채우는 토이프로젝트와 회사 친구 따라 새로 시작한 클라이밍과 여전히 좋은 발레와 독서모임과 책읽기를 하며 가용시간을 꾹꾹 눌러담아 빼곡하게 손에 잡히는 결과물을 향해 달리고 있다. 지치지 않기를 바라는 마음이다.

CI/CD, Jenkins, Travis

CI/CD

CI/CD 애플리케이션 개발 단계를 자동화하여 좋은 품질의 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법. 지속적인 통합 Continuous Integration 지속적인 전달 Continuous Delivery 지속적인 배포 Continuous Depolyment 지속적인 통합 CI 지속적으로 코드들의 통합을 ...