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