2018년 12월 25일 화요일

[강의] 화면 녹화 프로그램 선택하기

- 0 개의 댓글

Top 10 Screencast Software 2019
기존까지는 잘 쓰던 '스크린캐스터 오 매틱' (이름도 길어라...-_-)
를 더이상 쓰지 못하는 상황이 발생했다..정확하게 말하자면 돈을 내야 한다는....

그래서 어떤 프로그램을 쓰는게 좋을 것인가!!
를 연구하게 되었다..

가장 중요한 것은 역시나..가성비!!!

1) 최소한의 돈으로
2) 빠른 강의를 만들고
3) 강의의 내용을 독자들에게 효율적으로 전달하는 것

이 되겠다!!. 사실 이거말고 강의에서 중요한게 뭐가 있겠는가?
(물론 TV 프로그램 처럼 재밌고...화려하면 더할나위 없겠지만..이러면 강의 자체의 편집 시간이 무한대로 수렴한다..;; 강의 제작자들은 영상 편집전문가가 아니니까 더더욱 그렇다)

강의를 한다는 것은 특히 엔지니어의 강의는 화면 녹화가 거의 모두를 차지 한다.
따라서 화면을 녹화하는 프로그램을 선택해야 하는데.....최근 화면 녹화 프로그램을 잘 정리한 자료를 우선 토대로 선별해 보겠다.



출처: 
http://www.free-screencast.com/top-10-screencast-software-2019/?fbclid=IwAR0bVwlfjTUl5ZeKu6aoRGw9ymgYckpvICzMH-zC1kGVbfpTeJZTX_IHNXA


1. 돈을 보자
여기서 가장 먼저 봐야할 항목은....지불하는 이다!!!
돈은 중요하니까..

닥치고 돈 받고에 대한 이미지 검색결과
(나는 이런 사람이 아니다...내 돈은 매우 소중하다 -_-)

2. 에디터 유무
그리구 두번째로 중요한 것은 의외로 에디터가 있는 것인가의 유무이다.
왜 그렇게 되냐면..강의를 녹화하다 보면, cut이 발생한다.
그렇다 영화에서 Cut!! 하고 외치는 그런 것이다. (물론 영화 이론적으로는 쇼트 씬 씨퀀스로 이루어지지만 뭐..이게 중요한게 아니니)

movie cut에 대한 이미지 검색결과

컷이 왜 발생하냐면 틀릴수도 있고, 다시 녹화해야 할 수도 있고..이럴때 멈추고 다시 녹화하거나, 영상을 다시 뜨게 된다. 고로 영상을 녹화하고 하나의 시나리오를 마치면 편집하다가 다시 녹화를 반복해야 할때가 온다.

이럴때? 편집만 되는 프로그램을 쓴다면? -_- 대략 난감하다 두개를 같이 띄워놓고 작업해야 하는데..물론!! 좋은 랩탑과 넓은 화면등이 된다면야...특별히 문제가 없을수 있겠지만..
대부분의 엔지니어 강의는 단순히 랩탑에서 강의하고 실습하고, 거기서 편집하게 된다.

따라서, 녹화 프로그램에는 필수적으로 편집 프로그램이 있어야 매우매우매우 편하게 작업할 수 있다..그래서 무료 프로그램들은 탈락!! (그리고 써 봤는데, 중간에 녹화하다가 뻑이 나기도 한다..이러면 진짜 폭발해 버린다. -_-)

그렇다면 남은 선택지는
Filmora Scan와 Screencast-o-Matic가 남게 된다. 그나마 준수한 가격으로 어느정도의 에디터 기능을 제공하는 애들이다. 
여기서, 그동안은 스크린캐스터 오 매틱을 썼고...이 애는 한번 사면 끝이 아니라 기간으로만 지불할 수 있다..즉 3년 이후에 또 사고..계속 사고..그래서 경제성을 생각해서 가능하다면, 필모라 스캔을 쓰기 위해서 테스트를 좀 해봤다. 

1. Cut
위에서 설명한 것처럼, 영상을 녹화하면 Cut을 제일 많이 쓰게 된다. 
짜르고 붙이고, 짜르고 붙이고..따라서 해당 기능을 가능한 간단하게 쉽게 구현되면 매우 좋다..(제대로 편집하려면...) 
자동 대체 텍스트를 사용할 수 없습니다. 

