SlideShare a Scribd company logo
1 of 19
Download to read offline
mise いいよ mise
2024-02-27 / 完全に理解した Talk / morishin
趣味とか
● 🎮 フォートナイト
● 🎲 ボードゲーム
● 🧗 ボルダリング
● 🍝 イタリア料理
● 🍷 赤ワイン
ロール
Front-end Engineer
TypeScript で React SPA
を書いている
所属組織
(株) Magic Moment
営業組織のための SaaS
"Playbook" を開発・販売
するスタートアップ
おまえだれよ
morishin
今日話すこと
1
言語管理の課題
2
mise の紹介
3
どう使うか
今日話すこと
1
言語管理の課題
2
mise の紹介
3
どう使うか
事前に会社でとったアンケート
言語のバージョンを切り替えることは結構ある
プロジェクトでは
Python@3.11
を使っている
󰢧
Vercel Function は
Python@3.9
がデフォルトだなぁ
🤦
プライベートでは
Python@3.12
を使いたい
󰢨
(各) 言語のバージョン管理ツールによる解決策
↓
pyenv
↓
goenv
↓
nvm
(各) 言語のバージョン管理ツールによる解決策
↓
pyenv
↓
goenv
↓
nvm
課題
● 各言語ごとにインストールする手間がかかる
● 使用感・操作感がツールごとに異なる
● どのツールを入れたか分からなくなる
(nvm? n? nodebrew?)
マルチランタイムバージョン管理ツールの台頭
● 草分け的存在
● シンプルな構造
● 動作が遅い
● 言語対応不足
● さらに高速動作
● 高い操作性
● 更新が早い
● ググラビリティ
が低い
● 開発が活発
● 動作が軽快
● やや複雑な機構
● 更新がやや遅い
...らしい
?
最終的には個人の好みなので、特定のツール利用者を下す意図はありません
マルチランタイムバージョン管理ツールの台頭
● 草分け的存在
● シンプルな構造
● 動作が遅い
● 言語対応不足
● さらに高速動作
● 高い操作性
● 更新が早い
● ググラビリティ
が低い
● 開発が活発
● 動作が軽快
● やや複雑な機構
● 更新がやや遅い
...らしい
mise
最終的には個人の好みなので、特定のツール利用者を下す意図はありません
今日話すこと
1
言語管理の課題
2
mise の紹介
3
どう使うか
mise(旧 rtx)
読みは "MEEZ" (ミーズ)
フランス語の "mise en place" (下ごしらえ) が由来
https://mise.jdx.dev/
Task
● タスクランナーとしても使
える (実験的機能)
Environment
● 環境変数の設定ができる
● dotenv や direnv の代替
になりえる
mise の特徴とできること
Polyglot
● 各言語・ツールをバージョ
ンごとに管理できる
● いわゆるマルチラン
タイムバージョン管理
Speedy
● asdf よりもさらに動作が
高速 (らしい)
● 最新バージョンへの更新対
応が早い (らしい)
Useful
● インストールが簡単
● CLI が親切で分かりやすい
● シンプルな機構
Compatible
● 既存の類似ツールとの
互換性が高い
● .tool-versions や direnv
と共存・共生
DEMO
ドキュメント紹介 / mise インストール / 言語のインストール / バージョン
切り替え (global & local) / .mise.toml の紹介 / 環境変数 / タスクランナー
Task
● タスクランナーとしても使
える (実験的機能)
Environment
● 環境変数の設定ができる
● dotenv や direnv の代替
になりえる
mise の特徴とできること (再掲)
Polyglot
● 各言語・ツールをバージョ
ンごとに管理できる
● いわゆるマルチラン
タイムバージョン管理
Speedy
● asdf よりもさらに動作が
高速 (らしい)
● 最新バージョンへの更新対
応が早い (らしい)
Useful
● インストールが簡単
● CLI が親切で分かりやすい
● シンプルな機構
Compatible
● 既存の類似ツールとの
互換性が高い
● .tool-versions や direnv
と共存・共生
今日話すこと
1
言語管理の課題
2
mise の紹介
3
どう使うか
言語のバージョン管理
のみにとどめる
● mise は言語以外の、
例えば ffmpeg や jq と
いったツールも導入でき
てしまう
● 言語と異なり、それらの
ツールは最新版だけを
使っておけば基本的に
問題ない
mise をどう使うか
各リポジトリに
.mise.toml を導入する
● ドキュメント等による
伝聞・周知ではなく、
仕組みによって言語の
バージョンを固定する
● .node-version や
.tool-versions を使って
いる場合はそのままでも
オンボーディング時の
環境構築に利用する
● 各人好みのツールで言語
をインストールしたり
環境を構築したりしがち
● 逆に、不慣れな人は
バージョン管理ツールを
使わず、後で苦労したり
大人しく brew で管理
するのが良い
mise をデフォルトとして各
ドキュメントを用意しておく
.mise.toml の方が
統一感はあるよね
言語のバージョン管理
のみにとどめる
● mise は言語以外の、
例えば ffmpeg や jq と
いったツールも導入でき
てしまう
● 言語と異なり、それらの
ツールは最新版だけを
使っておけば基本的に
問題ない
● 大人しく brew で管理
するのが良い
mise をどう使うか
各リポジトリに
.mise.toml を導入する
● ドキュメント等による
伝聞・周知ではなく、
仕組みによって言語の
バージョンを固定する
● 今でも一部のリポジトリ
では .node-version ファ
イルが導入されている
● .mise.toml (あるいは
.tool-versions) の方が
統一感はある
オンボーディング時の
環境構築に利用する
● 今は各人好みのツールで
node 入れてね、という
スタンス
● 不慣れな人にとっては
混乱のもとだったりする
● mise をデフォルトの
ツールとして各ドキュ
メントを用意しておく
「こんな使い方もできそう」
「いや、それはちょっと...」
など、色々ご意見下さい!
Fin.
Ask me anything.

