« 2023年2月 | トップページ | 2023年5月 »

2023年4月

2023/04/30

エラー・欠陥・故障の用語定義

エラー・欠陥・故障の用語定義をメモ。

【参考】
48号:エラー・欠陥・故障|Kouichi Akiyama|note

ソフトウェア開発におけるエラー、欠陥、バグ、故障、不具合の違いとは

【JSTQB】正しく使えてますか?「不具合」という言葉 | @QA

【0】普段、「バグ」「不具合」という言葉をよく使う。
しかし、現場では定義が曖昧。
JSTQB教科書から抜き出した。

故障(failure):コンポーネントやシステムが定義された範囲内で要求する機能を実行しないこと。
欠陥(defect):作業成果物に存在する、要件または仕様を満たさない不備または欠点。
エラー(error):間違った結果を生み出す人間の行為

自分もよく間違えるので記載しておく。

【1】「欠陥=故障」ではない。
故障はシステムを動かして正しくない結果が出ること。
欠陥は、システムを作る上で発生し、作業成果物に存在する。

「故障があるから欠陥がある」は成り立つが、「欠陥があるから故障がある」は成り立たない。
故障という結果には必ず発生させた原因(欠陥)がある。
一方、欠陥があるプログラムが実行されなければ故障は発生しない。

たとえば、システム開発フェーズでは発生せず、システム運用フェーズで見つかる運用バグが該当するだろう。
利用ユーザもそういうバグを考慮してシステムを運用する時も多いから、一概に欠陥を全て除去すれば良いとは限らない。

【2】欠陥の多くは人間のエラーによって生まれる。
欠陥の殆どは人の認識違い・理解漏れにより、仕様通りに作られないソースコードが生まれる。

注意点は、エラーは人の認識違い・理解漏れを指すのではなく、結果として出力したもの(仕様書、ソースコード等)に欠陥を埋め込む行為を指す。
JSTQBでは、エラーの基となった認識違い・理解漏れは「根本原因」を指す。

根本原因(root cause):欠陥の発生源のことで、根本原因が除去されると、欠陥が削減または除去される。

根本原因調査は、同類バグ、類似バグの調査でよく行われる。
1つの欠陥から多数の故障が発生することは経験的によくあるから。

根本原因調査には、なぜなぜ分析がよく使われる。
そこまで欠陥分析しなければ、欠陥を除去したとはいえないからだ。

なぜなぜ分析では最終的に、人の心にある「不注意」「おごり」「バイアス」まで深掘りする。
その理由は、人の行為(エラー)に原因があるという認識が、色んな品質技法を使っても同じような認識にたどり着くからだろう。

【3】JSTQBにある「不正(anomaly)」が理解しにくかったが、48号:エラー・欠陥・故障|Kouichi Akiyama|noteの説明が理解しやすかった。

(引用開始)
欠陥(defect)が原因で発生した現象が故障(failure)で、原因は分からないが「(期待値と異なっていて)何かが間違っていそうなもの・こと(=偽陽性(FALSE-fail result)を含む)」を不正(anomaly)と呼びます。
(引用修了)

「不正は偽陽性の故障である」と理解した。
つまり、出力結果は仕様から得られる期待値と異なっていて何かが間違っているが、出力結果は故障と確定できないし、欠陥もすぐには分からない状態を指すのだろう。
おそらく一般には、「不具合」と言われる事象に含まれているだろう。

たとえば、テストして怪しい現象は全てBTSに登録しておくが、詳細に調べてみると、テストデータを間違えていた、テスト実行操作を間違えたために、故障と誤検出されたことを指すのだろう。

不正を区別する必要がある理由は、バグ密度のようなメトリクスを算出するときに、明確に欠陥であるか否かを区別する必要があるからだ。

なお、開発対象のシステムに欠陥はなく、外部連携されたシステムのデータがおかしいとか、クライアントPCの設定が間違えていた、とか、案件側でコントロールできない原因から発生した事象を指すときも、バグ件数に含めない場合だ多いだろう。

JSTQBの考え方はもう一度見直しておく。

| | コメント (0)

2023/04/15

令和4年度春期試験のITストラテジスト試験第4問をastahでモデル化してみた

令和4年度春期試験のITストラテジスト試験第4問について、問題文の構造をastahで図式化してみた。
自分のメモ用に残しておく。

