サプリメント

必ず、昨年概要を、いくつかの利益をしようとしますが、常に怠るために、独自の理由を見つけること。一方で、これらのものではなく、システムは、他の一方で、彼らは大学院の準備のために持ってやや些細感じます。しかし、これは、このアイデアは、登場時から、週末にこのブログを要約する最終的には「無駄」時間ダイビングの中心となっている要約したいと思います。
これはと呼ばれるブログのタイトルであるサプリメントの理由。

ブロガーは、ジュニアソフトウェア工学の学生、PythonのWeb開発を学ぶ前に一年近く、自分の問題に遭遇、認識と理解のボーエンは主にいくつかあり、そして今、再び人生のフォークに立ちました。

ボーエンは、次のものがあります。

  • 言語とフレームワーク(Pythonの+ジャンゴ)
  • データベースで発生する問題
  • サーバデプロイメントの問題が発生しました
  • 想定されるプロジェクトの要件
  • ソフトウェア開発チームは、理解するために
  • 見通し

まず、言語やフレームワーク

約17年後半に、私はほとんどのPythonの尊敬群衆、半不完全なスタート学習ソリューションとして知っています。そして今、ますます多くの大学では新入生の入門プログラミング言語として使用します。

1.1 Pythonの

解釈の言語は、本質的に低速でラベル貼付効率ですが、この説明は、中間製品、Pythonのソースの解釈の二つのステップです。

  • 最初のステップ:バイトコードにソースコード
  • ステップ:マシンコードへのバイトコードを変換

Pythonのファイルがコンパイルされたときに、インポートファイルの間に関係があることが注目されるに注目し、それが__pyc__フォルダが生成されます。PYCファイルはモジュールソースのPythonバイトコードインタプリタによって変換されます。私たちのプログラムが変更されていない場合(PY代表はpychon PYCは、cは意味、PythonのファイルをコンパイルされPYCコンパイルされている)、そして、あなたがプログラムを実行する次回は、あなたがソースからバイトコードへのプロセスをスキップすることができ、 PYCファイルが直接ロード。そうすることの目的は、より高速に実行することです。開発効率を向上させたい、いくつかのトレードオフの実行効率を行うことが可能です。

動的型付け言語として、唯一のコードの一部を読むことができることは、変数またはパラメータを決定することは困難であるコメントや変数の命名規則が必要であるので、それが何を意味するのか、どのようなタイプを表します。あなたが本当にコードを実行する場合と内側端で見てみたかった、もはやも原因変数の内部でその結果異常やその他の条件にあるかもしれないもの、元のデータ型されません。Pythonライブラリで非常に多くのデータ構造の変数が期待通りに保存することができることを保証するために、インスタンスおよび文のタイプがあります。

これはコーディング標準、文書やコメントの重要性を強調しています。
+ = +ドキュメント・ソフトウェア・プログラムのデータ=データ構造+アルゴリズム+データ+ドキュメント

その後、どのオブジェクト、別のオブジェクトへのオブジェクトからそれに可変ポインティングことを確実にするために:この変数は、それぞれ異なるオブジェクトを指すことができる(Pythonでは、すべてのオブジェクトが「流暢Pythonは」と言われますか)?元のオブジェクトは、メモリの量を解放する必要があり、無駄であるべきです。オブジェクトの参照カウントが0になると、Pythonはデフォルトのガベージコレクションとして参照カウント方式は、各レコードの参照番号のターゲットオブジェクトの参照フィールドの維持管理を使用してこの問題を解決するために、オブジェクトがすぐに回収された、オブジェクトがメモリ空間を占めます彼がリリースされました。しかし、このような分野、各オブジェクトを維持するだけでなく、余分なメモリ空間を占有し、循環参照の問題を解決することはできませんので、Pythonのマークの導入 - の二つのメカニズムのスイープGCと世代リコール。

あなたが学びたいのであれば、「流暢Pythonは」間違いなくオープン新たな扉のPythonのを助けることができます。

1.2コーディング規約

