SlideShare a Scribd company logo
1 of 77
Download to read offline
for Gunma.web #7 @ 2011/12/17



プログラマになれない
あなたのための言語戦略
Present by ぱろっと(@parrot_studio)
Profile:
 ぱろっと
 @parrot_studio
 parrot-studio.com
ところで・・・
 by the way...
比較的「言語」寄りの
プレゼンが多い私ですが・・・
プログラミング言語は山ほどある




    from: http://news.mynavi.jp/news/2011/11/14/012/
キーワードもいろいろ(´・ω・)っ

コンパイル / インタプリタ / 中間コード / VM
手続き型 / オブジェクト指向 / 関数型
クラス / プロトタイプ / 多重継承
無名関数 / クロージャ / デリゲート
“何を言ってるのか
さっぱりわからない・・・(lll゚Д゚)”
とはいえ、Webで仕事をするなら、
 「各言語の大雑把な特徴」
 くらいは知っていた方がお得
そう、プログラマでなくても(`・ω・´)
というわけで・・・
with the reason to say...
“私が読んだり書いたりしたことがあり、
Webシステムで使われている言語”

             だからPythonとか
             GoとかDartとか
             APLはないのよ(´・ω・`)
これを「7つ」見ていきましょう
1. Perl

    事例 : mixi / hatena
    自作 : ダイス機能付きチャット
1. Perl

・ 軽量言語(LL)としては古い部類
 ・ Webの黎明期を支えた重要な言語
 ・ Linuxに入ってないことがまずない
1. Perl

・ なんだかんだで技術者がたくさん
・ 自分もWeb系言語では最初に触れた
1. Perl

 ・ 「フリーでのスクリプト配布」
    という文化があった
   ・ OSSとはまた違う感覚
1. Perl

・ 古い言語だがフレームワークが
 きっちり整備されている
 ・ 今でもやってる人が多いということ
2. Java

事例 : ECサイトや基幹システム等
     Androidアプリ
自作 : ギルド戦出欠管理システム for RO
2. Java

 ・ 特にSI系で根強い
   ・ 大規模開発に「都合の良い」仕様
   ・ クリティカルな性能要求にも対応可
2. Java

  ・ 利用者数ではTOPクラス
    ・ なんだかんだで実績がある
    ・ なんだかんだで安定して速い
2. Java

・ 一般のWeb系も無縁ではない
 ・ Apacheのプロジェクトで使われまくり
 ・ Androidアプリ開発言語としても
3. Ruby

事例 : Twitter / cookpad / R天
自作 : RDGC / Fragment of Stars / etc...
3. Ruby

・ 新しめの会社がよく使っている
 ・ スタートアップでRailsとかありがち
 ・ 「とりあえず動くもの」が作りやすい
3. Ruby

・ その気になればなんでもできる
 ・ 「全て」がプログラマに解放されている
 ・ 時に「黒魔術」と称されることも
3. Ruby

・ 「あるべき姿」を常に追求するため、
 仕様変更がそれなりにある
・ 1.8のコードはたいてい1.9では動かない
3. Ruby

・ これらの特徴から、Java屋というか
 SI系で嫌われる感
 ・ 「なんでもできてしまう」のが都合が悪い
 ・ 実際は採用実績もある
4. PHP

事例 : Facebook / Wikipedia
      WordPress系 / OpenPNE系
4. PHP

 ・ 「技術がっつりじゃない人」も
   触れることが多い言語
  ・ CMS等でよく使われているため
4. PHP


・ レンタルサーバだと、
 最初から入っているケースが
 ・ WP一式がプリインストールというプランも
4. PHP

・ 決して「簡単」な言語ではない
  ・ 言語を「まともに」習得するコストは
   他と変わらないはず
5. C#

事例 : EC系サイトなど / MSのサイト
5. C#

・ 立派にWebで使われている言語
 ・ Javaを今風に書き直したっぽいイメージ
 ・ もちろんWinアプリにも
