Skip to main content
soso01 blog
  1. Posts/

This month I Learned - 22년 3월

·2 mins

이전 블로그에서 옮겨 옴

(내용 정리에 생각을 덧붙일 경우 🤔 이모지를 첨부합니다.)

Development #


우리는 불편함을 어떻게 마주하고 있는가

  • 쿠버네티스 사용기임. 내가 뭘 배워야할 지 알기 좋다.
  • CI, CD - jenkins, helm
  • 모니터링 - 프로메테우스, 그라파나

15단계로 배우는 도커와 쿠버네티스

  • 쿠버네티스 기초 개념

Event Driven Architecture란?

  • Event Driven MicroService(EDM)은 MSA가 적용된 시스템에서 이벤트 발생시 해당 이벤트 로그를 보관하고 이를 기반으로 동작하며, 비동기 통신을 통해 시스템 내 통합을 수행하는 아키텍처
  • 이벤트는 상태의 변경. 즉, 데이터스 생성, 수정, 삭제를 통해 발생하는 서비스의 의미있는 변화를 뜻함.
  • MSA를 적용한 시스템은 서비스가 쪼개지고 DB가 쪼개진다. MSA에서 주요 원칙 중 하나는 서비스 별 자체 비즈니스 로직과 데이터, 그에 따른 최적의 디비를 선택하는 것이다. 이상적으로 하나의 기능을 수행할 때 자신의 서비스 내에서 모두 해결할 수 있도록 서비스 분리를 잘한다면 시스템내 통합을 고민하지 않아도 된다. 하지만 현실적으로 서비스 분리에 따른 서비스 간 데이터 참조 등 시스템 내부에 연결이 발생한다. 또한, 서비스가 뭉쳐져 있을 때 발휘되던 장점을 활용하지 못하는 경우도 발생한다.
  • MSA에 이벤트 드리븐을 엮으면 아래 요구사항을 달성할 수 있다.
    • 비즈니스 흐름에 따른 로직 수행
    • 분산 트랜잭션 처리
    • 서비스 간 반정규화 데이터 동기 처리
    • 적절한 시스템 내 통합
    • 최종적인 일관성

ETC #


능력있는 개발자를 어떻게 알아볼 수 있나?

  • Competent 수준에 들어서야 다른 사람을 코치하는게 가능하다.
  • 잠재력이 있는 Advanced Beginner라고 해도 Competent가 기술을 구사하는 것을 관찰하지 못하면, 평생 실력 향상을 하지 못할 가능성이 매우 높다.
  • Advanced Beginner는 자신의 코드를 보여주는 것에 용기를 가져야 한다.
  • 능력있는 개발자는 어떻게 알아보나?
    • 자기보다 윗레벨을 인터뷰로 파악하는건 거의 불가능하다.
    • 어렵게 설명하나 쉽게 설명하나 듣는 사람에게는 뜬구름 잡는 설명이라고 생각할 수 있음.
    • 여러분의 코드를 리뷰하여 고치게 하는 것으로 비교적 쉽게 Competent를 쉽고 정확하게 구분할 수 있다.
  • 흔히 다른 사람이 작성한 좋은 코드를 보면 많이 배운다고 하지만, 그것보다 더 빨리 배우는 방법은 자기가 작성한 코드가 좋은 코드로 변화하는 모습을 보는 것이다.
  • 내 코드가 품질 개선이 되는 과정을 직접보고 이해하면, 나도 저렇게 할 수 있다는 생각을 가지게 됨.