2019-01-01から1年間の記事一覧

【Python】階層構造になった辞書型データから一部を削除してみた

【結論】 階層構造のデータは再帰関数で扱う(持論) AnsibleやRobot Frameworkとは今後もビジネスパートーナーとして良好な関係を築いていきたい。 【目次】 はじめに やりたいこと←ここからが本題 Pythonコード さいごに はじめに 最近の業務内容です。 本題…

【Ansible】気づいたら文字列型に変換されていた件について

【結論】 リスト型で定義した変数をwith_itemsで順に取り出して、include_tasksとvarsを使ってsub_taskに渡しても型変換されない。 しかし、同じ処理を辞書型で実装すると、sub_taskに渡した変数は自動で文字列型に変換される。 【目次】 はじめに リスト型…

【Ansible】AnsibleTowerしか使えない開発環境でサンプルソースを効率よく試す方法

【結論】 AnsibleTowerにはSurvery機能がある。 この機能を使うことで、ジョブテンプレート実行時に任意の値を渡すことができる。 渡された値によって、読み込む.ymlファイルを可変にすることで効率よくサンプルソースを試せる。 Ansibleではfomart()を使う…

【Ansible】"yes"という文字列を変数に格納したのに…

【結論】 Ansible嫌いな人間が、全く理解できないAnsibleの仕様をおもしろおかしく書いたブログになります。 【目次】 はじめに Pythonで書いた場合 Ansibleで書いた場合 どんな名曲も私たちの色に染めてみせます!!実力派アカペラ男女ユニット「Groovy gro…

【Ansible】君と過ごした2ヶ月を振り返って思うこと

【結論】 拘りを捨てたプログラマーは3流以下(持論) 「はい」以外の「すぐには答えを出せないので5分ほどお時間ください。」などを言えるようにならないと、自分で自分の首を絞める羽目になる。 日本語を使ったコミュニケーションで正確な情報伝達を行うのは…

【Ansible】block-whenという書き方について

【結論】 Ansibleにif-elseはないけど、block-whenはあった。 block-whenという書き方が最適解かどうかはご自身で判断ください Don't repeat yourself (DRY)信者がAnsibleと付き合うには妥協が必要。 【目次】 はじめに FW(ファイアウォール)のプロビジョニ…

【Ansible🤢🤮】Python😚のリストや辞書を使って変数宣言してみた

【結論】 Ansibleの強みを活かせない案件に参画しているせいで、Ansibleになった人が書いたブログです。 Ansibleでも、リストやキーバリュー形式で変数を宣言し動的に切り替えることは可能。 【目次】 はじめに やりたいこと 辞書型を使った場合 リストを使…

ブログを120日間毎日投稿した😤と言いたかった。。。

【結論】 「会社」と「毎日ブログ投稿」の圧には耐えきれませんでした。 自己解釈としては、断念ではなくゴールの変更という認識。 【目次】 はじめに 毎日投稿を辞める理由 ブログはどうするの? 断念するの? 最後に はじめに 「ブログを120日間毎日投稿し…

浮動小数点数とは?

【結論】 0.0025というように、小数点の位置を固定して値を表現する方法を固定小数点という。 これに対して、浮動小数点では0.0025を0.25×0.01(10のマイナス3乗)と表現する。 浮動小数点は固定小数点と比較すると、同じ情報量でより小さな数字を表現するこ…

MacにGo言語をインストールする方法

【結論】 ちょっとGo言語を試したいだけなら、ここで十分。 はじめに 質問:なぜGo言語をインストールしたんですか? 答え:実行したいソースがGo言語で書かれていたからです。 インストール $ brew install go 初期設定 Goの作業場所として$GOPATHを設定す…

IoT向け通信プロトコルのMQTTとは?

