あみだくじを罫線で書く

実際に罫線で書いてみる。


┃┃┃┃┃┃┃┃┃┃┃┃┃┃┃┃┃┃┃┃
┃┣┫┃┃┃┃┃┣┫┣┫┃┃┃┃┃┣┫┃
┣┫┣┫┃┃┃┃┣┫┣┫┣┫┃┣┫┃┣┫
┃┃┃┃┃┃┃┃┣┫┃┃┃┃┃┃┃┃┣┫
┣┫┣┫┣┫┣┫┣┫┣┫┣┫┣┫┣┫┣┫
┃┃┃┣┫┃┃┃┃┃┣┫┃┣┫┃┃┣┫┃
┃┃┃┃┣┫┃┃┃┣┫┃┃┃┃┃┣┫┃┃
┃┣┫┃┃┃┣┫┃┃┃┃┃┣┫┃┃┣┫┃
┣┫┣┫┃┃┣┫┃┃┃┣┫┣┫┃┃┃┃┃
┣┫┃┃┃┃┃┣┫┃┃┃┃┃┃┃┃┣┫┃

書いてみて分かるのは、

「┣┫」と「┃」

の二種類の文字列の組み合わせだけで構成されているということ。

Kotlinで。


val n = 20
val l = 10

repeat(l) {
  val ch = (0..n/2).shuffled().first()
  val ci = n - (ch * 2)
  val h = List(ch) { "┣┫" }
  val i = List(ci) { "┃" }
  val a = h.plus(i).shuffled()
  println(a.joinToString(""))
}

一つの「きまりごと」を発見するとコードは劇的に短くなる。

分岐がないコードはスッキリする。

Kotlin で FizzBuzz


本物「Jake Wharthon」さん、偽物「Jake Whaarton」になりすます

jitpack で配布しているライブラリに不必要な怪しい通信処理を入れて

Bintray -> jcenter() 経由で同じアーティファクトidで配布してる「Jake Whaarton」さん。

これは、神と呼ばれるJakeWarthonさんの偽物です。

Jake Wharthon → 本物
Jake Whaarton → 偽物

少し話題になってましたね。

A Confusing Dependency

A Confusing Dependency : androiddev

すると、本物JakeさんのTwitterが!!

Jake Whaarton(@JakeWharton)さん | Twitter

なりすましてます、本物が偽物に。

この話を、解説しています。

アーティファクトの整合性の話は別にして、jcenter() を常に最後に置くだけでなく、mavenCentral() をそれらの前に置くことも必要です。
JCenter と Bintray は、信頼できるアーティファクトホストではありません。理想的なのはそれらから何も取得しないことです。

上から読んでいくリポジトリ群指定の最下位にオープンすぎる jcenter() を置くべし、と言っています。


repositories {

  //...
  mavenCentral()
  jcenter()
}

しかし、ワロタ。

android - Why does the Google maven repository exist and when should I use it? - Stack Overflow

Gradleが参照するリポジトリの優先順位について - Qiita


NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion とかでた。

[Developer Preview Android P] NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion; inside of com.google.android.gms [79478779] - Visible to Public - Issue Tracker

If your app is targeting API level 28 (Android 9.0) or above, you must include the following declaration within the element of AndroidManifest.xml.

対策は以下。AndroidManifest.xml。


<application ...
  ....
  <uses-library
      android:name="org.apache.http.legacy"
      android:required="false" />

Project Configuration  |  Maps SDK for Android  |  Google Developers

今回は、GoogleMap SDK vs API-28(9.0/Pie) だったけど、他でも出そうで、使えそう。