タブを定義することが異なるエディタの数が矛盾しているので、PE8が規制は、何の提案タブが、4つのスペースを使用することを言っていません。問題がない場合でも、ローカル書き込みコードは、何の問題は、他のエディタは、結局、何のPythonの構文は、この構成コードブロックをブレースないとき、インデントはインデントよりも、自分自身に依存している他の人々によって回避することはできません他がはるかに必要な、それでも唯一のタブを使用しての習慣を取り除く、悪い習慣は、一週間かかる場合がありますが、彼は努力を取り除くために数回を費やしました。名前付き習慣は、合理的なコメント、長い時間がない、矛盾している、私は自分のコードを読んでいません。
私は大まかに言って、非常に多くの単語を見て場所を覚えているようです

プログラムの究極の目標は、交換することがチームのために機能し、ユーザーをコードする仕様を実現し、他の人と通信するために、他の人はあなたが書いたものを理解することができ、あなたが理解することができ、他の誰かによって書かれています

1.3ジャンゴ

人々は常に需要を満たすために進化する中で、言語やフレームワークを学んでいる、必然的に、新バージョンと旧バージョンとの間に矛盾があります。新しいバージョンが古いバージョンと互換性を持つようにすることを上位話す互換性の下でのソフトウェアエンジニアリング。バックオフィス・システムとしてxadminを使用している場合しかし、それは必ずしもそうではありません、登場しDjango2.xの非互換性の問題。元xadminはDjango1.xが行うベースず、原作者はもはや維持されています。

後端の先端が常に送信要求認証データを、繰り返されるフォームが送信されるように、データ入力の前端に属性は、認証情報データベースマッチデータベーストーク抽出検証、データを取得するために手動で行うバックエンド認証を行うタグ付けするようマッチ3検証する前に検証を行いますモデルは少し不必要に見えますが、文字列形式を使用する場合があります誰かが実行可能なスクリプトコードに入力するか、問題のあるホスト上で重要な情報(SQLインジェクションやCSRF)を盗む防ぐことはできません。
あなたはより慎重にすることはできません。

公式文書の枠組みを学ぶことは間違いなく、最も右側の情報です。

第二に、データベース

ただ、MySQLの......

2.1ゴミ問題

私は連絡をデータの最大量は百万データ(フィールド)で、爬虫類は、近年の大学入試の各種機関のすべてのスコア、および大学に関する情報をクローリングない実験室の学校の弟で、データ上で私たちの手を得ますときに、2つのテーブル、私は合併をしたいの2つの表は、数時間のために実行しているコンピュータの結果は、最終的にあきらめたオーバーされていません。そこ二日は学校の弟のMongoDBエクスポート・データベース・テーブルから、解決して、私のローカルのMySQL、デフォルトのUTF-8によるデータベースの両側をインポートするために続いた問題もあるが、私は、MySQLとみなさまた、後に文字化け中国のデータインポートデータを表示するためにここにいます、学校の兄弟が後の順序でデータがデータエクスポートテーブルの後、完全かつ正確な輸出であるかどうかをチェックしたり、開くことがWPSオフィスで少しを見ることを私に言った、UTF-8は、実際には3つの文字の代わりに、4つの文字ですが、これは実際には文字化けの理由ではありません実際には、これが問題である、中国のオフィスソフトウェアは、UTF-8は非常に可能性が高くなります> GBKまたはUTF-8> GBKまたはgb2313、問題はないが、GBKまたはgb2313-で漢字であるGB2312漢字コーディング、にデフォルト設定されますゴミ問題。

2.2デザインのテーブル構造

接触の小さなウェブサイトのデザインのテーブル構造が比較的単純であり、一般的に使用される実際のデータシートには、テーブルとテーブル構造との関連付けを行うかどうか、ダースまでであり得る、フィールドが空でない、デフォルトのプロパティは、データベーステーブルの主キーを設定し、実際に問題があります開発とテストは、ローカルに、より明白暴露します。実装とテスト機能のための時間のほとんどは、データベースの参照整合性を維持するために、重複データ、外部キーを削除するために追加され、例外は、多くの場合、代わりにデータを再追加、削除されたデータベース全体に直接落ちる、エラーを求めるメッセージが表示されます悪い習慣とみなされるべきであるカスケード削除、。

  • 一方では、データテーブル構造の設計は無理があります
  • 一方、背後にあるコードは、例外処理のために十分ではありません。

