過去の日記

2015-09-06

不思議TV [book]

2年前の怖いテレビの姉妹巻みたいな感じか。
カタログ的ではなくて、人気があるシリーズに絞っている感じ。
X-Files とプリズナーNO.6が見たくなる。

別冊映画秘宝 不思議TV (洋泉社MOOK 別冊映画秘宝)

  • 出版社/メーカー: 洋泉社
  • 発売: 2015-09-02
  • ASIN: 4800306957
  • メディア: ムック
  • amazon.co.jp詳細へ

2015-09-07

使っていないimport文が勝手に消されてしまうのを回避する [Python]

「importしていること」が必要で「importされたもの」を全然使っていない文があった。

Flaskの起動スクリプトが

from app import app
import views

if __name__ == '__main__':
    app.run()

ってなったのだけど、この import views がそう。
このviews.pyにルーティングが書いてあるのでこのimportは消せない。

消せないけどPyCharmはここが使ってないぞ! というWarningになった。
これでうっかり PyCharm で optimize import してしまうと消えてしまう。困った。いや。困らないけど気持ち悪い。


解決は2つあって

from app import app
import views

__all__ = ['views']

if __name__ == '__main__':
    app.run()

とする。
from xxx import *
した時にインポートされる要素を明示するための記法。これを流用する。

もうひとつは、

from app import app
# noinspection PyUnresolvedReferences
import views

if __name__ == '__main__':
    app.run()

として、インスペクションを抑止するコメント行を書く。
説明と中身が合っていないような気がするが多分私の理解不足だろう。


おきまりで書いてた

if __name__ == '__main__':
    reload(sys)
    sys.setdefaultencoding("utf-8")

なんかも

if __name__ == '__main__':
    reload(sys)
    # noinspection PyUnresolvedReferences
    sys.setdefaultencoding("utf-8")

と書いて抑止できた。


これ、便利っぽいので検索したら書けるかもしれないマークアップの一覧を見つけたのでメモ。

PyCharm suppress inspections list


メモ

def archive_note(pk):
    try:
        note = Note.get(Note.id == pk)
    except Note.DoesNotExist:
        abort(404)
    # noinspection PyUnboundLocalVariable
    note.archived = True
    note.save()
    return jsonify({'success': True})

abort(404) が適切に例外を再raiseする(ハズな)のでtryの下に到達しないのだけど、PyCharmはそれが分からずに「Noteが初期化されてないかもしれないぞ」と言ってくる。tryの上に note = None とか意味ない(=意図をコメント残しておかないといけないような)文を入れて抑止するよりもこれの方がいいかも。


2015-09-08

てっとりばやくCSV1行分を読みこむ [Python]

CSV系のライブラリって「ファイルを読みこむ」のが多いなぁ。
StringIOでラップしてしまうのがいいかな。
pandasを使って、

import pandas as pd
from StringIO import StringIO
pd.read_csv(StringIO('a,c,d," e ",    f,",", 3'), header=None).values.tolist()[0]
['a', 'c', 'd', ' e ', '    f', ',', 3]

みたいな感じか。
でも、日本語は面倒かも。必要に応じてUTF-8だと思ってdecodeしないといけないのか。


あ、"次の行に続く"ケースがないと事前に分かっている時の話しです。


2015-09-13

ザ・ストレイン [novel][etc]

アメリカでドラマ化されてシーズン2がもうすぐ終わる、

「ストレイン 沈黙のエクリプス」1話無料視聴!|20世紀フォックス ホームエンターテイメント

の原作。

ザ・ストレイン

  • 作者: ギレルモ・デル・トロ,チャック・ホーガン
  • 出版社/メーカー: 早川書房
  • 発売: 2009-09-10
  • ASIN: 4152090669
  • メディア: 単行本(ソフトカバー)
  • amazon.co.jp詳細へ


別冊映画秘宝 不思議TV (洋泉社MOOK 別冊映画秘宝)

  • 出版社/メーカー: 洋泉社
  • 発売: 2015-09-02
  • ASIN: 4800306957
  • メディア: ムック
  • amazon.co.jp詳細へ

で紹介されていて、なんか面白そうなので読んだ。


吸血鬼もの。
オカルトに振らずに、SF側に振った設定。ウィルスや寄生虫といったギミックが、バイオハザードあたりから「ゾンビもの」のメイン・ストリームになってしまったの同様のことをやっている。
いるのだけど、一方で「鏡に映らない」とか「人に招かれない限り人の領域に入れない」とか「流れる水をわたれない」とかいった古めかしい特徴も残しているところが面白い。その理屈は続刊で何か判明するのかどうか。

