タグ

amachangに関するockeghemのブックマーク (17)

  • ウェブアプリのセキュリティをちゃんと知ろう

    7. ウェブアプリの入力、処理、出力入出力ウェブサーバウェブアプリ(PHP など)外部 API サーバ(Facebook API 、決済会社など)入出力処理入出力データベースサーバ(MySQL など)ウェブブラウザ 10. ウェブサーバーを通したウェブブラウザからの入力の仕様を考えようPHP に入ってくる値は何かを知る可変長のバイト列 (文字列ではない!!)GET パラメータPOST パラメータアップロードファイルリクエストヘッダ (Cookie など)実際の処理に渡すべき値は何かを考える文字列か、バイト列か?文字コードは何か?(ウェブサーバーでバイト列を処理することってあまりないので、 PHP では基的に文字コードのバリデーションは必要だと思って良い)長さはどうか?どういう文法や構造を持つデータ?入力された値を実際の処理に渡すべき値かどうかを確認することを「バリデーション」という 11

    ウェブアプリのセキュリティをちゃんと知ろう
    ockeghem
    ockeghem 2011/09/19
    考え方は同意/スライド12の==='image/gif'は!==では?/スライド19のpreg_replaceは不要かと(json_encodeは/をエスケープするので)
  • 今まで、何かしらの問題を Excel を使って解決したことがある人に質問です。…

    今まで、何かしらの問題を Excel を使って解決したことがある人に質問です。 - その問題は、何ですか? - どのように考えて Excel を使おうと思いましたか? - どのように Excel を使いましたか? よろしくお願いいたします。

    ockeghem
    ockeghem 2010/02/02
    amachangからのコメントが欲しくて回答したが、タッチの差でしめきりになってしまいました
  • JavaScript 内で無圧縮 ZIP を作って Data URI を生成するライブラリを作りました - IT戦記

    ちょっと思うところあって JavaScript 内で、複数のファイル情報を作って Zip で固めて、 Data URI を生成するライブラリを作ってみました。 ソースは以下の zip.js です。 http://svn.coderepos.org/share/lang/javascript/Zip/ 使うには 以下の base64.js が必要です。 http://svn.coderepos.org/share/lang/javascript/Base64/trunk/ この base64.js は弾さんが作ったものです。 今回 Zip で使うように、ちょっとチューニングさせていただきました。 こんなことができます // zip オブジェクトを作る var zip = new Zip; // 文字列をファイルとして追加する zip.addString('Hello, world!!', '

    JavaScript 内で無圧縮 ZIP を作って Data URI を生成するライブラリを作りました - IT戦記
    ockeghem
    ockeghem 2008/12/01
    無圧縮zipと聞いて、中に攻撃用スクリプトを入れて、IEのContent-Type無視問題を利用して攻撃することが真っ先に頭をよぎったのは職業病だろうか/おっとIEでは使えないのか…/thx > id:hasegawayosuke
  • amachang (天野仁史)のメールアドレス - IT戦記

    2008 年 9 月 12 日に携帯電話のメールアドレスを変更いたしました 新しい携帯電話のメールアドレスは amamama◎docomo.ne.jp (◎は、@に置き換えてください) になります。 ちなみに PC のメールアドレスは seijro◎gmail.com (◎は、@に置き換えてください) です。 というわけで 今後ともよろしくお願いいたします。

    amachang (天野仁史)のメールアドレス - IT戦記
    ockeghem
    ockeghem 2008/09/13
    個人情報漏洩?違う、流出?、違う、公開
  • #9 日本人初の快挙!高橋直大、アルゴリズム部門世界3位! | gihyo.jp

    Imagine Cup最終日、ワールドフェスティバル。 この日、各部門を制したトップスリーが発表されます。 日人で、ここまで進んだのはアルゴリズム部門に出場した高橋直大君。 アルゴリズム部門は、出題された複数の問題を24時間以内に解くという競技で、作ったプログラムの性能を競います。 豪華な舞台、ルーブル美術館に併設された大広間。勝敗を見守る記者や出場者たち。 いよいよアルゴリズム部門入賞者の発表が始まりました。 「The 3rd place winner is Naohiro Takahashi!」 司会者の大きな声とともに会場が湧きます。 高橋君は、今まで日人が成し遂げることのできなかったImagine Cupアルゴリズム部門第3位入賞を果たしたのです! Imagine Cup 2008アルゴリズム部門には、世界134ヵ国15,394人の学生が応募していました。その中でみごと世界3位

    #9 日本人初の快挙!高橋直大、アルゴリズム部門世界3位! | gihyo.jp
  • amachangのすごいところ(d:id:amachang:20080612) - 葉っぱ日記

    関数呼び出しの( )は演算子としての( )で、呼び出しとかには「foo( )」とはあまり書かない。Wikipedia (ja)くらいである。複数の引数を持つ場合は「Call Wikipedia(ja, en)」と書くことが多い。口語では「Wikipedia ja, en」だろうがなんでもいいが「Wikipedia(ja, en)」とか書かれると大丈夫かなと思う。MsgBoxをたむけんよろしく「alert」と読んでないか心配である。「でばっぐの確認には「alert」を呼び出しする」とか書いてくれそうでそれは期待。 そしてコメント記述の醍醐味であるRem文を使っていない。せっかくのメタキャラクタを避けた書き方を覚える機会を捨てている。WAFのエラーを消すためだけに'でサニタイズしてないか心配である。 関数の返り値は関数名と同じ変数への代入だが、何度でも読み書きできることを書いてもいいよ

    amachangのすごいところ(d:id:amachang:20080612) - 葉っぱ日記
    ockeghem
    ockeghem 2008/06/13
    id:hasegawayosukeのすごいところをきぼんぬ>誰か
  • Windows から Mac へは普通に移行できるという例 - IT戦記

    id:nishiohirokazu は 3 週間くらい前にサブマシンとして MacBook を買ったのに、ここ 1 週間くらいで既にメインマシンになってしまっている。 しばらく観察しているが、 Windows マシンはずっとスクリーンセーバーだ

    Windows から Mac へは普通に移行できるという例 - IT戦記
    ockeghem
    ockeghem 2008/03/27
    ふーん、そんなものですか。
  • MacBook 買った後にやったことまとめ - IT戦記

    ここに少しずつ追記していきます。 購入 Apple Store 渋谷店で amachang「一番安い MacBook ください」 店員「はい、こちらの 129,800 円のでございますね」 amachang「メモリ 2GB に増設してください」 店員「はい、141,000円くらいになります」 amachang「VMWare Fusion もください」 店員「はい、いま Mac を買うとキャンペーンで安くなりますので、 8,900 円になります」 amachang「わー!やった!」 amachang「ゲスト OS として Windows XP を入れたいんですけど、売ってたりします?」 店員「売ってませんねー」 amachang「わかりましたー」 店員「では、お会計しますー」 : 店員「では、メモリお取り付けしますので、 40 分ほどお待ちください」 amachang「付けてくれるんですね」

    MacBook 買った後にやったことまとめ - IT戦記
    ockeghem
    ockeghem 2008/03/18
    将来MacBookを買ったときのためにブクマ/結論:Apple Store 渋谷店ではWindowsXPは売っていない
  • amachang氏によるプレゼン資料「IT戦士の作り方」 | gihyo.jp

    サイボウズの新卒採用説明会にて発表されたamachangこと天野仁史氏によるプレゼン資料です。 今ではJavaScript界隈で有名になった彼が、15歳で家出をした生い立ちから、ブログで自分を晒すことで成長したことまで、どのように実力をつけていったかを明かしています。 彼が思う「大切なこと」として、次の4つを挙げています。 プライドを捨てること 自分を晒すこと 人と出会うこと 技術を愛すること わずかな期間でみるみるスキルを伸ばしていった彼のブログのプロフィールには「ただただ、がむしゃらにソフト開発をしていたい」と書いてあります。そのがむしゃらさの背景にはこの4つが隠れているのかもしれません。 エンジニアという職業柄、プライドを捨てることが難しいという人は少なくないでしょう。天野氏は、はじめに自ら「勉強ができない」「⁠バカプログラマ」と称することによって、自分を晒すことへの障壁を壊していま

    amachang氏によるプレゼン資料「IT戦士の作り方」 | gihyo.jp
  • http://twitter.com/amachang/statuses/728406182

    http://twitter.com/amachang/statuses/728406182
    ockeghem
    ockeghem 2008/02/19
    家内が話しをしている時に型推論のことを考えるのは危険だ。「私の話聴いてるの!?」と問い詰められ、「も、もちろん聴いているとも」といいながらバックグラウンドで聞いていた内容を必死でかき集める…
  • https://twitter.com/amachang/statuses/659075442

    ockeghem
    ockeghem 2008/01/30
    素直に受け入れられない人が多いと思うね
  • わーい \(^o^)/ Scheme もどきを JS で書いたよー! - IT戦記

    昨日の夜のこと (1000 人スピーカープロジェクトの打ち上げが終わって、解散後、数名でサイボウズラボに寄り道) id:amachang: あー今日は楽しかったねー(レゴみたいなおもちゃで遊びながら) id:nishiohirokazu: うんー楽しかったねー(レゴみたいなおもちゃで遊びながら) id:amachang: yuum3 や yad-EL さんが言ってたみたいに SICP 読んでみたいなー id:yukoba: …黙々… id:amachang: ところで yukoba さん、さっきから何やってんの id:yukoba: え? Scheme 作ってる(超笑顔) …レゴみたいなおもちゃ ポロリ id:amachang & id:nishiohirokazu: えー!抜け駆けずるいー!!!>< id:amachang: おれも作る><! id:nishiohirokazu: えっえ

    わーい \(^o^)/ Scheme もどきを JS で書いたよー! - IT戦記
    ockeghem
    ockeghem 2008/01/21
    PascalもどきをJSで書かなければならないような気になってきたww
  • amachang―メランコリックな渋谷系Javascriptハッカー

    amachang―メランコリックな渋谷系Javascriptハッカー:New Generation Chronicle(1/3 ページ) 常に明るく振る舞うその裏で、理想と現実のかい離を常に思い悩み続けてきたamachang。幾つもの伝説を持つ一風変わった渋谷系ライフハッカーに「New Generation Chronicle」のWeb2.0系スレッドを継承していただいた。

    amachang―メランコリックな渋谷系Javascriptハッカー
  • IT 戦士の作り方

    操作方法 → キー: 次のページへ ← キー: 前のページへ ↑ キー: 目次ページへ ↓ キー: 目次ページから戻る 目次ページでは ← → キーで一覧を移動し、クリックで選択します

    ockeghem
    ockeghem 2007/12/11
    『僕は凄くない。才能もない。知識もない。地頭も悪い。勉強も出来なかった』<勉強の件はおそらく事実なんだろうが、『地頭も悪い』というのは事実に反すると思います
  • 申し訳ございませんお探しのページが見つかりませんでした

    404 not found 申し訳ございません お探しのページが見つかりませんでした お探しのページは、移動または削除などの理由で表示することができませんでした。 お手数ですがトップへ移動するか、下記よりお探しの情報をご確認ください。

    申し訳ございませんお探しのページが見つかりませんでした
  • for 文を setTimeout に変換する - IT戦記

    for 文で 100 項目とか 1000 項目とかあるテストケースを処理するとブラウザが固まる。 こんなダイアログが表示されます。 ということで for 文を setTimeout や setInterval に変換する事で定期的にブラウザに処理を戻すことができる。 // ここでは console.log のところでログを取ってますが // 通常は処理が入ります。 for (var i = 0; i < 3; i ++) { console.log('a' + i); } /* * 結果 * a0 * a1 * a2 */ これをまず while 文に変換 var i = 0; while (true) { if (!(i < 3)) break; console.log('a' + i); i ++; } /* * 結果 * a0 * a1 * a2 */ で、 setTimeout に

    for 文を setTimeout に変換する - IT戦記
    ockeghem
    ockeghem 2007/11/08
    実行速度はどれくらい変わるのだろう / 失敗なんてないんです
  • IT戦記 - JavaScript の this について

    WEB+DB PRESS 編集の R たんから、僕の連載記事に読者様から質問が来ていると教えていただいたので、その内容を教えていただきました。 以下、内容を転載 「JavaScriptわくわく開発道」の記事に関して質問です。 今回の内容で特に興味を持ったのはthisキーワードの振る舞いでした。 thisキーワードの説明には、オブジェクト型の変数を別の変数にコピーしてから初期化すると、コピーした変数からメソッドを実行できなくなるという例が紹介されていました。 そこには「(1)の時点でobj0には{}が入っているため、hogeは未定義となってしまう」という説明があるのですが、誌面の都合上省略があるためか、thisキーワードを用いることで問題を回避できるという理由がなかなか理解できないでいます。 自分なりに考えてみたところ、内部的には以下のようなことが起きているのではないかと思いました。 (1)

    IT戦記 - JavaScript の this について
  • 1