이에 필모라 스캔은 프리미어나, 베가스와 같은 멀티 트랙을 사용한다. (이게 가장 대중적이니까..) 그런데, 문제는...cut하고 붙이는게 번거롭다는 것이다. 안되는게 아니라 번거로움..오매틱에 비해서...



그래서 일단 감점..뭐 그래도 쓸수는 있다..일단 이건 한번 구매하면, 평생~ 쓸수 있으니까..

2. 영상 사이즈
이건 어떻게 해볼 수가 없는 문제인데..
오매틱에 비해서, 필모라의 Export를 통해서 mp4를 만들면 저품질에 고용량 파일이 나온다. 압축률 자체가 차이가 너무 심하다..
이 부분이 어떤 문제를 일으키냐면...동영상 강의는 스트리밍으로 보게 되는데...영상을 시청하는 환경이 좋지 않으면, 영상이 끊어지거나, 버퍼링이 걸리고, 빨리보기 건너뛰기가 느려져서 시청하는 환경이 안 좋게 된다.

따라서, 이건 생각보다 매우 중요한 문제이다.
아래의 샘플은 1분을 일부로 녹화한 파일이다.


   


혹시 몰라서 옵션을 최저로 만들었다.
품질은 안 좋아지고, 용량은 떨어졌으나...만족스럽지 않다..
(오디오도 1채널이 안된다...게임만 녹화하라는거냐 -_-)





엔코더도 바꿔봤다..
그래도 별반 차이가 없다..



































이렇게 되면 5분 영상에 70메가 정도 나오게 된다.
(왠만하면 너를 선택하고 싶단 말이다 ㅠㅠ)



 아래의 내용은 심화 강의를 녹화한 영상들인데..대략 1분에 적게는 3메가에서 많게는 8메가 정도 된다. 고로 대단한 압축률을 보인다. 

샘플을 하나 보면 오디오 채널은 1로 단일화 하고(강의는 이래도 전혀 상관이 없다 스테레오로 듣는다고 강의의 능률이 전혀 오르지 않는다.) 그리고 데이터 자체도 최소로 전달하고 대신 프레임은 25 정도로 전달한다. (프레임이 내려가면 끊기는 느낌이 들어서 25프레임 정도는 있어야 한다.)

































3. 에디터에 부가 기능이 없음 
필모라의 제품은 에디터에

1) 녹화 영상의 속도 조절이 없음 (이건 강의에서 매우매우매우 중요한 부분이다.)
2) 음악을 지원하지 않음 (구해와야 함 / 뭐 구하면 되긴 하지만...)

그 외에 자잘하게, 마우스 (커서) 이펙트가 이쁘지 않고, 캠 화면이 이쁘지 않다등...
강의로는 약간 부족한 부분들이 보여진다.

고로....스크린 캐스터 오 매틱을...다음 강의에서 다시 사용해야 할 것 같다.
나는야 스크린 캐스터 오 매틱의 노예노예!!! -_-



[Continue reading...]

2018년 12월 18일 화요일

[강의] 강의 플랫폼 선택하기 (유데미,인프런?)

- 0 개의 댓글


오랜만입니다~~
요즘은 기술 얘기는 계속 안 쓰고....잡설만 쓰는 조훈입니다 :)

다름이 아니라 '강의하는 엔지니어 모임'이라는 것을 개설했는데요...
강의하면서 생기는 팁, 좋은 공유할만한 정보 등을 알아보려고 하는데...그런 페이스북 그룹이 없더라고요..

없으면? 내가 만든다..

찾다 없어서 내가 차린에 대한 이미지 검색결과


뭐 이런 느낌인거죠~~!

여하튼...그래서 어떤 주제를 올릴까 하다가 보니..

강의 플랫폼을 선택하기 라는 주제가 생각이 나더라고요.

제일 처음에 정말 아무것도 모를때 바야흐로...한 2년 전이네요...
블로터에서 (인터넷 신문) 연락이 와서..강의 한번 올려보시지 않으시겠어요?
라고 한거를 덥썩 물어서...

더이상 자세한 설명은 생략한다에 대한 이미지 검색결과
(뭔가 좀 짧죠? 엄청난 생략이...)



