すべてのプログラマーが読む必要のある12の記事

1.プログラマーが知っておくべき記憶記事

これは非常に古典的な記事であり、記憶のすべての側面にあなたを導くでしょう、古いもの、新しいもの、知っているもの、知らないものがあります。メモリは非常に一般的でユビキタスですが、すべてのプログラマが十分に知っているわけではありません。高性能アプリケーションを作成している場合は、最新のシステムのメモリを理解することが特に重要です。ハードウェア設計者は、CPUキャッシュなどのより複雑なメモリ処理およびアクセラレーションテクノロジーを導入しましたが、プログラマーなしでは価値を最大化できません。まだこの記事を読んでいますが、ランダムアクセスメモリ(RAM)、レベル1およびレベル2キャッシュを含むCPUキャッシュ、さまざまな種類のメモリ、ダイレクトメモリアクセス、メモリコントローラーの設計、および通常の記憶の知識。つまり、すべてのレベルのプログラマーにとって必読の記事です。

2.すべてのコンピューター科学者が知っておくべき浮動小数点演算

浮動小数点演算は非常に技術的なトピックであり、習得は容易ではありません。多くのJavaプログラマーは、==演算子を使用してfloat / double型を比較す​​ることの何が悪いのか知りません。通貨の計算にfloat / doubleを使用すると、多くの人が間違いを犯しがちです。この記事はこのシリーズのエッセンスであり、すべてのソフトウェア開発者が読む必要があります。あなたの経験が成長するにつれて、あなたは間違いなくいくつかの一般的なものの詳細に深く入りたいと思います、浮動小数点演算はそれらの1つです。上級Java開発者は、通貨操作の実行方法、float、double、またはBigDecimalをいつ使用するか、浮動小数点数を丸める方法などを理解する必要があります。浮動小数点演算の基本的な知識を知っていても、この記事を読んだ後は間違いなく何か新しいことを学ぶでしょう。

3.すべてのプログラマーが知っておくべきUnicode記事

文字エンコーディングは、多くのプログラマーが苦労しているもう1つの領域です。「すべてのプログラマーは、Unicodeと文字セットを明確に理解する必要があります(言い訳はありません)」このギャップを埋めます。マークしてください、はい、これはこの記事のタイトルです。これは、stackoverflow.comの創設者の1人であるJoel Spolskyによって書かれました。Joelはこの記事を10年前に彼のブログに公開しましたが、今日でも当てはまります。この記事では、Unicodeとは何か、文字エンコードとは何か、文字がバイトでどのように表されるかなどについて説明します。この記事の最も優れた点は、その言語と記述であり、Unicodeが何であるかはわかりませんが、簡単に理解できます。つまり、これはプログラマー、コードファーマー、およびソフトウェアエンジニアにとって必読の記事です。
ここに画像の説明を挿入
第四に、すべてのプログラマーは時間を知っている必要があります

文字エンコーディングに加えて、時間も日付も、私を含め、プログラマーがよく陥る領域です。上級開発者でさえ、グリニッジ標準時(GMT)、世界標準時(UTC)、夏時間、うるう秒などによって殺されます。率直に言って、タイムゾーンの問題に対処する場合、夏時間などを追加することはもちろん、いくつかのピットを踏まないことは困難です。試行錯誤が必要な場合は、問題が解決しないため、さらに悪化します。ここには、多くの考えられるエラーや誤解があります。たとえば、日付にタイムゾーンが含まれているかどうかが気になる場合があります。UNIXの時刻を他のタイムゾーンに変換するとクラッシュする可能性があります。クロックの同期と遅延については忘れてください。この古典的な記事を読んだ後、時間についての多くの誤解が解消され、日付についての基本的な常識を統合できることを願っています。

5、すべてのWeb開発者はURLエンコーディングの記事を知っている必要がある

