2020年にフルスタックWeb開発者になる方法

フルスタックWeb開発者は、コードの世界のスイスアーミーナイフです。その指定があるということは、エンドツーエンドのソリューションを作成できることを意味します。これは、非常に市場性が高く、機敏なスキルセットです。しかし、そのステータスを達成するには実際に何が必要ですか?

初心者でも、経験豊富な人でも、スタックの一端に特化している人でも、ここで消化することがたくさんあります。上から飛び込んだり、最もサポートが必要な場所に戻ったりしてください。

  • まず、開発者をフルスタックにする理由は何ですか?
  • 飛び込む前に、その焦点について話しましょう
  • では、どこから始めればよいのでしょうか。
  • フロントエンド
  • バックエンド
  • DevOpsとクラウド
  • デザインはどうですか?
  • 始めたばかりの場合は他のこと
  • あなたがもっと探しているなら他のもの

まず、開発者をフルスタックにする理由は何ですか?

フロントエンド開発者がフルスタック開発者であると言うのは面白くて騒がしいですが、WebサイトをNetlifyにデプロイできるからといって、フルスタックになるわけではありません。

これは落胆することを意味するものではありません。現実的には、その経験を持っているだけでは、次の面接でその役職にうまく耐えられません。作業を最初から最後まで技術的に作成および展開している間、Netlify、Zeit、およびその他のプロバイダーは、スタック操作の大部分を方程式から取り除く魔法のツールを使用してこれを行う能力を提供します。

これは、フロントエンド開発者として私たち全員が現在達成できることを損なうものではありません。静的Webサイトをコンパイルおよびデプロイする動きが高まっているため、スタックの後半でこのプロセスが単純化され、全体的にメリットがあります。

さらに、サーバー上でJSを実行できるなどのツールオプションの柔軟性により、当社のスキルセットはこれまで以上に多くのユースケースに移行できます。

私たちがどこから来たのか

Web開発の展望は急速に変化しています。Wordpressはしばらくの間CMSの王様であり、CMSを使用するWebサイトの3分の1以上を占め、PHPの人気を高めています。しかし、他の人は自家製のソリューションで働きました。

これらは、LAMPのようなより伝統的なWebスタックを表しています。このような場合、通常は、データベースとインターフェイスして最終的にブラウザに配信されるコードを生成する、ある種のコンテンツ管理システムとサーバー側言語(PHPなど)を実行しているWebサーバーがあります。

その上、ページの表示を管理するCSSを使用していくつかのインタラクティブ機能を作成するJavascriptがあるかもしれません。場合によっては、特定のWebホストに必要なのはマネージドWordpressサーバーだけです。ただし、他の大規模なサイトでは、これらのサービスを管理する別のチームと、コードを本番環境に移行するためのデプロイパイプラインが必要になります。

私たちがどこにいて、どこに向かっているのか

Wordpressはどこにも行きませんが、サーバーレスアーキテクチャとJAMstackアーキテクチャは勢いを増しています。なじみのない人にとっては、文字通りサーバーがないという考えではなく、クラウドで管理されているサーバーを使用することが重要です。

AWS Lambdaのようなサービスを使用すると、単純な入力と出力を処理する「関数」を構築できます。これをAPIGatewayに接続すると、実際にサーバーを管理しなくても、すぐにインターフェースできるエンドポイントが得られます。

S3のような他のものを使用すると、HTML、CSS、JS、画像、およびその他の静的アセットをストレージにダンプし、そこから直接サイトにサービスを提供できます。サーバーでは何も処理されません。静的ファイルをクライアントに提供するだけです。

これについての素晴らしい部分は、オーバーヘッドがはるかに少なく、通常、はるかに安いことです。多くの場合、パフォーマンスが大幅に向上します。s3からサイトにサービスを提供すると、ブラウザーへの最初の応答を取得するために必要な処理が少なくなり、ユーザーエクスペリエンスの向上に直接つながります。

