Translate

BTemplates.com

Powered by Blogger.

2017年10月31日火曜日

2017-10-31 到達点メモ


Timer関数はJavaで元々用意されているが、Kotlinではそれを拡張された関数がある
参考サイト:Extensions for java.util.Timer

昔、Timerを使っていたような気がしてふと過去の日記を見直してみたのだが
2017-09-05 到達点メモによると、CountDownTimerを採用していただけであって
そもそもTimerを使っていなかった。

また、2017-09-06 到達点メモによると、そもそも公式ドキュメントに
タイムアウトのような通常のタイミング操作ではHandlerの方が楽だと書いてあったので
多分そっちを採用したのだと思われる。

ざっと、Kotlinの公式リファレンスを見た限りだとそこまでTimerを使うのは難しくなさそうなので、これから使うのであれば下手にHandlerを使うよりはこっちのほうが楽かもしれない。

落とし穴がありそうなのが少し怖い所だ。

高階関数というのがあるらしい。
関数を引数とする関数のことだそうだ。

で、色々調べたところ、部分適応やカリー化という概念があるらしい。
読んでみたがいまいち必要性と理解がしきれない。
とりあえず、部分適応とカリー化は混同されやすい。
そして、そういう言葉があったという事がだけ認識しておこう
参考サイト:食べられないほうのカリー化入門
参考サイト:JavaScriptのカリー化について味見してみる
参考サイト:カリー化、部分適用、クロージャという間違いやすい三種についての簡単なメモ書き

途中で集中が切れたので今日はここまで

2017年10月30日月曜日

ApplivでVoiceTimerのアプリレビューが掲載されました。



ApplivへVoiceTimerのアプリレビューの依頼をしまして、無事掲載されましたので
レビュー内容を紹介します。
よかったら、ぜひ読んでみて下さい。

https://android.app-liv.jp/004620518/

今回レビューを依頼するのは初めてですが
依頼した時に返事がすぐに帰ってきたので
返事を貰った時は結構うれしかったです。

また、レビューの内容も聞き忘れないように音量は最大化にしておこう
ぐらいにしか思っていなかったので
それが原因で家以外では使いにくいという部分は
自分の視点では抜け落ちていた部分がでした。
そういう部分でも大変参考になりました。

Appliv様、レビューの掲載ありがとうございました。
また機会があればよろしくお願いします。


2017年10月28日土曜日

2017-10-28 到達点メモ


AndroidStudioを2.3から3.0にアップデートした際に本来フォルダ名がresのところをresourceになっている時がある。その場合はGradle自体が古い可能性があるので、それをアップデートすること。

選択して Ctrl + / で選択した部分をコメントアウトすることができる。
参考サイト:Android Studioでのコメントアウトの方法を知りたい
参考サイト:Android Studioでの選択範囲のコメント化とコメント化解除方法

nullableで呼び出した場合、3通りの対応をすることができる

一つは、安全呼び出し

val num: Int? = 1
println(num?.toString())

また、以下のような書き方でもコンパイルが通る。

val num: Int? = 1
println("aaa" + num?.toString())

また、以下のように変数がnullの場合でも、コンパイルは通るが
結果は、『aaanull』になるため、多分良い書き方ではない。

 val num: Int? = null
 println("aaa" + num?.toString())

また、単純に変数の後ろに?をつけてもnullableが解除されるわけではないらしいので
以下のような書き方だと普通にコンパイルエラーが出る

  val num: Int? = 1
  val result: Int = 1 + num?
  println(result.toString())

二つ目は、エルビス演算子です。
nullの時に返す値を指定できます。

変数のみで判別したい場合は以下のように書きます
この際に括弧を忘れると、AAA:nullと表示されるため注意が必要です。
val test: String? = null
val result_string = "AAA:"+ (test ?: "null_string")
println(result_string)


また、変数に付属する関数の返り値がnullかどうかを見たい場合は、以下のように書きます
val num: Int? = null
val result: Int = 1 + (num?.toString() ?: "666").toInt()
println(result.toString())

エルビス演算子は、左側の変数がnullableであることを前提にしてあるので
それ以外の場合だとwarningが出ます

nullを出すこと自体が推奨されないことを考えると
基本はエルビス演算子でnullの値を明示的に指定するべきだと思います。


三つ目は、!!演算子です。

nullableの後ろに!!を付けます。
具体例は以下の通りです

   val num: Int? = 1
   val result: Int = 1 + num!!
   println(result.toString())

