Lambdaカクテル

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

Invite link for Scalaわいわいランド

2023-07-01から1ヶ月間の記事一覧

カートに乗った

コース 大阪は舞洲のゴーカート施設に友達と行って乗ってきた。暑かったけど施設が整っていたのでジュースとか飲んで冷やした。自前のヘルメットとグローブ持って行ったけど普通に負けておもしろかった。車出してくれたみなさまありがとうございました。マツ…

主人公になるべし

どうにも気持ちが落ち込んでしまうこともあるけれど、そういうときも前向きでありたいものだ。しかし落ち込んでいるとそういうアドバイスも耳に入らない。 最近、こういうことを思った。主人公のように振る舞っていると主人公のような性格というかメンタリテ…

推測するな、計測せよ、ただし予測せよ

会社で1on1をやった。そのときに、ツメが甘い状態を脱することで、より良いエンジニアになれるという話で盛り上がった。よく詰められている状態だと大きな成果を発揮できている。だからその状態を持続させたい。他方でツメが甘い状態になりがちである。それ…

あと少しで眠れそうだったのに全然眠れなかった。今は世の中が憎いし、こんなことをしても何にもならず、ただ悲しい……

Nothing Phone(1)で三井住友カードをGoogle Wallet (Pay) に登録するにはVpassアプリ経由で登録する必要がある

Nothing Phone (2) が発表された。 jp.nothing.tech 欲しい。欲しいけど自分は(1)を持っているのでしばらくは我慢だ。 ところでNothing PhoneにはFellicaチップが乗っていないので、日本特有のおサイフケータイの機能が使えない(載せてくれ!!)。つまりiDやSu…

Akka(2.8) PersistenceでSerializerとしてCirceを使う方法

Akka PersistenceはAkkaでイベントソーシングを行い、アクターの状態を永続化するためのライブラリである。 doc.akka.io イベントなどの永続化にJSONライブラリであるCirceを使ったのでその手順をメモしておく。ここではAkka Persistenceの導入そのものの話…

Akka(2.8)でアクターの監視(Supervise)を行う

Akka 2.8でActorがクラッシュした場合にどのように振る舞うかについて調べる機会があったのでメモ。 ライブラリ依存性は以下の通り: libraryDependencies += "com.typesafe.akka" %% "akka-actor-typed" % "2.8.3 Actorの監視 通常のプログラムは例外をキャ…

コードコミュニケーションによるMP減少を雑談で補充している

就業間際、ちょうどその日は疲れていたのでくたくたになっていていて、コードレビューの指摘を打ち返す気力が出ずに黙って修正を受け入れる、という感じになってしまうことがあるけど、当然同僚はコードを良くするためにレビューしているので、どっちが良い…

Scalaのコーディングスタイルガイドでは名前は短いほうがいい

仕事でこういうシチュエーションに遭遇した。 foo.bar.buzz.Piyoというクラスがある(パッケージがfoo.bar.buzz) 同名のhoge.fuga.Piyoというクラスがよそのパッケージにもある(パッケージがhoge.fuga) こういう場合、BuzzPiyo / FugaPiyoみたいに弁別できる…

古代文明の謎を追うようにコードや仕様を読む / 「理解」のシノニムを具体的に決めてみる

ツイッターにも書いたが、エンジニアをやってる根源的な動機として、「難しいけどイケてる仕組みを理解わかりてェ・・・」というものがあり、それに衝き動かされてソフトウェアエンジニアという職をやっているようなところがある。 その一方で、難しい仕組み…

Akka HTTPでContent-Typeを設定する方法

Akka HTTPは素朴なライブラリなので、特にそういうプラグインを使っていない場合は自分でレスポンスのContent-Typeを設定する必要がある。この記事では、Akka HTTPでContent-Typeを設定する方法と、Acceptヘッダを設定する方法を説明する。 この記事ではAkka…

ScalaCheckで任意の範囲のDateTimeを生成するGen

プロパティベースドテストを行うライブラリであるScalaCheckには、任意の値を生成できるGenという仕組みがある。任意の日付時刻を生成するためのGenを定義したメモを残しておく。 Gen Genとは値を生成するためのジェネレータである。例えばGen.longは任意のL…

エンジニア入門者に習得してほしい「熟考」とは何か、それは論理的飛躍の最小化ではないか

会社の1on1があって、 id:yigarashi と30分くらい話したら面白い話がいろいろできたので紹介する。掲題ではエンジニアと書いているが、別にウェブ系ソフトウェアエンジニアに限られた話でもないし、ホモサピエンス全員におすすめ、考える葦の皆様におすすめ…

最高の体験

最高の体験をしなければならない

ActivityPubで投稿を表示できるようにした

これは雑な日記。 blog.3qe.us blog.3qe.us こういうことをやっていた。HTTP Signatureの仕様がバラけていたり、フィールド名の内容をなぜか勘違いしてい(publishedフィールドにはその投稿を作成した時刻が入るのだが、なぜか投稿のURLを入れてしまっていた…

SHA-256ダイジェストをBase64で得る(hex形式をBase64に変換する)

わけあってHTTP Signatureの実装をしており、SHA-256と仲良くしようと頑張っている。 asnokaze.hatenablog.com しかし、HTTP上ではSHA-256ダイジェストはBase64で表現されることが多い一方で、linuxでsha256sumコマンドを使ってもhex形式で結果が返るので、…

ScalaのJSONライブラリであるCirceで余分なフィールドを持つJSONをデコードする

ScalaのJSONライブラリであるCirceは、JSONをパースしてさらにcase classへと変換してくれる機能があるけれど、余分なフィールドがJSONに生えていたらどうなるのか気になったので試してみた。 build.sbt 依存性は以下の通り。 scalaVersion := "3.2.2" libra…

ActivityPubサーバを実装したかったのでまとめWikiを作ったら人々が集いつつある

最近のTwitterの荒れ具合と、Fediverseへの流入がいちじるしい。そんな中自分は、Fediverseという愉快な電網の共通語であるActivityPubの上で、botを動かそうと練習を重ねている。 blog.3qe.us この情報を自分のアカウントで発信していると、ActivityPubの実…

田舎の昼のサイレンbotをActivityPubで実装する(マストドンにアカウントを認識してもらう編)

田舎の昼のサイレンbotというbotがある。正午にウゥーーーーとつぶやくだけの、謎のbotである。 https://twitter.com/Noon_Siren_bot 最近Twitterもあやういので、練習もかねてActivityPubに移植し、マストドンやMisskeyから閲覧できるようにしようと思った(…

Twitterに投稿できなくて困っています & こっちにいます

www.itmedia.co.jp こういったニュースが話題ですが、 僕は投稿もできなくて困っています。シャドウバン的なやつ?スパム認定された? 追記 なぜかRTはできるようなので、アカウント名に助けてくれ〜というメッセージを添えて程々にRTを行ってメッセージを伝…

Scala.jsを介したJavaScriptのObjectとの相互運用について勉強した

Scala.jsはScalaからJavaScriptのトランスパイラであり、執筆時点でバージョン1.13.2を記録しており、活発に開発が行われている。加えて、これを補助するコンパイラプラグインであるScalablyTypedによるTypeScriptの型定義からScalaの型定義への転写によって…

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