PHPカンファレンス関西2016の基調講演です。
![Composerを速くするために必要だったもの // Speaker Deck](https://cdn-ak-scissors.b.st-hatena.com/image/square/2ec09d70b343c36f8afe1892553a19f17b9ff117/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Fdb415082c0414718b1b211e2031ad755%2Fslide_0.jpg%3F6594370)
PHPカンファレンス関西2016の基調講演です。
2007年8月から、PHPユーザ会のWebサイトは新しいコンテンツに移行いたしました。古いコンテンツは oldwww.php.gr.jp より閲覧していただけます。 PHP とは PHP は、オープンソースの汎用スクリプト言語です。 特に、サーバサイドで動作する Web アプリケーションの開発に適しています。 言語構造は簡単で理解しやすく、C 言語の基本構文に多くを拠っています。 手続き型のプログラミングに加え、(完全ではありませんが)オブジェクト指向のプログラミングも行うことができます。 Linux や FreeBSD 等の多くの Unix 系システム, Microsoft Windows, Mac OS X など主要な OS で動作します。 また、Apache や Microsoft IIS を始めとした多くのウェブサーバをサポートします。 オープンソース なライセンスでリリースされて
弊社本社の麻布十番移転に伴い、本社近くの麻布図書館を利用しています。麻布図書館は土地柄のイメージにあう瀟洒な建物で、蔵書がない場合は港区の他の図書館から取り寄せ(無料です)ができますので、よく利用しています。今回は、山田祥寛さんの「10日でおぼえるPHP入門教室 第4版 」を借りて読んでみました。一読して、本書がセキュリティにもよく配慮されていることがわかりましたので、以下にご紹介したいと思います。 クロスサイトスクリプティング(XSS) 表示の際にHTMLエスケープするという原則を忠実に守っています。そのため、下記の e() という関数を定義して呼び出しています。 function e($str, $charset = 'UTF-8') { return htmlspecialchars($str, ENT_QUOTES, $charset); } その他にもXSS対策として重要な下記の
こんにちは、ひろゆきです。 僕はWebサービスをつくりたくてエンジニアになったのですが、プログラミング言語は数が多く仕様もさまざま。「プログラミングには興味があるけど、どの言語から手をつけるべきか分からない」という方も、多いのではないでしょうか? 今回プログラミング言語の中でもPHPをご紹介するのは、初心者でも比較的とっつきやすく、前知識がほとんどなくてもブラウザ上で動かすことができるので、エンジニア入門に適しているからです。 プログラミングでモノ作りをしたいと考えている方は、PHPから始めることをおすすめします。 今回は「無料PHPスクール」を運営している「株式会社ドリーム・シアター」の中田さんの情報提供の元、LIGブログでのif文やwhile文の事例など、PHPを勉強する前に知っておきたい基礎知識をまとめてみました。 中田斉道(なかた せいどう)さん PHP/Javaを中心としたWeb
2011年1月13日、マイクロソフトから無料のWeb開発ツール「WebMatrix」がリリースされました。WebMatrixとは、Windows上に動的Webサイトをすばやく構築することができる無償ツールです。WebMatrixを利用することによって、HTMLやCSSを使用した静的なWebサイトはもちろん、C#やPHP、あるいはデータベースを利用した動的なWebアプリケーションを簡単に構築できます。さらに、データベースの管理ツールやSEOチェックツールまで付属しているので、WebMatrixだけで、本格的なWebサイト構築が可能です。 本連載では、WebMatrixを使用したWebアプリケーションの開発からホスティング環境への配備までを行ってみます。 WebMatrixの導入 それではさっそく、WebMatrixをインストールしてみましょう。WebMatrixのWebサイトにアクセスし、「
WordPressを使ってサイトやブログを構築する際、例えば「一覧と詳細でサイドコンテンツを変えたい」とか「カテゴリーによって表示内容をガラッと変えたい」のように「○○の時に○○する」といったことをしたい場合に用いるのが条件分岐です。 WordPressには便利な条件分岐タグが沢山用意されており、それらを用いることで様々なことができるので、先述したように特定の条件で何か処理を行うカスタマイズをしたい方は参考にしてみてください。 条件分岐の使い方 条件分岐とは、簡単に説明すると「指定された条件に合うか・合わないかを判断し、判断に応じて処理を行う」というものになり、例えばWordPressの場合であればこれを利用することによって、同じテンプレートを使用していても条件に応じて全く違う見栄えにしたり、処理を行うといったことが可能です。 条件分岐にはswitch文というものもありますが、ここで紹介し
Photo by Robyn Jay こんにちは。谷口がお送りします。 プログラミングをこれから学ぼうとしている方の中には、「PHPを使えるようになりたい」という方も多いかと思います。 PHPは日本国内に20万人もの開発エンジニアがいるともいわれ、求人案件も非常に多い言語です。広くWeb系のサービス開発、ゲーム開発などで利用されており、少し前までその多くがLAMP環境(Linux+Apache+MySQL+PHP)と呼ばれる組み合わせの開発環境で開発されていました。最近では、CakePHPやSymfonyといった、よりWebアプリケーションを素早く作れるフレームワークによる開発も増えています。 実際のサービスでは、Facebookは現在はHackというPHP互換の言語で作られていますが、少し前まではPHPで開発されていました。また、国内ではグリーやpixivなどのサービスもPHPで開発され
PHPは実用的な言語 こんにちは。新原と申します。本連載では、PHPプログラミング診断室ということで、世のPHPコードが健全になるべく、診断していきたいと思います。よろしくお願いします。 PHPを開発したRasmus Lerdorf氏は、「PHPは歯ブラシのようなものだ」とPHPを表しています。歯ブラシは毎日使うもので、それは仕事であり、シンプルな道具である、と。筆者はこの発言を知ったときにPHPを端的に表した良い表現だと感じました。そう、PHPはシンプルな道具ゆえに誰もが簡単に使い始めることができます。HTMLの中に埋め込んで、動的にHTMLを生成するのはとても簡単です。また、コードも柔軟に書くことができ、ユニークな書き方をしてもそれなりに動いてくれます。 PHPは、これまでとても多くのユーザを獲得してきました。特に特徴的なのが、プログラミングを行う人(プログラマですね)だけではなく、
5: 名無しさん@おーぷん 2015/01/30(金)13:23:24 ID:7kd はよ! 12: 名無しさん@おーぷん 2015/01/30(金)13:27:39 ID:mmG どのくらい教えてくれるの? 13: 名無しさん@おーぷん 2015/01/30(金)13:29:48 ID:CM7 >>12 どこからがいい? つか俺も素人だし重度のめんどくさがり屋だから質問されても詳しいことは分からんけど 時間は暇だから適当な環境構築からやってもいいよ 15: 名無しさん@おーぷん 2015/01/30(金)13:31:01 ID:6UD PuppyLinuxでPHP環境つくるの教えて 16: 名無しさん@おーぷん 2015/01/30(金)13:32:12 ID:CM7 >>15 linuxならubuntuにしなさい なぜなら今僕の手元にあるのubuntuしかないから 17: 名無しさん@
SQLインジェクション対策は非常に簡単です。しかしブラウザに対する「スクリプトインジェクション」はなかなか無くなりません。スクリプトインジェクションが無くならない10の理由をあげてみます。 複雑な攻撃経路と対策 前回紹介したように、ブラウザに対するスクリプトインジェクション攻撃の経路は3種類あります。エスケープ方法も数種類あります。すべての出力を完全にエスケープできればセキュリティ維持も容易になりますが、タグや属性を出力したい場合もあるため、必ずしもすべての出力をエスケープできるわけではありません。さらに攻撃手法にも、サイトをまたがった攻撃、直接攻撃、間接攻撃などパターンがあります。エスケープできないデータへの不正なスクリプトの挿入を防ぐには、データの起源までさかのぼり安全性を確保しなければなりません。ブラウザに対するスクリプトインジェクション対策はデータベースサーバへのSQLインジェクシ
こういったインフラ周りは日頃触らず忘れやすいので、自分の備忘録としてまとめておきます。 環境はAmazon EC2です。 CentOS6.xと7の主な変更点 「service」コマンドと「chkconfig」コマンドが、「systemctl」コマンドに統合 「iptables」が「firewalld」に変更 「ntpd」が「chronyd」に変更 「ifconfig」が「ip」コマンドに変更 ユーザーを「centos」から「root」に切り替える方法 CentOS7の場合、初期ユーザが「centos」でした。 「root」になるには新しくパスワードを作成する必要があるようです。 Apachのインストール 「service」コマンドは「systemctl」コマンドに変わったので、以下になります。 chkconfig -listの代わりに 以下のコマンドで、自動起動設定を一覧で確認出来ます。
こんにちは、エンジニアの王です。 今回はデザインパターンと、デザインパターンの中の「Strategy」について紹介したいと思います。 デザインパターンとは? 端的にいうと、「よくある問題へのよくある解決策」です。 ここでは、あくまでもソフトウェア設計の場合に限定しているのですが、さまざまなコンテキストで活かせる概念です。 「今までの経験上、この手の問題なら、この方法(パターン)でやればうまくいくよ!」という経験則は誰にでもあると思います。それがゲームの場合なら「攻略法」、料理の場合なら「レシピ」、語学の場合なら「定型文」だったりします。 ソフトウェア設計の場合、特にオブジェクト指向プログラミングにおいて言うなら、「デザインパターン」とは、過去のソフトウェア設計者が失敗に失敗を重ね、試行錯誤の中から導き出した再利用しやすいノウハウの集大成のようなものです。 そう、要するに、柔軟性、拡張性、再
p <<PHP_VERSION <?php PHP_VERSION ;print "\033[1F\033[1M"; //.tap{ define_method :range, -> s,e { s.upto e } } //.tap{ define_method :array_map, -> f,seq { seq.map{ |x| f.(x) } } } //.tap{ define_method :function, -> x,&b { -> x { $x=x;b.call } } } array_map(function($x){ print $x % 15 == 0 ? 'FizzBuzz' : ($x % 3 == 0 ? 'Fizz' : ($x % 5 == 0 ? 'Buzz' : $x)); print "\n"; }, range(1,100)); ruby php.
普段 Scala でトレイトを使いまくってるけれども PHP にも 5.4 からトレイトが入った。 trait の良いところは多重継承のできない言語で多重継承っぽいことができることだ。 use, use とつけていけば、いくらでも追加できる。DRY に書けてよいことだ。 対して悪いところはいとも簡単に複雑で暗黙的な依存関係が生まれることだ。 例えばこんなの <?php trait Greeting { public function say() { if ($this->location == 'ja') { echo 'こんにちは' . PHP_EOL; } else { echo 'Hello' . PHP_EOL; } } } class Location { } class US extends Location { use Greeting; private $location
まずはProgateへアクセスしてアカウントを作成。私はTwitterで認証しました。 現在学べる言語は HTML & CSS PHP jQuery の3言語の基礎部分。 とりあえずHTML & CSSをやってみましょう。 学習の流れ 学習の流れは3ステップ。 スライドで基礎知識を学習 ブラウザ上のエディタにコードを書いて実際に学習 プレビュー画面で実際に挙動を確認→答え合わせ といった感じです。 スライド スライドは非常に丁寧な作りとなっておりますので、よく読みこめば初心者でもしっかりと理解をしながら学習することが出来ます。 矢印キーでページ送りができるのがCool。 1レッスンにつき数枚のスライドが表示されますので、見終わったらエディタ画面へとGO! エディタ画面 こちらがブラウザ上で動作するエディタ画面。左側が問題文、真ん中がエディタ、右側がプレビュー画面となります。 もう一度スライ
JPHPというJavaで書かれたPHP処理系があります。これは2013年10月にはじまった新しいプロジェクトで、大半をメイン開発者一人で開発しているようですが、既に一定以上の完成度です。また、内部的にはPHPファイルを解釈して直接Javaバイトコードにコンパイルしており、かなり高速なPHP処理系になっています。 他のPHP処理系と異なり、既存のPHPコードをWebサーバ上で動かすことを重視していないようにも見えますが、興味深いプロジェクトですので紹介します。 JPHPを動かしてみる さっそくJPHPを試してみましょう。現時点ではGitHubからソースコードを持ってきてビルドする必要があります。JDK7以上が必要ですので注意してください。JPHPのドキュメント「Getting Started」の通り、次のようにしてJPHPがビルドできます。 $ git clone https://githu
2007/7/14にPHP4のメンテナンス終了日がアナウンスされ、通常のメンテナンスが2007/12/31まで、セキュリティフィックスが2008/8/8までと発表されました。本連載では、これを踏まえてPHP4.4からPHP5.2への移行について解説します。PHP5には便利な新しい機能が多く追加されていますがここではそれらには触れず、移行についてのみ解説します。PHP4からPHP5に移行する場合に必要のない項目はほとんど解説しません。PHP5の新しい機能についての解説は「はじめてのPHP言語プログラミング入門」(技術評論社)などのPHP5の入門書を参照してください。 特に記述がない場合、PHP4はPHP4.4.x、PHP5はPHP5.2.xを意味します。 PHP4とPHP5の違い PHP4とPHP5は言語仕様が異なる言語ですが、PHP5はPHP4の上位互換言語です。PHP4とPHP5両方で
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く