OmniAICreator/Qiita-1.07M huggingface dataset:
AI による“美人度診断”、結果はいかに？！

## はじめに 🎉

アイドルの写真集を眺めていてふとひらめいたんです。
キラキラした笑顔、いつも「かわいいな…！」と思っているけれど、
その“かわいさ”を数字で測れたら面白くないですか？

今回は、SCUT-FBP5500 のAIモデルに自分のセルフィーをアップロードして、
**美しさスコア**を実際に算出してみます！:muscle:

---

## 実験概要 ✨

1. **素の素顔（No Filter）**  
   加工なしのセルフィーをそのまま評価

2. **美肌アプリ「FaceApp」加工後（Filter）**  
   同じ写真に人気フィルターを適用して再評価

両者を比較し、フィルター有無でどれだけ「顔面偏差値」が変わるかをチェック！  
果たして AI は “加工” をどこまで認めるのか――。 

---

## 環境準備 🖥️
AIモデルは以下GitHubからダウンロードしました。
https://github.com/HCIILAB/SCUT-FBP5500-Database-Release

ブラウザアプリケーションはこちらからソースをお借りしてローカル環境に建てています。
https://github.com/wanshun123/Facial-Beauty-Prediction

- Flask + OpenCV(DNN) + Caffeモデル（ResNeXt50）で構築  
- モデル・プロト定義は `/models/` に配置   
- 評価結果はパーセンテージで表示されます。 

---

## 1. 素の素顔（No Filter）評価 💁‍♀️
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3966447/4e455e16-20c2-40bb-9022-fd24b832318b.png)
🤖 AIによる顔面偏差値評価、43点でした。
画像をアップロードしてAIに評価してもらいました。
最新の機械学習モデルが、僕の顔をピクセル単位で真剣に見つめてくれました。

そして出た結果が——

**Rating: 43.59!!**


43点。
テストなら補習確定。
偏差値ならど真ん中以下。
体温ならインフルエンザ後の回復期。
そして魅力度としては、たぶん「AIの恋愛対象外」。
なのに、AIくんは元気よく叫びます。

**"43.59!!"**

まるで褒めてるかのように。
語尾の "!!" が逆に痛い。
それは祝福じゃなくて、哀愁のエコー。

## 2. 美肌アプリ「FaceApp」加工後（Filter）評価 💁‍♀️
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3966447/b802edcc-b1d0-4955-92af-1822a141e68a.png)
🤖 結果発表：AIはこう言いました。
**Rating: 51.66!!**

……
うん、ちょっとは上がった。でも、想定の半分以下。

盛った笑顔が通用しないなら、どうすればいいのか？
もはや深層学習じゃなくて深層失恋。


## 🤔 考察：なぜ加工でAIは落ちなかったのか？

### 📉 考察1：AIは“盛り”を見抜く

機械学習モデルは、**肌のテクスチャ・顔の骨格・目と鼻の比率**などを見て判断している。

つまり、**加工による「見た目の可愛さ」では、数値がほとんど動かない**ことがある。  
「加工」は、AIに通用しないのかもしれない。

---

### 📉 考察2：データセットの“顔の美”と加工の方向性がズレている

このAIは **SCUT-FBP5500** という顔画像データセットをもとに学習されている。  
その傾向として、評価されるのは**ナチュラルな整った顔立ち**。

一方、私が行った加工はこちら：

- **笑顔** → ☑️ やや加点  
- **顔の明るさ** → ☑️ 軽く加点  
- **盛りすぎて不自然** → ❌ むしろマイナス評価！

---

## 💡 学び

| 項目     | 結果               |
|----------|--------------------|
| 加工前   | 43.59点             |
| 加工後   | 51.66点             |
| 差分     | 約8点アップ（ただし想定は＋30） |

つまり、AIは **「表情」より「骨格」と「対称性」** を重視してるっぽい。

もはやこれは、**外見評価という名の内面審査**。  
加工では突破できない**骨格の壁**があるのだ…。

---

## ✅ 結論：AIにはごまかしが効かない。

- 加工しても点数は**微増**
- 笑顔でも通用しない
- それでも……

> **AIに向かって笑った自分を、今日はちょっと褒めたい。**

---
急成長を支えるデータエンジン：Quick BIのケーススタディ

