테스트 데이터 생성기(json-generator)

테스트 데이터 어떻게 만들고 계신가요? 정해진 규격에 맞춰 임의의 데이터를 넣은 데이터를 한두개 만들어 두고 복사해서 사용하지는 않으신가요? 데이터 만들기도 힘들고, 혼자서 만든 데이터는 나중보면 그 데이터가 그 데이터 같고, 그렇습니다. 데이터 만드는 것은 시간과 노력이 상당히 필요한 일입니다. 아마 지금 소개할 JSON GENERATOR( https://next.json-generator.com/ )를 만든사람도 비슷한 생각을 했던 것 같습니다. Json형식의 데이터를 생성해주는 데인데, 마구 잡이로 생성하는게 아니라 의미가 있는 데이터를 만들 수 있습니다. 가령, 성별에 따른 이름이라던가, 도메인 같은 데이터를 지정하면 해당하는 형식의 데이터가 생성되는 겁니다. 생성되는 데이터는 불리언, 도시, 회..

find와 exec 조합하기(+ 서버 계정의 uid 변경하기 )

새로운 서비스 릴리즈를 준비하고 있는데, 도커를 이용하고 점진 적으로 기존 레거시 앱들도 도커로 전환할 계획을 가지고 있습니다. 기존 레거시 앱들이 호스트에서 구동되기 때문에 호스트의 파일 시스템 일부를 볼륨으로 지정하여 앱 사이의 데이터를 공유하고 있습니다. 이를 위해서 호스트의 계정과 컨테이너에서 구동되는 계정의 uid를 일치하도록 했습니다. 개발서버에서 문제 없이 구동했고, 이제 릴리즈 일정이 다가옴에 따라 스테이지 서버와 운영서버에 배포를 시작했는데, 문제가 생겼습니다. 스테이지 서버와 운영 서버는 최근에 받은 서버이고, 운영 주체가 다릅니다. 그래서 개발서버와 달리 직접 컨트롤 할 수가 없습니다. 여기서 문제가 발생했는데, 스테이지 서버와 운영 서버에서 발급 받은 계정의 uid가 기존에 사용하던..

POSTFIX로 나만의 메일 서버 만들기

회사 동료가 배치 작업의 결과를 메일로 보내는 걸 구현한 걸 보여줬습니다. [python과 구글 smtp 서버를 이용해 email을 전송해보자] 이걸 보고 생각난게, 이런 작업 결과도 내 이메일 계정이 아닌, 서버의 이메일 계정으로 보내면 그럴듯하겠다는 생각을 했습니다. 아래 그림 1, 그림 2처럼 말이죠. 그래서 오늘은 저번에 만든 오라클 클라우드 VM에 메일 서버를 설치했습니다. postfix 먼저 postfix 설치. $ sudo apt-get install postfix 설치 중에 옵션을 묻는 것이 나오는데, 기본 값으로 ( internet site ) 진행합니다. No configuration: 설정 변경없이 초기값(기존 값) 사용 Internet site: SMTP로써 메일을 발송/수신할 때 ..

원격 서버에 열린 포트 확인하기.

웹 애플리케이션을 배포하는데, 해당 웹 애플리케이션이 정상적으로 뜰 수 있는 환경인지 먼저 확인을 하는 쉘을 작성하고 싶었습니다. 가령 디비가 다른 서버에서 기동 할 때, 정상적으로 구동 중인지 확인 후에 웹 애플리케이션을 기동 하려고 하는데, DB포트가 열려 있지 않다면 기다렸다가, 연결이 가능하여 정상 구동이라 판단될 때, 기동 하게 하고 싶었습니다. 그래서 열린 포트를 찾아보려고 했습니다. 처음엔 간단히 ping을 해보면 되겠지라고 생각했는데, 지금 DB가 사용하는 포트는 33306인데, ping으로는 80포트의 연결밖에 확인이 안 되니 사용할 수 없고.. telnet을 통해 해당 포트의 연결을 확인하는 것도 시도했지만, 텔넷은 포트가 연결 가능한 경우, 연결이 되어 끈어주는 과정이 필요하기에, 마..

도커 볼륨으로 Symbolic-Link가 가능할까?

여러 이미지에서 공통으로 사용하는 라이브러리가 있습니다. 그래서 base이미지를 하나 만들어 두고 같이 공유해서 사용하고 있습니다. 이렇게 했을 때, 장점은 이미지를 만들 때, 이미 만들어진 공통으로 사용하는 이미지에 라이브러리가 포함되어 있기 때문에 -> 변경사항을 관리할 수 있습니다. base이미지의 버전 관리만 잘한다면, 어떤 이미지에 어떤 버전의 라이브러리가 들어있는지 쉽게 알 수 있고, 추적이 용이해집니다. -> 그리고 base 이미지는 한번만 빌드하고 공유하기 때문에 이미지 빌드 시간이 줄어듭니다. 하지만, 라이브러리를 이미지에 포함할 경우, 단점도 있습니다. -> 이미지 내에 라이브러리를 포함하기 때문에 이미지 사이즈가 커집니다. -> 라이브러리가 변경되면, 해당 라이브러리를 사용하는 모든 ..