ホームページ  >  記事  >  資格のあるプログラマーとして、あなたはどのように「訓練」を受けていますか?

資格のあるプログラマーとして、あなたはどのように「訓練」を受けていますか?

小云云
小云云オリジナル
2017-11-07 15:14:521993ブラウズ

html / javascript / css、これらはフロントエンドが学ぶ必要があるものであり、さらに Angular、React、Vue などの多くのフロントエンド フレームワークも同様に学ぶ必要があります。


フレームワークを学んだ後にのみ、プロジェクトを開始し、仕事を見つけ、追加、削除、確認という輝かしい旅を始めることができます。

しかし、これで十分とは言えません。

データ構造とアルゴリズムを学ぶ必要があります。そうしないと、あなたが書くコードは、隣の Big Fatty Zhang が書いたコードほど優れたものになることはありません。同じニーズであれば、他の人のコードは目には楽しいですが、あなたの乱雑なコードは目に見えません。リーダーから徹底的に批判されました。

つまり、「アルゴリズム」、「Dahua データ構造」、「グラフィック データ構造」、「アルゴリズムの概要」...すべてを合わせても、配列、スタック、キュー、バイナリ ツリー、グラフ、ソート、検索は保証されません。あなたは溺れます。

みんなとチャットするときは、いくつかの一般的なデザイン パターン、特にシングルトン パターンの記述方法をいくつか挙げることができなければなりません。そうしないと、外出するときに他の人に挨拶するのが恥ずかしくなるでしょう。

常にタスクを割り当てられるジュニアコーダーになることは絶対に不可能なので、オブジェクト指向の分析と設計を学ばなければ、将来、リーダーから重要なタスクを任され、分析や設計を依頼されることになります。モジュールをどのように分割するか、サービスの場合はインターフェイスをどのように設計するか。どのような原則とガイドラインに基づいていますか?

ソフトウェア開発プロセスとベスト プラクティスは、アジャイル開発、DevOps、単体テスト、継続的継承、TDD、ペア プログラミングなど、プログラマーにとって急速に必要なものになってきています。

プログラマーの自己研鑽として、基本的なコンピューターの知識も必須です。

コンピューターの構成原理とノイマン構造を理解する必要があります。そうでないと、コンピューターがどのように動作するかを理解せずに一日中プログラムを書くことになり、さらに深く知りたければ、笑われることになります。第二に、暗い隅には常にコンピレーションが待っているからです。

データベース、基本的な SQL、テーブルの設計を学ぶ必要があります。パラダイム、ロック、分離レベルは困難です。

もう少し深く掘り下げると、アーキテクチャ レベルでのシャーディング、テーブル シャーディング、バックアップ、読み取り/書き込み分離についても理解する必要があります。

リレーショナルデータベースだけでは十分ではありません。NoSQLはインターネット時代に非常に普及しており、仕事で使用される可能性は非常に高いでしょう。キャッシュはエスケープできません。Memcached と redis は作業にすでに必要です。

現在、インターネットに接続されていないプログラムはほとんど絶滅しているため、少なくとも http、https、socket、tcp がどのように機能するかを理解する必要があります。また、RSA、ハッシュ、 https から派生した証明書は機能します。

セキュリティは実際には大きなトピックです。XSS、CSRF、SQL インジェクションなどは、Web プログラミングで考慮する必要があります。

プロセス/スレッド、それらの間の通信と同期、同期/非同期、ブロッキング/ノンブロッキング、選択/エポーリング、その他の流行を理解できるように、オペレーティング システムについても学ぶ必要があります。響く言葉。仮想メモリとファイル システムは大まかに理解する必要があります。さらに、Linux の基本的なコマンドをいくつか入力できる必要があります。vi を使用できるとさらに良いでしょう。

Java 仮想マシンを深く理解します。仮想マシンがどのように動作するかを理解していないと、システムには理解できない問題がいくつかあります。

Tomcat、Ngnix もあります...これらを短期間で徹底的に研究することはできません。

「離散数学は非常に重要であり、コンピューター サイエンスの基礎です!」という声も聞こえるかもしれません。次に、ブール演算に加えて、その他の同値関係、半順序、命題計算、述語計算、群、格子などを見てみましょう。これは人々を完全に混乱させるでしょう。

これらの基本的な知識を習得する前に、クラウド コンピューティング、ビッグ データ、マイクロサービス、コンテナーについてもっと知りたいと思いませんか?後れを取るのが怖くないですか?

プログラマーはとても素晴らしく、さまざまな新しいテクノロジーによって前進し続けます。しかし、一方で、ソフトウェアプログラミングに興味がある人は、新しいおもちゃが次々と登場するので、とても幸せです。一緒に遊ぶこともできます。したがって、この困難な業界で競争力を維持したい場合は、学び続ける必要があります。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。