AIはどのレベルまでの質問を回答できるのか?

昨今のインターネットでは、AIによるコンテンツが増えてきており、日常生活で活用する場面も珍しくありません。
その中で、かなり専門的な内容でも答えてくれるAIチャットに対して、「どのレベルまで難しい質問を回答できるのか?」と少し疑問に思いました。
今回は、「普段使いできるAIはどのレベルの複雑な質問を回答できるのか?」という観点でいろいろ試してみようと思います。

◯今回使用するAI

今回は「普段使いするAIで試したい」ので、AIの中でも最も普及率の高いChatGPTを使用していきます。
ChatGPTはWeb検索機能を備えているので、ユーザの質問に対して精度の高い回答が可能です。

◯早速いろいろ聞いてみる

では、ChatGPTの性能を確かめるべく、段階にわけて質問をしていきます。

レベル1:家事の基礎的な内容
我々人間には切っても離せない、家事についての質問をしてみます。
簡単な内容を聞きたいので、ここでは「カレーの作り方」を質問してみます。


ざっくりと質問を投げてみると、一般的なチキンカレーの材料と作り方を回答してくれました。さらに、美味しく作るためのコツや、別のカレーの作り方を追加で提案してくれます。

レベル2でもう少し細かい条件を付け加えて質問しようとしていたので、先回りをされてしまう形となりました。

レベル2:少し専門的な内容に関する質問を条件付きで
レベル1の時点で期待以上の回答が返ってきたので、次は仕事で使うような専門的な内容を、条件付きで質問してみたいと思います。
今回は、Java言語を使った簡単なソースコードを、条件付きで質問してみます。

配列、三項演算子を用いたコンパクトなコードを生成してくれました。switch文を使わないという条件も意識してくれてるので、条件は満たせていると見ていいでしょう。
もう少し欲を言えば、例外発生時の処理も記載してくれていれば言う事なしでしたが、出力された内容でも動くので問題ないでしょう。(条件に入れていれば記載してくれていると思います)

レベル3:趣味レベルの内容について質問
次の段階では、専門的な知識が必要な趣味について質問してみます。
今回、ChatGPTには以下の簡単な詰将棋の譜面を見せて、正しい詰め方を聞いてみます。

(▲=打ち手、△=相手)
正しい回答としては、▲3二銀→△1(2)二玉→▲2三金の3手詰めとなります。
そしてAIに聞いた回答がこちらです。

結果は、▲2二銀打→△2二玉→▲3二金打となりました。最初の銀の置き場所が誤っているため、成立しませんでした。
念の為もう一度同じ内容で質問したところ、やはり正解にはたどり着けませんでした。。(むしろひどくなってる。。)

◯結果

ChatGPTでは、一般的な内容や仕事に関する内容の質問は、内容を理解して正確に回答できるレベルだということがわかりました。趣味などのプライベートに関する内容については、少し学習させないと難しそうです。
このように、普段使いでも便利なAIですが、内容によっては誤った内容を伝えてくる可能性もあるため、AIから得た情報のみを鵜呑みにせず、自身でその情報の正確性を調べる力が、今後AIと付き合っていくうえで必要になってくるでしょう。

Laravel 12で追加された一部新機能について

Laravel 12の新機能について

この記事では、2025年2月にリリースされた Laravel 12 の一部新機能について紹介します。

Laravel 12

Laravel 12は、大きな変更というよりも改良がいくつか含まれているので、今回はその中の一部を紹介します。

1. セキュリティ強化 : secureValidate()

このメソッドが追加されたことで、フォームからの入力チェックがより安全になりました。

$request->secureValidate([
'password' => ['required', 'min:8', 'strong'],
]);

バリデーション(validation)とは、ユーザーが入力したデータが正しいかどうかをチェックする仕組みです。

例えば

  • メールアドレスの形式が正しいか?
  • パスワードの長さは十分か?
  • 必須項目が空になっていないか?
    など。

Laravelでは、従来から $request->validate() を使ってこのバリデーションを行ってきました。

secureValidate() とは?

