2020年7月24日金曜日

Raspberry Pi設定メモ

Raspberry Pi 3 B 買いました。

空のRaspberry Pi OSからスタートして、無線LANの設定で、アクセスポイントが見えているのにPasswordを入力するとエラーになってしまうということがありました。

公式ページのやり方でやり直したらできました。



sudo raspi-config

でGUIが出てくるので、Networkの設定を選ぶ。画面がすぐに切り替わって入力を求められるので、そこでパスワードを入れたら入力できました。

しかしこれだとイマイチ変な設定になっているようでSSIDが思わぬものが登録されているようです。


sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

とかで編集するのが正式みたいです。


MPI3508 3.5インチ LCD


HDMIケーブル繋いで
電源はマイクロUSBか、ラズパイのGPIOか。

タッチパネルのラズパイでの設定はこちらを参考にしました。

sudo rm -rf LCD-show
git clone https://github.com/goodtft/LCD-show.git
chmod -R 755 LCD-show
cd LCD-show/
sudo ./MPI3508-show

これでOK。

小さいので、フォントを大きくしないといけませんね。



2020技術振り返り(-7月)

気になっていて試したい技術(言語、アプリ、一般知識)のメモを2020年3月頃に書きましたが、それを振り返る。

---

docker : いまいち分かっていないが少しだけ。インストールしてdocker runはやった。

kubernetes: 進捗微小。クバネティスと読めばいいことは分かった。dockerのオーケストレーションが楽にできるが、実はこれ自体が複雑で学習コストが高いらしい。AWS k8sの解説動画は良かった。

Rust: 全然。C++が先かなと。。

Node: 全然。

React: 全然。

Vue: 少しだけ触った。インストールしてチュートリアル。他の人の作ったアプリを読む必要があったので。結局2週間くらいで終わった。

Sphinx: 少しは触っていてドキュメントは作れる状態。しかし毎回自分の記憶が初期化されるのが問題なのでどうにかしたい。進捗なし。

ソフトウェアテスト全般: 全然。本を買おうと思った。

DNSについて: 本「DNSの教科書」を読んでなんとなくは理解。digコマンドとかはやっていない。

ネットワークについて: 本読んだ。理解できてきた気がするが、ルートテーブルで暗黙的にやっている部分とかが追いつかない気がする。

AWS: 勉強した。SAAは受かったがSAPは落ちた。座学が中心なのでもっとハンズオンをして理解を深めないとダメな気がする。

Arduino: 少し触った。入門本を一通りやったくらいには進んだ。

Raspberry Pi: 買ったが、未だ着手していない。

C++: 江添本が良さそう。読むことにする。
---

2020年後半の優先度

やりたい度が高いのは:

AWS、C++、Arduino/Raspberry Pi、テスト、ネットワーク







2020年7月23日木曜日

UbuntuでRaspberry Pi OSをEtcherでマイクロSDに書き込む

Raspberry PiのOSイメージをマイクロSDに書き込む作業が必要でした。


SDカードをFATでフォーマットする。
SanDiskの32GBを使いました。楽天市場で699円でした。買ったら最初からフォーマットされていたようです。

OSはここからダウンロードする
https://www.raspberrypi.org/downloads/raspberry-pi-os/
全部入りのRaspberry Pi OS (32-bit) with desktop and recommended softwareにした。2.5GBあるのでダウンロードに時間がかかる。

Etcherはここからダウンロードする。自動でDownload for Linux x64を選ばせてくれる。

Etcherのzipを解凍する。

 cd Downloads/
 chmod a+x balenaEtcher-1.5.101-x64.AppImage 
 ./balenaEtcher-1.5.101-x64.AppImage 

これで起動します。

Flash from file: 読み込むOSイメージを選択(zipファイルのままでいい)
Select target: 書き込み先のSDカードを選択
Flash で開始

2020年7月7日火曜日

AWSのアフィニティの意味

アフィニティという言葉の意味がよく分からなかったので調べました。

そもそも英単語として聞き慣れないので、意味をOxford Dictionaryで見ると、

affinity : 

1. strong feeling that you understand somebody/something and like them or it

→ 親しみ

2. a close relationship between two people or things that have similar qualities, structures or features

→ 類似性、共通性、一体感

となります。どうやら類似性、一体感という部分が相当するようです。

---

AWSではDedicated Hostで、アフィニティという言葉が出てきます。一度停止したインスタンスを再起動するときに、同一のホストで再開するかどうかの設定ができます。

ホストのアフィニティ
ホストのアフィニティは、インスタンスレベルで設定します。また、インスタンスと Dedicated Host の間に関係を作成します。

アフィニティが Host に設定されている場合は、特定のホストで起動したインスタンスが停止しても、常に同じホストで再開されます。これは、ターゲットを絞った起動にもターゲットを絞らない起動にも適用されます。

アフィニティが Off に設定されているときにインスタンスを停止して再起動する場合は、使用可能な任意のホスト上で再起動できます。ただし、最後に実行した Dedicated Host 上でベストエフォートベースでの再起動を試みます。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-understanding

AWSでのもうひとつの事例はロードバランサーです。これはスティッキーセッションの別名として「セッションアフィニティ」と呼ばれています。同じIPなら同じように振り分けるという機能です。

 Classic Load Balancer のスティッキーセッションを設定する

デフォルトでは、Classic Load Balancerは負荷が最小の登録されたインスタンスに各リクエストを個別にルーティングします。スティッキーセッション機能 (セッションアフィニティとも呼ばれる) を使用することによって、ロードバランサーがユーザーのセッションを特定のアプリケーションインスタンスにバインドするように設定できます。これにより、ユーザーのセッション中のすべてのリクエストが同じインスタンスに送信されます。
https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/classic/elb-sticky-sessions.html


 別のサイトですが、富士通のデザインパターンでのAffinity, Anti-afiinityという説明がありました。

ポリシー仮想サーバの配備
AffinityAffinityポリシーのサーバグループに登録された仮想サーバ群は、可能な限り同一の物理サーバ上で起動されます。
Anti-AffinityAnti-Affinityポリシーのサーバグループに登録された仮想サーバ群は、確実に別々の物理サーバ上で起動されます。