SlideShare a Scribd company logo
PHP7がリリースされたいま、
改めてHackについて考える。
株式会社インテリジェンス
大谷 祐司
1
2016/01/19
2
・山口県下関出身の35歳
・企画からアプリ、インフラまで幅広くやっています。
・車とプログラミングを愛しています。
・土日は育児しながら勉強しています。
・Facebookの友達申請は気軽にぜひ!
https://www.facebook.com/yuji.otani.16
自己紹介
3
5年 7年
1年
→ →
メイン開発言語の経歴
4
インテリジェンスでは
2015年から複数のプロジェクトで
Hack/HHVMを導入しています。
5
PHPカンファレンス2015では
Hack言語をテーマに登壇しました。
6
・Facebookによって開発された言語。
・PHPと互換性を持っている。
・HHVMという仮想マシン上で動作する。
・言語仕様はPHP5.6がベース。
Hackとは?
・バグのないコードを迅速に書けるようになる。
・エンジニアがコーディング体験を楽しめる。
・「高速な動作」「大規模開発向きの仕様」。
Hackの目指すところ
http://growthhackjapan.com/2014-03-23-facebook-hack-released-to-the-public/
8
昨年末、大きな事件が起きました。
9
2015/12/03
PHP7リリース!!
10
大幅な高速化を実現!!
http://talks.php.net/fluent15#/wpbench
11
・Null合体演算子(??)
・致命的エラーを補足可能(EngineException)
・無名クラスの導入。
・スカラ型のタイプヒンティング。
・返り値のタイプヒンティング。
新しい言語仕様
12
・64bitCPUに最適化されたデータ構造。
・CPUキャッシュを有効活用する改善。
・配列はメモリ上でも配列になった。
(PHP5は全て連想配列)
・配列のメモリ使用量が劇的に下がった。
※PHP5(72bytes)→PHP7(32bytes)
データ構造の変更
13
Hack/HHVMの特徴がいくつも、
PHP7に搭載されました。
・スカラ型のタイプヒンティング。
・返り値のタイプヒンティング。
・高速な動作。
・配列で使うメモリが少ない。
・AST(抽象構文木)を使ったコンパイル。
14
Hack/HHVMとPHP7は
何を基準に選ぶべきなのか???
15
Hack/PHP7機能の比較
16
タイプヒンティング
17
タイプヒンティングとは?
functionの引数/戻り値がどの種別かを指定できます。
Class Sample {
public static function sampleFunc(int $a): string{
return "OK";
}
}
//OK
Sample::sampleFunc (1);
//Fatal Error
Sample::sampleFunc ("a");
18
PHPのタイプヒンティング
指定できる種別は、バージョンアップ毎に追加されました。
PHP5.0 :クラス
PHP5.1 :配列
PHP5.4 :クロージャや関数名
PHP7 :スカラー型(int, float, string, bool)
19
タイプヒンティングの仕様は、
HackとPHP7で大きく異なります。
20
タイプヒンティング/PHP7
2つのタイプが存在。
・弱い型指定→自動的な型キャスト。
・強い型指定→型まで厳密に判別。
<?php
Class Sample {
public static function sampleFunc(int $a): string{
return "OK";
}
}
//どちらのタイプでもOK
Sample::sampleFunc(1);
//「弱い型指定」のみOK
Sample::sampleFunc("1");
21
タイプヒンティング/PHP7
・デフォルトは「弱い型指定」
・「強い型指定」には、ファイルの最初で宣言が必要。
・ファイル単位でのみ「強い型指定」が設定可能。
→iniファイル等での指定は不可能。
<?php
//ファイルに「強い型指定」が有効になる。
declare(strict_types=1);
22
タイプヒンティング/PHP7
・Nullや複数型の許可を明示することができない。
・タイプヒンティングのあるfunctionにNullを渡すとエラー
<?php
Class Sample {
public static function sampleFunc(int $a): string{
return "OK";
}
}
//Fatal Error
Sample::sampleFunc(null);
23
タイプヒンティング/Hack
・PHP7の「強い型指定」のみが存在。
・mixedを使うことで、Nullを含むあらゆる型を許容できる。
<?hh
Class Sample {
public static function sampleFunc(mixed $a): string{
return "OK";
}
}
//OK
Sample::sampleFunc(null);
Sample::sampleFunc(1);
Sample::sampleFunc(”a");
24
タイプヒンティング/Hack
・Nullを許容する場合には、型の初めに?を付ける。
<?hh
Class Sample {
public static function sampleFunc(?int $a): string{
return "OK";
}
}
//OK
Sample::sampleFunc(null);
Sample::sampleFunc(1);
25
タイプヒンティング/Hack
配列にのKey, Valueに型指定できる。
(ただし実行時のチェックは機能せず、静的解析のみ。)
<?hh
Class Sample {
public static function sampleFunc(array<int, string> $a): string{
return "OK";
}
}
//OK
Sample::sampleFunc(array(1 => "a", 2 => "b"));
Sample::sampleFunc(array(1 => 1, 2 => null));
26
タイプヒンティング/Hack
Enumを指定することで、明示的な制約ができる。
<?hh
enum Size: int {
MEDIUM = 1;
LARGE = 2;
}
Class Sample {
public static function sampleFunc(Size $size): string{
return "OK";
}
}
//OK
Sample::sampleFunc(Size::LARGE);
Sample::sampleFunc(2);
Sample::sampleFunc(4); //チェックは型のみで値は見ない。
//Error
Sample::sampleFunc(”a");
27
タイプヒンティング
・「強い型指定」が基本。
・Nullの許容やmixedが設定可能。
型をきちんと意識した、
大規模サービス向けの仕様。
・「弱い型指定」が基本。
・型の設定のみ可能。
型を意識せず実装できる、
開発速度を重視の仕様。
28
コレクション
29
PHP5系の配列とは
・内部的には、順番つけされたマップ
・配列と連想配列を同じものとして扱える。
・キーは整数または文字列。
・数字をキーにしても、値は入れた順番に取り出される。
<?php
//実行するとabと表示される。
$arr = array(1 => ”a", 0 => ”b");
foreach($arr as $value ) {
print($value);
}
30
配列/PHP7
・値の取り出しにNull合体演算子(??)が利用可能。
→未定義の値をチェックしてもNoticeにならない。
<?php
$arr = array();
//PHP5でよく使われた三項演算子での記述
$a = isset($arr["foo"])? $arr["foo"] : "bar";
//エルビス演算子での記述(!empty相当のチェック/Notice発生)
$b = $arr["foo"] ?: "bar";
//Null合体演算子での記述(isset相当のチェック/Noticeしない)
$c = $arr["foo"] ?? "bar";
31
コレクション/Hack
・独自のコレクションが利用可能(Vector/Map/Set/Pair)
→宣言時に型を指定できる(実行時チェックは行わない)
<?hh
$a = new Map<string, string>;
//OK
$a->set("key1", "value1");
//OK
$a->set("key2", 2);
//OK
$a->set(3, array());
32
コレクション/Hack
・Getメソッドを使うことで、issetでキーをチェックしなくても
Noticeを出さずに値の取り出しが可能。
<?hh
$a = new Map<string, string>;
$a->set("key1", "value1");
//$val1に”value1”が入る。
$val1 = $a->get("key1");
//$val2にNULLが入る。Noticeは発生しない。
$val2 = $a->get("key2");
33
Map
キーと値をセットで格納。
B
A
D
EC
34
Vector
順番に値を保持する純粋な配列。
21 4 53
35
Set
値の集合で、中身の重複が認められない。
BA D EC
36
Pair
2つの値をセットにして保持。
37
配列/コレクション
・4つの独自コレクション。
・コレクションに型を指定可能。
型をきちんと意識した、
大規模サービス向けの仕様。
・”何でも入る”配列のみ利用可能。
・Null合体演算子(??)が利用可能。
連想配列に何でも突っ込める、
開発速度を重視の仕様。
※Null合体演算子はHHVM3.11からHackで利用可能
38
その他の言語仕様
Hackのみ存在
・ラムダ式、Generics、Enum、並列実行(async, await)
PHP7のみ存在
・致命的エラーのハンドリング。
・defineで配列が利用可能。
<?php
define("SAMPLE", array("a"=>1,2,3));
39
静的解析ツール
HHVM
→hh_clientにより、コードの静的解析が可能。
構文エラーや型の不整合など実行前に潰すことができる。
PHP7
→同等の機能なし。
40
実行前に構文チェックを行えます。
・コンパイルエラー
・引数/戻り値の型チェック
・非推奨の構文
・型の不適切な変換
etc
静的解析ツール/Hack(HHVM)
※設定ファイルのhhvm.hack.lang.auto_typecheckで
自動実行の有無を設定可能。
41
品質重視で開発するならHack、
スピード重視ならPHP。
それぞれに特徴を持っています!
わかったこと
42
コミュニティの投票によって機能実装が決まるPHPと
Facebookによって開発されるHack言語。
PHPは「緩いPHPらしさ」を大切にしており、Hack言
語は「実用性としての正しさ」を大切にしているよう
に感じています。
個人的な印象
43
リリースサイクル
Hack(HHVM)
・8週ごとにリリース。
・3バージョン毎のLTSを1年間のサポート。
PHP
・リリースサイクル1年
・ライフサイクル3年(バグ修正2年、セキュリティ修正1年)
→LTSを約1年間サポート。
サポートについて/Hack
45
HHVMのPHP7対応状況
46
HHVMはPHP7に対応していく方針
http://hhvm.com/blog/10859/php-7-support
47
ざっくりポイント
・PHP7リリースはHHVMにとっても本当にめでたい。
・HHVM3.11からPHP7の機能に対応していく。
・PHP5とPHP7の両方をサポートしていく方針。
・設定ファイル「hhvm.php7.all = 1」で、後方互換のない
PHP7の設定を有効にできる。
https://docs.hhvm.com/hhvm/configuration/INI-settings#php-7-settings
48
PHP7に関するissueをGithubで確認可能
https://github.com/facebook/hhvm/labels/php7%20incompatibility
49
まとめ
・PHP7とHackには、似たようで異なる特徴が存在する。
・Hackには「大規模開発」に適した独自機能が存在する。
・HackはPHPと分裂せず、PHPと同期して進化していく。
50
まとめ
・HHVM3.11でPHP7の機能を実装。1月29日リリースの3.12が
PHP7の機能をサポートする初めてのLTSになる。
・PHP7の機能については、段階的にHackに実装予定。
51
PHPという優れた言語の未来に
選択肢があることは素晴らしい!
52
PHP7が出ましたが、まだまだ
Hack/HHVMを選ぶ価値はあります!
53
ご静聴ありがとうございました。
54
この資料は、正確な記述を心がけて作成していますが、
内容の正確性や有用性を作者は保証しません。また、本
資料は作者個人が作成したものであり、所属する組織・
団体の見解等を表すものではありません。
免責事項

More Related Content

What's hot

PHP conference kansai2018_ishihara
PHP conference kansai2018_ishiharaPHP conference kansai2018_ishihara
PHP conference kansai2018_ishihara
ishihara_yuki
 
プロ生Lt20130622
プロ生Lt20130622プロ生Lt20130622
プロ生Lt20130622erthejp
 
プログラミングってなに?
プログラミングってなに?プログラミングってなに?
プログラミングってなに?
Kazuki Saito
 
プログラミング初心者向け情報サイト「プロスタ」
プログラミング初心者向け情報サイト「プロスタ」プログラミング初心者向け情報サイト「プロスタ」
プログラミング初心者向け情報サイト「プロスタ」
Yosuke Homma
 
プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...
プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...
プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...
Yoshinori Kobayashi
 
爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話
Shohei Tai
 
エンタープライズパッケージを利用しました〜HTML Exporter編〜
エンタープライズパッケージを利用しました〜HTML Exporter編〜エンタープライズパッケージを利用しました〜HTML Exporter編〜
エンタープライズパッケージを利用しました〜HTML Exporter編〜
Yuzuru Sano
 
PHP カンファレンス福岡 2017 参加報告
PHP カンファレンス福岡 2017 参加報告PHP カンファレンス福岡 2017 参加報告
PHP カンファレンス福岡 2017 参加報告
y-uti
 
F#で数独を解く
F#で数独を解くF#で数独を解く
F#で数独を解く
Masuda Tomoaki
 
HTML5でteratailが喋った!
HTML5でteratailが喋った!HTML5でteratailが喋った!
HTML5でteratailが喋った!
Shohei Tai
 
App Dojo 2017 12月 - VUI in your app with Dialogflow -
App Dojo 2017 12月 - VUI in your app with Dialogflow -App Dojo 2017 12月 - VUI in your app with Dialogflow -
App Dojo 2017 12月 - VUI in your app with Dialogflow -
啓介 大橋
 
マークアップの作業効率をあげよう!
マークアップの作業効率をあげよう!マークアップの作業効率をあげよう!
マークアップの作業効率をあげよう!
Mitsuo Kawashima
 
ALM Day LT
ALM Day LTALM Day LT
ALM Day LT
David Keuning
 
DroidKaigi 2018 - Dialogflow for Android
DroidKaigi 2018 - Dialogflow for AndroidDroidKaigi 2018 - Dialogflow for Android
DroidKaigi 2018 - Dialogflow for Android
SENSY Inc
 
フロントエンドというカオスな世界について
フロントエンドというカオスな世界についてフロントエンドというカオスな世界について
フロントエンドというカオスな世界について
mikakane
 
Next.js Storybook Driven Development
Next.js Storybook Driven DevelopmentNext.js Storybook Driven Development
Next.js Storybook Driven Development
Takuya Tejima
 
【CodeCamp】PHP教科書サンプル
【CodeCamp】PHP教科書サンプル【CodeCamp】PHP教科書サンプル
【CodeCamp】PHP教科書サンプル
codecampJP
 
ほぼ初心者からのマッチングサービス開発のリアル Feat. 嫁
ほぼ初心者からのマッチングサービス開発のリアル Feat. 嫁 ほぼ初心者からのマッチングサービス開発のリアル Feat. 嫁
ほぼ初心者からのマッチングサービス開発のリアル Feat. 嫁
宜浩 香月
 
YYPHP #13 初めてのコードレビュー
YYPHP #13 初めてのコードレビューYYPHP #13 初めてのコードレビュー
YYPHP #13 初めてのコードレビュー
宜浩 香月
 

What's hot (20)

TalknoteとGolang
TalknoteとGolangTalknoteとGolang
TalknoteとGolang
 
PHP conference kansai2018_ishihara
PHP conference kansai2018_ishiharaPHP conference kansai2018_ishihara
PHP conference kansai2018_ishihara
 
プロ生Lt20130622
プロ生Lt20130622プロ生Lt20130622
プロ生Lt20130622
 
プログラミングってなに?
プログラミングってなに?プログラミングってなに?
プログラミングってなに?
 
プログラミング初心者向け情報サイト「プロスタ」
プログラミング初心者向け情報サイト「プロスタ」プログラミング初心者向け情報サイト「プロスタ」
プログラミング初心者向け情報サイト「プロスタ」
 
プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...
プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...
プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...
 
爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話
 
エンタープライズパッケージを利用しました〜HTML Exporter編〜
エンタープライズパッケージを利用しました〜HTML Exporter編〜エンタープライズパッケージを利用しました〜HTML Exporter編〜
エンタープライズパッケージを利用しました〜HTML Exporter編〜
 
PHP カンファレンス福岡 2017 参加報告
PHP カンファレンス福岡 2017 参加報告PHP カンファレンス福岡 2017 参加報告
PHP カンファレンス福岡 2017 参加報告
 
F#で数独を解く
F#で数独を解くF#で数独を解く
F#で数独を解く
 
HTML5でteratailが喋った!
HTML5でteratailが喋った!HTML5でteratailが喋った!
HTML5でteratailが喋った!
 
App Dojo 2017 12月 - VUI in your app with Dialogflow -
App Dojo 2017 12月 - VUI in your app with Dialogflow -App Dojo 2017 12月 - VUI in your app with Dialogflow -
App Dojo 2017 12月 - VUI in your app with Dialogflow -
 
マークアップの作業効率をあげよう!
マークアップの作業効率をあげよう!マークアップの作業効率をあげよう!
マークアップの作業効率をあげよう!
 
ALM Day LT
ALM Day LTALM Day LT
ALM Day LT
 
DroidKaigi 2018 - Dialogflow for Android
DroidKaigi 2018 - Dialogflow for AndroidDroidKaigi 2018 - Dialogflow for Android
DroidKaigi 2018 - Dialogflow for Android
 
フロントエンドというカオスな世界について
フロントエンドというカオスな世界についてフロントエンドというカオスな世界について
フロントエンドというカオスな世界について
 
Next.js Storybook Driven Development
Next.js Storybook Driven DevelopmentNext.js Storybook Driven Development
Next.js Storybook Driven Development
 
【CodeCamp】PHP教科書サンプル
【CodeCamp】PHP教科書サンプル【CodeCamp】PHP教科書サンプル
【CodeCamp】PHP教科書サンプル
 
ほぼ初心者からのマッチングサービス開発のリアル Feat. 嫁
ほぼ初心者からのマッチングサービス開発のリアル Feat. 嫁 ほぼ初心者からのマッチングサービス開発のリアル Feat. 嫁
ほぼ初心者からのマッチングサービス開発のリアル Feat. 嫁
 
YYPHP #13 初めてのコードレビュー
YYPHP #13 初めてのコードレビューYYPHP #13 初めてのコードレビュー
YYPHP #13 初めてのコードレビュー
 

Similar to PHP7がリリースされたいま、 改めてHackについて考える。

PHP7で目指す 継続的インテグレーション開発
PHP7で目指す 継続的インテグレーション開発PHP7で目指す 継続的インテグレーション開発
PHP7で目指す 継続的インテグレーション開発
優也 田島
 
Introducing hhvm hack-async
Introducing hhvm hack-asyncIntroducing hhvm hack-async
Introducing hhvm hack-async
Kenjiro Kubota
 
まだ技術ブログを始めてないPHPerのあなたへ。PHPカンファレンス関西2013 LT
まだ技術ブログを始めてないPHPerのあなたへ。PHPカンファレンス関西2013 LTまだ技術ブログを始めてないPHPerのあなたへ。PHPカンファレンス関西2013 LT
まだ技術ブログを始めてないPHPerのあなたへ。PHPカンファレンス関西2013 LT77web
 
PHP開発からAndroid開発をするようになって学んだWebとモバイルの違い
PHP開発からAndroid開発をするようになって学んだWebとモバイルの違いPHP開発からAndroid開発をするようになって学んだWebとモバイルの違い
PHP開発からAndroid開発をするようになって学んだWebとモバイルの違い
Masataka Kono
 
Yet another use of Phalcon
Yet another use of PhalconYet another use of Phalcon
Yet another use of PhalconYuji Iwai
 
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜Monaca
 
PHP選んで良かったこと
PHP選んで良かったことPHP選んで良かったこと
PHP選んで良かったこと
Wataru Terada
 
いまどき(これから)のPHP開発
いまどき(これから)のPHP開発いまどき(これから)のPHP開発
いまどき(これから)のPHP開発
Kenjiro Kubota
 
Swiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-EdoSwiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-Edo
Megumi Otani(Czenhe)
 
WCFのパイプ通信を .NET 5に向けてgRPCへ置き換える話
WCFのパイプ通信を .NET 5に向けてgRPCへ置き換える話WCFのパイプ通信を .NET 5に向けてgRPCへ置き換える話
WCFのパイプ通信を .NET 5に向けてgRPCへ置き換える話
keitasudo1
 
会話型UI事始め
会話型UI事始め会話型UI事始め
会話型UI事始め
DeNA
 
PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」
Preferred Networks
 
20分でSymfony@OSC名古屋
20分でSymfony@OSC名古屋20分でSymfony@OSC名古屋
20分でSymfony@OSC名古屋Shingo Nakamura
 
Bonfire API #1 APIのリトライ処理
Bonfire API #1 APIのリトライ処理Bonfire API #1 APIのリトライ処理
Bonfire API #1 APIのリトライ処理
Yahoo!デベロッパーネットワーク
 
PHPカンファレンス福岡に 行ってきた
PHPカンファレンス福岡に 行ってきたPHPカンファレンス福岡に 行ってきた
PHPカンファレンス福岡に 行ってきた
Tomoki Hasegawa
 
PHP×コミニュケーションロボット
PHP×コミニュケーションロボットPHP×コミニュケーションロボット
PHP×コミニュケーションロボット
Nishida Kansuke
 
PHP カンファレンス 2014 に行ってきたよ
PHP カンファレンス 2014 に行ってきたよPHP カンファレンス 2014 に行ってきたよ
PHP カンファレンス 2014 に行ってきたよ
Masaru Matsuo
 
Lync 2013 アプリの開発ーJapan SharePoint Group
Lync 2013 アプリの開発ーJapan SharePoint GroupLync 2013 アプリの開発ーJapan SharePoint Group
Lync 2013 アプリの開発ーJapan SharePoint Group
adachiyosuke
 
第1回勉強会
第1回勉強会第1回勉強会
第1回勉強会
Yukie Kanzawa
 

Similar to PHP7がリリースされたいま、 改めてHackについて考える。 (20)

PHP7で目指す 継続的インテグレーション開発
PHP7で目指す 継続的インテグレーション開発PHP7で目指す 継続的インテグレーション開発
PHP7で目指す 継続的インテグレーション開発
 
Introducing hhvm hack-async
Introducing hhvm hack-asyncIntroducing hhvm hack-async
Introducing hhvm hack-async
 
まだ技術ブログを始めてないPHPerのあなたへ。PHPカンファレンス関西2013 LT
まだ技術ブログを始めてないPHPerのあなたへ。PHPカンファレンス関西2013 LTまだ技術ブログを始めてないPHPerのあなたへ。PHPカンファレンス関西2013 LT
まだ技術ブログを始めてないPHPerのあなたへ。PHPカンファレンス関西2013 LT
 
PHP開発からAndroid開発をするようになって学んだWebとモバイルの違い
PHP開発からAndroid開発をするようになって学んだWebとモバイルの違いPHP開発からAndroid開発をするようになって学んだWebとモバイルの違い
PHP開発からAndroid開発をするようになって学んだWebとモバイルの違い
 
Yet another use of Phalcon
Yet another use of PhalconYet another use of Phalcon
Yet another use of Phalcon
 
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜
 
PHP選んで良かったこと
PHP選んで良かったことPHP選んで良かったこと
PHP選んで良かったこと
 
いまどき(これから)のPHP開発
いまどき(これから)のPHP開発いまどき(これから)のPHP開発
いまどき(これから)のPHP開発
 
Swiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-EdoSwiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-Edo
 
WCFのパイプ通信を .NET 5に向けてgRPCへ置き換える話
WCFのパイプ通信を .NET 5に向けてgRPCへ置き換える話WCFのパイプ通信を .NET 5に向けてgRPCへ置き換える話
WCFのパイプ通信を .NET 5に向けてgRPCへ置き換える話
 
会話型UI事始め
会話型UI事始め会話型UI事始め
会話型UI事始め
 
PHPNGの動向
PHPNGの動向PHPNGの動向
PHPNGの動向
 
PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」
 
20分でSymfony@OSC名古屋
20分でSymfony@OSC名古屋20分でSymfony@OSC名古屋
20分でSymfony@OSC名古屋
 
Bonfire API #1 APIのリトライ処理
Bonfire API #1 APIのリトライ処理Bonfire API #1 APIのリトライ処理
Bonfire API #1 APIのリトライ処理
 
PHPカンファレンス福岡に 行ってきた
PHPカンファレンス福岡に 行ってきたPHPカンファレンス福岡に 行ってきた
PHPカンファレンス福岡に 行ってきた
 
PHP×コミニュケーションロボット
PHP×コミニュケーションロボットPHP×コミニュケーションロボット
PHP×コミニュケーションロボット
 
PHP カンファレンス 2014 に行ってきたよ
PHP カンファレンス 2014 に行ってきたよPHP カンファレンス 2014 に行ってきたよ
PHP カンファレンス 2014 に行ってきたよ
 
Lync 2013 アプリの開発ーJapan SharePoint Group
Lync 2013 アプリの開発ーJapan SharePoint GroupLync 2013 アプリの開発ーJapan SharePoint Group
Lync 2013 アプリの開発ーJapan SharePoint Group
 
第1回勉強会
第1回勉強会第1回勉強会
第1回勉強会
 

More from Yuji Otani

SKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジーSKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジー
Yuji Otani
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
 
「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか
Yuji Otani
 
Why choose Hack/HHVM over PHP7
Why choose Hack/HHVM over PHP7Why choose Hack/HHVM over PHP7
Why choose Hack/HHVM over PHP7
Yuji Otani
 
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
Yuji Otani
 
スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方
Yuji Otani
 
NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )
Yuji Otani
 
Phalcon勉強会資料
Phalcon勉強会資料Phalcon勉強会資料
Phalcon勉強会資料
Yuji Otani
 
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
Yuji Otani
 
Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)
Yuji Otani
 
