2012-12-01から1ヶ月間の記事一覧

今年買った本

あんまり本読んでないです。 Clean Coder プロフェッショナルプログラマへの道作者: Robert C. Martin,角征典出版社/メーカー: アスキー・メディアワークス発売日: 2012/01/27メディア: 大型本購入: 12人 クリック: 645回この商品を含むブログ (36件) を見る…

MiniMockのTraceTracker使い方メモ

MockとかTraceTrackerの使い方ってちょっとめんどくさいと思うので、小さいサンプルを作ってメモしておこうと思いました。 適当なサンプルですが。 こんなモジュールがあるとしますsome_utils.py from datetime import datetime valid_users = ['yuhei'] def…

chromeのタブをanything風に絞り込む「chrome-anything」

こちらで紹介されていた、chromeのタブをanything風に絞り込む「chrome-anything」を導入してみました。 http://tech.kayac.com/archive/23_techkayaccom_advent_calendar_2012.html githubからチェックアウトして https://github.com/handlename/chrome-tab…

Comment with Line Commentのキー設定

カーソル行のコメントアウト、アンコメントくらいはショートカットキーでスパっとやりたいものです。 pycharmにも当然コマンドが用意されていて、キーも割り当てられてます。私はEmacsキーバインドをカスタマイズして使ってますが、Emacsキーバインドだと、C…

Djangoでrailsのrake routesみたいな機能

初めてdjango触ったとき、railsでいうrake routesってないのかなと思った記憶があります。最近はある程度djangoに慣れたせいかあまり思いませんが、あってもいいと思うんですよね。新しいプロジェクトに参画したときとか、リポジトリが大きくてurls.pyがアプ…

Intellij製品がプラグインで挙動がおかしくなった場合の対応方法

プラグインで挙動がおかしくなったら、Preferencesで削除しろって感じなんですがね。さきほどMarkdownプラグインのアップデートがきてたんで、何も考えずにアップデートしてrestartしたら、Preferencesが開かなくなりました。Eventlogにこんなエラーがでます…

複数のdb設定を持つdjangoアプリのテストはmulti_db=Trueを指定する

以前、djangoで複数DBを扱う場合についてエントリを書きました。 テストについて注意することがあったのでメモしておきます。複数dbを扱う場合は設定ファイルに以下の様に複数定義します。 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite…

Pycharmでlook & feelをdarculaにする

PyCharm 2.7 EAP build 124.138でできるようになってた http://blog.jetbrains.com/pycharm/2012/12/pycharm-2-7-eap-build-124-138/ こんな感じになります

Intellij IDEA 12でpython interpretersの設定

Intellij IDEA12、マヤ歴終了セール?とかやってて、やたら安かったので思わず買ってしまいました。 普段Pycharmでpythonを書いてて、直近でjavaを書くことはあまりなさそうなんですけど、IDEAならrubyのプラグインとかも使えますし、なによりなんか見た目が…

Macが起動しなくなった場合に備えてTimeMachieでバックアップをとっておくべし

この前、diskの容量が足りなくなってきたんで、ちょっと不要なキャッシュの掃除をしようと思ってOnyXを使ってみたわけです。システムのキャッシュを削除したら勝手に再起動がかかりました。 そして、、リンゴマークとローディングアイコンがでたまま、1時間…

38日間の勉強で応用情報技術者試験に受かる方法

今日は秋季の情報処理技術者の結果発表日でした。こっそり応用情報技術者試験を受けてまして、めでたく合格していたのでどのような勉強をしたかをメモしておこうと思います。タイトルは若干ハッタリで、実際は「ある程度実務経験のある文系プログラマが38日…

mysqlでダンプデータのインポート

やるたびに忘れてて調べてる気がする $ mysql -u user -p db_name < dump.sql

Emacsでもスペルチェックをしようという話

昨日pycharmのスペルチェックに助けられているというエントリを書きました。引き合いにemacsを出したので、アレなんですが、当然emacsにもスペルチェック機能があります。 設定してなかっただけです。 せっかくなので設定してみることにしました。 環境はmax…

Pycharmのスペルチェック機能にだいぶ助けられているという話

適当なdjangoのモデルクラスをemacsで開いてます。 このクラスには問題があります。 同じファイルをpycharmで開いてみます実はわざとありがちなスペルミスをしていて、pycharmがtypoの警告を出しています。 pycharmのスペルチェック機能のおかげでこういうミ…

pycharm2.7 EAPで textmate bundleが利用可能に

pycharm2.7 EAPで textmate bundleが利用可能になったようです。 http://blog.jetbrains.com/pycharm/2012/12/pycharm-2-7-eap-build-124-253/といっても今のところはシンタックスハイライトだけなんですね snippetとかも将来的には対応する予定のようです。…

datetimeをmockingして日付のテストをしやすくするライブラリfreezegun

