ページのレイアウト変更でパーツの追加をやろうとしたら
エラーが出て変更出来ない・・・
awerr005

治るまで、レイアウト変更はおあずけかな?
現在、Windowsのツール系アプリを作っていますが進捗率はだいたい8割ぐらいです。
このアプリは2つのプログラムから構成されていて、1つは設定用ツール、
もう1つは設定情報に従って処理を行うプログラムです。
動作環境は使っている人がいるかわからないWindows2000以降を想定しています。

完成後はしばらくデバッグを行い、よさそうならばマニュアルを作成します。
マニュアルはヘルプにするかPDFにするか迷いましたが、PDFにしようと思っています。
(印刷もページが綺麗にできるしw)

どういったアプリかは公開した時に書きますが、
このアプリの特性上、個人などの家庭では需要がある人は少ないかもしれません。
会社や組織でLANを構築している環境があれば多少は役に立つケースがあるのではないかと思います。

今はフリーで優秀なソフトウェアがたくさんありますが、
ここではそういうので探してもなさそうなものを作っていこうと思います。
有名なソフトの作者にはスキルも敵うわけがありませんからねw
(少しでも近づけるように努力はするけどw)
プログラミングを勉強して自分でも何か作ってみたい!
と思っている人もいると思います。

プログラムを作るにはプログラミング言語を勉強しなければなりませんが、
まず何をしますか?
勉強しようと思う言語の基礎からだと思います。

プログラミングは言語にもよりますがネットがあれば
わざわざ入門書なんかを買う必要がないくらい沢山入門サイトがあります。
ただ、入門書は本があるといいかもしれません。
アマゾンなんかで探して評価が良い物を選ぶといいかと思います。
(でも技術書って高いんですよねぇ・・・)

そして、一通り入門書が終わったら(読み終えた、理解してしまった どちらでもいい)
その言語を使って自分が「あったらいいな」と
思うプログラムを実際に自分で作ってみると良いです。
いきなり大掛かりなモノを作るのは絶対に挫折するので
簡単なモノでいいと思います。
「あったらいいな」が無理ならば「こういうのがあれば便利だな」と思う物、
それも難しそうならば数字を入力して計算結果を出力するだけのような
シンプルなものでいいです。
例えるなら「オームの法則」なんかどうでしょう?

抵抗(Ω) = 電圧(V) ÷ 電流(A)

上の公式をプログラムで計算させるんです。

電圧[      ]V
電流[      ]A
   【計算】
抵抗:      Ω

みたいな感じで、電圧と電流を入力させて【計算】ボタンを押すと
抵抗(Ω)が出る、ようなものです。

最初はそういったものを作って色々と弄り倒していけば自然に身についていきます。

ただ、言語もいっぱいあるのでどれを使えばいいかわかりませんね。

どのプラットフォームをターゲットにするかで変わってくると思いますが
こんな感じで言語や開発環境を選ぶといいんじゃないでしょうか?

Windowsアプリ → Visual C#
静的なWebサイト → HTML、CSS
Webアプリ(Webサービス等) → PHP、Javascript
Androidアプリ → Java
iOSアプリ → Objective-C

あと、C言語は覚えておいて損はないです。
ポインタの概念を理解していると他の言語の理解に大いに役立ちます。

HTMLやCSS(スタイルシート)は天草Webの駅のページ外観を変更するのにも使います。
これらはプログラミング言語ではないのでPCを使える人であれば1週間ぐらいで
ある程度は使いこなせるようになると思いますので、興味がある人は
覚えておいて損はないです。
CGIって聞いたことありますかね?
最近ではこの仕組みを使わずにWebサーバーのモジュールとして実行する方式が
流行ってますよね?たぶん。
Webプログラマーなら知らないと始まらないPHPなんかがそうですね。
(PHPをCGIとして動作させている風変わりな珍しいサーバーも中にはあるようですが)

さて、このCGIですがCommon Gateway Interfaceのそれぞれの頭文字を取っています。
いやだから頭文字の意味を解説したから何?と、毎回思いますがお決まりなので・・・

