CSS3 – text-decoration

概要

コンテナーのテキストの下線・上線・取り消し線の種類・スタイル・色を指定する。blinkも指定できるが殆どのブラウザーで機能しない。

書式

text-decoration [種類](, [スタイル])(, [色])

text-decoration-line [種類]
text-decoration-style [スタイル]
text-decoration-color [色]

種類

none
テキストに対する線の装飾を無効にする。アンカー要素でデフォルト指定されている下線も表示されなくなる。
underline
下線(テキストの下)
overline
上線(テキストの上)
line-through
取り消し線(テキストの縦中央)

style

solid
実線。
dotted
点線。
dasshed
破線。
double
二重線。
wavy
波線。

動作確認

線の種類

noneを指定

underlineを指定

overlineを指定

line-throughを指定

線のスタイル

underline solidを指定

underline dottedを指定

underline dashedを指定

underline doubleを指定

underline wavyを指定

アンカー要素の下線を消す

通常のアンカー要素

アンカー要素にnoneを指定

CSS3 – border

概要

コンテナーのボーダーのスタイル、太さ、色を指定する。

書式

以下の書式で上下左右全てのボーダーのスタイル・太さ・色を一括指定。

border: [スタイル] [太さ] [色] 値の順番は任意

以下の書式はスタイル/太さ/色のいずれかを全てのボーダーに対して一括指定。

border-style: [スタイル]
border-width: [太さ]
border-color: [色]

以下の書式は上/下/左/右のいずれかのボーダーに対してスタイル・太さ・色を一括指定。

border-top: [スタイル] [太さ] [色]
border-bottm: [スタイル] [太さ] [色]
border-left: [スタイル] [太さ] [色]
border-right: [スタイル] [太さ] [色]

また上記4つそれぞれについてスタイル、太さ、色のみを個別に指定可能。border-topを例にとると以下の通り。

border-top-style: [スタイル]
border-top-width: [太さ]
border-top-color: [色]

スタイル

none
非表示で太さも0になる。他のボーダーと重なる場合、他方のボーダーの値が優先される。
hidden
非表示で太さも0になる。他のボーダーと重なる場合、この値が優先されて非表示になる。
solid
実線。
dotted
点線。
dasshed
破線。
double
二重線。指定した線の太さの中で二重線になるため、1本の線は細くなる。
groove
立体的に窪んだ線(ノミなどで掘り込んだような線)。
ridge
立体的に盛り上がって線(土手のような線)。
inset
ブロック全体が窪んだように見える線。
outset
ブロック全体が盛り上がったように見える線。

動作確認

指定方法

一括指定

周囲全てのボーダーのスタイル・太さ・色を一括指定する場合、値の順番は任意。

solid 1px blue;

border: 3px solid red;

個別ボーダーの指定

border-top: solid 3px red;

border-bottom: solid 3px red;

border-left: solid 3px red;

border-right: solid 3px red;

線のスタイル

solid 2px

dotted 2px

dashed 2px

double 4px

groove 8px

ridge 8px

inset 8px

inset 8px

noneとhiddenの効果

以下は表のセルの罫線が重なるようにしている。

  • cccのセルのボーダースタイルはnoneなので、aaaのセルのボーダーは表示され、他のボーダーは表示されない
  • dddのセルのボーダースタイルはhiddenなので、bbbのセルのボーダーは表示されず、他のボーダーも表示されない

aaa bbb
ccc ddd

CSS3 – text-align

概要

ブロックコンテナ内の行のそろえ方を指定する。

大きく分けると、以下の4つ。

  1. 絶対的な揃え位置を指定
  2. 文章を書く方向を基準に揃え位置を指定
  3. ジャスティフィケーション(両端均等割付)
  4. 親要素の指定の継承

書式

text-align: 値指定;

デフォルトの値はstart。

left/center/right
ブロックコンテナ内の各行を左/中央/右にそろえる。
start/end
テキストを書く方向の始端/終端にそろえる。文を左から右へ書く場合はleft/right、右から左へ書く場合はright/leftと等価。
justify/justify-all
両端に均等割り付けする。日本語の場合は作用しない。justify-allは最後の行も強制的に均等割り付けとなっているが、ほとんどのブラウザで実装されていない。
match-parent
親要素の値を継承するとされているが、動作未確認。

動作確認

left/center/right

ブロックコンテナーの各行が、左/中央/右に揃えられている。1行がブラウザの幅を超える場合、最後の行が左/中央/右に揃えられる。

text-align: left;は左寄せ

text-align: center;はセンタリング

text-align: right;は右寄せ

text-alignのデフォルトはleft

ゴーシュは町の活動写真館でセロを弾く係りでした。けれどもあんまり上手でないという評判でした。上手でないどころではなく実は仲間の楽手のなかではいちばん下手でしたから、いつでも楽長にいじめられるのでした。

