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

클라우드 네이티브 소개



최근 인공지능, IoT, 5G 등 첨단 IT 기술이 발전하면서 데이터의 양이 빠르게 증가하고 있습니다. 이러한 빅데이터를 다루기 위해서는 이를 저장하고 처리할 수 있는 넉넉한 IT 자원이 필요합니다. 하지만 이를 일반 기업에서 구축하기에는 비용 등의 문제가 많이 발생합니다. 이런 문제를 해결하기 위해 많은 기업이 직접 데이터 센터를 구축하기보다 클라우드를 도입하기를 희망하고 있습니다.

오늘 블로그는 클라우드 환경을 최대한 활용할 수 있도록 애플리케이션을 구축 및 실행하는 방법인 클라우드 네이티브에 대하여 소개하고자 합니다.




기존의 온프레미스 환경과 클라우드 환경은 달라서 애플리케이션을 구축하는 방법을 변경할 필요가 있습니다. 이때 클라우드 환경을 최대한 활용할 수 있도록 애플리케이션을 구축 및 실행하는 방법을 클라우드 네이티브라고 합니다. 즉, 클라우드 네이티브는 클라우드 컴퓨팅에 최적화된 애플리케이션을 개발하기 위한 방법입니다.

클라우드 컴퓨팅 환경의 가장 큰 장점은 민첩성과 확장성입니다. 기존의 온프레미스 환경에서 시스템을 확장하기 위해서는 직접 물리적인 장비 구매와 설치 등의 활동을 해야 하므로 큰 비용과 시간이 들었다면, 클라우드 환경에서는 단지 몇 가지 설정하는 것만으로 빠르게 시스템을 확장할 수 있습니다. 이러한 특징에 의해 클라우드 환경은 온프레미스 환경보다 시스템 변경이 자유롭습니다.

그러나 클라우드 환경 내에서 실행되는 애플리케이션이 기존의 온프레미스 환경에서 사용되는 전통적인 방법으로 개발되었다면, 시스템이 변경될 때마다 애플리케이션의 소스코드나 설정 등을 직접 변경해야 할 것입니다. 클라우드 환경 특성상 시스템의 스펙이 자주 변경될 수 있는데 애플리케이션이 이를 민첩하게 대응하지 못한다면 클라우드 환경의 장점을 제대로 활용하지 못하는 것입니다. 따라서 클라우드 환경을 제대로 활용하기 위해서는 애플리케이션 또한 클라우드 환경에 맞게 개발해야 하는데 이때 사용되는 방법이 클라우드 네이티브입니다.





[Fig. 1] CNCF
CNCF(Cloud Native Computing Foundation)에서 제시하는 클라우드 네이티브 참조 아키텍처에 따르면 클라우드 네이티브한 애플리케이션을 개발하기 위해서는 크게 네 가지 주요 기술이 필요합니다.