【参考】
ITストラテジスト試験 | 試験情報 | IPA 独立行政法人 情報処理推進機構

令和4年度春期試験のITストラテジスト試験

【1】ストラテジスト試験第4問は必ず組込みソフトウェア開発企業のテーマになる。
今回のテーマは「電力自由化や再生エネルギー切り替えの環境変化に対し、電力会社の子会社が局地的な気象予測システムを開発し、親会社と連携することで新規顧客開拓を狙う」事例。

SDGsや二酸化炭素排出削減、環境意識の流れ、EV化などの最近の事情を考えると、よく考えられたテーマと思う。

【2】ストラテジスト試験第4問の特徴はいくつかある。

【2-1】1つ目は、登場人物が非常に多いこと。
今回の事例を3C分析で書いてみるとすごくよく分かる。

St_r4_pm1_4_3c

【2-2】特に、協力者が重要な要素になる。
なぜならば、組込みソフトウェア開発企業は特定のアプリケーションソフトウェア開発には強いが、ハードウェア製品の開発は弱かったり、GISや気象データ、特殊技術を持つソフトウェア企業と連携する必要があるからだ。
自社にない経営資源は、外部企業と提携することで解決するためだ。

この事例では、GISデータを持つ企業、気象測器を製品販売する企業が協力者になる。

【2-3】2つ目は、脅威として法規制や政治情勢、社会ニーズなどのPEST分析が必要になること。
特に、法規制が多い。
人命にかかわるソフトウェアやハードウェアであればなおさらだ。
法規制の要件により、ハードウェア機器もソフトウェアも制限を受けるし、その分、コストがかかったり、ソフトウェア開発の難易度が上がる。

一般に、法規制は国が定めるので、政府や国という登場人物が出たら、法規制に必ず関わることになる。

【2-4】3つ目は、事業戦略の方向性は、新規顧客開拓が基本である点だ。
一般に、今までの既存顧客だけでは売上が減少気味だったり、SSGsなどの環境変化で新たなニーズが生まれている背景があるから、新たな市場へ乗り出さないといけない、という方向性になりやすい。

では、新規顧客開拓に必要な経営資源は何か?
一般には、地域に根ざした営業力、特定の分野に特化した技術力があげられる。
技術力の例には、ソフトウェア開発力もあるし、保守サービス、AIやハードに特化したソフトウェア技術などがある。

すると成長戦略として、今までに培った技術力で新製品や新サービスを開発し、営業力を活かして新たなニーズを持つ顧客へ販売する、という方向性になる。
つまり、かなり積極的な経営戦略になるだろうと思う。

【3】今回の事例をSWOT分析してみたモデルを描いてみた。
モデルを描いて気づいた点は、いくつかある。

St_r4_pm1_4_

【3-1】1つ目は、協力企業と連携する箇所は必ずシステムの機能追加が必要になること。
例えば、気象予測システムに「電力の融通量を計算する情報システム」と外部連携する機能が必要になる。
この外部連携機能により、他の電力会社に局地的な気象情報に基づく情報を連携し、電力の大きな変動に対応して、全国規模の効率化を図ることになる。

たとえば、気象予測システムにGISデータを取り込む機能が必要になる。
局所的な気象は土地の起伏や構成要素に密接に関係するので、GISと連動させる必要があるからだ。
よって、GISの地図データを扱う企業と連携する必要がある。

まあ考えてみれば、協力企業と情報連携するわけだから、外部連携機能は必須になるのは当たり前。

【3-2】2つ目は、政府の方針や法規制にかかわる要件は、システムの機能に埋め込まれていること。
たとえば、気象業務法により、定められた人数以上の気象予報士を雇用する必要がある。
よって、気象予測システムでAI分析したデータは、必ず気象予報士がチェックして、顧客へ広報するという業務がシステムに埋め込まれることになる。

たとえば、政府は電力自由化を促進する必要があり、電力不足を防ぐ必要があるので、電力会社間で電力を融通してほしい思惑がある。
よって、気象予測システムと電力会社が持つ電力量算出システムが連携して対応する必要がある。

つまり、法規制や政府方針に関わる要件は、システムのどの機能で実現するのか、を必ずチェックしておく必要がある。