start/end

左から右に書く場合

左から右に書かれる場合、end指定がrightと同じ効果になっている。

ゴーシュは町の活動写真館でセロを弾く係りでした。けれどもあんまり上手でないという評判でした。上手でないどころではなく実は仲間の楽手のなかではいちばん下手でしたから、いつでも楽長にいじめられるのでした。

ゴーシュは町の活動写真館でセロを弾く係りでした。けれどもあんまり上手でないという評判でした。上手でないどころではなく実は仲間の楽手のなかではいちばん下手でしたから、いつでも楽長にいじめられるのでした。

右から左に各場合

右から左に書く場合には、startはright、endはleftと等価。

右から左に書いてstart指定

右から左に書いてend指定

justify

ジャスティフィケーション(両端均等割付)は、ワードとスペースで構成された文章を、行ごとに両端に均等割付する。

以下の1つ目の分はデフォルト値(start)、2つ目の分はjustfyを指定している。ブラウザーの幅を変えるとジャスティフィケーションの様子がわかる。3つ目で日本語にjustifyを指定しているが、効果はない。

ONCE upon a time, many years ago—when our grandfathers were little children—there was a doctor; and his name was Dolittle—John Dolittle, M.D. “M.D.” means that he was a proper doctor and knew a whole lot.

ONCE upon a time, many years ago—when our grandfathers were little children—there was a doctor; and his name was Dolittle—John Dolittle, M.D. “M.D.” means that he was a proper doctor and knew a whole lot.

ゴーシュは 町の活動写真館で セロを弾く係りでした。 けれども あんまり上手でない という評判でした。 上手でないどころではなく 実は仲間の楽手のなかでは いちばん下手でしたから、 いつでも 楽長にいじめられるのでした。

justify-all

ブラウザーの幅を変化させてもジャスティフィケーションの効果は観られず、無指定の場合と同じ。

ONCE upon a time, many years ago—when our grandfathers were little children—there was a doctor; and his name was Dolittle—John Dolittle, M.D. “M.D.” means that he was a proper doctor and knew a whole lot.

 

CSS3 – color/background-color

概要

colorは前景色、background-colorは背景色を指定する。

書式

color: 色指定;

background-color: 色指定;

色指定にいくつかの方法がある。

カラーネーム
red, grayなど特定の色に対応したキーワードで設定。
16進コード(6桁)
#RRGGBBの6桁で指定する。2桁1バイトごとにR, G, Bに対応。
16進コード(3桁)
#RGBの3桁で指定する。#RGBという指定は#RRGGBBと各色を繰り返した値に相当する。
rgb(r, g, b)/rgb(r, g, b, a)
3つの引数はそれぞれ0~255の整数で、R, G, Bに対応。4つ目の引数がある場合は透過度を表し、実数で指定する。
hsl(h, s, l)/hsl(h, s, l, a)
色相(Hue)、彩度(Saturation)、輝度(Lightness)を実数で指定する。4つ目の引数がある場合は透過度を表し、実数で指定する。

 

CSS3 – 基本色

基本の16色とカラーネーム、カラーコードは以下の通り。

カラーネーム カラーコード
black #000000
aqua #00FFFF
blue #0000FF
fuchsia #FF00FF
gray #808080
green #008000
lime #00FF00
maroon #800000
navy #000080
olive #808000
purple #800080
red #FF0000
silver #C0C0C0
teal #008080

 

HTML5 – a~アンカー

書式

<a href="href属性" target="target属性">...</a>

属性

href属性

リンク先のURL、アンカーリンク(ページ内リンク)を組み合わせて指定する。

target属性

_self 現在のページでリンク先を開く(デフォルト)
_blank 新しいページ/タブでリンク先を開く

Ruby – ファイル操作

要点

  • Fileクラスを使うことで、開いたファイルをオブジェクトとして扱える
  • Fileはopenメソッドで開き、closeメソッドで閉じる
  • openメソッドで開いたファイルオブジェクトに対して、行単位の読み込みなどの処理を行う

ファイルのオープン/クローズ

ファイルのオープンにはFile#openメソッドを使う。第1引数でファイルのパス、第2引数でファイルを開くモードを文字列で指定。

変数 = File.open("ファイルへのパス", "モード")

モード指定の例は以下の通り。

"r" 読込 デフォルト
"w" 書込 ファイルが存在している場合は内容を空にする
"a" 追加 ファイルが存在している場合は末尾に追加する
"r+" 読書 ポインターはファイルの先頭にセット
"w+" 読書 ファイルが存在している場合は内容を空にする
"a+" 読書 読込位置は先頭、書き込み位置は末尾にセット