More Related Content

Similar to 20240227 完全に理解した LT 「mise いいよ mise」 / morishin

密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境Fumihito Yokoyama
 
SEゼミ2015 - リーダブルコード勉強会のまとめ
SEゼミ2015 - リーダブルコード勉強会のまとめSEゼミ2015 - リーダブルコード勉強会のまとめ
SEゼミ2015 - リーダブルコード勉強会のまとめKouhei Sutou
 
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022Takayuki Shimizukawa
 
Windows8のクライアントHyper-V入門(.NETラボ勉強会 2013/6/22 日本マイクロソフト)
Windows8のクライアントHyper-V入門(.NETラボ勉強会 2013/6/22 日本マイクロソフト)Windows8のクライアントHyper-V入門(.NETラボ勉強会 2013/6/22 日本マイクロソフト)
Windows8のクライアントHyper-V入門(.NETラボ勉強会 2013/6/22 日本マイクロソフト)Tomokazu Kizawa
 
WordPress 3.8 RC1
WordPress 3.8 RC1WordPress 3.8 RC1
WordPress 3.8 RC1BREN
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版DIVE INTO CODE Corp.
 
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRubyKanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRubyShinichi Okada
 
20140921 アトリエ秋葉原 開発ワークショップ_v10
20140921 アトリエ秋葉原 開発ワークショップ_v1020140921 アトリエ秋葉原 開発ワークショップ_v10
20140921 アトリエ秋葉原 開発ワークショップ_v10Atelier Akihabara
 
TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」
TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」
TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」(株)TAM
 
Creative flow: ソフトウェアローカリゼーションのワークフローと今後
Creative flow: ソフトウェアローカリゼーションのワークフローと今後 Creative flow: ソフトウェアローカリゼーションのワークフローと今後
Creative flow: ソフトウェアローカリゼーションのワークフローと今後 Self Employed
 
IGDA 日本 SIG-GLOCALIZATION GDC2012報告会
IGDA 日本 SIG-GLOCALIZATION GDC2012報告会IGDA 日本 SIG-GLOCALIZATION GDC2012報告会
IGDA 日本 SIG-GLOCALIZATION GDC2012報告会Self Employed
 
PowerPoint Presentation Translator
PowerPoint Presentation TranslatorPowerPoint Presentation Translator
PowerPoint Presentation TranslatorTomokazu Kizawa
 
OSC@京都 2011-07-15
OSC@京都 2011-07-15OSC@京都 2011-07-15
OSC@京都 2011-07-15Hiroshi Bunya
 
会話型UI事始め
会話型UI事始め会話型UI事始め
会話型UI事始めDeNA
 
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)parrotstudio
 
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Developmentアジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile DevelopmentGo2GroupJapan
 
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)mametter
 

Similar to 20240227 完全に理解した LT 「mise いいよ mise」 / morishin (20)

Herlockサービス紹介
Herlockサービス紹介Herlockサービス紹介
Herlockサービス紹介
 
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
 
SEゼミ2015 - リーダブルコード勉強会のまとめ
SEゼミ2015 - リーダブルコード勉強会のまとめSEゼミ2015 - リーダブルコード勉強会のまとめ
SEゼミ2015 - リーダブルコード勉強会のまとめ
 
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
 
Windows8のクライアントHyper-V入門(.NETラボ勉強会 2013/6/22 日本マイクロソフト)
Windows8のクライアントHyper-V入門(.NETラボ勉強会 2013/6/22 日本マイクロソフト)Windows8のクライアントHyper-V入門(.NETラボ勉強会 2013/6/22 日本マイクロソフト)
Windows8のクライアントHyper-V入門(.NETラボ勉強会 2013/6/22 日本マイクロソフト)
 
