반응형

레몬첼로 도서관 탈출게임
국내도서
저자 : 크리스 그라번스타인 / 정회성역
출판 : 사파리 2016.05.30
상세보기



회사 도서관에 갔다가 신간 도서 목록에 있는 책중에 눈에 띄는책이 있었다.


"레몬첼로 도서관 탈출게임"


눈에 띈 이유는 "탈출 게임" 이라는 단어였다. 책속에 뭔가 퍼즐이나 수수께끼 같은 내용이 있으면서 그걸 풀어나가는 내용의 책이라고 생각을 했다. 최근에 퍼즐이나 수학에 대해서 관심을 가지고 있던 터라 유난히 눈길을 끌었다. 최근에 프로그래밍 책 이외에 다른 책들을 읽지를 않았는데.. 이책이 내 눈길을 끌었다는것 자체가 개인적으로는 새로운 느낌이었다. 


또 이책이 신간 서적이어서 대여 기간이 일주일 밖에 안된다는 압박감이 책을 읽도록 재촉했다. 그런데 책을읽기 시작하자 의외로 술술 읽혔다. 내가 월요일부터 읽기 시작해서 오늘, 수요일날 다 읽었으니.. 최근에 정독한 책중에서는 읽은 기간이 제일 짧지 않았나 싶다. 


책 제목에서 알수 있듯이 책 내용은 12명의 아이들이 도서관을 탈출하기 위한 미션을 위해 단서를 수집하고 그 단서를 풀이해 나가는게 전반적인 줄거리이다. 

레몬첼로라는 사람이 도서관을 만들고 도서관 개관식에 선별된 12명의 아이들을 초대한다. 그리고 그 아이들은 개관일보다 미리 도서관을 둘러볼수 있는 특권을 준다. 하지만 이 특권은 알고보니 도서관을 탈출하기 위한 게임의 시작인 것이었다. 하루라는 시간이 주어지고 그 시간안에 도서관을 탈출하게 되면 도서관의 홍보대사로써 각종 광고에 출현할수 있으며 유명해질수 이는 기회가 생기는 것이었다. 이러한 상품을 걸고 아이들은 도서관을 탈출하기위해 단서를 수집하게 된다. 


책을 읽으면서 예상은 했지만 아이들마다 저마다 잘하는 분야가 있으며 그걸 잘 조합해서 문제를 풀어가는 사람이 우승을 할것이라는 추측은 가능 했다. 그리고 주인공이라고 불릴수 있는 카일이라는 아이는 게임을 풀어가는 능력과 리더십을 갖춘 인물로 보여진다. 팀을 만들고 팀원들의 의견을 존중하면서 팀의 우승을 위해서는 자신의 욕구를 억누를수 있는 아이이다. 그 결과 카일은 팀원들과 함께 문제를 풀수 있었으며 그 보상을 팀원들과 나눠 가질수 있게 된다.


전체적인 줄거리는 책을 읽어가면서 쉽게 예측이 가능했다. 아마도 이 책의 아쉬운 점이라고 생각할수 있다. 그리고 내가 이 책에 기대했던것은 좀더 많은 퍼즐과 수수께기 같은 단서들이 책을 읽는 독자들이 함께 할수 있기를 바랬는데.. 아무래도 번역서이다 보니 약간의 거리감은 있었다. 모든 단서가 영어 단어와 연관이 되었기에 독자와 함께 풀기에는 한계가 있었던것 같다. 내가 생각한것은 언어관련 문제가 아닌 수학적 문제가 나오길 바랬는데...


그리고 또 한가지 아쉬웠던 점은 문제를 풀어가는 실마리 들이 .. 뭔가 개연성이 이어지질 않는다는 느낌을 받았다. 물론 책속의 주인공들은 그것을 알고 있겠지만 이 책을 읽는 독자들은 실마리를 유추하는 과정이 뭔가 단서가 부족하다는 느낌이 들었다.


하지만 내가 이책을 통해 알게된 점은.. 도서 분류체계에 대한 내용이었다. 도서관에 가보면 각 분야별로 번호가 있다. 난 지금까지 그 번호가 도서관 자체에서 정의를 내린 분류체계인줄 알았다. 그런데 이 책을 읽으면서 각 분류에 대한 표준이 있다는것을 알게 되었다. 물론 그 표준이 특정 지역마다 다르다는 것까지 알게 되었다. 


약간의 판타지 요소가 있으면서 책속에서도 나오지만 책 내용 자체가 "윌리웡커의 초콜렛 공장" 같은 느낌을 주는 책이었다. 내가 기대했던 내용과는 약간의 차이가 있었지만 그래도 읽는 동안 재미를 느낄수 있었고 책 내요을 토대로 영화로 만들어져도 재미있을것 같다는 느낌이 들었다. 

728x90
반응형
반응형


원문 : Refactoring open source business models

http://www.hanbit.co.kr/network/category/category_view.html?cms_code=CMS7808268979



오픈소스 비즈니스를 운영하는 것은 오픈소스 커뮤니티의 일부가 되는 것과는 많은 차이점을 가지고 있다.

 

저는 Lucidworks에서 일할 때 맨 처음 영업 상담 전화를 잊지 못할 것입니다. 우리는 막 펀딩의 첫걸음을 시작하고 첫번째 영업사원을 고용했습니다. 저는 기술적 자원으로써 잠재적인 고객들과 통화를 했습니다. 통화가 끝날 때 즈음 저는 고객들의 기술에 관련된 모든 질문에 대답을 했고, 그 결과 영업사원의 기회를 차례로 망쳐버렸습니다. 고객들은 우리회사의 도움없이도 자신들의 문제를 해결할 수 있었습니다.

 

