Home
Younghch
Cancel

DDD 사이드 프로젝트에 적용해보기(1)

사이드 프로젝트를 진행하면서 Implementing Domain-Driven Design을 읽고 있었다. 내용이 너무 커서 책을 읽는 속도가 프로젝트 진행속도에 따라가지 못했다. 이에 같은 저자의 가벼운 Domain-Driven Desiong Distlled를 읽고 프로젝트에 적용해보려고 한다. 바운디드 컨텍스트 정의 우리 프로젝트는 헬스 기록을 ...

어디서 토큰을 인증할 것인가?

문제 상황 JWT을 사용하면 인증서버의 퍼블릭 키로 토큰을 검증 할 수 있다. 인증 코드 구현은 어렵지 않다. 하지만 모든 서버에 이 기능이 각각 추가되면 코드의 응집도를 떨어트린다. 인증서버와의 불필요한 통신이 없으면서 인증을 한곳에 응집시킬 방법은 어떤게 있을까? 환경 AWS 내 EKS사용 없이 직접 구성한 K8s 클러스터. 현재 S...

OAuth2.0

프로젝트에서 구글, 카카오 연동이 필요해 OAuth에 대해 공부했다. 유저 아이디만 필요했기에 OAuth가 아닌 OpenId Connect가 필요한게 맞는 것 같다. OAuth에 대해 공부한 내용을 아래 정리한다. OAuth란 무엇인가 OAuth는 ‘Open standard for acess delegation’의 축약이다. 사용자가 가입된 서비스...

Context Switch

프로세스가 cpu에서 실행되고 있을 때, OS는 실행되지 않는다. 그러면 어떻게 OS가 실행중인 프로세스를 다른 프로세스로 전환할까? Timer interrupt 프로세스에서 system call을 호출할때까지 기다려 OS가 컨트롤을 되찾을 수도 있지만, 프로그램이 무한 루프에 빠진다면 이를 되찾을 방법은 없다. 이에 하드웨어에서 타이머를 설정하고 ...

System call

무엇을 공부해할지 오래 헤맸다. 주니어인 지금 운영체제, 네트워크, 데이터베이스 이론을 제대로 공부하면 앞으로의 개발이 편해질 것이란 결론이 나왔다. 우선 Operating Systems: Three Easy Pieces를 보며 공부하는 중이다. (과제 깃) What is System Call? cpu는 두가지 processor mode를 가진다....

냅색 문제

남는 시간에 https://www.acmicpc.net/step 에 있는 알고리즘 문제들을 처음부터 쭉 풀어보고 있다. 오늘 작성할 문제는 dp의 대표적인 문제인 배낭 문제(knapsack problem) 이다. Problem 백준 평범한 가방 가방에 담을 수 있는 무게의 최대값 k와 물건의 총 개수 n, 그리고 각 물건의 무게와 가치가 주...

개발블로그 시작

오늘로 개발 블로그를 시작했다. 개발 일지를 작성할 필요는 계속 느끼고 있었다. 예전에는 해결법을 찾고 적용해보기만 하면 내 것이 되는 줄 알았다. 전에 작성한 안드로이드 코드를 보수하면서, 예전에 풀었던 문제인데도 다시 구체적인 방법을 찾는데 시간을 쏟고 있었다. 필요성을 느꼈음에도 지금 시작하지 않은 이유는 누군가에게 보여준다는 부담감 때문이었다...