1 名前:デフォルトの名無しさん mailto:sage [2018/12/08(土) 20:29:41.41 ID:oXOQORcd.net] JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう ※前スレ https://mevius.5ch.net/test/read.cgi/tech/1531818027/
2 名前:デフォルトの名無しさん mailto:sage [2018/12/08(土) 20:32:31.24 ID:oXOQORcd.net] 公式サイト https://kotlinlang.org/ 公式ブログ https://blog.jetbrains.com/kotlin コードを貼れる所 rextester.com/l/kotlin_online_compiler オンラインコンパイラ https://ideone.com/ Google、KotlinをAndroidアプリ開発言語に選定 jp.techcrunch.com/2017/05/18/20170517google-makes-kotlin-a-first-class-language-for-writing-android-apps/ Library support for Kotlin coroutines https://github.com/Kotlin/kotlinx.coroutines
3 名前:デフォルトの名無しさん [2018/12/09(日) 14:57:10.33 ID:rgDJoSoN.net] O2
4 名前:デフォルトの名無しさん mailto:sage [2018/12/11(火) 17:55:58.71 ID:ZdF1Nxsw.net] c#でasnc/awaitを学んだから、そのノリでhogeAsync : Defered<Int>とか量産してたがこれclassic wayで駄目なんだ。 コルーチンムズいぞ。
5 名前:デフォルトの名無しさん mailto:sage [2018/12/11(火) 18:12:47.19 ID:ZdF1Nxsw.net] 今までクラス設計するとき、 class Hoge { fun action1(): Deferred<Int> { return GlobalScope.async() {} } fun cation2(): Deferred<String> {} } GlobalScopeなのはいずれどうにかしようととりあえず脇に置いといて、こう設計してたがダメっぽいな? 誰か詳しい人いないの?
6 名前:デフォルトの名無しさん mailto:sage [2018/12/11(火) 20:17:24.17 ID:6hR55q3c.net] class Hoge { suspend fun action1(): Int = coroutineScope { delay(2000) return@coroutineScope 1 } suspend fun cation2(): String = coroutineScope { delay(3000) return@coroutineScope "hoge" } }
7 名前:デフォルトの名無しさん mailto:sage [2018/12/11(火) 21:33:56.96 ID:m02gDU95.net] C#のasync = suspend って思っとけば大体おk
8 名前:デフォルトの名無しさん mailto:sage [2018/12/11(火) 21:59:01.90 ID:ZdF1Nxsw.net] async = suspendみたいのはだいたい分かるんだけど、>>6 みたく、suspend関数を大量に用意するのがkotlinスタイルらしいんだけど、 じゃ、クラス設計するとき、誰がコルーチンビルダーでコルーチン作るの?って悩んでて。 例えば、「ライブラリ」として分割するケースを考えてみるとして、まず、REST APIを内部でたたいて結果を返すライブラリを作るとき、 class WebService { suspend fun action1() suspend fun action2() } みたく、全部suspend関数として外部にpublicなAPIとして公開するの??
9 名前:デフォルトの名無しさん mailto:sage [2018/12/11(火) 22:05:51.76 ID:ZdF1Nxsw.net] で、例えば、更に上のライブラリを内部で使って、キャッシュ機能だとかを提供するライブラリを作るとき、 (androidアプリの開発で見るRepositoryパターン)みたいなライブラリを作るときも class Repository { suspend fun action1() { webServcie.action1()など} suspend fun action2() } で、やっぱsuspend関数を公開して、このライブラリを使ってつくるアプリで、 launch() { repo.action1() } でここでコルーチンビルダーを使う??みたいな感じ?
10 名前:デフォルトの名無しさん mailto:sage [2018/12/11(火) 22:13:49.36 ID:ZdF1Nxsw.net] ちなみに>>6 のcoroutineScope関数調べると、これ新しいスコープ作って呼び出し元からキャンセルできなくなるらしいから、キャンセルできるように するには class Hoge { suspend fun action1(): Int { delay(2000) return 1 } suspend fun cation2(): String { delay(3000) return "hoge" } } でいいってことだよね?
11 名前:デフォルトの名無しさん mailto:sage [2018/12/11(火) 23:19:00.56 ID:ZdF1Nxsw.net] https://youtu.be/9HUFo4WyDPI?t=2178 見てたら、例でcoroutineScope使ってたな。 英語何言ってるか全然わからねぇけどw Structured Concurrency云々。 >>6 は相当なプロフェッショナルと見た。
12 名前:デフォルトの名無しさん mailto:sage [2018/12/12(水) 12:16:15.38 ID:ehb+zc+O.net] つkotlinx
13 名前:デフォルトの名無しさん mailto:sage [2018/12/12(水) 13:12:24.30 ID:XfY7kHOC.net] Crystalのスレどこ?
14 名前:デフォルトの名無しさん mailto:sage [2018/12/12(水) 21:24:09.19 ID:jSpBUsB/.net] 非suspendも可能な場合に、suspend版と非suspend版を内部的に両方生成するオプションが欲しい Kotlin/JS使ってるとJavaScriptのasyncより書きやすい(await相当がデフォだから)けど それでももう一手欲しいところ
15 名前:デフォルトの名無しさん [2018/12/18(火) 21:12:59.14 ID:h6+jV75s.net] kotlinてJavaがなくてもwindowsとMacで動くの?
16 名前:デフォルトの名無しさん mailto:sage [2018/12/18(火) 21:34:52.63 ID:yrNJ9cJf.net] いけるいける
17 名前:デフォルトの名無しさん [2018/12/18(火) 22:25:09.54 ID:92SsvGE7.net] Kotlin Native なら、な。
18 名前:デフォルトの名無しさん mailto:sage [2018/12/19(水) 09:00:14.59 ID:PF0aHy1W.net] Kotlin/NativeならKotlinコンパイラもLLVMだけが必要でJavaいらないの?
19 名前:デフォルトの名無しさん mailto:sage [2018/12/19(水) 09:45:25.24 ID:ab3sNZA3.net] そうだよ かわりに愛情と寛容と忍耐と妥協が必要
20 名前:デフォルトの名無しさん [2018/12/19(水) 09:49:46.24 ID:WO8V2g+e.net] >>18 ああ。要らなかったよ。
21 名前:やってみな。 [] [ここ壊れてます]
22 名前:デフォルトの名無しさん mailto:sage [2018/12/19(水) 21:31:55.75 ID:/PJ/xgrD.net] いやコンパイラ自体には必要でしょ 初期実装は全部Javaで、今でもかなり残ってる 自社製品のIntelliJがJVM前提だし統合もあるからNativeでのセルフホスティングは目指してないと思うよ
23 名前:デフォルトの名無しさん mailto:sage [2018/12/20(木) 00:01:10.39 ID:hst6D+g/.net] やっとマジレスが出てくれて若干安心した
24 名前:デフォルトの名無しさん [2018/12/20(木) 02:22:55.67 ID:6pIAvd2J.net] やがてコンパイラ自体も Kotlin native でコンパイルできるようになって完全に Java 不要になると思う。
25 名前:デフォルトの名無しさん mailto:sage [2018/12/20(木) 17:35:04.19 ID:FuA72n5Z.net] やっと林檎ユーザーに 泥は処理遅くて草 とか言われなくて済むんだね!
26 名前:デフォルトの名無しさん mailto:sage [2018/12/20(木) 19:18:48.12 ID:Jom6rq0W.net] コンパイラをKotlin native でコンパイルできるようになるのは比較的早くできるだろうけど IntellijみたいなGUIの総合開発環境をマルチプラットフォームで動かすのをJavaなしでやるのは大変だろう。
27 名前:デフォルトの名無しさん [2018/12/21(金) 09:15:12.67 ID:mfb3XB1u.net] GUIの部分が大変かもな
28 名前:デフォルトの名無しさん mailto:sage [2018/12/21(金) 12:11:36.66 ID:gjfGeuPx.net] やるメリットもないだろうからやらんだろうな
29 名前:デフォルトの名無しさん mailto:sage [2018/12/21(金) 13:38:51.46 ID:I/9gCApZ.net] ただでさえVSCodeに追われてヤバいのに余計なことしてる余裕ないだろ
30 名前:デフォルトの名無しさん mailto:sage [2018/12/21(金) 13:49:31.79 ID:QUmSfmQB.net] なんだかんだでJVMは長生きすると信じてる
31 名前:デフォルトの名無しさん mailto:sage [2018/12/21(金) 15:27:32.04 ID:Tphe8pyQ.net] 長生きじゃなく、ただの延命処置だろ
32 名前:デフォルトの名無しさん [2018/12/21(金) 15:30:24.56 ID:mfb3XB1u.net] あ、そーだ。GUIはJavaScriptで書いてブラウザで実行させれば良い。 そのJavaScriptはKotlinのソースからコンパイルして作ったやつにすれば完璧。
33 名前:デフォルトの名無しさん mailto:sage [2018/12/21(金) 22:14:57.05 ID:8Iu4hnmd.net] アンケート入力の時間だ https://blog.jetbrains.com/kotlin/2018/12/kotlin-census-2018/
34 名前:デフォルトの名無しさん mailto:sage [2018/12/21(金) 22:59:54.90 ID:/MQTzm2r.net] 項目多いな
35 名前:デフォルトの名無しさん [2018/12/22(土) 02:37:32.92 ID:JnEveBkB.net] いつの間にかこんな入門書が出ていた。但し Kindle 版のみだ(unlimited の人は 0 円で読める)。 速習 Kotlin amzn.asia/d/0ZiG6rB
36 名前:デフォルトの名無しさん mailto:sage [2018/12/25(火) 06:47:43.66 ID:1ThGctmt.net] メリーコトリン
37 名前:デフォルトの名無しさん [2018/12/25(火) 11:17:10.24 ID:yeWprDEr.net] つまんね
38 名前:デフォルトの名無しさん [2018/12/25(火) 19:25:24.16 ID:KSMuafeJ.net] 爆笑
39 名前:デフォルトの名無しさん mailto:sage [2018/12/26(水) 22:47:51.52 ID:5ub5SAQR.net] >>37 無理に>>36 にて対抗しなくていいからww
40 名前:デフォルトの名無しさん mailto:sage [2018/12/27(木) 08:12:45.83 ID:DJ5Bt1eh.net] kotlinのコルーチンビルダーに渡す中断関数がレシーバー付きなのを止めてほしい。 public fun CoroutineScope.launch( context: CoroutineContext = EmptyCoroutineContext, start: CoroutineStart = CoroutineStart.DEFAULT, block: suspend CoroutineScope.() -> Unit blockパラメータにレシーバつけるんじゃねぇよ。というもの、なんでコルーチンビルダーに渡すルートの中断関数だけCorotineScopeにアクセスできるんだよ。 ルート以外の中断関数からはアセクスできないのに。この非対称性というか特別扱いやめて。
41 名前:デフォルトの名無しさん mailto:sage [2018/12/27(木) 08:17:42.92 ID:DJ5Bt1eh.net] 例えば、自分で定義した中断関数 suspend fun hoge() { } 内ではCoroutineScopeにアクセスできない。CoroutineScopeではなくCoroutineContextにはcoroutineContext関数経由でアセクスできるが。 こういう一貫性のなさはやめてほしい。なんか意味があるのかもしれんが。
42 名前:デフォルトの名無しさん mailto:sage [2018/12/27(木) 10:06:52.89 ID:g57/YEyR.net] ここじゃなくて公式に言ってこいよ
43 名前:デフォルトの名無しさん mailto:sage [2018/12/27(木) 23:27:31.48 ID:r4GKgwJE.net] >>32 のアンケートに自由記載の欄があるから、そこで言うことは可能。
44 名前:デフォルトの名無しさん mailto:sage [2018/12/27(木) 23:47:52.20 ID:hAo/rJSd.net] >>39 >>40 CoroutineScopeはキャンセルの伝搬と構造化のためにあって意図的にそうなってる private funや全体制御クラスなどを除いては基本的に他所に渡しては駄目 渡された側がキャンセルすると子だけでなく親戚関係のものまで巻き込んでしまう スコープ直下のブロックは保護者のような役割になるので 渡さずに↓のようにしてスコープをネスト構造にするべき suspend fun hoge() = couroutineScope { }
45 名前:デフォルトの名無しさん [2019/01/02(水) 20:28:59.08 ID:MMKJrJD0.net] あけましておめでとうございます ことりんもよろしくお願いします
46 名前:デフォルトの名無しさん mailto:sage [2019/01/02(水) 22:49:08.10 ID:sDzpRBwn.net] え?
47 名前:デフォルトの名無しさん mailto:sage [2019/01/03(木) 09:15:47.36 ID:h/ELqUHS.net] 山田さーん、>>44 に座布団1枚持ってきて。
48 名前:デフォルトの名無しさん mailto:sage [2019/01/03(木) 10:25:22.96 ID:GKSM08/3.net] 座り小便した奴を持って来ました
49 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 18:42:28.96 ID:4PQEcpA5.net] supervisorScopeって上司っぽさがあるな
50 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 11:30:26.17 ID:ygc4MJ1X.net] お前の勤務成績は丸見えだから
51 名前:デフォルトの名無しさん mailto:sage [2019/01/12(土) 12:51:17.46 ID:IzmxBuIw.net] そもそもcoroutinrScopeを他に渡して何をするつもりなんだろう 用途が思いつかない
52 名前:デフォルトの名無しさん [2019/01/14(月) 19:40:36.89 ID:OowwBnZ2.net] 「基本からしっかり身につくAndroidアプリ開発入門 Android Studio 3対応」 よく書いてあるようにサンプルが動かないんすけど、 あまりにも初心者過ぎてどこを直せばいいのかわからないっす。 Chapter 4のCalculatorで、正しいコードがわかる方いませんか? val button = findViewById<Button>(R.id.calculate) button.setOnClickListener { var isValid = true val priceEditText = findViewById<EditText>(R.id.price) val priceText = priceEditText.text.toString() if (priceText.isEmpty()) { priceEditText.error = getString(R.string.price_error) isValid = false } val discountEditText = findViewById<EditText>(R.id.discount) val discountText = discountEditText.text.toString() if (discountText.isEmpty()) { discountEditText.error = getString(R.string.discount_error) isValid = false }
53 名前:デフォルトの名無しさん mailto:sage [2019/01/14(月) 19:40:58.45 ID:OowwBnZ2.net] >>51 の続き if (isValid) { val price = priceText.toInt() val discount = discountText.toInt() val intent = Intent(this, ResultActivity::class.java) intent.putExtra("price", price) intent.putExtra("discount", discount) startActivity(intent) } }
54 名前:デフォルトの名無しさん mailto:sage [2019/01/14(月) 19:42:40.59 ID:OowwBnZ2.net] >>51 遷移先のコードもエラーになります。 val extras = intent.extras ?: return val price = extras.getInt("price", 0) val discount = extras.getInt("discount", 0) val expression = findViewById<TextView>(R.id.expression_label) expression.text = getString(R.string.expression, price, discount) val discountedPrice = price * (100 - discount) / 100 val discounted = findViewById<TextView>(R.id.result_label) discounted.text = getString(R.string.result, discountedPrice)
55 名前:デフォルトの名無しさん mailto:sage [2019/01/14(月) 19:51:40.91 ID:mSU16be8.net] まず大事なこととして ・正確に伝える ・切り分けをしていく コンパイルエラーなのか実行時エラーなのか想定と違う動作なのか エラーであればどのような内容か 想定と違うのであれば想定と実際の両方を具体的に 実行可能な場合はログ出力を追加するなどして問題の箇所を絞り込む 技術者は答えより答えの出し方を知る方が大切
56 名前:デフォルトの名無しさん mailto:sage [2019/01/14(月) 19:54:33.86 ID:OowwBnZ2.net] >>54 コンパイルエラーです
57 名前:デフォルトの名無しさん mailto:sage [2019/01/14(月) 20:14:29.56 ID:pDL52XEr.net] AndroidStudio使っててどこがコンパイルエラーかわからないとかあんの?
58 名前:デフォルトの名無しさん mailto:sage [2019/01/14(月) 21:06:42.85 ID:eurbvKP4.net] まあぶっちゃけると「エラーが出て動かない」以上のことがさっぱりわからんことはあるにはある IDEが表示するエラーが理解できるくらいならそもそも入門書など読まんw
59 名前:デフォルトの名無しさん mailto:sage [2019/01/14(月) 21:23:28.22 ID:fiLCWGOz.net] >>55 なぜエラーメッセージを読まないのか。せめて貼り付けろ
60 名前:デフォルトの名無しさん [2019/01/15(火) 00:32:52.94 ID:pIHkTAGg.net] Rなんとかは定義したの?
61 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 01:25:57.81 ID:tO821mqa.net] >>51 に当てはまるかは知らないけど 初心者って初心者向けの本を買うくせにちゃんと読まずに進めるんだよな 手順をすっ飛ばしてるパターンがほとんど
62 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 01:38:02.87 ID:VjJwW0bc.net] >>59 あー文字定義してないのはいかにもありそうだな
63 名前:デフォルトの名無しさん [2019/01/15(火) 11:17:38.84 ID:uh3dx1w7.net] >>59 Rって、解説書でも唐突に出てくるんすけど、何を定義すればいいの?
64 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 13:47:19.17 ID:1CaYwh4e.net] まずエラーメッセージを貼れ
65 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 14:15:39.24 ID:pzxobvn7.net] >>62 そんな解説書は燃やせ Rクラスはxmlファイルの記述からAndroidStudioが(語弊あり)勝手に作成するリソース管理クラスだ xmlファイル(に転記するリソース名管理欄)での手動記述がミスってると生成失敗してRクラスなんぞ知らん系のエラーになる というかとっとと何も考えずに>>63 するか餃子のラー油の小袋が半端にしか開かずに必ず指につく呪いにでもかかってしまえ
66 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 15:05:34.53 ID:uh3dx1w7.net] >>64 dくす エラーメッセージはたくさんありすぎて貼れないから貼ってない とりあえず自宅に戻ってからまた再現させる てゆーか、この程度のコードでバグる奴がなんで解説書を出版社から出せるんだよ まともな解説書ってないのかよ 尼見るともう一冊のほうもサンプルが動かんと書かれていて読む本がない
67 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 16:58:26.54 ID:1CaYwh4e.net] サンプルコードがビルドできたからって何なんだ そんなの目的にしても意味ない。必要な知識が吸収できればいいわけで。 サンプルコードをそのままビルドするアプローチじゃなく、 一旦空のプロジェクトを新規作成してそこに追加して動作確認するアプローチの方が 勉強になると思うけどなあ
68 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 17:03:39.16 ID:1CaYwh4e.net] 新規作成しただけの状態なら確実にビルドが通るわけで どこまでサンプルコードに近づいたら エラーが出るのか問題も切り分けやすい こういうのはもうAndroid関係ないし向いてないからしね
69 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 17:21:56.05 ID:3lh9jTue.net] Androidアプリは「初心者の人に書籍通じて独学で覚えさせるのめんどくさいプログラミング技術ランキング」のベスト3常連だからな なにせファイル1個やコマンド1発で収まらない
70 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 18:24:55.36 ID:yTRP/eqO.net] エラーの見方も分からないレベルでいきなりAndroid本は飛ばしすぎだな
71 名前:デフォルトの名無しさん mailto:sage [2019/01/15(火) 23:41:09.53 ID:620Eb35B.net] 途中コメントアウトしてなんとか動いた スマン、今日は時間切れ 最後、isEmpty()なんて使えないよ、と言われてたような・・・ 続きはまた明日
72 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 11:02:30.64 ID:aTgtPKRZ.net] >>65 ほんとこれ 入門者の立場に立って書いてないからそうなるんだよ
73 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 11:03:16.52 ID:aTgtPKRZ.net] >>64 だった ごめん
74 名前:デフォルトの名無しさん [2019/01/16(水) 11:34:03.94 ID:vTKVQdGX.net] 馬鹿には無理
75 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 13:16:59.84 ID:NBiSBr9E.net] 入門者は10年ROMってろ
76 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 15:02:59.73 ID:c12bWRnm.net] >>54 :エラーであればどのような内容か >>55 :コンパイルエラーです >>58 >>63 :エラーメッセージ読め、貼れ >>65 :たくさんありすぎて貼れない プログラミング言語より先に日本語と英語の勉強した方がいい
77 名前:デフォルトの名無しさん [2019/01/16(水) 15:05:34.92 ID:ECRqnYoc.net] _,,-'' ̄ ̄`-.、 / \ / \ ,/ \ ,/ \ / ― ― ヽ / ― ― ヽ lヽ - 、 ! , _ | lヽ - 、 ! , _ | |r――-、_⊥ ,――'-、 |,-, |r――-、_⊥ ,――'-、 |,-, |::::::::::::::::/ |ヽ:::::::::::::::|-|'イ!| |::::::::::::::::/ |ヽ:::::::::::::::|-|'イ!| ト、__,,/: |: `、__,,/ ,|ソ/ ト、__,,/: |: `、__,,/ ,|ソ/ .| 、_ j| _,、 ,|-' .| 、_ j| _,、 ,|-' | /lll||||||||||l`、 ,| | /lll||||||||||l`、 ,| `i ,|||' ̄= ̄`|||、 / ト、 `i ,|||' ̄= ̄`|||、 / ト、 「|ヽ|ll||||||||||||||||| /i |::::\ 「|ヽ|ll||||||||||||||||| /i |::::\ ::::::\`!!||||||||||||!!' |::::::::\ /:::::\`!!||||||||||||!!' |::::::::::::::::::::::`ー-、.._ i |::::::::::::::\ /::::::::::::::`ー-、.._ i |::::::::::/:::::::::::::::::::::::::::::`ー-、. |:::::::::: /:::::::::::::::::::::::::::::::::::`ー-、. |:::::::::: ロムッテロ兄弟 ハントシー・ロムッテロ ハンツキー・ロムッテロ 1952〜 アメリカ 1955〜 アメリカ
78 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 19:02:46.27 ID:czS9PHe8.net] こりゃまた懐しいものを
79 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 22:02:17.64 ID:l4CxponB.net] できたー! エラーログは結局見なかった。 モマエらの煽りも十分ヒントなので自力でできた。 要はIDEの使い方がよくわかってなかったってことらしい。 アプリの開発は初体験だったので、IDEがこんなにモッサリしていて ゆっくり打たないと反応しない、ということがわからなかった。 最初、赤字がエラーを起こしている場所すらもわからなかった。 本の通り入力されているのにエラーになるとか💩すぎる。
80 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 22:54:20.38 ID:5qHX4ghP.net] お前が見栄張ってログ貼らないからだよ
81 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 23:11:21.71 ID:s3+L+6VD.net] なんでエラー見ないんだよ… 見ましょ
82 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 00:03:32.50 ID:gD7DqiQf.net] Android Studioは割と複雑なIDEだから馴れるまで大変かも、微バグも結構放置されてる でもどんなときも根性があれば全て解決する
83 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 01:00:34.53 ID:/w6CmWBz.net] Googleが開発環境作るのヘタクソなのはいつものこと ベースのIntelliJ自体は優秀な子だから嫌いにならないで
84 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 01:08:32.19 ID:F/bGJF7O.net] 入門書のコードもちょっと辛い感じだが kotlinスレで聞いてきたりレスの感じからすると記載を読み飛ばしてるだけな気がするな…
85 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 01:34:50.82 ID:D8uuaLO+.net] エラーメッセージを読まないような奴が本の解説を読んでるはずがない
86 名前:64 mailto:sage [2019/01/17(木) 02:05:52.76 ID:X/RlN8Mj.net] >>78 >できたー できてない >モマエらの煽り いまは心底馬鹿にしている 結局原因は理解せず対処法を学ぶ気もなくて今後似たようなことがあって詰まっても本を罵るだけなのだろう お前はなにか変わった?
87 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 07:00:04.64 ID:FUK6mZ5G.net] >>できたー >できてない ワロタ 相手の態度が気に入らないのはわかるが。
88 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 08:54:40.63 ID:T+GiVQOD.net] 例えサンプルが間違っていても自分で間違いを見つけ修正するくらいの気概がないと、動きが速くカオスなAndroid開発環境に立ち向かうことはできないだろう
89 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 11:08:41.33 ID:wwbjNcTV.net] そうはいうてもインストールが正しくやれたか、ライブラリは合っているかを確認したいんだから動くコードじゃないとアカンやろ
90 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 12:07:23.58 ID:JNIrfwpM.net] エラーを見るのは基本中の基本だとこれだけ言われながら頑なにエラーを見ない理由が分からないw それはそうと、Android StudioがもっさりするレベルのPCで開発するの辛そう
91 名前:デフォルトの名無しさん [2019/01/17(木) 12:21:24.77 ID:K+CX1G8n.net] 君の所ではシャキシャキ動くの? いいね。
92 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 12:29:42.70 ID:JNIrfwpM.net] 真面目なアドバイスだけど、アプリ開発というかプログラミングをするならそれなりのPCを用意した方がいいよ。 本格的に開発するなら各種ツールを同時に起動しながらやることになるから、IDE単体でもっさりするレベルのマシンだとかなり辛いと思う。
93 名前:デフォルトの名無しさん [2019/01/17(木) 12:40:50.40 ID:K+CX1G8n.net] ゲーミングPCみたいに開発用PC売ればいいのにな
94 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 13:35:52.11 ID:h1O5LGNC.net] iMac Proやろ
95 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 14:23:55.46 ID:JNIrfwpM.net] ゲーミングPCからグラボを省けばプログラミングに良いマシンになるだろう 要はCPUとメモリとSSDだし
96 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 15:50:04.22 ID:UNKQSAY8.net] ビジネス用PCでよくね
97 名前:デフォルトの名無しさん [2019/01/17(木) 16:11:06.65 ID:8rj4oJ0j.net] https://egg.5ch.net/test/read.cgi/notepc/1544014307/
98 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 16:50:50.76 ID:JNIrfwpM.net] >>95 お前のIDうんこじゃん
99 名前:デフォルトの名無しさん [2019/01/17(木) 16:58:20.51 ID:K+CX1G8n.net] >>94 そんな感じのスペックのやつを自作するしかないのかな? >>95 丁度いいのある?
100 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 18:38:16.95 ID:BQPkrRK7.net] AVD使うならグラボはあった方がいい ローエンドで十分だけど
101 名前:デフォルトの名無しさん mailto:sage [2019/01/17(木) 21:05:29.75 ID:9dtdj8/p.net] IDEまでは分かるけどスレタイから離れすぎw
102 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 10:55:00.39 ID:biJOt7cE.net] 初心者用の本ってマジでろくなのないな 自分が読んだ本だと言語の仕様解説して、次の章でいきなりじゃんけんアプリ作りましょうだもんな 文字出すだけとかもちょっと地道なサンプルこなしてからにしてくれよ
103 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 13:23:27.72 ID:Gw7rawdB.net] そういう本を書いて売れるのなら書くけど
104 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 13:36:11.74 ID:EPNqXegi.net] 初心者はプログラミングすんな
105 名前:デフォルトの名無しさん [2019/01/18(金) 15:38:04.17 ID:dETdnGdx.net] >>101 君が書け。紙の本にする必要はない。AmazonでKindle用の電子書籍で出すなら多分すぐ出せる。
106 名前:デフォルトの名無しさん [2019/01/18(金) 15:39:03.82 ID:dETdnGdx.net] >>103 それでは誰も使わなくなって終わるではないかw
107 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 16:34:36.03 ID:QNzHnga9.net] 本を読んでからアプリを作るんじゃなくて、アプリを作ってから本を読むんだ
108 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 17:57:35.76 ID:EPNqXegi.net] 本を読んで勉強するという姿勢が気に入らない お前の目的は言語学者になることか アプリが作りたいならまず作れ それで行き詰まったら初めて必要な知識を調べる
109 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 18:10:19.30 ID:DtJxFJYk.net] www.atmarkit.co.jp/ait/articles/1712/08/news010_2.html この通り作ってもエラーが出るのだが なんなん
110 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 19:01:23.89 ID:Jv0pMDsL.net] >>108 だからエラーを貼れよ
111 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 19:10:06.53 ID:Jv0pMDsL.net] あとAndroid Studio のことはこっちのスレ来い Android Studio Part3 https://mevius.5ch.net/test/read.cgi/tech/1547473943/
112 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 19:18:36.09 ID:9pECFNv0.net] >>108 飲み会ドタキャンされて暇だからエラーの内容を貼ったら教えてあげるかもしれない とりあえず一年以上前の記事みたいだからバージョン違いの何かな気がするけど
113 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 20:40:32.07 ID:EPNqXegi.net] Android Studio3.0とか原始時代のツールだろ
114 名前:デフォルトの名無しさん [2019/01/20(日) 17:15:03.83 ID:km2ubjIi.net] 1ヶ月以上たってまだ100レス程度ってkotlinで開発してる人はんと少ないんだな
115 名前:デフォルトの名無しさん mailto:sage [2019/01/20(日) 17:53:32.56 ID:7J7VHbME.net] >>113 お前が書き込むんだよ
116 名前:デフォルトの名無しさん mailto:sage [2019/01/20(日) 19:22:48.93 ID:6E5SSl+w.net] 仕方ないなあ。じゃあこのスレ向きの話題でもふるか。 flatter for xamarinだってよ https://adtmag.com/articles/2019/01/08/flutter-for-xamarin.aspx?m=1
117 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 08:55:03.29 ID:cyd5L15X.net] >>115 カオスだな。
118 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 13:17:33.75 ID:jDpmEG8W.net] flutter for xamsrin for kotlin nativeが待たれる
119 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 02:09:57.73 ID:gn5FLTFP.net] なにこれ。flutter sdkをc#に変換するのか。すげぇな。つか、xamarinの名前冠するなよ。負のイメージしかねぇ。
120 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 02:22:18.20 ID:Ygwng9tV.net] ザマリンてなんか医薬品みたいだよね 「風邪にはザマリン!! お近くの薬局でお求めください!」みたいな
121 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 05:45:08.82 ID:+WHDBYOc.net] ていうかふらったーの1番のネックはDart言語なのに、それを多言語に変換されてもって感じだな 方向が逆だ
122 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 08:19:51.51 ID:gn5FLTFP.net] え?だから他言語のC#に変換してDartとおさらばできるってことだろ。
123 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 09:06:02.79 ID:8X9EpfV1.net] Xamarin程の糞はない
124 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 12:58:57.64 ID:oFmOrikq.net] ざまりんは座間市のマスコットキャラクターです
125 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 19:17:28.51 ID:HZ2hjuw/.net] ざまりん!ことりん!天気予報〜♪
126 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 23:00:57.36 ID:vhFDea91.net] 僕の名前はXamarin! 僕の名前はKotlin! 二人合わせて...?
127 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 04:35:21.49 ID:VDPZgNNi.net] 聳え立つ糞
128 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 11:21:53.63 ID:KXFSPWv5.net] C#erだがXamarinはノーカンで
129 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 12:30:44.99 ID:6pYQH9bm.net] kotlin界隈にもちょまどみたいなアイドル欲しいなぁ
130 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 12:46:10.71 ID:s7nkbb3U.net] きも
131 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 16:31:27.63 ID:rdYi3jIq.net] おまえがVtuberになってアイドルになればいいじゃないか
132 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 17:25:35.59 ID:zR45o/Hn.net] koilin入門書には、作者が分かっていないのかjavaの文法が混じって分かりにくい ごちゃ混ぜで混乱必至 結局kotlinlang.orgしか信用ならん
133 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 20:24:53.45 ID:Uzogy9i5.net] Kotlin class destroyerって使ったことある人居る?
134 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 21:45:50.98 ID:Pa8D4EMx.net] >>132 検索してフイタwww 日本語の読めるやつには居ないだろうなwwwww
135 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 02:16:31.75 ID:HZcP4zux.net] Котлин
136 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 06:26:15.14 ID:SamtYSKx.net] >>131 例えば?
137 名前:デフォルトの名無しさん [2019/01/24(木) 07:53:39.37 ID:nbtsb27b.net] これから本を出す人は、SwiftとKotlinを同時に学べるような本を書いてほしいな
138 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 09:17:38.10 ID:fuJ4iKDY.net] >>136 なんで?
139 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 09:40:30.41 ID:iE4PKA0k.net] SwiftとKotlinは書き方が似すぎてて紛らわしいから、 どちらかの書き方が染み付くまでは同時にやらないほうがいいと思う
140 名前:デフォルトの名無しさん [2019/01/25(金) 00:52:03.47 ID:oyKZWLKP.net] Go->Node(TypeScript)->Rust->Scala->Kotlin 去年の年末から色んな言語に入門してHelloCRUDしまくってたけど やっと本命見つけたわ。これは流行るで。ほんま。
141 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 06:46:14.56 ID:SWXByf/r.net] >>139 フレームワークはSpring? Ktor?
142 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 07:20:23.97 ID:PIdTSIvJ.net] Sparkも良くできてるから選択肢に加えてあげて 日本だと空気だけど海外の事例だとめっちゃ使われてる
143 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 09:23:10.32 ID:cY+a6SZr.net] Sparkは名前変えろ Apache Sparkと紛らわしいから絶対に流行らん
144 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 09:40:00.17 ID:84FUhWJo.net] ことりん☆
145 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 13:25:04.49 ID:ra6+4Hwa.net] >>138 紛らわしいけど、両方同時に学べる人に書籍が必要とは思えない。
146 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 15:30:25.59 ID:PIdTSIvJ.net] >>142 これ。まじでこれ。 ググラビリティ低すぎて辛い。
147 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 15:52:10.81 ID:aoOWMbCl.net] ググラビリティwww
148 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 16:10:17.86 ID:cY+a6SZr.net] ITにいて Apache Spark 知らないとかアホ丸出しだから作者が Spark なんて名前を付けている時点で不安になるのが当然で、普通は避ける それなのに Spark 使ってる奴はそいつも Apache Spark を知らない可能性が高く、同様にアホ丸出し
149 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 16:59:39.24 ID:2xvx7HDE.net] >>147 作者が知らないも何もApache Sparkの方が後発だし、その頃にはSpark Frameworkは今さら改名できないくらい広く使われてたぞ
150 名前:デフォルトの名無しさん [2019/01/25(金) 18:04:32.01 ID:fUiZiF+t.net] >>147 はアホを丸出しにしてみたかったのかも知れない。
151 名前:デフォルトの名無しさん [2019/01/25(金) 19:52:16.96 ID:h/3l4eZA.net] 君とSpark
152 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 20:15:44.23 ID:PIdTSIvJ.net] >>147 これは恥ずかしい
153 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 21:28:25.32 ID:NpmoGBI+.net] android studioで、それぞれ以下の行を追加 actibity_main.xml android:id="@+id/back" MainActivity.kt import android.graphics.Color import android.widget.LinearLayout val background = findViewById<LinearLayout>(R.id.back) as LinearLayout background.setBackgroundColor(Color.parseColor("#FF0000")) で、画面が赤くなると思うんだけど、アプリが起動直後に停止してしまう。 background.setBackgroundColor(Color.parseColor("#FF0000")) の行をコメントにすると普通に起動する 本当はラジオボタンで選んでバックグラウンドを変える処理だけど、抜き出してやってみてもうまくいかない
154 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 21:40:17.98 ID:9WShTN4K.net] 流行るわけないとか言ってるあたり、マジで最近出てきたフレームワークだと思ってたんだろうな Javaのマイクロフレームワークとしてはほぼデファクトなのに
155 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 21:41:18.91 ID:9WShTN4K.net] >>152 エラーメッセージに答えが書いてあると思うよ
156 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 21:58:54.35 ID:NpmoGBI+.net] >154 コンパイルは普通に通り、ワーニングも出ない ただ、アプリは起動直後に停止してしまう。 デバッグ用のスマホが悪いかと、別の機種つないでみても同じく起動直後に停止して MyApplicationが停止しました と表示される
157 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 22:30:34.06 ID:T4sCfJsj.net] なんでAndroidスレで聞かないわけ? エラーメッセージ読めないのと一緒なの?
158 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 22:30:36.78 ID:pxW0IIRd.net] 所謂おまじないはともかくとして 入門書や入門サイトが最初に教えるべきは println と throw RuntimeException() だと思う 最初に転び方だわ
159 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 22:48:55.25 ID:NpmoGBI+.net] ありがとございます すこしスレチみたいなので、こっちでもう少し調べてみます。
160 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 23:56:18.60 ID:k0QCMDX+.net] >>158 ちょっと暇だから相手してやるよ ほんとに LinearLayout 使ってる?最近の環境で新規アプリ作ったら ConstraintLayout だと思うんだけど たぶんここが val background = findViewById<LinearLayout>(R.id.back) as LinearLayout こうだ val backgroun
161 名前:d = findViewById<ConstraintLayout>(R.id.back) [] [ここ壊れてます]
162 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 23:57:28.33 ID:k0QCMDX+.net] ちょっと面白いと思ったのは、ConstraintLayout に対して val background = findViewById<LinearLayout>(R.id.back) as LinearLayout background.setBackgroundColor(Color.parseColor("#FF0000")) これだと val background = 〜の行で ClassCastException で落ちるのに、 background.setBackgroundColor をコメントアウトすると落ちずに普通に動いちゃうのね これは background が使われないなら background へキャストして代入する処理自体を kotlin が無効化しちゃうのかな
163 名前:デフォルトの名無しさん mailto:sage [2019/01/27(日) 18:18:09.78 ID:jDwbvKDS.net] いろいろな意見を参考にやってみました 原因 コンパイルエラーは出なかったけどIDが変なところをさしていて、カラー情報を書き込んだ瞬間に落ちていました。 対処1 actibity_main.xmに android:id="@+id/back"を消して <LinearLayout xmlns:android="schemas.android.com/apk/res/android" android:id="@+id/back" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> </LinearLayout> を追加 対処2 MainActivity.ktの <LinearLayout>の代わりに <android.support.constraint.ConstraintLayout> 2通りの方法でうまくいきました import android.support.constraint.ConstraintLayout をimportすると、 >159の<ConstraintLayout>だけでOKでした ありがとうございました
164 名前:デフォルトの名無しさん mailto:sage [2019/01/27(日) 19:32:56.92 ID:dhHHmXdZ.net] >>161 >>154 のエラー
165 名前:メッセージ >>157 のRuntimeException >>160 のClassCastException これらはどれも実行時エラーのことで、それを表示する方法や読み解き方をググるなりした方が良いと思うよ 今後のためにね [] [ここ壊れてます]
166 名前:デフォルトの名無しさん [2019/01/27(日) 21:32:10.99 ID:jv36ci7O.net] >>140 Ktorやで
167 名前:デフォルトの名無しさん mailto:sage [2019/01/28(月) 00:27:33.91 ID:A5w6Cdea.net] 圭太
168 名前:デフォルトの名無しさん mailto:sage [2019/01/28(月) 09:34:18.83 ID:j8L/fU4R.net] Ktorええよな、今作ってるAPIサーバーで使ってる。 Webアプリにはあんまり向かなそうだけど
169 名前:デフォルトの名無しさん mailto:sage [2019/01/28(月) 10:43:40.13 ID:c8FVptT0.net] 幸太
170 名前:デフォルトの名無しさん mailto:sage [2019/01/28(月) 10:51:26.03 ID:qhu0cqfw.net] 古都鈴
171 名前:デフォルトの名無しさん mailto:sage [2019/01/28(月) 18:09:48.33 ID:YkAtt80R.net] 昔、古都ひかるってAV女優が好きだったの思い出した
172 名前:デフォルトの名無しさん mailto:sage [2019/01/28(月) 18:25:17.41 ID:ncjyAVYK.net] ググったけどお前微妙な趣味してるな
173 名前:デフォルトの名無しさん mailto:sage [2019/01/28(月) 18:43:54.94 ID:qhu0cqfw.net] >>168 ワイも好きでした
174 名前:デフォルトの名無しさん mailto:sage [2019/01/28(月) 18:44:53.31 ID:SEDlCRnu.net] >>165 Webアプリしようと思ってKtor勉強中なのだが、向いてないのか...
175 名前:デフォルトの名無しさん [2019/01/28(月) 18:45:00.57 ID:MtItNdsU.net] 今から考えればそうだが 昔はあんなのでもレベル高かった気がする あの頃のやつだと河井さくらとかいう人が文字通り面白かったし水野栞も良かった 今は顔面偏差値すごい底上げされてて嬉しい
176 名前:デフォルトの名無しさん mailto:sage [2019/01/28(月) 18:54:36.48 ID:qhu0cqfw.net] 今でも通用すると思うで
177 名前:デフォルトの名無しさん mailto:sage [2019/01/28(月) 19:24:55.14 ID:j8L/fU4R.net] >>171 Ktorでももちろん作れるけど、ログイン前提のWebアプリを作るなら自分で作らなくちゃいけない部品が多い。 大人しくSpring使っておけばそこらへんは全部用意されてる。
178 名前:デフォルトの名無しさん mailto:sage [2019/01/28(月) 19:28:08.60 ID:ncjyAVYK.net] >>171 Ktorはいわゆるマイクロフレームワークに分類されるフレームワークだから、ガチガチのWebアプリを作るのはめんどいよ まあ認証やらセッション管理やらDBやらのことだから最初に一度作ってしまえば後は別に面倒なことはないけど
179 名前:デフォルトの名無しさん [2019/01/29(火) 08:13:36.09 ID:Yq72SlCs.net] >>165 いいよね。SpringBootと棲み分けできそうやし。 ところでどんな構成(アーキテクチャ)で使ってる? ワイはもうKtorならRepository無いほうがええような気がしてきてるんやが。
180 名前:デフォルトの名無しさん [2019/01/29(火) 08:36:23.24 ID:Yq72SlCs.net] https://ideone.com/Xghedx ExposedではUserTable2に便利メソッドが生えるのでRepository分けても委譲とentity変換ばっかりになりそうだったから それならModelクラスと同じ場所に置いて、DB変更時にミスりにくい方がいいかと思った。 こんな構成で作ってみてるんだけど、どう思う?
181 名前:デフォルトの名無しさん mailto:sage [2019/01/29(火) 12:07:29.18 ID:Ghu5z8kR.net] >>177 その割り切った作りはいいと思う。特にチームが大きく無いならメリットの方が多いんじゃないかな。 俺はAPIサーバーと連動するプログラムも同時開発してて、共有できるものは共有してさせるためにクリーンアーキテクチャにしてるからrepositoryも含めてクラスはやたら多くなってるけども。
182 名前:デフォルトの名無しさん mailto:sage [2019/01/29(火) 23:38:56.61 ID:rUlqj1XI.net] >177 Ktorみていて、データベース接続部分がないような気がしていたけど、やっぱりExposedを使うのか.
183 名前:デフォルトの名無しさん [2019/01/30(水) 08:07:46.80 ID:5baYxL1g.net] >>178 そしたらちょっと作りきってみるわ。ありがと。 >>179 Kotlin製で統一しようと思ったらそうなるね。
184 名前:デフォルトの名無しさん mailto:sage [2019/01/30(水) 17:18:23.70 ID:JsLx868V.net] >>179 ExposedでもMyBatisでもなんでもお好きなものをお使い下さいってスタンスだな めんどいから標準で何か入れてくれるような仕組みがあれば楽なんだけども
185 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 00:51:36.05 ID:HFNNmxMu.net] >>145 ググラビティすき
186 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 06:19:43.90 ID:oyUXC//m.net] ぐぐらびりてぃって日本だけかと思ってたら海外でも普通に使われてるのな google(検索する)って動詞とセットで辞書に載っててわろたわw
187 名前:デフォルトの名無しさん [2019/02/01(金) 12:52:22.08 ID:5o/o/nGk.net] 動詞か。とすると過去形が googled か。
188 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 13:06:37.22 ID:ad6+KOec.net] むしろ日本よりも英語圏での方がよく使われてる気がする 海外のフォーラムとかで普通に見る
189 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 18:28:47.94 ID:Oa2LgpWH.net] んじゃヤフーでググれもあながち間違いじゃない? ソニーのファミコン的な
190 名前:デフォルトの名無しさん [2019/02/01(金) 21:35:19.79 ID:5o/o/nGk.net] Infoseek と Exite もよろしく
191 名前:デフォルトの名無しさん mailto:sage [2019/02/02(土) 07:20:45.10 ID:vIqKCsXY.net] ビンガビリティ 強そう
192 名前:デフォルトの名無しさん [2019/02/02(土) 12:34:49.40 ID:ecMf0cvm.net] Anko使ってる?
193 名前:デフォルトの名無しさん mailto:sage [2019/02/02(土) 20:52:18.84 ID:rNm5OL0i.net] Unko?
194 名前:デフォルトの名無しさん mailto:sage [2019/02/02(土) 21:18:44.79 ID:60g8Sasz.net] 大体レイアウトとロジックが混在してるのは良くないねってことで レイアウトはxnlファイルに分離するようにしたんだと思うんだけど 何でAnkoってまたレイアウトとロジックを混在させるようなことしてんの 時代に逆行してるだけでは
195 名前:デフォルトの名無しさん mailto:sage [2019/02/02(土) 21:38:35.91 ID:mZCa7M9L.net] >>191 アーキテクチャ上重要なのはビューとロジックの分離 一方で、レイアウトとロジックの分離というのはビューに閉じた話であり、 マークアップエンジニア(笑)とフロントエンドエンジニア(笑)の分業をしやすくするだけのものでしかない フロントエンドエンジニアが十分有能でマークアップエンジニア(笑)の仕事も自分でこなせるなら分ける必要は全く無い
196 名前:デフォルトの名無しさん mailto:sage [2019/02/02(土) 21:43:01.16 ID:hUtwc62g.net] 流行りのキーワード並べてドヤ顔
197 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 07:45:41.73 ID:gLy6KBGU.net] レイアウトの中にロジックがダラダラ書かれたら見通し悪くてUnkoだけどそこは経験とコード規約とレビューで制御できる 適正なメソッド分割は主に人間の仕事であってライブラリーの責務ではない XMLの欠点とDSLの利点はGitHubのWikiで説明されてる 設計開発にイチイチXML使うのは微妙じゃね?DSLとかいいよな!ってのは時流でもある だから少なくとも時代に逆行しているだけということはない
198 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 10:09:31.17 ID:nQr97LtT.net] いーや、Ankoは糞
199 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 12:29:21.29 ID:Wt38prvY.net] anko味のunko
200 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 12:36:56.63 ID:FHrrfvzD.net] unko味のankoとanko味のunko
201 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 15:59:31.11 ID:sWvJHh2u.net] あんこ餅食いたくなってきたからスーパー行ってくる
202 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 18:35:49.59 ID:FHrrfvzD.net] Anko程の糞はない
203 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 21:27:31.59 ID:WjHZzJrh.net] 気になってるんやがkotlin nativeが完成したらgoは駆逐できるんやろか。 それともシングルバイナリやら並列化でgoのメリット残るんやろか。
204 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 21:58:54.28 ID:OYz8YI9S.net] >>200 現実的に考えると、全く話題にもならずにひっそり消える可能性が一番高いよ kotlin nativeが
205 名前:デフォルトの名無しさん [2019/02/03(日) 22:10:09.65 ID:WjHZzJrh.net] マジかあ。Scala状態は残念やのー。 俺にキラーアプリ作れるような力があればなぁ。。
206 名前:デフォルトの名無しさん [2019/02/03(日) 22:19:22.36 ID:WjHZzJrh.net] githubでkotlin-native使ってるプロジェクト探してみたけど、確かにあんまり盛り上がってる感じではないね。 今作ってるクソアプリが一段落ついたら何か作ってみよう。
207 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 22:43:39.24 ID:0oNu2+nX.net] アプリよりFWだよな
208 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 22:49:54.08 ID:OYz8YI9S.net] 「オーケーグーグル、エロくて楽しいアプリ作って」でエロくて楽しいkotlin nativeアプリのソースが生成されるAIを作れば流行る
209 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 23:03:35.29 ID:hpvKsGCb.net] Kotlin/Native自体は現在進行中のSubstrate VMが出来上がるとやや辛い立ち位置になる でもKotlin全体としては間接的にエコシステムが大きく強化されるし Kotlin/Nativeから「Kotlin with Substrate VM」への移行は 性質的に割と容易なものになる期待もあるから使っても大丈夫だと思う 補足だけど Substrate VM はOracle主導のオープンソースプロジェクトGraalの一部で JavaバイトコードをAOTするもの、 これによりjavaパッケージが使えるKotlin/JVMのままネイティブ化出来るようになる Linux向けは出来ていてWindowsやiOSなどはまだこれから
210 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 23:43:07.23 ID:hpvKsGCb.net] ちなみにAndroid Runtimeも同様にAOTしている こっちはJDKをGoogleが好きなように取捨選択してるのでJava互換性テストは通らない Android Runtimeの技術を利用してJava(Kotlin/JVM含む)からiOS用のネイティブを生成してるのが RoboVMやMulti-OS Engine Substrate VMはこれら(Kotlin/Native含む)に対して 後追いだけどOpenJDKフルサポートのAOT、ということになる 出来上がるまでまだかなりの時間が掛かりそうだけど
211 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 00:38:33.17 ID:udiwpstp.net] 結局Java版Xamarinを作ろうとしてるだけだな 目的不在で技術だけが独り歩きしてる感すごい
212 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 06:16:54.78 ID:jDY9Ysuj.net] >>200 無理だね。というかそもそもGoの得意分野とKotlin(native)の得意分野がかぶってないから現時点であまり競合してない
213 名前:デフォルトの名無しさん [2019/02/04(月) 08:21:30.46 ID:+iZnVKUh.net] >>209 そうなんか。kotlin nativeの得意分野って何なんや?
214 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 10:20:12.21 ID:RwYNgFWa.net] >>208 Graalの主目的はHotSpotのJITコンパイラ(C2)の刷新 20年以上前に設計され、修正が積み上げられたC++コードなので 保守し辛く新技術の導入も困難とのこと JITコンパイラ(Graal本体)はインタプリタやAOTとも関連が深く、 それらも考慮したエコシステムとしてサブプロジェクトを内包してる Truffle / Sulong / Substrate VM
215 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 10:38:08.20 ID:RwYNgFWa.net] >>210 Kotlinの対応プラットフォームを広げるものだから 強いて言うならKotlin/JVMと同じく通常アプリでは Goは並列処理や低レイテンシGC(リアルタイム用途)など システム寄りが得意
216 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 12:40:41.74 ID:Mgc+6WQD.net] Kotlin nativeは悪く言えば現状では得意分野などはっきり言って存在しないし、良く言えばこれから何に使ってもいいとも言える Goの代わりに使うことももちろん可能
217 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 20:20:46.75 ID:nyJZm1CJ.net] Ktor以上に急上昇してるJavalinってFWお前ら使ってる?
218 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 22:34:50.26 ID:QEUSQVw8.net] 使ってないし知らない
219 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 06:33:03.96 ID:ZLbI9faD.net] >>214 使ったら竜騎士とかにクラスチェンジできるかな
220 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 06:59:09.94 ID:+mMHH6yh.net] マジで聞いたことすらなかった 悪くなさそうだけど、英語も含めて情報が少なすぎて趣味以外には使えないかな
221 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 07:02:18.31 ID:+mMHH6yh.net] 軽く調べた感じだからよく分かってないんだけど、これ例えばSparkと比べて何が良いの?
222 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 09:02:22.82 ID:855O/xU5.net] Kotlin を今のプロジェクトに使いたいけど、eclipse とか言う糞IDE使ってて相性悪すぎて笑えない SWT とか JFace とかでUI作ってるから、eclipse を外すのは無理だし
223 名前:デフォルトの名無しさん [2019/02/05(火) 09:40:26.01 ID:NCwCR2JI.net] ググると槍投げ画像が沢山出てくるな・・・
224 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 10:08:44.38 ID:Fs+UH34C.net] >>218 https://javalin.io/comparisons/sparkjava
225 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 10:17:58.97 ID:LEHFEUGy.net] >>216 宇宙刑事っぽさもあるし、使うと風呂釜が綺麗になって身体が芯からあたたまりそうな感じもする
226 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 10:32:30.10 ID:+mMHH6yh.net] >>219 UI作るときとことりん書く時でIDE使い分ければいいんでないの?
227 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 10:32:56.86 ID:+mMHH6yh.net] >>221 すまん、それ気付かなかった。 後で見てみるわ
228 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 11:21:10.88 ID:jB1piIf6.net] >>216 ガリで
229 名前:デフォルトの名無しさん [2019/02/05(火) 11:27:24.21 ID:NCwCR2JI.net] 宇宙刑事 Javalin
230 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 12:13:00.65 ID:nvQ1xa5u.net] やっぱJavanだろ
231 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 12:24:17.71 ID:ryDpasJz.net] Javalinの半分はやさしさで出来ています。
232 名前:デフォルトの名無しさん [2019/02/05(火) 12:42:55.22 ID:NCwCR2JI.net] リン付ければなんでも可愛らしくなると思いやがってそうはいかねえぞべらんめえ ←江戸っ子
233 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 15:01:18.53 ID:PldLlsCY.net] > ←江戸っ子 ウザっ
234 名前:デフォルトの名無しさん [2019/02/05(火) 15:25:14.63 ID:NCwCR2JI.net] うざりん
235 名前:デフォルトの名無しさん [2019/02/06(水) 19:35:52.56 ID:59jOjkSQ.net] 上でシステム系にはGoみたいに書かれてるんだけど、kotlin/nativeはGoより遅いのかな。 現状ではそうなのかも知れないけど、最終的にはGoと同等の速度が出せるポテンシャル(仕組み)だと 思ってるんだけどそうでもないの?
236 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 19:49:42.95 ID:nvZvChxt.net] goに勝つのは流石に無理じゃ?
237 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 20:35:25.96 ID:gjOdQxAx.net] Goに比べたら遥かに複雑怪奇な言語だから最適化は不利だろう JVMの挙動をエミュレーションするための無駄な処理は少なからず必要だろうし
238 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 00:37:31.07 ID:UFwIxg8c.net] 1 c 2 go 5 jvm 10 script系 3くらいいける?
239 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 05:59:54.51 ID:Ftq4Fy0N.net] >>232 構造的に無理 Goは構造をシンプルに保って高速軽量を維持するために言語仕様を必要最低限にしてるから、 書く人間の使いやすさを追求してるこちょりんとは根本的に目指してるものからして違う
240 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 07:33:55.52 ID:ygKhuk/7.net] >>235 いけると思う JIT後はJVMが1〜2だけど
241 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 08:43:07.10 ID:qMU5zT+q.net] なんでRustはあんなに速いん?言語の抽象度は同じくらいやろ?
242 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 10:01:05.59 ID:ygKhuk/7.net] >>238 根幹の言語機能の所有権とライフタイムにより C++でのムーブセマンティクスやRAII
243 名前:みたいなのをより高度にコンパイラが認識出来るので 速度(効率)を保ったまま安全性を高められてる [] [ここ壊れてます]
244 名前:デフォルトの名無しさん [2019/02/07(木) 10:55:21.09 ID:esduY2Xd.net] Goはフットプリントも小さいからな。 C++だと、iostreamを静的リンクしただけでもそこそこ大きくなるのに。
245 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 12:43:04.54 ID:nkNDSe3E.net] 上で1..10の速さ書いたんやけどあれは実測じゃなくて速さランクのイメージや。 go<kotlin native<<jvm<<壁<<script言語 こうなるなら納得なんやけど、現実には kotlin native ≒ jvmなの? 最適化されたらgoに迫ると思い込んでるんやけどそんな甘くないんかな。
246 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 13:44:29.30 ID:Ftq4Fy0N.net] 最適化できたらそらそうだけど、その最適化がどこまで出来るかどうかはお天道様にしか分からない
247 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 14:46:10.65 ID:nkNDSe3E.net] それもそうやね。大人しく半年か1年くらい待ってみるわ
248 名前:デフォルトの名無しさん mailto:sage [2019/02/07(木) 14:47:12.25 ID:ygKhuk/7.net] コンパイラの頑張り次第で Go ≒ Kotlin/Native まで行ける可能性はある ベンチマークでは C ≒ Rust << Go ≒ JVM Rust vs Go https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/rust-go.html Go vs Java https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/go.html しかしGCの性質の違い、JVM起動時間、JIT、並列処理サポートなどにより 各ユースケースに対する適性は速度だけでは決まらない
249 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 16:17:29.13 ID:nPWMA0BU.net] 3桁ごとにカンマ打つには、 val str= "123456" println( str.format("%,d")) 想定では、123,456のはずが123456になる 使い方間違ってるかな?
250 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 17:15:55.53 ID:3DPCoowD.net] 逆じゃね?
251 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 18:09:56.46 ID:nPWMA0BU.net] 逆+Intでないとダメみたい BigDecimal放り込んだら勝手に12,345.6789みたいになればと思ったんだけど、自分で作るの面倒で信用ならん
252 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 18:45:11.42 ID:MkVUfclC.net] jvmならNumberFormatでいいんじゃないの import java.math.BigDecimal import java.text.NumberFormat val BigDecimal.fmtStr: String get() = NumberFormat.getNumberInstance().format(this) fun main(args: Array<String>) { val a = BigDecimal(12345.6789) println("${a.fmtStr}") }
253 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 19:35:10.36 ID:MkVUfclC.net] ごめんよく見たら丸められてたから訂正 https://ideone.com/AvbxFT
254 名前:デフォルトの名無しさん mailto:sage [2019/02/08(金) 19:59:36.92 ID:nPWMA0BU.net] >249 "."探して、整数と小数点以下に分けて整数部分にカンマ打ってから合体させようとしこしこ作ってたら別のアイデア出てた ありがと
255 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 06:09:56.82 ID:6/bHpQ6m.net] locale によってはカンマが3桁区切りではないかも知れないし記号がカンマではないかも知れないので こうやって自分でやっちゃった方が良いのでは? println(java.text.DecimalFormat("#,##0.000").format(java.math.BigDecimal("1234567890.1235"))) // 1,234,567,890.124
256 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 07:35:37.20 ID:fJwH+mSX.net] >>251 ロケールに従わず常にカンマにしたいという意図ならそれだとそぐわないと思う DecimalFormatに与えたカンマはカンマという文字ではなくグループ区切り子なのでロケールに応じた文字で出力されるよ
257 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 17:34:05.13 ID:BbTEeZaP.net] 日本, アメリカ, イギリス 他 1 = 1.000 < 10 < 1,000 = 1000 ドイツ, イタリア 他 1 = 1,000 < 10 < 1.000 = 1000 ロシア, フランス 他 1 = 1,000 < 10 < 1 000 = 1000 オーストラリア, カナダ 他 1 = 1.000 < 10 < 1 000 = 1000 国際単位系(SI) 1 = 1,000 = 1.000 < 10 < 1 000 = 1000 空白を小数区切りに使う国が無いことと、ポイントとカンマの各国のばらつきから 読み取り間違いを避けるための妥協案のようなもの
258 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 17:41:28.40 ID:BbTEeZaP.net] おまけ Ruby, Java, Kotlin 他 1 = 1.000 < 10 < 1_000 = 1000 C++ 1 = 1.000 < 10 < 1'000 = 1000 アンダースコアをユーザー定義リテラル用に使っていたため
259 名前:デフォルトの名無しさん [2019/02/10(日) 18:10:30.74 ID:6jFJUgix.net] そうか。じゃあグループセパレータを自分でカンマにセットしとかないと確実にカンマにはならないってことだな。
260 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 05:43:38.35 ID:xDY2FToe.net] Java全然書いたことないんだけどJavaのこと調べてたらこの言語に辿り着いた Android公式言語とのことだけど、Androidアプリ開発以外の用途でJavaでやることもKotlinで出来るの? もうJavaじゃなくてKotlin学んだほうがいい? PythonとCしか書けない
261 名前:デフォルトの名無しさん [2019/02/12(火) 05:56:17.28 ID:SvKCMiwA.net] おわこん
262 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 06:15:00.09 ID:PanSk5rI.net] >>256 > JavaでやることもKotlinで出来るの? できる。 > もうJavaじゃなくてKotlin学んだほうがいい? JavaをやってからKotlinを学んだほうがいいけど、PythonとCができるなら、Kotlinから始めるのもありかも。
263 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 08:01:07.40 ID:zazJl4ej.net] >>256 APIリファレンス読むためにJavaのメソッド定義の構文を知っておくくらいで Kotlinをメインに学んで良いと思うよ 成果物はJavaクラスファイル(※)なので出来ることは同じ やろうと思えば1プロジェクトで混在しても普通にお互い呼べる ※Kotlin/JS, Kotin/Nativeとかの別形式もある
264 名前:デフォルトの名無しさん [2019/02/12(火) 11:22:53.23 ID:8lolhehX.net] Scalaってどこいったん?
265 名前:デフォルトの名無しさん [2019/02/12(火) 14:31:00.63 ID:8DpMAebM.net] Scalaは衰退しました
266 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 15:06:09.44 ID:ncKC6kPX.net] 使われてるところでは安定して使われてるみたい 拡大は止まったと思うけど
267 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 20:08:57.00 ID:hkCwi0n8.net] scala組がkotlinに合流してくれたら覇権言語狙えるんやないか。 ということは、kotlinに必要なのはお洒落感?
268 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 20:28:23.96 ID:VerJGrBE.net] Scalaやってた意識高い系はみんなとっくにRustへ移行した
269 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 21:03:35.46 ID:pT/fbk4d.net] >>256 それをJavaで作る必要があって、Javaで作ることを誰かに強制されているなら、それはJavaで作る それをJavaで作る必要があって、Javaで作ることを誰にも強制されてないなら、それはKotlinで作る それをJavaで作る必要がないなら、JavaでもKotlinでも作らない。他の言語を使う。めんどくさいじゃん
270 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 09:04:09.69 ID:KRdNZL9E.net] ちょっと前はScala民がやたらKotlinを叩いてたけど、それももう見なくなったな
271 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 13:18:45.36 ID:ikkFeMPB.net] 現在はKotlin教とGo教の戦い?
272 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 14:52:01.31 ID:e0d6KWci.net] 言語に自己肯定感を求める人は無難無個性言語Kotlinや低脳言語Goでは欲求が満たされないことを知りRustへ行った
273 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 18:00:16.64 ID:41RZIXro.net] >>267 両方とも同時期に流行り始めたけど、用途的にあんまり競合してない希ガス
274 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 19:36:21.84 ID:n4QfG8LN.net] おれもどうせならオシャレな言語がいいんだがスマホのアプリ作りたいならkotlinしかないよね?
275 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 20:05:24.56 ID:o4GE+skC.net] つDart
276 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 20:07:39.49 ID:kPXKdc0M.net] dartがオシャレ…?
277 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 20:43:21.05 ID:KRdNZL9E.net] flutter普及への最大の障害がDartだよな
278 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 22:02:27.55 ID:O2gl0nE8.net] >>270 あなたの言うスマホアプリがゲームだけであるなら、Unityを使うことができる これはWindowsマシンでAndroidゲームもiPhoneゲームも作ることができる(iPhoneの実機はあったほうがいいけど) あなたの言うスマホアプリがiPhoneアプリであるなら開発マシンはMacでiPhoneは必須、個人なら言語は公式のSwift(就職する気なら今からObjective-Cに手を出して時間不足で爆死しよう) Windowsマシンでも作成だけはできるがユーザーの「よくわからないけど動きません」に対して「よくわからないので直せません」と答えるしかなくなる(所詮エミュ) あなたの言うスマホアプリがAndroidアプリである場合のみ、Windows(別にLinuxでもMacでもいいけど)でKotlinを使うことで作ることができる ゲームを作ることももちろんできるが、基本的に全部自力での実装になるので序盤から山が高いし若干面倒くさい(後々勉強にはなるが) 手間と面倒だけ考えるならUnityとC#でやったほうがサンプルも解説も書籍もライブラリも山ほどあるし楽は楽、詰まってもだいたい先人が解いてるのでイージー。タイムイズマネー もちろん他の言語で作ることもできて、たとえばもしあなたにC++の知識があるならC++でゴリゴリ作ることもできるんだけど、そんな人はこんなこと聞かないよね えっXamarin?ごめーん忘れてた。「もしあなたがいっぱしのWindowsアプリケーション開発者であるなら」その知識とXamarinとC#と.NETを使うことでAndroid/iPhoneアプリ開発ができるよ
279 名前:デフォルトの名無しさん [2019/02/13(水) 23:07:05.67 ID:eA/7rWxO.net] >>268 それぞれちょっとずつカジってみたんだけどScalaの人がRustでファイナルアンサーするとは思えんかった。 RustはWebやるにはキツかったからまだどっかで彷徨ってるのかも。 >>269 現在のGoの用途→Webサーバ、Nativeアプリ JetBrainsが思惑ってるKotlin, Kotlin/Nativeの用途→ Webサーバ, Nativeアプリ、というか何だか色々。 うまく行けばこれから競合していくんかな。
280 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 06:44:05.14 ID:l2sDxPpK.net] >>275 Goもこちょりんもどちらも使うけど、一口にWEBサーバーと言っても得意なジャンルが違うな、少なくとも現時点では。 今後GoにSpringみたいなフルスタックのフレームワークが出てきたら思いっきり競合するかもね。
281 名前:デフォルトの名無しさん [2019/02/14(木) 09:29:59.23 ID:9tQDIG7c.net] 合体させて Gotlin
282 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 11:59:45.42 ID:PQjGjDTM.net] 実際、Goの運用性とKotlinの生産性が合わさればわりと最強だと思う Kotlin nativeみたいにKotlinのエコシステムを再現する方向だとどうしてもJVMをエミュレーションするような感じになって歪みが出る 逆にGoの文法をKotlinに寄せるほうが筋がいい
283 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 13:00:16.45 ID:DBAMfZpK.net] 歪みってどういうの?
284 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 15:39:16.51 ID:cVDEqZjL.net] >>279 逆に聞くが、仮に完全にゼロベースで Kotlin native を開発してたとして、今と同じ言語仕様になったと思う? 特定の処理系を前提にして作られて普及した言語が他へ移植されて成功した例はない
285 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 17:06:41.26 ID:DBAMfZpK.net] 具体的な支障は無いってことでいいの?
286 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 19:02:02.86 ID:HgCh9LDM.net] 横からだけどjvmの負の特性も引き継ぎやすいってことかと思った。 起動が遅いとか、メモリ食うとか。
287 名前:デフォルトの名無しさん [2019/02/14(木) 21:20:40.39 ID:FnxMJF+D.net] 起動が遅い事は遅いが昔からすれば今時のPCは速いね。 Windows95や98の頃なんかどうしてくれようというほど遅かったからなあ。 昔はみんな忍耐力強かったよなあ。
288 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 05:29:24.84 ID:Ytmv+Yd8.net] >>280 確かにJVMのジェネリクス型消去がなかったら、reifiedみたいな複雑怪奇な仕様はなかったろうな。 移植については大抵は非公式移植事例だから、楽観はできないけど、まだ決めつけるには速いかと。 Scala.NET...うっ、頭が...
289 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 08:15:53.64 ID:EWf/hEPb.net] 新しいところでいうと、inline classなんか普通にユーザー定義の値型があれば全く必要ないな unsigned integerもだいぶ無理矢理感が酷い Kotlin native特有の話だと、C interopのための構造体のマッピングとか超無理矢理で最高にエイリアン感ある
290 名前:デフォルトの名無しさん [2019/02/15(金) 09:58:26.61 ID:KLsspNaS.net] iPhoneにおけるSwiftの立ち位置=AndroidにおけるKotlinの立ち位置
291 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 10:48:24.63 ID:szDoWtiX.net] あ、はい
292 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 10:54:34.88 ID:tar5L0r6.net] inline class = ユーザー定義の値型 = C#のstruct そして最適化が十分ならそれらが必要無いことをRustとGoが証明してる ヒープかスタックかは自動で判断される
293 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 10:56:38.52 ID:PR4djPv7.net] 特定のVM前提で設計されて他へ移植されて成功した言語の例としてはAndroidのJava/KotlinやUnityのC#、Node.jsのJSあたりが該当すると言えなくもないけど、 それらは言語の移植ではなくVMごと移植だからなあ 基本的にVM言語の他への移植は成功しないよ
294 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 11:07:58.47 ID:tar5L0r6.net] AndroidやC#のいくつかのターゲットはAOTで それらも「VMごと」に含むなら LLVMを使うC++(Clang)も同じ扱いになる
295 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 15:42:23.69 ID:FI28dGgE.net] 最近、kotlin触ってるけど、C#より学習コストが高いです それで、C#erがkotlinに切り替える際に、意識すべき点って何かありますか?
296 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 16:15:05.26 ID:PR4djPv7.net] >>291 Javaの制限を理解すること JVMは.NETのCLRに比べて機能的にはずっとショボくて、その制限に由来する奇妙な仕様がKotlinには数多く存在する Javaに慣れてないとそのあたりは直感的に理解しづらい
297 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 17:24:02.62 ID:Hx3jejna.net] >>292 さんの言ってる「Javaの制限」て例えばどんなこと?
298 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 17:29:59.00 ID:tar5L0r6.net] >>291 プログラム言語全般に言えることだけど 各構文を概要程度でも良いので、まずは一通り知ること C#知ってて引っ掛かりそうな箇所として思いついたのは ・最後のパラメータがラムダの場合は丸括弧の後に書ける 他に引数が無い場合は丸括弧も省略出来る (GroovyやSwiftのTrailing Closureと同じ) ・レシーバ付きラムダ ・inlineラムダ ・returnはfunから抜けるもので、ラムダから抜けるものではない ・IterableとSequenceは遅延評価 ・コンパイルでジェネリクス情報は消える ・suspendは同期(await)が基本動作
299 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 17:31:30.02 ID:tar5L0r6.net] >>294 脱字 × ・IterableとSequenceは遅延評価 〇 ・Iterableと違ってSequenceは遅延評価
300 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 22:07:22.01 ID:KHCIiBIM.net] kotlin勉強中なんだけど、結局のところjetbrainsがscala推さずにkotlin出したのは何でなの? 商業的に旨みがあるから?それともbetter javaとしてのscalaに見切りをつけたから?それとも?
301 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 22:33:17.97 ID:tar5L0r6.net] コンセプトの違い
302 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 23:10:54.49 ID:9S5XTVoX.net] >>296 自分でScalaやってみればすぐにわかるよ まともな感性があれば、あんなものが普及するわけがないことは明らかだった JetBrainsもIDEを作る会社として自由にできる言語が一つは欲しかったというのはもちろんあっただろうけどね
303 名前:デフォルトの名無しさん [2019/02/15(金) 23:25:58.35 ID:KHCIiBIM.net] >>296 なるほど。Scalaのこれ以上の普及は難しいという判断があった(だろう)ってことなら納得。
304 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 23:41:27.98 ID:KHCIiBIM.net] まちがえた。上は >>298 雑念を捨ててkotlin邁進してきます
305 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 15:17:06.30 ID:lTjIe/CZ.net] Scalaは言語マニアのオナニー言語だよなあ
306 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:00:29.98 ID:odkD9xpX.net] なんだかんだでscalaは採用企業多いけどね kotlinもtwitterとかpaypalみたいな大手で使ってくれると宣伝になるんだけど
307 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 17:31:16.36 ID:W7DuQqzW.net] 日本のYahooがKotlin採用したくらいではさざなみさえ立たないか
308 名前:デフォルトの名無しさん [2019/02/17(日) 08:06:13.22 ID:8BWCGdz7.net] Scalaの方が出たのが早かったし意識高い系(笑)が挙って使ったから でもそれを維持出来る新人たちが居ないのが現状 Scalaは端的に複雑で難解な部分が多い 2018年後半以降Scalaの記事殆ど見かけないやろ? コップ本(笑)
309 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 11:12:07.88 ID:IdBTBZJc.net] Androidの公式言語がScalaになる世界線もあり得たと思うけど、そうならなかったってことはつまりそういうこと
310 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 11:17:52.27 ID:IdBTBZJc.net] 一年くらいScalaで仕事してたしまあ慣れればどうってことはないと思うけど、ScalaとKotlinで選べるとしたらよほどの変人以外はKotlin選ぶと思うわw
311 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 11:30:47.79 ID:OQFPUwNT.net] ScalaはHaskellを意識しすぎ 簡潔に書きたいだけならKotlinかClosureの方がいい
312 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 11:57:32.09 ID:nzXhLQND.net] Scalaのコンセプトは、スケーラビリティの理論実証 オブジェクト指向と関数型の統合によりスケーラビリティが実現すると考え 小規模から大規模まで同じ書き方/考え方で記述出来るように設計されている 出自はコンピュータサイエンスの学者 Kotlinのコンセプトは、より良い産業向け言語 Javaからの移行や相互運用、コンパイル速度、使い勝手について 「仕事の道具」であることを意識して設計されている 出自はIDE製品を提供する企業
313 名前:デフォルトの名無しさん [2019/02/17(日) 12:47:22.79 ID:7MWZQWrl.net] どっちも我田引水なだけやん
314 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 13:01:53.97 ID:nzXhLQND.net] 設計思想と既存資産があるから多様に派生し人が集まる C, C++, Objective-Cが合流しないのも同様 それを我田引水と評することに何の意味もない
315 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 15:40:49.55 ID:1RbyA1NJ.net] >>310 クスクス
316 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 15:53:56.04 ID:tF7RiGiR.net] scalaでAndroidのプラグインとかあった気がする 我田引水ってなんか意味わからんな
317 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 23:16:27.59 ID:ek0K0t7B.net] >>309 むしろ我田引水でない言語なんかあるんだろうか。 強いて言うならgrassとかwwww
318 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 02:04:27.28 ID:XPBhJDxI.net] 我田引水ってのは共用物について不正に占有したり自らの便宜を図ったりするような場合を言う 自己アピールや競争を含めた利己的な行動すべてを我田引水と揶揄するのは農耕民族的な発想が過ぎる そういうのは道徳というより村八分や出る杭が打たれるのを恐れる面が強くイノベーションの足枷
319 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 11:11:01.50 ID:+13B6eaL.net] もはや何のスレだか分からない
320 名前:デフォルトの名無しさん [2019/02/18(月) 13:20:37.82 ID:cZFby2gr.net] 道徳説教スレ
321 名前:デフォルトの名無しさん [2019/02/18(月) 13:34:09.52 ID:trvxFZJG.net] 我田引水スレ
322 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 19:19:37.69 ID:I6FKQlBO.net] 後ろ盾がjetbrainsっていうのはどうなんやろ。 大手と比べてどんなメリットデメリットあると思う?
323 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 19:29:55.81 ID:Sk2Bqw0/.net] てか、我田引水ってどういう意味だっけwwww
324 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 19:50:06.12 ID:TrdfW/q6.net] >>318 googleと仲いいしintellijシリーズが売れなくなるとも思えんし安泰なんじゃ?
325 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 20:44:26.76 ID:bWM4TeHv.net] スカラ信者がまた荒らしてるな
326 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 21:57:58.91 ID:EXht3ErA.net] >>318 大手と比べるとメリットはない。後ろ盾のない言語よりはいい。 IDEの開発会社という意味では、言語の普及がIDEの売上に直結する可能性があるので Oracleみたいに独立不採算だからマネタイズに走るという思考にはなりにくいが、 絶対的なものではない。
327 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 22:33:30.93 ID:nEhvYQ88.net] IDEの開発会社であるが故のリスクもあるけどね VSCodeのような強力な他の開発ツールがKotlinサポートにおいてIntelliJを超えてしまってユーザーが流れた場合、 JetBrainsにとってKotlinの開発を続けることにもはや意味がなくなってしまう
328 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 22:58:18.56 ID:/oirkxE3.net] 後ろ盾最強はやっぱrust?
329 名前:デフォルトの名無しさん mailto:sage [2019/02/18(月) 23:02:22.94 ID:3dpq5+94.net] Goでぇす!
330 名前:デフォルトの名無しさん [2019/02/19(火) 08:14:46.86 ID:cAOiK8uf.net] 後ろ盾の強さでいったらGoだべ あれだけの巨大企業がついてる上に、開発も独裁せずに異常なまでにオープンであることを重視してるし
331 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 09:12:17.39 ID:D8b3v+Fo.net] >>326 最強のSEO力でそう見せてるだけだぞ それでもDartに対するヘイトは抑えきれなかったようだが
332 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 09:33:24.18 ID:cAOiK8uf.net] >>327 直接Go開発周りのディスカッションを見てきての感想だから、SEOも何も関係ねーよ 英語が読めるなら自分の目で確かめることをお勧めする あれはある意味理想的なOSS開発の形かもしれない
333 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 13:20:28.53 ID:VQ802aqj.net] goは好きじゃないが>>326 の言うことには同意 でもDartちゃんは駄目だから早く眠らせてあげて…
334 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 14:47:06.45 ID:dYxLB9sm.net] FlutterがDartじゃなければ一気に覇権を取るまでありえただろうにな
335 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 14:22:13.38 ID:v2qgHXVs.net] Android次期OSの開発言語がDartになるみたいな話どうなったん
336 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 15:43:28.44 ID:YlCEZG7R.net] 夢のOSなので夢で終わる
337 名前:デフォルトの名無しさん [2019/02/20(水) 15:54:05.41 ID:agArr1lp.net] ダー子
338 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 16:09:47.41 ID:xuurx1V0.net] >>331 https://9to5google.com/2019/01/02/android-runtime-app-support-fuchsia/ つまりJavaもKotlin/JVMも使える
339 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 17:27:44.53 ID:9tgV50SM.net] Dream → Nightmare
340 名前:デフォルトの名無しさん [2019/02/20(水) 19:05:59.81 ID:v7iPz90J.net] 夢は見るもの 目標は叶えるもの
341 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 19:45:33.26 ID:TCqLAjvR.net] 夢を見る島
342 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 21:47:37.37 ID:sBZRwN3G.net] >>337 小鳥ん島 >>336 揚げ足鳥で悪いが、目標は達成するものだと思う。
343 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 04:03:22.89 ID:DtR1+6r8.net] >>334 まじかよダートいらねーじゃん
344 名前:デフォルトの名無しさん [2019/02/23(土) 12:08:36.03 ID:9pS68leH.net] Котлин
345 名前:デフォルトの名無しさん [2019/02/24(日) 12:59:23.23 ID:pmK9w2Lp.net] ランキング画面を作っていてRecyclerViewの項目のソートをしたいんですが、 Cellectionをお気に入り数の降順でソートした上で、 タイトルとサブタイトルの昇順にソートするにはどうしたらいいですか 以下でお気に入り数の降順でソートするところまではできたんですが。 RankingDatas.sortedByDescending { it.bookMarkCount }
346 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 17:16:45.57 ID:DytDvOjA.net] 俺だったらデータを抜いてくる時点でソートをかけて抜いてくる。
347 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 17:28:12.24 ID:pmK9w2Lp.net] APIレスポンスはそうして返してるんですが、 ローカルでお気に入りオンオフしてランキング順位が変わった場合に 再度APIを叩いてデータを取り直すのも微妙なので その場合はローカルでソートして 順番を入れ替えたいという感じです
348 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 18:25:01.14 ID:nlMNXQkf.net] ドキュメントにこう書いてあるからascendingとdescendingを順次呼び出せばいいんじゃない? The sort is stable. It means that equal elements preserve their order relative to each other after sorting. 呼び出す順序はソート優先順位の逆順で
349 名前:デフォルトの名無しさん [2019/02/24(日) 20:05:27.33 ID:pmK9w2Lp.net] rankingDatas.sortedByDescending { it.bookMarkCount }.sortedBy { it.title }.sortedBy { it.subTitle } やってみましたが、途中の結果は捨てられて単に subTitle の降順になるようです
350 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 20:26:13.24 ID:pmK9w2Lp.net] 昇順か
351 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 21:01:47.88 ID:DSwgvg4z.net] sortedWithつかえ
352 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 21:07:06.34 ID:pmK9w2Lp.net] できましたありがとうございました
353 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 01:07:00.43 ID:EPSsIluE.net] 呼び出す順序はソート優先順位の逆順でと言ったのに伝わらなかったか
354 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 05:33:03.93 ID:D5d9E5fI.net] 「kotlin sort multiple fields」で検索!
355 名前:デフォルトの名無しさん [2019/02/26(火) 03:00:37.89 ID:lsok3PaS.net] こういうことしたかったのか? https://code.i-harness.com/ja/q/2388797
356 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 06:27:00.41 ID:oQJIDyJZ.net] 久しぶりに触ったらcoroutineがだいぶ変わってるらしくて以前からとりあえず動くけどよく分かってない状態だったのにもう全然分からないよ……(´・ω・`)
357 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 07:07:49.29 ID:UAPWfCGq.net] >>352 とりあえず前知識として「コールバック地獄」について知っておくといいかも
358 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 08:39:12.02 ID:5k0N70Wq.net] coroutine登場人物多すぎ
359 名前:デフォルトの名無しさん [2019/02/26(火) 09:55:03.32 ID:E0EMtjG2.net] え?子ルーチンそんなに変わったの?
360 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 10:37:15.60 ID:UAPWfCGq.net] experimental中は色々変わったけど正式版以降の使い方は基本的に変わってないよ https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md
361 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 12:06:54.02 ID:5MxkS3P7.net] >>351 のリンク先で、数値なら、- で降順にできるのか? list.sortedWith(compareBy({ -it.age }, { it.name }, { it.address })) Ruby なら、 arr2 = arr.sort_by { |a| [ -a[:score], a[:room] ] }
362 名前:デフォルトの名無しさん [2019/02/26(火) 18:17:15.84 ID:k06atLuF.net] >>357 できる。
363 名前:デフォルトの名無しさん [2019/02/28(木) 03:26:51.88 ID:oRFlldUh.net] ま、しかし、複数項目で昇順降順が混在する場合は自分で Comparator 作っちゃった方が楽かもね。
364 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 07:06:25.14 ID:Lh1ejLNL.net] いやいや rankingDatas.sortedBy { it.subTitle }.sortedBy { it.title }.sortedByDescending { it.bookMarkCount } でいいじゃん
365 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 09:12:21.78 ID:sPMvbV7g.net] 直感的でない
366 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 09:15:13.48 ID:UGZ/YaG8.net] >>360 処理時間3倍かかるよそれ
367 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 10:37:24.91 ID:o8LdAn98.net] >>362 10万件ソートするなら使えないし、1000件しかソートしないなら問題ない ランキングならたいした件数ないんじゃない
368 名前:デフォルトの名無しさん [2019/02/28(木) 13:05:23.62 ID:oAFMMcaR.net] >>360 それって2番目の並べ替えで1番目の並べ替えの順序が変わらないことは保証されてるの?
369 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 13:16:03.81 ID:TwQuwGRl.net] stable sortだから保証されてる
370 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 15:53:56.89 ID:sPMvbV7g.net] mutableLivedataを外部に公開したら良くないってことで 別途livedataを作ってそいつに参照を持たせて 外部にはlivedataだけ公開するっていうのを 全部のmutableLivedataに対して行うの面倒臭いんですが なにかいい方法ないですか
371 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 19:05:52.26 ID:TwQuwGRl.net] よく知らないけどmutableLivedataをコンストラクタで貰って それを元にlivedataを作って両方保持するクラスでも作って包めばいいんじゃないの
372 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 01:02:08.44 ID:8x0yRf06.net] それで何か解決するんですかね 結局view側からmutableLivedataに アクセスできるんじゃないですかね
373 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 06:35:34.41 ID:eJTnddJA.net] 本当にやり方が思いつかないならもうちょっと経験値の高い先輩なりに相談してみよう
374 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 08:39:12.55 ID:8x0yRf06.net] 分からないならレスしないでください。うざいだけです
375 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 09:24:26.88 ID:ajbNVKsu.net] 動かしてないけどこんな感じ import android.arch.lifecycle.* import kotlin.reflect.KProperty //保持用 fun <T> unmodifiableLiveData(d:LiveData<T>): LiveData<T> = Transformations.map(d){it} class MutLiveWrap<T>(val lv:MutableLiveData<T>) { val readonlyLv = unmodifiableLiveData(lv) operator fun getValue(thisRef: Any?, property: KProperty<*>) = readonlyLv } val <T> MutableLiveData<T>.wrap get() = MutLiveWrap<T>(this) //使用 class Test { private val aWr = MutableLiveData<Int>().wrap val a by aWr fun f(){ val mutLv: MutableLiveData<Int> = this.aWr.lv val roLv : LiveData<Int> = this.a } }
376 名前:デフォルトの名無しさん [2019/03/01(金) 11:13:31.72 ID:PhmT31GH.net] >>370 分かりません。
377 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 11:44:05.14 ID:AdJjcFYH.net] >>370 技術力がないだけじゃなくて人間とし
378 名前:トも終わってるのな [] [ここ壊れてます]
379 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 12:41:01.41 ID:yZJ4Zkhu.net] 荒らしに返事するな! そいつは前からいる、荒らしだろ。 相手をすると、この板に居つくだけ!
380 名前:デフォルトの名無しさん [2019/03/01(金) 12:57:49.73 ID:PhmT31GH.net] ま、しかし、このスレの場合は日頃は過疎ってるのでたまに荒しが来てくれた方がスレが活性化して落ちる心配がなくなるなw
381 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 16:06:36.33 ID:XD1TRf4c.net] developer.android.comの最近のページはコードサンプルがKotlinとJava両方載ってるんだね タブで切り替えるんだけど最初に表示されてるのはKotlin
382 名前:デフォルトの名無しさん mailto:sage [2019/03/01(金) 16:54:26.44 ID:ae30enpy.net] 俺も動かしてないけどつくってみた import androidx.annotation.MainThread import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.Observer private class ReadOnlyLiveData<T>(private val liveData: LiveData<T>) : LiveData<T>() { override fun setValue(value: T) { TODO("この関数を呼び出したとき、リードオンリーだから使えないよって教える。") } override fun postValue(value: T) { TODO("この関数を呼び出したとき、リードオンリーだから使えないよって教える。") } @MainThread override fun observe(owner: LifecycleOwner, observer: Observer<in T>) { liveData.observe(owner, observer) } @MainThread override fun observeForever(observer: Observer<in T>) { liveData.observeForever(observer) } @MainThread override fun removeObserver(observer: Observer<in T>) { liveData.removeObserver(observer) } @MainThread override fun removeObservers(owner: LifecycleOwner) { liveData.removeObservers(owner) } override fun getValue(): T? = liveData.value @SuppressWarnings("WeakerAccess") override fun hasObservers(): Boolean = liveData.hasObservers() @SuppressWarnings("WeakerAccess") override fun hasActiveObservers(): Boolean = liveData.hasActiveObservers() } fun <T> LiveData<T>.readOnly(): LiveData<T> { if (this is ReadOnlyLiveData<T>) return this // もうすでにリードオンリー return ReadOnlyLiveData(this) }
383 名前:デフォルトの名無しさん [2019/03/02(土) 06:14:14.54 ID:qFBH5IQH.net] >>357 降順と昇順が混在する場合は compareBy または compareByDescending で Comparator 作って それに対して thenBy または thenByDescending で追加させて行く方が楽だし速いと思う。
384 名前:デフォルトの名無しさん [2019/03/04(月) 16:04:14.52 ID:/4qbaGVQ.net] AnkoでBottom Sheetって使えますか?
385 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 09:22:28.79 ID:Yj0eRJ2i.net] なんか面白い話題ないんかな。。
386 名前:デフォルトの名無しさん [2019/03/08(金) 10:46:41.80 ID:pv8HlopZ.net] 君が面白くなりなさい。
387 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 13:24:56.87 ID:AzqZJLRD.net] springがフルkotlinになるのはいつ?
388 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 18:01:21.77 ID:rmua+rZ/.net] Exposed1.0が出るのはいつ?
389 名前:デフォルトの名無しさん mailto:sage [2019/03/10(日) 12:52:23.09 ID:t+kr7Jdy.net] sequenceってジェネレーターみたいなもの?
390 名前:デフォルトの名無しさん mailto:sage [2019/03/10(日) 13:42:04.30 ID:56gRJqyl.net] >>384 SequenceはIterableとほぼ同じ 違いは Sequence: 遅延評価する (なのでジェネレーターも含む) Iterable: 基本的には遅延評価でない (通常、実体はコレクション) 拡張関数も別れていて、例えば Sequenceのmap は遅延評価するSequenceを返す Iterableのmap はその場で全要素を処理してListを返す
391 名前:デフォルトの名無しさん [2019/03/11(月) 00:27:22.19 ID:+Nlo5Elt.net] ずばり説明が書いてあるページを発見した。 KotlinのListとSequenceって何が違うの? https://qiita.com/KirariGlock/items/9aa251a44c11900c8b5f
392 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 07:22:41.11 ID:0boP2QX3.net] うんこは最後に出す方法
393 名前:デフォルトの名無しさん [2019/03/11(月) 17:24:32.47 ID:2ppgAkG/.net] げ、知らなかった。 ずっとIterableがStreamの代わりだとばかり。 PythonのSequenceと混同してた。 ならば、Iterableをあそこまでゴージャスにする必要があったのか?
394 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 18:33:50.09 ID:JQuKUcCl.net] 誰かの趣味だよきっと
395 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 18:35:48.60 ID:oxE6wZ/Z.net] >>388 典型的なコレクション操作では遅延評価せずその場で全処理する方が早いため 意味付けが違うだけで、SequenceとIterableは同じ拡張関数を持ってるくらいの認識でOK 分かりやすさのため、あえて使い分けを用意しなかった Javaの割り切り方もありだとは思うけどね
396 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 21:05:48.78 ID:MDT71nit.net] SequenceはJava8のStreamと類似で、KotlinであえてStreamを使うべき機会はほとんどないからSequenceを使っておけば良いってことかな
397 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 23:18:53.36 ID:+cXkYAGY.net] そしてSequenceって変数にぶち込んで使いまわせなかったっけ?
398 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 01:11:15.05 ID:WllyGH1o.net] partitionのSequence版が無くて自作したわ groupingByも遅延評価だけど使い方がむずい(毎回リファレンス読み直す)
399 名前:デフォルトの名無しさん [2019/03/12(火) 08:13:05.73 ID:z/76z4zm.net] >>391 pararellがないな。 はっきり並列化できる処理なら、Streamの方がJavaの言い回しを考慮した上でも直感的にかける。
400 名前:デフォルトの名無しさん [2019/03/12(火) 12:54:36.68 ID:6Uu2j9Xc.net] kotlin推しがgoを推薦 https://www.youtube.com/watch?v=KGzoE6z7ojk
401 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 14:55:36.01 ID:7iAawGvK.net] python,go,kotlin全部推してるやん
402 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 15:14:48.22 ID:iD2RJper.net] >>396 このレスは板内爆撃 本人かシンパかアンチか荒らしかいまいち判別できないので放置でよいよ
403 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 15:56:40.12 ID:7iAawGvK.net] >>397 そうか。すまん
404 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 11:53:34.93 ID:28C0KCt9.net] そもそもなんの権威でもないやろこの人
405 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 13:53:25.25 ID:jFsymRCD.net] 坊やだからさ
406 名前:デフォルトの名無しさん [2019/03/16(土) 16:06:54.74 ID:ksQagb59.net] 俺が Kotlin 押しビデオ作って公開すればいいのか? しかし Kotlin 初心者なので「いいですよ〜。最高ですよ〜」などと情緒に訴えて見ている側を洗脳しようとすることぐらいしかできない。
407 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 16:14:10.50 ID:YxxaJZky.net] >>401 ジャップに布教するなら、みんな使ってますよ〜乗り遅れますよ〜仲間外れですよ〜だけでいいよ 初心者のお前でも、有名企業でのKotlin採用事例を集めて紹介するくらいはできるだろう?
408 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 16:20:48.33 ID:28C0KCt9.net] まぁでも、kotlin go あたりが推奨されるのはわかるけどな 今更phpとかおすよりかは説得力ある
409 名前:デフォルトの名無しさん [2019/03/16(土) 17:20:10.49 ID:ksQagb59.net] >>402 ああ。そうだな。 後は学生向けにこれさえできれば楽々就職みたいに言うと。
410 名前:デフォルトの名無しさん [2019/03/16(土) 17:27:02.08 ID:ksQagb59.net] やっぱこれも必要だろうな。 https://imgur.com/b5zh9pa
411 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 17:28:59.66 ID:ksQagb59.net] 既にどこの国の誰だか知らんが絵を作っている人はいた。 https://imgur.com/gallery/dIvW5Sh
412 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 18:08:41.49 ID:fOPvRjrc.net] PreferenceFragmentが非推奨になる ↓ 代わりにandroidx.preference liblary使えって言われる ↓ 日本語のガイドに説明なし 適当すぎんだろイライラ
413 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 21:15:53.12 ID:t+AGMGYK.net] あんま関係ないけどmavenのkotlinプラグインで増分コンパイルされないのって仕様?
414 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 09:41:08.53 ID:7YQXcQeA.net] >>407 ドキュメント読めば書いてあるし問題なくね?
415 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 17:50:47.00 ID:VkTfSOi0.net] >>407 本気で言うけど、公式ドキュメント程度の英語は頑張って読んだ方がいいと思うよ。
416 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 19:24:24.40 ID:6b7FslP4.net] まぁAndroidの公式リファレンスは言語切替をシステム化してるから ドキュメントのバージョンが不一致なら警告表示するくらいすればいいのにとは思う iOSの方は英語以外バッサリ切り捨ててる(最新は英語読めと明示してある)から 中途半端に惑わされることは無い
417 名前:デフォルトの名無しさん [2019/03/18(月) 20:47:50.90 ID:1gtRswz3.net] いつの間にかこんな入門書出てたよ。既にKindle版もある。 Kotlinプログラミング https://www.amazon.co.jp/dp/B07M8LKSKV
418 名前:デフォルトの名無しさん [2019/03/19(火) 03:22:14.95 ID:j5JxWPYN.net] もっと可愛い名前にすれば良かったのに swiftみたいな
419 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 03:33:14.71 ID:EnTGEExM.net] 古都リンちゃん
420 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 10:04:27.55 ID:InXhSaoV.net] >>409 日本語でしか表示されないんだが
421 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 10:51:32.88 ID:STa9vfc0.net] >>415 ページ一番下に言語切替がある リファレンスページでは正常に切り替わらないことがあるからトップページで切り換えた方がいい https://developer.android.com/ もしくはURLに言語を英語にする「?hl=en」を付ける https://developer.android.com/guide/topics/ui/settings.html?hl=en 日本語の方はAndroidXの記述が無いな https://developer.android.com/guide/topics/ui/settings.html?hl=ja
422 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 12:07:55.88 ID:t/u/FScK.net] Androidは公式で日本語ドキュメントあるのか Kotlinのドキュメントは有志がやってたけどもうメンテしてないよな
423 名前:デフォルトの名無しさん [2019/03/19(火) 12:30:24.38 ID:BI7+7Q7/.net] 君がやってくれ。たのんだぞ。
424 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 14:20:51.95 ID:3khslMEX.net] Kotlin in actionとどっちの方がいいんだ
425 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 15:10:03.68 ID:TG1sbbZQ.net] >>416 丁寧にすまんな……
426 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 17:12:09.49 ID:7p2/yAlP.net] >>417 公式日本語ドキュメントは更新が遅いから読まない方がいいぞ
427 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 17:54:02.89 ID:qahjbQKM.net] kotlin native応援してるんだけど何が一番貢献になるんやろか? 翻訳とか細かなライブラリ作ったりくらいなら時間かければできそうなんやけど、難しいことはできん。 やっぱ募金とかなんか?
428 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 18:07:06.75 ID:VCt0hAH/.net] >>422 まずはなんとかしてVSCodeを潰そう このままだとJetBrains無くなるよ
429 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 18:12:21.52 ID:STa9vfc0.net] >>422 とりあえず公式リポジトリのスターとfork数増やして kotlin nativeであることをアピールしたライブラリ作ればいいのでは ただ、現時点ではパフォーマンスが残念だからお勧めしない 出来ることが違うとはいえ、ロジック部分は JVMどころかKotlin/JS経由のnodeで動かすのより7〜10倍くらい遅い まだコンパイラの最適化をやってないのは救いだけど 俺はARC with cycle collectorがスループット下げてる可能性を気にしてる もしそうなら最適化やっても思うほど改善しないんじゃないかと
430 名前:デフォルトの名無しさん [2019/03/20(水) 08:09:47.58 ID:vnEhpOgU.net] JSとかnativeとかどうでもええ。 いろいろ変更予定のあるJVMとAndroid対応だけしっかりやれや。
431 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 09:36:36.87 ID:bT3jH/zR.net] JetBrainsの業績そんなに悪くないしむしろ伸びてるはずだけど
432 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 13:58:35.52 ID:uYHRW+dq.net] とりあえずgitとintellijの更新はしとく。 作るとしたら何系のライブラリがいいと思う?
433 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 14:21:09.73 ID:wkbxcvwm.net] >>427 自分で使うやつ より正確に言うとプルリクエストが来たときに議論できる程度に思い入れのあるやつ 使いもしないのに聞きかじりで作るのはやめておいたほうがいい
434 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 15:39:59.54 ID:uYHRW+dq.net] なるほど。何に思い入れがあったか思い出してくるわ。 ありがと
435 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 17:00:17.12 ID:BuSIOCAA.net] むしろMicrosoftのほうが糞
436 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 20:08:58.41 ID:TxjggMxz.net] >>423 ならライセンス買おうよ。
437 名前:デフォルトの名無しさん mailto:sage [2019/03/20(水) 20:09:44.23 ID:kvLAmSD0.net] そういえばXamarinネタ見なくなったな
438 名前:デフォルトの名無しさん [2019/03/20(水) 21:34:30.03 ID:/gKFWWq8.net] >>432 まあ知ってる人はごくわずかだから話題にしたくても出来る人はいないだろう。
439 名前:デフォルトの名無しさん [2019/03/22(金) 15:40:33.53 ID:L3xU9+dS.net] 即荒しが何か書いてスレが活性化するかと思ったら完全に無反応。本当に少数なったのだな。合掌。
440 名前:デフォルトの名無しさん [2019/03/23(土) 14:14:54.18 ID:Bvojjkpo.net] Kotlin そのものの質問ではないがこのスレの方が分かる人が多いような気がするのでここに書き込む。 IntelliJ IDEA で Kotlin のプロジェクトを作ってその src フォルダで 〜.kt を一つ作ってそこに main() が あるだけなら良いんだけど、もう一つ 〜.kt を作ってそこにも main() を作って、それぞれを別々に動かす ということはできないのかな? どうやらそのままではできないようで、そのままやろうとすると個別にコンパイル しようとしても同じ関数があると衝突してエラーになる。(最初に登録した方のソースは大丈夫。2番目に 登録した方の 〜.kt ファイルのコンパイルでエラー)。 こういう使い方は想定されていないんだろうか? しかしこれができないと小さいプログラムが沢山あるような プロジェクトは作れなくて個別に沢山のプロジェクトを作らねばならなくなる。仮にそういう風にしかできない んだとしてもそれならばプロジェクトを束ねるようなその上位の何かは作れないのか?でないと同じ階層に プロジェクトが沢山作られてしまい非常に使い辛い。
441 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 15:19:26.37 ID:HXMNak6o.net] >>435 トップレベルのmain()が名前空間で衝突しているからコンパイルエラーになると思われる。 class MyApp { companion object { @JvmStatic fun main(args: Array<String>) { のような書き出しでエントリーポイントを作ることも出来ますが、そういった方法では解決できませんでしょうか。
442 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 15:24:44.47 ID:UK/ZLX81.net] >>435 A.kt に書けば AKt.class が、B.kt に書けば BKt.class が生成されるので JvmNameとかpackage指定と合わないフォルダ下で名前衝突させたりしない限り 普通は衝突しないはずだけど
443 名前:デフォルトの名無しさん [2019/03/23(土) 15:28:37.98 ID:Bvojjkpo.net] >>436 どうもありがとう。 同じ関数がなければ main() がファイルごとにあっても大丈夫なことがわかった。 実行する時は main() の行頭の左側に出ている ? マークをマウスでクリックして実行またはデバッグすれば実行できた。
444 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 15:29:46.08 ID:Bvojjkpo.net] >>437 ああ。package 付ける方法もあるな。試してないけどそれでもできそう。
445 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 15:34:11.63 ID:Bvojjkpo.net] >>437 どうもありがとう。 できたよ。違う package にしておけば同じ関数があってもうまく行く(名前衝突しないんだから当然と言えば当然か)。
446 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 15:38:27.73 ID:UK/ZLX81.net] いや、437はpackageが同じでもファイル名が別なら衝突しないという話だよ
447 名前:デフォルトの名無しさん [2019/03/23(土) 18:56:11.23 ID:Bvojjkpo.net] >>441 package が同じというのは2ファイルが package 指定なしの時と同じだよね? それだとダメだったんだよね。IntelliJ がどういう風にコンパイルしているかの問題だろうけど。
448 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 18:58:25.76 ID:z3jdsP7r.net] さすがにスレチ
449 名前:デフォルトの名無しさん [2019/03/23(土) 19:07:58.43 ID:
] [ここ壊れてます]
450 名前:Bvojjkpo.net mailto: すまん。 [] [ここ壊れてます]
451 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 19:29:18.72 ID:UK/ZLX81.net] >>442 >同じだよね? 同じ ほんとにmainが衝突してる? main以外のトップレベル関数が衝突してるだけか、 もしくはかなり古いKotlinコンパイラ(プラグイン)を使ってない? >>443 これはKotlinコンパイラの仕様だから別にスレチではないよ
452 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 20:07:45.61 ID:UK/ZLX81.net] >>442 ああごめん435読み直したら、衝突したのはmainじゃなくて「同じ関数」なのね 対応方法としてはmain以外をprivate funにする, classまたはcompanion objectまたはobjectに入れる A.kt, B.kt ----- fun main(){ a() f.a2() } private fun a(){} private val f = object { fun a2(){} }
453 名前:442 mailto:sage [2019/03/24(日) 03:29:22.97 ID:ynFGlX0q.net] >>446 どうもありがとう。 確かに private でも名前外に出さないからできるね。
454 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 10:19:16.34 ID:E1WCPVyW.net] Kotlin/Nativeが遅い原因を逆アセンブルして調べてたらこの記事にたどり着いた https://soywiz.com/kpspemu-kn09/ UpdateReturnRefやLeaveFrameのコストが重すぎる 1.3.20時点ではリリースビルドでも最適化はされていない
455 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 19:23:47.37 ID:NbUyZWCM.net] 誰でも頭が良くなる、プログラムが書けるようになる方法が発見される 56097 https://you-can-program.hatenablog.jp
456 名前:デフォルトの名無しさん [2019/03/26(火) 21:38:27.76 ID:PDyA3k9g.net] >>449 そのためにわざわざ眼鏡買うのバカらしいから君ちょっと自分で試してみなさい。 それともブログ書いた本人だから試し済みか?
457 名前:デフォルトの名無しさん [2019/03/26(火) 21:40:50.59 ID:PDyA3k9g.net] ていうか既にプログラム書ける人ばかり来てるであろうスレでそんなの書かれても効果を実感できるやつはほとんど居ないだろうなあ。
458 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 21:53:14.49 ID:hJyrjtJ9.net] >>450 >>397
459 名前:デフォルトの名無しさん mailto:sage [2019/03/29(金) 20:35:19.53 ID:abJt4WgD.net] 今日Kotlin入門しサクッと文法をやった程度のものですがAndroidプログラミングの学習リソースを探しています JavaでのAndroidプログラミング経験はありません
460 名前:デフォルトの名無しさん mailto:sage [2019/03/29(金) 20:41:29.42 ID:KqjpTu4V.net] 今日やっていきなりかよ! もうちょっとKotlin単体で粘れよ!他にやることあるだろ!
461 名前:デフォルトの名無しさん mailto:sage [2019/03/29(金) 21:25:55.21 ID:Jv6E4VJb.net] >>454 >>453 はXamarinのAndroid開発のエキスパートかもしれん...
462 名前:デフォルトの名無しさん mailto:sage [2019/03/29(金) 21:34:48.88 ID:wVkKBlg0.net] >>453 Activityとは何か?と考えることにひたすら時間を費やす。 使用言語にかかわらずandroid開発はそれがすべて。
463 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 06:03:17.66 ID:145z6i/c.net] ぼくなんかJavaちょっとかじっただけでAndroidに挑戦しちゃったわ あの時はActivityがクラスな事すら分からずにテキスト見てその通り書いてたな……😅
464 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 13:35:02.89 ID:M1S6T7Ca.net] Rってなんですか?とか<T>ってなんですか?とかでぜひ挫折して欲しい
465 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 15:12:50.70 ID:b12H3n9S.net] 挫折するような人はRとは?とか<T>とは?なんてこと考えたりしない
466 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 15:38:23.64 ID:bfZyzxOj.net] >>453 「Android Hello World」でググる 何はともあれ、まず動かすのが最速の学習
467 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 20:04:51.02 ID:5DG6z16F.net] RもTも知らんけど、コピペで動いてるからそれでいい 適当にやれば動く Rが赤いときは、大抵xmlの打ち間違い T?知らん
468 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 00:45
] [ここ壊れてます]
469 名前::49.25 ID:Th3XB2nz.net mailto: だいたいあってるw [] [ここ壊れてます]
470 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 01:50:31.93 ID://wZRuJn.net] reifiedつよいよな
471 名前:デフォルトの名無しさん [2019/04/01(月) 09:38:57.10 ID:Fy4OwQz+.net] 発音が難しいよね
472 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 16:18:36.04 ID:yssFrFp/.net] コトリンのジェネリクスのTってC#のdefaut(T)みたいなのある?
473 名前:デフォルトの名無しさん [2019/04/01(月) 17:10:11.92 ID:Tc5+6fel.net] 俺はC#を知らない
474 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 18:32:35.54 ID://wZRuJn.net] ない csはint x=defaultってかけるみたいだけどkotlinは明示的に0で初期化しなきゃいけない 他の型でも同じ
475 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 19:41:02.24 ID:no59bRT+.net] C#のdefaultは単なるシンタックスシュガーじゃなくて、実行時に型引数に応じた適切な値を生成してくれる機能 JavaやKotlinのハリボテジェネリクスでは原理的に不可能
476 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 21:02:06.63 ID:jyzymMUT.net] やりたくなったことは何度かある
477 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 01:27:31.42 ID:imTVpGqL.net] default(T)ないのか・・・ こうしてみたけど何か改良点ある? 例外時にnullも返せないし例外時に返すためだけに引数にt入れてるんだが・・・ import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper import com.fasterxml.jackson.module.kotlin.readValue class SJson { companion object { inline fun <reified T> toObject(json: String, t: T): T { val mapper = jacksonObjectMapper() try { val obj = mapper.readValue<T>(json) return obj } catch (e: Exception) { SLog.e(e.message.toString()) return t } } } }
478 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 07:53:18.35 ID:JAcM/MrS.net] >>470 単にnullを返したいということなら戻り値を T? にすればいい
479 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 08:46:54.35 ID:e4jQj1uZ.net] ObjectMapper って使い回してよかったと思う
480 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 09:36:52.02 ID:imTVpGqL.net] >>471 T?にしたらnull返せたわサンクス >>472 なるほどね
481 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 13:13:10.63 ID:EBXnKzt9.net] Kotlin 1.3.30 released https://blog.jetbrains.com/kotlin/2019/04/kotlin-1-3-30-released/ KAPT関連の機能追加など 符号無し整数配列の機能追加など Kotlin/Native mingw_x86サポート CocoaPodsとの実験的統合機能 C相互運用改善 他
482 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 23:07:21.58 ID:JX4xskgO.net] githubのrelease読んだけどめちゃくちゃ多かったな
483 名前:デフォルトの名無しさん [2019/04/13(土) 02:06:40.85 ID:hw3Eyeqa.net] ここからだとまだ 1.3.21 のままだね。 https://kotlinlang.org/docs/tutorials/command-line.html IntelliJ だと 1.3.30 にアップデートできたけど。
484 名前:デフォルトの名無しさん [2019/04/13(土) 02:22:02.28 ID:hw3Eyeqa.net] あれ? UInt 型の変数を String.format() で指定する時はどうするのかな? %d は駄目だし。toString() してから %s 使えってか?
485 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 09:53:18.70 ID:oqNH9LQH.net] >>477 そのまま%sでも使えるけどString.formatはそもそもKotlinでなく Javaの機能(=Kotlin/JVM以外で使用不可)なので 単純な書式ならString Template使った方がいいよ val n = 100u println( "n=${n}" )
486 名前:デフォルトの名無しさん [2019/04/14(日) 20:07:14.86 ID:JuY/4ckm.net] UInt に関しては toLong() しちゃえば良いだけだと後で気づいたが、ULong の方はどうもならんね。 ULong.MAX_VALUE と Long.MAX_VALUE は10進数だと20桁と19桁で1桁違うので桁を考慮したフォーマットはこれを考慮する必要がある。 %20d とか %020d と書いても ULong については分かってくれないので自作する必要がある。
487 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 01:34:29.54 ID:PzbTbQ3M.net] C#みたく${}内でフォーマットが使えれば一番なんだけどね…
488 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 17:43:26.97 ID:3BglWTch.net] 要望出せばそのうち出来るようになりそう
489 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 12:18:20.68 ID:je8e8yU3.net] OracleJDK有料化でますますKotlin人口が増えるな
490 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 13:16:58.17 ID:oa1dttvK.net] たしかASにjavaからkotlin変換がなかったっけ あれで全て解決するような気がするんだけど
491 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 14:47:33.44 ID:Z5+6w9VM.net] jdk有料化とかで騒いでいる奴いるけど 彼らにとってoraclejdkが唯一のjdkなのかな
492 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 14:57:46.07 ID:/crv8Bf3.net] >>484 そうだよ ついでに世界は五分前に始まった
493 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 17:40:48.18 ID:xQzUZ1Zh.net] JDK有償化の話は何ら騒ぐようなことじゃなかったのに Oracleの説明が手抜きだったからああなった あとOpenJDK公式サイトの構成が酷く大部分がメンテされてないもの原因の一つ 例えば Groups > Adoption > Wiki > Adopt OpenJDK
494 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 17:46:39.55 ID:xQzUZ1Zh.net] サイト管理者が違うんだろうけど AdoptOpenJDKへのリンクをトップに置いとけばいいのに OpenJDKのビルドインフラのメンバーが運用してるんだから
495 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 21:41:56.97 ID:oXduz3ip.net] うちはAWSのやつに順次置き換えてるわ、名前が覚えにくいけど
496 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 21:50:42.00 ID:aAzLpfHC.net] なによりJakartaEEが無能すぎる
497 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 22:34:55.70 ID:hY3XsNGB.net] そこでjblendですよ
498 名前:デフォルトの名無しさん [2019/04/20(土) 09:53:47.54 ID:IaSD8GNU.net] >>453 おぉー同士。 当方、Visual Basicアプリ、iOSアプリの経験はあるが、Android経験ゼロです。 どうやらAndroidManifest.xmlに記載のActivityがプログラムのエントリーポイントだと解った所。 iOSとの比較で言えば、 Activity = ViewController, wedgit = View, Fragment = Container ViewController AppDelegate = Application って感じらしい。
499 名前:デフォルトの名無しさん [2019/04/20(土) 11:40:44.23 ID:IaSD8GNU.net] >>491 ちょいと違うかも! Fragment = custom wedgit(user defined wedgit) みたいだな。 さて、Java, Kotlin初心者なので、両者のコードの対応表が欲しいところだ。
500 名前:デフォルトの名無しさん [2019/04/20(土) 11:43:32.64 ID:IaSD8GNU.net] >>492 >Java, Kotlin Overview of Kotlin and Comparison Between Kotlin and Java https://www.xenonstack.com/blog/overview-kotlin-comparison-kotlin-java/
501 名前:デフォルトの名無しさん [2019/04/20(土) 13:32:39.16 ID:IaSD8GNU.net] >>493 JavaとKotlinの比較 https://xenos.world/comparison-of-java-and-kotlin/
502 名前:デフォルトの名無しさん [2019/04/21(日) 13:29:56.22 ID:9kZK6Cbt.net] macOS Mojave 10.14.2 Android Studio 3.4 環境でBasic Activity Project作ってHello World表示するまで、かれこれ2hr費やした。 ハマりポイント 1. Gradle project sync failed. Basic functionality will not work properly.▶resolved with installing JDK 8u212 2. No Module Specified▶ガチャガチャやって解決。
503 名前:デフォルトの名無しさん [2019/04/21(日) 13:36:48.96 ID:9kZK6Cbt.net] ところでGradleって何だ? daemonとして動いてファイルの変更を監視するmakeコマンドみたいなものか? 今、Gradle sync failed問題で困ってる。 新しくプロジェクト作ったら、Gradle sync failedってエラー吐いて、新規にapkってかModuleを作れない。なぜ??
504 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 13:52:47.18 ID:qy+VhZ5w.net] >>496 何かというのはググってどうぞ Gradle sync failed は Android Studio側の問題 (おそらくbuild.gradle生成処理の問題) 必要なライブラリのダウンロードが終わってないと発生するような印象 Android Studioを再起動してプロジェクトを新規作成しなおすとエラーが無くなったりする
505 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 14:11:36.76 ID:Jrx6sgEL.net] gradle嫌い。 完全オフラインで開発作業したいのに、 ちょっとした事でネットアクセスを要求してくる。
506 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 14:14:25.40 ID:RKX/L/5n.net] GradleKotlinDSL使ってるけど情報少なすぎてハマるからオススメしない
507 名前:デフォルトの名無しさん [2019/04/21(日) 15:35:20.45 ID:9kZK6Cbt.net] >>497 AndroidStudio3.4(17 April 2019)には問題ありと判断して、3.2へdegradeしてみた。 Gradle sync failed issueは初回Studio起動時に発生するも、指示に従って、build toolの最新版をinstallしてみた。 その後は3.2では問題発生せず! ちなみに3.3はArchiveに発見できず。September 2018のAndroidStudioだが、まあ、良いんじゃ無いかぁ。
508 名前:デフォルトの名無しさん [2019/04/21(日) 15:53:07.87 ID:9kZK6Cbt.net] くっそ! AndroidStudio3.3は、English pageにあるのかぁ。 日本語ページに無いなんて! どうやら、日本は置いてけぼりって事だ。
509 名前:デフォルトの名無しさん [2019/04/21(日) 16:45:42.90 ID:9kZK6Cbt.net] AndroidStudio3.4 AndroidStudio3.2 AndroidStudio3.3.2 の順で試してみた。Mojave 10.14.3で。 Gradle sync failedが発生しないのは、3.2だった。 3.3.2, 3.4は発生する。 何をやっているかと言うと、 AndoroidStudioをinstallした直後に、新規プロジェクト(Basic Activity)を作った直後の挙動を調査しているのだ。 プロジェクト作成直後にGradle sync failedってよろしく無いよねぇ。 AndroidStudioをrestartしてもこの症状は解消しない。
510 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 16:51:51.27 ID:qy+VhZ5w.net] >>502 3.3以降で、エラーになったプロジェクトを捨てて 再度新たにプロジェクトを作っても発生する?
511 名前:デフォルトの名無しさん [2019/04/21(日) 17:41:08.01 ID:9kZK6Cbt.net] >>503 します。ただし、3.4の場合、何かのひょうしに解決されて、Gradle sync failedってのが出なくなります。 idea.logファイルに記録されてるWarningはこんな感じ。 WARN - n.GradleOrderEnumeratorHandler - Root project path of the Gradle project not found for Module: 'App03'
512 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:18:34.43 ID:2Pn5K2oC.net] そのへんのエラーは冗談比喩抜きで「起動しっぱなしで放っておいたら数日後に直る」経験しかない まあどっかの何かが新しい何かに何かしてなくて放置してると何かが何かなって何かするんだと思う
513 名前:デフォルトの名無しさん [2019/04/21(日) 18:20:30.52 ID:9kZK6Cbt.net] >>504 >Root project path of the Gradle project not found 解決か? ~/Library/Preferences/AndroidStudio3.4/ ~/Library/Preferences/AndroidStudio3.3/ を消してやると、Gradle Sync failed Issue解決!か? 今の所、上手く動いてる. 次は、Command Lineでkotlincコマンドを実行したいのだが、AndroidStudioをinstallしただけではダメなのだろうか? In Android Studio download page, the basic Android tools below are included in Android Studio. らしいのだが?
514 名前:デフォルトの名無しさん [2019/04/21(日) 18:36:10.73 ID:9kZK6Cbt.net] 試しに、 https://developer.android.com/samples ここからサンプルプロジェクトをdownloadしてみた。 なんと、AndroidStudio付属のGradleとは異なるバージョンのGradleのinstallが始まった。 サンプルプロジェクト毎にTarget API Levelが異なるために、それ用のGradleがinstallされるみたい。 AndroidStudio3.2, 3.3.2, 3.4をinstallしたが、しばらく3.4を使ってみる。
515 名前:デフォルトの名無しさん [2019/04/21(日) 18:38:19.48 ID:9kZK6Cbt.net] >>505 Gradle daemon(プロセス名java)をkillしてやれば、Sync failed Issueは解決するのかも!
516 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:48:08.38 ID:2Pn5K2oC.net] すまん触った
517 名前:デフォルトの名無しさん [2019/04/21(日) 19:56:32.73 ID:9kZK6Cbt.net] developer.android.comからサンプルをdownloadして動かしてたら、Gradle daemonが3つも動いてる事になった。 各々違うVersionのGradleらしい。 どうやら、androidの開発環境の歴史的変遷から、ややこしい事になってるみたいだ。 build.gradle(Module:app)とbuild.gradle(Project: kotlinApp)の2つあったり。
518 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 21:42:46.66 ID:ePLxajCC.net] 連投しているところ悪いけど、その手の日記ならQiitaにでも書いておいてほしい。 ていうか書くまでもなくそこに答えが書いてある。
519 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 22:54:30.74 ID:JMkKpOJG.net] まずはAndroid関係ないシンプルなGradleプロジェクトを作ってみることをお勧めする。基礎知識が欠落しすぎてて余計な回り道しかしてない。 よほど込み入ったことをしない限りそんなに複雑なものではないから。 少なくとも歴史上生まれてきた数々のビルドツールの中では1番マシ。
520 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 22:54:39.59 ID:8IQ6w5E8.net] .gladleのキャッシュとかいろいろあるけどねえ ガチャガチャやってりゃ直るからgladleは優しいよな
521 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 22:55:48.78 ID:JMkKpOJG.net] それ。ぶっ壊れたと思っても適当になんかしてりゃ直ってくれるから優秀。
522 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 23:56:09.92 ID:+YkyhY+W.net] まったく毎度毎度グーグルの仕事はほんんんんと雑だな
523 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 00:58:40.19 ID:47gIWCEb.net] fragmentのbindingってlateinitでvarにするのとby lazyでvalにするのとどっちが正解ですか
524 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 03:51:49.53 ID:SyBBal55.net] >>509 はい
525 名前:デフォルトの名無しさん [2019/04/22(月) 10:56:56.63 ID:QiOq/xsC.net] >>512 thx found great articles in Qiita concerning Gradle build tool.
526 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 12:17:09.85 ID:iCdpr57v.net] JVMが有償化したらおまえら阿鼻叫喚
527 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 12:49:18.33 ID:+g+F61Q1.net] 1年くらい前は確かに阿鼻叫喚だったけど今となってはもう誰も問題だと思ってない
528 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 13:54:04.36 ID:5CpOs8vM.net] >>519 JVM, JRE, JDKが今どんな状況か分かってなさそう
529 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 14:54:26.97 ID:3J9RCiSz.net] >>521 詳しく頼む
530 名前:デフォルトの名無しさん [2019/04/22(月) 16:23:17.22 ID:QiOq/xsC.net] >>522 Android Studio 3.4 Build #AI-183.5429.30.34.5452501, built on April 10, 2019 JRE: 1.8.0_152-release-1343-b01 x86_64 JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o macOS 10.14.3 これでどう?
531 名前:デフォルトの名無しさん [2019/04/22(月) 16:29:37.09 ID:QiOq/xsC.net] 俺、AndroidStudio3.4をinstallしてからGradle sync failed問題を解決しようとして、Oracle JDK8u212ってのをinstallしちまった。 AndroidStudio3.4にはOpenJDKってのが入ってるのか? Oracle JDK8u212ってのはuninstallしても良いのか? ちなみに、Command Lineでjava -vすると >java -version java version "1.8.0_212" Java(TM) SE Runtime Environment (build 1.8.0_212-b10) Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)
532 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 16:34:09.84 ID:952sQ1R
] [ここ壊れてます]
533 名前:S.net mailto: >>524 Android Studioには専用にカスタマイズされたOpenJDKが組み込まれててそれを使って動いているから、システムに別のJDKを入れようが入れまいが関係ない [] [ここ壊れてます]
534 名前:デフォルトの名無しさん [2019/04/22(月) 16:35:59.31 ID:QiOq/xsC.net] ちなみにgradleってファイル名のbash scriptがAndroidStudio3.4には入っていて、 1. $JAVA_HOME 2. which java 上記からjavaコマンドの場所を検索してgradle-launcher-5.1.1.jarを動かしてるみたいなんだけど。
535 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 16:37:13.18 ID:952sQ1RS.net] で、何がわからなくて何が聞きたいの?
536 名前:デフォルトの名無しさん [2019/04/22(月) 16:40:22.54 ID:QiOq/xsC.net] >>525 なるほど! ってことは、Oracle版JDKはuninstallしてもOK? 以下のフォルダをごそっと削除してしまいたいんだけど。 > /usr/libexec/java_home /Library/Java/JavaVirtualMachines/jdk1.8.0_212.jdk/Contents/Home
537 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 16:49:59.02 ID:952sQ1RS.net] >>528 Android Studioを動かすだけなら消しちゃって大丈夫。 そのパソコンで他にjavaに依存している何かを動かしてるなら消しちゃダメ。
538 名前:デフォルトの名無しさん [2019/04/22(月) 18:10:15.79 ID:QiOq/xsC.net] >>529 thx javaに依存してる何かは、無いです。 kotlinc(Kotlin Compiler)コマンドを使いたいので >brew install kotlin ってコマンドを打とうとしてます。 kotlinがJREを必要とするなら、JREも同時にbrewがinstallするでしょう。 だったら、消さずに残すのが良いでしょうか?
539 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 19:06:49.70 ID:R7Rys8j6.net] 幼稚園児が増える季節か
540 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 19:49:54.02 ID:BvK+7rjz.net] この前も別の初心者がkotlincで詰まってたんだけど、どこかの有名な入門サイトがコマンドライン推奨でもしてるの? 正直kotlin書くならIDE前提だろうからコマンドラインでコンパイラの使い方を覚える必要なんて全くないと思うんだが。
541 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 20:19:08.99 ID:SyBBal55.net] >>532 同じ人なのでは n=1
542 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 20:20:41.47 ID:47gIWCEb.net] dagger
543 名前:デフォルトの名無しさん [2019/04/22(月) 20:31:59.51 ID:QiOq/xsC.net] >>532 うっそーん。 コマンドラインでチョコっと、コードを試したいってこと無い? IDEよりVimが好きな俺だけか? ようやく、Quickrun.vimが動くようになって、今コレ読んでるところ。 はじめてのKotlin。Javaと比較してみた https://qiita.com/hituziando/items/fa2dc4097b24ab78276e 30分で覚えるKotlin文法 https://qiita.com/k5n/items/cc0377b75d8537ef8a85
544 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 20:41:55.57 ID:47gIWCEb.net] それならブラウザ上で実行できるplayground的なものが公式にあったはず
545 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 20:49:23.39 ID:952sQ1RS.net] ちょっと書いてちょっと動かすにしてもIntelliJでRunした方がいいしな、デバッガが超優秀だし Vimで書いてコマンドラインで実行ってのは確かに昔Javaを勉強した頃はやったけど、 今となっては出汁をとるのに鰹節を削るところから始めるような古めかしさを感じる
546 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 20:51:00.58 ID:952sQ1RS.net] まあ好みだからそれがやりたいなら良いとは思うよ 仕事で新人がそんなことで詰まってたらやんわり注意するかもしれんけど
547 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 20:51:15.45 ID:MftVaIwk.net] そういうときはREPL使ってる
548 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 21:14:37.90 ID:j5GMJ/X8.net] 単一ファイルを少し変更したいときはエディタ。 それ以外はIDEを使う
549 名前:デフォルトの名無しさん [2019/04/22(月) 21:42:39.28 ID:QiOq/xsC.net] >>537 三大Java IDEは気にはなってるけど、今の所リソース食いそうで躊躇してます。 今の所、Referenceの検索容易性から俺にはVimかなぁ。 デバッグ環境はpoorかな。
550 名前:print文を埋め込むしか、今の所は手が無しかな。 デバッグが必要ならAndroidStudio起動して、なおかつKotlin Scriptに変換して動かす事にします。 ScriptじゃないKotlinコードをAndroidStudioで動かす事は出来ないのかな?よく解らん。 Xcodeならplayground作れるんだが。 [] [ここ壊れてます]
551 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 21:53:50.10 ID:BvK+7rjz.net] 君、謎の行動力がありそうでそれはいいんだけど、 本当に何から何まで無駄なことばっかりやってるからまず最初に調べる癖をつけたほうがいい この世界は一にも二にもまずは調べることが何より大事
552 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 22:12:50.79 ID:5CpOs8vM.net] KotlinやるならIntelliJ一択 あとガワが違うだけでAndroid Studioの中身はIntelliJ ※Android以外のプロジェクト作成など、一部の機能を非表示にしている
553 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 22:19:17.89 ID:BvK+7rjz.net] Kotlin勉強したいならIntelliJの無償版使うのが1番おすすめだねえ ちなみにAndroid Studio動かすのと消費するリソースは同じ、何せほぼ同じものだし
554 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 22:23:01.40 ID:5CpOs8vM.net] >>522 ・JVMはJREの一部、JREはJDKの一部 ・Java9以降「システムへの単一JREのインストール」は無くなっており、 JDKから各アプリの同梱用JREを生成する (jdeps/jlink) ・OracleJDKに含まれるJVMは既に有償化されている ・OpenJDKに含まれるJVMは今後も有償化されることは無い
555 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 23:33:08.26 ID:2FYuav9u.net] >>545 ありがとう 十分に理解できました
556 名前:デフォルトの名無しさん [2019/04/23(火) 12:05:16.04 ID:3Q52IgbA.net] >>535 >はじめてのKotlin。Javaと比較してみた >https://qiita.com/hituziando/items/fa2dc4097b24ab78276e > >30分で覚えるKotlin文法 >https://qiita.com/k5n/items/cc0377b75d8537ef8a85 もういっちょ! Kotlinまとめ - 文法詳解 - クラスとそのメンバ https://qiita.com/hicka04/items/6f47f505d7b68ede3680
557 名前:デフォルトの名無しさん [2019/04/23(火) 13:16:20.26 ID:gv0SOq8d.net] >>535 ある。ちょこっとする時は例えWindowsで IntelliJ 起動中でも Linux サーバ側でREPLやるな。 なんでかというと IntelliJ のREPLのウインドウはなんか出力がすぐ出なかったりでおかしいから。 その他短すぎるプログラムのためにわざわざプロジェクト作ったり packge 作るのもアホらしい時とか。
558 名前:デフォルトの名無しさん [2019/04/23(火) 14:13:43.00 ID:3Q52IgbA.net] Android Studio残念ポイント! 1. Android Projectしか開くことができない。 2. Hello Worldするhello.ktを開くことができない。 なんで?そう言う時は、IntelliJ使えってことか?▶なんだろうなぁ。
559 名前:デフォルトの名無しさん [2019/04/23(火) 14:52:10.33 ID:67h9+wNp.net] >>548 ,549 JUnit使う手がある。 しかも、main毎にファイル分けるとかしなくていいし。
560 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 14:54:14.57 ID:TrDrz5+t.net] >>548 IntelliJのあれはまともに動いてないんじゃないかとずっと思ってる まともに使えてる人いるのだろうか…?
561 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 15:47:52.74 ID:KnPjeA9Q.net] Intの変数名をintってするのってまずい? val int : Int = 0 こういうの
562 名前:デフォルトの名無しさん [2019/04/23(火) 15:52:03.96 ID:3Q52IgbA.net] >>548 REPLねぇ。 Ruby, JavaScript(Node.js), SwiftのREPL環境を使ったことあるけど、Reflection機能が充実している言語(ruby)以外、イマイチだなぁ。 コードの編集も不自由だし。 あんた、本当にLinux側でREPLする事あるの?
563 名前:デフォルトの名無しさん [2019/04/23(火) 15:54:20.98 ID:3Q52IgbA.net] >>552 怖いなぁ。そのコード。 俺、さっき、setNameってメソッドを作ったら、clashしてるって怒られた。 clash = conflict って意味らしい。 java.lang.StringのsetNameメソッドとコンフリクトしてるから、コンパイルしないんだって。
564 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 16:06:01.49 ID:KnPjeA9Q.net]
565 名前:そういうことあるのか でもIntがintじゃないのってintを変数名で使ってもいいよっていう意思を感じるんだよなあ val hoge : Hoge ってすることを考えると val int : Int も自然な気がする [] [ここ壊れてます]
566 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 16:09:50.49 ID:KnPjeA9Q.net] ああでもjavaは予約語でintだめなのか やっぱりやめておこう
567 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 16:25:21.03 ID:xD8uuYM0.net] そもそも逆コンパイルしたソースじゃないんだから 意味のある変数名付けなよ
568 名前:デフォルトの名無しさん [2019/04/23(火) 16:31:00.98 ID:3Q52IgbA.net] macOS10.14.3 AndroidStudio3.4 環境です。API Referenceを参照するには、どうすれば? Command-Jで起動するかと思いきや?何も起こらないっす。 Webサイトへ行かないとダメなのかな?
569 名前:デフォルトの名無しさん [2019/04/23(火) 17:37:07.37 ID:gv0SOq8d.net] >>553 ちょっと試す時とかによく使うよ
570 名前:デフォルトの名無しさん [2019/04/23(火) 17:41:27.91 ID:3Q52IgbA.net] >>559 thx そっすか。
571 名前:デフォルトの名無しさん [2019/04/23(火) 18:02:43.25 ID:3Q52IgbA.net] >>558 see the hit result of Help>Search(Documentation). You can retrieve the documents by ctrl-J@macOS as well.
572 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 19:19:13.65 ID:IWDMUBZh.net] >>555 とりあえず変な癖をつける前に『リーダブルコード』を読んでくれ、頼むから
573 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 19:47:01.75 ID:hcUTeQ5O.net] リーダブルコード読みやすいしわかりやすいし為になるし 書いたやつ神
574 名前:デフォルトの名無しさん [2019/04/23(火) 19:49:26.39 ID:3Q52IgbA.net] >>562 >リーダブルコード この本そんなに良い本なのか? ペラペラ見たことあるけど、すでに知ってること、というか、実践していることしか書いてなかった。
575 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 19:52:05.70 ID:Ky48Nwl1.net] >>564 嘘だ
576 名前:デフォルトの名無しさん [2019/04/23(火) 20:08:14.43 ID:gv0SOq8d.net] >>564 じゃあその本に書いてないことが書かれた本を出してくれ。Kindle版だけでもいいから。
577 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:16:21.90 ID:IWDMUBZh.net] >>565 知っていることを再認識させてくれる良書ではある
578 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:18:24.37 ID:IWDMUBZh.net] 何でIDが同じになるんだよ 同じプロバイダーなのか
579 名前:デフォルトの名無しさん [2019/04/23(火) 20:22:11.04 ID:gv0SOq8d.net] たまーに同じID出ることあるな。ものすごく希だが。 きっと今日は良いことあるよ。あと3時間40分ぐらいで終わるけど。
580 名前:デフォルトの名無しさん [2019/04/23(火) 20:22:12.06 ID:3Q52IgbA.net] >>565 嘘じゃない。 ああぁ。俺は間違ってないんだな。という感じ。 まあ、詳細に読んだわけでは無いし、プログラマが知るべき97のこと、って本にも似たような事が書いてある。 Matzも「名前重要」なんて事を、97本に寄稿している。 プログラミング作法、なんかの方がよっぽど良かったな。俺には。
581 名前:デフォルトの名無しさん [2019/04/23(火) 20:24:15.75 ID:3Q52IgbA.net] >>569 って事はHash algorithmがpoorってこった。
582 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:25:36.05 ID:B8eC+d1i.net] コードコンプリート
583 名前:デフォルトの名無しさん [2019/04/23(火) 20:27:52.73 ID:3Q52IgbA.net] >>570 >Matzも「名前重要」 私の設計上の座右の銘は「名前重要」です。あらゆる機能をデザインする時に、私はその名前にもっともこだわります。 courtesy of Matz
584 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:29:32.04 ID:IWDMUBZh.net] プログラミング作法 プログラム書法 ソフトウェア作法 全てブライアン・カーニハン御年77歳の名著
585 名前:デフォルトの名無しさん [2019/04/23(火) 20:31:32.66 ID:gv0SOq8d.net] >>571 まあそういうことだな。 こんな掲示板でrichにしてどうするって感じはするが。
586 名前:デフォルトの名無しさん [2019/04/23(火) 20:32:56.33 ID:3Q52IgbA.net] >>566 じゃぁ、一つ俺の考え方を! 狭いスコープの中を生きる変数は、名前が短くても良い。 e.g. str1 = “OK” 広いスコープの中を生きる変数の名前は、長い名前が必要。 e.g. numberOfBooks = 100 何時いかなる時も、意味ある変数名をつけるのは、俺は反対だ。 変数名を考える事に、時間が惜しい時もある。
587 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:33:50.86 ID:PyZ6tY2R.net] 拡張プロパティに値セットする方法ある?
588 名前:デフォルトの名無しさん [2019/04/23(火) 20:36:26.55 ID:gv0SOq8d.net] やはりプログラミングも茶道とか華道とかと同様にプログラミング道を作ってわびさびが必要な時代が来たのかも知れないな。
589 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:36:27.27 ID:IWDMUBZh.net] >>576 そ、ループ変数なんて i, j, k, ....nで良いやん
590 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:38:43.46 ID:PyZ6tY2R.net] でもkotlinでforとか使わなくね?
591 名前:デフォルトの名無しさん [2019/04/23(火) 20:42:02.64 ID:gv0SOq8d.net] >>576 変数名を日本語にすれば良い。 ソース丸ごと世界に公開する予定がないならその方が分かりやすくて良い。 日本語知らないやつには難読化して軽くプロテクトが掛かった状態にもなる。
592 名前:デフォルトの名無しさん [2019/04/23(火) 20:54:10.92 ID:3Q52IgbA.net] >>581 昔、英語が出来なかった時には、 kabuPrice とか kabuka なんて恥ずかしい名前使ってたけど、 今では、 sharePrice でないと、code reading時にストレス感じるわぁ。
593 名前:デフォルトの名無しさん [2019/04/23(火) 20:57:09.18 ID:gv0SOq8d.net] 漢字使え漢字
594 名前:デフォルトの名無しさん [2019/04/23(火) 21:02:15.89 ID:3Q52IgbA.net] val 感じ = "感じ" print(感じ) なんと、warningは出るが、実行可能。
595 名前:デフォルトの名無しさん [2019/04/23(火) 21:05:59.98 ID:3Q52IgbA.net] Qiita見ながらKotlin修行中だけど、 Jump Command便利そう。 return@forEach continue@loop return@loop とか言うやつ。 これSwiftに欲しい。
596 名前:デフォルトの名無しさん [2019/04/23(火) 21:15:06.63 ID:3Q52IgbA.net] そんなことより、API referenceってかDocumentをofflineで見る手段、どうしてる? Zeal, Velocity, Dashなんかを使ってるの? Android StudioでAppCompatActivetyを引くと android.support.v7.app.AppCompatActivity public AppCompatActivity() Gradle: com.android.support:appcompat-v7:28.0.0@aar たったコレだけしか表示されないっす。
597 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 21:32:38.61 ID:bGCgvaJg.net] >>517 俺も謝っておく 触ったすまん
598 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 21:53:05.69 ID:strBUBex.net] >>585 便利な反面1歩間違えると悲惨なコードになりそうだな
599 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 22:46:19.69 ID:B8eC+d1i.net] 尻でも触ったのか
600 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 23:21:01.87 ID:IWDMUBZh.net] >>585 Kotlinにあるでしょそれ https://kotlinlang.org/docs/reference/returns.html
601 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 23:23:43.15 ID:IWDMUBZh.net] ごめん間違えた、SwiftにあるからKotlinに欲しいって読み違えた Xamarinのライセンス買ってくる
602 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 05:30:04.16 ID:BhgQi2cO.net] 悲惨なコードとは?
603 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 05:38:27.15 ID:MHxaAVIF.net] goto文みたいに次にどこに行くのか読みにくいって意味じゃないかな そんなことはないけどね
604 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 05:51:11.02 ID:kB2a7+Os.net] 変数名漢字って結構有りだと思う 平均からすれば英語かなり必死に勉強したほうだと思うけど、ネイティブからすれば変な英語使ってるって自覚あるし ネイティブ的な感覚がないから、命名には常に苦労する もちろん特定用途でしか使えない手法だけど、やっぱり母国語ってわかりやすいよね 英語圏のやつらにスーパハカーが多いのはそういう理由もあるよな、母国語でプログラムできるのうらやましいわ
605 名前:デフォルトの名無しさん [2019/04/24(水) 07:33:38.62 ID:ZqBzQREh.net] >>594 英語人口20億、英語母語5億 くらいじゃない? チェコ、ロシア、ルクセンブルグにHacker多い印象が俺にはある。
606 名前:デフォルトの名無しさん [2019/04/24(水) 11:18:15.23 ID:ZqBzQREh.net] Constructorの書き方がムズイ。 primery, secondary constructorとか、Swiftには無いし。 Kotlinスタートブック、はしばらく様子見。今の所買わない方向で… だって、2016年の本って、情報が古そうだし。
607 名前:デフォルトの名無しさん [2019/04/24(水) 12:11:30.51 ID:f6AiwYyw.net] そのうち在日ユダヤが「日本人にベーグル盗まれた」なんて狂言やりそう
608 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 12:20:40.85 ID:ymPUK1bE.net] >>594 日本語固有のややこしい漢字の名称を無理やり英語にするよりはそのまま使った方が可読性もはるかにいいわな 何か不都合が起きたらIDEでリネームすりゃいいだけの話だから、全然ありだと思う 俺はテストケース名は日本語がんがん使う
609 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 12:48:24.16 ID:CTi91KC0.net] >>596 Swiftの designated initializer ≒ Kotlinの primary constructor Swiftの convenience initializer ≒ Kotlinの secondary constructor
610 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 13:08:03.94 ID:CTi91KC0.net] >>599 の具体例 Swift https://ideone.com/48Boj1 Kotlin 比較用 https://ideone.com/ovwjrs Kotlin 短縮 https://ideone.com/IcR8Wo
611 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 13:28:15.20 ID:CQvKnKTI.net] >>577 だけどこれ無理っぽいな
612 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 14:01:42.54 ID:CTi91KC0.net] >>577 勧めるものじゃないけど、一応疑似的にならば https://ideone.com/7lTdsi class A {} private val xname = WeakHashMap<Any,String?>() var A.name: String? get() = xname[this] set(v:String?) { xname[this] = v }
613 名前:デフォルトの名無しさん [2019/04/24(水) 14:14:45.53 ID:ZqBzQREh.net] >>599 thx
614 名前:デフォルトの名無しさん [2019/04/24(水) 14:19:09.62 ID:ZqBzQREh.net] >>602 Kotlin day3の俺には、なぜAのインスタンスがnameプロパティを持つのか? 良く解らん。 Rubyみたいに、Aを再オープンしてるのか?
615 名前:デフォルトの名無しさん [2019/04/24(水) 14:22:08.49 ID:ZqBzQREh.net] >>604 fun mainの外でthisは何を指してるのだ?
616 名前:デフォルトの名無しさん [2019/04/24(水) 14:28:29.52 ID:ZqBzQREh.net] >>605 >fun mainの外でthis ってのはMainKtのインスタンスってことか? うぅーん。後で確認。 fun main(args: Array<String>) {} in a file called Main.kt will compile to something like: public class MainKt { public static void main(String[] args) {} }
617 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 14:55:22.29 ID:CTi91KC0.net] >>604 602は拡張プロパティとシングルトンのWeakHashMapを利用している 詳細はgoogleで 拡張プロパティ: 見た目はプロパティだが実際のところ staticメソッドのシンタックスシュガー fun A_name_get(thisObj: A): String? { return xname.get(thisObj) } println( a.name ) ↓ println( A_name_get(a) ) WeakHashMap: キーがGC対象となるのを阻害しないMap aとnameの関連付けはここに入っている aがへの参照が無くなったら、nameへの関連付けもCG対象になって消える
618 名前:デフォルトの名無しさん [2019/04/24(水) 15:34:34.20 ID:ZqBzQREh.net] >>607 >拡張プロパティ 気になる! Rubyの特異メソッドみたいなもんか? 特異メソッド:クラスに住んでるメソッドとは異なり、オブジェクトに住んでるソレ!
619 名前:デフォルトの名無しさん [2019/04/24(水) 15:49:00.84 ID:ZqBzQREh.net] >>608 特異メソッドとは違うみたい。 Rubyのクラスの再オープン、オープンクラス、monkey patching とか言う邪悪なテクみたい。 Dateクラスに本来備わってないyesterday, tomorrowとかいうpropertyを追加したりできる。
620 名前:デフォルトの名無しさん [2019/04/24(水) 15:52:13.17 ID:ZqBzQREh.net] うぅーん。 top level でthisが何を指しているのか? よく解らん。
621 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 15:52:31.03 ID:CTi91KC0.net] 連投せずググりなさい
622 名前:デフォルトの名無しさん [2019/04/24(水) 15:56:37.35 ID:ZqBzQREh.net] >>610 きっとthisは、nameプロパティーが呼ばれるまで定まらなくて、nameプロパティーのレシーバー(a1, a2)の事なんだ。 と言う事にしておこう。 拡張関数、拡張プロパティー、が必要になった時のメモ Kotlinの拡張関数と拡張プロパティについて https://qiita.com/RyotaMurohoshi/items/4b958af1d23da6d91a61
623 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 17:00:48.57 ID:HA70GdMc.net] >ID:ZqBzQREh 日記は自分のブログでやってくれ
624 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 17:06:36.37 ID:ymPUK1bE.net] 散々言われてるみたいだけどまずとりあえずググる習慣をつけなさい 君はしなくていい回り道が多すぎる
625 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 20:05:15.35 ID:CQvKnKTI.net] >>602 なるほど外のmapに入れられたのか、盲点だった それとweakhashmapなんてあったのか初めて見たわ
626 名前:デフォルトの名無しさん [2019/04/24(水) 20:26:09.12 ID:ZqBzQREh.net] >>547 30分で…の記事、2日かけてようやくinfix記法のところまで読めた。 多分費やした時間は6hr以上。 全然30分じゃない。
627 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 20:28:11.81 ID:Hf91oH+Q.net] >>614 君も謝る羽目になるよ
628 名前:デフォルトの名無しさん [2019/04/24(水) 20:45:23.71 ID:ZqBzQREh.net] なんと、キーワードになっている識別子もエスケープ可能! 例:isと言う名前のメソッドも呼び出せる。 foo.`is`(bar) こんな感じ!
629 名前:デフォルトの名無しさん [2019/04/24(水) 20:49:33.98 ID:ZqBzQREh.net] Qiitaの30分で…の記事、走り読みした。約8hr位要した。 Vim内でチョコチョコ試運転しながら、走り読み。 お疲れ様でした。▶俺
630 名前:デフォルトの名無しさん [2019/04/24(水) 20:52:35.15 ID:ZqBzQREh.net] レシーバー付き関数リテラル、がよく解らんかった。 クラス移譲、プロパティー移譲 byとか使う奴。こんなのSwiftには無かったなぁ。
631 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 21:03:15.80 ID:kFXKi6KY.net] >>596 Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016 太郎本を買っていない香具師は、モグリ!
632 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 21:13:18.43 ID:kFXKi6KY.net] Kotlin は、swift とは似ていない Kotlin は、Groovy を静的にしたもの。 つまり、Ruby, JavaScript の系統 オブジェクト指向・関数型のミックス
633 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 22:03:35.37 ID:JvprRVGM.net] Swift程の糞はない
634 名前:デフォルトの名無しさん [2019/04/25(木) 06:51:51.77 ID:BgXoud3L.net] >>621 赤ベコ本の事ね。
635 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 09:50:10.40 ID:P7ID4Nfd.net] リーダブルコード要約 https://gist.github.com/AKB428/b8970cea987577ec93c2 初心に戻る良著 最近省略して書いてたから反省してる
636 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 11:34:43.93 ID:ap5qFTOn.net] > 読みやすい > if (length > 10 ) > > 読みにくい > if (10 < length) その主観は慣れによる、俺にとっては前者の方が読みにくい うちでは「物差しの向きに一貫性を持たせる」という指針でやっている その上で統一のため原則として「小さい方を左に書く」 よって >, >= を使わない if (10 <= length && length < 100) まぁRangeやRectでメソッドでの判定をすることも多く そういう場合は左がどうこうというのは無いが
637 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 11:52:49.98 ID:8pGnANx9.net] >>626 >if (10 <= length && length < 100) if (length >= 10 && length < 100) たまに、こう書くヤツが居るが殺意を覚える 一般的には可変値が左だと思う
638 名前:デフォルトの名無しさん [2019/04/25(木) 12:18:15.49 ID:NAVagSqc.net] 俺も可変値が左だと思うけど、統一された指針が既にあるならそれを貫いたほうがいい 一貫性はとても大事
639 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 12:32:09.35 ID:wpotMNKo.net] 小さい方を左に書く。 頭の中では、大小は、左右で考えているから 横書きと同じ感覚。 左上がスタート地点 洋画ではそう。左上に赤色を配置する。 そこが目線のスタート地点。 そこから時計回りに目線が、渦の中心へと向かっていく
640 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 12:41:16.64 ID:NQvr5Lbg.net] >>626 普通、言葉で考えると「lengthは10以上100未満?」て聞くじゃん。 「10は〜100は〜?」みたいな聞き方しないよね。 主語と動詞を逆にしちゃいけないと思う。 CやC++の頃は if (length == 10) としたかったところをコーディングミスで if (length = 10) にしてバグるのを防ぐ為に逆向きにしてた人を見受けたけど、いまどきはIDEがエラー出してくれるからねえ。
641 名前:デフォルトの名無しさん [2019/04/25(木) 12:49:03.99 ID:M77Bu+mz.net] IDEなくてもコンパイル時になんか出る。
642 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 12:54:48.89 ID:P7ID4Nfd.net] >630 なるほど、確かにバグ防止で逆向きにも一理ある 面白いこと考えるね
643 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 13:03:38.24 ID:myBoG5tn.net] >>632 ヨーダ記法って言うやつ
644 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 13:14:11.32 ID:wpotMNKo.net] C言語では、左に代入できないものを書いていた 比較演算子と間違えて、代入演算子を使うと、コンパイルエラー
645 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 13:15:44.93 ID:D7t01tqT.net] ヨーダ記法が可読性低いってのは散々言われてる 結局流行ってないしやらなくていい
646 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 13:44:40.50 ID:nzEkPIBs.net] 老害ってことや
647 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 14:11:29.90 ID:MiLFxbr9.net] 老害にだけは成りたく無いと思ってました
648 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 14:21:07.30 ID:ap5qFTOn.net] >>630 > 言葉で考えると「lengthは10以上100未満?」て聞くじゃん なるほど、改めて思い起こすと言葉以上に図や式で考えているな そういう資料を読み書きすることが多いからかもしれないが 10 length 100 --|----^----------|-- 10 ≦ length < 100 他所のだけどイメージ https://i.imgur.com/d5iRSb2.jpg
649 名前:デフォルトの名無しさん [2019/04/25(木) 21:25:32.13 ID:BgXoud3L.net] kotlin day4 kotlinc, kotlinコマンドの-classpathオプションの使い方でハマった。 >kotlin -cp jsoup-1.11.3.jar JsoupKt error: could not find or load main class JsoupKt こちらが正解 kotlin -cp .:jsoup-1.11.3.jar JsoupKt なんか、変な仕様。そろそろbuild.gradleファイルの作り方を学ぶべきか?
650 名前:デフォルトの名無しさん [2019/04/25(木) 21:29:50.40 ID:BgXoud3L.net] あのぉー、Kotlinでスクレイピングしたいんですけど、 Jsoupがbest practice? https://github.com/jhy/jsoup 実は、Javaも初心者なので、Kotlinへのmigrationでヘトヘト!
651 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 22:45:02.30 ID:k8swiVaB.net] >>640 どんなサイトをスクレイピングしたいのかによるけど、javascriptをガンガン使ってるようなサイトならSeleniumが鉄板だと思うよ。 Jsoupでもjsを実行させられるらいしけど、とても辛いと聞いたことがある。基本的には静的なhtmlを扱うためのライブラリ。
652 名前:デフォルトの名無しさん [2019/04/26(金) 09:47:20.98 ID:MEdB7GvY.net] >>641 thx Kotlin day5 コマンドラインで、jsoupでスクレーピングするソースを作成できた。 昔を思い出して、実行にはMakefile作成して行った。 Makefile内で文字列操作(大文字小文字変換とか、文字列連結)とかできるかな? Makefileはこんな感じ! CC := kotlin CFLAGS1 := -cp jsoup-1.11.3.jar -include-runtime CFLAGS2 := -cp .:jsoup-1.11.3.jar SRC := jsoup all: go go: $(CC)c $(SRC).kt $(CFLAGS1) $(CC) $(CFLAGS2) JsoupKt ~
653 名前:デフォルトの名無しさん mailto:sage [2019/04/26(金) 09:49:24.06 ID:an8vMEsm.net] >>642 makeが何かをわかっていたらそんな質問はしない
654 名前:デフォルトの名無しさん mailto:sage [2019/04/26(金) 10:03:32.40 ID:3DaeQ571.net] >>641 Seleniumってテストツールだと思ってたが、そんな使い方があるのか。 目からうろこが1000枚くらい落ちた。
655 名前:デフォルトの名無しさん mailto:sage [2019/04/26(金) 10:43:09.29 ID:v018QqLA.net] >>644 Selenium自体はテストとは無関係だよ、ただ用途としてテストツールと組み合わされることが多いだけ。 最近のサイトはReactとかで動的にガンガン組み立てられるからスクレイピングもSelenium使っておいた方が無難。
656 名前:デフォルトの名無しさん mailto:sage [2019/04/26(金) 13:23:49.21 ID:A/WNBxWE.net] Ruby, Nokogiri, Selenium WebDriver を使えば? CSS Selector, XPath で、要素を指定する driver.execute_script で、JavaScript のソースコードも実行できる
657 名前:デフォルトの名無しさん mailto:sage [2019/04/26(金) 14:28:56.17 ID:5b9msznW.net] Kotlin勉強してるって言ってるんだから別にRubyじゃなくていいだろ
658 名前:デフォルトの名無しさん mailto:sage [2019/04/26(金) 14:34:22.95 ID:an8vMEsm.net] NokogiriでXPathとCSSセレクタ使うならべつにこっちでも同じだと思うよ
659 名前:デフォルトの名無しさん [2019/04/26(金) 17:19:57.29 ID:MEdB7GvY.net] JsoupはNokogiriと違ってXPathを使ってDOMの操作ができない。 けど、使い方はNokogiriとよく似てる。 Androidアプリにスクレイピング機能を実装したいので、Ruby使えば?は却下!
660 名前:デフォルトの名無しさん [2019/04/26(金) 17:21:05.67 ID:MEdB7GvY.net] ところでJsoupの名前の由来って何? Java soup = Javaのスープ 変な名前。
661 名前:デフォルトの名無しさん mailto:sage [2019/04/26(金) 17:57:42.91 ID:TC/HkfSU
] [ここ壊れてます]
662 名前:.net mailto: いちいち聞かずに勉強しろと延々言われているのに守らないからそういうちぐはぐな恥を晒して支持を減らすことになる(君はすでに識別されている) どうせPythonのBeautifulSoupのことも知らないしタグスープという言葉も知らんのだろう …あ、後者は別に知らんでいいわ、知らない人が多いし正式な用語というわけでもないから [] [ここ壊れてます]
663 名前:デフォルトの名無しさん [2019/04/26(金) 18:12:21.37 ID:tgodpZ2Y.net] ごった煮
664 名前:デフォルトの名無しさん mailto:sage [2019/04/26(金) 20:00:10.59 ID:ErNxnYz2.net] >>651 まあまあまぁまァ、落ち着けよ このスレのレベルはピンキリさ
665 名前:デフォルトの名無しさん [2019/04/26(金) 20:32:30.11 ID:MEdB7GvY.net] >>651 thx. That is originated in “soup HTML document up beautifully”, it seems.
666 名前:デフォルトの名無しさん mailto:sage [2019/04/26(金) 21:06:34.41 ID:XuSZUgKR.net] 個人の試行錯誤の実況でスレが消費されてくより過疎ってた方がマシ
667 名前:デフォルトの名無しさん mailto:sage [2019/04/27(土) 09:33:03.49 ID:2kV59Ab3.net] スレの消費はどうでもいいんだけど、試行錯誤の記録はqiitaなりブログなり自分で管理できるところに残しておいた方が後々良いと思うんだよね
668 名前:デフォルトの名無しさん mailto:sage [2019/04/27(土) 09:47:43.31 ID:X+HWf3Sy.net] >>516 fragmentは再利用されるからlateinit var
669 名前:デフォルトの名無しさん mailto:sage [2019/05/08(水) 08:51:45.05 ID:7421dKds.net] Google、Androidにおける「Kotlinファースト」強化を表明。Google I/O 2019 https://www.publickey1.jp/blog/19/googleandroidkotlingoogle_io_2019.html
670 名前:デフォルトの名無しさん mailto:sage [2019/05/08(水) 09:08:00.50 ID:1o0ZoV2Z.net] >>658 わかったからFlutterで(を?)使えるようにしてくれ 現時点で構造的に対応超絶困難だ マテリアルデザインの普及にも役立つだろ
671 名前:デフォルトの名無しさん [2019/05/08(水) 19:13:02.95 ID:PdqlbBMH.net] kotlin day17、object式 クラスAをインターフェースBによって僅かに修正したクラスCのインスタンスが必要となった時に、サブクラスCを宣言せずにそのインスタンスabを生成できる。 ```kt open class A(x: Int) { public open val y: Int = x } interface B {...} val ab: A = object : A(1), B { override val y = 15 } ```
672 名前:デフォルトの名無しさん mailto:sage [2019/05/08(水) 21:35:17.96 ID:1/kiWGBR.net] 前スレでも書いたがKotlin/JSに続く、Kotlin/Dartトランスパイラをだな・・ まぁやれるとしたらJB側だからリソース的に無理なんだけどな
673 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 00:39:13.38 ID:62rwCBNY.net] >>661 Flutterが目当てなら、必ずしもDartを介することはないのでは?
674 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 07:27:30.06 ID:bwcjejUH.net] どういう意味?
675 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 07:28:01.24 ID:bwcjejUH.net] ああ、ごめん分かったよく読んでなかった
676 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 07:49:34.83 ID:p+Gqts9i.net] >>662 少なくともDart Kernel binaryを生成出来ないとFlutterのホットリロードが使えない Kernel binaryの仕様はDart自体より安定してない https://flutter.dev/docs/development/tools/hot-reload https://mrale.ph/dartvm/ Flutterのクロスプラットフォーム性や開発時の機能などの結構な割合を Dart自体の機能により実現しているのでその辺の仕組みに乗っかれないと逆に厳しいと思うぞ
677 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 09:45:14.22 ID:Gvcl+e3N.net] flutterも最初素晴らしいと触ってたけど、dartの糞さに嫌気さしてさわるのやめたな。つか、flutterは致命的な問題もあるしな
678 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 13:10:55.61 ID:fgBYrKh8.net] kotlinのgraphqlライブラリ微妙だからscalaのsangria使えないかなー sangriaどころかscala触ったことないけど
679 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 15:52:18.57 ID:drrQ8Z5A.net] >>666 どんな問題?
680 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 20:53:25.89 ID:Gvcl+e3N.net] モバイルアプリはメモリ不足によってプロセスキルされ、キル前の状態に戻すために復元の仕組みが用意されてるがflutterではどうすればいいの?問題。 例えばandroidならonSaveInstanceStateがあるが、flutterではどうすれば? flutterは1つのActivity上でページ遷移してるが、ページ毎に状態保存、復元は? https://github.com/flutter/flutter/issues/6827
681 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 20:58:48.44 ID:Gvcl+e3N.net] モバイルアプリ開発したことあれば必ずプロセスキルの問題に出くわすと思うんだがflutterの開発チームはこれ放置してるという。普通flutterの設計段階でこの事考慮すべきだが全く考慮してなさそうというあほっぷり。
682 名前:デフォルトの名無しさん mailto:sage [2019/05/09(木) 23:07:11.65 ID:p+GF1Adw.net] 地方都市だけど最近Android本が本屋に数冊しかない 他言語は田舎のわりにはけっこう置いてるんだけど Kotlin移行の影響なのかも
683 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 00:21:35.88 ID:JD2pFQw6.net] >>670 flutter詳しくは知らんが、もしそれが本当ならモバイル用途としてはたしかに致命的欠陥だな 後付けでflutterのフレームワークの中で強引に全部保存復帰するようにするから気にするな、みたいなこと 考えてるとしたらヤバイ そういうことができないモバイルだからステートの保存と復帰はアプリに投げるように作ってあるのに・・
684 名前:デフォルトの名無しさん [2019/05/10(金) 03:07:44.06 ID:+vHN15fT.net] >>671 Amazon使いなさい。
685 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 10:49:17.54 ID:pdzLc3IS.net] Kotlin/Everywhere https://blog.jetbrains.com/kotlin/2019/05/kotlin-is-everywhere-join-the-global-event-series/ ・イベントは主に5月のGoogle I/Oと12月上旬のKotlinConfの間に行われる ・イベント予定は以下の地図に表示される(今後追加されていく) https://events.withgoogle.com/kotlin-everywhere/
686 名前:デフォルトの名無しさん [2019/05/10(金) 16:19:08.62 ID:54LLglmL.net] >>671 同志 Android関連本、俺のところも本屋には少ない。 大阪に隣接の県の県庁所在地なんだけど。 大阪のデカイ本屋へは往復2,000円掛かっちまう。
687 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 19:41:51.78 ID:iG629wI3.net] >>675 奈良市かな?
688 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 21:37:10.49 ID:shkkgOQu.net] >>675 Kindleおすすめ マルチディスプレイで勉強捗る
689 名前:デフォルトの名無しさん [2019/05/10(金) 21:56:19.96 ID:54LLglmL.net] >>677 Kindleも試したけど、俺、紙の本派なんだよねぇ。 書き込みできるのが紙の本がありがたい。 KindleのためにiPad Pro 12inchも買ったけどやっぱり紙が良いんだよねぇ。 俺って、変かなぁ。
690 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 22:08:26.51 ID:3MWdvG+0.net] 紙の解像度にはまだまだ電子書籍は敵わない 紙の優位性はあるから書見台(ブックスタンド)とか使え、そしてやっぱイマイチだってしまい込むんだ 印刷したデータは死んだデータだってのは、まあ、その通りなんだけども
691 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 23:11:37.34 ID:msYu7Wbl.net] ktorでhttpsやろうとしてサンプル試してみたけどなんかダメだな
692 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 01:07:57.25 ID:i9FGZXUp.net] >>673 Amazonも楽天も使ってるよ ただ本屋に置いてない状況を見ると Android開発の人気無くなってきてるのかなと思って 本屋は内容確認できる長所あるし もう少し置いてほしいところ
693 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 06:20:49.01 ID:J+BhWrkd.net] >>680 オレオレ認証局だけど出来たよ。Let'sEncryptのところでなければ答えられるかも。 >>681 Android開発者が紙の本からKindleに移住している可能性も。 といいつつ自分はPC本は紙派。読んだ後確認する時にこのあたりかなとパラパラとめくりながら探せるので。
694 名前:デフォルトの名無しさん [2019/05/11(土) 07:17:10.19 ID:g6fo75+g.net] [改訂新版]Android SDKポケットリファレンス これのKindle版って、サンプルコード見やすいですか? [改訂新版]Swiftポケットリファレンス、こいつのKindle版掲載のサンプルコードは、文字の拡大縮小も可能で、Goodなんだけど。 Kindle Paper Whiteで閲覧します。iPad Pro 12inchもあるけど。
695 名前:デフォルトの名無しさん [2019/05/11(土) 07:18:23.32 ID:g6fo75+g.net] ちなみに、お試し版をPaperwhiteで見てみたけど、お試し版は最初の数ページ、しかもサンプルコードが無いページしか、試し読みできませんでした。
696 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 07:25:20.42 ID:BxWOidMY.net] kindleはコピペできないからPDF版のあるやつは、そっちを買うようにしてる。
697 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 07:33:21.30 ID:x9oQSWJz.net] その本つてKotlin対応してなかった気がするけど Javaでも良いの?
698 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 09:37:44.97 ID:Brt5xi0Z.net] ここが過疎ってるような気がしてslack見てみたけどそっちも過疎ってるのかな。 slackの使い方間違えてるのかな。。
699 名前:デフォルトの名無しさん [2019/05/13(月) 10:33:56.13 ID:4rccaZT+.net] >>686 JaveでもOKっす。
700 名前:デフォルトの名無しさん [2019/05/14(火) 02:33:08.66 ID:3xJ0OqNt.net] forEach は Iterable<T> と Iterator<T> にあるのに forEachIndexed は Iterable<T> にあっても Iterator<T> にないのは何故か?
701 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 07:44:27.90 ID:DWuOpB8T.net] 昔ケンカしたから
702 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 07:49:34.32 ID:rV66FunX.net] Iteratorは拡張関数が4つしかなくインターフェース変換を除くと実質2つ なのでむしろforEachとwithIndexだけが特別扱いのようなもの
703 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 10:12:17.90 ID:jvXWFm+P.net] うんことりん
704 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 12:25:52.36 ID:zeev4Evh.net] Ruby では、クラスに、each メソッドが定義されていれば、 include Enumerable で、map, each_line などの便利な機能を使える(Mix-in) Enumerableのラッパーが、Enumerator で、 eachを定義していないクラス、例えば、String クラスに、Enumerable の機能を追加する Enumerableは内部イテレータで、Enumeratorは外部イテレータ。 外部イテレータは、繰り返しの進行を制御できる enum = "a\nb".to_enum( :each_line ) # Enumerator enum.with_index do | line, idx | # 1行ずつ処理する p [ idx, line ] end 出力 [0, "a\n"] [1, "b"] with_index は、Enumeratorクラスのメソッドで、 map に、インデックスを渡すことも出来る p enum.with_index.map { | line, idx | "#{ idx } : #{ line.swapcase }" } #=> ["0 : A\n", "1 : B"]
705 名前:デフォルトの名無しさん [2019/05/14(火) 12:36:39.21 ID:eEvxk7yL.net] >>691 あー。そうか。 まあ Iterable は中に Iterator 返すやつ一つ作ってしまえば良いだけなので object で作ってそのまま forEachOndexed で使えば良いだけなのだがなんというか面倒。 あ、自分でそういう拡張関数作ればいいだけか。てか作っておいて欲しかっな。
706 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 12:45:32.34 ID:BT1Jap6O.net] >>689 イテレーターは列挙するものだからインデックスと直結しないのでは n件のリストがあったとして、それをイテラブルとして回すときのインデックスはほぼ自明だけど そいつを3から始めるイテレーターや逆順のイテレーター 3歩進んで2歩下がるイテレーターのインデックスというのは ルールを決めてしまえばいいんだけど本質的な属性ではないと思う
707 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 13:05:37.50 ID:4HZJg8yK.net] 拡張関数ってグローバルだよな どこに書けばいいか迷ったあげく使うクラスと同じファイルに書いてしまう
708 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 16:08:52.35 ID:o/ZzSQAi.net] 拡張関数めっちゃ便利だけど、用法用量を守らないととても危険だよな
709 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 17:29:04.99 ID:IaXs534s.net] 拡張関数の定義を interface の中にすれば、使用可能範囲をコントロールできる
710 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 18:31:50.97 ID:hlTwFz7+.net] Kotlin用ゲームエンジンらしい https://korge.soywiz.com
711 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 19:29:46.17 ID:o/ZzSQAi.net] >>698 知らなかった
712 名前:デフォルトの名無しさん [2019/05/15(水) 12:44:33.69 ID:laKGlnoI.net] どのみち、IDEがないと読み難い言語だから、Extensionはさして気にならない。 プロパティアクセスのせいで、知らず知らずにシャドウしてしまう方がずっと気になる。
713 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 18:46:37.64 ID:ctMRzncm.net] ts2ktって放置されているっぽいけど、今でも使いものになるの?
714 名前:デフォルトの名無しさん [2019/05/16(木) 19:36:52.04 ID:9YitK9mS.net] >>699 Android以外はちゃんと動くんかな・・・・?
715 名前:デフォルトの名無しさん mailto:sage [2019/05/17(金) 22:06:49.39 ID:5qYZVYSF.net] >>698 拡張した本人しか認識できないのもができるからな。
716 名前:デフォルトの名無しさん [2019/05/18(土) 09:09:23.16 ID:cPFyVnxJ.net] >>699 興味あるわこれ 今やってるの終わったら使ってみようと思うんだけど誰か試してみた?
717 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 12:51:09.41 ID:JYN3Apin.net] 社内の持ち回りの勉強会で、vimでKotlin開発する環境を気合いで整える、という発表をしたら大受けしたわ もちろんネタとしてな。絶対idea使った方がいいぞ。
718 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 13:41:12.48 ID:1MmHbsk/.net] 無駄なことに時間使ってんな
719 名前:デフォルトの名無しさん [2019/05/18(土) 16:19:18.33 ID:IkSg3I69.net] やらないと後で「おまえやるって言ったよな」と責められるw
720 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 22:59:21.42 ID:rrFT3N/c.net] kotlinでandroid開発の記事載ってる雑誌ないですか ネットや書籍から情報得るしかない?
721 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 01:39:23.54 ID:jp3Kdatt.net] 本とかもう時代遅れ
722 名前:デフォルトの名無しさん [2019/05/19(日) 05:37:35.31 ID:+tXYNnhs.net] なぜ雑誌?本ならあるのだが。
723 名前:デフォルトの名無しさん [2019/05/19(日) 16:40:35.01 ID:+tXYNnhs.net] そもそも今ではプログラミングについての雑誌が少ないよね。 Software Design か日経ソフトウェアぐらいなんじゃないか? ハードウェア寄りな Interface みたいなのもあるが。
724 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 18:23:21.54 ID:fqpGXrMP.net] >>710 そんなこたぁ無い
725 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 19:18:58.24 ID:Ma/nTg+4.net] 本はディスプレイ以外に開けるから便利だよね
726 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 19:40:59.75 ID:jp3Kdatt.net] 掌田津耶乃でも読んでろカス
727 名前:デフォルトの名無しさん mailto:sage [2019/05/19(日) 20:36:47.66 ID:fqpGXrMP.net] つやのちゃん知ってるんだw
728 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 00:21:44.28 ID:pT4TPZWt.net] 断片的なのはネットで調べればいいが、 体系的に全体をまんべんなく知りたいってときは、 やっぱり書籍が適してると思う。
729 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 06:11:32.77 ID:BYsItzt6.net] 書籍もガッツリ読むなら紙の本がいいし、写経するなら電子書籍の方がいいし 選択肢が増えた分だけむしろ選ぶのが大変になってるな
730 名前:デフォルトの名無しさん [2019/05/20(月) 11:03:48.81 ID:+QyKHsoF.net] SoftwareDesignは最近はもう読んでない バックナンバーも大量に棄てた 川上さんの連載のだけ残してる
731 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 11:35:05.49 ID:MLZoEYDf.net] 雑誌のいいとこは判型が大きいことだなw ただのブログよりは読者層を意識してる率が高くて、Web記事よりはまとまりと終わりがある可能性が高いという感じか なにの情報を欲しいと思ってるのかに依存する気がするぞ
732 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 11:43:30.49 ID:3K6cHyBG.net] 雑誌の良いところは、本よりも情報の鮮度が高いってとこだね。
733 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 15:22:51.14 ID:poyp5Kqc.net] 日経ソフトウェアは、素人向け SoftwareDesign ぐらいか。 WEB+DB は、システム環境・プログラマーが半々ぐらい 他は、日経Linux は、ラズパイが多い フレームワークの巨匠と言えば、掌田津耶乃・山田祥寛 山田の講習会は、数万円とか。 掌田なら、十万円ぐらい行きそうw
734 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 16:58:22.74 ID:E7kxjeRz.net] つやのって読む価値のない入門書しか出してないだろ
735 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 20:22:34.07 ID:Nm/yOzhN.net] 最近の日経ソフトウェアはPython雑誌みたいになってる Kotlinの記事なんて全く載らない
736 名前:デフォルトの名無しさん [2019/05/20(月) 20:48:41.91 ID:oKvxv21R.net] そういやPython大ブームだね。 機械学習関係で火が着いた感じか。
737 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 21:27:41.17 ID:QYS7YbVl.net] 数年後に始まる小学校でのプログラミング授業もPython採用と予想。
738 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 21:33:58.54 ID:TjPZT1E7.net] 授業は基本マイクラを使うぞ
739 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 22:00:59.30 ID:9o82qJOc.net] kotlinのおすすめ無料学習教材は?
740 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 22:10:44.54 ID:0DZMUBSm.net] 勧めるようなものは特にない
741 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 08:28:21.83 ID:2xcSjans.net] なんか公式のチュートリアルみたいなのなかったっけ
742 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 08:31:57.13 ID:qls//8Wz.net] おすすめかどうかを意識しろ あるかどうかではなく、おすすめかどうかだ 検索すりゃこのご時世英語含めてたくさん出てくる そんなの見りゃわかる おすすめできるものかどうかがいちばん大事
743 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 10:08:36.16 ID:x7pfOsc7.net] ただで教える側に求めすぎだろw
744 名前:デフォルトの名無しさん [2019/05/21(火) 10:10:30.25 ID:YlTjoOUk.net] >>723 NGに入れろ スッキリ ▼ ▲
745 名前:デフォルトの名無しさん [2019/05/21(火) 10:56:17.04 ID:KjOgf3b2.net] kotlin使った事無くて勉強中なんですが null安全は通信で届いたオブジェクトについてどう働きますか? あるいはデシリアライズされたオブジェクトについて そこでもnull安全ですか?
746 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 11:04:08.23 ID:x7pfOsc7.net] 当然どんなオブジェクトであれKotlinで書かれている限りnull安全は機能するけど、君はそもそもnull安全を誤解してそうな予感がする
747 名前:デフォルトの名無しさん [2019/05/21(火) 11:11:41.76 ID:KjOgf3b2.net] 検索すると、null不可な変数にnullを代入できないこと、とあります。 そうすると通信で受信したオブジェクト等はどうなるのかなと。 この理解は間違っていますか?
748 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 11:39:29.09 ID:c7g0QxSl.net] どこまで「使ったことない」かにもよるんだが ・nullかどうかの条件分岐をクリアした変数 ・nullかどうかの条件分岐をまだやってない変数 の2つがあるだけだと思っていい 外部から取得したデータがあったとして、nullチェックをまだしていないならnullableだ どこかで誰かが(静的文法解析上)nullではないという条件分岐を通したあとならそれはnonnull どこかで誰かがその後にnullになるかもしれない処理を通したらnullableに戻る
749 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 12:29:35.90 ID:ZAINLMmO.net] >>736 文字列とか通信データから、新たなオブジェクトを構築するのでしょ? 構築できたら、null ではないし、 データがおかしくて構築できなかったら、エラー!
750 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 12:40:36.99 ID:sr6+MIRN.net] 当然nonnull出ない変数ににnullをぶち込んだらエラーになる
751 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 13:55:21.57 ID:2xcSjans.net] >>736 nullを入れられない型なのにnullを入れようとしたらその時点でオブジェクトを生成できずにエラー なので、json文字列を受け取ってオブジェクトを生成する部分で要件に合わせて適宜いい感じに処理する必要がある
752 名前:デフォルトの名無しさん [2019/05/21(火) 14:53:46.84 ID:BVi2WQ22.net] >>736 試してみればわかると思うが、nillableな型にnull入れてObjectOutputStreamで書いた後でnullableでなくしてコンパイルしなおしてからObjectInputStreamで読もうとするとInvalidClassExceptionが出る。
753 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 15:17:02.88 ID:RVxsm+ja.net] kotlin使ったことないって奴向けの説明ではないな
754 名前:デフォルトの名無しさん [2019/05/21(火) 16:06:22.73 ID:BVi2WQ22.net] 図解しないとダメか?w
755 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 17:40:26.31 ID:x7pfOsc7.net] そもそも聞かれてることに対する回答としてはピントがズレてる 自分の知識自慢したいイキリオタク感がすごい
756 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 18:43:35.05 ID:gj4VcULk.net] >>734 がおそらくしているであろう幻想を抱いていた時期が自分にもありました とエスパーしながらいうと、通信で受信したオブジェクト等はnullableな型を持つことになるだけで、 Kotlinにしたからといってnullチェックが要らなくなるわけではない。 >>736 には誰の説明が分かりやすかっただろうか。
757 名前:デフォルトの名無しさん [2019/05/21(火) 20:08:28.33 ID:BVi2WQ22.net] >>744 ずれてないだろ。通信でオブジェクト送る話なんだから。
758 名前:デフォルトの名無しさん [2019/05/21(火) 20:11:45.34 ID:grT0tw0/.net] Javaのコードを呼び出すところは、全部そうだね。 Kotlinはnullableであることを「強制しない」。 AndroidとかjavaxのAnnotationでもついていない限り。
759 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 20:44:09.88 ID:wTyF+2my.net] >>728 https://play.kotlinlang.org/koans/overview
760 名前:デフォルトの名無しさん [2019/05/21(火) 21:17:46.88 ID:KjOgf3b2.net] null安全は@NotNullとどう違いますか?
761 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 23:00:11.33 ID:MtIoFqpw.net] コンパイルエラーになるかぬるぽでばーんってなるかの違い
762 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 23:15:32.28 ID:dJ+4PuSm.net] null安全は以下の機能を包括する言葉 ・型システムでnull許容とnull不可を区別出来る ・null許容型の取扱いを容易にするモナド操作などを言語仕様や標準ライブラリに持つ
763 名前:デフォルトの名無しさん [2019/05/22(水) 00:26:45.64 ID:s0RuNCYO.net] ∧_∧ / ̄ ̄ ( ´∀`)< ド? ( ) \__ │ │ │ (__)___)
764 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 13:10:44.21 ID:o0mLtMWH.net] iosアプリ作るのは現実的にいけそう?
765 名前:デフォルトの名無しさん [2019/05/22(水) 15:26:22.63 ID:06P4CJxl.net] いけるいける
766 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 17:11:00.38 ID:ddL9armR.net] 大丈夫大丈夫、なんの問題もない
767 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 19:37:38.21 ID:N+dUt+tn.net] 逆引きのAndroid開発用のKotlin本ないの? Javaのはあるけどさ
768 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 21:14:49.49 ID:o0mLtMWH.net] >>754 >>755 ほんとのほんとに? 作り始めてまうで?
769 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 22:18:54.87 ID:mQdasoF8.net] うん、大丈夫、なにも心配することないから
770 名前:デフォルトの名無しさん mailto:sage [2019/05/23(木) 00:10:33.20 ID:K2oq56d+.net] >>754 ,755,758 iOSアプリを実際に作った人がこの板にこんなにいるとは思えないんだがw いや、自分もないんだけどさw
771 名前:デフォルトの名無しさん [2019/05/23(木) 00:56:30.37 ID:ClSxeVCE.net] Kotlinでの競技プログラミングのコンテストがあるよ! 5月28日の23時35分から2時間半! Kotlin Heroes Announcement https://codeforces.com/blog/entry/67162 https://codeforces.com/contests/1170
772 名前:デフォルトの名無しさん [2019/05/23(木) 01:52:40.87 ID:kvy164Qh.net] 英語で書かれた問題を解読するだけで2時間半が経過してしまいそうな予感
773 名前:デフォルトの名無しさん mailto:sage [2019/05/23(木) 02:45:36.97 ID:K2oq56d+.net] >>760 IntがintになるかIntegerになるか考慮しないといけなかったらちょっと嫌だなあ。
774 名前:デフォルトの名無しさん mailto:sage [2019/05/23(木) 06:58:10.23 ID:ZvIUMcmJ.net] >>759 大丈夫、Kotlinも業務で使ってるしiOSアプリも業務でいくつも作ってるからさ Kotlin nativeのiOSアプリも実際に作ってみたって人と勉強会の懇親会で話したことがある
775 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 09:20:43.95 ID:1flrLOhd.net] >>756 必要か?
776 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 13:57:22.09 ID:WFuDBTgU.net] Listの初期化って var list = listOf<Hoge>() と var list :Hoge? = null どっちがいいの?
777 名前:デフォルトの名無しさん [2019/05/24(金) 15:11:48.77 ID:10iCK04b.net] >>765 全く違うもの出されてどちらがと聞かれても・・・
778 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 16:53:05.84 ID:cg0Vnpe0.net] >>765 その2つでいうなら下はリストを作れてないから上一択になるぞw
779 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 16:57:14.79 ID:WFuDBTgU.net] 間違えた下は var list :List<Hoge>? = null ね これならどっちがいい?
780 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 16:59:34.27 ID:cg0Vnpe0.net] どちらにせよその2つは作られる型が違う nullableにする必要があるかどうかで使い分けろとしか
781 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 17:00:11.96 ID:cg0Vnpe0.net] 俺だったら何か理由がない限り上
782 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 17:00:17.36 ID:g+HqU4NL.net] 特別な理由がない限り上はvarじゃなくてvalにすべきじゃない?
783 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 17:15:07.02 ID:WFuDBTgU.net] >>770 なぜ? >>771 valにしたら代入できないじゃん
784 名前:デフォルトの名無しさん [2019/05/24(金) 17:52:50.04 ID:8qiM3xuo.net] val にして空の MutableList 作るのは?
785 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 18:01:30.45 ID:XLHoRxVW.net] 俺はemptyListだな
786 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 18:03:21.78 ID:6OR0USBX.net] ?取るのめんどいから空のリストにしてくれ
787 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 18:27:38.07 ID:g+HqU4NL.net] >>772 ああごめん val にしてMutableList な だが、おまえが欲しいのはたぶん var list = emptyList<Hoge>()
788 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 18:51:13.35 ID:xfff2+MO.net] >>772 Kotlinにおいてはvarもnullableもごく限られた場面でしか使わない例外的なものだということは知っておいた方が良い。 nullableは無駄に取り扱いが面倒だったり、varは予期せぬバグを生み出す温床になり得るから。 なので val list = mutableListof<Unko>() が、大抵の場面で正解。
789 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 19:42:38.12 ID:Oa3ZkFre.net] Unkoって何ですか
790 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 20:03:18.59 ID:g/LimCLF.net] えっお前んちUnkoねーのだっせー
791 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 20:04:30.18 ID:6mh6tvLx.net] かといって盲目的に mutable collection を使うのもどうかと思うがな
792 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 20:17:54.95 ID:73sdMVIH.net] 盲目的も何もコンテキストが分からないんだから一般論としてvarを使うよりはMutableListを使う方が適してると言うしかないだろ どんな状況でも何がなんでもMutableListを使えなんて誰も言ってない
793 名前:デフォルトの名無しさん mailto:sage [2019/05/24(金) 20:23:02.45 ID:73sdMVIH.net] 俺も>>777 にするな。 もしくはlateinitを使うか、どちらか。
794 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 05:49:19.79 ID:wB1WneOU.net] >>768 状況にもよるけど、>>782 で出たlateinitか、場所によっては val list by lazy{ [List<Hoge>を返す式] } そもそも、listの要素が出揃っていない段階でlistを宣言するのが適切でない可能性も。 val list = [List<Hoge>を返す式] のようにいきなり最後まで計算するか、少々面倒だけど>>773 の言うように一旦 val temporaryList = mutableListOf<Hoge>() して要素が出揃ったら val list = temporaryList.toList() するとか。
795 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 06:37:38.07 ID:fh0ztzaz.net] lateinitはvalにできないから糞
796 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 07:20:32.83 ID:Kvnc/U5Q.net] そんなご無体な
797 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 08:02:42.85 ID:9ELY4FpV.net] valだけが正しい。valにできないなら新しいvalにコピーするべき
798 名前:768 mailto:sage [2019/05/25(土) 10:50:32.51 ID:VlF1HZqT.net] >>783 それだとvalじゃなくてvarじゃね? 始めに空のList入れる意見が多いけど結局使う時にemptyかチェックするでしょ nullかどうかチェックするのと同じじゃね?
799 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 10:57:44.94 ID:VlF1HZqT.net] nullの警告が厳しいからこそ使うのはどうだろうか nullならnullだと知らされるがemptyじゃ何の警告も出ない
800 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 13:1
] [ここ壊れてます]
801 名前:6:02.71 ID:exhgzloH.net mailto: ・リスト自体を構築するケース ・listを使わないケースがかなりある and 非常に効率重視(※)なら var list: List<Hoge>? = null 必要になったら list = mutableListOf() ・そうでないなら val list = mutableListOf<Hoge>() ※mutableListOf(=ArrayListの生成コスト)すら許容出来ない場合 なおmutableListOfと比較するとlazyの準備処理の方がコストが掛かる ・場合によって構築済みリストを入れ替える(再代入)するケース var list = listOf<Hoge>() 補足: listOf()はemptyListにinline展開されEmptyListのシングルトンを返すので生成コストは無い >>765 >>772 は再代入目的のようなのでlistOfで良い [] [ここ壊れてます]
802 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 13:19:44.44 ID:F8alA812.net] >>787 そうとは限らない 単にリストの要素数が0ならそれでいいケースも多い そう考えると明らかに初期化を忘れてるのが分かるという意味でnullを入れておくのもいいかもしれない
803 名前:デフォルトの名無しさん [2019/05/25(土) 17:48:30.03 ID:AAsiXMmO.net] Androidなどで、非同期処理が関わってくると、 valは注意して使わないといけない場面が、意外にたくさんあることに気が付く。
804 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 18:20:07.77 ID:lux9UzI+.net] Activityのbindingはby lazyのval Fragmentのbindingはlateinit var
805 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 23:17:26.29 ID:/1jO9AOV.net] >>765 そもそもローカル変数の話なのかプロパティの話なのか…
806 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 12:03:53.57 ID:j1Bw0s67.net] emptyListってシングルトンだから生成コストがないってのは分かるんだけど、 今時その程度の生成コストを気にする場面ってそんなない気もする 富豪的プログラミングなんて言われるかもしれんけど、もはやそれ自体死語だしな
807 名前:デフォルトの名無しさん [2019/05/27(月) 12:57:29.86 ID:ffeERoRR.net] >>793 ローカルならそもそも悩まない。 val且つmutableにして都度addallするか、var且つimmutableで丸ごと置き換えるか、はケースバイケースで。
808 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 13:34:53.60 ID:IGUdGZaE.net] valで都度変数作るからなぁ
809 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 14:33:20.72 ID:24xkxhR7.net] プロパティの話ね mutableにしてもそもそも生成は別のところでListごと作るからmutableだろうがListだろうが関係ない 当然後から代入するからvalにはできない
810 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 14:57:26.23 ID:EJcO498B.net] copyメソッド
811 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 23:34:59.34 ID:s432cqVY.net] サーバーサイドばっかだからかもしれんがプロパティにMutableListを使うことがそうそう無い データクラスのコンストラクタ引数に val list: List はよくある
812 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 23:56:54.45 ID:zFWKvIPE.net] 内部DSLとかの指示を構築する系の実装で使うかな
813 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 05:58:36.43 ID:sEeuOOEX.net] サーバーサイドかどうか関係なくない? 俺はよく使うよ。例えばツリー構造になってるデータを読み込む処理で自分の子ノードのリストを持つため、とか、これ昨日書いた。
814 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 06:33:15.65 ID:f4BtQ/HR.net] val text = "" って val text :String = "" って書いた方がいい?
815 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 07:05:11.16 ID:Bdaqy37y.net] >>802 やるメリットは特にない むしろ本当に宣言通りStringかどうかチェックするぶんビルド遅い
816 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 08:10:42.72 ID:sEeuOOEX.net] >>802 いらない。何をどう見ても明らかにStringだから意味ない。
817 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 23:54:42.49 ID:g+jKUI0N.net] >>802 Javaのvarで似たような議論がある。 https://orablogs-jp.blogspot.com/2018/03/style-guidelines-for-local-variable.html
818 名前:デフォルトの名無しさん mailto:sage [2019/05/29(水) 01:39:37.10 ID:KhqOXHGU.net] Kotlinに、SwiftのExpressibleByStringLiteralみたいなのが無くて本当に良かったと思う あれは呪いだ
819 名前:デフォルトの名無しさん mailto:sage [2019/05/29(水) 02:17:57.59 ID:Qb2i3AGM.net] >>802 は、IntelljIDEA か Android Studio 使ってないのかね? 警告消して緑色になるようがんばれ おれは警告にどうしても従えない場合でも、アノテーション使って絶対緑色にする
820 名前:デフォルトの名無しさん mailto:sage [2019/05/29(水) 04:33:25.97 ID:XoYuC6Fl.net] Charは'a'なのね
821 名前:デフォルトの名無しさん mailto:sage [2019/05/29(水) 06:05:24.96 ID:ouhOLTM0.net] >>806 なにそれ?
822 名前:デフォルトの名無しさん mailto:sage [2019/05/29(水) 07:50:04.16 ID:KhqOXHGU.net] >>809 https://ideone.com/3YQTSZ 文字列リテラルが本当に文字列なのか分からなくなるやつ
823 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 14:21:13.30 ID:Jjn+Dq6k.net] >>806 PHPだと1リクエストごとにFWの初期化処理を行っているのが遅い理由でしょ 特にLaravelは読み込むファイルも多いし重い 他の言語だとアプリケーションサーバ起動時に一回だけ初期化処理をするので1リクエストあたりの処理が少ない PHPでもSwooleやReactPHPなどを使えば同じことはできるけど、まあ既存のFWを乗っけてもバグりやすいだろうね
824 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 18:46:44.28 ID:R6sHUJ5K.net] なんの話だよ
825 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 22:32:24.72 ID:VAUlN9pw.net] やべぇやつが来たなwww
826 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 07:53:39.61 ID:6Ne8KtIA.net] 普通に誤爆でしょ
827 名前:デフォルトの名無しさん [2019/06/01(土) 11:37:30.64 ID:OCCxHMSa.net] android用途:元気 サーバーサイド用途:全く流行らず kotlin/native: 瀕死 kotlin.js: 死亡 現状こんな認識なんだけど合ってる?
828 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 11:43:16.53 ID:HBXiOctn.net] Xamarin程の糞はない
829 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 12:20:19.48 ID:oJ6AvSx+.net] >>815 Kotlin nativeはなんかもう不死鳥とかみたく蘇ったりする予定なので書いておいてください
830 名前:デフォルトの名無しさん [2019/06/01(土) 14:59:33.17 ID:7bqJsR1f.net] 身内のGraalにトドメ刺されて終わりだろ。
831 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 15:47:15.77 ID:v1/bDBif.net] /NativeがGraalにやられても/JVMがスイッチするから大丈夫
832 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 16:20:49.17 ID:4wvh7Cn2.net] >>815 合ってる
833 名前:デフォルトの名無しさん [2019/06/01(土) 16:55:01.52 ID:uuPo6pHP.net] nativeはまだ作成中みたいな感じなので瀕死とは違うと思うが
834 名前:デフォルトの名無しさん [2019/06/01(土) 17:46:40.68 ID:xELmXxSQ.net] Kotlinを勉強し始めたんだけどさあ これってレファレンスを見てエディタで打ち込む->kotlincでコンパイル=>javaで動かす・・・・ってのを繰り返さないとならんの? Swiftに言う「swift asdf.swift」みたいなのに相当するコマンドはないのかしら
835 名前:デフォルトの名無しさん [2019/06/01(土) 17:49:07.58 ID:FZbdo0L3.net] そうか。合ってるか。。 サーバーサイド kotlinが流行ってないのは何でなんだろ。 現状問題なく使えるように思うけど、ほとんど開発案件出てこないね。
836 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 17:50:33.82 ID:v1/bDBif.net] >>822 IntelliJ(community版)を使おう 再生ボタン一つで済む
837 名前:デフォルトの名無しさん [2019/06/01(土) 17:51:43.68 ID:FZbdo0L3.net] >>822 まずintellij(IDE)をインストールしないと始まらない
838 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 18:32:24.41 ID:7x5on0RN.net] このスレ定期的にkotlinc使う奴が出てくるよな どこぞの入門サイトに書いてあるんかね どう考えてもintellij使う前提の言語なのに
839 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 18:32:52.15 ID:7x5on0RN.net] >>823 サーバーサイドKotlinで生きていきたいけど、仕事なさすぎて難しいよなあ
840 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 19:41:31.36 ID:4wvh7Cn2.net] >>822 Kotlinを書くのにエディタを使うのがそもそも間違ってる。 無料版でいいからIntelliJ使え。
841 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 20:59:16.14 ID:f9ycqMAV.net] うちはサーバーサイドで使ってるわ ほぼ俺しか書いてないが
842 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 22:10:50.15 ID:GQlgchjf.net] YouTube に動画をアップしてる、KENTA でも、 サーバーサイドの、Elixir, Kotlin などを受注するのに苦労してる。 彼は、変わった言語の仕事に、こだわる こういう仕事は、滅多に出回らないから、ツテから入るのかも。 KENTAは千以上、名刺交換してるとか 彼は、GUI は嫌いらしい。 画面の修正で、時間を食うのが、嫌いらしい 数ピクセル、位置が違うとか、 修正したら、違う人が、元に戻せと言ったりw GUI は、技術を学ぶ、時間効率が悪いから、嫌いらしい。 だから、サーバーサイドの仕事を取る
843 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 22:33:39.21 ID:v1/bDBif.net] 歌詞かな
844 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 22:48:31.29 ID:ZDO2fOJr.net] サーバーサイド普通に使ってるぞ lombok駆使するよりいいと思う
845 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 23:07:41.16 ID:jNRuoNdG.net] >>830 海外の方?
846 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 23:08:06.44 ID:vdsZQvk5.net] ポエムだぞ
847 名前:デフォルトの名無しさん [2019/06/02(日) 01:28:53.78 ID:/69WsxDT.net] >>830 「、」で区切り過ぎ。その文章の場合は全ての「、」を削除した方が読みやすい。
848 名前:デフォルトの名無しさん [2019/06/02(日) 01:33:22.19 ID:/69WsxDT.net] >>822 IntelliJ 使った方が楽だが、kotlinc でコマンドラインでやるとしたら最後の実行は kotlin コマンドでできるよ。 kotlinc xxx.kt kotlin XxxKt みたいにする。 kotlin コマンドは環境変数セットしたりして最終的に java を動かす。
849 名前:デフォルトの名無しさん [2019/06/02(日) 10:05:23.69 ID:80ueDuoq.net] で、サーバサイドkotlinのこれからについての認識なんやけど合ってる? ・実戦投入可能なレベルに達している ・goが選ばれるような案件では以下の点でgoに勝てないので流行らない →粒度の細かいマイクロサービス:deploy容易性がgoに劣る、kotlinの抽象力が活き辛い →aws lambdaとか:上記に加えてjvmが温まるまで遅い ・モノリシック案件のbetter javaとしては第一候補 →フルスタックFWが有望でspring bootが最有力 →必然的にSIerの仕事が多くなる ・SIerが最重要視するのは実績 →実績を積むには待つしかない
850 名前:デフォルトの名無しさん [2019/06/02(日) 10:08:10.88 ID:80ueDuoq.net] kotlin/nativeは「hello world」を「hello world!」にするだけでビルドに7sかかるんやけど。。 こんなもんなん?何かやり方間違ってるのかな。
851 名前:デフォルトの名無しさん mailto:sage [2019/06/02(日) 10:25:57.88 ID:klo8W86L.net] >>837 受託の業界は知らんけど、WEB業界なら今までJavaやらScalaやら使ってたところはもう大体使えるところから使い始めてる。 ただそもそも日本のWEB業界ではJavaが不人気過ぎてどうしてもニッチの部類に留まってるわな。 生存戦略としてはとにかく仕事の多いRailsやらをやるか、仕事は少ないが応募者も少ないKotlinを極めるか、まあどちらでもありっちゃあり どうせ5年後には違う技術が台頭してるし
852 名前:デフォルトの名無しさん mailto:sage [2019/06/02(日) 11:16:42.46 ID:uIkDYzKb.net] 既存のJavaからKotlinはあっても、そもそも新規でJVM選択するかなっていう
853 名前:デフォルトの名無しさん mailto:sage [2019/06/02(日) 12:06:59.02 ID:TDNwqEN9.net] sunが震え声で ハードの進化でJVMのパフォーマンスは向上していくから… って言ってから何年経ったのか
854 名前:デフォルトの名無しさん mailto:sage [2019/06/02(日) 12:13:33.66 ID:UpSyXruc.net] PHPで作ってたけどパフォーマンスが出なくなって来たからJavaで作り直す、みたいなのはよく聞くな 同じ理由で昔はRailsからJavaってのもあったけど最近のRailsは速いからあまり聞かなくなった
855 名前:デフォルトの名無しさん mailto:sage [2019/06/02(日) 14:27:04.47 ID:Kbt/vpV3.net] Rails ができれば、コピーのCakePHP も出来る 違う言語だけど
856 名前:デフォルトの名無しさん [2019/06/02(日) 14:47:02.52 ID:530n/55/.net] Rubyキチ、無視しろ。
857 名前:デフォルトの名無しさん mailto:sage [2019/06/02(日) 14:52:37.88 ID:LUUGWxBq.net] php8()
858 名前:デフォルトの名無しさん mailto:sage [2019/06/02(日) 15:29:19.09 ID:sHGNUntV.net] 新規でサーバ側でkotlinで作ってもらったけど 少数派なのか。 まあ、何ができるかが大事だからいいけど、流行に左右されるのは厳しいね。
859 名前:デフォルトの名無しさん [2019/06/02(日) 16:54:37.31 ID:/69WsxDT.net] >>841 20年ぐらい? まあ確かにあのWindows95だの98だので動かしていた時よりは速くなったけどね。
860 名前:デフォルトの名無しさん [2019/06/02(日) 21:44:03.80 ID:xSU5v8RX.net] 結構Java嫌いな人多いんだね。自分もJavaは好きじゃないけど。 >>840 Javaが検討される規模のWEBサービス作る時にJVM以外の選択肢って例えば何かあるのかな? >>841 Javaの出始めと比べたら劇的に進化してSunの言う通りになったと思うけどな。 Java離脱組もパフォーマンスじゃなくて開発効率やサービスの拡張性を気にしてる。 >>846 少数派なのはそうなんだけど、依頼側から見たサーバーサイドkotlinのデメリットは ・現状では開発者が少ない=人が集まらないことによる遅延、開発者単価 ・実績がない=未知の何かが起こるかも なのでローンチ出来てる時点でデメリットは乗り越えているし、 Android界隈では確固たる位置にいるからこの先メンテ人材が見つからない心配もない。(←ここが流行に左右されて困るポイント) 悪くない選択だったと思うんだけど
861 名前:デフォルトの名無しさん [2019/06/03(月) 23:56:34.84 ID:JEDLjuFd.net] JVMの性能は実行時最適化が強みだから ベンチマーク系は不利 巨大なプログラムで長時間の動作において有利なはず にもかかわらずベンチマークでもそこそこ速いんだからすごいのでは
862 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 00:08:19.43 ID:8w4/id00.net] いや実行時最適化は繰り返し実行される処理に対して効くからベンチマークには強いぞ 立ち上がりの遅さとか、ベンチマークに現れない体感的な部分がJVMは遅い 事実上サーバー専用だから仕方ないが
863 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 02:28:23.05 ID:Xu6aOKJJ.net] JVMはガーベッジコレクションでスローダウンするから未だに使い物にならない。 一番大事な時に直撃で機会損失が億いくと違約金も凄まじかったぜ。
864 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 06:40:04.13 ID:1zKcF7rp.net] 果てしなく嘘くさいな シビアなシステムでどれだけ使われてると思ってるんだ
865 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 07:41:14.05 ID:zxBnyDUV.net] 10年以上前からあるコンカレントGCすら知らないような会社なんだろう
866 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 08:08:31.64 ID:LGhp/e10.net] 業務用Javaに関しては新機能が使われずなおかつアプデなしで10年経過とか普通にあるからな それはそれでもいいから対外的にJava語るなって話なんだが
867 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 08:20:13.77 ID:1zKcF7rp.net] 例のみずほのサグラダファミリアもJava1.5という噂を聞いたけどマジなんかな
868 名前:デフォルトの名無しさん [2019/06/04(火) 10:17:08.75 ID:prB+PlYz.net] ネイティブでgc使わないようなコードも出せるようになればなんとかなりそうな気もするが、そうするとライブラリもそれ用のを使わないとダメか。
869 名前:デフォルトの名無しさん [2019/06/04(火) 11:48:04.89 ID:+GlxYcps.net] graalvmでできるぞ
870 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 12:44:23.82 ID:zxBnyDUV.net] それ回収しないやつじゃないですかね
871 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 18:10:17.62 ID:/4mAZqwS.net] JVMが使い物にならないという人が何を使っているのかとても気になる
872 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 18:49:03.68 ID:Rd1vYitp.net] JVM入りの指輪使ってます!
873 名前:デフォルトの名無しさん [2019/06/04(火) 19:32:40.19 ID:+GlxYcps.net] jvmの引数でもGCのラグを解消できるし 最新のZGCというのも出てきた
874 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 23:57:50.92 ID:FDlJBmR7.net] JVMというかspring fwの起動が糞遅いのは分かる 2.0になって少しましになったけど…
875 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 01:12:19.63 ID:PtZsxspX.net] springってそんな遅いっけ?
876 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 10:00:02.20 ID:zKfENgey.net] 気のせいかわからんがKotlinでspringやると遅いような気がする
877 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 10:01:33.26 ID:C+IWDk26.net] Ktor流行って欲しい
878 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 10:13:38.35 ID:gaDZjJ4I.net] >>876 ktorはマイクロサービス向き kotlin/jvmはモノリシック向き kotlin nativeが流行らないと無理やと思うで
879 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 13:28:31.33 ID:B3mDB84e.net] >>864 コンパイル時間は長いと思うけど、アプリ本体は変わらん。 というかそもそもspring本体はJavaだし。
880 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 19:11:23.87 ID:i1hhoL96.net] >>866 Ktorをその並びで並べるのはちょっと違うと思う。
881 名前:デフォルトの名無しさん [2019/06/05(水) 21:56:16.86 ID:Nwu/rjvu.net] >>868 kotlin/jvmはJava代替でSIerによるフルスタックFW&モノリシック開発が向いている kotlin/nativeはGo代替を目指していてWeb系企業のマイクロサービスが向いている kotlin/jvm+ktorではGOに勝てるユースケースが無いので ktor流行にはkotlin/nativeの流行も必須というのが自分の主張。 まあ異論はあると思う。ちなみにkotlin/nativeは応援してるしktorも流行ってほしい
882 名前:デフォルトの名無しさん [2019/06/06(木) 00:14:12.91 ID:crlHsY/g.net] >>822 vim + quickrunで動くよ! kotlinc, javaなんてコマンドを打つことはしない。
883 名前:デフォルトの名無しさん mailto:sage [2019/06/06(木) 05:38:57.73 ID:AHPkvIjM.net] >>869 言ってることは分からなくもない。 ただ視野が狭すぎるというか、そんな可能性を狭めなくていいと思う。
884 名前:デフォルトの名無しさん mailto:sage [2019/06/06(木) 06:33:47.56 ID:DDFFQDhW.net] そもそもKtorってJVM、というかServletに依存してね
885 名前:デフォルトの名無しさん mailto:sage [2019/06/06(木) 09:26:51.24 ID:B66i5Eyn.net] 依存はしてなくね
886 名前:デフォルトの名無しさん mailto:sage [2019/06/06(木) 10:59:43.79 ID:72rhxhib.net] 次のリリースでkotlin/nativeのbuild時間が改善されそう リリースいつなんだろ。。
887 名前:デフォルトの名無しさん mailto:sage [2019/06/06(木) 12:47:51.63 ID:rJJBtVPp.net] 利根川さんにでも聞け
888 名前:デフォルトの名無しさん [2019/06/06(木) 20:06:45.07 ID:UUcOWqLu.net] kotlin/nativeはGraal(AOT)に勝てるかどうかすら怪しいのに、夢見過ぎだろ。
889 名前:デフォルトの名無しさん mailto:sage [2019/06/06(木) 20:44:18.25 ID:tk55iQ4S.net] ktsって誰も使ってなさそう
890 名前:デフォルトの名無しさん mailto:sage [2019/06/06(木) 21:14:00.21 ID:DsfM5wVX.net] Gradleで使う
891 名前:デフォルトの名無しさん mailto:sage [2019/06/07(金) 08:15:36.89 ID:XGKtoEgu.net] >>876 AArch64の対応が進んではいるもののGraalがiOSに対応するのは当分先 Kotlin/Native側も資産(ライブラリ等)不足やパフォーマンスの課題があるけどな
892 名前:デフォルトの名無しさん mailto:sage [2019/06/07(金) 08:44:09.41 ID:XGKtoEgu.net] >>879 の補足 Graal側はAArch64/Linux対応が完成してからiOS対応をやるかどうか検討するとのこと https://github.com/oracle/graal/issues/373#issuecomment-454697157 まだAArch64/Linux整備中の段階 https://github.com/oracle/graal/commits?author=sanzinger&since=2019-05-15&until=2019-06-07 iPhone/iPadのチップ : A10〜A12X : ARMv8ベース ARMv8の64ビットモードがAArch64
893 名前:デフォルトの名無しさん mailto:sage [2019/06/07(金) 16:14:27.25 ID:5OmdT0Za.net] kotlin/nativeのメインターゲットはiOS開発なんだろうと思う。
894 名前:デフォルトの名無しさん mailto:sage [2019/06/07(金) 16:40:27.70 ID:xSr7j0ut.net] 普通に考えりゃそうだわな
895 名前:デフォルトの名無しさん [2019/06/07(金) 16:53:00.43 ID:q0RmewW9.net] Swiftネイティブでいいじゃん、他にはUnityもあるし。 入り込む余地ないでしょ。
896 名前:デフォルトの名無しさん mailto:sage [2019/06/07(金) 19:12:00.19 ID:uzdYHfME.net] 釣り針は大きすぎちゃいかんのだぞ
897 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 13:55:10.20 ID:pv0ZpPmn.net] kotlin3大いいところ ・android標準という安心感(直ぐには廃れない) ・モダンな書き方ができる(arrowもあるし) あと1つは?
898 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 14:23:05.48 ID:LrdSIDEQ.net] >>885 Listが基本immutableなことやnull安全はモダンに含まれるのかな? 標準という意味ではGradleの記述言語としてもサポートされているので、廃れにくいかなと思っている。 個人的にはDSLを3つ目として挙げたい。
899 名前:デフォルトの名無しさん [2019/06/09(日) 14:43:33.75 ID:zgQq0a06.net] JVMで動く言語でJavaのライブラリそのまま使えるのが良い これに関してはKotlinである必用はないのだが、その他の利点の上に更にこれがあるのが良い
900 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 16:29:58.10 ID:SDScvKJ1.net] 最新のjavaも随分進化したから、そこまでkotlinにこだわらねえ。 kotlinがjavaや.netみたく自前の最初からnull安全なクラスライブラリ備えてるなら別だけど。
901 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 16:35:14.81 ID:yULR2w5s.net] 逆にあえてJavaを使う理由が特に思い当たらんからとりあえずKotlin使うわ
902 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 19:10:48.79 ID:TX+aAcRC.net] Javaに新機能が追加されてもざんねんなJava部分が消えるわけではないので 可能であるなら最初からKotlinでやりたいかな
903 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 22:02:36.62 ID:LrdSIDEQ.net] >>888 自分も最初はラムダもOptionalもあるからとそう思っていたけど、immutable programmingで行こうと思った時に、 Listがimmutableであることを保証する方法がないことに気づいてKotlinへの移住を思い切った。 immutable programmingはそれほど実現しなかったと反省しているが、 Kotlin/JSやbuild.gradle.ktsとかも出来たので後悔はしていない。
904 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 10:30:03.83 ID:5WqM3fpA.net] うちももう新規追加は全部Kotlinだわ だってJavaで書くメリットがマジで何もないんだもん
905 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 10:36:29.16 ID:rgxxUvbF.net] javaで仕事してるやつ転職できなくなるぞ
906 名前:デフォルトの名無しさん [2019/06/10(月) 11:17:01.74 ID:g6tidy/F.net] coboちゃんが入れ替わっただけの蛇腹は逝ってヨシ
907 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 13:43:04.79 ID:5WqM3fpA.net] >>893 Java経験あるならKotlinなんてすぐ書けるから別に気にしないよ。 社員で雇うならどの言語で書いてたかはあんまり関係ない。
908 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 23:11:05.39 ID:f1GGY3g+.net] kotlin書いてる人は何の仕事してるの? やっぱandroid?
909 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 05:51:34.27 ID:qT8Bq+lF.net] サーバーサイド 7割SpringBoot3割sparkその他
910 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 05:52:20.89 ID:qT8Bq+lF.net] 2年くらい前まで都市伝説レベルだったサーバーサイドKotlinも最近は勉強会でよく見かけるようになったんだ
911 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 07:18:21.72 ID:G5A56vfp.net] できればkotlinで作りたいって言われてサーバー側のプログラムを作ってもらった。 DBサーバは別で画面制御だけ。 自分でも勉強しようと思ってこのスレッドを見てるところ。
912 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 15:06:52.23 ID:1jV87VfI.net] そっか。サーバサイドkotlin順調に普及してきてるんやね。ワイの周り以外では。 うらやましい!
913 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 17:51:05.94 ID:PKI+0nSq.net] ほぼ0だったのがようやく1になったくらいで、まだまだマイナーだけどね
914 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 19:13:42.98 ID:oFYgO+/L.net] 分布が0から1になったら制圧完了じゃないか
915 名前:デフォルトの名無しさん [2019/06/13(木) 09:02:41.37 ID:t9tRfwUY.net] kotlinは関数型も取り入れてるし 色々欲張り過ぎで言語仕様複雑化してるイメージがあるんだけど 実際使っててどうなの? kotlinプロジェクトはコーディングスタイルが多様化しそう
916 名前:デフォルトの名無しさん [2019/06/13(木) 10:04:02.16 ID:7TzYdFG0.net] >>902 プログラマならまずそう思うわなw
917 名前:デフォルトの名無しさん [2019/06/13(木) 17:30:55.80 ID:rjthL9V0.net] AndroidStudioやVSCode(mathiasfrohlichのKotlin Language機能拡張)で学習してるんだけどさ どちらにしてもスペルミスは文字の色である程度わかるけど、文法が間違っててもその場で指摘してくれるわけじゃないのね ある程度身につくまで文法間違いやを教えてくれるとありがたいんだけどそういうのはないのかな?
918 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 17:36:07.23 ID:5KTA02i+.net] 文法間違いとはなんぞや 一応、実行できないくらい間違ってる場合はIntelliJ系だと「現時点で解釈不能でわけわかんないです」「これを書いてるつもりの場合は〇〇が必要です」って下に英語でちょろっと出る
919 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 18:20:30.31 ID:KlaL+iOR.net] 文法間違いは普通に赤線で指摘されるだろ
920 名前:デフォルトの名無しさん [2019/06/13(木) 19:19:37.31 ID:t9tRfwUY.net] kotlinのバグ発生率はJavaより低いですか?
921 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 19:22:16.85 ID:5KTA02i+.net] Javaのバグ発生率を教えてくれたら考えてあげてもいいよ 同じような式で計算して出すから
922 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 19:32:38.72 ID:BCeAlBQy.net] >>905 具体的にどういうこと? VSCodeは知らんけどIntelliJは大抵のミスは教えてくれると思うけど
923 名前:デフォルトの名無しさん [2019/06/13(木) 19:38:53.30 ID:t9tRfwUY.net] >>909 https://web.cs.ucdavis.edu/~filkov/papers/lang_github.pdf >Java−0.01 (0.04) Javaはいろいろな言語の中で平均的なバグ発生率のようです。 Kotlinはこの表にありません。
924 名前:デフォルトの名無しさん [2019/06/13(木) 19:43:19.29 ID:t9tRfwUY.net] Javaのバグ発生率は、 同じ領域で使われていると思われるC++,C#,Pythonと比べて最も低いです。 つまり、カーネルやデバドラやブラウザ系でなければJavaが一番優秀に思えます。 しかしKotlinはJavaを打ち倒すかもしれません。
925 名前:デフォルトの名無しさん [2019/06/13(木) 19:52:28.01 ID:LD/3JdHH.net] ぬるぽ ぬるぽ 出まくるが これはバグじゃないのか
926 名前:デフォルトの名無しさん [2019/06/13(木) 20:13:21.29 ID:t9tRfwUY.net] その比較研究はgithubのコミットに基づいているようなので ほとんどのNPEは開発中に発生して修正済みでしょう。 最初からNPEを発生させないkotlinは、 むしろバグ発生率よりコーディングスピードで優れているかもしれません。
927 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 20:40:07.05 ID:RwojvEQB.net] その類の実証研究、大抵がJava対象だからKotlinだとどうなのかとかはまぁ分からんよね
928 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 21:07:39.94 ID:bk4aKhUm.net] kotlinだとコードの行数が減るからjavaに比べて開発規模が小さかったと判断されてしまう
929 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 23:03:46.90 ID:bcw2IMf7.net] >>913 仕様です。
930 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 14:45:14.16 ID:g+H89gem.net] kotlinの言語仕様的にjavaよりバグり易そうな部分ってあるんかな?
931 名前:デフォルトの名無しさん [2019/06/14(金) 16:59:32.14 ID:3STsRhDl.net] >>918 it や this が思ったものと違うものを指していたとか。
932 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 18:14:32.08 ID:g+H89gem.net] 確かに。let 周りで失敗してたことあったわ。あの辺はちょっと複雑になっちゃってる感あるね。
933 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 18:28:44.08 ID:LdOtrrUz.net] KotlinはTypeScript, Swift, C#あたりの典型的なモダンCファミリーの範囲を超えてオリジナリティを出してきた部分については途端に微妙になる印象 当然っちゃ当然なんだが、天才的なものは感じないね
934 名前:デフォルトの名無しさん [2019/06/14(金) 20:01:34.38 ID:pfb3ZKlS.net] Javaはエラーコードを強制される部分があって、プログラムの質の底上げがされてるんじゃないかな
935 名前:デフォルトの名無しさん [2019/06/14(金) 20:09:15.99 ID:HXW20L0t.net] エラーコードを強制って例外処理のこと?
936 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 20:23:59.56 ID:Emc1ZmLq.net] なんかもう、わかんない人は無理に会話入ってこなくていいよ
937 名前:デフォルトの名無しさん [2019/06/14(金) 20:32:30.84 ID:HXW20L0t.net] たぶんJavaにあってKotlinに無いものは無い 強いて言えばKotlinは関数型を採り入れて言語仕様が複雑化しつつあるし Javaとの混在が可能だからごちゃごちゃしやすい 人によって書き方が変わりやすい あとGSONとの連携で問題が生じやすいとかあったはず
938 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 22:27:49.12 ID:7NQ+qMUb.net] 検査例外とラムダ式の相性の悪さは…
939 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 22:47:52.21 ID:w6RR3Bwm.net] 検査例外ちゃんは皆に嫌われてるから… 投げられた例外を捌けるかどうかは呼び出し元の都合や要件に依るからcatchを強制されるのは好かん て雲のジュウザが言ってた
940 名前:デフォルトの名無しさん [2019/06/14(金) 22:48:02.61 ID:HXW20L0t.net] なんかQiitaにうまく書けるコードあったからちょっとカスタマイズして使ってる https://qiita.com/q-ikawa/items/3f55089e9081e1a854bc
941 名前:デフォルトの名無しさん [2019/06/15(土) 04:17:10.27 ID:6gRe3JZA.net] マルチパラダイムな関数型言語はどう設計していくのが良いのか難しいと思う OOPと関数型は根本的にミスマッチしてる
942 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 07:02:06.90 ID:9mAlYVnq.net] ポインタさえなければ、バグの出やすさは誤差の範囲じゃないかな
943 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 07:54:39.96 ID:pCdIqw4x.net] A
944 名前:ndroid kotlinで言えばMVVM一択だろ 悩むほど選択肢はない [] [ここ壊れてます]
945 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 08:21
] [ここ壊れてます]
946 名前::51.26 ID:34xcDdoq.net mailto: >>926 関数型とも相性が悪いが嫌わないで下さいませ [] [ここ壊れてます]
947 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 09:07:49.50 ID:Ga3aXpPN.net] >>929 そうかな イミュータブルオブジェクトと関数型は相性いいと思うけど
948 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 10:09:18.81 ID:kA7AOVm/.net] OOPそのものじゃなくてクラスでデータと関数が密結合してるのがいまいちという話は感じる
949 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 10:29:34.05 ID:XQanIMKl.net] 本質的にはラムダ/クロージャでの束縛と変わらないと思うけどな
950 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 10:40:41.99 ID:VIoLCw8z.net] >>909 有言実行な
951 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 11:15:34.03 ID:jsVQo8Sw.net] >>934 やはりdata Classだな
952 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 11:31:49.90 ID:Ga3aXpPN.net] これが f(g(immutableData)) こうなる immutableObject.g().f()
953 名前:デフォルトの名無しさん [2019/06/16(日) 15:28:56.20 ID:+bML8jLF.net] >>918 わからない。なさそうな気がするが、KotlinにはKotlinなりの何かハマり易そうな部分があるのだろうな。弱点というかなんというか。
954 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 09:40:35.09 ID:IlEGRCQm.net] 宮迫の闇営業の件で何をトチ狂ったか、宮迫が出演する番組のスポンサーが JetBrainsだと勘違いして開発者達にお問い合わせメール送りまくってるの草。 JetBrainsと宮迫は関係ねーよw
955 名前:デフォルトの名無しさん [2019/06/17(月) 12:39:31.98 ID:WHxj8IY7.net] 何の話か全くわからない。 かといって聞いても面白そうな話ではないので詳しく聞きたいとも思わない。
956 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 13:00:55.37 ID:o6rhTPDa.net] 向いてないから死ね
957 名前:デフォルトの名無しさん [2019/06/17(月) 14:50:03.42 ID:WHxj8IY7.net] 向いてない?
958 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 15:42:34.39 ID:hVMxT+V3.net] (芸能ゴシップに)向いてない
959 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 17:37:42.52 ID:zJfN8BpE.net] そんなことで死んでたら、おばちゃん以外全滅やな
960 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 17:48:49.03 ID:z41igY3s.net] JetBrainsがテレビCM出してるの想像したらワロタ オカンが「あらDataGripもいいわねえ」とか言うのか
961 名前:デフォルトの名無しさん [2019/06/18(火) 06:15:56.76 ID:3nOE2mBA.net] プログラム板にキチガイ降臨中!botに一晩も反応する異常さ 一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。 https://mevius.5ch.net/test/read.cgi/tech/1559872586/ 142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO >>141 名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、 片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか? 一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
962 名前:デフォルトの名無しさん [2019/06/18(火) 17:12:38.49 ID:yt+j24gZ.net] >>944 まあ芸能関係は全く注目してないからな。 しかしのめり込む人は思い切りのめり込むね。 芸能人批判するとか、なんで自分と関係ない他人の事にそんなに夢中になれるのか謎だ。
963 名前:デフォルトの名無しさん [2019/06/18(火) 20:05:30.96 ID:Yl81yVsm.net] EBライブラリってのをdownloadしてcompileしてみた。 www.mistys-internet.website/eb/ ドキドキしながらsamplesを動かすと、動いてるみたい。 このライブラリを使えばEPWING辞書データにアクセスする事ができる。 俺の場合、手元のジーニアス
964 名前:蜴ォ典にアクセスできた。 こいつでAndroidアプリ、辞書Viewer作れば需要あるかな? EPWINGだけでなく、辞郎形式のテキストにも対応しちゃう事にする。 Qiitaへ投稿されたMouse Dictionaryみたいなのを目指すけど、需要あるか、ちょいと心配。 [] [ここ壊れてます]
965 名前:デフォルトの名無しさん mailto:sage [2019/06/18(火) 22:59:28.72 ID:dBLXUbfR.net] >>949 ジーニアスのアプリがほしいと思っていた時期が、私にもありました。 でも、今や単語を選択して右クリック(長押し)->webで検索で済むと気づいてからは、 なんということでしょう。それまで高まっていた物欲が嘘のように消え去りました。
966 名前:デフォルトの名無しさん [2019/06/19(水) 04:49:57.44 ID:tVNS+22r.net] 【出資】松本卓朗 人工知能詐欺【注意】 https://rio2016.5ch.net/test/read.cgi/rikei/1560859403/
967 名前:デフォルトの名無しさん [2019/06/19(水) 06:23:38.19 ID:l5Kajxps.net] EBライブラリ、ソースのtimestampが2010/01/03と随分古い。 動かすとテキストがeuc-jpで出て来た。 これは、辞書に依存するのか?それともEBライブラリの仕様か? 2010年ってまだ、UTF-8が普及する前なのか? そういえばYahoo Japanのフロントページが以前はeuc-jpだった気がする。けど、何時だったか思い出せない。 多分、Ruby 1.9が出現したころだから、これも2010年辺りか? iPhoneと共にutf-8が普及し出したから2007年にはutf-8は普及の兆しがあったはずだが。
968 名前:デフォルトの名無しさん [2019/06/19(水) 06:58:47.54 ID:l5Kajxps.net] >>950 ジーニアス大辞典、良いよねぇ。 citeを引くと、excite, reciteと語源が同じって出てくる。 やっぱり、EPWING辞典の需要って少なそう。
969 名前:デフォルトの名無しさん mailto:sage [2019/06/19(水) 09:56:43.59 ID:t5G+Fp+C.net] >>952 その頃にはUTF-8が覇権を握り始めてたけど、LinuxのデフォルトがEUCだった頃の名残はまだまだ濃かった 特に人の意識でEUCが標準って感覚の人がまだ多かったね
970 名前:デフォルトの名無しさん [2019/06/19(水) 10:46:28.14 ID:l5Kajxps.net] twitterを電子辞書をkeyに検索すると、デバイスのお絵かき機能を使った落書きが、大量にヒットする。 学生さんは、授業中、イラスト描いてるらしい。 けど、画風が皆、似通ってるのはなぜだ?アニメ世代ってのは、あんな絵が好きなのか?
971 名前:デフォルトの名無しさん [2019/06/19(水) 19:31:58.26 ID:l5Kajxps.net] EPWINGって何の略? 必死にググったけど、WINGの部分が良く解らん。 EP = Electronic Publishing ってのはすぐ気がついたけど。 あとEPWINGの仕様で、データはEUC-JPで格納されてる様だ。 EBライブラリのREADMEはISO-2022-JPで書かれていた。 時代を感じる。まだ、10年も経ってないのに。
972 名前:デフォルトの名無しさん [2019/06/19(水) 19:36:05.36 ID:WYELJAwQ.net] >>955 アニメの絵にも流行りがあって時と共に変化していくんだよ。 昔の同時代のアニメを見るとそれはそれでなんとなく似ていたりする。
973 名前:デフォルトの名無しさん [2019/06/20(木) 07:32:57.64 ID:q2Ahu20H.net] UTF-8がWindows10にも普及しているのか?調べてみた。 2018年末最新のWindows10からUTF-8採用って事みたい。 ごく最近ッてことだ。おそろしい。きっと混乱はまだ続きそう。
974 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 08:51:24.08 ID:sDpzaQfg.net] メモ帳でutf-8使うとBOMってのが付くのが憎悪しかない
975 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 09:27:00.55 ID:6ruM3wzV.net] 漢字コード周りは太古より混沌として
976 名前:ワすなあ [] [ここ壊れてます]
977 名前:デフォルトの名無しさん [2019/06/20(木) 10:34:16.29 ID:q2Ahu20H.net] >>959 メモ帳の文字コード既定値がUTF-8に、Windows 10「May 2019 Update」 https://tech.nikkeibp.co.jp/atcl/nxt/column/18/00723/042300004/
978 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 11:33:05.23 ID:XGI0CaH0.net] MSはsjis系のテキストファイルと区別するためにUTF-8のテキストファイルにBOM付けたかったんだろうが、Unix系の人達の激しい抵抗に屈した形だな
979 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 13:09:58.71 ID:YzAIhfm/.net] >>960 もはやWindowsだけが浮いてて他は統一されている
980 名前:デフォルトの名無しさん [2019/06/20(木) 13:22:43.18 ID:R3CNAp+/.net] 困ってるのが日本人だけだとしたら酷いな
981 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 14:02:42.49 ID:JwmP4tXt.net] >「BOM(バイト・オーダー・マーク)なしのUTF-8」が追加 >デフォルト設定でBOMなしのUTF-8を選択するようになった もうBOM付かないんですか!やったーー!AA略
982 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 14:09:50.23 ID:JwmP4tXt.net] ExcelがBOM無しCSVに未対応じゃないすか!やだーー!
983 名前:デフォルトの名無しさん [2019/06/20(木) 15:39:54.52 ID:q2Ahu20H.net] UTF-8のデメリットは、1文字が1 - 6byteの可変長であること。 例:a = 61, 1byte 😀 = F0 9F 98 80, 4byte これ、文字列バイナリデータが与えられた時、文字数ってどうやって数えるんだ?
984 名前:デフォルトの名無しさん [2019/06/20(木) 15:46:34.34 ID:9IsAc6k5.net] UTF-8 のメリットは任意のバイト位置で それが何バイト必要な文字なのかと その文字中の何バイト目かが判ることなんだが
985 名前:デフォルトの名無しさん [2019/06/20(木) 17:45:07.28 ID:q2Ahu20H.net] >>968 そうなのか!知らんかった。 では、80と出てくるとその文字は4byte必要な文字の1バイト目だと判るのね?
986 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 18:58:22.29 ID:JwmP4tXt.net] 文字数という意味ではUTF-32でさえも可変長だよ 異体字セレクタとかあるから
987 名前:デフォルトの名無しさん [2019/06/20(木) 20:08:50.04 ID:+6KXUujL.net] >>967 1〜4バイトでは? >>968 文字の最初の1バイト目かどうかがわかるだけでは?それがわかると全体で何バイトかわかるけどいきなり途中の1バイトだけ見たらそれが何バイト目かはわからんと思うのだが。
988 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 20:21:19.41 ID:1cBvDRZL.net] 名前がコトリンだからあなどられて、ばかにされそうだけど そこんとこどうなの?
989 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 20:25:32.03 ID:iAGTq6ne.net] Kotlinの気持ち悪さといったらない
990 名前:デフォルトの名無しさん [2019/06/20(木) 22:46:04.16 ID:1p12e0x8.net] 本当はSwiftより先にあったらしいけどさ なんか言語学習を混乱させるために出てきた「後発劣化Swift」みたいな感覚が抜けないな
991 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 23:02:51.30 ID:JwmP4tXt.net] Swift1.2〜3.2くらいまでアプリ開発で使いつつ MLでの言語仕様の議論追ったりしてたけどKotlinと比較してそんな印象は無いなぁ むしろSwiftがSwiftユーザーを混乱させる勢いだったよ
992 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 23:39:22.66 ID:LZeo8jFH.net] おまえらことりんの事バカにし過ぎ
993 名前:デフォルトの名無しさん [2019/06/21(金) 00:11:32.79 ID:B9wXa8Qq.net] バカにする者の居る国の沿岸に Kotlin class destroyer でも派遣してやりなさい。
994 名前:デフォルトの名無しさん mailto:sage [2019/06/21(金) 00:19:44.86 ID:oqDjX8us.net] inline classには期待してる
995 名前:デフォルトの名無しさん [2019/06/21(金) 02:52:37.45 ID:FirfeIPX.net] >>971 君は勉強が足りない
996 名前:デフォルトの名無しさん mailto:sage [2019/06/21(金) 06:45:14.02 ID:0S+ga2MW.net] >>971 で合ってるよ 10FFFF上限で5バイト以降は廃止されたし 2-4バイトは後続バイトであることは分かっても文字中のバイト位置の逆算は不可
997 名前:デフォルトの名無しさん [2019/06/21(金) 09:40:47.55 ID:UUUS7pJl.net] >>979 君よりは足りているように思えるのだが。
998 名前:デフォルトの名無しさん mailto:sage [2019/06/21(金) 12:14:23.93 ID:4tmbpCdV.net] 向いてないから死ね
999 名前:デフォルトの名無しさん mailto:sage [2019/06/21(金) 12:36:06.78 ID:A0zl/65r.net] 喧嘩はおやめ、ABC
1000 名前:デフォルトの名無しさん mailto:sage [2019/06/21(金) 13:20:15.67 ID:DPrh10DB.net] ネカマだけどアタシのために喧嘩を止めて
1001 名前:デフォルトの名無しさん mailto:sage [2019/06/21(金) 13:30:31.81 ID:skxOC/OA.net] >>982 このレス、プログラム板のあちこちでみるけど何? 板にキチガイが常駐してるの?
1002 名前:デフォルトの名無しさん mailto:sage [2019/06/21(金) 16:41:40.80 ID:A0zl/65r.net] デジタル人格は死んでも本体が生きていればいくらでも復活出来る
1003 名前:デフォルトの名無しさん mailto:sage [2019/06/22(土) 00:51:03.50 ID:sUTyEXDJ.net] くだすれPython(超初心者用) その43【Ruby禁止】 Python スレのテンプレを勝手に改変して、荒らしてる奴。 「Ruby 死ね」とか、いつも書いてる Ruby, jQuery, Lodash, ライブラリの話は禁止とか、 テンプレを勝手に改変して、多くのスレを建てる荒らし! 荒らしの特徴は、いつも30分以内に、2回書き込んで自演する。 複数人いるように、見せかけるのが特徴
1004 名前:デフォルトの名無しさん [2019/06/22(土) 04:18:14.63 ID:zj+KJbMh.net] ( ´_ゝ`)フーン
1005 名前:デフォルトの名無しさん [2019/06/22(土) 10:05:28.96 ID:fiI8bn9U.net] 次スレよろ
1006 名前:デフォルトの名無しさん [2019/06/22(土) 16:01:21.64 ID:zj+KJbMh.net] 次スレ Kotlin 6 https://mevius.5ch.net/test/read.cgi/tech/1561186797/
1007 名前:デフォルトの名無しさん mailto:sage [2019/06/22(土) 19:29:56.53 ID:jXJvmGnc.net] >>990 次スレ乙
1008 名前:デフォルトの名無しさん mailto:sage [2019/06/23(日) 06:23:13.99 ID:R2rggQxM.net] 梅
1009 名前:デフォルトの名無しさん mailto:sage [2019/06/23(日) 17:43:28.65 ID:rsKqqEB5.net] 竹
1010 名前:デフォルトの名無しさん mailto:sage [2019/06/23(日) 19:46:17.29 ID:N5Qb8UIm.net] 松
1011 名前:デフォルトの名無しさん mailto:sage [2019/06/23(日) 22:16:19.27 ID:vZOM6xmC.net] お前ら向いてないよ
1012 名前:デフォルトの名無しさん mailto:sage [2019/06/23(日) 22:31:20.40 ID:6JO2kpc/.net] なんだと
1013 名前:デフォルトの名無しさん mailto:sage [2019/06/24(月) 06:19:00.21 ID:ghfSvaJN.net] >>996 落ち着け。>>982 の真似に過ぎない。
1014 名前:デフォルトの名無しさん mailto:sage [2019/06/24(月) 09:52:00.23 ID:nG4gLzh9.net] 998
1015 名前:デフォルトの名無しさん [2019/06/24(月) 12:50:53.78 ID:6xXOOyfa.net] 1000は君に譲ろう。さあ、書きなさい。
1016 名前:デフォルトの名無しさん [2019/06/24(月) 12:52:49.34 ID:NW8XqAfb.net] 1000なら令和最初の関東大震災
1017 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 197日 16時間 23分 8秒
1018 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています