SlideShare une entreprise Scribd logo
1  sur  61
Alphabet
BootCamp
2017
アジェンダ
1. ABCとは
2. 対象範囲
3. なにができるようになるの?
4. スケジュール
5. HTMLとは?
6. 課題
7. 参考サイトの紹介
8. 質問・アンケート
ようこそ、
ABCへ
澤田 諒(さわだ まこと)
所属:株式会社エル
Twitter:@el_makot
2回目の範囲
• CSSによるレイアウト
CSSを使ったレイアウトの方法をまなびます。
• プログラム入門以前
プログラムの基礎をまなびます。
• JavaScript入門
ブラウザ上で動作するプログラミング言語
JavaScriptについてまなびます。
スケジュール
HTML
4月
CSS
5月
JavaScrip
t
6月
PHP
7月
DB
8月
まとめ
9月
今回の対象範囲!
CSSによるレイアウト
いい感じのサイトにしよう!
CSSでレイアウト
前回、CSSで簡単な装飾の仕方について学びました。
CSSは単に色をつけるだけではなく、
もっと高度レイアウトも行うことが可能です。
それでは、CSSによるレイアウトについて学んでいき
ます。
ボックス①まずはひとつ。
レイアウトの基本は、ボックス(箱)をつくること。
組み合わせでレイアウトを作る!
BOX
HTML
<div id="box">
</div>
CSS
#box {
width: 400px;
height: 400px;
}
ボックス②組み合わせ。
ヘッダー
サイド
バー
メイン
よくある左のレイアウトだと、
4つのボックスの組み合わせ!
1. 全体
2. ヘッダー(グローバルメニューなど)
3. サイドバー(カテゴリや新着記事な
ど)
4. メイン(記事の内容など)
Margin
Padding
BOXモデルとは
Border
Content
Width
H
e
i
g
h
t
このイメージを持つと、
CSSでレイアウト作るときに、
わかりやすい!
マージンは、外側の余白
パディングは、内側の余白
2カラムをつくってみる。①
昔は結構たいへんだった。
CSS3より、flexboxが追加!
ようやく、モダンブラウザのほとんどが対応!
今回は、flexboxを使ったレイアウト方法を説明して
いきます。
flexboxのブラウザの対応状況
昔のIEが対応していないみたい、けど気にしない。
IEでどうしても使いたいなら。
「flexibility」を使う。
https://github.com/jonathantneal/flexibility
2カラムをつくってみる。②
箱を用意し、
その中に2つの箱をさらに用意!
2カラムをつくってみる。③
Flexboxを使えば、
これだけで、2カラムに!
#left #right
3カラムはどうするの?
#left #center #right
3つにするだけ!
プログラミング入門以前
そもそも、プログラミングって…
“コンピュータプログラム(英:
computer programs)とは、コンピュー
タに対する命令(処理)を記述したもの
である”
プログラムとは?
[1]Wikipediaより引用
https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%
A9%E3%83%A0_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%8
3%BC%E3%82%BF)
“コンピュータプログラム(英:
computer programs)とは、コンピュー
タに対する命令(処理)を記述したもの
である”
プログラムとは?
[1]Wikipediaより引用
https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%
A9%E3%83%A0_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%8
3%BC%E3%82%BF)
?
プログラミングとは?
簡単にいうと、
「〇〇のときに、〇〇のことをしてほしい」
とコンピュータに対してお願いをすることです。
ただし、プログラムはある決まった構造に従う必要が
あるのに注意です。
なぜプログラミング難しいの?
なぜ、プログラミングが難しく思われているかの原因
の一つに、「英語」であることがあると思います。
もし、日本語だったら…
わかりやすいですよね?
「こんにちは世界」と表示
"なでしこ"という日本語のプログラミング言語の例
わけて考えてみる。
文法の難しさ フローの複雑さ
理由① 理由②
こっちは記憶力の世界!
忘れたらググろう。
こっちはできるだけ
小分けにして考える
テクニックを身に着けよう。
プログラミングとは?
プログラミングには、
上から順番に進んでいく(順次)と、
ある条件によって、行うことを変える(選択)と、
ある条件を満たすまで、繰り返す(反復)があります。
基本的には、この3要素。
プログラミングとは?
開始
例として適切かどうかが怪しいです
が、
日常生活の中でもプログラミングに
近いことをしています。
それを、英語で書いて、最終的にコ
ンピュータが理解できる形式にして
いるかのどうかの差しかありません。
肉・野菜を
炒める
焼けて
る?
水を入れる
ルーを入れる
完成!
YES
No
プログラミングにおける誤解
・プログラマはすべて暗記している。
⇒1日の半分くらいググってます。
・数学が得意
⇒SEの半分は文系です、みんな大体ググってます。
・みんな頭がいい
⇒みんな複雑なことが苦手です。
小分けにして考えるようにしています。
(ソフトウェアの歴史は複雑さとの闘い…)
文法に囚われないで!
プログラミングを学ぶときに文法を学ぶ段階で、
覚えきれないで挫折してしまう方がいます。
すべて覚える必要はありません。
まずは、動くサンプルコードをみつけましょう。
そして、ちょっと変えてみましょう。
さらに、もうちょっと変えてみましょう。
困ったらインターネットの力に全然頼ってOKです。
TIPS! 高級言語と低級言語
人間に近い
機械に近い
コンピュータは2進数(スイッチ
のオンオフ)でしか理解すること
ができません。
ただ、膨大な数の2進数は人間に
理解することができません。
大雑把な分類ですが、
コンピュータをどこまで意識する
かによって、
人間に近い「高級言語」と、
機械に近い「低級言語」と分ける
ことができます。
JavaScript入門
サイトに動きをつけよう!
JavaScriptとは
JavaScriptはブラウザ上で実行できる唯一の言語
ブラウザ上で何か動きをつけたい場合は、JavaScript
を使うしか道はありません。
もともと、JavaScriptはブラウザ上でしか動きません
でしたが、
近年ではどんな環境でも動作します。
そして、今もっとも人気があるプログラミング言語!
なにができるの?
もはやなんでもできますが、代表例だけ。
• お問い合わせフォームで、入力されていないものが
あれば、赤字で入力を促す
• スライドショー(カルーセルといいます)
• 非同期で画面を更新できる
(GmailやGoogleMapでリロードされていないの
に気づきましたか?)
JavaScriptって難しい?
JavaScript自体は比較的かんたんです。
高度なプログラムももちろん書くことは可能ですが、
ボタン押されたときになにかする。程度なら、
短いコードで記述できます。
複雑な文法を覚える必要もありません。
実行の仕方
まずは実行の方法について学んでいきましょう。
読み込む2つの方法
1.HTMLの中に書く。
2.別ファイルに書く。
HTMLの中に書く方法
使いどころ!
コードの量が少なく、他の画面では利用しない場合な
どで利用
使い方 headタグの中に、
scriptタグを用意し、
その中に記述
別ファイルに書く方法
使いどころ!
複数の画面で利用する場合や、速度を重視したい場合
使い方
jsファイルを用意し、
scriptタグにそのファイル名
を記載する
index.html
app.js
文法とかはさておき、どうなるか見てみよう①
// 時間の表示!
document.body.innerText = new Date();
HTML
HEAD
BODY
BODYの中身を現在の時間に
しろ!っていう命令になる
document = HTML
文法とかはさておき、どうなるか見てみよう②
// 1秒おきに背景色を変える!
// 色:赤、緑、青
var colors = ['red', 'green', 'blue'];
setInterval(function() {
document.body.style.backgroundColor =
colors[Math.floor(Math.random() * colors.length + 1)];
console.log("!");
}, 1000);
色の数分だけ、ランダム!
つまりJavaScriptで、できることは…
画面に表示される内容はHTML(内容)+CSS(装飾)
それを、JavaScriptで自由に変えることができる!
⇒画面を動的に変更できること!それが強み!
⇒組み合わせれば自由自在!
変数とは
変数とは、一時的にデータを格納する箱みたいなもの。
「箱」 // 変数
var name = “Yamada Taro”;
// 変数(推奨)
let name = “Yamada Taro”;
// 定数
const name = “Yamada Taro”;
name
配列とは
配列は、複数の値を扱うためのしくみ。
「箱」 // 配列
let colors = ['red', 'blue',
'green'];
// colors[0] = = 'red'
// colors[1] = = 'blue'
// colors[2] = = 'green'
0 1 2
Tips!ログの出力の仕方①
今どういう値が入っているのか?がわかると、
書いているプログラムがあっているかどうか試しながら、
プログラミングすることができます。
ということで、はじめにログの出力の仕方を学びます!
※ ログ(記録)とは、変数の中身だったり、どこの処理を
行っているかなど開発に役立つ情報だったり、
誰がどういう操作をしたのかを残したりすることを言います。
Tips!ログの出力の仕方②
使い方 console.log(出力したい変数や文字列など)
役割 ログを出力する
さんぷる
if①条件分岐
使い方
if ([条件式]) {
// 処理
}
役割 条件によって処理を分ける。
let age = 20;
if (age >= 20) {
// 20歳以上なら!
}
演算子 意味
== 等しい
!= 等しくない
< より大きい
<= より大きい、または等しい
> より小さい
>= より小さい、または等しい
さんぷる 比較演算子
if①条件によって分岐する。
もし~だったら、やることを変えたいということがあると思
います。
たとえば、
朝だったら、「おはよう」
お昼だったら、「こんにちは」
夜だったら、「こんばんは」など。
if②図で表してみる。
図にすると、こんな感じ
はじまり
朝?
昼?
おわり
おはよう
こんにちは
こんばんは
YES
No
No
YES
if③コードで表してみる。
// コード
const now = new
Date().getHours();
if (now => 5 && now < 12) {
console.log("おはよう");
} else if(now => 12 && now < 17)
{
console.log("こんにちは");
} else {
console.log("こんばんは");
}
解説
現在の時間を取得。
5-12時は朝とみなし、
「おはよう」
12-17時は昼とみなし、
「こんにちは」
それ以外は、
「こんばんは」
for①繰り返し
使い方
for ([初期化子]; [終了条件]; [最後の式]) {
// 処理
}
役割 繰り返す。
さんぷる
関数①同じことは一か所で。
使い方
function 関数名(引数1, 引数2…) {
// 処理
}
役割
処理に対して、名前をつけることで繰り返し呼べるように
する。
さんぷる
関数②メリット
関数のいいところは、
何回でも繰り返し利用できるところ。
一度作ってしまえば、何回でも呼べる。
同じことをやりそうだ!と思ったら、
まとめてしまおう!
クリックされたら背景を変えてみる。
<button type="button" id="button"
onClick="changeColor()">
押してみると…?
</button>
// JavaScript
function changeColor() {
document.body.style.backgroundColor = 'yellow';
}
HTML
JavaScrip
t
DOMとは①
DOM(Document Object Tree)について説明します。
JavaScriptを触るうえでは必須ですが、
ちょっと難しいので、そういうのがあるんだなー
くらいに思ってもらえると。
DOMとは②
HTMLが読み込まれると、HTMLはツリーで表現され
ます。
HTML
HEAD BODY
TITLE LINK H1 DIV
P
A
DIV
P
DOMのイメージ
ツリーのイメージ
親
子 子
孫 孫孫 孫
フィボナッチ数列や、家系図などと同じイメージ。
DOMをブラウザで見ると。
DOM③なにに使うの?
操作する対象を選択することで、
指定した場所(一個だったり、複数だったり)の
表示する文字や、色など、
変更することができる。
DOM④IDでアクセス
使い方 document.getElementById(対象のID);
役割 指定したIDのDOMオブジェクトを取得する。
さんぷる
読込完了時(onload)に、
文字を変更
課題
挑戦してみよう!
いまから、次回までの課題
HTMLとCSS、Javascriptを使って、
自己紹介をするページをつくってみましょう!
わからないことがあれば、
自由に聞いてください!
参考さいと
わかりやすい、おもしろいサイト
ドットインストール
動画形式でプログラミング
が学べる。
1回あたり3分で、基本無料。
http://dotinstall.com/
ありがとう
ございました。
質問とアンケートの時間にします。
お手数ですが、お手元のアンケートに
ご記入お願いします。
聞きにくかったら、LINEでもTwitterでも。
@el_makotoまで

