Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

read-eval-print: コンソールの開き方について #85

Closed
6 tasks
azu opened this issue Jul 10, 2016 · 8 comments · Fixed by #545
Closed
6 tasks

read-eval-print: コンソールの開き方について #85

azu opened this issue Jul 10, 2016 · 8 comments · Fixed by #545
Assignees

Comments

@azu
Copy link
Collaborator

azu commented Jul 10, 2016

コンソールへの表示方法を扱っているが、開き方については書かれてない
ここで開き方について簡単に触れる。
(変数宣言より前に持って行ったほうが楽かも)

やること

  • index.htmlと<script>を使っての実行(ブラウザ(推奨はFirefox)を使ったコンソールの開き方と実行)
    - index.htmlにscriptタグを書いて、コンソール実行。リロード方式
    - script のtypeなしで書く
  • 実際に実行したときの表示の読み方
  • VSCodeコラム
  • 構文エラーがでた例 と エラーのふりがな
  • 実行時エラーがでた例と エラーのふりがな
  • その他のリンク
    - CodeSandboxとか設定方法へのリンクをまとめたもの

関連

@lacolaco
Copy link
Collaborator

こちらでまとめられたら、ユースケース側からはread-eval-print節への参照で済ませられそう

@azu
Copy link
Collaborator Author

azu commented Jul 31, 2016

250 2016-07-31 23-11-12

Mastering JavaScriptはchapter 1のREPLの話のところで、エラー表示の話もしてた。
話的に自然なので、 #102 (comment) の話をここに書くといいのかも。

後ウェブ版はコンソールがあるので、#56 これを使った解説と分岐が必要になるかなー
(GItBookで一応分けられる)

@azu
Copy link
Collaborator Author

azu commented Jan 1, 2018

image

http://refactoringjs.com/
リファクタリングJavaScriptで見たこのテクニックはここに入れたいかも。
REPLでこういうの打ってみましょうって感じにして、もしエラーがでたら古いバージョンのものを使ってるかもしれないよっていう注記を入れる感じの
(ここか、最初にそういう機能が出てくるところ)

@azu
Copy link
Collaborator Author

azu commented Jun 23, 2018

image

かんたん Rubyを読んで、デバッグの概念についても触れられていて、エラーを次の2つに分けていた

  • 構文エラーがでた例 と エラーの読み方
  • 実行時エラーがでた例と エラーの読み方

これ最初にあると分かりやすいので、
スラスラ読める JavaScriptふりがなプログラミングも参考にしてエラーを見る部分も入れたい。

@azu
Copy link
Collaborator Author

azu commented Jun 23, 2018

スクラッチパッドを使う予定という話を #2 をしていたけど、コンソールへの出力結果が見られないので、微妙に不便。

  • コンソールを使う
  • スクラッチパッドを使う
  • Node.jsを使う
  • CodeSandbox のようなものを使う
  • js-primerのサイト上にREPLを用意する

どの辺にするかを改めて考えたい感じがする。

コンソールとスクラッチパッドは見ているサイトの影響を受けるので、どちらにしても指定した場所への案内が必要になるのではという感じがしている。
ChromeのEager Evaluationもあるしゅ魅力的な選択肢でもあるので考慮したい

@azu
Copy link
Collaborator Author

azu commented Jun 24, 2018

js-primerのサイト上にREPLを用意する

eloquentjavascriptはこのスタイルだった
https://eloquentjavascript.net/2nd_edition/code/
http://eloquentjavascript.net/code/

@azu
Copy link
Collaborator Author

azu commented Jun 29, 2018

#492 で以下みたいな感じにすることにした。

  • index.html + コンソール
    • index.htmlにscriptタグを書いて、コンソール実行。リロード方式
    • ファイルを分けて読み込む方法
  • エディタ
  • その他のリンク?
    • CodeSandboxとか設定方法へのリンクをまとめたもの?

file:/// だけど ajaxとかmoduleとか必要にならなければOK

@azu
Copy link
Collaborator Author

azu commented Sep 27, 2018

@azu azu closed this as completed in #545 Oct 23, 2018
azu added a commit that referenced this issue Oct 23, 2018
# コードの評価と結果の表示

目的: ブラウザでのコード評価方法、Console APIの使い方、構文エラーとデバッグについて学ぶ

- ブラウザ
- Firefox
- 開発者
- コンソール

ここではブラウザの評価方法と確認方法について扱う。
エラーが発生したときに何をするかを考える。

## 扱わないこと

- Node.js
- デバッグ方法
- Node.jsのREPL
- ブレークポイント

## アウトライン

- ブラウザの選択 => Firefox
- ブラウザでの実行方法
- index.htmlとindex.jsを作成しscriptとして読み込んで実行する
- Console APIの使い方を学ぶ
    - 開発者ツールの開き方
    - コードの実行方法、REPL
- (ウェブ版) ウェブ版ではこの方法はワンクリックでできるようになっている
- Node.jsについては2章であつかいます
- 構文エラー(SyntaxError)が出る場合について
    - 例) `const 2015;`
    - スタックトレースの簡単な読み方
    - 詳細はtry...catchの章
- 構文エラーは人間向けのエラーではない問題
    - 例) `cosnt a = 1;`
    - エラーの行例の前後も見てみよう
    - Firefoxではコンソールにエラーの詳細へのリンクがでるぞ
- 実行時エラー(ランタイムエラー)
    - 例): `console.logs()`
    - 構文としては正しいが実行時に問題があり例外発生するもの
    - `TypeError`など`SyntaxError`以外のもの
    - 実行時エラーは単純なものから複雜なもの(値に依存するもの)がある
- デバッグ
    - あわてずにエラーの原因を追っていく => デバッグ
    - エラー文を検索する or MDNのエラーで該当してないものがあるものをみる or コードをよく読む
    - SyntaxError => あなたの書き方がなにか間違っています
    - TypeError => コードの動かしやメソッドの呼び出し方が何かおかしいです。どこでおかしくなったのかをconsole APIで見よう
- まとめ
    - コードの実行
    - ログの出し方
    - エラーの種類
    - デバッグ


fix #85
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants