Chef, Ansible

Chef와 Ansible을 비교하는 문서들을 읽으면서, Chef가 (필요 이상으로) 복잡하다고 느끼는 것은 나만이 아닌 듯 하다.

여러 문서 중 Ansible vs Chef의 Infographic은 두 Tool의 비교를 깔끔하게 보여주고 있다.
특히 Chef의 단점 중 하나로 Ruby에 묶여있다는 점을 언급한 것이 맘에 든다.
Ruby가 어렵진 않고 Ruby의 일부만 알아도 사용하기 충분하지만, 요즘 이 바닥에서 알아야 할 것이 지천인데 Ruby까지 새로 익히긴 좀 부담스럽다.

지금에서야 어느 정도 Chef를 사용하는데 익숙해지긴 했지만, 다음에 Continuous Delivery 환경을 구축할 때는 Ansible로 갈 생각.
Chef를 포기한다기보다, Ansible vs. Chef – which is better?에서도 지적하듯이 둘 다 필요한 경우들이 있기 때문이다.

나의 문화유산답사기 1

도중에 그만 읽으려고 몇번 책을 덮었지만 결국 다 읽고 말았다.

‘암자’라는 특집프로에 깊은 인상을 받고 한국 여행을 결심, 그 계획의 일환으로 펴든 책이었다.
하지만 많은 부분 내가 생각했던 곳과는 거리가 있고 그 내용도 문화유산 쪽에 많이 치우친 터라 내 여행의 목적 – 한국 산세의 아름다움, 스스로를 돌아보기 등 – 과는 별로 맞지 않았다.
그렇다고 읽기를 그만두기에는 은근한 매력이 있는 책인지라 지도와 사진들을 찾아보면서 야금 야금 읽다보니 어느새 마지막까지 읽게 되었다.
경주, 예산 수덕사 부분 등은 넘기긴 했지만.

많은 부분 저자의 생각에 공감하지만, 좀 더 다른 이들의 관점도 이해하려 노력함으로써 비판적인 어조를 누그러뜨릴 수 있지 않을까, 그럼으로써 혹 다른 아름다움을 발견할 수도 있지 않을까라는 생각도 했다.
미술사를 전공으로 하는 저자의 입장이란 것이 있기는 하겠지만서도.

그래도 ‘관동지방의 폐사지’ 편에서 언급하는 다음 글은 비단 저자의 문화유산답사기 뿐 아니라 내가 앞으로 행할 여행에 있어서도 근본이 되는 것이다.

… 나는 조선 정조시대에 ‘유한준’이라는 문인이 ‘석농 김광국’의 수장품에 부친 글에서 읽은 천하의 명언도 얘기해주었다.

사랑하면 알게 되고, 알면 보이나니 그때에 보이는 것은 전과 같지 않으리라.

추1:
가지고 있는 책은 94년도 판, 즉 개정판 전이다.
개정판을 구매할까 했지만 그보다는 ‘여행자를 위한 나의 문화유산답사기 2 – 전라, 제주권’이 목적에 맞는 듯 하여 양쪽을 같이 읽었다. (개정판 쪽이 확실히 내용이 좀 더 보강되어있다. 예를 들어 도갑사에 복사본으로 존재하는 ‘관음32응신도’ 등의 내용은 초판본에 없다)
여행을 하게 되면 다시 정독할 생각.

추2:
이 긴 시리즈의 시작은 강진/해남, 그 중 월출산과 도갑사, 무위사로 시작한다.
아래 영상이 더 깊은 이해에 도움이 되었다.

 

20170814_my_explore_2

2010 스페이스 오디세이 (2010: Odyssey Two)

‘2001 스페이스 오디세이’의 배경인 토성에서 다시 목성으로 이야기가 전개되어 시작때 약간 당황했다.
영화와 맞추기 위해 수정하였다는 머릿글을 다시 읽은 후에야 납득했지만, 읽다보면 토성을 배경으로 내용이 전개될 수 있었을지도 의문이다.

