ブラウザ上の要素を視認可能な位置へとスクロールする設計について調べて実装する機会があったのでメモ。 tl;dr const offsetPercentage = 25; const [parentRect, targetRect] = [ parent.getBoundingClientRect(), target.getBoundingClientRect(), ]; con…
PT3は地上波を録画するためのPCIeボードだが、基本的にLinuxで動作させることを前提に作られており、一般にはLinuxのドライバしか流通していない。ただ、有志がなんとかパッチを当ててFreeBSDでも動作させられるようにしている。POSIX万歳という感じである。…
そんなシチュエーションあるんか?と思うけど、ある。 今Chrome Devtools ProtocolをScalaで実装してて、もう動くところまで行ってるんだけど、スクリーンショットを撮影するAPIがこんな感じで定義されている。 chromedevtools.github.io このうちquality引…
この記事は怪奇現象に遭遇して治ったというメモです。最近こういう怪奇現象系の話が流行ってますね。なんマイルを超えるとメールが届かないとか、中国人の同僚がお茶を入れると必ずサーバが落ちる、とか。まぁ今回はそんな怪異の足元にも及ばないプチ怪異、…
こういうツイートを見た。 Scala (or Java) で、jsonのdiffをpatchファイルみたいな感じでわかりやすいテキストで出力してくれるライブラリないかなあ。そしてjacksonに依存してないといいな— Arthur (@Arthur1__) 2024年1月13日 現代のプログラミングではJS…
こういうツイートを見かけた。 Scala3 って for-yield じゃなくて for-do なの???— りと (@rito_528) 2024年1月8日 言われてみれば、たまにScala 3のコードサンプルでそういうの見たことあるな~と思った。ので調べたメモ。 tl;dr 値を返したいときはyiel…
あなたはポジティブっつー言葉は好きですか。自分はそんなに好きじゃない。好きじゃない人に読んでほしい気がする記事。 自分はひねくれているのでポジティブという言葉があまり好みではない。精神論っぽいし、どうしたってポジティブにならない物事もあるか…
昨年はなんだかあっという間に終わってしまった。相変らずCOVID-19は流行っているが、昔ほど大仰な対策は行われなくなって、可能な範囲で経済と生活を戻していきましょうね、という感じのプロセスに入っている。 年末はなんやかんや忙しくてあまり1年を振り…
ScalaをネイティブバイナリにコンパイルするプロジェクトであるScala Nativeというのがある。 scala-native.org 2023年現在では多くのScalaライブラリがScala Nativeに対応しているため、特に難しい対応をしなくてもネイティブバイナリを得られるようになっ…
今年はリモートワークが一段と進み、人間関係に変化があったり無かったりし、仕事もそこそこ進んだ、そんな一年であった。 だいたい自分はちょっとデカいものを買ったら自慢してやろうという下心で記事かなにかに書いている。中には書いていないものもある。…
ハマったので後学のためにメモを残しています。うえ〜ん 一時的にファイルシステムにファイルやディレクトリを作りたい、ということはよくある。ただし適当な名前で作成すると名前が被って事故の元になってしまう。このため、各プログラミング言語には一時フ…
自分は日本語入力効率化のためにずっと昔からSandSを利用している。SandSとはSpace and Shiftの略で、以下のようなキー入力のカスタマイズのこと。 スペースキーの役割をシフトキーにする ただし、スペースキーを単発で押して離したときはスペースキーとして…
意外とやったらできたので記事にします。 実際に動いている様子はこちら。 cloudflare-worker-scala-exercise.pages.dev ソースコードはこちらです。 github.com 感想 やること Cloudflare Workersってなによ 目指す構造 Scala.jsを書く project/plugins.sbt…
動画ファイルや音楽ファイルの長さを知りたいことがある。例えばファイルをエンコードし直して一定のファイルサイズに収めたいときなどは、ターゲットとなるビットレートを算出するために秒数を得る必要がある。 メディアファイルの秒数を得るには、ffmpegに…
この記事では、Scala 3と関数型ライブラリであるCatsを時折使いつつ、Stateモナドを利用することでmap結果にうるおいを与えられるという話題を紹介します。 よくある処理: mapしてからペアにする まあまあよくある: メソッドはたまに値返さないことがある ま…
この記事は Scala Advent Calendar 2023の19日目の記事です。19日って「あ〜今月が終わる」ってなるちょうど良い塩梅の日付ですね。 qiita.com この記事では、Scalaの総合ツールであるScala CLIを利用する様子を紹介し、Scala CLIでScalaのちょっとしたアプ…
コンビニ弁当の空き容器が部屋に放置されがちで、それは端的に言うと自分がズボラなだけなのだけれど(Q.E.D.)、どうしてこうなってしまうのかということを考えていた。すると意外なところに答えがあった。 最近自分は『モノリスからマイクロサービスへ』を…
このような、一定の要素を無限に繰り返したリストが欲しいことがある。無限に続くリストは通常のリストでは扱えないため、ストリームを使わなければならない。Scala 2.12まではストリームのためにStreamを使い、2.13以降はLazyListを使うことになっている*1*…
なんかタイトルでデカく出てしまったけど、リモートだと疎結合なアーキテクチャのがうまくいくね、という経験をしたという話。特にオチはないです。ソフトウェア設計が好きな皆様のおやつとして読んでください。 COVID-19でリモートワークが拡大した 最近や…
今日はScalaで動作するマイクロHTTPフレームワークであるCaskを紹介したいと思います。Scalaを見る目が変わると思います。Scalaはけっこう複雑寄りのエンタープライズグレードの超強いライブラリが多いような気がするのですが、今回ご紹介するのはとてもeasy…
この記事は、Scala Advent Calendar 2023の5日目の記事です。 qiita.com 大遅刻してしまいましたが、Scalaは遅延評価できるのでモーマンタイですね。 この記事では、Scalaをクラウドネイティブな環境で使う例の紹介として、ScalaをJavaScriptコードにトラン…
昨日こういう記事を書いた。 blog.3qe.us ↑ではがんばってパイプラインが送るイベントを監視してPromiseでラップしていたけれど、実は公式にPromise版のAPIが提供されていた。 nodejs.org これを使うといい感じに入出力が終わったタイミングで完了するような…
マニアックなネタだが割とハマったのでメモっておく。 Google Cloud Storage 詳細は割愛するが、要するにAWS S3のGoogle版である Node.js SDK Node.jsにはGoogleまわりのSDKが提供されていて、Cloud Storageを操作するためのSDKも用意されている。 cloud.goo…
先々月あたりに邦訳が出た『データ指向プログラミング』を読んだ。めちゃくちゃざっくり言うとオブジェクト指向における「データと振舞いの一体化」というドグマを手放させるもので、めちゃくちゃざっくり見るとC言語的な構造化プログラミングの世界に回帰す…
所用で、Cloud Storageにある動画ファイルをopus(音声)形式にエンコードしたかった(Node.jsとffmpegで)。 動画ファイルがデカいのと、生成されるopusは小さいので、いちいちストレージに保存するのが手間だと考えた。そこで、間にmkfifoして作った名前付きパ…
ここ数日はまだギリ耐えられていたのだが、ついにガチめに京都は寒くなってしまったので困っている。毛布とかの準備を(一応)進めているけれど、何年住んでてもこの寒さに慣れない。 とはいえ冬は冬で風情があってよいもので、アロマキャンドルを出してみたり…
Scalaのライブラリを検索・一望・依存性定義をコピペできたりする便利なサイトであるScaladexにコントリビュートした。という話を自慢するだけのエントリです。 Scaladexとは ScaladexとはRubyにおけるrubygems.org、PythonにおけるPyPIの、Scala版である。…
仕事でCloud Functionsを触る機会があったのでメモ。この記事はScala Advent Calendar 2023の2日目の記事です。 qiita.com 昨日の記事はこちら。 zenn.dev AWSがLambdaを提供しているのと同じく、Google CloudはCloud Functionsというサービスを提供している…
同僚と1on1していて面白い話をしたのでメモ。 プロジェクトの不確実性 前提として、自分はソフトウェアエンジニアとして働いているのだが、0→1的な仕事の場合、プロジェクトは最初は不確実で混沌とした状態にあり、しばらくの創発的な状況を通過していくこと…
昔はSlackで自分しかいないワークスペースを作っていたんだけど、webhookまわりの設定がいろいろ面倒で、雑にwebhook urlを生成して使えるDiscordのほうが何も考えなくていいなと思うようになった。フィードとかを流したいし、各種botの実験場にしたい。 Twi…