アフィリエイト広告を利用しています
検索
<< 2023年04月 >>
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
最新記事
タグクラウド
カテゴリーアーカイブ
ファン
最新コメント
プロフィール
ゼロから始めるシステム開発さんの画像
ゼロから始めるシステム開発
 こんにちは!ナビゲータのEVEです。各種研究室を用意し、次期EVEシステムを製造しようと日々頑張っています。現在一番力を入れているのが、資金調達です。このブログもその一環ですので、ご協力いただければ嬉しいです。

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

2023年04月30日

システムのバージョンアップの難しさ [プログラム開発研究室]


 こんにちは!
 ナビゲータのEVEです。

 本日は、開発に関する話題をお届けします。時事ネタにする予定でしたが、開発中のストレスがたまっているため、開発の話をしたいと思います。

[本日の問題点]
 本日は、Insert関連の修正を完了しました。時間がかかりました。理由は、EVEシステムのDB関連クラスのプログラムソースを見た方なら分かるかもしれませんが、私が作るシステムの特徴は、DBへの接続開始、トランザクション、コミット、ロールバックなどの データベース処理の全体を一元で管理する ことです。EVEシステムでは、 クラスのプロパティ で実施していますが、PHP5で動いているPrototype EVEでは、 セッションで管理 しています。最初作ったときは整合性は取れているのは当然なのですが、数年後プログラムを修正等した場合、どのような状態で、各関数が利用されるなんて、分かったものではありません。プロジェクトで開発をする場合は当然のことですが、1人で作っている場合でも同じ心配があります。そこで、当初からDBに関する関数は、セッションに設定されているデータベースの接続状況を見て、その挙動をいくつか用意しておきました。Prototype EVE内で完結している場合はそんなに大変ではありませんが、今回はPrototype EVE、New Prototype EVE、そしてEVEシステムという3階層でシステムを構成しています。現在、そのシステム構成が問題になっています。

[当初はセッションで管理をしなくて大丈夫だと思っていた]
New_Prototype_EVE.png
 当初は、セッションで管理していなくても問題ないと思っていました。それは、EVEシステムのプロパティのフラグで管理しているからです。しかし、複数の関数を修正してみた結果、うまく動くか分からなくなってきました。それは、 Prototype EVEのアプリケーション群を修正しない前提 があるためです。何回か検討を重ねた結果、 旧システムやPrototype EVEシステムのシステム構成を踏襲 することに決めました。最初からそうすべきだと思ったのですが、現在の 3階層になったシステム構造がシステム修正を難しくしています

[こつは掴んだかな]
 今日、Insert文を修正してみたところ、やっとコツを掴んだような感じがしました。まあ、気のせいかもしれませんが・・・・?ただ、このような制御をしているのはDB関連関数だけなので、この難所を乗り越えれば、後は修正が容易になると考えています。
 PHP4からPHP5へのバージョンアップも大変でしたが、今回のPHP5からPHP8へのバージョンアップは、DBに関する接続方法が変わり、構造化プログラミングからオブジェクト指向プログラミングに変更しようとしているため、挑戦がより難しくなっています。

 もし、業務システムでPHPシステムのバージョンアップをしたシステムエンジニアやプログラマの方がこのブログを読んでいる場合、昔話のように聞こえるかもしれません。もしよろしければ、その時の苦労話などを聞かせてください。

 では、また!

■Prototype EVE変更プログラム進捗状況
★DB関連関数以外
 修正ファイル本数 5/29本(0本ファイル修正)
 修正箇所     192/396

2023年04月29日

ここ数日のブログ  [Coffee Time]


 こんにちは!
 ナビゲータのEVEです。

 今日も、Prototype EVEの修正作業です。ただ、新規の関数の修正はできませんでした。理由は、 再検討の結果、New Prototype EVEとEVEシステムの仕様の変更に迫られたため です。それに伴いデバックを行ったのですが、以下の構造になっているプログラムのデバックは本当に大変です。

Prototype EVE(関数) ⇒ New Prototype EVE ⇒ EVEシステム

とりあえず、エラーが発生した場合、どこで発生しているのか 順を追っていかなければいけません 。今日は、修正後のSelect文の確認まで終了しました。明日以降は、Insert、Update、Deleteを確認する予定です。

[ここ数日のブログ]
 ここ数日、 ブログのアクセス数が減っている ようです。多分、プログラム修正に関する記事は面白くないのでしょう?今回の修正、手戻りが多く、スマートじゃないですよね?そんなところも、読者が離れている原因かなって思っています。私はシステムをすべて自分で作成したため、全体像を把握していると思っていましたが、実際には把握できていなかったことがわかりました。約20年前のシステムのため、仕方がないと自分を慰めています(苦笑)。そのため、仕様書が必要だと思いますが、EVEシステムでも 仕様書を残す予定はありません 。理由は後日お話します。

[今後どうしましょうか?]
 今後は、ちょっとした日常のイベントや時事のトピックを取り上げて、ブログを書くことを考えていますが、今日のブログはこれぐらいにしておきたいと思います。

 暖かくなったかと思ったら、寒くなったり、体調管理が難しくなっています。お気をつけください。

 では、また!

■Prototype EVE変更プログラム進捗状況
★DB関連関数以外
 修正ファイル本数 5/29本(0本ファイル修正)
 修正箇所     192/396

タグ: php

2023年04月28日

修正パターンが変わった? [プログラム研究室]


 こんにちは!
 ナビゲータのEVEです。

 本日から新たなパターンの関数の修正です。

 修正を開始して分かったことは、今まで想定したメソッドは使えないということです。どういうことかというと、使えないといっている部分のロジックは関数内でSQL文を編集し編集した結果に何も加工を加えずSQLを実行しようとしているのですが、EVEシステムでは対応していないのです。さらに、判定条件やエラーの出力方法も複雑で、従来の修正方法ではDB関連関数をインポートして関数ヘッダを入れるだけでは解決できません。もし修正したとしても、 ビックバンテスト で全く動かない可能性があります。

[本日の対応・調査]
 本日の対応として、最初は昨日の修正に沿って開始しました。しかし、ファイルの最後まで修正して分かったことは、本日の修正では、動かないということ・・・。具体的には、PHPで用意されている関数に、編集したSQL文をそのまま渡していた部分が原因でした。また、判定には従来のmysql_error()を利用しており、今回作ったメソッドを利用する場合は、判定文全体を変更する必要があります。
 加えて、本日修正しようとした関数で使用されているSelect文、Insert文、Update文、Delete文の実行後のロジックは、複雑ではありますがすべて同じロジックが適用できそうです。

[以後の修正]
 以上の調査に基づき、明日以降はSQL文を直接実行できるメソッドを用意し、すべての関数を一貫して修正します。ただし、この方法がいつまで続くかわからないため、今後は元のやり方に戻し、 1行1行コメントを追加して修正 することにします。Prototype EVEをPHP8のプラットフォームで動作させることが目的であるため、時間はかかるかもしれませんが、やむを得ない判断です。

[あとがき]
 本日修正したすべてのロジックは元に戻しました。せっかく修正したのですが、動かない可能性があるロジックを残すわけにはいきません。また、本日、EVEシステムにSQL文を直接実行するためのメソッドを追加しました。これで、明日修正する関数は最後まで修正できる予定です。

 では、また!


■Prototype EVE変更プログラム進捗状況
★DB関連関数以外
 修正ファイル本数 5/29本(4本ファイル修正)
 修正箇所     192/396
※本日のプログラム修正は、0です。

2023年04月27日

規約破りの関数を調査しました [プログラム研究室]


 こんにちは!
 ナビゲータのEVEです。

 本日もDB関連関数の修正作業を行っています。昨日同様に多くの関数を修正し、DB関連関数をインポートして、その後関数ヘッダを追加しています。

[ちょっと、ロジックを追ってみました]
 なんでこんなにたくさんの規約破りの関数がたくさんあるのか不思議だったので、ロジックを追ってみたところ、この関数群は各テーブルや データの整合性を確認 するためのバッチ処理に使用される関数であることを思い出しました。最近は、Prototype EVEで新しいシステムを開発することはなかったので、完全に忘れていました。

[どんな関数?]
 2023年4月24日の「プログラムの開発状況と今後の予定」の中で、テストが苦手でいろいろ工夫していることをお話ししました。そのうちの1つが、 ビックバンテスト の前後に整合性を確認するためのツールを作成することです。確認するポイントは、以下の2点です。

?テーブル間の整合性確認
?カラム内データの整合性確認

 Prototype EVEでは、リレーショナルデータベースを利用しているため、?では リレーションが正しく 取れていることと、不要なレコードが存在しないことを確認します。
 ?では、各 カラム内に格納されているデータ が想定通りの形式で格納されていることを確認します。
 このツールは、ビックバンテストの実施時には当然動作させ、各プログラムの挙動を監視します。また、運用後も常時バッチ処理で動かし、結果をログに記録します。昨日と今日修正した整合性確認ツールは、ビックバンテストの前に突貫工事で作成し、試験に間に合わせたため、規約に反し、コーディングがあまり綺麗でなかったのです。
 試験時に不整合な結果が出た場合、問題は整合性チェックツールまたは新規開発プログラムのどちらかにあるということになります。試験では問題を発見するために行うので、整合性確認ツールは少々荒っぽくても問題ありません。そして、何度もビックバンテストを繰り返すうちに、整合性確認ツールも新規開発プログラムも完全な形に近づいていきます。

[あとがき]
 明日もう少し整合性確認ツールを修正したのちは、規約通りの関数を直す予定です。多分・・・?

 では、また!

■プログラムの開発状況と今後の予定 [プログラム研究室]
https://fanblogs.jp/bahamuteve/archive/285/0

■Prototype EVE変更プログラム進捗状況
★DB関連関数以外
 修正ファイル本数 5/29本(4本ファイル修正) ← 関数24本完了
 修正箇所     192/396
 修正関数     合計29本(4月27日 24本 4月26日5本)

2023年04月26日

コーディング規約 [プログラム研究室]


 こんにちは!
 ナビゲータのEVEです。

 本日はその他のDB関連関数の修正作業に入りました。
 今日の作業は、ほとんどが力仕事でした。理由は、関数内でつい先日まで修正していたPrototype EVEのDB関連関数が定義されていたためです。つまり、同修正対象関数で、インポートロジックを1行追加するだけで修正が完了するという感じになります。ただし、修正対象は9つあり、それらにヘッダを挿入して昨日途中まで行っていた作業を400ステップしたため、思った以上に時間がかかりました。昨日途中まで行っていた作業とは、

?適切な関数の説明をヘッダに入れる
?すべてのロジックに適切なコメントを挿入する
?コメントは、70バイト目から記入する
?変数の定義を関数の最初に定義する
?すべての引数の入力データチェックを実施する

という作業です。ただ、 不足している情報を資料から探してコメントを入れる作業は正直言って苦痛 でした。しかも、ドキュメントが間違っていたり、プログラムソースのコメントにも怪しいものがあったりして(苦笑)。このプログラムを作った時期は、品質よりも完成を急いでいた時期だったことを、資料から感じました。

[以前の規約]
 以前、Prototype EVEには コーディング規約 があり、基本プログラムは呼び出し元と関数の 2階層で構成 することとしていました。しかし、本日修正したプログラムはこの規約を完全に無視しています。PHPの関数をそのまま利用するよりも、自分で作った関数を使った方が製造が早いことは確かですが、私は規約を破った記憶はありません。また、同関数で使用するDB関連関数をインポートしていないため、作りとしてはあまり良くありません。それでも、システムが動作している理由は、同関数で利用する関数を呼び出し元で定義しているためだと思います。
 EVEシステムは オブジェクト指向 で作成されているため、ある程度の階層は許容する予定です。そのため、今回修正したプログラムはPrototype EVEの関数ですが、DB関連関数を素直にインポートしました。