저는 오픈소스 비즈니스를 운영한다는 것은 오픈소스 커뮤니티의 일부가 되는 것과는 많이 다르다는 것을 빨리 깨달았습니다. 우리가 지원을 우선시 하는 사업에서 제품에 초점을 맞춘 조직으로 성장함에 따라 지난 몇 년 동안 이 테마에 대한 변화는 정기적으로 발생해왔습니다.  모든 사업과 마찬가지로 우리는 어떻게 수입을 만들어낼지 생각해야 합니다. 오픈소스 비즈니스들은 주요 제품의 결과물이 프리(Free) 라이선스가 된다는 고유한 특성을 가지고 있습니다.  이것으로 인해 심각한 가격 하향을 야기하는 경우는 최선의 경우입니다. 최악의 경우에는 무료 소프트웨어, 무료 지식, 무료 지원처럼 모두 무료가 됩니다.

 

만약 오픈소스 프로젝트로 비즈니스를 하고 싶다면 당신은 이 현실이 어떻게 돌아가는지 알 필요가 있습니다. 실제로 “당신의” 코드 베이스가 실제로 당신 소유가 아니고 Apache Software Foundation과 같은 오픈소스 기관의 소유일 경우 더욱 복잡해 집니다. 그리고 당신은 종종 “당신의” 샌드박스 내에서 이익이 상충이 될 수 있습니다.

 

Lucidworks에서는 컨설팅과 지원을 우선적으로 하면서 “어떻게 이익을 만들수 있나” 라는 질문에 대답하기 위해 여러번 반복을 했습니다. 이것은 점차적으로 오픈소스로 직접 만들기를 원하는 사람들을 지원하는 옵션을 가지고 있으면서도 오픈소스로 만들어진 플랫폼을 판매하는 우리의 현재 모델로 진화를 했습니다. 이러한 접근에는 각각의 장점과 단점이 존재합니다.

 

컨설팅이 알맞은 팀에게 큰 이익을 가져다 줄 수는 있지만 변경하기가 힘듭니다. 따라서 마진이 적고 거의 벤처 기업 정도의 수익을 창출하는 회사가 알맞습니다. 우리들에게는 초기 컨설팅 프로젝트들은 무슨 기능을 만들지 학습하는데 중요한 역할을 했습니다.

 

당신의 소프트웨어가 유비쿼터스이고 반복되어 발생하는 계약의 사용자 비율을 변환할 수 있다면 지원은 정말 좋은 사업이 될 수 있습니다. 어떤 경우에는, 지원은 단지 초기에 소프트웨어에 버그가 발생하는 기간에만 필요하다고 생각했습니다. 그리고 일단 고객들이 초기 러닝커브를 극복하고 성공적인 배포를 하게 되면 기업들은 판매를 위한 다른 모델을 찾도록 강요합니다.

 

많은 기업들은 상업적 확장을 위해서 오픈소스 프로젝트를 선택합니다. 그리고 그들은 사람들이 부가적인 추가 기능을 사용하기 위해 돈을 지불하기를 기대합니다. 여기에서 문제는 특정 업체에 종속되거나, 또는 커뮤니티에 의해 만들어진 유사한 기능과 구분되고 지원을 강요 받는 데에서 생기는 어려움입니다. 만약 좋은 스위트 스폿을 찾았다면 당신이 커뮤니티의 좋은 집사 역할을 하는 동안은 마진을 유지할 수 있을 것입니다. 하지만 제품 개발에 대한 예리한 눈을 가지고 사용자가 실제로 필요한 것을 더 잘 이해하기 위해 지원하고 컨설팅 한 후에 성장하는 경우도 있습니다.

 

최선의 선택은 무엇일까요? 물론 대답은 당신의 오픈소스 프로젝트의 특별한 능력을 포함한 회사가 어떻게 출자됐는지, 팀의 스킬셋, 경쟁구도와 같은 다양한 요인에 따라 결정됩니다. 당신이 스스로 확산하지 않는 한 하이브리드 모델도 실용적이 될수 있습니다.

 

결론적으로 오픈소스 기업으로서 여전히 커뮤니티가 성장하고 육성되는 동안 “무료”라는 함정을 회피하기 위한 방법을 빠르게 결정해야 합니다. 단지 소프트웨어 회사로서 정상적으로 작동되지 않는 모델을 리펙토링하는 것을 두려워해서는 안됩니다. 

728x90
반응형
반응형

이번에 만든 레고는 생일케익이다.

이것도 공홈에서 안나온지 꽤 되서 직구를 하려다가 

중*나라를 통해서 구매를 했다. 

별로 살 생각이 없다가 자꾸 보니깐 이쁘기도 했고 지후가 생일케익을 좋아해서 구매를 했다. ^^



상자의 앞, 뒷면은 어떻게 생겼는지 보여주고 있다. 



소박스이긴 하지만 그래도 블럭 개수가 좀 되서 조립할 맛은 났다. ^^



밑 판부분이다. 

왼쪽이 뒷부분이고 오른쪽이 앞부분인데 앞부분의 파란블럭 위에 숫자를 만들어서 올려놓을수 있다.



그리고 삐에로.

사서 조립하기 전까지 얼굴이 앞뒤로 있을줄은 생각도 못했다. ^^

레고의 이런 디테일은 정말 놀랍다.



삐애로는 이렇게 케익 안에 넣게 되고 동그랗게 케익이 올라가게 된다. 



이건 케익 윗부분을 덮을 덮개이다. ^^



짠~~ 덮개를 조립하고 완성된 모습이다.

뒷부부의 판을 이용해서 이렇게 열고 닫을수 있다. 

