Owletは、中学生と高校生が創造的な探索を通じてテクノロジースキルを学ぶために設計されたWebベースのセルフガイドアクティビティのコレクションです。これらのスライドは、プロジェクトの背後にある動機を説明しています。

Luminusバージョン2.9.11.68を使用して生成されました
lein run
lein figwheel
lein auto sassc once
http:// localhost:3000/
Java開発キットの最近のバージョンがあることを確認してください。そうでない場合は、Oracleダウンロードページからインストーラーをダウンロードしてください。最新バージョンのパネルの上部にある受信契約を選択し、プラットフォームのファイル名をクリックします。たとえば、 JDK-8U112-MACOSX-X64.DMG 。ダウンロードフォルダーに移動し、.dmgファイルを開き、指示に従ってください。確認するには、端末にjava -versionを入力します。次のようなものが表示されるはずです。
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b16, mixed mode)
バージョン(この場合は「112」)がダウンロードしたファイルと一致する方法に注意してください。
また、システムにインストールされているコマンドラインユーティリティgit 、 lein 、およびrlwrapも必要です。 Macでは、それらを取得する最も簡単な方法は、最初にHomeBrewをインストールし、次に端末コマンドラインにこれを実行することです。
brew install git leiningen rlwrap
最後に、SASSCコンパイラ
brew install sassc
ここで、オウレットコードをマシンにコピーするには、最初にOWLETディレクトリを希望する場所にcd 、次にこのリポジトリをクローンします。
git clone https://github.com/codefordenver/owlet.git
lsを行うと、新しいディレクトリ、 owlet表示されます。そこに行く:
cd owlet
このプロジェクトに取り組むために、本当に必要なのは、端末、ブラウザ、およびすべてのテキストエディターだけです。ただし、JetbrainのIntellijのアイデアで筆記体プラグインを使用することについては、多くのことが言われています。コードのさまざまな部分とその依存関係がどのように接続するかを理解しているため、コードリファクタリング、スマートコードの完了、ワンクリックナビゲーションへのナビゲーション、即座にドキュストリングを表示し、アリティとスペルエラーをキャッチすることができます。何よりも、箱から出して、コードについて知っているr ead- e valt - l op(repl)を実行できます。 REPLのコマンドラインでライブ、実行中のコードをすばやく実験し、REPLに小さな変更をロードし、名前空間を切り替えるか、ユニットテストを実行します。
Intellijのアイデアと筆記体を始めるには、筆記体インストールの指示に従ってください。次に、既存のLeiningenプロジェクト、つまりOwletをインポートします。
実行中のアプリに接続された筆記体のREPLを構成するには、実行/デバッグ構成を作成する必要があります。
Intellijを開き、メニュー項目の実行を選択します - >構成の編集...
左上にある+ボタンをクリックし、 Clojure Replを選択します。
リモートを選択します。
名前フィールドに名前を入力します(たとえば、 Owlet nRepl )。
ラジオボタンを選択してくださいLeiningen Replポートを使用します。
ボックスのチェックを外して、下部のツールウィンドウをアクティブにします。
[OK]ボタンをクリックして、REPL構成を保存します。
さて、端末でClojure nreplが開始されていると仮定すると(上記のアプリケーションの実行を参照)、いつでも筆記体から接続できます。
実行 - > run ...に移動し、[上記の「Owlet nrepl」と呼ばれるREPL Config(上記の「Owlet nrepl」)を選択します。新しい筆記体のリプルツールウィンドウが表示されます。 REPLウィンドウですぐにこれを見る必要があります:
Connecting to remote nREPL server...
Clojure 1.8.0
Clojure nreplに接続されているので、REPLツールウィンドウの下部にあるテキストボックスの次のClojureコードを評価して、ClojureScript Replを作成します。
(figwheel-sidecar.repl-api/cljs-repl)
この出力のようなものが表示されるはずです。
...
Prompt will show when Figwheel connects to your application
To quit, type: :cljs/quit
=> nil
今、私たちは同じFigheelサーバーに「ジャックイン」するだけなので、.cljsファイルを変更して保存すると、Figheelはそれを通知して自動的にリロードします。 REPLから、ライブアプリのコンテキストでコードを評価しているため、実行中にアプリを制御できます。さらに、次のような編集者と対話する筆記体のREPLツールにアクセスできます。
REPL nsを現在のファイルに切り替えます
REPLにファイルをロードします
CARETの前にフォームをREPLに送信します
REPLの現在のNSでテストを実行します
新しいREPLコマンドを追加します
たとえば、良いアイデアは、上記のcljs-replコードを評価するために独自のREPLコマンドを追加することです。 REPLウィンドウができたら、 [ツール] - > REPL-> [新しいREPLコマンドを追加]を選択します。コマンドに名前を付け、実行ボタンの実行ボタンを選択し、上記のように(figwheel-sidecar.repl-api/cljs-repl)を入力します。プロジェクト固有のチェックボックスを選択し、 OKを選択します。次に、簡単にアクセスできるように、 Intellijのアイデア - >設定... - > KeyMapで選択したキーボードショートカットを定義できます。
script/figwheel-repl.shを実行すると、Clojure nreplが実行されています。「ジャックイン」して別のClojure Replを取得できます。
script/figwheel-repl.shがまだ実行されていることを確認してください。
端末から、次のコマンドを実行します。
lein repl :connect
これで、プロンプト、 owlet.server=>を備えたClojure Replが必要です。
Cursiveと同様に、プロンプトに次のClojureコードを入力してください。
(figwheel-sidecar.repl-api/cljs-repl)
このような出力が表示されるはずです:
...
To quit, type: :cljs/quit
nil
cljs.user=>
少し追加のセットアップを使用すると、驚くべきDirac Devtoolsブラウザのデバッグ環境を使用してOwletで作業できます。まだフィクホイールでアプリを実行するため、変更されたファイルは引き続き自動的にコンパイルおよびロードされますが、ブラウザーリプルはDIRACで実行されます。ブラウザのDIRAC環境は、実際には、Chrome Devtoolsのカスタマイズされたフォークで構成されるChrome拡張機能であり、JavaScriptデバッグツールであるChromeに組み込まれています。ただし、Chrome Devtoolsの最新バージョンによってのみ提供される機能を使用しているため、Chromeのカナリアバージョンが必要です。
上記のscript/figwheel-repl.shプロセスが実行されている場合は、停止(control-d)。
デスクトップアプリケーションのGoogle Chrome Canaryをダウンロードしてインストールします。
あなたがそれを開いた場合、Chrome Canaryを終了します。
端末では、現在の作業ディレクトリがまだこのreadme.mdファイルを含むものであることを確認してください。
コマンドラインで、実行します
script/start-chrome-canary.sh
場所http:// localhost:3000/を備えた空のクロムウィンドウが表示されます。まだOwlet Serverを起動していないため、空です。
ちなみに、このコマンドは、DIRACでOwletで作業するときはいつでもブラウザを起動する必要がある方法です。以下を参照してください。
DIRAC DevTools拡張機能をインストールし、データへのアクセスを許可します。窓のアドレスバーの右側に小さな緑色のアイコンが表示されます。
上記のスクリプトでChrome Canaryを開始して以来、拡張機能は実際にはDirectory
.dirac-chrome-profile/に保存されます。そのため、インストールまたはいくつかの設定を変更しても、既存の設定や拡張機能は、クロームまたはクロムのカネのアイコンをダブルクリックすることで、既存の設定や拡張機能に影響を与えません。
Chrome CanaryとDirac Devtools拡張機能がOwlet Project Directoryにローカルにインストールされたので、Owletで使用してみましょう。
端末では、現在の作業ディレクトリがまだこのreadme.mdファイルを含むものであることを確認してください。
上記のように、Figheelでアプリを起動しますが、今回は--diracオプションを使用してください。
script/figwheel-repl.sh dirac
以下を見ると、NREPLが開始され、DIRACサーバーがブラウザクライアントを待っています。
...
owlet.server=>
Dirac Agent v0.8.8
Connected to nREPL server at nrepl://localhost:8230.
Agent is accepting connections at ws://localhost:8231.
Chrome Canaryがまだ実行されていない場合は、別のターミナルウィンドウで以下を実行して開始します。
script/start-chrome-canary.sh
これで、オウレットアプリがポップアップするウィンドウで実行されているのを見る必要があります。
この方法でChrome Canaryを起動したら、OwletアプリとREPLを再起動しても、開いたままにしておくことができます。いつものように、このページ(command-shift-r)を使用して、view-> forceを使用してアプリをきれいにリロードできます。
DIRAC DevToolsツールバーアイコンをクリックします。 DIRAC DevToolsコンソールウィンドウが表示されます。 ClojureScriptとJavaScript Repls(Control-、)の切り替えに関する指示に注意してください。エラーメッセージ「Cljs devtools:いくつかのカスタムフォーマッタはレンダリングされていません」を表示した場合は、表示 - > Forceこのページ(Command-shift-r)を強制します。
あなたはコマンドオプティオンIを入力する習慣があるかもしれませんが、しないでください!通常のChrome Devtoolsを開かないでください。
[コンソール]タブで素敵なREPLを試してみて、括弧が自動的にバランスされている方法を確認します。矢印キーはREPL履歴で上下します。タイプ化するとシンボルが完了します。
デバッガーも試してみてください。ソースコードがClojureScriptとコンパイルされるJavaScriptの両方であることを除いて、Chrome Devtoolsデバッガーのように機能します。 [ソース]タブで、トップにドリルダウン - > localhost:4000-> js/compiled-> out 、Owlet .cljsファイルをクリックしてから、アプリのGUIで何かをするときにヒットするブレークポイントを設定します。アプリがブレークポイントで停止したら、デバッガーのスコープセクションの現在の変数を見てください。次に、 [コンソール]タブに戻り、clojureScriptフォームをREPLに入力します。それらはブレークポイントのコンテキストで評価されます。 [履歴書]ボタンまたはキーF8をクリックして、アプリを続行します。
ディラックでは、筆記体をあきらめる必要はありません。上記のフィクホイールCLJS REPLに接続したように、DiRAC REPLに接続できます。
筆記体でREPLが実行されている場合は、ツールバーのXをクリックして停止します。
runに移動します - > run ...そして、上記で作成したREPL構成を選択します。
Connecting to remote nREPL server...
Clojure 1.8.0
さて、以前と同様に、Clojure nreplに接続されていますが、今回はDirac ClojureScript Replに接続します。 REPLツールウィンドウの下部にあるテキストボックスの次のClojureコードを評価します。
(dirac! :join)
この出力のようなものが表示されるはずです。
...
Your current nREPL session is a joined Dirac session (ClojureScript) which targets 'the most recent Dirac session'
...
To quit, type: :cljs/quit
=> nil
上記のように、新しいREPLコマンドを追加し、キーボードショートカットを定義して(dirac! :join)コマンドを入力することをお勧めします。
Figheel Replで行ったように、Dirac Replと接続できます。もちろん、最初にscript/figwheel-repl.sh diracがまだ実行されていることを確認し、最後のステップまで上記の指示に従ってください。代わりに、これを行います。
Cursiveと同様に、プロンプトに次のClojureコードを入力してください。
(dirac! :join)
このような出力が表示されるはずです:
...
To quit, type: :cljs/quit
nil
cljs.user=>
DIRAC ClojureScript REPLで式を評価すると、結果は、予想どおり、ターミナルまたは筆記体ウィンドウで=>後に表示されます。ただし、印刷された出力や例外スタックトレースなどの副作用は、DIRAC DevToolsコンソールにのみ表示されます。これは混乱を招く可能性があります。特に、印刷されたステートメントを挿入して何も見えない場合、または例外が表示されないために何かが壊れたことに気付かない場合! Dirac Devtoolsコンソールを見る必要があります。コンソールは、入力した表現、結果、および印刷された副作用を反映します。 Chrome Canaryを近くに置いておくと、Dirac Devtoolsウィンドウを手元に置いてください。
ISCライセンス
デンバーと貢献者の著作権(c)コード
上記の著作権通知とこの許可通知がすべてのコピーに表示されている場合、このソフトウェアを使用、コピー、修正、および/または配布する許可は、これにより付与されます。
ソフトウェアは「現状のまま」提供され、著者は、商人性とフィットネスのすべての暗黙の保証を含む、このソフトウェアに関するすべての保証を否認します。いかなる場合でも、著者は、このソフトウェアの使用またはパフォーマンスに起因する、またはその他のパフォーマンスに関連する契約、過失、またはその他の不法行為の行動にかかわらず、使用、データ、または利益の損失から生じる特別、直接、間接、または結果的な損害または損害に対して責任を負いません。