これを使うと一番楽ではあるのですが、
そもそもの目的を考えると基本は避けたほうがいいと思います。


参考サイト:Kotlin Null Safetyについて知ろう
参考サイト:【学習kotlinシリーズ】安全呼び出し
参考サイト:最初に押さえておきたいKotlin言語仕様

Runをしようとして以下のようなエラー文が出た場合、
AndroidStudioを一度落として再度立ち上げて、Build->Clean Project
Build->Rebuild Projectをして再度Runをすればうまくいく
*再度立ち上げた後は、Build->Rebuild Projectだけでいいかもしれない

Error:Could not read path (中略)\app\build\intermediates\transforms\instantRunSlicer\debug\(以下省略)

参考サイト:Error:Execution failed for task ':app:processDebugResources'. > java.io.IOException: Could not delete folder “” in android studio

AndroidStudio3.0から、Gradleでapply plugin: 'kotlin-android-extensions'と宣言し、Activiyを使用するktファイルでimport kotlinx.android.synthetic.main.activity_main.*という風な宣言をする必要がなくなった。ただし、自動で生成しないと書かれないのでそこは注意すること

疲れたので今日はここまで


リーチ数が1千万以上の言語一覧


前回の記事で、リーチ数と言語使用者の割合みたいなのも調査したい。と書きましたが、冷静に考えてどちらかというと割合よりは実数を知ったほうが有効なのではと思ったので、そちらに調べる事にしました。

ちなみにリーチ数が1千万以上と定義したのは、1000人に1人に受け入れられるものを作れば1万になります。それを踏まえて10か国に受けられれば、10万ダウンロードはいけるのではと思ったからです。

リーチ数はAdwordsの広告表示を参考にし、Wikiの各国の公用語と
ネイティブスピーカーの数が多い言語の一覧 を基に算出しました。
なお、この際に全部の国のリーチ数を調べている訳でもなく(特に英語)
また、二つ以上ある公用語がある国は一部懇意的に一つに選択しているため、
厳密な値が出ているわけではないことを予め断っておきます。

順位言語名リーチ数
1英語405,406,779
2ヒンディー語179,093,278
3スペイン語135,585,871
4ポルトガル語119,309,849
5インドネシア語79,228,530
6日本語57,860,698
7ロシア語57,027,569
8ドイツ語55,144,370
9フランス語53,828,930
10トルコ語42,278,733
11イタリア語41,684,223
12タイ語34,290,479
13ベトナム語31,000,711
14オランダ語27,874,513
15朝鮮語26,954,362
16中国語24,495,896
17アラビア語24,388,117
18ポーランド語20,747,390
19フィリピン語(タガログ語)19,903,314
20マレー語19,878,128
21ウクライナ語13,588,617
22ルーマニア語10,697,576

大体こんな感じになります。
*2017/11/03修正。フィリピン語を追加。
参照元のwikiではフィリピン語がなく、タガログ語になっていた。
言語コードのISO 639-1では、どちらも同じtlになっていたので
少なくともAndroid上では同じ言語として扱ってよいと思う。

今回は範囲外ですが、100万台も含めるのであれば、この後にギリシア語、ベンガル語、チェコ語、タミル語、ネパール語、アゼルバイジャン語、ラーオ語となっています。
自分にとって意外にリーチ数が多いと感じたのは、スペイン語、ポルトガル語、インドネシア語だったりします。

また、自分が調査した範囲内でのリーチ数の合計が15億弱(実際はもっといると思われる。あと、一億ぐらい増えるかも)だったので、世界の人口が70億という事を考えると、5人に1人は利用していることになるので結構利用者はいると感じました。

ネイティブスピーカーの数が多い言語を基にリーチ数の実数の調査結果を書きました

2017年10月23日月曜日

人口数トップ30の国別Androidのリーチ数


AdWordsで宣伝用の広告の設定をしていたら、
国によってリーチの数が違う事に気が付いたので自身のメモ用にまとめ。
自分もリーチの意味はいまいちよくわかっていないのですが
高ければ高いほどユーザーが多いため、広告の効果が上がりやすい位に考えています。

まずは、人口の多い順をもとに実際のリーチ数と比べてみたいと思います
*2017年10月23日現在
参考サイト:国の人口順リスト(wiki)