secureValidate() は、Laravel 12で新たに追加されたメソッドで、従来の validate() と同じように使えますが、セキュリティに配慮したルール(例:強力なパスワード)を簡単に適用できるのが特徴です。

$request->secureValidate([
'password' => ['required', 'min:8', 'strong'],
]);

この例の意味

 

strongルールの意味とは?

strong というルールは、安全なパスワードを推奨するための組み込みルールで、Laravel 12において以下のようなチェックを行うことができます。

  • 英大文字、小文字、数字、記号の組み合わせが含まれているか
  • 辞書にあるような簡単な単語を避けているか
  • 繰り返しや連番(”1234″ や “aaaa”)が含まれていないかこうしたチェックを自前で書くのは大変ですが、strongルールを使えば一発で適用できます。

なぜ secureValidate() を使うべきか?

  • セキュリティ対策が標準で強化される
  • 独自のカスタムバリデーションを定義しなくてよくなる
  • コードがシンプルで読みやすい

2. クエリがもっと読みやすくなる nestedWhere() が追加された

nestedWhere() は複雑な条件のクエリをより直感的・読みやすく記述できるようにするための新機能です。

そもそも WHERE 条件って何?

Laravelのクエリビルダでは、where() を使って条件付きのデータを取得できます。

$users = User::where('status', 'active')->get();

条件が複雑になってくるとwhere 条件のネストが必要になり、関数の中に関数が入るためとても難解です。

$users = User::where(function ($query) {
$query->where('age', '>', 25)
->orWhere('city', 'Tokyo');
})
->where('status', 'active')
->get();

nestedWhere() の登場

Laravel 12では、このネストを簡単に書けるようにする nestedWhere() が追加されました。

$users = User::where('status', 'active')
->nestedWhere('age', '>', 25, 'or', 'city', 'Tokyo')
->get();

普通のSQLに変換するとこうなります。

WHERE status = 'active'
AND (age > 25 OR city = 'Tokyo')

nestedWhere() の構文

->nestedWhere($column1, $operator1, $value1, $boolean, $column2, $value2)

使いどころ

  • AND (…) や OR (…) などの複雑な論理条件を含むクエリを書くとき
  • ネストの書き方が苦手な初心者
  • チーム開発で読みやすいコードを書きたいとき

まとめ

Laravelは初心者にもやさしく使いやすい機能が満載なので、これからWebアプリを始めるならおすすめです。

初心者にも分かりやすいPHP言語のフレームワークとなっているので、まずは気軽に触ってみて、その便利さを体感してみてください!

Figmaのアイコンプラグイン『Iconify』

『Iconify』は、FontAwesomeやMaterial Design Iconsなど、有名なサービスのアイコンをはじめ、150以上のアイコンセットを一括検索して配置できるFigmaのプラグインです。

→Iconify

 

例えば「user」で検索すると、全アイコンセットからuserアイコンを抽出してくれます。

 

追加したいアイコンを選択すると、サイズと色を設定できます。

 

 

ライセンスはアイコンセットによって違いますが、それぞれ確認できます。

 

 

 

 

 

 

さくっとアイコンを選んで配置できるので、プロトタイプをイイ感じに早く仕上げることができますね。

チャットボット構築サービス「Dialogflow」を使ってみた

チャットボットを調べる機会があったので「Dialogflow」でサービスを作ってWEBサイト上で動かすまでをまとめてみました。

1.「Dialogflow」サイトへ行き(GoogleアカウントでDialogflowを開始して)CREATE AGENTします。

2.AGENT情報を入力します。名称と言語とタイムゾーンを入力してCREATE

3.Intents画面になるのでCREATE INTENTS

4.Intentsのタイトルを入力してSAVE

5.Training phrasesとResponsesを入力してSAVE

6.右のパネルでテストしてみます。応答がありました

7.動作が確認できたのでチャットボットをWEBサイトに設置します。IntegrationsのページからDialogflow Messangerを選択します。

8.htmlに張り付けるソースコードが表示されるのでコピーします

9.適当さWEBサイト(今回は私が課題制作しているlocalhost上のWEBサイト)を用意します

10.該当のhtmlソースにコピーしたスクリプトを貼り付けます

