ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

8,000万円のセレブ向けパソコン登場?

2008-01-28 23:31:00 | Weblog

ここの痛いニュース
“これが格差社会か” 8,000万円のセレブ向けパソコン登場
http://blog.livedoor.jp/dqnplus/archives/1084540.html


8000万円の総プラチナ+ダイアモンドのケースの中に入ったパソコン
(プラチナでなく、金だと6000万)だそうなんだけど、

こーなってくると、プラチナの箱に、パソコン機能がおまけで付いてくるっていうほうが正しい気が・・・買う人も箱のほうがほしいんでなくて?
(きっとパソコン機能は、警報機かなんかのプログラムを組んでおいて(+センサーを買い足して)、そのために使われそうな気が・・)


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

SugarCRM 4.5のカスタマイズのまとめ(5)

2008-01-28 18:20:21 | SugarCRM

 シリーズSugarCRM 4.5のカスタマイズのまとめ、5回目の今回は、SugarBeanを継承”する”場合についての「表示関連」です。

SugarCRMをカスタマイズするには、まあ、スタジオで、タブを消したり、ラベルの文字を変更したり、項目追加したりすることはできますが、大きく変更する場合は、モジュールの追加ということになります。
 このとき、モジュールには2種類あり、新規テーブルを作成し、追加操作などをしない場合のSugarBeanを継承”しない”場合と、テーブルを作っていろいろ操作するSugarBeanを継承”する”場合があります。
 そして、SugarBeanを継承”する”場合は、
(1)SugarBeanを継承しない場合にも必要なファイルたち
(2)データベース操作関連
    モジュール名.php,vardefs.php,Save.php,Delete.phpなど
(3)表示関連
    (3-1)一覧表示(ListView)と、検索
    (3-2)詳細画面
    (3-3)編集画面
(4)他のと関連
    (4-1)サブパネル
    (4-2)ポップアップ
    (4-3)ダッシュレットなど、


とファイルが必要なのですが、いままでで(2)までやったので、今日は(3)です。




■表示方法に3種類

 SugarBeanを継承した場合、表示方法に3種類あります。
 (3-1)一覧表示(ListView)と、検索
 (3-2)詳細画面
 (3-3)編集画面
です。まず、タブをクリックされると、Sugarの下のindex.phpが呼び出されます。このとき、引数のmoduleはクリックしたモジュール名、actionは、indexだと思います。

 そうすると、メイン画面には、modules/モジュール名/index.phpが表示されるわけですが、このindex.php,継承されないときは、好きに書いてよいのですが、継承する場合は、ここでListView.phpが呼び出され、一覧&検索画面が表示されます(ListView.phpから検索画面のSerachFormを読んでいます)。

 詳細画面、編集画面はそれぞれ、index.phpの引数moduleがモジュール名、actionがDetailView(詳細画面の場合)またはEditView(編集画面の場合)を指定されて呼び出されます。




■一覧表示(ListView)と、検索
 バージョンによって、違うのですが、4.5の場合は、モジュールの下のうち、
    ListView.php
    ListView.html
    metadata/listviewdefs.php
 が関連します。またListView.phpで、モジュール名.php(SugarBeanを継承しているクラス)が呼び出され、さらに検索用として、
    metadata/SearchFields.php
が関係します。SearchFields.phpが検索項目の指定で、listviewdefs.phpが一覧表示項目だった気がします。なお、field_arrays.phpも関係していた気がします。

 そして、上記のファイルから、Sugarのフォルダ/include/ListViewの下にあるPHPプログラムが呼び出されます(ここにあるのは全モジュール共通)とくにそこのListViewData.phpがデータ読み込み口です。

 一方、検索に関しては、Sugarのフォルダ/include/SerchFormフォルダの下の、SearchForm.phpが実行します。generateSearchWhereでwhere句を作ってます。そことSearchFields.phpを見比べてもらうと、SearchFields.phpの書き方が分かります。




■詳細画面、編集画面
  詳細画面は、
    DetailView.php
    DetailView.html
  編集画面は、
    EditView.php
    EditView.html
PHPのほうで、処理して値を作り、htmlのほうで表示する仕組みになっています。
既存のソースを見れば、やり方はわかると思います。




ってなかんじです。次回はそれ以外のモノについて、見ていきます。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

東京大学情報科学科のC言語入門の話、意図的に難しく書いてない?。。。

2008-01-28 13:50:06 | Weblog

ここ
C言語入門、東京大学情報科学科の場合
http://slashdot.jp/articles/08/01/25/0318220.shtml

によると(以下斜体は上記サイトより引用)


東京大学理学部情報科学科の学部2年生向けのアルゴリズムとデータ構造演習内でのC言語入門なのだが、 C入門第1回では、シェルを実装、データを圧縮・解凍するプログラムを実装、スパムフィルタを実装というお題目が並んでいる。


って、意図的に、難しそうに書いていない?

実際には

C入門第1回
http://hagi.is.s.u-tokyo.ac.jp/ade/pre/1.html


 PDFの資料3ページをみると、オプション課題+advancedコース選抜課題を提出したすべての学生が、advancedコースの受講を認めるになっていません?それも、「すべての学生」と書いておきながら計3人(^^;)(つまり、3人以上、全課題を提出できないだろうってこと?)

その「advancedコース選抜課題」を見てみましょう(以下斜体は上記PDF26ページより引用)


【付録】「C入門」advanced 選抜課題

以下の条件を満たす2分木を実装してください
* 文字列を格納できること
- 入力方法は任意
- 格納される文字列の最大長を仮定してはいけない
* 削除機能を持つこと
* 格納されているデータをアルファベット順にソートして表示する機能を持つこと
- もちろん木のノードを通りがけ順に読み出せば自動的にソートされ
ているはずである
* ファイルにセーブする機能を持つこと
- ファイルの構造は任意
- 内容のみでなく構造も保存すること
- 保存したファイルを読み込んで木を再構成する機能を持つこと
* C言語で書くこと(C++は禁止)


あ、これいいな。。今度使わせてもらおうかな。演習問題に(^^;)
これなら、企業なんかでも普通にC言語の演習問題だと思う。




で、その上で、advanced課題になるんだけど、そこに出ている


課題1-A:シェルを実装せよ。


は、おもしろそうですな。

下の参考書に、このヒントがあるのかなと思い、今日、じゅんくどう(池袋)で、そこに出ている詳解UNIXプログラミング 新装版をみたら、なんか、ジョブ制御とかシグナル部分があって、きょうみしんしん(これがヒントっぽいね ^^;)。
 ふつうのLinuxプログラミングも、まだ見てないけど、おもしろいのかしら。。。

 ちなみに、どーいう人がこういう問題をやるのか?という質問がスラッシュドットにあったけど、多分、大学院進学希望者だとおもいます。
 今、ここまでやっておけば、3年で、形式言語、自然言語を一通りやって、4年でコンパイラの実装なり、自然言語処理なりを卒論で選べば、まあ、ひととおり、その分野に関しては、できるからじゃないかな。

 実務では、ウィリアムのいたずらの経験からだと、「advanced 選抜課題」が解ければ十分だと思います。
 (ワーカーさんでも、B問題は解けないとまずいぞ ^^;)




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする