PythonでBlockchain APIを実装するチュートリアルをやってみた

この記事を写経してみた。 Blockchainにそこまで興味があるわけではないが、PythonのAPIを練習してみたいと思いサンプルを探していてたどり着いた。 最終的にFlaskを利用してBlockchainの機能をAPIとして実装できる。 Blockchainの説明もされているので、詳しくなくても実装しながら理解していける。 とはいえ、2017年に書かれた記事なので実装自体はモダンな感じではない。 また、簡易なAPIを実装することを目標にしているので、テストなども実装されていない。 個人的にはFlaskではなくFastAPIを使いたいし、型ヒントも導入したいので、ここからリファクタリングしていこうと思う。

July 24, 2021

聖剣伝説 legend of mana のエンディングを見た

聖剣伝説 Legend of manaのエンディングまでたどり着いた。 プレイ時間は13時間程度。 ティアマト関連のストーリーは終わらせたが、それ以外のストーリーはほぼ手つかず。 出てきたシナリオを順番にこなしていたら、いつの間にかエンディングにたどり着いた。 ロボット製作や武具生成、リングリングランドもあまりやっていないので、敵が落としたものや店売りのもので装備を固めた。 後半のストーリーは哲学的・文学的な展開が多くなってくるので、先を読み進めていったらいつの間にか1週目が終わった。 とはいっても、まだ他のシナリオも気になるので、一旦引き返してシナリオを進めていっている。 他の要素も手を付けたいが、リングリングランドの目押しが辛いので、これに慣れて良い素材が手に入るようになったら進めていこうと思う。

July 8, 2021

GatsbyのチュートリアルをやってAboutページを追加した

このサイトはGatsbyで作っているが、Gatsbyの使い方がわからなかったのでチュートリアルをやってみた。 Tutorial | Gatsby Gatsbyのinitからはじめて、ページを作ったり記事一覧を作ったりする。 GraphQLの使い方も説明されているので、とりあえずやってみると良い。 チュートリアルでページの追加方法を学んだので、Aboutページを付けてみた。 免責事項を書いているだけなので、もう少し略歴なり経歴なりを付けていこうと思う。

July 7, 2021

技術メモをzennに書く習慣

最近はtechメモを自分のローカルに残すだけではなく、zennに書くようにしている。 メモとして書いているのでまとまった文章でないことも多いが、まずはアウトプットのきっかけになればと思って書いている。 同様のサービスにQiita等があるが、githubとの連携が可能でローカルで記事編集できる、CLIで記事生成やプレビューが簡単にができる、など、ちょっと文章を書くのにとても良かったというのがある。 しばらくは続けてみる。

July 5, 2021

コロナワクチン1回目を打った記録

2021/07/02 10:30に職域接種でモデルなワクチンを打ってもらった。 2021/07/04 接種前後 朝からちょっと頭痛があったものの、特にひどくはなかったので気にしていなかった。 10:30 会社から指定された場所にてワクチンを摂取。 頭痛とは別に体調不安があったため、30分間接種会場にて待機。 アナフィラキーショックなどの症状は出なかったため、オフィスに戻って業務再開。 2021/07/04 接種後 夕方 頭痛がひどくなり早退。 すでに腕の痛みがあり、打ってもらった左手を上げるのは辛かった。 帰宅後は晩御飯を食べたあと就寝。 2021/07/05 接種翌日 午前 引き続き左腕の痛みがあり、手を上げるのは辛い。 ただ、頭痛もなく、体のだるさもなかった。 2021/07/05 接種翌日 夕方 徐々に発熱してきて、38度弱ほどになった。 平熱が36.5程度で37度を超えることもめったにないため、明らかに体にだるさを感じた。 晩御飯も少なめにしてもらい、この日は早めに就寝。 2021/07/06 接種翌々日 朝起きてからすでに腕の痛みもほとんどどなくなった。 まだ微熱は続いているものの、36.8程度なので体の怠さも殆どない。 それ以降 翌々日以降は副反応も収まって、体調は改善した。 1回目で副反応が出たので、2回目の接種の際は予め休暇申請しておこうと思う。

July 4, 2021

聖剣伝説 Legend of Mana はじめました

