クラス設計の手順
というスライドを作成しました。
<対象>
・プログラミングを始めて3年以上
・オブジェクト指向でプログラミングをしている
・クラス設計などを担当するようになったが、設計とはどうすればよいのかわからない
・なんだか設計が後一歩と感じる
クラス設計に関して、どういう設計がよいなどの論は多くあるが、どうやったら設計ができるのかという論はあまりないので作成しました。
良かったら読んで感想を教えて頂けると嬉しいです。
前回はこちら↓
というスライドを作成しました。
<対象>
・プログラミングを始めて3年以上
・オブジェクト指向でプログラミングをしている
・クラス設計などを担当するようになったが、設計とはどうすればよいのかわからない
・なんだか設計が後一歩と感じる
クラス設計に関して、どういう設計がよいなどの論は多くあるが、どうやったら設計ができるのかという論はあまりないので作成しました。
良かったら読んで感想を教えて頂けると嬉しいです。
前回はこちら↓
もう1年以上前のことなんですが、K君の結婚式のために名古屋に行きました!
K君は学生の時に弊社でアルバイトをしてくれていたんですよ。
大変美しい花嫁さんでした!( ˊᵕˋ ) 美男美女!
弊社のSと一緒に行ったんですけど、我々二人に声をかけてくれて嬉しかったです!!
当時は仲が良くていろんな話をしましたね。( ˊᵕˋ )
S氏。名古屋には車好きの弟と車で来たらしい。
なんと、乾杯の挨拶とスピーチをさせていただいたんですけど、でら緊張しました!!
でもそういう場を頂けるのも光栄なことですね!( ˊᵕˋ )
K君は頭の回転が速く、仕事の飲み込みもよくて、体育会系で明るくてサッパリしているので社内の雰囲気をよくしてくれました。
普通の業務でも大変な戦力になってくれたわけですが、でも一番の功労は「ODIN リアルタイム配送システム」のモデルをやってくれていることでして、本当に感謝しております!
例えばこの写真
モデルを誰にするかで製品イメージはかなり変わりますよね。
ソフトウェアの会社はイラストや素材写真などでやっている会社も多いと思うんですけども、ウチは人にしました。
ODINが今まで世の中にないものなので、イメージがわきづらいと思うので、見た人がぱっと
「運送とか配送の仕事向けのシステムなんだな。」
とわかりやすくしたかったからです。
K君に帽子をかぶってみてもらい、ツナギを着てもらって写真を撮ってみたときに、すごく良かったんですよね。( ˊᵕˋ )
ODINが体現したい、
「明るく・ハキハキとして・きびきび動いてくれる・前向きなドライバーさん」
という雰囲気があったんですよ。それで長年採用させて頂いております。┌o ペコッ
素敵な結婚式でした 末永くお幸せに!
さて、実は私名古屋生まれでして、14歳まで名古屋にいたので、名古屋に行けることが嬉しかったです。
この時は、うちの旦那氏もついてきてくれまして、1泊2日ぐらいでしたが、大須に行ったり、名古屋市科学館とか行ったりしました。
名古屋市科学館。子供の時、ここのプラネタリウムが大好きで毎月来てました!ジェリコだ!(from アイアンマン)
名古屋にいたのは14歳までだったので、あんまり大須に行ったことなかったんですよね。
ハンチョウってマンガが好きなんですけど、そのマンガで大須に行くシーンがあるんですが、まさに「カオス」なところで、とても楽しかったです。( ˊᵕˋ )
大須の商店街。行ったのは2月だったんだけど、まだクリスマスツリーとか飾ってあった。
今は母もこっちに来ているので、もう名古屋に行く機会があまりないのが残念です。
また名古屋に行って山本屋の味噌煮込みが食べたいな!
味噌煮込み!とにかく山本屋の味噌煮込みが好きです。白菜の漬物にショウガ醤油をかけて食べるのが大変おいしい
言わずと知れた有名な本ですよね!
設計とアーキテクトは一緒の意味。
クリーンなアーキテクチャーを作ることが早くソフトウェアを作るために必要、という話が冒頭にあります。
いや、本当にそうなんですよね。
人数がいくらいようと、微妙な設計のソフトウェアは生産性が地に落ちてしまいます。
なので、とにかく設計が大事です。
ただ、私は経営者でもあるので、市場に投入するスピードも必要だということも理解しております…。
ここは本当にジレンマなんですが、要はバランスとしか最終的に言えません。
あまりに設計がずさんなものは、いくら早くてもリリースしないほうがいいですし、かといって設計にこだわりすぎてリリースがずっとできないというのも問題なんですよね。
リリースしてから気づくビジネスニーズというのはよくあることで、そのために設計を直さないといけない、ということもよくあることです。
多くのプログラマが間違ってとらえている話があるそうです。
「システムが動作することと、簡単に変更できることとどちらが大切か?」
多くの人が、動作すること、と答えるでしょう。
しかし、簡単に変更できることの方が重要だと筆者のボブおじさんは言います。
完璧に動作するが、変更できないシステムと、変更できるシステムだったら、後者の方にバリューがあります。
まー、そりゃそうですね。
後者は動作するようにすればいいわけですからね。
私も、19年近くプログラミングをしていますが、本当に設計が大事です。
これがおろそかにされていたら、プログラマーは常にバグと戦わねばならず、プログラマーの仕事のほとんどがバグと戦う仕事になってしまいます。
なので、あるプロジェクトが後半になってきたとしても、設計に問題があるとなれば、ウチではリリースを延期することもやむを得ないと私は思います。
さて、この本については多くの人が解説を述べていると思うので、ここで詳細を書くのはやめにして、私が特に心にとめておきたいことだけ抜粋しておきます。
①安定した抽象に依存すること
またまた、ODIN リアルタイム配送システムにすごい機能が爆誕してしまいました…!
ドライバーさんのスキルや担当に合わせて最短の配送ルートを組む機能です。
運送会社、配送会社さんで何人かドライバーさんがいると、よく聞く話が
「このドライバーさんはこのエリア担当」
「このドライバーさんはあそこは出禁になっている」
などという話です。
それを考慮して、配車担当さんがドライバーさんがいつ、どの順番で配送先を回るかという配送計画を作るんですが、これは大変なことなんですよね。
配送先が20とか少なければいいんですが、それが数がもっと多い場合、その最短ルートを計算するのは人間にも難しいし、コンピューターにさえ難しいとされています。
その配車を組むときにミスがあったりすると、配送先やドライバーさんから配車担当さんが怒られてしまう…。
配車担当さんのストレスの原因だったわけです。
でも、もうそのストレスとはおさらばです!!
ODIN 配送計画が解決しますからね!!٩( ‘ω’ )
スキル考慮機能 イメージ
そして、今回さらに新しい機能も生まれたんですが、その名も「搭乗」機能。
俺はガンダムで行く!!
ドライバ―さんと車両の組み合わせを、配送計画にあらかじめ設定してルートを組む機能なんです!
今回、開発は設計を私が担当し、実際の実装は新進気鋭のS君、ちょっと難しいUI部分は若手のホープ、S君が(どっちもイニシャル一緒)担当してくれました!
ありがとう!!
ODIN リアルタイム配送システムへのお問い合わせはコチラからどうぞ!
私はうちのプログラマーさんに
「このメソッド(or クラス)が何をしているか、口で説明して」
と言う時があります。
多分、言われた方は
「え、なんで?後藤さんはコード見てもわからないからかな?」
「面倒だな…。」
と思うかと思います。(笑)
しかし、これは意図があってやっていることです。
どういう意図かというと、
そのコードがどういう意味なのか、その人がコードと違う形で出力する必要があるから
です。
大体、「口で説明して」と言って、スパッと帰ってこない場合は、そのコードがよくないケースが多いです。
そういうコードは
・やってることが多すぎる
・書いた本人も実行 or デバッグしないと結果がわからない
というコードなんですよ。
当たり前なんですよね、作った人が何をしようかわかってないのであれば、微妙なものができてしまうのは。
書く、言う、図にする。
これらは考えを人に伝えるために重要です。
そして、人というのは他人だけではなくて、自分も含まれます。
人に悩みを聞いてもらって、すっきりした経験がある方は多いと思います。
問題が明らかになるからだと言われていますよね。
プログラミングも一緒です。
プログラムを書いたことがない人にはわかりづらいかと思いますが、プログラミングって抽象的なモヤモヤっとしたことばっかりなんですよ!!
抽象的なモヤモヤっとしたことをいかにわかりやすくするか、というのがプログラマーの仕事なので、口で言うのは、自分で問題を整理する、そのプロセスです。
逆に、私もプログラミングの設計などで悩んでいる時に、スタッフの方に聞いてもらって解決することも多いです。
特にAI時代において、小難しいコードを書くこと、小難しいコードを読むことはAIを使えば誰でもできるスキルになっています。
しかし、モヤモヤしたこと、抽象的なことを整理することは、今のところ人間の方ができます。
なので、そのスキルを磨いたほうがよさそうです。
書いたり、話したりしていきましょう!
コーヒーでも飲みながら
去年の夏なんですが、沖縄に遊びに行きました!
半年以上たっちゃったんですが、思い出を書いておきます。
私、沖縄が大好きで、何回か行ったことがありますが、今回は今まで行ったことがない本島の真ん中の方へ行ってみることにしました。
まず、海!!
万座ビーチの海にあるアスレチック。めっちゃ楽しかった!!突然スコールが降ってきたりしたんだけど、すぐやみました。
新海誠の映画みたいな空。空をぼーっと見て過ごすだけでもいいですよね。
美ら海水族館も初めて行きました!
これが噂の… ジンベエザメ…!大きかった!
とにかくめちゃくちゃこの日は暑かった!普段、冷たいものをあまり飲まない私ですが、美ら海ソーダというのを飲んでみました。おいしかった!
沖縄って食べ物もおいしいですよね!!
古宇利島。とにかく、海がきれい!!景色がよい!
ぶーん
本当にきれいな空と海。天気に恵まれ最高でした。
古民家をリフォームしたホテルに泊まったんですが、なかなか味があってよかったです。( ˊᵕˋ )
ホテルと言ってもこの一軒だけで、自分たちで鍵を開けて入るタイプ。素敵なところなんですが、入口がとにかくわかりづらかった。
外にお風呂があって、月を見ながらのんびりお酒を飲みながら入るという、贅沢。
蝉の声がすごい。蚊もめっちゃいっぱいいる。
しかし、私は冷房が嫌いなので、夏に外にいるのが好きなんですよね~。共感してくれる方にまったく会いませんが(笑)蚊にはめっちゃ刺される体質なので、虫よけスプレーはしてます。
アメリカ村というところに行きました!
ここも初めて行ったんですが、めっちゃフォトジェニックというか、キッチュで味があって、不思議な場所で楽しかった!
かわいい
沖縄の五条悟と夏油傑。めんそーれ!!
ブルーシールのアイスをクッキーにサンドイッチしたものが食べれるお店。おいしかった!!
塩ちんすこうアイスがとにかくオススメ!!
店内もかわいい。
沖縄のお友達に会う予定にしてまして、
「何する?どっかオススメある?」
と事前に聞いてましたら
「ビーチでエンダーのハンバーガー食べよう。」
と言われまして、
「えっ 何ソレ!!現地の人がそうやってエンダーのハンバーガー食べるって本当やったんか!!!」
とテンションがブチ上がりました!o(>▽<)o
というわけで、エンダーのハンバーガーをテイクアウトして、ビーチで夕焼けを見ながら食べました。
ルートビア好き。本州にもあってほしい。
友人Mちゃん「高校生の頃は、放課後にみんなでこうやってビーチに来てハンバーガー食べたり、ビーチバレーしたり、制服のまま海に入ったりして楽しかったなぁ…( ˊᵕˋ )」。
私「うぎゃー そんなん陰キャが思いつく下手なアニメの中でしかありえない青春と思っていたけど、そんなの本当にやってる人達がおったんか…」
東南植物楽園というところに行きました!
蓮がいっぱい咲いていてきれいでした。
蓮って本当にきれい
こんなに蓮が咲いているのを見られたのは嬉しい。極楽浄土なのか…。
でも、真夏の盛りに行くところじゃないのかも。(笑)この日は気温が35度ぐらいだったと思います。
将来は会社に庭を作って、その庭とかで会議したいなぁ…。
ブーゲンビリアの木の下で~♪
沖縄でおいしいものと言えば、ステーキのイメージだったんですが、今回はあぐー豚とエビがおいしかったです!
エビは、車海老キッチン TAMAYA さんというところに行きまして、古宇利島の近くにあるんですが、ここがすごくおいしかったです!
食べるところの隣が海老の養殖所
フライ、天ぷら、塩焼きと食べましたが、オススメは刺身!生が一番新鮮さを感じられて美味しかった
この旅行は天気に恵まれ、それが何よりありがたかった!
また沖縄に行きたいな~。
これまた有名な本ですよね。
DIE WITH ZERO
タイトルもキャッチーだし、本の装丁も目を引きます。
私なりに結構簡単にこの本を要約しました。
・お金を貯めることばかりに一生懸命になりすぎるな
・老後にいるお金は思っているほどではない
・老人になってからはお金の使い道がない
・多くの人が貯金しすぎて死んでしまう 子供に残そうと思うなら、自分が生きている間に子供に使ってあげたほうがマシ
・人生で一番大切なのは思い出を作ること
・仕事が好きだから、で仕事をしていてその結果お金を得て使う時間がない、というのはもったいなさすぎる
・収入の○割を貯蓄する をやめる 若いうちは経験や自分に投資したほうがよい
・死ぬまでの時間を意識する
とはいえ、この本に書かれていることは、個人的にはかなり「知ってた」し実践してきたことでもあります。
自分が30代前半のころ、30歳以上年上の方に言われて、とても記憶に残った話があります。
「定年退職してからイタリアとか旅行に行っても、そんなに楽しくなかった。
食べ物は油っぽいし、いっぱい歩かないといけないし。
とにかく、海外旅行は若いうちに行け。」
これ、本当に私にとっては金言でした。
旅行が大好きなんで。
あと、個人的に勉強になったな~ と思うのは
・長寿保険というものがある
・死ぬまでに必要なお金 = 1年間の生活費 × 人生の残りの年数 × 0.7
新年明けましておめでとうございます。今年もよろしくお願いいたします。
さて、いつも年始の抱負だとか、去年の振り返りとかを元旦にしてたんですが、今年はできませんでした。(泣)
なぜかというと、食あたり(?)でダウンしてたからです…。(ノω・、) ウゥ・・・
12月31日に、とあるお店でツナサンドを食べた後、
「なんか調子悪いな… ムカムカするな…」
とも思ったんですが、眠気覚ましにコーヒーを飲むなどしてしまったのが、より追い打ちをかけたかもしれません。
というわけで、12月31日の夜~元旦の朝が最悪で、その後も2日ぐらい臥せってました。
元旦は母&姉に会い、2日から旦那の実家の香川に行くはずだったのに、それもキャンセルしました。
一足早く香川に行っていた旦那にも帰ってきてもらいましたし、旦那のご実家の皆様も私の分のいろいろ準備頂いていたそうなのに、本当にご迷惑をおかけしました。┌o ペコッ
それにしても、新年から旦那の優しさが身に染みました。。。(つД`)
本当にいい旦那様です。
さてさて、去年の目標と振り返りをします!去年は何を言っていたかというと↓
①会社の売上◯円!
②週に3回は体を動かす
③新しい趣味を作る
④姿勢をよくする
ですね。
それぞれ、どうだったかというと
①会社の売上◯円! → 3月決算なので、まだわかりません!最近は営業の皆さん大変がんばってくれてますので、それに期待★ですね。
②週に3回は体を動かす → Youtubeでダンスとか見て、それで1日置きぐらいに10分ぐらい体を動かしたりしています。なので○!
1回4分で終わるHIITより、ダンスの方が私はやせる気がします。
③新しい趣味を作る → 作りましたよー!
マジック・ザ・ギャザリング(略称 MTG)です!!
「え?後藤さんが?」
と会社の人に驚かれたりしたんですが、本当です。
いきさつとしては、旦那がMTG大好きなので知ってはいたのですが、ちょっと馴染めないなと思ってたんですよね。
しかし、転機が訪れました。
ブルームバロウってシリーズが出て、それだとウサギとかネズミとかでカードがかわいいんですよ!!
まぁほぼピーター○ビットの世界というか( ˊᵕˋ )。
私動物大好きなんで、こういうのに目がないんですよ!
MTGって大体白目向いてカーッってなってる人か、ドラゴンか、なんかうじゃうじゃしたモンスターが出てくるというイメージだったんですが、
「これなら愛着が持てる」
と初めて思いました(笑)
ルールも複雑で、カードもいっぱいあるし、知らない&わからないことばかりです
やる方はもしどこかでお手合わせする機会がありましたら、お手柔らかにお願いします┌o ペコッ
④姿勢をよくする → 全然よくなってない!ダメー。
目標以外のことについて振り返ると、2024年は大変いい年でした。( ˊᵕˋ )
仕事では、いくつもODIN リアルタイム配送システムの大きな機能アップデートができまして、お客様が増え、社会の役に立っているな~ と日々実感できることと、プライベートでは旅行にいくつも行けたのがよかったことです。
さて、去年はそんな感じで、今年の目標はどうしようかと言いますと
①売上目標○円達成
シンプルに。
今年はいろんなことをもっとアグレッシブにやっていきたいなと思います!
②プログラミングについての記事をSpeakerDeckに4本書く
去年から、プログラミングについての記事をSpeakerDeckに書き始めたんですよね。書き始めたいきさつはコチラ。
この記事を増やしていきたいなと思います!
https://speakerdeck.com/akikogoto
③ポーカーの大会に出る
テキサスホールデムという種類のポーカーにはまっているのですが、大きな大会に出たことはないんですよね。
今までサテライトという予選に出てから勝ち進みたいなと思ってたんですが、サイドトーナメントという当日会場に行ってもできるようなトーナメントもあるので、今年はそういったものに参加して、大会の雰囲気を味わいたいなと思います。
④空を飛ぶ
これもずっとやってみたいなと思ってることなんですけど、ハンググライダーかスカイダイビングしたいと思ってます。(`・ω・´)
飛躍の一年にしたいってやつですね(笑)
新年に着たわけではないんですが、新年っぽいかなと思いまして、着物着た時の写真を上げておきます。
さて、重ねて本日は誕生日でした!
病気の延長もあって、何もしない日でしたが、平凡な日常を過ごせています。( ˊᵕˋ )
それにしても最悪な1年の始まりでした。
ポーカーも年末にやった時に、300ハンドぐらいプレイしたと思うんですが、1回もプレミアハンド来なかったんですよ。(10sとかさえ来ない)
そんなことってありますかね?
が、その分、ここからは伸びしろしかない!!(笑)
皆さまにも、2025年が素敵な年でありますように!!
では、2025年も社員一同、オンラインコンサルタントをよろしくお願いいたします!
「菊と刀」。有名な本ですよね。
第二次世界大戦中に、アメリカの文化人類学者が日本を研究した研究結果の本です。
「日本人の特徴」みたいなものがあるなら知りたいなと思ってます。
しかし、この本についてはそれだけではなく、高校生のころから読みたかったんですよね。
というのも、当時同級生の友人(女子)が、読書感想文にこの本を選んだというのを聞いて、
「どひゃー なんて硬派なんだ!しびれるなあー」
と思っていたからです。
それから何十年とたって、やっと読みました(笑)
いや、実にすごい本です。
「なるほど、そういうことか」
と何度も思わされました。著者のルース・ベネディクトさんは日本に来たことがなかったそうですが、よくこれほどまでに日本のことを理解されたなと思います。
以下、気になったところを抜粋しておきます。
①日本人はめちゃくちゃ束縛されている
これはこの本で初めて知ったことなんですが、アメリカでは赤ちゃんを厳しくしつけるらしいです。
「え?赤ちゃんってしつけるものじゃないでしょ??」
というのが日本人の一般的な感覚な気がします。
日本では赤ちゃんが泣いていれば駆けつけるのがよい母親ということになってますよね。
しかし、アメリカでは赤ちゃんは一人の部屋に置かれ、決まった時間に授乳し、寝かしつけさせられ、母親が出かければ独りぼっちになるらしい。
これ、あんまり日本で知られていることではないですよね。アメリカ人って赤ちゃんや幼児をめちゃくちゃ甘やかしているイメージあったので驚きました。
で、この本曰く日本人は赤ちゃんと老人に甘く、青年から壮年にかけて非常な束縛が課される。
アメリカではその反対で、赤ちゃんと老人に非常な束縛が与えられるが、青年から壮年にかけてはその力をいかんなく発揮することができる、らしいです。
以下本からですが
「日本人の性格の矛盾を、子どものしつけを見れば納得がいく。それは日本人の人生観に二元性を生み出す。
幼児のころに特権があり、気楽に生きていた記憶のために、自分の言い分をどこまでも主張する傾向を与えるが、6,7歳以降に次第に用心深く振る舞い、「恥を知る」責任が課せられ、甚だしい拘束を甘んじて受け入れさせられる。
子どもによその〇〇ちゃんはもうそんな馬鹿な真似はしない、とかあなたはもういらないとか、そういう手段でいうことを聞かせようとするのが、嘲笑とつまはじきに対する恐怖心を養うことになる。
小学校の最初の三年は「困った事態」に陥ることをさけるように教えられる。
他人と違ったことをすれば、世間の笑いものになる、といって聞かされる。
また、自分が取るべき行動が規定されている。
日本では、年齢、階級と立場でふさわしい行動が求められる。自由な領域とそうでない領域が厳しく分けられている。
他人が期待することをやる、自分がやりたいことをやってはいけないという束縛が青年期に一番強く課される。
自重という言葉の意味は、「自分を重んじる」ことではなく、自分がやりたいことをしないという意味。
自分がやりたいことをやって、結果失敗したら恥ずかしい、恥辱は最も避けるべきこととして刷り込まれる。」。
令和の時代でも一緒で、最近も「40代でパーカーがダメ」とかそういうのに現れている気がしますね。
以下本からですが
②恥辱の文化
以下本からですが
日本人に主義はない。日本人は悪の問題に正面から向き合わない。」
でも、最後のわかりますね。
「他人と同じようにしたい、なぜなら失敗したときに笑われたくないから。」
そういう人が圧倒的に多い気がします。
つまり、失敗したとしても、他の人も失敗しているから笑われないので安心、という話なのです。
主義がない話については、第二次世界大戦で日本が敗戦した後、連合国軍を笑顔で迎えたことに世界が衝撃を受けたそうです。
それまで、日本人は断固として降伏しない、という勢いで戦ってきたわけですから。それも、そういわれればという感じですね。
③名と義理、恩
以上ですが、単なる日本ディスみたいに聞こえたかもしれませんが、外国から見てこう、というのは大変参考になることだと思います。
分厚い本なので、勉強になった話を全部を紹介することは不可能なのですが、本の中ではアメリカとの対比だけではなく、太平洋諸島の文化の話や、西欧諸国とアメリカの違いなどにも言及されてます。
なので、いわゆる浅い
「出羽守」
的な話ではなく、かなり納得感の行く話になってます。
それは例えば「アメリカがイイ」とか「日本がイイ」とかそういう論点ではなく、戦時の
「日本をどうしたら攻略できるか」
という観点で書かれているからなんじゃないかと思います。敵を知ることが重要ですからね。
アメリカだってめちゃくちゃ問題を抱えた国だと思いますが、それとこれとは話が別なわけです。
皆さんはパラパラという踊りを知っていますか?
昔、ディスコやクラブではやっていたそうですが、知らない人のために言いますと、決まった踊りを覚えてきて踊る、というやつです。
日本人は自由にふるまっていい場所ですら
「自由にする」
ことができないことの一つの現れなんじゃないかと思います。
親や年長者の教育、古くからある物語、価値観の中に
「一定の掟を守って行動しさえすれば、誰か他人が褒めてくれるに違いないという安心感」
がめちゃくちゃ刷り込まれているということのようです。
最後に個人的な意見なんですけど、
「笑われたら恥ずかしい」
という考えは、現代日本人を苦しめている気がしますね。
つまり、「菊と刀」が描かれた1944年ぐらいの価値観であれば、戦争に行って戦死をとげることが日本人にとって名誉なことだったから
「笑われたくない」
という価値観はマッチしていたと思います。
ただ、現代においては戦死なんてとんでもないし、一回しかない人生、個人の幸福を追求していい、ということになりました。
日本人にとっては、誰かに何かを決めてもらわないと行動できないのに、「好きなことをやっていいよ」となったわけです。
そして、「好きなことをやる」となると、一人一人やりたいことは違うので、「他人と同じことをする」わけにはいかなくなります。
他人に期待されたこと、他人と同じことをやっていつの間にか老人になり、死に際しても誰も誉めてはくれない。
それぐらいなら、好きなことをやればよかった。
それに気が付いたときにはもう手遅れなのかもしれません。。。
もっと、好きなことをやって生きていけばいいんじゃないかと、私は常々思ってます。
PHPカンファレンス2024に行ってきました!
12月22日って… 厳しくない?M1もあるし!と思ってましたが、行きました。(`・ω・´)
昼過ぎから行きました!(本当は12時45分の成瀬さんの講演から聞きたかったのですが、前日飲みすぎて起きたらお昼でした(泣))
①APIデバッグとリバースエンジニアリング
https://speakerdeck.com/nagix/apidebatugutoribasuenziniaringu-7ebf6dc3-989c-46a2-9269-7b157195d94e
聞いてよかった!
Postmanの人が話すPostmanの話。
Postmanって本当にすごいツールで、かなりお世話になってます。
Postmanの中の人たちに足を向けて寝られないよ…(ノω・、)
Postmanのことについて聞くたびに、
「エッ そんな機能あったの??すごー!!」
って驚くんですけど、この日もそうでした。
下記の部分にマウス当てると、色々なことを教えてくれる。
ここを触ろうという発想すらなかったw
Postmanにconsoleという機能がありコンソールにログが出せる!
左下のここ!見たこともなかった!(ジョックロック風に)
Postmanがネットワーク接続とかできないとき、これで調べられる!
PostmanでクライアントアプリとAPIのリクエストを検査したり、トラフィックをキャプチャもできる!
(使う日が来るかもしれない)
②AlgoliaからOpenSearchに乗り換えてみた
https://drive.google.com/file/d/1sh9EE0kNmfcp_rotMq-RYiTYPYicE05-/view
ウチも検索の問題はあるので職務に直結するので大変ためになりました。講演者さんの実体験に基づくお話なのがよかったです。
・もともとはAlgoliaというツールを使っていたが、半角カナやへーべーなどが検索できないし、高額
・MySQLのFULL TEXT INDEXこれはかなりCPUを食うらしい。。。CPU100%になってしまったらしいです。
・AwsのOpenSearchへ乗り換えをし、コストダウン(4分の1になった)検索機能が向上
③責務を分離するための例外設計 – PHPカンファレンス 2024
https://speakerdeck.com/kajitack/ze-wu-wofen-li-surutamenoli-wai-she-ji-phpkanhuarensu-2024
この時間これしかやってなかったんですよね(笑)。でもためになりました。┌o ペコッ
例外って大事だよね~
・問題がある場合は早く例外を投げるべし
・入力値のチェックはバリデーションで行い、IDが想定外の場合、バリデーション実装のミスなので、LogicExceptionを投げるべし
そうすることによって、クラスの中の問題なのか、クラス外の問題なのかが切り分けられる、という意味なのかな、タイトルはそういう意図なのかな、と思いました。
<ライトニングトーク>
ライトニングトークはどれも素晴らしかったですが、印象に残ったものを残しておきます。
④var_dumpとvar_exportの理解から始めるPHPのソースコードリーディング
PHPのソースコードを読んでみようという話
⑤Xdebug ProfileによるCIパフォーマンス改善のためのボトルネック解析
Xdebug Profileを活用して、PHPUnitが呼び出すコード内のパフォーマンスを阻害するメソッドを特定する方法。
そう。PHPUnitを回すのにかなりの時間がかかっていませんか?ウチもやらないと…。
⑥Opcodeを読んでいたら何故かphp-srcを読んでいた話
https://speakerdeck.com/murashotaro/opcodewodu-ndeitarahe-gu-kaphp-srcwodu-ndeitahua
PHPのソースコードを読むのは大変だったら、Opcode(中間コード:オペコード)を読んでみるのがオススメ。
夜は懇親会でした!!
会社の子も参加してくれましたし、いつも楽しい会で、いろんな方とざっくばらんにお話できて楽しかったです( ˊᵕˋ )
なんとじゃんけん大会で勝ちまして、PHP Conference Tシャツを頂きました(^^)v
さて、タイトルにある参加10年目なんですが、このブログによると、なんと私はほぼ毎年PHPカンファレンスに行っている!!( ゚Д゚)
初出は2014年のこの記事なんですよ。
読みますと、HHVMの話を、Facebookの開発者、Paul Tarjan氏が話したセッションを聞いたという記憶がよみがえってきます。
PHPカンファレンスってすごいなー、わざわざ外国からすごい人が登壇するんだなー、というめちゃくちゃ良いイメージから私のPHPカンファレンスは始まったのです。
2018年が下記↓ このころは、ソシャゲの会社がスポンサーなイメージ強かったですね。
それにしても毎年言ってますけど、PHPカンファレンスって参加費無料ですごい勉強になるし、すごいモチベーションアップになるので、このまま続いていってほしいですね。
10年経っても、PHPという言語のポジションってあんまし変わってないですね。
個人的な感想ですが、PHPのポジションって、やっていてかっこいい言語じゃない、というとらえ方がどうも一般的な気がします。
いわゆるつよエンジニアを目指すみたいな界隈の人が
「やってるのが恥ずかしい」
「片手間にやれば十分な言語」
という感じみたいに言うのがちょっと残念ですね。
簡単で機能が少ないので、こういうことを言われるのかもしれません。
しかし、大AI時代になりましたので、もしかしたらこの辺が変わっていくかもしれませんね。