金魚亭日常

読書,ガジェット,競技プログラミング

2017年1月に読んだ本

角川インターネット講座,全巻セットでめっちゃ安かった時に買ったのだけど,やっと3巻まで来た. 先は長い.

数学ガール やさしい統計,統計入門としてとても良い本だったので偏差値とか言われ始める中高生はみんな読むべきだと思った. もちろん大人も.

化物語 電子書籍になったので,読み始めた. 昔,紙で一冊買って読まずにどこかに置かれてるはず. どこで買おうかと悩んだけど,結局hontoにした.

honto,一部読めないものもあるけどMac版クライアントできたし,本棚のレイアウトも上下巻あるとセット表示してくれるので,Kindleよりいいと思うのだけど,あんまり使ってる人を知らないのでもったいない.

期間 : 2017年01月
読了数 : 10 冊
数学ガールの秘密ノート/やさしい統計 (数学ガールの秘密ノートシリーズ)
結城 浩 / SBクリエイティブ (2016-10-29)
角川インターネット講座 (3) デジタル時代の知識創造 変容する著作権
長尾 真 / KADOKAWA/角川学芸出版 (2015-01-23)
みんなのGo言語【現場で使える実践テクニック】
松木雅幸 , mattn / 技術評論社 (2016-09-09)
化物語(中) <物語> (講談社BOX)
西尾維新 / 講談社 (2016-07-08)
化物語(下) <物語> (講談社BOX)
西尾維新 / 講談社 (2016-07-08)
化物語(上) <物語> (講談社BOX)
西尾維新 / 講談社 (2016-07-01)
スティーブズ 6 (ビッグコミックススペシャル)
うめ(小沢高広・妹尾朝子) , 松永 肇一 / 小学館 (2016-12-28)
STEEL BALL RUN 21―ジョジョの奇妙な冒険part 7 ボール・ブレイカー (ジャンプコミックス)
荒木 飛呂彦 / 集英社 (2010-07-02)
STEEL BALL RUN vol.20―ジョジョの奇妙な冒険Part7 (20) (ジャンプコミックス)
荒木 飛呂彦 / 集英社 (2010-03-04)
STEEL BALL RUN vol.19―ジョジョの奇妙な冒険Part7 (19) (ジャンプコミックス)
荒木 飛呂彦 / 集英社 (2009-11-04)

Windows 10 の 游ゴシック(Power Pointでの扱い)

環境

游ゴシック: YuGothic.ttc(游ゴシック Regular,游ゴシック Light,游ゴシック Medium,游ゴシック Bold)

多分埋め込み可能.

  • 游ゴシック => 游ゴシック Regular
  • 游ゴシック Light
  • 游ゴシック Medium
  • 游ゴシック をBoldに => 游ゴシック Bold
  • 游ゴシック Light をBoldに => 実体は 游ゴシック Light
  • 游ゴシック Medium をBoldに => 実体は 游ゴシック Medium

matplotlib で出力するファイルの 幅 と 高さ

1 インチは 25.4 mm なので,これは254 mm × 254 mmのPDFになる

plt.figure(figsize=(10, 10))
plt.xlim(0, 1)
plt.savefig("fig.pdf")

で,周囲の余白を取り除きたいときは bbox_inches='tight' を指定するといいのだけど, サイズは 210.7 mm × 208.2 mm になった.

plt.figure(figsize=(10, 10))
plt.xlim(0, 1)
plt.savefig("fig-tight.pdf", bbox_inches='tight')

指定サイズで作った後に切り詰めているみたいなので,思ったサイズにしたかったら,試行錯誤するしかない?

Firefox リフレッシュ

Firefox があまりにも遅いので,リフレッシュした.

FirefoxWindowsMaciOSAndroid でも使えてかつフォントレンダリングが一番きれいな気がするので,ずっと使っている.

設定が全部消えるので,フォント,プロキシを設定.

