2025.01.16 WEBシステム開発 PHP7.4にアップグレードしたらTwigのエラーが大量発生!その原因と対処方法について 弊社では、PHPフレームワーク「CodeIgniter」とテンプレートエンジン「Twig」を活用し、アプリケーション開発を行うことが多々あります。 過去にCodeIgniterとTwigの連携方法を紹介しています。 CodeIgniter3にTwigを連携して使う CodeIgniter4にテン [...]
2024.12.26 WEBシステム開発 Go言語の標準ライブラリstringsパッケージについて調べてみた ~その1~ 今回は、標準ライブラリについて理解を深めようと思いstringsパッケージについて調べてみました。 stringsパッケージは、文字列操作を簡単かつ効率的に行うための豊富な機能を提供しているようです。文字列を操作する機会は多いと思うので、良い勉強になりそうです。 stringsパッケージ内の機能と [...]
2024.12.23 WEBシステム開発 Google Chromeの拡張機能を作ってみよう!【入門編】 日本においてトップシェアを誇るブラウザと言えば Chrome ですが、その Chrome の拡張機能を皆様使っていますでしょうか。 私もいくつかインストールして活用しているのですが、時々こういう拡張機能があったらなぁと思うことがあります。 でもなかなか、自分のニーズに合っていなかったり、日本語に対 [...]
2024.12.18 WEBシステム開発 WebSocketライブラリを使用して、シンプルなリアルタイム通知アプリを作成する方法 ふと、リアルタイム通信ってどうやって行っているのだろうと気になってしまいました。 リアルタイム通信の仕組みを理解するために、今回はWebSocketライブラリを使用して簡単なアプリケーションを作成してみます。 前提 Ubuntu 22.04 PHP 8.1.2 CodeIgniter 4.5.1 [...]
2024.12.12 WEBシステム開発 “開発者の”npmパッケージが原因で問題を解決できない! node_modulesのライブラリにパッチを当てる方法【最終手段】 今年も残すところあとひと月。気がつけば師も走る12月になりました。歳を重ねるごとに1年が早く感じられるのは不思議なものです。今年の汚れは今年のうちに、辛かった思い出も2024年に吐き出しきって気持ちよく2025年を迎えたいものです。 今回はnpmパッケージにパッチを当てる方法についてご紹介します。 [...]
2024.11.25 WEBシステム開発 クロスブラウザテストサービスを調査して実際に使ってみた 最新の端末やOSでの検証が求められるこの業界。 近年も勢いが衰えないスパンの早い端末やOSの世代交代に対応するのは大変です。。 そこで今回は、端末の世代交代に対応するための方法として、クロスブラウザテスト用のサービスを調査してみました。 クロスブラウザテスト用サービスについて ざっくり調べてみた感 [...]
2024.11.19 WEBシステム開発 CodeIgniter4でAPIを使用してランダムユーザーを生成する方法 今回は前回の天気情報取得に引き続き、APIを使用して簡単なアプリケーションを作成してみます。 今回のテーマは「ランダムユーザー生成」です。Random User Generatorを使って、ランダムなユーザーのプロフィールを取得し、webページ上に表示する仕組みを実装してみます。 前提 Ubun [...]
2024.11.12 WEBシステム開発 ソフトウェアアーキテクチャメトリクスを読む(その1) 今回から、積み本になっていたオライリーの「ソフトウェアアーキテクチャメトリクス」を読んでいきたいと思います。 定義と計測 「Lean とDevOps の科学」のソフトウェアデリバリーに対する、メンタルモデルから4つのキーメトリクスが生まれた。 このメンタルモデルが、この本の土台となるらしい。 デプ [...]
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と [...]