23 9월 2022

[profit] 돈의 역설… 일본서 연봉 꼴찌 이 도시, 행복도는 1위였다 [왕개미연구소]

[profit] 돈의 역설… 일본서 연봉 꼴찌 이 도시, 행복도는 1위였다 [왕개미연구소]

연봉 꼴찌 오키나와, 행복지수는 최고
돈 잘버는 도쿄는 47개 도시 중 행복도 46위

살다 보면 행복은 돈에 따라 요동치는 것 같다. 실제로 꽤 많은 불행이 돈 때문에 일어난다. 그런데 돈이 많다고 해서 무조건 행복한 것도 아니다. 일본의 행복지도를 보면서 드는 생각이다.

지난 달 일본 브랜드종합연구소는 전국 47개 도도부현 주민들의 ‘행복지수’가 가장 높은 도시를 조사해 발표했다. ‘행복지수’란, ‘당신은 행복합니까’란 질문에 대한 대답을 수치화한 것이다. 지난 5월 지역별로 성인 남녀 500명씩, 총 2만2973명을 대상으로 실시했다.

이 결과에 따르면, 오키나와현에 사는 사람들의 행복지수가 77.4점으로 가장 높았다. ‘매우 행복하다’는 응답이 전체 응답자의 42%에 달했고, ‘약간 행복하다’는 대답은 36%였다. 오키나와 주민 10명 중 8명은 행복하다고 느끼며 사는 것이다. ‘매우 불행하다’ 등 부정적인 응답은 전체의 8%에 그쳤다.

 
일본에서 행복도가 가장 높은 곳은 오키나와현이었다. 사진은 오키나와현의 시모지시마 공항./조선DB

반면, 행복지수가 낮은 지역은 치바현, 가나가와현, 도쿄도 등 수도권 근처였다. 전국 평균인 70.1점에 크게 못 미치는 65점 안팎이었다.

그런데 재밌게도 행복지수 하위권인 이들 지역은 평균 연봉(후생노동성 자료)으로 따지면 최상위권이었다. 행복지수 최하위권인 도쿄는 평균 연봉 585만엔으로 전국 1위였고, 역시 행복지수가 낮은 가나가와현은 연봉 542만엔으로 전국 2위였다.

그렇다면 행복지수 전국 1위를 찍은 오키나와의 연봉 수준은 어떨까? 오키나와의 평균 연봉은 367만엔으로 전국 꼴찌였다. 일본은 시간당 최저임금도 지역별로 다른데, 행복도시 1등인 오키나와의 최저임금은 853엔으로 전국 꼴찌였다. 도쿄의 최저임금은 1072엔으로 전국 최고였다.

사이토쇼분(齋藤祥文) CENTURY21글로벌코에이 대표는 조선닷컴과의 인터뷰에서 “오키나와는 전국 최하위 연봉이지만, 아름다운 바다와 풍요로운 자연, 1년 내내 따뜻하게 지낼 수 있는 개방적인 환경을 갖추고 있다”며 “오키나와에 나답게 살기 위해 이주한 사람들이나 시민 자부심(civic pride)이 있는 사람들이 많은 것도 행복도를 높인 요인일 것”이라고 말했다.

“지금은 일하느라 도쿄에 살고 있지만, 저도 매년 여름 휴가 때는 가족과 함께 오키나와로 여행을 떠납니다. 그때마다 언젠가 오키나와에 이주해서 살아봐야지 하고 꿈꾼답니다.”(사이토쇼분 대표)

 
돈이 많으면 행복할까? 답하기 어렵지만 돈이 한 푼도 없으면 삶이 고달파질 것이란 건 확실하다./그래픽=이민경 조선디자인랩 기자

일본의 행복지도 순위에 나오는 것처럼, 행복과 돈은 역(逆)상관 관계에 있는 것일까? 로버트 프랭크 코넬대 교수에 따르면, 보통 사람들의 행복은 절대적인 부가 아니라 상대적인 부에 의해 좌우된다. 가령 내가 돈이 웬만큼 있어 국산차를 샀어도 친구가 나보다 더 비싼 수입차를 타고 있으면 행복해지긴커녕 오히려 상대적 박탈감을 느낀다. ‘얼마나 버느냐’가 아니라 ‘남보다 얼마나 더 버느냐’가 행복의 척도가 되기 때문이다.

도쿄는 평균 연봉이 가장 높은 부자 도시이지만, ‘뛰는 놈 위에 나는 놈 있다’라는 말처럼, 항상 나보다 더 많이, 더 크게 소유한 누군가가 있게 마련이다. 타인과 비교하기 시작하면 행복도는 떨어진다. 돈이나 물질이 행복도의 판단 잣대라면, 남보다 더 많이 손에 넣기 위해 평생 경쟁해야 해서 인생은 피곤해질 수 밖에 없다.

 
평균 연봉은 전국 1위이지만 행복지수는 최하위권인 도쿄. 사진은 도쿄 시내의 번화가인 신주쿠역./조선DB

그렇다면 한국에서 행복지수가 가장 높은 곳은 어디일까? 서울대 행복연구센터가 우리나라 국민 104만명을 대상으로 조사해 지난 2019년 발표한 ‘대한민국 행복지도’에 따르면, 전국 17개 시도 중에서 세종시 거주자들의 행복지수가 가장 높았다. 세종시는 거대한 공무원 도시여서 직업 안정성이 높다. 반면 전국에서 행복도가 가장 낮은 곳은 인구밀도가 높은 인천과 서울이었다. <(조선닷컴)>

[출처] https://www.chosun.com/economy/money/2022/09/23/JZK5T4MVJBGOHMZRAERWU4HDN4/

 16 total views,  4 views today

22 9월 2022

[IT] 개발자에게 물어봤습니다: ① 함께 일하고 싶은 개발자

[IT] 개발자에게 물어봤습니다: ① 함께 일하고 싶은 개발자

우리가 알고 있는 대부분의 기업이나 서비스는 한 명의 힘으로 운영되지 않습니다. 스티브 잡스 하면 가장 먼저 떠오르는 애플의 아이폰조차 스티브 잡스 혼자만의 힘으로 만들어진 것이 아닙니다. 지금 이 시각에도 다양한 직무의 사람들이 서로 협력하며 서비스를 발전시켜나가고 있으며, 특히 IT 기업의 경우 PM(혹은 기획자), 디자이너, 그리고 개발자가 함께 일하는 경우가 많습니다. 그렇다면 각 직무의 인재들이 원활하게 협력하기 위해서는 어떠한 역량이 필요할까요?

이번 시리즈에서는 다양한 직무와 협업하는 IT 기업 직장인 중에서 개발자가 함께 일하고 싶어 하는 동료에 대해 다루고자 합니다. 오늘은 그중에서 개발자가 생각하는 ‘함께 일하고 싶은 개발자’에 대해 살펴볼 예정입니다. 여러 의견을 듣기 위해 2년 차 개발자부터 10년 차 개발자까지 총 8명의 개발자와 인터뷰를 진행해 보았습니다. 과연 개발자는 어떤 개발자와 함께 일하고 싶어 할까요?

개발자 질문
<출처: Unsplash>
 

개발자 사이의 협업

프로그래밍의 범위가 넓은 만큼, 개발자의 종류도 매우 다양합니다. 흔히 생각하는 웹이나 앱 분야의 개발자를 비롯해서 서버, 게임, 인프라, AI, 머신 러닝, 블록체인 등 다양한 분야의 개발자가 존재합니다. 그래서 개발자 간에 협업하는 상황도 각양각색인데, 대표적으로 서버 개발자가 작성한 API 코드를 앱이나 웹 개발자가 사용하는 경우가 있습니다. 예를 들어 회원가입 요청 코드를 서버 개발자가 완성하면, 웹 개발자가 이를 활용하여 아이디와 비밀번호 등을 받아서 회원가입 절차를 수행할 수 있도록 웹페이지를 구성하는 것입니다.

사실 다른 분야보다 같은 분야의 개발자 간에 협업하는 경우가 더 많습니다. 하나의 기능을 나눠서 작업하거나, 같은 코드 베이스 내에서 서로 다른 기능을 개발하는 것처럼 말이죠. 코드를 작성하는 것 외에 라이브러리와 아키텍처를 결정하거나 규칙(컨벤션)을 설정하는 과정에서도 개발자 사이에 협업이 활발하게 이루어집니다.

가령 자바스크립트 개발자 중에서 어떤 사람은 세미콜론(;)을 붙이는 것을 선호하고, 어떤 사람은 아예 붙이지 않는 것을 선호합니다. 몇몇 개발자는 ‘서로 다른 방식이 섞여 있으면 작업하기 어려우니 하나를 결정해서 컨벤션으로 정하자’고 하고, 또 다른 개발자는 ‘컨벤션을 정하고 지키는 것도 리소스가 소비되니 개인이 편한 방식으로 작성하자’고 합니다. 단순한 예시를 들었지만, 이처럼 개발자는 수많은 결정 사항과 작업에 대해 다른 개발자들과 소통하고 협업합니다.

협업이 잦은 만큼 ‘함께 일하고 싶은 개발자’가 되는 것은 매우 중요한데, 개발자 사이에 소통의 어려움이 발생하는 상황은 다음과 같습니다.

1) 잘 모르는데 아는 척 넘어가는 사람

“다양한 캐릭터의 개발자가 있는데 보통 커뮤니케이션이 원활하지 않을 때 함께 일하기 어려운 것 같아요. 커뮤니케이션이 어려운 상황에는 여러 가지가 있는데, 제가 가장 크리티컬 하다고 생각하는 것은 ‘잘 모르는 데 아는 척 넘어가는 것’이에요. 몰라도 아는 척 어물쩍 넘어가는 동료와는 일을 분배할 수 없겠다는 생각이 들더라고요. 그런 분을 믿고 일을 부탁하거나 그분의 작업을 믿기 어렵게 되는 것이죠.”

함께 일하는 데 있어서 신뢰는 매우 중요한 것 같습니다. 모르는데 아는 척 넘어가는 동료가 있으면 그의 솔직함과 역량에 대해 신뢰할 수 없게 되고, 한 번 신뢰가 깨지면 어떤 일이든 함께 하기 어려워지게 됩니다. 결국 그 순간의 부끄러움을 벗어나기 위해 아는 척을 하는 것이 자신의 성장과 자신에 대한 동료의 신뢰를 모두 저버리는 행동이 될 수 있습니다.

2) 동료와 프로덕트를 고려하지 않는 사람

“개발하는 것을 좋아하고 잘하시는 분과 함께하면 좋은 영향을 많이 받는 것 같아요. 그러나 개발에만 너무 집중해서 다른 동료들은 안중에 없거나 프로덕트의 성공과 멀어지는 개발을 하는 분이면 함께 일하고 싶지 않더라고요. 개발을 통해 고객 가치를 만드는 것을 중요시하는 분과 함께하고 싶어요.”

아무리 개발을 잘해도 그 방향이 동료와 프로덕트에 맞지 않으면 함께하고 싶지 않다는 의미입니다. 개인적으로 저 역시 개발은 좋은 가치를 만들기 위한 수단이라고 생각합니다. 수단을 잘 활용하는 것은 매우 중요한 역량이지만, 수단을 목적보다 중요시하면 안 된다고 생각합니다.

함께 일하고 싶은 개발자

그렇다면 개발자들이 함께 일하고 싶어 하는 개발자는 어떤 유형이 있을까요? 이 질문에 개발자들은 아래와 같이 답변했습니다.

함께 일하고 싶은 개발자
<출처: Unsplash>

1) 병목을 줄일 수 있는 사람

“우선 대부분 제품 조직의 아웃풋에서 가장 시간이 오래 걸리는 직무는 개발자라고 생각해요. 기능 요구사항을 가장 마지막에 전달받으면서도 기술 구현 과정에서 맞닥뜨리는 문제에 따라서 구현이나 설계가 달라질 수 있기 때문이에요. 또 개발자는 기술 구현 상황에 따라 기획이나 디자인 변경을 역으로 요청해야 할 때도 많은데요. 이렇게 변경이 필요한 사항을 최대한 이전 단계에서 알아보고 커뮤니케이션을 시작하는 것이 아웃풋을 극대화할 수 있는 부분인 것 같아요. 결국 전달받을 내용이 도달하기 전에 미리 할 수 있는 작업을 쪼개서 준비해두고, 기획과 디자인에 대해 빠르게 피드백하는 것이 개발자의 중요한 역량이라고 생각해요.”

대부분의 제품 조직에서는 기획자, 디자이너, 개발자 순서로 작업이 이루어집니다. 기획자가 기획 문서를 작성하면 디자이너가 디자인 파일을 만들고, 마지막으로 개발자가 기획 문서와 디자인 파일을 보고 구현하는 방식입니다. 결국 프로세스의 마지막에 위치한 개발자가 제품 개발 타임라인에서 중요한 위치를 차지하게 됩니다. 이때 프로세스의 이전 단계들이 끝나는 것만 기다리지 않고 미리 준비해서 커뮤니케이션하면 팀의 생산성을 높이는 개발자가 될 수 있을 것입니다.

2) 팀플레이가 가능한 사람

