guntamania

ハード目な日々

[2018-03-05 Mon]

ちょっと忙しいとここを書くこともさぼってしまう。 あまりよくない。 ココに使ってるスクリプトも書き直そうと思っているのに、 なかなかできないでいる。。

会社にいる間には、あれやろう、これやろうとモチベーションが 上がったりなんかするんだけど、やっぱり家帰って晩御飯をたべると 途端にやる気を失ってしまう。

こにふぁー氏のブログにも同じようなことが書いてある

帰宅前の溢れるやる気を持続させる

仕事でも個人の活動でも「今日は家帰ったら朝までやってやるぜ」みたいな感じで、何でもできそうな気がするくらいやる気に満ちあふれるんですよね。

行動を書き出してみると何がダメかよくわかるんですけど、 家帰って最初に一息ついた時点で割と詰んでるんですよね。

まあ、そのとおりなんだよね。

会社にMacbook Airでも持っていって、 帰りに作業するのも割りとアリなライフハックなんじゃないかと 思うこともある。 そうすると、どういう生活リズムにするかが問題になりそうだ。 すぐにいろいろ崩してしまいそうだ。

かといって、今のような繁忙期に第二の行動が取れるかというと、 かなり微妙なところだ。まあ、テスト工程にも入ってるし、 そのうちおわるんだろうけど。

−−—

Stack Overflowを眺めていると、こんなStackExchangeがあることに気がついた

codegolf

なんでもコードの短さを争うプログラミング種目(?)のようだ。 コードの短さを競うところから、点数が低いほうを勝者とする ゴルフにあやかって、この競技名がついたみたい。

僕がみていたのはこんなのとか

Print “Hey Jude” from The Beatles

code golf用のプログラミング言語 もあるようなんだけど、 やっぱり参考になるのはJavascriptとかRubyとかかなあ。 参考になりそうでならないような感じなんだけども。

Testnet

[2018-03-09 Fri]

Mastering Bitcoinをしばらく読んでいる。

今後何かしら実験することがあるかもしれないが、 そのときに実稼働しているBitcoinで取引するのは 気が引ける。

そのためにTestnetというテスト網があるようだ。

Testnet | Bicoinwiki

こいつを使うと、実害なくウォレットを実装できるかもしれない。

サボタージュ

[2018-03-19 Mon]

油断するとすぐにサボってしまう。

Mastering Bitcoinを読了し、拾い読みをしている。 別の書籍に手をだすのもありだが.. 今のところはGoogleにたより、情報源を色々拾っていきたいところ。 たまにQiitaには驚くような質の文書が投稿されていて、非常に参考になる。 一体彼らのモチベーションはどこからきているのだろうか。

日付まわり

[2018-03-24 Sat]

Railsで日付まわりを操作するときに、いつも秒を定義して、たとえば

DAY_IN_SEC = 60 * 60 * 24 # 行頭で定義
Time.now - 10 * DAY_IN_SEC

ってな感じで実装してたんだけど、おせっかいなRailsなんだし、 何かあるだろうと思ってみたら、あった。

すぐ忘れるので、RubyとRailsの日付操作周りについてまとめました | Qiita

こりゃあ便利だ。 特に意外と使いみちがあるのは

Time.zone.now.ago(10.days).beginning_of_day

みたいなやつだ。その日の 0:00:00 を返してくれる。

ここんとこの計算が毎回面倒だったんだよね。

bitcoinj

[2018-03-25 Sun]

JavaでBitcoin関連のライブラリないかな、と探していた。 Androidでちょっと実験できたらいいな、と思ってみたり。

たどり着いたのは以下のbitcoinjというライブラリ

ウォレットの参照実装がほしかったんだけど、 JavaFXで実装されたものがあるようだ。

https://github.com/bitcoinj/wallet-template

こいつを mvn コマンドでビルドしてみる。 が、エラーでビルドが通らない。

pom.xmlのパッケージ名に誤りがあるようだ。 64行目あたりで以下のように変更を加える。

  <dependency>
      <groupId>org.bitcoinj</groupId>
      <artifactId>bitcoinj-core</artifactId>
+     <version>0.13-SNAPSHOT</version>
-      <version>0.13.6</version>
  </dependency>

追従できてないだけかもしれないな。 ちなみに0.14.xってのもあったが、こちらはエラーをはいてだめだった。

順番は前後しちゃうんだけど、以下も。

<configuration>
    <minimizeJar>false</minimizeJar>
    <filters>
        <filter>
            <!-- exclude signatures, the bundling process breaks them for some reason -->
            <artifact>*:*</artifact>
            <excludes>
                <exclude>META-INF/*.SF</exclude>
                <exclude>META-INF/*.DSA</exclude>
                <exclude>META-INF/*.RSA</exclude>
            </excludes>
        </filter>
    </filters>
    <shadedArtifactAttached>true</shadedArtifactAttached>
    <shadedClassifierName>bundled</shadedClassifierName>
    <transformers>
        <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+           <mainClass>wallettemplate.Main</mainClass>
-           <mainClass>${project.artifactId}.Main</mainClass>
        </transformer>
    </transformers>
+   <outputFile>target/wallettemplate-shaded.jar</outputFile>
-   <outputFile>target/${project.artifactId}-shaded.jar</outputFile>
</configuration>

ここまで違うとコントリビュートしたほうがいいのかな.. まあ、でも3年前が最終更新だから仕方ないね。

ここまでして、以下でビルドして動かす。

$ mvn package
$ java -jar target/wallettemplate-shaded.jar