그렇게, 앤서블 강의를 유데미에서 시작을 하게 되었는데요...
사실 처음에는 블로터에서 관리를 잘 해주는 아주 편한 시스템을 누리고 있었죠..
그때는 또 강의에 대해서 올리는 것에 대한 큰....부담을 안 느끼면서?

초원의 양에 대한 이미지 검색결과


또 여러가지 생략을 더해서~~~ 본론으로~~!

비교를 해보면 이렇습니다.

유데미인프런
주요언어영어한국어
시장글로벌한국
강사 UI/UX
제작 지원
사후 지원
수입 구조

설명을 좀 해보자면....

1. 주요언어 
유데미는 외국에 본사가 있기 때문에, 그리고 국내에 지사를 만들려다가 빠...그러진 케이스라서..국내 지원이 전무합니다. 하지만 영어를 할수만 있다면...뭐 서포트가 되긴 합니다.
글로벌 하게 되죠..

하지만, 인프런은 국내에 모든게 위치해 있기 때문에 slack이든 페메든...편하게 사용할 수 있습니다.

2. 시장
만약에 글로벌로 올릴 강의이거나, 글로벌에서 들을 강의라면..(제 강의는 의외로...해외에 계시는 한국 엔지니어 분들이 들으십니다. 따라서 이런 경우에는 수익이 유데미가 많이 발생합니다. 수익을 떠나서 들어주시는 수강생이 더 많게 되죠...
하지만, 국내에 특화된 강의라면 ...인프런이 더 많을수도 있습니다.










3. 강사 UI/UX
이건 독보적으로 유데미가 잘되어 있습니다.
생각하고 원하는게 거의 다 있다고 보면 됩니다.
인프런은 내년 2월쯤에....새롭게 리모델링 한다고 하는데...일단 기대 중입니다.

4. 제작 지원 
역시 지원 센터가 어디 있는가에 따라 지원은....
대표적인 예로 썸네일만 해도...유데미가 만들어주는 썸네일은 정말 예의가 없습니다. -_-
대충대충..기계가 뽑는 느낌입니다. 실제로 기계가 자동으로 만드는거 같기도해요..
그에 반해서 인프런은 최근에 디자이너를 뽑아서 이쁘게 뽑아줍니다...

그렇다고 완벽한 것은 아닌게, 둘다 제작에 필요한 도구 및 소프트웨어들은 알아서 찾고 구비해야 합니다. 이런건 예전에 블로터에서 구매해 줄때가 좋았는데 싶었...쿨럭...

5. 사후 지원 
제작 지원과 비슷한 사연이 있습니다.
유데미에서 썸네일과 관련한 문제로 1주일째 강의를 못 올린적이 있습니다.
정책에 안 맞는다나....(물론 영어로...)
인프런은 제약이 없죠...

6. 수입 구조 
현재의 수입 구조는 유데미는 아주 복잡합니다.
어떤 링크를 타고 오느냐에 따라서 강사가 아주 많이 가지고 가는 경우가 있고, 유데미가 꽤 많이 가지고 여러가지 모델을 가지고 있습니다.
버트, 인프런은 현재는 단일 모델로 하고 있습니다.
여러가지 광고들이 뜨는 걸 봐쓸때, 광고 집행비도 인프런이 높은 것으로 보여집니다.


종합 요약
강의 따라 매우 다르지만, 현재에서 가장 좋은 방법은 가능한 2개를 유지하는 것이 좋아 보입니다.
일단 글로벌 상황이 어떻게 바뀔지 모르고, 유입되는 경로가 서로 다르기 때문입니다.
하지만, 영어!!! 영어가 힘들고 시간적인 여유가 없다면, 인프런을 우선 가지고 가고, 추후에 유데미로 확장하는 것이 좋아 보입니다.

유데미로 확장을 해야 하는 이유는 폭넓은 기능을 통해서 교수법에 대해서 고민해 볼 여지를 주며, 글로벌 및 다양한 유입 경로를 확보할 수 있기 때문입니다.

차후에는 어떻게 바뀔지 모르지만, 현재 시점을 이렇습니다 :)

도움이 좀 되시면 좋겠네요~~!

조훈드림.  
[Continue reading...]

