TDC-PHP勉強会#24にて発表してまいりました。
題名のとおりです。
2月23日にソシラボさんにて「Zend Framework2について」という内容で発表してまいりました。
発表内容について
今回発表した内容は表題の通りで、ZendFramework2についてです。
内容は、ざっくばらんに新しく追加された機能だとか、DIのサンプルだとか、そういう内容を記述指定ます。
なので、「しってるぜべいべー!」的な方は読んでてもつまらない内容かなぁと...。
ZendFrameworkは・・・
- 作者: Alexander Thomas
- 出版社/メーカー: O'Reilly Vlg. Gmbh & Co.
- 発売日: 2013/05
- メディア: ハードカバー
- クリック: 2回
- この商品を含むブログを見る
効率的なWebアプリケーションの作り方 ~PHPによるモダン開発入門
- 作者: 小川雄大
- 出版社/メーカー: 技術評論社
- 発売日: 2012/05/26
- メディア: 大型本
- 購入: 6人 クリック: 142回
- この商品を含むブログ (6件) を見る
TDC-PHP勉強会にてお話することになりました
ブログの更新自体、かなりご無沙汰になってしまい、WordPressの更新すら行ってない状態になるほどブログ忘れておりました\(^o^)/
(ZFに詳しいわけでもないですが)ZFerな皆さんごめんなさい(´・ω・`)
で、話は変わりますが、2月23日にTDC-PHP勉強会#24にてお話させていただくことになりました。
発表内容は「ZF1とZF2の違い」みたいなことを喋れたらいいなと思っていますが、本当はもっと初めてPHPやるんだぞ!という人向けな記事をかけたらいいなーと思いながらも中級者向な内容書いちゃってますごめんなさい。
日時 | 2013年2月23日(土)
14時から17時 |
---|---|
場所 | ソシラボ(Facebookファンページ) |
定員 | 10人 |
内容 | ZF1とZF2の違いについて(1時間ほどを予定していますが、長くなるかも...)
オブジェクト指向での実際のクラスを使ったプログラムの書き始め |
参加はコチラから | TDC-PHP勉強会#24 |
人前での発表自体は久しぶりで2〜3年ぶりくらい?の発表になります。
よろしければ皆様お越しくださいませ!
Nexus7を購入
Nexus7を買ってしまいました!
買ったついでですが、ちょー簡単なレポしてみたいと思います。
====
スペックについて
まずはNexus7のスペックから。
画面
7 インチ 1280 x 800 HD ディスプレイ(216 ppi)
バックライト付き IPS ディスプレイ
傷に強いコーニング社製ガラス
1.2 MP 前面カメラ
サイズ
198.5x120x10.45 mm
重量
340g
ワイヤレス
Wi-Fi 802.11 b/g/n
メモリ
16 GB の内部ストレージ(フォーマット後の実際の容量はこれより少なくなります)
1 GB RAM
USB
マイクロ USB
電池
4325 mAh(最長 8 時間使用可能)
OS
Android 4.1(Jelly Bean)
CPU
特長
マイク
加速度計
磁力計
公式サイトより引用
お決まりの開封の儀
お決まりの時間ですね。
箱の裏面と表はこんなかんじでした。
オプション品の内容は、電源コンセントのみですが、いろいろバラけて入ってきたので、若干サイズがでかく感じました。
(写真撮影下手糞ですみませんorz)
で、コンセント部分にはきちんと正式名称が!w
セットアップ
セットアップは簡単で、3ステップくらいで終了します。
電源を入れるとまずは「ようこそ」とウェルカムなNexus7さん。
こちらこそようこそとお出迎え。
次に所有者を求められるので、まぁ適当に入れます。
あなたのおなまえなんてぇ~の~?♪
これでセットアップが完了!
アプリをインストール
PlayStoreはAndroid端末統一のようで、ちゃんと崩れとかなしに見れてました。
流石です。(こういうところを技術者としてもみならいたいなー。)
野球が好きなのでこれを入れて試合結果やテキスト速報を覧てます。
(シーズン終わって、楽天はあと一歩というところでBクラスで終わりましたが、来シーズンこそAクラス目指して!!)
簡単に使ってみて
端末としては今のところ他のタブレットより持ちやすいのではないかなー?とおもいます。
それとソフトウェアキーボードも打ちやすく、ちょうど人差し指の「腹」で押せるくらいでした。
勉強会などで持ち込むのもOKだと思いますが、QWERTYにしないと打ち込みが辛いので、IMEはQWERTY対応しているものが良いかと。
それと、Nexus7はUSBホストを利用することで外部SDカードやUSBメモリを認識することができます。
私が購入したのはこちら。
買ってから気づいたんですが、USBホストで、こういうタイプは線がプラプラして邪魔になるはずです\(^o^)/
なので、SDカードタイプのホストが良いかもしれません。
microSDも読み取りが可能で、線もプラプラしないで、コンパクトなので持ち運びに便利だと思います。
またカバーも多様なカバーがありますが、私が購入したのはこちらです。
つべでこのカバーについての動画があったので見てみると、自分が探し求めていたものだったようなので、amazonにて即ポチ。
カバーで回転するタイプのがあるんですが、あの回転する軸があるだけでカバンに入らなくなるのと、若干重くなるんじゃなかろうか...という事から、回転もせず、ホントノーマルなカバーを購入した次第です。
買ってよかった!
終わりに
Nexus7、とてもいいです。
Google信者とかそういうの関係なしに、タブレットとしての携帯性は今のところ一番じゃないかなー?と個人的には思います。
アプリに関してはiPadほど優れたものは無いのかもしれませんが、使い方次第では自分なりの使いやすいアプリがあるかもしれません。
どっちが良いだのどっちが悪いだのは他人様で、自分の価値観などを元にタブレットの選定を行えば、自分にあったものが必ず見つかると思います。
でもNexus7最高\(^o^)/
CentOS上でApache2系を利用していたら再起動できなくなっていた
ついこの前なのですが、運営していたサイトのApacheが再起動を全く受け付けなくなりました。
「とりあえずな~」と思い再起動をかけてみると以下のようなエラーメッセージが。
Stopping httpd: [FAILED]Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
[FAILED]
要約してしまうと「すでに80番ポート使われてる」ってことですね。
で、じゃぁプロセス殺してしまおうぜ☆(ゝω・)vキャピってことで以下のコマンドを実行。
[crayon]ps aux | grep http | grep -v grep | grep -v Ss | awk '{print $2}' | xargs kill -9[/crayon]
これで起動できる( ^ω^)おっと思ってとりあえずpsでプロセスを再チェック!
[crayon]ps aux | grep httpd[/crayon]
apache 25769 1.6 0.5 599388 42308 ? S 14:49 0:01 /usr/sbin/httpdapache 25775 2.0 0.3 588812 30860 ? S 14:49 0:01 /usr/sbin/httpd
apache 25778 1.1 0.4 590612 35620 ? S 14:49 0:01 /usr/sbin/httpd
apache 25781 1.9 0.6 603916 49776 ? S 14:49 0:01 /usr/sbin/httpd
apache 25906 0.9 0.4 590604 34776 ? S 14:50 0:00 /usr/sbin/httpd
apache 25911 0.7 0.3 590092 31896 ? S 14:50 0:00 /usr/sbin/httpd
apache 25914 6.6 0.7 614724 58276 ? S 14:50 0:02 /usr/sbin/httpd
apache 25917 1.4 0.4 588816 32872 ? S 14:50 0:00 /usr/sbin/httpd
apache 25987 4.3 0.2 588772 17436 ? S 14:50 0:00 /usr/sbin/httpd
apache 25990 7.0 0.2 588772 17436 ? S 14:50 0:00 /usr/sbin/httpd
apache 25991 7.0 0.2 588772 17440 ? S 14:50 0:00 /usr/sbin/httpd
( ゚д゚)
(つд⊂)ゴシゴシ
(;゚д゚)
(つд⊂)ゴシゴシ
_, ._
(;゚ Д゚)
まぁ何度killしても復活してくる。
なぜだーと理由がわからないまま、fuserでプロセスを全部ぬっころす(死後)
[crayon]/sbin/fuser -kn tcp 80[/crayon]
tcpポートの80番はapacheで使わせているので、そのポートを使っているプロセスをすべてKillBillしてくれる。
めでたく死んでいただけたようなので、再度通常起動!
これでやっとこHTTPがちゃんと見れるようになりました\(^o^)/
今思うとセマフォに残っていたからなんじゃ...!?と思いましたが、とりあえず良し...と( ´ー`)y-~~
ZF2のセッションクラスについて
あ、昨日はてなブログにブログ作ったNullydesu!!!
オナシャス!!!!
で、ZF2からセッションクラスがちょこっとだけ変わったので、簡単にですが、実際に使ったことを元にどうなってるかというのを書いてみたいと思います。
ちなみにZF2のバージョンは「2.0 Beta4」です。
Namespaceについて
ZF1だとZend_Session_Namespaceというクラスがあり、$_SESSION変数に指定した名前空間を作り、そこにあれこれそれを色々追加できます。
実際にどういうことかというと、「admin」、「manage」、「staff」という名前空間を作るとすると、
<?php $adminSession = new Zend_Session_Namespace("admin"); $manageSession = new Zend_Session_Namespace("manage"); $staffSession = new Zend_Session_Namespace("staff");
という風に、指定してインスタンスを作ることで、
<?php $adminSessoinは$_SESSION["admin"] $manageSessionは$_SESSION["manage"] $staffSessionは$_SESSION["staff"]
という形で保存できる領域が明示的に分けることができます。
(あまりこういう使いかたはしないと思いますが。)
これが今までのセッションクラスのざっくばらんな処理内容。
じゃぁZF2からどうなったか?
ZF2からは、Zend_Session_Namespaceというクラスはなくなり、代わりに「Zend\Session\Container」クラスになりました。
セッションクラスの内包する物はこんなかんじになってます。
Sessionディレクトリ以下にある他のディレクトリは名前を見てもらえればなんとなく分かるかなーと。
SaveHandlerとStorageは以前も似たようなものがあったので割愛します。
Configurationについて
ファイルは3つありますが、実際使うのは1つっぽいです。
Zend\Session\SessionConfigurationクラスはセッションの設定を制御してくれるクラスで、setOption関数やserializeHandlerを設定する関数などがあります。
Validatorについて
このクラスは使いドコロが限定されますが、セッションが動いている最中のリモートアドレスとユーザーエージェントをチェックしてくれるクラスっぽいです。
例えば、アクセスしてきた元アドレスとセッションに保存されているアドレスが異なっていたら画面を真っ白にしてあげるとか?
前置きはこれまで
前置きが長くなりましたが、実際の使い方です。
使い方はいたって簡単で、Zend_Session_Namespaceクラスのように呼び出して上げるだけです。
<?php $session = new Zend\Session\Container("hogehoge");
「hogehoge」の部分は名前空間になります。
データを書き込む・読み込むのも以前同様に「->」で保存する変数名を指定します。
<?php $session->name = "nully"; // echo $session->namel /* nully と表示される */
DIを利用した呼び出し方
今のフレームワークだと、DependencyInjectionという概念が徐々に取り入れられている感じがします。(ZF2からは少なくともこれが無いと始まらないくらいのレベルになっているっぽい)
ということでDIを利用したコードの呼び出しを。
<?php "session_container" => function($sm) { $config = $sm->get("config"); // セッションの設定などを行う $container = new \Zend\Session\Container("app_name"); return $container; }
変わったと書いたが...
さほど変わりなかった/(^o^)\
- 作者: Alexander Thomas
- 出版社/メーカー: O'Reilly Vlg. Gmbh & Co.
- 発売日: 2013/05
- メディア: ハードカバー
- クリック: 2回
- この商品を含むブログを見る
- 作者: N Belhomme
- 発売日: 2012/05/31
- メディア: ペーパーバック
- クリック: 7回
- この商品を含むブログを見る