これは、JAMstackに移動するためではなく、完全なスタックパラダイムが変化していることを示すためであり、一見の価値があります。仕事の違いは今でも伝統的な感覚がありますが、少しずつ変わってきています。

DevOpsチームは、クラウドリソースを管理してデプロイするようになりました。バックエンド開発者は、ラムダ関数などのツールを使用してサービスとインターフェイスするAPIとコードを構築するようになりました。また、フロントエンド開発者は主に、バックエンド開発者が作成したサービスにアクセスするReactまたはVueアプリを構築するJavascriptで作業します。間違いなく、これにはCSSのようなものが含まれる場合と含まれない場合がありますが、これは「公式に」機能するタイトルがどのタイトルに該当するかについてのワームのもう1つの缶です(スポイラー:チームによって異なります)。

まだ分​​断された義務感がありますが、境界線がぼやけており、焦点を広げやすくなっています。

飛び込む前に、その焦点について話しましょう

フルスタック開発者の全範囲に飛び込んでカバーしたいと思うのはかなり魅力的かもしれませんが、焦点については言いたいことがあります。これは、「すべての取引のジャック、誰のマスターでもない」という表現の基礎です。ここでは、フルスタックの各部分を少しずつ学習しようとしますが、実際には何もマスターしません。

これは、新しい開発者としての強みを構築しようとするときに危険な場合があります。ですから、あなたがどんなタイプの学習者であるかを評価し、それが重要なところに焦点を当てるようにしてください。カリキュラムの普及に苦労している場合、それは必ずしも最初の仕事や到達しようとしている夢の仕事に着手するために必要な経験を得るのに役立つとは限りません。

たとえば、斬新なアプローチは、個別に焦点を当てることですが、その強みを中心にフルスタックスキルを構築することです。これは、独自のWebアプリをデプロイし、その基本的な知識に基づいて構築を続けることができるフロントエンド開発者である可能性があります。

その上、フルスタック開発者であることの一部は、必ずしもx、y、およびz言語を知っていると言えるとは限りません。コードとソフトウェアの設計概念を理解し、目前の課題に取り組むことができることは、脇に置いておくと、優れた開発者になります。

肝心なのは、自分にとって何が最善かを考え、高い野心が旅のマスターの邪魔にならないようにすることです。

では、どこから始めればよいのでしょうか。

この記事の目的のために、スタックを分割するもの(フロントエンド、バックエンドなど)の従来のブレークポイントを維持します。一部の人々は、それはもはや実際には問題ではないと言いますが、現実的には、フルスタック開発者にはたくさんの仕事があり、日々、従来のブレークポイントを参照しています。「フルスタック開発者」は間違いなくどこにも行きません。

スタックに関しては、サーバーレス/ JAMstackアーキテクチャに依存します。これは、成長を続けるためです。そして、あなたがそれらを学ぶならば、それはあなたがその周りに現れる仕事の数であなたをより市場性のあるものにするだけです。

以下で気付くように、これはすべてのタイプのデータベースとすべてのタイプのレンダリングソリューションを網羅することを意味するものではありません。強力な開発者は、ひたむきで1つのフレームワークでしか生産性を発揮できないのではなく、ツールに柔軟に対応し、作業の概念を理解できるようにする必要があります。

Reactで作業していて、現在の仕事で快適に仕事をしているかもしれませんが(それは大丈夫です!)、次の仕事はVueまたは「サプライズ」に重きを置く可能性があります。チームリーダーがSvelteでアプリを書き直したいと考えています。そもそもUIフレームワークを使用している理由と、それが目前の問題の解決にどのように役立っているかを理解してください。

それでは始めましょう...

フロントエンド

Webサイトまたはアプリケーションのフロントエンドは、通常、サービスを使用するユーザーが操作するUIです。ゲームの最大の言語プレーヤーはJavascriptであり、通常、プロジェクトのコンポーネントを管理するためにReactやVueなどのUIライブラリを利用します。

これらのUIフレームワークを使用すると、基本的にコードのブロックである「コンポーネント」を作成できます。これにより、コードと一緒にインタラクションと動的状態を作成できるHTMLが生成されます。これは非常に強力になり、開始するのに少しカーブがあるかもしれませんが、コツをつかんだら一緒に作業するのはかなり楽しいものになります。