열었을때 저렇게 삐애로 얼굴이 보인다. 



이건 케익 앞에 놓을수 있는 숫자인데 0부터 9까지 만들수 있다. 



일단 지후가 4살이어서 4를 만든후 부착!!.



완성된 모습의 생일케익이다. 

양옆에 촛불도 있고 케익의 모습을 잘 표현해놓은것 같다. 

다행히 지후한테 줬더니 신기한듯 잘 가지고 논다.^^



728x90
반응형
반응형

이번에 만든건 빨간 돼지 저금통

상자가 생각보다는 컸다..




일단 조립은 정말 간단했다. 

단지 다 빨갛다 보니깐 만들다가 가끔 착시 현상이 나타나기도 ^^;;;


정면샷.

주목할점은 저 눈이 돌아간다는것.

그냥 정지 한것이 라니라 손으로 돌리면 뱅글뱅글 돌아간다. 



꼬리도 마찬가지로 돌아간다.



저금통이기 때문에 이렇게 등에 동전을 넣을수 있는 구멍이 있다.

저금통으로 사용할 일은 없겠지만.

그래도 지난번 만든 큐피드 강아지랑 같이 놓으면 잘 어울릴것 같다.


728x90
반응형
반응형

원문 : 3 challenges for using Docker


http://www.hanbit.co.kr/network/category/category_view.html?cms_code=CMS3858827361



컨테이너가 어떻게 사용되고 어떤 기술과 인프라가 채택되고 있는지 알아봅시다.

요즘 컨테이너는 IT 업종에서 가장 뜨거운 주제입니다. 그런데 실제로 컨테이너가 어떻게 사용되고 있습니까? 2015년 5월에 Ruxit과 공동으로 O"Reilly Media는 현재 조직이 어떻게 컨테이너를 사용하고 있는지 또는 사용할 계획인지를 공유하기 위해 O"Reilly커뮤니티에 사람들을 초대해서 조사를 했습니다.
그 결과 컨테이너 기술들은(특히 Docker는) 어플리케이션 배포를 빠르고 쉽고 보다 유연하게 해주기 때문에 빠르게 채택되고 있는 것으로 밝혀졌습니다. 2015년 DockerCon에서 있었던 설문에서는 컨테이너를 어떻게 사용하고 있는지,어떤 컨테이너 기술과 인프라를 채택하고 있는지 그리고 그 컨테이너를 사용하는 데에 동기를 주거나 연관된 요소들은 무엇인지 밝히는 데에 중점을 두었습니다.

컨테이너, 확실하긴 하지만…
설문 응답자들 중 40%는, 현재 개발을 위해 사용하고 있다는 86%와 비교하여 "생산을 위해 컨테이너를 사용한다"고 대답 했습니다. Docker 컨테이너는 "한번에 빌드를 하고 언제 어디서나 실행 가능하도록" 설계 되어있습니다. 그런데 왜 컨테이너를 생산에 좀더 많은 부분에서 사용하지 않는 걸까요? 응답자들은 컨테이너를 채택하기 위해서는 기술의 성숙도, 오케스트레이션, 모니터링,자동화, 그리고 환경의 크기뿐만 아니라 컨테이너를 적용함으로써 생기는 장점을 개발팀, 관리팀, 고객에게 설득해야 하는 어려움도 존재 한다고 대답했습니다.


적용하는데 걸림돌이 되는 기술 성숙도
56%이상의 설문 응답자들은 컨테이너 기술을 활용한 인프라 구조로 변경하는데 가장 큰 장벽은 기술의 성숙도라고 응답했습니다. 과거 2년동안 릴리즈된 컨테이너와 연관된 모든 툴과 프로젝트들을 계속해서 파악하는 것은 어렵습니다. 그리고 그 것들 중 몇몇은 이름이 바뀐 것도 있고 아직 베타 버전인 경우도 있습니다. 이렇게 개발의 빠른 속도는 아직 안정성이나 성숙도를 보여줄 정도는 아닙니다.


그러나 컨테이너로 패키징 되고 동적으로 관리되는 마이크로 서비스 기반의 어플리케이션 개발을 발전시키기 위한 기존 기술들과 조화를 이루는데 초점을 맞췄던 설문은 6월, OCI가 포메이션에 대한 발표를 하기 전과 7월, Cloud Native Computing Foundation(CNCF)가 설립 되기 전에 종료되었습니다. 이런 주도적인 행동들로 짧은 기간에 컨테이너 기술이 어떤 영향을 줄 수 있는지 말하는 것은 쉽지 않습니다. 기존 기술들과 융화 되려면 아직은 시간이 필요합니다.


그러나 이 공간에 기존 툴을 가지고 있는 선두 업체들이 돌아오게 되면 이러한 주도적인 행동들은 안정성을 보장할 수 있게 됩니다. 그리고 그들은 컨테이너로 기동하는 일련의 안정적 통합 솔루션을 찾기 위한 진입 점을 제공할 것입니다.

대규모 배포 시에 중요한 요소인 오케스트레이션
응답자중 절반은 컨테이너를 채택하려고 할 때 오케스트레이션은 하나의 요소라고 응답했습니다. 이미 Docker를 사용하고 있던 응답자들은 이런 응답을 했습니다.


오케스트레이션은 멀티 컨테이너, 멀티 호스트 어플리케이션에 있는 컨테이너를 조직화하고 연결하는 기능을 가지고 있습니다. 그리고 특히 마이크로 서비스 아키텍쳐로 되어 있는 어플리케이션들을 위해 중요한 역할을 합니다. 예를 들어 웹 어플리케이션은 각각의 컨테이너에서 동작하는 수많은 백앤드 서비스들과 마찬가지로(페일오버나 로드발란싱을 위한) 프론트 앤드의 여러 개 인스턴스를 관리하기 위한 웹 서버들을 구동하는 컨테이너의 집합으로 구성되어있습니다.


