Author: byun1114

  • NGINX SSL 설치

    요즘 같은 험한 세상에서는 최소한 HTTPS를 이용하지 않고서는 서비스를 제공할 수 없다. 워드프레스는 단독 운영일 경우 Let’s Encrypt 를 이용해서 손쉽게 인증서를 발급받고, 갱신할 수 있다. 그렇지 않은 경우 인증서를 직접 설치해 주어야 한다.

    오늘 실컷 삽질을 한 결과 신속한 업무 진행을 위하여 블로그는 분리 운영을 하는 것이 낳겠다는 생각이 들었다. 어쨋든 인증서를 설치하는 과정은 대략 다음과 같다.

    업무를 위한 학회에서 이용하고 있는 Sectigo 회사의 DV 인증서를 후이즈에서 신청하였다. 신청할 때 CSR 정보를 입력하고 비밀키인 key를 입력한다. 이것을 잘 기록해 두어야 한다. DV 인증서는 도메인 담당자의 승인이 필요하기 때문에 신청 시간과 발급 시간의 시간 차이가 좀 있다. 어딘가에 기록을 해두지 않으면 나중에 인증서 파일이 왔을 때 키가 기억이 나지 않아 재발급을 해야하는 사태가 생길 수도 있다.

    회사 와일드카드용 인증서를 이용할 수 없기 때문에, DV 인증서를 신청하였는데 발급 과정에 도메인 담당자의 승인이 필요하다. 승인 후 하루 정도 지나면 인증서 파일을 이메일로 받을 수 있다.

    NGINX의 경우 인증서 파일과 key 파일이 필요하다. key 파일은 인증서를 신청하는 과정에서 생성된 그 key 파일이다. 그리고 인증서 파일은 이메일로 받은 인증서 파일을 이용해서 직접 만들어 주어야 한다. 3개의 파일을 이용해서 만들어야 하며, 나는 key.pem으로 만들었다.

    $ cat domain_cert.pem ChainRA.crt RootCA.crt > key.pem

    이 파일은 그냥 이용할 수가 없는데, cat로 파일을 합치는 과정에서 분리가 잘 안되는 부분이 있기 때문이다. 인터넷에서도 이와 같은 사례가 꽤 있는 것을 볼 수 있는데, 아직까지 해결이 안된 것을 보면 먼가 근원적인 문제가 있는 것 같다. 🙂 2군데 정도 줄바꿈이 빠져 있는 부분을 수정해 주면 된다.

    nginx.conf 파일에서 HTTPS 인증과 관련된 부분을 수정한 다음 nginx -s reload 로 다시 설정 파일을 불러오거나 재시작하면 된다. 서비스 상태 변경하는 과정에서 key 파일을 만들때 입력한 그 key를 입력해 주어야 한다.

  • 미래의 부, 이지성

    처음 이 책을 봤을 때에는 클라우드에 대한 개념의 이해가 조금 부족한 것 같고, 그 밖에 일부 IT 개념에 대하여 잘못 알고 있는 것 같은 부분도 있어서 조금 모자라다고 생각했다.

    그런데 다시 생각해 보면, IT에 대하여 피상적으로만 알고 있는 사람이 여러 자료를 바탕으로 IT 분야에서 충분히 개연성 있는 향후 전망을 예측하는 것은 쉬운 일은 아니다. 그런 식으로 바라보면, 이 책은 조금 틀린 내용이 있을지라도 앞으로의 미래 변화를 예측해 볼 수 있다는 점에서 괜찮은 책인 것 같다.

  • Orthanc 기본 api 이용하기

    연구용 PACS에 이미지를 몽땅 넣었으니 이제 원하는 이미지 만을 선정하는 작업을 해야한다. 기본적으로 익명화 처리된 키 값을 가지고 있기 때문에 관련 정보에서 이 정보를 찾아서 다시 정리를 해야한다. 결과는 JSON 포맷으로 나오기 때문에 이에 맞춰서 설정을 하면 된다. ID/PW를 alice/alice롤 했기 때문에 auth는 같은 식으로 지정한다.

    import requests
    import json
    
    r = requests.get("주소:8042/patients", auth=("alice", "alice"))
    patients_list = json.loads(r.text)

    첫 번째 목록에 해당하는 환자 번호를 찾기 위해서는 한 번 실행한다.

    r = requests.get
    ("주소:8042/patients/"+patients_list[0], auth=("alice", "alice"))
    r = json.loads(r.text)

    우리 자료를 기준으로는 MainDicomTags 하위의 PatientID 항목에 있음을 알 수 있다. 이 자료를 선택하기 위해서는 다음과 같이 한다.

    patient_id = r['MainDicomTags']['PatientID']
    patients_studies = r['Studies']

    이 환자가 시행 받은 영상 정보들은 Studies 항목에 있다. 각각에 대하여 어떤 검사인지 알기 위하여 다시 정보를 요청한다. 그러면 ‘Series’ 항목에 목록이 생성된다. 그리고 Series를 다시 조회하면 검사 modality를 알 수 있고, 이 modality 에 해당하는 이미지 파일은 instances 항목으로 확인할 수 있다.

  • 카르페 디엠, 호라티우스

    솔직히 이 시집은 내 취향이 전혀 아니다. 카르페 디엠이라는 구절은 첫 번째 챕터의 11번째 시의 뒷 부분에 나온다.