~ストーリー 1~

★開発日記★ユーザ個々のポイント管理は、個別に台帳、個別に口座を作る方がいいかも知れません。

2017/06/25 23:15:00
(2017/06/24 47:15:00)
HTML版 | AMP版 | AMPストーリー版
え~、前回の開発日記では、ログにすべての情報を記載する事で、後の計算が必要なくなり、サーバに負荷がかからない仕組みを発明!?

そう、ブロックチェーンではなく、ログチェーン技術って事で、ログ1行にすべての情報を、その都度、記載する事で、サーバ負荷を発生させない事ができました。

って理論上ですけどね・・・。
今、その仕組みを元に、プログラムを書いているのですが、ふと、思ったんですよ。

またまた、ふと思ったんですよ、ユーザ個人の処理に関してです。

順をおって説明しますので、後のプログラマーの諸君、ちゃんと見て、勉強するんだぞ!
ま~、今泉兄のレベルは、小学生くらいなので、小学校のプログラムの授業で、教材として使ってください。

それでもレベルが低かったら、入門編くらいで。

うんこプログラムドリルとかにして頂いても構いませんので。
レベルがうんこレベルって事で、うんこプログラムシリーズで。

今回は、ほんと初心者というか、基礎の基礎なので、うんこはうんこでも、ちびっちゃったくらい。

うんこプログラムドリル(ちびり編)でお願いします!
では、まずは、ちびっちゃったので、トイレに入って、パンツを脱ぐところから。

前回の開発日記で、1行にすべての情報を記録する事にしたと、ご説明しましたが。

これで、最新の台帳である、最新の1行を見る事で、全てを把握できます。
ところが、個々のユーザのデジストーンやデジストコインを調べるには、最新の1行だと、無理ですよね。

って、デジストーンやデジストコインの用語や説明は、前回の開発日記をご覧ください。

って、マジで、これ、教材にできるかも知れませんね。
何しろ、今泉兄のレベルが、かなり低いので。

さすがに、うんこプログラムドリルって名称は、商標的にもアウトだと思うので、別の名称にしますが。

兄でもわかるシリーズも、アウトだと思うので、何か考えますよ。
でも、そのためにも、成功しなくては・・・。

デジストがブレイクすれば、この開発日記も、教材として、活用されるんじゃないかと。

莫大な財産、莫大な企業価値になれば、その原点である、この開発日記も、いい題材になるかと思います。
いや、題材になるのは、今泉弟の開発日記ですね。

あちらがメインの書籍になり、こちらの今泉兄のデジスト簡易版の開発日記は、オマケで。

もれなく、いらなくても、勝手に付録として、小冊子として、付けちゃいましょう!
そして、Amazonやヤフオク、メルカリで、今泉兄の付録だけが売られる・・・という。

もう、サイン付きで!

生写真付き、握手券付き、1日デート券付き(アトラクション乗り放題)で!
なんなら、うんこ付きで!

はい、まじめに語りましょう。

44歳で、うんこ、うんこって言って、本当に喜んでいるのは、今泉兄だけですので。
で、なんでしたっけ?

そうそう、最新の1行を見るだけで、その時点のデジストーンやデジストコイン、デジストーンの原資がわかるという仕組みにできました。

ところが、ユーザの皆さんの保有しているデジストーンや、デジストコインは、この台帳であるログ、全てを見る必要があります。
全てといっても、全ての中から、該当ユーザの記録を取得しまして。

その中から、そのユーザの最新の台帳、最新の1行だけを抽出して、見るだけなので。

必要なのは、最後の1行ですが、全体の中の最新ではなく、そのユーザの記録の最新の1行なんですよ。
という事は、最後にアクセスしたのが1ヵ月前だと、1ヵ月前のログを見る必要があり。

かといって、最後のアクションがいつなのかは、わかりません。

全体の最新の1行と、このユーザの最新の1行、同じようで、まったく性質が違う事に気づきました。
そこで考えたのが、ユーザの記録は、このログチェーンに記録すると共に、ユーザ専用のログに記録する方法。

ユーザ専用のログには、全部記録してもいいのですが、最新の1行だけ記録する事でも良いような。

となると、こんなのが良いかも知れませんね。
全体のログチェーンは、保存用に、確認用に、一応、記録する為のログ。

実際に使うのは、これとは別に、全体のログに、最新の1行だけを記録。

さらに、ユーザ毎のログも、最新の1行だけ記録。
又は、長いログから、最新の1行だけを抽出するのが、負荷がかからない場合は、こんな感じでも良いかも知れません。

全体のログチェーンは、保存用と共に、最新の1行を抽出する用に。

ユーザ毎のログも、そのユーザの行動は全部記録し、最新の1行だけ抽出。
このどちらかのパターンになるかと思います。

この辺は、今泉弟に聞かないとわからないですね・・・。

いや~、ちゃんと初めから設計しろ!って、今泉兄に怒りましたよ、自分自身に。
こうやって、ブログを書きながら考えているから、どんどん仕様が変化するんですよ!

