矢島の技術ブログ

東京のWebアプリケーション開発者によるブログです。

2024年12月の振り返り

はじめに

この記事は、2024年12月に私が何をやっていたのかを振り返る記事です。

みなさまの参考になる部分があれば幸いです!

やったこと

新機能の実装

業務で、新機能の実装タスクを進めています。

React + Laravelを使った実装で、私は主にLaravelを使ったサーバーサイドの実装を担当しています。

SwaggerでAPIのインターフェースを決めて、テーブル設計を考えて・・・というところから始めて、12月の末にはほぼ実装を終えることができました!

Unitテストをちゃんと書いたのもいい経験になりました。

Unitテストの場合は、関連クラスをモックとして使用することで、他クラスに依存せずにテストを実装できます。

このモック(Mockeryというライブラリ)の使い方を改めて学ぶことで、自分の書きたいUnitテストを書くことができました!

github.com

懸念点としては、モックしたクラスの実装が変わった際にモックの挙動も変えなければいけないのが大変そうだな〜と感じています。

読んだ本

真夏の方程式

夏休みを玻璃ヶ浦にある伯母一家経営の旅館で過ごすことになった少年・恭平。一方、仕事で訪れた湯川も、その宿に宿泊することになった。

翌朝、もう1人の宿泊客が死体で見つかった。その客は元刑事で、かつて玻璃ヶ浦に縁のある男を逮捕したことがあったという。

これは事故か、殺人か。湯川が気づいてしまった真相とは-ーー。

累計1320万部突破の人気シリーズ、福山雅治主演の映画も邦画興行収入第1位(2013年度)

https://amzn.asia/d/0LwenWe

とにかく湯川先生がかっこよかったです!

登場人物それぞれがそれぞれの思惑で動いており、最後にすべてが明かされる展開がとても面白い本です。

東野氏の作品は外れがないですね。

また別の作品も読んでみたいと思います。

向日葵の咲かない夏

夏休みを迎える終業式の日。先生に頼まれ、欠席した級友の家を訪れた。

きい、きい。妙な音が聞こえる。S君は首を吊って死んでいた。だがその衝撃もつかの間、彼の死体は忽然と消えてしまう。一週間後、S君はあるものに姿を変えて現れた。「僕は殺されたんだ」と訴えながら。

僕は妹のミカと、彼の無念を晴らすため、事件を追いはじめた。あなたの目の前に広がる、もう一つの夏休み。

面白かった!

読み進めるうちに、色々と違和感を覚えつつ最後に謎が解ける感覚が気持ちいい作品です!

ミステリファンで、本作を未読の方はぜひ一度お手に取ってみてください。

死ぬ瞬間の5つの後悔

明日死ぬ――死を覚悟したときに多くの人に共通する「後悔」とは? 数多くの患者を看取った女性介護人が振り返る、老若男女の「最期」の言葉。「もっとお金を儲ければよかった」という人はひとりもいない――それでは、誰もがする後悔とは? 死の床で語られた言葉は、彼女自らの人生にも影響を与えていく。なぜなら、人生はいつだって変えられるのだから。器用に生きられないあなたに贈る一冊。

人はいつか死ぬ、そんな当たり前のことを思い出させてくれる書籍です。

私もいつかは死にます。

私は、死ぬ瞬間の後悔をできるだけ減らしておきたいです!

なので、この書籍を読むことであらかじめ後悔の芽を摘んでおこうと思います。

具体的には、友人・家族を大事にし、自分の気持ちに向き合って生きようと思います。

また何年か後に読み返したい書籍です。

金持ち父さん 貧乏父さん:アメリカの金持ちが教えてくれるお金の哲学

すべての原点となる1冊目。まずはここからはじめよう! お金の力を正しく知って、思い通りの人生を手に入れよう。 変化の時代のサバイバルツールとして世界中で読まれ続けるベスト&ロングセラー、待望の改訂版。

お金持ちとそうでない人(貧乏人)の、お金に対する考え方・接し方を対比させながら紹介する書籍です。

お金持ちは資産を買い、貧乏人は負債を買います。

(会計上の資産・負債とは別の概念です)

今後のお金の使い方の参考になりました!

とはいえ、人生はお金を貯めるゲームではないので、自分の幸せにつながるようなお金の使い方についても意識したいと思いました。

休養学

「いつも体が重い」

「寝ても寝てもだるく、疲れがとれない」

「会社に行くだけでヘトヘトになる」

「休みの日に何をしていいかわからない。結局、一日じゅうゴロゴロしている」

「週末に寝だめをすると、休み明けはかえってぐったりしてしまう」

……あなたはこんな悩みを抱えていませんか?

本書では、これまで栄養や運動に比べて軽視されてきた「疲労」と「休息」について科学的な解説を加え、

・人はなぜ疲れるのか

・疲れても無理をして休まずにいると、人間の体はどうなるのか

・どんな休み方をすれば最も効果的に疲れがとれるのか

……といった疑問に答えていきます。

疲れた時にどうすべきかを学べる書籍。

休養とは、寝たり、ごろごろしたりするだけではありません。

趣味に打ち込んだり、自然と触れ合ったり、体を動かすのも立派な休養です。

私も休日はよく公園を散歩しているのですが、休養として正しかったんだと納得できました!

しっかり休養して、生産性の高い開発者になりたいものです。

アカギ

ククク・・・狂気の沙汰ほど面白い・・・!麻雀漫画「天」に敵として味方として登場し、主役を喰うほどの絶大な人気を誇った福本作品最大のヒーロー・赤木しげるの若かりし頃を描いた作品。麻雀を知らない人が読んでも勝負漫画として楽しめてしまう濃厚な心理戦、運に依らない純然たる「理」の闘牌、人間の本質を暴きだす激ヤバな福本節の数々、欲望と保身から最も遠い世界を往く狂人・アカギの圧倒的カリスマ性等々、語りつくせぬ中毒性!駆け巡る脳内物質っ・・・!

以前25巻くらいまでは読んでいたので、今回は26〜最終巻まで読みました。

爽やかな読後感で楽しく読めました!

勝負の結末は最後まで展開が読めず、ハラハラしながら読み進めました。

途中の、鷲巣さんが地獄で鬼と戦うところは別の意味で面白いですね!

あと鷲巣さんが電車で移動してるところが和みました。

鷲巣麻雀も最初から読み返したくなりました!

いい作品でした!

無頼伝 涯

「見てろっ………! オレは必ず這い上がるっ…………!」資産家の老人を殺害した犯人に仕立て上げられた中学生・工藤涯(くどう・がい)が、自分の無実を証明するために闘っていくサスペンスアクション。鳳臨グループの会長・平田隆鳳(ひらた・りゅうほう)を刺殺した容疑者として追われる工藤涯は、ビルの路地に追い込まれ、警部・安部(あべ)と対峙する。そこで涯は、自分ははめられたのだと告白するのだが……!?

アカギに続き、福本氏の作品です。

冤罪で捕まった少年が、逆境に立ち向かってゆく話です。

とにかくテンポがいい!

カイジ・アカギのテンポに慣れている人が読むと、展開の速さに驚くと思います。

ポンポンとストーリーが展開していき、一気に駆け抜けたような作品です。

人は誰かに頼るのではなく、自分自身で人生を切り開いていくしかないんだと思わせてくれました。

