Webサービスではプロフィールアイコンや記事画像、そのサムネイルなど、さまざまな場面で画像ファイルを取り扱います。画像ファイルは、とりあえずアップロードできて、表示できれば十分でしょう、と思われがちですが、どのような形式でどこに保存するか、どうやってユーザーに配信するか、どのようにして配信する形式に変換するか、実際には多くの考慮すべき点があります。
この発表では、Webサービスにおいて、ユーザーがアップロードした画像を保存し、適切な形式に変換し、それをユーザーのもとに配信する一連のプロセスに焦点を当てます。画像フォーマット、セキュリティ、PHPでの実装、ストレージ、CDNの利用方法など、各段階での重要なポイントをまとめ、考慮すべき要素を紹介します。
コードレビューは単なるエラー探しではありません。それはチーム全体の成長と製品の品質を高めるための共同作業です。
『コードレビュー、時間がかかりすぎてなかなか進まない...』『レビューで指摘されることが多く、コードの品質に自信が持てない...』『ドキュメントやコメントが不足していて、コードの意図を理解するのが難しい...』こんな悩みを抱えてはいませんか?
このセッションではPHPプロジェクトにおけるコードレビューの効率化と品質向上のために行った取り組みについて紹介します!
初学者向けの内容です。
暗号化とハッシュ化とは、それぞれどのようなものか。どういう性質があり、どのように使われているのか。また、電子署名とはどのようなものか。
ごく簡易的なサンプルコードを用いながらお話しします。
composer require "laravel/laravel"
コマンド一発でライブラリをインストールできる composer 、便利ですよね。
ところで composer 、なぜ世界中のライブラリが「名前」だけでインストールできるのか、ご存知ですか?
自分で作った便利ツールやモジュールも、composer でインストールできるようにして、みんなに使ってもらえるようにしませんか?
昨今PHPStanの活躍する現場が増えていますが、PHPStanがつけてくださる型の気持ちが理解できないという方も多くないのではないでしょうか。
無保証のツールなので懇切丁寧なマニュアルや顧客サポートがないので、適切に使いこなすには少なからず内部の仕組み、特に型付けのための仕組みを知っていることが望ましいです。
PHPStanの技術的な背景には型理論や構文解析などややこしい概念がありますが、実際のところ使うだけなら難しい知識はさほど必要なく、貢献の余地もたくさんあります。
今回のトークでは基礎知識と過去の事例も含めて以下のようなお話をします。
弊社では、今までエンジニア採用において約6~7割未経験採用をしてきました。その中でほとんどの方が早期離脱をせずに長く働いてくれました。
そこで、プログラミング未経験の人にどのような点を期待して採用しているのか?なぜ未経験エンジニアを採用するのか?などを中心に話していきたいと思っています。
アジェンダ
1.なぜ企業は未経験エンジニアを採用するのか?
2.未経験エンジニアの採用観点
3.未経験エンジニアに期待すること
4.どうやって未経験エンジニアを育てるのか?
皆さん、他社のエンジニア評価制度がどのように設計されて作られているか気になりませんか?
今回は私が0からエンジニア組織を立ち上げて、評価制度作りを行なった事例も交えて説明していきます。
アジェンダ
1.会社は評価制度をなぜ作るのか?
2.他社の評価制度の事例
3.弊社が評価制度を作った流れや設計方針
このトークはユーティリティファーストCSSフレームワークと呼ばれる Tailwind CSS をまだ触ったことのない人や、うまく使えていない気がする人向けに解説するものです。ですが、「こう書くと使えます」というようなハウツーではなく、「Tailwind CSSってこういうツールなんだ」という概念の理解に重きをおきます。
たとえTailwind CSSを使うことがなくても、巷で話題のツールがいったいどんな役割のものでどんな特徴があるのか、Tailwind CSSとは何であり何でないのか、ということをわかっておくことは、その他の技術選定の場面で役に立つでしょう。
テストをなんのために書くのか?
この目的設定はとても大事なことだと気づいてしまった。もう後戻りはできない。
エンジニアが果たす努めとはソースコードを書くことではないかもしれない。でもソースコードを書くことを辞めることはできない。
私達が果たすべき目的は、コードを書くことでもなくJSONに色をつけることでもない。
顧客に届ける価値を取り巻く様々な開発手法を織り交ぜながら、テスト駆動開発について紹介する。
私は普段からAWSの構築など、クラウドインフラに関する技術支援を行っていますが、PHPは"ド"初心者です(>_<)
ですので本セッションでは、PHP・Laravelのキャッチアップを兼ねて、AWSクラウドインフラ上にLaravelのAPIサーバーを構築してみたいと思います。
Laravelアプリ開発の際には、PHPのコーディングはもちろんのこと、
ホスティング先(仮想サーバー・コンテナ)、サービススケーリング、RDSやファイルサーバーを用いたデータ永続化、CI/CDパイプラインの構築、ロギングやモニタリングなどの運用監視、セキュリティ対策などなど、
本番運用レベルのガチ構成で構築して、Laravelアプリケーションの良さを最大限引き出してみます。
PHPプロのみなさんからのツッコミもお待ちしております!
「テストを書く時間がなくてぇ」「違うよ〜時間がないからテストを書くんだよぉ〜」
なるほど人はそんな風に言いますが、一体どうしたら…
鶏卵の問題にせずに、やれる所から始めていく事が重要です
テストを使って早く書くとは、楽してコードを書く技術です
長い目で見た「早さ」もありますが、決して「未来の為に歯を食いしばれ」と言う訳ではありません
今日のタスクを早く。その為に使えます
「うちにはテストを書く土壌も仕組みもなくて…」で諦めたくない!
「書いた方が早い」「書いた方が楽」の感覚を、小さくても掴める事を狙いとします
私は普段AWSの構築など、クラウドを中心としたAWS技術支援を行っています。仮想サーバーを立てたり、データベースやロードバランサーなどのリソースをAWSクラウド上に構築しています。
しかし普段からクラウドインフラを扱っていると、サーバーに乗せるアプリケーションへの関心がどうしても薄くなってしまいます。
そこで本LTでは、AWSによるクラウドインフラからPHPアプリケーション(WordPress)まで、上から下までぜ~んぶ構築・開発してみたいと思います。
私は大学時代にJavaScriptやTypeScriptでWeb開発に従事していましたが、PHPもぺちこんも初心者になります(>_<)
ですので、PHPやWordPressをどれだけキャッチアップできるかなど、AWSエンジニア兼PHPビギナーとして、技術的に突っ込んでいきたいと思います!
PHPプロによるツッコミもお待ちしています!
このセッションでは、PHPとDockerで様々な言語をブラウザのフォームから実行できるアプリを作ったので、アプリの仕組みや特徴をお話しします。
プログラミング学習サイトではブラウザにコードを入力すると実行結果が分かるようなサービスを提供しています。以前、このようなWEBサイトをPythonとDocker(Docker outside of Docker)を用いて自作しました。
こちらの解説は月刊I/O 3月号4月号に掲載されています。
今回は、Pythonで作成した上記のアプリのPHPバージョンを作成しました。
本セッションでは、上記のPHPのコードを解説し、デモもします。
対象
Webアプリケーションは繁盛するとどんどん機能が追加されていきます。Laravelを代表とするWebアプリケーションフレームワーク(WAF)は、機能が少ない間は開発スピードも早く、比較的理解も用意なプログラムが書けますが、年を重ねるごとに複雑化していきます。
このように肥大化したウェブアプリケーションのことを巨大泥団子(Big Ball of Mud)と呼びます。運用・保守性が下がってしまったレガシーでモノリシックなWebアプリケーションはどのように改善すればよいのでしょうか?
本トークで話す内容
日本でも大人気のウェブアプリケーションフレームワーク「Laravel」 ある程度のデータ量までは、割と速い速度で動いてくれる Laravel をあの手この手で低速化させてみようという試みです。
PHPカンファレンス2022で一度低速化については発表しましたが、今回はさらに、あの手この手で遅くしてみようという試みです。
このトークでお話すること
約1年前に主だったメンバーの退職を機に組織体制が大きく変更されました。
様々な組織イベントの移り変わりがあるなか、私達のチームは社内LT会という文化の重要性を理解し、この文化を残し発展させることを選びました。
旗振り役がいなくなった後、この社内LTの文化をどの用に引き継ぎ継続していったのかを話します。
話す内容
非同期処理やマイクロサービス間の通信などで利用頻度が増え続けているQueuingシステムを、PHPとAmazonSQSでの実装を用いて解説します。
Queueの基本であるFIFOの考え方から、それをコンピューティングに応用する方法、AmazonSQSの設定でQueuingシステムを制御する方法までが本発表の対象となります。
扱うトピック
・Queueの基本とFIFO
・Queueって何が嬉しいの?どう利用されてるの?
・Queuingシステムに欠かせない「ポーリング」について
・Dockerでマイクロサービスをローカルに再現し、通信をSQSで管理するデモを動かす
SQS操作を通じてQueuingシステムについての理解に集中していただく為に、LaravelデフォルトのJobクラスなどのフレークワーク依存ではなく、PHPのみでサンプルを記述して解説を行います。
以前「心理的安全性の育て方」という記事を書きました。
https://tech.innovator.jp.net/entry/how-to-promote-psychological-safety
一読して、「わかる」と思われた方も「そうは言っても」と思われた方もいるのではないでしょうか。
このトークでは、中原淳さんの書籍『「対話と決断」で成果を生む 話し合いの作法』をベースに、
チームのメンバーの相互理解を深めるための「対話」と「決断」をどう進めていくべきか、私自身の体験も交えながらお話しします。
実は私たちは、正しい「話し合い」のやり方を習ったことがないかもしれません。
でも大丈夫、今からだって学んでうまくなれるようにしていけばよいのです。
「プレゼンの極意を伝授してやる」というお話ではありません。
ただ「傍目八目」とはよく言ったもので、PHP カンファレンスをはじめとする技術系のイベントに参加してトークを拝聴していると「このあたりを意識すれば、もっと素敵な発表になるのではないか」と思うことがよくあります。
時間をかけて念入りに支度し、伝えたいことをたくさんの人に聞いてもらうせっかくの機会ですから、話し手にとっても聴き手にとってもより有意義なものにしたいと思いませんか。
準備と本番において頭の片隅に置いておくとより魅力的なセッションにつながるかもしれない8つのことがらを厳選してお伝えします。
皆さんはPHPサーバーのセットアップをどのように行っていますか?
手動で行う方法、構築済みサーバーを利用する方法、コンテナ技術を用いる方法など、様々な方法があると思います。
しかし、これらの方法は時間がかかったり、手順が複雑であったり、構成変更の柔軟性に欠けたりすることがあります。
今回紹介するのは、Ansibleという強力な構成管理ツールを用いた、PHPサーバーの構築・デプロイメントの自動化です。
AnsibleはSSH接続によってエージェントレスで動作し、軽量で学習コストも低いため、PHPサーバーの環境構築に最適なツールです。
このセッションでは、PHPエンジニア向けに、柔軟な構成で効率的にPHPサーバーを自動構築する手法についてお伝えします。
主な対象
PHPサーバーの環境構築に興味のある方
インフラ・DevOpsに興味のある方