手書きの効用
最近メモを作ったり、企画書等のドラフトを作成するときに、コンピューターを離れて手書きで書いてみる事にしている。
Textエディタやアウトラインプロセッサーなどで書いた方が、編集力は高いのだけど、なんとなく言葉の発端が単なる指先の運動から生まれているように感じてしまう。
忘れかけていた漢字を調べたり仕事に対する気分を変えるにはなかなかいいみたい。
使用している脳の部分をシフトしているような感じ。
« 2006年03月 | メイン | 2007年06月 »
最近メモを作ったり、企画書等のドラフトを作成するときに、コンピューターを離れて手書きで書いてみる事にしている。
Textエディタやアウトラインプロセッサーなどで書いた方が、編集力は高いのだけど、なんとなく言葉の発端が単なる指先の運動から生まれているように感じてしまう。
忘れかけていた漢字を調べたり仕事に対する気分を変えるにはなかなかいいみたい。
使用している脳の部分をシフトしているような感じ。
IntelベースのMac上でWindows XPとのデュアルブートを実現させるソフト。Appleからでてた。次期OSXのLeopardでは標準になるらしい。
これでWeb系のデベロッパ(デザイナ含む)のWin系マシンからの移行に弾みがつくのでは。
実際、Macの方が作業はやいし。
これで、一台のマシンで同時にOS立ち上げてワンタッチで切り替えとかで来たらむちゃくちゃ便利なんだろうけど、ま、いまのところ無理だろうな。
久しぶりにSymfonyの使い方メモ。画像のアップロードの基礎編。
まずはさくっと、プロジェクトのイニシャライズと、アプリケーション、モジュールの用意。
$ mkdir myproject $ cd myproject $ symfony init-project myproject $ symfony init-app frontend $ symfony init-module uploadfile
ファイルをアップロードするフォルダと作る。
$ cd web/uploads $ mkdir web/uploads/files $ chmod 0777 web/uploads/files
で、actionを書く。
$ vi apps/frontend/modules/uploadfile/actions/actions.class.php
<?php
class uploadfileActions extends sfActions
{
/*
indexはとりあえず放置。
*/
public function executeIndex()
{
}
/*
update用のアクションを追加。
*/
public function executeUpdate()
{
/*
sfWebRequestクラスのgetFileNameメソッドで
myfileという名前でファイルを受け取って、
*/
if ($file = $this->getRequest()->getFileName('myfile'))
{
if (!empty($file))
{
$file = explode(".", $file);
// さっき作ったフォルダに放り込む。
$this->getRequest()->moveFile('myfile',
'uploads/files/' .$file[0].'.'.$file[1] );
// 保存したファイルのURLをセッションに放り込む。
$this->getUser()->setAttribute('fileurl',
$this->getRequest()->getRelativeUrlRoot().'/uploads/img/'.$file[0].'.'.$file[1]);
}
}
}
?>
ファイル選択ページとアップロード後ページのビューを用意する。
$ vi apps/frontend/modules/uploadfile/templates/indexSuccess.php
<h1>file uploadのテスト</h1>
<p>以下のフォームから画像ファイルをアップロードしてください。</p>
<?php echo form_tag('uploadfile/update', array('multipart' => true)) ?>
ファイルの選択:<?php echo input_file_tag('myfile', '') ?>
<?php echo submit_tag('アップロード') ?>
</form>
アップロード後のビューはこんな感じ。
$ vi apps/frontend/modules/uploadfile/templates/updateSuccess.php
<?php if(!empty($sf_user->getAttribute('fileurl'))) : ?>
uploaded image is ...
<br />
<img src="<?php echo $sf_user->getAttribute('fileurl') ?>" />
<br />
タグ
<br /.
<?php echo textarea_tag('introduction' ,'<img src="'.$sf_user->getAttribute('fileurl').'" />', array (
'size' => '40x10',
)) ?>
<?php endif ?>
でおしまい。これだけ。
sfWebRequestクラスのgetFileType(string $name)でファイルのmime-typeがとれ、getFileSize (string $name)でファイル容量がとれます。
参考:
簡単だー。
あ、でもSymfony使わなくてもmove_uploaded_file関数だけで一発か。
この後の例外処理とかセキュリティ対策とかが意外とちまちましてて面倒ですよね。
そのあたりが楽できないかな。
次回は認証まわりを探ってみます。
なんかかわいい。
なぜに工場員?
(素材集をなんとなく使ってるのだろうけど。)
でましたね。<常套句
予定調和的というか、ぶっちゃけた話、つまんないマシンだなと思いました。が、このつまらなさって、きっと変わらなさを演出するための戦略なのだなと。穿った見方かもしれませんが。
今は13インチワイドスクリーンと噂される、iBookの後継がどんなのを投入してくるか楽しみですよ。
※symfonyの認証周りはコードは書けたのですが、どう手際よく最小限で説明しようかで四苦八苦してます。期待しないで待っててください。。。