[Fig. 2] 대표적인 컨테이너 기술 구현체인 Docker
[Fig. 3] 대표적인 컨테이너 오케스트레이션 기술 구현체인 Kubernetes
(https://kubernetes.io)

첫 번째는 컨테이너 기술입니다. 가상화 기술의 일종으로 이를 활용하면 애플리케이션을 구동 환경까지 가상화하여 패키징 할 수 있습니다. 이를 통해 구동 환경의 일관성을 유지할 수 있으므로 애플리케이션을 안전하게 배포하고 운영할 수 있습니다. 컨테이너 오케스트레이션 기술과 함께 사용하면 컨테이너 배포 및 확장 등을 자동화할 수 있습니다.

[Fig. 4] MSA
(https://www.nginx.com)

두 번째는 MSA(Micro Service Architecture)입니다. 기존의 모놀리틱한 서비스를 여러 마이크로 서비스 블록으로 나누고 RESTful API 등을 통해 서로 상호 작용하도록 구성하는 방법입니다. MSA를 활용하여 서비스를 구축하면 서비스의 복잡도가 감소하고 확장성과 재사용성이 증가합니다.

[Fig. 5] DevOps
(https://www.nginx.com)

세 번째는 DevOps입니다. DevOps는 개발(Development)과 운영(Operations)의 합성어로서, 애플리케이션을 빠른 시간에 개발 및 배포하고 운영하기 위한 방법이자 조직 문화라고 할 수 있습니다. DevOps를 통해 개발 조직, 운영 조직, 품질 조직들은 공동의 목표를 설정하고 이를 달성하기 위한 자동화된 도구 및 시각화된 지표를 활용하여 목표를 달성합니다.

[Fig. 6] CI/CD
(https://www.nginx.com)

네 번째는 CI/CD입니다. 애플리케이션 개발 단계를 자동화하여 애플리케이션을 더 짧은 주기로 고객에게 제공하는 방법입니다. CI/CD는 각각 지속적인 통합(Continuous Integration)과 지속적인 배포(Continuous Delivery)를 뜻합니다. 새로운 코드 통합과 테스트 및 배포에 이르는 애플리케이션 개발 프로세스를 자동화하고 모니터링하는 것이 목표입니다.




위에 언급한 기술들을 적절히 활용한다면 서비스를 여러 애플리케이션으로 분산할 수 있고, 각각의 애플리케이션을 유연하고 민첩하게 배포 및 확장할 수 있게 되므로 클라우드 컴퓨팅 환경을 제대로 활용할 수 있게 됩니다. 이 밖에 더 깊은 내용으로는 12-factors, Cloud Native Landscape 등이 있습니다.

최근 국내외 기업들의 클라우드 전환이 가속화되고 있습니다. IDC(International Data Corporation)에 따르면, 2025년에는 90%의 애플리케이션이 클라우드 네이티브로 구동된다고 합니다. 즉, 클라우드 컴퓨팅이 대세를 넘어 필수가 되어가고 있다는 것입니다. 이를 대비하기 위해서는 클라우드 네이티브 기술의 확보는 선택이 아닌 필수라고 생각됩니다.





작성 : 대전지사 신동훈 개발자

Posted by 人Co

2021/01/17 16:48 2021/01/17 16:48
Response
No Trackback , No Comment
RSS :
https://www.insilicogen.com/blog/rss/response/369

코로나19로 인해 변화된 직장 문화


2020년 가장 큰 이슈는 당연 코로나19일 것입니다. 2020년이 마무리되어 가는 이 시점에 아직도 코로나19의 확산세를 꺾지 못하고 있는데요, 코로나19는 우리의 일상에 많은 변화를 주었을 뿐 아니라 직장 문화도 변화시켰습니다.

아래의 설문조사 결과와 같이 많은 기업의 근무형태와 사무실 환경, 채용 방식 등이 변함을 알 수 있는데요,


[Fig.1] 코로나19로 인한 기업 문화의 변화
(http://biz.khan.co.kr/khan_art_view.html?artid=202012170945001&code=920100)

이처럼 우리 인실리코젠의 문화도 많은 변화가 있었습니다. 그럼 그 변화를 한번 알아볼까요?





[Fig.2] 키오스크를 설치하여 활용하고 있는 인실리코젠의 직원

저희 인실리코젠에서는 코로나 이슈 발생 직후 체온 측정과 손 소독이 가능한 키오스크를 구매하여 회사 입구에 비치하였습니다. 분명 바이러스 예방 차원에서 구매한 이유가 가장 컸지만, 해당 키오스크 화면을 활용해 사내 직원들이나 회사에 방문하는 외부 인사들에게 메시지를 전달하는 창구로도 적극적으로 활용하고 있습니다. 덕분에 밋밋했던 회사 입구의 분위기가 많이 바뀐 모습입니다^^
키오스크의 화면은 아래와 같이 평상시, 회사기념일, 크리스마스, 새해 인사, 외부인 환영인사 명언 등 주제별로 다르게 적용되고 있는데요. 이러한 디자인은 모두 인실리코젠의 IX팀에서 적극적으로 아이디어를 내어 제작하고 있습니다.


[Fig.3] 키오스크에 적용되고 있는 주제별 화면 디자인




코로나19가 확산함에 따라 인실리코젠에서 가장 먼저 시작한 것은 시차 출근제입니다. 사람 간 비말을 통해 감염되는 문제를 막기 위해 시행한 제도입니다. 우리 사무실은 29층의 고층에 있어 엘리베이터를 필수로 이용해야만 하죠. 마스크는 당연히 착용하지만, 엘리베이터라는 폐쇄된 좁은 공간을 통해 코로나19의 감염이 우려됨에 따라 사람이 몰리지 않는 시간을 이용하여 출·퇴근을 하고 있습니다.




[Fig.4] 재택근무 시행으로 한적해진 사무실

바이러스가 활기를 치는 겨울이 다가오면서 무증상자로 인해 코로나19 확산세가 증가하고, 이에 따라 사회적 거리두기 단계가 격상하면서 시차 출근제와 함께 재택근무도 병행하고 있습니다. (저 역시 워킹맘으로서 재택근무를 통해 업무를 하고 있는데요,) 회의가 필요할 땐 Webex 라는 화상회의 플랫폼을 이용하여 온라인 회의를 진행하기도 합니다. 이전부터 사용해오던 Webex가 요즘 회사 내에서 가장 빛을 발하고 있는 플랫폼이라고 해도 과언이 아닐 것 같네요;




[Fig.5] 코로나19 이슈 이후로 웨비나로 전환된 인코세미나

이제는 비대면 시대로 접어들었습니다. 이미 이전부터 온라인의 중요성을 강조하셨던 사장님의 말씀이 가슴 깊이 와 닿았고, 그동안 차곡차곡 쌓아놓고 있던 온라인 콘텐츠들이 그 힘을 보태주고 있습니다. 저희는 교육 사업으로 주로 오프라인 대면 실습 교육을 통해 생물정보 솔루션을 활용한 정기적인 人CoSEMINAR를 진행하고 사용자들과 교류하였습니다. 이런 세미나들을 이제는 온라인으로 전환하여 시간, 장소에 구애받지 않고 쉽게 접근할 수 있도록 추진하였습니다. 장소의 한계로 많은 분이 참여하지 못했던 오프라인 세미나에 비해 많은 분이 관심과 참여를 해주시게 되었습니다.




인실리코젠에서는 1년에 4번의 큰 행사(人CoPLAY(단합대회), Culture Day, 창립기념일, 송년회 및 종무식)가 있습니다. 올해는 이 행사들을 진행하지 못했었는데요. 창립기념일 및 송년회 행사는 온라인으로 각자의 자리에서 참석하게 되었습니다. 다 함께 모여 기쁨의 덕담을 나누지 못하게 되었지만, 그래도 온라인으로나마 행사를 진행할 수 있다는 것에 감사함을 느끼고 있네요.


[Fig.6] 창립기념일 행사


[Fig.7] 종무식 및 21년 시무식 행사




인실리코젠에서는 하계, 동계 방학에 진행하는 人CoINTERNSHIP 프로그램이 있습니다. 저희 인턴십 프로그램은 기업과 연구기관에서 요구하는 생물정보와 관련된 기초 기술교육과 사내 현장실습을 통해 조직 생활을 경험해 볼 수 있도록 구성되어 있습니다. 생물정보라는 큰 분야 아래에 다양한 업무들이 나누어져 있으며, 각 부서의 업무를 경험하여 향후 진로 결정에 도움을 줄 수 있도록 하는 것이 목표입니다. 2020년 하계 방학엔 제11기 人CoINTERNSHIP이 코로나19의 영향에도 무사히 마무리되었는데요. 아침마다 발열 체크를 진행하고, 교육 진행 시에는 거리두기를 통해 감염을 방지할 수 있도록 하였습니다. 무엇보다도 학생들의 열정이 코로나19가 다가올 수 없을 정도로 대단했다고 생각됩니다.

[Fig.8] 人CoINTERNSHIP 진행 사진
이에 힘입어 동계 방학에도 제12기 人CoINTERNSHIP을 진행하고자 모집을 하였지만, 수도권 코로나19 재확산과 사회적 거리두기 격상으로 아쉽게도 이번 인턴십 프로그램은 진행하지 못하게 되었습니다. 인턴십을 진행하면서 열정 가득한 학생들을 보며 저 자신을 되돌아보는 계기가 되곤 했는데, 참 아쉬운 상황이 되어버려 속상한 마음을 감출 수가 없네요.. 많은 학생의 지원이 있었지만, 모두의 건강과 안전이 최우선이기에 다음 하계 방학에 진행할 인턴십을 기약하고자 합니다.




여기까지 코로나19로 인해 변화된 인실리코젠의 문화를 살펴보았습니다. 이제는 코로나19 이전으로 돌아갈 수 없을 거라는 말이 있듯이 포스트 코로나 시대에 맞춰 변화되는 문화를 받아들이고 이에 대응해나가는 기업들이 더 큰 성장을 할 수 있지 않을까 싶습니다. 모두가 힘든 시기이지만 이 또한 잘 헤쳐나갈 수 있으리라 생각됩니다. 우리 모두 힘냅시다.



작성 : insilico Lab 송하나 선임컨설턴트

Posted by 人Co

2021/01/01 22:19 2021/01/01 22:19
Response
No Trackback , No Comment
RSS :
https://www.insilicogen.com/blog/rss/response/368



오늘날 전 세계에서 하루 동안 생성되는 데이터의 양은 약 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://www.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://www.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://www.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://www.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://www.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://www.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://www.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://www.insilicogen.com/blog/rss/response/343



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