text/plain

CGI

"Content-type: text/plain"にすると、プレーンテキストで解釈される。MIME タイプ (IANA メディアタイプ) - HTTP | MDNcontent_type.cを、にすると、 確かにHTMLとしては解釈されず、プレーンテキストとして解釈される。Sample/cgi/Content-type/text_plain…

text/html

CGI

"Content-type: text/html"にしておけば、HTMLとして解釈される。MIME タイプ (IANA メディアタイプ) - HTTP | MDNcontent_type.cを、とすると、 HTMLのリンクになってるHTMLのリンクになってる。 リンククリックでここに飛ぶしリンククリックでここに飛ぶし…

Content-type

CGI

ここからは、CGIについて扱っていく。 HTTPヘッダの"Content-Type"を付けるには、CGIプログラムにもそれを書かないといけない。 (大文字小文字を区別しないので、"Content-Type"でも"Content-type"でもいいけど、"Content-type"と書く人が多いなあ・・・。)C…

POST

HTTPメソッドのPOSTを使って、サーバにデータを送信する。POST - HTTP | MDNとはいえ、サーバは送られたリクエストをどう処理するか、Apacheでデフォルトの処理みたいなのは決められていない(それらの処理はCGIなどを作って自分で処理する。)ので、今回はロ…

GET

HTTPメソッドのGETで、サーバからページを取得する。GET - HTTP | MDN HTTPクライアントの作成(TCPクライアントサンプル):Geekなぺーじ今度は簡単なHTTPクライアントを作成し、bgstation0.comのApacheを相手にindex.htmlを取得する。GETの後に、取得するペ…

HTTP 200 OK

リクエストが成功した時は、HTTPサーバはHTTP 200 OKを返す。200 OK - HTTP | MDN /* 書き込み */ strcpy(send_buf, "HTTP/1.0 404 Not Found\r\n"); /* send_bufに"HTTP/1.0 400 Not Found\r\n"をコピー. */ strcat(send_buf, "Content-Length: 120\r\n"); …

HTTP 404 Not Found

