情報更新

last update 10/19 01:06

ツイート検索

 

@xuwei_k
サイトメニュー
Twilogユーザー検索

Twilog

 

Stats Twitter歴
3,346日(2010/08/22より)
ツイート数
45,573(13.6件/日)

ツイートの並び順 :

表示するツイート :

2019年10月18日(金)1 tweetsource

2019年10月17日(木)4 tweetssource

2019年10月16日(水)2 tweetssource

2019年10月14日(月)3 tweetssource

10月14日

@xuwei_k

Kenji Yoshida@xuwei_k

sbt-pgp version 2.xからBouncy Castle非推奨になってgpgコマンド直接使うようになったの、passphrase入力がそのままだと酷いことになるのだけど
(文字化けする、sbt 1.3のsuper shellの出力と混ざる、よくわからないが複数並列に入力待になって?、入力しても他がtimeoutで失敗してる、などなど)

posted at 11:13:58

2019年10月13日(日)1 tweetsource

2019年10月11日(金)3 tweetssource

10月11日

@xuwei_k

Kenji Yoshida@xuwei_k

@omarun_4263 @func_hs いやsbtの変更はJigsaw関係ないはずです。"OSSレベルでやってしまう"の意図がよくわからないですが、すでに自力でClassLoader何かしてるならどの方向に頑張るべきか謎ですが、いずれにせよ頑張るしかないのでは。
sbtがどういう設定になっていても動くのがベストだと思いますが、それはそれで大変そう

posted at 12:32:04

10月11日

@xuwei_k

Kenji Yoshida@xuwei_k

@func_hs @omarun_4263 パフォーマンスのために、なんか仕組み変わったというか新しい仕組みが導入されたけれど、testやrun時にforkの設定を(してなかったら)するとか、classLoaderLayeringStrategyあたりのkeyを必要ならいい感じに設定すれば、たしか1.2以前の挙動にもどるはず(?)

posted at 11:19:43

2019年10月10日(木)3 tweetssource

10月10日

@xuwei_k

Kenji Yoshida@xuwei_k

@kgtkr sbtの設定頑張れば、REPLの時だけscalacOptions変えて無効化とかはたぶん出来ます

scalacOptions in (Compile, console) := {
ここにwartremoverのオプション無効化する設定書く
}

posted at 18:09:43

10月10日

@xuwei_k

Kenji Yoshida@xuwei_k

@katzchang Scalaの中の人が意図してるのか意図してないのかに関わらず、結果的にわりと2.11や2.12のときもそういう細かい挙動変わってたはずなので、経験上Scalaやっていくなら基本的には頑張るしかないですね…。
2.13のその変更は、たしかある意味意図した変更だし、2.13.2で挙動戻ったりはしないと思います

posted at 18:02:56

2019年10月09日(水)7 tweetssource

10月9日

@xuwei_k

Kenji Yoshida@xuwei_k

@Fpc2019Japan 様々なスタイルがあり得るだろうし、単に英語を中心としたいということなのか…。
どちらが良いか悪いかは抜きにしても、主催者さんが、海外のカンファレンスには日本のものにはない面白い特徴などがあってそれを広めたい、みたいな、多少深い思いがあるのか

posted at 23:09:06

10月9日

@xuwei_k

Kenji Yoshida@xuwei_k

@Fpc2019Japan @exoego @athos0220 "海外のカンファレンスに参加している雰囲気を感じとってもらう"
ことを、公式の募集ページ含め主張することに個人的に違和感があるのですが、どういう真意なのでしょうか。
最終的には主催者の意向次第だと思うので、そのあたり含め意図通りならいいんですが、海外のカンファレンスといっても、

posted at 23:08:06

10月9日

@xuwei_k

Kenji Yoshida@xuwei_k

@seraphr たしかに、呼び出せないですね・・・。ただ、すでに非推奨だし、シグネチャ変えてバイナリ互換壊れる(?)としたら、2.13.xで修正される可能性あまり期待できないですが

(やってみないとわからないけど、バイナリ互換維持しつつ修正も可能かもしれないですが)

posted at 20:03:56

10月9日

@xuwei_k

Kenji Yoshida@xuwei_k

微妙に失礼というか謎のやりとりがあったので、本人の性格の問題なのかわからんけど、せっかく有名な人呼んでやるなら、(有名な人や言語の名前間違うとかもアレだし)色々と落ち着いてほしい・・・。

自分はいずれにせよ忙しいから参加者としてもいけるかどうか怪しいが

posted at 17:06:02

10月9日

@xuwei_k

Kenji Yoshida@xuwei_k

「やっぱり他の人に決まったからいいです」
「他の人にも同じ枠で打診してるなら先に言ってほしかったです」
「ごめんなさい、そういうわけじゃなくてやっぱり出てほしいです」
「ブロックされるまで何度でも言います、出てほしいです」
と何度もしつこくDM来たので、実際にブロック。

みたいな、

posted at 17:06:01

2019年10月08日(火)1 tweetsource

2019年10月07日(月)10 tweetssource

10月7日

@xuwei_k

Kenji Yoshida@xuwei_k

@Kory__3 @kgtkr このあたり、shapelessとscalazで微妙に仕様が違うなどもある。
scalazも昔はたしかshapelessみたいに、元の型と互換あったが、わざと完全に別の型作るように変えた、とかいう

posted at 19:48:41

10月7日

@xuwei_k

Kenji Yoshida@xuwei_k