ウィルスや寄生虫を取り入れているけど、その設定を取り込んで「吸血鬼もの」を構築する部分、お話を下支えする部分は手を抜いてないし、かなりの紙幅を割いて書いている。
おかげで展開が遅いと感じる部分部分もあるけど、じわりじわりと人間社会が冒されている様子をきっちり書き切っているってことでもあるので悪印象はない。
続刊も読むよ−。


沈黙のエクリプス (上) (ストレイン)

  • 作者: ギレルモ・デル・トロ,チャック・ホーガン
  • 出版社/メーカー: 早川書房
  • 発売: 2012-07-05
  • ASIN: 4150412618
  • メディア: 文庫
  • amazon.co.jp詳細へ

沈黙のエクリプス (下) (ハヤカワ文庫NV)

  • 作者: ギレルモ デル・トロ,チャック ホーガン
  • 出版社/メーカー: 早川書房
  • 発売: 2012-07-05
  • ASIN: 4150412626
  • メディア: 文庫
  • amazon.co.jp詳細へ

暗黒のメルトダウン (上) (ストレイン)

  • 作者: ギレルモ・デル・トロ,チャック・ホーガン
  • 出版社/メーカー: 早川書房
  • 発売: 2012-09-07
  • ASIN: 4150412650
  • メディア: 文庫
  • amazon.co.jp詳細へ

暗黒のメルトダウン (下) (ストレイン)

  • 作者: ギレルモ・デル・トロ,ホーガン チャック
  • 出版社/メーカー: 早川書房
  • 発売: 2012-09-07
  • ASIN: 4150412669
  • メディア: 文庫
  • amazon.co.jp詳細へ

永遠の夜 (上) (ストレイン)

  • 作者: ギレルモ・デル・トロ,チャック・ホーガン
  • 出版社/メーカー: 早川書房
  • 発売: 2012-11-09
  • ASIN: 4150412693
  • メディア: 文庫
  • amazon.co.jp詳細へ

永遠の夜 (下) (ストレイン)

  • 作者: ギレルモ・デル・トロ,チャック・ホーガン
  • 出版社/メーカー: 早川書房
  • 発売: 2012-11-09
  • ASIN: 4150412707
  • メディア: 文庫
  • amazon.co.jp詳細へ

2015-09-24

Postgres.appとRubyとPythonと [mac][Python][Ruby]

OS X用のPostgreSQLを実行するアプリケーション、Postgres.appがあります。
Homebrewでインストールしたりするんじゃなくて、アプリケーションを実行したときだけPostgreSQLサービスが起動します。

Postgres.app – the easiest way to get started with PostgreSQL on the Mac


で、PythonやRubyから使う時のメモ。


export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.4/bin/

をシェルのプロファイルに追加したりするなど。


Pythonは実行パスさえ通してあればOK。

pip install psycopg2

で済む。


RubyGems と bundle は……、
Gemfileに

source 'https://rubygems.org'
gem 'pg'

と書いたあと、

bundle config build.pg --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config
mkdir vendor
ARCHFLAGS="-arch x86_64" bundle install --path vendor/bundle

でOKだった。
bundle config によって .bundle/config というファイルができている。


追記
Postgres.appの中身のバージョンは都度確認のこと。


2015-09-29

パインズ [novel]

記憶をなくした主人公、迷い込む見知らぬ土地、一見して温和な村人たち、やがて知る外に出ることができないという状況……。
と、まぁ、正直にいうとサスペンス的にはありがちなスタートで、オチにも特にひねりとか新味はない。
なので道中の展開の妙と、主人公に対して徐々に提示されていく「奇妙な点」を楽しむべき。
……と言いたいが、オチから考えていくと色々とおかしな点がある。そのおかしな点に対しての一応のいいわけ的なことも提示されているが、それじゃあ納得できないなぁ*1

パインズ -美しい地獄- (ハヤカワ文庫NV)

  • 作者: ブレイク クラウチ
  • 出版社/メーカー: 早川書房
  • 発売: 2014-03-07
  • ASIN: 4150413037
  • メディア: 文庫
  • amazon.co.jp詳細へ

主人公の最後の選択こそが、一番怖いところなのかもしれない。


シャマラン監督の手でテレビシリーズ化されているのが、

別冊映画秘宝 不思議TV (洋泉社MOOK 別冊映画秘宝)

  • 出版社/メーカー: 洋泉社
  • 発売: 2015-09-02
  • ASIN: 4800306957
  • メディア: ムック
  • amazon.co.jp詳細へ

で紹介されていて興味を持った。
テレビドラマは見るのがとてもしんどいので小説で読んだ次第。
確かに、ドラマにすると映えそうなお話であった。

*1 と偉そうに書いているけどちゃんと考えるとつじつまあってるのかもしれないと不安もある。