ざっくりとCGIについて説明すると
Webサーバーから外部のプログラムを実行して結果を受け取る仕組みです。

ざっくり過ぎてわからん!
例えば"Amakusa"と出力するだけのプログラムがあったとします。
このプログラムを起動すると「Amakusa」と表示されますが
Webサーバー側で起動すると「Amakusa」という出力結果をWebサーバーが受け取り
その結果をブラウザに返します。
ブラウザでは何と表示されるでしょう?

500 Internal Server Error

おい。

なぜエラーになるのかというと、HTTPのヘッダーを出力してないからです。
なのでこのように出力するプログラムを書くといいはずです。
Content-type: text/html

Amakusa
1行空いてますね、これは決まりごとです。
これでブラウザに「Amakusa」と表示されます。

さて、Webサーバーにこのプログラムを実行して!と命令するにはどうすればいいんでしょうか?
簡単です。そのプログラムのURLにブラウザでアクセスするだけです。
http://abcdefg.aaa.jp/xxxx.cgi
のような感じで、この例だとxxxx.cgiがプログラムになります。
CGIの場合は拡張子が主に「cgi」となっている場合が多いです。

このCGIですが、標準入出力ができるプログラミング言語なら何でも作れます。
テキスト処理が多いCGIプログラムではテキスト処理に優れたPerlというスクリプト言語が
多く使われてますが、C言語でもC++でもPHPでも、Linuxなんかのシェルスクリプトでも可能です。

標準入出力について長くなりそうなのでここでは説明しませんw

早い話、CGIプログラムは実行結果をHTTPヘッダーとHTMLで出力してそれを
Webサーバーを経由してブラウザに表示させているだけなんです。

では、CGIでない場合はどうでしょうか?
Webサーバーのモジュールとして実行されるので新しいプロセスを作る必要がないので
起動が早いです。
PHPがこの方式が多いのでPHPの方がPerlより速い!と言ってる人もいますが、
PHPが速いんじゃなくて、動作方式の違いによる差です。
PHPもPerlと同じCGIモードで動かす(またはmod_perlを使うか)と、
たいした速度差なんてないんじゃないの?と思います。

一昔前はCGIと言えばPerlというぐらいPerlがメジャーになってましたが、
今ではPHPの勢いが強そうですね。

私もPerlとPHPを使ってちょっとしたサイトを作った事がありますが、PHPはかなり楽です。
そもそも、Perlと違いWeb用に作られているから当然なんでしょうけど・・・
また、プログラミングの中でも難易度がそんなに高くなく、ホームページが作れるようになって来た
という人も結構とっつきやすいのではないでしょうか。

PerlなんかでCGIプログラムを作成する場合はフォームデータのエンコードやデコードについても
勉強が必要になってきます。(CGI用のモジュールがあるので楽なんですかね?)

なのでWeb技術でサーバーサイドのプログラムを組みたい場合はPHPを勉強するのがオススメです。

本業がプログラマーでない、Web技術素人の日曜プログラマーがエラソーな事書きましたが、
盛大な間違いがあるかもしれませんので気をつけてくださいねw
ひさしぶりの更新です。
今年も初回からPC関連で突っ走りますんでよろしくお願いします。

タイトルにあるサーバーとクライアントについてです。
結構前からサーバーなんかは耳にしていたかと思います。
ビアガーデンとかに行けばありますね。

あれはビールサーバーですが、コンピューターのサーバーもあんな感じです。
クライアントはビールを持ってビールサーバーに並ぶ人でしょうか。

コンピューターで言うサーバーは何らかのサービス(処理)をクライアントのコンピューターの
要求に応じて特定の処理を行い、結果を返すものです。
サーバーは目的に応じて色々とありますが、基本的にスペックが高いものが多いでしょう。
ただし、自分のように個人的に使うだけのようなものは
10年ぐらい前のデスクトップPCでも十分に使えます。

サーバーを設置してある企業や団体ではサーバーラックがあり、
そこにいくつもサーバーを設置してあったります。
また、稼働率を高めるために冗長構成になっているものが多いです。
もちろん、空調に気をつけないと多くのサーバーの熱によってサーバー室の温度が上がり、
サーバーが熱暴走したり、機器の寿命を縮めたりする原因になります。

