villagerHの日記

勉強したことや苦労した事などを書き綴ります

なぜ、あなたの仕事は終わらないのか

kindleunlimitedで無料で読めたので今回はこちらの本を読みました。

エンジニアの方が書かれた本なので読んでいて面白かったです。

納期までに仕事を終わらせるためのノウハウが書かれた本です。
成功するためには最後に一気に終わらせるのでなく最初に全力になれといった1点のみです。

よくある締め切り間近に徹夜したりで必死になるのでなくて、最初にこそ全力になることで心に余裕が生まれより良いものができるといった内容でした。

文中に「界王拳」といった魅力的なワードが出てきたりすることもあり非常に楽しく読めました(笑)

なかなか実践するのは大変そうな内容ではありましたが、可能な限り最初に全力で取り組むというのは心得て行きたいところです。

Ruby on Railsインストール

Ruby on Rails環境を構築し始めました。

適当にぐぐって出てきたQiitaの記事を参考に進めていきます。

$ brew install rbenv ruby-build
Rubyのバージョンを管理しやすくなるとのことなのでインストール

$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
profileに追記

さくさくっと終わったので続いてRubyのインストール

$ rbenv install 2.3.0

バージョン指定してインストール

BUILD FAILED (OS X 10.12.6 using ruby-build 20191024)

Inspect or clean up the working tree at /var/folders/mm/_y2zgzf97t784ys59pmlx5w40000gn/T/ruby-build.20191025002430.37664
Results logged to /var/folders/mm/_y2zgzf97t784ys59pmlx5w40000gn/T/ruby-build.20191025002430.37664.log

Last 10 log lines:
EVP_MD_CTX_create(void)
                 ^
                 ;
2 warnings and 5 errors generated.
make[2]: *** [openssl_missing.o] Error 1
make[1]: *** [ext/openssl/all] Error 2
make[1]: *** Waiting for unfinished jobs....
linking shared-object objspace.bundle
linking shared-object nkf.bundle
make: *** [build-ext] Error 2

さくさくっと終わ・・・らない・・・

opensslは既にインストール済みだしどういうこと???と思って色々調べましたがOS XRubyのバージョンの組み合わせによっては上手くインストールができないらしいです…

$ rbenv install 2.4.0

試しにバージョンを2.4.0で指定してみたらインストールできました…
参考にしてたサイトが2.3.0だったので特にバージョンに拘りがあったわけではないのでとりあえずこのまま進めてみます。

習慣が10割

このところ他のことで手いっぱいで勉強が全く進んでませんがなんとか本だけは読み進めてます。

習慣が10割

習慣が10割

こちらの本がkindle Unlimitedで読み放題だったので読んでみました。

習慣を作ることについてがメインの本ですが
人間の脳は騙されやすいのでポジティブでいようといった感じの習慣に限らないことも書いてあり楽しめました。

筋トレは1回からでも十分といった極端なことが書かれていたりもしますが
最近全く運動していないので私も1回からでも続けていきたいと思います。(笑)

ストレングスファインダー

友人に勧められて?ストレングスファインダーをやりました。

サイトからも買えるっぽいですがこちらの本を買うと付録でできました!

やって見た結果は
未来志向
調和性
公平性
目標思考
内省
でした。

最近は未来とか目標に向かって動いている感じなのでその辺りが強く反映された感じですかねー。
1年くらい前の私がやったら間違いなく全く別の結果が出たと思います(笑)

本の中身の解説はまだ読めてないので溜まっている本が落ち着いたら読んでみます!

ブックオフ

RubyRuby on Railsを勉強したいなと思ったので本を買ってきました。

作りながら学ぶRuby入門 第2版

作りながら学ぶRuby入門 第2版

こちらの本が覚えやすそうなので欲しいなと思っていたのですが5件くらい本屋を回ってみたものの発見できず^^;

そんな時に知人から「ブックオフにあるんじゃない?」的な話を聞きました。


ブックオフに技術書なんてあるのか?と疑いつつブックオフに立ち寄ってみると…


ブックオフって結構技術書置いてあるんですね。

しかも中古本だけあって結構お安い!!!

技術書ってどうしても3000円を軽く越えてしまいますが、
中古で安いのだと300円とかで売ってました…


残念ながらお目当ての本はなかったのですが他のRuby本を買ってきました。

一応他の言語やプログラム経験のある身なので初心者だとわかりづらい本だったとしても理解できますし、
手元にしっかり残しておきたい本でなく学ぶために触れておきたい本であれば中古で全然大丈夫ですね!

