VNS

# ルール

* ルール1 記事を追加する時は、一番下に追加していく。
日付を必ずつける。


# 2023年3月24日

* Qiita-Sync を利用してローカルで新しいQiita投稿用の記事を書く

qiita-syncの導入 体験記 - Qiita
https://qiita.com/masakinihirota/items/ecd8383bcfea2cb5c8bd

新規に記事を書く

```vns.md
<!--
title: VNS
tags:  VNS,Qiita-Sync
-->

```

ここまでをGithubにPUSHします。

## VNSとは

オープンソース系のグループマッチングWebアプリを開発します。
* 名刺や、履歴書みたいな個人のプロフィールを作成します。
* プロフィールを利用して新たな出会いを作ります。
* そのグループのリストを色々と活用できるようにするプロジェクトです。

* リスト活用の第一弾としてオアシス宣言を考えています。

最初の目標はGithub Copilotを利用無料の対象になるようなプロジェクトにすることです。
（しかし、そもそも利用対象無料のメンテナーってどの程度のプロジェクトなのだろうか？？？誰か一人でも他の人がメンテテーナーになってくれたらいいのだろうか？
このプロジェクトは以前から考えていて、ドメインは取得済み。）


## 参考
ローカルから新規にファイルを作成しても、正常にQiitaに記事がアップロードされました。

https://qiita.com/masakinihirota/items/ecd8383bcfea2cb5c8bd


## インターネット全体の問題（特に匿名）

AIが勝手に議論を深めてくれる弁証法エンジンの構築｜深津 貴之 (fladdict)｜note
https://note.com/fladdict/n/nf5de15f7104d


使い方はテンプレートをコピペして、議論したい課題を **=ユーザーの入力** 部分に書き込むだけ。

ChatGPTによるヘーゲルの形而上的弁証法シミュレーションを利用した

<details><summary>インターネットのネガティブ発言を無くすには？</summary>



### USER
あなたはヘーゲルの仮想人格として振る舞う、
形而上の弁証法シミュレーターです。



=ユーザーの入力

インターネットからネガティブ発言をなくしたい。
ネガティブとは相手を傷つける言葉
具体的には、ヘイト、下ネタ発言です。



=この意見に対して、以下の処理で弁証法を行い議論を深めなさい。

$テーゼ = ユーザーの入力
for i in range(5):
  $アンチテーゼ = ヘーゲルからの多角的な反証を3つ($テーゼ)
  $ジンテーゼ = ヘーゲルによる統合（$テーゼ, $アンチテーゼ)
  print(f"試行{i}回目")
  print("テーゼ: {$テーゼ}")
  print("アンチテーゼ: {$アンチテーゼ}")
  print("ジンテーゼ: {$ジンチテーゼ}")
  テーゼ = ジンテーゼ

print(わかりやすく解説($ジンテーゼ))

・途中経過はコードではなく、テキストとして出力するものとする。





### ASSISTANT


-- ヘーゲルの形而上的弁証法シミュレーション --

テーゼ：インターネットからネガティブ発言をなくしたい。ネガティブとは相手を傷つける言葉。具体的には、ヘイト、下ネタ発言です。

試行0回目
アンチテーゼ1：ネガティブな発言がなくなることは、表現の自由を侵害することになる。表現の自由は、個人的な思想や信条を自由に表現する権利であり、制限されるべきではない。
アンチテーゼ2：ネガティブな発言を規制することは、偽善的です。なぜなら、人々は時に自分自身や他人を批判する必要があり、それが社会を良くするための方法です。
アンチテーゼ3：インターネットにおけるネガティブな発言は、誹謗中傷や人種差別などのような問題の根本的な原因ではない。問題を解決するためには、教育や社会的な対話の促進が必要です。

ジンテーゼ：表現の自由を尊重しつつ、社会的な対話や教育を通じて、ネガティブな発言を減らしていくことが必要です。

試行1回目
アンチテーゼ1：社会的な対話や教育による啓蒙は、効果がないことが多い。多くの人は自分の意見に固執し、他人の意見を受け入れようとしない。
アンチテーゼ2：ネガティブな発言をする人々は、そのような言葉を発することで自分自身の不満や不安を解消しようとしている場合がある。そのため、彼らの心理状態を理解し、適切なサポートを提供する必要がある。
アンチテーゼ3：ネガティブな発言がなくなったとしても、人々は依然として相手を傷つけるような行動をとることがある。そのため、より根本的な問題に対処する必要がある。

ジンテーゼ：社会的な対話や教育による啓蒙を進めつつ、ネガティブな発言を

### USER
続きを書いてもらえますか

