본문 바로가기
반응형

분류 전체보기96

.NET CORE 백엔드 개발 (3) - 에러 핸들링 에러 핸들링 애플리케이션을 운영하다 보면 예외(Exception)는 피할 수 없다. 단순한 에러부터 비즈니스 로직에 따른 예외까지, 예외가 발생했을 때 이를 일관된 방식으로 처리하지 않으면 유지보수성, 사용자 경험, 보안 측면에서 모두 문제가 생긴다.특히 Clean Architecture에서는 Application, Domain, Infrastructure 등 레이어가 나뉘어 있기 때문에, 예외 처리 로직을 각 레이어에 흩뿌려두는 것은 적합하지 않다.따라서 전역(Global) 에러 핸들링 미들웨어를 통해 예외를 한 곳에서 모아 관리하는 것이 효율적일 것이다. 글로벌 에러 핸들링의 필요성일관성: 클라이언트는 항상 정해진 포맷으로 에러 응답을 받을 수 있음.보안성: 스택 트레이스나 내부 DB 정보가 그대로 .. 2025. 10. 5.
.NET CORE 백엔드 개발 (2) - 로그 시스템 만들기 로그 시스템 만들기 백엔드 개발에서 로그(logging)는 단순한 기록이 아니라, 시스템을 운영하고 개선하는 핵심 도구이다. 로그를 통해 얻을 수 있는 효과는 다음과 같다.1. 문제 진단 및 디버깅운영 환경에서 발생하는 버그나 장애는 재현하기 어렵다. 이때 로그는 발생 시점의 맥락을 알려주는 단서가 된다.어떤 요청에서 오류가 발생했는지어떤 입력 값이 들어왔는지어느 지점에서 예외가 던져졌는지이러한 기록을 통해 빠르게 원인을 파악하고 문제를 해결할 수 있다.2. 성능 모니터링로그는 단순히 에러 추적용으로만 쓰이지 않고 다음의 역할도 할 수 있다.요청 처리 시간DB 쿼리 실행 시간API 호출 빈도이 같은 데이터를 통해 병목 구간을 찾고 성능 최적화 포인트를 식별할 수 있다. 3. 운영 효율성 및 간접업무 지원.. 2025. 10. 3.
.NET CORE 백엔드 개발 (1) - 프로젝트 구조 만들기 .NET CORE 백엔드 개발하기신입 시절 .NET CORE 2.1로 만든 백엔드 프로젝트가 있었다. 당시 백엔드 개발을 한번도 해본적이 없는 상태에서 혼자 개발을 해야 했었는데, 슬프게도 도움을 주거나 방향을 제시해 줄 시니어도 없었다.인터넷과 유튜브를 미친듯이 찾아다니며 프로젝트를 만들어 나갔는데, 그 때는 LLM서비스들이 유행하기 전이라 참고 자료를 찾기가 매우 힘들었다. 특히 .NET은 SPRING에 비해 국내 사용자가 압도적으로 적어 영어 블로그, 영어 유튜브를 열심히 해석해야만 했다.이번에 여유가 생긴 김에 .NET CORE 2.1이라는 끔찍한 버전과 더 끔찍한 내 실력으로 버무려진 내 1호 프로젝트를 .NET9 으로 재탄생시키려고 한다. 그 김에 나 같은 .NET 초보를 위해 개발 기록을 남.. 2025. 9. 29.
조건문으로 처리 vs 예외로 처리 개발을 하다 보면 어떻게 예외 처리를 해야 하나 고민하게 된다. 조건문(if)으로 처리할지, 예외(Exception)를 던질지 선택 해야 하는 순간이 항상 있다.어느 상황에서 조건문을 사용할 지, 혹은 예외를 사용할 지 알아보자.1.조건문과 예외의 역할 차이조건문(Validation / Guard Clause)예상 가능한 시나리오에서 분기 처리정상적인 흐름에 해당(비즈니스 로직에서의 예외) ex) 로그인 Validation 실패예외(Exception)예상하기 힘들거나 복구가 불가능한 상황시스템 오류, 인프라 장애 같은 비정상적인 흐름 ex) DB연결 실패, 네트워크 통신 불가, 파일이 손상되어 파일 파싱 불가 2. 예시 - 조건문public bool Login(string id, string passwo.. 2025. 8. 20.
반응형