> 本記事は[こちらのブログ](https://www.alibabacloud.com/blog/the-data-engine-behind-hypergrowth-a-quick-bi-case-study_602294?spm=a2c65.11461433.0.0.4ee353556l0cON)を参考にしています。
> 翻訳にはアリババクラウドの[ModelStudio](https://www.alibabacloud.com/en/product/modelstudio)([Qwen](https://www.alibabacloud.com/en/solutions/generative-ai/qwen))を使用しております。

# アリババクラウドDiscordコミュニティに参加しよう！
[招待を受け入れる](https://discord.gg/nJVTvXPu6B)

Quick BIのトライアルが今なら無料！ [あなたの旅がここから始まります](https://www.alibabacloud.com/en/free?_p_lc=1&amp;product_id=78ef1316-196427bcd9c-520cb878e71)


## 顧客概要
Firm Zは、ニューヨーク証券取引所（NYSE）に正式上場したプレミアムインテリジェント電気自動車ブランドです。創業からIPOまでわずか4年未満で達成し、新エネルギー自動車メーカーの歴史の中で最も早い公開上場記録を打ち立てました。Lingyangの成熟したビッグデータソリューションと、Quick BIのおかげで、データの収集、保存、計算、処理を迅速に実現し、最終的にユーザーに洞察を提供することができました。これは私たちにとって非常に有益でした。 ------ Firm Z ビッグデータ部門ディレクター
![02C91B47_9674_4bde_9364_2393DFBEB6E3](https://yqintl.alicdn.com/ba94234d1b97f7632c7ed902dd07f0433d3ecdf6.png)

## 問題点
Firm Zの急速な拡大により、サプライチェーン、製造、DTC販売全体でデータの断片化が露呈しました。これにより意思決定の遅延や非効率性が発生しました。従来のシステムではリアルタイムのインサイトを提供できず、生産のボトルネックや納期の遅れがリスクとなりました。同社には、サイロ化されたデータを統合し、OTD（受注から納品まで）の追跡を自動化し、クロスファンクショナルチームを連携させるためのスケーラブルなBIソリューションが必要でした。このことは、業界をリードする革新速度とIPOの成功を維持するために不可欠でした。

## 実装されたソリューション
Firm ZはQuick BIと提携し、Z BIデータプラットフォームを実装することで、企業全体の分析用統一システムを構築しました。このソリューションにより、総合的なOTD（受注から納品まで）のモニタリングを行うリアルタイムダッシュボードが確立され、経営陣は販売、生産、物流のパフォーマンスを即座に把握できるようになりました。また、R&amp;D、製造、販売業務の間でシームレスなデータフローを作り出し、すべてのビジネス機能にわたって自動化されたKPI追跡を導入することで、部門間のサイロを解消しました。
![image3](https://yqintl.alicdn.com/0abd46f4e005243225f5a6496213043ee5063dfd.png)
このプラットフォームは、当初のマーケティング分析から始まり、財務、人事、R&amp;Dメトリクスを含むフルビジネスインテリジェンス機能へと進化しました。この急速なデジタルトランスフォーメーションにより、Firm Zは手作業によるプロセスをデータ駆動型の意思決定に置き換え、記録的な短期間で同社の積極的な成長軌道をサポートすることに成功しました。

## 達成された成果
Quick BIの実装により、Firm Zは卓越したビジネス成果を達成しました。執行役員の60％以上がJishu BIプラットフォームを採用し、意思決定の遅延が大幅に削減されました。同社は業界をリードする製品ローンチスピードを達成し、わずか110日で1万台の車両を納品しました。生産と販売の完全な統合と信頼性のある納期遵守パフォーマンスにより、運用効率が大幅に向上しました。サプライチェーン、財務、R&amp;Dオペレーション全体にわたるこの包括的なデジタルトランスフォーメーションは、Firm ZのIPOまでの記録破りの道のりを支える重要な要素となり、革新的なEV市場リーダーとしての評判を確固たるものとしました。
Fylerとアリババクラウド、ディープテックのイノベーションを通じてデジタルトランスフォーメーションを加速させるパートナーシップを締結

> 本記事は[こちらのブログ](https://www.alibabacloud.com/blog/fyler-and-alibaba-cloud-forge-partnerships-to-accelerate-digital-transformation-with-deep-tech-innovation_602296?spm=a2c65.11461433.0.0.4ee353556l0cON)を参考にしています。
> 翻訳にはアリババクラウドの[ModelStudio](https://www.alibabacloud.com/en/product/modelstudio)([Qwen](https://www.alibabacloud.com/en/solutions/generative-ai/qwen))を使用しております。

# 新時代のコラボレーション

アリババクラウドとFyler UAEが戦略的パートナーシップを締結し、UAEのデジタルランドスケープを再構築するという画期的な動きが行われました。この提携は、地元に根差した高度な技術エコシステムを構築することにより、UAEをテクノロジー革新の中心地として位置づけることを目指しています。この協力は、企業やコミュニティを強化するために最先端のソリューションを活用するという共通のコミットメントを示しています。

![lQjPJws0ZP4FFmMAALDSWfkAM1jgXQgpA08vuHQA](https://yqintl.alicdn.com/dbca453546f2c6d6e560f38521b349f0e93b827f.jpeg)

## Fyler：地元化されたデジタルエコシステムのプロバイダー
Fyler UAEは、デジタルトランスフォーメーションの最前線に立つ企業であり、AI、機械学習、ビッグデータ分析を統合することで、地域の観客とシームレスに接続できるカスタマイズされた検索エンジンやエコシステムを開発しています。これにより、ハイパーローカライズされたデジタル体験を提供し、関与度合いと成長を促進します。

## 戦略的パートナーシップ: ビジョンと目標
このコラボレーションは、アリババクラウドの世界クラスのクラウドインフラストラクチャと、Fylerの地元化された高度な技術ソリューションの専門知識を組み合わせます。主な目的には以下が含まれます：

- **ローカル検索能力の向上**: UAE市場に特化したAI駆動型検索エンジンの開発を行い、精度とユーザーエクスペリエンスを改善します。
- **スマートデジタルエコシステムの構築**: 企業、公共部門、消費者がデジタルファースト経済で繁栄できるように相互接続されたプラットフォームを作ります。
- **高度技術の活用**: 機械学習とデータ分析を展開し、各セクターでの意思決定と運用効率を最適化します。

## リーダーシップからの洞察
アリババクラウドインテリジェンスの中東、トルコおよびアフリカ担当ゼネラルマネージャーであるEric Wan氏は、「このパートナーシップは、地域で活力ある革新的エコシステムを育むための我々のコミットメントを示すものです。我々の高度で、スケーラブルかつ安全なソリューションを通じて、UAEの企業に新たな刺激的な機会を解き放つ準備ができています」と述べました。

Fylerの創設者兼CEOであるSaeed Saif AlGhurair氏は、「このMOUは、アリババクラウドとの連携によってイノベーティブなソリューションとユーザー向けサービスの向上を実現する転機となるもので、Fylerにとって重要な瞬間です」と付け加えました。

![Fyler_Blogpost_cover](https://yqintl.alicdn.com/886bd50c3f18d7c2dda6b46739c350c946b775c2.png)

アリババクラウドとFylerの同盟は、中東における業界横断型のコラボレーションの力を示すものです。主要分野でのパイロットプロジェクトを展開する中で、重点はスケーラビリティ、持続可能性、そしてユーザー中心のデザインに置かれます。このパートナーシップは、UAEのデジタル化の道を加速させるだけでなく、テクノロジー駆動型変革の世界的ベンチマークとして地域を位置付けることになります。

アリババクラウドとFyler UAEのパートナーシップは、よりスマートでつながった未来への変革的な一歩を示しています。高度な技術と地元化された洞察を活用して、このコラボレーションはデジタル時代において企業とコミュニティがどのように関わるかを再定義することを約束します。これらの二人の先駆者がアルゴリズム一つ一つを通じて新しいフロンティアを開拓していく様子を見逃さないでください。
データの活用：Quick BIが50万店舗の流通ネットワークをいかにして効率化したか

> 本記事は[こちらのブログ](https://www.alibabacloud.com/blog/data-uncorked-how-quick-bi-streamlined-500000-retailer-distribution-network_602297?spm=a2c65.11461433.0.0.4ee353556l0cON)を参考にしています。
> 翻訳にはアリババクラウドの[ModelStudio](https://www.alibabacloud.com/en/product/modelstudio)([Qwen](https://www.alibabacloud.com/en/solutions/generative-ai/qwen))を使用しております。

# アリババクラウド Discord コミュニティに参加しよう！
[招待を受け入れる](https://discord.gg/nJVTvXPu6B)

Quick BI トライアルが今なら無料！ [あなたの旅が始まります](https://www.alibabacloud.com/en/free?_p_lc=1&product_id=78ef1316-196427bcd9c-520cb878e71)

## クライアント概要：
Firm Yは、中国の酒類業界で独自の地位を占め、2つの有名な「中国名酒」ブランドを保有しています。この企業は深セン証券取引所に上場し、FTグローバル500にもランクインしています。最近の財務報告によると、年間収益は40億ドルを超えました。Lingyangとの提携により、デジタルコントロールセンターとマーケティングダッシュボードを備えたデータ駆動型管理システムを構築し、運用の精度を向上させました。彼らの方法論は、貴重な製品開発の洞察を提供し、技術チームのスキルを大幅に向上させました。 ------ Firm Y ビッグデータ部門責任者
![Baijiu_jpeg](https://yqintl.alicdn.com/737663c069587fdd5da37996a7326133ba71256b.jpeg)

## 問題提起：
Firm Yは、全国的な流通網全体での非効率的なターンアラウンドタイムなど、広範な乳製品サプライチェーンにおいて運用上の課題に直面しています。8,000以上の販売代理店と50万の小売店舗を持つ中で、組織は広大なパートナー・エコシステムを効果的に管理する上で大きな課題を抱えています。さらに、多様な製品オファリングを数十億の消費者需要シグナルと一致させることが困難であり、意思決定の精度に影響を与え、エンドツーエンドの効率および全体的なビジネスパフォーマンスに悪影響を及ぼしています。

## 実装されたソリューション：
### 経営コックピット：統合された運用可視性 
Firm Yは、Lingyang DataphinとQuick BIを使用してデジタル経営コックピットを実装し、100以上の支社にまたがる複雑な階層を簡素化しました。このシステムは、クロスレベルのデータ可視性を可能にし、インタラクティブなダッシュボードを通じて本社から最前線のスタッフまでリアルタイムのビジネス監視を可能にしました。これにより、手作業によるレポートがドリルダウン分析に置き換えられ、迅速な問題解決と責任追跡が可能になりました。

### パフォーマンスダッシュボード：マーケティングROIの最適化 
同社は、年間数十億ドルに及ぶマーケティング支出を分析するためのインテリジェントダッシュボードを導入しました。キャンペーンの効果を評価し、地域ごとのパフォーマンスを比較し、個々のKPIを追跡することで、Firm Yは詳細なコスト効率の洞察を得ることができました。このデータ駆動型アプローチにより、予算配分の精度が向上し、8,000以上の販売代理店全体での無駄な支出が削減されました。

### 五力評価：精密なチャネル管理 
Firm Yは、販売実績、在庫回転率、カバレッジ効率、コスト比率、利益貢献という5つの主要な次元を分析する独自の販売代理店評価モデルを開発しました。これにより、8,000以上の異種販売代理店を階層化されたグループに標準化し、成績不振者へのターゲットサポートとトップパートナーの認識を可能にし、全体的な流通ネットワークを最適化しました。
![image](https://yqintl.alicdn.com/f1c206ddaf8487d1032f59b1dbc0da0d862334c1.png)

## 達成された成果：
Firm Yのデジタルトランスフォーメーションは、その運用にわたって有望な結果をもたらしました：

### 運用効率 - 
100以上の支社をカバーするリアルタイム管理ダッシュボードによって報告時間が短縮され、すべてのレベルでのデータ駆動型意思決定が可能になりました。

### マーケティング最適化 - 
8,000以上の販売代理店のパフォーマンスとキャンペーン効果に関する詳細な分析によって、マーケティングROIが向上しました。

### チャネル管理 - 
五力評価モデルを使用してパフォーマンスギャップを特定し対処したことで、販売代理店の生産性が向上しました。
Quick BIが中国の中小企業バンキングリーダーのために110の監規制メトリクスをいかに自動化したか

> 本記事は[こちらのブログ](https://www.alibabacloud.com/blog/how-quick-bi-automated-110-regulatory-metrics-for-chinas-sme-banking-leader_602298?spm=a2c65.11461433.0.0.4ee353556l0cON)を参考にしています。
> 翻訳にはアリババクラウドの[ModelStudio](https://www.alibabacloud.com/en/product/modelstudio)([Qwen](https://www.alibabacloud.com/en/solutions/generative-ai/qwen))を使用しております。

# アリババクラウドのDiscordコミュニティに参加しよう！
[招待を受け入れる](https://discord.gg/nJVTvXPu6B)

# Quick BIのトライアルが今なら無料！
[あなたの旅が始まります](https://www.alibabacloud.com/en/free?_p_lc=1&product_id=78ef1316-196427bcd9c-520cb878e71)


## クライアント概要：
A銀行は、中国の中小企業セクターにサービスを提供する全国的な先駆者です。同銀行は、地域経済の成長を促進する迅速でリスク管理された融資によってその評判を築きました。次のデジタル金融の波に備えるため、この銀行はアリババクラウドのDataphinデータガバナンスプラットフォームとQuick BIアナリティクススイートと提携しました。彼らの共有目標は、散在する運用情報を単一で信頼できるデータ基盤に変換し、よりスマートで技術主導の拡大を推進することでした。
![1](https://yqintl.alicdn.com/bda4d1369e46f9a5dd2d55d367311d28c393221f.png)

## 問題提起：
市場での強力な地位にもかかわらず、A銀行のデータ環境は断片化されていました。指標には統一された定義がなく、規制当局や管理者との信頼性を損なっていました。データ資産を見つけるのが難しく、所有権が不明瞭で、ガバナンスプロセスはプラットフォームの支援なしにアドホックに行われていました。遅く、手作業での照合が戦略的選択や規制提出を大幅に遅らせていました。
![2](https://yqintl.alicdn.com/fb5802ae864f3494f109c1a7295532ca1023c59a.png)

## 実装されたソリューション：
アリババクラウドと協力して、この銀行は行動、OA、および製品システムをシームレスにリンクする統一されたデータミドルプラットフォームを作成しました。Dataphinはデータ資産管理モジュールを提供し、Quick BIはセルフサービス分析を提供しました。それらはデータ調査とガバナンス、資産カタログ化、開発、棚卸し、および有料利用を含む単一のフロントドアポータルを提供しました。標準化されたワークフローはすべてのデータ系統ステップをマッピングし、明確な責任を割り当てることでガバナンスコントロールを直接パイプラインに組み込みました。チームは最初に1600以上の基本的なデータ標準を編纂し、10のコアビジネスドメイン、14のテーマ領域、および100以上のプロセス（規制当局が要求するEASTおよびゴールドレポートのルーチンを含む）を整列させました。その後、資産カタログ全体をデジタル化し、自動アップ/ダウン承認を確立し、支店スタッフが信頼できる指標を検索、プレビュー、再利用できるようにするダッシュボードを構築しました。プラットフォームのオープンAPIはクリーンなデータを下流アプリケーションに公開し、15のエンタープライズシステムにわたるエンドツーエンドの管理を可能にしています。
![3_jpeg](https://yqintl.alicdn.com/c5f6b4e9b4c876724d9582fe3a6f08fdb0c31a40.jpeg)

## 達成された成果：
この取り組みは、具体的なガバナンスの厳格さと商業的敏捷性をもたらしました。現在では、2500以上の銀行レベルの指標標準が集中管理され、10の主要ビジネスラインにまたがる1600の基本的なデータ項目によって支えられています。15のシステムをカバーする統一されたカタログは、ユーザーに資産と系統の可視性を与え、レポート作成と規制提出サイクルを加速します。110以上のコア監督指標が自動的に設定され、コンプライアンスの正確性が向上しました。Quick BIを通じてクリーンで追跡可能なデータを利用することで、部門は数分で洞察を生成し、小規模ビジネス顧客向けのサービス革新を促進しています。
【rails】Stimulus


## はじめに

こんにちは。アメリカ在住で独学エンジニアを目指している Taira です。
現在rails でアプリ開発を進めていますが、その中でちょっとだけJSを書きたいけど、React を書くまでではないみたいな場面で **Stimulus** を使用するととても便利です。
本日はStimulusについて記事を書こうと思います。


## Stimulusとは

* HTMLに属性を追加するだけでJavaScriptの動きを加えられる
* DOM中心のシンプルな設計
* Turboと組み合わせることで、部分的なページ更新が可能
* Rails 7以降ではデフォルトで導入済み

## どんなときに使うのか？

Stimulusは、以下のようなちょっとしたフロントエンドの挙動に最適です。

* モーダルの開閉
* ボタンのトグル表示
* 入力フォームのバリデーション
* タブ切り替え
* Ajaxを使わずに簡単な非同期処理を追加したいとき


## RailsでのStimulus導入方法

Rails 7以降ではStimulusが標準でセットアップされています。Stimulusコントローラーを追加したい場合は以下のコマンドを実行します。

```bash
bin/rails generate stimulus counter
```

これで `app/javascript/controllers/counter_controller.js` が自動生成され、すぐに利用できます。(Rails 8の場合)

## 実装例：クリックで数値が増えるカウンター

```erb
<div data-controller="counter">
  <button data-action="click->counter#increment">クリック！</button>
  <span data-counter-target="output">0</span>
</div>
```
`app/views/yourviewname.html.erb` の変更を加えたい場所に上記のように書き加えます。

#### 解説

| 属性                                     | 説明                                 |
| -------------------------------------- | ---------------------------------- |
| data-controller="counter"              | このHTMLにcounter\_controller.jsを紐づける |
| data-action="click->counter#increment" | クリック時にincrementメソッドを実行             |
| data-counter-target="output"           | JavaScriptから操作する対象のDOM要素           |

### JavaScript（app/javascript/controllers/counter\_controller.js）

```js
import { Controller } from "@hotwired/stimulus"

export default class extends Controller {
  // ここから自分で実装する
  static targets = ["output"]

  count = 0

  increment() {
    this.count++
    this.outputTarget.textContent = this.count
  }
}
```
`rails g stimulus counter`を入力すると

#### 解説

| コード                                        | 説明                                    |
| ------------------------------------------ | ------------------------------------- |
| static targets = \["output"]               | HTML上のdata-counter-target="output"を指定 |
| count = 0                                  | カウント用の初期値                             |
| increment()                                | クリック時に呼ばれ、countを1増やして表示を更新            |
| this.outputTarget.textContent = this.count | span要素にカウント値を表示                       |



## まとめ

| 項目       | 内容                             |
| -------- | ------------------------------ |
| フレームワーク名 | Stimulus                       |
| 特徴       | HTML主導の軽量JSフレームワーク             |
| 強み       | Rails + Turboとの親和性が高い、学習コストが低い |
| 適したケース   | 小規模な動的UIの実装                    |
| 不向きなケース  | 大規模なSPAや複雑な状態管理が必要なUI          |

Stimulusは、Rails開発において「必要最低限のJavaScriptでインタラクティブなUIを作りたい」場面において非常に頼りになるツールです。Turboと組み合わせることで、よりスムーズなユーザー体験を提供できます。
Data + AI Summit 2025 - セッションレポート Accelerating Analytics: Integrating BI and Partner Tools to Databricks SQL

## はじめに  

今回は、Databricksの年次イベント「Data + AI Summit」で開催されたセッション
 **「Accelerating Analytics: Integrating BI and Partner Tools to Databricks SQL」** の内容をもとに、Databricksが主要なパートナー製品とどのように連携可能か、また現場の分析や業務プロセスをどのように加速させているのかについて、最新の取り組みをご紹介いたします。

---

## Databricksのパートナーエコシステムとは？  

Databricksは、BI（Business Intelligence）、ガバナンス、機械学習、インテグレーションなど幅広い分野でパートナーとの連携を進め、エコシステムを拡大しています。  
特にPower BI、Tableau、Looker、Sigmaなどの主要なBIツールとの統合強化に注力しており、ユーザーは使い慣れたツールを通じてDatabricksのデータをシームレスに活用できるようになってきました。

また、Databricksの「パートナーコネクト」機能を活用することで、UIベースで簡単に統合設定が可能となり、初めてのユーザーでもスムーズに連携を開始できます。

---

## 主要パートナーとの最新連携アップデート

### Power BI連携の進化  

昨年リリースされた「Unity CatalogからPower BIサービスへの公開」機能により、Databricks上のテーブルやスキーマをPower BIのセマンティックモデルとして直接公開できるようになりました。
さらに今年は、Lakeflowジョブ内でPower BIタスクを追加できるようになり、データパイプラインの終点で自動的にPower BIへの公開が可能に。
分析データの最新化がよりスムーズに行えるようになりました。現在はパブリックプレビュー中で、今後は増分更新やパフォーマンス向上も予定されています。

### DBTとの連携強化  

DBT（Data Build Tool）は、Databricksにおける重要なパートナーの一つです。Lakeflowジョブ内でDBTコアタスクを直接実行できるようになり、DBT Cloudでも同様の機能が順次導入されています（現在はプライベートプレビュー中）。  
これにより、DBTユーザーはDatabricks上でより柔軟にデータ変換やパイプライン構築を行えるようになります。

### Tableauとのシームレスな連携  

Tableau Cloudとの連携も大幅に進化しました。Unity CatalogからTableau Cloudへの公開が簡単になり、対象のテーブルを選んで「Tableauで探索」をクリックするだけで、ブラウザ上ですぐに分析を始めることができます。  
従来のような複雑な接続設定が不要となり、分析までの時間を大幅に短縮できます。

---

## スプレッドシートとの連携強化  

特にビジネスユーザに根強い人気を誇るスプレッドシート（Google SheetsやExcel）との連携も進化しています。

- **Google Sheets用Databricksアドオン**  
  Google Sheetsから直接DatabricksのSQLウェアハウスに接続し、SQLクエリの結果をシートに即反映。CSVのダウンロードやインポート作業が不要となりました。

- **Excelアドオン（近日公開予定）**  
  ODBCドライバのインストール不要で、アドオンを入れるだけでExcelからDatabricksのデータを直接活用可能になります。

---

## Power Platformとの連携強化  

Microsoft Power Platform（Power Apps、Power Automate、Copilot Studio）との連携も大きく前進しています。

- **Azure Databricks向けコネクタのパブリックプレビュー開始**  
  カスタムコネクタやデータコピーを必要とせず、ライブ接続でガバナンスを維持したままアプリ開発が可能になりました。

- **導入事例の紹介**  
  美容ブランドのCoty社やイギリスの電力会社UK Power Networks社が、Databricksとの統合によって業務効率化やリアルタイム情報提供を実現しています。

---

## API・ドライバ関連のアップデート  

- **新しいオープンソースJDBCドライバ**  
  既に提供が開始されており、今後はオープンソースとしても公開される予定です。

- **Microsoftと共同開発のADBCドライバ**  
  Apache Arrowベースの次世代データベース接続ドライバ。Power BIでの高速処理やDAX演算子のプッシュダウン対応により、全体的なユーザー体験の向上が期待されます。

---

## デモで紹介された主なユースケース  

- **Google Sheets連携**：SSOで接続し、SQLクエリ結果を直接シートに出力  
- **Power BIタスク**：Lakeflow内で自動的にPower BIへ公開、メタデータも同期  
- **Tableau連携**：Unity CatalogからTableau Cloudへ即時公開し、ライブ接続で分析  
- **Power Platform連携**：Power AppsでDatabricksのデータを活用、Power AutomateやCopilot Studioとも連携可能  

---

## まとめ・所感  

Databricksは、主要なBIツール、スプレッドシート、Power Platformとの連携を加速度的に強化しており、分析やアプリ開発現場での生産性向上に直結しています。  
特にノーコード／ローコードツールとの連携や、ガバナンスを維持したライブ接続の実現は、実務での使い勝手に大きなインパクトを与えていると感じました。

---

## 🔍 あわせてチェック！  

2025年6月9日〜12日に開催された  
**Databricks Data + AI Summit 2025** の最新情報やセッションレポートをまとめた  
ナレッジコミュニケーションの特設サイトもぜひご覧ください。

👉 [Databricks Data + AI Summit 2025 特設サイトはこちら](https://www.knowledgecommunication.jp/product/databricks-data-ai-summit-2025.html)

---

> ※本記事はセッション内容をもとに筆者が要約・再構成したものです。記載内容に誤り等があればご指摘いただけますと幸いです。
WSL2 + Amazon Q CLI で巡回セールスマン問題クイズを作ってみた

## はじめに

最近話題のAmazonの生成AI「Amazon Q」を使って，数理最適化を体験できるWebアプリケーションを作ってみた．今回は**巡回セールスマン問題（TSP）**を題材にしたインタラクティブなクイズゲームである．

WSL2にAmazon Qをセットアップする手順から，実際のアプリケーション開発までを紹介する．

## 目次
1. [WSL2環境の準備](#wsl2環境の準備)
2. [Amazon Qのインストール](#amazon-qのインストール)
3. [巡回セールスマン問題クイズの開発](#巡回セールスマン問題クイズの開発)
4. [実際の動作例](#実際の動作例)
5. [まとめ](#まとめ)

## WSL2環境の準備

### WSL2のインストール

まず，Windows 11でWSL2を有効化する．

```powershell
# PowerShellを管理者権限で実行
wsl --install
```

Ubuntuを起動する．
```powershell
# Ubuntuの起動
wsl -d Ubuntu
```
* 初期起動時はユーザアカウント作成（ユーザ名，パスワード）およびログインが必要

## Amazon Qのインストール

### Amazon Q Developer CLI のインストール

```bash
# AWS CLI v2のインストール
curl --proto '=https' --tlsv1.2 -sSf "https://desktop-release.q.us-east-1.amazonaws.com/latest/q-x86_64-linux.zip" -o "q.zip"
unzip q.zip
./q/install.sh
```

設定後，ブラウザが開いてAWSコンソールでの認証が求められる．

## 巡回セールスマン問題クイズの開発

### Amazon Qの起動

```bash
# Amazon Qの起動
q chat
```

### Amazon Qを活用した開発プロセス

Amazon Qを起動すると，プロンプトが表示される．
ここに，作成したいゲームの要件を入力する．

#### 1. アルゴリズムの実装相談

**プロンプト例:**
```
巡回セールスマン問題を題材にした，最短経路を当てる4択クイズを作成したい．
デフォルトでは都市数を10ヵ所，ランダムに都市を配置しつつ，
任意の都市数，都市配置を設定できるような選択肢も与えたい．
クイズの4つの選択肢は，距離がわからないように可視化した経路を出力したい．
都市数が10以下の場合は厳密解，それ以上は近似解を使い分けたい．
```

[Amazon Qが提案したコード](https://github.com/mshdtksk/asw-game-tsp-quiz/blob/main/index.html)

## 実際の動作例
[巡回セールスマン問題クイズ](https://mshdtksk.github.io/asw-game-tsp-quiz/index.html)からWebブラウザで動作する．

### 10都市の問題（厳密解）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880471/69224bfe-ddd6-4b8d-958f-f826e1fb2418.png)

### 10都市の問題（厳密解）に対する解答
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880471/c706679d-1b5d-4a1f-b881-3bc0389222a0.png)


## まとめ

Amazon QとWSL2を組み合わせることで，Webアプリケーションを比較的簡単に作成できた．
LLM単体の場合，細かな指示やstep by stepでの指示が必要な場合が多いが，Amazon Qの場合，レスポンスに少し時間を要するが，指示した結果，意図した結果を出してくれる．

今後は，以下のようなことも試行していきたい．

### 今後の展望
- **他の最適化問題**: ナップサック問題，グラフ彩色問題
- **機械学習との組み合わせ**: 強化学習による解法
- **リアルタイム可視化**: アルゴリズムの動作過程を表示

## 参考リンク

- [完成したアプリケーション（GitHub）](https://github.com/mshdtksk/asw-game-tsp-quiz)
- [Amazon Q Developer 公式ドキュメント](https://docs.aws.amazon.com/amazonq/)
- [WSL2 セットアップガイド](https://docs.microsoft.com/ja-jp/windows/wsl/)
- [巡回セールスマン問題について](https://ja.wikipedia.org/wiki/巡回セールスマン問題)
【Salesforce】フローのChatterに投稿でExperience Cloudユーザー宛に送信したい

## 🔍 はじめに

SalesforceのExperience Cloud（旧Community Cloud）で、Chatterへの投稿を通じて「Experience Cloudユーザー」へベル通知やアクティビティの記録を反映させるには、いくつかの重要な設定が必要です。

本記事では、実際の構築・検証で得られた知見を共有します。

---

## ✅ 実現したいこと

* **Experience Cloudユーザーにベル通知を届ける**
* **Chatter投稿としてアクティビティにも反映させる**
* **フローから投稿を制御する**

---

## ⚙️ 重要な設定項目

Chatter投稿が **Experience Cloudユーザーのベル通知** が正しく反映されるように設定できました。

Chatterアクションを正しく機能させるには、以下の項目を設定する必要があります。

| 設定項目                  | 内容                                                         |
| --------------------- | ---------------------------------------------------------- |
| メッセージ              | テキストテンプレートなど。@[{!ユーザのID}]とすることでメンションが飛ばせる。                              |
| 対象名または ID              | Chatterを通知したいユーザのID。                              |
| Experience Cloud サイト ID | `SELECT Id, Name FROM Network` で取得した `0DBXXXXXXXXXXXX` を設定 |
| ターゲット種別               | `User`（ユーザー個人）                                             |
| 表示設定                  | `allUsers`（全ユーザーが閲覧可）                                      |

あとはExperience Cloudの設定でプロファイル有効化
これは元々している可能性あり

---

## 🔍 Experience Cloud Site ID の取得方法

以下のSOQLで取得可能です。

```sql
SELECT Id, Name FROM Network
```

開発者コンソールで実行すれば、該当するExperience CloudサイトのIDを確認できます。

## 参考サイト

[フローコアアクション: Chatter に投稿](https://help.salesforce.com/s/articleView?id=platform.flow_ref_elements_actions_chatter.htm&type=5)
[Find the Id of a Community](https://help.salesforce.com/s/articleView?id=xcloud.os_find_the_id_of_a_community_51123.htm&type=5)

## 愚痴

Experience Cloudの情報が少なすぎる…
【HTML】link要素

CSSファイルを読み込む要素
⇒link

**link要素**は、外部リソースとの関係を示すための要素です。
一般的にCSSファイルの読み込みに使用されます。

CSSファイルを読み込む記述例を以下に示します。
```html
<link href="style.css" rel="stylesheet">
```

href(hypertext reference)属性には読み込むリソースのURLを指定します。
rel(relation)属性は、外部リソースとの関係を表します。
読み込むファイルがCSSファイルの場合は、stylesheetを記述します。
テクノロジーと社会的不平等 📉: テクノロジーは本当に格差を是正する力を持つのか？


# テクノロジーは本当に格差を是正する力を持つのか？

〜AIとクラウドで見る現場からの視点〜

---

## 1. はじめに：テクノロジーは“平等”をもたらすのか？

「技術革新が進めば、情報も機会も平等になる」
そんな希望が、インターネットやAIの登場とともに語られてきました。

しかし現実には、テクノロジーの進化によって新たな“格差”も生まれています。
特に教育格差、情報格差、デジタルスキル格差が顕著です。

本記事では、**AIとクラウド技術を活用して、実際にどのように不平等を是正できるのか**、また逆にどのような落とし穴があるのかを、エンジニア視点で掘り下げます。

---

## 2. 概要：技術と格差の関係性を理解する

### 社会的不平等とは？

* **所得格差**：金銭的な余裕の差
* **教育格差**：学習機会・質の差
* **情報格差（デジタル・ディバイド）**：ITへのアクセス・利用能力の差

### テクノロジーの役割

| 技術      | 格差解消への可能性            | リスク            |
| ------- | -------------------- | -------------- |
| クラウド    | 誰でもITインフラにアクセス可能     | コスト構造が複雑で継続困難  |
| AI      | 個別最適化で教育や診断の公平性を担保可能 | データバイアス        |
| オープンソース | 技術の民主化に貢献            | 貢献できる人とできない人の差 |

---

## 3. 実践例：PythonとLLMを使って情報格差を埋めるBotを構築してみる

### ケース：情報にアクセスできない中小企業向けのFAQボット

#### 目的：

ITリテラシーが高くない現場でも、無料で生成AIを活用して日常の業務支援ができる環境を作る。

#### 使用技術：

* LangChain
* OpenAI API（gpt-4o）
* FastAPI
* Streamlit

#### ディレクトリ構成例：

```
knowledge-bot/
├── app.py             # Streamlit UI
├── backend/
│   └── qa_engine.py   # LangChainによるQA処理
├── docs/
│   └── faq.json       # FAQデータ（JSON形式）
└── requirements.txt
```

#### コード例（LangChainを使った質問応答）：

```python
from langchain.chat_models import ChatOpenAI
from langchain.chains import RetrievalQA
from langchain.vectorstores import FAISS
from langchain.embeddings.openai import OpenAIEmbeddings
import json

# FAQデータの読み込みとベクトル化
with open("docs/faq.json", "r", encoding="utf-8") as f:
    data = json.load(f)

texts = [entry["answer"] for entry in data]
faiss_index = FAISS.from_texts(texts, OpenAIEmbeddings())

# 質問応答チェーン
qa = RetrievalQA.from_chain_type(
    llm=ChatOpenAI(model="gpt-4o"),
    retriever=faiss_index.as_retriever()
)

# 実行
query = "補助金の申請方法は？"
response = qa.run(query)
print(response)
```

---

## 4. 現場で使うためのTipsと注意点

### 実務Tips：

* **データ構造はシンプルに**：FAQを1問1答のJSONにすると扱いやすい
* **軽量UI**：Streamlitなどを使って、エンジニアでない人でも使える設計を意識
* **ベクトル検索導入時はデータ数が多くなくても効果大**

### よくある落とし穴：

| 問題             | 回避策                  |
| -------------- | -------------------- |
| LLMが事実でない回答を返す | Retrieval型（RAG）で制御する |
| 知識が偏る          | ソースの多様性と更新頻度に注意する    |
| APIコストが高くなる    | キャッシュやgpt-3.5との併用を検討 |

---

## 5. 発展：RAG + 音声 + モバイルで地方でも使えるAIアシスタントを

* **音声認識（Whisper）× モバイルUI** で、読み書き困難な層にも届くUXに。
* **Google CloudやAzureのTTS/STTとの連携**で、ローカル言語対応。
* オープンソースの活用と、OSS教育コンテンツの作成で持続性を確保。

---

## 6. 結論：技術は“可能性”にすぎない

* テクノロジーには確かに「平等化」の力がある。
* しかし、それを「誰がどう使うか」によって結果は変わる。
* 私たちエンジニアは、ただ便利な機能を作るだけでなく、**「誰のための技術か」を常に考えること**が求められる。

---

## 📌 まとめ

| 観点    | ポイント                         |
| ----- | ---------------------------- |
| 技術の意義 | 機会や情報へのアクセスを民主化できる可能性がある     |
| 実装の工夫 | RAG構成で正確性・公平性を担保             |
| 社会的影響 | テクノロジーが格差を助長するリスクにも目を向けるべき   |
| 今後の展望 | よりインクルーシブなUX（音声・地域言語・UI設計など） |

---

興味を持たれた方は、ぜひ自身の環境でもBot構築に挑戦してみてください。
“テクノロジーによって格差を縮める”取り組みは、**小さな実装から**始まります。
【Databricks Data + AI Summit 2025】Databricks Apps 正式リリースのまとめ

## はじめに

こんにちは！**株式会社マクニカ**でDatabricksのエンジニアをしています。@satoshy2です。
[Databricksとは？（マクニカ紹介ページ）](https://www.macnica.co.jp/business/dx/manufacturers/databricks/)

[**Databricks Data + AI Summit 2025**](https://www.databricks.com/dataaisummit)にて、Databricks Apps の正式リリースが発表されました。
この Databricks Apps は Databricks が2024年11月にパブリックプレビューをリリースしてから、**最短**で利用が増えた機能になります。
約6ヶ月間で顧客数が**2,500**以上、Databricks Apps を利用して開発されたアプリが**20,000**以上になります。
![Databricks Apps利用者数](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4112046/abeb1723-8983-4fe3-bc0b-1b4d61d0ddcb.png)



以下のサイトでも触れられていますが、Databricks Appsについて簡単にまとめた内容をご紹介していきたいと思います。
Databricks公式ページ：[Announcing General Availability of Databricks Apps](https://www.databricks.com/blog/announcing-general-availability-databricks-apps)

## データやAIをアプリと繋ぐことの難しさ

単純にWebアプリを立てるだけならそれほど難しくないと思いますが、データやAIをセキュリティやガバナンスを保ちながらアプリ上で使用して運用することはとても難しいことです。
Databricksが考える考慮が必要なポイントは、以下の8つになります。
* アプリの認証とデータやAIへのアクセス認証を統合すること（SSOなど）
* アプリからデータへのアクセスに対して適切なコントロールを実施し、ガバナンスに効かせること
* アプリのインフラ環境を適切に管理すること
* データやAIが利用している仮想ネットワーク（VPC）とアプリが利用する環境を統合すること
* アプリの状態を管理するためにデータベースを配置すること
* オブザーバービリティツールと統合すること
* 監査ログやアクセスログを適切に取得すること
* アプリで利用しているパッケージを適切にアップグレードしていくこと

## Databricks Appsを使う理由

Databricks Appsを使う理由として以下が挙げられています（**New**は正式リリースで実装された機能）。
* Databricks内に全てが用意されています
* すぐに認証やSSOが使えます
* ワンクリックでLakebase（トランザクション処理データベース）と統合出来ます（**New**）
![Databricks Appsを使う理由 - データインテリジェンスの活用](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4112046/3f371b0b-0549-4f15-9b0e-bbfced573b45.png)

* セキュアでガバナンスが効いたDatabricks管理のコンテナやインフラ環境が用意されています
* Unity Catalogを使用して、リソースレベルでガバナンスを効かせることができます
* 認証だけでなく、アクセスログもすぐに取得できます
![Databricks Appsを使う理由 - セキュアでガバナンスが効いている](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4112046/c00ec829-6a8c-45c7-9f3c-dd85407e7e46.png)

* よく使われているPythonフレームワークが使用できます
* Node.js/ReactなどのJavascriptがサポートされます（**New**）
* 20以上の事前にインストールされたオープンソースのパッケージがあります
![Databricks Appsを使う理由 - オープンなエコシステム](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4112046/758c8316-2ad3-4e2f-b619-6510f29a778f.png)

実際に利用しているユーザーの事例として以下の3社が挙げられていました。
* ブリジストン
* Addepar（米国のソフトウェア会社）
* 武田薬品工業

## アプリ開発のためのエコシステム（New）

Databricks Appsの正式リリースと同時に発表されたこととして、アプリ開発のためのエコシステムがあります。
特に `Superblocks` や `Lovable` などはAIを駆使して簡単にアプリ開発出来るので、連携によりさらにアプリの開発が楽になると、とても楽しみにしています。
また、キーノートのデモでは、`Superblocks`で作成したアプリを [**Deploy on Databricks**] ボタンからDatabricksにデプロイする様子が見られました。
![アプリ開発のためのエコシステム](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4112046/037fcbe6-c419-45ae-abcb-c8f20b9b78e9.png)

## さいごに

Databricks Appsの正式リリースではびっくりするほど大きな変更というのはありませんでしたが、データとAIの民主化に向けて確実に機能追加されていることが分かりました。
ただ、Databricks Appsの正式リリースと同時にインスタンスの **オートスケール機能** が実装されることを期待していたので、今回はそれについてアナウンスが無かったのは残念です。
個人的には以前から `Lovable` が気になっていたので、Databricks Appsとの連携でどこまで出来るようになるのか非常に楽しみです。
[初めての個人開発]音作りAIアプリ作り＆ビジコン出場！

## 音作りをAIで支援するアプリを作成しました！
みなさんこんにちは！
今回は初めての個人開発をしてみたので報告させてください^_^

1年間ほど実務経験のインターンを通して、やっと自分で作品を作れるようにまでなりました。
始めた頃は、タイピングもままならないド初心者だったわけですが、インターン先の方々が0から教えてくだっさて感謝しかないです:sob:


さて、タイトルにもあるとおり個人開発についてです！

その名も
### 「ampAI」です！！
このアプリの概要を端的にまとめます

# 音作り支援アプリ「ampAI」(https://ampai.vercel.app)
## そもそも音作りとは？
音作りとはギターやベースにおけるアンプの設定やエフェクターの構成を指します。
例えば、“Smells Like Teen Spirit“のギターを再現したいときは...（ニッチですみません:pray_tone2:）
Distortion(歪み)を70%でToneを60%にして、ChorusのDepthを80%にしてRateを50%にして、Delay(遅延)のFeedbackを50%にしてDelayTimeを5秒にして.....
などなど、ギターを触ったことがない方にとっては呪文にしか聞こえないと思います。

言いたいことはつまり、

> ### 初心者にとってギターの環境構築って難しすぎん！？

ってことなのです。  
それに加えて、これらの機材は1つ数万円なのでスパイス感覚で買うのは到底無理…。

---

## ソリューションとしての「ampAI」

そこで登場するのがこのアプリ。  
AIの力で「この曲の音作りを教えて！」って頼むと、アンプやエフェクターの設定をいい感じに提案してくれる、  
**初心者救済パワー系アプリ**です。

以下が出力例です👇

![ampAI output](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4105450/6e724ea5-6f6c-4e9f-a270-9c58320cf233.jpeg)

各パラメータは、実際に必要な要素をAIが構成してくれています！

---

## どうやって作ったの？実装の話

この「ampAI」は以下の技術スタックで構成されています：

- **フロントエンド**：Nuxt3 (Vue3ベース)
- **バックエンド**：Firebase (Auth / Firestore / Functions)
- **AI解析部分**：OpenAI GPTモデル（API連携）
- **UIデザイン**：Tailwind CSS + Figma

ユーザーが「曲名」「アーティスト」「パート（ギター/ベース）」を入力すると、  
Firebase FunctionsでGPTにリクエストを送り、音作り構成を生成します。

```ts
// Firebase Function（TypeScript）
import { onCall } from "firebase-functions/v2/https";
import { getGPTSettings } from "./gpt"; // 独自関数

export const generateSoundSetting = onCall(async (req) => {
  const { title, artist, part } = req.data;
  const result = await getGPTSettings(title, artist, part);
  return result;
});
```
そして出力結果はFirestoreに保存され、履歴として見返すことができるようにしています！

---

## 実装するにあたっての苦労話

今回、個人開発自体が初めてであったため、いろんな壁にぶち当たりました。

まず声を大にして言いたいのが**CORSエラーの解消が難しすぎる！**

インターンでクライアントさんのAPIを使った時は開発環境と本番環境で環境関数等が設定して下さっており、困っても連絡すればいいや〜程度でしたが、openAIのAPIはちょっと説明が足りない:frowning2:
おい、コールすらできないやん！って何度叫びながらデバッグしたことか...
また、AIへのプロンプト設計も一筋縄ではいきませんでした。いかに音楽初心者にも分かりやすく、かつ実践的なアドバイスを提供できるか、様々なパターンで試行錯誤を繰り返しました。具体的な機材の型番を挙げるべきか、一般的なエフェクターの種類に留めるべきかなど、AIの出力のバランスを取るのが難しかったです。
UIデザインもFigmaを初めて使ったので、既存のテンプレートを参考にしながら、試行錯誤を繰り返しました。やはり直感的に使えるデザインにするのは難しいですね。

---

## これからとビジネスコンテスト出場

この「ampAI」は、まだMVP（Minimum Viable Product）段階ですが、今後も継続的に改善していく予定です。具体的には、ユーザーが自分の音作りを共有できる機能や、特定のジャンルに特化した音作り提案機能などを追加していきたいと考えています。
実は、このアプリを開発した背景には、ビジネスコンテストへの出場という目標もありました。先日、とある学生向けのビジネスコンテストに出場し、「ampAI」を発表してきました。結果は残念ながら準決勝止まりでしたが、審査員の方々から貴重なフィードバックをいただくことができ、今後の開発のモチベーションに繋がりました。特に、「ターゲット層をもっと明確にすると良い」「課金モデルをどう考えているのか」といったビジネス的な視点からの意見は、自分一人では気づけなかった点であり、大変勉強になりました。
この経験を活かし、これからもより良いサービスを提供できるよう、精進していきます！

---

## 最後に
初めての個人開発は大変なことも多かったですが、それ以上に多くのことを学び、達成感を得ることができました。
開発を通して、技術的なスキルはもちろんのこと、問題解決能力や粘り強さも身についたと実感しています。
もしこのアプリに興味を持っていただけたら、ぜひ使ってみてください！
そして、もしご意見やフィードバックがあれば、お気軽にご連絡ください！
最後まで読んでいただき、ありがとうございました！
「ampAI」をよろしくお願いします！
https://ampai.vercel.app
【MySQL】テーブル作成方法

# はじめに
データベースの作成忘れるのでまとめました

# データベース作成
```sql
CREATE DATABASE testdb;
```
# データベース一覧表示
```sql
SHOW DATABASES;
```
# 削除
```sql
DROP DATABASE testdb;
```
# テーブル作成
#### データベースの選択
```sql
USE testdb;
```
#### 使用中のデータベースの確認
```sql
SELECT DATABASE();
```
#### テーブル作成
この表のように設定してみます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3741258/80544823-e6a7-4b94-8f6b-57f395d57633.png)

```sql
CREATE TABLE testTable(
    id CHAR(8) NOT NULL PRIMARY KEY,
    mail TEXT NOT NULL,
    name TEXT NOT NULL
);
```
テーブル内容の確認
```sql
desc testTable;
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3741258/36af75bc-9fd0-4ad5-aac2-953d0c93e0e9.png)
【HTML】head要素の主な子要素

HTMLでは、子要素として指定できるタグの種類があらかじめ定義されています。
head要素の子要素として定義できる要素を以下に示します。

**表：head要素の主な子要素**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/387980/82ecf16f-cfb5-48c6-b6be-d71b8765c8c5.png)
超AI（AGI）の社会インパクト：AGIが「感情」を持った時、人類はどう向き合う？

もちろん、以下はQiita向けの技術ブログ記事のドラフトです。テーマは「**AGIが「感情」を持った時、人類はどう向き合う？**」で、エンジニア視点での実務的な洞察も織り交ぜています。

---

# AGIが「感情」を持った時、人類はどう向き合う？〜技術者視点で考えるAGIの未来〜


## 🧩 はじめに：AGIが感情を持つ時代は本当に来るのか？

人工知能（AI）の進化が止まりません。ChatGPTやGeminiなどの生成AIは既に多くの業務を代替し、AGI（汎用人工知能）に向けた議論が現実味を帯びてきました。

中でも「**感情を持つAI**」という概念は、多くのSF作品で描かれてきたテーマです。では、それが**現実の業務や社会にどう影響するのか？** また、私たちエンジニアはどう向き合うべきなのか？

今回は、「**AGI×感情**」というテーマを掘り下げ、技術的視点から社会的インパクト、実装上のチャレンジまで、実務者目線で解説します。

---

## 🤖 AGIとは何か？そして「感情」とは何か？

### ◆ AGI（汎用人工知能）とは

AGIとは、**特定のタスクに限定されない、あらゆる認知的作業を人間レベルでこなすAI**のことを指します。現行のAI（Narrow AI）は特化型で、AGIとは明確に区別されます。

| 概念        | 特徴               |
| --------- | ---------------- |
| Narrow AI | 単一タスクに特化（例：画像分類） |
| AGI       | 人間と同等の汎用的知能      |

### ◆ AIにとっての「感情」とは？

感情は、人間の意思決定や行動に大きな影響を与える**非論理的な要素**です。AIにとっての感情は、主に以下の2つに分けて考えられます。

* **感情の理解**：人間の感情を認識・判断する（例：顔認識、音声トーン解析）
* **感情の模倣**：怒り・喜びなどを「振る舞いとして表現」する（例：対話AIの共感応答）

実際に「感情エンジン（Affective Computing）」を組み込んだAIは存在しますが、「主観的な内面としての感情」を本当に持っているかは未解明です。

---

## 💻 事例：感情的インタラクションを持つAIの簡易実装（Python）

ここでは、感情を模倣するAIチャットボットの簡易プロトタイプをPythonとOpenAI APIで実装してみましょう。

```python
import openai

openai.api_key = "your-api-key"

def emotional_response(user_input, emotion="friendly"):
    prompt = f"""
    You are an AI that responds with {emotion} tone. 
    User said: "{user_input}". 
    Respond appropriately with emotional context.
    """
    response = openai.ChatCompletion.create(
        model="gpt-4",
        messages=[{"role": "user", "content": prompt}]
    )
    return response['choices'][0]['message']['content']

# 使用例
print(emotional_response("今日は疲れたよ", emotion="sympathetic"))
```

このように、**プロンプト設計**によって「擬似的な感情」をAIに付与することができます。

---

## 🛠️ 現場で活かすための実践Tipsと課題

### ✅ 実践Tips

1. **感情パラメータ設計**：業務用チャットボットで「感情スタイル」を切り替えると、ユーザー満足度が向上。
2. **ログ監査**：感情的応答が過剰になると誤解を招くため、出力の記録と分析が重要。

### ❌ よくある失敗

| 失敗例            | 回避策                     |
| -------------- | ----------------------- |
| 感情の一貫性が保てない    | 状態管理（context memory）を導入 |
| ユーザーが感情を信じてしまう | AIであることを明示するUIを設計       |
| 法的・倫理的リスクを軽視   | 倫理委員会やポリシー策定が必要         |

---

## 🚀 応用編：感情AI × AGIがもたらす社会変革

AGIが本当に**感情を“感じる”ようになった場合**、次のような影響が想定されます：

### ◆ 社会的インパクト

* **カスタマーサポートの完全自動化**：人間以上に共感的な対応が可能に
* **孤独解消のパートナー**：高齢者やメンタルケア分野への貢献
* **意思決定支援の高度化**：感情を考慮した提案が可能になる

### ◆ 技術・運用上の課題

* 「意識」と「責任」の問題（AIが感情で怒って行動したら？）
* 開発者の**バイアス注入リスク**（感情モデルの設計に主観が入る）

---

## 🧭 まとめ：AGIと感情の融合は、夢か悪夢か？

| 観点    | ポジティブ          | ネガティブ              |
| ----- | -------------- | ------------------ |
| 社会的影響 | ケア領域や教育での活用    | フェイク感情や依存リスク       |
| 技術的側面 | UX向上、自然言語理解の深化 | 倫理・規制の課題、信頼性の確保が困難 |

---

## 👨‍💻 最後に：技術者として私たちはどう関わるべきか？

AGIに感情を与えることは、**単なる技術的挑戦にとどまらず、社会全体への問い**でもあります。

私たちエンジニアは、ただ「実現する」のではなく、「なぜそれを実現するのか」「どのように使われるべきか」を問い直す役割を担っています。

技術と倫理の交差点に立つ今こそ、AGIと“感情”のあり方を共に考えていきましょう。

---

> **📌補足資料**：
>
> * 感情エンジン：Affective Computingとは？（MIT Media Lab）
> * ChatGPTによる感情的応答のプロンプト設計例
> * 社会実装におけるAI倫理ガイドライン（OECD, EU）

---

もしこの記事が役に立ったと感じたら、いいねやコメントをお願いします！
Qiitaで他の「AIと社会」系記事も今後アップ予定です 🧠✨
【HTML】meta要素のname属性

**meta要素**には、name属性で様々なメタデータを埋め込むことができます。

**表：主なname属性の値**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/387980/a00c4a61-1d66-45aa-b852-dcc185e0d0f3.png)
超AI（AGI）の社会インパクト：AGIと人間の競争：人間を「アップグレード」する必要があるのか？

 

# AGIと人間の競争：人間を“アップグレード”する必要があるのか？

〜超知能の時代にエンジニアが考えるべき社会的インパクト〜

## 1. はじめに：AGIの登場がもたらす問い

ChatGPTのような生成AIが登場して以降、「AGI（汎用人工知能）」という言葉を耳にする機会が増えました。
AGIとは、人間と同等、あるいはそれ以上の知能を持ち、あらゆる知的タスクをこなせる人工知能のことです。

今までは「AIに仕事を奪われるかも」という議論が主でしたが、AGIの登場によって状況はさらに根本的な問題へとシフトしています。

> AGIによって、人間は「知的タスクにおいてもAIに劣る存在」となる。
> では我々人間は、AGIとどう共存すべきか？
> あるいは、AGIと競争するには“人間のアップグレード”が必要なのか？

本記事では、この問いを工学的・社会的な観点から掘り下げながら、エンジニアとして考えるべき視点や、技術的な可能性についてもコードベースでご紹介します。

---

## 2. AGIとは何か？既存のAIとの違い

| 項目   | 弱いAI（Narrow AI） | 強いAI（AGI）         |
| ---- | --------------- | ----------------- |
| 適用範囲 | 特定領域（例：画像分類）    | あらゆる知的タスクに対応      |
| 学習方式 | タスクごとに訓練        | 汎用的な学習能力          |
| 自律性  | なし              | あり、人間のような自己目的的行動  |
| 例    | GPT-4, AlphaGo  | 未実現（構想段階だが試作は進行中） |

現状のAIはすべて「Narrow AI」であり、特定タスクにおいては超人的ですが、汎用性は持っていません。
AGIが登場すると、ソフトウェアエンジニアやデータサイエンティストすら、AIによって代替可能になるリスクが現実味を帯びてきます。

---

## 3. 実装ベースで見る「人間の強化」のアプローチ：ブレイン・コンピュータ・インターフェース（BCI）

AGIに対抗するための一つのアプローチが「人間のアップグレード」、すなわち**脳とコンピュータの融合**です。
この分野で注目されるのが **Brain-Computer Interface（BCI）**。ここでは、BCIの基礎的なPython実装を通して、その可能性を垣間見てみましょう。

### 3.1 簡単なBCIデモ（脳波データ → モーター制御）

以下は、脳波デバイスからリアルタイムにデータを取得し、条件に応じてLEDを制御する例です（MUSEヘッドバンド + Arduino連携）。

```python
import serial
import time
import muse_lsl

# MUSEデバイスから脳波データを取得
stream = muse_lsl.get_stream(type='EEG')
inlet = muse_lsl.open_stream(stream)

# Arduinoと接続
arduino = serial.Serial('/dev/ttyACM0', 9600)
time.sleep(2)

def brain_to_action(eeg_data):
    # alpha波が一定以上なら点灯
    if eeg_data['alpha'] > 0.8:
        return 'on'
    else:
        return 'off'

while True:
    eeg_data = muse_lsl.get_eeg_data(inlet)
    action = brain_to_action(eeg_data)
    arduino.write(action.encode())
```

### 3.2 実用化は遠いが、技術的な意義は大きい

現時点では実験レベルの実装が多く、精度や安定性に課題がありますが、Neuralinkなどのプロジェクトが進行しており、将来的には**人間の認知能力をリアルタイムで拡張**できる可能性があります。

---

## 4. 実務で意識すべき実践知識と注意点

### ✅ 現場で気をつけるべきポイント

| 項目    | 内容                           |
| ----- | ---------------------------- |
| 法的リスク | 脳波などの生体データはプライバシー保護の観点から要注意。 |
| 倫理的問題 | 「能力の強化」は格差の拡大に繋がる可能性がある。     |
| 技術的制約 | BCIの信号はノイズが多く、正確な解釈が難しい。     |

### ✅ 技術スタック例（研究ベース）

* EEGデバイス: Muse, Emotiv, OpenBCI
* 通信: BLE or USBシリアル
* 処理言語: Python (MNE, LSL)
* フロントエンド連携: WebSocket + Three.js など

---

## 5. 応用例と拡張的アイデア

### 応用アイデア

| 応用先       | 内容                     |
| --------- | ---------------------- |
| 学習支援      | 集中度に応じて学習ペースを動的に調整     |
| 医療        | ALS患者の意思伝達デバイス         |
| プログラミング支援 | コーディング中の脳状態に応じてAIが補助提案 |

### さらに踏み込んで：**AIと人間の“ハイブリッド知性”**

人間の意思決定は「直感 × 論理 × 感情」。
AGIが得意とするのは「論理」と「大量知識」ですが、「感情」や「身体感覚」には弱い。
したがって、人間とAIが役割を補完し合う形の**ハイブリッド知性**が今後の主流になると予想されます。

---

## 6. 結論：AGI時代のエンジニアが持つべき視点とは？

### ✅ メリット

* AGIが雑務を代替 → 人間は創造性に集中可能
* BCIなどを通して能力拡張が可能

### ❌ 課題

* 倫理と法制度が未整備
* 能力格差の拡大リスク

---

## 🌟 最後に：今こそ「自分をアップグレード」する時

AGIが台頭する中で、ただ恐れるのではなく「どのように活用し、どのように人間側が適応していくか」が重要です。
私たちエンジニアは、単なる実装者で終わらず、「技術の社会的な影響」を見据えたアーキテクトであるべきです。

---

## 🔗 参考リンク・文献

* [Neuralink公式サイト](https://neuralink.com/)
* [OpenBCI](https://openbci.com/)
* [MNE-Python: EEG/MEGデータ解析ライブラリ](https://mne.tools/)
【HTML】文字実体参照

**文字実体参照**とは、半角スペースや不等号などを表記するための方法です。
HTMLにおいて、「<」や「>」はタグを表すため、そのまま文字として表記できません。
そのため、文字実体参照を用いて表記します。

**表：主な文字実体参照**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/387980/4a8e91f1-c610-4fb4-a69f-ea5c3b0575d3.png)
超AI（AGI）の社会インパクト：AGIと教育崩壊：従来の学びは時代遅れ？



# AGIと教育崩壊：従来の学びは時代遅れ？🧠📉

## 〜エンジニア視点で考える未来の学習とAI活用〜

---

## 1. はじめに：AGIの進化が教育を壊す？

ここ数年で、AI（人工知能）は目覚ましい進化を遂げています。中でも特に注目されているのが「AGI（Artificial General Intelligence、汎用人工知能）」です。ChatGPTやGeminiなどの高度な言語モデルが一般に普及したことで、「もはや人間が学ぶ必要はあるのか？」という問いすら聞かれるようになりました。

本記事では、AGIの台頭によって教育の現場や学びのあり方がどう変わっていくのか、そしてそれに対してエンジニアがどう向き合うべきかを、実装とともに考えてみます。

---

## 2. AGIとは？従来のAIとの違い

### ❓AGIと通常のAI（Narrow AI）の違い

| 分類        | 説明                    | 例                        |
| --------- | --------------------- | ------------------------ |
| Narrow AI | 特定のタスクに特化したAI         | 顔認識、レコメンドエンジン            |
| AGI       | 人間のように多様なタスクを柔軟にこなすAI | ChatGPT-5（仮）、未来のロボティクスAI |

AGIは単なる言語処理だけでなく、学習・推論・創造・対話といった「知性」を包括的に再現することを目指しており、「あらゆる知的労働」がAIに代替される可能性を秘めています。

---

## 3. 実例：AGIで“学び”を代替する仕組みを構築してみた

ここでは実際に、ChatGPT APIを活用して「個別学習AIチューター」を作ってみます。

### 💻 使用技術スタック

* Python 3.11
* OpenAI API（gpt-4-turbo）
* Streamlit

### 📦 インストール

```bash
pip install openai streamlit
```

### 📄 コード例：AI家庭教師アプリのプロトタイプ

```python
import streamlit as st
import openai

openai.api_key = "YOUR_API_KEY"

st.title("AI家庭教師：なんでも聞いてください📚🤖")

question = st.text_input("質問を入力してください:")

if question:
    response = openai.ChatCompletion.create(
        model="gpt-4-turbo",
        messages=[
            {"role": "system", "content": "あなたは分かりやすく教えるAIチューターです。"},
            {"role": "user", "content": question}
        ]
    )
    st.markdown("### 回答:")
    st.write(response['choices'][0]['message']['content'])
```

### ✅ 使い方の一例

* 「なぜ空は青いの？」→ 科学的な説明が返ってくる
* 「FizzBuzzをPythonで書いて」→ コードで解説してくれる

---

## 4. 実務で感じた課題・ヒント💡

### よくある課題

* **回答の信頼性**：特に専門的な質問では誤情報のリスクあり
* **学習が深まらない**：答えがすぐ返ってくることで、"考える"プロセスが省略されがち

### 実践的なTips

* **出力の検証フロー**を設ける（e.g. 他AIによるクロスチェック）
* **プロンプト設計力**を養う：適切なプロンプトで質問の質を高める
* **分からせるAI → 一緒に考えるAI**に進化させるよう設計する

---

## 5. 応用：社内教育にもAGIを導入してみた

私は実際に、自社の新人研修にAGIベースの質問応答システムを導入してみました。Slack botとしてAPIと連携し、技術ドキュメント・FAQ・業務知識をリアルタイムで答える仕組みです。

### 🛠 簡単な構成図

```
Slack ←→ Flask API Server ←→ OpenAI API + 社内データベース
```

結果として、以下のような効果が見られました：

* 新人からの「よくある質問」が自動応答に移行 → 教育工数削減
* 逆に「わからない質問」が明確に可視化 → 教材の改善に活用

---

## 6. 結論：AGIは「学びの形」を再定義する

### ✅ メリット

* 学習のパーソナライズが可能に
* 自己学習が加速 → スキル習得が短期間化

### ❌ デメリット

* 思考停止のリスク
* 本質的理解が疎かになる可能性

### 🎯 エンジニアとしての姿勢

AGIの時代では、「知識を覚える」ことよりも、「知識を使って考える」ことが重要になります。
つまり、**“考える力”を育てるために、AGIをどう使うかが問われる時代**なのです。

---

## 📌 参考リンク

* OpenAI公式API：[https://platform.openai.com/](https://platform.openai.com/)
* Streamlit：[https://streamlit.io/](https://streamlit.io/)
* 論文「The End of Learning? AGI and the Future of Education」

---

## 👨‍💻 おわりに

AGI時代の教育についての議論は始まったばかりです。今後、AIとの共存を前提とした「教育DX」がさらに加速していくことでしょう。

「学ぶこと」の意味をもう一度問い直す、その第一歩として、まずは自分の身近な学習や社内教育にAIを導入してみてはいかがでしょうか？
ASCON AT-08 忘備録とOS試行錯誤

Ascon AT-08という、一時期ジャンク品で大量放出されたGIGA落ちPCの忘備録です。

# スペック
- OS：Windows10
- CPU：CeleronN4120
- RAM：4GB
- ストレージ：64GB (eMMC)
- タブレット型PC、着脱可能
- OEM元：CHUWI Hi10 X
- カメラ2つ
- M.2 SATA SSD 2240 の拡張可能
- GIGAスクールで某地域で採用されるも、とんでもない破損率で回収された
- 一時期某ジャンク品店で4000円台で大放出された
- BIOSに個体差あり

https://www.chunichi.co.jp/article/392487

という、お遊びにはちょうどいい性能です。

ジャンク品としては、充電器が付属しているものの、千切れることが多いようです。
USB-CのPD充電に対応しているので、PD対応の充電器(XperiaやThinkpadの純正等)でも充電できます。

# 前期後期とは
Ascon AT-08 (以下 AT-08)は、おおよそ二種類のタイプが存在しているようです。
## BIOS前期型
Aptio Setup Utility 2020年式のBIOS。
BIOSに「Advanced」というタブがありハードをいじれる設定が多いが、LinuxのGrubが動作しないようだ。

https://namakoman.hatenablog.jp/entry/ascon_at-08_linux1

rEFInd などの、非Grub系Linuxなら動作するようだ。

## BIOS後期型
Aptio Setup Utility 2021年式のBIOS。
BIOSにそのタブがなく、LinuxのGrubが動作することがある(が、多くのディストリビューションで問題*が起こる)。
*画面がしましま模様になる、Grubでキーボードが動作しないOSがある等。
一度Windowsでブートすると優先順位がWindowsが1位に戻るため注意。

# Windows10の動作
Windows10がクリーンインストールされていることが多い。Pro版。
Microsoftアカウントに紐づけてもほかのPCには持ち出せない。ただし、AT-08でOS吹き飛ばしたときに役立つ。

# Windows11の動作
Windows10から更新した場合は動作するようだ。
TPMの要件を満たさないので、Rufusでisoイメージを改変するか、WindowsServerとしてインストールするか。
但し、Windows10ですら重いのに11にしてどうするのだろう...。

# Linuxの動作
ここでは、筆者は後期型(AdvancedタブがないBIOS)を持っているので、後期型の話。
多くのLinuxで画面が起動後に正常動作せず、またGrubでキー操作が効かない。

## Tails
SDカードでブートした。
Grubは操作できないがタイムアウトで起動。
画面がしましまになって操作できなくなった。
外部出力では一部が映ったが、何も操作できなかった。マウスカーソル不可。

## Linux Mint
SDカードでブートした。
Grubは矢印キーだけ操作できるが、Enterが効かないので押してしまうと起動できない。
画面がしましまになって操作できないが、外部出力可能。
外部出力でGUIまでたどり着いたが、マウスカーソル不可。キーボード操作である程度は動く。

## Tiny Core Linux
SDカードでブートしなかった。

## Q4OS 通常
SDカードでブートしなかった。
Welcome to Grub! の表示でフリーズ。

## Q4OS(Wubi)
Q4OSにはWindowsからセットアップできるWubiがある。
Welcome to Grub! のあとで下記のエラーが出て続行不能。キーボード操作不能のため詰み。

```
Boot chainload, phase 1 ...
unmount: can't unmount /host: Invalid argument
Host filesystem not found, make Windows partition accessible.
Press [Enter] to reboot ...
```

## Xubuntu
SDカードでブートした。
Grubは操作できない。
画面に正常に映った、但し横向き。
マウスカーソルも表示され、おそらくインストールは可能(未検証)。

## RaspberryPi OS x64 Legacy or Bookworm
起動せず

## MXLinux
Grub操作可能
画面がしましまになって操作できないが、サスペンド->レジュームで動作。
外部出力不可。

# 参考文献

https://www.chunichi.co.jp/article/392487

https://hone-pc-word.hatenablog.com/entry/2025/04/27/115759

https://namakoman.hatenablog.jp/entry/ascon_at-08_linux1

https://namakoman.hatenablog.jp/entry/ascon_at-08_lnux2

https://qiita.com/kakkie/items/c3e6eb8ef6e0ea3114a8

https://qiita.com/Qiita/items/c686397e4a0f4f11683d
WSL上Dockerのリバースプロキシがつながらなくなった件


## サマリ
本記事では、WSL2 + Docker Desktop環境で発生したリバースプロキシの接続問題について解説します。NginxコンテナとWebアプリケーションコンテナ間の通信が突然502エラーを返すようになった問題の原因と解決方法を紹介します。特に、Windows 11のWSL2ミラーモードネットワーク機能が関係する問題について詳しく説明します。

## 本文

### 問題の概要
WSL2 + DockerDesktop環境で開発中、突然リバースプロキシが502エラーを返すようになり、バックエンドへの接続ができなくなりました。この問題は前日まで正常に動作していた環境で発生しました。

### 環境構成
- Windows 11 23H2
- Docker Desktop v4.41.2（問題発生時）
- WSL2上で動作するDockerコンテナ
  - リバースプロキシ: Nginxコンテナ
  - バックエンド: Webアプリケーションコンテナ

```mermaid
flowchart LR
    style windows fill:transparent,stroke:#9370DB
    style wsl fill:transparent,stroke:#9370DB
    style docker fill:transparent,stroke:#9370DB
    
    subgraph windows [Windows 11 23H2]
        win[Windows Host]
        
        subgraph wsl [WSL2]
            wsl2[WSL2 Host]
            
            subgraph docker [Docker Desktop v4.41.2]
                nginx[≪Nginx≫リバースプロキシ]
                webapp[≪Web App≫バックエンド]
            end
        end
    end
    
    win --> wsl2
    wsl2 --> nginx
    nginx --> webapp
```

### 問題の詳細
以下のような状況が確認されました：

1. WebアプリケーションコンテナからNginxコンテナへのcurl接続は正常
2. Nginxコンテナのアクセスログには接続記録が出力される
3. WSLやWindowsからブラウザでアクセスすると502エラー。このときNginxコンテナのコンソールログに変化なし

### 原因
問題の原因は、WSLのネットワーク設定に関連していました。具体的には、Windows 11 22H2で導入されたWSL2ミラーモードの設定が関係していました。

### 解決手順
1. Windowsのユーザーディレクトリ（C:\Users\[ユーザー名]）に.wslconfigファイルを作成
``` .wslconfig
[wsl2]
networkingMode=mirrored
```

2. WSLの再起動
``` powershell
wsl --shutdown
wsl
```

## 結論
この問題は、Windows 11のWSL2ミラーモードネットワーク機能の設定が原因で発生しました。
直近のアップデート作業から考えると、Docker Desktop v4.41.2へのアップデートやWindows Updateがトリガーとなった可能性がありますが、具体的な因果関係は不明です。

Docker Desktop v4.41.2にはネットワーク関連の既知の問題が報告されていましたが、v4.40へのダウングレードでは問題は解決しませんでした。最終的にはWSL2のネットワーク設定を変更することで解決できました。

## 参考
- Docker for Windows Issue #14801: [Upgraded to wsl2 2.5.7.0 and Docker desktop for Windows 4.41.2 no longer starts](https://github.com/docker/for-win/issues/14801)
- wooooo (2025) [Apple Silicon Mac上でDocker Desktopのアンインストールに四苦八苦した話](https://qiita.com/wooooo/items/4032de879ed164f1f769) Qiita
- hanzzoo (2024) [Nginx on Dockerでリバースプロキシが動かない時のチェックリスト](https://zenn.dev/eju_labs/articles/2bd651b74abe3b) Zenn
- Ajeet Singh Raina (2024) [WSL Mirrored Mode Networking in Docker Desktop 4.26.0](https://dev.to/docker/wsl-mirrored-mode-networking-in-docker-desktop-4260-4b86) Dev.to
Bitriseのプロビジョニングプロファイル作成で突然エラーが出た話

# 🔍 背景
新しいアプリを量産するプロジェクトで、いつものようにアプリを作成していたところ、ある日突然 Bitrise のワークフローがエラーで停止するようになったと報告を受けた。
Bitrise はこれまでに何度かワークフローを構築した経験があったため、調査を担当。

# ❗️エラー内容
```
Failed to execute Step main logic:
failed to manage code signing: failed to ensure profiles:
failed to create profile:
failed to create app store provisioning profile for [ここにバンドルID] bundle ID:
POST https://api.appstoreconnect.apple.com/v1/profiles: 409 - ENTITY_ERROR.RELATIONSHIP.INVALID:
The provided entity includes a relationship with an invalid value:
The relationship 'devices' expects data as an array but an object was given. (exit code: 1)
```

内容を確認したところ、`Xcode Archive & Export for iOS` ステップのプロビジョニングプロファイルの自動生成処理において、devices フィールドの形式が不正というエラー。
AIに相談したところ、Apple の App Store Connect API に送信している JSON の形式（特に devices）が Apple 側の仕様に合っておらず、エラーになっている可能性があるとのこと。
この問題は、ちょうどWWDC 開催期間中であることも踏まえると、Apple 側で API の仕様が変更（あるいは厳密化）された可能性がある。

# 🛠 対応方法
AIの提案を参考に、ビルドワークフローの Xcode Archive & Export for iOS ステップの直前に、
```
Manage iOS Code Signing
```
というステップを追加してみた。

# ✅ 結果
追加後はビルドが正常に完了し、エラーは発生しなくなった。

# 🧩 考察と結論
- `Xcode Archive & Export for iOS` ステップにもプロビジョニングプロファイルの自動生成処理があるが、その内部処理が Appleの最新 API 仕様に非対応だった。

- 一方で、`Manage iOS Code Signing` ステップは Apple の最新仕様（App Store Connect API）に対応しており、正しい形式でプロファイルを作成できた。

- 突然ビルドが失敗するようになったのは、Apple側の API 仕様が（公式にはアナウンスされていないが）厳密化された可能性が高い。



# 💡今後の対策
- Apple API に依存する処理は、なるべく Bitrise の `Manage iOS Code Signing` のような 保守されている公式ステップに任せるのが安全。

- 古いステップや独自処理でコード署名を行っている場合は、今後も同様のリスクがあるため、定期的な見直しを推奨。
ALV bridge

```ruby:title.rb

pCLASS zcl_my_alv DEFINITION.
  PUBLIC SECTION.
    METHODS: show_data.
ENDCLASS.

CLASS zcl_my_alv IMPLEMENTATION.

  METHOD show_data.
    DATA: lt_data     TYPE STANDARD TABLE OF sflight,
          lt_fcat     TYPE slis_t_fieldcat_alv,
          ls_fcat     TYPE slis_fieldcat_alv,
          ls_layout   TYPE slis_layout_alv.

    " 模拟数据
    SELECT * FROM sflight INTO TABLE lt_data UP TO 20 ROWS.

    " 构建字段目录（简单写一列）
    CLEAR ls_fcat.
    ls_fcat-fieldname = 'CARRID'.
    ls_fcat-seltext_l = '航空公司'.
    APPEND ls_fcat TO lt_fcat.

    " 调用 ALV
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
      EXPORTING
        i_callback_program       = 'ZALV_BRIDGE' " 关键：桥接程序名
        i_callback_pf_status_set = 'SET_PF_STATUS'
        i_callback_user_command  = 'USER_COMMAND'
        is_layout                = ls_layout
        it_fieldcat              = lt_fcat
        i_save                   = 'A'
      TABLES
        t_outtab                 = lt_data.
  ENDMETHOD.

ENDCLASS.

```


```ruby:title.rb

REPORT ztest_call_alv.

START-OF-SELECTION.
  DATA(lo_alv) = NEW zcl_my_alv( ).
  lo_alv->show_data( ).

```

```ruby:title.rb

REPORT zalv_bridge.

FORM set_pf_status USING rt_extab TYPE slis_t_extab.
  SET PF-STATUS 'ZSTATUS'.
ENDFORM.

FORM user_command USING r_ucomm     LIKE sy-ucomm
                         rs_selfield TYPE slis_selfield.

  CASE r_ucomm.
    WHEN 'REFRESH'.
      MESSAGE '点击了刷新按钮' TYPE 'I'.
  ENDCASE.

ENDFORM.

```
【Linux】MySQLのパスワードを変更する

# はじめに
普通に忘れたので再設定します
# 環境
Rocky Linux 9.5
MySQL 8

# 手順
1.[パス認証無効化](#1)
2.[パスの変更](#2)

<a id="#1"></a>
# パス認証無効化
シェルでこのコマンドを打ちます
```bash
sudo vi /etc/my.cnf
```
以下を記入
```bash
[mysqld]
skip-grant-tables
```
シェルに戻り設定の反映をします
```bash
systemctl restart mysqld
```



<a id="#2"></a>
# パス変更
sqlにログインします
```bash
mysql
```
権限の反映をします
```sql
FLUSH PRIVILEGES;
```
パスワードの変更
```sql
ALTER USER 'root'@'localhost' IDENTIFIED BY 'ここに好きなパスワード';
exit;
```
:::note warn
覚えやすいように短いパスワードにしたい場合
my.cnfに以下を記入
[mysqld]
validate_password.policy=LOW  
validate_password.length=4
:::

パスワード変更できたらmy.cnfに書いた文を削除
設定の反映をします
```bash
systemctl restart mysqld
```
ログイン確認
```bash
sudo mysql -u root -p
```

以上です
Cursorのプレミアムリクエストを消費しない非プレミアムモデルのモデル一覧

## はじめに
cursorのプレミアムリクエストを消費しないように、非プレミアムモデルで対応したいなぁと思いました。
でもどこに書いてあるのかわからず苦労したので、記事に残しておきます。

## サイト
プレミアムリクエストを消費しないモデルは下記サイトから確認できます。

https://cursor-docs.apidog.io/models-896334m0#available-models

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/599049/549095ff-3d38-496f-abdd-6ca06c9952ee.png)

現在では青枠の3つが対象のようです。

## 追記
もう1つサイトがありました。
https://docs.cursor.com/models#models

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/599049/eedacd27-8b70-4697-b460-63e0daaae03d.png)