SlideShare a Scribd company logo
1 of 21
Download to read offline
REPLライフをもっと快適に!
∼Stuart SierraのClojureワークフローの紹介∼
Clojure夜会 2014/10/10
@athos0220
REPL!
使ってますか?
user=>
評価
入力した式の結果がすぐ確認できる!
高速なフィードバックループ
Check
user=>
(ns example)
(defn fib [x]
...)
Edit
評価
Check
user=>
(ns example)
(defn fib [x]
...)
Edit
評価
ロード!
or!
リロード
Check
user=>
(ns example)
(defn fib [x]
...)
Edit
評価
修正!
or !
次のステップへ
ロード!
or!
リロード
Check
user=>
(ns example)
(defn fib [x]
...)
Edit
評価
修正!
or !
次のステップへ
ロード!
or!
リロード
失敗
Check
user=>
(ns example)
(defn fib [x]
...)
Edit
修正・確認のフィードバックループを高速に!
回すにはリロードが重要!
評価
修正!
or !
次のステップへ
ロード!
or!
リロード
失敗
リロードにまつわる問題
• プロトコルやマルチメソッド、マクロ等に対する
変更が正しく反映されない
• 名前空間のロード順に制約がある場合に、制約
を満たさない順でロードが実行される
• 通信コネクションの切断・接続やスレッドの停
止・開始等が正しく実行されない
これらを解決するには!
ツールのサポートと設計の工夫が必要
快適なREPLライフへの3ステップ
• tools.namespaceを使おう
• user.cljを作ろう
• コンポーネント単位でシステムを作ろう
tools.namespaceを使おう
• 名前空間の依存関係を解析して適切な順番でロードし直す
• リロードによって不整合が起こらないようにしてくれる
• 平たくいえば (require … :reload) の強化版
A!
B!
A’!
!
C
A’!
B!
C
(require … :reload)
A!
B!
A’!
!
C
A’!
!
C
tools.namespace
例
tools.namespaceを使おう
• 依存ライブラリとして以下を追加(2014/10現在)
!
• (require … :reload) の代わりに (refresh) を使う
!
!
[org.clojure/tools.namespace “0.2.7”]
user=> (require ‘[clojure.tools.namespace.repl :refer [refresh]])	
nil	
user=> (refresh)	
:reloading (reacta.script reacta.scripts.hello)	
:ok	
user=>
user.cljを作ろう
• tools.namespaceはリロード毎に名前空間を作り
直すので…
• REPLで定義した変数・関数が消える
• REPLでrequireした名前空間も見えなくなる
• REPLがクラスパス中のuser.cljを自動で読み込む
ことを利用して、そこに必要なものを定義
user.cljを作ろう
• (準備) :devプロファイルでのみ有効になるパスを作る
• リリース版JARファイルにuser.cljが含まれないように
(defproject foobar "0.1.0-SNAPSHOT"	
:description "TODO"	
:url "TODO"	
:license {:name "TODO: Choose a license"	
:url "http://choosealicense.com/"}	
:dependencies [[org.clojure/clojure "1.6.0"]]	
:profiles {:dev {:dependencies [[org.clojure/tools.namespace
"0.2.7"]]	
:source-paths ["dev"]}})
(ns user	
(:require [clojure.tools.namespace.repl :refer [refresh]]	
[clojure.repl :refer :all]	
[clojure.pprint :refer [pp pprint]]	
[foobar.core :refer :all]))	
!
(def system nil)	
!
(defn init [] (alter-var-root #’system (システム初期化)))	
!
(defn start [] (alter-var-root #'system (システムスタート)))	
!
(defn stop [] (alter-var-root #'system (システムストップ)))	
!
(defn go []	
(init)	
(start))	
!
(defn reset []	
(stop)	
(refresh :after 'user/go))
dev/user.cljの例
コンポーネント単位でシステムを作ろう
• Componentライブラリ
• システムを“コンポーネント”に分割
• コンポーネント=状態を共有する関数群
• DBアクセス、外部サービス、atomやref, etc.
• コンポーネントの起動・停止方法を提供し、依存
関係を考慮した順序で呼び出す
コンポーネント単位でシステムを作ろう
System
DB
Users!
API
Email!
Service
Queue!
Service
コンポーネント単位でシステムを作ろう
(ns example.db	
(:require [com.stuartsierra.component :as comp] …))	
!
(defrecord Database [host port conn]	
comp/Lifecycle	
(start [component]	
(assoc component :conn (db/connect host port)))	
(stop [component]	
(.close conn)	
component))
コンポーネントに関する副作用は!
start/stopメソッド内にまとめる
コンポーネント単位でシステムを作ろう
(ns example.core	
(:require [com.stuartsierra.component :as comp] …))	
!
(defn new-system [config]	
(let [{:keys [host port]} (:db config)]	
(comp/system-map	
:database (database host port)	
:queue-service (queue-service …)	
:email-service (email-service …)	
:users-api (comp/using	
(users-api)	
[:database :email-service]))))
コンポーネント間の依存関係をデータで表現!
Componentが依存関係を考えて各コンポーネントを起動・停止
まとめ
• 動的に変更を取り込むのは動的言語の醍醐味
• 各ステップを単独で導入するだけでも効果あり
• 高速なフィードバックループを実現し、快適な
REPLライフを!
参考文献
• My Clojure Workflow, Reloaded
• Clojure in the Large [InfoQ]
• tools.namespace [GitHub]
• Component Library [GitHub]

More Related Content

Viewers also liked

イマドキのExcelスクショの撮り方
イマドキのExcelスクショの撮り方イマドキのExcelスクショの撮り方
イマドキのExcelスクショの撮り方Yoshitaka Kawashima
 
Use Video to Communicate
Use Video to CommunicateUse Video to Communicate
Use Video to Communicatee mixon
 
ClojureではじめるSTM入門
ClojureではじめるSTM入門ClojureではじめるSTM入門
ClojureではじめるSTM入門sohta
 
AndroidでScalaを使う際の問題点と対策
AndroidでScalaを使う際の問題点と対策AndroidでScalaを使う際の問題点と対策
AndroidでScalaを使う際の問題点と対策Mogi Isamu
 
AndroidStudioとGradleを利用したScala言語によるAndroidアプリの開発
AndroidStudioとGradleを利用したScala言語によるAndroidアプリの開発AndroidStudioとGradleを利用したScala言語によるAndroidアプリの開発
AndroidStudioとGradleを利用したScala言語によるAndroidアプリの開発Mogi Isamu
 
React系(別言語含む)の サーバーサイドレンダリング について考えよう
React系(別言語含む)の サーバーサイドレンダリング について考えようReact系(別言語含む)の サーバーサイドレンダリング について考えよう
React系(別言語含む)の サーバーサイドレンダリング について考えようKazuhiro Hara
 
はてなブックマークに基づく関連記事レコメンドエンジンの開発
はてなブックマークに基づく関連記事レコメンドエンジンの開発はてなブックマークに基づく関連記事レコメンドエンジンの開発
はてなブックマークに基づく関連記事レコメンドエンジンの開発Shunsuke Kozawa
 
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57Toshiaki Maki
 
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
渋谷JVM#1 Immutable時代のプログラミング言語 ClojureYoshitaka Kawashima
 
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LTGazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LTMasahiro Nagano
 
Aerospike on IDCF Cloud
Aerospike on IDCF CloudAerospike on IDCF Cloud
Aerospike on IDCF CloudIDC Frontier
 
Mackerel & Norikra mackerel meetup #4 LT
Mackerel & Norikra mackerel meetup #4 LTMackerel & Norikra mackerel meetup #4 LT
Mackerel & Norikra mackerel meetup #4 LTMasahiro Nagano
 
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LTNorikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LTMasahiro Nagano
 
Big Master Data PHP BLT #1
Big Master Data PHP BLT #1Big Master Data PHP BLT #1
Big Master Data PHP BLT #1Masahiro Nagano
 
Rhebok, High Performance Rack Handler / Rubykaigi 2015
Rhebok, High Performance Rack Handler / Rubykaigi 2015Rhebok, High Performance Rack Handler / Rubykaigi 2015
Rhebok, High Performance Rack Handler / Rubykaigi 2015Masahiro Nagano
 
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月Masahiro Nagano
 
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状について
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状についてClojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状について
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状についてKazuhiro Hara
 
JobStreamerではじめるJavaBatchのクラウド分散実行
JobStreamerではじめるJavaBatchのクラウド分散実行JobStreamerではじめるJavaBatchのクラウド分散実行
JobStreamerではじめるJavaBatchのクラウド分散実行Yoshitaka Kawashima
 

Viewers also liked (20)

イマドキのExcelスクショの撮り方
イマドキのExcelスクショの撮り方イマドキのExcelスクショの撮り方
イマドキのExcelスクショの撮り方
 
Who moved my cheese
Who moved my cheeseWho moved my cheese
Who moved my cheese
 
Use Video to Communicate
Use Video to CommunicateUse Video to Communicate
Use Video to Communicate
 
ClojureではじめるSTM入門
ClojureではじめるSTM入門ClojureではじめるSTM入門
ClojureではじめるSTM入門
 
AndroidでScalaを使う際の問題点と対策
AndroidでScalaを使う際の問題点と対策AndroidでScalaを使う際の問題点と対策
AndroidでScalaを使う際の問題点と対策
 
AndroidStudioとGradleを利用したScala言語によるAndroidアプリの開発
AndroidStudioとGradleを利用したScala言語によるAndroidアプリの開発AndroidStudioとGradleを利用したScala言語によるAndroidアプリの開発
AndroidStudioとGradleを利用したScala言語によるAndroidアプリの開発
 
React系(別言語含む)の サーバーサイドレンダリング について考えよう
React系(別言語含む)の サーバーサイドレンダリング について考えようReact系(別言語含む)の サーバーサイドレンダリング について考えよう
React系(別言語含む)の サーバーサイドレンダリング について考えよう
 
はてなブックマークに基づく関連記事レコメンドエンジンの開発
はてなブックマークに基づく関連記事レコメンドエンジンの開発はてなブックマークに基づく関連記事レコメンドエンジンの開発
はてなブックマークに基づく関連記事レコメンドエンジンの開発
 
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
 
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
 
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LTGazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
 
Aerospike on IDCF Cloud
Aerospike on IDCF CloudAerospike on IDCF Cloud
Aerospike on IDCF Cloud
 
Mackerel & Norikra mackerel meetup #4 LT
Mackerel & Norikra mackerel meetup #4 LTMackerel & Norikra mackerel meetup #4 LT
Mackerel & Norikra mackerel meetup #4 LT
 
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LTNorikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
 
Big Master Data PHP BLT #1
Big Master Data PHP BLT #1Big Master Data PHP BLT #1
Big Master Data PHP BLT #1
 
Rhebok, High Performance Rack Handler / Rubykaigi 2015
Rhebok, High Performance Rack Handler / Rubykaigi 2015Rhebok, High Performance Rack Handler / Rubykaigi 2015
Rhebok, High Performance Rack Handler / Rubykaigi 2015
 
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
 
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状について
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状についてClojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状について
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状について
 
JobStreamerではじめるJavaBatchのクラウド分散実行
JobStreamerではじめるJavaBatchのクラウド分散実行JobStreamerではじめるJavaBatchのクラウド分散実行
JobStreamerではじめるJavaBatchのクラウド分散実行
 
キメるClojure
キメるClojureキメるClojure
キメるClojure
 

More from sohta

入門Transducers
入門Transducers入門Transducers
入門Transducerssohta
 
Clojure Language Update (2015)
Clojure Language Update (2015)Clojure Language Update (2015)
Clojure Language Update (2015)sohta
 
入門ClojureScript
入門ClojureScript入門ClojureScript
入門ClojureScriptsohta
 
入門core.async
入門core.async入門core.async
入門core.asyncsohta
 
genuine-highlighter: マクロを認識するClojure向けのシンタックスハイライター
genuine-highlighter: マクロを認識するClojure向けのシンタックスハイライターgenuine-highlighter: マクロを認識するClojure向けのシンタックスハイライター
genuine-highlighter: マクロを認識するClojure向けのシンタックスハイライターsohta
 
Macros in Clojure
Macros in ClojureMacros in Clojure
Macros in Clojuresohta
 
Clojureによるバイトコードプログラミング
ClojureによるバイトコードプログラミングClojureによるバイトコードプログラミング
Clojureによるバイトコードプログラミングsohta
 

More from sohta (7)

入門Transducers
入門Transducers入門Transducers
入門Transducers
 
Clojure Language Update (2015)
Clojure Language Update (2015)Clojure Language Update (2015)
Clojure Language Update (2015)
 
入門ClojureScript
入門ClojureScript入門ClojureScript
入門ClojureScript
 
入門core.async
入門core.async入門core.async
入門core.async
 
genuine-highlighter: マクロを認識するClojure向けのシンタックスハイライター
genuine-highlighter: マクロを認識するClojure向けのシンタックスハイライターgenuine-highlighter: マクロを認識するClojure向けのシンタックスハイライター
genuine-highlighter: マクロを認識するClojure向けのシンタックスハイライター
 
Macros in Clojure
Macros in ClojureMacros in Clojure
Macros in Clojure
 
Clojureによるバイトコードプログラミング
ClojureによるバイトコードプログラミングClojureによるバイトコードプログラミング
Clojureによるバイトコードプログラミング
 

Recently uploaded

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
論文紹介: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
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介: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
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
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
 
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
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介: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
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Recently uploaded (12)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
論文紹介: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...
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介: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
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
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
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介: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
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

REPLライフをもっと快適に