PS4版を買って始めました。 https://www.jp.square-enix.com/seiken_lom/ オリジナルのときは近所の友だちと一緒にやった。 ネットの情報もなかったので、結局全部のシナリオはクリアできなかった。 あの頃を思い出して懐かしさを感じながらプレイしている。 グラフィックはきれいになっている。 きれいになっているが、フォントがオリジナルのものではなくなっているし、キャラはドットのままなので、ちょっと違和感がある。 「当時の雰囲気を残すために」ということらしいが、それなら全体の雰囲気を合わせてほしかったなと思う。 シナリオは変更ない。 操作性なども大きく変わっていない印象。ボタン連打して連携を続けるより、小刻みに弱を連打して敵をハメる技も健在。 昔ポケステでやっていたミニゲームも、ゲーム内で遊べるようになっているが、こんなに難しかったかな…というぐらい難しい。歳のせい? 一周目は好きなようにアーティファクトを置き、ぶらぶら探索しながら出てきたシナリオを順番にこなしていく。 多分もう一周するので、そのときは攻略サイトなりを見ながら見つけられなかったシナリオを回収しながらやろうかな。

July 1, 2021

ゴリラと学ぶVim講座でVimプラグインの写経をした

このページの写経をした。 Vim scriptでプラグインを作ろう 〜 Vimはいいぞ!ゴリラと学ぶVim講座(8) | さくらのナレッジ 「ゴリラと学ぶVim講座」は2020年に連載されてた記事で、今回はその最終回だけ読んだ。 vimscriptの基本的な文法を説明したあとで、sessionを保存・読み込みするプラグインの作成を通してプラグインの作り方やvimの関数について学ぶ。 これまでVimの設定は「人が書いたものを持ってくる」だけだったので、ちゃんと自分でも書けるようになりたかった。 そのためにvimscriptのチュートリアルを探していて、上記のページを見つけた。 自分にはちょうどよかった。 自分でも簡単な機能を作ってみたくなったし、連載の他の記事も読んでみようと思う。 写経する際の注意点として、neovimだと readdir 関数が定義されていないため使えない。

June 22, 2021

SodaStreamの炭酸水メーカーを買いました。

SodaStreamの炭酸水メーカーを買いました。 近くのヨドバシカメラで購入。 意外と重たくて持って帰るのに苦労した。 うちでは誰もアルコールを飲まないので、普通に炭酸水としてか、ジュースを割って飲んでいます。 炭酸の強さが3段階で変更できる。 一番弱い設定でも炭酸を入れた直後はそれなりに刺激がある。 ただ、ちょっとおいているとすぐに炭酸は抜けていくかな?という印象。 しばらくはいろいろなものを割って楽しもうと思う。

June 21, 2021

MonkeyをRustで実装し始めました。

Rustで「Go言語でつくるインタプリタ」の実装をはじめました。 Golangでの写経はしたことありましたが、他の言語で書き直すのははじめてです。 正直、もっと簡単に移植できるかと思いましたが、結構かかっています。 他にも同じことを考えた人がいるため参考には困らないですが、Rustの文法や仕様にはなかなか慣れないですね… 参考記事 [Rust] 『Go言語でつくるインタプリタ』Rustで読了 - Qiita Uminchu618/rust-monkey: Writing An Interpreter In Go(Go言語でつくるインタプリタ)をRustで

June 17, 2021

GatsbyをTypeScriptで書き換えた

もともとGatsbyのReact関連実装がJavaScriptだったので、TypeScriptで実装し直した。 必要なライブラリのインストール。 $ yarn add gatsby-plugin-typegen $ yarn add -D typescript tsconfig.jsonを生成する。 $ npx tsc --init gatsby-plugin-typegenを入れておくと、yarn buildしたときにGraphQLのクエリに対応した型を自動的に作成してくれる。 これを利用するためにはクエリに名前をつけておく必要がある。 # 名前をつけていく query Hoge { } あとはyarn buildすると対応した型のファイルが作成されるので、これを利用して実装を書き換える。 基本的にはxxx.js -> xxx.tsxで書き直していく。 型が導入されるのでエラーが出るが、Componentに対して適した型を渡していけば対応できる。 ただし、自動生成された型は値が取得できなかった場合を考慮してundefinedを許容するようになっており、値を取得する際もそれに合わせた対応が必要になる。 ?を書くことになるがちょっと気持ち悪いのでどこかで対応したい。 const Component: React.FC<PageProps<GatsbyTypes.HogeQuery>> = ({...}) => { ... } 参考 Gatsby.jsのTypeScript化 2020

May 4, 2021