Android アプリ の DI コンテナとして KOIN を使う理由とちょこっとした紹介

たまには飯テロじゃない画像をトップにしようと思いました。 (土善旅館のはなちゃんです) さて、私が Android アプリケーションを作るときの DI コンテナとして、最近は Kotlin で書かれた、Kotlin のために提供される KOIN という DI コンテナを好んで使…

Kotlin Coroutines におけるリトライの実現方法を2つ考えてみる

台湾まぜそば、おいしいですよね。名古屋飯だそうです。台湾は? つい先日、友人とのやりとりで Kotlin Coroutines を使うときにどのようにリトライを行うかについて深く考えていなかったという気付きがありました。 ということで、「Android アプリで画面の…

SONY α7 III + Vario-Tessar T* FE 16-35mm F4 ZA OSS を買いました

ええと、なんというかこれまで私は SONY のカメラにはそれほど興味があった訳ではなくそもそも最近は愛機の RICOH GXR + A12 50mm もすっかり登板させることがなくなってきて iPhone 8 のカメラが不必要に性能が良いのが良くて悪いなんなんだあいつとにかく…

Swift 4 で RSA 暗号を使った文字列の暗号化/復号を行う

メモです。 あ、これはお肉です。 Swift の素振りで、RSA 暗号を使った文字列の暗号化/復号を行ってみました。 実装は、参考にしたこちらの記事そのまんまなのですが、現行の Swift4 では動かない箇所がいくつかありました。 ので、動くようにしたコードをこ…

合同会社エルプラスに入社しました

あけましておめでとうございます。 柴田智也です。 これは明治神宮の今です。 さて、この度、2018年1月1日付けで合同会社エルプラスに入社いたしました。 経緯 エルプラスの代表を勤めていらっしゃる杉浦隆幸さん @lumin は、特にセキュリティ分野で活躍され…

MacBook Pro (15-inch, 2017) のセットアップでやったことメモ

