2024.11.19 WEBシステム開発 CodeIgniter4でAPIを使用してランダムユーザーを生成する方法 今回は前回の天気情報取得に引き続き、APIを使用して簡単なアプリケーションを作成してみます。 今回のテーマは「ランダムユーザー生成」です。Random User Generatorを使って、ランダムなユーザーのプロフィールを取得し、webページ上に表示する仕組みを実装してみます。 前提 Ubun [...]
2024.10.22 WEBシステム開発 【Go】ベンチマーク機能を使って高速でメモリ使用量の少ないプログラムを書こう 先日、メモリ使用量をなるべく抑えたい処理を実装するにあたってGoのベンチマーク機能を使用しました。 今回はそのベンチマーク機能について記事を書いていこうと思います。 ベンチマークのコードの書き方 実際にベンチマーク機能で使うコードを書いてみます。 go func BenchmarkExampl [...]
2024.10.08 WEBシステム開発 Vitestでブラウザテストができる!? Browser Modeを試してみた 久々に Vitest のドキュメントを漁ったら experimental 段階ですが新しい機能が追加されていました。 昨今のフロントエンド界隈のエコシステムが更新されるスピードは早いですね。 参照Browser Mode | Guide | Vitest 今回は Vitest の実験的(expe [...]
2024.10.08 WEBシステム開発 Vue3でjQueryのdatepickerを使いたい!実装手順と注意点を解説します。 皆様、ご無沙汰しております。 今回は、先日Vue3とjQueryのDatepickerを組み合わせて実装する機会があったので、その方法と、つまずいたポイントおよび解決策についてご紹介したいと思います。 要件 日付の入力欄が複数個欲しい 入力欄の個数は任意で増減させることができる それぞれの入力欄 [...]
2024.09.27 WEBシステム開発 話題の『ChatGPT o1』をコーディングに使ってみた(ChatGPT 4oとの比較) 昨今ではもう世間に定着してきたChatGPTですが、2024年9月12日に新しいAIモデルの『ChatGPT o1』がリリースされました。 https://openai.com/index/introducing-openai-o1-preview/ 今回のモデルに関しては思考プロセスが洗練され、 [...]
2024.09.04 WEBシステム開発 安全性、速度、並行性を兼ね備えた言語と、巷でうわさのRustを覗いてみる(スレッド編 その4) 前回は、スレッド間でのメッセージの受け渡しについて見ていきました。 今回は、txをクローンして複数のスレッドからメッセージを送信する方法について見ていきたいと思います。 前回の「スレッド編 その3」はこちらからご覧いただけます。 参照 https://doc.rust-lang.org/boo [...]
2024.08.22 WEBシステム開発 CodeIgniter4でAPIを使用して天気情報を表示する方法 APIってなに?と聞かれても、具体的に答えることができないくらいの知識しか無かったので、 自身の学習も兼ねて、今回はAPIに着目していきたいと思います。 前提 ubuntu v22.04 PHP v8.1.2 CodeIgniter v4.5.1 APIとは Application Prog [...]
2024.08.22 WEBシステム開発 【Go】jsonパッケージのMarshalとUnmarshalはなんとなくわかったが、Encode, Decodeって何? 普段のコードでJSON関係の変換をする際にはjsonパッケージのMarshlとUnmarshalを使っているのですが、jsonパッケージの中に同じようにJSONを変換するEncoder型のメソッドEncode及びDecoder型のメソッドDecodeなるものを見つけ、いったいMarhsalとUnm [...]
2024.08.21 WEBシステム開発 TypeScriptの型定義がない外部ライブラリとmonorepoを組み合わせた時にTypeScriptのコンパイルエラーが発生して困ったこと 当社では CSS スタイリングではCSS Modulesを、日付選択(Datepicker)のライブラリにReact DayPickerを使用しています。 React DaypickerではCSSの型宣言はされているのですが、CSS Modulesの型定義ファイルがないため独自にCSSのスタイルを [...]
2024.08.21 WEBシステム開発 Vue3の非同期コンポーネントを使ってみる 皆様、いかがお過ごしでしょうか。 今回はVue3の非同期コンポーネントがどんなものか使いながら理解していきたいと思います。 インストール 筆者の環境は以下の通りです。 $ node -v v22.5.1 $ npm -v 10.8.2 Viteで開発環境を構築していきます。ESLintと [...]
2024.07.24 WEBシステム開発 安全性、速度、並行性を兼ね備えた言語と、巷でうわさのRustを覗いてみる(スレッド編 その3) みなさまお久しぶりです。 今回も「The Rust Programming Language」を読みながら、 スレッドについて見ていきたいと思います。 前回の「スレッド編 その2」はこちらからご覧いただけます。 参照 https://doc.rust-lang.org/book/ https: [...]
2024.07.12 WEBシステム開発 CodeIgniter4のコアクラスを拡張して使ってみた!(View編) CodeIgniter4には便利なコアクラスがいくつか導入されています。 ライブラリリファレンス コアクラスを使うことで、外部ライブラリを導入したときのバージョン問題や親和性がない等のリスクを減らせるのがコアクラスを使うメリットかと思います。 逆にコアクラスに実装されていないものに関しては、デフォ [...]
2024.07.12 WEBシステム開発 CodeIgniter4のコアクラスを拡張して使ってみた!(Validation編) CodeIgniter4には便利なコアクラスがいくつか導入されています。 ライブラリリファレンス コアクラスを使うことで、外部ライブラリを導入したときのバージョン問題や親和性がない等のリスクを減らせるのがコアクラスを使うメリットかと思います。 逆にコアクラスに実装されていないものに関しては、デフォ [...]
2024.06.28 WEBシステム開発 .envファイルを使わずにCodeIgniter4で環境変数を設定する方法 業務で、CodeIgniter4を使用して環境変数を設定する際に、.envファイルを使わずに環境変数を管理する方法に挑戦しました。 自身の学習も兼ねて、まとめてみました。 前提 ubuntu v22.04 PHP v8.1.2 CodeIgniter v4.5.1 Twig v3.10.3 環 [...]
2024.06.26 WEBシステム開発 【Go】最近のリリースで追加された新しい機能について調べてみた(min関数,max関数、clear関数、rangeを使ったforループの新機能) 以前記事にした機能の他にも最近のリリースで実装された新しい機能があるため、そちらについても調べてみました。 以前の記事 Go1.21で追加された「slicesパッケージ」とは?実際にパッケージ内の関数を使うコードを書いてみた。 Go1.21で追加された「mapsパッケージ」とは?実際にパッケー [...]
2024.06.11 WEBシステム開発 Storybook の「play 関数+ composeStories」を使用したテストで、MSW のハンドラを通らないケースの原因について 今回は Storybook に play 関数を定義して API コールをしている Story があり、その Story を composeStories 関数で再利用したテストで、時折テストが失敗する不安定なテストの原因とその対策についてです。 Storybook と MSW のバージョン S [...]
2024.05.28 WEBシステム開発 Laravel×Inertia×Vue3でファイルアップロード機能を作ってみた 5月も後半となり初夏の訪れを感じる時期となりましたが、みなさまはいかがお過ごしでしょうか? 私は、相変わらずバックエンドとフロントエンドを行き来するせわしない日々を送っています。 今回は、Laravel×Inertia×Vue3でファイルアップロードの機能を作ってみます。 前提 ubuntu v [...]