분명하게 Google 의 Kubernates와 Mesosphere"s Marathone을 지원하는 오케스트레이션 툴들은 Apache Mesos로 만들어졌습니다. Docker 자체적인 오케스트레이션 툴인 Swarm, Compose, Machine은 2월에 릴리즈 되었고 Compose는 기존의 Fig 툴이 변경된 것입니다. 어떤 컨테이너 관련 기술들을 사용하고 있는지 응답자들에게 물었을 때 38%는 Docker Swarm을, 22%는 Kubernates를 , 22%는 Mesos를 사용하고 있거나 사용할 예정이라고 응답했습니다. 그리고 Kubernetes를 사용한다고 응답한 사람들은 대개 큰 기업에서 일을 하고 있었습니다. Docker Swarm과 Machine은 여전히 베타 버전이지만 Kubernetes는 CNCF를 출시했던 7월21일에 버전 1.0을 릴리즈 했습니다. 따라서 이러한 툴들이 발전할 수 있는 기회를 준 후에 적용 비율을 비교해보는 것은 매우 흥미로운 일이 될 것 입니다.

확장성 모니터링에 대한 제한 요인
컨테이너가 제품의 넒은 영역에 사용되면서 모니터링 툴에 대한 요구가 또한 증가하게 되었습니다. 응답자중 46%는 모니터링이 컨테이너화한 어플리케이션으로 변경하는데 중요한 요소라고 응답했습니다. 오직 1개의 호스트에서만 동작하고 디스크에 있는 로그파일(예:/var/log 아래)을 분석하는데 의존했던 기존 Linux기반의 모니터링과 리포팅 툴들은 멀티 컨테이너 클러스터 어플리케이션으로 변경하기에 적합하지 않았고 싱글 컨테이너 어플리케이션을 모니터링 하는 것 조차도 적합하지 않았습니다. 왜냐하면 저장되지 않은 데이터들은 컨테이너가 동작하지 않을 때에 디스크의 내용이 유지 되지 않기 때문입니다. 컨테이너 인식 모니터링 툴 또는 서비스를 사용하여 어플리케이션을 모니터링 하고 로그를 확인하는 것에 대한 집중화된 접근은 동적으로 다수의 컨테이너 어플리케이션을 관리하는 데에 더 적합합니다.


컨테이너의 상태를 모니터링 하기 위한 셀프 호스트 솔루션으로는 오픈 소스 툴인 cAdvisor와 Sensu, Prometheus가 있습니다.


Docker는 1.5버전부터 동작중인 컨테이너들의 스트리밍 자원의 사용 상태를 확인 하기 위한 Stats API를 지원해왔습니다. 그리고 수많은 벤더들은 New Relic, Scout, DataDog, SignalFX, AppDynamics 를 포함한 Docker Stats API로 만들어진 호스트 모니터링 툴을 제공합니다. 이 툴들은 컨테이너 상태를 모니터링 하지만 Stats API를 통해 제공된 데이터에 의존적입니다. 그리고 그런 이유로 컨테이너 안에서 동작하고 있는 서비스들이나 어플리케이션에 대한 좀더 상세한 정보는 제공하지 않습니다. Ruxits의 Docker Monitoring은 새로 생성된 컨테이너에 대한 오토 디스커버리를 제공합니다. 그리고 컨테이너 내부에서 동작하고 있는 어플리케이션과 서비스들에 대한 디스커버리와 Docker컨테이너 안에서 실행되는 마이크로서비스들과 동적 분산 어플리케이션에 대한 어플리케이션 중심 모니터링을 제공합니다.

자동화
40%의 응답자들은 자동화는 또 다른 요소라고 말합니다. 특히 자동화는 변경이 많은 마이크로 서비스 기반의 분산 어플리케이션 구현하는 데에 유용합니다. 예를 들어 하나의 서비스를 새로운 컨테이너로 변경 하는 것이 장소를 업그레이드 하는 것보다 낫습니다. 기존에 Jenkins와 같은 배포 툴(배포를 위해 Ansibl과 같은 CM 툴과 결합한)과 CircleCI같은 컨테이너 사용가능한 서비스들은 DockerHub로부터 직접적으로 Docker이미지들을 내려받고 CI/CD프로세스의 부분처럼 직접 빌드를 하고 배포를 할 수 있습니다. 동적으로 서로 관련이 있는 서비스들을 미리 연결하는 것보다 다른 서비스들을 동적으로 디스커버리 하는 것을 가능하게 하기 위한 Etcd와 Consul을 포함한 서비스 디스커버리 툴들은 이 이야기에 중요한 부분입니다.

요약
설문 응답자들에 의하면 컨테이너 기술 채택에 대한 높은 비율은 Docker와 컨테이너에 관련된 현재 업계에 대한 추세를 반영합니다. 응답자중 반 이상이 앞으로 6-12개월 안에 제품에 컨테이너를 사용할 예정이라고 말했습니다. 그리고 설문에 의해 확인된 분산 컨테이너 어플리케이션을 위한 자동화, 모니터링, 오케스트레이션과 같은 핵심적인 요소와 관련된 영역을 다루는 통합솔루션과 안정성, 제품준비에 대한 명백한 수요도 있습니다.
어떻게, 왜 사람들이 Docker를 사용하는지 배우기를 원하시나요? 설문의 나머지 부분을 읽어보십시요.

728x90
반응형
반응형