この記事では、Uniform Resource Locator(URL)エンコードに関する一般的な誤解を紹介し、HTTP URLエンコードとは何かを明確にして、最後にいくつかの一般的なエラーと解決策を示します。この記事の内容はプログラミング言語に固有のものではありませんが、Javaを使用して問題を説明し、URLエンコーディングの問題を修正しています。URLの基本的な構文、HTTPやその他のプロトコルでの一般的なURL形式について学びます。この記事では、文字エンコード、URLのさまざまな部分の予約文字、URLエンコードとデコードの問題など、URLの一般的なエラーもいくつか紹介します。Java開発者であれば、JavaでURLを正しく処理する方法、URLを構築する方法、Apache Common Httpクライアントライブラリを使用する方法を学びます。最後に、URLの構築時にエンコードする必要がある、URL書き換えフィルターがURLを正しく処理することを確認するなど、いくつかのベストプラクティスの提案も提供します。これは、どんなWEB開発者にとっても必読の記事です。

6.すべてのプログラマーが知っておくべきWEB開発

これは、programmers.stackexchange.comに関する非常に興味深い記事であり、プログラマーがWebサイトを外部にリリースする前に実装する必要がある技術的な詳細について説明しています。これには、インターフェース設計とユーザーエクスペリエンス、セキュリティ、WEB標準、パフォーマンス、検索エンジン最適化(SEO)、およびいくつかの重要なリソースが含まれます。今日の世界はインターネットに大きく依存しており、多くのプログラマーは独自のWebサイト(通常はブログ)を持っています。この記事で学んだことは専攻には役立たないかもしれませんが、個人的には間違いなく役立ちます。HTML、HTTP、XML、CSS、JavaScript、ブラウザーの互換性、Webサイトのロード時間を短縮する手法、XMLサイトマップ、W3C仕様、その他の多くの主要な詳細など、いくつかの主要なテクノロジーについて学びます。
ここに画像の説明を挿入
7、すべてのプログラマーはSEOを知っている必要があります

これは、Web開発者、プログラマー、ブロガーにとって非常に重要な記事です。多くのプログラマーはブロガーでもあるため、SEOを無視することはできません。Googleがコンテンツを取得して他のプログラマーに推奨するのに役立つ検索エンジン最適化の基本を学ぶことは非常に重要です。今日のネットワーク相互接続の時代では、WEBなしには企業は存在できません。SEOは特に重要になっています。あなたがいくつかの製品を販売するスタートアップを持っているなら、SEOはあなたが集中する必要があるものです。すべてのプログラマー、特にWEB開発者は、この記事から多くの恩恵を受けることができます。SEOは非常に大きく変化するテーマであり、GoogleやYahooなどの検索エンジンによってSEOは異なります。したがって、このスキルを習得するには、知識ベースを頻繁に更新する必要があります。

8. Cプログラムが知っておくべき未定義の動作

C言語には、未定義の動作という概念があります。未定義の動作は非常に広範なトピックであり、多くのニュアンスがあります。これが、Javaが好きな理由の1つです。未定義の動作がそれほど多くなく、混乱があまりなく、より安定していて不連続です。人々にとって自然に見える多くのことは、実際にはCでの未定義の動作であり、これもプログラムのバグの一般的な原因です。さらに、Cでの未定義の動作は特定の実装(コンパイラーとランタイム)によって決定され、それらが生成するコードはハードドライブをフォーマットしたり、予期しないことをしたり、さらに悪いことになります。この記事を読んで、未定義の行動の海で泳いでください。

9、ネットワークプログラマーは知っておく必要があります

この文章は、「あなたはプログラマーです。マルチプレイヤーゲームを実現する方法を考えていますか?外部から見ると、2人以上のプレイヤーがネットワークを通じて同じ体験を共有しています。まるで同じ仮想世界にいるようなものですが、プログラマとして、以下の真実はあなたが見ているものとは異なることを知っています。実際、これは単なる幻想です。」これはWebに関する非常に興味深い記事であり、ゲーム開発者向けに書かれていますが、すべてのプログラム開発者がこの恩恵を受けることができると思います。
ここに画像の説明を挿入
10、Javaプログラマーは文字列を知っている必要がある

これは、java.lang.Stringに関する私自身の記事です。個人的には、すべてのJava開発者が知っておくべきだと思います。文字列は毎日のJava開発において非常に重要です。そのため、すべてのJavaプログラマーは文字列をよく知っているはずです。この記事では、文字列プール、文字列定数、==と等号を使用して文字列を比較する、バイト配列を文字列に変換する、文字列が不変である理由、文字列を正しく接続する方法など、文字列の多くの重要な領域について説明します、などなど。上級プログラマはすべてこれらのことを知っている必要がありますが、それらを確認することは良いことです。

