Lambdaカクテル

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

SKKで接頭辞・接尾辞を入力するためには専用の方法が用意されている

SKKで入力していて、たまたまミスタイプで>を入力していたら、なぜか変換が走ってびっくりした。 ちょう> ↓ 超 役物を入力したら自動的に変換される機能があるからその一環かと思っていたけれど、>自体は入力されていないので別の機能みたいだ。 TL;DR 接頭…

jqでキーに対応する要素がないときnullの代わりに空文字を返すにはemptyを活用すると良い

シェルスクリプトとの組合わせでjqを書く機会があり、助かったのでメモ。 jqとはお馴染みのJSONオペレータであり、JSONを入力して色々な操作ができる。シェルスクリプトから使うと便利だ。 そんな中、jqとシェルスクリプトとでは「要素が無い」をどう表現す…

伝染性のミームは一種のウイルスやガンだと言えそう

ニコニコ動画が好きでよく見ているのだけれど、ちょっとでも荒れがちな要素が動画に出現すると一瞬で動画が荒れてしまい、政治コピペみたいなので動画が埋まってしまうことがある。韓国っぽい要素が出てくるとずっとクドクド悪口を言い続けるコメントが投稿…

いもす法をRecursion Schemeを使って実装する(Scala + Droste)

いもす法というのがある: imoz.jp ようするに、多次元に累積和を拡張したもの。競技プログラミングで2次元いもす法がよく使われるらしい(筆者は競プロやらないのでよく知らない)。 そして先日Recursion Schemeについていくつか記事を書いた: blog.3qe.us b…

Recursion SchemeについてScalaのDrosteで勉強する(むずかしい理論はガン無視する)

前回、ドドスコ問題を解いた。 blog.3qe.us 記事ではRecursion Scheme自体の話題や、各構成要素の子細には立ち入らなかったため、Recursion Schemeを理解するためには不十分だった。そこでこの記事では、再帰的な構造、FixとPattern Functorとの関係、Recurs…

Recursion Schemeによるドドスコ問題の恐るべき解法

