タグ

ブックマーク / xuwei-k.hatenablog.com (12)

  • 過去のGitHub Actionsのbuild時間を取得して集計してグラフにする - xuwei-k's blog

    継続的にメンテナンスするのではなくて、雑な使い捨てでいいならshellscriptとjq職人芸でいけるので頑張ってしまったけれど、継続的にやるならもっと違うもので書いた方がメンテナンスしやすいと思います。 細かい部分はいくらでも改善の余地があるとは思いますが、とりあえず動いたのでヨシ・・・!? 以前も多少似たような何か作ったけど、こういうの誰か既にもっと綺麗に作ってないんですかね。 xuwei-k.hatenablog.com GitHub Actionsのログはデフォルトでは90日保存されてるはずなので、その程度の期間をなんとなく集計したいだけならば、こうやって後から集計するだけで十分ですね。 もちろん、yamlの内部の構造がすごく変わっていると集計が難しいか実質不可能になるリスクはありますが。 もっとしっかり計測したいならば、buildした時点で専用の場所に綺麗に記録して、他のもっとリ

    過去のGitHub Actionsのbuild時間を取得して集計してグラフにする - xuwei-k's blog
  • Scala 3.4から新たに警告やエラーになる予定の記法を雑にまとめ - xuwei-k's blog

    qiita.com これは Scala Advent Calendar 2023 の16日目です。 (あとから見たらこの日付が抜けていたので、あとから登録して埋めました) これ書いている2023年12月現在、(RCなどの安定版以外も含めると) 3.4.0-RC1が最新で、3.4.0のfinalは出ていませんが、3.4.0から色々と変更点があるみたいなので、3.4.0-RC1時点の情報をざっくりまとめます。 あくまで自分が遭遇した、あるいはざっくりリリースノート見て書き出しただけなので、他にも大量にありそうですが、ひとまずこの程度にしておきます。 https://github.com/lampepfl/dotty/releases/tag/3.4.0-RC1 各種書き換えは、scalafmtの設定だけで可能な場合もあるし、scalafixでやった方がいいパターンもあり得るかもしれないし、ある

    Scala 3.4から新たに警告やエラーになる予定の記法を雑にまとめ - xuwei-k's blog
  • JDK 21のswitch式でpattern match書いたら10倍以上遅い件 - xuwei-k's blog

    switch式の結果javapしたらhttps://t.co/xMc0YEYsrg java.lang.runtime.SwitchBootstraps と tableswitch が使われることに気がついたが、これ巨大なswitch式をJDK 21以降で書いた場合、同等の巨大なmatch式をScalaで書くよりも速度が速い可能性があるのでは??? これScalaで活用できるか?というと— Kenji Yoshida (@xuwei_k) September 25, 2023 switch式の結果javapしたら https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/runtime/SwitchBootstraps.html java.lang.runtime.SwitchBootstraps と ta

    JDK 21のswitch式でpattern match書いたら10倍以上遅い件 - xuwei-k's blog
  • 今までありがとうTravis CI、さよならTravis CI - xuwei-k's blog

    しっかり調査してないですが、こういったCIサービスがほぼ存在しない時期にほぼほぼ最初に登場して、一時期明らかにデファクトスタンダードだったと思うので、昔からOSS活動している人ほど、とても多く利用してお世話になっていたと思うので、そういう人であればあるほど、この状況は、怒りではなく、悲しいというか残念というか、辛いと思うんですよね・・・。 今までありがとう・・・。 長年Travis CI使ってきたので、GitHub Actionsによって潰される(のかどうなるのかわからないけど)、の可愛そう、という気持ちが若干あるけど、とはいえ、こういうのよくある話な気はするな…— Kenji Yoshida (@xuwei_k) 2020年10月7日 買収されて方針変わったのかなと感じるところもありますし、OSSプロジェクトが無料で使っていても会社としては辛いのではという気もするので今までの感謝の気持ち

    今までありがとうTravis CI、さよならTravis CI - xuwei-k's blog
  • 2017年11月現在のScalaのWeb Framework - xuwei-k's blog

    以前同じようなものを書いたけど、それがもう2年くらい経過してるので、また書きました xuwei-k.hatenablog.com xuwei-k.hatenablog.com まず、このblog書いてる時点でのGitHubでのstar数での順位 1 https://github.com/playframework/playframework 9900 2 https://github.com/twitter/finagle 6088 3 https://github.com/spray/spray 2533 4 https://github.com/scalatra/scalatra 2230 5 https://github.com/twitter/finatra 1645 6 https://github.com/finagle/finch 1115 6 https://github.

    2017年11月現在のScalaのWeb Framework - xuwei-k's blog
  • 竹添さんが紹介してないScalaのWebフレームワークも含めて2015年現在の状況を色々紹介 - xuwei-k's blog

    ScalaのWebフレームワーク事情 2015年版 - たけぞう瀕死ブログ Scala界隈のWebフレームワークやJsonライブラリは良くも悪くも混沌を極めている(?)わけですが、それにしても竹添さんが紹介してるやつだけでは個人的に不公平感というか、混沌としている感が全然伝わらないと思ったので、全部に詳しい訳ではいですが、自分なりに現状を書きたくなったので紹介しようと思います。 どうせ全部を当に知り尽くしている人なんでいないので、これはこれで不公平というか偏った見方にもなってるかもしれませんが、そんなこと言ってたらこういう記事をいつまで経っても書けないので、思い切って書くことにしました。 いつもの注意書きですが、あくまでこれ書いてる2015年10月現在の状況であり、1年程度経過しただけで状況は劇的に変化する可能性あるので、ご了承ください。 そもそも、あまりこういうの書きたくないのは、わり

    竹添さんが紹介してないScalaのWebフレームワークも含めて2015年現在の状況を色々紹介 - xuwei-k's blog
  • sbtの密結合な内部アーキテクチャ - xuwei-k's blog

    sbtというと、独特なSettingのシステム*1や、Scalaで記述する内部DSL*2ばかりが注目されがちです。それらは、初心者にわかりづらかったりして批判されることが多かったり、逆にsbtを使い慣れた人にとってはとても強力で面白い仕組みです。 Settingのシステムに注目すると、汎用的に色々な言語のビルドにも使えそうに思えます。事実、sbtでC++のpluginを作っている人もいます。 しかし、sbtはあくまで「Scala(とJava)のためのビルドツール」です。 これは「単にScalaをデフォルトでサポートしてる」という意味にとどまらず、おそらく皆さんが思っているよりもずっと深い意味で「Scalaに特化したビルドの仕組み」が内部に備わっています。 今回は、そんな「sbtの内部アーキテクチャ」の紹介をします。 以下、かなり長いです。読み物としては面白いかもしれませんが、単にsbtを使

    sbtの密結合な内部アーキテクチャ - xuwei-k's blog
  • Scala祭2017の応募者を勝手に紹介 - xuwei-k's blog

    書いた理由やモチベーションは去年と同じなので、去年の説明見てください。 http://d.hatena.ne.jp/xuwei/20151015/1444924357 まだ、微妙に随時更新するかもしれないです。 どっちからトラバース? - Stephen Compall http://2017.scalamatsuri.org/ja/candidates/StephenCompall_1/ Scalazコミッター ekmettの同僚 型とか色々詳しい。 http://typelevel.org/blog のこの人の書いたやつ見ると面白いよ (今回はそういう話じゃないが) 初めてのゲームづくり in Scala Native - Denys Shabalin http://2017.scalamatsuri.org/ja/candidates/DenysShabalin_1/ scala-n

    Scala祭2017の応募者を勝手に紹介 - xuwei-k's blog
  • CoproductとInjectを使ったFree Monadの合成とExtensible Effects - xuwei-k's blog

    Scaladays2014の写真がtwitter上で流れてきて「あーまたrunaroramaさん、Free Monadの話してるのかー」と思ったら、たしかにFree Monadの話もしてたみたいですが、それの発展形(?)的な感じで、Coproductや、Injectという型クラス(?)の話をしていたようです。 Woah, Coproducts (URL as replacement for transformer stacks look pretty cool! URL /cc @runarorama 2014-06-17 20:43:56 via Twitter Web Client それで、*1コードを読んでみたら、それなりにある程度理解できた気がするので、解説を書いてみます。*2 最初に断っておくと、タイトルに"Extensible Effects"と入れましたが、Extensibl

    CoproductとInjectを使ったFree Monadの合成とExtensible Effects - xuwei-k's blog
  • Scalaにおける細かい最適化のプラクティス - xuwei-k's blog

    列挙順自体はとくに意味ありません。あと「どの最適化がどのくらい速くなるのか?」を詳細に計ったことはないですし、「原理的にこうなってるから(ry」というのを説明するに過ぎません。中には「JITで無意味になるようなどうでもいい細かすぎること」も書いてありますし、最適化のトレードオフとして失うものもあるので、そのあたり自己責任でお願いします。当に最適化が必要とされる場合は、以下のものを無闇に実行するよりまず計測したほうがいいのは、言うまでもありません。*1 1. private[this]をつかえ scalaのvalやvarは、private[this]にしたときのみ、直接のフィールドアクセスになります(それ以外ではメソッド呼び出し)。シングルトンのobjectの場合も同様です。private[this]をつけられる場合はできるだけつけましょう 2. なんでもかんでもListをつかうな 最初の

    Scalaにおける細かい最適化のプラクティス - xuwei-k's blog
  • sbaz - xuwei-k's blog

    sbaz はなくなりました! なんだか、(自分の観測範囲内で) sbaz が添付されていないとか、どこいったんだーとか言っている人が多いので、あえてこれだけのために blog を・・・。 詳しいことは知りません*1 が、 2.9.1-1だか2.9.2あたりから sbaz は入ってません、それが正常らしいですよ! ちなみに、昔はsbaz使ってAndroidやる方法があったらしいですが、今はこれ https://github.com/jberkel/android-plugin 使ってください。これ↑でAndroidをやるにしても、sbt自体のversionが古い記事がいっぱいあって、古いやつ参考にしてやってもハマるだけなので注意してください。あと Scalavimemacs などの、エディタ用のシンタックスハイライトのためのファイル についても、別に書いておきました *1:誰か説

    sbaz - xuwei-k's blog
  • Scala勉強会用のgithubアカウントとページつくってみた - xuwei-k's blog

    みんな大好き(?)github\(^o^)/ 今現在、Scala渋谷勉強会はこのWebページにwikiで情報まとめてる。 あーでもSlideshareとか埋め込めない *1 なんかスパム多いェ・・・ そーいえば foursquareさんもgithub大好きっていうかものすごく利用してますね。なんだよこのhackathonリポジトリのwikiの使用具合w URL 2011-09-15 23:45:25 via web githubってwiki自体もgitで管理されてる githubのwikiも便利なんだけど github page っていう便利機能もある ちなみに細かい機能として「ユーザー名.github.com」っていうリポジトリつくった場合は特別扱いされるらしく、そのリポジトリのmasterにおいたファイルは、そのまま「http://ユーザー名.github.com」っていうところに全部

  • 1