11.WEB画面を開いてみます。チャットボットが現れます

12.質問すると応答があります

以上です。

バス移動・通勤を便利にするサービスを構築している中でチャットボットを+αの便利機能として付加させてみました。今後はIntentsを増やして対応する路線、停留所を増やす。Entity(同義語登録)を増やして音声入力に対応する。ほかサービスとの連携。など拡充していきます。

サーバーレス×PostgreSQL 16!進化するデータベースの最新動向

はじめに

データベース技術は、クラウド化やAIの進化とともに急速に変化しています。特に、パフォーマンス向上やスケーラビリティの向上を目的とした新しいアプローチが次々と登場しており、データを扱うエンジニアにとって最新トレンドの把握は必須となっています。

本記事では、最新のデータベーストレンドについて解説し、2024年に注目すべき技術やツールを紹介します。


本題

1. PostgreSQL 16の新機能

PostgreSQLはオープンソースのリレーショナルデータベースの中でも非常に人気が高く、最新バージョンのPostgreSQL 16ではさらなるパフォーマンス向上が図られています。

主な新機能

  • クエリの並列処理の最適化
    • クエリプランナーの改善により、大規模データセットを扱う際の実行速度が向上
    • parallel_leader_participation

      の改善により、リーダープロセスも並列実行に参加できるように

  • JSONデータ処理の改善
    • jsonb

      型のインデックス処理が高速化

    • JSONデータ型のクエリパフォーマンスが向上し、NoSQL的な利用が容易に
  • ロックの軽減によるトランザクション性能の向上
    • row-level locking

      の最適化により、競合が発生しにくくなり、トランザクションのスループットが向上

  • メモリ管理の改善
    • work_mem

      の動的調整が可能になり、負荷の変動に強くなった

これらの強化により、大規模データの処理速度が向上し、企業システムやデータウェアハウスでの活用がより容易になりました。

また、PostgreSQL 16では レプリケーション機能の改善 も進んでおり、ストリーミングレプリケーションの効率化や、ロジカルレプリケーションのパフォーマンス向上が図られています。特に、大規模なデータベースをマイクロサービスアーキテクチャと組み合わせる際の信頼性が向上しています。

2. Serverlessデータベースの進化

クラウド環境の普及に伴い、サーバーレスデータベースが急成長しています。従来のデータベース管理では、リソースのスケーリングや運用コストの最適化が課題となっていましたが、サーバーレスデータベースはこれらを解決するソリューションとして注目されています。

代表的なサーバーレスデータベースとその特徴

  • AWS Aurora Serverless V2
    • 自動スケーリングの精度向上: V1ではスケール単位が大きかったが、V2ではミリ秒単位で細かい調整が可能に
    • 低コスト運用: リクエストが少ないときは最小限のリソース消費に抑え、コスト削減を実現
    • マルチAZ対応の強化: 高可用性の確保により、エンタープライズ用途でも採用しやすく
  • NeonDB
    • PostgreSQL互換のサーバーレスデータベース: 既存のPostgreSQLアプリケーションをそのまま移行可能
    • スナップショットベースのストレージ管理: ストレージの最適化が容易で、高速なリードレプリカの作成が可能
    • スケールアウト対応: 負荷が増加してもスムーズにリソースを増加可能

これにより、開発者はサーバー管理の負担を減らし、アプリケーションの開発に集中できるようになっています。特に、スタートアップや新規プロジェクトでは、初期コストを抑えつつ本番環境の構築ができるため、サーバーレスデータベースの導入が加速 しています。

3. AIとデータベースの統合

近年、AIがデータベースに統合されるケースが増えており、データ分析やクエリ最適化に革命をもたらしています。

AIが活用される主な領域

  • クエリの自動最適化(Google Cloud Spannerなど)
  • AIによる異常検知(データの異常値検出)
  • 自動スキーマ設計(AIがデータ構造を最適化)

これにより、データベースの運用コストが削減され、パフォーマンスが飛躍的に向上しています。


おわりに

データベース技術は、サーバーレス化やAIの統合によって、ますます進化を遂げています。エンジニアにとっては、新しい技術のキャッチアップが求められる時代です。

