본문 바로가기

전체 글669

리팩토링 회고 - 상태 패턴을 이용해서 복잡한 비즈니스 시나리오 검증 로직을 개선...! 0. 목차 개요 로직의 목표 초기 구현 코드 2.1. 템플릿 정의 방식 2.2. Validator의 메인 로직 상태 패턴을 적용하기 4.1. 고민한 내용 4.2. 상태 패턴 4.3. 구조 설계 4.4. 적용 결과 여전히 남은 문제들 결론 1. 개요 본 글에서는 사내 업무 시스템 개발 과정에서 겪은 리팩토링 경험을 공유합니다. 비즈니스 프로세스의 순서를 검증하는 로직을 구현했는데 너무 복잡하여 이를 상태 패턴을 적용하여 개선해보는 내용입니다. 만족할 만큼의 클린 코드에는 달성하지 못해 결과적으로는 기술 부채로 남겨두었지만 나름 많은 고민을 했던 내용이라 작성해보았습니다. 예시 코드는 실제 코드가 아닌 컨셉 코드로 대체하였습니다. 1. 로직의 목표 먼저 리팩토링의 대상이 되는 로직의 주 목표에 대해서 생각해.. 2023. 12. 11.
28개(+α) 클래스를 검증해야 한다면? - 커스텀 애노테이션을 사용한 Payload 검증 방식 도전기 0. 목차 개요 문제점 개선 1 - 필수 여부, 스트링 길이 개선 2 - Enum 타입 더 완벽한 캡슐화를 위하여 What remains... 결론 1. 개요 본 글은 사내 업무 효율성 향상을 목적으로 펌웨어 검증 과정을 자동화하기 위한 프로그램 개발 경험을 공유합니다. 특히, Payload 객체의 구현과 검증 로직 개발 과정에서 발생한 다양한 문제들과 이에 대한 해결 방안을 중심으로 논의합니다. 이 과정에서 여러 Payload 클래스들을 효과적으로 검증하는 방법에 대한 고민과 그 해결책을 제시하고자 합니다. 예시 코드는 실제 코드가 아닌 컨셉 코드로 대체하였습니다. 2. 문제점 먼저 28개의 클래스 중 하나인 ChangeSomethingPayload 클래스를 예시를 살펴보겠습니다. 해당 클래스는 Pay.. 2023. 12. 11.
인텔리제이에서 이전 화면, 이전 커서 바로가기 (맥에서 사용법) 소개 인텔리제이(IntelliJ) 사용 중 정말 유용한 단축키 하나를 소개합니다. 코딩하다 보면, 방금 전, 혹은 그전전으로 돌아가고 싶을 때가 많은데, 코드가 긴 경우 스크롤을 많이 하면서 시간 낭비하는 경우가 종종 있습니다. 이럴 때 정말 '이전 커서 위치로 돌아가기' 단축키를 사용하면 정말 편리합니다. 몇 초 전에 작업하던 코드 위치까지 마우스 없이 쉽게 찾아갈 수 있어요. 단축키 사용하기 인텔리제이에서 이전 커서 위치로 돌아가려면 command + ] 반대로 뒤로 왔다가 다시 앞으로 가려면 command + [ + [ 🚀👨‍💻👩‍💻 2023. 12. 11.
프로그래밍 언어론 서브프로그램, 서브루틴, 정적 체인, 동적 체인, 디스플레이 방식 요약 정리 문제 풀이 서브 프로그램 개요 프로그램이란 컴퓨터가 실행할 명령어의 나열 -> 프로그램 실행을 통해 입력을 출력으로 바꿈 서브프로그램이란 독자적인 입력과 출력을 갖춘 프로그램 조각 서브프로그램의 입력을 인수, 서브프로그램의 출력을 반환 값이라고 함 반환 값이 없는 서브프로그램은 프로시저라고 부르고, 프로그래밍 언어 개발 초기에는 인순도 없고 반환값도 없는 형태의 서브프로그램을 서브루틴이라고 지칭했음 서브프로그램의 특징 중 하나의 입구는 서브프로그램으로 들어가는 입구는 하나라는 것 서브프로그램의 특징 중 여러 출구는 서브프로그램에서 나가는 출구는 여러 곳이 될 수 있다는 것 서브 프로그램의 맨 끝은 자동적으로 출구가 되지만, 별도의 return 문을 통해 명시적으로 서브프로그램의 출구를 지정해줄 수 있음 서브프로그램.. 2023. 12. 8.
프로그래밍 언어론 수식, 문장 내용 요약 정리 및 문제 풀이 - 방통대 기말고사 대비 수식 수식이란 값을 나타내는 표현 수식이란 피연산자와 연산자로 구성되어 하나의 값을 나타내는 표현 피연산자는 2, 'abc' 등 데이터 표현 그대로일 수도 있고 값이 저장되어 있는 변수 일 수도 있음 연산자는 연산을 수행하는 함수로 덧셈 연산자, 곱셈 연산자 등 기본 연산자, 함수일 수도 있음 수식에서 피연산자와 연산자 모두 포함될 필요는 없음 수식은 값을 나타내는 표현이며, 문장은 처리를 나타내는 표현. 문장 안에 수식이 포함된다고 보면 됨 수식의 끝에 쌍반점을 찍으면 문장이 됨 문장의 끝에서 쌍반점을 뺀다고 항상 수식이 되진 않음 산순 연산자에서 +는 부호 유지를, -는 부호를 반대로를 나타냄 언어에 따라 추가적인 산술 연산자가 있는데 파이썬의 경우 //가 몫을 나타내고, %가 나머지를.. 2023. 12. 8.