Qiita AdventCalendar だめだった

年末に行われた、Qiitaのアドベントカレンダー。
先日、受賞者が発表されました

何件か参加させてもらいましたが、あえなく一つも受賞ならず!

まぁ、受賞された方々の内容から考えるとクオリティが足りなすぎるんですよね。
いや、わかっちゃいますがそんなに思うようにはいかないものです。

とは言え、毎年開かれるQiitaのこのイベント。

一年の総決算として何かを書き記したいという思いはあるので、今年も挑戦するべく、もうちょっとクオリティや独創性が高い。そして実用性のある記事をかけるよう、本業を頑張らないといけないですね。

あー

あー

明日も頑張ろう

今日も今日とて低空飛行

いや、今日はひどかったです

金曜からのトラブル対応はもちろんのこと、その他諸々、うまくいきません。

良くも悪くも感情と言うか気分の浮き沈みの影響が大きすぎるんですよね。。。私は。

そんな時、どうやって復活するのか。

これまで、色々と試しました。

観葉植物おいたり、、、

お香炊いたり、、、

走ったり

ゲームしたり

漫画読んだり

結局のところ、気持ちがパフォーマンスに大きく影響を受けるので、これを何とか上げていかないといけない。

今日はそれに思いっきり失敗した感じでしたね。

とりあえず、無理矢理でも動かないといけない

明日も頑張らな。

楽しむ力

今日は夕食後、次男がモノポリーをやりたいと発案。
家族全員でモノポリーをやることに

長男や長女は、どちらかというと漫画読んだりゲームしたりと、一人で遊ぶことが多いけど次男は周りを巻き込んだ形の遊びをよく提案してくれるので、イイです。

もっとも、同じくらい相手をからかったりふざけたりするので困ったものですが。

子供たちはそれぞれよくもまぁこれだけバラバラな性格になったもんだと思わずにはいられませんが、ボードゲームをやっていると、調子に乗って大盛りあがりするんですよね。

全力で楽しもうとする。
そんな姿に、圧倒されてしまいます。

翻って、考えてみると随分とつまらない毎日を送ってしまっているなぁと思わずにはいられない。

Goerli Testnet ETH Claim キャンペーン

buildspace もようやく、 React のフロントエンドから Goerli Testnet にDeployしたスマコンに接続するところまで終了

途中、どうしてもうまくいかないな?と時間がかかる場所があったのですが、チュートリアルとしてその時点ではうまくいかない状態というオチでした。

時々ある罠ですが、ちょっと困るものです。。。

Goerli Testnet への Deploy は、以前にも誰ジェネでやってます。

誰でもできる!ジェネラティブNFT開発
https://crypto-code.jp/materials/create-generative-nft

ただ、その時もテスト用のEthが足りなくて、そもそもDeployできないという事態になったんですよね。結果としてその時は諦めてしまった過去があります。

そんな中、こんなTweetが!
過去に Mainnet / Goerli / Sepolia で Deploy したことがある人に 10 Goerli ETHをくれるという!

両手を上げて行ってみましたが、、、、 2022/11/15 時点でDeployしている必要があるとのこと。
そして、私がGoerliで試していたのが 11/16 。。。

うがあああああああああ

という訳で、見事に対象外でもらうことができませんでした。。。
これは、ちょっとせつなすぎる。。。

いつものことといえばいつものことですが、本当に間が悪い。。。

どうにかならないものか。
どこかにお祓いに行ったほうが良いのかもしれません

トラブルの金曜日

今日は三男の誕生日ということで、会社に出社はしたものの早々に退散しようとしていたのですが。。。
予定していた作業が想定したとおりにいかずにトラブルへ発展。

実害が生じるようなトラブルではないものの、色々と対応をする必要が生じる自体になってしまいました。

まぁ、それはそれとして、金曜日って何かとトラブルが発生しやすいように感じます。

なんでなんだろうかな?というと、わかりやすいところでは、面倒なことが後回しになった結果、比較的トラブルになりやすいような難易度の高いものが週の後半に集中するため、打率が高いというところでしょうか。。。

でも、それだけでは説明できないような問題も起きるのが不思議なところ。

決戦は金曜日とはよく言ったものですね。。。

私はさらに先延ばしをしてしまい土日にコソコソ仕事していることもあるので、更に酷い。
いや、良くないのはわかっているんです。

2023年はそんな先延ばしと決別できるようにしていかないといけませんね。

反省

SoftwareDesigne 2月号

定期購読しているSoftware Designe の2月号が届きました!
今月号はDDD!!!!

見てみると、増田さんが執筆されているじゃありませんか。

