Hatena::ブログ(Diary)

crazyuplog このページをアンテナに追加 RSSフィード

2010-02-20

移転しました。

ということで、これからは下記のアドレスでブログを書いていきます。

http://blog.crazyup.com/

これからもcrazyupをよろしくお願いします。

2010-01-09

iMac G4にubuntuを入れてみる。

今まで使っていたIntel iMacを家族用にしたので

今まで家族用として使っていたiMac G4が御役御免になった。

Mac OS X Tigerはあるけど、それを入れ直すのも何なので

ubuntuでも入れてみるかということになったわけです。

ということで早速Google先生に聞いてみると

PowerPC用Ubuntuをインストール - 作業日記

という心強いブログがあったので参考に。

1. ubuntu.comからisoデータを落としてくる。

PowerPCDownloads - Ubuntu Wiki

2. DVDに焼く。

中途半端な容量なのでCD-Rには焼けない。

しょうがないのでDVDに。

久々にDVD焼くなぁと思う。最近は全部USBメモリで済ませるもんなぁ。

時代は変わった。

3. 作ったディスクをiMac G4に突っ込む。

一度、起動してディスクを入れたら再起動

その時にCキーを押しっぱなしにする。

4. あとは流れに任せる

Enterキーを押してからしばらくまつと…

f:id:crazyup:20100109140546j:image

CDブートしたubuntuが。動くのは当たり前だけどちょっと嬉しい。

あとはHDDインストールするだけだ。

ということでInstall Ubuntu 9.10を実行してまた流れに任せる。

5. でけた。

f:id:crazyup:20100109181327j:image

有線LANならネットも繋がる。

ただ、PPC版ということでFlash Playerがインストールできない。

残念だ。

いいおもちゃができたのでいろいろ試してみよう。

2009-07-31

学習日記79日目 - Blogapp vol.15 -

スタートアップ研修記はこちらです。

どうも、enomotoです。

毎日書く学習日記は本日が最後です。

これからは気になったことなど有ったら書いていく日記に戻ります。

ということで本日はBlogapp完成の報告を書いていこうと思います。

こういうことができます。

  • はてな記法を使ってブログが書けます。
  • タグが使えます。
  • 検索ができます。
  • カレンダーがついてます。
  • YoutubeのURLを書くとプレイヤーが貼り付けられます。

こんな感じになりました。

Frontend

f:id:crazyup:20090731164506p:image

f:id:crazyup:20090731164508p:image

Backend

f:id:crazyup:20090731164507p:image

f:id:crazyup:20090731170836p:image

2009-07-30

学習日記78日目 - Blogapp vol.14 -

スタートアップ研修記はこちらです。

どうも、enomotoです。

そろそろ、8月です。8月怖い><

ということで、今日もはまったことを書きます。

相変わらずバリデータではまっています。

Admin Generatorで作ったBackendのブログ編集画面のバリデータが旨く動きませんでした。

f:id:crazyup:20090730185500p:image

表示自体はエラーメッセージが出るモノの

実際にはデータが保存されている…

なぜだろうと思ってAdmin Generatorが自動的に生成するautoArticleアクションを読んでやっと原因が分かりました。

autoArticleはこうなっていた。

  public function executeCreate()
  {
    return $this->forward('user', 'edit');
  }

  public function executeSave()
  {
    return $this->forward('user', 'edit');
  }

  public function executeEdit()
  {
    $this->user = $this->getUserOrCreate();

    if ($this->getRequest()->getMethod() == sfRequest::POST)
    {
      $this->updateUserFromRequest();

      $this->saveUser($this->user);

      $this->setFlash('notice', 'Your modifications have been saved');
(省略)

流れを読むとCreateもSaveもEditに飛ばされる。

で、

  1. updateUserFromRequestでセットして
  2. saveUserで保存する

という流れを取っていた。

で、自分がやっていたこと。

  • updateUserFromRequest内に保存をするようなコードを書いていた。

そりゃ、バリデーション無視するよなぁ。

問題点

  • 未だにバリデーションの理解があやふや。

2009-07-28

学習日記76日目 - Blogapp vol.12 -

スタートアップ研修記はこちらです。

どうも、enomotoです。

最近、もうやんに週3のペースで通っているのですがそろそろ自重したほうがいい気がしてきました。

本日はよくわからなかったことをメモしておこうと思います。

MySQLのlongvarcharには限界があるのか?

ブログを作っているのでどれぐらいの長文まで耐えられるのか気になったので

wikipediaから長文を持ってきて貼り付けてテストするとどうも途中で切れてしまう。

おかしいなぁと思って調べてみると65KB以上が表示されないみたいだ。

参考:symfonyにテーブルを作らせた方が嬉しい - それマグで!

Validationの動きの理解が曖昧だった。

validatorのymlを書いててvalidatorの結果がokならexecuteに流れるのは分かるけど

NGだった場合の流れが分かっていなかった。どうしてもわからなかったので聞いてみた。

以下は実際に書いたコード
  public function executeComment()
  {
    // 回答する
    $this->comment = new ArticleComment();
    $this->comment->setArticleId($this->getRequestParameter('article_id'));
    $this->comment->setCommentname($this->getRequestParameter('comment_name'));
    $this->comment->setCommentbody($this->getRequestParameter('comment_body'));
    $this->comment->setCommenthost($_SERVER['REMOTE_ADDR']);
    $this->comment->save();
    
    $this->redirect('@article?id='.$this->getRequestParameter('article_id'));;
  }

  public function handleErrorComment()
  {
    $this->getRequest()->setParameter('id',$this->getRequestParameter('article_id'));
    $this->forward('article','show');
  }

これはブログのコメントの処理をしている部分CommentAction。

Validationした結果が良ければ処理をするようになっています。

showからデータをcommentに送る→commentAction呼び出し→validator

→結果がOK→executeComment実行→redirectでshowに戻す

→結果がNG→handleErrorComment実行→idをParameterにセットしてフォワードする。

で、どこが分からなかったのか?

参考:no title

上記のサイトにバリデーションの流れが書かれているが、

この流れが分からなかったため、handleErrorXXXXを使うことも分からなかった。

なので、handleErrorXXXXが無いときはXXXXError.phpという

テンプレートを呼び出すことになっていることも分からず

エラーメッセージの通り、commentError.phpを作ってごまかしていた。

Copyright © crazyup. All rights reserved.