Bank-End Chronicles

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

알고리즘 - 재귀

recursive

recursive 재귀적 접근법 부분문제(subproblem)에 대한 해법을 통해 완성된다. 단순히 f(n-1)에 대한 해답에 무언가를 더하거나, 제거하거나, 그 해답을 변경하여 f(n)을 계산해낸다. 데이터를 반으로 나눠 각각에 대해서 문제를 푼 뒤 이 둘을 merge하기도 한다. 접근법 상향식 접근법 우선 간단한 경우들에...

Java - 함수형 인터페이스

코드 리뷰로부터 얻은 값진 수확

오늘 코드 리뷰 시간에 함수형 인터페이스 사용을 배웠다. 코드를 줄일 수 있는 새로운 방법을 배웠다! 근본적 질문 왜 함수형 프로그래밍이 주목받는가? 2000년대 초반까지는 CPU의 클럭 증가, 실행시간 최적화, cache 크기 증가를 통해 소프트웨어의 싱글 프로게스, 싱글 스레드의 속도가 증가했다. 그러나 전력 소모 및 발열 문제 등...

배경지식 쌓기 - 무중단배포

DevOps

무중단 배포 서비스를 중단하지 않고 배포하는 것 무중단 배포의 핵심은 로드밸런서(Load Balancer)를 통해 연결된 두 개 이상의 (서로 다른 IP, 포트를 가진) 인스턴스에 트래픽을 제어해 배포하는 것이다. v1서비스가 실행중일 때, v2 서비스를 시작하려면 v1서비스가 중단되는 다운타임이 생기고 나서 v2를 실행할...

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...