投稿者: admin Page 32 of 47

php_mecabをCentOS6にインストールメモ

------------------------------めかぶインストール
$ wget http://mecab.googlecode.com/files/mecab-0.993.tar.gz
$ tar zxvf mecab-0.993.tar.gz
$ cd mecab-0.993
$ sudo ./configure --with-charset=utf8
>>>>>>>>>>>>>>>>>ERR エラーのためgcc関連インストール
$ yum install gcc*
$ sudo ./configure --with-charset=utf8
$ sudo make
$ sudo make install

--------------------------------辞書インストール
wget http://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz
$ tar zxvf mecab-ipadic-2.7.0-20070801.tar.gz
$ cd mecab-ipadic-2.7.0-20070801
$ sudo ./configure --with-charset=utf8 --with-mecab-config=/usr/local/bin/mecab-config
$ sudo make
$ sudo make install

--------------------------------TEST
# mecab
競歩よいてんだ
競歩 名詞,一般,*,*,*,*,競歩,キョウホ,キョーホ
よい 形容詞,自立,*,*,形容詞・アウオ段,基本形,よい,ヨイ,ヨイ
て 助詞,接続助詞,*,*,*,*,て,テ,テ
ん 名詞,非自立,一般,*,*,*,ん,ン,ン
だ 助動詞,*,*,*,特殊・ダ,基本形,だ,ダ,ダ
EOS

———————————php_mecab
$ sudo pear channel-discover pecl.opendogs.org
$ sudo pear install opendogs/mecab-beta
$ sudo vi /etc/php.ini

Android開発のテストでActivityの参照方法[Android,Test]

Android開発のテストでActivityの参照方法が最初分からなかったのでメモ。

public class TestCase extends ActivityInstrumentationTestCase2 {
    public HogeTest() {
    	super("com.yamalab.test",MainActivity.class);
    }
	@Override
	protected void setUp() throws Exception {
		super.setUp();
		activity = getActivity();
		res = activity.getResources();
		app = (BattleMileageApplication) activity.getApplication();
		api = app.getBattleMileageWebAPI();	
	}
}

Webサイト表示を早くする方法をおさらい

高速化のおさらいまとめです。

JavaScript

圧縮する、リクエスト減らす(ファイルまとめる?)、JSのロード待たせないため</body>直前に<script>タグを書く

CSS

リクエスト減らす(ファイルまとめる?)
セレクタは右から左を心得る。
#nav li は、シンプルそうだが実は、
liを全て検索、その中から#navの子孫であるものを探す。
と大きくコストがかかる。→どうする???
.navとしたほうがレンダリングは早いかもしれない、
しかし人間が管理していく以上は、
#nav liとしたほうが良さそう、さてどれくらいのコストの違いがあるのだろうか。。。。。。

メモ(ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール より)

ルール1 : HTTPリクエストを減らす
ルール2 : CDNを使う
ルール3 : Expiresヘッダを設定する
ルール4 : コンポーネントをgzipする
ルール5 : スタイルシートは先頭に置く
ルール6 : スクリプトは最後に置く
ルール7 : CSS expressionの使用を控える
ルール8 : JavaScriptとCSSは外部ファイル化する
ルール9 : DNSルックアップを減らす
ルール10 : JavaScriptを縮小化する
ルール11 : リダイレクトを避ける
ルール12 : スクリプトを重複させない
ルール13 : ETagの設定を変更する
ルール14 : Ajaxをキャッシュ可能にする

CakePHPメモ:現在のURLの取得方法

現在のURLの取得方法

$url = Router::url(array(
	'controller' => Inflector::underscore($this->name),
	'action' => $this->action
),true);

FacebookのSDKで友達一覧+プロフィール画象(アイコン)取得(FQLでのJOIN)

JOINできないのこんな感じで。

$params = array(
	'method' => 'fql.multiquery',
	'queries' => array(
		'q1' => 'SELECT uid2 FROM friend WHERE uid1 = me() limit 10',
		'q2' => 'SELECT url FROM profile_pic WHERE id IN (SELECT uid2 FROM #q1)'
	)
);
$facebook->api($params);

mod_rewriteのリダイレクトオプション

いつも忘れるのでメモ。