おすすめです!

観て良かった映像作品

攻殻機動隊 S.A.C. 2nd GIG

西暦2030年、日本。情報ネットワーク化が進む中、犯罪を一掃する攻性組織が設立された。内務省直属独立部隊、公安9課。通称「攻殻機動隊」だ。彼らの任務は、電脳犯罪への対処、要人警護、政治家の汚職摘発など多岐に渡る。“少佐”と呼ばれるサイボーグ・草薙素子を中心に、9課はネットに潜む犯罪に立ち向かう!

「個別の十一人」というテロ組織に立ち向かう話です。

サイトー、パズなど9課のメンバーをフィーチャーした話もあり、とても楽しめました!

個人的に良かったのは、サイトーさんと少佐の戦闘シーンですね。

あそこの少佐の人外っぷりは本当にすごいとしかいいようがない!

少佐の過去についても語られているので、見応えがありました。

その他

その他、今月やったことなどを雑に記載します。

PHPカンファレンス2024に参加した

毎年恒例のPHPカンファレンスに参加しました。

詳細は別記事に書きましたのでよければご覧ください。

tech-yajima.hatenablog.com

今年やりたいことなど

今年(2025年)のやりたいことを書いて終わります。

今年やりたいことは以下の通りです。

  • 仕事
    • ドメイン知識をつけたい
    • 新しくジョインするメンバーのサポートをしたい
    • React + TypeScriptを使いこなしたい
    • Laravelのドキュメントを読みたい
    • クリーンアーキテクチャへの理解を深めたい
    • 事業への理解を深めたい
  • プライベート
    • 釣りをしたい
    • キャンプをしたい
    • 車を買いたい

そういえば2025年中に引っ越しを予定しています。

どこに引っ越すかはまだ検討中です。

引っ越したら駐車場を借りて車を買い、キャンプや釣りに行きたいです!


ベースの演奏動画をYouTubeにアップしています!

www.youtube.com

Bass Tabs (Yajima)

よければご覧ください!


以上です!

感想などありましたらお気軽にコメントください!

PHPカンファレンス2024に参加しました!

はじめに

PHPカンファレンスとは、主にPHPを使用して開発をしている方などが集うイベントです。

2000年より年に一度開催されている日本最大のPHPのイベントです。 WEBサーバにインストールされているシェア8割を超える人気言語のイベントとして、初心者から上級者まで幅広い層のWEB系エンジニアが参加します。

fortee.jp

今回は、PHPカンファレンスに参加した感想などをお伝えしていきます。

感想など

参加した感想を一言でいうと、「とても勉強になって楽しかった」です!

私も普段は業務でPHPを使用していますが、こういう大きなイベントに参加すると、いつもの業務とは違った思想や文脈に触れられるのでとても刺激になります。

PHPカンファレンスは本当に賑やかで楽しいので、参加していて楽しいですね!

スタッフの皆さま、登壇者の皆さま、お疲れ様でした!

素敵なイベントをありがとうございました。

また来年も参加したいです。

個人的に一番素敵だなと思ったセッションは、「EC2からECSへ:念願のコンテナ移行と巨大レガシーPHPアプリケーションの再構築(江口 純矢氏)」です。

実際にとてつもない苦労をした経験からくる知見をシェアしてくださり、ドラマチックでとても楽しく聴くことができました!

感情を揺すぶられるような講演で、50分があっという間でした!

また、nrs氏の講演も安定して面白かったです。

アーキテクチャの話は何度聞いても勉強になりますね。

自分自身の業務にも活かしていきたいと思います!


ここからは、私が参加したセッションの内容をまとめていきます。

PHPエンジニアのためのアクターモデル完全ガイド

登壇者:ytake氏

https://fortee.jp/phpcon-2024/proposal/10b2afa2-d7a2-4b55-b443-d4fd1bce1638

アクターモデルとは?

アクターモデルとは、並行計算の数学的モデルの一種です。

アクターは、それぞれが状態を持ちます。

アクターモデルの利点は?

  • 並列処理ができる
  • スケールアウトが容易にできる

メッセージについて

アクターは、他のアクターに「メッセージ」というデータを送ることができます。

メッセージは全てイミュータブルになります。

アクターは自分自身のメールボックスを持ち、メッセージを受信できます。

全てのアクターはアドレスをもち、メッセージはそのアドレス宛てに送られます。

アクター同士の関係性

アクターはアクターを生成できます。

アクターは他のアクターと親子関係を作ることができます。

親は、子の状態を知ることができます。

メッセージのやり取りは、親以外とも可能です。

(アドレスでやり取りする)

アクターは自分自身をStop(インスタンス終了)できます。

アクターモデルの例(学校のテスト)

先生:root

生徒:アクター

このモデルでは、先生が生徒を生成します。 生徒は、それぞれ独立してテストに回答します。


PHPで学ぶプログラミングの教訓/PHPで学ぶバックエンドソフトウェアアーキテクチャ選定の勘所

登壇者:nrs氏

再代入は避ける

再代入をしなくても同じ処理は書けます。

再代入してしまうと、読み手の負担になります。

(常に値の変更を認識しておかないといけないので)

システムハンガリアンを避ける

システムハンガリアンとは、「変数名などに型情報を入れること」です。

なぜ避けるべきかというと、型が変わった際に変数名を変えるなどの対応が必要になるためです。

アプリケーションハンガリアンとは、変数名に単位などを入れることです。

アプリケーションハンガリアンは使っても問題ありません。

条件式は素直にする

条件式の否定の否定は、肯定に直しましょう。

条件式を素直にすることで、読み手に優しいコードになります。

デッドコードを屠る

デッドコートとは、価値のないコードです。 (例えば、絶対に通らない分岐など)

デッドコードを見つけたら、消すことをおすすめします。

なぜなら、別の開発者がデッドコードに出会った時に調べたりする時間を削減できるためです。

DRY原則を守ろう

DRY原則とは、「Don’t Repeat Yourself.(コードの重複を避けよう)」の略称です。

重複に気づいた瞬間から、DRYにしていくことが大事です。

コードを分けるのは簡単です。

よって、迷ったらDRYにしておくことをおすすめします。

入力処理出力を分ける

入力→処理→出力を一つの処理で行うのではなく、それぞれ分けましょう。

処理を分ければ、メソッド化できるという利点もあります。

相互参照はやめよう

相互参照とは、例えばクラスA, Bそれぞれがそれぞれを参照し合うことです。

なぜやめるべきかというと、クラス間が密結合になってしまうためです。

相互に参照しそうになった場合は、メディエーターパターンを使うと良いです。

クラスに親子関係を作ることで、循環参照をなくすことができます。

Tell, don’t ask.

命令せよ、尋ねるな。

クラスの呼び出しがわでプロパティをチェックするのではなく、クラス内でチェック用のメソッドを作っておく。

KISS

Keep It Simple Stupid.

(シンプルに保て)

「Easy」ではないことに留意しましょう。

逆にいうと、「Hard(難しい)」ことと「Simple(シンプル)」は共存できます。

デフォルト安全

基本的な使い方をしておけば大丈夫、という設計にしましょう。

セキュリティの世界でできた考え方。

継承よりコンポジション