最近は本の出費も馬鹿になりませんでしたし、今まで中古という選択肢が頭の中になかったので良いことを知りました~。

もっと言えばインターネットで無料でいくらでも調べて覚えられるとは思いますが、
私は本の方が覚えやすいので!

Truffleで生成したjsonからcontractへの接続

ちょっと時間が空きましたが前回の続きです。

villagerh.hatenablog.com

タイトルにある通りですがTruffleでブロックチェーン上にデプロイした際に生成されるjsonからcontractへの接続が無事にできました!のでまとめておきます。


とりあえず最初に接続までできたものをそのまま貼り付けます。

from web3 import Web3,HTTPProvider
import json

f = open("UnitFactory.json", 'r')
json_data = json.load(f)
abi = json_data["abi"]
address = json_data["networks"]["5777"]["address"]

web3 = Web3(HTTPProvider("http://127.0.0.1:7545"))
UnitFactory = web3.eth.contract(address=address, abi=abi)

unit_num = UnitFactory.functions.getUnitNum().call()
print("unit_num: " + str(unit_num))

pythonに慣れていないためおかしな部分があったら申し訳ありません;;;



簡単に解説です。

f = open("UnitFactory.json", 'r')
json_data = json.load(f)
abi = json_data["abi"]
address = json_data["networks"]["5777"]["address"]

truffleでmigrateしたときのjsonデータを読み込んでいます。
前回までは読み込んだjsonをcontractのインスタンス生成時にそのまま投げればいいものかと思っていましたがちゃんとabiとaddressに分けてやらないとだめみたいです。

address = json_data["networks"]["5777"]["address"]

アドレスはデプロイ時に発行されるので直接貼り付けてもよいのですが、ローカル環境だと毎回デプロイする度にアドレスが変わってしまうのでjsonの方から取得しています。
"5777"はネットワークIDです。
Ganacheを使用してローカルブロックチェーンを生成している場合はGanacheのGUIに表示されています。

web3 = Web3(HTTPProvider("http://127.0.0.1:7545"))
UnitFactory = web3.eth.contract(address=address, abi=abi)

unit_num = UnitFactory.functions.getUnitNum().call()

先ほど用意したaddressとabiを指定してコントラクトへ接続します。
ここまでできればあとはコントラクトのメソッドを呼び出してやればOKです!


というわけでweb3.pyを使用してコントラクトへの接続ができました。

あとはブラウザと違いMetaMaskがない状況なのでアカウントの管理をどうすればいいのかなーといったところですね。

ゼロ秒思考

お仕事が微妙に忙しかったりでなかなか作業の時間が取れてませんがとりあえず本だけは読んでます。

今回はこの本を買って読み始めました。

ゼロ秒思考 頭がよくなる世界一シンプルなトレーニング

ゼロ秒思考 頭がよくなる世界一シンプルなトレーニング

タイトルにある0秒で考えるというのは究極系なので難しいかもしれませんが
それに近い形で考えられるようになるためのトレーニングの本です。

前半は思考が早くなるとどういったメリットがあるのかということが書かれています。

デスクワークの人は手を動かしているようでいて実際は思考している時間が長いということが書かれており、確かにと思いました。
そこの思考時間が短くなれば作業効率が上がり、時間にも余裕ができるのでいいことだらけだよといったことすね。

中盤から後半にかけては実際にどのようにすればそういった思考力が身に付くかといったことが書かれています。

レーニング方法としましてはA4サイズの紙にタイトルとそれについて思ったことを4~6行程度1分間メモとして書き綴るだけという非常にシンプルなものです。

これを1日10ページほど繰り返すことで思考力が鍛えられるらしいです。


最近は技術系の本だけでなくこういった自己啓発系の本を読むのが楽しくて読み漁っているのですが、
読んだものについては実践していかないと意味がないと思うので実際にも行っています。(全部とはいきませんが…)


早速昨日からメモ書きトレーニングはし始めました。
文中にも書いてありましたがやってみると案外難しいです!

まだ2日目ではありますが最初の方は文章が書けずに単語を羅列するだけな感じだったのが少しずつ文章が出てくるようになって早くも効果を実感できている気がします!

ゲーム感覚でできるのでやっていて面白くもあるのでこれからも続けていきたいと思います。


やってみて改めて思いましたが私は漢字が苦手でパッと出てこないです…
最近書くことも少なくなってしまいましたしそこも含めて勉強したいですね…