それは政府機関で使用されているため、偶然にも、私は、内部の業績評価システムのセットを行うために研究室に姉妹校を見て、裁判所は、それはまだ非常に高い機能的信頼性で、データベースは、MySQLで、学ぶための表では、発表しましたあなたが管理することは容易ではない、より高い関連するデータベースの設計と処理の経験要件をすれば、その後ダースについて、しかし、テーブルとテーブルの間の関連付けを行いませんでした。実際には、後でこの対応テーブルとテーブルの_set内部データベースモデルジャンゴにある情報を表示するには直接高効率フィルタクエリを照会することはありません。しかし、あなたはModelSerializerは、Djangoの残りの枠組みの中でテーブルに深クエリデータがそうであるように、より簡単に特定の問題を分析するために、いくつかの深いに問い合わせることができます関連するテーブル構造の手段をすれば。
私は、データベースを設計あれば:

  • それともうまく設計されたデータテーブルの外部キー主キーは変更を加えないようにしてください。
  • 簡単または外部キー、主キーがデフォルトになりませんが、フィールドが空でない場合、デフォルトのプロパティ値を設定してください必ずしも真剣に検討する必要があります。

第三に、サーバー

オンライン管理システムへの書き込み時に、昨年以来、教師はCentOSのサーバーのアカウントのパスワードを与え、その後、私が始めたオンラインチュートリアルに従って、オペレーティング・システムのグラフィカル・ユーザ・インタフェース、完全に無知な力で最初の接触を行ってきました、あなたが設定ファイルを変更した後、量はリモートで恥ずかしい接続することはできません。
欠陥を是正するためには、彼は、今年アリクラウドサーバーを買って少しLinuxのために行く、そして見て、厚い「鳥の兄は、Linuxを学ぶ従う」で、小さな部分を見て、実際には、多くのコマンドを見ていますもう一度再試行し、その後忘れ、唯一のいくつかの簡単なコマンドも覚えている場合は、原則として、そして、役割と権利と心の中で、ハードとソフトリンクの原則。

多くの問題があった+ジャンゴ+ nginxの展開時間をCentOSのを使用してサーバーの展開

3.1スタイルは表示されません。

アリクラウドにDjangoプロジェクトを展開した後に発生することが分かっ管理インターフェース(Webサーバとしてnginxの)管理者は、スタイルは表示されません。対応するCSSやJSリソースなしではなく、静的なディレクトリの下にプロジェクトファイルにファイルが、静的リソースをCSSリソースの発見を表示するには、ブラウザを開いた後、ローカル開発やプロジェクト、Djangoプロジェクトのための生産に、プロジェクトパスでスタイルを収集しようとします両方の状態で管理静的ファイルあなたがライン上の展開に静的なファイルのパスを指定する必要があり、同じではありません。

3.2コード変更の失敗

アリクラウドにDjangoプロジェクトを展開した後、仏塔は、プロジェクトのソースコードを変更、または末端修飾、修正して再起動しnginxのuwsgi無効の後に直接使用するコントロールパネルを使用します。ときにローカル環境、直接修正し、その後、あなたはより便利なのrunserver効果を、再起動することができますが、問題のサーバーへ。

  • 一方では:あなたは、サーバー上で直接ソースコードを変更する場合は、厳格な要件にPythonのインデント自体ので、それは例外エラーが発生します。
  • 一方:現地時間では、サーバーを実行するためのpython manage.pyののrunserverを使用しています。これは、テスト環境の使用に適用されます。あなたがソースコードを変更するたびに、あなたがNgnixを再起動する必要があること。

ソースコードのアップロードサーバを変更した後、サーバーのプロジェクトディレクトリを入力し、uwsgiプロセスを表示、
すべてのプロセスを強制終了、その後、仏塔やnginxのを再起動する直接的なため、その後、有効にする変更をuwsgi再起動してください。

第四に、需要が想定されています

機能が欲しかったがたくさんある、(チーズはパワーである)のみ一時的に撚りできる知識を習得したかったです。

  • 匿名ユーザーへのアクセスを制限する方法
  • どのように自分の著作権管理を行います
  • 何が高い同時実行に起こります
  • 最適化
  • データ処理
  • 新技術と組み合わせることで
  • ......

4.1権限の管理

