Another System Definition Facility
Common Lispにとってのmake、そしてCPAN, RubyGemsなどに相当するアドオン*1管理システム。repl内で
(asdf-install:install アドオン名)
とすることでコンパイル→インストールできる。楽チンである。
*1:パッケージと言いたいところだが、Common Lispのパッケージは名前空間を分離するシステムなので…
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回はこちら。
結論から書くと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 ツールです。 プ…
asdfのセットアップ 1. Dependenciesのインストール 2. asdfのインストール 3. Flutterプラグインをインストール Flutterのインストール 各種設定のチェック fvmを使ってもよいんですが、開発言語ごとにバージョン管理ツールが増えるのは面倒なので、個人的に好きな各言語の管理プラグインが提供されている asdf を使いたいと思います。 asdfのセットアップ 公式のGetting Startedに従って作業します。(今回はbrewを使ってasdfを入れます。) ※asdfについて asdf-vm.com ※brewについて brew.sh 1. Depende…
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をシェルに統合するためのコマン…
クオカードでは、ソフトウェアエンジニアの採用プロセスの一環としてコーディングテストを実施しています。候補者の皆様には貴重な時間を割いて取り組んでいただくことになるため、十分な準備をしていただけるようにテストの内容と評価の観点を事前に公開することにしました。テストの目的を損なうことなく、候補者が必要とするスキルを身につけられる機会を提供したいと考えています。 コーディングテストの内容 現時点でのコーディングテストは、Kotlin、Spring Boot、jOOQを使用した書籍管理システムの構築をお願いしています。具体的には、以下の機能を実装していただきます。期限は2週間です。 書籍には著者の属性…
引き続き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は判定に使う値に名前を付…
2015年から使っていたサブPCを新調しました。データ用のHDD/SSD とビデオカード以外全部替えたのでほぼ丸ごと新調ということになります。 旧PC 新PC CPU Core i5-6600 (4C4T/3.3GHz) Ryzen 5 8600G (6C12T/4.3GHz) MB ASUS Z170-K ASRock B650 Pro RS MEM 16GB (DDR4 2400MHz) 64GB (DDR5 4800MHz) SSD Samsung SSD 850 EVO (500GB) Crucial P3 Plus (2TB) VIDEO GeForce RTX 3060 Ti AE…
引き続きComponentライブラリを作っていきます。 yushi-dev.hatenablog.com 技術スタックは下記の通りです。 TypeScript React Bulma vite Bulma Storybook ESLint Prettier asdf Prettier・CIの導入 プロジェクトを作ったらとりあえずPrettierを入れておきます。 npm i -D prettier prettierの設定ファイルを導入します。 semi: false singleQuote: true package.json に登録します。 "scripts": { "prettier": …
はじめに こんにちは、LANSCOPEセキュリティーオーディター開発チームの菊森です。 最近サービスレベルの向上に向けた取り組みの一環で運用監視ツールをElixirで書きました。 今回、企画からリリースまでの一連の過程で考えたことや工夫したことをご紹介したいと思います。 また、役に立ったElixirの機能についても合わせてご紹介していきます。 はじめに なぜやったか なにをやったか どうやったか 概要 前提となる各技術要素のバージョン ビジュアルの設計 CLIの設計 プロジェクトの作成 プロジェクトのディレクトリ・ファイル構成 プロジェクトの設定 ドメインオブジェクトの実装 コアプログラムの実…
Could not populate the outline view: Error: error running "~/go/bin/ginkgo outline --format=json -" (error code ENOENT) Ginkgo executable already installed. ;) VSCode の Setting にて以下のように フルパス で指定すること。 "ginkgotestexplorer.ginkgoPath": "/Users/xxxx/go/bin/ginkgo", "ginkgotools.ginkgoPath": "/Users/xxx/…
引き続きComponentライブラリを作っていきます。 yushi-dev.hatenablog.com TypeScriptとReactベースで、CSSはBulmaを利用します。 下記のツール等を利用します。 TypeScript React Bulma vite Storybook ESLint Prettier asdf Storybookの導入 下記のコマンドを実行します。 npx storybook@latest init 依存ライブラリが導入されます。 @storybook/addon-essentials @storybook/addon-interactions @storyb…