WordPress 3.8 RC1
WordPress 3.8 RC1WordPress 3.8 RC1
WordPress 3.8 RC1
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
 
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRubyKanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
 
20140921 アトリエ秋葉原 開発ワークショップ_v10
20140921 アトリエ秋葉原 開発ワークショップ_v1020140921 アトリエ秋葉原 開発ワークショップ_v10
20140921 アトリエ秋葉原 開発ワークショップ_v10
 
TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」
TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」
TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」
 
Nishimotz osc2011oct-v2
Nishimotz osc2011oct-v2Nishimotz osc2011oct-v2
Nishimotz osc2011oct-v2
 
Creative flow: ソフトウェアローカリゼーションのワークフローと今後
Creative flow: ソフトウェアローカリゼーションのワークフローと今後 Creative flow: ソフトウェアローカリゼーションのワークフローと今後
Creative flow: ソフトウェアローカリゼーションのワークフローと今後
 
IGDA 日本 SIG-GLOCALIZATION GDC2012報告会
IGDA 日本 SIG-GLOCALIZATION GDC2012報告会IGDA 日本 SIG-GLOCALIZATION GDC2012報告会
IGDA 日本 SIG-GLOCALIZATION GDC2012報告会
 
PowerPoint Presentation Translator
PowerPoint Presentation TranslatorPowerPoint Presentation Translator
PowerPoint Presentation Translator
 
OSC@京都 2011-07-15
OSC@京都 2011-07-15OSC@京都 2011-07-15
OSC@京都 2011-07-15
 
OSC Kansai@Kyoto
OSC Kansai@KyotoOSC Kansai@Kyoto
OSC Kansai@Kyoto
 
会話型UI事始め
会話型UI事始め会話型UI事始め
会話型UI事始め
 
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
 
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Developmentアジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
 
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
 

More from Makoto Mori

エンジニアの気持ちを完全に理解してくれている Cypress Cloud
エンジニアの気持ちを完全に理解してくれている Cypress Cloudエンジニアの気持ちを完全に理解してくれている Cypress Cloud
エンジニアの気持ちを完全に理解してくれている Cypress CloudMakoto Mori
 
20230228 React Tech Night TOKYO #3
20230228 React Tech Night TOKYO #320230228 React Tech Night TOKYO #3
20230228 React Tech Night TOKYO #3Makoto Mori
 
20190623_SPAJAM2019_Sendai
20190623_SPAJAM2019_Sendai20190623_SPAJAM2019_Sendai
20190623_SPAJAM2019_SendaiMakoto Mori
 
20190118_NetadashiMeetup#8_React2019
20190118_NetadashiMeetup#8_React201920190118_NetadashiMeetup#8_React2019
20190118_NetadashiMeetup#8_React2019Makoto Mori
 
20180908_OSSDevCamp2018
20180908_OSSDevCamp201820180908_OSSDevCamp2018
20180908_OSSDevCamp2018Makoto Mori
 
20170417_Netadashi_KubeCon
20170417_Netadashi_KubeCon20170417_Netadashi_KubeCon
20170417_Netadashi_KubeConMakoto Mori
 
20171004_CEATEC2017_DesignThinking
20171004_CEATEC2017_DesignThinking20171004_CEATEC2017_DesignThinking
20171004_CEATEC2017_DesignThinkingMakoto Mori
 

More from Makoto Mori (7)

エンジニアの気持ちを完全に理解してくれている Cypress Cloud
エンジニアの気持ちを完全に理解してくれている Cypress Cloudエンジニアの気持ちを完全に理解してくれている Cypress Cloud
エンジニアの気持ちを完全に理解してくれている Cypress Cloud
 
20230228 React Tech Night TOKYO #3
20230228 React Tech Night TOKYO #320230228 React Tech Night TOKYO #3
20230228 React Tech Night TOKYO #3
 
20190623_SPAJAM2019_Sendai
20190623_SPAJAM2019_Sendai20190623_SPAJAM2019_Sendai
20190623_SPAJAM2019_Sendai
 
20190118_NetadashiMeetup#8_React2019
20190118_NetadashiMeetup#8_React201920190118_NetadashiMeetup#8_React2019
20190118_NetadashiMeetup#8_React2019
 
20180908_OSSDevCamp2018
20180908_OSSDevCamp201820180908_OSSDevCamp2018
20180908_OSSDevCamp2018
 
20170417_Netadashi_KubeCon
20170417_Netadashi_KubeCon20170417_Netadashi_KubeCon
20170417_Netadashi_KubeCon
 
20171004_CEATEC2017_DesignThinking
20171004_CEATEC2017_DesignThinking20171004_CEATEC2017_DesignThinking
20171004_CEATEC2017_DesignThinking
 

Recently uploaded

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 

Recently uploaded (9)

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 

20240227 完全に理解した LT 「mise いいよ mise」 / morishin