Pythonの勉強を始める
いわゆるプログラミングというものがさっぱりできないのですが orz
AWSの様々なサービスをできるだけ広範囲に触っていくのにはやっぱり何か言語を覚えないといかんだろう、それにはPythonが適してるんじゃないか?と考え、学び始めてみることに。
「四十も半ばを過ぎて… orz」と思ってしまうのをグッとこらえ、人間いつからでも学び始められると信じつつw
とりあえず、まずは以下の記事を参考にさせてもらいました。
んで、以下の本を購入してつらつらと進めて行こうかと。
- 作者: 岩崎圭,北川慎治,寺田学
- 出版社/メーカー: 翔泳社
- 発売日: 2017/08/07
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
という訳で、まずは手持ちのMacにPythonのインストールから。 上記の本とは違いますが、後々を考えてHomebrewで。
Macで1からPythonの環境構築をしていく - Qiita を参考にしつつ。
$ brew install pyenv
$ vi .bash_profile
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
$ source .bash_profile
$ pyenv install -l
$ pyenv install 3.6.5
$ pyenv versions
* system (set by /Users/ishikawa/.pyenv/version)
3.6.5
$ pyenv global 3.6.5
$ type python
python is hashed (/Users/ishikawa/.pyenv/shims/python)
$ python --version
Python 3.6.5
んで、ここからは「スラスラわかるPython」に沿ってまずは進めてみる。
$ python
Python 3.6.5 (default, Apr 12 2018, 23:59:44)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print('Hello, World!')
Hello, World!
>>>
>>> 123+456
579
>>> 100>900
False
>>> 'Hello, World!!'.replace('World','Python')
'Hello, Python!!'
>>> quit()
$ mkdir ~/Documents/chapter01
$ cd ~/Documents/chapter01
$ vi height-average.py
heights = {'taro': 168,'jiro': 171,'takashi': 165}
total = 0
for i in heights.values():
total += i
average = total / len(heights)
print('平均身長は {0}cm です。'.format(average))
$ python ./height-average.py
平均身長は 168.0cm です。
以上で第1章が終了。
上記の本ではPythonをインストールした後はエディタとしてVisual Studio Codeをインストールすることになってるんだけど、必要を感じるまではviでいいかな。
PTP (Precision Time Protocol) について知らなかったので見て回った資料
PTP(Precision Time Protocol)について調べてみた - ジョンのblog
セイコーの「うるう秒」対策(第5回) 「うるう秒」を全く使わない時間系 | セイコーソリューションズ とセイコーソリューションズの資料 http://www.seiko-sol.co.jp/wp-content/uploads/2016/12/leap_second_seminar-PART2-201610.pdf
- PTP (Precision Time Protocol) の相互接続実証実験の現状と方向性(ShowNet 2015の資料) https://www.interop.jp/2015/shownet/images/20150825-PTP-hasegawa.pdf
PTP (Precision Time Protocol) って何か知らなかったので、ざっと調べてみて回った。 NTPより圧倒的に正確(NTPがミリ秒オーダーなら、PTPは1μ秒以下の時刻同期確度)だし、うるう秒を使わない時間系なのね。
シビアな同期が必要な実例を見て、ふむふむと思うなど。
約8年ぶりに書いてみる
以前のはここ
IDからアンダースコアが抜けてるので一応別物扱いだけど、まぁ以前と似た感じでてきとーにつらつらと書かれるはず。
とりあえず吐き出していかないと貯められないので、まずは器の用意を。
多分、インフラ関連では「え、四十も半ばすぎてそんなことも知らないの?」的な内容も書いていくと思うので、恥ずかしくはあるんだけど、まぁ知らんものは知らんので仕方ない。精進あるのみ。