사실 ‘2010…’의 영화는 꽤 오래전 접했었지만 별 인상을 받지 못했는데 책은 2001… 만큼이나 흥미진진하다.
HAL은 다시 등장하여 여느 인물보다 중요한 역할을 한다. 다음 작품에서도 등장하지 않을까 내심 기대된다.

쓰여진지 오래된 작품임에도 불구하고, 유로파의 생명체라든가 새로운 태양의 생성 등에 대한 내용을 보면 정말 작가의 상상력에 감탄하지 않을 수 없다.
‘Interstella’ 수준으로 업그레이드된 영상으로 2010…이 다시 만들어진다면 굉장할 것 같은데.

책을 읽은 후 목성과 그 위성들 뿐 아니라 태양계에 대하여 더 큰 관심을 갖게 되었다.
곧 2061…도 읽을 생각.

마지막으로, 레오노프호의 선장인 타냐는 그다지 인상적이지 않은 인물이지만 멋진 말을 남겼다.

우디, 대장이 틀리는 건 괜찮지만요, 확실치 못한 태도를 가져선 못쓴답니다.

20170811_2010_Odyssey_Two

브라질, 상 파울루 방문 2일차

남미 쪽 항공편 시간대를 보면 시간을 꽉 차게 쓴다는 것이 불가능하다. (새벽 도착, 한밤중 출발 등)
덕분에 여유 시간이 생겨 상빠울루 미술관(MASP)에 다녀올 수 있었다.

사실 큰 기대는 하지 않았는데 마침 로트렉 특별전시회가 열리고 있어서 갑자기 기대감이 커졌다.

여러모로 이 미술관은 다른 곳과 다르다.
건물이 기둥으로 받쳐진 것이 아니라 기둥에 매달린 형태부터 예사롭지 않은데, 작품에 대한 설명 및 작가명 등이 그림 뒤에 붙어있는 것(편견을 갖지 말라는 것인지), 오만가지 작품들을 꼼꼼하게 구색 맞춰 놓은 점, 큰 방 안에 작품들을 모두 다 몰아넣은 것 등은 참 특이하다. (중세 그림부터 인상파, 현대 미술까지 정말 하나씩은 꼭 갖다놓았다. 꼭 백화점 같다)
7 Things You May Not Know About MASP를 보면 나만 그런 생각을 가진 것은 아닌 듯.

플래쉬만 터뜨리지 않으면 사진 찍는 것도 허용되는 점, 정말 가까이서 그림을 감상할 수 있는 점은 무척 맘에 든다.
맘에 드는 그림은 따로 사진을 찍었다.

Google Photo

미술관에 오면 평소 신경써 보지 않았던 것들을 세심히 관찰하게 되고, 그럴 때 내 주변이 크게 환기되는 느낌을 받는다.
사실 Google Arts & Culture에 가면 세계의 명화, 작품들을 면밀히 확인할 수 있지만, 미술관이라는 공간이 부여하는 의미, 특히 작품 가까이서 느낄 수 있는 질감 등은 모니터를 통해서 보는 것과는 확연한 차이가 있다.
기술이 계속 발전하더라도 이런 부분은 어쩔 수 없을 듯 하다.

 


 

MASP 지하에 부페 식당이 있는데 썩 맛있다. 가격은 음료 포함해서 약 55BRL (15EUR).
특히 브라질 식의 Sauerbraten은 너무 맛있어서 많이 먹는 바람에 디저트는 먹지도 못했다.

20170726_MASP_restaurant

 


 

바로 옆의 뜨리아농 공원은 작지만 굉장히 독특한 곳이다.
여기가 아마존의 나라라는 것을 새삼 느끼게 해준다.

20170726_parque_trianon

브라질, 상 파울루 방문 1일차

한국에서 독일로 돌아온지 이틀만에 브라질로 출장을 가게 되었다.
한국이 독일보다 7시간 빠르고 상 파울루가 독일보다 5시간 늦으니 총 12시간 차이, 낮과 밤이 정확히 바뀌는 것을 몸으로 느껴야한다.

20170725_sao_paulo

