蛇使いの日常

コーンスネークを飼っているPythonエンジニアの日常や技術のことなど

Android with kotlin - RepositoryはLiveDataを返すのではなくセットする役割で使った方がいいかも?

f:id:hebilist:20180210103423p:plain

こんにちは、Pythonエンジニアの蛇使いです。

今年からKotlinでAndroid開発を担当しています。毎日絶望!型あり言語をやってこなかったのにいきなりKotlinとか・・・。とは言うものの、ややこしいのはAndroidの部分ですね。

Architectureがいっぱいあってどれが良いのかわからなかったり、やり方がいっぱいあって悩みますね。私はMVVMにClean Architectureを取り入れた形になったと思います。

 

LiveDataを使う

やり方が色々あるので、公式?のAndroid Architecture Componentsを全て使うことにしました。そこでObserverFieldは一切使わず、全てLiveDataを使った方がシンプルになるので、Android Studioはプレビュー版で開発しています。Android Studioは3.1.6以降でないと、LiveDataでデータバインディングできないので。LiveDataを使えば、データバインディングもできて、ROOMもそのまま使えるのでシンプルです。

 

Repositoryの役目

本題ですが、RepositoryはService(Retrofit)からObservableを取得してsubscribeし、そのデータをRepository内で初期化したLiveDataにセットして、ViewModelに返す役目だとされてると思いますが、ViewModelで初期化したLiveDataを毎回Repositoryのメソッドに渡して、その渡されたLiveDataに対してRepositoryはsubscribeした結果をセットするようにした方がいいのではないかと思いました。

 

理由

  • ViewModelで初期化したLiveDataに、Repositoryで初期化しpostValueでセットしたLiveDataをそのまま代入すると、observeイベントが発動しない場合がある。

ActivityのonCreateでobserveしていて、データが変更された場合でも、ViewModelのLiveDataでpostValueしていないので、イベントが発動しない場合があります。

 

  • Repositoryには状態を保持しないほうが良さそう?

わざわざLiveDataをViewModelから渡さず、Repositoryで保持したものを使えば?とも思うかもしれないですが、Repositoryに状態を保持しておくと、破棄の管理を自分でしないといけないため、めんどくさそうです。ViewModelのプロパティなら、Activityが死んだ時に一緒に破棄してくれますね。

 

メジャーなやり方

RepositoryからLiveDataを返す場合は、ViewModel側でコンテナをnullで初期化しておいて、nullだったらRepositoryでデータを取得して代入しますが、初期化の時にLiveDataをセットしていないのでちゃんとイベントが発生します。これの何がいやかというと、Kotlinではプロパティやメソッドの呼び出し後に「?」をつけまくらないといけないことです。

nullableよりも、non-nullのほうが好きです。

とは言うものの、このやり方なら2回目以降はAPIを叩かず、ViewModelが保持しているLiveDataをすぐに返すので、こちらのほうがいいかもしれませんね。

しかし、POST後のResponseを監視したい場合は、やはりRepositoryでコンテナを保持しておかないといけないと思います。 

 

終わりに

久々に技術のことを書きましたが、コードを一切書いてない記事になりましたw

色々めんどくさいんですよ。色々・・・。

オーバーロード使えるとかは型あり言語良いんですけど、なんてったって今まで型なし言語でドカタしてきたので、お作法がキチキチだと苦痛です。まぁ慣れですかね。

蛇使いの仮想通貨記録 暗黒編

f:id:hebilist:20180203143442j:plain

1月中旬から仮想通貨デビューして3週間ほど立ちました。

蛇使いの仮想通貨投資はどのように変化したでしょう。

一言で言うと「暗黒時代」です(笑)

 

暴落を引き起こしたcoincheck

たった三週間のうちに、仮想通過全てが暴落してしまいました。やはり一番の原因はcoincheckXEM流出ではないでしょうか?

たまたまcoincheckは使っていなかったのでよかったですが、利用していた人からしたら地獄ですね。

 

どんな感じでXEMが流出してしまったのかというと、

スーパーのレジの中を開けっ放しにしたまま、バイト達は裏でお酒を飲みベロベロに、そして戻ってみたらレジのお金がなくなっていた!

そんな感じだと思います。

 

仮想通貨自体には何の落ち度もないんですね。技術的には安心して大丈夫なようです。

 

そして580億円分のXEMが流出し、出金等もストップしてしまったcoincheckのせいで、仮想通貨は危ないという印象を世間で持たれ、関係のない全ての仮想通貨が暴落してしまったように思います。ビットコインは一時80万まで下落してしまいました。

今年1000万まで上がると言われたりしていたビットコインの先行きが不安ですね。

 

