チェ・ゲバムラの日記

脱犬の道を目指す男のブログ

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

【JS】いつか使えそうなJavaScriptライブラリのメモ(随時更新予定)

Webサイトやアプリなどへ複数人によるリアルタイムコラボレーション機能 Mozilla Labs : TogetherJS グリッドレイアウトを究極にカスタマイズできるライブラリ Muuri - Responsive, sortable, filterable and draggable grid layouts 参考 面倒な作業不要で…

【CentOS】SFTPにアクセス制限をかけて他のディレクトリを見られないようにする方法

自分だけのサーバを適当にいじくり回していたが、 遂に他の人にも特定のディレクトリをいじくり回してもらうことになった。 もちろん自分の秘密のディレクトリはディレクトリ名すら見られたくないので上階層は移動もできなくしたいし、 ログインしたら他の人…

【CakePHP2.x】ソーシャル連携(SNS)~CakePHP2実践入門「16章」~

OAuth概要 SNS連携の場合OAuthというセキュアにAPIを承認するためのプロトコルを使用する。 アプリケーションの登録 Twitterの場合、CallbackURLを指定しないと自動的にクライアントアプリケーションとして認識されてしまい、 ブラウザアプリケーション用の…

【CakePHP2.x】キャッシュによるパフォーマンス改善 ~CakePHP2実践入門「15章」~

パフォーマンス計測してボトルネックを探す ボトルネックの調査 計測方法 Xdebug、XHProfなどが代表的だが少し慣れがいるのと、PHP拡張インストールも必要なため、 簡易的に実行時間を記録するBenchmarkコンポーネントを作成、利用する方法もある。public $c…

【CakePHP2.x】公開環境設定とデプロイ ~CakePHP2実践入門「14章」~

動作環境の切り替え テストと本番環境によってDB情報などが違うことはよくある。 その時に設定情報をできるだけ簡単に切り替える方法のイロハ。 ホスト名による切り替え $_SERVER['SERVER_NAME'] の利用 ※簡単だが、コンソール、シェルを使用した場合はホス…

【CakePHP2.x】役立ちそうなコラム ~CakePHP2実践入門~

この本を読んでいて役立ちそうなコラムがちょくちょくあるのでここに書いて置く。 アクションごとにモデルを作る モデルが肥大化するのは特性として仕方のない事ではあるが、 出来るだけ肥大を避けたい場合はアクションごとに切り分けて作成した方が良い。 1…

【CakePHP2.x】セキュリティ~CakePHP2実践入門「13章」~

代表的な攻撃 SQLインジェクション DBに対して外部から任意の操作を許してしまう問題。select * from users where email='a@example.com' and pass='pass01' limit 1; に対してフォームから email : a@example.com pass : pass01' OR 1=1 (最後に半角スペー…

【CakePHP2.x】ユニットテスト ~CakePHP2実践入門「12章」~

ユニットテストとは 単体テストのこと。 「手動」ではなく、テストコードを書いて「自動的」かつ「正確」にテストできる仕組み。 テスティングフレームワーク PHPUnitインストール $ pear upgrade PEAR $ pear config-set auto_discover 1 $ pear install pe…

【CakePHP2.x】コンソール/シェルの利用 ~CakePHP2実践入門「11章」~

あまり使う用途が想像できないwけどせっかくなので流し読みした結果だけ。 コンソールとは CUIを使って実行するアプリケーションを作る仕組みのこと。 コンソールから実装可能なアプリケーションをシェル。 シェルの間で共通の処理をタスクという。 bakeも…

【CakePHP2.x】プラグインを使ったフレームワークの拡張 ~CakePHP2実践入門「10章」~

よく使うプラグイン3選DebugKit デバッグバーを表示Search plugin 検索機能追加MigrationsPlugin データベースのスキーマ機能をバージョン管理 プラグインの自作 bakeコマンドで自動スケルトン作成がおすすめ 1.app/Plugin/ 2.Plugin/ のどちらの配下に作る…

【CakePHP2.x】CakeEmailクラスを使ったメール送信 ~CakePHP2実践入門「9章」~

メールヘッダインジェクション対策 登録フォームでメール、所属を入力してもらい、 それをそのままメールヘッダに入れるプログラムの場合。 改行コードが入ると勝手にCCアドレスも入力できちゃったりする。通常Cake側で自動処理して欲しいところだが、 CakeP…

【CakePHP2.x】コアライブラリを使ってフレームワークを使いこなす ~CakePHP2実践入門「8章」~

コンポーネント Controllerで同じ処理を行う時、コンポーネントとして外に追い出して共通利用する ビヘイビア Modelで同じ処理を行う時、複数モデルが関連するときに取得する範囲を設定する (パフォーマンスの低下を防ぐ) ヘルパー Viewで複雑な処理を行う…

【提案書】プレゼン資料に限らず、相手に図解で説明するときに重宝するサイトメモ

提案書作成時のメモ。http://tomoyukiarasuna.com/make-images/このサイトは具体的で説明も分かりやすい。 1分くらいさっと見だが、 ・綺麗さよりもシンプルに ・できるだけ要素を削る ・デザインの基本原則を守る(近接、整列、コントラスト、反復) ・クオ…

【CakePHP2.2】タスクアプリケーションの作成

Controller array( 'Task.status' => 0 ) ); $tasks_data = $this->Task->find('all',$options); //debug($tasks_data); $this->set('tasks_data',$tasks_data); } public function don…

【CakePHP2.x】Viewについてのメモ

Viewでは・リクエスト情報が使える ・ユーザ入力がある情報を表示する場合は基本全てh()関数でエスケープする request->data['keyword']); ?> ・Viewの外側にレイアウトがあるイメージで、 ヘッダ、フッタ共通はレイアウトに書く。 でもファイルの場所はvie…

【CakePHP2.x系+Mysql】Modelについて(SQL文のコピペ用、複数テーブル結合など)

Modelでは ・データ操作 ・バリデーション ・アソシエーション(複数モデル操作) が可能。 データ操作はfind,saveなど アソシエーションは$belongsTo,$hasManyなどがよく使われてるそう。 Mysql操作 めちゃくちゃ使うのにググってもシンプルなの書いてある…

【セキュリティ向上】ファイル改ざん検知システム(AIDE)

あれ? 画像の格納ファイルがないぞ?なんてことありますよね。そう、そんなときはハッキングされている可能性があります。そんな時のためにこれ! ファイル改ざん検知システム(AIDE) ファイル改ざん検知システム(AIDE)を構築してみる – CLARA ONLINE te…

【CentOS6】サーバのディスク容量圧迫原因調査とMySQL(InnoDB)のテーブルスペースibdata1の肥大化

とあるサーバのディスク容量が多くなっていたので確認した時のメモ。 環境 CentOS6 Apache 2.2 手順 1.rootログインして下記で状況確認。 df -h 2.下記いずれかのコマンドで調査 ルート以下すべて再帰的に確認 du -s /* ※オプションhをつけるとM、Gとか…