Edited at

YYPHP#37「セッションの削除頻度、Kubernetes、プログラミングコンテスト、Rails vs Laravelをやってみて感じたこと、他」

More than 1 year has passed since last update.

これは2018年05月11日に開催したPHPerイベントYYPHP#37のイベントレポートです。

YYPHPは一言で「PHPerの部室」です。PHPについて、雑に、ゆるく、ワイワイ話し合う集いです。毎回お題を決めずに雑談を出発点にいろいろなことを突発的にやります。集まった人でコードリーディングをすることもあれば、一緒に開発ツールを触ってみたり、フレームワークについての情報交換をすることもあります。開催はほぼ毎週、高田馬場にて。

YouTubeでの配信映像はこちら-> YYPHP #37【PHPの情報交換・ワイワイ話そう・仲間作り・ゆるめ・にぎやかめ】 - YouTube


参加者 9名


  • PHP歴の分布


    • 1年未満: 5名

    • 3年: 1名

    • 10年〜: 3名




話したいこと/聞きたいこと


セッションの削除はどのくらいの頻度でやったほうがいいか?


  • 頻繁に削除したほうがいいと参考書に書いてあった

  • 頻度はあんまり考えたことない


    • デフォルト、1440秒 (24分)

    • デフォルトそのままでいいんじゃないか?

    • アプリの要件次第な気がする



  • セッション何に使うのか?


    • HTTPはステートレス

    • サーバはブラウザが誰なのかは分からない



  • COOKIE🍪


    • セッションを使うための技術がクッキー



  • セッションハイジャック

  • テレビ番組連動型のアプリ


    • URLにセッションIDが出ていてた(PHPSSID)

    • URLを掲示板に貼り付けられると、そのURLにアクセスした人が、貼り付けた人になってしまう不具合があった


    • session_regenerate_id(true) を頻繁にやるようにした



  • httponlyとsecure


    • Cookie の仕様とセキュリティ

    • httponly → JavaScriptからCookieが見れなくなる → 万が一XSSの脆弱性が有っても安心

    • secure → HTTPSでしかクッキーを送らない



  • PCIDSSとかでセッションID再作成する要件があった気がする


    • PCIDSS → Payment Card Industry Data Security Standard

    • 金融機関が定めたセキュリティ認証規格

    • 毎年、監査があって、セキュリティが弱いと取れない

    • 厳しめの規格

    • 世界的なもの




APIとXMLについて


Dockerでローカル環境を作りたいけど全くわからない


Kubernetes


  • 本番サーバをどうやってDockerでどうやって作るか?

  • オーケストレーションを簡単にする

  • サーバN台あつめて、ひとつのLinuxのような見え方になるっぽい

  • Kubernetesは宣言的な定義ができる


    • 「定義した状態を保つ」



  • デメリット


    • 複雑になる



  • GoogleはマネージドのKubernetesを提供している



  • docker-composeをkubernatesに変換するツールがある



  • サーバ1台だったら


    • docker-compose



  • サーバが2,3台だったら


    • docker swarm



  • 結構大規模なら


    • kubernetes




プログラミングコンテストいっしょにやってみませんか?



  • AtCoder


    • C++が圧倒的に多い

    • PHPは人気が少ない



  • 問題に応じたコードを書けているかが評価される

  • たとえば


    • 数字が3つ与えられるので、その中で最も大きいものを返して



  • 過去問はいつでも解ける

  • 一番難しいのは?


    • 4000都市を最短距離で回れ




Rails vs Laravelをやってみて感じたこと


  • 3時間くらいやってみての感想

  • いままでRailsばっかりやってたけど、スタートアップでぱっと作るならLaravelのほうが早い

  • Railsは認証とか、ソーシャルログインなんだとかgemを探して選んで入れないといけない

  • Laravelは公式でパッケージが公開されている


    • 普通に使う機能が公式である


      • 認証

      • ジョブキュー





  • Railsは同じ機能でもgemがいろいろあって自分で選択しないといけない


    • cancan, cancancan, pundit

    • Laravelならまよわずさっと使える



  • LaradockというDockerの開発環境があっていい


    • すぐに開発環境が立ち上げられる




jupyter


  • web browser上でpythonが実行できる


YYPHPは毎週やってます

PHPについてワイワイ話したい方は、YYPHPのイベント情報をチェックしてみて下さい。

以上、YYPHPのレポートでした。次回もワイワイやっていきたいと思います! では、また来週!