ロジックにdatetime.nowとか入ってるとテストコードを書くのが面倒だったりしますが、そんなときに便利なのかなと freezegun http://stevepulec.com/freezegun/ 上記のwebページ見れば使い方はほとんどわかるんですが、一応手を動かして試してみました。 # c…

ダミー画像を返してくれるlorempixum

lorempixel http://lorempixel.com/ 以前、ダミー画像を生成してくれるFake images pleaseというサービスを紹介しました。 様々な色やサイズの画像を生成してくれるFake images please? http://d.hatena.ne.jp/yuheiomori0718/20121129/1354204883 lorempixe…

Sencha Touch 2をさわってみる 2

昨日はプロジェクトを作成してとりあえず動かしてみるところまでやってみました。 生成されたソースやドキュメントを見るとかなりとっつきづらい印象。公式ドキュメントはかなりのボリューム http://docs.sencha.com/touch/2-1/ 右上の検索ボックスでインク…

Sencha Touch2をさわってみる

ほんとうにさわりだけ Sencha Touch2とは? モバイル向けのHTML5フレームワーク ネイティブアプリ風の画面を作成することができる Native Packaging Nativeの機能を利用できるわけではない(その辺はPhoneGapを使う?) どんなことができるのか? こちらのサン…

django-paginationでページング

djangoでページング用のライブラリというと、django-paginationがわりと使われるようですね。 http://www.djangopackages.com/grids/g/pagination/ 使ってみたので基本の使い方をメモまず設定ファイルです。以下を追加します。settings.py TEMPLATE_CONTEXT_…

twitter bootstrapのthumbnailsの表示くずれ

css

twitter-bootstrapのthumbnails http://twitter.github.com/bootstrap/components.html#thumbnails 2行目からレイアウトが崩れる調べてみたらgithubにissueとして上げられてました https://github.com/twitter/bootstrap/issues/3494 もうclosedになってます…

PythonでBest Cow Line

N文字の文字列sが与えられ、N文字の文字列Tを作ります。はじめはTは長さ0の文字列で次のいずれかの操作が行えます。 ・Sの先頭を1文字削除し、Tの末尾に追加する ・Sの末尾を1文字削除し、Tの末尾に追加する 辞書順比較ができるだけ小さくなるようにTを作っ…

Pythonで区間スケジューリング問題

n個の仕事があります。各仕事は開始時刻と終了時刻を保持しています。各仕事について、参加するかしないかを選択します。 仕事に参加するならば、開始から終了まで参加しなければなりません。また参加する仕事の時間帯が重なってはいけません。 できるだけ多…

Pythonのencodeとdecode、strとunicode

pythonで仕事してるとちょいちょいUnicodeEncodeErrorとかUnicodeDecodeErrorに遭遇します。 最初ははまると思うんで原因と対応方法についてメモしておきます。python2系の話です。 まずstr型とunicode型の違い pythonのstrはバイト文字列、unicodeはユニコ…

Pythonで2次元配列

このあいだエントリ書いてて今更気づいたんですが、pythonで2次元配列の初期化って、 a = [[0]*3]*3 とかだとだめなんですね。同じオブジェクトのコピーになってしまうので、どこかに要素を設定すると、複数箇所に同じ値が設定されてしまう。リスト内包表記…

Pythonで硬貨の問題

ある値段を払うのに何枚のコインが必要かとか、そういう問題。 お金がたりない、組み合わせた結果ちょうどの値段にならないとかは考慮してない。 # coding=utf-8 def solve(coins, price): """ Arguments coins: 硬貨の価格と枚数の辞書 price: 算出したい値…

Pythonで迷路の最短路(幅優先検索)

大きさがN*Mの迷路が与えられます。迷路は通路と壁からできており、1ターンに隣接する上下左右4マスの通路へ移動することができます。スタートからゴールまで移動するのに必要な最小のターン数を求めなさい。 幅優先検索(BFS: Breadth-First Search)を使う #…

PythonでLake Counting (深さ優先検索)

大きさがN*Mの庭があります。そこに雨が振り、水たまりができました。水たまりは8近傍で隣接している場合につながっているとみなします。全部でいくつの水たまりがあるでしょうか? 深さ優先検索(DFS: Depth-First search)を使う。 深さ優先検索は「ある状態…

Pythonで部分和問題

# coding=utf-8 # 部分和問題 # 深さ優先検索 # 整数がn個与えられる。その中からいくつか選び、その環をちょうどkにすることができるかどうかを判定する def solve(integer_list, target_sum, i=0, sum=0): if i == len(integer_list): return sum == targe…

zsh: no matches found: HEAD^

zsh&gitで以下のエラーが出る場合 $ git reset --hard HEAD^ zsh: no matches found: HEAD^zshの設定のどこかで以下の設定をしているはず setopt extended_globoh-my-zshの場合はlib termsupport.zshに上記の記述があります。 ^をエスケープすればエラーを回…