“팀플레이가 가능한 사람과 함께 일하고 싶어요. 할 줄 아는 게 개발이고 잘하는 게 개발이라서 그냥 관성적으로 개발하는 사람이 아니라, 같은 목표를 갖고 그 목표에 공감하고 같이 즐기면서 성장하는 사람이면 좋을 것 같아요.”

결국 핵심은 함께한다는 사실입니다. 개발을 좋아하고 잘하는 것도 물론 중요하지만, 함께 소통하고 성장하며 공동의 목표를 위해 나아가는 사람이 팀에게 있어서 필요한 개발자라고 생각합니다.

3) 함께 성장하기 위해 노력하는 사람

“개발자라면 대부분 개인의 성장은 신경 쓴다고 생각해요. 그러나 팀과 팀원 모두의 성장까지 신경 쓰는 개발자는 상대적으로 적은 것 같아요. 좋은 팀원들과 이야기하고 논의하다 보면 나도 발전하게 되는데, 이런 선순환을 생각하며 팀 전체의 성장을 위해 노력하는 개발자와 함께하고 싶어요.”

함께 성장한다고 하면 거창하게 들리지만, 사실 함께 성장하는 방법은 매우 다양합니다. 내가 읽었던 좋은 개발 아티클을 팀원들에게 공유하고, 코드 리뷰를 하고, 열린 자세로 논의하는 등 이 모든 것이 나와 팀원의 성장에 도움이 되는 과정입니다. 어떻게 하면 이런 과정을 활성화하고 발전할 수 있는지 고민하는 동료가 있다면, 그 팀은 시너지를 내어 빠르게 성장할 것입니다.

성장하기 위해 노력하는 개발자
<출처: Unsplash>

4) 근거와 함께 의견을 설득하는 사람

“똑똑한 사람이면 좋겠어요. 사실 똑똑하다는 것이 많은 것을 담고 있는데, 문제 해결을 잘하는 것도 똑똑함이고 다른 사람의 제안을 열린 마음으로 받아들이는 것도 똑똑함이고, 자신의 의견을 근거와 함께 명확하게 설명하는 것도 똑똑함이라고 생각해요. 특히 근거와 함께 의견을 설득하는 것이 중요하다고 생각하는데, 가끔 보면 신기술을 무작정 좋아하는 개발자가 있는 것 같아요. 예를 들어 타입스크립트(Typescript)가 이제 막 나왔을 때 큰 이유를 설명해주지 않고 신기술이라는 이유만으로 도입했던 적이 있었어요. 당시에는 멀쩡한 코드가 에러로 표시되는 등의 버그가 많아서 불편했는데, 제대로 된 설득 과정이 없이 이러한 불편함을 겪게 되니 더욱 결정에 공감을 하지 못했던 것 같아요. 다행히 지금은 타입스크립트가 편하고 좋지만, 왜 도입하는지 저를 비롯한 다른 동료들에게 설명이 되었으면 좋았을 것 같다는 생각이 들어요.”

서로 다른 의견이 있을 때는 설득하는 과정이 필요합니다. 만약 설득의 과정 없이 결정을 통보받기만 하면, 실제로 작업을 하는 개발자는 금세 일에 의욕과 열정을 잃어버릴 수 있습니다. 반대로 적절한 근거와 함께 설득하는 과정을 거친다면, 설령 자신의 의견이 받아들여지지 않더라도 결과를 납득할 수 있게 됩니다. 최종 선택은 의사 결정권자가 하더라도, 결국 팀원들과 동일한 방향성을 유지하기 위해서 적절한 설득의 과정이 필요한 것입니다.

5) 본인의 생각이 있는 사람

“본인의 생각이 있는 개발자와 일하고 싶어요. 저는 면접에 들어갈 때마다 정답이 없는 질문을 준비해서 본인의 생각을 갖고 있는지 테스트를 해보는 편이에요. 인터넷이나 책에서 공부할 수 있는 것들은 사실 자기 생각이 아니더라도 얼마든지 말할 수 있어요. 그러나 정답이 없는 것들은 생각해보지 않으면 말하기 어려울 거예요. 가령 새로운 서비스를 시작할 때 MySQL이랑 NoSQL 중에서 어떤 선택이 좋을지 물어보는 것이죠. 이런 질문에는 정답이 없다고 생각하는데, 정답이 없는 질문에 납득이 가는 답변을 할 수 있는 개발자와 함께하고 싶어요.”

스택이 어느 정도 갖춰진 기업이나 환경에서 개발하다 보면 큰 고민 없이 개발하는 경우가 종종 있습니다. 그러나 본인의 생각 없이 단순히 개발만 하다 보면 급변하는 기술 생태계를 쫓아가지 못할 수 있습니다. 평소에 여러 기술과 스택에 대해 고민하지 않았던 사람은 새로운 기술을 어떻게 받아들여야 하는지 모르기 때문입니다. 당연하고 익숙한 기술이라도 가끔은 한 발짝 뒤에서 고민하고 판단한다면 더 깊은 생각을 가진 개발자로 성장하게 될 것입니다.

6) 말 잘하고 글 잘 쓰는 사람

“말 잘하고 글 잘 쓰는 개발자와 일하고 싶어요. 개발 실력이 좋은 것을 전제했을 때 이 사람이 얼마나 다른 사람에게 자신의 생각을 표현하고 설득할 수 있는지가 중요하다고 생각해요. 그런 능력을 갖추고 있는 사람과 함께 일하면 의견을 주고받기도 편하고 시너지도 잘 나는 것 같아요.”

위에서도 설득의 중요성에 대해서 언급한 적이 있습니다. 그러나 설득하겠다는 의지만 있고, 생각을 잘 전달할 수 없다면 설득의 과정이 매끄럽지 않을 것입니다. 원활하게 소통하고 싶다면 이야기를 듣는 다른 개발자가 얼마나 제대로 이해할 수 있는지 고려하는 자세가 필요합니다.

협업하는 동료를 원한다

개발자가 함께 일하고 싶어 하는 개발자에 대한 이야기를 쭉 들어봤는데, 사실 대부분의 이야기가 개발자에만 국한되는 내용은 아닌 것 같습니다. 개발적인 역량은 기본적이라고 생각해서인지 모르겠지만, 대부분의 개발자는 개발적인 역량보다는 함께 협업하는 측면을 더욱 고려하는 것으로 보입니다. 그런데 과연 다른 직군에 대해서도 개발자의 생각이 비슷할까요? 다음 편에는 개발자가 ‘함께 일하고 싶은 디자이너’에 대해 알아보도록 하겠습니다.

[출처] https://yozm.wishket.com/magazine/detail/1702/

[졸리운곰 曰] 소프트 스킬, 커뮤니케이션 어쩌고 자 집어 치구고 함께 일하고 싶은 개발자 나부랭이나 동료건 

분명한 것은 자신에게 이득이 얼마나 되는지, 자신이 얼마나 이용해먹을 수 있는지가 문제지

핑계거릴 찾다가 소통이 안되네, 팀워크가 안되네 소리한다.

자기에게 이득되고, 이용해먹을 수 있으면 다른 모든게 용서가 될껄….

 17 total views,  2 views today

21 8월 2022

나에게 맞는 웹 기술 스택을 고르는 방법

나에게 맞는 웹 기술 스택을 고르는 방법

본문은 요즘IT와 번역가 Mr.P가 함께 만든 해외 번역 콘텐츠입니다. 이 글을 작성한 The Educative Team은 직접 하면서 배우는 개발자 학습 플랫폼 Grokking의 콘텐츠 발행팀입니다. 이번 글은 웹 개발을 위한 여러 인기 기술 스택을 살펴보고, 어떤 장단점이 있는지 분석하는 내용입니다.

 
웹 기술 스택

세상에는 웹 개발을 하기 위한 많고도 다양한 기술 스택이 존재합니다. 그러나 어떤 스택을 채택해야 하는지, 언제 그것을 사용할 수 있는지를 아는 것은 특히 초보자에게 어려운 일입니다. 이 글을 통해서 우리는 웹 개발을 위한 여러 인기 있는 기술 스택들을 살펴본 뒤 그것들의 장단점을 분석할 것입니다. 그 후에 우리는 일반적인 소프트웨어 개발, 웹 개발, 모바일 웹 앱 개발 등의 목적에 따라서 웹 개발 기술 스택을 고르기 위한 몇 가지 팁을 제공할 것입니다.

이제 시작하겠습니다!

기술 스택이란?

우선, 기술 스택이란 무엇일까요?

기술 스택이란 웹사이트나 웹 앱을 만들기 위한 언어, 데이터베이스, 프레임워크의 집합입니다. 일반적인 웹 개발 스택은 다음을 포함한 프론트엔드, 백엔드 기술이 혼합되어 있습니다.

  • 프레임워크: 다른 개발자가 작성한 코드 라이브러리입니다. 이는 웹 애플리케이션을 제작할 때 처음부터 시작하지 않아도 되기 때문에 도움이 될 수 있습니다.
  • 웹 서버/HTTP 서버: HTTP(Hypertext Transfer Protocol) 서버는 이메일을 보내거나 받고, 파일을 다운로드하는 등의 요청을 다룹니다.
  • 데이터베이스: 데이터베이스는 데이터를 저장하고 구성합니다. 데이터는 다양한 방법으로 검색, 변경, 업데이트, 관리할 수 있습니다.
  • 프로그래밍 언어: 컴퓨터가 이해할 수 있는 방식으로 명령어(Instruction)를 전달하는 데 사용됩니다.
  • 운영체제 (OS): 하드웨어, 소프트웨어, 기타 응용 프로그램이나 리소스를 관리하는 소프트웨어입니다.

모든 개발 요구사항을 처리하기 위한 다양한 기술 스택이 존재하며, 프로젝트의 요구에 따라서 그에 맞는 기술 스택이 매번 달라집니다. 예를 들어 만일 여러분이 많은 트래픽과 데이터를 처리해야 하는 고성능의 웹 사이트나 웹 애플리케이션을 생각하고 있다면, 강력한 백엔드 지원을 포함한 기술 스택을 채택해야 합니다.

마찬가지로 만일 여러분이 제한된 기능과 자원 속에서 빠르게 시작하고 실행해야 하는 웹 사이트를 구축하기를 원한다면(간단한 랜딩 페이지같이), 가볍고 세팅이 간단한 기술 스택을 고르는 것이 좋습니다.

웹 개발을 위한 인기 있는 기술 스택

웹 개발을 위해 사용할 수 있는 다양한 기술 스택이 존재합니다. 그러나 이 글에서는 다음을 다룰 것입니다:

  • LAMP: Linux, Apache, MySQL, PHP/Perl/Python
  • WAMP: Windows, Apache, MySQL, PHP/Perl/Python
  • MAMP: macOS, Apache, MySQL, PHP/Perl/Python
  • MEAN: MongoDB, Express.js, AngularJS, Node.js
  • MERN: MongoDB, Express.js, ReactJS, Node.js
  • MEVN: MongoDB, Express.js, Vue.js, Node.js
  • Django: Django, Python

기술 스택을 고르기 위해 고려해야 할 포인트

  • 요구 사항 정의: 제품이 무엇을 하며, 여러분의 비전을 달성하기 위해 어떤 조건이 필요하나요?
  • 시장 조사: 잠재적인 경쟁자를 조사하고, 아직 충족되지 않은 요구사항을 기회로 만든 후 타깃으로 하는 고객을 분석합니다.
  • 제품의 실행 가능성: 프로토타입(최소 기능 제품 혹은 MVP라고도 불리는)을 만들고 타깃으로 하는 시장에서 테스트 후, 유의미하게 사용되는지 확인합니다.
  • 확장성 고려: 제품이 성장할 때 어떻게 하면 제품의 품질과 통제를 잃지 않고 유저를 더 많이 수용할 수 있을까요? 확장을 위한 해결책으로서 다른 기술 스택은 어떨까요?
  • 보안: 웹 애플리케이션과 사용자 데이터를 어떻게 보호해야 할까요?
  • 가격 비교: 몇몇 기술 스택은 다른 기술 스택에 비해서 호스팅이나 다른 자원에 대해 많은 비용을 요구합니다. 제품에 가장 경제적인 것을 선택해야 합니다.

LAMP

LAMP는 많은 트래픽을 요구하는 페이스북, 위키피디아, 텀블러에서 사용되는 전통적인 기술 스택입니다.

LAMP는 다음으로 이루어져 있습니다:

  • 리눅스(Linux) (운영체제)
  • 아파치(Apache) (서버)
  • MySQL(데이터베이스)
  • PHP/펄(Perl)/파이썬(Python) (프로그래밍 언어)

리눅스: 리눅스 OS는 LAMP의 기반을 다져줍니다. 이는 무료이며 쉽게 수정할 수 있기 때문에 개발자들에게 인기 있는 오픈소스 플랫폼입니다. 반면에 윈도우는 클로즈드 소스(closed-source)[1] 플랫폼입니다. 따라서 여러분은 작동 방식에 대한 제어 권한이 리눅스와 비교하면 그다지 많지 않습니다. 리눅스는 또한 대규모 개발자 커뮤니티와 많은 양의 문서를 제공합니다.

