揮発性のメモ2

http://d.hatena.ne.jp/iww/

タイムゾーン設定

タイムゾーン /etc/localtime で決まる

# ls -l /etc/localtime
lrwxrwxrwx 1 root root 30 Sep 21 17:45 /etc/localtime -> /usr/share/zoneinfo/Asia/Tokyo


シンボリックリンクを直接書き換えてしまうか、デビアンっぽくコマンド使う

# dpkg-reconfigure tzdata

【設定確認から変更方法まで】Linuxでのタイムゾーンの扱い方
Debianのtimezone設定 - blogですかい

SSID一覧取得

端末からアクセスポイントの情報を調べるには? iwlistコマンド:ネットワーク管理の基本Tips - @IT

iwlist wlan0 scan| perl -nle '/ESSID:"(.*)"/ && print $1'

近頃は nmcli というかっこいいコマンドがあるらしいけれど、network-managerパッケージにあるようなので使わない。
【Linux】コマンドラインからネットワーク接続設定。 - freefielder.jp

はてなダイアリーインポート

9/13 9:40 インポート開始
9/14 10:00 インポート完了

インポート中ひまなので ついでにHTTPS配信を有効にしたけど、インポート完了後にすべきだったかな。 まあいいや

tweetdeckでツイートを自動でスクロールさせるブックマークレット 2

tweetdeckでツイートを自動でスクロールさせるブックマークレット - 揮発性のメモ
TweetDeckがjQueryを使わなくなったのでブックマークレットを作り直し

javascript:(function deckroll(){
    var list = document.querySelectorAll("div.js-dropdown-container");
    for(var i=0; i<list.length; i++){
        var o = list[i];
        if(o.scrollTop>3 || o.closest("section").classList.contains("is-new")) o.scrollTop--;
    }
    setTimeout(deckroll,50);
})();

closest()関数はIEには無いらしいので、IEでは動作しない。

WSGIでpythonを動かすやつ

linux4.9, debian9.5, apache2.4, python3.5

WSGI
Web Server Gateway Interface

pythonを動かすために作られたFastCGIのパチモン。
拡張子は .wsgi にしておくとよい。
要求に応じて.wsgiファイルの中の application関数*1 が呼び出される。
デーモンモードと組込みモードとがあり、なにもしないと組込みモードになる。
組込みモードではapache2自らが処理をし、デーモンモードでは専用のプロセスが処理をする。
HTTPヘッダは自力で出力するか適当なフレームワーク使う

WSGIモジュールをインストール

apt install libapache2-mod-wsgi-py3

壁に当たるまではpipでなくaptだけで済ませたい

apacheの設定ファイル(組込みモード)

; /etc/apache2/conf-enabled/jikkenwsgi.conf

Alias "/wsgihoge" "/home/unko/project/wsgihoge"
<Directory "/home/unko/project/wsgihoge">
    AddHandler wsgi-script .wsgi

    Options ExecCGI FollowSymLinks Indexes
    AllowOverride Options AuthConfig FileInfo Limit Indexes
    Require all granted
</Directory>

wsgiソース

#!/usr/bin/python3
# coding:utf-8

def application(environ, start_response):
    status = '200 OK'
    output = b'Hello,World!'

    response_headers = [('Content-type', 'text/plain'),
                        ('Content-Length', str(len(output)))]
    start_response(status, response_headers)

    return [output]

*1:*main関数的扱い。名前は好きに変えられる