舞台裏経営上のジャンゴ-adminまたはxadminは完璧ですが、あなたはそれを自分で行う場合は?スーパー管理者を生成するためのDjangoプロジェクトは、端末内のプロジェクトディレクトリに直接入力することもできます
python manage.py createsuperuser
し、管理者パスワード、メールアドレスを入力して。スーパー管理者は、一般ユーザーのゼネラルマネージャーを追加するなど、すべての権限を持っています。Djangoは、テーブルにデフォルトで生成、is_staffは、デフォルトのユーザ識別フィールドを持っていることについてある使用IS_SUPERUSER、0または1フィールドは、一般的な管理者とスーパーユーザかどうかに対応します。xadminでは、いくつかの管理者に何のサプリメントを再実行しないと再行うテーブルにオフィス機能を再度ログインし、ある程度、管理要員を使用して、より高いセキュリティをIPの操作を追加するようにユーザーに最適です。

4.2アクセス制限

スロットル(アクセス制限) - ジャンゴレスト枠組みの中で呼ばれる特別な名前を持っている1つの匿名ユーザーのアクセス制限は、特に、利用者のIPアドレスを使用します。それは数回クリックする前に、問題ありませんが、一度行の数回の後、一定の時間制限が解除された後にのみ、アクセスが制限されます際に、ユーザーがページを要求し、通常は何倍であるか、リンクをクリックして、通常のアクセス。匿名ユーザーは、匿名ユーザーによって発行された要求であるかを特定しなければならない制限する、IPアドレスは一意の識別子です。第1の送信要求の時点でユーザは、キャッシュを辞書で生成することができる場合、キーの辞書が一意にユーザとユーザのアクセス時間を識別され、辞書はキーの各要求に追加され、設けられています。ほとんどの訪問は、アクセス時間がより多くのキーと値のペアを追加するための最初の時間のために設定し、アクセスを許可するかどうかを決定するために最終アクセス時間を比較しています。

4.3同時実行

これは私から最も遠いものだそうですが、一日あたり2ワット+ヒットがある場合、好奇心事は、学校の教務の事務所によると、他のいくつかの例には接触をシミュレートしていないと考えることは常にある、6に早い時間で配布します午前中の2つの20時間の合計、及びその後28の原則に従う、2ワットの+ヒットを受け入れるために4時間を仮定するだけでなく、秒あたりの平均の1.5倍未満です。あきらめます。

4.4最適化

シンプルな最適化は、多くの方法で行うことができます。
私は、バックエンドのコードをデバッグするときに覚えて、その後、ブラウザをリフレッシュ効果ではないでしょう、その理由は、ブラウザのページキャッシュに行われるべきで、コンソールを開き、キャッシュをキャンセルします。フッター内のjsファイルの動的効果ながら、彼らは、ユーザーにシンプルなスタイルをスタイルシートをロードするためにネットワークの遅延を防ぐために、頭の中でのCSSスタイルシートの主要部分であると強調しようとすることに変更し、フロントページでは、 、徐々に動的なコンテンツをロードし、ユーザーの不満を最小限に抑えることができます。含まれる複数のCSSやJSファイルブラウザがそう静的ファイルの数を減らし、要求の一部の一部となる場合と、ページをクリックするとも仕方小さいときに同時要求の数は、ファイルブラウザは、ライン上にありますJS文は新しいJSファイルを作成するのではなく、HTMLタグに直接埋め込むことができます。

  • データベースへの接続を最小化
  • Djangoのキャッシュメカニズムは増加します
  • データベースのインデックス
  • ......
  • 我々は来てみてくださいまだあります

4.5データ処理

米国では大型スーパーマーケット、おむつとビールを販売するために一緒に入れて。これは奇妙に思えるかもしれないが、おむつとビールの売上が増加しています。これは、表現、行動パターンのおむつとビールを発生した実際のケースである:仕事の後、若い父親は、多くの場合、赤ちゃんのおむつを買うためにスーパーマーケットに行き、彼らはいくつかの人々はまた、自分自身のためにいくつかのビールを買って持っています。顧客の購買習慣から出土また、相関ルールとして知られているこの法律を、「他の製品を購入する商品のための偉大な記録、(原因特定のイベントの発生には、いくつかの他のイベントの発生の原因となりました)」。大規模なデータウェアハウスの顧客取引データの蓄積がある場合、小売業者が購買パターンに基づいたマーケティング戦略、関税デザイン、マーチャンダイジング、商品や排出量の開発を支援するために相関ルールを抽出するために、データウェアハウス、データマイニングから行うことができ、顧客部門。私はそれがプロジェクトの電力供給製品推薦アルゴリズムとして、アプリオリアルゴリズムには不可能であると思いますか?今、インターネットデータの配当勃発。
顧客は、いくつかのお菓子を拾うための素晴らしい機会を変更しないだろう、の割合を持って商品を購入している場合、前のビールとおむつの話では、今、スーパーマーケットのレジスタンドの隣には、ガム、キャンディを噛む、いくつかの小さなスナックを入れます代わりに。しかし、今何?モバイル決済の利便性は面倒な問題は徐々に誰も気にしないスーパーマーケットのレジ商品によってもたらされた変化することを検討する必要されていません。