順位国名言語人口数リーチ数
中華人民共和国中国語1,349,335,1526,395,268
インドヒンディー語1,224,514,327179,093,278
アメリカ合衆国英語314,551,246270,727,941
インドネシアインドネシア語239,870,93779,228,530
ブラジルポルトガル語194,946,470119,309,849
パキスタン国語はウルドゥー語。
公用語は英語
173,593,38314,426,031
ナイジェリア英語158,423,1826,104,373
バングラデシュベンガル語148,692,1316,432,421
ロシアロシア語142,958,16457,027,569
10日本日本語126,535,92057,860,698
11メキシコ事実上スペイン語113,423,04762,234,671
12フィリピンフィリピン語、英語92,337,85219,903,314
13ベトナムベトナム語87,848,44531,000,711
14エチオピア 事実上アムハラ語82,949,541410,810
15ドイツドイツ語82,302,46555,144,370
16エジプト アラビア語82,121,07717,311,778
17イランペルシア語73,973,630不明
18トルコトルコ語72,752,32542,278,733
19タイタイ語69,122,23434,290,479
20コンゴ民主共和国フランス語65,965,795310,105
21フランスフランス語65,476,48647,156,968
22イギリス英語62,512,23250,667,416
23イタリアイタリア語60,550,84841,684,223
24南アフリカ共和国アフリカーンス語、
英語、
バントゥー諸語9言語
50,132,81712,309,907
25大韓民国韓国語48,183,58426,954,362
26ミャンマービルマ語47,963,0121,865,287
27コロンビアスペイン語46,294,84122,534,86
28スペインスペイン語46,076,98939,517,024
29ウクライナウクライナ語45,448,32913,588,617
30タンザニアスワヒリ語44,841,2261,622,913
番外
34ポーランドポーランド語38,276,66020,747,390
36カナダ英語、フランス語34,016,59328,287,336
50中華民国(台湾)中華民国国語23,440,27818,100,628
52オーストラリア英語22,268,38415,855,218
73ギリシャギリシャ語11,359,3467,166,961
94スイスドイツ語(スイスドイツ語)、
フランス語、イタリア語、
ロマンシュ語
7,664,3186,361,857

中国語は、GooglePlayを現在サポートしていないのでリーチ数が低いのは
想定していましたが、他の国でも極端に低い国が多いので
人口は目安程度で参考にした方がよさそうです。

じっと数字を見ていたら、ブラジルが1億で日本が5000万で怪しく思えたのでちょっとググってみたところ、MM総研によると2015年3月末のスマートフォンの契約数が6,850万件との事でしたので、会社携帯や二台持ちや契約数にiPhoneも含まれていることを考えるとそんなにおかしい数字ではないようです。
下手すると日本語でリリースするよりポルトガル語でリリースしたほうがダウンロードされるかも……。


人口から調べるのではなく、主要言語一覧から該当する国を調べていった方が早かったかもしれないですが、例を挙げると主要言語では中国語と書かれていても、実際は複数の言語が公用語だったり、別の言語だったりするのであまり鵜呑みには出来ません。

まぁ、wikiの内容をそもそも鵜呑みにするものではないと言われればそれまでですが……

ありきたりな結論ですが、なんだかんだ言って中国語を除けば英語が一番多いので迷ったらとりあえず英語で記述するのはありだと思います。
ただ、なんだかんだ言って下手な英語と下手な母国語なら、母国語を選ぶ人が多いと私は思っているので、労力と費用対効果を相談しつつ基本は母国語で対応したほうがいいと思っています。

そのうち、リーチ数と言語使用者の割合みたいなのも調査したい。

些細な話ですが、日本は法令によって公用語が規定されていないらしいので
日本に公用語はなく、日本語は飽くまで事実上の公用語らしいです。


2017年10月22日日曜日

2017-10-22 到達点メモ


以前の続き
【Kotlin】ゼロからはじめる一番やさしいAndroidアプリ開発入門<初めてのアプリ作成からリリースまで>[初級]

◆Kotlin

・Kotlinにおいてget/setter/イニシャライズは必須ではない。プロパティを呼び出して受け取る。
恐らく、変数だけの呼び出しや引数が10以上は0を代入するというようなメソッドを作って呼び出すことは想定していない。それはおそらくget/setterを使うべき
参考サイト:プロパティとフィールド