今回紹介した技術を活用し、より効率的なデータ管理を実現していきましょう。最新情報を常にチェックし、トレンドに乗り遅れないようにしましょう!

Live2Dの基礎知識

Live2Dとは?

Live2D は、日本の Live2D社(旧サイバーノイズ社)が開発した 2Dイラストを立体的に動かす 技術およびソフトウェアです。通常のアニメーションのようにフレームごとに絵を描くのではなく、レイヤー分けされた一枚のイラストを各パーツ毎に変形して立体的な動きを表現できます。

公式サイト


Live2Dの特徴

  • 一枚のイラストを活用
    3Dモデリングを使わず、イラストのパーツを分けて動かすことで立体感を表現。イラストの質感を損なわずに動かせる。
  • モデリングとアニメーションの制作が可能
    Live2D Cubism というソフトウェアを使用し、イラストのパーツを動かしてモデルを作成。モーション付けや表情変化、物理演算(髪や服の揺れ)も可能。
  • ゲーム・VTuber・アプリに活用
    VTuber(バーチャルYouTuber)のモデル制作
    ソーシャルゲーム(キャラクターの表情・動作演出)
    ライブ配信アバター(配信者の顔の動きに合わせて動作)

Live2Dの主なソフトウェア

  1. Live2D Cubism・Live2D Viewer
    モデリング(イラストをパーツごとに動かせるようにする)
    アニメーション(キャラクターの動きを作成・確認)
    無料版と有料版あり(商用利用は基本的に有料)

  2. VTube Studio・Animaze(VTuber用ソフト)
    Live2Dモデルを動かせるVTuber向けソフト。

  3. スマホアプリ・その他
    Mirrativ …Live2Dアバター機能あり
    REALITY(バーチャル配信アプリ) …Live2Dアバター作成可能

Live2Dの使い方(簡単な流れ)

  1. イラスト作成(パーツを分けて描く)
    PhotoshopやCLIP STUDIO PAINTで目、口、髪などを別レイヤーで描く。
  2. Live2D Cubismでモデリング
    各パーツを動かせるように設定し、パラメータ(表情・体の動き)を調整。
  3. アニメーション作成 or 外部ソフトと連携
    ・Cubismで動きを付ける。
    ・VTuberならフェイストラッキングソフトと連携(VTube Studio・Animazeなど)。

まとめ

Live2Dは、一枚絵のイラストを立体的に動かせる技術で、主に VTuberやゲームキャラのアニメーションに活用されています。Live2D Cubismを使えば、絵のクオリティを保ったまま滑らかな動きを作れるので、イラストを動かしたい人には非常に便利なツールです。

Live2D公式サイトにイラストを動かすまでのチュートリアルも用意されているので、興味があれば、無料版のLive2D CubismからLive2Dの制作を試してみてください。

Laravelの不具合をサクッと解決!

Laravelを使っていると、開発中にエラーや不具合にぶつかることがあります。ここでは、よくある問題とその解決方法をわかりやすく紹介します。

1. Class “App\Http\Controllers\XxxController” not found

原因

コントローラーが見つからないときは、名前空間のミスやファイルの配置ミスが原因のことが多いです。

解決策

  • app/Http/Controllers/ にファイルがあるか確認。
  • namespace App\Http\Controllers; を追加。
  • composer dump-autoload を実行。
composer dump-autoload

2. .env の変更が反映されない

原因

.env を編集しても変更が反映されないのは、キャッシュが影響している可能性が高いです。

解決策

  • キャッシュをクリアする。
php artisan config:clear
php artisan cache:clear
  • サーバーを再起動する。
php artisan serve --port=8000

3. マイグレーションエラー (`SQLSTATE[HY000] [1045] Access denied for user`)

原因

データベースの接続情報が間違っている可能性あり。

解決策

  1.  .env  の DB_HOST ,  DB_DATABASE ,  DB_USERNAME ,  DB_PASSWORD  を確認。
  2. 変更後、以下のコマンドで設定を反映。
    1. php artisan config:clear
      php artisan migrate
  3. mysql -u ユーザー名 -p  で手動ログインし、アクセス権限をチェック。
     

