忍者ブログ
  • 2024.12«
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • » 2025.02
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2025/01/18 13:59 】 |
[プログラミング][RoR][Rubricks]LMSコンポーネント開発記録 PART6
コース・カテゴリ作成ウィンドウの細かい更新をしました。
そして、Realtime Validator を実装しました。

2008年6月18日~19日 (Lonely Lion2 Site)

Realtime Validator を実装する時、<%= start_validate_page %> と<%= end_validate_page %>を使いました。
しかし、これは <% validate_page do %>と<% end %>で実装することもできます。

このように2パターン用意されているものはたくさんあるんだけど、どっちの方がいいのかな?

20080619_create_course_window.png
PR
【2008/06/19 23:45 】 | プログラミング | 有り難いご意見(0) | トラックバック()
[プログラミング][RoR][Rubricks]LMSコンポーネント開発記録 PART5
コース作成ウィンドウで、カテゴリを選択できるようにしました。
それと、create_cm_course と create_cm_course_category が長かったので、cm_ を削りました。

2008年6月17日 (Lonely Lion2 Site)

20080617_create_course_window.png
【2008/06/18 00:35 】 | プログラミング | 有り難いご意見(0) | トラックバック()
[プログラミング][RoR][Rubricks]LMSコンポーネント開発記録 PART4
コースを作成するためにはカテゴリも必要なので、カテゴリを作成できるようにしました。
方法は前回と同じなので、さくっとできました。
2008年6月16日 (Lonely Lion2 Site)

前回書き忘れていましたが、Rubricksのバージョンが0.6.10に上がりました。
今は0.6.9で開発しています。
変更点さえ気をつけていれば大丈夫だと思うので、しばらくは0.6.9で開発します。
RubricksDevelopmentComponentMigrationTo0610Ja - Rubricks Project - Trac
【2008/06/17 00:44 】 | プログラミング | 有り難いご意見(0) | トラックバック()
[プログラミング][RoR][Rubricks]LMSコンポーネント開発記録 PART3
今回の内容は主にコースデータをデータベースに追加する実装を行いました。

具体的には、

・オペレーションバーへコース作成のボタン配置
・コース作成ウィンドウの作成
・コースデータをデータベースへ追加
・多言語対応

です。

作業内容は以下にまとめました。
2008年6月9日~14日 (Lonely Lion2 Site)


オペレーションバーへのボタン配置方法
オペレーションバー(CM) (Lonely Lion2 Site)

20080614_operation_bar.png









多言語対応の方法
多言語対応(CM) (Lonely Lion2 Site)


booleanなのにtext_fieldを使っている等の問題がありますが、とりあえずデータベースに追加できたので。
これから、細かいところを修正していきます。

20080614_create_course_window.png
【2008/06/15 00:54 】 | プログラミング | 有り難いご意見(0) | トラックバック()
[プログラミング][RoR][Rubricks]LMSコンポーネント開発記録 PART2
PART1はCourse Managementコンポーネントのユースケース図です。

今回行ったのは以下の通りです。

「コースを作成する」ユースケースのユースケース記述
rubricks-0.6.9のインストール
コンポーネントのジェネレート
ER図
テーブルの作成

以上です。
大体は過去に作ったものを使っています。

20080607.png
【2008/06/08 00:49 】 | プログラミング | 有り難いご意見(0) | トラックバック()
[プログラミング][RoR][Rubricks]Course Managementコンポーネントのユースケース図
Rubricksのコンポーネント、Course Managementコンポーネント(CM)の開発を行います。
CMは、LMSで最低限必要な機能を提供します。

CMコンポーネントのユースケース図を作成しました。
ユースケース図(CM) (Lonely Lion2 Site)

PCによってはGoogle Sitesの動作がきついかもしれないので、こっちにも貼っておきます。

use_case_diagram.png













あまり深くは考えず、後で変更するつもりで作成しました。
それよりも、過去に作った論文とアプリケーションを見て思い出す作業に時間をかけました。

次は各ユースケースとアクターの説明を簡単に書いて、ユースケース記述に入っていきます。

ついでに、ちょっと恥ずかしいですけど、論文を添付しました。
CMについて (Lonely Lion2 Site)
【2008/06/03 23:45 】 | プログラミング | 有り難いご意見(0) | トラックバック()
[プログラミング][PHP][CakePHP]CakePHPで開発をしよう part3
今日は、A.6. Post Model の作成から一気に最後まで終わらせました。

A.6.
Generaterはないみたいですね。
Scaffoldはあったけど。
5章 Scaffolding
でも、あまり使い道はなさそうだ。
Railsでも結局はScaffoldのコードは痕跡程度しか残らないけど、それでも便利だった。
チュートリアルにも使えたしね。


A.7.
ぉ、findAll()だ!w
Railsっぽいなw


A.8.
以下はA.8.にあるサンプルの一部です。
$this->Post->id = $id;
$this->set('post', $this->Post->read());

find()じゃなくて、read()なんだ。
find()はないのかな?って思って調べてみたらあった。
6.2.2. データを取り出す

ただし、Railsのように、
$this->set('post', $this->Post->find($id));
では上手くいかない。
第1引数が$conditionsになっているので、
$this->set('post', $this->Post->find("id = $id"));
のようにすると上手く動く。
あ、findByXxxもあるじゃん!
それなら、
$this->set('post', $this->Post->findById($id));
これでも上手く動くね。
read()を使いたいなら、第2引数が$idなので、
$this->set('post', $this->Post->read(null, $id));
でいける。
サンプルの文はPHPに慣れていない所為かわからないけど、自分にとっては気持ち悪い感じがするので、findByXxxを使おうと思う。


A.9.
特になし


A.10.
textfieldじゃなくて、inputなんだ。
でも、HTML的にはinputの方が自然かな。
わかりづらい気がするけど(Railsに慣れてる所為)。