Contenu connexe

Similaire à ABC 第2回スライド

AlphabetBootCamp 第1回勉強スライド
AlphabetBootCamp 第1回勉強スライドAlphabetBootCamp 第1回勉強スライド
AlphabetBootCamp 第1回勉強スライドSawada Makoto
 
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成Kazuki Akiyama
 
Css Architecture for the future 未来を見据えるCSS設計
Css Architecture for the future 未来を見据えるCSS設計Css Architecture for the future 未来を見据えるCSS設計
Css Architecture for the future 未来を見据えるCSS設計Horiguchi Seito
 
デザイン作業効率化
デザイン作業効率化デザイン作業効率化
デザイン作業効率化功介 沼
 
WEB開発はじめの一歩 講師:村井亮介様
WEB開発はじめの一歩 講師:村井亮介様WEB開発はじめの一歩 講師:村井亮介様
WEB開発はじめの一歩 講師:村井亮介様株式会社GreenHack
 
まだやれる Css preprocesser
まだやれる Css preprocesserまだやれる Css preprocesser
まだやれる Css preprocesserShinya Sugo
 
ASP.NET SPA開発をはじめよう~今と未来とステップアップ
ASP.NET SPA開発をはじめよう~今と未来とステップアップASP.NET SPA開発をはじめよう~今と未来とステップアップ
ASP.NET SPA開発をはじめよう~今と未来とステップアップ慎一 古賀
 