5. C#

・ Windows「専用」と誤解されやすい
 ・ ISO標準だし、JISも採択
 ・ Linux等で動かす環境がちゃんとある
5. C#

・ 公式な開発環境があるのがでかい
・ 大規模開発では環境の統一がわりと重要
・ 無料版もあるし、有料版は高機能
6. Scala


 事例 : Foursquare / (Twitter)
6. Scala

・ 大規模な並列処理に向いている
 ・ ゆるめの関数型
 ・ Javaと関数型のいいとこ取り
  ・ see : Gunma.web #5
6. Scala

・ Webフレームワークもちゃんとある
 ・ 「Lift」はFoursquareも採用
 ・ TwitterのフロントはRuby
6. Scala

・ Javaが得意だから
   Scalaも簡単・・・とはならない
  ・ そもそも関数型的な設計は難しい
  ・ RubyやC#あたりで慣らした方が・・・
7. JavaScript

  事例 : ほとんどのWebサイト
  自作 : (´・ω・`)としたー
7. JavaScript

・ HTMLを操作するために
  使われることが多い
  ・ 知らないWebプログラマはまずいない
  ・ 少なくとも、書くだけは書ける
7. JavaScript

・ 「誰にでもできそう」と誤解される言語
 ・ 実際はとても難しい
 ・ jQuery等で書くのが楽になるが、
 設計が楽になるわけではない
7. JavaScript

・ 「Node.js」によりサーバサイドにも
 ・ イベント駆動型サーバで大量の接続に対応
 ・ 各言語に似た実装はあるが
  JSには「ある利点」があった
  ・ see : 「Software Design」 2011/09
・・・そろそろお疲れでしょう(´・ω・)?
      perhaps you are tired...
たぶん、あなたが聞きたいのはこれ
“一番いい言語を頼む”
そんなものはない!
(ノ゚Д゚)ノ彡┻━┻
「文化」や「環境」によって
   BESTは違うから、
選択肢を増やしておくのが大事
    (`・ω・´) b