【3-3】3つ目は、課題の解決や経営資源がシステムの機能と密接に関係していること。
たとえば、局地気象予測システムでは、気象測器を高密度に多数設置する必要があるので通信手段が必要になる。
そこで、親会社の電力会社が持つ通信インフラである有線・無線ネットワークを利用することで解決する。
つまり、経営資源を活用することで、システムに足りない機能や環境を補充することになる。

たとえば、局地気象予測システムでは、気象測器は修理対応や交換を伴う定期保守が必要になる。
しかし、観測成果を発表するには、気象測器は基本は検定合格品を使用しなければならないが、高価であり、製品販売する企業も少ない。
そこで、観測成果の発表を止める代わりに、検定合格しない安めの製品を利用すること、親会社D社の強みである災害時を想定した保守体制を活用して、検定合格しない製品販売のZ社と提携し、予備機の追加や製品修理だけの保守を契約することで対応する。
つまり、投資効果のバランスを取っているわけだ。

【4】ストラテジストの他の問題もastahでモデル化してみると、販路開拓を目指す新規事業とそれを実現するシステム要件がうまく関連していることがよく分かって面白い。
ベンチャー企業も、新規事業を起こしたい大企業も、こういう発想でシステムを開発しようとしているのだろう。
他にも試してみたいと思う。

| | コメント (0)

2023/04/08

ランダム化比較試験はなぜ注目されて利用されるようになったのか

RCT大全 | アンドリュー・リー」を読んで、ランダム化比較試験はなぜ注目されて利用されるようになったのか、考えてみた。
ラフなメモ書き。

【参考】
データ分析の課題はどこにあるのか: プログラマの思索

データ分析の面白さはどこにあるのか: プログラマの思索

経済学や心理学の実験で得られた理論は再現性があるのか?~内的妥当性と外的妥当性の問題点がある: プログラマの思索

経済学は信頼性革命や構造推定により大きく変貌している: プログラマの思索

統計学の考え方に関する感想: プログラマの思索

計量政治学と計量経済学の考え方の違い: プログラマの思索

計量経済学における統計上の根本問題: プログラマの思索

Rによる計量経済学/計量政治学を読んでいる: プログラマの思索

【1】「RCT大全 | アンドリュー・リー」は、ランダム化比較試験の事例集だ。
疫学、開発経済学、社会学、教育などの分野にランダム化比較試験を適用して、こんな効果がありました、をたくさん書いている。

興味深かったのは、貧しい人達に社会的に有益な行動を導こうとするには、有料で払わせるのがいいのか、無料がいいのか、補助金のようにお金を渡す方がいいのか、場面によって異なることだ。
何でもかんでも無料で渡す方が、貧しい人々の行動を誘導できるとは限らない。
時には、無料ではなくマイナス費用である現金を渡した方が良い場合もある一方、有料で払わせる方が良い場合もある。
人間のインセンティブをいかに刺激するか、が大事なのかもしれない。

そういう事例を読むと面白いのだが、ランダム化比較試験はどんな構造を持つのか、ランダム化比較試験はなぜ今頃になって注目されるのか、という疑問が湧いてくる。

【2】ランダム化比較試験は従来の理論と何が違うのか?

ランダム化比較試験は帰納的な理論を作れる手法だと思う。
データさえあれば、因果関係や理論が分からなくても、解決方法が得られるメリットがある。
いわゆる純粋数学や理論物理のように、シンプルな公理系から演繹的に数多くの定理や原理を導き出す手法とは異なる。

例えば、昨今では、コロナワクチン接種は世界中の人間を対象にランダム化比較試験された成功事例だろう。
コロナウイルスの症状の原因や根本療法は今でも分からない。
そして、mRNAコロナワクチンが本当に有効なのか、分からなかった。

しかし、コロナワクチンは直近3年間、全世界の人間、たぶん数十億人に注射されてその効果がわかった。
実際、数多くの人命が救われたし、予防効果もある。

僕が思うに、コロナワクチン接種の効果測定は、ランダム化比較試験しやすかったのだろうと思う。
街中でコロナ患者が溢れたら、サンプルとなる患者を集めるのも簡単だし、同質な2つの集団に分けることが容易だったからだ。

今ならマスクの効果測定もランダム化比較試験がやりやすいだろう。
コロナ感染防止にマスクは役立つ効果がある、ということはランダム化比較試験で十分に分かっているが、まだコロナ感染者がいる社会では、同質な2つの集団をランダムに作って実験することは容易い。

