この記事は、一週間の疲れを癒すために書いたものですが、一方で、私の学習体験を皆さんに紹介し、ホームページへの推薦申請もしたいと思っています、ありがとうございます〜
私は Linux ですC プログラマーで、サーバー プログラミング、サーバー アーキテクチャ、最適化に重点を置いており、lighttpd、nginx、jabberd2、memcached などのソース コードを読んでいます。主に、lighttpd、apache、などの Web サーバーの設計と実装の研究に興味があります。 nginx などのアーキテクチャと設計の詳細をソース コード レベルで理解しています。
一日中C言語を打ち続けて鈍感になってしまったので、将来の起業に対して一定の理想や展望を持っているので、下位のコーディングやデザインの段階に留まりたくないので、上部構造も昇華して欲しいと思っています。ある程度下位構造を補佐し、上位下位両方に対応できる優秀なプログラマになります。
前にも述べたように、最初は Apache のソース コードに焦点を当てていましたが、数日読んだ後、人生のすべてをこのような巨大なものに費やすには短すぎると感じたので、「Apache ソース コード分析」を購入しました。は、この魔法の本を使用して、Apache のソース コードを分析しました。マルチプロセス アーキテクチャと、プリフォークとワーカーの実装の詳細がすべて考慮されています。 Apache は学習を手抜きしており、http および mod 関数がまったく未知であることが多すぎることが判明したため、軽量ソース コード lighttpd を使用して詳細なソース コード分析を行い、決して諦めることはありませんでした。
ソース コードを読むことは、最初はそれほど難しくありませんでした。私は memcached のソース コードを読んだ経験があるため、(コア コードと比較して) 周辺コードを快適に読むことができ、非常にやりがいがあります。コア コードを読み進めると、HTTP サーバーと WEB サーバーに関する基本的な知識が非常に不足していることがわかり、先に進むことが困難でした。
そこで、「Building High-Performance Web Sites」という本を購入し、3 日以内に読みました。その恩恵は計り知れません。優れたブログ投稿を見つけるために協力し、HTTP プロトコル、WEB サーバーを理解するために使用しました。現時点では関連する洞察や知識はあまりありませんが、構成に関しては非常に重要な進歩が見られます。ソース コードを読み検索し続けたところ、lighttpd コードを完全に読んで混乱し、いくつかのプラグイン (Mod) を読み飛ばしてしまい、ソース コード レベルでのプラグイン アーキテクチャの設計についてまだ疑問が残りました (これは質問 その後、会社でのインターンシップ中に、Jabberd2 と実際の開発を完全に理解しました。
この後の期間も、lighttpdのソースコードを考え続け、常に問題点を発見するので、さらに探索して考え、ソースコードの詳細を見直し、ソースコード体系を再編成していきます。しかし、まだ疑問がいくつか残っているので、答えを見つけることを期待して nginx コードを読み始めなければなりませんでした。もちろん、私はソース コードのほんの一部、主に http リクエストの解析部分だけを読みました。プロセスの作業モデルと I/O セクション。
この時点で、私は HTTP プロトコルの対話型実装原理をある程度理解しました。書籍「Building High Performance...」での http プロトコルの詳細な紹介により、すべての http についてより完全に理解できました。田畑。
この時点で、言いたいことが多すぎることに気づき、急いで Web 学習段階に移行する必要がありました。
Webを学ぶ理由は非常に単純で、記事の冒頭でも述べたように、自分のやりたいことをやりたいからであり、一番手っ取り早いのはモバイル端末かWebアプリケーションであり、WebアプリケーションはどちらのPCにも適用できます。第 2 に、Web サーバーは独自の分散プロトコル (HTTP)、簡単なアクセス方法 (get/post) を迅速にセットアップできます。ステートレスショート接続機能自体は完璧なフェチであり、特に Web サーバーの実装を研究してきた私のような人にとっては、プロトコルの下のバイト ストリームさえ見ることができます。 。 。 (笑)
その後、その会社にインターンシップに行き、すぐに仕事の関係で HTTP サーバーを開発するために C 言語に触れました。HTTP サーバーは、合法的な HTTP リクエストを受け入れ、そのデータを保存および転送する必要がありました。このプロセスは、XML+Nginx が提供する http_parser ライブラリを利用して迅速に開発されました。epoll のマルチプロセス アーキテクチャに基づいており、jabbered2 のソース コードを読む必要があります (RFC を読むのに 1 週間以上かかりました)。プロトコルとソースコードは会社にいる間)。
Web を扱う人がますます増えており、会社では全員に C/PHP をマスターするよう要求しているため、Web を学ぶための道のりが急速に議題に上っています。
ゼロから始めるのは常に困難であり、忍耐力が必要です。最初は、正しい勉強方法が見つかりませんでした。CSDN に来て、みんなの提案に耳を傾け、自分の計画にアドバイスを与えることに慣れていました。今では、ある程度の成功を収めたように、記事を書くのが好きです。共有してリラックスしてください(そして自慢してください〜)。相談してみると、目の前にあるhtml、css、js、ajax、phpはどれも魔法のようなもので、どうしたらそんなにたくさん学べるのかと感じました。私はゆっくり学ぶしかなく、無限の知識欲を抱えて、w3school で 3 日間かけて、左のコンテンツを含む html、xhtml、css、js、ajax、php、mysql をすべて読みました。コラム終わりました。しかし、コードを 1 行も入力したことはなく、読んだ後はすぐに忘れてしまいました。
数日間放置していましたが、もう一度読む気力がなくなりました。この時点、つまり 2 週間前には、DIV+CSS の配置を理解しなければ、固定ページを書くことさえできないと感じていました。 js.jQueryについて話しましょう。私はビデオを見て学ぶことにしたので、会社の高帯域幅を使用して、eMule で心ゆくまで汗を流しました。 。 2 つのシリーズのビデオをダウンロードしました。1 つは html+css に関する Chuanzhi ポッドキャスト ビデオで、もう 1 つは Lamp Brothers の PHP ビデオです。どちらも html+css+js+ajax について話しています。私は最初に Lamp ビデオを視聴しました。仕事中は一日中ヘッドフォンをつけて観ていますが、仕事から帰ってきたら真夜中に観ています。 。 。両方のシリーズの html+css 部分を約 3 日で読み終えたので、家に帰ってルーターに Linux サーバーをセットアップし、lnmp をデプロイしました。ルーターの NAT は外部ネットワークから直接アクセスでき、ピーナッツ シェルを設定しました。 DDNS を開始し、CSS+DIV を練習するために静的ページの作成を開始しました。
静的ページを作成するには、Web サイトを見つけてそれを模倣し始めます。外観は模倣しますが、コードは模倣しません。 。 。それで、書くのはとても簡単だということがすぐにわかりましたが、IE を使用するときに問題が発生し、何度も調整しようとしましたが、うまくできなかったので、一日休みを取ってしまいました。 CSDN に問い合わせたところ、IE には、float ブロック要素のマージンが 2 倍になるなど、特別な処理が必要なバグが多数あることがわかりました。私の非互換性の主な理由は、私のページが IE と非 IE で一貫性を持ち始めたため、Ai Bai などの単純なページのコードを参照して、ポップアップ ドロップを追加して何度か書き直しました。ちなみに、私は、ダウンメニュー、スクロール広告、フローティングフォローアップ広告も練習しました。大学時代に、自慢するためだけにアルゴリズムをいじっていたので、(C の背景から)少し自信が持てました。説明しない)。
Webを学びたいと本気で勉強していた時期に、「Python学習マニュアル」を買ってざっと読んですぐに忘れてしまうなど、基本的にいくつかの失敗もしました(実はPythonが大嫌いです)関数を 1 つずつライブラリにカプセル化します。私は単純な問題を複雑にするのが嫌いです)。この後、つまりフロントエンドの基本的なことをマスターした後、PHP についてさらに深く学習する必要があると感じます。 !ビデオは、Windows 開発を衝動的に学んでいたときに見た Sun Xin のビデオと、アルゴリズムを始めるのに役立った Yan Weimin のデータ構造ビデオを今でも覚えています (冬休みに足でビデオを見て過ごしたこともあります)。データ構造を交差させたり入力したりするなど)、ビデオは入門用の魔法の武器であることは認めざるを得ませんが、真に詳細な練習をするには、プログラマーとしての技術的な自信を得るために、より多くの読書、より多くの思考と要約、そしてより多くのコーディング実験が必要です。 。
学習用の参考書は Dangdang です。長い間 Amazon を観察した結果、私は聖書の力を常に信じている「聖書」でもある「PHP と MYSQL Web 開発」を信じることにしました。私は「UNIX ネットワーク プログラミング」と同じように、「UNIX 環境での高度なプログラミング」を信じています。私は、書評で「聖書」の本が「簡単すぎる」、「印刷品質が悪い」、「CD がついていない」などと言うような不快な行為に真剣に疑問を持ち、非難します。それらは私の正しい判断にある程度影響を与えました。 。
「PHP と MYSQL Web 開発」は先週半ばから始めて、5、6 日ほどかかった今日水曜日に読み終えました。多くの人が私の読書やビデオの視聴の速度と品質に疑問を抱いているはずです。お気軽に質問してください。 。 。実際、私がこの本を読むときは、次のような計画で読みました。 1. 文法を詳しく理解する! 2. addslashes、stripslashes、htmlspecialchars、urlencode などのセキュリティ関数の使用に注意してください (使用方法を正しく理解するには、本当に多くの追加の説明が必要です。以前は非常に多くの誤解があり、ひどいことです)。後半の展開のすべての例。 4. Web 開発に十分な自信を得る。
尽きない知識欲で、一日中休まず本を読み、分からないときはただ入力するだけでしたが、歳を重ねるごとに頭が働かなくなることが多くなりました。わからないし、しばらくすれば脳が思い出すと思うが、調べてもしばらく何も思い出せなかったので、本を閉じて、今迷っていたことをじっくり考えた。 。 。この問題を発見した後、私はメモを取り始めました。もちろん、それは自分が知っていることを記録するためではなく、後でこの問題をテストするためにコードを入力することを書き留めるためでした。
この本を読んだ後、私はすべてをマスターしたと感じています。これは一種の技術的な自信です。第一に、私は一般的な Web プログラマーよりも低レベルの知識を持っていると信じています (クライアント側の JS エンジンを除く)。 , Web サイトを開発するのに十分な能力があると信じています (フロントエンド + バックエンドのオールインワン。最初は少し違うかもしれませんが、仕事で Web 開発タスクを要求することで向上させたいと考えています)。
PHP については多くの専門家がいますし、私は単なる初心者ですが、実際には、どの本でも一通り読めばシステムが形成され、学ぶことができることがわかりました。あなたが誤解していたり、注意を払っていなかったりする問題はたくさんありますが、非常に貴重です。さらに、私が読書と言うときは、1,000 ページ未満の本を読むのに 2 ~ 3 週間以内に設定することを意味します。このような忍耐力がないと、本を読み終えることができないか、1 ~ 2 か月経っても何も覚えていない可能性があります。本当に価値がありません。
ぐ~~(???)b、方法がわからない場合は、マニュアルの例を見てください (http://download.csdn.net/detail/) dmtnewtons/4122897、基本はほぼ同じです。小さなプロジェクトに取り組み始め、徐々に熟練してきました。道は長くて、下へ下へ探します...
、とても情熱的です
礼拝 C を学習している場合、それに関する中国語の情報がどこにあるか知っていますか?いくつかお勧めします。ずっとCに拡張したいと思っていたんですが、英語が下手すぎます
大内マスター!
私はウェブサーバーのソースコードをたくさん読みました。あなたの経験を共有してください。
おめでとうございます
人々の間に分離はありません
あなたは学生ですか、それとも働いていますか?
素晴らしい人です、私を崇拝しに来てください
ぐ~~(???)b、方法がわからない場合は、マニュアルの例を見てください (http://download.csdn.net/detail) /dmtnewtons/4122897、基本はほぼ完成しました。小さなプロジェクトに取り組み始めて、徐々に熟練してきました。道は長い、長い、上も下も探検してみます...
さて、私の彼女はプロダクトガールです、探検しながら前に進みます...
、とても情熱的です
急いでください若いピンイピン - -
礼拝 C 言語を学習している場合、中国語の教材がどこにあるのか知っていますか?いくつかお勧めします。私はずっと C に拡張したいと思っていましたが、英語が下手すぎます
C 言語の中核はポインタであり、言語関連の問題にはコンパイルとリンクの理解が含まれます。 Linux C で開発している場合は、「UNIX 環境での応用プログラミング」+「UNIX ネットワークプログラミング 第 1 巻」を詳しく読み、ネットワーク (epoll/select) などに注意して、libevent の実装について学習してください。ライブラリ、memcached、またはその他のサーバー コードについて、ネットワーク開発関連のことを学ぶことができます。
おめでとうございます
線が互いに分離していません
ありがとうございます。それを学びたいと思ってから約 1 か月が経ちました。私はまだ好奇心を満たすために詳細を調べています。
素晴らしい人、私を崇拝しに来てください
私を崇拝しないでください、私は初心者です Web 分野に参入したい人のために、Web を学習した経験を共有したいと思います。私自身〜
c を使って php を実行したところ、非常に人気があることがわかりました。なぜなら、PHP を使用するだけで C を開くことができるからです。 PHP と C は切っても切れない関係です。
若いのは良いことだ、一晩で 7 つの章が書かれている
学習のプロセスはとても苦痛だ。
とてもゆっくり本を読んでいたカイカイが通り過ぎました。 。 。 。
私はもともと、php の欠点について議論したいと思っていました。 。 。 。 。 。 。しかし、投稿者はたくさんの本を読んで学んでいるのに、誰もが学ぶべき意見や経験を提供していないようでした
私は昨日この記事を見つけて、php を無価値だと批判しました:
http://me.veekun .com/blog/ 2012/04/09/php-a-fractal-of-bad-design/
勉強しましょう
私は元々、php の欠点について議論するために参加したかったのです。 。 。 。 。 。 。しかし、投稿者はたくさんの本を読んで学んでいるのに、誰もが学ぶべき意見や経験を提供していないようでした
私は昨日この記事を見つけて、php を無価値だと批判しました:
http://me.veekun .com/blog/ 2012/04/09/php-a-fractal-of-bad-design/
PHP 5.3 以降、MS SQL に接続するのは本当に面倒です
私は実母からのものではありません。私は新卒で、インターンシップがもうすぐ終わり、学校に戻ります。
学生時代は図書館で一日中本を読んで過ごせた日々がとても懐かしいです。さまざまな無料リソースを大切にしなかったのが残念です〜
やあ、できる勤勉なプログラマーです。傷つく余裕はないよ〜
私も毎日ハの本を読むのが恋しい
私も毎日ハの本を読むのが恋しい 本
礼拝
モチベーション あなたはどこにいるの
とても強い
たくさんの感情と恩恵。最後の文は焦点を強調しています。読みたい場合は、最後の段落を読んでください。 ! !
素晴らしい記事ですね、非常に有益です....
私は元々、php の欠点について議論したいと思っていました。 。 。 。 。 。 。しかし、投稿者はたくさんの本を読んで学んでいるように見えましたが、誰もが学ぶべき意見や経験を提供していないようでした
私は昨日この記事を見つけて、php を無価値であると批判しました:
http://me.veekun .com/blog/ 2012/04/09/php-a-fractal-of-bad-design/
私はもともと、php の欠点について議論したいと思っていました。 。 。 。 。 。 。しかし、投稿者はたくさんの本を読んで学んでいるのに、誰もが学ぶべき意見や経験を提供していないようでした
私は昨日この記事を見つけて、php を無価値だと批判しました:
http://me.veekun .com/blog/ 2012/04/09/php-a-fractal-of-bad-design/ 何度も再版された記事
元の投稿者の小さな赤い花だけで拝むのに十分です、そして私はそう感じます恥ずかしい。
投稿者は大学院を卒業しましたか?
応援してください、
元の投稿者は数日間パーティーメンバーではありませんか? ctrl+f で「完了」を検索すると、数日で読みすぎていることがわかります
あれ数日で 10 行を一気に読み終えましたか? それはすぐに多すぎます。見ても見なくてもいいからもっとやってね?
ねえ、私はそんなに良い人生を送っていない... 私は PHP を練習し続けます
元の投稿者、私は学びたいという強い欲求を持っています。
悪くない、とても良い
若いのは良いことだ、ため息。
羨ましい、憧れる!着陸地点に近づいてください
彼はまさに達人です!
すごいですね、始めたらすぐにソースコードを見てください!
おめでとうございます、おめでとうございます。 。
確かに、彼は偉大なマスターです
私も毎日 Ha Shu を読むのが懐かしいです
c と php は何の関係がありますか
おめでとうございます
私はマスターで、たくさんのことを知っているような気がします。
電子書籍はありますか?
懐かしいです、時間があるときに勉強したほうがいいです
私のクラスメートのphp、サポートと崇拝。
彼の本の例では、関数を上手に活用してください。たとえ文章を出力するとしても、それは関数として定義されなければなりません。
情熱は良いことです。
礼拝!
誰かをサポートすることを学びましょう。
読書への情熱は学ぶ価値があります
偉大な精神は学ぶ価値があります!相互励まし合います!
ホストの精神は素晴らしいです!
よく書かれています
数日で本を読み終えました、感心します、なぜ私にはそれができないのですか
私も毎日ハの本を読むのが懐かしいです
みんなと共有してくれてありがとう! ~
初心者として、あなたの記事を読んでとても勉強になりました!初心者向けにさらに指導や提案をしていただければ幸いです。
とても分かりやすく、考え方をあまり変える必要はありません
私は c を使って php を実行しましたが、非常に人気があることがわかりました。なぜなら、PHP を使用するだけで C を開くことができるからです。 PHP と C は切っても切れない関係です。
なんて恥ずかしいことでしょう!恥ずかしい!
オーナーさん、あなたは私を誤解させています。
荘子はこう言いました。「私の人生には限界があり、私の知識には限界がありません。もし私に限界があるなら、私は無限に従うでしょう、そしてそれは台無しになります
人の人生の時間は有限です。」そして学びの海は無限です 有限な人生を使って無限を追求します 無駄な知識は費用対効果が高いですか?
私はもともと、php の欠点について議論したいと思っていました。 。 。 。 。 。 。しかし、投稿者はたくさんの本を読んで学んでいるのに、誰もが学ぶべき意見や経験を提供していないようでした
私は昨日この記事を見つけて、php を無価値だと批判しました:
http://me.veekun .com/blog/ 2012/04/09/php-a-fractal-of-bad-design/
数セントの価値があり、同時実行性が低く、単一サーバーで、低構成の Web アプリケーションは、PHP に非常に適しています
オーナー、あなたは私を誤解させています。
荘子はこう言いました。「私の人生には限界があり、私の知識には限界がありません。もし私に限界があるなら、私は無限に従うでしょう、そしてそれは台無しになります
人の人生の時間は有限です。」そして学びの海は無限です 有限な人生を使って無限を追求します 無駄な知識は費用対効果が高いですか?
元の投稿者、NB、どう思いますか?
私はいつも学びたいと思っていましたが、時間がありません
先生、外に出てガールフレンドを作りましょう。遊ぶことはビジネスです。
私もこの本を読んでいます
php の欠点は、最初に固有の欠点があることにあります。発明者は最初、壮大なアイデアを持っていたわけではなく、ただ自分で試してみたかっただけでした。しかし、思いがけず、それを使い始めるとすぐに大ごとになりました。
91 階の返信からの引用:
オーナー、あなたは私を誤解させています。
荘子はこう言いました。「私の人生にも限界はありますが、私の知識には限界がありません。もし私に限界があるなら、私は無限に従うでしょう、そしてそれは台無しになります
人の人生の時間は有限です。」そして学びの海は無限です 有限な人生を使って無限を追求します 無駄な知識は費用対効果が高いですか?
元の投稿者、NB、どう思いますか?
NB という単語について言及する前に、php バージョンでのレベルが 5 つ星に達するまで待ってください。