본문 바로가기
반응형

전체 글114

VSCode : plantuml로 Sequence Diagram 작성하기 본 포스트에서는 plantuml을 이용하여 Sequence Diagram 작성 예시를 알아보고, VSCode에서 미리보기 방법에 대해서도 알아보려고 한다. 포스팅을 위해 파일 저장 및 백업하는 프로그램을 가정하고 Seqeunce Diagram을 작성해 보았다. Seqeunce Diagram에서 자주 활용할 수 있는 예제들을 포함하여 작성하였으므로, 추후에 Diagram을 그릴 일이 있을 때 본 포스트에 있는 스크립트 예제와 Diagram을 참고하여 필요한 부분을 가져다가 활용할 수 있을 것 같다. ** plantuml 문법은 공식 사이트 Link 를 참고하여 작성하였음. Sequence Diagram 샘플 코드 VSCode에서 미리보기 방법 방법1. 단축키 [ Alt + D ] 선택 방법2. 단축키 [ .. 2021. 9. 12.
VSCode : plugin 설치하기 VSCode에서 plantuml 로 sequence diagram을 작성을 해보기 위해 플러그인 설치 방법을 먼저 정리해 보았다. 좌측 메뉴에서 선택하기 1. 마우스로 좌측 메뉴에서 아래 빨간 표시 영역을 선택하여 플러그인 검색창으로 진입한다. 2. 설치하고자 하는 플러그인 명을 입력한다. 필자는 plantuml 을 입력하였다. 3. 설치하고자 하는 플러그인의 우측 하단에 파란색 "Install" 버튼을 선택하여 설치한다. 단축키 이용하기 (1) - [ Ctrl + Shift + X ] 1. 단축키 [ Ctrl + Shift + X ] 를 눌러 플러그인 검색창으로 진입한다. 2. 설치하고자 하는 플러그인 명을 입력한다. 3. 설치하고자 하는 플러그인의 우측 하단에 파란색 "Install" 버튼을 선택하여.. 2021. 9. 12.
flask : boto3 활용하여 AWS S3에 file upload URL(presigned_post) 응답주는 web server 구현하기 검증해야할 Application Server에서 Client에서 upload하는 file을 AWS S3 Bucket에 넣어 관리하고자 하는 요구사항이 있었다. 해당 Application Server에서는 아래와 같은 시나리오로 upload API를 구현하게 되었다. (아래 그림에서 "flask web server" 부분이 실제 Application Server 위치에 해당함) 그렇게 구현된 Server의 Client Application도 검증 대상이었는데, Client Server 간에 발생할 수 있는 API 단위별 검증을 위해 종종 미리 정해둔 응답을 주도록 dummy server를 만들어서 Client Application을 검증하는 경우가 있어서 위 시나리오로 추가된 API에 대한 부분도 작업을 .. 2021. 9. 3.
postgresql : 동일한 key를 갖는 여러개의 테이블에 누적된 데이터 삭제하기 postgresql을 사용하는 application을 운영하는 환경에서, application에 삭제 기능이 구현되지 않아 데이터가 계속 누적되는 이슈가 있었다. 운영중인 서버에 disk 용량은 정해져 있었기 때문에 일정 기간이 지난 데이터를 주기적으로 삭제를 해줘야하는 상황이 발생하였다. application에 요구사항이 반영되어 사이트에 업뎅이트 되려면 몇 달의 시간이 필요했고, 그 전까지 임시 운영 방안을 마련해야 했다. 그래서 생각한 방법이 아래와 같이 procedure를 작성하여 database에 등록해두고, 리눅스 서버의 cron에서 주기적으로 procedure를 호출하도록 설정하기로 했다. 그전에 mysql에서 간략한 procedure를 작성해 본 경험은 있었으나 postgresql과 문법적.. 2021. 8. 28.
CentOS에서 NFS로 폴더 공유하기 & reboot 후에도 mount 유지하기 Linux 시스템을 여러 개 사용하다 보면 Linux 시스템 간에, 혹은 Linux 시스템과 윈도우 시스템 간에 폴더 및 파일을 공유하고 싶은 경우가 있다. Linux 시스템 간에는 NFS를 사용하고, Linux 시스템과 윈도우 시스템 간에는 Samba를 사용하여 공유 폴더로 설정이 가능하다. 오늘은 NFS를 사용하여 간단하게 서버 구성 및 Client에서 mount 하는 방법을 정리해 보려고 한다. * 아래 서버와 클라이언트 시스템은 모두 CentOS7 이 설치되어 있다. NFS 서버 구성하기 NFS 패키지 설치 yum install nfs-utils 공유 폴더 생성 mkdir /nfstest 공유하고자 하는 클라이언트 IP 설정 및 권한 지정 /etc/exports 파일에 아래와 같이 설정 추가 # .. 2021. 8. 24.
wireshark : display filter로 원하는 protocol, ip, port 만 filtering 하기 연동 Application을 검증하다 보면 network packet 분석이 필요한 경우가 종종 있다. 범용 Protocol을 활용한 Application의 경우 Protocol 규격에 적법하게 Packet을 주고 받는지, 혹은 연동 Interface 문서에 정의된 API 규격에 맞게 Request / Response Message를 주고 받는지 등.. 그리고 때로 예상과 다르게 동작하는 Server 또는 Client의 검증 중 원인 분석을 위해서도 wireshark는 종종 유용하게 쓰인다. wireshark를 활용하면서 가장 활용을 많이 하는 기능 중에 하나가 display filter 기능이다. tcpdump 를 활용하여 client server간 주고받은 packet을 file로 저장(확장자 .pc.. 2021. 8. 16.
ORTHANC PACS : DICOM Query/Retrieve(C-FIND, C-MOVE, C-STORE) 테스트 환경 구성하기 (docker-compose) 아래 내용은 docker-compose를 사용하여 docker container로 orthanc pacs를 실행하는 방법입니다. 그 중, DICOM Query/Retrieve(C-FIND, C-MOVE, C-STORE) 연동을 위해 필요한 주요 설정에 대한 설명이니, 더 상세한 정보는 Orthanc Book 사이트를 참고하세요. 실행 환경 정보 CentOS 7.9 docker 20.10.6 docker-compose 1.29.2 configurations : Configurations docker-compose.yml orthanc.json json 설정 전문은 아래 설정 샘플을 복사하여 사용하시면 됩니다. 테스트 환경에 맞게 변경이 필요한 주요 설정은 아래와 같습니다. DicomAet : PACS의 A.. 2021. 8. 6.
Linux : logrotate 설정 방법 및 강제로 rotate 단위 테스트하는 방법 application을 구현할 때, 운영 및 유지보수를 위해 log를 기록하는 것은 당연히 요구되는 기능이다. log를 기록하고 관리하는 방법은 다양할텐데 file로 로그를 출력하는 application에는 특정 기간 또는 용량을 기준으로 log file을 분리하여 기록하도록 요구되는 경우가 많다. linux에서 구동되는 application에서 log file에 대한 관리(rotate, delete)를 따로 구현하고 싶지 않다면 logrotate라는 데몬을 활용하여 쉽게 rotate와 삭제 관리가 가능하다. CentOS, Ubuntu 모두 설정 방법은 동일하다. logrotate 데몬 설치 방법, 설정 방법, 그리고 logrotate를 적용한 후 rotate가 잘 되는지 확인을 빠르게 하기 위해 사용했.. 2021. 7. 31.
[tcpdump] 네트워크 패킷 캡쳐하기 (자주 사용하는 옵션 정리) 첫 직장이 미디어 파일을 송출하는 서버를 개발하는 회사였고, 솔루션이 정상 구동되기 위해 네트워크 구성은 아주 중요한 요소였다. 각 고객마다 복잡한 룰에 의해 관리되고 있는 통신망에 설치를 하다 보니 네트워크에 대한 이해와 테스트는 가장 기본적이고 중요한 항목이었다. 네트워크 전문가는 아니라 모든 문제를 직접 해결할 수는 없지만, 간단히 확인할 수 있는 정보 수집만으로도 문제가 되는 원인을 찾거나 발생하는 지점을 좁혀 문제 해결의 실마리를 찾는데 도움이 될 수 있었다. 업무를 하며 알게된 Network 관련 명령어 사용법 또는 경험했던 원인 분석 과정 들에 대해 생각나는 것들을 하나씩 정리해 보려고 한다. 그 중 가장 첫번째는 tcpdump 명령어 사용법이다. 현재도 신규 개발된 연동기반 서버를 검증 하.. 2021. 7. 25.
postgresql : linux shell에서 자주 사용하는 psql, pg_dump 명령어 모음 pg_admin 등의 GUI Client 사용이 제한적인 상황에서 linux에 설치된 postgresql 제어가 필요한 경우 자주 사용하는 명령어를 정리합니다. docker container로 postgresql을 설치된 환경에서의 명령어로 작성하였으니 host에 설치된 경우 모든 명령어에서 docker exec {container_name} 을 제거하고 실행하면 됩니다. CLI 활용하기 Run Database CLI docker exec {container_name} psql -U {DB_USER} -d {DB_NAME} Exit Database CLI exit Run query in host docker exec {container_name} psql -U {DB_USER} -d {DB_NAME} -.. 2021. 7. 18.
반응형