2018 年のバックエンド テクノロジーのトレンドに関する簡単な説明
この記事では、バックエンド技術についてより明確に理解していただくために、主に 2018 年のバックエンド技術のトレンドについてお話します。
非同期モード
Go 言語はますます人気が高まっており、多くの大手インターネット企業がバックエンドに GO に注目しています。 Java 界隈ではよく知られたサービス指向フレームワークである Dubbo も、非同期モードへの移行を発表しました。これは大きなトレンドであり、非同期モデルは市場で検証され、認識されています。
Web サーバーを選択するとき、ほとんどの人は数年前から同期ブロッキング Apache ではなく、非同期非ブロッキング Nginx を選び始めました。 Nginx のような非同期プログラムのおかげで、より優れた適応性と強力な同時実行機能を備えています。現在、バックエンドのビジネス開発プログラミングに関しては、強力な技術力を持つチームがテクノロジー スタックを同期モードから非同期モードに切り替え始めています。
同期ブロック モードには、同時実行性の弱さ、適応性の低さ、リクエストの速度の遅さなど、多くの欠陥があり、その結果サービスが利用できなくなります。たとえば、バックグラウンド インターフェイスでサードパーティ API を呼び出すシナリオでは、同期モードの効果は非常に低くなります。以前は、Java、PHP、C++、Python、Ruby 言語を使用して開発された同期ブロッキング モード フレームワークを使用する人はますます少なくなりました。
Node.js
Node.js も非常に人気があり、人気がありますが、バックエンドの主要なプログラミング言語として Node.js を使用している企業を見ることはまだまれです。 C++、Java、PHP、Python 言語にも、Node.js に似た非同期コールバック モードに基づく Swoole-1.0 など、同様のソリューションがいくつかあります。
その本質的な理由は、非同期コールバックの技術的ソリューションと、それに基づいて行われたいくつかの最適化ソリューション (Promise、Future、Yield/Generator、Async/Await など) がプログラム開発のスタイルと習慣を変えたことです。これらのテクノロジーを使用したい場合、エンジニアはこれらのキーワードと関数の使用方法をさらに学習する必要があります。
これらの技術的ソリューションの使用は、既存のプログラムと互換性がありません。 研究開発費は膨大であり、スムーズな移行が難しいと言えます。非同期コールバック技術スタックの人気に影響を与えました。このプログラミング モデルは誰にとっても受け入れがたいものです。
コルーチン
コルーチン モードでは、同期ブロッキングの保守性と非同期ノンブロッキングの高い同時実行機能が考慮されています。将来的にはバックエンド開発分野における主流の技術ソリューションとなるでしょう。
最も重要なことは、コルーチン モードを実行するには既存のプロジェクト コードをいくつか調整するだけで済み、古いプロジェクトとも完全な互換性があるということです。互換性のために必要なのはフレームワーク層のみです。これにより、チームのスムーズな移行が可能になります。
コルーチン モードを使用すると、開発者は追加のキーワードや関数の使用法を学習する必要がまったくありません。コーディングスタイルは同期モードとまったく同じです。
さまざまなコルーチン テクノロジーの中で、GO
は最も素晴らしいものです。コルーチン、チャネル、静的言語、パフォーマンス、豊富なコンパイル、豊富な標準ライブラリ、完全なエコロジー、Google など、利点が多すぎます。 GO
是最耀眼的那一个。协程、通道、静态语言、性能、富编译、标准库丰富、生态完整、Google 等,优势太多了。GO 语言,个人认为是目前所有编程语言中,最值得学习的。
Swoole 2.x
让 PHP 这门 20多年历史的老牌后台编程语言也能有协程的能力。相比 Go
这样的技术,PHP + Swoole
的技术栈,更适合快速开发、快速迭代、业务驱动的场景。毕竟动态语言比静态语言还是要更加灵活、开发效率更高。而 Go
更适合编写系统级软件、核心业务。
2018 年我重构了 swoole framework 这个很老的项目,底层支持 Swoole 2.x
协程模式。主要原因是车轮公司内部有很多项目基于这个框架,尤其是服务层全部用了 swoole framework。我们希望业务代码一行不改,可以一键切换为协程模式。理论上其他的同步阻塞 PHP 框架,如 Laravel 、Yii ,都可以实现只修改底层兼容 Swoole 2.x
协程,实现项目代码无缝切换协程模式。
使用协程后,整个系统的性能、并发能力、稳定性有了巨大提升。过去,线上经常出现一个慢请求导致整个服务器卡住的问题不存在了。
PHP & Swoole
虽然 Swoole 2.0 只有不到两年的历史,相比 Go 语言 10 年的耕耘,还有很长一段路要走。但相比 GO 这样的静态语言,PHP + Swoole 还是有很多优势的,PHP 更加简单易用,PHP 是动态语言,使用起来更加灵活。
当然,如果是新项目还是推荐使用 Swoft 这个专门为 Swoole 2.x
GO 言語は、現在のすべてのプログラミング言語の中で最も学ぶ価値があると私は考えています
Swoole 2.x
を使用すると、20 年以上の歴史を持つベテランのバックエンド プログラミング言語である PHP にコルーチン機能を持たせることができます。 Go
などのテクノロジーと比較して、PHP + Swoole
のテクノロジー スタックは、迅速な開発、迅速なイテレーション、ビジネス主導のシナリオにより適しています。結局のところ、動的言語は静的言語よりも柔軟で開発効率が高いのです。 Go
は、システム レベルのソフトウェアやコア ビジネスの作成に適しています。
2018 年に、非常に古いプロジェクトである swoole フレームワークをリファクタリングしました。基礎となる層は Swoole 2.x
コルーチン モードをサポートしています。主な理由は、ホイール会社内にこのフレームワークに基づいたプロジェクト、特にサービス層がすべて swoole フレームワークを使用していることが多いためです。ビジネス コードが 1 行も変更されず、ワンクリックでコルーチン モードに切り替えられることを願っています。理論的には、Laravel や Yii などの他の同期ブロッキング PHP フレームワークは、プロジェクト コード内でコルーチン モードのシームレスな切り替えを実現するために、基礎となる互換性のある Swoole 2.x
コルーチンを変更することしかできません。
コルーチンを使用した後、システム全体のパフォーマンス、同時実行性、安定性が大幅に向上しました。以前は、リクエストが遅いとサーバー全体がオンラインで停止することがよくあったという問題はもう存在しません。 PHP & Swoole
Swoole 2.0 はまだ 2 年も経っていませんが、Go 言語の 10 年間の努力に比べれば、まだまだ長い道のりです。ただし、GO のような静的言語と比較すると、PHP はよりシンプルで使いやすく、より柔軟に使用できるという利点があります。 もちろん、新しいプロジェクトの場合は、Swoole 2.x
用に特別に設計されたフレームワークである Swoft を使用することをお勧めします。これにより、歴史的な問題が少なくなり、安定性が向上します。
Swoole 2.0 コルーチンのおかげで、私たちは PHP の将来にまだ自信を持っています。 関連するおすすめ:

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