2018년 11월 26일 월요일

[책쓰기] 목차는 어떻게 작성할까요?

- 1 개의 댓글


목차는 어떻게 작성할까요?

이 작업을 하기 전에, 좋은 목차가 어떤 것인지를 우선 알아보도록 합시다.
좋은 목차란 어떤걸까요?

좋은 목차란 한눈에 책의 진행 방향 및 내용을 개략적으로 이해할 수 있어야 합니다.
이를 위해서는 다음과 같은 항목을 지켜주면 좋습니다.

1. 수준(Level)

각 장에서 사용하는 수준은 가능한 일률적이어야 합니다.
즉 2장에서 수준 4단계를 적용했다면, 3장과 4장에서도 가능한 수준의 깊이는 4단계를 넘지 않아야 합니다. 그리고 가능한 (도입부는 제외) 수준은 각 장마다 비슷하게 맞춰주는 것이 좋습니다. :)

제목
부제목
소제목
본문
[그림] 수준이 4단계인 예시


2. 대칭성 및 연속성
각 장의 제목은 같은 수준에 대한 내용을 다루고 있어야 합니다.
예를 들어, 5-1에서 NX-OS를 다루었다면, 5-2에서는 VyOS에 대해서 언급하는게 좋습니다.




그렇다면 좋은 목차를 어떻게 작성할까요?

1. 수정되지 않도록 작성 
우선 수정되지 않도록 작성한다는 것은 사실 거의 불가능합니다.
하지만, 가능한 수정되지 않도록 하는 것이 중요합니다.

수정되는 이유는 다음과 같습니다.

1) 생각해 보니 부족한 내용
2) 불필요한 내용
3) 버전 업데이트등

수많은 이유로 목차는 수정됩니다. 하지만, 가능한 이런 수정이 이루어지지 않도록 처음에 목차가 잘 작성되어져 있어야 합니다. 이를 위해서는 이미 개별 챕터의 내용을 써져 있어야 합니다. (으응?)
황당 으응에 대한 이미지 검색결과

....황당할수는 있는데..이런 내용을 써야지 하는 목차가 아니라, 이미 내용이 다 써져 있는 상태에서 목차가 작성되어야만, 목차의 수정이 거의 이루어지지 않습니다.
그러니까, 이건 이미 여러가지의 매체를 통해서 내용이 완성되어진 적이 있다는 것입니다.

Hoonjo pycon에 대한 이미지 검색결과
[그림] 강의를 위해서 이미 내용이 작성됨

그러지만, 이런 경우가 아니라면 써야할 내용을 간략하게라도(혹은 가능한 자세히) 목차에 따른 내용의 전반적인 시나리오라도 쓰시는게 큰 도움이 됩니다. 


2. 욕심을 버려라.
책을 쓰다 보면, 알고 있는 내용을 모두 담고 싶어집니다.
내용이 풍부한 것은 좋은데, 모든 내용을 담는 것이 과연 독자를 위한 것인지를 고민해 보아야 합니다. 즉 책을 구매해서 보려는 독자에게 어떻게 전달하는 것이 효과적인지, 그리고 어디까지 전달하는 것이 올바른지를 파악하고 그에 맞게 수준을 조절해야 합니다.

내용을 깊이 없이 쓰라는 것이 아니라, 초중급을 대상으로 작성하고 있는 책이 일부분을 제외한 대부분이 중급이상이 되어 버리면, 출판사에서 판매하는데 어려움이 있습니다..;;;


3. 중심내용은 버리지 않도록

글을 쓰다 보면, 주변 가지를 전달하기 위해서, 중심 내용이 흐려지기도 합니다.
이럴 경우, 주변 가지를 쳐서 당장 필요하지 않은 내용을 빼야 합니다.

최근에 백종원 선생님이 메뉴를 단일화 하라는 것과 의외로 비슷합니다.
백종원 메뉴 단일화에 대한 이미지 검색결과

물론 책의 성격이 부페라면, 부페로 가도 됩니다.
하지만, 대부분의 IT 책은 전문서적이기 때문에 선택과 집중이 필요합니다.

주변부를 많이 다루다 보면, 중심 내용이 흔들리고, 정체성이 흔들립니다.
과감하게 버려야할 내용은 버리고, 집중해야 합니다.
정말 쓰고 싶은 내용이 있다면, 부록으로 빼시는게 낫습니다.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