4. 419 Page Expired エラー

原因

CSRFトークンが送信されていないか、セッションが切れている可能性。

解決策

  • フォームに  @csrf  を追加。
<form action="/submit" method="POST">
    @csrf
    <input type="text" name="name">
    <button type="submit">送信</button>
</form>
  • セッションをクリア。
php artisan session:clear
  •  config/session.php  の  SESSION_DRIVER  を  file  に設定。

5. Route [xxxx] not defined.

原因

指定したルートが定義されていない可能性あり。

解決策

  •  routes/web.php  や  routes/api.php  を確認。
  • ルートを適切に記述。
Route::get('/dashboard', [DashboardController::class,'index'])->name('dashboard');
  • ルートのキャッシュをクリア。
php artisan route:clear

まとめ

Laravelでよくあるエラーとその解決策を紹介しました。エラーが発生したら、

  1. .env 設定やキャッシュを確認
  2. コマンドを実行して設定を更新
  3. 公式ドキュメントもチェック

この流れで対応すれば、大体の問題は解決できます!

【Windows】WSLを使用したDockerの環境構築

【WSLを使用したDockerの環境構築】

 

WindowsにてDockerを使用する際、Cドライブに環境を用意すると読み込みがすごく遅くなります。

その遅さを解決するためにWSL(Windows Subsystem for Linux)を使用します!!

今回はWSLにてDockerの環境構築をする方法をまとめていきます。

目次
――――――――――――――――――――――――――――
1 WSLの導入
2 Dockerの導入
3 設定
4 まとめ
――――――――――――――――――――――――――――

1..WSLの導入

WSL(Windows Subsystem for Linux)を導入する。
Microsoft Store にてUbuntuをインストールする。
インストール完了後、初回起動時にユーザとパスワードを入力しアカウントを作成します。

WindowsからLinux上のファイルにアクセス
エクスプローラから、\\wsl$\にてアクセス可能です。

2.Dockerの導入

公式サイトからインストーラーをDownloadしインストールする。

https://docs.docker.com/desktop/setup/install/windows-install/

3.設定

Dockerの設定からWSL(今回はUbuntu)を許可してあげると使用することができます。

4.まとめ

こんな感じでWSLを使用し、Dockerの環境構築をしてみました!

ぜひご参考になれば嬉しいです。

PANTONE COLOR OF THE YEAR 2025はMocha Mousse(モカムース)

PANTONEからカラーオブザイヤー2025が発表されました。
PANTONE COLOR OF THE YEAR 2025

2025年のトレンドカラーは「PANTONE 17-1230 Mocha Mousse(モカムース)」。
その名の通り、美味しそうなチョコレート色ですね。

思慮深い贅沢さを表現しています。洗練されていて豪華でありながら、同時に気取らないクラシックなPANTONE 17-1230 Mocha Mousse は、控えめで落ち着いたブラウンのイメージから、野心的で贅沢なブラウンのイメージまで、私たちのブラウンのイメージを広げています。
まろやかなブラウンの色合いに注目しています。その色調が持つ豊かさと感覚的で心地よい暖かさは、快適さを求める気持ちや、贈ったり他の人と共有したりできるシンプルな喜びへの耽溺にまで広がります。

カラーデータ

HEX #A47864
sRGB 164, 120, 100
LAB 54.79, 17.05, 18.56

Photoshopのカラーピッカーではこんな感じです。

PANTONE CONNECT

Mocha Mousseを元にしたカラーパレットやシェードも用意されています。
PANTONE CONNECT(要会員登録)

年末年始休業のお知らせ

平素は格別のご高配を賜り、誠にありがとうございます。
株式会社エイブリッジでは誠に勝手ながら、年末年始休業日を下記のとおりとさせていただきます。

【年末年始休業日】
2024年12月28日(土)~2025年1月5日(日)
※2025年1月6日(月)より、通常営業を開始致します。
※休暇中のお問い合わせにつきましては、2025年1月6日(月)以降に対応させていただきます。

ご不便をおかけいたしますが、何卒ご了承いただきますようお願い申し上げます。