StableDiffusion3 の論文がついに登場しました!このモデルは2週間前にリリースされ、Soraと同じDiT(DiffusionTransformer)アーキテクチャを採用しており、リリースされると大きな話題を呼びました。前バージョンと比較して、StableDiffusion3で生成される画像の品質が大幅に向上し、マルチテーマプロンプトに対応したほか、テキスト書き込み効果も向上し、文字化けが発生しなくなりました。 StabilityAI は、StableDiffusion3 はパラメータ サイズが 800M から 8B までの一連のモデルであると指摘しました。このパラメーター範囲は、モデルを多くのポータブル デバイス上で直接実行できることを意味し、AI の使用を大幅に削減します。

自動運転では軌道予測が重要な役割を果たしており、自動運転軌道予測とは、車両の走行過程におけるさまざまなデータを分析し、将来の車両の走行軌跡を予測することを指します。自動運転のコアモジュールとして、軌道予測の品質は下流の計画制御にとって非常に重要です。軌道予測タスクには豊富な技術スタックがあり、自動運転の動的/静的知覚、高精度地図、車線境界線、ニューラル ネットワーク アーキテクチャ (CNN&GNN&Transformer) スキルなどに精通している必要があります。始めるのは非常に困難です。多くのファンは、できるだけ早く軌道予測を始めて、落とし穴を避けたいと考えています。今日は、軌道予測に関するよくある問題と入門的な学習方法を取り上げます。関連知識の紹介 1. プレビュー用紙は整っていますか? A: まずアンケートを見てください。

