Report of Scarlet

@sh4869 tech blog | 猩々緋報

  • Scala3でtwirlを使う

    Play frameworkのテンプレートエンジンであるtwirlは単体でも使うことができるのだけど、Scala3で使うときはちょっと工夫が必要。 playframework/twirl: Twirl is Play’s default template engine まずproject/pluigins.sbtに以下のようにプラグインを指定する(これはドキュメントに書いてある通り)。 addSbtPlugin("com.typesafe.play" % "sbt-twirl" % "1.6.0-M6") このままだとScala2.12用のtwirl-apiしかインストールされなて、play.twirl.... が存在しないと
  • ISUCON 12予選参加記

    ISUCON12にチーム using namespace std; で参加して最終スコアが16000ぐらいで42位ぐらいでした。決勝進出ならず。 時系列の情報とかはチームメンバーが大体まとめてくれているので、ざっくり自分がやったことについてまとめて行きたいと思います。 チームメンバーのブログ: ISUCON12予選の参加記 - hoge な blog やったこと 私は主にアプリケーション側の改修の担当でした。 sqliteにindexを張った bulk insertを使ってi
  • @aws-cdk/aws-lambda-nodejs は emitDecoratorMetadata が使えない

    @aws-cdk/aws-lambda-nodejsというCDKのモジュールがあり、Node.js関連(TypeScriptでもOK)のLambda関数を作るときに便利。 new lambda.NodejsFunction(this, 'MyFunction', { entry: '/path/to/my/file.ts', // accepts .js, .jsx, .ts and .tsx files handler: 'myExportedFunc', // defaults to 'handler' }); 以上のような感じで作れるので大変楽なんだけど、内部でesbuildでビルドしている関係でちょっと制限がある。esbuildはemitDecoratorをサポートしてない。対応させるためのp
  • 時間の差分を取るrubyの関数

    def subTime(a,b) require 'time' ((Time.parse(a) - Time.parse(b))/60).abs end irbとかで起動させること前提なのでそこは注意を。「20:49:36.441」みたいな形式のものをパースできる。
  • sbtのリリース方法

    gpgとかは除いて簡単に説明する。 + compile + publishSigned sonatypeReleaseAll で、ここにアクセスして自分がさっき公開したやつを探してリリースを押す。