Skip to content

Commit aa9f464

Browse files
レビュー対応: runtime/aiをMarkdown化しフッター順序を調整
Agent-Logs-Url: https://github.com/ut-code/my-code/sessions/2fc65863-fa39-4792-951b-b591b0f7efb9 Co-authored-by: na-trium-144 <100704180+na-trium-144@users.noreply.github.com>
1 parent a316b01 commit aa9f464

5 files changed

Lines changed: 105 additions & 244 deletions

File tree

app/about/ai/content.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# AI質問機能について
2+
3+
my.code(); では、学習をサポートするための AI アシスタント機能を提供しています。
4+
ご利用前に以下の事項をご確認ください。
5+
6+
## AIの回答の正確性について
7+
8+
**AIの回答は誤りを含む場合があります。**
9+
10+
AIは非常に自信を持って誤った情報を回答することがあります。
11+
AIの回答を鵜呑みにせず、必ず自分自身で内容を確認するようにしてください。
12+
13+
## 免責事項
14+
15+
AI質問機能の利用によって生じたいかなる損害についても、ut.code(); は責任を負いません。
16+
17+
## 使用しているAIモデルについて
18+
19+
AIモデルへのアクセスには [OpenRouter](https://openrouter.ai/) を使用しています。
20+
使用するモデルは ut.code(); が選択しており、ユーザーが変更することはできません。
21+
また、使用するモデルは予告なく変更される場合があります。
22+
23+
## データの取り扱いについて
24+
25+
**入力データの利用について**
26+
27+
- AIへの質問内容やこのサイトで実行したコードのデータは、AIモデルのプロバイダーによって学習データとして利用される可能性があります。
28+
- また、サービス品質の向上等を目的として、ut.code(); のメンバーが閲覧可能な形でサイトに保存されます。
29+
- **個人情報や機密情報は入力しないようにしてください。**

app/about/ai/page.tsx

Lines changed: 3 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Metadata } from "next";
2-
import { Heading } from "@/markdown/heading";
2+
import { StyledMarkdown } from "@/markdown/markdown";
3+
import content from "./content.md?raw";
34

