[[ともっくす alloc] init]

ともっくすの雑多な日記と技術的なメモ

Google Analyticsでダウンロード数を計測したい

PDFをダウンロードできるようにするなら,どうせなら,そのダウンロード数もGoogle Analyticsでトラッキングできるようにしたいと思うのが人というもの.

こちらのサイトを参考にさせていただきました. > GoogleアナリティクスでPDFファイルのダウンロード数をカウントする方法 | weberNote

やり方は簡単で,

<a href="http://example.com/download/hoge.pdf" onClick="_gaq.push(['_trackEvent','download','click','hoge.pdf']);">PDFをダウンロード</a>

こうするだけ.

これだけで,Google Analyticsの「コンテンツ > イベント > サマリー」で確認することができる.

ちなみに,「downlad」がイベントカテゴリで,「click」がイベントアクションで,「hoge.pdf」がイベントラベルで,各々,わかりやすい名前を付ければいいと思う.

本番環境のPyramidでPDFをダウンロードできるようにしたい

Pyramidのプロジェクトで,静的ファイルとしてPDFを置いておき,aタグでリンクを張ることで,そのPDFをダウンロードできるようにしたい.

Pyramidプロジェクトを作成したときに,静的ファイル用のstaticディレクトリができるので,そこにfileディレクトリを作って,その中にPDFを置いた.

で,そのPDFのURLをaタグのhref要素に設定した.

ローカルでPyramidを実行した場合は,問題無くPDFをダウンロード出来た.

しかし,本番環境にあげてみると,404が返ってくる.

これには詰まった.

キャッシュのせいじゃないかとか,URLが間違ってるんじゃないかとか,パーミッションが悪いんじゃないかとか,aタグを使うのが間違ってるんじゃないかとか,かなり悩んだ.

検索しても全然情報が無い.

で,頑張って探してたら,MANIFEST.inが怪しいんじゃないかと.

include *.txt *.ini *.cfg *.rst
recursive-include dicemaker *.ico *.png *.css *.gif *.jpg *.pt *.txt *.mak *.mako *.js *.html *.xml

MANIFEST.inの中身はこうなっている.

マニュアルを見てみると,pythonファイル以外についてはここに記述する必要があるっぽい.

というわけで,*.pdfを追加したら,無事に本番環境でもPDFがダウンロード出来た!

include *.txt *.ini *.cfg *.rst
recursive-include dicemaker *.ico *.png *.css *.gif *.jpg *.pt *.txt *.mak *.mako *.js *.html *.xml *.pdf

もっと勉強します.はい.

やっぱり秋刀魚の塩焼きは美味しいと思う

今週のお題「秋の味覚」


秋の味覚と言ったら,やっぱり秋刀魚だと思う.

で,秋刀魚と言ったら,塩焼きがいいかなと思う.

学食でも秋刀魚は食べることができて,秋刀魚の南蛮漬けと秋刀魚の塩焼きがある.

168円くらいかな.

安いし,美味しいし,健康にいいし.

秋刀魚の塩焼き食べたい.

SQLiteでテーブルが存在するか確認したい

テーブルとか管理するテーブルとかがありそうな気はしてたし,あった気がしてた.

これでいいのね.

select count(*) from sqlite_master where type='table' and name='<テーブル名>';

「ダイスメーカー」を公開してみた

なんとなく作ってみようと思い立ってから相当時間が経ったが,公開できるレベルに達したので,公開した.

ダイスメーカー > ダイスメーカー - 作成

f:id:o_tomox:20130927172940p:plain

続きを読む

Sublime Text 2でMakoテンプレートがちゃんとシンタックスハイライトされるようにしたい

最近,エディタとしてSublime Text 2を使い始めた.

で,Pyramidのテンプレートは基本的にMakoを使っている.

Sublime Text 2には,デフォルトではMakoテンプレート用のシンタックスハイライター???*1が,当たり前だが入っていない.

これまで,HTML用のシンタックスハイライトで嫌々ながらも頑張っていたが,さすがに耐え切れなくなり,Makoテンプレート用のシンタックスハイライターを探してみたら,あっさり見つかった.

こちら > Page not found · GitHub Pages

*1:なんて言えばいいんだ?

続きを読む

Bing Search API を使いたいと思ったのでPythonでラッパーを作ってみた

Yahoo API が使えないので,Bing Search APIを使いたい.

5000トランザクション/月までなら無料で使えるのは素晴らしい.

登録

Bing Search APIのページに行き,右下の5000トランザクション/月のサインアップをクリック.

Microsoft アカウントがあるならそれでサインインし,持っていないなら登録する.

「購入手続き」とか出るが,怖がらずに進める.

続きを読む

自分のサイトのデザインを大幅に変更してみた

前にも紹介したように,自分のプロフィールサイト的な何かを持っているのだが,そのデザインが気に入らなかったので,改めて作ってみた.

ともっくすのウェブサイト


トップページはこんな感じ.
f:id:o_tomox:20130923181811p:plain

続きを読む

学生最後の年だしたくさん遊ぶ

今週のお題「秋の準備」



実は来年から社会人で,今年度が学生最後の年なので,最後の秋を楽しみたい!

夏もちょくちょく遊んだけど,それほどがっつり遊んだわけでない.

というわけで,秋はしっかりと遊びたい! 楽しみたい! 何をするかは未定!



しかし,研究という名の強敵が待ち受けているのも,また事実.

夏の,特に後半,というか今は,研究に忙殺されている.

いや,忙殺は言いすぎかもしれないが.十分遊んでるだろと言われるかもしれないが.

とにかく,研究は進めなくてはいけない.

なぜなら,卒業できないから!

内定がパーになるから!



で,今週のお題なわけだが,
卒業のために,秋に遊ぶために,秋の準備として,研究します.

Python Imaging Library (PIL)でpng画像を合成しても透過のままであってほしい

二つの画像を用意して,合成したときに,透過はそのままにしたい.

import Image
import ImageDraw

img1 = Image.new("RGB", (500, 500), (255, 0, 0))
img2 = Image.new("RGBA", (500, 500), (0, 0, 0, 0))
draw2 = ImageDraw.Draw(img2)
draw2.ellipse(((100, 100), (400, 400)), (0, 255, 255), (0, 255, 255))
img1.paste(img2, (0, 0))
img1.save("test.png")
続きを読む