継承はいくつか問題があります。

  • クラスの責務が変わってしまったり、密結合になってしまう
  • 再利用性が低下する
  • ダイヤモンド継承問題
    • 多重継承をすると複雑な設計になってしまう

それよりはDIを行ってコンポジションにしましょう。

単一責任の原則を守ろう

クラスを分けましょう。

目指すのは「クラスの変更を要求する主体がひとつであるべき」という考え方。

オープン・クローズドの原則を守ろう

小さく試す

SSOT(データは1つにまとめる)

Value Objectを作ると良い。

読めないコードはない

予測するな、計測せよ

並列処理、foreach → for文への変換など。

千里の道も一歩から

とにかく1つずつやっていくこと。

統一感を壊す

悪いコードで統一されているよりは、いいコードを書こう。

めんどくさいものは使われない

使うのがめんどくさいコードは、使われない。

HTMLタグを見習いましょう。

bottonタグは、パラメータなくても動く。

ボーイスカウト原則

コードを変更したら、周辺のコードを綺麗にする。

ルールではなくレールを敷け

ルールで人を縛るのではなく、善性を信じる。

アーキテクチャ

ヘキサゴナルアーキテクチャ

アプリケーションが中心にある。

アプリケーション以外は差し替えることができる。

差し替えるために、アダプターを使う。

アプリケーションを使う時は、Webやスマホなどいろいろなインターフェースがある。

レイヤードアーキテクチャ

システムをレイヤーに分ける。

DI+レイヤードアーキテクチャ=ヘキサゴナルアーキテクチャ。

クリーンアーキテクチャ

ヘキサゴナルアーキテクチャと同じ構造になっている。

Entity=ドメイン

ユースケース=ドメインを使って何をするか

インターフェース=ユーザーからの入力、出力を担当する。

依存の方向は内向きにしましょう。

ドメインはユーザーのことを何も知らなくていいようにしましょう。

アーキテクチャをどう選ぶべき?

開発チームが自走できるなら、ヘキサゴナルアーキテクチャがおすすめ。

成長段階であれば、レールの整ったアーキテクチャ(クリーンアーキテクチャなど)がおすすめ。

アーキテクチャは、チームの状況によってケースバイケースで決めるべきです。

CQRS+ES

CQRS+ESは、以下のフェーズで活用するといい。

  • ドメインにフォーカスした処理を作りたい
  • 10を100にするフェーズ
  • データ活用のためのデータを溜め込む

リアルオペレーションを支えるPHPアプリ開発

https://fortee.jp/phpcon-2024/proposal/5d6fb799-4b09-418c-a8e1-d4642ebfb264

登壇者:西山 舜氏

倉庫のシステムなので、作業者の方に「何をいくつどこに移動させてください」という指示を出さないといけない。

倉庫作業には、以下の制約がある。

  • 物までの移動が必要
  • 一度に持てるものに限界がある
  • 物を扱うための空間が必要

HHT(ハンディ端末)

HHTを使うことで倉庫作業のシステム化ができる。

HHTにはAndroidが入っているので、倉庫管理アプリはWebアプリとして実装している。

HHTアプリ開発の注意点

  • HHTは画面が小さい
  • リアルタイムでの情報連携

リアルタイムでの情報連携

リアルタイムでの情報連携をするためには、状態管理をシビアに設計しないといけません。


共創を加速するための若手の技術挑戦

https://fortee.jp/phpcon-2024/proposal/e3030805-0ba0-467e-b426-61213784f4cd

登壇者:ヒビキ氏(株式会社ウェディングパーク)

登壇資料

https://speakerdeck.com/weddingpark/phpkanhuarensu-2024-gong-chuang-wojia-su-surutamenoruo-shou-noji-shu-tiao-zhan

【共創】スキルの異なるメンバーが価値を出していくこと

どうあるべきか、を考える「デザイン思考」が大事です。

ヒビキ氏は、「なんとなくやりたいことは決まっているが仕様などはまだ決まっていない」というフェーズのプロダクトを作っていました。

時間的な制約がある中で、どう成果を出すか、にフォーカスしました。

「最速で実装する」ことを意識して準備しました。

具体的に、以下の点に気をつけました。

  1. 仕様変更に強くする
  2. 人的リソースを無駄なく使う

気をつけた点1. 仕様変更に強くする

ウェディングパークでは、ウォーターフォールが一般的だった。

しかし以下の問題があった。

  • 仕様変更に弱い
  • 時間がかかる
  • 仕様をあらかじめ決めておく必要がある

そこで、「プロトアジャイル」という手法を編み出した。

インフラについても工夫をしました。

EC2, ECSは構築が必要ですし、コストがかさみがちなので、見送りました。

結果、AWS Amplifyを採用しました。

初期検証では最適だった。

質問:今後はEC2などに変えていく?

Amplifyはブランチごとに環境が作れるので、レビューを簡単に実施できました。

気をつけた点2. 人的リソースを無駄なく使う

フロントエンドのフレームワークの選定についての、リソース活用のお話です。

意識したのは、エンジニアとデザイナーのコラボレーションを大事にした点です。

以下の点を意識して技術選定を行いました。

  • 小さく早く開発できる
  • 学習コストが低い
  • デザイナー、エンジニア両方が触れること

Svelteキットを採用した。

SvelteはLaravelのBladeテンプレートと似ているので、学習コストが低い。

まとめ

変化のしやすさが価値になる。

制約がある中で、最大の価値を出すためにどうするか?を考える必要がある。


EC2からECSへ:念願のコンテナ移行と巨大レガシーPHPアプリケーションの再構築

https://fortee.jp/phpcon-2024/proposal/ff1b3bb3-f123-48d4-9b88-0b891975bd68

登壇者:江口 純矢氏(コドモン)

コドモンでは、以下の問題が生じていた。

  • 問題1. 環境ごとに差異が生じている
  • 問題2. リリースに時間がかかる

問題1. 環境ごとに差異が生じている

ローカル → Docker

本番 → Ansible

Dockerfileの設定などを変更するときは、SREチームに依頼するという運用になっていた。

問題2. リリースに時間がかかる

EC2のデプロイ時間が長い。

同じEC2インスタンスに対し、いろいろな開発チームが関わっているのでリリース頻度を上げられない。

今後も継続的に価値を届けていくために、リリース頻度を上げたいという要望があった。

上記の問題1、2は、コンテナ化すれば解決できます!

コンテナ化の作業

複数チームが開発しているので、コードが巨大で複雑になっていた。

  1. コンテナイメージの作成には横断的な協力が必要
  2. 安全に移行するための工夫

コンテナ化で目指すこと。

環境間の差異をなくす。

デプロイ時間を短縮する。

デプロイツールはEspressoを使っている。

ステージングと本番で、同じDockerイメージを使うことができる(→デプロイ時間の短縮になる)

→ イメージの作成が最重要!

ローカルのDockerfileを使えばいい、とはいかなかった。

ローカルはAmazon Linuxを使っていた。

ECSは、Amazon Linuxは使いにくい。

なぜならイメージサイズが大きいから。

LinuxのDebianを採用した。安定性が高いので。

実際の作業

Ansibleのコマンドを、1つずつDockerfileに書き写していく。

PHPInfoを見ながら、パッケージの差分を埋めていく。

ようやくDockerfileができた。

ビルド時に、環境依存の値が含まれないようにする。