イーサゼロの滅亡

つい最近イーサゼロ(ETZ)が始動した記事を書きましたが、もはやオワコン状態のようです。購入した時は0.039だったのが、先ほど確認すると0.033でした。一時は0.3まで上がり、0.1ぐらいを少しキープした時もありましたが、結局終了しましたw

私は買値とほぼ同じぐらいの時に売り抜け、赤字を回避しておきました。

これで学んだことは、取引所で新しいコインが追加されたりすると、一瞬上がりますが、また一瞬で戻ってしまい終わるパターンが多い気がします。

Kucoinに上場したOdyssey(OCN)も良い例ですね。

 

PACに掛ける

もはや期待できるのはPACオンリーです。他の通貨も2種類保有していますが、PACほど期待できそうにもありません。しかし2月1日に$PACのホワイトペーパーが公開されたにもかかわらず、公開後あまり上がりませんでした。公開の前日は少し上がっていたのですが。しかし$PACの本番は3月1日以降です。それまでになんとか安く購入しといたほうがいいですね。$PACはすぐに1PAC=25ドルになると言われています!ほんまかいな・・・。新PACで枚数が1/1000になって1PAC=10円ぐらいから始まり、10円が2750円ぐらいになるとか夢は大きいですね。

夢を買いましょう!一生サラリーマンだけをしていては、やりたいことができません。

暴落している今が大チャンス!

 

でもこれから仮想通貨を始めるなら「10万円ぐらい捨ててもいいや」と思える金でやったほうがいいような気がします。私も捨て金でやっているので、PACが伸びなくても、仮想通貨が滅亡しても全然平気です。

 

 今後の仮想通貨

ビットコインの底値が100万と言われていましたが、80万まで下がってしまいました。

多分未来はベテラン勢でもわからないと思います。

でも年単位のグラフを見ていると、毎年冬はこんなもので秋ぐらいから実り始めるようです。

中国人による爆買い期待しときますか。

イーサゼロ(ETZ)始動 - 蛇使いの仮想通貨日記

f:id:hebilist:20180121132845j:plain

仮想通貨やり始めて間もないですがやばいです!結構ハマってます。

毎日暇があればチャートを見てしまいますね。

私が書く仮想通貨の記事は、情報ではなくただの個人日記なので、そのつもりで読んでください。

 

仮想通貨暴落

以前仮想通貨の記事を書いてから、一回仮想通貨の大暴落がありましたね。PACコインしかもっていなかったので、特になにも気にすることはありませんでした。ビットコインがいくら下がろうともPACに影響はありませんでした。

 

仮想通貨も投資も素人の私から見ると、国ぐるみでビットコインを下げさせて、安くなったところを買おうとしているのでは?と思っていました。

ビットコインは100万ぐらいまで下がりましたが、また130~140台へと復活しましたね。160まで復活するのもそう遠くは無い気がします。

 

イーサゼロ始動

では本題です。Ether Zeroイーサゼロ(ETZ)というイーサリアムの進化版?が1月20日にできたそうです。イーサリアムをある日時にどこかの取引所に所持しておくと、所持しているイーサリアムの分だけ、イーサゼロがもらえたそうです。

その情報を知った頃には既に遅し、取引所にはETZなるものができており、所持していたイーサリアム0.00000842分だけイーサゼロをもらえていました・・・。

 

イーサゼロについて

なんか技術的に色々よくなったそうですが、一番のメリットとされるのは、手数料が無料ということではないでしょうか。手数料といっても、取引手数料か送金手数料かは知りません。送金手数料が無料ならかなりいいですね。イーサリアムの送金手数料が安い取引所を使っているのでそれほど痛くはありませんが、やはり送金手数料は無料がいいです。

 

イーサゼロに交換

MERCATOXにイーサリアムを送って、KINを買おうと思っていましたが、MERCATOXになぜかイーサリアムのアドレスが表示されず、送ることができませんでした。

そして行き場のなくなったイーサリアムは、イーサゼロに交換することにしました。

昨日イーサゼロを交換した時は0.039で交換できましたが、先ほど確認すると、0.095ぐらいまで上がっていました。

できたてなので期待で上げられて、上がったところで売りまくられ暴落するパターンなのでしょうか?それともイーサリアムと同等ぐらいの価値になっていくのでしょうか。そんなことは私にはわかりません。

今年はイーサリアムの年らしいので、このイーサゼロがビットコインと同じぐらいの価値を持ってくれれば・・・と妄想をしています(笑)

 

プログラムに例える