이번 주말에 조립한 레고는 에메랄드 익스프레스 이다. 

예전에 분명 마트에 많이 있었는데 요즘에는 좀처럼 구할수가 없어서 할수 없이 중*나라에서 검색해서 구매를 했다. 

다행히 마트에서 팔았던 가격과 비슷한 가격으로 구매를 하게 되서 득탬한 느낌^^;;



같은 것을 3개를 산 이유는 모통 크리에이터 시리즈가 3가지 형태이 다른 모양으로 조립을 할수 있기 때문이다.

3개의 형태로 조립을 해서 기차를 연결을 하면 제법 그럴듯한 모양이 나오기 때문에 3개를 구매했다.



우선 첫번째 맨 앞칸 기차.

기차 굴뚝도 있고 기차 모양은 다 갖추고 있다. 

블럭이 별로 많이 들어가지도 않았는데 이런 모양을 구현해주다니.. 레고는 참 대단하다.



두번째는 약간 화물칸 느낌이 나는 기차칸이다. 

딱 봐도 첫번째보다 블럭이 덜 들어가서 남는 블럭이 좀 많았다. 



제일 아쉬웠던건 이 세번재째 칸인데.. 뭔가 약간 어정쩡하다. -_-;;

웃부분 지붕도 원래는 없는건데 내가 그냥 붙여봤다.. 너무 횡.. 해서..





솔직히 첫번째 기차칸 아니었으면 볼품 없었을것 같은데 다행이다. ^^





728x90
반응형

'Enjoy Life > Lego' 카테고리의 다른 글

[40153]레고 생일케익  (0) 2016.05.11
[40155]돼지 저금통  (0) 2016.05.01
[40201]레고 발렌타인 큐피트 강아지  (0) 2016.02.15
[853195]레고 블록 캘린더  (0) 2015.01.20
[40140]플라워 카트  (0) 2015.01.13
반응형

좀처럼 늘지않는 번역실력이라니..


원문 : Data Scientists: Generalists or specialists?


http://www.hanbit.co.kr/network/category/category_view.html?cms_code=CMS8320856782



그 대답은 회사의 성숙에 대한 수준에 달려있습니다.

2008년에 LinkedIn에서 “데이터 사이언티스트”를 처음 모집할 때에 회사에서는 분명히 제너럴리스트를 원했습니다.

LinkedIn에 도전하세요. 우리는 매우 혁신적인 제품을 만들기 위한 작은 팀을 만들기 위해 분석적인 마인드를 갖고 있는 사람들을 찾고 있습니다.


특별한 테크니컬 스킬은 필요하지 않습니다.(회사에서 SQL, Python, R에 대한 교육을 제공할 예정입니다.) 당신은 매우 영리하고 넓은 배경지식을 가지고 있어야 합니다. 그리고 빨리 배울수 있어야 하며 독립적으로 일을 진행할 수 있어야 합니다. 이 직업은 정말 영리하고 주도적이며 창의적으로 문제를 해결하는데 매우 능숙한 사람에게 완벽한 직업입니다. 당신은 통계, 데이터 마이닝, 프로그래밍, 제품 디자인을 배우게 될 것입니다. 하지만 우리가 가르칠 수 없는 지적 능력과 창의력은 당신이 가지고 있어야 합니다.


반면에 오늘날 데이터 사이언티스트란 직업의 대부분은 높은 수준의 기술들을 요구합니다. 어떤 고용주들은 특정 프로그래밍 언어나 툴 셋에 대한 지식을 요구합니다. 또 다른 곳은 박사 학위나 머신 러닝과 통계에 대한 특별한 학위를 요구하는 곳도 있습니다. 그리고 많은 고용주들은 관련 분야에 경험이 있는 지원자를 선호합니다.

만약 당신이 데이터 사이언티스트들로 팀을 만든다면 제너럴리스트를 선택하겠습니까? 아니면 스페셜 리스트를 선택하겠습니까? 마찬가지로 대부분의 것들은 그것에 의존합니다. 회사가 해결해야 하는 문제의 종류, 팀의 크기, 재능에 대한 당신의 입장을 생각해 보십시오. 그러나 가장 중요한 것은 성숙에 대한 회사의 수준을 고려하는 것입니다.

초기

기업의 초기에는 스페셜리스트보다 제너럴리스트가 더 가치가 있습니다. 왜냐하면 당신은 아무런 사전 준비지식 없이 대부분의 제품을 만들고 무엇인가 없는 것보다 있는게 더 낫기 때문입니다. 당신의 첫 번째 분류는 game-changing 결과를 달성하기 위해 딥 러닝을 사용할 필요가 없습니다. 또한 당신의 첫 번째 추천 시스템도 gradient-boosted decision tree를 사용할 필요가 없습니다. 단순한 t-test 정도면 당신의 A/B 테스트의 요구를 충족시킬 것입니다.

이런 이유로 제품을 만드는 사람은 10년 정도의 머신 러닝 알고리즘을 사용한 경험이나 통계학 박사 학위는 필요하지 않습니다. 초기에는 데이터를 정제하든 네이티브 모바일 앱을 개발하든 원숭이처럼 스택 주위에 올라갈 수 있고 무슨 일이든 할 수 있는 사람이 더 필요했습니다.

뛰어난 제너럴리스트인지 어떻게 확인할 수 있을까요? 이상적으로 그들은 이미 계산, 품질, 이질성에 대한 기술들을 테스트 할 정도로 충분히 거대한 데이터 셋을 가지고 일해온 사람들입니다. 학업이나 직장 내 훈련을 통해서 STEM에 대한 지식을 가지고 있는 사람은 좋은 지원자가 될 수 있습니다. 그리고 어떻게 툴을 사용하는지 배우고 그것을 적절하게 사용할 수 있는 능력과 의지를 보여주는 사람도 확실히 제 주의를 끌 것입니다. 나는 제너럴리스트들을 평가할 때 그들의 다양한 관심사를 보여줄 수 있는 프로젝트를 보여달라고 요청합니다.