さて、サーバーはクライアントから要求があったら処理を行い、結果をクライアントに返すと書きましたが
「処理って一体なんね?」と思うかもしれません。

その「処理」ですが、サーバーの種類により様々です。
ここでは身近な(?)Webサーバーを例にあげます。

WebサーバーにはWebサーバーのプログラム(ソフトウェア)がインストールされていて、
Webサービスを提供する機能があります。
Webサーバーのソフトウェアで有名なのがオープンソースのApacheや、MicrosoftのIISなんかがあります。

ではクライアントは何でしょうか?
この端末ですよ。
そう、あなたがここを見るのに使ってる端末です!
PCなのかAndroid端末なのかiOS端末なのかは人それぞれですね。
もっと言うと、クライアントにもWebサービスを受けるためのソフトウェアがあります。
言うならば「Webクライアント」でしょうか。それがブラウザです。
InternetExplorerなのか、Firefoxなのか、Chromeなのか、SafariなのかOperaなのか知りませんが
インターネットを閲覧するソフトウェアを「Webブラウザ」と言います。
Webのお仕事で食べてる人にはUserAgent(ユーザーエージェント)と言っても通じると思います。
(ちなみに私はWeb専門外なので通じませんw)

さて、ではブラウザはどのような処理を要求してサーバーはどのような処理をして結果を返すのでしょうか?
わかり易く天草弁で書きます。
PC操作者「○○のHPば見っぞ!」 ・・・ッターン!
ブラウザ「おーい!あんたがえんそこんにきにある○○っていうファイルば見せっくれな。」
サーバー「これや?よかぞ、ほれ」
ブラウザ「来た来た!ならこればPCん前にうっ座っとるしーに見やすかごつしてみせようかね」
PC操作者「よよんこて出てきた。」
こんな感じです。

もう少し実際の処理に近くして例えます。
PC操作者「http://○○.jpを見るか
ブラウザ「○○.jpさん、あなたのWeb公開フォルダのindex.htmlを見せてください」
サーバー「いいですよ、index.htmlを送ります」
ブラウザ「受け取りました。レンダリングして表示します。」
PC操作者「やっと出てきた」
どうですか?
実際はHTTPというプロトコルでやり取りしていますが、人間の言葉で書くと
このようなやり取りを行っています。

また、こういう場合もあります。
ブラウザ「おーい!あんたがえんそこんにきにある○○っていうファイルば見せっくれな。」
サーバー「は?そぎゃんたなか!!」 → 404 Not found
ブラウザ「なんて?なかとや?なかってぞ!!」
指定したファイルが見つからない場合ですね。

他にも、、、
ブラウザ「おーい!あんたがえんそこんフォルダん中(ファイル)ば見せっくれな」
サーバー「つまらん!こりゃ見せられん!!」 → 403 Forbidden
ブラウザ「なんやケチ。見せられんとってぞ。」
等があります。

また、CGIなどのサーバーサイドのプログラムではCGIの出力した結果を返すようになっています。
その場合、こういう事もあり得ます。
ブラウザ「おーい!あんたがえんそこんにきにある○○っていうとばいごかして結果ばゆっかせてくれな
サーバー「こんプログラムはおかしか!!結果の出せん!!」 → 500 Internal Server Error
ブラウザ「なんやおろいかプログラムな。」
ですね。

他には(しつこいw)
ブラウザ「おーい!あんたがえんそこんにきにある○○っていうファイルば見せっくれな。
サーバー「ちょっとまて!今せしきゃーさな!後にしてくれんか!」 → 503 Service Unavailable
ブラウザ「しょんなかな」
まぁ、他にも色々とありますが、キリがないのでこの辺にしときますねw

今回は大雑把なサーバーとクライアントの役割をHTTPで例えて書いてみました。
別の機会に、Webの通信なんかについてちょっとだけ掘り下げて書いていこうと思います。
前へ  9 10 11 12 13 14 15 16 17 18  次へ ]      97件中 61-65件