・nullは基本許容しない。そのため、nullが発生する可能性が有る場合、Kotlinで用意された関数の返り値でnullを許容する型で返る場合がある。また、nullを許容する型とnullを許容しない型は同じように見えて違う型の為、代入するとエラーになる。(例:Int,Int?は同じ整数を扱うが、代入するとエラーになる。)
そういえば、swiftでも似たような(というかほぼ同じ?)のがあったな
参考サイト:基本の型
参考サイト:【!ってなんだ】KotlinとJava、nullとPlatformType【NullableにNotNull】
参考サイト:JavaプログラマがKotlinでつまづきがちなところ#Null Safety

・kotlinにswitch文はない。代わりにwhen文が使われ、且つ、最後にelseを使う必要がある。*勘違いでした。書かなくてもエラーになりません。
参考サイト:逆引きKotlin-switchみたいな条件分岐がしたい

力尽きたので今日はここまで

AQUOS eaでアプリのタイトルの文字数の表示制限を調べてみた


とあるudemyの講座でアプリ一覧なら全角七文字は表示されるという話が
あったのですが(実際に表示されているのは動画で確認している)、
自分のスマホだと省略されたのでまず自分のスマホでは
どうなるのかと思い検証してみました。

検証端末:AQUOS ea(バージョン:Android7.0)

調査した画面は、アプリ一覧、Home画面、フォルダの三つです。
全角と半角でそれぞれ調べました。

◆全角
文字数とタイトル名フォルダHome画面アプリ一覧
全角五文字:あいうえお
全角五文字+半角一文字:あいうえおa×(あいうえ..)
全角六文字:あいうえおか×(あいうえ..)×(あいうえお..)
全角六文字+半角一文字:あいうえおかa×(あいうえ..)×(あいうえお..)×(あいうえお..)
全角七文字:あいうえおかき×(あいうえ..)×(あいうえお..)×(あいうえお..)

◆半角
文字数とタイトル名フォルダHome画面アプリ一覧
半角10文字:AbcdeFghij
半角11文字:AbcdeFghijK×(AbcdeFghi..)
半角12文字:AbcdeFghijKl×(AbcdeFghi..)
半角13文字:AbcdeFghijKlm×(AbcdeFghi..)×(AbcdeFghij..)×(AbcdeFghij..)

結論としては、AQUOS ea(バージョン:Android7.0)に限って言えば
全角は5文字。半角は10文字でアプリのタイトル名を抑えると省略されないので
一目でわかりやすくなるのではないでしょうか?

2017年10月21日土曜日

2017-10-21 到達点メモ


以前の続き
初めてのUnity(ユニティ)~初心者のための超入門講座~
【Kotlin】ゼロからはじめる一番やさしいAndroidアプリ開発入門<初めてのアプリ作成からリリースまで>[初級]

◆Blender

押し出しなどで点を選択したい場合は、右クリックをして選択する。


◆終わったので講座の感想

幅広く内容をフォローしているが、初心者を対象と言っておきながら
画面の設定が初期段階と違うのに説明がされてなかったり
そもそも一部見にくかったり、最初に説明すれば無駄に混乱しないのにそうしなかったりと解説講座としては正直作りが甘い。
あと、最後のUnity用語集の説明画面はもうちょっとどうにかならなかったのか?
ただコピペで張った内容しゃべるのだったら、わざわざ講座としてやる意味が無いのでは?
その為、五段階評価で3は出せない。
また、この内容で1を出すのもおかしいので消去方法的に2になる。


◆AndroidStudio

右クリック→New→ActivityからでActivityを作れます。
……知らんかったわ。
Androidアプリをリリースした事がある人が
何で初心者みたいなことを書いているのだろうか……。




その後、作りたいActivityをクリックすると以下の画面がでるのですが



その際に、Activityの名前を変更するだけでレイアウト名も自動で変更されます。
また、アプリを立ち上げた際に最初に起動するActivityに変えたい場合は、
Lacncher Activityにチェックを入れると、変更できます
……知らんかったわ(二度目)
Androidアプリをリリースした事が(以下略)
orz

また、レイアウトの内容を見たい場合は、activity_×××.xmlを開いて
左下のタブのDesignをクリックして、下の画像の赤線で囲ったところをクリックします。




そうすると下の画像のようにウィンドウが出るので、好きなテーマを選んでクリックして
OKをクリックするとそれが適応されます。
余談ですが、AppThemeは自動生成でstyle.xmlで定義された名前です。



……知らんかったわ(三度目)
Androidアプリを(以下略)
本当にAndroidStudioを使いこなせていないorz

xmlのデザイン画面で、TableLayoutなどで複数のボタンや
複数のテキストビューを入れたい場合は
選択してコピーして貼り付けたほうが早い。
またコピー先は自動で連番にしてくれるので被る心配もない


