[Dd]enzow(ill)? with DB and Python

DBとか資格とかPythonとかの話をつらつらと

scrapyのspiderのテスト(scrapy check / contract)

なんか気がつけば2017年8月から始めたBlogも1万アクセスを突破してました。めでたい。

さて、最近はDjangoよりもScrapyに触ってる事が多いです。結構日本語の情報も増えてきましたが、Django等に比べるとまだまだ利用者が少ないのか情報が少ない部分もあります。

このBlogではScrapyにはじめて触れますが、いきなりテストについてメモ代わりにまとめておきます。ScrapyではSpiderというコンポーネントをクロール対象ごとに作成します。このSpiderのテストをどうするかについてです。

続きを読む

Chrome Extensionのアイコンを動かしたい(chrome.browserAction.setIcon)

最近ちょこちょこChrome Extensionのコードを書いています。メインの処理自体はAPIを叩いて結果を取り出すだけのシンプルなものですが、細部に凝りだすと際限がないですね。

Chrome ExtensionのbrowserActionを使っている場合、常にブラウザの右上にアイコンが表示されますが、これを処理中はアニメーションさせたかったので色々試しました。 ※↓のような動きをしたかったのです。

f:id:denzow:20180218205838g:plain

続きを読む

Djangoのtemplateでifを省略する(yesnoフィルター)

Djangoのtemplateでちょっとしたifを省略する場合の話です。Listを元にDOMノードを作成しているときに、元データに応じてCSSクラスを変更したい場合の話です。以下のようなケースをもう少しきれいに書きたくなったので調べました。

    <ul>
        {% for row in data_list %}
            {% if row.is_active %}
                <li class="active">  <!-- is_activeの場合にactivteクラスを付与したい-->
            {% else %}
                <li class="">
            {% endif %}
            
            {{ row.value }}
        </li>
        {% endfor %}
    </ul>
続きを読む

Pythonでシングルトン(Singleton)を実装してみる

最近はHead First デザインパターンを読みながら、デザインパターンの勉強をしています。この本は読みやすくてとても参考になるのですが、サンプルの実装はJavaになっておりそのままPythonに移植することはできません。

第5章がシングルトンパターンですが、そもそもPythonでどのようにシングルトンを実装すべきかがわからなかったので確認した結果を残しておきます。

続きを読む