「言語で仕事を選ぶ」のではなく、
「仕事に合わせた言語を選ぶ」のが
   “プロ”グラマー(ドヤァ
個人で勉強のために
何か作る時は別よ(´・ω・)?
とはいえ、Webである限り、
 「ある原則」に従えば、
 言語はあまり関係ない
REST
RESTfulな実装さえできれば、
言語とかフレームワークとか
     些細な問題
“お前は常にシステムにとって
最良の言語を思い、
自由に選択していけ”
参考文献:いっぱい
ありがとうございました
  (´・ω・)っ旦~
【おまけ】
言語の特徴を知るためには、
 それが生まれた経緯と、
設計思想を知る必要がある
前の言語の良い部分を引き継ぎ、
 ダメな部分を整理したのが
   新しい言語となる
だからといって、
古い言語がダメということはない
 その理屈だともうCはいらない子に(´・ω・`)
ただし、新しい言語の方が、
  「今風のコード」が
 書きやすいのは事実
書きやすい
=シンプルでわかりやすい
=直観的である
=生産性が高い
最近だと関数型風のコード
see : Gunma.web #5
一方で実績やライブラリが欠けていたりということも
新しいパラダイムを理解するコストもかかる
結局、フレームワークの完成度にもよるが、
新しい言語の方が構造化の難易度は比較的低い
【さらなる蛇足】
HaskellとかErlangの本は持っているけど、
ここで挙げられるほど詳しくなかったので除外
CoffeeScriptは入れようと思ったけど、
   「コードが美しい」というのは
 プログラマ視点過ぎるので外した
         (´・ω・`)
Ex. CoffeeScript

  ・ 美しいJavaScript
    ・ 「GoodParts」なJavaScriptに
      コンパイルされるので安心
      ・ see : Gunma.web #2
Ex. CoffeeScript

・ ある意味でRubyの親戚
 ・ もっと正確にはLispの孫(?)
 ・ Rails3.1からデフォルトで使われている
Ex. CoffeeScript

・ Node.jsのコードも
  CoffeeScriptで書ける
  ・ CoffeeScript自体がNode.jsで実装
  ・ 現在いろいろ試し中
   http://d.hatena.ne.jp/parrot_studio/20111207/1323245393

More Related Content

What's hot

PHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作るPHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作るYoshio Hanawa
 
Bait and switch
Bait and switchBait and switch
Bait and switchm ishizaki
 
PHP7の拡張モジュール事情
PHP7の拡張モジュール事情PHP7の拡張モジュール事情
PHP7の拡張モジュール事情Yoshio Hanawa
 
いよいよPHPerもリーンで行こう
いよいよPHPerもリーンで行こういよいよPHPerもリーンで行こう
いよいよPHPerもリーンで行こうTsutomu Chikuba
 
PHPerに覚えて欲しい日本語の重要性
PHPerに覚えて欲しい日本語の重要性PHPerに覚えて欲しい日本語の重要性
PHPerに覚えて欲しい日本語の重要性Rina Fukuda
 
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9Hiroshi Toda
 
PHP-MLを使用して気軽に機械学習にトライしてみる
PHP-MLを使用して気軽に機械学習にトライしてみるPHP-MLを使用して気軽に機械学習にトライしてみる
PHP-MLを使用して気軽に機械学習にトライしてみるRyo Shibayama
 
第八回カーネル/VM d-kami 没スライド
第八回カーネル/VM d-kami 没スライド第八回カーネル/VM d-kami 没スライド
第八回カーネル/VM d-kami 没スライドDaisuke Kamikawa
 
私が ASP.NET を選ぶ理由
私が ASP.NET を選ぶ理由私が ASP.NET を選ぶ理由
私が ASP.NET を選ぶ理由m ishizaki
 
たのしい独自フレームワーク
たのしい独自フレームワークたのしい独自フレームワーク
たのしい独自フレームワークKenta USAMI
 
F# で ASP.NET
F# で ASP.NETF# で ASP.NET
F# で ASP.NETm ishizaki
 
F#とトランスレータ
F#とトランスレータF#とトランスレータ
F#とトランスレータ7shi
 
F#談話室(3) LT
F#談話室(3) LTF#談話室(3) LT
F#談話室(3) LT7shi
 
俺と Ha4go と さくらクラウド
俺と Ha4go と さくらクラウド俺と Ha4go と さくらクラウド
俺と Ha4go と さくらクラウドMasayuki KaToH
 
Nom de fonction français
Nom de fonction françaisNom de fonction français
Nom de fonction françaishajikami
 
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7Hiroshi Toda
 
非同期系統の基礎
非同期系統の基礎非同期系統の基礎
非同期系統の基礎segayuu
 
Emscriptenと不思議のダンジョン
Emscriptenと不思議のダンジョンEmscriptenと不思議のダンジョン
Emscriptenと不思議のダンジョン兎 伊藤
 

What's hot (20)

PHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作るPHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作る
 
Bait and switch
Bait and switchBait and switch
Bait and switch
 
PHP7の拡張モジュール事情
PHP7の拡張モジュール事情PHP7の拡張モジュール事情
PHP7の拡張モジュール事情
 
いよいよPHPerもリーンで行こう
いよいよPHPerもリーンで行こういよいよPHPerもリーンで行こう
いよいよPHPerもリーンで行こう
 
PHPerに覚えて欲しい日本語の重要性
PHPerに覚えて欲しい日本語の重要性PHPerに覚えて欲しい日本語の重要性
PHPerに覚えて欲しい日本語の重要性
 
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
 
PHP-MLを使用して気軽に機械学習にトライしてみる
PHP-MLを使用して気軽に機械学習にトライしてみるPHP-MLを使用して気軽に機械学習にトライしてみる
PHP-MLを使用して気軽に機械学習にトライしてみる
 
第八回カーネル/VM d-kami 没スライド
第八回カーネル/VM d-kami 没スライド第八回カーネル/VM d-kami 没スライド
第八回カーネル/VM d-kami 没スライド
 
私が ASP.NET を選ぶ理由
私が ASP.NET を選ぶ理由私が ASP.NET を選ぶ理由
私が ASP.NET を選ぶ理由
 
たのしい独自フレームワーク
たのしい独自フレームワークたのしい独自フレームワーク
たのしい独自フレームワーク
 
F# で ASP.NET
F# で ASP.NETF# で ASP.NET
F# で ASP.NET
 
F#とトランスレータ
F#とトランスレータF#とトランスレータ
F#とトランスレータ
 
F#談話室(3) LT
F#談話室(3) LTF#談話室(3) LT
F#談話室(3) LT
 
Trunk0125資料
Trunk0125資料Trunk0125資料
Trunk0125資料
 
俺と Ha4go と さくらクラウド
俺と Ha4go と さくらクラウド俺と Ha4go と さくらクラウド
俺と Ha4go と さくらクラウド
 
Nom de fonction français
Nom de fonction françaisNom de fonction français
Nom de fonction français
 
Go言語オーバービュー201507
Go言語オーバービュー201507Go言語オーバービュー201507
Go言語オーバービュー201507
 
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
 
非同期系統の基礎
非同期系統の基礎非同期系統の基礎
非同期系統の基礎
 
Emscriptenと不思議のダンジョン
Emscriptenと不思議のダンジョンEmscriptenと不思議のダンジョン
Emscriptenと不思議のダンジョン
 

Similar to プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)

PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」Preferred Networks
 
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)Shinichiro Yoshida
 
TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」
TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」
TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」(株)TAM
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版DIVE INTO CODE Corp.
 
2011年10月21日
2011年10月21日2011年10月21日
2011年10月21日nukaemon
 
プログラミング同好会とすごい合同勉強会
プログラミング同好会とすごい合同勉強会プログラミング同好会とすごい合同勉強会
プログラミング同好会とすごい合同勉強会nemumu
 
20200615 webってどうやって表示しているの?
20200615 webってどうやって表示しているの?20200615 webってどうやって表示しているの?
20200615 webってどうやって表示しているの?Hikaru Tanaka
 
モダンなモバイル開発のススメ
モダンなモバイル開発のススメモダンなモバイル開発のススメ
モダンなモバイル開発のススメDaichi Kamemoto
 
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみるYuta Hayakawa
 
読みやすいプログラム、書き換えやすいプログラム
読みやすいプログラム、書き換えやすいプログラム読みやすいプログラム、書き換えやすいプログラム
読みやすいプログラム、書き換えやすいプログラムamusementcreators
 
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」Kaz Aiso
 
自己紹介とC# Devkitについて.pptx
自己紹介とC# Devkitについて.pptx自己紹介とC# Devkitについて.pptx
自己紹介とC# Devkitについて.pptxhkharu0803
 
HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~Yusuke Hirano
 
HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~Yusuke Hirano
 
Macで快適にプログラミング
Macで快適にプログラミングMacで快適にプログラミング
Macで快適にプログラミングYusuke Sakurai
 
Lync でできる? 仕事効率化
Lync でできる? 仕事効率化Lync でできる? 仕事効率化
Lync でできる? 仕事効率化Manato KAMEYA
 
価値の源流に向かう旅
価値の源流に向かう旅価値の源流に向かう旅
価値の源流に向かう旅Yukei Wachi
 