ファイルのクローズにはcloseメソッドを使う。

ファイルオブジェクトの変数.close

以下はファイル名を指定してファイルを開き、何もせずにクローズする例。

以下の構文は、ファイルのクローズを明示しなくても完結する。

ただしこれには注意が必要。このブロックの中で定義した変数でファイルの内容を読み込むと、ブロックの外ではその変数は使えない(ブロック内スコープ)。

ブロック内で読んだ内容を外で参照するためには、ブロック外で変数が定義されている必要がある。

ファイルの読み込み

一括読込

ファイルの読み込みは、ファイルオブジェクトのreadメソッドを使う。

行ごとの読み込み

Fileオブジェクトのeach_lineメソッドを使うと、行単位で読み込んでくれる。

行番号

Fileオブジェクトのlinenoプロパティーは、現在読んでいる位置の行番号を持っている。

ファイルの書き込み

ファイルの書き込みはopenの第2引数で"w"を指定する。ファイルが存在すればその内容が空にされ、ファイルが存在しなければ新たに作られる。

 

PCA – 主成分分析

概要

主成分分析(principal component analysis: PCA)は教師なし学習の手法の一つでもあり、その考え方は、特徴量の線形組み合わせの中で、最もデータの情報を多く含む組み合わせを発見し、それを主成分として分析を行うものである。

具体的には、特徴量空間の中でベクトルを考え、そのベクトル沿いのデータの分散が最も大きくなるようにベクトルを定める。その考え方と定式化については、主成分分析の定式化にまとめた。

クラス分類データへの適用

Irisデータセット

Irisデータセットにscikit-learnのPCAを適用した例。

PCA – Irisデータセット

教師なし学習として、クラス分類のターゲットデータを用いることなく、特徴量の分析だけでクラスがうまく分離できるような主成分が得られる。

Breast cancerデータセット

Breast cancerデータセットにscikit-learnのPCAを適用した例。

PCA – Breast cancerデータセット

Irisデータの場合と同じく、教師なし学習として、クラス分類のターゲットデータを用いることなく、特徴量の分析だけでクラスがうまく分離できるような主成分が得られる。

ここでは、主成分を構成する各特徴量の寄与をヒートマップによって視覚化している。

LFW peopleデータセット

著名人の顔画像データを集めたLFW peopleデータセットにscikit-learnのPCAを適用した例。

PCA – LFWデータセット

主成分の可視化、次元圧縮後の画像の再現など、様々な角度でPCAの特性を見ている。

回帰データへの適用

Boston house pricesデータセット

Boston house pricesデータセットにPCAを適用して、ターゲットが連続量で与えられた回帰系の問題への適用性を確認する。

PCA – Boston house pricesデータセット

このデータセットに関する限り、PCAで明確な関係は見いだせなかった。

なお、このデータセットには属性データが含まれ、前処理としてone-hot encodingを行っている。

 

Ruby – dateライブラリー

導入

require("date")でライブラリーを読み込むとDateクラスが使えるようになる。

Dateオブジェクトの生成

Dateクラスのコンストラクターの引数で年、月、日を指定する。

parseクラスメソッドに様々な形の日付文字列を与えてDateオブジェクトを生成。

todayクラスメソッドは今日の日付でDateオブジェクトを生成。

値の取り出し

年月日や曜日番号を個別に取り出し。

日付の書式付表示

strftimeメソッドの引数で書式を設定。

主な書式文字

%C 世紀
%Y 西暦年
%y 西暦年の下2桁
%m 月(01-12)
%d 日(01-31)
%w 曜日番号(日曜:0~土曜:6)
%u 曜日番号(月曜:1~日曜:7)
%A 曜日の名称(Monday, Tuesday, …)
%a 曜日の略称(Mon, Tue, …)

 

Ruby – ハッシュ

ハッシュの定義

ハッシュは{}で囲み、key => valueをカンマで連ねて定義する。

空のハッシュは次のいずれかで。

ハッシュのサイズ

ハッシュのサイズはsizelengthで取得。

ハッシュが空かどうかはempty?で確認できる。

キーと値のリスト

keysvaluesでキーや値のリストが得られる。

キーと値の検索

has_key?、has_value?でキーや値の存在を確認。

値の参照・追加・変更

キーを指定して値を参照。存在しない場合はnil

新たなキーを指定してアイテムを追加。

キーを指定してアイテムを削除。

キーを指定して値を変更。

キーと値の順次取り出し

eachメソッドでキーと値のセットを順次取り出す。

シンボルによるキーの設定

:key => valueの形で、キーをシンボルで設定できる。

シンボルで設定する場合、key: valueの形でも設定できる。ただし参照する場合は:keyの形で。

キーのリストもシンボルで表示される。