개발공부 7

[Spring] Utility Class에 대해서는 Static Method로 구성하는 것이 좋을까?

안녕하세요 세기무민입니다. 이번 포스팅은 Utility Class에 대해서 Static Method vs @Component 중 어떻게 구성하는 것이 조금 더 효율적인지에 대해 의견을 정리해보려고 합니다. 서론회사에서 오프라인 코드 리뷰 중 Utility Class에 대해 Static Method가 효율적일지, @Component가 조금 더 효율적일 지 검토를 해보기로 하였고 이에 따라 개인적인 궁금증에 따라 서치를 시작했다. Static Method 말 그대로 정적 매서드로 인스턴스 생성 없이 호출이 가능하다. 주로 Utiility Class와 같이 재사용이 가능한 매서드를 제공하기 위해 사용된다. @Componet 비즈니스, 서비스 로직과 같이 어플리케이션 로직 구현 시 사용되는 어노테이션이며 의존성..

[Spring] Scheduling LockProvider 사용 목적과 사용 시 고려할 사항 정리

최근에 업무를 하다가 Scheduling 변경 사항이 존재하여 LockProivder에 대해 알아봤는데 내가 알아본 내용과 업무 시 고려해야 할 사항에 대해 간략하게 정리를 해보려고 한다. 1. LockProvider 사용 목적 및 의미 LockProvider를 사용하는 목적은 아래와 같다. - 스케줄러의 중복 실행 방지 - 실무에서 하나의 어플리케이션을 이중화 및 N중화를 한 경우가 대부분이다. 서버가 많으면 많을 수록 스케줄러의 Lock은 중요한 사항이 되며 이를 하지 않는 경우 어떤 서버가 배치를 처리해야 할 지 모르기 때문에 중복 실행이 될 수 있고 이는 큰 문제가 될 수 있다.(예를 들어 결제 시스템 새벽 배치인 경우 결제가 여러번 될 수 있다는 의미) - 따라서 순서와 관계 없이 1개의 서버가..

프로그래머스 자물쇠와 열쇠 문제 풀이 - [세무민의 코딩일기]

ㅋ안녕하세요 세기무민입니다. 이번에 풀어볼 문제는 2020년도 카카오 블라인트 문제 중 하나인 자물쇠와 열쇠 문제입니다. 문제 설명 입출력 예시 문제 풀이 흠.... 개인적으로 일단 이번 문제에서 포인트는 배열 회전하는 것이라고 생각한다. 파이썬에서 배열 회전에 사용되는 내장 함수 중 Zip이라고 있는데 이걸 사용하여 0 / 90 / 180 / 270도 회전하여 한번씩 key를 넣어보면 되는 문제이다. 아래의 그림으로 좀더 쉽게 설명해보면 간단한 예시로 Lock과 Key의 값은 위와 같고 0도부터 하나씩 Lock에 Key를 넣어줍니다. 넣었을 때 Lock의 모든 값이 1이라면 True를 반환해주면 되고 0, 90, 180, 270도 회전하여 동일하게 하나씩 탐색했음에도 불구하고 모든값이 1인 경우가 없다..

파이썬 웹 개발을 위한 기초 공부하기 1탄 - Flask 설치 및 오류 해결 [세무민의 코딩일기]

저번 한주동안 틈틈히 웹 개발을 위해 기초 공부를 진행했습니다. https://github.com/sg-moomin/python_flaskStudy GitHub - sg-moomin/python_flaskStudy Contribute to sg-moomin/python_flaskStudy development by creating an account on GitHub. github.com 현재 공부하고 있는 내용들은 위의 깃에다가 업로드 하면서 진행중입니다. 파이썬으로 웹 페이지를 개발하기 위한 프레임 워크는 Flask와 Django 2개를 주로 사용한다고 합니다. 제가 이번 프로젝트에서 사용한 프레임 워크는 Flask입니다. 플라스크의 가장 큰 특징은 프레임 워크를 간결하게 유지하고 확장과 규칙이 최소..

Programing/Python 2021.11.28

세무민의 코딩일기 : Publishing to Tomcat v9.0 Server at localhost...' has encountered a problem 오류 해결하기

오랜만에 오류 해결 포스팅으로 찾아왔습니다. 사실 이번 오류는 워낙 다양한 부분에서 문제가 발생할 수 있었던 부분입니다. 위와 같은 오류는 현재 8080 port와 8005번 포트를 사용하고 있어서 발생하는 문제입니다. 그렇다면 해당 포트를 종료시켜주면 문제가 해결됩니다. 포트를 종료시키는 방법은 다양하게 존재하겠지만 가장 빠르게 조치할 수 있는 방법은 Cmd에서 진행하는 것입니다. #1. netstat -a -o 명령어 입력 콘솔에 위와 같은 명령어를 입력하면 아래처럼 포트에 대한 상태를 확인할 수 있습니다. 해당 8080 포드에 대한 PID는 18416번인데 이녀석을 통해서 8080 포트를 종료시켜주면 됩니다. #2. taskkill /f /pid 18416 명령어 입력 입력하면 위와 같이 프로세스가..