프로그래밍 방법

프로그래밍 방법

MSA에서 필수로 알아야 하는 Circuit Breaker 패턴

Circuit Breaker 목적은 무엇일까요? Circuit Breaker 패턴은 장애가 발생했을 때 장애가 전파되는 것을 막기 위한 패턴입니다. 원래라면, 서비스 A가 서비스 B를 호출하고, 서비스 B가 장애가 발생하면 서비스 A도 장애가 발생합니다. Circuit Breaker 패턴을 적용하면, 서비스 A가 서비스 B를 호출할 때 더 이상 호출하지 않도록 차단합니다. 차단하는 것을 통해서 서비스 A는 정상적으로 작동할 수 있도록 하는 목적을 가지고 있습니다. Circuit Breaker 패턴의 구성요소 Circuit Breaker 패턴은 크게 3가지로 구성되어 있습니다. Open Half Open Closed Open Open 상태는 Circuit Breaker가 차단되어 있는 상태입니다. Open..

프로그래밍 방법

Oauth의 등장 배경과, 변화 과정에 대해 알아보자

Oauth는 왜 나왔을까?? 바로 위와 같은 상황을 해결하기 위해서 Oauth 가 등장했는데요 그전까지는 API Access Deligation 이 있었다고 하는데요 회사마다 모두 다른 정책을 사용했기에, 웹 표준이 없어서 회사마다 다른 정책을 구현해야 했다고 합니다 이를 처음 비공식적으로 2006 년에 합의해서 나온 것이 Oauth1.0이고, 이후 보안 문제를 해결해서 나온 것이 Oauth1.0a입니다 Oauth 사용 방식의 변화 처음 oauth의 목적 위에 나왔던 것처럼 권한 부여에 목적을 가지고 등장한 프로토콜인데요 사용자의 ID와 패스워드를 타 서비스에 제공하지 않고, 구글캘린더 같은 기능을 사용할 수 있도록 하려고 했습니다 구글 캘린더 외에 Gmail 같은 서비스에 접근하는 것은 허가하지 않는 ..

프로그래밍 방법

명확한 판단 근거를 만들자(feat: chatgpt)

요즘 코파일럿을 통해서 코딩을 2개월정도 해보았는데요 처음에는 좋았고, 무서워지고, 고민을 하게 되었습니다 앞으로 대부분의 일들은 인공지능이 할 수 있을 것 같아보입니다 실제로 반복 작업의 경우 거의 대부분의 시간을 줄여줄 수 있었습니다 주변 문맥들을 이해해서 작성해야 한다거나, 복잡도가 생기면 완벽하지 않은 결과를 만들어 주기도 하고 예전 버전의 코드들이 섞여있어서 제대로 원하는 결과를 얻지 못하는 경우도 많았습니다 코드의 퀄리티나 사후 체킹에 대한 과정이 필요하기도 합니다 단순 작업에 대한 시간이 없어지기에, 효율은 엄청나게 늘어나고, 이 부분을 잘 활용하는 것은 정말 중요해보였습니다 코파일럿같은 AI 도구들을 잘 활용하기 위해서는 어떤 방법이 필요할까요? AI 가 해줄 수 없는 부분을 해주는 역할이..

프로그래밍 방법

GraphQL

이런 분이면 더 좋아요 GraphQL이 처음인 사람 GraphQL 공식문서를 보기 귀찮은 사람 NestJS로 GraphQL을 만들어보고 싶은 사람 GraphQL 이란? API를 위한 쿼리 언어 GraphQL은 API를 위한 쿼리 언어이며 이미 존재하는 데이터로 쿼리를 수행하기 위한 런타임 입니다. GraphQL은 API에 있는 데이터에 대한 완벽하고 이해하기 쉬운 설명을 제공하고 클라이언트에게 필요한 것을 정확하게 요청할 수 있는 기능을 제공하며 시간이 지남에 따라 API를 쉽게 진화시키고 강력한 개발자 도구를 지원합니다. 라고 적혀있다. 쿼리 언어이고, 런타임이다 라는 내용이 개인적으로는 핵심이라고 생각합니다 런타임 vs 런타임 환경 런타임 프로그램이 실행되고 있는 동안의 동작을 말한다. 컴퓨터 언어 ..

프로그래밍 방법

도메인 주도 설계 철저 입문 Domain Driven Design(DDD) - 2

1편에 이어서 작성된 글입니다 못 보신 분은 1편을 먼저 보시고 오시는 것을 추천드려요 https://be-student.tistory.com/17 도메인 주도 설계 철저 입문 Domain Driven Design(DDD) 최근 인기 있는 설계 방식 DDD를 알아보자 실제 채용 공고에 적혀있는 도메인 주도 설계(DDD)에 관한 내용이다. 당근 마켓 채용 공고에 적혀있는 내용이기에, DDD에 관한 관심도를 알아볼 수 있다. be-student.tistory.com 도메인 주도 설계 철저 입문 글을 마무리 해보고자 합니다 나머지 책을 정리하다 보니 네이밍 컨벤션에 대해서 말을 하고 가는 것이 좋아 보여서 먼저 정리를 하고 난 다음에 해보고자 합니다 도메인 서비스 이름 정하기 정하는 방법은 책에서 나온 바로 ..

프로그래밍 방법

도메인 주도 설계 철저 입문 Domain Driven Design(DDD)

최근 인기 있는 설계 방식 DDD를 알아보자 실제 채용 공고에 적혀있는 도메인 주도 설계(DDD)에 관한 내용이다. 당근 마켓 채용 공고에 적혀있는 내용이기에, DDD에 관한 관심도를 알아볼 수 있다. 도메인 주도 설계라는 내용을 잘 다루고 있다는 "도메인 주도 설계 철저 입문" 라고 하는 책을 다룰 예정이다 이 책은 도메인 주도 개발의 입문서로 쓰면 정말 괜찮은 책이다. 단점은 C#으로 되어있어서 다른 프로그래밍 언어를 처음 보는 사람에게는 힘들 수도 있지만, 기초적인 class, 문을 다룬 경험이 있다면 충분히 이해할 만하다 간단한 개념부터 잡고 가자 도메인 주도 개발이란? "도메인" + "지식에 초점"을 맞추어 개발한다. 도메인이란? 프로그램에 쓰이는 대상 분야를 의미한다. 하지만 더 중요한 부분은..

be-student
'프로그래밍 방법' 카테고리의 글 목록