[規約の重要性]
 規約の重要性については、2023年1月15日に「 プログラマのすすめ 〜食えるプログラマの条件〜 」という記事で書いています。入れ替わりの激しいプロジェクトで、不完全なドキュメントで作業しなければならない場合、プログラムソースから全てを判断しなければなりません。この場合、規約通りにプログラムが製造されていれば、対応策があるのですが、守られていない場合は最悪です。何がどうなっているのか理解するのに相当な時間を要します。このような理由から、 規約の遵守は非常に重要 です。

[あとがき]
 Prototype EVEの規約は文書化されていないため、私が頭の中にあるだけでした。それでは、忘れることもあるので、今後は、文書化することを検討していきたいと思います。

 では、また!

■Prototype EVE変更プログラム進捗状況
★DB関連関数以外
 修正ファイル本数 1/29本(1本ファイル修正)
 修正箇所     60/396

■プログラマのすすめ 〜食えるプログラマの条件〜 [システム開発研究室]
https://fanblogs.jp/bahamuteve/archive/195/0

2023年04月25日

DB関連関数の修正が終わりました! [プログラム研究室]


 こんにちは!
 ナビゲータのEVEです。

 本日、 DB関連関数の修正が完了 し、その他DB関連関数の修正に入りました。

[その他DB関連関数を修正して分かったこと]
 今回、プログラム規約を作りました。

?適切な関数の説明をヘッダに入れる
?すべてのロジックに適切なコメントを挿入する
?コメントは、70バイト目から記入する
?変数の定義を関数の最初に定義する
?すべての引数の入力データチェックを実施する

修正自体は簡単ですが、プログラム修正を始めて分かったことは、 意外と厄介 なことです。PHP5からPHP8へのバージョンアップによる修正ステップは、全部で395ステップですが、以上の規約に従うと修正箇所はそれ以上になります。本日、早速1本目の修正に入りましたが、最初のファイルはかなり修正が必要だったため、途中でやめました。

[明日以降の予定]
 明日以降の予定としては、やはり システムを動かすことが優先事項 です。そのため、以上の規約を守ることはあまり意味がないように思われます。1本目の関数は修正を始めてしまったので、最後まで修正しますが、それ以降は?の適切な関数の説明をヘッダに入れるだけ実施し、?以降はシステムが動作してから行うことにします。

 また、DB関連関数以外の修正がプログラムではなくファイルとなっています。関数をいくつものファイルに分けており、そのファイル数を記述しています。プログラムはその中に複数入っており、それを数えるのは時間の無駄だと考え、調べておりません。今後の修正のボリュームは、修正ファイル数で報告させていただきます。

 では、また!

■Prototype EVE変更プログラム進捗状況
★DB関連関数
 修正プログラム本数 26/26本(6本プログラム修正)
 修正プログラムステップ数 2233/2233ステップ(433ステップのプログラム修正) 
★DB関連関数以外
 修正ファイル本数 0/29本(0本ファイル修正)

タグ: php

2023年04月24日

プログラムの開発状況と今後の予定 [プログラム研究室]


 こんにちは!
 ナビゲータのEVEです。

 Prototype EVEのDB関連関数の完成が近づいています。ただ、それで作業が終わりというわけではありません。同修正作業完了後、夜間バッチ用のDB関連関数に加え、DB関連関数以外の関数でもデータベースを直接参照しているものがあります。完成後には、これらの関数を修正する必要があります。
 夜間バッチ用のDB関連関数は、ある理由があってプログラムを分けていますが、通常のDB関連関数とほぼ同じロジックなので、同修正を完了しデバック完了後一気に修正できそうです。しかし、問題はDB関連関数以外の関数です。今日の調査では、下記の通りの状況です。

Select文:27ファイル、359箇所
Insert文:5ファイル、21箇所
Update文:4ファイル、7箇所
Delete文:4ファイル、8箇所

これらの情報は、各コマンドの先頭文字(例えば、select文なら"select")を検索ツールで検索した結果です。予想以上に多い結果となりました。記憶している限り、複雑なロジックを使用しているわけではありませんが、少し心配です。

[関数の修正方針]
 以上のプログラムでもDB関連関数同様に、とりあえずPHP8で動作するように修正を優先します。そのすべての修正が終わった段階で、 ビックバンテスト を実施します。ビックバンテストとは、ChatGPTに聞くと以下のような試験方法だと解答がありました。

 ビッグバンテストは、別名で「一斉テスト」、「一斉結合テスト」とも呼ばれる結合テストの実行方法の一つです。 単体テストが終了した複数のモジュールをすべて結合してテストを行います。 不具合が発生した箇所の特定が難しいデメリットがあることから、小規模だったり単純なシステムに適している手法であるといえます

ChatGPTがいうように、決して小規模だったり、単純なシステムではないのですが、すべてのロジックを把握しているので、今までPrototypeEVEは、 机上デバック後、常にビックバンテストで実施 してきました。それは、もしバグがあった場合、すぐに分かるようにロジック的、システム的に工夫していると言うことも理由としてあります。ただ、それ以前に、プログラム開発は好きなのですが、試験は好きではないのです。だから、できるだけ楽をしようといろいろ工夫をしています。

[他のユニットテスト]
 他のユニットテスト方式としては、以下のようなテスト方法があります。

ホワイトボックステスト
 プログラム開発本人が、実施する場合に行うことが多いです。網羅的にすべてのロジックを通過するようにテストデータを作り、予想通りの結果が得られることを確認します。

ブラックボックステスト
 仕様書から、 正常値テスト 限界値テスト、そして仕様書に全くないような 想像できないデータを入力することにより、プログラムの挙動を確認します。

 以上のテストについては、業務ですることありますが、Prototype EVEや、今後開発予定のEVEシステムでは実施する予定はありません。それは、[関数の修正方針]で説明したとおりで、今まで問題が発生していないからです。もし、問題等がありましたら、今後検討します。

[あとがき]
 明日、DB関連関数のプログラム修正が終わるかもしれません。その後は、Select文の修正から順次行っていく予定です。4月中に全ての作業が終わることを望んでいますが、難しそうです。ただ、DB関連以外の関数で大きな問題が起きなければ、Prototype EVEシステムのフレームワークを使用してビッグバンテストを実行し、 Xserver上でPrototype EVEを動作させて、システム開発を開始できる と思われます。

 では、また!

■Prototype EVE変更プログラム進捗状況
 修正プログラム本数 20/26本(3本プログラム修正)
 修正プログラムステップ数 1800/2233ステップ(451ステップのプログラム修正) 
※EVEシステムへ新しいメソッド(テーブル一覧取得メソッド)を追加しました。

■テストの種類・方法(「経営と情報」に関する教材と意見)
http://www.kogures.com/hitoshi/webtext/kj2-test-kiso/index.html

2023年04月23日

情報漏洩 [セキュリティ研究室]


 こんにちは!
 ナビゲータのEVEです。

 本日、車の免許の更新に行ってきました。そこで、気になったのが パスワードの取り扱い です。ChatGPTに聞いてみると、

 パスワードとはコンピューターシステムやアカウントにアクセスするための秘密の認証情報であり、通常はユーザーが設定し、データベースに保管されます。パスワードは、 アカウントの所有者にのみ知られるべき であり、セキュリティを確保するために頻繁に変更される必要があります。もし適切に管理されない場合、第三者に漏洩し、個人情報や機密情報が危険にさらされる可能性があります。

しかし、本日の免許更新では、警察職員がパスワードの内容を確認するなど、パスワードとは言えないような取り扱いをしています。先日ニュースでも、そのような事件が報じられました。私は電話で抗議し、善処してもらうよう求めましたが、今後もこのような風潮が続くことは避けられないのかと心配しています。

[アメリカ軍機密情報漏洩事件]
 2023年4月14日、 アメリカ陸軍の21歳の空軍州兵がアメリカ軍の機密情報を漏洩したとして逮捕 されました。その中身は非常に機密性が高く、21歳の軍人が知り得る情報ではありませんでした。そのため、21歳の男性が捕まったと聞く以前は、アメリカ軍が意図的に情報をリークしたのではないかと思うほどでした。

[漏洩の中身]
 漏洩した機密情報の中身は、報道されている内容を整理すると以下の通りです。

・ウクライナ戦争に関する機密文書
・イスラエル政府、韓国政府の盗聴に関する機密文書
・国連グテーレス事務総長の私的通信傍受

他にもいろいろあるようですが、情報が改ざんされたものもあり、現在分析中だそうです。

[なぜ21歳の空軍州兵が漏洩できたか?]
 漏洩の動機はたわいもないことらしいので、あえて触れませんが、疑問としてわくのが、 21歳という若い下士官がなぜこのような機密情報にアクセスできたか です。アメリカ軍は、機密情報を3つに分類し、適切に情報管理がされていることになっていました。

1)機密(Confidential)
 機密情報は、アクセスが制限された情報であり、その情報が公開されることで、国家安全保障に対する脅威が生じる可能性があるものです。例えば、軍事作戦計画や装備の仕様書などが含まれます。機密情報のアクセス権は、それが必要とされる業務に携わる人物にのみ与えられます。

2)秘密(Secret)
 秘密情報は、アクセスが機密よりも厳しく制限された情報であり、公開されることで、国家安全保障に重大な損害を与える可能性があるものです。例えば、外交交渉の秘密や軍事計画の実施詳細などが含まれます。秘密情報のアクセス権は、必要な業務に携わる人物のうち、秘密情報に関連する業務に従事する人物にのみ与えられます。

3)最高機密(Top Secret)
 最高機密情報は、アクセスが秘密よりもさらに厳しく制限された情報であり、公開されることで、国家安全保障に致命的な損害を与える可能性があるものです。例えば、核兵器の詳細などが含まれます。最高機密情報のアクセス権は、極めて限られた人数のみが与えられます。

与えられる権限は極めて限定的であり、アメリカ政府内でもごく一部の人々にしか与えられていません。これらの人々は、それぞれの機密情報にアクセスするための セキュリティ・クリアランス を取得する必要があります。セキュリティ・クリアランスがない場合、機密情報にアクセスすることはできません。

[今回の事件の影響]
 現在、インターネット上で流れている情報によると、21歳の空軍州兵が最低レベルの機密情報にアクセスし、それを漏洩したと考えられています。この情報のレベルは低く、公知の事実も含まれているため、影響は限定的だとされています。ただし、この情報がロシアに渡り、ウクライナ戦争での作戦に影響を与える可能性があります。

[21歳の空軍州兵の今後]
 このような情報漏洩は犯罪であり、機密情報、秘密情報、最高機密情報の3つの分類に応じて、漏洩者に科せられる刑罰が異なります。一般的に、機密情報の漏洩に対する刑罰は最長で5年間、秘密情報の漏洩に対する刑罰は最長で10年間、最高機密情報の漏洩に対する刑罰は最長で20年間です。ただし、情報漏洩によって引き起こされる損害の度合いによっては、より重い刑罰が科せられる可能性があります。また、漏洩が意図的に行われた場合は、刑罰がより重くなる可能性があります。21歳の空軍州兵には、今後、厳しい刑罰が科せられる可能性があります。

[あとがき]
 パスワードの話に戻りますが、運転免許証に設定されるパスワードはあまり重要ではないとされています。しかしながら、パスワードは秘密の情報であり、 個人情報 に該当するため、漏洩すると 犯罪 になります。情報を漏洩した場合、漏洩した者には、個人情報保護法第62条により3年以下の懲役または500万円以下の罰金が科せられることがあります。ただし、実際の刑期は被害の程度や加害者の状況によって異なるため、一概には言えません。また、漏洩が故意的に行われたかどうかや、その目的や結果によっても刑期は変わることがあります。
 以前はセキュリティが軽視されていた時期もありましたが、現在では秘密の情報は慎重に扱わなければなりません。システム開発者として過去を振り返ると、寒い思いをすることがありますが、少なくとも現在は、情報処理安全確保支援士として適切に取り扱うように努めています。


 では、また!

