田舎で並行処理の夢を見る

試したこと、需要がないかもしれないけど細々とアウトプットしてます

ElixirのString.contains?で第1引数にbinaryを第2引数に日本語ひらがなを与えるとfalseになる理由についての調査報告

事の発端 たまたまElixirでhttp responseのbinary情報に対して、特定の日本語が含まれているかという判定式を記述していたところで、この現象に遭遇した。 iex> body = <<201, 202, 197, ...>> iex> String.contains?(body, "いちご") false 間違いなくbinar…

【紅茶初心者がゆく】紅茶を上手く淹れる方法を再び検証してみた

前回までのあらすじ 良い機会だったので紅茶を茶葉から淹れることに初めて挑戦した。結果は惨敗。お世辞にも美味しいと言える紅茶を淹れることは出来なかった。それから、筋トレや四大行にひたすらに取り組んだわけではないが、様々な淹れ方を試して、「美味…

【擬似実装コード有り】Pythonでswitch構文っぽいものを表現する方法について

かゆい所に手が届くswitch構文 別にswitch構文がなくても、おそらくその処理は工夫次第で記述することが可能だろう。しかし、golangやjavascriptに見られるswitch構文を用いることで少なくとも可読性は上がるし、拡張性もif elseの組み合わせよりは良いはず…

【golang/Elixirのサンプル有り】何度も同じようなテストを書くのがつらいので無名関数を使って楽しくしよう

反応が良かったツイート テストを無名関数で書くと楽しいよという旨のツイートの反応が良かった。ただ言葉だけだと正確に情報が伝わらないので実際にどうやっているのかをコードに落としてみた テストケースを複数書くときは無名関数が凄く便利。わざわざ外…

【紅茶初心者がゆく】美味しい紅茶を目指して様々な入れ方で検証してみた

前回の反省 人生で初めて紅茶を茶葉から淹れるという挑戦を試みたが、全く上手く出来たかった。味の感想としては「温かい良い香りの水」。しかも、紅茶の知識が全くないため、何がダメだったのかも分からない。上手く淹れられている証となるジャンピングが全…

【紅茶初心者がゆく】エンジニアなのにコーヒー飲めないので初めて茶葉から紅茶を淹れてみた

前段: コーヒーというか苦いものが苦手 何故かエンジニアは「いつもコーヒーを飲んでいる」というイメージがある。実際に同じ職場のエンジニアも毎日のようにコンビニで買ったコーヒーを飲んでいたり、豆から淹れているような方もいる。そんな中で、「コーヒ…

数値をASCIIを用いてaからzまで(半角英字)の文字列に変換

何をしたいのか 業務で書いたコードなのだが、作成する元になったアイディアがボツになったため、お蔵入り。需要は無いだろうけど、せっかくなので当時、ググっても出てこなかったので公開しておこうと思う。1から始まる任意の数字をASCIIで定義されている数…

【サンプルコード有り】golangで複数条件のソートを無名関数を使っていい感じに実装してみた

何をしようとしているのか struct(以降、構造体と表記)を要素に持つ、配列をソートする必要がある場面に出くわした。通常というか一般的な数値や文字列のソートと異なり、構造体のAフィールドの値が大きい順番かつ、Bフィールドの値が小さい順かつ...のよう…

【第16回清流elixir勉強会】今年のElixirに関する学習を振り返る会

トピック elixir-sr.connpass.com 早いもので今年ももう終わろうとしています。今年度より清流elixirというコミュニティを立ち上げて勉強会を行い今回を含めて合計16回の勉強会を開催することが出来た。幅広い方に参加して頂き、多くの方と知り合うことが出…

【サンプルコード有り】golangとclosureで作ったクールなカウンターをElixirで書き直した

closure(クロージャー)とは何か 難しい概念の説明は強いエンジニアや大学の賢い先生方にお任せするため、深い説明は行わない。ざっくりと言うと、関数の中である値を保持させておいて、その値を変化させる(操作する)ための変数を保持している関数の内部に用…