今では、コロナ感染者を数えなくなったので、下水道のサーベイランスでコロナ感染流行を測定する方法が有効と言われている。
この方法は、かつてのイギリスで、下水道のサーベイランスからコレラ流行を予測に役立てた事例を思い出させる。
コレラの原因が分からなくても、どうすればコレラ流行を防げるか、という解決方法は帰納的に導き出せる。

【3】ランダム化比較試験はなぜ、今頃になって注目されて利用されるようになったのだろうか?
ランダム化比較試験が有効と分かっているならば、もっと古くから有効活用されていたはずだ。
実際、統計学は200年前に生まれて1900年代前半には、t検定とかランダム化比較試験などの構造も十分に分かっていた。
なぜ、一般的に利用されていなかったのか?

その理由は3つあると思う。

【3-1】1つ目は、Inputの観点で、大量データが集まるようになったことだろう。
たぶん、インターネットとPCやスマホの普及のおかげだろう。
それ以前は、国勢調査のように、申請書を人手で仲介することでデータを集めていたから、相当なコストも時間もかかっていた。
たとえば、t検定が生まれた経緯も、いかに少ないサンプル数からあるべき正規分布を導き出すか、というモチベーションだった。
しかし、今なら、ECサイトやSaaSで簡単にログというデータを大量に集められる。
Webビジネスでは、データはビジネスの副産物として簡単に入手できるからこそ、それらを上手く利用すればいい。
日本でもようやくDXという活動を通じて、日本人の行動履歴をデータ収集できる基盤が揃ってきた。

【3-2】2つ目は、Processの観点で、大量データを強力な計算能力で一気に統計分析できるIT基盤が整ったことだろう。
たぶん、クラウドのおかげだろう。
過去は、少量データから推測する統計理論ばかりに注力されていた
当時は、コンピュータという計算基盤もないので、いくらサンプルが集まったとしても、それらを正規化して処理する手間がかかりすぎて、実現できなかったのだろう。
しかし、今なら、AmazonやGoogleのクラウド基盤を使えば、いくらでもデータ分析や統計分析できるようになった。
例えば、ABテストも簡単に実施して、GoogleAnalyticsで効果測定できて、仮説の結論を迅速に評価できる。

基本的な統計理論はもう揃っているので、後はいかに実装して自動化できる仕組みにするか、が問われているのだろう。

【3-3】3つ目は、Outputの観点で、単なる相関関係だけでなく因果関係を導けることだろう。
たとえば、主成分分析、多変量解析とか。
因果推論の分野は今もっとも注目を浴びている、という記事も読んだことがある。

特に経済学では、物理学を真似して理論を打ち立てるのが目標なので、因果推論ととても相性がいい。
最終的には、大量データで統計分析する実験手法と、従来の演繹機的な理論づくりの2つが相乗効果を発揮して、アウフヘーベンすることで、学問がより一層花開く、という好循環になっているのだろう。

【4】では、ランダム化比較試験がそんなに有効で使い勝手がいいならば、いつでもどこでも使えばいいのでは、と思うが、本当に使えるのか?
実際は、特に社会に絡む分野では、ランダム化比較試験を利用できないシーンはとても多い。
やはり人間集団を実験対象にするには、マーケティングのSTPみたいに、同質のセグメントの集団を作り、介在する集団と介在しない集団に分けるのが難しい。
つまり、ランダム化比較試験をいつでもどこでもすぐに利用できるわけではない。

しかし、ランダム化比較試験が使えないケースでも、自然実験である程度の確からしさを得られることも分かってきた。
そういう統計理論が最近になって揃ってきたこともある。
このあたりは、「データ分析の力 因果関係に迫る思考法」が詳しい。

【5】コロナ禍で分かったことは、統計理論や経済学、医療などの専門分野を理解しておかないと、真実を判別できない場面があるな、と分かったことだ。
人は噂話に簡単に騙される。

たとえば、Twitterで、コロナワクチンを打つと何%の人は死にます、だから危険だ、というニュースが流れたとする。
しかし、そのデータを見てみると、ランダム化比較試験して検証したわけでもないし、バイアスのかかったデータを集めているだけで、統計処理もされていないので、全く有効でなかったりする。
疫学や統計の専門家から見れば、素人が単に無意味な意見をばらまいているだけに過ぎない。
なのに、そういうニュースが人々を席巻し、陰謀論に巻き込まれる。

