« Previous : 1 : 2 : 3 : 4 : 5 : 6 : Next »


오늘날 전 세계에서 하루 동안 생성되는 데이터의 양은 약 2.5엑사바이트(≒25억 기가바이트)에 달한다고 합니다.
이는 무려 6,500억 권의 책과 맞먹는 분량이라고 하는데, 단순하게 생각해보면 78억 명 정도 되는 지구촌 사람들이 각자 매일 여든세 권의 책을 쓰는 셈이라고 볼 수 있습니다.  
정부와 산하 공공기관 등에서는 이러한 데이터들의 품질 관리와 보안 등을 제고 및 고도화하기위해 범국가적 심사·인증 제도를 시행하고있는데요.
오늘 블로그는 이러한 데이터 품질인증과 관련하여 심사·인증 제도에 대한 정보를 공유드리고자 합니다.





[Fig. 1] 구글의 루커 인수 관련 페이지(좌)와 워렌 버핏의 투자 관련 영상(우)
미래가치가 있는 기업들을 사들이는 것으로 유명한 미국의 구글(Google)은 올해 초 루커(Looker)라는 업체를 26억 달러(약 3조 원)에 인수하였습니다. 루커는 빅데이터를 활용한 시각화와 예측을 통해 기업경영에 도움이 되는 정보를 만들어내는 데이터 전문 기업입니다. 최근에는 세계적인 투자자 워렌 버핏이 스노우플레이크(SnowFlake) 라는 클라우드 데이터 업체에 5억 7천만 달러(약 6,300억 원)를 투자하여 화제가 되기도 하였습니다. 루커처럼 세상에 널려있는 데이터를 잘 수집하고 가공하여 쓸모 있게 만들어내거나, 스노우플레이크처럼 데이터를 잘 관리하고 공유할 수 있는 플랫폼을 운영하는 일의 가치가 수천 억원에서 수조 원 이상의 경제적 규모로 환산되는 수준에 이르렀습니다. 이제는 데이터 관련 작업이 주 업무를 보조하는 수준에서 완전히 벗어나, 새로운 시대를 만들어내는 주역으로 자리매김했다고 봐도 과언이 아닐 것입니다. 스포츠의류로 유명한 나이키가 소비자 정보를 맞춤 분석하는 스타트업인 조디악을 인수하고, 광고사업을 하는 제일기획이 중국의 빅데이터 업체인 컬러데이터를 인수하는 등 기업들 사이에서는 사업분야와 국경을 초월한 데이터 기술 확보 경쟁이 치열하게 벌어지고 있습니다. 이렇게 데이터는 점차 현대 사회에서 기업의 성패를 결정지을 수 있는 핵심적인 자산이자 무기가 되어가고 있습니다.




데이터라는 것이 단순히 많이 모아놓기만 하면 자연스럽게 경쟁력과 가치가 생기는 대상이었다면 데이터 전문 기업이 따로 필요가 없었을 것입니다. 데이터의 규모로만 본다면 구글처럼 이미 시장을 장악하고 있는 기업들이 절대적으로 많은 양의 데이터를 확보하고 있을 것이 분명한데 왜 다른 데이터 전문기업과 인수합병을 하거나 협력을 하는 것일까요? 이것은 대량의 데이터가 공개/공유되고 있는 4차산업의 물결 속에서는, 데이터의 양보다도 이들이 가치 있게 활용될 수 있도록 잘 구성/구축된 데이터의 ‘품질’이 훨씬 더 중요하기 때문입니다. 품질이 낮아 활용성이 떨어지는 데이터는 양이 많으면 많을수록 오히려 저장공간만 차지하는 애물단지로 전락하기 쉽습니다.




그런데 이토록 중요한 데이터의 ‘품질’은 어떤 방법으로 측정하고 향상할 수 있을까요? 데이터의 양은 개수나 용량처럼 비교적 간단하게 산정해 낼 수 있는 명확한 기준이 있는 반면에, 데이터의 품질은 그 척도로 사용할만한 기준을 쉽게 찾기가 어려운 것이 사실입니다. 데이터의 중요성이 일반인들에게 부각된 것은 비교적 최근의 빅데이터 붐이 일어나면서 부터이지만, 사실 데이터 품질의 중요성은 IT분야 내에서 이미 수십 년 전부터 강조되어 왔습니다. 미국의 경우 지난 2000년에 데이터 품질법(Data Quality Act)을 제정하여 미국연방정부의 각 산하기관과 기타 기관에 데이터 품질 가이드라인 수립과 이행을 권고하고 있습니다. 우리나라의 경우 2003년 한국데이터산업진흥원의 데이터베이스 품질평가를 시작으로 그 이듬해부터 데이터베이스 품질진단 개선 지원 사업과 지침/가이드라인 보급 사업을 수행하고 있습니다.
 

[Fig. 2] 한국데이터산업진흥원
한국데이터산업진흥원은 국내 산업 전반의 데이터 생태계 혁신과 데이터 경제시대를 창출하기 위한 각종 업무를 수행하는 기관으로, 데이터 품질 향상을 위한 가이드라인 보급 외에도 정보시스템의 데이터 품질 향상을 위한 데이터 품질인증 제도를 시행하고 있습니다.

[Fig. 3] 한국데이터산업진흥원에서 소개하는 데이터 품질의 정의와 저품질 데이터의 문제점





한국데이터산업진흥원에서 제작한 가이드문서에는 데이터 품질과 관련된 내용이 잘 정리되어 있습니다. 데이터 품질관리 지침서에서는 품질관리 요소별로 품질관리 대상에 따른 중점 사항을 소개하고 있으며 데이터 품질진단 절차 및 기법서에서는 다양한 종류의 데이터에 대한 품질기준 정의와 품질진단 계획을 수립하는 과정, 정형 데이터에 대한 프로파일링 방법과 업무규칙 도출 절차, 그리고 비정형 데이터에 대한 품질측정을 수행하는 방법 등을 상세하게 설명하고 있습니다.

[Fig. 4] 한국데이터산업진흥원에서 제작, 보급하는 데이터 품질 관련 가이드 문서


[Fig. 5] 데이터 품질관리 요소와 품질관리 대상
(한국데이터산업진흥원에서 편찬한 데이터 품질관리 지침서의 내용을 바탕으로 편집)


 
  • 정형 데이터와 비정형 데이터

정형데이터는 일반적인 텍스트 데이터를 의미하고 비정형 데이터는 이미지나 음성 등 정형 데이터가 아닌 데이터를 총칭합니다. 과거에는 정형데이터가 주류를 이루었으나 멀티미디어 콘텐츠가 쏟아지고 있는 오늘날에는 비정형 데이터가 전체 데이터의 92% 이상을 차지하고 있다고 합니다. 그러나 데이터에 대한 품질관리의 경우 상대적으로 품질관리가 용이한 정형데이터에 편중되어 있어 비정형 데이터에 대한 품질관리 체계는 상대적으로 취약한 편입니다. 한국데이터산업진흥원에서는 이러한 상황을 극복하기 위해 정형데이터 뿐만 아니라 비정형 데이터도 아우를 수 있는 통합적인 품질관리 방법을 가이드문서를 통해 제안하고 있습니다.

  • 정형데이터의 품질 기준

[Fig. 6] 정형 텍스트에 대한 일반적인 품질기준 정의
(한국데이터산업진흥원에서 편찬한 데이터 품질진단 절차 및 기법에서 발췌)

정형데이터에 대한 품질진단은 데이터베이스의 테이블, 컬럼, 코드, 관계, 업무규칙 등을 기준으로 데이터의 값에 대한 현상을 분석합니다. 그리고 데이터값과 관련된 품질 기준을 적용하여 오류내역을 산출하고 주요 원인을 분석하여 개선 사항을 제안합니다.
 
 

[Fig. 7] 정형 데이터에 대한 세부 품질기준 및 활용 사례
(한국데이터산업진흥원에서 편찬한 데이터 품질진단 절차 및 기법에서 발췌)
 
  • 비정형 데이터의 품질 기준

비정형 데이터에 대한 품질진단은 비정형 콘텐츠 자체의 상태에 대한 품질진단과 메타데이터에 대한 품질진단으로 이루어집니다. (메타데이터는 비정형 데이터와 관련된 텍스트 성격의 정보를 의미합니다. (예 : 동영상 데이터의 경우라면 화면크기, 재생시간, 파일크기 등)) 콘텐츠 상태에 대한 진단은 그 내용 자체의 합목적성을 비롯하여 동영상이나 이미지, 3D 등 유형에 따라 각기 다른 상태를 시각이나 청각, 또는 자동화된 도구를 이용하여 진단합니다. 메타데이터의 경우에는 정형 데이터와 유사한 기준과 방법으로 진단을 수행합니다.


[Fig. 8] 비정형 데이터의 유형 분류 사례
(한국데이터산업진흥원에서 편찬한 데이터 품질진단 절차 및 기법에서 발췌)



[Fig. 9] 비정형 데이터 중 동영상에 대한 품질기준 정의 사례
(한국데이터산업진흥원에서 편찬한 데이터 품질진단 절차 및 기법에서 발췌)


 

 
한국데이터산업진흥원에서는 고품질의 데이터 보급을 위한 정책의 일환으로 국내에서 운영 중인 시스템에 대한 데이터 인증제도를 시행하고 있습니다.

 

[Fig. 10] 한국데이터산업진흥원에서 시행 중인 데이터 인증
 
  • 데이터 품질인증

데이터 품질인증은 데이터의 관리비용 절감과 데이터의 가치 향상, 그리고 이를 통해 기업의 경쟁력을 강화하기 위한 목적으로 시행되는 한국데이터진흥원의 대표적인 데이터 인증입니다. 실무적으로는 도메인과 업무규칙을 기준으로 실제 데이터 자체에 대한 품질 영향요소 전반을 심사·심의하여 인증을 진행합니다.

  • 데이터 관리인증

데이터 관리인증은 데이터의 효과적인 활용을 위한 데이터의 거버넌스 정책과 데이터 관리 체계에 대한 인증입니다.

  • 데이터 보안인증

데이터 보안인증은 데이터에 대한 보안위협의 선제대응과 안전한 비즈니스를 위한 인증입니다.





데이터의 품질 향상과 관리를 위해선 데이터 품질인증과 관리인증, 그리고 보안인증 측면에서 모두 점검과 검토가 필요하지만, 이 중에서 가장 근본적인 부분에 대한 검토를 하는 것은 품질인증이라고 할 수 있습니다. 데이터 품질인증은 다른 인증에 비해 가장 활성화되어 있는 데이터 인증이기도 합니다. 데이터 품질인증의 주안점은 데이터 품질을 고려한 설계의 적절성 여부와 함께, 실제 데이터가 이 설계에 맞게 잘 구축이 되어있는가에 대해 맞춰져 있습니다.

  • 데이터 품질인증 절차

데이터 품질인증은 인증상담, 인증신청, 인증심사, 인증심의, 인증유지 등 5단계의 절차를 거쳐 엄정히 수행됩니다. 인증을 받고자 하는 기관이나 업체에서 상담접수를 하고 서류를 준비하여 인증신청을 하면, 심사접수를 통해 기본 서류심사를 하고 이어서 현장심사를 진행하게 됩니다. 현장심사 일정이 정해지면, 한국데이터산업진흥원에서 지정한 심사위원들(시스템 규모에 따라 인원은 다르며 보통 2~3인)이 해당 기관이나 업체에 방문하여 1주일가량 심사를 진행합니다. 심사결과는 진흥원의 최종 심의를 거쳐 확정되게 되며 인증을 받은 날로부터 1년간 유지됩니다.


