コンピュータって意外とおバカ? 女子大生、「HTML」の仕組みを「桃太郎」で理解する
文系女子大生的にはそう感じるようです。
前回までのおさらい
「ホームページ」というものをほとんど見たことがなかった女子大生。前回はホームページを作る上での基本的な考え方や「HTML」「CSS」という言語があることを学びました。
今回はいよいよ実際にその言語を使ってのホームページ作りに着手します。果たして文系女子大生はプログラミング言語の「わけのわからない英語の羅列」に耐えられるのか!?
中山彩歌
IT企業で働く父を持つ大学1年生。ねとらぼ連載「女子高生、『はじめてのパソコン』を買う」でITリテラシーがあんまり高くないことが判明し、おとぼけ回答を連発。その実績(?)を買われて今回の生徒役に抜擢された。もちろんプログラミングの知識はゼロ。
舘勇紀
大手電機メーカーでキャリアを培い、現在はフリーランスのエンジニアとして活躍。Webアプリの開発などを行うほか、プログラミングのオンラインレッスン「CodeCamp」の講師も務める。二児の父で初心者にもていねいに伝えるレッスンに定評がある。
Webサーバーを「昔のパソコン」と理解していた女子大生
今回からはいよいよ「HTML」「CSS」というホームページを作るのに必要な言語に、実際に触れてもらいます!
できる気がしない……。
そんなに緊張しなくても大丈夫ですよ(笑)。まずその前にWebの仕組みから理解してもらおうと思います。
よかったー!お願いします!
これが、いわゆるWebサーバーです。
さーばぁー?(ってなんだっけ……?)そんな形しているんですか?
これ、分かりやすく説明すると、大きなデスクトップパソコンです。
えっと、昔のパソコンですか? なんか足元に置いてあって、電源をつけるやつ。
そうです! 「デスクトップ=昔のパソコン」っていうイメージなんですね。ジェネレーションギャップを感じるなぁ(笑)。
「サーバー」ってデカいパソコンのことだったのかぁ。
ただ、形が違うだけで、中に入っているものは、今のノートパソコンとなんら変わりはありません。
でも、今のノートパソコンの方が処理は速いですよね、そのデカイやつより。
最近のノートパソコン性能いいからなあ。でも一般的には同じ値段だったらデスクトップ……デカいパソコンのほうが性能はいいですよ。
へーー、すげえなデカいやつ!
リンクを押した瞬間に何が起きているか
で、このWebサーバーっていうものがあちこちにあってそこにHTMLがしまってあるんです。それぞれのホームページはアドレス、インターネット上の住所が決まってます。例えばYahoo!を見たいと思ったらまず「https://」と打ち込んで……
ん? アドレスなんて打ち込まないで、普通に「Yahoo!」って検索してますよ?
あ、今はそうですよね。昔はインターネットの雑誌とかを買ってきて見たいホームページのURLを手で打ち込んでたりしたんですよ。
めんどくさいな〜。
面倒でしたが、昔はそれが普通だったので(汗)。まあそれで、Yahoo!と検索したら、検索結果の一番上には「Yahoo!Japan」のリンクが出てくるはず。で、リンクを押したら、Yahoo!のページに飛んでいきますよね。
そうですね。
クリックした瞬間、何が起こっているかわかりますか?
そりゃ、リンク先に飛ぶんじゃないんですか?
そうですね。これはブラウザからWebサーバーに対して、「HTMLをください」とリクエストを送っているんです。
なるほど、わかりません!
おっと(笑)。つまりですね、Webサーバーに「Yahoo!」っていう1冊の本が置いてあるとします。で、彩歌さんの使っているSafariブラウザが「その本を読みたいです」って注文をするとWebサーバーさんが「どうぞー」って届けてくれて読めるようになるわけです。
クリックした瞬間の、ほんの数秒でそんなことが起きていたんですか!
電気的信号が数秒で通るので、Safariに限らずブラウザがホームページを読むのは全部この仕組みで行われていますよ。
1秒あるかないか程度なのにすごいなー。
今回は彩歌さんのために、お試しで使えるWebサーバーを用意してあります。そこに「彩歌さんのホームページ」という本を置くことになるのでその本、つまりHTMLのプログラムを書いてもらおうと思います。
ついに来た……。文系女子の私でもできますか?
複雑なプログラムは書かないので、肩の力抜いて大丈夫ですよ(笑)。
HTMLは「桃太郎」で例えると理解できる
ホームページを作るために使うのが「HTML」と「CSS」という言語です。
あのー……HTMLとCSSって何が違うんですか?
そこ、気になりますよね!
前回も少し説明しましたが、HTMLは、「Hyper Text Markup Language(ハイパーテキストマークアップランゲージ)」の略で、テキストは文章ですよね。それに、ハイパーが付いているので、響き的にすごそうなイメージじゃないですか。
確かに「ハイパー」ってすごそう。
で、マークアップっていうのは、「印をつける」というイメージです。
つまり、「なんかよく分からないハイパーですごい文章に印をつける言語」って理解で大丈夫ですか?
それで大丈夫(笑)。言語とは言うものの、「マークアップ言語」なので、厳密にはプログラミング言語ではないんです。
CSSもプログラミング言語ではないんでしたっけ?
そうですね。ただ、そのぶん誰でもとっつきやすくて、学びやすい言語なので、最初に学ぶのであればこの二つを勧めています。
ハードル低いんですね。なら、私にもできそう……?
HTMLの仕組みを言葉で表すなら「文章構造」です。
文章構造?
では、ここで彩歌さんに質問! 「桃太郎」のストーリーを軽く紹介してもらえますか?
桃太郎ですか? 唐突だなぁ……。昔々、あるところにおじいさんとおばあさんがいました。おじいさんは山に芝刈りに行って、おばあさんは川へ洗濯に……
これは、文章構造が全くないテキストなんです。文字だけが並んでいる。
んん? 確かに文字ですね?
人間は「桃太郎」と「昔々〜」って文章が書いてあったら「桃太郎」がタイトルで「昔々〜」が本文だってすぐわかりますよね?
わかります。
じゃあコンピュータはそれがわかると思いますか?
えっ、わからないんですか!?
そうなんです! だから「ここがタイトルだよ」「ここが本文だよ」っていうのを教えてあげないといけない。それが文章構造をつける、つまりHTMLを書くということなんです。
なるほど〜。文章構造ってそういう意味なんだ。
人間は賢いので、目から入ってきた情報を瞬時に分析するのが得意な生き物なんですよ。でもコンピュータはそうじゃない。文章なのかタイトルなのかを分ける作業がプログラミングです。
すごくしっくりきました!
例えば、タイトルを出したいなら、冒頭に<title>と打ち込んで、文章を書きたいなら、<p>って打ちます。
テキストのT(ティー)ではなくてP(ピー)なんですか?
パラグラフの「P」です。これをブラウザが読み込むと、ようやくコンピュータはタイトルと文章の違いを理解できます。
そこまでしないと、エンジニアさんの意図が反映されないって大変だなー。ちなみに、その<>で囲まれたやつは何なんですか?
これは、「タグ」って言われているものです。
SNSのハッシュタグとは、また別物ですか?
イメージは同じですよ。ただ、ハッシュタグは「#」をつければ自由に作れると思うんですけど、HTMLのタグは種類が決まっています。
種類?
国際規格上、種類が決まっていて、107種類あります。
結構ありますね
用途ごとにタグが用意されているのでね。例えば、画像を出したい時は<img>というタグを使います。
え! コンピュータって文字と画像の区別もできないんですか?
できません。そこまで賢くないんです。
コンピュータって意外とおバカなんだなぁ。
CSSはWebデザイナーの役割
HTMLはなんとなくわかりましたけどCSSっていうのはなんですか?
CSSは「Cascading Style Sheets(カスケーディング スタイル シート)」の略で、HTMLが文章構造だったのに対して、CSSは「見た目」をコントロールするための言語です。
ほう、見た目ですか。どこに何を配置する、とかですか?
そうですね。あとは文字の色とか大きさとかを決めたり。
HTMLで文字の大きさとか色を変えることってできないんですか?
できなくはないんですけどプログラムがすごく汚くなって見づらくなっちゃうんですよ。今はHTMLが文章構造、デザインはCSSで作るのが主流です。
じゃあ、ひとつのホームページを作り上げるのに、いくつか言語を使うってことなんですか?
そうです。言語がひとつだけってことは滅多になくて、だいたいどんなページを作る上でも、HTMLとCSSは必須です。
なんで一緒にしないんですか? そっちの方がプログラム書く方も楽ちんなのに。
そう思いますよね? でもプログラマーからすると、文章構造のタグと見た目のタグが混在すると、人間の頭の中でイメージしづらくなるんですよ。
明確に切り離しちゃう方が書く側としては、管理しやすいってことですか?
そのとおり。「分けて書くほうが作りやすい」んです。どう作りやすいかと言うと、デザイナーさんと分業したい時に、プログラマーは構造の方は得意なんですけど、見た目の部分はどうしても専門分野が違うので、デザイナーに任せることが多いのです。
もしかして、WebデザイナーさんってCSSができないとダメなんですか?
CSSについて詳しくないデザイナーさんもいるにはいるので、そこはプログラマーが説明して助けるパターンが多いです。ただ、大半のWebデザイナーさんはCSSもできますね。だから、CSSは別のファイルで作ったほうが都合がいいんですよ。
そっか……WebデザイナーになるならCSSも身に着けないとな〜。
IEとEdgeを知らない女子大生
ちなみに、昔のブラウザはCSSに対応していないものもあったので、ブラウザによって表示がバラバラになることもあったんですよ。今は、見た目に関して統一はされてきたんですけどね。
表示がそんなに違うんですか?
わかりやすく言うと、Chromeでは問題ないけど、Safariでは正しく表示されないみたいな。だからプログラマーはどのブラウザで見ても同じに表示されるように頑張っているんです。
へー。その不具合って今もあるんですか?
あります。ブラウザがひとつだけならここまで複雑にはならないんですけど、世の中には多種多様なブラウザが存在するので。
じゃあ、ブラウザの中で一番高機能なものはどれですか?
高機能って言うか、最も忠実に動くのは、Chromeですね。
Safariじゃないのかー!
まあ最近のブラウザはよくできてて大きな差はないので好みで使い分けて大丈夫ですよ。ちなみにプログラマーあるあるなんですが、ブラウザでIEを使っている人もまだまだ多いのが結構悩みの種で……。
ん? IEってなんですか? プログラミング言語?
そうか、最近の人はIEを知らないのか(笑)。以前Windowsの標準ブラウザだったものです。今は「Edge」というものに変わったんですが、Windowsパソコンで「e」ってアイコン見たことないですか?
あ、あれのことか! 使う機会がほぼなかったので知らなかった。
IEは既に開発が終了しているブラウザなんですが、政府とか教育機関みたいな保守的な機関では今でもよく使われているんです。そういう場所からの注文だと「IEにも対応させてください」という依頼もあって……個人的には、IEは無くしても良いくらい厄介なブラウザなんです(笑)。
ブラウザにそんな違いがあるなんて知らなかったなあ。
話がそれましたね。で、ざっくり「HTML」「CSS」の仕組みとブラウザの種類については理解できたと思うので、ここからは実際にあやかさんにHTMLを体験してもらおうと思います!
お、いよいよだ。緊張するな……。
ひとつのホームページ作成に4つの言語を使うことも
これは僕がレッスン用に作ったホームページなんですが、ここでもHTMLとCSSを使っています。
え、すごーい! めっちゃきれいですね!
トップページの画像が自動でスライドしてますけど、この動く仕組みもCSSで対応してるんですか?
これはまた違う言語を使っているんです。これはJavaScriptです。動きをつけるのはHTMLとCSSではできません。
ということは、このホームページは3つの言語で作られたページなんですね。カッケー!
一般的なWebサービスでも4つ、5つくらいの言語を使っていることは多いですよ。
多すぎる……。それは複数の人で分業して作業してるんですよね?
そのパターンもありますけど、できる人なら全部ひとりで終わらせちゃいます。
ええっ!? 5言語使いこなせるとか尊敬するな〜。このホームページを作るのってどれくらい時間がかかるんですか? 丸1日とか?
えーっと、中身とページにもよりますけどこれぐらいなら早い人で小一時間で作り終えます。
は、早すぎないですか? これを「これぐらい」と言える舘さんが神すぎる……。
でも、このページは298行しかないので。それくらいのペースで書かないとやっていけないんですよ。
200行以上もプログラム書くんですか!
これは少ないほう。多いときはこの規模のページを20ページくらい作らなきゃいけない時もあるので……単純計算すると6000行くらいですかね。
うっ……やっぱり私には縁のない職業かな……。
プログラムを初めて書いてみる
1つずつ順番に覚えていけばそんなに難しくないですよ! まずは試しに自己紹介のページを作ってみましょう。
ドキドキ……。
じゃあまずはここに「自己紹介」って打ち込んでください。
おっ、それならできる! ほいっと。
そしたら次にこの「自己紹介」が「見出し」だということをコンピュータに認識させます。これを「<h2>」っていうタグで囲んでみてください。「h」が見出しと言う意味で数字が文字の大きさです。
文字サイズのレベル的な感じですね! 何個まであるんですか?
1〜6までありますけど、5、6はなかなか見かけないです、かなり小さいので。これでそれぞれのブラウザが基本設定の「見出し」のフォントで表示してくれますが、それが気に入らなければCSSで自分の納得いくような大きさを作ってもよいんです。
ほうほう。今、表示されている「自己紹介」って文字を真ん中に持ってくることはできないんですか?
できますよ。CSSのこの欄に「center」って打ち込んでみて。
で、ここのセーブボタンを押す。
ポチッ! ……あ! すごい文字が真ん中になった! 魔法みたい〜。
お、なんかちょっとうれしい(笑)。普段のレッスンだとこのくらいじゃ「すごい」と感動されることは少ないので。
えー。「なんか不思議な英文を打ち込んだら勝手に位置が変わってる!」って私なら感動しますけどね!
だから今ちょっと新鮮でした(笑)。
私もうれしいです! 多分、文系の女子大生なら同じような反応すると思いますよ!
では、次にホームページに載せる写真を反映させましょうか! 1枚目は私がやるので、残りは彩歌さんに打ち込んでもらいますね。
はいっ!
画像は「<img>」のタグを使います。私がやったのと同じように画像のリンクをコピペして、セーブボタンを押してみましょう。
できたぁーーーーーー!! これだけでなんか達成感! コピペしただけなのに、なんだろう……楽しい気がします!
反応がよくていいなあ(笑)。ここから写真のサイズや表示位置もまた細かく変えられます。それだけでページの雰囲気もガラっと変わるので、そこはデザイナーさんとの話し合いで決めたりするんです。
なるほどー、奥が深いなホームページ。
おっと、基礎の基礎をやっただけで今日はもう時間になっちゃった。仕上げは次回にしましょうか。次はもっとプログラムを書いてもらいますよ。
コピペなら任せてください!!
今回の「女子大生から一言!」
次回予告
舘さんも驚く女子大生の初心者っぷりに難航したホームページ作りでしたが次回でいよいよ完結編。さらに最後は収録場所を舘さんの仕事場(というかご自宅)に移してフリーランスの仕事術についても伺います。超初心者から始めた女子大生は果たしてプログラミングのなんたるかを理解できたのか!?
- この記事はSky株式会社が提供する「エンジニアのちょっと未来な視点」をテーマにしたメディアとのタイアップ企画です。ぜひこちらのサイトも合わせてチェックしてみてください!
Copyright © ITmedia, Inc. All Rights Reserved.
-
「情報を漏らされ振り回され……」とモデラー“限界声明” Vtuberのモデル使用権を剥奪 「もう支えられない」「全サポート終了」
-
「うどん屋としてあるまじきミス」→臨時休業 まさかの“残念すぎる理由”に19万いいね 「今日だけパン屋さんになりませんか」
-
“ドームでライブ中”に「76万円の指輪紛失」→2日後まさかの展開に “持ち主”三代目JSBメンバー「誰なのか探しています」
-
高畑充希と結婚の岡田将生、インスタ投稿めぐり“思わぬ議論”に 「わたしも思ってた」「普通に考えて……」
-
「本当に同じ人!?」 幼少期からイボをいじられていた男性→美容師の“お任せカット”が衝撃 「めちゃくちゃ大変身」
-
「おててだったのかぁああああ」「同じ解釈の人いた笑笑」 ピカチュウの顔が“こう見えた”再現イラストに共感続々、464万表示
-
「腹筋崩壊」 ハスキーをシャンプー&パックしたら…… “予想外のハプニング”に「こ〜れは大変だわ」「沼にでも落ちたのかとwww」
-
“歌姫”ののちゃん、6歳現在の姿に驚きの声「あれっ!?」「ビックリしてます!」 2歳で「童謡こどもの歌コンクール」銀賞受賞
-
黄ばみのある68年前のウエディングドレスを修復すると…… 生まれ変わった姿に「泣いた」「受け継ぐ価値のあるドレス」
-
走行中の車から同じ速さで後方へ飛び降りると? 体を張った実験に反響「問題文が現実世界で実行」【海外】
- 「飼いきれなくなったからタダで持ってきなよ」と言われ飼育放棄された超大型犬を保護→ 1年後の今は…… 飼い主に聞いた
- ドクダミを手で抜かず、ハサミで切ると…… 目からウロコの検証結果が435万再生「凄い事が起こった」「逆効果だったとは」
- 「明らかに……」 大谷翔平の妻・真美子さんの“手腕”を米メディアが称賛 「大谷は野球に専念すべき」
- まるで星空……!! ダイソーの糸を組み合わせ、ひたすら編む→完成したウットリするほど美しい模様に「キュンキュンきます」「夜雪にも見える」
- 妻が“13歳下&身長137センチ”で「警察から職質」 年齢差&身長差がすごい夫婦、苦悩を明かす
- 人生初の彼女は58歳で「両親より年上」 “33歳差カップル”が強烈なインパクトで話題 “古風を極めた”新居も公開
- 「ごめん母さん。塩20キロ届く」LINEで謝罪 → お母さんからの返信が「最高」「まじで好きw」と話題に
- 互いの「素顔を知ったのは交際1ケ月後」 “聖飢魔IIの熱狂的ファン夫婦”の妻の悩み→「総額396万円分の……」
- ユニクロが教える“これからの季節に持っておきたい”1枚に「これ、3枚色違いで買いました!」「今年も色違い買い足します!」と反響
- 中央道から「宇宙戦艦ヤマト」が見える! 驚きの写真がSNSで注目集める 「結構でかい」「どう見てもヤマト」 撮影者の心境を聞いた
- 50年前に撮った祖母の写真を、孫の写真と並べてみたら…… 面影が重なる美ぼうが「やばい」と640万再生 大バズリした投稿者に話を聞いた
- 「食中毒出すつもりか」 人気ラーメン店の代表が“スシローコラボ”に激怒 “チャーシュー生焼け疑惑”で苦言 運営元に話を聞いた
- フォロワー20万人超の32歳インフルエンサー、逝去数日前に配信番組“急きょ終了” 共演者は「今何も話せないという状態」「苦しい」
- 「顔が違う??」 伊藤英明、見た目が激変した近影に「どうした眉毛」「誰かとおもた…眉毛って大事」とネット仰天
- 「ごめん母さん。塩20キロ届く」LINEで謝罪 → お母さんからの返信が「最高」「まじで好きw」と話題に
- 星型に切った冷えピタを水に漬けたら…… 思ったのと違う“なにこれな物体”に「最初っから最後まで思い通りにならない満足感」「全部グダグダ」
- 「泣いても泣いても涙が」 北斗晶、“家族の死”を報告 「別れの日がこんなに急に来るなんて」
- ジャングルと化した廃墟を、14日間ひたすら草刈りした結果…… 現した“本当の姿”に「すごすぎてビックリ」「素晴らしい」
- 母親は俳優で「朝ドラのヒロイン」 “24歳の息子”がアイドルとして活躍中 「強い遺伝子を受け継いだ……」と注目集める
- 「幻の個体」と言われ、1匹1万円で購入した観賞魚が半年後…… 笑っちゃうほどの変化に反響→現在どうなったか飼い主に聞いた
提供:Sky株式会社
アイティメディア営業企画/制作:ねとらぼ編集部/掲載内容有効期限:2020年3月30日