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 |

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()

2008-10-14

DOMについて勉強

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

DOMとは

Document Object Modelの略称で、W3Cによって策定・勧告される、HTMLXMLのための標準化されたAPI。文書の論理構造と、プログラムから文書にアクセスし操作するため手段を定義する。

APIなんかー

PHPDOM

PHP: DOM - Manual

マニュアル

マッシュアップしたいけどPHPでDOMはイヤ!(1/3) - @IT

実際の運用するときのあれこれとか

ハタさんのブログ : Javascripterへ捧げるPHPのDOM

JavaScriptPHPDOM操作はほとんど同じって話

2008-10-13

phpでDOMとか

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

http://imagepick.yuyarin.net/http://favotter.matope.com/

yuyarin
23:37
<?php
$uri = substr($_SERVER['REQUEST_URI'], 1);
$src_document = new DOMDocument('1.0', 'UTF-8');
$src_document->loadHTMLFile($uri);
$dst_document = new DOMDocument('1.0', 'UTF-8');
$dst_document->loadHTMLFile('./template.html');
$div = $dst_document->getElementById('contents');
$imgs = $src_document->getElementsByTagName('img');
for($i=0; $i<$imgs->length; $i++)
{
$div->appendChild($dst_document->importNode($imgs->item($i), true));
}
echo $dst_document->saveHTML();
?>

substr

第二引数の位置から第三引数の位置までを切り出す

new DOMDocument('1.0','UTF-8')

とりあえずDocumentオブジェクトを作るってことか

$src_document->loadHTMLFile($uri)

Documentオブジェクトに内容を入れる

.appendChild

>子要素群の最後に新しい子要素を追加する

.saveHTML

内部のドキュメントHTML 形式の文字列して出力する

続きを読む

画像ぶっこぬき

| 画像ぶっこぬき - phaのPHPとか自習室 を含むブックマーク はてなブックマーク - 画像ぶっこぬき - phaのPHPとか自習室 画像ぶっこぬき - phaのPHPとか自習室 のブックマークコメント

参考にする

javascript:(
 function(){
  f=function(p){
   imgs=new Array();
   while(c=p.firstChild){
    o=p.removeChild(c);
    imgs=imgs.concat(f(o));
    if(o.tagName=='IMG'){
     imgs.push(o)
    }
   }
  return imgs
  };
  imgs=f(document.body);
  for(i in imgs){
   document.body.appendChild(imgs[i])
  }
 }()
) 

http://mixi.jp/view_bbs.pl?id=35933125&comm_id=3721483

2008-10-12サイ本

1章〜3章

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

4章 変数

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


第5章 式と演算子

| 第5章 式と演算子 - phaのPHPとか自習室 を含むブックマーク はてなブックマーク - 第5章 式と演算子 - phaのPHPとか自習室 第5章 式と演算子 - phaのPHPとか自習室 のブックマークコメント

2008-10-11

youpy

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

youpy – Userscripts.org

すごいなー

これって

<script>
setInterval(function() {
  var effects = 'Shake Pulsate'.split(/\s+/);
  document._getElementsByXPath('//*').each(function(e) {
    Effect[effects[Math.floor(Math.random() * effects.length)]](e);
  });
}, 2000);

</script>

これだけでできるのかな。まだ記述意味がよくわかってないけど。

関数リテラル

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

関数リテラル

匿名関数

ラム関数

function square(x){return x*x;}

var square = function(x){return x*x;}

と書ける。

何の意味があるのかまだわからない。。。

PHPの予約語varの使いどころ

| PHPの予約語varの使いどころ - phaのPHPとか自習室 を含むブックマーク はてなブックマーク - PHPの予約語varの使いどころ - phaのPHPとか自習室 PHPの予約語varの使いどころ - phaのPHPとか自習室 のブックマークコメント

PHPの予約語varの使いどころ

PHP: クラスとオブジェクト (PHP 4) - Manual

にあるように、クラスのメンバを宣言するときに使用します。


クラスのメンバ

$class->var みたいに呼び出せるようにってことかな