컨텐츠

PHP에서 헥사고날 아키텍처 마스터하기 — 더 깔끔하고 확장 가능한 코드 작성!

2025-02-13 10:00 언젠가 읽기

헥사고날 아키텍처 소개

  • PHP 애플리케이션을 위하여 개발된 접근 방식임.
  • 소프트웨어 디자인의 유연성을 증대시킴.

주요 구성 요소

도메인

  • 비즈니스 로직을 수행하는 핵심 부분임.
  • 순수한 PHP 코드로 작성됨.

포트와 어댑터

  • 포트는 도메인과 외부 세계 사이의 인터페이스 정의함.
  • 어댑터는 포트를 구현하여 외부 시스템과의 상호작용 가능하게 함.

애플리케이션 레이어

  • 도메인과 외부 어댑터 간의 중재 역할 수행함.
  • 비즈니스 로직 호출 및 결과 전달 책임짐.

장점

  • 유지보수 용이성 증대함.
  • 확장성 높음.
  • 테스트 용이함.

참고 자료

  • 헥사고날 아키텍처 패턴 소개 자료 언급.
  • 클린 아키텍처 및 PHP 오브젝트 지향 프로그래밍 기초 관련 자료 언급.

AWS에서의 이벤트 기반 아키텍처, 파트 II: 고급 기초

2025-02-12 21:30 언젠가 읽기

이벤트 기반 아키텍처 심화 기초

  • AWS 활용한 이벤트 기반 아키텍처(EDA) 설명
  • EDA 구현 위한 기본 구성 요소 소개
  • 실무 관행 중요성 강조
  • 신뢰성 있는 메시징 시스템 구축 필요성

주요 개념

  • EDA: 비동기적 이벤트 주고받는 아키텍처 스타일
  • AWS 관리 서비스: EDA 효과적 구현 도와주는 서비스
  • 신뢰성 있는 메시징 시스템: 안정적 메시지 전달 보장

적용 범위

  • AWS 서비스 기반 예제 소개
  • 인프라 무관한 일반적 개념 적용 가능

함께 읽으면 좋은 참고 자료

  • EDA 기본 이해 자료
  • AWS를 활용한 시스템 설계 자료
  • 메시징 시스템 신뢰성 확보 전략 자료

슈퍼블록 Percpu_rw_semaphore 교착 상태 디버깅

2025-02-12 20:00 언젠가 읽기

문제 상황

  • 특정 작업의 122초 이상 멈춤 발생
  • PID 2449 "peer local sock"과 PID 1914 "mariadbd" 작업 정지

분석 방법

  • 커널 덤프 파일 분석 선택
  • kdump 트리거 및 crash 유틸리티 사용

백트레이스 확인

  • veeamblksnap에서 슈퍼블록 동결 시 교착 상태 발생
  • percpu_down_write() 함수가 세마포어 획득 대기

교착 상태 원인

  • percpu_rw_semaphore 세마포어 획득 상호 대기
  • veeamblksnap 모듈에서 발생

세마포어 상태 확인

  • 세마포어 주소 확인 및 상태 점검
  • writer 필드에 PID 2449 존재, block 카운터 1 설정

대기 중인 작업 찾기

  • 세마포어 대기를 기다리는 작업 추가 분석 수행

결론

  • veeamblksnap 모듈의 적절한 세마포어 획득 실패로 교착 상태 발생
  • 추가 모니터링과 세마포어 사용 방식 재검토 필요

함께 읽으면 좋은 자료

  • 리눅스 커널 교착 상태 분석
  • 세마포어와 뮤텍스의 이해
  • crash 유틸리티 사용법

기존 서비스 국제화(i18n) 작업 쉽게 덜어내기: t 함수 자동 래핑 스크립트 만들기

2025-02-12 18:30 언젠가 읽기
  • 인프랩 랠릿 셀의 글로벌 서비스 출시 계획 수립
  • 국제화 작업 착수 및 레거시 코드 정리
  • Next.js와 next-i18next 도입
  • useTranslation 훅 및 JSON 파일 활용
  • 서버사이드 렌더링 지원
  • 언어 자원 키 정의 방식 검토
  • 한글 키 방식, 역할군 기반 한글 키 방식, 영어 키 방식 논의
  • 한글 키 방식 채택 결정
  • T 함수 자동 래핑 스크립트 개발
  • 팀의 효율성 및 생산성 향상 목표

시스템 설계의 세 가지 차원: 일관성 모델

2025-02-12 17:00 언젠가 읽기

시스템 설계의 세 가지 차원: 일관성 모델

  • 시스템 설계 차원 탐구 시작
  • 일관성 모델 소개
  • 일관성 개념 이해 필요
  • 원자적 일관성 설명
    • 데이터 동기화 동일 정보 보장
    • 실시간 정보 주고받기 유사
  • 최종 일관성 설명
    • 데이터 전파 시간 소요
    • 시간이 지나면 동일 정보 제공
  • 일관성 모델의 중요성
    • 신뢰성 및 사용자 경험 영향
    • 원자적 일관성, 실시간 애플리케이션 적합
    • 최종 일관성, 성능 및 확장성 유용
  • 일관성 모델 선택 중요성 강조
  • 참고 자료 제안
푸딩캠프 뉴스레터를 구독하면 학습과 성장, 기술에 관해 요약된 컨텐츠를 매주 편하게 받아보실 수 있습니다.