イーサゼロをプログラムに例えると、イーサゼロはkotlinのような存在ではないでしょうか?はい、適当に言ってます(笑)今私の脳みそはkotlinで埋め尽くされているので・・・。

kotlinはシンプルに書けてJavaに変換。Javaと100%互換のkotlin。Android開発はJava資産は使うもののKotlinでOK。

イーサゼロはイーサリアムの上位互換的存在?この辺は全くしらないですが、イーサリアムの問題を解決してより良くしたものがイーサゼロだという認識です。

 

選択を後悔しない結果になれ!

私は2011年に新しい言語を学ぶのに、日本で人気のRubyではなく海外で人気のPythonを選択しました。今やスクリプト言語Pythonの時代!

そして今年仮想通過をデビューして選んだ通貨がPACとETZ、他にもありますが、この選択が嬉しいことになってくれることを祈ります!

 

蛇使いが仮想通貨PACコインを買ってみたお話

f:id:hebilist:20180113110113p:plain

あけましておめでとうございます。始まりましたね2018年。私は1月4日からガッツリ仕事でした・・・。

仕事は今年からKotlinをやることになりました。Androidアプリ開発担当です。

いや、俺がやりたいのはPythonなんですが・・・。他はMR(ミックスリアリティ)や人工知能を。まぁそんなことを言っても組織なのでそんなうまくハメこまれません。

 

仮想通貨デビュー

去年の暮れから2018年は仮想通貨を始めようと思っていました。

仮想通貨については、調べる前までは「どうせ消えてなくなるだろう」と思っていましたが、そんなことはなく、普通に金融関係で使われたり、国の正式な通貨として利用されるそうです。

去年ビットコイン10万円ぐらいだったのが200万円ぐらいになったりと、可能性を多く秘めた仮想通貨を「今年始めないでいつ始める?」といった感じで始めることにしました。

 

何を買うか

まず、今からビットコインを買っても、そんなに値上がりを期待できないんじゃないかと思いました。

そこで値上がりしそうな安い通貨と思い調べると、良さそうなのがリップル(Ripple)とネムXEM)というのがありました。

リップルというのが金融関係でも使われるそうです。金融関係で使われるとなると、確実に生き残るどころか、値上げは間違いないと思いました。

そして買う通貨を決めました。買う通貨は「PACコイン(Pac Coin)」という通貨です。なぜPACコインにしたかというと、取引所のチャットで誰かが「PACが熱い」と言っているのを見ました。そしてPACコインを調べることに。

確かに可能性が大きい!コイン枚数を1/1000に減らすことやコミュニティの充実、そして現在1コイン1円もしないというので、PACコインにしました。

 

購入までのPACコイン

1月1日から各取引所に登録しましたが、日本の取引所で本人確認ができて取引できるようになったのは、1月11日でした。さすが今年から仮想通貨デビューする人は多いですね。

PACコインを買うには、まず日本の取引所で円を別の仮想通貨にしないといけないため、10日間以上チャートを眺めるだけでした。

その10日間のPACコインの動向は、まず年末にPACコインを見たときは、1コイン0.006円でした。そこからグングン上がり、0.03円越えぐらいまで上がりました。「おい~、まだ買ってないんだぞ~」と思いながらチャートを眺めることしかできません(笑)

しかし、順調に見えたPACコインも、ベテラントレーダー達からツッコミが入ったようです。公式がだしている画像?の人物が別の人物であったり、ちゃんとした説明が返ってこないなど、そしてPACコインを扱っている海外取引所の1つで、ある通貨での取引が停止してしまいました。

そこからドンドンPACコインが値下がり、1コイン0.035円ぐらいあったのが、0.0085ぐらいまで落ちてしました。

初め見たときの0.006円では買えませんでしたが、丁度良いタイミングで0.0085円で購入できました。購入金額はお遊び程度ですが。こういうのは捨て金でやらないとダメな気がします。

 

 送金の失敗談

 PACコインを購入するには、日本の取引所でビットコインなどの仮想通貨を円で購入し、その通貨を海外の取引所に送って交換していかないといけません。

私はビットコインを購入し海外取引所に送ってしました。送金するのには手数料がとられるようです。そしてビットコインの手数料がその時の時価にすると、なんと1800円程・・・。高いな~と思っていたのですが、後から調べるとビットコインではなく、イーサリアムを送金していれば、100円程度だったようです・・・。

良い勉強になりました。

 

 これからのPAC

 これからPACコインが上がるのか、はたまた消えてなくなるのかはわかりません。私が買った量は少ないですが、もちろん長期保有目的で購入しています。

PACが100倍になるとか言われていますが、100倍なんかじゃ困ります。1万倍10万倍になってもらわないと(笑) 

