Kotlin 5
■ このスレッドは過去ログ倉庫に格納されています
JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう
※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1531818027/ >>671
同志
Android関連本、俺のところも本屋には少ない。
大阪に隣接の県の県庁所在地なんだけど。
大阪のデカイ本屋へは往復2,000円掛かっちまう。 >>675
Kindleおすすめ
マルチディスプレイで勉強捗る >>677
Kindleも試したけど、俺、紙の本派なんだよねぇ。
書き込みできるのが紙の本がありがたい。
KindleのためにiPad Pro 12inchも買ったけどやっぱり紙が良いんだよねぇ。
俺って、変かなぁ。 紙の解像度にはまだまだ電子書籍は敵わない
紙の優位性はあるから書見台(ブックスタンド)とか使え、そしてやっぱイマイチだってしまい込むんだ
印刷したデータは死んだデータだってのは、まあ、その通りなんだけども ktorでhttpsやろうとしてサンプル試してみたけどなんかダメだな >>673
Amazonも楽天も使ってるよ
ただ本屋に置いてない状況を見ると
Android開発の人気無くなってきてるのかなと思って
本屋は内容確認できる長所あるし
もう少し置いてほしいところ >>680
オレオレ認証局だけど出来たよ。Let'sEncryptのところでなければ答えられるかも。
>>681
Android開発者が紙の本からKindleに移住している可能性も。
といいつつ自分はPC本は紙派。読んだ後確認する時にこのあたりかなとパラパラとめくりながら探せるので。 [改訂新版]Android SDKポケットリファレンス
これのKindle版って、サンプルコード見やすいですか?
[改訂新版]Swiftポケットリファレンス、こいつのKindle版掲載のサンプルコードは、文字の拡大縮小も可能で、Goodなんだけど。
Kindle Paper Whiteで閲覧します。iPad Pro 12inchもあるけど。 ちなみに、お試し版をPaperwhiteで見てみたけど、お試し版は最初の数ページ、しかもサンプルコードが無いページしか、試し読みできませんでした。 kindleはコピペできないからPDF版のあるやつは、そっちを買うようにしてる。 その本つてKotlin対応してなかった気がするけど
Javaでも良いの? ここが過疎ってるような気がしてslack見てみたけどそっちも過疎ってるのかな。
slackの使い方間違えてるのかな。。 forEach は Iterable<T> と Iterator<T> にあるのに forEachIndexed は Iterable<T> にあっても Iterator<T> にないのは何故か? Iteratorは拡張関数が4つしかなくインターフェース変換を除くと実質2つ
なのでむしろforEachとwithIndexだけが特別扱いのようなもの 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"] >>691
あー。そうか。
まあ Iterable は中に Iterator 返すやつ一つ作ってしまえば良いだけなので object で作ってそのまま forEachOndexed で使えば良いだけなのだがなんというか面倒。
あ、自分でそういう拡張関数作ればいいだけか。てか作っておいて欲しかっな。 >>689
イテレーターは列挙するものだからインデックスと直結しないのでは
n件のリストがあったとして、それをイテラブルとして回すときのインデックスはほぼ自明だけど
そいつを3から始めるイテレーターや逆順のイテレーター
3歩進んで2歩下がるイテレーターのインデックスというのは
ルールを決めてしまえばいいんだけど本質的な属性ではないと思う 拡張関数ってグローバルだよな
どこに書けばいいか迷ったあげく使うクラスと同じファイルに書いてしまう 拡張関数めっちゃ便利だけど、用法用量を守らないととても危険だよな 拡張関数の定義を interface の中にすれば、使用可能範囲をコントロールできる どのみち、IDEがないと読み難い言語だから、Extensionはさして気にならない。
プロパティアクセスのせいで、知らず知らずにシャドウしてしまう方がずっと気になる。 ts2ktって放置されているっぽいけど、今でも使いものになるの? >>699
Android以外はちゃんと動くんかな・・・・? >>698
拡張した本人しか認識できないのもができるからな。 >>699
興味あるわこれ
今やってるの終わったら使ってみようと思うんだけど誰か試してみた? 社内の持ち回りの勉強会で、vimでKotlin開発する環境を気合いで整える、という発表をしたら大受けしたわ
もちろんネタとしてな。絶対idea使った方がいいぞ。 やらないと後で「おまえやるって言ったよな」と責められるw kotlinでandroid開発の記事載ってる雑誌ないですか
ネットや書籍から情報得るしかない? そもそも今ではプログラミングについての雑誌が少ないよね。
Software Design か日経ソフトウェアぐらいなんじゃないか?
ハードウェア寄りな Interface みたいなのもあるが。 断片的なのはネットで調べればいいが、
体系的に全体をまんべんなく知りたいってときは、
やっぱり書籍が適してると思う。 書籍もガッツリ読むなら紙の本がいいし、写経するなら電子書籍の方がいいし
選択肢が増えた分だけむしろ選ぶのが大変になってるな SoftwareDesignは最近はもう読んでない
バックナンバーも大量に棄てた
川上さんの連載のだけ残してる 雑誌のいいとこは判型が大きいことだなw
ただのブログよりは読者層を意識してる率が高くて、Web記事よりはまとまりと終わりがある可能性が高いという感じか
なにの情報を欲しいと思ってるのかに依存する気がするぞ 雑誌の良いところは、本よりも情報の鮮度が高いってとこだね。 日経ソフトウェアは、素人向け
SoftwareDesign ぐらいか。
WEB+DB は、システム環境・プログラマーが半々ぐらい
他は、日経Linux は、ラズパイが多い
フレームワークの巨匠と言えば、掌田津耶乃・山田祥寛
山田の講習会は、数万円とか。
掌田なら、十万円ぐらい行きそうw 最近の日経ソフトウェアはPython雑誌みたいになってる
Kotlinの記事なんて全く載らない そういやPython大ブームだね。
機械学習関係で火が着いた感じか。 数年後に始まる小学校でのプログラミング授業もPython採用と予想。 おすすめかどうかを意識しろ
あるかどうかではなく、おすすめかどうかだ
検索すりゃこのご時世英語含めてたくさん出てくる
そんなの見りゃわかる
おすすめできるものかどうかがいちばん大事 kotlin使った事無くて勉強中なんですが
null安全は通信で届いたオブジェクトについてどう働きますか?
あるいはデシリアライズされたオブジェクトについて
そこでもnull安全ですか? 当然どんなオブジェクトであれKotlinで書かれている限りnull安全は機能するけど、君はそもそもnull安全を誤解してそうな予感がする 検索すると、null不可な変数にnullを代入できないこと、とあります。
そうすると通信で受信したオブジェクト等はどうなるのかなと。
この理解は間違っていますか? どこまで「使ったことない」かにもよるんだが
・nullかどうかの条件分岐をクリアした変数
・nullかどうかの条件分岐をまだやってない変数
の2つがあるだけだと思っていい
外部から取得したデータがあったとして、nullチェックをまだしていないならnullableだ
どこかで誰かが(静的文法解析上)nullではないという条件分岐を通したあとならそれはnonnull
どこかで誰かがその後にnullになるかもしれない処理を通したらnullableに戻る >>736
文字列とか通信データから、新たなオブジェクトを構築するのでしょ?
構築できたら、null ではないし、
データがおかしくて構築できなかったら、エラー! 当然nonnull出ない変数ににnullをぶち込んだらエラーになる >>736
nullを入れられない型なのにnullを入れようとしたらその時点でオブジェクトを生成できずにエラー
なので、json文字列を受け取ってオブジェクトを生成する部分で要件に合わせて適宜いい感じに処理する必要がある >>736
試してみればわかると思うが、nillableな型にnull入れてObjectOutputStreamで書いた後でnullableでなくしてコンパイルしなおしてからObjectInputStreamで読もうとするとInvalidClassExceptionが出る。 kotlin使ったことないって奴向けの説明ではないな そもそも聞かれてることに対する回答としてはピントがズレてる
自分の知識自慢したいイキリオタク感がすごい >>734がおそらくしているであろう幻想を抱いていた時期が自分にもありました
とエスパーしながらいうと、通信で受信したオブジェクト等はnullableな型を持つことになるだけで、
Kotlinにしたからといってnullチェックが要らなくなるわけではない。
>>736には誰の説明が分かりやすかっただろうか。 >>744
ずれてないだろ。通信でオブジェクト送る話なんだから。 Javaのコードを呼び出すところは、全部そうだね。
Kotlinはnullableであることを「強制しない」。
AndroidとかjavaxのAnnotationでもついていない限り。 コンパイルエラーになるかぬるぽでばーんってなるかの違い null安全は以下の機能を包括する言葉
・型システムでnull許容とnull不可を区別出来る
・null許容型の取扱いを容易にするモナド操作などを言語仕様や標準ライブラリに持つ ∧_∧ / ̄ ̄
( ´∀`)< ド?
( ) \__
│ │ │
(__)___) 逆引きのAndroid開発用のKotlin本ないの?
Javaのはあるけどさ >>754
>>755
ほんとのほんとに?
作り始めてまうで? >>754,755,758
iOSアプリを実際に作った人がこの板にこんなにいるとは思えないんだがw
いや、自分もないんだけどさw Kotlinでの競技プログラミングのコンテストがあるよ!
5月28日の23時35分から2時間半!
Kotlin Heroes Announcement
https://codeforces.com/blog/entry/67162
https://codeforces.com/contests/1170 英語で書かれた問題を解読するだけで2時間半が経過してしまいそうな予感 >>760
IntがintになるかIntegerになるか考慮しないといけなかったらちょっと嫌だなあ。 >>759
大丈夫、Kotlinも業務で使ってるしiOSアプリも業務でいくつも作ってるからさ
Kotlin nativeのiOSアプリも実際に作ってみたって人と勉強会の懇親会で話したことがある Listの初期化って
var list = listOf<Hoge>()
と
var list :Hoge? = null
どっちがいいの? >>765
全く違うもの出されてどちらがと聞かれても・・・ >>765
その2つでいうなら下はリストを作れてないから上一択になるぞw 間違えた下は
var list :List<Hoge>? = null
ね
これならどっちがいい? どちらにせよその2つは作られる型が違う
nullableにする必要があるかどうかで使い分けろとしか 特別な理由がない限り上はvarじゃなくてvalにすべきじゃない? >>770
なぜ?
>>771
valにしたら代入できないじゃん ■ このスレッドは過去ログ倉庫に格納されています