躓かない入門書選びのコツ

入門書を選ぶ時の基準は3つあると思っています。一つは、作って覚えるスタイルのものであるかです。基礎から一つ一つ丁寧に教える入門書は、どうも自分の性に合わないです。退屈だし、とにかくすぐに眠くなって勉強がはかどりません。少々、他の入門書と比べて内容が薄くなってしまってもかまわないので、作って覚えるスタイルの解説書のほうが面白くていいです。また、手順通り作って動かせた時の充実感もあります。

二つは、簡潔、且つ躓くポイントをしっかり抑えられた練られた解説があるかです。作って覚えるスタイルといっても解説が専門用語ばかりであったり、肝心なところの説明がとばされていたりと初心者向けとは名ばかりの難しいものがあります。それでは右も左も分からない初心者はすぐに挫折して投げ出してしまいます。入門書として、これでは失格です。とにかく、はじめの一歩を乗り越えさせることが入門書の使命なのですから、説明の仕方には細心の注意を払われるべきです。必要な説明なのか不必要な説明なのか、スムーズに理解できる構成となっているのか等、十分に検討されているものとなっているかです。

三つは、分量が適切かです。入門書といっても何百ページもあって、一体、何ヶ月かけたら読み終わるのだろうと思われるような分厚いものがあります。これではこれから始めようとする初心者には負担が大きすぎます。こういった本を入門書とすることに、僕は本当に疑問を感じます。欲張らないというのが入門書の鉄則だと思うのですがそういったことを理解して執筆している方は少ないように思います。入門書は必要最低限の知識、厳選された知識、エッセンスだけを盛り込めばいいのです。いかに削ぎ落とすかが重要なのです。しかし、少なすぎて手応えのないものになってしまっても力がつくようになるとは思えないので具体的な分量としてはせいぜい一週間で読みきれるもの、ページ数にして200頁を越えないものが適当かと思います。とにかくエッセンスを理解できるものになっているかです。

まとめると、「面白いところから始められる」こと、「解説が洗練されている」こと、「適度な分量である」ことです。この3点が満たされて初めて入門書と言えるだろうし、このような入門書によって初めて初心者は次のステップへと進めると思うのです。

ところで、なぜこのようなことを書いているのかといいますと、これらの条件にパーフェクトに応えてくれた入門書に最近出会えたからです。入門書とはこうあるべきだよなあと感動したのでついこんなことを書いてしまった次第です。谷藤賢一著『いきなりはじめるPHP~ワクワク・ドキドキの入門教室』(リックテレコム出版)という本です。PHPをこれから始める人にとって理想的なテキストとなることでしょう。是非、お手にとってみてください。
いきなりはじめるPHP~ワクワク・ドキドキの入門教室~

写真をパズルみたいにしてみる[PhotoShop]

PhotoShopCS2で写真をパズルみたいにしてみる。

この写真をパズルみたいに加工してみます。

【手順①】

シェイプツールからパズルの図形を選択します。

【手順②】

パズルの図形を複製しては、回転させたり反転させたりして敷き詰めていきます。

【手順③】

パズルの図形をひとつずつ選択し、選択範囲を作成します。選択範囲を作成したら、その図形は不要ですので削除してください。また、ひとつひとつの選択範囲を選択しCtrlキー + Jキーで選択範囲内の写真を新しいレイヤーに複製します。

【手順④】

レイヤースタイルパレットを開き、切り抜いた写真にべベルとエンボスを加え、パズルのピースらしく仕上げていきます。③④の作業をひとつひとつのピースに対して行なっていきます。

★アクション機能の活用

同じような作業をさせるときには、アクション機能が大変便利です。アクション機能は作業工程を記憶してくれるものです。実行ボタンを押せば、記録した作業を一度で行なってくれます。今回の場合のように同じような作業の繰り返しが続く時に利用すると大変便利です。

【完成】

出来上がりです!

通知表作成ソフト[VBA]

