macportsでupdateする方法

macportsでアップデート方法をメモ。

macports本体のバージョンアップ

$ sudo port selfupdate
インストールされてるパッケージの更新(バージョンアップ)
$ port upgrade outdated
めちゃ時間がかかるかもしれないので、時間に余裕のあるときに。

https://guide.macports.org/chunked/using.common-tasks.html

MongoDBの安全な?起動終了方法

MongoDBをctrl+dで消してしまい、再起動時にエラーをはいてなかなかエラーが治らず、俺が吐きそうになったのでメモ。

  • Mongod起動

$ mongod --nojournal --noprealloc --dbpath <任意のディレクトリ(log)>

  • クライアントから接続しmongodbを終了

$ mongo
$ use admin
$ db.shutdownServer();
$ quit();

macプレビューでスクロール移動をvim風に行う

電子書籍macで見る際に標準で付いているプレビューアプリを使っていますが、スクロール移動する為にトラックパッドまで手を持っていくのが面倒
Appleに電話してプレビューの移動をキーボードでできませんかお?ってシニアアドバイザー?に相談しても解決せず(´・ω・`)<アローキーも面倒

なので、mac usKeyユーザー必須の神アプリ keyremap4macbookのCustom Setting を使い設定します。
private.xmlに下記をコピペ



SEQUELPRO
com.sequelpro.SequelPro


My keymappings

C-h to Backspace (SequelPro)
private.app_sequelpro_control_h_to_backspace
SEQUELPRO
--KeyToKey-- KeyCode::H, ModifierFlag::CONTROL_L, KeyCode::DELETE


Vim in Preview
private.app_preview_vimium_in_preview
PREVIEW
__KeyToKey__ KeyCode::J, KeyCode::CURSOR_DOWN
__KeyToKey__ KeyCode::K, KeyCode::CURSOR_UP
__KeyToKey__ KeyCode::H, KeyCode::CURSOR_LEFT
__KeyToKey__ KeyCode::L, KeyCode::CURSOR_RIGHT

ついでにmysqlguiクライアント sequel pro のキーバインドも変更しています。(ctrl+hでbackspace)
要らない方はvim in Previewあたりから
これで「J」は下、「K」は上、「H」は左「L」は右に移動できる!




仕事でwindows使いますが、XKeymacsでキーバインド変えてます。
エクセルセルの移動が楽になりますよ。
でもctrl+pで印刷www、ctrl+fで検索が使えないのがイタイ(>_<)

mavericksにしたら文字綺麗になったかも!なんでだ!(macbook white 2009)

Sublime Text 2で素早くブラウザプレビューする方法

港で噂のSublimeText2ダウンロードして放置していましたが、久々にさわってみました。
Coda2がネイティブになっている者からするとリアルタイムプレビューできないのはキツイす..><..


SublimeText2にもありました!(似たようなの)
「Browser Refresh」
ショートカットでブラウザを更新してくれます。

Package Controlから検索してみてください。
(Package Controlを入れてないかたは検索を)

デフォルトだと、macでは「cmd+shift+r」でブラウザが更新されます。

試したら他のパッケージとバッティング?してしまって動きませんでした。
なので、ショートカットを変えたところ良い感じに!

「command+s」でsaveしつつbackgroundでブラウザを更新してくれます。(゚∀゚ノ)ノ

設定方法

設定内容は↓

ツールバーの「SublimeText2」→「Preferences」→「Package Settings」→「Browser Refresh」→「Key Bindings - Default」から設定。
(更新するブラウザはchromeにしてます)


ブラウザの設定は↓
GitHub - gcollazo/BrowserRefresh-Sublime: This plugin will switch from ST2 and ST3 to Google Chrome, Google Chrome Canary, Safari, Firefox or Opera and reload the active tab



json?

ところでjsonファイルってなんだろ
JavaScript Object Notation - Wikipedia
「[]」で囲まれてるし、ネストしてるし、、、ぅ

オブジェクトリテラルとJSON:続JavaScriptのオブジェクトについて - builder by ZDNet Japan
わかんねー!寝るか!


みなさんも便利なパッケージ、機能、ショートカットあったら教えてくださいね♪(・ω<)

SQL文 メモ

SELECT * FROM items; 
//データの一覧を表示する

INSERT INTO items SET ID=100, name='商品100'; 
//デーブルitemsにid=100,name=商品100を挿入する

CREATE TABLE my_items (id INT,item_name TEXT,price INT); 
//テーブルの作成

INSERT INTO my_items SET id=1,item_name='いちご', price=200; 
//テーブルmy_itemsにidを1item_nameにいちごを挿入する

UPDATE my_items SET price=180 WHERE id=1; 
//データの変更 WHEREでidの指定 priceを180に変更

DELETE FROM my_items WHERE id=1; 
//テーブルmy_itemsのid 1を削除する

SELECT id,item_name FROM my_items WHERE id=1; 
//データの検索

SELECT * FROM my_items WHERE id=1; 
//データの検索 フィールド名の指定はなし

SELECT * FROM my_items WHERE price=180; 
//フィールドmy_itemsの中からpriceが180のものを表示する

SELECT * FROM my_items WHERE price<180; 
//フィールドmy_itemsの中からpriceが180未満のものを表示する

SELECT * FROM my_items WHERE id<>1; 
//フィールドmy_itemsの中からid=1以外を表示する

SELECT * FROM my_items WHERE keyword LIKE '%甘い%'; 
//「甘い」が入っているkeywordを表示する

SELECT * FROM my_items WHERE keyword LIKE '赤い%'; 
//keywordの先頭が「赤い」になっているものを表示する(前方一致)

SELECT * FROM my_items WHERE price>=50 AND price<150; 
//50以上で150未満のものを表示する(かつ、さらにといった条件)

SELECT * FROM my_items WHERE id=1 OR id=3; 
//idが1または3を表示する

SELECT * FROM my_items WHERE (id=1 OR id=3) AND price<150 AND keyword LIKE '%甘い%'; 
//idが1または3で、150円未満でさらに「甘い」が含まれる商品を表示

SELECT * FROM my_items ORDER BY id ASC; 
//idを小さい順に並べる(ASCは標準なので省略できる)

SELECT * FROM my_items ORDER BY id DESC; 
//idを大きい順に並べる

SELECT * FROM my_items WHERE price<=180 ORDER BY price; 
//priceが180円以下のものを安い順に並べる

UPDATE my_items SET created = '2012-07-01' WHERE id=1; 
//id=1のcreatedに日付を入れる

UPDATE my_items SET created = NOW() WHERE id=2; //NOW() : 現在の日付と時刻を取得する

SELECT SUM(price) FROM my_items; 
//すべてのpriceを合計した値が表示される

SELECT MAX(price) FROM my_items; 
//最も高い商品を表示する

SELECT MIN(price) FROM my_items; 
//最も低い商品を表示する

SELECT COUNT(id) FROM my_items; 
//ヒットしたデータの件数

SELECT AVG(price) FROM my_items; 
//price の平均値を算出する
P164
///////////////////
P174
SELECT item_id, SUM(count) FROM carts GROUP BY item_id; 
//個別の集計(GROUP BY はどの商品か表示させるため)

SELECT i.item_name,SUM(c.count) FROM my_items i,carts c WHERE i.id=c.item_id GROUP BY c.item_id; 
//リレーションを使って商品名と集計を表示する


SELECT i.item_name,SUM(count) FROM my_items i LEFT JOIN carts c ON i.id=c.item_id GROUP BY i.id; 
//外部結合  書式[SELECTFROM テーブル1 LEFT JOIN テーブル2 ON 結合の条件 WHERE …]

DISTINCT 
// 重複をなくす  例 : SELECT DISTINCT item_id FROM carts;

SELECT * FROM my_items WHERE price BETWEEN 50 AND 149;
// BETWEENは「>=」と同じ意味?

SELECT * FROM my_items WHERE id IN(1,3); 
//複数の値を一気に指定できる「INSELECT * FROM carts LIMIT 2; 
//件数の制限「INSELECT * FROM carts LIMIT 1,2; 
//カンマ区切りで始まりの位置を指定

SELECT i.item_name,SUM(c.count) AS sales_count FROM my_items i,carts c WHERE i.id=c.item_id GROUP BY c.item_id; 
//「AS」SUM(c.count)のフィールド名を変更している

PHP : Cookie IDを保存する

isset : 変数がセットされていること、そして NULL でないことを検査する
empty : 変数が空であるかどうかを検査する

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>

<?php
if(isset($_COOKIE['my_id'])){ //■1
	$myId = $_COOKIE['my_id']; //■2
} else {
	$myId = '';
}
?>


<form action="sample17.php" method="post">
<dl>
<dt>ID</dt>
<dd>
  <input type="text" name="my_id" id="my_id" value="<?php echo $myId; ?>">
</dd>
<dt>パスワード</dt>
<dd>
	<input type="password" name="password" id="password">
</dd>
<dt>IDの保存</dt>
</dl>

<p><input type="checkbox" name="save" id="save" value="on">
<label for="save">IDを保存する</label></p>
<input type="submit" value="送信する">
</form>

</body>
</html>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>

<?php
$my_Id = $_POST['my_id'];
$password = $_POST['password'];
$save = $_POST['save'];

//cookieに保存
if($save == 'on') {
	setcookie('my_id',$myId,time() + 60 * 60 * 24 * 14); //■3
	$message = 'ログイン情報を記録しました';
} else {
	setcookie('my_id',''); //■4  一番目のパラメータだけの指定は内容を削除する
	$message = '記録しませんでした';
}
?>
	
<p><?php echo $message; ?></p>
<p><a href="./sample17_input.php">戻る</a></p>

</body>
</html>