4.6新技術

ショッピングモールで使用するデータマイニング技術、現在、非常に人気の高い画像認識は、学校運営に適用されますか?
伝統的な奨学金や財政援助に従って評価者は、その後、確かに不公平が存在することになる場合には、学生の管理等のホステル管理、奨学金評価システムは、人間の要素がそれに混入した場合、一般的なキャンパス管理システム。管理システム及び画像認識の組み合わせは、寮のドアを通って、カメラ教室は、より合理的であると、奨学金の参照を評価するために、キャンパスカード残高と毎月の費用内で生徒を監視することで、参照係数として、学生の出席、クラスレートをチェックする場合は、公正かつ衡平な。

ラボの先生、それと養豚場が行動を行うと、検出された音を認識するための最後の夏。

これらは、単に大胆なビジョンです近くに移動するために、この才能を卒業したいと考えています。

第五に、チームワーク

5.1コミュニケーション

私はそれは教師が小さな管理システムを行う助けるために、とき10月の初めに、昨年後半の9月だった、最初の本物の戦闘心はまだための神経であることを覚えています。仕事を終えるためには、中秋節と国慶節は家に行きませんでした。しかし、常に時にはそれがラボに行きませんでした、休憩を取る休暇の時間を探して、先生は過去に席に私を呼び出すしないように私を見て、基本的にすべての二、三日は私に話をして行うために私に尋ねたでしょう私は本当に私を促す感じていたか、初めはまだ少し矛盾していました。
実際に自身の問題、私は彼らが解決策をしたい、自分の、日常の問題に代わりに焦点を当て、私がやるだろうということ、教師、または通信の少ないクリアな感覚と通信するために好きではないの前には、として、教師がビジーでないと教師が通信していることを感じますプロジェクトの管理者-教師は何かをする方法を私のスケジュール毎日知りません。
ソフトウェアプロジェクト管理の理解これらの事はよう、戦略的に有利な立場を思えプロジェクトの進捗のない良好な制御が良好であれば、プロジェクトのマネージャー、ユーザーがパニックになり、プロジェクト全体の遅延あるいは失敗。先生はそうすることが正しかったです。
そして私は、将来的にチームの新人、または作業など研修生としてならばと思い彼らのリーダーシップの仕事や作業の進捗状況についての彼の即時復帰への週は非常に必要であり、それは少なくともあなたがそこにいる彼を残します常に学習ではなく、良い印象を死ぬために食品と混合。

技術的な知識がハードパワーであれば、コミュニケーション能力は、すべての位置にあるソフトパワーで再利用することができます。

5.2需要の問題

計画、分析、設計、コーディング、テスト、運用・保守。
人は、小さなプロジェクトをやっている場合、私はウォーターフォールモデルによる問題の真偽を感謝し、それは、あなたに少なくとも一つの基準の開発プロセスを与えることができ、最初から最後まで、そこに基づいています前段のウォーターフォールモデルの結果は、後の段階の基礎となる問題はなく、プロジェクト内の頻繁な変更のため、各リンクフィードバックを持っている場合でも、プロセス全体の崩壊につながる可能性がある場合でも、依存性は、舞台が高すぎます。また、プロジェクトの初めに、彼らはまた、ユーザーが完全に非常に明確に開始する彼らのニーズ、変更の大きな度合いのないニーズを表現する、ことを保証する方法がないとだけ受け渡しステージまで、ユーザが実際の業績とソフトウェアのサイズを確認します。

5.3フルスタック

ブロガーはジュニアあり、多くの学生も忙しいし、後半に自分自身を練習することを切望している、魚を捕まえるために多くの研修会社があり、トレーニング技術は、フルスタックの開発のPython、およびJavaエンタープライズ・開発が含まれています。しかし、なぜPythonは唯一のフルスタックのですか?私は、バックエンドのPythonは、Javaと比較して比較的軽量である、唯一の中小企業がバックエンドテクノロジー・スタックの開発としてPython + Djangoに使用されますしなければならなかったと思ったが、私は間違っていました。数日前のブログの庭の知人は、それがVue.jsとDjango Restframeworkを使用することで、Pythonのウェブを行い、インターンとしてガチョウの工場へのオファーを取得すると言います。私は同時に、フロントとリアのコーディング段階の開発、フロントと分離モードの後端を知りません。

