Okada Hiroshi の blog

typo が多いです

今更ながらブックマークレット作成

ちょっとブックマークレットを作たくなったので、今更ながら作成ツールを作りました。

オンラインにはもっと高機能なものも溢れていますが、個人的にはほぼ ChromeFirefox しか使わないので、入力、出力される JavaScript 両方とも新しめな物にしたかったのと、自分のブログに貼っておれば後で探さなくても済むので、作成しました。

python3.7 最小限の web サーバー

今年の中頃からぼちぼち python の勉強を始めています。普段は Jupyter Notebook でデータ処理等のスクリプトとかを書いて練習しています。

今日は気分を変えてミニマムな web サーバーってどうやって書くか調べてみました。

公式リファレンスだと https://docs.python.org/ja/3/library/http.server.html あたりなのですが、do_GET() あたりの書き方がわからなくて、おもったより時間がかかりました。(1時間くらい) web には未だ python2.x の情報が溢れているし、python3.x でもバージョンによって思ったより差異があって調べにくかったです。

Hello とだけ返す web サーバ (python3.7)

#!/usr/bin/env python3.7

from http.server import BaseHTTPRequestHandler, HTTPServer

class MyHTTPRequestHandler(BaseHTTPRequestHandler):

    def do_GET(self):
        self.send_response(200)
        self.send_header('Content-type', 'text/plain')
        self.end_headers()
        self.wfile.write(bytearray('Hello', 'utf-8'))

my_httpserver = HTTPServer(('', 8080), MyHTTPRequestHandler)

try:
    my_httpserver.serve_forever()
except KeyboardInterrupt:
    pass

# ちゃんと閉じないとしばらくアドレスが開放されないので明示的に閉じる
my_httpserver.server_close() 

Ubuntu のコード名とバージョン、元 debian のバージョン

頻繁にググルので自分用のメモです。

バージョン コードネーム 読み 意味 エンドオブライフ Debian Debian コード名
18.10 Cosmic Cuttlefish コスミック・カトルフィッシュ 宇宙のコウイカ 2019-07 10 buster
18.04 LTS Bionic Beaver バイオニック・ビーバー 生体工学のビーバー 2023-04 10 buster
16.04 LTS Xenial Xerus ジニアル・ジリス(ジラス) おもてなしのアラゲジリス 2021-04 9 stretch
14.04 LTS Trusty Tahr トラスティー・タール 信頼できるタール 2019-04 8 jessie

情報元 URL

Docker Hub の指定したリポジトリのタグを全部得る

Docker Hub のリポジトリのタグについてですが、

Webからだと 例えば https://hub.docker.com/r/circleci/node/tags/ のように Tags のページを見ても沢山タグがある場合一部のタグしか見ることができません。

全部のタグの一覧を見る方法は以下の記事のようにするそうです。

docker get list of tags in repository | ForDoDone

上記の記事では sed を使っていましたが jq がインストールされているならば、

$ wget -q https://registry.hub.docker.com/v1/repositories/circleci/node/tags -O - | jq --raw-output '.[].name' 

( circleci/node 所を自分の調べたいリポジトリ名に変更 )

みたいにした方がやっていることが分かりやすいかもしれません。

インフルエンザの予防接種に行ってきました

インフルエンザの予防接種にいってきました。

一応、検索して近所の医院の内、予防接種をやっていると明記してある所で電話予約して行きました。

予防接種は別に内科でなくてもやっているようで、僕が今回接種を受けたのは眼科でした。

www.baba-eyeclinic.com

平日の昼間だったので待ち時間は 0 でした。

値段は 3000円 でした。 なお、地域によっても違うでしょうが、年齢によっては安くなるので、子供には受けさせた方が良いと思います。

f:id:OkadaHiroshi:20181024211218j:plain

snap (Snappy) で Docker をインストールして sudo 無しで実行する方法

今まで、 Docker を Ubuntu にインストールするときには Docker 公式サイトの Get Docker CE for Ubuntu | Docker Documentation の手順の通りにしていました。

けれども snap でインストールれば、docker-compose も同時にインストールできて管理も楽なので、snap を使ってインストールしてみました。

ところが、

$ sudo snap install docker

とすると docker というグループが出来ず、 ユーザーを docker グループに所属させられないので、Docker を使うたびに

$ sudo docker run hello-word 

等と sudo しなくてはならなくなりません。

少しググって Using docker requires sudo · Issue #1 · docker/docker-snap · GitHub というスレッドで、解決方法を見つけました。

要するに

$ sudo addgroup --system docker
$ sudo adduser $USER docker
$ newgrp docker
$ sudo snap install docker

みたいに snap で Docker をインストールする 前に docker というグループを作っておけば良いということです。

これで

$ docker run hello-word 

のように sudo 無しで docker を実行できます。

放送大学に入学しました

10月から放送大学に入学しました。

学生証

入学した理由は数学や科学をもう一度勉強したかったためです。

僕は一応大学は物理科をでているのですが、当時は今ほど大学を卒業するのは難しくなかった上、卒研の実験を頑張ることによって誤魔化したのではっきりいって学力はないです。

社会人になってからも、最低限の線形代数とかはプログラムを作る上で必要だったので復習しましたが、それ以外はサッパリです。

もちろん、インターネット上の情報や講座、本だけで勉強すれば、放送大学より安く勉強できるのですが、やはり単位のための試験があって一定の期間の間に勉強しなければならないというプレッシャーが僕には必要だと思っています。

卒業を目指すかどうか決めていませんが、とりあえず無理のない範囲で単位を取っていきたいと思います。(一応10年いられるので)