CSS は、もっと楽になる – LESS を活用してコーディング作業をシンプルに
CSS は、もっと楽になる – LESS を活用してコーディング作業をシンプルにCSS は、もっと楽になる – LESS を活用してコーディング作業をシンプルに
CSS は、もっと楽になる – LESS を活用してコーディング作業をシンプルにMasunaga Ray
 
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTechCSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTechlyca chigyo
 
WordPressでCSSプリプロセッサ入門
WordPressでCSSプリプロセッサ入門WordPressでCSSプリプロセッサ入門
WordPressでCSSプリプロセッサ入門Sou Lab
 
はじめてのモバイルウェブアプリ 1.5
はじめてのモバイルウェブアプリ 1.5はじめてのモバイルウェブアプリ 1.5
はじめてのモバイルウェブアプリ 1.5Taisuke Fukuno
 
7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminar7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminarAtushi Sugiyama
 
メディア工房サマーワークショップ「Webアプリ制作」1日目
メディア工房サマーワークショップ「Webアプリ制作」1日目メディア工房サマーワークショップ「Webアプリ制作」1日目
メディア工房サマーワークショップ「Webアプリ制作」1日目Takashi Endo
 
今日から使える! HTML/CSS/JSの シンプルテクニック15選
今日から使える! HTML/CSS/JSの シンプルテクニック15選今日から使える! HTML/CSS/JSの シンプルテクニック15選
今日から使える! HTML/CSS/JSの シンプルテクニック15選Horiguchi Seito
 