What’s new in 4.0 of LibreOffice (Lake-Hamanako-ver.) / LibreOffice 4.0の新機能 (...
What’s new in 4.0 of LibreOffice (Lake-Hamanako-ver.) / LibreOffice 4.0の新機能 (...What’s new in 4.0 of LibreOffice (Lake-Hamanako-ver.) / LibreOffice 4.0の新機能 (...
What’s new in 4.0 of LibreOffice (Lake-Hamanako-ver.) / LibreOffice 4.0の新機能 (...Naruhiko Ogasawara
 
PHPカンファレンス2015
PHPカンファレンス2015PHPカンファレンス2015
PHPカンファレンス2015Daisuke Kasuya
 
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるPHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるTakuya Sato
 

Similar to プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17) (20)

PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」
 
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
 
TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」
TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」
TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
 
2011年10月21日
2011年10月21日2011年10月21日
2011年10月21日
 
プログラミング同好会とすごい合同勉強会
プログラミング同好会とすごい合同勉強会プログラミング同好会とすごい合同勉強会
プログラミング同好会とすごい合同勉強会
 
20200615 webってどうやって表示しているの?
20200615 webってどうやって表示しているの?20200615 webってどうやって表示しているの?
20200615 webってどうやって表示しているの?
 
モダンなモバイル開発のススメ
モダンなモバイル開発のススメモダンなモバイル開発のススメ
モダンなモバイル開発のススメ
 
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
 
読みやすいプログラム、書き換えやすいプログラム
読みやすいプログラム、書き換えやすいプログラム読みやすいプログラム、書き換えやすいプログラム
読みやすいプログラム、書き換えやすいプログラム
 
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
 
自己紹介とC# Devkitについて.pptx
自己紹介とC# Devkitについて.pptx自己紹介とC# Devkitについて.pptx
自己紹介とC# Devkitについて.pptx
 
HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~
 
HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~
 
Macで快適にプログラミング
Macで快適にプログラミングMacで快適にプログラミング
Macで快適にプログラミング
 
Lync でできる? 仕事効率化
Lync でできる? 仕事効率化Lync でできる? 仕事効率化
Lync でできる? 仕事効率化
 
価値の源流に向かう旅
価値の源流に向かう旅価値の源流に向かう旅
価値の源流に向かう旅
 
What’s new in 4.0 of LibreOffice (Lake-Hamanako-ver.) / LibreOffice 4.0の新機能 (...
What’s new in 4.0 of LibreOffice (Lake-Hamanako-ver.) / LibreOffice 4.0の新機能 (...What’s new in 4.0 of LibreOffice (Lake-Hamanako-ver.) / LibreOffice 4.0の新機能 (...
What’s new in 4.0 of LibreOffice (Lake-Hamanako-ver.) / LibreOffice 4.0の新機能 (...
 
PHPカンファレンス2015
PHPカンファレンス2015PHPカンファレンス2015
PHPカンファレンス2015
 
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるPHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
 

More from parrotstudio

"プロのプログラマ"を目指す初心者が最初に読むべきたった一冊の本
"プロのプログラマ"を目指す初心者が最初に読むべきたった一冊の本"プロのプログラマ"を目指す初心者が最初に読むべきたった一冊の本
"プロのプログラマ"を目指す初心者が最初に読むべきたった一冊の本parrotstudio
 
希望の関数と絶望の副作用
希望の関数と絶望の副作用希望の関数と絶望の副作用
希望の関数と絶望の副作用parrotstudio
 
「もうなにもこわくない」関数型言語 〜ふつうのプログラマが関数型言語を知るべき理由・reload〜
「もうなにもこわくない」関数型言語 〜ふつうのプログラマが関数型言語を知るべき理由・reload〜「もうなにもこわくない」関数型言語 〜ふつうのプログラマが関数型言語を知るべき理由・reload〜
「もうなにもこわくない」関数型言語 〜ふつうのプログラマが関数型言語を知るべき理由・reload〜parrotstudio
 
ぱろっと、Padrinoやめるってよ
ぱろっと、Padrinoやめるってよぱろっと、Padrinoやめるってよ
ぱろっと、Padrinoやめるってよparrotstudio
 
エンジニアがTRPGをやるべき理由 〜隣り合わせの遊びと技術〜 (Gunma.web #12 2013/02/09)
エンジニアがTRPGをやるべき理由 〜隣り合わせの遊びと技術〜  (Gunma.web #12 2013/02/09)  エンジニアがTRPGをやるべき理由 〜隣り合わせの遊びと技術〜  (Gunma.web #12 2013/02/09)
エンジニアがTRPGをやるべき理由 〜隣り合わせの遊びと技術〜 (Gunma.web #12 2013/02/09) parrotstudio
 
(´・ω・`)としたーは衰退しました (Gunma.web #11 2012/11/23)
(´・ω・`)としたーは衰退しました  (Gunma.web #11 2012/11/23) (´・ω・`)としたーは衰退しました  (Gunma.web #11 2012/11/23)
(´・ω・`)としたーは衰退しました (Gunma.web #11 2012/11/23) parrotstudio
 
私に作る時間がないのはどう考えても仕事が悪い!? (Gunma.web #10 2012/09/08)
私に作る時間がないのはどう考えても仕事が悪い!? (Gunma.web #10 2012/09/08) 私に作る時間がないのはどう考えても仕事が悪い!? (Gunma.web #10 2012/09/08)
私に作る時間がないのはどう考えても仕事が悪い!? (Gunma.web #10 2012/09/08) parrotstudio
 
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)parrotstudio
 
Signs;Gate - RESTfulなサイトの作り方 (Gunma.web #6 2011/09/03)
Signs;Gate - RESTfulなサイトの作り方 (Gunma.web #6 2011/09/03) Signs;Gate - RESTfulなサイトの作り方 (Gunma.web #6 2011/09/03)
Signs;Gate - RESTfulなサイトの作り方 (Gunma.web #6 2011/09/03) parrotstudio
 
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)parrotstudio
 
思い通りにいかないのがWebなんて 割り切りたくないから (Gunma.web #4 2011/02/12)
思い通りにいかないのがWebなんて 割り切りたくないから (Gunma.web #4 2011/02/12)思い通りにいかないのがWebなんて 割り切りたくないから (Gunma.web #4 2011/02/12)
思い通りにいかないのがWebなんて 割り切りたくないから (Gunma.web #4 2011/02/12)parrotstudio
 
俺の体がこんなにすっきりしているわけがない ~5分でわかる催眠プログラミング~ (Gunma.web #3 2010/12/11)
俺の体がこんなにすっきりしているわけがない ~5分でわかる催眠プログラミング~ (Gunma.web #3 2010/12/11) 俺の体がこんなにすっきりしているわけがない ~5分でわかる催眠プログラミング~ (Gunma.web #3 2010/12/11)
俺の体がこんなにすっきりしているわけがない ~5分でわかる催眠プログラミング~ (Gunma.web #3 2010/12/11) parrotstudio
 
「一番いいおすすめを頼む」 ~5分でわかるレコメンドエンジンの基礎~ (Gunma.web #3 2010/12/11)
「一番いいおすすめを頼む」 ~5分でわかるレコメンドエンジンの基礎~ (Gunma.web #3 2010/12/11)「一番いいおすすめを頼む」 ~5分でわかるレコメンドエンジンの基礎~ (Gunma.web #3 2010/12/11)
「一番いいおすすめを頼む」 ~5分でわかるレコメンドエンジンの基礎~ (Gunma.web #3 2010/12/11)parrotstudio
 
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)parrotstudio
 
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)parrotstudio
 

More from parrotstudio (15)

"プロのプログラマ"を目指す初心者が最初に読むべきたった一冊の本
"プロのプログラマ"を目指す初心者が最初に読むべきたった一冊の本"プロのプログラマ"を目指す初心者が最初に読むべきたった一冊の本
"プロのプログラマ"を目指す初心者が最初に読むべきたった一冊の本
 
希望の関数と絶望の副作用
希望の関数と絶望の副作用希望の関数と絶望の副作用
希望の関数と絶望の副作用
 
「もうなにもこわくない」関数型言語 〜ふつうのプログラマが関数型言語を知るべき理由・reload〜
「もうなにもこわくない」関数型言語 〜ふつうのプログラマが関数型言語を知るべき理由・reload〜「もうなにもこわくない」関数型言語 〜ふつうのプログラマが関数型言語を知るべき理由・reload〜
「もうなにもこわくない」関数型言語 〜ふつうのプログラマが関数型言語を知るべき理由・reload〜
 
ぱろっと、Padrinoやめるってよ
ぱろっと、Padrinoやめるってよぱろっと、Padrinoやめるってよ
ぱろっと、Padrinoやめるってよ
 
エンジニアがTRPGをやるべき理由 〜隣り合わせの遊びと技術〜 (Gunma.web #12 2013/02/09)
エンジニアがTRPGをやるべき理由 〜隣り合わせの遊びと技術〜  (Gunma.web #12 2013/02/09)  エンジニアがTRPGをやるべき理由 〜隣り合わせの遊びと技術〜  (Gunma.web #12 2013/02/09)
エンジニアがTRPGをやるべき理由 〜隣り合わせの遊びと技術〜 (Gunma.web #12 2013/02/09)
 
(´・ω・`)としたーは衰退しました (Gunma.web #11 2012/11/23)
(´・ω・`)としたーは衰退しました  (Gunma.web #11 2012/11/23) (´・ω・`)としたーは衰退しました  (Gunma.web #11 2012/11/23)
(´・ω・`)としたーは衰退しました (Gunma.web #11 2012/11/23)
 
私に作る時間がないのはどう考えても仕事が悪い!? (Gunma.web #10 2012/09/08)
私に作る時間がないのはどう考えても仕事が悪い!? (Gunma.web #10 2012/09/08) 私に作る時間がないのはどう考えても仕事が悪い!? (Gunma.web #10 2012/09/08)
私に作る時間がないのはどう考えても仕事が悪い!? (Gunma.web #10 2012/09/08)
 
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
 
Signs;Gate - RESTfulなサイトの作り方 (Gunma.web #6 2011/09/03)
Signs;Gate - RESTfulなサイトの作り方 (Gunma.web #6 2011/09/03) Signs;Gate - RESTfulなサイトの作り方 (Gunma.web #6 2011/09/03)
Signs;Gate - RESTfulなサイトの作り方 (Gunma.web #6 2011/09/03)
 
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
 
思い通りにいかないのがWebなんて 割り切りたくないから (Gunma.web #4 2011/02/12)
思い通りにいかないのがWebなんて 割り切りたくないから (Gunma.web #4 2011/02/12)思い通りにいかないのがWebなんて 割り切りたくないから (Gunma.web #4 2011/02/12)
思い通りにいかないのがWebなんて 割り切りたくないから (Gunma.web #4 2011/02/12)
 
俺の体がこんなにすっきりしているわけがない ~5分でわかる催眠プログラミング~ (Gunma.web #3 2010/12/11)
俺の体がこんなにすっきりしているわけがない ~5分でわかる催眠プログラミング~ (Gunma.web #3 2010/12/11) 俺の体がこんなにすっきりしているわけがない ~5分でわかる催眠プログラミング~ (Gunma.web #3 2010/12/11)
俺の体がこんなにすっきりしているわけがない ~5分でわかる催眠プログラミング~ (Gunma.web #3 2010/12/11)
 
「一番いいおすすめを頼む」 ~5分でわかるレコメンドエンジンの基礎~ (Gunma.web #3 2010/12/11)
「一番いいおすすめを頼む」 ~5分でわかるレコメンドエンジンの基礎~ (Gunma.web #3 2010/12/11)「一番いいおすすめを頼む」 ~5分でわかるレコメンドエンジンの基礎~ (Gunma.web #3 2010/12/11)
「一番いいおすすめを頼む」 ~5分でわかるレコメンドエンジンの基礎~ (Gunma.web #3 2010/12/11)
 
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
 
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
 

プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)