サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
egapool.hatenablog.com
vim × tmux環境を整える1 この記事の結果 twitterでこの動画をみかけて以前からやってみたかったvim × tmux環境に移行チャレンジ とりあえずできるだけコピーしてみて、そこから自分にあうようにアレンジしてみる www.youtube.com 現在の環境 PHPはPHPStorm GolangはVSCode その他node等雑多なものはsublime git操作などはiTerm どのエディタもvimバインディング iTerm bash 不満点 複数エディタを行ったり来たりでスイッチングコストがめんどくさい キーバインディングを統一するのも限界がある 今後新たな言語で開発するときにまたそのため適したIDEの扱いを覚えるのが嫌 エディタと同じウィンドウでターミナルを扱いたい PHPStormもVSCodeもできるけどパネルの位置、大きさをカスタムしにくいのが不満 tmux t
PHPでセッションを開始すると$_SESSIONに値を出し入れできますが実態はsessionファイルに物理的に書き込まれています。*1 中身見たことなかったのでちょっと調べました。 sessionファイルの場所 生成場所の優先順位 php.iniのsession.save_path php.iniのsys_temp_dir /tmpとか sess_v4vqefhjjllja1bqsabekihpc4みたいな感じでsess_xxxxxxxxxxxxxxという名前のファイル名で保存されます。 sessionファイルの中身 試しにこれを実行すると <?php session_start(); $_SESSION['hoge'] = 'hoge'; $_SESSION['huga'] = 'huga'; 自分の環境だと/tmp/sess_v4vqefhjjllja1bqsabekihpc4が生成さ
1つのvagrantで複数のPHPを同時に利用できるようにします。この記事では5.6.23と7.0.0を共存させます。 CentOS6.5でapache2.4.6+PHP-FPMの構成です。 phpenv,php-buildはインストールされている前提で始めます。 起動スクリプトの用意とListenするポートの設定 php5.6.23のインストール $ phpenv install 5.6.23 [Info]: Loaded extension plugin [Info]: Loaded apc Plugin. [Info]: Loaded composer Plugin. [Info]: Loaded github Plugin. [Info]: Loaded uprofiler Plugin. [Info]: Loaded xdebug Plugin. [Info]: Loaded x
ajax通信処理でこの画像のように500 (Internal Server Error)と表示さる場合、js側ではなくサーバープログラムが間違っています。 どういうエラーなのか確かめるにはデベロッパーツールのNetworkタブを確認します。サーバーからレスポンスを受け取った以降のすべての通信内容がNetworkに表示されます。 エラーで返ってきた通信(ここはではajax.php)をクリックして右に出てくるパネルのPreviewタブを見るとエラー内容を確認できます。 500エラーで返ってきているのにPreviewタブに何も表示されない場合は、サーバー側でエラーを出力させない設定になっている可能性があります。 その場合は該当のPHP処理の先頭で <?php ini_set('display_errors',1); と記述してみてください。 エラー内容を確認して原因が明らかな場合はそこを修正して
注意 この記事ではVagrant1.8から導入されたansible_localプロビジョナを使用していますが、現在インストールされるansibleのバージョンが上がってしまいVagrant側がまだそれに対応していません。 issueにも上がっていますので近々対応されるかも・・? github.com なので現状うごきません・・! 進展があったら追記していきます。 追記(2016/06/18) 追記時点でVagrantのバージョン1.8.4が公開されており、このバージョンでは上記の不具合は解消されております。 使い方 github.com git clone git@github.com:egapool/centos66-ansible.git cd centos66-ansible vi Vagrantfile // プライベートIPとsynced_folderを各自の環境に合わせて編集
なんか何言ってるかよくわからないタイトルになっちゃいました。 状況としては、BackboneからサーバーにBackbone::synsを通じてPOST→通常のajaxと同じようにサーバー側(PHP)の$_POSTで取得しようとすると値が空。 chromeのdevelper toolのnetworkタブで送信内容を確認すると普段はFormDataとなっているところが 送信されるものがpayloadとなっていました。どうやらこれが原因のようです。 payloadとは? payloadとは一般的にhttpリクエストのhttpヘッダーを除いたボディ部分のようです。つまり送信内容そのものということでしょうか。 FormDataとpayloadの違い どちらもブラウザからデータを送ってることは同じですがContent-Typeとそれに伴いサーバーからのデータの見え方が違うようです。 // FormDa
2016年3月1日、メルカリオフィスで開催されたPHPBLT#3に参加してきました! オーディエンスより発表者の方が多いという血気盛んなこのイベント、LT枠以外にも「ブログ書く枠」が用意されていて自分はこの枠で参加してきました。 第3回の今回初参加でしたがめちゃくちゃ面白かったです! もうすでに第4回の募集が始まってますのでまだ参加したことないPHPerの方々は是非!(一番↓にリンクあります) 写真撮り忘れていたので@uzullaさんのつぶやきを拝借・・ #phpblt だいぶ酔いが回ってきたぞ?? pic.twitter.com/xDCcpkryRC— うずら (@uzulla) March 1, 2016 #phpblt すごいマイクだな pic.twitter.com/UazaTSkFaV— うずら (@uzulla) March 1, 2016 #phpblt phpっぽくないはっ
apacheを安全に動かすために // apacheの設定ファイル内にapacheの実行ユーザーを // 指定している項目があるのでそれを確認 # vi /etc/httpd/conf/httpd.conf // apacheの実行ユーザーをapache:apacheに指定 User apache Group apache // httpdを再起動 # /etc/rc.d/init.d/httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ] // コンテンツディレクトリの所有者と所有グループをapacheにする // chownの-Rオプションは指定ディレクトリ以下の全てのディレクトリとファイルを含める # chown -R apache:apache /home/httpd/html // 今後コンテンツディレクトリ以下に作
自宅ではMacのターミナルからgitコマンドを叩いてますが、職場がWindows7なのでWinでもコマンドで叩くためのあれこれ。 1. msysgitインストール CUIのクライアントソフトとしてmsysgitというものがあります。 Git for Windows bashでgitを扱う感じをWindowsでも再現したみたいな感じのものだと思います。使い勝手はMacターミナルと同じ感じです。sshとかgitコマンド以外のコマンドも使えます。昔のバージョンは日本語入力自体できないので最新版でよろしくお願い致します。 WindowsでgitをGUIで使うためのクライアントである「 Git Extension 」をインストールすると同時にインストールされますが、これはバージョンが古い気がするので要注意です。msysgitを単体で入れなおした方が良いかもしれません。 2. 日本語まわり補強 lsコ
vagrantでubuntuに入ってたMySQLが日本語文字化けしているのでその対応。 boxファイルはこちらを利用しました。 r8/vagrant-lamp まず現在の文字セットを確認 //mysqlログイン % mysql -u root -p mysql> show variables like "char%"; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database
Ajaxこと始めまとめ jQuery.ajax()のまとめ: 小粋空間 こと始めにはもってこいのエントリです。 jQuery.ajax(settings) - jQuery API 1.4.4 日本語リファレンス - StackTrace どんなプロパティがあるか?を使い方と合わせて見やすくまとめられています。 サーバー側(PHP) レスポンスのHTTPヘッダー JOSNを返す場合 JSONを返す場合はしっかりヘッダにjsonである旨を記載しましょう。 Content-Type: application/json 理由はこちらのブログにとても詳しく書いてあります。有難うございます。 PHPのイタい入門書を読んでAjaxのXSSについて検討した(3)~JSON等の想定外読み出しによる攻撃~ - ockeghem(徳丸浩)の日記 またもIEが IEはContent-Typeヘッダを無視して、内
PHPでインスタンスを生成する際はその対象となるクラスが実装されたファイルがあらかじめ読み込まれてなければなりません。 <?php require 'someClass.class.php'; $instance = new someClass; ですが、生成するインスタンスが多くなるとその分たくさんrequireしないといけません。 またファイルごとにどのクラスファイルを読み込むかチェックするのも面倒です。 なので、インスタンスを生成時に必要なクラスファイルを自動で読み込む仕組み、オートロードというやり方を使います。 __autoload()について __autoload()とは、インスタンス生成時に対象となるクラスが読み込まれていない時に呼ばれる関数 です。呼び出し時にそのクラス名を引数として与えます。__autoloadの使い方としては、その引数(=クラス名)をもとにクラスファイルを
前提 すでに公開ディレクトリに走らせているソースコードがある。 今までは一人で管理していたが、複数人でgitで管理することにする。 ローカルからプッシュすると公開ディレクトリに自動でビルドされるようにする サーバー環境はさくらのVPSでCentOS5.6。 gitはすでにインストール済み。 公開ディレクトリを/var/www/html/website/とする。 中央リポジトリを/var/www/git/website.gitに置く。 流れ 作業グループを作成してユーザーを所属させる 中央リポジトリを作成 公開ディレクトリ以下をgitで管理 公開ディレクトリから中央リポジトリにプッシュ 公開ディレクトリを消去して新規作成 公開ディレクトリ上で中央リポジトリをクローン ディレクトリの権限等をきちんと設定 ←一番大事! 中央リポジトリにローカルからプッシュすると公開ディレクトリに自動でビルドさせ
前回で近いうちにAjaxのセキュリティについて書きます!と宣言しましたが、あれはつまりCSRF攻撃の対策についてでした。今回はAjaxでCSRF対策を行う方法を書きます。 先に結論 Ajax通信におけるCSRF攻撃対策は通常の遷移時に施す対策と考え方はかわりません。 実装方法 ログイン時にトークンを生成しセッションオブジェクトにセットし、トークンをクライアントに送信 クライアント側のjsスクリプト内でトークンをAjax通信時に常に付加するように設定 サーバー側でAjaxで送信されたトークンの有無とセッションオブジェクト内のトークの一致を確認 ログアウト時にセッションは全て破棄 ここで生成するトークンはワンタイムではないです。ログイン時にずっと使いまわします。 ところで、パーフェクトPHPチルドレンとしては見逃せないエントリが CSRF対策のトークンをワンタイムにしたら意図に反して脆弱になっ
このページを最初にブックマークしてみませんか?
『egapool.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く