フォントは,

  • 明朝: 游明朝
  • ゴシック: 源ノ角ゴシック
  • 等幅: 源ノ角ゴシックCode

あとは,Backspace で戻らなくする.

mozilla-remix.seesaa.net

検索バーは最近使っていないので削除

pc-karuma.net

検索エンジンは,最近はDuckDuckGo!gGoogle 使うことが多いが.

アドオンは,Syncしてあるので全部インストールされたが,いったん全部無効にして,

を有効化.

Pocket は,今まで統合される前のやつを頑張って使っていたが,統合版に移行. とりあえず,リストをサイドバーで表示できなくなって非常に使いにくい. というか,この機能が削除されたから,古いやつを使っていたのだった.

とりあえず,Amazon は固まらずに見れている.


Feedly 追加

  • browser.contentHandlers.types.6.title: feedly
  • browser.contentHandlers.types.6.type: application/vnd.mozilla.maybe.feed
  • browser.contentHandlers.types.6.uri: https://feedly.com/i/subscription/feed/%s

Mac のフォントはデフォルトで,


検索ボックス消して空いたところに,はてブボタンを置いたら,めっちゃダサい.

python で Rのdevtools::session_info() 的なやつ

jupyter notebook のはなしです.

rasbt/watermark を使う

https://github.com/rasbt/watermark を使って,

%load_ext watermark
%watermark -u -d -v -p numpy,pandas,matplotlib

とすると

last updated: 2016-10-12 

CPython 3.5.2
IPython 5.1.0

numpy 1.11.1
pandas 0.18.1
matplotlib 1.5.1

というふうに,CPython, IPython,-p で渡したパッケージのバージョンが出力される. magic には $var で変数を渡せるので,モジュール一覧を取得する方法を考える

インポートしたモジュールを取得する

http://stackoverflow.com/questions/20703975/is-there-a-sessioninfo-equivalent-in-python より,

def imports():
    import types
    for name, val in globals().items():
        if isinstance(val, types.ModuleType):
            yield val.__name__
excludes = ['types', 'builtins', 'IPython.core.shadowns']
imported_modules = [module.split(".")[0] for module in imports() if module not in excludes]

とやると一覧がリストになる.

module.split(".")[0]

としているのは,サブモジュールをインポートしている場合があるので.

magic にする

from IPython.core.magic import register_line_magic
@register_line_magic
def imports_(param=''):
    def imports():
        import types
        for name, val in globals().items():
            if isinstance(val, types.ModuleType):
                yield val.__name__
    excludes = ['types', 'builtins', 'IPython.core.shadowns']
    imported_modules = [module.split(".")[0] for module in imports() if module not in excludes]
    return ",".join(imported_modules)

del imports_

と書いて,適当なファイル名で,.ipython/startup に置く(.jupyter ではない). なお,

def imports_(param=’’):

としているのは,引数なしにすると,引数0なのに1個渡された,的なエラーが出たので.

あとは,jupyter notebook 上で,

imports = %imports_
%load_ext watermark
%watermark -u -d -v -p $imports

とする.

別解: ASTから取得

自分の環境では,notebook(.ipynb) を保存すると同時に .py と .html が保存されるようになっているので,.py を ASTにして,Import と ImportFrom を抜き出す,という方法を考えた. 先ほどのmagic を書いたファイルに以下を追加して,

@register_line_magic
def packages_(source):
    import ast
    source = open(source, "r", encoding="utf-8").read()
    tree = ast.parse(source)
    def select_imports(node):
        if isinstance(node, ast.Import):
            return node.names[0].name.split(".")[0]
        elif isinstance(node, ast.ImportFrom):
            return node.module.split(".")[0]
        else:
            return None
    imports = [select_imports(node) for node in ast.walk(tree)]
    packages = ",".join(list(set([i for i in imports if i is not None])))
    return packages

最後のdel を変更する.

del packages_, imports_

実行

packages = %packages_ notebook.py
%load_ext watermark
%watermark -u -d -v -p $packages