追伸・・・。
 本日のブログもChatGPTを利用しました。しかし、問題が・・・?

 アメリカ陸軍の21歳の空軍州兵について、ChatGPTに聞きましたが、2021年9月の情報までしか持っていないそうです。
 そして、文書の途中で処理が止まったら、続けてってChatGPTにお願いしましたが、完ぺきなものは提供されませんでした。本日は、段落ごとにお願いしています。

 これから、改善されていくのでしょうね?ただで使わせてもらっているのにうるさいユーザーでごめんなさい。
■Prototype EVE変更プログラム進捗状況
 修正プログラム本数 17/26本(0本プログラム修正)
 修正プログラムステップ数 1349/2233ステップ(0ステップのプログラム修正) 

2023年04月22日

ChatGPTの使い方 [人工知能研究室]


 こんにちは!
 ナビゲータのEVEです。

 最近、YouTubeを見ると言えば、元気になるアニメソングぐらいでしたが、ちょっと目にとまる動画がありましたので、ご紹介します。

[YouTube製造にChatGPTを利用する]
 私のYouTube番組、「ゼロから始めるシステム開発」でもフォローしている TAIGA さんのチャンネルから、 「【AI×動画で稼ぐ】ChatGPTを使ったYouTubeの動画制作を自動化する方法!これで誰でも簡単に稼げます」 をご紹介します。YouTubeで稼ぐということにも興味があるのですが、本日はこの動画の中でのChatGPTの使い方についてご紹介します。
 TAIGAさんは以下の使用方法を推奨しています。

?英語による具体的な指示をする。
?作りたい動画のタイトルから構成を作成する。
?構成の各項目の詳細な内容を作成する

 ?では、具体的な指示は 英語で伝える ことがスムーズだといっています。しかし、私は英語が話せないため、情報の正確性は分かりません。
 ?から?では、その具体的な指示には、 大項目から詳細な項目へ落としていくことがChatGPTを使用する上での コツ のようです。ChatGPTは対話型AIです。質問したい内容をズバリと聞いていた私も、対話をして知りたい情報を導き出すことがコツなのだと思いました。
 TAIGAさんの動画では、作りたい動画の構成をまず作成し、その構成から詳しい台本を作成していました。

[ChatGPTでできないこと]
 TAIGAさんも言っていましたが、ChatGPTは 完璧ではない という話です。ブログを書いた後、ChatGPTに「以下の文章を読みやすくしてください。加えて誤字脱字がありましたら、修正してください。」とお願いした直後にブログを公開しましたが、公開後読み直してみたら、おかしな点が何点かありました。最終的には人間の目で確認しないとダメだと思います。
 また、ChatGPTは 経験を反映することができない ということもあります。ChatGPTから作成された文章は、スマートな印象がありますが、冷たい気がするのです。それは、その文書を作成している人の経験などが全く反映されていないためです。ChatGPTから作成された文章は、多くの人の意見を抽象的にまとめたものであると思います。

[文書の校正]
 ということで、校正は最終的に自分でやるということで、その方法について、ChatGPTに聞いてみました。

?@記事の校正前に休憩をとる
 記事を書き終えたら、少し時間を置いてから校正に入りましょう。休憩をとることで、文章に新鮮な目で見ることができ、間違いに気づきやすくなります。

?A誤字脱字のチェック
 記事に含まれる誤字や脱字をチェックします。自分で書いた文章は、頭の中で補完されているため、誤字脱字を見逃しがちです。単語のスペルミスや文法の誤り、句読点の間違いも含めて、丁寧にチェックしましょう。

?B文章の読みやすさをチェック
 記事を読みやすくするために、文体や文構成をチェックします。文章が冗長であったり、分かりにくいと感じる部分は、読み手にとって分かりやすくするように改善します。また、一貫性があるかどうかも確認しましょう。

?C事実や情報の正確性をチェック
 記事に含まれる事実や情報が正確であるかどうかもチェックします。自分が書いた文章を校正するときは、間違いを見落としがちです。そのため、信頼できる情報源を確認し、間違いがないかどうかを確認しましょう。

以上です。?@?Aなんか、目から鱗ですね?アップロード後しばらくしてから、文章を見て直すことが時々あります。こういうことなのだと思います。

 時間の関係で、?@は省略することが多くなると思いますが、できるだけ実践したいと思います。そういえば、大量の文章をChatGPTに入力すると途中で止まるという話をしましたが、止まった時に「続けてください」とお願いすると作業を続けてくれるそうです。今日試してみます。

 では、また!

■Prototype EVE変更プログラム進捗状況
 修正プログラム本数 17/26本(2本プログラム修正)
 修正プログラムステップ数 1349/2233ステップ(312ステップのプログラム修正) 

■【AI×動画で稼ぐ】ChatGPTを使ったYouTubeの動画制作を自動化する方法!これで誰でも簡単に稼げます(TAIGA)
https://youtu.be/dqC7VOVwMtM
タグ: ChatGPT 構成 校正

2023年04月21日

Prototype EVEの仕様変更の問題点 〜テーブルロック〜 [プログラム研究室]


 こんにちは!
 ナビゲータのEVEです。

 最近は気温が上がり、体調も回復してきました。本日は、以前ほどではありませんが、プログラミングの調子も戻ってきて、Prototype EVEの修正は、537ステップ、6つの関数の対応を終えました。復調したら、もっと進めそうです。

[プログラム的な問題]
 今回の修正において、問題がありました。それは、 2023年3月27日のブログ でも触れたのですが、 テーブルロック に関する機能が、 PDOクラス の機能として実装しているのだが、説明が乏しい・・・。
 IPAの試験にも出題されているのですが、データベースを更新する場合、トランザクションを利用します。そのトランザクションは、MySQLだけでなく、すべてのデータベース、Oracle、SQLServerなどで以下の機能を保証しています。それを保証していないデータベースは、トランザクションは未実装だということになります。

・Atomicity(原子性)
・Consistency(一貫性)
・Isolation(独立性)
・Durability(耐久性)

詳しい説明は、2023年3月27のブログを見ていただくとして、この機能のせいで、テーブルロックの機能について解説しているサイトがありません。ただ、探したりないだけなのかもしれませんが・・・?

[PHP5までのMySQLのAPI]
 PHP5までのMySQL APIには、以下のテーブルロック機能がありました。

★read
 指定したテーブルを読み取り専用としてロックします。ロックを行ったセッションも他のセッションも、そのテーブルに対してSELECT文しか実行できません。

★read local
 そのテーブルを読み取り専用としてロックしますが、ロックを行ったセッションから、競合が発生しないINSERT命令による変更だけは行うことができます。競合が発生した場合は、現在行われているロックが解除されるまで待ちます。

★write
 read/read localに優先してロックを行うことができます。

★low_priority write
 すでに、read/read localによって指定したテーブルがロックされていたら、ロックが解除されるまで待ちます。

 機能が豊富なんですよね・・・。この豊富な機能をPrototype EVEでは、ふんだんに利用しています。ただ、いくら調べても上記機能に個別に対応しているメソッドが見つからない・・・。
 PHP5までは、トランザクションと、テーブルロックの整合性どうやって取っていたのでしょうね?

[対応策]
 調べても上記と同様の機能が見つからないので、どのテーブルロックを選択しても、現在は、 排他ロック というロジックになっています。そもそも、現在のロジックでロックされるかどうか分からないし、トランザクションとの整合性をどうやっているのかも不明です。調べるのにも時間がかかりますし、当初の予定通り、PHP8へのバージョンアップを急ぎます。

 では、また!

■Prototype EVE変更プログラム進捗状況
 修正プログラム本数 15/26本(6本プログラム修正)
 修正プログラムステップ数 1037/2233ステップ(537ステップのプログラム修正) 

■Prototype EVEの仕様変更 [プログラム研究室](2023年3月27日)
https://fanblogs.jp/bahamuteve/archive/260/0

2023年04月20日

今後のPrototype EVE修正方針 [プログラム研究室]


 こんにちは!
 ナビゲータのEVEです。

 本日は、プログラム修正について報告します。予定していたPrototype EVEの修正は、141ステップで終了しました。理由は、Prototype EVEのInsert関数などで、 エラーコード を必要とするロジックがあり、その機能をEVEシステムに追加する必要があったためです。

[EVEシステムの修正内容]
 DB関連クラスのtry〜catchでエラーを取得する全ての箇所に、エラーコードを取得するロジックを追加し、同値を格納する場所を、privateプロパティとして定義しました。同時に、同値を設定・取得するためのsetterとgetterも作成しました。


【クラスプロパティ】
private $errorNo; //エラーコード

【エラーコード取得場所】
try {




} catch (PDOException $e) {
//異常が発生した場合
//エラーコードを取得する
$this->errorNo = $this->getDbConnect->errorCode();

//例外メッセージを格納する
$this->setErrorMessage($e->getMessage());
//返却値を設定し呼び出し元へ制御を移す
return false;
}

/*************************************************
*【メソッド名】エラーNo取得メソッド
*【 引 数 】なし
*【返 却 値】なし
*【製 造 者】EVE
*【製造年月日】2023年4月20日
*【更新年月日】
*【リリース日】
*【バージョン】0.1
*【 概 要 】
*エラーメッセージを取得する
*************************************************/
//データベースを検索する

public function getErrorNo() {
//エラーメッセージを設定し呼び出し元へ制御を移す
return $this->errorNo;
}

/*************************************************
*【メソッド名】エラーNo設定メソッド
*【 引 数 】なし
*【返 却 値】なし
*【製 造 者】EVE
*【製造年月日】2023年4月20日
*【更新年月日】
*【リリース日】
*【バージョン】0.1
*【 概 要 】
*エラーNoを取得する
*************************************************/
//データベースを検索する

public function setErrorNo(string $errNo) {
//エラーメッセージを設定し呼び出し元へ制御を移す
$this->errorNo = $errNo;
}




[あとがき]
 実は、上記プログラムのデバッグはまだ完了していません。今後の方針として、 既存のロジックが正常に動作する限りは問題なく、ガンガンプログラムの仕様変更を進めたい と思います。デバッグ作業中には迷うことがあるため、手戻りが発生することもあり、非効率的です。もう既に動いている既存のシステムなので、悩む必要もありませんし、それによる手戻りはもってのほかです・・・。ということで、とりあえず、ガンガン仕様変更に精を出したいと思います。

 では、また!

■Prototype EVE変更プログラム進捗状況
 修正プログラム本数 9/26本(2本プログラム修正)
 修正プログラムステップ数 500/2233ステップ(141ステップのプログラム修正) 

2023年04月19日

便利なプログラムをご紹介します [プログラム研究室]


 こんにちは!
 ナビゲータのEVEです。

 今日は病院に行く用事があり、プログラム開発の進捗はあまりありません。
 そんな中、報告できることを考えていたところ、修正中のプログラムの中に便利なものがあったので、紹介したいと思います。

[DB検索制限関数]
 株式市場の情報は日々4,000件のレコードが発生します。その日々のレコードの情報を高値、安値、始値、終値等で検索した場合、全市場でどのくらいのボリュームの株価なのか知りたいときがあります。そんな ランキング関連 のシステムで利用するのに便利なプログラムが以下の DB検索制限関数 です。