この分野に慣れていない場合でも、経験豊富な場合でも、最終的にjQueryに遭遇する可能性があります。それにはメリットがあり、コミュニティによく役立っていますが、Javascriptのネイティブ機能は実際に成長し、jQueryが提供できた機能に対する需要が少なくなっています。現在、開発者は代わりにUIフレームワークとネイティブJavascriptに頼っています。

したがって、jQueryとは何かを理解するのは良いことですが、この時点で時間をかけて学ぶことはお勧めしません。良いことは、それを使用する仕事に着手した場合、jQueryと一緒にネイティブJavascriptを直接作成できるため、バニラJavascript自体を学ぶことが正しい答えです。

だから私は何を学ぶべきですか?

あなたが本当に初心者なら、基本的なHTMLとCSSを学ぶために時間をかけてください。Javascriptを掘り下げるほど楽しく魅力的ではないかもしれませんが、Webを作成するための基礎に基づいて構築することが、右足で始めるための鍵となります。

次に、Javascriptを学びます。それは当面の間王であり続けるでしょう。Javascriptは、構築するフレームワークまたはライブラリの基礎を提供するため、言語自体の断片がどのように機能するかを理解することは、物事のフロントエンド側を学ぶ旅を推進するのに役立ちます。

また、さまざまなパターンの複雑さや、使用するフレームワークの背後にある概念を理解しようとしているときに、作業が楽になります。

フレームワークと言えば、ReactとVueは、その人気を考えるとおそらく最良の候補です。Reactは最も人気があり、成長を続けています。そのチームは、フレームワークを成熟させ、最新の高速Webアプリの構築に役立つAPIを作成するために絶えず取り組んでいます。

Create React AppまたはGatsbyの使用を開始すると、Reactアプリを簡単に起動して、コードをいじくり回すことができる位置にすぐに入ることができます。

CSSプリプロセッサやSassのようなツールを呼び出すことには利点がありますが、CSS-in-JSを含むCSSのソリューションは現在たくさんあります。

CSSをJS内に配置することにはいくつかの長所と短所がありますが、実際にはチームに依存するため、特定の方向として何を使用するかを指摘する価値は必ずしもありません。

CSSの基本と能力、およびCSSをバニラ形式で使用する方法を理解すると、フレームワークに関係なく、CSSを利用する準備ができます。

リソース

  • freecodecamp.orgレスポンシブWebデザイン認定//www.freecodecamp.org/learn
  • 「Javascriptを置く:最初にHTMLとCSSを学ぶ」//www.freecodecamp.org/news/put-down-the-javascript-learn-html-css/
  • MDN Intro to Javascript //developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript
  • JustJavascriptメールコース//justjavascript.com/
  • JSRobot学習ゲーム//lab.reaal.me/jsrobot/
  • reactjs.orgReactの紹介//reactjs.org/tutorial/tutorial.html
  • gatsbyjs.orgチュートリアル//www.gatsbyjs.org/tutorial/

バックエンド

JAMstackの世界では、バックエンドは通常、フロントエンドがクライアントからのエンドポイント(CRUD APIのエンドポイントなど)と対話することによって動的なエクスペリエンスを作成するために使用するAPIを指します。クライアントからこれらの要求を行うことができると、ページがブラウザに提供される前にその処理を行う必要がなくなります。

1つの言語でしかコーディングできないと感じるべきではありませんが、Javascriptで記述できることは、使い慣れた言語(またはフロントエンドではその逆)。

NodeJSは、ほとんどのクラウド環境でオプションとして使用できる一般的なランタイムであり、ブラウザーで期待されるものと同様のエクスペリエンスを提供します。主な違いは、特定のブラウザAPIにアクセスできず、windowオブジェクトとそれに関連付けられたAPIも存在しないことです。