비행기 여행도 쉽지 않았다.
앞자리의 비대한 남성의 의자가 자연스레 내 쪽으로 기울여졌고(의자를 뒤로 젖히지 않았음에도) 옆자리의 이탈리아인 역시 넓은 어깨와 굵은 팔뚝의 소유자인지라 자연스럽게 내 팔걸이 너머를 침범하였다. 뒷자리의 아이는 종종 내 의자를 찼고.
아무도 악의를 가진 사람은 없었으나 결과적으로 꽤 불편한 여행이 되었다.
게다가 비행기는 예정보다 2시간 늦게 출발하는 바람에 총 14시간 넘게 갇혀있었고.

그럼에도 불구하고 별로 짜증은 나지 않았다는 것이 신기하다.
스스로가 약간 대견스럽다.

 


 

의외로 택시비가 싸다.
입국장 건물을 나서면 맨 오른쪽 끝에 ‘Professional’하게 보이는 택시 스탠드가 있다. 거기서 탑승했는데 30km 넘는 거리를 1시간 가까이 주행했는데 180BRL, 즉 50EUR 정도 나왔다.
싼 금액은 아니지만 독일이었으면 한 150EUR는 나왔을 듯.

Spring Batch 용 pom.xml

Spring Batch 기반 application 구현시 튜토리얼에 언급된 대로 pom.xml을 작성하였더니 IntelliJ에서 제대로 build 되지 않았다.

2시간 가까이 pom.xml 문제인지, IntelliJ 문제인지 등으로 씨름 후, GitHub에 올라가 있는 Spring Batch 용 pom.xml을 참고하여 해결하였다. (튜토리얼이 틀린 듯)

Setting이나 Configuration 관련 문제는 Google이나 Stack Overflow, GitHub 등을 검색하면 어지간하면 해결할 수 있다.
왜 pom.xml 자체를 검색할 생각을 하지 못했는지 그게 더 궁금하다.

초간단 User Stories (사용자 스토리) 요약

‘User Stories Applied’로 유명한 Mike Cohn의 웹사이트에서 User Stories에 대해 잘 정리된 글을 발견하였다. (엄청 짧다)
이 정도로도 충분한데 대체 300페이지가 넘는 두꺼운 책은 왜 쓰셨는지.

아래는 그 짧은 글의 내 입맛대로 요약본.

User Story란?

실 사용자의 관점에서 작성된 해당 기능의 짧고, 간단한 설명.
아래와 같이 보통 작성한다.

As a _____, I want _____ so that _____.

예제를 보자

아래는 epics, 즉 아주 커다란 사용자 스토리의 예이다.

As a user, I can backup my entire hard drive.

당연히 이건 한 번의 iteration으로 끝낼 분량이 아니다. 따라서, 아래와 같이 여러 개로 쪼갠다.

As a power user, I can specify files or folders to backup based on file size, date created and date modified.

As a user, I can indicate folders not to backup so that my backup drive isn’t filled up with things I don’t need saved.

세부사항을 넣어야 한다면 어떻게?

일단 해당 사용자 스토리를 잘게 쪼개본다. 또는 “Conditions of satisfaction(CoS)” 항목을 추가한다.

CoS는 간단히 말해 high-level acceptance test로 볼 수 있는데, 아래 사용자 스토리 예를 보면 좀 더 명확해진다.

As a vice president of marketing, I want to select a holiday season to be used when reviewing the performance of past advertising campaigns so that I can identify profitable ones.

이렇게 작성하다보니 뭔가 추가적으로 적어주어야 할 것 같은 의무감 같은 것이 생겼다.
그래서 아래와 같이 CoS를 추가해서 세부사항을 언급해주었다.

  • Make sure it works with major retail holidays: Christmas, Easter, President’s Day, Mother’s Day, Father’s Day, Labor Day, New Year’s Day.
    Support holidays that span two calendar years (none span three).
  • Holiday seasons can be set from one holiday to the next (such as Thanksgiving to Christmas).
  • Holiday seasons can be set to be a number of days prior to the holiday.

누가 사용자 스토리는 쓰나?