[Fig. 11] 데이터 품질인증 절차
  • 데이터 품질인증 심사와 제출 문서

[Fig. 12] 데이터 품질인증 시 제출하는 문서

데이터 품질인증 심사는 테이블 정의서와 컬럼 정의서, 데이터베이스 구조도(ERD)와 같은 기본적인 데이터베이스 관련 문서에 대한 검토를 시작으로, 실제 데이터베이스에 등록된 데이터가 도메인과 업무규칙 등 품질진단 기준에 맞게 잘 구축이 되어 있는지에 대한 점검(데이터 프로파일링)을 진행합니다. 여기서 도메인이란 데이터 속성에 정의된 조건을 만족시키는 값의 범위를 의미하는데, 좀 더 쉽게 표현하면 데이터가 가질 수 있는 값의 성격과 범위에 따라 종류를 나누어 놓은 것이라 볼 수 있습니다. 도메인의 종류에는 번호, 금액, 명칭, 수량, 분류, 날짜, 비율, 내용, 코드, 키, 공통이 있습니다. 데이터베이스 시스템을 구축할 때는 초기에 데이터에 대한 명확한 분석을 바탕으로 도메인을 잘 구성하는 것이 무엇보다 중요합니다. 업무규칙은 데이터의 품질관리를 위해 지속해서 관리되어야 하는 데이터의 규칙으로, 데이터의 값이 정확하기 위한 조건에 대한 표현입니다. 따라서 막연하게 정해놓는 것이 아니라 일관되고 정형화된 양식으로 작성해야 하며, 실제 데이터 시스템 운영 시 업무규칙에 맞게 데이터에 대한 등록과 관리를 진행해야 데이터의 품질을 높일 수 있습니다.

[Fig. 13] 데이터 품질인증 세부심사 절차
[Fig. 14] 업무규칙 정의서 예시
(한국데이터산업진흥원에서 편찬한 데이터 품질진단 절차 기법에서 발췌)
  • 데이터 프로파일링

데이터에 대한 품질진단에는 데이터 프로파일링 기법이 활용되는데 이는 통계적 기법을 바탕으로 데이터의 품질과 관련된 현상을 파악하는 절차입니다. 기술적으로 보면 데이터베이스의 테이블을 목록화하고 테이블별로 품질진단 목록을 체크하여 최종적으로는 세부 컬럼 단위로 점검을 수행하는 과정이라 할 수 있습니다.


[Fig. 15] 프로파일링 대상 및 유형 목록 예시
(한국데이터산업진흥원에서 편찬한 데이터 품질진단 절차 기법에서 발췌)

 

[Fig. 16] 프로파일링 결과보고서 예시
(한국데이터산업진흥원에서 편찬한 데이터 품질진단 절차 기법에서 발췌)

 
  • 데이터 품질인증 심사 기준과 등급

프로파일링 분석을 통해 의심되는 데이터 항목을 검출하고 나면, 필요할 경우 추가 업무규칙을 도출하고 이후 최종 품질점검을 진행하여 오류판정을 내리게 됩니다. 그리고 이 오류율에 따라서 품질인증 등급이 결정됩니다. 실질적으로 품질인증 등급에 가장 큰 영향을 미치는 부분은 도메인과 업무규칙이 실제 데이터와 얼마나 정합성을 이루고 있는가에 대한 것으로, 정합성에 어긋나는 부분은 오류로 간주하여 오류율에 합산됩니다.


[Fig. 17] 데이터 품질인증 심사기준
 
 

[Fig. 18] 도메인과 업무규칙별 데이터 품질 점검사항(일부)
 
데이터 품질인증 등급(수준)은 도메인과 업무규칙에 따른 데이터베이스 내의 값을 대상으로 데이터 정합성을 정량화하여 이 정합률의 수치에 따라 결정되게 됩니다. 현장 심사를 통해 나온 품질인증 결과는 한국데이터산업진흥원의 내부 심의를 거쳐 최종 확정됩니다.
 

[Fig. 19] 데이터 품질인증 등급
 




지난 9월, 한국원자력연구원이 주관하고 (주)인실리코젠이 개발과 운영을 담당하고 있는 국가 방사선 반응지도 모델링 플랫폼에 대한 데이터 품질인증이 진행되었습니다. 국가 방사선 반응지도 모델링 플랫폼은 점차 수요가 증가하고 있는 방사선 관련 데이터를 정제하여 통합 데이터베이스로 구축하고 조회와 예측 등의 서비스를 제공하는 시스템으로, 데이터의 전반적인 품질을 점검/개선하여 활용가치를 높이려는 목적으로 인증을 신청하였습니다.


[Fig. 20] (주)인실리코젠에서 개발/운영을 담당하고 있는 국가 방사선 반응지도 모델링 플랫폼
식품, 공업소재 등 다양한 분야의 방사선 반응 데이터를 수용할 수 있도록 효율적으로 설계된 기본 데이터 구조 위에서, 수년에 걸쳐 구축한 방사선 관련 연구 데이터들을 대상으로 진행된 데이터 품질인증에서 최고 인증등급인 ‘플래티넘’을 획득하는 성과를 거두었습니다.

[Fig. 21] 데이터 품질인증 최고등급인 플래티넘을 받은 국가 방사선 반응지도 모델링 플랫폼

국가 방사선 반응지도 모델링 플랫폼은 이번 연도에 새롭게 반도체 분야 데이터를 추가하는 등 지속해서 데이터를 확장하고 있으며, 높은 품질의 데이터를 많은 사람이 더욱 유용하게 활용할 수 있도록 계속 발전시켜 나갈 예정입니다.




맛집의 공통점은 주방장의 뛰어난 요리 솜씨나 고객에 대한 세심한 서비스 이전에, 좋은 재료에서부터 출발한다는 점입니다. 좋은 재료는 운이 좋으면 얻을 수 있는 행운의 선물이 아니라, 부단한 노력과 검증을 통해 기준을 정하고 끊임없이 탐색하며 고민해야 비로소 손에 쥘 수 있는 것입니다. 그리고 좋은 재료를 입수했다 하더라도 각 재료에 맞는 적절한 보관절차나 관리체계 없이 방치한다면, 얼마 되지 않아 그 가치를 잃고 말 것입니다.

정부와 기업의 중요한 의사결정 과정에서는 물론이고 이제 각 개인의 판단이나 행동에도 데이터가 미치는 영향이 절대적인 시대가 되었습니다. 데이터를 잘 분석하고 해석하는 것도 중요하지만, 근본적으로 데이터를 잘 설계하고 구성하여 이를 뿌리 삼아 좋은 품질의 데이터라는 열매를 획득하는 것이 무엇보다 중요한 상황입니다. 데이터를 기반으로 더욱 살기 좋은 세상을 만들기 위해서는 데이터를 다루는 모든 주체가 데이터 맛집이 되어야 합니다. 데이터 품질의 중요성을 인지하고 이를 높이기 위한 모두의 노력이 더해졌을 때, 고품질의 데이터가 서로 간에 공유/확장되며 비로소 인류의 미래를 위한 중대한 정보들을 우리에게 드러내 줄 것입니다.






작성 : 대전지사 서승원 선임개발자
 

Posted by 人Co

2020/12/05 21:17 2020/12/05 21:17
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/366

공공데이터 포털 활용하기


 
4차 산업혁명과 함께 빅데이터 시대가 도래하였습니다. 빅데이터 시대의 핵심 경쟁력은 더 많은 데이터를 보유하는 것입니다.
빅데이터는 통계, 분석뿐만 아니라 AI 학습에까지 활용되어 데이터 확보의 중요성은 점점 더 커지고 있습니다.
 
우리나라의 디지털 경쟁력은 우수하다고 평가받고 있으나, 빅데이터 활용은 OECD 국가 중 꼴등 수준이라고 합니다.
이를 극복하기 위해 현재 국가에서는 개인 및 회사의 빅데이터 활용능력을 키우는 데 필요로 하는 데이터를 제공 및 활용할 수 있도록 공공데이터를 제공하는 공공데이터 포털을 운영하고 활성화하기 위해 많은 노력을 기울이고 있습니다.
 
아래 본문에서는 이러한 공공데이터 포털의 활용방법을 소개하고자 합니다.
 

 
공공데이터 포털은 공공기관이 생성 또는 취득하여 행정안전부에서 관리하는 공공데이터를 제공하는 통합제공 시스템으로 다양한 공공데이터를 국민 누구나 편리하고 쉽게 활용할 수 있도록 파일형식의 데이터(csv, excel, xml), Open API, 시각화, 분석 서비스 등 다양한 방식으로 제공하고 있으며, 검색을 통해 원하는 형식의 공공데이터를 빠르고 정확하게 찾을 수 있습니다.
 
 
 
 

[그림 1] 공공데이터 찾기
 
[데이터찾기] 메뉴는 데이터목록, 국가중점데이터, 이슈데이터로 구성되어 있습니다.
 
  • 데이터목록

[데이터목록]에서는 공공데이터 포털에서 제공하는 모든 데이터를 검색을 통하여 찾을 수 있으며, 자주 검색된 키워드를 검색창 하단에 배치하여 최근 이슈가 되는 키워드를 확인하고 이를 검색에 활용할 수 있습니다. 또한, 상세검색이나 조건검색(분류체계, 서비스유형, 제공기관유형, 태그, 확장자) 등을 통해 다양한 방식으로 검색할 수 있습니다.
 

[그림 2] 데이터목록
 
  • 국가중점 데이터

[국가중점 데이터]는 국민이나 기업의 수요 중심으로 개방의 효과성, 용이성, 시급성 등을 분석하여 가장 높은 분야의 데이터를 선정한 카테고리로 구성되어 있습니다.
 

[그림 3] 국가중점데이터
[이슈데이터]는 COVID-19, 미세먼지, 저출산/고령화 등의 사회현안별 이슈 키워드를 통하여 사회적 관심도가 가장 높은 카테고리로 구성되어 있습니다.




 


  • OpenAPI 데이터 활용

1. 제공 받고자 하는 데이터를 찾아 상세페이지로 이동합니다.


[그림 5] Open API신청1
 
 
2. 활용신청 버튼을 눌러 활용목적과 상세기능 선택 및 라이선스를 동의합니다.
 

[그림 6] Open API신청
 
 
3. 활용신청이 완료된 OpenAPI는 1~2시간 이후에 사용할 수 있으며, 일반 인증키와 요청변수를 통해 데이터를 받아 볼 수 있습니다.
 

[그림 7] Open API신청3
 
 
4. 키-값(key-value) 형태의 XML 혹은 JSON 데이터로 요청변수에 맞는 데이터를 제공 받아 볼 수 있습니다.
 

[그림8] 출력 결과 데이터
5. 제공 받은 데이터는 출력결과 항목에서 매칭되는 항목에 데이터를 활용할 수 있습니다.



[그림 9] 출력결과 항목
 
이러한 과정들을 거쳐 받은 Open API 데이터는 웹&앱 개발 혹은 연구에서 실시간으로 원하는 검색조건으로 데이터를 받아 활용할 수 있습니다. 또한, 활용 기간은 보통 승인일로부터 24개월간이며, 만료 시 재발급요청을 통하여 활용할 수 있습니다.
 
 


  • 공공데이터 신청

