プロフィール

Author:スーパークリエイター


この日記のはてなブックマーク数
早起き生活
Powered by 早起き生活

☆おすすめタイトル☆

☆Google!ちょっと来い!☆

☆Amazon!ちょっと来い!☆

便利ツール

タブブラウザ Sleipnir 公式ページ(上級者向け)

ブロとも申請フォーム

この人とブロともになる

chkconfigコマンド

http://www.linuxworld.jp/command/-/36401.html

chkconfigコマンド
機能 サービスのオン/オフを切り替える
chkconfig [オプション] [サービス名] ※[]内はなくてもよい



サービスの一覧を表示する
chkconfigは、各ランレベルで起動/停止させるサービスを設定するコマンド。
Fedora CoreやSUSE LINUXなどのRed Hat系ディストリビューションに用意されている※1。
実行にはroot権限が必要となる。

ランレベルとサービス

http://cai.cs.shinshu-u.ac.jp/sugsi/Lecture/linux/h_06-03.html

ランレベルによって起動されるサービスを確認するには chkconfig コマンドを使います


ランレベルってのがあるんですねー。
Linuxは細かい動作設定ができるんだ。

この信州大学Linux入門っていうページ、説明が丁寧でいいですね!
Good Job!信州大学!!!

このページを読んで、ランレベルについて理解しておこう!

信州大学 Linux入門
http://cai.cs.shinshu-u.ac.jp/sugsi/Lecture/linux/h_top.html

シェルの便利な機能

bash: chkconfig: command not found
という表示が出た。

bashシェルでは使えんコマンドなのか?

・今使っているシェルの種類を確認する方法
・使えるシェルを調べる方法
・シェルを追加することができるなら、その追加方法
・別のシェルに切替える?〜使用する方法