通知表を出すときに必要な資料は次の5つです。
(1)出席簿(2)生活の記録(3)所見(4)学習の記録(5)健康の記録
これらを一括で管理し、それをもとに一気に通知表を作るソフトをExcelで作りました。

(↓)ダウンロードはこちら
励みくん
(注)まだテストの段階です。実用に堪えるものなのかはわかりませんのであしからず。

使い方を説明します。

1.立ち上げてから、「名前」シートを選んでください。

2.「児童名」、「西暦」、「担任名」を入力してから、設定ボタンを押してください。「通知表作成ダイアログ」が立ち上がります。

「初期処理」を選んで実行してください。すべてのシートに児童名等が一気に入ります。

3.各シートに必要事項を入力してください。

(各シートに入力したものは、印刷すればそのまま成績会議などの資料としても活用できます。なお、印刷設定は利用者側でお願いします。)

1)出席簿シート

2)生活の記録シート

3)所見シート

4)学習の記録シート

※「金ROM」はご活用していますでしょうか。これは日本標準が発行するワークテストに付属している成績集計ソフトです。(これが超便利!)このソフトは観点別評価をExcelデータとして書き出せるので、そのデータをここにコピー&ペーストすれば一瞬でこのシートでの作業は終わります。

5)健康の記録シート

※保険の先生に印刷したものではなく、Excelデータで貰えればこの作業もコピー&ペーストで一瞬です。

4.通知表を作成する
必要事項を全部入力したら、「通知表作成ダイアログ」を立ち上げ、該当する学期を選んで実行ボタンを押してください。

児童ひとりひとりの通知表が作成されます。

5.印刷をする
最後に通知表の印刷ですが、こちらは「表面印刷」、「裏面印刷」ボタンを押せば印刷設定ダイアログを立ち上がるので印刷できます。しかし、印刷設定で2頁を1頁に収めて印刷する設定(2in1の設定)は利用者側でお願います。(自動でできないか色々調しらべましたが分かりませんでした。Excelだけでは無理っぽいです。)あと、印刷範囲の設定もプリンタによって違うようなのでそちらも印刷する前に利用者側で設定をお願いします。

6.その他の操作

◆はげみ削除 これは、2学期、3学期と新たに通知表を作成するときに行います。つまり、1学期の通知表シートを全部、一度削除してから2学期の通知表を作成します。3学期の時も同じです。一度、2学期の通知表のシートを削除してから3学期の通知表を改めて作成してください。なお、削除すると一旦、ファイルが閉じますのでもう一度、立ち上げてください。(これはExcel側の不具合に対する対策です。)

◆リセット 次の学年で「はげみくん」を再利用する場合に使います。名前と出席簿のデータを全部削除します。手作業で削除し初期の状態に戻すのは大変ですからね。そのための機能です。 他のデータは手動で削除をお願いします。全データを削除にしようかとも考えたのですが、万一誤って消しちゃったってことになったら大変ですからね。名前と出席簿だけにとどめときました。)

オブジェクト制御の基本(2)[ActionScript3.0]

物体を加速させる

速度に加速度を加算するだけです。但し、それだけではキーが押されている限り加速を続けるので、if文で速度制限を加えます。つまり、ある一定の速度に達したらそれ以上速度をださないようにします。

↓矢印キーで動かせます。但し、画面を一度マウスでクリックする必要あり。

forked from: forked from: forked from: forked from: forked from: forked from: forked from: ボール – wonderfl build flash online  

物体に摩擦を加え自然な形で止める

上の場合ではどんなにスピードが出ていても止まるときにはピタッと止まるので不自然な感じがします。摩擦を適用して徐々にスピードを緩めるようにするとより自然な感じで止まります。

*注意点としては、スピードは限りなくゼロに近づいていきますが決してゼロにはならない点です。(例えばケーキをひたすら半分に切っていくことを考えてみてください。理論上は永遠に半分に切っていくことができますよね?)そこで、メモリを必要以上に消費させないためにあるしきい値より小さくなったら強制的にゼロにします。