누구든 상관 없다. product backlog를 관리하는 것이 PO의 의무이긴 하지만, PO가 반드시 사용자 스토리를 쓰란 법은 없다.

언제 쓰나?

프로젝트 기간 내내. 적어도 3 ~ 6개월 주기로 product backlog의 (재)작성, 수정 등의 작업은 필요하다.

사용자 스토리는 요구사항 정의서를 대체하는 것인가?

적어도 애자일 프로젝트에서는 사용자 스토리가 가장 선호되는 product backlog 양식이다.

“As a user, I want …” 부분을 실 요구사항에 대한 포인터로 사용하는 것도 좋은 생각이다. 즉 사용자 스토리는 Workflow diagram이나, 계산방법을 보여주는 Spreadsheet, 또는 팀이나 PO가 필요로하는 어떤 형태의 artifact도 가리킬 수 있다.

 

추가적으로, 아래 링크에서 조금 더 세부적인 내용을 확인할 수 있다.
여전히 짧은 글이지만 조금 더 많은 예제와 ‘INVEST’ 등의 사용자 스토리 작성 원칙들이 기술되어 있다.

http://www.yodiz.com/blog/writing-user-stories-examples-and-templates-in-agile-methodologies/

맘에 들지 않는 Visual Studio의 Editor

Visual Studio 새 버젼 출시에 앞서 개인적으로 가장 많이 바랬던 기능은 Editor의 개선이었다.

얼마 전 2017 버젼이 출시되었는데, 사실 C++ 쪽만 쓰고 있어서 개발 결과물에 대해서는 큰 바램이 없다.
그보다 프로그램 구동부터 종료 때까지 거의 대부분 Editor와 Output(Debug 시에는 둘 다)을 바라보는데 이 부분은 근 10년이 넘도록 변화가 없는 듯 하다.

매일 사용하는 JetBrains IDE나 Sublime Text는 그 자체로도 훌륭한 Tool이지만, 가장 맘에 드는 것 중 하나는 Editor/Console 화면이다.
테마 지정은 물론, 폰트와 줄간 크기를 내 입맛대로 조정할 수 있는데 – 예를 들어 PyCharm의 경우 Font 14, Line Space 1.1 – 이것만으로도 완전히 다른 환경에 온 듯한 느낌을 받는다.
CLion을 보면 심지어 Editor용 배경화면도 지정할 수 있는데 이건 좀 오버 같고.

왜 Visual Studio 팀은 이런데 신경을 안 쓰는지 모르겠다.
타 기능 개선에 비해 어려운 일도 아닐 것 같은데.

근시사회

이 책은 왜 우리 사회가 충동적이고 근시안적이 되었나에 대한 다양한 통찰을 준다.
미국의 사례를 중심으로 이야기를 하고 있는데, 요즘 트럼프 대통령 취임후 벌어지는 일들을 보며 지금이 바로 이 책을 읽기 적절한 시점이란 생각이 들었다.

먼저 1부에서는 왜 현대는 심각할 정도로 나 중심의 사회로 바뀌게 되었는지, 그리고 시장은 그에 대해 어떻게 반응했는지를 다룬다.

저자는 애플, 구글 등 개인용 첨단장비를 제공하는 업체들 대부분이 실제로 파는 것은 일종의 ‘생산성’, 즉 최소한의 노력으로 순간적 쾌감을 극대화하는 능력이라고 말한다.
이 생산성은 애덤 스미스나 경제학자들이 말하는 생산성 – 기아와 빈곤을 해결하고 효용의 극대화를 통해 생존 능력을 높여준 것들 – 이 아니라, 개인들의 욕망을 자극하는 기제機制이다.
우리는 매번 생산성이 높아지기를 기대하며 새롭게 출시되는 제품을 빠르게 낚아챈다.
충동 사회의 핵심에 놓인 것은, 언제 어디서든 효율성과 생산성을 높이려는 이런 자동 반사적 행동이다.

