Ryusuke Fuda's Tech Blog

Softweare Enginier about Web, iOS, Android.

2013-01-01から1年間の記事一覧

subversion で毎回パスワードを聞かれなくする

~/.subversion/configこのファイルの2行をyesにする。 store-passwords = yes store-auth-creds = yes

mongoDB基本コマンド

/* DB */ db.help(); db.stats(); show dbs; use videodb; db.dropDatabase(); //connect しているDBを削除 /* collection */ db.createCollection("videos"); show collections; db.videos.drop(); //collectionの削除 db.videos.renameCollection("movies"…

javascriptで配列をシャッフル(Javascript)

JSにはPHPのような配列をシャッフルする関数が用意されていない。 自分で関数を作るしかない。■ 方法① var test = new Array(a,b,c,d,e,f); test = arrayShuffle(test); //shuffle array function arrayShuffle(list){ var d, c, b = list.length; while(b){…

node.js ドメインのポート番号なくす

ポート80のサーバーを作り、プロキシサーバとしてそこにアクセスが来るようにして、そこから各ポートへ飛ばす。■app.jsを作る。 var url = require('url'), http = require('http'); var port = 80; http.createServer(function(serverRequest, serverRespon…

正規表現、デリミタ(PHP)

正規表現を使ってpreg_replaceを行うとき、http://などがあると、エラーになり、nullを返す。 $title = preg_replace("/($searchWord)/", "<strong>$1</strong>", $titleOrg); $searchWordにhttp://が入ってきた時におこる それを回避するときはパターンを delimiters で囲む…

fgetcsv() の注意点

php

fgetcsv()でcsvファイルを読み込む時に""で囲まれていない1バイト以外の文字(日本語など)は正常に読み込まれない。 setlocale(LC_ALL,'ja_JP.UTF-8'); を使うと読み込まれる。 setlocale(LC_ALL,'ja_JP.UTF-8'); $handle = fopen($csv, 'r'); while (($data …

forever使用時の注意 node.js

node.js のバージョンが変わるとforeverも再インストールする必要がある。 npm -g install forever ※ -g グローバルでインストール forever -vバージョンが出ていればOK forever list動いているnodeがあるか確認 forever stop 0あれば一度止める node app.js…

node.js,Express,MongoDBを使ってAPI作成

参考) https://github.com/jaredhanson/passport-twitter/blob/master/examples/signin/app.js http://coenraets.org/blog/2012/10/creating-a-rest-api-using-node-js-express-and-mongodb/

Expressインストール

$ npm install -g express

node.jsインストール

インストール手順 ①nave(node.jsバージョン管理) ②node.js ③npm■naveインストール $ git clone git://github.com/isaacs/nave.git $ ./nave/nave.sh install latest■最新バージョンのnode.jsインストール $ ./nave/nave.sh use latestnode.jsのバージョン確…

PHPにおけるダブルクォーテーションとシングルクォーテーションの扱いの違い

php

■変数に対する処理の違い・ダブルクォーテーション ・・・文字列中の変数を展開する ・シングルクォーテーション・・・文字列中の変数を展開しない という違いがあります。そのため、変数の展開を使わないときはシングルクオーテーションを使ったほうが処理速度が…

var_dumpが効かない場所でのデバッグ方法(PHP)

php

$paramの中身が見たいとき @file_put_contents('/home/user/tmp/a.txt', var_export($param, true)."\n", FILE_APPEND);これを見る tail -f /home/user/tmp/a.txtオプション -f で自動更新されるのでいちいちtailする必要はない

memcached がstopできないとき。

無理やり止める方法 ps -ef | grep -r "memcached" プロセスからmemcachedを探す kill -9 27764memcachedのidを確認しそのプロセスを消す

アドレスバーでJSが動いてしまう脆弱性対処法

javascriptで値を渡すときに、htmlにencodeしていないとjsが動いてしまう。 var product_id = function gotopay(){""; document.payform.action="https://aaa/shopping/products?id="+product_id+"; document.payform.submit(); } となっている場合、 $_GET[…

PCのシステム情報を表示(Linux)

uname -i

変数ににhtmlのタグ<img 等が入ってデザインが崩れるときhtmlspecialchars関数を使う(PHP)

php

$cntent = "わたしはスキーにいきます。" $content = htmlspecialchars($content); //特殊文字を HTML エンティティに変換 $content = str_replace('<p>', '', $content); //を消す var_dump($content); rssのdescriptionにタグが入っていることがあるので、そ</p>…

html内のどこかのリンクをクリックしたらfunction呼ぶようにする(Javascript)

googleAnalyticsとかで使える $('a').click(function() { console.debug($(this).attr('href')); alert ($(this).attr('href')); //clickしたurlをアラート表示 }); var clickTracker = _gat._getTracker("UA-00000000"); $('a').click(function() { console…

PHP比較の落とし穴(PHP)

php

PHPの比較は注意が必要 '1hoge' == 1 //ture 'hoge' == 0 //true となる。つまり先頭が数字じゃないとどんな文字列も数値0扱い.先頭が数字ならどんな文字列も先頭の数字扱い。ちなみに === で比較すると型も一緒に比較してくれる(完全一致)参考)http://w…

$_SERVER(PHP)

php

●URLを直接叩かれた時にアクセス拒否にする方法 まず、index.phpを読み込んだとする。 index.phpが実行されるとconstant.phpへ行く。 constant.phpの中

create mysql (mysql)

●statusという名前のDBをつくる mysqlに入る mysql -u root DB情報を表示 mysql> show databases; DB作成 mysql> create database satus; ●mysqlから抜け、以下を実行 $ mysql -u root -p -D status < tables.sqltables.sql というファイルを実行させる。 -u…

setIntervalの使い方(Javascript)

●こういうdivがある $(function(){ var t = 0; var changeOvTop = setInterval(function() { t++; if (($("#top").css("display") != 'none') || (t > 2)) { if ($("#top").css("display") == "none") { $("#top").after('test'); } clearInterval(changeOvT…

エラー文 HTTP status code の話

●基本的に 200,400,500 で足りる 200:Successful 400:Client Error 500:Server Error●APIの処理の所では403,404を加えれとなお良い 403:Forbidden URLは正しいが他の理由でエラー 404:Not Found URLの中のidやパラメータが違う等参考)http://www.asahi-net.…

DB設計(MySQL)

●日付を扱うときtypeはdatetimeではなくint(10)unsignedにしたほうがプログラム上扱いやすい。 理由)出力が下記のようになるから。datetime : 2013-01-09 23:59:59 int(10)unsigned : 1357722137(UNIX TIMESTAMP)※テーブルが更新された時の日付を残したいな…