とは言うものの、Pythonも人気のある言語であり、特にデータサイエンスとエンジニアリングのコミュニティで人気があることを考えると、成長しています。PHPとRubyはどちらも有効であり、求人市場での選択肢を提供しますが、JavascriptやPythonほど人気が​​なく、全体的な上昇傾向にはあまりないようです。

選択した言語を使用する場合、最善の策は、アプリケーションがインターフェースできるクラウドサービスを作成する方法を学ぶことです。

AWS、Netlify、またはその他のクラウドプロバイダーで遊ぶことができる単純なラムダを作成すると、フィールドで作業するときに期待できることについて良い経験が得られます。

また、見つけたジョブでラムダで直接開発しなくても、バックエンドでの作業の基本となる概念に慣れることができます。そして、最終的にはこれらの関数を使用して他のサービスやデータベースに接続し、独自の動的サービスを作成します。

だから私は何を学ぶべきですか?

すでにフロントエンド側からJavascriptの学習に取り組んでいる場合は、バックエンドにJavascriptを使用して続行してください。Netlify関数を使用してラムダをスピンアップします。コードに集中するだけで、残りはNetlifyが処理します(実際に関数をビルドしてデプロイするなど)。

選択した言語と最初の関数を使用して、コード内の他のサービスの使用を開始し、サードパーティのAPIの使用経験を積んでください。

Twitter APIを使用してツイートを送信できるエンドポイントを構築するかもしれません(ただし、悪用しないでください)。データベースを作成し、CRUDパターンでデータベースとインターフェイスするように関数を設定する方法を学びます。これにより、一般的なアプリがバックエンドと対話する方法のより現実的なユースケースが得られます。

ここでの目標は、フロントエンドがエンドポイントを介して対話し、アプリを使用している人の操作を実行するサービスを作成することです。良いニュースはクラウドの勢いを与えられており、たくさんのオプションと無料のオプションまたはティアを試してみることができます。

リソース

  • 「サーバーレスへの超シンプルなスタート」//kentcdodds.com/blog/super-simple-start-to-serverless
  • 「Netlify関数とFaunaDBを使用したサーバーレスCRUDアプリの構築」//www.netlify.com/blog/2018/07/09/building-serverless-crud-apps-with-netlify-functions-faunadb/

DevOpsとクラウド

DevOpsは、コードを記述している人からコードをデプロイされた状態に取得するプロセスをスムーズにし、スピードアップするソリューションを作成できる必要性から生じています。

この作業は、カスタムソリューションのbashスクリプトを作成する場合でも、アプリの実行に必要なすべてのリソースを作成するCloudFormationテンプレートを作成する場合でも、多くの責任から少数の責任までさまざまです。

通常、これは、ビルドとデプロイのプロセスを自動化するCI / CDワークフローの大規模なオーケストレーションの一部として含まれています。

そして、これは絶えず変化しています!サーバーレスブームを考えると、サーバーレスフレームワークがポップアップし、これをより簡単に管理できるようになりました。これにより、AWSは独自のソリューションSAMを作成することもできます。Jenkinsのようなツールは、CI / CDの部分で少し前から存在していましたが、Github、Gitlab、およびその他のソース管理プロバイダーが、プロジェクトに直接接続するCircleCIのような独自のソリューションとツールを提供していることがわかります。

また、まだ完璧ではありません。CloudFormationテンプレートを作成するのは困難です。自動化スクリプトを書くことも最も楽しいことではありませんが、それが機能するときは非常にやりがいがあります!

しかし、これは改善されており、NetlifyやZeitなどの製品が適しています。アプリをコンパイルしてストレージにダンプする静的ホスティング側からより多くの根を下ろしている一方で、Netlifyの関数のようにそれらの製品は成長していますセットアップと完全に機能するエンドポイントへのデプロイが簡単なAWSLambdaだけです(非常に簡単です)。

だから私は何を学ぶべきですか?

この種の設定を初めて行う場合は、Netlifyから始めてください。Reactアプリまたは単純なHTMLファイルをGithubリポジトリにセットアップし、それを新しいNetlifyアカウントに接続して、デプロイを監視します。