どうやったらいいか調べてみよう…。(^-')b

http://w3-pre.apc.ehdo.go.jp/22116/3%5C3-5.html

(5) シェルの便利な機能

■シェル
Linuxを使用するときのユーザインタフェースを担当するプログラム
※ユーザが入力したコマンドを解釈してカーネルに渡す

■プロンプト
シェルがユーザからのコマンドを待っているとき表示される
( $ # % 等)

■ ログインシェル
ログイン直後に起動するシェル

● Linuxで使えるシェルには様々なものがあり、ユーザが好きなものを選ぶことができる
( bash , csh , ksh 等)

■ 補完機能
・ファイル名補完機能
ファイル名を必要とするコマンドを使う場合、ファイル名を途中まで入力したところで「Tab」キーを押すと、その続きが補完される

・ コマンド補完機能
コマンドを途中まで入力して「Tab」キーを押すと、その続きが補完される

● 補完機能の基本動作
・補完の候補が1つしかない場合には、その残りの部分を補完する
・補完の候補が複数ある場合には、共通する接頭部分があればその部分を補完する
・補完の候補が複数あり、「Tab」キーを2回押された場合にはその候補のリストを表示する

■ 履歴機能(ヒストリ機能)
・以前入力したコマンドは、「↑」キーで呼び出して実行できる
・historyコマンドで過去に入力したコマンドのリストを表示させ、リストの番号を使い実行できる

■ 編集機能
・履歴機能で呼び出した以前入力したコマンドラインの一部を編集して実行できる
・編集したい場所にカーソルを移動するには「←」キーを使用する
・削除したい文字列は「Back Space」キー又は「Delete」キーを使用して削除し、続けて文字キーを押せばカーソル直前の位置に文字が挿入される

■ 別名機能(エイリアス機能)
・コマンドには、オプションや引数も含めて別名を付けることができる
・エイリアス機能を利用することによりキー入力の効率化が計れる

● alias コマンドにより別名を定義する
● unalias コマンドにより不要な別名を解除する
● 定義済みのエイリアスの確認(引数なし alias コマンド)

構造化プログラミングを極めよ!

http://www.phppro.jp/qa/detail.php?id=72
オブジェクト指向型と、手続き型の利点と欠点は?

オブジェクト指向型と、手続き型の利点と欠点について教えてください。

現在、社内ではPHP4を採用しており、私自身も手続き型でプログラミングしています。しかし、最近、上司がPHP5を採用して「オブジェクト指向型プログラミング」に移ろうと考えています。

自分は、PHPからプログラミングを始めているので、オブジェクト指向型のプログラミングが全くわかりません。

そこで、PHP4からPHP5に移行した経験がある方に、オブジェクト指向型プログラミングと、手続き型プログラミングの利点と欠点、導入する際の注意などあったら教えていただきたいと思っています。



自分の作成したものを、たまたま他の人に見せる機会があって「思想がオブジェクト指向」だと言われたことがあります。

私の関数の作りかたが「プログラマにいちいち見せなくてよいものは隠蔽する」「要件変更で変化する可能性の高い部分は関数化し、プログラム全体に影響しない作りとする」という感じで行っていたからかもしれません。

(これがオブジェクト指向なの?っていうのは勉強不足なので判らないのですが)

ただ、そのとき話した内容としては「手続き型のコーディングを正規化してかけない人は、オブジェクト指向での設計は出来ない」と聞かされました。

多分、オブジェクト指向自体を理解すること、その場合のコーディングの正規化を知ることで初めてオブジェクト指向プログラミングが出来るのではないかと思います。



言いえて妙。

まずは、手続き型のスタイルで、「DRY」を徹底してやってみよう。

(DRYは、Ruby on RailsのDRY=Don't Repeat Yourself.同じことを繰り返さない、のことね!)

1.コメントはコードの説明では無く、仕様の説明を書く

2.データ(定数)をコードに埋め込まない
(後で変更する為)

3.ライブラリの機能は単純でエラー処理などは書かない
(汎用性を持たせる為、使う方で書く)

4.関数を書くときはそのファイル内(クラス内)のみで使うものと外から呼ばれるものを分けて書く
(他の人が使う時に見やすい様に)

5.複雑な処理・計算式が出てきたら、別の方法を考える
(読みたくない)

ファイル比較ツール DF

これは便利だ。

DF ファイルやフォルダを比較し、わかりやすく並列表示
http://www.vector.co.jp/soft/win95/util/se113286.html

テキストファイルを比較する時、どうしてますか?
フォルダを比較したい時、どうしていますか?
このツールは2つのファイルやフォルダを高速に、また並列2画面のわかりやすい形式で比較します。
使用方法はいたってシンプルなので、どなたでも簡単に利用できます。
テキストファイルの新旧の相違点やプログラムなどのフォルダの比較が一発でできます。

レニ・リーフェンシュタール

Berta Helene ("Leni") Amalie Riefenstahl

1902年8月22日 - 2003年9月8日
ドイツのベルリン生まれ。
舞踏家、女優、映画監督、写真家、世界最年長のスクーバダイバー。

ベルリンオリンピックの記録映画『オリンピア』と、1934年のナチ党大会の記録映画『意志の勝利』が国威を発揚させるプロパガンダ映画として機能したという理由からナチのプロパガンダ映画製作者として忌み嫌われ、戦後、長らく黙殺された。



12歳
少女が車の下敷きになる事故を目撃。
これをきっかけに
この世界で悪が善よりも強いものならば、とっくに善をくいつくしてしまっているだろう。
それなのに自然はこんなに美しい。
春は繰り返しやってくる。
自分は人生に向かって『はい』(ヤー)と言おう

「たとえ何が起ころうと、人生を肯定して生きよう」
という自分の生き方を確立



http://www.leni-riefenstahl.de/


Leni_16



PHPプロ!TIPSメーリングリスト

最近、株式会社アシアルさんのPHP情報サイト「PHPプロ!」をチェックしている。

TIPSメーリングリストというサービスが始まったらしい。
http://www.phppro.jp/phptips/

PHPプロ!TIPSメーリングリストでは、PHP開発に役立つTIPSや様々なライブラリの簡単な使い方、開発で必要になるツールの使い方などを、週に1回、登録していただいたユーザの皆様にお届けします。



早速登録してみた。

うっほほ〜い!どんなお役立ち情報が届くかな☆

あ、ブログの記事投稿画面のボタンが変わってるぞ。
なんか、アクア風の透明感がある画像に入れ替わっている。
リンク設置ボタンは、ABCじゃなくて、前のURLの方が分かりやすかったんじゃないかな?
ま、何でもええわ。www

カンタン! 10分で書ける「脳タグ」

脳内タグ〜関心事をまとめておくことらしい。やってみよ。

http://hfuhruhurr.blog63.fc2.com/blog-entry-95.html

頭に浮かんだ近ごろ関心があること、注目しているモノ、人、本、スポーツ、音楽、映画…。
とにかく思いつくまま、好きなだけ、好きなように書き出してみましょう。



PHP ._. フレームワーク ._. MVCモデル ._. OpenPNE ._. Zend Framework ._. symfony ._. 起業 ._. UML ._. バイオインフォマティクス ._. Linuxサーバ
【“カンタン! 10分で書ける「脳タグ」”の続きを読む】

開業届

個人事業主の「開業届」とは何か?

http://allabout.co.jp/career/freelance/closeup/CU20030628A/

会社を設立せずにフリーランスで仕事を始める場合は「個人事業」となり、その本人は「個人事業主」となります。
個人事業の開始にあたって、法人登記のような面倒な手続はありませんが、必要に応じて、税務署へ提出する書類があります。

※“開業届を出さないと何か問題があるの?
― 結論から言うと、特に問題はないようです。

個人で事業をスタートさせると、納税については「自己申告」するのが基本です。
「開業届」というのは、国や自治体へ、<事業開始>を知らせする手続となります。
仮に開業届を出さずに仕事を始めても、「確定申告」をすれば、個人事業主の届出もすることになります
但し、節税効果のある青色申告を希望する場合は、事前に申請手続と同時に「開業届」の提出が必要となります。


ミッション・コンプリート! 〜 PHPフレームワークを習得せよ!

集中力が落ちてきている。
どうする?

とにかく30分はやる!という方式をやってみるか。

・PHPフレームワーク学習に30分
・サイト制作に30分

自分に課した最低限の課題をクリアできたら、他の事をやる。

はじめて学ぶUML

はじめて学ぶUML―オブジェクト指向の基礎からUMLの利用法まで、しっかりよくわかる! はじめて学ぶUML―オブジェクト指向の基礎からUMLの利用法まで、しっかりよくわかる!
竹政 昭利 (2002/12)
ナツメ社
この商品の詳細を見る


UMLの図の描き方について、丁寧に解説してある。
クラス図の書き方くらいはマスターしたいものだ。

「へんな会社」のつくり方

「へんな会社」のつくり方 「へんな会社」のつくり方
近藤 淳也 (2006/02/13)
翔泳社
この商品の詳細を見る


はてなの社内制度はユニークだ。
自分にも参考になる考え方がありそうだ。

ITエンジニアが独立して成功する本

ITエンジニアが独立して成功する本~年収2000万円を稼ぐ! ITエンジニアが独立して成功する本~年収2000万円を稼ぐ!
岩松 祥典 (2005/01/21)
翔泳社
この商品の詳細を見る


年収2000万円稼ぐ!というサブタイトルが魅力的だ。

本書には6つのテーマごとに役立つノウハウが提示されている。

1章 スタートアップ
2章 営業
3章 チームワーク
4章 スキルアップ
5章 プライベート管理
6章 いかに稼ぐか

ちょっと読書して勉強しといた方がいいな。


【“ITエンジニアが独立して成功する本”の続きを読む】

バイオインフォマティックス技術者認定制度 〜 BICERT

バイオインフォマティックス技術者認定制度
BICERT(Bioinformatics Certificate)
http://www.jbic.or.jp/bicert/

受験料、1万円也― チーン

ちょっと勉強すれば受かるんじゃね?
仕事の幅が広がるかな?

この資格、取ってみる価値あり?
ソフ開+αの位置付けであったら便利そうだな。

substrの使い方

今日知った便利な使い方

substrの文字位置指定はマイナス値も使える!

http://jp2.php.net/manual/ja/function.substr.php

substr -- 文字列の一部分を返す

string substr ( string string, int start [, int length] )

substr() は文字列 string の、start で指定された 位置から length バイト分の文字列を 返します。

start が正の場合、返される文字列は、 string の 0 から数えて start番目から始まる文字列となります。

start が負の場合、返される文字列は、 stringの後ろから数えて start番目から始まる文字列となります。

Ruby、PHP、Python フレームワーク比較

主要フレームワークの実行速度は、
Python>Ruby>PHP
なのか。

2chみたいに書き込みはPerlで、読み出しはCでとか、使い分たりして。
ちょっと遅いくらいなら、巨大ポータルサイトじゃなければ気にならないよ。
遅くても作りやすい、使いやすいのがイイ。

Ruby on Rails、Symfony、Django(Python)の3MVCフレームワークのパフォーマンス比較
http://www.phppro.jp/news/42/

結果はリンク先の結果をご覧いただければと思いますが、Symfonyが低速であることは否めないようです。これは、Symfonyのコード量が多いからなのでしょうか。。。


http://wiki.rubyonrails.org/rails/pages/
Framework+Performance/versions/1

ホーポノポノ

ホーポノポノという、ポリネシアの人々の伝統的な和解方法があるそうだ。

昔の日本でも、村の「寄り合い」というのがあって、似たものだったらしい。

http://beshibozu.blogzine.jp/nolandmine/2006/04/post_b47e.html

ホーポノポノは、ハワイ語で、直訳すると「曲がったものをまっすぐに直す」の意。



あの人と和解する―仲直りの心理学 あの人と和解する―仲直りの心理学
井上 孝代 (2005/10)
集英社
この商品の詳細を見る


Linux 〜 便利なパイプ+moreコマンド

Linuxで、lsコマンドでファイルを表示させるとき、ファイル数が多すぎて1画面で表示しきれない場合がある。
スクロールされて見えなくなったファイル名がある。
1画面分ずつ表示させて、スキップしながら見たい。
Googleで検索したら、やり方が説明してあるサイトにたどり着けた。

初心者のためのUNIXコマンド一覧
●ディレクトリ内のファイル一覧
http://www02.so-net.ne.jp/~oable/okui/unix_howto.html#ls

一覧表示が画面内に収まらないときは、ls -la | more のようにパイプ | を通して more コマンドに渡すことで1画面ずつ閲覧できます。

Subversionのインストール

Subversionでデータの世代管理をやろう!!!
これは便利だぞー!!!

Subversionでサイト管理
http://asshole.dip.jp/subversion.php

Windows上からTortoiseSVNを使って、svnserve経由でリポジトリにアクセス。そして同サーバ内にある/var/www/以下に反映させる、と。



はいはい、それイイですね。それで行きましょ☆

subversion1.jpg



Windows側のクライアントソフトはこれだ!

TortoiseSVNのインストールと設定
http://www.gside.org/Gentoo/subversion/subversion_client.html
【“Subversionのインストール”の続きを読む】

中国の環境破壊

すごいページがあった。

アジアの安全な食べ物
http://blog.livedoor.jp/safe_food_of_asia/archives/50010839.html

中国は大変だな。

7色に輝く川って、いったいどれだけの汚染物質が垂れ流しにされているのか!?

中国は多くの人口を抱え、工業を発展させているが、産業廃棄物(毒)などの処理にコストがかけられていないようだ。

汚染物質は、川から海に流れ込み、やがては世界中に巡るであろう。
他人事ではないな。
【“中国の環境破壊”の続きを読む】

サーバ設定メモ

はじめての自宅サーバー構築
http://kajuhome.com/

CentOS4.3+Blue Quartz 5100Rをインストール
外部には公開しない。LAN内だけで使用

yum自体をアップデートしておく。
TELNET入れる
ApacheでDocumentRootを変更
SAMBAでフォルダ共有化→すぐファイルを放り込む
TESTと。

うん、この順番で設定してみよう。
…いや、先にSAMBAで全フォルダを共有化しちゃえば、リモートで操作しやすいか!?

viエディタ慣れないのよね。トホホ
gccも入れて、ソースからコンパイルも出来るようにしておきたい。

第4回:ValidatorとRendererを理解する

OpenPNE解析の参考にするために、今さらながらmojaviを学んでいる。

http://www.stackasterisk.jp/tech/php/mojavi04_01.jsp

第4回:ValidatorとRendererを理解する

前回作成したチャットアプリケーションの改良を通して、MojaviのValidate機能、エラー処理機構などを解説するとともに、MojaviのRendererクラスの詳細とテンプレートのかわった利用方法を解説します。



今回は、バリデート〜入力値のチェックのやり方についてなのだ。
といっても、mojavi2で用意されている仕組みの使い方を知るだけなのだが…。

Rendererクラスの役割〜データの引渡し方についても参考になりました。

次は、
第5回:MojaviからSmartyを利用する
http://www.stackasterisk.jp/tech/php/mojavi05_01.jspである。

第3回:チャットアプリケーションを作成する その3

OpenPNE解析の参考にするために、今さらながらmojaviを学んでいる。

http://www.stackasterisk.jp/tech/php/mojavi03_03.jsp

6.Mochat:Actionの作成

まずはアプリケーションの要であるアクションから作成します。起動時にモジュール名の指定だけですむようにアクション名を Index とし、Mochat/actions/IndexAction.class.php に書いていきます。



http://www.stackasterisk.jp/tech/php/mojavi03_04.jsp

7.Mochat:Viewの作成

次にViewです。IndexアクションのVIEW_INPUT(input)時のViewなので Mochat/views/IndexView_input.class.php を作成します。



8.Mochat:テンプレートの作成

最後にテンプレートの作成です。Viewで指定したファイル Mochat/templates/mochat_input.tpl に次の内容を書き込みます



9.Mochat:完成

以上で完成です。お疲れ様でした。



おぉーーー!!!
とりあえずmojavi2を使った簡単なWebアプリが出来た。

次は、
第4回:ValidatorとRendererを理解する
http://www.stackasterisk.jp/tech/php/mojavi04_01.jsp
である。

トランザクション

トランザクション処理

関連する複数の処理を一つの処理単位にまとめて管理する処理方式。
複数の作業を連結した処理単位を「トランザクション」という。
トランザクションとして管理された処理は「すべて成功」か「すべて失敗」のいずれかであることが保証される。

例えば、資金移動システムをコンピュータで処理する場合、出金処理と入金処理は「どちらも成功」か「どちらも失敗」のどちらかであることが要求される。
「出金に成功して入金に失敗」すると、出金された資金が宙に浮いてしまうからである。
このような場合に、出金と入金をまとめて1つのトランザクションとして管理し、どちらか一方が失敗したらもう片方も失敗させ、どちらも成功したときに初めて全体を成功と評価する




http://www.techscore.com/tech/sql/11_01.html

一般にデータベースには多くの人がアクセスし、様々な処理を行います。閲覧するだけの人もいれば、データを追加・更新したり、削除する人もいます。その中でも特に、データの追加・更新・削除、SQL 文で言うと「INSERT 文」「UPDATE 文」「DELETE 文」についての処理のまとまりをトランザクションと言います。

上記 3つのデータ操作文は、お互いに関連をもっていて、連続して実行されることにより、意味のある一つの単位を構成することが少なくありません。トランザクションとはこの一連の作業単位のことで、データの整合性を確保するため、またデータの障害復旧といった目的に利用されます。

トランザクションの特性により、データベースへの同時アクセスを制御したり、障害発生時の処理を制御することができるようになります。




MySQL InnoDBテーブル型
http://www.atmarkit.co.jp/flinux/special/ctl_rdbms/rdbms07.html

トランザクションに対応したInnoDBが標準実装になった点は注目すべきだろう。MySQLのデフォルトのテーブル型であったMyISAMは、SELECT時における抜群の高速性を特徴とするものの、
 ・トランザクションに非対応
 ・更新時にはテーブル全体がロックされるため更新処理が頻繁に発生するシステムには不向き
などの問題があった。

一方のInnoDBは、MyISAMに比べれば低速ではあるものの、トランザクション、行レベルのロックに対応しているため、更新時のデータの整合性が意識されるようなケースには適している。つまり、MySQLを運用する場合、アプリケーションの特質・用途に応じて、最適な機能(テーブル型)を選択することで、高いパフォーマンスを引き出せるのだ。



徹底比較!! PostgreSQL vs MySQL
第3回:トランザクションの比較
http://www.thinkit.co.jp/free/article/0603/10/3/

今回は、PostgreSQLとMySQLのトランザクション関連について両者がどのような特徴を持っているかを解説します。MySQLについては、ストレージエンジンの違いによっても異なるため、MyISAMとInnoDBそれぞれについて解説します。

トランザクション機能をサポートしているのは、PostgreSQLとMySQL+InnoDBエンジンであり、MySQL+MyISAMエンジンはトランザクション機能をサポートしていません。

カパーラ

髑髏杯

人間の頭蓋骨(頭の骨)で作られたカパーラという杯。
「有と無の分別を断つ」シンボルとして密教儀式の際に用いる法具である。
日本語の「瓦」はこの「カパーラ」から来ている。
この標本は共に成人の頭蓋骨である。
(企画展図録解説より)



カパーラ


http://www.museum.tohoku.ac.jp/
exhibition_info/kikakuten/past_kikakuten/
ekai/kikakuten/third_section/index.htm


ヤッホー

ヤッホーという掛け声の由来を調べた。

ヤッホー
《掛け声》Yo-ho!
三省堂提供「EXCEED 和英辞典」より



http://www.union-net.or.jp/cu-cap/yahho.htm

ヤッホー

山に登ったら遠くに向かって「ヤッホー」と叫ぶ。そうすると、山びこで声が返ってくる…。ヤッホーというのはヨーデルで人に呼びかける時の音の表現法に由来すると言われるが、山の上でのヤッホー(yo-ho)にはこんな話がある。

昔、あるドイツのキリスト教宣教師が高い山に登った。辛い思いをしてようやく着いた頂上でふと周りを見ると素晴らしい景色。感動して思わず神様の名を叫んだ、「ヤハウェ!」と。ヘブライ語の旧約聖書に出てくる神の名の読み方のひとつ。これを真似ているうちに「ヤッホー」になった、と。

ちなみにヤッホーと誤読される検索ポータルサイトの「Yahoo!」(ヤフー)は、Yet Another Hierarchical Officious Oracleの略という説もあるが開発者のデビッド・ファイロジェリー・ヤンによると、これはガリバー冒険記に出てくる登場人物の名前で、自分達を同じような「ならず者」だと思っていたからと主張している。



http://www.asahi-net.or.jp/~wa4k-ngtn/ivrit/yoho.html

山に登ったら、皆さんも思わず叫んでいませんか? この「ヤッホー」の起源は何でしょう?

むかし、同じような疑問を持った小学生がいて、ラジオでおなじみの「こども電話相談」に質問があったそうです。

先生のお答えは何だったでしょうか。

昔々、ドイツのある宣教師(キリスト教を広める人)が高い高い山に登りました。 やっとのことで山の頂上に着きました。頂上からの眺めがあんまり素晴らしいので、思わず

「ヤハウェ! (神様!)」

と叫んでしまいました。
それが山に登る人の間に広まり、「ヤッホー」になったそうです。



「Yahoo」 の語源についても少々疑惑がありますね......。(「ガリヴァー旅行記」の原作者スウィフトが狙って付けた名前ではないのか? とか)


−NTTPCコミュニケーションズがASP型「SNS構築サービス」を提供−

NTTPCのレンタルSNSデモ
http://www.db-boss.com/sns/
http://www.db-boss.com/sns/demo.html

総務省において「地方総合通信局等SNS」を開始!
−NTTPCコミュニケーションズがASP型「SNS構築サービス」を提供−
http://www.nttpc.co.jp/press/html2005/20060313.html

総務省では、本日から本省と各地方総合通信局および沖縄総合通信事務所に勤務する職員をメンバーとする総務省内初のソーシャルネットワーキングサイト(以下、SNS)「地方総合通信局等SNS ―SNS for Ministry and Local bureaus―(以下SMILE)」が開設されます。

その構築に際しては、株式会社NTTPCコミュニケーションズ(以下NTTPC、代表取締役社長:石田 守、本社:東京都港区)が提供するASP型「SNS構築サービス」が利用されています。

本サービスの提供により、「行政」や「文教」など、公共性の高い市場におけるSNSの市場を拡大し、地域のIT化推進を図る方針です。



ふーん、SNSはこんなふうにして、使われ始めているわけか。
SNSバブルはしばらく続くのかな?

OpenPNE … mojavi型のフレームワーク(MVC)
open-gorotto … デザインテンプレート「HTMLtemplate」を使用

open-gorottoの方が、シンプルイズベスト

かんたんUML

かんたんUML[増補改訂版] かんたんUML[増補改訂版]
オージス総研 (2003/11/22)
翔泳社
この商品の詳細を見る


Unified Modeling Languageを使って、クラス図を描くのだ。
図書館で借りてきて、今読んでいます。

携帯サイト アイデアその1

金儲けのアイデアじゃ〜!!!

携帯サイトを作って、ドドーンと月額使用料金をいただく。

Mobile Space
http://m-space.jp/
(*^0^*)/毎日6000サイト作成!! 完全無料HP作成サービス「モバスペ!!」

こんなんやったら作れるやろ!?

第3回:チャットアプリケーションを作成する その2

OpenPNE解析の参考にするために、今さらながらmojaviを学んでいる。

http://www.stackasterisk.jp/tech/php/mojavi03_03.jsp

5.Mochat:ディレクトリ作成

それではここまで解説した知識を使って簡単なチャットアプリケーションの作成に取りかかりましょう。



やっとここまできた。よっこらせ、と。
まだまだがんばるぞー\(^^)/

第3回:チャットアプリケーションを作成する

OpenPNE解析の参考にするために、今さらながらmojaviを学んでいる。

今日は、mojavi講座の第3回〜チャットアプリケーションの作成だ。
http://www.stackasterisk.jp/tech/php/mojavi03_01.jsp はきりってレッツゴー!!!



2.Mojaviアプリケーションの構成

トレーニングのために前回作成したHelloWorldをSampleモジュールのHelloアクションとして作り直してみましょう。




Hello World!表示の移植はうまくいった。
index.php?module=モジュール名&action=アクション名で処理を指定する。
(1) /webapp/modules/ フォルダにモジュール名のフォルダを追加
(2) モジュール名のフォルダ内のactionsフォルダに、アクション名Action.class.phpを追加
(3) クラス名は、class アクション名Action extends Action と指定
…以下略…



http://www.stackasterisk.jp/tech/php/mojavi03_02.jsp
3.ユーザー入力の受け付け

次にユーザーからの入力の受け付け方を解説します。HelloWorldアプリケーションを改良して、 Hello [ユーザー入力]!とできるようにしてみましょう。





ユーザーからの入力はRequestクラス(この場合の実態は$request)が持つ連想配列(パラメータ)に格納されの二つのメソッドで取り出すことができます。





AttributeはParameterと似たようなRequestクラス内部の連想配列で、ActionからViewにデータを渡す時など内部的なデータ保持に使用




Hello Mike!もうまくいった。


4.GETとPOSTによる動作分岐

class DefaultIndexAction extends Action
{
function getDefaultView (&$controller, &$request, &$user)
{
return VIEW_INPUT;
}

function Execute (&$controller, &$request, &$user)
{
return VIEW_SUCCESS;
}

function getRequestMethods ()
{
return REQ_POST;
}
}
?>



getRequestMethods()メソッドの返り値で、挙動を制御するのか。
なるほど。

動作を一覧表にした場合、次のようになります。




























  GET POST
REQ_POST getDefaultView Execute
REQ_GET Execute getDefaultView
REQ_GET|REQ_POST Execute Execute
REQ_NONE getDefaultView getDefaultView


このGET/POSTでの分岐はMojaviの特色ともいえ、今回のアプリケーションのように
入力ページ表示→入力→入力データ処理
という良くある動作フローを扱う場合にもすっきりと実現できるため、是非とも使いこなしたい機能です。

↑↑↑なんかTABLEタグの表示が変だ。テーブルの上に空の行らしきものが表示されているように見える。ブログのバグかな???
まぁ、いいや。

第2回:Mojaviのセットアップ その2

OpenPNE解析の参考にするために、今さらながらmojaviをインストール&勉強している。

スタックアスタリスクというサイトで、mojavi講座が公開されている。
http://www.stackasterisk.jp/tech/php/mojavi02_01.jsp
(どうもありがとうございます。)

mojavi2.0.0でインストールテストをしたら、エラー表示がドバドバっと出て、いきなり窮地に(汗

Only variable references should be returned by reference

なんじゃ、こりゃ〜!!!と思ったら、Googleで同じトラブルの人発見。
[PHP-users 27128] mojaviの導入[エラーの対処]

この度、mojaviを導入しました。
phpを初めて1ヶ月です。
http://www.stackasterisk.jp/tech/php/mojavi02_01.jsp
上記サイトを参考にしながら、セットアップを進めましたところ
Notice: Only variable references should be returned by reference
この様なエラーが大量に出てきます。
HelloWorldを試しに出力しているのですが、文字は出力されています。

php.iniにて、エラーを表示させない様に
error_reporting = E_ALL & ~E_NOTICE
と記述をしています。

エラーの対処をご教授願えませんか?



PHPが4.4にバージョンアップしたときに、リファレンス(&)の仕様が何か変わったらしく、それがエラー表示の原因になってるらしい。
(詳しいことは分からん)

対策は2つほど出てきた。
PHP4.4.xでの注意
http://www.stackasterisk.jp/tech/php/mojavi08_01.jsp

PHP4.4.xでの仕様変更によりMojavi2.0.0ではエラーが発生してしまうようになりました。

(1) mojavi2.0.0→2.0.3betaに変更
(2) mojavi2.0.0のまま→エラーがあっても表示しないように mojavi-all-classes.phpの15行目を error_reporting(E_ALL & ~E_NOTICE);
と書き換え