목차를 쓰긴 했는데, 전체 내용에도 일부 포함되는거 같네요
저를 위해서 한번 정리해 봤습니다 :)

좋은 즐거운 하루 되세요~!
  
[Continue reading...]

2018년 11월 14일 수요일

[책쓰기] 책을 쓸때 교정을 어떻게 하면 좋을까요?

- 0 개의 댓글
안녕하세요~

책을 쓰다보면, 정말 많은 부분이 신경쓰이지만, 오타 및 띄어쓰기가 정말정말정말 더할나위 없이 중요하죠.
그럴 경우에는 일단 가능한 범위내에서 쓰고, 아래의 링크를 통해서 온라인으로 교정을 1차로 하고 자세한 것은 국립 국어원에서 2차 검색하는 것을 강력하게 추천드립니다.

가끔은 책 쓰는 것보다 조판(책을 찍어내기 위한 PDF / 보통 인디자인으로 작성)이 더 힘든 경우가 있어요~!! 처음에 잘 만들면 이 과정이 수월하게 넘어가곤 하죠.

정리하자면,

1차 교정은: 한국어 문법/맞춤법 검사기
2차 교정은: 국립국어원에서 검색

이렇게만 하시면 조판으로 넘길때 출판사 편집부에 이쁨을 받으실 수 있을꺼에요~! :)

예제를 한번 보여드리고 마치겠습니다아아아~

요즘은 GNS3+앤서블 강의를 준비중이랍니다. 열심열심히 하고 있어요

1) 검사 시작


2) 검사 끝


3) 적용 

요즘은 GNS3+앤서블 강의를 준비 중이랍니다. 열심 열심히 하고 있어요

참, 한국어 문법/맞춤법 검사기는 개인과 학생에게만 무료로 제공됩니다.
빠잉 :)

[Continue reading...]

2018년 11월 8일 목요일

[Network] The trend of Form Factor

- 0 개의 댓글

 Hi Folks,

I hope you enjoy your weekday.

I would like to share and clarify the Form Factor for Network (even include interface)



 As you may know, server will provide very high speed in the future.


we support 1 Gbe & 10 GbE interface now, it will transit to other speed now.
And we will handle 10, 25, 50 and sometimes 100 GbE in a server.

Thus it is good to understand clearly for Form Factor now.


Here is speed and distance per interface.
 


And
  • SFP is 1 GbE or Fibre interface,
  • CFP and QSFP28 is 100 GbE
  • QSFP28 DD is 200 GbE

You probably have curiosity for + , 28, DD.
+ meaning is mostly advanced feature and speed but same interface.
  • Thus SFP is 1 GbE and SFP+ is 10 GbE supported. (other purpose as well.)
  • And   QSFP+ is same.

28 meaning is enhancement from +
  • Thus SFP28 could support 25 GbE as same interface.
 


DD is a littble different.
  • DD just put in 2 ports.
  • In my view, it is not developed yet currently
  • Thus in my view it will support by CFP or QSFP interface type.



Reference:


Appedix: interface type.

SFP
SFP, small form-factor pluggable for short, is a compact, hot-pluggable transceiver module used for both telecommunication and data communications applications. SFPtransceiver can be regarded as the upgrade version of GBIC module. Unlike GBIC with SC fiber optic interface, SFP is with LC interface and the main body size of SFP is only about half of GBIC, which makes the SFP space saving. SFP interfaces a network device mother board (for a router, switch, media converter or similar devices) to a fiber optic or copper networking cable. Meanwhile, SFP is a popular industry format supported by many network component vendors. SFP transceiver modules are designed to support SONET, Gigabit Ethernet, Fibre Channel, and other communications standards.

SFP+
SFP+ is an enhanced version of the SFP that supports data rates up to 10 Gbit/s. SFP+ supports 8 Gbit/s Fibre Channel, 10-gigabit Ethernet and Optical Transport Network standard OTU2. It is a popular industry format supported by many network component vendors. Initial standard applications focused on 8G Fibre Channel, 10G Ethernet and 10G Fibre Channel, where the electrical interface to the host board is a standardized serial interface called SFI. The applications have expanded to include SONET OC-192, SDH STM-64, OTN G.709, CPRI wireless, 16G Fibre Channel, and the emerging 32G Fibre Channel application.