@Kory__3 まぁある意味直接露出はしないですけど、直接露出しない部分だけを考慮するなら、極端なこと言うと

IO[Unit] の式はすべて等価

みたいな結論になってしまうので・・・

(通常そんなことはなく、ファイル書き込みの IO[Unit] と、ファイル読み込みの IO[Unit] は別のプログラム、とするはず?)

posted at 17:32:44

10月7日

@xuwei_k

Kenji Yoshida@xuwei_k

@Kory__3 "参照透明ではないものをIOモナドの中に閉じ込めたもの"

ってどれのことですか?

あのunsafeメソッドに関しては、そのまま使ったら
"IOモナドの中に閉じ込められずに、そのまま露出してしまう"
からunsafeなんじゃ

posted at 17:21:29

10月7日

@xuwei_k

Kenji Yoshida@xuwei_k

@Kory__3 さっきの例においては、外部からの入力などがあるわけでもないのに、毎回値変わるのは明らかに参照透明じゃないのでは、という・・・

posted at 16:41:55

10月7日

@xuwei_k

Kenji Yoshida@xuwei_k

@Kory__3 "unsafeRunをしない限りなんの値も観測することができない"
それはそのとおりなので、何をもって"同じIO型の式"と言えるのは、は、IOの式作ってしまった後では、"プログラム上で" そのIO型自体の式を比較するのは不可能な場合あるといえばそうかもしれないですが、

posted at 16:41:15

10月7日

@xuwei_k

Kenji Yoshida@xuwei_k

@Kory__3 "IOに包んでおいてflatMapで取り出せる値の同一性"
というのの言いたいことが若干わからないですが、参照透明保たれないの、この例のようなことを言ってるはずだと思うので、
(IOかどうか関係なく?)unsafeの方の例実行するたびに値変わってしまうのでまぁこれで"保たれない"とするのが普通なのでは(?)

posted at 16:21:22

2019年10月06日(日)2 tweetssource

2019年10月05日(土)8 tweetssource

10月5日

@xuwei_k

Kenji Yoshida@xuwei_k

@magnolia_k_ @seratch_ja “内部実装の変更”
というのは、scalateがコード生成する時に、たぶん $ がついたclass(ユーザーが普通に定義するのではなくコンパイラが生成するようなclass)を直接参照するコードを生成するみたいなんですが、それが参照不可能で生成したコードがコンパイルエラーという

posted at 20:17:30

10月5日

@xuwei_k

Kenji Yoshida@xuwei_k

@magnolia_k_ @seratch_ja ここでpendingにしてるやつと全く同じやつだけ通らないみたいなので
github.com/scalate/scalat
2.13と同様に、なにかScalaでの最近の内部実装の変更で通らなくなってるみたいですね。
NotSerializableException出たりするのは、testをforkしてる場合に出るやつなので、また別の問題が発生してますが

posted at 20:12:26

10月5日

@xuwei_k

Kenji Yoshida@xuwei_k

@seratch_ja @magnolia_k_ あとは、
CrossVersion.fullにした方が使う側としては1番確実で安心だけど、とはいえ作成側の負荷下げつつ最低限のメンテするなら、
壊れたタイミングで毎回リリースして(壊れなかったらリリースしないで)
“それぞれ2.12.xや2.13.xの最新でしか動作保証しないぞ!”
というポリシーでもまぁ…

posted at 19:05:45

10月5日

@xuwei_k

Kenji Yoshida@xuwei_k

@seratch_ja @magnolia_k_ 根本的にはscalateもtwirlみたいにコード生成するだけにして、compilerに直接依存しないようにするのが理想だと思いますが、なぜ今のようなアーキテクチャなのか…
(さすがに今すぐそこまでやる気力もないし、それやっても既存の機能維持できるのか謎)

posted at 18:59:01

10月5日

@xuwei_k

Kenji Yoshida@xuwei_k

@seratch_ja @magnolia_k_ いや、わりと意図して壊してるので2.13.2で戻る可能性は限りなく低いので
(中の人が2.13.1リリース前からいくつかの有名compiler pluginにissue立ててたので)
こっちで2.13.0なかったことにして、2.13.1以降は崩れないのを願う作戦です…
(2.13.2でも崩れたら、諦めてちゃんとCrossVersin.fullかなぁ)

posted at 18:55:50

10月5日

@xuwei_k

Kenji Yoshida@xuwei_k

@magnolia_k_ @seratch_ja これscalateの2.13.1対応をpublishしてもらわないと、scalatraもそのままだと単純にはScala 2.13.1に上げられないですね、辛い・・・
今のままscalatraをScala 2.13.1にあげるとscalatraのテスト落ちる

posted at 15:42:06

2019年10月04日(金)8 tweetssource

10月4日

@xuwei_k

Kenji Yoshida@xuwei_k

@kgtkr sbtのインクリメンタルコンパイラのキャッシュが効いてしまうので、cleanしてcompileし直しただけで、何もしてないのに警告やエラー出るようになる、というパターンはあり得るかもしれないです

posted at 21:58:38

10月4日

@xuwei_k

Kenji Yoshida@xuwei_k

もっと細かい歴史トリビアをいうと、3.0.6だか3.0.7のどこかで、(alias使わずに)まじでpackageをrenameして、そのせいでバイナリ互換一瞬壊れて、いや x.y.z の z が上がっただけで壊れるのありえんだろ、みたいなのにより壊れないように再修正された、みたいなトラブルあった
github.com/scalatest/scal

posted at 00:01:28

このページの先頭へ