ナビゲーション

2914/12/31(月)ごあんない

開発で使えるテクニックとかライブラリの情報まとめです。

主に実務でアレコレやった備忘録とかガチャガチャ遊んでみたものを置いてます。
  • あの時ああすりゃ良かった!
  • こういうライブラリないん?
  • ベストプラクティス探してる
  • これ、PHPで書いたらこうなんだけどRubyだとどうなんだっけ?
みたいなのはもうやめたい。
そう思って書いてます。

開発のために色々インストールする事もありますが、特化した情報はテクニカル×マガジンの導入の手引きをご覧ください。
→運用は上記、使い方はこちらで述べます。
 エンジニアとして開発業務に携わるなら、運用のためにコマンドを使うことは良くないと考えるからです。
Gist | gist

また、開発以外で必要な環境構築関連はLinux救急箱で扱っています。

ごあんない

ナビゲーション専門性が高い記事を扱います。
テクニカル×マガジンニュース系やどこに置けばいいか分からないものを置いてます
Linux救急箱UbuntuとCentOSがメイン。他にも色々さわるかも
開発日誌ここです
エンジニアのおもちゃばこツール沼ご用達のアイテムがいっぱい!
初心者AWS私が初心者!って言いたいだけのAmazon Web Service奮闘記
タグ探したい項目ごとに選びます
使い方このサイトの使い方です
テーマ言語ごとの話題。コマンド以外にもテーマに合うものは全部ここ
コマンド言語に依存するので、目的別に分けています。
専用コマンドコマンドで更にややこしいもの。linux(ssh)はヤバい
ツール機能別に分けます。Hello worldから運用の話まで
キーワードよく検索されるキーワードです
だいたいの場合、よくあるお困りごとを再検索する事が多いんでまとめておきます。

【ansible】いい感じの環境構築を自動でやってくれるPython製ツール[Chefのようなもの]

2018/12/05 テーマ別::python
全力で逃げていたら猛烈な勢いで追いかけてきたやつ。

Q. なぜAnsibleの入門は分かりにくいのか?

A. ステップアップタイプのチュートリアルがない割に、ベストプラクティスの記事が多いから。
これが私がpythonの環境もchef*1で作るとかいう意味わからんことに乗り出した大きな理由です。

*1 : AnsibleのRuby版、と思ってもらえばここでは大きな誤りはないです。

環境について

WSL Ubuntu 18.04
です。
こっちは色々なしがらみがあって手こずったので、メインはHyper-Vに同様の環境を構築して検証しています。

また、DockerやらVagrantとかVMWareとかBusyboxの機能を使う前提のサイトが多すぎて逆に分からなくなったので、そういった要素を除外しています。

所信表明

だから○○ってなんなのさ?っていうコンセプトで書いてるので、コマンドの意味をメインに解説しています。
やり方が知りたい人はQiitaなりでソースコードを直接コピペしてもらった方が早いかもしれません。
私はそれでAnsible挫折したのでオススメしませんが…

インストール

【 pip 】 pythonのパッケージ管理までは実施済みとします。
pip install ansible
これだけです。

[netaddr] IPアドレスの比較・判定を軽々実現できる魔法のパッケージ

IPアドレスを突き合せたりするお話がやってきたのでそれら用に。
確かに便利だった。
# pip show netaddr:  https://netaddr.readthedocs.io/en/latest/index.html
from netaddr import valid_ipv4, IPNetwork

ip = '192.168.1.1'
print(valid_ipv4(ip))

result = IPNetwork(ip)
print(ip.is_private())
# True
こんなんで値取れるなんてマジか~!
参考:Bad request.

IP CIDRとは

(今さら)CIDRアドレス計算ツール by yamagata21

とりあえず触ってみてからですね。
この辺が分かってないと使えないです。

比較用

オレオレですけど、こんなものを作ってみました。
# netaddr.IPNetwork.is_private() == True
ipv4 = ['10.0.0.0/8', '172.16.0.0/12', '192.168.0.0/16']
ipv6 = ['fc00::/7', 'fe80::/10']
is_privateが一番分かりやすかったから使ったんですが、なるほど確かに期待値通り。
むしろこのtomlの方が抜けているファイルがあると思うぐらいには。

[(access failed) https://code.i-harness.com/ja/q/34d680]
この辺を掘り下げると色々あるっぽいですね。
公式のリファレンスに勝るものなし、だと思いますが…。

[homebrew] インストール

linuxでもmacOSのインストールコマンドを使いたい人を想定しています。
Windowsでbrew使えるんかな…?
WSLでは使えるのは確認しています。

linuxbrewというユーザーを作って.linuxbrew以下に環境を作っているようです。

インストール

公式の手順を最適化してます。
apt install build-essential curl file git
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"

test -d ~/.linuxbrew && PATH="$HOME/.linuxbrew/bin:$HOME/.linuxbrew/sbin:$PATH"
test -d /home/linuxbrew/.linuxbrew && PATH="/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:$PATH"
test -r ~/.bash_profile && echo "export PATH='$(brew --prefix)/bin:$(brew --prefix)/sbin'":'"$PATH"' >>~/.bash_profile
echo "export PATH='$(brew --prefix)/bin:$(brew --prefix)/sbin'":'"$PATH"' >>~/.profile
. ~/.profile

brew update
Linuxbrew | The Homebrew package manager for Linux

注意

HomebrewがRubyを使っているので、shの内容をそのまま使うと既存部分に影響があるかも知れません。
rbenvを使っているなら大丈夫です。

ここまではいいけど、brewを使ったインストールをする時にめっちゃくちゃハマった…
解決までの経緯をまとめておきます。

[golang] 旧手順:インストール

2018/10/20 テーマ別::golang
古い手順ですが残しておきます。どうにもならなくなった時などの役に立てば幸い...
バージョンだけ最新の状態に読み替えれば使えるとは思いますが、実際に私も試したわけではないです。

公式サイト

The Go Programming Language

リファレンスもそちらに

続きを読む

OK キャンセル 確認 その他