ソースコードの環境変数を、ビルド時に注入するようにしていく。

環境変数ファイルを作るためのGitHub Actionsが存在した!

環境変数はSecretsManagerを使った。

質問:どれくらい短縮された?

14分くらいから4分くらいに短縮された。

安全に移行するための工夫

工夫1. PRを小さくする

非互換の変更があったので、PRをマージするとEC2で動かなくなる危険があった。

これをpreforkへと変更し、どちらの環境でも動くようにした。

工夫2. リリース時のワークフロー

完全に切り替えるのではなく、EC2にもリリースするようにした。

結果、もしECSが失敗したとしてもEC2で動作するようになった。

工夫3. 本番環境で動作確認をするための仕組み

EC2アクセス時に、OIDCによる認証を必須にした。

開発者のみアクセスできるようにした。

工夫4. 段階移行する工夫

ALBの加重設定を使用し、徐々にトラフィックをECSに流せるようにした。

ブルーグリーン

通常のローリングアップデートだと、アクセス時の整合性が取れない可能性があった。

(アクセス開始時は旧、終了時は新環境になる可能性があった)

そこでブルーグリーンデプロイを採用した。

EC2→ブルー

ECS→グリーン

デプロイ後、グリーン側にトラフィックを切り替えるイメージです。

ただ、ALBの加重設定とブルーグリーンデプロイは共存できなかった。

おわりに

今年のPHPカンファレンス、とてもよかったです!

また来年も参加したいところです。

それでは。

2024年11月の振り返り

はじめに

この記事は、2024年11月に私が何をやっていたのかを振り返る記事です。

みなさまの参考になる部分があれば幸いです!

やったこと

新機能リリース

業務で、React + Laravel を使ったWebアプリケーション開発を行っていました。

機能概要は、LINEのリッチメッセージにアクセス解析用のURLを設定する機能です。

11月の終わり頃、無事にリリースすることができました!

9月から取り掛かり始めて、苦節3ヶ月!

長かった……。

リリース後10日ほど経った時点では、バグ報告もなく、色々な方に使っていただけているようです!

今回のタスクに取り組んだことで、色々と勉強になったと感じました。

まずはReactについて学べたのが良かったです。

状態管理やコンポーネントの作り方など、ペアプロを通じてたくさん学ぶことができました!

また、デザインレビューを受けたのも勉強になりました。

StorybookとFigmaを使用した開発フローを初めて経験しました。

特にStorybookは本当に便利ですね!

これからも色々なツールを経験していきたいところです。

読んだ本

キングダム(51 〜 73巻)

時は紀元前――。いまだ一度も統一されたことのない中国大陸は、500年の大戦争時代。苛烈な戦乱の世に生きる少年・信は、自らの腕で天下に名を成すことを目指す!! 2013年、第17回手塚治虫文化賞マンガ大賞受賞!

現時点での最新刊まで読み終えました。

熱い展開ですね〜!

個人的に桓騎が好きなので、活躍してくれて嬉しかったです。

続きが気になる!

スティーブ・ジョブズ

取材嫌いで有名なスティーブ・ジョブズが唯一全面協力した、本人公認の決定版評伝。全世界同時発売!

未来を創った、今世紀を代表する経営者スティーブ・ジョブズのすべてを描き切った文字どおり、最初で最後の一冊!!

本書を読まずして、アップルもITも経営も、そして、未来も語ることはできない。

アップル創設の経緯から、iPhone iPadの誕生秘話、そして引退まで、スティーブ・ジョブズ自身がすべてを明らかに。本人が取材に全面協力したからこそ書けた、唯一無二の記録。

Apple創業者、スティーブ・ジョブズ氏の伝記です。

氏の人柄や、どのような経緯でAppleを創り、プロダクトを生み出していったかを知ることができました。

良くも悪くも、台風の目みたいな人だったそうです。

プロダクトに対する意欲や想いが強すぎて、わがままになっていったんでしょうね。

わがままでいてくれたおかげで、数々の素晴らしいプロダクトを生み出したと考えると、なかなか感慨深いものがあります。

ガンツ

地下鉄のホームで撥ねられ死んだはずの玄野、加藤は謎のマンションの一室に一瞬にして転送される。そこに置かれた得体の知れない黒い球の指令により、ねぎ星人の暗殺を命じられた玄野らは、状況を把握できないままねぎ星人の元へと転送される。マンションにいた仲間によってねぎ星人は殺されるが、新たなねぎ星人が現れ…。

ずっと読もうと思っていた「ガンツ」を読みました!

面白かったです!

展開が早くて先が予想できない感じがいいですね!

般若とおかめ、カッコよすぎます!

観て良かった映像作品

攻殻機動隊 STAND ALONE COMPLEX

西暦2030年、日本。情報ネットワーク化が進む中、犯罪を一掃する攻性組織が設立された。内務省直属独立部隊、公安9課。通称「攻殻機動隊」だ。彼らの任務は、電脳犯罪への対処、要人警護、政治家の汚職摘発など多岐に渡る。“少佐”と呼ばれるサイボーグ・草薙素子を中心に、9課はネットに潜む犯罪に立ち向かう!

何年かぶりに観ました。

やっぱり安定の面白さ。

今回はじめて気づいたんですが、笑い男の討論会にいた司会者の人(オンバ)が、アオイ君の友達だったんですね!

字幕ONにしてたので気づきました。

(あ、オンバってあの人か!みたいな)

いつ観ても色褪せない傑作だと思います。

その他

その他、今月やったことなどを雑に記載します。

高尾山に登った

www.takaotozan.co.jp

高尾山は好きで、よく行きます。

今回は、高尾山口駅からケーブルカーの降り口までを登り降りしてきました。

自然が豊かで癒されました。

結構いい運動になるので、癒されつつ運動不足の解消もできるという素晴らしい場所です。

今度は頂上まで登ってみます!

社内勉強会でLTをした

「なぜ、コメントを書くべきなのか?」というテーマでLTをしました。

speakerdeck.com

先月まで読んでいた「A Philosophy Of Software Design」という書籍の中から、コメントに関する内容をまとめたものです。

LTをすると毎回思うのですが、LTすることが一番勉強になりますね。

これからも積極的に発信していきたいと思います!

今月やりたいことなど

今月は、まずは業務を精一杯こなして実力をつけたいです!

タスクとしては新規の画面作成を行う予定なので、フロントエンド・サーバーサイドどちらも経験しつつスキルを上げていきたいですね。

あとは年末なので、色々と掃除したり、友人や知り合いに挨拶しながら過ごしたいと思います。

12月22日のM-1グランプリが楽しみですね〜!


YouTube登録者数は現在3,000名ほどです。

Bass Tabs (Yajima)

変わらず、週1ペースで動画をアップしています。


以上です!

感想などありましたらお気軽にコメントください!

2024年10月の振り返り

はじめに

この記事は、2024年10月に私が何をやっていたのかを振り返る記事です。

なにかみなさまの参考になる部分があれば幸いです!

やったこと

React + Laravel を使った開発業務

業務で、React + Laravel を使ったWebアプリケーション開発を行いました。

一人だと行き詰まってしまいがちだったので、積極的に声をかけてペアプロをさせてもらっていました。

ペアプロって本当に勉強になりますね。

特に自分の方が経験が浅い場合は、新しいスキルを習得できている感があってとても楽しかったです!