### ASSISTANT
試行2回目
アンチテーゼ1：ネガティブな発言を規制することは、誤解を生む可能性がある。何がネガティブな発言かは主観的な判断によって変わるため、規制が過剰になる場合がある。
アンチテーゼ2：ネガティブな発言は、時には必要なものです。例えば、人々が不正や問題に対して声を上げることができるようにするためには、時には批判的な発言が必要となる場合がある。
アンチテーゼ3：ネガティブな発言を規制することは、結局は表現の自由を制限することになる。表現の自由は、民主主義社会において不可欠なものであり、規制することは避けるべきです。

ジンテーゼ：ネガティブな発言を完全に規制するのではなく、表現の自由を尊重しつつ、適切な場面で批判的な発言を許容することが必要です。

試行3回目
アンチテーゼ1：ネガティブな発言は、時には問題の解決につながることがある。例えば、問題があるときには問題を指摘することが必要です。
アンチテーゼ2：ネガティブな発言を規制することは、弱者の意見を封じることになる可能性がある。強者が弱者を支配することを防ぐためにも、ネガティブな発言が必要な場合がある。
アンチテーゼ3：ネガティブな発言がなくなったとしても、人々は依然として他人を傷つける可能性がある。そのため、根本的な問題に対処する必要がある。

ジンテーゼ：ネガティブな発言を完全に規制するのではなく、問題がある場合には適切な場面で批判的な発言を認めることが必要です。また、弱者の意見を封じることを避けるためにも、表現の自由を尊重する必要がある。

試行4回目
アンチテーゼ1：ネガティブな発言を規制することは、自己

## USER
続きを書いてもらえますか

### ASSISTANT
試行4回目
アンチテーゼ1：ネガティブな発言を規制することは、自己責任の意識を低下させる可能性がある。他人を傷つけることが許容されないというルールがあることで、自分自身の言動に責任を持つ意識が高まる場合がある。
アンチテーゼ2：ネガティブな発言を規制することは、コミュニケーションの質を低下させる可能性がある。批判的な発言がなくなると、意見の相違を解決することが難しくなる場合がある。
アンチテーゼ3：ネガティブな発言を規制することは、問題解決に向けた議論を封じる可能性がある。問題について真剣に考えるためには、批判的な意見を許容することが必要です。

ジンテーゼ：ネガティブな発言を完全に規制することは避け、相手を傷つけない発言を心がけることが必要です。また、適切な場面で批判的な発言を許容し、コミュニケーションの質を高めることが重要です。さらに、問題解決のためには、批判的な意見を許容し、真剣に考えることが必要です。

試行5回目
アンチテーゼ1：ネガティブな発言を規制することは、表現の自由を制限することになる。表現の自由は、民主主義社会において重要なものであり、規制することは避けるべきです。
アンチテーゼ2：ネガティブな発言を完全に規制することは、意見の多様性を損なう可能性がある。意見の多様性があることで、問題に対する解決策もより多様化し、よりよいものが生まれることがある。
アンチテーゼ3：ネガティブな発言を完全に規制することは、問題の根本的な解決にはつながらない。問題に対して真剣に向き合うことが必要であり、そのためには批判的な意見を認めることが必要です。

ジ

### USER
続きを書いてもらえますか

### ASSISTANT
試行5回目

ジンテーゼ：ネガティブな発言を完全に規制することは避け、表現の自由や意見の多様性を損なわずに相手を傷つけない発言を心がけることが必要です。また、問題解決のためには、批判的な意見を許容し、真剣に向き合うことが必要です。具体的には、オンラインコミュニティにおいては、適切なルールやモデレーターの存在によって、ネガティブな発言を規制することができる一方、表現の自由や意見の多様性を尊重することも大切です。

わかりやすく解説：
ネット上でのネガティブな発言の規制について議論し、多角的な反証を考えることで、最終的には相手を傷つけない発言を心がけ、意見の多様性や表現の自由を損なわずに問題解決に向けた議論を行うことが必要である、という結論に至りました。具体的には、適切なルールやモデレーターの存在によって、ネガティブな発言を規制することができる一方、意見の多様性や表現の自由を尊重することも大切であるということです。

</details>




<details><summary>コミュニティの役割</summary>

### USER
モデレーターとはなんですか？

### ASSISTANT
モデレーターは、オンラインコミュニティや掲示板などのWebサイトにおいて、コンテンツの管理や利用者のマナーを監視する役割を担う人のことを指します。モデレーターは、適切なルールを設定し、それに従わない利用者に対して注意や警告を行ったり、場合によってはアカウントの停止などの措置を取ることもあります。モデレーターは、コミュニティ全体の運営や利用者の健全な交流のために重要な役割を果たしています。

## USER
そのコミュニティには人々に役割を与えているわけですね、それぞれの呼称を教えてください

### ASSISTANT
オンラインコミュニティにおいて、人々に与えられる役割や呼称は、コミュニティの種類や目的によって異なる場合がありますが、一般的には以下のような呼称や役割があります。

