2006/09/03 23:46 ※ 商品のリンクをクリックして何かを購入すると私に少額の報酬が入ることがあります【広告表示】 最近追加されたテスティングフレームワークを試したみた。 Djangoは基本的にはPython由来のdoctestやunittestを用いてテストを行う。最近追加されたテスティングフレームワークは、アプリケーションの直下にあるmodels.pyやtests.pyを自動的にAllテストしてくれるというもの+Viewのテストを行う疑似ブラウザともいえるClientというクラス。 Railsと同じく、Djangoもテストの前にテスト用データベース・テーブルを生成し、初期データを流し込み(fixtureは現在実装中)、テストを行い、テスト用データベースを破棄するという流れ。おいおい、そんな流れは業務系とか既存データベース使うアプリにはできんぞ、せめてビューとかシノニムとかに
testing tool nose の Django 対応版 nose-django 。 settings は読み込めたものの TypeError や NameError が山ほど。 なにか使い方が間違っているんだろうなぁ。 $ cd site-packages $ sudo svn checkout http://nose-django.googlecode.com/svn/trunk/ nose-django $ cd nose-django $ sudo python setup.py install $ nosetests --help usage: nosetests [options] [names] nose provides an alternate test discovery and running process for unittest, one that is i
ずっと gitとsvkの違いってなんなのよ? と思ってたんですが、この図とか説明読んでようやくわかりました。 Gitでは旧来のCVS型とGit型の二つの共同作業のモデルが使えます。これが混乱の元でした。 Gitのすごさを本当に体感するなら、gitを使うだけでは不十分でGit型のモデルにそって開発することが必須です。 CVS型 従来のSVN(CVS)のモデルです。pullをしてきて、pushで更新を戻します。 1つの公開リポジトリに対し、複数人がpushを行う pushにより他の人と競合するかも メインのリポジトリにpushすることを目指す 能動的 → 悪意のあるpushも可能 → "コミッター"を絞る必要あり Git型 githubっぽいモデルです。pullをしてきて、pullで更新を持って行ってもらいます。 全体がpullでまわるため、pushがプライベートな操作として隠蔽されてるのがポ
事前準備 ~ チーム分けとアイデア出し 以前から、主にオープンソースの開発者達の間で「Hackathon」(ハッカソン/ハッカーソン)と呼ばれる“開発マラソン”が行われていることは知っていたのだが、今まで実際に参加したことはなかった。そんな折、ちょうど「Developers Summit 2009」にて、Googleが主催でHackathonを実施すると言う話を知人から聞いたため、参加してみることにした。 通常Hackathonと言えば、オンラインや実開発などで、ある程度事前にやりとりのあるメンバー同士が集まることが多い。しかし、今回のHackathonでは全く面識のない人同士でチームを組み、チーム開発を行った。そのため、Hackathon当日を迎える前に事前準備のミーティングが開催された。 「Ideathon」で制作物の大枠を固める 事前ミーティングではHackathonを全く知らない人
nose はテストケース作成の手間、テスト実行のわずらわしさを軽減することを狙いにしたテストフレームワークで、同種のソフトとしては py.test が知られています。 nose とはなにか 今回は Python 用テストフレームワーク nose(http://code.google.com/p/python-nose/) の紹介をしたいと思います。 同種のソフトとしては py.test が知られており、実際、nose は py.test から大きな影響を受けています。 nose のインストールそれでは早速 nose をインストールしてみましょう。 easy_install を使うと、非常に簡単にインストールできます $ easy_install nose easy_install がインストールされていない場合は次の URL からインストールしてください http://peak.t
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直
PyNarcissus is a Javascript parser, and not a very Pythonic one at that. Furthermore, documentation is poor. Currently this is just a Javascript parser. Javascript evaluation might be a little more tricky since the Narcissus interpreter implements a bunch of stuff metacircularly. Also, check out the original Narcissus: http://mxr.mozilla.org/mozilla/source/js/narcissus/ This project is interesting
http://d.hatena.ne.jp/mopemope/20090220/p4 で、pip って何!? pip http://pip.openplans.org/ pip is a replacement for easy_install. It uses mostly the same techniques for finding packages, so packages that were made easy_installable should be pip-installable as well. easy_install っていうか package の管理をもっと便利にするぜっていう認識でOK? とりあえずインストール $ sudo easy_install pip 自分の環境にインストールしてる package の一覧取得 $ pip freeze で出来る http:
「Colors Palette Generator」は色鮮やかな写真から色を抽出し、カラーパレットを作成してくれるWebツール。Webサイト作成時やデザインプロジェクトには欠かせないアイテムになりそうな予感です。 これよりもシンプルな「Colr」を紹介したことがありましたが、そちらと同様に選択したイメージをプロジェクト用にカラースキームにすることが可能。png、gif、jpegなど1MB以下のサイズであればどんな画像でもアップロードできます。アップロードが済むと「Color Palette Generator」はそこから色を抽出。さらに色はライト、ミディアム、ダークの3種類のパレットに分類されるのです。もし自動作成されたパレットで満足できない場合は49シェードのグリッドに分類することも可能です。使いやすい状態になったならそれをPhotoshopへインポートするなり、CSSスタイルシートとし
li > a" data-ddst-label="Navigation Items" data-ddst-no-support="background,border"> li > a" data-ddst-label="Navigation Items" data-ddst-no-support="background,border"> Home Categories Tutorials Resources Inspiration Freelance Interviews Design Freebies About Contact Advertise With Us Write For Us Contact
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam in leo. Nam tellus. Sed tincidunt. Nunc molestie diam sit amet orci. Ut semper. Curabitur cursus euismod turpis. Aenean quis elit ut nulla accumsan nonummy. Phasellus tristique purus quis nibh. Donec adipiscing laoreet nibh. In hac habitasse platea dictumst. Aliquam erat volutpat. Cum sociis natoque penatibus et magnis dis parturient
The Washington Times has always focused on content. After careful review, we determined that the best way to have the top tools to produce and publish that content is to release the source code of our in-house tools and encourage collaboration. The source code is released under the permissive Apache License, version 2.0. The initial tools released are: django-projectmgr, a source code repository
ちょっとキャッチ−なタイトルをつけてしまったが、今日は独断と偏見でMySQLを高速化する方法を10個紹介しよう。MySQLサーバをチューニングするときや初期導入する場合などに参考にしてもらいたい。 1. バッファを増やす、または減らす チューニングの基本中の基本であるが、適切なバッファサイズを設定することはパフォーマンスチューニングの要である。主なバッファは次の通り。 innodb_buffer_pool_size・・・InnoDBだけを利用する場合は空きメモリの7〜8割程度を割り当てる最も重要なバッファである。余談だが、実際にはここで割り当てた値の5〜10%ぐらいを多めにメモリを使うので注意が必要だ。 key_buffer_size・・・MyISAMだけを利用する場合は、空きメモリの3割程度を割り当てるといい。残りはファイルシステムのキャッシュ用に残しておこう。 sort_buffer_
日本実業出版社様からご賜本。ありがとうございます。 「すぐやる!」という本なので「すぐ読んだ!」んだけど 諸事情により「すぐ書く!」とならなかったのが遺憾。 「思い立ったらすぐ行動してますよ」 と言えればいいんだけど、実際には 「そういえばあれをやろうと思ったのは何年前だろう」 ということが多々ある。 本書は「すぐやる!」ことの重要性を再確認させてくれ、 「こうやってみれば」「こういうふうに考えてみれば」と 一歩踏み出すための具体的な提案をしてくれている。 4つのパートに31の項目で具体的な状況が挙げられていて、 個人的に耳が痛い項目もちらほら。 Part1 相手の懐にすぐ飛び込む! Q1 自分から率先して声をかけられない Q2 いきなり電話をかけられない Q3 最初のメールをどう書けばよいかわからない Q4 出会いが「おつき合い」につながらない Q5 忙しそうな先輩・上司に質問できない
grepコマンド、それとEmacsのM-x grepとgrepモードって、かなり便利ですよ。プログラミング以外の用途でもいろいろ使えます。 WindowsでもUnix系OSでもほとんど同じですが、差がある部分は括弧内に示します。 例題の説明 僕は、はてなダイアリーをブラウザから直接書くことはあまりなくて、前もってテキストエディタで書いたものを貼り付けています(これは事実)。各分類カテゴリごとにファイルを分けて、hatena-nitijo.txt, hatena-zakki.txt, hatena-memo.txtとなっているとしましょう(事実じゃない、あまり整理してない ^^;)。 はてな記法では、行頭に「*」があるとエントリータイトルなので、次のコマンドで全エントリータイトルを列挙できます(Unix系では、ダブルクォートの代わりにシングルクォートを使用してください)。 grep "^\*
複数のファイルにまたがる特定のパターンを置換する必要があった。そんなときにはEmacs使いならばgrep-edit.elがよい。M-x grepで置換箇所を出力して、M-x query-replaceで置換。これ最強。grep-edit無双。 unix wizardならばperlのワンライナーで置換するだろうけどヘタレな俺には不安で…誤爆するかもしれんし。 http://www.bookshelf.jp/elc/grep-edit.el 俺設定。buffer-read-onlyでハネられたら嫌なので置換時にinhibit-read-onlyをセットしておく。そして、C-c C-cで編集終了したいからそう設定しておく。行へ飛ぶのはEnterで。 grepの結果から探索する目的にはそのうち公開予定のanything-grep.elを使っている。anything.elだと絞り込みができるからね。
Atlassian Sourcetree is a free Git and Mercurial client for Windows. Atlassian Sourcetree is a free Git and Mercurial client for Mac. Migratory So the idea is a django orm database migration system that: Is simple. Doesn't make you use sql. This is an orm, we shouldn't have to use sql. Can be automatic. Predicts the migration script for you so you don't have to think about what has changed. Works
ウェブサイトでやってしまいがちなユーザビリティの9つのミスをSmashing Magazineから紹介します。 9 Common Usability Mistakes In Web Design 下記は、その意訳です。 1. クリックできるエリアが小さい リンクのクリックできるエリアが小さいと、ユーザーはクリックするのが非常に困難です。 解決方法 リンク箇所にpaddingなどを設けて、クリックできるエリアを大きくします。 2. 間違った目的のためのページネーション ページネーションは、内容を複数のページに分ける時に使用します。 しかし、最近ページビューを増やす目的でページネーションを設置しているサイトがあります。これには問題点が2つあります。 一つ目は、1つのコンテンツを読むのにページをロードしなくてはならないこと。二つ目は、SEOと関係があります。ページのインデックス付けを行う際、ペー
レビュー : ウイルスや花粉を抑制する空間清浄機「eneloop air fresher」2009.02.19 20:00 上のほうで白いのがプシューっと出てるの、わかります? エコでナイスなエネループ、ギズモードも大好きです。このエネループ仕様の空間清浄機「eneloop air fresher」を使ってみたので、レビューをば。 ガジェット : 空気中のウイルスや花粉を抑制する、ポータブルな空間清浄機「eneloop air fresher(エネループエアフレッシャー)」。くり返し使う暮らしを提案する「eneloop」のコンセプトと、浮遊菌を抑制する「virus washer」の機能を融合させた商品です。カラーはマシュマルホワイトとチョコレートブラックの2色。 価格 : 2万5755円(記事執筆時のAmazon価格) 第一印象 : とにかくコンパクト。サイズは500mlのペットボトルぐら
今日、Pyhton焼肉に行ったときに、id:soundkitchenさんから、DjangoでSQLAlchemyを使う方法について質問を受けたのですが、あとで見返してみても、以前書いたこと以上のことは、実際やっていません・・・ http://d.hatena.ne.jp/perezvon/20070926/1190823332 例えば、Djangoプロジェクト名をgumiと作り、そのプロジェクトが使う唯一のデータベース接続を表現するパッケージを、gumi/db.pyとして表現するとすると、 # -*- coding: utf-8 -*- from django.conf import settings from django.core import signals from django.dispatch import dispatcher import sqlalchemy from s
連休中はWiiのマリオカートをやりまくってやっとVR7000越えたmikioです。愛車はマッハ・バイクとインターセプターです。さて今回は、分散ハッシュデータベースサーバTokyo Tyrantでmixiの最終ログイン時刻を管理するようにした時の苦労話を書きます。 ログイン処理は負荷地獄 mixiでは、全てのユーザについて、各々の最終ログイン時刻を管理しています。「マイミクシィ一覧」や「お気に入り」などの画面で、友人が近い時間にログインしていてコミュニケーションがとりやすい状態にあるかどうか確認できるようにするためです。 mixiのほぼ全てのページはログインしないと見られないページなので、ほぼ全てのページにアクセスされるたびにログイン確認が行われます。したがって、最終ログイン時刻はほぼ全てのページにアクセスされる度に更新されることになります。mixiの中で最も重いデータベースのひとつとして「
http://jinja.pocoo.org/2/http://jinja.pocoo.org/2/documentation/元日といえば初詣、初詣と言えば神社。Python愛好家にとっての神社と言えば、Jinja2しかないということで、Jinja2に触ってみる。Djangoテンプレートとの違いはここに簡潔にまとまっているが、ドキュメントをざっと目を通して、気づいたところをメモしていく。 TemplateとEnvironmentJinjaの最も単純な使い方としては、次のようにテンプレート文字列を与えてTemplateオブジェクトを生成し、renderで出力というものだろう。 >>> from jinja2 import Template >>> tmpl = Template("Hello, {{ name }}") >>> tmpl.render(name="World") u"Hel
It may not be so useful, but emacs23 allows you to manipulate the transparency of your emacs frames (windows). If you use Windows or X with a compositing window manager on X, you can make your windows transparent. Examples of compositing window managers are Compiz/Beryl and even the good-old Metacity (gconftool-2 -s '/apps/metacity/general/compositing_manager' --type bool true). The following code
いわゆる全角文字と半角文字の間にスペースをあけると読みやすいのは言うまでもない。おまけに、 dabbrev するときも余計な日本語がくっつかない。今まで手でやってきたのだが、スペースをあけてたりあけてなかったりしてて統一されていなかった。自動的にできる方法を探していた。 以前は 404 Blog Not Found:perl - 半角スペースを自動で入れる の spacer.pl を使っていたが、 UTF-8 化されるので Emacs 内でできないかと思った。そしたら text-adjust.el を使えばいいことがわかった。 M-x install-elisp http://taiyaki.org/elisp/mell/src/mell.el M-x install-elisp http://taiyaki.org/elisp/text-adjust/src/text-adjust.el
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く