ずいぶんと前ですが、DevLove で増田さんが登壇されていた回に見に行ったんですよね。
確か恵比寿だったかな・・・?

もちろん、原点ともいうべきエヴァンス本も持ってはいるのですが、いずれのDDD本も結局最後まで読めていないという体たらくな現状が今の私を作り上げている!!

と、非常に残念な状態ではあるんですが、ちょうどこれから新しい案件で、このあたりの整理をしていかないと行けないんじゃないかな?と思うような事案が勃発。

Software Designe編集部はすべてを見越しているはず!!という訳で、今年はDDDをしっかりと学んで実践で使っていくことができるように頑張ってみたいと思います。

増田さんの本、ちゃんと読まないとですね。。。

Fletが面白そう

Pythonだけでクロスプラットフォームなアプリを作れるFletについて
https://qiita.com/NasuPanda/items/48849d7f925784d6b6a0

Qiitaからのニュースレターで紹介されていた上記記事、面白かった。

FletはFlutterをベースとしているそうなので、その点も気になるところです。

The fastest way to build Flutter apps in Python
https://flet.dev/

UIの作り方や指定の仕方が今っぽくない形をしているけど、これがサクッとプロトタイプ的に使えるのであれば面白いかな。

ということで、ちょっとどこかで触ってみたいと思っています。

Build an Ethereum dApp Section 1 clear

buildspaceを引き続きやっています。
夜の時間をちょこちょことなので、進みが遅いですね。。。

hardhatを使った、ローカルでのスマートコントラクトの作成を追えて、フロントエンド開発としてReactを触り始めています。

Section2では、Replit というWeb IDEサービスを使って、フロントエンド開発を行っていくようです

Replit
https://replit.com/

最近、こういうブラウザベースのIDE。そしてそのままDeployまでできてしまうツールが増えてきていますよね。
なんかメニューを見ていたらこんなものも。。。

Ghostwriter・・・?
AIとのペアプロ??

Meet Ghostwriter, your partner in code.
https://replit.com/site/ghostwriter

なんか面白そうですね。。。

色々なプロジェクトのチュートリアルをやっていると、その時の最新手法やツールなどを触ることができて面白いです。
実際の業務でこれらが使えるか?と言うと、なかなか悩ましいものがありますが、ちょっとしたお試しでやる分には十分そう。

問題はそのちょっとしたお試しと、それ以降の切り分けなのかな?
でも、それ以降に発展するところまで行ってから考えろって感じですね

日々をどう楽しく過ごすのか

今日は曇り時々雨という感じでずっとどんよりとした空模様でした。
そんな空模様も影響したのか、朝はそれほどでもなかったのですが、午後になって一気に仕事のモチベーションがダウンしてしまいました

もともと気分屋なところがあって、気分の浮き沈みは結構ある方なんですが、今日の沈み具合はちょっとひどかったなぁと、夜遅くになって反省。

反省と言うか、今この時点でも別に復帰しているわけではないのでどうしたものか、と思うところです。

このあたり、いい方向に向かえばもちろん大きな力になるのですが、マイナスの方向に触れた時に動けなくなってしまうのは非常に良くないなぁ、と、もういい歳なので思うわけですよ。

いつものパターンで考えるのであれば、ここの復活の鍵をにぎるのはB’zですね。

buildspace で早速躓いていた

色々と考えた結果、もう少しちゃんとdAppsを勉強していこうとbuildspaceの「Build an Ethereum dApp」をやり始めています

buildspace
https://buildspace.so/p/build-solidity-web3-app

そしてやり始めた矢先、一番最初のhardhat test が何故かエラーになる始末。。。

