Django in Seven Minutes
2005年12月29日(木) 11:16
いつの間にやら公開されていました。何分でできるほにゃららシリーズ Django編 。
- Django in Seven Minutes
存在しない変数に値が割り当てられるActiveRecordに違和感を感じる人も、DjangoのModelなら安心するはず。
なにより、Ruby on Railsのscaffoldにあたるadminは美しい(かつ結構凄い)ので見ておいて損はない。
Pythonの人たちってデザインセンスに優れている人が多い気がするのは気のせいかな。あやかりたい
世界中でRailsユーザとDjangoユーザのミーティングが行われている模様ですが、日本ではDjangoは全くノーマークなのは何故だろうか。
おまけ
- 60行のコードでwikiが出来た(Django)
- 10分で作るRailsアプリ(Ruby on Rails)
WindowsにRubyをインストールする所から始めるのがすげー。各ダウンロードページがアドレス直打ちじゃない所が素敵 - TurboGearsもすごいぞ。
TextMateのサイトからリンクされていた。TextMateよりもTurboGearsに惹きつけられた。。。
djangoのi18n
2005年12月27日(火) 10:58
djangoの管理画面はi18n対応していましたが、肝心の日本語リソースが無かったのでへたれ訳をつけてコントリビュートしてみました。
2000行くらいあったので、少し大変でしたが、何より一番大変だったのは初めて出会うmsgfmtでした。
だって、いままでリソースファイルといえば、native2asciiばっかでしたから。
でも、困ったのはpoとかmoではなくて、OSXのみみかきエディタでUNICODEを記述するとバックスラッシュが制御コードプラス円マークとして入力されてしまうことでした。
当然、msgfmtする際にエラーがでます。
いくら目をこらして耳かきエディタでみてみても、該当箇所にはエスケープされたダブルコーテーションくらいしかないので、会社のウィンドウズの力を借りたpo-editが制御コードを見せてくれました。
ローカルのDjango管理画面はうまくローカライズされているように見えます。よしよし。
#2000行というのは、言い過ぎで実際の文言は数百個です
hibernate再考
2005年12月20日(火) 10:07
hibernate3.0.5を用いたプロジェクトが一息つきつつあります。
最後にデータベース側の最低限のチューニングを行おうとして、またはまりかけました。
B表に変更があるとA表にB表の関連するものを計算した結果を保存するトリガーを設定しました。
そのトリガーが動いたり動かなかったりします。トリガーを書いて、SQLで動作は確認をしました。
A表がアップデートでB表はインサート、という条件でトリガーが動作しないっぽいとメンバーが不思議がっています。
セッションオブジェクトを介して更新系のオブジェクトが溜まっているときに、セッションオブジェクトを介して別のオブジェクトを取得しようとすると、溜まっている更新系の処理が(取得の処理より)先に走るという認識でした。
残念ながら、hibernate君はそのままオブジェクトを溜め込み、しかも「インサート→アップデート・・」というとんでもない順番で更新系の処理を行ってくれました。
それぞれListにしまっておいてインサート系から実施していくので当然ちゃ当然ですし、hibernate君を通さずに行ったDBへの変更なんて(DBから見れば同一トランザクションでも)知らんっていうのもわかります。
私はこの3ヶ月で慣れっこになっているので、flushして別のオブジェクト取得前に強制的に更新系処理を行わせました。
皆さんからおしかり(ご指摘)をうけてからほぼ3ヶ月。やはりhibernateを皆さんが良いという理由がわかりません。
皆さんはどの程度の規模のどんな種類のプロジェクトに使用して良かったと感じていらっしゃるのか教えてください。
投票結果表示の下にある+voteという部分をクリックすると投票フォームが現れます(二重投票可能だと思いますが清き一票をお願いします)
リクルートコスモスのマンション
2005年12月19日(月) 09:17
昨今の耐震偽装問題にちょっとびびっているマンションの部屋持ちの元に一枚の紙切れがやってきました。
姉歯問題が勃発した直後にも、姉歯や西日本何とかとは関係ありませんという掲示はありましたが、今度のは思い切った内容でした。
姉歯と関係ないことは調査済みだけれども、マンションユーザの気持ちを考えて「耐震の第三者機関に再検査を依頼」する予定だとの紙切れでした。
思い切ったことをするベンダーだな、思いっきり自信があるのかなと、ちょっとリクルートコスモス自体について心配してしまいました(見つかっちゃったらどうするんだい?)。
ま、よくよく考えてみればリクルートコスモスはリクルートコスモス自体がリクルートコスモスマンションの中古仲介(確か買い取りも)事業をしているので、これを機に調べておいて損はないということなのかもしれません。
#今業界では危険な物件一覧が回っているという噂もありますが、マイマンションは相変わらず毎週のように売却希望チラシが沢山入っているので大丈夫だとは思っているのですが
del.icio.usが落ちてるとものすごく不便
2005年12月15日(木) 01:07
yahooに買われたとたんに(サーバが)落ちたなぁ。
と思っていましたが、yahooに買われてレベルが下がったのではなくyahooに買われたことで負荷が高まった?ということなのかな。
サービスとブログを同時に落とさない人たちは信頼が置ける気がします。
ブログによれば、ダウンはyahooとは関係いし、yahooのインフラに移行すればよりよい物となるだろうとしています。
しかし、del.icio.usが無いと不便だ。。。1時間どころか朝から繋がらないし。
はてぶは見るけど使いたくない(何故だろう?)。。
IEで見てみてびっくり
2005年12月13日(火) 21:44
家にはWindowsが無い(OSXとGentoo君だけ)ので、FireFoxとSafariでしか表示の具合を確認していませんでした。
試しに会社のIEで見たらびっくり(とても読めない・・・)。
とりあえず、skinをPlone Defaultに戻しました。カスタマイズした部分はそのままでとりあえず読めるようにはなりました。
自分でskinを作るかなぁ。。。
Blog/CMS Exchange 1 and JUS勉強会
2005年12月13日(火) 10:22
2日続けて勉強会へ。技術系の集まりに参加するのは先月初めてだったので、いろいろ刺激になっていい。
Zope/Ploneをわかっていないので、とっかかりワードとしてメモ。
Blog/CMS Exchange 1
COREBlog2と連携をとるProductの作成に関わる清水川さんによるレクチャー
- PloneはsortableなTableを持っている
- portal_cssにプロパティとして「動的にマージするcss」を設定可能(今までHEADタグに直に書いてました(--;)
- pngはPlone標準で(PIL無しで)リサイズできる(ziplib?は必要)
- skinはファイルシステム上にある。debug-modeなら即座に変更が反映される。
- version.txtを書き換えると、Ploneのアプリケーション追加削除画面でアップグレードが出来る
- ATContentTypesはschemaがキモ
- portal_typeの名前はグローバルなので、いい加減には出来ない
- suppl_viewsで表示形式の切り替え設定が可能
懇親会
- Ploneをポータルとして使用する場合、アクティブユーザは1000人くらいが限界か?
- たかのりさんは会社の若いのに技術を教えているらしい
- Zopeの仕事は以外とあるらしい
- 柴田さんからメールをいただいていたらしい(無くした・・)
JUS勉強会
柴田さんによるCMS概論、規模の大きなシステムでPloneを使用する際のチップス、COREBlog2の紹介
- CMSにおけるMVCのCはワークフローだ(感動)
- Zopeのスレッドは64位までにしておいた方がよい(ある程度ハードにより回避可)
- 常に研究・調査を行うこと
- 庭に花が咲いたといったようなブログを書いて欲しい人がいる
- ポータルとして使用しない場合は、Add portal memberのAcuireチェックをはずしManagerのみに権限を与えること!
- 中神さんのPloneカスタマイズメモ
- portal_*を学べ。portal_catalogをまず使ってみよう
- RichDocument How Toを読もう
- プレースフルは難しいのでユーザによってはプレースレスにしてみたり
- おおきなものを逃していた(私事。メールは大事にね)
懇親会
- 欠席(嫁の体調が・・・)
SmtpUnit
2005年12月11日(日) 08:59
やっぱりありました、SmtpUnit。
以前、テスト用のメールサーバとしてpython製のBlackHoleSmtpというものを作りました。
BlackHoleSmtpは単にメールを全てローカルに保存する単独のサーバプログラムで、SmtpUnitと比べて利点がもしあるとすれば、それは受け取ったメッセージのMIMEをデコードしてJISで保存したものが参照できるのと、添付ファイルも単独でファイルとして保存した物が見られるという位になってしまいました。
SmtpUnitは、unitTestで使用することが可能です(Java)。大まかな流れは次のような感じ。
- テスト開始時にサーバスタートを指示(SmtpServer.startServer())
- テストによって駆動されるロジックで送信されたメールをため込む
- アサーション時に受信したメッセージを取り出して、サブジェクトや本文、ヘッダを確認することが出来る
名前から連想される使用方法がメインになるのでしょうが、実はサーブレットとして用いたりもできるようです。
便利だと思うんだけど、あんまりメジャーじゃないなぁ(ホームページもIPまるだしだし)。
trac0.9系でもGoogleSitemapsに対応する
2005年12月11日(日) 03:46
結局0.9になってもGoogleSitemapsに対応をしなかったようなので、お手製で対応します(wiki部分のみ)。
修正の基本は変わらないのですが、tracのコード構成が変わっている部分があるので、wikiに新たなページでhowtoを記述しました。
作業メモを残さずうろ覚えで記述したので、マズーな記述があるかもしれません。コメントはこのブログのエントリにお願いします。
相変わらず哀しいiTunesMusicStoreJapan
2005年12月07日(水) 10:08
欲しい音楽があったとする。
大抵はCD屋さんで見つける。
コンピから発見すると、そのミュージシャンの音楽をいろいろ聴いてみたくなる。
残念ながらコンピに入っているミュージシャンの全部のCDをおいてあるわけではない。
家に帰ってiTunesMusicStoreを見てみる。
Japanでは検索に引っかからない。
USをのぞいてみる。沢山ある。
視聴する。欲しくなる。購入を試みる。このIDはJapanでしか買えないと言われる。
落胆する。amazonを見てみる。3〜5週間と書いてある。チクショー
だれが邪魔してるんだ?
J-Popや日本版のあるメジャー系なんて、CD屋においてあるっつうの
株はこう持ちたい
2005年12月05日(月) 21:22
朝の東海道線。
たった3分の遅延でも東海道線の場合は、大混雑となる。
横須賀線との乗換駅で品の良い老婦人が乗り込んできた。
ボックス席の取っ手に捕まろうとそろそろと歩いてくる老婦人。
すると、すかさず場所を空けて奥へ移動する若者。
すかさず席をたって譲る若者。
ここまでなら、よくある光景。
老婦人は礼を言って席に座ると、ごそごそと手荷物をさわる。
曰く「横須賀線が空いてたから、グリーン券買い損ねちゃったの。ごめんなさいね。」
「お役にたつかわからないけど、これ・・」
と、取り出したのはある映画会社の株主優待券2枚。
若者は恐縮しながら受け取る。
昨今はデイトレードブームで、株をきちんと保有して株式会社を応援しつつ配当を受け取るという本来の株の姿は忘れられつつある。
もちろん、日本は内部留保率が高いので配当は少ない。
だからこそ、遊んでいるお金がある層が大きなお金で保有すべき物ではなかったか。
今年株は平均株価でいえば数割上がっている。
デイトレをしていいて今年の利益が数割上がっている人がどれだけいるのか。
為替や株は仕手筋にまかせてアフィリエイトでもしていた方が痛い目を見ないと思うが。
Move to COREBlog2
2005年12月02日(金) 11:46
サーバ移転に伴い、COREBlogをCOREBlog2に移行してみました。
なかなか面白そうですが、いままでカスタマイズした部分は移行し切れていないものが結構あります。
なぞも沢山ありますが、CMS/Blog EXchangeに行くといろいろ学べるかもしれないと期待。
今のところ困っているのは、
- ページングしているとだんだんURLが長くなる現象発生中
- 全角の数字が文字化けしてる(ソース上では化けてない)
- エントリ毎にAdsを貼る方法がわからない(1ページに3つまでしか出してはいけないので)
- rdf10_xmlにdescriptionを出力しようとすると文字化けする
- 別スキンで複数のCOREBlog2を入れたい(メーリングリストにもあがっているようなので待ち)
- Extendが無いのに、続きを読むのリンクが出てしまう
- デザインのカスタマイズ
- amazonの関連づけが消えてしまった(これはATBookshelfで解決しよう)
他にも、tracも0.82から0.9にバージョンをあげた(0.9でのGoogleSitemaps対応もメモを作成しよう)。
