100일 코딩 도전! 23일차
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발, 데이터 구조 및 알고리즘(DSA), 시스템 설계
대상자
- 중급~고급 개발자: ASP.NET Core, REST API, 시스템 설계, DSA 실습에 관심 있는 개발자
- 난이도: 중간 수준 (실전 개발 경험과 이론 학습을 병행)
핵심 요약
- ASP.NET Core + REST API 구현:
GET/POST/PUT/DELETE
기반 CRUD 작업,Entity Framework
및DbContext
활용,Repository Pattern
적용 - DSA 실습 완료:
Kadane’s Algorithm
,Two-Pointer Techniques
등 배열 관련 문제 해결 - 시스템 설계 학습:
Token Bucket
,Leaky Bucket
알고리즘,Microservices Architecture
개념 정리
섹션별 세부 요약
1. CRUD Operations with ASP.NET + REST APIs
- REST API 설계:
- GET
(데이터 조회), POST
(데이터 생성), PUT
(데이터 수정), DELETE
(데이터 삭제)
- Route Mapping
및 Model Binding
을 통한 요청 처리
- 기술 스택:
- ASP.NET Core
+ Entity Framework
활용한 데이터베이스 연동
- Dto
사용을 통한 데이터 전송 객체 분리
- 아키텍처 패턴:
- Repository Pattern
을 통한 비즈니스 로직과 데이터 접근 분리
2. DSA Practice: Arrays Section (Striver Sheet)
- 주요 알고리즘:
- Kadane’s Algorithm
(최대 서브배열 합 계산)
- Two-Pointer Techniques
(배열 재정렬, 이중 포인터 활용)
- 학습 효과:
- 문제 해결 능력 향상, 알고리즘 설계 패턴 이해
- Striver SDE Sheet
기반 체계적 학습
3. System Design Learnings: Rate Limiting & Microservices
- Rate Limiting 기법:
- Token Bucket
vs Leaky Bucket
알고리즘 비교
- Fixed Window
vs Sliding Window
카운터 구현 방식
- Microservices 아키텍처:
- 대규모 시스템의 모듈화 및 확장성 구현
- 실제 시스템 설계 사례를 통한 이론 적용
결론
- 실무 적용 팁:
- ASP.NET Core에서 REST API 구현 시 Entity Framework
와 Repository Pattern
병행 적용
- DSA 학습 시 Striver Sheet
기반 체계적 문제 풀이
- 시스템 설계 시 Rate Limiting
과 Microservices
아키텍처의 실무적 적용 분석
- 핵심 메시지: "실전 개발과 이론 학습의 균형이 중요하다"