アプリケーションのパフォーマンス改善を行う場合、適当に手を動かしてもうまくいかないことが多いと思います。
少しでもよいカイゼンを行うためには「事実」を把握するために「計測」するというアクションが大事です。
ツールを使ってコードのメトリクスの取得するのも1例です。
コードのサイズ、重複コードの有無、コーディング規約の遵守状況、循環的複雑度、エラーの有無などコードに対する「事実」を把握することができます。
把握できた色々な「事実」を元に、どこがアプリケーションの改善点なのか…?何がアプリケーションにとって最適なのか…??プロダクトにもっとも寄与するためには…???を考え「判断」し、「行動」に繋げていきたい。
このトークではどのように考えてカイゼンのための行動をとっているのか?をお伝えしたいと思っています。
学習のためにOSSに触れるとよいと聞きますが、具体的にどんなことが学べるのでしょうか?
腕の立つエンジニアが作ったOSSからはいかにもテクニックが学べそうな気がしますが、具体例がないと腹落ちしきらない気もします。
このトークでは具体例をお伝えしたいと思います。
私は静的解析ツール(PHP Parser, PHPStan, Psalm, Rectorなど)を読んだり書いたりすることが多いのですが、その中で見てきた設計の事例を通じて、OSSから学べる何かの一例をお伝えします。
一方、学ぶ上で留意すべきことがあるとも考えています。
このトークではOSSから学ぶということの解像度をあげることを目指します。スキルアップへの引き出しが一つ増えれば幸いです。
様々な職種の学生インターンが常時100人程度働く組織において、
エンジニアインターンが急増した中で、新卒3年目のエンジニアが学生インターンと向き合い、どのように格闘したかをお話します。
★今回お話する内容
・ そもそもなぜ学生インターンと働くのか
・ チャレンジしたこと
・ うまくいったこと / いかなかったこと
・ 今後の野望
誰もが最初は未経験のエンジニアです。
学生時代からエンジニアとしてのキャリアの1歩目を踏み出すインターン生の成長の裏側を見てみませんか?
【注意】 このプロポーザルが採択されることでタイトルのお話ができます!
これまで技術系のイベントでは、
登壇に憧れながらも、参加者としてずっとみなさんの登壇を見に来るだけでした。
しかし、とあるきっかけから登壇するハードルが1つずつ下がっていきました。
その過程をみなさんにご紹介します!
Laravelには便利な機能がたくさんあり、Eloquent、Facede、サービスコンテナ、認証、ミドルウェア、Blade、artisanコマンドなどの機能を活用することで、スピード感のある開発ができることは間違いありません。
ただ、それらに依存しすぎることによる弊害も少なくないでしょう。ビジネスの変化への対応による作り直し、各機能のバージョンアップの際に思わぬ量のコード修正になってしまうことがあります。
そんなことを想定し、Laravelのコードからドメインのコードが独立するよう、主にInterfaceを利用してドメインロジック(=わたしたちのコード)を切り出すことを心がけています。
まずLaravelで素早く開発するための例を紹介し、どのようにしてLaravelのコードとドメインのコードの距離を保っているか、どんなメリットがあるのかを事例を交えて紹介させていただきます!
みなさん、サーバレスで動かすPHPはお好きですか? 私は大好きです。
よくサーバレスなマネージドコンテナサービスでWEBアプリを実行しますが、定期実行するジョブもマネージドなサーバレス環境で実行したくありませんか?
そんなあなたのために、3大クラウドそれぞれで定期ジョブ実行するためのポイントやそれぞれのサービスの比較を行い、実際にPHPを動かす際のポイントなどをお話します!
対象
・Dockerなどコンテナについてなんとなく聞いたことがあり、ちょっと動かしてみたい人
・サーバレスでコンテナを使った定期ジョブをしたい方
・サーバレスという言葉に惹かれる人
お話すること
・各社のサーバレス コンテナサービスの比較(特徴や料金体系など)
・実際にトライしてみての気づき
「Nginxってどんなものなんだろう?」「Webサーバーってどうやって動くんだろう?」―こんな疑問を持つあなたに捧げる、Nginx入門者向けのLTセッションです。
このLTでは、Nginxの基本的な概念から始め、基本的な設定の読み方について紹介します。
対象者
話すこと
令和では受託開発はオワコンで内製化の時代?駆け出しエンジニアに人気なのは受託開発より自社サービス開発?
世間では「自社サービスのエンジニアになりたい!」という声が大きく聞こえるようになりました。
私は受託開発フリーランスから自社サービス開発の社員エンジニアになり、エンジニア人生の中で自社サービス開発に携わっている期間の方が長くなりました。
キラキラした仕事のイメージで語られがちな自社サービス開発ですが、日々どんな仕事をしているかは意外と知られていないようです。
自社サービス開発のエンジニアとしてどんな仕事をしてきたか、見てきたかについて話します。
コードやチームの健全性や品質向上について、「データを取って可視化する」のは便利です。
それを見て安心したり、進化を喜んだり、
「問題が起きているかも知れない、考えてみよーぜ」と気付くキッカケになったりします。
そのために、見るべき(見てほしい)人が簡単にアクセス出来ることが重要です。
「データ取得ロジックを自由に扱える」
「定期的に更新する」
「アクセス制限をする」
「簡単に開ける」
要件を考えていくと、地味に面等だったりしませんか?
そんな時、GitHub Actions + GitHub Pages + SQLiteが便利です!!
定期実行はもちろん、
任意の言語でのロジックの実装も、
GitHub Pagesなら組織限定公開も、
SQLiteをコミットすればデータ管理も容易です。
実現方法(とっても簡単!)の紹介に、
どんなものを収集していくと便利そうかな?を加えてLTします!
仕事としてPHPを書いていらっしゃる方はコードレビューに関わる事も多いかと思います。
コードレビューはバグを未然に防いだり、保守性を悪化させないためなど品質保証の基本的なプロセスですが、その「正しい」方法を見つけるのは難しいものです。特にPHPのようなダイナミックな言語では、レビューのアプローチはチームの成熟度やプロジェクトの特性によって大きく変わることがあります。
このセッションでは、コードレビューの目的とレビュー手順について私たちのチームの経験を基に紹介します。
さらに、自動化を取り入れることでレビュープロセスを少し手軽にするTipsも紹介します。
きょうびPHPの開発ではほぼ必須と言っていいPHPライブラリの依存を管理してくれるComposer。
とは言え普段の開発ではそこまで触らない方も多いのでは無いでしょうか?
そんな方の為にComposerの設定ファイルであるcomposer.jsonのpropertiesを公式ドキュメントを元に一挙に紹介していきます。
意識が高くない。エンジニアだけど自分のサービス・プロダクトを持っていない。作りたいものがない。
だけど技術は好き。
まだ出会ったことのないキミ(技術)と出会うための熱量を大事にしたい。
PHPの新しいバージョンをナウでヤングな環境で試したい。
このプロポーザルのディスクリプションを読んでいるアナタは業務が忙しいにも関わらず、技術への飽くなき探求があるはずだ。
そんな、意識が高い訳では無いが、技術をキャッチアップしたい人に話したいことがある。
話すこと
LaravelのEloquentモデルイベントって何?という人も多いかもしれません。
このモデルイベントは、モデル内でcreate、save、delete,、updateなどの操作をした際のイベントを指しています。そして、これらのイベントを実行する際、合わせて何らかの処理を行わせたい場合に使用します。
例えば、モデルのデータを新規作成する際にはdateカラムに現在の日付を初期値として入れたい時などに使用します。
他にも実際にどのようなケースでモデルイベントを使用するケースがあるのか、モデルイベントの注意点などを話していきます。
はポモドーロ・テクニックをこよなく愛する者です。会社ではポモニキと呼ばれており、日々ポモドーロ・テクニックを使っています。
しかし、このテクニックには抑えておきたい大事なポイントがいくつかあります。そうしないと集中もできず、作業も進まず、無駄に終わってしまいます。
本トークでは、ポモドーロ・テクニックの要点とやり方、さらにはおすすめのタイマー紹介など、ポモドーロ・テクニックを始めるための知見を紹介します。
Xdebug は開発時に最も頼りになる相棒です。
一般的には、ウェブアプリケーションのステップ実行が有名ですが、コンソールコマンドや、PHPUnit のテストでもステップ実行させることが可能です。
しかし、慣れていない人には、Xdebug の設定はむずかしいです。あれもこれも色々試すけど、上手く行かないことも多いです。
本LTでは、ポイントを一つに絞り、PhpStorm と Xdebug の連携方式にのみフォーカスします。
仕組みさえ押さえれば、どう設定すればよいかは自ずと思い浮かんで来ます!
Xdebug の設定はこわくない!上手に Xdebug を設定して、スムーズなウェブアプリケーション開発を楽しみましょう!
熟練のエンジニアたちがプロジェクト参加時に何を考えているのか、知りたくありませんか?
もしかして、設計のことを考えている?利益?事業ドメインの理解?
いやいや違うんです、兎にも角にも真っ先に確認しておかないといけないことがたくさんあるんです。
このトークでは、シニアエンジニアがプロジェクトを成功させるために何を考えているのかをぶっちゃけてみます。
プログラムを書くときに計算量を意識していますか?計算量の基本を理解することで、サービスが成長したときに問題を起こしにくいプログラムを作成することができます。簡単なプログラムを例にして、まず計算量という概念に慣れてみましょう。
本トークで話す内容
Architecture Decision Record (ADR)はご存知でしょうか?
設計に関する議論や決定をまとめておく文書として、近年注目を集めています。
本トークでは、実際に会社でADRを導入して一年以上運用した結果、開発現場で継続的に使われているのかどうかなど、 実情を赤裸々にお話します。
本トークで話す内容
いくつかPHPのコード例を紹介しますので、その中でPHP構文エラーがある箇所を当ててもらいます!
下記のような観点でクイズを出す想定です。
FIRST IN MOB WORK
PHPerのみなさんは、モブワークでの開発をされていますでしょうか。
「ペアプロならあるが・・・」「興味はあるけどまだ…」「我流で…」など色々な方がいると思います。
そんなみなさまのハックになれば嬉しいと思ってエントリーさせていただきます。
モブワークは様々な効能があって、
人とあまりコミュニケーションを取りたくない、1人で何でもやりたいという方には向かないですが、
チーム・組織という視点で見た時の成果物の質とスピードが上がりますし、チームでの制作そのものが面白くなって結果的にいいチームビルディングに繋がります。
ただ、このモブワークの威力を発揮するためには、多くの条件・コツがあります。
その概要の概要をお話させていただき、興味を持つキッカケにしていただけたら嬉しいです。