生活環境は常に変化している。だから、その変化に適応していくことを考えた方が良い。 ある日、パートナーから言われた一言です。子どもが生まれ、育児に手惑い、社会人としてのキャリア的な成長がこれ以上見込めないのではないか、と私が弱音を吐いた内容に…
F#のOptionにはmapとbindの関数があります。この2つの関数は値がSomeの場合に、値を変換するという点では同じですが、変換に使用する関数の戻り値の型が異なります。 int option がある時、 map は int -> T の関数を受け取ります。 bind は int -> T optio…
フロントエンドは、よくVueを使っているプロジェクトにいることが多いのですが、ここ最近は個人の時間でReactを勉強していました。状態管理ライブラリを探していたところRecoilというものがあることを知り、少し触れてみました。 この記事ではAtomの使い方に…
具体と抽象作者:細谷 功dZERO(インプレス)Amazon 先日、具体と抽象を買って読み始めたのだが、ふと技術本も抽象度が高い内容を扱っているものと具体的な内容を扱っているものに分けることができそうだと気がついた。 例えば、特定の言語にの使い方やフレー…
scala 3 を使っていて、いい感じにコードを書くことができたので、ここにメモ。 CSVから値を読み込んで直積型に変換する処理を実装していた。 登場する型はRecipeとRecipeRecord。 ドメインクラスはRecipe CSVの一行はRecipeRecord CSVから読み込んだデータ…
関数宣言とArrow Functionのthisの違いについてのメモです。 以下のサイトに詳しく書いてあります。 https://jsprimer.net https://jsprimer.net/basic/function-this/#function-without-arrow-function-this 関数宣言の場合、thisは動的に決まるとのこと。 …
jacksonについて調べたときのメモその2です。 環境は前回の記事と同じですので省略します。 https://baubaubau.hatenablog.com/entry/2024/02/04/145625 TreeModelというものがどうやらあるらしいので触ってみましょう。 https://github.com/FasterXML/jack…
jacksonについて調べてみたときのメモです。 jacksonのリポジトリはこちら。 https://github.com/FasterXML/jackson jacksonとは、JavaのJSONライブラリ、というところまでは前提知識があります。 以前からそれとなく使っていて、Spring frameworkを使ってい…
値が定まった時点で評価をそれ以上行わないことを短絡評価と呼ぶ。 例えば[JavaScript]では && 演算子が該当する。 && は左から順に評価しtrueだった場合は右辺の評価を続ける。 右辺が最後の評価対象の場合はその評価結果を返す。 true以外だった場合(fals…
Gaugeのドキュメントを眺めていたら気がついたのでメモします。 Gaugeのドキュメントっていうのはこちら↓です。 docs.gauge.org GaugeをJavaで利用しているのであれば、 env/default/java.properties の設定でscenarioまたは特定のスコープでオブジェクトを…
例えば async を使った次のコードがあるとします。 class ComposingSuspendingFunctions { private suspend fun doSomethingUsefulOne(): Int { delay(100L) return 13 } private suspend fun doSomethingUsefulTwo(): Int { delay(1000L) return 29 } @OptI…
BashScriptでは、配列をパラメータ展開する方法が用意されています。ちなみに、よく混合しやすいのがパラメータ置換ですが、パラメータ置換とパラメータ展開は本質的に異なるものです。パラメータ置換はパラメータの値を置き換えることでパラメータ展開はパ…
Bashスクリプトのforループについて書きます。 まずは基本から。 #!/bin/bash for i in a b c ; do echo ">> $i" done 上記では変数 i に対して in の右側にある値を一つづつ代入しループ処理をしています。結果は次のようになります。 ❯ ./bin/for-loop.sh …
シェルではパラメータ置換を使って、パラメータを取得する時に必要な形に置き換えることができます。 例えば、シェルスクリプトでパラメータが指定されていない場合のデフォルト値をセットしたいかもしれません。そんな時にパラメータ置換を使えば簡単に実現…
Kubernetesはコンテナの健全性を測定するために3つの仕組みを持っています。(StartupProbe / LivenessProbe / ReadinessProbe)今回はその一つ、LivenessProbeを実際に試してみたいと思います。 Probeについて、公式ドキュメントは下記が該当します。 http…
kubernetesではコンテナの健康状態を計測するためにProbeと言う仕組みがある。 Startup Probe コンテナのアプリケーションが起動したかどうか。起動に時間がかかるアプリケーションが、他二つのProbeによって利用不可、削除されることを防ぐための仕組み。 R…
シゴトで使うようになったclojure。get-inなる関数が気になったので使い方をチョット調べました。 (ns getting-started-clojure.get-in) (def m {:username "sally" :profile {:name "Sally Clojurian" :address {:city "Austin" :state "TX"}}}) (comment (…
https://neovim.io/doc/user/helphelp.html#helphelp 引数なしで :help コマンドを打つと helpfile オプションで指定されたファイルが開く。 通常は help.txt が開くと思う。 以下のコマンドで helpfile オプションの値を確認できる。 :set helpfile? オプシ…
テスト lein test コマンドでテストを実行。 例。 vagrant@ubuntu2204:~/source/temp$ lein test lein test temp.core-test lein test :only temp.core-test/a-test FAIL in (a-test) (core_test.clj:7) FIXME, I fail. expected: (= 0 1) actual: (not (= 0…
コードの実行 https://codeberg.org/leiningen/leiningen/src/branch/stable/doc/TUTORIAL.md#running-code REPLを実行するには lein repl を使う。 REPLを上記のコマンドで実行すると、プロジェクトのコンテキストと共にコードを実行する対話型プロンプトが…
ライブラリの検索について https://codeberg.org/leiningen/leiningen/src/branch/stable/doc/TUTORIAL.md#dependencies leinでclojarsの検索ができる。 Maven Centralの検索もできる。 検索をするには lein search $TERM コマンドを使う。 clj-http の検索…
ディレクトリレイアウト https://codeberg.org/leiningen/leiningen/src/branch/stable/doc/TUTORIAL.md#directory-layout デフォルトで作成されるディレクトリレイアウトの場合 src と test が直下に存在してます。このレイアウトはMavenとは違いますね。 …
Clojureを書くにあたって、Leiningenを調べて、触って、みようと思いまして。 https://leiningen.org/ DeepL先生に和訳をお願いしたところ、ライニンゲンと出てきました。どういう意味なんだろう?読み方は合っているのか? (Leiningenはちと長いんで、lein…
clojureでJavaの呼び出し方を調べたのでそのメモです。 使用するJavaクラスをインポートするには、 import フォームを使います。 https://clojuredocs.org/clojure.core/import user=> (import '(java.io File)) java.io.File パッケージ名とクラス名の間に…
シゴトでclojureを使うので自宅のPCにclojureを叩くための環境を整えます。 バージョン VirtualBox バージョン 6.1.40 r154048 Vagrant Installed Version: 2.3.0 vagrantでubuntuを立てる vagrantの設定ファイルは次のようにしました。 Vagrant.configure("…
先日、Vagrant+Ubuntuで環境構築したのですが、今回はそこにfish shellを導入してみました。 fish shell とは https://fishshell.com/ 雑に一言でいうと、ユーザーフレンドリーなインタラクティブシェルです。公式ページでは次のような特徴があることが確認…
Vagrantで立てたUbuntuにelasticsearchをインストール、セットアップしてみようと思います。 デスクトップPC(windows)をゲーミング用で一台所有してるんですが、こちらプログラミング趣味用としても使いたいなと。ゲームパフォーマンスに影響が出るのでホス…
そう言えば、elasticsearch勉強したことあるけれど、あまり検索にフォーカスしていなかったなっと思いました。mappingとか、indexとかその辺りの事中心だった気がします。(もう忘れたけれど) term って和訳すると、「用語」「言葉」って言うらしいです。 t…
Comparatorを使ってソートする方法について、触ってみました。 Comparator (Java Platform SE 8) Comparatorはその名の通り、あるオブジェクト同士を比較する役割を持っています。Comparatorは導入されたのが1.2ですが、FunctionalInterfaceアノテーションが…
Quorum-based decision making Quorum-based decision making | Elasticsearch Guide [8.1] | Elastic master-eligible nodeの基本的なタスクは次の二つ。 master nodeの選出 cluster状態の変更 この二つのタスクは例えいくつかのノードが使用不能になったと…