リクエストされたリソースが見つからない時、HTTPサーバはHTTP 404 Not Foundを返す。404 Not Found - HTTP | MDN /* 書き込み */ strcpy(send_buf, "HTTP/1.0 404 Not Found\r\n"); /* send_bufに"HTTP/1.0 404 Not Found\r\n"をコピー. */ send(acc, send_…

Content-Type

Content-Typeにコンテンツ形式を指定する。Content-Type - HTTP | MDNhttp_server.cで、 /* 書き込み */ strcpy(send_buf, "HTTP/1.0 200 OK\r\n"); /* send_bufに"HTTP/1.0 200 OK\r\n"をコピー. */ strcat(send_buf, "Content-Length: 144\r\n"); /* send_…

Content-Length

通常はHTTPレスポンスヘッダのContent-LengthにHTTPレスポンスボディの長さ(バイト数)を指定する。Content-Length - HTTP | MDNhttp_server.cで、"ABCDE"をボディとするので、Content-Lengthは5。 ヘッダとボディの間には空行を入れる。 "ABCDE"が表示される…

HTTPステータスコード

以前から"ネットワーク"カテゴリをやろうと思ってたが、プロトコル個別の方が良いかなとおもって、"HTTP"カテゴリにした。 まずはHTTPステータスコードだけを返すサーバを作ってみた。HTTP | MDN HTTP レスポンスステータスコード - HTTP | MDNhttp_server.c…

strcoll

strcollは、ロケールのLC_COLLATEに従って文字列の順序を判定(そのロケールの辞書順)する。Man page of STRCOLL strcoll - cppreference.comロケールによっては、アルファベット順ではない場合があるらしい。 strcoll.cで、チェコ語では、"ch"よりも"h"が前…

strtol

strtolは、文字列を指定された基数で変換(n進数の文字列だと解釈)する。Man page of STRTOL strtol, strtoll - cppreference.comstrtol.cで、与えられた文字列を0, 2, 8, 10, 16を基数として変換。 $ vi strtol.c $ gcc strtol.c -o strtol $ ./strtol str: …

atof

atofは、実数の文字列を倍精度浮動小数点数値型に変換する。Man page of ATOFatof.cで、入力文字列がどうなるか試してみる。 $ vi atof.c $ gcc atof.c -o atof $ ./atof str: 1 d = 1.000000 $ ./atof str: 1.23 d = 1.230000 $ ./atof str: -4.56 d = -4.5…

ispunct

ispunctは、句読点文字かどうかをチェックする。ispunct(3) manページ句読点文字というのは区切り文字の事だが、実態としては英数字を除いた表示可能文字、つまり記号であり、スペースは含まれない。いろいろな文字で試してみる。 $ vi ispunct.c $ gcc ispu…

isprint

isprintは、スペースを含む表示文字かどうかをチェックする。isgraph(3): char classification routines - Linux man pageこれで、a、b、c、1、スペース、タブ、改行、Ctrl+A、をチェックする。 $ vi isprint.c $ gcc isprint.c -o isprint $ ./isprint a 61…

menu

これまで、コンテンツのメニューとか、ulタグとliタグでやっていたけど、もともとmenuタグというのがあるらしい。<menu> - メニュー - とほほのWWW入門ulじゃなくてmenuでliを囲む。こうする。 見た目は変わってないように見える見た目は変わってないように見える</menu>…

div#style

テキストに色を付けたいが、body#textだと全体的に同じ色になるので、divごとに細かなスタイル指定をする。<div> - ブロック要素 - とほほのWWW入門スタイル指定はいろいろ方法があるけど、divタグなどのタグに直接書く場合はstyle属性。divごとにstyle="color:~</div>…

div#align

align属性でブロックを右に寄せたり中央に寄せたり左に寄せたりする。<div> - ブロック要素 - とほほのWWW入門div.htmlを、こう書く。 1つ目は右寄せ、2つ目は中央寄せ、3つ目は左寄せ。 こうなるこうなる。Sample/div.html at master · bg1bgst333/Sample · GitH</div>…

li

箇条書きのアイテムはliタグで囲む。<li> - リストアイテム - とほほのWWW入門前回のulのアイテムを3つに増やす。と書くと、 アイテムが3つになる。アイテムが3つになる。Sample/html/li/li/src/li at master · bg1bgst333/Sample · GitHub</li>

ul

ulタグは順序の無いリストを表現する。<ul> - 順序無しリスト - とほほのWWW入門中黒点みたいなので箇条書きの形式。と書くと、 こうなるこうなる。Sample/html/ul/ul/src/ul at master · bg1bgst333/Sample · GitHub</ul>

meta

metaタグは、いろいろなメタ情報を付加する。<meta> - メタ - とほほのWWW入門よく見かけるのは、Content-typeとcharsetの部分。 <html> <head> <title>meta</title> </head> <body> あいうえお </body> </html> まず、これを、 UTF-8で保存UTF-8で保存。 当然、文字化けはせず、表示できる。当然、文字化けはせず、表示で</meta>…

div

divタグは、文章をブロック要素としてまとめる。<div> - ブロック要素 - とほほのWWW入門 <DIV>^OÆ<P>^Opタグとの違いがちょっと難しい。こう書いた時、 1行分空かない表面的には、1行分空かないぐらいの違いしかない。 他にも違いはいろいろあるのだが、なんともわかりに</p></div></div>…

p

pタグは段落を表す。<p> - 段落 - とほほのWWW入門1つの<p>~</p>で1行を表すような感じ。とすると、 こうなるこうなる。 <p>~</p>と<p>~</p>の間は1行分空いている。 基本的に改行だけなら空白に置き換わるので、表示時には改行されずに半角1文字空く。 (ただ、1行で表示しきれな</p>…

img

imgタグで画像を表示する。<img> - イメージ - とほほのWWW入門あらかじめ画像image1.pngを用意しておいて、こう書いて、 $ vi img.html $ cat img.html <html> <head> <title>img</title> </head> <body> <img src="image1.png" /> </body> </html> $ ls image1.png img.html $ cp img.html image1.png /var/www/html/ $/var/www/htmlに配置。 表…

a

aタグでハイパーリンクを張る。<a> - リンクする - とほほのWWW入門href属性にURL、タグの中の値はリンクとなるテキスト。こう書くと、 このように表示されて、マウスオーバーでリンク先もわかる。このように表示されて、マウスオーバーでリンク先もわかる。 リ</a>…

DOCTYPE

は、正式にはHTMLタグではないらしい。 ドキュメントタイプ宣言というもので、HTMLのバージョンを表している。 - ドキュメントタイプ - とほほのWWW入門まず、 $ vi DOCTYPE.html $ cat DOCTYPE.html <html> <head> <title>!DOCTYPE</title> </head> <body> !DOCTYPE </body> </html> $ 何も付けない。 IE11の開発者…

RecyclerView.Adapter

RecyclerViewで、リスト表示して、スクロール連携するには、ViewHolderとAdapterが必要。RecyclerView.Adapter | Android Developers Androidのマテリアルデザイン ~リサイクラービュー~ (3/3):CodeZine(コードジン)まず、ViewHolder。RecyclerView.Vie…

RecyclerView

RecyclerViewは、Toolbarのスクロール連動など、マテリアルな動きに対応した、リストビューに代わるビュー。RecyclerView | Android Developers Androidのマテリアルデザイン ~リサイクラービュー~ (1/3):CodeZine(コードジン)strings.xmlは、あのlong…

ViewHolder

前回のように、文字列などデータをセットするViewの参照をあらかじめ保持しておきたい場合で、1アイテムに複数のビューの場合は、ViewHolderを使う。【Android】ViewHolderパターンの使い方|IT小人の前進ViewHolderというクラスが定義されてるわけじゃなくて…

View.getTag

View.getTagで、ビューにセットしておいたタグを取得する。View | Android Developers今回はListViewの中で使う。 list_item.xmlで、LinearLayoutの中にTextViewというアイテム。 activity_main.xmlは、ListView。 CustomAdapter.javaで、 package com.bgsta…