その可能性は十分あるように思います。

 

今後の仮想通貨

仮想通貨自体はなくならないものの、種類がとても多く、これからもドンドン増えていくようなので、生き残れる銘柄を選ぶのがとても難しいと思います。

技術が優れていてコミュニティが充実、そして運営の誠実さが重要になってきそうな気がしますね。良い通貨であれば、自然と提携するところが増えてきそうなので。

 

ところで、スネークコインやコブラコインという名前の通貨はないのでしょうか?

そういった名前の通貨がでてきたら、名前で蛇使いは買ってしまいそうですね。何に使われる想定かというと、Pythonライブラリなどライセンスの購入や、コーンスネークなど蛇の生体購入などに(笑)

今後がとても楽しみです。

 

コーンスネーク - 吐き戻す夜叉女と黒夢の強制給餌ペース

f:id:hebilist:20171224143416j:plain

夜叉女と黒夢は同じ2匹の親から生まれた姉妹です。

この姉妹は両方問題があります。

 

スノーストライプの夜叉女は、一度ケージから脱走して脱走時に吐き戻し、その後間隔は空いているのですが2回餌を吐き戻ししてしまいました。

 

アネリの黒夢は、家に来てからもう2ヶ月半たちますが、一度も自分で餌を食べようとせず、強制給餌をして生きながらえています。

 

夜叉女の吐き戻し原因

f:id:hebilist:20171224143302j:plain

脱走してから夜叉女が吐き戻すようになってしまいました。暖房はついているものの、パネルヒーターがないところにいたため、体調を崩してしまったのでしょうか?

餌を与えるペースを、脱走から戻ってきてからは、2日に1回を3日に1回にしました。それでも一週間に1回、2回目の給餌後に吐いてしまっていました。

餌のサイズはSサイズを与えていました。しかし他のショップの餌のサイズとは違い、普通のSよりも大きいように思います。脱走から帰ってきてから1回目の吐き戻し後は、SSサイズを与えるようにしましたが、2回目の給餌でSSの中で大きめを与えると、また翌日吐き戻ししていました。

その後は、SSの中でも一番小さいピンクマウスを与えるようにし、2日に1回のペースでやることにしました。すると吐き戻しはしなくなりました。

あと、ウェットシェルターのサイズを、Lサイズにしていたのですが、Mサイズに戻しました。

給餌の間隔の問題ではなく、餌のサイズの問題だったのだと思います。

夜叉女は、お腹が明らかに膨れてしまうサイズを消化できず、小さいサイズしか身体に合わないのかもしれません。

他の同じ大きさのベビー達は難なく消化できるサイズであっても、夜叉女の個体性質上消化できないようです。

 個体によって餌の与え方を変えないといけないことが良くわかった出来事でした。

 

 黒夢の強制給餌

f:id:hebilist:20171224143314j:plain

 黒夢のことは以前も書きましたが、強制給餌しないといけない個体です。

強制給餌をしないといけないのですが、夜叉女と違い吐き戻したことは一度もありません。

強制給餌は時間もかかり大変なのですが、まだ吐き戻されるよりは精神的に安心です。

 

始めの頃は2日に1回強制給餌していました。しかし、人間側もしょせん人間なので、仕事で疲れていたりすると、スムーズに強制給餌することができません。強制する場合にはなるべく、時間に余裕を持って心を落ち着かせた状態で取り掛かりたいため、今では水曜と土曜or日曜の週に2回だけやるようにしています。

そして2日に1回強制していた頃は、SSを1匹だけ与えていましたが、週に2回になってからは、1回でSSを2匹与えるようにしています。

2匹与えると、結構お腹パンパンになるのですが、吐き戻しは一度もしていないので大丈夫だと思います。

週に2回だけで1匹ずつしか与えないと、全く身体が大きくならないと思います。

1回で2匹与えていても、自分で食べる個体たちに比べると、あまり大きくなっているように思えませんが・・・。

 

 難しいのは遺伝?

 夜叉女は普通だと思っていましたが、意外と難しい個体でした。やはり同じ親から生まれたため、何か欠点を引き継いでいたのでしょうか。吐き戻し、そしてイリュージョン脱走・・・(笑)

でも一応今は元気に大人しくなっています。脱走から帰ってきてからは、やんちゃさがなくなり、ハンドリング中もビョーンと逃げることがなくなりました。

 もはや温室育ちの彼女達は、人間の手から離れると生きては行けないでしょう。

人間も若い時に1人で社会や世界に出て、家族や周り、組織、国などに守られて生きていたということに気づくのと同じですね。

ベビー達には、大いに人間を頼りにしてもらいたいものです。

 

 