아파치: 아파치는 많은 양의 트래픽과 데이터를 처리할 수 있는 크로스 플랫폼이자 오픈소스 HTTP 서버입니다. 1996년부터 사용해온 아파치는, 빠르고, 안전하며, 신뢰할 수 있습니다. 아파치는 모듈화 되어 있으며 필요에 따라 성능을 최적화하도록 사용자가 설정할 수 있습니다.

MySQL: MySQL는 관계형 데이터베이스 관리 시스템으로 행과 열로 구성된 표 형식으로 데이터를 저장하고 보여줍니다. MySQL 또한 오픈소스이며, 사용하기 편리합니다. MySQL는 확장성을 지원하며 많은 양의 데이터를 처리할 수 있지만, 너무 거대한 데이터베이스를 처리할 때는 성능과 효율성이 저하될 수 있습니다.

PHP/펄/파이썬: PHP는 LAMP와 함께 사용되는 가장 인기 있는 프로그래밍 언어이며 대부분의 서버와 호환됩니다. 게다가 상대적으로 배우기 쉽고 다양한 라이브러리와 프레임워크를 제공합니다. 펄과 파이썬 또한 PHP를 대신하여 사용되고 있습니다.

  • 펄: 강력한 고급 객체 지향 언어지만 초보자가 배우기 어려운 복잡한 문법을 가졌습니다.
  • 파이썬: 확장성이 좋으며 여러 방면으로 사용할 수 있는 언어입니다. 가독성이 좋아 개발자들에게 인기 있는 언어이기도 합니다. 또한 파이썬은 머신러닝과 과학, 수학적 연산에서 널리 사용되는 언어이기도 합니다.
장점 단점
  • 소유권이 없으며, 오픈소스입니다.
  • 오랫동안 사용되어 왔습니다.
  • 스택의 구성요소는 필요에 따라 교체될 수 있습니다. 따라서 높은 유연함이 존재합니다.
  • 사용과 초기 설정이 쉽습니다. 특히 초보자에게 유용합니다.
  • MySQL과 PHP는 이미 많은 웹 호스팅에 사용되었습니다.
  • 경제적입니다.
  • 제한된 확장성으로 인해 대규모 애플리케이션에는 적합하지 않습니다.
  • MySQL은 상대적으로 배우기 쉽습니다. 그러나 고성능의 애플리케이션에 있어서 최선의 선택지는 아닙니다.
  • 공유 서버가 성능 이슈를 유발할 수 있습니다.

WAMP와 MAMP

WAMP와 MAMP는 각각 리눅스를 대신하여 마이크로소프트의 윈도우와 맥 OS(Mac OS)에서 사용할 수 있도록 설계된 LAMP의 변형된 버전입니다.

MEAN

MEAN은 유튜브(YouTube), 넷플릭스(Netflix), 페이팔(PayPal)과 같은 웹 사이트를 제작하는 데 사용된 자바스크립트(JavaScript) 웹 프레임워크입니다. MEAN은 이미 자바스크립트에 친숙하거나, 개발 진행 속도를 높이려는 사람들에게 훌륭한 기술 스택입니다.

MEAN은 다음으로 이루어져 있습니다:

  • 몽고디비(MongoDB) (데이터베이스)
  • Express.js (Node.js용 웹 프레임워크)
  • Angular.js (프론트엔드 프레임워크)
  • Node.js (서버)

몽고디비: 몽고디비는 프론트엔드 프레임워크(이 경우 Angular.js)에서 생성된 JSON 문서를 Express.js에서 처리한 후 저장하는 오픈소스 프레임워크입니다. 몽고디비는 많은 양의 데이터를 저장할 수 있고, 클라이언트-서버 간의 빠른 데이터 교환을 가능하게 하며, 클라우드 호환성을 지녔습니다.

Express.js: Express는 Node.js 서버에서 실행되는 가벼운 백엔드 웹 프레임워크입니다. Express.js는 URL 라우팅과 HTTP 요청 처리에 탁월한 성능을 가지고 있습니다. Express.js는 웹 프레임워크로부터 JSON 문서를 받고, 그것을 처리하며 몽고디비에 저장합니다.

Angular.js: Angular.js는 빠르고, 오픈 소스이며, 본격적인 프론트엔드 프레임워크입니다. Angular.js는 강력하게(그러나 너무 엄격하지 않게) MVC(Model-View-Controller) 구조를 따르고 있습니다.

Node.js: Node.js는 비동기 이벤트 기반 자바스크립트 런타임 환경입니다. 비동기 서버로서 Node.js는 메모리에 대해 매우 효율적입니다. 또한 Node.js는 오픈소스이며, 윈도우, 맥, 리눅스 등 어느 환경에서 실행될 수 있는 크로스 플랫폼입니다.

장점 단점
  • 빠른 개발 속도를 지녔습니다.
  • 오직 하나의 프로그래밍 언어(자바스크립트)를 사용합니다.
  • 오픈소스이며 무료입니다.
  • 새로운 기능을 추가하기 쉬운 거대한 라이브러리 모듈이 존재합니다.
  • MVC 구조입니다.
  • 클라우드 호환성을 지녔습니다.
  • 웹 애플리케이션이 서버로 바로 배포될 수 있습니다.
  • 자바스크립트는 완벽하게 숙달하기 어려울 수 있습니다.
  • 모바일 애플리케이션 지원을 위해 Native Script[2]가 필요합니다.
  • 테스트를 위한 프레임워크가 없습니다.

MERN과 MEVN

MERN과 MEVN은 앞서 다룬 MEAN과 유사하지만, Angular.js를 대신해 각각 리액트와 Vue.js를 사용합니다.

우리는 우선 MERN을 살펴본 후, MEVN과 어떤 차이점이 있는지 알아보겠습니다.

MERN

MERN은 MEAN, MEVN과 매우 비슷합니다. 그러나 프론트엔드 프레임워크로 Angular.js나 Vue.js 대신 리액트를 사용한다는 점에서 차이가 있습니다. MERN는 드롭박스(Dropbox), 페이스북(Facebook), 에어비엔비(Airbnb)와 같은 회사에서 사용되고 있습니다. MERN는 MEAN의 많은 이점을 함께 공유하고 있지만, 리액트의 Angular.js에 비해 완곡한 러닝 커브를 그리고 있습니다.

MERN은 다음으로 이루어져 있습니다:

  • 몽고디비 (데이터베이스)
  • Express.js (Node.js용 웹 프레임워크)
  • 리액트 (프론트엔드 프레임워크)
  • Node.js (서버)

몽고디비: 몽고디비는 프론트엔드 프레임워크(이 경우 리액트)에서 생성된 JSON 문서를 Express.js에서 처리한 후, 저장하는 오픈소스 프레임워크입니다. 몽고디비는 많은 양의 데이터를 저장할 수 있고, 클라이언트-서버 간의 빠른 데이터 교환을 가능하게 하며, 클라우드 호환성을 지녔습니다.

Express.js: Express는 Node.js 서버에서 실행되는 가벼운 백엔드 웹 프레임워크입니다. Express.js는 URL라우팅과 HTTP 요청 처리에 탁월한 성능을 가지고 있습니다. Express.js는 웹 프레임워크로부터 JSON문서를 받고, 그것을 처리하며 몽고디비에 저장합니다.

리액트: 빠르고, 확장이 용이한, 오픈 소스 자바스크립트 라이브러리로 MERN 스택의 프론트엔드 프레임워크로써 사용되었습니다. 리액트는 웹 페이지 조작을 쉽게 만들어주는 가상 DOM을 제공합니다. 그러나 네이티브 DOM을 사용하는 MEAN에 비해 약간 느립니다. 또한 리액트는 컴포넌트 기반의 라이브러리를 사용합니다. 이는 애플리케이션의 다른 파트에서 코드 재사용을 쉽게 해 줍니다. 게다가 여러분이 자바스크립트가 어떻게 작동하는지 알고 계신다면 리액트를 쉽게 배울 수 있습니다.

Node.js: Node.js는 비동기 이벤트 기반 자바스크립트 런타임 환경입니다. 비동기 서버로서, Node.js는 메모리에 대해 매우 효율적입니다. 또한 Node.js는 오픈소스이며, 윈도우, 맥, 리눅스 등 어느 환경에서 실행될 수 있는 크로스 플랫폼입니다.

MEVN

MEVN은 Angular.js나 리액트 대신에 Vue.js를 웹 프레임워크로 사용합니다. Vue.js 사용자 인터페이스(UI)를 구축하기 위한 가장 인기 있는 자바스크립트 프레임워크 중 하나입니다. MEVN는 알리바바(Alibaba), 비핸스(Behance), 깃 랩(GitLab)과 같은 웹 사이트를 구축하는 데 사용되었습니다. Vue.js는 미티어(Meteor)와 도커(Docker)와도 호환됩니다.

MEVN은 다음으로 이루어져 있습니다:

  • 몽고디비 (데이터베이스)
  • Express.js (Node.js용 웹 프레임워크)
  • Vue.js (프론트엔드 프레임워크)
  • Node.js (서버)

MongoDB: 몽고디비는 프론트엔드 프레임워크(이 경우 리액트)에서 생성된 JSON 문서를 Express.js에서 처리한 후, 저장하는 오픈소스 프레임워크입니다. 몽고디비는 많은 양의 데이터를 저장할 수 있고, 클라이언트-서버 간의 빠른 데이터 교환을 가능하게 하며, 클라우드 호환성을 지녔습니다.

Express.js: Express는 Node.js 서버에서 실행되는 가벼운 백엔드 웹 프레임워크입니다. Express.js는 URL 라우팅과 HTTP 요청 처리에 탁월한 성능을 가지고 있습니다. Express.js는 웹 프레임워크로부터 JSON문서를 받고, 그것을 처리하며 몽고디비에 저장합니다.

Vue.js: Vue.js는 MVVM[3] 아키텍처를 기반으로 만들어진 점진적인 프레임워크(Progressive Framework)입니다. 새로운 기능이나 함수를 추가하는 것은 간단한 과정이며, (단지 패키지를 추가하면 됩니다) 프로젝트에 점진적으로 통합할 수 있습니다. Vue.js는 직관적이고 읽기 쉬운 문법을 가지고 있어서 오픈소스 커뮤니티의 개발자들에게 인기 있는 언어입니다.

Node.js: Node.js는 비동기 이벤트 기반 자바스크립트 런타임 환경입니다. 비동기 서버로서, Node.js는 메모리에 대해 매우 효율적입니다. 또한 Node.js는 오픈소스이며, 윈도우, 맥, 리눅스 등 어느 환경에서 실행될 수 있는 크로스 플랫폼입니다.

장고(Django)

장고는 빠른 개발과 깨끗하고 잘 구성된 코드를 권장하는 고급(High-level) 파이썬 웹 개발 프레임워크입니다. 장고의 유연한 아키텍처와 손쉬운 사용으로 인해 웹 개발자 사이에서 인기 있지만 배우기가 다소 어려울 수 있습니다. 장고 기술 스택은 인스타그램(Instagram)과 핀터레스트(Pinterest) 개발에 사용되었지만 핀터레스트는 이후 Flask로 프레임워크를 변경했습니다.

장고 스택은 언제나 장고와 파이썬을 사용합니다. 그러나 서버와 데이터베이스는 선호에 따라 다르게 선택할 수 있습니다.

장고 기술 스택의 하나의 예시입니다:

  • 장고 (웹 프레임워크)
  • 파이썬 (프로그래밍 언어)
  • 아파치 (서버)
  • MySQL (데이터베이스)

장고: 다양하고 즉시 사용할 수 있는 기능을 갖춘 종합적이고 다목적의 웹 프레임워크입니다. 장고는 빠른 개발과 깔끔한 설계를 우선순위로 둡니다. 장고는 다양한 웹 호스팅 제공업체 및 데이터베이스와 호환되며 관리자 패널, ORM[4], 템플릿, 인증(패키지를 통해) 등을 제공합니다.

파이썬: 확장성이 좋으며 여러 방면으로 사용할 수 있는 언어입니다. 가독성이 좋아 개발자들에게 인기 있는 언어이기도 합니다. 또한 파이썬은 머신 러닝과 과학, 수학적 연산에서 널리 사용되는 언어이기도 합니다.

아파치: 아파치는 많은 양의 트래픽과 데이터를 처리할 수 있는 크로스 플랫폼이자 오픈소스 HTTP 서버입니다. 1996년부터 사용해온 아파치는, 빠르고, 안전하며, 신뢰할 수 있습니다. 아파치는 모듈화 되어 있으며 필요에 따라 성능을 최적화하도록 사용자가 설정할 수 있습니다.

MySQL: MySQL는 관계형 데이터베이스 관리 시스템으로, 행과 열로 구성된 표 형식으로 데이터를 저장하고 보여줍니다. MySQL 또한 오픈소스이며, 사용하기 편리합니다. MySQL는 확장성을 지원하며 많은 양의 데이터를 처리할 수 있지만, 너무 거대한 데이터베이스를 처리할 때는 성능과 효율성이 저하될 수 있습니다.

장점 단점
  • 빠른 개발 속도를 가졌습니다.
  • 국제화와 현지화를 지원합니다.
  • 대규모의 서드파티(Third-party) 라이브러리가 존재합니다.
  • MVC 아키텍처를 사용합니다.
  • 일반적인 코딩 컨벤션[5]이 부족합니다.
    역주: 현재는 장고 코딩 컨벤션공식문서가 존재합니다.
  • 이미 존재하는 변수와 파일, 규칙을 장고에 배포하기 전에 미리 공부해야 합니다.
  • 배우기가 어렵습니다.

어떤 기술 스택을 사용해야 하나요?

지금까지 우리는 여러 인기 있는 개발 스택에 대해 살펴보았습니다. 아마도 여러분은 어떤 기술 스택이 여러분에게 가장 좋은 선택지 일지 궁금해하실 수 있습니다. 정답은 여러분의 프로그래밍 경험과 여러분의 목적에 있습니다.

만약 여러분이 웹 개발이 처음이시라면, MEAN이나 MERN이 좋은 시작점이 될 수 있습니다. 이러한 스택은 상대적으로 배우기 쉽고 하나의 언어(자바스크립트)만을 사용하기에 일을 간편하게 할 수 있습니다.

만약 여러분이 조금 더 개발에 경험이 있거나, 좀 더 유연한 스택을 찾으신다면 LAMP나 MEVN과 같은 스택이 더 나은 선택지가 될 것입니다. 이 기술 스택들은 사용하려는 도구와 기술을 더 자유롭게 선택할 수 있습니다.

만일 자바스크립트를 프론트엔드와 백엔드 둘 다 사용하고 싶으시다면, 자바스크립트 기반 스택들(MEAN, MERN, MEVN)이 좋은 선택입니다. 만약 프론트엔드와 백엔드의 언어를 다르게 사용하고 싶으시다면 LAMP, WAMP, MAMP가 더 낫습니다.

또한 이러한 스택을 엄격히 준수할 필요는 없습니다. 원하는 경우에 다른 기술을 혼용해서 사용할 수 있습니다. 궁극적으로 가장 중요한 것은 목표를 달성하는 데 가장 도움이 되는 도구와 기술을 사용하는 것입니다.

스택을 선택하고, 통달하기까지의 팁

웹 개발이 처음이라면, 다양한 툴과 기술을 배울 때 하나를 깊게 하기보다 다양하게 넓게 배우고 싶다는 유혹에 빠질 수 있습니다. 그러나 일반적으로 하나의 스택에 집중하여 공부하는 것이, 스택에 포함된 구성요소를 마스터하는 데 도움이 될 수 있습니다.

이러한 관점에서 기술 스택을 고르고 통달하는 것에 대한 몇 가지 팁이 있습니다.

  • 흥미와 커리어 목표를 정의하기. 여러분의 필요와 가장 부합한 기술 스택을 선택할 수 있습니다.
  • 천리길도 한 걸음부터. 처음부터 기술 스택의 모든 것을 알려고 할 필요는 없습니다. 스택에 있는 구성요소의 기본적인 기능을 연습하는 것에서부터 시작하세요.
  • 끊임없이 시도하고 실험하기. 만일 지금 고른 스택이 여러분과 맞지 않는다고 생각된다면, 다른 스택을 적용해보고 가장 적합한 스택을 확인하세요.
  • 시간을 쏟아 선택한 스택의 기술을 마스터하기. 스택에 있는 도구를 더 잘 아는 것이, 개발자의 생산성을 높여주는 길입니다.

여러분이 어떤 스택을 선택하였던, 가장 중요한 것은 끊임없이 학습하고 기술의 폭을 넓혀가는 것임을 잊지 마세요. 그렇게 할 수만 있다면, 머지않아 여러분들은 멋진 웹 애플리케이션을 만들 수 있을 것입니다.

글을 마치며

평생의 개발자 커리어 동안 하나의 기술 스택을 고수해야 한다는 생각하는 실수를 저지르지 마세요. 웹 개발의 아름다움은 문제를 해결하기 위한 기술과 방법이 언제나 새롭게 생겨난다는 점에 있습니다. 따라서 마음을 열고, 새로운 스택의 도입을 실험해보세요. 그리고 업계의 발전에 적응하세요.


[1] 사유화되어 소스코드가 외부에 공개되지 않은 프로젝트
[2] 자바스크립트 기반의 모바일 애플리케이션 지원을 위한 프레임워크
[3] Model, View, ViewModel로 이루어진 코드 디자인 패턴.
[4] 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것
[5] 코드의 가독성을 높이기 위해 코드를 작성할 때 모두가 지키자고 약속한 일종의 규칙

<원문>

How to choose the right tech stack for web development

[출처] https://yozm.wishket.com/magazine/detail/1645/

 223 total views,  12 views today

29 7월 2022

[ 一日30分 인생승리의 학습법] 오픈소스 라이선스 별 의무사항 오픈소스 라이선스 별 의무사항

[ 一日30分 인생승리의 학습법] 오픈소스 라이선스 별 의무사항

오픈소스 라이선스 별 의무사항

오픈소스 라이선스 별 의무사항

재배포하지 않는다면 자유롭게 사용 가능

먼저, 대부분의 오픈소스 라이선스는 준수해야 할 의무 사항을 ‘재배포’시 부여한다. 이 말은 오픈소스를 ‘재배포’하지 않는다면 고지, 소스 코드 공개 등의 의무사항이 발생하지 않고, 자유롭게 사용이 가능하다는 의미이다.

아무 조건 없이 사용 가능한 라이선스

CC0, Public Domain과 같이 아무런 제한 없이 무료로 사용할 수 있는 라이선스가 있다. ‌

Full name Identifier 사용 사례별 가이드
Creative Commons Zero v1.0 Universal CC0-1.0  
The Unlicense Unlicense  

수월하게 사용 가능한 라이선스

Permissive License라고 분류할 수 있는 아래의 오픈소스 라이선스는 고지 의무를 요구한다. 오픈소스 라이선스의 고지 의무는 비교적 수월하게 준수할 수 있다. 

  • 이와 같이 고지 의무를 요구하는 Permissive 라이선스 하의 오픈소스를 포함하는 소프트웨어를 배포할 경우, “저작권 표시”, “라이선스 고지” 등의 의무를 준수해야 한다. (참고 : 저작권 표시 및 라이선스 고지)
  • SK텔레콤 오픈소스 컴플라이언스 프로세스를 통해 오픈소스 고지문을 발행하고 소프트웨어 배포 시 이를 동봉하여 고지 의무를 준수할 수 있다. 
Full name Identifier 사용 사례별 가이드
Academic Free License v2.1 AFL-2.1  
Academic Free License v3.0 AFL-3.0  
Artistic License 1.0 Artistic-1.0  
Artistic License 2.0 Artistic-2.0  
Apache License 1.1 Apache-1.1  
Apache License 2.0 Apache-2.0 Apache-2.0 가이드
Boost Software License 1.0 BSL-1.0  
BSD 2-Clause "Simplified" License BSD-2-Clause BSD-2-Clause 가이드
BSD 3-Clause "New" or "Revised" License BSD-3-Clause BSD-3-Clause 가이드
BSD-2-Clause Plus Patent License BSD-2-Clause-Patent  
Creative Commons Attribution 4.0 International CC-BY-4.0  
JSON License JSON  
Freetype Project License) FTL  
ISC License) ISC  
Independent JPEG Group License IJG  
libtiff License libtiff  
Lucent Public License v1.02 LPL-1.02  
Microsoft Public License MS-PL  
MIT License MIT MIT 가이드
X11 License X11  
CMU License MIT-CMU  
University of Illinois/NCSA Open Source License NCSA  
OpenSSL License OpenSSL  
PHP License v3.0 PHP-3.0  
PostgreSQL License PostgreSQL  
TCP Wrappers License TCP-wrappers  
Python Software Foundation License 2.0 PSF-2.0  
Unicode License Agreement - Data Files and Software (2016) Unicode-DFS-2016  
Universal Permissive License v1.0) UPL-1.0  
W3C Software Notice and License (2002-12-31) W3C  
X.Net License Xnet  
Zend License v2.0 Zend-2.0  
zlib License zlib  
Zope Public License 2.0 ZPL-2.0  

주의가 필요한 라이선스

Copyleft 라이선스 유형

GPL(GNU General Public License)은 오픈소스를 재배포 시 소스 코드 공개를 요구한다. 오픈소스 자체의 소스 코드 뿐만 아니라 결합한 소스 코드까지 함께 동일한 라이선스 조건으로 공개할 것을 요구해서 Copyleft 성격의 라이선스라고도 한다. Copyleft 라이선스 유형은 오픈소스 라이선스 중에 요구하는 의무사항이 가장 많은 라이선스 유형이기 때문에 이 유형의 라이선스로 배포되는 오픈소스는 사용 시 주의가 필요하다.

Copyleft 라이선스 유형으로 분류할 수 있는 오픈소스 라이선스는 다음과 같다.

Full name Identifier 사용 사례별 가이드
GNU General Public License v2.0 GPL-2.0 GPL-2.0 가이드
GNU General Public License v3.0 GPL-3.0 GPL-3.0 가이드
Creative Commons Attribution Share Alike 4.0 International CC-BY-SA-4.0  
Creative Commons Attribution No Derivatives 4.0 International CC-BY-ND-4.0  
Open Software License 3.0 OSL-3.0  
Q Public License 1.0 QPL-1.0  
Sleepycat License Sleepycat  

같이 소스 코드 공개 의무를 요구하는 Copyleft 라이선스 하의 오픈소스를 포함하는 소프트웨어를 배포할 경우, 사용자에게 소스 코드를 직접 제공하거나, 사용자가 요청시 소스 코드를 제공하겠다는 서면 약정서를 제공해야 한다. 이에 대한 세부 절차 및 방법은 다음 가이드를 참고하라. : internal_link

Weak Copyleft 유형

Weak Copyleft 유형의 라이선스는 이와 같이 소스 코드 공개는 요구하지만, 공개 범위가 Copyleft 유형의 라이선스에 비해 약하다는 특성이 있다.

Weak Copyleft 라이선스 유형으로 분류할 수 있는 오픈소스 라이선스는 다음과 같다.

Full name Identifier 사용 사례별 가이드
GNU Lesser General Public License v2.1 LGPL-2.1 LGPL-2.1 가이드
GNU Lesser General Public License v3.0 LGPL-3.0 LGPL-3.0 가이드
Common Development and Distribution License 1.0 CDDL-1.0 CDDL-1.0 가이드
Common Public License 1.0 CPL-1.0  
Eclipse Public License 1.0 EPL-1.0  
Eclipse Public License 2.0 EPL-2.0 EPL-2.0 가이드
IBM Public License v1.0 IPL-1.0  
Mozilla Public License 1.1 MPL-1.1  
Mozilla Public License 2.0 MPL-2.0 MPL-2.0 가이드
Apple Public Source License 2.0 APSL-2.0  
Ruby License Ruby  

사용 제한 라이선스

다음의 라이선스는 SK텔레콤의 제품/서비스에 사용하기에 적합하지 않은 조건을 포함하고 있다. 따라서, 이러한 라이선스 하의 오픈소스는 사용하지 말아야 한다.

비상업용 라이선스

연구, 학습만을 위해서라고 해도 SK텔레콤 내에서 사용한다면 상업적인 활동으로 간주될 수 있다. 따라서 비상업적으로만 사용할 수 있도록 제한하는 라이선스에 따라 공개된 오픈소스는 SK텔레콤에서 사용할 수 없다. 이러한 비상업용 (Non-Commercial) 라이선스는 다음과 같다.‌

Full name Identifier 사용 사례별 가이드
Creative Commons Attribution Non Commercial 4.0 International CC-BY-NC-4.0  
Creative Commons Attribution Non Commercial Share Alike 4.0 International CC-BY-NC-SA-4.0  
Creative Commons Attribution Non Commercial No Derivatives 4.0 International CC-BY-NC-ND-4.0  

Network 서비스 제한 라이선스

AGPL, SSPL은 Network 서비스도 배포로 간주하여 의무사항 준수를 요구하는 조항을 포함한다. 이에 따라 Network 서비스를 제공하는 서버에 AGPL로 공개된 오픈소스가 포함되어 있다면, 소프트웨어를 배포하지 않아도, AGPL 오픈소스 뿐만 아니라 함께 링크되어 동작하는 다른 소프트웨어의 소스코드 까지 AGPL로 공개해야 하는 의무가 발생한다. 이 경우, SK텔레콤의 핵심 서버 프로그램까지도 AGPL로 공개해야 하는 위험이 있다. 따라서, SK텔레콤의 제품 및 서비스 개발 시, AGPL 및 SSPL 등의 오픈소스 라이선스가 적용된 오픈소스는 사용할 수 없다.

이러한 Network 서비스 시 조건을 부여하는 라이선스는 다음과 같다.

Full name Identifier 사용 사례별 가이드
GNU Affero General Public License v3.0 AGPL-3.0 AGPL-3.0 가이드
Server Side Public License, v 1 SSPL-1.0  
  • AGPL (GNU Affero General Public License)
  • SSPL (Server Side Public License)

광고 조항 포함 라이선스

