Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Yuji Otani
PPTX, PDF
12,124 views
PHP7ではなくHack/HHVMを選ぶ理由
2月24日に開催された第99回PHP勉強会での発表資料です。 Hack/HHVMの特徴について説明しています。
Technology
◦
Read more
15
Save
Share
Embed
Download
Downloaded 16 times
1
/ 70
2
/ 70
3
/ 70
4
/ 70
5
/ 70
6
/ 70
7
/ 70
8
/ 70
9
/ 70
10
/ 70
11
/ 70
12
/ 70
13
/ 70
14
/ 70
15
/ 70
16
/ 70
17
/ 70
18
/ 70
19
/ 70
20
/ 70
21
/ 70
22
/ 70
23
/ 70
24
/ 70
25
/ 70
26
/ 70
27
/ 70
28
/ 70
29
/ 70
30
/ 70
31
/ 70
32
/ 70
33
/ 70
34
/ 70
35
/ 70
36
/ 70
37
/ 70
38
/ 70
39
/ 70
40
/ 70
41
/ 70
42
/ 70
43
/ 70
44
/ 70
45
/ 70
46
/ 70
47
/ 70
48
/ 70
49
/ 70
50
/ 70
51
/ 70
52
/ 70
53
/ 70
54
/ 70
55
/ 70
56
/ 70
57
/ 70
58
/ 70
59
/ 70
60
/ 70
61
/ 70
62
/ 70
63
/ 70
64
/ 70
65
/ 70
66
/ 70
67
/ 70
68
/ 70
69
/ 70
70
/ 70
More Related Content
PDF
エンジニアから飛んでくるマサカリを受け止める心得
by
Reimi Kuramochi Chiba
PDF
π計算
by
Yuuki Takano
PPTX
WayOfNoTrouble.pptx
by
Daisuke Yamazaki
PDF
ビジネスパーソンのためのDX入門講座エッセンス版
by
Tokoroten Nakayama
PDF
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
by
Mikiya Okuno
PPTX
分散システムについて語らせてくれ
by
Kumazaki Hiroki
PDF
Laravel の paginate は一体何をやっているのか
by
Shohei Okada
PDF
Twitterのリアルタイム分散処理システム「Storm」入門
by
AdvancedTechNight
エンジニアから飛んでくるマサカリを受け止める心得
by
Reimi Kuramochi Chiba
π計算
by
Yuuki Takano
WayOfNoTrouble.pptx
by
Daisuke Yamazaki
ビジネスパーソンのためのDX入門講座エッセンス版
by
Tokoroten Nakayama
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
by
Mikiya Okuno
分散システムについて語らせてくれ
by
Kumazaki Hiroki
Laravel の paginate は一体何をやっているのか
by
Shohei Okada
Twitterのリアルタイム分散処理システム「Storm」入門
by
AdvancedTechNight
What's hot
PDF
LIFFとの連携でさらに強力に。こんなに使えるLINEログイン
by
Naohiro Fujie
PDF
モダンフロントエンド開発者に求められるスキルとは
by
Takuya Tejima
PDF
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
by
Koichi Hamada
PDF
Webアプリを並行開発する際のマイグレーション戦略
by
Takayuki Shimizukawa
PDF
マッチングサービスにおけるKPIの話
by
cyberagent
PDF
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
by
Yahoo!デベロッパーネットワーク
PPTX
グラフデータベース入門
by
Masaya Dake
PDF
Dockerfile を書くためのベストプラクティス解説編
by
Masahito Zembutsu
PDF
ナレッジグラフとオントロジー
by
University of Tsukuba
PDF
自動定理証明の紹介
by
Masahiro Sakai
PDF
ソフトウェア開発における『知の高速道路』
by
Yoshitaka Kawashima
PDF
Marp Tutorial
by
Rui Watanabe
PPTX
JIRA / Confluence の必須プラグインはこれだ
by
Narichika Kajihara
PDF
Amebaにおけるレコメンデーションシステムの紹介
by
cyberagent
PPTX
おすすめVimプラグインまとめ
by
Shun Iwase
PPTX
kintone からER図を作成してみた
by
CData Software Japan
PDF
定理証明支援系Coqについて
by
Yoshihiro Mizoguchi
PDF
Power BI データフロー 早わかり
by
Takeshi Kagata
PPTX
ゲームの通信をつくる仕事はどうなるのだろう?
by
Kengo Nakajima
PDF
Docker volume基礎/Project Longhorn紹介
by
Masahito Zembutsu
LIFFとの連携でさらに強力に。こんなに使えるLINEログイン
by
Naohiro Fujie
モダンフロントエンド開発者に求められるスキルとは
by
Takuya Tejima
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
by
Koichi Hamada
Webアプリを並行開発する際のマイグレーション戦略
by
Takayuki Shimizukawa
マッチングサービスにおけるKPIの話
by
cyberagent
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
by
Yahoo!デベロッパーネットワーク
グラフデータベース入門
by
Masaya Dake
Dockerfile を書くためのベストプラクティス解説編
by
Masahito Zembutsu
ナレッジグラフとオントロジー
by
University of Tsukuba
自動定理証明の紹介
by
Masahiro Sakai
ソフトウェア開発における『知の高速道路』
by
Yoshitaka Kawashima
Marp Tutorial
by
Rui Watanabe
JIRA / Confluence の必須プラグインはこれだ
by
Narichika Kajihara
Amebaにおけるレコメンデーションシステムの紹介
by
cyberagent
おすすめVimプラグインまとめ
by
Shun Iwase
kintone からER図を作成してみた
by
CData Software Japan
定理証明支援系Coqについて
by
Yoshihiro Mizoguchi
Power BI データフロー 早わかり
by
Takeshi Kagata
ゲームの通信をつくる仕事はどうなるのだろう?
by
Kengo Nakajima
Docker volume基礎/Project Longhorn紹介
by
Masahito Zembutsu
Similar to PHP7ではなくHack/HHVMを選ぶ理由
PPTX
Hack言語に賭けたチームの話
by
Yuji Otani
PDF
PHP7で変わること ——言語仕様とエンジンの改善ポイント
by
Yoshio Hanawa
PPTX
PHP7がリリースされたいま、 改めてHackについて考える。
by
Yuji Otani
PPTX
Hack+FuelPHPによるWebサービス開発
by
Yuji Otani
PPTX
FuelPHP × HHVM サービス開発事例
by
Yuji Otani
PPTX
Hack/HHVMの最新事情とメイン言語に採用した理由
by
Yuji Otani
PDF
PHPの今とこれから2015
by
Rui Hirokawa
PDF
PHPの今とこれから2016
by
Rui Hirokawa
PDF
Hack/HHVM 入門
by
y-uti
PDF
Introducing hhvm hack-async
by
Kenjiro Kubota
PPTX
PHPべんちまーく
by
chichi1091
PDF
WordPress on HHVM + Hack
by
Takayuki Miyauchi
PDF
先取り!PHP 7 と WordPress
by
Masashi Shinbara
PDF
新言語Hackの話 (いわてPHPカンファレンス2014)
by
Sugawara Ryousuke
PDF
PHPの今とこれから2017
by
Rui Hirokawa
PDF
HHVM Hack
by
Masaaki Yonebayashi
PDF
PHPの今とこれから2014
by
Rui Hirokawa
Hack言語に賭けたチームの話
by
Yuji Otani
PHP7で変わること ——言語仕様とエンジンの改善ポイント
by
Yoshio Hanawa
PHP7がリリースされたいま、 改めてHackについて考える。
by
Yuji Otani
Hack+FuelPHPによるWebサービス開発
by
Yuji Otani
FuelPHP × HHVM サービス開発事例
by
Yuji Otani
Hack/HHVMの最新事情とメイン言語に採用した理由
by
Yuji Otani
PHPの今とこれから2015
by
Rui Hirokawa
PHPの今とこれから2016
by
Rui Hirokawa
Hack/HHVM 入門
by
y-uti
Introducing hhvm hack-async
by
Kenjiro Kubota
PHPべんちまーく
by
chichi1091
WordPress on HHVM + Hack
by
Takayuki Miyauchi
先取り!PHP 7 と WordPress
by
Masashi Shinbara
新言語Hackの話 (いわてPHPカンファレンス2014)
by
Sugawara Ryousuke
PHPの今とこれから2017
by
Rui Hirokawa
HHVM Hack
by
Masaaki Yonebayashi
PHPの今とこれから2014
by
Rui Hirokawa
More from Yuji Otani
PPTX
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
by
Yuji Otani
PPTX
【初心者向け】Go言語勉強会資料
by
Yuji Otani
PPTX
スタートアップにおける技術チームの作り方
by
Yuji Otani
PPTX
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
by
Yuji Otani
PPTX
Redis勉強会資料(2015/06 update)
by
Yuji Otani
PPTX
Nginx勉強会
by
Yuji Otani
PPTX
負荷分散勉強会
by
Yuji Otani
PPTX
Redisの特徴と活用方法について
by
Yuji Otani
PPTX
SKYDISCのIoTを支えるテクノロジー
by
Yuji Otani
PPTX
Phalcon勉強会資料
by
Yuji Otani
PPTX
「技術のインテリジェンスを創る」をどうやって実現するか
by
Yuji Otani
PPTX
【基礎編】社内向けMySQL勉強会
by
Yuji Otani
PPTX
Php5 4勉強会
by
Yuji Otani
PPTX
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
by
Yuji Otani
PPTX
NoSQL勉強会資料(2015/03/12@ヒカラボ )
by
Yuji Otani
PPTX
PHP基礎勉強会
by
Yuji Otani
PPTX
Why choose Hack/HHVM over PHP7
by
Yuji Otani
PPTX
NoSQL勉強会
by
Yuji Otani
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
by
Yuji Otani
【初心者向け】Go言語勉強会資料
by
Yuji Otani
スタートアップにおける技術チームの作り方
by
Yuji Otani
MariaDB+GaleraClusterの運用事例(MySQL勉強会2016-01-28)
by
Yuji Otani
Redis勉強会資料(2015/06 update)
by
Yuji Otani
Nginx勉強会
by
Yuji Otani
負荷分散勉強会
by
Yuji Otani
Redisの特徴と活用方法について
by
Yuji Otani
SKYDISCのIoTを支えるテクノロジー
by
Yuji Otani
Phalcon勉強会資料
by
Yuji Otani
「技術のインテリジェンスを創る」をどうやって実現するか
by
Yuji Otani
【基礎編】社内向けMySQL勉強会
by
Yuji Otani
Php5 4勉強会
by
Yuji Otani
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
by
Yuji Otani
NoSQL勉強会資料(2015/03/12@ヒカラボ )
by
Yuji Otani
PHP基礎勉強会
by
Yuji Otani
Why choose Hack/HHVM over PHP7
by
Yuji Otani
NoSQL勉強会
by
Yuji Otani
Recently uploaded
PDF
論文紹介:"Reflexion: language agents with verbal reinforcement learning", "MA-LMM...
by
Toru Tamaki
PDF
論文紹介:"MM-Tracker: Motion Mamba for UAV-platform Multiple Object Tracking", "M...
by
Toru Tamaki
PDF
論文紹介: "Locality-Aware Zero-Shot Human-Object Interaction Detection" "Disentan...
by
Toru Tamaki
PDF
論文紹介:Simultaneous Detection and Interaction Reasoning for Object-Centric Acti...
by
Toru Tamaki
PDF
手軽に広範囲でプライバシーを守りながら人数カウントできる ~ LoRaWAN AI人流カウンター PF52 日本語カタログ
by
CRI Japan, Inc.
PDF
How We Operated Ticket-Driven Development in JIRA.pdf
by
akipii ogaoga
PDF
歴史好きのスクラム話 JBUG名古屋#5 AI時代のデータドリブンなプロジェクト管理
by
Tatsuya Naiki
PDF
LoRaWAN小売業DXソリューション ~天候データと人流カウンターを利用して売り上げアップに貢献!
by
CRI Japan, Inc.
論文紹介:"Reflexion: language agents with verbal reinforcement learning", "MA-LMM...
by
Toru Tamaki
論文紹介:"MM-Tracker: Motion Mamba for UAV-platform Multiple Object Tracking", "M...
by
Toru Tamaki
論文紹介: "Locality-Aware Zero-Shot Human-Object Interaction Detection" "Disentan...
by
Toru Tamaki
論文紹介:Simultaneous Detection and Interaction Reasoning for Object-Centric Acti...
by
Toru Tamaki
手軽に広範囲でプライバシーを守りながら人数カウントできる ~ LoRaWAN AI人流カウンター PF52 日本語カタログ
by
CRI Japan, Inc.
How We Operated Ticket-Driven Development in JIRA.pdf
by
akipii ogaoga
歴史好きのスクラム話 JBUG名古屋#5 AI時代のデータドリブンなプロジェクト管理
by
Tatsuya Naiki
LoRaWAN小売業DXソリューション ~天候データと人流カウンターを利用して売り上げアップに貢献!
by
CRI Japan, Inc.
PHP7ではなくHack/HHVMを選ぶ理由
1.
PHP7ではなく Hack/HHVMを選ぶ理由 株式会社インテリジェンス 大谷 祐司 1 2016/02/24
2.
2 ・山口県下関出身の35歳 ・インテリジェンスの新規事業で技術責任者。 ・車とプログラミングを愛しています。 ・Facebookの友達申請は気軽にぜひ! https://www.facebook.com/yuji.otani.16 自己紹介
3.
3 5年 7年 1年 → → メイン開発言語の経歴
4.
4 質問① Hack/HHVMを使ったことがあるかた
5.
5 質問② PHP7が出たけど、これから 何を使おうか迷っているかた
6.
6 本日の目的 Hack/HHVMの素晴らしさを伝えて 今後の選択肢にしてもらいたい。
7.
7 インテリジェンスでは 2015年から複数のプロジェクトで Hack/HHVMを導入しています。 (フレームワークはFuelPHP)
8.
8 転職サイト MIIDAS
9.
9 社員紹介サービス MyRefer
10.
10 ・Facebookによって開発された言語 ・PHPと互換性を持っている ・HHVMという仮想マシン上で動作する ・言語仕様はPHP5.6がベース Hackとは?
11.
・バグのないコードを迅速に書けるようになる ・エンジニアがコーディング体験を楽しめる ・「高速な動作」「大規模開発向きの仕様」 Hackの目指すところ http://growthhackjapan.com/2014-03-23-facebook-hack-released-to-the-public/
12.
12 ・PHPのノウハウを生かしながら、新しいこと にチャレンジしたい。 ・パフォーマンスが良いサービスにしたい。 ・将来的に大規模になった時にも可読性がよく、 スピーディーな改修ができるようにしたい。 ・PHP7がまだリリースされないので。 Hackの採用理由
13.
13 昨年末、大きな事件が起きました
14.
14 2015/12/03 PHP7リリース!!
15.
15 大幅な高速化を実現!! http://talks.php.net/fluent15#/wpbench
16.
16 ・Null合体演算子(??) ・致命的エラーを補足可能(EngineException) ・無名クラスの導入。 ・スカラ型のタイプヒンティング。 ・返り値のタイプヒンティング。 新しい言語仕様
17.
17 ・64bitCPUに最適化されたデータ構造。 ・CPUキャッシュを有効活用する改善。 ・配列はメモリ上でも配列になった。 (PHP5は全て連想配列) ・配列のメモリ使用量が劇的に下がった。 ※PHP5(72bytes)→PHP7(32bytes) データ構造の変更
18.
18 Hack/HHVMの特徴がいくつも、 PHP7に搭載されました。 ・スカラ型のタイプヒンティング ・返り値のタイプヒンティング ・高速な動作 ・配列で使うメモリが少ない ・AST(抽象構文木)を使ったコンパイル
19.
19 PHPは今、大きな転換期。 だからこそ、Hack/HHVMの良さを ぜひ知ってもらいたいと思います。
20.
20 ポイント① 強力なタイプヒンティング
21.
21 タイプヒンティングとは? functionの引数/戻り値がどの種別かを指定できます。 Class Sample { public
static function sampleFunc(int $a): string{ return "OK"; } } //OK Sample::sampleFunc (1); //Fatal Error Sample::sampleFunc ("a");
22.
22 PHPのタイプヒンティング 指定できる種別は、バージョンアップ毎に追加されました。 PHP5.0 :クラス PHP5.1 :配列 PHP5.4
:クロージャや関数名 PHP7 :スカラー型(int, float, string, bool)
23.
23 タイプヒンティングの仕様は、 HackとPHP7で大きく異なります。
24.
24 タイプヒンティング/PHP7 2つのタイプが存在。 ・弱い型指定→自動的な型キャスト。 ・強い型指定→型まで厳密に判別。 <?php Class Sample { public
static function sampleFunc(int $a): string{ return "OK"; } } //どちらのタイプでもOK Sample::sampleFunc(1); //「弱い型指定」のみOK Sample::sampleFunc("1");
25.
25 タイプヒンティング/PHP7 ・デフォルトは「弱い型指定」 ・「強い型指定」には、ファイルの最初で宣言が必要。 ・ファイル単位でのみ「強い型指定」が設定可能。 →iniファイル等での指定は不可能。 <?php //ファイルに「強い型指定」が有効になる。 declare(strict_types=1);
26.
26 タイプヒンティング/PHP7 ・Nullや複数型の許可を明示することができない。 ・タイプヒンティングのあるfunctionにNullを渡すとエラー <?php Class Sample { public
static function sampleFunc(int $a): string{ return "OK"; } } //Fatal Error Sample::sampleFunc(null);
27.
27 タイプヒンティング/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");
28.
28 タイプヒンティング/Hack ・Nullを許容する場合には、型の初めに?を付ける。 <?hh Class Sample { public
static function sampleFunc(?int $a): string{ return "OK"; } } //OK Sample::sampleFunc(null); Sample::sampleFunc(1);
29.
29 タイプヒンティング/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));
30.
30 タイプヒンティング/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");
31.
31 タイプヒンティング ・「強い型指定」が基本。 ・Nullの許容やmixedが設定可能。 型をきちんと意識した、 大規模サービス向けの仕様。 ・「弱い型指定」が基本。 ・型の設定のみ可能。 型を意識せず実装できる、 開発速度を重視の仕様。
32.
32 ポイント② 専用のコレクション
33.
33 PHP5系の配列とは ・配列と連想配列を同じものとして扱える。 ・配列に入れる型は何でもOK。 ・キーは整数または文字列。 ・何をキーにしても、値は入れた順番に取り出される。 <?php //実行するとabと表示される。 $arr = array(1
=> ”a", 0 => ”b"); foreach($arr as $value ) { print($value); }
34.
34 コレクション/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());
35.
35 コレクション/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");
36.
36 Map キーと値をセットで格納。 B A D EC
37.
37 Vector 順番に値を保持する純粋な配列。 21 4 53
38.
38 Set 値の集合で、中身の重複が認められない。 BA D EC
39.
39 Pair 2つの値をセットにして保持。
40.
40 配列/コレクション ・4つの独自コレクション。 ・コレクションに型を指定可能。 型をきちんと意識した、 大規模サービス向けの仕様。 ・”何でも入る”配列のみ利用可能。 ・配列の種類、型は意識しない。 連想配列に何でも突っ込める、 開発速度を重視の仕様。 ※Null合体演算子はHHVM3.11からHackで利用可能
41.
41 ポイント③ 独自の言語仕様
42.
42 独自の言語仕様 ・Lambdas (ラムダ式) ・Generics (ジェネリクス) ・Enum
(列挙型) ・Tuples (複数の要素を持つ配列) ・Shapes (複数の要素を持つマップ)
43.
43 Enum(値の列挙) <?hh enum Size: int
{ SMALL = 0; MEDIUM = 1; LARGE = 2; X_LARGE = 3; } 型を指定した値を宣言できる
44.
44 Tuples(複数型の配列) <?hh list($a, $b) =
testFunc(); public function testFunc() : (string, int) { return tuple(“OK”, 1); } functionから複数の値を戻せる
45.
45 独自の言語仕様 Hack/HHVMには多くの言語仕様が追加されています。 サービスの導入において、 ・バグのないコードを迅速に書けるようになる ・エンジニアがコーディング体験を楽しめる これらを実現することができています。
46.
46 ポイント④ 並列実行のサポート
47.
47 並列実行 Async/Awaitという独自の関数を利用して、 並列処理を実行することができます。 並列実行できる処理はあらかじめ準備されており、 それらを利用することで高速な処理が行えます。
48.
48 並列実行
49.
49 ポイント⑤ 静的解析ツール
50.
50 静的解析ツール hh_clientにより、コードの静的解析が可能。 構文エラーや型の不整合など実行前に潰すことができる。 厳密な型制約を持つHackで利用することで、 バグの少ないコードを実現することができます。
51.
51 実行前に構文チェックを行えます。 ・コンパイルエラー ・引数/戻り値の型チェック ・非推奨の構文 ・型の不適切な変換 etc 静的解析ツール/Hack(HHVM) ※設定ファイルのhhvm.hack.lang.auto_typecheckで 自動実行の有無を設定可能。
52.
52 ポイント⑥ PHP7の機能を段階的に使える
53.
53 PHP5/7への両対応 ・HHVM3.11からPHP7の機能に対応。 ・PHP5とPHP7の両方をサポートしていく方針。 ・設定ファイル「hhvm.php7.all = 1」で、後方互換のない PHP7の設定を有効にできる。 ・PHP7の機能を個別に適用可能。 https://docs.hhvm.com/hhvm/configuration/INI-settings#php-7-settings
54.
54 ポイント⑦ 豊富な採用実績
55.
55 豊富な採用実績 大規模Webサービスを中心に、多くの採用実績があります。 WikipediaやBaidoは多くのソースコードをHack/HHVMに コミットしています。 https://github.com/facebook/hhvm/wiki/Users
56.
56 素敵なHack/HHVMですが、 不安な点もたくさんあります
57.
57 リリースサイクル Hack(HHVM) ・8週ごとにリリース。 ・3バージョン毎のLTSを1年間のサポート。 PHP ・リリースサイクル1年 ・ライフサイクル3年(バグ2年/セキュリティ1年)
58.
LTSを約1年間サポート。 サポートについて/Hack
59.
59 ・hhvmが落ちる→監視して自動で再起動 ・peclが利用できない→golangで記述(HNI挑戦中) ・突然のCentOS6サポート停止→CentOS7へ移行 ・ほとんどのIDEが対応していない 運用で直面した問題点
60.
60 ググラビリティが非常に低い。 問題点
61.
61 HHVMのPHP7対応状況
62.
62 HHVMはPHP7に対応していく方針 http://hhvm.com/blog/10859/php-7-support
63.
63 ざっくりポイント ・PHP7リリースはHHVMにとっても本当にめでたい。 ・HHVM3.11からPHP7の機能に対応していく。 ・PHP5とPHP7の両方をサポートしていく方針。 ・設定ファイル「hhvm.php7.all = 1」で、後方互換のない PHP7の設定を有効にできる。 https://docs.hhvm.com/hhvm/configuration/INI-settings#php-7-settings
64.
64 PHP7に関するissueをGithubで確認可能 https://github.com/facebook/hhvm/labels/php7%20incompatibility
65.
65 まとめ ・PHP7とHackは似たようで異なる機能がある。 ・Hackには「大規模開発」によりフォーカス。 ・HackはPHPと分裂せず、同期して進化する。
66.
66 コミュニティの投票によって機能実装が決まるPHPと Facebookによって開発されるHack言語。 PHPは「緩いPHPらしさ」を大切にしており、Hack言 語は「実用性としての正しさ」を大切にしているよう に感じています。 個人的な印象
67.
67 PHPという優れた言語の未来に 選択肢があることは素晴らしい!
68.
68 PHP7が出ましたが、まだまだ Hack/HHVMを選ぶ価値はあります!
69.
69 ご静聴ありがとうございました。
70.
70 この資料は、正確な記述を心がけて作成していますが、 内容の正確性や有用性を作者は保証しません。また、本 資料は作者個人が作成したものであり、所属する組織・ 団体の見解等を表すものではありません。 免責事項
Download