そこから、またはすでに少し経験がある場合は、舞台裏で何が起こっているのかについて興味を持ち始めてください。Netlifyは、コードを取得yarn buildし、仮想環境で(などの)設定したコマンドを実行し、S3などのストレージに組み込まれたファイルをダンプし、CloudFrontのようにCDNをその前に配置してエンドポイントから提供する可能性があります。

まず、AWSコンソールとそのCLIを使用してコンピューターから手動でそれを実行してから、スクリプトを記述して、NetlifyではなくCircle CIと統合するプロセス全体をGithubプロジェクトに自動化して、実際にAWSにデプロイします。

それを一段と高めるには、バックエンドがインターフェースする可能性のあるサービスをスピンアップすることが含まれます。サービスが使用するデータベースはありますか?CloudFormationまたはbashスクリプトを使用して、そのデータベースのスピンアップを自動化できます。

インフラストラクチャを使い捨てで簡単に再作成可能なリソースを備えたコードとして扱うと、プロジェクトがより柔軟になり、障害が発生した場合にスピンバックする能力が向上します。

そして、これはすべて、AWSやCircle CIだけでなく、あらゆるクラウドまたはCI / CDプロバイダーに当てはまります。お気に入りのクラウドおよびワークフローツールを選択して実行します。重要なのは、プロジェクトのニーズを調べ始め、スタックの自動化された部分で実際に何が起こっているのかを掘り下げることです。これにより、プロジェクトのニーズについてより多くを学び、より機知に富むようになります。

リソース

  • 「ステップバイステップガイド:Netlifyへのデプロイ」//www.netlify.com/blog/2016/09/29/a-step-by-step-guide-deploying-on-netlify/
  • 「静的ウェブサイトの設定」//docs.aws.amazon.com/AmazonS3/latest/dev/HostingWebsiteOnS3Setup.html
  • 「AWSCertifiedCloud Practitioner Training2019-無料の4時間のビデオコース」//www.freecodecamp.org/news/aws-certified-cloud-practitioner-training-2019-free-video-course/
  • 上記のフロントエンドのJavascriptリソースを参照してください

デザインはどうですか?

はい、設計の基本を理解する必要があります。いいえ、デザイナーである必要はありません。

開発者としての能力を加速する設計には多くの側面があります。ビジュアルデザイナーとUXデザイナーが魔法を生み出すことは誰もが知っていますが、基本的な理解があれば、アプリケーションが大きな失望になるのを防ぐことができます。

開発プロセスの全員が、何らかの形でエンドユーザーに影響を与える目標に向かって取り組んでいます。自分の作業が解決しようとしているニーズと、それがユーザーに与える影響を理解できると、チーム全体がより包括的なエンドソリューションを開発するのに役立ちます。

バックエンド開発者がAPIを作成して、誰かがアプリ内のユーザーを管理できるようにすることを検討してください。 APIの要件はかなりスリムで、ユーザーの名前のみが含まれています。 「最初」と「最後」の代わりに単一の「名前」フィールドとしてそれを提供することは、ほとんどの人にとって最も直感的な解決策ではないかもしれません。ただし、フロントエンド開発者がUIでそれを公開する方法を複雑にする見落としである可能性があり、開発者が表示するのが面倒になるか、エンドユーザーが消費するのが混乱する可能性があります。

それに加えて、デザインはコンバージョンに直接影響を与える可能性があります。eコマーススペースで構築している場合、ボタンのように見えないボタンがあると、人々がカートに商品を追加できなくなる可能性があります。もちろん、これは収益を失う購入を防ぎます。基本的な意味でもUIを人間化する方法を理解することで、文字通りプロジェクトの収益を増やしたり、誰かがUIをより簡単に使用できるようにしたりできます。

さらに重要なのは、サイトにアクセスできるようにすることです。多くの人は、同じ色が見えない、アプリが発する音が聞こえないなど、さまざまなニーズを持っています。他の人のニーズを認識し、アプリを誰もが使用できるように設計してみてください。