≪摩擦の適用≫速度 *= 摩擦値(ここでは0.95);

forked from: forked from: forked from: forked from: forked from: forked from: forked from: forked from: ボール – wonderfl build flash online

引力を加えると

引力を加えオブジェクトを下に落下させます。
注意点として2つあります。
1つは、上方向に働く加速の力は下方向に働く引力も大きくしなければならない点です。なぜなら加速の力が引力よりも小さいと上昇しないからです。(いっそのこと上方向に対しては引力をゼロに設定してしまうのもよいでしょう。)
2つは、上下方向(y軸方向)で摩擦の適用は必要ないことです。引力が働いているので、それがその代わりとして働いてくれます。(実際の物理法則に則る必要はありません。要はそれらしく見えればいいのです。)

forked from: forked from: forked from: forked from: forked from: forked from: forked from: forked from: forked from: ボール – wonderfl build flash online  

ジャンプさせる

 上方向の加速の力を一時的に大きくすることで実現できます。ポイントは3つあります。

1つは、フラグを立て、オブジェクトが地面に着地している場合のみ一時的に大きくした加速を適用することです。

2つは、この加速は一回だけ適用されればよいので、適用された直後にはフラグをfalseにし、継続的に加速が加えられないようにすることです。

3つは、ジャンプする時にはスピード制限を付けないことです。(継続的に加速は適用されないため加速し続ける心配はありません。)

forked from: forked from: forked from: forked from: forked from: forked from: forked from: forked from: forked from: forked from: ボール – wonderfl build flash online

オブジェクト制御の基本(1)[ActionScript3.0]

1.ボールを作る

BallクラスとそれをテストするためのTestクラスです。

出来たのがこちら(↓)です。この灰色のボールを使って色々試してみたいと思います。

ボール – wonderfl build flash online

2.イージング

マウスにボールをイージングさせます。イージングは速度をボールの座標に加算すれば実現できます。

速度 = (目的の座標-現在座標)*イージング率

出来たのがこちら(↓)です。マウスを動かすとマウスに対してイージングします。

forked from: ボール – wonderfl build flash online

3.バネ

続いて先程のボールをバネ運動させてみます。バネ運動は加速度を速度に加算し、その値をボールの座標に加算すれば実現できます。つまり2段階で加算します。

加速度 = (目的の座標-現在座標)*バネ率

但し、これだけでは永遠にバネ運動を続けるのでそこに摩擦を加えます。すると、バネ運動は徐々に収束します。

出来たのがこちら(↓)です。

forked from: forked from: ボール – wonderfl build flash online

3.キーボードで物体を動かす

キーボードでボールを動かすように先ほどのコードを変更してみます。キーが押された時、キーが押されている間、キーが離された時の処理を加えます。

出来たのがこちら(↓)です。矢印キーで動かせます。(画面を一度クリックする必要あり)

forked from: forked from: forked from: ボール – wonderfl build flash online

しかし、このままではキーをずっと押しているとキャラクターは画面の外に出てしまいます。そこで次のような処置が取られます。

(A)ステージの端で止める

forked from: forked from: forked from: forked from: forked from: ボール – wonderfl build flash online

(B)スクリーンラッピング
*画面の左にでたら右から出てくる、画面の上にでたら下からでてくるといった処置。

forked from: forked from: forked from: forked from: forked from: forked from: ボール – wonderfl build flash online

FlashDevelopを活用するために [ActionScript3.0]

FlashDevelopの便利なショートカットキー

【Ctrl + Shift + 1】
○インポートされていないクラスをインポート
○イベントハンドラを自動生成
○メンバー変数、メンバーメソッドに自動変換
○ローカル変数をメンバー変数に変換
○getter/setterを生成
○インターフェースに定義されたメソッドを生成

【Ctrl + B】
○スニペット呼び出し 
*スニペットの登録/編集 [ツール]→[コードスニペットの編集]
ドキュメントから直接登録することもできる [選択]→[右クリック]