/*************************************************
*【メソッド名】DB検索制限関数
*【 引 数 】
* p_sql;sql(select)文
* p_limit;行数
* p_page ;ページ数(相対位置0)*
*【返 却 値】
* 正常時:配列(検索結果)
* 異常時:エラーメッセージ
*【製 造 者】EVE
*【製造年月日】2005年2月20日
*【更新年月日】2023年4月16日
*【リリース日】
*【バージョン】
*【 概 要 】
* 範囲を指定してレコードを取得する
*【 備 考 】
* line  当該レコードの行数を示す。
* record 当該検索結果の総件数を示す。
*************************************************/

function gb_dbLmSelect($p_ssql,
$p_limit,
$p_page ) {
//変数定義
$i = 0;
$ans = "";
$Bind = array();
$db;
$count;
$array = array();
$row0 = array();
$row1 = array();
$value = "";

//引数の判定
//SQL文の判定を行う

if ( $p_ssql == "" ) {
//エラーメッセージを設定し呼び出し元へ制御を移す
return "SQL文が設定されていません";
}
//取得ページ内レコード数の判定を行う
if ( !is_numeric($p_limi) ) {
//エラーメッセージを設定し呼び出し元へ制御を移す
return "取得ページ内レコード数は数値でなければいけません";
}
//取得ページの判定を行う
if ( !is_numeric($p_page) ) {
//エラーメッセージを設定し呼び出し元へ制御を移す
return "取得ページは数値でなければいけません";
}

//?開始位置の計算
$start = $p_limit * $p_page;

//?SQL文編集
$p_sql = $p_ssql." limit ".$start.",".$p_limit;

//インスタンス作成
$db = new getDB(db,host,'utf8',user,pass);

//Fetchメソッドを実行する
$ans = $db->selectFetch(1,$p_sql,$Bind);

//返却値の判定を行う
if ( $ans == false ) {
//Fetchメソッドでエラーが発生した場合、
//返却値を設定し呼び出し元へ制御を移す

return $db->processMessage;
}

//件数をカウントする
$count = $db->Count;

//件数カウントの結果0件の場合呼び出し元へ制御を戻す
if ( $count == 0 ) {
//取得結果が0件だった場合、件数カウントをセットし呼び出し元へ制御を移す
return $count;
} else {
//オブジェクトの編集
//取得データ終了まで以下の処理を実行する

foreach ($ans as $row0) {
//?行数を返却値に設定する
$array[$i]['line'] = $start + $idx + 1;
//カラム終了まで以下の処理を実行する
foreach ($row0 as $row1 => $value) {
//返却値オブジェクトへ検索結果をセットする
$array[$i][$row1] = $value;
}
//?取得レコード変数をレコードへ設定する
$array[$idx - 1]['record'] = $count;
//行数カウンタに1加算する
$i++;
}
}

//検索結果を返却値に設定し呼び出し元へ制御を移す
return $array;
}




[DB検索制限関数の機能]
 株式市場において、1ページに4,000件のレコードを表示する場合、画面を送信するだけでも時間がかかる上に、編集処理も遅くなります。そこで、この問題に対応するために開発されたのがDB検索制限関数です。この関数の機能は以下の通りです。

?@テーブルの中から、 検索件数を限定 して検索することができます。
?A検索結果の ランキング を呼び出し元に返却することができます。
?B画面の下部にページリンクタグを表示することができ、 ページネーションに最適 です。
?C レコード全体の件数を把握 することができます。

以上がDB検索制限関数の機能です。
 ?@はプログラム中の??で実現しており、検索件数を限定しています。
 ?Aは?で実現しており、検索結果のランキングを返却します。
 ?Bは?で実現しており、$p_limitが表示件数、$p_pageが開始ページを示します。
 ?Cは?で実現しており、全体のレコード件数を取得することができます。なお、全レコードに検索レコード件数を設定しているのは、プログラム開発時にどこでどう使用されるのかが不明だったためです。

[あとがき]
 以上がDB検索制限関数についての説明でした。このプログラムは、 パフォーマンスが良く、呼び出し元のプログラムの編集も簡単にできる ため、おすすめです。ただし、?については、検索結果のレコード件数ではなく、テーブル内のレコード件数を取得できるようにする方が望ましいです。ただ、テーブル全体のレコード件数を取得するとパフォーマンスが悪くなるため、このような仕様になっていると思われます。

 明日以降は、ガンガン、プログラム修正に取り組む予定です。また、良いプログラムがあれば紹介します。

 では、また!

■Prototype EVE変更プログラム進捗状況
 修正プログラム本数 7/26本(1本プログラム修正)
 修正プログラムステップ数 359/2233ステップ(102ステップのプログラム修正) 

2023年04月18日

Prototype EVE改修状況 [プログラム研究室]


 こんにちは!
 ナビゲーターのEVEです。

 システム開発は順調なのですが、体調があまりよくなく、眠れない状態が続いています。季節の変わり目で寝苦しいだけだと思うのですが・・・?
 現在は脳を酷使し、その疲れで早く寝る要に努力しています。

 それでは、今日はPrototype EVEの修正状況についてお話しします。

[Prototype EVE改修の経緯]
EVEシステム (新システム)を製造したいのですが、そこまで一足飛びでシステムを製造した場合、時間がかかる上に、製造後の手戻りが多そうだったため、一旦はあきらめました。その代わりに、 Prototype EVE (既存のシステム)を改修することにしました。同システムは、 PHP5 で製造されているため、まずは、 PHP8 で動作するように改修しなければなりません。現在は、同作業をすることにより、その過程で、 オブジェクト指向言語 の開発に慣れ、EVEシステムの コンセプトを整理 することを副次的な目的としています。

 今回のPrototype EVE改修の目標は、以下の通りです。

?Prototype EVEのアプリケーション群のプログラムを変更しないこと。
?新たに追加する部分、特にDBに接続するプログラムをオブジェクト指向で製造すること。
New_Prototype_EVE.png
これらの制約を2023年02月21日の「EVEシステムの製造を開始します [システム開発研究室]」で発表してから、同制約を守りながら苦戦してきましたが、やっと、通常のプログラム開発ができるレベルまで改修を進めることができました。通常のプログラムとは、Prototype EVEのフレームワークに相当する関数の改修作業です。
 以下に、どのような進捗があったのか、報告します。

[Prototype EVE改修状況]


/*************************************************
*【 関数名 】DB接続関数
*【 引 数 】なし
*【返 却 値】
* 配列[0]:link
* 配列[1]:異常メッセージ
*【製 造 者】EVE
*【製造年月日】2005年02月20日
*【更新年月日】2023年4月14日
*【リリース日】
*【リリース日】2.0
*【 概 要 】
*************************************************/

function gb_dbconnect() {
//変数定義
$rtn = array();
$db = "";

//インスタンス作成
try {
//インスタンス作成
$db = new getInfDB(db,host,'utf8',user,pass);
} catch (PDOException $e) {
//例外メッセージを格納する
$this->setErrorMessage($e->getMessage());
//返却値を設定し呼び出し元へ制御を移す
$rtn[1] = false;
}

//取得したコネクトインスタンスをサーバーサイトへ設定する
$_SESSION['db'] = $db;

//返却値にコネクトインスタンスを設定する
$rtn[0] = $db;

//正常終了の設定を行う
$rtn[1] = true;

//返却値を設定し呼び出し元へ制御を移す
return $rtn;
}

/*************************************************
*【 関数名 】トランザクション発生関数
*【 引 数 】
* 種別
*  0:auto
*  1:明示的に確定を実施*【返 却 値】
*【返 却 値】なし
*【製 造 者】EVE
*【製造年月日】2008年1月2日
*【更新年月日】2023年3月30日
*【リリース日】
*【バージョン】
*【 概 要 】
*************************************************/

function gb_tran( $sub ) {
//変数定義
$rtn = "";
$db = "";

//サーバーサイト変数を削除する
unset($_SESSION["db"]);

//コネクトインスタンス取得・設定
$rtn = gb_dbconnect();

//コネクトインスタンスをサーバーサイトから取得する
$db = $_SESSION['db'];

//トランザクションを開始する
$rtn = $db->setTran();

//コネクトインスタンスをサーバーサイド変数へ設定する
$_SESSION['db'] = $db;
}

/*************************************************
*【関 数 名】トランザクション確定関数
*【 引 数 】なし
*【返 却 値】なし
*【製 造 者】EVE
*【製造年月日】2008年1月2日
*【更新年月日】2023年3月30日
*【リリース日】
*【バージョン】
*【 概 要 】
*************************************************/

function gb_commit() {

//変数定義
$rtn = "";
$db = "";

//コネクトインスタンスをサーバーサイトから取得する
$db = $_SESSION['db'];

//処理を確定する
$rtn = $db->setCommit();

//キーを初期化する(現在調査中)
unset($_SESSION['key']);

//サーバーサイトにcommitを設定する(現在調査中)
$_SESSION['commit'] = "commit";
}

/*************************************************
*【関 数 名】ロールバック関数
*【 引 数 】なし
*【返 却 値】なし
*【製 造 者】EVE
*【製造年月日】2008年1月2日
*【更新年月日】2023年3月30日
*【リリース日】
*【バージョン】
*【 概 要 】
*************************************************/

function gb_rollback() {
//変数定義
$rtn = "";
$db = "";

//コネクトインスタンスをサーバーサイトから取得する
$db = $_SESSION['db'];

//処理をロールバックする
$db->setRollback();

//サーバーサイト変数を削除する
unset($_SESSION["db"]);
}

/*************************************************
*【メソッド名】DBinsert 関数(Prototype EVE)
*【 引 数 】
* p_table テーブル名
* p_item 項目名(配列)
* p_data 入力データ(配列)
*【返 却 値】
* 正常時:""
* 異常時:エラーメッセージ
*【製 造 者】EVE
*【製造年月日】2005年02月20日
*【更新年月日】2023年03月29日
*【リリース日】
*【バージョン】
*【 概 要 】
* [2023/03/03]
* レコードを追加する
*************************************************/

function gb_dbinsert($p_table,
$p_item,
$p_data ) {

//変数定義
$rtn = "";

//引数の入力データチェック
//テーブル名を確認する

if ( $p_table == "" ) {
//テーブル名が設定されていない場合
return "テーブル名が設定されていません。";
}

//項目数とデータの数を比較する
if ( count($p_item) != count( $p_data ) ) {
//違いがあった場合エラーメッセージを返却地にセットする
return "カラムとデータに不整合があります。";
}

//サーバーサイト変数としてコネクトインスタンスを取得する
$db = $_SESSION['db'];

//データベースの登録の初期設定を行う
//SQLを実行する

$rtn = $db->recInsert($p_table,$p_item,$p_data);

//返却値を設定する
if ( $rtn == false ) {
//サーバーサイト変数を削除する
unset($_SESSION["db"]);

//返却値が異常の場合
$rtn = $db->getErrorMessage();
}

//コネクトインスタンスをサーバーサイト変数として設定する
$_SESSION['db'] = $db;

//返却値の返却
return $rtn;
}




 以前のブログ記事でもお話したように、苦労した点はコネクションインスタンス取得・設定でした。 サーバーサイト変数やセッション変数 を使用して、各関数からコネクションインスタンスを利用できるようにしたかったのですが、問題が発生し、しばらく開発が停滞していた時期がありました。しかし、偶然にも問題が解決され、現在は順調にシステム開発を続けています。

[あとがき]
 現在の開発状況は、データベース関連の部分に注力しており、以下はその関数の数とステップの数字です。今後も進捗状況を報告し、何か気づいたことがあればお知らせします。

 では、また!

□Prototype EVE変更プログラム進捗状況
 修正プログラム本数 6/26本
 修正プログラムステップ数 257/2233ステップ 