さる8月1日、計算機科学の根幹を揺るがすドドスコ問題が出題され、エンジニアたちは震撼した(意味: 面白問題が出たので、なるべくヘンテコな解法を使って己の技巧を誇示するためにエンジニアたちは競ってコードを書きはじめた)。 【問題】配列{"ドド","ス…

仕事中によく雨の音をBGMにしている

www.youtube.com 無限に雨が流れ続けるだけの動画がYouTubeにある。どういうわけか、自分はこの雨音を聞いていると安心してくる。小学校で、雨の日には外に出て遊べないから、誰もが図書室にやってきて、少し湿った空気の中で、外の暗雲と我々の上に嵌め込ま…

日常が永遠に続いていく感覚

今の日常がずっと続いていくだろうという期待のような感覚が存在すると思っていて、だいたいの人は普段はこのモードで暮らしている。そして時折事件とか珍しい事が起こると、非日常モードにシフトして、しばらくすると元の落ち着いた状態に戻る。日常系アニ…

医者は肝臓のイラストレーションが上手い

昔父親が体調を悪くして近所の病院についていったことがあった。 病気のことは割愛するが、問題は診察室で一種の奇跡を見たことである。かかりつけの医者は内臓の解説をするために、製薬会社のノベルティ然としたボールペンをやおら取り出すと、「ここに肝臓…

zshメモ: 直近のコマンドの最後の引数だけ取り出す / 最後の引数以外を取り出す

直近のコマンドの最後の引数だけ取り出す よくやるのでこれは覚えている。直前に入力したコマンド列のうち、最後の引数だけが取り出されて置換される。 !:$ 直近のコマンドの最後の引数以外を取り出す ↑の反対のことを行う。サブコマンドのみを置換したい場…

NumpyのCommon Lisp実装Numclがあるらしい

Pythonの(といいつつCで速度を稼いでいる)Numpyという数値計算用のライブラリがあり、広く使われているのは誰もが知るところだと思う。実際には、WebエンジニアからはPandasといったフレームワークを被せて使うことが多い。 そんな中、NumpyのCommon Lisp…

bash/zshで使える${foo:?...}記法が便利 (必須値チェックに便利)

動作確認した環境 zsh 5.9 (x86_64-pc-linux-gnu) GNU bash, version 4.4.23(1)-release (x86_64-suse-linux-gnu) 前置き シェル変数の展開でよく使う記法といったらだいたい${foo:-bar}(fooが空ならbarを代わりに使う)で、以下のように使うことが多い。 foo…

日記

肯定するより否定するほうが簡単なので、自然と自分もそうなってしまいがちで、自分の選択にあまり肯定感がなくて、どうせ失敗するだろうと思っていたり、自分が買った物に対する自信が無くて、買ったもののげんなりしてしまう、みたいなことが起こる。 かつ…

イーサリアムを買う体験

最近、Web3がなにかと話題になっている。雑な本がネット焚書にあって、インプレスは本を回収する騒ぎになった。それについてはどうでもいいので言及しない。 特に金儲けみたいな意図は全く無くて、単に買うとどうなるか試してみたくて買ってみた。 bitFlyer…

Pandasでcomma-separatedなカラムを複数行に展開する

百聞は一見に如かず: import pandas as pd df = pd.DataFrame( [["foo", "apple", 12], ["bar", "banana", 30], ["buzz", "apple,banana", 15], ["qux", "chocolate,banana", 51]], columns=['id','like', 'age'] ) df df こういうDataFrameがあったとする。…

プログラミングと無意識的な思考

プログラミングにおいてよくやるイディオムは、使っているうちに覚えていく。「覚えて習熟していくうちに無意識的にやれるようになっているもの」というカテゴリーがあると思う。こういうときはこういうデバッグ手法がある、みたいな基礎的な事柄は、毎回思…

Strayクリアしたので感想(ネタバレなし)

最近話題のネコになるゲームStrayがSteamにも降ってきたので、やった。なるだけネタバレは無いように書いているつもりです。 ネコとしてマップを(といっても、ゲーム中でしばらくうろうろすることになるいくつかの拠点を除けば基本的に一本道になっている)…

自分が何者であるか分からなくなったときに読む(動きによって定義する)

「自分が何者であるか」、言い換えると自分をどう定義するかという問いには、古今東西の人間が直面してきた。特に現代人は他者を認識する機会が多いから、いつも比較してしまうだろうと思う。自分が何者であるかは死活問題になる。特に、ひねくれている自分…

7月13日

2つ以上の正解があるみたいな状況でどっちかを取らされるみたいなのが苦手で、というのもどちらも選ばないという選択肢を忘れそうになってしまうからなのだけれど、日々沢山の情報を受け続けていると、「いやそれでも俺はこう思う」と自分の考えを持ち続ける…

GitHub Actionのジョブ実行画面からPull Requestを辿れるようにした

こういうのを作りました。 ジョブに紐付いたPull Requestへのリンクが表示される 行ったこと: リンクを生成するジョブを1つ生やした 綺麗な表示はStep Summary機能 (後述) の力を借りている ジョブ実行画面からPull-Reqに戻りたい GitHub Actionsのジョブ実…

どのくらい人間の知性(と未来)を信頼するか(信じるしかないのだけれど)

ここ最近、難しい話題や事件がたてつづけに起こって、滅入る。COVID-19の流行は終わる兆しを見せず、周期的に感染者数が増減している。みんなどこか疲れていて、マスクを外すことにあまり躊躇しなくなりつつある。世界的な話題としては、ロシアがウクライナ…

EmacsによるScala開発 2022年版 (補完編)

最近ちまちまEmacsでScalaを書けるようにしているのですが、そのメモ的な記事です。特に、補完の話に注目して書きます。 補完 じゃあどうすればいいの 相性の悪いプラグイン 参考elisp 01_company.el 02_lsp.el 03_scala.el 補完 補完を行うためには、まずは…

他人の意見をパッとかわせるようになりたい

ネットには他人の意見というのが溢れていて、気を抜いていると突然コメント欄にすごいことが書かれてびっくりする、みたいな事がある。人間によってフィルタされていない生の言葉は文章としての品質も低い時があって、まず理解するためにエネルギーを吸い取…

皿買った

主にパスタを盛るためのプレートを買った。直径は22cmで、食洗機に程良く収まる程度。 皿 実は、就職の際に実家にあったものを適当に拝借してきたプレートがあるのだけれど、特段自分の好みというわけでもなかった。 料理を食べない日は無いので少しでも自分…

プログラミング言語の高度な抽象化機能の主戦場は「テスト」なのかもしれない

同僚のコードをレビューしていると、たまたま複雑なロジックを使っている箇所を修正していて、付随するテストもけっこう複雑だった。APIレイヤのテストなので、JSONのスタブを書いてその通りに帰ってくることを確認する、みたいな作業を何度もやらなければな…

Shapelessの勉強(その4)

今日は、これまでに学習してきた Genericを拡張した LabelledGenericについて学習していく。これによって、型レベルでフィールド名や型名を扱う事ができるようになり、Shapeless が扱える処理の範囲がさらに広がる。 前回はこちら。 blog.3qe.us Literal typ…

だが不思議であり怖いのは、意義を感じながらやっていると、突然ぽっかりと穴が空いて、水を張ったガラスの器が床に落ちて砕け散ってしまうように、折れてしまうことが、予告無しに起こることだ

眠れないとき、同時に眠りたくないという感情も発生しているらしいことに気付いた。眠ってしまうと何かを喪失してしまうので、眠ろうという気にならない、ような。 じゃあどうして眠りたくないのかというと、自分が全然前に進んでいないような気がするから。…

文字が持っていたフィクション性の終焉

インターネットをしているとしばらくぼんやりした気分になってしまうことがある。それ自体はよくあることなのだが、自分の脳というか意識がどこに属しているのかが気になってきた。おそらく脳は自分がどこに属しているのかを知っていて、現実よりもより現実…

型付きのタスク同士の依存関係を解決するソルバは書けるのか その1

こういう話題: 今日 @yigarashi_9 と会話してて、「相互に依存し合ったタスクの集合からグワッとDAGを生成してトポロジカルソートして一つずつ解決していくみたいなパターンあるよね」みたいな話をしたけど、なんか名前あったっけみたいなモヤモヤが、ずっと…

ScalaTestでテストをIgnoreする方法いろいろ

開発していると、「テストが落ちるけど一時的にマージしたいからテストを通したい」ということがたまにある。そういうときにScalaTestではどうするのかについて調べてみた。 テストスイートごとignoreする 個々のテストをignoreする AnyFlatSpecを使っている…

Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?