2017年6月10日開催 PHPカンファレンス福岡2017 Fusicホール 10:30-11:15
2017年6月10日開催 PHPカンファレンス福岡2017 Fusicホール 10:30-11:15
In 2014, after two years of reading about and working with Domain-Driven Design, Carlos and Christian, friends and workmates, traveled to Berlin to participate in Vaughn Vernon's Implementing Domain-Driven Design Workshop. The training was fantastic, and all the concepts that were swirling around in their minds prior to the trip suddenly became very real. However, they were almost no PHP developer
1. はじめに このサイトは php を利用したスクレイピング処理の具体的手法について記載されたサイトにしようと思っています。なので、あまり面白いサイトではありません。内容も偏重していることと思いますが、ご質問などがございましたら、りょーちまでご連絡ください。 1.1. スクレイピングとは スクレイピングの話しを始める前に、現在のWebサービスについて幾つか言及しておきます。 現在様々な会社が様々なWebサービスを展開しています。かなり昔、今よりWebサイトそのものが少ない頃の時代は、HTMLファイルを手動で作成することが殆どでした。しかし、現在はバックグラウンドにデータベースが存在し、データベースの内容を動的に表示し、ページを作成するようなサイトがかなり多くなっています。 さて、データベースを利用するメリットは何でしょうか? 幾つかの視点が挙げられると思います。 最も重要な点は、ひとつひ
レガシーズ 公式ブログ レガシーコードと戦い続ける謎の集団、レガシーズの公式ブログです。 ※レガシーズはレガシーコードを通じて正しいコードの構造や改善の手法を模索する覆面集団です。特定のプロダクトやサービスを誹謗中傷する事が目的ではありません。 みなさん、こんにちは。マスク・ド・レガシーです。 PHPカンファレンスも無事に終わり、ゆっくりと休暇を楽しんでいたところ、にわかにタイムラインが騒がしくなっていました。今回は話題の中心になったSpikaを題材にPHPのコーディングについて考えてみようと思います。 Spikaの概要SpikaはMITライセンス化のオープンソースとして公開されたメッセンジャーアプリケーションです。プロジェクトにはネイティブで実装されたiOS、Android向けのモバイルアプリケーションとPHPで実装されたサーバーサイドを組み合わせる事で独自のメッセンジャーサービスを構築
断り書き:自分たちがやりたいDDDにDoctrineが必ずしも向いていないという判断をしたものです。Doctrineには非常にお世話になっており、批判するものではありません。どのツールにも適材適所があると思います。 機械的なORMでエレガントに表現できないものがあった(ValueObjectなど) Entityが1テーブルに固く対応していて、さらにその知識がインフラストラクチャレイヤからドメインレイヤに漏れ出していて、密結合が発生していた Doctrineロックから脱出したい。Domain ServiceはRepositoryに依存しており、RepositoryはDoctrineに依存している。Doctrineが破滅への道を歩めば、アプリの心臓であるDomainも道連れとなる。 ストレージロックを脱出したい。ドメインレイヤがある具体的なRepositoryに依存していると、簡単にストレージ
画像の右側が外注さんに頼んだソースコード。左側が僕が書きなおしたソースコード。 仕事をお願いしたのに、自分で修正するのって本当にバカバカしい。 そういうプログラムにお金を払うって本当にバカバカしくて涙がでてくる。 facebookに書いた文章なんだけど、ちょっと加筆して、tumblrに公開してみる。 外注さんを探す時の参考にしてもらえれば幸い。 作業が重なると自分のトコだけで捌けなくなる時が時々あるので、外注さんを増やす努力をしてる。 んで、先日・・・ ネット上で「プログラム組みます」的なセールスをしていた個人に仕事をお願いした。 ただ、最初から雲行きが怪しかった… 屋号を名乗るだけで個人名は開示しない、 こちらの名前は間違えたまま、指摘しても謝罪も無し・・・ ちょっと怪しい臭いはしたんだけど、技術には自信があるようなので簡単な仕事をお願いすることに。 まず、お見積りをお願いする。 お見積
http://www.quora.com/Node-js-Ruby-Python-who-wins-in-5-years を読んでて「勝利条件としてより多くの”スタートアップ”に選択されること」という話がでてたけど、そもそも今は何が採用されているのか状況がよくわかたっていなかったので調べた。 スタートアップ? 一般(自分の周辺)に「ウェブサービス」みたいな呼称されているもの。消費者向けというかなんというか、企業向けシステムとか、ソーシャルゲーム単品とかは含めないことにした なんでスタートアップ?(小規模な企業) 企業が大きくなってくると、いろんな領域で必要なことがあってこの企業は→このプログラミング言語みたいなひもづけができなくなるので 項目は =企業ではなく=サービスでわけた 順番、国内外は適当。できるだけ知名度のありそうなサイトを選んだ いわゆるサーバーサイドのアーキテクチャの話(それ
クロコスのエンジニアでもあり、日本Symfonyユーザー会のメンバーでもある小川さん([twitter:@fivestr])が執筆した最新作「効率的なWebアプリケーションの作り方 -PHPによるモダン開発入門-」を献本いただいたので紹介したいと思います。 最新の技術を追っているわけではなく、実績ある技術や手法の基礎編 サブタイトルに「モダン」という言葉があってPHPでの最先端な開発かと感じる方がいるかもしれませんが、内容はOOP、DI、そしてドメイン駆動開発などの基礎的なところを実例を通して紹介しています。つまり、これから5年後または10年後と利用することができる実績ある技術と手法について紹介していることが特徴だと感じました。*1 Webアプリケーションをプロとして開発するために必要な知識を理解するための一歩 PHPの書籍というと、PHPの構文などPHPの使い方にフォーカスした本、または
php, 雑記いつもなら寝ている時間なのだけれど、なぜか睡魔がやってこないので過去の思い出をまとめてみる。去年の2月ごろ、新規案件のウェブサービスに開発メンバーとしてアサインされた。作るべきものが大量にあったため、4チーム(工期中多少増減したが)に分けてドメインごとに作業分担をした。そのうち、ウェブアプリケーション本体(フロント、API、マネージツール)を担当するチームのサブリーダーが自分の役割だった。そのプロジェクトは去年の末に一旦の区切りを迎え、自分はそこで退職し、新たな環境に身を置くことにした。それから丸4ヶ月経って、自分が書いたコードと新しい環境で書かれていたコードを見比べて、思うところが多々ある。それらを文章としてまとめたいと思う。 失敗したこと簡単な骨組みを作ったあと、デプロイの仕組みを作った。php には phar という仕組みがある。これは jar/war のようにウェブサ
9. class CalculatorTest extends PHPUnit_Framework_TestCase { public function setUp() { $this->calc = new Calculator; } public function test_add_引数の和を返す() { $result = $this->calc->add(1, 2); $this->assertSame(3, $result); } } 10. class CalculatorTest extends PHPUnit_Framework_TestCase { public function setUp() { 1 $this->calc = new Calculator; } public function test_add_引数の和を返す() { $result = $this-
はいタイトルは釣りです。 OOPのインターフェースはただの実装漏れチェック機能じゃないし、ましてや継承は差分プログラミングツールじゃないぞ。というのはわりと一般的な話だけど、Ruby(respond_to?でホントにいいの)とJava(インターフェースが自然すぎてユーザが意識しないのよ)が、PHPに対してOOPどうこうで偉そうに言うのはどうかなと思ったもので。まあそれと同時に、PHPの人自身がその意義を発見してるのかなという疑問もあったりしたんですけどね。 Rubyというのは「オブジェクト指向ってのはつまりメソッドに応答できるアヒルはみんなアヒルとみなせるよね」というレベルのダックタイピングで割り切った言語だと、個人的に認識しています。継承とミックスインにはis_aが応答するけど本質はrespond_to?のほうで、インターフェースを宣言してなくてもメッセージ送れたらいいあの感じ。 そんな
php前提。PHP はクソ。滅びろ。ruby はしらんが python か perl か java のほうがよっぽど楽。javascript は多分同じかもっと地獄。よいところ導入が安い動作環境的な意味でも、コード的な意味でも。置けば動くし、書けば動く。本当に何も知らん人間でもなんとか動く。エンジニアの頭数もそろえやすい。運用コストのスケーリングができるapache+mod_php だけでも普通に早い。apc 入れればそれだけで大抵のリクエストさばける。nginx+php-fpm+apc なんて環境にすればもっとさばける(と思う。まだ試してない。)最悪 HIPHOP-PHP でなんとかできることは Facebook が証明している。ドキュメントが読みやすいphp.net のドキュメントはテンプレートがしっかりしていて全部それにそっているので非常に読みやすい。邦訳も早い。よくないところ標準の
今のPHPを作ったのは、何十人もの開発者ですよ。私は1人目の開発者だったに過ぎません。 問題を解くのが好きなだけで、プログラミングは大嫌いです。 いかにプログラミングを避けるかを考えていたら、コードを再利用するためのツールとしてPHPができました。PHPは、歯ブラシみたいなものですね。毎日使うものですけど、だから何でしょう?誰が歯ブラシの本なんて読みたがります? パーザを書くのは苦手です。本当にダメなんです。今でもね。PHPには「protected属性」も「仮想メソッド」もありますよ。情報学科の教官が「重要だ」っていうやつは何でもね。僕自身は、こんなものどうでもいいと思ってますけど。プログラミングを好む人がいるのは知ってますが、全く理解できないですね。 僕はホンモノのプログラマではありませんから、やっつけ仕事ですよ。ホンモノのプログラマは、「動いてるように見えるけど、メモリリークだらけじゃ
PHPについて質問です。 オークションの統計サイトにて先日に引き続きマーケティングをしています。 文字のエンコードについてお聞きしたいのですが、 先日ヤフーオークションだと $query = 'イチロー シャツ'; $str = mb_convert_encoding($query, 'EUC-JP', 'auto'); $str = urlencode($str); $url = ' http://search.auctions.yahoo.co.jp/jp/search/auc?p=' . $str . '&auccat=0&alocale=0jp&acc=jp'; でエンコードした文字列をURLに載せてページ移動ができたのですが、 今回の統計サイトを http://aucfan.com/search1/sya-q~a5a4a5c1a5eda1bca1a1a5b7a5e3a5c4-tl
TDDBC in TokyoをPHPUnitでやる予定なので、TDD関連資料をあさってました。 実際に手を動かして、1から2時間で最後までやり通せるTDDの資料を見つけました。 TDDに興味を持った方が最初にやるのにちょうど良い内容なので、お知らせします。 オブラブで公開されている車窓からのTDDです。Java+JUnitの構成で書かれていますが、PHP+PHPUnitで、ほとんどPHPっぽく書き直せば問題なくTDDの雰囲気を学べる内容です。 Fake It 三角測量 リファクタリング などのタイミングを具体的に理解できるストーリー仕立てになっています。内容のボリュームもお手軽なので、TDDに興味のある方は、やってみてはいかがでしょうか?TDDの良さが体験できると思います。 PHPのコードをgithubで公開しています。「PHPでどう書くの?」って思った方は参考にしてください。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く