諸般の事情で MacBook Pro (15-inch, 2017) - High Sierra が手元にやってきました。 pic.twitter.com/ke6Kpe2iNQ— バトルプログラマー柴田智也 (@tomoya_shibata) December 23, 2017 pic.twitter.com/NhljH44yuy— バトルプログラマー柴田智也 (@tomoya_shib…

株式会社アニメイトラボを退職します

バトルプログラマー柴田智也です。 この度、2017年12月31日付けで株式会社アニメイトラボを退職する運びとなりました。 本日12月22日が最終出社日でした。 www.animatelab.com なにしてたの 「アニメイトタイムズ」というメディア系サービスの WEB 開発、そ…

見ているページの Markdown 用リンクを生成する Google Chrome 拡張「Markdown link generator for Chrome」を公開しました

chrome.google.com こんなのあったらいいなあって自分用に作りましたが、よかったらみなさんも使ってみてください。 README.md や esa.io で記事を書くときにきっとお役立ちだと思います。 開発リポジトリの GitHub はこちらになります。 github.com モチベ…

Twitter で私が凍結されたらこの Gist を確認してください

Twitter で私が凍結されたらこの Gist を確認してください

原子番号から元素情報を参照する CUI ツール「chemi」を作った

日々生活している中で、とっさに原子番号から元素の名前を引きたいというときがよくあると思います。 例えばこういった場面です。 腹が原子番号 2 になったので何か食べよう— バトルプログラマー柴田智也@少女終末旅行 (@tomoya_shibata) October 4, 2017 理…

WPF の TextBlock 内に画像を含める方法

TextBlock の中身を少し工夫するとき、たいていのケースでは Run を利用すると思います。 ただ、画像を含めたい場合にはそういうわけにはいきません。 そういうシーンはそんなにないのでは? と思いきや、WPF でカラーの絵文字を表示したいというときには、…

フレスさんの新作抱き枕「ウィズアクア」テスター品の感想

去る8月31日、大阪・箕面の昇華プリント工場フレス株式会社さんが開発する抱き枕本体「ウィズアクア」のテスター募集についての告知がありました。 【新商品発表/テスター募集】抱き枕本体として、新商品「ウィズアクア」を発売します。インビスタ社のダクロ…

goquery に http.PostForm の結果を食わせるだけの話

go

メモ。 github.com Go で html に対してスクレイピングを行うには jQuery ライクに探索できる goquery が便利だと伺ったので使ってみることに。 標準ライブラリの http.GET() に相当するものはgoquery.NewDocument() だけれど、今回使いたかった http.PostFo…

状態管理ライブラリ MobX の具合を知りたかったので TypeScript で React と組み合わせてシンプルな Timer を書いた

MobX なるものに興味を持ったので、動きを掴むために。 MobX は、曰く「簡潔でスケーラブルな状態管理イブラリ」。 少し調べてみたところ、まだまだ国内での情報は少ない様子。 github.com MobX による状態管理が一体どういう具合なのか知りたかったので、実…

mastodon クライアント Shibadoon β ver 0.2.0 をリリースしました!

Shibadoon β ver 0.2.0 をリリースしました! 基本機能の強化 永らくお待たせしていました。 以下の基本的な機能を実装いたしました。 トゥートの投稿(画像 / 動画付き投稿は未対応) トゥートの詳細画面 アカウントの詳細画面 フォローの登録 / 解除 NSFW …

Shibadoon β ver 0.1.0 をリリースしました!

Shibadoon β ver 0.1.0 をリリースしました! 0.1.0 ではタイムラインに流れてきた画像が見られるようになりました。 mastodon クライアント Shibadoon β ver 0.1.0 で画像が快適に見られるようになるぞ--- pic.twitter.com/4ZQSc3PLEn— バトルプログラマ…

mastodon クライアント Shibadoon β をリリースしました

あなたの mastodon 生活をより便利にする mastodon クライアント Shibadoon β をリリースしました。120円です。β のくせに。 こだわってるといつまでたっても出せないという天の声を聞いたので、とりあえず出すことにしました。 ので、「様々なことを理解で…

CA.apk #2 に行ってきました

きたよ! #ca_apk pic.twitter.com/JvwbM1behq— バトルプログラマー柴田智也 (@tomoya_shibata) 2017年4月20日 CA.apk とは サイバーエージェントのメディアサービスを担当しているAndroidエンジニアによる勉強会です。 今回はじめての参加でした。 CA.apk #…

GitHub の色が鮮やかになったので元に戻す CSS を作った

ガバッしたら GitHub の色がぶわってなってモニター壊れたか設定でも狂ったかと思ったけど Twitter 見てどうもそういうわけじゃないと把握した。 変更前に GitHub のページを開いていたからその変更前後の比較画像を手に入られる状態にあった。ので以下がそ…

明日から git blame と打たないために #ポエム

TL;DR こうする。 $ alias gitboku='git blame' alias 名は適当だから好きなようにしてほしい。 余談 blame の意味を辞書で引いてみたことはあるだろうか。 あまり良い気持ちにならないのだけれど、Weblio での解説を見てみよう。 ejje.weblio.jp ぼくは git…

ES2015 Arrow functions で Object を返却するとき return の記述を省略する #JavaScript

結論あるいは動くコード const setThemeName = (themeName) => ({ type: 'SET_THEME', themeName: themeName }) ↑ が出来上がるまで Object を返却するメソッドを書くとき、例えば次のようなコードを書きます。 const setThemeName = (themeName) => { retur…

Kotlin x RxJava x FragmentPagerAdapter で Subscription を適切に管理する #Android #Kotlin

結論 RxJava で Subscription が帰ってくる処理を書くときは CompositeSubscription に集めて unsubscribe (購読解除)しましょう。 unsubscribe(購読解除)した CompositeSubscription を再利用したいときは、新しいインスタンスが必要になります。 今回…

Kotlin で Android-ObservableScrollView を利用したら IllegalArgumentException に遭遇した話 #Android #Kotlin

Android-ObservableScrollView という、パララックスなスクロール UI を実現するためのライブラリがあります。 github.com このライブラリを利用して、ObservableScrollViewCallbacks を継承した Activity(Kotlin で定義)を作ると、画面をタップしたときに…

1999年 小4~2016年 現在までのハマったコンテンツをまとめた

一身上の都合で人生でハマったコンテンツをまとめる機会があったので、まとめてみることにした。 アニメについては複数シーズンに跨がった物まで列挙すると大量になるので省略している。 ただし、スピンオフや製作会社変更などについては除外した。 年とその…

Color.parseColor に短縮形の16進数カラーコードが食わせられなかったのでカラーコードを正規化するコード書いた #Android #Kotlin

Layout や Widget に対して背景や文字列の着色をしようとした場面で # から始まる短縮形16進数カラーコード(#333 とか #fff)を Color.parseColor に食わせた結果を設定したのだが色が付くどころか文字列すら表示されなくなってアレって思ってログ見たっけ …

Android Activity Transitions で java.lang.IllegalStateException エラー沼に嵌まった話

結論 遷移先でも遷移元でもスクロール要素(RecyclerView や ScrollView など)の中の要素に android:transitionName を設定しているのならば、スクロール要素 には android:transitionGroup="true" を設定していないと稀に良くしぬ CoordinatorLayout と Ne…

Google の Espresso を使おうとしたら Conflict with dependency エラーが起きたので解決した話

Google の UI テストツール Espresso を利用する場合に build.gradle に記述するべき内容は以下のように提示されています。(2016年6月25日時点のもの) androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1' developer.android.com…

ES2015 以降で React 書くなら form 部品での onChange で setState するのもう全部これでいいんじゃないかなあ

という雑な感想。 gist.github.com developer.mozilla.org ↑ を定義したら、JSX で input なり select の onChange 属性 で指定してあげるといい感じだねって寸法です。見て分かるとおり、name 属性 を定義しておくって一手間が必要だけど。 はてなブログは …

ThinkPad T460s が届くまでの流れ

ねんがんの T460s を てにいれたぞ! デェェェェェェェン pic.twitter.com/4jM2AIGUcW— バトルプログラマー柴田智也 (@tomoya_shibata) 2016年3月19日 ウォー pic.twitter.com/wNgyTWTcs5— バトルプログラマー柴田智也 (@tomoya_shibata) 2016年3月19日 T460s は残念な…

退職します

3月末日をもって現在の会社から退職する運びとなりました。 退職に至る具体的な経緯については言及を避けさせていただきます。 状況としては円満退社となりました。 重ねて申し上げさせていただきますが、円満退社となりました。 それと、慣例のようですので…