あ、これ便利かも。こういうコード書いたんだけどレビューしてくれないかなぁ、というときに使えそうだ。 Chopの使い方は簡単だ。まずはレビューしたいコードをこちらで貼り付けると特殊なURLをもらうことができる。 あとはそのURLをレビュアー間で共有し、よってたかってコメントをつけていくだけだ。 デザイン的にも素敵だし、日本語もばっちりなのでちょっとした知識の共有に役立つかもしれない。 コードレビューをよくする人は検討してみてはいかがだろうか。

Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 自分の担当したWebアプリケーションを引き継ぐ際に、予備知識として説明したことのまとめ 注意事項 もともと明確に定義されていない概念や、簡単に説明するため正確さを犠牲にした部分が多い 間違っていることを前提に、疑いながら読むのがベター アプリケーションの層構造 アプリケーションを構成するオブジェクトには非常の多くの種類がある アプリケーションの(より良い)構成をオブジェクト単位で考えるのは難しいので、もっと粒度の大きい単位で考えたい アプリケーションをいくつかの層(オブジェクトの所属するグループ)に分割し、層単位でアプリケーションの構成
正規表現によるバリデーション等で、完全一致を示す目的で ^ と $ を用いる方法が一般的ですが、正しくは \A と \z を用いる必要があります。Rubyの場合 ^ と $ を使って完全一致のバリデーションを行うと脆弱性が入りやすいワナとなります。PerlやPHPの場合は、Ruby程ではありませんが不具合が生じるので \A と \z を使うようにしましょう。 はじめに 大垣さんのブログエントリ「PHPer向け、Ruby/Railsの落とし穴」には、Rubyの落とし穴として、完全一致検索の指定として、正規表現の ^ と $ を指定する例が、Ruby on Rails Security Guideからの引用として紹介されています。以下の正規表現は、XSS対策として、httpスキームあるいはhttpsスキームのURLのみを許可する正規表現のつもりです。 /^https?:\/\/[^\n]+$/
Web ページからデータを抽出してデータベースに突っ込むことに性的興奮を覚えるみなさん、『ScraperWiki』 *1 使うとキモチイイですよ。以上です。 そうではないみなさんには少々の説明が必要かと思いますので少々書きます。 *1:ScraperWiki http://scraperwiki.com/ 『ScraperWiki』はスクレーパ(Web ページをスクレイピングするスクリプト)とスクレイピングで得られたデータを共有しようぜっという Web サービスです。Wikiと名が付いていますが、Wikiっぽいページ構成になってるわけではなく、スクレーパやデータを誰でも編集できるようにして成果を共有するという理念がWikiと共通しているのが由来みたいです。 『ScraperWiki』を使うとスクレーパを作るのがラクになります: ・Webベースのエディタでスクレーパを書き、その場で実行できる
前回までのあらすじ 就活日記 (0) エントリー - laiso 離職期間にニートを自称する人に法的制裁を! 2013-01-09 19:27:49 via > RT 私は過去にニートとして2、3年の業務経験があり、この分野に未知の可能性を感じているため。業界のトップを走るphaさんに会えたことをたいへん光栄に思います。 * 「こいつ就職する気がない!?」と思われてしまいそうですが、ニートとして面白キャラに就職する道もあるかと思いpha氏の元へお訪ねしたく、お願いしたくとTwitterでやりとりしてこの度ギークハウス豊島園行ってきた次第。 もともとpha氏とは既知であり、さかのぼること2007年に帰国した際に偶然機会があり紹介してもらい(俺は全然会いたくはなかったが)こいつ今東京の宿ないねん、みたいな話をして泊めてくれるか?→ イヤです。などの問答を繰替えしたのちになぜか勝手に泊まることに
人気急上昇中のシンプルで高速軽量なWebアプリケーションフレームワーク、FuelPHPについて学ぶイベントをレポートする はじめに FuelPHPはCodeIgniterの流れをくみ、PHP 5.3以上で動作する、シンプルかつ柔軟で高速軽量なWebアプリケーションフレームワークです。日本でも昨年から人気急上昇中で、東京では昨年、有志のメンバーを中心に2回の勉強会が開催されました。いずれも大盛況で、注目度の高さがうかがえる勉強会になりました。 第3回目となる今回の勉強会では、参加者全員で勉強会を盛り上げたいと考え、ゲスト講演3本のほか、参加者によるLT(ライトニングトーク)大会を行いました。LT大会では13名の有志が、FuelPHPに関係するLTを披露しました。場所は、渋谷マークシティのサイバーエージェントで開催しました。 【参考】勉強会については以下のページをご覧ください。 FuelPHP
PHP で遊んでいます。 練習がてら、以前に作った List::RubyLike (http://github.com/naoya/list-rubylike) という Perl モジュール *1 の PHP での実装を作ってみました。 <?php require_once 'List/RubyLike.php'; echo LR(array("foo", "bar")) ->push("baz", "piyo") ->map(function ($v) { return strtoupper($v); }) ->join(", ") . "\n"; echo LR(range(1, 5)) ->grep(function ($n) { return $n % 2 == 0; }) ->map(function ($n) { return $n * $n; }) ->sum() . "\n
第1回 Google App Engine上でLL+RDBアプリを作ろう 萩原 巧 リトルソフト株式会社 中越 智哉 株式会社ナレッジエックス 2010/2/3 Web アプリケーション開発者にとって、魅力的な環境に映るGoogle App Engineだが、データの永続化などで落とし穴が存在する。これまでの開発手法を変えずに使えないだろうか(編集部) この連載では、Google App Engine(GAE)上でPHP/Rubyという2つのLL言語(Lightweight Language)によって書かれたWebアプリケーションを、できる限りいままでと同じスタイル(データの永続化にリレーショナルデータベースを用いる)で動作させる方法について解説していきます。 GAEについて少しご存じの方は、「おっ?」と思われるかもしれません。GAEになじみのない方は、「それが何か?」と感じられるかもしれ
今のPHPを作ったのは、何十人もの開発者ですよ。私は1人目の開発者だったに過ぎません。 問題を解くのが好きなだけで、プログラミングは大嫌いです。 いかにプログラミングを避けるかを考えていたら、コードを再利用するためのツールとしてPHPができました。PHPは、歯ブラシみたいなものですね。毎日使うものですけど、だから何でしょう?誰が歯ブラシの本なんて読みたがります? パーザを書くのは苦手です。本当にダメなんです。今でもね。PHPには「protected属性」も「仮想メソッド」もありますよ。情報学科の教官が「重要だ」っていうやつは何でもね。僕自身は、こんなものどうでもいいと思ってますけど。プログラミングを好む人がいるのは知ってますが、全く理解できないですね。 僕はホンモノのプログラマではありませんから、やっつけ仕事ですよ。ホンモノのプログラマは、「動いてるように見えるけど、メモリリークだらけじゃ
ユニークなのは、すでに市販されている書籍を「主教材」とし、これに基づいて試験を行う点だ。副理事長に就任予定の吉政忠志氏は、「市販本でローコストオペレーションが可能になる」と話す。「ざっと見渡したとき、すでに書籍がたくさんある。独自の教材を作る作るコストがもったいない」(吉政氏)。主教材は市場で評価の高いオライリーのものとしているが、既存のeラーニングや書籍も申請手続きを経ることで副教材として「認定」のお墨付きが得られる。また、すでに全国に38校あると見られるPHPを教えるスクールについても、認定スクール、認定コース、認定インストラクターとして登録できる制度を整える。 受験料を抑えるビジネスモデルを採用したのは、個々のエンジニアが自主的に学習してスキルアップできる環境を日本でも整えたい、という思いがあるからだという。ベンダが主体となって運営する資格試験や、企業がエンジニアに取得を推奨したり、
JavaScriptとPHPの通信 JavaScriptから見たPHPからのリクエストとPHPから見たJavaScriptからのリクエスト Ajaxを使わずにファイルマネージャを作ろう Ajaxを使わないでPHPファイルマネージャの概要と実装スタイル Ajaxを使ってファイルマネージャを作ろう Ajaxへの改変部分と注意点/ファイルマネージャの制限/Ajaxを用いたオープンソースのPHPアプリケーション/phpFreeChat/自前WebにphpFreeChatをコピーしてみよう JavaScriptはブラウザ上で実行されるインタプリタ言語である。PHPはサーバ上で実行されるインタプリタ言語である。JavaScriptとPHPのメッセージの流れは基本的に@IT上のほかの記事を参考にしてもらうといいだろう。 ■JavaScriptでの実装例 下記はJavaScriptからサーバ上のURL、「
Ajaxは今年非常にホットな話題の技術である。 @ITをはじめ、さまざまなところでもAjaxについての記事が目立つようになってきた。 ここでは、筆者が携わっているPHPかいわいでのAjaxの動きについて紹介していきたい。 Aajaxとは「Asynchronous JavaScript + XML」の略である。JavaScriptはいわずと知れたクライアント(通常ウェブブラウザ)サイドの技術であり、そこからXMLHttpRequestというものを利用し、ページ推移をせずにサーバ/クライアント間でどんどんデータ交換をしていく技術である。これとDHTMLを併用することでいわゆるAjaxになる。 この辺りの詳しい内容はAjax推進委員会による「古くて新しいAjaxの真実を見極める」を参考にするといいだろう。 PHPはサーバサイド技術、前述のとおりAjaxで用いられるJavaScriptはクライアン
2013年も本当にあとわずかになりました。 本日は今年話題になったPHPについての記事を公式のリリースやはてなブックマークから抽出してきた内容を元に今年を振り返ってみましょう。PHPにとって今年はどのような一年だったのでしょうか。 参考: 2012年のPHP周辺の話題振り返り | Engine Yard Blog JP PHPのバージョン 2013年中にリリースされたPHPのバージョンは5.3、5.4、5.5の3系統で合計29のリリースが行われました。リリースサイクルはほぼ毎月という形でした。またPHPの公式サイトがレスポンシブ対応の新しいデザインに切り替わりました。詳細は下記の通りです。 Version 5.4.11 2013/1/17 Version 5.3.21 2013/1/17 Version 5.4.12 2013/2/21 Version 5.3.22 2013/2/21
この投稿はPHP Advent Calendar 2013の13日目の記事です。昨日は@tanakahisateruのPHPが糞言語なのはどう考えても参照をポインタだと思っているお前らが悪いでした。 現在twitterのタイムラインで、史上空前のSQLのエスケープブームが起こっています。 オレオレSQLセキュリティ教育は論理的に破綻している | yohgaki's blog 「プリペアードクエリが基本だけど、動的に SQL を組み立てる場合もあるから、そういう場合に備えてエスケープも知っておいたほうがいいかも」 - Togetterまとめ エスケープとプレースホルダをめぐる議論 - Togetterまとめ SQLインジェクション対策としてのプリペアドステートメントとエスケープについての議論 - Togetterまとめ IPAの「安全なSQLの呼び出し方」が安全になっていた | yohgak
(p. 27) 端的に言えば「同じことを二度書いてはいけない」ということですね。この原則を当てはめなくてもいい例外のパターンもいくつかあるのですが。。 コードにおいて「同じことを二度書いてはいけない」を忠実に守ろうとすると、同じコードを何度も書きたくなったら、何らかの方法でそのコードをまとめる必要があります。 サブルーチン / 関数 サブルーチン化/関数化はコードをまとめる技術として最も基本的なものです。 例えば、libcurlで3つのURLに存在するHTMLを取得するコードを書いてみます。 <?php $ch1 = curl_init('http://www.yahoo.co.jp/'); curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true); $responseHtml1 = curl_exec($ch1); curl_close($ch1);
2013-11-15 我輩、激おこプンプン丸で御座候 最近やたらとお仕事関連でイライラすることがあったので列挙して問題点を洗い出してみる。 ちなみにお仕事はPHP+MySQL/PosgreSQLなWebサービス。 技術的問題点 ・htmlspecialchars()とmysql_real_escape_string()の違いがわからない技術者が在籍年数が長いという理由で存在する #正直技術者名乗るなレベル、あまりにもひどい。 #しかもそれが技術部のTOPだというから目も当てられない、この会社の技術力はゴミだと改めて実感した。 ・MVCがわかってない開発者が多すぎ #やっぱりお前らのMVCは間違っている!とかいうMVCを勘違いしているパターンなのではなく #単純にMVCが理解出来てないパターン。 ##ControllerにDBからデータ取得するSQLがあったり、ViewにController
http://www.rubyist.net/~matz/20080126.html#p04 趣味でやってるプログラミング初心者の立場で言わせてもらう。だいたいな、あんたらプロのプログラマが小難しい顔してセキュリティセキュリティ言うもんだから初心者プログラマのセキュリティ意識がまったく向上しないばかりか、よけいに低下するんだよ。ごちゃごちゃ言われたり叩かれるのはイヤだけど、眼前の問題はプログラムで解決したいってヤツは耳塞いで黙ってPHPでやりたいようにやるんだよ。何が「楽しいRuby」だよ。「Webアプリケーションをなめるな」ってその時点でもう全然楽しくねーだろが。 それでこれだよ。 http://d.hatena.ne.jp/essa/20080130/p1 もう萎縮萎縮!初心者超萎縮ですよ。「あーセンコーうぜー。隠れてタバコ吸おう」って高校生の心境だよ。難しい顔して訳知り顔でかっこつけ
僕の周りだけかもしれないですが、国内のWeb受託開発案件は「PHPで作るのが暗黙のルール」ってな勢いでPHP案件ばっかりなのですが、Python大好きな僕としては、何としてでもPythonを使って仕事をしたい! なので頑張って布教活動をしているのですが、中々良い手応えが得られないのが現状です。。 という訳で、改めてPythonを使うメリットとか、安心してクライアントにPythonを進められる理由なんかをまとめてみました。 技術者がPythonを使うメリット 「今までPHPでやってきて何の問題もなかったし、これからPython始める意味なんてあんの?」 ぶっちゃけ、そんなにないですw 結果的に出来上がる物に関しては大差ないですからね。 ただし、開発効率やメンテナンス性は飛躍的に上がると僕は思います。 ライブラリがとても豊富 PHPも沢山ライブラリありますけど、Pythonだっていっぱいあるん
愚痴です。 やはりお前らのMVCは間違っている http://www.slideshare.net/MugeSo/mvc-14469802 これ45k Viewあって、はブも600あって、Sep 26, 2012の投稿だからもおう1年以上前の話。つーかそれの波及記事もいろいろあってもう既に十分語り尽くされている、はずなのに… なぜか、未だにfat controller もうね。コード見るのが辛いんよ。つーか感覚的に分かりそうなもんじゃん。処理のエントリポイントがこんなになってていいのかなぁ?って。 改修案件でさ、コードどっから参照するよ?コントローラでしょ?んでさーコード調べるぞ!!ってなった時、そのコード見て、、、ため息出るでしょ。ひと目でわからんでしょ。 コントローラなんて,どのモデル読んでてどのview使ってるか、それだけで十分じゃん。パラメータの処理はルーティングでやればいいじゃん
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く