【Ctrl + H】
○検索と置換 

【Ctrl + I】
○フォルダを指定して検索と置換 

【Ctrl + Shift + K】
○16進数カラーの挿入

【Ctrl + F】
○クイック検索(検索のみしたい)移動 F3 逆順に移動 Shift + F3

FlashDevelopの便利な機能

【ブックマークパネル】
[表示]→[ブックマーク]
ブックマークの適用 Ctrl + F2
移動 F2
逆順に移動 Shift + F2
ブックマークのクリア [検索]→[ブックマークのクリア]

【タスクパネル】
[表示]→[タスク一覧]
タスクと認識される文字列「TODO」「FIXME」「BUG」使用例 //BUG 要修正

【結果パネル】
[表示]→[結果]
コンパイルエラーの場所を表示 移動 F2 逆順に移動 Shift + F2

【全ての参照を検索】
文字列を選択→[検索]→[全ての参照を検索]

【ファイルを比較】
[ツール]→[総合ツール]→[ファイルを比較]
左・・・古いファイル
右・・・新しいファイル

【import文の整理】
[リファクター]→[import文の整理]
*import文の短縮 [リファクター]→[import文の短縮]

【リファクタリング~名前の変更~】
変数名にカーソルを合わせる→[リファクター]→[名前の変更]

【テンプレート】
○読み込み
[プロジェクト]→[プロジェクトのインポート]

○作成
[ファイル]→[新規]→[AS3Document] P242~

○すべてのプロジェクトで使用するテンプレート
[ツール]→[アプリケーションファイルを表示]の[Templates]フォルダ

○より特化したテンプレート
[Templates]フォルダ→[ProjectFiles]フォルダ→[AS3Project]フォルダ

【SWCファイルの利用】
SWCファイルをlibフォルダに置く→[プロジェクト]パネルから、SWCファイルを右クリック [ライブラリに追加]

Dreamweaverでホームページを作成する時の制作の流れ

注)自分用のメモです。

1.HTMLで文章構造を定義

[1]処理エラーを防ぐための設定,言語設定,SEO対策(サイトの説明や検索キーワード)等細かいこと

[2]マークアップ

[3]リンク設定(とりあえずヌルリンク、リンクタイトル)

[4]画像挿入

[5]divタグでグループ分け
《主なグループ名(id名)》
wrapper,header,sidebar,main,footer

[6]バリデート
[ファイル]-[ページのチェック]-[マークアップのバリデート](dreamweaver8の場合)

2.CSSでページレイアウト

[1]文字コードやショートハンド,メディアタイプ(media = “screen,tv,projection”)の設定

[2]HTMLファイルにリンクをはる

[3]「*」セレクタの設定(初期化)
「*」セレクタで初期化するものは主に次の2つ
・余白,マージン [0]
・タイプのスタイル [標準]

[4]bodyタグの設定
bodyタグで設定することは主に次の3つ
・タイプ(サイズ75%、ライン高1.6 複数、sans-serif)
・背景色
・背景イメージ

[5]リンクをCSSで設定
特にa:activeの設定は覚えておきたい。

a:active{
text-decoration:none;
position:relative;
left:+1px;
top:+1px;
}


[6]コンテンツ領域全体(#wrapper)の設定
コンテンツ領域全体の設定は主に次の2つ
・幅の設定
・マージンの設定(上下を 0px 左右 auto)◆これでコンテンツが画面中央にきます。

[7]#mainの設定
・幅の設定
・フロートの適用【右】

[8]#sidebarの設定
・幅の設定
・フロートの適用【左】

[9]#footerの設定
・クリアの適用【両方】

[10]#headerの設定
・背景画像の適用
・高さの設定

[11]ヘッダー領域のロゴの位置
ヘッダー領域へのロゴの配置位置は一つ上のヘッダータグを基準にすると分かりやすい。
次のようにヘッダーにposition:relative,ロゴにposition:absoluteを設定するとそれを実現出来る。

#header position:relative;

#header #logo{
position:absolute;
left:15px;
top:15px;
}


[12]リストをレイアウトして、メニューボタンのようにする。
注)重要だと思う設定のみを抜粋している。全ての設定ではない。

#header ul{
width:858px;
position:absolute;
left:0px;
}

#header ul li{
float:left;
list-style:none;
}

#header ul li a{
line-height:2.5em;
text-decoration:none;
display:block;
height:2.5em;
width:170px;
border-top:3px solid #ffff66;
border-bottom:3px double #999999;
border-left:2px solid #ffffff;
}


[13]リンクにid属性を設定し左端のアイコンのみ以下のCSSを適用(左端にはボーダーの設定は必要ないの

で)

#header ul li#nHome a{</pre>
<ul>
	<li id="nHome">border-left-style:none;
}


[14]メイン領域の体裁を整える。

#main p{
line-height:1.8;
margin-bottom:1em;
}


[15]#footerの箇条書きの配置を横並びにする

#footer ul li{
display:inline;
margin-right:15px;
list-style:none;
}


[16]body要素にid属性を設定する。
◆こうすることで各ページに対応したメニューボタンの設定ができたり、ページごとに異なる背景を設定で

きたりする。ここでは、とりあえずホームボタンの背景のみ変更しておく。

#home #header #nHome a{
cokor:#ffffff;
background-color:#828ca7;
}


[17]テンプレートの作成
その際、#mainと#sidebarを編集可能領域にする。また、body要素のid属性を[修正]-[テンプレート]-[属

性を編集可能にする]で編集可能に設定する。
◆こうすることでヘッダー領域の背景を個別に変更できる。


[18]テンプレートから各ページを作成する。

[19]各ページを修正する。
1)各ページのbody要素のid属性を[修正]-[テンプレートプロパティ]で変更する。

2)各ページに対応したCSSを書く。

①各ページに対応したメニューボタンの設定

#home #header #nHome a,
#profile #header #nProfile a,
・
・

②各ページに対応したヘッダー領域の設定

#profile #header{
backgroun-image: url(images/header02.jpg);
}
#works #header{
backgroun-image: url(images/header03.jpg);
}


[20]サイドバー領域のメニューのリンク
*重要だと思う設定のみ抜粋

#sidebar ul{
margihn-top: 10px;
}

#sidebar ul li{
list-style:none;
}

#sidebar ul li a{
background-image: url(images/arrow.gif);
bakground-repeat:no-repeat;
background-position:left center;
display: block;
width: 210px;
padding-left: 15px;
}

#sidebar ul li a:hover{
background-image:url(images/arrow_hover.gif);
}

3.その他

FAQページを作るには → FAQをリスト定義する

[1]dlタグ、dtタグにid属性を設定

[2]dtタグにCSSルールの適用

[3]ddタグにCSSルールの適用 line-height:1.8; padding-bottom:1em;

テーブルを作成するには

[1]テーブルの挿入

[2]ボーダーを削除

[3]summaryに概要を記載

[4]ヘッダの設定→プロパティインスペクタのヘッダにチェックを入れる。

[5]thセルを検索置換で
とする(横方向)

[6]線の重なりをcollapseに設定

#main table{
border-collapse:collapse;
}


[7]背景色をクラスで設定

#main table tr.odd{
background-color: #efefef;
}

画像を並べて表示するには

[1]画像の要素をひとかたまりにする。例)

</pre>
<div class="wk">


[2]配置を設定する

#main div.wk{
float:left;
width:170px;
}


[3]文字にCSSを適用

#main div.wk h3 a{
line-height:1.2;
display:block;
border-left:3px solid #999999;
}

フォームを作成するには

[1]フォームの挿入。フォーム名を適用。

[2]フォーム内にテーブルの挿入(テーブル幅は100%、ボーダーの設定では1を削除)