공공데이터포털에서 보유하고 있으나 제공하지 않는 데이터는 공공데이터 신청서를 작성하여 제공 여부 심의 후 제공 받을 수 있습니다.


[그림 10] 공공데이터 신청과정
 
 

[그림 11] 공공데이터 신청서
(https://data.go.kr/tcs/dor/insertDataOfferReqstDocView.do)
 



  • 공공데이터활용 사례

공공데이터 포털의 공공데이터들을 활용한 사례는 어떤 것들이 있을까요? 2가지의 사례를 통해 알아보고자 합니다.

첫 번째로 아파트 실거래 정보를 기반으로 '호갱노노'라는 아파트 시세를 확인할 수 있는 앱이 있습니다. 최근 부동산 가격이 치솟아 내 집 마련의 꿈이 힘들어지고 있습니다. 호갱노노라는 앱은 부동산 실거래가 정보를 공공데이터로 받아 부동산의 실거래가를 제공하여 부동산 구매자가 호갱이 되지 말고 현명한 구매를 하게 하는 목적으로 만들어진 앱입니다.


[그림 12] 호갱노노
 
두 번째로는 COVID-19라는 커다란 재앙 같은 바이러스가 전 세계에 퍼지며 위기를 맞았습니다. 이러한 시기에 맞춰 대학생들이 만들어낸 코로나 확진자의 지역별 분포를 그려준 코로나 맵이라는 앱을 기억하시나요? 이 앱도 공공데이터 포털에서 제공하는 데이터를 활용하여 만든 앱입니다. 이렇게 공공데이터 포털에서 제공하는 공공데이터는 많은 분야에서 유용하게 활용되고 있습니다.
 
 
[그림 13] 코로나맵
공공데이터 포털에 대해 간단한 소개 및 활용법을 적어보았습니다.
데이터는 데이터 분석 및 AI 기술 활용 등 많은 분야에서 활용됨에 따라 매우 중요한 요소로 자리를 잡았으며, 데이터의 양과 질의 승부라 할 만큼 데이터의 필요성이 중요한 시대가 되었습니다. 국가에서 데이터를 제공하는 기회를 통해 사업 및 창업, 또는 연구에서 종류별, 내용별 비즈니스 모델에 활용한다면 더 빠르고 높은 성과를 낼 수 있을 것으로 생각합니다. 또한, 코로나 맵, 호갱노노, 마스크 알림이, 미세먼지 앱 등 이미 많은 사례가 있는 만큼 필요의 맞게 공공데이터 포털을 활용하여 시장에서의 경쟁력을 키워나가길 기원합니다.



작성 : BS실 백인우 주임개발자

Posted by 人Co

2020/11/23 08:52 2020/11/23 08:52
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/364

 
행정안전부는 2020년 7월 30일부로 전자정부 웹사이트 품질관리 지침(행정안전부 고시 제2020-38호(2020. 7. 30., 전부개정))을 개정했습니다. 전자정부 웹사이트 품질관리를 한마디로 정의한다면 행정/공공기관의 웹사이트를 국민이 이용하고자 할 때 이용에 대한 불편을 해소하고 편리성을 높이고자 웹사이트에 대한 품질관리 원칙 및 종합적인 품질관리 기준을 마련한다고 할 수 있습니다.
 

오늘 블로그는 행정안전부 (이하, 행안부)에서 2020년 7월에 개정한 정부 웹사이트의 품질관리 원칙 및 품질관리 기준을 자세히 살펴보도록 하겠습니다.


''전자정부 웹사이트 품질관리 지침이 개정되기 이전에도 전자정부서비스 호환성 준수지침(개정 2017. 12.29.행정안전부고시제2017- 26호)(개정 2017. 12.29.행정안전부고시제2017- 26호)이 있었습니다. 이 지침의 경우, 웹표준 준수, 비표준 제거 및 웹 호환성 확보 등 다양한 웹 브라우저 이용 지원에만 내용이 집중되었습니다.

이제 사용자 이용 측면에서 더욱 현실적인 법안이 개정되었으니 행정/공공기관의 웹사이트 이용 시에 불편함 없이 더 편리하게 이용할 수 있다고 예상해 보면서 실질적으로 어떤 내용이 개정되었는지 확인해 보겠습니다.

[Fig.1] 조문별 주요 내용
(https://www.mois.go.kr/cmm/fms/FileDown.do?atchFileId=FILE_00095282LdKk50g&fileSn=0)

전자정부 웹사이트 품질관리 지침 각 조항의 주요 내용을 정리한 표입니다. 지침의 주요 내용은 크게 웹사이트 품질관리 원칙, 품질관리계획, 품질 진단 및 개선 3가지입니다. 웹표준, 호환성, 접근성, 개방성, 접속성, 편의성, 신뢰성, 유사중복방지 등 품질관리 원칙을 명시하였고, 품질관리계획을 위해 웹사이트 품질관리자를 지정하고 교육할 수 있으며, 행정기관 등은 자체 품질진단 시행, 행안부는 주요 웹사이트 품질진단 시행을 할 수 있습니다.


(기존 지침: 전자정부 서비스 호환성 준수 지침), (개정 지침: 전자정부 웹사이트 품질관리 지침)

[Fig.2] 신구조문대비 전자정부 웹사이트 품질진단 기준
(https://www.mois.go.kr/frt/bbs/type001/commonSelectBoardArticle.do;jsessionid=AQw96T0UD5HJ9fIAOCcvVtnS.node50?bbsId=BBSMSTR_000000000016&nttId=79056)

신구조문대비 전자정부 웹사이트 품질진단 기준을 정리한 표입니다. 전자정부 웹사이트 품질관리 지침 내 별표를 보면 전자정부 웹사이트 품질진단 기준이 있습니다. 이 부분은 품질관리 원칙(호환성, 접근성, 개방성, 접속성, 편의성, 효율성, 신뢰성)에 대한 진단 지표와 진단 내용을 보여주고 있습니다. 기존 지침(전자정부서비스 호환성 준수지침)에는 전자정보서비스 웹 호환성 진단표, 전자정보서비스, 전자정보서비스 모바일 웹 호환성 진단표 두 가지로만 간단하게 되어 있었는데, 더욱 상세하게 세분화하여 품질진단 기준을 마련했음을 알 수 있습니다.

이렇듯, 행정/공공기관의 웹사이트 품질관리 기준은 다양해지고 명확해져서 앞으로 국민이 사용하게 될 때는 편하게 이용할 수 있을 것 같다는 생각이 듭니다.

끝으로 정보화 사업을 수행하는 수행업체 입장에서 한 가지 의문점은, 행정/공공기관에서 나라장터에 웹사이트 구축과 관련된 사업을 공고하게 될 때 위와 같은 품질관리에 대한 요구사항이 많아질 것으로 예상하는데 품질관리 관련된 요구사항은 산출내역에 어떻게 반영되는지 궁금했습니다. 현재 소프트웨어사업 대가산정 가이드(2020. KOSA)를 보면 보정계수 산정 부분에는 품질관리에 관한 내용은 없기 때문입니다.(Fig.3. 참조) 그래서, 국내 SW사업의 품질을 향상하기 위하여 소프트웨어 대가산정 가이드에도 품질관리 지침을 반영한 가이드라인을 제시하는 것이 객관적인 대가산정을 유도하는데 도움이 될 것으로 생각합니다.

[Fig.3] SW사업 대가산정 가이드 2020 개정판(137페이지)
 
 
 
 
 

 

Posted by 人Co

2020/08/30 21:54 2020/08/30 21:54
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/356

크롬 개발자도구의 숨은 팁 알아보기



웹 기반 관련 업무에 종사하시는 분들은 개발자 도구가 친숙하실거로 생각합니다. Elements 탭에서 CSS를 확인하거나 Console 탭에서 출력된 결과물을 확인하기도 합니다. 저도 웹 개발을 하면서 스크립트 디버깅을 하는 경우가 있는데 그럴 때마다 조금 불편하다는 생각을 하게 되었습니다. 그래서 개발자 도구 꿀팁에 대해 알아보게 되었고 여러분들에게 개발자 도구에서 잘 알려지지 않은 기능을 공유해보려고 합니다.
 
 

 
개발자 도구가 생소하신 분들을 위해 크롬 개발자 도구에 대해 설명하겠습니다. 구글에서 만든 웹 브라우저인 크롬에는 개발을 도와주는 다양한 도구가 기본적으로 제공되는데 이를 개발자도구라고 합니다. 웹 페이지는 많은 요소로 이루어져 있고 이 요소들은 각각 그림, 글, 입력 폼 등 다양한 형태로 존재하게 됩니다. 개발자 도구는 개발자들이 이러한 요소들을 확인하거나 디버깅할 때 자주 사용됩니다.
 

개발자 도구 실행은

  • F12
  • Ctrl + Shift + i

로 실행할 수 있고 아래 사진처럼 [도구 더보기 > 개발자 도구] 를 클릭해서 실행할 수도 있습니다.

[Fig.1] Opening DevTools from Chrome`s main menu (https://developers.google.com/web/tools/chrome-devtools/open)

개발자 도구를 실행하게 되면 여러 가지 패널이 보일 텐데 각 패널의 간략한 특징은 아래와 같습니다.

[Fig.2] DevTools screen

  • Elements : html/CSS 상태 확인
  • Console : 콘솔 (변수 정보를 확인하고 오류 메시지 표시)
  • Sources : 스크립트 디버깅 (break point 지정 및 변수 모니터링 등)
  • Network : 브라우저에서 발생하는 통신 상태
  • Performance(예전 Timeline패널) : 성능 측정
  • Memory(예전 Profiles 패널) : 메모리 사용 형태를 작성하고 누수 탐색.
  • Application(예전 Resources 패널) : 쿠키 및 스토리지 등의 내용 수집
  • Audits : 페이지를 분석하고 최적화를 위한 팁 나열
  • Security : Mixed content 이슈, 인증서 문제 등을 디버깅


 

[Fig.3] Console log

Console 패널에서 호출 결과를 확인하기 위해 위의 그림처럼 출력하는 경우가 많이 있습니다. 이때 결과로 나온 Object를 복사하고 싶다면 어떻게 할까요? 보통 그냥 drag 해서 선택한 다음 Ctrl + c, Ctrl + v 로 복사하는데 이러면 나중에 다시 정리해야 하고 결과값이 많은 Object의 경우 하나하나 펼쳐주지 않으면 [...]이 복사 될 수 있습니다. 이런 불편함을 없애주는 copy이라는 메소드가 있는데 이 메소드를 사용하면 객체가 클립보드에 저장됩니다. 하지만 변수에 담기지 않은 상태, 즉 이미 로깅된 객체는 copy에 바로 담을 수 없고 변수로 지정을 해줘야 합니다.

예시


1. 내가 지정하고 싶은 객채에 오른쪽 마우스를 클릭 후 Store as global variable 선택


 [Fig.4] Select 'Store as global variable'

2. 선택하면 global 영역에 임시 변수로 저장됨

[Fig.5] Save variable

3. 생성된 임시변수를 사용해서 copy메소드 실행

[Fig.6] Copy method

그러면 객체가 복사됩니다.

 


프론트앤드에서 데이터를 얻기 위해 백앤드로 XHR 요청을 보냅니다. 이때 내가 원하는 XHR을 한 번 더 요청하고 싶다면 새로고침을 하는 방법도 있겠지만, 더 쉬운 방법을 알려드리겠습니다.

[Fig.7] Example replay XHR

개발자 도구에서 Network 패널을 선택 후 원하는 XHR요청을 오른쪽 마우스로 클릭하면 Replay XHR이 나오는데 이를 선택하면 해당 XHR을 재요청하게 됩니다.
 
 

 
화면 일부를 캡처하는 것은 이미 여러 가지 툴들이 존재하고 있습니다. 하지만 다음 작업은 웬만한 프로그램으로는 힘듭니다.
  • 스크롤 아래 보이지 않는 부분을 포함하여 웹 페이지에 있는 모든 것의 스크린 샷
  • DOM 요소의 내용을 정확하게 캡처

이런 작업들은 운영체제에 제공되는 스크린 샷 도구로 해결할 수 없지만 개발자 도구에선 해결할 수 있습니다.

시작하기 전에 Command 메뉴를 소개하겠습니다. 리눅스에 셸(Shell)이 있듯이 크롬에는 Command 메뉴가 있습니다. Command 메뉴를 사용하면 명령어를 입력해 Chrome을 조작할 수 있습니다.

Command 메뉴는 개발자 도구를 연 후

  • Ctrl + Shift + p

를 통해 열 수 있고, 아래 버튼을 클릭하여 열 수도 있습니다.


[Fig.8] Opening command from Chrome`s main menu
 
Command 메뉴를 열게 되면 아래 그림과 같이 다양한 명령어들이 있습니다.
 

[Fig.9] Command function
 

제가 Command 메뉴를 설명해 드린 이유는 Command 명령어를 통해 스크린 샷을 할 수 있기 때문입니다.
이제 다시 본론으로 돌아와 스크린 샷에 대해 말해보겠습니다.

1. 스크린 샷 하고자 하는 웹 페이지를 엽니다. 그리고 개발자 도구를 열고 Command 메뉴를 실행합니다.

2. 그런 다음 명령어 screenshot을 입력합니다. 그러면 screenshot에 관련된 여러 명령이 아래에 나오게 됩니다.

[Fig.10] screenshot step 2

3. Capture full size screenshot을 선택하게 되면 현재 페이지의 전체 스크린 샷을 얻을 수 있습니다.

[Fig.11] screenshot 결과물

마찬가지로 DOM 요소의 스크린 샷을 만들려면 스크린 샷 도구를 사용할 수 있지만, 요소를 정확하게 캡처하는 게 쉽지 않습니다. 이때는 Capture node screenshot 명령어를 실행하면 원하는 요소만 선택하여 캡처할 수 있습니다.

1. Elements 패널에서 원하는 요소를 선택합니다.

[Fig.12] Node screenshot step 1

2. 선택한 후 Command 탭을 열어 screenshot 명령어를 입력합니다. 그중 Capture node screenshot 을 선택하면 요소가 저장됩니다.

[Fig.13] Node screenshot 결과물

 


크롬 확장프로그램인 Awesome Screenshot도 전체 스크린 샷을 지원합니다. Awesome Screenshot은 녹화, 공유, 스크린 샷 등의 기능을 제공하는 데 스크린 샷에 텍스트, 주석, 라인, 화살표 및 모양을 캡처한 이미지에 직접 추가할 수 있는 기능이 있습니다.
Awesome Screenshot을 사용하기 위해서는 우선 확장 프로그램을 추가해야 합니다. Awesone Screenshot은 https://www.awesomescreenshot.com/ 에서 무료로 추가할 수 있습니다. 추가한 뒤에는 오른쪽 위에 확장 프로그램을 선택하면 아래 메뉴가 나옵니다.

 

[Fig.14] awesome screenshot 메뉴

  • Visible Part : 현재 보이는 전체화면을 캡처
  • Full Page : 스크롤 아래 보이지 않는 부분을 포함한 전체화면 캡처
  • Selected Area : 선택한 영역을 캡처
  • Visible Part after Delay : 옵션에 따라 3초, 5초 후 캡처
  • Entire Screen & App Window : 화면 공유

  • Annotate Local & Clipboard Image : 내 컴퓨터의 이미지를 편집기로 불러옴

캡처한 뒤에는 바로 여러 도구를 추가할 수 있는 화면으로 넘어가게 됩니다. 무료로 제공되는 부분은 화살표, 도구, 텍스트 등 빨간색 상자 부분이고 등급을 업그레이드하면 노란색 상자 부분의 도구들을 사용할 수 있습니다.

[Fig.15] awesome screenshot 도구

확장 프로그램을 추가하고 싶지 않으신 분, 요소 캡처를 원하시는 분께는 개발자 도구를 이용하는 걸 추천해 드리고 시간 지연 옵션을 원하시는 분, 캡처 후 여러 가지 모양을 직접 추가하시고 싶으신 분들에게는 Awesome Screenshot을 추천해 드립니다.

 


크롬 개발자 도구에서 디버깅을 하다 보면 특정 위치로 이동하기 위해 원하는 위치에 breakpoint를 설정하고 next로 넘어가는 경우가 많이 있습니다. 긴 함수에서도 여러 값을 보기 위해 이러한 방법을 사용하는데 이런 경우 나중에 원치 않아도 걸리게 되어 시간이 지체되고 다시 해체해야 하는 번거로움이 있습니다. 이때 사용하는 기능이 Continue to here입니다. 디버깅 중 원하는 코드 위에 마우스 오른쪽 버튼을 클릭하면 Continue to here 이 있는데 이 기능을 사용하면 breakpoint를 설정하지 않아도 원하는 위치로 이동할 수 있어서 나중에 breakpoint에 걸리지 않고 다시 해체할 필요도 없습니다. 다만 breakpoint가 걸린 함수 내에서만 이동할 수 있습니다.

[Fig.16] Continue to here

만약 특정 이벤트가 발생하는 시점에 호출되는 함수를 알 수 있다면?? 아마 좀 더 디버깅을 쉽게 할 수 있을 것입니다. 개발자 도구에서는 이렇게 이벤트가 발생하는 시점에 break point를 걸 수 있는 기능을 제공하는데 이게 바로 Source 패널에 있는 Event Listener Breakpoints입니다.

[Fig.17] Event Listener Breakpoints

위와 같이 click을 선택하면 click 이벤트가 발생하였을 때 해당 함수에 break point가 걸리게 됩니다. 하지만 문제는 대부분 라이브러리를 사용하기 때문에 아래와 같이 라이브러리 코드에서 멈추게 되는데


[Fig.18] debug

그러면 next 버튼을 계속 눌러줘야 하는 번거로움이 있습니다. 이때 원하는 파일을 디버깅에서 제외하는 기능이 Blackbox입니다. 설정 > Blackboxing > Add pattern... 을 눌러 라이브러리를 등록하게 되면 디버깅을 할 때 해당 라이브러리 코드는 디버깅 대상에서 제외되게 됩니다.


[Fig.19] Framework Blackboxing





이번엔 console 명령어에 대해 알아보겠습니다. 저를 포함한 많은 분께서 console.log()를 가장 많이 사용하실 텐데 console에는 다양한 명령어가 존재하고 있습니다. 이 글에서는 배열을 table로 console 창에 보여주는 법을 알려드리겠습니다. Console창에 console.table([배열객체]) 혹은 table([배열객체]) 를 해주시면 됩니다. 그러면 아래와 같이 예쁘게 결과가 나오게 됩니다.


[Fig.20] console.table()

이미 Console 창에 출력된 결과를 table로 보여주고 싶다면 앞서 알려드린 방법처럼 global 변수에 담은 뒤 사용하시면 됩니다.




Elements 패널에서 간단하게 CSS를 수정해본 경험 다들 있으실 겁니다 개발자 도구에서는 스타일을 쉽게 테스트하기 위해 Elements 패널에서 CSS 수정뿐만 아니라 가상 클래스를 작동시켜 테스트할 수 있습니다. Element 패널에 styles 아래 :hov를 클릭하면 여러 이벤트가 있는데 각각의 이벤트마다 적용된 CSS를 확인, 수정할 수 있습니다.



[Fig.21] Trigger class

또 CSS 스타일을 디버깅할 때, 요소를 숨겨야 할 때도 간혹 있습니다. 이때는 요소를 선택한 뒤 키보드의 H 키를 누르면 요소를 빠르게 숨길 수 있습니다.
 

[Fig.22] ‘H키를 이용한 빠른 요소 숨기기 예시

크롬 개발자 도구의 흰 바탕색이 소스 보기 부담스럽고 눈이 쉽게 피로해지는 분들 있으실 겁니다. 이를 위해 크롬에서는 색상 반전 기능을 제공하고 있습니다.

1. 개발자 도구를 열어 설정을 실행합니다.

[Fig.23] 개발자도구 설정메뉴

2. Performances 메뉴를 선택 후 Appearance 아래에 Theme을 Dark로 변경합니다.

[Fig.24] Theme 변경

3. 다음과 같이 Dark Theme로 변경됩니다.

[Fig.25] Dark Theme

또 Dock의 위치를 원하는 곳으로 변경할 수 있는데 분리, 왼쪽, 아래쪽, 오른쪽 순으로 변경할 수 있습니다. 저는 듀얼모니터를 쓸 때 개발자 모드를 분리해서 사용하곤 하는데 여러분들은 개발하는 화면에 맞게, 취향이나 편의에 따라 원하는 Dock 위치를 바꿔가며 사용하시면 좋을 것 같습니다.

[Fig.26] Dock 위치 변경

 


지금까지 알아두면 편리한 잘 알려지지 않은 기능에 대해 살펴보았습니다. 제가 설명한 기능 외에도 크롬 개발자 도구에서는 다양한 기능을 제공하고 있고 Google에서 제공하는 개발자 도구 공식 매뉴얼(https://developers.google.com/web/tools/chrome-devtools)에 설명이 잘 되어 있으니 이번 기회에 다른 기능들에 관해서 관심 두고 공부하셔서 개발의 질을 높이는 데 도움이 되었으면 좋겠습니다. 감사합니다.

 




작성 : 대전지사 도선아 개발자

Posted by 人Co

2020/08/17 01:50 2020/08/17 01:50
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/354

[Fig.1] 인실리코젠 IX팀
(출처:(주)인실리코젠)

올해 인실리코젠의 Descign(Design+Science+Management)팀 명칭이 IX팀으로 개편되었습니다. IX는 다양한 기술을 통합(Integration)하여 상호작용(Interaction)적인 서비스와 혁신적인(Innovation) 사용자 경험을 디자인하는 부서로 변화하였습니다. 금일 준비한 포스트도 부서의 방향성과 어울리는 콘텐츠로 준비하였습니다.

사용성 테스트의 니즈

[Fig.2] Usability Testing Illustration

편리한 시스템과 서비스를 디자인할 때 필요한 요소 중 하나는 사용성 테스팅(Usability Testing) 입니다. 테스팅은 예측하지 못했던 문제나 유저(User)들의 어려움을 찾아낼 수 있도록 도와주는 데 큰 역할을 합니다. 그럼 언제 사용성 테스트를 진행하는 것이 좋을까요? 일반적으로 디자인(기획) 단계에서 구상한 아이디어를 프로토타입 하여 진행합니다. 테스트 과정 중에 문제를 미리 발견하여 기업이 투여 시간과 비용적인 손실을 최소화할 수 있게 도와주기 때문입니다. 현재 이를 도와주는 다양한 테스팅 방법들이 존재합니다. 그중 Wizard of Oz(WOZ) 테스팅 기법을 소개해 드리려 합니다.

Wizard of Oz(WOZ) 테스팅은 어떤 건가요?


[Fig.3] Wizard of Oz Film

누구나 한 번쯤은 오즈의 마법사(Wizard of OZ) 영화를 보셨을 것입니다. 이쯤 되면 테스팅 방법과 오즈의 마법사 스토리와의 연관성에 대해 궁금증이 생기실 듯합니다. 극 중 마법사인 오즈는 자신의 진짜 모습(서커스에서 마술하는 사람)을 복화술로 숨기고 엄청난 대마법사인 것처럼 모두를 속입니다. 마법사 오즈처럼 Wizard of Oz 테스팅도 사용자들이 실제 개발되지 않은 서비스를 실존하는 서비스처럼 착각하게 하여 테스팅을 진행하는 방법입니다. 아래 IBM의 ‘The listening type writer’ 일러스트 이미지를 보시면 조금 더 이해가 되실 겁니다. 사용자가 컴퓨터 마이크에 “Dear Henry”라고 말을 하면 커튼 뒤에 또 다른 사람(wizard)이 직접 사용자의 말을 듣고 타이핑을 해줍니다. 이를 모르는 사용자로서는 컴퓨터가 출력해주었다고 생각하며 편리한 기능이라고 생각할 것입니다.

[Fig.4] Wizard of Oz Prototyping

어떻게 활용되나요?

WOZ 방법론은 가설을 빠르게 검증할 수 없는 AI(인공지능) 프로젝트에서 많이 활용되며 데이터가 없거나 기술이 완벽하지 않은 상황에서도 테스트를 진행할 수 있습니다. 또한, 시스템에 대한 사용자의 반응을 확인하며 반복적인 테스트를 통해 사용자 경험을 점진적으로 발전시킬 수 있습니다. 테스팅을 진행하기 전 명심해야 할 부분은 얻고자 하는 인사이트가 무엇인지 결정하는 것과 테스트 시 사용자들이 느끼기에 그럴듯하게(Believable) 프로토타입을 제작해야 합니다. 그리고 너무 복잡한 인터페이스 보다는 간단한 형태의 기능을 테스트하는 것이 효율적입니다.

인실리코젠에서는 생물정보를 활용하여 다양한 시스템을 개발하고 있습니다. 사용자 친화적이며 효율적으로 서비스를 디자인 및 개발을 하기 위하여 WOZ 방법론에 대해 알아보았습니다. 향후 직접 프로젝트에 적용해본 후 그 효과나 장단점에 대해서 알려드리겠습니다.

출처

[Reference 1] "Wizard of Oz testing – a method of testing a system that does not yet exist.", 2020년 6월 10일 접속, https://www.simpleusability.com/inspiration/2018/08/wizard-of-oz-testing-a-method-of-testing-a-system-that-does-not-yet-exist/

[Reference 2] "Making the machine believable: Wizard of Oz-ing AI applications.", 2020년 6월 12일 접속, https://uxdesign.cc/making-the-machine-believable-wizard-of-oz-ing-ai-applications-293cfbb0f244

[Reference 3] "[인공지능 in IT] 인공지능 UX 디자인 – 디자인 프로세스로 사용자 경험 설계하기.", 2020년 6월 12일 접속, https://www.donga.com/news/article/all/20190515/95530568/1

작성 : IX Team 김지인 주임 UX/UI 디자이너

Posted by 人Co

2020/06/22 14:14 2020/06/22 14:14
, , , ,
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/349

오픈소스 가상화 플랫폼, Docker

 
오늘은 복잡하고 어려운 서버관리를 효율적으로 할 수 있도록 개발된 플랫폼 ‘Docker` 대하여 알아보고자 합니다.
Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼으로서 환경에 구애받지 않고 신속한 배포와 확장이 가능하다고 하는데요,
Docker 가 이 이상 어떠한 장점과 특징들을 가졌는지 아래 내용에서 소개해드리고자 합니다.
 

[그림 1] Docker

서버 관리는 어렵고 복잡합니다. 고급 개발자도 서버를 관리하기 위해서는 아기를 다루듯이 섬세한 기술이 필요합니다. 개발에 필요한 언어인 JAVA나 Python 그리고 대표적 DBMS인 오라클과 MySQL 등 서버에서 사용 중인 서비스들이 업데이트 등에 의해 버전이 바뀌게 되고 이에 따라 다양한 버전의 서비스를 서버에서 관리하게 됩니다. 이렇듯 시간이 지날수록 서버에 점점 필요한 서비스들이 많아지게 되고, 관리는 어려워집니다. 서버 관리자나 개발자들은 필요한 서비스를 효율적으로 관리할 필요성을 느끼게 되고 이런 사용자의 욕구를 충족시키기 위해 개발된 오픈소스가상화플랫폼이 'Docker’입니다.


 
2013년 3월 산타클라라에서 열린 Pycon Conference에서 Docker의 창립자, 최고 기술 책임자 (CTO) 및 최고 설계자이며 Docker 오픈 소스 이니셔티브의 창시자인 Solomon Hykes가 'The future of Linux Containers(리눅스 컨테이너의 미래)' 라는 세션을 발표하면서 처음 세상에 알려졌습니다. 'The future of Linux Containers(리눅스 컨테이너의 미래)'는 5분 남짓한 짧은 발표로 이루어졌고, Docker를 사용하여 'Hellow World'를 찍는 것을 보여주었습니다. 이후 Docker가 인기를 얻으면서 2013년 10월 Docker Inc를 설립하고 2014년 6월 Docker 1.0을 발표하였습니다. 2016년에 진행한 Docker 선호도 조사에서는 90%가 개발에 사용 중이며, 80%가 DevOps에 사용할 예정이고 58%가 운영환경에서 사용 중이라고 합니다.
 

Docker는 프로그램이나 라이브러리, 시스템 도구 등과 같은 소프트웨어를 컨테이너라는 표준화된 방식으로 패키징 합니다. 패키징 된 컨테이너는 Docker 위에서 동작하며 가상 머신이 서버 하드웨어를 가상화하는 방식과 비슷합니다. Docker는 각 서버에 설치되며 제공된 명령어를 사용하여 컨테이너를 구축, 시작 또는 중단할 수 있습니다.




Docker : Docker에서 사용하는 컨테이너는 코드와 종속성을 함께 패키지하는 앱 계층의 추상화입니다. 여러 컨테이너가 동일한 머신에서 실행될 수 있고 OS 커널을 다른 컨테이너와 공유할 수 있으며, 각각은 사용자 공간에서 격리된 프로세스로 실행됩니다. 컨테이너는 VM보다 공간을 덜 차지하며 (컨테이너 이미지는 일반적으로 수십 MB 크기) 더 많은 응용 프로그램을 처리할 수 있습니다.

[그림 3] Docker Container

Virtual Machine : 하나의 서버를 여러 서버로 바꾸는 물리적 하드웨어의 추상화입니다. 하이퍼 바이저를 사용하면 여러 VM을 단일 컴퓨터에서 실행할 수 있습니다. 각 VM에는 운영 체제, 응용 프로그램, 필요한 바이너리 및 라이브러리의 전체 사본이 포함되며 수십 GB를 차지합니다. VM의 부팅 속도가 느려질 수도 있습니다.

[그림 4] Virtual Machine


Docker는 소프트웨어 인터페이스를 하드웨어와 비슷하게 만들어주는 반가상화와는 다르게 경량화된 방식이며 Guest OS를 설치하지 않습니다. 그리고 Docker에서는 분리된 공간을 이용해 서버 운영을 위한 프로그램과 라이브러리를 쉽게 설치할 수 있습니다. Virtual Machine과는 다르게 Host의 자원을 직접 이용할 수 있으므로 메모리 접근이나 네트워크 속도, 파일시스템이 월등히 빠르게 동작합니다. 그렇기 때문에 Host와 Docker의 컨테이너 사이의 계층과 성능 차이는 크게 발생하지 않습니다.
정리하자면, 프로그램이나 라이브러리들을 쉽게 설치와 삭제를 할 수 있으며 성능도 뛰어나고, Docker 사용자들끼리는 구축해 놓은 환경을 간편하게 주고받을 수 있습니다. 이 같은 편리함 때문에 많은 사용자가 Docker를 사용하고 있고, Stack OverFlow에서 진행한 2019 Survey에서는 Docker가 가장 널리 사용하는 플랫폼 3위, 가장 좋아하는 플랫폼 2위를 차지하였습니다. 사람들이 많이 쓰고 좋아하는 플랫폼에는 이유가 있다고 생각합니다. 이 글이 Docker를 사용하기 위한 첫걸음을 내딛는 데 조금이라도 도움이 될 수 있었으면 좋겠습니다. 감사합니다.



 

Posted by 人Co

2020/05/20 11:20 2020/05/20 11:20
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/345

DevOps 란?



최근 IT 업계에서 지속적인 소통을 통한 협업 문화가 중시되고 있는데요, 이를 위해 여러 가지 방법론 또한 등장하고 있습니다. 오늘은 이러한 소통과 협업 방식인 디봅스(DevOps)를 주제로 유용한 정보를 공유해드릴까 합니다.
 
 



[출처] DevOps
 
DevOps는 소프트웨어개발(Development) 그리고 운영(Operations)의 합성어로, 일반적 정의는 개발과 운영을 하나의 조직으로 합쳐서 팀을 운영하는 문화이자 방법론입니다.
 
[출처] Dev vs Ops

개발자들은 고객에게 검토를 요청한 변경 사항을 빨리 확인하길 원합니다. 반면 운영진은 안정성에 더 무게 중심을 두고 싶어 합니다. 일반적인 업무 프로세스상 이 둘 간의 타협은 쉽게 이뤄지지 않게 되고 시장과 고객에 대처하는 속도 또한 더딜 수밖에 없습니다. 하지만 DevOps는 이 둘의 공통 지표를 맞추고 지속적인 커뮤니케이션을 통해 차이를 줄이며 설계부터 배포까지 하나의 조직으로 협업하여 빠르게 변화하는 고객 중심의 시장에 맞춰 효율적으로 신속하게 대처할 수 있도록 하는 "문화" 라고 할 수 있겠습니다.
 




[출처] DevOpsCycle

1. 속도 : 배포까지의 작업 속도가 빨라져 고객을 위해 더 빠르게 혁신하고 시장 변화에 빠르게 대처하여 더 효율적인 비즈니스 성과를 창출할 수 있습니다
2. 신속한 제공 : 빌드에서 배포까지 소프트웨어 릴리스 프로세스를 자동화하여 새로운 기능의 배포와 이슈에 대한 대처 속도를 개선하여 고객에게 제공한 제품을 더 빠르게 혁신, 개선하여 시장 경쟁 우위를 차지할 수 있습니다.
3. 안전성 : 소프트웨어 업데이트와 변경 시의 품질 보장, 지속적인 통합과 전달을 통해 변경 사항이 안전하고 정확하게 작동하는지 테스트하고 모니터링과 로깅 방식을 통해 실시간으로 성능에 대한 정보를 얻을 수 있습니다.
4. 확장 : 자동화와 일관성이 지원되어 안전성을 보장하며 복잡한 시스템 또는 변화하는 시스템을 효율적으로 관리할 수 있습니다.
5. 협업 강화 : 개발부서와 운영부서의 긴밀한 협력을 통해 비효율성을 줄이고 시간을 절약할 수 있습니다.
6. 보안 : 자동화된 규정 준수 정책, 세분화된 제어 및 관리 기술을 사용하여 DevOps 모델을 도입할 수 있습니다.
 



1. Cross Functional Team : 팀 하나에서 개발부터 운영까지 전부 할 수 있는 인원으로 채우는 것이 아닌 각 프로세스의 담당자들을 하나씩 팀원으로 구성하는 뜻으로 서비스 기획부터 개발, 테스트, 운영 배포 등 모든 제품 개발 프로세스를 하나의 팀에서 할 수 있도록 해야 한다는 것입니다.
2. Widely Shared Metrics : 팀 구성원 전체가 기준으로 삼을 수 있는 서비스 제품에 대한 공통적인 지표를 통해 개발 후 잘 운영되고 있는지, 사용자의 반응은 어떤지 등 서비스 진행 상태를 인지할 수 있어야 한다는 것입니다.
3. Automating repetitive tasks : 반복적인 일들을 CI(Continuous Integration)/CD(Continuous Delivery) 를 이용하여 프로세스를 자동화해야 한다는 것입니다. 반복적 작업에 투입되는 시간을 줄여 작업의 효율을 높이고 빠른 서비스 업데이트가 가능하며 전체 시스템에 대한 이해도를 높일 수 있습니다.
4. Post Mortem : 서비스의 장애나 이슈가 있을 때, Fix 후 팀 전체가 공유하여 이러한 이슈들의 심각도를 판단하고 차후 같은 이슈에 대해 예방을 할 수 있습니다.
5. Regular Release : 서비스 릴리즈는 개발, 테스트 배포 과정을 거치게 되고 릴리즈가 끝난 후엔 다음 릴리즈를 위한 기능 정의 등의 과정을 거쳐야 하므로 불필요한 많은 시간이 소요될 수 있습니다. 정기적으로 릴리즈를 하게 되면 팀의 협업시점이 명확해지고 서비스의 기능을 빠르게 개선하여 고객의 VOC(Voice Of Customer)를 반영해 나갈 수 있다는 것입니다.





[출처] CI,CD,CD

1. Continuous Integration : 개발자들이 개별적으로 개발한 프로그램 소스 코드를 하나로 모아 빌드하는 통합 빌드의 과정을 특정 시점에 하는 것이 아니라 주기적으로 수행하여 통합에서 발생하는 충돌 등의 오류를 각기 다른 레벨의 자동화 테스트(단위 및 통합 테스트가 일반적)를 통해 변경 사항이 잘 통합되었는지 확인하고 이슈 발생 시 사전에 해결, 복잡성을 제거하자고 시간을 단축하기 위한 기법을 말합니다. Agile 방법론이 대두하면서 더욱 주목받게 되었고 빌드, 테스트 단계 등에서 걸리는 시간을 절약하여 빠른 시장에서의 경쟁력을 확보할 수 있습니다. CI 시스템을 구축하기 위한 핵심 구성요소는 Jenkins,Travis CI등의 CI Server,subversion,Git 등의 소스 코드 형상 관리 시스템(Source code Management), Maven, Gradle, Ant 등의 Buil Tool, 그리고 테스트 코드에 따라 자동으로 테스트를 수행해주는 JUnit, Mocha 등의 Test Tool이 있습니다.

2. Continuous Delivery : 프로그램에 적용된 사항들을 자동을 빌드, 단위 및 통합 테스트 진행에 이어서 하나의 리포지토리에 (예를 들면 Git)에 업로드되는 것을 말합니다. 이를 통하면 운영부서는 리포지토리의 프로그램을 실시간으로 프로덕션 환경에 배포가 가능할 것입니다. 이것이 효율적인 방법이 되려면 앞서 언급했던 CI의 자동화 프로세스가 제대로 구축하고 작동하여야 가능할 것입니다.
 

3. Continuous Deployment : Continuous Delivery와 개념이 유사하여 살짝 헷갈릴 수 있는 부분이지만 쉽게 말씀드리자면 Continuous Delivery는 프로덕션은 수동으로 배포하고 Continuous Deployment는 프로덕션까지 자동으로 배포하는 것입니다.
 



조직이 오래 지속하였거나 프로젝트 중간에는 이런 DevOps 방식의 "문화"를 도입하기는 쉽지 않을 것입니다. 경영자 또는 PM이 DevOps에 대해 이해가 없다면 도입하더라도 단기성, 일회성에 불과하리라 생각합니다. 이미 다른 방법론인 애자일 방법론을 도입하려 한 수많은 기업의 실패도 앞서 말씀드린 내용에 근거가 됩니다. 물론 실패한 사례만 있는 것은 아닙니다. DevOps는 아니지만 한 소셜커머스 업체에서는 애자일 방법론을 성공적으로 도입한 조직이 하나가 되어 문화를 바꾼 의미 있는 사례도 있습니다.
"한 사람의 꿈은 꿈이지만 만인의 꿈은 현실이 된다."는 말이 있습니다. 이러한 문화, 방법론 도입을 수동적으로 도입하는 것보다는 직급을 떠나 조직 전체가 이를 공감하고 이해하여 능동적으로 받아들이고 형성할 자세가 되어 있어야 한다고 생각합니다. 고객 중심으로 빠르게 변화하는 시장에 알맞게 대응하기 위해 Google, Facebook, Netflix 등 세계 유명 기업들도 개선된 개발 방법론들을 도입하여 시장에 발맞춰 나가고 있습니다. DevOps를 잘 적용했을 때 이전보다 배포주기 46배, 개선속도 440배, 복구시간 96배, 매출 20% 신장 등 좋은 효과를 얻고 있는 사례들이 있는 만큼 조직에 알맞게 DevOps, 또는 개선된 개발 방법론을 도입하여 업무의 효율성과 만족도 향상 그리고 빠르게 변화하고 있는 시장에서의 경쟁력을 가져보는 것은 어떨까요.


Posted by 人Co

2020/05/07 08:16 2020/05/07 08:16
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/344

신종 코로나바이러스와 진단키트


 
지난 COVID-19에 관한 몇 가지 포스팅에 이어서 오늘은 신종 코로나바이러스(COVID-19) 진단키트에 대하여 알아볼까 합니다.
 
최근 한국의 바이오 기업이 제조, 생산하는 진단키트들의 높은 정확도와 세계적 찬사를 받으며 그 존재감이 날로 커지고 있는데요, 이탈리아, 스페인, 프랑스, 독일과 같은 유럽 국가를 비롯하여 미국에까지 수출하고 있습니다. 특히 미국 수출건의 경우 까다롭기로 유명한 FDA까지 긴급사용승인을 받아 한국의 진단키트에 대한 대내외적 인지도가 어느 정도인지 가늠해볼 수 있습니다. 이렇듯, 진단키트가 무엇이기에 이토록 한국의 진단키트들이 찬사를 받는지, 신종 코로나바이러스에 진단키트가 중요한 이유가 무엇인지 해당 포스트를 통해 유익한 정보 많이 얻어가시길 바랍니다!




최근 신종 코로나바이러스(SARS-CoV-2)로 인해 많은 사람들이 진단키트에 대한 관심이 높아졌습니다. 진단키트는 각종 질병, 임신 여부, 건강 상태, 친자 확인 등 여러 분야에서 각 목적에 맞게 필요한 시약 및 도구 등을 포함한 생화학 실험 도구를 뜻합니다. 신종 코로나바이러스(SARS-CoV-2)가 전 세계 보건의료를 극심하게 뒤흔들고 있는 상황에서 한국은 진단키트를 통해서 신속 정확하게 진단하여 대처하고 있습니다.



특히 '방역 한류'라 불릴 정도로 국내에 여러 업체들(씨젠, 솔젠트, 시선바이오 등)에서 제작한 진단키트를 전 세계 곳곳에서 구하려고 힘쓰는 상황입니다. 전 세계에서도 여러 업체가 진단키트를 생산하나 각국의 법적 규제, 생산 라인, 기술 등의 문제로 국내산 진단키트만큼 생산량도 많지 않고 정확도도 낮은 경우가 많습니다. 진단키트에 활용되는 여러 가지 기술은 배양법, 항원-항체 반응, qRT-PCR 등이 있으며 현재 승인이 된 방법은 항원-항체 반응, qRT-PCR입니다.


 



 

 


일반적으로, 코로나바이러스는 전염성은 강하지만 병원성이나 치사율은 낮은 바이러스입니다. 그러나 신종 코로나바이러스(SARS-CoV-2)는 전염성도 강하면서 제법 치명적인 병원성을 가지는 특이 변종입니다. SARS-CoV-2의 WHO 공식 치사율은 4월 현재 약 6.7%입니다.



코로나바이러스 중에서 치사율이 1%를 넘기는 사례는 SARS(치사율 9.6%), MERS(치사율 38%) 정도를 제외하면 거의 없습니다. MERS와 SAS가 치사율이 더 높아 보이지만 SARS-CoV-2는 현재 진행형이며, 언제까지 진행될지 예상할 수 없다는 문제가 있습니다. 신종 코로나바이러스에 대한 백신 및 치료제가 개발되지 않은 상황에선 감염자를 빠르고 정확하게 판별해서 격리하고 치료하는 게 최선의 방법입니다.




진단키트를 제작하기 위해선 목표하는 질병을 일으키는 세균이나 바이러스 등에서 타 병원체와는 다른 유전자 변이를 찾아내야 합니다. 이를 위해선 생물정보 기술을 활용하여 유전자 변이를 더 쉽게 찾아낼 수 있습니다.





인체 내에 바이러스가 들어올 경우 IgM·G(Immunoglobulin M·G) 항체가 형성됩니다. 신종 코로나바이러스(SARS-CoV-2)가 몸속에 소량이라도 들어오면 이를 방어하기 위해 IgM·G 항체가 생성됩니다. 이렇게 생성된 항체와 결합하는 항원을 통해서 진단할 수 있습니다. 물론 신종 코로나바이러스(SARS-CoV-2)만 특이적으로 검사할 수는 없으나 의심 환자에 대한 광범위한 검사를 진행하여 1차 선별이 가능합니다. 이후 정밀 검사(qRT-PCR등)를 통해 최종 감염 여부를 확인합니다. 1차 선별을 유전자 방식으로만 진행하게 되면 격리된 검사시설과 고가의 장비, 시약, 검사를 수행할 전문 임상 병리사 등이 필요하므로 의심 환자에 대한 광범위한 검사가 어려운 점을 보완할 수 있는 장점이 있습니다.





qRT-PCR은 PCR 증폭 산물을 실시간으로 모니터링하는 해석 방법으로, 기존의 PCR 방법으로는 측정하기 어려운 정확한 정량이 가능합니다. 또한, PCR 원리를 기본으로 하고 있으므로 검출감도가 높고, mRNA 발현 해석이나 SNPs typing 등의 유전자 해석에 요구되는 필수 기술입니다. qRT-PCR의 실험 조작은 비교적 간단하며 종래의 PCR법과 거의 유사하다고 생각하면 됩니다. 현재 qRT-PCR을 기반으로 하는 진단키트에 경우 의삼환자에서 객담(가래)을 추출해 코로나19 바이러스가 있는지를 검사하는 방식으로 정확하게 검출할 수 있습니다. 특히 1~2일 걸리는 배양법에 비해 6시간 가량이면 결과를 도출할 수 있어 신속한 진단에 크게 이바지한 방법입니다.


신종 코로나바이러스(SARS-CoV-2)를 특정할 수 있는 유전자 N, E, S, RdRp, Orf1a, Orf1ab 중에서 최소한 두개 이상의 유전자를 증폭하는 Specific primer를 통해서 감염의 여부를 체크할 수 있습니다.



코로나19 환자에게서 위에 나열된 코로나19 바이러스의 모든 유전자를 완전히 다 검출해서 완벽하게 대조하면 좋겠지만, 그건 오래 걸리고 비용면에서도 효율성이 떨어지기 때문입니다. 그래서 국가마다 검출 유전자는 조금씩 다르지만, 보통은 가장 변이를 덜 일으킬 것으로 보이는 유전자를 최소 2개 이상 검사해서 둘 다 '양성' 반응이 나타나는지를 보고 코로나19 감염 여부를 판단하고 있는 겁니다.
 



신종 코로나바이러스(SARS-CoV-2) 감염증의 사례로 알 수 있듯이 진단키트를 활용하여 빠르게 감염자를 선별하고 격리하여 2차 피해를 예방하고 조기에 치료하는 방법이 제일 좋은 방법입니다. 또한, 병원체 (바이러스, 세균 등)은 빠르게 변이되고 돌연변이를 통해 또 다른 질병을 일으킬 수 있으므로 이에 우리는 생물정보 기술을 통해 신속하게 병원체를 연구 및 분석하여 기존의 병원체와의 차이점을 찾아내고 진단키트로 제작하여 대처해야 합니다.
현재 (주)인실리코젠에서는 신종 코로나바이러스(SARS-CoV-2) 연구를 포함한 감염병 연구를 위해 생물정보 솔루션인 CLC Genomics ProSuite(CLC Genomics Workbench를 포함한 바이러스 및 미생물 NGS 분석 패키지)와 Ingenuity Pathway Analysis(IPA, 유전자 네트워크 분석 솔루션)의 단기 라이선스를 지원하고 있으니 신청하시면 6월 15일까지 사용해보실 수 있습니다.


COVID-19 연구를 위한 단기 라이선스 신청하기


하루 속히 신종 코로나바이러스(SARS-CoV-2) 감염 확산이 종식되길 바라며, 앞으로 이러한 생물정보 솔루션들의 활용을 통해서 바이러스 및 병원체 발생을 조기에 감지하고 제어하는 공중 보건의 보호에 도움이 되길 바랍니다.

Posted by 人Co

2020/04/26 16:36 2020/04/26 16:36
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/343

신종 코로나 바이러스 (COVID-19)




요즈음 전 세계적으로 가장 이슈가 되고 있는 것은 '신종 코로나 바이러스'라고 할 수 있겠습니다. 우리는 '코로나 바이러스' 보다는 사스(SARS) 또는 메르스(MERS)가 좀 더 익숙할 텐데요, 이전에 유행했던 사스와 메르스도 코로나 바이러스로 인해 발생한 질환입니다.

코로나 바이러스는 종이 다양하며, 인간에게는 가벼운 증상만을 일으키고 병원성이 약한 것으로 알려졌는데요. 이번에 발생한, 흔히 말하는 우한 폐렴은 코로나 바이러스가 변이를 일으킨 신종 코로나 바이러스로 인간에게 매우 심각한 영향을 미치고 있습니다.

우한 폐렴은 무엇인가


이번에 발생한 우한 폐렴은 중국 우한시 화난 해산물 시장에서 처음 발생한 폐렴으로 그 전염성이 매우 강합니다. 원인체로 지목된 것은 신종 코로나 바이러스로 코로나 바이러스가 변이를 일으킨 것입니다. 우한시 화난 해산물 시장에서는 각종 다양한 야생동물들을 판매하고 거래가 되었는데, 이 야생동물을 숙주로 지내던 코로나 바이러스가 변이를 일으켜 인간에게 전파되었을 가능성이 가장 크다고 추정하고 있습니다. 현재까지 알려진 바로는 2015년도 유행했던 메르스보다는 치사율이 낮지만, 전파력은 매우 크다고 알려져 있고, 우리나라를 비롯하여 전 세계적으로 확진자가 계속해서 늘어나는 추세입니다. 신종 코로나 바이러스는 잠복기가 14일 정도로 다른 바이러스들에 비해 길며, 잠복기에도 강한 전파력을 가지고 있어 그 심각성이 더 커지고 있습니다.

코로나 바이러스는 무엇인가

코로나 바이러스(Coronavirus)는 코로나바이러스 과에 속하는 바이러스들을 지칭합니다. 전자현미경으로 보면 바이러스 표면이 돌기처럼 튀어나와 있는 것을 볼 수 있는데, 이것이 왕관처럼 생겼다고 해서 라틴어로 왕관을 뜻하는 'Corona'에서 파생되어 명명되었습니다.


[출처] "크리스천투데이", 2020년 1월 28일 발행, 2020년 2월 14일 접속, https://www.christiantoday.co.kr/news/328396

코로나 바이러스는 총 7종(HCoV 229E, HCoV NL63, HCoV OC43, HCoV HKU1, SARS-CoV, MERS-CoV, 2019-nCoV)이며, 4종은 가벼운 감기 증상만을 일으키지만 3종은 신종 코로나 바이러스를 포함하여 심한 호흡기 질환을 일으킵니다.

이번 우한폐렴의 원인으로 지목된 신종 코로나 바이러스는 초기 '2019-nCoV'로 명명되었지만 지난 11일 세계보건기구(WHO)가 정식 명칭을 'COVID-19'로 결정하였으며, 한글 명칭은 '코로나19'로 결정하였습니다. 'CO'는 코로나(Corona), 'VI'는 바이러스(Vrus), 'D'는 질환(Disease), '19'는 질환이 처음 보고된 연도를 의미합니다.

질병관리본부는 감염증 환자로부터 바이러스를 분리하는 데 성공했으며, 이를 백신이나 치료제를 개발하는 데에 과학계와 공유하기로 했습니다. 한국 분리주 이름은 'BetaCoV/Korea/KCDC03/2020'으로 붙어졌습니다. 질병관리본부가 공개한 바이러스 유전정보에 따르면 분리된 바이러스는 중국(우한, 광동), 프랑스, 싱가포르, 독일 등 국외에서 분리한 바이러스와 염기서열이 99% 일치하는 것을 확인하였으며, 아직까지 특이한 변이가 발견되지는 않았습니다.

현재까지 NCBI에 등록된 2019-nCoV(COVID-19) 염기서열은 50건 정도이며, 318건의 단백질 서열 정보와 112건의 논문이 발표되었습니다.


[2019-nCoV (Accession : NC_045512 / Description : Wuhan seafood market pneumonia virus isolate Wuhan-Hu-1, complete genome)]

CLC Genomics Workbench를 이용하여 COVID-19(2019-nCoV) 서열을 확인해 보았으며, 해당 서열을 이용하여 BLAST를 실행해 보았습니다.



[NCBI BLAST using CLC Genomics Workbench 20.0]

 

BLAST 결과 COVID-19(2019-nCoV) 중국, 미국을 제외하고 박쥐로부터 유래한 코로나 바이러스와 유사한 것을 볼 수 있었습니다.

인간에게 심한 호흡기 질환을 일으키는 3종의 바이러스(COVID-19(2019-nCoV), SARS-CoV, MERS-CoV)를 NCBI에 등록된 서열 중에서 랜덤으로 몇 개만을 추려 tree를 그려보았습니다.

아래와 같이 분류된 바이러스의 taxonomy 정보에 따라 tree가 그려지는 것을 확인할 수 있었습니다.


[Tree layout : Phylogram]


[Tree layout : Cladogram,  (Create Tree using CLC Genomics Workbench 20.0)]

 

COVID-19 발생 현황

미국의 존스홉킨스 대학에서 WHO, CDC, NHC의 자료를 토대로 신종 코로나 바이러스의 발생 현황을 실시간으로 확인할 수 있는 사이트를 개설하여 전 세계적으로 정보를 제공하고 있습니다. 아래의 사이트를 참고하면 좋겠습니다.


[출처] "Coronavirus COVID-19 Global Cases by Johns Hopkins CSSE", 2020년 2월 14일 접속, https://gisanddata.maps.arcgis.com/apps/opsdashboard/index.html#/bda7594740fd40299423467b48e9ecf6

최근까지 보도된 자료에 따르면 국내에서의 COVID-19의 확진자는 28명이며, 7명의 확진자(1,2,3,4,8,11,17번)가 퇴원하였습니다. 퇴원한 일부 확진자에게 에이즈(HIV) 치료제를 투약하여 치료 효과가 있었다는 기사들도 많이 보도되고 있지만, 이를 치료제로 쓸 수 있는 과학적인 근거는 아직까진 없다고 이야기합니다. 28번째 확진자가 나타난 이후 추가 확진자가 나오지 않고 있어, 더는 확진자가 늘지 않기를 바랍니다.

예방법

아직은 백신이나 치료제가 없는 신종 코로나 바이러스를 피할 방법은 없을까요? 바이러스의 전파는 주로 비말감염을 통해 이루어집니다. 비말감염이란 재채기나 기침으로 인해 튀는 침방울이 타인에게 접촉되어 감염되는 형태를 말합니다. 우리는 이런 비말감염만 예방하여도 신종 코로나 바이러스로부터 안전할 수 있습니다. 예방할 수 있는 가장 큰 방법으로는 마스크 착용과 손 씻기 입니다.

이처럼 개개인이 할 수 있는 예방법으로는 개인위생을 철저히 하는 방법밖에는 없을 것 같습니다. 질병관리본부에서 제공하는 신종 코로나 바이러스 감염증 예방 수칙을 토대로 나와 타인을 위해 위생에 신경 써주시길 부탁드리겠습니다.


[출처] "질병관리본부" 2020.2.12 발행, http://www.cdc.go.kr/gallery.es?mid=a20503020000&bid=0003





참고문헌

  1. https://terms.naver.com/entry.nhn?docId=5894275&cid=61232&categoryId=61232

  2. https://terms.naver.com/entry.nhn?docId=72940&cid=43667&categoryId=43667

  3. https://www.christiantoday.co.kr/news/328037

  4. https://blog.naver.com/asecino/221788068575

  5. https://news.sbs.co.kr/news/endPage.do?news_id=N1005648026&plink=ORI&cooper=NAVER

작성 : insilicoLab 송하나 선임
 

Posted by 人Co

2020/02/14 14:37 2020/02/14 14:37
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/338

소프트웨어 진흥법 개정안



당사는 생물정보 전문기업으로, 대량으로 생산되는 생물정보 데이터들을 다년간의 생물정보 경험을 바탕으로 연구자들이 필요로 하는 데이터베이스나 분석시스템을 구축하여 더 쉽고 편리하게 유용한 데이터를 생산하고 대용량 생물정보 데이터를 분석할 수 있도록 지원합니다.
생물정보에 특화된 시스템 구축 사업을 수행하고 있기에 관련 법령인 소프트웨어 진흥법 개정안에 대해서 알아보고자 합니다.

1. 개정 취지

현행 「소프트웨어산업 진흥법」은 1987년 12월 4일 「소프트웨어개발촉진법 (법률 제3984호)」으로 처음 제정되었고, 2001년 1월 21일 지식과 정보가 고부가가치를 창출하는 21세기 지식 정보화 사회에서 국가의 경쟁력 확대 기반인 소프트웨어 산업을 종합적으로 육성/발전시키기 위해 전면 개정되어 현재의 모습을 갖추었습니다. 이후 수차례의 전면 또는 부분 개정을 해왔지만, 오히려 소프트웨어 산업계의 요구를 충족하지 못하고 「누더기법」이라는 부정적인 평가를 받기도 했습니다.

여전히 문제로 남아있는 것은 발주기관의 요구사항 불명확성, 사업의 적정대가 미지급 등 공공소프트웨어사업의 불합리한 발주 관행이 여전히 남아 있어 소프트웨어 기업의 수익 저하와 개발자의 근로환경 악화 등 여러 가지를 꼽을 수 있습니다. 또한, IoT, AI, Big Data 등 4차 산업혁명 시대가 도래하였지만, 현행법은 산업적 측면만을 주로 규정하고 있어 융합시대의 경제/사회 변화에 대응하는 데 한계가 있어 보입니다.

이에 2018년 11월 30일 정부는 소프트웨어 인력 양성, 소프트웨어산업진흥기관 지정, 소프트웨어 창업 및 연구개발 지원 등을 통하여 소프트웨어 및 소프트웨어융합 분야를 아우르는 중앙 및 지역 차원의 소프트웨어산업 지원의 체계를 수립하고, 소프트웨어 안전을 확보하고 국민 대상의 소프트웨어 교육을 활성화하여 소프트웨어에 대한 이해를 높이는 등 소프트웨어 진흥을 위한 기반 및 문화를 조성하며, 국가기관 등의 소프트웨어 사업 추진 시 소프트웨어 사업자와의 계약이 공정하게 이루어지고 소프트웨어의 가치가 충분히 보장될 수 있도록 요구사항을 명확하게 하고 적정 사업 기간 및 대가를 산정하도록 하는 등, 소프트웨어 중심의 경제 사회 변화에 대응하고 국가 경제의 지속적인 발전을 도모하기 위하여 소프트웨어산업 진흥법 전부개정법률안(의안번호:2016944, 정부)을 제출하고 법률 제명을 「소프트웨어 진흥법」으로 변경을 추진하고 있습니다.

2. 개정 법안 주요 내용

현행법은 5장 48개 조문이나 개정안은 7장 9절 73개 조문으로 개편되었으며, 이 중 27개 조문이 새롭게 만들어졌고, 18개 조문을 현 상황에 맞게 수정되었습니다.


1) 주요 신설 내용

개정안은 법률로의 상향 및 조문 이관 등을 포함하여 총 27개의 조문이 신설되었으며 신설된 조문의 주요 내용은 아래와 같습니다.

① 지역별 특성에 기반한 소프트웨어산업의 진흥을 지원하고 지역산업과 소프트웨어와의 융합을 촉진하기 위하여 지역별 소프트웨어산업진흥기관을 지정하여 업무를 위탁할 수 있는 근거를 마련함(안 제9조).
② 소프트웨어기술 가치평가 및 금융지원 등 소프트웨어창업 활성화를 추진하고 소프트웨어창업을 지원하는 공공단체 등에 지방자치단체가 출연·출자할 수 있도록 함(안 제14조).
③ 소프트웨어 지식재산권 보호시책을 마련하고 계약상대자가 지식재산권을 행사하기 위해 소프트웨어산출물의 반출을 요청하는 경우 국가기관 등의 장은 원칙적으로 이를 승인하도록 하는 등 소프트웨어 지식재산권 보호 제도를 도입함(안 제17조 및 제58조).
④ 소프트웨어 인력을 양성하기 위해 교육·훈련, 경력개발 지원 등에 관한 시책을 수립·시행하고, 소프트웨어 전문 인재를 육성하기 위해 소프트웨어 전문교육기관을 설치·운영할 수 있도록 함(안 제22조 및 제23조).
⑤ 소프트웨어 분야 국가연구개발 사업을 실시하는 경우 원시코드 공개 개발 방식을 활용하거나 그 결과물을 공개소프트웨어로 배포하도록 하는 등 소프트웨어 연구 및 기술개발을 촉진하도록 함(안 제25조부터 제27조).
⑥ 소프트웨어융합을 활성화하여 다른 산업 분야의 혁신을 촉진하고 경쟁력을 강화할 수 있도록 정부의 노력 의무를 규정함(안 제28조).
⑦ 소프트웨어안전 확보를 위한 시책을 마련하고 소프트웨어안전 분야의 산업 진흥, 인력 양성 및 기술 연구 등의 사업을 추진할 수 있도록 함(안 제29조 및 제30조).
⑧ 과학기술정보통신부장관은 소프트웨어교육 콘텐츠의 개발 등 소프트웨어교육 사업을 추진하도록 하고, 국가와 지방자치단체는 초·중등학교의 소프트웨어교육을 진흥하기 위해 노력하도록 함(안 제31조부터 제33조).
⑨ 국가기관등의 장이 민간의 자본과 기술을 활용하여 공공부문과 민간부문이 협력하는 소프트웨어사업을 추진할 수 있도록 민간투자형 소프트웨어사업의 추진 근거를 마련함(안 제39조).


2) 주요 개정 내용

개정안은 총 18개 조문이 정비되었으며 조문 개정은 제1장(총칙) 3개, 제3장(소프트웨어산업의 기반 조성) 5개, 제5장(소프트웨어사업의 선진화) 8개 등이며, 개정된 조문의 주요 내용은 아래와 같습니다.

① 국가기관등의 소프트웨어사업 추진 시 소프트웨어프로세스 품질인증을 받은 자를 우대할 수 있는 근거를 마련함(안 제21조제4항).
② 국가기관등의 소프트웨어사업 영향평가 공시 의무를 규정하고 소프트웨어사업자가 영향평가의 재평가를 요청하는 경우 재평가하도록 함(안 제42조제2항 및 제3항).
③ 국가기관등의 소프트웨어사업 발주 시 요구사항 작성에 관한 분석 또는 설계를 분리하여 발주할 수 있도록 함(안 제43조제3항).
④ 중소 소프트웨어사업자의 사업참여 지원 규정에서 대기업 참여 제한의 예외 사업에 민간투자형 소프트웨어사업 등을 추가함(안 제47조).
⑤ 국가기관등의 소프트웨어사업 발주 시(유지·관리 제외) 소프트웨어사업자가 수행 장소를 제안할 수 있도록 함(안 제48조제3항).
⑥ 소프트웨어사업 과업변경심의위원회의 명칭을 ‘소프트웨어사업 과업심의위원회’로 변경하고 현행 재량사항으로 규정되어 있는 위원회 설치를 의무사항으로 변경함. 또한 국가기관등의 장은 특별한 사정이 없으면 위원회 심의결과를 계약 등에 반영하도록 하고 소프트웨어사업자가 위원회 개최를 요청하는 경우 국가기관등의 장은 특별한 사정이 없으면 이를 수용하도록 함(안 제49조제1항부터 제3항).
⑦ 하도급 제한 규정에서 사업금액의 50%를 초과하여 하도급하는 경우에도 사업금액의 전부를 하도급할 수 없음을 명시하고 재하도급 받은 사업을 다시 하도급할 수 없음을 규정함(안 제50조제1항 및 제3항)


3. 또 다른 시각

위의 내용처럼 이번 개정안을 살펴보면, 소프트웨어 사업자와 기술자에게 도움이 되는 내용이 많이 포함되어 있습니다. 그러나 일각에서는 아래와 같은 개정안의 일부 조항을 근거로 부정적인 시선을 내비치기도 하였습니다.

제34조(소프트웨어 역량의 검정) ① 과학기술정보통신부장관은 국민의 소프트웨어에 대한 관심을 확산시키고, 소프트웨어를 활용한 창의적 문제해결 능력을 육성하기 위하여 소프트웨어 역량을 검정할 수 있다.
② 제1항에 따른 소프트웨어 역량 검정의 방법ㆍ절차ㆍ내용ㆍ대상 및 시기에 관하여 필요한 사항은 대통령령으로 정한다.


위 조항의 일환으로 이미 정부와 한국소프트웨어산업협회(KOSA)에서는 ITSQF라는 새로운 기술자 등급제를 만들고 실시할 준비를 하고 있습니다. 새로운 기술자 등급제(ITSQF)는 4차산업 혁명 시대의 SW산업 경쟁력을 확보하기 위해 SW기술자들에 대한 경력 경로를 제공하는 등의 이점이 있으나, NCS와는 다른 등급체계로 타 산업과의 호환성과 범용성 측면에 제약이 있을 수 있고, SW기술자들의 직종 전환 시 경력연수가 줄어드는 문제가 발생하는 등의 보완이 필요한 부분이 많아 보입니다.

이번 소프트웨어진흥법 개정안 이외에도 정부는 부분 개정으로 2018년 12월 28일 공공소프트웨어사업 원격지 개발 활성화 방안 등을 심의/의결하였습니다. 원격지 개발 활성화 방안의 경우, 공공소프트웨어사업 발주 시 만연된 소프트웨어 개발자의 장기 파견 요구로 인한 기업의 부담과 개발자의 근로여건 악화를 개선하기 위한 것이었습니다.

이를 위해서, 공공소프트웨어 사업 수행 시 소프트웨어 기업이 제시하는 ‘작업장소’를 우선 검토하도록 법령을 개정하고, 원격개발 사업관리 안내서를 마련하고, 원격지개발 관리의 어려움을 해소하기 위해 발주처의 소프트웨어 사업관리 도구 활용을 확산하고, 전문기관을 통해 발주자에 대한 기술지원을 확대하며, 다양한 원격개발 환경에 대한 최소기준을 제시하여, 사업별 최적의 장소를 선택할 수 있도록 지원할 예정이라고 합니다.

신기술의 발전으로 인한 소프트웨어 영역의 확대, 소프트웨어 융합 환경에 부합하는 새로운 지원 환경을 조성하는 등 새로운 법안은 필요해 보입니다. 다만, 지난해 일부 개정한 원격지 개발 활성화 방안처럼 현재 드러나 있는 문제점들을 파악하여 개선하는 등 발주기관, 사업자, 개발자 모두에게 효과적으로 다가갈 수 있는 법안이 될 수 있었으면 좋겠습니다.

※ 참고사항(기술자 등급제 변경)

한국소프트웨어산업협회에서 2018년까지(시행일은 2019년 8월 31일까지)는 기술자의 등급(9단계)을 기준으로 평균 임금을 산정했었습니다. 2019년 9월 이후부터는 새로운 기술자 등급제(28단계의 직무별 등급, 자세한 내용은 참고문헌 5번 참고)를 바탕으로 기술자의 평균 임금을 산정한다고 합니다. 바라는 점이 있다면, 새로운 기술자 등급제(ITSQF)가 발주기관, 사업자, 개발자 모두의 의견을 현실적으로 반영하여 시장에 잘 적용될 수 있었으면 좋겠습니다.

참고문헌

  1. 의안정보시스템

  2. ‘소프트웨어 진흥법 개정안’... 국회 조속히 처리해야

  3. 누구를 위한 소프트웨어진흥법 개정인가?

  4. SW사업주 영리협회 KOSA를 위한 소프트웨어진흥법 개정과 신기술자등급제 ITSQF 반대합니다

  5. IT분야역량체계(ITSQF)란?

  6. 소프트웨어산업진흥법 전부 개정 촉구 서명 참여 안내

  7. [SW진흥법 좌담회]18년만에 개정된 법, 어떤 내용이 들어있나

작성 : BS실 박병준 선임


Posted by 人Co

2020/01/31 16:30 2020/01/31 16:30
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/337



« Previous : 1 : 2 : 3 : 4 : 5 : 6 : Next »