나중 단계

제품이 발전할수록 제너럴리스트들은 한계에 부딪치게 됩니다. 그들은 데이터 제품의 초기 버전을 개발하는 데에 열중하기만 할 뿐 그것을 어떻게 발전시켜야 하는지는 관심이 없습니다. 반대로 머신 러닝 스페셜리스트들은 비효율적인 알고리즘을 좀더 나은 방법으로 변경하고 계속해서 시스템들을 튜닝합니다. 기업이 성장하는 단계에서 스페셜리스트들은 기존 시스템들에 추가적인 부분을 도출하는 데에 도움이 됩니다. 만약 당신이 Google이나 Amazon에 있다면 이러한 점진적인 개선들은 놀라운 가치로 나타나게 될 것입니다.

비슷하게 동시에 수천 개의 실험들이 진행되고 상호작용과 새로운 것에 대한 영향, 속성에 대해 걱정이 될 때 직원들이 통계적인 전문지식을 갖고 있는 것은 중요합니다. 이것들은 제1세계 문제이지만, 그들이 정확히 시니어 통계학자를 요구하는 그런 종류의 문제입니다.

뛰어난 스페셜리스트인지 어떻게 확인할 수 있을까요? 머신 러닝이나 실험과 같은 특정 분야에 깊이 있는 경험을 가지고 있는 사람을 찾아야 합니다. 모든 스페셜리스트들은 학위를 가져야만 하는 것은 아니지만 관련 분야에 대한 학력은 전문성에 대한 신뢰할만한 자료이고 그 또는 그녀가 전문분야에 헌신했다는 의미입니다. 간행물과 프리젠테이션도 도움이 됩니다. 제너럴리스트의 영역에서 스페셜리스트를 평가할 때에 그들이 나를 겸손해지게 만들고 무언가 새로운 것을 가르쳐 주기를 원하게 됩니다.

결론

물론 이상적인 데이터 사이언티스트는 팀의 부족한 부분을 보완할 수 있도록 특별한 전문성을 가지고 있는 뛰어난 제너럴 리스트 입니다. 그러나 이상은 유니콘 또는 유니콘의 뿔과 같습니다. 만약 당신이 운 좋게 이러한 희귀 동물들을 찾는다 할지라도 그들이 모든 능력을 발휘할 가능성이 없을 것 같은 일일 지라도 몰두 할 수 있도록 몸부림 칠 것입니다.

자, 이제 제너럴리스트와 스페셜리스트 중 누구를 고용하시겠습니까? 이건 정말로 의존적이긴 하지만 당신의 결정의 큰 요인은 성숙에 대한 회사의 수준이어야만 합니다. 만약 당신이 여전히 확신할 수 없다고 회사가 여전히 빠른 성장 단계에 있다면 제너럴리스트를 선택하는 것이 좋습니다. 당신의 문제들은 아마도 당신이 생각한것 만큼 깊은 수준이 아닐 것입니다. 그래서 제너럴리스트를 고용하는 것이 당신의 부담을 줄여줄 수 있습니다. 더 나아가 제너럴리스트들에게 높은 수준의 스킬을 배울 수 있는 기회를 준다면 모두가 윈윈 할 수 있을 것입니다.

728x90
반응형
반응형

오랜만에 레고를 주문해서 조립해봤다. 얼마만에 조립해보는건지..

이름하여 발렌타인 큐피트 강아지!!!!!!

발렌타인데이를 기념에서 시즌상품으로 나온 강아지다. 







몸통부분 조립 완성.

앞에 있는 나비넥타이와 발톱 부분이 상당히 귀엽다 ^^



머리까지 완성하고 손에 큐피트 화살과 하트를 쥐어줬다.

그림으로 보는것보다 실제 조립한 모습이 더 귀여운것 같다.

색깔이 좀 안이쁘지 않을까도 했는데..



뒷모습도 앙증맞은 .. 

강아지의 필수인 꼬리도 달려있다. 



귀를 내려서 차렷자세.

귀를 내리는것도 나름 귀엽다 ^--^


728x90
반응형
반응형

간신히 마친 번역



원문 : 3 easy reasons why you’ll move your business to the cloud


http://www.hanbit.co.kr/network/category/category_view.html?cms_code=CMS7356601744


클라우드 네이티브 애플리케이션 아키택쳐로의 변화는 혁신으로 이어집니다.

클라우드 네이티브 애플리케이션 아키택쳐를 적용할 때 어떻게 클라우드가 혁신과 변화를 가능하게 하는지 회사가 고려해야 할 부분과 클라우드 네이티브 애플리케이션 아키택쳐로의 변화가 가지고 있는 기본적인 동기들을 살펴봅시다.

 

속도(Speed)

속도가 시장에서 중요한 성공 요인이라는 것은 분명합니다. 소프트웨어 기반의 솔루션들을 개발하고 제공하는 사업들은 경쟁자들보다 빠르게 기존의 딜리버리 모델들을 습득해야 합니다.

엔터프라이즈 환경에서 새로운 애플리케이션 환경을 제공하고 새로운 버전의 소프트웨어를 반영하는데 걸리는 시간은 기본적으로 일, 주, 또는 월 단위로 측정됩니다. 신속성의 부족은 특정 릴리즈에 의해 발생할 수 있는 위험을 엄격하게 제한합니다. 왜냐하면 오류를 만들어내고 수정하는 비용 또한 동일한 시간 단위로 측정되기 때문입니다.