この論文では、自動運転においてさまざまな視野角 (遠近法や鳥瞰図など) から物体を正確に検出するという問題、特に、特徴を遠近法 (PV) 空間から鳥瞰図 (BEV) 空間に効果的に変換する方法について検討します。 Visual Transformation (VT) モジュールを介して実装されます。既存の手法は、2D から 3D への変換と 3D から 2D への変換という 2 つの戦略に大別されます。 2D から 3D への手法は、深さの確率を予測することで高密度の 2D フィーチャを改善しますが、特に遠方の領域では、深さ予測に固有の不確実性により不正確さが生じる可能性があります。 3D から 2D への方法では通常、3D クエリを使用して 2D フィーチャをサンプリングし、Transformer を通じて 3D と 2D フィーチャ間の対応のアテンション ウェイトを学習します。これにより、計算時間と展開時間が増加します。

この四角い男性は、目の前にいる「招かれざる客」の正体について考えながら眉をひそめていることに注意してください。彼女が危険な状況にあることが判明し、これに気づくと、彼女は問題を解決するための戦略を見つけるためにすぐに頭の中で探索を始めました。最終的に、彼女は現場から逃走し、できるだけ早く助けを求め、直ちに行動を起こすことにしました。同時に、反対側の人も彼女と同じことを考えていた……『マインクラフト』では、登場人物全員が人工知能によって制御されている、そんなシーンがありました。それぞれに個性的な設定があり、例えば先ほどの女の子は17歳ながら賢くて勇敢な配達員です。彼らは記憶力と思考力を持ち、Minecraft の舞台となるこの小さな町で人間と同じように暮らしています。彼らを動かすのはまったく新しいものであり、

9 月 23 日、論文「DeepModelFusion:ASurvey」が国立国防技術大学、JD.com、北京理工大学によって発表されました。ディープ モデルの融合/マージは、複数のディープ ラーニング モデルのパラメーターまたは予測を 1 つのモデルに結合する新しいテクノロジーです。さまざまなモデルの機能を組み合わせて、個々のモデルのバイアスとエラーを補償し、パフォーマンスを向上させます。大規模な深層学習モデル (LLM や基本モデルなど) での深層モデルの融合は、高い計算コスト、高次元のパラメーター空間、異なる異種モデル間の干渉など、いくつかの課題に直面しています。この記事では、既存のディープ モデル フュージョン手法を 4 つのカテゴリに分類します。 (1) 「パターン接続」。損失低減パスを介して重み空間内の解を接続し、より適切な初期モデル フュージョンを取得します。

上記と著者の個人的な理解は、画像ベースの 3D 再構成は、一連の入力画像からオブジェクトまたはシーンの 3D 形状を推測することを含む困難なタスクであるということです。学習ベースの手法は、3D形状を直接推定できることから注目を集めています。このレビュー ペーパーは、これまでにない新しいビューの生成など、最先端の 3D 再構成技術に焦点を当てています。入力タイプ、モデル構造、出力表現、トレーニング戦略など、ガウス スプラッシュ メソッドの最近の開発の概要が提供されます。未解決の課題と今後の方向性についても議論します。この分野の急速な進歩と 3D 再構成手法を強化する数多くの機会を考慮すると、アルゴリズムを徹底的に調査することが重要であると思われます。したがって、この研究は、ガウス散乱の最近の進歩の包括的な概要を提供します。 (親指を上にスワイプしてください

Redis は、オープンソースの高性能 Key-Value データベース システムであり、その高速な読み取りおよび書き込み速度、複数のデータ型のサポート、豊富なデータ構造などの特性により、リアルタイム ランキング システムで広く使用されています。リアルタイムランキングシステムとは、ゲームのポイントランキングやECの売上ランキングなど、一定の条件でデータを並び替えるシステムのことです。この記事では、Redis がリアルタイム ランキング システムを構築する際に使用する主要なテクノロジと、具体的なコード例を紹介します。コンテンツには次の部分が含まれます: Redis データ型の並べ替え計算

1. はじめに 1.1. 車線変更の機能 簡単に言えば、車線変更の機能は、後続の計画モジュールで使用するために選択される基準線から 1 つの基準線を選択することです。 Apollo によってオープンソース化されています。大幅に削減され、単純なフレームワークのみが残されています。アクティブな車線変更、(障害物による) パッシブな車線変更、比較的完全なステート マシン、車線変更ウィンドウ、ギャップ選択などの多くの機能が欠落しています。この技術記事では、既存のフレームワークに関する内容のみを示します。その他の車線変更機能の内容については続報を楽しみにしていてください 1.2. 車線変更ステートマシン Apollo の現在の車線変更ステートマシンは次のとおりです: ステートマシンについて注目すべき点がいくつかあります: IN_CHANGE_LAN ここ