トップ > 2007年7月
自主・自律・自由
通っていた高校のモットーが「自主・自律・自由」だった。
自由が最後って言うのに意味があるって誰か(先生かな?)が言ってた。
社会人になって実はいいこと言ってたんだなーと思い出す。
このモットーをきっちり持ってたらやる気無し病にはなら無そう。
たまに7つの習慣でも読み返すかな。
気持ちが堕落している時に読むと効果ありな本だと思う。
キングベアー出版 (1996/12)
売り上げランキング: 77

啓発書としては定番になるでしょう
本物の凄さ
すばらしい1冊です!やる気無しの話はこの辺で終わりにして、これからまたまっとうにブログも更新して行きます。
雑記 | 07-07-31 13:29 | コメント (0) | トラックバック (0)
やる気無し状態を脱出するためのステップ
ここ数週間、いろいろなこと(特に仕事)に対してもやる気無しの状態が続いていて、本格的にやばいと思って脱出のステップをたどり始めた。
たまに、こういう事態に陥るんだけどスチューデントアパシーってやつと同じなのかな?
自分なりの脱出方法も分かっていて、以下のような感じ。
1.まずは何もしない日(場合によっては複数日)を作る
2.何もしないことで、「何となくまずい」という気分になる
3.やることリストを作って優先順位をつける
4.ざっくりしたリストを、優先順位の高いものから細分化したタスクに落とす
5.先を見過ぎず、目の前の小さなタスクを順に片付ける
6.小さな幸せが積み重なって、全体的にやる気が回復してくる
これでやる気が回復しないときはステップを戻ったりしながらやり直す。
落とし穴はステップ3~4。
やることリストが現実感の無いものになり、目の前にあるタスクに対して「自分がやるべきことはこんなことじゃない」とかわけの分からない言い訳をしだす。
こういう場合は大抵「自分がやるべきこと」も分かっていないし、やるべきことを探すとか、あるべき姿に向かって努力するとか、目の前のステップが抜け落ちている。
自分がやる気無し状態に陥るとき時間に余裕のあるときが多い。
こういうときほど自分を上手く律さないとダメだと痛感する。
雑記 | 07-07-30 13:52 | コメント (0) | トラックバック (0)
「なぜ動くのか」を意識する
昨日トイレが詰まった。原因はトイレットペーパーを大量に、しかも丸めたやつを流したから。
トイレットペーパーはなぜトイレに流しても詰まらないかというと、水に溶けやすいから(正確に言うと繊維がほぐれるって感じなのかな?)であって、固く丸めたら溶けにくくなるから詰まるのが当たり前。
ただし、「トイレットペーパーは詰まらない」とだけ覚えて「なぜ」を考えなければ固く丸めたから詰まるとは思わないかもしれない。
同じことがいろんなことについて言える。
システムの話でも同じ。
ORマッパーを使うとデータを取り出せる。ただしデータベースは知らないしSQLはほとんど書いたことが無い。
Web開発はフレームワークを使っている。でもApacheは触ったことないし、HTTPプロトコルはよく知らない。
プログラムは色々と作っている。でもメモリ管理は考えたことも無い。
こういう人が意外と多そう。
効率的な開発を求めたりシステム全体の構造を理解するためには、ある程度ブラックボックス化した部分を作って、それを積み重ねていくのはもちろん重要だと思う。例えばH/WやOSやデータベースの中身まで全て理解するかと言うと、それはちょっとつらい。
でも、H/WやOSやデータベースの基本的な仕組みを知らないままにアプリケーション開発するのと、知っていて開発するのとでは、後々パフォーマンスやトラブル対応で大きな差が出るはず。
こう考えると、いきなりフレームワークを利用した開発から入るのも功罪ありそう。
「どこまで知っていれば良いのか」というのはキリがないと思うけど、「なぜ動くのか」常に考えて「今は何とかなってるけど知っておいたほうがいい世界がある」と意識し続けないとな。
ちなみにトイレはすっぽんで直った。
雑記 | 07-07-23 11:56 | コメント (2) | トラックバック (1)
vimperator入れてみた
参考にしたのはこの辺り。
Open Tech Press | Firefox拡張:FirefoxをVim風のキーバインドで操作するVimperator
subtech - otsune's SnakeOil - Vimperator凄い!Firefoxがvimキーバインドで操作できるよ
Do You PHP はてな - Vimperator入れてみた - Firefoxのキーバインドをvim化
/halt/Snapshot - vimperatorは0.5以上を使え
これはいいかも。
「:set guioptions=mTbs」すれば、普通の操作も可能だし問題もなさそう。
Open Tech Pressで言っているようにVim中毒とか筋金入りのVimユーザーじゃなくても、viのキーバインドが好きな人ならおすすめ。
しばらく使ってみることにする。
雑記 | 07-07-22 00:13 | コメント (0) | トラックバック (0)
Safariで文字化けでDjangoのHttpRequestのcharset指定などを見直す
男の小遣い帳で、Ajaxでデータを取得したときにSafariで文字化けしていた。
自宅のサーバーでは動いていたからおかしいなーと思ってたんだけど、レスポンスヘッダのContent-Typeにcharset指定が無かったようだ。
自宅ではhttpd.confに
AddDefaultCharset UTF-8
と書いていたけど、共用サーバーでそんな設定はしないよな。
とりあえずDjangoからAjaxのレスポンスを返すときに
values = simplejson.dumps(data, ensure_ascii=False) return HttpResponse(values, mimetype="text/plain")
となっていたのを以下に変更。
values = simplejson.dumps(data, ensure_ascii=False) return HttpResponse(values, mimetype="text/plain; charset=UTF-8")
この対応で大丈夫か確認のため、一応Djangoのソースを見てみた。
HttpRequestクラスでは
def __init__(self, content='', mimetype=None):
from django.conf import settings
self._charset = settings.DEFAULT_CHARSET
if not mimetype:
mimetype = "%s; charset=%s" % (settings.DEFAULT_CONTENT_TYPE, settings.DEFAULT_CHARSET)
if not isinstance(content, basestring) and hasattr(content, '__iter__'):
self._container = content
self._is_string = False
else:
self._container = [content]
self._is_string = True
self.headers = {'Content-Type': mimetype}
self.cookies = SimpleCookie()
self.status_code = 200となっていて、mimetype指定があるときはそのままContent-Typeに突っ込んでいるので、charset指定も普通のヘッダのように書き足してOKっぽい。
mimetypeにcharsetが入っていなかったら、自動的にDEFAULT_CHARSETを追加してくれれば良いのに。HttpResponseにmimetypeを指定するときは、charsetも入れておいたほうが良さそう。
これでとりあえず動いたんだけど、どうやらSafariはそもそも文字化け問題を含んでいるらしい。
(恥ずかしながら知らなかった。)
古いSafariだとContent-Typeでちゃんとcharset指定してもダメなのかな?
とりあえずJavascriptも直しておこうというわけで、以下を参考に直した。
[ajax] Safari の responseText で UTF-8 コード文字化け回避 Kawa.netブログ(川崎有亮)/ウェブリブログ
最速インターフェース研究会 :: SafariのAjaxの文字化けをクライアント側だけで対応するバッドノウハウ
レスポンスヘッダでcharsetを返さなくても、この対応をすれば動作した。
サーバー側もJavascript側も対応して、とりあえず完了。
Django | 技術全般 | 07-07-19 15:21 | コメント (0) | トラックバック (0)
補足 画面遷移なしでファイルアップロードする方法
画面遷移なしでファイルアップロードする方法というエントリーのアクセス数が多いわけですが、自分でこの方法を使ったときに少し悩んだことがあるので補足。
この方法は、画像をアップロードした瞬間に即座にデータを確定するときにはそのまま使えるが、画像とコメントなどを同時に編集して、次の画面でデータ確認やデータ登録完了させようとすると問題がある。
戻る対応をしていないので、確認画面や完了画面から戻るボタンで戻ると、アップロードした画像が消えてしまうから。
例えば私が嫁ブログの画像アップロードの仕組みを検討していたときは以下のようなことをやりたいと思っていた。
- 画像とコメントを簡単に登録できる仕組みにしたい
- 複雑な遷移は操作が難しいので1画面内で画像をアップロードしてコメントを入力できるようにしたい
- 画像をアップロードするたびに画面遷移させるのはやめたい
上記を実現するためには、画像をアップロードした時点でデータを確定してはいけないわけで、それはあくまで編集中の情報のはず。バリデーションなどは投稿ボタンを押した段階で実施したい。
ただし、画像をいちいちアップロードするときに戻るボタン対応するのも大変そう。(どうやればいいのかすら分からない)
というわけで、大まかに以下のような実装をした。
■画像アップロードボタン押下の動作
1.画像アップロードボタンを押すとiframeをターゲットにしてPOST
2.tmpディレクトリに画像を保存し、結果を返す
3.画像を画面に表示すると同時に、投稿formにtmpファイル名を保存したhidden項目を追加する
※ 「画面遷移なしでファイルアップロードする方法」に書いたのとほぼ同じ
※ hiddenにファイル情報を保存することで、その他のデータと同時にsubmitできるようにする
■画像削除ボタン押下の動作
1.ajaxでPOSTする
2.サーバーのtmpファイル削除し、結果をJSONで返す
3.画面の画像表示とhidden項目を削除
■投稿ボタン押下
1.ajaxでPOSTする
2.入力チェック、画像存在チェック、tmp⇒正規ディレクトリへ画像移動、DB登録、結果をJSONで返す
3.JSONでエラーが返ってきたら、その旨Javascriptで画面に表示する
4.JSONで正常完了情報が返ってきたら、Javascriptで登録完了画面に遷移させる
■その他
1.画像のtmpディレクトリに残ってしまうゴミは、お掃除バッチで削除する
※ たいした利用数ではないので、実際にはたまに手で消しているんだけど。。。
例えばブログなどで、画像をアップロードする画面とエントリーを記入する画面が別々なのは、初心者には難しい様子。ということで簡単に編集できるようなツールを作ろうと思ったんだけど、思ったよりも実装に手間取ってしまった。
とりあえず動いたから良かった。
技術全般 | 07-07-18 11:54 | コメント (0) | トラックバック (0)
個人でサービスを作るときに、一番時間のかかること
答えは簡単。
「やる気を出すまでの時間」
「やろうと思ってるんだけど、他のことをする時間」
作業時間は実はたいしたこと無い。
今日は色々疲れたから飲んでしまおうと思ってしまう日、朝起きようと思ったけど何となく眠いと思う日、仕事が忙しかったと言い訳する日。
これは、サービスを作るだけではなく、いろいろな言い訳に使われることだと思う。
意識だけで解決できる問題が多い。
趣味だけではなく仕事でも上記の課題を解消するだけで相当なレベルアップになりそう。
難しいことではなく、当たり前で簡単なことを一つずつ積み重ねるのって意外と難しくって、しかも差別化につながるんだろうなあ。
マネジメント・リーダーシップ | 07-07-13 21:07 | コメント (0) | トラックバック (0)
男の小遣い帳 - 少しだけ改善
TOPページで、viewに@login_requitedと書いていたけど、トップページは会員しか見られなくっていきなりログイン画面(別URL)にリダイレクトってさすがにダメだよね。
というわけで、応急手当で直しておいた。
実装も含めてどうするのが一番いいのか悩み中。
雑記 | 07-07-12 22:50 | コメント (0) | トラックバック (1)
ここ1ヶ月近くの勉強進捗 - 無理矢理公開する
1回目「Djangoで簡単なサービスを作るよ。来週までに。」
2回目「先週からの勉強進捗」
3回目「先々週からの勉強進捗」
とりあえず借りているさくらインターネットのサーバーに置いてみる。
テストが完璧ではないので怪しさ満点だが、無理矢理公開してしまうことにする。
最初に宣言してから1ヶ月近くかかってしまった。
この前のエントリーに書いたとおり、小遣いを何に使ったのか簡単に記録するサービス。
とりあえず自分は使い始めた。そもそも自分用に作ろうと思ったサービスなのでよかったよかった。
一応テストアカウントも用意したので、触ってみてください。
一つのIDを複数で触ると変なことになるかもしれないけど、いきなりそんなにアクセスがあるとも思えないので平気だと思う。
test / @test (もちろん登録大歓迎です)
男である必要はないけど、男は細かいことは気にせずどんぶり勘定でOKだという偏見で。
これから振り返りをやりながら、ぼちぼちブログにアップしていく予定です。
雑記 | 07-07-12 13:03 | コメント (4) | トラックバック (0)
自分の現在の価値や目指す価値、それに足りないものを考える人は少ない
とある部署間の連携を強化する目的でタスクチームを立ち上げてセッションを持った。
なかなか難しいなと思った。
普通そういう時はセクショナリズムとかが問題になりそうだけど、そんなわけでもない。
そもそも自分(たち)の現在の価値とか目指す価値、足りないものなんかを真剣に考えたことがある人が少ないんじゃないかと思う。
だから、自分に足りないものを補う、お互いの価値をあわせてさらに高い価値を目指す・・・という発想が少ない。
自分を高めることはあまり考えず、今困っていることを単純に相手に求めることしかない。
今の客先でも同じ状況があるな。
自分たちに足りないものを直視せず、外部環境のせいにする。
自分たちが何をしているかはともかく、過度な期待を相手に持つ。
他の人はそれを見てイライラしてるのに、イライラしてる人も自分は省みない。
もしかして自分もそうなってるのか?
前述のタスクチームも、今の状況と欲しいものの議論をするだけではなく、もっと視点を上げて価値を高めていけるように持っていきたいな。
まずは、自分の発揮すべき価値は何なのか、自分がしたいことは何なのか、自分は何をするのか・・・を徹底的に考えるところから始めたい。
抽象的でちらしの裏になってしまった。