つまり、医療、疫学、統計理論を知らないTV評論家、Twitter評論家がいかに役立たないか、よく見えるようになった。
一方、最先端の経済学や金融工学とか知らないTV評論家も役立たないことが見えるようになった。
すなわち、専門家から認められない評論家の意見は無視していいことが分かってきた。

そんなことを考えると、統計学の基本的な考え方は知っておいた方がいいのだろうと思う。

| | コメント (0)

2023/04/02

ChatGPTで起きている事象の意味は何なのか

今年に入ってから、ChatGPTによるAIの進展が凄まじい。
ChatGPTで起きている事象の意味は何なのか。

今「深層学習の原理に迫る: 数学の挑戦 (岩波科学ライブラリー 303)」を読んでいる。
全て理解できていないが、気付きが色々あった。
ラフなメモ書き。

【1】ChatGPTのような大規模言語モデルの中身は物理学や数学と同じ。
つまり、過去の数学や物理学の理論をベースに作られている。
ChatGPTの仕組みを知ろうとするとそこまで深掘りすることになる。

【2】ChatGPTの仕組みは、演繹的なのか、帰納的なのか?

(引用開始)
パラメータ数を大きくすることで起きていることは、実はまだわかっていなくて、2つの可能性があるという。
一つ目なら今後"人類がこれまで言語その他の情報の形で書き溜めた知識の総体を学習し切ったところで性能向上は頭打ち"。

二つ目なら"当面は際限なく性能が向上するように見えるだろう。その場合、計算力に関する物理的な制約がクリティカル"で、センサーなどの身体性を持つことで壁を越えることになる。"人類のこれまでの知識の総体」を上限とする理由が無くなり、物理現象の時定数のみが制限として残る"
(引用終了)

僕の直感では、ベースは帰納的で、その後のロジックは演繹的だろうと思う。
大量の学習データを元に訓練して学習モデルを作ると、その後は、得られた特徴量や概念を元に膨大な計算エネルギーを駆使して、演繹的にロジカルに色んなアウトプットを導き出せる。
ちょうど、公理系から定理、系、命題がロジカルに大量に生み出されるのと同じ。

では、そのような大規模言語モデルは、人間のように「意識を持つ」のだろうか?
大規模言語モデルは自我という意識を持ち、数多くの意見を作り出し、行動を生み出すようになるのか?

【3】深層学習の発展は、理論物理学と実験物理学の2つの分野のアウフヘーベンに似ているように思える。

つまり、深層学習の原理にある数学や物理の理論と、実際にプログラムに実装して膨大なコンピューティングパワーを使って膨大な計算量をこなせるような大規模言語モデルを構築することの2つが相互に刺激しあって、より発展していく。

深層学習の原理に迫る: 数学の挑戦 (岩波科学ライブラリー 303)」を読むと、過去の数学の理論では、「深層学習は少ない層で十分な性能が出せる」という普遍近似定理、「膨大なパラメータ数は過剰適合をもたらす」などが既に知られている。
つまり、せいぜい2層程度で、パラメータ数もそんなに多くない深層学習で十分な性能や結果が得られるはず、と思われていた。

しかし、現実は違う。
実際に実装された大規模言語モデルでは、パラメータ数は数億、数兆とか、層も数千、数万とかかなり複雑。
つまり、コンピューティングパワーを使ってプログラムに実装して実験してみると、実験結果と数学の理論に乖離がある。

そういう理論と実験の繰り返しによって、深層学習はさらに進展している。

興味深いのは、過去の物理と今の深層学習の違いだ。
過去の物理学の歴史では、紙と鉛筆による理論と、望遠鏡やビーカーのような器具による実験の相互作用により発展してきた。
現代の深層学習では、物理や数学の理論と、クラウドをベースにした膨大な計算力を持つコンピューティング環境における実験によって進展している。

【4】ChatGPTのような大規模言語モデルはなぜ、ものすごい性能を出しているのか?

つまり、過去の数学の理論では、「深層学習は少ない層で十分な性能が出せる」という普遍近似定理、「膨大なパラメータ数は過剰適合をもたらす」と言っているのに、実際に実装したChatGPTでは、パラメータ数も層も相当に複雑になって、理論と実験に乖離がある。
その真因は何か?

