분류 전체보기 137

[Http Client] RestTemplate에서 RestClient 적용으로 최적화

Http Client의 종류는 HttpURLConnection, Apache HttpClient, RestTemplate, OpenFeign, WebClient, RestClient 등으로 다양합니다.각 HttpClient의 기본 구현에 대해 궁금하다면 아래 게시글을 참조해주세요.[HTTP Client] 개요[HTTP Client] 예제- 2024-06-19 추가프로젝트를 진행하던 중,외부 api와 연결하는 것이 필요하여 Http Client 중 RestTemplate 을 적용했습니다.최적화하지 않은 상태에서 시간을 측정해본 결과,평균적으로 100밀리초가 소요되는 것을 확인했습니다.이를 단축하기 위한 방법을 찾던 중,RestTemplate의 소요 시간을 단축할 수 있는 Http Client인 WebCli..

Java 2024.01.19

[Swagger] 테스트 코드, Swagger 등 개발 시 우선순위 몇 가지

프로젝트를 진행할 때, 몇가지 사항들을 우선순위로 두기로 했습니다. 테스트 코드 작성하기, Swagger 및 Logger, REST API 형식 최대한 지키기 작업량이 늘 수록 테스트 코드의 중요성이 커집니다.JUnit을 사용하여 메서드 별로 코드를 살펴볼 수 있기 때문에,문제가 되는 코드를 손쉽게 발견할 수 있습니다. Logger 또한 테스트 코드의 중요성과 마찬가지로 코드의 흐름을 살펴볼 수 있기 때문에 중요합니다. 호출된 메서드와 매개변수를 명시하고, 그에 따른 결과를 출력하도록 했습니다.이를 통해 메서드 실행에 따른 객체의 변화를 추적할 수 있습니다.  public Optional findById(Long id) { Optional findMembers = memberReposi..

Java 2024.01.17

[GitHubFlow] 형상관리 전략 GitHubFlow

개발을 진행할 때 협업은 상당히 중요합니다.OilNow 프로젝트를 시작하기 앞서,GitHub를 활용한 GitHubFlow를 진행할 것이며,왜 이 방법을 채택하였고, 어떻게 진행할 것인지에 대해 작성해보려고 합니다.왜 GitHubFlow인가?GitHubFlow는 간단하기 때문에 소규모 프로젝트에 적합합니다.각각의 기능이나 작업이 하위 브랜치를 통해 병합되기 때문에, 동시 다발적인 개발이 가능합니다.Pull Request를 통해 손쉽게 코드리뷰할 수 있습니다.Issue와 Pull Request, Project를 통해 프로젝트의 작업에 대한 추적이 쉽습니다.하위 브랜치 작업, 병합, 배포의 과정이 빠릅니다.이제 여러 단계를 나눠서 세부적으로 설명해보겠습니다0.1. (선택) Organizations을 생성합니다..

Dictionary 2024.01.16

[Linux Command Line] Cron 크론

Cron 크론 cron은 command가 특정 간격이나 특정 시간에 실행되도록 예약할 때 사용하는 서비스입니다. 이러한 예약작업을 cronjob이라고 하며, cronjob을 진행하기 위해 crontab 구성 테이블을 편집합니다. 텍스트 편집기나 나노 등을 사용하여 편집할 수 있지만, crontab -e 명령어를 사용하여 편집하는 것을 권장합니다. crontab crontab 명령어는 개별 사용자에 대한 crontab을 유지 관리합니다. cron daemon과 Vixie Cron을 구동하는 데 사용되는 테이블을 설치 또는 제거하거나 나열하는 데 사용합니다. 각 사용자별 고유한 crontab을 가질 수 있으며, 위치는 /var/spool/cron/crontabs에 있습니다. crontab -e 를 통해 cr..

OS 2024.01.12

[Troubleshooting] npx create-react-app , This is related to npm not being able to find a file

1. 오류 원인 이 오류는 npm이 특정 파일 또는 디렉토리를 찾을 수 없을 때 발생합니다. 주어진 경로에 해당 파일 또는 디렉토리가 존재하지 않거나 액세스할 수 없는 경우에 이 오류가 나타날 수 있습니다. 2. 오류내용 npx create-react-app 으로 react 프로젝트를 생성하던 중, 아래와 같은 에러 구문을 맞닥뜨렸습니다. npm ERR! code ENOENT npm ERR! syscall lstat npm ERR! path C:\Users\user\AppData\Roaming\npm npm ERR! errno -4058 npm ERR! enoent ENOENT: no such file or directory, lstat 'C:\Users\user\AppData\Roaming\npm' n..

Troubleshooting 2024.01.11

Shebang #!

Shebang은 #!을 지칭합니다. #!은 쉘에서 특정 프로그램을 사용하기 원할 때, 그 프로그램의 경로와 함께 사용합니다. 예컨대, python3을 사용하는 스크립트를 작성한다고 하면 python3의 경로에 따라 #!을 작성하는 것으로 시작합니다. #!/usr/bin/python3 print("Hello Shebang") bash가 필요한 스크립트라면 #!/usr/bin/bash echo "Hello Shebang" Shebang을 통해 bash가 필요한 스크립트라고 지시합니다. 물론, 스크립트에 작성하지 않고 명령어를 사용할 때 기재해도 됩니다. 그렇지만 스크립트 파일이 많아진다면, 실행에 사용해야 하는 프로그램이 python3인지 bash인지 착오가 생길 수 있습니다. 따라서 Shebang #! 을..

Dictionary 2024.01.11

[Linux Command Line] Bash Scripts 배쉬 스크립트

다양한 배쉬 커맨드를 작성 및 조합하고, 이를 실행할 수 있는 파일로 만들 수 있습니다. The Basic Steps 기본적인 틀은 다음과 같습니다. (순서를 꼭 지키지 않아도 됩니다) 작성, 권한부여, 명령위치 찾기 1. 스크립트를 작성하여 파일로 저장합니다. #!/bash/bin #test script echo "Hello $USER" echo "Today is $(date)" echo "$(date)" >> hello.log 스크립트의 첫번째 줄은 #!(shebang)과 bin, bash를 입력합니다. (#!은 작성한 스크립트에 대해, PATH변수를 기반으로 처리하여 실행가능하도록 합니다.) 코멘트를 작성하고 원하는 스크립트를 작성합니다. 아래와 같은 방식으로 실행할 수 있습니다. bash 스크립트..

OS 2024.01.11

[Troubleshooting] docker: request returned Internal Server Error for API route and version http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/create?name=mysql, check if the server supports the requested API version.

1. 오류원인 이 오류는 Docker가 지원하지 않는 API버전을 요청하거나, Docker 서버와의 통신 문제로 발생할 수 있습니다. 2. 오류내용 Window 11 cmd에서 도커 명령어를 입력했을 때, 아래와 같은 오류를 맞닥뜨렸습니다. docker: request returned Internal Server Error for API route and version http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/create?name=mysql, check if the server supports the requested API version. 3. 해결책 0. Docker를 재부팅합니다. 재부팅은 언제나 가장 쉽고, 간편하게 시도해볼 수 있는 해결책..

Troubleshooting 2024.01.10

[Linux Command Line] environment variables, alias(환경 변수와 에일리어스)

The Environment 쉘 환경 쉘은 쉘 세션 동안 환경이라고 알려진 일련의 정보를 유지 및 관리합니다. 환경은 아래와 같은 속성을 정의하는 일련의 키-값 쌍입니다. 사용자 홈디렉토리 사용자 작업 디렉토리 쉘 이름 로그인 사용자 이름 ... 등 많은 정보를 저장하며, 쉘 세션마다 환경이 다릅니다. printenv printenv명령어를 통해 환경을 구성하는 키-값 쌍을 볼 수 있습니다. printenv printenv | less Parameter Expansion 매개변수 확장 $ 환경변수의 키 앞에 $를 붙이면 쉘에서 환경변수의 값을 대체할 수 있습니다. 존재하지 않는 변수를 참조하려고 시도하면 아무것도 얻을 수 없습니다. 존재하지 않는 변수를 참조하려고 시도하면 아무것도 얻을 수 없습니다. D..

OS 2024.01.09
728x90
반응형