(実際にはSlackのハドルで画面共有しながらやっていました)

人によって開発スタイルが全然違う、というのも気づきの1つでした。

例えば、Aさんは細かくデバッグしながら実装を進めるのに対し、Bさんは一通り実装し終えてから動かしてみる、といったような具合です。

自分とは違ったスタイルの開発が体験できるのはとても貴重な経験だなと感じました!

また、ペアプロのいいところは「雑談ができる」ところだと思います。

弊社(株式会社DMM Boost)はフルリモートなので、雑談の機会があまりありません。

ミーティング以外で人と話す機会がない状態なので、ペアプロでゆっくりお話しできるのは楽しかったです!

せっかく同じ会社で同じ時間を共有しているので、できるだけお話ししたいな〜という気持ちで日々過ごしております。

タスク自体は11月も引き続き進めていくので、ペアプロもどんどんやっていこうと思います!

読んだ本

竜馬がゆく(5〜7巻まで)

https://amzn.asia/d/faUaPpX

幕末維新史上の奇蹟といわれる坂本竜馬。土佐の郷士の次男坊、しかも浪人の身でありながら、大動乱期に卓抜した仕事をなしえた。 竜馬の劇的な生涯を中心に、同じ時代をひたむきに生きた若者たちを描く、大歴史ロマン。

坂本竜馬の生涯を描いた小説です。

全8巻で、7巻まで読みました。

(今8巻を読んでいます)

ついに大政奉還を実現して倒幕しよう!というところまで来ました!

竜馬の他にも倒幕をしようとする人はたくさんいたようですが、誰も「倒幕した後どうするか」を考えていない、という記述が印象的でした。

その辺りの視野の広さ、長期的な視点が竜馬の魅力なんでしょうね。

もう少しで読み終わるので、引き続き読んでいきます!

A Philosophy of Software Design

A Philosophy of Software Design

ついに読み終わりました!

コメントについて書かれた箇所が印象的だったので、別に記事を書きました。

tech-yajima.hatenablog.com

読み終えた後は、「設計したい!!」というワクワクと、「ようやく読み終わった……」という清々しさで爽やかな気分になりました!

エンジニアとして働いている方であれば読んで損のない本だと思います!

おすすめです。

しかし、5月から読み始めて、読み終わるまで半年くらいかかりました。

無事に読み終えることができてよかった!

観て良かった映像作品

6才のボクが、大人になるまで。

「ビフォア・ミッドナイト」のリチャード・リンクレイター監督が、ひとりの少年の6歳から18歳までの成長と家族の軌跡を、実際に12年をかけて撮影したドラマ。

主人公の少年メイソンを演じるエラー・コルトレーンを筆頭に、母親役のパトリシア・アークエット、父親役のイーサン・ホーク、姉役のローレライ・リンクレーターの4人の俳優が、12年間同じ役を演じ続けて完成された。

観はじめてしばらくして、「あれ?これってもしかして……」と思って調べたら、案の定でした。

同じ俳優さんを12年間通して撮影しているそうです!

どんどん成長していく登場人物たちをみて、不思議な感動を覚えました!

ストーリー的にはなんて事のない淡白な内容ですが、とても楽しく観られました!

ほっと一息つける映画だと思います。

「チ。 ―地球の運動について―」

anime-chi.jp

15世紀のヨーロッパ某国。飛び級で大学への進学を認められた神童・ラファウ。

彼は周囲の期待に応え、当時最も重要とされていた神学を専攻すると宣言。

が、以前から熱心に打ち込んでいる天文への情熱は捨てられずにいた。

ある日、彼はフベルトという謎めいた学者と出会う。

異端思想に基づく禁忌に触れたため拷問を受け、投獄されていたというフベルト。

彼が研究していたのは、宇宙に関する衝撃的な「ある仮説」だった――。

毎週の放送を楽しみにしている作品です!

「地動説」という、今では当たり前の説にまつわるストーリーです。

さらっと人が死んだりして、先が読めない展開にドキドキしながら観ています!

漫画を買うべきなのか、あえて買わずにアニメで少しずつ観ていくべきなのか、迷っています!

(多分漫画を買います)

まだ観ていない方はぜひ!

その他

その他、今月やったことなどを雑に記載します。

ブルーノート東京へいった

ブルーノート東京で、ビッグバンドのライブを観てきました。

GORDON GOODWIN'S BIG PHAT BAND "25th Anniversary"

www.bluenote.co.jp

ブルーノートはいつ行ってもおしゃれで素敵な空間ですね。

飲み物・食べ物も美味しくて、満足度が高いです!

BIG PHAT BANDのライブは初めて観ましたが、とても楽しかったです!

ただ演奏して終わり、ではなく、合間のMCも力を入れており、お客さんを楽しませようとしているのが伝わって来ました。

本当に楽しくて、あっという間の公演でした!

やっぱりライブはいいな〜!

またいつか行きたいです!

草津旅行

1泊2日で群馬の草津に行って来ました。

湯畑はいつ行っても壮観ですね。

www.kusatsu-onsen.ne.jp

草津の温泉は、入るとす〜っと疲れが取れるので好きです。

ここ数年は毎年のように行っています!

秋に行くのが過ごしやすくていいかもしれませんね。

……とみんな考えたからなのか、道中はとんでもなく渋滞していました!

今回はレンタカーで行ったのですが、行き帰りともに5〜6時間くらいかかったように思います!

渋滞予報とかを事前に情報収集しておいた方がよかったかな、と勉強になりました。

ところで、レンタカーで日産のノートという車を借りたのですが、とても乗り心地が良かったです。

装備も充実していて、運転していて楽しかったです!

特にワンペダル走行ができるのが個人的には楽しかったです。

運転が楽で、車内も静かで素晴らしい車だなと思いました!

(購入を検討しています)

今月やりたいことなど

今月は、ひとまず今取り組んでいるタスクを完了させたいです!

あともう少しで終わるところまで来ているので、気を抜かずに進めていきます。

竜馬がゆくも読み終わるので、次に何読むかも考えておかないと。

そろそろガンツ読もうかな〜。

でもキングダムの51巻以降も読みたいんですよね〜。

技術書も読みたい本がたくさんある!

時間を見つけて読んでいきます!


YouTube登録者数は現在2,600名ほどです。

Bass Tabs (Yajima)

変わらず、週1ペースで動画をアップしています。


以上です!

感想などありましたらお気軽にコメントください!

広告を非表示にする

なぜコメントを書くべきなのか?(A Philosophy Of Software Designより)

はじめに

みなさま、自身の書いたコードに対してコメントは書いていますか?

プログラミングをする猫

「A Philosophy Of Software Design」という書籍を執筆したスタンフォード大学の John Ousterhout 教授(以下、ジョン先生)によると、「コメントは書くべきである」と述べられています。

この記事では、「A Philosophy Of Software Design」(以下、本書)の内容をまとめつつ、コメントの書き方などについてお伝えしていきます!

https://amzn.asia/d/01sltWs

なお、コメントについては t_wada 氏が意見を表明してくれており、私も完全に同意します。

本書のジョン先生の意見も上記内容に近いのかな、と感じたのでご紹介させていただきました。

それでは本編どうぞ!

なぜコメントを書くべきなのか?

