【Android】Kotlin/KodeinではじめてのDI

Kotlin/Kodeinを用いてはじめてのDIをしてみましょう 初めてDIに触れる人を対象読者としています。Kodeinの詳細な実装については解説しておりません。 DIとはなにか、なにがありがたいのか DIとはDipendency Injectionの略で、日本語だと依存性注入と言われ…

【GAE/Go】 'ImportError: cannot import name goroots' の対処

こんにちは。 GAE/Go開発している最中にふとappengine sdkのアップデートをしました。 $ gcloud components update これでappengine sdk含め諸々のアップデートがなされたわけですが、この直後から goapp コマンドでエラーが出るようになりました。 ➜ goapp …

【Ubuntu】自宅のマシンにssh接続して開発するためのセットアップメモ

自宅マシンに外出先からssh接続して開発を行おうと思い、サーバ・クライアントをセットアップしました。 この記事はLAN内でクライアントからサーバにssh接続するまでのメモです。WANから自宅LANにつなぐための、ルータやDNSの設定等の話はしていません。 参…

【Haskell】Stringの連結でハマった

ここ数日、「すごいHaskell楽しく学ぼう!」でHaskellしてます。関数型プログラミングを勉強してみたかった。 第4章を少し進めて再帰の考え方がわかってきたため、復習としてFizzBuzzを。 fizzbuzz :: Int -> [String] fizzbuzz n | n < 1 = [] fizzbuzz n =…

【Retrofit2】jsonschema2pojoがUnexpected character was〜する

pojo変換用のclassをjsonschema2pojoにレスポンスをコピペして作るわけですが、ぼくの環境だとどうも There's a problem: Unexpected character ('m' (code 109)): was expecting double-quote to start field name (line 2, column 2) とエラーが出てしまい…

【Android Studio】Api keyを始めとしたgit管理したくない定数を環境変数で管理する

Api keyやGoogle AnalyticsのトラッキングIDなんかは、ハードコーディングしてgithub等でオープンにするのが好ましくないですよね。 そこでOS Xの環境変数にそれらを登録しておき、Android Studioのビルドの際に参照するようにして回避しましょう。 OS Xの環…

【Jenkins】Ubuntu16.04にjenkinsをインストールする

多くがQiitaや他の技術ブログのコピペになってしまいますが、Ubuntu16.04にセットアップした話は見かけなかったのでここに残します。 JDKのインストール $sudo add-apt-repository ppa:webupd8team/java $sudo apt-get update $sudo apt-get install oracle-…

【Android】EspressoでUIテストの準備

build.gradleに以下を追記 // defaultConfig testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" // dependencies androidTestCompile 'com.android.support.test:runner:0.3' androidTestCompile 'com.android.support.test:rule…

【Cloud 9】インサートモードから抜けられない?

Cloud9のkeyboard modeをvimにしましたが、インサートモードから抜けられず困りました。 もしchromeを使っていて、さらにvimiumをインストールしている場合、エスケープの入力がすべてそちらにいっている可能性があります。 vimiumのoptionからcloud9を弾く…

【Android Studio】ライブラリがFailed to resolve ...で更新できない

ここ最近、いくつかAndroid向けにライブラリをつくってはbintray、jcenterを使って公開しています。 しかしライブラリの更新をjcenterの方に登録してから、自身のアプリでdependenciesの書き換えをおこないgradle syncをするとFailed to resolve ...とのエラ…