c:\Dev\buildspace\ethreum-dapp\my-wave-portal>npx hardhat test
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
Compiled 1 Solidity file successfully


  Lock
    Deployment
      1) Should set the right unlockTime
      √ Should set the right owner
      2) Should receive and store the funds to lock
      3) Should fail if the unlockTime is not in the future
    Withdrawals
      Validations
        4) Should revert with the right error if called too soon
        5) Should revert with the right error if called from another account
        6) Shouldn't fail if the unlockTime has arrived and the owner calls it
      Events
        7) Should emit an event on withdrawals
      Transfers
        8) Should transfer the funds to the owner


  1 passing (2s)
  8 failing

  1) Lock
       Deployment
         Should set the right unlockTime:
     AssertionError: expected BigNumber { value: "1705326131" } to equal 1705326131
      at Context.<anonymous> (C:\Dev\buildspace\ethreum-dapp\my-wave-portal\test\Lock.js:32:42)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at runNextTicks (node:internal/process/task_queues:65:3)
      at listOnTimeout (node:internal/timers:528:9)
      at processTimers (node:internal/timers:502:7)

  2) Lock
       Deployment
         Should receive and store the funds to lock:
     AssertionError: expected BigNumber { value: "1000000000" } to equal 1000000000
      at Context.<anonymous> (C:\Dev\buildspace\ethreum-dapp\my-wave-portal\test\Lock.js:46:65)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at runNextTicks (node:internal/process/task_queues:65:3)
      at listOnTimeout (node:internal/timers:528:9)
      at processTimers (node:internal/timers:502:7)

  3) Lock
       Deployment
         Should fail if the unlockTime is not in the future:
     Error: Invalid Chai property: revertedWith
      at Object.proxyGetter [as get] (C:\Dev\buildspace\ethreum-dapp\my-wave-portal\node_modules\chai\lib\chai\utils\proxify.js:78:17)
      at Context.<anonymous> (C:\Dev\buildspace\ethreum-dapp\my-wave-portal\test\Lock.js:55:64)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)

  4) Lock
       Withdrawals
         Validations
           Should revert with the right error if called too soon:
     Error: Invalid Chai property: revertedWith
      at Object.proxyGetter [as get] (C:\Dev\buildspace\ethreum-dapp\my-wave-portal\node_modules\chai\lib\chai\utils\proxify.js:78:17)
      at Context.<anonymous> (C:\Dev\buildspace\ethreum-dapp\my-wave-portal\test\Lock.js:66:44)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)

  5) Lock
       Withdrawals
         Validations
           Should revert with the right error if called from another account:
     Error: Invalid Chai property: revertedWith
      at Object.proxyGetter [as get] (C:\Dev\buildspace\ethreum-dapp\my-wave-portal\node_modules\chai\lib\chai\utils\proxify.js:78:17)
      at Context.<anonymous> (C:\Dev\buildspace\ethreum-dapp\my-wave-portal\test\Lock.js:80:66)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)

  6) Lock
       Withdrawals
         Validations
           Shouldn't fail if the unlockTime has arrived and the owner calls it:
     Error: Invalid Chai property: reverted
      at Object.proxyGetter [as get] (C:\Dev\buildspace\ethreum-dapp\my-wave-portal\node_modules\chai\lib\chai\utils\proxify.js:78:17)
      at Context.<anonymous> (C:\Dev\buildspace\ethreum-dapp\my-wave-portal\test\Lock.js:93:48)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)

  7) Lock
       Withdrawals
         Events
           Should emit an event on withdrawals:
     Error: Invalid Chai property: emit. Did you mean "exist"?
      at Object.proxyGetter [as get] (C:\Dev\buildspace\ethreum-dapp\my-wave-portal\node_modules\chai\lib\chai\utils\proxify.js:75:17)
      at Context.<anonymous> (C:\Dev\buildspace\ethreum-dapp\my-wave-portal\test\Lock.js:106:14)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)

  8) Lock
       Withdrawals
         Transfers
           Should transfer the funds to the owner:
     Error: Invalid Chai property: changeEtherBalances
      at Object.proxyGetter [as get] (C:\Dev\buildspace\ethreum-dapp\my-wave-portal\node_modules\chai\lib\chai\utils\proxify.js:78:17)
      at Context.<anonymous> (C:\Dev\buildspace\ethreum-dapp\my-wave-portal\test\Lock.js:119:41)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)

いや、まだロクに何もしていないのでこんなところでエラーが出るはずもないと思っているんだけど。。。という領域。

なんか、最近こういう、チュートリアルがそのまま動かずにやる気なくすというパターンが続くような気がする。
ただ、Discord見ているとできている人もいるので、なんだろう?
環境要因??

Powershellで試してみた

うーん、なんでだろう??と思って、ダメ元でPowershellでやってみたら。。。

PS C:\dev\buildspace\ethreum-dapp\my-wave-portal> npx hardhat test
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.


  Lock
    Deployment
      √ Should set the right unlockTime (1301ms)
      √ Should set the right owner
      √ Should receive and store the funds to lock
      √ Should fail if the unlockTime is not in the future
    Withdrawals
      Validations
        √ Should revert with the right error if called too soon (66ms)
        √ Should revert with the right error if called from another account
        √ Shouldn't fail if the unlockTime has arrived and the owner calls it
      Events
        √ Should emit an event on withdrawals
      Transfers
        √ Should transfer the funds to the owner


  9 passing (2s)

いや、おかしいだろ。

なんで コマンドプロンプトとPowershellで結果が違うんだよ。。。

かなりこれで時間つぶしてしまったぞ。。。畜生