Show all from recent

1. サーバーのチップ(803view/20res) 고민 / 상담 어제 21:54
2. ドジャーズのチケット(3kview/43res) 스포츠 어제 18:48
3. 日本への送金 $250,000(390view/3res) 고민 / 상담 어제 17:54
4. 独り言Plus(283kview/3677res) 프리토크 어제 08:53
5. モービルHome(1kview/52res) 거주 2024/10/28 22:33
6. アボカドの保存方法(83view/1res) 음식 2024/10/28 21:37
7. 高齢者の方集まりましょう!!(231kview/850res) 프리토크 2024/10/25 21:35
8. 帰国後の小切手の換金について(370view/21res) 고민 / 상담 2024/10/25 13:01
9. ソーシャルワーカー(social worker)(160view/2res) 생활 2024/10/24 18:03
10. Palos Verdes パロスバーデスに住みたい(941view/26res) 거주 2024/10/22 08:31
Topic

プログラミング

프리토크
#1
  • ボールペン
  • mail
  • 2004/05/15 16:11

今プログラミングに興味をもっている方々。ここで、プログラミングについての技術などを話しませんか?専門的なことでもいいですし、簡単ななぞやわからないことなどなど。です。

#6

渡米前は日本の会社でSEをやってました。主にVC++やそれに似た言語で組んでました。
具体例を出してしまうと迷惑をかけてしまうんで、もし詳しく知りたいのであればメールください。
例えばショッピングサイトを作るとしましょう。その会社ではデータベースで商品の管理をしてます。お客さんはブラウザを使って商品を検索したりオーダーします。
プログラムの核になるのは商品管理データベースです。
このシステムは大きく分けて、(1)データ管理部、(2)HUI(HumanUserInterface)部、(3)ネットワーク部でつくります。
(1)データ管理部は、複数のお客さんのPCからくる更新・閲覧の要求を順序だてて処理します。関連する計算もするし、PCからの要求を制限したり拒否したりもします。普通はデータベース・サーバ上で動作します。ホストプログラムともいいます。
(2)ネットワーク部はネットワークカードの管理はもちろん、PC〜データベース間の要求のやり取り方式(こまんどフォーマット)やプロトコル管理なんかをします。これは直接お客さんにデータベースをいじらせないために、そしてデータベースの情報は分かりにくいので、お客さんの言葉に近くなるよう仲介をします。
(3)HUIは皆さんにおなじみのパソコン画面を見ながら、TEXT BOXに文字を入力したり、欲しい条件にあった情報を表示してあげたりします。クライアントプログラムともいいます。
このときHUIの処理自体は人間の代わりにネットワーク部をつかってデータ管理部にアクセスするだけです。
誤解されやすいですが、HUI自体がデータベースの更新等をするわけではありません。データの処理をデータ管理部ににお願いするだけです。だって、もし各PCでそういう処理をするように作ったらデータの処理内容を外部にもらしてしまいますから。ついでにデータベースの変更があったとき、全てのプログラムの変更すべき場所を探し出し、プログラムを作り直さないといけないからです。まぁ余談ですが。
とまぁ、分かりにくいかもしれませんが、プログラムのほとんどは、データベース&データ処理部、HUI(GUI)、ネットワーク(メッセージング)に分割して作っていきます。お客さんとはデータをどうやって管理するか、お客さん用の端末をどうやって見せるか、を話し合います。そしてそれらを実現するにはどういう処理をしてあげなくてはいけないかを大きなコンセプトから徐々に細かく分割して、最後にみんがが授業でやったような、Input&Outputでお互いをつなげあっていくプログラムを作っていきます。
これって、Windowsとかで動く単体のプログラムでも同じコンセプトです。
例えばWindowsMediaPlayerで動画を見るとします。データファイルの読み取りをするデータ部、それをデコードしてImage情報としてHUIに渡してあげるデータ処理部、表示はもちろん、早送り・一時停止などの操作をユーザに提供するHUI部、各種Window達とそのホストプロセスを仲介するメッセージング部といった具合に作っていきます。
モノにもよるけど、普通はプログラムの設計、プログラミング、テストの3段階で進み、それぞれ同じくらい時間がかかります。
特にプロとアマの違いはテストでしょう。プログラマにとって一番つまらない工程だけど、これを十分にできない会社(Micro$oft?)は後でユーザからものすごいブーイングにあいます。契約しだいでは損害賠償ものです。
チョコばななさんの言うとおり、仕事を始めてからのほうが上達します。そして常に仲間と情報交換したり、プログラマのフォーラムサイトなどで勉強したりします。これ以上書くとますます混乱させるだけなので失礼します。

#8

自分も興味があって勉強中なんですがなかなか苦労してます。できればオフ会やりませんか?

#9
  • Scottc
  • 2004/05/16 (Sun) 20:18
  • Report

正直、私もいろいろ苦労しました。老婆心ながら一言。「分からないことがあったら適当に見切りをつけて人に聞こう」が鉄則だと思います。
”バリバリ”コーディングできるようになってしまうと、「なんであんなことに・・・」って笑っちゃうことも、たった一つの構文ミスで全く動かないのがコンピュータの世界。とくに自分の得意分野以外は、どんなプロでも素人同様、さっぱり分からないのが事実です。
プログラムに挑もうとしている皆さんは、恐れずに恥ずかしがらずに、隣の人や先生、フォーラムサイトにすがりつきましょ。
「自分の環境はこれで、"何"がやりたい。"ここ"までは分かる。」ってのを伝えると、エンジニア系の人ってうるさいくらいに教えてくれたりします。

#10

確かに自分の分野以外はとぼしくなりがちですよね。まあ、それはそうと今からはじめられるかたがたに、http://www.crew.sfc.keio.ac.jp/lecture/mmb2000/JavaLectures/top_page/flamebase.htmlこのサイトなどで勉強するのもいいかもしれません。いちからできていいかもです。

#11
  • piroです
  • 2004/05/17 (Mon) 11:00
  • Report

>scottcさん
SEをなさっていたとのことですが、著作権などの処理はどうなさっていたのでしょうか。
私自身、ソフトを作って売る仕事ではないのですがもしそうなった場合、オープンソースした場合もしくはしない場合の著作権侵害に当たらないようにするには、どうされていましたでしょうか。

Posting period for “ プログラミング ”  has been closed.
Please create new topic to continue the same topic.