45
export const metadata: Metadata = {
56
title: "AI質問機能について",
@@ -9,89 +10,7 @@ export const metadata: Metadata = {
910
export default function AiPage() {
1011
return (
1112
<div className="p-4 pb-16 w-full max-w-docs mx-auto">
12-
<Heading level={1}>AI質問機能について</Heading>
13-
<p className="my-4 opacity-80">
14-
my.code(); では、学習をサポートするためのAIアシスタント機能を提供しています。
15-
ご利用前に以下の事項をご確認ください。
16-
</p>
17-
18-
<Heading level={2}>AIの回答の正確性について</Heading>
19-
<div className="alert alert-warning my-4">
20-
<svg
21-
xmlns="http://www.w3.org/2000/svg"
22-
className="h-6 w-6 shrink-0 stroke-current"
23-
fill="none"
24-
viewBox="0 0 24 24"
25-
>
26-
<path
27-
strokeLinecap="round"
28-
strokeLinejoin="round"
29-
strokeWidth="2"
30-
d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"
31-
/>
32-
</svg>
33-
<div>
34-
<p className="font-bold">AIの回答は誤りを含む場合があります</p>
35-
<p className="mt-1">
36-
AIは非常に自信を持って誤った情報を回答することがあります。
37-
AIの回答を鵜呑みにせず、必ず自分自身で内容を確認するようにしてください。
38-
</p>
39-
</div>
40-
</div>
41-
42-
<Heading level={2}>免責事項</Heading>
43-
<p className="my-4 opacity-80">
44-
AI質問機能の利用によって生じたいかなる損害についても、ut.code();
45-
は責任を負いません。
46-
</p>
47-
48-
<Heading level={2}>使用しているAIモデルについて</Heading>
49-
<p className="my-4 opacity-80">
50-
AIモデルへのアクセスには{" "}
51-
<a
52-
className="link link-primary"
53-
href="https://openrouter.ai/"
54-
target="_blank"
55-
rel="noopener noreferrer"
56-
>
57-
OpenRouter
58-
</a>{" "}
59-
を使用しています。使用するモデルは ut.code();
60-
が選択しており、ユーザーが変更することはできません。
61-
また、使用するモデルは予告なく変更される場合があります。
62-
</p>
63-
64-
<Heading level={2}>データの取り扱いについて</Heading>
65-
<div className="alert alert-info my-4">
66-
<svg
67-
xmlns="http://www.w3.org/2000/svg"
68-
fill="none"
69-
viewBox="0 0 24 24"
70-
className="h-6 w-6 shrink-0 stroke-current"
71-
>
72-
<path
73-
strokeLinecap="round"
74-
strokeLinejoin="round"
75-
strokeWidth="2"
76-
d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
77-
></path>
78-
</svg>
79-
<div>
80-
<p className="font-bold">入力データの利用について</p>
81-
<ul className="list-disc list-outside ml-4 mt-1 flex flex-col gap-1">
82-
<li>
83-
AIへの質問内容やこのサイトで実行したコードのデータは、AIモデルのプロバイダーによって学習データとして利用される可能性があります。
84-
</li>
85-
<li>
86-
また、サービス品質の向上等を目的として、ut.code();
87-
のメンバーが閲覧可能な形でサイトに保存されます。
88-
</li>
89-
<li className="font-bold">
90-
個人情報や機密情報は入力しないようにしてください。
91-
</li>
92-
</ul>
93-
</div>
94-
</div>
13+
<StyledMarkdown content={content} />
9514
</div>
9615
);
9716
}

app/about/runtime/content.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# コード実行環境について
2+
3+
my.code(); では、プログラミング言語ごとに異なる仕組みでコードを実行しています。
4+
以下にそれぞれの言語の実行環境について説明します。
5+
6+
## ブラウザ内で実行される言語
7+
8+
以下の言語は、サーバーへの通信を行わず、すべてお使いのブラウザ内で実行されます。
9+
そのため、インターネット接続が不安定な環境でも、一度ページが読み込まれれば実行可能です。
10+
11+
### Python
12+
13+
Python は [Pyodide](https://pyodide.org/) を使用して実行されます。
14+
Pyodide は CPython(Python の公式実装)を WebAssembly にコンパイルしたものです。
15+
Python コードはブラウザ内の Web Worker 上で動作するため、ページの描画をブロックせずに実行できます。
16+
17+
### Ruby
18+
19+
Ruby は [ruby.wasm](https://ruby.github.io/ruby.wasm/) を使用して実行されます。
20+
ruby.wasm は公式の CRuby を WebAssembly にコンパイルしたものです。
21+
Python と同様に Web Worker 上で動作します。
22+
23+
### JavaScript
24+
25+
JavaScript はブラウザ自身の JavaScript エンジンを利用して実行されます。
26+
コードは安全なサンドボックス環境内で評価されます。
27+
28+
### TypeScript
29+
30+
TypeScript は [@typescript/vfs](https://www.npmjs.com/package/@typescript/vfs) を使用してブラウザ内でコンパイルされ、その後 JavaScript と同じ仕組みで実行されます。
31+
32+
## 外部サービスを利用して実行される言語
33+
34+
以下の言語は、外部のコンパイル・実行サービス([Wandbox](https://wandbox.org/))の API を通じて実行されます。
35+
コードはサーバーに送信されてコンパイル・実行され、結果がブラウザに返されます。
36+
そのため、実行にはインターネット接続が必要です。
37+
また、入力したコードが Wandbox のサーバーに送信されることをご了承ください。
38+
39+
### C++
40+
41+
Wandbox の g++ (GNU C++ Compiler) を使用してコンパイル・実行されます。
42+
最新の安定版コンパイラが使用され、Boost ライブラリも利用可能です。
43+
実行時にエラーが発生した場合は、スタックトレースが表示されます。
44+
45+
### Rust
46+
47+
Wandbox の rustc (Rust コンパイラ) を使用してコンパイル・実行されます。
48+
最新版のコンパイラが使用されます。
49+
50+
---
51+
52+
外部サービスを利用して実行される言語(C++・Rust)では、入力したコードが外部サーバーに送信されます。
53+
個人情報や機密情報を含むコードは入力しないようにしてください。

app/about/runtime/page.tsx

Lines changed: 3 additions & 143 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Metadata } from "next";
2-
import { Heading } from "@/markdown/heading";
2+
import { StyledMarkdown } from "@/markdown/markdown";
3+
import content from "./content.md?raw";
34

45
export const metadata: Metadata = {
56
title: "コード実行環境について",
@@ -9,148 +10,7 @@ export const metadata: Metadata = {
910
export default function RuntimePage() {
1011
return (
1112
<div className="p-4 pb-16 w-full max-w-docs mx-auto">
12-
<Heading level={1}>コード実行環境について</Heading>
13-
<p className="my-4 opacity-80">
14-
my.code(); では、プログラミング言語ごとに異なる仕組みでコードを実行しています。
15-
以下にそれぞれの言語の実行環境について説明します。
16-
</p>
17-
18-
<Heading level={2}>ブラウザ内で実行される言語</Heading>
19-
<p className="my-4 opacity-80">
20-
以下の言語は、サーバーへの通信を行わず、すべてお使いのブラウザ内で実行されます。
21-
そのため、インターネット接続が不安定な環境でも、一度ページが読み込まれれば実行可能です。
22-
</p>
23-
24-
<div className="flex flex-col gap-6 my-6">
25-
<div className="card bg-base-200 shadow-sm">
26-
<div className="card-body">
27-
<h3 className="card-title">Python</h3>
28-
<p>
29-
Python は{" "}
30-
<a
31-
className="link link-primary"
32-
href="https://pyodide.org/"
33-
target="_blank"
34-
rel="noopener noreferrer"
35-
>
36-
Pyodide
37-
</a>{" "}
38-
を使用して実行されます。Pyodide は CPython(Python の公式実装)を
39-
WebAssembly にコンパイルしたものです。Python コードはブラウザ内の
40-
Web Worker 上で動作するため、ページの描画をブロックせずに実行できます。
41-
</p>
42-
</div>
43-
</div>
44-
45-
<div className="card bg-base-200 shadow-sm">
46-
<div className="card-body">
47-
<h3 className="card-title">Ruby</h3>
48-
<p>
49-
Ruby は{" "}
50-
<a
51-
className="link link-primary"
52-
href="https://ruby.github.io/ruby.wasm/"
53-
target="_blank"
54-
rel="noopener noreferrer"
55-
>
56-
ruby.wasm
57-
</a>{" "}
58-
を使用して実行されます。ruby.wasm は公式の CRuby を WebAssembly
59-
にコンパイルしたものです。Python と同様に Web Worker 上で動作します。
60-
</p>
61-
</div>
62-
</div>
63-
64-
<div className="card bg-base-200 shadow-sm">
65-
<div className="card-body">
66-
<h3 className="card-title">JavaScript</h3>
67-
<p>
68-
JavaScript はブラウザ自身の JavaScript エンジンを利用して実行されます。
69-
コードは安全なサンドボックス環境内で評価されます。
70-
</p>
71-
</div>
72-
</div>
73-
74-
<div className="card bg-base-200 shadow-sm">
75-
<div className="card-body">
76-
<h3 className="card-title">TypeScript</h3>
77-
<p>
78-
TypeScript は{" "}
79-
<a
80-
className="link link-primary"
81-
href="https://www.npmjs.com/package/@typescript/vfs"
82-
target="_blank"
83-
rel="noopener noreferrer"
84-
>
85-
@typescript/vfs
86-
</a>{" "}
87-
を使用してブラウザ内でコンパイルされ、その後 JavaScript
88-
と同じ仕組みで実行されます。
89-
</p>
90-
</div>
91-
</div>
92-
</div>
93-
94-
<Heading level={2}>外部サービスを利用して実行される言語</Heading>
95-
<p className="my-4 opacity-80">
96-
以下の言語は、外部のコンパイル・実行サービス(
97-
<a
98-
className="link link-primary"
99-
href="https://wandbox.org/"
100-
target="_blank"
101-
rel="noopener noreferrer"
102-
>
103-
Wandbox
104-
</a>
105-
)の API を通じて実行されます。コードはサーバーに送信されてコンパイル・実行され、
106-
結果がブラウザに返されます。そのため、実行にはインターネット接続が必要です。
107-
また、入力したコードが Wandbox のサーバーに送信されることをご了承ください。
108-
</p>
109-
110-
<div className="flex flex-col gap-6 my-6">
111-
<div className="card bg-base-200 shadow-sm">
112-
<div className="card-body">
113-
<h3 className="card-title">C++</h3>
114-
<p>
115-
Wandbox の g++ (GNU C++ Compiler) を使用してコンパイル・実行されます。
116-
最新の安定版コンパイラが使用され、Boost ライブラリも利用可能です。
117-
実行時にエラーが発生した場合は、スタックトレースが表示されます。
118-
</p>
119-
</div>
120-
</div>
121-
122-
<div className="card bg-base-200 shadow-sm">
123-
<div className="card-body">
124-
<h3 className="card-title">Rust</h3>
125-
<p>
126-
Wandbox の rustc (Rust コンパイラ) を使用してコンパイル・実行されます。
127-
最新版のコンパイラが使用されます。
128-
</p>
129-
</div>
130-
</div>
131-
</div>
132-
133-
<div className="alert alert-warning alert-dash my-6">
134-
<svg
135-
xmlns="http://www.w3.org/2000/svg"
136-
className="h-6 w-6 shrink-0 stroke-current"
137-
fill="none"
138-
viewBox="0 0 24 24"
139-
>
140-
<path
141-
strokeLinecap="round"
142-
strokeLinejoin="round"
143-
strokeWidth="2"
144-
d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"
145-
/>
146-
</svg>
147-
<div>
148-
<p>
149-
外部サービスを利用して実行される言語(C++・Rust)では、入力したコードが外部サーバーに送信されます。
150-
個人情報や機密情報を含むコードは入力しないようにしてください。
151-
</p>
152-
</div>
153-
</div>
13+
<StyledMarkdown content={content} />
15414
</div>
15515
);
15616
}

app/footer.tsx

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -28,23 +28,6 @@ export function Footer() {
2828
</a>
2929
<p>Copyright © 2026 ut.code();</p>
3030
</aside>
31-
<nav>
32-
<h6 className="footer-title normal-case">ut.code(); について</h6>
33-
<a
34-
className="link link-hover"
35-
href="https://utcode.net/"
36-
target="_blank"
37-
>
38-
公式ウェブサイト
39-
</a>
40-
<a
41-
className="link link-hover"
42-
href="https://twitter.com/utokyo_code"
43-
target="_blank"
44-
>
45-
公式 𝕏 アカウント
46-
</a>
47-
</nav>
4831
<nav>
4932
<h6 className="footer-title normal-case">my.code(); について</h6>
5033
<Link href="/about/runtime" className="link link-hover">
@@ -65,6 +48,23 @@ export function Footer() {
6548
お問い合わせ
6649
</a>
6750
</nav>
51+
<nav>
52+
<h6 className="footer-title normal-case">ut.code(); について</h6>
53+
<a
54+
className="link link-hover"
55+
href="https://utcode.net/"
56+
target="_blank"
57+
>
58+
公式ウェブサイト
59+
</a>
60+
<a
61+
className="link link-hover"
62+
href="https://twitter.com/utokyo_code"
63+
target="_blank"
64+
>
65+
公式 𝕏 アカウント
66+
</a>
67+
</nav>
6868
</footer>
6969
);
7070
}

0 commit comments

Comments
 (0)