ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の学習を向上させるための楽しい実験
学習に終わりはありません。特に Web 開発では、私たちの業界は常に更新され、改善されています。残念ながら、継続するのは疲れるかもしれませんが、そうである必要はありません。この記事では、小さな実験を、何か新しいことを学ぶための楽しく効果的な方法に変え、楽しく学び、常に最新の状態を維持する方法を説明します。
楽しい実験を続けてください
サイドプロジェクトをやっていますか?もしそうなら、最初はとても楽しいプロジェクトだったのに、すぐに大変なことになってしまったことがあるはずです。行き詰まってしまうのは楽しいことではありませんし、双方のプロジェクトやあなたの仕事に多大な損害を与える可能性があります。主な理由はスコープクリープやストレスであることが多く、空いた時間にはリラックスする必要があります。いくつかのルールを強制することで、不快な思いがけない事態に遭遇しないようにすることができます:
1. 仕事の準備をしましょう。実験の規模とその内容を必ず把握してください。それが多すぎる場合は、それを管理可能なチャンクに分割し、各チャンクに始まりと終わりがあるか、終了します。
2.タスクを計画する。毎晩遅くまで起きないでください。週に 1 ~ 2 回、1 ~ 2 時間をスケジュールするだけです。
3.期限はありません。あなたも含めて、誰もがリラックスする必要があります。目標を立てるのは良いことですが、達成しなくても大丈夫です。
4.自分に楽しい時間を与えてください。先延ばしにするべきではありませんが、人生はやるべきことリストのチェックボックスをチェックするだけではありません。時間をかけて、あなたの労働の成果を楽しんでください。
小規模な実験を行うからといって、より大きなプロジェクトに参加できないわけではありません。データ視覚化プロジェクトを例に挙げます。完了には時間がかかりますが、簡単に小さなタスクに分割できます。
● ビルド ワークフローを設定する
● 興味深いデータを取得します (インスピレーションを与えるリストは次のとおりです)。の API)
● Node.js でデータを取得して処理し、ES2015 の機能を活用します
● テクノロジー (キャンバス、WebGL、DOM/SVG) またはライブラリ (d3.js、p5.js、THREE.js) を比較して選択します。 js) データを視覚化します
●お好みのツールでデータを視覚化します
私はすべての実験を追跡するために Trello テンプレートを使用しています。そこで私はそれらをリストアップして計画を立て、実験が開始されるまで関連情報を追加します。大規模なプロジェクトの場合は、新しいテンプレートを作成し、タスクごとにカードを追加することが多いです。他の代替ツールもニーズを満たす可能性があります。物事を文書化すると、気を散らすことがなくなります。
実験の復習
実験は、実際に新しいことをやって学ぶだけでなく、自分自身を向上させる素晴らしい機会でもあります。実験を見直して、次の質問を自問してください:
1. より適切な準備によって実行中の問題を回避できたでしょうか?
2. 実行作業の品質を向上させるために何ができるでしょうか? ?
3. 実験の準備をより効率的に行うことはできますか?
作業を見直して改善することで、私たちの業界にとっても非常に貴重な経験が得られます。多くの実験的なレビューが優れたブログ投稿になります。
実行環境
JavaScript がブラウザー内で動作することはおそらくすでにご存知でしょうが、ブラウザーの外でも JavaScript プログラムを実行できることはご存知ですか?
●Node.js は、ブラウザーを実行する必要のない最も人気のある JavaScript です。これを使用すると、スクリプト、コマンド ライン インターフェイス、デスクトップ アプリケーションなどを作成できます。 Windows、OS X、Linux 上で動作します。
●Electron を使用すると、昔ながらの HTML、CSS、JavaScript を使用してクロスプラットフォームのデスクトップ アプリケーションを構築できます。
●Cordova を使用すると、HTML、CSS、JavaScript を使用してモバイル ソフトウェアを構築できます。
●React Native では、React フレームワークを使用してモバイル ソフトウェアを構築できます。
ブラウザ API
過去数年にわたって、あらゆる種類の興味深いことを可能にする多くの新しい API がブラウザに導入されました。
●Service Worker API は、オフライン サポートの提供など、さまざまなことができるようにするより大きな API です。
●WebRTC は、別のコンピューターへのリアルタイム接続を作成できる API です
デバイス接続を使用して、センサー データの読み取りやデバイスに動作 (振動など) を実行できるようにする API がいくつかあります)。
●周囲光センサーは、ウェブサイトやアプリケーションの明るさを調整するために使用できる周囲の明るさの情報を提供します。
●バッテリーステータスの機能は一目瞭然です。バッテリーの状態を尋ねることができます。 大量の電力を消費するプログラムは、これを使用して省電力モードを有効にすることができます。
●地理位置情報は、ユーザーの位置に関する情報を提供します。
●ネットワーク情報を利用して、より小さいファイルをお客様に提供できます。
●通知はチャットアプリケーションなど、多くのアプリケーションで非常に役立ちます。
●マウス入力を使用するゲームを構築している場合は、Pointer Lock を使用することが必要です。
●近接性により、ユーザーがデバイスにどの程度接続されているかを把握できます。これは「ハグ」を検出するために使用できるかもしれません
●デバイスの向きを使用すると、向きの変化が発生したことを検出できます。
●バイブレーションにより、デバイスを振動させることができ、ゲームに最適です。
ライブラリとフレームワーク
ほとんどのライブラリは作業を容易にするように設計されているため、使用するのに多くの経験は必要ありません。多くの人気のあるライブラリやフレームワーク (Angular や Reacti など) は、キャリアにとって必須の知識システムであるとさえ考えられています。 1 つまたは 2 つのタイプの控えめな態度は、面接で自分自身をよりよく表現するのに役立ちます。
ライブラリとフレームワークがどのようにして長期間にわたって進化し続けることができるかを理解した後。 これらは役に立ちますが、フレームワークとライブラリが解決する問題を理解し、これらのライブラリやフレームワークの助けを借りずに問題を解決できるようにする必要があります。
フレームワーク
●Angular は、今でも多くのチームで使用されている MVC フレームワークです。
●Reactはビューをレンダリングするためのライブラリです。
●PolymerはWebコンポーネントを作成するためのライブラリです。
●Lodash.js、Underscore.js、Ramda.jsはすべて関数型プログラミングのライブラリです。 一部のチームはそれらを使用することを好みますが、多くのチームは使用しません。 いずれにせよ、関数型プログラミングを理解することは優れた開発スキルであるため、これらのフレームワークを確認する必要があります。
現実世界
個人的には、ソフトウェアを書くことで現実世界で何かができると知ったとき、本当に興奮します。次のいずれかを検討してください。
●Raspberry Pi は、教育や学習に最適なクレジット カード サイズのシングルボード コンピューターです。
●Arduino は Raspberry Pi に似ていますが、電子機器の側面に重点を置いています。
●LEGO® MINDSTORMS® は、LEGO ハードウェアを制御できるミニコンピューターです。それを選んでみてはいかがでしょうか?
● Johhny-Five Johhny-Five は、Arduino または同様のデバイスにインストールできるロボット工学および IoT 用の JavaScript フレームワークです。
上記のミニコンピューターはすべてプログラム可能で、JavaScript を通じて開発できます。
結論
小さな実験は、新しいことを実践的に学ぶための素晴らしい方法です。もう 1 つの利点は、小規模な実験が仕事のやり方や業界で最も価値のあるものを改善するのに役立つことです。いくつかのルールを強制することで、楽しく実験を続けることができ、もっと学び、より良くなろうというモチベーションを高めることができます。
行き詰まっている方にとって、この記事が新しくて楽しい実験を始めるきっかけになれば幸いです。次に何に取り組めばよいか迷っている人にとって、この記事が何らかのインスピレーションを与えてくれれば幸いです。記事内の用語に興味があれば、さらに詳しい内容を検索して、より広い世界を発見してください。