【結論】 MQTTは通信プロトコルの一つで、パブリッシュ/サブスクライブ方式を採用している。 MQTTでは送受信するデータをトピックと呼ぶ。 MQTTは、現実世界の新聞の配達方式を採用した通信方式である。 新聞社(送信する機器)が新聞(トピック)を発行(パブリ…

【Ansible】🤢🤮

【結論】 Ansibleでは別フィルを呼び出すことで、関数呼び出し的なことをできる。 ただし、引数や戻り値を渡す方法はないため、全てグローバル変数でやり取りする。 結果、現場のエンジニアが「動いているのも不思議」とぼやくレベルのコードが出来上がる。 …

VLANという単語について調べてみた。

【結論】 VLANとは(Virtual LAN)の略。 物理的に接続されたLANとは独立して、仮想的なLANを構築する技術。 内部では、送信元と送信先の情報を元に通信制御を行っているだけ。 【目次】 はじめに 参考情報 さいごに はじめに 下図のようにA〜Eの5台のPCをハブ…

システムの信頼性を向上させる方法

【結論】 システムの信頼性を向上させるには、同じ構成を2系統用意すれば良い 信頼性と費用には相関関係がある。 【目次】 はじめに ホットスタンバイ ウォームスタンバイ コールドスタンバイ 参考情報 さいごに はじめに スポーツの大会では、試合当日や試…

ナルシストになりたくて…

【結論】 鏡を見つめてうっとりすることだけが、ナルシストになるための手段ではない。 己の日々の行動を見つめてナルシストになる方法だってある。 【目次】 はじめに ナルシストへの憧れ ナルシストになるために さいごに はじめに 今のところは、後から見…

【Linux】正規表現を駆使してsedコマンドで置換してみた

【結論】 置換(ちかん)とは、あるものを他のものに置き換えること。(念の為) Linuxではsedコマンドで文字列を置換できる。 正規表現と組み合わせることで、汎用的な置換ができる。 正規表現を使いこなせると、自分に酔うことができる。(個人の感想) 【目次】…

【Linux】|,grep,curl,seq,xargs,sed,;の解読

【結論】 curlコマンドを使えば、HTTPリクエストを投げることができる。 |を使えばコマンドの実行結果を次のコマンドに渡すことができる。 その際に、xargsコマンドを実行すれば、受け取った結果を引数として特定のコマンドを実行することができる。 grepコ…

【Linux】ハテナブログに投稿した記事の一覧を取得する方法

【結論】 Linuxのコマンドを駆使すれば、コードを書かなくてもスクレイピングできる。 【目次】 はじめに ハテナブログの分析 実行するコマンド コマンドの動作確認 参考情報 さいごに はじめに 「120日間毎日ブログ投稿したぜ」的な記事を出すための下準備…

【Ansible】[name="hoge"]から[hoge]だけ抜き出す方法

【結論】 AnsibleでXMLを解析するには、XMLを解析するための.ymlファイルを別途用意する必要がある。 正規表現を使いこなせれば、XMLに限らずどんなファイルでも解析できる。 しかし、正規表現を使いこなせないと、1行のコードを書くのに1日以上費やしてし…

【Ansible】ソートされたリストの並び順をチェックする方法

【結論】 Pythonであればindex()でリストの添字を取得できるので簡単に比較できる。 同じことをAnsibleでも実装したかったのですが、いくら探してもPythonのindex()に相当する書き方を見つけることができませんでした。 よって、苦肉の索として辞書型に変換…

【Ansible】uriモジュールの癖がすごい件について

【追記 2019/07/18】 return_content: yesの指定を追加すれば、成功時もcontent(ブラウザに表示されるデータ)を返してくれました。 【結論】 AnsibleではHTTPリクエストを投げるためにuriモジュールが提供されている。 ブラウザでHTTPリクエストを投げると、…

【Python】`&`と`|`演算子について

【結論】 &と|はビット演算子で、int型とset型(集合演算)で使うことができる。 【目次】 はじめに 数値の場合は 文字の場合 集合演算子の場合 辞書型の場合 リスト型の場合 タプル型の場合 参考情報 さいごに はじめに Rubyで|,||,&,&&を解説している記事見…

【Python】エンジニア認定基礎試験合格体験記

【結論】 Python3エンジニア認定基礎試験は簡単に合格することができる。 (とドヤルことができて、内心ホッとしてます。) 【目次】 はじめに 合格体験記 証拠写真 参考情報 さいごに はじめに 現在、業務ではAnsibleのプレイブックを開発しています。 なので…

お酒を飲む前に読む記事〜自戒の念を込めて〜

【結論】 お酒を飲んで酔っ払っている時は気分がいいが、次の日頭痛に悩まされて後悔する羽目になる。 飲み会はお酒を楽しく飲む場ではなく、相手を楽しませる場。 相手を楽しませるのに、自分がお酒を飲む必要は無い。 【目次】 はじめに 飲酒量は? 人がお…

【Ansible】JSON形式のファイルを読み込む方法

【結論】 AnsibleでのJSONファイルの読み込みは、Linuxのコマンドを実行する感覚でいける。 catでファイルを読み込んで、|を使ってfrom_jsonに渡すだけ。 【目次】 はじめに ファイル構成 JSONファイルの中身 Pythonで書いた場合 Ansibleで書いた場合 参考情…

【Ansible】with_itemsで処理をループさせる

【結論】 Ansibleでプログラムのfor文に相当する処理を行いたい場合はwith_itemを使う。 【目次】 はじめに Pythonで書いた場合 Ansibleで書いた場合 参考情報 さいごに はじめに 自称プログラマーがAnsibleのソースを理解するための備忘録です。 よって、Py…

【Ansible】whenで処理を分岐させてみた

【結論】 Ansibleで、プログラムのif文に相当する処理を行いたい場合はwhenを使う。 whenはif文と同じノリで条件式を記述することができる。 【目次】 はじめに Pythonで書いた場合 Ansibleで書いた場合 参考情報 さいごに はじめに Pythonプログラム読めな…

【Ansible】プレイブックとインベントリーとは?

【結論】 インベントリーは管理対象機器の接続情報のリストをまとめたファイル。 プレイブックとは管理対象に対して行う操作の一覧を記述したフィル。 【目次】 はじめに Pythonで書いた場合のイメージ Ansibleのソースファイル プレイブックを実行するため…

なんで毎日ブログを書いているんだろう?と思った時に読む記事

【結論】 本記事は、アニメの最終回に影響を受けて、アラサーおじさんの中に眠る中二病魂が爆発した記事です。 「波」という概念は、自己のモチベーションを維持する上で役に立つ。 【目次】 はじめに 波とは 波を止める理由 波を止める方法 毎日ブログ投稿…

【Ansible】CentOS7 にインストールしてみた

【結論】 CentOS7にAnsibleをインストする際の手順をまとめた。 viコマンド使えない前提で手順をまとめました。 【目次】 はじめに 前提条件 Pythonのインストール Ansibleのインストール SSH公開鍵認証設定 CentOS 7 で ssh-copy-id ができなかったときの対…