JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう
※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1531818027/
Kotlin 5
■ このスレッドは過去ログ倉庫に格納されています
2018/12/08(土) 20:29:41.41ID:oXOQORcd
702デフォルトの名無しさん
2019/05/16(木) 18:46:37.64ID:ctMRzncm ts2ktって放置されているっぽいけど、今でも使いものになるの?
703デフォルトの名無しさん
2019/05/16(木) 19:36:52.04ID:9YitK9mS >>699
Android以外はちゃんと動くんかな・・・・?
Android以外はちゃんと動くんかな・・・・?
704デフォルトの名無しさん
2019/05/17(金) 22:06:49.39ID:5qYZVYSF >>698
拡張した本人しか認識できないのもができるからな。
拡張した本人しか認識できないのもができるからな。
705デフォルトの名無しさん
2019/05/18(土) 09:09:23.16ID:cPFyVnxJ706デフォルトの名無しさん
2019/05/18(土) 12:51:09.41ID:JYN3Apin 社内の持ち回りの勉強会で、vimでKotlin開発する環境を気合いで整える、という発表をしたら大受けしたわ
もちろんネタとしてな。絶対idea使った方がいいぞ。
もちろんネタとしてな。絶対idea使った方がいいぞ。
707デフォルトの名無しさん
2019/05/18(土) 13:41:12.48ID:1MmHbsk/ 無駄なことに時間使ってんな
708デフォルトの名無しさん
2019/05/18(土) 16:19:18.33ID:IkSg3I69 やらないと後で「おまえやるって言ったよな」と責められるw
709デフォルトの名無しさん
2019/05/18(土) 22:59:21.42ID:rrFT3N/c kotlinでandroid開発の記事載ってる雑誌ないですか
ネットや書籍から情報得るしかない?
ネットや書籍から情報得るしかない?
710デフォルトの名無しさん
2019/05/19(日) 01:39:23.54ID:jp3Kdatt 本とかもう時代遅れ
711デフォルトの名無しさん
2019/05/19(日) 05:37:35.31ID:+tXYNnhs なぜ雑誌?本ならあるのだが。
712デフォルトの名無しさん
2019/05/19(日) 16:40:35.01ID:+tXYNnhs そもそも今ではプログラミングについての雑誌が少ないよね。
Software Design か日経ソフトウェアぐらいなんじゃないか?
ハードウェア寄りな Interface みたいなのもあるが。
Software Design か日経ソフトウェアぐらいなんじゃないか?
ハードウェア寄りな Interface みたいなのもあるが。
713デフォルトの名無しさん
2019/05/19(日) 18:23:21.54ID:fqpGXrMP >>710
そんなこたぁ無い
そんなこたぁ無い
714デフォルトの名無しさん
2019/05/19(日) 19:18:58.24ID:Ma/nTg+4 本はディスプレイ以外に開けるから便利だよね
715デフォルトの名無しさん
2019/05/19(日) 19:40:59.75ID:jp3Kdatt 掌田津耶乃でも読んでろカス
716デフォルトの名無しさん
2019/05/19(日) 20:36:47.66ID:fqpGXrMP つやのちゃん知ってるんだw
717デフォルトの名無しさん
2019/05/20(月) 00:21:44.28ID:pT4TPZWt 断片的なのはネットで調べればいいが、
体系的に全体をまんべんなく知りたいってときは、
やっぱり書籍が適してると思う。
体系的に全体をまんべんなく知りたいってときは、
やっぱり書籍が適してると思う。
718デフォルトの名無しさん
2019/05/20(月) 06:11:32.77ID:BYsItzt6 書籍もガッツリ読むなら紙の本がいいし、写経するなら電子書籍の方がいいし
選択肢が増えた分だけむしろ選ぶのが大変になってるな
選択肢が増えた分だけむしろ選ぶのが大変になってるな
719デフォルトの名無しさん
2019/05/20(月) 11:03:48.81ID:+QyKHsoF SoftwareDesignは最近はもう読んでない
バックナンバーも大量に棄てた
川上さんの連載のだけ残してる
バックナンバーも大量に棄てた
川上さんの連載のだけ残してる
720デフォルトの名無しさん
2019/05/20(月) 11:35:05.49ID:MLZoEYDf 雑誌のいいとこは判型が大きいことだなw
ただのブログよりは読者層を意識してる率が高くて、Web記事よりはまとまりと終わりがある可能性が高いという感じか
なにの情報を欲しいと思ってるのかに依存する気がするぞ
ただのブログよりは読者層を意識してる率が高くて、Web記事よりはまとまりと終わりがある可能性が高いという感じか
なにの情報を欲しいと思ってるのかに依存する気がするぞ
721デフォルトの名無しさん
2019/05/20(月) 11:43:30.49ID:3K6cHyBG 雑誌の良いところは、本よりも情報の鮮度が高いってとこだね。
722デフォルトの名無しさん
2019/05/20(月) 15:22:51.14ID:poyp5Kqc 日経ソフトウェアは、素人向け
SoftwareDesign ぐらいか。
WEB+DB は、システム環境・プログラマーが半々ぐらい
他は、日経Linux は、ラズパイが多い
フレームワークの巨匠と言えば、掌田津耶乃・山田祥寛
山田の講習会は、数万円とか。
掌田なら、十万円ぐらい行きそうw
SoftwareDesign ぐらいか。
WEB+DB は、システム環境・プログラマーが半々ぐらい
他は、日経Linux は、ラズパイが多い
フレームワークの巨匠と言えば、掌田津耶乃・山田祥寛
山田の講習会は、数万円とか。
掌田なら、十万円ぐらい行きそうw
723デフォルトの名無しさん
2019/05/20(月) 16:58:22.74ID:E7kxjeRz つやのって読む価値のない入門書しか出してないだろ
724デフォルトの名無しさん
2019/05/20(月) 20:22:34.07ID:Nm/yOzhN 最近の日経ソフトウェアはPython雑誌みたいになってる
Kotlinの記事なんて全く載らない
Kotlinの記事なんて全く載らない
725デフォルトの名無しさん
2019/05/20(月) 20:48:41.91ID:oKvxv21R そういやPython大ブームだね。
機械学習関係で火が着いた感じか。
機械学習関係で火が着いた感じか。
726デフォルトの名無しさん
2019/05/20(月) 21:27:41.17ID:QYS7YbVl 数年後に始まる小学校でのプログラミング授業もPython採用と予想。
727デフォルトの名無しさん
2019/05/20(月) 21:33:58.54ID:TjPZT1E7 授業は基本マイクラを使うぞ
728デフォルトの名無しさん
2019/05/20(月) 22:00:59.30ID:9o82qJOc kotlinのおすすめ無料学習教材は?
729デフォルトの名無しさん
2019/05/20(月) 22:10:44.54ID:0DZMUBSm 勧めるようなものは特にない
730デフォルトの名無しさん
2019/05/21(火) 08:28:21.83ID:2xcSjans なんか公式のチュートリアルみたいなのなかったっけ
731デフォルトの名無しさん
2019/05/21(火) 08:31:57.13ID:qls//8Wz おすすめかどうかを意識しろ
あるかどうかではなく、おすすめかどうかだ
検索すりゃこのご時世英語含めてたくさん出てくる
そんなの見りゃわかる
おすすめできるものかどうかがいちばん大事
あるかどうかではなく、おすすめかどうかだ
検索すりゃこのご時世英語含めてたくさん出てくる
そんなの見りゃわかる
おすすめできるものかどうかがいちばん大事
732デフォルトの名無しさん
2019/05/21(火) 10:08:36.16ID:x7pfOsc7 ただで教える側に求めすぎだろw
733デフォルトの名無しさん
2019/05/21(火) 10:10:30.25ID:YlTjoOUk734デフォルトの名無しさん
2019/05/21(火) 10:56:17.04ID:KjOgf3b2 kotlin使った事無くて勉強中なんですが
null安全は通信で届いたオブジェクトについてどう働きますか?
あるいはデシリアライズされたオブジェクトについて
そこでもnull安全ですか?
null安全は通信で届いたオブジェクトについてどう働きますか?
あるいはデシリアライズされたオブジェクトについて
そこでもnull安全ですか?
735デフォルトの名無しさん
2019/05/21(火) 11:04:08.23ID:x7pfOsc7 当然どんなオブジェクトであれKotlinで書かれている限りnull安全は機能するけど、君はそもそもnull安全を誤解してそうな予感がする
736デフォルトの名無しさん
2019/05/21(火) 11:11:41.76ID:KjOgf3b2 検索すると、null不可な変数にnullを代入できないこと、とあります。
そうすると通信で受信したオブジェクト等はどうなるのかなと。
この理解は間違っていますか?
そうすると通信で受信したオブジェクト等はどうなるのかなと。
この理解は間違っていますか?
737デフォルトの名無しさん
2019/05/21(火) 11:39:29.09ID:c7g0QxSl どこまで「使ったことない」かにもよるんだが
・nullかどうかの条件分岐をクリアした変数
・nullかどうかの条件分岐をまだやってない変数
の2つがあるだけだと思っていい
外部から取得したデータがあったとして、nullチェックをまだしていないならnullableだ
どこかで誰かが(静的文法解析上)nullではないという条件分岐を通したあとならそれはnonnull
どこかで誰かがその後にnullになるかもしれない処理を通したらnullableに戻る
・nullかどうかの条件分岐をクリアした変数
・nullかどうかの条件分岐をまだやってない変数
の2つがあるだけだと思っていい
外部から取得したデータがあったとして、nullチェックをまだしていないならnullableだ
どこかで誰かが(静的文法解析上)nullではないという条件分岐を通したあとならそれはnonnull
どこかで誰かがその後にnullになるかもしれない処理を通したらnullableに戻る
738デフォルトの名無しさん
2019/05/21(火) 12:29:35.90ID:ZAINLMmO739デフォルトの名無しさん
2019/05/21(火) 12:40:36.99ID:sr6+MIRN 当然nonnull出ない変数ににnullをぶち込んだらエラーになる
740デフォルトの名無しさん
2019/05/21(火) 13:55:21.57ID:2xcSjans >>736
nullを入れられない型なのにnullを入れようとしたらその時点でオブジェクトを生成できずにエラー
なので、json文字列を受け取ってオブジェクトを生成する部分で要件に合わせて適宜いい感じに処理する必要がある
nullを入れられない型なのにnullを入れようとしたらその時点でオブジェクトを生成できずにエラー
なので、json文字列を受け取ってオブジェクトを生成する部分で要件に合わせて適宜いい感じに処理する必要がある
741デフォルトの名無しさん
2019/05/21(火) 14:53:46.84ID:BVi2WQ22 >>736
試してみればわかると思うが、nillableな型にnull入れてObjectOutputStreamで書いた後でnullableでなくしてコンパイルしなおしてからObjectInputStreamで読もうとするとInvalidClassExceptionが出る。
試してみればわかると思うが、nillableな型にnull入れてObjectOutputStreamで書いた後でnullableでなくしてコンパイルしなおしてからObjectInputStreamで読もうとするとInvalidClassExceptionが出る。
742デフォルトの名無しさん
2019/05/21(火) 15:17:02.88ID:RVxsm+ja kotlin使ったことないって奴向けの説明ではないな
743デフォルトの名無しさん
2019/05/21(火) 16:06:22.73ID:BVi2WQ22 図解しないとダメか?w
744デフォルトの名無しさん
2019/05/21(火) 17:40:26.31ID:x7pfOsc7 そもそも聞かれてることに対する回答としてはピントがズレてる
自分の知識自慢したいイキリオタク感がすごい
自分の知識自慢したいイキリオタク感がすごい
745デフォルトの名無しさん
2019/05/21(火) 18:43:35.05ID:gj4VcULk746デフォルトの名無しさん
2019/05/21(火) 20:08:28.33ID:BVi2WQ22 >>744
ずれてないだろ。通信でオブジェクト送る話なんだから。
ずれてないだろ。通信でオブジェクト送る話なんだから。
747デフォルトの名無しさん
2019/05/21(火) 20:11:45.34ID:grT0tw0/ Javaのコードを呼び出すところは、全部そうだね。
Kotlinはnullableであることを「強制しない」。
AndroidとかjavaxのAnnotationでもついていない限り。
Kotlinはnullableであることを「強制しない」。
AndroidとかjavaxのAnnotationでもついていない限り。
748デフォルトの名無しさん
2019/05/21(火) 20:44:09.88ID:wTyF+2my749デフォルトの名無しさん
2019/05/21(火) 21:17:46.88ID:KjOgf3b2 null安全は@NotNullとどう違いますか?
750デフォルトの名無しさん
2019/05/21(火) 23:00:11.33ID:MtIoFqpw コンパイルエラーになるかぬるぽでばーんってなるかの違い
751デフォルトの名無しさん
2019/05/21(火) 23:15:32.28ID:dJ+4PuSm null安全は以下の機能を包括する言葉
・型システムでnull許容とnull不可を区別出来る
・null許容型の取扱いを容易にするモナド操作などを言語仕様や標準ライブラリに持つ
・型システムでnull許容とnull不可を区別出来る
・null許容型の取扱いを容易にするモナド操作などを言語仕様や標準ライブラリに持つ
752デフォルトの名無しさん
2019/05/22(水) 00:26:45.64ID:s0RuNCYO ∧_∧ / ̄ ̄
( ´∀`)< ド?
( ) \__
│ │ │
(__)___)
( ´∀`)< ド?
( ) \__
│ │ │
(__)___)
753デフォルトの名無しさん
2019/05/22(水) 13:10:44.21ID:o0mLtMWH iosアプリ作るのは現実的にいけそう?
754デフォルトの名無しさん
2019/05/22(水) 15:26:22.63ID:06P4CJxl いけるいける
755デフォルトの名無しさん
2019/05/22(水) 17:11:00.38ID:ddL9armR 大丈夫大丈夫、なんの問題もない
756デフォルトの名無しさん
2019/05/22(水) 19:37:38.21ID:N+dUt+tn 逆引きのAndroid開発用のKotlin本ないの?
Javaのはあるけどさ
Javaのはあるけどさ
757デフォルトの名無しさん
2019/05/22(水) 21:14:49.49ID:o0mLtMWH758デフォルトの名無しさん
2019/05/22(水) 22:18:54.87ID:mQdasoF8 うん、大丈夫、なにも心配することないから
759デフォルトの名無しさん
2019/05/23(木) 00:10:33.20ID:K2oq56d+760デフォルトの名無しさん
2019/05/23(木) 00:56:30.37ID:ClSxeVCE Kotlinでの競技プログラミングのコンテストがあるよ!
5月28日の23時35分から2時間半!
Kotlin Heroes Announcement
https://codeforces.com/blog/entry/67162
https://codeforces.com/contests/1170
5月28日の23時35分から2時間半!
Kotlin Heroes Announcement
https://codeforces.com/blog/entry/67162
https://codeforces.com/contests/1170
761デフォルトの名無しさん
2019/05/23(木) 01:52:40.87ID:kvy164Qh 英語で書かれた問題を解読するだけで2時間半が経過してしまいそうな予感
762デフォルトの名無しさん
2019/05/23(木) 02:45:36.97ID:K2oq56d+ >>760
IntがintになるかIntegerになるか考慮しないといけなかったらちょっと嫌だなあ。
IntがintになるかIntegerになるか考慮しないといけなかったらちょっと嫌だなあ。
763デフォルトの名無しさん
2019/05/23(木) 06:58:10.23ID:ZvIUMcmJ764デフォルトの名無しさん
2019/05/24(金) 09:20:43.95ID:1flrLOhd >>756
必要か?
必要か?
765デフォルトの名無しさん
2019/05/24(金) 13:57:22.09ID:WFuDBTgU Listの初期化って
var list = listOf<Hoge>()
と
var list :Hoge? = null
どっちがいいの?
var list = listOf<Hoge>()
と
var list :Hoge? = null
どっちがいいの?
766デフォルトの名無しさん
2019/05/24(金) 15:11:48.77ID:10iCK04b >>765
全く違うもの出されてどちらがと聞かれても・・・
全く違うもの出されてどちらがと聞かれても・・・
767デフォルトの名無しさん
2019/05/24(金) 16:53:05.84ID:cg0Vnpe0 >>765
その2つでいうなら下はリストを作れてないから上一択になるぞw
その2つでいうなら下はリストを作れてないから上一択になるぞw
768デフォルトの名無しさん
2019/05/24(金) 16:57:14.79ID:WFuDBTgU 間違えた下は
var list :List<Hoge>? = null
ね
これならどっちがいい?
var list :List<Hoge>? = null
ね
これならどっちがいい?
769デフォルトの名無しさん
2019/05/24(金) 16:59:34.27ID:cg0Vnpe0 どちらにせよその2つは作られる型が違う
nullableにする必要があるかどうかで使い分けろとしか
nullableにする必要があるかどうかで使い分けろとしか
770デフォルトの名無しさん
2019/05/24(金) 17:00:11.96ID:cg0Vnpe0 俺だったら何か理由がない限り上
771デフォルトの名無しさん
2019/05/24(金) 17:00:17.36ID:g+HqU4NL 特別な理由がない限り上はvarじゃなくてvalにすべきじゃない?
772デフォルトの名無しさん
2019/05/24(金) 17:15:07.02ID:WFuDBTgU773デフォルトの名無しさん
2019/05/24(金) 17:52:50.04ID:8qiM3xuo val にして空の MutableList 作るのは?
774デフォルトの名無しさん
2019/05/24(金) 18:01:30.45ID:XLHoRxVW 俺はemptyListだな
775デフォルトの名無しさん
2019/05/24(金) 18:03:21.78ID:6OR0USBX ?取るのめんどいから空のリストにしてくれ
776デフォルトの名無しさん
2019/05/24(金) 18:27:38.07ID:g+HqU4NL777デフォルトの名無しさん
2019/05/24(金) 18:51:13.35ID:xfff2+MO >>772
Kotlinにおいてはvarもnullableもごく限られた場面でしか使わない例外的なものだということは知っておいた方が良い。
nullableは無駄に取り扱いが面倒だったり、varは予期せぬバグを生み出す温床になり得るから。
なので
val list = mutableListof<Unko>()
が、大抵の場面で正解。
Kotlinにおいてはvarもnullableもごく限られた場面でしか使わない例外的なものだということは知っておいた方が良い。
nullableは無駄に取り扱いが面倒だったり、varは予期せぬバグを生み出す温床になり得るから。
なので
val list = mutableListof<Unko>()
が、大抵の場面で正解。
778デフォルトの名無しさん
2019/05/24(金) 19:42:38.12ID:Oa3ZkFre Unkoって何ですか
779デフォルトの名無しさん
2019/05/24(金) 20:03:18.59ID:g/LimCLF えっお前んちUnkoねーのだっせー
780デフォルトの名無しさん
2019/05/24(金) 20:04:30.18ID:6mh6tvLx かといって盲目的に mutable collection を使うのもどうかと思うがな
781デフォルトの名無しさん
2019/05/24(金) 20:17:54.95ID:73sdMVIH 盲目的も何もコンテキストが分からないんだから一般論としてvarを使うよりはMutableListを使う方が適してると言うしかないだろ
どんな状況でも何がなんでもMutableListを使えなんて誰も言ってない
どんな状況でも何がなんでもMutableListを使えなんて誰も言ってない
782デフォルトの名無しさん
2019/05/24(金) 20:23:02.45ID:73sdMVIH783デフォルトの名無しさん
2019/05/25(土) 05:49:19.79ID:wB1WneOU784デフォルトの名無しさん
2019/05/25(土) 06:37:38.07ID:fh0ztzaz lateinitはvalにできないから糞
785デフォルトの名無しさん
2019/05/25(土) 07:20:32.83ID:Kvnc/U5Q そんなご無体な
786デフォルトの名無しさん
2019/05/25(土) 08:02:42.85ID:9ELY4FpV valだけが正しい。valにできないなら新しいvalにコピーするべき
787768
2019/05/25(土) 10:50:32.51ID:VlF1HZqT788デフォルトの名無しさん
2019/05/25(土) 10:57:44.94ID:VlF1HZqT nullの警告が厳しいからこそ使うのはどうだろうか
nullならnullだと知らされるがemptyじゃ何の警告も出ない
nullならnullだと知らされるがemptyじゃ何の警告も出ない
789デフォルトの名無しさん
2019/05/25(土) 13:16:02.71ID:exhgzloH ・リスト自体を構築するケース
・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で良い
・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で良い
790デフォルトの名無しさん
2019/05/25(土) 13:19:44.44ID:F8alA812791デフォルトの名無しさん
2019/05/25(土) 17:48:30.03ID:AAsiXMmO Androidなどで、非同期処理が関わってくると、
valは注意して使わないといけない場面が、意外にたくさんあることに気が付く。
valは注意して使わないといけない場面が、意外にたくさんあることに気が付く。
792デフォルトの名無しさん
2019/05/25(土) 18:20:07.77ID:lux9UzI+ Activityのbindingはby lazyのval
Fragmentのbindingはlateinit var
Fragmentのbindingはlateinit var
793デフォルトの名無しさん
2019/05/26(日) 23:17:26.29ID:/1jO9AOV >>765
そもそもローカル変数の話なのかプロパティの話なのか…
そもそもローカル変数の話なのかプロパティの話なのか…
794デフォルトの名無しさん
2019/05/27(月) 12:03:53.57ID:j1Bw0s67 emptyListってシングルトンだから生成コストがないってのは分かるんだけど、
今時その程度の生成コストを気にする場面ってそんなない気もする
富豪的プログラミングなんて言われるかもしれんけど、もはやそれ自体死語だしな
今時その程度の生成コストを気にする場面ってそんなない気もする
富豪的プログラミングなんて言われるかもしれんけど、もはやそれ自体死語だしな
795デフォルトの名無しさん
2019/05/27(月) 12:57:29.86ID:ffeERoRR796デフォルトの名無しさん
2019/05/27(月) 13:34:53.60ID:IGUdGZaE valで都度変数作るからなぁ
797デフォルトの名無しさん
2019/05/27(月) 14:33:20.72ID:24xkxhR7 プロパティの話ね
mutableにしてもそもそも生成は別のところでListごと作るからmutableだろうがListだろうが関係ない
当然後から代入するからvalにはできない
mutableにしてもそもそも生成は別のところでListごと作るからmutableだろうがListだろうが関係ない
当然後から代入するからvalにはできない
798デフォルトの名無しさん
2019/05/27(月) 14:57:26.23ID:EJcO498B copyメソッド
799デフォルトの名無しさん
2019/05/27(月) 23:34:59.34ID:s432cqVY サーバーサイドばっかだからかもしれんがプロパティにMutableListを使うことがそうそう無い
データクラスのコンストラクタ引数に val list: List はよくある
データクラスのコンストラクタ引数に val list: List はよくある
800デフォルトの名無しさん
2019/05/27(月) 23:56:54.45ID:zFWKvIPE 内部DSLとかの指示を構築する系の実装で使うかな
801デフォルトの名無しさん
2019/05/28(火) 05:58:36.43ID:sEeuOOEX サーバーサイドかどうか関係なくない?
俺はよく使うよ。例えばツリー構造になってるデータを読み込む処理で自分の子ノードのリストを持つため、とか、これ昨日書いた。
俺はよく使うよ。例えばツリー構造になってるデータを読み込む処理で自分の子ノードのリストを持つため、とか、これ昨日書いた。
802デフォルトの名無しさん
2019/05/28(火) 06:33:15.65ID:f4BtQ/HR val text = ""
って
val text :String = ""
って書いた方がいい?
って
val text :String = ""
って書いた方がいい?
■ このスレッドは過去ログ倉庫に格納されています