BSD-4-Clause 라이선스는 오픈소스의 기능 / 활용을 언급하는 모든 광고에 특정 문구 (“This product includes software developed by the .”)의 포함을 요구한다. 이러한 “advertising clause”의 요구사항을 준수하는 것은 쉽지 않기 때문에 사용을 제한한다.

Full name Identifier 사용 사례별 가이드
BSD 4-Clause "Original" or "Old" License BSD-4-Clause BSD-4-Clause 가이드

이러한 라이선스 하의 오픈소스를 반드시 포함해야 하는 경우라면 OSPOOpen Source Program Office에 포함할 수 있는 방법을 문의하라. : Support (opensource@sktelecom.com)

이외 언급하지 않은 라이선스

위에서 분류되지 않은 라이선스가 적용된 오픈소스를 SK텔레콤의 제품에 사용하기 위해서는 사전 검토가 필요하다. OSPOOpen Source Program Office에 사용 가능 여부를 문의하라. : Support (opensource@sktelecom.com)


AGPL-3.0 가이드

Free Software Foundation은 2007년 AGPL-3.0을 공개하였다. AGPL-3.0은 GPL-3.0에 네트워크로 상호 작용하는 소프트웨어의 소스 코드도 공개해야 한다는 조항을 추가한 라이선스이다.

Apache-2.0 가이드

Apache-2.0은 Apache Software Foundation에서 만든 오픈소스 라이선스이며, 소스 코드 공개를 요구하지 않는 Permissive 형태의 라이선스이다.

BSD-2-Clause 가이드

BSD-2-Clause 라이선스는 BSD 2-Clause “Simplified” License 라고도 불리며 소스 코드 공개를 요구하지는 않는 Permissive한 라이선스이다. BSD-3-Clause보다 간략해졌다.

BSD-3-Clause 가이드

BSD-3-Clause 라이선스는 BSD 3-Clause “New” or “Revised” License 라고도 불리며 소스 코드 공개를 요구하지는 않는 Permissive한 라이선스이다. BSD-4-Clause에서 문제가 된 “advertising clause” 이 삭제되었다.

BSD-4-Clause 가이드

BSD-4-Clause 라이선스는 BSD “Original” or “Old” License 라고도 불리는 BSD 라이선스의 원형이로써, 소스 코드 공개를 요구하지는 않지만, 광고 조항 (advertising clause)를 포함하고 있어서 사용하는데 문제가 된다.

CDDL-1.0 가이드

CDDL-1.0은 Common Development and Distribution License 1.0이라고도 불리며, 파일 단위의 소스 코드 공개를 요구하는 Weak Copyleft 성격의 라이선스이다.

EPL-2.0가이드

EPL-2.0은 Eclipse Public License 2.0이라고도 불리며, 모듈 단위의 소스 코드 공개를 요구하는 Weak Copyleft 성격의 라이선스이다.

GPL-2.0 가이드

1991년 Free Software Foundation에서 만든 대표적인 Copyleft 라이선스인 GPL-2.0은 재배포 시 소스 코드 공개를 요구하기 때문에 사용에 주의가 필요하다.

GPL-3.0 가이드

Free Software Foundation은 2007년 GPL-3.0을 공개하였다. GPL-3.0은 GPL-2.0과 유사한 의무사항을 갖지만, 추가로 User Product 배포 시, 설치 정보(Installation Information) 제공을 요구한다.

LGPL-2.1 가이드

Free Software Foundation에서 만든 대표적인 Weak Copyleft 라이선스인 LGPL-2.1은 재배포 시 소스 코드 공개를 요구하지만, LGPL Library를 Dynamic Link하여 사용하면 자사의 코드는 공개 대상에 포함되지 않는다.

LGPL-3.0 가이드

Free Software Foundation은 2007년 LGPL-3.0을 공개하였다. LGPL-3.0은 LGPL-2.1과 유사한 의무사항을 갖지만, 추가로 User Product 배포 시, 설치 정보(Installation Information) 제공을 요구한다.

MIT 가이드

MIT 라이선스는 Massachusetts Institute of Technology (MIT)에서 만들었으며, 소스 코드 공개를 요구하지 않는 대표적인 Permissive한 라이선스이다.

MPL-2.0 가이드

MPL-2.0은 Mozilla Public License 2.0이라고도 불리며, 파일 단위의 소스 코드 공개를 요구하는 Weak Copyleft 성격의 라이선스이다.

[출처] https://sktelecom.github.io/guide/use/obligation/

 278 total views,  2 views today

22 7월 2022

[새로운과학뉴스][물리] [사이언스샷] 제임스 웹 우주망원경, 135억년 전 은하까지 포착했다

[새로운과학뉴스][물리] [사이언스샷] 제임스 웹 우주망원경, 135억년 전 은하까지 포착했다

[사이언스샷] 제임스 웹 우주망원경, 135억년 전 은하까지 포착했다

기존 최고 기록보다 1억년 앞당겨

 
제임스 웹 우주망원경으로 포착한 135억년 전 은하인 GLASS-z13. 우주가 탄생한 지 3억년 밖에 지나지 않았다./NASA

제임스 웹 우주망원경이 첫 컬러 영상을 발표한지 1주일 만에 우주 관측 사상 가장 오래된 은하를 발견하는 데 성공했다. 추가 관측을 통해 확증되면 최고(最古) 은하 기록이 1억년 더 앞당겨진다.

스위스 제네바대의 파스칼 외시 교수와 미국 하버드-스미스소니언 천체물리학연구소의 로한 나이두 박사 연구진은 지난 20일(현지 시각) 논문 사전 출판사이트 아카이브(arXiv)에 “제임스 웹 우주망원경으로 135억년 전 은하인 GLASS-z13을 발견했다”고 밝혔다.

빅뱅 3억년 지난 초기 우주 포착

제임스 웹은 미국과 유럽, 캐나다가 25년간 13조원을 들여 개발한 사상 최대 크기의 우주망원경이다. 올 1월 지구에서 150만㎞ 떨어진 관측 지점에 도착했다. 미 항공우주국(NASA·나사)은 지난 12일 지난 6개월 동안 제임스 웹 우주망원경이 포착한 우주 컬러 사진 5가지를 세상에 공개했다.

우주는 138억년 전 대폭발(빅뱅·Big Bang)로 탄생했다. 이번 연구진이 포착한 은하의 나이는 빅뱅이 일어난 지 3억년밖에 되지 않았다. 지금까지 최고 기록은 외시 교수가 2015년 허블 우주망원경으로 큰곰자리에서 발견한 GN-z11로, 빅뱅 이후 4억년 전 지난 134억년 전의 은하로 확인됐다.

 
134억년 전 은하인 GLASS-z11(위)과 135억년 은하 GLASS-z13 (아래)./하버드-스미스소니언 천체물리학연구소

나사는 앞서 제임스 웹의 관측 결과를 처음 발표하면서 “제임스 웹 우주망원경은 빅뱅 직후인 135억년 전의 초기 우주까지 관측할 수 있을 것”이라고 기대했다. 1주일 만에 당시 예측이 실현된 셈이다.

연구진은 이번에 135억년 전의 은하 GLASS-z13과 함께 GN-z11과 비슷한 나이의 GLASS-z11도 발견했다. 두 은하는 이미 태양 10억 개에 맞먹는 질량으로 성장한 것으로 보인다고 연구진은 밝혔다.

특히 GLASS-z11은 이미 나선형 원반 구조까지 형성해 초기 은하에서 별이 예상보다 빨리 생성됐음을 보여줬다. 두 은하의 크기는 작다. GLASS-z13은 지름이 1600광년(1광년은 빛이 1년 가는 거리로 약 9조4600억㎞)이며 GLASS z-11은 2300광년이다. 이에 비해 우리은하는 지름이 10만광년에 이른다.

 
조 바이든 미 대통령이 12일 공개한 제임스 웹 우주망원경의 첫 관측 영상. 지구에서 40억광년(1광년은 빛이 1년 가는 거리로 약 9조4600억㎞) 떨어진 SMACS 0723 은하단이다. 멀리서 온 빛을 증폭하고 휘어지게 하는 중력렌즈 역할을 해 초기 우주에서 온 빛을 확인할 수 있다./NASA

적색편이 현상 관측해야 확증 가능

같은 날 이탈리아 국립천체물리학연구소의 마르코 카스텔라노 박사 연구진도 역시 아카이브에 제임스 웹 관측을 토대로 GLASS-z13이 가장 오래된 은하라고 발표했다.

과학자들은 앞으로 제임스 웹 우주망원경이 빅뱅 이후 2억년 이내의 초기 우주까지 관측할 수 있을 것이라고 기대했다. 지난 31년 동안 작동한 허블 우주망원경은 가시광선을 주로 감지하지만, 제임스 웹은 적외선까지 포착할 수 있기 때문이다. 가시광선은 별이 탄생하는 우주 먼지와 구름 지역을 통과하기 어렵지만 파장이 긴 적외선은 이를 통과할 수 있다.

연구진은 이번 연구 결과를 확증하기 위해 제임스 웹의 추가 관측이 필요하다고 밝혔다. 이번에는 은하에서 나온 빛의 파장을 기준으로 밝기를 비교했다. 과학자들은 오래된 은하의 나이를 확실하게 알려면 빛을 성분별로 분석하는 분광(分光) 관측이 필요하다고 본다. 이른바 적색편이(赤色偏移)를 알아내는 방법이다.

적색편이는 우주 팽창 자체 때문에 빛의 파장이 길어지는 현상이다. 1923년 미국의 천문학자 에드윈 허블은 은하의 파장이 예상했던 것보다 더 긴 붉은색 쪽으로 치우친 것을 발견했다. 이를 통해 허블은 우주 팽창을 확인했다.

우주 팽창이 적색편이를 유발하는 것은 구급차의 사이렌 소리와 비교하면 알 수 있다. 사이렌을 울리는 구급차가 다가오면 소리가 높게 들리지만, 지나쳐 멀어지면 소리가 낮아진다. 낮은 소리는 파장이 길다. 마찬가지로 빛을 내는 천체가 관측자로부터 멀어지면 빛의 파장이 길어진다.

[출처] https://www.chosun.com/economy/science/2022/07/22/ZF62HE4DUJD3RJJPA547SKFYLU/

 90 total views,  4 views today

22 8월 2021

KT의 프로젝트 [KT MY KT 엡] 마이 케이티 앱 프로젝트 2021-06 : 비정상, 접속오류, 고객센터

KT의 프로젝트 [KT MY KT 엡] 마이 케이티 앱 프로젝트 2021-06 : 비정상, 접속오류, 고객센터

 : 오늘의 유머 : 일간베스트(일베) 

아래 자료문서 

2021-06 [KT 온라인채널 고객경험 혁신 my kt앱 고도화 프로젝트] 결론 자료파일 다운