だから私は何を学ぶべきですか?

コース全体を受講することは期待していませんが、認識と好奇心を持ってください。そして、次回は、freeCodeCampTwitterでポップアップ表示されたデザイン記事をスキップしないでください。

ソリューションを作成するときは、自分の作業がどのように使用されるかを想像してみてください。あなたのチームの他の開発者はあなたのAPIから何を必要としますか?あなたのアプリを使用する人々はあなたのインターフェースから何を必要としますか?

また、自分の空間で他の人がしていることからインスピレーションを得ようとすることもできます。同様の機能を提供する場合、アプリはどのように見えると思いますか?これはコピーまたは盗むためのライセンスではありませんが、ソリューションが解決しているニーズを理解する必要があります。[カートに追加]ボタンが非常に大きい理由、ユーザーが商品の写真を拡大できるようにしている理由、またはテーブルのデザインを少し使いやすくする方法を検討してください。

アクセシビリティについては、基本を学んでみてください。他の人のニーズを理解するのに役立つリソースが増えています。どのような障害があり、それらがアプリの使用にどのように影響するかを理解するようにしてください。たぶん、それらの懸念に対処する方法についてのいくつかの一般的なパターンを見てください。

多くの場合、組み込むのはそれほど難しくありません。最初からそれを行う習慣を身に付ければ、次にアプリを作成するときにそれについて考えることすらありません。

リソース

  • 開発者向けのデザイン//thoughtbot.com/upcase/design-for-developers
  • ハックデザイン//hackdesign.org
  • ハッカーのためのデザイン//designforhackers.com/
  • Webアクセシビリティの概要//webaim.org/intro/

始めたばかりの場合は他のこと

この記事の多くは、gitとソース管理とは何かを理解したり、コードエディターをセットアップしたりするなど、いくつかの基本事項を理解していることを前提としています。本当に始めたばかりの場合は、これらの概念がないとすぐに難しくなるため、少なくともこれらの概念を簡単に理解する必要があります。

ターミナルの使い方を学ぶことについても言うべきことがあります。初めての場合はGUIを使用しないのは大変なことかもしれませんが、移動するとすぐに端末を使用することで生産性が向上することがわかり、多くのプロジェクトではとにかく端末を使用する必要があります。

だから私は何を学ぶべきですか?

まず最初に、コードエディタを設定します。Visual Studio Codeは現在大流行していますが、AtomやSublime Textなど、好みに応じて役立つものもあります。Repl.itのようなクラウドベースのIDEを見つけることもできますし、CodePenやJSFiddleで遊んで、参入障壁を低くして始めることもできます。

いずれにせよ、コーディングの準備ができたら、ソース管理とは何かを理解する必要があります。ここで、gitは現在最大のプレーヤーです。Gitは、コードへの変更を追跡し、他の開発者とのコラボレーションをより生産的にすることができる強力なツールです。

新しい変更の追加や、ブランチとは何か、それらの使用方法など、gitの基本的なコマンドのいくつかに精通する必要があります。Gitは巨大な世界であり、すぐに習得する必要はありません。gitfuを習得するための旅で、学ぶべき新しいことが無限にあることをすぐに学びます。

使用する多くのツールには、GitKrakenのような利用可能なGUIがありますが、それでも実行できることには少し制限があります。マシンのデフォルト端末を回避する方法を学ぶか、iterm2(私の好み)やXterm.jsなどの他のオプションをダウンロードするのが最善の策です。ボーナス:あなたはそれを使うたびに映画ハッカーのように感じるでしょう(またはそれは私だけですか?)。

リソース

  • VisualStudioCode入門//www.codecademy.com/articles/visual-studio-code
  • GithubからのGitリソース//try.github.io/
  • ゲームを分岐してgitを学ぶ//learngitbranching.js.org/
  • Macコマンドラインの概要//blog.teamtreehouse.com/introduction-to-the-mac-os-x-command-line

あなたがもっと探しているなら他のもの

