Baiduより引用: フルスタックエンジニア、フルエンドエンジニア、英語のフルスタック開発者とも呼ばれます。さまざまなスキルを習得し、複数のスキルを駆使して単独で製品を完成させることができる人のことを指します。
現在Webフロントエンド、Webバックエンドスタッフとして働いている皆さんに、フルスタックエンジニアについてどう思うか、自分の仕事に影響を与えるのか、Webサイト全体の開発を円滑にするためのコミュニケーション改善に影響するのかを聞きたいです。 ?
返信内容:
私がこの業界に入ったときは、主にバックエンド開発、PHP とデータベースを担当していました。今では、フロントエンドとバックエンドの両方のコンテンツを担当しています。
Web スタックに取り組むすべてのプログラマーは、フルエンド エンジニアになるべきだと思います。テクノロジー スタック全体にわたって問題を考えることができることが重要であり、場合によってはそれが重要です。
私の経験を例に挙げると、トラフィックの多い Web サイトの特定の機能に取り組んでいたとき、PHP とそのデータベース自体を使用して長期的なスケーラビリティ ソリューションを実現するのは難しいことがわかりました。この機能はリアルタイム データの多次元フィルタリングを必要とし、一般的な Web サイトの応答は 1 秒未満である必要があるが、この機能の使いやすさは 3 秒以内に制御する必要があります。速度の問題のため改善されていません (当時は純粋なバックグラウンド ソリューションを 20 秒以上使用する必要があり、基本的に使用できませんでした)。最後に、他のいくつかの同様の Web サイトからインスピレーションを得て、Ajax を使用してフロントエンドでシャード データを配布し、それをブラウザーで実行されている複数の Web ワーカーに配布して、複雑なデータ計算を実行して結果を転送できるようにしました。ステップごとにメインプロセスにレンダリングします。このプロセスにはブロッキングはなく、シングルチップデータは基本的に 200ms 未満に制御できます。これはコア フロントエンド テクノロジーに基づいたソリューションであり、純粋なバックエンド ソリューションを完全に上回ります。
もう 1 つの例は、フロントエンドからバックエンドまで、レンダリングする必要がある約 30 個のテンプレートのセットがあります。テンプレートは 30 個ありますが、これらはすべて js で事前にコンパイルされているため、リアルタイム解析の問題はありませんが、それでもモバイルであまりにも多くの文字列連結 (コンパイルされた js テンプレート) を実行する必要はありません。データとテンプレートのレンダリング統合をバックエンドに移動しました。REST API は、直接 innerHTML を実行できるビューを直接生成します。フロントエンドは、レンダリング方法をバックエンドに伝えるために必要なだけです (完全なバックエンド)。これにより、必要なフロントエンドの最適化が省略され、この場合、バックエンドの最適化がはるかに簡単になります。
つまり、フルエンド エンジニアになることは、言語をもう 1 つ知ったり、特定のテクノロジに詳しくなったりするほど簡単ではありません。一端で問題を考えることと、スタック全体の問題を考えることの違いは、大きく影響します。あなたのアーキテクチャと成果を。
多くの優秀な開発者は、図をカットすることにこだわっています。 。 。
フロントエンドだけ黙々とやりたいところですが、バックエンドのレベルがヤバイと思うのでやります。
フロントエンドを黙々とやりたいのですが、UIレベルがかなり悪いと思うのでやります。
フルスタックの開発効率は彼らよりもはるかに高いです。
私自身、バックエンドとフロントエンドの両方のデータベースの運用と保守に携わってきましたが、自分自身に概念を分類する必要はないと感じています。
かつては、中小企業にはこれを行う人材がいなかったからです。最も困難な時期、会社には上司 2 名を除けば、美術のクラスメートと私だけが本当に誰も残っていませんでした。その後、2 人の新入社員が採用されました。彼らは卒業したばかりで、段階的に教える必要がありました。真面目に指導すると、レベルが低いと思われ、みんな離れてしまいます。
実際、多くのフルスタックは強制的に作業をさせられましたが、その後、この方法で作業することが非常に効率的であることがわかり、その後も自分たちにフルスタックのレッテルを貼り続けました。
頑張らないと会社は開けない、給料も上がらない、正社員になりたくないなら。フルスタックにする必要があります。
フルスタック エンジニアは素晴らしいビジョンですが、道のりはまだ長いです。
現時点では、JS にはこの可能性があります。まず第一に、JS は、一貫性のないフロントエンド言語とバックエンド言語の問題を解決し、さまざまなシナリオの問題を解決します。
(1) JS は元々、フロントエンドを実装するためのブラウザーのスクリプト言語です
(2) JS にはいくつかの技術的ソリューションがあり、Android および iOS APP を生成することもできます
(3) Node.js は次のことができますWeb のサーバーとして使用される
(4) Node.js はバックエンド Server を実装できます
JS はこれらのことを行いますが、これら 4 つの側面を同時に習得するのは非常に困難です時間。
世界は広いので、そのようなマスターもいるはずですが、それほど多くはないはずです。
プロの人にプロの仕事をさせ、分業することで効率が生まれます。機能 (または小規模なアプリケーション) を実装するだけであれば、実際には難しくありませんが、適切な処理を実行したい場合は、さまざまな要求の厳しいシナリオ (大規模なアクセス、セキュリティ、優れたエクスペリエンス) で静かに動作させる必要があります。 )、それは簡単な作業ではありません。あらゆる面の背後には膨大な知識体系があり、そこに蓄積された技術は短期間で習得することは容易ではありません。
フルスタックは将来のテクノロジーのトレンドの 1 つになる可能性があります。これはプログラマー自身にとって一種の解放です。
そう、以前のウェブマスターの世界では、デザインさえも行う必要がありました
フルスタックを操作するのは最も楽しい経験です。あらゆることが可能になり、効率が向上しました。私たちの仕事を盗む詐欺師
現実世界の学習は、ゲームにスキル ポイントを追加することではありません。すべてを学習することも、すべてをうまく学習することもできます。重要なのは、個人の能力と努力です。
あるレベルに達すると、全体の見方が大きく変わります。
他人の意見に関しては、必ず批判する人がいても不思議ではありませんが、自分が正しいと思うことを貫き、努力し続けることがあなたがすべきことです。
現在、私たちはシングルチップの開発に取り組んでいますが、これはすでにシングルチップの Web デスクトップの完全なサイトです。 。 。