2021-06 [KT 온라인채널 고객경험 혁신 my kt앱 고도화 프로젝트] 결론
 
  1. 우선 예상하는 KT 에서 기획한 내용을 나름 분석하면
    1. 기존 MY KT 앱의 analytics를 분석하여, 사용자가 가장 많이 사용하는 기능(통신 사용량조회, 영화예메, 포인트 활용, 쿠폰 사용: 혜택)만들 남기고 최대한 사용성 (UX)를 이끈다는 기획이였던것으로 여겨지나.
    2. 문제는 미래지향적인 사용자 통계 분석(analytics에 기반한) 에 비해
    3. 아마추어적인 UX 기획으로 풀다운 메뉴에 길들여진 사용자들에게 하단 에니메이션 메뉴바를 도입
    4. 메뉴바에서 사용자들이 가장 궁금해하고 많이 사용하는 “사용량 조회”의 기능을 보여주는 메뉴를 “마이”라는 개발이나 IT 전문가에게 예상할 수 있는 이름을 붙여 일반사용자에게 “사용량조회”를 찾지못하는 설계가 되었고
    5. 한페이지에 고정된 것이 아닌, 세로방향 무한스크롤 같은 모바일 앱 에서 하단 메뉴에 사용자들이 익숙지도 않으며 ,
      1. 하단에 네이게이션 메뉴가 나오며 , 메뉴가 좌우 상으로 펼쳐지며
      2. 좌우 메뉴을 터치시 화면 전환이 되며,
      3. 좌 또는 우 메뉴로 갔다가 메인으로 돌아오려면 다시 하단에 x 표시로 된 메뉴로  화면을 닫는다는
      4. 방식은 개발자가 아니면 알기 쉽지 않는 네비게이션이며
      5. 사용자들이 가장 보고싶어하는 “사용량”조회시
      6. 무리한 정준기의 카드시스템 도입으로, 화면이 껌뻑이는 플리킹 발생 및 표출되는 데이터가 맞지 않는 앱이됨
      7.  
    6. 화면설계도 KT의 매출액 증대가 목적인지 대부분 카드광고로 이루어져, 사용자는 사용량 및 계약관계 정보를 얻으려 MY KT app을 구동하지, 마케팅 광고 구독 목적이 아닌데도 80%이상을 마케팅 광고로 도배된 앱을 기획했으며
    7. 게다가 기존 기능을 디자인만 바꾼다는 명목으로 개발하면서, 기존 기능과 호환되지 않는
    8. 사용량조회 내역을 도입, 표출되는 정보가 정확하지도 않고, (데이터 함께 쓰기 회선에 통화량출력)
    9. LTE 에그 사용량이 모바일 웹에서는 나오는데, 모바일 앱 화면에서는 나오지 않으며
    10. 사용자가 사용량조회에서 원하는 것은 결국 사용량 조회가 아니라 남!은! 가용한 사용량 조회에 더 관심이 있는데도, 사용량 조회에 초점을 맞추며
    11. 기획에도 없고 설계에도 없는 카드 시스템을 정준기가 꿋꿋이 요구하면서
    12. 개발된 기능에 막대한 장애와 정준기 지가 스스로 개발해도 퍼블에 맞지않고
    13. 로그인 기능을 IMUI(아이엠 유아이) 에서 기능 변경(개선)으로 작업을 했으나 로그인 불안정을 초래하여 사용자가 로그인 할 수 없는 결과(네이티브 모바일 앱과 부정합)를 초래하고
    14. 네이티브 모바일 앱 개발자들의 개발 실수(오류)로 앱이 불안정하여 비정상 종료를 반복하며
    15. 새로 KT에서 투입한 개발진(고급,특급) 을 몰아내려는 기존 유지보수 개발자의 욕심으로 투입된 개발진이 개발 정보를 얻지못하여 개발 진행이 공전되고
    16. 급기야는 투입된 고급 개발자들 몰아내고 유지보수개발진이  자신있게 개발하려다, 유지보수 개발진 (에이엔티 솔루션 (주))의 역량을 검토한 결과 저비용을 위해서 초급, 하급 개발진으로 (서울공고_조형예술대출신, 전남대 재료공학, 신학대학_방통대)의 역량 미숙의 유지보수 개발진이 나서서 개발하여 시스템과 앱의 완성도가 형편없이 되었으며
    17. PM을 맡은 정인섭(서울공고, 계원 조형예술대학출신)이 몰엽치한, 비양심적 거짓말 행각으로 추진하는 사업이니, 결과야 안봐도 뻔하다.
    18. 앱에 게임처럼 게이미피케이션인지 이리저리 터치구동해보고 기능을 깨닫은 앱을 기획한 어처구니 없는 실수로 게이머가 대부분이 아닌 모바일 앱 사용에 사용자들은 원하는게 메뉴에 있고 메뉴를 클릭하여 해당정보를 얻는다는 게시판 식 문회의 게이머 이외의 사용자에겐 어처구니 없는 앱이 되버림
    19. 개발 중에서도 로컬 개발 노트북과 테스트를 위한 개발 서버를 교차 할 때, ctrl H 로 기존 로그인 캐쉬 비워야 로그인 되더니, 업데이트 하니까. 기존 로그인 정보가 새 로그인 정보와 맞지 않고, 업데이트로 되지 않아 로그인 불안정 생김
    20. 2021-07-26 아직 저속 저용량의 3G 사용자와 블루투스 테더링 사용자도 존재하는데 마케팅 광고 대용량의 이미지 베너 도배로 50mb에 달하는 트래픽 유발로  느린 최악의 앱으로 사용자들에게 윈성을 삼

 483 total views,  6 views today

5 8월 2021

[새로운 과학뉴스] [김우재의 보통과학자] 얼마나 많은 논문이 잘못됐을까

[새로운 과학뉴스] [김우재의 보통과학자] 얼마나 많은 논문이 잘못됐을까

[김우재의 보통과학자] 얼마나 많은 논문이 잘못됐을까

2021.07.15 14:00

게티이미지뱅크 제공

게티이미지뱅크 제공

”일단 조사는 할 수 있는 만큼 해야 된다고 보고요. 왜냐하면 우리나라 교수 사회가 이 문제에 대해서 아직도 심각하게 생각하지 않는 것 같아요. 예를 들어서 부모하고 추억을 쌓는 문제고 내 자식인데 너무 뛰어났다. 이런 식으로 인터뷰하는 교수들이 대부분이고 잘못했다라고 한 사람이 없더라고요. 이건 제 생각에는 처벌 규정이 너무 낮고요. 교수 사회가 가지고 있는 그 어떤 인식이 너무 낮다. 국민들한테 이런 학계가 얼마나 잘못돼 있고 이런 걸 알리기 위해서라도 교육부가 한 20년치 정도 다 조사를 했으면 좋겠습니다.” -김우재, CBS 김현정의 뉴스쇼 인터뷰 중

황우석이 쏘아 올린 학술생태계의 도덕적 해이

학자가 일반 시민보다 청렴하지 않다는건 이제 상식이 됐다. 한국 사회에서 학술논문의 조작이 사회적인 이슈가 된건 2005년 황우석 사태가 시초다. 황우석 전 서울대 교수는 존재하지도 않는 줄기세포로 논문을 쓴 것도 모자라, 저명한 국제학술지인 사이언스에 논문을 게재했다. 국내의 과학자들도, 해외의 심사위원들도, 황우석 사단 내부의 고발자가 등장하기 전까지 논문조작을 아무도 눈치채지 못했다. 논문 조작을 알아낼 확실한 방법은 지금도 존재하지 않는다. 여전히 과학기술 분야에서 논문 조작은 내부 고발이나 누군가의 제보를 통해서만 그 실체를 드러낸다.

얼마나 많은 과학기술 분야의 논문이 조작되었는지 아무도 정확하게 짐작하지 못한다. 하지만 게재된 논문의 철회를 감시하는 사이트인 ‘리트랙션워치’가 발표한 통계에 따르면 논문이 게제된 이후 철회되는 비율은 약 0.02% 즉, 1만 편의 논 문 중 약 2 편 정도가 철회되는 정도다. 또한 한 편의 논문이 철회된다고 해서 해당 교신저자가 발표하는 논문의 숫자는 줄어들지 않는다고 한다. 게다가 논문이 철회된 교신저자의 다른 철회되지 않은 논문의 인용빈도수에는 아무런 변화가 없었다. 물론 여러번 논문철회를 당한 저자의 경우, 여러가지 학계에서의 제재를 통해 논문출판의 빈도수가 줄어들긴 했지만, 시간이 지나면서 논문수는 다시 정상으로 돌아오는 경향성을 보였다. 즉, 과학기술계의 논문철회는 저자의 논문출판에 어느정도 영향을 미치긴 하지만, 심각한 정도로 경력에 영향을 주지는 않는 것으로 보인다.

2006년 미국세포생물학 학술지인 ‘세포생물학저널(The Journal of Cell Biology)’은 2002년부터 게재 승인된 논문의 사진을 전수 조사해서 사진 조작의 흔적을 찾고 있다. 그리고 출판이 완료된 논문의 4분의 1에서 하나 이상의 조작의 흔적을 발견했다. 학술지의 연구윤리 지침을 위반하는 사진 편집의 흔적을 가진 논문이 25%나 되었던 것이다. 물론 대부분의 논문에 실린 사진은 저자들이 보유하고 있던 원본 사진에 의해 의혹이 해소됐고  논문의 내용이나 결론을 바꿀만한 성질의 것이 아니었지만, 전체 게재 승인된 논문 중 약 1%의 논문은 명백한 부정행위를 저지른 것으로 알려졌다. 즉, 아무리 심사위원들이 열심히 논문을 검수해도 저명한 학술지에 실리는 논문의 약 1%는 명백한 논문 조작임에도 출판된다는 뜻이다.

물론 과학기술 논문을 둘러싼 데이터 조작 문제는 뉴턴과 멘델, 그리고 유명한 밀리컨의 기름방울 실험에 이르기까지 역사적으로 오랫동안 나타난 주제다. 그리고 과학교과서와 과학의 진보가 증명하듯이, 과학기술계에서의 논문조작은 과학이라는 학문의 방법론적 체계만 제대로 작동한다면 과학이라는 학문의 진보에 큰 영향을 미치지 못한다. 물론 그건 논문이 과학기술계에서 발표되었을 때의 이야기다.

논문표절이라는 뜨거운 감자

과학기술 분야의 논문조작은 인문사회과학 분야에선 논문 표절로 나타난다. 그리고 한국사회는 언젠가부터 고위관료 청문회나 선거철만 되면 논문표절이라는 뜨거운 감자에서 단 한번도 자유로운 적이 없었다. 표절이 문제가 되는 상당수 논문은 과학기술논문이 아닌 인문사회과학과 예체능계열에서 나타난다. 최근 논란이 되고 있는 대선후보자 배우자의 학위논문 표절 역시 인문사회과학 분야의 논문이다. 논문표절은 이제 청문회의 단골소재가 된 위장전입처럼 한국의 고위층을 비롯한 학계 전반에 너무나 널리 퍼진 도덕적 해이의 전형적인 사례가 됐다.

논문표절을 찾아내는건 아주 쉬운 일이다. 이제 한국에선 대학생 리포트조차 표절검사기를 돌려야만 제출할 수 있을 정도니, 이번 대선후보의 배우자 논문처럼 논문표절검사가 불가능하던 시절의 논문이 아니라면, 적어도 이제 한국학계에서 논문표절은 불가능한 일이 됐다. 문제는 논문을 둘러싼 도덕적 해이가 다른 문장과 데이터를 베끼는 표절에만 있는게 아니라는 데 있다. 학술생태계에서 논문은 일종의 화폐로 사용된다. 즉, 학계에 종사하는 연구자에게 논문은 자신을 표현할 수 있는 거의 모든 것이다. 따라서 모든 연구자는 논문을 출판하기 위해 전력을 다한다. 하지만 좋은 학술지에 실을 수 있는 논문의 수는 제한되어 있고, 연구자의 숫자는 계속해서 늘어나고 있다. 

예를 들어 몇 년전 한국사회를 발칵 뒤집었던 전 법무부장관의 딸이 쓴 논문은, 논문표절이나 조작은 아니지만 저자자격을 두고 큰 문제가 됐고, 거대야당 대표의 아들이 서울대에서 발표한 포스터 역시 고등학생 수준으로 석사학위생이나 할 수 있는 그런 연구의 대표저자가 될 수 있느냐의 여부가 문제가 됐다. 한 명문대 교수는 본인 실험실 대학원생을 시켜 자기 자식의 논문실험을 대신해주었다가 교수직을 박탈당했고, 서울대를 비롯한 한국 교수들이 본인 자식을 논문저자로 등록했다가 들통난 사건은 이미 유명한 이야기가 됐다. 만에 하나 한국 교수들이 본인 자식이 아니라 친구나 지인의 자식들을 논문 저자로 등재한 것까지 전수조사 한다면, 한국의 교수사회는 풍지박산이 날 것이라는 말이 있을 정도로, 우리 사회에서 논문은 학자들의 학술발표용 도구가 아니라, 무한경쟁 사회 속에서 계급사다리를 오르기 위해 사용되는 자본주의의 도구가 되어버렸다.

지금 대선후보의 배우자 논문을 매일 공격하는 국회의원들 역시 표절에서 자유롭지 않다. 한국의 정치인 대부분은 국민의 혈세로 만들어지는 정책자료집을 베끼고 또 베끼는 것으로 유명하다. 심지어 이렇게 표절로 작성되는 정책자료집은 철회도 되지 않고, 국회의원직 유지에도 아무런 영향을 미치지 않는다. 논문표절처럼 국회의원 정책자료집 또한 디지털화해서 표절검사기를 돌려야 한다. 

학문이 당장 실용적으로 사회에 기여할 필요는 없다. 하지만, 학문이 언젠가 사회에 기여하려면, 연구는 진실해야 한다. 하지만 이제 학술생태계의 논문은 경쟁을 위한 도구로 전락해버렸고, 논문표절과 데이터조작은 너무나 당연한 일상이 됐다. 게티이미지뱅크 제공

학문이 당장 실용적으로 사회에 기여할 필요는 없다. 하지만, 학문이 언젠가 사회에 기여하려면, 연구는 진실해야 한다. 하지만 이제 학술생태계의 논문은 경쟁을 위한 도구로 전락해버렸고, 논문표절과 데이터조작은 너무나 당연한 일상이 됐다. 게티이미지뱅크 제공

학술생태계가 논문의 도덕적 해이에서 벗어나는 방법

도덕적으로 가장 신성해야할 대학이 연구부정행위는 물론 교수의 갑질, 청소노동자 학대에 이르기까지 도덕적으로 타락한 장소가 됐다는 건 매우 처참한 일이다. 문제는 이런 대학의 도덕적 해이에도 불구하고, 여전히 우리 사회는 뉴스에 잠시 분노할 뿐, 이런 문제의 궁극적 해법을 찾는데에는 관심이 없다는 점이다. 학문이 바로 사회를 바꾸지는 않지만 한 사회가 육성한 학문의 저력은 수십년에서 수백년에 걸려 그 사회의 구조를 변화시키는 원동력이 된다. 우리가 대학과 학문을 자정시켜야 하는 이유는, 그 곳에 국민의 혈세가 투입되기 때문이 아니라, 바로 그 공간이 곧 우리 사회의 미래와 직결되어 있기 때문이다.

