Ryusuke Fuda's Tech Blog

Softweare Enginier about Web, iOS, Android.

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)※テーブルが更新された時の日付を残したいな…

xmlデータに「:」コロンがあり、simplexml_load_xmlできないときの解消法(PHP)

php

テキストデータに変換し、置換する。 $response = Utility::getFileContents($rqst); $response = str_replace('media:group', 'media', $response); $response = str_replace('media:thumbnail', 'thumbnail', $response); $xml = simplexml_load_string($r…

配列をセレクトフォームへ追加(jQuery)

セレクト: $.each(items,function(key,value){ $('#apps') .append('' + value + ''); } )

twitterbootstrapのtooltipをmousehoverで実装(twitterbootstrap)

詳しく見る script type="text/javascript"> $('.detail').popover({ offset: 10, trigger: 'manual', html: true, placement: 'top', template: '

Javascriptでタイマーを付ける。日付、時間比較(javascript)

PHPにあるmktimeがjavascriptにはない。 var now = new Date(); var time = Date.parse("2012/12/14 15:00:00"); var date = new Date(); var closing = date.setTime(time); if (now >= closing){ alert("over"); }else{ alert("safe"); }

リスト要素をクリックするとリスト要素が出てくるtoggle(jQuery)

親要素 子要素

文字列の特定部分だけ置換(javascript)

matchを使う var test = "I can fly"; var afterReplace = test.replace.match(/can/).replace("can","can't");

URLをひとつずつ配列に入れる(Javascript,jQuery)

URLからパラメータ補完 if(location.search.length > 1) { var ret = location.search.substr(1).split("&"); for(var i = 0; i < ret.length; i++) { var r = ret[i].split("="); } }

要素の取り方(Javascript,jQuery)

表示中のURLを取得 var url = location.href; URLの中でURLのサーチ情報(?で始まる検索クエリ部分)を取得 var url_search = location.search; リンク のhttp://www.abc.jpだけを取得 var url_link = $(".navigation a"); リンク1

class要素の書き換え(jQuery)

2番目のclassの"list"を"special"の文字列に変更したい var text = $(".contents .list"); $(text[1]).attr("class","special"); (解説) var text = $(".contents .list"); $textにcontentsの中のlistというクラスが配列として入る $(text[1]).att…

配列内の文字列を置換(PHP)

php

echo "$before"すると http://www.aaaaaaaaa/?bbbbbbbbb.jp となる配列があるとする。そこの/?の間にiwantchangeという文字列を入れたいとき。 $after = str_replace("/?", "/iwantchange?", $before); echo "$after"は http://www.aaaaaaaaa/iwantchange?bb…

tree結果が長すぎて検索したいとき(sh)

treeが長すぎて、その中から検索してみたいとき ①treeした結果をシェルスクリプトで別ファイルに保存 tree > list.txt このlist.txtファイルをvimで開き/で検索

5個から3個をランダムに選んで表示(PHP)

php

①各バナーにランダムに数字をふり表示をしたい ②数字が被ると同じバナーが出てしまうのでwhile文をまわしてチェック {php} $recommendPr = array(false, false, false, false, false); $rnd1 = rand(0,4); $rnd2 = rand(0,4); $rnd3 = rand(0,4); while ($rn…

複数ファイルの中身に文字列を追加する方法(sh)

自分がいる階層の2個下の階層の同じ名前のファイルconfig.phpの中の$id = array の次の行にスペース4つに続いて 'site001' ⇒ 'aaaa' その次の行にスペース4つに続いて 'site002' ⇒ 'bbbb' を追加したい場合 (自分がいる階層に名前は違うが形式が同じファ…

時間を指定してdivを出す(PHP)

{php} $currentTime = time(); $campaignFirstStartTime = mktime(12, 0, 0, 8, 16, 2012); $campaignEndTime = mktime(12, 0, 0, 8, 30, 2012); {/php} {php}if ($currentTime >= $campaignFirstStartTime && $currentTime <= $campaignEndTime): {/php} {p…

シェルスクリプトを使い複数ファイルの中身を置換する方法(sh)

①shで自動処理してもらう為バッチファイルを作る vim autoexe.bat ②バッチファイルの中にsedコマンドをかく sed -i s#'http://www.d.jp/'##g index.html | sed -i s#'target="_blank"'##g index.html sed -i s#'http://www.d.jp/'##g m1-1.html | sed -i s#'…