Lambdaカクテル

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

Invite link for Scalaわいわいランド

2022-09-01から1ヶ月間の記事一覧

Scalaをスクリプト言語にしよう! Ammonite文法最速マスター

追記(2023-04-04): Scala CLIを使いましょう Ammoniteをベースにより洗練されたScala CLIが開発され、Scalaのデファクトスタンダードとして定着しつつあります。公式にscalaと入力した際の標準アプリケーションとなることも予見されているため、こちらを学ぶ…

全裸で室内をウロウロし、幸福を見出せ

幸せな人、幸せなカップル、幸せな家族。「幸せ」という言葉は、人を表す言葉にかかりがちだ。 だが本当だろうか。人が幸せなのだという価値観に囚われると、自然と自分を幸/不幸の枠組みで捉えるようになる。 幸せは他者や物事の中に発見するものだと気付け…

EmacsでFlycheckのウィンドウをトグルできるようにした

自分は普段の開発ではEmacsを使っていて、VSCodeユーザに笑われつつも(被害妄想)今のところ普通に開発できている。 そして、エラー表示にはFlycheckを使っている: www.flycheck.org FlycheckはLSP-modeに対応しているので、LSPで検出したエラーをEmacsの枠組…

人間、全部優秀を目指さなくても、普通で良いっス

日が暮れたので、行きつけのスタバにふらふら歩いていた。ぼーっと歩いていると、同じような人々が、涼しくなった路地をうろうろしていた。 人を見ながら、人間は、案外普通だな〜という気付きがあった。 なんらかの作品に描かれるような優秀な人生というも…

Perlのqw()みたいなやつがScalaにも欲しいので作った

追記3: Maven Central Repositoryにリリースした。 index.scala-lang.org 追記2: ライブラリ化した。Mavenにpublishする手続きをちびちびやっている。 github.com 追記: 実装おかしかったのでちょっと修正した Perlにはqw()という文字列のリストを構築するた…

騙された方が悪いというロジックがネットに蔓延していて議論が成り立たない