XFP
XFP has appeared before the SFP+. It is also a standardized form factor for serial 10 Gb/s fiber optic transceivers. It is protocol-independent and fully compliant to the following standards: 10G Ethernet, 10G Fibre Channel, SONET OC-192, SDH STM-64 and OTN G.709, supporting bit rate from 9.95G through 11.3G. XFP transceivers are used in datacom and telecom optical links and offer a smaller footprint and lower power consumption than other 10 Gb/s transponders. The electrical interface to the host board is a standardized serial 10 Gb/s interface called XFI.

QSFP/QSFP+
QSFP is short for quad (4-channel) small form-factor pluggable. It is a compact, hot-pluggable transceiver also used for data communications applications. QSFP+ evolved as the standard to support 10Gb/s data rates per SFF-8436. Compared with QSFP+, QSFP products support Quarter Small Form-factor Pluggable with the different data rate so that there is no change in the product solution. Nowadays, QSFP+ gradually replace QSFP and is widely used by people as it can provide higher bandwidth.


CFP
CFP, namely C form-factor pluggable, is a multi-source agreement to produce a common form-factor for the transmission of high-speed digital signals. The c stands for the Latin letter C used to express the number 100 (centum), since the standard was primarily developed for 100 Gigabit Ethernet systems. It can support a wide range of 40 and 100 Gb/s applications such as 40G and 100G Ethernet, OC-768/STM-256, OTU3, and OTU4.



