新言語Hackの話 (いわてPHPカンファレンス2014)

17,975 views

Published on

いわてPHPカンファレンス2014でのLT資料です。
自己紹介部分や一部カットしています。

Hackの紹介とHello Worldです。

Published in: Technology
1 Comment
12 Likes
Statistics
Notes
No Downloads
Views
Total views
17,975
On SlideShare
0
From Embeds
0
Number of Embeds
14,039
Actions
Shares
0
Downloads
5
Comments
1
Likes
12
Embeds 0
No embeds

No notes for slide

新言語Hackの話 (いわてPHPカンファレンス2014)

  1. 1. 新言語Hackの話 by n0bisuke いわてPPHHPPカンファレンス22001144 14年5月21日水曜日
  2. 2. About me •のびすけ (1989∼ •Twitter: n0bisuke •Facebook: sugawara.ryousuke •株式会社LIG 14年5月21日水曜日
  3. 3. 今回の話 •今回はPHPカンファレンスということで •仕事で使っているCodeigniterでも Node.jsでもなく興味本位で調べた内容で す。 14年5月21日水曜日
  4. 4. 今回の話 Web系エンジニアの中にはこういう人が多い そもそもPHPとか…(ry なので違う側面から。 14年5月21日水曜日
  5. 5. 新言語Hackとは •Facebookが開発した新言語 •PHPと互換性あり •静的型付言語 •HHVM (後述) 上で動作 参考: 新言語Hackで最強PHPerになろう! - Qiita - http://go.shr.lc/1jpkte2 参考: https://code.facebook.com/posts/264544830379293/hack-a-new-programming-language-for-hhvm/ 14年5月21日水曜日
  6. 6. 新言語Hackとは •Facebookは2013年から全コードを Hackに移行 •コードによってはすぐにHackに完全移 行できない場合も考慮 •他のPHPファイルと共存させて徐々に 導入することを想定した設計 http://www.atmarkit.co.jp/ait/articles/1403/24/news092.html PHPの開発スピードと、静的型付⾔言語の統制性を調和させ、他の現代プログラミング⾔言語に共通する多くの特徴を付加した 14年5月21日水曜日
  7. 7. HHVM •HipHop Virtual Machine •Facebookが開発した実行環境 •JVM的なイメージ •PHP(言語)のコードの実行を,現在標準 的に使われているPHP(実行環境)よりも 高速化することが目的 14年5月21日水曜日
  8. 8. PHP and Hack PHP Hack けっこー似てるネ! http://hacklang.org/ 14年5月21日水曜日
  9. 9. PHP and Hack PHP Hack 今まで  <?php  だったものを  <?hh  とするだけ ・generics ・Nullable Type ・Collection ・Lambda ・Async ・Await ・Tuple ・Override Attribute ・Type aliasing etc 利利⽤用可能に! 14年5月21日水曜日
  10. 10. PHP vs Hack PHP Hack 参考: http://web-rocker.de/2013/12/drupal-7-hhvm-vs-php-55-zend-opcache 14年5月21日水曜日
  11. 11. PHP vs Hack PHP Hack 参考: http://web-rocker.de/2013/12/drupal-7-hhvm-vs-php-55-zend-opcache 14年5月21日水曜日
  12. 12. Hackを使ってみた •環境 •CentOS release 6.5 (Final) •流れ •HHVMのインストール •HackでHello World 14年5月21日水曜日
  13. 13. HHVMのインストール 参考: CentOS6.5にHHVMを入れる時のTips - 生涯未熟 - http://go.shr.lc/1kteJKX $ sudo yum -y install http://ftp.riken.jp/Linux/fedora/ epel/6/x86_64/epel-release-6-8.noarch.rpm $ sudo yum -y upgrade $ cd /etc/yum.repos.d/ $ sudo wget http://www.hop5.in/yum/el6/hop5.repo $ sudo yum install -y hhvm epel(拡張パッケージ)をインストールしてHHVMをインストール 14年5月21日水曜日
  14. 14. ※エラーが出ました Error: Package: gcc-java-4.4.7-4.el6.x86_64 (@base) Requires: gcc = 4.4.7-4.el6 ・・・ Error: Package: libgnat-devel-4.4.7-4.el6.x86_64 (@base) Requires: libgnat-4.4.so()(64bit) ・・・ $ sudo yum remove -y gcc-java $ sudo yum remove -y liggnat-devel 邪魔者を消しておきます 14年5月21日水曜日
  15. 15. HHVM導⼊入完了了 $ yum install -y hhvm ・ ・ Complete! $ hhvm --version HipHop VM 3.0.1 (rel) 14年5月21日水曜日
  16. 16. HHVMでPHPを実⾏行行 $ echo '<?php echo "hello hhvmn";' > hello.php $ hhvm hello.php hello hhvm $ php -v -bash: php: コマンドが見つかりません ※PHPコマンドが無くても大丈夫です 14年5月21日水曜日
  17. 17. HHVMでHackを実⾏行行 $ cp hello.php hello.hh $ vi hello.hh <?php echo "hello hhvmn"; ↓ <?hh echo "hello hhvmn"; $ hhvm hello.hh hello hhvm 実行 さっきのhello.phpをhello.hhに おお、簡単だ! 14年5月21日水曜日
  18. 18. HHVMでHackを実⾏行行 $ sudo hhvm -m server $ curl localhost/hello.php hello hhvm 実行 Webサーバーを立ち上げて確認 14年5月21日水曜日
  19. 19. まとめ •PHPerの皆さんはHackerになれます •HackはPHPよりも⾼高速、管理理がしやす い、多機能 •興味を持った⼈人は是⾮非使ってみましょう! •情報元のQiitaさんありがとう(週刊qiita) ありがとうございました! 14年5月21日水曜日

×