うさぎの穴をすぐに降りることができるものはたくさんあります。焦点を広げないように注意し、自分を圧倒しないようにしてください。しかし、自分がどこにいるかについてかなり気分が良い場合は、現実の世界での課題に取り組むときにのみ役立つ他の概念がいくつかあります。

テストとさまざまな方法論

コードを書くことは1つのことですが、効果的なテストを設定できると、コードが強化され、バグが発生するのを防ぐのに役立ちます。サイトがダウンしたときに、将来の時間を無駄にしたり、製品の費用をかけたりしたくはありません。テストの書き方とさまざまなアプローチを学ぶことは、コードを固めるために重要です。

ChromeDevToolsなどのブラウザツール

私の意見では、デバッグ時に使用できる最も強力なツールの1つは、ブラウザーでアプリケーションをデバッグできることです。

DOMがどのようにレンダリングされているか、CSSで遊んでいるか、ネットワークリクエストをデバッグしているかにかかわらず、時間を節約し、バグの原因をより簡単に特定する方法をすばやく学びます。

HTTPとネットワークパネルでリクエストをデバッグする方法

Webがインターネットに基づいている場合、アプリケーションは最終的に他のサーバーにリクエストを送信します。これが発生した場合、リクエストのチョークポイントを理解するか、単にリクエストがどのように行われるかを理解することで、アプリケーションが遅延しているように見える理由や、保存ボタンが機能しない理由を理解できます。

リクエストがどのように機能し、デバッグのためにリクエストを視覚化する方法を基本的に理解することは、あなたの旅に大いに役立ちます。

オープンソースソフトウェアとパッケージマネージャー

これは、ソフトウェアを配布する方法であるほど、学ぶためのスキルやツールではありません。コードソリューションの構築を開始すると、私たちの多くがオープンソースパッケージに依存していることがわかります。Javascriptを作成している場合は、ほとんどの場合npmを使用します。これにより、毎回車輪の再発明を行う必要がなく、生産性が向上します。

オープンソースの概念を理解するために時間を費やし、お気に入りのプロジェクトに貢献することで恩返しを検討することもできます。手を貸すことは通常非常に高く評価されており、経験を積むのに役立ちます。また、最初に承認されたプルリクエストで無料の盗品を獲得できる場合もあります。ただ敬意を表してください。リクエストの反対側にも実在の人物がいます。

ほかに何か?

コーディングの世界にはたくさんのことがあるので、このリストは永遠に続く可能性があります。開発マスターになるための旅において、他に何が重要だと思いますか?重要なものが足りないと思われる場合は、ツイートまたはDMを送ってください。

あなたは燃えています!それをすべてまとめる

上記で蓄積したすべての経験を踏まえると、アプリ全体を最初から最後まで自分で作成できる立場にあるはずです。あなたはあなたが持っている力を理解していますか?

ここから楽しみが始まります。新しいアプリを作成してみてください-それが何であるかは関係ありません。何かを作成するだけです。あなたが学ぶためにできる最善のことは、それをすることによって経験を積むことです。それがあなたが見つける百万のtodoチュートリアルの1つであるかどうか、またはInstagramの作成者のような最大のソーシャルネットワークの1つを構築することによってコードを自分で教えることによってかどうかは関係ありません。

ここから、以下を作成できるはずです。

  • ブラウザで実行されるWebアプリのフロントエンド
  • Webアプリがエンドポイントを介してリクエストできるバックエンドサービス
  • CI / CDツールにプラグインするスクリプトを記述して、ビルドとデプロイのプロセスを自動化します
  • ボーナス:人々が実際にそれを使用できるように、インターフェースがどのように見えるかについて適切な決定を下します!

出て行って構築してください!ハッシュタグ#codejourneyを使用して、Twitterで開発の旅を共有してください。私たちは、あなたがどこにいて、何を構築したか、どこに向かっているのか、そして何を構築したいのかについてもっと知りたいです。

Javascript、UX、その他の興味深いものについては、私に従ってください!

  • ?Twitterでフォローミー
  • ?️私のYoutubeを購読する
  • ✉️私のニュースレターにサインアップ