【書籍寄贈活動|『サーバー開発:技術・手法・実践ソリューション』第7号】

I.はじめに

現在、情報、ソーシャルネットワーキング、ゲーム、消費、旅行など、リッチで多彩なインターネットアプリケーションが人々の生活や仕事のあらゆる側面に浸透し、情報化時代を大きく変えています。ユーザー規模の拡大とアプリケーションの複雑さの増大に伴い、サーバーが直面する技術的課題はますます深刻になってきています。大手インターネット企業では、サーバー開発職の責任は、データベースの「追加、削除、変更、クエリ」サービスを単に配置することに限定されなくなり、エンジニアにはビジネス分析、アーキテクチャ設計、コード作成、技術調査、チームワークが求められます。 、システム保守など総合的な対応力を備えています。多くの場合、サーバー上のコードの最初の行が記述される前に、エンジニアは製品、運用、法務などの人員と、ネットワーク、ミドルウェア、オペレーティング システム、データ、アルゴリズム、運用、システムなどの技術システムに対処する必要があります。メンテナンスもセキュリティも。

2. AI時代、サーバー開発は新たな課題に直面する

2022 年 11 月 30 日、OpenAI は ChatGPT と呼ばれるチャット ロボット プログラムをリリースしました。これはすぐにインターネットを爆発させ、世界中で大きな反響を呼びました。その直後から、さまざまな大規模な言語モデルが雨後の筍のように出現しました。海外ではGoogleのBard、AnthropicのClaude、国内ではBaidu Wenxin Yiyan、Ali Tongyi Qianwen、Xunfei Xinghuo Cognitive Model、Kunlun Wanwei Tiangong Large Modelなど。

以前のモデルと比較して、ChatGPT に代表される大規模モデルは、コード生成およびコード解釈機能において質的な飛躍を遂げています。有資格者の中には、AI を使用してコードを作成し、最適化し、問題解決を支援し始めている人もいます。AI テクノロジーのおかげで、知識を習得するまでの道のりは大幅に短縮され、本来であれば多くの本を読んだり、多くのコラムを読んだりする必要があった知識の一部は、AI ツールの助けを借りて短期間で習得できるようになりました。一見単純なコードを自分で書くと 30 分かかる場合もありますが、AI の作成には 1 ~ 2 分しかかからず、多くの場合、品質は高くなります。AIの恩恵により、プログラミング経験の浅い若手エンジニアでも、比較的優れたコードを「書く」ことができるようになる場合もあります。

今、私たちはAI時代が間違いなく人間社会の生産と生活に大きな変化をもたらすことを冷静に認識すべきです。現在の大型モデルには幻覚や推理力の弱さなど、まだまだ欠点は多いものの、その可能性は決して過小評価することはできません。AI の時代において、単純で反復的なタスクが AI に置き換えられることは避けられません。近い将来、AI が一部の低レベル (CRUD のみなど) プログラマーに取って代わることが完全に予想されます。このような観点から、新しい時代において、私たちはコア競争力の意味を再検討し、学び続け、自らの能力堀を常に強化していく必要があります。

ここに画像の説明を挿入

3. サーバーサイド開発は AI に置き換えられるのでしょうか?

大規模なソフトウェア システムは、それ自体が非常に複雑であることがよくあります。複雑さは、ビジネスとテクノロジーの 2 つの側面に単純に分割できます。ビジネスの複雑性が高いシステムの場合は、現在の機能要件を満たしながら持続可能で進化するアプリケーション アーキテクチャを取得するために、科学的かつ効果的な要件分析とドメイン モデリングを実行する必要があります。技術的な複雑性の高い分散システムの場合は、次のような非機能的な問題を考慮することによってのみ完全に解決されます。高い同時実行性、高可用性、高いパフォーマンス、データの一貫性を実現するために、設計上のトレードオフの中で技術アーキテクチャの最適なソリューションを模索できるでしょうか。幸いなことに、AI は現時点では上記の 2 種類の複雑さに対処できません。

さらに、大規模モデルはコードの生成、コードの解釈、さらにはコードの最適化を行う機能を備えていますが、依然として「関数/メソッド」次元に留まり、クラス次元、モジュール次元、およびプロジェクト次元のコードをうまく生成できません。同時に、生成されたコードは依然として人間によるレビュー、最適化、展開、検証が必要です。複雑なタスクの場合は、大規模なモデルが「理解できる」粒度に手動で分解することも必要です。