Thanks & Regards,
Hoon Jo (CCIE DC #44667, VCIX6-NV, C-HanaTec151)
Automation Specialist  (Ansible, Python)
Enterprise Resolution Manager, Korea
Dell EMC | Commercial Solutions Support (CSS)

[Continue reading...]

2018년 11월 7일 수요일

[Ansible] ansible-vault로 생성한 암호화 파일을 ansible-vault의 키로 사용할 수 없음

- 0 개의 댓글
안녕하세요 


앤서블 심화 과정의 강의 중에 발견된 이슈에 대해서 간단하게 요약하고 work-around에 가까운 해결책을 공유합니다. (Andrew님이 알려주신 이슈)
해당 이슈는 앤서블 버전 2.5.0a1 이후로 모두 발견됩니다. 

#1 생성한 AES256 암호화 파일을 ansible-vault에서 볼트 암호화 파일로 인식하지 못하게 하기

#1-1 우선 알고 계시는 방법으로 vault_key를 생성합니다.
[vagrant@ansible-server ~]$ ansible-vault create ~/.ansible/vault_key
New Vault password:
Confirm New Vault password:
0L, 0C written
[vagrant@ansible-server ~]$ cat ~/.ansible/vault_key
$ANSIBLE_VAULT;1.1;AES256
34613235653831373135356463663939353438633731356666363961663338366433613833663235
6632336534323665393132646432633338373738303661610a636564656134356136363833663230
65353539323437636266373933646565613961636136656131346565666237393735303562356330
6261333337356137320a353466656237373837613933613038373637613539363461353061366361
3039

#1-2 여기서 $(달러 기호)를 삭제 합니다.
[vagrant@ansible-server ~]$ cat .ansible/vault_key
ANSIBLE_VAULT;1.1;AES256
34613235653831373135356463663939353438633731356666363961663338366433613833663235
6632336534323665393132646432633338373738303661610a636564656134356136363833663230
65353539323437636266373933646565613961636136656131346565666237393735303562356330
6261333337356137320a353466656237373837613933613038373637613539363461353061366361
3039

#1-3 그런 이후에 는 vault_key를 평문으로 인식하고 진행이 됩니다.
[vagrant@ansible-server ~]$  ansible-vault encrypt ./group_vars/nodes --vault-password-file ~/.ansible/vault_key
Encryption successful
[vagrant@ansible-server ~]$  ansible-vault decrypt ./group_vars/nodes --vault-password-file ~/.ansible/vault_key
Decryption successful


#2 볼트가 아닌 openssl을 이용하여 난수로 작성된 vault_key를 생성합니다.

#2-1 아래의 명령어를 실행하여 vault_key_by_ssl 이라는 vault_key파일을 생성합니다.
[vagrant@ansible-server ~]$ openssl rand -base64 2048 > ~/.ansible/vault_key_by_ssl

#2-2 처음 보는 거니까, 내용을 살펴 봅니다.
[vagrant@ansible-server ~]$ cat ~/.ansible/vault_key_by_ssl
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

#2-3 새로 생성한 vault_key인 vault_key_by_ssl을 이용해서 암호화합니다.
[vagrant@ansible-server ~]$  ansible-vault encrypt ./group_vars/nodes --vault-password-file ~/.ansible/vault_key_by_ssl
Encryption successful

#2-4 암호화된 파일을 확인합니다.
[vagrant@ansible-server ~]$ cat ./group_vars/nodes
$ANSIBLE_VAULT;1.1;AES256
38323237383235633039383566343232336237326565633738393662383837316134636639373732
6463626234326530633032323437303638663362643930350a323033636166646334656362343361
65336132366366633936323230363866316135613764336339333830393134356532663662363965
3166653161386136330a313232666439343536393932343730366334666235343738306630303534
35343637306238376362396563383034643564313431653834613938646464663332

#2-5 복호화도 해봅니다.
[vagrant@ansible-server ~]$  ansible-vault decrypt ./group_vars/nodes --vault-password-file ~/.ansible/vault_key_by_ssl
Decryption successful

혹시 비슷한 이슈가 있다면, 위의 방법이 도움이 되시길 바랍니다.
조훈 드림. 
[Continue reading...]

[책쓰기] 저자등록방법 (Yes24, 알라딘, 교보문고 등)

- 0 개의 댓글

안녕하세요~~!

오랜만에 쓰는 글이 앤서블 쪽이나, 파이썬이 아니라 실망 하시는 분들은 없으시겠죠오;;;

실망실망 짤에 대한 이미지 검색결과

하하하 이러지 마시고~~ 이번에 제가 책을 하나 더 냈는데요.
그러다 보니..이제 저자(?) 라는 느낌도 들고 해서 저자에 대해서 책 관련 사이트들에서 등록도 하고 관리를 좀 해보려고 시도를 했습니다.

향후에 책을 번역 또는 쓰시고, 나서 저자로서 셀프 관리해보고 싶을때 도움이 되시라고 정리해 보아요~~~!

우선 기본 정보로 저자로 등록되면, 아래와 같답니다.



그나마 이건 책 정보가 두개가 올라와 있기라도 한데, 책 정보도 뒤죽박죽에 제대로 링크도 안 걸려 있는 경우도 있어요. 뭐....한달에 수천권(아마두?)아 쏟아지는데, 일일히 저자를 관리한다는게 사실상 불가능 한게 아마두...? 당연하겠죠?

그러니 저자 관리는 셀프 관리가 필요한 영역이랍니다. 하하하하 ;;;;

자 그러면 저자 관리는 어떻게 하는가 하면 말이죠.

1. 진행 방법
진행 방법은 각 저자 관리 담당자에게 이메일 또는 고객센터에서 1:1 문의를 하면 된답니다.
고객센터에서 1:1 문의를 하는 방법은 대표적인 인터넷 서점인 Yes24와 알라딘에서 사용하는 방법이고요.

담당자에게 메일을 보내는 방법은 전통적인 서점으로 유명한 교보문고에서 사용하는 방법이랍니다.

아마 이러한 차이는 회사 출발점의 차이에 기인하는 것 같네요.

2. 문의 하는 방법

2-1. 고객센터 1:1 문의



2-2. 이메일로 요청
교보문고: 상품관리팀/김선popsuny@kyobobook.co.kr




대략 요청하고 나면 1-2일 내로 모든 것들이 반영 된답니다.

3. 요청 이후에는?
문의 하고 나면 이렇게 변한답니다.

Yes24: http://www.yes24.com/24/AuthorFile/Author/236681






바꾸고 나면 뿌듯? 하실꺼에요~~~ 잘 정리된 저자 프로파일 관리 :) 방법이었습니다. 

ps. 리디북스나 ebook 전문출판사는 제가 저자로 등록된 적이 없어서 진행해 보지 못했지만, 따로 저자 수정을 누르고, 요청하시면 됩니다.~~ 참고하세요