인터넷 기업들은 종종 하루에 수 백 번씩 배포를 하는 작업에 대해 표창을 하기도 합니다. 왜 빈번한 배포가 중요한 걸까요? 만약 당신이 하루에도 수 백 번 배포가 가능하다면 거의 즉시 오류들을 처리할 수 있을 것입니다. 그리고 당신이 즉시 오류를 처리할 수 있다면 더 많은 위험을 떠맡게 될 것입니다. 그리고 더 많은 위험을 떠맡게 된다면 결과적으로 당신은 다른 경쟁자들 보다 우위에 설수 있게 됩니다.

탄력성과 셀프서비스를 갖춘 클라우드 기반의 인프라는 자연스럽게 이런 작업에 적합합니다. 클라우드 서비스 API를 호출해서 새로운 애플리케이션 환경을 제공하는 것이 수많은 절차를 거쳐서 진행되는 양식 기반의 방식보다 빠릅니다. 다른 API를 호출해서 새로운 환경에 코드를 반영할 때에는 속도가 더 빠릅니다. 팀에 있는 통합 빌드 서버 환경에 셀프서비스와 후크를 추가하게 되면 속도는 더 향상될 것입니다. 결과적으로 우리는 Lean 그루인 Mary Poppendick이 말한 “당신의 조직은 단 한 줄의 변경된 코드를 반영하는데 얼마나 시간이 걸립니까?” 라는 질문의 답을 몇 분 또는 몇 초 안에 측정할 수 있습니다.

당신이 그렇게 빠르게 처리 할 수 있다면 당신의 팀이, 당신의 비즈니스가 무엇을 할 수 있을지 상상해 보십시오.

보안(Safety)

단지 빠른 것만으로는 충분하지 않습니다. 만약 당신이 차를 타고 건물을 향해 패달을 밟는다면 치명적인 사고를 당하게 될 것입니다. 항공기나 특급 고속열차 같은 운송수단은 빠르고 안전하게 만들어졌습니다. 클라우드 네이티브 애플리케이션 아키택쳐는 내구성, 유효성, 안전성에 대한 요구에 빠르게 대응할 수 있도록 균형을 유지해 줍니다. 따라서 속도와 보안은 갖추는 것은 기본이고 필수입니다.

우리가 앞에서 언급했듯이 클라우드 네이티브 애플리케이션 아키택쳐는 오류를 빠르게 복구하는 것을 가능하게 해줍니다.

우리는 지금 엔터프라이즈 환경에서 프로세스 엔지니어링에 많은 시간을 투자해서 오류를 예방해야 한다는 이야기를 하고 있는 것이 아닙니다. 화려한 디자인, 철저한 문서, 아키텍처 리뷰보드, 긴 회귀 테스트 사이클은 우리가 추구하는 속도에 역행을 하고 있습니다. 물론 이런 관행들은 좋은 의도에서 만들어졌던 것들입니다. 하지만 안타깝게도 그 중 어느 하나도 수많은 결함을 제품으로 만드는 데에 꾸준하게 주목할만한 향상을 보여주지 못했습니다.

그렇다면 우리는 어떻게 빠르고 안전하게 할 수 있을까요?

가시성(Visibility)

우리의 아키텍처는 장애가 발생했을 때 확인하기 위해 필요한 툴을 제공해야만 합니다. 우리는 모든 것을 측정할 수 있어야 하고 “정상적인 것이 무엇인지”에 대해 설명을 할 수 있어야 합니다. (절대값과 변화율을 포함한) 일반적인 상태와의 편차를 찾아내고 원인에 대해 알아낼 수 있어야 합니다. 다양한 통계, 모니터링, 경고, 데이터 시각화 프레임워크와 툴들은 모든 클라우드 네이티브 애플리케이션 아키택쳐의 핵심입니다.

장애 고립(Fault isolation)

장애와 연관된 위험을 줄이기 위해 위해 장애로 인해서 영향을 받을 수 있는 컴포넌트, 또는 기능들의 범위를 제한하는 것이 필요합니다. 만약 실시간 추천 엔진에 문제가 발생해서 Amazon.com에서 물건을 구매할 수 없다면 큰 재앙일 것입니다. 모놀리틱 애플리케이션 아키텍처는 이런 장애 모드에 대한 유형을 가지고 있습니다. 클라우드 네이티브 애플리케이션 아키택쳐는 종종 마이크로 서비스를 사용합니다. 마이크로 서비스로 구성된 시스템들 중에서도 오직 장애 허용 능력을 가지고 있는 마이크로 서비스만이 장애에 대한 범위를 제한할 수 있습니다.

장애 허용능력(Fault tolerance)

시스템을 독립적으로 반영할 수 있는 컴포넌트로 분해하는 것은 적합하지 않습니다. 그리고 우리는 컴포넌트들 중 한곳에서 발생한 장애가 의존관계를 통해 장애를 야기시키는 것을 막아야만 합니다. Mike Nygard는 그의 저서인 “Release It”(Progmatic Programmers) 에서 몇 가지의 장애 허용 패턴들에 대해서 언급하면서 가장 많이 사용되는 것은 서킷 브레이커라고 했습니다. 소프트웨어에서 서킷 브레이커는 전자기기에서 사용되는 서킷브레이커와 매우 유사하게 동작을 합니다. 서킷브레이커가 보호하고 있는 컴포넌트와 그 이외에 오류가 발생한 시스템 사이에 서킷을 오픈 함으로써 오류가 전이되는 것을 방지합니다. 또 서킷이 오픈되어 있는 동안 제품에서 기본적으로 제공되는 기본 셋 같은 폴백도 제공합니다.