[QSA] QueryStringAppend
[NE] NotEscape
[R=301] Redirect?
[L] Last?
[C] Chain 次のルールと条件の結合 AND 結合する場合
[E] environment E=VAR:VAL環境変数のセット
[F] forbidden(403)マッチしたURLへのアクセスを禁止する
[G] Gone(410)マッチしたURLは行方不明であることを伝える
[L] Last 条件にマッチした場合そこで判定を終了する
[N]next 書き換えが住んだURLを新たなリクエストとして書き換え処理を再度最初のルールから繰り返す

PhotoShopショートカット:レイヤースタイルのコピペは必須ですな。

PhotoShopショートカット:レイヤースタイルのコピペをようやくショートカットキーに登録した。
Mac環境ですが、 [Cmd]+[Ctrl]+C or [Cmd]+[Ctrl]+V
もっと早くやっとけばよかったなぁ〜

CakePHPファーストセットアップのメモ

cakephpファーストセットアップメモ
個人的にいつも設定することを備忘がてらにまとめておく。

■timezone設定

/Config/core.php

date_default_timezone_set('Asia/Tokyo');

■オリジナルの設定

/Config/bootstrap.php
最後の行に自分の設定ファイルの読込を追記

/**
* original settings
*/
config('original_settings');

実際のファイル置く場所は/Config/original_setting.php

■Databaseの設定

/Config/database.php
ローカル、サーバの切り替えをかいとく、最後の方のDATABASE_CONFIGクラスを書き換え本サーバ側の設定は分からないことが多い。

class DATABASE_CONFIG {
	public $default = array();
	public $production = array();
	public $development = array(
		'datasource' => 'Database/Mysql',
		'persistent' => false,
		'host' => 'localhost',
		'login' => '',
		'password' => '',
		'database' => '',
		'prefix' => '',
		'encoding' => 'utf8',
	);
	public function __construct(){
		if($this->isLocal()) {
			$this->default = $this->development;
		} else {
			$this->default = $this->production;
		}
	}
	private function isLocal(){
		if(
			$_SERVER['SERVER_NAME'] == '127.0.0.1' ||
			$_SERVER['SERVER_NAME'] == 'localhost' ||
			preg_match('/192\.168\./',$_SERVER['SERVER_NAME'])
		){
			return true;
		}else{
			return false;
		}
	}
}

■Bakeとか(MAMPつかってるばあい)

なんか普通の説明だとうまくいかず。以下のとおりするとうまく行った
※macOSとMAMP組み合わせ
//ソケットファイルのリンクつくる

 sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock

//phpコマンドに渡す(MAMPのPHPだけしか入ってないとフルパス必要かも)

 php ./cake.php bake

jQueyのajax()関数で、success関数に引数を渡す方法はクロージャー

jQueryのajax()関数で、successの関数に引数を渡したい。
以下の用に無名関数とか書いちゃえばいいんだけど、スコープが広くりすぎるとなにか気持ち悪い。
そんなときはクロージャがいいな。

var Hoge = {
	fuga : function(url,id){
		$.ajax({
			dataType : 'json',
			url : "hogehoge",
			context : this,
			success : function(json,status,xhr){
				this.uga(id,json,status,xhr);
			}
		});
	},
	uga : function(id,json,status,xhr){
		alert(id);
	}
}

ちゃんと調べてないのですが、たぶんsuccessが実行されるまで変数urlなどへの参照を保持する必要があり微妙にメモリを食いそう。
それよりなによりクロージャーを使えば以下のとおりすっきりできました。
可読性がいい。

var Hoge = {
	fuga : function(url,id){
		$.ajax({
			dataType : 'json',
			url : "hogehoge",
			context : this,
			success : uga(id)
		});
	},
	uga : function(param_id){
		var id = param_id;
		return function(json,status,xhr){
			alert(id);
		};	
	}
}

MySQLのInnoDBのFOREGNキーを消してからインデックス削除

メモ

ALTER TABLE `resources` DROP FOREIGN KEY `fk_resources_resource_types1`;
してから
ALTER TABLE `resources` DROP INDEX `fk_resources_resource_types1`;
すること

Page 32 of 47

Powered by WordPress & Theme by Anders Norén