u-ryo's blog

various information for coding...

Test Failed on AndroidStudio

| Comments

Android Studio(2.3.1)で久し振りにtestを動かしてみると、

1
Caused by: java.lang.ClassNotFoundException: android.view.View$OnClickListener

と言われて動かなくなりました。 instrumentation testではなくフツーのtestですjunit4とmockitoの。 java.lang.NoClassDefFoundError:android and junit testを見付けて、えーとか思いつつもやってみたら、確かに直りました。

1
$ rm -rf .gradle

追記

projectをcleanした後、いくらbuildしても「databinding classが見つからない」と言われて困った時にも効きました。

BotUI - ChatBot Only by JavaScript

| Comments

paiza開発日誌で紹介されていたBotUI、なるほど予め型にはまった会話ならこれだけでお手軽にJavaScriptだけで(.then(function(){...})で繋ぐだけで)出来ちゃうんですね。注文を取るとか、特定のAPI叩く(Wizardを会話でやる)とか、サポートセンターで特定の電話番号につなぐとか。AIは使ってないので、user側の曖昧な自然言語を受け取って処理する、というものではないですけど、そういうのに繋げればいい? いや、IBMのWatsonとかみると、そういう会話のplatformも含めて提供しているので、そうなるとBotUIの出番は無い筈。 Git Repositoriesの総数を答えるsampleは、公式のsamplesより面白かった(興味深かった)です。

S Rank of CodeIQ

| Comments

もう昨日のことですが、Paizaに続いてようやっとCodeIQでもSランク取りました

まぁ、u-ryoさんなら当然だよね、とか言われておしまいでしょうけど。

Paizaにあった似た問題(←これで見ると失敗もありますが、これは最初に提出したcodeについてで、後でちゃんと全部通るようにしてます)からcode引っ張ってきて、でも勿論そのままでは使えなくて。土曜未明の一晩で終えるつもりが、間にバイトやmachine troubleを挟んで日曜の午後までかかっちゃいました。ふと探してみると、まんまのcodeがあるのにはびっくり。流石にそのままっていうのは癪なので、「直前の方向を使う」というideaと検算にだけありがたく使わせてもらいました。 探索順の違いによるエラーをなかなか潰せなくて。そっか全探索なのね、そのためには... BFSではなくDFSか、と辿って、あーそっか、その違いはstackかqueueかだけか、に最後の最後気付いてgoalでした。何か色々忘れてて、こういうのやり続けてないと錆び付いてたなーというのを思い知らされました。この手のalgorithm系は集中してやらないと!

コメント書きすぎでしょうか。でもまんまの置いてあるよりは遥かにマシかと。

Images in README.md on Github

| Comments

GithubREADME.mdにscreen shotとか画像を貼りたかったんですけど、どうしたものなんでしょう。説明用のimagesをsource codeと一緒に置いておくというのも何か野暮なので。幾つかやり方があるようです。

  1. image用の別branchを切る(e.g. https://github.com/cakecatz/garage)
  2. Githubのissueを利用する(GitHub Readme Images Tutorial (screenshots in readmes))
  3. Githubのwikiを利用する(GitHubに画像ファイルを保存してREADME.mdで表示する方法)

issueに画像をDrag and Dropすると、https://user-images.githubusercontent.com/... に自動的にuploadしてURLが得られるなんて知りませんでした。でもこれ、いつまで持っててくれるんでしょう、というのと、消したい時に消せるのかな? というのがあって。やっぱり自分でcontrol持っておきたいでしょう。(GitHubのissueを悪用して画像をホストする)

別branchを切ると、一旦画像以外全部消さないとならなくて、 何となくそれがちょっと嫌だったので、結局wikiを利用しました。 一度何でもいいのでWikiのpageを保存しないとならないみたいです。 一度保存しちゃえば、上記ページに書いてあるようにgit clone https://github.com/.../XXX.wikiで取ってこられて、images作って置けちゃうんですね。へー。

Gitignore

| Comments

前も書いたような気がしますけど、.gitignoregitignore.ioで。ここでgenerateしたものに置き換えてみたんですが、git statusはあんまり変わりませんでした。記述量は確かに増えていたので、良くはなっているんでしょう...

AndroidStudio用に引っ張ってきたんですけど、そのままだと.idea/kotlinc.xmlが入ってきてしまうようです。kotlinc.xmlはversion管理不要ですよね? 逆に、.idea/gradle.xmlはversion管理下に、という話がAndroid Studioのバージョン管理対象ファイルAndroid Studioでバージョン管理下に置かないもの第35回 バージョン管理 ─プロジェクト管理ファイルについて[後編]と出て来るんですが、gitignore.ioのfileではexplicitlyにignore対象なんですよね...

試してみると、特に.idea/が無くてもAndroid Projectとして開けますね。じゃ全部要らないのかな。