30대의 나이로 거대야당의 대표가 된 이준석 대표는 시험과 같은 경쟁을 통해 사회에 공정이 자리잡을 수 있다고 믿는 대표적인 능력주의의 신봉자다. 물론 능력주의에 대한 논의는 여전히 학계는 물론 우리의 현실 속에서도 열려 있다. 존 롤스 하버드대 교수는 《공정으로서의 정의》에서 분명히 경쟁을 위한 출발선의 불평등을 지적하고 있지만, 그 출발선이 모두 평등해지길 기다릴 수 없는 상황에서, 누군가는 수능이나 학력고사 같은 시험제도야말로 가장 공정한 경쟁이라고 생각할지 모른다. 그들에게 바로 그 시험의 성적 분포와 학생의 부모가 지닌 경제력 수준과의 밀접한 상관 관계를 보여주는 일은 무의미하다. 민주주의 사회에서 제도란 결국 사회 대다수의 구성원이 원하는 방향으로 자리잡아가기 때문이다.

학술생태계에서 논문을 둘러싼 도덕적 해이가 일어나는 원인은 이미 명확하게 알려져 있다. 최근 네덜란드의 연구자들을 대상으로 실시한 대규모의 설문조사는 무려 53%에 달하는 설문참여자들이 자신의 연구과정에 연구진실성 문제가 있다는 충격적인 결과를 내놓았다. 즉, 절반 이상의 연구자들이 자신의 연구에 어느 정도 문제가 있다고 실토했다는 뜻이다. 물론 네덜란드의 연구자들이 연구진실성에 대해 좀 더 높은 윤리적 가치를 부여하기 때문에 이런 결과가 나왔을 수도 있지만, 아마 연구진실성에 대해 전세계적으로 비슷한 설문조사를 해도, 크게 다른 결론이 나오지는 않을 것이다.

연구자가 자신의 논문을 표절하거나 조작하는 가장 근본적인 원인은 경력에 대한 ‘압박’ 때문이다. 학계에서 뒤쳐질 수 있다는 두려움, 교수에게 밉보일 것이라는 두려움, 연구비를 받지 못할 것이라는 두려움, 연구소나 직장에서 해고당할지 모른다는 두려움 등이다. 즉, 가장 청렴해야 할 학계가 가장 비도덕적인 개인들의 집합으로 변해버린 이유는 언제부터인가 학자들이 모두 논문이라는 화폐를 두고 무한경쟁을 시작했기 때문이다. 물론 학계에서 경쟁이 나쁜 것만은 아니다. 공정한 경쟁은 학문의 발전을 위한 필수적인 문화다. 하지만 연구자의 생존 자체가 위협받는 지금과 같은 열악한 현실 속에서, 논문의 연구진실성 문제는 끊임없이 우리를 괴롭히게 될 것이다.

물론 이런 문제를 해결하는 방법은 있다. 이미 학술 출판의 문제를 통해 살펴보았듯이 논문의 사전심사제도를 없애고 논문을 사후심사하는 것이다. 블록체인은 그런 논문출판의 새로운 방식에 도움을 줄 수 있다. 문제는 학계가 문제의 해결책을 알고 있지만, 그 누구도 고양이 목에 방울을 달려하지 않는다는데 있다. 논문의 도덕적 해이를 해결하려면 연구자 개인의 연구윤리를 따지기 전에 학술생태계가 처한 구조적 문제를 철저히 해부하고 송곳 같은 해결책을 찾으려는 노력이 필요하다. 한국연구재단은 그런 일을 하라고 국민세금으로 만든 공공기관이다. 연구재단이 단발적인 처방이 아니라, 한국의 건강한 학술 생태계를 위해 궁극적인 해결책을 고안할 수 있길 바란다. 

※필자소개 

김우재 어린 시절부터 꿀벌, 개미 등에 관심이 많았다. 생물학과에 진학했지만 간절히 원하던 동물행동학자의 길을 자의 반 타의 반으로 포기하고 바이러스학을 전공해 박사학위를 받았다. 이후 박사후연구원으로 미국에서 초파리의 행동유전학을 연구했다. 초파리 수컷의 교미시간이 환경에 따라 어떻게 변하는지를 신경회로의 관점에서 연구하고 있다. 모두가 무시하는 이 기초연구가 인간의 시간인지를 이해하는데 도움이 될 것이라고 주장하고 다닌다. 과학자가 되는 새로운 방식의 플랫폼, 타운랩을 준비 중이다. 최근 초파리 유전학자가 바라보는 사회에 대한 책 《플라이룸》을 썼다.

[출처] https://www.dongascience.com/news.php?idx=47991

 357 total views,  2 views today

23 5월 2021

[IT 혁신디바이스/소프트웨어] NFT 대체 어떻게 사고 파는 거죠? (대체불가토큰) 

[IT 혁신디바이스/소프트웨어] NFT 대체 어떻게 사고 파는 거죠? (대체불가토큰) 

하순명 기자  

NFT(Non Fungible Token, 대체불가토큰) 열풍이 거세다. NFT는 2017년 블록체인 게임 ‘크립토키티’로 알려졌다. 최근에는 NFT로 785억원에 작품이 거래돼 화제를 모았다. 잭 도시의 첫 트윗이 32억7000만원에 팔리는 등 NFT 열풍에 관련 기업 주가도 급등하고 있다.

NFT 거래는 어떻게 하는 걸까? 어디에 상품을 올리고, 어떻게 파는 걸까?

암호화폐를 여러 거래소에서 거래하는 것처럼 NFT를 거래하는 곳도 많다. CNBC에서 24일(현지시각) 소개한 세계 최대 NFT 마켓플레이스인 오픈씨(OpenSea)에서 NFT를 이용하는 방법을 살펴봤다.

◇ NFT를 구매하기 위해 디지털 지갑을 만드는 방법

NFT 거래를 하려면 전자지갑을 개설해야 한다. 은행에서 거래하기 위해 계좌를 만드는 것과 유사하다. 오픈씨는 메타마스크(MetaMask)라는 크롬 브라우저용 플러그인 사용을 제안하지만, 다른 많은 디지털 지갑도 지원한다. 메타마스크로 살펴봤다.

