apacheユーザの「.ssh/known_hosts」ファイルはどこかなと、「/var/www/.ssh/known_hosts」にあった、メモ。
基本がわかってないなぁ。勉強不足だ。
------------------------------めかぶインストール
$ 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の参照方法が最初分からなかったのでメモ。
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(); } }
高速化のおさらいまとめです。
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をキャッシュ可能にする
現在のURLの取得方法
$url = Router::url(array( 'controller' => Inflector::underscore($this->name), 'action' => $this->action ),true);
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);
いつも忘れるのでメモ。
[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ショートカット:レイヤースタイルのコピペをようやくショートカットキーに登録した。
Mac環境ですが、 [Cmd]+[Ctrl]+C or [Cmd]+[Ctrl]+V
もっと早くやっとけばよかったなぁ〜
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
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); }; } }