本書によると、なぜコメントを書くべきかというと「設計の質を向上させられるから」です。

コメントを書くことで、以下のメリットがあります。

  • メリット1. システムの複雑性を隠蔽することができる
  • メリット2. 処理内容を抽象化できる
  • メリット3. 読み手が、コードを読まなくても良くする

上記をメリットによって、コメントを書くことで設計の質を向上させることができるようになります。

「いいコードはコメントが不要である」という考えについて

よく、「いいコードはコメントが不要である」と言われます。

本書の著者であるジョン先生は、この考え方には否定的です。

なぜなら、コメントがないコードに対しては、開発者はすべての実装を読まなければならなくなるためです。

「いいコードはコメントが不要である」と主張する人は、「メソッドを細かく作り、メソッド名を見れば処理内容が分かる」と考えています。

例えば以下のようなイメージでしょうか。

    public function validate(array $data): bool
    {
        return $this->isEmailPresent($data) &&
               $this->isPasswordPresent($data) &&
               $this->isEmailValid($data['email']) &&
               $this->isPasswordValidLength($data['password']);
    }

    private function isEmailPresent(array $data): bool
    {
        return !empty($data['email']);
    }

    private function isPasswordPresent(array $data): bool
    {
        return !empty($data['password']);
    }

    private function isEmailValid(string $email): bool
    {
        return filter_var($email, FILTER_VALIDATE_EMAIL) !== false;
    }

    private function isPasswordValidLength(string $password): bool
    {
        return strlen($password) >= 8;
    }

細かくメソッドを分けたおかげで、スラスラ読めるいいコードに感じます。

しかし、ジョン先生はこう主張します。

if you write code with the expectation that users will read method implementations, you will try to make each methods as short as possible, so that it's easy to read.

...

This will result in a large number of shallow methods.

(訳)

もしユーザーがメソッドの実装を読むことを想定してコードを書くのであれば、読みやすいように各メソッドをできるだけ短くしようとするでしょう。

(中略)

その結果、浅いメソッドが大量にできてしまいます。

浅いメソッドが大量にできると、システム全体の複雑性が増してしまいます!

複雑性を抑えるために、コメントを書いてメソッドを深く(責務を大きく)しようということです。

また、コメントがないコードを理解するには、実装を読まなければなりません。

実装を読まなければならないということは、抽象化ができていないコードということです。

抽象化ができていないコードは変更に弱く、いいコードとは言えません。

よって、コメントを書くことでメソッドを深くし、抽象化を実現しようというのがジョン先生の主張です。

不要なコメント1. :初見の人が書けるコメント

そのコードを初めて読む人が書けるコメントは、不要です。

なぜなら、読み手に有益な情報を提供できていないためです。

例えば、以下は不要なコメントの例です。

/**
 * テキストの横方向の余白
 */

public static int $textHorizontalPadding = 4;

コードをただ繰り返すようなコメントは、価値がありません。

以下は、上記コメントを改善した例です。

/**
 * 各行のテキストの左右に残す空白の量(ピクセル単位)
 */

public static int $textHorizontalPadding = 4;

上記のように、明確で詳細なコメントは、読み手に価値を提供します。

不要なコメント2. :あいまいなコメント

// respバッファ内の現在のオフセット
public int $offset;

上記のコメントは、あいまいで読み手に確かな情報を提供できていません。

「現在の」とはどういうことでしょうか?

以下のようなコメントによって、確かな情報を提供しましょう。

// クライアントにまだ返されていない最初のオブジェクトの、
// このバッファ内での位置
public int $offset;

不要なコメント3. :実装の詳細

/**
 * オブジェクトが RESULT_READY かどうかを確認します。この関数は
 * DCFT モジュール内で実装されており、isReady() の各実行は
 * 少しずつ処理を進めます。そして、getNext() はisReady() を 
 * while ループ内で呼び出し、isReady() が true を返すまで繰り返します。
 * 
 * isReady() はルールベースで実装されています。特定の順序に従って
 * ルールを確認し、ルールが満たされた場合には特定のアクションを実行します。
 */

public function isReady(): bool { ... }

実装の詳細ではなく、抽象化した情報をコメントに記載しましょう。

良いコメントの例は以下の通りです。

/**
 * インデックス付き読み取りが十分に進行しており、
 * getNext を実行する準備ができたかどうかを取得します。
 * このメソッドはインデックス付き読み取りの実作業の大部分を行うため、
 * インデックス付き読み取りを進めるためには、(直接的に、または getNext を
 * 呼び出すことで間接的に)このメソッドを呼び出す必要があります。
 */

実装ではなく、抽象化した処理内容を記述することで、読み手に有益な情報を提供できます。

コメントは、コードでは明確でない部分を明らかにする

コメントは、コードからは明確でない部分を明らかにするために書きましょう。

例えば、単位が何なのかをコメントで記載しておくとよいでしょう。

まずコメントを書こう!

ジョン先生は、コードを書き始めるより先にコメントを書くべき、と主張しています。

Write The Comments First

設計段階でコメントを書くことで、以下のメリットがあります。

  • メリット1. 質の高いコメントが書ける
  • メリット2. 設計を改善できる
  • メリット3. コメントを書くのが楽しくなる

メリット1. 質の高いコメントが書ける

コードを書くより前にコメントを書くことで、質の高いコメントが書けるようになります。

なぜなら、設計の意図をコメントできるからです。

逆に、コードを書いた後に書くコメントは、質が低くなりがちです。

なぜなら、コードを見直しながらコメントを書くことになるので、コードの内容をそのままコピーしたようなコメントになってしまうためです。

メリット2. 設計を改善できる

コメントを先に書くことで、設計を改善することができます。

なぜなら、コメントを書くことが設計を見直すきっかけになるためです。

コメントを先に書くと、複雑な処理の箇所はコメントがとても長くなってしまうことに気づきます。

そこで、簡単な処理で同じ結果を得られないか?と考えるようになります。

コメントを書きづらい箇所は、何らかの複雑性を抱えています。

コメントを先に書くことで、そうした複雑性の存在に前もって気づくことができ、どうやったら複雑性を少なくできるか?を考えることができるようになり、結果的に設計を改善することができます。

メリット3. コメントを書くのが楽しくなる

コメントを先に書くことで、コメントを書くのが楽しくなります。

なぜなら、コメントを書く、=設計はソフトウェア開発の醍醐味だからです。

複雑な処理内容を、いい設計によってシンプルにしていく過程はとても楽しいものです。

ただ目の前の処理をコードによって実装していくよりも、コメントによって全体を俯瞰しながら開発していく方が楽しいでしょう!

コメントを先に書くことによって、開発を楽しみましょう!

まとめ

今回は、「A Philosophy Of Software Design」という書籍をもとに、コメントについて書かれた箇所をまとめました。

コメントを書くことで、以下のメリットがあります。

  • メリット1. システムの複雑性を隠蔽することができる
  • メリット2. 処理内容を抽象化できる
  • メリット3. 読み手が、コードを読まなくても良くする

特にソフトウェア開発においては、コードを書く前にコメントを書くことをおすすめします。

コメントを先に書くことによって、以下のメリットがあります。

  • メリット1. 質の高いコメントが書ける
  • メリット2. 設計を改善できる
  • メリット3. コメントを書くのが楽しくなる

