2023.10.25 WEBシステム開発 Codeigniter4.4が出ていたので簡単なフォームを作りながら基礎を学んでみる 皆さんがPHPアプリケーションのフレームワークと聞いて何を思い浮かべますでしょうか? 筆者は弊社アプリケーション開発でもよく使われるCodeIgniter3やSlim4が真っ先に思い浮かびます。 その中でもCodeIgniterはバージョン3を使っており、バージョン4がリリースされた当初に使ってみ [...]
2023.10.25 WEBシステム開発 【Go】standard libraryのtext/templateを使って、簡単に文字列を作成・加工しよう! 現在開発中のアプリケーションで実装するメール送信機能には、送信先ごとにメール本文の一部を個別にカスタマイズする仕様が存在します。 これを実装するにあたって、Goのtext/templateパッケージの機能がとても役に立ったので、今回も備忘録代わりにまとめてみました。 それでは早速使い方を見ていきま [...]
2023.10.13 WEBシステム開発 安全性、速度、並行性を兼ね備えた言語と、巷でうわさの「Rust」を覗いてみる(スマートポインタ編 その1) “うわさの「Rust」を覗いてみる”シリーズ10回目の今回は、Rustのスマートポインタについて見ていきたいと思います。 うわさの「Rust」を覗いてみるシリーズ 過去の記事 その1 公式のガイドに沿って入門してみる その2 変数を覗いてみる その3 所有権を覗いてみ [...]
2023.10.06 WEBシステム開発 簡単に迅速に認証機能が作れる Laravel Breeze を理解したい(基本編) 皆様、認証機能はお好きですか? 少し前ですが、ばねさんがLaravelについての記事 今話題のPHPフレームワーク「Laravel」を使ってみた(準備編) 今話題のPHPフレームワーク「Laravel」を使ってみた(実装編) を書いていたので、それに乗っかった記事を書いてみようと思ったところ [...]
2023.09.22 WEBシステム開発 話題のAIソフトウェア開発向けプログラム言語『Mojo』を使ってみた 『Mojo』は2023年5月2日にModular Inc. から発表されたAI開発用のプログラム言語です。 https://www.modular.com/mojo 特徴としては、Pythonのスーパーセットとして設計されていることと、約35,000倍とも公式が謳っている処理速度です。 『Mojo [...]
2023.09.13 WEBシステム開発 複数OSに対応しているchezmoiを使ってdotfilesを効率的に管理する 9月に入っても残暑が厳しいこの頃ですね。 皆さん環境構築していますか? 今回は dotfiles を管理するツールである chezmoi をご紹介します。 dotfiles とは CUIで使用するユーザ固有のアプリケーションの設定は、ドットファイル(ファイル名が dot(.)で始まるファイル)に保 [...]
2023.08.29 WEBシステム開発 Go1.18から実装されたジェネリクスの基本的な使い方をまとめてみた 業務でGoのジェネリクスに触れる機会があったので、自身の学習も兼ねてまとめてみました。 Goのジェネリクスの概要 Go1.18にジェネリクスの機能が搭載されました。この機能により、複数のデータ型に対して動作する関数や型が作成可能になりました。 ジェネリックな型や関数を使うには、対象に対して型パラメ [...]
2023.08.22 WEBシステム開発 VSCodeのGUI上からGit操作ができる拡張機能「GitHistory」が便利だった Git管理されているプロジェクトでGit操作を行う際、CLI上でgitコマンドを用いて操作する方が多いと思います。筆者もその一人です。 今回はそんなGit操作をVSCodeのGUI上から行える拡張機能を紹介していきます。 筆者の環境 php 8.1.20 git 2.25.1 導入方法 各種拡 [...]
2023.08.10 WEBシステム開発 プログラミングにおける並行処理と並列処理の違いとは?真に同時な並列処理はかけるのか? 今回はプログラミングにおける並行処理と並列処理についてみていきたいと思います。 「プログラミングにおける平行処理と並列処理の違いは何でしょう?」 これらは「同時に処理する」というイメージで、似たような概念のように思えますが、実際には異なるものです。 並行処理は、複数のタスクが同時に一つのCPUコア [...]
2023.07.26 WEBシステム開発 PHPのコード例でSOLID原則を理解する(ISP・DIP編)~保守性の高いソフトウェア開発の実現を目指して~ 今回も前回の「PHPのコード例でSOLID原則を理解する(LSP編)」の続きで、理解しているつもり、使えているつもり、になっているかもしれないSOLID原則をおさらいしていきます。 これまでの記事 前々回の記事:PHPのコード例でSOLID原則を理解する(SRP・OCP編)~保守性の高いソフト [...]
2023.07.25 WEBシステム開発 jotai v2.2.0 で入った atomWithDefault の破壊的変更による影響と対策 jotai v2.2.0 で atomWithDefault に破壊的変更が入った // suppose we have this const asyncAtom = atom(() => Promise.resolve(1)); const countAtom = atomWithD [...]
2023.07.12 WEBシステム開発 PHPのコード例でSOLID原則を理解する(LSP編)~保守性の高いソフトウェア開発の実現を目指して~ ご無沙汰しております。 今回も前回の「PHPのコード例でSOLID原則を理解する(SRP・OCP編)」の続きで、理解しているつもり、使えているつもり、になっているかもしれないSOLID原則をおさらいしていきます。 今回はSOLID原則のうちの、「L」にあたる、 LSP(Liskov Substit [...]
2023.07.12 WEBシステム開発 TypeScript で引数の値によって返り値の型を絞り込みたい!!! やりたいこと 引数に “A” | “B” の Union 型を取る 引数の値が A の時は返り値の型は { readonly type: “A”, readonly foo: striin [...]
2023.07.10 WEBシステム開発 安全性、速度、並行性を兼ね備えた言語と、巷でうわさの「Rust」を覗いてみる(その9:スライス型) みなさまお久しぶりです。 今回は「The Rust Programming Language」を読みながら、 スライス型ついてみていきたいとおもいます。 参考 https://doc.rust-lang.org/book/ https://doc.rust-jp.rs/book-ja/ (日本 [...]
2023.04.04 WEBシステム開発 安全性、速度、並行性を兼ね備えた言語と、巷でうわさの「Rust」を覗いてみる(その8:参照と借用) みなさまお久しぶりです。 今回も「The Rust Programming Language」を読みながら、参照と借用についてみていきたいとおもいます。 参考 https://doc.rust-lang.org/book/ https://doc.rust-jp.rs/book-ja/ (日本 [...]
2023.03.17 WEBシステム開発 PHPのコード例でSOLID原則を理解する(SRP・OCP編)~保守性の高いソフトウェア開発の実現を目指して~ ご無沙汰しております。 前回の記事では「2023年はフロントエンドに関する記事を書きたいな」と言ってたのですが、ちょっと違うことに関する記事を書きたくなってしまいました。技術の移り変わりが激しいと言われる昨今ですが、もしかしたら筆者の関心の移り変わりの方が激しいかもしれません。 話を戻しまして、今 [...]
2023.03.13 WEBシステム開発 PHP8で名前付き引数が使えるようになっていたのでまとめてみた 前回の記事ではPHP8にて実装されたmatch式を紹介しました。 PHP8の変更点を調べていたところ、ついに名前付き関数が使えるようになったようなのでまとめてみようと思います。 INDEX名前付き関数とは?名前付き関数の利点引数の意味が自己文書化(self-documenting)される引数を任 [...]