자동 복구(Automated recovery)

가시성, 장애고립, 장애 허용능력과 같이 우리는 식별 및 복구 과정에 참여하는 동안 오류를 식별, 복구하고 우리의 고객들에게 적절한 레벨의 서비스를 제공하는데 필요한 툴을 가지고 있습니다. 발생할 때마다 쉽게 발견할 수 있는 패턴을 보여주는 오류들은 식별하기 쉽습니다. 예를 들어 헬스 체크 서비스는 건강한지 아닌지, 상태가 좋은지 나쁜지에 대해 2진법으로 응답을 합니다.

이런 종류의 오류가 매번 발생할 때마다 우리는 같은 행동을 반복할 것입니다. 헬스 체크에 오류가 생겼을 경우, 우리는 단순히 서비스를 다시 시작하거나 다시 배포할 것입니다. 클라우드 네이티브 애플리케이션 아키택쳐는 이런 상황에서 수동으로 개입하는 것을 기다리지 않습니다. 대신 감지 및 복구를 자동화해서 사용합니다. 다시 말해 사람대신 컴퓨터가 호출기를 착용한 것과 마찬가지입니다.

크기(Scale)

요구사항이 많아짐에 따라 요구사항에 대한 서비스를 제공하기 위한 우리의 능력도 조정을 해야만 합니다. 과거에 우리는 더 큰 용량의 서버를 구매하는 방법으로 수직적으로 크기를 확장해서 요구사항을 만족시켰습니다. 결국 목표는 이루긴 했지만 점점 많은 비용을 지불해야만 했습니다. 이것은 용량에 대한 사용이 최대 사용 시점을 기준으로 계획이 되었기 때문에 발생한 문제입니다. 우리는 “이 서비스가 필요한 가장 적절한 용량은 어느 정도인가?” 라는 의문을 갖고 그에 맞는 충분한 하드웨어를 구매합니다. 하지만 대부분의 경우 우리는 이 예측이 잘못되었다는 것을 깨닫게 되고 블랙프라이데이 같은 이벤트 기간 동안에 여전히 허용량을 초과하게 됩니다. 또한 더 빈번하게 유휴상태의 CPU를 가지고 수십, 수백대의 서버를 보게 되고 비효율적인 결과를 초래하게 될 것입니다.

혁신을 선도하는 기업들은 두 가지 방법으로 이 문제를 해결하고 있습니다.

  • 대용량 서버를 구매하여 숫자를 늘리는 것보다 다수의 장비를 이용해서 수평적으로 애플리케이션 인스턴스의 크기를 조정한다. 이 장비들은 취득(또는 조립), 그리고 빠르게 배포하는 것이 보다 쉽다.

  • 대용량 서버들이 가지고 있는 비효율성은 같은 공간에 여러 개의 작은 서버들을 가상화하고 여러 개의 고립된 워크로드를 배포하여 개선한다.

Amazon Web Service 같은 일반적인 클라우드 환경이 가능해지면서 이런 두 가지 움직임은 수렴되었습니다. 가상화에 대한 노력은 클라우드 제공자에게로 위임되었고, 소비자들은 수많은 클라우드 서버 인스턴스에 걸쳐있는 그들의 애플리케이션들을 수평적으로 확장하는데 초점을 맞추고 있습니다. 최근 또 다른 변화는 응용 프로그램 배포 단위가 가상서버에서 컨테이너 단위로 변하고 있습니다.

더 많은 혁신을 위해 클라우드 환경이 보여준 변화는 더 이상 기업들은 그들의 소프트웨어를 배포하기 위해 수많은 초기자본이 필요하지 않게 되었습니다. 또한 더 적은 투자로도 지속적으로 유지를 할 수 있게 되었고, API를 통한 공급은 최초 배포 속도를 향상시켜줄 뿐만 아니라 수요의 변화에 대한 대답을 최대한 빨리 할 수 있게 되었습니다.

안타깝게도 이런 모든 혜택들은 비용이 필요합니다. 애플리케이션들은 수직적 크기 보다는 수평적으로 다르게 설계되어야만 합니다. 클라우드의 탄력성은 짧은 수명을 요구합니다. 뿐만 아니라 새로운 애플리케이션 인스턴스를 빠르게 생성할 수 있어야 하며 빠르고 안전하게 그것들을 폐기할 수 있어야 합니다.

이런 필요는 어떻게 지속적으로 처분할 수 있게 상호작용을 해야 하는지라는 상태관리에 의문을 가지게 됩니다. 매우 수직적인 아키텍쳐에 해당하는 세션을 클러스터링 하거나 파일 시스템을 공유하는 고전적인 방법은 스케일링을 제대로 수행할 수 없습니다.

클라우드 네이티브 애플리케이션 아키택쳐의 또 다른 특징은 애플리케이션 인스턴스를 기본적으로 상태없이 유지하는 동안 인-메모리데이터 그리드, 캐쉬, 영구적인 객체 저장에 대한 외부화 입니다. 상태 없는 애플리케이션은 빨리 생성할 수 있고 없앨 수 있습니다. 마찬가지로 요구사항 변화에 대한 응답에 대한 능력을 향상시킬 수 있도록 외부의 상태 매니저에 붙이거나 떼어낼 수 있습니다. 

물론 이건 스스로 확장할 수 있는 외부 상태 관리자가 필요합니다. 대부분의 클라우드 인프라를 제공자들은 이 부분의 필요성을 알고 있으며 이런 서비스들을 제공하고 있습니다.

728x90
반응형

+ Recent posts