이런 일련의 개인 욕망 추구는 소비자 경제가 점점 득세하면서 심화되기 시작한다.
한 세기 전에는 대다수 경제활동이 우리 ‘외부’의 삶에서, 즉 물리적인 ‘생산’의 세계에서 일어났다. 우리는 물건을 만들었고, 농사를 지었으며, 어느 정도 수량 예측이 가능한 재화와 서비스를 만들었다.
지금은 정반대로, 우리의 경제규모는 엄청나게 커졌지만 대다수 경제활동은 ‘소비’ 영역에 집중돼있다. (미국의 경우 70%) 이러한 소비활동은 상당부분 자의적이어서, 필요가 아닌 우리 내부의 열망과 바람, 정체성과 은밀한 갈망, 불안과 지루함이 소비를 끌어내게 된다.
시장은 점점 이런 자아와 통합을 이루게 되는데, 포화 상태의 산업자본주의 경제에서 모든 생산을 포용할 수 있는 것은 자아의 끝없는 욕망뿐이기 때문이다.

시장이 줄기차게 생산하면서 우리는 자아 표출이라는 힘에 상당히 다가설 수 있게 되었는데, 저자는 이러한 통합이 궁극적으로 바람직하지 않다고 본다.
자아발견 및 정체성 탐구 자체가 잘못된 것은 아니지만, 그것들에만 너무 몰두하면서 ‘장기적인 사회적 필요’는 충족시키기 힘들어지게 되었기 때문이다. (건강보험이 대표적인 예이다)
이젠 사회적 목표나 책임감 같은 것은 제거하거나 최소화해야할 ‘비효율’로 본다. 당장의 이득에 비해 미래의 가치가 많이 떨어진다고 생각하기 때문이다.
이렇듯 손익에 집착하는 추세는 우리가 2008년 금융위기로 인한 경기 침체에서 벗어나 유례없는 기업 이익을 거두게 된 이유를 설명해준다. 동시에 노동자와 지역사회가 유례없는 불안에 떠는 이유 역시 설명해준다.

즉 저자는 효율성을 비난하는 것이 아니라 효율성 ‘이데올로기’를 비판한다.
‘언제나’ 최저 비용으로 최대 이익을 얻는 것을 목표로 해야 한다는 믿음은 잘못 되었다는 것이다.
하지만 이런 현재의 문화는 자아탐닉과 몰두를 어떤 치료가 필요한 인격적 결함으로 여기기는 커녕 하나의 라이프스타일과 ‘제품군’으로 칭송하고 정당화하고 있다.

2부 ‘깨진 거울’에서는 앞서 언급한 개인화의 문제를 다양한 측면에서 다룬다.

5장 ‘나홀로 집에’서 저자는, 사람들이 점점 자신의 취향에 맞는 공동체를 발견하기 쉬워지고 끼리끼리 모이면서 나라 전체의 사회적 결속을 떨어뜨린다고 지적한다.
이는 정치적 양극화의 심화로 이어지게 된다.

민주적 문화가 제대로 작동하려면 ‘계획에 없던 만남’에서 생기는 혼란과 어색함이 필요하다. 이런 만남에서 시민들은 ‘사전에 택하지 않은 것들 그리고 생각해 보지 않았거나 껄끄러운 주제 및 견해에 노출된다. 그렇지만 우리가 앞서 살핀 대로 계획에 없던 만남, 예기치 않은 생각들, 거슬리는 사람들은 우리가 맞춤식 삶과 경험에서 점점 걸러 내려는 대상들이다.


과거 미국인은 각자의 차이에 대처하는 법을 알았고 그러한 행동으로 공동체와 사회가 제 역할을 하고 온전히 유지되기 위해 필요한 공통분모를 지켰다. 그렇지만 지금은 의견을 수용하려는 최소한의 노력조차 자아 표출 욕구를 침해하는 것으로 본다. 그저 나와 성향이 같은 사람들과 소통하거나, 내 생각과 맞는 아이디어나 관점을 고민하는 것을 더 편하게 여긴다.
그렇지만 이는 해로운 습관이다. 일단 현실 세계든 가상 세계든 나와 다른 사람의 차이를 인정하지 않고 거리를 두기 시작하면 개별화 현상은 더욱 심해진다…
구성원의 생각이 비슷한 공동체는 더욱 극단적 성향을 띠면서 반대 의견을 잘 수용하지 못한다.