11.プログラマーが知っておくべきセキュリティ

コンピュータサイエンスの学生がStackOverFlowでこの質問をしました。オペレーティングシステム、アルゴリズム、データ構造、コンピュータアーキテクチャなどの一般的なプログラミング概念について学んだように、セキュリティを理解することも同様に重要です。セキュリティは、暗号化と復号化、SSL、WEBセキュリティ、混乱、認証、認可などを含む大きなトピックです。すべてのプログラマが知っておくべき基本的な知識です。最初にこの業界に入ったとき、私は個人的にセキュリティについてあまり知りませんでした。このとき、サーブレット/ JSPに基づいてJava WEBプログラムをいくつか書き始めました。その後、EWBのセキュリティとSQLインジェクションなどのセキュリティの脅威について学びました。サービス拒否、XMLインジェクション、クロスサイトスクリプティングなど Java開発者として、コーディングのためにfortify、PMP、およびその他の静的コードアナライザーによって提供されるJavaセーフコーディング標準に従っています。この記事は、セキュリティのトピックに関する優れたコレクションです。コードを書くかどうかにかかわらず、これらのリソースは非常に役立ちます。

12.プログラマーが知っておくべき遅延時間

この記事は追加のボーナスですが、すべてのプログラマが読むべきものでもあります。使用している言語に関係なく、JavaまたはC ++が適しています。高性能アプリケーションを作成するには、メモリから変数を読み取り、1次キャッシュから読み取るのにかかる時間など、レイテンシの基本を理解する必要があります。二次キャッシュについてはどうですか、SSDハードディスクからランダムに読み取るのにどのくらいかかりますか?また、ディスクから読み取る場合はどうなりますか?mutexのロックとロック解除にはどのくらいの時間がかかりますか。ある都市から別の都市にデータパケットを送信するのにどのくらいかかりますか。同じデータセンターにいるのにどのくらいかかりますか。これらの遅延数は、プログラミング言語に依存しません。開発者は、高頻度および低遅延のアプリケーションを作成する必要があり、コア知識ベースの一部です。この記事についての良いニュースは、これらの遅延が長年にわたってどのように変化したかを教えてくれるということです。2006年の遅延時間と現在の遅延時間を確認できます。

これは、すべてのプログラマーにとって必読の記事のリストです。これらの記事のタイトル、つまりすべてのプログラマーが知っておくべきXXXを見て、特定のトピックに関する詳細な知識を学ぶことができます。率直に言って、プログラマは学ぶことが多すぎます。Java言語の学習は氷山の一角にすぎませんが、誰もが学ぶ熱意を持っているわけではありません。プログラムを書くことは非常に困難な仕事です。あなたのキャリアにおいて、メモリ、Unicode、浮動小数点数、時間、セキュリティなど、これらの基本的な知識があなたを助けることができます。これらはプログラマにとって非常に重要です。重要。一部の記事は、Stringに関する私の独自の記事や、すべてのCプログラマーが知っておくべき未定義の動作など、言語に関連していますが、多くの初心者がそれを学ぶのは良いことです。

共有するより高品質の記事:

アジャイルチームにおけるテスターの役割

若いプログラマーにとって非常に役立つ記事

自動テストで良い仕事をする方法、アリババの階層化された自動化の道を明らかにする

自動テストを行う前に理解する必要があります

ソフトウェアテストについて!あなたが知りたいすべてがここにあります、Xiaobaiは必見です!

自動テストの10年の経験

比較において!ソフトウェアのテストとテスト開発の補償の間に大きな違いはありますか?

10年間のソフトウェアテストエンジニアの認識-まだ混乱している友人へ

ソフトウェアのテストは35日以降に実行できないのは本当ですか?

最後に:ここで私は建築学習交換グループをお勧めします。Exchange学習ボタングループ:313782132は、シニアアーキテクト(Spring、MyBatis、Nettyソースコード分析、高並行性の原則、高パフォーマンス、分散、マイクロサービスアーキテクチャ、JVMパフォーマンス最適化、分散アーキテクチャ)によって記録されたいくつかのビデオ録画を共有しますこれらが建築家に必要な知識システムになるのを待ちます。

おすすめ

転載: blog.csdn.net/weixin_50271247/article/details/108534497