Hatena::Groupstudyroom

phaのPHPとか自習室 このページをアンテナに追加 RSSフィード

PHP(CakePHPとか)、JavaScript(AJAXとか)、MySQL、UNIX、Fireworksなんかを身につけたい><
2007 | 03 | 04 | 05 | 06 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 12 |
2009 | 01 | 02 | 03 | 04 |
2010 | 01 | 06 |
2011 | 01 |

2009-01-14

オブジェクトについて

| オブジェクトについて - phaのPHPとか自習室 を含むブックマーク はてなブックマーク - オブジェクトについて - phaのPHPとか自習室 オブジェクトについて - phaのPHPとか自習室 のブックマークコメント

DOMNodeList(オブジェクトは?)はforeachで回せるけどfor()で[$i]では回せないのか。

2008-10-27

テーブルの結合について

| テーブルの結合について - phaのPHPとか自習室 を含むブックマーク はてなブックマーク - テーブルの結合について - phaのPHPとか自習室 テーブルの結合について - phaのPHPとか自習室 のブックマークコメント

http://mysqlweb.net/category/4025593-1.html

インナージョイン、アウタージョインなどいろいろあるが一番使われるのはインナージョイン?


マッチするのがあるときのみデータを呼び出すのが内部結合

なくてもデータを呼び出してないところはNULLで埋めるのが外部結合

CakePHPの場合


テーブルの結合について2

| テーブルの結合について2 - phaのPHPとか自習室 を含むブックマーク はてなブックマーク - テーブルの結合について2 - phaのPHPとか自習室 テーブルの結合について2 - phaのPHPとか自習室 のブックマークコメント

MySQL 編9 - 表結合(join)、単純結合、等価結合、外部結合、再帰結合 - SAK Streets

等価結合

多分これ内部結合っていう

一致するデータないと無視される

select

test2m.key1,

code1,

data1,

data2,

data3

from test2m, testm

where test2m.code1 = testm.key1

;


外部結合

データなかったらNULLで埋めてくれる

一番よく使うらしい

select

test2m.key1,

code1,

data1,

data2,

data3

from test2m left join testm on test2m.code1 = testm.key1

;


left join と right joinの差がよくわからん・・・・

** 外部結合を明示するために left join を left outer join、right join

を right outer join と書くこともできる。

(アウタージョイン、レフトアウタージョイン、ライトアウタージョイン)

2008-10-23

予告.outでGDを勉強する

| 予告.outでGDを勉強する - phaのPHPとか自習室 を含むブックマーク はてなブックマーク - 予告.outでGDを勉強する - phaのPHPとか自習室 予告.outでGDを勉強する - phaのPHPとか自習室 のブックマークコメント

php画像ごにょごにょするために

しかしなんか関数いっぱいあるけどようわからんよね


サンプル

はまちちゃん

ソースDLできる

画像を作る部分

<?php
	function str2img($str, $file) {
		// もしこのフォントでこんな文字列かいたら
		// 縦横これくらいになるよって教えてくれるやつ。なんか配列
		$imgData = imagettfbbox(12, 0, $this->font, $str);

		// 箱をつくる
		// フォントによって文字画像が半端な位置になったら↓適当に調整してね
		$im = imagecreatetruecolor($imgData[4] + 18, $imgData[1] + 24);

		$color = imagecolorallocate($im, 255, 255, 255);

		// 箱に文字いれる
		imagettftext($im, 12, 0, 6, 18, $color, $this->font, $str);

		// 書き出すよ。file指定しなかったら、そのまま表示することもできるよ
		imagegif($im, $file);
		imagedestroy($im);
	}
?>

imagettfbbox($size, $angle, $fontfile, $text)

// もしこのフォントでこんな文字列かいたら

// 縦横これくらいになるよって教えてくれるやつ。なんか配列

>imagettfbbox — TypeType フォント使用したテキストの bounding box を生成する

文字列フォントフォントサイズを教える


$im = imagecreatetruecolor($width, $height)

// 箱をつくる

// フォントによって文字画像が半端な位置になったら↓適当に調整してね

この関数で$imというのを作って、その後はそれを使い回してるな

>imagecreatetruecolor() は、指定した大きさの黒い画像を表す画像 ID を返します。


$color = imagecolorallocate()