もう、今泉兄の思考回路がばれまくりで、そのうち、AIに乗っ取られますよ、確実に、パターンがばれています。

このブログを解析すれば、今泉兄風のブログ、大量に書けますので、もう、今泉兄、用無しです。
でも、いいじゃないですか!?

教材としては、非常に良いかと思います。

レベルが低いので、初心者がぶつかる部分が、リアルに見られますので。
datファイルから、1行抽出する場合、特に、最新の1行だけ必要な場合。

初めから、datファイルとは別に、1行だけのファイルにも出力しておたい方がいいのか。

それとも、datファイルから最新の1行を抽出するの方が、負荷がかからないのか。
とりあえず、どちらが良いのかわからないので、開発を進めたいと思います。

まずは、なるべくファイル数を少なくする為に、全体のログと、ユーザ毎のログを生成し、最新の1行を抽出してみます!

よし、燃えるぞ、燃えまくるぞ、今泉兄!
はい、燃え尽きました・・・。

約12時間、途中、夕飯とお風呂に浸かりましたが、やりましたよ!やりました!

いや~、面白い!!!!!
なんと、デジストーンが貯まりまくりで、デジストーンの価値が変化しまくりです!!!

これが変動相場制ポイントシステムなんですね、妄想では何度も体験してきましたが、実際に見たのは、体験したのは、初めてでございます!!!!

最高です、これで、大成功間違いナシです!!!!
しかし・・・。

最悪な事に気づきました・・・。

その前に、この間の開発日記を語りたいと思います。
まず、cookie(クッキー)が削除できなく、何度も何度も、戦いましたが・・・。

単に、パスを指定していなかっただけでした。

cookie(クッキー)を保存する際は、パスを省略したのですが、削除する際は、ちゃんと指定しないとダメなんですね・・・。
前にも、ずっと前にも、やったような・・・。

ほんと、すぐに忘れてしまうので、もう、忘れないように、記憶します!

良い子のみんな、記憶する時は、連呼だぞ!
cookie(クッキー)を削除する時は、パスを指定!

cookie(クッキー)を削除する時は、パスを指定!

cookie(クッキー)を削除する時は、パスを指定!
はい、これで記憶しました。

cookie(クッキー)を削除する時は、パスを指定するんですね。

はい、cookie(クッキー)を削除する時は、パスを指定するんですよ。
その他は、順調に構築できました。

というのはウソでして、ユーザ事に、ユーザIDのディレクトリを作成して、そのディレクトリに、ログを保存する事にしたんですよ。

ところが、パーミッションを[0777]に指定しても、なぜか違うパーミッションになってしまうんですよ・・・。
何度やっても、うまく行きません。

そこで調べたところ、なんと、とある設定が元で、パーミッションが引き算されてしまうとの事。

いや~、知らなかった・・・というか、ディレクトリを作成するのも、久しぶりだったので、そもそも、全てを忘れていました。
そこで、ディレクトを作成した後、chmodでパーミッションを変更。

はい、見事、[0777]で、これでファイルを自由に作成でき、自由に削除できるようになりました!

というのも、まだテスト段階なので、ユーザ毎のログは、削除したかったのですが、FTPからは削除できなくて、困ってしまってワンワン・ワワンでした。
これで、ログの削除は、自由自在!

一応、cookie(クッキー)をページから削除できる機能を搭載して、ポイントをリセットする機能を搭載したのですが、ちゃんとディレクトリも、ログも削除されました!

さらに、例えば、1ヵ月以上アクセスが無いユーザの方のログは、自動的に削除しようかな~と。
ゴミばかりが溜まってしまいますので。

この機能も、後日搭載してみます。

とりあえずは、cookie(クッキー)の削除と共に、貯まったデジストーンをリセットする機能は搭載です!
そして、問題というか、忘れていた事を、気づいてしまったんですよ・・・。

これで、設計やりなおしかも・・・。

それほど、重大な、とっても大切な仕様を、忘れてしまっていました・・・。
というのも、デジストーンが貯まるようになりましたので。

もう、楽しくて、楽しくて、連打しまくりで、デジストーン貯めまくり。

随時、価値が変動するので、外貨の為替レートを見ているようで、ほんと、一人、楽しんでいました。
土日は、為替レートが変化しないので、つまらないんですよ・・・。

なので、自作自演の、デジストーンとデジストコインのレートを見て、ニヤニヤしてたんですよ!

よし、うまくできたので、後は、デジストーンとデジストコインを交換する機能だ。
さらに、デジストコインを使う機能だ!

1デジストコインで、いいね!できるようにするぞ!

その前に、背景色を変更するのに、1デジストコインだ!って、後は、作るだけだと思ったんですよ。
ところが・・・。

同じページを連打して、気づいたんですよ・・・。

そうです、これだと、デジストーンが無限に貯まってしまって、ワンワン・ワワンです。
そうだった・・・、ページ毎に、1日1回なのか、1回だけなのか、設定する必要があったんですよ。

