PHPのMVCフレームワークを使っていたら、機能を追加するたびにControllerやModelが肥大化していき、自分で書いたコードなのに段々把握しづらくなってきました。(汗) 論理設計はともかく、物理設計では粒度を細かくして、なるべく疎結合になるようにしようと思いました。 jsstudy.hatenablog.com 細かく分けるのは良いけど、メソッドがたくさんあった場合、メソッドの一覧表があって俯瞰できたら便利だなーと思いました。 メソッドの一覧表を作成/表示する機能って、今時のIDEなら付いてるよな?と思って調べてみたらありました!ラッキー!!! qiita.com Visual Studio Codeの場合、Windowsなら「Ctrl + Shift + o」で表示しているファイル内にあるメソッドの一覧を表示してくれます。 「Ctrl + Shift + o」を押した後、さらに「
クロスサイトスクリプティングとは? クロスサイトスクリプティング(略してXSS)は、WEBサイト中で動的にHTMLやJavascriptを生成している部分に、悪意のあるコードを埋め込む攻撃です。 昨年、TwitterがXSS脆弱性によって、大騒ぎになった日がありました。 こんな風に、WEBサイトに怪しげなソースコードを埋め込み、それを見た別のユーザーに悪影響を与えます。 この対策は本質的な対策法は、 悪意あるコードを埋め込めないようにする これに尽きます。 1. <>“&は文字参照にする HTML中に悪意あるコードを埋め込めなくするためには、特殊な意味合いをもつ<>“&の文字をエスケープする必要があります。 $str = htmlspecialchars($str, ENT_QUOTES, 'UTF-8'); こうすると、<は<に、>は>に、&は&に、”は"e;
FQLで簡単に取得できます。 likeテーブル、page_fanテーブルのどちらかで取得できますが、今回はファンページをいいねしているかユーザーをチェックしたかったので、page_fanテーブルを使って取得するようにしました。 SELECT page_id,type,profile_section,created_time FROM page_fan WHERE uid = me() AND page_id = [page_id] 対象のサーバーがPHP4だったのでFacebookのSDKでは対象外なので、JavaScriptで取得するように実装したコードはこちらです。 <!-- facabook like --> <script type="text/javascript"> window.fbAsyncInit = function () { // init FB.init({ app
HTTPレスポンスをajaxでストリーミング的に受け取りたいとき、要するにHTTPストリーミングをしたい時には、Transfer-Encoding: chunkedなレスポンスを生成してやるとよい。こうするとAjaxではHTTPレスポンス全体を受け取るのを待たずに、レスポンスの中身にアクセスすることが出来るようになる。従って、一つのHTTPコネクションでサーバ側から任意のデータを好きなタイミングでプッシュすることが出来る。 コード 一秒ごとに生成されるJSONをストリーム的に受け取るデモのコードが以下。 <?php // push.php function output_chunk($chunk) { echo sprintf("%x\r\n", strlen($chunk)); echo $chunk . "\r\n"; } header("Content-type: applicati
今回はAjaxストリーミングの実装を具体的に見ていこうと思います。ストリーミングの方法はブラウザによって違いがあり、それがかなり厄介でした。特にInternet Explorerは、バージョン8でようやくストリーミングが可能になったばかりで、それより前のバージョン(6、7)ではひとつのHTTPコネクションで複数のレスポンスを得るといったことができず、ロングポーリング(Comet)といった手法で代替するしかありません。IEを除くと、FirefoxやChromeの最新バージョンは問題ありません。ただし、これらもバージョンが古いと正常に動作しないかもしれません。このようにAjaxストリーミングのクロスブラウザ化はかなり困難さを伴うものであるようです。 まず、ひとつの簡単なサンプルを作ることにしました。サーバーサイド(PHP5)でデータを小出しにするコードを書いて、それをクライアントサイドのAja
追記 DB接続時にcharset=utf8を指定 bindValueで暗黙の型変換されないように変更 Pimpleをサービスロケータとして使う場合の注意点を追加 テンプレートとしてフラットなPHPからTwigで書いた場合を追加 前提 スクリプト、ファイル、DBの文字コードはすべてUTF-8で統一です。 また、最初に以下のMySQLのテーブルがあることを前提として記事を書いています。 Database: MySQL user: myuser password: mypassword CREATE TABLE `blog_db`.`post` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `body` text NOT NULL, `date` date NOT NULL, PRI
今年も早いもので、残すところ半分となりましたね!今回は2012年の上半期までで色々なプログラミング学習サービスを徹底的にまとめてみました。今回の記事で今リリースされているものはほとんど網羅されていると思います。 今回の記事は特にプログラミング初心者〜中級者に役立つサービスまとめ記事だと思います。去年の暮れに書いたプログラミング学習サービスまとめがおかげさまではてぶホットエントリーに入るなど、プログラミング学習への注目度の高さを実感しているところです。特にスタートアップの世界では、もう文系だからとかエンジニアじゃないからと言ってプログラミングの知識ゼロで許される時代でもなくなってきていますしね。色々なサービスがありますが、ご自身の学ぶ目的やレベルに合わせて活用してください! プログラミング学習サービスまとめ 1.メールを使ってコーディング学習できるCodecademy 料金:無料 言語:Ja
How to Identify an Apple iPhone, iPod or iPad Visitor to Your Website iPhoneかiPodかiPadかを調べるPHPとJSのソースコード例が公開されています。 先日もiPad判別コードという似たようなエントリを紹介したのですが、参考になるという方もいたようなのでご紹介。 iPhoneとiPodとiPad、それぞれ、AppleWebKitが使われていますが、バージョン番号が異なってます。 まあ、わかりやすいのですが、iPad、iPhone、iPodがUAに入ってくるのでそれを判別するだけになります。 サイト上のJS、PHPコードもiPad/iPhone/iPodの文字列を調べているだけのようですが、ちゃんとやりたいという方は正規表現を使ってやるとよさそうですね。 関連エントリ iPad用のサイト作成に覚えておくこと色々
ソースコードリーディングとかしてると、ただコード読んでてもどうしようもなく、オブジェクトの中身や変数などを見るためにデバッグツールを使いながらでないとやっていけないことが今になって分かりました。自分でもどうしようもなくアホだと思いながら戒めのために覚書。 デバッグツールの機能 僕自身まともに触れる言語はjavascriptとphpくらいなもので、どちらもeclipseのようなIDEを使わず頑なにvimを使って組んできました。phpの場合はxdebugと連携させる方法*1や、javascriptならrhinoなんかを入れてquickrunとかって方法も考えられますが、僕はある程度は知っていながらもひたすら標準のスタックトレースやalert,console.log,console.dirばかりしていたので、まずはIDEなどに搭載されている一般的なデバッグ機能を復習をかねて覚書。 ブレークポイン
画像を自動判定して、スマートフォンやデスクトップなどそれぞれの表示サイズに合わせて、最適なサイズに変更して画像を表示するPHP&JavaScriptを紹介します。 導入も簡単で、5分くらいでできる感じです。 Adaptive Images in HTML [ad#ad-2] Adaptive Imagesのデモ オリジナルの画像はサイズ1900x1069px、容量631Kbで、ブラウザのサイズに合わせて、ファイルサイズを変更して画像を表示します。 ファイルサイズの変更に伴い、サイズ自体も最適化されます。
2008/05/13 Java向け統合開発環境として知られてきた「NetBeans」が各種スクリプト言語への対応を進めている。NetBeansはCDDLまたはGPLv2で配布されるオープンソースソフトウェア。サン・マイクロシステムズの社員がリードするが、コミュニティベースで開発を行っている。 2007年12月にリリースされたメジャーバージョンアップ版「NetBeans IDE 6.0」ではRuby、JRuby、Ruby on Railsをサポート。続いて2008年4月末にリリースされた「NetBeans 6.1」では、JavaScriptをサポートしたほか、5月5日には同バージョンでのPHPの早期サポートを発表するなど矢継ぎ早にサポートするスクリプト言語を増やしつつある。NetBeans 6.1ではRuby on Railsの最新版であるバージョン2.0もサポートする。 先週、米国サンフラ
古いエントリーなのですが、まだ時折検索エンジン経由?でいらっしゃる方がいるみたいなので追記 Titanium Desktopは今はTideSDKと変わってオープンソースプロジェクトになっています。 2月22日現在のTitanium Developer0.8.4&Desktop SDK 0.8.4をダウンロードしてインストールするとSDK欄がブランクでプロジェクトを作ることができないようです 解決C:\Program Files\Titanium Developer\manifestにsdk:0.8.4と追加して、アイコンをクリックすると再セットアップされます。情報元 さらに追記:Vista等では管理者権限があるユーザーを使用していても普通に開いたらこのファイルを編集できません。編集に使うエディタを右クリックして管理者権限で起動して、そこから manifestファイルを開いて編集してください
TinyMCEとは 「見たまま編集」ができるHTMLエディターの一つ。 CKEditorと並ぶ代表的なWYSIWYG(ウィジウィグ)エディター。 仕様 CakePHPで作成しメルマガ編集画面に、TinyMCEを実装する。 エディター内に携帯絵文字プラグインを実装する。 導入方法 TinyMCE をダウンロード。Download の Main Package にある tinymce_x_x_x_x.zip をクリック。 解凍後、tinymce/jscripts/ディレクトリ内にあるtiny_mceディレクトリのみを、 CakePHPの app/webroot/jsディレクトリ内に配置。 日本語化パッケージをダウンロード。[Japanese] のチェックボックスを選択し、一覧の下にある[Download]ボタンをクリック。 解凍後、tinymce_lang_packディレクトリ内の3つの
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く