더 나아가, 소비자 경제에서 개인의 힘이 점점 커지게 되면 ‘동료와의 연대’조차도 딱히 유용하다고 보지 않게 된다.
이런 자기중심적 문화에 익숙한 시민들이 그림이나 시, 책을 접할 때 맨 먼저 던지는 질문은 ‘이 작품은 훌륭한가 저속한가’가 아니라 ‘나에게 어떤 도움이 되는가’이다.

6장 ‘노동자를 위한 나라는 없다’에서는 매우 심각해지고 있는 고용 환경을 다루며, 7장 ‘질병으로 치료되는 사회’는 미국 의료보험 제도의 근본적인 문제가 무엇인지 설명해준다.
몇가지를 옮겨보면,

… 오바마케어는 1980년대에 사라져야 했던 뉴딜식 경제 관리 정책으로 복귀하기 위한 수십 년 만의 첫 시도였다. 더 근본적으로 우리는 오바마케어에 대한 반응을 보면서, 더 큰 사회 문제의 해결을 위해 개인을 희생한다는 소중한 관념을 다시 평가해야 했다. 일각에서는 자기중심적 이데올로기와 과민 반응하는 소비자 경제에 수십 년간 길들여진 결과, 희생적이지 못한 개인이 사회정의 실현에 결정적 장애가 되었다고 주장하기도 했다.

… 현재 미국 의료 제도의 경제적 기여를 평가할 때 치료 결과가 아닌 치료 행위를 바탕으로 하기 때문에 소위 ‘질병이 주도하는 경기회복’이라는 황당한 이야기가 나오게 된다.
경기를 자극하려면 사람이 아파야 하고 그래야 경기가 나아지기 때문이다.

이런 비관적이고 절박한 상황에 대항하여 저자는 몇가지 제안을 하게 되는데, 그 핵심은 건강한 공동체를 만들어야 한다는 것이다.
구체적인 몇가지 방안으로,

정부의 적극적 시장 개입
정부는 사회적/정치적 우선순위에 따라 경제의 사회적 산물을 이동시킬 수 있는 수단(조세, 보조금, 규제 등)을 갖추고 있다.
지난 40년 간 우리는 시장의 결정에 맡김으로써 갈수록 단기적이고 부당하며 지속 불가능한 결과를 선호하는 부패한 시장을 만들어내게 되었다.
정부는 보다 적극적으로 시장에 개입해야 하며, 이와 동시에 근본적으로 경제의 목적지가 어디인지, 경제적 우선순위와 그 가치가 무엇인지 진지하게 논의해야 한다.

시장과 거리 두기
우리는 제조업을 키우고 금융업을 줄이기 위해 온갖 수단을 강구해야 한다.
금융 부문의 비대화가 낳는 실질적인 위험은 경제 변동성 같은 것이 아니라 금융 부문의 사고방식이 문화 전반에 침투하는 것이기 때문이다.

금융시장의 대형 투자자들은 각종 대인관계 서적에서 경고하는 성품을 모두 갖췄다. 바로 충동적이고 단기적이며 헌신성이 전혀 없는 모습이다.
그런 금융이 노동시장과 경제에 과도한 영향을 주는 현실에서 우리는 만사를 시장에 맡기면 안된다.

직원 교육을 강화하고 은행을 쪼개기
노동은 단순한 ‘비용’이 아니다. 유럽처럼 직원 교육을 강화해야 한다.
특히 이 모든 폐해의 중심에 있는 대마불사 은행들을 규제 가능한 더 작은 단위로 쪼개야 한다.

그밖에, 브랜드 정치를 지양止揚 하기, 끊임 없이 충동 사회의 패턴과 가치관을 밀어내고 내면의 소리를 듣기를 주장하며, 단기성과 이기심에서 벗어난 현실을 고려하는 질문을 자신에게 던지기를 강하게 권유하고 있다.

20170312_the_impulse_society