Another System Definition Facility
Common Lispにとってのmake、そしてCPAN, RubyGemsなどに相当するアドオン*1管理システム。repl内で
(asdf-install:install アドオン名)
とすることでコンパイル→インストールできる。楽チンである。
*1:パッケージと言いたいところだが、Common Lispのパッケージは名前空間を分離するシステムなので…
asdfでPythonのバージョンを追加インストールしようとしたら、下のようなエラーが起きて、できない状況に遭遇した。 % asdf install python 3.12.3 python-build 3.12.3 /Users/LOGNAME/.asdf/installs/python/3.12.3 python-build: use openssl@3 from homebrew python-build: use readline from homebrew Downloading Python-3.12.3.tar.xz... -> https://www.python.org/ft…
WindowsにてWSL2を利用して、asdf+PoetryによるPython開発環境を構築する方法をまとめました。 環境構築の必要性と用語や、macOSでの構築は下記記事をご覧ください。 仮想環境とパッケージ管理の必要性 macOSでの環境構築
Poetryを使ったPythonの仮想環境とパッケージ管理について、自分なりに整理してみました。 第2回はasdf+Poetryの組み合わせによる環境構築の手順と、環境複製についてまとめます。 必要性や用語についてまとめた、第1回はこちら。 WSL2を使ったWindows環境での構築はこちら。
asdfって.tool-versionsがあるディレクトリでasdf installを実行すると、.tool-versionsに書かれたツールが指定のバージョンでインストールされるんですが、ツールをインストールする前にそのツールをasdf plugin addしておかいないといけないんですよね。で、このplugin addは自動ではやってくれなくて(知らないだけ?)やり方を色々探したら以下のPRが見つかりました。 github.com install --addを実装したよっと言ってくれてるのですが結局この変更はマージされないままクローズされてしまいました。途中は全然読んでいないんですが、最後…
Poetryを使ったPythonの仮想環境とパッケージ管理について、自分なりに整理してみました。 第1回はasdf+Poetryの組み合わせによる環境構築を中心に、必要性や用語についてまとめていきます。 実際の構築手順や環境複製の記事は下記をご覧ください。 第2回:macOS 第3回:Windows(WSL2)
結論から書くとasdf-hashicorpに含まれるparse-legacy-fileがrequired_versionパラメータのパースができなくてエラーになっている。 github.com このスクリプトがどのように使われているか正しく理解していないのだが、名前から察するに古いTerraformを使うプロジェクトにおいて使用するソフトウェアのバージョンを正しく検知するためのものだと思う。 rtxにおいてはこのエラーが出てしまうとrtx経由で何も操作できなくなってしまうのでとても困る。。。 これを回避するには ~/.config/rtx/config.toml に以下の設定を行う。 [set…
前記事にanyenv + pyenv + PoetryによるPython仮想環境の構築方法を書いたが、最近言語バージョン管理ツールとしてasdfというものが存在することを知った。 blog.ketus-ix.work それで、新しい開発環境ではanyenvの代わりにasdfを使い始めた。 asdf-vm.com asdfの良いところは現存のプログラミング言語を網羅的に対応していることだ。anyenvはPythonやNode.jsなどの人気のある言語には対応しているが、Java、Kotlin、Maven(Java系言語)やFlutter/Dartには対応していない。それで、いままでanyenv、…
Node.js のバージョン管理ツールに asdf を使っていたのですが VOLTA が速くて良いよとオススメされたので乗り換えてみた ⚡ VOLTA の特徴 ⚡ Rust製で早い プロジェクトディレクトリに入ると自動でバージョンが切り替わる (バージョンは package.json に記録される) Windows およびすべての Unix シェルを含むクロスプラットフォームのサポート yarn, npm などパッケージマネージャーのバージョンも固定できる global インストールしたパッケージもインストールしたディレクトリが記憶され、自動でバージョンが切り替わる インストールが簡単 cf.…
ランキング参加中プログラミング はじめに Flutter 開発環境の構築について、遭遇したエラーなどのつまずいた点、分からなくて調べた点などを含めて書き出します。 今回は、 asdf というバージョン管理ツールの導入して、指定バージョンの Flutter をインストールする方法をまとめます。 主に公式の Getting Started の内容を参考にしています。 Flutter をバージョン管理するためのツールの選択肢 Flutter をバージョン管理するためのツールの選択肢としては、以下が挙げられるようです。 asdf FVM どちらが良いのかは賛否あるようですが、 asdf を使ってみます…
ソフトウェアエンジニアの三上(@mickamy)です。普段の業務では、 取引管理という部署で、主に取引とその周辺(入出金など)に関わる処理の開発を担当しています。 最近、asdf という anyenv の代替となるツールを知り、気になってはいたのですが、なかなか anyenv から乗り換えるモチベーションを見出せずにいました。 あることをきっかけにそのモチベーションを言語化できたので、その使い方とメリットについてお伝えできればと思います(タイトルの前半についてはだいぶ盛っています)。 asdf とは何か asdf は、様々なソフトウェアの複数バージョンを管理するための CLI ツールです。 プ…
自分は処理系管理にmiseを使っている。 mise.jdx.dev miseはASDFの精神的後継?みたいなツールで、シェルスクリプトではなくRustで書かれていたり、シンボリックリンクを回避してPATHを変更するなどのテクニックによって高速に動作するのが売りだ。 今回、ちょっとした用事でNode.js v22を使うことになった。しかしNode 22はまだリリースされていなくて、利用するにはnightly buildを利用しなければならない。 nodejs.org miseで使えるnodeバージョンを出力するにはmise list-all nodeすれば良いのだが、当然nightly buil…
この記事では、Scala初心者がプロジェクトを作るときに分かりにくい(であろう)ポイントを埋めようというものです。 こんな記事を読んだ。 trap.jp 普段Rustを書いている人がScalaを書いてみたという内容の記事で、普段Scalaに振れていない人の視点があってとても良かった。普段我々はScalaを書きすぎているので、初心者がどこでハマるのか?初学者はどのようなポイントを見ているのか?といったことがわからないのだ。 そこでこの記事では、上掲の記事を参考にしつつ、普段自分がScalaプロジェクトを作るときどのようにしているかを説明しようと思う。 プロジェクトを作る 最低限必要なもの sbt…
航空宇宙自衛隊人工衛星運用管制業務について 航空宇宙自衛隊人工衛星運用管制業務 目次 はじめに 航空自衛隊の人工衛星 運用管制施設 運用管制業務 運用管制隊員 人工衛星運用管制の重要性 将来 参考資料 1.はじめに 航空宇宙自衛隊(航空自衛隊)は、現在、4つの人工衛星を運用しており、情報収集、偵察、通信など、様々な任務に使用されています。これらの衛星は、地上にある運用管制施設から24時間365日、監視・制御されています。 近年、宇宙開発技術の進歩に伴い、人工衛星の重要性が高まっており、航空自衛隊においても人工衛星運用管制業務がますます重要になっています。 本稿では、航空宇宙自衛隊の人工衛星運用…
2017年に以下の記事を書いていました。最近も時々この記事が引用されたりX (Twitter) でもいまだにシェアされたりしているのを観測しています。 blog.stenyan.jpなおこれはもはや7年前の記事で、ベースの考えは大きくは変わっていないものの、普通に自分用のチャンネルをいまは作っています。 運用次第で良し悪しある まず結論としては、チャンネルを作ったほうが良いとか作ってはいけないということよりも、使われ方(運用)方法次第で上手く回らない可能性があるよねという話だと思っている。なので、Xなどでtimes不要論が流れてきても「結局どう運用しているか次第だな〜」とニュートラルよりな気持…
Macを新調したので、とりあえずasdfでRubyをインストールしようと思ったらなんかエラーになって微妙に時間がかかったのでメモ。なおM3 MacBook Air 13インチ。 asdfのインストールとRuby pluginのインストールはサクッと終わった Rubyのlatestをインストールしようとしたらエラー。Xcodeのライセンスにagreeしてなかった。ので、sudo xcodebuild -licenseしてagreeした なんかpsych周りでビルドエラーになってるっぽい感じだったので適当にググって、結果的にはbrew install zlib openssl@1.1 readli…
tl;dr シェル設定ファイルのdirenv hookの設定を確認 ex). .bashrcや.zshrcを確認 事象 direnvをインストール .envrcファイルを作成 .envrcファイルに環境変数を記述 設定した環境変数が読み込まれない direnv allow しても同様に読み込まれない 原因 シェル設定ファイルにhookする設定の追加が漏れていた。 解決方法 手元の環境はzshなので、.zshrcにeval "$(direnv hook zsh)"を追加することで、direnvが正常に機能するようになった。 詳解 direnv hookはdirenvをシェルに統合するためのコマン…
クオカードでは、ソフトウェアエンジニアの採用プロセスの一環としてコーディングテストを実施しています。候補者の皆様には貴重な時間を割いて取り組んでいただくことになるため、十分な準備をしていただけるようにテストの内容と評価の観点を事前に公開することにしました。テストの目的を損なうことなく、候補者が必要とするスキルを身につけられる機会を提供したいと考えています。 コーディングテストの内容 現時点でのコーディングテストは、書籍管理システムの構築をお願いしています。具体的には、以下の仕様で実装していただきます。期限は2週間です。 Kotlin、Spring Boot、jOOQを使用 書籍には著者の属性が…
引き続きComponentライブラリを作っていきます。 yushi-dev.hatenablog.com 技術スタックは下記の通りです。 TypeScript React Bulma vite Bulma Storybook ESLint Prettier asdf Buttonコンポーネントを作る HTMLの <button /> に対してBulmaでデザイン装飾をしたり、イベントハンドリングを簡易に行えるようにします。 bulma.io まずは装飾のための型を定義します。 それぞれ、Bulmaでボタンの色・サイズを指定する時のclass名と一致させています。 type ButtonColo…
以前アルミのキートップを購入したことがあった。 もうすぐで2年。 kirintrop.hatenablog.jp購入元はこちら。 metalkeyboards.no確か半年くらい待って460ドル程。これを買ったからではないですが、キー配列は84キーに固定。 キースイッチの軽過重化や動作点を気にしだし、何種類か試し、そして飽きた。そのまま使い続けているし、普通に使う分には特に不満はない。左手デバイスとか、マクロキーとか。 気になるものはある。 横に並べるなら此方も金属にしてみたい。少し感じながらもASDFや矢印ぐらいしか売っていなかったりする。ところが・・・フルセットが意外と一杯あったのでメモ程…
ソースコード ステップ14 同じ変数を繰り返し使う 微分を累算して、同じ変数を使っても結果がおかしくならないようにする。 オリジナルのコードにある次のコード片をCommon Lispにどう翻訳するか少し悩んだ。そのままだと(@gradient x)という式があちこちに出てくるし、aops:vectorizeマクロで書けないのである。 if x.grad is None: x.grad = gx else: x.grad = x.grad + gx 解決策として、UIOPというライブラリで定義されたuiop:if-letというマクロを使うことにした。uiop:if-letは判定に使う値に名前を付…