_HTML5で組んでみた_
_HTML5で組んでみた__HTML5で組んでみた_
_HTML5で組んでみた_Kelly Holonic
 
Zero Startup Web 2017 Nov
Zero Startup Web 2017 NovZero Startup Web 2017 Nov
Zero Startup Web 2017 NovChime LLC
 

Similaire à ABC 第2回スライド (20)

AlphabetBootCamp 第1回勉強スライド
AlphabetBootCamp 第1回勉強スライドAlphabetBootCamp 第1回勉強スライド
AlphabetBootCamp 第1回勉強スライド
 
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
 
Css Architecture for the future 未来を見据えるCSS設計
Css Architecture for the future 未来を見据えるCSS設計Css Architecture for the future 未来を見据えるCSS設計
Css Architecture for the future 未来を見据えるCSS設計
 
デザイン作業効率化
デザイン作業効率化デザイン作業効率化
デザイン作業効率化
 
WEB開発はじめの一歩 講師:村井亮介様
WEB開発はじめの一歩 講師:村井亮介様WEB開発はじめの一歩 講師:村井亮介様
WEB開発はじめの一歩 講師:村井亮介様
 
まだやれる Css preprocesser
まだやれる Css preprocesserまだやれる Css preprocesser
まだやれる Css preprocesser
 