【基礎編】社内向けMySQL勉強会
【基礎編】社内向けMySQL勉強会【基礎編】社内向けMySQL勉強会
【基礎編】社内向けMySQL勉強会
Yuji Otani
 
Nginx勉強会
Nginx勉強会Nginx勉強会
Nginx勉強会
Yuji Otani
 
PHP基礎勉強会
PHP基礎勉強会PHP基礎勉強会
PHP基礎勉強会
Yuji Otani
 
負荷分散勉強会
負荷分散勉強会負荷分散勉強会
負荷分散勉強会
Yuji Otani
 
NoSQL勉強会
NoSQL勉強会NoSQL勉強会
NoSQL勉強会Yuji Otani
 
Php5 4勉強会
Php5 4勉強会Php5 4勉強会
Php5 4勉強会Yuji Otani
 

More from Yuji Otani (16)

SKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジーSKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジー
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか
 
Why choose Hack/HHVM over PHP7
Why choose Hack/HHVM over PHP7Why choose Hack/HHVM over PHP7
Why choose Hack/HHVM over PHP7
 
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
 
スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方
 
NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )
 
Phalcon勉強会資料
Phalcon勉強会資料Phalcon勉強会資料
Phalcon勉強会資料
 
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
 
Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)
 
【基礎編】社内向けMySQL勉強会
【基礎編】社内向けMySQL勉強会【基礎編】社内向けMySQL勉強会
【基礎編】社内向けMySQL勉強会
 
Nginx勉強会
Nginx勉強会Nginx勉強会
Nginx勉強会
 
PHP基礎勉強会
PHP基礎勉強会PHP基礎勉強会
PHP基礎勉強会
 
負荷分散勉強会
負荷分散勉強会負荷分散勉強会
負荷分散勉強会
 
NoSQL勉強会
NoSQL勉強会NoSQL勉強会
NoSQL勉強会
 
Php5 4勉強会
Php5 4勉強会Php5 4勉強会
Php5 4勉強会
 

Recently uploaded

「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
Yuki Miyazaki
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
sugiuralab
 

Recently uploaded (9)

「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
 

PHP7がリリースされたいま、 改めてHackについて考える。