私は最初の単語のスタック全体を聞いて、先生で、先生は、私の第一印象にあるときに食べるように言った:チームトップできるフルスタックエンジニアです。
具体的な定義があります:エンジニア、データベース、サーバー、およびクライアントシステムエンジニアリングのすべての作業を処理することができます。
だから、本当にありますか?学部生のために、困難が大きなポイントかもしれません。
チームの位置洗練され分化、職務、およびプレスの減価償却費は、人の価値があることを意味します。そして、より多くの自己駆動感謝に依存します。
あなたが必要なときに、フロントエンドサーバーのメンテナンスの開発を支援することができることができれば、このようなバックエンドとして、個々のチームにコードの移植のソフトウェアエンジニアリングの再利用、コードのマッピングソフトウェアに注意を払い、その後も彼は確かに出て競争上の優位性を強調
だから、フルスタックエンジニアが独立して、人々の製品を完了することができます。
私は果物テンセントシニアUIエンジニアだった著者は、ウェスタン・エレクトリック卒業「自己修養のウェブエンジニアフルスタック」を、スタック全体についての本を読みました。各章の本は各章で推奨読書リストを絞るために、一定時間後に見て、厚いが、非常にエキサイティングではありません。

第六に、サプリメント

私は研究室に先生が、研究室を離れる大学院の準備のために、今年月上旬に、学び続けることを自ら申し出たときに早い3月の最終年は学校を始めた覚えている、私も去年、私のために全体の年が最も意味のある年だと思います。エネルギーとその姉妹校の先輩だけでなく、多くの教師よりも強力では非常に幸運、一緒に働くことができるようになります。
今、顔の人の数が多いの毎日が苦しんでいるので、6月、約3ヶ月で近づいて、そして英語で長い文章を読むために、私は多くの場合、実験室のミスに前に感じてコードを書く機能を実現したいですビルディング・ブロック自体を構築し、問題があるでしょうしても、良いヒープのように自身の作品が崩壊してしまうが、問題が最終的に分析することが決議された、収穫のスリルは、おそらくゲームの勝利ではありません比較することができ、また取り残さ問題解決の経験将来的に再びそれを繰り返すことは避けすることができます。また、私は世界が自分の感情であるかのように、コードをノックヘッドフォンのようなものが好き。

最初の検査の準備時間で取り乱し開始する方法がわからない、私はセクションを持つ姉妹校校の好きなラグラン超えると再試験はほぼ運なぜならながら、ベースの友人は、最初の敗北を検討し、勝利を心配していない私に言いましたそれがこれを行う方法を失敗した場合、それが壁にバックアップ場合は再審査を夢見時間連続で夜は不幸なブラシで、無意識のうちに行う方法を考えるが、答えは不明ですが、私は知りません。あなたが研究室に滞在し続けた場合、私は今、質問ブラシアルゴリズムのインタビューの質問や面接の準備の訓練にする必要があります。

私が達するのを助けることができます私はフィットPubMedのだかどうかは知りませんが、今私は本当に3年後に、私はこの本を見てみたいので、必要がある、私は科学の知識と技術だけでなく、大学院のアイデンティティを学びたいですより強力な人々を理解円の私の学部リーチ、。


これは私が今いくつかの単語、とはまた印象的と私年生で家族ソク、この兄の混乱です。

古典的な本のいくつかを見て、誰もが学習と研究の独自の方法を持っているどのくらいのあなたの手、クッキーカッターのコンテンツがありません。

ブログやビデオチュートリアル、抜け穴、論理的な矛盾の場所があるでしょう不可避であるが、印刷された本の繰り返し改正後は基本的にこの問題を持っていない、個人的な要約です。本当にすべての後に、より多くのを読んでください

あまりにもナイーブ、若すぎる、不適切な偏っている場合、上記のすべての1を参照してください、それでも、後輩のブロガーを理解し、結局、と指摘してください。

おすすめ

転載: www.cnblogs.com/welan/p/10926645.html