A.11.
以下は、A.11.にあるサンプルの一部です。
"/posts/delete/{$post['Post']['id']}"
文字列にコード埋め込めるんだ。
ってことは、A.8.で追加した、
'/posts/view/'.$post['Post']['id']
は、
"/posts/view{$post['Post']['id']"
でもいけるってことだ。

A.12.
A.13.
特になし


A.14.
平和、尊敬、女性、お金が想像以上に手に入るのかw
それは嬉しいなw


Railsにかなり近いからわかりやすいね。
だからこそ逆に、Railsと違うって思ってしまうけど。
あとは単純にPHPの文法に慣れていないから違和感がある。
でも、少しはわかってきた気がする。

チュートリアルは終わったので、次はマニュアルに軽く目通して、もうちょっと規模を大きくしてみるかな。
【2008/04/18 00:21 】 | プログラミング | 有り難いご意見(0) | トラックバック()
[プログラミング][PHP][CakePHP]CakePHPで開発をしよう part2
まずは、付録 A. Cake ブログチュートリアルをやってみることにしました。

A.3.のデータベースの作成から。
SQL文はblog_post.sqlというファイルで保存しました。
$mysql -uroot -p
Enter password: ******
・・・
mysql> CREATE DATABASE cake_blog;
mysql> GRANT ALL ON cake_blog.* to root@localhost IDENTIFIED BY 'secret';
mysql> \q
Bye

$mysql -uroot -p cake_blog < blog_post.sql
Enter password: ******
これでテーブルが作られます。


A.4.はGRANT・・・で設定した通りにloginとpasswordを変更します。
databaseも自分で作成したデータベース名に変更します(今回の場合はcake_blog)。

そして、アプリケーションのトップページ(http://localhost/index.php)を開くと次の2文が追加されています。
ポート番号を変更している場合は、ポート番号の指定を忘れずに。
Your database configuration file is present.
Cake is able to connect to the database.
ちなみに、自分はこんなエラーが出ました。
Fatal error: Call to undefined function mysql_connect()
phpinfoを見てみると、MySQLの記述がありませんでした。
phpinfoを見たい場合は、phpinfo.phpというファイルをDocument Root(htdocs)に置いて、次のように書きます。
<?php phpinfo() ?>
http://localhost/phpinfo.phpにアクセスすると見れます。
ポート番号w(ry

原因は、前回PHPのインストールの時にWINDOWSディレクトリに配置したphp.iniにありました。
extention_dir = "C:/php/extensions"
になっていました。
古いバージョンはこうだったのかもしれませんが、今は違います。
extension_dir="C:/php/ext"
に直しました。

あと、以下の2行のコメントアウトを外します。
extension=php_mysql.dll
extension=php_mysqli.dll
保存してApacheの再起動をすると、phpinfoにMySQLの記述が増え、エラーも消えました。


A.5.の現象は自分も起きていて、原因もなんとなく気づいていましたが、放置してました。
httpd.confを修正します。
<Directory ”DocumentRootが指定されてる">
・・・
AllowOverride None
・・・
<Directory>
のAllowOverride部分を以下のように修正します。
AllowOverride All
これで終わりです。
また、以下の1行のコメントアウトが外れていることも確認して下さい。
LoadModule rewrite_module modules/mod_rewrite.so
これでCSSが反映されます。

ちなみに、今までアプリケーションのトップページにアクセスする時に、
http://localhost/index.php
としていましたが、
http://localhost/
でもいけるようになります。
ポーt(ry


明日はモデルの作成からです。
【2008/04/15 22:53 】 | プログラミング | 有り難いご意見(0) | トラックバック()
[プログラミング][PHP][CakePHP]CakePHPで開発をしよう
PHPを勉強するために、CakePHPを試してみることにしました。
CakePHPを一言で言うと、PHPでRailsライクな開発ができるアプリケーションフレームワークです。

とりあえず、Apacheのインストール。
2php : Apacheのインストール(Windows)

特に問題はないと思います。
自分の場合は80番ポートがすでに使われているというエラーメッセージが出ました。
ちゃんと調べていないですけど、おそらくSkypeの所為。
というわけで、conf/httpd.confのListenを適当に変更しました。


次にPHPのインストール。
2php : PHPのインストール(Windows)


MySQLはすでに入っているので問題なし。


CakePHPは、
CakePHP: the rapid development php framework. Home
からダウンロードします。
寄付を求められますが、寄付なのでしなくても落とせます。
解凍後、中身をhtdocsに配置します。

これで終わり。
http://127.0.0.1/index.php
にアクセスすると、何か表示されました。
あ、ポートが80じゃなかったら、ポート番号の指定も忘れずに。


明日はデータベースの設定かな。

以下にこれから参考にする予定のサイトを挙げておきます。

フォーラム - CakePHP Users in Japan
CakePHP プログラマーズ リファレンスガイド
CakePHPで高速Webアプリ開発:第1回 CakePHPを使いたくなる5つの特徴|gihyo.jp … 技術評論社
CakePHP修行! アーカイブ | IDEA*IDEA
【2008/04/14 23:25 】 | プログラミング | 有り難いご意見(0) | トラックバック()
[プログラミング][RoR][Rubricks]Rubricksのインストール
RubricksはRuby on Railsを利用して開発されたオープンソースのCMSです。
私はこのRubricksをLMS(Lerning Management System)としても利用出来るようにするため、コンポーネントの開発を行います。

長くなりそうなので分けました。
というわけで、トップページから見ている方は、右下の「つづきはこちら」へ。
【2007/10/13 16:47 】 | プログラミング | 有り難いご意見(0) | トラックバック()
前ページ | ホーム | 次ページ

忍者ブログ [PR]