우선 오픈씨 사이트(https://opensea.io/)에 접속한다.

지갑 연결 or 생성

이미 메타마스크가 있는 경우 ‘지갑 가져오기’를 실행하고, 없는 경우 ‘지갑 생성’을 실행한다. 다음은 ‘지갑 생성’의 과정이다.

암호를 생성하고, 이용약관에 동의하면 ‘비밀 백업 구문’이 나온다. 비밀 백업 구문은 혹시나 나의 계정이 노출됐을 때 복구해야 할 12개의 단어다. 해당 단어는 누구에게도 노출해선 안 되고, 자신만 볼 수 있는 곳에 잘 저장해 두는 것이 좋다.

다음 화면으로 넘어가면 ‘비밀 백업 구문’을 확인하는 작업이 진행된다. 하단에 제시되는 12개의 단어를 앞서 보여줬던 순서대로 선택하면 ‘다음’ 단계를 진행할 수 있다. 순서가 맞지 않으면 ‘확인’ 버튼이 활성화되지 않는다.

이제 메타마스크 지갑이 생성됐다.
다시 한번 비밀 백업 구문(시드 구문)의 중요성을 강조하는 안내 문구가 있다.

안전한 보관 팁은 다음과 같다.
– 백업을 여러 장소에 보관할 것.
– 구문을 누구와도 공유하지 말 것.
– 피싱 조심! 메타마스크에서는 절대로 시드 구문을 갑자기 물어보지 않는다.
– 시드 구문을 다시 백업해야 한다면 ‘설정 -> 보안’에서 시드 구문을 찾을 수 있다.

다음은 토큰이 교환 가능한 곳을 안내한다. 메타마스크 스왑은 다양한 분산형 교환 어그리게이터(aggregator), 투자전문기관, 개별 DEX(탈중앙 거래소)를 결합해 사용자가 언제든 최저 네트워크 요금으로 최상의 가격을 얻을 수 있게 지원한다고 설명한다.

이제 나의 계정에 0 ETH(이더리움)이 있음을 확인할 수 있다. 기존에 보유한 이더리움이 있다면, 그 수량만큼 표시될 것이다.

◇ 이더 구매 방법

이더를 구매하는 방법은 다양하다. 코인베이스와 같은 암호화폐 거래소를 이용할 수도 있고, 로빈후두(Robinhood) 같은 주식 거래 앱으로도 살 수 있다. 여기서는 메타마스크를 사용해 이더를 구매했다.

이더를 채우기 위해 ‘구매’ 버튼을 클릭하면 작은 창이 뜨며 ‘와이어(Wyre)로 이더 구매’나 ‘이더 직접 예치’ 중 선택할 수 있다. 와이어는 블록체인 기반 국제 송금 업체다.

구매할 달러를 입력하면 얼마 정도의 이더를 얻을 수 있는지 알 수 있다. 금액이 달라짐에 따라 수수료가 달라짐도 확인할 수 있다. 매 거래 시마다 동일한 네트워크 수수료가 붙는다. 적게 산다고 네트워크 수수료가 싸지는 게 아니니 필요한 양을 한꺼번에 구매하는 게 유리하다.

결제정보를 넣고 ‘다음’으로 넘어가면 등록한 휴대폰으로 와이어에서 거래에 대한 6자리 코드를 발송한다. 전송받은 코드를 입력하면 이더 구매가 완료된다.

이제 NFT를 구매할 준비가 끝났다.

◇ NFT 구매하기

이더를 구매할 총알이 준비됐다면, 이제 NFT를 구매해보자. 우선 다시 오픈씨 사이트에 접속한다.

사이트에서 원하는 작품을 고른다. 단품으로 나온 것도 있고, 번들로 여러 개 나온 것도 있다. 검색을 통해 원하는 항목을 찾아봐도 된다.

만약 170달러로 책정된 ‘Bitcoin Cash Card 1.0’을 구매한다면, 170달러 이 외에도 가스요금이라고 하는 일종의 거래 수수료를 함께 지불하면 거래가 성사된다. 이렇게 비용을 지불하면 해당 NFT를 소유하게 된다.

◇ NFT로 판매하기

NFT로 판매는 어떻게 할 수 있을까? 상품을 등록하려면 또 다른 사이트로 이동해야 한다. 판매를 위해 등록 사이트(Rarible.com)로 이동한다.

만약 상품을 등록하기 전에 지갑 연결을 하지 않았다면 등록된 내용이 모두 사라지니 상품 등록 전에 반드시 지갑을 연동해야 한다. 지갑 연동은 사이트 상단 우측에 ‘지갑 생성(Create wallet)’으로 실행한다.

이제 상품을 등록해보자. 사이트 우측 상단에 ‘생성(create)’을 선택한다.

작품은 하나를 올릴 수도 있고, 여러개 묶음을 올릴 수도 있다. 파일 형식은 PNG, GIF, MP3 등이며, 최대 업로드 가능한 크기는 30MB다. 판매가격, 상품명, 설명, 로열티, 속성 등을 입력한 후 ‘생성’을 실행한다.

상품을 등록할 때 수수료가 발생한다. 상품 등록에 요구된 비용은 0.005618이더(약 9.6달러)였다.

판매자는 이렇게 

 

 등록된 상품에 대해 서비스 수수료 2.5%를 제외한 금액을 받는다. 만약 판매가를 0.5 이더로 책정했다면, 2.5%의 수수료를 제외한 0.488이더(약 827달러)를 받는다.

지금까지 NFT로 상품을 등록하고, 판매하는 과정을 살펴봤다. 창작의 의지가 있다면 한 번쯤 도전해 볼 만한 수고로움이 아닐까.

하순명 기자 kidsfocal@chosunbiz.com

출처 : http://it.chosun.com/site/data/html_dir/2021/03/25/2021032500527.html

 529 total views,  2 views today

28 4월 2021

[1日 30分 인생 승리의 학습법] 훌륭한 개발자가 되는 방법

[1日 30分 인생 승리의 학습법] 훌륭한 개발자가 되는 방법

첫째, 문제에서 나 자신을 배제하지 말자⚠️

Photo by Fares Hamouche on Unsplash

둘째, 에러의 원인을 파악하자????

 

Photo by Rob Schreckhise on Unsplash

셋째, 에러 메시지를 읽어보자 ????

 

Photo on Pixabay

[출처] https://hshine1226.medium.com/%ED%9B%8C%EB%A5%AD%ED%95%9C-%EA%B0%9C%EB%B0%9C%EC%9E%90%EA%B0%80-%EB%90%98%EB%8A%94-%EB%B0%A9%EB%B2%95-5843a048a458

 319 total views,  6 views today

28 2월 2021

데이터 홍수 걱정 없는 저장장치의 차세대 주자들

데이터 홍수 걱정 없는 저장장치의 차세대 주자들

2021.02.27 09:00

전통적인 영화 필름(왼쪽)과 마이크로소프트에서 개발한 유리판 저장장치의 모습. 손바닥 크기의 유리판 저장장치를 사용하면 필름 4통이 필요한 영화 한 편을 저장할 수 있다. 마이크로소프트 제공

빅데이터와 인공지능(AI)을 일상적으로 활용하게 되면서 막대한 양의 데이터를 다루고 저장하는 기술에도 혁신이 일어나고 있다. 하드디스크드라이브(HDD)와 솔리드스테이트드라이브(SSD)를 넘어서는 미래 데이터 저장 기술을 살펴봤다.

온라인에서 볼 수 있는 사진과 영상, 문자 등의 데이터는 0과 1의 두 가지 숫자를 사용하는 2진법으로 기록된다. 현재 널리 사용되는 저장매체인 하드디스크드라이브(HDD)와 반도체 방식의 저장매체인 솔리드스테이트드라이브(SSD)는 2개의 2진법 데이터를 하나의 단위(비트)로 사용해 정보를 기록한다.

2진법으로 데이터를 기록하는 이유는 데이터의 보관과 처리에 따른 오차를 최소화하기 위해서다. 2진법 데이터는 전류가 흐르면 1, 흐르지 않으면 0으로 표시된다. 3진법으로 데이터를 저장한다면 전류의 세기에 따라 입력되는 데이터가 결정되는데, 0과 2 사이의 1이 입력되는 전류의 세기에 따라 0 또는 2로 잘못 기록될 수 있다.

정보를 단 두 개의 숫자로 표기해야 하기 때문에 저장 공간이 상대적으로 많이 필요하다는 점은 단점으로 꼽힌다. 십진법으로 표기하면 ‘10’이라고 두 글자로 저장하면 되는 정보가 이진법에서는 ‘1010’이라고 네 글자로 표기돼야 한다.

막대한 정보를 실시간으로 다루는 마이크로소프트, 구글 등 정보통신(IT) 기업은 데이터센터 크기를 늘리는 방식으로 대응하고 있다. 이를 위해 이전에는 건설하지 않던 곳까지 데이터센터를 개설하며 공간 문제 해결에 나서고 있다. 2015년 마이크로소프트가 ‘나틱 프로젝트’라는 이름의 데이터센터 건설 계획을 발표한 게 대표적이다. 넓은 부지가 필요한 데이터센터를 공간의 제약이 상대적으로 적은 바다 속에 건설하는 프로젝트로, 저장장치에서 발생하는 열과 소음, 진동까지도 관리할 수 있는 기발한 대안으로 평가받았다.

하지만 이런 노력도 결국 기존 방식의 데이터 저장장치를 사용하는 만큼 기존 저장장치의 근본적 문제점에서 벗어날 수 없다는 한계가 있다. 이에 연구자들은 데이터를 저장할 전혀 새로운 형태의 기술에 주목하고 있다.

과거 기술의 재발견, 자기테이프
자기테이프 저장장치는 필름에 코팅된 물질의 자성의 방향에 따라 데이터를 저장한다. 주로 과거에 사용됐지만, 최근에도 대용량 저장장치로 각광받고 있다.  후지필름/게티이미지뱅크 제공

자기테이프 저장장치는 필름에 코팅된 물질의 자성의 방향에 따라 데이터를 저장한다. 주로 과거에 사용됐지만, 최근에도 대용량 저장장치로 각광받고 있다. 후지필름/게티이미지뱅크 제공

과거에 사용됐지만 현재는 주류에서 완전히 밀려난 구식 기술이 최근 새로운 저장기술로 다시 주목 받고 있다. 1990년대에 음악과 영상 기록 및 재생을 위해 사용한 자기테이프 저장장치다. 카세트테이프, 비디오테이프라고 불리며 실생활에서 널리 사용됐지만, 컴퓨터와 HDD, SSD가 보급되면서 현재는 거의 사용되지 않고 있다. 

자기테이프는 플라스틱 테이프 표면에 산화철 등 자성을 띠는 재료를 코팅한 장치다. 데이터를 저장하고 읽을 때는 전자석 원리와 전자기유도 현상이 사용된다. 자기테이프를 전자석 부근에 통과시키면 자기장이 유도되며 자기테이프가 띈 자성이 한 방향으로 정렬되는데, 자성의 방향에 따라 0과 1의 디지털 데이터가 입력된다. 가령 연속된 자성의 방향이 같으면 0, 다르면 1이 새겨진다.

자기테이프는 반도체 기반 저장장치에 비해 저장용량이 크고 안정성이 우수하다는 게 장점이다. 반도체 기반 저장장치는 정보를 쓰고 읽기 위해 수많은 장치가 필요하지만, 자기테이프는 필름만으로 구성돼 장치도 매우 단순하고, 고장 나거나 데이터에 손실이 생길 위험성도 적다.

이 때문에 일부 기업에서는 여전히 대용량의 데이터를 보관하기 위해 자기테이프를 사용하고 있다. 최근에는 소재의 발전에 힘입어 저장용량이 계속 증가하면서 더욱 활용폭이 넓어지고 있다. 지난해 12월 일본의 정밀화학기업 후지필름과 미국의 IT기업 IBM은 신소재를 이용해 580TB(테라바이트·1TB는 1024GB)에 달하는 저장용량을 가진 자기테이프 저장장치를 개발했다고 발표했다. 이는 현재 가장 널리 사용되는 자기테이프 모델(LTO8)보다 약 50배 용량이 큰 수준이다.

연구팀은 지금까지 자기테이프에 사용된 소재인 바륨 페라이트 대신 더 작은 크기의 나노입자를 만들 수 있는 스트론튬 페라이트를 사용했다. 정보를 저장하는 개별입자가 높은 밀도로 구성되는 만큼 더 많은 비트에 데이터를 저장할 수 있다.

유리판에 데이터를 저장하는 기술도 등장했다. 2019년 마이크로소프트는 2mm 유리판에 수백 년 이상 데이터를 손실 없이 보관할 수 있는 ‘프로젝트 실리카’ 기술을 발표했다. 초미세 가공이 가능한 펨토초 레이저를 이용해 유리판 내부의 구조를 두 가지 형태 중 하나로 영구적으로 변형시키고, 이 변형된 구조를 이용해 2진법 데이터를 저장하는 기술이다. 이 기술은 물리적으로 안정적인 구조를 데이터화하는 만큼 데이터를 장기적으로 보관하는 데 유리하다. 마이크로소프트는 프로젝트 실리카 기술을 이용하면 클라우드에 저장된 정보를 안전하고 효율적으로 관리할 수 있다고 설명했다.

대신 이미지 정보 담은 DNA

자기테이프나 유리판의 저장성능이 아무리 뛰어나다고 해도 비트마다 2종류의 정보를 적용할 수 있다는 점은 반도체 기반 저장장치와 크게 다르지 않다. 그래서 일부 연구자들은 한 개의 비트에 3종류 이상의 정보를 담아 데이터 저장량을 늘리는 연구를 하고 있다.

대표적인 사례가 생명체의 유전정보를 담고 있는 물질인 DNA를 이용하는 기술이다. 사람을 비롯해 모든 생명체는 DNA에 저장된 정보를 이용해 다양한 특성(표현형)을 나타낸다. 사람은 약 3Gbp(기가베이스페어·염기쌍을 세는 단위. 1Gbp는 염기쌍 10억 개를 의미)의 DNA를 지니고 있다. 디지털 정보로 본다면 약 30억 개의 비트가 저장된 셈이다. 보통 8비트를 1바이트의 디지털 저장용량으로 계산하므로, DNA 1개에는 375MB(메가바이트·1MB는 100만 바이트)의 데이터가 저장될 수 있다.

하지만 DNA는 2진법으로 정보를 저장하지 않는다. DNA를 구성하는 염기는 아데닌(A), 티민(T), 구아닌(G), 사이토신(C) 등 총 4가지가 존재하기 때문에 1개 비트에 총 4개의 정보를 저장할 수 있다. 4진법 데이터 저장장치를 구현하는 셈이다. 단순계산해, 10개의 비트(DNA 염기쌍)에 약 100만 개(410개)의 정보를 저장할 수 있다. 2진법을 쓰는 디지털 저장장치가 10개 비트로 표현 할 수 있는 정보는 1024(210)개뿐이다.

DNA는 사용자가 원하는 염기서열로 손쉽게 합성하고 복제할 수 있다는 장점도 있다. 이런 특성을 활용해 DNA를 고분자 저장장치 재료로 사용하기 위한 연구가 활발히 이뤄지고 있다.

비록 정보를 저장한 DNA를 전자회로가 아닌 가루 형태로 보관해야 해 정보를 수시로 저장하고 불러오거나 원하는 정보만을 골라 찾는 데 한계도 있지만, 이에 대한 해결책도 연구되고 있다. 권성훈 서울대 전기정보공학부 교수와 박욱 경희대 전자공학과 교수팀은 서로 다른 정보를 디스크에 결합해 보관하는 형태의 DNA 저장장치를 개발해 지난해 7월 국제학술지 ‘어드밴스드 머티리얼스’에 발표했다. 연구팀은 고분자 섬유로 만든 QR코드 모양의 디스크를 제작했다. 고분자 섬유에는 각각 대동여지도, 훈민정음 해례본 등의 이미지를 저장한 DNA 분자를 화학적으로 결합했다.

그리고 저장된 DNA 염기서열 정보를 복제할 때 복제를 시작하는 역할을 하는 짧은 염기서열인 프라이머 정보는 QR코드에 저장해 QR코드만 스캔하면 저장된 이미지를 읽을 수 있도록 했다. 저장된 데이터를 불러올 때는 세포가 DNA를 복제하는 방법을 그대로 사용했다. 단일가닥 DNA에 프라이머가 결합해 이중가닥 DNA로 복제되면 새로 합성된 DNA 가닥이 분리되고 여기에 다시 프라이머가 결합해 계속해서 DNA 정보가 복제되는 방식이다. 복제된 DNA 가닥을 통해 염기서열을 해독하고 이를 다시 디지털 신호로 번역하면 저장된 이미지를 읽어낼 수 있다. doi: 10.1002/adma.202001249

박 교수는 “DNA 저장장치는 오랜 기간, 많은 양의 데이터를 저장해야하는 분야에서 활용가치가 크다”며 “특히 많은 양의 데이터가 필요한 헬스케어 산업 등에서 중요하게 활용될 수 있다”고 설명했다.

화학 분자에 새긴 피카소 작품
미국 브라운대 연구팀이 개발한 화학분자 저장장치로 저장한 이미지(왼쪽)를 불러오는 데 성공했다. 여기에 사용된 이미지는 피카소의 작품 ‘바이올린’이다.  네이처 커뮤니케이션 제공

미국 브라운대 연구팀이 개발한 화학분자 저장장치로 저장한 이미지(왼쪽)를 불러오는 데 성공했다. 여기에 사용된 이미지는 피카소의 작품 ‘바이올린’이다. 네이처 커뮤니케이션 제공

DNA 같은 고분자가 아닌 개별 분자를 활용한다면 더 작은 공간에 많은 데이터를 저장할 수 있다. 최근에는 여러 개의 분자를 하나의 분자로 합성하는 우기반응(Ugi reaction)을 이용해 데이터를 화학물질에 저장하는 방식이 연구되고 있다.

제이콥 로젠스타인 미국 브라운대 전자공학과 교수가 이끄는 공동연구팀은 아민, 알데하이드, 카르복실산, 아이소시안화물 등 4종류의 작용기를 가진 분자를 이용해 약 1500종류의 분자를 합성했다. 합성된 분자에는 각각 비트 순서를 부여하고 해당 분자가 존재하는 경우 1을, 존재하지 않는 경우 0의 신호로 해석했다. 1500개 분자를 사용하면 1500비트의 데이터를, 3000개의 분자를 사용하면 3000비트의 데이터를 저장할 수 있는 셈이다. 연구팀은 피카소의 그림 작품을 해당 방식으로 저장했다가 다시 읽어내는 실험을 진행했다.

연구팀은 분자에 저장된 정보를 다시 재현하기 위해 각각의 분자를 구분해 분석할 수 있는 질량분석 방법을 사용했다. 그 결과 저장된 이미지를 오차율 0.11% 이내로 재현하는 데 성공했다. 연구 결과는 국제학술지 ‘네이처 커뮤니케이션스’ 지난해 2월 4일자에 발표됐다. doi: 10.1038/s41467-020-14455-1

분자를 이용한 데이터 저장은 단지 한정된 공간에 저장할 수 있는 데이터 양을 늘린 것 이상의 가치를 갖는다. 연구팀은 액체에 녹아있는 화학 분자에 데이터를 저장하는 데 성공한 만큼 유연한 기판이나 3차원 표면에 정보를 입력할 수 있을 것이라고 주장했다. 연구팀은 정보를 3차원으로 저장하게 되면 이미지 인식과 검색 알고리즘 등 인공지능(AI) 관련 최신 연구 분야에 활용가치가 높다고 분석했다.

이 연구에 참여한 김은숙 브라운대 화학과 교수는 “다양한 과학 분야에서 데이터의 중요성이 높아지고 있는 만큼 새로운 형태의 저장장치 개발이 필요해지고 있다”며 “당장은 반도체 기반 저장장치만큼의 효율을 내는 데 어려움이 있지만, 새로운 형태의 저장장치가 폭넓게 사용되는 시대가 올 것”이라고 말했다.  

  • 이병철 기자 alwaysame@donga.com

[출처] http://dongascience.donga.com/news.php?idx=44254

 646 total views,  2 views today