◆Android

講座ではアプリ名は全角7文字だと表示されるとの事だったが
此方のスマホだとアプリ一覧では全角5文字までしか表示されない
フォルダの中だと4文字までになる。
ただし、ホーム画面では全角6文字なら全部表示されるが
全角7文字以上は、6文字以降は省略されていた。
スマホの仕様なのだろうか?
アルファベットだと、10文字目は検証していないが
ホーム画面とアプリ一覧では9文字まで表示される。
なお、私が使っているスマホはAQUOS eaで、バージョンが7.0です。

px,dp,sp
厳密には違うらしいが、pxが実際の大きさで、dpが画像でのスマホの大きさが違くても同じように表示されるように調整された単位で、spがdpの文字バージョンらしい。
正直、大きさはdpを使うぐらいの意識しかなかった。


疲れたので今日はここまで



2017年10月17日火曜日

2017-10-16 到達点メモ


以前の続き
初めてのUnity(ユニティ)~初心者のための超入門講座~
【Kotlin】ゼロからはじめる一番やさしいAndroidアプリ開発入門<初めてのアプリ作成からリリースまで>[初級]

◆Unity
スクリプトのエラーが出たときに、Unityの一番下にエラーメッセージが出ているので
そこをクリックするとコンソールが表示される。

ブレンダーの解説に入ったのでそれついて書く。
メタセコじゃダメなんだろうか?まぁ、みた感じアニメーションも付けられるみたいなのでフリーソフトでアニメーションもモデル制作も全部一つで完結させるならこれが楽ではあるとは思うが。
・基本は全部マウスで出来る雰囲気。オブジェクトを右クリックで、自由に移動でき、その状態でX軸、Y軸、Z軸のどれかに移動させた状態でホイールボタンをクリックをすると、その軸だけを動かせるようになる。Z軸を動かしたい場合は自由移動できる時に上に移動させた状態で、ホイールボタンをクリックすると、Z軸で動かせる

・オブジェクトを移動させたい場合は、右クリック。移動した場所に確定させたい場合は左クリック。確定前にキャンセルしたい場合は、右クリックを再度すればよい

・ホイールボタンを押し続けた状態だと、オブジェクトを回転させることができる。
*【ファイル】→【ユーザー設定】→【インターフェイス】→【選択範囲を中心に回転】にチェックを入れていないとおこなうことができない

・オブジェクトを回転させるのと、みる場所を回転して帰るのをごっちゃにしないようにしないといけない。

・シフトキーを押しながら、ホイールボタンを回すと視点を上下に変更移動、Ctrlを押しながらホイールボタンを回すと視点を左右に平行移動。
というか、基本操作は以下のサイトを見たほうがわかりやすい
参考サイト
【Blender】3Dビュー上での視点の移動・ズーム・回転


◆Kotlin

Kotlinの話ではないが、AndroidStudioで
button.setOnClickListener {soundPool.play(soundID_congra, 1.0f, 1.0f, 0, 0, 1.0f)}
のようなものにブレイクポイントを置こうとした場合、
button.setOnClickListener か{}か全てかで選択できることを初めて知った。

……恥ずかしながらまともにブレイクポイントを使わなかったので
起きた問題ではあるのでもうちょっと使っていきたい。

また、それとは別にLog.dで前からずっとTAG周りの設定の目的の意味と面倒さを感じていたので、調べたところ以下の手法を発見した

Android/Javaのログ出力を超シンプルにしてくれるlog(ライブラリの話。二年前から更新されていない)
Androidでクラスごとに、Log用の"final static String TAG = ..."を定義しなくていいようにしてみた(おまけあり)

Log.dのタグは、クラス名を表示するのが一般的らしい。

今日はここまで

2017年10月16日月曜日

2017-10-15 到達点メモ


VoiceTimerの対応言語でポルトガル語、フランス語、ドイツ語、スペイン語、ロシア語を追加してきました。

今回、よく考えたらYoutubeの方もアップロードしていたのでその対応も考えると割と手間がかかりました

ただ、最初の頃は言語ごとに動画を作っていたので、字幕で対応するようにしたのは
結構正解だったと思っています。
ただ、字幕データをそのままGoogle翻訳すると字幕の表示時間も変に翻訳してしまうので
そこの対応が面倒でした。

あと、字幕の動作確認をしていて思ったのですが
今公開している動画は、開発者向けオプションにあるタップを表示で視覚表示をするようにしているのですが、背景が白い部分だと小さい画面なら特に見にくい感じになります。
動画を見ている人が必ずしもパソコンでないことを考えると
寧ろ、Androidで見ている人が多い可能性が高いと思われるので
タップの視覚表示の色を白以外に変えられると便利そうだと思いました。

他の事をやっていたら時間が無くなったので

今日はここまで。

2017年10月14日土曜日

2017-10-14 到達点メモ


今日はローカライズの修正とローカライズした画像を制作している。
今更ながらの話であるが、
Nexus 7 の7の意味って7インチって意味であることに今更ながらに気が付いた。

9インチサイズでデザインが崩れていたので
(そもそも最初は9インチでテストしていたこと自体に気が付いていなかった。)
調べたところ、どうも9インチと10インチはsw720だと区別をすることができなかった。
今回はやらないが、参考サイトのdp解像度を見た感じだとsw800なら
区別をつけることができるかもしれない。
正直な所、そこまでちょっと労力は割きたくない。

ローカライズをする際に、GooglePlayで操作画面のキャプチャー用の画像を
制作したい場合はエミュレーターで作ったほうが便利だ。
実機だと、保存→別アプリを立ち上げて写真の選択→送る→ダウンロードという手順を踏まないといけないため、大変手間がかかる。
一方で、エミュレーターならカメラボタンを押せば、設定した場所にファイルが保存されるのですぐに取り掛かることができる。

また、ローカライズの切り替えは、Android7.0以上が便利。
一度選択した言語はAndroidの方で覚えてくれるため、
切り替える度にわざわざ探す必要がない。

大体できた気がするが、今日は気力が尽きたのでここまで。


2017-10-13 到達点メモ


最近、投稿こそはしていないが実はちょこちょこudemyで勉強していたが
まともに記録とかしていなかったので中途半端ではあるが
今日からちゃんと記録に残そうかと思う。

具体的には、現在以下の二つの講座を受けている
初めてのUnity(ユニティ)~初心者のための超入門講座~
【Kotlin】ゼロからはじめる一番やさしいAndroidアプリ開発入門<初めてのアプリ作成からリリースまで>[初級]

◆Unity
unityroomに初回登録した際に
WebGL設定でUnityのバージョンが現行のUnityのバージョンとあっているか確認する
自分の場合は、初期設定が5.4.x以下になっており
その為、アップロードするファイルが違って設定に手間取った。
5.4.x以下と2017.1.xだと出力するファイルが全く違うので注意する必要がある

メニュー画面からAsset→ImportPackage→Environmentを選択した場合、初回はダウンロードが必要になる
多分、初回はImportPackageを選択すると全部インストールが必要になりそう

プロジェクトの項目の右側に ▼三 みたいなボタンがあるので
それをクリックするとTwo Column layoutという項目が出るので
そいつをクリックしてあげると詳細の項目と
画像での項目の二種類が同時に見れるようになる。
項目の一覧を見つつ、どんなテクスチャーか確認したい場合に便利である。

FPSの設定をする際に、初期位置を地面の上に置かないと
FPSオブジェクト自体に重力設定が掛かっているようで、
FPSオブジェクトが下にひたすら落ちることになる。

この講座、受けるたびに思うけど説明が足りない。
後、講座の説明の順番がおかしい。チャプターの順番を
ちゃんと見ればわかるとはいえ
2Dの話をしたら、その次も2Dの話があると思うのだが、
いきなり前の3Dの話に戻るのはどうなのだろうか?
説明を聞けば、あぁ前の3Dの話だなと分かるが最初に少し混乱した。
正直、2Dの話が一回で終わるなら、最初に持ってくるか
最後に持ってくるかのどちらかでよかったと思う。

◆Kotlin

・差分プログラミング
一応単語としてはあるみたいだが、用語集みたいに載っているような言葉ではなかった。
一番しっくり来た参考サイトからそのまま引用させてもらうが、「スーパークラスからの違いだけを記述する方法」とのことだった。

・継承およびオーバーライド
Kotlinで継承もしくはオーバーライドする場合は、
openをつける必要があり、デフォルトだと禁止らしい

参考サイト
Kotlin文法 - クラス、継承、プロパティ

ネットの海に漂っていたら勉強方法をメモしていたのを見つけたので
こっちの方も手を出してみたい。

もうちょっと進めておきたいが
そろそろ寝ないといけないので今日はここまで。