ASP.NET SPA開発をはじめよう~今と未来とステップアップ
ASP.NET SPA開発をはじめよう~今と未来とステップアップASP.NET SPA開発をはじめよう~今と未来とステップアップ
ASP.NET SPA開発をはじめよう~今と未来とステップアップ
 
LESS使ってますか?
LESS使ってますか?LESS使ってますか?
LESS使ってますか?
 
CSS は、もっと楽になる – LESS を活用してコーディング作業をシンプルに
CSS は、もっと楽になる – LESS を活用してコーディング作業をシンプルにCSS は、もっと楽になる – LESS を活用してコーディング作業をシンプルに
CSS は、もっと楽になる – LESS を活用してコーディング作業をシンプルに
 
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTechCSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
 
cssについて
cssについてcssについて
cssについて
 
WordPressでCSSプリプロセッサ入門
WordPressでCSSプリプロセッサ入門WordPressでCSSプリプロセッサ入門
WordPressでCSSプリプロセッサ入門
 
はじめてのモバイルウェブアプリ 1.5
はじめてのモバイルウェブアプリ 1.5はじめてのモバイルウェブアプリ 1.5
はじめてのモバイルウェブアプリ 1.5
 
【Web TECH FORUM 2017 in大阪】JavaScript UIコンポーネント の選定と活用ポイント
【Web TECH FORUM 2017 in大阪】JavaScript UIコンポーネント の選定と活用ポイント【Web TECH FORUM 2017 in大阪】JavaScript UIコンポーネント の選定と活用ポイント
【Web TECH FORUM 2017 in大阪】JavaScript UIコンポーネント の選定と活用ポイント
 
7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminar7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminar
 
ASP.NET Core 概要(2017年3月時点)
ASP.NET Core 概要(2017年3月時点)ASP.NET Core 概要(2017年3月時点)
ASP.NET Core 概要(2017年3月時点)
 
メディア工房サマーワークショップ「Webアプリ制作」1日目
メディア工房サマーワークショップ「Webアプリ制作」1日目メディア工房サマーワークショップ「Webアプリ制作」1日目
メディア工房サマーワークショップ「Webアプリ制作」1日目
 
今日から使える! HTML/CSS/JSの シンプルテクニック15選
今日から使える! HTML/CSS/JSの シンプルテクニック15選今日から使える! HTML/CSS/JSの シンプルテクニック15選
今日から使える! HTML/CSS/JSの シンプルテクニック15選
 
_HTML5で組んでみた_
_HTML5で組んでみた__HTML5で組んでみた_
_HTML5で組んでみた_
 
Zero Startup Web 2017 Nov
Zero Startup Web 2017 NovZero Startup Web 2017 Nov
Zero Startup Web 2017 Nov
 

Plus de Sawada Makoto

システム開発について
システム開発についてシステム開発について
システム開発についてSawada Makoto
 
QAサイトをつくってみよう
QAサイトをつくってみようQAサイトをつくってみよう
QAサイトをつくってみようSawada Makoto
 
QAサイトをつくってみよう
QAサイトをつくってみようQAサイトをつくってみよう
QAサイトをつくってみようSawada Makoto
 
第4回 データベース
第4回 データベース第4回 データベース
第4回 データベースSawada Makoto
 
第4回 PHPのおさらい
第4回 PHPのおさらい第4回 PHPのおさらい
第4回 PHPのおさらいSawada Makoto
 

Plus de Sawada Makoto (6)

システム開発について
システム開発についてシステム開発について
システム開発について
 
QAサイトをつくってみよう
QAサイトをつくってみようQAサイトをつくってみよう
QAサイトをつくってみよう
 
QAサイトをつくってみよう
QAサイトをつくってみようQAサイトをつくってみよう
QAサイトをつくってみよう
 
PHP+DB
PHP+DBPHP+DB
PHP+DB
 
第4回 データベース
第4回 データベース第4回 データベース
第4回 データベース
 
第4回 PHPのおさらい
第4回 PHPのおさらい第4回 PHPのおさらい
第4回 PHPのおさらい
 

ABC 第2回スライド