재미난 좋은 하루 보내세요~!
조훈 드림. 



[Continue reading...]

2018년 5월 30일 수요일

[Ansible] MAGIC_VARIABLE에 대해서~

- 0 개의 댓글
안녕하세요 ~!

오늘은 말이죠~! MAGIC_VARIABLE에 대해서 말해 보려고 합니다!!
이게 뭘까요?

매직?

magic shadowera에 대한 이미지 검색결과


이런 매직일까요? 하하 (참고로 제가 하는 게임입니다. !!)

그게 아니라 앤서블에 보면 
매직 변수라는게 있습니다. 


[ /usr/lib/python2.7/site-packages/ansible/constants.py ]

2.5.3 버전에서 보여지는 매직 변수인데 잘 눈에 안 들어오네요 


구 버전에 구조를 봅시다. 

MAGIC_VARIABLE_MAPPING = dict(
connection = ('ansible_connection',),
remote_addr = ('ansible_ssh_host', 'ansible_host'),
remote_user = ('ansible_ssh_user', 'ansible_user'),
port = ('ansible_ssh_port', 'ansible_port'),
accelerate_port = ('ansible_accelerate_port',),
password = ('ansible_ssh_pass', 'ansible_password'),
private_key_file = ('ansible_ssh_private_key_file', 'ansible_private_key_file'),
pipelining = ('ansible_ssh_pipelining', 'ansible_pipelining'),
shell = ('ansible_shell_type',),
become = ('ansible_become',),
become_method = ('ansible_become_method',),
become_user = ('ansible_become_user',),
become_pass = ('ansible_become_password','ansible_become_pass'),
become_exe = ('ansible_become_exe',),
become_flags = ('ansible_become_flags',),
ssh_common_args = ('ansible_ssh_common_args',),
docker_extra_args= ('ansible_docker_extra_args',),
sftp_extra_args = ('ansible_sftp_extra_args',),
scp_extra_args = ('ansible_scp_extra_args',),
ssh_extra_args = ('ansible_ssh_extra_args',),
sudo = ('ansible_sudo',),
sudo_user = ('ansible_sudo_user',),
sudo_pass = ('ansible_sudo_password', 'ansible_sudo_pass'),
sudo_exe = ('ansible_sudo_exe',),
sudo_flags = ('ansible_sudo_flags',),
su = ('ansible_su',),
su_user = ('ansible_su_user',),
su_pass = ('ansible_su_password', 'ansible_su_pass'),
su_exe = ('ansible_su_exe',),
su_flags = ('ansible_su_flags',),
executable = ('ansible_shell_executable',),
module_compression = ('ansible_module_compression',),
)
위에 보여지는 내용을 앤서블 플레이북이나, var_group 같은 곳에 넣으면 적용되는 변수들인 것입니다. 미리 정의되어 있는 변수들인거죠 FACTS와 별개로요~!

예를 들면, 코드 상에서 tasks 상에서 lldp의 sudo를 주기 위해서 보통 become에 yes를 넣게 되죠. 

---
- hosts: cl
  gather_facts: no
  tasks:
  - name: lldp service
    become: yes    service: name=lldpd state=restarted

그렇다면, 이런 예는 어떨까요? 

---
- hosts: cl
  gather_facts: no
  remote_user: cumulus
  become: yes
  vars:
    ansible_become_pass: CumulusLinux!
  tasks:
  - name: ssh-keygen
    service: name=lldpd state=restarted



 - remote_user      = ('ansible_ssh_user', 'ansible_user')
 - become_pass = ('ansible_become_password','ansible_become_pass')

쓰는 용법의 차이는 있지만, 이런 식으로 서로 바꾸어 가면서 쓸수 있습니다. 
아직은 완벽하게 어떤 부분은 vars에 쓰고, playbook에 쓰고, hosts에 쓰고가 정리가 되지 않은 느낌이긴 하나.~~ 서로 호환되는 이름이 어떤 것인지 안다면...

구글에서 검색해서 대략 만들수 있겠죠?

:) 도움이 되셨기를요오~!

[Continue reading...]
 
Copyright © . 쿠버네티스 전문가 블로그 - Posts · Comments
Theme Template by BTDesigner · Powered by Blogger