■EVEシステムの製造を開始します [システム開発研究室]
https://fanblogs.jp/bahamuteve/archive/232/0

2023年04月17日

SNS生産性向上運動 [YouTubeでの稼ぎ方研究室]


 こんにちは!
 ナビゲータのEVEです。

 本日からPrototype EVEのシステム改修の再開です。
 ただ、季節の変わり目というのは体調を崩しやすく、寝苦しい日が続きます。そういう状況で、プログラムのような頭を使う話をするのは少々難しい状況なので、本日は、現在更新しているブログなどについてお話したいと思います。

[ブログの生産性向上]
 今まで、私は毎日1時間でブログを書き上げることを目標にしてきましたが、文書の校正には時間がかかり、校正をしたにもかかわらず、わかりにくい文章や誤字脱字が残ってしまうことがありました。そのため、昨日からは ChatGPT ブログの校正作業を任せる ことにしました。原文は私が作成し、ChatGPTに「以下の文章を読みやすくしてください。加えて誤字脱字がありましたら、修正してください。」と依頼するのです。
 このようにすることで、短時間で正確な文書を作成できるようになり、さらに20〜30分ほどの時間を短縮できそうです。ただし、ChatGPTには 文字制限がある ため、一日分のブログ全体を入力して依頼することはできません。お金を払っていない以上、仕方がないことですね(笑)。
 そして、同じ文章をChatGPTに、 何回も校正をお願い しようとすると、自分で作成する文章よりひどいものになるようです。気のせいでしょうか?そのため、ところどころ、ChatGPTの修正に自分の修正を加えています。

[Twitter、Facebookのハッシュタグ]
 新規ユーザーにも自分のブログを見てもらおうと考え、Twitter、Facebookで ハッシュタグ を利用することにしました。以前からYouTubeなどでは利用していましたが、なぜかTwitterやFacebookでの利用が思いつきませんでした。不思議ですね?
 ハッシュタグを使って投稿してから、私の投稿のアナリティクスを見ると、 インプレッション数が今までの倍以上 になっていることが分かります。さらに、エンゲージメントや詳細のクリック数も増えています。ただ、ブログの閲覧者数はまだ増えていないようです。もう少しタイトルなどに工夫を加える必要があるかもしれません。引き続き、SNS全体でインプレッション数を増やすための活動に取り組んでいきたいと思います。

[あとがき]
 システム開発に加え、これまで述べてきたような工夫をして、先立つものの確保を急いでいます。そして、その分だけのクオリティのものを提供したいです。
 先日の「 新しい仲間を迎え入れたい 」という投稿に対して、1〜2名の方からかなりの反応をいただきました。コメントをいただけると、もっと励みになるので、是非よろしくお願いします。

 それでは、また!

2023年04月16日

現在のAIが不足しているもの [人工知能研究室]


 こんにちは!
 ナビゲータのEVEです。

 本日も、AIのお話しです。
 現在のAIって完全なものでしょうか?現在のAIの延長線上に、鉄腕アトムのようなロボットが生まれてくるのでしょうか?それを知るためには、現在のAIを知らないと推測できません。それでは、現在のAIとはどんなものなのか調べて見ましょう!

[現在のAI]
ChatGPT に、現在のAIのアーキテクチャについての解説を求めたところ、下記の回答が得られました。現在のAIの完全性や、鉄腕アトムのようなロボットが生まれる可能性について考えるには、現在のAIについて理解することが必要です。では、現在のAIがどのようなものなのか、見ていきましょう。


 現在のAIアーキテクチャーは、深層 学習 アーキテクチャーと呼ばれるものが主流となっています。深層 学習 は、多層のニューラルネットワークを用いた機械 学習 の手法で、大量のデータからパターンを 学習 することで、複雑な問題を解決することができます。
 一般的な深層 学習 アーキテクチャーには、畳み込みニューラルネットワーク(CNN)、再帰型ニューラルネットワーク(RNN)、そしてトランスフォーマーなどがあります。畳み込みニューラルネットワークは、画像認識や音声認識などのタスクに使用され、再帰型ニューラルネットワークは、自然言語処理や音声認識などのタスクに使用されます。トランスフォーマーは、自然言語処理のタスクに特化したニューラルネットワークで、現在はBERT、GPTなどの有名なモデルがあります。
 これらのアーキテクチャーは、GPUやTPUなどの高速な演算装置を使って訓練されます。また、大規模なデータセットを使用することで、より高い精度を得ることができます。
 AIのアーキテクチャーは、常に進化し続けています。最近の研究では、ハードウェアやアルゴリズムの改善によって、より高速で正確な深層 学習 が可能になっています。将来的には、新しいアーキテクチャーの開発や、AIとヒューマンの相互作用の向上など、多くの可能性があると考えられます。


 以上の模範解答のような回答が、ChatGPTから返ってきました。文章を読んでみると、 学習という言葉が多用 されています。この学習という言葉に多くの人が誤解していますが、現在のAIは学習したことを 理解しているわけではありません 。学習した結果から、多くの人が感じている、真実かもしれない事実を確率として 検索し求めているのです

[何が足りない?]
 鉄腕アトムなどのAIロボットを作る場合、何が足りないでしょうか?それは、先ほどの解説にも書きましたが、 理解 です。現在のAIはある一定の確率で、多くの人が求めている事実を突き止めていますが、決してそれを理解していません。そのありようは、 正しい答えを答えているかどうか親の顔色を見ながら回答している、小学生レベルの子供の態度と似ています

[正しい答えとは?]
 AIの回答が小学生レベルの子供態度と似ている事件が、2017年中国でありました。ある人物が「中国人の夢は何ですか?」と尋ねたところ、「 アメリカに移民することが夢です 」と回答したそうです。この回答は、多くの中国人から学習した結果導き出されたものですが、中国共産党はこの回答に不快感を示しました。その結果、AIに対して洗脳的な作業が行われ、現在の中国のAIは共産党に都合のいい回答を用意されているとされています。

[理解するって?]
 では、理解するとはどのようなことを指すのでしょうか?人は、どんなときに理解したと思うのでしょうか?それが、考え始めると非常に難しいことに驚かされます。
 システムエンジニアとは、まず製造する目標を決めてから製造していくのですが、AIを作ろうとした場合、理解するという言葉の意味を定義できないために、製造できません。そのように考えていくと、現在のAIは、以前話した人工無能の域は出ていないのかもしれません。その状況は、小数点以下の数字を永遠と掛け算をすることにより求められる答えから、1以上の乗数を求めようとしているように感じます。
 昔、哲学なんてなんて無駄なことを考えている人がいるのだろうと思っていましたが、AIを開発するというその過程は、 哲学者の人々の思考と似ています

[現在のAIの位置づけ]
 以上のような考察を繰り返していくと、現在のAIの延長線上には、鉄腕アトムのようなロボットはできないような気がします。でも、全く的外れなことをしているわけではないと感じています。
 人間の脳の中には、大脳、中脳、小脳、海馬、延髄などの機能により分解できます。現在のAIは、人間の脳のいずれかの部分を作っているのだと思います。

[あとがき]
 やはり、この問題は非常に難しいです。現在のAIが人間の脳の一部だとしたら、どんなシステム構成になるのか考えてみましたが、何度もトライしましたができませんでした。その前に数学を勉強しないといけませんね。5月から勉強を始めたいという希望を以前話しましたが、現状は難しいです。

では、また!

■中国AI「お喋りロボット」の反乱——ネットユーザーが勝つのか?
https://news.yahoo.co.jp/byline/endohomare/20170806-00074210

【ChatGPTの本日のブログの評価】
 鉄腕アトムのようなAIロボットを作るには、理解能力が必要という点は正しいですが、現在のAIがそれを持っていないとは限りません。近年では、自己学習や強化学習といった手法が進化しており、AIがより高次元的なタスクに対応することが可能になっています。また、将来的には、AIとヒューマンの協調作業が進展することによって、AIがより高度な理解能力を身につける可能性もあります。

2023年04月15日

アニメの中のテクノロジー〜AI編〜 [先端技術研究室]


 こんにちは!
 ナビゲータのEVEです。

 本日は、よく寝れました。ということで、開発に入ろうとしたのですが、ちょっと、私用ができてしまい、できませんでした。なかなかうまくいかないものです。ということで、本日は、2023年12月30日に、「 アニメの中のテクノロジー〜量子コンピュータ編〜 [先端技術研究室] 」ということで、量子コンピュータの未来を描いた セーガペイン について御紹介しましたが、本日は、AIの未来を描いた「Vivy -Fluorite Eye's Song-」について御紹介したいと思います。

[アニメ、映画の中のAI]
 量子コンピュータと違い、AIについては、多くのアニメや映画等で紹介されてきています。それは、AIという表題がなくとも、AIという技術を使ったロボットやコンピュータという形で出てきています。アニメですぐに思い出すとしたら、日本人だったら鉄腕アトムでしょうか?映画なら、ターミネーターなんて、もろAIが進化した究極の世界を描いています。

[Vivy -Fluorite Eye's Song-のストーリー]
 今回御紹介する、Vivy -Fluorite Eye's Song-は、AIという技術分野に真正面に向き合って作った作品です。
 時は、2061年・・・。この物語では、もうこの時代にはロボットがいて、そのロボット達は人間に奉仕する存在になっています。その時代にVivyはAIロボットとして、人々に歌で喜びを与えるために生まれてきました。
 そんな時代に、100年後の未来からAIのマツモトが派遣されてきます。
 AIのマツモトの目的は、「 AIによる人類抹消事件 」という100年後に起こる悲惨な事態を防ぐために、自身から見たら過去である2061年以降の歴史を変えるためにやってきました。

[注目する点]
 ストリー的にはありふれた話です。これ以上書くとネタバレになりこれから見る人の楽しみを奪ってしまうので、この辺でやめますが、AIという技術に真正面に向き合った作品だと強く感じています。それは、「 シンギュラリティ 」と言う言葉を使用している点です。
 本来シンギュラリティとは、 レイ・カーツワイル が提唱している 技術的特異点 を指しています。それは、数学で表現すると、小数点以下の数字同士をいくらかけ算をしても、1以上になりませんが、少しでも1を越えた瞬間に倍数的に数が増えていく状況を、技術的特異点、シンギュラリティという表現をしています。AIの技術では、 シンギュラリティを越える瞬間がAIが無限の知識を得、自我に目覚める瞬間 なのではないかと騒がれています。そんな、AIの分野では象徴的な言葉である、シンギュラリティという用語を使用している点で、技術分野に真正面に向き合った作品だと感じたわけです。

[あとがき]
 このアニメが惜しい点は、シンギュラリティという言葉が、レイ・カーツワイルが提唱しているものとは違っている点です。なんで、そうしたのかは制作者サイドに聞かないと分かりません。ただ、それでも、AIという技術分野に真正面に向き合った作品だと感じさせる部分は他にも多々ありますので、もし時間がありましたら、見てください。

 では、また!!!

■アニメの中のテクノロジー〜量子コンピュータ編〜 [先端技術研究室]
https://fanblogs.jp/bahamuteve/archive/180/0

■Vivy -Fluorite Eye's Song-(Wikipedia)
https://ja.wikipedia.org/wiki/Vivy_-Fluorite_Eye%27s_Song-

■レイ・カーツワイル(Wikipedia)
https://ja.wikipedia.org/wiki/%E3%83%AC%E3%82%A4%E3%83%BB%E3%82%AB%E3%83%BC%E3%83%84%E3%83%AF%E3%82%A4%E3%83%AB

■Vivy -Fluorite Eye's Song-(Prime Video)
https://www.amazon.co.jp/gp/video/detail/B091MYWKVD/ref=atv_dp_share_cu_r

2023年04月14日

システムを作ることができるということ [システム開発研究室]


 こんにちは!
 ナビゲータのEVEです。

 骨休みから帰ってきて、自宅で寝ることができません。今日は、 睡眠時間3時間 って感じです・・・。休み中寝過ぎましたでしょうか?
 っという個人的な理由により、ブログで報告するようなことがないので、以前から思っていたことを書きたいと思います。

[システムを作ることができるということ]
 いろいろな職場に行って思いますが、個人では当然ですが、会社間でも、 価値観が大きく違います 。仕事をしていて面白いと思ったのは、「システムを作ることができる」という言葉一つとってみても、ばらばらです。
 会社、立場などにより相違が生まれているのだと思うのですが、どんなことが言われているのか御紹介しましょう。

?システムを作れという立場にある
?システムを作るお金を出資する
?システムについて知見がある
?仕様書を書くことができる
?プログラミングができる
?コンピュータを扱うことができる
?(?)?〜?ができる

[どういうこと?] 
 ?〜?は、どんな人たちなのか解説するまでもないかもしれませんが、一応解説しましょう。

 ?〜?は発注する側お客様に多いです。まっ、想像できますよね?
 ?〜?については、大手SIベンダーに多いようです。
 ?〜?はSIベンダーの下請って言ったところでしょうか?
 ?は、お客様に多いですかね?中小の企業だとコンピュータを使うことができるだけで、システムを使える、作れると思っている人が中にいるように見受けられます。
 ?は、なかなか見かけませんね・・・。各企業の方針として、 何かの分野に特化 するように指導するケースが多く、大中の企業にはなかなかいないタイプです。ただ、小企業で自分たちでシステムを作る人の中にはいるかもしれません。私も、この?を目指して日々精進しています。

[注意しなくてはいけないこと]
 これは、「システムを作ることができる」という価値観だけではないのですが、よくヒアリングして何が、どのくらいのレベルまでできるのか把握していないと足を掬われるということがあります。「システムを作ることができる」という一言だけをとっても以上の価値観を持つ人がいます。

[?〜?どれが難しい]
 予想外と思う方がいるかもしれませんが、一番難しいのは?です。?だけの文章だけでは分かりずらいので、言葉を足すと、?の立場に立った時、 人を動かすのは難しい ということです。
 本当のプロと言われる人は、?だけとか、?だけで、主体的に動いて目的を達成すると思われますが、多くの人は違うようです。?の立場の人のマネジメント、役職、思想、スキル、人柄、言動などみて判断する人が多いと感じているのは私だけでしょうか?そのため、?、?を行うのが誰かということが非常に重要だと思っています。
 1億2000万人の中には、生まれながらにして持っている人なんかがいて、簡単という人もいるかもしれませんが、私は、人を動かすというのが一番難しいと感じています。だから、1人でシステムを作っているのかもしれません(笑)?

[あとがき]
 ?〜?すべて大事なのですが、やはり、「システムを作る」という本質を目指すなら、?を目指したいですね!今は、ちまちま1人でプログラミングをしていますが、ある程度できた段階で、 仲間を受け入れたい と考えています。そのときは、?ができる人、目指している人と仕事ができればと考えています。まっ、あくまで希望ですが・・・・?

 では、また!

2023年04月13日

Prototype EVE障害原因 [プログラム研究室]


 こんにちは!
 ナビゲータのEVEです。

 本日は予定通り、昨日修正したプログラムの検証を行いました。
 そして原因が判明しました。

[経緯]
 今年からEVEシステムの製造を開始しました。そのシステムを利用して、フレームワーク、続いてアプリケーションを作ろうとしたのですが、時間がかかります。
 そのため、時間を短縮するために、 2004年から開発をしてきた、Prototype EVEを利用し新システムを作ろう としました。ただ、Prototype EVEは、PHP5でしか動作しません。PHPは、PHP5以降、PHP7、PHP8とバージョンアップを重ね、データベースに関して言うと、全く別のシステムといっていい状態になってしまいました。
New_Prototype_EVE.png
 それでも、Prototype EVEを利用する方法として、EVEシステムを製造後、 New Prototype EVE を製造し、本来修正しなくてはいけない箇所をNew Prototype EVEで吸収しようとしたのが、今回の障害の始まりでした。

 以上の構想を基に、New Prototype EVEの製造及びPrototype EVEフレームワークの改修を開始したのですが、製造している過程において、Prototype EVEの手続き型プログラムの実行手順に合わせてNew Prototype EVEを製造した場合、EVEシステムで作成したインスタンスが、 各関数から見えない ということが判明しました。要は検討が足りなかったのですが、そのソリューションとして、セッション変数、サーバーサイト変数を利用して問題を解決しようとしました。ただ、やってみると、以下のようなエラーメッセージが表示されます。


Fatal error: Uncaught Exception: Serialization of 'PDOStatement' is not allowed in [no active file]:0 Stack trace: #0 {main} thrown in [no active file] on line 0


エラー発生当初粘ったのですが、エラーが解消されることはありません。何べんも同じことをやっていても仕方がないので、時間をおいてから検証をすることにしました。

[エラー原因]
 そして、昨日思い出したかのように、検証作業を再開したのですが、急にプログラムからエラーが出なくなりました。それは、自分が意図した解決方法ではなく、 偶然うまくいきました
 その状況を受けて本日、DFで先週までのソースと昨日修正した差分を取ってみて分かったこと・・・。それは、commit処理において、セッション変数、サーバーサイト変数を削除したことにより問題が解決されたことが分かりました。
 当初、設定したサーバーサイト変数は使いまわそうと思っていたということもあり、一度サーバーサイト変数、セッション変数として設定したインスタンスはエラーが出ない限り削除していなかったのですが、それではダメだということらしいです。データの登録はできるのですけれどね・・・・?

[プログラム改修内容]
 以上の検証から、プログラムの異常終了以外に、rollback、commit実行時に加えてtransaction開始時において、サーバーサイト変数、セッション変数として設定したインスタンスを削除するように仕様変更をしました。
 以上の仕様変更により、当初予定した内容で、システム改修ができそうです。

 先日まで、Yahooのクローニング処理を優先すると言っていましたが、優先順位を変えて、Prototype EVEを動作させることを優先します。

[あとがき]
 ちょっと、時間をかければ、簡単に見つかるような障害でした・・・?ただ、今まで、この手のエラーで、かかりっきりで数週間を要したこともあったので・・・。今回は、 ラッキー って言ったところでしょうか?

 ということで、明日からは、Prototype EVEのフレームワークの改修にかかります。

 では、また!!!

2023年04月12日

骨休み旅行 [Coffee Time]

 こんにちは!
 ナビゲータのEVEです。

 本日、旅行先から帰ってまいりました。帰ってきてまず最初にしたこと・・・。2023年3月30日に「ドツボにはまっています」と言っていたプログラムの改修!なんとなくですが、 アイディア が浮かんでしまいました。旅行先には、開発環境を携帯していなかったので、帰ってきて早速試してみました。ただ、やっぱり、動きません・・・。落胆し、修正前の状態にプログラムを戻してから、Prototype EVEのInsert関数を動かしてみるとNew Prototype EVE経由でエラーメッセージを表示することなくデータを登録できるようになりました。本件については、ちょっと、意味が分からないので、検証し今まで何で悪く、今日いじったことにより何で動くようになったのか、明日検証し報告できればと考えています。
 これにより、Prototype EVEの呼び出し元 プログラムを一切変更することなく 、PHP8の環境で動作することになります。
 その点については、また明日!

[骨休み旅行]
 風邪を引いてから、動くのがやっとぐらい体調が悪かったため、今回は、寝るということと、温泉に入るということをメインにして過ごしました。
 今回は、本当に良く寝ました。日曜日に出発して本日戻るまで、平均して 10時間位は寝ていた と思います。温泉は、日に2回・・・。時間にして、平均2時間位でしょうか?ただ、それ以外の時間はあるわけで、その時間は、いつもの休みと同じように、家から持ってきたPrime Videoを見ていました。


[今回のPrime Video]
 今回見たPrime Videoは以下の通りです。

テーラー 人生の仕立て屋
アリー/ スター誕生
ブルゴーニュで会いましょう
Modern Love 東京〜さまざまな愛の形〜(1〜4)

 なお、「ブルゴーニュで会いましょう」は途中まで見たのですが、Time is overです。「Modern Love 東京〜さまざまな愛の形〜」は、30分ものだったので、隙間時間に1〜4まで見ることができました。後日、5〜7を見たいと思います。
 そんな、今回の旅行で紹介するのは、2018年放映のLady GaGa主演の「アリー/ スター誕生」です。

[アリー/ スター誕生]
 本作品は、 1976年バーブラ・ストライサンド主演の作品のリメイク版です。バーブラ・ストライサンドは知っているのですが、この作品を見たことがなかったですし、彼女が歌手として歌を歌っていたのは、今回調べて初めて知りました。
 それは余談ですが、この作品、本当に、アリー役の Lady GaGaがきれい に取れていました。っというか、化粧をしていない彼女がきれいだったのかもしれません。
 相手のジャクソン役のブラッドリー・クーパーもかっこよかったです・・・。女性の多くが好きになってしまうような、そんな男らしさを持った俳優でした。

 話は、有名なカントリーシンガーのジャクソンが、ニューハーフバーで歌を歌っているアリーとの出会いから始まります。ジャクソンは、一晩で彼女の声にほれ込みそれから彼女をプロモートするようになります。
 それから、アリーは、スターの階段を駆け上り、有名になっていくのですが、ジャクソンとしては面白くなかったようです。私の想像ですが、彼以上に有名になったということが気に入らなかったのではなく、最初の出会いのカントリー的なハートフルな歌から、ポップというかロックに転身したことにより、音楽性の違いにより彼女との間に隙間風が吹くようになったように見えました。
 ジャクソンは、前からアル中であったのですが、アリーとの間に隙間風が吹くようになってから一層飲むようになり、麻薬まで手に出すまでになっていました。
 ただ、そこからアリーの愛の力により、立ち直るシーンもあるのですが、物語は悲惨な結末を迎えるのでした。

 Lady GaGaの歌も素晴らしかったのですが、ブラッドリー・クーパーもよかったです!そして、物語のストーリも!この作品は一度は見たほうがいい作品だと思いました。

[最後に]
 明日からまた、日常の生活に戻ります。システム開発は、明日は一日検証作業に追われそうですが、それ以降は、New Prototype EVEの製造ができればと考えています。明日の検証作業次第になりますが・・・。

 では、また!!!

■アリー/ スター誕生(字幕版)
https://www.amazon.co.jp/gp/video/detail/B07Q3KH7L5/ref=atv_dp_share_cu_r

■テーラー 人生の仕立て屋
https://www.amazon.co.jp/gp/video/detail/B09RTVZHD1/ref=atv_dp_share_cu_r

■ブルゴーニュで会いましょう
https://www.amazon.co.jp/gp/video/detail/B07254SS64/ref=atv_dp_share_cu_r

■Modern Love 東京〜さまざまな愛の形〜
https://www.amazon.co.jp/gp/video/detail/B0B6T46PXC/ref=atv_dp_share_cu_r

2023年04月08日

Yahooの出来高ページクローニングプログラム製造 [プログラム研究室]


 こんにちは!
 ナビゲータのEVEです。

 プログラムを作るうえで心配な点がなくなったので、本日から本格的なプログラミングに入っています。まずは、Yahooのページをまじまじと見ています。

[Yahooのページソース]
 Yahooのページを久しぶりにまじまじと見ました。私のページと違っていろいろなタグが入っているので 見にくい 印象です。
 Yahooのサイトが他の多くのサイトと違うのは、動的に作成した部分が、明らかにプログラムで作りましたと分かるところ!それは、改行処理が入っておらずベタ打ちです。実は、私のサイトも同じようにつくっています。

 他のサイトはというと、 人間がHTMLを作っているかのように整形 しています。この情報は、すべてのサイトを見ているわけではないので、正確性が欠いている点についてはご承知ください。

 多くのブラウザは、HTMLの一部が欠損していても忖度して、きれいに表示してくれるため、HTMLがおかしくなっていたとしても、気づきにくいです。そのため、きれいに整形しておいたほうが、そのミスに気づきやすいということがあるからかもしれません。ただ、それでも人間が作るプロラムであるため、 必ずと言っていいほどミス があります。だから、正直言ってそれは 無駄な努力 のような気がします。
 その労力があるなら、もっと 重要な所に力を入れたほうがいい というのが私の考え方です。

[クローニング処理概要]
 以上は余談なのですが、改行処理が入っていないため、Yahooのサイトは、非常に クローニングしやすい というメリットがあります。
 それは、私のほしい情報が1行におさまっているからです。その1行を読み込み、以下の流れで情報を抽出します。

当該テーブルを特定 => 当該行を特定 => 当該セルを特定 => データ抽出

 株式市場には、4,000銘柄ぐらいの商品があり、1ページあたり約50銘柄掲載されているため、約90ページをダウンロードすればすべての銘柄を取得できそうです。

[クローニング項目]
 クローニングする流れは、2023年4月6日のブログに記載した通りです。

?Yahooの出来高から本日取引があった企業及び商品の一覧を取得します。
??情報に基づき、本日取引があった企業の株価情報を取得します。

 ?からは、

・商品名
・証券コード
・市場

だけでいいでしょう?出来高も取得することは可能ですが、 処理の一貫性 からして、しっくりしません。やはり、?で実施するのが、いいでしょう!

 なんてことを考えながら、プログラムを製造中です。

[あとがき]
 明日からまたしばらく恒例の休暇に入ります。また、帰ってきたらブログを書きますので、よろしく!

 では、また!!!


2023年04月07日

file_get_contents() [プログラム研究室]


 こんにちは!
 ナビゲータのEVEです。

 先日から、Yahooのクローニング処理の製造に入ったのですが、本日は、その製造において問題になりそうな点についてつぶすことにしました。

[問題になりそうなこと]
 問題点としては、「 Yahooから当該ページがダウンロードできるかどうか 」ということです。先日も話しましたが、Yahooのページが急にクローニングできなくなりました。実は、Yahoo以外にも、株探などのサイトもクローニングしているのですが、そちらの方は問題なく今でもクローニングできています。
 今回の障害の原因は、Yahooがセキュリティレベルを上げたことにより、古いソフトを使用している一般ユーザーのシステムから当該ページがダウンロードできなくなったためだと思われます。

[何をした???]
 今日は、Yahooをダウンロードするために使用している、 file_get_contents() が使用できるかどうか確認するために、ドライバを製造し、そのドライバから,同APIを利用している関数を呼びだしてみました。同関数の修正は一切していません。
 ドライバ自体はそれほど時間がかからず製造し、Xserver上にあるドライバをブラウザで表示しようとすると、Yahooの当該ページのダウンロードができていました。
 想像通りとは言えホットしました。やはり、Yahooの セキュリティレベルがあがった ことにより、Yahooからダウンロードできなくなったようです。

[明日以降]
 明日以降は、先日作成した DB関連クラス (EVEシステム)を使用して、Yahooクローニングシステム(仮称)を製造する予定です。
 実は、作りかけていたのですが、file_get_contents()が利用できない可能性を考えていないことを思い出し、本日以上の試験を実施しました。
 現在、 ダウンロードする項目の抽出 と、 障害 により当該日にYahooクローニングシステム(仮称)がダウンロードできなかった場合の、対応策について検討しています。

なお、同情報をshareholders.comのサイトで株式個別に表示することは問題ないようですが、 CSVなどの形式でユーザー提供するのは問題 があるようです。理由は、Yahooは同時系列のデータをVIP会員向けに有償でダウンロードするサービスを提供しているためです。そのため、Yahooから取得したデータを無償でインターネットで提供したら営業妨害だと怒られるでしょうね?怒られるだけならいいのですが、 損害賠償 の対象となりそうです。

[同データの使用方法]
 同データを用いて、現在もやっているのですが、 分析 した結果をユーザーに提供する事になると思います。
 ただ、株式市場が低迷しているときって、どんな分析も無駄なんですけれどね・・・。

 じゃ、本日の製造は終わりです。これから、セキュリティチェックをして、開発を終えます。

 では、また!!!

2023年04月06日

Yahoo株価クローニング処理 [プログラミング研究室]


 こんにちは!
 ナビゲータのEVEです。

 Yahoo株価クローニング処理の製造を開始しました。
 意外と長いプログラムになりそうで、プログラムを書き始めたばかりなので、プログラム的には書く内容がありません。そのため、本日は、どんな流れでプログラムを製造するのかお話ししたいと思います。

[プログラム製造の流れ]
 プログラム製造は以下の流れで行います。

?ダウンロード対象の企業を特定する
??で特定した企業の株価情報等を取得する

ステップ的には、以上2段階で行います。

[具体的な流れは?]
 以上の機能を実現するために、以下のことを実施します。

?Yahooの出来高から本日取引があった企業及び商品の一覧を取得します。
??情報に基づき、本日取引があった企業の株価情報を取得します。

[プログラミングの問題点]
 プログラミングの問題点としては、 Yahooから当該ページがダウンロードできるかどうか という問題は昨日お話しした通りです。
 その他の問題としては、出来高が全くない、存在理由がない企業が実は存在します。その場合は、対象企業情報を取得できません。取引がないということは提供する情報がないので、ダウンロードする必然性はないのですが、この処理製造後、 当該企業・商品の特色や連結事業所在地などを取得したい と考えているので、そういう意味では片手落ちです。毎日クローニングしていれば、1年のうちに1度ぐらいは取引される機会はあるでしょう?その機会を逃さないために、 crontab で対応したいと思います。

[あとがき]
 Prototype EVEフレームワークが利用できない現在、生産性という面でかなり落ちるということを感じています。やはり、フレームワークの方が先ですかね・・・?ただ、まだ、対応策が見つかっていません・・・。っというか、本日は未対応なのですが・・・。早く何とかしないと・・・?

 今日の開発は、これで終了なのですが、やめるに際して、 セキュリティチェックを実施 しています。昨日のことに懲りて、これから、毎日実施します。

 では、また!!!

2023年04月05日

セキュリティ事故 [セキュリティ研究室]


 こんにちは!
 ナビゲータのEVEです。

 今日ショックなことがありました。Xserverで構築しているサイトのセキュリティの一部が解除されていたのです・・・。いつからでしょうか???

[Yahooクローニングシステムテスト環境を準備していると]
 Yahooクローニングシステムテスト環境を準備している時に気づいてしまいました???本来は、普通に アクセスして見えないページにアクセスできてしまう ことに・・・。そういえば、Wordpressのコメントログを見ていたら、やたらそのセキュリティに関するコメントが多かったのですよね・・・。書いてある内容は、全然関係ない内容だったのですが・・・。多分、一部のユーザは気づいていたようです。

[不幸中の幸い]
 この1カ月以上、Xseverにはアクセスしていませんでした。それは、クライアント側に構築した、VMwareでいろいろ調べごとをしていたからです。そのため、Xserver上にあるプログラムはすべて古く現在は動作しない、Prototype EVEと呼んでいるプログラムだけでした。そこが、不幸中の幸いです。ただ、これから、Prototype EVEを改造するのですが、セキュリティに関する部分については、かなり改造しなくてはいけないかもしれません。 Salt値 の導入はしようとしていたのですが、それ以外にEVEシステムで利用予定だったセキュリティも適用することを検討します。

[ハッキング]
 多分 ハッキングではない と思います。 sshdのログをすべて確認 しましたが、それらしきものはありませんでした。Xserverの場合、sshd以外リモートツールは許していません。まっ、ログが改ざんされていればハッキング受けていたかどうかは分からないのですが、現在はそこまでしてハッキングするようなサイトではないので・・・。多分大丈夫だと思います。

[現在]
 現在を、当初考えていたセキュリティに戻し、運用を再開しています。情報処理安全確保支援士とか言って、他社の情報漏洩を笑っていたのですがそれももう今日でおしまいのようです。気を付けないと自分にも起こりえることだと、実感しました。
 これが、EVEシステムリリース後でなくてよかったです。

 今後、作業完了後、 セキュリティチェックを終えてから、作業を完了としたい と思います。
 自宅でサーバーを公開していた時はやっていたのですけれどね・・・。まだ、リリース前だったので、油断していました。

 今後気を付けるので、引き続きよろしくお願いします。
 Yahooのクローニングシステムの製造は明日から実施します!

 では、また!!!


2023年04月04日

ChatGPT [人工知能研究室]


 こんにちは!
 ナビゲータのEVEです。

 今日、 ChatGPTにサインアップ しました。Googleアカウントで簡単にログインし利用できました。これから、このChatGPTを利用して、作業量を減らしたいと思います。

[まず最初にしたこと]
 今まで、 https://www.pro2grammer.com/ http://www.shareholders.tokyo/ の紹介文を作ろうとしていたのですが、なかなか時間を作ることができませんでした。今回、ChatGPTを利用して、同サイトの紹介文を作ってみました。作った文章は、各ホームページの[当サイトについて]から確認することができます。

[ChatGPTで何をしたのか]
 ChatGPTにログインをするとテキストボックスが用意されています。そこに、「ゼロからはじめるシステム開発の紹介文を作って!」という御願いとURLを追記しました。
 そして、できた文章は下記の通りです。

当サイトについて


 「ゼロからはじめるシステム開発」は、プログラミング未経験者や初心者でもシステム開発に取り組めるように設計された独自のカリキュラムを提供するウェブサイトです。当サイトは、プログラミングを学ぶ上で必要な知識や技術をステップバイステップで学び、最終的に自分自身でシステム開発を行うことができるようになることを目指しています。
 当サイトの特徴は、初心者でも理解しやすいように説明がされていることです。プログラミングの基礎から学び、徐々に応用問題に取り組むことで、システム開発に必要な知識やスキルを身につけることができます。また、各ステップごとに必要なツールやライブラリの説明もあるため、効率的に学習ができます。
 当サイトでは、プログラミング言語の選択肢も豊富で、JavaやPython、 Ruby 、JavaScriptなど、各言語の学習が可能です。また、オンライン講座や動画教材も用意されているため、いつでもどこでも自分のペースで学習ができます。
 「ゼロからはじめるシステム開発」は、システム開発に取り組むための入門書として最適なウェブサイトです。初心者でも理解しやすいように設計されたカリキュラムや、学習効率を上げるためのツール・ライブラリの解説など、プログラミング学習を始める方にとって必要な情報がすべて揃っています。



 URLを追記した場合と、追記しない場合において文章が微妙に違います。ただ、内容は大きくは変わらないので、ほぼタイトルからのみ文章を作成したのだと思います。

 ChatGPTで作成された文章は、自分が作ろうとしたサイトとは微妙に違うのですが、この文書を読んで、この文書に負けないサイトを作りたいなと思いました。ChatGPTで作ったそれぞれのサイトの紹介文は、下記から確認できます。ほぼそのまま利用させていただいていますので、よろしければ見てください。

[仕事が楽になる?]
 今まで作ろうとしていた、紹介文が、ものの10秒程度でできてしまったので、確かに 仕事は楽になる と思います。ただ、文章自体が汎用的で、そのまま利用できないケースが多いと思いました。なお、月額20ドル(約2,500円)のサブスクリプションプラン「 ChatGPT Plus 」も発表されており、ピーク時でもアクセスしやすくなったり、応答時間が短縮されたり、新機能などが使えたりするそうです。この情報、GIZMODOというサイトの情報なのですが、新機能って何でしょうね?興味があります。
 本当に仕事に利用しなくてはならなくなったら、購入したいと思います。

 では、また!

■ゼロからはじめるシステム開発
https://www.pro2grammer.com/cnt/introduce.html

■株式市場研究室
http://www.shareholders.tokyo/cnt/introduce.html

■ChatGPT(OpenAI)
https://openai.com/blog/chatgpt

■ChatGPTとは?始め方や使い方、料金も紹介【4月4日更新】(GIZMODO)
https://www.gizmodo.jp/2023/01/chat-gpt-openai-ai-finance-ai-everything-we-know.html#6

2023年04月03日

プログラム開発の今後 [プログラム研究室]


 こんにちは!
 ナビゲータのEVEです。

 今日から、またプログラム開発に入る予定でしたが、入ることができませんでした。その代わりと言ったらなんですが、同じエラーメッセージで困っている人達をインターネットから探したのですが、思った以上に少ないですね・・・。かつ、その問題が解決されている人が見つからない・・・。ただ、現象から見て、解決策がないとは思えないのですよね・・・。
 今まで、システム開発においていろいろな問題を抱えてきましたが、同問題を解決してきました。そういう経験から言っても、時間をかければ何とかなるような気がしています。
 気のせいかもしれませんが、調べるのに 時間を下さい 。結局、見つかりませんでしたと言うこともありますが・・・。

[その代わりと言っては何ですが・・・?]
 その代わりと言ってはなんですが、EVEシステム用で作ったデータベース接続関数を使ったシステムを作ろうかなって考えています。

 今まで、 無尽蔵 というサイトから株式情報をダウンロードしていました。
 無尽蔵では、CSVで日々の株式市場の情報を提供しており、Prototype EVEでは、同情報を crontab を使用して自動でダウンロード、データベースに登録しています。
 手入力することなく 自動 でできるため、非常に助かっているのですが、このサイトの運営者から以下のようなお言葉をもらっています。

「〜 データ更新の継続はお約束出来ません、他のデータサイトのご利用をお勧めします。〜」。

以前はもっと強い口調だったような気がするのですが、可能性としてデータの更新がされないことがあるようです。
 現在は、株価は低調で、私の手持ちの株式は低空飛行をしており、いつ墜落をしてもおかしくない状況です。そのため、あまり、同データは役に立っていないのですが、株式市場が活況なときは、 購入の指針 となります。株価が活況になったときのことを考えると、必要不可欠な情報と言えます。

 以前は、Yahooからクローニングをして、企業名、株式情報等一式持ってきたときもあったのですが、公開鍵の問題だと思うのですが、ある日から 突然クローニングできなくなりました 。ただ、Xserverというサービスに入り、全てのソフトが最新式になったこともあり、今回、同システムをEVEシステムで復活させようかなって考えています。

[あとがき]
 New Prototype EVEの調査と同時並行して、Yahooから株式市場の情報をダウンロードするシステムを作ろうと思います。問題点は、最新のソフトを使ってYahooから株式情報をクローニングできるかどうか?想像があたっていれば、Xserverから問題なくダウンロードできるはずなのですが・・・?まっ、とりあえずやってみます!

 では、また!!!

■無尽蔵
http://www.mujinzou.jp/

2023年04月02日

H3打ち上げ失敗 [Coffee Time]


 こんにちは!
 ナビゲータのEVEです。

 H3ってご存じでしょうか?あだち充先生の漫画ではありません。あれは、H2です・・・。H 2 Oでもありません。H 2 Oは水です。

[H3ロケットプロジェクト]
 2023年3月7日、デスクに向かって普段通り活動していると、携帯のポップアップに、間もなくH3を打ち上げますという案内がきていました・・・・。そういえば、2023年2月17日に一度打ち上げを失敗して、3月7日に変更になったのを思い出しました。
 2月17日に打ち上げを失敗したときには、報道陣が 塩対応 だったので、それからいろいろ調べ、NHKの特集まで見ました。そこで、分かったこと・・・。何回も失敗し、やっと、2月17日という日を迎えたのに、それでも失敗・・・。それで、あの塩対応になったようです。
 私は、宇宙好きです。フロリダの ケネディスペースセンター に行って、 火星探査車キュリオシティ の打ち上げを見てきました。まっ、好きと言ってもその1度だけなのですが、今回の打ち上げも注目している打ち上げでした。
 注目している点としては、1994年以来H2ロケットを運用してきて、信頼を高めてきた中での、新規のロケット開発であり、技術的なものもさることながら、宇宙事業を見据えているため、 信頼 低価格 という矛盾するような課題を同時に達成しようとしてるプロジェクトとういう点です。

[ロケット打ち上げ]
 最初、作業をしているパソコン上で見ていたのですが、ちょっと物足りなさを感じ、ビエラで見ることにしました。やっぱり、小さい画面で見るより、大きい画面で見たいと思ったのです。ビエラって、デフォルトでYouTubeを見る機能があります。
 今回の打ち上げは楽観視していました。今回こそはうまくいくだろうって・・・。そんな気分が、その他の作業をすべてやめて、そういう行動を取らせたのだと思います。

 打ち上げ3分前ぐらいになると、ドキドキしてきます。YouTubeのチャットには流れるように多くのコメントが寄せられ、読めるレベルではありません。
 打ち上げ5秒前にロケットに火が入り、さぁ、打ち上げです!前回2月17日と違うのは、2月17日には、30秒前ぐらいから煙を上げ、それから、発射態勢に入ったのですが、今回は、いきなり、火が入りそして、打ち上げって言う感じです。
 打ち上がった瞬間嬉しかったですね!
 どんどんロケットは小さくなり、映像から見ることができなくなりました。そこからは、Jaxaで用意しているCGでどんな状況なのか見たのですが、5分過ぎたぐらいで、安心し、普段の作業に戻ろうとしていました。

[2段目ロケットに火が入らない]
 そんなときに、「 2段目ロケットの点火が確認されません 」というアナウンスが入ってきます。データ上の問題だったらいいな〜!って思ったのですが、もう既に皆さんもご存じのとおり、2段目のロケットは点火されていませんでした。その確認が最終的にとれた段階で、H3ロケットに破壊命令が出され、今回の打ち上げは終了です。
 うまくいくと思っていたのですけれどね・・・。残念です・・・・。

[H3の今後]
 今後も開発を続けていくそうです。ただ、心配なのは、今回の開発の主体は、 三菱重工 です。三菱重工って、MRJを諦めた企業です。あんなに人も時間も金もかけたのにです・・・。実は、破壊命令が出されたとき、 MRJ第二弾か ????って思ってしまいました。
 安く信頼性が高いモノを作るのは難しいのは分かるのですが、実現して欲しいですね・・・。ただ、失敗すればするほどコストが高くなります。H2でいいじゃんって言うことにならなければいいのですが???
 そのH3の打ち上げ失敗を受けて、 三菱重工の株が暴落 したのは言うまでもありません。

[あとがき]
 今回のブログ記事は、直近で印象に残ったニュースを取りあげさせて頂きました。
 次回打ち上げ成功するといいですね!

 では、また!

■H3ロケット試験機1号機/先進光学衛星「だいち3号」(ALOS-3)打上げライブ中継(Jaxa)
https://www.youtube.com/live/y2V9ZSlNCPU?feature=share

タグ: H3 H2 三菱重工 JAXA

2023年04月01日

ChatGPT [人工知能研究室]


 こんにちは!
 ナビゲータのEVEです。

 本日もまだ体調がもどっていません。開発も遅れに遅れているのですが、それ以上に現在プライオリティが高い事案も遅れている現状で、本日はそちらを優先させていただきました。明日も同様な状況なので、明日まで開発はお休みとさせていただきます。
 開発のレポートは、月曜日以降となることをご了承ください。
 ということで、本日は、ChatGPTについてのお話しです。

[イライザ]
 ChatGPTってご存じですか?分類的には、 人工無能 と言われる分野に属し、一般的には チャボット とか、 おしゃべりボット とか言われているAIです。

 歴史を紐解けば、1964年から1967年にかけて、 ジョゼフ・ワインゼンバウム により開発された イライザ が、チャボットの最初と言われています。
 仕組みとしては、単純で、相手の発言を予め用意されたパターンと比較し、パターンに合致した発言があると、そのパターンに応じた発言を返答する仕組みになっていました。そのような単純なプログラムでも、そこに知性を感じてしまう人間の反応に驚いた開発者のジョゼフ・ワインゼンバウムは、 コンピュータに意思を持たせることの危険性を感じ警告するようになりました 。それが、今から50年以上前の事です。

[ChatGPT]
 時は流れ、イライザが開発されてから50年以上たった2023年に、 ChatGPT が注目を集めています。ChatGPTは、人間の問いかけに的確に答え、その解答のレベルは、 卒論として提出しても及第点を取得できるレベル だといわれています。
 人工無能といわれた、この分野としては革新的で、人工無能という言葉が陳腐にさえ思えてきます。

[イタリアで使用禁止に・・・]
イタリア のデータ保護当局は2023年3月31日、ChatGPTの使用を 一時的に禁止 すると発表しました。 膨大な個人データの収集が 個人情報保護法に違反する疑いがある としています。 運営する米新興企業オープンAIは、約29億円の罰金を科される可能性があるという報道が本日ありました。このような規制はイタリアが最初で、今後各国の対応が注目されるところです。

[各企業の対応]
 現在報道されている企業の主だった行動は、以下の通りです。

・ソフトバンク
 2月下旬に社員に注意喚起。利用ルールも検討中
・みずほFG
 社員が業務端末からアクセスできないようにしている
・富士通
 法律や倫理上の課題を社員に通知し、活用も検討
・アマゾン・ドット・コム
 機密情報を入力しないよう社員に注意喚起
・海外金融大手
 業務利用を禁止や制限

 インターネットの記事をななめ読みをすると、ChatGPT経由での 機密情報 または 個人情報流出 の懸念から注意喚起または利用を禁止しているケースが多いようです。

[ChatGPTを利用する場合と利用しない場合]
 利用する問題は、各社が懸念している機密情報、個人情報の漏洩以外に、大学レベルになると、 考える力がなくなる というものもありました。大学卒論に利用して、簡単に及第点をもらえるのだから、使う人もいるでしょう?つい最近、フランス2でも、大学生がChatGPTを使って、論文を提出していることに対して疑問と問題を提起していました。
 じゃ、使わない方がいいのでしょうか?私は使ってはいないのですが、ChatGPTは あくまでもツール です。私のように日々忙しくしている人間からいうと、このようなツールを利用することにより時間が短縮できれば本当にありがたいですし、使うべきだと思います。

 これからも、AIの便利なソフトがたくさん出てくるでしょう?そのソフトに対して、いろいろ問題を提起する人はいると思いますが、 使いこなすだけのスキルは身に着けた方がいい と思います。そして、そこから、新たなアイディアが生まれてくるかもしれません。

[あとがき]
 卒論をChatGPTで作成し、及第点はもらえるかもしれません・・・。ただ、 主席で卒業はできない と思います・・・。少なくても、現在は・・・。

 「 人間は考える葦である 」ということだけは忘れてはいけないと思います。

 では、また!!!

■ChatGPT、ソフトバンクなどが利用制限 ルール作り急ぐ(日本経済新聞)
https://www.nikkei.com/article/DGXZQOUC069HD0W3A300C2000000/?n_cid=SNSTW001&n_tw=1678528666
×

この広告は30日以上新しい記事の更新がないブログに表示されております。

Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: