違うどう書く?ネタ2007/12/22毎度楽しみにどう書く?orgを読ませてもらっているんですけれど,お題が微妙に数学系に偏っているもんで,参加者層に偏りがあるのかなぁ......と,つらつら思いました。実際のところ「ほげほげ数を求めよ」みたいなお題は,よほど特殊な環境にでもいない限り,趣味でもやっている人は少ないんじゃないかと思うんですけど......そうでもないのかな。当たり前ですけど,一言でプログラミングと言っても,その内容は多岐に亘ります。あたしゃどちらかというと,システムプログラミング(ほげほげ管理システムとかを作る)や組み込みに興味があるので,数学ネタは純粋に他人事だったりして。そのものは好きなんですけどね。システムプログラミングでいうと,次のようなお題が思い浮かびます。ある画面は権限がないと閲覧できません。あるボタンを押すには権限が必要です。ある権限の人はそれよりも下位の権限を持つ人に対して,自分と同レベルを限度とする権限を委譲することができます(代理権のようなもの)。権限の内容は削除されたり追加されたりすることがあります。このような権限関係を効率的に管理する方法と実装を考えてください。あるオブジェクトは状態によって振る舞いが変わります。状態によるオブジェクトの振る舞いを効率的に管理する方法と実装を考えてください。作成中の時は削除することができるけれど,承認待ち以降は削除できません。承認待ちの発注が否認されると,作成中の状態に戻ります。受入れするまでは,打ち切ることができます。打ち切りには上長の承認が必要です。検収で不合格が出た場合は,不合格分についてのみ発注依頼中の状態に戻り,合格した分は受入れ済みになります。発注依頼中に遷移する際に発注依頼番号が発番され注文書が発券されます。検収時に不合格が出て発注依頼の状態になった場合は,発注依頼番号が新規に発番されます......云々。効率的に再生産する方法と実装を考えてください。ウェブアプリケーション上の排他制御について,画面レベルの排他制御,操作レベル(ボタンを押すなど)の排他制御,操作後処理中の排他制御などに場合を分けて,それぞれ効率的に管理する方法と実装を考えてください。どれも基本的な機能ですけれど,書き方はいろいろあったりします。いうのも,ノウ・ハウの蓄積がないまま,その場その場でいちいち考えているような気がします。いうのを扱っているサイトってないのかなぁ......。