どのようなパターンを用意するかは別として、何かしらの制限が必要です。

簡易版なので、1回だけなのか、1日1回なのか、2パターンくらいにしようとは思いますが、これでも、設計が変化してくるんですよ!
1回で付与するデジストーンは、数字を変更するだけなので、簡単ですが・・・。

過去に1回デジストーンを付与している場合、そのチェックが必要じゃないですか!?

という事は、ログですよ、ログ、せっかく、最新のログだけをチェックすればよかったのに、過去のログをチェックする必要がでてきたじゃないですか!?
そこで、先ほどのユーザ毎のディレクトリ、ユーザID毎のディレクトリ作成なんですよ。

作りながらですが、こんな仕様にしようかな~って思っています。

まだ、出来ていませんが、たぶん、これが良いんじゃないかな~と、直感で感じました。
その方法は、もう一つ、ログを残す事。

しかも、ユーザ事に、アクセスしたページ専用のログを作成して、デジストーンを付与した事を記録します。

これで、そのページに再度アクセスした場合に、ユーザ毎のディレクトリにある、そのページのログをチェックするだけ。
そこには、今回デジストーンを付与してもいいかどうかを判断する情報を記載しておくので、これで完璧です。

例えば、1日1回の場合は、ログにある過去のアクセスを調べ、デジストーンの付与状況を調べ、判断するって流れです。

1回だけの場合は、ログがあればアウト!って事でして。
ユーザ毎ではなく、ページ毎に、全ユーザ同じログに記録する事も考えたのですが・・・。

万が一、一つのページがバズって、10万人とか、100万人見てくれた場合は、処理が重くなりますので。

それだったら、ユーザ毎なら、同じページを10回とか見る事は無いと思うので、ログの行数も数行かな~と。
ユーザ毎のディレクトリを探す処理に、負荷がかかるのかも知れませんが、ま~、この辺も、今泉弟に相談です。

ちなみに、ページ毎と言いましたが、グループ化する事も出来ると思うので、やりながら、構築してみます。

ま~、簡易版なので、あまり複雑にせず、シンプルにページ毎が良いかも知れませんね。
そして、同じページでデジストーンが貯まるのは、1回だけにするか、1ヵ月に1回程度にしてみます。

毎日だと、毎日100デジストーン以上、貯める事ができるようになるので、デジストーンの価値が下がりまくりそうなので。

今泉兄のブログだけでも、エンタメ動画紹介ブログのバックナンバーを公開するので、300ページくらいにはなりそうですし。
さらに、カバー動画紹介コーナーは、さらに1000とか2000ページくらいになりそうですので。

1回だけか、1ヵ月に1回程度にしつつ。

さらに、1日に貯められるデジストーンの数も、制限をかけてみようかと思います。
ま~、おいおいというか、これは、簡易版を公開しながら、レートや付与されたデジストーンの数を見ながらという事で。

さらに、できそうですので、そうです、タイムシェア制度ですよ、オーナーですよ、各コーナーのオーナー権です。

デジストコインで、オーナーになれる権利をゲットすると、他のユーザの方が、そのコーナーにアクセスするだけでも、デジストーンが貯まる、画期的な仕組みです!
これも、できそうですね、ベースが出来たので、後は、燃えるだけですので。

という事で、感無量!

後は、レートをグラフにしたり、演出の部分ですね・・・。
これもまた、進めながら、簡易版を公開しながら、考えたいと思います。

こうしている間にも、デジストーンの原資が貯まるんですよ!

実際は、最後のアクション時に、まとめて、その間のデジストーンの原資を追加するので、誰もアクセスしていないと、原資は動きませんが・・・。
今は、今泉兄しか簡易版にアクセスできないのですが、今、ページを見たら、随時変化する!!!!

いや~、これが、本当に広告売上と連動したら、楽しい!楽しすぎる!!!!

という事で、もう少しですので、お待ちください!
実際に見ても、まったく感動せず、楽しめるのは、今泉兄だけかもしれませんが・・・。

いいんですよ、それでも構いません。

ビットコインに交換できるようになったら、今泉兄だけが、たくさんデジストーン、デジストコインを持っているので、その場合は、ほぼ、総取りですからね。
10円とか、20円かも知れませんが、ゼロではございませんので!

0.1円とかで、ビットコインに交換すら、できないかも知れませんが・・・。

ま~、楽しみましょう、新たな世界ですので、変動するポイントがどうなっていくかは、誰にもわかりませんので。
ではでは、もう、朝なので、寝ます・・・。

そして、明日は、デジストーンをデジストコインに交換する仕組み。

さらに、デジストコインを使う仕組み。
ここまで開発できたら、遂に、タイムシェア機能を作ります!

そして、もっと早くに、簡易版、作ればよかったな~って反省です!

しかし、まだ間に合います、まだやれる事、たくさんありますので、頑張ります!