imagettftext($image, $size, $angle, $x, $y, $color, $fontfile, $text)

// 箱に文字いれる

>imagettftext — TrueType フォント使用してテキスト画像に書き込む


imagegif()

// 書き出すよ。file指定しなかったら、そのまま表示することもできるよ

imagedestroy()

2008-10-16サイ本7章から

8章 関数

| 8章 関数 - phaのPHPとか自習室 を含むブックマーク はてなブックマーク - 8章 関数 - phaのPHPとか自習室 8章 関数 - phaのPHPとか自習室 のブックマークコメント

関数が自分自身を呼び出すとかがようわからんなーまだ

9章 クラスとコンストラクタとプロトタイプ

| 9章 クラスとコンストラクタとプロトタイプ - phaのPHPとか自習室 を含むブックマーク はてなブックマーク - 9章 クラスとコンストラクタとプロトタイプ - phaのPHPとか自習室 9章 クラスとコンストラクタとプロトタイプ - phaのPHPとか自習室 のブックマークコメント

var array = new Array(10);

new演算子と一緒に使うのをコンストラクタ関数と言う


コンストラクタ関数定義してからオブジェクトを2つ生成する例

function Rectangle(w,h){
this.width = w;
this.height = h;
}

var rect1 = new Rectangle(2,4);
var rect2 = new Rectangle(8.5,11);

オブジェクトにメソッドを追加する

var r = nwe Rectangle(8.5,11);
r.area = function(){return this.width * this.height;}
var a = r.area();

プロトタイプ継承

オブジェクトプロトタイプからプロパティ継承する

function Rectangle(w,h){
this.width = w;
this.height = h;
Rectangle.prototype.area = function(){return this.width * this.height}
}

インスタントプロパティ

インスタンスメソッド

クラスプロパティ

クラスメソッド

クラスメソッドはクラスインスタンスではなくクラスに関連したメソッドのこと

クラスメソッドはクラスインスタンスではなくクラスを介して呼び出します

Date.parse

第10章 モジュール名前空間

モジュールってある程度のスクリプトのひとかたまりかな。

JSではモジュール機能はないので、モジュールを外から呼んでくるにはある程度自分で気をつけないといけないってことかな。名前空間の衝突とか。

    

2008-10-15

DOMとかXPathとか

| DOMとかXPathとか - phaのPHPとか自習室 を含むブックマーク はてなブックマーク - DOMとかXPathとか - phaのPHPとか自習室 DOMとかXPathとか - phaのPHPとか自習室 のブックマークコメント

Document Object Model - Wikipedia

Document Object Model(DOM)は、W3Cから勧告されている HTML文書やXML文書をアプリケーションから利用するためのAPIである。 Level 1~Level 3まで勧告されている。

XMLを読み込む別のAPIであるSAXと異なり、XMLデータツリー構造して扱う事ができる。ただし、通常の場合対象XML文書を全て読み込んでからの扱いを前提とするため動作速度が遅かったり、メモリーの使用量が大きくなったりする欠点もある。

W3CではAPI仕様定義しているのみで、特定のプログラム言語対象としたものではない。 DOMの実装は各メーカーに委ねられており、DOMを実装したXMLパーサーが各メーカーから提供されている。

続きを読む

XPathについて

| XPathについて - phaのPHPとか自習室 を含むブックマーク はてなブックマーク - XPathについて - phaのPHPとか自習室 XPathについて - phaのPHPとか自習室 のブックマークコメント

たのしいXML: XPath(基礎編)

JavaScript-XPath をリリースしました!さあ、あなたも XPath を使おう!(解説付き) - IT戦記

全要素 //* /descendant::*

全 div 要素 //div /descendant::div

class 属性が "hoge" な div 要素 //div[@class="hoge"] /descendant::div[@class="hoge"]

id 属性が "hoge" な要素 id("hoge") //*[@id="hoge"] /descendant::*[@id="hoge"]

title 属性が "hoge" で class 属性が "fuga" でない要素 //*[@title="hoge" and @class!="fuga"] /descendant::*[@title="hoge" and @class!="fuga"]

form 要素の 3 番目の input 要素 //form/descendant::input[3] /descendant::form/descendant::input[3] *1

チェックされたチェックボックスの親要素 //input[@checked="checked"]/.. //input[@checked="checked"]/parent::node()