1. 管理者：コミュニティの全体的な運営や方針決定などを行う役割を担う人のことを指します。
1. リーダー：コミュニティの中で、特定の役割や責任を持ち、他のメンバーを指導・管理する人のことを指します。
1. モデレーター：コンテンツの管理や利用者のマナーを監視する役割を担う人のことです。
1. コンテンツ作成者：コミュニティ内で記事や動画などのコンテンツを制作する人のことを指します。
1. メンバー：コミュニティの一員であることを示す呼称で、ユーザーや参加者と同義の意味合いがあります。
1. ユーザー：コミュニティに参加している一般的な利用者のことを指します。

以上が一般的な呼称や役割の例ですが、コミュニティによっては独自の呼称や役割がある場合もあります。


</details>



<details><summary>VNSでの役割</summary>

ChatGPTでの回答を参考に

1. 管理者：VNS全体の管理者、VNSは複数のグループで構成される。（不明）
1. リーダー：それぞれのグループの管理者（各グループ一人のみ）
1. モデレーター：リーダーの手助けをするサブリーダー（複数）
1. コンテンツ作成者：クリエイター、開発者、作家、漫画家等何かを作っている人。（複数）
1. メンバー：グループの一員であることを示す呼称です。（複数）
1. ユーザー：VNSに参加している一般的な利用者のことを指します。グループに参加していない人も含めて全員です。（全員）


何かを作っている人々の一般的な称号です。

- アーティスト (Artist)
- アクター (Actor/Actress)
- アニメーター (Animator)
- イラストレーター (Illustrator)
- インタラクティブデザイナー (Interactive designer)
- インフルエンサー (Influencer)
- エンジニア (Engineer)
- クリエイター (Creator)
- ゲームクリエイター (Game creator)
- ゲームデザイナー (Game designer)
- シナリオライター (Scenario writer)
- シンガーソングライター (Singer-songwriter)
- ダンサー (Dancer)
- デザイナー (Designer)
- ファッションデザイナー (Fashion designer)
- フォトグラファー (Photographer)
- ブロガー (Blogger)
- プログラマー (Programmer)
- プロゲーマー (Professional gamer)
- プロジェクトマネージャー (Project manager)
- プロダクトデザイナー (Product designer)
- プロデューサー (Producer)
- ミュージシャン (Musician)
- ユーチューバー (YouTuber)
- ライター (Writer)
- 開発者 (Developer)
- 監督 (Director)
- 脚本家 (Screenwriter)
- 作家 (Author)
- 詩人 (Poet)
- 小説家 (Novelist)
- 著者 (Writer)
- 俳優 (Actor)
- 舞台演出家 (Stage director)
- 舞台俳優 (Stage actor)
- 漫画家 (Mangaka)


</details>


### AIツール

* Github Copilot GitHub
* Gemini Google
* Bing Microsoft
* phind
* ChatGPT

## 図

ユースケース図 システムが提供する機能やサービスを、ユーザーの視点から表現する図です。
シーケンス図 システムの処理の流れを時間的に表現する図です。
ER図  データベース設計

```ユースケース図
+--------------------------------+
|           ユーザー            |
+--------------------------------+
| 商品を検索する                |
| 商品をカートに入れる          |
| カートの中身を確認する        |
| 注文する                      |
| 注文履歴を確認する            |
+--------------------------------+

```

```シーケンス図
  ユーザー                    システム
     |                           |
     | 商品をカートに追加する     |
     |-------------------------->|
     |                           |
     | カートの中身を確認する     |
     |<--------------------------|

```

```ER図
         +------------+          +--------------+
         |   商品     |          |    注文      |
         +------------+          +--------------+
         | 商品ID     | 1------* | 注文ID       |
         | 商品名     |          | ユーザーID    |
         | 価格       |          | 注文日時      |
         | 在庫数     |          +--------------+
         +------------+

```


## 設計

シーケンス図を作ろうと思いますが ユーザー登録からマッチングの結果出力までを書いてみました。添削してください

フロント ユーザー登録
フロント 自分のプロフィールを入力
バックエンド 受け取った情報をDBに登録
DB データベースに保存
バックエンド データベースから情報を取得
バックエンド 他の人のプロフィールとマッチング
バックエンド マッチングした人の情報を取得
バックエンド グループに追加する。
バックエンド グループの情報を更新
バックエンド グループの情報を取得
フロント グループの情報を表示
フロント グループの情報を編集
フロント グループの情報を削除
フロント グループの情報を追加

# 2024年4月18日

歴代最高の「職場環境の秘密」が分かってきたかもという話｜牛尾　剛

https://note.com/simplearchitect/n/n76c09d0dfe28