私も、開発時には積極的にコメントを書くようにします!

以上です。

広告を非表示にする

2024年9月の振り返り

はじめに

この記事は、2024年9月に私が何をやっていたのかを振り返る記事です。

もしみなさまの参考になる部分があれば幸いです!

やったこと

株式会社DMM Boost入社

株式会社DMM Boostに、フルスタックエンジニアとして入社しました!

hassyadai.notion.site

私は前職までバックエンドエンジニアだったのですが、フロントもキャッチアップするということで現職ではフルスタックエンジニアとしての採用となりました。

9月はオンボーディングとして、簡単なタスクをこなしながら、ドメインや技術要素についてキャッチアップしました。

どんな技術要素をキャッチアップしたかというと、以下の通りです。

フロントエンド

  • Zod
    • バリデーションライブラリ
  • Vitest
    • モダンなテストツール
  • Storybook
  • SWR
    • Reactの状態管理ライブラリ
  • React Hook Form
    • React のフォーム作成ライブラリ

バックエンド

  • Laravel Admin
    • Laravel で管理画面を作成するためのライブラリ

勉強することが多くて大変です! でも、少しずつ手を動かせるようになってきました。 やっぱり新しいことを学ぶのは楽しいですね〜。

主にYouTubeの動画を見ながら学んでいました。

「プログラムチュートリアル」チャンネルをよく見ています。

www.youtube.com

実際にコードを書きながら説明してくれるので頭にスッと入ってくる気がします!

読んだ本

竜馬がゆく(1〜4巻まで)

https://amzn.asia/d/faUaPpX

幕末維新史上の奇蹟といわれる坂本竜馬。土佐の郷士の次男坊、しかも浪人の身でありながら、大動乱期に卓抜した仕事をなしえた。 竜馬の劇的な生涯を中心に、同じ時代をひたむきに生きた若者たちを描く、大歴史ロマン。

坂本竜馬の生涯を描いた小説です。

全8巻で、今の所4巻まで読みました。

竜馬が倒幕に至った過程を追いながら、当時の情勢などを追体験できる小説です!

新撰組や清河八郎、武市半平太など、歴史上の人物が多く登場するので読んでて楽しいです!

読み始めたきっかけは、以下の動画です。

www.youtube.com

最近中野社長の動画にハマっています!

もしご興味あればチェックしてみてください!

A Philosophy of Software Design(途中)

A Philosophy of Software Design

先月から引き続き、じっくり読んでいます。

半分ちょいくらいまで読みました。

コメントを書くべきか書かないべきか、という記述が印象的でした。

結論としては、コメントは書くべきだそうです。

なぜなら、コードからでは得られない情報がコメントには含まれているためです。

例えば、「なぜその実装を行なったか」「どういう値が来るとどういう結果になるか」などです。

ただし、前提として「コメントが不要なくらい分かりやすいコードを書く」という視点も必要です。

分かりやすいコードを書いた上で、それでもなおコメントを書くべき、とのことです!

個人的にも、コメントはあった方がいいと思います。

なぜなら、メンテナンスが楽になるためです。

コメントはきちんと書こうと決意しました!

観て良かった映像作品

オッドタクシー

オッドタクシー

oddtaxi.jp

平凡な毎日を送るタクシー運転手・小戸川。

身寄りはなく、他人とあまり関わらない、少し偏屈で無口な変わり者。

趣味は寝る前に聞く落語と仕事中に聞くラジオ。 一応、友人と呼べるのはかかりつけでもある医者の剛力と、高校からの同級生、柿花ぐらい。

彼が運ぶのは、どこかクセのある客ばかり。

バズりたくてしょうがない大学生・樺沢、何かを隠す看護師・白川、

いまいち売れない芸人コンビ・ホモサピエンス、

街のゴロツキ・ドブ、売出し中のアイドル・ミステリーキッス… 何でも無いはずの人々の会話は、やがて失踪した1人の少女へと繋がっていく。

ほんと面白いです!

もっと早く観ればよかったと思いました!

もし未視聴の方はぜひみてみて下さい!

あまりに面白かったので、アニメだけでなく映画とオーディオドラマ?も見てしまいました。

おすすめです。

セブン

セブン

退職を間近に控えたベテラン刑事サマセットと若手刑事ミルズは猟奇連続殺人事件の捜査にあたる。犯人はキリスト教における7つの大罪に基づいて殺人を繰り返していることが明らかに。やがてサマセットとミルズは容疑者を割り出すが、その人物に逃げられ、さらにミルズの素性が知られていたことも発覚する。そしてさらなる殺人事件が続いた後、驚愕の事態が……。独特のビジュアルセンスとダークな物語が話題を呼んだ戦慄のサスペンススリラー。

10年ぶりくらいに観ました。

割と暗めの作品なので、元気な時に観て下さい!

全体的な雰囲気がいいですよね〜。

退廃的というか、寂れた感じというか。

緊迫感があってドキドキしながら鑑賞できます。

個人的にデビッド・フィンチャー監督作品は好きです!

「ファイト・クラブ」「ゾディアック」など、いろいろ観ています!

どれもおすすめですよ!

その他

その他、今月やったことなどを雑に記載します。

AirPods Max を買ったけど返品した

Appleのイベントがあり、新型iPhoneやAirPods Max などが発表されました。

私はAirPods Maxを買いました。

しばらく使ってみたのですが、私には合わないと感じたので返品しました。

合わないと感じたポイントは以下の通りです。

  • 音質がイマイチだと感じた
  • 重いと感じた
  • 電池持ちが悪いと感じた

ちょっと期待しすぎたのかもしれません。

今持っているSonyのWH-1000XM4で十分かな、と思ってしまいました。

返品は簡単にできました!

また新型などが出たら買ってみたいと思います!

今月やりたいことなど

今月は、仕事にフォーカスしたいと思います!

今取り組んでいるタスクが重めなので、色々な人の助けを借りながら進めていきたいです。

10月中旬には草津温泉に旅行に行くので、それも楽しみに過ごします!


YouTube登録者数は現在2,400名ほどです。

Bass Tabs (Yajima)

変わらず、週1ペースで動画をアップしています。


以上です!

感想などありましたらお気軽にコメントください!

広告を非表示にする

2024年8月の振り返り

はじめに

この記事は、2024年8月に私が何をやっていたのかを振り返る記事です。

もしみなさまの参考になる部分があれば幸いです!

やったこと

任意継続手続き

8月は会社に所属しないので、厚生年金の任意継続手続きを行いました。

これを行わないと、国民年金への切り替えが発生してしまって手間がかかるためです。

手続きは全て書面で完結しました。

保険協会のHPから書面をダウンロードし、コンビニで印刷し、身分証明書のコピーと同封して送りました。

便利な世の中ですね〜!

Laravelの書籍を読んだ

Laravelの書籍「PHPフレームワーク Laravel実践開発」を読みました。

読み始めたきっかけは、9月からLaravelを使用しているプロダクト開発に参画するためです。

しばらくLaravelから離れていたので、新鮮な気持ちで読むことができました!

またLaravelを使えるのが楽しみです!

読んだ本

今月は時間があったので、いつもより多くの本を読みました。

DMM.comを支えるデータ駆動戦略

9月からDMMグループに加わるので、事前学習として読みました。

あまりにも勉強になったので、記事も書いています。

