Lambdaカクテル

京都在住Webエンジニアの日記です

Invite link for Scalaわいわいランド

業務端末としてMacを使うかLinux使うか

仕事で、なんか自分のマシンでしか発生しないDockerの謎の挙動があってずっと困っていたのだけれど、実は自分のDockerのバージョンが古いというのが理由だった。自分はopenSuSE Leapで仕事をしているけれど、Leapは定期リリース版で、ローリングリリースモデ…

同僚と自分とでナレッジを結晶化させる方法論の違いがあって面白かった

id:yigarashi *1と1on1をしていて、自分がid:yigarashiが書く記事はよく体系化されてるけど普段から体系化して情報を集めたりしてんの、という質問をしたところから色々面白い話を聞くことができたのでメモ。 いつ結晶化して展開するか まず、自分もid:yigar…

Tree-sitterでシンタックスハイライトしたコードをHTMLで出力するワンライナー

Tree-sitterというソフトウェアがある。CとRustメインで書かれているパーサジェネレータとそれをとりまくツールである。 tree-sitter.github.io これを利用して、コードをもとにシンタックスハイライトを効かせたHTMLを生成できたのでその紹介をする。 追記(…

スライド作るならRemark

Remarkという、markdownを書くことでスライドを作れるツールがある。 remarkjs.com 一般的なスライド作成ツールと比べて、以下のような利点があって自分の主義にマッチしていると感じた。 無料 プレーンなHTMLとランタイムのJavaScriptで動作する Markdownを…

sbtでサブプロジェクトをクロスコンパイルする

大きなsbtプロジェクトのScalaのバージョンアップを行いたいが、共通して依存されているモジュールがあるとそこがボトルネックになって結局全てのモジュールのScalaバージョンを上げなければならなくなってしまう。これをクロスコンパイルで解消したメモ。 …

ScalaでSeqの先頭と中間と最後をパターンマッチで取り出すには+:と:+を使うと良い

こういうSeqがあるとする。 val lis = Seq(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) これの先頭要素と、最後の要素、そしてどちらでもない中間の要素を取り出したい。 素朴にやると、headとlastとを使って、slice(1, lis.size)を使うことになるが、これをパターンマ…

Seq[(A, B)]の片側だけにflatMapするにはcats.arrowを使う

タプルのSeqの片側にflatMapしたいことがあって、arrowのsecondを使ったらうまくいったのでメモ。 flatMap(知ってる人は飛ばしていい) タプルのSeqに対してflatMapしたい ナイーブな解法1: fをタプルに拡張する ナイーブな解法2: lisの片側にだけfを適用する…

★記事をRTしてもらえると喜びます
Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?