あまりブログでは政治的な話題は書かないようにしているが、特に思ったのでメモしておく。 人がなにかウソをついたり、悪事を働いたり、誰かを騙したりしたことが判明したとき、騙された方が悪いとみなし、むしろ騙された方を(いかがなものかという消極的な…

金、儲けてえなあ

世はやれSDGsだとかなんだエシカルだとかなんか言っていて全体的に端正に礼儀正しく禁欲的でお金より大切なものあるよね、みたいな方向性をギラつかせているけれど、やっぱりおカネ稼ぎてぇなぁという気持ちがある。 それで他人から金取れる、という状態にな…

一回しか変数を呼べなくすることは可能か

バグを出しにくいソフトウェアを型で実現、みたいな話題が好きで、しょっちゅう型でなんとかできないか考えている。 そんな中、そもそもバグが出るのって、1つの変数を複数回「見る」ことによるものも多いのではないかと思った: 同じ変数が、離れた別々のス…

変数echoとsedのコンボはbashだけで完結できる / bashの文字列置換いろいろ(ときどきzsh)

GitHub Actionsのyamlファイルをいい感じに矯正してくれるActionlintというのを入れていたら、SC2001という項目を指摘された。 www.shellcheck.net string="stirng" ; echo "$string" | sed -e "s/ir/ri/"というコードは、string="stirng" ; echo "${string/…

忙しい人に判断を仰ぎたいときは松竹梅プランを作ってチェックボックスを埋めてメンションしてもらうようにすると合理的で便利

普段の暮らしにおいて、実装の仕様をエンジニア単独では決められないことがあって、そういうときにはマネージャーとかディレクターといった意思決定可能な立場の人の判断を仰ぐことになるのだけれど、そういう立場にある人は無限にミーティングをしていたり…

GitHub ActionsでJSONを組み立てるのは actions/github-script 経由が一番早そう

GitHub Actionsでworkflowを組んでいると、外部ツールと組合わせるために、JSONを組み立てなければならないことがある。Actionに直接渡すだけだとJSONの出る幕はあまりないが、外部サービスになんかするといった時にはすぐJSONが必要になりがち。 二重の苦労…

普段はPerlとScalaを書いていますが #rubykaigi 2022に参加してきました / 吸えそうな知見

普段はPerlとScalaを書いて暮らしていて、Rubyを書くのはcapistranoを使うとき・・・という位のWebアプリケーションエンジニア、 id:Windymelt です。株式会社はてなで、はてなブックマークを開発しています。 普段は、関数型テクニックの話をよく記事に書い…

カメラ沼、そして思考沼 / 客観視が抑鬱をもたらす

先日RubyKaigi 2022に参加して、三重県津市で楽しく過ごすことができた。肉を食べたり、DJを見たりした。その参加レポートはもうしばらくしたら完成するから置いておくとして、そんな道中を記録するのに、フジフィルムのX-E4が活躍した。 めっちゃピンボケし…

中国の謎ドリンク『王老吉』買った

中国に、王老吉というドリンクがあるらしい。どういうわけか日本でも微妙な人気があるらしく、フォロワーが買って飲んでいて結構気になっていた。ワンラオジーと読むらしい。 そんな中DPZの記事を見付けてしまった。 dailyportalz.jp 2009年の記事なのでOG:I…

プログラミング向きな等幅フォントBerkeley Monoを購入した、めっちゃ良いのでおすすめです

Berkeley Monoというフォントがある。 berkeleygraphics.com プログラミングなどに使える有償フォントで、個人向けライセンスを購入すると75ドルで永年アップデート特典が得られる。 Berkeley Monoっていうフォントを大枚はたいて購入したんだけどマジで最高…

Haskellのguard/<$のコンボはCatsではasを使う

覚えておきたいのでメモ。 x <$ guard (y == z) こういう式をCatsで表現したいとき、Catsには<$も$>も、そのままの演算子では存在しない。そのかわり、Catsにはasという名前で同等のメソッドがある。 typelevel.org F[A] => B => F[B] as つまりこういう感じ…

おい少年、g(x)(f(x))になるパターンはScalaのCatsでg <*> fにできるぜ

tl;dr g(x)(f(x)) === g <*> f 共通の引数を持つ1引数関数たちはReaderとして合成可能であり、ReaderがApplicativeのインスタンスであることを利用している 本編 おい少年と呼び掛けてみたものの、関数型女子高生がいるかもしれないよね。それはさておき、 …

ブラウザおすすめマウスジェスチャn連発

自分はVivaldiというブラウザを使っている。プライベートでも仕事でも。 vivaldi.com Vivaldiは、マウスジェスチャを標準搭載している。マウスジェスチャとは、右クリックしながらマウスを一定の型で動かすことで、特定の機能をトリガーするといった仕組みだ…

Cats EffectのforeverMのMはモナドのM

Cats Effectには、foreverMという >> を無限に繰り返すことと等価なメソッドがある: import scala.concurrent.duration._ import scala.language.postfixOps val wait = 100 milliseconds def indicator: IO[Unit] = IO.sleep(wait) >> (IO.print("\r|") >> …

読むたびに内容が変化するファイルは作成できるか

こういう話題を見て、そもそも読み出すたびに内容が変化するようなファイル(としてふるまう何か)を作ることはできるだろうか?ということを考えた。 linuxで時間帯によって設定を変える方法の定石ってなんだろう やっぱタイマーで設定ファイル書き換え?なん…

コンテキストの破壊、プライベートな会話、ディスインフォメーション、知的生産

今日はインターネットの友達や同僚などを交えてピザパーティをとりおこなった。 かなり久々に会う人もいたし、初めて会うという人もあった。ともかく、交友を深められたのはよかった。 たくさんの食器を使ったが、ほどよく食洗機に収まる程度にしか洗い物が…

#rubykaigi に参加するのでWalletPassesをインストールした

RubyKaigi 2022に参加する。 rubykaigi.org 会場は三重県で、近所なので航空機を取らなくてすむから助かった。 良い時代なもので、入場するときに呈示するチケットも電子化されていて、こういう感じのメールが届く。 入場券のPDF もしくは、Apple Walletに追…

個人の価値性と個人主義とのかかわり

LGBTには生産性がないみたいな話をした議員が問題視されたり、末期患者は生きる価値がないみたいなことをブログに書いて爪弾きにされた著名人がいたりする。こういう炎上はよく起こる。なぜかというと、こういう発想を肯定するしないに関わらず、われわれは…

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