Okada Hiroshi の blog

typo が多いです

Web メモアプリとしても GitHub を使っています。

報道されているように GitHub の 無料ユーザーも無制限にプライベートリポジトリを利用可能に なりました。

僕は今までプライベートリポジトリを使うためだけに月に$7 をGitHub に払っていましたが、無料ユーザーに戻しました。 $7 を払わなくて良くなったのは良いことですが、無料になると文句も言いにくいので、サービスが低下しないように MS には頑張ってもらいたいと思います。

ところで、僕は以前から Web上で自分用のメモをとるのに Github を使っています。** 今まで EvernoteDropbox Paper, Google Document, Google Docs 等を使っていて今一つしっくり来ませんでしたが。

GitHub に メモ用のプライベートリポジトリを作ってそこでメモを取るのがシンプルで使いやすいです。

Markdown がリアルタイムにレンダリングされないのは不便だと感じる人も多いでしょうが、僕はその分コンパクトに表示されて画面を有効に使えるので気に入っています。 またメモを削除しても履歴が全部残っているので安心感が違います。(commit メッセージはちゃんと書いていませんが)

GitHub が無くなることは無いと思いますが、バックアップも git clone するだけなので非常に簡単です。

プログラムが書ければ、足りない機能があってももローカルに clone して簡単なスクリプトで処理したり、 CI で処理を回すことも(古い日付の物をディレクトリにまとめる等) 簡単なのでプログラムをかける人にはお勧めだと思います。

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

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

オンラインにはもっと高機能なものも溢れていますが、個人的にはほぼ 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 を実行できます。