さらに、データセキュリティや自社開発モデルのコストなどの要素を考慮しなくても、サーバーサイドの研究開発プロセスに注目してください。コーディングはソフトウェアのライフサイクル全体の一部にすぎず、ソフトウェア開発には要件分析、抽象モデリング、システム設計、データ設計、非機能設計、テスト、運用保守などが含まれます。多くの場合、問題を解決するための最終的な技術的手段としてコードを書くことは難しくありませんが、問題の識別、理解、定義、抽象化はすべて手作業による推論に依存しており、難しいのです。問題が明確化され、ソフトウェア プロジェクトの次元に分解され、明確なタスク、明確な目標、合理的な構造に直面すると、問題を解決できる人が多くなり、必然的に AI が登場します。

ここに画像の説明を挿入

4. 知識を体系化し、コア競争力を構築する

サーバー開発職にとって、主流のプログラミング言語を習得し、一般的に使用されるミドルウェアやデータベースに精通していることは基本的かつ重要ですが、コアの競争力には程遠いです。知識がシステムを形成して初めて、それが真の核となる競争力と言えます。

では、サーバーサイド開発の知識体系には何が含まれるのでしょうか? 要求分析、抽象モデリング、システム設計、データ設計、非機能設計を含むサーバーサイド開発のプロセスの観点から、関連する技術と手法を習得する必要があります。インターネット業界におけるサーバーサイド開発の難しさの観点から見ると、高同時実行性、高可用性、高パフォーマンス、キャッシュ、冪等性、データ一貫性などの問題に対応するソリューションを習得する必要があります。

このような膨大な知識体系の中で、どうすれば効率的に学習できるでしょうか? 想像してみてください。なぜあなたは自分の家がある地域について特別な理解を持っているのでしょうか。そして、自分を隅に置けば徐々に知ることができるのでしょうか? その理由は、頭の中で周囲の全体像をすでに形成しており、主要なノードを明確に知っているからです。なじみのないコミュニティに置かれた場合、混乱する可能性があります。重要なノードや全体像がないため、手探りで進めることになります。たとえ、画面上で目にするすべての下水道のマンホールの蓋の状況を把握したとしても、なんてことは無意味です。数回通り過ぎると忘れてしまいます。

上で挙げた質問に戻ると、効率的な学習と知識の体系化の鍵は、マクロレベルで全体像を構築し、重要な知識ポイントを深く理解することにあります。これらのキーポイントがこの分野の骨格であり、支点です。骨格や支点がなければ体系化するのは当然難しく、マクロ写真がないと迷走しやすくなります。

5. サーバーサイド開発を体系的かつ俯瞰的に解釈した業界初の書籍

写真

『サーバー開発: テクノロジー、手法、実践的なソリューション』という本は、Ali と Ant Group の高品質な社内トレーニング コースに基づいており、ブログの専門家によって書かれています。この本は、理論と実践を組み合わせてサーバーサイド開発を俯瞰的かつ体系的に解説しており、主な内容は次の 2 つの部分で構成されています。

パート 1: サーバーサイド開発のテクノロジーと手法

まず、サーバー開発の責任、技術スタック、コアプロセス、および高度なパスを紹介し、次に要件分析、抽象モデリング、システム設計、データ設計、非機能設計の 5 つの側面から展開し、事例を交えてサーバー開発を詳しく説明します。サーバーサイド開発のパノラマを読者に提供し、サーバーサイド開発の知識と手法を迅速かつ体系的に理解するのに役立ちます。

パート II: 典型的なサーバー側の問題の解決策

高同時実行性、高パフォーマンス、高可用性、キャッシュ、データ整合性、冪等性、seckill などのサーバーサイド開発実践における典型的な問題について、対応するソリューションと開発仕様が示され、さまざまなソリューションがケースの利点と利点を含めて詳細に分析されます。デメリット。さらに、インターフェイス設計、ログ出力、例外処理、コード記述、コード コメントなどのランディング レベルでの業界の事例や規範もまとめています。

読者

IT実務者:サーバー開発エンジニア、クライアント開発エンジニア、プロダクトマネージャー、テスト開発エンジニアなど

大学生:コンピュータ、ソフトウェア、オートメーション、電気、通信などを専攻し、IT業界への参入に興味のある学生。

写真

宝くじ

  • フォロー+いいね+お気に入りの記事

  • コメント領域にメッセージを残してください: スタック全体の知識を学び、He Chongtian を見つけてください (賞金プールに参加するには、フォローしてメッセージを残してください。各人が最大 3 つのメッセージを残すことができます)

  • 日曜午後8時にランダム抽選

  • 今回は2~5冊プレゼント【読めば読むほどプレゼント】
    500~1000 2冊
    1000~1500 3冊
    1500~2000 4冊
    2000+5冊

おすすめ

転載: blog.csdn.net/weixin_44816664/article/details/132490405