tech-yajima.hatenablog.com

A Philosophy of Software Design(途中)

A Philosophy of Software Design

先月から引き続き、じっくり読んでいます。

ようやく半分くらい読み終えました。

アンクル・ボブ氏との比較が面白いです。

アンクル・ボブ氏「処理は細かくメソッド化すべし!」

ジョン先生:「むやみにメソッドを増やすのはやめるべし!」

引き続き読み進めていきます!

キングダム(50巻まで)

キングダム、面白いですね。

先月は1〜30巻まで読んで、今月は50巻まで読みました。

李牧が強すぎます!

今月は51巻から最新刊まで読もうと思います。

檸檬(梶井基次郎)

たまには純文学を読もう!と思い立ち、手に取りました。

www.aozora.gr.jp

旅行先で読むにはぴったりの本でした。

人生の儚さと、儚いがゆえの美しさに触れることができたと感じます。

おすすめです!

速習 ECMAScript6

JavaScriptの基本をざっと復習するために読みました。

https://amzn.asia/d/afrjJ1c

そういえばJavaScriptでクラスを使えるようになったんですよね。

他にも、export default についてなど、改めていろいろと学ぶことができました。

Kindle Unlimited会員であれば無料で読めるので、ぜひ!

エレガントパズル

いわゆるEMについて学べる書籍。

マネジャーの方はぜひ読んでみてください!

シグルイ

江戸時代初頭、天下の法に反して駿河城内で挙行された真剣御前試合で対峙したのは、片腕の若武者と盲目の天才剣士だった!!

残酷無惨時代劇!!

ずっと読みたいと思いつつ機会がなかった漫画を読みました。

読み出したら止まらず、一気に読み切ってしまいました!

単に「面白かった」では到底言い表せない、なんともすごい作品を読んだ、というのが感想です。

江戸時代というのは、人の命よりも大事なものがあった時代なんですよね。

そんな時代に生きた剣豪たちの、誇りをかけた戦いを描いた作品です。

間違いなく私のこれまで読んだ漫画の中で最も印象的な作品の1つになると思います!

グロシーンが多いので、万人にはおすすめできません。

もしグロが平気な方はぜひご一読ください!

championcross.jp

南の子供が夜いくところ

恒川光太郎氏のホラー小説です。

怖いんだけど、すっきりとした読後感で読みやすいです。

夏にホラー小説を読むの、結構好きです。

https://amzn.asia/d/jbeD2En

ちなみに、恒川光太郎氏の作品で一番好きなのは「夜市」です。

未読の方はぜひ読んでみてください!

観て良かった映画

地面師たち

映画ではなくドラマですが、面白かったのでご紹介します。

www.netflix.com

100億円の市場価値を持つ希少な土地に目をつけた地面師詐欺集団は、あらゆる手段を使って前代未聞の巨額詐欺を成功させようとするが...。

実際に起きた不動産詐欺事件をモチーフにした、クライムサスペンスです。

世の中の暗い面をスタイリッシュに描いていて、とても魅力的でした!

あまりに面白かったので、原作の小説も買って読みました。

原作とドラマの差分が結構あるので、その辺りの比較もしつつ楽しく読めました!

また時間を置いて観直したい作品です。

ドミノ

ベン・アフレック主演、ロバート・ロドリゲス監督の作品です。

オースティン警察の刑事ダニー・ローク(ベン・アフレック)は、最愛のひとり娘ミニーを失った悲しみから立ち直れずにいる。

容疑者が逮捕されたにもかかわらず、彼は誘拐したことも、どこに連れて行ったのかもまるで思い出せないというのだ。

そんなある日、ロークと相棒ニックス(JD・パルド)は、特定の貸金庫を狙った強盗が計画されているという匿名の通報を受け、銀行に向かった。

gaga.ne.jp

めぐるましい展開で、最後までドキドキしながら観ることができました!

何を書いてもネタバレになりそうなので、感想は割愛します!

とにかく面白かったです。おすすめです!

ザ・ファーム 法律事務所

ハーバード大学を優秀な成績で卒業したミッチはある法律事務所から内定を受ける。

最高の労働条件を提示され、大喜びで就職するミッチ。

だが、この事務所には謎の死を遂げた4人の弁護士がいたことが判明。

やがてミッチは事務所とシカゴ・マフィアの繋がりを知り……。

マフィアのボスを相手に、青年の必死の攻勢を描くスリル満点のサスペンス。

eiga.com

やたらと高年収・好待遇の会社に就職したら、マフィアと繋がっていた!逃げられない!みたいな映画です。

主人公の機転と、奥さんへの愛情が伝わってくる映画です。

「人生で本当に大切なことってなんだろう?」と考えさせられました。

タイタニック

eiga.com

言わずと知れた傑作です!

なんとなくまた観たくなったので観ました。

ジャックとローズ、美しい2人が美しい豪華客船で過ごす様は本当に見応えがあります。

登場人物も皆それぞれに印象的で、素敵な作品ですね。

あらためて、ジャックを助けてくれたモリーさんがいい人だと感じました。

私もモリーさんのように、自然と人助けができる人になろうと思います!

その他

その他、今月やったことなどを雑に記載します。

マジカル・アイを始めた

マジカル・アイはある絵をじっと見ていると、その絵の中からそれまでまったく見えていなかった別の絵が浮かんできたり、絵そのものが立体的になって見えてくるというもの。

1日3分!

楽しみながら視力回復。

近視・乱視・老眼に悩む人から大好評。

tkj.jp

最近、視力の低下が著しいと感じているので始めてみました。

毎日3分ほど、適当なページの絵を立体視しています。

まだあまり効果は感じていません。

しばらく続けてみます!

沼津旅行(3泊4日)

静岡県沼津市に旅行へ行きました。

www.city.numazu.shizuoka.jp

お目当ては、「沼津港深海水族館」です。

www.numazu-deepsea.com

シーラカンスの実物標本、ダイオウグソクムシなど見どころがたくさんありました!

夏休みの家族連れでとても賑わっており、楽しい雰囲気で過ごすことができました。

他にも以下の場所に行きました。

沼津は魚介が美味しいですね〜!

晩御飯は毎日「沼津魚がし鮨」というお店のお寿司を食べていました。

また行きたいです!

軽井沢旅行(2泊3日)

避暑地として人気のある軽井沢に、妻と行きました。

主に以下のことをやりました。

  • バギー体験
  • ハーバリウム作り
  • ジップライン
  • アウトレットで買い物

軽井沢、いいですね。

涼しくて、ご飯が美味しくて、空気も澄んでいて素晴らしかったです!

個人的に、野菜が美味しいのが本当に素晴らしいと思いました。

今月やりたいことなど

最後に、2024年9月にやりたいことを書いて終わります。

9月はいよいよ新しい会社にて勤務が始まります!

株式会社DMM Boostという会社です。

hassyadai.notion.site

DMMグループの1つで、主にBtoBのSaaSを展開しています。

私は新入りなので、とにかく仕事に慣れることを最優先したいと思います!

どんな人と出会えるのか、楽しみです!


YouTube登録者数は現在2,100名ほどです。

Bass Tabs (Yajima)

変わらず、週1ペースで動画をアップしています。


以上です!

感想などありましたらお気軽にコメントください!

広告を非表示にする