深層学習の原理に迫る: 数学の挑戦 (岩波科学ライブラリー 303)」では、その理由の真因を明確に書いていない。
でも、ヒントは2つあるように感じた。

1つ目は、過去の数学の理論は微分可能な滑らかな関数を暗黙の前提にしていた一方、深層学習では尖った曲線のような非線形な曲線をベースに作られていること。

たとえば、層を増やす時に、シグモイド関数ではなく、ReLU関数のようなわざと非線形にした関数を用いることで、従来の学習モデルの性能劣化を解決した。
おそらく、我々人間が目の前に対処している問題のほとんどは、非線形の性質を持っているからこそ、そういう仕組みを持つ深層学習、つまり多層の深層学習を必要としているのではないか。

2つ目は、深層学習モデルのパラメータ数をあえて増やすことで、学習エネルギーの損失関数を極小化させることに成功したこと。

僕の直感では、複雑な曲線や曲面のくぼみの中で最小値を探すとき、そのままの次元では極小値を探しにくい。
そこで、パラメータ数をあえて数多く増やすと、複雑な曲線や曲面も次元が増えることによって、平坦な曲線や曲面の部分が非常に多くなる。
よって、平坦な部分を全て洗い出した後に、元の次元に戻してからそれぞれの最小値を求めることで、損失関数の真の極小値を導き出せる、と理解している。
つまり、あえて次元数を膨大に増やすことで、損失関数の極小値を計算する手間を省いているわけだ。

そんなことを考えると、膨大な計算力を持つAI基盤を実際に実装できたからこそ、実験して得られた知見を元に、理論へフィードバックされたのだろうと思う。

【5】「深層学習の原理に迫る: 数学の挑戦 (岩波科学ライブラリー 303)」を読んで気づいたのは、我々人間が視覚、聴覚、触覚などの五感で得られた情報は、全て多次元ベクトルに置き換えられること。

これにより、人間が持つすべての情報や概念は、多次元空間の中にあるベクトルという点であり、ベクトル同士の距離を計算することで、似通った意味である判定、特徴量の抽出などにつながっているわけだ。

何となく、ソシュールが言う言語の概念、フッサール現象学に出てくる自我や他我の概念に似ている気がする。

RDRAをAIに載せるために格闘されているツイートを読むと、まさにその考え方と同じ。

(1) akipiiさんはTwitterを使っています: 「なるほど、要件をグラフ構造にすれば行列に置換できるから深層学習に乗せられるわけか。この発想は、他のユースケースきも使えそう」 / Twitter

【6】ChatGPTで起きている事象の意味は何なのか?

ビジネスモデルの観点では、今起きている事象はAI革命の真っ只中であることだ。
そして、AI革命を主導する人たちは、世界最高レベルの科学者やエンジニアを膨大に持ち、クラウドやデータセンターを膨大に持つ米国と米国の一部の巨大IT企業、つまりGAFAMなのだろう。

akipiiさんはTwitterを使っています: 「昨今のAIの急速な発展を目にすると、次の10年も主役は米国の巨大IT企業だと言わざるをえない。AI開発には、世界最高レベルの科学者やエンジニアといったタレント、膨大な計算リソースが必要であり、それを有しているのは米国と米国の一部の巨大企業だけである https://t.co/Y2bXSdOCYR」 / Twitter

AI革命の中で生きている一人の凡人の観点では、「AIは時代の津波」だということ。
99%の人は、東日本大震災の津波のように巻き込まれて、職を失い、生きる意義を見失い、命の危険にさらされるかもしれない。
だからこそ、AI革命の行き先を最後まで見届ける必要がある。

(引用開始)
私はAIは時代の津波だと思ってる。津波だからもちろん止められない。ごく少数はこの時代の津波に乗れるかもしれないけど、殆どの人は飲み込まれる。

今はいかに高台の登るか、いかに泳ぎを極めるか、いかに頑丈ないかだを作るかに集中すべき。つまり生き残るすべを必死に探して身につけるのだ。「AI?よく分かんない。関係ないっしょ」なんて言ってる人はほぼ確実に溺れる。
このレターを見て私はさらに危機感を持った。私は溺れたくない。まずは出来るだけ使ってみる事。そこが第一歩。
(引用終了)



| | コメント (0)

« 2023年2月 | トップページ | 2023年5月 »