Windows
Hugo のウェブサイトの記事に従って,chocolatey をインストールして,chocolatey を使って hugo をインストール.
CentOS6
バイナリの tar.gz を持ってきて,hugo executable を /usr/local/bin にコピー
Windows
Hugo のウェブサイトの記事に従って,chocolatey をインストールして,chocolatey を使って hugo をインストール.
CentOS6
バイナリの tar.gz を持ってきて,hugo executable を /usr/local/bin にコピー
メールの設定の際に STARTTLS と TLS が出てくるが,どうなっているのか,とてもよくわかる解説記事があった.
乱暴に結論づけると次のようになるか:
keyword: mail, email
emacsで,gpgで暗号化されたファイルを find-file するとき,今までは minibuffer から鍵を入力できていたのに,なぜか pinentry というウィンドウが出るようになってしまった.
このページに対策が書いてあるが,最後の (pinentry-start) のところで,/tmp/emacsXXXXX が安全でないというエラーになってしまった.
しかし,どうも,そこに書かれていることのうち,(setq epa-pinentry-mode ‘loopback) を .emacs に書く」ということだけ実行すればちゃんと minibuffer から入力できるようになるようだ.
環境は,emacs 25.3.1 を cygwin で動かしている.gpg と gpg2 が入っている.(この違いもわかっていない…)
pythonからmysqlを使う.とりあえずcygwinは後回しにして,Windowsで.
python3では,mysqlclient が良さそうだというようなことが stack overflow に書いてあったので,それを使う.
pypiのサイト から,wheel ファイル (mysqlclient-1.3.12-cp36-cp36m-win_amd64.whl) を持って来て,
pip3 install wheel pip3 install --use-wheel --no-index mysqlclient-1.3.12-cp36-cp36m-win_amd64.whl
で入った.
こんな感じで実行できる.
import MySQLdb from MySQLdb.cursors import DictCursor db = MySQLdb.connect( host="localhost", user="root", passwd="", db="dbe1", charset='utf8' ) c = db.cursor() c.executemany( "INSERT INTO 家計簿 VALUES (%s, %s, %s, %s, %s)", [('2018/03/15', '食費', 'スターバックスでコーヒー', 0, 420), ('2018/03/16', '光熱費', '3月水道料金', 0, 3510)] ) db.commit() c = db.cursor(DictCursor) sql="""SELECT * FROM 家計簿""" c.execute(sql) for x in c: print(x) print('---') c = db.cursor(DictCursor) c.execute('SELECT * FROM 家計簿 WHERE 費目 = %s', ('食費',)) for x in c: print(f"{x['日付']}の日付で,「{x['メモ']}」")
CentOS6 の firewall である iptables で,ポートを新たに開く際の設定.仮に,3456 を開きたいとすると,
$ sudo iptables -A INPUT -p tcp -m tcp --dport 3456 -j ACCEPT $ sudo /etc/rc.d/init.d/iptables save
とすれば良い.最初のコマンドで,運用中のファイアウォールにルールを追加する.次のコマンドで,ファイル /etc/sysconfig/iptables に,現在のルール (というよりも,現在運用中のルールを実現するためのコマンド列) が書き込まれ,次の起動の際にも同じルールが適用できるようになる.
なお,現在のルールを表示したければ,
$ sudo iptables -nL
とすれば,標準出力に出てくる.
keyword: firewall ファイアウォール port
Web認証について,なかなか動作のしくみを説明してくれるところが見つからなかったが,このページは分かりやすかった.
httplib, httplib2, urllib, urllib2 などいろいろある.比較もいろいろされている.
他に Requests というものがあるらしい.
この前書いた dive into python に紹介されていたこともあって,また,google calendar API のサンプルプログラムで使われていたこともあって,httplib2 を使っていたのだが,python3 での proxy がうまく動かない.まだそんなに調べた訳じゃないが,どうもサポートがあやしい.
Requests のほうは,python3 と proxy のサポートはちゃんとしているそうだ.ただ,キャッシュが使えない.実運用と言うよりも,テストの時にキャッシュがほしいのだ.
検索したら,CacheControl というのがあって,Requests に,httplib2 のキャッシュ機能を加えるものだそうである.ドキュメントを読んでみると,テストのために1日間はヘッダにかかわらずキャッシュする,などという例が載っていて,まさに欲しいもののようだ.
導入してみますかね…
[追記] 残念ながら動作していないようにみえる.http://cachecontrol.readthedocs.io/en/latest/custom_heuristics.html に書いてある例をそのまま動かして,assertion error (キャッシュされない) となる.
keywords: cache
mu4eは検索用のindexを作成するのに,xapianというサーチエンジンライブラリを使っている.環境変数 XAPIAN_CJK_NGRAM を空でない値に設定すると日本語検索ができる,と,いろいろなところに書いてあるのだが,私の環境では,これを空でない値に設定すると,マッチしなくなってしまう.設定しないと,なんとなく動いているように見えるのだが.もう少し実験してみると,2文字までなら検索できるが,3文字になるとだめなようだ.たとえば,「情報」かつ「報学」を含むものを探せ,というとたくさん出てくるのだが,「情報学」を含むものを探せ,というと,何も出てこない.
環境は mac os で,homebrew で, brew install mu としてインストールしたものだが,パッケージングの問題なのかもしれないな.