爬虫類市場2017年冬に行ってきたので個体紹介

f:id:hebilist:20171211152601j:plain

大阪の大正で開催されていた爬虫類市場というイベントに行ってきました。

もちろん今回も会場の写真はありません(笑)撮るのが面倒臭いですw

 

混み具合

会場が狭すぎたため、かなり混んでいました。入れるのか心配でしたが、3分ぐらいで入ることができました。早い時間帯は、入場制限で全然入れなかったそうです。

中に入ってからも人がいっぱいでしたが、ブースとお目当てのコーンスネークの個体自体は結構少なかったです。

予想では、トータルで1300人ぐらいは来場していたんではないでしょうか。

 

個体の値段

見て回る頃には、あまりコーンがいなかったのでなんとも言えませんが、お目当ての個体はブラックアウトの時より安くなっていました。

 

 

個体の紹介

f:id:hebilist:20171211152250j:plain

一番上の画像のアネリリバースストライプの♀を一匹だけ購入しました。

ブラックアウト大阪で目をつけていたのですが、時雨を購入したので見送った子です。

時雨を購入したブースでまた購入しました。爬虫類市場に行く前からこの子が目当てでした。悪く言えば売れ残り(笑)しかしまだ誰にも買われず残っていたという運命!まぁ誰も買わないと思っていましたが。

名前は、紅麗(くれい)と名付けました。灰色のグレーから(くれい)に。ヘテロにハイポを持っているせいか、胴体の上半分は少し赤みがかっています。そして綺麗なストライプなので、紅麗という漢字にしました。

個体に合った名前を付けるのは大変ですね。12時間掛かりました・・・。

 

f:id:hebilist:20171211154943j:plain

時雨もそうでしたが、紅麗を購入したブースの個体はとても良いです。

何が良いのかというと、ちゃんと人の手が入れられているように思えます。

初日もハンドリングを余裕でできる慣れ具合、餌もすぐ食べ消化も早いです。

普通は、お迎え日に餌を与えるのは良くないと思いますが、慣れ具合と水のガブ飲み具合から、お迎え日にマウスを与えました。今朝見ると、吐き戻しはなくお腹は元通りでとても優秀です。

 

紅麗は時雨と再開し

紅麗「あんたもここ来てたんや~。」

 

時雨「うん。ここなかなか居心地ええで~。」

のような意思疎通をしていたと思います。

 

今年最後のイベントが終わって

今年の7月からショップやイベントに行って、爬虫類デビューしました。

今はコーンスネークが8匹になっています。まさかこんなに増えるとは思っていませんでした。また来年も増やしてしまいそうですね。

もうラックがいっぱいいっぱいですが・・・。

 

デイリーズトータル1 (アルコン)を使ってみた感想

f:id:hebilist:20171203112948j:plain

現在最強と言われるアルコンの一日使い捨てコンタクトレンズ「デイリーズトータル1」を買ってみました。

早速使ってみたので感想を書きます。

 

レンズの付け心地

レンズを付けると、「あれっ!?」って思うほど、コンタクトを付けている感じがしませんでした。目と一体化しているような感じです。

 

あまり乾かないかも

レンズをつけて、最初だけ普段どおりロートドライエイドをさしましたが、それ以降はささず8時間装着しました。ワンデーアキュビューTrueEyeの場合だと、3時間に1度は目薬をさしていましたが、トータル1の場合はそれほど目薬を必要としませんでした。

 

レンズを外した時

レンズを外すとレンズはプルプルしたままでした。TrueEyeの場合だともはやビニールでしたが、トータル1は水分がしっかり残っている感じです。

 

悪いところ

たまにレンズがずれているような気がします。自分にBC8.5というのが合っていないのでしょうか?

 

コンタクトでPC

トータル1ならコンタクトでPCを10時間できるのではと思いましたが、ん~やはり無理そうな気がします。できることはできるでしょうが、やはりコンタクトを外した時の裸眼と付けている時では、全然爽快感が違いますね。

コンタクトでモニターを見続けている人も結構いますが、凄いの一言です。私もチャレンジしてみましたが、やっぱりメガネの方が楽です。

 

まとめ

値段が安くなっておらず高いというデメリットはありますが、一日使い捨てコンタクトの中ではトータル1が現状最強だと思います。

ワンデーでなければ、エアオプティクスEXアクアがかなり良く、コスパと付けた感じの持続性でいうとトータルワンより上ですが、家帰ってレンズのこすり洗いなどしてられないぐらいフラフラの時は、取り外してすぐに捨てたいですね。

コンタクトレンズはもっと進化して欲しいものです。