diff --git a/search/search_index.json b/search/search_index.json index e743d680..5621adf2 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"indexing":"full","lang":["ja","en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"\u524d\u8a00 \u6700\u8fd1\u66f4\u65b0\uff1a Release v1.0.1 \u5df2\u53d1\u5e03 \ud83c\udf89 \u8fd9\u662f\u4e00\u672c\u8ba1\u7b97\u673a\u7684\u81ea\u5b66\u6307\u5357\uff0c\u4e5f\u662f\u5bf9\u81ea\u5df1\u5927\u5b66\u4e09\u5e74\u81ea\u5b66\u751f\u6daf\u7684\u4e00\u4e2a\u7eaa\u5ff5\u3002 \u8fd9\u540c\u65f6\u4e5f\u662f\u4e00\u4efd\u732e\u7ed9\u5317\u5927\u4fe1\u79d1\u5b66\u5f1f\u5b66\u59b9\u4eec\u7684\u793c\u7269\u3002\u5982\u679c\u8fd9\u672c\u4e66\u80fd\u5bf9\u4f60\u4eec\u7684\u4fe1\u79d1\u751f\u6daf\u6709\u54ea\u6015\u4e00\u4e1d\u4e00\u6beb\u7684\u5e2e\u52a9\uff0c\u90fd\u662f\u5bf9\u6211\u6781\u5927\u7684\u9f13\u52b1\u548c\u6170\u85c9\u3002 \u672c\u4e66\u76ee\u524d\u5305\u62ec\u4e86\u4ee5\u4e0b\u90e8\u5206(\u5982\u679c\u4f60\u6709\u5176\u4ed6\u597d\u7684\u5efa\u8bae\uff0c\u6216\u8005\u60f3\u52a0\u5165\u8d21\u732e\u8005\u7684\u884c\u5217\uff0c\u6b22\u8fce\u90ae\u4ef6 zhongyinmin@pku.edu.cn \u6216\u8005\u5728 issue \u91cc\u63d0\u95ee)\uff1a \u5fc5\u5b66\u5de5\u5177\uff1aIDE, \u7ffb\u5899, StackOverflow, Git, GitHub, Vim, LaTeX, GNU Make, \u5b9e\u7528\u5de5\u5177 ... \u73af\u5883\u914d\u7f6e\uff1aPC\u7aef\u4ee5\u53ca\u670d\u52a1\u5668\u7aef\u5f00\u53d1\u73af\u5883\u914d\u7f6e\u3001\u5404\u7c7b\u8fd0\u7ef4\u76f8\u5173\u6559\u6750\u53ca\u8d44\u6599 ... \u7ecf\u5178\u4e66\u7c4d\u63a8\u8350\uff1a\u770b\u8fc7 CSAPP \u8fd9\u672c\u4e66\u7684\u540c\u5b66\u4e00\u5b9a\u611f\u53f9\u597d\u4e66\u7684\u91cd\u8981\uff0c\u6211\u5c06\u5217\u4e3e\u63a8\u8350\u81ea\u5df1\u770b\u8fc7\u7684\u8ba1\u7b97\u673a\u9886\u57df\u7684\u5fc5\u770b\u597d\u4e66\u4e0e\u8d44\u6e90\u94fe\u63a5\u3002 \u56fd\u5916\u9ad8\u8d28\u91cf CS \u8bfe\u7a0b\u6c47\u603b \uff1a\u6211\u5c06\u628a\u6211\u4e0a\u8fc7\u7684\u6240\u6709\u9ad8\u8d28\u91cf\u7684\u56fd\u5916 CS \u8bfe\u7a0b\u5206\u95e8\u522b\u7c7b\u8fdb\u884c\u6c47\u603b\uff0c\u5e76\u7ed9\u51fa\u76f8\u5173\u7684\u81ea\u5b66\u5efa\u8bae\uff0c\u5927\u90e8\u5206\u8bfe\u7a0b\u90fd\u4f1a\u6709\u4e00\u4e2a\u72ec\u7acb\u7684\u4ed3\u5e93\u7ef4\u62a4\u76f8\u5173\u7684\u8d44\u6e90\u4ee5\u53ca\u6211\u7684\u4f5c\u4e1a\u5b9e\u73b0\u3002 \u68a6\u5f00\u59cb\u7684\u5730\u65b9 \u2014\u2014 CS61A \u5927\u4e00\u5165\u5b66\u65f6\u6211\u662f\u4e00\u4e2a\u5bf9\u8ba1\u7b97\u673a\u4e00\u65e0\u6240\u77e5\u7684\u5c0f\u767d\uff0c\u88c5\u4e86\u51e0\u5341\u4e2a G \u7684 Visual Studio \u5929\u5929\u548c OJ \u4f60\u6b7b\u6211\u6d3b\u3002\u51ed\u7740\u9ad8\u4e2d\u7684\u6570\u5b66\u5e95\u5b50\u6211\u6570\u5b66\u8bfe\u5b66\u5f97\u8fd8\u4e0d\u9519\uff0c\u4f46\u5728\u4e13\u4e1a\u8bfe\u4e0a\u5bf9\u7ade\u8d5b\u5927\u4f6c\u53ea\u6709\u4ef0\u671b\u3002\u63d0\u5230\u7f16\u7a0b\u6211\u53ea\u4f1a\u6253\u5f00\u90a3\u7b28\u91cd\u7684 IDE\uff0c\u65b0\u5efa\u4e00\u4e2a\u6211\u4e5f\u4e0d\u77e5\u9053\u5177\u4f53\u662f\u5e72\u5565\u7684\u547d\u4ee4\u884c\u9879\u76ee\uff0c\u7136\u540e\u5c31\u662f cin , cout , for \u5faa\u73af\uff0c\u7136\u540e CE, RE, WA \u5faa\u73af\u3002\u5f53\u65f6\u7684\u6211\u5c31\u5904\u5728\u4e00\u79cd\u62fc\u547d\u60f3\u5b66\u597d\u4f46\u4e0d\u77e5\u9053\u600e\u4e48\u5b66\uff0c\u8bfe\u4e0a\u8ba4\u771f\u542c\u8bb2\u4f46\u9898\u8fd8\u4e0d\u4f1a\u505a\uff0c\u8bfe\u540e\u505a\u4f5c\u4e1a\u5b8c\u5168\u662f\u7528\u65f6\u95f4\u548c\u5b83\u786c\u8017\u7684\u75db\u82e6\u72b6\u6001\u3002\u6211\u81f3\u4eca\u7535\u8111\u91cc\u8fd8\u5b58\u7740\u81ea\u5df1\u5927\u4e00\u4e0a\u5b66\u671f\u8ba1\u7b97\u6982\u8bba\u5927\u4f5c\u4e1a\u7684\u6e90\u4ee3\u7801 \u2014\u2014 \u4e00\u4e2a 1200 \u884c\u7684 C++ \u6587\u4ef6\uff0c\u6ca1\u6709\u5934\u6587\u4ef6\u3001\u6ca1\u6709\u7c7b\u3001\u6ca1\u6709\u5c01\u88c5\u3001\u6ca1\u6709 unit test\u3001\u6ca1\u6709 Makefile\u3001\u6ca1\u6709 Git\uff0c\u552f\u4e00\u7684\u4f18\u70b9\u662f\u5b83\u786e\u5b9e\u80fd\u8dd1\uff0c\u7f3a\u70b9\u662f\u201c\u80fd\u8dd1\u201d\u7684\u8865\u96c6\u3002\u6211\u4e00\u5ea6\u6000\u7591\u6211\u662f\u4e0d\u662f\u4e0d\u9002\u5408\u5b66\u8ba1\u7b97\u673a\uff0c\u56e0\u4e3a\u7ae5\u5e74\u5bf9\u4e8e\u6781\u5ba2\u7684\u6240\u6709\u60f3\u8c61\uff0c\u5df2\u7ecf\u88ab\u6211\u7b2c\u4e00\u4e2a\u5b66\u671f\u7684\u4f53\u9a8c\u5f7b\u5e95\u7c89\u788e\u4e86\u3002 \u8fd9\u4e00\u5207\u7684\u8f6c\u673a\u53d1\u751f\u5728\u6211\u5927\u4e00\u7684\u5bd2\u5047\uff0c\u6211\u5fc3\u8840\u6765\u6f6e\u60f3\u5b66\u4e60 Python\u3002\u65e0\u610f\u95f4\u770b\u5230\u77e5\u4e4e\u6709\u4eba\u63a8\u8350\u4e86 CS61A \u8fd9\u95e8\u8bfe\uff0c\u8bf4\u662f UC Berkeley \u7684\u5927\u4e00\u5165\u95e8\u8bfe\u7a0b\uff0c\u8bb2\u7684\u5c31\u662f Python\u3002\u6211\u6c38\u8fdc\u4e0d\u4f1a\u5fd8\u8bb0\u90a3\u4e00\u5929\uff0c\u6253\u5f00 CS61A \u8bfe\u7a0b\u7f51\u7ad9\u7684\u90a3\u4e2a\u77ac\u95f4\uff0c\u5c31\u50cf\u54e5\u4f26\u5e03\u53d1\u73b0\u4e86\u65b0\u5927\u9646\u4e00\u6837\uff0c\u6211\u5f00\u542f\u4e86\u65b0\u4e16\u754c\u7684\u5927\u95e8\u3002 \u6211\u4e00\u53e3\u6c14 3 \u4e2a\u661f\u671f\u4e0a\u5b8c\u4e86\u8fd9\u95e8\u8bfe\uff0c\u5b83\u8ba9\u6211\u7b2c\u4e00\u6b21\u611f\u89c9\u5230\u539f\u6765 CS \u53ef\u4ee5\u5b66\u5f97\u5982\u6b64\u5145\u5b9e\u800c\u6709\u8da3\uff0c\u539f\u6765\u8fd9\u4e16\u4e0a\u7adf\u6709\u5982\u6b64\u7cbe\u534e\u7684\u8bfe\u7a0b\u3002 \u4e3a\u907f\u514d\u6709\u5d07\u6d0b\u5a9a\u5916\u4e4b\u5acc\uff0c\u6211\u5355\u7eaf\u4ece\u4e00\u4e2a\u5b66\u751f\u7684\u89c6\u89d2\u6765\u8bb2\u8bb2\u81ea\u5b66 CS61A \u7684\u4f53\u9a8c\uff1a \u72ec\u7acb\u642d\u5efa\u7684\u8bfe\u7a0b\u7f51\u7ad9: \u4e00\u4e2a\u7f51\u7ad9\u5c06\u6240\u6709\u8bfe\u7a0b\u8d44\u6e90\u6574\u5408\u4e00\u4f53\uff0c\u6761\u7406\u5206\u660e\u7684\u8bfe\u7a0b schedule\u3001\u6240\u6709 slides, hw, discussion \u7684\u6587\u4ef6\u94fe\u63a5\u3001\u8be6\u7ec6\u660e\u786e\u7684\u8bfe\u7a0b\u7ed9\u5206\u8bf4\u660e\u3001\u5386\u5e74\u7684\u8003\u8bd5\u9898\u4e0e\u7b54\u6848\u3002\u8fd9\u6837\u4e00\u4e2a\u7f51\u7ad9\u629b\u5f00\u7f8e\u89c2\u7a0b\u5ea6\u4e0d\u8c08\uff0c\u65e2\u65b9\u4fbf\u5b66\u751f\uff0c\u4e5f\u8ba9\u8d44\u6e90\u516c\u6b63\u900f\u660e\u3002 \u8bfe\u7a0b\u6559\u6388\u4eb2\u81ea\u7f16\u5199\u7684\u6559\u6750\uff1aCS61A \u8fd9\u95e8\u8bfe\u7684\u5f00\u8bfe\u8001\u5e08\u5c06MIT\u7684\u7ecf\u5178\u6559\u6750 Structure and Interpretation of Computer Programs (SICP) \u7528Python\u8fd9\u95e8\u8bed\u8a00\u8fdb\u884c\u6539\u7f16\uff08\u539f\u6559\u6750\u57fa\u4e8e Scheme \u8bed\u8a00\uff09\uff0c\u4fdd\u8bc1\u4e86\u8bfe\u5802\u5185\u5bb9\u4e0e\u6559\u6750\u5185\u5bb9\u7684\u4e00\u81f4\u6027\uff0c\u540c\u65f6\u8865\u5145\u4e86\u66f4\u591a\u7ec6\u8282\uff0c\u53ef\u4ee5\u8bf4\u8bda\u610f\u6ee1\u6ee1\u3002\u800c\u4e14\u5168\u4e66\u5f00\u6e90\uff0c\u53ef\u4ee5\u76f4\u63a5\u7ebf\u4e0a\u9605\u8bfb\u3002 \u4e30\u5bcc\u5230\u8ba9\u4eba\u773c\u82b1\u7f2d\u4e71\u7684\u8bfe\u7a0b\u4f5c\u4e1a\uff1a14 \u4e2a lab \u5de9\u56fa\u968f\u5802\u77e5\u8bc6\u70b9\uff0c10 \u4e2a homework\uff0c\u8fd8\u6709 4 \u4e2a\u4ee3\u7801\u91cf\u5747\u4e0a\u5343\u884c\u7684 project\u3002\u4e0e\u5927\u5bb6\u719f\u6089\u7684 OJ \u548c Word \u6587\u6863\u5f0f\u7684\u4f5c\u4e1a\u4e0d\u540c\uff0c\u6240\u6709\u4f5c\u4e1a\u5747\u6709\u5b8c\u5584\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u4fdd\u59c6\u7ea7\u7684\u4f5c\u4e1a\u8bf4\u660e\u3002\u6bcf\u4e2a Project \u90fd\u6709\u8be6\u5c3d\u7684 handout \u6587\u6863\u3001\u5168\u81ea\u52a8\u7684\u8bc4\u5206\u811a\u672c\u3002CS61A \u751a\u81f3\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a \u81ea\u52a8\u5316\u7684\u4f5c\u4e1a\u63d0\u4ea4\u8bc4\u5206\u7cfb\u7edf \uff08\u636e\u8bf4\u8fd8\u53d1\u4e86\u8bba\u6587\uff09\u3002\u5f53\u7136\uff0c\u6709\u4eba\u4f1a\u8bf4\u201c\u4e00\u4e2a project \u51e0\u5343\u884c\u4ee3\u7801\u5927\u90e8\u5206\u90fd\u662f\u52a9\u6559\u5e2e\u4f60\u5199\u597d\u7684\uff0c\u4f60\u8fd8\u80fd\u5b66\u5230\u5565\uff1f\u201d\u3002\u6b64\u8a00\u5dee\u77e3\uff0c\u4f5c\u4e3a\u4e00\u4e2a\u521a\u521a\u63a5\u89e6\u8ba1\u7b97\u673a\uff0c\u8fde\u5b89\u88c5 Python \u90fd\u78d5\u78d5\u7eca\u7eca\u7684\u5c0f\u767d\u6765\u8bf4\uff0c\u8fd9\u6837\u5b8c\u5584\u7684\u4ee3\u7801\u6846\u67b6\u65e2\u53ef\u4ee5\u8ba9\u4f60\u4e13\u6ce8\u4e8e\u5de9\u56fa\u8bfe\u5802\u4e0a\u5b66\u4e60\u5230\u7684\u6838\u5fc3\u77e5\u8bc6\u70b9\uff0c\u53c8\u80fd\u6709\u201c\u6211\u624d\u5b66\u4e86\u4e00\u4e2a\u6708\u5c31\u80fd\u505a\u4e00\u4e2a\u5c0f\u6e38\u620f\u4e86\uff01\u201d\u7684\u6210\u5c31\u611f\uff0c\u8fd8\u80fd\u6709\u673a\u4f1a\u9605\u8bfb\u5b66\u4e60\u522b\u4eba\u9ad8\u8d28\u91cf\u7684\u4ee3\u7801\uff0c\u4ece\u800c\u4e3a\u81ea\u5df1\u6240\u7528\u3002\u6211\u89c9\u5f97\u5728\u4f4e\u5e74\u7ea7\uff0c\u8fd9\u79cd\u4ee3\u7801\u6846\u67b6\u53ef\u4ee5\u8bf4\u767e\u5229\u800c\u65e0\u4e00\u5bb3\u3002\u552f\u4e00\u7684\u5bb3\u4e5f\u8bb8\u662f\u82e6\u4e86\u8001\u5e08\u548c\u52a9\u6559\uff0c\u56e0\u4e3a\u5f00\u53d1\u8fd9\u6837\u7684\u4f5c\u4e1a\u53ef\u60f3\u800c\u77e5\u9700\u8981\u76f8\u5f53\u7684\u65f6\u95f4\u6295\u5165\u3002 \u6bcf\u5468 Discussion \u8ba8\u8bba\u8bfe\uff0c\u52a9\u6559\u4f1a\u8bb2\u89e3\u77e5\u8bc6\u96be\u70b9\u548c\u8003\u8bd5\u4f8b\u9898\uff1a\u7c7b\u4f3c\u4e8e\u5317\u4eac\u5927\u5b66 ICS \u7684\u5c0f\u73ed\u7814\u8ba8\uff0c\u4f46\u4e60\u9898\u5168\u90e8\u7528 LaTeX \u64b0\u5199\uff0c\u76f8\u5f53\u89c4\u8303\u4e14\u4f1a\u660e\u786e\u7ed9\u51fa solution\u3002 \u8fd9\u6837\u7684\u8bfe\u7a0b\uff0c\u4f60\u5b8c\u5168\u4e0d\u9700\u8981\u4efb\u4f55\u8ba1\u7b97\u673a\u7684\u57fa\u7840\uff0c\u4f60\u53ea\u9700\u8981\u52aa\u529b\u3001\u8ba4\u771f\u3001\u82b1\u65f6\u95f4\u5c31\u591f\u4e86\u3002\u6b64\u524d\u90a3\u79cd\u6709\u52b2\u6ca1\u5904\u4f7f\u7684\u611f\u89c9\uff0c\u90a3\u79cd\u4ed8\u51fa\u518d\u591a\u65f6\u95f4\u5374\u5f97\u4e0d\u5230\u56de\u62a5\u7684\u611f\u89c9\uff0c\u4ece\u6b64\u70df\u6d88\u4e91\u6563\u3002\u8fd9\u592a\u9002\u5408\u6211\u4e86\uff0c\u6211\u4ece\u6b64\u7231\u4e0a\u4e86\u81ea\u5b66\u3002 \u8bd5\u60f3\u5982\u679c\u6709\u4eba\u80fd\u628a\u8270\u6df1\u7684\u77e5\u8bc6\u70b9\u56bc\u788e\u56bc\u70c2\uff0c\u7528\u751f\u52a8\u76f4\u767d\u7684\u65b9\u5f0f\u5448\u73b0\u7ed9\u4f60\uff0c\u8fd8\u6709\u90a3\u4e48\u591a\u542c\u8d77\u6765\u5c31\u5f88 fancy\uff0c\u79cd\u7c7b\u7e41\u591a\u7684 project \u6765\u5de9\u56fa\u4f60\u7684\u7406\u8bba\u77e5\u8bc6\uff0c\u4f60\u4f1a\u89c9\u5f97\u4ed6\u4eec\u771f\u7684\u662f\u5728\u503e\u5c3d\u5168\u529b\u60f3\u65b9\u8bbe\u6cd5\u5730\u8ba9\u4f60\u5b8c\u5168\u638c\u63e1\u8fd9\u95e8\u8bfe\uff0c\u4f60\u4f1a\u89c9\u5f97\u4e0d\u5b66\u597d\u5b83\u7b80\u76f4\u662f\u5bf9\u8fd9\u4e9b\u8bfe\u7a0b\u5efa\u8bbe\u8005\u7684\u4fae\u8fb1\u3002 \u5982\u679c\u4f60\u89c9\u5f97\u6211\u5728\u5938\u5927\u5176\u8bcd\uff0c\u90a3\u4e48\u4e0d\u59a8\u4ece CS61A \u5f00\u59cb\uff0c\u56e0\u4e3a\u5b83\u662f\u6211\u7684\u68a6\u5f00\u59cb\u7684\u5730\u65b9\u3002 \u4e3a\u4ec0\u4e48\u5199\u8fd9\u672c\u4e66 \u5728\u62112020\u5e74\u79cb\u5b63\u5b66\u671f\u62c5\u4efb\u300a\u6df1\u5165\u7406\u89e3\u8ba1\u7b97\u673a\u7cfb\u7edf\u300b\uff08CSAPP\uff09\u8fd9\u95e8\u8bfe\u7684\u52a9\u6559\u65f6\uff0c\u6211\u5df2\u7ecf\u81ea\u5b66\u4e00\u5e74\u591a\u4e86\u3002\u8fd9\u4e00\u5e74\u591a\u6765\u6211\u65e0\u6bd4\u4eab\u53d7\u8fd9\u79cd\u81ea\u5b66\u6a21\u5f0f\uff0c\u4e3a\u4e86\u5206\u4eab\u8fd9\u79cd\u5feb\u4e50\uff0c\u6211\u4e3a\u81ea\u5df1\u7684\u5c0f\u73ed\u540c\u5b66\u505a\u8fc7\u4e00\u4e2a CS\u81ea\u5b66\u8d44\u6599\u6574\u7406\u4ed3\u5e93 \u3002\u5f53\u65f6\u7eaf\u7cb9\u662f\u5fc3\u8840\u6765\u6f6e\uff0c\u56e0\u4e3a\u6211\u4e5f\u4e0d\u6562\u516c\u7136\u9f13\u52b1\u5927\u5bb6\u7fd8\u8bfe\u81ea\u5b66\u3002 \u4f46\u968f\u7740\u53c8\u4e00\u5e74\u65f6\u95f4\u7684\u7ef4\u62a4\uff0c\u8fd9\u4e2a\u4ed3\u5e93\u7684\u5185\u5bb9\u5df2\u7ecf\u76f8\u5f53\u4e30\u5bcc\uff0c\u57fa\u672c\u8986\u76d6\u4e86\u8ba1\u79d1\u3001\u667a\u80fd\u7cfb\u3001\u8f6f\u5de5\u7cfb\u7684\u7edd\u5927\u591a\u6570\u8bfe\u7a0b\uff0c\u6211\u4e5f\u4e3a\u6bcf\u4e2a\u8bfe\u7a0b\u90fd\u5efa\u4e86\u5404\u81ea\u7684 GitHub \u4ed3\u5e93\uff0c\u6c47\u603b\u6211\u7528\u5230\u7684\u81ea\u5b66\u8d44\u6599\u4ee5\u53ca\u4f5c\u4e1a\u5b9e\u73b0\u3002 \u76f4\u5230\u5927\u56db\u5f00\u59cb\u51d1\u5b66\u5206\u6bd5\u4e1a\u7684\u65f6\u5019\uff0c\u6211\u6253\u5f00\u81ea\u5df1\u7684\u57f9\u517b\u65b9\u6848\uff0c\u6211\u53d1\u73b0\u5b83\u5df2\u7ecf\u662f\u6211\u8fd9\u4e2a\u81ea\u5b66\u4ed3\u5e93\u7684\u5b50\u96c6\u4e86\uff0c\u800c\u8fd9\u8ddd\u79bb\u6211\u5f00\u59cb\u81ea\u5b66\u4e5f\u624d\u4e24\u5e74\u534a\u800c\u5df2\u3002\u4e8e\u662f\uff0c\u4e00\u4e2a\u5927\u80c6\u7684\u60f3\u6cd5\u5728\u6211\u8111\u6d77\u4e2d\u6d6e\u73b0\uff1a\u4e5f\u8bb8\uff0c\u6211\u53ef\u4ee5\u6253\u9020\u4e00\u4e2a\u81ea\u5b66\u5f0f\u7684\u57f9\u517b\u65b9\u6848\uff0c\u628a\u6211\u8fd9\u4e09\u5e74\u81ea\u5b66\u7ecf\u5386\u4e2d\u9047\u5230\u7684\u5751\u3001\u8d70\u8fc7\u7684\u8def\u8bb0\u5f55\u4e0b\u6765\uff0c\u4ee5\u671f\u80fd\u4e3a\u540e\u6765\u7684\u5b66\u5f1f\u5b66\u59b9\u4eec\u8d21\u732e\u81ea\u5df1\u7684\u4e00\u4efd\u5fae\u8584\u4e4b\u529b\u3002 \u5982\u679c\u5927\u5bb6\u53ef\u4ee5\u5728\u4e09\u5e74\u4e0d\u5230\u7684\u65f6\u95f4\u91cc\u5c31\u80fd\u5efa\u7acb\u8d77\u6574\u5ea7CS\u7684\u57fa\u7840\u5927\u53a6\uff0c\u80fd\u6709\u76f8\u5bf9\u624e\u5b9e\u7684\u6570\u5b66\u529f\u5e95\u548c\u4ee3\u7801\u80fd\u529b\uff0c\u7ecf\u5386\u8fc7\u6570\u5341\u4e2a\u5343\u884c\u4ee3\u7801\u91cf\u7684 Project \u7684\u6d17\u793c\uff0c\u638c\u63e1\u81f3\u5c11 C/C++/Java/JS/Python/Go/Rust \u7b49\u4e3b\u6d41\u8bed\u8a00\uff0c\u5bf9\u7b97\u6cd5\u3001\u7535\u8def\u3001\u4f53\u7cfb\u3001\u7f51\u7edc\u3001\u64cd\u7edf\u3001\u7f16\u8bd1\u3001\u4eba\u5de5\u667a\u80fd\u3001\u673a\u5668\u5b66\u4e60\u3001\u8ba1\u7b97\u673a\u89c6\u89c9\u3001\u81ea\u7136\u8bed\u8a00\u5904\u7406\u3001\u5f3a\u5316\u5b66\u4e60\u3001\u5bc6\u7801\u5b66\u3001\u4fe1\u606f\u8bba\u3001\u535a\u5f08\u8bba\u3001\u6570\u503c\u5206\u6790\u3001\u7edf\u8ba1\u5b66\u3001\u5206\u5e03\u5f0f\u3001\u6570\u636e\u5e93\u3001\u56fe\u5f62\u5b66\u3001Web\u5f00\u53d1\u3001\u4e91\u670d\u52a1\u3001\u8d85\u7b97\u7b49\u7b49\u65b9\u9762\u5747\u6709\u6d89\u730e\u3002\u6211\u60f3\uff0c\u4f60\u5c06\u6709\u8db3\u591f\u7684\u5e95\u6c14\u548c\u81ea\u4fe1\u9009\u62e9\u81ea\u5df1\u611f\u5174\u8da3\u7684\u65b9\u5411\uff0c\u65e0\u8bba\u662f\u5c31\u4e1a\u8fd8\u662f\u79d1\u7814\uff0c\u4f60\u90fd\u5c06\u6709\u76f8\u5f53\u7684\u7ade\u4e89\u529b\u3002 \u56e0\u4e3a\u6211\u575a\u4fe1\uff0c\u65e2\u7136\u4f60\u80fd\u575a\u6301\u542c\u6211 BB \u5230\u8fd9\u91cc\uff0c\u4f60\u4e00\u5b9a\u4e0d\u7f3a\u5b66\u597d CS \u7684\u80fd\u529b\uff0c\u4f60\u53ea\u662f\u6ca1\u6709\u4e00\u4e2a\u597d\u7684\u8001\u5e08\uff0c\u7ed9\u4f60\u8bb2\u4e00\u95e8\u597d\u7684\u8bfe\u7a0b\u3002\u800c\u6211\uff0c\u5c06\u529b\u56fe\u6839\u636e\u6211\u4e09\u5e74\u7684\u4f53\u9a8c\uff0c\u4e3a\u4f60\u6311\u9009\u8fd9\u6837\u7684\u8bfe\u7a0b\u3002 \u81ea\u5b66\u7684\u597d\u5904 \u5bf9\u6211\u6765\u8bf4\uff0c\u81ea\u5b66\u6700\u5927\u7684\u597d\u5904\u5c31\u5728\u4e8e\u53ef\u4ee5\u5b8c\u5168\u6839\u636e\u81ea\u5df1\u7684\u8fdb\u5ea6\u6765\u8c03\u6574\u5b66\u4e60\u901f\u5ea6\u3002\u5bf9\u4e8e\u4e00\u4e9b\u7591\u96be\u77e5\u8bc6\u70b9\uff0c\u6211\u53ef\u4ee5\u53cd\u590d\u56de\u770b\u89c6\u9891\uff0c\u5728\u7f51\u4e0a\u8c37\u6b4c\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u4e0a StackOverflow \u63d0\u95ee\u9898\uff0c\u76f4\u5230\u5b8c\u5168\u5c06\u5b83\u5f04\u660e\u767d\u3002\u800c\u5bf9\u4e8e\u81ea\u5df1\u638c\u63e1\u5f97\u76f8\u5bf9\u8f83\u5feb\u7684\u5185\u5bb9\uff0c\u5219\u53ef\u4ee5\u4e24\u500d\u901f\u751a\u81f3\u4e09\u500d\u901f\u7565\u8fc7\u3002 \u81ea\u5b66\u7684\u53e6\u4e00\u5927\u597d\u5904\u5c31\u662f\u535a\u91c7\u4f17\u957f\u3002\u8ba1\u7b97\u673a\u7cfb\u7684\u51e0\u5927\u6838\u5fc3\u8bfe\u7a0b\uff1a\u4f53\u7cfb\u3001\u7f51\u7edc\u3001\u64cd\u7edf\u3001\u7f16\u8bd1\uff0c\u6bcf\u4e00\u95e8\u6211\u57fa\u672c\u90fd\u4e0a\u8fc7\u4e0d\u540c\u5927\u5b66\u7684\u8bfe\u7a0b\uff0c\u4e0d\u540c\u7684\u6559\u6750\u3001\u4e0d\u540c\u7684\u77e5\u8bc6\u70b9\u4fa7\u91cd\u3001\u4e0d\u540c\u7684 project \u5c06\u4f1a\u6781\u5927\u4e30\u5bcc\u4f60\u7684\u89c6\u91ce\uff0c\u4e5f\u4f1a\u8ba9\u4f60\u7406\u89e3\u9519\u8bef\u7684\u4e00\u4e9b\u5185\u5bb9\u5f97\u5230\u53ca\u65f6\u7ea0\u6b63\u3002 \u81ea\u5b66\u7684\u7b2c\u4e09\u4e2a\u597d\u5904\u662f\u65f6\u95f4\u81ea\u7531\uff0c\u5177\u4f53\u539f\u56e0\u7701\u7565\u3002 \u81ea\u5b66\u7684\u574f\u5904 \u5f53\u7136\uff0c\u4f5c\u4e3a CS \u81ea\u5b66\u4e3b\u4e49\u7684\u5fe0\u5b9e\u62e5\u8db8\uff0c\u6211\u4e0d\u5f97\u4e0d\u627f\u8ba4\u81ea\u5b66\u4e5f\u6709\u5b83\u7684\u574f\u5904\u3002 \u7b2c\u4e00\u5c31\u662f\u4ea4\u6d41\u6c9f\u901a\u7684\u4e0d\u4fbf\u3002\u6211\u5176\u5b9e\u662f\u4e00\u4e2a\u5f88\u70ed\u8877\u4e8e\u63d0\u95ee\u7684\u4eba\uff0c\u5bf9\u4e8e\u6240\u6709\u6ca1\u6709\u5f04\u660e\u767d\u7684\u70b9\uff0c\u6211\u90fd\u559c\u6b22\u7a77\u8ffd\u5230\u5e95\u3002\u4f46\u5f53\u4f60\u9762\u5bf9\u7740\u5c4f\u5e55\u542c\u5230\u8001\u5e08\u8bb2\u4e86\u4e00\u4e2a\u4f60\u6ca1\u660e\u767d\u7684\u77e5\u8bc6\u70b9\u7684\u65f6\u5019\uff0c\u4f60\u65e0\u6cd5\u987a\u7740\u7f51\u7ebf\u5230\u53e6\u4e00\u7aef\u5411\u8001\u5e08\u95ee\u4e2a\u660e\u767d\u3002\u6211\u52aa\u529b\u901a\u8fc7\u72ec\u7acb\u601d\u8003\u548c\u5584\u7528 Google \u6765\u7f13\u89e3\u8fd9\u4e00\u70b9\uff0c\u4f46\u662f\uff0c\u5982\u679c\u80fd\u6709\u51e0\u4e2a\u5fd7\u540c\u9053\u5408\u7684\u4f19\u4f34\u7ed3\u4f34\u81ea\u5b66\uff0c\u90a3\u5c06\u662f\u6781\u597d\u7684\u3002\u5173\u4e8e\u4ea4\u6d41\u7fa4\u7684\u5efa\u7acb\uff0c\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003\u4ed3\u5e93 README \u4e2d\u7684\u6559\u7a0b\u3002 \u7b2c\u4e8c\u5c31\u662f\u8fd9\u4e9b\u81ea\u5b66\u7684\u8bfe\u7a0b\u57fa\u672c\u90fd\u662f\u82f1\u6587\u7684\u3002\u4ece\u89c6\u9891\u5230slides\u5230\u4f5c\u4e1a\u5168\u662f\u82f1\u6587\uff0c\u6240\u4ee5\u6709\u4e00\u5b9a\u7684\u95e8\u69db\u3002\u4e0d\u8fc7\u6211\u89c9\u5f97\u8fd9\u4e2a\u6311\u6218\u5982\u679c\u4f60\u514b\u670d\u4e86\u7684\u8bdd\u5bf9\u4f60\u662f\u6781\u4e3a\u6709\u5229\u7684\u3002\u56e0\u4e3a\u5728\u5f53\u4e0b\uff0c\u867d\u7136\u6211\u5f88\u4e0d\u60c5\u613f\uff0c\u4f46\u4e5f\u4e0d\u5f97\u4e0d\u627f\u8ba4\uff0c\u5728\u8ba1\u7b97\u673a\u9886\u57df\uff0c\u5f88\u591a\u4f18\u8d28\u7684\u6587\u6863\u3001\u8bba\u575b\u3001\u7f51\u7ad9\u90fd\u662f\u5168\u82f1\u6587\u7684\u3002\u517b\u6210\u82f1\u6587\u9605\u8bfb\u7684\u4e60\u60ef\uff0c\u5728\u8d64\u65d7\u63d2\u904d\u4e16\u754c\u4e4b\u524d\uff0c\u8fd8\u662f\u6709\u4e00\u5b9a\u597d\u5904\u7684\uff08\u72d7\u5934\u4fdd\u547d\uff09\u3002 \u7b2c\u4e09\uff0c\u4e5f\u662f\u6211\u89c9\u5f97\u6700\u56f0\u96be\u7684\u4e00\u70b9\uff0c\u5c31\u662f\u81ea\u5f8b\u3002\u56e0\u4e3a\u6ca1\u6709 DDL \u6709\u65f6\u5019\u771f\u7684\u662f\u4e00\u4ef6\u53ef\u6015\u7684\u4e8b\u60c5\uff0c\u7279\u522b\u662f\u968f\u7740\u5b66\u4e60\u7684\u6df1\u5165\uff0c\u56fd\u5916\u7684\u5f88\u591a\u8bfe\u7a0b\u662f\u76f8\u5f53\u8650\u7684\u3002\u4f60\u5f97\u6709\u8db3\u591f\u7684\u9a71\u52a8\u529b\u5f3a\u8feb\u81ea\u5df1\u9759\u4e0b\u5fc3\u6765\uff0c\u9605\u8bfb\u51e0\u5341\u9875\u7684 Project Handout\uff0c\u7406\u89e3\u4e0a\u5343\u884c\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u5fcd\u53d7\u6570\u4e2a\u5c0f\u65f6\u7684 debug \u65f6\u5149\u3002\u800c\u8fd9\u4e00\u5207\uff0c\u6ca1\u6709\u5b66\u5206\uff0c\u6ca1\u6709\u7ee9\u70b9\uff0c\u6ca1\u6709\u8001\u5e08\uff0c\u6ca1\u6709\u540c\u5b66\uff0c\u53ea\u6709\u4e00\u4e2a\u4fe1\u5ff5 \u2014\u2014 \u4f60\u5728\u53d8\u5f3a\u3002 \u8fd9\u672c\u4e66\u9002\u5408\u8c01 \u6b63\u5982\u6211\u5728\u524d\u8a00\u91cc\u8bf4\u7684\uff0c\u4efb\u4f55\u6709\u5fd7\u4e8e\u81ea\u5b66\u8ba1\u7b97\u673a\u7684\u670b\u53cb\u90fd\u53ef\u4ee5\u53c2\u8003\u8fd9\u672c\u4e66\u3002\u5982\u679c\u4f60\u5df2\u7ecf\u6709\u4e86\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u57fa\u7840\uff0c\u53ea\u662f\u5bf9\u67d0\u4e2a\u7279\u5b9a\u7684\u9886\u57df\u611f\u5174\u8da3\uff0c\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u6311\u9009\u4f60\u611f\u5174\u8da3\u7684\u5185\u5bb9\u8fdb\u884c\u5b66\u4e60\u3002\u5f53\u7136\uff0c\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u50cf\u6211\u5f53\u5e74\u4e00\u6837\u5bf9\u8ba1\u7b97\u673a\u4e00\u65e0\u6240\u77e5\u7684\u5c0f\u767d\uff0c\u521d\u5165\u5927\u5b66\u7684\u6821\u95e8\uff0c\u6211\u5e0c\u671b\u8fd9\u672c\u4e66\u80fd\u6210\u4e3a\u4f60\u7684\u653b\u7565\uff0c\u8ba9\u4f60\u82b1\u6700\u5c11\u7684\u65f6\u95f4\u638c\u63e1\u4f60\u6240\u9700\u8981\u7684\u77e5\u8bc6\u548c\u80fd\u529b\u3002\u67d0\u79cd\u7a0b\u5ea6\u4e0a\uff0c\u8fd9\u672c\u4e66\u66f4\u50cf\u662f\u4e00\u4e2a\u6839\u636e\u6211\u7684\u4f53\u9a8c\u6765\u6392\u5e8f\u7684\u8bfe\u7a0b\u641c\u7d22\u5f15\u64ce\uff0c\u5e2e\u52a9\u5927\u5bb6\u8db3\u4e0d\u51fa\u6237\uff0c\u4f53\u9a8c\u4e16\u754c\u9876\u7ea7\u540d\u6821\u7684\u8ba1\u7b97\u673a\u4f18\u8d28\u8bfe\u7a0b\u3002 \u5f53\u7136\uff0c\u4f5c\u4e3a\u4e00\u4e2a\u8fd8\u672a\u6bd5\u4e1a\u7684\u672c\u79d1\u751f\uff0c\u6211\u6df1\u611f\u81ea\u5df1\u6ca1\u6709\u80fd\u529b\u4e5f\u6ca1\u6709\u6743\u5229\u53bb\u5ba3\u626c\u4e00\u79cd\u5b66\u4e60\u65b9\u5f0f\uff0c\u6211\u53ea\u662f\u5e0c\u671b\u8fd9\u4efd\u8d44\u6599\u80fd\u8ba9\u90a3\u4e9b\u540c\u6837\u6709\u81ea\u5b66\u4e4b\u5fc3\u548c\u6bc5\u529b\u670b\u53cb\u53ef\u4ee5\u5c11\u8d70\u4e9b\u5f2f\u8def\uff0c\u6536\u83b7\u66f4\u4e30\u5bcc\u3001\u66f4\u591a\u6837\u3001\u66f4\u6ee1\u8db3\u7684\u5b66\u4e60\u4f53\u9a8c\u3002 \u7279\u522b\u9e23\u8c22 \u5728\u8fd9\u91cc\uff0c\u6211\u6000\u7740\u5d07\u656c\u4e4b\u5fc3\u771f\u8bda\u5730\u611f\u8c22\u6240\u6709\u5c06\u8bfe\u7a0b\u8d44\u6e90\u65e0\u507f\u5f00\u6e90\u7684\u5404\u4f4d\u6559\u6388\u4eec\u3002\u8fd9\u4e9b\u8bfe\u7a0b\u503e\u6ce8\u4e86\u4ed6\u4eec\u6570\u5341\u5e74\u6559\u5b66\u751f\u6daf\u7684\u79ef\u6dc0\u548c\u5fc3\u8840\uff0c\u4ed6\u4eec\u5374\u9009\u62e9\u65e0\u79c1\u5730\u8ba9\u6240\u6709\u4eba\u4eab\u53d7\u5230\u5982\u6b64\u9ad8\u8d28\u91cf\u7684CS\u6559\u80b2\u3002\u6ca1\u6709\u4ed6\u4eec\uff0c\u6211\u7684\u5927\u5b66\u751f\u6d3b\u4e0d\u4f1a\u8fd9\u6837\u5145\u5b9e\u800c\u5feb\u4e50\u3002\u5f88\u591a\u6559\u6388\u5728\u6211\u7ed9\u4ed6\u4eec\u53d1\u4e86\u611f\u8c22\u90ae\u4ef6\u4e4b\u540e\uff0c\u751a\u81f3\u4f1a\u56de\u590d\u4e0a\u767e\u5b57\u7684\u957f\u6587\uff0c\u771f\u7684\u8ba9\u6211\u65e0\u6bd4\u611f\u52a8\u3002\u4ed6\u4eec\u4e5f\u65f6\u523b\u6fc0\u52b1\u7740\u6211\uff0c\u505a\u4e00\u4ef6\u4e8b\uff0c\u5c31\u5f97\u7528\u5fc3\u505a\u597d\uff0c\u65e0\u8bba\u662f\u79d1\u7814\uff0c\u8fd8\u662f\u4e3a\u4eba\u3002 \u4f60\u4e5f\u60f3\u52a0\u5165\u5230\u8d21\u732e\u8005\u7684\u884c\u5217 \u4e00\u4e2a\u4eba\u7684\u529b\u91cf\u7ec8\u7a76\u662f\u6709\u9650\u7684\uff0c\u8fd9\u672c\u4e66\u4e5f\u662f\u6211\u5728\u7e41\u91cd\u7684\u79d1\u7814\u4e4b\u4f59\u71ac\u591c\u62bd\u7a7a\u5199\u51fa\u6765\u7684\uff0c\u96be\u514d\u6709\u4e0d\u591f\u5b8c\u5584\u4e4b\u5904\u3002\u53e6\u5916\uff0c\u7531\u4e8e\u4e2a\u4eba\u505a\u7684\u662f\u7cfb\u7edf\u65b9\u5411\uff0c\u5f88\u591a\u8bfe\u7a0b\u4fa7\u91cd\u7cfb\u7edf\u9886\u57df\uff0c\u5bf9\u4e8e\u6570\u5b66\u3001\u7406\u8bba\u8ba1\u7b97\u673a\u3001\u9ad8\u7ea7\u7b97\u6cd5\u76f8\u5173\u7684\u5185\u5bb9\u5219\u76f8\u5bf9\u5c11\u4e9b\u3002\u5982\u679c\u6709\u5927\u4f6c\u60f3\u5728\u5176\u4ed6\u9886\u57df\u5206\u4eab\u81ea\u5df1\u7684\u81ea\u5b66\u7ecf\u5386\u4e0e\u8d44\u6e90\uff0c\u53ef\u4ee5\u76f4\u63a5\u5728\u9879\u76ee\u4e2d\u53d1\u8d77 Pull Request\uff0c\u4e5f\u6b22\u8fce\u548c\u6211\u90ae\u4ef6\u8054\u7cfb\uff08 zhongyinmin@pku.edu.cn \uff09\u3002 \u5173\u4e8e\u4ea4\u6d41\u7fa4\u7684\u5efa\u7acb \u65b9\u6cd5\u53c2\u89c1\u4ed3\u5e93\u7684 README.md \u3002","title":"\u524d\u8a00"},{"location":"#_1","text":"\u6700\u8fd1\u66f4\u65b0\uff1a Release v1.0.1 \u5df2\u53d1\u5e03 \ud83c\udf89 \u8fd9\u662f\u4e00\u672c\u8ba1\u7b97\u673a\u7684\u81ea\u5b66\u6307\u5357\uff0c\u4e5f\u662f\u5bf9\u81ea\u5df1\u5927\u5b66\u4e09\u5e74\u81ea\u5b66\u751f\u6daf\u7684\u4e00\u4e2a\u7eaa\u5ff5\u3002 \u8fd9\u540c\u65f6\u4e5f\u662f\u4e00\u4efd\u732e\u7ed9\u5317\u5927\u4fe1\u79d1\u5b66\u5f1f\u5b66\u59b9\u4eec\u7684\u793c\u7269\u3002\u5982\u679c\u8fd9\u672c\u4e66\u80fd\u5bf9\u4f60\u4eec\u7684\u4fe1\u79d1\u751f\u6daf\u6709\u54ea\u6015\u4e00\u4e1d\u4e00\u6beb\u7684\u5e2e\u52a9\uff0c\u90fd\u662f\u5bf9\u6211\u6781\u5927\u7684\u9f13\u52b1\u548c\u6170\u85c9\u3002 \u672c\u4e66\u76ee\u524d\u5305\u62ec\u4e86\u4ee5\u4e0b\u90e8\u5206(\u5982\u679c\u4f60\u6709\u5176\u4ed6\u597d\u7684\u5efa\u8bae\uff0c\u6216\u8005\u60f3\u52a0\u5165\u8d21\u732e\u8005\u7684\u884c\u5217\uff0c\u6b22\u8fce\u90ae\u4ef6 zhongyinmin@pku.edu.cn \u6216\u8005\u5728 issue \u91cc\u63d0\u95ee)\uff1a \u5fc5\u5b66\u5de5\u5177\uff1aIDE, \u7ffb\u5899, StackOverflow, Git, GitHub, Vim, LaTeX, GNU Make, \u5b9e\u7528\u5de5\u5177 ... \u73af\u5883\u914d\u7f6e\uff1aPC\u7aef\u4ee5\u53ca\u670d\u52a1\u5668\u7aef\u5f00\u53d1\u73af\u5883\u914d\u7f6e\u3001\u5404\u7c7b\u8fd0\u7ef4\u76f8\u5173\u6559\u6750\u53ca\u8d44\u6599 ... \u7ecf\u5178\u4e66\u7c4d\u63a8\u8350\uff1a\u770b\u8fc7 CSAPP \u8fd9\u672c\u4e66\u7684\u540c\u5b66\u4e00\u5b9a\u611f\u53f9\u597d\u4e66\u7684\u91cd\u8981\uff0c\u6211\u5c06\u5217\u4e3e\u63a8\u8350\u81ea\u5df1\u770b\u8fc7\u7684\u8ba1\u7b97\u673a\u9886\u57df\u7684\u5fc5\u770b\u597d\u4e66\u4e0e\u8d44\u6e90\u94fe\u63a5\u3002 \u56fd\u5916\u9ad8\u8d28\u91cf CS \u8bfe\u7a0b\u6c47\u603b \uff1a\u6211\u5c06\u628a\u6211\u4e0a\u8fc7\u7684\u6240\u6709\u9ad8\u8d28\u91cf\u7684\u56fd\u5916 CS \u8bfe\u7a0b\u5206\u95e8\u522b\u7c7b\u8fdb\u884c\u6c47\u603b\uff0c\u5e76\u7ed9\u51fa\u76f8\u5173\u7684\u81ea\u5b66\u5efa\u8bae\uff0c\u5927\u90e8\u5206\u8bfe\u7a0b\u90fd\u4f1a\u6709\u4e00\u4e2a\u72ec\u7acb\u7684\u4ed3\u5e93\u7ef4\u62a4\u76f8\u5173\u7684\u8d44\u6e90\u4ee5\u53ca\u6211\u7684\u4f5c\u4e1a\u5b9e\u73b0\u3002","title":"\u524d\u8a00"},{"location":"#cs61a","text":"\u5927\u4e00\u5165\u5b66\u65f6\u6211\u662f\u4e00\u4e2a\u5bf9\u8ba1\u7b97\u673a\u4e00\u65e0\u6240\u77e5\u7684\u5c0f\u767d\uff0c\u88c5\u4e86\u51e0\u5341\u4e2a G \u7684 Visual Studio \u5929\u5929\u548c OJ \u4f60\u6b7b\u6211\u6d3b\u3002\u51ed\u7740\u9ad8\u4e2d\u7684\u6570\u5b66\u5e95\u5b50\u6211\u6570\u5b66\u8bfe\u5b66\u5f97\u8fd8\u4e0d\u9519\uff0c\u4f46\u5728\u4e13\u4e1a\u8bfe\u4e0a\u5bf9\u7ade\u8d5b\u5927\u4f6c\u53ea\u6709\u4ef0\u671b\u3002\u63d0\u5230\u7f16\u7a0b\u6211\u53ea\u4f1a\u6253\u5f00\u90a3\u7b28\u91cd\u7684 IDE\uff0c\u65b0\u5efa\u4e00\u4e2a\u6211\u4e5f\u4e0d\u77e5\u9053\u5177\u4f53\u662f\u5e72\u5565\u7684\u547d\u4ee4\u884c\u9879\u76ee\uff0c\u7136\u540e\u5c31\u662f cin , cout , for \u5faa\u73af\uff0c\u7136\u540e CE, RE, WA \u5faa\u73af\u3002\u5f53\u65f6\u7684\u6211\u5c31\u5904\u5728\u4e00\u79cd\u62fc\u547d\u60f3\u5b66\u597d\u4f46\u4e0d\u77e5\u9053\u600e\u4e48\u5b66\uff0c\u8bfe\u4e0a\u8ba4\u771f\u542c\u8bb2\u4f46\u9898\u8fd8\u4e0d\u4f1a\u505a\uff0c\u8bfe\u540e\u505a\u4f5c\u4e1a\u5b8c\u5168\u662f\u7528\u65f6\u95f4\u548c\u5b83\u786c\u8017\u7684\u75db\u82e6\u72b6\u6001\u3002\u6211\u81f3\u4eca\u7535\u8111\u91cc\u8fd8\u5b58\u7740\u81ea\u5df1\u5927\u4e00\u4e0a\u5b66\u671f\u8ba1\u7b97\u6982\u8bba\u5927\u4f5c\u4e1a\u7684\u6e90\u4ee3\u7801 \u2014\u2014 \u4e00\u4e2a 1200 \u884c\u7684 C++ \u6587\u4ef6\uff0c\u6ca1\u6709\u5934\u6587\u4ef6\u3001\u6ca1\u6709\u7c7b\u3001\u6ca1\u6709\u5c01\u88c5\u3001\u6ca1\u6709 unit test\u3001\u6ca1\u6709 Makefile\u3001\u6ca1\u6709 Git\uff0c\u552f\u4e00\u7684\u4f18\u70b9\u662f\u5b83\u786e\u5b9e\u80fd\u8dd1\uff0c\u7f3a\u70b9\u662f\u201c\u80fd\u8dd1\u201d\u7684\u8865\u96c6\u3002\u6211\u4e00\u5ea6\u6000\u7591\u6211\u662f\u4e0d\u662f\u4e0d\u9002\u5408\u5b66\u8ba1\u7b97\u673a\uff0c\u56e0\u4e3a\u7ae5\u5e74\u5bf9\u4e8e\u6781\u5ba2\u7684\u6240\u6709\u60f3\u8c61\uff0c\u5df2\u7ecf\u88ab\u6211\u7b2c\u4e00\u4e2a\u5b66\u671f\u7684\u4f53\u9a8c\u5f7b\u5e95\u7c89\u788e\u4e86\u3002 \u8fd9\u4e00\u5207\u7684\u8f6c\u673a\u53d1\u751f\u5728\u6211\u5927\u4e00\u7684\u5bd2\u5047\uff0c\u6211\u5fc3\u8840\u6765\u6f6e\u60f3\u5b66\u4e60 Python\u3002\u65e0\u610f\u95f4\u770b\u5230\u77e5\u4e4e\u6709\u4eba\u63a8\u8350\u4e86 CS61A \u8fd9\u95e8\u8bfe\uff0c\u8bf4\u662f UC Berkeley \u7684\u5927\u4e00\u5165\u95e8\u8bfe\u7a0b\uff0c\u8bb2\u7684\u5c31\u662f Python\u3002\u6211\u6c38\u8fdc\u4e0d\u4f1a\u5fd8\u8bb0\u90a3\u4e00\u5929\uff0c\u6253\u5f00 CS61A \u8bfe\u7a0b\u7f51\u7ad9\u7684\u90a3\u4e2a\u77ac\u95f4\uff0c\u5c31\u50cf\u54e5\u4f26\u5e03\u53d1\u73b0\u4e86\u65b0\u5927\u9646\u4e00\u6837\uff0c\u6211\u5f00\u542f\u4e86\u65b0\u4e16\u754c\u7684\u5927\u95e8\u3002 \u6211\u4e00\u53e3\u6c14 3 \u4e2a\u661f\u671f\u4e0a\u5b8c\u4e86\u8fd9\u95e8\u8bfe\uff0c\u5b83\u8ba9\u6211\u7b2c\u4e00\u6b21\u611f\u89c9\u5230\u539f\u6765 CS \u53ef\u4ee5\u5b66\u5f97\u5982\u6b64\u5145\u5b9e\u800c\u6709\u8da3\uff0c\u539f\u6765\u8fd9\u4e16\u4e0a\u7adf\u6709\u5982\u6b64\u7cbe\u534e\u7684\u8bfe\u7a0b\u3002 \u4e3a\u907f\u514d\u6709\u5d07\u6d0b\u5a9a\u5916\u4e4b\u5acc\uff0c\u6211\u5355\u7eaf\u4ece\u4e00\u4e2a\u5b66\u751f\u7684\u89c6\u89d2\u6765\u8bb2\u8bb2\u81ea\u5b66 CS61A \u7684\u4f53\u9a8c\uff1a \u72ec\u7acb\u642d\u5efa\u7684\u8bfe\u7a0b\u7f51\u7ad9: \u4e00\u4e2a\u7f51\u7ad9\u5c06\u6240\u6709\u8bfe\u7a0b\u8d44\u6e90\u6574\u5408\u4e00\u4f53\uff0c\u6761\u7406\u5206\u660e\u7684\u8bfe\u7a0b schedule\u3001\u6240\u6709 slides, hw, discussion \u7684\u6587\u4ef6\u94fe\u63a5\u3001\u8be6\u7ec6\u660e\u786e\u7684\u8bfe\u7a0b\u7ed9\u5206\u8bf4\u660e\u3001\u5386\u5e74\u7684\u8003\u8bd5\u9898\u4e0e\u7b54\u6848\u3002\u8fd9\u6837\u4e00\u4e2a\u7f51\u7ad9\u629b\u5f00\u7f8e\u89c2\u7a0b\u5ea6\u4e0d\u8c08\uff0c\u65e2\u65b9\u4fbf\u5b66\u751f\uff0c\u4e5f\u8ba9\u8d44\u6e90\u516c\u6b63\u900f\u660e\u3002 \u8bfe\u7a0b\u6559\u6388\u4eb2\u81ea\u7f16\u5199\u7684\u6559\u6750\uff1aCS61A \u8fd9\u95e8\u8bfe\u7684\u5f00\u8bfe\u8001\u5e08\u5c06MIT\u7684\u7ecf\u5178\u6559\u6750 Structure and Interpretation of Computer Programs (SICP) \u7528Python\u8fd9\u95e8\u8bed\u8a00\u8fdb\u884c\u6539\u7f16\uff08\u539f\u6559\u6750\u57fa\u4e8e Scheme \u8bed\u8a00\uff09\uff0c\u4fdd\u8bc1\u4e86\u8bfe\u5802\u5185\u5bb9\u4e0e\u6559\u6750\u5185\u5bb9\u7684\u4e00\u81f4\u6027\uff0c\u540c\u65f6\u8865\u5145\u4e86\u66f4\u591a\u7ec6\u8282\uff0c\u53ef\u4ee5\u8bf4\u8bda\u610f\u6ee1\u6ee1\u3002\u800c\u4e14\u5168\u4e66\u5f00\u6e90\uff0c\u53ef\u4ee5\u76f4\u63a5\u7ebf\u4e0a\u9605\u8bfb\u3002 \u4e30\u5bcc\u5230\u8ba9\u4eba\u773c\u82b1\u7f2d\u4e71\u7684\u8bfe\u7a0b\u4f5c\u4e1a\uff1a14 \u4e2a lab \u5de9\u56fa\u968f\u5802\u77e5\u8bc6\u70b9\uff0c10 \u4e2a homework\uff0c\u8fd8\u6709 4 \u4e2a\u4ee3\u7801\u91cf\u5747\u4e0a\u5343\u884c\u7684 project\u3002\u4e0e\u5927\u5bb6\u719f\u6089\u7684 OJ \u548c Word \u6587\u6863\u5f0f\u7684\u4f5c\u4e1a\u4e0d\u540c\uff0c\u6240\u6709\u4f5c\u4e1a\u5747\u6709\u5b8c\u5584\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u4fdd\u59c6\u7ea7\u7684\u4f5c\u4e1a\u8bf4\u660e\u3002\u6bcf\u4e2a Project \u90fd\u6709\u8be6\u5c3d\u7684 handout \u6587\u6863\u3001\u5168\u81ea\u52a8\u7684\u8bc4\u5206\u811a\u672c\u3002CS61A \u751a\u81f3\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a \u81ea\u52a8\u5316\u7684\u4f5c\u4e1a\u63d0\u4ea4\u8bc4\u5206\u7cfb\u7edf \uff08\u636e\u8bf4\u8fd8\u53d1\u4e86\u8bba\u6587\uff09\u3002\u5f53\u7136\uff0c\u6709\u4eba\u4f1a\u8bf4\u201c\u4e00\u4e2a project \u51e0\u5343\u884c\u4ee3\u7801\u5927\u90e8\u5206\u90fd\u662f\u52a9\u6559\u5e2e\u4f60\u5199\u597d\u7684\uff0c\u4f60\u8fd8\u80fd\u5b66\u5230\u5565\uff1f\u201d\u3002\u6b64\u8a00\u5dee\u77e3\uff0c\u4f5c\u4e3a\u4e00\u4e2a\u521a\u521a\u63a5\u89e6\u8ba1\u7b97\u673a\uff0c\u8fde\u5b89\u88c5 Python \u90fd\u78d5\u78d5\u7eca\u7eca\u7684\u5c0f\u767d\u6765\u8bf4\uff0c\u8fd9\u6837\u5b8c\u5584\u7684\u4ee3\u7801\u6846\u67b6\u65e2\u53ef\u4ee5\u8ba9\u4f60\u4e13\u6ce8\u4e8e\u5de9\u56fa\u8bfe\u5802\u4e0a\u5b66\u4e60\u5230\u7684\u6838\u5fc3\u77e5\u8bc6\u70b9\uff0c\u53c8\u80fd\u6709\u201c\u6211\u624d\u5b66\u4e86\u4e00\u4e2a\u6708\u5c31\u80fd\u505a\u4e00\u4e2a\u5c0f\u6e38\u620f\u4e86\uff01\u201d\u7684\u6210\u5c31\u611f\uff0c\u8fd8\u80fd\u6709\u673a\u4f1a\u9605\u8bfb\u5b66\u4e60\u522b\u4eba\u9ad8\u8d28\u91cf\u7684\u4ee3\u7801\uff0c\u4ece\u800c\u4e3a\u81ea\u5df1\u6240\u7528\u3002\u6211\u89c9\u5f97\u5728\u4f4e\u5e74\u7ea7\uff0c\u8fd9\u79cd\u4ee3\u7801\u6846\u67b6\u53ef\u4ee5\u8bf4\u767e\u5229\u800c\u65e0\u4e00\u5bb3\u3002\u552f\u4e00\u7684\u5bb3\u4e5f\u8bb8\u662f\u82e6\u4e86\u8001\u5e08\u548c\u52a9\u6559\uff0c\u56e0\u4e3a\u5f00\u53d1\u8fd9\u6837\u7684\u4f5c\u4e1a\u53ef\u60f3\u800c\u77e5\u9700\u8981\u76f8\u5f53\u7684\u65f6\u95f4\u6295\u5165\u3002 \u6bcf\u5468 Discussion \u8ba8\u8bba\u8bfe\uff0c\u52a9\u6559\u4f1a\u8bb2\u89e3\u77e5\u8bc6\u96be\u70b9\u548c\u8003\u8bd5\u4f8b\u9898\uff1a\u7c7b\u4f3c\u4e8e\u5317\u4eac\u5927\u5b66 ICS \u7684\u5c0f\u73ed\u7814\u8ba8\uff0c\u4f46\u4e60\u9898\u5168\u90e8\u7528 LaTeX \u64b0\u5199\uff0c\u76f8\u5f53\u89c4\u8303\u4e14\u4f1a\u660e\u786e\u7ed9\u51fa solution\u3002 \u8fd9\u6837\u7684\u8bfe\u7a0b\uff0c\u4f60\u5b8c\u5168\u4e0d\u9700\u8981\u4efb\u4f55\u8ba1\u7b97\u673a\u7684\u57fa\u7840\uff0c\u4f60\u53ea\u9700\u8981\u52aa\u529b\u3001\u8ba4\u771f\u3001\u82b1\u65f6\u95f4\u5c31\u591f\u4e86\u3002\u6b64\u524d\u90a3\u79cd\u6709\u52b2\u6ca1\u5904\u4f7f\u7684\u611f\u89c9\uff0c\u90a3\u79cd\u4ed8\u51fa\u518d\u591a\u65f6\u95f4\u5374\u5f97\u4e0d\u5230\u56de\u62a5\u7684\u611f\u89c9\uff0c\u4ece\u6b64\u70df\u6d88\u4e91\u6563\u3002\u8fd9\u592a\u9002\u5408\u6211\u4e86\uff0c\u6211\u4ece\u6b64\u7231\u4e0a\u4e86\u81ea\u5b66\u3002 \u8bd5\u60f3\u5982\u679c\u6709\u4eba\u80fd\u628a\u8270\u6df1\u7684\u77e5\u8bc6\u70b9\u56bc\u788e\u56bc\u70c2\uff0c\u7528\u751f\u52a8\u76f4\u767d\u7684\u65b9\u5f0f\u5448\u73b0\u7ed9\u4f60\uff0c\u8fd8\u6709\u90a3\u4e48\u591a\u542c\u8d77\u6765\u5c31\u5f88 fancy\uff0c\u79cd\u7c7b\u7e41\u591a\u7684 project \u6765\u5de9\u56fa\u4f60\u7684\u7406\u8bba\u77e5\u8bc6\uff0c\u4f60\u4f1a\u89c9\u5f97\u4ed6\u4eec\u771f\u7684\u662f\u5728\u503e\u5c3d\u5168\u529b\u60f3\u65b9\u8bbe\u6cd5\u5730\u8ba9\u4f60\u5b8c\u5168\u638c\u63e1\u8fd9\u95e8\u8bfe\uff0c\u4f60\u4f1a\u89c9\u5f97\u4e0d\u5b66\u597d\u5b83\u7b80\u76f4\u662f\u5bf9\u8fd9\u4e9b\u8bfe\u7a0b\u5efa\u8bbe\u8005\u7684\u4fae\u8fb1\u3002 \u5982\u679c\u4f60\u89c9\u5f97\u6211\u5728\u5938\u5927\u5176\u8bcd\uff0c\u90a3\u4e48\u4e0d\u59a8\u4ece CS61A \u5f00\u59cb\uff0c\u56e0\u4e3a\u5b83\u662f\u6211\u7684\u68a6\u5f00\u59cb\u7684\u5730\u65b9\u3002","title":"\u68a6\u5f00\u59cb\u7684\u5730\u65b9 \u2014\u2014 CS61A"},{"location":"#_2","text":"\u5728\u62112020\u5e74\u79cb\u5b63\u5b66\u671f\u62c5\u4efb\u300a\u6df1\u5165\u7406\u89e3\u8ba1\u7b97\u673a\u7cfb\u7edf\u300b\uff08CSAPP\uff09\u8fd9\u95e8\u8bfe\u7684\u52a9\u6559\u65f6\uff0c\u6211\u5df2\u7ecf\u81ea\u5b66\u4e00\u5e74\u591a\u4e86\u3002\u8fd9\u4e00\u5e74\u591a\u6765\u6211\u65e0\u6bd4\u4eab\u53d7\u8fd9\u79cd\u81ea\u5b66\u6a21\u5f0f\uff0c\u4e3a\u4e86\u5206\u4eab\u8fd9\u79cd\u5feb\u4e50\uff0c\u6211\u4e3a\u81ea\u5df1\u7684\u5c0f\u73ed\u540c\u5b66\u505a\u8fc7\u4e00\u4e2a CS\u81ea\u5b66\u8d44\u6599\u6574\u7406\u4ed3\u5e93 \u3002\u5f53\u65f6\u7eaf\u7cb9\u662f\u5fc3\u8840\u6765\u6f6e\uff0c\u56e0\u4e3a\u6211\u4e5f\u4e0d\u6562\u516c\u7136\u9f13\u52b1\u5927\u5bb6\u7fd8\u8bfe\u81ea\u5b66\u3002 \u4f46\u968f\u7740\u53c8\u4e00\u5e74\u65f6\u95f4\u7684\u7ef4\u62a4\uff0c\u8fd9\u4e2a\u4ed3\u5e93\u7684\u5185\u5bb9\u5df2\u7ecf\u76f8\u5f53\u4e30\u5bcc\uff0c\u57fa\u672c\u8986\u76d6\u4e86\u8ba1\u79d1\u3001\u667a\u80fd\u7cfb\u3001\u8f6f\u5de5\u7cfb\u7684\u7edd\u5927\u591a\u6570\u8bfe\u7a0b\uff0c\u6211\u4e5f\u4e3a\u6bcf\u4e2a\u8bfe\u7a0b\u90fd\u5efa\u4e86\u5404\u81ea\u7684 GitHub \u4ed3\u5e93\uff0c\u6c47\u603b\u6211\u7528\u5230\u7684\u81ea\u5b66\u8d44\u6599\u4ee5\u53ca\u4f5c\u4e1a\u5b9e\u73b0\u3002 \u76f4\u5230\u5927\u56db\u5f00\u59cb\u51d1\u5b66\u5206\u6bd5\u4e1a\u7684\u65f6\u5019\uff0c\u6211\u6253\u5f00\u81ea\u5df1\u7684\u57f9\u517b\u65b9\u6848\uff0c\u6211\u53d1\u73b0\u5b83\u5df2\u7ecf\u662f\u6211\u8fd9\u4e2a\u81ea\u5b66\u4ed3\u5e93\u7684\u5b50\u96c6\u4e86\uff0c\u800c\u8fd9\u8ddd\u79bb\u6211\u5f00\u59cb\u81ea\u5b66\u4e5f\u624d\u4e24\u5e74\u534a\u800c\u5df2\u3002\u4e8e\u662f\uff0c\u4e00\u4e2a\u5927\u80c6\u7684\u60f3\u6cd5\u5728\u6211\u8111\u6d77\u4e2d\u6d6e\u73b0\uff1a\u4e5f\u8bb8\uff0c\u6211\u53ef\u4ee5\u6253\u9020\u4e00\u4e2a\u81ea\u5b66\u5f0f\u7684\u57f9\u517b\u65b9\u6848\uff0c\u628a\u6211\u8fd9\u4e09\u5e74\u81ea\u5b66\u7ecf\u5386\u4e2d\u9047\u5230\u7684\u5751\u3001\u8d70\u8fc7\u7684\u8def\u8bb0\u5f55\u4e0b\u6765\uff0c\u4ee5\u671f\u80fd\u4e3a\u540e\u6765\u7684\u5b66\u5f1f\u5b66\u59b9\u4eec\u8d21\u732e\u81ea\u5df1\u7684\u4e00\u4efd\u5fae\u8584\u4e4b\u529b\u3002 \u5982\u679c\u5927\u5bb6\u53ef\u4ee5\u5728\u4e09\u5e74\u4e0d\u5230\u7684\u65f6\u95f4\u91cc\u5c31\u80fd\u5efa\u7acb\u8d77\u6574\u5ea7CS\u7684\u57fa\u7840\u5927\u53a6\uff0c\u80fd\u6709\u76f8\u5bf9\u624e\u5b9e\u7684\u6570\u5b66\u529f\u5e95\u548c\u4ee3\u7801\u80fd\u529b\uff0c\u7ecf\u5386\u8fc7\u6570\u5341\u4e2a\u5343\u884c\u4ee3\u7801\u91cf\u7684 Project \u7684\u6d17\u793c\uff0c\u638c\u63e1\u81f3\u5c11 C/C++/Java/JS/Python/Go/Rust \u7b49\u4e3b\u6d41\u8bed\u8a00\uff0c\u5bf9\u7b97\u6cd5\u3001\u7535\u8def\u3001\u4f53\u7cfb\u3001\u7f51\u7edc\u3001\u64cd\u7edf\u3001\u7f16\u8bd1\u3001\u4eba\u5de5\u667a\u80fd\u3001\u673a\u5668\u5b66\u4e60\u3001\u8ba1\u7b97\u673a\u89c6\u89c9\u3001\u81ea\u7136\u8bed\u8a00\u5904\u7406\u3001\u5f3a\u5316\u5b66\u4e60\u3001\u5bc6\u7801\u5b66\u3001\u4fe1\u606f\u8bba\u3001\u535a\u5f08\u8bba\u3001\u6570\u503c\u5206\u6790\u3001\u7edf\u8ba1\u5b66\u3001\u5206\u5e03\u5f0f\u3001\u6570\u636e\u5e93\u3001\u56fe\u5f62\u5b66\u3001Web\u5f00\u53d1\u3001\u4e91\u670d\u52a1\u3001\u8d85\u7b97\u7b49\u7b49\u65b9\u9762\u5747\u6709\u6d89\u730e\u3002\u6211\u60f3\uff0c\u4f60\u5c06\u6709\u8db3\u591f\u7684\u5e95\u6c14\u548c\u81ea\u4fe1\u9009\u62e9\u81ea\u5df1\u611f\u5174\u8da3\u7684\u65b9\u5411\uff0c\u65e0\u8bba\u662f\u5c31\u4e1a\u8fd8\u662f\u79d1\u7814\uff0c\u4f60\u90fd\u5c06\u6709\u76f8\u5f53\u7684\u7ade\u4e89\u529b\u3002 \u56e0\u4e3a\u6211\u575a\u4fe1\uff0c\u65e2\u7136\u4f60\u80fd\u575a\u6301\u542c\u6211 BB \u5230\u8fd9\u91cc\uff0c\u4f60\u4e00\u5b9a\u4e0d\u7f3a\u5b66\u597d CS \u7684\u80fd\u529b\uff0c\u4f60\u53ea\u662f\u6ca1\u6709\u4e00\u4e2a\u597d\u7684\u8001\u5e08\uff0c\u7ed9\u4f60\u8bb2\u4e00\u95e8\u597d\u7684\u8bfe\u7a0b\u3002\u800c\u6211\uff0c\u5c06\u529b\u56fe\u6839\u636e\u6211\u4e09\u5e74\u7684\u4f53\u9a8c\uff0c\u4e3a\u4f60\u6311\u9009\u8fd9\u6837\u7684\u8bfe\u7a0b\u3002","title":"\u4e3a\u4ec0\u4e48\u5199\u8fd9\u672c\u4e66"},{"location":"#_3","text":"\u5bf9\u6211\u6765\u8bf4\uff0c\u81ea\u5b66\u6700\u5927\u7684\u597d\u5904\u5c31\u5728\u4e8e\u53ef\u4ee5\u5b8c\u5168\u6839\u636e\u81ea\u5df1\u7684\u8fdb\u5ea6\u6765\u8c03\u6574\u5b66\u4e60\u901f\u5ea6\u3002\u5bf9\u4e8e\u4e00\u4e9b\u7591\u96be\u77e5\u8bc6\u70b9\uff0c\u6211\u53ef\u4ee5\u53cd\u590d\u56de\u770b\u89c6\u9891\uff0c\u5728\u7f51\u4e0a\u8c37\u6b4c\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u4e0a StackOverflow \u63d0\u95ee\u9898\uff0c\u76f4\u5230\u5b8c\u5168\u5c06\u5b83\u5f04\u660e\u767d\u3002\u800c\u5bf9\u4e8e\u81ea\u5df1\u638c\u63e1\u5f97\u76f8\u5bf9\u8f83\u5feb\u7684\u5185\u5bb9\uff0c\u5219\u53ef\u4ee5\u4e24\u500d\u901f\u751a\u81f3\u4e09\u500d\u901f\u7565\u8fc7\u3002 \u81ea\u5b66\u7684\u53e6\u4e00\u5927\u597d\u5904\u5c31\u662f\u535a\u91c7\u4f17\u957f\u3002\u8ba1\u7b97\u673a\u7cfb\u7684\u51e0\u5927\u6838\u5fc3\u8bfe\u7a0b\uff1a\u4f53\u7cfb\u3001\u7f51\u7edc\u3001\u64cd\u7edf\u3001\u7f16\u8bd1\uff0c\u6bcf\u4e00\u95e8\u6211\u57fa\u672c\u90fd\u4e0a\u8fc7\u4e0d\u540c\u5927\u5b66\u7684\u8bfe\u7a0b\uff0c\u4e0d\u540c\u7684\u6559\u6750\u3001\u4e0d\u540c\u7684\u77e5\u8bc6\u70b9\u4fa7\u91cd\u3001\u4e0d\u540c\u7684 project \u5c06\u4f1a\u6781\u5927\u4e30\u5bcc\u4f60\u7684\u89c6\u91ce\uff0c\u4e5f\u4f1a\u8ba9\u4f60\u7406\u89e3\u9519\u8bef\u7684\u4e00\u4e9b\u5185\u5bb9\u5f97\u5230\u53ca\u65f6\u7ea0\u6b63\u3002 \u81ea\u5b66\u7684\u7b2c\u4e09\u4e2a\u597d\u5904\u662f\u65f6\u95f4\u81ea\u7531\uff0c\u5177\u4f53\u539f\u56e0\u7701\u7565\u3002","title":"\u81ea\u5b66\u7684\u597d\u5904"},{"location":"#_4","text":"\u5f53\u7136\uff0c\u4f5c\u4e3a CS \u81ea\u5b66\u4e3b\u4e49\u7684\u5fe0\u5b9e\u62e5\u8db8\uff0c\u6211\u4e0d\u5f97\u4e0d\u627f\u8ba4\u81ea\u5b66\u4e5f\u6709\u5b83\u7684\u574f\u5904\u3002 \u7b2c\u4e00\u5c31\u662f\u4ea4\u6d41\u6c9f\u901a\u7684\u4e0d\u4fbf\u3002\u6211\u5176\u5b9e\u662f\u4e00\u4e2a\u5f88\u70ed\u8877\u4e8e\u63d0\u95ee\u7684\u4eba\uff0c\u5bf9\u4e8e\u6240\u6709\u6ca1\u6709\u5f04\u660e\u767d\u7684\u70b9\uff0c\u6211\u90fd\u559c\u6b22\u7a77\u8ffd\u5230\u5e95\u3002\u4f46\u5f53\u4f60\u9762\u5bf9\u7740\u5c4f\u5e55\u542c\u5230\u8001\u5e08\u8bb2\u4e86\u4e00\u4e2a\u4f60\u6ca1\u660e\u767d\u7684\u77e5\u8bc6\u70b9\u7684\u65f6\u5019\uff0c\u4f60\u65e0\u6cd5\u987a\u7740\u7f51\u7ebf\u5230\u53e6\u4e00\u7aef\u5411\u8001\u5e08\u95ee\u4e2a\u660e\u767d\u3002\u6211\u52aa\u529b\u901a\u8fc7\u72ec\u7acb\u601d\u8003\u548c\u5584\u7528 Google \u6765\u7f13\u89e3\u8fd9\u4e00\u70b9\uff0c\u4f46\u662f\uff0c\u5982\u679c\u80fd\u6709\u51e0\u4e2a\u5fd7\u540c\u9053\u5408\u7684\u4f19\u4f34\u7ed3\u4f34\u81ea\u5b66\uff0c\u90a3\u5c06\u662f\u6781\u597d\u7684\u3002\u5173\u4e8e\u4ea4\u6d41\u7fa4\u7684\u5efa\u7acb\uff0c\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003\u4ed3\u5e93 README \u4e2d\u7684\u6559\u7a0b\u3002 \u7b2c\u4e8c\u5c31\u662f\u8fd9\u4e9b\u81ea\u5b66\u7684\u8bfe\u7a0b\u57fa\u672c\u90fd\u662f\u82f1\u6587\u7684\u3002\u4ece\u89c6\u9891\u5230slides\u5230\u4f5c\u4e1a\u5168\u662f\u82f1\u6587\uff0c\u6240\u4ee5\u6709\u4e00\u5b9a\u7684\u95e8\u69db\u3002\u4e0d\u8fc7\u6211\u89c9\u5f97\u8fd9\u4e2a\u6311\u6218\u5982\u679c\u4f60\u514b\u670d\u4e86\u7684\u8bdd\u5bf9\u4f60\u662f\u6781\u4e3a\u6709\u5229\u7684\u3002\u56e0\u4e3a\u5728\u5f53\u4e0b\uff0c\u867d\u7136\u6211\u5f88\u4e0d\u60c5\u613f\uff0c\u4f46\u4e5f\u4e0d\u5f97\u4e0d\u627f\u8ba4\uff0c\u5728\u8ba1\u7b97\u673a\u9886\u57df\uff0c\u5f88\u591a\u4f18\u8d28\u7684\u6587\u6863\u3001\u8bba\u575b\u3001\u7f51\u7ad9\u90fd\u662f\u5168\u82f1\u6587\u7684\u3002\u517b\u6210\u82f1\u6587\u9605\u8bfb\u7684\u4e60\u60ef\uff0c\u5728\u8d64\u65d7\u63d2\u904d\u4e16\u754c\u4e4b\u524d\uff0c\u8fd8\u662f\u6709\u4e00\u5b9a\u597d\u5904\u7684\uff08\u72d7\u5934\u4fdd\u547d\uff09\u3002 \u7b2c\u4e09\uff0c\u4e5f\u662f\u6211\u89c9\u5f97\u6700\u56f0\u96be\u7684\u4e00\u70b9\uff0c\u5c31\u662f\u81ea\u5f8b\u3002\u56e0\u4e3a\u6ca1\u6709 DDL \u6709\u65f6\u5019\u771f\u7684\u662f\u4e00\u4ef6\u53ef\u6015\u7684\u4e8b\u60c5\uff0c\u7279\u522b\u662f\u968f\u7740\u5b66\u4e60\u7684\u6df1\u5165\uff0c\u56fd\u5916\u7684\u5f88\u591a\u8bfe\u7a0b\u662f\u76f8\u5f53\u8650\u7684\u3002\u4f60\u5f97\u6709\u8db3\u591f\u7684\u9a71\u52a8\u529b\u5f3a\u8feb\u81ea\u5df1\u9759\u4e0b\u5fc3\u6765\uff0c\u9605\u8bfb\u51e0\u5341\u9875\u7684 Project Handout\uff0c\u7406\u89e3\u4e0a\u5343\u884c\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u5fcd\u53d7\u6570\u4e2a\u5c0f\u65f6\u7684 debug \u65f6\u5149\u3002\u800c\u8fd9\u4e00\u5207\uff0c\u6ca1\u6709\u5b66\u5206\uff0c\u6ca1\u6709\u7ee9\u70b9\uff0c\u6ca1\u6709\u8001\u5e08\uff0c\u6ca1\u6709\u540c\u5b66\uff0c\u53ea\u6709\u4e00\u4e2a\u4fe1\u5ff5 \u2014\u2014 \u4f60\u5728\u53d8\u5f3a\u3002","title":"\u81ea\u5b66\u7684\u574f\u5904"},{"location":"#_5","text":"\u6b63\u5982\u6211\u5728\u524d\u8a00\u91cc\u8bf4\u7684\uff0c\u4efb\u4f55\u6709\u5fd7\u4e8e\u81ea\u5b66\u8ba1\u7b97\u673a\u7684\u670b\u53cb\u90fd\u53ef\u4ee5\u53c2\u8003\u8fd9\u672c\u4e66\u3002\u5982\u679c\u4f60\u5df2\u7ecf\u6709\u4e86\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u57fa\u7840\uff0c\u53ea\u662f\u5bf9\u67d0\u4e2a\u7279\u5b9a\u7684\u9886\u57df\u611f\u5174\u8da3\uff0c\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u6311\u9009\u4f60\u611f\u5174\u8da3\u7684\u5185\u5bb9\u8fdb\u884c\u5b66\u4e60\u3002\u5f53\u7136\uff0c\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u50cf\u6211\u5f53\u5e74\u4e00\u6837\u5bf9\u8ba1\u7b97\u673a\u4e00\u65e0\u6240\u77e5\u7684\u5c0f\u767d\uff0c\u521d\u5165\u5927\u5b66\u7684\u6821\u95e8\uff0c\u6211\u5e0c\u671b\u8fd9\u672c\u4e66\u80fd\u6210\u4e3a\u4f60\u7684\u653b\u7565\uff0c\u8ba9\u4f60\u82b1\u6700\u5c11\u7684\u65f6\u95f4\u638c\u63e1\u4f60\u6240\u9700\u8981\u7684\u77e5\u8bc6\u548c\u80fd\u529b\u3002\u67d0\u79cd\u7a0b\u5ea6\u4e0a\uff0c\u8fd9\u672c\u4e66\u66f4\u50cf\u662f\u4e00\u4e2a\u6839\u636e\u6211\u7684\u4f53\u9a8c\u6765\u6392\u5e8f\u7684\u8bfe\u7a0b\u641c\u7d22\u5f15\u64ce\uff0c\u5e2e\u52a9\u5927\u5bb6\u8db3\u4e0d\u51fa\u6237\uff0c\u4f53\u9a8c\u4e16\u754c\u9876\u7ea7\u540d\u6821\u7684\u8ba1\u7b97\u673a\u4f18\u8d28\u8bfe\u7a0b\u3002 \u5f53\u7136\uff0c\u4f5c\u4e3a\u4e00\u4e2a\u8fd8\u672a\u6bd5\u4e1a\u7684\u672c\u79d1\u751f\uff0c\u6211\u6df1\u611f\u81ea\u5df1\u6ca1\u6709\u80fd\u529b\u4e5f\u6ca1\u6709\u6743\u5229\u53bb\u5ba3\u626c\u4e00\u79cd\u5b66\u4e60\u65b9\u5f0f\uff0c\u6211\u53ea\u662f\u5e0c\u671b\u8fd9\u4efd\u8d44\u6599\u80fd\u8ba9\u90a3\u4e9b\u540c\u6837\u6709\u81ea\u5b66\u4e4b\u5fc3\u548c\u6bc5\u529b\u670b\u53cb\u53ef\u4ee5\u5c11\u8d70\u4e9b\u5f2f\u8def\uff0c\u6536\u83b7\u66f4\u4e30\u5bcc\u3001\u66f4\u591a\u6837\u3001\u66f4\u6ee1\u8db3\u7684\u5b66\u4e60\u4f53\u9a8c\u3002","title":"\u8fd9\u672c\u4e66\u9002\u5408\u8c01"},{"location":"#_6","text":"\u5728\u8fd9\u91cc\uff0c\u6211\u6000\u7740\u5d07\u656c\u4e4b\u5fc3\u771f\u8bda\u5730\u611f\u8c22\u6240\u6709\u5c06\u8bfe\u7a0b\u8d44\u6e90\u65e0\u507f\u5f00\u6e90\u7684\u5404\u4f4d\u6559\u6388\u4eec\u3002\u8fd9\u4e9b\u8bfe\u7a0b\u503e\u6ce8\u4e86\u4ed6\u4eec\u6570\u5341\u5e74\u6559\u5b66\u751f\u6daf\u7684\u79ef\u6dc0\u548c\u5fc3\u8840\uff0c\u4ed6\u4eec\u5374\u9009\u62e9\u65e0\u79c1\u5730\u8ba9\u6240\u6709\u4eba\u4eab\u53d7\u5230\u5982\u6b64\u9ad8\u8d28\u91cf\u7684CS\u6559\u80b2\u3002\u6ca1\u6709\u4ed6\u4eec\uff0c\u6211\u7684\u5927\u5b66\u751f\u6d3b\u4e0d\u4f1a\u8fd9\u6837\u5145\u5b9e\u800c\u5feb\u4e50\u3002\u5f88\u591a\u6559\u6388\u5728\u6211\u7ed9\u4ed6\u4eec\u53d1\u4e86\u611f\u8c22\u90ae\u4ef6\u4e4b\u540e\uff0c\u751a\u81f3\u4f1a\u56de\u590d\u4e0a\u767e\u5b57\u7684\u957f\u6587\uff0c\u771f\u7684\u8ba9\u6211\u65e0\u6bd4\u611f\u52a8\u3002\u4ed6\u4eec\u4e5f\u65f6\u523b\u6fc0\u52b1\u7740\u6211\uff0c\u505a\u4e00\u4ef6\u4e8b\uff0c\u5c31\u5f97\u7528\u5fc3\u505a\u597d\uff0c\u65e0\u8bba\u662f\u79d1\u7814\uff0c\u8fd8\u662f\u4e3a\u4eba\u3002","title":"\u7279\u522b\u9e23\u8c22"},{"location":"#_7","text":"\u4e00\u4e2a\u4eba\u7684\u529b\u91cf\u7ec8\u7a76\u662f\u6709\u9650\u7684\uff0c\u8fd9\u672c\u4e66\u4e5f\u662f\u6211\u5728\u7e41\u91cd\u7684\u79d1\u7814\u4e4b\u4f59\u71ac\u591c\u62bd\u7a7a\u5199\u51fa\u6765\u7684\uff0c\u96be\u514d\u6709\u4e0d\u591f\u5b8c\u5584\u4e4b\u5904\u3002\u53e6\u5916\uff0c\u7531\u4e8e\u4e2a\u4eba\u505a\u7684\u662f\u7cfb\u7edf\u65b9\u5411\uff0c\u5f88\u591a\u8bfe\u7a0b\u4fa7\u91cd\u7cfb\u7edf\u9886\u57df\uff0c\u5bf9\u4e8e\u6570\u5b66\u3001\u7406\u8bba\u8ba1\u7b97\u673a\u3001\u9ad8\u7ea7\u7b97\u6cd5\u76f8\u5173\u7684\u5185\u5bb9\u5219\u76f8\u5bf9\u5c11\u4e9b\u3002\u5982\u679c\u6709\u5927\u4f6c\u60f3\u5728\u5176\u4ed6\u9886\u57df\u5206\u4eab\u81ea\u5df1\u7684\u81ea\u5b66\u7ecf\u5386\u4e0e\u8d44\u6e90\uff0c\u53ef\u4ee5\u76f4\u63a5\u5728\u9879\u76ee\u4e2d\u53d1\u8d77 Pull Request\uff0c\u4e5f\u6b22\u8fce\u548c\u6211\u90ae\u4ef6\u8054\u7cfb\uff08 zhongyinmin@pku.edu.cn \uff09\u3002","title":"\u4f60\u4e5f\u60f3\u52a0\u5165\u5230\u8d21\u732e\u8005\u7684\u884c\u5217"},{"location":"#_8","text":"\u65b9\u6cd5\u53c2\u89c1\u4ed3\u5e93\u7684 README.md \u3002","title":"\u5173\u4e8e\u4ea4\u6d41\u7fa4\u7684\u5efa\u7acb"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/","text":"\u4e00\u4e2a\u4ec5\u4f9b\u53c2\u8003\u7684 CS \u5b66\u4e60\u89c4\u5212 \u8ba1\u7b97\u673a\u9886\u57df\u65b9\u5411\u5e9e\u6742\uff0c\u77e5\u8bc6\u6d69\u5982\u70df\u6d77\uff0c\u6bcf\u4e2a\u7ec6\u5206\u9886\u57df\u5982\u679c\u6df1\u7a76\u4e0b\u53bb\u90fd\u53ef\u4ee5\u8bf4\u5b66\u65e0\u6b62\u5883\u3002\u56e0\u6b64\uff0c\u4e00\u4e2a\u6e05\u6670\u660e\u786e\u7684\u5b66\u4e60\u89c4\u5212\u662f\u975e\u5e38\u91cd\u8981\u7684\u3002\u6211\u5728\u591a\u5e74\u81ea\u5b66\u7684\u5c1d\u8bd5\u4e2d\u4e5f\u8d70\u8fc7\u4e0d\u5c11\u5f2f\u8def\uff0c\u6700\u7ec8\u63d0\u70bc\u51fa\u4e86\u4e0b\u9762\u7684\u5185\u5bb9\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u4e0d\u8fc7\uff0c\u5728\u5f00\u59cb\u5b66\u4e60\u4e4b\u524d\uff0c\u5148\u5411\u5c0f\u767d\u4eec\u5f3a\u70c8\u63a8\u8350\u4e00\u4e2a\u79d1\u666e\u5411\u7cfb\u5217\u89c6\u9891 Crash Course: Computer Science \uff0c\u5728\u77ed\u77ed 8 \u4e2a\u5c0f\u65f6\u91cc\u975e\u5e38\u751f\u52a8\u4e14\u5168\u9762\u5730\u79d1\u666e\u4e86\u5173\u4e8e\u8ba1\u7b97\u673a\u79d1\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff1a\u8ba1\u7b97\u673a\u7684\u5386\u53f2\u3001\u8ba1\u7b97\u673a\u662f\u5982\u4f55\u8fd0\u4f5c\u7684\u3001\u7ec4\u6210\u8ba1\u7b97\u673a\u7684\u5404\u4e2a\u91cd\u8981\u6a21\u5757\u3001\u8ba1\u7b97\u673a\u79d1\u5b66\u4e2d\u7684\u91cd\u8981\u601d\u60f3\u7b49\u7b49\u7b49\u7b49\u3002\u6b63\u5982\u5b83\u7684\u53e3\u53f7\u6240\u8bf4\u7684 Computers are not magic! \uff0c\u5e0c\u671b\u770b\u5b8c\u8fd9\u4e2a\u89c6\u9891\u4e4b\u540e\uff0c\u5927\u5bb6\u80fd\u5bf9\u8ba1\u7b97\u673a\u79d1\u5b66\u6709\u4e2a\u5168\u8c8c\u6027\u5730\u611f\u77e5\uff0c\u4ece\u800c\u6000\u7740\u5174\u8da3\u53bb\u9762\u5bf9\u4e0b\u9762\u6d69\u5982\u70df\u6d77\u7684\u66f4\u4e3a\u7ec6\u81f4\u4e14\u6df1\u5165\u7684\u5b66\u4e60\u5185\u5bb9\u3002 \u5fc5\u5b66\u5de5\u5177 \u4fd7\u8bdd\u8bf4\uff1a\u78e8\u5200\u4e0d\u8bef\u780d\u67f4\u5de5\u3002\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u521a\u521a\u63a5\u89e6\u8ba1\u7b97\u673a\u768424k\u7eaf\u5c0f\u767d\uff0c\u5b66\u4f1a\u4e00\u4e9b\u5de5\u5177\u5c06\u4f1a\u8ba9\u4f60\u4e8b\u534a\u529f\u500d\u3002 \u5b66\u4f1a\u63d0\u95ee\uff1a\u4e5f\u8bb8\u4f60\u4f1a\u60ca\u8bb6\uff0c\u63d0\u95ee\u4e5f\u7b97\u8ba1\u7b97\u673a\u5fc5\u5907\u6280\u80fd\u5417\uff0c\u8fd8\u653e\u5728\u7b2c\u4e00\u6761\uff1f\u6211\u89c9\u5f97\u5728\u5f00\u6e90\u793e\u533a\u4e2d\uff0c\u5b66\u4f1a\u63d0\u95ee\u662f\u4e00\u9879\u975e\u5e38\u91cd\u8981\u7684\u80fd\u529b\uff0c\u5b83\u5305\u542b\u4e24\u65b9\u9762\u7684\u4e8b\u60c5\u3002\u5176\u4e00\u662f\u4f1a\u53d8\u76f8\u5730\u57f9\u517b\u4f60\u81ea\u4e3b\u89e3\u51b3\u95ee\u9898\u7684\u80fd\u529b\uff0c\u56e0\u4e3a\u4ece\u5f62\u6210\u95ee\u9898\u3001\u63cf\u8ff0\u95ee\u9898\u5e76\u53d1\u5e03\u3001\u4ed6\u4eba\u56de\u7b54\u3001\u6700\u540e\u518d\u5230\u7406\u89e3\u56de\u7b54\u8fd9\u4e2a\u5468\u671f\u662f\u975e\u5e38\u957f\u7684\uff0c\u5982\u679c\u9047\u5230\u4ec0\u4e48\u9e21\u6bdb\u849c\u76ae\u7684\u4e8b\u60c5\u90fd\u5e0c\u671b\u522b\u4eba\u6700\u597d\u8fdc\u7a0b\u684c\u9762\u624b\u628a\u624b\u5e2e\u4f60\u5b8c\u6210\uff0c\u90a3\u8ba1\u7b97\u673a\u7684\u4e16\u754c\u57fa\u672c\u4e0e\u4f60\u65e0\u7f18\u4e86\u3002\u5176\u4e8c\uff0c\u5982\u679c\u771f\u7684\u7ecf\u8fc7\u5c1d\u8bd5\u8fd8\u65e0\u6cd5\u89e3\u51b3\uff0c\u53ef\u4ee5\u501f\u52a9\u5f00\u6e90\u793e\u533a\u7684\u5e2e\u52a9\uff0c\u4f46\u8fd9\u65f6\u5019\u5982\u4f55\u901a\u8fc7\u7b80\u6d01\u7684\u6587\u5b57\u8ba9\u522b\u4eba\u77ac\u95f4\u7406\u89e3\u4f60\u7684\u5904\u5883\u4ee5\u53ca\u76ee\u7684\uff0c\u5c31\u663e\u5f97\u5c24\u4e3a\u91cd\u8981\u3002\u63a8\u8350\u9605\u8bfb \u63d0\u95ee\u7684\u667a\u6167 \u8fd9\u7bc7\u6587\u7ae0\uff0c\u8fd9\u4e0d\u4ec5\u80fd\u63d0\u9ad8\u4f60\u89e3\u51b3\u95ee\u9898\u7684\u6982\u7387\u548c\u6548\u7387\uff0c\u4e5f\u80fd\u8ba9\u5f00\u6e90\u793e\u533a\u91cc\u65e0\u507f\u63d0\u4f9b\u89e3\u7b54\u7684\u4eba\u4eec\u62e5\u6709\u4e00\u4e2a\u597d\u5fc3\u60c5\u3002 MIT-Missing-Semester \u8fd9\u95e8\u8bfe\u8986\u76d6\u4e86\u8fd9\u4e9b\u5de5\u5177\u4e2d\u7edd\u5927\u90e8\u5206\uff0c\u800c\u4e14\u6709\u76f8\u5f53\u8be6\u7ec6\u7684\u4f7f\u7528\u6307\u5bfc\uff0c\u5f3a\u70c8\u5efa\u8bae\u5c0f\u767d\u5b66\u4e60\u3002\u4e0d\u8fc7\u9700\u8981\u6ce8\u610f\u7684\u4e00\u70b9\u662f\uff0c\u5728\u8bfe\u7a0b\u4e2d\u4f1a\u4e0d\u65f6\u63d0\u5230\u4e00\u4e9b\u4e0e\u5f00\u53d1\u6d41\u7a0b\u76f8\u5173\u7684\u672f\u8bed\u3002\u56e0\u6b64\u63a8\u8350\u81f3\u5c11\u5728\u5b66\u5b8c\u8ba1\u7b97\u673a\u5bfc\u8bba\u7ea7\u522b\u7684\u8bfe\u7a0b\u4e4b\u540e\u8fdb\u884c\u5b66\u4e60\u3002 \u7ffb\u5899 \uff1a\u7531\u4e8e\u4e00\u4e9b\u4f17\u6240\u5468\u77e5\u7684\u539f\u56e0\uff0c\u8c37\u6b4c\u3001GitHub \u7b49\u7f51\u7ad9\u5728\u5927\u9646\u65e0\u6cd5\u8bbf\u95ee\u3002\u7136\u800c\u5f88\u591a\u65f6\u5019\uff0c\u8c37\u6b4c\u548c StackOverflow \u53ef\u4ee5\u89e3\u51b3\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u9047\u5230\u7684 99% \u7684\u95ee\u9898\u3002\u56e0\u6b64\uff0c\u5b66\u4f1a\u7ffb\u5899\u51e0\u4e4e\u662f\u4e00\u4e2a\u5185\u5730 CSer \u7684\u5fc5\u5907\u6280\u80fd\u3002\uff08\u8003\u8651\u5230\u6cd5\u5f8b\u95ee\u9898\uff0c\u8fd9\u4e2a\u6587\u6863\u63d0\u4f9b\u7684\u7ffb\u5899\u65b9\u5f0f\u4ec5\u5bf9\u62e5\u6709\u5317\u5927\u90ae\u7bb1\u7684\u7528\u6237\u9002\u7528\uff09\u3002 \u547d\u4ee4\u884c\uff1a\u719f\u7ec3\u4f7f\u7528\u547d\u4ee4\u884c\u662f\u4e00\u79cd\u5e38\u5e38\u88ab\u5ffd\u89c6\uff0c\u6216\u88ab\u8ba4\u4e3a\u96be\u4ee5\u638c\u63e1\u7684\u6280\u80fd\uff0c\u4f46\u5b9e\u9645\u4e0a\uff0c\u5b83\u4f1a\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u4f5c\u4e3a\u5de5\u7a0b\u5e08\u7684\u7075\u6d3b\u6027\u4ee5\u53ca\u751f\u4ea7\u529b\u3002 \u547d\u4ee4\u884c\u7684\u827a\u672f \u662f\u4e00\u4efd\u975e\u5e38\u7ecf\u5178\u7684\u6559\u7a0b\uff0c\u5b83\u6e90\u4e8e Quora \u7684\u4e00\u4e2a\u63d0\u95ee\uff0c\u4f46\u5728\u5404\u8def\u5927\u795e\u7684\u8d21\u732e\u52aa\u529b\u4e0b\u5df2\u7ecf\u6210\u4e3a\u4e86\u4e00\u4e2a GitHub \u5341\u4e07 stars \u7684\u9876\u6d41\u9879\u76ee\uff0c\u88ab\u7ffb\u8bd1\u6210\u4e86\u5341\u51e0\u79cd\u8bed\u8a00\u3002\u6559\u7a0b\u4e0d\u957f\uff0c\u975e\u5e38\u5efa\u8bae\u5927\u5bb6\u53cd\u590d\u901a\u8bfb\uff0c\u5728\u5b9e\u8df5\u4e2d\u5185\u5316\u5438\u6536\u3002\u540c\u65f6\uff0c\u638c\u63e1 Shell \u811a\u672c\u7f16\u7a0b\u4e5f\u662f\u4e00\u9879\u4e0d\u5bb9\u5ffd\u89c6\u7684\u6280\u672f\uff0c\u53ef\u4ee5\u53c2\u8003\u8fd9\u4e2a \u6559\u7a0b \u3002 IDE (Integrated Development Environment)\uff1a\u96c6\u6210\u5f00\u53d1\u73af\u5883\uff0c\u8bf4\u767d\u4e86\u5c31\u662f\u4f60\u5199\u4ee3\u7801\u7684\u5730\u65b9\u3002\u4f5c\u4e3a\u4e00\u4e2a\u7801\u519c\uff0cIDE \u7684\u91cd\u8981\u6027\u4e0d\u8a00\u800c\u55bb\uff0c\u4f46\u7531\u4e8e\u5f88\u591a IDE \u662f\u4e3a\u5927\u578b\u5de5\u7a0b\u9879\u76ee\u8bbe\u8ba1\u7684\uff0c\u4f53\u91cf\u8f83\u5927\uff0c\u529f\u80fd\u4e5f\u8fc7\u4e8e\u4e30\u5bcc\u3002\u5176\u5b9e\u5982\u4eca\u4e00\u4e9b\u8f7b\u4fbf\u7684\u6587\u672c\u7f16\u8f91\u5668\u914d\u5408\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\u57fa\u672c\u53ef\u4ee5\u6ee1\u8db3\u65e5\u5e38\u7684\u8f7b\u91cf\u7f16\u7a0b\u9700\u6c42\u3002\u4e2a\u4eba\u5e38\u7528\u7684\u7f16\u8f91\u5668\u662f VS Code \u548c Sublime\uff08\u524d\u8005\u7684\u63d2\u4ef6\u914d\u7f6e\u975e\u5e38\u7b80\u5355\uff0c\u540e\u8005\u7565\u663e\u590d\u6742\u4f46\u989c\u503c\u5f88\u9ad8\uff09\u3002\u5f53\u7136\u5bf9\u4e8e\u5927\u578b\u9879\u76ee\u6211\u8fd8\u662f\u4f1a\u91c7\u7528\u7565\u91cd\u578b\u7684 IDE\uff0c\u4f8b\u5982 Pycharm (Python)\uff0cIDEA (Java) \u7b49\u7b49\uff08\u514d\u8d23\u7533\u660e\uff1a\u6240\u6709\u7684 IDE \u90fd\u662f\u4e16\u754c\u4e0a\u6700\u597d\u7684 IDE\uff09\u3002 Vim \uff1a\u4e00\u6b3e\u547d\u4ee4\u884c\u7f16\u8f91\u5de5\u5177\u3002\u8fd9\u662f\u4e00\u4e2a\u5b66\u4e60\u66f2\u7ebf\u6709\u4e9b\u9661\u5ced\u7684\u7f16\u8f91\u5668\uff0c\u4e0d\u8fc7\u5b66\u4f1a\u5b83\u6211\u89c9\u5f97\u662f\u975e\u5e38\u6709\u5fc5\u8981\u7684\uff0c\u56e0\u4e3a\u5b83\u5c06\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u7684\u5f00\u53d1\u6548\u7387\u3002\u73b0\u5728\u7edd\u5927\u591a\u6570 IDE \u4e5f\u90fd\u652f\u6301 Vim \u63d2\u4ef6\uff0c\u8ba9\u4f60\u5728\u4eab\u53d7\u73b0\u4ee3\u5f00\u53d1\u73af\u5883\u7684\u540c\u65f6\u4fdd\u7559\u6781\u5ba2\u7684\u70ab\u9177\uff08yue\uff09\u3002 Emacs \uff1a\u4e0e Vim \u9f50\u540d\u7684\u7ecf\u5178\u7f16\u8f91\u5668\uff0c\u540c\u6837\u5177\u6709\u6781\u9ad8\u7684\u5f00\u53d1\u6548\u7387\uff0c\u540c\u65f6\u5177\u6709\u66f4\u4e3a\u5f3a\u5927\u7684\u6269\u5c55\u6027\uff0c\u5b83\u65e2\u53ef\u4ee5\u914d\u7f6e\u4e3a\u4e00\u4e2a\u8f7b\u91cf\u7f16\u8f91\u5668\uff0c\u4e5f\u53ef\u4ee5\u6269\u5c55\u6210\u4e00\u4e2a\u4e2a\u4eba\u5b9a\u5236\u7684 IDE\uff0c\u751a\u81f3\u53ef\u4ee5\u6709\u66f4\u591a\u5947\u6280\u6deb\u5de7\u3002 Git \uff1a\u4e00\u6b3e\u4ee3\u7801\u7248\u672c\u63a7\u5236\u5de5\u5177\u3002Git\u7684\u5b66\u4e60\u66f2\u7ebf\u53ef\u80fd\u66f4\u4e3a\u9661\u5ced\uff0c\u4f46\u51fa\u81ea Linux \u4e4b\u7236 Linus \u4e4b\u624b\u7684 Git \u7edd\u5bf9\u662f\u6bcf\u4e2a\u5b66 CS \u7684\u7ae5\u978b\u5fc5\u987b\u638c\u63e1\u7684\u795e\u5668\u4e4b\u4e00\u3002 GitHub \uff1a\u57fa\u4e8e Git \u7684\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u5168\u4e16\u754c\u6700\u5927\u7684\u4ee3\u7801\u5f00\u6e90\u793e\u533a\uff0c\u5927\u4f6c\u96c6\u805a\u5730\u3002 GNU Make \uff1a\u4e00\u6b3e\u5de5\u7a0b\u6784\u5efa\u5de5\u5177\u3002\u5584\u7528 GNU Make \u4f1a\u8ba9\u4f60\u517b\u6210\u4ee3\u7801\u6a21\u5757\u5316\u7684\u4e60\u60ef\uff0c\u540c\u65f6\u4e5f\u80fd\u8ba9\u4f60\u719f\u6089\u4e00\u4e9b\u5927\u578b\u5de5\u7a0b\u7684\u7f16\u8bd1\u94fe\u63a5\u6d41\u7a0b\u3002 CMake \uff1a\u4e00\u6b3e\u529f\u80fd\u6bd4 GNU Make \u66f4\u4e3a\u5f3a\u5927\u7684\u6784\u5efa\u5de5\u5177\uff0c\u5efa\u8bae\u638c\u63e1 GNU Make \u4e4b\u540e\u518d\u52a0\u4ee5\u5b66\u4e60\u3002 LaTex \uff1a \u903c\u683c\u63d0\u5347 \u8bba\u6587\u6392\u7248\u5de5\u5177\u3002 Docker \uff1a\u4e00\u6b3e\u76f8\u8f83\u4e8e\u865a\u62df\u673a\u66f4\u8f7b\u91cf\u7ea7\u7684\u8f6f\u4ef6\u6253\u5305\u4e0e\u73af\u5883\u90e8\u7f72\u5de5\u5177\u3002 \u5b9e\u7528\u5de5\u5177\u7bb1 \uff1a\u9664\u4e86\u4e0a\u9762\u63d0\u5230\u7684\u8fd9\u4e9b\u5728\u5f00\u53d1\u4e2d\u4f7f\u7528\u9891\u7387\u6781\u9ad8\u7684\u5de5\u5177\u4e4b\u5916\uff0c\u6211\u8fd8\u6536\u96c6\u4e86\u5f88\u591a\u5b9e\u7528\u6709\u8da3\u7684\u514d\u8d39\u5de5\u5177\uff0c\u4f8b\u5982\u4e00\u4e9b\u4e0b\u8f7d\u5de5\u5177\u3001\u8bbe\u8ba1\u5de5\u5177\u3001\u5b66\u4e60\u7f51\u7ad9\u7b49\u7b49\u3002 Thesis \uff1a\u6bd5\u4e1a\u8bba\u6587 Word \u5199\u4f5c\u6559\u7a0b\u3002 \u597d\u4e66\u63a8\u8350 \u79c1\u4ee5\u4e3a\u4e00\u672c\u597d\u7684\u6559\u6750\u5e94\u5f53\u662f\u4ee5\u4eba\u4e3a\u672c\u7684\uff0c\u800c\u4e0d\u662f\u70ab\u6280\u5f0f\u7684\u7406\u8bba\u5806\u780c\u3002\u544a\u8bc9\u8bfb\u8005\u201c\u662f\u4ec0\u4e48\u201d\u56fa\u7136\u91cd\u8981\uff0c\u4f46\u66f4\u597d\u7684\u5e94\u5f53\u662f\u6559\u6750\u4f5c\u8005\u5c06\u5176\u5728\u8fd9\u4e2a\u9886\u57df\u6df1\u8015\u51e0\u5341\u5e74\u7684\u7ecf\u9a8c\u878d\u6c47\u8fdb\u4e66\u4e2d\uff0c\u5411\u8bfb\u8005\u5a13\u5a13\u9053\u6765\u201c\u4e3a\u4ec0\u4e48\u201d\u4ee5\u53ca\u672a\u6765\u5e94\u8be5\u201c\u600e\u4e48\u505a\u201d\u3002 \u94fe\u63a5\u6233\u8fd9\u91cc \u73af\u5883\u914d\u7f6e \u4f60\u4ee5\u4e3a\u7684\u5f00\u53d1 \u2014\u2014 \u5728 IDE \u91cc\u75af\u72c2\u7801\u4ee3\u7801\u6570\u5c0f\u65f6\u3002 \u5b9e\u9645\u4e0a\u7684\u5f00\u53d1 \u2014\u2014 \u914d\u73af\u5883\u914d\u51e0\u5929\u8fd8\u6ca1\u5f00\u59cb\u5199\u4ee3\u7801\u3002 PC \u7aef\u73af\u5883\u914d\u7f6e \u5982\u679c\u4f60\u662f Mac \u7528\u6237\uff0c\u90a3\u4e48\u4f60\u5f88\u5e78\u8fd0\uff0c\u8fd9\u4efd \u6307\u5357 \u5c06\u4f1a\u624b\u628a\u624b\u5730\u5e26\u4f60\u642d\u5efa\u8d77\u6574\u5957\u5f00\u53d1\u73af\u5883\u3002\u5982\u679c\u4f60\u662f Windows \u7528\u6237\uff0c\u5728\u5f00\u6e90\u793e\u533a\u7684\u52aa\u529b\u4e0b\uff0c\u4f60\u540c\u6837\u53ef\u4ee5\u83b7\u5f97\u4e0e\u5176\u4ed6\u5e73\u53f0\u7c7b\u4f3c\u7684\u4f53\u9a8c\uff1a Scoop \u3002 \u53e6\u5916\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003\u4e00\u4efd\u7075\u611f\u6765\u81ea 6.NULL MIT-Missing-Semester \u7684 \u73af\u5883\u914d\u7f6e\u6307\u5357 \uff0c\u91cd\u70b9\u5728\u4e8e\u7ec8\u7aef\u7684\u7f8e\u5316\u914d\u7f6e\u3002\u6b64\u5916\u8fd8\u5305\u62ec\u5e38\u7528\u8f6f\u4ef6\u6e90\uff08\u5982 GitHub, Anaconda, PyPI \u7b49\uff09\u7684\u52a0\u901f\u4e0e\u66ff\u6362\u4ee5\u53ca\u4e00\u4e9b IDE \u7684\u914d\u7f6e\u4e0e\u6fc0\u6d3b\u6559\u7a0b\u3002 \u670d\u52a1\u5668\u7aef\u73af\u5883\u914d\u7f6e \u670d\u52a1\u5668\u7aef\u7684\u8fd0\u7ef4\u9700\u8981\u638c\u63e1 Linux\uff08\u6216\u8005\u5176\u4ed6\u7c7b Unix \u7cfb\u7edf\uff09\u7684\u57fa\u672c\u4f7f\u7528\u4ee5\u53ca\u8fdb\u7a0b\u3001\u8bbe\u5907\u3001\u7f51\u7edc\u7b49\u7cfb\u7edf\u76f8\u5173\u7684\u57fa\u672c\u6982\u5ff5\uff0c\u5c0f\u767d\u53ef\u4ee5\u53c2\u8003\u4e2d\u56fd\u79d1\u5b66\u6280\u672f\u5927\u5b66 Linux \u7528\u6237\u534f\u4f1a\u7f16\u5199\u7684 \u300aLinux 101\u300b\u5728\u7ebf\u8bb2\u4e49 \u3002\u5982\u679c\u60f3\u6df1\u5165\u5b66\u4e60\u7cfb\u7edf\u8fd0\u7ef4\u76f8\u5173\u7684\u77e5\u8bc6\uff0c\u53ef\u4ee5\u53c2\u8003 Aspects of System Administration \u8fd9\u95e8\u8bfe\u7a0b\u3002 \u53e6\u5916\uff0c\u5982\u679c\u9700\u8981\u5b66\u4e60\u67d0\u4e2a\u5177\u4f53\u7684\u6982\u5ff5\u6216\u5de5\u5177\uff0c\u63a8\u8350\u4e00\u4e2a\u975e\u5e38\u4e0d\u9519\u7684 GitHub \u9879\u76ee DevOps-Guide \uff0c\u5176\u4e2d\u6db5\u76d6\u4e86\u975e\u5e38\u591a\u7684\u8fd0\u7ef4\u65b9\u9762\u7684\u57fa\u7840\u77e5\u8bc6\u548c\u6559\u7a0b\uff0c\u4f8b\u5982 Docker, Kubernetes, Linux, CI-CD, GitHub Actions \u7b49\u7b49\u3002 \u8bfe\u7a0b\u5730\u56fe \u6b63\u5982\u8fd9\u7ae0\u5f00\u5934\u63d0\u5230\u7684\uff0c\u8fd9\u4efd\u8bfe\u7a0b\u5730\u56fe\u4ec5\u4ec5\u662f\u4e00\u4e2a \u4ec5\u4f9b\u53c2\u8003 \u7684\u8bfe\u7a0b\u89c4\u5212\uff0c\u6211\u4f5c\u4e3a\u4e00\u4e2a\u4e34\u8fd1\u6bd5\u4e1a\u7684\u672c\u79d1\u751f\u3002\u6df1\u611f\u81ea\u5df1\u6ca1\u6709\u6743\u5229\u4e5f\u6ca1\u6709\u80fd\u529b\u5411\u522b\u4eba\u5ba3\u626c\u201c\u5e94\u8be5\u600e\u4e48\u5b66\u201d\u3002\u56e0\u6b64\u5982\u679c\u4f60\u89c9\u5f97\u4ee5\u4e0b\u7684\u8bfe\u7a0b\u5206\u7c7b\u4e0e\u9009\u62e9\u6709\u4e0d\u5408\u7406\u4e4b\u5904\uff0c\u6211\u5168\u76d8\u63a5\u53d7\uff0c\u5e76\u6df1\u611f\u62b1\u6b49\u3002\u4f60\u53ef\u4ee5\u5728\u4e0b\u4e00\u8282 \u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe \u4ee5\u4e0b\u8bfe\u7a0b\u7c7b\u522b\u4e2d\u9664\u4e86\u542b\u6709 \u57fa\u7840 \u548c \u5165\u95e8 \u5b57\u773c\u7684\u4ee5\u5916\uff0c\u5e76\u65e0\u660e\u786e\u7684\u5148\u540e\u6b21\u5e8f\uff0c\u5927\u5bb6\u53ea\u8981\u6ee1\u8db3\u67d0\u4e2a\u8bfe\u7a0b\u7684\u5148\u4fee\u8981\u6c42\uff0c\u5b8c\u5168\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u8981\u548c\u559c\u597d\u9009\u62e9\u60f3\u8981\u5b66\u4e60\u7684\u8bfe\u7a0b\u3002 \u6570\u5b66\u57fa\u7840 \u5fae\u79ef\u5206\u4e0e\u7ebf\u6027\u4ee3\u6570 \u4f5c\u4e3a\u5927\u4e00\u65b0\u751f\uff0c\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u662f\u548c\u5199\u4ee3\u7801\u81f3\u5c11\u540c\u7b49\u91cd\u8981\u7684\u4e8b\u60c5\uff0c\u76f8\u4fe1\u5df2\u7ecf\u6709\u65e0\u6570\u7684\u524d\u4eba\u7ecf\u9a8c\u63d0\u5230\u8fc7\u8fd9\u4e00\u70b9\uff0c\u4f46\u6211\u8fd8\u662f\u8981\u4e0d\u538c\u5176\u70e6\u5730\u518d\u5f3a\u8c03\u4e00\u904d\uff1a\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u771f\u7684\u5f88\u91cd\u8981\uff01\u4f60\u4e5f\u8bb8\u4f1a\u5410\u69fd\u8fd9\u4e9b\u4e1c\u897f\u5c82\u4e0d\u662f\u8003\u5b8c\u5c31\u5fd8\uff0c\u90a3\u6211\u89c9\u5f97\u4f60\u662f\u5e76\u6ca1\u6709\u628a\u63e1\u4f4f\u5b83\u4eec\u672c\u8d28\uff0c\u5bf9\u5b83\u4eec\u7684\u7406\u89e3\u8fd8\u6ca1\u6709\u8fbe\u5230\u523b\u9aa8\u94ed\u5fc3\u7684\u7a0b\u5ea6\u3002\u5982\u679c\u89c9\u5f97\u8001\u5e08\u8bfe\u4e0a\u8bb2\u7684\u5185\u5bb9\u6666\u6da9\u96be\u61c2\uff0c\u4e0d\u59a8\u53c2\u8003 MIT \u7684 Calculus Course \u548c 18.06: Linear Algebra \u7684\u8bfe\u7a0b notes\uff0c\u81f3\u5c11\u4e8e\u6211\u800c\u8a00\uff0c\u5b83\u5e2e\u52a9\u6211\u6df1\u523b\u7406\u89e3\u4e86\u5fae\u79ef\u5206\u548c\u7ebf\u6027\u4ee3\u6570\u7684\u8bb8\u591a\u672c\u8d28\u3002\u987a\u9053\u518d\u5b89\u5229\u4e00\u4e2a\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \uff0c\u4ed6\u7684\u9891\u9053\u6709\u5f88\u591a\u7528\u751f\u52a8\u5f62\u8c61\u7684\u52a8\u753b\u9610\u91ca\u6570\u5b66\u672c\u8d28\u5185\u6838\u7684\u89c6\u9891\uff0c\u517c\u5177\u6df1\u5ea6\u548c\u5e7f\u5ea6\uff0c\u8d28\u91cf\u975e\u5e38\u9ad8\u3002 \u4fe1\u606f\u8bba\u5165\u95e8 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u53ca\u65e9\u4e86\u89e3\u4e00\u4e9b\u4fe1\u606f\u8bba\u7684\u57fa\u7840\u77e5\u8bc6\uff0c\u6211\u89c9\u5f97\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u4f46\u5927\u591a\u4fe1\u606f\u8bba\u8bfe\u7a0b\u90fd\u9762\u5411\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u751a\u81f3\u7814\u7a76\u751f\uff0c\u5bf9\u65b0\u624b\u6781\u4e0d\u53cb\u597d\u3002\u800c MIT \u7684 6.050J: Information theory and Entropy \u8fd9\u95e8\u8bfe\u6b63\u662f\u4e3a\u5927\u4e00\u65b0\u751f\u91cf\u8eab\u5b9a\u5236\u7684\uff0c\u51e0\u4e4e\u6ca1\u6709\u5148\u4fee\u8981\u6c42\uff0c\u6db5\u76d6\u4e86\u7f16\u7801\u3001\u538b\u7f29\u3001\u901a\u4fe1\u3001\u4fe1\u606f\u71b5\u7b49\u7b49\u5185\u5bb9\uff0c\u975e\u5e38\u6709\u8da3\u3002 \u6570\u5b66\u8fdb\u9636 \u79bb\u6563\u6570\u5b66\u4e0e\u6982\u7387\u8bba \u96c6\u5408\u8bba\u3001\u56fe\u8bba\u3001\u6982\u7387\u8bba\u7b49\u7b49\u662f\u7b97\u6cd5\u63a8\u5bfc\u4e0e\u8bc1\u660e\u7684\u91cd\u8981\u5de5\u5177\uff0c\u4e5f\u662f\u540e\u7eed\u9ad8\u9636\u6570\u5b66\u8bfe\u7a0b\u7684\u57fa\u7840\u3002\u4f46\u6211\u89c9\u5f97\u8fd9\u7c7b\u8bfe\u7a0b\u7684\u8bb2\u6388\u5f88\u5bb9\u6613\u843d\u5165\u7406\u8bba\u5316\u4e0e\u5f62\u5f0f\u5316\u7684\u7aa0\u81fc\uff0c\u8ba9\u8bfe\u5802\u6210\u4e3a\u5b9a\u7406\u7ed3\u8bba\u7684\u5806\u780c\uff0c\u800c\u65e0\u6cd5\u4f7f\u5b66\u751f\u6df1\u523b\u628a\u63e1\u7406\u8bba\u7684\u672c\u8d28\uff0c\u8fdb\u800c\u9020\u6210\u5b66\u4e86\u5c31\u80cc\uff0c\u8003\u4e86\u5c31\u5fd8\u7684\u602a\u5708\u3002\u5982\u679c\u80fd\u5728\u7406\u8bba\u6559\u5b66\u4e2d\u7a7f\u63d2\u7b97\u6cd5\u8fd0\u7528\u5b9e\u4f8b\uff0c\u5b66\u751f\u5728\u62d3\u5c55\u7b97\u6cd5\u77e5\u8bc6\u7684\u540c\u65f6\u4e5f\u80fd\u7aa5\u89c1\u7406\u8bba\u7684\u529b\u91cf\u548c\u9b45\u529b\u3002 UCB CS70 : discrete Math and probability theory \u548c UCB CS126 : Probability theory \u662f UC Berkeley \u7684\u6982\u7387\u8bba\u8bfe\u7a0b\uff0c\u524d\u8005\u8986\u76d6\u4e86\u79bb\u6563\u6570\u5b66\u548c\u6982\u7387\u8bba\u57fa\u7840\uff0c\u540e\u8005\u5219\u6d89\u53ca\u968f\u673a\u8fc7\u7a0b\u4ee5\u53ca\u6df1\u5165\u7684\u7406\u8bba\u5185\u5bb9\u3002\u4e24\u8005\u90fd\u975e\u5e38\u6ce8\u91cd\u7406\u8bba\u548c\u5b9e\u8df5\u7684\u7ed3\u5408\uff0c\u6709\u4e30\u5bcc\u7684\u7b97\u6cd5\u5b9e\u9645\u8fd0\u7528\u5b9e\u4f8b\uff0c\u540e\u8005\u8fd8\u6709\u5927\u91cf\u7684 Python \u7f16\u7a0b\u4f5c\u4e1a\u6765\u8ba9\u5b66\u751f\u8fd0\u7528\u6982\u7387\u8bba\u7684\u77e5\u8bc6\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u3002 \u6570\u503c\u5206\u6790 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u57f9\u517b\u8ba1\u7b97\u601d\u7ef4\u662f\u5f88\u91cd\u8981\u7684\uff0c\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u3001\u79bb\u6563\u5316\uff0c\u8ba1\u7b97\u673a\u7684\u6a21\u62df\u3001\u5206\u6790\uff0c\u662f\u4e00\u9879\u5f88\u91cd\u8981\u7684\u80fd\u529b\u3002\u800c\u8fd9\u4e24\u5e74\u5f00\u59cb\u98ce\u9761\u7684\uff0c\u7531 MIT \u6253\u9020\u7684 Julia \u7f16\u7a0b\u8bed\u8a00\u4ee5\u5176 C \u4e00\u6837\u7684\u901f\u5ea6\u548c Python \u4e00\u6837\u53cb\u597d\u7684\u8bed\u6cd5\u5728\u6570\u503c\u8ba1\u7b97\u9886\u57df\u6709\u4e00\u7edf\u5929\u4e0b\u4e4b\u52bf\uff0cMIT \u7684\u8bb8\u591a\u6570\u5b66\u8bfe\u7a0b\u4e5f\u5f00\u59cb\u7528 Julia \u4f5c\u4e3a\u6559\u5b66\u5de5\u5177\uff0c\u628a\u8270\u6df1\u7684\u6570\u5b66\u7406\u8bba\u7528\u76f4\u89c2\u6e05\u6670\u7684\u4ee3\u7801\u5c55\u793a\u51fa\u6765\u3002 ComputationalThinking \u662f MIT \u5f00\u8bbe\u7684\u4e00\u95e8\u8ba1\u7b97\u601d\u7ef4\u5165\u95e8\u8bfe\uff0c\u6240\u6709\u8bfe\u7a0b\u5185\u5bb9\u5168\u90e8\u5f00\u6e90\uff0c\u53ef\u4ee5\u5728\u8bfe\u7a0b\u7f51\u7ad9\u76f4\u63a5\u8bbf\u95ee\u3002\u8fd9\u95e8\u8bfe\u5229\u7528 Julia \u7f16\u7a0b\u8bed\u8a00\uff0c\u5728\u56fe\u50cf\u5904\u7406\u3001\u793e\u4f1a\u79d1\u5b66\u4e0e\u6570\u636e\u79d1\u5b66\u3001\u6c14\u5019\u5b66\u5efa\u6a21\u4e09\u4e2a topic \u4e0b\u5e26\u9886\u5b66\u751f\u7406\u89e3\u7b97\u6cd5\u3001\u6570\u5b66\u5efa\u6a21\u3001\u6570\u636e\u5206\u6790\u3001\u4ea4\u4e92\u8bbe\u8ba1\u3001\u56fe\u4f8b\u5c55\u793a\uff0c\u8ba9\u5b66\u751f\u4f53\u9a8c\u8ba1\u7b97\u4e0e\u79d1\u5b66\u7684\u7f8e\u5999\u7ed3\u5408\u3002\u5185\u5bb9\u867d\u7136\u4e0d\u96be\uff0c\u4f46\u7ed9\u6211\u6700\u6df1\u523b\u7684\u611f\u53d7\u5c31\u662f\uff0c\u79d1\u5b66\u7684\u9b45\u529b\u5e76\u4e0d\u662f\u6545\u5f04\u7384\u865a\u7684\u8270\u6df1\u7406\u8bba\uff0c\u4e0d\u662f\u8bd8\u5c48\u8071\u7259\u7684\u672f\u8bed\u884c\u8bdd\uff0c\u800c\u662f\u7528\u76f4\u89c2\u751f\u52a8\u7684\u6848\u4f8b\uff0c\u7528\u7b80\u7ec3\u6df1\u523b\u7684\u8bed\u8a00\uff0c\u8ba9\u6bcf\u4e2a\u666e\u901a\u4eba\u90fd\u80fd\u7406\u89e3\u3002 \u4e0a\u5b8c\u4e0a\u9762\u7684\u4f53\u9a8c\u8bfe\u4e4b\u540e\uff0c\u5982\u679c\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u4e0d\u59a8\u8bd5\u8bd5 MIT \u7684 18.330 : Introduction to numerical analysis \uff0c\u8fd9\u95e8\u8bfe\u7684\u7f16\u7a0b\u4f5c\u4e1a\u540c\u6837\u4f1a\u7528 Julia \u7f16\u7a0b\u8bed\u8a00\uff0c\u4e0d\u8fc7\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u90fd\u4e0a\u4e86\u4e00\u4e2a\u53f0\u9636\u3002\u5185\u5bb9\u6d89\u53ca\u4e86\u6d6e\u70b9\u7f16\u7801\u3001Root finding\u3001\u7ebf\u6027\u7cfb\u7edf\u3001\u5fae\u5206\u65b9\u7a0b\u7b49\u7b49\u65b9\u9762\uff0c\u6574\u95e8\u8bfe\u7684\u4e3b\u65e8\u5c31\u662f\u8ba9\u4f60\u5229\u7528\u79bb\u6563\u5316\u7684\u8ba1\u7b97\u673a\u8868\u793a\u53bb\u4f30\u8ba1\u548c\u903c\u8fd1\u4e00\u4e2a\u6570\u5b66\u4e0a\u8fde\u7eed\u7684\u6982\u5ff5\u3002\u8fd9\u95e8\u8bfe\u7684\u6559\u6388\u8fd8\u4e13\u95e8\u64b0\u5199\u4e86\u4e00\u672c\u914d\u5957\u7684\u5f00\u6e90\u6559\u6750 Fundamentals of Numerical Computation \uff0c\u91cc\u9762\u9644\u6709\u4e30\u5bcc\u7684 Julia \u4ee3\u7801\u5b9e\u4f8b\u548c\u4e25\u8c28\u7684\u516c\u5f0f\u63a8\u5bfc\u3002 \u5982\u679c\u4f60\u8fd8\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u8fd8\u6709 MIT \u7684\u6570\u503c\u5206\u6790\u7814\u7a76\u751f\u8bfe\u7a0b 18.335: Introduction to numerical method \u4f9b\u4f60\u53c2\u8003\u3002 \u5fae\u5206\u65b9\u7a0b \u5982\u679c\u4e16\u95f4\u4e07\u7269\u7684\u8fd0\u52a8\u53d1\u5c55\u90fd\u80fd\u7528\u65b9\u7a0b\u6765\u523b\u753b\u548c\u63cf\u8ff0\uff0c\u8fd9\u662f\u4e00\u4ef6\u591a\u4e48\u9177\u7684\u4e8b\u60c5\u5440\uff01\u867d\u7136\u51e0\u4e4e\u4efb\u4f55\u4e00\u6240\u5b66\u6821\u7684 CS \u57f9\u517b\u65b9\u6848\u4e2d\u90fd\u6ca1\u6709\u5fae\u5206\u65b9\u7a0b\u76f8\u5173\u7684\u5fc5\u4fee\u8bfe\u7a0b\uff0c\u4f46\u6211\u8fd8\u662f\u89c9\u5f97\u638c\u63e1\u5b83\u4f1a\u8d4b\u4e88\u4f60\u4e00\u4e2a\u65b0\u7684\u89c6\u89d2\u6765\u5ba1\u89c6\u8fd9\u4e2a\u4e16\u754c\u3002 \u7531\u4e8e\u5fae\u5206\u65b9\u7a0b\u4e2d\u5f80\u5f80\u4f1a\u7528\u5230\u5f88\u591a\u590d\u53d8\u51fd\u6570\u7684\u77e5\u8bc6\uff0c\u6240\u4ee5\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003 MIT18.04: Complex variables functions \u7684\u8bfe\u7a0b notes \u6765\u8865\u9f50\u5148\u4fee\u77e5\u8bc6\u3002 MIT18.03: differential equations \u4e3b\u8981\u8986\u76d6\u4e86\u5e38\u5fae\u5206\u65b9\u7a0b\u7684\u6c42\u89e3\uff0c\u5728\u6b64\u57fa\u7840\u4e4b\u4e0a MIT18.152: Partial differential equations \u5219\u4f1a\u6df1\u5165\u504f\u5fae\u5206\u65b9\u7a0b\u7684\u5efa\u6a21\u4e0e\u6c42\u89e3\u3002\u638c\u63e1\u4e86\u5fae\u5206\u65b9\u7a0b\u8fd9\u4e00\u6709\u529b\u5de5\u5177\uff0c\u76f8\u4fe1\u5bf9\u4e8e\u4f60\u7684\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u80fd\u529b\u4ee5\u53ca\u4ece\u4f17\u591a\u566a\u58f0\u53d8\u91cf\u4e2d\u628a\u63e1\u672c\u8d28\u7684\u76f4\u89c9\u90fd\u4f1a\u6709\u5f88\u5927\u5e2e\u52a9\u3002 \u6570\u5b66\u9ad8\u9636 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u6211\u7ecf\u5e38\u542c\u5230\u6570\u5b66\u65e0\u7528\u8bba\u7684\u8bba\u65ad\uff0c\u5bf9\u6b64\u6211\u4e0d\u6562\u82df\u540c\u4f46\u4e5f\u65e0\u6743\u53cd\u5bf9\uff0c\u4f46\u82e5\u51e1\u4e8b\u90fd\u786c\u8981\u4e89\u51fa\u4e2a\u6709\u7528\u548c\u65e0\u7528\u7684\u533a\u522b\u6765\uff0c\u5012\u4e5f\u7740\u5b9e\u65e0\u8da3\uff0c\u56e0\u6b64\u4e0b\u9762\u8fd9\u4e9b\u9762\u5411\u9ad8\u5e74\u7ea7\u751a\u81f3\u7814\u7a76\u751f\u7684\u6570\u5b66\u8bfe\u7a0b\uff0c\u5927\u5bb6\u6309\u5174\u8da3\u81ea\u53d6\u6240\u9700\u3002 \u51f8\u4f18\u5316 Standford EE364A: Convex Optimization \u4fe1\u606f\u8bba MIT6.441: Information Theory \u5e94\u7528\u7edf\u8ba1\u5b66 MIT18.650: Statistics for Applications \u521d\u7b49\u6570\u8bba MIT18.781: Theory of Numbers \u5bc6\u7801\u5b66 Standford CS255: Cryptography \u7f16\u7a0b\u5165\u95e8 Languages are tools, you choose the right tool to do the right thing. Since there's no universally perfect tool, there's no universally perfect language. Shell MIT-Missing-Semester Python CS50P: CS50's Introduction to Programming with Python Harvard CS50: This is CS50x UCB CS61A: Structure and Interpretation of Computer Programs C++ Stanford CS106B/X: Programming Abstractions Stanford CS106L: Standard C++ Programming Rust Stanford CS110L: Safety in Systems Programming OCaml Cornell CS3110 textbook: Functional Programming in OCaml \u7535\u5b50\u57fa\u7840 \u7535\u8def\u57fa\u7840 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u4e86\u89e3\u4e00\u4e9b\u57fa\u7840\u7684\u7535\u8def\u77e5\u8bc6\uff0c\u611f\u53d7\u4ece\u4f20\u611f\u5668\u6536\u96c6\u6570\u636e\u5230\u6570\u636e\u5206\u6790\u518d\u5230\u7b97\u6cd5\u9884\u6d4b\u6574\u6761\u6d41\u6c34\u7ebf\uff0c\u5bf9\u4e8e\u540e\u7eed\u77e5\u8bc6\u7684\u5b66\u4e60\u4ee5\u53ca\u8ba1\u7b97\u601d\u7ef4\u7684\u57f9\u517b\u8fd8\u662f\u5f88\u6709\u5e2e\u52a9\u7684\u3002 EE16A&B: Designing Information Devices and Systems I&II \u662f\u4f2f\u514b\u5229 EE \u5b66\u751f\u7684\u5927\u4e00\u5165\u95e8\u8bfe\uff0c\u5176\u4e2d EE16A \u6ce8\u91cd\u901a\u8fc7\u7535\u8def\u4ece\u5b9e\u9645\u73af\u5883\u4e2d\u6536\u96c6\u548c\u5206\u6790\u6570\u636e\uff0c\u800c EE16B \u5219\u4fa7\u91cd\u4ece\u8fd9\u4e9b\u6536\u96c6\u5230\u7684\u6570\u636e\u8fdb\u884c\u5206\u6790\u5e76\u505a\u51fa\u9884\u6d4b\u884c\u4e3a\u3002 \u4fe1\u53f7\u4e0e\u7cfb\u7edf \u4fe1\u53f7\u4e0e\u7cfb\u7edf\u662f\u4e00\u95e8\u6211\u89c9\u5f97\u975e\u5e38\u503c\u5f97\u4e00\u4e0a\u7684\u8bfe\uff0c\u6700\u521d\u5b66\u5b83\u53ea\u662f\u4e3a\u4e86\u6ee1\u8db3\u6211\u5bf9\u5085\u91cc\u53f6\u53d8\u6362\u7684\u597d\u5947\uff0c\u4f46\u5b66\u5b8c\u4e4b\u540e\u6211\u624d\u4e0d\u7981\u611f\u53f9\uff0c\u5085\u7acb\u53f6\u53d8\u6362\u7ed9\u6211\u63d0\u4f9b\u4e86\u4e00\u4e2a\u5168\u65b0\u7684\u89c6\u89d2\u53bb\u770b\u5f85\u8fd9\u4e2a\u4e16\u754c\uff0c\u5c31\u5982\u540c\u5fae\u5206\u65b9\u7a0b\u4e00\u6837\uff0c\u8ba9\u4f60\u6c89\u6d78\u5728\u7528\u6570\u5b66\u53bb\u7cbe\u786e\u63cf\u7ed8\u548c\u523b\u753b\u8fd9\u4e2a\u4e16\u754c\u7684\u4f18\u96c5\u4e0e\u795e\u5947\u4e4b\u4e2d\u3002 MIT 6.003: signal and systems \u63d0\u4f9b\u4e86\u5168\u90e8\u7684\u8bfe\u7a0b\u5f55\u5f71\u3001\u4e66\u9762\u4f5c\u4e1a\u4ee5\u53ca\u7b54\u6848\u3002\u4e5f\u53ef\u4ee5\u53bb\u770b\u8fd9\u95e8\u8bfe\u7684 \u8fdc\u53e4\u7248\u672c \u800c UCB EE120: Signal and Systems \u5173\u4e8e\u5085\u7acb\u53f6\u53d8\u6362\u7684 notes \u5199\u5f97\u975e\u5e38\u597d\uff0c\u5e76\u4e14\u63d0\u4f9b\u4e866 \u4e2a\u975e\u5e38\u6709\u8da3\u7684 Python \u7f16\u7a0b\u4f5c\u4e1a\uff0c\u8ba9\u4f60\u5b9e\u8df5\u4e2d\u8fd0\u7528\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u7684\u7406\u8bba\u4e0e\u7b97\u6cd5\u3002 \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 \u7b97\u6cd5\u662f\u8ba1\u7b97\u673a\u79d1\u5b66\u7684\u6838\u5fc3\uff0c\u4e5f\u662f\u51e0\u4e4e\u4e00\u5207\u4e13\u4e1a\u8bfe\u7a0b\u7684\u57fa\u7840\u3002\u5982\u4f55\u5c06\u5b9e\u9645\u95ee\u9898\u901a\u8fc7\u6570\u5b66\u62bd\u8c61\u8f6c\u5316\u4e3a\u7b97\u6cd5\u95ee\u9898\uff0c\u5e76\u9009\u7528\u5408\u9002\u7684\u6570\u636e\u7ed3\u6784\u5728\u65f6\u95f4\u548c\u5185\u5b58\u5927\u5c0f\u7684\u9650\u5236\u4e0b\u5c06\u5176\u89e3\u51b3\u662f\u7b97\u6cd5\u8bfe\u7684\u6c38\u6052\u4e3b\u9898\u3002\u5982\u679c\u4f60\u53d7\u591f\u4e86\u8001\u5e08\u7684\u7167\u672c\u5ba3\u79d1\uff0c\u90a3\u4e48\u6211\u5f3a\u70c8\u63a8\u8350\u4f2f\u514b\u5229\u7684 UCB CS61B: Data Structures and Algorithms \u548c\u666e\u6797\u65af\u987f\u7684 Coursera: Algorithms I & II \uff0c\u8fd9\u4e24\u95e8\u8bfe\u7684\u90fd\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\u5e76\u4e14\u4f1a\u6709\u4e30\u5bcc\u4e14\u6709\u8da3\u7684\u7f16\u7a0b\u5b9e\u9a8c\u5c06\u7406\u8bba\u4e0e\u77e5\u8bc6\u7ed3\u5408\u8d77\u6765\u3002 \u4ee5\u4e0a\u4e24\u95e8\u8bfe\u7a0b\u90fd\u662f\u57fa\u4e8e Java \u8bed\u8a00\uff0c\u5982\u679c\u4f60\u60f3\u5b66\u4e60 C/C++ \u63cf\u8ff0\u7684\u7248\u672c\uff0c\u53ef\u4ee5\u53c2\u8003\u65af\u5766\u798f\u7684\u6570\u636e\u7ed3\u6784\u4e0e\u57fa\u7840\u7b97\u6cd5\u8bfe\u7a0b Stanford CS106B/X: Programming Abstractions \u3002\u504f\u597d Python \u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60 MIT \u7684\u7b97\u6cd5\u5165\u95e8\u8bfe MIT 6.006: Introduction to Algorithms \u5bf9\u4e00\u4e9b\u66f4\u9ad8\u7ea7\u7684\u7b97\u6cd5\u4ee5\u53ca NP \u95ee\u9898\u611f\u5174\u8da3\u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60\u4f2f\u514b\u5229\u7684\u7b97\u6cd5\u8bbe\u8ba1\u4e0e\u5206\u6790\u8bfe\u7a0b UCB CS170: Efficient Algorithms and Intractable Problems \u6216\u8005 MIT \u7684\u9ad8\u9636\u7b97\u6cd5 MIT 6.046: Design and Analysis of Algorithms \u3002 \u8f6f\u4ef6\u5de5\u7a0b \u5165\u95e8\u8bfe \u4e00\u4efd\u201c\u80fd\u8dd1\u201d\u7684\u4ee3\u7801\uff0c\u548c\u4e00\u4efd\u9ad8\u8d28\u91cf\u7684\u5de5\u4e1a\u7ea7\u4ee3\u7801\u662f\u6709\u672c\u8d28\u533a\u522b\u7684\u3002\u56e0\u6b64\u6211\u975e\u5e38\u63a8\u8350\u4f4e\u5e74\u7ea7\u7684\u540c\u5b66\u5b66\u4e60\u4e00\u4e0b MIT 6.031: Software Construction \u8fd9\u95e8\u8bfe\uff0c\u5b83\u4f1a\u4ee5 Java \u8bed\u8a00\u4e3a\u57fa\u7840\uff0c\u4ee5\u4e30\u5bcc\u7ec6\u81f4\u7684\u9605\u8bfb\u6750\u6599\u548c\u7cbe\u5fc3\u8bbe\u8ba1\u7684\u7f16\u7a0b\u7ec3\u4e60\u4f20\u6388\u5982\u4f55\u7f16\u5199 \u4e0d\u6613\u51fa bug\u3001\u7b80\u660e\u6613\u61c2\u3001\u6613\u4e8e\u7ef4\u62a4\u4fee\u6539 \u7684\u9ad8\u8d28\u91cf\u4ee3\u7801\u3002\u5927\u5230\u5b8f\u89c2\u6570\u636e\u7ed3\u6784\u8bbe\u8ba1\uff0c\u5c0f\u5230\u5982\u4f55\u5199\u6ce8\u91ca\uff0c\u9075\u5faa\u8fd9\u4e9b\u524d\u4eba\u603b\u7ed3\u7684\u7ec6\u8282\u548c\u7ecf\u9a8c\uff0c\u5bf9\u4e8e\u4f60\u6b64\u540e\u7684\u7f16\u7a0b\u751f\u6daf\u5927\u6709\u88e8\u76ca\u3002 \u4e13\u4e1a\u8bfe \u5f53\u7136\uff0c\u5982\u679c\u4f60\u60f3\u7cfb\u7edf\u6027\u5730\u4e0a\u4e00\u95e8\u8f6f\u4ef6\u5de5\u7a0b\u7684\u8bfe\u7a0b\uff0c\u90a3\u6211\u63a8\u8350\u7684\u662f\u4f2f\u514b\u5229\u7684 UCB CS169: software engineering \u3002\u4f46\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u548c\u5927\u591a\u5b66\u6821\uff08\u5305\u62ec\u8d35\u6821\uff09\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u7a0b\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4e0d\u4f1a\u6d89\u53ca\u4f20\u7edf\u7684 design and document \u6a21\u5f0f\uff0c\u5373\u5f3a\u8c03\u5404\u79cd\u7c7b\u56fe\u3001\u6d41\u7a0b\u56fe\u53ca\u6587\u6863\u8bbe\u8ba1\uff0c\u800c\u662f\u91c7\u7528\u8fd1\u4e9b\u5e74\u6d41\u884c\u8d77\u6765\u7684\u5c0f\u56e2\u961f\u5feb\u901f\u8fed\u4ee3 Agile Develepment \u5f00\u53d1\u6a21\u5f0f\u4ee5\u53ca\u5229\u7528\u4e91\u5e73\u53f0\u7684 Software as a service \u670d\u52a1\u6a21\u5f0f\u3002 \u4f53\u7cfb\u7ed3\u6784 \u5165\u95e8\u8bfe \u4ece\u5c0f\u6211\u5c31\u4e00\u76f4\u542c\u8bf4\uff0c\u8ba1\u7b97\u673a\u7684\u4e16\u754c\u662f\u7531 01 \u6784\u6210\u7684\uff0c\u6211\u4e0d\u7406\u89e3\u4f46\u5927\u53d7\u9707\u64bc\u3002\u5982\u679c\u4f60\u7684\u5185\u5fc3\u4e5f\u6000\u6709\u8fd9\u4efd\u597d\u5947\uff0c\u4e0d\u59a8\u82b1\u4e00\u5230\u4e24\u4e2a\u6708\u7684\u65f6\u95f4\u5b66\u4e60 Coursera: Nand2Tetris \u8fd9\u95e8\u65e0\u95e8\u69db\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002\u8fd9\u95e8\u9ebb\u96c0\u867d\u5c0f\u4e94\u810f\u4ff1\u5168\u7684\u8bfe\u7a0b\u4f1a\u4ece 01 \u5f00\u59cb\u8ba9\u4f60\u4eb2\u624b\u9020\u51fa\u4e00\u53f0\u8ba1\u7b97\u673a\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c\u4fc4\u7f57\u65af\u65b9\u5757\u5c0f\u6e38\u620f\u3002\u4e00\u95e8\u8bfe\u91cc\u6db5\u76d6\u4e86\u7f16\u8bd1\u3001\u865a\u62df\u673a\u3001\u6c47\u7f16\u3001\u4f53\u7cfb\u7ed3\u6784\u3001\u6570\u5b57\u7535\u8def\u3001\u903b\u8f91\u95e8\u7b49\u7b49\u4ece\u4e0a\u81f3\u4e0b\u3001\u4ece\u8f6f\u81f3\u786c\u7684\u5404\u7c7b\u77e5\u8bc6\uff0c\u975e\u5e38\u5168\u9762\u3002\u96be\u5ea6\u4e0a\u4e5f\u662f\u901a\u8fc7\u7cbe\u5fc3\u7684\u8bbe\u8ba1\uff0c\u7565\u53bb\u4e86\u4f17\u591a\u73b0\u4ee3\u8ba1\u7b97\u673a\u590d\u6742\u7684\u7ec6\u8282\uff0c\u63d0\u53d6\u51fa\u4e86\u6700\u6838\u5fc3\u672c\u8d28\u7684\u4e1c\u897f\uff0c\u529b\u56fe\u8ba9\u6bcf\u4e2a\u4eba\u90fd\u80fd\u7406\u89e3\u3002\u5728\u4f4e\u5e74\u7ea7\uff0c\u5982\u679c\u5c31\u80fd\u4ece\u5b8f\u89c2\u4e0a\u5efa\u7acb\u5bf9\u6574\u4e2a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7684\u9e1f\u77b0\u56fe\uff0c\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002 \u4e13\u4e1a\u8bfe \u5f53\u7136\uff0c\u5982\u679c\u60f3\u6df1\u5165\u73b0\u4ee3\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u7684\u590d\u6742\u7ec6\u8282\uff0c\u8fd8\u5f97\u4e0a\u4e00\u95e8\u5927\u5b66\u672c\u79d1\u96be\u5ea6\u7684\u8bfe\u7a0b UCB CS61C: Great Ideas in Computer Architecture \u3002UC Berkeley \u4f5c\u4e3a RISC-V \u67b6\u6784\u7684\u53d1\u6e90\u5730\uff0c\u5728\u4f53\u7cfb\u7ed3\u6784\u9886\u57df\u7b97\u5f97\u4e0a\u9996\u5c48\u4e00\u6307\u3002\u5176\u8bfe\u7a0b\u975e\u5e38\u6ce8\u91cd\u5b9e\u8df5\uff0c\u4f60\u4f1a\u5728 Project \u4e2d\u624b\u5199\u6c47\u7f16\u6784\u9020\u795e\u7ecf\u7f51\u7edc\uff0c\u4ece\u96f6\u5f00\u59cb\u642d\u5efa\u4e00\u4e2a CPU\uff0c\u8fd9\u4e9b\u5b9e\u8df5\u90fd\u4f1a\u8ba9\u4f60\u5bf9\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u6709\u66f4\u4e3a\u6df1\u5165\u7684\u7406\u89e3\uff0c\u800c\u4e0d\u662f\u4ec5\u505c\u7559\u4e8e\u201c\u53d6\u6307\u8bd1\u7801\u6267\u884c\u8bbf\u5b58\u5199\u56de\u201d\u7684\u5355\u8c03\u80cc\u8bf5\u91cc\u3002 \u7cfb\u7edf\u5165\u95e8 \u8ba1\u7b97\u673a\u7cfb\u7edf\u662f\u4e00\u4e2a\u5e9e\u6742\u800c\u6df1\u523b\u7684\u4e3b\u9898\uff0c\u5728\u6df1\u5165\u5b66\u4e60\u67d0\u4e2a\u7ec6\u5206\u9886\u57df\u4e4b\u524d\uff0c\u5bf9\u5404\u4e2a\u9886\u57df\u6709\u4e00\u4e2a\u5b8f\u89c2\u6982\u5ff5\u6027\u7684\u7406\u89e3\uff0c\u5bf9\u4e00\u4e9b\u901a\u7528\u6027\u7684\u8bbe\u8ba1\u539f\u5219\u6709\u6240\u77e5\u6653\uff0c\u4f1a\u8ba9\u4f60\u5728\u4e4b\u540e\u7684\u6df1\u5165\u5b66\u4e60\u4e2d\u4e0d\u65ad\u5f3a\u5316\u4e00\u4e9b\u6700\u4e3a\u6838\u5fc3\u4e43\u81f3\u54f2\u5b66\u7684\u6982\u5ff5\uff0c\u800c\u4e0d\u4f1a\u684e\u688f\u4e8e\u590d\u6742\u7684\u5185\u90e8\u7ec6\u8282\u548c\u5404\u79cd trick\u3002\u56e0\u4e3a\u5728\u6211\u770b\u6765\uff0c\u5b66\u4e60\u7cfb\u7edf\u6700\u5173\u952e\u7684\u8fd8\u662f\u60f3\u8ba9\u4f60\u9886\u609f\u5230\u8fd9\u4e9b\u6700\u6838\u5fc3\u7684\u4e1c\u897f\uff0c\u4ece\u800c\u80fd\u591f\u8bbe\u8ba1\u548c\u5b9e\u73b0\u51fa\u5c5e\u4e8e\u81ea\u5df1\u7684\u7cfb\u7edf\u3002 MIT6.033: System Engineering \u662f MIT \u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u4e3b\u9898\u6d89\u53ca\u4e86\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f51\u7edc\u3001\u5206\u5e03\u5f0f\u548c\u7cfb\u7edf\u5b89\u5168\uff0c\u9664\u4e86\u77e5\u8bc6\u70b9\u7684\u4f20\u6388\u5916\uff0c\u8fd9\u95e8\u8bfe\u8fd8\u4f1a\u8bb2\u6388\u4e00\u4e9b\u5199\u4f5c\u548c\u8868\u8fbe\u4e0a\u7684\u6280\u5de7\uff0c\u8ba9\u4f60\u5b66\u4f1a\u5982\u4f55\u8bbe\u8ba1\u5e76\u5411\u522b\u4eba\u4ecb\u7ecd\u548c\u5206\u6790\u81ea\u5df1\u7684\u7cfb\u7edf\u3002\u8fd9\u672c\u4e66\u914d\u5957\u7684\u6559\u6750 Principles of Computer System Design: An Introduction \u4e5f\u5199\u5f97\u975e\u5e38\u597d\uff0c\u63a8\u8350\u5927\u5bb6\u9605\u8bfb\u3002 CMU 15-213: Introduction to Computer System \u662f CMU \u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u5185\u5bb9\u8986\u76d6\u4e86\u4f53\u7cfb\u7ed3\u6784\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u94fe\u63a5\u3001\u5e76\u884c\u3001\u7f51\u7edc\u7b49\u7b49\uff0c\u517c\u5177\u5e7f\u5ea6\u548c\u6df1\u5ea6\uff0c\u914d\u5957\u7684\u6559\u6750 Computer Systems: A Programmer's Perspective \u4e5f\u662f\u8d28\u91cf\u6781\u9ad8\uff0c\u5f3a\u70c8\u5efa\u8bae\u9605\u8bfb\u3002 \u64cd\u4f5c\u7cfb\u7edf \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u5185\u6838\u66f4\u80fd\u52a0\u6df1\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u7684\u7406\u89e3\u4e86\u3002 \u64cd\u4f5c\u7cfb\u7edf\u4f5c\u4e3a\u5404\u7c7b\u7eb7\u7e41\u590d\u6742\u7684\u5e95\u5c42\u786c\u4ef6\u865a\u62df\u5316\u51fa\u4e00\u5957\u89c4\u8303\u4f18\u96c5\u7684\u62bd\u8c61\uff0c\u7ed9\u6240\u6709\u5e94\u7528\u8f6f\u4ef6\u63d0\u4f9b\u4e30\u5bcc\u7684\u529f\u80fd\u652f\u6301\u3002\u4e86\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u8bbe\u8ba1\u539f\u5219\u548c\u5185\u90e8\u539f\u7406\u5bf9\u4e8e\u4e00\u4e2a\u4e0d\u6ee1\u8db3\u4e8e\u5f53\u8c03\u5305\u4fa0\u7684\u7a0b\u5e8f\u5458\u6765\u8bf4\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u51fa\u4e8e\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u7684\u70ed\u7231\uff0c\u6211\u4e0a\u8fc7\u56fd\u5185\u5916\u5f88\u591a\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\uff0c\u5b83\u4eec\u5404\u6709\u4fa7\u91cd\u548c\u4f18\u52a3\uff0c\u5927\u5bb6\u53ef\u4ee5\u6839\u636e\u5174\u8da3\u5404\u53d6\u6240\u9700\u3002 MIT 6.S081: Operating System Engineering \uff0cMIT \u8457\u540d PDOS \u5b9e\u9a8c\u5ba4\u51fa\u54c1\uff0c11 \u4e2a Project \u8ba9\u4f60\u5728\u4e00\u4e2a\u5b9e\u73b0\u975e\u5e38\u4f18\u96c5\u7684\u7c7bUnix\u64cd\u4f5c\u7cfb\u7edfxv6\u4e0a\u589e\u52a0\u5404\u7c7b\u529f\u80fd\u6a21\u5757\u3002\u8fd9\u95e8\u8bfe\u4e5f\u8ba9\u6211\u6df1\u523b\u8ba4\u8bc6\u5230\uff0c\u505a\u7cfb\u7edf\u4e0d\u662f\u9760 PPT \u5ff5\u51fa\u6765\u7684\uff0c\u662f\u5f97\u51e0\u4e07\u884c\u4ee3\u7801\u4e00\u70b9\u70b9\u7d2f\u8d77\u6765\u7684\u3002 UCB CS162: Operating System \uff0c\u4f2f\u514b\u5229\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\uff0c\u91c7\u7528\u548c Stanford \u540c\u6837\u7684 Project \u2014\u2014 \u4e00\u4e2a\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf Pintos\u3002\u6211\u4f5c\u4e3a\u5317\u4eac\u5927\u5b662022\u5e74\u548c2023\u5e74\u6625\u5b63\u5b66\u671f\u64cd\u4f5c\u7cfb\u7edf\u5b9e\u9a8c\u73ed\u7684\u52a9\u6559\uff0c\u5f15\u5165\u5e76\u6539\u5584\u4e86\u8fd9\u4e2a Project\uff0c\u8bfe\u7a0b\u8d44\u6e90\u4e5f\u4f1a\u5168\u90e8\u5f00\u6e90\uff0c\u5177\u4f53\u53c2\u89c1 \u8bfe\u7a0b\u7f51\u7ad9 \u3002 NJU: Operating System Design and Implementation \uff0c\u5357\u4eac\u5927\u5b66\u7684\u848b\u708e\u5ca9\u8001\u5e08\u5f00\u8bbe\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u848b\u8001\u5e08\u4ee5\u5176\u72ec\u5230\u7684\u7cfb\u7edf\u89c6\u89d2\u7ed3\u5408\u4e30\u5bcc\u7684\u4ee3\u7801\u793a\u4f8b\u5c06\u4f17\u591a\u64cd\u4f5c\u7cfb\u7edf\u7684\u6982\u5ff5\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\uff0c\u6b64\u5916\u8fd9\u95e8\u8bfe\u7684\u5168\u90e8\u8bfe\u7a0b\u5185\u5bb9\u90fd\u662f\u4e2d\u6587\u7684\uff0c\u975e\u5e38\u65b9\u4fbf\u5927\u5bb6\u5b66\u4e60\u3002 HIT OS: Operating System \uff0c\u54c8\u5c14\u6ee8\u5de5\u4e1a\u5927\u5b66\u7684\u674e\u6cbb\u519b\u8001\u5e08\u5f00\u8bbe\u7684\u4e2d\u6587\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u674e\u8001\u5e08\u7684\u8bfe\u7a0b\u57fa\u4e8e Linux 0.11 \u6e90\u7801\uff0c\u5341\u5206\u6ce8\u91cd\u4ee3\u7801\u5b9e\u8df5\uff0c\u5e76\u7ad9\u5728\u5b66\u751f\u89c6\u89d2\u5c06\u64cd\u4f5c\u7cfb\u7edf\u7684\u6765\u9f99\u53bb\u8109\u5a13\u5a13\u9053\u6765\u3002 \u5e76\u884c\u4e0e\u5206\u5e03\u5f0f\u7cfb\u7edf \u60f3\u5fc5\u8fd9\u4e24\u5e74\u5404\u7c7b CS \u8bb2\u5ea7\u91cc\u6700\u5e38\u542c\u5230\u7684\u8bdd\u5c31\u662f\u201c\u6469\u5c14\u5b9a\u5f8b\u6b63\u5728\u8d70\u5411\u7ec8\u7ed3\u201d\uff0c\u6b64\u8bdd\u4e0d\u5047\uff0c\u5f53\u5355\u6838\u80fd\u529b\u8fbe\u5230\u4e0a\u9650\u65f6\uff0c\u591a\u6838\u4e43\u81f3\u4f17\u6838\u67b6\u6784\u5982\u65e5\u4e2d\u5929\u3002\u786c\u4ef6\u7684\u53d8\u5316\u5e26\u6765\u7684\u662f\u4e0a\u5c42\u7f16\u7a0b\u903b\u8f91\u7684\u9002\u5e94\u4e0e\u6539\u53d8\uff0c\u8981\u60f3\u5145\u5206\u5229\u7528\u786c\u4ef6\u6027\u80fd\uff0c\u7f16\u5199\u5e76\u884c\u7a0b\u5e8f\u51e0\u4e4e\u6210\u4e86\u7a0b\u5e8f\u5458\u7684\u5fc5\u5907\u6280\u80fd\u3002\u4e0e\u6b64\u540c\u65f6\uff0c\u6df1\u5ea6\u5b66\u4e60\u7684\u5174\u8d77\u5bf9\u8ba1\u7b97\u673a\u7b97\u529b\u4e0e\u5b58\u50a8\u7684\u8981\u6c42\u90fd\u8fbe\u5230\u4e86\u524d\u6240\u672a\u6709\u7684\u9ad8\u5ea6\uff0c\u5927\u89c4\u6a21\u96c6\u7fa4\u7684\u90e8\u7f72\u548c\u4f18\u5316\u4e5f\u6210\u4e3a\u70ed\u95e8\u6280\u672f\u8bdd\u9898\u3002 \u5e76\u884c\u8ba1\u7b97 CMU 15-418/Stanford CS149: Parallel Computing \u5206\u5e03\u5f0f\u7cfb\u7edf MIT 6.824: Distributed System \u7cfb\u7edf\u5b89\u5168 \u4e0d\u77e5\u9053\u4f60\u5f53\u5e74\u9009\u62e9\u8ba1\u7b97\u673a\u662f\u4e0d\u662f\u56e0\u4e3a\u6000\u7740\u4e00\u4e2a\u4e2d\u4e8c\u7684\u9ed1\u5ba2\u68a6\u60f3\uff0c\u4f46\u73b0\u5b9e\u5374\u662f\u6210\u4e3a\u9ed1\u5ba2\u9053\u963b\u4e14\u957f\u3002 \u7406\u8bba\u8bfe\u7a0b UCB CS161: Computer Security \u662f\u4f2f\u514b\u5229\u7684\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u4f1a\u6db5\u76d6\u6808\u653b\u51fb\u3001\u5bc6\u7801\u5b66\u3001\u7f51\u7ad9\u5b89\u5168\u3001\u7f51\u7edc\u5b89\u5168\u7b49\u7b49\u5185\u5bb9\u3002 ASU CSE365: Introduction to Cybersecurity \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66\u7684 Web \u5b89\u5168\u8bfe\u7a0b\uff0c\u4e3b\u8981\u6d89\u53ca\u6ce8\u5165\u3001\u6c47\u7f16\u4e0e\u5bc6\u7801\u5b66\u7684\u5185\u5bb9\u3002 ASU CSE466: Computer Systems Security \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66\u7684\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u6d89\u53ca\u5185\u5bb9\u5168\u9762\u3002\u95e8\u69db\u8f83\u9ad8\uff0c\u9700\u8981\u5bf9 Linux, C \u4e0e Python \u5145\u5206\u719f\u6089\u3002 \u5b9e\u8df5\u8bfe\u7a0b \u638c\u63e1\u8fd9\u4e9b\u7406\u8bba\u77e5\u8bc6\u4e4b\u540e\uff0c\u8fd8\u9700\u8981\u5728\u5b9e\u8df5\u4e2d\u57f9\u517b\u548c\u953b\u70bc\u8fd9\u4e9b\u201c\u9ed1\u5ba2\u7d20\u517b\u201d\u3002 CTF \u593a\u65d7\u8d5b \u662f\u4e00\u9879\u6bd4\u8f83\u70ed\u95e8\u7684\u7cfb\u7edf\u5b89\u5168\u6bd4\u8d5b\uff0c\u8d5b\u9898\u4e2d\u4f1a\u878d\u4f1a\u8d2f\u901a\u5730\u8003\u5bdf\u4f60\u5bf9\u8ba1\u7b97\u673a\u5404\u4e2a\u9886\u57df\u77e5\u8bc6\u7684\u7406\u89e3\u548c\u8fd0\u7528\u3002\u5317\u5927\u4eca\u5e74\u4e5f\u6210\u529f\u4e3e\u529e\u4e86 \u7b2c 0 \u5c4a\u548c\u7b2c 1 \u5c4a \uff0c\u9f13\u52b1\u5927\u5bb6\u540e\u671f\u8e0a\u8dc3\u53c2\u4e0e\uff0c\u5728\u5b9e\u8df5\u4e2d\u63d0\u9ad8\u81ea\u5df1\u3002\u4e0b\u9762\u5217\u4e3e\u4e00\u4e9b\u6211\u5e73\u65f6\u5b66\u4e60\uff08\u6478\u9c7c\uff09\u7528\u5230\u7684\u8d44\u6e90\uff1a CTF-wiki CTF-101 Hacker-101 \u8ba1\u7b97\u673a\u7f51\u7edc \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a TCP/IP \u534f\u8bae\u6808\u66f4\u80fd\u52a0\u6df1\u5bf9\u8ba1\u7b97\u673a\u7f51\u7edc\u7684\u7406\u89e3\u4e86\u3002 \u5927\u540d\u9f0e\u9f0e\u7684 Stanford CS144: Computer Network \uff0c8 \u4e2a Project \u5e26\u4f60\u5b9e\u73b0\u6574\u4e2a TCP/IP \u534f\u8bae\u6808\u3002 \u5982\u679c\u4f60\u53ea\u662f\u60f3\u5728\u7406\u8bba\u4e0a\u5bf9\u8ba1\u7b97\u673a\u7f51\u7edc\u6709\u6240\u4e86\u89e3\uff0c\u90a3\u4e48\u63a8\u8350\u8ba1\u7f51\u8457\u540d\u6559\u6750\u300a\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u300b\u7684\u914d\u5957\u5b66\u4e60\u8d44\u6e90 Computer Networking: A Top-Down Approach \u3002 \u6570\u636e\u5e93\u7cfb\u7edf \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u5173\u7cfb\u578b\u6570\u636e\u5e93\u66f4\u80fd\u52a0\u6df1\u5bf9\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u7406\u89e3\u4e86\u3002 CMU \u7684\u8457\u540d\u6570\u636e\u5e93\u795e\u8bfe CMU 15-445: Introduction to Database System \u4f1a\u901a\u8fc7 4 \u4e2a Project \u5e26\u4f60\u4e3a\u4e00\u4e2a\u7528\u4e8e\u6559\u5b66\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93 bustub \u6dfb\u52a0\u5404\u79cd\u529f\u80fd\u3002\u5b9e\u9a8c\u7684\u8bc4\u6d4b\u6846\u67b6\u4e5f\u514d\u8d39\u5f00\u6e90\u4e86\uff0c\u975e\u5e38\u9002\u5408\u5927\u5bb6\u81ea\u5b66\u3002\u6b64\u5916\u8bfe\u7a0b\u5b9e\u9a8c\u4f1a\u7528\u5230 C++11 \u7684\u4f17\u591a\u65b0\u7279\u6027\uff0c\u4e5f\u662f\u4e00\u4e2a\u953b\u70bc C++ \u4ee3\u7801\u80fd\u529b\u7684\u597d\u673a\u4f1a\u3002 Berkeley \u4f5c\u4e3a\u8457\u540d\u5f00\u6e90\u6570\u636e\u5e93 postgres \u7684\u53d1\u6e90\u5730\u4e5f\u4e0d\u9051\u591a\u8ba9\uff0c UCB CS186: Introduction to Database System \u4f1a\u8ba9\u4f60\u7528 Java \u8bed\u8a00\u5b9e\u73b0\u4e00\u4e2a\u652f\u6301 SQL \u5e76\u53d1\u67e5\u8be2\u3001B+ \u6811\u7d22\u5f15\u548c\u6545\u969c\u6062\u590d\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3002 \u7f16\u8bd1\u539f\u7406 \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u7f16\u8bd1\u5668\u66f4\u80fd\u52a0\u6df1\u5bf9\u7f16\u8bd1\u5668\u7684\u7406\u89e3\u4e86\u3002 Stanford CS143: Compilers \u5e26\u4f60\u624b\u5199\u7f16\u8bd1\u5668\u3002 Web\u5f00\u53d1 \u524d\u540e\u7aef\u5f00\u53d1\u5f88\u5c11\u5728\u8ba1\u7b97\u673a\u7684\u57f9\u517b\u65b9\u6848\u91cc\u88ab\u91cd\u89c6\uff0c\u4f46\u5176\u5b9e\u638c\u63e1\u8fd9\u9879\u6280\u80fd\u8fd8\u662f\u597d\u5904\u591a\u591a\u7684\uff0c\u4f8b\u5982\u642d\u5efa\u81ea\u5df1\u7684\u4e2a\u4eba\u4e3b\u9875\uff0c\u6291\u6216\u662f\u7ed9\u81ea\u5df1\u7684\u8bfe\u7a0b\u9879\u76ee\u505a\u4e00\u4e2a\u7cbe\u5f69\u7684\u5c55\u793a\u7f51\u9875\u3002 \u4e24\u5468\u901f\u6210\u7248 MIT web development course \u7cfb\u7edf\u5b66\u4e60\u7248 Stanford CS142: Web Applications \u8ba1\u7b97\u673a\u56fe\u5f62\u5b66 Stanford CS148 Games101 Games103 Games202 \u6570\u636e\u79d1\u5b66 \u5176\u5b9e\u6570\u636e\u79d1\u5b66\u548c\u673a\u5668\u5b66\u4e60\u4e0e\u6df1\u5ea6\u5b66\u4e60\u6709\u7740\u5f88\u7d27\u5bc6\u7684\u8054\u7cfb\uff0c\u4f46\u53ef\u80fd\u66f4\u4fa7\u91cd\u4e8e\u5b9e\u8df5\u3002Berkeley \u7684 UCB Data100: Principles and Techniques of Data Science \u901a\u8fc7\u4e30\u5bcc\u7684\u7f16\u7a0b\u7ec3\u4e60\u8ba9\u4f60\u5728\u5b9e\u8df5\u4e2d\u638c\u63e1\u5404\u7c7b\u6570\u636e\u5206\u6790\u5de5\u5177\u548c\u7b97\u6cd5\uff0c\u5e76\u5e26\u9886\u4f60\u4f53\u9a8c\u4ece\u6d77\u91cf\u7684\u6570\u636e\u96c6\u4e2d\u63d0\u53d6\u51fa\u60f3\u8981\u7684\u7ed3\u679c\uff0c\u5e76\u5bf9\u672a\u6765\u7684\u6570\u636e\u6216\u7528\u6237\u7684\u884c\u4e3a\u505a\u51fa\u76f8\u5e94\u7684\u9884\u6d4b\u3002\u4f46\u8fd9\u53ea\u662f\u4e00\u95e8\u57fa\u7840\u8bfe\uff0c\u5982\u679c\u60f3\u5b66\u4e60\u5de5\u4e1a\u7ea7\u522b\u7684\u6570\u636e\u6316\u6398\u4e0e\u5206\u6790\u6280\u672f\uff0c\u53ef\u4ee5\u5c1d\u8bd5 Stanford \u7684\u5927\u6570\u636e\u6316\u6398\u8bfe\u7a0b CS246: Mining Massive Data Sets \u3002 \u4eba\u5de5\u667a\u80fd \u8fd1\u5341\u5e74\u4eba\u5de5\u667a\u80fd\u5e94\u8be5\u7b97\u662f\u8ba1\u7b97\u673a\u754c\u6700\u706b\u7206\u7684\u9886\u57df\u3002\u5982\u679c\u4f60\u4e0d\u6ee1\u8db3\u4e8e\u6574\u65e5\u542c\u5404\u8def\u5a92\u4f53\u4e89\u76f8\u62a5\u9053\u4eba\u5de5\u667a\u80fd\u76f8\u5173\u7684\u8fdb\u5c55\uff0c\u800c\u60f3\u771f\u6b63\u4e00\u63a2\u7a76\u7adf\uff0c\u90a3\u4e48\u975e\u5e38\u63a8\u8350\u5b66\u4e60 Harvard \u795e\u8bfe CS50 \u7cfb\u5217\u7684\u4eba\u5de5\u667a\u80fd\u8bfe\u7a0b Harvard CS50: Introduction to AI with Python \u3002\u8bfe\u7a0b\u77ed\u5c0f\u7cbe\u608d\uff0c\u8986\u76d6\u4e86\u4f20\u7edf\u4eba\u5de5\u667a\u80fd\u9886\u57df\u7684\u51e0\u5927\u5206\u652f\uff0c\u5e76\u914d\u6709\u4e30\u5bcc\u6709\u8da3\u7684 Python \u7f16\u7a0b\u7ec3\u4e60\u6765\u5de9\u56fa\u4f60\u5bf9\u4eba\u5de5\u667a\u80fd\u7b97\u6cd5\u7684\u7406\u89e3\u3002\u7f8e\u4e2d\u4e0d\u8db3\u7684\u662f\u8fd9\u95e8\u8bfe\u56e0\u4e3a\u9762\u5411\u5728\u7ebf\u81ea\u5b66\u8005\u7684\u7f18\u6545\u5185\u5bb9\u8f83\u4e3a\u7cbe\u7b80\uff0c\u5e76\u4e14\u4e0d\u4f1a\u6d89\u53ca\u7279\u522b\u6df1\u5165\u7684\u6570\u5b66\u7406\u8bba\uff0c\u5982\u679c\u60f3\u8981\u7cfb\u7edf\u6df1\u5165\u5730\u5b66\u4e60\u8fd8\u9700\u8981\u4e00\u95e8\u672c\u79d1\u751f\u96be\u5ea6\u7684\u8bfe\u7a0b\uff0c\u4f8b\u5982 Berkeley \u7684 UCB CS188: Introduction to Artificial Intelligence \u3002\u8fd9\u95e8\u8bfe\u7684 Project \u590d\u523b\u4e86\u7ecf\u5178\u6e38\u620f\u7cd6\u8c46\u4eba\uff0c\u8ba9\u4f60\u8fd0\u7528\u4eba\u5de5\u667a\u80fd\u7b97\u6cd5\u73a9\u6e38\u620f\uff0c\u975e\u5e38\u6709\u8da3\u3002 \u673a\u5668\u5b66\u4e60 \u673a\u5668\u5b66\u4e60\u9886\u57df\u8fd1\u4e9b\u5e74\u6700\u91cd\u8981\u7684\u8fdb\u5c55\u5c31\u662f\u53d1\u5c55\u51fa\u4e86\u57fa\u4e8e\u795e\u7ecf\u7f51\u7edc\u7684\u6df1\u5ea6\u5b66\u4e60\u5206\u652f\uff0c\u4f46\u5176\u5b9e\u5f88\u591a\u57fa\u4e8e\u7edf\u8ba1\u5b66\u4e60\u7684\u7b97\u6cd5\u4f9d\u7136\u5728\u6570\u636e\u5206\u6790\u9886\u57df\u6709\u7740\u5e7f\u6cdb\u7684\u5e94\u7528\u3002\u5982\u679c\u4f60\u4e4b\u524d\u4ece\u672a\u63a5\u89e6\u8fc7\u673a\u5668\u5b66\u4e60\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u800c\u4e14\u4e0d\u60f3\u4e00\u5f00\u59cb\u5c31\u9677\u5165\u8270\u6df1\u6666\u6da9\u7684\u6570\u5b66\u8bc1\u660e\uff0c\u90a3\u4e48\u4e0d\u59a8\u5148\u4ece Andrew Ng \uff08\u5434\u6069\u8fbe\uff09\u7684 Coursera: Machine Learning \u5b66\u8d77\u3002\u8fd9\u95e8\u8bfe\u5728\u673a\u5668\u5b66\u4e60\u9886\u57df\u57fa\u672c\u65e0\u4eba\u4e0d\u6653\uff0c\u5434\u6069\u8fbe\u4ee5\u5176\u6df1\u539a\u7684\u7406\u8bba\u529f\u5e95\u548c\u51fa\u8272\u7684\u8868\u8fbe\u80fd\u529b\u628a\u5f88\u591a\u8270\u6df1\u7684\u7b97\u6cd5\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\uff0c\u5e76\u4e14\u975e\u5e38\u5b9e\u7528\u3002\u5176\u914d\u5957\u7684\u4f5c\u4e1a\u4e5f\u662f\u8d28\u91cf\u76f8\u5f53\u4e0a\u4e58\uff0c\u53ef\u4ee5\u5e2e\u52a9\u4f60\u5feb\u901f\u5165\u95e8\u3002 \u4f46\u4e0a\u8fc7\u8fd9\u95e8\u8bfe\u53ea\u80fd\u8ba9\u4f60\u4ece\u5b8f\u89c2\u4e0a\u5bf9\u673a\u5668\u5b66\u4e60\u8fd9\u4e00\u9886\u57df\u6709\u4e00\u5b9a\u4e86\u89e3\uff0c\u5982\u679c\u60f3\u771f\u6b63\u7406\u89e3\u90a3\u4e9b\u201c\u795e\u5947\u201d\u7b97\u6cd5\u80cc\u540e\u7684\u6570\u5b66\u539f\u7406\u751a\u81f3\u4ece\u4e8b\u76f8\u5173\u9886\u57df\u7684\u79d1\u7814\u5de5\u4f5c\uff0c\u90a3\u4e48\u8fd8\u9700\u8981\u4e00\u95e8\u66f4\u201c\u6570\u5b66\u201d\u7684\u8bfe\u7a0b\uff0c\u4f8b\u5982 Stanford CS229: Machine Learning \u6216\u8005 UCB CS189: Introduction to Machine Learning \u3002 \u6df1\u5ea6\u5b66\u4e60 \u524d\u51e0\u5e74 AlphaGo \u7684\u5927\u70ed\u8ba9\u6df1\u5ea6\u5b66\u4e60\u8fdb\u5165\u4e86\u5927\u4f17\u7684\u89c6\u91ce\uff0c\u4e0d\u5c11\u5927\u5b66\u751a\u81f3\u4e13\u95e8\u6210\u7acb\u4e86\u76f8\u5173\u4e13\u4e1a\u3002\u5f88\u591a\u8ba1\u7b97\u673a\u7684\u5176\u4ed6\u9886\u57df\u4e5f\u4f1a\u501f\u52a9\u6df1\u5ea6\u5b66\u4e60\u7684\u6280\u672f\u6765\u505a\u7814\u7a76\uff0c\u56e0\u6b64\u57fa\u672c\u4e0d\u7ba1\u4f60\u5e72\u5565\u591a\u5c11\u90fd\u4f1a\u63a5\u89e6\u5230\u4e00\u4e9b\u795e\u7ecf\u7f51\u7edc\u3001\u6df1\u5ea6\u5b66\u4e60\u76f8\u5173\u7684\u6280\u672f\u9700\u6c42\u3002\u5982\u679c\u60f3\u5feb\u901f\u5165\u95e8\uff0c\u540c\u6837\u63a8\u8350 Andrew Ng \uff08\u5434\u6069\u8fbe\uff09\u7684 Coursera: Deep Learning \uff0c\u8d28\u91cf\u65e0\u9700\u591a\u8a00\uff0cCoursera \u4e0a\u7f55\u89c1\u7684\u6ee1\u5206\u8bfe\u7a0b\u3002\u6b64\u5916\u5982\u679c\u4f60\u89c9\u5f97\u82f1\u6587\u8bfe\u7a0b\u5b66\u4e60\u8d77\u6765\u6709\u96be\u5ea6\uff0c\u63a8\u8350\u674e\u5b8f\u6bc5\u8001\u5e08\u7684 \u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\uff1a\u673a\u5668\u5b66\u4e60 \u8bfe\u7a0b\u3002\u8fd9\u95e8\u8bfe\u6253\u7740\u673a\u5668\u5b66\u4e60\u7684\u540d\u53f7\uff0c\u5374\u56ca\u62ec\u4e86\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u7684\u51e0\u4e4e\u6240\u6709\u65b9\u5411\uff0c\u975e\u5e38\u5168\u9762\uff0c\u5f88\u9002\u5408\u4f60\u4ece\u5b8f\u89c2\u4e0a\u5bf9\u8fd9\u4e2a\u9886\u57df\u6709\u4e00\u4e2a\u5927\u81f4\u7684\u4e86\u89e3\u3002\u800c\u4e14\u8001\u5e08\u672c\u4eba\u4e5f\u975e\u5e38\u5e7d\u9ed8\uff0c\u8bfe\u5802\u91d1\u53e5\u9891\u51fa\u3002 \u5f53\u7136\u56e0\u4e3a\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u53d1\u5c55\u975e\u5e38\u8fc5\u901f\uff0c\u5df2\u7ecf\u62e5\u6709\u4e86\u4f17\u591a\u7814\u7a76\u5206\u652f\uff0c\u5982\u679c\u60f3\u8981\u8fdb\u4e00\u6b65\u6df1\u5165\uff0c\u53ef\u4ee5\u6309\u9700\u5b66\u4e60\u4e0b\u9762\u7f57\u5217\u7684\u4ee3\u8868\u8bfe\u7a0b\uff0c \u8ba1\u7b97\u673a\u89c6\u89c9 Stanford CS231n: CNN for Visual Recognition \u81ea\u7136\u8bed\u8a00\u5904\u7406 Stanford CS224n: Natural Language Processing \u56fe\u795e\u7ecf\u7f51\u7edc Stanford CS224w: Machine Learning with Graphs \u5f3a\u5316\u5b66\u4e60 UCB CS285: Deep Reinforcement Learning \u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe \u6388\u4eba\u4ee5\u9c7c\u4e0d\u5982\u6388\u4eba\u4ee5\u6e14\u3002 \u4ee5\u4e0a\u7684\u8bfe\u7a0b\u89c4\u5212\u96be\u514d\u5e26\u6709\u5f3a\u70c8\u7684\u4e2a\u4eba\u504f\u597d\uff0c\u4e0d\u4e00\u5b9a\u9002\u5408\u6240\u6709\u4eba\uff0c\u66f4\u591a\u662f\u8d77\u5230\u629b\u7816\u5f15\u7389\u7684\u4f5c\u7528\u3002\u5982\u679c\u4f60\u60f3\u6311\u9009\u81ea\u5df1\u611f\u5174\u8da3\u7684\u65b9\u5411\u548c\u5185\u5bb9\u52a0\u4ee5\u5b66\u4e60\uff0c\u53ef\u4ee5\u53c2\u8003\u6211\u5728\u4e0b\u9762\u5217\u51fa\u6765\u7684\u8d44\u6e90\u3002 MIT OpenCourseWare : \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684\u8bfe\u7a0b\u8d44\u6e90\u5f00\u653e\u5171\u4eab\u9879\u76ee\uff0c\u6536\u5f55\u4e86\u6570\u4ee5\u5343\u8ba1\u7684\u5404\u79d1\u8bfe\u7a0b\u8d44\u6e90\uff0c\u5176\u4e2d\u8ba1\u7b97\u673a\u7c7b\u7684\u8bfe\u53f7\u662f 6.xxx\u3002 MIT CS Course List : \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002 UC Berkeley EECS Course Map : UC Berkeley \u7684 EECS \u57f9\u517b\u65b9\u6848\uff0c\u4ee5\u8bfe\u7a0b\u5730\u56fe\u7684\u65b9\u5f0f\u5c06\u5404\u95e8\u8bfe\u7a0b\u7684\u7c7b\u522b\u548c\u5148\u4fee\u5173\u7cfb\u4e00\u76ee\u4e86\u7136\u5730\u5448\u73b0\uff0c\u5176\u4e2d\u7edd\u5927\u591a\u6570\u8bfe\u7a0b\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 UC Berkeley CS Course List : UC Berkeley \u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002 Stanford CS Course List : \u65af\u5766\u798f\u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002","title":"\u4e00\u4e2a\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#cs","text":"\u8ba1\u7b97\u673a\u9886\u57df\u65b9\u5411\u5e9e\u6742\uff0c\u77e5\u8bc6\u6d69\u5982\u70df\u6d77\uff0c\u6bcf\u4e2a\u7ec6\u5206\u9886\u57df\u5982\u679c\u6df1\u7a76\u4e0b\u53bb\u90fd\u53ef\u4ee5\u8bf4\u5b66\u65e0\u6b62\u5883\u3002\u56e0\u6b64\uff0c\u4e00\u4e2a\u6e05\u6670\u660e\u786e\u7684\u5b66\u4e60\u89c4\u5212\u662f\u975e\u5e38\u91cd\u8981\u7684\u3002\u6211\u5728\u591a\u5e74\u81ea\u5b66\u7684\u5c1d\u8bd5\u4e2d\u4e5f\u8d70\u8fc7\u4e0d\u5c11\u5f2f\u8def\uff0c\u6700\u7ec8\u63d0\u70bc\u51fa\u4e86\u4e0b\u9762\u7684\u5185\u5bb9\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u4e0d\u8fc7\uff0c\u5728\u5f00\u59cb\u5b66\u4e60\u4e4b\u524d\uff0c\u5148\u5411\u5c0f\u767d\u4eec\u5f3a\u70c8\u63a8\u8350\u4e00\u4e2a\u79d1\u666e\u5411\u7cfb\u5217\u89c6\u9891 Crash Course: Computer Science \uff0c\u5728\u77ed\u77ed 8 \u4e2a\u5c0f\u65f6\u91cc\u975e\u5e38\u751f\u52a8\u4e14\u5168\u9762\u5730\u79d1\u666e\u4e86\u5173\u4e8e\u8ba1\u7b97\u673a\u79d1\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff1a\u8ba1\u7b97\u673a\u7684\u5386\u53f2\u3001\u8ba1\u7b97\u673a\u662f\u5982\u4f55\u8fd0\u4f5c\u7684\u3001\u7ec4\u6210\u8ba1\u7b97\u673a\u7684\u5404\u4e2a\u91cd\u8981\u6a21\u5757\u3001\u8ba1\u7b97\u673a\u79d1\u5b66\u4e2d\u7684\u91cd\u8981\u601d\u60f3\u7b49\u7b49\u7b49\u7b49\u3002\u6b63\u5982\u5b83\u7684\u53e3\u53f7\u6240\u8bf4\u7684 Computers are not magic! \uff0c\u5e0c\u671b\u770b\u5b8c\u8fd9\u4e2a\u89c6\u9891\u4e4b\u540e\uff0c\u5927\u5bb6\u80fd\u5bf9\u8ba1\u7b97\u673a\u79d1\u5b66\u6709\u4e2a\u5168\u8c8c\u6027\u5730\u611f\u77e5\uff0c\u4ece\u800c\u6000\u7740\u5174\u8da3\u53bb\u9762\u5bf9\u4e0b\u9762\u6d69\u5982\u70df\u6d77\u7684\u66f4\u4e3a\u7ec6\u81f4\u4e14\u6df1\u5165\u7684\u5b66\u4e60\u5185\u5bb9\u3002","title":"\u4e00\u4e2a\u4ec5\u4f9b\u53c2\u8003\u7684 CS \u5b66\u4e60\u89c4\u5212"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_1","text":"\u4fd7\u8bdd\u8bf4\uff1a\u78e8\u5200\u4e0d\u8bef\u780d\u67f4\u5de5\u3002\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u521a\u521a\u63a5\u89e6\u8ba1\u7b97\u673a\u768424k\u7eaf\u5c0f\u767d\uff0c\u5b66\u4f1a\u4e00\u4e9b\u5de5\u5177\u5c06\u4f1a\u8ba9\u4f60\u4e8b\u534a\u529f\u500d\u3002 \u5b66\u4f1a\u63d0\u95ee\uff1a\u4e5f\u8bb8\u4f60\u4f1a\u60ca\u8bb6\uff0c\u63d0\u95ee\u4e5f\u7b97\u8ba1\u7b97\u673a\u5fc5\u5907\u6280\u80fd\u5417\uff0c\u8fd8\u653e\u5728\u7b2c\u4e00\u6761\uff1f\u6211\u89c9\u5f97\u5728\u5f00\u6e90\u793e\u533a\u4e2d\uff0c\u5b66\u4f1a\u63d0\u95ee\u662f\u4e00\u9879\u975e\u5e38\u91cd\u8981\u7684\u80fd\u529b\uff0c\u5b83\u5305\u542b\u4e24\u65b9\u9762\u7684\u4e8b\u60c5\u3002\u5176\u4e00\u662f\u4f1a\u53d8\u76f8\u5730\u57f9\u517b\u4f60\u81ea\u4e3b\u89e3\u51b3\u95ee\u9898\u7684\u80fd\u529b\uff0c\u56e0\u4e3a\u4ece\u5f62\u6210\u95ee\u9898\u3001\u63cf\u8ff0\u95ee\u9898\u5e76\u53d1\u5e03\u3001\u4ed6\u4eba\u56de\u7b54\u3001\u6700\u540e\u518d\u5230\u7406\u89e3\u56de\u7b54\u8fd9\u4e2a\u5468\u671f\u662f\u975e\u5e38\u957f\u7684\uff0c\u5982\u679c\u9047\u5230\u4ec0\u4e48\u9e21\u6bdb\u849c\u76ae\u7684\u4e8b\u60c5\u90fd\u5e0c\u671b\u522b\u4eba\u6700\u597d\u8fdc\u7a0b\u684c\u9762\u624b\u628a\u624b\u5e2e\u4f60\u5b8c\u6210\uff0c\u90a3\u8ba1\u7b97\u673a\u7684\u4e16\u754c\u57fa\u672c\u4e0e\u4f60\u65e0\u7f18\u4e86\u3002\u5176\u4e8c\uff0c\u5982\u679c\u771f\u7684\u7ecf\u8fc7\u5c1d\u8bd5\u8fd8\u65e0\u6cd5\u89e3\u51b3\uff0c\u53ef\u4ee5\u501f\u52a9\u5f00\u6e90\u793e\u533a\u7684\u5e2e\u52a9\uff0c\u4f46\u8fd9\u65f6\u5019\u5982\u4f55\u901a\u8fc7\u7b80\u6d01\u7684\u6587\u5b57\u8ba9\u522b\u4eba\u77ac\u95f4\u7406\u89e3\u4f60\u7684\u5904\u5883\u4ee5\u53ca\u76ee\u7684\uff0c\u5c31\u663e\u5f97\u5c24\u4e3a\u91cd\u8981\u3002\u63a8\u8350\u9605\u8bfb \u63d0\u95ee\u7684\u667a\u6167 \u8fd9\u7bc7\u6587\u7ae0\uff0c\u8fd9\u4e0d\u4ec5\u80fd\u63d0\u9ad8\u4f60\u89e3\u51b3\u95ee\u9898\u7684\u6982\u7387\u548c\u6548\u7387\uff0c\u4e5f\u80fd\u8ba9\u5f00\u6e90\u793e\u533a\u91cc\u65e0\u507f\u63d0\u4f9b\u89e3\u7b54\u7684\u4eba\u4eec\u62e5\u6709\u4e00\u4e2a\u597d\u5fc3\u60c5\u3002 MIT-Missing-Semester \u8fd9\u95e8\u8bfe\u8986\u76d6\u4e86\u8fd9\u4e9b\u5de5\u5177\u4e2d\u7edd\u5927\u90e8\u5206\uff0c\u800c\u4e14\u6709\u76f8\u5f53\u8be6\u7ec6\u7684\u4f7f\u7528\u6307\u5bfc\uff0c\u5f3a\u70c8\u5efa\u8bae\u5c0f\u767d\u5b66\u4e60\u3002\u4e0d\u8fc7\u9700\u8981\u6ce8\u610f\u7684\u4e00\u70b9\u662f\uff0c\u5728\u8bfe\u7a0b\u4e2d\u4f1a\u4e0d\u65f6\u63d0\u5230\u4e00\u4e9b\u4e0e\u5f00\u53d1\u6d41\u7a0b\u76f8\u5173\u7684\u672f\u8bed\u3002\u56e0\u6b64\u63a8\u8350\u81f3\u5c11\u5728\u5b66\u5b8c\u8ba1\u7b97\u673a\u5bfc\u8bba\u7ea7\u522b\u7684\u8bfe\u7a0b\u4e4b\u540e\u8fdb\u884c\u5b66\u4e60\u3002 \u7ffb\u5899 \uff1a\u7531\u4e8e\u4e00\u4e9b\u4f17\u6240\u5468\u77e5\u7684\u539f\u56e0\uff0c\u8c37\u6b4c\u3001GitHub \u7b49\u7f51\u7ad9\u5728\u5927\u9646\u65e0\u6cd5\u8bbf\u95ee\u3002\u7136\u800c\u5f88\u591a\u65f6\u5019\uff0c\u8c37\u6b4c\u548c StackOverflow \u53ef\u4ee5\u89e3\u51b3\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u9047\u5230\u7684 99% \u7684\u95ee\u9898\u3002\u56e0\u6b64\uff0c\u5b66\u4f1a\u7ffb\u5899\u51e0\u4e4e\u662f\u4e00\u4e2a\u5185\u5730 CSer \u7684\u5fc5\u5907\u6280\u80fd\u3002\uff08\u8003\u8651\u5230\u6cd5\u5f8b\u95ee\u9898\uff0c\u8fd9\u4e2a\u6587\u6863\u63d0\u4f9b\u7684\u7ffb\u5899\u65b9\u5f0f\u4ec5\u5bf9\u62e5\u6709\u5317\u5927\u90ae\u7bb1\u7684\u7528\u6237\u9002\u7528\uff09\u3002 \u547d\u4ee4\u884c\uff1a\u719f\u7ec3\u4f7f\u7528\u547d\u4ee4\u884c\u662f\u4e00\u79cd\u5e38\u5e38\u88ab\u5ffd\u89c6\uff0c\u6216\u88ab\u8ba4\u4e3a\u96be\u4ee5\u638c\u63e1\u7684\u6280\u80fd\uff0c\u4f46\u5b9e\u9645\u4e0a\uff0c\u5b83\u4f1a\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u4f5c\u4e3a\u5de5\u7a0b\u5e08\u7684\u7075\u6d3b\u6027\u4ee5\u53ca\u751f\u4ea7\u529b\u3002 \u547d\u4ee4\u884c\u7684\u827a\u672f \u662f\u4e00\u4efd\u975e\u5e38\u7ecf\u5178\u7684\u6559\u7a0b\uff0c\u5b83\u6e90\u4e8e Quora \u7684\u4e00\u4e2a\u63d0\u95ee\uff0c\u4f46\u5728\u5404\u8def\u5927\u795e\u7684\u8d21\u732e\u52aa\u529b\u4e0b\u5df2\u7ecf\u6210\u4e3a\u4e86\u4e00\u4e2a GitHub \u5341\u4e07 stars \u7684\u9876\u6d41\u9879\u76ee\uff0c\u88ab\u7ffb\u8bd1\u6210\u4e86\u5341\u51e0\u79cd\u8bed\u8a00\u3002\u6559\u7a0b\u4e0d\u957f\uff0c\u975e\u5e38\u5efa\u8bae\u5927\u5bb6\u53cd\u590d\u901a\u8bfb\uff0c\u5728\u5b9e\u8df5\u4e2d\u5185\u5316\u5438\u6536\u3002\u540c\u65f6\uff0c\u638c\u63e1 Shell \u811a\u672c\u7f16\u7a0b\u4e5f\u662f\u4e00\u9879\u4e0d\u5bb9\u5ffd\u89c6\u7684\u6280\u672f\uff0c\u53ef\u4ee5\u53c2\u8003\u8fd9\u4e2a \u6559\u7a0b \u3002 IDE (Integrated Development Environment)\uff1a\u96c6\u6210\u5f00\u53d1\u73af\u5883\uff0c\u8bf4\u767d\u4e86\u5c31\u662f\u4f60\u5199\u4ee3\u7801\u7684\u5730\u65b9\u3002\u4f5c\u4e3a\u4e00\u4e2a\u7801\u519c\uff0cIDE \u7684\u91cd\u8981\u6027\u4e0d\u8a00\u800c\u55bb\uff0c\u4f46\u7531\u4e8e\u5f88\u591a IDE \u662f\u4e3a\u5927\u578b\u5de5\u7a0b\u9879\u76ee\u8bbe\u8ba1\u7684\uff0c\u4f53\u91cf\u8f83\u5927\uff0c\u529f\u80fd\u4e5f\u8fc7\u4e8e\u4e30\u5bcc\u3002\u5176\u5b9e\u5982\u4eca\u4e00\u4e9b\u8f7b\u4fbf\u7684\u6587\u672c\u7f16\u8f91\u5668\u914d\u5408\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\u57fa\u672c\u53ef\u4ee5\u6ee1\u8db3\u65e5\u5e38\u7684\u8f7b\u91cf\u7f16\u7a0b\u9700\u6c42\u3002\u4e2a\u4eba\u5e38\u7528\u7684\u7f16\u8f91\u5668\u662f VS Code \u548c Sublime\uff08\u524d\u8005\u7684\u63d2\u4ef6\u914d\u7f6e\u975e\u5e38\u7b80\u5355\uff0c\u540e\u8005\u7565\u663e\u590d\u6742\u4f46\u989c\u503c\u5f88\u9ad8\uff09\u3002\u5f53\u7136\u5bf9\u4e8e\u5927\u578b\u9879\u76ee\u6211\u8fd8\u662f\u4f1a\u91c7\u7528\u7565\u91cd\u578b\u7684 IDE\uff0c\u4f8b\u5982 Pycharm (Python)\uff0cIDEA (Java) \u7b49\u7b49\uff08\u514d\u8d23\u7533\u660e\uff1a\u6240\u6709\u7684 IDE \u90fd\u662f\u4e16\u754c\u4e0a\u6700\u597d\u7684 IDE\uff09\u3002 Vim \uff1a\u4e00\u6b3e\u547d\u4ee4\u884c\u7f16\u8f91\u5de5\u5177\u3002\u8fd9\u662f\u4e00\u4e2a\u5b66\u4e60\u66f2\u7ebf\u6709\u4e9b\u9661\u5ced\u7684\u7f16\u8f91\u5668\uff0c\u4e0d\u8fc7\u5b66\u4f1a\u5b83\u6211\u89c9\u5f97\u662f\u975e\u5e38\u6709\u5fc5\u8981\u7684\uff0c\u56e0\u4e3a\u5b83\u5c06\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u7684\u5f00\u53d1\u6548\u7387\u3002\u73b0\u5728\u7edd\u5927\u591a\u6570 IDE \u4e5f\u90fd\u652f\u6301 Vim \u63d2\u4ef6\uff0c\u8ba9\u4f60\u5728\u4eab\u53d7\u73b0\u4ee3\u5f00\u53d1\u73af\u5883\u7684\u540c\u65f6\u4fdd\u7559\u6781\u5ba2\u7684\u70ab\u9177\uff08yue\uff09\u3002 Emacs \uff1a\u4e0e Vim \u9f50\u540d\u7684\u7ecf\u5178\u7f16\u8f91\u5668\uff0c\u540c\u6837\u5177\u6709\u6781\u9ad8\u7684\u5f00\u53d1\u6548\u7387\uff0c\u540c\u65f6\u5177\u6709\u66f4\u4e3a\u5f3a\u5927\u7684\u6269\u5c55\u6027\uff0c\u5b83\u65e2\u53ef\u4ee5\u914d\u7f6e\u4e3a\u4e00\u4e2a\u8f7b\u91cf\u7f16\u8f91\u5668\uff0c\u4e5f\u53ef\u4ee5\u6269\u5c55\u6210\u4e00\u4e2a\u4e2a\u4eba\u5b9a\u5236\u7684 IDE\uff0c\u751a\u81f3\u53ef\u4ee5\u6709\u66f4\u591a\u5947\u6280\u6deb\u5de7\u3002 Git \uff1a\u4e00\u6b3e\u4ee3\u7801\u7248\u672c\u63a7\u5236\u5de5\u5177\u3002Git\u7684\u5b66\u4e60\u66f2\u7ebf\u53ef\u80fd\u66f4\u4e3a\u9661\u5ced\uff0c\u4f46\u51fa\u81ea Linux \u4e4b\u7236 Linus \u4e4b\u624b\u7684 Git \u7edd\u5bf9\u662f\u6bcf\u4e2a\u5b66 CS \u7684\u7ae5\u978b\u5fc5\u987b\u638c\u63e1\u7684\u795e\u5668\u4e4b\u4e00\u3002 GitHub \uff1a\u57fa\u4e8e Git \u7684\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u5168\u4e16\u754c\u6700\u5927\u7684\u4ee3\u7801\u5f00\u6e90\u793e\u533a\uff0c\u5927\u4f6c\u96c6\u805a\u5730\u3002 GNU Make \uff1a\u4e00\u6b3e\u5de5\u7a0b\u6784\u5efa\u5de5\u5177\u3002\u5584\u7528 GNU Make \u4f1a\u8ba9\u4f60\u517b\u6210\u4ee3\u7801\u6a21\u5757\u5316\u7684\u4e60\u60ef\uff0c\u540c\u65f6\u4e5f\u80fd\u8ba9\u4f60\u719f\u6089\u4e00\u4e9b\u5927\u578b\u5de5\u7a0b\u7684\u7f16\u8bd1\u94fe\u63a5\u6d41\u7a0b\u3002 CMake \uff1a\u4e00\u6b3e\u529f\u80fd\u6bd4 GNU Make \u66f4\u4e3a\u5f3a\u5927\u7684\u6784\u5efa\u5de5\u5177\uff0c\u5efa\u8bae\u638c\u63e1 GNU Make \u4e4b\u540e\u518d\u52a0\u4ee5\u5b66\u4e60\u3002 LaTex \uff1a \u903c\u683c\u63d0\u5347 \u8bba\u6587\u6392\u7248\u5de5\u5177\u3002 Docker \uff1a\u4e00\u6b3e\u76f8\u8f83\u4e8e\u865a\u62df\u673a\u66f4\u8f7b\u91cf\u7ea7\u7684\u8f6f\u4ef6\u6253\u5305\u4e0e\u73af\u5883\u90e8\u7f72\u5de5\u5177\u3002 \u5b9e\u7528\u5de5\u5177\u7bb1 \uff1a\u9664\u4e86\u4e0a\u9762\u63d0\u5230\u7684\u8fd9\u4e9b\u5728\u5f00\u53d1\u4e2d\u4f7f\u7528\u9891\u7387\u6781\u9ad8\u7684\u5de5\u5177\u4e4b\u5916\uff0c\u6211\u8fd8\u6536\u96c6\u4e86\u5f88\u591a\u5b9e\u7528\u6709\u8da3\u7684\u514d\u8d39\u5de5\u5177\uff0c\u4f8b\u5982\u4e00\u4e9b\u4e0b\u8f7d\u5de5\u5177\u3001\u8bbe\u8ba1\u5de5\u5177\u3001\u5b66\u4e60\u7f51\u7ad9\u7b49\u7b49\u3002 Thesis \uff1a\u6bd5\u4e1a\u8bba\u6587 Word \u5199\u4f5c\u6559\u7a0b\u3002","title":"\u5fc5\u5b66\u5de5\u5177"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_2","text":"\u79c1\u4ee5\u4e3a\u4e00\u672c\u597d\u7684\u6559\u6750\u5e94\u5f53\u662f\u4ee5\u4eba\u4e3a\u672c\u7684\uff0c\u800c\u4e0d\u662f\u70ab\u6280\u5f0f\u7684\u7406\u8bba\u5806\u780c\u3002\u544a\u8bc9\u8bfb\u8005\u201c\u662f\u4ec0\u4e48\u201d\u56fa\u7136\u91cd\u8981\uff0c\u4f46\u66f4\u597d\u7684\u5e94\u5f53\u662f\u6559\u6750\u4f5c\u8005\u5c06\u5176\u5728\u8fd9\u4e2a\u9886\u57df\u6df1\u8015\u51e0\u5341\u5e74\u7684\u7ecf\u9a8c\u878d\u6c47\u8fdb\u4e66\u4e2d\uff0c\u5411\u8bfb\u8005\u5a13\u5a13\u9053\u6765\u201c\u4e3a\u4ec0\u4e48\u201d\u4ee5\u53ca\u672a\u6765\u5e94\u8be5\u201c\u600e\u4e48\u505a\u201d\u3002 \u94fe\u63a5\u6233\u8fd9\u91cc","title":"\u597d\u4e66\u63a8\u8350"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_3","text":"\u4f60\u4ee5\u4e3a\u7684\u5f00\u53d1 \u2014\u2014 \u5728 IDE \u91cc\u75af\u72c2\u7801\u4ee3\u7801\u6570\u5c0f\u65f6\u3002 \u5b9e\u9645\u4e0a\u7684\u5f00\u53d1 \u2014\u2014 \u914d\u73af\u5883\u914d\u51e0\u5929\u8fd8\u6ca1\u5f00\u59cb\u5199\u4ee3\u7801\u3002","title":"\u73af\u5883\u914d\u7f6e"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#pc","text":"\u5982\u679c\u4f60\u662f Mac \u7528\u6237\uff0c\u90a3\u4e48\u4f60\u5f88\u5e78\u8fd0\uff0c\u8fd9\u4efd \u6307\u5357 \u5c06\u4f1a\u624b\u628a\u624b\u5730\u5e26\u4f60\u642d\u5efa\u8d77\u6574\u5957\u5f00\u53d1\u73af\u5883\u3002\u5982\u679c\u4f60\u662f Windows \u7528\u6237\uff0c\u5728\u5f00\u6e90\u793e\u533a\u7684\u52aa\u529b\u4e0b\uff0c\u4f60\u540c\u6837\u53ef\u4ee5\u83b7\u5f97\u4e0e\u5176\u4ed6\u5e73\u53f0\u7c7b\u4f3c\u7684\u4f53\u9a8c\uff1a Scoop \u3002 \u53e6\u5916\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003\u4e00\u4efd\u7075\u611f\u6765\u81ea 6.NULL MIT-Missing-Semester \u7684 \u73af\u5883\u914d\u7f6e\u6307\u5357 \uff0c\u91cd\u70b9\u5728\u4e8e\u7ec8\u7aef\u7684\u7f8e\u5316\u914d\u7f6e\u3002\u6b64\u5916\u8fd8\u5305\u62ec\u5e38\u7528\u8f6f\u4ef6\u6e90\uff08\u5982 GitHub, Anaconda, PyPI \u7b49\uff09\u7684\u52a0\u901f\u4e0e\u66ff\u6362\u4ee5\u53ca\u4e00\u4e9b IDE \u7684\u914d\u7f6e\u4e0e\u6fc0\u6d3b\u6559\u7a0b\u3002","title":"PC \u7aef\u73af\u5883\u914d\u7f6e"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_4","text":"\u670d\u52a1\u5668\u7aef\u7684\u8fd0\u7ef4\u9700\u8981\u638c\u63e1 Linux\uff08\u6216\u8005\u5176\u4ed6\u7c7b Unix \u7cfb\u7edf\uff09\u7684\u57fa\u672c\u4f7f\u7528\u4ee5\u53ca\u8fdb\u7a0b\u3001\u8bbe\u5907\u3001\u7f51\u7edc\u7b49\u7cfb\u7edf\u76f8\u5173\u7684\u57fa\u672c\u6982\u5ff5\uff0c\u5c0f\u767d\u53ef\u4ee5\u53c2\u8003\u4e2d\u56fd\u79d1\u5b66\u6280\u672f\u5927\u5b66 Linux \u7528\u6237\u534f\u4f1a\u7f16\u5199\u7684 \u300aLinux 101\u300b\u5728\u7ebf\u8bb2\u4e49 \u3002\u5982\u679c\u60f3\u6df1\u5165\u5b66\u4e60\u7cfb\u7edf\u8fd0\u7ef4\u76f8\u5173\u7684\u77e5\u8bc6\uff0c\u53ef\u4ee5\u53c2\u8003 Aspects of System Administration \u8fd9\u95e8\u8bfe\u7a0b\u3002 \u53e6\u5916\uff0c\u5982\u679c\u9700\u8981\u5b66\u4e60\u67d0\u4e2a\u5177\u4f53\u7684\u6982\u5ff5\u6216\u5de5\u5177\uff0c\u63a8\u8350\u4e00\u4e2a\u975e\u5e38\u4e0d\u9519\u7684 GitHub \u9879\u76ee DevOps-Guide \uff0c\u5176\u4e2d\u6db5\u76d6\u4e86\u975e\u5e38\u591a\u7684\u8fd0\u7ef4\u65b9\u9762\u7684\u57fa\u7840\u77e5\u8bc6\u548c\u6559\u7a0b\uff0c\u4f8b\u5982 Docker, Kubernetes, Linux, CI-CD, GitHub Actions \u7b49\u7b49\u3002","title":"\u670d\u52a1\u5668\u7aef\u73af\u5883\u914d\u7f6e"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_5","text":"\u6b63\u5982\u8fd9\u7ae0\u5f00\u5934\u63d0\u5230\u7684\uff0c\u8fd9\u4efd\u8bfe\u7a0b\u5730\u56fe\u4ec5\u4ec5\u662f\u4e00\u4e2a \u4ec5\u4f9b\u53c2\u8003 \u7684\u8bfe\u7a0b\u89c4\u5212\uff0c\u6211\u4f5c\u4e3a\u4e00\u4e2a\u4e34\u8fd1\u6bd5\u4e1a\u7684\u672c\u79d1\u751f\u3002\u6df1\u611f\u81ea\u5df1\u6ca1\u6709\u6743\u5229\u4e5f\u6ca1\u6709\u80fd\u529b\u5411\u522b\u4eba\u5ba3\u626c\u201c\u5e94\u8be5\u600e\u4e48\u5b66\u201d\u3002\u56e0\u6b64\u5982\u679c\u4f60\u89c9\u5f97\u4ee5\u4e0b\u7684\u8bfe\u7a0b\u5206\u7c7b\u4e0e\u9009\u62e9\u6709\u4e0d\u5408\u7406\u4e4b\u5904\uff0c\u6211\u5168\u76d8\u63a5\u53d7\uff0c\u5e76\u6df1\u611f\u62b1\u6b49\u3002\u4f60\u53ef\u4ee5\u5728\u4e0b\u4e00\u8282 \u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe \u4ee5\u4e0b\u8bfe\u7a0b\u7c7b\u522b\u4e2d\u9664\u4e86\u542b\u6709 \u57fa\u7840 \u548c \u5165\u95e8 \u5b57\u773c\u7684\u4ee5\u5916\uff0c\u5e76\u65e0\u660e\u786e\u7684\u5148\u540e\u6b21\u5e8f\uff0c\u5927\u5bb6\u53ea\u8981\u6ee1\u8db3\u67d0\u4e2a\u8bfe\u7a0b\u7684\u5148\u4fee\u8981\u6c42\uff0c\u5b8c\u5168\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u8981\u548c\u559c\u597d\u9009\u62e9\u60f3\u8981\u5b66\u4e60\u7684\u8bfe\u7a0b\u3002","title":"\u8bfe\u7a0b\u5730\u56fe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_6","text":"","title":"\u6570\u5b66\u57fa\u7840"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_7","text":"\u4f5c\u4e3a\u5927\u4e00\u65b0\u751f\uff0c\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u662f\u548c\u5199\u4ee3\u7801\u81f3\u5c11\u540c\u7b49\u91cd\u8981\u7684\u4e8b\u60c5\uff0c\u76f8\u4fe1\u5df2\u7ecf\u6709\u65e0\u6570\u7684\u524d\u4eba\u7ecf\u9a8c\u63d0\u5230\u8fc7\u8fd9\u4e00\u70b9\uff0c\u4f46\u6211\u8fd8\u662f\u8981\u4e0d\u538c\u5176\u70e6\u5730\u518d\u5f3a\u8c03\u4e00\u904d\uff1a\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u771f\u7684\u5f88\u91cd\u8981\uff01\u4f60\u4e5f\u8bb8\u4f1a\u5410\u69fd\u8fd9\u4e9b\u4e1c\u897f\u5c82\u4e0d\u662f\u8003\u5b8c\u5c31\u5fd8\uff0c\u90a3\u6211\u89c9\u5f97\u4f60\u662f\u5e76\u6ca1\u6709\u628a\u63e1\u4f4f\u5b83\u4eec\u672c\u8d28\uff0c\u5bf9\u5b83\u4eec\u7684\u7406\u89e3\u8fd8\u6ca1\u6709\u8fbe\u5230\u523b\u9aa8\u94ed\u5fc3\u7684\u7a0b\u5ea6\u3002\u5982\u679c\u89c9\u5f97\u8001\u5e08\u8bfe\u4e0a\u8bb2\u7684\u5185\u5bb9\u6666\u6da9\u96be\u61c2\uff0c\u4e0d\u59a8\u53c2\u8003 MIT \u7684 Calculus Course \u548c 18.06: Linear Algebra \u7684\u8bfe\u7a0b notes\uff0c\u81f3\u5c11\u4e8e\u6211\u800c\u8a00\uff0c\u5b83\u5e2e\u52a9\u6211\u6df1\u523b\u7406\u89e3\u4e86\u5fae\u79ef\u5206\u548c\u7ebf\u6027\u4ee3\u6570\u7684\u8bb8\u591a\u672c\u8d28\u3002\u987a\u9053\u518d\u5b89\u5229\u4e00\u4e2a\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \uff0c\u4ed6\u7684\u9891\u9053\u6709\u5f88\u591a\u7528\u751f\u52a8\u5f62\u8c61\u7684\u52a8\u753b\u9610\u91ca\u6570\u5b66\u672c\u8d28\u5185\u6838\u7684\u89c6\u9891\uff0c\u517c\u5177\u6df1\u5ea6\u548c\u5e7f\u5ea6\uff0c\u8d28\u91cf\u975e\u5e38\u9ad8\u3002","title":"\u5fae\u79ef\u5206\u4e0e\u7ebf\u6027\u4ee3\u6570"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_8","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u53ca\u65e9\u4e86\u89e3\u4e00\u4e9b\u4fe1\u606f\u8bba\u7684\u57fa\u7840\u77e5\u8bc6\uff0c\u6211\u89c9\u5f97\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u4f46\u5927\u591a\u4fe1\u606f\u8bba\u8bfe\u7a0b\u90fd\u9762\u5411\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u751a\u81f3\u7814\u7a76\u751f\uff0c\u5bf9\u65b0\u624b\u6781\u4e0d\u53cb\u597d\u3002\u800c MIT \u7684 6.050J: Information theory and Entropy \u8fd9\u95e8\u8bfe\u6b63\u662f\u4e3a\u5927\u4e00\u65b0\u751f\u91cf\u8eab\u5b9a\u5236\u7684\uff0c\u51e0\u4e4e\u6ca1\u6709\u5148\u4fee\u8981\u6c42\uff0c\u6db5\u76d6\u4e86\u7f16\u7801\u3001\u538b\u7f29\u3001\u901a\u4fe1\u3001\u4fe1\u606f\u71b5\u7b49\u7b49\u5185\u5bb9\uff0c\u975e\u5e38\u6709\u8da3\u3002","title":"\u4fe1\u606f\u8bba\u5165\u95e8"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_9","text":"","title":"\u6570\u5b66\u8fdb\u9636"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_10","text":"\u96c6\u5408\u8bba\u3001\u56fe\u8bba\u3001\u6982\u7387\u8bba\u7b49\u7b49\u662f\u7b97\u6cd5\u63a8\u5bfc\u4e0e\u8bc1\u660e\u7684\u91cd\u8981\u5de5\u5177\uff0c\u4e5f\u662f\u540e\u7eed\u9ad8\u9636\u6570\u5b66\u8bfe\u7a0b\u7684\u57fa\u7840\u3002\u4f46\u6211\u89c9\u5f97\u8fd9\u7c7b\u8bfe\u7a0b\u7684\u8bb2\u6388\u5f88\u5bb9\u6613\u843d\u5165\u7406\u8bba\u5316\u4e0e\u5f62\u5f0f\u5316\u7684\u7aa0\u81fc\uff0c\u8ba9\u8bfe\u5802\u6210\u4e3a\u5b9a\u7406\u7ed3\u8bba\u7684\u5806\u780c\uff0c\u800c\u65e0\u6cd5\u4f7f\u5b66\u751f\u6df1\u523b\u628a\u63e1\u7406\u8bba\u7684\u672c\u8d28\uff0c\u8fdb\u800c\u9020\u6210\u5b66\u4e86\u5c31\u80cc\uff0c\u8003\u4e86\u5c31\u5fd8\u7684\u602a\u5708\u3002\u5982\u679c\u80fd\u5728\u7406\u8bba\u6559\u5b66\u4e2d\u7a7f\u63d2\u7b97\u6cd5\u8fd0\u7528\u5b9e\u4f8b\uff0c\u5b66\u751f\u5728\u62d3\u5c55\u7b97\u6cd5\u77e5\u8bc6\u7684\u540c\u65f6\u4e5f\u80fd\u7aa5\u89c1\u7406\u8bba\u7684\u529b\u91cf\u548c\u9b45\u529b\u3002 UCB CS70 : discrete Math and probability theory \u548c UCB CS126 : Probability theory \u662f UC Berkeley \u7684\u6982\u7387\u8bba\u8bfe\u7a0b\uff0c\u524d\u8005\u8986\u76d6\u4e86\u79bb\u6563\u6570\u5b66\u548c\u6982\u7387\u8bba\u57fa\u7840\uff0c\u540e\u8005\u5219\u6d89\u53ca\u968f\u673a\u8fc7\u7a0b\u4ee5\u53ca\u6df1\u5165\u7684\u7406\u8bba\u5185\u5bb9\u3002\u4e24\u8005\u90fd\u975e\u5e38\u6ce8\u91cd\u7406\u8bba\u548c\u5b9e\u8df5\u7684\u7ed3\u5408\uff0c\u6709\u4e30\u5bcc\u7684\u7b97\u6cd5\u5b9e\u9645\u8fd0\u7528\u5b9e\u4f8b\uff0c\u540e\u8005\u8fd8\u6709\u5927\u91cf\u7684 Python \u7f16\u7a0b\u4f5c\u4e1a\u6765\u8ba9\u5b66\u751f\u8fd0\u7528\u6982\u7387\u8bba\u7684\u77e5\u8bc6\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u3002","title":"\u79bb\u6563\u6570\u5b66\u4e0e\u6982\u7387\u8bba"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_11","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u57f9\u517b\u8ba1\u7b97\u601d\u7ef4\u662f\u5f88\u91cd\u8981\u7684\uff0c\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u3001\u79bb\u6563\u5316\uff0c\u8ba1\u7b97\u673a\u7684\u6a21\u62df\u3001\u5206\u6790\uff0c\u662f\u4e00\u9879\u5f88\u91cd\u8981\u7684\u80fd\u529b\u3002\u800c\u8fd9\u4e24\u5e74\u5f00\u59cb\u98ce\u9761\u7684\uff0c\u7531 MIT \u6253\u9020\u7684 Julia \u7f16\u7a0b\u8bed\u8a00\u4ee5\u5176 C \u4e00\u6837\u7684\u901f\u5ea6\u548c Python \u4e00\u6837\u53cb\u597d\u7684\u8bed\u6cd5\u5728\u6570\u503c\u8ba1\u7b97\u9886\u57df\u6709\u4e00\u7edf\u5929\u4e0b\u4e4b\u52bf\uff0cMIT \u7684\u8bb8\u591a\u6570\u5b66\u8bfe\u7a0b\u4e5f\u5f00\u59cb\u7528 Julia \u4f5c\u4e3a\u6559\u5b66\u5de5\u5177\uff0c\u628a\u8270\u6df1\u7684\u6570\u5b66\u7406\u8bba\u7528\u76f4\u89c2\u6e05\u6670\u7684\u4ee3\u7801\u5c55\u793a\u51fa\u6765\u3002 ComputationalThinking \u662f MIT \u5f00\u8bbe\u7684\u4e00\u95e8\u8ba1\u7b97\u601d\u7ef4\u5165\u95e8\u8bfe\uff0c\u6240\u6709\u8bfe\u7a0b\u5185\u5bb9\u5168\u90e8\u5f00\u6e90\uff0c\u53ef\u4ee5\u5728\u8bfe\u7a0b\u7f51\u7ad9\u76f4\u63a5\u8bbf\u95ee\u3002\u8fd9\u95e8\u8bfe\u5229\u7528 Julia \u7f16\u7a0b\u8bed\u8a00\uff0c\u5728\u56fe\u50cf\u5904\u7406\u3001\u793e\u4f1a\u79d1\u5b66\u4e0e\u6570\u636e\u79d1\u5b66\u3001\u6c14\u5019\u5b66\u5efa\u6a21\u4e09\u4e2a topic \u4e0b\u5e26\u9886\u5b66\u751f\u7406\u89e3\u7b97\u6cd5\u3001\u6570\u5b66\u5efa\u6a21\u3001\u6570\u636e\u5206\u6790\u3001\u4ea4\u4e92\u8bbe\u8ba1\u3001\u56fe\u4f8b\u5c55\u793a\uff0c\u8ba9\u5b66\u751f\u4f53\u9a8c\u8ba1\u7b97\u4e0e\u79d1\u5b66\u7684\u7f8e\u5999\u7ed3\u5408\u3002\u5185\u5bb9\u867d\u7136\u4e0d\u96be\uff0c\u4f46\u7ed9\u6211\u6700\u6df1\u523b\u7684\u611f\u53d7\u5c31\u662f\uff0c\u79d1\u5b66\u7684\u9b45\u529b\u5e76\u4e0d\u662f\u6545\u5f04\u7384\u865a\u7684\u8270\u6df1\u7406\u8bba\uff0c\u4e0d\u662f\u8bd8\u5c48\u8071\u7259\u7684\u672f\u8bed\u884c\u8bdd\uff0c\u800c\u662f\u7528\u76f4\u89c2\u751f\u52a8\u7684\u6848\u4f8b\uff0c\u7528\u7b80\u7ec3\u6df1\u523b\u7684\u8bed\u8a00\uff0c\u8ba9\u6bcf\u4e2a\u666e\u901a\u4eba\u90fd\u80fd\u7406\u89e3\u3002 \u4e0a\u5b8c\u4e0a\u9762\u7684\u4f53\u9a8c\u8bfe\u4e4b\u540e\uff0c\u5982\u679c\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u4e0d\u59a8\u8bd5\u8bd5 MIT \u7684 18.330 : Introduction to numerical analysis \uff0c\u8fd9\u95e8\u8bfe\u7684\u7f16\u7a0b\u4f5c\u4e1a\u540c\u6837\u4f1a\u7528 Julia \u7f16\u7a0b\u8bed\u8a00\uff0c\u4e0d\u8fc7\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u90fd\u4e0a\u4e86\u4e00\u4e2a\u53f0\u9636\u3002\u5185\u5bb9\u6d89\u53ca\u4e86\u6d6e\u70b9\u7f16\u7801\u3001Root finding\u3001\u7ebf\u6027\u7cfb\u7edf\u3001\u5fae\u5206\u65b9\u7a0b\u7b49\u7b49\u65b9\u9762\uff0c\u6574\u95e8\u8bfe\u7684\u4e3b\u65e8\u5c31\u662f\u8ba9\u4f60\u5229\u7528\u79bb\u6563\u5316\u7684\u8ba1\u7b97\u673a\u8868\u793a\u53bb\u4f30\u8ba1\u548c\u903c\u8fd1\u4e00\u4e2a\u6570\u5b66\u4e0a\u8fde\u7eed\u7684\u6982\u5ff5\u3002\u8fd9\u95e8\u8bfe\u7684\u6559\u6388\u8fd8\u4e13\u95e8\u64b0\u5199\u4e86\u4e00\u672c\u914d\u5957\u7684\u5f00\u6e90\u6559\u6750 Fundamentals of Numerical Computation \uff0c\u91cc\u9762\u9644\u6709\u4e30\u5bcc\u7684 Julia \u4ee3\u7801\u5b9e\u4f8b\u548c\u4e25\u8c28\u7684\u516c\u5f0f\u63a8\u5bfc\u3002 \u5982\u679c\u4f60\u8fd8\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u8fd8\u6709 MIT \u7684\u6570\u503c\u5206\u6790\u7814\u7a76\u751f\u8bfe\u7a0b 18.335: Introduction to numerical method \u4f9b\u4f60\u53c2\u8003\u3002","title":"\u6570\u503c\u5206\u6790"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_12","text":"\u5982\u679c\u4e16\u95f4\u4e07\u7269\u7684\u8fd0\u52a8\u53d1\u5c55\u90fd\u80fd\u7528\u65b9\u7a0b\u6765\u523b\u753b\u548c\u63cf\u8ff0\uff0c\u8fd9\u662f\u4e00\u4ef6\u591a\u4e48\u9177\u7684\u4e8b\u60c5\u5440\uff01\u867d\u7136\u51e0\u4e4e\u4efb\u4f55\u4e00\u6240\u5b66\u6821\u7684 CS \u57f9\u517b\u65b9\u6848\u4e2d\u90fd\u6ca1\u6709\u5fae\u5206\u65b9\u7a0b\u76f8\u5173\u7684\u5fc5\u4fee\u8bfe\u7a0b\uff0c\u4f46\u6211\u8fd8\u662f\u89c9\u5f97\u638c\u63e1\u5b83\u4f1a\u8d4b\u4e88\u4f60\u4e00\u4e2a\u65b0\u7684\u89c6\u89d2\u6765\u5ba1\u89c6\u8fd9\u4e2a\u4e16\u754c\u3002 \u7531\u4e8e\u5fae\u5206\u65b9\u7a0b\u4e2d\u5f80\u5f80\u4f1a\u7528\u5230\u5f88\u591a\u590d\u53d8\u51fd\u6570\u7684\u77e5\u8bc6\uff0c\u6240\u4ee5\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003 MIT18.04: Complex variables functions \u7684\u8bfe\u7a0b notes \u6765\u8865\u9f50\u5148\u4fee\u77e5\u8bc6\u3002 MIT18.03: differential equations \u4e3b\u8981\u8986\u76d6\u4e86\u5e38\u5fae\u5206\u65b9\u7a0b\u7684\u6c42\u89e3\uff0c\u5728\u6b64\u57fa\u7840\u4e4b\u4e0a MIT18.152: Partial differential equations \u5219\u4f1a\u6df1\u5165\u504f\u5fae\u5206\u65b9\u7a0b\u7684\u5efa\u6a21\u4e0e\u6c42\u89e3\u3002\u638c\u63e1\u4e86\u5fae\u5206\u65b9\u7a0b\u8fd9\u4e00\u6709\u529b\u5de5\u5177\uff0c\u76f8\u4fe1\u5bf9\u4e8e\u4f60\u7684\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u80fd\u529b\u4ee5\u53ca\u4ece\u4f17\u591a\u566a\u58f0\u53d8\u91cf\u4e2d\u628a\u63e1\u672c\u8d28\u7684\u76f4\u89c9\u90fd\u4f1a\u6709\u5f88\u5927\u5e2e\u52a9\u3002","title":"\u5fae\u5206\u65b9\u7a0b"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_13","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u6211\u7ecf\u5e38\u542c\u5230\u6570\u5b66\u65e0\u7528\u8bba\u7684\u8bba\u65ad\uff0c\u5bf9\u6b64\u6211\u4e0d\u6562\u82df\u540c\u4f46\u4e5f\u65e0\u6743\u53cd\u5bf9\uff0c\u4f46\u82e5\u51e1\u4e8b\u90fd\u786c\u8981\u4e89\u51fa\u4e2a\u6709\u7528\u548c\u65e0\u7528\u7684\u533a\u522b\u6765\uff0c\u5012\u4e5f\u7740\u5b9e\u65e0\u8da3\uff0c\u56e0\u6b64\u4e0b\u9762\u8fd9\u4e9b\u9762\u5411\u9ad8\u5e74\u7ea7\u751a\u81f3\u7814\u7a76\u751f\u7684\u6570\u5b66\u8bfe\u7a0b\uff0c\u5927\u5bb6\u6309\u5174\u8da3\u81ea\u53d6\u6240\u9700\u3002","title":"\u6570\u5b66\u9ad8\u9636"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_14","text":"Standford EE364A: Convex Optimization","title":"\u51f8\u4f18\u5316"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_15","text":"MIT6.441: Information Theory","title":"\u4fe1\u606f\u8bba"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_16","text":"MIT18.650: Statistics for Applications","title":"\u5e94\u7528\u7edf\u8ba1\u5b66"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_17","text":"MIT18.781: Theory of Numbers","title":"\u521d\u7b49\u6570\u8bba"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_18","text":"Standford CS255: Cryptography","title":"\u5bc6\u7801\u5b66"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_19","text":"Languages are tools, you choose the right tool to do the right thing. Since there's no universally perfect tool, there's no universally perfect language.","title":"\u7f16\u7a0b\u5165\u95e8"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#shell","text":"MIT-Missing-Semester","title":"Shell"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#python","text":"CS50P: CS50's Introduction to Programming with Python Harvard CS50: This is CS50x UCB CS61A: Structure and Interpretation of Computer Programs","title":"Python"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#c","text":"Stanford CS106B/X: Programming Abstractions Stanford CS106L: Standard C++ Programming","title":"C++"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#rust","text":"Stanford CS110L: Safety in Systems Programming","title":"Rust"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#ocaml","text":"Cornell CS3110 textbook: Functional Programming in OCaml","title":"OCaml"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_20","text":"","title":"\u7535\u5b50\u57fa\u7840"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_21","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u4e86\u89e3\u4e00\u4e9b\u57fa\u7840\u7684\u7535\u8def\u77e5\u8bc6\uff0c\u611f\u53d7\u4ece\u4f20\u611f\u5668\u6536\u96c6\u6570\u636e\u5230\u6570\u636e\u5206\u6790\u518d\u5230\u7b97\u6cd5\u9884\u6d4b\u6574\u6761\u6d41\u6c34\u7ebf\uff0c\u5bf9\u4e8e\u540e\u7eed\u77e5\u8bc6\u7684\u5b66\u4e60\u4ee5\u53ca\u8ba1\u7b97\u601d\u7ef4\u7684\u57f9\u517b\u8fd8\u662f\u5f88\u6709\u5e2e\u52a9\u7684\u3002 EE16A&B: Designing Information Devices and Systems I&II \u662f\u4f2f\u514b\u5229 EE \u5b66\u751f\u7684\u5927\u4e00\u5165\u95e8\u8bfe\uff0c\u5176\u4e2d EE16A \u6ce8\u91cd\u901a\u8fc7\u7535\u8def\u4ece\u5b9e\u9645\u73af\u5883\u4e2d\u6536\u96c6\u548c\u5206\u6790\u6570\u636e\uff0c\u800c EE16B \u5219\u4fa7\u91cd\u4ece\u8fd9\u4e9b\u6536\u96c6\u5230\u7684\u6570\u636e\u8fdb\u884c\u5206\u6790\u5e76\u505a\u51fa\u9884\u6d4b\u884c\u4e3a\u3002","title":"\u7535\u8def\u57fa\u7840"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_22","text":"\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u662f\u4e00\u95e8\u6211\u89c9\u5f97\u975e\u5e38\u503c\u5f97\u4e00\u4e0a\u7684\u8bfe\uff0c\u6700\u521d\u5b66\u5b83\u53ea\u662f\u4e3a\u4e86\u6ee1\u8db3\u6211\u5bf9\u5085\u91cc\u53f6\u53d8\u6362\u7684\u597d\u5947\uff0c\u4f46\u5b66\u5b8c\u4e4b\u540e\u6211\u624d\u4e0d\u7981\u611f\u53f9\uff0c\u5085\u7acb\u53f6\u53d8\u6362\u7ed9\u6211\u63d0\u4f9b\u4e86\u4e00\u4e2a\u5168\u65b0\u7684\u89c6\u89d2\u53bb\u770b\u5f85\u8fd9\u4e2a\u4e16\u754c\uff0c\u5c31\u5982\u540c\u5fae\u5206\u65b9\u7a0b\u4e00\u6837\uff0c\u8ba9\u4f60\u6c89\u6d78\u5728\u7528\u6570\u5b66\u53bb\u7cbe\u786e\u63cf\u7ed8\u548c\u523b\u753b\u8fd9\u4e2a\u4e16\u754c\u7684\u4f18\u96c5\u4e0e\u795e\u5947\u4e4b\u4e2d\u3002 MIT 6.003: signal and systems \u63d0\u4f9b\u4e86\u5168\u90e8\u7684\u8bfe\u7a0b\u5f55\u5f71\u3001\u4e66\u9762\u4f5c\u4e1a\u4ee5\u53ca\u7b54\u6848\u3002\u4e5f\u53ef\u4ee5\u53bb\u770b\u8fd9\u95e8\u8bfe\u7684 \u8fdc\u53e4\u7248\u672c \u800c UCB EE120: Signal and Systems \u5173\u4e8e\u5085\u7acb\u53f6\u53d8\u6362\u7684 notes \u5199\u5f97\u975e\u5e38\u597d\uff0c\u5e76\u4e14\u63d0\u4f9b\u4e866 \u4e2a\u975e\u5e38\u6709\u8da3\u7684 Python \u7f16\u7a0b\u4f5c\u4e1a\uff0c\u8ba9\u4f60\u5b9e\u8df5\u4e2d\u8fd0\u7528\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u7684\u7406\u8bba\u4e0e\u7b97\u6cd5\u3002","title":"\u4fe1\u53f7\u4e0e\u7cfb\u7edf"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_23","text":"\u7b97\u6cd5\u662f\u8ba1\u7b97\u673a\u79d1\u5b66\u7684\u6838\u5fc3\uff0c\u4e5f\u662f\u51e0\u4e4e\u4e00\u5207\u4e13\u4e1a\u8bfe\u7a0b\u7684\u57fa\u7840\u3002\u5982\u4f55\u5c06\u5b9e\u9645\u95ee\u9898\u901a\u8fc7\u6570\u5b66\u62bd\u8c61\u8f6c\u5316\u4e3a\u7b97\u6cd5\u95ee\u9898\uff0c\u5e76\u9009\u7528\u5408\u9002\u7684\u6570\u636e\u7ed3\u6784\u5728\u65f6\u95f4\u548c\u5185\u5b58\u5927\u5c0f\u7684\u9650\u5236\u4e0b\u5c06\u5176\u89e3\u51b3\u662f\u7b97\u6cd5\u8bfe\u7684\u6c38\u6052\u4e3b\u9898\u3002\u5982\u679c\u4f60\u53d7\u591f\u4e86\u8001\u5e08\u7684\u7167\u672c\u5ba3\u79d1\uff0c\u90a3\u4e48\u6211\u5f3a\u70c8\u63a8\u8350\u4f2f\u514b\u5229\u7684 UCB CS61B: Data Structures and Algorithms \u548c\u666e\u6797\u65af\u987f\u7684 Coursera: Algorithms I & II \uff0c\u8fd9\u4e24\u95e8\u8bfe\u7684\u90fd\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\u5e76\u4e14\u4f1a\u6709\u4e30\u5bcc\u4e14\u6709\u8da3\u7684\u7f16\u7a0b\u5b9e\u9a8c\u5c06\u7406\u8bba\u4e0e\u77e5\u8bc6\u7ed3\u5408\u8d77\u6765\u3002 \u4ee5\u4e0a\u4e24\u95e8\u8bfe\u7a0b\u90fd\u662f\u57fa\u4e8e Java \u8bed\u8a00\uff0c\u5982\u679c\u4f60\u60f3\u5b66\u4e60 C/C++ \u63cf\u8ff0\u7684\u7248\u672c\uff0c\u53ef\u4ee5\u53c2\u8003\u65af\u5766\u798f\u7684\u6570\u636e\u7ed3\u6784\u4e0e\u57fa\u7840\u7b97\u6cd5\u8bfe\u7a0b Stanford CS106B/X: Programming Abstractions \u3002\u504f\u597d Python \u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60 MIT \u7684\u7b97\u6cd5\u5165\u95e8\u8bfe MIT 6.006: Introduction to Algorithms \u5bf9\u4e00\u4e9b\u66f4\u9ad8\u7ea7\u7684\u7b97\u6cd5\u4ee5\u53ca NP \u95ee\u9898\u611f\u5174\u8da3\u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60\u4f2f\u514b\u5229\u7684\u7b97\u6cd5\u8bbe\u8ba1\u4e0e\u5206\u6790\u8bfe\u7a0b UCB CS170: Efficient Algorithms and Intractable Problems \u6216\u8005 MIT \u7684\u9ad8\u9636\u7b97\u6cd5 MIT 6.046: Design and Analysis of Algorithms \u3002","title":"\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_24","text":"","title":"\u8f6f\u4ef6\u5de5\u7a0b"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_25","text":"\u4e00\u4efd\u201c\u80fd\u8dd1\u201d\u7684\u4ee3\u7801\uff0c\u548c\u4e00\u4efd\u9ad8\u8d28\u91cf\u7684\u5de5\u4e1a\u7ea7\u4ee3\u7801\u662f\u6709\u672c\u8d28\u533a\u522b\u7684\u3002\u56e0\u6b64\u6211\u975e\u5e38\u63a8\u8350\u4f4e\u5e74\u7ea7\u7684\u540c\u5b66\u5b66\u4e60\u4e00\u4e0b MIT 6.031: Software Construction \u8fd9\u95e8\u8bfe\uff0c\u5b83\u4f1a\u4ee5 Java \u8bed\u8a00\u4e3a\u57fa\u7840\uff0c\u4ee5\u4e30\u5bcc\u7ec6\u81f4\u7684\u9605\u8bfb\u6750\u6599\u548c\u7cbe\u5fc3\u8bbe\u8ba1\u7684\u7f16\u7a0b\u7ec3\u4e60\u4f20\u6388\u5982\u4f55\u7f16\u5199 \u4e0d\u6613\u51fa bug\u3001\u7b80\u660e\u6613\u61c2\u3001\u6613\u4e8e\u7ef4\u62a4\u4fee\u6539 \u7684\u9ad8\u8d28\u91cf\u4ee3\u7801\u3002\u5927\u5230\u5b8f\u89c2\u6570\u636e\u7ed3\u6784\u8bbe\u8ba1\uff0c\u5c0f\u5230\u5982\u4f55\u5199\u6ce8\u91ca\uff0c\u9075\u5faa\u8fd9\u4e9b\u524d\u4eba\u603b\u7ed3\u7684\u7ec6\u8282\u548c\u7ecf\u9a8c\uff0c\u5bf9\u4e8e\u4f60\u6b64\u540e\u7684\u7f16\u7a0b\u751f\u6daf\u5927\u6709\u88e8\u76ca\u3002","title":"\u5165\u95e8\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_26","text":"\u5f53\u7136\uff0c\u5982\u679c\u4f60\u60f3\u7cfb\u7edf\u6027\u5730\u4e0a\u4e00\u95e8\u8f6f\u4ef6\u5de5\u7a0b\u7684\u8bfe\u7a0b\uff0c\u90a3\u6211\u63a8\u8350\u7684\u662f\u4f2f\u514b\u5229\u7684 UCB CS169: software engineering \u3002\u4f46\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u548c\u5927\u591a\u5b66\u6821\uff08\u5305\u62ec\u8d35\u6821\uff09\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u7a0b\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4e0d\u4f1a\u6d89\u53ca\u4f20\u7edf\u7684 design and document \u6a21\u5f0f\uff0c\u5373\u5f3a\u8c03\u5404\u79cd\u7c7b\u56fe\u3001\u6d41\u7a0b\u56fe\u53ca\u6587\u6863\u8bbe\u8ba1\uff0c\u800c\u662f\u91c7\u7528\u8fd1\u4e9b\u5e74\u6d41\u884c\u8d77\u6765\u7684\u5c0f\u56e2\u961f\u5feb\u901f\u8fed\u4ee3 Agile Develepment \u5f00\u53d1\u6a21\u5f0f\u4ee5\u53ca\u5229\u7528\u4e91\u5e73\u53f0\u7684 Software as a service \u670d\u52a1\u6a21\u5f0f\u3002","title":"\u4e13\u4e1a\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_27","text":"","title":"\u4f53\u7cfb\u7ed3\u6784"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_28","text":"\u4ece\u5c0f\u6211\u5c31\u4e00\u76f4\u542c\u8bf4\uff0c\u8ba1\u7b97\u673a\u7684\u4e16\u754c\u662f\u7531 01 \u6784\u6210\u7684\uff0c\u6211\u4e0d\u7406\u89e3\u4f46\u5927\u53d7\u9707\u64bc\u3002\u5982\u679c\u4f60\u7684\u5185\u5fc3\u4e5f\u6000\u6709\u8fd9\u4efd\u597d\u5947\uff0c\u4e0d\u59a8\u82b1\u4e00\u5230\u4e24\u4e2a\u6708\u7684\u65f6\u95f4\u5b66\u4e60 Coursera: Nand2Tetris \u8fd9\u95e8\u65e0\u95e8\u69db\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002\u8fd9\u95e8\u9ebb\u96c0\u867d\u5c0f\u4e94\u810f\u4ff1\u5168\u7684\u8bfe\u7a0b\u4f1a\u4ece 01 \u5f00\u59cb\u8ba9\u4f60\u4eb2\u624b\u9020\u51fa\u4e00\u53f0\u8ba1\u7b97\u673a\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c\u4fc4\u7f57\u65af\u65b9\u5757\u5c0f\u6e38\u620f\u3002\u4e00\u95e8\u8bfe\u91cc\u6db5\u76d6\u4e86\u7f16\u8bd1\u3001\u865a\u62df\u673a\u3001\u6c47\u7f16\u3001\u4f53\u7cfb\u7ed3\u6784\u3001\u6570\u5b57\u7535\u8def\u3001\u903b\u8f91\u95e8\u7b49\u7b49\u4ece\u4e0a\u81f3\u4e0b\u3001\u4ece\u8f6f\u81f3\u786c\u7684\u5404\u7c7b\u77e5\u8bc6\uff0c\u975e\u5e38\u5168\u9762\u3002\u96be\u5ea6\u4e0a\u4e5f\u662f\u901a\u8fc7\u7cbe\u5fc3\u7684\u8bbe\u8ba1\uff0c\u7565\u53bb\u4e86\u4f17\u591a\u73b0\u4ee3\u8ba1\u7b97\u673a\u590d\u6742\u7684\u7ec6\u8282\uff0c\u63d0\u53d6\u51fa\u4e86\u6700\u6838\u5fc3\u672c\u8d28\u7684\u4e1c\u897f\uff0c\u529b\u56fe\u8ba9\u6bcf\u4e2a\u4eba\u90fd\u80fd\u7406\u89e3\u3002\u5728\u4f4e\u5e74\u7ea7\uff0c\u5982\u679c\u5c31\u80fd\u4ece\u5b8f\u89c2\u4e0a\u5efa\u7acb\u5bf9\u6574\u4e2a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7684\u9e1f\u77b0\u56fe\uff0c\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002","title":"\u5165\u95e8\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_29","text":"\u5f53\u7136\uff0c\u5982\u679c\u60f3\u6df1\u5165\u73b0\u4ee3\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u7684\u590d\u6742\u7ec6\u8282\uff0c\u8fd8\u5f97\u4e0a\u4e00\u95e8\u5927\u5b66\u672c\u79d1\u96be\u5ea6\u7684\u8bfe\u7a0b UCB CS61C: Great Ideas in Computer Architecture \u3002UC Berkeley \u4f5c\u4e3a RISC-V \u67b6\u6784\u7684\u53d1\u6e90\u5730\uff0c\u5728\u4f53\u7cfb\u7ed3\u6784\u9886\u57df\u7b97\u5f97\u4e0a\u9996\u5c48\u4e00\u6307\u3002\u5176\u8bfe\u7a0b\u975e\u5e38\u6ce8\u91cd\u5b9e\u8df5\uff0c\u4f60\u4f1a\u5728 Project \u4e2d\u624b\u5199\u6c47\u7f16\u6784\u9020\u795e\u7ecf\u7f51\u7edc\uff0c\u4ece\u96f6\u5f00\u59cb\u642d\u5efa\u4e00\u4e2a CPU\uff0c\u8fd9\u4e9b\u5b9e\u8df5\u90fd\u4f1a\u8ba9\u4f60\u5bf9\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u6709\u66f4\u4e3a\u6df1\u5165\u7684\u7406\u89e3\uff0c\u800c\u4e0d\u662f\u4ec5\u505c\u7559\u4e8e\u201c\u53d6\u6307\u8bd1\u7801\u6267\u884c\u8bbf\u5b58\u5199\u56de\u201d\u7684\u5355\u8c03\u80cc\u8bf5\u91cc\u3002","title":"\u4e13\u4e1a\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_30","text":"\u8ba1\u7b97\u673a\u7cfb\u7edf\u662f\u4e00\u4e2a\u5e9e\u6742\u800c\u6df1\u523b\u7684\u4e3b\u9898\uff0c\u5728\u6df1\u5165\u5b66\u4e60\u67d0\u4e2a\u7ec6\u5206\u9886\u57df\u4e4b\u524d\uff0c\u5bf9\u5404\u4e2a\u9886\u57df\u6709\u4e00\u4e2a\u5b8f\u89c2\u6982\u5ff5\u6027\u7684\u7406\u89e3\uff0c\u5bf9\u4e00\u4e9b\u901a\u7528\u6027\u7684\u8bbe\u8ba1\u539f\u5219\u6709\u6240\u77e5\u6653\uff0c\u4f1a\u8ba9\u4f60\u5728\u4e4b\u540e\u7684\u6df1\u5165\u5b66\u4e60\u4e2d\u4e0d\u65ad\u5f3a\u5316\u4e00\u4e9b\u6700\u4e3a\u6838\u5fc3\u4e43\u81f3\u54f2\u5b66\u7684\u6982\u5ff5\uff0c\u800c\u4e0d\u4f1a\u684e\u688f\u4e8e\u590d\u6742\u7684\u5185\u90e8\u7ec6\u8282\u548c\u5404\u79cd trick\u3002\u56e0\u4e3a\u5728\u6211\u770b\u6765\uff0c\u5b66\u4e60\u7cfb\u7edf\u6700\u5173\u952e\u7684\u8fd8\u662f\u60f3\u8ba9\u4f60\u9886\u609f\u5230\u8fd9\u4e9b\u6700\u6838\u5fc3\u7684\u4e1c\u897f\uff0c\u4ece\u800c\u80fd\u591f\u8bbe\u8ba1\u548c\u5b9e\u73b0\u51fa\u5c5e\u4e8e\u81ea\u5df1\u7684\u7cfb\u7edf\u3002 MIT6.033: System Engineering \u662f MIT \u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u4e3b\u9898\u6d89\u53ca\u4e86\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f51\u7edc\u3001\u5206\u5e03\u5f0f\u548c\u7cfb\u7edf\u5b89\u5168\uff0c\u9664\u4e86\u77e5\u8bc6\u70b9\u7684\u4f20\u6388\u5916\uff0c\u8fd9\u95e8\u8bfe\u8fd8\u4f1a\u8bb2\u6388\u4e00\u4e9b\u5199\u4f5c\u548c\u8868\u8fbe\u4e0a\u7684\u6280\u5de7\uff0c\u8ba9\u4f60\u5b66\u4f1a\u5982\u4f55\u8bbe\u8ba1\u5e76\u5411\u522b\u4eba\u4ecb\u7ecd\u548c\u5206\u6790\u81ea\u5df1\u7684\u7cfb\u7edf\u3002\u8fd9\u672c\u4e66\u914d\u5957\u7684\u6559\u6750 Principles of Computer System Design: An Introduction \u4e5f\u5199\u5f97\u975e\u5e38\u597d\uff0c\u63a8\u8350\u5927\u5bb6\u9605\u8bfb\u3002 CMU 15-213: Introduction to Computer System \u662f CMU \u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u5185\u5bb9\u8986\u76d6\u4e86\u4f53\u7cfb\u7ed3\u6784\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u94fe\u63a5\u3001\u5e76\u884c\u3001\u7f51\u7edc\u7b49\u7b49\uff0c\u517c\u5177\u5e7f\u5ea6\u548c\u6df1\u5ea6\uff0c\u914d\u5957\u7684\u6559\u6750 Computer Systems: A Programmer's Perspective \u4e5f\u662f\u8d28\u91cf\u6781\u9ad8\uff0c\u5f3a\u70c8\u5efa\u8bae\u9605\u8bfb\u3002","title":"\u7cfb\u7edf\u5165\u95e8"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_31","text":"\u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u5185\u6838\u66f4\u80fd\u52a0\u6df1\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u7684\u7406\u89e3\u4e86\u3002 \u64cd\u4f5c\u7cfb\u7edf\u4f5c\u4e3a\u5404\u7c7b\u7eb7\u7e41\u590d\u6742\u7684\u5e95\u5c42\u786c\u4ef6\u865a\u62df\u5316\u51fa\u4e00\u5957\u89c4\u8303\u4f18\u96c5\u7684\u62bd\u8c61\uff0c\u7ed9\u6240\u6709\u5e94\u7528\u8f6f\u4ef6\u63d0\u4f9b\u4e30\u5bcc\u7684\u529f\u80fd\u652f\u6301\u3002\u4e86\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u8bbe\u8ba1\u539f\u5219\u548c\u5185\u90e8\u539f\u7406\u5bf9\u4e8e\u4e00\u4e2a\u4e0d\u6ee1\u8db3\u4e8e\u5f53\u8c03\u5305\u4fa0\u7684\u7a0b\u5e8f\u5458\u6765\u8bf4\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u51fa\u4e8e\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u7684\u70ed\u7231\uff0c\u6211\u4e0a\u8fc7\u56fd\u5185\u5916\u5f88\u591a\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\uff0c\u5b83\u4eec\u5404\u6709\u4fa7\u91cd\u548c\u4f18\u52a3\uff0c\u5927\u5bb6\u53ef\u4ee5\u6839\u636e\u5174\u8da3\u5404\u53d6\u6240\u9700\u3002 MIT 6.S081: Operating System Engineering \uff0cMIT \u8457\u540d PDOS \u5b9e\u9a8c\u5ba4\u51fa\u54c1\uff0c11 \u4e2a Project \u8ba9\u4f60\u5728\u4e00\u4e2a\u5b9e\u73b0\u975e\u5e38\u4f18\u96c5\u7684\u7c7bUnix\u64cd\u4f5c\u7cfb\u7edfxv6\u4e0a\u589e\u52a0\u5404\u7c7b\u529f\u80fd\u6a21\u5757\u3002\u8fd9\u95e8\u8bfe\u4e5f\u8ba9\u6211\u6df1\u523b\u8ba4\u8bc6\u5230\uff0c\u505a\u7cfb\u7edf\u4e0d\u662f\u9760 PPT \u5ff5\u51fa\u6765\u7684\uff0c\u662f\u5f97\u51e0\u4e07\u884c\u4ee3\u7801\u4e00\u70b9\u70b9\u7d2f\u8d77\u6765\u7684\u3002 UCB CS162: Operating System \uff0c\u4f2f\u514b\u5229\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\uff0c\u91c7\u7528\u548c Stanford \u540c\u6837\u7684 Project \u2014\u2014 \u4e00\u4e2a\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf Pintos\u3002\u6211\u4f5c\u4e3a\u5317\u4eac\u5927\u5b662022\u5e74\u548c2023\u5e74\u6625\u5b63\u5b66\u671f\u64cd\u4f5c\u7cfb\u7edf\u5b9e\u9a8c\u73ed\u7684\u52a9\u6559\uff0c\u5f15\u5165\u5e76\u6539\u5584\u4e86\u8fd9\u4e2a Project\uff0c\u8bfe\u7a0b\u8d44\u6e90\u4e5f\u4f1a\u5168\u90e8\u5f00\u6e90\uff0c\u5177\u4f53\u53c2\u89c1 \u8bfe\u7a0b\u7f51\u7ad9 \u3002 NJU: Operating System Design and Implementation \uff0c\u5357\u4eac\u5927\u5b66\u7684\u848b\u708e\u5ca9\u8001\u5e08\u5f00\u8bbe\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u848b\u8001\u5e08\u4ee5\u5176\u72ec\u5230\u7684\u7cfb\u7edf\u89c6\u89d2\u7ed3\u5408\u4e30\u5bcc\u7684\u4ee3\u7801\u793a\u4f8b\u5c06\u4f17\u591a\u64cd\u4f5c\u7cfb\u7edf\u7684\u6982\u5ff5\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\uff0c\u6b64\u5916\u8fd9\u95e8\u8bfe\u7684\u5168\u90e8\u8bfe\u7a0b\u5185\u5bb9\u90fd\u662f\u4e2d\u6587\u7684\uff0c\u975e\u5e38\u65b9\u4fbf\u5927\u5bb6\u5b66\u4e60\u3002 HIT OS: Operating System \uff0c\u54c8\u5c14\u6ee8\u5de5\u4e1a\u5927\u5b66\u7684\u674e\u6cbb\u519b\u8001\u5e08\u5f00\u8bbe\u7684\u4e2d\u6587\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u674e\u8001\u5e08\u7684\u8bfe\u7a0b\u57fa\u4e8e Linux 0.11 \u6e90\u7801\uff0c\u5341\u5206\u6ce8\u91cd\u4ee3\u7801\u5b9e\u8df5\uff0c\u5e76\u7ad9\u5728\u5b66\u751f\u89c6\u89d2\u5c06\u64cd\u4f5c\u7cfb\u7edf\u7684\u6765\u9f99\u53bb\u8109\u5a13\u5a13\u9053\u6765\u3002","title":"\u64cd\u4f5c\u7cfb\u7edf"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_32","text":"\u60f3\u5fc5\u8fd9\u4e24\u5e74\u5404\u7c7b CS \u8bb2\u5ea7\u91cc\u6700\u5e38\u542c\u5230\u7684\u8bdd\u5c31\u662f\u201c\u6469\u5c14\u5b9a\u5f8b\u6b63\u5728\u8d70\u5411\u7ec8\u7ed3\u201d\uff0c\u6b64\u8bdd\u4e0d\u5047\uff0c\u5f53\u5355\u6838\u80fd\u529b\u8fbe\u5230\u4e0a\u9650\u65f6\uff0c\u591a\u6838\u4e43\u81f3\u4f17\u6838\u67b6\u6784\u5982\u65e5\u4e2d\u5929\u3002\u786c\u4ef6\u7684\u53d8\u5316\u5e26\u6765\u7684\u662f\u4e0a\u5c42\u7f16\u7a0b\u903b\u8f91\u7684\u9002\u5e94\u4e0e\u6539\u53d8\uff0c\u8981\u60f3\u5145\u5206\u5229\u7528\u786c\u4ef6\u6027\u80fd\uff0c\u7f16\u5199\u5e76\u884c\u7a0b\u5e8f\u51e0\u4e4e\u6210\u4e86\u7a0b\u5e8f\u5458\u7684\u5fc5\u5907\u6280\u80fd\u3002\u4e0e\u6b64\u540c\u65f6\uff0c\u6df1\u5ea6\u5b66\u4e60\u7684\u5174\u8d77\u5bf9\u8ba1\u7b97\u673a\u7b97\u529b\u4e0e\u5b58\u50a8\u7684\u8981\u6c42\u90fd\u8fbe\u5230\u4e86\u524d\u6240\u672a\u6709\u7684\u9ad8\u5ea6\uff0c\u5927\u89c4\u6a21\u96c6\u7fa4\u7684\u90e8\u7f72\u548c\u4f18\u5316\u4e5f\u6210\u4e3a\u70ed\u95e8\u6280\u672f\u8bdd\u9898\u3002","title":"\u5e76\u884c\u4e0e\u5206\u5e03\u5f0f\u7cfb\u7edf"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_33","text":"CMU 15-418/Stanford CS149: Parallel Computing","title":"\u5e76\u884c\u8ba1\u7b97"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_34","text":"MIT 6.824: Distributed System","title":"\u5206\u5e03\u5f0f\u7cfb\u7edf"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_35","text":"\u4e0d\u77e5\u9053\u4f60\u5f53\u5e74\u9009\u62e9\u8ba1\u7b97\u673a\u662f\u4e0d\u662f\u56e0\u4e3a\u6000\u7740\u4e00\u4e2a\u4e2d\u4e8c\u7684\u9ed1\u5ba2\u68a6\u60f3\uff0c\u4f46\u73b0\u5b9e\u5374\u662f\u6210\u4e3a\u9ed1\u5ba2\u9053\u963b\u4e14\u957f\u3002","title":"\u7cfb\u7edf\u5b89\u5168"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_36","text":"UCB CS161: Computer Security \u662f\u4f2f\u514b\u5229\u7684\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u4f1a\u6db5\u76d6\u6808\u653b\u51fb\u3001\u5bc6\u7801\u5b66\u3001\u7f51\u7ad9\u5b89\u5168\u3001\u7f51\u7edc\u5b89\u5168\u7b49\u7b49\u5185\u5bb9\u3002 ASU CSE365: Introduction to Cybersecurity \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66\u7684 Web \u5b89\u5168\u8bfe\u7a0b\uff0c\u4e3b\u8981\u6d89\u53ca\u6ce8\u5165\u3001\u6c47\u7f16\u4e0e\u5bc6\u7801\u5b66\u7684\u5185\u5bb9\u3002 ASU CSE466: Computer Systems Security \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66\u7684\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u6d89\u53ca\u5185\u5bb9\u5168\u9762\u3002\u95e8\u69db\u8f83\u9ad8\uff0c\u9700\u8981\u5bf9 Linux, C \u4e0e Python \u5145\u5206\u719f\u6089\u3002","title":"\u7406\u8bba\u8bfe\u7a0b"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_37","text":"\u638c\u63e1\u8fd9\u4e9b\u7406\u8bba\u77e5\u8bc6\u4e4b\u540e\uff0c\u8fd8\u9700\u8981\u5728\u5b9e\u8df5\u4e2d\u57f9\u517b\u548c\u953b\u70bc\u8fd9\u4e9b\u201c\u9ed1\u5ba2\u7d20\u517b\u201d\u3002 CTF \u593a\u65d7\u8d5b \u662f\u4e00\u9879\u6bd4\u8f83\u70ed\u95e8\u7684\u7cfb\u7edf\u5b89\u5168\u6bd4\u8d5b\uff0c\u8d5b\u9898\u4e2d\u4f1a\u878d\u4f1a\u8d2f\u901a\u5730\u8003\u5bdf\u4f60\u5bf9\u8ba1\u7b97\u673a\u5404\u4e2a\u9886\u57df\u77e5\u8bc6\u7684\u7406\u89e3\u548c\u8fd0\u7528\u3002\u5317\u5927\u4eca\u5e74\u4e5f\u6210\u529f\u4e3e\u529e\u4e86 \u7b2c 0 \u5c4a\u548c\u7b2c 1 \u5c4a \uff0c\u9f13\u52b1\u5927\u5bb6\u540e\u671f\u8e0a\u8dc3\u53c2\u4e0e\uff0c\u5728\u5b9e\u8df5\u4e2d\u63d0\u9ad8\u81ea\u5df1\u3002\u4e0b\u9762\u5217\u4e3e\u4e00\u4e9b\u6211\u5e73\u65f6\u5b66\u4e60\uff08\u6478\u9c7c\uff09\u7528\u5230\u7684\u8d44\u6e90\uff1a CTF-wiki CTF-101 Hacker-101","title":"\u5b9e\u8df5\u8bfe\u7a0b"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_38","text":"\u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a TCP/IP \u534f\u8bae\u6808\u66f4\u80fd\u52a0\u6df1\u5bf9\u8ba1\u7b97\u673a\u7f51\u7edc\u7684\u7406\u89e3\u4e86\u3002 \u5927\u540d\u9f0e\u9f0e\u7684 Stanford CS144: Computer Network \uff0c8 \u4e2a Project \u5e26\u4f60\u5b9e\u73b0\u6574\u4e2a TCP/IP \u534f\u8bae\u6808\u3002 \u5982\u679c\u4f60\u53ea\u662f\u60f3\u5728\u7406\u8bba\u4e0a\u5bf9\u8ba1\u7b97\u673a\u7f51\u7edc\u6709\u6240\u4e86\u89e3\uff0c\u90a3\u4e48\u63a8\u8350\u8ba1\u7f51\u8457\u540d\u6559\u6750\u300a\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u300b\u7684\u914d\u5957\u5b66\u4e60\u8d44\u6e90 Computer Networking: A Top-Down Approach \u3002","title":"\u8ba1\u7b97\u673a\u7f51\u7edc"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_39","text":"\u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u5173\u7cfb\u578b\u6570\u636e\u5e93\u66f4\u80fd\u52a0\u6df1\u5bf9\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u7406\u89e3\u4e86\u3002 CMU \u7684\u8457\u540d\u6570\u636e\u5e93\u795e\u8bfe CMU 15-445: Introduction to Database System \u4f1a\u901a\u8fc7 4 \u4e2a Project \u5e26\u4f60\u4e3a\u4e00\u4e2a\u7528\u4e8e\u6559\u5b66\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93 bustub \u6dfb\u52a0\u5404\u79cd\u529f\u80fd\u3002\u5b9e\u9a8c\u7684\u8bc4\u6d4b\u6846\u67b6\u4e5f\u514d\u8d39\u5f00\u6e90\u4e86\uff0c\u975e\u5e38\u9002\u5408\u5927\u5bb6\u81ea\u5b66\u3002\u6b64\u5916\u8bfe\u7a0b\u5b9e\u9a8c\u4f1a\u7528\u5230 C++11 \u7684\u4f17\u591a\u65b0\u7279\u6027\uff0c\u4e5f\u662f\u4e00\u4e2a\u953b\u70bc C++ \u4ee3\u7801\u80fd\u529b\u7684\u597d\u673a\u4f1a\u3002 Berkeley \u4f5c\u4e3a\u8457\u540d\u5f00\u6e90\u6570\u636e\u5e93 postgres \u7684\u53d1\u6e90\u5730\u4e5f\u4e0d\u9051\u591a\u8ba9\uff0c UCB CS186: Introduction to Database System \u4f1a\u8ba9\u4f60\u7528 Java \u8bed\u8a00\u5b9e\u73b0\u4e00\u4e2a\u652f\u6301 SQL \u5e76\u53d1\u67e5\u8be2\u3001B+ \u6811\u7d22\u5f15\u548c\u6545\u969c\u6062\u590d\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3002","title":"\u6570\u636e\u5e93\u7cfb\u7edf"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_40","text":"\u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u7f16\u8bd1\u5668\u66f4\u80fd\u52a0\u6df1\u5bf9\u7f16\u8bd1\u5668\u7684\u7406\u89e3\u4e86\u3002 Stanford CS143: Compilers \u5e26\u4f60\u624b\u5199\u7f16\u8bd1\u5668\u3002","title":"\u7f16\u8bd1\u539f\u7406"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#web","text":"\u524d\u540e\u7aef\u5f00\u53d1\u5f88\u5c11\u5728\u8ba1\u7b97\u673a\u7684\u57f9\u517b\u65b9\u6848\u91cc\u88ab\u91cd\u89c6\uff0c\u4f46\u5176\u5b9e\u638c\u63e1\u8fd9\u9879\u6280\u80fd\u8fd8\u662f\u597d\u5904\u591a\u591a\u7684\uff0c\u4f8b\u5982\u642d\u5efa\u81ea\u5df1\u7684\u4e2a\u4eba\u4e3b\u9875\uff0c\u6291\u6216\u662f\u7ed9\u81ea\u5df1\u7684\u8bfe\u7a0b\u9879\u76ee\u505a\u4e00\u4e2a\u7cbe\u5f69\u7684\u5c55\u793a\u7f51\u9875\u3002","title":"Web\u5f00\u53d1"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_41","text":"MIT web development course","title":"\u4e24\u5468\u901f\u6210\u7248"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_42","text":"Stanford CS142: Web Applications","title":"\u7cfb\u7edf\u5b66\u4e60\u7248"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_43","text":"Stanford CS148 Games101 Games103 Games202","title":"\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_44","text":"\u5176\u5b9e\u6570\u636e\u79d1\u5b66\u548c\u673a\u5668\u5b66\u4e60\u4e0e\u6df1\u5ea6\u5b66\u4e60\u6709\u7740\u5f88\u7d27\u5bc6\u7684\u8054\u7cfb\uff0c\u4f46\u53ef\u80fd\u66f4\u4fa7\u91cd\u4e8e\u5b9e\u8df5\u3002Berkeley \u7684 UCB Data100: Principles and Techniques of Data Science \u901a\u8fc7\u4e30\u5bcc\u7684\u7f16\u7a0b\u7ec3\u4e60\u8ba9\u4f60\u5728\u5b9e\u8df5\u4e2d\u638c\u63e1\u5404\u7c7b\u6570\u636e\u5206\u6790\u5de5\u5177\u548c\u7b97\u6cd5\uff0c\u5e76\u5e26\u9886\u4f60\u4f53\u9a8c\u4ece\u6d77\u91cf\u7684\u6570\u636e\u96c6\u4e2d\u63d0\u53d6\u51fa\u60f3\u8981\u7684\u7ed3\u679c\uff0c\u5e76\u5bf9\u672a\u6765\u7684\u6570\u636e\u6216\u7528\u6237\u7684\u884c\u4e3a\u505a\u51fa\u76f8\u5e94\u7684\u9884\u6d4b\u3002\u4f46\u8fd9\u53ea\u662f\u4e00\u95e8\u57fa\u7840\u8bfe\uff0c\u5982\u679c\u60f3\u5b66\u4e60\u5de5\u4e1a\u7ea7\u522b\u7684\u6570\u636e\u6316\u6398\u4e0e\u5206\u6790\u6280\u672f\uff0c\u53ef\u4ee5\u5c1d\u8bd5 Stanford \u7684\u5927\u6570\u636e\u6316\u6398\u8bfe\u7a0b CS246: Mining Massive Data Sets \u3002","title":"\u6570\u636e\u79d1\u5b66"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_45","text":"\u8fd1\u5341\u5e74\u4eba\u5de5\u667a\u80fd\u5e94\u8be5\u7b97\u662f\u8ba1\u7b97\u673a\u754c\u6700\u706b\u7206\u7684\u9886\u57df\u3002\u5982\u679c\u4f60\u4e0d\u6ee1\u8db3\u4e8e\u6574\u65e5\u542c\u5404\u8def\u5a92\u4f53\u4e89\u76f8\u62a5\u9053\u4eba\u5de5\u667a\u80fd\u76f8\u5173\u7684\u8fdb\u5c55\uff0c\u800c\u60f3\u771f\u6b63\u4e00\u63a2\u7a76\u7adf\uff0c\u90a3\u4e48\u975e\u5e38\u63a8\u8350\u5b66\u4e60 Harvard \u795e\u8bfe CS50 \u7cfb\u5217\u7684\u4eba\u5de5\u667a\u80fd\u8bfe\u7a0b Harvard CS50: Introduction to AI with Python \u3002\u8bfe\u7a0b\u77ed\u5c0f\u7cbe\u608d\uff0c\u8986\u76d6\u4e86\u4f20\u7edf\u4eba\u5de5\u667a\u80fd\u9886\u57df\u7684\u51e0\u5927\u5206\u652f\uff0c\u5e76\u914d\u6709\u4e30\u5bcc\u6709\u8da3\u7684 Python \u7f16\u7a0b\u7ec3\u4e60\u6765\u5de9\u56fa\u4f60\u5bf9\u4eba\u5de5\u667a\u80fd\u7b97\u6cd5\u7684\u7406\u89e3\u3002\u7f8e\u4e2d\u4e0d\u8db3\u7684\u662f\u8fd9\u95e8\u8bfe\u56e0\u4e3a\u9762\u5411\u5728\u7ebf\u81ea\u5b66\u8005\u7684\u7f18\u6545\u5185\u5bb9\u8f83\u4e3a\u7cbe\u7b80\uff0c\u5e76\u4e14\u4e0d\u4f1a\u6d89\u53ca\u7279\u522b\u6df1\u5165\u7684\u6570\u5b66\u7406\u8bba\uff0c\u5982\u679c\u60f3\u8981\u7cfb\u7edf\u6df1\u5165\u5730\u5b66\u4e60\u8fd8\u9700\u8981\u4e00\u95e8\u672c\u79d1\u751f\u96be\u5ea6\u7684\u8bfe\u7a0b\uff0c\u4f8b\u5982 Berkeley \u7684 UCB CS188: Introduction to Artificial Intelligence \u3002\u8fd9\u95e8\u8bfe\u7684 Project \u590d\u523b\u4e86\u7ecf\u5178\u6e38\u620f\u7cd6\u8c46\u4eba\uff0c\u8ba9\u4f60\u8fd0\u7528\u4eba\u5de5\u667a\u80fd\u7b97\u6cd5\u73a9\u6e38\u620f\uff0c\u975e\u5e38\u6709\u8da3\u3002","title":"\u4eba\u5de5\u667a\u80fd"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_46","text":"\u673a\u5668\u5b66\u4e60\u9886\u57df\u8fd1\u4e9b\u5e74\u6700\u91cd\u8981\u7684\u8fdb\u5c55\u5c31\u662f\u53d1\u5c55\u51fa\u4e86\u57fa\u4e8e\u795e\u7ecf\u7f51\u7edc\u7684\u6df1\u5ea6\u5b66\u4e60\u5206\u652f\uff0c\u4f46\u5176\u5b9e\u5f88\u591a\u57fa\u4e8e\u7edf\u8ba1\u5b66\u4e60\u7684\u7b97\u6cd5\u4f9d\u7136\u5728\u6570\u636e\u5206\u6790\u9886\u57df\u6709\u7740\u5e7f\u6cdb\u7684\u5e94\u7528\u3002\u5982\u679c\u4f60\u4e4b\u524d\u4ece\u672a\u63a5\u89e6\u8fc7\u673a\u5668\u5b66\u4e60\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u800c\u4e14\u4e0d\u60f3\u4e00\u5f00\u59cb\u5c31\u9677\u5165\u8270\u6df1\u6666\u6da9\u7684\u6570\u5b66\u8bc1\u660e\uff0c\u90a3\u4e48\u4e0d\u59a8\u5148\u4ece Andrew Ng \uff08\u5434\u6069\u8fbe\uff09\u7684 Coursera: Machine Learning \u5b66\u8d77\u3002\u8fd9\u95e8\u8bfe\u5728\u673a\u5668\u5b66\u4e60\u9886\u57df\u57fa\u672c\u65e0\u4eba\u4e0d\u6653\uff0c\u5434\u6069\u8fbe\u4ee5\u5176\u6df1\u539a\u7684\u7406\u8bba\u529f\u5e95\u548c\u51fa\u8272\u7684\u8868\u8fbe\u80fd\u529b\u628a\u5f88\u591a\u8270\u6df1\u7684\u7b97\u6cd5\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\uff0c\u5e76\u4e14\u975e\u5e38\u5b9e\u7528\u3002\u5176\u914d\u5957\u7684\u4f5c\u4e1a\u4e5f\u662f\u8d28\u91cf\u76f8\u5f53\u4e0a\u4e58\uff0c\u53ef\u4ee5\u5e2e\u52a9\u4f60\u5feb\u901f\u5165\u95e8\u3002 \u4f46\u4e0a\u8fc7\u8fd9\u95e8\u8bfe\u53ea\u80fd\u8ba9\u4f60\u4ece\u5b8f\u89c2\u4e0a\u5bf9\u673a\u5668\u5b66\u4e60\u8fd9\u4e00\u9886\u57df\u6709\u4e00\u5b9a\u4e86\u89e3\uff0c\u5982\u679c\u60f3\u771f\u6b63\u7406\u89e3\u90a3\u4e9b\u201c\u795e\u5947\u201d\u7b97\u6cd5\u80cc\u540e\u7684\u6570\u5b66\u539f\u7406\u751a\u81f3\u4ece\u4e8b\u76f8\u5173\u9886\u57df\u7684\u79d1\u7814\u5de5\u4f5c\uff0c\u90a3\u4e48\u8fd8\u9700\u8981\u4e00\u95e8\u66f4\u201c\u6570\u5b66\u201d\u7684\u8bfe\u7a0b\uff0c\u4f8b\u5982 Stanford CS229: Machine Learning \u6216\u8005 UCB CS189: Introduction to Machine Learning \u3002","title":"\u673a\u5668\u5b66\u4e60"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_47","text":"\u524d\u51e0\u5e74 AlphaGo \u7684\u5927\u70ed\u8ba9\u6df1\u5ea6\u5b66\u4e60\u8fdb\u5165\u4e86\u5927\u4f17\u7684\u89c6\u91ce\uff0c\u4e0d\u5c11\u5927\u5b66\u751a\u81f3\u4e13\u95e8\u6210\u7acb\u4e86\u76f8\u5173\u4e13\u4e1a\u3002\u5f88\u591a\u8ba1\u7b97\u673a\u7684\u5176\u4ed6\u9886\u57df\u4e5f\u4f1a\u501f\u52a9\u6df1\u5ea6\u5b66\u4e60\u7684\u6280\u672f\u6765\u505a\u7814\u7a76\uff0c\u56e0\u6b64\u57fa\u672c\u4e0d\u7ba1\u4f60\u5e72\u5565\u591a\u5c11\u90fd\u4f1a\u63a5\u89e6\u5230\u4e00\u4e9b\u795e\u7ecf\u7f51\u7edc\u3001\u6df1\u5ea6\u5b66\u4e60\u76f8\u5173\u7684\u6280\u672f\u9700\u6c42\u3002\u5982\u679c\u60f3\u5feb\u901f\u5165\u95e8\uff0c\u540c\u6837\u63a8\u8350 Andrew Ng \uff08\u5434\u6069\u8fbe\uff09\u7684 Coursera: Deep Learning \uff0c\u8d28\u91cf\u65e0\u9700\u591a\u8a00\uff0cCoursera \u4e0a\u7f55\u89c1\u7684\u6ee1\u5206\u8bfe\u7a0b\u3002\u6b64\u5916\u5982\u679c\u4f60\u89c9\u5f97\u82f1\u6587\u8bfe\u7a0b\u5b66\u4e60\u8d77\u6765\u6709\u96be\u5ea6\uff0c\u63a8\u8350\u674e\u5b8f\u6bc5\u8001\u5e08\u7684 \u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\uff1a\u673a\u5668\u5b66\u4e60 \u8bfe\u7a0b\u3002\u8fd9\u95e8\u8bfe\u6253\u7740\u673a\u5668\u5b66\u4e60\u7684\u540d\u53f7\uff0c\u5374\u56ca\u62ec\u4e86\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u7684\u51e0\u4e4e\u6240\u6709\u65b9\u5411\uff0c\u975e\u5e38\u5168\u9762\uff0c\u5f88\u9002\u5408\u4f60\u4ece\u5b8f\u89c2\u4e0a\u5bf9\u8fd9\u4e2a\u9886\u57df\u6709\u4e00\u4e2a\u5927\u81f4\u7684\u4e86\u89e3\u3002\u800c\u4e14\u8001\u5e08\u672c\u4eba\u4e5f\u975e\u5e38\u5e7d\u9ed8\uff0c\u8bfe\u5802\u91d1\u53e5\u9891\u51fa\u3002 \u5f53\u7136\u56e0\u4e3a\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u53d1\u5c55\u975e\u5e38\u8fc5\u901f\uff0c\u5df2\u7ecf\u62e5\u6709\u4e86\u4f17\u591a\u7814\u7a76\u5206\u652f\uff0c\u5982\u679c\u60f3\u8981\u8fdb\u4e00\u6b65\u6df1\u5165\uff0c\u53ef\u4ee5\u6309\u9700\u5b66\u4e60\u4e0b\u9762\u7f57\u5217\u7684\u4ee3\u8868\u8bfe\u7a0b\uff0c","title":"\u6df1\u5ea6\u5b66\u4e60"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_48","text":"Stanford CS231n: CNN for Visual Recognition","title":"\u8ba1\u7b97\u673a\u89c6\u89c9"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_49","text":"Stanford CS224n: Natural Language Processing","title":"\u81ea\u7136\u8bed\u8a00\u5904\u7406"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_50","text":"Stanford CS224w: Machine Learning with Graphs","title":"\u56fe\u795e\u7ecf\u7f51\u7edc"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_51","text":"UCB CS285: Deep Reinforcement Learning","title":"\u5f3a\u5316\u5b66\u4e60"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_52","text":"\u6388\u4eba\u4ee5\u9c7c\u4e0d\u5982\u6388\u4eba\u4ee5\u6e14\u3002 \u4ee5\u4e0a\u7684\u8bfe\u7a0b\u89c4\u5212\u96be\u514d\u5e26\u6709\u5f3a\u70c8\u7684\u4e2a\u4eba\u504f\u597d\uff0c\u4e0d\u4e00\u5b9a\u9002\u5408\u6240\u6709\u4eba\uff0c\u66f4\u591a\u662f\u8d77\u5230\u629b\u7816\u5f15\u7389\u7684\u4f5c\u7528\u3002\u5982\u679c\u4f60\u60f3\u6311\u9009\u81ea\u5df1\u611f\u5174\u8da3\u7684\u65b9\u5411\u548c\u5185\u5bb9\u52a0\u4ee5\u5b66\u4e60\uff0c\u53ef\u4ee5\u53c2\u8003\u6211\u5728\u4e0b\u9762\u5217\u51fa\u6765\u7684\u8d44\u6e90\u3002 MIT OpenCourseWare : \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684\u8bfe\u7a0b\u8d44\u6e90\u5f00\u653e\u5171\u4eab\u9879\u76ee\uff0c\u6536\u5f55\u4e86\u6570\u4ee5\u5343\u8ba1\u7684\u5404\u79d1\u8bfe\u7a0b\u8d44\u6e90\uff0c\u5176\u4e2d\u8ba1\u7b97\u673a\u7c7b\u7684\u8bfe\u53f7\u662f 6.xxx\u3002 MIT CS Course List : \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002 UC Berkeley EECS Course Map : UC Berkeley \u7684 EECS \u57f9\u517b\u65b9\u6848\uff0c\u4ee5\u8bfe\u7a0b\u5730\u56fe\u7684\u65b9\u5f0f\u5c06\u5404\u95e8\u8bfe\u7a0b\u7684\u7c7b\u522b\u548c\u5148\u4fee\u5173\u7cfb\u4e00\u76ee\u4e86\u7136\u5730\u5448\u73b0\uff0c\u5176\u4e2d\u7edd\u5927\u591a\u6570\u8bfe\u7a0b\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 UC Berkeley CS Course List : UC Berkeley \u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002 Stanford CS Course List : \u65af\u5766\u798f\u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002","title":"\u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe"},{"location":"%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/","text":"\u5982\u4f55\u4f7f\u7528\u8fd9\u672c\u4e66 \u968f\u7740\u8d21\u732e\u8005\u7684\u4e0d\u65ad\u589e\u591a\uff0c\u672c\u4e66\u7684\u5185\u5bb9\u4e5f\u4e0d\u65ad\u6269\u5c55\uff0c\u60f3\u628a\u4e66\u4e2d\u6240\u6709\u7684\u8bfe\u7a0b\u5168\u90e8\u5b66\u5b8c\u662f\u4e0d\u5207\u5b9e\u9645\u4e5f\u6ca1\u6709\u5fc5\u8981\u7684\uff0c\u751a\u81f3\u4f1a\u8d77\u5230\u4e8b\u500d\u529f\u534a\u7684\u53cd\u6548\u679c\uff0c\u5403\u529b\u800c\u4e0d\u8ba8\u597d\u3002\u4e3a\u4e86\u66f4\u597d\u5730\u8d34\u5408\u8bfb\u8005\uff0c\u8ba9\u8fd9\u672c\u4e66\u771f\u6b63\u4e3a\u4f60\u6240\u7528\uff0c\u6211\u5c06\u8bfb\u8005\u6309\u7167\u9700\u6c42\u5927\u81f4\u5206\u4e3a\u4e86\u5982\u4e0b\u4e09\u7c7b\uff0c\u5927\u5bb6\u53ef\u4ee5\u7ed3\u5408\u5207\u8eab\u5b9e\u9645\uff0c\u7cbe\u51c6\u5730\u89c4\u5212\u5c5e\u4e8e\u81ea\u5df1\u7684\u81ea\u5b66\u65b9\u6848\u3002 \u521d\u5165\u6821\u56ed \u5982\u679c\u4f60\u521a\u521a\u8fdb\u5165\u5927\u5b66\u6821\u56ed\u6216\u8005\u8fd8\u5728\u4f4e\u5e74\u7ea7\uff0c\u5e76\u4e14\u5c31\u8bfb\u7684\u662f\u8ba1\u7b97\u673a\u65b9\u5411\u6216\u8005\u60f3\u8981\u8f6c\u5230\u8ba1\u7b97\u673a\u65b9\u5411\uff0c\u90a3\u4e48\u4f60\u5f88\u5e78\u8fd0\uff0c\u56e0\u4e3a\u5b66\u4e60\u662f\u4f60\u7684\u672c\u4e1a\uff0c\u4f60\u53ef\u4ee5\u6709\u5145\u8db3\u7684\u65f6\u95f4\u548c\u81ea\u7531\u6765\u5b66\u4e60\u81ea\u5df1\u611f\u5174\u8da3\u7684\u4e1c\u897f\uff0c\u4e0d\u4f1a\u6709\u5de5\u4f5c\u7684\u538b\u529b\u548c\u751f\u6d3b\u7684\u7410\u788e\uff0c\u4e0d\u5fc5\u8fc7\u4e8e\u7ea0\u7ed3\u201c\u5b66\u4e86\u6709\u6ca1\u6709\u7528\u201d\uff0c\u201c\u80fd\u4e0d\u80fd\u627e\u5230\u5de5\u4f5c\u201d\u8fd9\u7c7b\u529f\u5229\u7684\u60f3\u6cd5\u3002\u90a3\u4e48\u8be5\u5982\u4f55\u5b89\u6392\u81ea\u5df1\u7684\u5b66\u4e1a\u5462\uff1f\u6211\u89c9\u5f97\u9996\u8981\u7684\u4e00\u70b9\u5c31\u662f\u8981\u6253\u7834\u5728\u9ad8\u4e2d\u5f62\u6210\u7684\u201c\u6309\u90e8\u5c31\u73ed\u201d\u5f0f\u7684\u88ab\u52a8\u5b66\u4e60\u3002\u4f5c\u4e3a\u4e00\u4e2a\u5c0f\u9547\u505a\u9898\u5bb6\uff0c\u6211\u6df1\u77e5\u56fd\u5185\u5927\u90e8\u5206\u9ad8\u4e2d\u4f1a\u628a\u5927\u5bb6\u4e00\u5929\u5f53\u4e2d\u7684\u6bcf\u4e00\u5206\u949f\u90fd\u5b89\u6392\u5f97\u6ee1\u6ee1\u5f53\u5f53\uff0c\u4f60\u53ea\u9700\u8981\u88ab\u52a8\u5730\u8ddf\u7740\u8bfe\u8868\u6309\u90e8\u5c31\u73ed\u5730\u5b8c\u6210\u4e00\u4e2a\u4e2a\u65e2\u5b9a\u7684\u4efb\u52a1\u3002\u53ea\u8981\u8db3\u591f\u8ba4\u771f\uff0c\u7ed3\u679c\u90fd\u4e0d\u4f1a\u592a\u5dee\u3002\u4f46\u6b65\u5165\u5927\u5b66\u7684\u6821\u95e8\uff0c\u81ea\u7531\u5ea6\u4e00\u4e0b\u5b50\u53d8\u5927\u4e86\u8bb8\u591a\u3002\u9996\u5148\u6240\u6709\u7684\u8bfe\u5916\u65f6\u95f4\u57fa\u672c\u90fd\u7531\u4f60\u81ea\u7531\u652f\u914d\uff0c\u6ca1\u6709\u4eba\u4e3a\u4f60\u6574\u7406\u77e5\u8bc6\u70b9\uff0c\u603b\u7ed3\u63d0\u7eb2\uff0c\u8003\u8bd5\u4e5f\u4e0d\u50cf\u9ad8\u4e2d\u90a3\u822c\u6a21\u5f0f\u5316\u3002\u5982\u679c\u4f60\u8fd8\u62b1\u7740\u9ad8\u4e2d\u90a3\u79cd\u201c\u4e56\u5b66\u751f\u201d\u7684\u5fc3\u6001\uff0c\u8001\u8001\u5b9e\u5b9e\u6309\u90e8\u5c31\u73ed\uff0c\u7ed3\u679c\u672a\u5fc5\u5982\u4f60\u6240\u613f\u3002\u56e0\u4e3a\u4e13\u4e1a\u57f9\u517b\u65b9\u6848\u672a\u5fc5\u5c31\u662f\u5408\u7406\uff0c\u8001\u5e08\u7684\u6559\u5b66\u672a\u5fc5\u5c31\u4f1a\u8d1f\u8d23\uff0c\u8ba4\u771f\u51fa\u5e2d\u8bfe\u5802\u672a\u5fc5\u5c31\u80fd\u542c\u61c2\uff0c\u751a\u81f3\u8003\u8bd5\u5185\u5bb9\u672a\u5fc5\u5c31\u548c\u8bb2\u7684\u6709\u5173\u7cfb\u3002\u8bf4\u53e5\u73a9\u7b11\u8bdd\uff0c\u4f60\u6216\u8bb8\u4f1a\u89c9\u5f97\u5168\u4e16\u754c\u90fd\u4e0e\u4f60\u4e3a\u654c\uff0c\u800c\u4f60\u53ea\u80fd\u6307\u671b\u81ea\u5df1\u3002 \u90a3\u4e48\u73b0\u72b6\u5c31\u662f\u8fd9\u4e48\u4e2a\u73b0\u72b6\uff0c\u4f60\u60f3\u6539\u53d8\uff0c\u4e5f\u5f97\u5148\u6d3b\u8fc7\u53bb\uff0c\u5e76\u4e14\u62e5\u6709\u8db3\u591f\u7684\u80fd\u529b\u53bb\u8d28\u7591\u5b83\u3002\u800c\u5728\u4f4e\u5e74\u7ea7\uff0c\u6253\u597d\u57fa\u7840\u5f88\u91cd\u8981\u3002\u8fd9\u91cc\u7684\u57fa\u7840\u662f\u5168\u65b9\u9762\u7684\uff0c\u8bfe\u5185\u7684\u77e5\u8bc6\u56fa\u7136\u91cd\u8981\uff0c\u4f46\u8ba1\u7b97\u673a\u5f88\u5927\u7a0b\u5ea6\u4e0a\u8fd8\u662f\u5f3a\u8c03\u5b9e\u8df5\uff0c\u56e0\u6b64\u6709\u5f88\u591a\u8bfe\u672c\u5916\u7684\u80fd\u529b\u9700\u8981\u57f9\u517b\uff0c\u800c\u8fd9\u6070\u6070\u662f\u56fd\u5185\u7684\u8ba1\u7b97\u673a\u672c\u79d1\u6559\u80b2\u5f88\u6b20\u7f3a\u7684\u4e00\u70b9\u3002\u6211\u6839\u636e\u4e2a\u4eba\u7684\u4f53\u9a8c\u603b\u7ed3\u51fa\u4e86\u4e0b\u9762\u51e0\u70b9\u5efa\u8bae\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u5176\u4e00\u5c31\u662f\u4e86\u89e3\u5982\u4f55\u5199\u201c\u4f18\u96c5\u201d\u7684\u4ee3\u7801\u3002\u56fd\u5185\u7684\u5f88\u591a\u5927\u4e00\u7f16\u7a0b\u5165\u95e8\u8bfe\u90fd\u4f1a\u8bb2\u6210\u6781\u5176\u65e0\u804a\u7684\u8bed\u6cd5\u8bfe\uff0c\u5176\u6548\u679c\u8fd8\u4e0d\u5982\u76f4\u63a5\u8ba9\u5b66\u751f\u770b\u5b98\u65b9\u6587\u6863\u3002\u4e8b\u5b9e\u4e0a\uff0c\u5728\u521a\u5f00\u59cb\u63a5\u89e6\u7f16\u7a0b\u7684\u65f6\u5019\uff0c\u8ba9\u5b66\u751f\u8bd5\u7740\u53bb\u4e86\u89e3\u4ec0\u4e48\u6837\u7684\u4ee3\u7801\u662f\u4f18\u96c5\u7684\uff0c\u4ec0\u4e48\u6837\u7684\u4ee3\u7801 \"have bad taste\" \u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u4e00\u822c\u6765\u8bf4\uff0c\u7f16\u7a0b\u5165\u95e8\u8bfe\u4f1a\u5148\u4ecb\u7ecd\u8fc7\u7a0b\u5f0f\u7f16\u7a0b\uff08\u4f8b\u5982 C \u8bed\u8a00\uff09\u3002\u4f46\u5373\u4fbf\u662f\u9762\u5411\u8fc7\u7a0b\u7f16\u7a0b\uff0c \u6a21\u5757\u5316 \u548c \u5c01\u88c5 \u7684\u601d\u60f3\u4e5f\u6781\u5176\u91cd\u8981\u3002\u5982\u679c\u4f60\u53ea\u60f3\u7740\u4ee3\u7801\u80fd\u5728 OpenJudge \u4e0a\u901a\u8fc7\uff0c\u5199\u7684\u65f6\u5019\u56fe\u7701\u4e8b\uff0c\u7528\u5927\u6bb5\u7684\u590d\u5236\u7c98\u8d34\u548c\u81c3\u80bf\u7684 main \u51fd\u6570\uff0c\u957f\u6b64\u4ee5\u5f80\uff0c\u4f60\u7684\u4ee3\u7801\u8d28\u91cf\u5c06\u4e00\u76f4\u5982\u6b64\u3002\u4e00\u65e6\u63a5\u89e6\u7a0d\u5fae\u5927\u4e00\u70b9\u7684\u9879\u76ee\uff0c\u65e0\u5c3d\u7684 debug \u548c\u6c9f\u901a\u7ef4\u62a4\u6210\u672c\u5c06\u628a\u4f60\u541e\u6ca1\u3002\u56e0\u6b64\uff0c\u5199\u4ee3\u7801\u65f6\u4e0d\u65ad\u95ee\u81ea\u5df1\uff0c\u662f\u5426\u6709\u5927\u91cf\u91cd\u590d\u7684\u4ee3\u7801\uff1f\u5f53\u524d\u51fd\u6570\u662f\u5426\u8fc7\u4e8e\u590d\u6742\uff08Linux \u63d0\u5021\u6bcf\u4e2a\u51fd\u6570\u53ea\u9700\u8981\u505a\u597d\u4e00\u4ef6\u4e8b\uff09\uff1f\u8fd9\u6bb5\u4ee3\u7801\u80fd\u62bd\u8c61\u6210\u4e00\u4e2a\u51fd\u6570\u5417\uff1f\u4e00\u5f00\u59cb\u4f60\u53ef\u80fd\u89c9\u5f97\u5f88\u4e0d\u4e60\u60ef\uff0c\u751a\u81f3\u89c9\u5f97\u8fd9\u4e48\u7b80\u5355\u7684\u9898\u9700\u8981\u5982\u6b64\u5927\u8d39\u5468\u7ae0\u5417\uff1f\u4f46\u8bb0\u4f4f\u597d\u7684\u4e60\u60ef\u662f\u65e0\u4ef7\u7684\uff0cC \u8bed\u8a00\u521d\u4e2d\u751f\u90fd\u80fd\u5b66\u4f1a\uff0c\u51ed\u4ec0\u4e48\u516c\u53f8\u8981\u62db\u4f60\u53bb\u5f53\u7a0b\u5e8f\u5458\u5462\uff1f \u5b66\u8fc7\u9762\u5411\u8fc7\u7a0b\u7f16\u7a0b\u540e\uff0c\u5927\u4e00\u4e0b\u5b66\u671f\u4e00\u822c\u4f1a\u8bb2\u9762\u5411\u5bf9\u8c61\u7f16\u7a0b\uff08\u4f8b\u5982 C++ \u6216 Java\uff09\u3002\u8fd9\u91cc\u975e\u5e38\u63a8\u8350\u5927\u5bb6\u770b MIT 6.031: Software Construction \u8fd9\u95e8\u8bfe\u7684 Notes\uff0c\u4f1a\u4ee5 Java \u8bed\u8a00\u4e3a\u4f8b\u975e\u5e38\u8be6\u7ec6\u5730\u8bb2\u89e3\u5982\u4f55\u5199\u51fa\u201c\u4f18\u96c5\u201d\u7684\u4ee3\u7801\u3002\u4f8b\u5982 Test-Driven \u7684\u5f00\u53d1\u3001\u51fd\u6570 Specification \u7684\u8bbe\u8ba1\u3001\u5f02\u5e38\u7684\u5904\u7406\u7b49\u7b49\u7b49\u7b49\u3002\u9664\u6b64\u4e4b\u5916\uff0c\u65e2\u7136\u63a5\u89e6\u4e86\u9762\u5411\u5bf9\u8c61\uff0c\u90a3\u4e48\u4e86\u89e3\u4e00\u4e9b\u5e38\u89c1\u7684\u8bbe\u8ba1\u6a21\u5f0f\u4e5f\u662f\u5f88\u6709\u5fc5\u8981\u7684\u3002\u56e0\u4e3a\u56fd\u5185\u7684\u9762\u5411\u5bf9\u8c61\u8bfe\u7a0b\u540c\u6837\u5f88\u5bb9\u6613\u53d8\u6210\u6781\u5176\u65e0\u804a\u7684\u8bed\u6cd5\u8bfe\uff0c\u8ba9\u5b66\u751f\u7ea0\u7ed3\u4e8e\u5404\u79cd\u7ee7\u627f\u7684\u8bed\u6cd5\uff0c\u751a\u81f3\u51fa\u4e00\u4e9b\u65e0\u804a\u7684\u8111\u7b4b\u6025\u8f6c\u5f2f\u4e00\u6837\u7684\u9898\u76ee\uff0c\u6b8a\u4e0d\u77e5\u8fd9\u4e9b\u4e1c\u897f\u5728\u5730\u7403\u4eba\u7684\u5f00\u53d1\u4e2d\u57fa\u672c\u4e0d\u4f1a\u7528\u5230\u3002\u9762\u5411\u5bf9\u8c61\u7684\u7cbe\u9ad3\u662f\u8ba9\u5b66\u751f\u5b66\u4f1a\u81ea\u5df1\u5c06\u5b9e\u9645\u7684\u95ee\u9898\u62bd\u8c61\u6210\u82e5\u5e72\u7c7b\u548c\u5b83\u4eec\u4e4b\u95f4\u7684\u5173\u7cfb\uff0c\u800c\u8bbe\u8ba1\u6a21\u5f0f\u5219\u662f\u524d\u4eba\u603b\u7ed3\u51fa\u6765\u7684\u4e00\u4e9b\u7cbe\u9ad3\u7684\u62bd\u8c61\u65b9\u6cd5\u3002\u8fd9\u91cc\u63a8\u8350 \u5927\u8bdd\u8bbe\u8ba1\u6a21\u5f0f \u8fd9\u672c\u4e66\uff0c\u5199\u5f97\u975e\u5e38\u6d45\u663e\u6613\u61c2\u3002 \u5176\u4e8c\u5c31\u662f\u5c1d\u8bd5\u5b66\u4e60\u4e00\u4e9b\u80fd\u63d0\u9ad8\u751f\u4ea7\u529b\u7684\u5de5\u5177\u548c\u6280\u80fd\uff0c\u4f8b\u5982 Git\u3001Shell\u3001Vim\u3002\u8fd9\u91cc\u5f3a\u70c8\u63a8\u8350\u5b66\u4e60 MIT missing semester \u8fd9\u95e8\u8bfe\uff0c\u4e5f\u8bb8\u4e00\u5f00\u59cb\u63a5\u89e6\u8fd9\u4e9b\u5de5\u5177\u7528\u8d77\u6765\u4f1a\u5f88\u4e0d\u4e60\u60ef\uff0c\u4f46\u5f3a\u8feb\u81ea\u5df1\u7528\uff0c\u719f\u7ec3\u4e4b\u540e\u5f00\u53d1\u6548\u7387\u4f1a\u76f4\u7ebf\u63d0\u9ad8\u3002\u6b64\u5916\uff0c\u8fd8\u6709\u5f88\u591a\u5e94\u7528\u4e5f\u80fd\u6781\u5927\u63d0\u9ad8\u7684\u4f60\u751f\u4ea7\u529b\u3002\u4e00\u6761\u5b9a\u5f8b\u662f\uff1a\u4e00\u5207\u9700\u8981\u8ba9\u624b\u79bb\u5f00\u952e\u76d8\u7684\u64cd\u4f5c\uff0c\u90fd\u5e94\u8be5\u60f3\u529e\u6cd5\u53bb\u9664\u3002\u4f8b\u5982\u5207\u6362\u5e94\u7528\u3001\u6253\u5f00\u6587\u4ef6\u3001\u6d4f\u89c8\u7f51\u9875\u8fd9\u4e9b\u90fd\u6709\u76f8\u5173\u63d2\u4ef6\u53ef\u4ee5\u5b9e\u73b0\u5feb\u6377\u64cd\u4f5c\uff08\u4f8b\u5982 Mac \u4e0a\u7684 Alfred \uff09\u3002\u5982\u679c\u4f60\u53d1\u73b0\u67d0\u4e2a\u64cd\u4f5c\u6bcf\u5929\u90fd\u4f1a\u7528\u5230\uff0c\u5e76\u4e14\u7528\u65f6\u8d85\u8fc71\u79d2\uff0c\u90a3\u5c31\u5e94\u8be5\u60f3\u529e\u6cd5\u628a\u5b83\u7f29\u51cf\u52300.1\u79d2\u3002\u6bd5\u7adf\u4ee5\u540e\u6570\u5341\u5e74\u4f60\u90fd\u8981\u548c\u7535\u8111\u6253\u4ea4\u9053\uff0c\u5f62\u6210\u4e00\u5957\u987a\u6ed1\u7684\u5de5\u4f5c\u6d41\u662f\u4e8b\u534a\u529f\u500d\u7684\u3002\u6700\u540e\uff0c\u5b66\u4f1a\u76f2\u6253\uff01\u5982\u679c\u4f60\u8fd8\u9700\u8981\u770b\u7740\u952e\u76d8\u6253\u5b57\uff0c\u90a3\u4e48\u8d76\u7d27\u4e0a\u7f51\u627e\u4e2a\u6559\u7a0b\u5b66\u4f1a\u76f2\u6253\uff0c\u8fd9\u5c06\u6781\u5927\u63d0\u9ad8\u4f60\u7684\u5f00\u53d1\u6548\u7387\u3002 \u5176\u4e09\u5c31\u662f\u5e73\u8861\u597d\u8bfe\u5185\u548c\u81ea\u5b66\u3002\u6211\u4eec\u8d28\u7591\u73b0\u72b6\uff0c\u4f46\u4e5f\u5f97\u9075\u5b88\u89c4\u5219\uff0c\u6bd5\u7adf\u7ee9\u70b9\u5728\u4fdd\u7814\u4e2d\u8fd8\u662f\u76f8\u5f53\u91cd\u8981\u7684\u3002\u56e0\u6b64\u5728\u5927\u4e00\uff0c\u6211\u8fd8\u662f\u5efa\u8bae\u5927\u5bb6\u5c3d\u91cf\u6309\u7167\u81ea\u5df1\u7684\u8bfe\u8868\u5b66\u4e60\uff0c\u4f46\u8f85\u4ee5\u4e00\u4e9b\u4f18\u8d28\u7684\u8bfe\u5916\u8d44\u6e90\u3002\u4f8b\u5982\u5fae\u79ef\u5206\u7ebf\u4ee3\u53ef\u4ee5\u53c2\u8003 MIT 18.01/18.02 \u548c MIT 18.06 \u7684\u8bfe\u7a0b Notes\u3002\u5047\u671f\u53ef\u4ee5\u901a\u8fc7 UCB CS61A \u6765\u5b66\u4e60 Python\u3002\u540c\u65f6\u505a\u5230\u4e0a\u9762\u7b2c\u4e00\u3001\u7b2c\u4e8c\u70b9\u8bf4\u7684\uff0c\u6ce8\u91cd\u597d\u7684\u7f16\u7a0b\u4e60\u60ef\u548c\u5b9e\u8df5\u80fd\u529b\u7684\u57f9\u517b\u3002\u5c31\u4e2a\u4eba\u7ecf\u9a8c\uff0c\u5927\u4e00\u7684\u6570\u5b66\u8bfe\u5b66\u5206\u5360\u6bd4\u76f8\u5f53\u5927\uff0c\u800c\u4e14\u6570\u5b66\u8003\u8bd5\u7684\u5185\u5bb9\u65b9\u5dee\u662f\u5f88\u5927\u7684\uff0c\u4e0d\u540c\u5b66\u6821\u4e0d\u540c\u8001\u5e08\u98ce\u683c\u8fe5\u5f02\uff0c\u81ea\u5b66\u4e5f\u8bb8\u80fd\u8ba9\u4f60\u9886\u609f\u6570\u5b66\u7684\u672c\u8d28\uff0c\u4f46\u672a\u5fc5\u80fd\u7ed9\u4f60\u4e00\u4e2a\u597d\u6210\u7ee9\u3002\u56e0\u6b64\u8003\u524d\u6700\u597d\u6709\u9488\u5bf9\u6027\u5730\u5237\u5f80\u5e74\u9898\uff0c\u5145\u5206\u5e94\u8bd5\u3002 \u5728\u5347\u5165\u5927\u4e8c\u4e4b\u540e\uff0c\u8ba1\u7b97\u673a\u65b9\u5411\u7684\u4e13\u4e1a\u8bfe\u5c06\u5c45\u591a\uff0c\u6b64\u65f6\u5927\u5bb6\u53ef\u4ee5\u5f7b\u5e95\u653e\u98de\u81ea\u6211\uff0c\u8fdb\u5165\u81ea\u5b66\u7684\u6bbf\u5802\u4e86\u3002\u5177\u4f53\u53ef\u4ee5\u53c2\u8003 \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \uff0c\u8fd9\u662f\u6211\u6839\u636e\u81ea\u5df1\u4e09\u5e74\u81ea\u5b66\u7ecf\u5386\u603b\u7ed3\u63d0\u70bc\u51fa\u6765\u7684\u5168\u5957\u6307\u5357\uff0c\u6bcf\u95e8\u8bfe\u7684\u7279\u70b9\u4ee5\u53ca\u4e3a\u4ec0\u4e48\u8981\u4e0a\u8fd9\u95e8\u8bfe\u6211\u90fd\u505a\u4e86\u7b80\u5355\u7684\u4ecb\u7ecd\u3002\u5bf9\u4e8e\u4f60\u8bfe\u8868\u4e0a\u7684\u6bcf\u4e2a\u8bfe\u7a0b\uff0c\u8fd9\u4efd\u89c4\u5212\u91cc\u5e94\u8be5\u90fd\u4f1a\u6709\u76f8\u5e94\u7684\u56fd\u5916\u8bfe\u7a0b\uff0c\u800c\u4e14\u5728\u8d28\u91cf\u4e0a\u6211\u76f8\u4fe1\u57fa\u672c\u662f\u5168\u65b9\u4f4d\u7684\u78be\u538b\u3002\u7531\u4e8e\u8ba1\u7b97\u673a\u65b9\u5411\u7684\u4e13\u4e1a\u77e5\u8bc6\u57fa\u672c\u662f\u4e00\u6837\u7684\uff0c\u800c\u4e14\u9ad8\u8d28\u91cf\u7684\u8bfe\u7a0b\u4f1a\u8ba9\u4f60\u4ece\u539f\u7406\u4e0a\u7406\u89e3\u77e5\u8bc6\u70b9\uff0c\u5bf9\u4e8e\u56fd\u5185\u5927\u591a\u7167\u672c\u5ba3\u79d1\u5f0f\u7684\u6559\u5b66\u6765\u8bf4\u57fa\u672c\u662f\u964d\u7ef4\u6253\u51fb\u3002\u4e00\u822c\u6765\u8bf4\u53ea\u8981\u8003\u524d\u5c06\u8001\u5e08\u201c\u8f9b\u82e6\u201d\u5ff5\u4e86\u4e00\u5b66\u671f\u7684 PPT \u62ff\u6765\u7a81\u51fb\u590d\u4e60\u4e24\u5929\uff0c\u53d6\u5f97\u4e00\u4e2a\u4e0d\u9519\u7684\u5377\u9762\u5206\u6570\u5e76\u4e0d\u56f0\u96be\u3002\u5982\u679c\u6709\u8bfe\u7a0b\u5927\u4f5c\u4e1a\uff0c\u5219\u53ef\u4ee5\u5c3d\u91cf\u5c06\u56fd\u5916\u8bfe\u7a0b\u7684 Lab \u6216\u8005 Project \u4fee\u6539\u4e00\u756a\u4ee5\u5e94\u4ed8\u8bfe\u5185\u7684\u9700\u8981\u3002\u6211\u5f53\u65f6\u4e0a\u64cd\u4f5c\u7cfb\u7edf\u8bfe\uff0c\u53d1\u73b0\u8001\u5e08\u8fd8\u7528\u7740\u65e9\u5df2\u88ab\u56fd\u5916\u5b66\u6821\u6dd8\u6c70\u7684\u8bfe\u7a0b\u5b9e\u9a8c\uff0c\u4fbf\u90ae\u4ef6\u8001\u5e08\u6362\u6210\u4e86\u81ea\u5df1\u6b63\u5728\u5b66\u4e60\u7684 MIT 6.S081 \u7684 xv6 Project\uff0c\u65b9\u4fbf\u81ea\u5b66\u7684\u540c\u65f6\u8fd8\u65e0\u610f\u95f4\u63a8\u52a8\u4e86\u8bfe\u7a0b\u6539\u9769\u3002\u603b\u4e4b\uff0c\u7075\u6d3b\u53d8\u901a\u662f\u7b2c\u4e00\u8981\u4e49\uff0c\u4f60\u7684\u76ee\u6807\u662f\u7528\u6700\u65b9\u4fbf\u3001\u6548\u7387\u6700\u9ad8\u7684\u65b9\u5f0f\u638c\u63e1\u77e5\u8bc6\uff0c\u6240\u6709\u4e0e\u4f60\u8fd9\u4e00\u76ee\u6807\u8fdd\u80cc\u7684\u6240\u8c13\u89c4\u5b9a\u90fd\u53ef\u4ee5\u60f3\u65b9\u8bbe\u6cd5\u5730\u53bb\u201c\u7cca\u5f04\u201d\u3002\u51ed\u7740\u8fd9\u4efd\u7cca\u5f04\u52b2\u513f\uff0c\u6211\u5927\u4e09\u4e4b\u540e\u57fa\u672c\u6ca1\u6709\u53bb\u8fc7\u7ebf\u4e0b\u8bfe\u5802\uff08\u5927\u4e8c\u75ab\u60c5\u5728\u5bb6\u5446\u4e86\u5927\u534a\u5e74\uff09\uff0c\u5bf9\u7ee9\u70b9\u4e5f\u5b8c\u5168\u6ca1\u6709\u5f71\u54cd\u3002 \u6700\u540e\uff0c\u5e0c\u671b\u5927\u5bb6\u5c11\u70b9\u6d6e\u8e81\u548c\u529f\u5229\uff0c\u591a\u4e00\u4e9b\u8010\u5fc3\u548c\u8ffd\u6c42\u3002\u5f88\u591a\u4eba\u53d1\u90ae\u4ef6\u95ee\u6211\u81ea\u5b66\u9700\u4e0d\u9700\u8981\u5f88\u5f3a\u7684\u81ea\u5236\u529b\uff0c\u6211\u89c9\u5f97\u5f97\u5173\u952e\u5f97\u770b\u4f60\u81ea\u5df1\u60f3\u8981\u4ec0\u4e48\u3002\u5982\u679c\u4f60\u4f9d\u7136\u62b1\u7740\u4f1a\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\u4fbf\u80fd\u6708\u85aa\u8fc7\u4e07\u7684\u5e7b\u60f3\uff0c\u60f3\u5206\u4e00\u676f\u4e92\u8054\u7f51\u7684\u7ea2\u5229\uff0c\u90a3\u4e48\u6211\u8bf4\u518d\u591a\u4e5f\u662f\u5e9f\u8bdd\u3002\u5176\u5b9e\u6211\u6700\u521d\u7684\u81ea\u5b66\u5e76\u6ca1\u6709\u592a\u591a\u529f\u5229\u7684\u60f3\u6cd5\uff0c\u53ea\u662f\u5355\u7eaf\u7684\u597d\u5947\u548c\u672c\u80fd\u7684\u6c42\u77e5\u6b32\u3002\u81ea\u5b66\u7684\u8fc7\u7a0b\u4e5f\u6ca1\u6709\u6240\u8c13\u7684\u201c\u5934\u60ac\u6881\uff0c\u9525\u523a\u80a1\u201d\uff0c\u8be5\u5403\u5403\uff0c\u8be5\u73a9\u73a9\uff0c\u4e0d\u77e5\u4e0d\u89c9\u624d\u53d1\u73b0\u7adf\u7136\u6512\u4e0b\u4e86\u8fd9\u4e48\u591a\u8d44\u6599\u3002\u73b0\u5982\u4eca\u4e2d\u7f8e\u7684\u5bf9\u6297\u5df2\u7136\u6210\u4e3a\u8d8b\u52bf\uff0c\u800c\u6211\u4eec\u8fd8\u5728\u201c\u5351\u5fae\u201d\u5730\u201c\u5e08\u5937\u957f\u6280\u201d\uff0c\u611f\u53f9\u56fd\u5916\u9ad8\u8d28\u91cf\u8bfe\u7a0b\u7684\u540c\u65f6\u4e5f\u65f6\u5e38\u4f1a\u6709\u4e00\u79cd\u5371\u673a\u611f\u3002\u8fd9\u4e00\u5207\u9760\u8c01\u6765\u6539\u53d8\u5462\uff1f\u9760\u7684\u662f\u521a\u521a\u5165\u884c\u7684\u4f60\u4eec\u3002\u6240\u4ee5\uff0c\u52a0\u6cb9\u5427\uff0c\u5c11\u5e74\uff01 \u5220\u7e41\u5c31\u7b80 \u5982\u679c\u4f60\u5df2\u7ecf\u672c\u79d1\u6bd5\u4e1a\u5f00\u59cb\u8bfb\u7814\u6216\u8005\u8d70\u4e0a\u4e86\u5de5\u4f5c\u5c97\u4f4d\uff0c\u4ea6\u6216\u662f\u4ece\u4e8b\u7740\u5176\u4ed6\u9886\u57df\u7684\u5de5\u4f5c\u60f3\u8981\u5229\u7528\u4e1a\u4f59\u65f6\u95f4\u8f6c\u7801\uff0c\u90a3\u4e48\u4f60\u4e5f\u8bb8\u5e76\u6ca1\u6709\u5145\u8db3\u7684\u4e1a\u4f59\u65f6\u95f4\u6765\u7cfb\u7edf\u5730\u5b66\u5b8c \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \u91cc\u7684\u5185\u5bb9\uff0c\u4f46\u53c8\u60f3\u5f25\u8865\u672c\u79d1\u65f6\u671f\u6b20\u4e0b\u7684\u57fa\u7840\u3002\u8003\u8651\u5230\u8fd9\u90e8\u5206\u8bfb\u8005\u901a\u5e38\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u7ecf\u9a8c\uff0c\u5165\u95e8\u8bfe\u7a0b\u6ca1\u6709\u5fc5\u8981\u518d\u91cd\u590d\u5b66\u4e60\u3002\u800c\u4e14\u4ece\u5b9e\u7528\u89d2\u5ea6\u6765\u8bf4\uff0c\u7531\u4e8e\u5de5\u4f5c\u7684\u5927\u4f53\u65b9\u5411\u5df2\u7ecf\u786e\u5b9a\uff0c\u786e\u5b9e\u6ca1\u6709\u592a\u5927\u5fc5\u8981\u5bf9\u4e8e\u6bcf\u4e2a\u8ba1\u7b97\u673a\u5206\u652f\u90fd\u6709\u7279\u522b\u6df1\u5165\u7684\u7814\u7a76\uff0c\u66f4\u5e94\u8be5\u4fa7\u91cd\u4e00\u4e9b\u901a\u7528\u6027\u7684\u539f\u5219\u548c\u6280\u80fd\u3002\u56e0\u6b64\u6211\u7ed3\u5408\u81ea\u8eab\u7ecf\u5386\uff0c\u9009\u53d6\u4e86\u4e2a\u4eba\u611f\u89c9\u6700\u91cd\u8981\u4e5f\u662f\u8d28\u91cf\u6700\u9ad8\u7684\u51e0\u95e8\u6838\u5fc3\u4e13\u4e1a\u8bfe\uff0c\u5e0c\u671b\u80fd\u66f4\u597d\u5730\u52a0\u6df1\u8bfb\u8005\u5bf9\u8ba1\u7b97\u673a\u7684\u7406\u89e3\u3002\u5b66\u5b8c\u8fd9\u4e9b\u8bfe\u7a0b\uff0c\u65e0\u8bba\u4f60\u5177\u4f53\u4ece\u4e8b\u7684\u662f\u4ec0\u4e48\u5de5\u4f5c\uff0c\u6211\u76f8\u4fe1\u4f60\u5c06\u4e0d\u53ef\u80fd\u6ca6\u4e3a\u4e00\u4e2a\u666e\u901a\u7684\u8c03\u5305\u4fa0\uff0c\u800c\u662f\u5bf9\u8ba1\u7b97\u673a\u7684\u5e95\u5c42\u8fd0\u884c\u903b\u8f91\u6709\u66f4\u6df1\u5165\u7684\u4e86\u89e3\u3002 \u8bfe\u7a0b\u65b9\u5411 \u8bfe\u7a0b\u540d \u79bb\u6563\u6570\u5b66\u548c\u6982\u7387\u8bba UCB CS70 : discrete Math and probability theory \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 Coursera: Algorithms I & II \u8f6f\u4ef6\u5de5\u7a0b MIT 6.031: Software Construction \u5168\u6808\u5f00\u53d1 MIT web development course \u8ba1\u7b97\u673a\u7cfb\u7edf\u5bfc\u8bba CMU CS15213: CSAPP \u4f53\u7cfb\u7ed3\u6784\u5165\u95e8 Coursera: Nand2Tetris \u4f53\u7cfb\u7ed3\u6784\u8fdb\u9636 CS61C: Great Ideas in Computer Architecture \u6570\u636e\u5e93\u539f\u7406 CMU 15-445: Introduction to Database System \u8ba1\u7b97\u673a\u7f51\u7edc Computer Networking: A Top-Down Approach \u4eba\u5de5\u667a\u80fd Harvard CS50: Introduction to AI with Python \u6df1\u5ea6\u5b66\u4e60 Coursera: Deep Learning \u5fc3\u6709\u6240\u5c5e \u5982\u679c\u4f60\u5bf9\u4e8e\u8ba1\u7b97\u673a\u9886\u57df\u7684\u6838\u5fc3\u4e13\u4e1a\u8bfe\u90fd\u638c\u63e1\u5f97\u76f8\u5f53\u624e\u5b9e\uff0c\u800c\u4e14\u5df2\u7ecf\u786e\u5b9a\u4e86\u81ea\u5df1\u7684\u5de5\u4f5c\u6216\u7814\u7a76\u65b9\u5411\uff0c\u90a3\u4e48\u4e66\u4e2d\u8fd8\u6709\u5f88\u591a\u672a\u5728 \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \u63d0\u5230\u7684\u8bfe\u7a0b\u4f9b\u4f60\u63a2\u7d22\u3002 \u968f\u7740\u8d21\u732e\u8005\u7684\u4e0d\u65ad\u589e\u591a\uff0c\u5de6\u4fa7\u7684\u76ee\u5f55\u4e2d\u5c06\u4e0d\u65ad\u589e\u52a0\u65b0\u7684\u5206\u652f\uff0c\u4f8b\u5982 \u673a\u5668\u5b66\u4e60\u8fdb\u9636 \u548c \u673a\u5668\u5b66\u4e60\u7cfb\u7edf \u3002\u5e76\u4e14\u540c\u4e00\u4e2a\u5206\u652f\u4e0b\u90fd\u6709\u82e5\u5e72\u540c\u7c7b\u578b\u8bfe\u7a0b\uff0c\u5b83\u4eec\u6765\u81ea\u4e0d\u540c\u7684\u5b66\u6821\uff0c\u6709\u7740\u4e0d\u540c\u7684\u4fa7\u91cd\u70b9\u548c\u8bfe\u7a0b\u5b9e\u9a8c\uff0c\u4f8b\u5982 \u64cd\u4f5c\u7cfb\u7edf \u5206\u652f\u4e0b\u5c31\u5305\u542b\u4e86\u9ebb\u7701\u7406\u5de5\u3001\u4f2f\u514b\u5229\u8fd8\u6709\u5357\u4eac\u5927\u5b66\u4e09\u4e2a\u5b66\u6821\u7684\u8bfe\u7a0b\u3002\u5982\u679c\u4f60\u60f3\u6df1\u8015\u4e00\u4e2a\u9886\u57df\uff0c\u90a3\u4e48\u5b66\u4e60\u8fd9\u4e9b\u540c\u7c7b\u7684\u8bfe\u7a0b\u4f1a\u7ed9\u4f60\u4e0d\u540c\u7684\u89d2\u5ea6\u6765\u770b\u5f85\u7c7b\u4f3c\u7684\u77e5\u8bc6\u3002\u540c\u65f6\uff0c\u672c\u4e66\u4f5c\u8005\u8fd8\u8ba1\u5212\u8054\u7cfb\u4e00\u4e9b\u76f8\u5173\u9886\u57df\u7684\u79d1\u7814\u5de5\u4f5c\u8005\u6765\u5206\u4eab\u67d0\u4e2a\u7ec6\u5206\u9886\u57df\u7684\u79d1\u7814\u5b66\u4e60\u8def\u5f84\uff0c\u8ba9 CS\u81ea\u5b66\u6307\u5357 \u5728\u8ffd\u6c42\u5e7f\u5ea6\u7684\u540c\u65f6\uff0c\u5b9e\u73b0\u6df1\u5ea6\u4e0a\u7684\u63d0\u9ad8\u3002 \u5982\u679c\u4f60\u60f3\u8d21\u732e\u8fd9\u65b9\u9762\u7684\u5185\u5bb9\uff0c\u6b22\u8fce\u548c\u4f5c\u8005\u90ae\u4ef6\u8054\u7cfb zhongyinmin@pku.edu.cn","title":"\u5982\u4f55\u4f7f\u7528\u8fd9\u672c\u4e66"},{"location":"%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/#_1","text":"\u968f\u7740\u8d21\u732e\u8005\u7684\u4e0d\u65ad\u589e\u591a\uff0c\u672c\u4e66\u7684\u5185\u5bb9\u4e5f\u4e0d\u65ad\u6269\u5c55\uff0c\u60f3\u628a\u4e66\u4e2d\u6240\u6709\u7684\u8bfe\u7a0b\u5168\u90e8\u5b66\u5b8c\u662f\u4e0d\u5207\u5b9e\u9645\u4e5f\u6ca1\u6709\u5fc5\u8981\u7684\uff0c\u751a\u81f3\u4f1a\u8d77\u5230\u4e8b\u500d\u529f\u534a\u7684\u53cd\u6548\u679c\uff0c\u5403\u529b\u800c\u4e0d\u8ba8\u597d\u3002\u4e3a\u4e86\u66f4\u597d\u5730\u8d34\u5408\u8bfb\u8005\uff0c\u8ba9\u8fd9\u672c\u4e66\u771f\u6b63\u4e3a\u4f60\u6240\u7528\uff0c\u6211\u5c06\u8bfb\u8005\u6309\u7167\u9700\u6c42\u5927\u81f4\u5206\u4e3a\u4e86\u5982\u4e0b\u4e09\u7c7b\uff0c\u5927\u5bb6\u53ef\u4ee5\u7ed3\u5408\u5207\u8eab\u5b9e\u9645\uff0c\u7cbe\u51c6\u5730\u89c4\u5212\u5c5e\u4e8e\u81ea\u5df1\u7684\u81ea\u5b66\u65b9\u6848\u3002","title":"\u5982\u4f55\u4f7f\u7528\u8fd9\u672c\u4e66"},{"location":"%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/#_2","text":"\u5982\u679c\u4f60\u521a\u521a\u8fdb\u5165\u5927\u5b66\u6821\u56ed\u6216\u8005\u8fd8\u5728\u4f4e\u5e74\u7ea7\uff0c\u5e76\u4e14\u5c31\u8bfb\u7684\u662f\u8ba1\u7b97\u673a\u65b9\u5411\u6216\u8005\u60f3\u8981\u8f6c\u5230\u8ba1\u7b97\u673a\u65b9\u5411\uff0c\u90a3\u4e48\u4f60\u5f88\u5e78\u8fd0\uff0c\u56e0\u4e3a\u5b66\u4e60\u662f\u4f60\u7684\u672c\u4e1a\uff0c\u4f60\u53ef\u4ee5\u6709\u5145\u8db3\u7684\u65f6\u95f4\u548c\u81ea\u7531\u6765\u5b66\u4e60\u81ea\u5df1\u611f\u5174\u8da3\u7684\u4e1c\u897f\uff0c\u4e0d\u4f1a\u6709\u5de5\u4f5c\u7684\u538b\u529b\u548c\u751f\u6d3b\u7684\u7410\u788e\uff0c\u4e0d\u5fc5\u8fc7\u4e8e\u7ea0\u7ed3\u201c\u5b66\u4e86\u6709\u6ca1\u6709\u7528\u201d\uff0c\u201c\u80fd\u4e0d\u80fd\u627e\u5230\u5de5\u4f5c\u201d\u8fd9\u7c7b\u529f\u5229\u7684\u60f3\u6cd5\u3002\u90a3\u4e48\u8be5\u5982\u4f55\u5b89\u6392\u81ea\u5df1\u7684\u5b66\u4e1a\u5462\uff1f\u6211\u89c9\u5f97\u9996\u8981\u7684\u4e00\u70b9\u5c31\u662f\u8981\u6253\u7834\u5728\u9ad8\u4e2d\u5f62\u6210\u7684\u201c\u6309\u90e8\u5c31\u73ed\u201d\u5f0f\u7684\u88ab\u52a8\u5b66\u4e60\u3002\u4f5c\u4e3a\u4e00\u4e2a\u5c0f\u9547\u505a\u9898\u5bb6\uff0c\u6211\u6df1\u77e5\u56fd\u5185\u5927\u90e8\u5206\u9ad8\u4e2d\u4f1a\u628a\u5927\u5bb6\u4e00\u5929\u5f53\u4e2d\u7684\u6bcf\u4e00\u5206\u949f\u90fd\u5b89\u6392\u5f97\u6ee1\u6ee1\u5f53\u5f53\uff0c\u4f60\u53ea\u9700\u8981\u88ab\u52a8\u5730\u8ddf\u7740\u8bfe\u8868\u6309\u90e8\u5c31\u73ed\u5730\u5b8c\u6210\u4e00\u4e2a\u4e2a\u65e2\u5b9a\u7684\u4efb\u52a1\u3002\u53ea\u8981\u8db3\u591f\u8ba4\u771f\uff0c\u7ed3\u679c\u90fd\u4e0d\u4f1a\u592a\u5dee\u3002\u4f46\u6b65\u5165\u5927\u5b66\u7684\u6821\u95e8\uff0c\u81ea\u7531\u5ea6\u4e00\u4e0b\u5b50\u53d8\u5927\u4e86\u8bb8\u591a\u3002\u9996\u5148\u6240\u6709\u7684\u8bfe\u5916\u65f6\u95f4\u57fa\u672c\u90fd\u7531\u4f60\u81ea\u7531\u652f\u914d\uff0c\u6ca1\u6709\u4eba\u4e3a\u4f60\u6574\u7406\u77e5\u8bc6\u70b9\uff0c\u603b\u7ed3\u63d0\u7eb2\uff0c\u8003\u8bd5\u4e5f\u4e0d\u50cf\u9ad8\u4e2d\u90a3\u822c\u6a21\u5f0f\u5316\u3002\u5982\u679c\u4f60\u8fd8\u62b1\u7740\u9ad8\u4e2d\u90a3\u79cd\u201c\u4e56\u5b66\u751f\u201d\u7684\u5fc3\u6001\uff0c\u8001\u8001\u5b9e\u5b9e\u6309\u90e8\u5c31\u73ed\uff0c\u7ed3\u679c\u672a\u5fc5\u5982\u4f60\u6240\u613f\u3002\u56e0\u4e3a\u4e13\u4e1a\u57f9\u517b\u65b9\u6848\u672a\u5fc5\u5c31\u662f\u5408\u7406\uff0c\u8001\u5e08\u7684\u6559\u5b66\u672a\u5fc5\u5c31\u4f1a\u8d1f\u8d23\uff0c\u8ba4\u771f\u51fa\u5e2d\u8bfe\u5802\u672a\u5fc5\u5c31\u80fd\u542c\u61c2\uff0c\u751a\u81f3\u8003\u8bd5\u5185\u5bb9\u672a\u5fc5\u5c31\u548c\u8bb2\u7684\u6709\u5173\u7cfb\u3002\u8bf4\u53e5\u73a9\u7b11\u8bdd\uff0c\u4f60\u6216\u8bb8\u4f1a\u89c9\u5f97\u5168\u4e16\u754c\u90fd\u4e0e\u4f60\u4e3a\u654c\uff0c\u800c\u4f60\u53ea\u80fd\u6307\u671b\u81ea\u5df1\u3002 \u90a3\u4e48\u73b0\u72b6\u5c31\u662f\u8fd9\u4e48\u4e2a\u73b0\u72b6\uff0c\u4f60\u60f3\u6539\u53d8\uff0c\u4e5f\u5f97\u5148\u6d3b\u8fc7\u53bb\uff0c\u5e76\u4e14\u62e5\u6709\u8db3\u591f\u7684\u80fd\u529b\u53bb\u8d28\u7591\u5b83\u3002\u800c\u5728\u4f4e\u5e74\u7ea7\uff0c\u6253\u597d\u57fa\u7840\u5f88\u91cd\u8981\u3002\u8fd9\u91cc\u7684\u57fa\u7840\u662f\u5168\u65b9\u9762\u7684\uff0c\u8bfe\u5185\u7684\u77e5\u8bc6\u56fa\u7136\u91cd\u8981\uff0c\u4f46\u8ba1\u7b97\u673a\u5f88\u5927\u7a0b\u5ea6\u4e0a\u8fd8\u662f\u5f3a\u8c03\u5b9e\u8df5\uff0c\u56e0\u6b64\u6709\u5f88\u591a\u8bfe\u672c\u5916\u7684\u80fd\u529b\u9700\u8981\u57f9\u517b\uff0c\u800c\u8fd9\u6070\u6070\u662f\u56fd\u5185\u7684\u8ba1\u7b97\u673a\u672c\u79d1\u6559\u80b2\u5f88\u6b20\u7f3a\u7684\u4e00\u70b9\u3002\u6211\u6839\u636e\u4e2a\u4eba\u7684\u4f53\u9a8c\u603b\u7ed3\u51fa\u4e86\u4e0b\u9762\u51e0\u70b9\u5efa\u8bae\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u5176\u4e00\u5c31\u662f\u4e86\u89e3\u5982\u4f55\u5199\u201c\u4f18\u96c5\u201d\u7684\u4ee3\u7801\u3002\u56fd\u5185\u7684\u5f88\u591a\u5927\u4e00\u7f16\u7a0b\u5165\u95e8\u8bfe\u90fd\u4f1a\u8bb2\u6210\u6781\u5176\u65e0\u804a\u7684\u8bed\u6cd5\u8bfe\uff0c\u5176\u6548\u679c\u8fd8\u4e0d\u5982\u76f4\u63a5\u8ba9\u5b66\u751f\u770b\u5b98\u65b9\u6587\u6863\u3002\u4e8b\u5b9e\u4e0a\uff0c\u5728\u521a\u5f00\u59cb\u63a5\u89e6\u7f16\u7a0b\u7684\u65f6\u5019\uff0c\u8ba9\u5b66\u751f\u8bd5\u7740\u53bb\u4e86\u89e3\u4ec0\u4e48\u6837\u7684\u4ee3\u7801\u662f\u4f18\u96c5\u7684\uff0c\u4ec0\u4e48\u6837\u7684\u4ee3\u7801 \"have bad taste\" \u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u4e00\u822c\u6765\u8bf4\uff0c\u7f16\u7a0b\u5165\u95e8\u8bfe\u4f1a\u5148\u4ecb\u7ecd\u8fc7\u7a0b\u5f0f\u7f16\u7a0b\uff08\u4f8b\u5982 C \u8bed\u8a00\uff09\u3002\u4f46\u5373\u4fbf\u662f\u9762\u5411\u8fc7\u7a0b\u7f16\u7a0b\uff0c \u6a21\u5757\u5316 \u548c \u5c01\u88c5 \u7684\u601d\u60f3\u4e5f\u6781\u5176\u91cd\u8981\u3002\u5982\u679c\u4f60\u53ea\u60f3\u7740\u4ee3\u7801\u80fd\u5728 OpenJudge \u4e0a\u901a\u8fc7\uff0c\u5199\u7684\u65f6\u5019\u56fe\u7701\u4e8b\uff0c\u7528\u5927\u6bb5\u7684\u590d\u5236\u7c98\u8d34\u548c\u81c3\u80bf\u7684 main \u51fd\u6570\uff0c\u957f\u6b64\u4ee5\u5f80\uff0c\u4f60\u7684\u4ee3\u7801\u8d28\u91cf\u5c06\u4e00\u76f4\u5982\u6b64\u3002\u4e00\u65e6\u63a5\u89e6\u7a0d\u5fae\u5927\u4e00\u70b9\u7684\u9879\u76ee\uff0c\u65e0\u5c3d\u7684 debug \u548c\u6c9f\u901a\u7ef4\u62a4\u6210\u672c\u5c06\u628a\u4f60\u541e\u6ca1\u3002\u56e0\u6b64\uff0c\u5199\u4ee3\u7801\u65f6\u4e0d\u65ad\u95ee\u81ea\u5df1\uff0c\u662f\u5426\u6709\u5927\u91cf\u91cd\u590d\u7684\u4ee3\u7801\uff1f\u5f53\u524d\u51fd\u6570\u662f\u5426\u8fc7\u4e8e\u590d\u6742\uff08Linux \u63d0\u5021\u6bcf\u4e2a\u51fd\u6570\u53ea\u9700\u8981\u505a\u597d\u4e00\u4ef6\u4e8b\uff09\uff1f\u8fd9\u6bb5\u4ee3\u7801\u80fd\u62bd\u8c61\u6210\u4e00\u4e2a\u51fd\u6570\u5417\uff1f\u4e00\u5f00\u59cb\u4f60\u53ef\u80fd\u89c9\u5f97\u5f88\u4e0d\u4e60\u60ef\uff0c\u751a\u81f3\u89c9\u5f97\u8fd9\u4e48\u7b80\u5355\u7684\u9898\u9700\u8981\u5982\u6b64\u5927\u8d39\u5468\u7ae0\u5417\uff1f\u4f46\u8bb0\u4f4f\u597d\u7684\u4e60\u60ef\u662f\u65e0\u4ef7\u7684\uff0cC \u8bed\u8a00\u521d\u4e2d\u751f\u90fd\u80fd\u5b66\u4f1a\uff0c\u51ed\u4ec0\u4e48\u516c\u53f8\u8981\u62db\u4f60\u53bb\u5f53\u7a0b\u5e8f\u5458\u5462\uff1f \u5b66\u8fc7\u9762\u5411\u8fc7\u7a0b\u7f16\u7a0b\u540e\uff0c\u5927\u4e00\u4e0b\u5b66\u671f\u4e00\u822c\u4f1a\u8bb2\u9762\u5411\u5bf9\u8c61\u7f16\u7a0b\uff08\u4f8b\u5982 C++ \u6216 Java\uff09\u3002\u8fd9\u91cc\u975e\u5e38\u63a8\u8350\u5927\u5bb6\u770b MIT 6.031: Software Construction \u8fd9\u95e8\u8bfe\u7684 Notes\uff0c\u4f1a\u4ee5 Java \u8bed\u8a00\u4e3a\u4f8b\u975e\u5e38\u8be6\u7ec6\u5730\u8bb2\u89e3\u5982\u4f55\u5199\u51fa\u201c\u4f18\u96c5\u201d\u7684\u4ee3\u7801\u3002\u4f8b\u5982 Test-Driven \u7684\u5f00\u53d1\u3001\u51fd\u6570 Specification \u7684\u8bbe\u8ba1\u3001\u5f02\u5e38\u7684\u5904\u7406\u7b49\u7b49\u7b49\u7b49\u3002\u9664\u6b64\u4e4b\u5916\uff0c\u65e2\u7136\u63a5\u89e6\u4e86\u9762\u5411\u5bf9\u8c61\uff0c\u90a3\u4e48\u4e86\u89e3\u4e00\u4e9b\u5e38\u89c1\u7684\u8bbe\u8ba1\u6a21\u5f0f\u4e5f\u662f\u5f88\u6709\u5fc5\u8981\u7684\u3002\u56e0\u4e3a\u56fd\u5185\u7684\u9762\u5411\u5bf9\u8c61\u8bfe\u7a0b\u540c\u6837\u5f88\u5bb9\u6613\u53d8\u6210\u6781\u5176\u65e0\u804a\u7684\u8bed\u6cd5\u8bfe\uff0c\u8ba9\u5b66\u751f\u7ea0\u7ed3\u4e8e\u5404\u79cd\u7ee7\u627f\u7684\u8bed\u6cd5\uff0c\u751a\u81f3\u51fa\u4e00\u4e9b\u65e0\u804a\u7684\u8111\u7b4b\u6025\u8f6c\u5f2f\u4e00\u6837\u7684\u9898\u76ee\uff0c\u6b8a\u4e0d\u77e5\u8fd9\u4e9b\u4e1c\u897f\u5728\u5730\u7403\u4eba\u7684\u5f00\u53d1\u4e2d\u57fa\u672c\u4e0d\u4f1a\u7528\u5230\u3002\u9762\u5411\u5bf9\u8c61\u7684\u7cbe\u9ad3\u662f\u8ba9\u5b66\u751f\u5b66\u4f1a\u81ea\u5df1\u5c06\u5b9e\u9645\u7684\u95ee\u9898\u62bd\u8c61\u6210\u82e5\u5e72\u7c7b\u548c\u5b83\u4eec\u4e4b\u95f4\u7684\u5173\u7cfb\uff0c\u800c\u8bbe\u8ba1\u6a21\u5f0f\u5219\u662f\u524d\u4eba\u603b\u7ed3\u51fa\u6765\u7684\u4e00\u4e9b\u7cbe\u9ad3\u7684\u62bd\u8c61\u65b9\u6cd5\u3002\u8fd9\u91cc\u63a8\u8350 \u5927\u8bdd\u8bbe\u8ba1\u6a21\u5f0f \u8fd9\u672c\u4e66\uff0c\u5199\u5f97\u975e\u5e38\u6d45\u663e\u6613\u61c2\u3002 \u5176\u4e8c\u5c31\u662f\u5c1d\u8bd5\u5b66\u4e60\u4e00\u4e9b\u80fd\u63d0\u9ad8\u751f\u4ea7\u529b\u7684\u5de5\u5177\u548c\u6280\u80fd\uff0c\u4f8b\u5982 Git\u3001Shell\u3001Vim\u3002\u8fd9\u91cc\u5f3a\u70c8\u63a8\u8350\u5b66\u4e60 MIT missing semester \u8fd9\u95e8\u8bfe\uff0c\u4e5f\u8bb8\u4e00\u5f00\u59cb\u63a5\u89e6\u8fd9\u4e9b\u5de5\u5177\u7528\u8d77\u6765\u4f1a\u5f88\u4e0d\u4e60\u60ef\uff0c\u4f46\u5f3a\u8feb\u81ea\u5df1\u7528\uff0c\u719f\u7ec3\u4e4b\u540e\u5f00\u53d1\u6548\u7387\u4f1a\u76f4\u7ebf\u63d0\u9ad8\u3002\u6b64\u5916\uff0c\u8fd8\u6709\u5f88\u591a\u5e94\u7528\u4e5f\u80fd\u6781\u5927\u63d0\u9ad8\u7684\u4f60\u751f\u4ea7\u529b\u3002\u4e00\u6761\u5b9a\u5f8b\u662f\uff1a\u4e00\u5207\u9700\u8981\u8ba9\u624b\u79bb\u5f00\u952e\u76d8\u7684\u64cd\u4f5c\uff0c\u90fd\u5e94\u8be5\u60f3\u529e\u6cd5\u53bb\u9664\u3002\u4f8b\u5982\u5207\u6362\u5e94\u7528\u3001\u6253\u5f00\u6587\u4ef6\u3001\u6d4f\u89c8\u7f51\u9875\u8fd9\u4e9b\u90fd\u6709\u76f8\u5173\u63d2\u4ef6\u53ef\u4ee5\u5b9e\u73b0\u5feb\u6377\u64cd\u4f5c\uff08\u4f8b\u5982 Mac \u4e0a\u7684 Alfred \uff09\u3002\u5982\u679c\u4f60\u53d1\u73b0\u67d0\u4e2a\u64cd\u4f5c\u6bcf\u5929\u90fd\u4f1a\u7528\u5230\uff0c\u5e76\u4e14\u7528\u65f6\u8d85\u8fc71\u79d2\uff0c\u90a3\u5c31\u5e94\u8be5\u60f3\u529e\u6cd5\u628a\u5b83\u7f29\u51cf\u52300.1\u79d2\u3002\u6bd5\u7adf\u4ee5\u540e\u6570\u5341\u5e74\u4f60\u90fd\u8981\u548c\u7535\u8111\u6253\u4ea4\u9053\uff0c\u5f62\u6210\u4e00\u5957\u987a\u6ed1\u7684\u5de5\u4f5c\u6d41\u662f\u4e8b\u534a\u529f\u500d\u7684\u3002\u6700\u540e\uff0c\u5b66\u4f1a\u76f2\u6253\uff01\u5982\u679c\u4f60\u8fd8\u9700\u8981\u770b\u7740\u952e\u76d8\u6253\u5b57\uff0c\u90a3\u4e48\u8d76\u7d27\u4e0a\u7f51\u627e\u4e2a\u6559\u7a0b\u5b66\u4f1a\u76f2\u6253\uff0c\u8fd9\u5c06\u6781\u5927\u63d0\u9ad8\u4f60\u7684\u5f00\u53d1\u6548\u7387\u3002 \u5176\u4e09\u5c31\u662f\u5e73\u8861\u597d\u8bfe\u5185\u548c\u81ea\u5b66\u3002\u6211\u4eec\u8d28\u7591\u73b0\u72b6\uff0c\u4f46\u4e5f\u5f97\u9075\u5b88\u89c4\u5219\uff0c\u6bd5\u7adf\u7ee9\u70b9\u5728\u4fdd\u7814\u4e2d\u8fd8\u662f\u76f8\u5f53\u91cd\u8981\u7684\u3002\u56e0\u6b64\u5728\u5927\u4e00\uff0c\u6211\u8fd8\u662f\u5efa\u8bae\u5927\u5bb6\u5c3d\u91cf\u6309\u7167\u81ea\u5df1\u7684\u8bfe\u8868\u5b66\u4e60\uff0c\u4f46\u8f85\u4ee5\u4e00\u4e9b\u4f18\u8d28\u7684\u8bfe\u5916\u8d44\u6e90\u3002\u4f8b\u5982\u5fae\u79ef\u5206\u7ebf\u4ee3\u53ef\u4ee5\u53c2\u8003 MIT 18.01/18.02 \u548c MIT 18.06 \u7684\u8bfe\u7a0b Notes\u3002\u5047\u671f\u53ef\u4ee5\u901a\u8fc7 UCB CS61A \u6765\u5b66\u4e60 Python\u3002\u540c\u65f6\u505a\u5230\u4e0a\u9762\u7b2c\u4e00\u3001\u7b2c\u4e8c\u70b9\u8bf4\u7684\uff0c\u6ce8\u91cd\u597d\u7684\u7f16\u7a0b\u4e60\u60ef\u548c\u5b9e\u8df5\u80fd\u529b\u7684\u57f9\u517b\u3002\u5c31\u4e2a\u4eba\u7ecf\u9a8c\uff0c\u5927\u4e00\u7684\u6570\u5b66\u8bfe\u5b66\u5206\u5360\u6bd4\u76f8\u5f53\u5927\uff0c\u800c\u4e14\u6570\u5b66\u8003\u8bd5\u7684\u5185\u5bb9\u65b9\u5dee\u662f\u5f88\u5927\u7684\uff0c\u4e0d\u540c\u5b66\u6821\u4e0d\u540c\u8001\u5e08\u98ce\u683c\u8fe5\u5f02\uff0c\u81ea\u5b66\u4e5f\u8bb8\u80fd\u8ba9\u4f60\u9886\u609f\u6570\u5b66\u7684\u672c\u8d28\uff0c\u4f46\u672a\u5fc5\u80fd\u7ed9\u4f60\u4e00\u4e2a\u597d\u6210\u7ee9\u3002\u56e0\u6b64\u8003\u524d\u6700\u597d\u6709\u9488\u5bf9\u6027\u5730\u5237\u5f80\u5e74\u9898\uff0c\u5145\u5206\u5e94\u8bd5\u3002 \u5728\u5347\u5165\u5927\u4e8c\u4e4b\u540e\uff0c\u8ba1\u7b97\u673a\u65b9\u5411\u7684\u4e13\u4e1a\u8bfe\u5c06\u5c45\u591a\uff0c\u6b64\u65f6\u5927\u5bb6\u53ef\u4ee5\u5f7b\u5e95\u653e\u98de\u81ea\u6211\uff0c\u8fdb\u5165\u81ea\u5b66\u7684\u6bbf\u5802\u4e86\u3002\u5177\u4f53\u53ef\u4ee5\u53c2\u8003 \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \uff0c\u8fd9\u662f\u6211\u6839\u636e\u81ea\u5df1\u4e09\u5e74\u81ea\u5b66\u7ecf\u5386\u603b\u7ed3\u63d0\u70bc\u51fa\u6765\u7684\u5168\u5957\u6307\u5357\uff0c\u6bcf\u95e8\u8bfe\u7684\u7279\u70b9\u4ee5\u53ca\u4e3a\u4ec0\u4e48\u8981\u4e0a\u8fd9\u95e8\u8bfe\u6211\u90fd\u505a\u4e86\u7b80\u5355\u7684\u4ecb\u7ecd\u3002\u5bf9\u4e8e\u4f60\u8bfe\u8868\u4e0a\u7684\u6bcf\u4e2a\u8bfe\u7a0b\uff0c\u8fd9\u4efd\u89c4\u5212\u91cc\u5e94\u8be5\u90fd\u4f1a\u6709\u76f8\u5e94\u7684\u56fd\u5916\u8bfe\u7a0b\uff0c\u800c\u4e14\u5728\u8d28\u91cf\u4e0a\u6211\u76f8\u4fe1\u57fa\u672c\u662f\u5168\u65b9\u4f4d\u7684\u78be\u538b\u3002\u7531\u4e8e\u8ba1\u7b97\u673a\u65b9\u5411\u7684\u4e13\u4e1a\u77e5\u8bc6\u57fa\u672c\u662f\u4e00\u6837\u7684\uff0c\u800c\u4e14\u9ad8\u8d28\u91cf\u7684\u8bfe\u7a0b\u4f1a\u8ba9\u4f60\u4ece\u539f\u7406\u4e0a\u7406\u89e3\u77e5\u8bc6\u70b9\uff0c\u5bf9\u4e8e\u56fd\u5185\u5927\u591a\u7167\u672c\u5ba3\u79d1\u5f0f\u7684\u6559\u5b66\u6765\u8bf4\u57fa\u672c\u662f\u964d\u7ef4\u6253\u51fb\u3002\u4e00\u822c\u6765\u8bf4\u53ea\u8981\u8003\u524d\u5c06\u8001\u5e08\u201c\u8f9b\u82e6\u201d\u5ff5\u4e86\u4e00\u5b66\u671f\u7684 PPT \u62ff\u6765\u7a81\u51fb\u590d\u4e60\u4e24\u5929\uff0c\u53d6\u5f97\u4e00\u4e2a\u4e0d\u9519\u7684\u5377\u9762\u5206\u6570\u5e76\u4e0d\u56f0\u96be\u3002\u5982\u679c\u6709\u8bfe\u7a0b\u5927\u4f5c\u4e1a\uff0c\u5219\u53ef\u4ee5\u5c3d\u91cf\u5c06\u56fd\u5916\u8bfe\u7a0b\u7684 Lab \u6216\u8005 Project \u4fee\u6539\u4e00\u756a\u4ee5\u5e94\u4ed8\u8bfe\u5185\u7684\u9700\u8981\u3002\u6211\u5f53\u65f6\u4e0a\u64cd\u4f5c\u7cfb\u7edf\u8bfe\uff0c\u53d1\u73b0\u8001\u5e08\u8fd8\u7528\u7740\u65e9\u5df2\u88ab\u56fd\u5916\u5b66\u6821\u6dd8\u6c70\u7684\u8bfe\u7a0b\u5b9e\u9a8c\uff0c\u4fbf\u90ae\u4ef6\u8001\u5e08\u6362\u6210\u4e86\u81ea\u5df1\u6b63\u5728\u5b66\u4e60\u7684 MIT 6.S081 \u7684 xv6 Project\uff0c\u65b9\u4fbf\u81ea\u5b66\u7684\u540c\u65f6\u8fd8\u65e0\u610f\u95f4\u63a8\u52a8\u4e86\u8bfe\u7a0b\u6539\u9769\u3002\u603b\u4e4b\uff0c\u7075\u6d3b\u53d8\u901a\u662f\u7b2c\u4e00\u8981\u4e49\uff0c\u4f60\u7684\u76ee\u6807\u662f\u7528\u6700\u65b9\u4fbf\u3001\u6548\u7387\u6700\u9ad8\u7684\u65b9\u5f0f\u638c\u63e1\u77e5\u8bc6\uff0c\u6240\u6709\u4e0e\u4f60\u8fd9\u4e00\u76ee\u6807\u8fdd\u80cc\u7684\u6240\u8c13\u89c4\u5b9a\u90fd\u53ef\u4ee5\u60f3\u65b9\u8bbe\u6cd5\u5730\u53bb\u201c\u7cca\u5f04\u201d\u3002\u51ed\u7740\u8fd9\u4efd\u7cca\u5f04\u52b2\u513f\uff0c\u6211\u5927\u4e09\u4e4b\u540e\u57fa\u672c\u6ca1\u6709\u53bb\u8fc7\u7ebf\u4e0b\u8bfe\u5802\uff08\u5927\u4e8c\u75ab\u60c5\u5728\u5bb6\u5446\u4e86\u5927\u534a\u5e74\uff09\uff0c\u5bf9\u7ee9\u70b9\u4e5f\u5b8c\u5168\u6ca1\u6709\u5f71\u54cd\u3002 \u6700\u540e\uff0c\u5e0c\u671b\u5927\u5bb6\u5c11\u70b9\u6d6e\u8e81\u548c\u529f\u5229\uff0c\u591a\u4e00\u4e9b\u8010\u5fc3\u548c\u8ffd\u6c42\u3002\u5f88\u591a\u4eba\u53d1\u90ae\u4ef6\u95ee\u6211\u81ea\u5b66\u9700\u4e0d\u9700\u8981\u5f88\u5f3a\u7684\u81ea\u5236\u529b\uff0c\u6211\u89c9\u5f97\u5f97\u5173\u952e\u5f97\u770b\u4f60\u81ea\u5df1\u60f3\u8981\u4ec0\u4e48\u3002\u5982\u679c\u4f60\u4f9d\u7136\u62b1\u7740\u4f1a\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\u4fbf\u80fd\u6708\u85aa\u8fc7\u4e07\u7684\u5e7b\u60f3\uff0c\u60f3\u5206\u4e00\u676f\u4e92\u8054\u7f51\u7684\u7ea2\u5229\uff0c\u90a3\u4e48\u6211\u8bf4\u518d\u591a\u4e5f\u662f\u5e9f\u8bdd\u3002\u5176\u5b9e\u6211\u6700\u521d\u7684\u81ea\u5b66\u5e76\u6ca1\u6709\u592a\u591a\u529f\u5229\u7684\u60f3\u6cd5\uff0c\u53ea\u662f\u5355\u7eaf\u7684\u597d\u5947\u548c\u672c\u80fd\u7684\u6c42\u77e5\u6b32\u3002\u81ea\u5b66\u7684\u8fc7\u7a0b\u4e5f\u6ca1\u6709\u6240\u8c13\u7684\u201c\u5934\u60ac\u6881\uff0c\u9525\u523a\u80a1\u201d\uff0c\u8be5\u5403\u5403\uff0c\u8be5\u73a9\u73a9\uff0c\u4e0d\u77e5\u4e0d\u89c9\u624d\u53d1\u73b0\u7adf\u7136\u6512\u4e0b\u4e86\u8fd9\u4e48\u591a\u8d44\u6599\u3002\u73b0\u5982\u4eca\u4e2d\u7f8e\u7684\u5bf9\u6297\u5df2\u7136\u6210\u4e3a\u8d8b\u52bf\uff0c\u800c\u6211\u4eec\u8fd8\u5728\u201c\u5351\u5fae\u201d\u5730\u201c\u5e08\u5937\u957f\u6280\u201d\uff0c\u611f\u53f9\u56fd\u5916\u9ad8\u8d28\u91cf\u8bfe\u7a0b\u7684\u540c\u65f6\u4e5f\u65f6\u5e38\u4f1a\u6709\u4e00\u79cd\u5371\u673a\u611f\u3002\u8fd9\u4e00\u5207\u9760\u8c01\u6765\u6539\u53d8\u5462\uff1f\u9760\u7684\u662f\u521a\u521a\u5165\u884c\u7684\u4f60\u4eec\u3002\u6240\u4ee5\uff0c\u52a0\u6cb9\u5427\uff0c\u5c11\u5e74\uff01","title":"\u521d\u5165\u6821\u56ed"},{"location":"%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/#_3","text":"\u5982\u679c\u4f60\u5df2\u7ecf\u672c\u79d1\u6bd5\u4e1a\u5f00\u59cb\u8bfb\u7814\u6216\u8005\u8d70\u4e0a\u4e86\u5de5\u4f5c\u5c97\u4f4d\uff0c\u4ea6\u6216\u662f\u4ece\u4e8b\u7740\u5176\u4ed6\u9886\u57df\u7684\u5de5\u4f5c\u60f3\u8981\u5229\u7528\u4e1a\u4f59\u65f6\u95f4\u8f6c\u7801\uff0c\u90a3\u4e48\u4f60\u4e5f\u8bb8\u5e76\u6ca1\u6709\u5145\u8db3\u7684\u4e1a\u4f59\u65f6\u95f4\u6765\u7cfb\u7edf\u5730\u5b66\u5b8c \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \u91cc\u7684\u5185\u5bb9\uff0c\u4f46\u53c8\u60f3\u5f25\u8865\u672c\u79d1\u65f6\u671f\u6b20\u4e0b\u7684\u57fa\u7840\u3002\u8003\u8651\u5230\u8fd9\u90e8\u5206\u8bfb\u8005\u901a\u5e38\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u7ecf\u9a8c\uff0c\u5165\u95e8\u8bfe\u7a0b\u6ca1\u6709\u5fc5\u8981\u518d\u91cd\u590d\u5b66\u4e60\u3002\u800c\u4e14\u4ece\u5b9e\u7528\u89d2\u5ea6\u6765\u8bf4\uff0c\u7531\u4e8e\u5de5\u4f5c\u7684\u5927\u4f53\u65b9\u5411\u5df2\u7ecf\u786e\u5b9a\uff0c\u786e\u5b9e\u6ca1\u6709\u592a\u5927\u5fc5\u8981\u5bf9\u4e8e\u6bcf\u4e2a\u8ba1\u7b97\u673a\u5206\u652f\u90fd\u6709\u7279\u522b\u6df1\u5165\u7684\u7814\u7a76\uff0c\u66f4\u5e94\u8be5\u4fa7\u91cd\u4e00\u4e9b\u901a\u7528\u6027\u7684\u539f\u5219\u548c\u6280\u80fd\u3002\u56e0\u6b64\u6211\u7ed3\u5408\u81ea\u8eab\u7ecf\u5386\uff0c\u9009\u53d6\u4e86\u4e2a\u4eba\u611f\u89c9\u6700\u91cd\u8981\u4e5f\u662f\u8d28\u91cf\u6700\u9ad8\u7684\u51e0\u95e8\u6838\u5fc3\u4e13\u4e1a\u8bfe\uff0c\u5e0c\u671b\u80fd\u66f4\u597d\u5730\u52a0\u6df1\u8bfb\u8005\u5bf9\u8ba1\u7b97\u673a\u7684\u7406\u89e3\u3002\u5b66\u5b8c\u8fd9\u4e9b\u8bfe\u7a0b\uff0c\u65e0\u8bba\u4f60\u5177\u4f53\u4ece\u4e8b\u7684\u662f\u4ec0\u4e48\u5de5\u4f5c\uff0c\u6211\u76f8\u4fe1\u4f60\u5c06\u4e0d\u53ef\u80fd\u6ca6\u4e3a\u4e00\u4e2a\u666e\u901a\u7684\u8c03\u5305\u4fa0\uff0c\u800c\u662f\u5bf9\u8ba1\u7b97\u673a\u7684\u5e95\u5c42\u8fd0\u884c\u903b\u8f91\u6709\u66f4\u6df1\u5165\u7684\u4e86\u89e3\u3002 \u8bfe\u7a0b\u65b9\u5411 \u8bfe\u7a0b\u540d \u79bb\u6563\u6570\u5b66\u548c\u6982\u7387\u8bba UCB CS70 : discrete Math and probability theory \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 Coursera: Algorithms I & II \u8f6f\u4ef6\u5de5\u7a0b MIT 6.031: Software Construction \u5168\u6808\u5f00\u53d1 MIT web development course \u8ba1\u7b97\u673a\u7cfb\u7edf\u5bfc\u8bba CMU CS15213: CSAPP \u4f53\u7cfb\u7ed3\u6784\u5165\u95e8 Coursera: Nand2Tetris \u4f53\u7cfb\u7ed3\u6784\u8fdb\u9636 CS61C: Great Ideas in Computer Architecture \u6570\u636e\u5e93\u539f\u7406 CMU 15-445: Introduction to Database System \u8ba1\u7b97\u673a\u7f51\u7edc Computer Networking: A Top-Down Approach \u4eba\u5de5\u667a\u80fd Harvard CS50: Introduction to AI with Python \u6df1\u5ea6\u5b66\u4e60 Coursera: Deep Learning","title":"\u5220\u7e41\u5c31\u7b80"},{"location":"%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/#_4","text":"\u5982\u679c\u4f60\u5bf9\u4e8e\u8ba1\u7b97\u673a\u9886\u57df\u7684\u6838\u5fc3\u4e13\u4e1a\u8bfe\u90fd\u638c\u63e1\u5f97\u76f8\u5f53\u624e\u5b9e\uff0c\u800c\u4e14\u5df2\u7ecf\u786e\u5b9a\u4e86\u81ea\u5df1\u7684\u5de5\u4f5c\u6216\u7814\u7a76\u65b9\u5411\uff0c\u90a3\u4e48\u4e66\u4e2d\u8fd8\u6709\u5f88\u591a\u672a\u5728 \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \u63d0\u5230\u7684\u8bfe\u7a0b\u4f9b\u4f60\u63a2\u7d22\u3002 \u968f\u7740\u8d21\u732e\u8005\u7684\u4e0d\u65ad\u589e\u591a\uff0c\u5de6\u4fa7\u7684\u76ee\u5f55\u4e2d\u5c06\u4e0d\u65ad\u589e\u52a0\u65b0\u7684\u5206\u652f\uff0c\u4f8b\u5982 \u673a\u5668\u5b66\u4e60\u8fdb\u9636 \u548c \u673a\u5668\u5b66\u4e60\u7cfb\u7edf \u3002\u5e76\u4e14\u540c\u4e00\u4e2a\u5206\u652f\u4e0b\u90fd\u6709\u82e5\u5e72\u540c\u7c7b\u578b\u8bfe\u7a0b\uff0c\u5b83\u4eec\u6765\u81ea\u4e0d\u540c\u7684\u5b66\u6821\uff0c\u6709\u7740\u4e0d\u540c\u7684\u4fa7\u91cd\u70b9\u548c\u8bfe\u7a0b\u5b9e\u9a8c\uff0c\u4f8b\u5982 \u64cd\u4f5c\u7cfb\u7edf \u5206\u652f\u4e0b\u5c31\u5305\u542b\u4e86\u9ebb\u7701\u7406\u5de5\u3001\u4f2f\u514b\u5229\u8fd8\u6709\u5357\u4eac\u5927\u5b66\u4e09\u4e2a\u5b66\u6821\u7684\u8bfe\u7a0b\u3002\u5982\u679c\u4f60\u60f3\u6df1\u8015\u4e00\u4e2a\u9886\u57df\uff0c\u90a3\u4e48\u5b66\u4e60\u8fd9\u4e9b\u540c\u7c7b\u7684\u8bfe\u7a0b\u4f1a\u7ed9\u4f60\u4e0d\u540c\u7684\u89d2\u5ea6\u6765\u770b\u5f85\u7c7b\u4f3c\u7684\u77e5\u8bc6\u3002\u540c\u65f6\uff0c\u672c\u4e66\u4f5c\u8005\u8fd8\u8ba1\u5212\u8054\u7cfb\u4e00\u4e9b\u76f8\u5173\u9886\u57df\u7684\u79d1\u7814\u5de5\u4f5c\u8005\u6765\u5206\u4eab\u67d0\u4e2a\u7ec6\u5206\u9886\u57df\u7684\u79d1\u7814\u5b66\u4e60\u8def\u5f84\uff0c\u8ba9 CS\u81ea\u5b66\u6307\u5357 \u5728\u8ffd\u6c42\u5e7f\u5ea6\u7684\u540c\u65f6\uff0c\u5b9e\u73b0\u6df1\u5ea6\u4e0a\u7684\u63d0\u9ad8\u3002 \u5982\u679c\u4f60\u60f3\u8d21\u732e\u8fd9\u65b9\u9762\u7684\u5185\u5bb9\uff0c\u6b22\u8fce\u548c\u4f5c\u8005\u90ae\u4ef6\u8054\u7cfb zhongyinmin@pku.edu.cn","title":"\u5fc3\u6709\u6240\u5c5e"},{"location":"%E5%90%8E%E8%AE%B0/","text":"\u540e\u8bb0 \u4ece\u6700\u521d\u7684\u60f3\u6cd5\u5f00\u59cb\uff0c\u5230\u65ad\u65ad\u7eed\u7eed\u5b8c\u6210\u8fd9\u672c\u4e66\uff0c\u518d\u5230\u6811\u6d1e\u7684\u70ed\u70c8\u53cd\u54cd\uff0c\u6211\u5f88\u6fc0\u52a8\uff0c\u4f46\u4e5f\u4e94\u5473\u6742\u9648\u3002\u539f\u6765\u5728\u5317\u5927\u8fd9\u4e2a\u56ed\u5b50\u91cc\uff0c\u4e5f\u6709\u90a3\u4e48\u591a\u4eba\uff0c\u5bf9\u81ea\u5df1\u7684\u672c\u79d1\u751f\u6daf\u5e76\u4e0d\u6ee1\u610f\u3002\u800c\u8fd9\u91cc\uff0c\u53ef\u662f\u56ca\u62ec\u4e86\u4e2d\u56fd\u975e\u5e38\u4f18\u79c0\u7684\u4e00\u5e2e\u5e74\u8f7b\u4eba\u3002\u6240\u4ee5\u95ee\u9898\u51fa\u5728\u54ea\u91cc\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u662f\u4e2a\u7c4d\u7c4d\u65e0\u540d\u7684\u672c\u79d1\u751f\u5440\uff0c\u53ea\u662f\u4e00\u4e2a\u5355\u7eaf\u7684\u6c42\u5b66\u8005\uff0c\u6211\u7684\u76ee\u6807\u53ea\u662f\u60f3\u5feb\u4e50\u5730\u3001\u81ea\u7531\u5730\u3001\u9ad8\u8d28\u91cf\u5730\u638c\u63e1\u90a3\u4e9b\u4e13\u4e1a\u77e5\u8bc6\uff0c\u6211\u60f3\uff0c\u6b63\u5728\u770b\u8fd9\u672c\u4e66\u7684\u5927\u591a\u6570\u672c\u79d1\u751f\u4e5f\u662f\u5982\u6b64\uff0c\u8c01\u60f3\u4ed8\u51fa\u65f6\u95f4\u4f46\u5374\u6536\u6548\u751a\u5fae\u5462\uff1f\u53c8\u662f\u8c01\u8feb\u4f7f\u5927\u5bb6\u5e26\u7740\u75db\u82e6\u53bb\u5e94\u4ed8\u5462\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u5199\u8fd9\u672c\u4e66\u7edd\u4e0d\u662f\u4e3a\u4e86\u9f13\u52b1\u5927\u5bb6\u7fd8\u8bfe\u81ea\u5b66\uff0c\u8bd5\u95ee\u8c01\u4e0d\u60f3\u5728\u8bfe\u5802\u4e0a\u548c\u90a3\u4e48\u591a\u4f18\u79c0\u7684\u540c\u5b66\u6d4e\u6d4e\u4e00\u5802\uff0c\u70ed\u70c8\u8ba8\u8bba\u5462\uff1f\u8c01\u4e0d\u60f3\u9047\u5230\u95ee\u9898\u76f4\u63a5\u627e\u8001\u5e08\u7b54\u7591\u89e3\u60d1\u5462\uff1f\u8c01\u4e0d\u60f3\u8f9b\u82e6\u5b66\u4e60\u7684\u6210\u679c\u53ef\u4ee5\u76f4\u63a5\u5316\u4f5c\u5b66\u6821\u627f\u8ba4\u7684\u5b66\u5206\u7ee9\u70b9\u5462\uff1f\u53ef\u5982\u679c\u4e00\u4e2a\u5162\u5162\u4e1a\u4e1a\u3001\u6309\u65f6\u5230\u5802\u7684\u5b66\u751f\u6536\u83b7\u7684\u5374\u662f\u75db\u82e6\uff0c\u800c\u90a3\u4e2a\u4e00\u5b66\u671f\u53ea\u6709\u8003\u8bd5\u4f1a\u51fa\u5e2d\u7684\u5b66\u751f\u5374\u5b66\u5f97\u81ea\u5f97\u5176\u4e50\uff0c\u8fd9\u516c\u5e73\u5417\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u662f\u4e0d\u7518\uff0c\u4e0d\u7518\u5fc3\u8fd9\u4e9b\u901a\u8fc7\u9ad8\u8003\u6218\u80dc\u65e0\u6570\u4eba\u8fdb\u5165\u9ad8\u6821\u7684\u5b66\u5b50\u672c\u53ef\u4ee5\u6536\u83b7\u4e00\u4e2a\u66f4\u5feb\u4e50\u7684\u672c\u79d1\u751f\u6daf\uff0c\u4f46\u73b0\u5b9e\u5374\u7559\u7ed9\u4e86\u4ed6\u4eec\u9057\u61be\u3002\u6211\u53cd\u95ee\u81ea\u5df1\uff0c\u672c\u79d1\u6559\u80b2\u7a76\u7adf\u5e94\u8be5\u5e26\u7ed9\u6211\u4eec\u4ec0\u4e48\u5462\uff1f\u662f\u5b66\u5b8c\u6240\u6709\u8fd9\u4e9b\u8bfe\u7a0b\u5417\uff1f\u5012\u4e5f\u672a\u5fc5\uff0c\u5b83\u4e5f\u8bb8\u53ea\u9002\u5408\u6211\u8fd9\u79cdnerd\u3002\u4f46\u6211\u89c9\u5f97\uff0c\u672c\u79d1\u6559\u80b2\u81f3\u5c11\u5f97\u5c55\u73b0\u5b83\u5e94\u6709\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u5206\u4eab\u77e5\u8bc6\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u4ee5\u4eba\u4e3a\u672c\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u6ce8\u91cd\u5b66\u751f\u4f53\u9a8c\u7684\u8bda\u610f\u3002\u5b83\u81f3\u5c11\u4e0d\u5e94\u8be5\u662f\u4e00\u79cd\u6076\u610f\uff0c\u4e00\u79cd\u62fc\u6bd4\u77e5\u8bc6\u7684\u6076\u610f\uff0c\u4e00\u79cd\u80dc\u8005\u4e3a\u738b\u7684\u6076\u610f\uff0c\u4e00\u79cd\u8ba9\u4eba\u5b66\u65e0\u6240\u5f97\u7684\u6076\u610f\u3002\u4f46\u8fd9\u4e00\u5207\u80fd\u6539\u53d8\u5417\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u77e5\u9053\u6211\u505a\u4e86\u5e94\u8be5\u505a\u7684\u4e8b\u60c5\uff0c\u5b66\u751f\u4eec\u4f1a\u7528\u811a\u6295\u7968\uff0c\u6811\u6d1e\u7684\u5173\u6ce8\u91cf\u548c\u56de\u5e16\u6570\u8bc1\u660e\u4e86\u8fd9\u6837\u4e00\u4efd\u8d44\u6599\u662f\u6709\u4ef7\u503c\u7684\uff0c\u4e5f\u9053\u51fa\u4e86\u56fd\u5185CS\u672c\u79d1\u6559\u80b2\u548c\u56fd\u5916\u7684\u5dee\u8ddd\u3002\u4e5f\u8bb8\u8fd9\u6837\u7684\u6539\u53d8\u662f\u5fae\u4e4e\u5176\u5fae\u7684\uff0c\u4f46\u522b\u5fd8\u4e86\u6211\u53ea\u662f\u4e00\u4e2a\u7c4d\u7c4d\u65e0\u540d\u7684\u672c\u79d1\u751f\uff0c\u662f\u5317\u5927\u4fe1\u79d1\u4e00\u5343\u591a\u540d\u672c\u79d1\u751f\u4e2d\u7684\u666e\u901a\u4e00\u5458\uff0c\u662f\u4e2d\u56fd\u51e0\u767e\u4e07\u5728\u8bfb\u672c\u79d1\u751f\u4e2d\u7684\u4e00\u5206\u5b50\uff0c\u5982\u679c\u6709\u66f4\u591a\u7684\u4eba\u7ad9\u51fa\u6765\uff0c\u6bcf\u4e2a\u4eba\u505a\u4e00\u70b9\u70b9\uff0c\u4e5f\u8bb8\u662f\u5206\u4eab\u4e00\u4e2a\u5e16\u5b50\uff0c\u4e5f\u8bb8\u662f\u5f53\u4e00\u95e8\u8bfe\u7684\u52a9\u6559\uff0c\u4e5f\u8bb8\u662f\u7cbe\u5fc3\u8bbe\u8ba1\u4e00\u95e8\u8bfe\u7684lab\uff0c\u66f4\u6216\u8bb8\u662f\u5c06\u6765\u83b7\u5f97\u6559\u804c\u4e4b\u540e\u5f00\u8bbe\u4e00\u95e8\u9ad8\u8d28\u91cf\u7684\u8bfe\u7a0b\uff0c\u51fa\u7248\u4e00\u672c\u7ecf\u5178\u7684\u6559\u6750\u3002\u672c\u79d1\u6559\u80b2\u771f\u7684\u6709\u4ec0\u4e48\u6280\u672f\u58c1\u5792\u5417\uff1f\u6211\u770b\u672a\u5fc5\uff0c\u6559\u80b2\u9760\u7684\u662f\u8bda\u610f\uff0c\u9760\u7684\u662f\u80b2\u4eba\u4e4b\u5fc3\u3002 \u4eca\u5929\u662f2021\u5e7412\u670812\u65e5\uff0c\u6211\u671f\u5f85\u5728\u4e0d\u4e45\u7684\u5c06\u6765\u8fd9\u4e2a\u5e16\u5b50\u4f1a\u88ab\u9057\u5fd8\uff0c\u5927\u5bb6\u53ef\u4ee5\u6ee1\u5fc3\u6b22\u559c\u5730\u9009\u7740\u81ea\u5df1\u57f9\u517b\u65b9\u6848\u4e0a\u7684\u8bfe\u7a0b\uff0c\u505a\u7740\u5b66\u6821\u81ea\u884c\u8bbe\u8ba1\u7684\u5404\u7c7b\u7f16\u7a0b\u5b9e\u9a8c\uff0c\u8bfe\u5802\u6ca1\u6709\u7b7e\u5230\u4e5f\u80fd\u6d4e\u6d4e\u4e00\u5802\uff0c\u5b66\u751f\u8e0a\u8dc3\u5730\u53d1\u8a00\u4e92\u52a8\uff0c\u5927\u5bb6\u7684\u6536\u83b7\u53ef\u4ee5\u548c\u52aa\u529b\u6210\u6b63\u6bd4\uff0c\u90a3\u4e9b\u66fe\u7ecf\u7684\u9057\u61be\u548c\u75db\u82e6\u53ef\u4ee5\u6c38\u8fdc\u6210\u4e3a\u5386\u53f2\u3002\u6211\u771f\u7684\u5f88\u671f\u5f85\u90a3\u4e00\u5929\uff0c\u771f\u7684\u771f\u7684\u771f\u7684\u5f88\u671f\u5f85\u3002 PKUFlyingPig 2021\u5e7412\u670812\u65e5\u5199\u4e8e\u71d5\u56ed","title":"\u540e\u8bb0"},{"location":"%E5%90%8E%E8%AE%B0/#_1","text":"\u4ece\u6700\u521d\u7684\u60f3\u6cd5\u5f00\u59cb\uff0c\u5230\u65ad\u65ad\u7eed\u7eed\u5b8c\u6210\u8fd9\u672c\u4e66\uff0c\u518d\u5230\u6811\u6d1e\u7684\u70ed\u70c8\u53cd\u54cd\uff0c\u6211\u5f88\u6fc0\u52a8\uff0c\u4f46\u4e5f\u4e94\u5473\u6742\u9648\u3002\u539f\u6765\u5728\u5317\u5927\u8fd9\u4e2a\u56ed\u5b50\u91cc\uff0c\u4e5f\u6709\u90a3\u4e48\u591a\u4eba\uff0c\u5bf9\u81ea\u5df1\u7684\u672c\u79d1\u751f\u6daf\u5e76\u4e0d\u6ee1\u610f\u3002\u800c\u8fd9\u91cc\uff0c\u53ef\u662f\u56ca\u62ec\u4e86\u4e2d\u56fd\u975e\u5e38\u4f18\u79c0\u7684\u4e00\u5e2e\u5e74\u8f7b\u4eba\u3002\u6240\u4ee5\u95ee\u9898\u51fa\u5728\u54ea\u91cc\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u662f\u4e2a\u7c4d\u7c4d\u65e0\u540d\u7684\u672c\u79d1\u751f\u5440\uff0c\u53ea\u662f\u4e00\u4e2a\u5355\u7eaf\u7684\u6c42\u5b66\u8005\uff0c\u6211\u7684\u76ee\u6807\u53ea\u662f\u60f3\u5feb\u4e50\u5730\u3001\u81ea\u7531\u5730\u3001\u9ad8\u8d28\u91cf\u5730\u638c\u63e1\u90a3\u4e9b\u4e13\u4e1a\u77e5\u8bc6\uff0c\u6211\u60f3\uff0c\u6b63\u5728\u770b\u8fd9\u672c\u4e66\u7684\u5927\u591a\u6570\u672c\u79d1\u751f\u4e5f\u662f\u5982\u6b64\uff0c\u8c01\u60f3\u4ed8\u51fa\u65f6\u95f4\u4f46\u5374\u6536\u6548\u751a\u5fae\u5462\uff1f\u53c8\u662f\u8c01\u8feb\u4f7f\u5927\u5bb6\u5e26\u7740\u75db\u82e6\u53bb\u5e94\u4ed8\u5462\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u5199\u8fd9\u672c\u4e66\u7edd\u4e0d\u662f\u4e3a\u4e86\u9f13\u52b1\u5927\u5bb6\u7fd8\u8bfe\u81ea\u5b66\uff0c\u8bd5\u95ee\u8c01\u4e0d\u60f3\u5728\u8bfe\u5802\u4e0a\u548c\u90a3\u4e48\u591a\u4f18\u79c0\u7684\u540c\u5b66\u6d4e\u6d4e\u4e00\u5802\uff0c\u70ed\u70c8\u8ba8\u8bba\u5462\uff1f\u8c01\u4e0d\u60f3\u9047\u5230\u95ee\u9898\u76f4\u63a5\u627e\u8001\u5e08\u7b54\u7591\u89e3\u60d1\u5462\uff1f\u8c01\u4e0d\u60f3\u8f9b\u82e6\u5b66\u4e60\u7684\u6210\u679c\u53ef\u4ee5\u76f4\u63a5\u5316\u4f5c\u5b66\u6821\u627f\u8ba4\u7684\u5b66\u5206\u7ee9\u70b9\u5462\uff1f\u53ef\u5982\u679c\u4e00\u4e2a\u5162\u5162\u4e1a\u4e1a\u3001\u6309\u65f6\u5230\u5802\u7684\u5b66\u751f\u6536\u83b7\u7684\u5374\u662f\u75db\u82e6\uff0c\u800c\u90a3\u4e2a\u4e00\u5b66\u671f\u53ea\u6709\u8003\u8bd5\u4f1a\u51fa\u5e2d\u7684\u5b66\u751f\u5374\u5b66\u5f97\u81ea\u5f97\u5176\u4e50\uff0c\u8fd9\u516c\u5e73\u5417\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u662f\u4e0d\u7518\uff0c\u4e0d\u7518\u5fc3\u8fd9\u4e9b\u901a\u8fc7\u9ad8\u8003\u6218\u80dc\u65e0\u6570\u4eba\u8fdb\u5165\u9ad8\u6821\u7684\u5b66\u5b50\u672c\u53ef\u4ee5\u6536\u83b7\u4e00\u4e2a\u66f4\u5feb\u4e50\u7684\u672c\u79d1\u751f\u6daf\uff0c\u4f46\u73b0\u5b9e\u5374\u7559\u7ed9\u4e86\u4ed6\u4eec\u9057\u61be\u3002\u6211\u53cd\u95ee\u81ea\u5df1\uff0c\u672c\u79d1\u6559\u80b2\u7a76\u7adf\u5e94\u8be5\u5e26\u7ed9\u6211\u4eec\u4ec0\u4e48\u5462\uff1f\u662f\u5b66\u5b8c\u6240\u6709\u8fd9\u4e9b\u8bfe\u7a0b\u5417\uff1f\u5012\u4e5f\u672a\u5fc5\uff0c\u5b83\u4e5f\u8bb8\u53ea\u9002\u5408\u6211\u8fd9\u79cdnerd\u3002\u4f46\u6211\u89c9\u5f97\uff0c\u672c\u79d1\u6559\u80b2\u81f3\u5c11\u5f97\u5c55\u73b0\u5b83\u5e94\u6709\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u5206\u4eab\u77e5\u8bc6\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u4ee5\u4eba\u4e3a\u672c\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u6ce8\u91cd\u5b66\u751f\u4f53\u9a8c\u7684\u8bda\u610f\u3002\u5b83\u81f3\u5c11\u4e0d\u5e94\u8be5\u662f\u4e00\u79cd\u6076\u610f\uff0c\u4e00\u79cd\u62fc\u6bd4\u77e5\u8bc6\u7684\u6076\u610f\uff0c\u4e00\u79cd\u80dc\u8005\u4e3a\u738b\u7684\u6076\u610f\uff0c\u4e00\u79cd\u8ba9\u4eba\u5b66\u65e0\u6240\u5f97\u7684\u6076\u610f\u3002\u4f46\u8fd9\u4e00\u5207\u80fd\u6539\u53d8\u5417\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u77e5\u9053\u6211\u505a\u4e86\u5e94\u8be5\u505a\u7684\u4e8b\u60c5\uff0c\u5b66\u751f\u4eec\u4f1a\u7528\u811a\u6295\u7968\uff0c\u6811\u6d1e\u7684\u5173\u6ce8\u91cf\u548c\u56de\u5e16\u6570\u8bc1\u660e\u4e86\u8fd9\u6837\u4e00\u4efd\u8d44\u6599\u662f\u6709\u4ef7\u503c\u7684\uff0c\u4e5f\u9053\u51fa\u4e86\u56fd\u5185CS\u672c\u79d1\u6559\u80b2\u548c\u56fd\u5916\u7684\u5dee\u8ddd\u3002\u4e5f\u8bb8\u8fd9\u6837\u7684\u6539\u53d8\u662f\u5fae\u4e4e\u5176\u5fae\u7684\uff0c\u4f46\u522b\u5fd8\u4e86\u6211\u53ea\u662f\u4e00\u4e2a\u7c4d\u7c4d\u65e0\u540d\u7684\u672c\u79d1\u751f\uff0c\u662f\u5317\u5927\u4fe1\u79d1\u4e00\u5343\u591a\u540d\u672c\u79d1\u751f\u4e2d\u7684\u666e\u901a\u4e00\u5458\uff0c\u662f\u4e2d\u56fd\u51e0\u767e\u4e07\u5728\u8bfb\u672c\u79d1\u751f\u4e2d\u7684\u4e00\u5206\u5b50\uff0c\u5982\u679c\u6709\u66f4\u591a\u7684\u4eba\u7ad9\u51fa\u6765\uff0c\u6bcf\u4e2a\u4eba\u505a\u4e00\u70b9\u70b9\uff0c\u4e5f\u8bb8\u662f\u5206\u4eab\u4e00\u4e2a\u5e16\u5b50\uff0c\u4e5f\u8bb8\u662f\u5f53\u4e00\u95e8\u8bfe\u7684\u52a9\u6559\uff0c\u4e5f\u8bb8\u662f\u7cbe\u5fc3\u8bbe\u8ba1\u4e00\u95e8\u8bfe\u7684lab\uff0c\u66f4\u6216\u8bb8\u662f\u5c06\u6765\u83b7\u5f97\u6559\u804c\u4e4b\u540e\u5f00\u8bbe\u4e00\u95e8\u9ad8\u8d28\u91cf\u7684\u8bfe\u7a0b\uff0c\u51fa\u7248\u4e00\u672c\u7ecf\u5178\u7684\u6559\u6750\u3002\u672c\u79d1\u6559\u80b2\u771f\u7684\u6709\u4ec0\u4e48\u6280\u672f\u58c1\u5792\u5417\uff1f\u6211\u770b\u672a\u5fc5\uff0c\u6559\u80b2\u9760\u7684\u662f\u8bda\u610f\uff0c\u9760\u7684\u662f\u80b2\u4eba\u4e4b\u5fc3\u3002 \u4eca\u5929\u662f2021\u5e7412\u670812\u65e5\uff0c\u6211\u671f\u5f85\u5728\u4e0d\u4e45\u7684\u5c06\u6765\u8fd9\u4e2a\u5e16\u5b50\u4f1a\u88ab\u9057\u5fd8\uff0c\u5927\u5bb6\u53ef\u4ee5\u6ee1\u5fc3\u6b22\u559c\u5730\u9009\u7740\u81ea\u5df1\u57f9\u517b\u65b9\u6848\u4e0a\u7684\u8bfe\u7a0b\uff0c\u505a\u7740\u5b66\u6821\u81ea\u884c\u8bbe\u8ba1\u7684\u5404\u7c7b\u7f16\u7a0b\u5b9e\u9a8c\uff0c\u8bfe\u5802\u6ca1\u6709\u7b7e\u5230\u4e5f\u80fd\u6d4e\u6d4e\u4e00\u5802\uff0c\u5b66\u751f\u8e0a\u8dc3\u5730\u53d1\u8a00\u4e92\u52a8\uff0c\u5927\u5bb6\u7684\u6536\u83b7\u53ef\u4ee5\u548c\u52aa\u529b\u6210\u6b63\u6bd4\uff0c\u90a3\u4e9b\u66fe\u7ecf\u7684\u9057\u61be\u548c\u75db\u82e6\u53ef\u4ee5\u6c38\u8fdc\u6210\u4e3a\u5386\u53f2\u3002\u6211\u771f\u7684\u5f88\u671f\u5f85\u90a3\u4e00\u5929\uff0c\u771f\u7684\u771f\u7684\u771f\u7684\u5f88\u671f\u5f85\u3002 PKUFlyingPig 2021\u5e7412\u670812\u65e5\u5199\u4e8e\u71d5\u56ed","title":"\u540e\u8bb0"},{"location":"%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88Pro/","text":"under construction.","title":"\u57f9\u517b\u65b9\u6848Pro"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/","text":"\u597d\u4e66\u63a8\u8350 \u7531\u4e8e\u7248\u6743\u539f\u56e0\uff0c\u4e0b\u9762\u5217\u4e3e\u7684\u56fe\u4e66\u4e2d\u9664\u4e86\u5f00\u6e90\u8d44\u6e90\u63d0\u4f9b\u4e86\u94fe\u63a5\uff0c\u5176\u4ed6\u7684\u8d44\u6e90\u8bf7\u5927\u5bb6\u81ea\u884c\u901a\u8fc7 libgen \u6216 z-lib \u67e5\u627e\u3002 \u8d44\u6e90\u6c47\u603b Free Programming Books : \u5f00\u6e90\u7f16\u7a0b\u4e66\u7c4d\u8d44\u6e90\u6c47\u603b CS Textbook Recommendations : \u8ba1\u7b97\u673a\u79d1\u5b66\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868 C Book Guide and List : C\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 C++ Book Guide and List : C++\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 Python Book Guide and List : Python\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 Computer Vision Textbook Recommendations : \u8ba1\u7b97\u673a\u89c6\u89c9\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868 Deep Learning Textbook Recommendations : \u6df1\u5ea6\u5b66\u4e60\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868 \u7cfb\u7edf\u5165\u95e8 Computer Systems: A Programmer's Perspective [ \u8c46\u74e3 ] Principles of Computer System Design: An Introduction [ \u8c46\u74e3 ] \u64cd\u4f5c\u7cfb\u7edf \u73b0\u4ee3\u64cd\u4f5c\u7cfb\u7edf: \u539f\u7406\u4e0e\u5b9e\u73b0 [ \u8c46\u74e3 ] Operating Systems: Three Easy Pieces [ \u8c46\u74e3 ] Modern Operating Systems [ \u8c46\u74e3 ] Operating Systems: Principles and Practice [ \u8c46\u74e3 ] \u8ba1\u7b97\u673a\u7f51\u7edc Computer Networks: A Systems Approach [ \u8c46\u74e3 ] Computer Networking: A Top-Down Approach [ \u8c46\u74e3 ] How Networks Work [ \u8c46\u74e3 ] \u5206\u5e03\u5f0f\u7cfb\u7edf Patterns of Distributed System (Blog) Distributed Systems for Fun and Profit (Blog) Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems [ \u8c46\u74e3 ] \u6570\u636e\u5e93\u7cfb\u7edf Architecture of a Database System [ \u8c46\u74e3 ] Readings in Database Systems [ \u8c46\u74e3 ] Database System Concepts : 7th Edition [ \u8c46\u74e3 ] \u7f16\u8bd1\u539f\u7406 Engineering a Compiler [ \u8c46\u74e3 ] Compilers: Principles, Techniques, and Tools [ \u8c46\u74e3 ] Crafting Interpreters [\u8c46\u74e3] [\u5f00\u6e90\u4e2d\u6587\u7ffb\u8bd1] \u8ba1\u7b97\u673a\u7f16\u7a0b\u8bed\u8a00 \u8ba1\u7b97\u673a\u7a0b\u5e8f\u7684\u6784\u9020\u548c\u89e3\u91ca [ \u8c46\u74e3 ] Essentials of Programming Languages [ \u8c46\u74e3 ] Practical Foundations for Programming Languages [ \u8c46\u74e3 ] Software Foundations [ \u8c46\u74e3 ] [ \u5317\u5927\u76f8\u5173\u8bfe\u7a0b ] Types and Programming Languages [ \u8c46\u74e3 ] [ \u5317\u5927\u76f8\u5173\u8bfe\u7a0b ] \u4f53\u7cfb\u7ed3\u6784 \u8d85\u6807\u91cf\u5904\u7406\u5668\u8bbe\u8ba1: Superscalar RISC Processor Design [ \u8c46\u74e3 ] Computer Organization and Design RISC-V Edition [ \u8c46\u74e3 ] Computer Organization and Design: The Hardware/Software Interface [ \u8c46\u74e3 ] Computer Architecture: A Quantitative Approach [ \u8c46\u74e3 ] \u7406\u8bba\u8ba1\u7b97\u673a\u79d1\u5b66 Introduction to the Theory of Computation [ \u8c46\u74e3 ] \u5bc6\u7801\u5b66 Cryptography Engineering: Design Principles and Practical Applications [ \u8c46\u74e3 ] Introduction to Modern Cryptography [ \u8c46\u74e3 ] \u9006\u5411\u5de5\u7a0b \u9006\u5411\u5de5\u7a0b\u6838\u5fc3\u539f\u7406 [ \u8c46\u74e3 ] \u52a0\u5bc6\u4e0e\u89e3\u5bc6 [ \u8c46\u74e3 ] \u8ba1\u7b97\u673a\u56fe\u5f62\u5b66 Monte Carlo theory, methods and examples [ \u8c46\u74e3 ] Advanced Global Illumination [ \u8c46\u74e3 ] Fundamentals of Computer Graphics [ \u8c46\u74e3 ] Fluid Simulation for Computer Graphics [ \u8c46\u74e3 ] Physically Based Rendering: From Theory To Implementation [ \u8c46\u74e3 ] Real-Time Rendering [ \u8c46\u74e3 ] \u6e38\u620f\u5f15\u64ce \u6e38\u620f\u7f16\u7a0b\u6a21\u5f0f: Game Programming Patterns [ \u8c46\u74e3 ] \u5b9e\u65f6\u78b0\u649e\u68c0\u6d4b\u7b97\u6cd5\u6280\u672f [ \u8c46\u74e3 ] Game AI Pro Series [ \u8c46\u74e3 ] Artificial Intelligence for Games [ \u8c46\u74e3 ] Game Engine Architecture [ \u8c46\u74e3 ] Game Programming Gems Series [ \u8c46\u74e3 ] \u8f6f\u4ef6\u5de5\u7a0b Software Engineering at Google [ \u8c46\u74e3 ] \u8bbe\u8ba1\u6a21\u5f0f \u8bbe\u8ba1\u6a21\u5f0f: \u53ef\u590d\u7528\u9762\u5411\u5bf9\u8c61\u8f6f\u4ef6\u7684\u57fa\u7840 [ \u8c46\u74e3 ] \u5927\u8bdd\u8bbe\u8ba1\u6a21\u5f0f [ \u8c46\u74e3 ] Head First Design Patterns 2nd ed. [ \u8c46\u74e3 ] \u6df1\u5ea6\u5b66\u4e60 \u52a8\u624b\u5b66\u6df1\u5ea6\u5b66\u4e60 [ \u8c46\u74e3 ] \u795e\u7ecf\u7f51\u7edc\u4e0e\u6df1\u5ea6\u5b66\u4e60 [ \u8c46\u74e3 ] \u6df1\u5ea6\u5b66\u4e60\u5165\u95e8 [ \u8c46\u74e3 ] \u7b80\u5355\u7c97\u66b4 TensorFlow 2 (Tutorial) Speech and Language Processing [ \u8c46\u74e3 ] \u8ba1\u7b97\u673a\u89c6\u89c9 Multiple View Geometry in Computer Vision [ \u8c46\u74e3 ] \u673a\u5668\u4eba Probabilistic Robotics [ \u8c46\u74e3 ] \u9762\u8bd5 \u5251\u6307 Offer\uff1a\u540d\u4f01\u9762\u8bd5\u5b98\u7cbe\u8bb2\u5178\u578b\u7f16\u7a0b\u9898 [ \u8c46\u74e3 ] Cracking The Coding Interview [ \u8c46\u74e3 ]","title":"\u597d\u4e66\u63a8\u8350"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_1","text":"\u7531\u4e8e\u7248\u6743\u539f\u56e0\uff0c\u4e0b\u9762\u5217\u4e3e\u7684\u56fe\u4e66\u4e2d\u9664\u4e86\u5f00\u6e90\u8d44\u6e90\u63d0\u4f9b\u4e86\u94fe\u63a5\uff0c\u5176\u4ed6\u7684\u8d44\u6e90\u8bf7\u5927\u5bb6\u81ea\u884c\u901a\u8fc7 libgen \u6216 z-lib \u67e5\u627e\u3002","title":"\u597d\u4e66\u63a8\u8350"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_2","text":"Free Programming Books : \u5f00\u6e90\u7f16\u7a0b\u4e66\u7c4d\u8d44\u6e90\u6c47\u603b CS Textbook Recommendations : \u8ba1\u7b97\u673a\u79d1\u5b66\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868 C Book Guide and List : C\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 C++ Book Guide and List : C++\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 Python Book Guide and List : Python\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 Computer Vision Textbook Recommendations : \u8ba1\u7b97\u673a\u89c6\u89c9\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868 Deep Learning Textbook Recommendations : \u6df1\u5ea6\u5b66\u4e60\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_3","text":"Computer Systems: A Programmer's Perspective [ \u8c46\u74e3 ] Principles of Computer System Design: An Introduction [ \u8c46\u74e3 ]","title":"\u7cfb\u7edf\u5165\u95e8"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_4","text":"\u73b0\u4ee3\u64cd\u4f5c\u7cfb\u7edf: \u539f\u7406\u4e0e\u5b9e\u73b0 [ \u8c46\u74e3 ] Operating Systems: Three Easy Pieces [ \u8c46\u74e3 ] Modern Operating Systems [ \u8c46\u74e3 ] Operating Systems: Principles and Practice [ \u8c46\u74e3 ]","title":"\u64cd\u4f5c\u7cfb\u7edf"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_5","text":"Computer Networks: A Systems Approach [ \u8c46\u74e3 ] Computer Networking: A Top-Down Approach [ \u8c46\u74e3 ] How Networks Work [ \u8c46\u74e3 ]","title":"\u8ba1\u7b97\u673a\u7f51\u7edc"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_6","text":"Patterns of Distributed System (Blog) Distributed Systems for Fun and Profit (Blog) Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems [ \u8c46\u74e3 ]","title":"\u5206\u5e03\u5f0f\u7cfb\u7edf"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_7","text":"Architecture of a Database System [ \u8c46\u74e3 ] Readings in Database Systems [ \u8c46\u74e3 ] Database System Concepts : 7th Edition [ \u8c46\u74e3 ]","title":"\u6570\u636e\u5e93\u7cfb\u7edf"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_8","text":"Engineering a Compiler [ \u8c46\u74e3 ] Compilers: Principles, Techniques, and Tools [ \u8c46\u74e3 ] Crafting Interpreters [\u8c46\u74e3] [\u5f00\u6e90\u4e2d\u6587\u7ffb\u8bd1]","title":"\u7f16\u8bd1\u539f\u7406"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_9","text":"\u8ba1\u7b97\u673a\u7a0b\u5e8f\u7684\u6784\u9020\u548c\u89e3\u91ca [ \u8c46\u74e3 ] Essentials of Programming Languages [ \u8c46\u74e3 ] Practical Foundations for Programming Languages [ \u8c46\u74e3 ] Software Foundations [ \u8c46\u74e3 ] [ \u5317\u5927\u76f8\u5173\u8bfe\u7a0b ] Types and Programming Languages [ \u8c46\u74e3 ] [ \u5317\u5927\u76f8\u5173\u8bfe\u7a0b ]","title":"\u8ba1\u7b97\u673a\u7f16\u7a0b\u8bed\u8a00"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_10","text":"\u8d85\u6807\u91cf\u5904\u7406\u5668\u8bbe\u8ba1: Superscalar RISC Processor Design [ \u8c46\u74e3 ] Computer Organization and Design RISC-V Edition [ \u8c46\u74e3 ] Computer Organization and Design: The Hardware/Software Interface [ \u8c46\u74e3 ] Computer Architecture: A Quantitative Approach [ \u8c46\u74e3 ]","title":"\u4f53\u7cfb\u7ed3\u6784"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_11","text":"Introduction to the Theory of Computation [ \u8c46\u74e3 ]","title":"\u7406\u8bba\u8ba1\u7b97\u673a\u79d1\u5b66"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_12","text":"Cryptography Engineering: Design Principles and Practical Applications [ \u8c46\u74e3 ] Introduction to Modern Cryptography [ \u8c46\u74e3 ]","title":"\u5bc6\u7801\u5b66"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_13","text":"\u9006\u5411\u5de5\u7a0b\u6838\u5fc3\u539f\u7406 [ \u8c46\u74e3 ] \u52a0\u5bc6\u4e0e\u89e3\u5bc6 [ \u8c46\u74e3 ]","title":"\u9006\u5411\u5de5\u7a0b"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_14","text":"Monte Carlo theory, methods and examples [ \u8c46\u74e3 ] Advanced Global Illumination [ \u8c46\u74e3 ] Fundamentals of Computer Graphics [ \u8c46\u74e3 ] Fluid Simulation for Computer Graphics [ \u8c46\u74e3 ] Physically Based Rendering: From Theory To Implementation [ \u8c46\u74e3 ] Real-Time Rendering [ \u8c46\u74e3 ]","title":"\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_15","text":"\u6e38\u620f\u7f16\u7a0b\u6a21\u5f0f: Game Programming Patterns [ \u8c46\u74e3 ] \u5b9e\u65f6\u78b0\u649e\u68c0\u6d4b\u7b97\u6cd5\u6280\u672f [ \u8c46\u74e3 ] Game AI Pro Series [ \u8c46\u74e3 ] Artificial Intelligence for Games [ \u8c46\u74e3 ] Game Engine Architecture [ \u8c46\u74e3 ] Game Programming Gems Series [ \u8c46\u74e3 ]","title":"\u6e38\u620f\u5f15\u64ce"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_16","text":"Software Engineering at Google [ \u8c46\u74e3 ]","title":"\u8f6f\u4ef6\u5de5\u7a0b"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_17","text":"\u8bbe\u8ba1\u6a21\u5f0f: \u53ef\u590d\u7528\u9762\u5411\u5bf9\u8c61\u8f6f\u4ef6\u7684\u57fa\u7840 [ \u8c46\u74e3 ] \u5927\u8bdd\u8bbe\u8ba1\u6a21\u5f0f [ \u8c46\u74e3 ] Head First Design Patterns 2nd ed. [ \u8c46\u74e3 ]","title":"\u8bbe\u8ba1\u6a21\u5f0f"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_18","text":"\u52a8\u624b\u5b66\u6df1\u5ea6\u5b66\u4e60 [ \u8c46\u74e3 ] \u795e\u7ecf\u7f51\u7edc\u4e0e\u6df1\u5ea6\u5b66\u4e60 [ \u8c46\u74e3 ] \u6df1\u5ea6\u5b66\u4e60\u5165\u95e8 [ \u8c46\u74e3 ] \u7b80\u5355\u7c97\u66b4 TensorFlow 2 (Tutorial) Speech and Language Processing [ \u8c46\u74e3 ]","title":"\u6df1\u5ea6\u5b66\u4e60"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_19","text":"Multiple View Geometry in Computer Vision [ \u8c46\u74e3 ]","title":"\u8ba1\u7b97\u673a\u89c6\u89c9"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_20","text":"Probabilistic Robotics [ \u8c46\u74e3 ]","title":"\u673a\u5668\u4eba"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_21","text":"\u5251\u6307 Offer\uff1a\u540d\u4f01\u9762\u8bd5\u5b98\u7cbe\u8bb2\u5178\u578b\u7f16\u7a0b\u9898 [ \u8c46\u74e3 ] Cracking The Coding Interview [ \u8c46\u74e3 ]","title":"\u9762\u8bd5"},{"location":"Web%E5%BC%80%E5%8F%91/CS142/","text":"Stanford CS142: Web Applications \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u7ecf\u9a8c \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u65af\u5766\u798f\u7684 Web \u5e94\u7528\u5f00\u53d1\u8bfe\u7a0b\uff0c\u5185\u5bb9\u8986\u76d6\u4e86 HTML, CSS, JavaScript, ReactJs, NodeJS, ExpressJS, Web\u5b89\u5168\u7b49\u7b49\u30028 \u4e2a Project \u4f1a\u8ba9\u4f60\u5728\u5b9e\u6218\u4e2d\u953b\u70bc\u81ea\u5df1\u7684 Web \u5f00\u53d1\u6280\u5de7\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://web.stanford.edu/class/cs142/index.html \u8bfe\u7a0b\u89c6\u9891\uff1a https://web.stanford.edu/class/cs142/lectures.html \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://web.stanford.edu/class/cs142/projects.html","title":"Stanford CS142: Web Applications"},{"location":"Web%E5%BC%80%E5%8F%91/CS142/#stanford-cs142-web-applications","text":"","title":"Stanford CS142: Web Applications"},{"location":"Web%E5%BC%80%E5%8F%91/CS142/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u7ecf\u9a8c \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u65af\u5766\u798f\u7684 Web \u5e94\u7528\u5f00\u53d1\u8bfe\u7a0b\uff0c\u5185\u5bb9\u8986\u76d6\u4e86 HTML, CSS, JavaScript, ReactJs, NodeJS, ExpressJS, Web\u5b89\u5168\u7b49\u7b49\u30028 \u4e2a Project \u4f1a\u8ba9\u4f60\u5728\u5b9e\u6218\u4e2d\u953b\u70bc\u81ea\u5df1\u7684 Web \u5f00\u53d1\u6280\u5de7\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"Web%E5%BC%80%E5%8F%91/CS142/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://web.stanford.edu/class/cs142/index.html \u8bfe\u7a0b\u89c6\u9891\uff1a https://web.stanford.edu/class/cs142/lectures.html \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://web.stanford.edu/class/cs142/projects.html","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"Web%E5%BC%80%E5%8F%91/CS571/","text":"CS571 Building UI (React & React Native) \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u5a01\u65af\u5eb7\u661f\u5927\u5b66\u9ea6\u8fea\u900a\u5206\u6821\uff08University of Wisconsin, Madison\uff09 \u5148\u4fee\u8981\u6c42\uff1aCS400\uff08\u9ad8\u7ea7 Java\uff0c\u4f46\u4e2a\u4eba\u89c9\u5f97\u5148\u4fee\u4e0d\u5fc5\u8981\uff0c\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\u5373\u53ef\uff09 \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u6bcf\u5468 2 \u5c0f\u65f6\uff08\u8bb2\u5ea7\uff09+ \u6bcf\u5468 4\u201310 \u5c0f\u65f6\uff08\u4f5c\u4e1a\uff09\uff0c\u6301\u7eed 12 \u5468 \u8be5\u8bfe\u7a0b\u63d0\u4f9b\u4e86 React \u524d\u7aef\u5f00\u53d1\u548c React Native \u79fb\u52a8\u7aef\u5f00\u53d1\u7684\u6700\u4f73\u5b9e\u8df5\u4ecb\u7ecd\uff0c\u5b8c\u6574\u7684\u540c\u65f6\u53c8\u63d0\u7eb2\u6308\u9886\u3002\u91c7\u7528 React \u548c React Native \u7684\u6700\u65b0\u7248\u672c\uff0c\u8bfe\u7a0b\u7f51\u7ad9\u6bcf\u5b66\u671f\u90fd\u4f1a\u66f4\u65b0\u3002\u5bf9\u4e8e\u5404\u95e8\u5de5\u5177\u8fed\u51fa\u7684\u524d\u7aef\u5f00\u53d1\u96be\u80fd\u53ef\u8d35\u3002 \u540c\u65f6\uff0c\u8be5\u8bfe\u7a0b\u4e5f\u63d0\u4f9b\u4e86\u5f88\u597d\u7684\u8bad\u7ec3\u673a\u4f1a\u3002\u5728\u6574\u4e2a\u5b66\u671f\u4e2d\uff0c\u9700\u8981\u4e3a\u8f83\u5927\u4f5c\u4e1a\u91cf\u505a\u597d\u51c6\u5907\u3002\u4f5c\u4e1a\u6240\u6d89\u53ca\u7684\u6280\u672f\u548c\u77e5\u8bc6\u70b9\u4f1a\u5728\u8bfe\u4e0a\u8bb2\u89e3\uff0c\u4f46\u4e0d\u4f1a\u624b\u628a\u624b\u5199\u4ee3\u7801\uff08\u4e2a\u4eba\u8ba4\u4e3a\u624b\u628a\u624b\u5199\u4ee3\u7801\u6548\u7387\u975e\u5e38\u4f4e\uff0c\u800c Udemy \u4e0a\u591a\u4e3a\u6b64\u7c7b\u578b\uff09\u3002\u7531\u4e8e\u4e0d\u662f\u4fdd\u59c6\u7ea7\u8bfe\u7a0b\uff0c\u5982\u679c\u5199\u4f5c\u4e1a\u65f6\u5bf9\u4e8e React \u7684\u67d0\u4e9b\u529f\u80fd\u4e0d\u786e\u5b9a\u600e\u4e48\u5199\uff0c\u5efa\u8bae\u5728\u52a8\u624b\u4e4b\u524d\u591a\u82b1\u4e9b\u65f6\u95f4\u4ed4\u7ec6\u9605\u8bfb react.dev \u4e0a\u7684\u76f8\u5173\u7ae0\u8282\u3002\u4f5c\u4e1a\u7684 starter code \u63d0\u4f9b\u7684\u8bad\u7ec3\u8d77\u70b9\u4e5f\u6070\u597d\u5408\u9002\uff0c\u4e0d\u7528\u4e3a\u914d Node.js \u73af\u5883\u4f24\u8111\u7b4b\u3002 \u5c3d\u7ba1\u8fd9\u95e8\u8bfe\u7a0b\u4e0d\u8981\u6c42\u9884\u5148\u4f1a Javascript/HTML/CSS\uff0c\u8bfe\u5802\u4e0a\u5bf9 syntax \u7684\u4ecb\u7ecd\u6bd4\u8f83\u6709\u9650\uff0c\u5efa\u8bae\u5b66\u4e60\u548c\u5199\u7801\u9047\u5230\u8bed\u6cd5\u95ee\u9898\u65f6\u52e4\u67e5\u52e4\u95ee\u3002 \u6b64\u5916\uff0c\u672c\u8bfe\u7a0b\u8fd8\u5bf9 Google \u65d7\u4e0b\u7684 ChatBot \u5f00\u53d1\u5de5\u5177 Dialog Flow \u6709\u8f83\u4e3a\u6df1\u5165\u7684\u4ecb\u7ecd\u548c\u7ec3\u4e60\u3002\u8fd8\u5bf9 UX Design \u7684\u5b9e\u7528\u539f\u5219\u548c\u6280\u672f\u6709\u6240\u8bb2\u89e3\u3002 \u6240\u6709\u8bfe\u7a0b\u8d44\u6599\u548c\u4f5c\u4e1a\u90fd\u662f\u5f00\u6e90\u7684\uff0c\u4f46\u4f60\u9700\u8981\u5411\u6388\u8bfe\u6559\u5e08 Cole Nelson (ctnelson2@wisc.edu) \u53d1\u9001\u7535\u5b50\u90ae\u4ef6\u4ee5\u83b7\u53d6 X-CS571-ID\u3002\u8be5 ID \u662f\u5411 API \u53d1\u9001 request \u5fc5\u9700\u3002\u5728\u53d1\u9001\u90ae\u4ef6\u65f6\uff0c\u5efa\u8bae\u9644\u4e0a\u81ea\u6211\u4ecb\u7ecd\u3002\u76ee\u524d\u8fd8\u4e0d\u6e05\u695a\u8001\u5e08\u662f\u5426\u613f\u610f\u7ed9\u6240\u6709\u4eba\u63d0\u4f9bID\uff0c\u5982\u679c\u8001\u5e08\u8868\u793a\u65e0\u6cd5\u5206\u4eab\uff0c\u8bf7 \u5728 GitHub repo \u91cc\u63d0\u4e00\u4e2a issue \u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs571.org \u8bfe\u7a0b\u89c6\u9891\uff1a\u8bf7\u53c2\u8003\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u6807\u6709\u201cR\u201d\u7684\u94fe\u63a5 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u8bf7\u53c2\u8003\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u7684\u76f8\u5173\u4fe1\u606f","title":"CS571 Building UI (React & React Native)"},{"location":"Web%E5%BC%80%E5%8F%91/CS571/#cs571-building-ui-react-react-native","text":"","title":"CS571 Building UI (React & React Native)"},{"location":"Web%E5%BC%80%E5%8F%91/CS571/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u5a01\u65af\u5eb7\u661f\u5927\u5b66\u9ea6\u8fea\u900a\u5206\u6821\uff08University of Wisconsin, Madison\uff09 \u5148\u4fee\u8981\u6c42\uff1aCS400\uff08\u9ad8\u7ea7 Java\uff0c\u4f46\u4e2a\u4eba\u89c9\u5f97\u5148\u4fee\u4e0d\u5fc5\u8981\uff0c\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\u5373\u53ef\uff09 \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u6bcf\u5468 2 \u5c0f\u65f6\uff08\u8bb2\u5ea7\uff09+ \u6bcf\u5468 4\u201310 \u5c0f\u65f6\uff08\u4f5c\u4e1a\uff09\uff0c\u6301\u7eed 12 \u5468 \u8be5\u8bfe\u7a0b\u63d0\u4f9b\u4e86 React \u524d\u7aef\u5f00\u53d1\u548c React Native \u79fb\u52a8\u7aef\u5f00\u53d1\u7684\u6700\u4f73\u5b9e\u8df5\u4ecb\u7ecd\uff0c\u5b8c\u6574\u7684\u540c\u65f6\u53c8\u63d0\u7eb2\u6308\u9886\u3002\u91c7\u7528 React \u548c React Native \u7684\u6700\u65b0\u7248\u672c\uff0c\u8bfe\u7a0b\u7f51\u7ad9\u6bcf\u5b66\u671f\u90fd\u4f1a\u66f4\u65b0\u3002\u5bf9\u4e8e\u5404\u95e8\u5de5\u5177\u8fed\u51fa\u7684\u524d\u7aef\u5f00\u53d1\u96be\u80fd\u53ef\u8d35\u3002 \u540c\u65f6\uff0c\u8be5\u8bfe\u7a0b\u4e5f\u63d0\u4f9b\u4e86\u5f88\u597d\u7684\u8bad\u7ec3\u673a\u4f1a\u3002\u5728\u6574\u4e2a\u5b66\u671f\u4e2d\uff0c\u9700\u8981\u4e3a\u8f83\u5927\u4f5c\u4e1a\u91cf\u505a\u597d\u51c6\u5907\u3002\u4f5c\u4e1a\u6240\u6d89\u53ca\u7684\u6280\u672f\u548c\u77e5\u8bc6\u70b9\u4f1a\u5728\u8bfe\u4e0a\u8bb2\u89e3\uff0c\u4f46\u4e0d\u4f1a\u624b\u628a\u624b\u5199\u4ee3\u7801\uff08\u4e2a\u4eba\u8ba4\u4e3a\u624b\u628a\u624b\u5199\u4ee3\u7801\u6548\u7387\u975e\u5e38\u4f4e\uff0c\u800c Udemy \u4e0a\u591a\u4e3a\u6b64\u7c7b\u578b\uff09\u3002\u7531\u4e8e\u4e0d\u662f\u4fdd\u59c6\u7ea7\u8bfe\u7a0b\uff0c\u5982\u679c\u5199\u4f5c\u4e1a\u65f6\u5bf9\u4e8e React \u7684\u67d0\u4e9b\u529f\u80fd\u4e0d\u786e\u5b9a\u600e\u4e48\u5199\uff0c\u5efa\u8bae\u5728\u52a8\u624b\u4e4b\u524d\u591a\u82b1\u4e9b\u65f6\u95f4\u4ed4\u7ec6\u9605\u8bfb react.dev \u4e0a\u7684\u76f8\u5173\u7ae0\u8282\u3002\u4f5c\u4e1a\u7684 starter code \u63d0\u4f9b\u7684\u8bad\u7ec3\u8d77\u70b9\u4e5f\u6070\u597d\u5408\u9002\uff0c\u4e0d\u7528\u4e3a\u914d Node.js \u73af\u5883\u4f24\u8111\u7b4b\u3002 \u5c3d\u7ba1\u8fd9\u95e8\u8bfe\u7a0b\u4e0d\u8981\u6c42\u9884\u5148\u4f1a Javascript/HTML/CSS\uff0c\u8bfe\u5802\u4e0a\u5bf9 syntax \u7684\u4ecb\u7ecd\u6bd4\u8f83\u6709\u9650\uff0c\u5efa\u8bae\u5b66\u4e60\u548c\u5199\u7801\u9047\u5230\u8bed\u6cd5\u95ee\u9898\u65f6\u52e4\u67e5\u52e4\u95ee\u3002 \u6b64\u5916\uff0c\u672c\u8bfe\u7a0b\u8fd8\u5bf9 Google \u65d7\u4e0b\u7684 ChatBot \u5f00\u53d1\u5de5\u5177 Dialog Flow \u6709\u8f83\u4e3a\u6df1\u5165\u7684\u4ecb\u7ecd\u548c\u7ec3\u4e60\u3002\u8fd8\u5bf9 UX Design \u7684\u5b9e\u7528\u539f\u5219\u548c\u6280\u672f\u6709\u6240\u8bb2\u89e3\u3002 \u6240\u6709\u8bfe\u7a0b\u8d44\u6599\u548c\u4f5c\u4e1a\u90fd\u662f\u5f00\u6e90\u7684\uff0c\u4f46\u4f60\u9700\u8981\u5411\u6388\u8bfe\u6559\u5e08 Cole Nelson (ctnelson2@wisc.edu) \u53d1\u9001\u7535\u5b50\u90ae\u4ef6\u4ee5\u83b7\u53d6 X-CS571-ID\u3002\u8be5 ID \u662f\u5411 API \u53d1\u9001 request \u5fc5\u9700\u3002\u5728\u53d1\u9001\u90ae\u4ef6\u65f6\uff0c\u5efa\u8bae\u9644\u4e0a\u81ea\u6211\u4ecb\u7ecd\u3002\u76ee\u524d\u8fd8\u4e0d\u6e05\u695a\u8001\u5e08\u662f\u5426\u613f\u610f\u7ed9\u6240\u6709\u4eba\u63d0\u4f9bID\uff0c\u5982\u679c\u8001\u5e08\u8868\u793a\u65e0\u6cd5\u5206\u4eab\uff0c\u8bf7 \u5728 GitHub repo \u91cc\u63d0\u4e00\u4e2a issue \u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"Web%E5%BC%80%E5%8F%91/CS571/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs571.org \u8bfe\u7a0b\u89c6\u9891\uff1a\u8bf7\u53c2\u8003\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u6807\u6709\u201cR\u201d\u7684\u94fe\u63a5 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u8bf7\u53c2\u8003\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u7684\u76f8\u5173\u4fe1\u606f","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"Web%E5%BC%80%E5%8F%91/fullstackopen/","text":"University of Helsinki: Full Stack open 2022 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUniversity of Helsinki \u5148\u4fee\u8981\u6c42\uff1a\u5177\u5907\u826f\u597d\u7684\u7f16\u7a0b\u6280\u80fd\u3001\u57fa\u672c\u7684\u7f51\u7edc\u7f16\u7a0b\u548c\u6570\u636e\u5e93\u77e5\u8bc6\uff0c\u5e76\u4e14\u4e86\u89e3\u4f7f\u7528 Git \u8fd9\u4e2a\u7248\u672c\u63a7\u5236\u7cfb\u7edf\u7684\u57fa\u7840\u77e5\u8bc6\u3002 \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS/NoSQL/SQL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u672c\u8bfe\u7a0b\u662f\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 JavaScript \u5f00\u53d1\u73b0\u4ee3Web\u5e94\u7528\u7a0b\u5e8f\u3002 \u8bfe\u7a0b\u7684\u91cd\u70b9\u662f\u4f7f\u7528 ReactJS \u6784\u5efa\u5355\u9875\u9762\u5e94\u7528\u7a0b\u5e8f\uff08SPA\uff09\uff0c\u5e76\u4f7f\u7528\u7531 Node.js \u6784\u5efa REST API\u3002\u8be5\u8bfe\u7a0b\u8fd8\u5305\u542b\u4ecb\u7ecd GraphQL \u7684\u90e8\u5206\uff0c\u8fd9\u662f REST API \u7684\u73b0\u4ee3\u66ff\u4ee3\u65b9\u6848\u3002 \u8bfe\u7a0b\u8fd8\u5305\u62ec\u6d4b\u8bd5\u3001\u914d\u7f6e\u548c\u73af\u5883\u7ba1\u7406\uff0c\u4ee5\u53ca\u4f7f\u7528 MongoDB \u6765\u5b58\u50a8\u5e94\u7528\u7684\u6570\u636e\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://fullstackopen.com/zh/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b Discord \u7fa4\u7ec4\uff1a https://study.cs.helsinki.fi/discord/join/fullstack/ \u8bfe\u7a0b Telegram \u7fa4\u7ec4\uff1a https://t.me/fullstackcourse/","title":"University of Helsinki: Full Stack open 2022"},{"location":"Web%E5%BC%80%E5%8F%91/fullstackopen/#university-of-helsinki-full-stack-open-2022","text":"","title":"University of Helsinki: Full Stack open 2022"},{"location":"Web%E5%BC%80%E5%8F%91/fullstackopen/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUniversity of Helsinki \u5148\u4fee\u8981\u6c42\uff1a\u5177\u5907\u826f\u597d\u7684\u7f16\u7a0b\u6280\u80fd\u3001\u57fa\u672c\u7684\u7f51\u7edc\u7f16\u7a0b\u548c\u6570\u636e\u5e93\u77e5\u8bc6\uff0c\u5e76\u4e14\u4e86\u89e3\u4f7f\u7528 Git \u8fd9\u4e2a\u7248\u672c\u63a7\u5236\u7cfb\u7edf\u7684\u57fa\u7840\u77e5\u8bc6\u3002 \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS/NoSQL/SQL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u672c\u8bfe\u7a0b\u662f\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 JavaScript \u5f00\u53d1\u73b0\u4ee3Web\u5e94\u7528\u7a0b\u5e8f\u3002 \u8bfe\u7a0b\u7684\u91cd\u70b9\u662f\u4f7f\u7528 ReactJS \u6784\u5efa\u5355\u9875\u9762\u5e94\u7528\u7a0b\u5e8f\uff08SPA\uff09\uff0c\u5e76\u4f7f\u7528\u7531 Node.js \u6784\u5efa REST API\u3002\u8be5\u8bfe\u7a0b\u8fd8\u5305\u542b\u4ecb\u7ecd GraphQL \u7684\u90e8\u5206\uff0c\u8fd9\u662f REST API \u7684\u73b0\u4ee3\u66ff\u4ee3\u65b9\u6848\u3002 \u8bfe\u7a0b\u8fd8\u5305\u62ec\u6d4b\u8bd5\u3001\u914d\u7f6e\u548c\u73af\u5883\u7ba1\u7406\uff0c\u4ee5\u53ca\u4f7f\u7528 MongoDB \u6765\u5b58\u50a8\u5e94\u7528\u7684\u6570\u636e\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"Web%E5%BC%80%E5%8F%91/fullstackopen/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://fullstackopen.com/zh/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b Discord \u7fa4\u7ec4\uff1a https://study.cs.helsinki.fi/discord/join/fullstack/ \u8bfe\u7a0b Telegram \u7fa4\u7ec4\uff1a https://t.me/fullstackcourse/","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"Web%E5%BC%80%E5%8F%91/mitweb/","text":"MIT Web Development Crash Course \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS/NoSQL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 MIT \u5728\u6bcf\u5e74 1 \u6708\u4efd\u4f1a\u6709\u4e00\u4e2a\u4e3a\u671f 4 \u5468\u7684 Independent Activities Period (IAP)\uff0c\u5728\u8fd9\u4e2a\u6708\u91cc\uff0cMIT \u7684\u5b66\u751f\u548c\u8001\u5e08\u53ef\u4ee5\u81ea\u7531\u5730\u5f00\u8bbe\u5f88\u591a\u6709\u8da3\u7684\u8bfe\u7a0b\uff0c\u800c\u8fd9\u95e8\u7f51\u7ad9\u5f00\u53d1\u8bfe\u7a0b\u5c31\u662f\u5176\u4e2d\u4e4b\u4e00\u3002 \u5728\u4e00\u4e2a\u6708\u7684\u65f6\u95f4\u91cc\uff0c\u4f60\u4f1a\u4ece\u96f6\u5f00\u59cb\u638c\u63e1\u4e00\u4e2a\u7f51\u7ad9\u7684\u8bbe\u8ba1\u3001\u642d\u5efa\u3001\u7f8e\u5316\u3001\u4ea4\u4e92\u7b49\u7b49\u6838\u5fc3\u5185\u5bb9\uff0c\u57fa\u672c\u8986\u76d6\u4e86 Web \u5f00\u53d1\u7684\u524d\u540e\u7aef\u5927\u90e8\u5206\u6280\u672f\u6808\u3002\u5982\u679c\u4f60\u4e0d\u9700\u8981\u7cfb\u7edf\u5730\u5b66\u4e60\u7f51\u7edc\u5f00\u53d1\uff0c\u800c\u53ea\u662f\u51fa\u4e8e\u5174\u8da3\u60f3\u628a\u5b83\u52a0\u5165\u81ea\u5df1\u7684\u6280\u80fd\u5305\u91cc\uff0c\u90a3\u4e48\u8fd9\u95e8\u8bfe\u5c06\u975e\u5e38\u9002\u5408\u4f60\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://weblab.mit.edu/schedule/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b Schedule","title":"MIT web development course"},{"location":"Web%E5%BC%80%E5%8F%91/mitweb/#mit-web-development-crash-course","text":"","title":"MIT Web Development Crash Course"},{"location":"Web%E5%BC%80%E5%8F%91/mitweb/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS/NoSQL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 MIT \u5728\u6bcf\u5e74 1 \u6708\u4efd\u4f1a\u6709\u4e00\u4e2a\u4e3a\u671f 4 \u5468\u7684 Independent Activities Period (IAP)\uff0c\u5728\u8fd9\u4e2a\u6708\u91cc\uff0cMIT \u7684\u5b66\u751f\u548c\u8001\u5e08\u53ef\u4ee5\u81ea\u7531\u5730\u5f00\u8bbe\u5f88\u591a\u6709\u8da3\u7684\u8bfe\u7a0b\uff0c\u800c\u8fd9\u95e8\u7f51\u7ad9\u5f00\u53d1\u8bfe\u7a0b\u5c31\u662f\u5176\u4e2d\u4e4b\u4e00\u3002 \u5728\u4e00\u4e2a\u6708\u7684\u65f6\u95f4\u91cc\uff0c\u4f60\u4f1a\u4ece\u96f6\u5f00\u59cb\u638c\u63e1\u4e00\u4e2a\u7f51\u7ad9\u7684\u8bbe\u8ba1\u3001\u642d\u5efa\u3001\u7f8e\u5316\u3001\u4ea4\u4e92\u7b49\u7b49\u6838\u5fc3\u5185\u5bb9\uff0c\u57fa\u672c\u8986\u76d6\u4e86 Web \u5f00\u53d1\u7684\u524d\u540e\u7aef\u5927\u90e8\u5206\u6280\u672f\u6808\u3002\u5982\u679c\u4f60\u4e0d\u9700\u8981\u7cfb\u7edf\u5730\u5b66\u4e60\u7f51\u7edc\u5f00\u53d1\uff0c\u800c\u53ea\u662f\u51fa\u4e8e\u5174\u8da3\u60f3\u628a\u5b83\u52a0\u5165\u81ea\u5df1\u7684\u6280\u80fd\u5305\u91cc\uff0c\u90a3\u4e48\u8fd9\u95e8\u8bfe\u5c06\u975e\u5e38\u9002\u5408\u4f60\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"Web%E5%BC%80%E5%8F%91/mitweb/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://weblab.mit.edu/schedule/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b Schedule","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/","text":"CS188: Introduction to Artificial Intelligence \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS70 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u4eba\u5de5\u667a\u80fd\u5165\u95e8\u8bfe\uff0c\u8bfe\u7a0b notes \u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u57fa\u672c\u4e0d\u9700\u8981\u89c2\u770b\u8bfe\u7a0b\u89c6\u9891\u3002\u8bfe\u7a0b\u5185\u5bb9\u7684\u5b89\u6392\u57fa\u672c\u6309\u7167\u4eba\u5de5\u667a\u80fd\u7684\u7ecf\u5178\u6559\u6750 Artificial intelligence: A Modern Approach \u7684\u7ae0\u8282\u987a\u5e8f\uff0c\u8986\u76d6\u4e86\u641c\u7d22\u526a\u679d\u3001\u7ea6\u675f\u6ee1\u8db3\u95ee\u9898\u3001\u9a6c\u5c14\u53ef\u592b\u51b3\u7b56\u8fc7\u7a0b\u3001\u5f3a\u5316\u5b66\u4e60\u3001\u8d1d\u53f6\u65af\u7f51\u7edc\u3001\u9690\u9a6c\u5c14\u53ef\u592b\u6a21\u578b\u4ee5\u53ca\u57fa\u7840\u7684\u673a\u5668\u5b66\u4e60\u548c\u795e\u7ecf\u7f51\u7edc\u7684\u76f8\u5173\u5185\u5bb9\u3002 2018\u5e74\u79cb\u5b63\u5b66\u671f\u7684\u7248\u672c\u514d\u8d39\u5f00\u653e\u4e86 gradescope\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728\u7ebf\u5b8c\u6210\u4e66\u9762\u4f5c\u4e1a\u5e76\u5b9e\u65f6\u5f97\u5230\u6d4b\u8bc4\u7ed3\u679c\u3002\u540c\u65f6\u8bfe\u7a0b\u7684 6 \u4e2a Project \u4e5f\u662f\u8d28\u91cf\u7206\u70b8\uff0c\u590d\u73b0\u4e86\u7ecf\u5178\u7684 Packman\uff08\u5403\u8c46\u4eba\uff09\u5c0f\u6e38\u620f\uff0c\u4f1a\u8ba9\u4f60\u5229\u7528\u5b66\u5230\u7684 AI \u77e5\u8bc6\uff0c\u53bb\u5b9e\u73b0\u76f8\u5173\u7b97\u6cd5\uff0c\u8ba9\u4f60\u7684\u5403\u8c46\u4eba\u5728\u8ff7\u5bab\u91cc\u81ea\u7531\u7a7f\u68ad\uff0c\u8eb2\u907f\u9b3c\u602a\uff0c\u6536\u96c6\u8c46\u5b50\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a Fall 2022 \uff0c Fall 2018 \u8bfe\u7a0b\u89c6\u9891\uff1a Fall 2022 \uff0c Fall 2018 \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1aArtificial intelligence: A Modern Approach \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5728\u7ebf\u6d4b\u8bc4\u4e66\u9762\u4f5c\u4e1a\u548c Projects\uff0c\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"UCB CS188: Introduction to Artificial Intelligence"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/#cs188-introduction-to-artificial-intelligence","text":"","title":"CS188: Introduction to Artificial Intelligence"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS70 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u4eba\u5de5\u667a\u80fd\u5165\u95e8\u8bfe\uff0c\u8bfe\u7a0b notes \u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u57fa\u672c\u4e0d\u9700\u8981\u89c2\u770b\u8bfe\u7a0b\u89c6\u9891\u3002\u8bfe\u7a0b\u5185\u5bb9\u7684\u5b89\u6392\u57fa\u672c\u6309\u7167\u4eba\u5de5\u667a\u80fd\u7684\u7ecf\u5178\u6559\u6750 Artificial intelligence: A Modern Approach \u7684\u7ae0\u8282\u987a\u5e8f\uff0c\u8986\u76d6\u4e86\u641c\u7d22\u526a\u679d\u3001\u7ea6\u675f\u6ee1\u8db3\u95ee\u9898\u3001\u9a6c\u5c14\u53ef\u592b\u51b3\u7b56\u8fc7\u7a0b\u3001\u5f3a\u5316\u5b66\u4e60\u3001\u8d1d\u53f6\u65af\u7f51\u7edc\u3001\u9690\u9a6c\u5c14\u53ef\u592b\u6a21\u578b\u4ee5\u53ca\u57fa\u7840\u7684\u673a\u5668\u5b66\u4e60\u548c\u795e\u7ecf\u7f51\u7edc\u7684\u76f8\u5173\u5185\u5bb9\u3002 2018\u5e74\u79cb\u5b63\u5b66\u671f\u7684\u7248\u672c\u514d\u8d39\u5f00\u653e\u4e86 gradescope\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728\u7ebf\u5b8c\u6210\u4e66\u9762\u4f5c\u4e1a\u5e76\u5b9e\u65f6\u5f97\u5230\u6d4b\u8bc4\u7ed3\u679c\u3002\u540c\u65f6\u8bfe\u7a0b\u7684 6 \u4e2a Project \u4e5f\u662f\u8d28\u91cf\u7206\u70b8\uff0c\u590d\u73b0\u4e86\u7ecf\u5178\u7684 Packman\uff08\u5403\u8c46\u4eba\uff09\u5c0f\u6e38\u620f\uff0c\u4f1a\u8ba9\u4f60\u5229\u7528\u5b66\u5230\u7684 AI \u77e5\u8bc6\uff0c\u53bb\u5b9e\u73b0\u76f8\u5173\u7b97\u6cd5\uff0c\u8ba9\u4f60\u7684\u5403\u8c46\u4eba\u5728\u8ff7\u5bab\u91cc\u81ea\u7531\u7a7f\u68ad\uff0c\u8eb2\u907f\u9b3c\u602a\uff0c\u6536\u96c6\u8c46\u5b50\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a Fall 2022 \uff0c Fall 2018 \u8bfe\u7a0b\u89c6\u9891\uff1a Fall 2022 \uff0c Fall 2018 \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1aArtificial intelligence: A Modern Approach \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5728\u7ebf\u6d4b\u8bc4\u4e66\u9762\u4f5c\u4e1a\u548c Projects\uff0c\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/","text":"CS50\u2019s Introduction to AI with Python \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aHarvard \u5148\u4fee\u8981\u6c42\uff1a\u57fa\u672c\u6982\u7387\u8bba + Python \u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30 \u5c0f\u65f6 \u4e00\u95e8\u975e\u5e38\u57fa\u7840\u7684 AI \u5165\u95e8\u8bfe\uff0c\u8ba9\u4eba\u773c\u524d\u4e00\u4eae\u7684\u662f 12 \u4e2a\u8bbe\u8ba1\u7cbe\u5de7\u7684\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u90fd\u4f1a\u7528\u5b66\u5230\u7684 AI \u77e5\u8bc6\u53bb\u5b9e\u73b0\u4e00\u4e2a\u7b80\u6613\u7684\u6e38\u620f AI\uff0c\u6bd4\u5982\u7528\u5f3a\u5316\u5b66\u4e60\u8bad\u7ec3\u4e00\u4e2a Nim \u6e38\u620f\u7684 AI\uff0c\u7528 alpha-beta \u526a\u679d\u53bb\u626b\u96f7\u7b49\u7b49\uff0c\u975e\u5e38\u9002\u5408\u65b0\u624b\u5165\u95e8\u6216\u8005\u5927\u4f6c\u4f11\u95f2\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs50.harvard.edu/ai/2020/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://cs50.harvard.edu/ai/2020/ \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://cs50.harvard.edu/ai/2020/ \uff0c12\u4e2a\u7cbe\u5de7\u7684\u7f16\u7a0b\u4f5c\u4e1a \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/cs50_ai - GitHub \u4e2d\u3002","title":"Harvard CS50's Introduction to AI with Python"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#cs50s-introduction-to-ai-with-python","text":"","title":"CS50\u2019s Introduction to AI with Python"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aHarvard \u5148\u4fee\u8981\u6c42\uff1a\u57fa\u672c\u6982\u7387\u8bba + Python \u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30 \u5c0f\u65f6 \u4e00\u95e8\u975e\u5e38\u57fa\u7840\u7684 AI \u5165\u95e8\u8bfe\uff0c\u8ba9\u4eba\u773c\u524d\u4e00\u4eae\u7684\u662f 12 \u4e2a\u8bbe\u8ba1\u7cbe\u5de7\u7684\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u90fd\u4f1a\u7528\u5b66\u5230\u7684 AI \u77e5\u8bc6\u53bb\u5b9e\u73b0\u4e00\u4e2a\u7b80\u6613\u7684\u6e38\u620f AI\uff0c\u6bd4\u5982\u7528\u5f3a\u5316\u5b66\u4e60\u8bad\u7ec3\u4e00\u4e2a Nim \u6e38\u620f\u7684 AI\uff0c\u7528 alpha-beta \u526a\u679d\u53bb\u626b\u96f7\u7b49\u7b49\uff0c\u975e\u5e38\u9002\u5408\u65b0\u624b\u5165\u95e8\u6216\u8005\u5927\u4f6c\u4f11\u95f2\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs50.harvard.edu/ai/2020/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://cs50.harvard.edu/ai/2020/ \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://cs50.harvard.edu/ai/2020/ \uff0c12\u4e2a\u7cbe\u5de7\u7684\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/cs50_ai - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/","text":"CS61C: Great Ideas in Computer Architecture \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u4f2f\u514b\u5229 CS61 \u7cfb\u5217\u7684\u6700\u540e\u4e00\u95e8\u8bfe\u7a0b\uff0c\u6df1\u5165\u8ba1\u7b97\u673a\u7684\u786c\u4ef6\u7ec6\u8282\uff0c\u5e26\u9886\u5b66\u751f\u9010\u6b65\u7406\u89e3 C \u8bed\u8a00\u662f\u5982\u4f55\u4e00\u6b65\u6b65\u8f6c\u5316\u4e3a RISC-V \u6c47\u7f16\u5e76\u5728 CPU \u4e0a\u6267\u884c\u7684\u3002\u548c Nand2Tetris \u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe \u5728\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u90fd\u4f1a\u63d0\u9ad8\u5f88\u591a\uff0c\u5177\u4f53\u4f1a\u6d89\u53ca\u5230\u6d41\u6c34\u7ebf\u3001Cache\u3001\u865a\u5b58\u4ee5\u53ca\u5e76\u53d1\u76f8\u5173\u7684\u5185\u5bb9\u3002 \u8fd9\u95e8\u8bfe\u7684 Project \u4e5f\u975e\u5e38\u65b0\u9896\u6709\u8da3\u3002Project1 \u4f1a\u8ba9\u4f60\u7528 C \u8bed\u8a00\u5199\u4e00\u4e2a\u5c0f\u7a0b\u5e8f\uff0c20 \u5e74\u79cb\u5b63\u5b66\u671f\u662f\u8457\u540d\u7684\u6e38\u620f Game of Life \u3002Project2 \u4f1a\u8ba9\u4f60\u7528 RISC-V \u6c47\u7f16\u7f16\u5199\u4e00\u4e2a\u795e\u7ecf\u7f51\u7edc\uff0c\u7528\u6765 \u8bc6\u522b MNIST \u624b\u5199\u6570\u5b57\uff0c\u975e\u5e38\u953b\u70bc\u4f60\u5bf9\u6c47\u7f16\u4ee3\u7801\u7684\u7406\u89e3\u548c\u8fd0\u7528\u3002Project3 \u4e2d\u4f60\u4f1a\u7528 Logisim \u8fd9\u4e2a\u6570\u5b57\u7535\u8def\u6a21\u62df\u8f6f\u4ef6\u642d\u5efa\u51fa\u4e00\u4e2a\u4e8c\u7ea7\u6d41\u6c34\u7ebf\u7684 CPU\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c RISC-V \u6c47\u7f16\u4ee3\u7801\u3002Project4 \u4f1a\u8ba9\u4f60\u4f7f\u7528 OpenMP, SIMD \u7b49\u65b9\u6cd5\u5e76\u884c\u4f18\u5316\u77e9\u9635\u8fd0\u7b97\uff0c\u5b9e\u73b0\u4e00\u4e2a\u7b80\u6613\u7684 Numpy\u3002 \u603b\u800c\u8a00\u4e4b\uff0c\u8fd9\u662f\u4e2a\u4eba\u4e0a\u8fc7\u7684\u6700\u597d\u7684\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u7684\u8bfe\u7a0b\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs61c.org/su20/ \u8bfe\u7a0b\u89c6\u9891\uff1a B \u7ad9 , Youtube \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a11 \u4e2a Lab\uff0c4 \u4e2a Project\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS61C-summer20 - GitHub \u4e2d\u3002","title":"UCB CS61C: Great Ideas in Computer Architecture"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#cs61c-great-ideas-in-computer-architecture","text":"","title":"CS61C: Great Ideas in Computer Architecture"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u4f2f\u514b\u5229 CS61 \u7cfb\u5217\u7684\u6700\u540e\u4e00\u95e8\u8bfe\u7a0b\uff0c\u6df1\u5165\u8ba1\u7b97\u673a\u7684\u786c\u4ef6\u7ec6\u8282\uff0c\u5e26\u9886\u5b66\u751f\u9010\u6b65\u7406\u89e3 C \u8bed\u8a00\u662f\u5982\u4f55\u4e00\u6b65\u6b65\u8f6c\u5316\u4e3a RISC-V \u6c47\u7f16\u5e76\u5728 CPU \u4e0a\u6267\u884c\u7684\u3002\u548c Nand2Tetris \u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe \u5728\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u90fd\u4f1a\u63d0\u9ad8\u5f88\u591a\uff0c\u5177\u4f53\u4f1a\u6d89\u53ca\u5230\u6d41\u6c34\u7ebf\u3001Cache\u3001\u865a\u5b58\u4ee5\u53ca\u5e76\u53d1\u76f8\u5173\u7684\u5185\u5bb9\u3002 \u8fd9\u95e8\u8bfe\u7684 Project \u4e5f\u975e\u5e38\u65b0\u9896\u6709\u8da3\u3002Project1 \u4f1a\u8ba9\u4f60\u7528 C \u8bed\u8a00\u5199\u4e00\u4e2a\u5c0f\u7a0b\u5e8f\uff0c20 \u5e74\u79cb\u5b63\u5b66\u671f\u662f\u8457\u540d\u7684\u6e38\u620f Game of Life \u3002Project2 \u4f1a\u8ba9\u4f60\u7528 RISC-V \u6c47\u7f16\u7f16\u5199\u4e00\u4e2a\u795e\u7ecf\u7f51\u7edc\uff0c\u7528\u6765 \u8bc6\u522b MNIST \u624b\u5199\u6570\u5b57\uff0c\u975e\u5e38\u953b\u70bc\u4f60\u5bf9\u6c47\u7f16\u4ee3\u7801\u7684\u7406\u89e3\u548c\u8fd0\u7528\u3002Project3 \u4e2d\u4f60\u4f1a\u7528 Logisim \u8fd9\u4e2a\u6570\u5b57\u7535\u8def\u6a21\u62df\u8f6f\u4ef6\u642d\u5efa\u51fa\u4e00\u4e2a\u4e8c\u7ea7\u6d41\u6c34\u7ebf\u7684 CPU\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c RISC-V \u6c47\u7f16\u4ee3\u7801\u3002Project4 \u4f1a\u8ba9\u4f60\u4f7f\u7528 OpenMP, SIMD \u7b49\u65b9\u6cd5\u5e76\u884c\u4f18\u5316\u77e9\u9635\u8fd0\u7b97\uff0c\u5b9e\u73b0\u4e00\u4e2a\u7b80\u6613\u7684 Numpy\u3002 \u603b\u800c\u8a00\u4e4b\uff0c\u8fd9\u662f\u4e2a\u4eba\u4e0a\u8fc7\u7684\u6700\u597d\u7684\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u7684\u8bfe\u7a0b\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs61c.org/su20/ \u8bfe\u7a0b\u89c6\u9891\uff1a B \u7ad9 , Youtube \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a11 \u4e2a Lab\uff0c4 \u4e2a Project\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS61C-summer20 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/","text":"CMU CS15213: CSAPP \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 CMU \u5927\u540d\u9f0e\u9f0e\u7684\u9547\u7cfb\u795e\u8bfe\uff0c\u4ee5\u5176\u5185\u5bb9\u5e9e\u6742\uff0cProject \u5de8\u96be\u800c\u95fb\u540d\u9050\u8fe9\u3002\u8bfe\u7a0b\u5185\u5bb9\u8986\u76d6\u4e86\u6c47\u7f16\u8bed\u8a00\u3001\u4f53\u7cfb\u7ed3\u6784\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f16\u8bd1\u94fe\u63a5\u3001\u5e76\u884c\u3001\u7f51\u7edc\u7b49\uff0c\u4f5c\u4e3a\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u517c\u5177\u6df1\u5ea6\u548c\u5e7f\u5ea6\uff0c\u5982\u679c\u81ea\u5b66\u786e\u5b9e\u9700\u8981\u76f8\u5f53\u7684\u6bc5\u529b\u548c\u4ee3\u7801\u529f\u5e95\u3002 \u8fd9\u95e8\u8bfe\u914d\u5408\u7684\u6559\u6750\u7531 CMU \u8ba1\u7b97\u673a\u7cfb\u4e3b\u4efb Bryant \u6559\u6388\u6267\u7b14\uff0c\u4e5f\u5373\u6240\u8c13\u7684 CSAPP\u3002\u8fd9\u4e5f\u662f\u6211\u7b2c\u4e00\u672c\u8ba4\u8ba4\u771f\u771f\u4e00\u9875\u4e00\u9875\u8bfb\u8fc7\u53bb\u7684\u8ba1\u7b97\u673a\u6559\u6750\uff0c\u867d\u7136\u5f88\u96be\u5543\uff0c\u4f46\u7740\u5b9e\u6536\u83b7\u826f\u591a\u3002 \u5317\u5927\u8d2d\u4e70\u4e86\u8fd9\u95e8\u8bfe\u7684\u7248\u6743\u5e76\u5f00\u8bbe\u4e86 Introduction to Computer System \u8fd9\u95e8\u8bfe\uff0c\u4f46\u5176\u5b9e CSAPP \u6240\u6709\u7684\u8bfe\u7a0b\u8d44\u6e90\u548c\u5b9e\u9a8c\u4ee3\u7801\u90fd\u80fd\u5728\u5b83\u7684\u5b98\u65b9\u4e3b\u9875\u4e0a\u8bbf\u95ee\u5230\uff08\u5177\u4f53\u53c2\u89c1\u4e0b\u65b9\u94fe\u63a5\uff09\u3002 \u8fd9\u95e8\u8bfe\u7531\u4e8e\u8fc7\u4e8e\u51fa\u540d\uff0c\u5168\u4e16\u754c\u7684\u7801\u519c\u4e89\u76f8\u5b66\u4e60\uff0c\u5bfc\u81f4\u5176 Project \u7684\u7b54\u6848\u5728\u7f51\u4e0a\u51e0\u4e4e\u553e\u624b\u53ef\u5f97\u3002\u4f46\u5982\u679c\u4f60\u771f\u7684\u60f3\u953b\u70bc\u81ea\u5df1\u7684\u4ee3\u7801\u80fd\u529b\uff0c\u5e0c\u671b\u4f60\u4e0d\u8981\u501f\u9274\u4efb\u4f55\u7b2c\u4e09\u65b9\u4ee3\u7801\u3002 \u8ba4\u771f\u5b66\u5b8c\u8fd9\u4e00\u95e8\u8bfe\uff0c\u4f60\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u7684\u7406\u89e3\u7edd\u5bf9\u4f1a\u4e0a\u5347\u4e00\u4e2a\u53f0\u9636\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://csapp.cs.cmu.edu/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1iW411d7hd \u8bfe\u7a0b\u6559\u6750\uff1aComputer Systems: A Programmer's Perspective, 3/E \u8bfe\u7a0b\u4f5c\u4e1a\uff1a11 \u4e2a Project\uff0c \u4ee3\u7801\u6846\u67b6\u5168\u90e8\u5f00\u6e90 \u82f1\u8bed\u6709\u56f0\u96be\u7684\u540c\u5b66\u53ef\u4ee5\u53c2\u8003B\u7ad9UP\u4e3b \u4e5d\u66f2\u9611\u5e72 \u5bf9 CSAPP \u7684 \u4e2d\u6587\u8bb2\u89e3 \uff08\u636e\u8bf4CMU\u7684\u4e2d\u56fd\u7559\u5b66\u751f\u4e5f\u5728CMU\u7684\u8bfe\u5802\u4e0a\u770b\u8fd9\u4e2a\u89c6\u9891\u5462\uff09\u3002\u53e6\u5916\u5982\u679c\u5927\u5bb6\u5728\u770b\u5b8c CSAPP \u540e\u5bf9\u4e66\u4e2d\u7684\u7b2c\u4e03\u7ae0\u94fe\u63a5\u6709\u4e00\u5b9a\u7684\u7591\u95ee\uff0c\u63a8\u8350\u9605\u8bfb\u300a\u7a0b\u5e8f\u5458\u7684\u81ea\u6211\u4fee\u517b\u300b\u8fd9\u672c\u4e66\uff0c\u4e66\u7684\u526f\u6807\u9898\u662f\u94fe\u63a5\uff0c\u88c5\u8f7d\u4e0e\u5e93\u3002\u8fd9\u672c\u4e66\u80fd\u591f\u5e2e\u52a9\u6211\u4eec\u5b8c\u5584\u5bf9\u7a0b\u5e8f\u94fe\u63a5\u7684\u7406\u89e3\uff0c\u76f8\u4fe1\u4f60\u5728\u770b\u5b8c\u8fd9\u672c\u4e66\u4ee5\u540e\u53ef\u4ee5\u5bf9\u7a0b\u5e8f\u7684\u94fe\u63a5\uff0cELF \u6587\u4ef6\uff0c\u52a8\u6001\u5e93\u90fd\u5c06\u6709\u4e00\u4e2a\u66f4\u52a0\u6df1\u5165\u7684\u7406\u89e3\u3002\u5341\u5206\u63a8\u8350\u5728\u8bfb\u5b8c CSAPP\uff0c\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u4e00\u5b9a\u7684\u4e86\u89e3\u4ee5\u540e\u4f5c\u4e3a\u8865\u5145\u8d44\u6599\u6765\u9605\u8bfb\u3002","title":"CMU 15-213: CSAPP"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/#cmu-cs15213-csapp","text":"","title":"CMU CS15213: CSAPP"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 CMU \u5927\u540d\u9f0e\u9f0e\u7684\u9547\u7cfb\u795e\u8bfe\uff0c\u4ee5\u5176\u5185\u5bb9\u5e9e\u6742\uff0cProject \u5de8\u96be\u800c\u95fb\u540d\u9050\u8fe9\u3002\u8bfe\u7a0b\u5185\u5bb9\u8986\u76d6\u4e86\u6c47\u7f16\u8bed\u8a00\u3001\u4f53\u7cfb\u7ed3\u6784\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f16\u8bd1\u94fe\u63a5\u3001\u5e76\u884c\u3001\u7f51\u7edc\u7b49\uff0c\u4f5c\u4e3a\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u517c\u5177\u6df1\u5ea6\u548c\u5e7f\u5ea6\uff0c\u5982\u679c\u81ea\u5b66\u786e\u5b9e\u9700\u8981\u76f8\u5f53\u7684\u6bc5\u529b\u548c\u4ee3\u7801\u529f\u5e95\u3002 \u8fd9\u95e8\u8bfe\u914d\u5408\u7684\u6559\u6750\u7531 CMU \u8ba1\u7b97\u673a\u7cfb\u4e3b\u4efb Bryant \u6559\u6388\u6267\u7b14\uff0c\u4e5f\u5373\u6240\u8c13\u7684 CSAPP\u3002\u8fd9\u4e5f\u662f\u6211\u7b2c\u4e00\u672c\u8ba4\u8ba4\u771f\u771f\u4e00\u9875\u4e00\u9875\u8bfb\u8fc7\u53bb\u7684\u8ba1\u7b97\u673a\u6559\u6750\uff0c\u867d\u7136\u5f88\u96be\u5543\uff0c\u4f46\u7740\u5b9e\u6536\u83b7\u826f\u591a\u3002 \u5317\u5927\u8d2d\u4e70\u4e86\u8fd9\u95e8\u8bfe\u7684\u7248\u6743\u5e76\u5f00\u8bbe\u4e86 Introduction to Computer System \u8fd9\u95e8\u8bfe\uff0c\u4f46\u5176\u5b9e CSAPP \u6240\u6709\u7684\u8bfe\u7a0b\u8d44\u6e90\u548c\u5b9e\u9a8c\u4ee3\u7801\u90fd\u80fd\u5728\u5b83\u7684\u5b98\u65b9\u4e3b\u9875\u4e0a\u8bbf\u95ee\u5230\uff08\u5177\u4f53\u53c2\u89c1\u4e0b\u65b9\u94fe\u63a5\uff09\u3002 \u8fd9\u95e8\u8bfe\u7531\u4e8e\u8fc7\u4e8e\u51fa\u540d\uff0c\u5168\u4e16\u754c\u7684\u7801\u519c\u4e89\u76f8\u5b66\u4e60\uff0c\u5bfc\u81f4\u5176 Project \u7684\u7b54\u6848\u5728\u7f51\u4e0a\u51e0\u4e4e\u553e\u624b\u53ef\u5f97\u3002\u4f46\u5982\u679c\u4f60\u771f\u7684\u60f3\u953b\u70bc\u81ea\u5df1\u7684\u4ee3\u7801\u80fd\u529b\uff0c\u5e0c\u671b\u4f60\u4e0d\u8981\u501f\u9274\u4efb\u4f55\u7b2c\u4e09\u65b9\u4ee3\u7801\u3002 \u8ba4\u771f\u5b66\u5b8c\u8fd9\u4e00\u95e8\u8bfe\uff0c\u4f60\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u7684\u7406\u89e3\u7edd\u5bf9\u4f1a\u4e0a\u5347\u4e00\u4e2a\u53f0\u9636\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://csapp.cs.cmu.edu/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1iW411d7hd \u8bfe\u7a0b\u6559\u6750\uff1aComputer Systems: A Programmer's Perspective, 3/E \u8bfe\u7a0b\u4f5c\u4e1a\uff1a11 \u4e2a Project\uff0c \u4ee3\u7801\u6846\u67b6\u5168\u90e8\u5f00\u6e90 \u82f1\u8bed\u6709\u56f0\u96be\u7684\u540c\u5b66\u53ef\u4ee5\u53c2\u8003B\u7ad9UP\u4e3b \u4e5d\u66f2\u9611\u5e72 \u5bf9 CSAPP \u7684 \u4e2d\u6587\u8bb2\u89e3 \uff08\u636e\u8bf4CMU\u7684\u4e2d\u56fd\u7559\u5b66\u751f\u4e5f\u5728CMU\u7684\u8bfe\u5802\u4e0a\u770b\u8fd9\u4e2a\u89c6\u9891\u5462\uff09\u3002\u53e6\u5916\u5982\u679c\u5927\u5bb6\u5728\u770b\u5b8c CSAPP \u540e\u5bf9\u4e66\u4e2d\u7684\u7b2c\u4e03\u7ae0\u94fe\u63a5\u6709\u4e00\u5b9a\u7684\u7591\u95ee\uff0c\u63a8\u8350\u9605\u8bfb\u300a\u7a0b\u5e8f\u5458\u7684\u81ea\u6211\u4fee\u517b\u300b\u8fd9\u672c\u4e66\uff0c\u4e66\u7684\u526f\u6807\u9898\u662f\u94fe\u63a5\uff0c\u88c5\u8f7d\u4e0e\u5e93\u3002\u8fd9\u672c\u4e66\u80fd\u591f\u5e2e\u52a9\u6211\u4eec\u5b8c\u5584\u5bf9\u7a0b\u5e8f\u94fe\u63a5\u7684\u7406\u89e3\uff0c\u76f8\u4fe1\u4f60\u5728\u770b\u5b8c\u8fd9\u672c\u4e66\u4ee5\u540e\u53ef\u4ee5\u5bf9\u7a0b\u5e8f\u7684\u94fe\u63a5\uff0cELF \u6587\u4ef6\uff0c\u52a8\u6001\u5e93\u90fd\u5c06\u6709\u4e00\u4e2a\u66f4\u52a0\u6df1\u5165\u7684\u7406\u89e3\u3002\u5341\u5206\u63a8\u8350\u5728\u8bfb\u5b8c CSAPP\uff0c\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u4e00\u5b9a\u7684\u4e86\u89e3\u4ee5\u540e\u4f5c\u4e3a\u8865\u5145\u8d44\u6599\u6765\u9605\u8bfb\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/DDCA/","text":"Digital Design and Computer Architecture \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aETH Zurich \u5148\u4fee\u8981\u6c42\uff1aCS50 \u6216\u540c\u9636\u8bfe\u7a0b\uff0c\u6700\u597d\u6709 C \u8bed\u8a00\u57fa\u7840\u3002 \u7f16\u7a0b\u8bed\u8a00\uff1aC\uff0cVerilog\uff0cMIPS \u6c47\u7f16\uff0cLC3 \u6c47\u7f16 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u4f53\u7cfb\u7ed3\u6784\u9886\u57df\u7684\u5927\u725b Onur Mutlu \u6765\u6559\u4f60\u6570\u5b57\u7535\u8def\u548c\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u3002\u8bfe\u7a0b\u5b8c\u5168\u4ece\u8ba1\u7b97\u673a\u8bbe\u8ba1\u7684\u89d2\u5ea6\u51fa\u53d1\uff0c\u4ece\u6676\u4f53\u7ba1\u3001\u903b\u8f91\u95e8\u5f00\u59cb\uff0c\u4e00\u76f4\u8bb2\u89e3\u5230\u5fae\u67b6\u6784\u3001\u7f13\u5b58\u548c\u865a\u62df\u5185\u5b58\uff0c\u8fd8\u4f1a\u4ecb\u7ecd \u5f88\u591a\u4f53\u7cfb\u7ed3\u6784\u9886\u57df\u6700\u65b0\u7684\u7814\u7a76\u8fdb\u5c55\u3002\u8bfe\u7a0b\u5171\u6709 9 \u4e2a lab\uff0c\u4f7f\u7528 Basys 3 FPGA \u5f00\u53d1\u677f\uff08\u53ef\u81ea\u884c\u8d2d\u4e70\uff09\u548c Xilinx \u516c\u53f8\u7684 Vivado \u8f6f\u4ef6 \uff08\u53ef\u5728\u5b98\u7f51\u514d\u8d39\u4e0b\u8f7d\u4f7f\u7528\uff09\u8fdb\u884c\u7535\u8def\u8bbe\u8ba1\uff0c\u4ece\u7ec4\u5408\u7535\u8def \u548c\u65f6\u5e8f\u7535\u8def\u5f00\u59cb\uff0c\u4e00\u76f4\u5230\u6700\u540e\u90e8\u7f72\u4e00\u4e2a\u5b8c\u6574\u7684 CPU\u3002\u8bfe\u7a0b\u8d44\u6599\u9664\u4e86 lab \u7b54\u6848\u548c\u5f53\u671f\u8003\u8bd5\u7b54\u6848\u4e4b\u5916\u5168\u90e8\u5f00\u6e90\uff0c\u5b66\u5b8c\u4e4b\u540e\u4f60\u53ef\u4ee5\u638c\u63e1\u8ba1\u7b97\u673a\u76f8\u5173\u7684\u6570\u5b57\u7535\u8def\uff0cVerilog \u786c\u4ef6\u63cf\u8ff0\u8bed\u8a00\uff0cMIPS \u4e0e C \u4e4b\u95f4\u7684\u8f6c\u6362\u5173\u7cfb\uff0cMIPS \u5355\u5468\u671f\u591a\u5468\u671f\u6d41\u6c34\u7ebf CPU \u7684\u8bbe\u8ba1\u548c\u6027\u80fd\u5206\u6790\uff0c\u7f13\u5b58\uff0c\u865a\u62df\u5185\u5b58\u7b49\u91cd\u8981\u6982\u5ff5\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://safari.ethz.ch/digitaltechnik/spring2020/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/playlist?list=PL5Q2soXY2Zi_FRrloMa2fUYWPGiZUBQo2 \u8bfe\u7a0b\u6559\u67501\uff1aPatt and Patel, Introduction to Computing Systems \u8bfe\u7a0b\u6559\u67502\uff1aHarris and Harris, Digital Design and Computer Architecture (MIPS Edition) \u8bfe\u7a0b\u5b9e\u9a8c\uff1a9 \u4e2a\u5b9e\u9a8c\u4ece\u96f6\u5f00\u59cb\u8bbe\u8ba1 MIPS CPU\uff0c\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"Digital Design and Computer Architecture"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/DDCA/#digital-design-and-computer-architecture","text":"","title":"Digital Design and Computer Architecture"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/DDCA/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aETH Zurich \u5148\u4fee\u8981\u6c42\uff1aCS50 \u6216\u540c\u9636\u8bfe\u7a0b\uff0c\u6700\u597d\u6709 C \u8bed\u8a00\u57fa\u7840\u3002 \u7f16\u7a0b\u8bed\u8a00\uff1aC\uff0cVerilog\uff0cMIPS \u6c47\u7f16\uff0cLC3 \u6c47\u7f16 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u4f53\u7cfb\u7ed3\u6784\u9886\u57df\u7684\u5927\u725b Onur Mutlu \u6765\u6559\u4f60\u6570\u5b57\u7535\u8def\u548c\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u3002\u8bfe\u7a0b\u5b8c\u5168\u4ece\u8ba1\u7b97\u673a\u8bbe\u8ba1\u7684\u89d2\u5ea6\u51fa\u53d1\uff0c\u4ece\u6676\u4f53\u7ba1\u3001\u903b\u8f91\u95e8\u5f00\u59cb\uff0c\u4e00\u76f4\u8bb2\u89e3\u5230\u5fae\u67b6\u6784\u3001\u7f13\u5b58\u548c\u865a\u62df\u5185\u5b58\uff0c\u8fd8\u4f1a\u4ecb\u7ecd \u5f88\u591a\u4f53\u7cfb\u7ed3\u6784\u9886\u57df\u6700\u65b0\u7684\u7814\u7a76\u8fdb\u5c55\u3002\u8bfe\u7a0b\u5171\u6709 9 \u4e2a lab\uff0c\u4f7f\u7528 Basys 3 FPGA \u5f00\u53d1\u677f\uff08\u53ef\u81ea\u884c\u8d2d\u4e70\uff09\u548c Xilinx \u516c\u53f8\u7684 Vivado \u8f6f\u4ef6 \uff08\u53ef\u5728\u5b98\u7f51\u514d\u8d39\u4e0b\u8f7d\u4f7f\u7528\uff09\u8fdb\u884c\u7535\u8def\u8bbe\u8ba1\uff0c\u4ece\u7ec4\u5408\u7535\u8def \u548c\u65f6\u5e8f\u7535\u8def\u5f00\u59cb\uff0c\u4e00\u76f4\u5230\u6700\u540e\u90e8\u7f72\u4e00\u4e2a\u5b8c\u6574\u7684 CPU\u3002\u8bfe\u7a0b\u8d44\u6599\u9664\u4e86 lab \u7b54\u6848\u548c\u5f53\u671f\u8003\u8bd5\u7b54\u6848\u4e4b\u5916\u5168\u90e8\u5f00\u6e90\uff0c\u5b66\u5b8c\u4e4b\u540e\u4f60\u53ef\u4ee5\u638c\u63e1\u8ba1\u7b97\u673a\u76f8\u5173\u7684\u6570\u5b57\u7535\u8def\uff0cVerilog \u786c\u4ef6\u63cf\u8ff0\u8bed\u8a00\uff0cMIPS \u4e0e C \u4e4b\u95f4\u7684\u8f6c\u6362\u5173\u7cfb\uff0cMIPS \u5355\u5468\u671f\u591a\u5468\u671f\u6d41\u6c34\u7ebf CPU \u7684\u8bbe\u8ba1\u548c\u6027\u80fd\u5206\u6790\uff0c\u7f13\u5b58\uff0c\u865a\u62df\u5185\u5b58\u7b49\u91cd\u8981\u6982\u5ff5\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/DDCA/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://safari.ethz.ch/digitaltechnik/spring2020/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/playlist?list=PL5Q2soXY2Zi_FRrloMa2fUYWPGiZUBQo2 \u8bfe\u7a0b\u6559\u67501\uff1aPatt and Patel, Introduction to Computing Systems \u8bfe\u7a0b\u6559\u67502\uff1aHarris and Harris, Digital Design and Computer Architecture (MIPS Edition) \u8bfe\u7a0b\u5b9e\u9a8c\uff1a9 \u4e2a\u5b9e\u9a8c\u4ece\u96f6\u5f00\u59cb\u8bbe\u8ba1 MIPS CPU\uff0c\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/","text":"Coursera: Nand2Tetris \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u5e0c\u4f2f\u6765\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u4efb\u9009\u4e00\u4e2a\u7f16\u7a0b\u8bed\u8a00 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40 \u5c0f\u65f6 Coursera \u4e0a\u88ab\u6570\u4e07\u4eba\u8bc4\u4e3a\u6ee1\u5206\uff0c\u5728\u5168\u7403\u56db\u767e\u591a\u6240\u9ad8\u6821\u3001\u9ad8\u4e2d\u88ab\u91c7\u7528\uff0c\u8ba9\u4e00\u4e2a\u5b8c\u5168\u6ca1\u6709\u8ba1\u7b97\u673a\u57fa\u7840\u7684\u4eba\u4ece\u4e0e\u975e\u95e8\u5f00\u59cb\u9020\u4e00\u53f0\u8ba1\u7b97\u673a\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c\u4fc4\u7f57\u65af\u65b9\u5757\u5c0f\u6e38\u620f\u3002 \u542c\u8d77\u6765\u5c31\u5f88\u9177\u5bf9\u4e0d\u5bf9\uff1f\u5b9e\u73b0\u8d77\u6765\u66f4\u9177\uff01\u8fd9\u95e8\u8bfe\u5206\u4e3a\u786c\u4ef6\u548c\u8f6f\u4ef6\u4e24\u4e2a\u90e8\u5206\u3002\u5728\u786c\u4ef6\u90e8\u5206\uff0c\u4f60\u5c06\u8fdb\u5165 01 \u7684\u4e16\u754c\uff0c\u7528\u4e0e\u975e\u95e8\u6784\u9020\u51fa\u903b\u8f91\u7535\u8def\uff0c\u5e76\u9010\u6b65\u642d\u5efa\u51fa\u4e00\u4e2a CPU \u6765\u8fd0\u884c\u4e00\u5957\u8bfe\u7a0b\u4f5c\u8005\u5b9a\u4e49\u7684\u7b80\u6613\u6c47\u7f16\u4ee3\u7801\u3002\u5728\u8f6f\u4ef6\u90e8\u5206\uff0c\u4f60\u5c06\u7f16\u5199\u4e00\u4e2a\u7f16\u8bd1\u5668\uff0c\u5c06\u4f5c\u8005\u5f00\u53d1\u7684\u4e00\u4e2a\u540d\u4e3aJack\u7684\u9ad8\u7ea7\u8bed\u8a00\u7f16\u8bd1\u4e3a\u53ef\u4ee5\u8fd0\u884c\u5728\u865a\u62df\u673a\u4e0a\u7684\u5b57\u8282\u7801\uff0c\u7136\u540e\u8fdb\u4e00\u6b65\u7ffb\u8bd1\u4e3a\u6c47\u7f16\u4ee3\u7801\u3002\u4f60\u8fd8\u5c06\u5f00\u53d1\u4e00\u4e2a\u7b80\u6613\u7684 OS\uff0c\u8ba9\u4f60\u7684\u8ba1\u7b97\u673a\u652f\u6301\u8f93\u5165\u8f93\u51fa\u56fe\u5f62\u754c\u9762\u3002\u81f3\u6b64\uff0c\u4f60\u53ef\u4ee5\u7528 Jack \u5f00\u53d1\u4e00\u4e2a\u4fc4\u7f57\u65af\u65b9\u5757\u7684\u5c0f\u6e38\u620f\uff0c\u5c06\u5b83\u7f16\u8bd1\u4e3a\u6c47\u7f16\u4ee3\u7801\uff0c\u8fd0\u884c\u5728\u4f60\u7528\u4e0e\u975e\u95e8\u642d\u5efa\u51fa\u7684 CPU \u4e0a\uff0c\u901a\u8fc7\u4f60\u5f00\u53d1\u7684 OS \u8fdb\u884c\u4ea4\u4e92\u3002\u5b66\u5b8c\u8fd9\u95e8\u8bfe\u7a0b\uff0c\u4f60\u5c06\u5bf9\u6574\u4e2a\u8ba1\u7b97\u673a\u7684\u4f53\u7cfb\u7ed3\u6784\u6709\u4e00\u4e2a\u5168\u5c40\u4e14\u6df1\u523b\u7684\u7406\u89e3\uff0c\u5bf9\u4e8e\u4f60\u540e\u7eed\u8bfe\u7a0b\u7684\u5b66\u4e60\u6709\u7740\u83ab\u5927\u7684\u5e2e\u52a9\u3002 \u4f60\u4e5f\u8bb8\u4f1a\u62c5\u5fc3\u8bfe\u7a0b\u4f1a\u4e0d\u4f1a\u5f88\u96be\uff0c\u4f46\u8fd9\u95e8\u8bfe\u9762\u5411\u7684\u4eba\u7fa4\u662f\u5b8c\u5168\u6ca1\u6709\u8ba1\u7b97\u673a\u57fa\u7840\u7684\u4eba\uff0c\u8bfe\u7a0b\u4f5c\u8005\u7684\u76ee\u6807\u662f\u8ba9\u9ad8\u4e2d\u751f\u90fd\u80fd\u7406\u89e3\u3002\u56e0\u6b64\uff0c\u53ea\u8981\u4f60\u6309\u90e8\u5c31\u73ed\u8ddf\u7740\u8bfe\u7a0b\u89c4\u5212\u8d70\uff0c\u4e00\u4e2a\u6708\u5185\u5b66\u5b8c\u5e94\u8be5\u7ef0\u7ef0\u6709\u4f59\u3002\u9ebb\u96c0\u867d\u5c0f\u4f46\u662f\u4e94\u810f\u4ff1\u5168\uff0c\u8fd9\u95e8\u8bfe\u5f88\u597d\u5730\u63d0\u53d6\u51fa\u4e86\u8ba1\u7b97\u673a\u7684\u672c\u8d28\uff0c\u800c\u4e0d\u8fc7\u591a\u5730\u9677\u4e8e\u73b0\u4ee3\u8ba1\u7b97\u673a\u4e3a\u4e86\u6027\u80fd\u800c\u8bbe\u8ba1\u51fa\u7684\u4f17\u591a\u590d\u6742\u7ec6\u8282\u3002\u8ba9\u5b66\u4e60\u8005\u80fd\u5728\u8f7b\u677e\u6109\u5feb\u7684\u5b66\u4e60\u4f53\u9a8c\u4e2d\u611f\u53d7\u8ba1\u7b97\u673a\u7684\u4f18\u96c5\u4e0e\u795e\u5947\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a Nand2Tetris I , Nand2Tetris II \u8bfe\u7a0b\u89c6\u9891\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a \u8ba1\u7b97\u673a\u7cfb\u7edf\u8981\u7d20\uff1a\u4ece\u96f6\u5f00\u59cb\u6784\u5efa\u73b0\u4ee3\u8ba1\u7b97\u673a \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10 \u4e2a Project \u5e26\u4f60\u9020\u53f0\u8ba1\u7b97\u673a\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/NandToTetris - GitHub \u4e2d\u3002","title":"Coursera: Nand2Tetris"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#coursera-nand2tetris","text":"","title":"Coursera: Nand2Tetris"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u5e0c\u4f2f\u6765\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u4efb\u9009\u4e00\u4e2a\u7f16\u7a0b\u8bed\u8a00 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40 \u5c0f\u65f6 Coursera \u4e0a\u88ab\u6570\u4e07\u4eba\u8bc4\u4e3a\u6ee1\u5206\uff0c\u5728\u5168\u7403\u56db\u767e\u591a\u6240\u9ad8\u6821\u3001\u9ad8\u4e2d\u88ab\u91c7\u7528\uff0c\u8ba9\u4e00\u4e2a\u5b8c\u5168\u6ca1\u6709\u8ba1\u7b97\u673a\u57fa\u7840\u7684\u4eba\u4ece\u4e0e\u975e\u95e8\u5f00\u59cb\u9020\u4e00\u53f0\u8ba1\u7b97\u673a\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c\u4fc4\u7f57\u65af\u65b9\u5757\u5c0f\u6e38\u620f\u3002 \u542c\u8d77\u6765\u5c31\u5f88\u9177\u5bf9\u4e0d\u5bf9\uff1f\u5b9e\u73b0\u8d77\u6765\u66f4\u9177\uff01\u8fd9\u95e8\u8bfe\u5206\u4e3a\u786c\u4ef6\u548c\u8f6f\u4ef6\u4e24\u4e2a\u90e8\u5206\u3002\u5728\u786c\u4ef6\u90e8\u5206\uff0c\u4f60\u5c06\u8fdb\u5165 01 \u7684\u4e16\u754c\uff0c\u7528\u4e0e\u975e\u95e8\u6784\u9020\u51fa\u903b\u8f91\u7535\u8def\uff0c\u5e76\u9010\u6b65\u642d\u5efa\u51fa\u4e00\u4e2a CPU \u6765\u8fd0\u884c\u4e00\u5957\u8bfe\u7a0b\u4f5c\u8005\u5b9a\u4e49\u7684\u7b80\u6613\u6c47\u7f16\u4ee3\u7801\u3002\u5728\u8f6f\u4ef6\u90e8\u5206\uff0c\u4f60\u5c06\u7f16\u5199\u4e00\u4e2a\u7f16\u8bd1\u5668\uff0c\u5c06\u4f5c\u8005\u5f00\u53d1\u7684\u4e00\u4e2a\u540d\u4e3aJack\u7684\u9ad8\u7ea7\u8bed\u8a00\u7f16\u8bd1\u4e3a\u53ef\u4ee5\u8fd0\u884c\u5728\u865a\u62df\u673a\u4e0a\u7684\u5b57\u8282\u7801\uff0c\u7136\u540e\u8fdb\u4e00\u6b65\u7ffb\u8bd1\u4e3a\u6c47\u7f16\u4ee3\u7801\u3002\u4f60\u8fd8\u5c06\u5f00\u53d1\u4e00\u4e2a\u7b80\u6613\u7684 OS\uff0c\u8ba9\u4f60\u7684\u8ba1\u7b97\u673a\u652f\u6301\u8f93\u5165\u8f93\u51fa\u56fe\u5f62\u754c\u9762\u3002\u81f3\u6b64\uff0c\u4f60\u53ef\u4ee5\u7528 Jack \u5f00\u53d1\u4e00\u4e2a\u4fc4\u7f57\u65af\u65b9\u5757\u7684\u5c0f\u6e38\u620f\uff0c\u5c06\u5b83\u7f16\u8bd1\u4e3a\u6c47\u7f16\u4ee3\u7801\uff0c\u8fd0\u884c\u5728\u4f60\u7528\u4e0e\u975e\u95e8\u642d\u5efa\u51fa\u7684 CPU \u4e0a\uff0c\u901a\u8fc7\u4f60\u5f00\u53d1\u7684 OS \u8fdb\u884c\u4ea4\u4e92\u3002\u5b66\u5b8c\u8fd9\u95e8\u8bfe\u7a0b\uff0c\u4f60\u5c06\u5bf9\u6574\u4e2a\u8ba1\u7b97\u673a\u7684\u4f53\u7cfb\u7ed3\u6784\u6709\u4e00\u4e2a\u5168\u5c40\u4e14\u6df1\u523b\u7684\u7406\u89e3\uff0c\u5bf9\u4e8e\u4f60\u540e\u7eed\u8bfe\u7a0b\u7684\u5b66\u4e60\u6709\u7740\u83ab\u5927\u7684\u5e2e\u52a9\u3002 \u4f60\u4e5f\u8bb8\u4f1a\u62c5\u5fc3\u8bfe\u7a0b\u4f1a\u4e0d\u4f1a\u5f88\u96be\uff0c\u4f46\u8fd9\u95e8\u8bfe\u9762\u5411\u7684\u4eba\u7fa4\u662f\u5b8c\u5168\u6ca1\u6709\u8ba1\u7b97\u673a\u57fa\u7840\u7684\u4eba\uff0c\u8bfe\u7a0b\u4f5c\u8005\u7684\u76ee\u6807\u662f\u8ba9\u9ad8\u4e2d\u751f\u90fd\u80fd\u7406\u89e3\u3002\u56e0\u6b64\uff0c\u53ea\u8981\u4f60\u6309\u90e8\u5c31\u73ed\u8ddf\u7740\u8bfe\u7a0b\u89c4\u5212\u8d70\uff0c\u4e00\u4e2a\u6708\u5185\u5b66\u5b8c\u5e94\u8be5\u7ef0\u7ef0\u6709\u4f59\u3002\u9ebb\u96c0\u867d\u5c0f\u4f46\u662f\u4e94\u810f\u4ff1\u5168\uff0c\u8fd9\u95e8\u8bfe\u5f88\u597d\u5730\u63d0\u53d6\u51fa\u4e86\u8ba1\u7b97\u673a\u7684\u672c\u8d28\uff0c\u800c\u4e0d\u8fc7\u591a\u5730\u9677\u4e8e\u73b0\u4ee3\u8ba1\u7b97\u673a\u4e3a\u4e86\u6027\u80fd\u800c\u8bbe\u8ba1\u51fa\u7684\u4f17\u591a\u590d\u6742\u7ec6\u8282\u3002\u8ba9\u5b66\u4e60\u8005\u80fd\u5728\u8f7b\u677e\u6109\u5feb\u7684\u5b66\u4e60\u4f53\u9a8c\u4e2d\u611f\u53d7\u8ba1\u7b97\u673a\u7684\u4f18\u96c5\u4e0e\u795e\u5947\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a Nand2Tetris I , Nand2Tetris II \u8bfe\u7a0b\u89c6\u9891\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a \u8ba1\u7b97\u673a\u7cfb\u7edf\u8981\u7d20\uff1a\u4ece\u96f6\u5f00\u59cb\u6784\u5efa\u73b0\u4ee3\u8ba1\u7b97\u673a \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10 \u4e2a Project \u5e26\u4f60\u9020\u53f0\u8ba1\u7b97\u673a\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/NandToTetris - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/","text":"CMU 15-418/Stanford CS149: Parallel Computing \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u548c Stanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u719f\u6089 C++ \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 Kayvon Fatahalian \u6559\u6388\u6b64\u524d\u5728 CMU \u5f00\u4e86 15-418 \u8fd9\u95e8\u8bfe\uff0c\u540e\u6765\u4ed6\u6210\u4e3a Stanford \u7684\u52a9\u7406\u6559\u6388\u540e\u53c8\u5f00\u4e86\u7c7b\u4f3c\u7684\u8bfe\u7a0b CS149\u3002\u4f46\u603b\u4f53\u6765\u8bf4\uff0c15-418 \u5305\u542b\u7684\u8bfe\u7a0b\u5185\u5bb9\u66f4\u4e30\u5bcc\uff0c\u5e76\u4e14\u6709\u8bfe\u7a0b\u56de\u653e\uff0c\u4f46 CS149 \u7684\u7f16\u7a0b\u4f5c\u4e1a\u66f4 fashion \u4e00\u4e9b\u3002\u6211\u4e2a\u4eba\u662f\u89c2\u770b\u7684 15-418 \u7684\u8bfe\u7a0b\u5f55\u5f71\u4f46\u5b8c\u6210\u7684 CS149 \u7684\u4f5c\u4e1a\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u5e26\u4f60\u6df1\u5165\u7406\u89e3\u73b0\u4ee3\u5e76\u884c\u8ba1\u7b97\u67b6\u6784\u7684\u8bbe\u8ba1\u539f\u5219\u4e0e\u5fc5\u8981\u6743\u8861\uff0c\u5e76\u5b66\u4f1a\u5982\u4f55\u5145\u5206\u5229\u7528\u786c\u4ef6\u8d44\u6e90\u4ee5\u53ca\u8f6f\u4ef6\u7f16\u7a0b\u6846\u67b6\uff08\u4f8b\u5982 CUDA\uff0cMPI\uff0cOpenMP \u7b49\uff09\u7f16\u5199\u9ad8\u6027\u80fd\u7684\u5e76\u884c\u7a0b\u5e8f\u3002\u7531\u4e8e\u5e76\u884c\u8ba1\u7b97\u67b6\u6784\u7684\u590d\u6742\u6027\uff0c\u8fd9\u95e8\u8bfe\u4f1a\u6d89\u53ca\u8bf8\u591a\u9ad8\u7ea7\u4f53\u7cfb\u7ed3\u6784\u4e0e\u7f51\u7edc\u901a\u4fe1\u7684\u5185\u5bb9\uff0c\u77e5\u8bc6\u70b9\u76f8\u5f53\u5e95\u5c42\u4e14\u786c\u6838\u3002\u4e0e\u6b64\u540c\u65f6\uff0c5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5219\u662f\u4ece\u8f6f\u4ef6\u7684\u5c42\u9762\u57f9\u517b\u5b66\u751f\u5bf9\u4e0a\u5c42\u62bd\u8c61\u7684\u7406\u89e3\u4e0e\u8fd0\u7528\uff0c\u5177\u4f53\u4f1a\u8ba9\u4f60\u5206\u6790\u5e76\u884c\u7a0b\u5e8f\u7684\u74f6\u9888\u3001\u7f16\u5199\u591a\u7ebf\u7a0b\u540c\u6b65\u4ee3\u7801\u3001\u5b66\u4e60 CUDA \u7f16\u7a0b\u3001OpenMP \u7f16\u7a0b\u4ee5\u53ca\u524d\u6bb5\u65f6\u95f4\u5927\u70ed\u7684 Spark \u6846\u67b6\u7b49\u7b49\u3002\u771f\u6b63\u610f\u4e49\u4e0a\u5c06\u7406\u8bba\u4e0e\u5b9e\u8df5\u5b8c\u7f8e\u5730\u7ed3\u5408\u5728\u4e86\u4e00\u8d77\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a CMU15418 , CS149 \u8bfe\u7a0b\u89c6\u9891\uff1a http://15418.courses.cs.cmu.edu/spring2016/lectures \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://gfxcourses.stanford.edu/cs149/fall21 \uff0c5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS149-parallel-computing - GitHub \u4e2d\u3002","title":"CMU 15-418/Stanford CS149: Parallel Computing"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/#cmu-15-418stanford-cs149-parallel-computing","text":"","title":"CMU 15-418/Stanford CS149: Parallel Computing"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u548c Stanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u719f\u6089 C++ \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 Kayvon Fatahalian \u6559\u6388\u6b64\u524d\u5728 CMU \u5f00\u4e86 15-418 \u8fd9\u95e8\u8bfe\uff0c\u540e\u6765\u4ed6\u6210\u4e3a Stanford \u7684\u52a9\u7406\u6559\u6388\u540e\u53c8\u5f00\u4e86\u7c7b\u4f3c\u7684\u8bfe\u7a0b CS149\u3002\u4f46\u603b\u4f53\u6765\u8bf4\uff0c15-418 \u5305\u542b\u7684\u8bfe\u7a0b\u5185\u5bb9\u66f4\u4e30\u5bcc\uff0c\u5e76\u4e14\u6709\u8bfe\u7a0b\u56de\u653e\uff0c\u4f46 CS149 \u7684\u7f16\u7a0b\u4f5c\u4e1a\u66f4 fashion \u4e00\u4e9b\u3002\u6211\u4e2a\u4eba\u662f\u89c2\u770b\u7684 15-418 \u7684\u8bfe\u7a0b\u5f55\u5f71\u4f46\u5b8c\u6210\u7684 CS149 \u7684\u4f5c\u4e1a\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u5e26\u4f60\u6df1\u5165\u7406\u89e3\u73b0\u4ee3\u5e76\u884c\u8ba1\u7b97\u67b6\u6784\u7684\u8bbe\u8ba1\u539f\u5219\u4e0e\u5fc5\u8981\u6743\u8861\uff0c\u5e76\u5b66\u4f1a\u5982\u4f55\u5145\u5206\u5229\u7528\u786c\u4ef6\u8d44\u6e90\u4ee5\u53ca\u8f6f\u4ef6\u7f16\u7a0b\u6846\u67b6\uff08\u4f8b\u5982 CUDA\uff0cMPI\uff0cOpenMP \u7b49\uff09\u7f16\u5199\u9ad8\u6027\u80fd\u7684\u5e76\u884c\u7a0b\u5e8f\u3002\u7531\u4e8e\u5e76\u884c\u8ba1\u7b97\u67b6\u6784\u7684\u590d\u6742\u6027\uff0c\u8fd9\u95e8\u8bfe\u4f1a\u6d89\u53ca\u8bf8\u591a\u9ad8\u7ea7\u4f53\u7cfb\u7ed3\u6784\u4e0e\u7f51\u7edc\u901a\u4fe1\u7684\u5185\u5bb9\uff0c\u77e5\u8bc6\u70b9\u76f8\u5f53\u5e95\u5c42\u4e14\u786c\u6838\u3002\u4e0e\u6b64\u540c\u65f6\uff0c5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5219\u662f\u4ece\u8f6f\u4ef6\u7684\u5c42\u9762\u57f9\u517b\u5b66\u751f\u5bf9\u4e0a\u5c42\u62bd\u8c61\u7684\u7406\u89e3\u4e0e\u8fd0\u7528\uff0c\u5177\u4f53\u4f1a\u8ba9\u4f60\u5206\u6790\u5e76\u884c\u7a0b\u5e8f\u7684\u74f6\u9888\u3001\u7f16\u5199\u591a\u7ebf\u7a0b\u540c\u6b65\u4ee3\u7801\u3001\u5b66\u4e60 CUDA \u7f16\u7a0b\u3001OpenMP \u7f16\u7a0b\u4ee5\u53ca\u524d\u6bb5\u65f6\u95f4\u5927\u70ed\u7684 Spark \u6846\u67b6\u7b49\u7b49\u3002\u771f\u6b63\u610f\u4e49\u4e0a\u5c06\u7406\u8bba\u4e0e\u5b9e\u8df5\u5b8c\u7f8e\u5730\u7ed3\u5408\u5728\u4e86\u4e00\u8d77\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a CMU15418 , CS149 \u8bfe\u7a0b\u89c6\u9891\uff1a http://15418.courses.cs.cmu.edu/spring2016/lectures \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://gfxcourses.stanford.edu/cs149/fall21 \uff0c5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS149-parallel-computing - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/","text":"MIT6.824: Distributed System \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u5e76\u884c\u7f16\u7a0b \u7f16\u7a0b\u8bed\u8a00\uff1aGo \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a200 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u548c MIT 6.S081 \u4e00\u6837\uff0c\u51fa\u54c1\u81ea MIT \u5927\u540d\u9f0e\u9f0e\u7684 PDOS \u5b9e\u9a8c\u5ba4\uff0c\u6388\u8bfe\u8001\u5e08 Robert Morris \u6559\u6388\u66fe\u662f\u4e00\u4f4d\u9876\u5c16\u9ed1\u5ba2\uff0c\u4e16\u754c\u4e0a\u7b2c\u4e00\u4e2a\u8815\u866b\u75c5\u6bd2 Morris \u75c5\u6bd2\u5c31\u662f\u51fa\u81ea\u4ed6\u4e4b\u624b\u3002 \u8fd9\u95e8\u8bfe\u6bcf\u8282\u8bfe\u90fd\u4f1a\u7cbe\u8bfb\u4e00\u7bc7\u5206\u5e03\u5f0f\u7cfb\u7edf\u9886\u57df\u7684\u7ecf\u5178\u8bba\u6587\uff0c\u5e76\u7531\u6b64\u4f20\u6388\u5206\u5e03\u5f0f\u7cfb\u7edf\u8bbe\u8ba1\u4e0e\u5b9e\u73b0\u7684\u91cd\u8981\u539f\u5219\u548c\u5173\u952e\u6280\u672f\u3002\u540c\u65f6\u5176\u8bfe\u7a0b Project \u4e5f\u662f\u4ee5\u5176\u96be\u5ea6\u4e4b\u5927\u800c\u95fb\u540d\u9050\u8fe9\uff0c4 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5faa\u5e8f\u6e10\u8fdb\u5e26\u4f60\u5b9e\u73b0\u4e00\u4e2a\u57fa\u4e8e Raft \u5171\u8bc6\u7b97\u6cd5\u7684 KV-store \u6846\u67b6\uff0c\u8ba9\u4f60\u5728\u75db\u82e6\u7684 debug \u4e2d\u4f53\u4f1a\u5e76\u884c\u4e0e\u5206\u5e03\u5f0f\u5e26\u6765\u7684\u968f\u673a\u6027\u548c\u590d\u6742\u6027\u3002 \u540c\u6837\uff0c\u8fd9\u95e8\u8bfe\u7531\u4e8e\u592a\u8fc7\u51fa\u540d\uff0c\u7f51\u4e0a\u7b54\u6848\u65e0\u6570\uff0c\u5e0c\u671b\u5927\u5bb6\u4e0d\u8981\u53c2\u8003\uff0c\u800c\u662f\u529b\u56fe\u81ea\u4e3b\u5b9e\u73b0\u6574\u4e2a Project\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://pdos.csail.mit.edu/6.824/schedule.html \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u89c6\u9891\u4e2d\u6587\u7ffb\u8bd1\uff1a https://mit-public-courses-cn-translatio.gitbook.io/mit6-824/ \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0\uff0c\u4ee5\u9605\u8bfb\u8bba\u6587\u4e3a\u4e3b \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 \u4e2a\u975e\u5e38\u8650\u7684 Project\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/MIT6.824 - GitHub \u4e2d\u3002 @ OneSizeFitsQuorum \u7684 Lab \u6587\u6863 \u8f83\u4e3a\u6e05\u6670\u5730\u4ecb\u7ecd\u4e86\u5b9e\u73b0 lab 1-4 \u548c challenge 1-2 \u65f6\u9700\u8981\u8003\u8651\u7684\u8bb8\u591a\u7ec6\u8282\uff0c\u5728\u9047\u5230\u74f6\u9888\u671f\u65f6\u53ef\u4ee5\u9605\u8bfb\u4e00\u4e0b~~","title":"MIT 6.824: Distributed System"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#mit6824-distributed-system","text":"","title":"MIT6.824: Distributed System"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u5e76\u884c\u7f16\u7a0b \u7f16\u7a0b\u8bed\u8a00\uff1aGo \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a200 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u548c MIT 6.S081 \u4e00\u6837\uff0c\u51fa\u54c1\u81ea MIT \u5927\u540d\u9f0e\u9f0e\u7684 PDOS \u5b9e\u9a8c\u5ba4\uff0c\u6388\u8bfe\u8001\u5e08 Robert Morris \u6559\u6388\u66fe\u662f\u4e00\u4f4d\u9876\u5c16\u9ed1\u5ba2\uff0c\u4e16\u754c\u4e0a\u7b2c\u4e00\u4e2a\u8815\u866b\u75c5\u6bd2 Morris \u75c5\u6bd2\u5c31\u662f\u51fa\u81ea\u4ed6\u4e4b\u624b\u3002 \u8fd9\u95e8\u8bfe\u6bcf\u8282\u8bfe\u90fd\u4f1a\u7cbe\u8bfb\u4e00\u7bc7\u5206\u5e03\u5f0f\u7cfb\u7edf\u9886\u57df\u7684\u7ecf\u5178\u8bba\u6587\uff0c\u5e76\u7531\u6b64\u4f20\u6388\u5206\u5e03\u5f0f\u7cfb\u7edf\u8bbe\u8ba1\u4e0e\u5b9e\u73b0\u7684\u91cd\u8981\u539f\u5219\u548c\u5173\u952e\u6280\u672f\u3002\u540c\u65f6\u5176\u8bfe\u7a0b Project \u4e5f\u662f\u4ee5\u5176\u96be\u5ea6\u4e4b\u5927\u800c\u95fb\u540d\u9050\u8fe9\uff0c4 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5faa\u5e8f\u6e10\u8fdb\u5e26\u4f60\u5b9e\u73b0\u4e00\u4e2a\u57fa\u4e8e Raft \u5171\u8bc6\u7b97\u6cd5\u7684 KV-store \u6846\u67b6\uff0c\u8ba9\u4f60\u5728\u75db\u82e6\u7684 debug \u4e2d\u4f53\u4f1a\u5e76\u884c\u4e0e\u5206\u5e03\u5f0f\u5e26\u6765\u7684\u968f\u673a\u6027\u548c\u590d\u6742\u6027\u3002 \u540c\u6837\uff0c\u8fd9\u95e8\u8bfe\u7531\u4e8e\u592a\u8fc7\u51fa\u540d\uff0c\u7f51\u4e0a\u7b54\u6848\u65e0\u6570\uff0c\u5e0c\u671b\u5927\u5bb6\u4e0d\u8981\u53c2\u8003\uff0c\u800c\u662f\u529b\u56fe\u81ea\u4e3b\u5b9e\u73b0\u6574\u4e2a Project\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://pdos.csail.mit.edu/6.824/schedule.html \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u89c6\u9891\u4e2d\u6587\u7ffb\u8bd1\uff1a https://mit-public-courses-cn-translatio.gitbook.io/mit6-824/ \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0\uff0c\u4ee5\u9605\u8bfb\u8bba\u6587\u4e3a\u4e3b \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 \u4e2a\u975e\u5e38\u8650\u7684 Project\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/MIT6.824 - GitHub \u4e2d\u3002 @ OneSizeFitsQuorum \u7684 Lab \u6587\u6863 \u8f83\u4e3a\u6e05\u6670\u5730\u4ecb\u7ecd\u4e86\u5b9e\u73b0 lab 1-4 \u548c challenge 1-2 \u65f6\u9700\u8981\u8003\u8651\u7684\u8bb8\u591a\u7ec6\u8282\uff0c\u5728\u9047\u5230\u74f6\u9888\u671f\u65f6\u53ef\u4ee5\u9605\u8bfb\u4e00\u4e0b~~","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/","text":"CMake \u4e3a\u4ec0\u4e48\u5b66\u4e60 CMake CMake \u662f\u7c7b\u4f3c\u4e8e GNU make \u7684\u8de8\u5e73\u53f0\u81ea\u52a8\u8f6f\u4ef6\u6784\u5efa\u5de5\u5177\uff0c\u4f7f\u7528 CMakeLists.txt \u5b9a\u4e49\u6784\u5efa\u89c4\u5219\uff0c\u76f8\u6bd4\u4e8e make \u5b83\u63d0\u4f9b\u4e86\u66f4\u591a\u7684\u529f\u80fd\uff0c\u5728\u5404\u79cd\u8f6f\u4ef6\u6784\u5efa\u4e0a\u5e7f\u6cdb\u4f7f\u7528\u3002 \u5f3a\u70c8\u5efa\u8bae\u5b66\u4e60\u4f7f\u7528 GNU Make \u548c\u719f\u6089 Makefile \u540e\u518d\u5b66\u4e60 CMake \u3002 \u5982\u4f55\u5b66\u4e60 CMake CMakeLists.txt \u6bd4 Makefile \u66f4\u4e3a\u62bd\u8c61\uff0c\u7406\u89e3\u548c\u4f7f\u7528\u96be\u5ea6\u4e5f\u66f4\u5927\u3002\u73b0\u9636\u6bb5\u5f88\u591a IDE (\u5982 Visual Studio, CLion) \u63d0\u4f9b\u4e86\u81ea\u52a8\u751f\u6210 CMakeLists.txt \u7684\u529f\u80fd\uff0c\u4f46\u638c\u63e1 CMakeLists.txt \u7684\u57fa\u672c\u7528\u6cd5\u4ecd\u7136\u5f88\u6709\u5fc5\u8981\u3002\u9664\u4e86 CMake \u5b98\u65b9 Tutorial \u5916\uff0c\u4e0a\u6d77\u4ea4\u901a\u5927\u5b66 IPADS \u7ec4\u65b0\u4eba\u57f9\u8bad\u4e5f\u63d0\u4f9b\u4e86 \u5927\u7ea6\u4e00\u5c0f\u65f6\u7684\u89c6\u9891\u6559\u7a0b \u3002","title":"CMake"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/#cmake","text":"","title":"CMake"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/#cmake_1","text":"CMake \u662f\u7c7b\u4f3c\u4e8e GNU make \u7684\u8de8\u5e73\u53f0\u81ea\u52a8\u8f6f\u4ef6\u6784\u5efa\u5de5\u5177\uff0c\u4f7f\u7528 CMakeLists.txt \u5b9a\u4e49\u6784\u5efa\u89c4\u5219\uff0c\u76f8\u6bd4\u4e8e make \u5b83\u63d0\u4f9b\u4e86\u66f4\u591a\u7684\u529f\u80fd\uff0c\u5728\u5404\u79cd\u8f6f\u4ef6\u6784\u5efa\u4e0a\u5e7f\u6cdb\u4f7f\u7528\u3002 \u5f3a\u70c8\u5efa\u8bae\u5b66\u4e60\u4f7f\u7528 GNU Make \u548c\u719f\u6089 Makefile \u540e\u518d\u5b66\u4e60 CMake \u3002","title":"\u4e3a\u4ec0\u4e48\u5b66\u4e60 CMake"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/#cmake_2","text":"CMakeLists.txt \u6bd4 Makefile \u66f4\u4e3a\u62bd\u8c61\uff0c\u7406\u89e3\u548c\u4f7f\u7528\u96be\u5ea6\u4e5f\u66f4\u5927\u3002\u73b0\u9636\u6bb5\u5f88\u591a IDE (\u5982 Visual Studio, CLion) \u63d0\u4f9b\u4e86\u81ea\u52a8\u751f\u6210 CMakeLists.txt \u7684\u529f\u80fd\uff0c\u4f46\u638c\u63e1 CMakeLists.txt \u7684\u57fa\u672c\u7528\u6cd5\u4ecd\u7136\u5f88\u6709\u5fc5\u8981\u3002\u9664\u4e86 CMake \u5b98\u65b9 Tutorial \u5916\uff0c\u4e0a\u6d77\u4ea4\u901a\u5927\u5b66 IPADS \u7ec4\u65b0\u4eba\u57f9\u8bad\u4e5f\u63d0\u4f9b\u4e86 \u5927\u7ea6\u4e00\u5c0f\u65f6\u7684\u89c6\u9891\u6559\u7a0b \u3002","title":"\u5982\u4f55\u5b66\u4e60 CMake"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/","text":"Docker \u4e3a\u4ec0\u4e48\u4f7f\u7528 Docker \u4f7f\u7528\u522b\u4eba\u5199\u597d\u7684\u8f6f\u4ef6/\u5de5\u5177\u6700\u5927\u7684\u969c\u788d\u662f\u4ec0\u4e48\u2014\u2014\u5fc5\u7136\u662f\u914d\u73af\u5883\u3002\u914d\u73af\u5883\u5e26\u6765\u7684\u6298\u78e8\u4f1a\u6781\u5927\u5730\u6d88\u89e3\u4f60\u5bf9\u8f6f\u4ef6\u3001\u7f16\u7a0b\u672c\u8eab\u7684\u5174\u8da3\u3002\u865a\u62df\u673a\u53ef\u4ee5\u89e3\u51b3\u914d\u73af\u5883\u7684\u4e00\u90e8\u5206\u95ee\u9898\uff0c\u4f46\u5b83\u5e9e\u5927\u7b28\u91cd\uff0c\u4e14\u4e3a\u4e86\u67d0\u4e2a\u5e94\u7528\u7684\u73af\u5883\u914d\u7f6e\u597d\u50cf\u4e5f\u4e0d\u503c\u5f97\u6a21\u62df\u4e00\u4e2a\u5168\u65b0\u7684\u64cd\u4f5c\u7cfb\u7edf\u3002 Docker \u7684\u51fa\u73b0\u8ba9\u73af\u5883\u914d\u7f6e\u53d8\u5f97\uff08\u6216\u8bb8\uff09\u4e0d\u518d\u6298\u78e8\u3002\u7b80\u5355\u6765\u8bf4 Docker \u4f7f\u7528\u8f7b\u91cf\u7ea7\u7684\u201c\u5bb9\u5668\u201d\uff08container\uff09\u800c\u4e0d\u662f\u6574\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u53bb\u652f\u6301\u4e00\u4e2a\u5e94\u7528\u7684\u914d\u7f6e\u3002\u5e94\u7528\u81ea\u8eab\u8fde\u540c\u5b83\u7684\u73af\u5883\u914d\u7f6e\u88ab\u6253\u5305\u4e3a\u4e00\u4e2a\u4e2a image \u53ef\u4ee5\u81ea\u7531\u8fd0\u884c\u5728\u4e0d\u540c\u5e73\u53f0\u7684\u4e00\u4e2a\u4e2a container \u4e2d\uff0c\u8fd9\u6781\u5927\u5730\u8282\u7701\u4e86\u6240\u6709\u4eba\u7684\u65f6\u95f4\u6210\u672c\u3002 \u5982\u4f55\u5b66\u4e60 Docker Docker \u5b98\u65b9\u6587\u6863 \u5f53\u7136\u662f\u6700\u597d\u7684\u521d\u5b66\u6559\u6750\uff0c\u4f46\u6700\u597d\u7684\u5bfc\u5e08\u4e00\u5b9a\u662f\u4f60\u81ea\u5df1\u2014\u2014\u5c1d\u8bd5\u53bb\u4f7f\u7528 Docker \u624d\u80fd\u4eab\u53d7\u5b83\u5e26\u6765\u7684\u4fbf\u5229\u3002Docker \u5728\u5de5\u4e1a\u754c\u53d1\u5c55\u8fc5\u731b\u5e76\u5df2\u7ecf\u975e\u5e38\u6210\u719f\uff0c\u4f60\u53ef\u4ee5\u4e0b\u8f7d\u5b83\u7684\u684c\u9762\u7aef\u5e76\u4f7f\u7528\u56fe\u5f62\u754c\u9762\u3002 \u5f53\u7136\uff0c\u5982\u679c\u4f60\u50cf\u6211\u4e00\u6837\uff0c\u662f\u4e00\u4e2a\u75af\u72c2\u7684\u9020\u8f6e\u5b50\u7231\u597d\u8005\uff0c\u90a3\u4e0d\u59a8\u81ea\u5df1\u4eb2\u624b\u5199\u4e00\u4e2a \u8ff7\u4f60 Docker \u6765\u52a0\u6df1\u7406\u89e3\u3002 KodeKloud Docker for the Absolute Beginner \u5168\u9762\u7684\u4ecb\u7ecd\u4e86 Docker \u7684\u57fa\u7840\u529f\u80fd\uff0c\u5e76\u4e14\u6709\u5927\u91cf\u7684\u914d\u5957\u7ec3\u4e60\uff0c\u540c\u65f6\u63d0\u4f9b\u514d\u8d39\u7684\u4e91\u73af\u5883\u6765\u5b8c\u6210\u7ec3\u4e60\u3002\u5176\u4f59\u7684\u4e91\u76f8\u5173\u7684\u8bfe\u7a0b\u5982 Kubernetes \u9700\u8981\u4ed8\u8d39\uff0c\u4f46\u4e2a\u4eba\u5f3a\u70c8\u63a8\u8350\uff1a\u8bb2\u89e3\u975e\u5e38\u4ed4\u7ec6\uff0c\u9002\u5408\u4ece 0 \u5f00\u59cb\u7684\u65b0\u624b\uff1b\u6709\u914d\u5957\u7684 Kubernetes \u7684\u5b9e\u9a8c\u73af\u5883\uff0c\u4e0d\u7528\u88ab\u642d\u5efa\u73af\u5883\u529d\u9000\u3002","title":"Docker"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/#docker","text":"","title":"Docker"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/#docker_1","text":"\u4f7f\u7528\u522b\u4eba\u5199\u597d\u7684\u8f6f\u4ef6/\u5de5\u5177\u6700\u5927\u7684\u969c\u788d\u662f\u4ec0\u4e48\u2014\u2014\u5fc5\u7136\u662f\u914d\u73af\u5883\u3002\u914d\u73af\u5883\u5e26\u6765\u7684\u6298\u78e8\u4f1a\u6781\u5927\u5730\u6d88\u89e3\u4f60\u5bf9\u8f6f\u4ef6\u3001\u7f16\u7a0b\u672c\u8eab\u7684\u5174\u8da3\u3002\u865a\u62df\u673a\u53ef\u4ee5\u89e3\u51b3\u914d\u73af\u5883\u7684\u4e00\u90e8\u5206\u95ee\u9898\uff0c\u4f46\u5b83\u5e9e\u5927\u7b28\u91cd\uff0c\u4e14\u4e3a\u4e86\u67d0\u4e2a\u5e94\u7528\u7684\u73af\u5883\u914d\u7f6e\u597d\u50cf\u4e5f\u4e0d\u503c\u5f97\u6a21\u62df\u4e00\u4e2a\u5168\u65b0\u7684\u64cd\u4f5c\u7cfb\u7edf\u3002 Docker \u7684\u51fa\u73b0\u8ba9\u73af\u5883\u914d\u7f6e\u53d8\u5f97\uff08\u6216\u8bb8\uff09\u4e0d\u518d\u6298\u78e8\u3002\u7b80\u5355\u6765\u8bf4 Docker \u4f7f\u7528\u8f7b\u91cf\u7ea7\u7684\u201c\u5bb9\u5668\u201d\uff08container\uff09\u800c\u4e0d\u662f\u6574\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u53bb\u652f\u6301\u4e00\u4e2a\u5e94\u7528\u7684\u914d\u7f6e\u3002\u5e94\u7528\u81ea\u8eab\u8fde\u540c\u5b83\u7684\u73af\u5883\u914d\u7f6e\u88ab\u6253\u5305\u4e3a\u4e00\u4e2a\u4e2a image \u53ef\u4ee5\u81ea\u7531\u8fd0\u884c\u5728\u4e0d\u540c\u5e73\u53f0\u7684\u4e00\u4e2a\u4e2a container \u4e2d\uff0c\u8fd9\u6781\u5927\u5730\u8282\u7701\u4e86\u6240\u6709\u4eba\u7684\u65f6\u95f4\u6210\u672c\u3002","title":"\u4e3a\u4ec0\u4e48\u4f7f\u7528 Docker"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/#docker_2","text":"Docker \u5b98\u65b9\u6587\u6863 \u5f53\u7136\u662f\u6700\u597d\u7684\u521d\u5b66\u6559\u6750\uff0c\u4f46\u6700\u597d\u7684\u5bfc\u5e08\u4e00\u5b9a\u662f\u4f60\u81ea\u5df1\u2014\u2014\u5c1d\u8bd5\u53bb\u4f7f\u7528 Docker \u624d\u80fd\u4eab\u53d7\u5b83\u5e26\u6765\u7684\u4fbf\u5229\u3002Docker \u5728\u5de5\u4e1a\u754c\u53d1\u5c55\u8fc5\u731b\u5e76\u5df2\u7ecf\u975e\u5e38\u6210\u719f\uff0c\u4f60\u53ef\u4ee5\u4e0b\u8f7d\u5b83\u7684\u684c\u9762\u7aef\u5e76\u4f7f\u7528\u56fe\u5f62\u754c\u9762\u3002 \u5f53\u7136\uff0c\u5982\u679c\u4f60\u50cf\u6211\u4e00\u6837\uff0c\u662f\u4e00\u4e2a\u75af\u72c2\u7684\u9020\u8f6e\u5b50\u7231\u597d\u8005\uff0c\u90a3\u4e0d\u59a8\u81ea\u5df1\u4eb2\u624b\u5199\u4e00\u4e2a \u8ff7\u4f60 Docker \u6765\u52a0\u6df1\u7406\u89e3\u3002 KodeKloud Docker for the Absolute Beginner \u5168\u9762\u7684\u4ecb\u7ecd\u4e86 Docker \u7684\u57fa\u7840\u529f\u80fd\uff0c\u5e76\u4e14\u6709\u5927\u91cf\u7684\u914d\u5957\u7ec3\u4e60\uff0c\u540c\u65f6\u63d0\u4f9b\u514d\u8d39\u7684\u4e91\u73af\u5883\u6765\u5b8c\u6210\u7ec3\u4e60\u3002\u5176\u4f59\u7684\u4e91\u76f8\u5173\u7684\u8bfe\u7a0b\u5982 Kubernetes \u9700\u8981\u4ed8\u8d39\uff0c\u4f46\u4e2a\u4eba\u5f3a\u70c8\u63a8\u8350\uff1a\u8bb2\u89e3\u975e\u5e38\u4ed4\u7ec6\uff0c\u9002\u5408\u4ece 0 \u5f00\u59cb\u7684\u65b0\u624b\uff1b\u6709\u914d\u5957\u7684 Kubernetes \u7684\u5b9e\u9a8c\u73af\u5883\uff0c\u4e0d\u7528\u88ab\u642d\u5efa\u73af\u5883\u529d\u9000\u3002","title":"\u5982\u4f55\u5b66\u4e60 Docker"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/","text":"Emacs \u4e3a\u4ec0\u4e48\u5b66\u4e60 Emacs Emacs \u662f\u4e00\u4e2a\u4e0e Vim \u9f50\u540d\u7684\u5f3a\u5927\u7f16\u8f91\u5668\uff0c\u4e8b\u5b9e\u4e0a Emacs \u51e0\u4e4e\u5177\u6709 Vim \u7684\u6240\u6709\u597d\u5904\uff0c\u4f8b\u5982\uff1a \u53ea\u9700\u8981\u952e\u76d8\u5c31\u53ef\u4ee5\u5b8c\u6210\u6240\u6709\u64cd\u4f5c\uff0c\u5927\u91cf\u4f7f\u7528\u5feb\u6377\u952e\uff0c\u5177\u6709\u6781\u9ad8\u7684\u7f16\u8f91\u6548\u7387\u3002 \u65e2\u53ef\u4ee5\u5728\u7ec8\u7aef\u65e0\u56fe\u5f62\u754c\u9762\u7684\u573a\u666f\u4e0b\u4f7f\u7528\uff0c\u4e5f\u53ef\u4f7f\u7528\u6709\u56fe\u5f62\u754c\u9762\u7684\u7248\u672c\u83b7\u5f97\u66f4\u73b0\u4ee3\u3001\u66f4\u7f8e\u89c2\u7684\u4f53\u9a8c\u3002 \u6b64\u5916\uff0cEmacs \u4e0e\u5176\u5b83\u5927\u90e8\u5206\u7f16\u8f91\u5668\u6700\u5927\u7684\u4e0d\u540c\u5c31\u5728\u4e8e\u5176\u5f3a\u5927\u7684\u6269\u5c55\u6027\u3002Emacs \u7684\u5185\u6838\u6ca1\u6709\u5bf9\u7528\u6237\u505a\u51fa\u4efb\u4f55\u9650\u5236\uff0c\u4f7f\u7528 Emacs Lisp \u7f16\u7a0b\u8bed\u8a00\u53ef\u4ee5\u4e3a Emacs \u7f16\u5199\u4efb\u610f\u903b\u8f91\u7684\u63d2\u4ef6\u6765\u6269\u5c55 Emacs \u7684\u529f\u80fd\u3002\u7ecf\u8fc7\u51e0\u5341\u5e74\u7684\u79ef\u7d2f\uff0cEmacs \u7684\u63d2\u4ef6\u751f\u6001\u53ef\u8c13\u7f16\u8f91\u5668\u4e2d\u6700\u4e3a\u4e30\u5bcc\u548c\u5f3a\u5927\u7684\u751f\u6001\u4e4b\u4e00\u3002\u6709\u4e00\u79cd\u8bf4\u6cd5\u662f\uff0c\u201cEmacs \u8868\u9762\u4e0a\u662f\u4e2a\u7f16\u8f91\u5668\uff0c\u5176\u5b9e\u662f\u4e00\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u201d\u3002\u53ea\u8981\u7a0d\u4f5c\u5b66\u4e60\uff0c\u4f60\u4e5f\u53ef\u4ee5\u7f16\u5199\u5c5e\u4e8e\u81ea\u5df1\u7684 Emacs \u6269\u5c55\u3002 Emacs \u5bf9 Vim \u7528\u6237\u4e5f\u5341\u5206\u53cb\u597d\uff0c\u6709\u4e00\u4e2a\u53eb evil \u7684\u63d2\u4ef6\u53ef\u4ee5\u8ba9\u7528\u6237\u5728 Emacs \u4e2d\u4f7f\u7528 Vim \u7684\u57fa\u672c\u64cd\u4f5c\uff0c\u53ea\u9700\u8981\u5f88\u4f4e\u7684\u8fc1\u79fb\u6210\u672c\u5373\u53ef\u4ece Vim \u8f6c\u5230 Emacs\u3002\u66fe\u7ecf\u6709\u7edf\u8ba1\u663e\u793a\u6709\u76f8\u5f53\u4e00\u90e8\u5206\u7528\u6237\u4f1a\u4ece Vim \u8f6c\u5230 Emacs\uff0c\u4f46\u51e0\u4e4e\u6ca1\u6709\u7528\u6237\u4ece Emacs \u8f6c\u5230 Vim\u3002\u4e8b\u5b9e\u4e0a\uff0cEmacs \u76f8\u5bf9 Vim \u6700\u5927\u7684\u4e0d\u8db3\u662f\u7eaf\u6587\u672c\u7f16\u8f91\u65b9\u9762\u4e0d\u5982 Vim \u7684\u591a\u6a21\u6001\u7f16\u8f91\u6548\u7387\u9ad8\uff0c\u4f46\u51ed\u501f\u5176\u5f3a\u5927\u7684\u6269\u5c55\u6027\uff0cEmacs \u53ef\u4ee5\u626c\u957f\u907f\u77ed\uff0c\u628a Vim \u5438\u6536\u8fdb\u6765\uff0c\u7ed3\u5408\u4e86\u4e8c\u8005\u7684\u957f\u5904\u3002 \u5982\u4f55\u5b66\u4e60 Emacs \u4e0e Vim \u76f8\u540c\uff0cEmacs \u7684\u5b66\u4e60\u66f2\u7ebf\u4e5f\u6bd4\u8f83\u9661\u5ced\uff0c\u4f46\u4e00\u65e6\u7406\u89e3\u4e86 Emacs \u7684\u4f7f\u7528\u903b\u8f91\uff0c\u5c31\u4f1a\u7231\u4e0d\u91ca\u624b\u3002\u7136\u800c\uff0c\u7f51\u4e0a\u7684 Emacs \u8d44\u6599\u5927\u591a\u4e0d\u7ec6\u81f4\u3001\u4e0d\u591f\u51c6\u786e\uff0c\u751a\u81f3\u6709\u54d7\u4f17\u53d6\u5ba0\u7684\u5acc\u7591\u3002 \u8fd9\u91cc\u7ed9\u5927\u5bb6\u63a8\u8350\u4e00\u4e2a\u8f83\u65b0\u7684\u4e2d\u6587\u6559\u7a0b \u300a\u4e13\u4e1a Emacs \u5165\u95e8\u300b \uff0c\u8fd9\u7bc7\u6559\u7a0b\u6bd4\u8f83\u7cfb\u7edf\u548c\u5168\u9762\uff0c\u4e14\u8bb2\u8ff0\u76f8\u5bf9\u6bd4\u8f83\u8010\u5fc3\u7ec6\u81f4\uff0c\u5728\u8bb2\u89e3 Emacs \u57fa\u672c\u903b\u8f91\u7684\u540c\u65f6\u4e5f\u7ed9\u51fa\u4e86\u6210\u5957\u7684\u63d2\u4ef6\u63a8\u8350\uff0c\u8bfb\u5b8c\u540e\u53ef\u4ee5\u83b7\u5f97\u4e00\u4e2a\u529f\u80fd\u5b8c\u5584\u7684\u3001\u63a5\u8fd1 IDE \u7684 Emacs\uff0c\u56e0\u6b64\u503c\u5f97\u4e00\u8bfb\u3002\u5b66\u5b8c\u6559\u7a0b\u53ea\u662f\u521a\u521a\u5f00\u59cb\uff0c\u5b66\u4f1a\u4e4b\u540e\u8981\u7ecf\u5e38\u4f7f\u7528\uff0c\u5728\u4f7f\u7528\u4e2d\u9047\u5230\u95ee\u9898\u52e4\u4e8e\u641c\u7d22\u548c\u601d\u8003\uff0c\u6700\u7ec8\u624d\u80fd\u5f97\u5fc3\u5e94\u624b\u3002 \u5173\u4e8e\u952e\u4f4d\u6620\u5c04 Emacs \u7684\u552f\u4e00\u7f3a\u70b9\u4fbf\u662f\u5bf9 Ctrl \u952e\u7684\u4f7f\u7528\u8fc7\u591a\uff0c\u5bf9\u5c0f\u624b\u6307\u4e0d\u662f\u5f88\u53cb\u597d\uff0c\u5f3a\u70c8\u5efa\u8bae\u66f4\u6539 Ctrl \u952e\u7684\u952e\u76d8\u6620\u5c04\u3002\u66f4\u6539\u6620\u5c04\u7684\u65b9\u5f0f\u4e0e Vim \u6559\u7a0b \u4e2d\u7684\u65b9\u6cd5\u76f8\u540c\uff0c\u8fd9\u91cc\u4e0d\u505a\u8d58\u8ff0\u3002","title":"Emacs"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/#emacs","text":"","title":"Emacs"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/#emacs_1","text":"Emacs \u662f\u4e00\u4e2a\u4e0e Vim \u9f50\u540d\u7684\u5f3a\u5927\u7f16\u8f91\u5668\uff0c\u4e8b\u5b9e\u4e0a Emacs \u51e0\u4e4e\u5177\u6709 Vim \u7684\u6240\u6709\u597d\u5904\uff0c\u4f8b\u5982\uff1a \u53ea\u9700\u8981\u952e\u76d8\u5c31\u53ef\u4ee5\u5b8c\u6210\u6240\u6709\u64cd\u4f5c\uff0c\u5927\u91cf\u4f7f\u7528\u5feb\u6377\u952e\uff0c\u5177\u6709\u6781\u9ad8\u7684\u7f16\u8f91\u6548\u7387\u3002 \u65e2\u53ef\u4ee5\u5728\u7ec8\u7aef\u65e0\u56fe\u5f62\u754c\u9762\u7684\u573a\u666f\u4e0b\u4f7f\u7528\uff0c\u4e5f\u53ef\u4f7f\u7528\u6709\u56fe\u5f62\u754c\u9762\u7684\u7248\u672c\u83b7\u5f97\u66f4\u73b0\u4ee3\u3001\u66f4\u7f8e\u89c2\u7684\u4f53\u9a8c\u3002 \u6b64\u5916\uff0cEmacs \u4e0e\u5176\u5b83\u5927\u90e8\u5206\u7f16\u8f91\u5668\u6700\u5927\u7684\u4e0d\u540c\u5c31\u5728\u4e8e\u5176\u5f3a\u5927\u7684\u6269\u5c55\u6027\u3002Emacs \u7684\u5185\u6838\u6ca1\u6709\u5bf9\u7528\u6237\u505a\u51fa\u4efb\u4f55\u9650\u5236\uff0c\u4f7f\u7528 Emacs Lisp \u7f16\u7a0b\u8bed\u8a00\u53ef\u4ee5\u4e3a Emacs \u7f16\u5199\u4efb\u610f\u903b\u8f91\u7684\u63d2\u4ef6\u6765\u6269\u5c55 Emacs \u7684\u529f\u80fd\u3002\u7ecf\u8fc7\u51e0\u5341\u5e74\u7684\u79ef\u7d2f\uff0cEmacs \u7684\u63d2\u4ef6\u751f\u6001\u53ef\u8c13\u7f16\u8f91\u5668\u4e2d\u6700\u4e3a\u4e30\u5bcc\u548c\u5f3a\u5927\u7684\u751f\u6001\u4e4b\u4e00\u3002\u6709\u4e00\u79cd\u8bf4\u6cd5\u662f\uff0c\u201cEmacs \u8868\u9762\u4e0a\u662f\u4e2a\u7f16\u8f91\u5668\uff0c\u5176\u5b9e\u662f\u4e00\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u201d\u3002\u53ea\u8981\u7a0d\u4f5c\u5b66\u4e60\uff0c\u4f60\u4e5f\u53ef\u4ee5\u7f16\u5199\u5c5e\u4e8e\u81ea\u5df1\u7684 Emacs \u6269\u5c55\u3002 Emacs \u5bf9 Vim \u7528\u6237\u4e5f\u5341\u5206\u53cb\u597d\uff0c\u6709\u4e00\u4e2a\u53eb evil \u7684\u63d2\u4ef6\u53ef\u4ee5\u8ba9\u7528\u6237\u5728 Emacs \u4e2d\u4f7f\u7528 Vim \u7684\u57fa\u672c\u64cd\u4f5c\uff0c\u53ea\u9700\u8981\u5f88\u4f4e\u7684\u8fc1\u79fb\u6210\u672c\u5373\u53ef\u4ece Vim \u8f6c\u5230 Emacs\u3002\u66fe\u7ecf\u6709\u7edf\u8ba1\u663e\u793a\u6709\u76f8\u5f53\u4e00\u90e8\u5206\u7528\u6237\u4f1a\u4ece Vim \u8f6c\u5230 Emacs\uff0c\u4f46\u51e0\u4e4e\u6ca1\u6709\u7528\u6237\u4ece Emacs \u8f6c\u5230 Vim\u3002\u4e8b\u5b9e\u4e0a\uff0cEmacs \u76f8\u5bf9 Vim \u6700\u5927\u7684\u4e0d\u8db3\u662f\u7eaf\u6587\u672c\u7f16\u8f91\u65b9\u9762\u4e0d\u5982 Vim \u7684\u591a\u6a21\u6001\u7f16\u8f91\u6548\u7387\u9ad8\uff0c\u4f46\u51ed\u501f\u5176\u5f3a\u5927\u7684\u6269\u5c55\u6027\uff0cEmacs \u53ef\u4ee5\u626c\u957f\u907f\u77ed\uff0c\u628a Vim \u5438\u6536\u8fdb\u6765\uff0c\u7ed3\u5408\u4e86\u4e8c\u8005\u7684\u957f\u5904\u3002","title":"\u4e3a\u4ec0\u4e48\u5b66\u4e60 Emacs"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/#emacs_2","text":"\u4e0e Vim \u76f8\u540c\uff0cEmacs \u7684\u5b66\u4e60\u66f2\u7ebf\u4e5f\u6bd4\u8f83\u9661\u5ced\uff0c\u4f46\u4e00\u65e6\u7406\u89e3\u4e86 Emacs \u7684\u4f7f\u7528\u903b\u8f91\uff0c\u5c31\u4f1a\u7231\u4e0d\u91ca\u624b\u3002\u7136\u800c\uff0c\u7f51\u4e0a\u7684 Emacs \u8d44\u6599\u5927\u591a\u4e0d\u7ec6\u81f4\u3001\u4e0d\u591f\u51c6\u786e\uff0c\u751a\u81f3\u6709\u54d7\u4f17\u53d6\u5ba0\u7684\u5acc\u7591\u3002 \u8fd9\u91cc\u7ed9\u5927\u5bb6\u63a8\u8350\u4e00\u4e2a\u8f83\u65b0\u7684\u4e2d\u6587\u6559\u7a0b \u300a\u4e13\u4e1a Emacs \u5165\u95e8\u300b \uff0c\u8fd9\u7bc7\u6559\u7a0b\u6bd4\u8f83\u7cfb\u7edf\u548c\u5168\u9762\uff0c\u4e14\u8bb2\u8ff0\u76f8\u5bf9\u6bd4\u8f83\u8010\u5fc3\u7ec6\u81f4\uff0c\u5728\u8bb2\u89e3 Emacs \u57fa\u672c\u903b\u8f91\u7684\u540c\u65f6\u4e5f\u7ed9\u51fa\u4e86\u6210\u5957\u7684\u63d2\u4ef6\u63a8\u8350\uff0c\u8bfb\u5b8c\u540e\u53ef\u4ee5\u83b7\u5f97\u4e00\u4e2a\u529f\u80fd\u5b8c\u5584\u7684\u3001\u63a5\u8fd1 IDE \u7684 Emacs\uff0c\u56e0\u6b64\u503c\u5f97\u4e00\u8bfb\u3002\u5b66\u5b8c\u6559\u7a0b\u53ea\u662f\u521a\u521a\u5f00\u59cb\uff0c\u5b66\u4f1a\u4e4b\u540e\u8981\u7ecf\u5e38\u4f7f\u7528\uff0c\u5728\u4f7f\u7528\u4e2d\u9047\u5230\u95ee\u9898\u52e4\u4e8e\u641c\u7d22\u548c\u601d\u8003\uff0c\u6700\u7ec8\u624d\u80fd\u5f97\u5fc3\u5e94\u624b\u3002","title":"\u5982\u4f55\u5b66\u4e60 Emacs"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/#_1","text":"Emacs \u7684\u552f\u4e00\u7f3a\u70b9\u4fbf\u662f\u5bf9 Ctrl \u952e\u7684\u4f7f\u7528\u8fc7\u591a\uff0c\u5bf9\u5c0f\u624b\u6307\u4e0d\u662f\u5f88\u53cb\u597d\uff0c\u5f3a\u70c8\u5efa\u8bae\u66f4\u6539 Ctrl \u952e\u7684\u952e\u76d8\u6620\u5c04\u3002\u66f4\u6539\u6620\u5c04\u7684\u65b9\u5f0f\u4e0e Vim \u6559\u7a0b \u4e2d\u7684\u65b9\u6cd5\u76f8\u540c\uff0c\u8fd9\u91cc\u4e0d\u505a\u8d58\u8ff0\u3002","title":"\u5173\u4e8e\u952e\u4f4d\u6620\u5c04"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GNU_Make/","text":"GNU Make \u4e3a\u4ec0\u4e48\u5b66 GNU Make \u5927\u5bb6\u7b2c\u4e00\u6b21\u5199 hello world \u7a0b\u5e8f\u7684\u65f6\u5019\u4e00\u5b9a\u90fd\u8bb0\u5f97\uff0c\u5728\u7f16\u8f91\u5b8c helloworld.c \u4e4b\u540e\uff0c\u9700\u8981\u7528 gcc \u7f16\u8bd1\u751f\u6210\u53ef\u6267\u884c\u6587\u4ef6\uff0c\u7136\u540e\u518d\u6267\u884c\uff08\u5982\u679c\u4f60\u4e0d\u7406\u89e3\u524d\u9762\u8fd9\u6bb5\u8bdd\uff0c\u8bf7\u5148\u81ea\u884c\u8c37\u6b4c gcc \u7f16\u8bd1 \u5e76\u7406\u89e3\u76f8\u5173\u5185\u5bb9\uff09\u3002\u4f46\u5982\u679c\u4f60\u7684\u9879\u76ee\u7531\u6210\u767e\u4e0a\u5343\u4e2a C \u6e90\u6587\u4ef6\u7ec4\u6210\uff0c\u5e76\u4e14\u661f\u7f57\u68cb\u5e03\u5728\u5404\u4e2a\u5b50\u76ee\u5f55\u4e0b\uff0c\u4f60\u8be5\u5982\u4f55\u5c06\u5b83\u4eec\u7f16\u8bd1\u94fe\u63a5\u5230\u4e00\u8d77\u5462\uff1f\u5047\u5982\u4f60\u7684\u9879\u76ee\u7f16\u8bd1\u4e00\u6b21\u9700\u8981\u534a\u4e2a\u5c0f\u65f6\uff08\u5927\u578b\u9879\u76ee\u76f8\u5f53\u5e38\u89c1\uff09\uff0c\u800c\u4f60\u53ea\u4fee\u6539\u4e86\u4e00\u4e2a\u5206\u53f7\uff0c\u662f\u4e0d\u662f\u8fd8\u9700\u8981\u518d\u7b49\u534a\u4e2a\u5c0f\u65f6\u5462\uff1f \u8fd9\u65f6\u5019 GNU Make \u5c31\u95ea\u4eae\u767b\u573a\u4e86\uff0c\u5b83\u80fd\u8ba9\u4f60\u5728\u4e00\u4e2a\u811a\u672c\u91cc\uff08\u5373\u6240\u8c13\u7684 Makefile \uff09\u5b9a\u4e49\u6574\u4e2a\u7f16\u8bd1\u6d41\u7a0b\u4ee5\u53ca\u5404\u4e2a\u76ee\u6807\u6587\u4ef6\u4e0e\u6e90\u6587\u4ef6\u4e4b\u95f4\u7684\u4f9d\u8d56\u5173\u7cfb\uff0c\u5e76\u4e14\u53ea\u91cd\u65b0\u7f16\u8bd1\u4f60\u7684\u4fee\u6539\u4f1a\u5f71\u54cd\u5230\u7684\u90e8\u5206\uff0c\u4ece\u800c\u964d\u4f4e\u7f16\u8bd1\u7684\u65f6\u95f4\u3002 \u5982\u4f55\u5b66\u4e60 GNU Make \u8fd9\u91cc\u6709\u4e00\u7bc7\u5199\u5f97\u6df1\u5165\u6d45\u51fa\u7684 \u6587\u6863 \u4f9b\u5927\u5bb6\u53c2\u8003\u3002 GNU Make \u638c\u63e1\u8d77\u6765\u76f8\u5bf9\u5bb9\u6613\uff0c\u4f46\u7528\u597d\u5b83\u9700\u8981\u4e0d\u65ad\u7684\u7ec3\u4e60\u3002\u5c06\u5b83\u878d\u5165\u5230\u81ea\u5df1\u7684\u65e5\u5e38\u5f00\u53d1\u4e2d\uff0c\u52e4\u4e8e\u5b66\u4e60\u548c\u6a21\u4eff\u5176\u4ed6\u4f18\u79c0\u5f00\u6e90\u9879\u76ee\u91cc\u7684 Makefile \u7684\u5199\u6cd5\uff0c\u603b\u7ed3\u51fa\u9002\u5408\u81ea\u5df1\u7684 template\uff0c\u4e45\u800c\u4e45\u4e4b\uff0c\u4f60\u5bf9 GNU Make \u7684\u4f7f\u7528\u4f1a\u6108\u52a0\u7eaf\u719f\u3002","title":"GNU Make"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GNU_Make/#gnu-make","text":"","title":"GNU Make"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GNU_Make/#gnu-make_1","text":"\u5927\u5bb6\u7b2c\u4e00\u6b21\u5199 hello world \u7a0b\u5e8f\u7684\u65f6\u5019\u4e00\u5b9a\u90fd\u8bb0\u5f97\uff0c\u5728\u7f16\u8f91\u5b8c helloworld.c \u4e4b\u540e\uff0c\u9700\u8981\u7528 gcc \u7f16\u8bd1\u751f\u6210\u53ef\u6267\u884c\u6587\u4ef6\uff0c\u7136\u540e\u518d\u6267\u884c\uff08\u5982\u679c\u4f60\u4e0d\u7406\u89e3\u524d\u9762\u8fd9\u6bb5\u8bdd\uff0c\u8bf7\u5148\u81ea\u884c\u8c37\u6b4c gcc \u7f16\u8bd1 \u5e76\u7406\u89e3\u76f8\u5173\u5185\u5bb9\uff09\u3002\u4f46\u5982\u679c\u4f60\u7684\u9879\u76ee\u7531\u6210\u767e\u4e0a\u5343\u4e2a C \u6e90\u6587\u4ef6\u7ec4\u6210\uff0c\u5e76\u4e14\u661f\u7f57\u68cb\u5e03\u5728\u5404\u4e2a\u5b50\u76ee\u5f55\u4e0b\uff0c\u4f60\u8be5\u5982\u4f55\u5c06\u5b83\u4eec\u7f16\u8bd1\u94fe\u63a5\u5230\u4e00\u8d77\u5462\uff1f\u5047\u5982\u4f60\u7684\u9879\u76ee\u7f16\u8bd1\u4e00\u6b21\u9700\u8981\u534a\u4e2a\u5c0f\u65f6\uff08\u5927\u578b\u9879\u76ee\u76f8\u5f53\u5e38\u89c1\uff09\uff0c\u800c\u4f60\u53ea\u4fee\u6539\u4e86\u4e00\u4e2a\u5206\u53f7\uff0c\u662f\u4e0d\u662f\u8fd8\u9700\u8981\u518d\u7b49\u534a\u4e2a\u5c0f\u65f6\u5462\uff1f \u8fd9\u65f6\u5019 GNU Make \u5c31\u95ea\u4eae\u767b\u573a\u4e86\uff0c\u5b83\u80fd\u8ba9\u4f60\u5728\u4e00\u4e2a\u811a\u672c\u91cc\uff08\u5373\u6240\u8c13\u7684 Makefile \uff09\u5b9a\u4e49\u6574\u4e2a\u7f16\u8bd1\u6d41\u7a0b\u4ee5\u53ca\u5404\u4e2a\u76ee\u6807\u6587\u4ef6\u4e0e\u6e90\u6587\u4ef6\u4e4b\u95f4\u7684\u4f9d\u8d56\u5173\u7cfb\uff0c\u5e76\u4e14\u53ea\u91cd\u65b0\u7f16\u8bd1\u4f60\u7684\u4fee\u6539\u4f1a\u5f71\u54cd\u5230\u7684\u90e8\u5206\uff0c\u4ece\u800c\u964d\u4f4e\u7f16\u8bd1\u7684\u65f6\u95f4\u3002","title":"\u4e3a\u4ec0\u4e48\u5b66 GNU Make"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GNU_Make/#gnu-make_2","text":"\u8fd9\u91cc\u6709\u4e00\u7bc7\u5199\u5f97\u6df1\u5165\u6d45\u51fa\u7684 \u6587\u6863 \u4f9b\u5927\u5bb6\u53c2\u8003\u3002 GNU Make \u638c\u63e1\u8d77\u6765\u76f8\u5bf9\u5bb9\u6613\uff0c\u4f46\u7528\u597d\u5b83\u9700\u8981\u4e0d\u65ad\u7684\u7ec3\u4e60\u3002\u5c06\u5b83\u878d\u5165\u5230\u81ea\u5df1\u7684\u65e5\u5e38\u5f00\u53d1\u4e2d\uff0c\u52e4\u4e8e\u5b66\u4e60\u548c\u6a21\u4eff\u5176\u4ed6\u4f18\u79c0\u5f00\u6e90\u9879\u76ee\u91cc\u7684 Makefile \u7684\u5199\u6cd5\uff0c\u603b\u7ed3\u51fa\u9002\u5408\u81ea\u5df1\u7684 template\uff0c\u4e45\u800c\u4e45\u4e4b\uff0c\u4f60\u5bf9 GNU Make \u7684\u4f7f\u7528\u4f1a\u6108\u52a0\u7eaf\u719f\u3002","title":"\u5982\u4f55\u5b66\u4e60 GNU Make"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/","text":"Git \u4e3a\u4ec0\u4e48\u4f7f\u7528 Git Git \u662f\u4e00\u6b3e\u5206\u5e03\u5f0f\u7684\u4ee3\u7801\u7248\u672c\u63a7\u5236\u5de5\u5177\uff0cLinux \u4e4b\u7236 Linus \u5acc\u5f03\u5f53\u65f6\u4e3b\u6d41\u7684\u4e2d\u5fc3\u5f0f\u7684\u7248\u672c\u63a7\u5236\u5de5\u5177\u592a\u96be\u7528\u8fd8\u8981\u82b1\u94b1\uff0c\u5c31\u81ea\u5df1\u5f00\u53d1\u51fa\u4e86 Git \u7528\u6765\u7ef4\u62a4 Linux \u7684\u7248\u672c\uff08\u7ed9\u5927\u4f6c\u8dea\u4e86\uff09\u3002 Git \u7684\u8bbe\u8ba1\u975e\u5e38\u4f18\u96c5\uff0c\u4f46\u521d\u5b66\u8005\u901a\u5e38\u56e0\u4e3a\u5f88\u96be\u7406\u89e3\u5176\u5185\u90e8\u903b\u8f91\u56e0\u6b64\u4f1a\u89c9\u5f97\u975e\u5e38\u96be\u7528\u3002\u5bf9 Git \u4e0d\u719f\u6089\u7684\u521d\u5b66\u8005\u5f88\u5bb9\u6613\u51fa\u73b0\u56e0\u4e3a\u8bef\u7528\u547d\u4ee4\u5c06\u4ee3\u7801\u7ed9\u63a7\u5236\u7248\u672c\u63a7\u5236\u6ca1\u4e86\u7684\u72b6\u51b5\uff08\u597d\u5427\u662f\u6211\uff09\u3002 \u4f46\u76f8\u4fe1\u6211\uff0c\u548c Vim \u4e00\u6837\uff0cGit \u662f\u4e00\u6b3e\u4f60\u6700\u7ec8\u638c\u63e1\u4e4b\u540e\u4f1a\u611f\u53f9\u201c\u5b83\u503c\u5f97\uff01\u201d\u7684\u795e\u5668\u3002 \u5982\u4f55\u5b66\u4e60 Git \u548c Vim \u4e0d\u540c\uff0c\u6211\u4e0d\u5efa\u8bae\u521d\u5b66\u8005\u5728\u4e00\u77e5\u534a\u89e3\u7684\u60c5\u51b5\u4e0b\u8d38\u7136\u4f7f\u7528 Git\uff0c\u56e0\u4e3a\u5b83\u7684\u5185\u90e8\u903b\u8f91\u5e76\u4e0d\u80fd\u719f\u80fd\u751f\u5de7\uff0c\u800c\u662f\u9700\u8981\u82b1\u65f6\u95f4\u53bb\u7406\u89e3\u3002\u6211\u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a \u9605\u8bfb\u8fd9\u7bc7 Git tutorial \uff0c\u89c6\u9891\u7684\u8bdd\u53ef\u4ee5\u770b\u8fd9\u4e2a \u5c1a\u7845\u8c37Git\u6559\u7a0b \u9605\u8bfb\u8fd9\u672c\u5f00\u6e90\u4e66\u7c4d Pro Git \u7684 Chapter1 - Chapter5\uff0c\u662f\u7684\u6ca1\u9519\uff0c\u5b66 Git \u9700\u8981\u8bfb\u4e00\u672c\u4e66\uff08\u6342\u8138\uff09\u3002 \u6b64\u65f6\u4f60\u5df2\u7ecf\u638c\u63e1\u4e86 Git \u7684\u539f\u7406\u548c\u7edd\u5927\u90e8\u5206\u7528\u6cd5\uff0c\u63a5\u4e0b\u6765\u5c31\u53ef\u4ee5\u5728\u5b9e\u8df5\u4e2d\u53cd\u590d\u5de9\u56fa Git \u7684\u547d\u4ee4\u4e86\u3002\u4f46\u7528\u597d\u5b83\u540c\u6837\u662f\u4e00\u95e8\u54f2\u5b66\uff0c\u6211\u4e2a\u4eba\u89c9\u5f97\u8fd9\u7bc7 \u5982\u4f55\u5199\u597d Commit Message \u7684\u535a\u5ba2\u975e\u5e38\u503c\u5f97\u4e00\u8bfb\u3002 \u597d\u7684\u6b64\u65f6\u4f60\u5df2\u7ecf\u7231\u4e0a\u4e86 Git\uff0c\u4f60\u5df2\u7ecf\u4e0d\u6ee1\u8db3\u4e8e\u5b66\u4f1a\u5b83\u4e86\uff0c\u4f60\u60f3\u81ea\u5df1\u5b9e\u73b0\u4e00\u4e2a Git\uff01\u5de7\u4e86\uff0c\u6211\u5f53\u5e74\u4e5f\u6709\u8fd9\u6837\u7684\u60f3\u6cd5\uff0c \u8fd9\u7bc7 tutorial \u53ef\u4ee5\u6ee1\u8db3\u4f60\uff01 \u4ec0\u4e48\uff1f\u5149\u5b9e\u73b0\u4e00\u4e2a Git \u65e0\u6cd5\u6ee1\u8db3\u4f60\uff1f\u5c0f\u4f19\u5b50/\u5c0f\u4ed9\u5973\u6709\u524d\u9014\uff0c\u5de7\u7684\u662f\u6211\u4e5f\u559c\u6b22\u9020\u8f6e\u5b50\uff0c\u8fd9\u4e24\u4e2a GitHub \u9879\u76ee build-your-own-x \u548c project-based-learning \u6536\u5f55\u4e86\u4f60\u80fd\u60f3\u5230\u7684\u5404\u79cd\u9020\u8f6e\u5b50\u6559\u7a0b\uff0c\u6bd4\u5982\uff1a\u81ea\u5df1\u9020\u4e2a\u7f16\u8f91\u5668\u3001\u81ea\u5df1\u5199\u4e2a\u865a\u62df\u673a\u3001\u81ea\u5df1\u5199\u4e2a docker\u3001\u81ea\u5df1\u5199\u4e2a TCP \u7b49\u7b49\u7b49\u7b49\u3002","title":"Git"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/#git","text":"","title":"Git"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/#git_1","text":"Git \u662f\u4e00\u6b3e\u5206\u5e03\u5f0f\u7684\u4ee3\u7801\u7248\u672c\u63a7\u5236\u5de5\u5177\uff0cLinux \u4e4b\u7236 Linus \u5acc\u5f03\u5f53\u65f6\u4e3b\u6d41\u7684\u4e2d\u5fc3\u5f0f\u7684\u7248\u672c\u63a7\u5236\u5de5\u5177\u592a\u96be\u7528\u8fd8\u8981\u82b1\u94b1\uff0c\u5c31\u81ea\u5df1\u5f00\u53d1\u51fa\u4e86 Git \u7528\u6765\u7ef4\u62a4 Linux \u7684\u7248\u672c\uff08\u7ed9\u5927\u4f6c\u8dea\u4e86\uff09\u3002 Git \u7684\u8bbe\u8ba1\u975e\u5e38\u4f18\u96c5\uff0c\u4f46\u521d\u5b66\u8005\u901a\u5e38\u56e0\u4e3a\u5f88\u96be\u7406\u89e3\u5176\u5185\u90e8\u903b\u8f91\u56e0\u6b64\u4f1a\u89c9\u5f97\u975e\u5e38\u96be\u7528\u3002\u5bf9 Git \u4e0d\u719f\u6089\u7684\u521d\u5b66\u8005\u5f88\u5bb9\u6613\u51fa\u73b0\u56e0\u4e3a\u8bef\u7528\u547d\u4ee4\u5c06\u4ee3\u7801\u7ed9\u63a7\u5236\u7248\u672c\u63a7\u5236\u6ca1\u4e86\u7684\u72b6\u51b5\uff08\u597d\u5427\u662f\u6211\uff09\u3002 \u4f46\u76f8\u4fe1\u6211\uff0c\u548c Vim \u4e00\u6837\uff0cGit \u662f\u4e00\u6b3e\u4f60\u6700\u7ec8\u638c\u63e1\u4e4b\u540e\u4f1a\u611f\u53f9\u201c\u5b83\u503c\u5f97\uff01\u201d\u7684\u795e\u5668\u3002","title":"\u4e3a\u4ec0\u4e48\u4f7f\u7528 Git"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/#git_2","text":"\u548c Vim \u4e0d\u540c\uff0c\u6211\u4e0d\u5efa\u8bae\u521d\u5b66\u8005\u5728\u4e00\u77e5\u534a\u89e3\u7684\u60c5\u51b5\u4e0b\u8d38\u7136\u4f7f\u7528 Git\uff0c\u56e0\u4e3a\u5b83\u7684\u5185\u90e8\u903b\u8f91\u5e76\u4e0d\u80fd\u719f\u80fd\u751f\u5de7\uff0c\u800c\u662f\u9700\u8981\u82b1\u65f6\u95f4\u53bb\u7406\u89e3\u3002\u6211\u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a \u9605\u8bfb\u8fd9\u7bc7 Git tutorial \uff0c\u89c6\u9891\u7684\u8bdd\u53ef\u4ee5\u770b\u8fd9\u4e2a \u5c1a\u7845\u8c37Git\u6559\u7a0b \u9605\u8bfb\u8fd9\u672c\u5f00\u6e90\u4e66\u7c4d Pro Git \u7684 Chapter1 - Chapter5\uff0c\u662f\u7684\u6ca1\u9519\uff0c\u5b66 Git \u9700\u8981\u8bfb\u4e00\u672c\u4e66\uff08\u6342\u8138\uff09\u3002 \u6b64\u65f6\u4f60\u5df2\u7ecf\u638c\u63e1\u4e86 Git \u7684\u539f\u7406\u548c\u7edd\u5927\u90e8\u5206\u7528\u6cd5\uff0c\u63a5\u4e0b\u6765\u5c31\u53ef\u4ee5\u5728\u5b9e\u8df5\u4e2d\u53cd\u590d\u5de9\u56fa Git \u7684\u547d\u4ee4\u4e86\u3002\u4f46\u7528\u597d\u5b83\u540c\u6837\u662f\u4e00\u95e8\u54f2\u5b66\uff0c\u6211\u4e2a\u4eba\u89c9\u5f97\u8fd9\u7bc7 \u5982\u4f55\u5199\u597d Commit Message \u7684\u535a\u5ba2\u975e\u5e38\u503c\u5f97\u4e00\u8bfb\u3002 \u597d\u7684\u6b64\u65f6\u4f60\u5df2\u7ecf\u7231\u4e0a\u4e86 Git\uff0c\u4f60\u5df2\u7ecf\u4e0d\u6ee1\u8db3\u4e8e\u5b66\u4f1a\u5b83\u4e86\uff0c\u4f60\u60f3\u81ea\u5df1\u5b9e\u73b0\u4e00\u4e2a Git\uff01\u5de7\u4e86\uff0c\u6211\u5f53\u5e74\u4e5f\u6709\u8fd9\u6837\u7684\u60f3\u6cd5\uff0c \u8fd9\u7bc7 tutorial \u53ef\u4ee5\u6ee1\u8db3\u4f60\uff01 \u4ec0\u4e48\uff1f\u5149\u5b9e\u73b0\u4e00\u4e2a Git \u65e0\u6cd5\u6ee1\u8db3\u4f60\uff1f\u5c0f\u4f19\u5b50/\u5c0f\u4ed9\u5973\u6709\u524d\u9014\uff0c\u5de7\u7684\u662f\u6211\u4e5f\u559c\u6b22\u9020\u8f6e\u5b50\uff0c\u8fd9\u4e24\u4e2a GitHub \u9879\u76ee build-your-own-x \u548c project-based-learning \u6536\u5f55\u4e86\u4f60\u80fd\u60f3\u5230\u7684\u5404\u79cd\u9020\u8f6e\u5b50\u6559\u7a0b\uff0c\u6bd4\u5982\uff1a\u81ea\u5df1\u9020\u4e2a\u7f16\u8f91\u5668\u3001\u81ea\u5df1\u5199\u4e2a\u865a\u62df\u673a\u3001\u81ea\u5df1\u5199\u4e2a docker\u3001\u81ea\u5df1\u5199\u4e2a TCP \u7b49\u7b49\u7b49\u7b49\u3002","title":"\u5982\u4f55\u5b66\u4e60 Git"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GitHub/","text":"GitHub GitHub \u662f\u4ec0\u4e48 \u4ece\u529f\u80fd\u4e0a\u6765\u8bf4\uff0cGitHub \u662f\u4e00\u4e2a\u5728\u7ebf\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u4f60\u53ef\u4ee5\u5c06\u4f60\u7684\u672c\u5730 Git \u4ed3\u5e93\u6258\u7ba1\u5230 GitHub \u4e0a\uff0c\u4f9b\u591a\u4eba\u540c\u65f6\u5f00\u53d1\u6d4f\u89c8\u3002\u4f46\u73b0\u5982\u4eca GitHub \u7684\u610f\u4e49\u5df2\u8fdc\u4e0d\u6b62\u5982\u6b64\uff0c\u5b83\u5df2\u7ecf\u6f14\u53d8\u4e3a\u4e00\u4e2a\u975e\u5e38\u6d3b\u8dc3\u4e14\u8d44\u6e90\u6781\u4e3a\u4e30\u5bcc\u7684\u5f00\u6e90\u4ea4\u6d41\u793e\u533a\u3002\u5168\u4e16\u754c\u7684\u8f6f\u4ef6\u5f00\u53d1\u8005\u5728 GitHub \u4e0a\u5206\u4eab\u5404\u5f0f\u5404\u6837\u79cd\u7c7b\u7e41\u591a\u7684\u5f00\u6e90\u8f6f\u4ef6\u3002\u5927\u5230\u5de5\u4e1a\u7ea7\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6 PyTorch, TensorFlow\uff0c\u5c0f\u5230\u51e0\u5341\u884c\u7684\u5b9e\u7528\u811a\u672c\uff0c\u65e2\u6709\u786c\u6838\u7684\u77e5\u8bc6\u5206\u4eab\uff0c\u4e5f\u6709\u4fdd\u59c6\u7ea7\u7684\u6559\u7a0b\u6307\u5bfc\uff0c\u751a\u81f3\u5f88\u591a\u6280\u672f\u4e66\u7c4d\u4e5f\u5728 GitHub\u4e0a\u5f00\u6e90\uff08\u4f8b\u5982\u8bf8\u4f4d\u6b63\u5728\u770b\u7684\u8fd9\u672c\u2014\u2014\u5982\u679c\u6211\u539a\u7740\u8138\u76ae\u52c9\u5f3a\u79f0\u4e4b\u4e3a\u4e66\u7684\u8bdd\uff09\u3002\u95f2\u6765\u65e0\u4e8b\u901b\u901b GitHub \u5df2\u7ecf\u6210\u4e3a\u4e86\u6211\u65e5\u5e38\u751f\u6d3b\u7684\u4e00\u90e8\u5206\u3002 \u5728 GitHub \u91cc\uff0c\u661f\u661f\u662f\u5bf9\u4e00\u4e2a\u9879\u76ee\u81f3\u9ad8\u65e0\u4e0a\u7684\u80af\u5b9a\uff0c\u5982\u679c\u4f60\u89c9\u5f97\u8fd9\u672c\u4e66\u5bf9\u4f60\u6709\u7528\u7684\u8bdd\uff0c\u6b22\u8fce\u901a\u8fc7\u53f3\u4e0a\u89d2\u7684\u94fe\u63a5\u8fdb\u5165\u4ed3\u5e93\u4e3b\u9875\u732e\u51fa\u4f60\u5b9d\u8d35\u7684\u661f\u661f\u2728\u3002 \u5982\u4f55\u4f7f\u7528 GitHub \u5982\u679c\u4f60\u8fd8\u4ece\u672a\u5728 GitHub \u4e0a\u5efa\u7acb\u8fc7\u81ea\u5df1\u7684\u8fdc\u7a0b\u4ed3\u5e93\uff0c\u4e5f\u6ca1\u6709\u514b\u9686\u8fc7\u522b\u4eba\u7684\u4ee3\u7801\uff0c\u90a3\u4e48\u6211\u5efa\u8bae\u4f60\u4ece GitHub\u7684\u5b98\u65b9\u6559\u7a0b \u5f00\u59cb\u81ea\u5df1\u7684\u5f00\u6e90\u4e4b\u65c5\u3002 \u5982\u679c\u4f60\u60f3\u65f6\u523b\u5173\u6ce8 GitHub \u4e0a\u4e00\u4e9b\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u90a3\u4e48\u6211\u5411\u4f60\u91cd\u78c5\u63a8\u8350 HelloGitHub \u8fd9\u4e2a\u7f51\u7ad9\u4ee5\u53ca\u5b83\u7684\u540c\u540d\u5fae\u4fe1\u516c\u4f17\u53f7\u3002\u5b83\u4f1a\u5b9a\u671f\u6536\u5f55 GitHub \u4e0a\u8fd1\u671f\u5f00\u59cb\u6d41\u884c\u7684\u6216\u8005\u975e\u5e38\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u8ba9\u4f60\u6709\u673a\u4f1a\u7b2c\u4e00\u65f6\u95f4\u63a5\u89e6\u5404\u7c7b\u4f18\u8d28\u8d44\u6e90\u3002 GitHub \u4e4b\u6240\u4ee5\u6210\u529f\uff0c\u6211\u60f3\u662f\u5f97\u76ca\u4e8e\u201c\u6211\u4e3a\u4eba\u4eba\uff0c\u4eba\u4eba\u4e3a\u6211\u201d\u7684\u5f00\u6e90\u7cbe\u795e\uff0c\u5f97\u76ca\u4e8e\u77e5\u8bc6\u5206\u4eab\u7684\u5feb\u4e50\u3002\u5982\u679c\u4f60\u4e5f\u60f3\u6210\u4e3a\u4e0b\u4e00\u4e2a\u4e07\u4eba\u656c\u4ef0\u7684\u5f00\u6e90\u5927\u4f6c\uff0c\u6216\u8005\u4e0b\u4e00\u4e2a star \u7834\u4e07\u7684\u9879\u76ee\u4f5c\u8005\u3002\u90a3\u5c31\u628a\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7075\u611f\u4e00\u73b0\u7684 idea \u5316\u4f5c\u4ee3\u7801\uff0c\u5c55\u793a\u5728 GitHub \u4e0a\u5427\uff5e \u4e0d\u8fc7\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u5f00\u6e90\u793e\u533a\u4e0d\u662f\u6cd5\u5916\u4e4b\u5730\uff0c\u5f88\u591a\u5f00\u6e90\u8f6f\u4ef6\u5e76\u4e0d\u662f\u53ef\u4ee5\u968f\u610f\u590d\u5236\u5206\u53d1\u751a\u81f3\u8d29\u5356\u7684\uff0c\u4e86\u89e3\u5404\u7c7b \u5f00\u6e90\u534f\u8bae \u5e76\u9075\u5b88\uff0c\u4e0d\u4ec5\u662f\u6cd5\u5f8b\u7684\u8981\u6c42\uff0c\u66f4\u662f\u6bcf\u4e2a\u5f00\u6e90\u793e\u533a\u6210\u5458\u7684\u8d23\u4efb\u3002","title":"GitHub"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GitHub/#github","text":"","title":"GitHub"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GitHub/#github_1","text":"\u4ece\u529f\u80fd\u4e0a\u6765\u8bf4\uff0cGitHub \u662f\u4e00\u4e2a\u5728\u7ebf\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u4f60\u53ef\u4ee5\u5c06\u4f60\u7684\u672c\u5730 Git \u4ed3\u5e93\u6258\u7ba1\u5230 GitHub \u4e0a\uff0c\u4f9b\u591a\u4eba\u540c\u65f6\u5f00\u53d1\u6d4f\u89c8\u3002\u4f46\u73b0\u5982\u4eca GitHub \u7684\u610f\u4e49\u5df2\u8fdc\u4e0d\u6b62\u5982\u6b64\uff0c\u5b83\u5df2\u7ecf\u6f14\u53d8\u4e3a\u4e00\u4e2a\u975e\u5e38\u6d3b\u8dc3\u4e14\u8d44\u6e90\u6781\u4e3a\u4e30\u5bcc\u7684\u5f00\u6e90\u4ea4\u6d41\u793e\u533a\u3002\u5168\u4e16\u754c\u7684\u8f6f\u4ef6\u5f00\u53d1\u8005\u5728 GitHub \u4e0a\u5206\u4eab\u5404\u5f0f\u5404\u6837\u79cd\u7c7b\u7e41\u591a\u7684\u5f00\u6e90\u8f6f\u4ef6\u3002\u5927\u5230\u5de5\u4e1a\u7ea7\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6 PyTorch, TensorFlow\uff0c\u5c0f\u5230\u51e0\u5341\u884c\u7684\u5b9e\u7528\u811a\u672c\uff0c\u65e2\u6709\u786c\u6838\u7684\u77e5\u8bc6\u5206\u4eab\uff0c\u4e5f\u6709\u4fdd\u59c6\u7ea7\u7684\u6559\u7a0b\u6307\u5bfc\uff0c\u751a\u81f3\u5f88\u591a\u6280\u672f\u4e66\u7c4d\u4e5f\u5728 GitHub\u4e0a\u5f00\u6e90\uff08\u4f8b\u5982\u8bf8\u4f4d\u6b63\u5728\u770b\u7684\u8fd9\u672c\u2014\u2014\u5982\u679c\u6211\u539a\u7740\u8138\u76ae\u52c9\u5f3a\u79f0\u4e4b\u4e3a\u4e66\u7684\u8bdd\uff09\u3002\u95f2\u6765\u65e0\u4e8b\u901b\u901b GitHub \u5df2\u7ecf\u6210\u4e3a\u4e86\u6211\u65e5\u5e38\u751f\u6d3b\u7684\u4e00\u90e8\u5206\u3002 \u5728 GitHub \u91cc\uff0c\u661f\u661f\u662f\u5bf9\u4e00\u4e2a\u9879\u76ee\u81f3\u9ad8\u65e0\u4e0a\u7684\u80af\u5b9a\uff0c\u5982\u679c\u4f60\u89c9\u5f97\u8fd9\u672c\u4e66\u5bf9\u4f60\u6709\u7528\u7684\u8bdd\uff0c\u6b22\u8fce\u901a\u8fc7\u53f3\u4e0a\u89d2\u7684\u94fe\u63a5\u8fdb\u5165\u4ed3\u5e93\u4e3b\u9875\u732e\u51fa\u4f60\u5b9d\u8d35\u7684\u661f\u661f\u2728\u3002","title":"GitHub \u662f\u4ec0\u4e48"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GitHub/#github_2","text":"\u5982\u679c\u4f60\u8fd8\u4ece\u672a\u5728 GitHub \u4e0a\u5efa\u7acb\u8fc7\u81ea\u5df1\u7684\u8fdc\u7a0b\u4ed3\u5e93\uff0c\u4e5f\u6ca1\u6709\u514b\u9686\u8fc7\u522b\u4eba\u7684\u4ee3\u7801\uff0c\u90a3\u4e48\u6211\u5efa\u8bae\u4f60\u4ece GitHub\u7684\u5b98\u65b9\u6559\u7a0b \u5f00\u59cb\u81ea\u5df1\u7684\u5f00\u6e90\u4e4b\u65c5\u3002 \u5982\u679c\u4f60\u60f3\u65f6\u523b\u5173\u6ce8 GitHub \u4e0a\u4e00\u4e9b\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u90a3\u4e48\u6211\u5411\u4f60\u91cd\u78c5\u63a8\u8350 HelloGitHub \u8fd9\u4e2a\u7f51\u7ad9\u4ee5\u53ca\u5b83\u7684\u540c\u540d\u5fae\u4fe1\u516c\u4f17\u53f7\u3002\u5b83\u4f1a\u5b9a\u671f\u6536\u5f55 GitHub \u4e0a\u8fd1\u671f\u5f00\u59cb\u6d41\u884c\u7684\u6216\u8005\u975e\u5e38\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u8ba9\u4f60\u6709\u673a\u4f1a\u7b2c\u4e00\u65f6\u95f4\u63a5\u89e6\u5404\u7c7b\u4f18\u8d28\u8d44\u6e90\u3002 GitHub \u4e4b\u6240\u4ee5\u6210\u529f\uff0c\u6211\u60f3\u662f\u5f97\u76ca\u4e8e\u201c\u6211\u4e3a\u4eba\u4eba\uff0c\u4eba\u4eba\u4e3a\u6211\u201d\u7684\u5f00\u6e90\u7cbe\u795e\uff0c\u5f97\u76ca\u4e8e\u77e5\u8bc6\u5206\u4eab\u7684\u5feb\u4e50\u3002\u5982\u679c\u4f60\u4e5f\u60f3\u6210\u4e3a\u4e0b\u4e00\u4e2a\u4e07\u4eba\u656c\u4ef0\u7684\u5f00\u6e90\u5927\u4f6c\uff0c\u6216\u8005\u4e0b\u4e00\u4e2a star \u7834\u4e07\u7684\u9879\u76ee\u4f5c\u8005\u3002\u90a3\u5c31\u628a\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7075\u611f\u4e00\u73b0\u7684 idea \u5316\u4f5c\u4ee3\u7801\uff0c\u5c55\u793a\u5728 GitHub \u4e0a\u5427\uff5e \u4e0d\u8fc7\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u5f00\u6e90\u793e\u533a\u4e0d\u662f\u6cd5\u5916\u4e4b\u5730\uff0c\u5f88\u591a\u5f00\u6e90\u8f6f\u4ef6\u5e76\u4e0d\u662f\u53ef\u4ee5\u968f\u610f\u590d\u5236\u5206\u53d1\u751a\u81f3\u8d29\u5356\u7684\uff0c\u4e86\u89e3\u5404\u7c7b \u5f00\u6e90\u534f\u8bae \u5e76\u9075\u5b88\uff0c\u4e0d\u4ec5\u662f\u6cd5\u5f8b\u7684\u8981\u6c42\uff0c\u66f4\u662f\u6bcf\u4e2a\u5f00\u6e90\u793e\u533a\u6210\u5458\u7684\u8d23\u4efb\u3002","title":"\u5982\u4f55\u4f7f\u7528 GitHub"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/LaTeX/","text":"LaTeX \u4e3a\u4ec0\u4e48\u5b66 LaTeX \u5982\u679c\u4f60\u9700\u8981\u5199\u8bba\u6587\uff0c\u90a3\u4e48\u8bf7\u76f4\u63a5\u8df3\u5230\u4e0b\u4e00\u8282\uff0c\u56e0\u4e3a\u4f60\u4e0d\u5b66\u4e5f\u5f97\u5b66\u3002 LaTeX \u662f\u4e00\u79cd\u57fa\u4e8e TeX \u7684\u6392\u7248\u7cfb\u7edf\uff0c\u7531\u56fe\u7075\u5956\u5f97\u4e3b Lamport \u5f00\u53d1\uff0c\u800c Tex \u5219\u662f\u7531 Knuth \u6700\u521d\u5f00\u53d1\uff0c\u8fd9\u4e24\u4f4d\u90fd\u662f\u8ba1\u7b97\u673a\u754c\u7684\u5de8\u64d8\u3002\u5f53\u7136\u5f00\u53d1\u8005\u5f3a\u5e76\u4e0d\u662f\u6211\u4eec\u5b66\u4e60 LaTeX \u7684\u7406\u7531\uff0cLaTeX \u548c\u5e38\u89c1\u7684\u6240\u89c1\u5373\u6240\u5f97\u7684 Word \u6587\u6863\u6700\u5927\u7684\u533a\u522b\u5c31\u662f\u7528\u6237\u53ea\u9700\u8981\u5173\u6ce8\u5199\u4f5c\u7684\u5185\u5bb9\uff0c\u800c\u6392\u7248\u5219\u5b8c\u5168\u4ea4\u7ed9\u8f6f\u4ef6\u81ea\u52a8\u5b8c\u6210\u3002\u8fd9\u8ba9\u6ca1\u6709\u4efb\u4f55\u6392\u7248\u7ecf\u9a8c\u7684\u666e\u901a\u4eba\u5f97\u4ee5\u5199\u51fa\u6392\u7248\u975e\u5e38\u4e13\u4e1a\u7684\u8bba\u6587\u6216\u6587\u7ae0\u3002 Berkeley \u8ba1\u7b97\u673a\u7cfb\u6559\u6388 Christos Papadimitriou \u66fe\u8bf4\u8fc7\u4e00\u53e5\u534a\u5f00\u73a9\u7b11\u7684\u8bdd\uff1a Every time I read a LaTeX document, I think, wow, this must be correct! \u5982\u4f55\u5b66\u4e60 LaTeX \u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a LaTeX \u7684\u73af\u5883\u914d\u7f6e\u662f\u4e2a\u6bd4\u8f83\u5934\u75bc\u7684\u95ee\u9898\u3002\u5982\u679c\u4f60\u672c\u5730\u914d\u7f6e LaTeX \u73af\u5883\u51fa\u73b0\u4e86\u95ee\u9898\uff0c\u53ef\u4ee5\u8003\u8651\u4f7f\u7528 Overleaf \u8fd9\u4e2a\u5728\u7ebf LaTeX \u7f16\u8f91\u7f51\u7ad9\u3002\u7ad9\u5185\u4e0d\u4ec5\u6709\u5404\u79cd\u5404\u6837\u7684 LaTeX \u6a21\u7248\u4f9b\u4f60\u9009\u62e9\uff0c\u8fd8\u514d\u53bb\u4e86\u73af\u5883\u914d\u7f6e\u7684\u96be\u9898\u3002 \u9605\u8bfb\u4e0b\u9762\u4e09\u7bc7 Tutorial: Part-1 , Part-2 , Part-3 \u3002 \u5b66\u4e60 LaTeX \u6700\u597d\u7684\u65b9\u5f0f\u5f53\u7136\u662f\u5199\u8bba\u6587\uff0c\u4e0d\u8fc7\u4ece\u4e00\u95e8\u6570\u5b66\u8bfe\u5165\u624b\u7528 LaTeX \u5199\u4f5c\u4e1a\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u9009\u62e9\u3002 \u5176\u4ed6\u503c\u5f97\u63a8\u8350\u7684\u5165\u95e8\u5b66\u4e60\u8d44\u6599\u5982\u4e0b\uff1a \u4e00\u4efd\u7b80\u77ed\u7684\u5b89\u88c5 LaTeX \u7684\u4ecb\u7ecd [ GitHub ] \u6216\u8005 TEX Live \u6307\u5357\uff08texlive-zh-cn\uff09[ PDF ] \u53ef\u4ee5\u5e2e\u52a9\u4f60\u5b8c\u6210\u5b89\u88c5\u548c\u73af\u5883\u914d\u7f6e\u8fc7\u7a0b \u4e00\u4efd\uff08\u4e0d\u592a\uff09\u7b80\u77ed\u7684 LaTeX2\u03b5 \u4ecb\u7ecd\uff08lshort-zh-cn\uff09[ PDF ] [ GitHub ] \u662f\u7531 CTEX \u5f00\u53d1\u5c0f\u7ec4\u7ffb\u8bd1\u7684\uff0c\u53ef\u4ee5\u5e2e\u52a9\u4f60\u5feb\u901f\u51c6\u786e\u5730\u5165\u95e8\uff0c\u5efa\u8bae\u901a\u8bfb\u4e00\u904d \u5218\u6d77\u6d0b\u7684\u300aLaTeX \u5165\u95e8\u300b\uff0c\u53ef\u4ee5\u5f53\u4f5c\u5de5\u5177\u4e66\u6765\u9605\u8bfb\uff0c\u6709\u95ee\u9898\u518d\u67e5\u627e\uff0c\u8df3\u8fc7 CTEX \u5957\u88c5\u90e8\u5206 \u73b0\u4ee3 LaTeX \u5165\u95e8\u8bb2\u5ea7 \u4e00\u4efd\u5176\u5b9e\u5f88\u77ed\u7684 LaTeX \u5165\u95e8\u6587\u6863","title":"LaTeX"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/LaTeX/#latex","text":"","title":"LaTeX"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/LaTeX/#latex_1","text":"\u5982\u679c\u4f60\u9700\u8981\u5199\u8bba\u6587\uff0c\u90a3\u4e48\u8bf7\u76f4\u63a5\u8df3\u5230\u4e0b\u4e00\u8282\uff0c\u56e0\u4e3a\u4f60\u4e0d\u5b66\u4e5f\u5f97\u5b66\u3002 LaTeX \u662f\u4e00\u79cd\u57fa\u4e8e TeX \u7684\u6392\u7248\u7cfb\u7edf\uff0c\u7531\u56fe\u7075\u5956\u5f97\u4e3b Lamport \u5f00\u53d1\uff0c\u800c Tex \u5219\u662f\u7531 Knuth \u6700\u521d\u5f00\u53d1\uff0c\u8fd9\u4e24\u4f4d\u90fd\u662f\u8ba1\u7b97\u673a\u754c\u7684\u5de8\u64d8\u3002\u5f53\u7136\u5f00\u53d1\u8005\u5f3a\u5e76\u4e0d\u662f\u6211\u4eec\u5b66\u4e60 LaTeX \u7684\u7406\u7531\uff0cLaTeX \u548c\u5e38\u89c1\u7684\u6240\u89c1\u5373\u6240\u5f97\u7684 Word \u6587\u6863\u6700\u5927\u7684\u533a\u522b\u5c31\u662f\u7528\u6237\u53ea\u9700\u8981\u5173\u6ce8\u5199\u4f5c\u7684\u5185\u5bb9\uff0c\u800c\u6392\u7248\u5219\u5b8c\u5168\u4ea4\u7ed9\u8f6f\u4ef6\u81ea\u52a8\u5b8c\u6210\u3002\u8fd9\u8ba9\u6ca1\u6709\u4efb\u4f55\u6392\u7248\u7ecf\u9a8c\u7684\u666e\u901a\u4eba\u5f97\u4ee5\u5199\u51fa\u6392\u7248\u975e\u5e38\u4e13\u4e1a\u7684\u8bba\u6587\u6216\u6587\u7ae0\u3002 Berkeley \u8ba1\u7b97\u673a\u7cfb\u6559\u6388 Christos Papadimitriou \u66fe\u8bf4\u8fc7\u4e00\u53e5\u534a\u5f00\u73a9\u7b11\u7684\u8bdd\uff1a Every time I read a LaTeX document, I think, wow, this must be correct!","title":"\u4e3a\u4ec0\u4e48\u5b66 LaTeX"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/LaTeX/#latex_2","text":"\u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a LaTeX \u7684\u73af\u5883\u914d\u7f6e\u662f\u4e2a\u6bd4\u8f83\u5934\u75bc\u7684\u95ee\u9898\u3002\u5982\u679c\u4f60\u672c\u5730\u914d\u7f6e LaTeX \u73af\u5883\u51fa\u73b0\u4e86\u95ee\u9898\uff0c\u53ef\u4ee5\u8003\u8651\u4f7f\u7528 Overleaf \u8fd9\u4e2a\u5728\u7ebf LaTeX \u7f16\u8f91\u7f51\u7ad9\u3002\u7ad9\u5185\u4e0d\u4ec5\u6709\u5404\u79cd\u5404\u6837\u7684 LaTeX \u6a21\u7248\u4f9b\u4f60\u9009\u62e9\uff0c\u8fd8\u514d\u53bb\u4e86\u73af\u5883\u914d\u7f6e\u7684\u96be\u9898\u3002 \u9605\u8bfb\u4e0b\u9762\u4e09\u7bc7 Tutorial: Part-1 , Part-2 , Part-3 \u3002 \u5b66\u4e60 LaTeX \u6700\u597d\u7684\u65b9\u5f0f\u5f53\u7136\u662f\u5199\u8bba\u6587\uff0c\u4e0d\u8fc7\u4ece\u4e00\u95e8\u6570\u5b66\u8bfe\u5165\u624b\u7528 LaTeX \u5199\u4f5c\u4e1a\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u9009\u62e9\u3002 \u5176\u4ed6\u503c\u5f97\u63a8\u8350\u7684\u5165\u95e8\u5b66\u4e60\u8d44\u6599\u5982\u4e0b\uff1a \u4e00\u4efd\u7b80\u77ed\u7684\u5b89\u88c5 LaTeX \u7684\u4ecb\u7ecd [ GitHub ] \u6216\u8005 TEX Live \u6307\u5357\uff08texlive-zh-cn\uff09[ PDF ] \u53ef\u4ee5\u5e2e\u52a9\u4f60\u5b8c\u6210\u5b89\u88c5\u548c\u73af\u5883\u914d\u7f6e\u8fc7\u7a0b \u4e00\u4efd\uff08\u4e0d\u592a\uff09\u7b80\u77ed\u7684 LaTeX2\u03b5 \u4ecb\u7ecd\uff08lshort-zh-cn\uff09[ PDF ] [ GitHub ] \u662f\u7531 CTEX \u5f00\u53d1\u5c0f\u7ec4\u7ffb\u8bd1\u7684\uff0c\u53ef\u4ee5\u5e2e\u52a9\u4f60\u5feb\u901f\u51c6\u786e\u5730\u5165\u95e8\uff0c\u5efa\u8bae\u901a\u8bfb\u4e00\u904d \u5218\u6d77\u6d0b\u7684\u300aLaTeX \u5165\u95e8\u300b\uff0c\u53ef\u4ee5\u5f53\u4f5c\u5de5\u5177\u4e66\u6765\u9605\u8bfb\uff0c\u6709\u95ee\u9898\u518d\u67e5\u627e\uff0c\u8df3\u8fc7 CTEX \u5957\u88c5\u90e8\u5206 \u73b0\u4ee3 LaTeX \u5165\u95e8\u8bb2\u5ea7 \u4e00\u4efd\u5176\u5b9e\u5f88\u77ed\u7684 LaTeX \u5165\u95e8\u6587\u6863","title":"\u5982\u4f55\u5b66\u4e60 LaTeX"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/","text":"Scoop \u4e3a\u4ec0\u4e48\u4f7f\u7528 Scoop \u5728 Windows \u4e0b\uff0c\u642d\u5efa\u5f00\u53d1\u73af\u5883\u4e00\u76f4\u662f\u4e00\u4e2a\u590d\u6742\u4e14\u56f0\u96be\u7684\u95ee\u9898\u3002\u7531\u4e8e\u6ca1\u6709\u4e00\u4e2a\u7edf\u4e00\u7684\u6807\u51c6\uff0c\u5bfc\u81f4\u5404\u79cd\u5f00\u53d1\u73af\u5883\u7684\u5b89\u88c5\u65b9\u5f0f\u5dee\u5f02\u5de8\u5927\uff0c\u9700\u8981\u4ed8\u51fa\u5f88\u591a\u4e0d\u5fc5\u8981\u7684\u65f6\u95f4\u6210\u672c\u3002\u800c Scoop \u53ef\u4ee5\u5e2e\u52a9\u4f60\u7edf\u4e00\u5b89\u88c5\u5e76\u7ba1\u7406\u5e38\u89c1\u7684\u5f00\u53d1\u8f6f\u4ef6\uff0c\u7701\u53bb\u4e86\u624b\u52a8\u4e0b\u8f7d\u5b89\u88c5\uff0c\u914d\u7f6e\u73af\u5883\u53d8\u91cf\u7b49\u7e41\u7410\u6b65\u9aa4\u3002 \u4f8b\u5982\u5b89\u88c5 python \u548c nodejs \u53ea\u9700\u8981\u6267\u884c\uff1a scoop install python scoop install nodejs \u5b89\u88c5 Scoop Scoop \u9700\u8981 Windows PowerShell 5.1 \u6216\u8005 PowerShell \u4f5c\u4e3a\u8fd0\u884c\u73af\u5883\uff0c\u5982\u679c\u4f60\u4f7f\u7528\u7684\u662f Windows 10 \u53ca\u4ee5\u4e0a\u7248\u672c\uff0cWindows PowerShell \u662f\u5185\u7f6e\u5728\u7cfb\u7edf\u4e2d\u7684\u3002\u800c Windows 7 \u5185\u7f6e\u7684 Windows PowerShell \u7248\u672c\u8fc7\u4e8e\u9648\u65e7\uff0c\u4f60\u9700\u8981\u624b\u52a8\u5b89\u88c5\u65b0\u7248\u672c\u7684 PowerShell\u3002 \u7531\u4e8e\u53d1\u73b0\u5f88\u591a\u540c\u5b66\u5728\u8bbe\u7f6e Windows \u7528\u6237\u65f6\u4f7f\u7528\u4e86\u4e2d\u6587\u7528\u6237\u540d\uff0c\u5bfc\u81f4\u4e86\u7528\u6237\u76ee\u5f55\u4e5f\u53d8\u6210\u4e86\u4e2d\u6587\u540d\u3002\u5982\u679c\u6309\u7167 Scoop \u7684\u9ed8\u8ba4\u65b9\u5f0f\u5c06\u8f6f\u4ef6\u5b89\u88c5\u5230\u7528\u6237\u76ee\u5f55\u4e0b\uff0c\u53ef\u80fd\u4f1a\u9020\u6210\u90e8\u5206\u8f6f\u4ef6\u6267\u884c\u9519\u8bef\u3002\u6240\u4ee5\u8fd9\u91cc\u63a8\u8350\u5b89\u88c5\u5230\u81ea\u5b9a\u4e49\u76ee\u5f55\uff0c\u5982\u679c\u9700\u8981\u5176\u4ed6\u5b89\u88c5\u65b9\u5f0f\u8bf7\u53c2\u8003\uff1a ScoopInstaller/Install # \u8bbe\u7f6e PowerShell \u6267\u884c\u7b56\u7565 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser # \u4e0b\u8f7d\u5b89\u88c5\u811a\u672c irm get.scoop.sh -outfile 'install.ps1' # \u6267\u884c\u5b89\u88c5, --ScoopDir \u53c2\u6570\u6307\u5b9a Scoop \u5b89\u88c5\u8def\u5f84 .\\install.ps1 -ScoopDir 'C:\\Scoop' \u4f7f\u7528 Scoop Scoop \u7684\u5b98\u65b9\u6587\u6863\u5bf9\u4e8e\u65b0\u624b\u975e\u5e38\u53cb\u597d\uff0c\u76f8\u5bf9\u4e8e\u5728\u6b64\u5904\u8d58\u8ff0\u66f4\u63a8\u8350\u9605\u8bfb \u5b98\u65b9\u6587\u6863 \u6216 \u5feb\u901f\u5165\u95e8 \u3002 Q&A Scoop \u80fd\u914d\u7f6e\u955c\u50cf\u6e90\u5417\uff1f Scoop \u793e\u533a\u4ec5\u7ef4\u62a4\u5b89\u88c5\u914d\u7f6e\uff0c\u6240\u6709\u7684\u8f6f\u4ef6\u90fd\u662f\u4ece\u8be5\u8f6f\u4ef6\u5b98\u65b9\u63d0\u4f9b\u7684\u4e0b\u8f7d\u94fe\u63a5\u8fdb\u884c\u4e0b\u8f7d\uff0c\u6240\u4ee5\u65e0\u6cd5\u63d0\u4f9b\u955c\u50cf\u6e90\u3002\u5982\u679c\u56e0\u4e3a\u4f60\u7684\u7f51\u7edc\u73af\u5883\u5bfc\u81f4\u591a\u6b21\u4e0b\u8f7d\u5931\u8d25\uff0c\u90a3\u4e48\u4f60\u9700\u8981\u4e00\u70b9\u70b9 \u9b54\u6cd5 \u3002 \u4e3a\u4ec0\u4e48\u627e\u4e0d\u5230 Java8\uff1f \u539f\u56e0\u540c\u4e0a\uff0c\u5b98\u65b9\u5df2\u4e0d\u518d\u63d0\u4f9b Java8 \u7684\u4e0b\u8f7d\u94fe\u63a5\uff0c\u63a8\u8350\u4f7f\u7528 ojdkbuild8 \u66ff\u4ee3\u3002 \u6211\u9700\u8981\u5b89\u88c5 python2 \u8be5\u5982\u4f55\u64cd\u4f5c\uff1f \u5bf9\u4e8e\u5df2\u7ecf\u8fc7\u65f6\u5f03\u7528\u7684\u8f6f\u4ef6\uff0cScoop \u793e\u533a\u4f1a\u5c06\u5176\u4ece ScoopInstaller/Main \u4e2d\u79fb\u9664\u5e76\u5c06\u5176\u6dfb\u52a0\u5230 ScoopInstaller/Versions \u4e2d\u3002\u5982\u679c\u4f60\u9700\u8981\u8fd9\u4e9b\u8f6f\u4ef6\u7684\u8bdd\u9700\u8981\u624b\u52a8\u6dfb\u52a0 bucket\uff1a scoop bucket add versions scoop install python27","title":"Scoop"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#scoop","text":"","title":"Scoop"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#scoop_1","text":"\u5728 Windows \u4e0b\uff0c\u642d\u5efa\u5f00\u53d1\u73af\u5883\u4e00\u76f4\u662f\u4e00\u4e2a\u590d\u6742\u4e14\u56f0\u96be\u7684\u95ee\u9898\u3002\u7531\u4e8e\u6ca1\u6709\u4e00\u4e2a\u7edf\u4e00\u7684\u6807\u51c6\uff0c\u5bfc\u81f4\u5404\u79cd\u5f00\u53d1\u73af\u5883\u7684\u5b89\u88c5\u65b9\u5f0f\u5dee\u5f02\u5de8\u5927\uff0c\u9700\u8981\u4ed8\u51fa\u5f88\u591a\u4e0d\u5fc5\u8981\u7684\u65f6\u95f4\u6210\u672c\u3002\u800c Scoop \u53ef\u4ee5\u5e2e\u52a9\u4f60\u7edf\u4e00\u5b89\u88c5\u5e76\u7ba1\u7406\u5e38\u89c1\u7684\u5f00\u53d1\u8f6f\u4ef6\uff0c\u7701\u53bb\u4e86\u624b\u52a8\u4e0b\u8f7d\u5b89\u88c5\uff0c\u914d\u7f6e\u73af\u5883\u53d8\u91cf\u7b49\u7e41\u7410\u6b65\u9aa4\u3002 \u4f8b\u5982\u5b89\u88c5 python \u548c nodejs \u53ea\u9700\u8981\u6267\u884c\uff1a scoop install python scoop install nodejs","title":"\u4e3a\u4ec0\u4e48\u4f7f\u7528 Scoop"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#scoop_2","text":"Scoop \u9700\u8981 Windows PowerShell 5.1 \u6216\u8005 PowerShell \u4f5c\u4e3a\u8fd0\u884c\u73af\u5883\uff0c\u5982\u679c\u4f60\u4f7f\u7528\u7684\u662f Windows 10 \u53ca\u4ee5\u4e0a\u7248\u672c\uff0cWindows PowerShell \u662f\u5185\u7f6e\u5728\u7cfb\u7edf\u4e2d\u7684\u3002\u800c Windows 7 \u5185\u7f6e\u7684 Windows PowerShell \u7248\u672c\u8fc7\u4e8e\u9648\u65e7\uff0c\u4f60\u9700\u8981\u624b\u52a8\u5b89\u88c5\u65b0\u7248\u672c\u7684 PowerShell\u3002 \u7531\u4e8e\u53d1\u73b0\u5f88\u591a\u540c\u5b66\u5728\u8bbe\u7f6e Windows \u7528\u6237\u65f6\u4f7f\u7528\u4e86\u4e2d\u6587\u7528\u6237\u540d\uff0c\u5bfc\u81f4\u4e86\u7528\u6237\u76ee\u5f55\u4e5f\u53d8\u6210\u4e86\u4e2d\u6587\u540d\u3002\u5982\u679c\u6309\u7167 Scoop \u7684\u9ed8\u8ba4\u65b9\u5f0f\u5c06\u8f6f\u4ef6\u5b89\u88c5\u5230\u7528\u6237\u76ee\u5f55\u4e0b\uff0c\u53ef\u80fd\u4f1a\u9020\u6210\u90e8\u5206\u8f6f\u4ef6\u6267\u884c\u9519\u8bef\u3002\u6240\u4ee5\u8fd9\u91cc\u63a8\u8350\u5b89\u88c5\u5230\u81ea\u5b9a\u4e49\u76ee\u5f55\uff0c\u5982\u679c\u9700\u8981\u5176\u4ed6\u5b89\u88c5\u65b9\u5f0f\u8bf7\u53c2\u8003\uff1a ScoopInstaller/Install # \u8bbe\u7f6e PowerShell \u6267\u884c\u7b56\u7565 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser # \u4e0b\u8f7d\u5b89\u88c5\u811a\u672c irm get.scoop.sh -outfile 'install.ps1' # \u6267\u884c\u5b89\u88c5, --ScoopDir \u53c2\u6570\u6307\u5b9a Scoop \u5b89\u88c5\u8def\u5f84 .\\install.ps1 -ScoopDir 'C:\\Scoop'","title":"\u5b89\u88c5 Scoop"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#scoop_3","text":"Scoop \u7684\u5b98\u65b9\u6587\u6863\u5bf9\u4e8e\u65b0\u624b\u975e\u5e38\u53cb\u597d\uff0c\u76f8\u5bf9\u4e8e\u5728\u6b64\u5904\u8d58\u8ff0\u66f4\u63a8\u8350\u9605\u8bfb \u5b98\u65b9\u6587\u6863 \u6216 \u5feb\u901f\u5165\u95e8 \u3002","title":"\u4f7f\u7528 Scoop"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#qa","text":"","title":"Q&A"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#scoop_4","text":"Scoop \u793e\u533a\u4ec5\u7ef4\u62a4\u5b89\u88c5\u914d\u7f6e\uff0c\u6240\u6709\u7684\u8f6f\u4ef6\u90fd\u662f\u4ece\u8be5\u8f6f\u4ef6\u5b98\u65b9\u63d0\u4f9b\u7684\u4e0b\u8f7d\u94fe\u63a5\u8fdb\u884c\u4e0b\u8f7d\uff0c\u6240\u4ee5\u65e0\u6cd5\u63d0\u4f9b\u955c\u50cf\u6e90\u3002\u5982\u679c\u56e0\u4e3a\u4f60\u7684\u7f51\u7edc\u73af\u5883\u5bfc\u81f4\u591a\u6b21\u4e0b\u8f7d\u5931\u8d25\uff0c\u90a3\u4e48\u4f60\u9700\u8981\u4e00\u70b9\u70b9 \u9b54\u6cd5 \u3002","title":"Scoop \u80fd\u914d\u7f6e\u955c\u50cf\u6e90\u5417\uff1f"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#java8","text":"\u539f\u56e0\u540c\u4e0a\uff0c\u5b98\u65b9\u5df2\u4e0d\u518d\u63d0\u4f9b Java8 \u7684\u4e0b\u8f7d\u94fe\u63a5\uff0c\u63a8\u8350\u4f7f\u7528 ojdkbuild8 \u66ff\u4ee3\u3002","title":"\u4e3a\u4ec0\u4e48\u627e\u4e0d\u5230 Java8\uff1f"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#python2","text":"\u5bf9\u4e8e\u5df2\u7ecf\u8fc7\u65f6\u5f03\u7528\u7684\u8f6f\u4ef6\uff0cScoop \u793e\u533a\u4f1a\u5c06\u5176\u4ece ScoopInstaller/Main \u4e2d\u79fb\u9664\u5e76\u5c06\u5176\u6dfb\u52a0\u5230 ScoopInstaller/Versions \u4e2d\u3002\u5982\u679c\u4f60\u9700\u8981\u8fd9\u4e9b\u8f6f\u4ef6\u7684\u8bdd\u9700\u8981\u624b\u52a8\u6dfb\u52a0 bucket\uff1a scoop bucket add versions scoop install python27","title":"\u6211\u9700\u8981\u5b89\u88c5 python2 \u8be5\u5982\u4f55\u64cd\u4f5c\uff1f"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/","text":"Vim \u4e3a\u4ec0\u4e48\u5b66\u4e60 Vim \u5728\u6211\u770b\u6765 Vim \u7f16\u8f91\u5668\u6709\u5982\u4e0b\u7684\u597d\u5904\uff1a \u8ba9\u4f60\u7684\u6574\u4e2a\u5f00\u53d1\u8fc7\u7a0b\u624b\u6307\u4e0d\u9700\u8981\u79bb\u5f00\u952e\u76d8\uff0c\u800c\u4e14\u5149\u6807\u7684\u79fb\u52a8\u4e0d\u9700\u8981\u65b9\u5411\u952e\u4f7f\u5f97\u4f60\u7684\u624b\u6307\u4e00\u76f4\u5904\u5728\u6253\u5b57\u7684\u6700\u4f73\u4f4d\u7f6e\u3002 \u65b9\u4fbf\u7684\u6587\u4ef6\u5207\u6362\u4ee5\u53ca\u9762\u677f\u63a7\u5236\u53ef\u4ee5\u8ba9\u4f60\u540c\u65f6\u5f00\u53d1\u591a\u4efd\u6587\u4ef6\u751a\u81f3\u540c\u4e00\u4e2a\u6587\u4ef6\u7684\u4e0d\u540c\u4f4d\u7f6e\u3002 Vim \u7684\u5b8f\u64cd\u4f5c\u53ef\u4ee5\u6279\u91cf\u5316\u5904\u7406\u91cd\u590d\u64cd\u4f5c\uff08\u4f8b\u5982\u591a\u884c tab\uff0c\u6279\u91cf\u52a0\u53cc\u5f15\u53f7\u7b49\u7b49\uff09 Vim \u662f\u5f88\u591a\u670d\u52a1\u5668\u81ea\u5e26\u7684\u547d\u4ee4\u884c\u7f16\u8f91\u5668\uff0c\u5f53\u4f60\u901a\u8fc7 ssh \u8fde\u63a5\u8fdc\u7a0b\u670d\u52a1\u5668\u4e4b\u540e\uff0c\u7531\u4e8e\u6ca1\u6709\u56fe\u5f62\u754c\u9762\uff0c\u53ea\u80fd\u5728\u547d\u4ee4\u884c\u91cc\u8fdb\u884c\u5f00\u53d1\uff08\u5f53\u7136\u73b0\u5728\u5f88\u591a IDE \u5982 PyCharm \u63d0\u4f9b\u4e86 ssh \u63d2\u4ef6\u53ef\u4ee5\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\uff09\u3002 \u5f02\u5e38\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\uff0c\u8ba9\u4f60\u62e5\u6709\u4e16\u754c\u4e0a\u6700\u82b1\u91cc\u80e1\u54e8\u7684\u547d\u4ee4\u884c\u7f16\u8f91\u5668\u3002 \u5982\u4f55\u5b66\u4e60 Vim \u4e0d\u5e78\u7684\u662f Vim \u7684\u5b66\u4e60\u66f2\u7ebf\u786e\u5b9e\u76f8\u5f53\u9661\u5ced\uff0c\u6211\u82b1\u4e86\u597d\u51e0\u4e2a\u661f\u671f\u624d\u6162\u6162\u9002\u5e94\u4e86\u7528 Vim \u8fdb\u884c\u5f00\u53d1\u7684\u8fc7\u7a0b\u3002\u6700\u5f00\u59cb\u4f60\u4f1a\u89c9\u5f97\u975e\u5e38\u4e0d\u9002\u5e94\uff0c\u4f46\u4e00\u65e6\u71ac\u8fc7\u4e86\u521d\u59cb\u9636\u6bb5\uff0c\u76f8\u4fe1\u6211\uff0c\u4f60\u4f1a\u7231\u4e0a Vim\u3002 Vim \u7684\u5b66\u4e60\u8d44\u6599\u6d69\u5982\u70df\u6d77\uff0c\u4f46\u638c\u63e1\u5b83\u6700\u597d\u7684\u65b9\u5f0f\u8fd8\u662f\u5c06\u5b83\u7528\u5728\u65e5\u5e38\u7684\u5f00\u53d1\u8fc7\u7a0b\u4e2d\uff0c\u800c\u4e0d\u662f\u4e00\u4e0a\u6765\u5c31\u53bb\u5b66\u5404\u79cd\u82b1\u91cc\u80e1\u54e8\u7684\u9ad8\u7ea7 Vim \u6280\u5de7\u3002\u4e2a\u4eba\u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a \u5148\u9605\u8bfb \u8fd9\u7bc7 tutorial \uff0c\u638c\u63e1\u57fa\u672c\u7684 Vim \u6982\u5ff5\u548c\u4f7f\u7528\u65b9\u5f0f\uff0c\u4e0d\u60f3\u770b\u82f1\u6587\u7684\u53ef\u4ee5\u9605\u8bfb \u8fd9\u7bc7\u6559\u7a0b \u3002 \u7528 Vim \u81ea\u5e26\u7684 vimtutor \u8fdb\u884c\u7ec3\u4e60\uff0c\u5b89\u88c5\u5b8c Vim \u4e4b\u540e\u76f4\u63a5\u5728\u547d\u4ee4\u884c\u91cc\u8f93\u5165 vimtutor \u5373\u53ef\u8fdb\u5165\u7ec3\u4e60\u7a0b\u5e8f\u3002 \u6700\u540e\u5c31\u662f\u5f3a\u8feb\u81ea\u5df1\u4f7f\u7528 Vim \u8fdb\u884c\u5f00\u53d1\uff0cIDE \u91cc\u53ef\u4ee5\u5b89\u88c5 Vim \u63d2\u4ef6\u3002 \u7b49\u4f60\u5b8c\u5168\u9002\u5e94 Vim \u4e4b\u540e\u65b0\u7684\u4e16\u754c\u4fbf\u5411\u4f60\u655e\u5f00\u4e86\u5927\u95e8\uff0c\u4f60\u53ef\u4ee5\u6309\u9700\u914d\u7f6e\u81ea\u5df1\u7684 Vim\uff08\u4fee\u6539 .vimrc \u6587\u4ef6\uff09\uff0c\u7f51\u4e0a\u6709\u6570\u4e0d\u80dc\u6570\u7684\u8d44\u6e90\u53ef\u4ee5\u501f\u9274\u3002 \u5982\u679c\u4f60\u60f3\u5bf9\u914d\u7f6e Vim \u6709\u66f4\u52a0\u6df1\u5165\u7684\u4e86\u89e3\uff0c Learn Vim Script the Hard Way \u662f\u4e00\u4e2a\u5f88\u597d\u7684\u8d44\u6e90\u3002 \u5173\u4e8e\u952e\u4f4d\u6620\u5c04 \u7528 Vim \u7f16\u8f91\u4ee3\u7801\u7684\u65f6\u5019\u4f1a\u9891\u7e41\u7528\u5230 ESC \u548c CTRL \u952e, \u4f46\u662f\u8fd9\u4e24\u4e2a\u952e\u90fd\u79bb home row \u5f88\u8fdc, \u53ef\u4ee5\u628a CapsLock \u952e\u6620\u5c04\u5230 Esc \u6216\u8005 Ctrl \u952e\uff0c\u8ba9\u624b\u66f4\u8212\u670d\u4e00\u4e9b\u3002 Windows \u7cfb\u7edf\u53ef\u4ee5\u4f7f\u7528 Powertoys \u6216\u8005 AutoHotkey \u91cd\u6620\u5c04\u952e\u4f4d\u3002 MacOS \u7cfb\u7edf\u63d0\u4f9b\u4e86\u91cd\u6620\u5c04\u952e\u4f4d\u7684 \u8bbe\u7f6e \uff0c\u53e6\u5916\u4e5f\u53ef\u4ee5\u4f7f\u7528 Karabiner-Elements \u91cd\u6620\u5c04\u3002 \u4f46\u66f4\u4f73\u7684\u505a\u6cd5\u662f\u540c\u65f6\u5c06 CapsLock \u6620\u5c04\u4e3a Ctrl \u548c Esc\uff0c\u70b9\u6309\u4e3a Esc\uff0c\u6309\u4f4f\u4e3a Ctrl\u3002\u8fd9\u662f\u4e0d\u540c\u7cfb\u7edf\u4e0b\u7684\u5b9e\u73b0\u65b9\u6cd5\uff1a Windows MacOS Linux \u63a8\u8350\u53c2\u8003\u8d44\u6599 Neil, Drew. Practical Vim: Edit Text at the Speed of Thought. N.p., Pragmatic Bookshelf, 2015. Neil, Drew. Modern Vim: Craft Your Development Environment with Vim 8 and Neovim. United States, Pragmatic Bookshelf.","title":"Vim"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#vim","text":"","title":"Vim"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#vim_1","text":"\u5728\u6211\u770b\u6765 Vim \u7f16\u8f91\u5668\u6709\u5982\u4e0b\u7684\u597d\u5904\uff1a \u8ba9\u4f60\u7684\u6574\u4e2a\u5f00\u53d1\u8fc7\u7a0b\u624b\u6307\u4e0d\u9700\u8981\u79bb\u5f00\u952e\u76d8\uff0c\u800c\u4e14\u5149\u6807\u7684\u79fb\u52a8\u4e0d\u9700\u8981\u65b9\u5411\u952e\u4f7f\u5f97\u4f60\u7684\u624b\u6307\u4e00\u76f4\u5904\u5728\u6253\u5b57\u7684\u6700\u4f73\u4f4d\u7f6e\u3002 \u65b9\u4fbf\u7684\u6587\u4ef6\u5207\u6362\u4ee5\u53ca\u9762\u677f\u63a7\u5236\u53ef\u4ee5\u8ba9\u4f60\u540c\u65f6\u5f00\u53d1\u591a\u4efd\u6587\u4ef6\u751a\u81f3\u540c\u4e00\u4e2a\u6587\u4ef6\u7684\u4e0d\u540c\u4f4d\u7f6e\u3002 Vim \u7684\u5b8f\u64cd\u4f5c\u53ef\u4ee5\u6279\u91cf\u5316\u5904\u7406\u91cd\u590d\u64cd\u4f5c\uff08\u4f8b\u5982\u591a\u884c tab\uff0c\u6279\u91cf\u52a0\u53cc\u5f15\u53f7\u7b49\u7b49\uff09 Vim \u662f\u5f88\u591a\u670d\u52a1\u5668\u81ea\u5e26\u7684\u547d\u4ee4\u884c\u7f16\u8f91\u5668\uff0c\u5f53\u4f60\u901a\u8fc7 ssh \u8fde\u63a5\u8fdc\u7a0b\u670d\u52a1\u5668\u4e4b\u540e\uff0c\u7531\u4e8e\u6ca1\u6709\u56fe\u5f62\u754c\u9762\uff0c\u53ea\u80fd\u5728\u547d\u4ee4\u884c\u91cc\u8fdb\u884c\u5f00\u53d1\uff08\u5f53\u7136\u73b0\u5728\u5f88\u591a IDE \u5982 PyCharm \u63d0\u4f9b\u4e86 ssh \u63d2\u4ef6\u53ef\u4ee5\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\uff09\u3002 \u5f02\u5e38\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\uff0c\u8ba9\u4f60\u62e5\u6709\u4e16\u754c\u4e0a\u6700\u82b1\u91cc\u80e1\u54e8\u7684\u547d\u4ee4\u884c\u7f16\u8f91\u5668\u3002","title":"\u4e3a\u4ec0\u4e48\u5b66\u4e60 Vim"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#vim_2","text":"\u4e0d\u5e78\u7684\u662f Vim \u7684\u5b66\u4e60\u66f2\u7ebf\u786e\u5b9e\u76f8\u5f53\u9661\u5ced\uff0c\u6211\u82b1\u4e86\u597d\u51e0\u4e2a\u661f\u671f\u624d\u6162\u6162\u9002\u5e94\u4e86\u7528 Vim \u8fdb\u884c\u5f00\u53d1\u7684\u8fc7\u7a0b\u3002\u6700\u5f00\u59cb\u4f60\u4f1a\u89c9\u5f97\u975e\u5e38\u4e0d\u9002\u5e94\uff0c\u4f46\u4e00\u65e6\u71ac\u8fc7\u4e86\u521d\u59cb\u9636\u6bb5\uff0c\u76f8\u4fe1\u6211\uff0c\u4f60\u4f1a\u7231\u4e0a Vim\u3002 Vim \u7684\u5b66\u4e60\u8d44\u6599\u6d69\u5982\u70df\u6d77\uff0c\u4f46\u638c\u63e1\u5b83\u6700\u597d\u7684\u65b9\u5f0f\u8fd8\u662f\u5c06\u5b83\u7528\u5728\u65e5\u5e38\u7684\u5f00\u53d1\u8fc7\u7a0b\u4e2d\uff0c\u800c\u4e0d\u662f\u4e00\u4e0a\u6765\u5c31\u53bb\u5b66\u5404\u79cd\u82b1\u91cc\u80e1\u54e8\u7684\u9ad8\u7ea7 Vim \u6280\u5de7\u3002\u4e2a\u4eba\u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a \u5148\u9605\u8bfb \u8fd9\u7bc7 tutorial \uff0c\u638c\u63e1\u57fa\u672c\u7684 Vim \u6982\u5ff5\u548c\u4f7f\u7528\u65b9\u5f0f\uff0c\u4e0d\u60f3\u770b\u82f1\u6587\u7684\u53ef\u4ee5\u9605\u8bfb \u8fd9\u7bc7\u6559\u7a0b \u3002 \u7528 Vim \u81ea\u5e26\u7684 vimtutor \u8fdb\u884c\u7ec3\u4e60\uff0c\u5b89\u88c5\u5b8c Vim \u4e4b\u540e\u76f4\u63a5\u5728\u547d\u4ee4\u884c\u91cc\u8f93\u5165 vimtutor \u5373\u53ef\u8fdb\u5165\u7ec3\u4e60\u7a0b\u5e8f\u3002 \u6700\u540e\u5c31\u662f\u5f3a\u8feb\u81ea\u5df1\u4f7f\u7528 Vim \u8fdb\u884c\u5f00\u53d1\uff0cIDE \u91cc\u53ef\u4ee5\u5b89\u88c5 Vim \u63d2\u4ef6\u3002 \u7b49\u4f60\u5b8c\u5168\u9002\u5e94 Vim \u4e4b\u540e\u65b0\u7684\u4e16\u754c\u4fbf\u5411\u4f60\u655e\u5f00\u4e86\u5927\u95e8\uff0c\u4f60\u53ef\u4ee5\u6309\u9700\u914d\u7f6e\u81ea\u5df1\u7684 Vim\uff08\u4fee\u6539 .vimrc \u6587\u4ef6\uff09\uff0c\u7f51\u4e0a\u6709\u6570\u4e0d\u80dc\u6570\u7684\u8d44\u6e90\u53ef\u4ee5\u501f\u9274\u3002 \u5982\u679c\u4f60\u60f3\u5bf9\u914d\u7f6e Vim \u6709\u66f4\u52a0\u6df1\u5165\u7684\u4e86\u89e3\uff0c Learn Vim Script the Hard Way \u662f\u4e00\u4e2a\u5f88\u597d\u7684\u8d44\u6e90\u3002","title":"\u5982\u4f55\u5b66\u4e60 Vim"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#_1","text":"\u7528 Vim \u7f16\u8f91\u4ee3\u7801\u7684\u65f6\u5019\u4f1a\u9891\u7e41\u7528\u5230 ESC \u548c CTRL \u952e, \u4f46\u662f\u8fd9\u4e24\u4e2a\u952e\u90fd\u79bb home row \u5f88\u8fdc, \u53ef\u4ee5\u628a CapsLock \u952e\u6620\u5c04\u5230 Esc \u6216\u8005 Ctrl \u952e\uff0c\u8ba9\u624b\u66f4\u8212\u670d\u4e00\u4e9b\u3002 Windows \u7cfb\u7edf\u53ef\u4ee5\u4f7f\u7528 Powertoys \u6216\u8005 AutoHotkey \u91cd\u6620\u5c04\u952e\u4f4d\u3002 MacOS \u7cfb\u7edf\u63d0\u4f9b\u4e86\u91cd\u6620\u5c04\u952e\u4f4d\u7684 \u8bbe\u7f6e \uff0c\u53e6\u5916\u4e5f\u53ef\u4ee5\u4f7f\u7528 Karabiner-Elements \u91cd\u6620\u5c04\u3002 \u4f46\u66f4\u4f73\u7684\u505a\u6cd5\u662f\u540c\u65f6\u5c06 CapsLock \u6620\u5c04\u4e3a Ctrl \u548c Esc\uff0c\u70b9\u6309\u4e3a Esc\uff0c\u6309\u4f4f\u4e3a Ctrl\u3002\u8fd9\u662f\u4e0d\u540c\u7cfb\u7edf\u4e0b\u7684\u5b9e\u73b0\u65b9\u6cd5\uff1a Windows MacOS Linux","title":"\u5173\u4e8e\u952e\u4f4d\u6620\u5c04"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#_2","text":"Neil, Drew. Practical Vim: Edit Text at the Speed of Thought. N.p., Pragmatic Bookshelf, 2015. Neil, Drew. Modern Vim: Craft Your Development Environment with Vim 8 and Neovim. United States, Pragmatic Bookshelf.","title":"\u63a8\u8350\u53c2\u8003\u8d44\u6599"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/thesis/","text":"\u6bd5\u4e1a\u8bba\u6587 \u4e3a\u4ec0\u4e48\u5199\u8fd9\u4efd\u6559\u7a0b 2022\u5e74\uff0c\u6211\u672c\u79d1\u6bd5\u4e1a\u4e86\u3002\u5728\u5f00\u59cb\u52a8\u624b\u5199\u6bd5\u4e1a\u8bba\u6587\u7684\u65f6\u5019\uff0c\u6211\u5c34\u5c2c\u5730\u53d1\u73b0\uff0c\u6211\u5bf9 Word \u7684\u638c\u63e1\u7a0b\u5ea6\u4ec5\u9650\u4e8e\u8c03\u8282\u5b57\u4f53\u3001\u4fdd\u5b58\u5bfc\u51fa\u8fd9\u4e9b\u50bb\u74dc\u529f\u80fd\u3002\u66fe\u60f3\u8f6c\u6218 Latex\uff0c\u4f46\u8bba\u6587\u7684\u6bb5\u843d\u683c\u5f0f\u8981\u6c42\u8c03\u6574\u8d77\u6765\u8fd8\u662f\u7528 Word \u66f4\u4e3a\u65b9\u4fbf\uff0c\u7ecf\u8fc7\u4e00\u756a\u75db\u82e6\u7f20\u6597\u4e4b\u540e\uff0c\u603b\u7b97\u662f\u6709\u60ca\u65e0\u9669\u5730\u5b8c\u6210\u4e86\u8bba\u6587\u7684\u5199\u4f5c\u548c\u7b54\u8fa9\u3002\u4e3a\u4e86\u4e0d\u8ba9\u540e\u6765\u8005\u91cd\u8e48\u8986\u8f99\uff0c\u9042\u628a\u76f8\u5173\u8d44\u6e90\u6574\u7406\u6210\u4e00\u4efd\u5f00\u7bb1\u5373\u7528\u7684\u6587\u6863\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u5982\u4f55\u7528 Word \u5199\u6bd5\u4e1a\u8bba\u6587 \u6b63\u5982\u5c06\u5927\u8c61\u88c5\u8fdb\u51b0\u7bb1\u9700\u8981\u4e09\u6b65\uff0c\u7528 Word \u5199\u6bd5\u4e1a\u8bba\u6587\u4e5f\u53ea\u9700\u8981\u7b80\u5355\u4e09\u6b65\uff1a \u786e\u5b9a\u8bba\u6587\u7684\u683c\u5f0f\u8981\u6c42\uff1a\u901a\u5e38\u5b66\u9662\u90fd\u4f1a\u4e0b\u53d1\u6bd5\u4e1a\u8bba\u6587\u7684\u683c\u5f0f\u8981\u6c42\uff08\u5404\u7ea7\u6807\u9898\u7684\u5b57\u4f53\u5b57\u53f7\u3001\u56fe\u4f8b\u548c\u5f15\u7528\u7684\u683c\u5f0f\u7b49\u7b49\uff09\uff0c\u5982\u679c\u66f4\u4e3a\u8d34\u5fc3\u7684\u8bdd\u751a\u81f3\u4f1a\u76f4\u63a5\u7ed9\u51fa\u8bba\u6587\u6a21\u7248\uff08\u5982\u662f\u6b64\u60c5\u51b5\u8bf7\u76f4\u63a5\u8df3\u8f6c\u5230\u4e0b\u4e00\u6b65\uff09\u3002\u5f88\u4e0d\u5e78\u7684\u662f\uff0c\u6211\u7684\u5b66\u9662\u5e76\u6ca1\u6709\u4e0b\u53d1\u6807\u51c6\u7684\u8bba\u6587\u683c\u5f0f\u8981\u6c42\uff0c\u8fd8\u63d0\u4f9b\u4e86\u4e00\u4efd\u683c\u5f0f\u6df7\u4e71\u51e0\u4e4e\u6beb\u65e0\u7528\u5904\u7684\u8bba\u6587\u6a21\u7248\u8188\u5e94\u6211\uff0c\u88ab\u903c\u65e0\u5948\u4e4b\u4e0b\u6211\u627e\u5230\u4e86\u5317\u4eac\u5927\u5b66\u7814\u7a76\u751f\u7684 \u8bba\u6587\u683c\u5f0f\u8981\u6c42 \uff0c\u5e76\u6309\u7167\u5176\u8981\u6c42\u5236\u4f5c\u4e86 \u4e00\u4efd\u6a21\u7248 \uff0c\u5927\u5bb6\u9700\u8981\u7684\u8bdd\u81ea\u53d6\uff0c\u672c\u4eba\u4e0d\u627f\u62c5\u65e0\u6cd5\u6bd5\u4e1a\u7b49\u4efb\u4f55\u8d23\u4efb\u3002 \u5b66\u4e60 Word \u6392\u7248\uff1a\u5230\u8fbe\u8fd9\u4e00\u6b65\u7684\u7ae5\u978b\u5206\u4e3a\u4e24\u7c7b\uff0c\u4e00\u662f\u5df2\u7ecf\u62e5\u6709\u4e86\u5b66\u9662\u63d0\u4f9b\u7684\u6807\u51c6\u6a21\u7248\uff0c\u4e8c\u662f\u53ea\u6709\u4e00\u4efd\u865a\u65e0\u7f25\u7f08\u7684\u683c\u5f0f\u8981\u6c42\u3002\u90a3\u73b0\u5728\u5f53\u52a1\u4e4b\u6025\u5c31\u662f\u5b66\u4e60\u57fa\u7840\u7684 Word \u6392\u7248\u6280\u672f\uff0c\u5bf9\u4e8e\u524d\u8005\u53ef\u4ee5\u5b66\u4f1a\u4f7f\u7528\u6a21\u7248\uff0c\u5bf9\u4e8e\u540e\u8005\u5219\u53ef\u4ee5\u5b66\u4f1a\u5236\u4f5c\u6a21\u7248\u3002\u6b64\u65f6\u5207\u8bb0\u4e0d\u8981\u96c4\u5fc3\u52c3\u52c3\u5730\u9009\u62e9\u4e00\u4e2a\u5341\u51e0\u4e2a\u5c0f\u65f6\u7684 Word \u6559\u5b66\u89c6\u9891\u5f00\u59cb\u5934\u60ac\u6881\u9525\u523a\u80a1\uff0c\u56e0\u4e3a\u751f\u4ea7\u4e00\u4efd\u5e94\u4ed8\u6bd5\u4e1a\u7684\u5b66\u672f\u5783\u573e\u53ea\u8981\u5b66\u534a\u5c0f\u65f6\u80fd\u4e0a\u624b\u5c31\u591f\u4e86\u3002\u6211\u5f53\u65f6\u770b\u7684 \u4e00\u4e2a B \u7ad9\u7684\u6559\u5b66\u89c6\u9891 \uff0c\u77ed\u5c0f\u7cbe\u608d\u975e\u5e38\u5b9e\u7528\uff0c\u5168\u957f\u534a\u5c0f\u65f6\u6781\u901f\u5165\u95e8\u3002 \u751f\u4ea7\u5b66\u672f\u5783\u573e\uff1a\u6700\u5bb9\u6613\u7684\u4e00\u6b65\uff0c\u5927\u5bb6\u516b\u4ed9\u8fc7\u6d77\uff0c\u5404\u663e\u795e\u901a\u5427\uff0c\u795d\u5927\u5bb6\u6bd5\u4e1a\u987a\u5229\uff5e\uff5e","title":"\u6bd5\u4e1a\u8bba\u6587"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/thesis/#_1","text":"","title":"\u6bd5\u4e1a\u8bba\u6587"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/thesis/#_2","text":"2022\u5e74\uff0c\u6211\u672c\u79d1\u6bd5\u4e1a\u4e86\u3002\u5728\u5f00\u59cb\u52a8\u624b\u5199\u6bd5\u4e1a\u8bba\u6587\u7684\u65f6\u5019\uff0c\u6211\u5c34\u5c2c\u5730\u53d1\u73b0\uff0c\u6211\u5bf9 Word \u7684\u638c\u63e1\u7a0b\u5ea6\u4ec5\u9650\u4e8e\u8c03\u8282\u5b57\u4f53\u3001\u4fdd\u5b58\u5bfc\u51fa\u8fd9\u4e9b\u50bb\u74dc\u529f\u80fd\u3002\u66fe\u60f3\u8f6c\u6218 Latex\uff0c\u4f46\u8bba\u6587\u7684\u6bb5\u843d\u683c\u5f0f\u8981\u6c42\u8c03\u6574\u8d77\u6765\u8fd8\u662f\u7528 Word \u66f4\u4e3a\u65b9\u4fbf\uff0c\u7ecf\u8fc7\u4e00\u756a\u75db\u82e6\u7f20\u6597\u4e4b\u540e\uff0c\u603b\u7b97\u662f\u6709\u60ca\u65e0\u9669\u5730\u5b8c\u6210\u4e86\u8bba\u6587\u7684\u5199\u4f5c\u548c\u7b54\u8fa9\u3002\u4e3a\u4e86\u4e0d\u8ba9\u540e\u6765\u8005\u91cd\u8e48\u8986\u8f99\uff0c\u9042\u628a\u76f8\u5173\u8d44\u6e90\u6574\u7406\u6210\u4e00\u4efd\u5f00\u7bb1\u5373\u7528\u7684\u6587\u6863\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002","title":"\u4e3a\u4ec0\u4e48\u5199\u8fd9\u4efd\u6559\u7a0b"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/thesis/#word","text":"\u6b63\u5982\u5c06\u5927\u8c61\u88c5\u8fdb\u51b0\u7bb1\u9700\u8981\u4e09\u6b65\uff0c\u7528 Word \u5199\u6bd5\u4e1a\u8bba\u6587\u4e5f\u53ea\u9700\u8981\u7b80\u5355\u4e09\u6b65\uff1a \u786e\u5b9a\u8bba\u6587\u7684\u683c\u5f0f\u8981\u6c42\uff1a\u901a\u5e38\u5b66\u9662\u90fd\u4f1a\u4e0b\u53d1\u6bd5\u4e1a\u8bba\u6587\u7684\u683c\u5f0f\u8981\u6c42\uff08\u5404\u7ea7\u6807\u9898\u7684\u5b57\u4f53\u5b57\u53f7\u3001\u56fe\u4f8b\u548c\u5f15\u7528\u7684\u683c\u5f0f\u7b49\u7b49\uff09\uff0c\u5982\u679c\u66f4\u4e3a\u8d34\u5fc3\u7684\u8bdd\u751a\u81f3\u4f1a\u76f4\u63a5\u7ed9\u51fa\u8bba\u6587\u6a21\u7248\uff08\u5982\u662f\u6b64\u60c5\u51b5\u8bf7\u76f4\u63a5\u8df3\u8f6c\u5230\u4e0b\u4e00\u6b65\uff09\u3002\u5f88\u4e0d\u5e78\u7684\u662f\uff0c\u6211\u7684\u5b66\u9662\u5e76\u6ca1\u6709\u4e0b\u53d1\u6807\u51c6\u7684\u8bba\u6587\u683c\u5f0f\u8981\u6c42\uff0c\u8fd8\u63d0\u4f9b\u4e86\u4e00\u4efd\u683c\u5f0f\u6df7\u4e71\u51e0\u4e4e\u6beb\u65e0\u7528\u5904\u7684\u8bba\u6587\u6a21\u7248\u8188\u5e94\u6211\uff0c\u88ab\u903c\u65e0\u5948\u4e4b\u4e0b\u6211\u627e\u5230\u4e86\u5317\u4eac\u5927\u5b66\u7814\u7a76\u751f\u7684 \u8bba\u6587\u683c\u5f0f\u8981\u6c42 \uff0c\u5e76\u6309\u7167\u5176\u8981\u6c42\u5236\u4f5c\u4e86 \u4e00\u4efd\u6a21\u7248 \uff0c\u5927\u5bb6\u9700\u8981\u7684\u8bdd\u81ea\u53d6\uff0c\u672c\u4eba\u4e0d\u627f\u62c5\u65e0\u6cd5\u6bd5\u4e1a\u7b49\u4efb\u4f55\u8d23\u4efb\u3002 \u5b66\u4e60 Word \u6392\u7248\uff1a\u5230\u8fbe\u8fd9\u4e00\u6b65\u7684\u7ae5\u978b\u5206\u4e3a\u4e24\u7c7b\uff0c\u4e00\u662f\u5df2\u7ecf\u62e5\u6709\u4e86\u5b66\u9662\u63d0\u4f9b\u7684\u6807\u51c6\u6a21\u7248\uff0c\u4e8c\u662f\u53ea\u6709\u4e00\u4efd\u865a\u65e0\u7f25\u7f08\u7684\u683c\u5f0f\u8981\u6c42\u3002\u90a3\u73b0\u5728\u5f53\u52a1\u4e4b\u6025\u5c31\u662f\u5b66\u4e60\u57fa\u7840\u7684 Word \u6392\u7248\u6280\u672f\uff0c\u5bf9\u4e8e\u524d\u8005\u53ef\u4ee5\u5b66\u4f1a\u4f7f\u7528\u6a21\u7248\uff0c\u5bf9\u4e8e\u540e\u8005\u5219\u53ef\u4ee5\u5b66\u4f1a\u5236\u4f5c\u6a21\u7248\u3002\u6b64\u65f6\u5207\u8bb0\u4e0d\u8981\u96c4\u5fc3\u52c3\u52c3\u5730\u9009\u62e9\u4e00\u4e2a\u5341\u51e0\u4e2a\u5c0f\u65f6\u7684 Word \u6559\u5b66\u89c6\u9891\u5f00\u59cb\u5934\u60ac\u6881\u9525\u523a\u80a1\uff0c\u56e0\u4e3a\u751f\u4ea7\u4e00\u4efd\u5e94\u4ed8\u6bd5\u4e1a\u7684\u5b66\u672f\u5783\u573e\u53ea\u8981\u5b66\u534a\u5c0f\u65f6\u80fd\u4e0a\u624b\u5c31\u591f\u4e86\u3002\u6211\u5f53\u65f6\u770b\u7684 \u4e00\u4e2a B \u7ad9\u7684\u6559\u5b66\u89c6\u9891 \uff0c\u77ed\u5c0f\u7cbe\u608d\u975e\u5e38\u5b9e\u7528\uff0c\u5168\u957f\u534a\u5c0f\u65f6\u6781\u901f\u5165\u95e8\u3002 \u751f\u4ea7\u5b66\u672f\u5783\u573e\uff1a\u6700\u5bb9\u6613\u7684\u4e00\u6b65\uff0c\u5927\u5bb6\u516b\u4ed9\u8fc7\u6d77\uff0c\u5404\u663e\u795e\u901a\u5427\uff0c\u795d\u5927\u5bb6\u6bd5\u4e1a\u987a\u5229\uff5e\uff5e","title":"\u5982\u4f55\u7528 Word \u5199\u6bd5\u4e1a\u8bba\u6587"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/","text":"\u5b9e\u7528\u5de5\u5177\u7bb1 \u4e0b\u8f7d\u5de5\u5177 Sci-Hub : Elbakyan \u5973\u795e\u5411\u4f60\u6325\u624b\uff0c\u65e8\u5728\u6253\u7834\u77e5\u8bc6\u58c1\u5792\u7684\u9769\u547d\u6027\u7f51\u7ad9\u3002 Library Genesis : \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 Z-library : \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\uff08\u5728 Tor \u4e0b\u8fd0\u884c\u8f83\u4f73\uff0c \u94fe\u63a5 \uff09\u3002 Z-ePub : ePub \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 PDF Drive : PDF \u7535\u5b50\u4e66\u641c\u7d22\u5f15\u64ce\u3002 MagazineLib : PDF \u7535\u5b50\u6742\u5fd7\u4e0b\u8f7d\u7f51\u7ad9\u3002 BitDownloader : \u6cb9\u7ba1\u89c6\u9891\u4e0b\u8f7d\u5668\u3002 qBittorrent : BitTorrent \u5ba2\u6237\u7aef\u3002 uTorrent : BitTorrent \u5ba2\u6237\u7aef\u3002 \u5168\u56fd\u6807\u51c6\u4fe1\u606f\u516c\u5171\u670d\u52a1\u5e73\u53f0 \uff1a\u5404\u7c7b\u6807\u51c6\u67e5\u8be2\u548c\u4e0b\u8f7d\u5b98\u65b9\u5e73\u53f0\u3002 \u6807\u51c6\u77e5\u8bc6\u670d\u52a1\u7cfb\u7edf \uff1a\u68c0\u7d22\u4e0e\u9605\u8bfb\u6240\u9700\u6807\u51c6\u3002 MSDN,\u6211\u544a\u8bc9\u4f60 : Windows \u64cd\u4f5c\u7cfb\u7edf\u955c\u50cf\u4e0b\u8f7d\u7ad9\uff0c\u4e5f\u6709\u8bb8\u591a\u5176\u4ed6\u8f6f\u4ef6\u7684\u4e0b\u8f7d\u3002 \u8bbe\u8ba1\u5de5\u5177 excalidraw : \u4e00\u6b3e\u624b\u7ed8\u98ce\u683c\u7684\u7ed8\u56fe\u5de5\u5177\uff0c\u975e\u5e38\u9002\u5408\u7ed8\u5236\u8bfe\u7a0b\u62a5\u544a\u6216\u8005PPT\u5185\u7684\u793a\u610f\u56fe\u3002 tldraw : \u4e00\u4e2a\u7ed8\u56fe\u5de5\u5177\uff0c\u9002\u5408\u753b\u6d41\u7a0b\u56fe\uff0c\u67b6\u6784\u56fe\u7b49\u3002 draw.io : \u5f3a\u5927\u7b80\u6d01\u7684\u5728\u7ebf\u7684\u7ed8\u56fe\u7f51\u7ad9\uff0c\u652f\u6301\u6d41\u7a0b\u56fe\uff0cUML\u56fe\uff0c\u67b6\u6784\u56fe\uff0c\u539f\u578b\u56fe\u7b49\u7b49\uff0c\u652f\u6301 Onedrive, Google Drive, Github \u5bfc\u51fa\uff0c\u540c\u65f6\u63d0\u4f9b\u79bb\u7ebf\u5ba2\u6237\u7aef\u3002 origamiway : \u624b\u628a\u624b\u6559\u4f60\u600e\u4e48\u6298\u7eb8\u3002 thingiverse : \u56ca\u62ec\u5404\u7c7b 2D/3D \u8bbe\u8ba1\u8d44\u6e90\uff0c\u5176 STL \u6587\u4ef6\u4e0b\u8f7d\u53ef\u76f4\u63a5 3D \u6253\u5370\u3002 iconfont : \u56fd\u5185\u6700\u5927\u7684\u56fe\u6807\u548c\u63d2\u753b\u8d44\u6e90\u5e93\uff0c\u53ef\u7528\u4e8e\u5f00\u53d1\u6216\u7ed8\u5236\u7cfb\u7edf\u67b6\u6784\u56fe\u3002 turbosquid : \u53ef\u4ee5\u8d2d\u4e70\u5404\u5f0f\u5404\u6837\u7684\u6a21\u578b\u3002 flaticon : \u53ef\u4e0b\u8f7d\u514d\u8d39\u4e14\u9ad8\u8d28\u91cf\u7684\u56fe\u6807\u3002 \u6807\u51c6\u5730\u56fe\u670d\u52a1\u7cfb\u7edf : \u53ef\u4ee5\u4e0b\u8f7d\u5b98\u65b9\u6807\u51c6\u5730\u56fe\u3002 PlantUML : \u53ef\u4ee5\u4f7f\u7528\u4ee3\u7801\u5feb\u901f\u7f16\u5199 UML \u56fe\u3002 \u7f16\u7a0b\u76f8\u5173 sqlfiddle : \u4e00\u4e2a\u7b80\u6613\u7684\u5728\u7ebf SQL Playground\u3002 sqlzoo \uff1a\u5728\u7ebf\u7ec3\u4e60 sql \u8bed\u53e5\u3002 godbolt : \u975e\u5e38\u65b9\u4fbf\u7684\u7f16\u8bd1\u5668\u63a2\u7d22\u5de5\u5177\u3002\u4f60\u53ef\u4ee5\u5199\u4e00\u6bb5 C/C++ \u4ee3\u7801\uff0c\u9009\u62e9\u4e00\u6b3e\u7f16\u8bd1\u5668\uff0c\u7136\u540e\u4fbf\u53ef\u4ee5\u89c2\u5bdf\u751f\u6210\u7684\u5177\u4f53\u6c47\u7f16\u4ee3\u7801\u3002 explainshell : \u4f60\u662f\u5426\u66fe\u4e3a\u4e00\u6bb5 shell \u4ee3\u7801\u7684\u5177\u4f53\u542b\u4e49\u611f\u5230\u56f0\u6270\uff1fmanpage \u770b\u534a\u5929\u8fd8\u662f\u4e0d\u660e\u6240\u4ee5\uff1f\u8bd5\u8bd5\u8fd9\u4e2a\u7f51\u7ad9\uff01 regex101 : \u6b63\u5219\u8868\u8fbe\u5f0f\u8c03\u8bd5\u7f51\u7ad9\uff0c\u652f\u6301\u5404\u79cd\u7f16\u7a0b\u8bed\u8a00\u7684\u5339\u914d\u6807\u51c6\u3002 typingtom : \u9488\u5bf9\u7a0b\u5e8f\u5458\u7684\u6253\u5b57\u7ec3\u4e60/\u6d4b\u901f\u7f51\u7ad9\u3002 wrk : \u7f51\u7ad9\u538b\u6d4b\u5de5\u5177\u3002 gbmb : \u6570\u636e\u5355\u4f4d\u8f6c\u6362\u3002 tools : \u5728\u7ebf\u5de5\u5177\u5408\u96c6\u3002 github1s : \u7528\u7f51\u9875\u7248 VS Code \u5728\u7ebf\u9605\u8bfb GitHub \u4ee3\u7801\u3002 visualgo : \u7b97\u6cd5\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 DataStructureVisual : \u6570\u636e\u7ed3\u6784\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 Data Structure Visualizations : \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 learngitbranching : \u53ef\u89c6\u5316\u5b66\u4e60 git\u3002 UnicodeCharacter : Unicode \u5b57\u7b26\u96c6\u7f51\u7ad9\u3002 \u5b66\u4e60\u7f51\u7ad9 HFS : \u5404\u7c7b\u8f6f\u4ef6\u6559\u7a0b\u3002 Shadertoy : \u7f16\u5199\u5404\u5f0f\u5404\u6837\u7684 shader\u3002 comments-for-awesome-courses : \u540d\u6821\u516c\u5f00\u8bfe\u8bc4\u4ef7\u7f51\u3002 codetop : \u4f01\u4e1a\u9898\u5e93\u3002 cs-video-courses : \u5e26\u6709\u89c6\u9891\u8bb2\u5ea7\u7684\u8ba1\u7b97\u673a\u79d1\u5b66\u8bfe\u7a0b\u5217\u8868\u3002 bootlin : \u5728\u7ebf\u9605\u8bfb Linux \u6e90\u7801\u3002 ecust-CourseShare : \u534e\u4e1c\u5e08\u8303\u5927\u5b66\u7814\u7a76\u751f\u8bfe\u7a0b\u653b\u7565\u5171\u4eab\u8ba1\u5212\u3002 REKCARC-TSC-UHT : \u6e05\u534e\u5927\u5b66\u8ba1\u7b97\u673a\u7cfb\u8bfe\u7a0b\u653b\u7565\u3002 seu-master : \u4e1c\u5357\u5927\u5b66\u7814\u7a76\u751f\u8bfe\u7a0b\u8d44\u6599\u6574\u7406\u3002 \u83dc\u9e1f\u6559\u7a0b : \u8ba1\u7b97\u673a\u76f8\u5173\u77e5\u8bc6\u7684\u7b80\u8981\u7684\u6559\u7a0b\u3002 FreeBSD \u4ece\u5165\u95e8\u5230\u8dd1\u8def : \u4e00\u672c FreeBSD \u7684\u4e2d\u6587\u6559\u7a0b\u3002 MDN Web Docs : MDN \u7f51\u7edc\u5f00\u53d1\u5165\u95e8\u624b\u518c\u3002 Hello \u7b97\u6cd5 : \u52a8\u753b\u56fe\u89e3\u3001\u80fd\u8fd0\u884c\u3001\u53ef\u63d0\u95ee\u7684\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u5feb\u901f\u5165\u95e8\u6559\u7a0b\u3002 \u767e\u79d1\u7f51\u7ad9/\u8bcd\u5178\u6027\u8d28\u7684\u7f51\u7ad9 os-wiki : \u64cd\u4f5c\u7cfb\u7edf\u6280\u672f\u8d44\u6e90\u767e\u79d1\u5168\u4e66\u3002 FreeBSD Documentation : FreeBSD \u5b98\u65b9\u6587\u6863\u3002 Python3 Documentation : Python3 \u5b98\u65b9\u4e2d\u6587\u6587\u6863\u3002 C++ Reference : C++ \u53c2\u8003\u624b\u518c\u3002 OI Wiki : \u7f16\u7a0b\u7ade\u8d5b\u77e5\u8bc6\u6574\u5408\u7ad9\u70b9\u3002 Microsoft Learn : \u5fae\u8f6f\u5b98\u65b9\u7684\u5b66\u4e60\u5e73\u53f0\uff0c\u5305\u542b\u4e86\u7edd\u5927\u591a\u6570\u5fae\u8f6f\u4ea7\u54c1\u7684\u6587\u6863\u3002 Arch Wiki : \u4e13\u4e3a Arch Linux \u800c\u5199\u7684 Wiki\uff0c\u5305\u542b\u4e86\u5927\u91cf Linux \u76f8\u5173\u7684\u77e5\u8bc6\u3002 Qt Wiki : Qt \u5b98\u65b9 Wiki\u3002 OpenCV \u4e2d\u6587\u6587\u6863 : OpenCV \u7684\u793e\u533a\u7248\u4e2d\u6587\u6587\u6863\u3002 npm Docs : npm \u5b98\u65b9\u6587\u6863\u3002 \u4ea4\u6d41\u5e73\u53f0 GitHub : \u8bb8\u591a\u5f00\u6e90\u9879\u76ee\u7684\u6258\u7ba1\u5e73\u53f0\uff0c\u4e5f\u662f\u8bb8\u591a\u5f00\u6e90\u9879\u76ee\u7684\u4e3b\u8981\u4ea4\u6d41\u5e73\u53f0\uff0c\u901a\u8fc7\u67e5\u770b issue \u53ef\u4ee5\u89e3\u51b3\u8bb8\u591a\u95ee\u9898\u3002 StackExchange : Stack Exchange \u662f\u7531 181 \u4e2a\u95ee\u7b54\u793e\u533a\u7ec4\u6210\uff08\u5176\u4e2d\u5305\u62ec Stack Overflow\uff09\u7684\u7f16\u7a0b\u793e\u533a\u3002 StackOverflow : Stack Overflow \u662f\u4e00\u4e2a\u4e0e\u7a0b\u5e8f\u76f8\u5173\u7684 IT \u6280\u672f\u95ee\u7b54\u7f51\u7ad9\u3002 Gitee : \u4e00\u4e2a\u7c7b\u4f3c\u4e8e GitHub \u7684\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\uff0c\u53ef\u4ee5\u5728\u5bf9\u5e94\u9879\u76ee\u7684 issue \u91cc\u67e5\u627e\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u89e3\u7b54\u3002 \u77e5\u4e4e : \u4e00\u4e2a\u7c7b\u4f3c\u4e8e Quora \u7684\u95ee\u7b54\u793e\u533a\uff0c\u53ef\u4ee5\u5728\u5176\u4e2d\u63d0\u95ee\uff0c\u4e00\u4e9b\u95ee\u7b54\u5305\u542b\u6709\u8ba1\u7b97\u673a\u7684\u77e5\u8bc6\u3002 \u535a\u5ba2\u56ed : \u4e00\u4e2a\u9762\u5411\u5f00\u53d1\u8005\u7684\u77e5\u8bc6\u5206\u4eab\u793e\u533a\uff0c\u62e5\u6709\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u535a\u5ba2\uff0c\u6b63\u786e\u7387\u4e0d\u80fd\u4fdd\u8bc1\uff0c\u8bf7\u8c28\u614e\u4f7f\u7528\u3002 CSDN : \u62e5\u6709\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u535a\u5ba2\uff0c\u6b63\u786e\u7387\u4e0d\u80fd\u4fdd\u8bc1\uff0c\u8bf7\u8c28\u614e\u4f7f\u7528\u3002 \u6742\u9879 tophub : \u65b0\u95fb\u70ed\u699c\u5408\u96c6\uff08\u7efc\u5408\u4e86\u77e5\u4e4e\u3001\u5fae\u535a\u3001\u767e\u5ea6\u3001\u5fae\u4fe1\u7b49\uff09\u3002 feedly : \u8457\u540d\u7684 RSS \u8ba2\u9605\u6e90\u9605\u8bfb\u5668\u3002 speedtest : \u5728\u7ebf\u7f51\u7edc\u6d4b\u901f\u7f51\u7ad9\u3002 public-apis : \u516c\u5171 API \u5408\u96c6\u5217\u8868\u3002 numberempire : \u51fd\u6570\u6c42\u5bfc\u5de5\u5177\u3002 sustech-application : \u5357\u65b9\u79d1\u6280\u5927\u5b66\u7ecf\u9a8c\u5206\u4eab\u7f51\u3002 vim-adventures : \u4e00\u6b3e\u57fa\u4e8e vim \u952e\u76d8\u5feb\u6377\u952e\u7684\u5728\u7ebf\u6e38\u620f\u3002 vimsnake : \u5229\u7528 vim \u73a9\u8d2a\u5403\u86c7\u3002 keybr : \u5b66\u4e60\u76f2\u6253\u7684\u7f51\u7ad9\u3002 Awesome C++ : \u5f88\u68d2\u7684 C/C++ \u6846\u67b6\u3001\u5e93\u3001\u8d44\u6e90\u7cbe\u9009\u5217\u8868\u3002 HelloGitHub : \u5206\u4eab GitHub \u4e0a\u6709\u8da3\u3001\u5165\u95e8\u7ea7\u7684\u5f00\u6e90\u9879\u76ee\u3002","title":"\u5b9e\u7528\u5de5\u5177\u7bb1"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_1","text":"","title":"\u5b9e\u7528\u5de5\u5177\u7bb1"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_2","text":"Sci-Hub : Elbakyan \u5973\u795e\u5411\u4f60\u6325\u624b\uff0c\u65e8\u5728\u6253\u7834\u77e5\u8bc6\u58c1\u5792\u7684\u9769\u547d\u6027\u7f51\u7ad9\u3002 Library Genesis : \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 Z-library : \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\uff08\u5728 Tor \u4e0b\u8fd0\u884c\u8f83\u4f73\uff0c \u94fe\u63a5 \uff09\u3002 Z-ePub : ePub \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 PDF Drive : PDF \u7535\u5b50\u4e66\u641c\u7d22\u5f15\u64ce\u3002 MagazineLib : PDF \u7535\u5b50\u6742\u5fd7\u4e0b\u8f7d\u7f51\u7ad9\u3002 BitDownloader : \u6cb9\u7ba1\u89c6\u9891\u4e0b\u8f7d\u5668\u3002 qBittorrent : BitTorrent \u5ba2\u6237\u7aef\u3002 uTorrent : BitTorrent \u5ba2\u6237\u7aef\u3002 \u5168\u56fd\u6807\u51c6\u4fe1\u606f\u516c\u5171\u670d\u52a1\u5e73\u53f0 \uff1a\u5404\u7c7b\u6807\u51c6\u67e5\u8be2\u548c\u4e0b\u8f7d\u5b98\u65b9\u5e73\u53f0\u3002 \u6807\u51c6\u77e5\u8bc6\u670d\u52a1\u7cfb\u7edf \uff1a\u68c0\u7d22\u4e0e\u9605\u8bfb\u6240\u9700\u6807\u51c6\u3002 MSDN,\u6211\u544a\u8bc9\u4f60 : Windows \u64cd\u4f5c\u7cfb\u7edf\u955c\u50cf\u4e0b\u8f7d\u7ad9\uff0c\u4e5f\u6709\u8bb8\u591a\u5176\u4ed6\u8f6f\u4ef6\u7684\u4e0b\u8f7d\u3002","title":"\u4e0b\u8f7d\u5de5\u5177"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_3","text":"excalidraw : \u4e00\u6b3e\u624b\u7ed8\u98ce\u683c\u7684\u7ed8\u56fe\u5de5\u5177\uff0c\u975e\u5e38\u9002\u5408\u7ed8\u5236\u8bfe\u7a0b\u62a5\u544a\u6216\u8005PPT\u5185\u7684\u793a\u610f\u56fe\u3002 tldraw : \u4e00\u4e2a\u7ed8\u56fe\u5de5\u5177\uff0c\u9002\u5408\u753b\u6d41\u7a0b\u56fe\uff0c\u67b6\u6784\u56fe\u7b49\u3002 draw.io : \u5f3a\u5927\u7b80\u6d01\u7684\u5728\u7ebf\u7684\u7ed8\u56fe\u7f51\u7ad9\uff0c\u652f\u6301\u6d41\u7a0b\u56fe\uff0cUML\u56fe\uff0c\u67b6\u6784\u56fe\uff0c\u539f\u578b\u56fe\u7b49\u7b49\uff0c\u652f\u6301 Onedrive, Google Drive, Github \u5bfc\u51fa\uff0c\u540c\u65f6\u63d0\u4f9b\u79bb\u7ebf\u5ba2\u6237\u7aef\u3002 origamiway : \u624b\u628a\u624b\u6559\u4f60\u600e\u4e48\u6298\u7eb8\u3002 thingiverse : \u56ca\u62ec\u5404\u7c7b 2D/3D \u8bbe\u8ba1\u8d44\u6e90\uff0c\u5176 STL \u6587\u4ef6\u4e0b\u8f7d\u53ef\u76f4\u63a5 3D \u6253\u5370\u3002 iconfont : \u56fd\u5185\u6700\u5927\u7684\u56fe\u6807\u548c\u63d2\u753b\u8d44\u6e90\u5e93\uff0c\u53ef\u7528\u4e8e\u5f00\u53d1\u6216\u7ed8\u5236\u7cfb\u7edf\u67b6\u6784\u56fe\u3002 turbosquid : \u53ef\u4ee5\u8d2d\u4e70\u5404\u5f0f\u5404\u6837\u7684\u6a21\u578b\u3002 flaticon : \u53ef\u4e0b\u8f7d\u514d\u8d39\u4e14\u9ad8\u8d28\u91cf\u7684\u56fe\u6807\u3002 \u6807\u51c6\u5730\u56fe\u670d\u52a1\u7cfb\u7edf : \u53ef\u4ee5\u4e0b\u8f7d\u5b98\u65b9\u6807\u51c6\u5730\u56fe\u3002 PlantUML : \u53ef\u4ee5\u4f7f\u7528\u4ee3\u7801\u5feb\u901f\u7f16\u5199 UML \u56fe\u3002","title":"\u8bbe\u8ba1\u5de5\u5177"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_4","text":"sqlfiddle : \u4e00\u4e2a\u7b80\u6613\u7684\u5728\u7ebf SQL Playground\u3002 sqlzoo \uff1a\u5728\u7ebf\u7ec3\u4e60 sql \u8bed\u53e5\u3002 godbolt : \u975e\u5e38\u65b9\u4fbf\u7684\u7f16\u8bd1\u5668\u63a2\u7d22\u5de5\u5177\u3002\u4f60\u53ef\u4ee5\u5199\u4e00\u6bb5 C/C++ \u4ee3\u7801\uff0c\u9009\u62e9\u4e00\u6b3e\u7f16\u8bd1\u5668\uff0c\u7136\u540e\u4fbf\u53ef\u4ee5\u89c2\u5bdf\u751f\u6210\u7684\u5177\u4f53\u6c47\u7f16\u4ee3\u7801\u3002 explainshell : \u4f60\u662f\u5426\u66fe\u4e3a\u4e00\u6bb5 shell \u4ee3\u7801\u7684\u5177\u4f53\u542b\u4e49\u611f\u5230\u56f0\u6270\uff1fmanpage \u770b\u534a\u5929\u8fd8\u662f\u4e0d\u660e\u6240\u4ee5\uff1f\u8bd5\u8bd5\u8fd9\u4e2a\u7f51\u7ad9\uff01 regex101 : \u6b63\u5219\u8868\u8fbe\u5f0f\u8c03\u8bd5\u7f51\u7ad9\uff0c\u652f\u6301\u5404\u79cd\u7f16\u7a0b\u8bed\u8a00\u7684\u5339\u914d\u6807\u51c6\u3002 typingtom : \u9488\u5bf9\u7a0b\u5e8f\u5458\u7684\u6253\u5b57\u7ec3\u4e60/\u6d4b\u901f\u7f51\u7ad9\u3002 wrk : \u7f51\u7ad9\u538b\u6d4b\u5de5\u5177\u3002 gbmb : \u6570\u636e\u5355\u4f4d\u8f6c\u6362\u3002 tools : \u5728\u7ebf\u5de5\u5177\u5408\u96c6\u3002 github1s : \u7528\u7f51\u9875\u7248 VS Code \u5728\u7ebf\u9605\u8bfb GitHub \u4ee3\u7801\u3002 visualgo : \u7b97\u6cd5\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 DataStructureVisual : \u6570\u636e\u7ed3\u6784\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 Data Structure Visualizations : \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 learngitbranching : \u53ef\u89c6\u5316\u5b66\u4e60 git\u3002 UnicodeCharacter : Unicode \u5b57\u7b26\u96c6\u7f51\u7ad9\u3002","title":"\u7f16\u7a0b\u76f8\u5173"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_5","text":"HFS : \u5404\u7c7b\u8f6f\u4ef6\u6559\u7a0b\u3002 Shadertoy : \u7f16\u5199\u5404\u5f0f\u5404\u6837\u7684 shader\u3002 comments-for-awesome-courses : \u540d\u6821\u516c\u5f00\u8bfe\u8bc4\u4ef7\u7f51\u3002 codetop : \u4f01\u4e1a\u9898\u5e93\u3002 cs-video-courses : \u5e26\u6709\u89c6\u9891\u8bb2\u5ea7\u7684\u8ba1\u7b97\u673a\u79d1\u5b66\u8bfe\u7a0b\u5217\u8868\u3002 bootlin : \u5728\u7ebf\u9605\u8bfb Linux \u6e90\u7801\u3002 ecust-CourseShare : \u534e\u4e1c\u5e08\u8303\u5927\u5b66\u7814\u7a76\u751f\u8bfe\u7a0b\u653b\u7565\u5171\u4eab\u8ba1\u5212\u3002 REKCARC-TSC-UHT : \u6e05\u534e\u5927\u5b66\u8ba1\u7b97\u673a\u7cfb\u8bfe\u7a0b\u653b\u7565\u3002 seu-master : \u4e1c\u5357\u5927\u5b66\u7814\u7a76\u751f\u8bfe\u7a0b\u8d44\u6599\u6574\u7406\u3002 \u83dc\u9e1f\u6559\u7a0b : \u8ba1\u7b97\u673a\u76f8\u5173\u77e5\u8bc6\u7684\u7b80\u8981\u7684\u6559\u7a0b\u3002 FreeBSD \u4ece\u5165\u95e8\u5230\u8dd1\u8def : \u4e00\u672c FreeBSD \u7684\u4e2d\u6587\u6559\u7a0b\u3002 MDN Web Docs : MDN \u7f51\u7edc\u5f00\u53d1\u5165\u95e8\u624b\u518c\u3002 Hello \u7b97\u6cd5 : \u52a8\u753b\u56fe\u89e3\u3001\u80fd\u8fd0\u884c\u3001\u53ef\u63d0\u95ee\u7684\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u5feb\u901f\u5165\u95e8\u6559\u7a0b\u3002","title":"\u5b66\u4e60\u7f51\u7ad9"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_6","text":"os-wiki : \u64cd\u4f5c\u7cfb\u7edf\u6280\u672f\u8d44\u6e90\u767e\u79d1\u5168\u4e66\u3002 FreeBSD Documentation : FreeBSD \u5b98\u65b9\u6587\u6863\u3002 Python3 Documentation : Python3 \u5b98\u65b9\u4e2d\u6587\u6587\u6863\u3002 C++ Reference : C++ \u53c2\u8003\u624b\u518c\u3002 OI Wiki : \u7f16\u7a0b\u7ade\u8d5b\u77e5\u8bc6\u6574\u5408\u7ad9\u70b9\u3002 Microsoft Learn : \u5fae\u8f6f\u5b98\u65b9\u7684\u5b66\u4e60\u5e73\u53f0\uff0c\u5305\u542b\u4e86\u7edd\u5927\u591a\u6570\u5fae\u8f6f\u4ea7\u54c1\u7684\u6587\u6863\u3002 Arch Wiki : \u4e13\u4e3a Arch Linux \u800c\u5199\u7684 Wiki\uff0c\u5305\u542b\u4e86\u5927\u91cf Linux \u76f8\u5173\u7684\u77e5\u8bc6\u3002 Qt Wiki : Qt \u5b98\u65b9 Wiki\u3002 OpenCV \u4e2d\u6587\u6587\u6863 : OpenCV \u7684\u793e\u533a\u7248\u4e2d\u6587\u6587\u6863\u3002 npm Docs : npm \u5b98\u65b9\u6587\u6863\u3002","title":"\u767e\u79d1\u7f51\u7ad9/\u8bcd\u5178\u6027\u8d28\u7684\u7f51\u7ad9"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_7","text":"GitHub : \u8bb8\u591a\u5f00\u6e90\u9879\u76ee\u7684\u6258\u7ba1\u5e73\u53f0\uff0c\u4e5f\u662f\u8bb8\u591a\u5f00\u6e90\u9879\u76ee\u7684\u4e3b\u8981\u4ea4\u6d41\u5e73\u53f0\uff0c\u901a\u8fc7\u67e5\u770b issue \u53ef\u4ee5\u89e3\u51b3\u8bb8\u591a\u95ee\u9898\u3002 StackExchange : Stack Exchange \u662f\u7531 181 \u4e2a\u95ee\u7b54\u793e\u533a\u7ec4\u6210\uff08\u5176\u4e2d\u5305\u62ec Stack Overflow\uff09\u7684\u7f16\u7a0b\u793e\u533a\u3002 StackOverflow : Stack Overflow \u662f\u4e00\u4e2a\u4e0e\u7a0b\u5e8f\u76f8\u5173\u7684 IT \u6280\u672f\u95ee\u7b54\u7f51\u7ad9\u3002 Gitee : \u4e00\u4e2a\u7c7b\u4f3c\u4e8e GitHub \u7684\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\uff0c\u53ef\u4ee5\u5728\u5bf9\u5e94\u9879\u76ee\u7684 issue \u91cc\u67e5\u627e\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u89e3\u7b54\u3002 \u77e5\u4e4e : \u4e00\u4e2a\u7c7b\u4f3c\u4e8e Quora \u7684\u95ee\u7b54\u793e\u533a\uff0c\u53ef\u4ee5\u5728\u5176\u4e2d\u63d0\u95ee\uff0c\u4e00\u4e9b\u95ee\u7b54\u5305\u542b\u6709\u8ba1\u7b97\u673a\u7684\u77e5\u8bc6\u3002 \u535a\u5ba2\u56ed : \u4e00\u4e2a\u9762\u5411\u5f00\u53d1\u8005\u7684\u77e5\u8bc6\u5206\u4eab\u793e\u533a\uff0c\u62e5\u6709\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u535a\u5ba2\uff0c\u6b63\u786e\u7387\u4e0d\u80fd\u4fdd\u8bc1\uff0c\u8bf7\u8c28\u614e\u4f7f\u7528\u3002 CSDN : \u62e5\u6709\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u535a\u5ba2\uff0c\u6b63\u786e\u7387\u4e0d\u80fd\u4fdd\u8bc1\uff0c\u8bf7\u8c28\u614e\u4f7f\u7528\u3002","title":"\u4ea4\u6d41\u5e73\u53f0"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_8","text":"tophub : \u65b0\u95fb\u70ed\u699c\u5408\u96c6\uff08\u7efc\u5408\u4e86\u77e5\u4e4e\u3001\u5fae\u535a\u3001\u767e\u5ea6\u3001\u5fae\u4fe1\u7b49\uff09\u3002 feedly : \u8457\u540d\u7684 RSS \u8ba2\u9605\u6e90\u9605\u8bfb\u5668\u3002 speedtest : \u5728\u7ebf\u7f51\u7edc\u6d4b\u901f\u7f51\u7ad9\u3002 public-apis : \u516c\u5171 API \u5408\u96c6\u5217\u8868\u3002 numberempire : \u51fd\u6570\u6c42\u5bfc\u5de5\u5177\u3002 sustech-application : \u5357\u65b9\u79d1\u6280\u5927\u5b66\u7ecf\u9a8c\u5206\u4eab\u7f51\u3002 vim-adventures : \u4e00\u6b3e\u57fa\u4e8e vim \u952e\u76d8\u5feb\u6377\u952e\u7684\u5728\u7ebf\u6e38\u620f\u3002 vimsnake : \u5229\u7528 vim \u73a9\u8d2a\u5403\u86c7\u3002 keybr : \u5b66\u4e60\u76f2\u6253\u7684\u7f51\u7ad9\u3002 Awesome C++ : \u5f88\u68d2\u7684 C/C++ \u6846\u67b6\u3001\u5e93\u3001\u8d44\u6e90\u7cbe\u9009\u5217\u8868\u3002 HelloGitHub : \u5206\u4eab GitHub \u4e0a\u6709\u8da3\u3001\u5165\u95e8\u7ea7\u7684\u5f00\u6e90\u9879\u76ee\u3002","title":"\u6742\u9879"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/","text":"Contributed by @HardwayLinka \u8ba1\u7b97\u673a\u9886\u57df\u7684\u77e5\u8bc6\u8986\u76d6\u9762\u5f88\u5e7f\u5e76\u4e14\u66f4\u65b0\u901f\u5ea6\u5f88\u5feb\uff0c\u56e0\u6b64\u4fdd\u6301\u7ec8\u8eab\u5b66\u4e60\u7684\u4e60\u60ef\u5f88\u91cd\u8981\u3002\u4f46\u5728\u65e5\u5e38\u5f00\u53d1\u548c\u5b66\u4e60\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u83b7\u53d6\u77e5\u8bc6\u7684\u6765\u6e90\u76f8\u5bf9\u590d\u6742\u4e14\u7ec6\u788e\u3002\u6709\u6210\u767e\u4e0a\u5343\u9875\u7684\u6587\u6863\u624b\u518c\uff0c\u4e5f\u6709\u5be5\u5be5\u6570\u8bed\u7684\u535a\u5ba2\uff0c\u751a\u81f3\u95f2\u6687\u65f6\u624b\u673a\u4e0a\u5212\u8fc7\u7684\u67d0\u5219\u65b0\u95fb\u548c\u516c\u4f17\u53f7\u90fd\u6709\u53ef\u80fd\u5305\u542b\u6211\u4eec\u611f\u5174\u8da3\u7684\u77e5\u8bc6\u3002\u56e0\u6b64\uff0c\u5982\u4f55\u5229\u7528\u73b0\u6709\u7684\u5404\u7c7b\u5de5\u5177\uff0c\u5f62\u6210\u4e00\u5957\u9002\u5408\u81ea\u5df1\u7684\u5b66\u4e60\u5de5\u4f5c\u6d41\uff0c\u5c06\u4e0d\u540c\u6765\u6e90\u7684\u77e5\u8bc6\u788e\u7247\u6574\u5408\u8fdb\u5c5e\u4e8e\u81ea\u5df1\u7684\u77e5\u8bc6\u5e93\uff0c\u65b9\u4fbf\u4e4b\u540e\u7684\u67e5\u9605\u4e0e\u590d\u4e60\uff0c\u5c31\u663e\u5f97\u5c24\u4e3a\u91cd\u8981\u3002\u7ecf\u8fc7\u4e24\u5e74\u5de5\u4f5c\u4e4b\u4f59\u7684\u5b66\u4e60\u540e\uff0c\u6211\u78e8\u5408\u51fa\u4e86\u4ee5\u4e0b\u5b66\u4e60\u5de5\u4f5c\u6d41\uff1a \u5e95\u5c42\u6838\u5fc3\u903b\u8f91 \u4e00\u5f00\u59cb\u6211\u5b66\u4e60\u65b0\u77e5\u8bc6\u65f6\u4f1a\u53c2\u8003\u4e2d\u6587\u535a\u5ba2\uff0c\u4f46\u5728\u4ee3\u7801\u5b9e\u8df5\u65f6\u5f80\u5f80\u4f1a\u53d1\u73b0\u6f0f\u6d1e\u548cbug\u3002\u6211\u9010\u6e10\u610f\u8bc6\u5230\u6211\u53c2\u8003\u7684\u4fe1\u606f\u53ef\u80fd\u662f\u9519\u8bef\u7684\uff0c\u6bd5\u7adf\u53d1\u535a\u5ba2\u7684\u95e8\u69db\u4f4e\uff0c\u6587\u7ae0\u53ef\u4fe1\u5ea6\u4e0d\u9ad8\uff0c\u4e8e\u662f\u6211\u5f00\u59cb\u67e5\u9605\u4e00\u4e9b\u76f8\u5173\u7684\u4e2d\u6587\u4e66\u7c4d\u3002 \u4e2d\u6587\u4e66\u7c4d\u7684\u786e\u662f\u6bd4\u8f83\u5168\u9762\u4e14\u7cfb\u7edf\u5730\u8bb2\u89e3\u4e86\u77e5\u8bc6\u70b9\uff0c\u4f46\u4f17\u6240\u5468\u77e5\uff0c\u8ba1\u7b97\u673a\u6280\u672f\u66f4\u8fed\u8fc5\u901f\uff0c\u53c8\u56e0\u4e3a\u8001\u7f8e\u5728 CS \u65b9\u9762\u4e00\u76f4\u90fd\u662f\u706f\u5854\uff0c\u6240\u4ee5\u4e00\u822c\u4e2d\u6587\u4e66\u7c4d\u91cc\u7684\u5185\u5bb9\u4f1a\u6ede\u540e\u4e8e\u5f53\u524d\u6700\u65b0\u7684\u77e5\u8bc6\uff0c\u5bfc\u81f4\u6211\u8ddf\u7740\u4e2d\u6587\u4e66\u7c4d\u5b9e\u8df5\u4f1a\u51fa\u73b0\u8f6f\u4ef6\u7248\u672c\u5dee\u5f02\u7684\u95ee\u9898\u3002\u8fd9\u65f6\u6211\u5f00\u59cb\u610f\u8bc6\u5230\u4e00\u624b\u4fe1\u606f\u7684\u91cd\u8981\u6027\uff0c\u6709\u4e9b\u4e2d\u6587\u4e66\u7c4d\u662f\u7ffb\u8bd1\u82f1\u6587\u4e66\u7c4d\u7684\uff0c\u4e00\u822c\u7ffb\u8bd1\u4e00\u672c\u4e66\u4e5f\u8981\u4e00\u4e24\u5e74\uff0c\u8fd9\u4f1a\u5bfc\u81f4\u4fe1\u606f\u4f20\u9012\u7684\u5ef6\u8fdf\uff0c\u8fd8\u6709\u5c31\u662f\u7ffb\u8bd1\u7684\u8fc7\u7a0b\u4e2d\u4fe1\u606f\u4f1a\u6709\u635f\u5931\u3002\u5982\u679c\u4e00\u672c\u4e2d\u6587\u4e66\u7c4d\u4e0d\u662f\u7ffb\u8bd1\u7684\u5462\uff0c\u90a3\u4e48\u5b83\u5927\u6982\u7387\u4e5f\u53c2\u8003\u4e86\u5176\u4ed6\u4e66\u7c4d\uff0c\u53c2\u8003\u7684\u8fc7\u7a0b\u4f1a\u5e26\u6709\u5bf9\u82f1\u6587\u539f\u8457\u4e2d\u8bed\u4e49\u7406\u89e3\u7684\u504f\u5dee\u3002 \u4e8e\u662f\u6211\u5c31\u987a\u5176\u81ea\u7136\u5730\u5f00\u59cb\u7ffb\u9605\u82f1\u6587\u4e66\u7c4d\u3002\u4e0d\u5f97\u4e0d\u8bf4\uff0c\u82f1\u6587\u4e66\u7c4d\u5185\u5bb9\u7684\u8d28\u91cf\u6574\u4f53\u662f\u6bd4\u4e2d\u6587\u4e66\u7c4d\u9ad8\u7684\u3002\u540e\u6765\u968f\u7740\u5b66\u4e60\u7684\u5c42\u5c42\u6df1\u5165\uff0c\u4ee5\u77e5\u8bc6\u7684\u65f6\u6548\u6027\u548c\u5b8c\u6574\u6027\u51fa\u53d1\uff0c\u6211\u53d1\u73b0 \u6e90\u4ee3\u7801 > \u5b98\u65b9\u6587\u6863 > \u82f1\u6587\u4e66\u7c4d > \u82f1\u6587\u535a\u5ba2 > \u4e2d\u6587\u535a\u5ba2 \uff0c\u6700\u540e\u6211\u5f97\u51fa\u4e86\u4e00\u5f20 \u4fe1\u606f\u635f\u5931\u56fe \uff1a \u867d\u7136\u4e00\u624b\u4fe1\u606f\u5f88\u91cd\u8981\uff0c\u4f46\u540e\u9762\u7684 N \u624b\u4fe1\u606f\u5e76\u975e\u4e00\u65e0\u662f\u5904\uff0c\u56e0\u4e3a\u8fd9 N \u624b\u8d44\u6599\u91cc\u5305\u542b\u4e86\u4f5c\u8005\u5bf9\u6e90\u77e5\u8bc6\u7684\u8f6c\u5316\u2014\u2014\u4f8b\u5982\u57fa\u4e8e\u67d0\u79cd\u903b\u8f91\u7684\u68b3\u7406\uff08\u6d41\u7a0b\u56fe\u3001\u601d\u7ef4\u5bfc\u56fe\u7b49\uff09\u6216\u662f\u4e00\u4e9b\u81ea\u5df1\u7684\u7406\u89e3\uff08\u5bf9\u6e90\u77e5\u8bc6\u7684\u62bd\u8c61\u3001\u7c7b\u6bd4\u3001\u5ef6\u4f38\u5230\u5176\u4ed6\u77e5\u8bc6\u70b9\uff09\uff0c\u8fd9\u4e9b\u8f6c\u5316\u53ef\u4ee5\u5e2e\u52a9\u6211\u4eec\u66f4\u5feb\u5730\u638c\u63e1\u548c\u5de9\u56fa\u77e5\u8bc6\u7684\u6838\u5fc3\u5185\u5bb9\uff0c\u5c31\u5982\u540c\u521d\u9ad8\u4e2d\u5b66\u4e60\u65f6\u4f7f\u7528\u7684\u8f85\u5bfc\u4e66\u3002 \u6b64\u5916\uff0c\u5b66\u4e60\u7684\u8fc7\u7a0b\u4e2d\u548c\u522b\u4eba\u7684\u4ea4\u6d41\u5341\u5206\u91cd\u8981\uff0c\u8fd9\u4e9b N \u624b\u4fe1\u606f\u540c\u65f6\u8d77\u4e86\u548c\u5176\u4ed6\u4f5c\u8005\u4ea4\u6d41\u7684\u4f5c\u7528\uff0c\u8ba9\u6211\u4eec\u80fd\u91c7\u767e\u5bb6\u4e4b\u957f\u3002\u6240\u4ee5\u8fd9\u63d0\u793a\u6211\u4eec\u5b66\u4e60\u4e00\u4e2a\u77e5\u8bc6\u70b9\u65f6\u5148\u5c3d\u91cf\u9009\u62e9\u8d28\u91cf\u66f4\u9ad8\u7684\uff0c\u4fe1\u606f\u635f\u5931\u8f83\u5c11\u7684\u4fe1\u606f\u6e90\uff0c\u540c\u65f6\u4e0d\u59a8\u53c2\u8003\u591a\u4e2a\u4fe1\u606f\u6e90\uff0c\u8ba9\u81ea\u5df1\u7684\u7406\u89e3\u66f4\u52a0\u5168\u9762\u51c6\u786e\u3002 \u73b0\u5b9e\u5de5\u4f5c\u751f\u6d3b\u4e2d\u7684\u5b66\u4e60\u5f88\u96be\u50cf\u5b66\u6821\u91cc\u4e00\u6837\u56f4\u7ed5\u67d0\u4e2a\u5355\u4e00\u77e5\u8bc6\u70b9\u7531\u6d45\u5165\u6df1\uff0c\u7ecf\u5e38\u4f1a\u5728\u5b66\u4e60\u8fc7\u7a0b\u4e2d\u6d89\u53ca\u5230\u5176\u4ed6\u77e5\u8bc6\u70b9\uff0c\u6bd4\u5982\u4e00\u4e9b\u65b0\u7684\u4e13\u6709\u540d\u8bcd\uff0c\u4e00\u7bc7\u6ca1\u6709\u8bfb\u8fc7\u7684\u7ecf\u5178\u8bba\u6587\uff0c\u4e00\u6bb5\u672a\u66fe\u63a5\u89e6\u8fc7\u7684\u4ee3\u7801\u7b49\u7b49\u3002\u8fd9\u5c31\u8981\u6c42\u6211\u4eec\u52e4\u4e8e\u601d\u8003\uff0c\u5228\u6839\u7a76\u5e95\u5730\u201c\u9012\u5f52\u201d\u5b66\u4e60\uff0c\u7ed9\u591a\u4e2a\u77e5\u8bc6\u70b9\u4e4b\u95f4\u5efa\u7acb\u8054\u7cfb\u3002 \u9009\u62e9\u5408\u9002\u7684\u7b14\u8bb0\u8f6f\u4ef6 \u5de5\u4f5c\u6d41\u7684\u9aa8\u67b6\u56f4\u7ed5 \u5355\u4e2a\u77e5\u8bc6\u70b9\u591a\u53c2\u8003\u6e90\uff0c\u52e4\u4e8e\u63d0\u95ee\u7ed9\u591a\u4e2a\u77e5\u8bc6\u70b9\u4e4b\u95f4\u5efa\u7acb\u8054\u7cfb \u7684\u5e95\u5c42\u6838\u5fc3\u903b\u8f91\u5efa\u7acb\u3002\u6211\u4eec\u5199\u8bba\u6587\u5176\u5b9e\u5c31\u662f\u9075\u5faa\u8fd9\u4e2a\u5e95\u5c42\u903b\u8f91\u7684\u3002\u8bba\u6587\u4e00\u822c\u4f1a\u6709\u811a\u6ce8\u53bb\u89e3\u91ca\u4e00\u4e9b\u5173\u952e\u5b57\uff0c\u5e76\u4e14\u8bba\u6587\u672b\u5c3e\u4f1a\u6709\u591a\u4e2a\u53c2\u8003\u7684\u6765\u6e90\uff0c\u4f46\u662f\u6211\u4eec\u5e73\u65f6\u5199\u7b14\u8bb0\u4f1a\u968f\u610f\u5f97\u591a\uff0c\u56e0\u6b64\u9700\u8981\u66f4\u7075\u6d3b\u7684\u65b9\u5f0f\u3002 \u5e73\u65f6\u5199\u4ee3\u7801\u4e60\u60ef\u5728 IDE \u91cc\u4e00\u952e\u8df3\u8f6c\uff0c\u628a\u76f8\u5173\u7684\u51fd\u6570\u548c\u5b9e\u73b0\u5f88\u597d\u5730\u8054\u7cfb\u5728\u4e86\u4e00\u8d77\u3002\u4f60\u4e5f\u8bb8\u4f1a\u60f3\uff0c\u5982\u679c\u7b14\u8bb0\u4e5f\u80fd\u50cf\u4ee3\u7801\u90a3\u6837\u53ef\u4ee5\u8df3\u8f6c\u5c31\u597d\u4e86\u3002\u73b0\u5728\u5e02\u9762\u4e0a \u53cc\u94fe\u7b14\u8bb0\u8f6f\u4ef6 \u5c31\u53ef\u4ee5\u5f88\u597d\u5730\u89e3\u51b3\u8fd9\u4e00\u75db\u70b9\uff0c\u4f8b\u5982 Roam Research\u3001Logseq\u3001Notion \u548c Obsidian\u3002Roam Research \u548c Logseq \u90fd\u662f\u57fa\u4e8e\u5927\u7eb2\u7ed3\u6784\u7684\u7b14\u8bb0\u8f6f\u4ef6\uff0c\u800c \u5927\u7eb2\u7ed3\u6784 \u662f\u529d\u9000\u6211\u4f7f\u7528\u8fd9\u4e24\u6b3e\u8f6f\u4ef6\u7684\u539f\u56e0\u3002\u4e00\u662f \u5927\u7eb2\u7ed3\u6784 \u505a\u7b14\u8bb0\u5bb9\u6613\u4f7f\u6587\u7ae0\u7eb5\u5411\u7bc7\u5e45\u592a\u957f\uff0c\u4e8c\u662f\u5982\u679c\u5d4c\u5957\u7ed3\u6784\u8fc7\u591a\u4f1a\u5360\u6a2a\u5411\u7684\u7bc7\u5e45\u3002Notion \u9875\u9762\u6253\u5f00\u6162\uff0c\u5f03\u4e4b\u3002\u6700\u7ec8\u6211\u9009\u62e9\u4e86 Obsidian\uff0c\u539f\u56e0\u5982\u4e0b\uff1a Obsidian \u57fa\u4e8e\u672c\u5730\uff0c\u6253\u5f00\u901f\u5ea6\u5feb\uff0c\u4e14\u53ef\u5b58\u653e\u5f88\u591a\u7535\u5b50\u4e66\u3002\u6211\u7684\u7b14\u8bb0\u672c\u662f 32g \u5185\u5b58\u7684\u534e\u7855\u5929\u9009\u4e00\u4ee3\uff0c\u62ff\u6765\u8dd1 Obsidian \u53ef\u4ee5\u5feb\u5230\u98de\u8d77 Obsidian \u57fa\u4e8e Markdown\u3002\u8fd9\u4e5f\u662f\u4e00\u4e2a\u4f18\u52bf\uff0c\u5982\u679c\u7b14\u8bb0\u8f6f\u4ef6\u5199\u7684\u7b14\u8bb0\u683c\u5f0f\u662f\u81ea\u5bb6\u7684\u7f16\u7801\u683c\u5f0f\uff0c\u90a3\u4e48\u4e0d\u65b9\u4fbf\u5176\u4ed6\u7b2c\u4e09\u65b9\u62d3\u5c55\uff0c\u4e5f\u4e0d\u65b9\u4fbf\u5c06\u7b14\u8bb0\u7528\u5176\u4ed6\u8f6f\u4ef6\u6253\u5f00\uff0c\u6bd4\u5982 qq \u97f3\u4e50\u4e0b\u8f7d\u6b4c\u66f2\u6709\u81ea\u5df1\u7684\u683c\u5f0f\uff0c\u5176\u4ed6\u64ad\u653e\u5668\u64ad\u653e\u4e0d\u4e86\uff0c\u8fd9\u633a\u6076\u5fc3\u4eba\u7684 Obsidian \u6709\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\uff0c\u5e76\u4e14\u8fd9\u4e2a\u751f\u6001\u65e2\u5927\u53c8\u6d3b\u8dc3\uff0c\u5373\u63d2\u4ef6\u6570\u91cf\u591a\uff0c\u4e14\u70ed\u95e8\u63d2\u4ef6\u7684 star \u591a\uff0c\u5f00\u53d1\u8005\u4f1a\u53cd\u9988\u7528\u6237 issue\uff0c\u7248\u672c\u4f1a\u6301\u7eed\u8fed\u4ee3\u3002\u501f\u52a9\u8fd9\u4e9b\u63d2\u4ef6\uff0c\u53ef\u4ee5\u4f7f Osidian \u8fbe\u5230 all in one \u7684\u6548\u679c\uff0c\u5373\u5404\u7c7b\u77e5\u8bc6\u6765\u6e90\u53ef\u4ee5\u7edf\u4e00\u6574\u5408\u4e8e\u4e00\u5904 \u4fe1\u606f\u7684\u6765\u6e90 Obsidian \u7684\u63d2\u4ef6\u4f7f\u5176\u53ef\u4ee5\u652f\u6301 pdf \u683c\u5f0f\uff0c\u800c\u5176\u672c\u8eab\u53c8\u652f\u6301 Markdown \u683c\u5f0f\u3002\u5982\u679c\u60f3\u8981 all in one \uff0c\u90a3\u4e48\u53ef\u4ee5\u57fa\u4e8e\u8fd9\u4e24\u4e2a\u683c\u5f0f\uff0c\u5c06\u5176\u4ed6\u683c\u5f0f\u6587\u4ef6\u8f6c\u6362\u4e3a pdf \u6216\u8005 Markdown\u3002 \u90a3\u4e48\u73b0\u5728\u5c31\u9762\u4e34\u7740\u4e24\u4e2a\u95ee\u9898\uff1a \u6709\u4ec0\u4e48\u683c\u5f0f \u600e\u4e48\u8f6c\u6362\u4e3a pdf \u6216 Markdown \u6709\u4ec0\u4e48\u683c\u5f0f \u6587\u4ef6\u683c\u5f0f\u4f9d\u6258\u4e8e\u5176\u5c55\u793a\u7684\u5e73\u53f0\uff0c\u6240\u4ee5\u5728\u770b\u6709\u4ec0\u4e48\u683c\u5f0f\u4e4b\u524d\uff0c\u53ef\u4ee5\u7f57\u5217\u4e00\u4e0b\u6211\u5e73\u65f6\u83b7\u53d6\u4fe1\u606f\u7684\u6765\u6e90\uff1a \u53ef\u4ee5\u770b\u5230\u4e3b\u8981\u5206\u4e3a \u6587\u7ae0 \u3001 \u8bba\u6587 \u3001 \u7535\u5b50\u4e66 \u3001 \u8bfe\u7a0b \u56db\u7c7b\uff0c\u5305\u542b\u7684\u683c\u5f0f\u4e3b\u8981\u6709 \u7f51\u9875 \u3001 pdf \u3001 mobi \u3001 azw \u3001 azw3 \u3002 \u600e\u4e48\u8f6c\u6362\u4e3a pdf \u6216 Markdown \u5728\u7ebf\u7684\u6587\u7ae0\u548c\u8bfe\u7a0b\u7b49\u5927\u591a\u4ee5\u7f51\u9875\u5f62\u5f0f\u5448\u73b0\uff0c\u800c\u5c06\u7f51\u9875\u8f6c\u6362\u4e3a Markdown \u53ef\u4ee5\u4f7f\u7528\u526a\u85cf\u8f6f\u4ef6\uff0c\u5b83\u53ef\u4ee5\u5c06\u7f51\u9875\u6587\u7ae0\u8f6c\u6362\u4e3a\u591a\u79cd\u6587\u672c\u683c\u5f0f\u6587\u4ef6\u3002\u6211\u9009\u62e9\u7684\u5de5\u5177\u662f\u7b80\u60a6\uff0c\u4f7f\u7528\u7b80\u60a6\u53ef\u4ee5\u5c06\u51e0\u4e4e\u6240\u6709\u5e73\u53f0\u7684\u6587\u7ae0\u5f88\u597d\u5730\u526a\u85cf\u4e3a Markdown \u5e76\u4e14\u5bfc\u5165\u5230 Obsidian\u3002 \u5bf9\u4e8e\u8bba\u6587\u548c\u7535\u5b50\u4e66\u800c\u8a00\u5982\u679c\u683c\u5f0f\u672c\u8eab\u5c31\u662f pdf \u5219\u4e07\u4e8b\u5927\u5409\uff0c\u4f46\u5982\u679c\u662f\u5176\u4ed6\u683c\u5f0f\u5219\u53ef\u4ee5\u4f7f\u7528 calibre \u8fdb\u884c\u8f6c\u6362\uff1a \u73b0\u5728\u5229\u7528 Obsidian \u7684 pdf \u63d2\u4ef6\u548c\u5176\u539f\u751f\u7684 markdown \u652f\u6301\u5c31\u53ef\u4ee5\u7545\u5feb\u65e0\u6bd4\u5730\u505a\u7b14\u8bb0\u5e76\u4e14\u5728\u8fd9\u4e9b\u6587\u7ae0\u7684\u5bf9\u5e94\u7ae0\u8282\u8fdb\u884c\u65e0\u7f1d\u8854\u63a5\u5730\u5f15\u7528\u8df3\u8f6c\u5566\uff08\u5177\u4f53\u64cd\u4f5c\u53c2\u8003\u4e0b\u6587\u7684\u201c\u4fe1\u606f\u7684\u5904\u7406\u201d\u6a21\u5757\uff09\u3002 \u5982\u4f55\u7edf\u4e00\u7ba1\u7406\u4fe1\u606f\u6765\u6e90 \u5bf9\u4e8e pdf \u7b49\u6587\u4ef6\u7c7b\u8d44\u6e90\u53ef\u4ee5\u672c\u5730\u6216\u8005\u4e91\u7aef\u5b58\u50a8\uff0c\u800c\u7f51\u9875\u7c7b\u8d44\u6e90\u5219\u53ef\u4ee5\u5206\u95e8\u522b\u7c7b\u5730\u653e\u5165\u6d4f\u89c8\u5668\u7684\u6536\u85cf\u5939\uff0c\u6216\u8005\u526a\u85cf\u6210 markdown \u683c\u5f0f\u7684\u7b14\u8bb0\uff0c\u4f46\u662f\u7f51\u9875\u6d4f\u89c8\u5668\u4e0d\u80fd\u5b9e\u73b0\u79fb\u52a8\u7aef\u7684\u7f51\u9875\u6536\u85cf\u3002\u4e3a\u4e86\u5b9e\u73b0\u8de8\u7aef\u7f51\u9875\u6536\u85cf\u6211\u9009\u7528\u4e86 Cubox\uff0c\u5728\u624b\u673a\u7aef\u770b\u5230\u611f\u5174\u8da3\u7684\u7f51\u9875\u65f6\u53ea\u9700\u5c0f\u624b\u4e00\u5212\uff0c\u4fbf\u80fd\u5c06\u7f51\u9875\u7edf\u4e00\u4fdd\u5b58\u4e0b\u6765\u3002\u867d\u7136\u514d\u8d39\u7248\u53ea\u80fd\u6536\u85cf 100 \u4e2a\u7f51\u9875\uff0c\u4f46\u5176\u5b9e\u591f\u7528\u4e86\uff0c\u8fd8\u53ef\u4ee5\u5728\u6536\u85cf\u6ee1\u65f6\u7763\u4fc3\u81ea\u5df1\u8d76\u7d27\u526a\u85cf\u6d88\u5316\u6389\u8fd9\u4e9b\u7f51\u9875\uff0c\u8ba9\u6536\u85cf\u4e0d\u5403\u7070\u3002 \u9664\u6b64\u4e4b\u5916\uff0c\u56de\u60f3\u4e00\u4e0b\u6211\u4eec\u5e73\u65f6\u6536\u85cf\u7684\u7f51\u9875\uff0c\u5c31\u4f1a\u53d1\u73b0\u6709\u5f88\u591a\u5e76\u4e0d\u662f\u50cf\u77e5\u4e4e\u3001\u6398\u91d1\u8fd9\u7c7b\u6709\u5b8c\u6574\u529f\u80fd\u7684\u535a\u5ba2\u5e73\u53f0\uff0c\u66f4\u591a\u7684\u662f\u4e2a\u4eba\u5efa\u7684\u5c0f\u7ad9\uff0c\u800c\u8fd9\u4e9b\u5c0f\u7ad9\u5f80\u5f80\u6ca1\u6709\u79fb\u52a8\u7aef\u5e94\u7528\uff0c\u8fd9\u6837\u5e73\u65f6\u5237\u624b\u673a\u7684\u65f6\u5019\u4e5f\u770b\u4e0d\u5230\uff0c\u653e\u5230\u6d4f\u89c8\u5668\u7684\u6536\u85cf\u5939\u91cc\u53c8\u5bb9\u6613\u6f0f\u4e86\u770b\uff0c\u6709\u65b0\u6587\u7ae0\u53d1\u5e03\u6211\u4eec\u4e5f\u4e0d\u80fd\u7b2c\u4e00\u65f6\u95f4\u6536\u5230\u901a\u77e5\uff0c\u8fd9\u4e2a\u65f6\u5019\u5c31\u9700\u8981\u4e00\u79cd\u53eb RSS \u7684\u901a\u4fe1\u534f\u8bae\u3002 RSS \uff08\u82f1\u6587\u5168\u79f0\uff1aRDF Site Summary \u6216 Really Simple Syndication\uff09\uff0c\u4e2d\u6587\u8bd1\u4f5c\u7b80\u6613\u4fe1\u606f\u805a\u5408\uff0c\u4e5f\u79f0\u805a\u5408\u5185\u5bb9\uff0c\u662f\u4e00\u79cd\u6d88\u606f\u6765\u6e90\u683c\u5f0f\u89c4\u8303\uff0c\u7528\u4ee5\u805a\u5408\u591a\u4e2a\u7f51\u7ad9\u66f4\u65b0\u7684\u5185\u5bb9\u5e76\u81ea\u52a8\u901a\u77e5\u7f51\u7ad9\u8ba2\u9605\u8005\u3002\u7535\u8111\u7aef\u53ef\u4ee5\u501f\u52a9 RSSHub Radar \u6765\u5feb\u901f\u53d1\u73b0\u548c\u751f\u6210 RSS \u8ba2\u9605\u6e90\uff0c\u63a5\u7740\u4f7f\u7528 Feedly \u6765\u8ba2\u9605\u8fd9\u4e9b RSS \u8ba2\u9605\u6e90\uff08 RSSHub Radar \u548c Feedly \u5728 chrome \u6d4f\u89c8\u5668\u4e2d\u5747\u6709\u5b98\u65b9\u63d2\u4ef6\uff09\u3002 \u5230\u8fd9\u91cc\u4e3a\u6b62\uff0c\u6536\u96c6\u4fe1\u606f\u7684\u6d41\u7a0b\u5df2\u7ecf\u6bd4\u8f83\u5b8c\u5907\u4e86\u3002\u4f46\u8d44\u6599\u518d\u591a\uff0c\u5206\u7c7b\u89c4\u6574\u5f97\u518d\u6f02\u4eae\uff0c\u4e5f\u5f97\u771f\u6b63\u5185\u5316\u6210\u81ea\u5df1\u7684\u624d\u7ba1\u7528\u3002\u56e0\u6b64\u5728\u6536\u96c6\u5b8c\u4fe1\u606f\u540e\u5c31\u5f97\u8fdb\u4e00\u6b65\u5730\u5904\u7406\u4fe1\u606f\uff0c\u5373\u9605\u8bfb\u8fd9\u4e9b\u4fe1\u606f\uff0c\u5982\u679c\u662f\u82f1\u6587\u4fe1\u606f\u7684\u8bdd\u8fd8\u5f97\u641e\u61c2\u82f1\u6587\u7684\u8bed\u4e49\uff0c\u52a0\u7c97\u9ad8\u4eae\u91cd\u70b9\u53e5\u5b50\u6bb5\u843d\uff0c\u6807\u8bb0\u6709\u7591\u95ee\u7684\u5730\u65b9\uff0c\u53d1\u6563\u8054\u60f3\u76f8\u5173\u7684\u77e5\u8bc6\u70b9\uff0c\u6700\u540e\u5199\u4e0a\u81ea\u5df1\u7684\u603b\u7ed3\u3002\u90a3\u4e48\u5728\u8fd9\u8fc7\u7a0b\u4e2d\u9700\u8981\u4f7f\u7528\u5230\u4ec0\u4e48\u5de5\u5177\u5462\uff1f \u4fe1\u606f\u7684\u5904\u7406 \u82f1\u6587\u4fe1\u606f \u9762\u5bf9\u82f1\u6587\u7684\u8d44\u6599\uff0c\u6211\u4ee5\u524d\u662f\u7528 \u6709\u9053\u8bcd\u5178 \u6765\u5212\u8bcd\u7ffb\u8bd1\uff0c\u9047\u5230\u53e5\u5b50\u7684\u8bdd\u5c31\u4f7f\u7528\u8c37\u6b4c\u7ffb\u8bd1\uff0c\u9047\u5230\u5927\u6bb5\u843d\u65f6\u5c31\u4f7f\u7528 deepl \uff0c\u4e45\u800c\u4e45\u4e4b\uff0c\u53d1\u73b0\u8fd9\u6837\u770b\u82f1\u8bed\u6587\u732e\u592a\u6162\u4e86\uff0c\u5f97\u7528\u4e09\u4e2a\u5de5\u5177\u624d\u80fd\u6ee1\u8db3\u7ffb\u8bd1\u8fd9\u4e00\u4e2a\u9700\u6c42\uff0c\u5982\u679c\u6709\u4e00\u4e2a\u5de5\u5177\u80fd\u591f\u540c\u65f6\u5b9e\u73b0\u5bf9\u5355\u8bcd\u3001\u53e5\u5b50\u548c\u6bb5\u843d\u7684\u5212\u8bcd\u7ffb\u8bd1\u5c31\u597d\u4e86\u3002\u6211\u8054\u60f3\u5230\u7814\u7a76\u751f\u4eec\u5e94\u8be5\u4f1a\u7ecf\u5e38\u63a5\u89e6\u82f1\u8bed\u6587\u732e\uff0c\u4e8e\u662f\u6211\u5c31\u641c \u7814\u7a76\u751f + \u7ffb\u8bd1\u8f6f\u4ef6 \uff0c\u5728\u68c0\u7d22\u7ed3\u679c\u91cc\u6211\u6700\u7ec8\u9009\u62e9\u4e86 Quicker + \u6c99\u62c9\u67e5\u8bcd \u8fd9\u4e2a\u642d\u914d\u6765\u8fdb\u884c\u5212\u8bcd\u7ffb\u8bd1\u3002 \u4f7f\u7528\u8fd9\u5957\u7ec4\u5408\u53ef\u4ee5\u5b9e\u73b0\u5728\u6d4f\u89c8\u5668\u5916\u7684\u5176\u4ed6\u8f6f\u4ef6\u5185\u8fdb\u884c\u5212\u8bcd\u7ffb\u8bd1\uff0c\u5e76\u4e14\u652f\u6301\u5355\u8bcd\u3001\u53e5\u5b50\u548c\u6bb5\u843d\u7684\u7ffb\u8bd1\uff0c\u4ee5\u53ca\u6bcf\u6b21\u7684\u7ffb\u8bd1\u4f1a\u6709\u591a\u4e2a\u7ffb\u8bd1\u5e73\u53f0\u7684\u7ed3\u679c\u3002btw\uff0c\u5982\u679c\u67e5\u5355\u8bcd\u65f6\u4e0d\u7740\u6025\u7684\u8bdd\uff0c\u53ef\u4ee5\u987a\u4fbf\u770b\u770b \u79d1\u6797\u65af\u9ad8\u9636 \u7684\u7ffb\u8bd1\uff0c\u8fd9\u4e2a\u8bcd\u5178\u7684\u4f18\u70b9\u5c31\u662f\u4f1a\u7528\u82f1\u6587\u53bb\u89e3\u91ca\u82f1\u6587\uff0c\u53ef\u4ee5\u63d0\u4f9b\u591a\u4e2a\u4e0a\u4e0b\u6587\u5e2e\u52a9\u4f60\u7406\u89e3\uff0c\u5bf9\u4e8e\u5b66\u4e60\u82f1\u6587\u5355\u8bcd\u4e5f\u6709\u5e2e\u52a9\uff0c\u56e0\u4e3a\u7528\u82f1\u6587\u89e3\u91ca\u82f1\u6587\u624d\u66f4\u63a5\u8fd1\u82f1\u8bed\u7684\u601d\u7ef4\u3002 \u591a\u5a92\u4f53\u4fe1\u606f \u5904\u7406\u5b8c\u6587\u672c\u7c7b\u7684\u4fe1\u606f\u540e\uff0c\u6211\u4eec\u8fd8\u5f97\u601d\u8003\u4e00\u4e0b\u600e\u4e48\u5904\u7406\u591a\u5a92\u4f53\u7c7b\u7684\u4fe1\u606f\u3002\u6b64\u5904\u7684\u591a\u5a92\u4f53\u6211\u7279\u6307\u82f1\u6587\u89c6\u9891\uff0c\u56e0\u4e3a\u6211\u6ca1\u6709\u7528\u64ad\u5ba2\u6216\u5f55\u97f3\u5b66\u4e60\u7684\u4e60\u60ef\uff0c\u800c\u4e14\u6211\u5df2\u7ecf\u57fa\u672c\u4e0d\u770b\u4e2d\u6587\u6559\u7a0b\u4e86\u3002\u73b0\u5728\u5f88\u591a\u56fd\u5916\u540d\u6821\u516c\u5f00\u8bfe\u90fd\u662f\u4ee5\u89c6\u9891\u7684\u5f62\u5f0f\uff0c\u5982\u679c\u80fd\u5bf9\u89c6\u9891\u8fdb\u884c\u505a\u7b14\u8bb0\u4f1a\u4e0d\u4f1a\u6709\u5e2e\u52a9\u5462\uff1f\u4e0d\u77e5\u9053\u5927\u5bb6\u6709\u6ca1\u8fd9\u6837\u7684\u60f3\u6cd5\uff0c\u5c31\u662f\u5982\u679c\u80fd\u628a\u8001\u5e08\u4e0a\u8bfe\u8bb2\u7684\u5185\u5bb9\u8f6c\u6362\u6210\u6587\u672c\u5c31\u597d\u4e86\uff0c\u56e0\u4e3a\u5e73\u65f6\u5b66\u4e60\u65f6\u6211\u4eec\u770b\u4e66\u7684\u901f\u5ea6\u5f80\u5f80\u4f1a\u6bd4\u8001\u5e08\u8bb2\u8bfe\u7684\u901f\u5ea6\u5feb\u3002\u521a\u597d Language Reactor \u8fd9\u4e2a\u8f6f\u4ef6\u53ef\u4ee5\u5c06\u6cb9\u7ba1\u548c\u7f51\u98de\u5185\u89c6\u9891\u7684\u5b57\u5e55\u5bfc\u51fa\u6765\uff0c\u540c\u65f6\u9644\u4e0a\u4e2d\u6587\u7ffb\u8bd1\u3002 \u6211\u4eec\u53ef\u4ee5\u628a Language Reactor \u5bfc\u51fa\u7684\u5b57\u5e55\u590d\u5236\u5230 Obsidian \u91cc\u9762\u4f5c\u4e3a\u6587\u7ae0\u6765\u8bfb\u3002\u9664\u4e86\u51fa\u4e8e\u5b66\u4e60\u7684\u9700\u6c42\uff0c\u4e5f\u53ef\u4ee5\u5728\u5e73\u65f6\u770b\u6cb9\u7ba1\u7684\u89c6\u9891\u65f6\u6253\u5f00\u8fd9\u4e2a\u63d2\u4ef6\uff0c\u8fd9\u4e2a\u63d2\u4ef6\u53ef\u4ee5\u540c\u65f6\u663e\u793a\u4e2d\u82f1\u6587\u5b57\u5e55\uff0c\u5e76\u4e14\u53ef\u4ee5\u5355\u51fb\u9009\u4e2d\u82f1\u6587\u5b57\u5e55\u4e2d\u4f60\u8ba4\u4e3a\u751f\u50fb\u7684\u5355\u8bcd\u540e\u663e\u793a\u5355\u8bcd\u91ca\u4e49\u3002 \u4f46\u9605\u8bfb\u6587\u672c\u5bf9\u4e8e\u4e00\u4e9b\u62bd\u8c61\u7684\u77e5\u8bc6\u70b9\u6765\u8bf4\u5e76\u4e0d\u662f\u6548\u7387\u6700\u9ad8\u7684\u5b66\u4e60\u65b9\u5f0f\u3002\u4fd7\u8bdd\u8bf4\uff0c\u4e00\u56fe\u80dc\u5343\u8a00\uff0c\u80fd\u4e0d\u80fd\u5c06\u67d0\u4e00\u6bb5\u77e5\u8bc6\u70b9\u7684\u6587\u672c\u548c\u5bf9\u5e94\u7684\u56fe\u7247\u751a\u81f3\u89c6\u9891\u753b\u9762\u64cd\u4f5c\u8054\u7cfb\u8d77\u6765\u5462\uff1f\u6211\u5728\u6d4f\u89c8 Obsidian \u7684\u63d2\u4ef6\u5e02\u573a\u65f6\uff0c\u53d1\u73b0\u4e86\u4e00\u4e2a\u53eb Media Extended \u7684\u63d2\u4ef6\uff0c\u8fd9\u4e2a\u63d2\u4ef6\u53ef\u4ee5\u5728\u4f60\u7684\u7b14\u8bb0\u91cc\u6dfb\u52a0\u8df3\u8f6c\u5230\u89c6\u9891\u6307\u5b9a\u65f6\u95f4\u8fdb\u5ea6\u7684\u94fe\u63a5\uff0c\u76f8\u5f53\u4e8e\u628a\u4f60\u7684\u7b14\u8bb0\u548c\u89c6\u9891\u8fde\u63a5\u8d77\u6765\u4e86\uff01\u8fd9\u521a\u597d\u53ef\u4ee5\u548c\u6211\u4e0a\u6587\u63d0\u5230\u7684\u751f\u6210\u89c6\u9891\u4e2d\u82f1\u6587\u5b57\u5e55\u642d\u914d\u8d77\u6765\uff0c\u5373\u6bcf\u4e00\u53e5\u5b57\u5e55\u5bf9\u5e94\u4e00\u4e2a\u65f6\u95f4\uff0c\u5e76\u4e14\u80fd\u6839\u636e\u65f6\u95f4\u70b9\u8df3\u8f6c\u5230\u89c6\u9891\u7684\u6307\u5b9a\u8fdb\u5ea6\uff0c\u5982\u6b64\u4e00\u6765\u5982\u679c\u9700\u8981\u5728\u6587\u7ae0\u4e2d\u5c55\u793a\u8bb0\u5f55\u4e86\u64cd\u4f5c\u8fc7\u7a0b\u7684\u89c6\u9891\u7684\u8bdd\uff0c\u5c31\u4e0d\u9700\u8981\u81ea\u5df1\u53bb\u622a\u53d6\u5bf9\u5e94\u7684\u89c6\u9891\u7247\u6bb5\uff0c\u800c\u662f\u76f4\u63a5\u5728\u6587\u7ae0\u5185\u5c31\u80fd\u8df3\u8f6c\uff01 Obsidian \u91cc\u8fd8\u6709\u4e00\u4e2a\u5f88\u5f3a\u5927\u7684\u63d2\u4ef6\uff0c\u53eb Annotator \uff0c\u5b83\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u5185\u8df3\u8f6c\u5230 pdf \u539f\u6587 \u73b0\u5728\uff0c\u4f7f\u7528 Obsidian \u81ea\u5e26\u7684\u53cc\u94fe\u529f\u80fd\uff0c\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u95f4\u76f8\u4e92\u8df3\u8f6c\uff0c\u7ed3\u5408\u4e0a\u8ff0\u4e24\u4e2a\u63d2\u4ef6\uff0c\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u5230\u591a\u5a92\u4f53\u7684\u8df3\u8f6c\uff0c\u4fe1\u606f\u7684\u5904\u7406\u8fc7\u7a0b\u5df2\u7ecf\u5b8c\u5907\u3002\u4e00\u822c\u6211\u4eec\u5b66\u4e60\u7684\u8fc7\u7a0b\u76f8\u5f53\u4e8e\u4e0a\u5c71\u548c\u4e0b\u5c71\uff0c\u521a\u5b66\u7684\u65f6\u5019\u5c31\u597d\u50cf\u4e0a\u5c71\uff0c\u5f88\u964c\u751f\u3001\u5403\u529b\uff0c\u6240\u8c13\u5b66\u800c\u65f6\u4e60\u4e4b\uff0c\u590d\u4e60\u6216\u7ec3\u4e60\u7684\u8fc7\u7a0b\u5c31\u50cf\u4e0b\u5c71\uff0c\u6ca1\u6709\u964c\u751f\u611f\uff0c\u4e0d\u89c1\u5f97\u8f7b\u677e\uff0c\u4f46\u975e\u8d70\u4e0d\u53ef\u3002\u90a3\u4e48\u5982\u4f55\u628a\u590d\u4e60\u8fd9\u4e00\u8fc7\u7a0b\u7eb3\u5165\u5de5\u4f5c\u6d41\u7684\u73af\u8282\u91cc\u5462\uff1f \u4fe1\u606f\u7684\u56de\u987e Obsidian \u5185\u5df2\u7ecf\u6709\u4e00\u4e2a\u8fde\u63a5 Anki \u7684\u63d2\u4ef6\uff0c Anki \u5c31\u662f\u5927\u540d\u9f0e\u9f0e\u7684\u3001\u57fa\u4e8e\u95f4\u9694\u91cd\u590d\u7684\u8bb0\u5fc6\u8f6f\u4ef6\u3002\u4f7f\u7528\u8be5\u63d2\u4ef6\u53ef\u4ee5\u622a\u53d6\u7b14\u8bb0\u7684\u7247\u6bb5\u5bfc\u51fa\u5230 Anki \u5e76\u53d8\u6210\u4e00\u5f20\u5361\u7247\uff0c\u5361\u7247\u5185\u4e5f\u6709\u8df3\u8f6c\u56de\u7b14\u8bb0\u539f\u6587\u7684\u94fe\u63a5 \u603b\u7ed3 \u8fd9\u4e2a\u5de5\u4f5c\u6d41\u662f\u5728\u6211\u8fd9\u4e24\u5e74\u4e1a\u4f59\u65f6\u95f4\u5b66\u4e60\u65f6\u6240\u6162\u6162\u5f62\u6210\u7684\uff0c\u5728\u5b66\u4e60\u8fc7\u7a0b\u4e2d\u56e0\u4e3a\u5bf9\u4e00\u4e9b\u91cd\u590d\u6027\u7684\u8fc7\u7a0b\u800c\u611f\u5230\u538c\u5026\uff0c\u6b63\u662f\u8fd9\u79cd\u538c\u5026\u4ea7\u751f\u4e86\u67d0\u79cd\u7279\u5b9a\u7684\u9700\u6c42\uff0c\u6070\u597d\u5728\u5e73\u65f6\u7f51\u4e0a\u51b2\u6d6a\u65f6\u4e86\u89e3\u5230\u7684\u4e00\u4e9b\u5de5\u5177\u6ee1\u8db3\u4e86\u6211\u8fd9\u4e9b\u9700\u6c42\u3002\u4e0d\u8981\u4e3a\u4e86\u865a\u65e0\u7684\u6ee1\u8db3\u611f\u800c\u5c06\u5de5\u5177\u5f3a\u884c\u62fc\u51d1\u5230\u81ea\u5df1\u7684\u5de5\u4f5c\u6d41\u4e2d\uff0c\u4eba\u751f\u82e6\u77ed\uff0c\u505a\u5b9e\u4e8b\u6700\u7d27\u8981\u3002 btw\uff0c\u6b64\u7bc7\u6587\u7ae0\u662f\u8bb2\u89e3\u5de5\u4f5c\u6d41\u7684\u6f14\u5316\u601d\u8def\uff0c\u5982\u679c\u5bf9\u6b64\u5de5\u4f5c\u6d41\u7684\u5b9e\u73b0\u7ec6\u8282\u611f\u5174\u8da3\uff0c\u5efa\u8bae\u9605\u8bfb\u5b8c\u672c\u6587\u540e\u518d\u6309\u987a\u5e8f\u9605\u8bfb\u4ee5\u4e0b\u6587\u7ae0 3000 + \u5c0f\u65f6\u79ef\u7d2f\u7684\u5b66\u4e60\u5de5\u4f5c\u6d41 Obsidian \u7684\u9ad8\u7ea7\u73a9\u6cd5 | \u6253\u9020\u80fd\u8df3\u8f6c\u5230\u4efb\u4f55\u683c\u5f0f\u6587\u4ef6\u7684\u7b14\u8bb0","title":"\u65e5\u5e38\u5b66\u4e60\u5de5\u4f5c\u6d41"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_1","text":"\u4e00\u5f00\u59cb\u6211\u5b66\u4e60\u65b0\u77e5\u8bc6\u65f6\u4f1a\u53c2\u8003\u4e2d\u6587\u535a\u5ba2\uff0c\u4f46\u5728\u4ee3\u7801\u5b9e\u8df5\u65f6\u5f80\u5f80\u4f1a\u53d1\u73b0\u6f0f\u6d1e\u548cbug\u3002\u6211\u9010\u6e10\u610f\u8bc6\u5230\u6211\u53c2\u8003\u7684\u4fe1\u606f\u53ef\u80fd\u662f\u9519\u8bef\u7684\uff0c\u6bd5\u7adf\u53d1\u535a\u5ba2\u7684\u95e8\u69db\u4f4e\uff0c\u6587\u7ae0\u53ef\u4fe1\u5ea6\u4e0d\u9ad8\uff0c\u4e8e\u662f\u6211\u5f00\u59cb\u67e5\u9605\u4e00\u4e9b\u76f8\u5173\u7684\u4e2d\u6587\u4e66\u7c4d\u3002 \u4e2d\u6587\u4e66\u7c4d\u7684\u786e\u662f\u6bd4\u8f83\u5168\u9762\u4e14\u7cfb\u7edf\u5730\u8bb2\u89e3\u4e86\u77e5\u8bc6\u70b9\uff0c\u4f46\u4f17\u6240\u5468\u77e5\uff0c\u8ba1\u7b97\u673a\u6280\u672f\u66f4\u8fed\u8fc5\u901f\uff0c\u53c8\u56e0\u4e3a\u8001\u7f8e\u5728 CS \u65b9\u9762\u4e00\u76f4\u90fd\u662f\u706f\u5854\uff0c\u6240\u4ee5\u4e00\u822c\u4e2d\u6587\u4e66\u7c4d\u91cc\u7684\u5185\u5bb9\u4f1a\u6ede\u540e\u4e8e\u5f53\u524d\u6700\u65b0\u7684\u77e5\u8bc6\uff0c\u5bfc\u81f4\u6211\u8ddf\u7740\u4e2d\u6587\u4e66\u7c4d\u5b9e\u8df5\u4f1a\u51fa\u73b0\u8f6f\u4ef6\u7248\u672c\u5dee\u5f02\u7684\u95ee\u9898\u3002\u8fd9\u65f6\u6211\u5f00\u59cb\u610f\u8bc6\u5230\u4e00\u624b\u4fe1\u606f\u7684\u91cd\u8981\u6027\uff0c\u6709\u4e9b\u4e2d\u6587\u4e66\u7c4d\u662f\u7ffb\u8bd1\u82f1\u6587\u4e66\u7c4d\u7684\uff0c\u4e00\u822c\u7ffb\u8bd1\u4e00\u672c\u4e66\u4e5f\u8981\u4e00\u4e24\u5e74\uff0c\u8fd9\u4f1a\u5bfc\u81f4\u4fe1\u606f\u4f20\u9012\u7684\u5ef6\u8fdf\uff0c\u8fd8\u6709\u5c31\u662f\u7ffb\u8bd1\u7684\u8fc7\u7a0b\u4e2d\u4fe1\u606f\u4f1a\u6709\u635f\u5931\u3002\u5982\u679c\u4e00\u672c\u4e2d\u6587\u4e66\u7c4d\u4e0d\u662f\u7ffb\u8bd1\u7684\u5462\uff0c\u90a3\u4e48\u5b83\u5927\u6982\u7387\u4e5f\u53c2\u8003\u4e86\u5176\u4ed6\u4e66\u7c4d\uff0c\u53c2\u8003\u7684\u8fc7\u7a0b\u4f1a\u5e26\u6709\u5bf9\u82f1\u6587\u539f\u8457\u4e2d\u8bed\u4e49\u7406\u89e3\u7684\u504f\u5dee\u3002 \u4e8e\u662f\u6211\u5c31\u987a\u5176\u81ea\u7136\u5730\u5f00\u59cb\u7ffb\u9605\u82f1\u6587\u4e66\u7c4d\u3002\u4e0d\u5f97\u4e0d\u8bf4\uff0c\u82f1\u6587\u4e66\u7c4d\u5185\u5bb9\u7684\u8d28\u91cf\u6574\u4f53\u662f\u6bd4\u4e2d\u6587\u4e66\u7c4d\u9ad8\u7684\u3002\u540e\u6765\u968f\u7740\u5b66\u4e60\u7684\u5c42\u5c42\u6df1\u5165\uff0c\u4ee5\u77e5\u8bc6\u7684\u65f6\u6548\u6027\u548c\u5b8c\u6574\u6027\u51fa\u53d1\uff0c\u6211\u53d1\u73b0 \u6e90\u4ee3\u7801 > \u5b98\u65b9\u6587\u6863 > \u82f1\u6587\u4e66\u7c4d > \u82f1\u6587\u535a\u5ba2 > \u4e2d\u6587\u535a\u5ba2 \uff0c\u6700\u540e\u6211\u5f97\u51fa\u4e86\u4e00\u5f20 \u4fe1\u606f\u635f\u5931\u56fe \uff1a \u867d\u7136\u4e00\u624b\u4fe1\u606f\u5f88\u91cd\u8981\uff0c\u4f46\u540e\u9762\u7684 N \u624b\u4fe1\u606f\u5e76\u975e\u4e00\u65e0\u662f\u5904\uff0c\u56e0\u4e3a\u8fd9 N \u624b\u8d44\u6599\u91cc\u5305\u542b\u4e86\u4f5c\u8005\u5bf9\u6e90\u77e5\u8bc6\u7684\u8f6c\u5316\u2014\u2014\u4f8b\u5982\u57fa\u4e8e\u67d0\u79cd\u903b\u8f91\u7684\u68b3\u7406\uff08\u6d41\u7a0b\u56fe\u3001\u601d\u7ef4\u5bfc\u56fe\u7b49\uff09\u6216\u662f\u4e00\u4e9b\u81ea\u5df1\u7684\u7406\u89e3\uff08\u5bf9\u6e90\u77e5\u8bc6\u7684\u62bd\u8c61\u3001\u7c7b\u6bd4\u3001\u5ef6\u4f38\u5230\u5176\u4ed6\u77e5\u8bc6\u70b9\uff09\uff0c\u8fd9\u4e9b\u8f6c\u5316\u53ef\u4ee5\u5e2e\u52a9\u6211\u4eec\u66f4\u5feb\u5730\u638c\u63e1\u548c\u5de9\u56fa\u77e5\u8bc6\u7684\u6838\u5fc3\u5185\u5bb9\uff0c\u5c31\u5982\u540c\u521d\u9ad8\u4e2d\u5b66\u4e60\u65f6\u4f7f\u7528\u7684\u8f85\u5bfc\u4e66\u3002 \u6b64\u5916\uff0c\u5b66\u4e60\u7684\u8fc7\u7a0b\u4e2d\u548c\u522b\u4eba\u7684\u4ea4\u6d41\u5341\u5206\u91cd\u8981\uff0c\u8fd9\u4e9b N \u624b\u4fe1\u606f\u540c\u65f6\u8d77\u4e86\u548c\u5176\u4ed6\u4f5c\u8005\u4ea4\u6d41\u7684\u4f5c\u7528\uff0c\u8ba9\u6211\u4eec\u80fd\u91c7\u767e\u5bb6\u4e4b\u957f\u3002\u6240\u4ee5\u8fd9\u63d0\u793a\u6211\u4eec\u5b66\u4e60\u4e00\u4e2a\u77e5\u8bc6\u70b9\u65f6\u5148\u5c3d\u91cf\u9009\u62e9\u8d28\u91cf\u66f4\u9ad8\u7684\uff0c\u4fe1\u606f\u635f\u5931\u8f83\u5c11\u7684\u4fe1\u606f\u6e90\uff0c\u540c\u65f6\u4e0d\u59a8\u53c2\u8003\u591a\u4e2a\u4fe1\u606f\u6e90\uff0c\u8ba9\u81ea\u5df1\u7684\u7406\u89e3\u66f4\u52a0\u5168\u9762\u51c6\u786e\u3002 \u73b0\u5b9e\u5de5\u4f5c\u751f\u6d3b\u4e2d\u7684\u5b66\u4e60\u5f88\u96be\u50cf\u5b66\u6821\u91cc\u4e00\u6837\u56f4\u7ed5\u67d0\u4e2a\u5355\u4e00\u77e5\u8bc6\u70b9\u7531\u6d45\u5165\u6df1\uff0c\u7ecf\u5e38\u4f1a\u5728\u5b66\u4e60\u8fc7\u7a0b\u4e2d\u6d89\u53ca\u5230\u5176\u4ed6\u77e5\u8bc6\u70b9\uff0c\u6bd4\u5982\u4e00\u4e9b\u65b0\u7684\u4e13\u6709\u540d\u8bcd\uff0c\u4e00\u7bc7\u6ca1\u6709\u8bfb\u8fc7\u7684\u7ecf\u5178\u8bba\u6587\uff0c\u4e00\u6bb5\u672a\u66fe\u63a5\u89e6\u8fc7\u7684\u4ee3\u7801\u7b49\u7b49\u3002\u8fd9\u5c31\u8981\u6c42\u6211\u4eec\u52e4\u4e8e\u601d\u8003\uff0c\u5228\u6839\u7a76\u5e95\u5730\u201c\u9012\u5f52\u201d\u5b66\u4e60\uff0c\u7ed9\u591a\u4e2a\u77e5\u8bc6\u70b9\u4e4b\u95f4\u5efa\u7acb\u8054\u7cfb\u3002","title":"\u5e95\u5c42\u6838\u5fc3\u903b\u8f91"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_2","text":"\u5de5\u4f5c\u6d41\u7684\u9aa8\u67b6\u56f4\u7ed5 \u5355\u4e2a\u77e5\u8bc6\u70b9\u591a\u53c2\u8003\u6e90\uff0c\u52e4\u4e8e\u63d0\u95ee\u7ed9\u591a\u4e2a\u77e5\u8bc6\u70b9\u4e4b\u95f4\u5efa\u7acb\u8054\u7cfb \u7684\u5e95\u5c42\u6838\u5fc3\u903b\u8f91\u5efa\u7acb\u3002\u6211\u4eec\u5199\u8bba\u6587\u5176\u5b9e\u5c31\u662f\u9075\u5faa\u8fd9\u4e2a\u5e95\u5c42\u903b\u8f91\u7684\u3002\u8bba\u6587\u4e00\u822c\u4f1a\u6709\u811a\u6ce8\u53bb\u89e3\u91ca\u4e00\u4e9b\u5173\u952e\u5b57\uff0c\u5e76\u4e14\u8bba\u6587\u672b\u5c3e\u4f1a\u6709\u591a\u4e2a\u53c2\u8003\u7684\u6765\u6e90\uff0c\u4f46\u662f\u6211\u4eec\u5e73\u65f6\u5199\u7b14\u8bb0\u4f1a\u968f\u610f\u5f97\u591a\uff0c\u56e0\u6b64\u9700\u8981\u66f4\u7075\u6d3b\u7684\u65b9\u5f0f\u3002 \u5e73\u65f6\u5199\u4ee3\u7801\u4e60\u60ef\u5728 IDE \u91cc\u4e00\u952e\u8df3\u8f6c\uff0c\u628a\u76f8\u5173\u7684\u51fd\u6570\u548c\u5b9e\u73b0\u5f88\u597d\u5730\u8054\u7cfb\u5728\u4e86\u4e00\u8d77\u3002\u4f60\u4e5f\u8bb8\u4f1a\u60f3\uff0c\u5982\u679c\u7b14\u8bb0\u4e5f\u80fd\u50cf\u4ee3\u7801\u90a3\u6837\u53ef\u4ee5\u8df3\u8f6c\u5c31\u597d\u4e86\u3002\u73b0\u5728\u5e02\u9762\u4e0a \u53cc\u94fe\u7b14\u8bb0\u8f6f\u4ef6 \u5c31\u53ef\u4ee5\u5f88\u597d\u5730\u89e3\u51b3\u8fd9\u4e00\u75db\u70b9\uff0c\u4f8b\u5982 Roam Research\u3001Logseq\u3001Notion \u548c Obsidian\u3002Roam Research \u548c Logseq \u90fd\u662f\u57fa\u4e8e\u5927\u7eb2\u7ed3\u6784\u7684\u7b14\u8bb0\u8f6f\u4ef6\uff0c\u800c \u5927\u7eb2\u7ed3\u6784 \u662f\u529d\u9000\u6211\u4f7f\u7528\u8fd9\u4e24\u6b3e\u8f6f\u4ef6\u7684\u539f\u56e0\u3002\u4e00\u662f \u5927\u7eb2\u7ed3\u6784 \u505a\u7b14\u8bb0\u5bb9\u6613\u4f7f\u6587\u7ae0\u7eb5\u5411\u7bc7\u5e45\u592a\u957f\uff0c\u4e8c\u662f\u5982\u679c\u5d4c\u5957\u7ed3\u6784\u8fc7\u591a\u4f1a\u5360\u6a2a\u5411\u7684\u7bc7\u5e45\u3002Notion \u9875\u9762\u6253\u5f00\u6162\uff0c\u5f03\u4e4b\u3002\u6700\u7ec8\u6211\u9009\u62e9\u4e86 Obsidian\uff0c\u539f\u56e0\u5982\u4e0b\uff1a Obsidian \u57fa\u4e8e\u672c\u5730\uff0c\u6253\u5f00\u901f\u5ea6\u5feb\uff0c\u4e14\u53ef\u5b58\u653e\u5f88\u591a\u7535\u5b50\u4e66\u3002\u6211\u7684\u7b14\u8bb0\u672c\u662f 32g \u5185\u5b58\u7684\u534e\u7855\u5929\u9009\u4e00\u4ee3\uff0c\u62ff\u6765\u8dd1 Obsidian \u53ef\u4ee5\u5feb\u5230\u98de\u8d77 Obsidian \u57fa\u4e8e Markdown\u3002\u8fd9\u4e5f\u662f\u4e00\u4e2a\u4f18\u52bf\uff0c\u5982\u679c\u7b14\u8bb0\u8f6f\u4ef6\u5199\u7684\u7b14\u8bb0\u683c\u5f0f\u662f\u81ea\u5bb6\u7684\u7f16\u7801\u683c\u5f0f\uff0c\u90a3\u4e48\u4e0d\u65b9\u4fbf\u5176\u4ed6\u7b2c\u4e09\u65b9\u62d3\u5c55\uff0c\u4e5f\u4e0d\u65b9\u4fbf\u5c06\u7b14\u8bb0\u7528\u5176\u4ed6\u8f6f\u4ef6\u6253\u5f00\uff0c\u6bd4\u5982 qq \u97f3\u4e50\u4e0b\u8f7d\u6b4c\u66f2\u6709\u81ea\u5df1\u7684\u683c\u5f0f\uff0c\u5176\u4ed6\u64ad\u653e\u5668\u64ad\u653e\u4e0d\u4e86\uff0c\u8fd9\u633a\u6076\u5fc3\u4eba\u7684 Obsidian \u6709\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\uff0c\u5e76\u4e14\u8fd9\u4e2a\u751f\u6001\u65e2\u5927\u53c8\u6d3b\u8dc3\uff0c\u5373\u63d2\u4ef6\u6570\u91cf\u591a\uff0c\u4e14\u70ed\u95e8\u63d2\u4ef6\u7684 star \u591a\uff0c\u5f00\u53d1\u8005\u4f1a\u53cd\u9988\u7528\u6237 issue\uff0c\u7248\u672c\u4f1a\u6301\u7eed\u8fed\u4ee3\u3002\u501f\u52a9\u8fd9\u4e9b\u63d2\u4ef6\uff0c\u53ef\u4ee5\u4f7f Osidian \u8fbe\u5230 all in one \u7684\u6548\u679c\uff0c\u5373\u5404\u7c7b\u77e5\u8bc6\u6765\u6e90\u53ef\u4ee5\u7edf\u4e00\u6574\u5408\u4e8e\u4e00\u5904","title":"\u9009\u62e9\u5408\u9002\u7684\u7b14\u8bb0\u8f6f\u4ef6"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_3","text":"Obsidian \u7684\u63d2\u4ef6\u4f7f\u5176\u53ef\u4ee5\u652f\u6301 pdf \u683c\u5f0f\uff0c\u800c\u5176\u672c\u8eab\u53c8\u652f\u6301 Markdown \u683c\u5f0f\u3002\u5982\u679c\u60f3\u8981 all in one \uff0c\u90a3\u4e48\u53ef\u4ee5\u57fa\u4e8e\u8fd9\u4e24\u4e2a\u683c\u5f0f\uff0c\u5c06\u5176\u4ed6\u683c\u5f0f\u6587\u4ef6\u8f6c\u6362\u4e3a pdf \u6216\u8005 Markdown\u3002 \u90a3\u4e48\u73b0\u5728\u5c31\u9762\u4e34\u7740\u4e24\u4e2a\u95ee\u9898\uff1a \u6709\u4ec0\u4e48\u683c\u5f0f \u600e\u4e48\u8f6c\u6362\u4e3a pdf \u6216 Markdown","title":"\u4fe1\u606f\u7684\u6765\u6e90"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_4","text":"\u6587\u4ef6\u683c\u5f0f\u4f9d\u6258\u4e8e\u5176\u5c55\u793a\u7684\u5e73\u53f0\uff0c\u6240\u4ee5\u5728\u770b\u6709\u4ec0\u4e48\u683c\u5f0f\u4e4b\u524d\uff0c\u53ef\u4ee5\u7f57\u5217\u4e00\u4e0b\u6211\u5e73\u65f6\u83b7\u53d6\u4fe1\u606f\u7684\u6765\u6e90\uff1a \u53ef\u4ee5\u770b\u5230\u4e3b\u8981\u5206\u4e3a \u6587\u7ae0 \u3001 \u8bba\u6587 \u3001 \u7535\u5b50\u4e66 \u3001 \u8bfe\u7a0b \u56db\u7c7b\uff0c\u5305\u542b\u7684\u683c\u5f0f\u4e3b\u8981\u6709 \u7f51\u9875 \u3001 pdf \u3001 mobi \u3001 azw \u3001 azw3 \u3002","title":"\u6709\u4ec0\u4e48\u683c\u5f0f"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#pdf-markdown","text":"\u5728\u7ebf\u7684\u6587\u7ae0\u548c\u8bfe\u7a0b\u7b49\u5927\u591a\u4ee5\u7f51\u9875\u5f62\u5f0f\u5448\u73b0\uff0c\u800c\u5c06\u7f51\u9875\u8f6c\u6362\u4e3a Markdown \u53ef\u4ee5\u4f7f\u7528\u526a\u85cf\u8f6f\u4ef6\uff0c\u5b83\u53ef\u4ee5\u5c06\u7f51\u9875\u6587\u7ae0\u8f6c\u6362\u4e3a\u591a\u79cd\u6587\u672c\u683c\u5f0f\u6587\u4ef6\u3002\u6211\u9009\u62e9\u7684\u5de5\u5177\u662f\u7b80\u60a6\uff0c\u4f7f\u7528\u7b80\u60a6\u53ef\u4ee5\u5c06\u51e0\u4e4e\u6240\u6709\u5e73\u53f0\u7684\u6587\u7ae0\u5f88\u597d\u5730\u526a\u85cf\u4e3a Markdown \u5e76\u4e14\u5bfc\u5165\u5230 Obsidian\u3002 \u5bf9\u4e8e\u8bba\u6587\u548c\u7535\u5b50\u4e66\u800c\u8a00\u5982\u679c\u683c\u5f0f\u672c\u8eab\u5c31\u662f pdf \u5219\u4e07\u4e8b\u5927\u5409\uff0c\u4f46\u5982\u679c\u662f\u5176\u4ed6\u683c\u5f0f\u5219\u53ef\u4ee5\u4f7f\u7528 calibre \u8fdb\u884c\u8f6c\u6362\uff1a \u73b0\u5728\u5229\u7528 Obsidian \u7684 pdf \u63d2\u4ef6\u548c\u5176\u539f\u751f\u7684 markdown \u652f\u6301\u5c31\u53ef\u4ee5\u7545\u5feb\u65e0\u6bd4\u5730\u505a\u7b14\u8bb0\u5e76\u4e14\u5728\u8fd9\u4e9b\u6587\u7ae0\u7684\u5bf9\u5e94\u7ae0\u8282\u8fdb\u884c\u65e0\u7f1d\u8854\u63a5\u5730\u5f15\u7528\u8df3\u8f6c\u5566\uff08\u5177\u4f53\u64cd\u4f5c\u53c2\u8003\u4e0b\u6587\u7684\u201c\u4fe1\u606f\u7684\u5904\u7406\u201d\u6a21\u5757\uff09\u3002","title":"\u600e\u4e48\u8f6c\u6362\u4e3a pdf \u6216 Markdown"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_5","text":"\u5bf9\u4e8e pdf \u7b49\u6587\u4ef6\u7c7b\u8d44\u6e90\u53ef\u4ee5\u672c\u5730\u6216\u8005\u4e91\u7aef\u5b58\u50a8\uff0c\u800c\u7f51\u9875\u7c7b\u8d44\u6e90\u5219\u53ef\u4ee5\u5206\u95e8\u522b\u7c7b\u5730\u653e\u5165\u6d4f\u89c8\u5668\u7684\u6536\u85cf\u5939\uff0c\u6216\u8005\u526a\u85cf\u6210 markdown \u683c\u5f0f\u7684\u7b14\u8bb0\uff0c\u4f46\u662f\u7f51\u9875\u6d4f\u89c8\u5668\u4e0d\u80fd\u5b9e\u73b0\u79fb\u52a8\u7aef\u7684\u7f51\u9875\u6536\u85cf\u3002\u4e3a\u4e86\u5b9e\u73b0\u8de8\u7aef\u7f51\u9875\u6536\u85cf\u6211\u9009\u7528\u4e86 Cubox\uff0c\u5728\u624b\u673a\u7aef\u770b\u5230\u611f\u5174\u8da3\u7684\u7f51\u9875\u65f6\u53ea\u9700\u5c0f\u624b\u4e00\u5212\uff0c\u4fbf\u80fd\u5c06\u7f51\u9875\u7edf\u4e00\u4fdd\u5b58\u4e0b\u6765\u3002\u867d\u7136\u514d\u8d39\u7248\u53ea\u80fd\u6536\u85cf 100 \u4e2a\u7f51\u9875\uff0c\u4f46\u5176\u5b9e\u591f\u7528\u4e86\uff0c\u8fd8\u53ef\u4ee5\u5728\u6536\u85cf\u6ee1\u65f6\u7763\u4fc3\u81ea\u5df1\u8d76\u7d27\u526a\u85cf\u6d88\u5316\u6389\u8fd9\u4e9b\u7f51\u9875\uff0c\u8ba9\u6536\u85cf\u4e0d\u5403\u7070\u3002 \u9664\u6b64\u4e4b\u5916\uff0c\u56de\u60f3\u4e00\u4e0b\u6211\u4eec\u5e73\u65f6\u6536\u85cf\u7684\u7f51\u9875\uff0c\u5c31\u4f1a\u53d1\u73b0\u6709\u5f88\u591a\u5e76\u4e0d\u662f\u50cf\u77e5\u4e4e\u3001\u6398\u91d1\u8fd9\u7c7b\u6709\u5b8c\u6574\u529f\u80fd\u7684\u535a\u5ba2\u5e73\u53f0\uff0c\u66f4\u591a\u7684\u662f\u4e2a\u4eba\u5efa\u7684\u5c0f\u7ad9\uff0c\u800c\u8fd9\u4e9b\u5c0f\u7ad9\u5f80\u5f80\u6ca1\u6709\u79fb\u52a8\u7aef\u5e94\u7528\uff0c\u8fd9\u6837\u5e73\u65f6\u5237\u624b\u673a\u7684\u65f6\u5019\u4e5f\u770b\u4e0d\u5230\uff0c\u653e\u5230\u6d4f\u89c8\u5668\u7684\u6536\u85cf\u5939\u91cc\u53c8\u5bb9\u6613\u6f0f\u4e86\u770b\uff0c\u6709\u65b0\u6587\u7ae0\u53d1\u5e03\u6211\u4eec\u4e5f\u4e0d\u80fd\u7b2c\u4e00\u65f6\u95f4\u6536\u5230\u901a\u77e5\uff0c\u8fd9\u4e2a\u65f6\u5019\u5c31\u9700\u8981\u4e00\u79cd\u53eb RSS \u7684\u901a\u4fe1\u534f\u8bae\u3002 RSS \uff08\u82f1\u6587\u5168\u79f0\uff1aRDF Site Summary \u6216 Really Simple Syndication\uff09\uff0c\u4e2d\u6587\u8bd1\u4f5c\u7b80\u6613\u4fe1\u606f\u805a\u5408\uff0c\u4e5f\u79f0\u805a\u5408\u5185\u5bb9\uff0c\u662f\u4e00\u79cd\u6d88\u606f\u6765\u6e90\u683c\u5f0f\u89c4\u8303\uff0c\u7528\u4ee5\u805a\u5408\u591a\u4e2a\u7f51\u7ad9\u66f4\u65b0\u7684\u5185\u5bb9\u5e76\u81ea\u52a8\u901a\u77e5\u7f51\u7ad9\u8ba2\u9605\u8005\u3002\u7535\u8111\u7aef\u53ef\u4ee5\u501f\u52a9 RSSHub Radar \u6765\u5feb\u901f\u53d1\u73b0\u548c\u751f\u6210 RSS \u8ba2\u9605\u6e90\uff0c\u63a5\u7740\u4f7f\u7528 Feedly \u6765\u8ba2\u9605\u8fd9\u4e9b RSS \u8ba2\u9605\u6e90\uff08 RSSHub Radar \u548c Feedly \u5728 chrome \u6d4f\u89c8\u5668\u4e2d\u5747\u6709\u5b98\u65b9\u63d2\u4ef6\uff09\u3002 \u5230\u8fd9\u91cc\u4e3a\u6b62\uff0c\u6536\u96c6\u4fe1\u606f\u7684\u6d41\u7a0b\u5df2\u7ecf\u6bd4\u8f83\u5b8c\u5907\u4e86\u3002\u4f46\u8d44\u6599\u518d\u591a\uff0c\u5206\u7c7b\u89c4\u6574\u5f97\u518d\u6f02\u4eae\uff0c\u4e5f\u5f97\u771f\u6b63\u5185\u5316\u6210\u81ea\u5df1\u7684\u624d\u7ba1\u7528\u3002\u56e0\u6b64\u5728\u6536\u96c6\u5b8c\u4fe1\u606f\u540e\u5c31\u5f97\u8fdb\u4e00\u6b65\u5730\u5904\u7406\u4fe1\u606f\uff0c\u5373\u9605\u8bfb\u8fd9\u4e9b\u4fe1\u606f\uff0c\u5982\u679c\u662f\u82f1\u6587\u4fe1\u606f\u7684\u8bdd\u8fd8\u5f97\u641e\u61c2\u82f1\u6587\u7684\u8bed\u4e49\uff0c\u52a0\u7c97\u9ad8\u4eae\u91cd\u70b9\u53e5\u5b50\u6bb5\u843d\uff0c\u6807\u8bb0\u6709\u7591\u95ee\u7684\u5730\u65b9\uff0c\u53d1\u6563\u8054\u60f3\u76f8\u5173\u7684\u77e5\u8bc6\u70b9\uff0c\u6700\u540e\u5199\u4e0a\u81ea\u5df1\u7684\u603b\u7ed3\u3002\u90a3\u4e48\u5728\u8fd9\u8fc7\u7a0b\u4e2d\u9700\u8981\u4f7f\u7528\u5230\u4ec0\u4e48\u5de5\u5177\u5462\uff1f","title":"\u5982\u4f55\u7edf\u4e00\u7ba1\u7406\u4fe1\u606f\u6765\u6e90"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_6","text":"","title":"\u4fe1\u606f\u7684\u5904\u7406"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_7","text":"\u9762\u5bf9\u82f1\u6587\u7684\u8d44\u6599\uff0c\u6211\u4ee5\u524d\u662f\u7528 \u6709\u9053\u8bcd\u5178 \u6765\u5212\u8bcd\u7ffb\u8bd1\uff0c\u9047\u5230\u53e5\u5b50\u7684\u8bdd\u5c31\u4f7f\u7528\u8c37\u6b4c\u7ffb\u8bd1\uff0c\u9047\u5230\u5927\u6bb5\u843d\u65f6\u5c31\u4f7f\u7528 deepl \uff0c\u4e45\u800c\u4e45\u4e4b\uff0c\u53d1\u73b0\u8fd9\u6837\u770b\u82f1\u8bed\u6587\u732e\u592a\u6162\u4e86\uff0c\u5f97\u7528\u4e09\u4e2a\u5de5\u5177\u624d\u80fd\u6ee1\u8db3\u7ffb\u8bd1\u8fd9\u4e00\u4e2a\u9700\u6c42\uff0c\u5982\u679c\u6709\u4e00\u4e2a\u5de5\u5177\u80fd\u591f\u540c\u65f6\u5b9e\u73b0\u5bf9\u5355\u8bcd\u3001\u53e5\u5b50\u548c\u6bb5\u843d\u7684\u5212\u8bcd\u7ffb\u8bd1\u5c31\u597d\u4e86\u3002\u6211\u8054\u60f3\u5230\u7814\u7a76\u751f\u4eec\u5e94\u8be5\u4f1a\u7ecf\u5e38\u63a5\u89e6\u82f1\u8bed\u6587\u732e\uff0c\u4e8e\u662f\u6211\u5c31\u641c \u7814\u7a76\u751f + \u7ffb\u8bd1\u8f6f\u4ef6 \uff0c\u5728\u68c0\u7d22\u7ed3\u679c\u91cc\u6211\u6700\u7ec8\u9009\u62e9\u4e86 Quicker + \u6c99\u62c9\u67e5\u8bcd \u8fd9\u4e2a\u642d\u914d\u6765\u8fdb\u884c\u5212\u8bcd\u7ffb\u8bd1\u3002 \u4f7f\u7528\u8fd9\u5957\u7ec4\u5408\u53ef\u4ee5\u5b9e\u73b0\u5728\u6d4f\u89c8\u5668\u5916\u7684\u5176\u4ed6\u8f6f\u4ef6\u5185\u8fdb\u884c\u5212\u8bcd\u7ffb\u8bd1\uff0c\u5e76\u4e14\u652f\u6301\u5355\u8bcd\u3001\u53e5\u5b50\u548c\u6bb5\u843d\u7684\u7ffb\u8bd1\uff0c\u4ee5\u53ca\u6bcf\u6b21\u7684\u7ffb\u8bd1\u4f1a\u6709\u591a\u4e2a\u7ffb\u8bd1\u5e73\u53f0\u7684\u7ed3\u679c\u3002btw\uff0c\u5982\u679c\u67e5\u5355\u8bcd\u65f6\u4e0d\u7740\u6025\u7684\u8bdd\uff0c\u53ef\u4ee5\u987a\u4fbf\u770b\u770b \u79d1\u6797\u65af\u9ad8\u9636 \u7684\u7ffb\u8bd1\uff0c\u8fd9\u4e2a\u8bcd\u5178\u7684\u4f18\u70b9\u5c31\u662f\u4f1a\u7528\u82f1\u6587\u53bb\u89e3\u91ca\u82f1\u6587\uff0c\u53ef\u4ee5\u63d0\u4f9b\u591a\u4e2a\u4e0a\u4e0b\u6587\u5e2e\u52a9\u4f60\u7406\u89e3\uff0c\u5bf9\u4e8e\u5b66\u4e60\u82f1\u6587\u5355\u8bcd\u4e5f\u6709\u5e2e\u52a9\uff0c\u56e0\u4e3a\u7528\u82f1\u6587\u89e3\u91ca\u82f1\u6587\u624d\u66f4\u63a5\u8fd1\u82f1\u8bed\u7684\u601d\u7ef4\u3002","title":"\u82f1\u6587\u4fe1\u606f"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_8","text":"\u5904\u7406\u5b8c\u6587\u672c\u7c7b\u7684\u4fe1\u606f\u540e\uff0c\u6211\u4eec\u8fd8\u5f97\u601d\u8003\u4e00\u4e0b\u600e\u4e48\u5904\u7406\u591a\u5a92\u4f53\u7c7b\u7684\u4fe1\u606f\u3002\u6b64\u5904\u7684\u591a\u5a92\u4f53\u6211\u7279\u6307\u82f1\u6587\u89c6\u9891\uff0c\u56e0\u4e3a\u6211\u6ca1\u6709\u7528\u64ad\u5ba2\u6216\u5f55\u97f3\u5b66\u4e60\u7684\u4e60\u60ef\uff0c\u800c\u4e14\u6211\u5df2\u7ecf\u57fa\u672c\u4e0d\u770b\u4e2d\u6587\u6559\u7a0b\u4e86\u3002\u73b0\u5728\u5f88\u591a\u56fd\u5916\u540d\u6821\u516c\u5f00\u8bfe\u90fd\u662f\u4ee5\u89c6\u9891\u7684\u5f62\u5f0f\uff0c\u5982\u679c\u80fd\u5bf9\u89c6\u9891\u8fdb\u884c\u505a\u7b14\u8bb0\u4f1a\u4e0d\u4f1a\u6709\u5e2e\u52a9\u5462\uff1f\u4e0d\u77e5\u9053\u5927\u5bb6\u6709\u6ca1\u8fd9\u6837\u7684\u60f3\u6cd5\uff0c\u5c31\u662f\u5982\u679c\u80fd\u628a\u8001\u5e08\u4e0a\u8bfe\u8bb2\u7684\u5185\u5bb9\u8f6c\u6362\u6210\u6587\u672c\u5c31\u597d\u4e86\uff0c\u56e0\u4e3a\u5e73\u65f6\u5b66\u4e60\u65f6\u6211\u4eec\u770b\u4e66\u7684\u901f\u5ea6\u5f80\u5f80\u4f1a\u6bd4\u8001\u5e08\u8bb2\u8bfe\u7684\u901f\u5ea6\u5feb\u3002\u521a\u597d Language Reactor \u8fd9\u4e2a\u8f6f\u4ef6\u53ef\u4ee5\u5c06\u6cb9\u7ba1\u548c\u7f51\u98de\u5185\u89c6\u9891\u7684\u5b57\u5e55\u5bfc\u51fa\u6765\uff0c\u540c\u65f6\u9644\u4e0a\u4e2d\u6587\u7ffb\u8bd1\u3002 \u6211\u4eec\u53ef\u4ee5\u628a Language Reactor \u5bfc\u51fa\u7684\u5b57\u5e55\u590d\u5236\u5230 Obsidian \u91cc\u9762\u4f5c\u4e3a\u6587\u7ae0\u6765\u8bfb\u3002\u9664\u4e86\u51fa\u4e8e\u5b66\u4e60\u7684\u9700\u6c42\uff0c\u4e5f\u53ef\u4ee5\u5728\u5e73\u65f6\u770b\u6cb9\u7ba1\u7684\u89c6\u9891\u65f6\u6253\u5f00\u8fd9\u4e2a\u63d2\u4ef6\uff0c\u8fd9\u4e2a\u63d2\u4ef6\u53ef\u4ee5\u540c\u65f6\u663e\u793a\u4e2d\u82f1\u6587\u5b57\u5e55\uff0c\u5e76\u4e14\u53ef\u4ee5\u5355\u51fb\u9009\u4e2d\u82f1\u6587\u5b57\u5e55\u4e2d\u4f60\u8ba4\u4e3a\u751f\u50fb\u7684\u5355\u8bcd\u540e\u663e\u793a\u5355\u8bcd\u91ca\u4e49\u3002 \u4f46\u9605\u8bfb\u6587\u672c\u5bf9\u4e8e\u4e00\u4e9b\u62bd\u8c61\u7684\u77e5\u8bc6\u70b9\u6765\u8bf4\u5e76\u4e0d\u662f\u6548\u7387\u6700\u9ad8\u7684\u5b66\u4e60\u65b9\u5f0f\u3002\u4fd7\u8bdd\u8bf4\uff0c\u4e00\u56fe\u80dc\u5343\u8a00\uff0c\u80fd\u4e0d\u80fd\u5c06\u67d0\u4e00\u6bb5\u77e5\u8bc6\u70b9\u7684\u6587\u672c\u548c\u5bf9\u5e94\u7684\u56fe\u7247\u751a\u81f3\u89c6\u9891\u753b\u9762\u64cd\u4f5c\u8054\u7cfb\u8d77\u6765\u5462\uff1f\u6211\u5728\u6d4f\u89c8 Obsidian \u7684\u63d2\u4ef6\u5e02\u573a\u65f6\uff0c\u53d1\u73b0\u4e86\u4e00\u4e2a\u53eb Media Extended \u7684\u63d2\u4ef6\uff0c\u8fd9\u4e2a\u63d2\u4ef6\u53ef\u4ee5\u5728\u4f60\u7684\u7b14\u8bb0\u91cc\u6dfb\u52a0\u8df3\u8f6c\u5230\u89c6\u9891\u6307\u5b9a\u65f6\u95f4\u8fdb\u5ea6\u7684\u94fe\u63a5\uff0c\u76f8\u5f53\u4e8e\u628a\u4f60\u7684\u7b14\u8bb0\u548c\u89c6\u9891\u8fde\u63a5\u8d77\u6765\u4e86\uff01\u8fd9\u521a\u597d\u53ef\u4ee5\u548c\u6211\u4e0a\u6587\u63d0\u5230\u7684\u751f\u6210\u89c6\u9891\u4e2d\u82f1\u6587\u5b57\u5e55\u642d\u914d\u8d77\u6765\uff0c\u5373\u6bcf\u4e00\u53e5\u5b57\u5e55\u5bf9\u5e94\u4e00\u4e2a\u65f6\u95f4\uff0c\u5e76\u4e14\u80fd\u6839\u636e\u65f6\u95f4\u70b9\u8df3\u8f6c\u5230\u89c6\u9891\u7684\u6307\u5b9a\u8fdb\u5ea6\uff0c\u5982\u6b64\u4e00\u6765\u5982\u679c\u9700\u8981\u5728\u6587\u7ae0\u4e2d\u5c55\u793a\u8bb0\u5f55\u4e86\u64cd\u4f5c\u8fc7\u7a0b\u7684\u89c6\u9891\u7684\u8bdd\uff0c\u5c31\u4e0d\u9700\u8981\u81ea\u5df1\u53bb\u622a\u53d6\u5bf9\u5e94\u7684\u89c6\u9891\u7247\u6bb5\uff0c\u800c\u662f\u76f4\u63a5\u5728\u6587\u7ae0\u5185\u5c31\u80fd\u8df3\u8f6c\uff01 Obsidian \u91cc\u8fd8\u6709\u4e00\u4e2a\u5f88\u5f3a\u5927\u7684\u63d2\u4ef6\uff0c\u53eb Annotator \uff0c\u5b83\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u5185\u8df3\u8f6c\u5230 pdf \u539f\u6587 \u73b0\u5728\uff0c\u4f7f\u7528 Obsidian \u81ea\u5e26\u7684\u53cc\u94fe\u529f\u80fd\uff0c\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u95f4\u76f8\u4e92\u8df3\u8f6c\uff0c\u7ed3\u5408\u4e0a\u8ff0\u4e24\u4e2a\u63d2\u4ef6\uff0c\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u5230\u591a\u5a92\u4f53\u7684\u8df3\u8f6c\uff0c\u4fe1\u606f\u7684\u5904\u7406\u8fc7\u7a0b\u5df2\u7ecf\u5b8c\u5907\u3002\u4e00\u822c\u6211\u4eec\u5b66\u4e60\u7684\u8fc7\u7a0b\u76f8\u5f53\u4e8e\u4e0a\u5c71\u548c\u4e0b\u5c71\uff0c\u521a\u5b66\u7684\u65f6\u5019\u5c31\u597d\u50cf\u4e0a\u5c71\uff0c\u5f88\u964c\u751f\u3001\u5403\u529b\uff0c\u6240\u8c13\u5b66\u800c\u65f6\u4e60\u4e4b\uff0c\u590d\u4e60\u6216\u7ec3\u4e60\u7684\u8fc7\u7a0b\u5c31\u50cf\u4e0b\u5c71\uff0c\u6ca1\u6709\u964c\u751f\u611f\uff0c\u4e0d\u89c1\u5f97\u8f7b\u677e\uff0c\u4f46\u975e\u8d70\u4e0d\u53ef\u3002\u90a3\u4e48\u5982\u4f55\u628a\u590d\u4e60\u8fd9\u4e00\u8fc7\u7a0b\u7eb3\u5165\u5de5\u4f5c\u6d41\u7684\u73af\u8282\u91cc\u5462\uff1f","title":"\u591a\u5a92\u4f53\u4fe1\u606f"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_9","text":"Obsidian \u5185\u5df2\u7ecf\u6709\u4e00\u4e2a\u8fde\u63a5 Anki \u7684\u63d2\u4ef6\uff0c Anki \u5c31\u662f\u5927\u540d\u9f0e\u9f0e\u7684\u3001\u57fa\u4e8e\u95f4\u9694\u91cd\u590d\u7684\u8bb0\u5fc6\u8f6f\u4ef6\u3002\u4f7f\u7528\u8be5\u63d2\u4ef6\u53ef\u4ee5\u622a\u53d6\u7b14\u8bb0\u7684\u7247\u6bb5\u5bfc\u51fa\u5230 Anki \u5e76\u53d8\u6210\u4e00\u5f20\u5361\u7247\uff0c\u5361\u7247\u5185\u4e5f\u6709\u8df3\u8f6c\u56de\u7b14\u8bb0\u539f\u6587\u7684\u94fe\u63a5","title":"\u4fe1\u606f\u7684\u56de\u987e"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_10","text":"\u8fd9\u4e2a\u5de5\u4f5c\u6d41\u662f\u5728\u6211\u8fd9\u4e24\u5e74\u4e1a\u4f59\u65f6\u95f4\u5b66\u4e60\u65f6\u6240\u6162\u6162\u5f62\u6210\u7684\uff0c\u5728\u5b66\u4e60\u8fc7\u7a0b\u4e2d\u56e0\u4e3a\u5bf9\u4e00\u4e9b\u91cd\u590d\u6027\u7684\u8fc7\u7a0b\u800c\u611f\u5230\u538c\u5026\uff0c\u6b63\u662f\u8fd9\u79cd\u538c\u5026\u4ea7\u751f\u4e86\u67d0\u79cd\u7279\u5b9a\u7684\u9700\u6c42\uff0c\u6070\u597d\u5728\u5e73\u65f6\u7f51\u4e0a\u51b2\u6d6a\u65f6\u4e86\u89e3\u5230\u7684\u4e00\u4e9b\u5de5\u5177\u6ee1\u8db3\u4e86\u6211\u8fd9\u4e9b\u9700\u6c42\u3002\u4e0d\u8981\u4e3a\u4e86\u865a\u65e0\u7684\u6ee1\u8db3\u611f\u800c\u5c06\u5de5\u5177\u5f3a\u884c\u62fc\u51d1\u5230\u81ea\u5df1\u7684\u5de5\u4f5c\u6d41\u4e2d\uff0c\u4eba\u751f\u82e6\u77ed\uff0c\u505a\u5b9e\u4e8b\u6700\u7d27\u8981\u3002 btw\uff0c\u6b64\u7bc7\u6587\u7ae0\u662f\u8bb2\u89e3\u5de5\u4f5c\u6d41\u7684\u6f14\u5316\u601d\u8def\uff0c\u5982\u679c\u5bf9\u6b64\u5de5\u4f5c\u6d41\u7684\u5b9e\u73b0\u7ec6\u8282\u611f\u5174\u8da3\uff0c\u5efa\u8bae\u9605\u8bfb\u5b8c\u672c\u6587\u540e\u518d\u6309\u987a\u5e8f\u9605\u8bfb\u4ee5\u4e0b\u6587\u7ae0 3000 + \u5c0f\u65f6\u79ef\u7d2f\u7684\u5b66\u4e60\u5de5\u4f5c\u6d41 Obsidian \u7684\u9ad8\u7ea7\u73a9\u6cd5 | \u6253\u9020\u80fd\u8df3\u8f6c\u5230\u4efb\u4f55\u683c\u5f0f\u6587\u4ef6\u7684\u7b14\u8bb0","title":"\u603b\u7ed3"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/","text":"\u4fe1\u606f\u68c0\u7d22 \u524d\u8a00 \u78b0\u5230\u95ee\u9898\uff0c\u8bb0\u4f4f\u7b2c\u4e00\u4ef6\u4e8b\u662f \u7ffb\u9605\u6587\u6863 \uff0c\u4e0d\u8981\u4e00\u5f00\u59cb\u5c31\u76f4\u63a5\u641c\u7d22\u6216\u8005\u627e\u4eba\u95ee\uff0c\u7ffb\u9605FAQ\u53ef\u80fd\u4f1a\u5feb\u901f\u627e\u5230\u7b54\u6848\u3002 \u4fe1\u606f\u68c0\u7d22\uff0c\u6211\u7684\u7406\u89e3\u6765\u8bf4\uff0c\u5b9e\u9645\u4e0a\u5c31\u662f\u7075\u6d3b\u8fd0\u7528\u641c\u7d22\u5f15\u64ce\u4e2d\uff0c\u65b9\u4fbf\u5feb\u6377\u7684\u641c\u5230\u9700\u8981\u7684\u4fe1\u606f\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u7f16\u7a0b\u3002 \u7f16\u7a0b\u6700\u91cd\u8981\u7684\uff0c\u5c31\u662f STFW(search the fucking web) \u548c RTFM(read the fucking Manual) \uff0c\u9996\u5148\u8981\u8bfb\u6587\u6863\uff0c\u7b2c\u4e8c\u8981\u5b66\u4f1a\u641c\u7d22\uff0c\u7f51\u4e0a\u90a3\u4e48\u591a\u8d44\u6e90\uff0c\u600e\u4e48\u7528\uff0c\u5c31\u9700\u8981\u4fe1\u606f\u68c0\u7d22\u3002 \u8981\u641c\u7d22\uff0c\u6211\u4eec\u9996\u5148\u8981\u641e\u6e05\u695a\u641c\u7d22\u5f15\u64ce\u662f\u5982\u4f55\u5de5\u4f5c\u7684\uff1a \u641c\u7d22\u5f15\u64ce\u5de5\u4f5c\u539f\u7406 \u641c\u7d22\u5f15\u64ce\u7684\u5de5\u4f5c\u8fc7\u7a0b\u5927\u4f53\u53ef\u4ee5\u5206\u6210\u4e09\u9636\u6bb5\uff1a[^1] \u722c\u884c\u548c\u6293\u53d6\uff1a\u641c\u7d22\u5f15\u64ce\u8718\u86db\u901a\u8fc7\u8ddf\u8e2a\u94fe\u63a5\u8bbf\u95ee\u7f51\u9875\uff0c\u83b7\u53d6\u7f51\u9875 HTML \u4ee3\u7801\u5b58\u5165\u6570\u636e\u5e93\u3002 \u9884\u5904\u7406\uff1a\u7d22\u5f15\u7a0b\u5e8f\u5bf9\u6293\u53d6\u6765\u7684\u7f51\u9875\u6570\u636e\u8fdb\u884c\u6587\u5b57\u63d0\u53d6\uff0c\u4e2d\u6587\u5206\u8bcd\uff0c\u7d22\u5f15\u7b49\u5904\u7406\uff0c\u4ee5\u5907\u6392\u540d\u7a0b\u5e8f\u8c03\u7528\u3002 \u6392\u540d\uff1a\u7528\u6237\u8f93\u5165\u5173\u952e\u8bcd\u540e\uff0c\u6392\u540d\u7a0b\u5e8f\u8c03\u7528\u7d22\u5f15\u5e93\u6570\u636e\uff0c\u8ba1\u7b97\u76f8\u5173\u6027\uff0c\u7136\u540e\u6309\u4e00\u5b9a\u683c\u5f0f\u751f\u6210\u641c\u7d22\u7ed3\u679c\u9875\u9762\u3002 \u7b2c\u4e00\u6b65\uff0c\u5c31\u662f\u5927\u5bb6\u7ecf\u5e38\u542c\u8bf4\u7684\u7f51\u7edc\u722c\u866b\uff0c\u4e00\u822c Python \u5356\u8bfe\u7684\u90fd\u4f1a\u5439\u8fd9\u4e2a\u4e1c\u897f\u3002\u7b80\u5355\u53ef\u4ee5\u7406\u89e3\u4e3a\uff0c\u6211\u7528\u4e00\u4e2a\u81ea\u52a8\u7684\u7a0b\u5e8f\uff0c\u4e0b\u8f7d\u7f51\u7ad9\u4e2d\u7684\u6240\u6709\u6587\u672c\u3001\u56fe\u7247\u7b49\u76f8\u5173\u4fe1\u606f\uff0c\u7136\u540e\u5b58\u5165\u672c\u5730\u7684\u78c1\u76d8\u3002 \u7b2c\u4e8c\u6b65\u662f\u641c\u7d22\u5f15\u64ce\u7684\u6838\u5fc3\uff0c\u4f46\u662f\u5bf9\u4e8e\u6211\u4eec\u4f7f\u7528\u6765\u8bf4\uff0c\u5e76\u4e0d\u662f\u7279\u522b\u5173\u952e\uff0c\u5927\u81f4\u53ef\u4ee5\u7406\u89e3\u4e3a\u6d17\u5e72\u51c0\u6570\u636e\uff0c\u7136\u540e\u5165\u5e93\u9875\u9762\uff0c\u6bcf\u4e2a\u9875\u9762\u52a0\u5165\u5173\u952e\u5b57\u7b49\u4fe1\u606f\u65b9\u4fbf\u6211\u4eec\u67e5\u8be2\u3002 \u7b2c\u4e09\u6b65\u8ddf\u6211\u4eec\u606f\u606f\u76f8\u5173\uff0c\u4e0d\u7ba1\u662f\u4ec0\u4e48\u641c\u7d22\u7f51\u7ad9\uff0c google \u3001\u767e\u5ea6\u3001 Bing \uff0c\u90fd\u4e00\u6837\uff0c\u8f93\u5165\u5173\u952e\u5b57\u6216\u8005\u9700\u8981\u67e5\u8be2\u7684\u5185\u5bb9\uff0c\u641c\u7d22\u5f15\u64ce\u4f1a\u7ed9\u4f60\u8fd4\u56de\u7ed3\u679c\u3002\u672c\u6587\u5c31\u662f\u6559\u4f60\u5982\u4f55\u83b7\u53d6\u66f4\u597d\u7684\u7ed3\u679c\u3002 \u57fa\u7840\u641c\u7d22\u6280\u5de7 \u6839\u636e\u4e0a\u8ff0\u7684\u5de5\u4f5c\u539f\u7406\uff0c\u6211\u4eec\u5927\u81f4\u5c31\u80fd\u660e\u767d\uff0c\u5176\u5b9e\u53ef\u4ee5\u628a\u641c\u7d22\u5f15\u64ce\u5f53\u4f5c\u4e00\u4e2a\u6bd4\u8f83\u806a\u660e\u7684\u6570\u636e\u5e93\uff0c\u66f4\u597d\u7684\u4f7f\u7528\u67e5\u8be2\u6761\u4ef6\u5c31\u80fd\u66f4\u5feb\u901f\u7684\u627e\u5230\u4f60\u60f3\u8981\u7684\u4fe1\u606f\uff0c\u4e0b\u9762\u4ecb\u7ecd\u4e00\u4e9b\u641c\u7d22\u7684\u6280\u5de7\uff1a \u4f7f\u7528\u82f1\u6587 \u9996\u5148\u6211\u4eec\u8981\u77e5\u9053\u4e00\u4ef6\u4e8b\uff0c\u7f16\u7a0b\u4e2d\uff0c\u6700\u597d\u4f7f\u7528\u82f1\u6587\u641c\u7d22\u3002\u539f\u56e0\u4e3b\u8981\u6709\u51e0\u70b9\uff1a \u7f16\u7a0b\u548c\u5404\u79cd\u8f6f\u4ef6\u64cd\u4f5c\u4e2d\uff0c\u82f1\u6587\u8d44\u6599\u8d28\u91cf\u6bd4\u4e2d\u6587\u8d44\u6599\u548c\u5176\u4ed6\u8bed\u8a00\u8d44\u6599\u9ad8\uff0c\u82f1\u6587\u901a\u7528\u6027\u8fd8\u662f\u66f4\u597d\u4e9b \u56e0\u4e3a\u7ffb\u8bd1\u95ee\u9898\uff0c\u82f1\u6587\u7684\u540d\u8bcd\u6bd4\u4e2d\u6587\u51c6\u786e\u901a\u7528 \u4e2d\u6587\u641c\u7d22\u4e2d\uff0c\u5206\u8bcd\u7cfb\u7edf\u4e0d\u51c6\u4f1a\u5bfc\u81f4\u6b67\u4e49\uff0c\u6bd4\u5982 Google \u641c\u4e2d\u6587\u53ef\u80fd\u4f1a\u641c\u4e0d\u51fa\u51e0\u6761\u6709\u7528\u7ed3\u679c \u5982\u679c\u4f60\u82f1\u6587\u4e0d\u597d\uff0c\u7528\u767e\u5ea6\u7ffb\u8bd1\u6216\u8005\u641c\u72d7\u7ffb\u8bd1\uff0c\u8db3\u591f\u4e86\u3002 \u5f53\u7136\u4e0b\u9762\u7684\u6587\u6863\u4e3a\u4e86\u4e3e\u4f8b\u65b9\u4fbf\uff0c\u90fd\u8fd8\u662f\u7528\u4e2d\u6587\u4f8b\u5b50\u3002 \u63d0\u70bc\u5173\u952e\u8bcd \u641c\u7d22\u65f6\u4e0d\u8981\u641c\u7d22\u6574\u53e5\u8bdd\uff0c\u867d\u7136\u641c\u7d22\u5f15\u64ce\u4f1a\u81ea\u52a8\u5e2e\u52a9\u6211\u4eec\u5206\u8bcd\u68c0\u7d22\uff0c\u4f46\u662f\u6574\u53e5\u548c\u5173\u952e\u5b57\u641c\u7d22\u51fa\u6765\u7684\u7ed3\u679c\u518d\u51c6\u786e\u5ea6\u548c\u987a\u5e8f\u4e0a\u4f1a\u6709\u5f88\u5927\u5dee\u522b\u3002\u641c\u7d22\u5f15\u64ce\u662f\u673a\u5668\uff0c\u5e76\u4e0d\u662f\u4f60\u7684\u8001\u5e08\u6216\u8005\u540c\u4e8b\uff0c\u770b\u4e0a\u9762\u7684\u6d41\u7a0b\uff0c\u641c\u7d22\u5b9e\u9645\u4e0a\u662f\u53bb\u68c0\u7d22\u641c\u7d22\u5f15\u64ce\u722c\u51fa\u6765\u7684\u6570\u636e\u5e93\uff0c\u4f60\u53ef\u4ee5\u7406\u89e3\u4e3a\u5173\u952e\u5b57\u6bd4\u6a21\u7cca\u68c0\u7d22\u8981\u5feb\u800c\u4e14\u51c6\u786e\u3002 \u6211\u4eec\u9700\u8981\u63d0\u70bc\u95ee\u9898\uff0c\u786e\u5b9a\u6211\u4eec\u5230\u5e95\u9700\u8981\u89e3\u51b3\u4ec0\u4e48\u95ee\u9898\u3002 \u4f8b\u5982\uff0c\u6211\u60f3\u77e5\u9053 vcpkg \u5982\u4f55\u96c6\u6210\u5230\u5de5\u7a0b\u4e0a\u800c\u4e0d\u662f\u5168\u5c40\u4e2d\uff0c\u90a3\u4e48\u641c\u7d22 vcpkg\u5982\u4f55\u96c6\u6210\u5230\u5de5\u7a0b\u4e0a\u800c\u4e0d\u662f\u5168\u5c40\u4e2d \u8fd9\u79cd\u957f\u53e5\u53ef\u80fd\u65e0\u6cd5\u627e\u5230\u76f8\u5173\u7684\u7ed3\u679c\uff0c\u6700\u597d\u662f\u62c6\u5206\u6210\u5355\u8bcd\uff0c vcpkg \u96c6\u6210\u5230 \u5de5\u7a0b \u5168\u5c40 \u8fd9\u6837\u7684\u641c\u7d22\u3002\u5176\u5b9e\u8fd9\u91cc\u53ea\u662f\u4e3e\u4e2a\u4f8b\u5b50\uff0c\u9488\u5bf9\u672c\u6761\u5176\u5b9e\u90fd\u80fd\u641c\u7d22\u51fa\u76f8\u5173\u4fe1\u606f\uff0c\u4f46\u662f\u8d8a\u5177\u4f53\u7684\u95ee\u9898\uff0c\u673a\u5668\u5206\u8bcd\u8d8a\u53ef\u80fd\u51fa\u95ee\u9898\uff0c\u6240\u4ee5\u6700\u597d\u662f\u62c6\u5206\u5173\u952e\u5b57\uff0c\u4f7f\u7528\u8bcd\u7ec4\u6216\u8005\u65ad\u53e5\u6765\u8fdb\u884c\u641c\u7d22\u3002 \u66ff\u6362\u5173\u952e\u5b57 \u8fd8\u662f\u4e0a\u9762\u90a3\u4e2a\u4f8b\u5b50\uff0c\u5982\u679c\u641c\u4e0d\u51fa\u6765\uff0c\u53ef\u4ee5\u8bd5\u8bd5\u628a\u5de5\u7a0b\u6362\u6210\u9879\u76ee\uff0c\u6216\u8005\u79fb\u51fa\u96c6\u6210\uff0c\u5982\u679c\u4e0d\u884c\uff0c\u8bd5\u4e00\u4e0b\u9ad8\u7ea7\u641c\u7d22\u3002 \u9ad8\u7ea7\u641c\u7d22 \u666e\u901a\u641c\u7d22\u5f15\u64ce\u4e00\u822c\u90fd\u652f\u6301\u9ad8\u7ea7\u641c\u7d22\uff0c\u5305\u62ec google \uff0c bing \uff0c\u767e\u5ea6\uff0c ecosia \uff0c\u7b49\u7b49\uff0c\u5927\u90e8\u5206\u90fd\u652f\u6301\uff0c\u4e0d\u8fc7\u53ef\u80fd\u8bed\u6cd5\u4e0d\u540c\uff0c\u4e00\u822c\u901a\u7528\u7684\u8868\u793a\uff1a \u7cbe\u51c6\u5339\u914d\uff1a \u7cbe\u51c6\u5339\u914d\u80fd\u4fdd\u8bc1\u641c\u7d22\u5173\u952e\u8bcd\u5b8c\u5168\u88ab\u5339\u914d\u4e0a\uff0c\u4e00\u822c\u662f\u7528\u53cc\u5f15\u53f7\u62ec\u8d77\u6765 \u6bd4\u5982\u641c\u7d22\u7ebf\u6027\u4ee3\u6570\uff0c\u53ef\u4ee5\u5728\u8f93\u5165\u6846\u5185\u8f93\u5165 \"\u7ebf\u6027\u4ee3\u6570\"\uff0c\u641c\u7d22\u5f15\u64ce\u5c06\u53ea\u5339\u914d\u5b8c\u6574\u5305\u542b \u201c\u7ebf\u6027\u4ee3\u6570\u201d \u7684\u9875\u9762\uff0c\u800c\u4e0d\u4f1a\u641c\u7d22\u62c6\u5206\u6210\u7ebf\u6027\u548c\u4ee3\u6570\u4e24\u4e2a\u8bcd\u7684\u9875\u9762 \u4e0d\u5305\u542b\u5173\u952e\u5b57\uff1a \u7528 - \u51cf\u53f7\u8fde\u63a5\u5173\u952e\u5b57\uff0c\u7528\u4e8e\u6392\u9664\u67d0\u4e9b\u5e72\u6270\u8bcd \u5305\u542b\u5173\u952e\u5b57\uff1a \u7528 + \u52a0\u53f7\u8fde\u63a5\u5173\u952e\u5b57 \u641c\u7d22\u7279\u5b9a\u6587\u4ef6\u7c7b\u578b\uff1a filetype:pdf \u76f4\u63a5\u641c\u7d22 pdf \u6587\u4ef6 \u641c\u7d22\u7279\u5b9a\u7f51\u5740\uff1a site:stackoverflow.com \u53ea\u641c\u7d22\u7279\u5b9a\u7f51\u7ad9\u5185\u7684\u9875\u9762 \u4e00\u822c\u53ef\u4ee5\u53c2\u7167\u7f51\u7ad9\u8bf4\u660e\uff0c\u6bd4\u5982\u767e\u5ea6\u53ef\u4ee5\u53c2\u7167 \u9ad8\u7ea7\u641c\u7d22 \uff0cBing \u53ef\u4ee5\u53c2\u7167 \u9ad8\u7ea7\u641c\u7d22\u5173\u952e\u5b57 \u548c \u9ad8\u7ea7\u641c\u7d22\u9009\u9879 \u3002 GitHub \u7684\u9ad8\u7ea7\u641c\u7d22 \u53ef\u4ee5\u76f4\u63a5\u7528 \u9ad8\u7ea7\u641c\u7d22\u9875\u9762 \u8fdb\u884c\u641c\u7d22\uff0c\u4e5f\u53ef\u4ee5\u53c2\u7167 Github\u67e5\u8be2\u8bed\u6cd5 \u8fdb\u884c\u67e5\u627e\uff0c\u7b80\u5355\u8bf4\u51e0\u4e2a: in:name <\u5173\u952e\u5b57> \u4ed3\u5e93\u540d\u79f0\u5e26\u5173\u952e\u5b57\u67e5\u8be2 in:description <\u5173\u952e\u5b57> \u4ed3\u5e93\u63cf\u8ff0\u5e26\u5173\u952e\u5b57\u67e5\u8be2 in:readme <\u5173\u952e\u5b57> README \u6587\u4ef6\u5e26\u5173\u952e\u5b57\u67e5\u8be2 stars(fork): >(=) <\u6570\u5b57> <\u5173\u952e\u5b57> star \u6216 fork \u6570\u5927\u4e8e(\u6216\u7b49\u4e8e)\u6307\u5b9a\u6570\u5b57\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 stars(fork): 10..20 <\u5173\u952e\u8bcd> star \u6216 fork \u6570\u5728 10 \u5230 20 \u4e4b\u95f4\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 size:>=5000 <\u5173\u952e\u8bcd> \u9650\u5b9a\u4ed3\u5e93\u5927\u4e8e\u7b49\u4e8e 5000K \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 pushed(created):>2019-11-15 <\u5173\u952e\u5b57> \u66f4\u65b0 \u6216 \u521b\u5efa \u65e5\u671f\u5728 2019 \u5e74 11 \u6708 16 \u65e5\u4e4b\u540e\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 license:apache-2.0 <\u5173\u952e\u5b57> LICENSE \u4e3a apache-2.0 \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 language:java <\u5173\u952e\u8bcd> \u4ed3\u5e93\u8bed\u8a00\u4e3a Java \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 user:<\u7528\u6237\u540d> \u67e5\u8be2\u67d0\u4e2a\u7528\u6237\u7684\u9879\u76ee org:<\u7ec4\u7ec7\u540d> \u67e5\u8be2\u67d0\u4e2a\u7ec4\u7ec7\u7684\u9879\u76ee \u8fd9\u4e9b\u53ef\u4ee5\u6df7\u5408\u4f7f\u7528\uff0c\u4e5f\u53ef\u4ee5\u5148\u67e5\u627e\u67d0\u4e00\u7c7b\u7684 awesome \u4ed3\u5e93\uff0c\u7136\u540e\u4ece awesome \u5e93\u91cc\u627e\u76f8\u5173\u7684\u8d44\u6e90\uff0cgithub \u91cc\u6709\u5f88\u591a\u5f52\u7eb3\u4ed3\u5e93\uff0c\u53ef\u4ee5\u5148\u770b\u770b\u5df2\u6709\u7684\u6536\u96c6\uff0c\u6709\u65f6\u5019\u4f1a\u8282\u7701\u5f88\u591a\u65f6\u95f4 \u66f4\u591a\u6280\u5de7 \u4f7f\u7528\u4e2d\uff0c\u5b9e\u9645\u4e0a\u6211\u4f1a\u53bb\u7279\u5b9a\u7f51\u7ad9\u627e\u4e00\u4e9b\u95ee\u9898\uff1a \u5982\u679c\u662f\u8bed\u8a00\u672c\u8eab\u76f8\u5173\uff0c\u6bd4\u5982 c++/Qt/OpenGL \u5982\u4f55\u5b9e\u73b0\u4ec0\u4e48\u529f\u80fd\uff0c\u53ef\u4ee5\u76f4\u63a5\u52a0\u4e0a site:stackoverflow.com \u5982\u679c\u662f\u5177\u4f53\u7684\u4e1a\u52a1/\u5f00\u53d1\u73af\u5883\u6216\u8005\u8f6f\u4ef6\u76f8\u5173\uff0c\u53ef\u4ee5\u5148\u5728 BugList \u3001IssueList \uff0c\u6216\u8005\u76f8\u5173\u8bba\u575b\u91cc\u5148\u627e\u4e00\u4e0b\uff0c\u6bd4\u5982 Qt \u7684\u95ee\u9898\u5c31\u53ef\u4ee5\u76f4\u63a5\u53bb Qt \u8bba\u575b\uff0cQGis \u6216\u8005 GDAL \u76f8\u5173\u95ee\u9898\u53ef\u4ee5\u5728 stackExchange \u91cc\u53bb\u641c QQ \u7fa4\u4e5f\u662f\u4e00\u4e2a\u63d0\u95ee\u7684\u5730\u65b9\uff0c\u4f46\u662f\u9700\u8981\u4f60\u63d0\u7684\u95ee\u9898\u6709\u610f\u4e49\uff0c\u5426\u5219\u5927\u90e8\u5206\u4eba\u4e0d\u4f1a\u56de\u4f60\uff0c\u800c\u4e14 QQ \u7fa4\u56de\u590d\u5e76\u4e0d\u53ca\u65f6\u3002 \u77e5\u4e4e\u4e13\u680f\u3001\u7b80\u4e66\u3001\u535a\u5ba2\u56ed\u3001 CSDN \u4e2d\u6709\u5927\u91cf\u4e2d\u6587\u7b14\u8bb0\uff0c\u8fd9\u4e9b\u90fd\u662f\u522b\u4eba\u56bc\u70c2\u4e86\u7684\u4e1c\u897f\uff0c\u57fa\u672c\u662f\u522b\u4eba\u8e29\u5751\u7684\u7ecf\u9a8c \u5173\u4e8e\u767e\u5ea6 \u5927\u90e8\u5206\u7f16\u7a0b\u4eba\u90fd\u4f1a\u544a\u8bc9\u4f60\u522b\u7528\u767e\u5ea6\uff0c\u7528 Google \u6216\u8005 Bing \u56fd\u9645\u7248\uff0c\u4f46\u662f Bing \u4e2d\u6587\u641c\u7d22\u7684\u51c6\u786e\u7387\u5e76\u4e0d\u9ad8\uff0c Google \u9700\u8981\u79d1\u5b66\u4e0a\u7f51\uff0c\u5982\u679c\u771f\u7684\u9700\u8981\uff0c\u53ef\u4ee5\u4f7f\u7528 Ecosia \u3001 Yandex \u4e4b\u7c7b\u7684\u641c\u7d22\u5f15\u64ce\u3002\u800c\u4e14\u4e2d\u6587\u641c\u7d22\u6765\u8bf4\uff0c\u767e\u5ea6\u53ef\u80fd\u8fd8\u771f\u662f\u6700\u597d\u7684\u3002 \u767e\u5ea6\u7684\u95ee\u9898\u4e3b\u8981\u5728\u4e8e\u6392\u5e8f\u7b97\u6cd5\uff0c\u53ef\u80fd\u4e24\u9875\u90fd\u6ca1\u5565\u5bf9\u7684\u5185\u5bb9\uff0c\u4f46\u662f\u6536\u5f55\u6bd4 Bing \u8fd8\u662f\u597d\u4e00\u4e9b\u7684\uff08\u767e\u5ea6\u4ee5\u524d\u5e76\u4e0d\u9075\u5b88 robots.txt \uff0c\u4f1a\u6293\u53d6\u6240\u6709\u9875\u9762\uff0c\u6240\u4ee5\u6709\u4e9b\u4e2a\u4eba\u7f51\u7ad9\u751a\u81f3\u4e13\u95e8\u5bf9\u767e\u5ea6\u505a\u4e86\u5c4f\u853d\uff09\uff0c\u751a\u81f3\u6709\u65f6\u5019\u6bd4 Google \u597d\u3002\u4ece\u6570\u636e\u5e93\u6765\u8bf4\uff0c\u767e\u5ea6\u6bd4 Google \u548c Bing \u6536\u5f55\u7684\u4e2d\u6587\u5185\u5bb9\u8981\u591a\uff0c\u5982\u679c\u4f60\u78b0\u5230\u7684\u65f6\u4e2d\u6587\u76f8\u5173\u7684\u95ee\u9898\u800c\u4e14\u786e\u5b9e\u627e\u4e0d\u5230\u76f8\u5173\u5185\u5bb9\uff0c\u90a3\u4e48\u5c31\u7528\u767e\u5ea6\uff0c\u641c\u7d22\u5f15\u64ce\u662f\u5de5\u5177\uff0c\u80fd\u7528\u597d\u7528\u624d\u662f\u738b\u9053\u3002 \u4ee3\u7801\u641c\u7d22 \u6211\u4eec\u9664\u4e86\u641c\u7d22\u5f15\u64ce\u67e5\u627e\u95ee\u9898\uff0c\u8fd8\u6709\u53ef\u80fd\u4f1a\u641c\u4e00\u4e9b\u4ee3\u7801\uff0c\u53ef\u80fd\u662f\u81ea\u5df1\u5199\u7684\uff0c\u4e5f\u53ef\u80fd\u662f\u9879\u76ee\u4e2d\u7684\uff0c\u4e0b\u9762\u63a8\u8350\u4e00\u4e9b\u5de5\u5177\uff1a \u4ee3\u7801\u68c0\u7d22\u6709\u4e24\u79cd\uff0c\u7b2c\u4e00\u662f\u672c\u5730\u7684\u4ee3\u7801\u68c0\u7d22\uff0c\u7b2c\u4e8c\u662f\u8981\u5199\u4e2a\u5565\u7b97\u6cd5\uff0c\u9700\u8981\u5728\u7f51\u4e0a\u641c\u7d22 \u672c\u5730\u4ee3\u7801\u641c\u7d22 ACK \u6216\u8005 ACK2\uff0c\u8001\u724c\u641c\u7d22\u5de5\u5177\uff0cperl \u5199\u7684 The Silver Searcher c \u5b9e\u73b0\u7684 The Platinum Searcher go \u5b9e\u73b0\u7684 FreeCommander \u81ea\u5e26\u7684\u641c\u7d22\uff0c\u5982\u679c\u662f\u56fa\u6001\u786c\u76d8\u901f\u5ea6\u8fd8\u4e0d\u9519 IDE \u81ea\u5e26\u7684\uff0c\u641c\u7d22\u6709\u4e9b\u65f6\u5019\u5e76\u4e0d\u592a\u597d\u7528 \u5f00\u6e90\u4ee3\u7801\u641c\u7d22 Searchcode \u641c\u7d22\u5f00\u6e90\u4ee3\u7801\uff0c\u901f\u5ea6\u6bd4\u8f83\u5feb \u4e00\u884c\u4ee3\u7801 \u56fd\u4ea7\u7684\uff0c\u6709\u4e9b\u56fd\u4ea7\u5de5\u5177\u5f88\u597d\u7528 [^ 1]: \u641c\u7d22\u5f15\u64ce\u5de5\u4f5c\u539f\u7406\u7b80\u4ecb - \u77e5\u4e4e (zhihu.com)","title":"\u4fe1\u606f\u68c0\u7d22"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_1","text":"","title":"\u4fe1\u606f\u68c0\u7d22"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_2","text":"\u78b0\u5230\u95ee\u9898\uff0c\u8bb0\u4f4f\u7b2c\u4e00\u4ef6\u4e8b\u662f \u7ffb\u9605\u6587\u6863 \uff0c\u4e0d\u8981\u4e00\u5f00\u59cb\u5c31\u76f4\u63a5\u641c\u7d22\u6216\u8005\u627e\u4eba\u95ee\uff0c\u7ffb\u9605FAQ\u53ef\u80fd\u4f1a\u5feb\u901f\u627e\u5230\u7b54\u6848\u3002 \u4fe1\u606f\u68c0\u7d22\uff0c\u6211\u7684\u7406\u89e3\u6765\u8bf4\uff0c\u5b9e\u9645\u4e0a\u5c31\u662f\u7075\u6d3b\u8fd0\u7528\u641c\u7d22\u5f15\u64ce\u4e2d\uff0c\u65b9\u4fbf\u5feb\u6377\u7684\u641c\u5230\u9700\u8981\u7684\u4fe1\u606f\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u7f16\u7a0b\u3002 \u7f16\u7a0b\u6700\u91cd\u8981\u7684\uff0c\u5c31\u662f STFW(search the fucking web) \u548c RTFM(read the fucking Manual) \uff0c\u9996\u5148\u8981\u8bfb\u6587\u6863\uff0c\u7b2c\u4e8c\u8981\u5b66\u4f1a\u641c\u7d22\uff0c\u7f51\u4e0a\u90a3\u4e48\u591a\u8d44\u6e90\uff0c\u600e\u4e48\u7528\uff0c\u5c31\u9700\u8981\u4fe1\u606f\u68c0\u7d22\u3002 \u8981\u641c\u7d22\uff0c\u6211\u4eec\u9996\u5148\u8981\u641e\u6e05\u695a\u641c\u7d22\u5f15\u64ce\u662f\u5982\u4f55\u5de5\u4f5c\u7684\uff1a","title":"\u524d\u8a00"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_3","text":"\u641c\u7d22\u5f15\u64ce\u7684\u5de5\u4f5c\u8fc7\u7a0b\u5927\u4f53\u53ef\u4ee5\u5206\u6210\u4e09\u9636\u6bb5\uff1a[^1] \u722c\u884c\u548c\u6293\u53d6\uff1a\u641c\u7d22\u5f15\u64ce\u8718\u86db\u901a\u8fc7\u8ddf\u8e2a\u94fe\u63a5\u8bbf\u95ee\u7f51\u9875\uff0c\u83b7\u53d6\u7f51\u9875 HTML \u4ee3\u7801\u5b58\u5165\u6570\u636e\u5e93\u3002 \u9884\u5904\u7406\uff1a\u7d22\u5f15\u7a0b\u5e8f\u5bf9\u6293\u53d6\u6765\u7684\u7f51\u9875\u6570\u636e\u8fdb\u884c\u6587\u5b57\u63d0\u53d6\uff0c\u4e2d\u6587\u5206\u8bcd\uff0c\u7d22\u5f15\u7b49\u5904\u7406\uff0c\u4ee5\u5907\u6392\u540d\u7a0b\u5e8f\u8c03\u7528\u3002 \u6392\u540d\uff1a\u7528\u6237\u8f93\u5165\u5173\u952e\u8bcd\u540e\uff0c\u6392\u540d\u7a0b\u5e8f\u8c03\u7528\u7d22\u5f15\u5e93\u6570\u636e\uff0c\u8ba1\u7b97\u76f8\u5173\u6027\uff0c\u7136\u540e\u6309\u4e00\u5b9a\u683c\u5f0f\u751f\u6210\u641c\u7d22\u7ed3\u679c\u9875\u9762\u3002 \u7b2c\u4e00\u6b65\uff0c\u5c31\u662f\u5927\u5bb6\u7ecf\u5e38\u542c\u8bf4\u7684\u7f51\u7edc\u722c\u866b\uff0c\u4e00\u822c Python \u5356\u8bfe\u7684\u90fd\u4f1a\u5439\u8fd9\u4e2a\u4e1c\u897f\u3002\u7b80\u5355\u53ef\u4ee5\u7406\u89e3\u4e3a\uff0c\u6211\u7528\u4e00\u4e2a\u81ea\u52a8\u7684\u7a0b\u5e8f\uff0c\u4e0b\u8f7d\u7f51\u7ad9\u4e2d\u7684\u6240\u6709\u6587\u672c\u3001\u56fe\u7247\u7b49\u76f8\u5173\u4fe1\u606f\uff0c\u7136\u540e\u5b58\u5165\u672c\u5730\u7684\u78c1\u76d8\u3002 \u7b2c\u4e8c\u6b65\u662f\u641c\u7d22\u5f15\u64ce\u7684\u6838\u5fc3\uff0c\u4f46\u662f\u5bf9\u4e8e\u6211\u4eec\u4f7f\u7528\u6765\u8bf4\uff0c\u5e76\u4e0d\u662f\u7279\u522b\u5173\u952e\uff0c\u5927\u81f4\u53ef\u4ee5\u7406\u89e3\u4e3a\u6d17\u5e72\u51c0\u6570\u636e\uff0c\u7136\u540e\u5165\u5e93\u9875\u9762\uff0c\u6bcf\u4e2a\u9875\u9762\u52a0\u5165\u5173\u952e\u5b57\u7b49\u4fe1\u606f\u65b9\u4fbf\u6211\u4eec\u67e5\u8be2\u3002 \u7b2c\u4e09\u6b65\u8ddf\u6211\u4eec\u606f\u606f\u76f8\u5173\uff0c\u4e0d\u7ba1\u662f\u4ec0\u4e48\u641c\u7d22\u7f51\u7ad9\uff0c google \u3001\u767e\u5ea6\u3001 Bing \uff0c\u90fd\u4e00\u6837\uff0c\u8f93\u5165\u5173\u952e\u5b57\u6216\u8005\u9700\u8981\u67e5\u8be2\u7684\u5185\u5bb9\uff0c\u641c\u7d22\u5f15\u64ce\u4f1a\u7ed9\u4f60\u8fd4\u56de\u7ed3\u679c\u3002\u672c\u6587\u5c31\u662f\u6559\u4f60\u5982\u4f55\u83b7\u53d6\u66f4\u597d\u7684\u7ed3\u679c\u3002","title":"\u641c\u7d22\u5f15\u64ce\u5de5\u4f5c\u539f\u7406"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_4","text":"\u6839\u636e\u4e0a\u8ff0\u7684\u5de5\u4f5c\u539f\u7406\uff0c\u6211\u4eec\u5927\u81f4\u5c31\u80fd\u660e\u767d\uff0c\u5176\u5b9e\u53ef\u4ee5\u628a\u641c\u7d22\u5f15\u64ce\u5f53\u4f5c\u4e00\u4e2a\u6bd4\u8f83\u806a\u660e\u7684\u6570\u636e\u5e93\uff0c\u66f4\u597d\u7684\u4f7f\u7528\u67e5\u8be2\u6761\u4ef6\u5c31\u80fd\u66f4\u5feb\u901f\u7684\u627e\u5230\u4f60\u60f3\u8981\u7684\u4fe1\u606f\uff0c\u4e0b\u9762\u4ecb\u7ecd\u4e00\u4e9b\u641c\u7d22\u7684\u6280\u5de7\uff1a","title":"\u57fa\u7840\u641c\u7d22\u6280\u5de7"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_5","text":"\u9996\u5148\u6211\u4eec\u8981\u77e5\u9053\u4e00\u4ef6\u4e8b\uff0c\u7f16\u7a0b\u4e2d\uff0c\u6700\u597d\u4f7f\u7528\u82f1\u6587\u641c\u7d22\u3002\u539f\u56e0\u4e3b\u8981\u6709\u51e0\u70b9\uff1a \u7f16\u7a0b\u548c\u5404\u79cd\u8f6f\u4ef6\u64cd\u4f5c\u4e2d\uff0c\u82f1\u6587\u8d44\u6599\u8d28\u91cf\u6bd4\u4e2d\u6587\u8d44\u6599\u548c\u5176\u4ed6\u8bed\u8a00\u8d44\u6599\u9ad8\uff0c\u82f1\u6587\u901a\u7528\u6027\u8fd8\u662f\u66f4\u597d\u4e9b \u56e0\u4e3a\u7ffb\u8bd1\u95ee\u9898\uff0c\u82f1\u6587\u7684\u540d\u8bcd\u6bd4\u4e2d\u6587\u51c6\u786e\u901a\u7528 \u4e2d\u6587\u641c\u7d22\u4e2d\uff0c\u5206\u8bcd\u7cfb\u7edf\u4e0d\u51c6\u4f1a\u5bfc\u81f4\u6b67\u4e49\uff0c\u6bd4\u5982 Google \u641c\u4e2d\u6587\u53ef\u80fd\u4f1a\u641c\u4e0d\u51fa\u51e0\u6761\u6709\u7528\u7ed3\u679c \u5982\u679c\u4f60\u82f1\u6587\u4e0d\u597d\uff0c\u7528\u767e\u5ea6\u7ffb\u8bd1\u6216\u8005\u641c\u72d7\u7ffb\u8bd1\uff0c\u8db3\u591f\u4e86\u3002 \u5f53\u7136\u4e0b\u9762\u7684\u6587\u6863\u4e3a\u4e86\u4e3e\u4f8b\u65b9\u4fbf\uff0c\u90fd\u8fd8\u662f\u7528\u4e2d\u6587\u4f8b\u5b50\u3002","title":"\u4f7f\u7528\u82f1\u6587"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_6","text":"\u641c\u7d22\u65f6\u4e0d\u8981\u641c\u7d22\u6574\u53e5\u8bdd\uff0c\u867d\u7136\u641c\u7d22\u5f15\u64ce\u4f1a\u81ea\u52a8\u5e2e\u52a9\u6211\u4eec\u5206\u8bcd\u68c0\u7d22\uff0c\u4f46\u662f\u6574\u53e5\u548c\u5173\u952e\u5b57\u641c\u7d22\u51fa\u6765\u7684\u7ed3\u679c\u518d\u51c6\u786e\u5ea6\u548c\u987a\u5e8f\u4e0a\u4f1a\u6709\u5f88\u5927\u5dee\u522b\u3002\u641c\u7d22\u5f15\u64ce\u662f\u673a\u5668\uff0c\u5e76\u4e0d\u662f\u4f60\u7684\u8001\u5e08\u6216\u8005\u540c\u4e8b\uff0c\u770b\u4e0a\u9762\u7684\u6d41\u7a0b\uff0c\u641c\u7d22\u5b9e\u9645\u4e0a\u662f\u53bb\u68c0\u7d22\u641c\u7d22\u5f15\u64ce\u722c\u51fa\u6765\u7684\u6570\u636e\u5e93\uff0c\u4f60\u53ef\u4ee5\u7406\u89e3\u4e3a\u5173\u952e\u5b57\u6bd4\u6a21\u7cca\u68c0\u7d22\u8981\u5feb\u800c\u4e14\u51c6\u786e\u3002 \u6211\u4eec\u9700\u8981\u63d0\u70bc\u95ee\u9898\uff0c\u786e\u5b9a\u6211\u4eec\u5230\u5e95\u9700\u8981\u89e3\u51b3\u4ec0\u4e48\u95ee\u9898\u3002 \u4f8b\u5982\uff0c\u6211\u60f3\u77e5\u9053 vcpkg \u5982\u4f55\u96c6\u6210\u5230\u5de5\u7a0b\u4e0a\u800c\u4e0d\u662f\u5168\u5c40\u4e2d\uff0c\u90a3\u4e48\u641c\u7d22 vcpkg\u5982\u4f55\u96c6\u6210\u5230\u5de5\u7a0b\u4e0a\u800c\u4e0d\u662f\u5168\u5c40\u4e2d \u8fd9\u79cd\u957f\u53e5\u53ef\u80fd\u65e0\u6cd5\u627e\u5230\u76f8\u5173\u7684\u7ed3\u679c\uff0c\u6700\u597d\u662f\u62c6\u5206\u6210\u5355\u8bcd\uff0c vcpkg \u96c6\u6210\u5230 \u5de5\u7a0b \u5168\u5c40 \u8fd9\u6837\u7684\u641c\u7d22\u3002\u5176\u5b9e\u8fd9\u91cc\u53ea\u662f\u4e3e\u4e2a\u4f8b\u5b50\uff0c\u9488\u5bf9\u672c\u6761\u5176\u5b9e\u90fd\u80fd\u641c\u7d22\u51fa\u76f8\u5173\u4fe1\u606f\uff0c\u4f46\u662f\u8d8a\u5177\u4f53\u7684\u95ee\u9898\uff0c\u673a\u5668\u5206\u8bcd\u8d8a\u53ef\u80fd\u51fa\u95ee\u9898\uff0c\u6240\u4ee5\u6700\u597d\u662f\u62c6\u5206\u5173\u952e\u5b57\uff0c\u4f7f\u7528\u8bcd\u7ec4\u6216\u8005\u65ad\u53e5\u6765\u8fdb\u884c\u641c\u7d22\u3002","title":"\u63d0\u70bc\u5173\u952e\u8bcd"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_7","text":"\u8fd8\u662f\u4e0a\u9762\u90a3\u4e2a\u4f8b\u5b50\uff0c\u5982\u679c\u641c\u4e0d\u51fa\u6765\uff0c\u53ef\u4ee5\u8bd5\u8bd5\u628a\u5de5\u7a0b\u6362\u6210\u9879\u76ee\uff0c\u6216\u8005\u79fb\u51fa\u96c6\u6210\uff0c\u5982\u679c\u4e0d\u884c\uff0c\u8bd5\u4e00\u4e0b\u9ad8\u7ea7\u641c\u7d22\u3002","title":"\u66ff\u6362\u5173\u952e\u5b57"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_8","text":"\u666e\u901a\u641c\u7d22\u5f15\u64ce\u4e00\u822c\u90fd\u652f\u6301\u9ad8\u7ea7\u641c\u7d22\uff0c\u5305\u62ec google \uff0c bing \uff0c\u767e\u5ea6\uff0c ecosia \uff0c\u7b49\u7b49\uff0c\u5927\u90e8\u5206\u90fd\u652f\u6301\uff0c\u4e0d\u8fc7\u53ef\u80fd\u8bed\u6cd5\u4e0d\u540c\uff0c\u4e00\u822c\u901a\u7528\u7684\u8868\u793a\uff1a \u7cbe\u51c6\u5339\u914d\uff1a \u7cbe\u51c6\u5339\u914d\u80fd\u4fdd\u8bc1\u641c\u7d22\u5173\u952e\u8bcd\u5b8c\u5168\u88ab\u5339\u914d\u4e0a\uff0c\u4e00\u822c\u662f\u7528\u53cc\u5f15\u53f7\u62ec\u8d77\u6765 \u6bd4\u5982\u641c\u7d22\u7ebf\u6027\u4ee3\u6570\uff0c\u53ef\u4ee5\u5728\u8f93\u5165\u6846\u5185\u8f93\u5165 \"\u7ebf\u6027\u4ee3\u6570\"\uff0c\u641c\u7d22\u5f15\u64ce\u5c06\u53ea\u5339\u914d\u5b8c\u6574\u5305\u542b \u201c\u7ebf\u6027\u4ee3\u6570\u201d \u7684\u9875\u9762\uff0c\u800c\u4e0d\u4f1a\u641c\u7d22\u62c6\u5206\u6210\u7ebf\u6027\u548c\u4ee3\u6570\u4e24\u4e2a\u8bcd\u7684\u9875\u9762 \u4e0d\u5305\u542b\u5173\u952e\u5b57\uff1a \u7528 - \u51cf\u53f7\u8fde\u63a5\u5173\u952e\u5b57\uff0c\u7528\u4e8e\u6392\u9664\u67d0\u4e9b\u5e72\u6270\u8bcd \u5305\u542b\u5173\u952e\u5b57\uff1a \u7528 + \u52a0\u53f7\u8fde\u63a5\u5173\u952e\u5b57 \u641c\u7d22\u7279\u5b9a\u6587\u4ef6\u7c7b\u578b\uff1a filetype:pdf \u76f4\u63a5\u641c\u7d22 pdf \u6587\u4ef6 \u641c\u7d22\u7279\u5b9a\u7f51\u5740\uff1a site:stackoverflow.com \u53ea\u641c\u7d22\u7279\u5b9a\u7f51\u7ad9\u5185\u7684\u9875\u9762 \u4e00\u822c\u53ef\u4ee5\u53c2\u7167\u7f51\u7ad9\u8bf4\u660e\uff0c\u6bd4\u5982\u767e\u5ea6\u53ef\u4ee5\u53c2\u7167 \u9ad8\u7ea7\u641c\u7d22 \uff0cBing \u53ef\u4ee5\u53c2\u7167 \u9ad8\u7ea7\u641c\u7d22\u5173\u952e\u5b57 \u548c \u9ad8\u7ea7\u641c\u7d22\u9009\u9879 \u3002","title":"\u9ad8\u7ea7\u641c\u7d22"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#github","text":"\u53ef\u4ee5\u76f4\u63a5\u7528 \u9ad8\u7ea7\u641c\u7d22\u9875\u9762 \u8fdb\u884c\u641c\u7d22\uff0c\u4e5f\u53ef\u4ee5\u53c2\u7167 Github\u67e5\u8be2\u8bed\u6cd5 \u8fdb\u884c\u67e5\u627e\uff0c\u7b80\u5355\u8bf4\u51e0\u4e2a: in:name <\u5173\u952e\u5b57> \u4ed3\u5e93\u540d\u79f0\u5e26\u5173\u952e\u5b57\u67e5\u8be2 in:description <\u5173\u952e\u5b57> \u4ed3\u5e93\u63cf\u8ff0\u5e26\u5173\u952e\u5b57\u67e5\u8be2 in:readme <\u5173\u952e\u5b57> README \u6587\u4ef6\u5e26\u5173\u952e\u5b57\u67e5\u8be2 stars(fork): >(=) <\u6570\u5b57> <\u5173\u952e\u5b57> star \u6216 fork \u6570\u5927\u4e8e(\u6216\u7b49\u4e8e)\u6307\u5b9a\u6570\u5b57\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 stars(fork): 10..20 <\u5173\u952e\u8bcd> star \u6216 fork \u6570\u5728 10 \u5230 20 \u4e4b\u95f4\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 size:>=5000 <\u5173\u952e\u8bcd> \u9650\u5b9a\u4ed3\u5e93\u5927\u4e8e\u7b49\u4e8e 5000K \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 pushed(created):>2019-11-15 <\u5173\u952e\u5b57> \u66f4\u65b0 \u6216 \u521b\u5efa \u65e5\u671f\u5728 2019 \u5e74 11 \u6708 16 \u65e5\u4e4b\u540e\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 license:apache-2.0 <\u5173\u952e\u5b57> LICENSE \u4e3a apache-2.0 \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 language:java <\u5173\u952e\u8bcd> \u4ed3\u5e93\u8bed\u8a00\u4e3a Java \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 user:<\u7528\u6237\u540d> \u67e5\u8be2\u67d0\u4e2a\u7528\u6237\u7684\u9879\u76ee org:<\u7ec4\u7ec7\u540d> \u67e5\u8be2\u67d0\u4e2a\u7ec4\u7ec7\u7684\u9879\u76ee \u8fd9\u4e9b\u53ef\u4ee5\u6df7\u5408\u4f7f\u7528\uff0c\u4e5f\u53ef\u4ee5\u5148\u67e5\u627e\u67d0\u4e00\u7c7b\u7684 awesome \u4ed3\u5e93\uff0c\u7136\u540e\u4ece awesome \u5e93\u91cc\u627e\u76f8\u5173\u7684\u8d44\u6e90\uff0cgithub \u91cc\u6709\u5f88\u591a\u5f52\u7eb3\u4ed3\u5e93\uff0c\u53ef\u4ee5\u5148\u770b\u770b\u5df2\u6709\u7684\u6536\u96c6\uff0c\u6709\u65f6\u5019\u4f1a\u8282\u7701\u5f88\u591a\u65f6\u95f4","title":"GitHub \u7684\u9ad8\u7ea7\u641c\u7d22"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_9","text":"\u4f7f\u7528\u4e2d\uff0c\u5b9e\u9645\u4e0a\u6211\u4f1a\u53bb\u7279\u5b9a\u7f51\u7ad9\u627e\u4e00\u4e9b\u95ee\u9898\uff1a \u5982\u679c\u662f\u8bed\u8a00\u672c\u8eab\u76f8\u5173\uff0c\u6bd4\u5982 c++/Qt/OpenGL \u5982\u4f55\u5b9e\u73b0\u4ec0\u4e48\u529f\u80fd\uff0c\u53ef\u4ee5\u76f4\u63a5\u52a0\u4e0a site:stackoverflow.com \u5982\u679c\u662f\u5177\u4f53\u7684\u4e1a\u52a1/\u5f00\u53d1\u73af\u5883\u6216\u8005\u8f6f\u4ef6\u76f8\u5173\uff0c\u53ef\u4ee5\u5148\u5728 BugList \u3001IssueList \uff0c\u6216\u8005\u76f8\u5173\u8bba\u575b\u91cc\u5148\u627e\u4e00\u4e0b\uff0c\u6bd4\u5982 Qt \u7684\u95ee\u9898\u5c31\u53ef\u4ee5\u76f4\u63a5\u53bb Qt \u8bba\u575b\uff0cQGis \u6216\u8005 GDAL \u76f8\u5173\u95ee\u9898\u53ef\u4ee5\u5728 stackExchange \u91cc\u53bb\u641c QQ \u7fa4\u4e5f\u662f\u4e00\u4e2a\u63d0\u95ee\u7684\u5730\u65b9\uff0c\u4f46\u662f\u9700\u8981\u4f60\u63d0\u7684\u95ee\u9898\u6709\u610f\u4e49\uff0c\u5426\u5219\u5927\u90e8\u5206\u4eba\u4e0d\u4f1a\u56de\u4f60\uff0c\u800c\u4e14 QQ \u7fa4\u56de\u590d\u5e76\u4e0d\u53ca\u65f6\u3002 \u77e5\u4e4e\u4e13\u680f\u3001\u7b80\u4e66\u3001\u535a\u5ba2\u56ed\u3001 CSDN \u4e2d\u6709\u5927\u91cf\u4e2d\u6587\u7b14\u8bb0\uff0c\u8fd9\u4e9b\u90fd\u662f\u522b\u4eba\u56bc\u70c2\u4e86\u7684\u4e1c\u897f\uff0c\u57fa\u672c\u662f\u522b\u4eba\u8e29\u5751\u7684\u7ecf\u9a8c","title":"\u66f4\u591a\u6280\u5de7"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_10","text":"\u5927\u90e8\u5206\u7f16\u7a0b\u4eba\u90fd\u4f1a\u544a\u8bc9\u4f60\u522b\u7528\u767e\u5ea6\uff0c\u7528 Google \u6216\u8005 Bing \u56fd\u9645\u7248\uff0c\u4f46\u662f Bing \u4e2d\u6587\u641c\u7d22\u7684\u51c6\u786e\u7387\u5e76\u4e0d\u9ad8\uff0c Google \u9700\u8981\u79d1\u5b66\u4e0a\u7f51\uff0c\u5982\u679c\u771f\u7684\u9700\u8981\uff0c\u53ef\u4ee5\u4f7f\u7528 Ecosia \u3001 Yandex \u4e4b\u7c7b\u7684\u641c\u7d22\u5f15\u64ce\u3002\u800c\u4e14\u4e2d\u6587\u641c\u7d22\u6765\u8bf4\uff0c\u767e\u5ea6\u53ef\u80fd\u8fd8\u771f\u662f\u6700\u597d\u7684\u3002 \u767e\u5ea6\u7684\u95ee\u9898\u4e3b\u8981\u5728\u4e8e\u6392\u5e8f\u7b97\u6cd5\uff0c\u53ef\u80fd\u4e24\u9875\u90fd\u6ca1\u5565\u5bf9\u7684\u5185\u5bb9\uff0c\u4f46\u662f\u6536\u5f55\u6bd4 Bing \u8fd8\u662f\u597d\u4e00\u4e9b\u7684\uff08\u767e\u5ea6\u4ee5\u524d\u5e76\u4e0d\u9075\u5b88 robots.txt \uff0c\u4f1a\u6293\u53d6\u6240\u6709\u9875\u9762\uff0c\u6240\u4ee5\u6709\u4e9b\u4e2a\u4eba\u7f51\u7ad9\u751a\u81f3\u4e13\u95e8\u5bf9\u767e\u5ea6\u505a\u4e86\u5c4f\u853d\uff09\uff0c\u751a\u81f3\u6709\u65f6\u5019\u6bd4 Google \u597d\u3002\u4ece\u6570\u636e\u5e93\u6765\u8bf4\uff0c\u767e\u5ea6\u6bd4 Google \u548c Bing \u6536\u5f55\u7684\u4e2d\u6587\u5185\u5bb9\u8981\u591a\uff0c\u5982\u679c\u4f60\u78b0\u5230\u7684\u65f6\u4e2d\u6587\u76f8\u5173\u7684\u95ee\u9898\u800c\u4e14\u786e\u5b9e\u627e\u4e0d\u5230\u76f8\u5173\u5185\u5bb9\uff0c\u90a3\u4e48\u5c31\u7528\u767e\u5ea6\uff0c\u641c\u7d22\u5f15\u64ce\u662f\u5de5\u5177\uff0c\u80fd\u7528\u597d\u7528\u624d\u662f\u738b\u9053\u3002","title":"\u5173\u4e8e\u767e\u5ea6"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_11","text":"\u6211\u4eec\u9664\u4e86\u641c\u7d22\u5f15\u64ce\u67e5\u627e\u95ee\u9898\uff0c\u8fd8\u6709\u53ef\u80fd\u4f1a\u641c\u4e00\u4e9b\u4ee3\u7801\uff0c\u53ef\u80fd\u662f\u81ea\u5df1\u5199\u7684\uff0c\u4e5f\u53ef\u80fd\u662f\u9879\u76ee\u4e2d\u7684\uff0c\u4e0b\u9762\u63a8\u8350\u4e00\u4e9b\u5de5\u5177\uff1a \u4ee3\u7801\u68c0\u7d22\u6709\u4e24\u79cd\uff0c\u7b2c\u4e00\u662f\u672c\u5730\u7684\u4ee3\u7801\u68c0\u7d22\uff0c\u7b2c\u4e8c\u662f\u8981\u5199\u4e2a\u5565\u7b97\u6cd5\uff0c\u9700\u8981\u5728\u7f51\u4e0a\u641c\u7d22","title":"\u4ee3\u7801\u641c\u7d22"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_12","text":"ACK \u6216\u8005 ACK2\uff0c\u8001\u724c\u641c\u7d22\u5de5\u5177\uff0cperl \u5199\u7684 The Silver Searcher c \u5b9e\u73b0\u7684 The Platinum Searcher go \u5b9e\u73b0\u7684 FreeCommander \u81ea\u5e26\u7684\u641c\u7d22\uff0c\u5982\u679c\u662f\u56fa\u6001\u786c\u76d8\u901f\u5ea6\u8fd8\u4e0d\u9519 IDE \u81ea\u5e26\u7684\uff0c\u641c\u7d22\u6709\u4e9b\u65f6\u5019\u5e76\u4e0d\u592a\u597d\u7528","title":"\u672c\u5730\u4ee3\u7801\u641c\u7d22"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_13","text":"Searchcode \u641c\u7d22\u5f00\u6e90\u4ee3\u7801\uff0c\u901f\u5ea6\u6bd4\u8f83\u5feb \u4e00\u884c\u4ee3\u7801 \u56fd\u4ea7\u7684\uff0c\u6709\u4e9b\u56fd\u4ea7\u5de5\u5177\u5f88\u597d\u7528 [^ 1]: \u641c\u7d22\u5f15\u64ce\u5de5\u4f5c\u539f\u7406\u7b80\u4ecb - \u77e5\u4e4e (zhihu.com)","title":"\u5f00\u6e90\u4ee3\u7801\u641c\u7d22"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E7%BF%BB%E5%A2%99/","text":"\u7ffb\u5899 \u6b64\u94fe\u63a5 \u51fa\u73b0\u5728\u8fd9\u91cc\u7eaf\u5c5e\u4e8c\u8fdb\u5236 bit \u7684\u968f\u610f\u7ec4\u5408\uff0c\u4e0e\u672c\u4eba\u6beb\u65e0\u5173\u7cfb\u3002","title":"\u7ffb\u5899"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E7%BF%BB%E5%A2%99/#_1","text":"\u6b64\u94fe\u63a5 \u51fa\u73b0\u5728\u8fd9\u91cc\u7eaf\u5c5e\u4e8c\u8fdb\u5236 bit \u7684\u968f\u610f\u7ec4\u5408\uff0c\u4e0e\u672c\u4eba\u6beb\u65e0\u5173\u7cfb\u3002","title":"\u7ffb\u5899"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/","text":"CS162: Operating System \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1aC, x86\u6c47\u7f16 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a200 \u5c0f\u65f6+\uff0c\u4e0a\u4e0d\u5c01\u9876 \u8fd9\u95e8\u8bfe\u8ba9\u6211\u8bb0\u5fc6\u72b9\u65b0\u7684\u6709\u4e24\u4e2a\u90e8\u5206\uff1a \u9996\u5148\u662f\u6559\u6750\uff0c\u8fd9\u672c\u4e66\u7528\u7684\u6559\u6750 Operating Systems: Principles and Practice (2nd Edition) \u4e00\u5171\u56db\u5377\uff0c\u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u5f88\u597d\u5730\u5f25\u8865\u4e86 MIT6.S081 \u5728\u7406\u8bba\u77e5\u8bc6\u4e0a\u7684\u4e9b\u8bb8\u7a7a\u767d\uff0c\u975e\u5e38\u5efa\u8bae\u5927\u5bb6\u9605\u8bfb\u3002\u76f8\u5173\u8d44\u6e90\u4f1a\u5206\u4eab\u5728\u672c\u4e66\u7684\u7ecf\u5178\u4e66\u7c4d\u63a8\u8350\u6a21\u5757\u3002 \u5176\u6b21\u662f\u8fd9\u95e8\u8bfe\u7684 Project \u2014\u2014 Pintos\u3002Pintos \u662f\u7531 Ben Pfaff \u7b49\u4eba\u5728 x86 \u5e73\u53f0\u4e0a\u7f16\u5199\u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf\uff0cBen Pfaff \u751a\u81f3\u4e13\u95e8\u53d1\u4e86\u7bc7 paper \u6765\u9610\u8ff0 Pintos \u7684\u8bbe\u8ba1\u601d\u60f3\u3002 \u548c MIT \u7684 xv6 \u5c0f\u800c\u7cbe\u7684 lab \u8bbe\u8ba1\u7406\u5ff5\u4e0d\u540c\uff0cPintos \u66f4\u6ce8\u91cd\u7cfb\u7edf\u7684 Design and Implementation\u3002Pintos \u672c\u8eab\u4ec5\u4e00\u4e07\u884c\u5de6\u53f3\uff0c\u53ea\u63d0\u4f9b\u4e86\u64cd\u4f5c\u7cfb\u7edf\u6700\u57fa\u672c\u7684\u529f\u80fd\u3002\u800c 4 \u4e2aProject\uff0c\u5c31\u662f\u8ba9\u4f60\u5728\u8fd9\u4e2a\u6781\u4e3a\u7cbe\u7b80\u7684\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u4e0a\uff0c\u5206\u522b\u4e3a\u5176\u589e\u52a0\u7ebf\u7a0b\u8c03\u5ea6\u673a\u5236 (Project1)\uff0c\u7cfb\u7edf\u8c03\u7528 (Project2)\uff0c\u865a\u62df\u5185\u5b58 (Project3) \u4ee5\u53ca\u6587\u4ef6\u7cfb\u7edf (Project4)\u3002\u6240\u6709\u7684 Project \u90fd\u7ed9\u5b66\u751f\u7559\u6709\u5f88\u5927\u7684\u8bbe\u8ba1\u7a7a\u95f4\uff0c\u603b\u4ee3\u7801\u91cf\u5728 2000 \u884c\u5de6\u53f3\u3002\u6839\u636e Stanford \u5b66\u751f \u81ea\u5df1\u7684\u53cd\u9988 \uff0c\u5728 3-4 \u4eba\u7ec4\u961f\u7684\u60c5\u51b5\u4e0b\uff0c\u540e\u4e24\u4e2a Project \u7684\u4eba\u5747\u8017\u65f6\u4e5f\u5728 40 \u4e2a\u5c0f\u65f6\u4ee5\u4e0a\u3002 \u867d\u7136\u96be\u5ea6\u5f88\u5927\uff0c\u4f46 Stanford, Berkeley, JHU \u7b49\u591a\u6240\u7f8e\u56fd\u9876\u5c16\u540d\u6821\u7684\u64cd\u7edf\u8bfe\u7a0b\u5747\u91c7\u7528\u4e86 Pintos\u3002\u5982\u679c\u4f60\u771f\u7684\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u5f88\u611f\u5174\u8da3\uff0cPintos \u4f1a\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u7f16\u5199\u548c debug \u5e95\u5c42\u7cfb\u7edf\u4ee3\u7801\u7684\u80fd\u529b\u3002\u5728\u672c\u79d1\u9636\u6bb5\uff0c\u80fd\u81ea\u5df1\u8bbe\u8ba1\u3001\u5b9e\u73b0\u5e76 debug \u4e00\u4e2a\u5927\u578b\u7cfb\u7edf\uff0c\u662f\u4e00\u6bb5\u975e\u5e38\u73cd\u8d35\u7684\u7ecf\u5386\u3002 \u5317\u5927 2022 \u5e74\u6625\u5b63\u5b66\u671f\u7684\u64cd\u4f5c\u7cfb\u7edf\u5b9e\u9a8c\u73ed\u4e5f\u5c06\u4f1a\u9996\u6b21\u5f15\u5165 Pintos \u4f5c\u4e3a\u8bfe\u7a0b Project\u3002\u6211\u548c\u8be5\u8bfe\u7a0b\u7684 \u53e6\u4e00\u4f4d\u52a9\u6559 \u6574\u7406\u5e76\u5b8c\u5584\u4e86 Pintos \u7684 \u5b9e\u9a8c\u6587\u6863 \uff0c\u5e76\u5229\u7528 Docker \u914d\u7f6e\u4e86\u8de8\u5e73\u53f0\u7684\u5b9e\u9a8c\u73af\u5883\uff0c\u60f3\u81ea\u5b66\u7684\u540c\u5b66\u53ef\u4ee5\u6309\u6587\u6863\u81ea\u884c\u5b66\u4e60\u3002\u5728\u6bd5\u4e1a\u524d\u7684\u6700\u540e\u4e00\u4e2a\u5b66\u671f\uff0c\u5e0c\u671b\u80fd\u7528\u8fd9\u6837\u7684\u5c1d\u8bd5\uff0c\u8ba9\u66f4\u591a\u4eba\u7231\u4e0a\u7cfb\u7edf\u9886\u57df\uff0c\u4e3a\u56fd\u5185\u7684\u7cfb\u7edf\u7814\u7a76\u6dfb\u7816\u52a0\u74e6\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs162.org/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=YfHY0pvpRkk \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a Operating Systems: Principles and Practice (2nd Edition) \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://cs162.org/ \uff0c6 \u4e2a Homework, 3 \u4e2a Project\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b \u7531\u4e8e\u5317\u5927\u7684\u64cd\u7edf\u5b9e\u9a8c\u73ed\u91c7\u7528\u4e86\u8be5\u8bfe\u7a0b\u7684 Project\uff0c\u4e3a\u4e86\u9632\u6b62\u4ee3\u7801\u6284\u88ad\uff0c\u6211\u7684\u4ee3\u7801\u5b9e\u73b0\u6ca1\u6709\u5f00\u6e90\u3002","title":"UCB CS162: Operating System"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#cs162-operating-system","text":"","title":"CS162: Operating System"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1aC, x86\u6c47\u7f16 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a200 \u5c0f\u65f6+\uff0c\u4e0a\u4e0d\u5c01\u9876 \u8fd9\u95e8\u8bfe\u8ba9\u6211\u8bb0\u5fc6\u72b9\u65b0\u7684\u6709\u4e24\u4e2a\u90e8\u5206\uff1a \u9996\u5148\u662f\u6559\u6750\uff0c\u8fd9\u672c\u4e66\u7528\u7684\u6559\u6750 Operating Systems: Principles and Practice (2nd Edition) \u4e00\u5171\u56db\u5377\uff0c\u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u5f88\u597d\u5730\u5f25\u8865\u4e86 MIT6.S081 \u5728\u7406\u8bba\u77e5\u8bc6\u4e0a\u7684\u4e9b\u8bb8\u7a7a\u767d\uff0c\u975e\u5e38\u5efa\u8bae\u5927\u5bb6\u9605\u8bfb\u3002\u76f8\u5173\u8d44\u6e90\u4f1a\u5206\u4eab\u5728\u672c\u4e66\u7684\u7ecf\u5178\u4e66\u7c4d\u63a8\u8350\u6a21\u5757\u3002 \u5176\u6b21\u662f\u8fd9\u95e8\u8bfe\u7684 Project \u2014\u2014 Pintos\u3002Pintos \u662f\u7531 Ben Pfaff \u7b49\u4eba\u5728 x86 \u5e73\u53f0\u4e0a\u7f16\u5199\u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf\uff0cBen Pfaff \u751a\u81f3\u4e13\u95e8\u53d1\u4e86\u7bc7 paper \u6765\u9610\u8ff0 Pintos \u7684\u8bbe\u8ba1\u601d\u60f3\u3002 \u548c MIT \u7684 xv6 \u5c0f\u800c\u7cbe\u7684 lab \u8bbe\u8ba1\u7406\u5ff5\u4e0d\u540c\uff0cPintos \u66f4\u6ce8\u91cd\u7cfb\u7edf\u7684 Design and Implementation\u3002Pintos \u672c\u8eab\u4ec5\u4e00\u4e07\u884c\u5de6\u53f3\uff0c\u53ea\u63d0\u4f9b\u4e86\u64cd\u4f5c\u7cfb\u7edf\u6700\u57fa\u672c\u7684\u529f\u80fd\u3002\u800c 4 \u4e2aProject\uff0c\u5c31\u662f\u8ba9\u4f60\u5728\u8fd9\u4e2a\u6781\u4e3a\u7cbe\u7b80\u7684\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u4e0a\uff0c\u5206\u522b\u4e3a\u5176\u589e\u52a0\u7ebf\u7a0b\u8c03\u5ea6\u673a\u5236 (Project1)\uff0c\u7cfb\u7edf\u8c03\u7528 (Project2)\uff0c\u865a\u62df\u5185\u5b58 (Project3) \u4ee5\u53ca\u6587\u4ef6\u7cfb\u7edf (Project4)\u3002\u6240\u6709\u7684 Project \u90fd\u7ed9\u5b66\u751f\u7559\u6709\u5f88\u5927\u7684\u8bbe\u8ba1\u7a7a\u95f4\uff0c\u603b\u4ee3\u7801\u91cf\u5728 2000 \u884c\u5de6\u53f3\u3002\u6839\u636e Stanford \u5b66\u751f \u81ea\u5df1\u7684\u53cd\u9988 \uff0c\u5728 3-4 \u4eba\u7ec4\u961f\u7684\u60c5\u51b5\u4e0b\uff0c\u540e\u4e24\u4e2a Project \u7684\u4eba\u5747\u8017\u65f6\u4e5f\u5728 40 \u4e2a\u5c0f\u65f6\u4ee5\u4e0a\u3002 \u867d\u7136\u96be\u5ea6\u5f88\u5927\uff0c\u4f46 Stanford, Berkeley, JHU \u7b49\u591a\u6240\u7f8e\u56fd\u9876\u5c16\u540d\u6821\u7684\u64cd\u7edf\u8bfe\u7a0b\u5747\u91c7\u7528\u4e86 Pintos\u3002\u5982\u679c\u4f60\u771f\u7684\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u5f88\u611f\u5174\u8da3\uff0cPintos \u4f1a\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u7f16\u5199\u548c debug \u5e95\u5c42\u7cfb\u7edf\u4ee3\u7801\u7684\u80fd\u529b\u3002\u5728\u672c\u79d1\u9636\u6bb5\uff0c\u80fd\u81ea\u5df1\u8bbe\u8ba1\u3001\u5b9e\u73b0\u5e76 debug \u4e00\u4e2a\u5927\u578b\u7cfb\u7edf\uff0c\u662f\u4e00\u6bb5\u975e\u5e38\u73cd\u8d35\u7684\u7ecf\u5386\u3002 \u5317\u5927 2022 \u5e74\u6625\u5b63\u5b66\u671f\u7684\u64cd\u4f5c\u7cfb\u7edf\u5b9e\u9a8c\u73ed\u4e5f\u5c06\u4f1a\u9996\u6b21\u5f15\u5165 Pintos \u4f5c\u4e3a\u8bfe\u7a0b Project\u3002\u6211\u548c\u8be5\u8bfe\u7a0b\u7684 \u53e6\u4e00\u4f4d\u52a9\u6559 \u6574\u7406\u5e76\u5b8c\u5584\u4e86 Pintos \u7684 \u5b9e\u9a8c\u6587\u6863 \uff0c\u5e76\u5229\u7528 Docker \u914d\u7f6e\u4e86\u8de8\u5e73\u53f0\u7684\u5b9e\u9a8c\u73af\u5883\uff0c\u60f3\u81ea\u5b66\u7684\u540c\u5b66\u53ef\u4ee5\u6309\u6587\u6863\u81ea\u884c\u5b66\u4e60\u3002\u5728\u6bd5\u4e1a\u524d\u7684\u6700\u540e\u4e00\u4e2a\u5b66\u671f\uff0c\u5e0c\u671b\u80fd\u7528\u8fd9\u6837\u7684\u5c1d\u8bd5\uff0c\u8ba9\u66f4\u591a\u4eba\u7231\u4e0a\u7cfb\u7edf\u9886\u57df\uff0c\u4e3a\u56fd\u5185\u7684\u7cfb\u7edf\u7814\u7a76\u6dfb\u7816\u52a0\u74e6\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs162.org/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=YfHY0pvpRkk \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a Operating Systems: Principles and Practice (2nd Edition) \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://cs162.org/ \uff0c6 \u4e2a Homework, 3 \u4e2a Project\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#_3","text":"\u7531\u4e8e\u5317\u5927\u7684\u64cd\u7edf\u5b9e\u9a8c\u73ed\u91c7\u7528\u4e86\u8be5\u8bfe\u7a0b\u7684 Project\uff0c\u4e3a\u4e86\u9632\u6b62\u4ee3\u7801\u6284\u88ad\uff0c\u6211\u7684\u4ee3\u7801\u5b9e\u73b0\u6ca1\u6709\u5f00\u6e90\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/","text":"HIT OS: Operating System \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u54c8\u5c14\u6ee8\u5de5\u4e1a\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1aC \u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bed\u8a00\u3001\u6c47\u7f16 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6+ \u5982\u679c\u4f60\u5728\u77e5\u4e4e\u4e0a\u641c\u7d22\u201c\u64cd\u4f5c\u7cfb\u7edf\u5982\u4f55\u81ea\u5b66\u201d\u3001\u201c\u64cd\u4f5c\u7cfb\u7edf\u7684\u516c\u5f00\u8bfe\u63a8\u8350\u201d\u3001\u201c\u6709\u54ea\u4e9b\u8ba9\u4f60\u76f8\u89c1\u6068\u665a\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u201d\u7b49\u95ee\u9898\uff0c\u54c8\u5de5\u5927\u674e\u6cbb\u519b\u8001\u5e08\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u5927\u6982\u7387\u90fd\u4f1a\u5728\u67d0\u6761\u9ad8\u8d5e\u56de\u7b54\u7684\u63a8\u8350\u91cc\u3002\u8fd9\u662f\u4e00\u95e8\u77e5\u540d\u5ea6\u8f83\u9ad8\u3001\u9887\u53d7\u6b22\u8fce\u7684\u4e2d\u6587\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002 \u8fd9\u95e8\u8bfe\u5584\u4e8e\u7ad9\u5728\u5b66\u751f\u89d2\u5ea6\u5faa\u5faa\u5584\u8bf1\u3002\u4f8b\u5982\uff0c\u8bfe\u7a0b\u4ece\u201c\u5f31\u5f31\u5730\u95ee\uff0c\u4ec0\u4e48\u662f\u64cd\u4f5c\u7cfb\u7edf\u201d\u6765\u201c\u63ed\u5f00\u64cd\u4f5c\u7cfb\u7edf\u94a2\u7434\u7684\u76d6\u5b50\u201d\uff0c\u4ece CPU \u7684\u76f4\u89c2\u7ba1\u7406\u5f15\u51fa\u8fdb\u7a0b\u6982\u5ff5\uff0c\u4ece\u201c\u90a3\u5c31\u9996\u5148\u8ba9\u7a0b\u5e8f\u8fdb\u5165\u5185\u5b58\u201d\u5f15\u51fa\u5185\u5b58\u7ba1\u7406\u3002 \u8fd9\u95e8\u8bfe\u6ce8\u91cd\u7406\u8bba\u548c\u5b9e\u8df5\u76f8\u7ed3\u5408\u3002\u64cd\u4f5c\u7cfb\u7edf\u662f\u770b\u5f97\u89c1\u6478\u5f97\u7740\u7684\u4e1c\u897f\uff0c\u674e\u8001\u5e08\u53cd\u590d\u5f3a\u8c03\u4e00\u5b9a\u8981\u505a\u5b9e\u9a8c\uff0c\u5982\u679c\u53ea\u770b\u89c6\u9891\u7eb8\u4e0a\u8c08\u5175\uff0c\u662f\u5b66\u4e0d\u597d\u64cd\u4f5c\u7cfb\u7edf\u7684\u3002\u8bfe\u7a0b\u57fa\u4e8e\u5b9e\u9645\u7684 Linux 0.11 \u6e90\u7801\uff08\u603b\u4ee3\u7801\u91cf\u7ea6\u4e24\u4e07\u884c\uff09\u8fdb\u884c\u8bb2\u89e3\u548c\u5b9e\u9a8c\uff0c\u5171\u6709\u516b\u4e2a\u5c0f\u5b9e\u9a8c\uff0c\u56db\u4e2a\u5927\u5b9e\u9a8c\u3002 \u5f53\u7136\uff0c\u8fd9\u95e8\u8bfe\u4e5f\u6709\u4e00\u4e9b\u7455\u4e0d\u63a9\u745c\u7684\u5730\u65b9\u3002\u4f8b\u5982\uff0cLinux 0.11 \u662f\u5f88\u65e9\u671f\u5de5\u4e1a\u754c\u7684\u4ee3\u7801\uff0c\u4e0d\u662f\u4e3a\u4e86\u6559\u5b66\u800c\u8bbe\u8ba1\u7684\u3002\u56e0\u6b64\u5728\u5b9e\u9a8c\u8fc7\u7a0b\u4e2d\u4f1a\u6709\u4e00\u4e9b\u907f\u4e0d\u5f00\u7684\u6666\u6da9\u96be\u61c2\u7684\u539f\u751f\u4ee3\u7801\uff0c\u4f46\u5b83\u4eec\u5bf9\u7406\u89e3\u64cd\u4f5c\u7cfb\u7edf\u5176\u5b9e\u5e76\u6ca1\u6709\u592a\u5927\u5e2e\u52a9\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.icourse163.org/course/HIT-1002531008 \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV19r4y1b7Aw/?p=1 \u8bfe\u7a0b\u6559\u6750\u4e00\uff1a \u300aLinux \u5185\u6838\u5b8c\u5168\u6ce8\u91ca\u300b \u8bfe\u7a0b\u6559\u6750\u4e8c\uff1a \u300a\u64cd\u4f5c\u7cfb\u7edf\u539f\u7406\u3001\u5b9e\u73b0\u4e0e\u5b9e\u8df5\u300b \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://www.lanqiao.cn/courses/115 \u8d44\u6e90\u6c47\u603b @NaChen95 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7684\u516b\u4e2a\u5b9e\u9a8c\u4f5c\u4e1a\u7684\u539f\u7406\u5206\u6790\u548c\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 NaChen95 / Linux0.11 \u4e2d\u3002","title":"HIT OS: Operating System"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/#hit-os-operating-system","text":"","title":"HIT OS: Operating System"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u54c8\u5c14\u6ee8\u5de5\u4e1a\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1aC \u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bed\u8a00\u3001\u6c47\u7f16 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6+ \u5982\u679c\u4f60\u5728\u77e5\u4e4e\u4e0a\u641c\u7d22\u201c\u64cd\u4f5c\u7cfb\u7edf\u5982\u4f55\u81ea\u5b66\u201d\u3001\u201c\u64cd\u4f5c\u7cfb\u7edf\u7684\u516c\u5f00\u8bfe\u63a8\u8350\u201d\u3001\u201c\u6709\u54ea\u4e9b\u8ba9\u4f60\u76f8\u89c1\u6068\u665a\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u201d\u7b49\u95ee\u9898\uff0c\u54c8\u5de5\u5927\u674e\u6cbb\u519b\u8001\u5e08\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u5927\u6982\u7387\u90fd\u4f1a\u5728\u67d0\u6761\u9ad8\u8d5e\u56de\u7b54\u7684\u63a8\u8350\u91cc\u3002\u8fd9\u662f\u4e00\u95e8\u77e5\u540d\u5ea6\u8f83\u9ad8\u3001\u9887\u53d7\u6b22\u8fce\u7684\u4e2d\u6587\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002 \u8fd9\u95e8\u8bfe\u5584\u4e8e\u7ad9\u5728\u5b66\u751f\u89d2\u5ea6\u5faa\u5faa\u5584\u8bf1\u3002\u4f8b\u5982\uff0c\u8bfe\u7a0b\u4ece\u201c\u5f31\u5f31\u5730\u95ee\uff0c\u4ec0\u4e48\u662f\u64cd\u4f5c\u7cfb\u7edf\u201d\u6765\u201c\u63ed\u5f00\u64cd\u4f5c\u7cfb\u7edf\u94a2\u7434\u7684\u76d6\u5b50\u201d\uff0c\u4ece CPU \u7684\u76f4\u89c2\u7ba1\u7406\u5f15\u51fa\u8fdb\u7a0b\u6982\u5ff5\uff0c\u4ece\u201c\u90a3\u5c31\u9996\u5148\u8ba9\u7a0b\u5e8f\u8fdb\u5165\u5185\u5b58\u201d\u5f15\u51fa\u5185\u5b58\u7ba1\u7406\u3002 \u8fd9\u95e8\u8bfe\u6ce8\u91cd\u7406\u8bba\u548c\u5b9e\u8df5\u76f8\u7ed3\u5408\u3002\u64cd\u4f5c\u7cfb\u7edf\u662f\u770b\u5f97\u89c1\u6478\u5f97\u7740\u7684\u4e1c\u897f\uff0c\u674e\u8001\u5e08\u53cd\u590d\u5f3a\u8c03\u4e00\u5b9a\u8981\u505a\u5b9e\u9a8c\uff0c\u5982\u679c\u53ea\u770b\u89c6\u9891\u7eb8\u4e0a\u8c08\u5175\uff0c\u662f\u5b66\u4e0d\u597d\u64cd\u4f5c\u7cfb\u7edf\u7684\u3002\u8bfe\u7a0b\u57fa\u4e8e\u5b9e\u9645\u7684 Linux 0.11 \u6e90\u7801\uff08\u603b\u4ee3\u7801\u91cf\u7ea6\u4e24\u4e07\u884c\uff09\u8fdb\u884c\u8bb2\u89e3\u548c\u5b9e\u9a8c\uff0c\u5171\u6709\u516b\u4e2a\u5c0f\u5b9e\u9a8c\uff0c\u56db\u4e2a\u5927\u5b9e\u9a8c\u3002 \u5f53\u7136\uff0c\u8fd9\u95e8\u8bfe\u4e5f\u6709\u4e00\u4e9b\u7455\u4e0d\u63a9\u745c\u7684\u5730\u65b9\u3002\u4f8b\u5982\uff0cLinux 0.11 \u662f\u5f88\u65e9\u671f\u5de5\u4e1a\u754c\u7684\u4ee3\u7801\uff0c\u4e0d\u662f\u4e3a\u4e86\u6559\u5b66\u800c\u8bbe\u8ba1\u7684\u3002\u56e0\u6b64\u5728\u5b9e\u9a8c\u8fc7\u7a0b\u4e2d\u4f1a\u6709\u4e00\u4e9b\u907f\u4e0d\u5f00\u7684\u6666\u6da9\u96be\u61c2\u7684\u539f\u751f\u4ee3\u7801\uff0c\u4f46\u5b83\u4eec\u5bf9\u7406\u89e3\u64cd\u4f5c\u7cfb\u7edf\u5176\u5b9e\u5e76\u6ca1\u6709\u592a\u5927\u5e2e\u52a9\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.icourse163.org/course/HIT-1002531008 \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV19r4y1b7Aw/?p=1 \u8bfe\u7a0b\u6559\u6750\u4e00\uff1a \u300aLinux \u5185\u6838\u5b8c\u5168\u6ce8\u91ca\u300b \u8bfe\u7a0b\u6559\u6750\u4e8c\uff1a \u300a\u64cd\u4f5c\u7cfb\u7edf\u539f\u7406\u3001\u5b9e\u73b0\u4e0e\u5b9e\u8df5\u300b \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://www.lanqiao.cn/courses/115","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/#_3","text":"@NaChen95 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7684\u516b\u4e2a\u5b9e\u9a8c\u4f5c\u4e1a\u7684\u539f\u7406\u5206\u6790\u548c\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 NaChen95 / Linux0.11 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/","text":"MIT 6.S081: Operating System Engineering \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u9ebb\u7701\u7406\u5de5\u5b66\u9662 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784 + \u624e\u5b9e\u7684 C \u8bed\u8a00\u529f\u5e95 + RISC-V \u6c47\u7f16\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aC, RISC-V \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u5927\u540d\u9f0e\u9f0e\u7684 PDOS \u5b9e\u9a8c\u5ba4\u5f00\u8bbe\u7684\u9762\u5411MIT\u672c\u79d1\u751f\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u5f00\u8bbe\u8fd9\u95e8\u8bfe\u7684\u6559\u6388\u4e4b\u4e00 \u2014\u2014 Robert Morris \u6559\u6388\u66fe\u662f\u4e00\u4f4d\u9876\u5c16\u9ed1\u5ba2\uff0c\u4e16\u754c\u4e0a\u7b2c\u4e00\u4e2a\u8815\u866b\u75c5\u6bd2 Morris \u5c31\u662f\u51fa\u81ea\u4ed6\u4e4b\u624b\u3002 \u8fd9\u95e8\u8bfe\u7684\u524d\u8eab\u662f MIT \u8457\u540d\u7684\u8bfe\u7a0b 6.828\uff0cMIT \u7684\u51e0\u4f4d\u6559\u6388\u4e3a\u4e86\u8fd9\u95e8\u8bfe\u66fe\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a\u57fa\u4e8e x86 \u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf JOS\uff0c\u88ab\u4f17\u591a\u540d\u6821\u4f5c\u4e3a\u81ea\u5df1\u7684\u64cd\u7edf\u8bfe\u7a0b\u5b9e\u9a8c\u3002\u4f46\u968f\u7740 RISC-V \u7684\u6a2a\u7a7a\u51fa\u4e16\uff0c\u8fd9\u51e0\u4f4d\u6559\u6388\u53c8\u57fa\u4e8e RISC-V \u5f00\u53d1\u4e86\u4e00\u4e2a\u65b0\u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf xv6\uff0c\u5e76\u5f00\u8bbe\u4e86 MIT6.S081 \u8fd9\u95e8\u8bfe\u3002\u7531\u4e8e RISC-V \u8f7b\u4fbf\u6613\u5b66\u7684\u7279\u70b9\uff0c\u5b66\u751f\u4e0d\u9700\u8981\u50cf\u6b64\u524d JOS \u4e00\u6837\u7ea0\u7ed3\u4e8e\u4f17\u591a x86 \u201c\u7279\u6709\u7684\u201d\u4e3a\u4e86\u517c\u5bb9\u800c\u9057\u7559\u4e0b\u6765\u7684\u590d\u6742\u673a\u5236\uff0c\u800c\u53ef\u4ee5\u4e13\u6ce8\u4e8e\u64cd\u4f5c\u7cfb\u7edf\u5c42\u9762\u7684\u5f00\u53d1\u3002 \u8fd9\u51e0\u4f4d\u6559\u6388\u8fd8\u4e13\u95e8\u5199\u4e86\u4e00\u672c \u6559\u7a0b \uff0c\u8be6\u7ec6\u8bb2\u89e3\u4e86 xv6 \u7684\u8bbe\u8ba1\u601d\u60f3\u548c\u5b9e\u73b0\u7ec6\u8282\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bb2\u6388\u4e5f\u5f88\u6709\u610f\u601d\uff0c\u8001\u5e08\u4f1a\u5e26\u7740\u5b66\u751f\u4f9d\u7167 xv6 \u7684\u6e90\u4ee3\u7801\u53bb\u7406\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u4f17\u591a\u673a\u5236\u548c\u8bbe\u8ba1\u7ec6\u8282\uff0c\u800c\u4e0d\u662f\u505c\u7559\u4e8e\u7406\u8bba\u77e5\u8bc6\u3002\u6bcf\u5468\u90fd\u4f1a\u6709\u4e00\u4e2a lab\uff0c\u8ba9\u4f60\u5728 xv6 \u4e0a\u589e\u52a0\u4e00\u4e9b\u65b0\u7684\u673a\u5236\u548c\u7279\u6027\uff0c\u975e\u5e38\u6ce8\u91cd\u5b66\u751f\u52a8\u624b\u80fd\u529b\u7684\u57f9\u517b\u3002\u6574\u4e2a\u5b66\u671f\u4e00\u5171\u6709 11 \u4e2a lab\uff0c\u8ba9\u4f60\u5168\u65b9\u4f4d\u5730\u6df1\u523b\u7406\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u6bcf\u4e2a\u90e8\u5206\uff0c\u975e\u5e38\u6709\u6210\u5c31\u611f\u3002\u800c\u4e14\u6240\u6709\u7684lab\u90fd\u6709\u7740\u975e\u5e38\u5b8c\u5584\u7684\u6d4b\u8bd5\u6846\u67b6\uff0c\u6709\u7684\u6d4b\u8bd5\u4ee3\u7801\u751a\u81f3\u4e0a\u5343\u884c\uff0c\u8ba9\u4eba\u4e0d\u5f97\u4e0d\u4f69\u670d MIT \u7684\u51e0\u4f4d\u6559\u6388\u4e3a\u4e86\u6559\u597d\u8fd9\u95e8\u8bfe\u6240\u4ed8\u51fa\u7684\u5fc3\u8840\u3002 \u8fd9\u95e8\u8bfe\u7684\u540e\u534a\u7a0b\u4f1a\u8bb2\u6388\u64cd\u4f5c\u7cfb\u7edf\u9886\u57df\u7684\u591a\u7bc7\u7ecf\u5178\u8bba\u6587\uff0c\u6d89\u53ca\u6587\u4ef6\u7cfb\u7edf\u3001\u7cfb\u7edf\u5b89\u5168\u3001\u7f51\u7edc\u3001\u865a\u62df\u5316\u7b49\u7b49\u591a\u4e2a\u4e3b\u9898\uff0c\u8ba9\u4f60\u6709\u673a\u4f1a\u63a5\u89e6\u5230\u5b66\u754c\u6700\u524d\u6cbf\u7684\u7814\u7a76\u65b9\u5411\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://pdos.csail.mit.edu/6.828/2021/schedule.html \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=L6YqHxYHa7A \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\u7ffb\u8bd1\u6587\u6863\uff1a https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/ \u8bfe\u7a0b\u6559\u6750\uff1a https://pdos.csail.mit.edu/6.828/2021/xv6/book-riscv-rev2.pdf \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://pdos.csail.mit.edu/6.828/2021/schedule.html \uff0c11\u4e2alab\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 xv6 \u8865\u5145\u8d44\u6e90 xv6 \u64cd\u4f5c\u7cfb\u7edf\u7684\u6df1\u5165\u8bb2\u89e3 xv6 \u4e2d\u6587\u6587\u6863 xv6 \u5173\u952e\u6e90\u7801\u9010\u884c\u89e3\u8bfb + \u6574\u4f53\u67b6\u6784\u5206\u6790 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/MIT6.S081-2020fall - GitHub \u4e2d\u3002 @ KuangjuX \u7f16\u5199\u4e86 MIT 6.S081 \u7684 lab \u7684 \u9898\u89e3 \uff0c\u91cc\u9762\u6709\u8be6\u7ec6\u7684\u89e3\u6cd5\u548c\u8865\u5145\u77e5\u8bc6\u3002\u53e6\u5916\uff0c@ KuangjuX \u8fd8\u4f7f\u7528 Rust \u8bed\u8a00\u91cd\u65b0\u5b9e\u73b0\u4e86 xv6-riscv \u64cd\u4f5c\u7cfb\u7edf\uff1a xv6-rust \uff0c\u91cc\u9762\u5bf9\u4e8e xv6-riscv \u6709\u66f4\u4e3a\u8be6\u7ec6\u7684\u601d\u8003\u548c\u8ba8\u8bba\uff0c\u611f\u5174\u8da3\u7684\u540c\u5b66\u53ef\u4ee5\u770b\u4e00\u4e0b\u54e6\u3002 \u4e00\u4e9b\u53ef\u4ee5\u53c2\u8003\u7684\u535a\u5ba2 doraemonzzz Xiao Fan (\u6a0a\u6f47) Miigon's blog Zhou Fang Yichun's Blog \u89e3\u6790Ta PKUFlyingPig \u661f\u9065\u89c1","title":"MIT 6.S081: Operating System Engineering"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#mit-6s081-operating-system-engineering","text":"","title":"MIT 6.S081: Operating System Engineering"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u9ebb\u7701\u7406\u5de5\u5b66\u9662 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784 + \u624e\u5b9e\u7684 C \u8bed\u8a00\u529f\u5e95 + RISC-V \u6c47\u7f16\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aC, RISC-V \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u5927\u540d\u9f0e\u9f0e\u7684 PDOS \u5b9e\u9a8c\u5ba4\u5f00\u8bbe\u7684\u9762\u5411MIT\u672c\u79d1\u751f\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u5f00\u8bbe\u8fd9\u95e8\u8bfe\u7684\u6559\u6388\u4e4b\u4e00 \u2014\u2014 Robert Morris \u6559\u6388\u66fe\u662f\u4e00\u4f4d\u9876\u5c16\u9ed1\u5ba2\uff0c\u4e16\u754c\u4e0a\u7b2c\u4e00\u4e2a\u8815\u866b\u75c5\u6bd2 Morris \u5c31\u662f\u51fa\u81ea\u4ed6\u4e4b\u624b\u3002 \u8fd9\u95e8\u8bfe\u7684\u524d\u8eab\u662f MIT \u8457\u540d\u7684\u8bfe\u7a0b 6.828\uff0cMIT \u7684\u51e0\u4f4d\u6559\u6388\u4e3a\u4e86\u8fd9\u95e8\u8bfe\u66fe\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a\u57fa\u4e8e x86 \u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf JOS\uff0c\u88ab\u4f17\u591a\u540d\u6821\u4f5c\u4e3a\u81ea\u5df1\u7684\u64cd\u7edf\u8bfe\u7a0b\u5b9e\u9a8c\u3002\u4f46\u968f\u7740 RISC-V \u7684\u6a2a\u7a7a\u51fa\u4e16\uff0c\u8fd9\u51e0\u4f4d\u6559\u6388\u53c8\u57fa\u4e8e RISC-V \u5f00\u53d1\u4e86\u4e00\u4e2a\u65b0\u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf xv6\uff0c\u5e76\u5f00\u8bbe\u4e86 MIT6.S081 \u8fd9\u95e8\u8bfe\u3002\u7531\u4e8e RISC-V \u8f7b\u4fbf\u6613\u5b66\u7684\u7279\u70b9\uff0c\u5b66\u751f\u4e0d\u9700\u8981\u50cf\u6b64\u524d JOS \u4e00\u6837\u7ea0\u7ed3\u4e8e\u4f17\u591a x86 \u201c\u7279\u6709\u7684\u201d\u4e3a\u4e86\u517c\u5bb9\u800c\u9057\u7559\u4e0b\u6765\u7684\u590d\u6742\u673a\u5236\uff0c\u800c\u53ef\u4ee5\u4e13\u6ce8\u4e8e\u64cd\u4f5c\u7cfb\u7edf\u5c42\u9762\u7684\u5f00\u53d1\u3002 \u8fd9\u51e0\u4f4d\u6559\u6388\u8fd8\u4e13\u95e8\u5199\u4e86\u4e00\u672c \u6559\u7a0b \uff0c\u8be6\u7ec6\u8bb2\u89e3\u4e86 xv6 \u7684\u8bbe\u8ba1\u601d\u60f3\u548c\u5b9e\u73b0\u7ec6\u8282\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bb2\u6388\u4e5f\u5f88\u6709\u610f\u601d\uff0c\u8001\u5e08\u4f1a\u5e26\u7740\u5b66\u751f\u4f9d\u7167 xv6 \u7684\u6e90\u4ee3\u7801\u53bb\u7406\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u4f17\u591a\u673a\u5236\u548c\u8bbe\u8ba1\u7ec6\u8282\uff0c\u800c\u4e0d\u662f\u505c\u7559\u4e8e\u7406\u8bba\u77e5\u8bc6\u3002\u6bcf\u5468\u90fd\u4f1a\u6709\u4e00\u4e2a lab\uff0c\u8ba9\u4f60\u5728 xv6 \u4e0a\u589e\u52a0\u4e00\u4e9b\u65b0\u7684\u673a\u5236\u548c\u7279\u6027\uff0c\u975e\u5e38\u6ce8\u91cd\u5b66\u751f\u52a8\u624b\u80fd\u529b\u7684\u57f9\u517b\u3002\u6574\u4e2a\u5b66\u671f\u4e00\u5171\u6709 11 \u4e2a lab\uff0c\u8ba9\u4f60\u5168\u65b9\u4f4d\u5730\u6df1\u523b\u7406\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u6bcf\u4e2a\u90e8\u5206\uff0c\u975e\u5e38\u6709\u6210\u5c31\u611f\u3002\u800c\u4e14\u6240\u6709\u7684lab\u90fd\u6709\u7740\u975e\u5e38\u5b8c\u5584\u7684\u6d4b\u8bd5\u6846\u67b6\uff0c\u6709\u7684\u6d4b\u8bd5\u4ee3\u7801\u751a\u81f3\u4e0a\u5343\u884c\uff0c\u8ba9\u4eba\u4e0d\u5f97\u4e0d\u4f69\u670d MIT \u7684\u51e0\u4f4d\u6559\u6388\u4e3a\u4e86\u6559\u597d\u8fd9\u95e8\u8bfe\u6240\u4ed8\u51fa\u7684\u5fc3\u8840\u3002 \u8fd9\u95e8\u8bfe\u7684\u540e\u534a\u7a0b\u4f1a\u8bb2\u6388\u64cd\u4f5c\u7cfb\u7edf\u9886\u57df\u7684\u591a\u7bc7\u7ecf\u5178\u8bba\u6587\uff0c\u6d89\u53ca\u6587\u4ef6\u7cfb\u7edf\u3001\u7cfb\u7edf\u5b89\u5168\u3001\u7f51\u7edc\u3001\u865a\u62df\u5316\u7b49\u7b49\u591a\u4e2a\u4e3b\u9898\uff0c\u8ba9\u4f60\u6709\u673a\u4f1a\u63a5\u89e6\u5230\u5b66\u754c\u6700\u524d\u6cbf\u7684\u7814\u7a76\u65b9\u5411\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://pdos.csail.mit.edu/6.828/2021/schedule.html \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=L6YqHxYHa7A \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\u7ffb\u8bd1\u6587\u6863\uff1a https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/ \u8bfe\u7a0b\u6559\u6750\uff1a https://pdos.csail.mit.edu/6.828/2021/xv6/book-riscv-rev2.pdf \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://pdos.csail.mit.edu/6.828/2021/schedule.html \uff0c11\u4e2alab\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#xv6","text":"xv6 \u64cd\u4f5c\u7cfb\u7edf\u7684\u6df1\u5165\u8bb2\u89e3 xv6 \u4e2d\u6587\u6587\u6863 xv6 \u5173\u952e\u6e90\u7801\u9010\u884c\u89e3\u8bfb + \u6574\u4f53\u67b6\u6784\u5206\u6790","title":"xv6 \u8865\u5145\u8d44\u6e90"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/MIT6.S081-2020fall - GitHub \u4e2d\u3002 @ KuangjuX \u7f16\u5199\u4e86 MIT 6.S081 \u7684 lab \u7684 \u9898\u89e3 \uff0c\u91cc\u9762\u6709\u8be6\u7ec6\u7684\u89e3\u6cd5\u548c\u8865\u5145\u77e5\u8bc6\u3002\u53e6\u5916\uff0c@ KuangjuX \u8fd8\u4f7f\u7528 Rust \u8bed\u8a00\u91cd\u65b0\u5b9e\u73b0\u4e86 xv6-riscv \u64cd\u4f5c\u7cfb\u7edf\uff1a xv6-rust \uff0c\u91cc\u9762\u5bf9\u4e8e xv6-riscv \u6709\u66f4\u4e3a\u8be6\u7ec6\u7684\u601d\u8003\u548c\u8ba8\u8bba\uff0c\u611f\u5174\u8da3\u7684\u540c\u5b66\u53ef\u4ee5\u770b\u4e00\u4e0b\u54e6\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#_4","text":"doraemonzzz Xiao Fan (\u6a0a\u6f47) Miigon's blog Zhou Fang Yichun's Blog \u89e3\u6790Ta PKUFlyingPig \u661f\u9065\u89c1","title":"\u4e00\u4e9b\u53ef\u4ee5\u53c2\u8003\u7684\u535a\u5ba2"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/","text":"NJU OS: Operating System Design and Implementation \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u5357\u4eac\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784 + \u624e\u5b9e\u7684 C \u8bed\u8a00\u529f\u5e95 \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bed\u8a00 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u4e4b\u524d\u4e00\u76f4\u542c\u8bf4\u5357\u5927\u7684\u848b\u708e\u5ca9\u8001\u5e08\u5f00\u8bbe\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u8bb2\u5f97\u5f88\u597d\uff0c\u4e45\u95fb\u4e0d\u5982\u4e00\u89c1\uff0c\u8fd9\u5b66\u671f\u6709\u5e78\u5728 B \u7ad9\u89c2\u770b\u4e86\u848b\u8001\u5e08\u7684\u8bfe\u7a0b\u89c6\u9891\uff0c\u786e\u5b9e\u6536\u83b7\u826f\u591a\u3002\u848b\u8001\u5e08\u4f5c\u4e3a\u975e\u5e38\u5e74\u8f7b\u7684\u8001\u5e08\uff0c\u6709\u7740\u4e30\u5bcc\u7684\u4e00\u7ebf\u4ee3\u7801\u7684\u7ecf\u9a8c\uff0c\u56e0\u6b64\u8bfe\u7a0b\u8bb2\u6388\u6709\u7740\u6ee1\u6ee1\u7684 Hacker \u98ce\u683c\uff0c\u8bfe\u4e0a\u7ecf\u5e38\u201c\u4e00\u8a00\u4e0d\u5408\u201d\u5c31\u5728\u547d\u4ee4\u884c\u91cc\u5f00\u59cb\u5199\u4ee3\u7801\uff0c\u5f88\u591a\u91cd\u8981\u77e5\u8bc6\u70b9\u4e5f\u90fd\u914d\u6709\u751f\u52a8\u76f4\u767d\u7684\u4ee3\u7801\u793a\u4f8b\u3002\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\u7684\u5c31\u662f\u8001\u5e08\u4e3a\u4e86\u8ba9\u5b66\u751f\u66f4\u597d\u5730\u7406\u89e3\u52a8\u6001\u94fe\u63a5\u5e93\u7684\u8bbe\u8ba1\u601d\u60f3\uff0c\u751a\u81f3\u4e13\u95e8\u5b9e\u73b0\u4e86\u4e00\u4e2a\u8ff7\u4f60\u7684\u53ef\u6267\u884c\u6587\u4ef6\u4e0e\u4e00\u7cfb\u5217\u7684\u4e8c\u8fdb\u5236\u5de5\u5177\uff0c\u8ba9\u5f88\u591a\u56f0\u6270\u6211\u591a\u5e74\u7684\u95ee\u9898\u90fd\u5f97\u5230\u4e86\u89e3\u7b54\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bb2\u6388\u601d\u8def\u4e5f\u975e\u5e38\u6709\u8da3\uff0c\u848b\u8001\u5e08\u5148\u4ece\u201c\u7a0b\u5e8f\u5c31\u662f\u72b6\u6001\u673a\u201d\u8fd9\u4e00\u89c6\u89d2\u5165\u624b\uff0c\u4e3a\u201c\u4e07\u6076\u4e4b\u6e90\u201d\u5e76\u53d1\u7a0b\u5e8f\u5efa\u7acb\u4e86\u72b6\u6001\u673a\u7684\u8f6c\u5316\u6a21\u578b\uff0c\u5e76\u5728\u6b64\u57fa\u7840\u4e0a\u8bb2\u6388\u4e86\u5e76\u53d1\u63a7\u5236\u7684\u5e38\u89c1\u624b\u6bb5\u4ee5\u53ca\u5e76\u53d1 bug \u7684\u5e94\u5bf9\u65b9\u6cd5\u3002\u63a5\u7740\u848b\u8001\u5e08\u5c06\u64cd\u4f5c\u7cfb\u7edf\u770b\u4f5c\u4e00\u7cfb\u5217\u5bf9\u8c61\uff08\u8fdb\u7a0b/\u7ebf\u7a0b\u3001\u5730\u5740\u7a7a\u95f4\u3001\u6587\u4ef6\u3001\u8bbe\u5907\u7b49\u7b49\uff09\u4ee5\u53ca\u64cd\u4f5c\u5b83\u4eec\u7684 API \uff08\u7cfb\u7edf\u8c03\u7528\uff09\u5e76\u7ed3\u5408\u4e30\u5bcc\u7684\u5b9e\u9645\u4f8b\u5b50\u4ecb\u7ecd\u4e86\u64cd\u4f5c\u7cfb\u7edf\u662f\u5982\u4f55\u5229\u7528\u8fd9\u7cfb\u5217\u5bf9\u8c61\u865a\u62df\u5316\u786c\u4ef6\u8d44\u6e90\u5e76\u7ed9\u5e94\u7528\u8f6f\u4ef6\u63d0\u4f9b\u5404\u7c7b\u670d\u52a1\u7684\u3002\u6700\u540e\u7684\u53ef\u6301\u4e45\u5316\u90e8\u5206\uff0c\u848b\u8001\u5e08\u4ece 1-bit \u7684\u5b58\u50a8\u4ecb\u8d28\u8bb2\u8d77\uff0c\u4e00\u6b65\u6b65\u6784\u5efa\u8d77\u5404\u7c7b\u5b58\u50a8\u8bbe\u5907\uff0c\u5e76\u901a\u8fc7\u8bbe\u5907\u9a71\u52a8\u62bd\u8c61\u51fa\u4e00\u7ec4\u63a5\u53e3\u6765\u65b9\u4fbf\u5730\u8bbe\u8ba1\u4e0e\u5b9e\u73b0\u6587\u4ef6\u7cfb\u7edf\u3002\u6211\u4e4b\u524d\u867d\u7136\u4e0a\u8fc7\u8bb8\u591a\u95e8\u64cd\u4f5c\u7cfb\u7edf\u7684\u8bfe\u7a0b\uff0c\u4f46\u8fd9\u79cd\u8bb2\u6cd5\u786e\u5b9e\u72ec\u6b64\u4e00\u5bb6\uff0c\u8ba9\u6211\u6536\u83b7\u4e86\u5f88\u591a\u72ec\u5230\u7684\u89c6\u89d2\u6765\u770b\u5f85\u7cfb\u7edf\u8f6f\u4ef6\u3002 \u8fd9\u95e8\u8bfe\u9664\u4e86\u5728\u7406\u8bba\u77e5\u8bc6\u7684\u8bb2\u6388\u90e8\u5206\u5f88\u6709\u65b0\u610f\u5916\uff0c\u6ce8\u91cd\u5b9e\u8df5\u4e5f\u662f\u848b\u8001\u5e08\u7684\u4e00\u5927\u7279\u70b9\u3002\u5728\u8bfe\u5802\u548c\u7f16\u7a0b\u4f5c\u4e1a\u91cc\uff0c\u848b\u8001\u5e08\u4f1a\u6709\u610f\u65e0\u610f\u5730\u57f9\u517b\u5927\u5bb6\u9605\u8bfb\u6e90\u7801\u3001\u67e5\u9605\u624b\u518c\u7684\u80fd\u529b\uff0c\u8fd9\u4e5f\u662f\u8ba1\u7b97\u673a\u4ece\u4e1a\u8005\u5fc5\u5907\u7684\u6280\u80fd\u3002\u5728\u5b8c\u6210\u7b2c\u4e94\u4e2a MiniLab \u671f\u95f4\uff0c\u6211\u7b2c\u4e00\u6b21\u4ed4\u4ed4\u7ec6\u7ec6\u9605\u8bfb\u4e86\u5fae\u8f6f\u7684 FAT \u6587\u4ef6\u7cfb\u7edf\u624b\u518c\uff0c\u6536\u83b7\u4e86\u4e00\u6b21\u975e\u5e38\u6709\u4ef7\u503c\u7684\u7ecf\u5386\u3002 \u7f16\u7a0b\u4f5c\u4e1a\u5171\u7531 5\u4e2a MiniLab \u548c 4\u4e2a OSLab \u7ec4\u6210\u3002\u7f8e\u4e2d\u4e0d\u8db3\u7684\u662f\u4f5c\u4e1a\u7684\u8bc4\u6d4b\u673a\u662f\u4e0d\u5bf9\u6821\u5916\u5f00\u653e\u7684\uff0c\u4e0d\u8fc7\u5728\u90ae\u4ef6\u201c\u9a9a\u6270\u201d\u540e\u848b\u8001\u5e08\u8fd8\u662f\u975e\u5e38\u6177\u6168\u5730\u8ba9\u6211\u6210\u529f\u8e6d\u8bfe\u3002\u7531\u4e8e\u8bfe\u4f59\u65f6\u95f4\u6709\u9650\u6211\u53ea\u5b8c\u6210\u4e86 5\u4e2a MiniLab\uff0c\u603b\u4f53\u4f53\u9a8c\u975e\u5e38\u68d2\u3002\u5c24\u5176\u662f\u7b2c\u4e8c\u4e2a\u534f\u7a0b\u5b9e\u9a8c\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\uff0c\u5728\u4e0d\u5230\u767e\u884c\u7684\u5c0f\u5b9e\u9a8c\u91cc\u6df1\u523b\u4f53\u9a8c\u4e86\u4e0a\u4e0b\u6587\u5207\u6362\u7684\u7f8e\u5999\u4e0e\u201c\u53ef\u6015\u201d\u3002\u53e6\u5916\u5176\u5b9e\u51e0\u4e2a MiniLab \u90fd\u80fd\u975e\u5e38\u65b9\u4fbf\u5730\u8fdb\u884c\u672c\u5730\u6d4b\u8bd5\uff0c\u5c31\u7b97\u6ca1\u6709\u8bc4\u6d4b\u673a\u4e5f\u4e0d\u5f71\u54cd\u81ea\u5b66\uff0c\u56e0\u6b64\u5e0c\u671b\u5927\u5bb6\u4e0d\u8981\u805a\u4f17\u201c\u9a9a\u6270\u201d\u8001\u5e08\u4ee5\u56fe\u8e6d\u8bfe\u3002 \u6700\u540e\u518d\u6b21\u611f\u8c22\u848b\u8001\u5e08\u8bbe\u8ba1\u5e76\u5f00\u653e\u4e86\u8fd9\u6837\u4e00\u95e8\u975e\u5e38\u68d2\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\uff0c\u8fd9\u4e5f\u662f\u672c\u4e66\u6536\u5f55\u7684\u7b2c\u4e00\u95e8\u56fd\u5185\u9ad8\u6821\u81ea\u4e3b\u5f00\u8bbe\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002\u6b63\u662f\u6709\u848b\u8001\u5e08\u8fd9\u4e9b\u5e74\u8f7b\u7684\u65b0\u751f\u4ee3\u6559\u5e08\u5728\u7e41\u91cd\u7684 Tenure \u8003\u6838\u4e4b\u4f59\u7684\u7528\u7231\u53d1\u7535\uff0c\u624d\u8ba9\u65e0\u6570\u5b66\u5b50\u6536\u83b7\u4e86\u96be\u5fd8\u7684\u672c\u79d1\u751f\u6daf\u3002\u4e5f\u671f\u5f85\u56fd\u5185\u80fd\u6709\u66f4\u591a\u8fd9\u6837\u7684\u826f\u5fc3\u597d\u8bfe\uff0c\u6211\u4e5f\u4f1a\u7b2c\u4e00\u65f6\u95f4\u6536\u5f55\u8fdb\u672c\u4e66\u4e2d\u8ba9\u66f4\u591a\u4eba\u53d7\u76ca\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://jyywiki.cn/OS/2022/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://space.bilibili.com/202224425/channel/collectiondetail?sid=192498 \u8bfe\u7a0b\u6559\u6750\uff1a http://pages.cs.wisc.edu/~remzi/OSTEP/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://jyywiki.cn/OS/2022/ \u8d44\u6e90\u6c47\u603b \u6309\u848b\u8001\u5e08\u7684\u8981\u6c42\uff0c\u6211\u7684\u4f5c\u4e1a\u5b9e\u73b0\u6ca1\u6709\u5f00\u6e90\u3002","title":"NJU OS: Operating System Design and Implementation"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/#nju-os-operating-system-design-and-implementation","text":"","title":"NJU OS: Operating System Design and Implementation"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u5357\u4eac\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784 + \u624e\u5b9e\u7684 C \u8bed\u8a00\u529f\u5e95 \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bed\u8a00 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u4e4b\u524d\u4e00\u76f4\u542c\u8bf4\u5357\u5927\u7684\u848b\u708e\u5ca9\u8001\u5e08\u5f00\u8bbe\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u8bb2\u5f97\u5f88\u597d\uff0c\u4e45\u95fb\u4e0d\u5982\u4e00\u89c1\uff0c\u8fd9\u5b66\u671f\u6709\u5e78\u5728 B \u7ad9\u89c2\u770b\u4e86\u848b\u8001\u5e08\u7684\u8bfe\u7a0b\u89c6\u9891\uff0c\u786e\u5b9e\u6536\u83b7\u826f\u591a\u3002\u848b\u8001\u5e08\u4f5c\u4e3a\u975e\u5e38\u5e74\u8f7b\u7684\u8001\u5e08\uff0c\u6709\u7740\u4e30\u5bcc\u7684\u4e00\u7ebf\u4ee3\u7801\u7684\u7ecf\u9a8c\uff0c\u56e0\u6b64\u8bfe\u7a0b\u8bb2\u6388\u6709\u7740\u6ee1\u6ee1\u7684 Hacker \u98ce\u683c\uff0c\u8bfe\u4e0a\u7ecf\u5e38\u201c\u4e00\u8a00\u4e0d\u5408\u201d\u5c31\u5728\u547d\u4ee4\u884c\u91cc\u5f00\u59cb\u5199\u4ee3\u7801\uff0c\u5f88\u591a\u91cd\u8981\u77e5\u8bc6\u70b9\u4e5f\u90fd\u914d\u6709\u751f\u52a8\u76f4\u767d\u7684\u4ee3\u7801\u793a\u4f8b\u3002\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\u7684\u5c31\u662f\u8001\u5e08\u4e3a\u4e86\u8ba9\u5b66\u751f\u66f4\u597d\u5730\u7406\u89e3\u52a8\u6001\u94fe\u63a5\u5e93\u7684\u8bbe\u8ba1\u601d\u60f3\uff0c\u751a\u81f3\u4e13\u95e8\u5b9e\u73b0\u4e86\u4e00\u4e2a\u8ff7\u4f60\u7684\u53ef\u6267\u884c\u6587\u4ef6\u4e0e\u4e00\u7cfb\u5217\u7684\u4e8c\u8fdb\u5236\u5de5\u5177\uff0c\u8ba9\u5f88\u591a\u56f0\u6270\u6211\u591a\u5e74\u7684\u95ee\u9898\u90fd\u5f97\u5230\u4e86\u89e3\u7b54\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bb2\u6388\u601d\u8def\u4e5f\u975e\u5e38\u6709\u8da3\uff0c\u848b\u8001\u5e08\u5148\u4ece\u201c\u7a0b\u5e8f\u5c31\u662f\u72b6\u6001\u673a\u201d\u8fd9\u4e00\u89c6\u89d2\u5165\u624b\uff0c\u4e3a\u201c\u4e07\u6076\u4e4b\u6e90\u201d\u5e76\u53d1\u7a0b\u5e8f\u5efa\u7acb\u4e86\u72b6\u6001\u673a\u7684\u8f6c\u5316\u6a21\u578b\uff0c\u5e76\u5728\u6b64\u57fa\u7840\u4e0a\u8bb2\u6388\u4e86\u5e76\u53d1\u63a7\u5236\u7684\u5e38\u89c1\u624b\u6bb5\u4ee5\u53ca\u5e76\u53d1 bug \u7684\u5e94\u5bf9\u65b9\u6cd5\u3002\u63a5\u7740\u848b\u8001\u5e08\u5c06\u64cd\u4f5c\u7cfb\u7edf\u770b\u4f5c\u4e00\u7cfb\u5217\u5bf9\u8c61\uff08\u8fdb\u7a0b/\u7ebf\u7a0b\u3001\u5730\u5740\u7a7a\u95f4\u3001\u6587\u4ef6\u3001\u8bbe\u5907\u7b49\u7b49\uff09\u4ee5\u53ca\u64cd\u4f5c\u5b83\u4eec\u7684 API \uff08\u7cfb\u7edf\u8c03\u7528\uff09\u5e76\u7ed3\u5408\u4e30\u5bcc\u7684\u5b9e\u9645\u4f8b\u5b50\u4ecb\u7ecd\u4e86\u64cd\u4f5c\u7cfb\u7edf\u662f\u5982\u4f55\u5229\u7528\u8fd9\u7cfb\u5217\u5bf9\u8c61\u865a\u62df\u5316\u786c\u4ef6\u8d44\u6e90\u5e76\u7ed9\u5e94\u7528\u8f6f\u4ef6\u63d0\u4f9b\u5404\u7c7b\u670d\u52a1\u7684\u3002\u6700\u540e\u7684\u53ef\u6301\u4e45\u5316\u90e8\u5206\uff0c\u848b\u8001\u5e08\u4ece 1-bit \u7684\u5b58\u50a8\u4ecb\u8d28\u8bb2\u8d77\uff0c\u4e00\u6b65\u6b65\u6784\u5efa\u8d77\u5404\u7c7b\u5b58\u50a8\u8bbe\u5907\uff0c\u5e76\u901a\u8fc7\u8bbe\u5907\u9a71\u52a8\u62bd\u8c61\u51fa\u4e00\u7ec4\u63a5\u53e3\u6765\u65b9\u4fbf\u5730\u8bbe\u8ba1\u4e0e\u5b9e\u73b0\u6587\u4ef6\u7cfb\u7edf\u3002\u6211\u4e4b\u524d\u867d\u7136\u4e0a\u8fc7\u8bb8\u591a\u95e8\u64cd\u4f5c\u7cfb\u7edf\u7684\u8bfe\u7a0b\uff0c\u4f46\u8fd9\u79cd\u8bb2\u6cd5\u786e\u5b9e\u72ec\u6b64\u4e00\u5bb6\uff0c\u8ba9\u6211\u6536\u83b7\u4e86\u5f88\u591a\u72ec\u5230\u7684\u89c6\u89d2\u6765\u770b\u5f85\u7cfb\u7edf\u8f6f\u4ef6\u3002 \u8fd9\u95e8\u8bfe\u9664\u4e86\u5728\u7406\u8bba\u77e5\u8bc6\u7684\u8bb2\u6388\u90e8\u5206\u5f88\u6709\u65b0\u610f\u5916\uff0c\u6ce8\u91cd\u5b9e\u8df5\u4e5f\u662f\u848b\u8001\u5e08\u7684\u4e00\u5927\u7279\u70b9\u3002\u5728\u8bfe\u5802\u548c\u7f16\u7a0b\u4f5c\u4e1a\u91cc\uff0c\u848b\u8001\u5e08\u4f1a\u6709\u610f\u65e0\u610f\u5730\u57f9\u517b\u5927\u5bb6\u9605\u8bfb\u6e90\u7801\u3001\u67e5\u9605\u624b\u518c\u7684\u80fd\u529b\uff0c\u8fd9\u4e5f\u662f\u8ba1\u7b97\u673a\u4ece\u4e1a\u8005\u5fc5\u5907\u7684\u6280\u80fd\u3002\u5728\u5b8c\u6210\u7b2c\u4e94\u4e2a MiniLab \u671f\u95f4\uff0c\u6211\u7b2c\u4e00\u6b21\u4ed4\u4ed4\u7ec6\u7ec6\u9605\u8bfb\u4e86\u5fae\u8f6f\u7684 FAT \u6587\u4ef6\u7cfb\u7edf\u624b\u518c\uff0c\u6536\u83b7\u4e86\u4e00\u6b21\u975e\u5e38\u6709\u4ef7\u503c\u7684\u7ecf\u5386\u3002 \u7f16\u7a0b\u4f5c\u4e1a\u5171\u7531 5\u4e2a MiniLab \u548c 4\u4e2a OSLab \u7ec4\u6210\u3002\u7f8e\u4e2d\u4e0d\u8db3\u7684\u662f\u4f5c\u4e1a\u7684\u8bc4\u6d4b\u673a\u662f\u4e0d\u5bf9\u6821\u5916\u5f00\u653e\u7684\uff0c\u4e0d\u8fc7\u5728\u90ae\u4ef6\u201c\u9a9a\u6270\u201d\u540e\u848b\u8001\u5e08\u8fd8\u662f\u975e\u5e38\u6177\u6168\u5730\u8ba9\u6211\u6210\u529f\u8e6d\u8bfe\u3002\u7531\u4e8e\u8bfe\u4f59\u65f6\u95f4\u6709\u9650\u6211\u53ea\u5b8c\u6210\u4e86 5\u4e2a MiniLab\uff0c\u603b\u4f53\u4f53\u9a8c\u975e\u5e38\u68d2\u3002\u5c24\u5176\u662f\u7b2c\u4e8c\u4e2a\u534f\u7a0b\u5b9e\u9a8c\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\uff0c\u5728\u4e0d\u5230\u767e\u884c\u7684\u5c0f\u5b9e\u9a8c\u91cc\u6df1\u523b\u4f53\u9a8c\u4e86\u4e0a\u4e0b\u6587\u5207\u6362\u7684\u7f8e\u5999\u4e0e\u201c\u53ef\u6015\u201d\u3002\u53e6\u5916\u5176\u5b9e\u51e0\u4e2a MiniLab \u90fd\u80fd\u975e\u5e38\u65b9\u4fbf\u5730\u8fdb\u884c\u672c\u5730\u6d4b\u8bd5\uff0c\u5c31\u7b97\u6ca1\u6709\u8bc4\u6d4b\u673a\u4e5f\u4e0d\u5f71\u54cd\u81ea\u5b66\uff0c\u56e0\u6b64\u5e0c\u671b\u5927\u5bb6\u4e0d\u8981\u805a\u4f17\u201c\u9a9a\u6270\u201d\u8001\u5e08\u4ee5\u56fe\u8e6d\u8bfe\u3002 \u6700\u540e\u518d\u6b21\u611f\u8c22\u848b\u8001\u5e08\u8bbe\u8ba1\u5e76\u5f00\u653e\u4e86\u8fd9\u6837\u4e00\u95e8\u975e\u5e38\u68d2\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\uff0c\u8fd9\u4e5f\u662f\u672c\u4e66\u6536\u5f55\u7684\u7b2c\u4e00\u95e8\u56fd\u5185\u9ad8\u6821\u81ea\u4e3b\u5f00\u8bbe\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002\u6b63\u662f\u6709\u848b\u8001\u5e08\u8fd9\u4e9b\u5e74\u8f7b\u7684\u65b0\u751f\u4ee3\u6559\u5e08\u5728\u7e41\u91cd\u7684 Tenure \u8003\u6838\u4e4b\u4f59\u7684\u7528\u7231\u53d1\u7535\uff0c\u624d\u8ba9\u65e0\u6570\u5b66\u5b50\u6536\u83b7\u4e86\u96be\u5fd8\u7684\u672c\u79d1\u751f\u6daf\u3002\u4e5f\u671f\u5f85\u56fd\u5185\u80fd\u6709\u66f4\u591a\u8fd9\u6837\u7684\u826f\u5fc3\u597d\u8bfe\uff0c\u6211\u4e5f\u4f1a\u7b2c\u4e00\u65f6\u95f4\u6536\u5f55\u8fdb\u672c\u4e66\u4e2d\u8ba9\u66f4\u591a\u4eba\u53d7\u76ca\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://jyywiki.cn/OS/2022/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://space.bilibili.com/202224425/channel/collectiondetail?sid=192498 \u8bfe\u7a0b\u6559\u6750\uff1a http://pages.cs.wisc.edu/~remzi/OSTEP/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://jyywiki.cn/OS/2022/","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/#_3","text":"\u6309\u848b\u8001\u5e08\u7684\u8981\u6c42\uff0c\u6211\u7684\u4f5c\u4e1a\u5b9e\u73b0\u6ca1\u6709\u5f00\u6e90\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/","text":"MIT18.06: Linear Algebra \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u82f1\u6587 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u6570\u5b66\u5927\u725b Gilbert Strang \u8001\u5148\u751f\u5e74\u903e\u53e4\u7a00\u4ecd\u575a\u6301\u6388\u8bfe\uff0c\u5176\u7ecf\u5178\u6559\u6750 Introduction to Linear Algebra \u5df2\u88ab\u6e05\u534e\u91c7\u7528\u4e3a\u5b98\u65b9\u6559\u6750\u3002\u6211\u5f53\u65f6\u770b\u5b8c\u76d7\u7248 PDF \u4e4b\u540e\u6df1\u611f\u6127\u759a\uff0c\u542b\u6cea\u82b1\u4e86\u4e24\u767e\u591a\u4e70\u4e86\u4e00\u672c\u82f1\u6587\u6b63\u7248\u6536\u85cf\u3002\u4e0b\u9762\u9644\u4e0a\u6b64\u4e66\u5c01\u9762\uff0c\u5982\u679c\u4f60\u80fd\u5b8c\u5168\u7406\u89e3\u5c01\u9762\u56fe\u7684\u6570\u5b66\u542b\u4e49\uff0c\u90a3\u4f60\u5bf9\u7ebf\u6027\u4ee3\u6570\u7684\u7406\u89e3\u4e00\u5b9a\u4f1a\u8fbe\u5230\u65b0\u7684\u9ad8\u5ea6\u3002 \u914d\u5408\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \u7684 \u7ebf\u6027\u4ee3\u6570\u7684\u672c\u8d28 \u7cfb\u5217\u89c6\u9891\u98df\u7528\u66f4\u4f73\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebra-fall-2011/syllabus/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1aIntroduction to Linear Algebra. Gilbert Strang \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"MIT18.06: Linear Algebra"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/#mit1806-linear-algebra","text":"","title":"MIT18.06: Linear Algebra"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u82f1\u6587 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u6570\u5b66\u5927\u725b Gilbert Strang \u8001\u5148\u751f\u5e74\u903e\u53e4\u7a00\u4ecd\u575a\u6301\u6388\u8bfe\uff0c\u5176\u7ecf\u5178\u6559\u6750 Introduction to Linear Algebra \u5df2\u88ab\u6e05\u534e\u91c7\u7528\u4e3a\u5b98\u65b9\u6559\u6750\u3002\u6211\u5f53\u65f6\u770b\u5b8c\u76d7\u7248 PDF \u4e4b\u540e\u6df1\u611f\u6127\u759a\uff0c\u542b\u6cea\u82b1\u4e86\u4e24\u767e\u591a\u4e70\u4e86\u4e00\u672c\u82f1\u6587\u6b63\u7248\u6536\u85cf\u3002\u4e0b\u9762\u9644\u4e0a\u6b64\u4e66\u5c01\u9762\uff0c\u5982\u679c\u4f60\u80fd\u5b8c\u5168\u7406\u89e3\u5c01\u9762\u56fe\u7684\u6570\u5b66\u542b\u4e49\uff0c\u90a3\u4f60\u5bf9\u7ebf\u6027\u4ee3\u6570\u7684\u7406\u89e3\u4e00\u5b9a\u4f1a\u8fbe\u5230\u65b0\u7684\u9ad8\u5ea6\u3002 \u914d\u5408\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \u7684 \u7ebf\u6027\u4ee3\u6570\u7684\u672c\u8d28 \u7cfb\u5217\u89c6\u9891\u98df\u7528\u66f4\u4f73\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebra-fall-2011/syllabus/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1aIntroduction to Linear Algebra. Gilbert Strang \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/","text":"MIT Calculus Course \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u82f1\u8bed \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 MIT \u7684\u5fae\u79ef\u5206\u8bfe\u7531 MIT18.01: Single Variable Calculus \u548c MIT18.02: Multivariable Calculus \u4e24\u95e8\u8bfe\u7ec4\u6210\u3002\u5bf9\u81ea\u5df1\u6570\u5b66\u57fa\u7840\u6bd4\u8f83\u81ea\u4fe1\u7684\u540c\u5b66\u53ef\u4ee5\u53ea\u770b\u8bfe\u7a0b notes\uff0c\u5199\u5f97\u975e\u5e38\u6d45\u663e\u751f\u52a8\u5e76\u4e14\u6293\u4f4f\u672c\u8d28\uff0c\u8ba9\u4f60\u4e0d\u518d\u75b2\u4e8e\u505a\u9898\u800c\u662f\u80fd\u591f\u771f\u6b63\u7aa5\u89c1\u5fae\u79ef\u5206\u7684\u672c\u8d28\u9b45\u529b\u3002 \u914d\u5408\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \u7684 \u5fae\u79ef\u5206\u7684\u672c\u8d28 \u7cfb\u5217\u89c6\u9891\u98df\u7528\u66f4\u4f73\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a 18.01 , 18.02 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e66\u9762\u4f5c\u4e1a\u53ca\u7b54\u6848\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"MIT18.01/18.02: Calculus"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/#mit-calculus-course","text":"","title":"MIT Calculus Course"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u82f1\u8bed \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 MIT \u7684\u5fae\u79ef\u5206\u8bfe\u7531 MIT18.01: Single Variable Calculus \u548c MIT18.02: Multivariable Calculus \u4e24\u95e8\u8bfe\u7ec4\u6210\u3002\u5bf9\u81ea\u5df1\u6570\u5b66\u57fa\u7840\u6bd4\u8f83\u81ea\u4fe1\u7684\u540c\u5b66\u53ef\u4ee5\u53ea\u770b\u8bfe\u7a0b notes\uff0c\u5199\u5f97\u975e\u5e38\u6d45\u663e\u751f\u52a8\u5e76\u4e14\u6293\u4f4f\u672c\u8d28\uff0c\u8ba9\u4f60\u4e0d\u518d\u75b2\u4e8e\u505a\u9898\u800c\u662f\u80fd\u591f\u771f\u6b63\u7aa5\u89c1\u5fae\u79ef\u5206\u7684\u672c\u8d28\u9b45\u529b\u3002 \u914d\u5408\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \u7684 \u5fae\u79ef\u5206\u7684\u672c\u8d28 \u7cfb\u5217\u89c6\u9891\u98df\u7528\u66f4\u4f73\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a 18.01 , 18.02 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e66\u9762\u4f5c\u4e1a\u53ca\u7b54\u6848\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/","text":"MIT6.050J: Information theory and Entropy \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 MIT \u9762\u5411\u5927\u4e00\u65b0\u751f\u7684\u4fe1\u606f\u8bba\u5165\u95e8\u8bfe\u7a0b\uff0cPenfield \u6559\u6388\u4e13\u95e8\u4e3a\u8fd9\u95e8\u8bfe\u5199\u4e86\u4e00\u672c \u6559\u6750 \u4f5c\u4e3a\u8bfe\u7a0b notes\uff0c\u5185\u5bb9\u6df1\u5165\u6d45\u51fa\uff0c\u751f\u52a8\u6709\u8da3\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-050j-information-and-entropy-spring-2008/index.htm \u8bfe\u7a0b\u6559\u6750\uff1a https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-050j-information-and-entropy-spring-2008/syllabus/MIT6_050JS08_textbook.pdf \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u5305\u542b\u4e66\u9762\u4f5c\u4e1a\u4e0e Matlab \u7f16\u7a0b\u4f5c\u4e1a\u3002","title":"MIT6.050J: Information theory and Entropy"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/#mit6050j-information-theory-and-entropy","text":"","title":"MIT6.050J: Information theory and Entropy"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 MIT \u9762\u5411\u5927\u4e00\u65b0\u751f\u7684\u4fe1\u606f\u8bba\u5165\u95e8\u8bfe\u7a0b\uff0cPenfield \u6559\u6388\u4e13\u95e8\u4e3a\u8fd9\u95e8\u8bfe\u5199\u4e86\u4e00\u672c \u6559\u6750 \u4f5c\u4e3a\u8bfe\u7a0b notes\uff0c\u5185\u5bb9\u6df1\u5165\u6d45\u51fa\uff0c\u751f\u52a8\u6709\u8da3\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-050j-information-and-entropy-spring-2008/index.htm \u8bfe\u7a0b\u6559\u6750\uff1a https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-050j-information-and-entropy-spring-2008/syllabus/MIT6_050JS08_textbook.pdf \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u5305\u542b\u4e66\u9762\u4f5c\u4e1a\u4e0e Matlab \u7f16\u7a0b\u4f5c\u4e1a\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/","text":"MIT 6.042J: Mathematics for Computer Science \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra \u7f16\u7a0b\u8bed\u8a00\uff1aPython preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 MIT \u7684\u79bb\u6563\u6570\u5b66\u4ee5\u53ca\u6982\u7387\u7efc\u5408\u8bfe\u7a0b\uff0c\u5bfc\u5e08\u662f\u5927\u540d\u9f0e\u9f0e\u7684 Tom Leighton ( Akamai \u7684\u8054\u5408\u521b\u59cb\u4eba\u4e4b\u4e00)\u3002\u5b66\u5b8c\u4e4b\u540e\u5bf9\u4e8e\u540e\u7eed\u7684\u7b97\u6cd5\u5b66\u4e60\u5927\u6709\u88e8\u76ca\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1L741147VX \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/assignments/","title":"MIT 6.042J: Mathematics for Computer Science"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/#mit-6042j-mathematics-for-computer-science","text":"","title":"MIT 6.042J: Mathematics for Computer Science"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra \u7f16\u7a0b\u8bed\u8a00\uff1aPython preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 MIT \u7684\u79bb\u6563\u6570\u5b66\u4ee5\u53ca\u6982\u7387\u7efc\u5408\u8bfe\u7a0b\uff0c\u5bfc\u5e08\u662f\u5927\u540d\u9f0e\u9f0e\u7684 Tom Leighton ( Akamai \u7684\u8054\u5408\u521b\u59cb\u4eba\u4e4b\u4e00)\u3002\u5b66\u5b8c\u4e4b\u540e\u5bf9\u4e8e\u540e\u7eed\u7684\u7b97\u6cd5\u5b66\u4e60\u5927\u6709\u88e8\u76ca\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1L741147VX \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/assignments/","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/","text":"UCB CS126 : Probability theory \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS70\u3001\u5fae\u79ef\u5206\u3001\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u6982\u7387\u8bba\u8fdb\u9636\u8bfe\u7a0b\uff0c\u6d89\u53ca\u5230\u7edf\u8ba1\u5b66\u3001\u968f\u673a\u8fc7\u7a0b\u7b49\u7406\u8bba\u76f8\u5bf9\u6df1\u5165\u7684\u5185\u5bb9\uff0c\u9700\u8981\u76f8\u5f53\u7684\u6570\u5b66\u57fa\u7840\uff0c\u6211\u5728\u4e0a\u8fd9\u95e8\u8bfe\u7684\u65f6\u5019\u4e5f\u611f\u5230\u6709\u4e9b\u5403\u529b\uff0c\u4e0d\u8fc7\u575a\u6301\u4e0b\u6765\u4e00\u5b9a\u4f1a\u8ba9\u4f60\u5bf9\u6982\u7387\u8bba\u7684\u638c\u63e1\u8fbe\u5230\u4e00\u4e2a\u65b0\u7684\u9ad8\u5ea6\u3002 \u540c\u65f6\u8fd9\u95e8\u8bfe\u975e\u5e38\u5f3a\u8c03\u7406\u8bba\u4e0e\u5b9e\u8df5\u7684\u7ed3\u5408\uff0c\u8bfe\u7a0b\u8bbe\u8ba1\u8005 Jean Walrand \u6559\u6388\u4e13\u95e8\u5199\u4e86\u4e00\u672c\u914d\u5957\u7684\u6559\u6750 Probability in Electrical Engineering and Computer Science \uff0c\u4e66\u4e2d\u6bcf\u4e2a\u7ae0\u8282\u90fd\u4f1a\u4ee5\u4e00\u4e2a\u5177\u4f53\u7684\u7b97\u6cd5\u5b9e\u8df5\u4f5c\u4e3a\u4f8b\u5b50\u6765\u5c55\u793a\u7406\u8bba\u5728\u5b9e\u9645\u5f53\u4e2d\u7684\u8fd0\u7528\uff0c\u4f8b\u5982 PageRank, Route Planing, Speech Recognition \u7b49\u7b49\uff0c\u5e76\u4e14\u5168\u4e66\u5f00\u6e90\uff0c\u53ef\u4ee5\u514d\u8d39\u4e0b\u8f7d PDF \u6216\u8005 Epub \u7248\u3002 \u8fd9\u8fd8\u4e0d\u7b97\u5b8c\uff0cJean Walrand \u8fd8\u4e3a\u6574\u672c\u4e66\u91cc\u7684\u4f8b\u5b50\u8bbe\u8ba1\u4e86\u914d\u5957\u7684 Python \u5b9e\u73b0\uff0c\u4ee5 Jupyter Notebook \u7684\u5f62\u5f0f\u5728\u7ebf\u53d1\u5e03\uff0c\u8bfb\u8005\u53ef\u4ee5\u5728\u7ebf\u4fee\u6539\u3001\u8c03\u8bd5\u548c\u8fd0\u884c\u3002 \u4e0e\u6b64\u540c\u65f6\uff0c\u8fd9\u95e8\u8bfe\u9664\u4e86\u7406\u8bba\u4f5c\u4e1a\u4e4b\u5916\uff0c\u8fd8\u6709 9 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u4f1a\u8ba9\u4f60\u7528\u6982\u7387\u8bba\u7684\u77e5\u8bc6\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://inst.eecs.berkeley.edu/~ee126/fa20/content.html \u8bfe\u7a0b\u6559\u6750\uff1a PDF , Epub , Jupyter Notebook \u8bfe\u7a0b\u4f5c\u4e1a\uff1a14 \u4e2a\u4e66\u9762\u4f5c\u4e1a + 9 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/EECS126 - GitHub \u4e2d\u3002","title":"UCB CS126: probability theory"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#ucb-cs126-probability-theory","text":"","title":"UCB CS126 : Probability theory"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS70\u3001\u5fae\u79ef\u5206\u3001\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u6982\u7387\u8bba\u8fdb\u9636\u8bfe\u7a0b\uff0c\u6d89\u53ca\u5230\u7edf\u8ba1\u5b66\u3001\u968f\u673a\u8fc7\u7a0b\u7b49\u7406\u8bba\u76f8\u5bf9\u6df1\u5165\u7684\u5185\u5bb9\uff0c\u9700\u8981\u76f8\u5f53\u7684\u6570\u5b66\u57fa\u7840\uff0c\u6211\u5728\u4e0a\u8fd9\u95e8\u8bfe\u7684\u65f6\u5019\u4e5f\u611f\u5230\u6709\u4e9b\u5403\u529b\uff0c\u4e0d\u8fc7\u575a\u6301\u4e0b\u6765\u4e00\u5b9a\u4f1a\u8ba9\u4f60\u5bf9\u6982\u7387\u8bba\u7684\u638c\u63e1\u8fbe\u5230\u4e00\u4e2a\u65b0\u7684\u9ad8\u5ea6\u3002 \u540c\u65f6\u8fd9\u95e8\u8bfe\u975e\u5e38\u5f3a\u8c03\u7406\u8bba\u4e0e\u5b9e\u8df5\u7684\u7ed3\u5408\uff0c\u8bfe\u7a0b\u8bbe\u8ba1\u8005 Jean Walrand \u6559\u6388\u4e13\u95e8\u5199\u4e86\u4e00\u672c\u914d\u5957\u7684\u6559\u6750 Probability in Electrical Engineering and Computer Science \uff0c\u4e66\u4e2d\u6bcf\u4e2a\u7ae0\u8282\u90fd\u4f1a\u4ee5\u4e00\u4e2a\u5177\u4f53\u7684\u7b97\u6cd5\u5b9e\u8df5\u4f5c\u4e3a\u4f8b\u5b50\u6765\u5c55\u793a\u7406\u8bba\u5728\u5b9e\u9645\u5f53\u4e2d\u7684\u8fd0\u7528\uff0c\u4f8b\u5982 PageRank, Route Planing, Speech Recognition \u7b49\u7b49\uff0c\u5e76\u4e14\u5168\u4e66\u5f00\u6e90\uff0c\u53ef\u4ee5\u514d\u8d39\u4e0b\u8f7d PDF \u6216\u8005 Epub \u7248\u3002 \u8fd9\u8fd8\u4e0d\u7b97\u5b8c\uff0cJean Walrand \u8fd8\u4e3a\u6574\u672c\u4e66\u91cc\u7684\u4f8b\u5b50\u8bbe\u8ba1\u4e86\u914d\u5957\u7684 Python \u5b9e\u73b0\uff0c\u4ee5 Jupyter Notebook \u7684\u5f62\u5f0f\u5728\u7ebf\u53d1\u5e03\uff0c\u8bfb\u8005\u53ef\u4ee5\u5728\u7ebf\u4fee\u6539\u3001\u8c03\u8bd5\u548c\u8fd0\u884c\u3002 \u4e0e\u6b64\u540c\u65f6\uff0c\u8fd9\u95e8\u8bfe\u9664\u4e86\u7406\u8bba\u4f5c\u4e1a\u4e4b\u5916\uff0c\u8fd8\u6709 9 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u4f1a\u8ba9\u4f60\u7528\u6982\u7387\u8bba\u7684\u77e5\u8bc6\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://inst.eecs.berkeley.edu/~ee126/fa20/content.html \u8bfe\u7a0b\u6559\u6750\uff1a PDF , Epub , Jupyter Notebook \u8bfe\u7a0b\u4f5c\u4e1a\uff1a14 \u4e2a\u4e66\u9762\u4f5c\u4e1a + 9 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/EECS126 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/","text":"UCB CS70 : discrete Math and probability theory \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u79bb\u6563\u6570\u5b66\u5165\u95e8\u8bfe\u7a0b\uff0c\u4e2a\u4eba\u89c9\u5f97\u8fd9\u95e8\u8bfe\u6700\u5927\u7684\u4eae\u70b9\u5728\u4e8e\u5e76\u4e0d\u662f\u5355\u7eaf\u7684\u7406\u8bba\u77e5\u8bc6\u7684\u8bb2\u6388\uff0c\u800c\u662f\u5728\u6bcf\u4e2a\u6a21\u5757\u90fd\u4f1a\u4ecb\u7ecd\u7406\u8bba\u77e5\u8bc6\u5728\u5b9e\u9645\u7b97\u6cd5\u4e2d\u7684\u8fd0\u7528\uff0c\u8ba9\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\u5728\u592f\u5b9e\u7406\u8bba\u57fa\u7840\u7684\u540c\u65f6\uff0c\u8df3\u8131\u51fa\u51b0\u51b7\u5f62\u5f0f\u5316\u7684\u6570\u5b66\u7b26\u53f7\uff0c\u5728\u5b9e\u9645\u5e94\u7528\u4e2d\u611f\u53d7\u548c\u4f53\u4f1a\u7406\u8bba\u7684\u672c\u8d28\u3002 \u5177\u4f53\u7684\u7406\u8bba\u4e0e\u7b97\u6cd5\u7684\u5bf9\u5e94\u5173\u7cfb\u5217\u4e3e\u5982\u4e0b\uff1a \u903b\u8f91\u8bc1\u660e\uff1a\u7a33\u5b9a\u5339\u914d\u7b97\u6cd5 \u56fe\u8bba\uff1a\u7f51\u7edc\u62d3\u6251\u8bbe\u8ba1 \u57fa\u7840\u6570\u8bba\uff1aRSA \u7b97\u6cd5 \u591a\u9879\u5f0f\u73af\uff1a\u7ea0\u9519\u7801\u8bbe\u8ba1 \u6982\u7387\u8bba\uff1a\u54c8\u5e0c\u8868\u8bbe\u8ba1\u3001\u8d1f\u8f7d\u5747\u8861\u7b49\u7b49 \u8bfe\u7a0b notes \u4e5f\u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u516c\u5f0f\u63a8\u5bfc\u4e0e\u5b9e\u9645\u4f8b\u5b50\u661f\u7f57\u68cb\u5e03\uff0c\u9605\u8bfb\u4f53\u9a8c\u5f88\u597d\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://www.eecs70.org/ \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b Schedule \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/UCB-CS70 - GitHub \u4e2d\u3002","title":"UCB CS70: discrete Math and probability theory"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#ucb-cs70-discrete-math-and-probability-theory","text":"","title":"UCB CS70 : discrete Math and probability theory"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u79bb\u6563\u6570\u5b66\u5165\u95e8\u8bfe\u7a0b\uff0c\u4e2a\u4eba\u89c9\u5f97\u8fd9\u95e8\u8bfe\u6700\u5927\u7684\u4eae\u70b9\u5728\u4e8e\u5e76\u4e0d\u662f\u5355\u7eaf\u7684\u7406\u8bba\u77e5\u8bc6\u7684\u8bb2\u6388\uff0c\u800c\u662f\u5728\u6bcf\u4e2a\u6a21\u5757\u90fd\u4f1a\u4ecb\u7ecd\u7406\u8bba\u77e5\u8bc6\u5728\u5b9e\u9645\u7b97\u6cd5\u4e2d\u7684\u8fd0\u7528\uff0c\u8ba9\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\u5728\u592f\u5b9e\u7406\u8bba\u57fa\u7840\u7684\u540c\u65f6\uff0c\u8df3\u8131\u51fa\u51b0\u51b7\u5f62\u5f0f\u5316\u7684\u6570\u5b66\u7b26\u53f7\uff0c\u5728\u5b9e\u9645\u5e94\u7528\u4e2d\u611f\u53d7\u548c\u4f53\u4f1a\u7406\u8bba\u7684\u672c\u8d28\u3002 \u5177\u4f53\u7684\u7406\u8bba\u4e0e\u7b97\u6cd5\u7684\u5bf9\u5e94\u5173\u7cfb\u5217\u4e3e\u5982\u4e0b\uff1a \u903b\u8f91\u8bc1\u660e\uff1a\u7a33\u5b9a\u5339\u914d\u7b97\u6cd5 \u56fe\u8bba\uff1a\u7f51\u7edc\u62d3\u6251\u8bbe\u8ba1 \u57fa\u7840\u6570\u8bba\uff1aRSA \u7b97\u6cd5 \u591a\u9879\u5f0f\u73af\uff1a\u7ea0\u9519\u7801\u8bbe\u8ba1 \u6982\u7387\u8bba\uff1a\u54c8\u5e0c\u8868\u8bbe\u8ba1\u3001\u8d1f\u8f7d\u5747\u8861\u7b49\u7b49 \u8bfe\u7a0b notes \u4e5f\u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u516c\u5f0f\u63a8\u5bfc\u4e0e\u5b9e\u9645\u4f8b\u5b50\u661f\u7f57\u68cb\u5e03\uff0c\u9605\u8bfb\u4f53\u9a8c\u5f88\u597d\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://www.eecs70.org/ \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b Schedule","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/UCB-CS70 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/","text":"The Information Theory, Pattern Recognition, and Neural Networks \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCambridge \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra, Probabilities and Statistics \u7f16\u7a0b\u8bed\u8a00\uff1aAnything would be OK, Python preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30-50 \u5c0f\u65f6 \u5251\u6865\u5927\u5b66 Sir David MacKay \u6559\u6388\u7684\u4fe1\u606f\u8bba\u8bfe\u7a0b\u3002\u6559\u6388\u662f\u4e00\u4f4d\u5341\u5206\u7cbe\u901a\u4fe1\u606f\u8bba\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u5b66\u8005\uff0c\u8bfe\u7a0b\u5bf9\u5e94\u6559\u6750\u4e5f\u662f\u4fe1\u606f\u8bba\u9886\u57df\u7684\u4e00\u90e8\u7ecf\u5178\u8457\u4f5c\u3002\u53ef\u60dc\u5929\u5992\u82f1\u624d... \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://www.inference.org.uk/mackay/itila/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1rs411T71e \u8bfe\u7a0b\u6559\u6750\uff1aInformation Theory, Inference, and Learning Algorithms \u5728\u8bfe\u7a0b\u7f51\u7ad9\u53ef\u4ee5\u4e0b\u8f7d\u5230\u514d\u8d39\u7684\u7535\u5b50\u7248 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5728\u6bcf\u4e00\u8282\u8bfe\u89c6\u9891\u7684\u6700\u540e\u4f1a\u7559\u6559\u6750\u4e0a\u7684\u8bfe\u540e\u4e60\u9898 R.I.P Prof. David MacKay","title":"The Information Theory, Pattern Recognition, and Neural Networks"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/#the-information-theory-pattern-recognition-and-neural-networks","text":"","title":"The Information Theory, Pattern Recognition, and Neural Networks"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCambridge \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra, Probabilities and Statistics \u7f16\u7a0b\u8bed\u8a00\uff1aAnything would be OK, Python preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30-50 \u5c0f\u65f6 \u5251\u6865\u5927\u5b66 Sir David MacKay \u6559\u6388\u7684\u4fe1\u606f\u8bba\u8bfe\u7a0b\u3002\u6559\u6388\u662f\u4e00\u4f4d\u5341\u5206\u7cbe\u901a\u4fe1\u606f\u8bba\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u5b66\u8005\uff0c\u8bfe\u7a0b\u5bf9\u5e94\u6559\u6750\u4e5f\u662f\u4fe1\u606f\u8bba\u9886\u57df\u7684\u4e00\u90e8\u7ecf\u5178\u8457\u4f5c\u3002\u53ef\u60dc\u5929\u5992\u82f1\u624d...","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://www.inference.org.uk/mackay/itila/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1rs411T71e \u8bfe\u7a0b\u6559\u6750\uff1aInformation Theory, Inference, and Learning Algorithms \u5728\u8bfe\u7a0b\u7f51\u7ad9\u53ef\u4ee5\u4e0b\u8f7d\u5230\u514d\u8d39\u7684\u7535\u5b50\u7248 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5728\u6bcf\u4e00\u8282\u8bfe\u89c6\u9891\u7684\u6700\u540e\u4f1a\u7559\u6559\u6750\u4e0a\u7684\u8bfe\u540e\u4e60\u9898","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/#rip-prof-david-mackay","text":"","title":"R.I.P Prof. David MacKay"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/","text":"Stanford EE364A: Convex Optimization \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aPython\uff0c\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570\uff0c\u6982\u7387\u8bba\uff0c\u6570\u503c\u5206\u6790 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 Stephen Boyd \u6559\u6388\u662f\u51f8\u4f18\u5316\u9886\u57df\u7684\u5927\u725b\uff0c\u5176\u7f16\u5199\u7684 Convex Optimization \u8fd9\u672c\u6559\u6750\u88ab\u4f17\u591a\u540d\u6821\u91c7\u7528\u3002\u53e6\u5916\u5176\u7814\u7a76\u56e2\u961f\u8fd8\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a\u7528\u4e8e\u6c42\u89e3\u5e38\u89c1\u51f8\u4f18\u5316\u95ee\u9898\u7684\u7f16\u7a0b\u6846\u67b6\uff0c\u652f\u6301 Python, Julia \u7b49\u4e3b\u6d41\u7f16\u7a0b\u8bed\u8a00\uff0c\u5176\u8bfe\u7a0b\u4f5c\u4e1a\u4e5f\u662f\u91c7\u7528\u8fd9\u4e2a\u7f16\u7a0b\u6846\u67b6\u53bb\u89e3\u51b3\u5b9e\u9645\u751f\u6d3b\u5f53\u4e2d\u7684\u51f8\u4f18\u5316\u95ee\u9898\u3002 \u5728\u5b9e\u9645\u8fd0\u7528\u5f53\u4e2d\uff0c\u4f60\u4f1a\u6df1\u523b\u4f53\u4f1a\u5230\u5bf9\u4e8e\u540c\u4e00\u4e2a\u95ee\u9898\uff0c\u5efa\u6a21\u8fc7\u7a0b\u4e2d\u4e00\u4e2a\u7ec6\u5c0f\u7684\u6539\u53d8\uff0c\u5176\u65b9\u7a0b\u7684\u6c42\u89e3\u96be\u5ea6\u4f1a\u6709\u5929\u58e4\u4e4b\u522b\uff0c\u5982\u4f55\u8ba9\u4f60\u5efa\u6a21\u7684\u65b9\u7a0b\u662f\u201c\u51f8\u201d\u7684\uff0c\u662f\u4e00\u95e8\u827a\u672f\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://stanford.edu/class/ee364a/index.html \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1aD4y1Q7aW \u8bfe\u7a0b\u6559\u6750\uff1a Convex Optimization \u8bfe\u7a0b\u4f5c\u4e1a\uff1a9 \u4e2a Python \u7f16\u7a0b\u4f5c\u4e1a \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/Standford_CVX101 - GitHub \u4e2d\u3002","title":"Standford EE364A: Convex Optimization"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#stanford-ee364a-convex-optimization","text":"","title":"Stanford EE364A: Convex Optimization"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aPython\uff0c\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570\uff0c\u6982\u7387\u8bba\uff0c\u6570\u503c\u5206\u6790 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 Stephen Boyd \u6559\u6388\u662f\u51f8\u4f18\u5316\u9886\u57df\u7684\u5927\u725b\uff0c\u5176\u7f16\u5199\u7684 Convex Optimization \u8fd9\u672c\u6559\u6750\u88ab\u4f17\u591a\u540d\u6821\u91c7\u7528\u3002\u53e6\u5916\u5176\u7814\u7a76\u56e2\u961f\u8fd8\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a\u7528\u4e8e\u6c42\u89e3\u5e38\u89c1\u51f8\u4f18\u5316\u95ee\u9898\u7684\u7f16\u7a0b\u6846\u67b6\uff0c\u652f\u6301 Python, Julia \u7b49\u4e3b\u6d41\u7f16\u7a0b\u8bed\u8a00\uff0c\u5176\u8bfe\u7a0b\u4f5c\u4e1a\u4e5f\u662f\u91c7\u7528\u8fd9\u4e2a\u7f16\u7a0b\u6846\u67b6\u53bb\u89e3\u51b3\u5b9e\u9645\u751f\u6d3b\u5f53\u4e2d\u7684\u51f8\u4f18\u5316\u95ee\u9898\u3002 \u5728\u5b9e\u9645\u8fd0\u7528\u5f53\u4e2d\uff0c\u4f60\u4f1a\u6df1\u523b\u4f53\u4f1a\u5230\u5bf9\u4e8e\u540c\u4e00\u4e2a\u95ee\u9898\uff0c\u5efa\u6a21\u8fc7\u7a0b\u4e2d\u4e00\u4e2a\u7ec6\u5c0f\u7684\u6539\u53d8\uff0c\u5176\u65b9\u7a0b\u7684\u6c42\u89e3\u96be\u5ea6\u4f1a\u6709\u5929\u58e4\u4e4b\u522b\uff0c\u5982\u4f55\u8ba9\u4f60\u5efa\u6a21\u7684\u65b9\u7a0b\u662f\u201c\u51f8\u201d\u7684\uff0c\u662f\u4e00\u95e8\u827a\u672f\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://stanford.edu/class/ee364a/index.html \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1aD4y1Q7aW \u8bfe\u7a0b\u6559\u6750\uff1a Convex Optimization \u8bfe\u7a0b\u4f5c\u4e1a\uff1a9 \u4e2a Python \u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/Standford_CVX101 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/","text":"MIT18.330 : Introduction to numerical analysis \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570\uff0c\u6982\u7387\u8bba \u7f16\u7a0b\u8bed\u8a00\uff1aJulia \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u8ba1\u7b97\u673a\u5f3a\u5927\u7684\u8ba1\u7b97\u80fd\u529b\u5e2e\u52a9\u4eba\u4eec\u5728\u79d1\u5b66\u9886\u57df\u4e0d\u65ad\u7a81\u7834\u8fb9\u754c\uff0c\u4e0d\u8fc7\u8ba1\u7b97\u673a\u7684\u79bb\u6563\u672c\u8d28\u548c\u8fd9\u4e2a\u8fde\u7eed\u7684\u4e16\u754c\u6709\u7740\u5929\u7136\u9e3f\u6c9f\uff0c\u800c\u5982\u4f55\u7528\u79bb\u6563\u7684\u8868\u793a\u53bb\u4f30\u8ba1\u548c\u903c\u8fd1\u90a3\u4e9b\u6570\u5b66\u4e0a\u8fde\u7eed\u7684\u6982\u5ff5\uff0c\u5219\u662f\u6570\u503c\u5206\u6790\u7684\u91cd\u8981\u4e3b\u9898\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u5728\u6d6e\u70b9\u8868\u793a\u3001\u65b9\u7a0b\u6c42\u89e3\u3001\u7ebf\u6027\u4ee3\u6570\u3001\u5fae\u79ef\u5206\u3001\u5fae\u5206\u65b9\u7a0b\u7b49\u9886\u57df\u63a2\u8ba8\u5404\u7c7b\u6570\u503c\u5206\u6790\u65b9\u6cd5\uff0c\u8ba9\u4f60\u5728 Julia \u7684\u7f16\u7a0b\u5b9e\u8df5\u4e2d\u53cd\u590d\u4f53\u609f\uff081\uff09\u5982\u4f55\u5efa\u7acb\u4f30\u8ba1\uff082\uff09\u5982\u4f55\u4f30\u8ba1\u8bef\u5dee\uff083\uff09\u5982\u4f55\u7528\u7b97\u6cd5\u5b9e\u73b0\u4f30\u8ba1 \u8fd9\u4e00\u7cfb\u5217\u6b65\u9aa4\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bbe\u8ba1\u8005\u8fd8\u7f16\u5199\u4e86\u914d\u5957\u7684\u5f00\u6e90\u6559\u6750\uff08\u53c2\u89c1\u4e0b\u65b9\u94fe\u63a5\uff09\uff0c\u91cc\u9762\u6709\u4e30\u5bcc\u7684 Julia \u5b9e\u4f8b\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://github.com/mitmath/18330 \u8bfe\u7a0b\u6559\u6750\uff1a https://fncbook.github.io/fnc/frontmatter.html \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10 \u4e2a Julia \u7f16\u7a0b\u4f5c\u4e1a \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/MIT18.330 - GitHub \u4e2d\u3002","title":"MIT18.330: Introduction to numerical analysis"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#mit18330-introduction-to-numerical-analysis","text":"","title":"MIT18.330 : Introduction to numerical analysis"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570\uff0c\u6982\u7387\u8bba \u7f16\u7a0b\u8bed\u8a00\uff1aJulia \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u8ba1\u7b97\u673a\u5f3a\u5927\u7684\u8ba1\u7b97\u80fd\u529b\u5e2e\u52a9\u4eba\u4eec\u5728\u79d1\u5b66\u9886\u57df\u4e0d\u65ad\u7a81\u7834\u8fb9\u754c\uff0c\u4e0d\u8fc7\u8ba1\u7b97\u673a\u7684\u79bb\u6563\u672c\u8d28\u548c\u8fd9\u4e2a\u8fde\u7eed\u7684\u4e16\u754c\u6709\u7740\u5929\u7136\u9e3f\u6c9f\uff0c\u800c\u5982\u4f55\u7528\u79bb\u6563\u7684\u8868\u793a\u53bb\u4f30\u8ba1\u548c\u903c\u8fd1\u90a3\u4e9b\u6570\u5b66\u4e0a\u8fde\u7eed\u7684\u6982\u5ff5\uff0c\u5219\u662f\u6570\u503c\u5206\u6790\u7684\u91cd\u8981\u4e3b\u9898\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u5728\u6d6e\u70b9\u8868\u793a\u3001\u65b9\u7a0b\u6c42\u89e3\u3001\u7ebf\u6027\u4ee3\u6570\u3001\u5fae\u79ef\u5206\u3001\u5fae\u5206\u65b9\u7a0b\u7b49\u9886\u57df\u63a2\u8ba8\u5404\u7c7b\u6570\u503c\u5206\u6790\u65b9\u6cd5\uff0c\u8ba9\u4f60\u5728 Julia \u7684\u7f16\u7a0b\u5b9e\u8df5\u4e2d\u53cd\u590d\u4f53\u609f\uff081\uff09\u5982\u4f55\u5efa\u7acb\u4f30\u8ba1\uff082\uff09\u5982\u4f55\u4f30\u8ba1\u8bef\u5dee\uff083\uff09\u5982\u4f55\u7528\u7b97\u6cd5\u5b9e\u73b0\u4f30\u8ba1 \u8fd9\u4e00\u7cfb\u5217\u6b65\u9aa4\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bbe\u8ba1\u8005\u8fd8\u7f16\u5199\u4e86\u914d\u5957\u7684\u5f00\u6e90\u6559\u6750\uff08\u53c2\u89c1\u4e0b\u65b9\u94fe\u63a5\uff09\uff0c\u91cc\u9762\u6709\u4e30\u5bcc\u7684 Julia \u5b9e\u4f8b\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://github.com/mitmath/18330 \u8bfe\u7a0b\u6559\u6750\uff1a https://fncbook.github.io/fnc/frontmatter.html \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10 \u4e2a Julia \u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/MIT18.330 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/","text":"CMU 15-445: Database Systems \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aC++\uff0c\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u4f5c\u4e3a CMU \u6570\u636e\u5e93\u7684\u5165\u95e8\u8bfe\uff0c\u8fd9\u95e8\u8bfe\u7531\u6570\u636e\u5e93\u9886\u57df\u7684\u5927\u725b Andy Pavlo \u8bb2\u6388\uff08\u201c\u8fd9\u4e2a\u4e16\u754c\u4e0a\u6211\u53ea\u5728\u4e4e\u4e24\u4ef6\u4e8b\uff0c\u4e00\u662f\u6211\u7684\u8001\u5a46\uff0c\u4e8c\u5c31\u662f\u6570\u636e\u5e93\u201d\uff09\u300215-445 \u4f1a\u81ea\u5e95\u5411\u4e0a\u5730\u6559\u4f60\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u57fa\u672c\u7ec4\u6210\u90e8\u5206\uff1a\u5b58\u50a8\u3001\u7d22\u5f15\u3001\u67e5\u8be2\uff0c\u4ee5\u53ca\u5e76\u53d1\u4e8b\u52a1\u63a7\u5236\u3002 \u8fd9\u95e8\u8bfe\u7684\u4eae\u70b9\u5728\u4e8e CMU db \u4e13\u95e8\u4e3a\u6b64\u8bfe\u5f00\u53d1\u4e86\u4e00\u4e2a\u6559\u5b66\u7528\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93 bustub \uff0c\u5e76\u8981\u6c42\u4f60\u5bf9\u8fd9\u4e2a\u6570\u636e\u5e93\u7684\u7ec4\u6210\u90e8\u5206\u8fdb\u884c\u4fee\u6539\uff0c\u5b9e\u73b0\u4e0a\u8ff0\u90e8\u4ef6\u7684\u529f\u80fd\u3002\u6b64\u5916 bustub \u4f5c\u4e3a\u4e00\u4e2a C++ \u7f16\u5199\u7684\u4e2d\u5c0f\u578b\u9879\u76ee\u6db5\u76d6\u4e86\u7a0b\u5e8f\u6784\u5efa\u3001\u4ee3\u7801\u89c4\u8303\u3001\u5355\u5143\u6d4b\u8bd5\u7b49\u4f17\u591a\u8981\u6c42\uff0c\u53ef\u4ee5\u4f5c\u4e3a\u4e00\u4e2a\u4f18\u79c0\u7684\u5f00\u6e90\u9879\u76ee\u5b66\u4e60\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a Fall2019 , Fall2020 , Fall2021 , Fall2022 \u8bfe\u7a0b\u89c6\u9891\uff1a\u8bfe\u7a0b\u7f51\u7ad9\u514d\u8d39\u89c2\u770b \u8bfe\u7a0b\u6559\u6750\uff1aDatabase System Concepts \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 \u4e2a Project \u5728 Fall2019 \u4e2d\uff0c\u7b2c\u4e8c\u4e2a Project \u662f\u505a\u54c8\u5e0c\u7d22\u5f15\uff0c\u7b2c\u56db\u4e2a Project \u662f\u505a\u65e5\u5fd7\u4e0e\u6062\u590d\u3002 \u5728 Fall2020 \u4e2d\uff0c\u7b2c\u4e8c\u4e2a Project \u662f\u505a B \u6811\uff0c\u7b2c\u56db\u4e2a Project \u662f\u505a\u5e76\u53d1\u63a7\u5236\u3002 \u5728 Fall2021 \u4e2d\uff0c\u7b2c\u4e00\u4e2a Project \u662f\u505a\u7f13\u5b58\u6c60\u7ba1\u7406\uff0c\u7b2c\u4e8c\u4e2a Project \u662f\u505a\u54c8\u5e0c\u7d22\u5f15\uff0c\u7b2c\u56db\u4e2a Project \u662f\u505a\u5e76\u53d1\u63a7\u5236\u3002 \u5728 Fall2022 \u4e2d\uff0c\u4e0e Fall2021 \u76f8\u6bd4\u53ea\u6709\u54c8\u5e0c\u7d22\u5f15\u6362\u6210\u4e86 B+ \u6811\u7d22\u5f15\uff0c\u5176\u4f59\u90fd\u4e00\u6837\u3002 \u5982\u679c\u5927\u5bb6\u6709\u7cbe\u529b\u7684\u8bdd\u53ef\u4ee5\u90fd\u53bb\u5c1d\u8bd5\u4e00\u4e0b\uff0c\u6216\u8005\u5728\u5bf9\u4e66\u4e2d\u5185\u5bb9\u7406\u89e3\u4e0d\u662f\u5f88\u900f\u5f7b\u7684\u65f6\u5019\uff0c\u5c1d\u8bd5\u7528\u4ee3\u7801\u5199\u4e00\u4e2a\u4f1a\u52a0\u6df1\u4f60\u7684\u7406\u89e3\u3002 \u8d44\u6e90\u6c47\u603b @ysj1173886760 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 ysj1173886760/Learning: db - GitHub \u4e2d\u3002 \u7531\u4e8e Andy \u7684\u8981\u6c42\uff0c\u4ed3\u5e93\u4e2d\u6ca1\u6709 Project \u7684\u5b9e\u73b0\uff0c\u53ea\u6709 Homework \u7684 Solution\u3002\u7279\u522b\u7684\uff0c\u5bf9\u4e8e Homework1\uff0c@ysj1173886760 \u8fd8\u5199\u4e86\u4e00\u4e2a Shell \u811a\u672c\u6765\u5e2e\u5927\u5bb6\u6267\u884c\u81ea\u52a8\u5224\u5206\u3002 \u53e6\u5916\u5728\u8bfe\u7a0b\u7ed3\u675f\u540e\uff0c\u63a8\u8350\u9605\u8bfb\u4e00\u7bc7\u8bba\u6587 Architecture Of a Database System \uff0c\u5bf9\u5e94\u7684\u4e2d\u6587\u7248\u4e5f\u5728\u4e0a\u8ff0\u4ed3\u5e93\u4e2d\u3002\u8bba\u6587\u91cc\u7efc\u8ff0\u4e86\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u6574\u4f53\u67b6\u6784\uff0c\u8ba9\u5927\u5bb6\u53ef\u4ee5\u5bf9\u6570\u636e\u5e93\u6709\u4e00\u4e2a\u66f4\u52a0\u5168\u9762\u7684\u89c6\u91ce\u3002 \u540e\u7eed\u8bfe\u7a0b CMU15-721 \u4e3b\u8981\u8bb2\u4e3b\u5b58\u6570\u636e\u5e93\u6709\u5173\u7684\u5185\u5bb9\uff0c\u6bcf\u8282\u8bfe\u90fd\u6709\u5bf9\u5e94\u7684 paper \u8981\u8bfb\uff0c\u63a8\u8350\u7ed9\u5e0c\u671b\u8fdb\u9636\u6570\u636e\u5e93\u7684\u5c0f\u4f19\u4f34\u3002@ysj1173886760 \u76ee\u524d\u4e5f\u5728\u8ddf\u8fdb\u8fd9\u95e8\u8bfe\uff0c\u5b8c\u6210\u540e\u4f1a\u5728\u8fd9\u91cc\u63d0 PR \u4ee5\u63d0\u4f9b\u8fdb\u9636\u7684\u6307\u5bfc\u3002","title":"CMU 15-445: Database Systems"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#cmu-15-445-database-systems","text":"","title":"CMU 15-445: Database Systems"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aC++\uff0c\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u4f5c\u4e3a CMU \u6570\u636e\u5e93\u7684\u5165\u95e8\u8bfe\uff0c\u8fd9\u95e8\u8bfe\u7531\u6570\u636e\u5e93\u9886\u57df\u7684\u5927\u725b Andy Pavlo \u8bb2\u6388\uff08\u201c\u8fd9\u4e2a\u4e16\u754c\u4e0a\u6211\u53ea\u5728\u4e4e\u4e24\u4ef6\u4e8b\uff0c\u4e00\u662f\u6211\u7684\u8001\u5a46\uff0c\u4e8c\u5c31\u662f\u6570\u636e\u5e93\u201d\uff09\u300215-445 \u4f1a\u81ea\u5e95\u5411\u4e0a\u5730\u6559\u4f60\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u57fa\u672c\u7ec4\u6210\u90e8\u5206\uff1a\u5b58\u50a8\u3001\u7d22\u5f15\u3001\u67e5\u8be2\uff0c\u4ee5\u53ca\u5e76\u53d1\u4e8b\u52a1\u63a7\u5236\u3002 \u8fd9\u95e8\u8bfe\u7684\u4eae\u70b9\u5728\u4e8e CMU db \u4e13\u95e8\u4e3a\u6b64\u8bfe\u5f00\u53d1\u4e86\u4e00\u4e2a\u6559\u5b66\u7528\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93 bustub \uff0c\u5e76\u8981\u6c42\u4f60\u5bf9\u8fd9\u4e2a\u6570\u636e\u5e93\u7684\u7ec4\u6210\u90e8\u5206\u8fdb\u884c\u4fee\u6539\uff0c\u5b9e\u73b0\u4e0a\u8ff0\u90e8\u4ef6\u7684\u529f\u80fd\u3002\u6b64\u5916 bustub \u4f5c\u4e3a\u4e00\u4e2a C++ \u7f16\u5199\u7684\u4e2d\u5c0f\u578b\u9879\u76ee\u6db5\u76d6\u4e86\u7a0b\u5e8f\u6784\u5efa\u3001\u4ee3\u7801\u89c4\u8303\u3001\u5355\u5143\u6d4b\u8bd5\u7b49\u4f17\u591a\u8981\u6c42\uff0c\u53ef\u4ee5\u4f5c\u4e3a\u4e00\u4e2a\u4f18\u79c0\u7684\u5f00\u6e90\u9879\u76ee\u5b66\u4e60\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a Fall2019 , Fall2020 , Fall2021 , Fall2022 \u8bfe\u7a0b\u89c6\u9891\uff1a\u8bfe\u7a0b\u7f51\u7ad9\u514d\u8d39\u89c2\u770b \u8bfe\u7a0b\u6559\u6750\uff1aDatabase System Concepts \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 \u4e2a Project \u5728 Fall2019 \u4e2d\uff0c\u7b2c\u4e8c\u4e2a Project \u662f\u505a\u54c8\u5e0c\u7d22\u5f15\uff0c\u7b2c\u56db\u4e2a Project \u662f\u505a\u65e5\u5fd7\u4e0e\u6062\u590d\u3002 \u5728 Fall2020 \u4e2d\uff0c\u7b2c\u4e8c\u4e2a Project \u662f\u505a B \u6811\uff0c\u7b2c\u56db\u4e2a Project \u662f\u505a\u5e76\u53d1\u63a7\u5236\u3002 \u5728 Fall2021 \u4e2d\uff0c\u7b2c\u4e00\u4e2a Project \u662f\u505a\u7f13\u5b58\u6c60\u7ba1\u7406\uff0c\u7b2c\u4e8c\u4e2a Project \u662f\u505a\u54c8\u5e0c\u7d22\u5f15\uff0c\u7b2c\u56db\u4e2a Project \u662f\u505a\u5e76\u53d1\u63a7\u5236\u3002 \u5728 Fall2022 \u4e2d\uff0c\u4e0e Fall2021 \u76f8\u6bd4\u53ea\u6709\u54c8\u5e0c\u7d22\u5f15\u6362\u6210\u4e86 B+ \u6811\u7d22\u5f15\uff0c\u5176\u4f59\u90fd\u4e00\u6837\u3002 \u5982\u679c\u5927\u5bb6\u6709\u7cbe\u529b\u7684\u8bdd\u53ef\u4ee5\u90fd\u53bb\u5c1d\u8bd5\u4e00\u4e0b\uff0c\u6216\u8005\u5728\u5bf9\u4e66\u4e2d\u5185\u5bb9\u7406\u89e3\u4e0d\u662f\u5f88\u900f\u5f7b\u7684\u65f6\u5019\uff0c\u5c1d\u8bd5\u7528\u4ee3\u7801\u5199\u4e00\u4e2a\u4f1a\u52a0\u6df1\u4f60\u7684\u7406\u89e3\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#_3","text":"@ysj1173886760 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 ysj1173886760/Learning: db - GitHub \u4e2d\u3002 \u7531\u4e8e Andy \u7684\u8981\u6c42\uff0c\u4ed3\u5e93\u4e2d\u6ca1\u6709 Project \u7684\u5b9e\u73b0\uff0c\u53ea\u6709 Homework \u7684 Solution\u3002\u7279\u522b\u7684\uff0c\u5bf9\u4e8e Homework1\uff0c@ysj1173886760 \u8fd8\u5199\u4e86\u4e00\u4e2a Shell \u811a\u672c\u6765\u5e2e\u5927\u5bb6\u6267\u884c\u81ea\u52a8\u5224\u5206\u3002 \u53e6\u5916\u5728\u8bfe\u7a0b\u7ed3\u675f\u540e\uff0c\u63a8\u8350\u9605\u8bfb\u4e00\u7bc7\u8bba\u6587 Architecture Of a Database System \uff0c\u5bf9\u5e94\u7684\u4e2d\u6587\u7248\u4e5f\u5728\u4e0a\u8ff0\u4ed3\u5e93\u4e2d\u3002\u8bba\u6587\u91cc\u7efc\u8ff0\u4e86\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u6574\u4f53\u67b6\u6784\uff0c\u8ba9\u5927\u5bb6\u53ef\u4ee5\u5bf9\u6570\u636e\u5e93\u6709\u4e00\u4e2a\u66f4\u52a0\u5168\u9762\u7684\u89c6\u91ce\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#_4","text":"CMU15-721 \u4e3b\u8981\u8bb2\u4e3b\u5b58\u6570\u636e\u5e93\u6709\u5173\u7684\u5185\u5bb9\uff0c\u6bcf\u8282\u8bfe\u90fd\u6709\u5bf9\u5e94\u7684 paper \u8981\u8bfb\uff0c\u63a8\u8350\u7ed9\u5e0c\u671b\u8fdb\u9636\u6570\u636e\u5e93\u7684\u5c0f\u4f19\u4f34\u3002@ysj1173886760 \u76ee\u524d\u4e5f\u5728\u8ddf\u8fdb\u8fd9\u95e8\u8bfe\uff0c\u5b8c\u6210\u540e\u4f1a\u5728\u8fd9\u91cc\u63d0 PR \u4ee5\u63d0\u4f9b\u8fdb\u9636\u7684\u6307\u5bfc\u3002","title":"\u540e\u7eed\u8bfe\u7a0b"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15799/","text":"CMU 15-799: Special Topics in Database Systems \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aCMU 15-445 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u76ee\u524d\u53ea\u5f00\u4e86\u4e24\u6b21\uff1afall2013 \u548c spring2022\uff0c\u8ba8\u8bba\u4e86\u6570\u636e\u5e93\u9886\u57df\u7684\u4e00\u4e9b\u524d\u6cbf\u4e3b\u9898\u3002fall2013 \u8ba8\u8bba\u4e86 Streaming\u3001Graph DB\u3001NVM \u7b49\uff0cspring2022 \u4e3b\u8981\u8ba8\u8bba Self-Driving DBMS\uff0c\u90fd\u63d0\u4f9b\u6709\u76f8\u5173\u8bba\u6587\u3002 spring2022 \u7248\u8bfe\u7a0b\u4efb\u52a1\uff1a \u4efb\u52a1\u4e00\uff1a\u57fa\u4e8e PostgreSQL \u8fdb\u884c\u624b\u52a8\u6027\u80fd\u8c03\u4f18\uff1b \u4efb\u52a1\u4e8c\uff1a\u57fa\u4e8e NoisePage Pilot \u6539\u8fdb Self-Driving DBMS\uff0c\u4e0d\u9650\u7279\u6027\u3002 \u6388\u8bfe\u66f4\u8d34\u8fd1\u8bb2\u5ea7\u7684\u5f62\u5f0f\uff0c\u7f16\u7a0b\u4efb\u52a1\u8f83\u5c11\u3002\u5bf9\u4e00\u822c\u540c\u5b66\u53ef\u4ee5\u5f00\u62d3\u4e00\u4e0b\u89c6\u91ce\uff0c\u5bf9\u4e13\u7cbe\u6570\u636e\u5e93\u7684\u540c\u5b66\u53ef\u80fd\u5e2e\u52a9\u8f83\u5927\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u4e3b\u9875 CMU15-799 - Special Topics in Database Systems CMU15-799 - Special Topics: Self-Driving Database Management Systems \u8bfe\u7a0b\u89c6\u9891\uff1a\u6682\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a2 Projects + 1 Group Project","title":"CMU 15-799: Special Topics in Database Systems"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15799/#cmu-15-799-special-topics-in-database-systems","text":"","title":"CMU 15-799: Special Topics in Database Systems"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15799/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aCMU 15-445 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u76ee\u524d\u53ea\u5f00\u4e86\u4e24\u6b21\uff1afall2013 \u548c spring2022\uff0c\u8ba8\u8bba\u4e86\u6570\u636e\u5e93\u9886\u57df\u7684\u4e00\u4e9b\u524d\u6cbf\u4e3b\u9898\u3002fall2013 \u8ba8\u8bba\u4e86 Streaming\u3001Graph DB\u3001NVM \u7b49\uff0cspring2022 \u4e3b\u8981\u8ba8\u8bba Self-Driving DBMS\uff0c\u90fd\u63d0\u4f9b\u6709\u76f8\u5173\u8bba\u6587\u3002 spring2022 \u7248\u8bfe\u7a0b\u4efb\u52a1\uff1a \u4efb\u52a1\u4e00\uff1a\u57fa\u4e8e PostgreSQL \u8fdb\u884c\u624b\u52a8\u6027\u80fd\u8c03\u4f18\uff1b \u4efb\u52a1\u4e8c\uff1a\u57fa\u4e8e NoisePage Pilot \u6539\u8fdb Self-Driving DBMS\uff0c\u4e0d\u9650\u7279\u6027\u3002 \u6388\u8bfe\u66f4\u8d34\u8fd1\u8bb2\u5ea7\u7684\u5f62\u5f0f\uff0c\u7f16\u7a0b\u4efb\u52a1\u8f83\u5c11\u3002\u5bf9\u4e00\u822c\u540c\u5b66\u53ef\u4ee5\u5f00\u62d3\u4e00\u4e0b\u89c6\u91ce\uff0c\u5bf9\u4e13\u7cbe\u6570\u636e\u5e93\u7684\u540c\u5b66\u53ef\u80fd\u5e2e\u52a9\u8f83\u5927\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15799/#_2","text":"\u8bfe\u7a0b\u4e3b\u9875 CMU15-799 - Special Topics in Database Systems CMU15-799 - Special Topics: Self-Driving Database Management Systems \u8bfe\u7a0b\u89c6\u9891\uff1a\u6682\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a2 Projects + 1 Group Project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/","text":"Caltech CS 122: Database System Implementation \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCaltech \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u52a0\u5dde\u7406\u5de5\u7684\u8fd9\u95e8\u8bfe\uff0c\u4e0d\u540c\u4e8e\u6ca1\u6709\u63d0\u4f9b SQL \u5c42\u529f\u80fd\u7684 CMU15-445 \u8bfe\u7a0b\u3002CS122 \u8bfe\u7a0b Lab \u7684\u4fa7\u91cd\u70b9\u5728\u4e8e SQL \u5c42\u7684\u76f8\u5173\u5b9e\u73b0\uff0c\u6d89\u53ca\u67e5\u8be2\u4f18\u5316\u5668\u7684\u5404\u4e2a\u6a21\u5757\uff0c\u6bd4\u5982SQL\u7684\u89e3\u6790\uff0cTranslate\uff0c\u5982\u4f55\u5b9e\u73b0 Join\uff0c\u7edf\u8ba1\u4fe1\u606f\u4ee5\u53ca\u4ee3\u4ef7\u4f30\u8ba1\uff0c\u5b50\u67e5\u8be2\u5b9e\u73b0\uff0cAgg\uff0cGroup By \u7684\u5b9e\u73b0\u7b49\u3002\u9664\u6b64\u4e4b\u5916\uff0c\u8fd8\u6709 B+\u6811\uff0cWAL \u76f8\u5173\u5b9e\u9a8c\u3002\u672c\u95e8\u8bfe\u7a0b\u9002\u5408\u5728\u5b66\u5b8c CMU15-445 \u8bfe\u7a0b\u4e4b\u540e\uff0c\u5bf9\u67e5\u8be2\u4f18\u5316\u76f8\u5173\u5185\u5bb9\u6709\u5174\u8da3\u7684\u540c\u5b66\u3002 \u4e0b\u9762\u4ecb\u7ecd\u4e00\u4e0b\u8fd9\u95e8\u8bfe\u7684\u524d 3 \u4e2a Assignment \u4e5f\u5c31\u662f\u5b9e\u9a8c Lab \u6240\u8981\u5b9e\u73b0\u7684\u529f\u80fd\uff1a Assignment1 \u4e3a NanoDB \u63d0\u4f9b delete\uff0cupdate \u8bed\u53e5\u7684\u652f\u6301\u3002 \u4e3a Buffer Pool Manager \u6dfb\u52a0\u5408\u9002\u7684 pin/unpin \u4ee3\u7801\u3002 \u63d0\u5347 insert \u8bed\u53e5\u7684\u6027\u80fd\uff0c \u540c\u65f6\u4e0d\u4f7f\u6570\u636e\u5e93\u6587\u4ef6\u5927\u5c0f\u8fc7\u5206\u81a8\u80c0\u3002 Assignment2 \u5b9e\u73b0\u4e00\u4e2a\u7b80\u5355\u7684\u8ba1\u5212\u751f\u6210\u5668\uff0c\u5c06\u5404\u79cd\u5df2\u7ecf Parser \u8fc7\u7684 SQL \u8bed\u53e5\u8f6c\u5316\u4e3a\u53ef\u6267\u884c\u7684\u6267\u884c\u8ba1\u5212\u3002 \u4f7f\u7528 nested-loop join \u7b97\u6cd5\uff0c\u5b9e\u73b0\u652f\u6301 inner- and outer-join \u7684 Join \u8ba1\u5212\u8282\u70b9\u3002 \u6dfb\u52a0\u4e00\u4e9b\u5355\u5143\u6d4b\u8bd5\uff0c \u4fdd\u8bc1 inner- and outer-join \u529f\u80fd\u5b9e\u73b0\u6b63\u786e\u3002 Assignment3 \u5b8c\u6210\u6536\u96c6\u8868\u7684\u7edf\u8ba1\u4fe1\u606f\u3002 \u5b8c\u6210\u5404\u79cd\u8ba1\u5212\u8282\u70b9\u7684\u8ba1\u5212\u6210\u672c\u8ba1\u7b97\u3002 \u8ba1\u7b97\u53ef\u51fa\u73b0\u5728\u6267\u884c\u8ba1\u5212\u4e2d\u7684\u5404\u79cd\u8c13\u8bcd\u7684\u9009\u62e9\u6027\u3002 \u6839\u636e\u8c13\u8bcd\u66f4\u65b0\u8ba1\u5212\u8282\u70b9\u8f93\u51fa\u7684\u5143\u7ec4\u7edf\u8ba1\u4fe1\u606f\u3002 \u5269\u4f59 Assignment \u548c Challenges \u53ef\u4ee5\u67e5\u770b\u8bfe\u7a0b\u4ecb\u7ecd\uff0c\u63a8\u8350\u4f7f\u7528 IDEA \u6253\u5f00\u5de5\u7a0b\uff0cMaven \u6784\u5efa\uff0c\u6ce8\u610f\u65e5\u5fd7\u76f8\u5173\u914d\u7f6e\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://courses.cms.caltech.edu/cs122/ \u8bfe\u7a0b\u4ee3\u7801\uff1a https://gitlab.caltech.edu/cs122-19wi \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 Assignments + 2 Challenges","title":"Caltech CS122: Database System Implementation"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#caltech-cs-122-database-system-implementation","text":"","title":"Caltech CS 122: Database System Implementation"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCaltech \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u52a0\u5dde\u7406\u5de5\u7684\u8fd9\u95e8\u8bfe\uff0c\u4e0d\u540c\u4e8e\u6ca1\u6709\u63d0\u4f9b SQL \u5c42\u529f\u80fd\u7684 CMU15-445 \u8bfe\u7a0b\u3002CS122 \u8bfe\u7a0b Lab \u7684\u4fa7\u91cd\u70b9\u5728\u4e8e SQL \u5c42\u7684\u76f8\u5173\u5b9e\u73b0\uff0c\u6d89\u53ca\u67e5\u8be2\u4f18\u5316\u5668\u7684\u5404\u4e2a\u6a21\u5757\uff0c\u6bd4\u5982SQL\u7684\u89e3\u6790\uff0cTranslate\uff0c\u5982\u4f55\u5b9e\u73b0 Join\uff0c\u7edf\u8ba1\u4fe1\u606f\u4ee5\u53ca\u4ee3\u4ef7\u4f30\u8ba1\uff0c\u5b50\u67e5\u8be2\u5b9e\u73b0\uff0cAgg\uff0cGroup By \u7684\u5b9e\u73b0\u7b49\u3002\u9664\u6b64\u4e4b\u5916\uff0c\u8fd8\u6709 B+\u6811\uff0cWAL \u76f8\u5173\u5b9e\u9a8c\u3002\u672c\u95e8\u8bfe\u7a0b\u9002\u5408\u5728\u5b66\u5b8c CMU15-445 \u8bfe\u7a0b\u4e4b\u540e\uff0c\u5bf9\u67e5\u8be2\u4f18\u5316\u76f8\u5173\u5185\u5bb9\u6709\u5174\u8da3\u7684\u540c\u5b66\u3002 \u4e0b\u9762\u4ecb\u7ecd\u4e00\u4e0b\u8fd9\u95e8\u8bfe\u7684\u524d 3 \u4e2a Assignment \u4e5f\u5c31\u662f\u5b9e\u9a8c Lab \u6240\u8981\u5b9e\u73b0\u7684\u529f\u80fd\uff1a","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#assignment1","text":"\u4e3a NanoDB \u63d0\u4f9b delete\uff0cupdate \u8bed\u53e5\u7684\u652f\u6301\u3002 \u4e3a Buffer Pool Manager \u6dfb\u52a0\u5408\u9002\u7684 pin/unpin \u4ee3\u7801\u3002 \u63d0\u5347 insert \u8bed\u53e5\u7684\u6027\u80fd\uff0c \u540c\u65f6\u4e0d\u4f7f\u6570\u636e\u5e93\u6587\u4ef6\u5927\u5c0f\u8fc7\u5206\u81a8\u80c0\u3002","title":"Assignment1"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#assignment2","text":"\u5b9e\u73b0\u4e00\u4e2a\u7b80\u5355\u7684\u8ba1\u5212\u751f\u6210\u5668\uff0c\u5c06\u5404\u79cd\u5df2\u7ecf Parser \u8fc7\u7684 SQL \u8bed\u53e5\u8f6c\u5316\u4e3a\u53ef\u6267\u884c\u7684\u6267\u884c\u8ba1\u5212\u3002 \u4f7f\u7528 nested-loop join \u7b97\u6cd5\uff0c\u5b9e\u73b0\u652f\u6301 inner- and outer-join \u7684 Join \u8ba1\u5212\u8282\u70b9\u3002 \u6dfb\u52a0\u4e00\u4e9b\u5355\u5143\u6d4b\u8bd5\uff0c \u4fdd\u8bc1 inner- and outer-join \u529f\u80fd\u5b9e\u73b0\u6b63\u786e\u3002","title":"Assignment2"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#assignment3","text":"\u5b8c\u6210\u6536\u96c6\u8868\u7684\u7edf\u8ba1\u4fe1\u606f\u3002 \u5b8c\u6210\u5404\u79cd\u8ba1\u5212\u8282\u70b9\u7684\u8ba1\u5212\u6210\u672c\u8ba1\u7b97\u3002 \u8ba1\u7b97\u53ef\u51fa\u73b0\u5728\u6267\u884c\u8ba1\u5212\u4e2d\u7684\u5404\u79cd\u8c13\u8bcd\u7684\u9009\u62e9\u6027\u3002 \u6839\u636e\u8c13\u8bcd\u66f4\u65b0\u8ba1\u5212\u8282\u70b9\u8f93\u51fa\u7684\u5143\u7ec4\u7edf\u8ba1\u4fe1\u606f\u3002 \u5269\u4f59 Assignment \u548c Challenges \u53ef\u4ee5\u67e5\u770b\u8bfe\u7a0b\u4ecb\u7ecd\uff0c\u63a8\u8350\u4f7f\u7528 IDEA \u6253\u5f00\u5de5\u7a0b\uff0cMaven \u6784\u5efa\uff0c\u6ce8\u610f\u65e5\u5fd7\u76f8\u5173\u914d\u7f6e\u3002","title":"Assignment3"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://courses.cms.caltech.edu/cs122/ \u8bfe\u7a0b\u4ee3\u7801\uff1a https://gitlab.caltech.edu/cs122-19wi \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 Assignments + 2 Challenges","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/","text":"UCB CS186: Introduction to Database System \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u5982\u4f55\u7f16\u5199 SQL \u67e5\u8be2\uff1fSQL \u547d\u4ee4\u662f\u5982\u4f55\u88ab\u4e00\u6b65\u6b65\u62c6\u89e3\u3001\u4f18\u5316\u3001\u8f6c\u53d8\u4e3a\u4e00\u4e2a\u4e2a\u78c1\u76d8\u67e5\u8be2\u6307\u4ee4\u7684\uff1f\u5982\u4f55\u5b9e\u73b0\u9ad8\u5e76\u53d1\u7684\u6570\u636e\u5e93\uff1f\u5982\u4f55\u5b9e\u73b0\u6570\u636e\u5e93\u7684\u6545\u969c\u6062\u590d\uff1f\u4ec0\u4e48\u53c8\u662f\u975e\u5173\u7cfb\u578b\u6570\u636e\u5e93\uff1f\u8fd9\u95e8\u8bfe\u4f1a\u5e26\u4f60\u6df1\u5165\u7406\u89e3\u5173\u7cfb\u578b\u6570\u636e\u5e93\u7684\u5185\u90e8\u7ec6\u8282\uff0c\u5e76\u5728\u638c\u63e1\u7406\u8bba\u77e5\u8bc6\u4e4b\u540e\uff0c\u52a8\u624b\u7528 Java \u5b9e\u73b0\u4e00\u4e2a\u652f\u6301 SQL \u5e76\u53d1\u67e5\u8be2\u3001B+ \u6811 Index \u548c\u6545\u969c\u6062\u590d\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3002 \u4ece\u5b9e\u7528\u89d2\u5ea6\u6765\u8bf4\uff0c\u8fd9\u95e8\u8bfe\u8fd8\u4f1a\u5728\u7f16\u7a0b\u4f5c\u4e1a\u4e2d\u953b\u70bc\u4f60\u7f16\u5199 SQL \u67e5\u8be2\u4ee5\u53ca NoSQL \u67e5\u8be2\u7684\u80fd\u529b\uff0c\u5bf9\u4e8e\u6784\u5efa\u4e00\u4e9b\u5168\u6808\u7684\u5de5\u7a0b\u9879\u76ee\u5f88\u6709\u5e2e\u52a9\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs186berkeley.net/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV13a411c7Qo \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a6 \u4e2a Project \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS186 - GitHub \u4e2d\u3002","title":"UCB CS186: Introduction to Database System"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#ucb-cs186-introduction-to-database-system","text":"","title":"UCB CS186: Introduction to Database System"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u5982\u4f55\u7f16\u5199 SQL \u67e5\u8be2\uff1fSQL \u547d\u4ee4\u662f\u5982\u4f55\u88ab\u4e00\u6b65\u6b65\u62c6\u89e3\u3001\u4f18\u5316\u3001\u8f6c\u53d8\u4e3a\u4e00\u4e2a\u4e2a\u78c1\u76d8\u67e5\u8be2\u6307\u4ee4\u7684\uff1f\u5982\u4f55\u5b9e\u73b0\u9ad8\u5e76\u53d1\u7684\u6570\u636e\u5e93\uff1f\u5982\u4f55\u5b9e\u73b0\u6570\u636e\u5e93\u7684\u6545\u969c\u6062\u590d\uff1f\u4ec0\u4e48\u53c8\u662f\u975e\u5173\u7cfb\u578b\u6570\u636e\u5e93\uff1f\u8fd9\u95e8\u8bfe\u4f1a\u5e26\u4f60\u6df1\u5165\u7406\u89e3\u5173\u7cfb\u578b\u6570\u636e\u5e93\u7684\u5185\u90e8\u7ec6\u8282\uff0c\u5e76\u5728\u638c\u63e1\u7406\u8bba\u77e5\u8bc6\u4e4b\u540e\uff0c\u52a8\u624b\u7528 Java \u5b9e\u73b0\u4e00\u4e2a\u652f\u6301 SQL \u5e76\u53d1\u67e5\u8be2\u3001B+ \u6811 Index \u548c\u6545\u969c\u6062\u590d\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3002 \u4ece\u5b9e\u7528\u89d2\u5ea6\u6765\u8bf4\uff0c\u8fd9\u95e8\u8bfe\u8fd8\u4f1a\u5728\u7f16\u7a0b\u4f5c\u4e1a\u4e2d\u953b\u70bc\u4f60\u7f16\u5199 SQL \u67e5\u8be2\u4ee5\u53ca NoSQL \u67e5\u8be2\u7684\u80fd\u529b\uff0c\u5bf9\u4e8e\u6784\u5efa\u4e00\u4e9b\u5168\u6808\u7684\u5de5\u7a0b\u9879\u76ee\u5f88\u6709\u5e2e\u52a9\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs186berkeley.net/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV13a411c7Qo \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a6 \u4e2a Project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS186 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS346/","text":"Stanford CS 346: Database System Implementation \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 RedBase \u662f cs346 \u7684\u4e00\u4e2a\u9879\u76ee\uff0c\u5b9e\u73b0\u4e86\u4e00\u4e2a\u7b80\u6613\u7684\u6570\u636e\u5e93\u7cfb\u7edf\uff0c\u9879\u76ee\u662f\u9ad8\u5ea6\u7ed3\u6784\u5316\u7684\u3002\u6574\u4e2a\u9879\u76ee\u80fd\u591f\u88ab\u5206\u4e3a\u4ee5\u4e0b\u51e0\u4e2a\u90e8\u5206\uff08\u540c\u65f6\u4e5f\u662f 4 \u4e2a\u9700\u8981\u5b8c\u5584\u7684 lab\uff09\uff1a The record management component\uff1a\u8bb0\u5f55\u7ba1\u7406\u7ec4\u4ef6\u3002 The index component\uff1aB+ \u7d22\u5f15\u7ba1\u7406\u3002 The System Management Component\uff1addl\u8bed\u53e5\u3001\u547d\u4ee4\u884c\u5de5\u5177\u3001\u6570\u636e\u52a0\u8f7d\u547d\u4ee4\u3001\u5143\u6570\u636e\u7ba1\u7406\u3002 The Query Language Component\uff1a\u5728\u8fd9\u4e2a\u90e8\u5206\u9700\u8981\u5b9e\u73b0 RQL Redbase \u67e5\u8be2\u8bed\u8a00\u3002RQL \u8981\u5b9e\u73b0 select\u3001insert\u3001delete\u3001update \u8bed\u53e5\u3002 Extension Component\uff1a\u9664\u4e86\u4e0a\u8ff0\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u57fa\u672c\u529f\u80fd\u7ec4\u4ef6\uff0c\u8fd8\u9700\u8981\u5b9e\u73b0\u4e00\u4e2a\u6269\u5c55\u7ec4\u4ef6\uff0c\u53ef\u4ee5\u662f Blob \u7c7b\u578b\u3001 \u7f51\u7edc\u6a21\u5757\u3001\u8fde\u63a5\u7b97\u6cd5\u3001CBO \u4f18\u5316\u5668\u3001OLAP\u3001\u4e8b\u52a1\u7b49\u3002 RedBase \u9002\u5408\u5728\u5b66\u5b8c CMU-15445 \u540e\u7ee7\u7eed\u5b66\u4e60\u6570\u636e\u5e93\u7cfb\u7edf\u4e2d\u7684\u5176\u4ed6\u7ec4\u4ef6\uff0c\u56e0\u4e3a\u5176\u4ee3\u7801\u91cf\u4e0d\u591a\uff0c\u53ef\u4ee5\u65b9\u4fbf\u7684\u6839\u636e\u9700\u8981\u6269\u5c55\u4ee3\u7801\u3002\u540c\u65f6\u4ee3\u7801\u5b8c\u5168\u7531 C++ \u7f16\u5199\uff0c\u4e5f\u53ef\u4ee5\u7528\u4e8e\u7ec3\u4e60 C++ \u7f16\u7a0b\u6280\u5de7\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://web.stanford.edu/class/cs346/2015/ \u8bfe\u7a0b\u4ee3\u7801\uff1a https://github.com/junkumar/redbase.git \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 Projects + 1 Extension","title":"Stanford CS346: Database System Implementation"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS346/#stanford-cs-346-database-system-implementation","text":"","title":"Stanford CS 346: Database System Implementation"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS346/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 RedBase \u662f cs346 \u7684\u4e00\u4e2a\u9879\u76ee\uff0c\u5b9e\u73b0\u4e86\u4e00\u4e2a\u7b80\u6613\u7684\u6570\u636e\u5e93\u7cfb\u7edf\uff0c\u9879\u76ee\u662f\u9ad8\u5ea6\u7ed3\u6784\u5316\u7684\u3002\u6574\u4e2a\u9879\u76ee\u80fd\u591f\u88ab\u5206\u4e3a\u4ee5\u4e0b\u51e0\u4e2a\u90e8\u5206\uff08\u540c\u65f6\u4e5f\u662f 4 \u4e2a\u9700\u8981\u5b8c\u5584\u7684 lab\uff09\uff1a The record management component\uff1a\u8bb0\u5f55\u7ba1\u7406\u7ec4\u4ef6\u3002 The index component\uff1aB+ \u7d22\u5f15\u7ba1\u7406\u3002 The System Management Component\uff1addl\u8bed\u53e5\u3001\u547d\u4ee4\u884c\u5de5\u5177\u3001\u6570\u636e\u52a0\u8f7d\u547d\u4ee4\u3001\u5143\u6570\u636e\u7ba1\u7406\u3002 The Query Language Component\uff1a\u5728\u8fd9\u4e2a\u90e8\u5206\u9700\u8981\u5b9e\u73b0 RQL Redbase \u67e5\u8be2\u8bed\u8a00\u3002RQL \u8981\u5b9e\u73b0 select\u3001insert\u3001delete\u3001update \u8bed\u53e5\u3002 Extension Component\uff1a\u9664\u4e86\u4e0a\u8ff0\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u57fa\u672c\u529f\u80fd\u7ec4\u4ef6\uff0c\u8fd8\u9700\u8981\u5b9e\u73b0\u4e00\u4e2a\u6269\u5c55\u7ec4\u4ef6\uff0c\u53ef\u4ee5\u662f Blob \u7c7b\u578b\u3001 \u7f51\u7edc\u6a21\u5757\u3001\u8fde\u63a5\u7b97\u6cd5\u3001CBO \u4f18\u5316\u5668\u3001OLAP\u3001\u4e8b\u52a1\u7b49\u3002 RedBase \u9002\u5408\u5728\u5b66\u5b8c CMU-15445 \u540e\u7ee7\u7eed\u5b66\u4e60\u6570\u636e\u5e93\u7cfb\u7edf\u4e2d\u7684\u5176\u4ed6\u7ec4\u4ef6\uff0c\u56e0\u4e3a\u5176\u4ee3\u7801\u91cf\u4e0d\u591a\uff0c\u53ef\u4ee5\u65b9\u4fbf\u7684\u6839\u636e\u9700\u8981\u6269\u5c55\u4ee3\u7801\u3002\u540c\u65f6\u4ee3\u7801\u5b8c\u5168\u7531 C++ \u7f16\u5199\uff0c\u4e5f\u53ef\u4ee5\u7528\u4e8e\u7ec3\u4e60 C++ \u7f16\u7a0b\u6280\u5de7\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS346/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://web.stanford.edu/class/cs346/2015/ \u8bfe\u7a0b\u4ee3\u7801\uff1a https://github.com/junkumar/redbase.git \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 Projects + 1 Extension","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/","text":"UCB Data100: Principles and Techniques of Data Science \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aData8, CS61A\uff0c\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u6570\u636e\u79d1\u5b66\u5165\u95e8\u8bfe\u7a0b\uff0c\u5185\u5bb9\u76f8\u5bf9\u57fa\u7840\uff0c\u8986\u76d6\u4e86\u6570\u636e\u6e05\u6d17\u3001\u7279\u5f81\u63d0\u53d6\u3001\u6570\u636e\u53ef\u89c6\u5316\u4ee5\u53ca\u673a\u5668\u5b66\u4e60\u548c\u63a8\u7406\u7684\u57fa\u7840\u5185\u5bb9\uff0c\u4e5f\u4f1a\u8bb2\u6388 Pandas, Numpy, Matplotlib \u7b49\u6570\u636e\u79d1\u5b66\u5e38\u7528\u5de5\u5177\u3002\u5176\u4e30\u5bcc\u6709\u8da3\u7684\u7f16\u7a0b\u4f5c\u4e1a\u4e5f\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u4eae\u70b9\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://ds100.org/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a https://www.textbook.ds100.org/intro.html \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"UCB Data100: Principles and Techniques of Data Science"},{"location":"%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/#ucb-data100-principles-and-techniques-of-data-science","text":"","title":"UCB Data100: Principles and Techniques of Data Science"},{"location":"%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aData8, CS61A\uff0c\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u6570\u636e\u79d1\u5b66\u5165\u95e8\u8bfe\u7a0b\uff0c\u5185\u5bb9\u76f8\u5bf9\u57fa\u7840\uff0c\u8986\u76d6\u4e86\u6570\u636e\u6e05\u6d17\u3001\u7279\u5f81\u63d0\u53d6\u3001\u6570\u636e\u53ef\u89c6\u5316\u4ee5\u53ca\u673a\u5668\u5b66\u4e60\u548c\u63a8\u7406\u7684\u57fa\u7840\u5185\u5bb9\uff0c\u4e5f\u4f1a\u8bb2\u6388 Pandas, Numpy, Matplotlib \u7b49\u6570\u636e\u79d1\u5b66\u5e38\u7528\u5de5\u5177\u3002\u5176\u4e30\u5bcc\u6709\u8da3\u7684\u7f16\u7a0b\u4f5c\u4e1a\u4e5f\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u4eae\u70b9\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://ds100.org/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a https://www.textbook.ds100.org/intro.html \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.006/","text":"MIT 6.006: Introduction to Algorithms \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u5bfc\u8bba(CS50/CS61A or equivalent) \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100h+ MIT-EECS \u7cfb\u7684\u7470\u5b9d\u3002\u6388\u8bfe\u8001\u5e08\u4e4b\u4e00\u662f\u7b97\u6cd5\u5c4a\u7684\u5947\u624d Erik Demaine. \u76f8\u6bd4\u8f83\u4e8e\u65af\u5766\u798f\u7684 CS106B/X \uff08\u57fa\u4e8e C++ \u7684\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u8bfe\u7a0b\uff09\uff0c\u8be5\u8bfe\u7a0b\u66f4\u4fa7\u91cd\u4e8e\u7b97\u6cd5\u65b9\u9762\u7684\u8be6\u7ec6\u8bb2\u89e3\u3002\u8bfe\u7a0b\u4e5f\u8986\u76d6\u4e86\u4e00\u4e9b\u7ecf\u5178\u7684\u6570\u636e\u7ed3\u6784\uff0c\u5982 AVL \u6811\u7b49\u3002\u4e2a\u4eba\u611f\u89c9\u5728\u8bb2\u89e3\u65b9\u9762\u6bd4 CS106B \u66f4\u52a0\u8be6\u7ec6\uff0c\u4e5f\u5f25\u8865\u4e86 CS106B \u5728\u7b97\u6cd5\u65b9\u9762\u8bb2\u89e3\u7684\u4e0d\u8db3\u3002\u9002\u5408\u5728 CS106B \u5165\u95e8\u4e4b\u540e\u5de9\u56fa\u7b97\u6cd5\u77e5\u8bc6\u3002 \u4e0d\u8fc7\u8be5\u8bfe\u7a0b\u4e5f\u662f\u51fa\u4e86\u540d\u7684\u96be\uff0c\u5927\u5bb6\u9700\u8981\u505a\u597d\u4e00\u5b9a\u7684\u5fc3\u7406\u51c6\u5907\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a Fall 2011 \u8bfe\u7a0b\u89c6\u9891\uff1a Fall 2011 \u8bfe\u7a0b\u6559\u6750\uff1aIntroduction to Algorithms (CLRS) \u8bfe\u7a0b\u4f5c\u4e1a\uff1a Fall 2011","title":"MIT 6.006: Introduction to Algorithms"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.006/#mit-6006-introduction-to-algorithms","text":"","title":"MIT 6.006: Introduction to Algorithms"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.006/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u5bfc\u8bba(CS50/CS61A or equivalent) \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100h+ MIT-EECS \u7cfb\u7684\u7470\u5b9d\u3002\u6388\u8bfe\u8001\u5e08\u4e4b\u4e00\u662f\u7b97\u6cd5\u5c4a\u7684\u5947\u624d Erik Demaine. \u76f8\u6bd4\u8f83\u4e8e\u65af\u5766\u798f\u7684 CS106B/X \uff08\u57fa\u4e8e C++ \u7684\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u8bfe\u7a0b\uff09\uff0c\u8be5\u8bfe\u7a0b\u66f4\u4fa7\u91cd\u4e8e\u7b97\u6cd5\u65b9\u9762\u7684\u8be6\u7ec6\u8bb2\u89e3\u3002\u8bfe\u7a0b\u4e5f\u8986\u76d6\u4e86\u4e00\u4e9b\u7ecf\u5178\u7684\u6570\u636e\u7ed3\u6784\uff0c\u5982 AVL \u6811\u7b49\u3002\u4e2a\u4eba\u611f\u89c9\u5728\u8bb2\u89e3\u65b9\u9762\u6bd4 CS106B \u66f4\u52a0\u8be6\u7ec6\uff0c\u4e5f\u5f25\u8865\u4e86 CS106B \u5728\u7b97\u6cd5\u65b9\u9762\u8bb2\u89e3\u7684\u4e0d\u8db3\u3002\u9002\u5408\u5728 CS106B \u5165\u95e8\u4e4b\u540e\u5de9\u56fa\u7b97\u6cd5\u77e5\u8bc6\u3002 \u4e0d\u8fc7\u8be5\u8bfe\u7a0b\u4e5f\u662f\u51fa\u4e86\u540d\u7684\u96be\uff0c\u5927\u5bb6\u9700\u8981\u505a\u597d\u4e00\u5b9a\u7684\u5fc3\u7406\u51c6\u5907\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.006/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a Fall 2011 \u8bfe\u7a0b\u89c6\u9891\uff1a Fall 2011 \u8bfe\u7a0b\u6559\u6750\uff1aIntroduction to Algorithms (CLRS) \u8bfe\u7a0b\u4f5c\u4e1a\uff1a Fall 2011","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.046/","text":"MIT 6.046: Design and Analysis of Algorithms \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u7b97\u6cd5\u5165\u95e8(6.006/CS61B/CS106B/CS106X or equivalent) \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100h+ 6.006\u7684\u540e\u7eed\u8bfe\u7a0b\u3002\u6388\u8bfe\u8001\u5e08\u4f9d\u65e7\u662f Erik Demaine \u548c Srini Devadas\uff0c\u6b64\u5916\u8fd8\u6709\u4e00\u4f4d\u65b0\u8001\u5e08 Nancy Lynch. \u76f8\u6bd4\u8f83\u4e8e\u201c\u73b0\u5b66\u73b0\u7528\u201d\u76846.006\uff0c6.046\u66f4\u52a0\u4fa7\u91cd\u4e8e\u5982\u4f55\u8fd0\u7528\u8bfe\u4e0a\u6240\u5b66\u5230\u7684\u5185\u5bb9\u4e3e\u4e00\u53cd\u4e09\uff0c\u8bbe\u8ba1\u51fa\u4e00\u5957\u5b8c\u5907\u7684\u7b97\u6cd5\u5e76\u80fd\u591f\u8bc1\u660e\u8be5\u7b97\u6cd5\u80fd\u89e3\u51b3\u76f8\u5e94\u7684\u95ee\u9898\u3002\u867d\u7136\u8be5\u8bfe\u7a0b\u5728\u677f\u4e66\u4ee5\u53ca\u4f5c\u4e1a\u4e2d\u7684\u7f16\u7a0b\u8bed\u8a00\u4e3a Python\uff0c\u4f46\u57fa\u672c\u4e0a\u6ca1\u6709\u7f16\u7a0b\u4f5c\u4e1a\uff1b\u7edd\u5927\u90e8\u5206\u7684\u4f5c\u4e1a\u90fd\u662f\u63d0\u51fa\u8981\u6c42\uff0c\u7136\u540e\u9700\u8981\u5b66\u751f\u8fdb\u884c\u7b97\u6cd5\u8bbe\u8ba1\u4ee5\u53ca\u5408\u7406\u6027\u8bc1\u660e\u3002\u6240\u4ee5\u8be5\u8bfe\u7a0b\u7684\u96be\u5ea6\u53c8\u63d0\u9ad8\u4e86\u4e00\u5927\u622a:) \u5728\u8be5\u95e8\u8bfe\u7a0b\u540e\u8fd8\u6709\u4e00\u95e8 6.854 \u9ad8\u7ea7\u7b97\u6cd5\uff0c\u4f46\u5bf9\u4e8e\u7edd\u5927\u591a\u6570\u8003\u8bd5\u4ee5\u53ca\u5e94\u8058\u6765\u8bf4\uff0c\u5b66\u5b8c\u8be5\u8bfe\u7a0b\u57fa\u672c\u4e0a\u5df2\u7ecf\u80fd\u8986\u76d699%\u7684\u9898\u76ee\u4e86\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a Spring 2015 \u8bfe\u7a0b\u89c6\u9891\uff1a Spring 2015 \u8bfe\u7a0b\u6559\u6750\uff1aIntroduction to Algorithms (CLRS) \u8bfe\u7a0b\u4f5c\u4e1a\uff1a Spring 2015","title":"MIT 6.046: Design and Analysis of Algorithms"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.046/#mit-6046-design-and-analysis-of-algorithms","text":"","title":"MIT 6.046: Design and Analysis of Algorithms"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.046/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u7b97\u6cd5\u5165\u95e8(6.006/CS61B/CS106B/CS106X or equivalent) \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100h+ 6.006\u7684\u540e\u7eed\u8bfe\u7a0b\u3002\u6388\u8bfe\u8001\u5e08\u4f9d\u65e7\u662f Erik Demaine \u548c Srini Devadas\uff0c\u6b64\u5916\u8fd8\u6709\u4e00\u4f4d\u65b0\u8001\u5e08 Nancy Lynch. \u76f8\u6bd4\u8f83\u4e8e\u201c\u73b0\u5b66\u73b0\u7528\u201d\u76846.006\uff0c6.046\u66f4\u52a0\u4fa7\u91cd\u4e8e\u5982\u4f55\u8fd0\u7528\u8bfe\u4e0a\u6240\u5b66\u5230\u7684\u5185\u5bb9\u4e3e\u4e00\u53cd\u4e09\uff0c\u8bbe\u8ba1\u51fa\u4e00\u5957\u5b8c\u5907\u7684\u7b97\u6cd5\u5e76\u80fd\u591f\u8bc1\u660e\u8be5\u7b97\u6cd5\u80fd\u89e3\u51b3\u76f8\u5e94\u7684\u95ee\u9898\u3002\u867d\u7136\u8be5\u8bfe\u7a0b\u5728\u677f\u4e66\u4ee5\u53ca\u4f5c\u4e1a\u4e2d\u7684\u7f16\u7a0b\u8bed\u8a00\u4e3a Python\uff0c\u4f46\u57fa\u672c\u4e0a\u6ca1\u6709\u7f16\u7a0b\u4f5c\u4e1a\uff1b\u7edd\u5927\u90e8\u5206\u7684\u4f5c\u4e1a\u90fd\u662f\u63d0\u51fa\u8981\u6c42\uff0c\u7136\u540e\u9700\u8981\u5b66\u751f\u8fdb\u884c\u7b97\u6cd5\u8bbe\u8ba1\u4ee5\u53ca\u5408\u7406\u6027\u8bc1\u660e\u3002\u6240\u4ee5\u8be5\u8bfe\u7a0b\u7684\u96be\u5ea6\u53c8\u63d0\u9ad8\u4e86\u4e00\u5927\u622a:) \u5728\u8be5\u95e8\u8bfe\u7a0b\u540e\u8fd8\u6709\u4e00\u95e8 6.854 \u9ad8\u7ea7\u7b97\u6cd5\uff0c\u4f46\u5bf9\u4e8e\u7edd\u5927\u591a\u6570\u8003\u8bd5\u4ee5\u53ca\u5e94\u8058\u6765\u8bf4\uff0c\u5b66\u5b8c\u8be5\u8bfe\u7a0b\u57fa\u672c\u4e0a\u5df2\u7ecf\u80fd\u8986\u76d699%\u7684\u9898\u76ee\u4e86\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.046/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a Spring 2015 \u8bfe\u7a0b\u89c6\u9891\uff1a Spring 2015 \u8bfe\u7a0b\u6559\u6750\uff1aIntroduction to Algorithms (CLRS) \u8bfe\u7a0b\u4f5c\u4e1a\uff1a Spring 2015","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/","text":"Coursera: Algorithms I & II \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aPrinceton \u5148\u4fee\u8981\u6c42\uff1aCS61A \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u8fd9\u662f Coursera \u4e0a\u8bc4\u5206\u6700\u9ad8\u7684\u7b97\u6cd5\u8bfe\u7a0b\u3002Robert Sedgewick \u6559\u6388\u6709\u4e00\u79cd\u9b54\u529b\uff0c\u53ef\u4ee5\u5c06\u65e0\u8bba\u591a\u4e48\u590d\u6742\u7684\u7b97\u6cd5\u8bb2\u5f97\u6781\u4e3a\u751f\u52a8\u6d45\u663e\u3002\u5b9e\u4e0d\u76f8\u7792\uff0c\u56f0\u6270\u6211\u591a\u5e74\u7684 KMP \u4ee5\u53ca\u7f51\u7edc\u6d41\u7b97\u6cd5\u90fd\u662f\u5728\u8fd9\u95e8\u8bfe\u4e0a\u8ba9\u6211\u8305\u585e\u987f\u5f00\u7684\uff0c\u65f6\u9694\u4e24\u5e74\u6211\u751a\u81f3\u8fd8\u80fd\u5199\u51fa\u8fd9\u4e24\u4e2a\u7b97\u6cd5\u7684\u63a8\u5bfc\u4e0e\u8bc1\u660e\u3002 \u4f60\u662f\u5426\u89c9\u5f97\u7b97\u6cd5\u5b66\u4e86\u5c31\u5fd8\u5462\uff1f\u6211\u89c9\u5f97\u8ba9\u4f60\u5b8c\u5168\u638c\u63e1\u4e00\u4e2a\u7b97\u6cd5\u7684\u6838\u5fc3\u5728\u4e8e\u7406\u89e3\u4e09\u70b9\uff1a \u4e3a\u4ec0\u4e48\u8fd9\u4e48\u505a\uff1f\uff08\u6b63\u786e\u6027\u63a8\u5bfc\uff0c\u6291\u6216\u662f\u6574\u4e2a\u7b97\u6cd5\u7684\u6838\u5fc3\u672c\u8d28\uff09 \u5982\u4f55\u5b9e\u73b0\u5b83\uff1f\uff08\u5149\u5b66\u4e0d\u7528\u5047\u628a\u5f0f\uff09 \u7528\u5b83\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff08\u5b66\u4ee5\u81f4\u7528\u624d\u662f\u771f\u672c\u4e8b\uff09 \u8fd9\u95e8\u8bfe\u7684\u6784\u6210\u5c31\u975e\u5e38\u597d\u5730\u5951\u5408\u4e86\u4e0a\u8ff0\u4e09\u4e2a\u6b65\u9aa4\u3002\u89c2\u770b\u8bfe\u7a0b\u89c6\u9891\u5e76\u4e14\u9605\u8bfb\u6559\u6388\u7684 \u5f00\u6e90\u8bfe\u672c \u6709\u52a9\u4e8e\u4f60\u7406\u89e3\u7b97\u6cd5\u7684\u672c\u8d28\uff0c\u8ba9\u4f60\u4e5f\u53ef\u4ee5\u7528\u975e\u5e38 \u751f\u52a8\u6d45\u663e\u7684\u8bdd\u8bed\u5411\u522b\u4eba\u8bb2\u8ff0\u4e3a\u4ec0\u4e48\u8fd9\u4e2a\u7b97\u6cd5\u5f97\u957f\u8fd9\u4e2a\u6837\u5b50\u3002 \u5728\u7406\u89e3\u7b97\u6cd5\u4e4b\u540e\uff0c\u4f60\u53ef\u4ee5\u9605\u8bfb\u6559\u6388\u5bf9\u4e8e\u8bfe\u7a0b\u4e2d\u8bb2\u6388\u7684\u6240\u6709\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684 \u4ee3\u7801\u5b9e\u73b0 \u3002 \u6ce8\u610f\uff0c\u8fd9\u4e9b\u5b9e\u73b0\u53ef\u4e0d\u662f demo \u6027\u8d28\u7684\uff0c\u800c\u662f\u5de5\u4e1a\u7ea7\u7684\u9ad8\u6548\u5b9e\u73b0\uff0c\u4ece\u6ce8\u91ca\u5230\u53d8\u91cf\u547d\u540d\u90fd\u975e\u5e38\u4e25\u8c28\uff0c\u6a21\u5757\u5316\u4e5f\u505a\u5f97\u76f8\u5f53\u597d\uff0c\u662f\u8d28\u91cf\u5f88\u9ad8\u7684\u4ee3\u7801\u3002\u6211\u4ece\u8fd9\u4e9b\u4ee3\u7801\u4e2d\u6536\u83b7\u826f\u591a\u3002 \u6700\u540e\uff0c\u5c31\u662f\u8fd9\u95e8\u8bfe\u6700\u6fc0\u52a8\u4eba\u5fc3\u7684\u90e8\u5206\u4e86\uff0c10 \u4e2a\u9ad8\u8d28\u91cf\u7684 Project\uff0c\u5e76\u4e14\u5168\u90fd\u6709\u5b9e\u9645\u95ee\u9898\u7684\u80cc\u666f\u63cf\u8ff0\uff0c\u4e30\u5bcc\u7684\u6d4b\u8bd5\u6837\u4f8b\uff0c\u81ea\u52a8\u7684\u8bc4\u5206\u7cfb\u7edf\uff08\u4ee3\u7801\u98ce\u683c\u4e5f\u662f\u8bc4\u5206\u7684\u4e00\u73af\uff09\u3002\u8ba9\u4f60\u5728\u5b9e\u9645\u751f\u6d3b\u4e2d \u9886\u7565\u7b97\u6cd5\u7684\u9b45\u529b\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a Algorithm I , Algorithm II \u8bfe\u7a0b\u89c6\u9891\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a https://algs4.cs.princeton.edu/home/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10\u4e2aProject\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/Princeton-Algorithm - GitHub \u4e2d\u3002","title":"Coursera: Algorithms I & II"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#coursera-algorithms-i-ii","text":"","title":"Coursera: Algorithms I & II"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aPrinceton \u5148\u4fee\u8981\u6c42\uff1aCS61A \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u8fd9\u662f Coursera \u4e0a\u8bc4\u5206\u6700\u9ad8\u7684\u7b97\u6cd5\u8bfe\u7a0b\u3002Robert Sedgewick \u6559\u6388\u6709\u4e00\u79cd\u9b54\u529b\uff0c\u53ef\u4ee5\u5c06\u65e0\u8bba\u591a\u4e48\u590d\u6742\u7684\u7b97\u6cd5\u8bb2\u5f97\u6781\u4e3a\u751f\u52a8\u6d45\u663e\u3002\u5b9e\u4e0d\u76f8\u7792\uff0c\u56f0\u6270\u6211\u591a\u5e74\u7684 KMP \u4ee5\u53ca\u7f51\u7edc\u6d41\u7b97\u6cd5\u90fd\u662f\u5728\u8fd9\u95e8\u8bfe\u4e0a\u8ba9\u6211\u8305\u585e\u987f\u5f00\u7684\uff0c\u65f6\u9694\u4e24\u5e74\u6211\u751a\u81f3\u8fd8\u80fd\u5199\u51fa\u8fd9\u4e24\u4e2a\u7b97\u6cd5\u7684\u63a8\u5bfc\u4e0e\u8bc1\u660e\u3002 \u4f60\u662f\u5426\u89c9\u5f97\u7b97\u6cd5\u5b66\u4e86\u5c31\u5fd8\u5462\uff1f\u6211\u89c9\u5f97\u8ba9\u4f60\u5b8c\u5168\u638c\u63e1\u4e00\u4e2a\u7b97\u6cd5\u7684\u6838\u5fc3\u5728\u4e8e\u7406\u89e3\u4e09\u70b9\uff1a \u4e3a\u4ec0\u4e48\u8fd9\u4e48\u505a\uff1f\uff08\u6b63\u786e\u6027\u63a8\u5bfc\uff0c\u6291\u6216\u662f\u6574\u4e2a\u7b97\u6cd5\u7684\u6838\u5fc3\u672c\u8d28\uff09 \u5982\u4f55\u5b9e\u73b0\u5b83\uff1f\uff08\u5149\u5b66\u4e0d\u7528\u5047\u628a\u5f0f\uff09 \u7528\u5b83\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff08\u5b66\u4ee5\u81f4\u7528\u624d\u662f\u771f\u672c\u4e8b\uff09 \u8fd9\u95e8\u8bfe\u7684\u6784\u6210\u5c31\u975e\u5e38\u597d\u5730\u5951\u5408\u4e86\u4e0a\u8ff0\u4e09\u4e2a\u6b65\u9aa4\u3002\u89c2\u770b\u8bfe\u7a0b\u89c6\u9891\u5e76\u4e14\u9605\u8bfb\u6559\u6388\u7684 \u5f00\u6e90\u8bfe\u672c \u6709\u52a9\u4e8e\u4f60\u7406\u89e3\u7b97\u6cd5\u7684\u672c\u8d28\uff0c\u8ba9\u4f60\u4e5f\u53ef\u4ee5\u7528\u975e\u5e38 \u751f\u52a8\u6d45\u663e\u7684\u8bdd\u8bed\u5411\u522b\u4eba\u8bb2\u8ff0\u4e3a\u4ec0\u4e48\u8fd9\u4e2a\u7b97\u6cd5\u5f97\u957f\u8fd9\u4e2a\u6837\u5b50\u3002 \u5728\u7406\u89e3\u7b97\u6cd5\u4e4b\u540e\uff0c\u4f60\u53ef\u4ee5\u9605\u8bfb\u6559\u6388\u5bf9\u4e8e\u8bfe\u7a0b\u4e2d\u8bb2\u6388\u7684\u6240\u6709\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684 \u4ee3\u7801\u5b9e\u73b0 \u3002 \u6ce8\u610f\uff0c\u8fd9\u4e9b\u5b9e\u73b0\u53ef\u4e0d\u662f demo \u6027\u8d28\u7684\uff0c\u800c\u662f\u5de5\u4e1a\u7ea7\u7684\u9ad8\u6548\u5b9e\u73b0\uff0c\u4ece\u6ce8\u91ca\u5230\u53d8\u91cf\u547d\u540d\u90fd\u975e\u5e38\u4e25\u8c28\uff0c\u6a21\u5757\u5316\u4e5f\u505a\u5f97\u76f8\u5f53\u597d\uff0c\u662f\u8d28\u91cf\u5f88\u9ad8\u7684\u4ee3\u7801\u3002\u6211\u4ece\u8fd9\u4e9b\u4ee3\u7801\u4e2d\u6536\u83b7\u826f\u591a\u3002 \u6700\u540e\uff0c\u5c31\u662f\u8fd9\u95e8\u8bfe\u6700\u6fc0\u52a8\u4eba\u5fc3\u7684\u90e8\u5206\u4e86\uff0c10 \u4e2a\u9ad8\u8d28\u91cf\u7684 Project\uff0c\u5e76\u4e14\u5168\u90fd\u6709\u5b9e\u9645\u95ee\u9898\u7684\u80cc\u666f\u63cf\u8ff0\uff0c\u4e30\u5bcc\u7684\u6d4b\u8bd5\u6837\u4f8b\uff0c\u81ea\u52a8\u7684\u8bc4\u5206\u7cfb\u7edf\uff08\u4ee3\u7801\u98ce\u683c\u4e5f\u662f\u8bc4\u5206\u7684\u4e00\u73af\uff09\u3002\u8ba9\u4f60\u5728\u5b9e\u9645\u751f\u6d3b\u4e2d \u9886\u7565\u7b97\u6cd5\u7684\u9b45\u529b\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a Algorithm I , Algorithm II \u8bfe\u7a0b\u89c6\u9891\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a https://algs4.cs.princeton.edu/home/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10\u4e2aProject\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/Princeton-Algorithm - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/","text":"CS170: Efficient Algorithms and Intractable Problems \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61B, CS70 \u7f16\u7a0b\u8bed\u8a00\uff1aLaTeX \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u7b97\u6cd5\u8bbe\u8ba1\u8bfe\uff0c\u66f4\u6ce8\u91cd\u7b97\u6cd5\u7684\u7406\u8bba\u57fa\u7840\u4e0e\u590d\u6742\u5ea6\u5206\u6790\u3002\u8bfe\u7a0b\u5185\u5bb9\u6db5\u76d6\u4e86\u5206\u6cbb\u3001\u56fe\u7b97\u6cd5\u3001\u6700\u77ed\u8def\u3001\u751f\u6210\u6811\u3001\u8d2a\u5fc3\u3001\u52a8\u89c4\u3001\u5e76\u67e5\u96c6\u3001\u7ebf\u6027\u89c4\u5212\u3001\u7f51\u7edc\u6d41\u3001NP \u95ee\u9898\u3001\u968f\u673a\u7b97\u6cd5\u3001\u54c8\u5e0c\u7b97\u6cd5\u7b49\u7b49\u3002 \u8fd9\u95e8\u8bfe\u7684\u6559\u6750\u5199\u7684\u5f88\u597d\uff0c\u8bc1\u660e\u6d45\u663e\u6613\u61c2\uff0c\u975e\u5e38\u9002\u5408\u4f5c\u4e3a\u5de5\u5177\u4e66\u67e5\u9605\u3002\u53e6\u5916\uff0c\u8fd9\u95e8\u8bfe\u53ea\u6709\u4e66\u9762\u4f5c\u4e1a\uff0c\u5e76\u4e14\u63a8\u8350\u7528 LaTeX \u7f16\u5199\uff0c\u5927\u5bb6\u53ef\u4ee5\u501f\u6b64\u673a\u4f1a\u953b\u70bc\u81ea\u5df1\u7684 LaTeX \u6280\u5de7\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs170.org/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1BU4y1b7RK \u8bfe\u7a0b\u6559\u6750\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a13 \u6b21\u4e66\u9762\u4f5c\u4e1a\uff0c\u7528 LaTeX \u7f16\u5199 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/UCB-CS170 - GitHub \u4e2d\u3002","title":"UCB CS170: Efficient Algorithms and Intractable Problems"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#cs170-efficient-algorithms-and-intractable-problems","text":"","title":"CS170: Efficient Algorithms and Intractable Problems"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61B, CS70 \u7f16\u7a0b\u8bed\u8a00\uff1aLaTeX \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u7b97\u6cd5\u8bbe\u8ba1\u8bfe\uff0c\u66f4\u6ce8\u91cd\u7b97\u6cd5\u7684\u7406\u8bba\u57fa\u7840\u4e0e\u590d\u6742\u5ea6\u5206\u6790\u3002\u8bfe\u7a0b\u5185\u5bb9\u6db5\u76d6\u4e86\u5206\u6cbb\u3001\u56fe\u7b97\u6cd5\u3001\u6700\u77ed\u8def\u3001\u751f\u6210\u6811\u3001\u8d2a\u5fc3\u3001\u52a8\u89c4\u3001\u5e76\u67e5\u96c6\u3001\u7ebf\u6027\u89c4\u5212\u3001\u7f51\u7edc\u6d41\u3001NP \u95ee\u9898\u3001\u968f\u673a\u7b97\u6cd5\u3001\u54c8\u5e0c\u7b97\u6cd5\u7b49\u7b49\u3002 \u8fd9\u95e8\u8bfe\u7684\u6559\u6750\u5199\u7684\u5f88\u597d\uff0c\u8bc1\u660e\u6d45\u663e\u6613\u61c2\uff0c\u975e\u5e38\u9002\u5408\u4f5c\u4e3a\u5de5\u5177\u4e66\u67e5\u9605\u3002\u53e6\u5916\uff0c\u8fd9\u95e8\u8bfe\u53ea\u6709\u4e66\u9762\u4f5c\u4e1a\uff0c\u5e76\u4e14\u63a8\u8350\u7528 LaTeX \u7f16\u5199\uff0c\u5927\u5bb6\u53ef\u4ee5\u501f\u6b64\u673a\u4f1a\u953b\u70bc\u81ea\u5df1\u7684 LaTeX \u6280\u5de7\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs170.org/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1BU4y1b7RK \u8bfe\u7a0b\u6559\u6750\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a13 \u6b21\u4e66\u9762\u4f5c\u4e1a\uff0c\u7528 LaTeX \u7f16\u5199","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/UCB-CS170 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/","text":"CS61B: Data Structures and Algorithms \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u4f2f\u514b\u5229 CS61 \u7cfb\u5217\u7684\u7b2c\u4e8c\u95e8\u8bfe\u7a0b\uff0c\u6ce8\u91cd\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684\u8bbe\u8ba1\uff0c\u540c\u65f6\u8ba9\u5b66\u751f\u6709\u673a\u4f1a\u63a5\u89e6\u4e0a\u5343\u884c\u7684\u5de5\u7a0b\u4ee3\u7801\uff0c\u901a\u8fc7 Java \u521d\u6b65\u9886\u4f1a\u8f6f\u4ef6\u5de5\u7a0b\u7684\u601d\u60f3\u3002 \u6211\u4e0a\u7684\u662f 2018 \u5e74\u6625\u5b63\u5b66\u671f\u7684\u7248\u672c\uff0c\u8be5\u8bfe\u7684\u5f00\u8bfe\u8001\u5e08 Josh Hug \u6559\u6388\u6177\u6168\u5730\u5c06 autograder \u5f00\u6e90\u4e86\uff0c\u5927\u5bb6\u53ef\u4ee5\u901a\u8fc7\u7f51\u7ad9\u516c\u5f00\u7684\u9080\u8bf7\u7801\u5728 gradescope \u514d\u8d39\u52a0\u5165\u8bfe\u7a0b\uff0c\u4ece\u800c\u65b9\u4fbf\u5730\u6d4b\u8bc4\u81ea\u5df1\u7684\u4ee3\u7801\u3002 \u8fd9\u95e8\u8bfe\u6240\u6709\u7684\u7f16\u7a0b\u4f5c\u4e1a\u90fd\u662f\u4f7f\u7528 Java \u5b8c\u6210\u7684\u3002\u6ca1\u6709 Java \u57fa\u7840\u7684\u540c\u5b66\u4e5f\u4e0d\u7528\u62c5\u5fc3\uff0c\u8bfe\u7a0b\u4f1a\u6709\u4fdd\u59c6\u7ea7\u7684\u6559\u7a0b\uff0c\u4ece IDEA\uff08\u4e00\u6b3e\u4e3b\u6d41\u7684 Java \u7f16\u7a0b\u73af\u5883\uff09\u7684\u914d\u7f6e\u8bb2\u8d77\uff0c\u628a Java \u7684\u6838\u5fc3\u8bed\u6cd5\u4e0e\u7279\u6027\u4e8b\u65e0\u5de8\u7ec6\u5730\u8bb2\u6388\uff0c\u5927\u5bb6\u5b8c\u5168\u4e0d\u7528\u62c5\u5fc3\u8ddf\u4e0d\u4e0a\u7684\u95ee\u9898\u3002 \u8fd9\u95e8\u8bfe\u7684\u4f5c\u4e1a\u8d28\u91cf\u4e5f\u662f\u7edd\u7edd\u5b50\u300214 \u4e2a lab \u4f1a\u8ba9\u4f60\u81ea\u5df1\u5b9e\u73b0\u8bfe\u4e0a\u6240\u8bb2\u7684\u7edd\u5927\u90e8\u5206\u6570\u636e\u7ed3\u6784\uff0c10 \u4e2a Homework \u4f1a\u8ba9\u4f60\u8fd0\u7528\u6570\u636e\u7ed3\u6784\u548c\u7b97\u6cd5\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff0c \u53e6\u5916\u8fd8\u6709 3 \u4e2a Project \u66f4\u662f\u8ba9\u4f60\u6709\u673a\u4f1a\u63a5\u89e6\u4e0a\u5343\u884c\u7684\u5de5\u7a0b\u4ee3\u7801\uff0c\u5728\u5b9e\u6218\u4e2d\u78e8\u7ec3\u81ea\u5df1\u7684 Java \u80fd\u529b\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://sp18.datastructur.es/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://sp18.datastructur.es/ \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u6bcf\u5e74\u7565\u6709\u4e0d\u540c\uff0c18 \u5e74\u6625\u5b63\u5b66\u671f\u6709 14 \u4e2a Lab\uff0c10 \u4e2a Homework\u4ee5\u53ca 3 \u4e2a Project\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS61B - GitHub \u4e2d\u3002","title":"UCB CS61B: Data Structures and Algorithms"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#cs61b-data-structures-and-algorithms","text":"","title":"CS61B: Data Structures and Algorithms"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u4f2f\u514b\u5229 CS61 \u7cfb\u5217\u7684\u7b2c\u4e8c\u95e8\u8bfe\u7a0b\uff0c\u6ce8\u91cd\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684\u8bbe\u8ba1\uff0c\u540c\u65f6\u8ba9\u5b66\u751f\u6709\u673a\u4f1a\u63a5\u89e6\u4e0a\u5343\u884c\u7684\u5de5\u7a0b\u4ee3\u7801\uff0c\u901a\u8fc7 Java \u521d\u6b65\u9886\u4f1a\u8f6f\u4ef6\u5de5\u7a0b\u7684\u601d\u60f3\u3002 \u6211\u4e0a\u7684\u662f 2018 \u5e74\u6625\u5b63\u5b66\u671f\u7684\u7248\u672c\uff0c\u8be5\u8bfe\u7684\u5f00\u8bfe\u8001\u5e08 Josh Hug \u6559\u6388\u6177\u6168\u5730\u5c06 autograder \u5f00\u6e90\u4e86\uff0c\u5927\u5bb6\u53ef\u4ee5\u901a\u8fc7\u7f51\u7ad9\u516c\u5f00\u7684\u9080\u8bf7\u7801\u5728 gradescope \u514d\u8d39\u52a0\u5165\u8bfe\u7a0b\uff0c\u4ece\u800c\u65b9\u4fbf\u5730\u6d4b\u8bc4\u81ea\u5df1\u7684\u4ee3\u7801\u3002 \u8fd9\u95e8\u8bfe\u6240\u6709\u7684\u7f16\u7a0b\u4f5c\u4e1a\u90fd\u662f\u4f7f\u7528 Java \u5b8c\u6210\u7684\u3002\u6ca1\u6709 Java \u57fa\u7840\u7684\u540c\u5b66\u4e5f\u4e0d\u7528\u62c5\u5fc3\uff0c\u8bfe\u7a0b\u4f1a\u6709\u4fdd\u59c6\u7ea7\u7684\u6559\u7a0b\uff0c\u4ece IDEA\uff08\u4e00\u6b3e\u4e3b\u6d41\u7684 Java \u7f16\u7a0b\u73af\u5883\uff09\u7684\u914d\u7f6e\u8bb2\u8d77\uff0c\u628a Java \u7684\u6838\u5fc3\u8bed\u6cd5\u4e0e\u7279\u6027\u4e8b\u65e0\u5de8\u7ec6\u5730\u8bb2\u6388\uff0c\u5927\u5bb6\u5b8c\u5168\u4e0d\u7528\u62c5\u5fc3\u8ddf\u4e0d\u4e0a\u7684\u95ee\u9898\u3002 \u8fd9\u95e8\u8bfe\u7684\u4f5c\u4e1a\u8d28\u91cf\u4e5f\u662f\u7edd\u7edd\u5b50\u300214 \u4e2a lab \u4f1a\u8ba9\u4f60\u81ea\u5df1\u5b9e\u73b0\u8bfe\u4e0a\u6240\u8bb2\u7684\u7edd\u5927\u90e8\u5206\u6570\u636e\u7ed3\u6784\uff0c10 \u4e2a Homework \u4f1a\u8ba9\u4f60\u8fd0\u7528\u6570\u636e\u7ed3\u6784\u548c\u7b97\u6cd5\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff0c \u53e6\u5916\u8fd8\u6709 3 \u4e2a Project \u66f4\u662f\u8ba9\u4f60\u6709\u673a\u4f1a\u63a5\u89e6\u4e0a\u5343\u884c\u7684\u5de5\u7a0b\u4ee3\u7801\uff0c\u5728\u5b9e\u6218\u4e2d\u78e8\u7ec3\u81ea\u5df1\u7684 Java \u80fd\u529b\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://sp18.datastructur.es/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://sp18.datastructur.es/ \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u6bcf\u5e74\u7565\u6709\u4e0d\u540c\uff0c18 \u5e74\u6625\u5b63\u5b66\u671f\u6709 14 \u4e2a Lab\uff0c10 \u4e2a Homework\u4ee5\u53ca 3 \u4e2a Project\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS61B - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/","text":"CS189: Introduction to Machine Learning \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS188, CS70 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u6211\u6ca1\u6709\u7cfb\u7edf\u4e0a\u8fc7\uff0c\u53ea\u662f\u628a\u5b83\u7684\u8bfe\u7a0b notes \u4f5c\u4e3a\u5de5\u5177\u4e66\u67e5\u9605\u3002\u4e0d\u8fc7\u4ece\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u6765\u770b\uff0c\u5b83\u6bd4 CS229 \u597d\u7684\u662f\u5f00\u6e90\u4e86\u6240\u6709 homework \u7684\u4ee3\u7801\u4ee5\u53ca gradescope \u7684 autograder\u3002\u540c\u6837\uff0c\u8fd9\u95e8\u8bfe\u8bb2\u5f97\u76f8\u5f53\u7406\u8bba\u4e14\u6df1\u5165\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.eecs189.org/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/playlist?list=PLOOm2AoWIPEyZazQVnIcaK2KnezpGZV-X \u8bfe\u7a0b\u6559\u6750\uff1a https://www.eecs189.org/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://www.eecs189.org/","title":"UCB CS189: Introduction to Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/#cs189-introduction-to-machine-learning","text":"","title":"CS189: Introduction to Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS188, CS70 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u6211\u6ca1\u6709\u7cfb\u7edf\u4e0a\u8fc7\uff0c\u53ea\u662f\u628a\u5b83\u7684\u8bfe\u7a0b notes \u4f5c\u4e3a\u5de5\u5177\u4e66\u67e5\u9605\u3002\u4e0d\u8fc7\u4ece\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u6765\u770b\uff0c\u5b83\u6bd4 CS229 \u597d\u7684\u662f\u5f00\u6e90\u4e86\u6240\u6709 homework \u7684\u4ee3\u7801\u4ee5\u53ca gradescope \u7684 autograder\u3002\u540c\u6837\uff0c\u8fd9\u95e8\u8bfe\u8bb2\u5f97\u76f8\u5f53\u7406\u8bba\u4e14\u6df1\u5165\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.eecs189.org/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/playlist?list=PLOOm2AoWIPEyZazQVnIcaK2KnezpGZV-X \u8bfe\u7a0b\u6559\u6750\uff1a https://www.eecs189.org/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://www.eecs189.org/","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/","text":"CS229: Machine Learning \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u9ad8\u6570\uff0c\u6982\u7387\u8bba\uff0cPython\uff0c\u9700\u8981\u8f83\u6df1\u539a\u7684\u6570\u5b66\u529f\u5e95 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u540c\u6837\u662f\u5434\u6069\u8fbe\u8bb2\u6388\uff0c\u4f46\u662f\u8fd9\u662f\u4e00\u95e8\u7814\u7a76\u751f\u8bfe\u7a0b\uff0c\u6240\u4ee5\u66f4\u504f\u91cd\u6570\u5b66\u7406\u8bba\uff0c\u4e0d\u6ee1\u8db3\u4e8e\u8c03\u5305\u800c\u60f3\u6df1\u5165\u7406\u89e3\u7b97\u6cd5\u672c\u8d28\uff0c\u6216\u8005\u6709\u5fd7\u4e8e\u4ece\u4e8b\u673a\u5668\u5b66\u4e60\u7406\u8bba\u7814\u7a76\u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60\u8fd9\u95e8\u8bfe\u7a0b\u3002\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u63d0\u4f9b\u4e86\u6240\u6709\u7684\u8bfe\u7a0b notes\uff0c\u5199\u5f97\u975e\u5e38\u4e13\u4e1a\u4e14\u7406\u8bba\uff0c\u9700\u8981\u4e00\u5b9a\u7684\u6570\u5b66\u529f\u5e95\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://cs229.stanford.edu/syllabus.html \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1JE411w7Ub \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0\uff0c\u8bfe\u7a0b notes \u5199\u5f97\u975e\u5e38\u597d \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e0d\u5bf9\u516c\u4f17\u5f00\u653e \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS229 - GitHub \u4e2d\u3002","title":"Stanford CS229: Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#cs229-machine-learning","text":"","title":"CS229: Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u9ad8\u6570\uff0c\u6982\u7387\u8bba\uff0cPython\uff0c\u9700\u8981\u8f83\u6df1\u539a\u7684\u6570\u5b66\u529f\u5e95 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u540c\u6837\u662f\u5434\u6069\u8fbe\u8bb2\u6388\uff0c\u4f46\u662f\u8fd9\u662f\u4e00\u95e8\u7814\u7a76\u751f\u8bfe\u7a0b\uff0c\u6240\u4ee5\u66f4\u504f\u91cd\u6570\u5b66\u7406\u8bba\uff0c\u4e0d\u6ee1\u8db3\u4e8e\u8c03\u5305\u800c\u60f3\u6df1\u5165\u7406\u89e3\u7b97\u6cd5\u672c\u8d28\uff0c\u6216\u8005\u6709\u5fd7\u4e8e\u4ece\u4e8b\u673a\u5668\u5b66\u4e60\u7406\u8bba\u7814\u7a76\u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60\u8fd9\u95e8\u8bfe\u7a0b\u3002\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u63d0\u4f9b\u4e86\u6240\u6709\u7684\u8bfe\u7a0b notes\uff0c\u5199\u5f97\u975e\u5e38\u4e13\u4e1a\u4e14\u7406\u8bba\uff0c\u9700\u8981\u4e00\u5b9a\u7684\u6570\u5b66\u529f\u5e95\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://cs229.stanford.edu/syllabus.html \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1JE411w7Ub \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0\uff0c\u8bfe\u7a0b notes \u5199\u5f97\u975e\u5e38\u597d \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e0d\u5bf9\u516c\u4f17\u5f00\u653e","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS229 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/","text":"Coursera: Machine Learning \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aAI \u5165\u95e8 + \u719f\u7ec3\u4f7f\u7528 Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u8bf4\u8d77\u5434\u6069\u8fbe\uff0c\u5728 AI \u5c4a\u5e94\u8be5\u65e0\u4eba\u4e0d\u6653\u3002\u4ed6\u662f\u8457\u540d\u5728\u7ebf\u6559\u80b2\u5e73\u53f0 Coursera \u7684\u521b\u59cb\u4eba\u4e4b\u4e00\uff0c\u540c\u65f6\u4e5f\u662f Stanford \u7684\u7f51\u7ea2\u6559\u6388\u3002\u8fd9\u95e8\u673a\u5668\u5b66\u4e60\u5165\u95e8\u8bfe\u5e94\u8be5\u7b97\u5f97\u4e0a\u662f\u4ed6\u7684\u6210\u540d\u4f5c\u4e4b\u4e00\uff08\u53e6\u4e00\u4e2a\u662f\u6df1\u5ea6\u5b66\u4e60\u8bfe\u7a0b\uff09\uff0c\u5728 Coursera \u4e0a\u62e5\u6709\u6570\u5341\u4e07\u7684\u5b66\u4e60\u8005\uff08\u6ce8\u610f\u8fd9\u662f\u82b1\u94b1\u4e70\u4e86\u8bc1\u4e66\u7684\u4eba\uff0c\u4e00\u4e2a\u8bc1\u4e66\u51e0\u767e\u5200\uff09\uff0c\u767d\u5ad6\u5b66\u4e60\u8005\u6570\u91cf\u5e94\u8be5\u662f\u53e6\u4e00\u4e2a\u6570\u91cf\u7ea7\u4e86\u3002 \u8fd9\u95e8\u8bfe\u5bf9\u65b0\u624b\u6781\u5176\u53cb\u597d\uff0c\u5434\u6069\u8fbe\u62e5\u6709\u628a\u673a\u5668\u5b66\u4e60\u8bb2\u6210 1+1=2 \u4e00\u6837\u76f4\u767d\u7684\u80fd\u529b\u3002\u4f60\u5c06\u4f1a\u5b66\u4e60\u5230\u7ebf\u6027\u56de\u5f52\u3001\u903b\u8f91\u56de\u5f52\u3001\u652f\u6301\u5411\u91cf\u673a\u3001\u65e0\u76d1\u7763\u5b66\u4e60\u3001\u964d\u7ef4\u3001\u5f02\u5e38\u68c0\u6d4b\u548c\u63a8\u8350\u7cfb\u7edf\u7b49\u7b49\u77e5\u8bc6\uff0c\u5e76\u4e14\u5728\u7f16\u7a0b\u5b9e\u8df5\u4e2d\u592f\u5b9e\u81ea\u5df1\u7684\u7406\u89e3\u3002\u4f5c\u4e1a\u8d28\u91cf\u81ea\u7136\u4e0d\u5fc5\u591a\u8a00\uff0c\u4fdd\u59c6\u7ea7\u4ee3\u7801\u6846\u67b6\uff0c\u4f5c\u4e1a\u80cc\u666f\u4e5f\u591a\u53d6\u81ea\u751f\u6d3b\uff0c\u8ba9\u4eba\u5b66\u4ee5\u81f4\u7528\u3002 \u5f53\u7136\uff0c\u8fd9\u95e8\u8bfe\u4f5c\u4e3a\u4e00\u4e2a\u516c\u5f00\u6155\u8bfe\uff0c\u96be\u5ea6\u4e0a\u523b\u610f\u653e\u4f4e\u4e86\u4e9b\uff0c\u5f88\u591a\u6570\u5b66\u63a8\u5bfc\u5927\u591a\u4e00\u5e26\u800c\u8fc7\uff0c\u5982\u679c\u4f60\u6709\u5fd7\u4e8e\u4ece\u4e8b\u673a\u5668\u5b66\u4e60\u7406\u8bba\u7814\u7a76\uff0c\u60f3\u8981\u6df1\u7a76\u8fd9\u4e9b\u7b97\u6cd5\u80cc\u540e\u7684\u6570\u5b66\u7406\u8bba\uff0c\u53ef\u4ee5\u53c2\u8003 CS229 \u548c CS189 \u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.coursera.org/learn/machine-learning \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b \u5f53\u65f6\u91cd\u88c5\u7cfb\u7edf\u8bef\u5220\u4e86\u6587\u4ef6\uff0c\u6211\u7684\u4ee3\u7801\u5b9e\u73b0\u6d88\u5931\u5728\u4e86\u78c1\u76d8\u7684 01 \u4e32\u4e2d\u3002\u4e0d\u8fc7\u8fd9\u95e8\u8bfe\u7531\u4e8e\u592a\u8fc7\u51fa\u540d\uff0c\u7f51\u4e0a\u60f3\u641c\u4e0d\u5230\u7b54\u6848\u90fd\u96be\uff0c\u76f8\u5173\u8bfe\u7a0b\u8d44\u6599 Coursera \u4e0a\u4e5f\u4e00\u5e94\u4ff1\u5168\u3002","title":"Coursera: Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#coursera-machine-learning","text":"","title":"Coursera: Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aAI \u5165\u95e8 + \u719f\u7ec3\u4f7f\u7528 Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u8bf4\u8d77\u5434\u6069\u8fbe\uff0c\u5728 AI \u5c4a\u5e94\u8be5\u65e0\u4eba\u4e0d\u6653\u3002\u4ed6\u662f\u8457\u540d\u5728\u7ebf\u6559\u80b2\u5e73\u53f0 Coursera \u7684\u521b\u59cb\u4eba\u4e4b\u4e00\uff0c\u540c\u65f6\u4e5f\u662f Stanford \u7684\u7f51\u7ea2\u6559\u6388\u3002\u8fd9\u95e8\u673a\u5668\u5b66\u4e60\u5165\u95e8\u8bfe\u5e94\u8be5\u7b97\u5f97\u4e0a\u662f\u4ed6\u7684\u6210\u540d\u4f5c\u4e4b\u4e00\uff08\u53e6\u4e00\u4e2a\u662f\u6df1\u5ea6\u5b66\u4e60\u8bfe\u7a0b\uff09\uff0c\u5728 Coursera \u4e0a\u62e5\u6709\u6570\u5341\u4e07\u7684\u5b66\u4e60\u8005\uff08\u6ce8\u610f\u8fd9\u662f\u82b1\u94b1\u4e70\u4e86\u8bc1\u4e66\u7684\u4eba\uff0c\u4e00\u4e2a\u8bc1\u4e66\u51e0\u767e\u5200\uff09\uff0c\u767d\u5ad6\u5b66\u4e60\u8005\u6570\u91cf\u5e94\u8be5\u662f\u53e6\u4e00\u4e2a\u6570\u91cf\u7ea7\u4e86\u3002 \u8fd9\u95e8\u8bfe\u5bf9\u65b0\u624b\u6781\u5176\u53cb\u597d\uff0c\u5434\u6069\u8fbe\u62e5\u6709\u628a\u673a\u5668\u5b66\u4e60\u8bb2\u6210 1+1=2 \u4e00\u6837\u76f4\u767d\u7684\u80fd\u529b\u3002\u4f60\u5c06\u4f1a\u5b66\u4e60\u5230\u7ebf\u6027\u56de\u5f52\u3001\u903b\u8f91\u56de\u5f52\u3001\u652f\u6301\u5411\u91cf\u673a\u3001\u65e0\u76d1\u7763\u5b66\u4e60\u3001\u964d\u7ef4\u3001\u5f02\u5e38\u68c0\u6d4b\u548c\u63a8\u8350\u7cfb\u7edf\u7b49\u7b49\u77e5\u8bc6\uff0c\u5e76\u4e14\u5728\u7f16\u7a0b\u5b9e\u8df5\u4e2d\u592f\u5b9e\u81ea\u5df1\u7684\u7406\u89e3\u3002\u4f5c\u4e1a\u8d28\u91cf\u81ea\u7136\u4e0d\u5fc5\u591a\u8a00\uff0c\u4fdd\u59c6\u7ea7\u4ee3\u7801\u6846\u67b6\uff0c\u4f5c\u4e1a\u80cc\u666f\u4e5f\u591a\u53d6\u81ea\u751f\u6d3b\uff0c\u8ba9\u4eba\u5b66\u4ee5\u81f4\u7528\u3002 \u5f53\u7136\uff0c\u8fd9\u95e8\u8bfe\u4f5c\u4e3a\u4e00\u4e2a\u516c\u5f00\u6155\u8bfe\uff0c\u96be\u5ea6\u4e0a\u523b\u610f\u653e\u4f4e\u4e86\u4e9b\uff0c\u5f88\u591a\u6570\u5b66\u63a8\u5bfc\u5927\u591a\u4e00\u5e26\u800c\u8fc7\uff0c\u5982\u679c\u4f60\u6709\u5fd7\u4e8e\u4ece\u4e8b\u673a\u5668\u5b66\u4e60\u7406\u8bba\u7814\u7a76\uff0c\u60f3\u8981\u6df1\u7a76\u8fd9\u4e9b\u7b97\u6cd5\u80cc\u540e\u7684\u6570\u5b66\u7406\u8bba\uff0c\u53ef\u4ee5\u53c2\u8003 CS229 \u548c CS189 \u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.coursera.org/learn/machine-learning \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#_3","text":"\u5f53\u65f6\u91cd\u88c5\u7cfb\u7edf\u8bef\u5220\u4e86\u6587\u4ef6\uff0c\u6211\u7684\u4ee3\u7801\u5b9e\u73b0\u6d88\u5931\u5728\u4e86\u78c1\u76d8\u7684 01 \u4e32\u4e2d\u3002\u4e0d\u8fc7\u8fd9\u95e8\u8bfe\u7531\u4e8e\u592a\u8fc7\u51fa\u540d\uff0c\u7f51\u4e0a\u60f3\u641c\u4e0d\u5230\u7b54\u6848\u90fd\u96be\uff0c\u76f8\u5173\u8bfe\u7a0b\u8d44\u6599 Coursera \u4e0a\u4e5f\u4e00\u5e94\u4ff1\u5168\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/","text":"\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u4e2d\u56fd\u79d1\u5b66\u9662\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784\uff0c\u6df1\u5ea6\u5b66\u4e60 \u7f16\u7a0b\u8bed\u8a00\uff1aPython, C++, BCL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6+ \u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u662f\u667a\u80fd\u7684\u6838\u5fc3\u7269\u8d28\u8f7d\u4f53\uff0c\u6bcf\u5e74\u5168\u7403\u8981\u5236\u9020\u6570\u4ee5\u5341\u4ebf\u8ba1\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u5305\u62ec\u667a\u80fd\u624b\u673a\u3001\u667a\u80fd\u670d\u52a1\u5668\u3001\u667a\u80fd\u53ef\u7a7f\u6234\u8bbe\u5907\u7b49\uff09\uff0c\u9700\u8981\u5927\u91cf\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8bbe\u8ba1\u8005\u548c\u5f00\u53d1\u8005\u3002\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u4eba\u624d\u7684\u57f9\u517b\u76f4\u63a5\u5173\u7cfb\u5230\u6211\u56fd\u667a\u80fd\u4ea7\u4e1a\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002\u56e0\u6b64\uff0c\u5bf9\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8ba4\u8bc6\u548c\u7406\u89e3\u662f\u667a\u80fd\u65f6\u4ee3\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u57f9\u517b\u65b9\u6848\u4e2d\u4e0d\u53ef\u6216\u7f3a\u7684\u91cd\u8981\u7ec4\u6210\u90e8\u5206\uff0c\u662f\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002 \u56fd\u5185\u7684\u9648\u4e91\u9701\u8001\u5e08\u5f00\u7684\u8bfe\uff0c\u5728\u5176\u4ed6\u82e5\u5e72\u4e2a\u5927\u5b66\u4e5f\u90fd\u6709\u5f00\u5bf9\u5e94\u7684\u8bfe\u7a0b\u3002\u8fd9\u95e8\u8bfe\u7528\u4e00\u4e2a\u4e2a\u5b9e\u9a8c\u5e26\u5927\u5bb6\u4ee5\u4e00\u4e2a\u5b8c\u6574\u7684\u89c6\u91ce\u7406\u89e3\u4eba\u5de5\u667a\u80fd\u7684\u6280\u672f\u6808\u3002\u4ece\u4e0a\u5c42\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5230\u7528\u5e95\u5c42\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\uff0c\u518d\u5230\u786c\u4ef6\u4e2d MLU \u7684\u8bbe\u8ba1\uff0c\u8ba9\u5927\u5bb6\u5f62\u6210\u7cfb\u7edf\u601d\u7ef4\uff0c\u4f53\u4f1a\u81ea\u4e0a\u800c\u4e0b\uff0c\u878d\u4f1a\u8d2f\u901a\u7684\u4e50\u8da3\u3002 \u6211\u505a\u4e86\u5176\u4e2d\u7684 2,3,4,5 \u8fd9\u51e0\u4e2a\u5b9e\u9a8c\uff0c\u5176\u4e2d\u7efc\u5408\u5b9e\u9a8c\u548c\u786c\u4ef6\u5b9e\u9a8c\u6ca1\u6709\u505a\uff0c\u5982\u679c\u6709\u505a\u4e86\u7684\u540c\u5b66\u6b22\u8fce\u5927\u5bb6\u8865\u4e0a\u4f60\u7684\u94fe\u63a5\u3002 \u4e2a\u4eba\u4f53\u4f1a\u662f\u7b2c\u4e09\u7ae0\u5b9e\u73b0\u7b97\u5b50\u7684\u5b9e\u9a8c\u8ba9\u6211\u5bf9\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u7684\u4e86\u89e3\u52a0\u6df1\u4e86\u5f88\u591a\u3002\u7b2c\u4e94\u7ae0\u7684\u5b9e\u9a8cBCL\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\u5982\u679c\u4e86\u89e3 CUDA \u7684\u8bdd\u4f1a\u611f\u89c9\u5f88\u719f\u6089\u3002 \u63a8\u8350\u53bb\u4e70\u4e00\u672c\u6559\u6750\u770b\u4e00\u770b\uff0c\u4f1a\u8ba9\u6211\u4eec\u7406\u89e3\u6574\u4f53\u7684\u6280\u672f\u6808\u3002\u719f\u6089\u6df1\u5ea6\u5b66\u4e60\u7684\u540c\u5b66\u53ef\u4ee5\u76f4\u63a5\u4ece\u7b2c\u4e94\u7ae0\u5f00\u59cb\u770b\uff0c\u770b\u770b\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u5e95\u5c42\u5230\u5e95\u662f\u4ec0\u4e48\u6837\u7684\u3002 \u6211\u56e0\u4e3a\u8fd9\u95e8\u8bfe\u7684\u542f\u53d1\uff0c\u53c2\u8003\u4e00\u672c\u4e66\uff08\u4e66\u540d\u5728\u4ed3\u5e93\u4e2d\uff09\u5199\u4e86\u4e00\u4e2a\u7b80\u6613\u7684 \u6df1\u5ea6\u5b66\u4e60\u6846\u67b6 \u3002\u5728\u8fd9\u4e2a\u6846\u67b6\u91cc\u53ef\u4ee5\u770b\u5230\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u5b9e\u9a8c\u4e2d\u7684\u4e00\u4e9b\u5f71\u5b50\u3002\u540c\u65f6\u53d7\u5230 build-your-own-x \u7cfb\u5217\u7684\u542f\u53d1\uff0c\u6211\u4e5f\u6253\u7b97\u5199\u4e00\u4e0b\u6559\u7a0b\uff0c\u6559\u5927\u5bb6\u5199\u4e00\u4e2a\u81ea\u5df1\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u3002\u4ee3\u7801\u7528 Python \u5199\u7684\uff0c\u4ee3\u7801\u91cf\u8f83\u5c11\uff0c\u9002\u5408\u6709\u4e00\u5b9a\u57fa\u7840\u7684\u540c\u5b66\u9605\u8bfb\u3002\u4e4b\u540e\u6253\u7b97\u6dfb\u52a0\u66f4\u591a\u7684\u7b97\u5b50\uff0c\u6709\u671b\u5b9e\u73b0\u4e00\u4e2a\u8f83\u4e3a\u5168\u9762\u7684\u6846\u67b6\uff0c\u5e76\u5e0c\u671b\u79fb\u690d\u5230 C++ \u4e2d\uff0c\u4ee5\u517c\u987e\u6027\u80fd\u4e0e\u5f00\u53d1\u6548\u7387\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a \u5b98\u7f51 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u8bfe\u7a0b\u6559\u6750\uff1a\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u9648\u4e91\u9701\uff09 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a6 \u4e2a\u5b9e\u9a8c(\u5305\u62ec\u7f16\u5199\u5377\u79ef\u7b97\u5b50\uff0c\u4e3a TensorFlow \u6dfb\u52a0\u7b97\u5b50\uff0c\u7528 BCL \u7f16\u5199\u7b97\u5b50\u5e76\u96c6\u6210\u5230 TensorFlow \u4e2d\u7b49)(\u5177\u4f53\u5185\u5bb9\u5728\u5b98\u7f51\u53ef\u4ee5\u627e\u5230) \u5b9e\u9a8c\u624b\u518c\uff1a \u5b9e\u9a8c 2.0 \u6307\u5bfc\u624b\u518c \u5b66\u4e60\u7b14\u8bb0\uff1a https://sanzo.top/categories/AI-Computing-Systems/ \uff0c\u53c2\u8003\u5b9e\u9a8c\u624b\u518c\u603b\u7ed3\u7684\u7b14\u8bb0 \u8d44\u6e90\u6c47\u603b @ysj1173886760 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 ysj1173886760/Learning: ai-system - GitHub \u4e2d\u3002","title":"\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/#_1","text":"","title":"\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/#_2","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u4e2d\u56fd\u79d1\u5b66\u9662\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784\uff0c\u6df1\u5ea6\u5b66\u4e60 \u7f16\u7a0b\u8bed\u8a00\uff1aPython, C++, BCL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6+ \u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u662f\u667a\u80fd\u7684\u6838\u5fc3\u7269\u8d28\u8f7d\u4f53\uff0c\u6bcf\u5e74\u5168\u7403\u8981\u5236\u9020\u6570\u4ee5\u5341\u4ebf\u8ba1\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u5305\u62ec\u667a\u80fd\u624b\u673a\u3001\u667a\u80fd\u670d\u52a1\u5668\u3001\u667a\u80fd\u53ef\u7a7f\u6234\u8bbe\u5907\u7b49\uff09\uff0c\u9700\u8981\u5927\u91cf\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8bbe\u8ba1\u8005\u548c\u5f00\u53d1\u8005\u3002\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u4eba\u624d\u7684\u57f9\u517b\u76f4\u63a5\u5173\u7cfb\u5230\u6211\u56fd\u667a\u80fd\u4ea7\u4e1a\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002\u56e0\u6b64\uff0c\u5bf9\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8ba4\u8bc6\u548c\u7406\u89e3\u662f\u667a\u80fd\u65f6\u4ee3\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u57f9\u517b\u65b9\u6848\u4e2d\u4e0d\u53ef\u6216\u7f3a\u7684\u91cd\u8981\u7ec4\u6210\u90e8\u5206\uff0c\u662f\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002 \u56fd\u5185\u7684\u9648\u4e91\u9701\u8001\u5e08\u5f00\u7684\u8bfe\uff0c\u5728\u5176\u4ed6\u82e5\u5e72\u4e2a\u5927\u5b66\u4e5f\u90fd\u6709\u5f00\u5bf9\u5e94\u7684\u8bfe\u7a0b\u3002\u8fd9\u95e8\u8bfe\u7528\u4e00\u4e2a\u4e2a\u5b9e\u9a8c\u5e26\u5927\u5bb6\u4ee5\u4e00\u4e2a\u5b8c\u6574\u7684\u89c6\u91ce\u7406\u89e3\u4eba\u5de5\u667a\u80fd\u7684\u6280\u672f\u6808\u3002\u4ece\u4e0a\u5c42\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5230\u7528\u5e95\u5c42\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\uff0c\u518d\u5230\u786c\u4ef6\u4e2d MLU \u7684\u8bbe\u8ba1\uff0c\u8ba9\u5927\u5bb6\u5f62\u6210\u7cfb\u7edf\u601d\u7ef4\uff0c\u4f53\u4f1a\u81ea\u4e0a\u800c\u4e0b\uff0c\u878d\u4f1a\u8d2f\u901a\u7684\u4e50\u8da3\u3002 \u6211\u505a\u4e86\u5176\u4e2d\u7684 2,3,4,5 \u8fd9\u51e0\u4e2a\u5b9e\u9a8c\uff0c\u5176\u4e2d\u7efc\u5408\u5b9e\u9a8c\u548c\u786c\u4ef6\u5b9e\u9a8c\u6ca1\u6709\u505a\uff0c\u5982\u679c\u6709\u505a\u4e86\u7684\u540c\u5b66\u6b22\u8fce\u5927\u5bb6\u8865\u4e0a\u4f60\u7684\u94fe\u63a5\u3002 \u4e2a\u4eba\u4f53\u4f1a\u662f\u7b2c\u4e09\u7ae0\u5b9e\u73b0\u7b97\u5b50\u7684\u5b9e\u9a8c\u8ba9\u6211\u5bf9\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u7684\u4e86\u89e3\u52a0\u6df1\u4e86\u5f88\u591a\u3002\u7b2c\u4e94\u7ae0\u7684\u5b9e\u9a8cBCL\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\u5982\u679c\u4e86\u89e3 CUDA \u7684\u8bdd\u4f1a\u611f\u89c9\u5f88\u719f\u6089\u3002 \u63a8\u8350\u53bb\u4e70\u4e00\u672c\u6559\u6750\u770b\u4e00\u770b\uff0c\u4f1a\u8ba9\u6211\u4eec\u7406\u89e3\u6574\u4f53\u7684\u6280\u672f\u6808\u3002\u719f\u6089\u6df1\u5ea6\u5b66\u4e60\u7684\u540c\u5b66\u53ef\u4ee5\u76f4\u63a5\u4ece\u7b2c\u4e94\u7ae0\u5f00\u59cb\u770b\uff0c\u770b\u770b\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u5e95\u5c42\u5230\u5e95\u662f\u4ec0\u4e48\u6837\u7684\u3002 \u6211\u56e0\u4e3a\u8fd9\u95e8\u8bfe\u7684\u542f\u53d1\uff0c\u53c2\u8003\u4e00\u672c\u4e66\uff08\u4e66\u540d\u5728\u4ed3\u5e93\u4e2d\uff09\u5199\u4e86\u4e00\u4e2a\u7b80\u6613\u7684 \u6df1\u5ea6\u5b66\u4e60\u6846\u67b6 \u3002\u5728\u8fd9\u4e2a\u6846\u67b6\u91cc\u53ef\u4ee5\u770b\u5230\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u5b9e\u9a8c\u4e2d\u7684\u4e00\u4e9b\u5f71\u5b50\u3002\u540c\u65f6\u53d7\u5230 build-your-own-x \u7cfb\u5217\u7684\u542f\u53d1\uff0c\u6211\u4e5f\u6253\u7b97\u5199\u4e00\u4e0b\u6559\u7a0b\uff0c\u6559\u5927\u5bb6\u5199\u4e00\u4e2a\u81ea\u5df1\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u3002\u4ee3\u7801\u7528 Python \u5199\u7684\uff0c\u4ee3\u7801\u91cf\u8f83\u5c11\uff0c\u9002\u5408\u6709\u4e00\u5b9a\u57fa\u7840\u7684\u540c\u5b66\u9605\u8bfb\u3002\u4e4b\u540e\u6253\u7b97\u6dfb\u52a0\u66f4\u591a\u7684\u7b97\u5b50\uff0c\u6709\u671b\u5b9e\u73b0\u4e00\u4e2a\u8f83\u4e3a\u5168\u9762\u7684\u6846\u67b6\uff0c\u5e76\u5e0c\u671b\u79fb\u690d\u5230 C++ \u4e2d\uff0c\u4ee5\u517c\u987e\u6027\u80fd\u4e0e\u5f00\u53d1\u6548\u7387\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/#_3","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a \u5b98\u7f51 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u8bfe\u7a0b\u6559\u6750\uff1a\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u9648\u4e91\u9701\uff09 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a6 \u4e2a\u5b9e\u9a8c(\u5305\u62ec\u7f16\u5199\u5377\u79ef\u7b97\u5b50\uff0c\u4e3a TensorFlow \u6dfb\u52a0\u7b97\u5b50\uff0c\u7528 BCL \u7f16\u5199\u7b97\u5b50\u5e76\u96c6\u6210\u5230 TensorFlow \u4e2d\u7b49)(\u5177\u4f53\u5185\u5bb9\u5728\u5b98\u7f51\u53ef\u4ee5\u627e\u5230) \u5b9e\u9a8c\u624b\u518c\uff1a \u5b9e\u9a8c 2.0 \u6307\u5bfc\u624b\u518c \u5b66\u4e60\u7b14\u8bb0\uff1a https://sanzo.top/categories/AI-Computing-Systems/ \uff0c\u53c2\u8003\u5b9e\u9a8c\u624b\u518c\u603b\u7ed3\u7684\u7b14\u8bb0","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/#_4","text":"@ysj1173886760 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 ysj1173886760/Learning: ai-system - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/","text":"CMU 10-414/714: Deep Learning Systems \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1a\u7cfb\u7edf\u5165\u95e8(eg.15-213)\u3001\u6df1\u5ea6\u5b66\u4e60\u5165\u95e8\u3001\u57fa\u672c\u7684\u6570\u5b66\u77e5\u8bc6 \u7f16\u7a0b\u8bed\u8a00\uff1aPython, C++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u6df1\u5ea6\u5b66\u4e60\u7684\u5feb\u901f\u53d1\u5c55\u548c\u5e7f\u6cdb\u4f7f\u7528\u5f88\u5927\u7a0b\u5ea6\u4e0a\u5f97\u76ca\u4e8e\u4e00\u7cfb\u5217\u7b80\u5355\u597d\u7528\u4e14\u5f3a\u5927\u7684\u7f16\u7a0b\u6846\u67b6\uff0c\u4f8b\u5982 Pytorch \u548c Tensorflow \u7b49\u7b49\u3002\u4f46\u5927\u591a\u6570\u4ece\u4e1a\u8005\u53ea\u662f\u8fd9\u4e9b\u6846\u67b6\u7684\u201c\u8c03\u5305\u4fa0\u201d\uff0c\u5bf9\u4e8e\u8fd9\u4e9b\u6846\u67b6\u5185\u90e8\u7684\u7ec6\u8282\u5b9e\u73b0\u5374\u4e86\u89e3\u751a\u5c11\u3002\u5982\u679c\u4f60\u5e0c\u671b\u4ece\u4e8b\u6df1\u5ea6\u5b66\u4e60\u5e95\u5c42\u6846\u67b6\u7684\u5f00\u53d1\uff0c\u6216\u8005\u53ea\u662f\u50cf\u6211\u4e00\u6837\u597d\u5947\u8fd9\u4e9b\u6846\u67b6\u7684\u5185\u90e8\u5b9e\u73b0\uff0c\u90a3\u4e48\u8fd9\u95e8\u8bfe\u5c06\u4f1a\u662f\u4e00\u4e2a\u5f88\u597d\u7684\u8d77\u70b9\u3002 \u8bfe\u7a0b\u7684\u5185\u5bb9\u5927\u7eb2\u8986\u76d6\u4e86\u6df1\u5ea6\u5b66\u4e60\u7cfb\u7edf\u201c\u5168\u6808\u201d\u7684\u77e5\u8bc6\u4f53\u7cfb\u3002\u4ece\u73b0\u4ee3\u6df1\u5ea6\u5b66\u4e60\u7cfb\u7edf\u6846\u67b6\u7684\u9876\u5c42\u8bbe\u8ba1\uff0c\u5230\u81ea\u5fae\u5206\u7b97\u6cd5\u7684\u539f\u7406\u548c\u5b9e\u73b0\uff0c\u518d\u5230\u5e95\u5c42\u786c\u4ef6\u52a0\u901f\u548c\u5b9e\u9645\u751f\u4ea7\u90e8\u7f72\u3002\u4e3a\u4e86\u66f4\u597d\u5730\u638c\u63e1\u7406\u8bba\u77e5\u8bc6\uff0c\u5b66\u751f\u5c06\u4f1a\u57285\u4e2a\u8bfe\u7a0b\u4f5c\u4e1a\u4e2d\u4ece\u5934\u5f00\u59cb\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b8c\u6574\u7684\u6df1\u5ea6\u5b66\u4e60\u5e93 Needle\uff0c\u4f7f\u5176\u80fd\u5bf9\u8ba1\u7b97\u56fe\u8fdb\u884c\u81ea\u52a8\u5fae\u5206\uff0c\u80fd\u5728 GPU \u4e0a\u5b9e\u73b0\u786c\u4ef6\u52a0\u901f\uff0c\u5e76\u4e14\u652f\u6301\u5404\u7c7b\u635f\u5931\u51fd\u6570\u3001\u6570\u636e\u52a0\u8f7d\u5668\u548c\u4f18\u5316\u5668\u3002\u5728\u6b64\u57fa\u7840\u4e0a\uff0c\u5b66\u751f\u5c06\u5b9e\u73b0\u51e0\u7c7b\u5e38\u89c1\u7684\u795e\u7ecf\u7f51\u7edc\uff0c\u5305\u62ec CNN\uff0cRNN\uff0cLSTM\uff0cTransformer \u7b49\u7b49\u3002 \u5373\u4f7f\u4f60\u662f\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u7684\u5c0f\u767d\u4e5f\u4e0d\u5fc5\u8fc7\u4e8e\u62c5\u5fc3\uff0c\u8bfe\u7a0b\u5c06\u4f1a\u5faa\u5e8f\u6e10\u8fdb\u5730\u4ece\u7b80\u5355\u5206\u7c7b\u95ee\u9898\u548c\u53cd\u5411\u4f20\u64ad\u4f18\u5316\u8bb2\u8d77\uff0c\u4e00\u4e9b\u76f8\u5bf9\u590d\u6742\u7684\u795e\u7ecf\u7f51\u7edc\u90fd\u4f1a\u6709\u914d\u5957\u7684 jupyter notebook \u8be6\u7ec6\u5730\u63cf\u8ff0\u5b9e\u73b0\u7ec6\u8282\u3002\u5982\u679c\u4f60\u6709\u4e00\u5b9a\u7684\u76f8\u5173\u57fa\u7840\u77e5\u8bc6\uff0c\u90a3\u4e48\u5728\u5b66\u4e60\u5b8c\u81ea\u5fae\u5206\u90e8\u5206\u7684\u5185\u5bb9\u4e4b\u540e\u4fbf\u53ef\u4ee5\u76f4\u63a5\u4e0a\u624b\u8bfe\u7a0b\u4f5c\u4e1a\uff0c\u96be\u5ea6\u867d\u7136\u4e0d\u5927\u4f46\u76f8\u4fe1\u4e00\u5b9a\u4f1a\u7ed9\u4f60\u5e26\u6765\u65b0\u7684\u7406\u89e3\u3002 \u8fd9\u95e8\u8bfe\u4e24\u4f4d\u6388\u8bfe\u6559\u5e08 Zico Kolter \u548c Tianqi Chen \u5c06\u6240\u6709\u8bfe\u7a0b\u5185\u5bb9\u90fd\u53d1\u5e03\u4e86\u5bf9\u5e94\u7684\u5f00\u6e90\u7248\u672c\uff0c\u4f46\u5728\u7ebf\u8bc4\u6d4b\u8d26\u53f7\u548c\u8bfe\u7a0b\u8bba\u575b\u7684\u6ce8\u518c\u65f6\u95f4\u5df2\u7ecf\u7ed3\u675f\uff0c\u53ea\u5269\u4e0b\u6846\u67b6\u4ee3\u7801\u91cc\u7684\u672c\u5730\u6d4b\u8bd5\u4f9b\u5927\u5bb6\u8c03\u8bd5\u4ee3\u7801\u3002\u6216\u8bb8\u53ef\u4ee5\u671f\u5f85\u660e\u5e74\u79cb\u5b63\u5b66\u671f\u7684\u8bfe\u7a0b\u8fd8\u4f1a\u53d1\u5e03\u76f8\u5e94\u7684\u5728\u7ebf\u7248\u672c\u4f9b\u5927\u5bb6\u5b66\u4e60\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://dlsyscourse.org \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=qbJqOFMyIwg \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://dlsyscourse.org/assignments/ \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CMU10-714 - GitHub \u4e2d\u3002","title":"CMU 10-414/714: Deep Learning Systems"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/#cmu-10-414714-deep-learning-systems","text":"","title":"CMU 10-414/714: Deep Learning Systems"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1a\u7cfb\u7edf\u5165\u95e8(eg.15-213)\u3001\u6df1\u5ea6\u5b66\u4e60\u5165\u95e8\u3001\u57fa\u672c\u7684\u6570\u5b66\u77e5\u8bc6 \u7f16\u7a0b\u8bed\u8a00\uff1aPython, C++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u6df1\u5ea6\u5b66\u4e60\u7684\u5feb\u901f\u53d1\u5c55\u548c\u5e7f\u6cdb\u4f7f\u7528\u5f88\u5927\u7a0b\u5ea6\u4e0a\u5f97\u76ca\u4e8e\u4e00\u7cfb\u5217\u7b80\u5355\u597d\u7528\u4e14\u5f3a\u5927\u7684\u7f16\u7a0b\u6846\u67b6\uff0c\u4f8b\u5982 Pytorch \u548c Tensorflow \u7b49\u7b49\u3002\u4f46\u5927\u591a\u6570\u4ece\u4e1a\u8005\u53ea\u662f\u8fd9\u4e9b\u6846\u67b6\u7684\u201c\u8c03\u5305\u4fa0\u201d\uff0c\u5bf9\u4e8e\u8fd9\u4e9b\u6846\u67b6\u5185\u90e8\u7684\u7ec6\u8282\u5b9e\u73b0\u5374\u4e86\u89e3\u751a\u5c11\u3002\u5982\u679c\u4f60\u5e0c\u671b\u4ece\u4e8b\u6df1\u5ea6\u5b66\u4e60\u5e95\u5c42\u6846\u67b6\u7684\u5f00\u53d1\uff0c\u6216\u8005\u53ea\u662f\u50cf\u6211\u4e00\u6837\u597d\u5947\u8fd9\u4e9b\u6846\u67b6\u7684\u5185\u90e8\u5b9e\u73b0\uff0c\u90a3\u4e48\u8fd9\u95e8\u8bfe\u5c06\u4f1a\u662f\u4e00\u4e2a\u5f88\u597d\u7684\u8d77\u70b9\u3002 \u8bfe\u7a0b\u7684\u5185\u5bb9\u5927\u7eb2\u8986\u76d6\u4e86\u6df1\u5ea6\u5b66\u4e60\u7cfb\u7edf\u201c\u5168\u6808\u201d\u7684\u77e5\u8bc6\u4f53\u7cfb\u3002\u4ece\u73b0\u4ee3\u6df1\u5ea6\u5b66\u4e60\u7cfb\u7edf\u6846\u67b6\u7684\u9876\u5c42\u8bbe\u8ba1\uff0c\u5230\u81ea\u5fae\u5206\u7b97\u6cd5\u7684\u539f\u7406\u548c\u5b9e\u73b0\uff0c\u518d\u5230\u5e95\u5c42\u786c\u4ef6\u52a0\u901f\u548c\u5b9e\u9645\u751f\u4ea7\u90e8\u7f72\u3002\u4e3a\u4e86\u66f4\u597d\u5730\u638c\u63e1\u7406\u8bba\u77e5\u8bc6\uff0c\u5b66\u751f\u5c06\u4f1a\u57285\u4e2a\u8bfe\u7a0b\u4f5c\u4e1a\u4e2d\u4ece\u5934\u5f00\u59cb\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b8c\u6574\u7684\u6df1\u5ea6\u5b66\u4e60\u5e93 Needle\uff0c\u4f7f\u5176\u80fd\u5bf9\u8ba1\u7b97\u56fe\u8fdb\u884c\u81ea\u52a8\u5fae\u5206\uff0c\u80fd\u5728 GPU \u4e0a\u5b9e\u73b0\u786c\u4ef6\u52a0\u901f\uff0c\u5e76\u4e14\u652f\u6301\u5404\u7c7b\u635f\u5931\u51fd\u6570\u3001\u6570\u636e\u52a0\u8f7d\u5668\u548c\u4f18\u5316\u5668\u3002\u5728\u6b64\u57fa\u7840\u4e0a\uff0c\u5b66\u751f\u5c06\u5b9e\u73b0\u51e0\u7c7b\u5e38\u89c1\u7684\u795e\u7ecf\u7f51\u7edc\uff0c\u5305\u62ec CNN\uff0cRNN\uff0cLSTM\uff0cTransformer \u7b49\u7b49\u3002 \u5373\u4f7f\u4f60\u662f\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u7684\u5c0f\u767d\u4e5f\u4e0d\u5fc5\u8fc7\u4e8e\u62c5\u5fc3\uff0c\u8bfe\u7a0b\u5c06\u4f1a\u5faa\u5e8f\u6e10\u8fdb\u5730\u4ece\u7b80\u5355\u5206\u7c7b\u95ee\u9898\u548c\u53cd\u5411\u4f20\u64ad\u4f18\u5316\u8bb2\u8d77\uff0c\u4e00\u4e9b\u76f8\u5bf9\u590d\u6742\u7684\u795e\u7ecf\u7f51\u7edc\u90fd\u4f1a\u6709\u914d\u5957\u7684 jupyter notebook \u8be6\u7ec6\u5730\u63cf\u8ff0\u5b9e\u73b0\u7ec6\u8282\u3002\u5982\u679c\u4f60\u6709\u4e00\u5b9a\u7684\u76f8\u5173\u57fa\u7840\u77e5\u8bc6\uff0c\u90a3\u4e48\u5728\u5b66\u4e60\u5b8c\u81ea\u5fae\u5206\u90e8\u5206\u7684\u5185\u5bb9\u4e4b\u540e\u4fbf\u53ef\u4ee5\u76f4\u63a5\u4e0a\u624b\u8bfe\u7a0b\u4f5c\u4e1a\uff0c\u96be\u5ea6\u867d\u7136\u4e0d\u5927\u4f46\u76f8\u4fe1\u4e00\u5b9a\u4f1a\u7ed9\u4f60\u5e26\u6765\u65b0\u7684\u7406\u89e3\u3002 \u8fd9\u95e8\u8bfe\u4e24\u4f4d\u6388\u8bfe\u6559\u5e08 Zico Kolter \u548c Tianqi Chen \u5c06\u6240\u6709\u8bfe\u7a0b\u5185\u5bb9\u90fd\u53d1\u5e03\u4e86\u5bf9\u5e94\u7684\u5f00\u6e90\u7248\u672c\uff0c\u4f46\u5728\u7ebf\u8bc4\u6d4b\u8d26\u53f7\u548c\u8bfe\u7a0b\u8bba\u575b\u7684\u6ce8\u518c\u65f6\u95f4\u5df2\u7ecf\u7ed3\u675f\uff0c\u53ea\u5269\u4e0b\u6846\u67b6\u4ee3\u7801\u91cc\u7684\u672c\u5730\u6d4b\u8bd5\u4f9b\u5927\u5bb6\u8c03\u8bd5\u4ee3\u7801\u3002\u6216\u8bb8\u53ef\u4ee5\u671f\u5f85\u660e\u5e74\u79cb\u5b63\u5b66\u671f\u7684\u8bfe\u7a0b\u8fd8\u4f1a\u53d1\u5e03\u76f8\u5e94\u7684\u5728\u7ebf\u7248\u672c\u4f9b\u5927\u5bb6\u5b66\u4e60\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://dlsyscourse.org \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=qbJqOFMyIwg \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://dlsyscourse.org/assignments/","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CMU10-714 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/MLC/","text":"Machine Learning Compilation \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aBilibili \u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60/\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u662f\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u9886\u57df\u7684\u9876\u5c16\u5b66\u8005\u9648\u5929\u5947\u57282022\u5e74\u6691\u671f\u5f00\u8bbe\u7684\u4e00\u95e8\u5728\u7ebf\u8bfe\u7a0b\u3002\u5176\u5b9e\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u65e0\u8bba\u5728\u5de5\u4e1a\u754c\u8fd8\u662f\u5b66\u672f\u754c\u4ecd\u7136\u662f\u4e00\u4e2a\u975e\u5e38\u524d\u6cbf\u4e14\u5feb\u901f\u66f4\u8fed\u7684\u9886\u57df\uff0c\u56fd\u5185\u5916\u6b64\u524d\u8fd8\u6ca1\u6709\u4e3a\u8fd9\u4e2a\u65b9\u5411\u4e13\u95e8\u5f00\u8bbe\u7684\u76f8\u5173\u8bfe\u7a0b\u3002\u56e0\u6b64\u5982\u679c\u5bf9\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u611f\u5174\u8da3\u60f3\u6709\u4e2a\u5168\u8c8c\u6027\u7684\u611f\u77e5\u7684\u8bdd\uff0c\u53ef\u4ee5\u5b66\u4e60\u4e00\u4e0b\u8fd9\u95e8\u8bfe\u3002 \u672c\u8bfe\u7a0b\u4e3b\u8981\u4ee5 Apache TVM \u8fd9\u4e00\u4e3b\u6d41\u7684\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u6846\u67b6\u4e3a\u4f8b\uff08\u9648\u5929\u5947\u662f\u8fd9\u4e2a\u6846\u67b6\u7684\u521b\u59cb\u4eba\u4e4b\u4e00\uff09\uff0c\u805a\u7126\u4e8e\u5982\u4f55\u5c06\u5f00\u53d1\u6a21\u5f0f\u4e0b\uff08\u5982 Tensorflow, Pytorch, Jax\uff09\u7684\u5404\u7c7b\u673a\u5668\u5b66\u4e60\u6a21\u578b\uff0c\u901a\u8fc7\u4e00\u5957\u666e\u9002\u7684\u62bd\u8c61\u548c\u4f18\u5316\u7b97\u6cd5\uff0c\u53d8\u6362\u4e3a\u62e5\u6709\u66f4\u9ad8\u6027\u80fd\u5e76\u4e14\u9002\u914d\u5404\u7c7b\u5e95\u5c42\u786c\u4ef6\u7684\u90e8\u7f72\u6a21\u5f0f\u3002\u8bfe\u7a0b\u8bb2\u6388\u7684\u77e5\u8bc6\u70b9\u90fd\u662f\u76f8\u5bf9 High-Level \u7684\u5b8f\u89c2\u6982\u5ff5\uff0c\u540c\u65f6\u6bcf\u8282\u8bfe\u90fd\u4f1a\u6709\u4e00\u4e2a\u914d\u5957\u7684 Jupyter Notebook \u6765\u901a\u8fc7\u5177\u4f53\u7684\u4ee3\u7801\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u56e0\u6b64\u5982\u679c\u4ece\u4e8b TVM \u76f8\u5173\u7684\u7f16\u7a0b\u5f00\u53d1\u7684\u8bdd\uff0c\u8fd9\u95e8\u8bfe\u6709\u4e30\u5bcc\u4e14\u89c4\u8303\u7684\u4ee3\u7801\u793a\u4f8b\u4ee5\u4f9b\u53c2\u8003\u3002 \u6240\u6709\u7684\u8bfe\u7a0b\u8d44\u6e90\u5168\u90e8\u5f00\u6e90\u5e76\u4e14\u6709\u4e2d\u6587\u548c\u82f1\u6587\u4e24\u4e2a\u7248\u672c\uff0cB\u7ad9\u548c\u6cb9\u7ba1\u5206\u522b\u6709\u4e2d\u6587\u548c\u82f1\u6587\u7684\u8bfe\u7a0b\u5f55\u5f71\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://mlc.ai/summer22-zh/ \u8bfe\u7a0b\u89c6\u9891\uff1a Bilibili \u8bfe\u7a0b\u7b14\u8bb0\uff1a https://mlc.ai/zh/index.html \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://github.com/mlc-ai/notebooks/blob/main/assignment","title":"Machine Learning Compilation"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/MLC/#machine-learning-compilation","text":"","title":"Machine Learning Compilation"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/MLC/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aBilibili \u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60/\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u662f\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u9886\u57df\u7684\u9876\u5c16\u5b66\u8005\u9648\u5929\u5947\u57282022\u5e74\u6691\u671f\u5f00\u8bbe\u7684\u4e00\u95e8\u5728\u7ebf\u8bfe\u7a0b\u3002\u5176\u5b9e\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u65e0\u8bba\u5728\u5de5\u4e1a\u754c\u8fd8\u662f\u5b66\u672f\u754c\u4ecd\u7136\u662f\u4e00\u4e2a\u975e\u5e38\u524d\u6cbf\u4e14\u5feb\u901f\u66f4\u8fed\u7684\u9886\u57df\uff0c\u56fd\u5185\u5916\u6b64\u524d\u8fd8\u6ca1\u6709\u4e3a\u8fd9\u4e2a\u65b9\u5411\u4e13\u95e8\u5f00\u8bbe\u7684\u76f8\u5173\u8bfe\u7a0b\u3002\u56e0\u6b64\u5982\u679c\u5bf9\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u611f\u5174\u8da3\u60f3\u6709\u4e2a\u5168\u8c8c\u6027\u7684\u611f\u77e5\u7684\u8bdd\uff0c\u53ef\u4ee5\u5b66\u4e60\u4e00\u4e0b\u8fd9\u95e8\u8bfe\u3002 \u672c\u8bfe\u7a0b\u4e3b\u8981\u4ee5 Apache TVM \u8fd9\u4e00\u4e3b\u6d41\u7684\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u6846\u67b6\u4e3a\u4f8b\uff08\u9648\u5929\u5947\u662f\u8fd9\u4e2a\u6846\u67b6\u7684\u521b\u59cb\u4eba\u4e4b\u4e00\uff09\uff0c\u805a\u7126\u4e8e\u5982\u4f55\u5c06\u5f00\u53d1\u6a21\u5f0f\u4e0b\uff08\u5982 Tensorflow, Pytorch, Jax\uff09\u7684\u5404\u7c7b\u673a\u5668\u5b66\u4e60\u6a21\u578b\uff0c\u901a\u8fc7\u4e00\u5957\u666e\u9002\u7684\u62bd\u8c61\u548c\u4f18\u5316\u7b97\u6cd5\uff0c\u53d8\u6362\u4e3a\u62e5\u6709\u66f4\u9ad8\u6027\u80fd\u5e76\u4e14\u9002\u914d\u5404\u7c7b\u5e95\u5c42\u786c\u4ef6\u7684\u90e8\u7f72\u6a21\u5f0f\u3002\u8bfe\u7a0b\u8bb2\u6388\u7684\u77e5\u8bc6\u70b9\u90fd\u662f\u76f8\u5bf9 High-Level \u7684\u5b8f\u89c2\u6982\u5ff5\uff0c\u540c\u65f6\u6bcf\u8282\u8bfe\u90fd\u4f1a\u6709\u4e00\u4e2a\u914d\u5957\u7684 Jupyter Notebook \u6765\u901a\u8fc7\u5177\u4f53\u7684\u4ee3\u7801\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u56e0\u6b64\u5982\u679c\u4ece\u4e8b TVM \u76f8\u5173\u7684\u7f16\u7a0b\u5f00\u53d1\u7684\u8bdd\uff0c\u8fd9\u95e8\u8bfe\u6709\u4e30\u5bcc\u4e14\u89c4\u8303\u7684\u4ee3\u7801\u793a\u4f8b\u4ee5\u4f9b\u53c2\u8003\u3002 \u6240\u6709\u7684\u8bfe\u7a0b\u8d44\u6e90\u5168\u90e8\u5f00\u6e90\u5e76\u4e14\u6709\u4e2d\u6587\u548c\u82f1\u6587\u4e24\u4e2a\u7248\u672c\uff0cB\u7ad9\u548c\u6cb9\u7ba1\u5206\u522b\u6709\u4e2d\u6587\u548c\u82f1\u6587\u7684\u8bfe\u7a0b\u5f55\u5f71\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/MLC/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://mlc.ai/summer22-zh/ \u8bfe\u7a0b\u89c6\u9891\uff1a Bilibili \u8bfe\u7a0b\u7b14\u8bb0\uff1a https://mlc.ai/zh/index.html \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://github.com/mlc-ai/notebooks/blob/main/assignment","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/","text":"CMU 10-708: Probabilistic Graphical Models \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://sailinglab.github.io/pgm-spring-2019/ \u8fd9\u4e2a\u7f51\u7ad9\u5305\u542b\u4e86\u6240\u6709\u7684\u8d44\u6e90\uff1aslides, nots, video, homework, project \u8fd9\u95e8\u8bfe\u7a0b\u662f CMU \u7684\u56fe\u6a21\u578b\u57fa\u7840 + \u8fdb\u9636\u8bfe\uff0c\u6388\u8bfe\u8001\u5e08\u4e3a Eric P. Xing\uff0c\u6db5\u76d6\u4e86\u56fe\u6a21\u578b\u57fa\u7840\uff0c\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u5728\u5f3a\u5316\u5b66\u4e60\u4e2d\u7684\u5e94\u7528\uff0c\u4ee5\u53ca\u975e\u53c2\u6570\u65b9\u6cd5\u3002\u76f8\u5f53\u786c\u6838","title":"CMU 10-708: Probabilistic Graphical Models"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/#cmu-10-708-probabilistic-graphical-models","text":"","title":"CMU 10-708: Probabilistic Graphical Models"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://sailinglab.github.io/pgm-spring-2019/ \u8fd9\u4e2a\u7f51\u7ad9\u5305\u542b\u4e86\u6240\u6709\u7684\u8d44\u6e90\uff1aslides, nots, video, homework, project \u8fd9\u95e8\u8bfe\u7a0b\u662f CMU \u7684\u56fe\u6a21\u578b\u57fa\u7840 + \u8fdb\u9636\u8bfe\uff0c\u6388\u8bfe\u8001\u5e08\u4e3a Eric P. Xing\uff0c\u6db5\u76d6\u4e86\u56fe\u6a21\u578b\u57fa\u7840\uff0c\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u5728\u5f3a\u5316\u5b66\u4e60\u4e2d\u7684\u5e94\u7528\uff0c\u4ee5\u53ca\u975e\u53c2\u6570\u65b9\u6cd5\u3002\u76f8\u5f53\u786c\u6838","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/","text":"STATS214 / CS229M: Machine Learning Theory \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Statistics \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/stats214/ \u7ecf\u5178\u5b66\u4e60\u7406\u8bba + \u6700\u65b0\u6df1\u5ea6\u5b66\u4e60\u7406\u8bba\uff0c\u975e\u5e38\u786c\u6838\u3002\u6388\u8bfe\u8001\u5e08\u4e4b\u524d\u662f Percy Liang\uff0c\u73b0\u5728\u662f Tengyu Ma","title":"Stanford STATS214 / CS229M: Machine Learning Theory"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/#stats214-cs229m-machine-learning-theory","text":"","title":"STATS214 / CS229M: Machine Learning Theory"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Statistics \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/stats214/ \u7ecf\u5178\u5b66\u4e60\u7406\u8bba + \u6700\u65b0\u6df1\u5ea6\u5b66\u4e60\u7406\u8bba\uff0c\u975e\u5e38\u786c\u6838\u3002\u6388\u8bfe\u8001\u5e08\u4e4b\u524d\u662f Percy Liang\uff0c\u73b0\u5728\u662f Tengyu Ma","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/","text":"STA 4273 Winter 2021: Minimizing Expectations \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aU Toronto \u5148\u4fee\u8981\u6c42\uff1aBayesian Inference, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.cs.toronto.edu/~cmaddis/courses/sta4273_w21/ \u8fd9\u662f\u4e00\u95e8\u8f83\u4e3a\u8fdb\u9636\u7684 Ph.D. \u7814\u7a76\u8bfe\u7a0b\uff0c\u6838\u5fc3\u5185\u5bb9\u662f inference \u548c control \u4e4b\u95f4\u7684\u5173\u7cfb\u3002\u6388\u8bfe\u8001\u5e08\u4e3a Chris Maddison (AlphaGo founding member, NeurIPS 14 best paper)","title":"U Toronto STA 4273 Winter 2021: Minimizing Expectations"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/#sta-4273-winter-2021-minimizing-expectations","text":"","title":"STA 4273 Winter 2021: Minimizing Expectations"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aU Toronto \u5148\u4fee\u8981\u6c42\uff1aBayesian Inference, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.cs.toronto.edu/~cmaddis/courses/sta4273_w21/ \u8fd9\u662f\u4e00\u95e8\u8f83\u4e3a\u8fdb\u9636\u7684 Ph.D. \u7814\u7a76\u8bfe\u7a0b\uff0c\u6838\u5fc3\u5185\u5bb9\u662f inference \u548c control \u4e4b\u95f4\u7684\u5173\u7cfb\u3002\u6388\u8bfe\u8001\u5e08\u4e3a Chris Maddison (AlphaGo founding member, NeurIPS 14 best paper)","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/","text":"Columbia STAT 8201: Deep Generative Models \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aColumbia University \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Graphical Models \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://stat.columbia.edu/~cunningham/teaching/GR8201/ \u8fd9\u95e8\u8bfe\u662f\u4e00\u95e8 PhD \u8ba8\u8bba\u73ed\uff0c\u6bcf\u5468\u7684\u5185\u5bb9\u662f\u5c55\u793a + \u8ba8\u8bba\u8bba\u6587\uff0c\u6388\u8bfe\u8001\u5e08\u662f John Cunningham\u3002Deep Generative Models \uff08\u6df1\u5ea6\u751f\u6210\u6a21\u578b\uff09 \u662f\u56fe\u6a21\u578b\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u4e5f\u662f\u73b0\u4ee3\u673a\u5668\u5b66\u4e60\u6700\u91cd\u8981\u7684\u65b9\u5411\u4e4b\u4e00","title":"Columbia STAT 8201: Deep Generative Models"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/#columbia-stat-8201-deep-generative-models","text":"","title":"Columbia STAT 8201: Deep Generative Models"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aColumbia University \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Graphical Models \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://stat.columbia.edu/~cunningham/teaching/GR8201/ \u8fd9\u95e8\u8bfe\u662f\u4e00\u95e8 PhD \u8ba8\u8bba\u73ed\uff0c\u6bcf\u5468\u7684\u5185\u5bb9\u662f\u5c55\u793a + \u8ba8\u8bba\u8bba\u6587\uff0c\u6388\u8bfe\u8001\u5e08\u662f John Cunningham\u3002Deep Generative Models \uff08\u6df1\u5ea6\u751f\u6210\u6a21\u578b\uff09 \u662f\u56fe\u6a21\u578b\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u4e5f\u662f\u73b0\u4ee3\u673a\u5668\u5b66\u4e60\u6700\u91cd\u8981\u7684\u65b9\u5411\u4e4b\u4e00","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/","text":"\u673a\u5668\u5b66\u4e60\u8fdb\u9636 \u6b64\u8def\u7ebf\u56fe\u9002\u7528\u4e8e\u5df2\u7ecf\u5b66\u8fc7\u4e86\u57fa\u7840\u673a\u5668\u5b66\u4e60 (ML, NLP, CV, RL) \u7684\u540c\u5b66 (\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u6216\u4f4e\u5e74\u7ea7\u7814\u7a76\u751f)\uff0c\u5df2\u7ecf\u53d1\u8868\u8fc7\u81f3\u5c11\u4e00\u7bc7\u9876\u4f1a\u8bba\u6587 (NeurIPS, ICML, ICLR, ACL, EMNLP, NAACL, CVPR, ICCV) \u60f3\u8981\u8d70\u673a\u5668\u5b66\u4e60\u79d1\u7814\u8def\u7ebf\u7684\u9009\u624b\u3002 \u6b64\u8def\u7ebf\u7684\u76ee\u6807\u662f\u4e3a\u8bfb\u61c2\u4e0e\u53d1\u8868\u673a\u5668\u5b66\u4e60\u9876\u4f1a\u8bba\u6587\u6253\u4e0b\u7406\u8bba\u57fa\u7840\uff0c\u7279\u522b\u662f Probabilistic Methods \u8fd9\u4e2a track \u4e0b\u7684\u6587\u7ae0 \u673a\u5668\u5b66\u4e60\u8fdb\u9636\u53ef\u80fd\u5b58\u5728\u591a\u79cd\u4e0d\u540c\u7684\u5b66\u4e60\u8def\u7ebf\uff0c\u6b64\u8def\u7ebf\u53ea\u80fd\u4ee3\u8868\u4f5c\u8005 Yao Fu \u6240\u7406\u89e3\u7684\u6700\u4f73\u8def\u5f84\uff0c\u4fa7\u91cd\u4e8e\u8d1d\u53f6\u65af\u5b66\u6d3e\u4e0b\u7684\u6982\u7387\u5efa\u6a21\u65b9\u6cd5\uff0c\u4e5f\u4f1a\u6d89\u53ca\u5230\u5404\u9879\u76f8\u5173\u5b66\u79d1\u7684\u4ea4\u53c9\u77e5\u8bc6\u3002 \u5fc5\u8bfb\u6559\u6750 PRML: Pattern Recognition and Machine Learning. Christopher Bishop \u7ecf\u5178\u8d1d\u53f6\u65af\u5b66\u6d3e\u6559\u6750 AoS: All of Statistics. Larry Wasserman \u7ecf\u5178\u9891\u7387\u5b66\u6d3e\u6559\u6750 \u6240\u4ee5\u8fd9\u4e24\u672c\u4e66\u521a\u597d\u76f8\u8f85\u76f8\u6210 \u5b57\u5178 MLAPP: Machine Learning: A Probabilistic Perspective. Kevin Murphy Convex Optimization. Stephen Boyd and Lieven Vandenberghe \u8fdb\u9636\u4e66\u7c4d W&J: Graphical Models, Exponential Families, and Variational Inference. Martin Wainwright and Michael Jordan Theory of Point Estimation. E. L. Lehmann and George Casella \u5982\u4f55\u9605\u8bfb Guidelines \u5fc5\u8bfb\u6559\u6750\u5c31\u662f\u4e00\u5b9a\u8981\u8bfb\u7684\u6559\u6750 \u5b57\u5178\u7684\u610f\u601d\u662f\uff0c\u4e00\u822c\u60c5\u51b5\u4e0b\u4e0d\u7ba1\u5b83\uff0c\u4f46\u5f53\u9047\u5230\u4e86\u4e0d\u61c2\u7684\u6982\u5ff5\u7684\u65f6\u5019\uff0c\u5c31\u53bb\u5b57\u5178\u91cc\u9762\u67e5\uff08\u800c\u4e0d\u662f\u7ef4\u57fa\u767e\u79d1\uff09 \u8fdb\u9636\u4e66\u7c4d\u5148\u4e0d\u8bfb\uff0c\u5148\u8bfb\u5b8c\u5fc5\u8bfb\u4e66\u7c4d\u3002\u5fc5\u8bfb\u4e66\u7c4d\u4e00\u822c\u90fd\u662f\u8981\u524d\u524d\u540e\u540e\u53cd\u590d\u770b\u8fc7 N \u904d\u624d\u7b97\u8bfb\u5b8c \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6700\u91cd\u8981\u7684\u8bfb\u6cd5\u5c31\u662f\u5bf9\u6bd4\u9605\u8bfb (contrastive-comparative reading)\uff1a\u540c\u65f6\u6253\u5f00\u4e24\u672c\u4e66\u8bb2\u540c\u4e00\u4e3b\u9898\u7684\u7ae0\u8282\uff0c\u7136\u540e\u5bf9\u6bd4\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u5c3d\u91cf\u53bb\u56de\u60f3\u4e4b\u524d\u8bfb\u8fc7\u7684\u8bba\u6587\uff0c\u6bd4\u8f83\u8bba\u6587\u548c\u6559\u6750\u7684\u76f8\u540c\u70b9\u4e0e\u4e0d\u540c\u70b9 \u57fa\u7840\u8def\u5f84 \u5148\u8bfb AoS \u7b2c\u516d\u7ae0: Models, Statistical Inference and Learning\uff0c\u8fd9\u4e00\u90e8\u5206\u662f\u6700\u57fa\u7840\u7684\u79d1\u666e \u7136\u540e\u8bfb PRML \u7b2c 10, 11 \u7ae0 \u7b2c 10 \u7ae0\u7684\u5185\u5bb9\u662f Variational Inference, \u7b2c 11 \u7ae0\u7684\u5185\u5bb9\u662f MCMC, \u8fd9\u4e24\u79cd\u65b9\u6cd5\u662f\u8d1d\u53f6\u65af\u63a8\u65ad\u7684\u4e24\u6761\u6700\u4e3b\u8981\u8def\u7ebf \u5982\u679c\u5728\u8bfb PRML \u7684\u8fc7\u7a0b\u4e2d\u53d1\u73b0\u6709\u4efb\u4f55\u4e0d\u61c2\u7684\u540d\u8bcd\uff0c\u5c31\u53bb\u7ffb\u524d\u9762\u7684\u7ae0\u8282\u3002\u5f88\u5927\u6982\u7387\u80fd\u591f\u5728\u7b2c 3\uff0c4 \u7ae0\u627e\u5230\u76f8\u5bf9\u5e94\u7684\u5b9a\u4e49\uff1b\u5982\u679c\u627e\u4e0d\u5230\u6216\u8005\u4e0d\u591f\u8be6\u7ec6\uff0c\u5c31\u53bb\u67e5 MLAPP AoS \u7b2c 8 \u7ae0 (Parametric Inference) \u548c\u7b2c 11 \u7ae0 (Bayesian Inference) \u4e5f\u53ef\u4ee5\u4f5c\u4e3a\u53c2\u8003\u3002\u6700\u597d\u7684\u65b9\u6cd5\u662f\u591a\u672c\u4e66\u5bf9\u6bd4\u9605\u8bfb\uff0c\u6d41\u7a0b\u5982\u4e0b \u5047\u8bbe\u6211\u5728\u8bfb PRML \u7b2c 10 \u7ae0\u7684\u65f6\u5019\u53d1\u73b0\u4e86\u4e00\u4e2a\u4e0d\u61c2\u7684\u8bcd\uff1aposterior inference \u4e8e\u662f\u6211\u5f80\u524d\u7ffb\uff0c\u7ffb\u5230\u4e86\u7b2c 3 \u7ae0 (Linear Model for Regression)\uff0c\u770b\u5230\u4e86\u6700\u7b80\u5355\u7684 posterior \u7136\u540e\u6211\u63a5\u7740\u7ffb AoS\uff0c\u7ffb\u5230\u4e86\u7b2c 11 \u7ae0\uff0c\u4e5f\u6709\u5bf9 posterior \u7684\u63cf\u8ff0 \u7136\u540e\u6211\u5bf9\u6bd4 PRML \u7b2c 10 \u7ae0\uff0c\u7b2c 3 \u7ae0\uff0cAoS \u7b2c 11 \u7ae0\uff0c\u4e09\u5904\u4e0d\u540c\u5730\u65b9\u5bf9 posterior \u7684\u89e3\u8bfb\uff0c\u6bd4\u8f83\u5176\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u5b8c PRML \u7b2c 10 \u548c 11 \u7ae0\u4e4b\u540e\uff0c\u63a5\u7740\u8bfb AoS \u7b2c 24 \u7ae0 (Simulation Methods)\uff0c\u7136\u540e\u628a\u5b83\u548c PRML \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb -- \u8fd9\u4fe9\u90fd\u662f\u8bb2 MCMC \u5982\u679c\u5230\u6b64\u5904\u53d1\u73b0\u8fd8\u6709\u57fa\u7840\u6982\u5ff5\u8bfb\u4e0d\u61c2\uff0c\u5c31\u56de\u5230 PRML \u7b2c 3 \u7ae0\uff0c\u628a\u5b83\u548c AoS \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb Again\uff0c\u5bf9\u6bd4\u9605\u8bfb\u975e\u5e38\u91cd\u8981\uff0c\u4e00\u5b9a\u8981\u628a\u4e0d\u540c\u672c\u4e66\u7684\u7c7b\u4f3c\u5185\u5bb9\u540c\u65f6\u6446\u5728\u9762\u524d\u76f8\u4e92\u5bf9\u6bd4\uff0c\u8fd9\u6837\u53ef\u4ee5\u663e\u8457\u589e\u5f3a\u8bb0\u5fc6 \u7136\u540e\u8bfb PRML \u7b2c 13 \u7ae0\uff08\u8df3\u8fc7\u7b2c 12 \u7ae0\uff09\uff0c\u8fd9\u4e00\u7ae0\u53ef\u4ee5\u548c MLAPP \u7684\u7b2c 17, 18 \u7ae0\u5bf9\u6bd4\u9605\u8bfb MLAPP \u7b2c 17 \u7ae0\u662f PRML \u7b2c 13.2 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 HMM MLAPP \u7b2c 18 \u7ae0\u662f PRML \u7b2c 13.3 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 LDS \u8bfb\u5b8c PRML \u7b2c 13 \u7ae0\u4e4b\u540e\uff0c\u518d\u53bb\u8bfb PRML \u7b2c 8 \u7ae0 (Graphical Models) -- \u6b64\u65f6\u8fd9\u90e8\u5206\u5e94\u8be5\u4f1a\u8bfb\u5f97\u5f88\u8f7b\u677e \u4ee5\u4e0a\u7684\u5185\u5bb9\u53ef\u4ee5\u8fdb\u4e00\u6b65\u5bf9\u7167 CMU 10-708 PGM \u8bfe\u7a0b\u6750\u6599 \u5230\u76ee\u524d\u4e3a\u6b62\uff0c\u5e94\u8be5\u80fd\u591f\u638c\u63e1 \u6982\u7387\u6a21\u578b\u7684\u57fa\u7840\u5b9a\u4e49 \u7cbe\u51c6\u63a8\u65ad - Sum-Product \u8fd1\u4f3c\u63a8\u65ad - MCMC \u8fd1\u4f3c\u63a8\u65ad - VI \u7136\u540e\u5c31\u53ef\u4ee5\u53bb\u505a\u66f4\u8fdb\u9636\u7684\u5185\u5bb9","title":"\u8fdb\u9636\u8def\u7ebf\u56fe"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_1","text":"\u6b64\u8def\u7ebf\u56fe\u9002\u7528\u4e8e\u5df2\u7ecf\u5b66\u8fc7\u4e86\u57fa\u7840\u673a\u5668\u5b66\u4e60 (ML, NLP, CV, RL) \u7684\u540c\u5b66 (\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u6216\u4f4e\u5e74\u7ea7\u7814\u7a76\u751f)\uff0c\u5df2\u7ecf\u53d1\u8868\u8fc7\u81f3\u5c11\u4e00\u7bc7\u9876\u4f1a\u8bba\u6587 (NeurIPS, ICML, ICLR, ACL, EMNLP, NAACL, CVPR, ICCV) \u60f3\u8981\u8d70\u673a\u5668\u5b66\u4e60\u79d1\u7814\u8def\u7ebf\u7684\u9009\u624b\u3002 \u6b64\u8def\u7ebf\u7684\u76ee\u6807\u662f\u4e3a\u8bfb\u61c2\u4e0e\u53d1\u8868\u673a\u5668\u5b66\u4e60\u9876\u4f1a\u8bba\u6587\u6253\u4e0b\u7406\u8bba\u57fa\u7840\uff0c\u7279\u522b\u662f Probabilistic Methods \u8fd9\u4e2a track \u4e0b\u7684\u6587\u7ae0 \u673a\u5668\u5b66\u4e60\u8fdb\u9636\u53ef\u80fd\u5b58\u5728\u591a\u79cd\u4e0d\u540c\u7684\u5b66\u4e60\u8def\u7ebf\uff0c\u6b64\u8def\u7ebf\u53ea\u80fd\u4ee3\u8868\u4f5c\u8005 Yao Fu \u6240\u7406\u89e3\u7684\u6700\u4f73\u8def\u5f84\uff0c\u4fa7\u91cd\u4e8e\u8d1d\u53f6\u65af\u5b66\u6d3e\u4e0b\u7684\u6982\u7387\u5efa\u6a21\u65b9\u6cd5\uff0c\u4e5f\u4f1a\u6d89\u53ca\u5230\u5404\u9879\u76f8\u5173\u5b66\u79d1\u7684\u4ea4\u53c9\u77e5\u8bc6\u3002","title":"\u673a\u5668\u5b66\u4e60\u8fdb\u9636"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_2","text":"PRML: Pattern Recognition and Machine Learning. Christopher Bishop \u7ecf\u5178\u8d1d\u53f6\u65af\u5b66\u6d3e\u6559\u6750 AoS: All of Statistics. Larry Wasserman \u7ecf\u5178\u9891\u7387\u5b66\u6d3e\u6559\u6750 \u6240\u4ee5\u8fd9\u4e24\u672c\u4e66\u521a\u597d\u76f8\u8f85\u76f8\u6210","title":"\u5fc5\u8bfb\u6559\u6750"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_3","text":"MLAPP: Machine Learning: A Probabilistic Perspective. Kevin Murphy Convex Optimization. Stephen Boyd and Lieven Vandenberghe","title":"\u5b57\u5178"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_4","text":"W&J: Graphical Models, Exponential Families, and Variational Inference. Martin Wainwright and Michael Jordan Theory of Point Estimation. E. L. Lehmann and George Casella","title":"\u8fdb\u9636\u4e66\u7c4d"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_5","text":"","title":"\u5982\u4f55\u9605\u8bfb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#guidelines","text":"\u5fc5\u8bfb\u6559\u6750\u5c31\u662f\u4e00\u5b9a\u8981\u8bfb\u7684\u6559\u6750 \u5b57\u5178\u7684\u610f\u601d\u662f\uff0c\u4e00\u822c\u60c5\u51b5\u4e0b\u4e0d\u7ba1\u5b83\uff0c\u4f46\u5f53\u9047\u5230\u4e86\u4e0d\u61c2\u7684\u6982\u5ff5\u7684\u65f6\u5019\uff0c\u5c31\u53bb\u5b57\u5178\u91cc\u9762\u67e5\uff08\u800c\u4e0d\u662f\u7ef4\u57fa\u767e\u79d1\uff09 \u8fdb\u9636\u4e66\u7c4d\u5148\u4e0d\u8bfb\uff0c\u5148\u8bfb\u5b8c\u5fc5\u8bfb\u4e66\u7c4d\u3002\u5fc5\u8bfb\u4e66\u7c4d\u4e00\u822c\u90fd\u662f\u8981\u524d\u524d\u540e\u540e\u53cd\u590d\u770b\u8fc7 N \u904d\u624d\u7b97\u8bfb\u5b8c \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6700\u91cd\u8981\u7684\u8bfb\u6cd5\u5c31\u662f\u5bf9\u6bd4\u9605\u8bfb (contrastive-comparative reading)\uff1a\u540c\u65f6\u6253\u5f00\u4e24\u672c\u4e66\u8bb2\u540c\u4e00\u4e3b\u9898\u7684\u7ae0\u8282\uff0c\u7136\u540e\u5bf9\u6bd4\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u5c3d\u91cf\u53bb\u56de\u60f3\u4e4b\u524d\u8bfb\u8fc7\u7684\u8bba\u6587\uff0c\u6bd4\u8f83\u8bba\u6587\u548c\u6559\u6750\u7684\u76f8\u540c\u70b9\u4e0e\u4e0d\u540c\u70b9","title":"Guidelines"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_6","text":"\u5148\u8bfb AoS \u7b2c\u516d\u7ae0: Models, Statistical Inference and Learning\uff0c\u8fd9\u4e00\u90e8\u5206\u662f\u6700\u57fa\u7840\u7684\u79d1\u666e \u7136\u540e\u8bfb PRML \u7b2c 10, 11 \u7ae0 \u7b2c 10 \u7ae0\u7684\u5185\u5bb9\u662f Variational Inference, \u7b2c 11 \u7ae0\u7684\u5185\u5bb9\u662f MCMC, \u8fd9\u4e24\u79cd\u65b9\u6cd5\u662f\u8d1d\u53f6\u65af\u63a8\u65ad\u7684\u4e24\u6761\u6700\u4e3b\u8981\u8def\u7ebf \u5982\u679c\u5728\u8bfb PRML \u7684\u8fc7\u7a0b\u4e2d\u53d1\u73b0\u6709\u4efb\u4f55\u4e0d\u61c2\u7684\u540d\u8bcd\uff0c\u5c31\u53bb\u7ffb\u524d\u9762\u7684\u7ae0\u8282\u3002\u5f88\u5927\u6982\u7387\u80fd\u591f\u5728\u7b2c 3\uff0c4 \u7ae0\u627e\u5230\u76f8\u5bf9\u5e94\u7684\u5b9a\u4e49\uff1b\u5982\u679c\u627e\u4e0d\u5230\u6216\u8005\u4e0d\u591f\u8be6\u7ec6\uff0c\u5c31\u53bb\u67e5 MLAPP AoS \u7b2c 8 \u7ae0 (Parametric Inference) \u548c\u7b2c 11 \u7ae0 (Bayesian Inference) \u4e5f\u53ef\u4ee5\u4f5c\u4e3a\u53c2\u8003\u3002\u6700\u597d\u7684\u65b9\u6cd5\u662f\u591a\u672c\u4e66\u5bf9\u6bd4\u9605\u8bfb\uff0c\u6d41\u7a0b\u5982\u4e0b \u5047\u8bbe\u6211\u5728\u8bfb PRML \u7b2c 10 \u7ae0\u7684\u65f6\u5019\u53d1\u73b0\u4e86\u4e00\u4e2a\u4e0d\u61c2\u7684\u8bcd\uff1aposterior inference \u4e8e\u662f\u6211\u5f80\u524d\u7ffb\uff0c\u7ffb\u5230\u4e86\u7b2c 3 \u7ae0 (Linear Model for Regression)\uff0c\u770b\u5230\u4e86\u6700\u7b80\u5355\u7684 posterior \u7136\u540e\u6211\u63a5\u7740\u7ffb AoS\uff0c\u7ffb\u5230\u4e86\u7b2c 11 \u7ae0\uff0c\u4e5f\u6709\u5bf9 posterior \u7684\u63cf\u8ff0 \u7136\u540e\u6211\u5bf9\u6bd4 PRML \u7b2c 10 \u7ae0\uff0c\u7b2c 3 \u7ae0\uff0cAoS \u7b2c 11 \u7ae0\uff0c\u4e09\u5904\u4e0d\u540c\u5730\u65b9\u5bf9 posterior \u7684\u89e3\u8bfb\uff0c\u6bd4\u8f83\u5176\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u5b8c PRML \u7b2c 10 \u548c 11 \u7ae0\u4e4b\u540e\uff0c\u63a5\u7740\u8bfb AoS \u7b2c 24 \u7ae0 (Simulation Methods)\uff0c\u7136\u540e\u628a\u5b83\u548c PRML \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb -- \u8fd9\u4fe9\u90fd\u662f\u8bb2 MCMC \u5982\u679c\u5230\u6b64\u5904\u53d1\u73b0\u8fd8\u6709\u57fa\u7840\u6982\u5ff5\u8bfb\u4e0d\u61c2\uff0c\u5c31\u56de\u5230 PRML \u7b2c 3 \u7ae0\uff0c\u628a\u5b83\u548c AoS \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb Again\uff0c\u5bf9\u6bd4\u9605\u8bfb\u975e\u5e38\u91cd\u8981\uff0c\u4e00\u5b9a\u8981\u628a\u4e0d\u540c\u672c\u4e66\u7684\u7c7b\u4f3c\u5185\u5bb9\u540c\u65f6\u6446\u5728\u9762\u524d\u76f8\u4e92\u5bf9\u6bd4\uff0c\u8fd9\u6837\u53ef\u4ee5\u663e\u8457\u589e\u5f3a\u8bb0\u5fc6 \u7136\u540e\u8bfb PRML \u7b2c 13 \u7ae0\uff08\u8df3\u8fc7\u7b2c 12 \u7ae0\uff09\uff0c\u8fd9\u4e00\u7ae0\u53ef\u4ee5\u548c MLAPP \u7684\u7b2c 17, 18 \u7ae0\u5bf9\u6bd4\u9605\u8bfb MLAPP \u7b2c 17 \u7ae0\u662f PRML \u7b2c 13.2 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 HMM MLAPP \u7b2c 18 \u7ae0\u662f PRML \u7b2c 13.3 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 LDS \u8bfb\u5b8c PRML \u7b2c 13 \u7ae0\u4e4b\u540e\uff0c\u518d\u53bb\u8bfb PRML \u7b2c 8 \u7ae0 (Graphical Models) -- \u6b64\u65f6\u8fd9\u90e8\u5206\u5e94\u8be5\u4f1a\u8bfb\u5f97\u5f88\u8f7b\u677e \u4ee5\u4e0a\u7684\u5185\u5bb9\u53ef\u4ee5\u8fdb\u4e00\u6b65\u5bf9\u7167 CMU 10-708 PGM \u8bfe\u7a0b\u6750\u6599 \u5230\u76ee\u524d\u4e3a\u6b62\uff0c\u5e94\u8be5\u80fd\u591f\u638c\u63e1 \u6982\u7387\u6a21\u578b\u7684\u57fa\u7840\u5b9a\u4e49 \u7cbe\u51c6\u63a8\u65ad - Sum-Product \u8fd1\u4f3c\u63a8\u65ad - MCMC \u8fd1\u4f3c\u63a8\u65ad - VI \u7136\u540e\u5c31\u53ef\u4ee5\u53bb\u505a\u66f4\u8fdb\u9636\u7684\u5185\u5bb9","title":"\u57fa\u7840\u8def\u5f84"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/","text":"CS224n: Natural Language Processing \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684 NLP \u5165\u95e8\u8bfe\u7a0b\uff0c\u7531\u81ea\u7136\u8bed\u8a00\u5904\u7406\u9886\u57df\u7684\u5de8\u4f6c Chris Manning \u9886\u8854\u6559\u6388\uff08word2vec \u7b97\u6cd5\u7684\u5f00\u521b\u8005\uff09\u3002\u5185\u5bb9\u8986\u76d6\u4e86\u8bcd\u5411\u91cf\u3001RNN\u3001LSTM\u3001Seq2Seq \u6a21\u578b\u3001\u673a\u5668\u7ffb\u8bd1\u3001\u6ce8\u610f\u529b\u673a\u5236\u3001Transformer \u7b49\u7b49 NLP \u9886\u57df\u7684\u6838\u5fc3\u77e5\u8bc6\u70b9\u3002 5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u96be\u5ea6\u5faa\u5e8f\u6e10\u8fdb\uff0c\u5206\u522b\u662f\u8bcd\u5411\u91cf\u3001word2vec \u7b97\u6cd5\u3001Dependency parsing\u3001\u673a\u5668\u7ffb\u8bd1\u4ee5\u53ca Transformer \u7684 fine-tune\u3002 \u6700\u7ec8\u7684\u5927\u4f5c\u4e1a\u662f\u5728 Stanford \u8457\u540d\u7684 SQuAD \u6570\u636e\u96c6\u4e0a\u8bad\u7ec3 QA \u6a21\u578b\uff0c\u6709\u5b66\u751f\u7684\u5927\u4f5c\u4e1a\u751a\u81f3\u76f4\u63a5\u53d1\u8868\u4e86\u9876\u4f1a\u8bba\u6587\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs224n/index.html \u8bfe\u7a0b\u89c6\u9891\uff1aB \u7ad9\u641c\u7d22 CS224n \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://web.stanford.edu/class/cs224n/index.html \uff0c5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a + 1 \u4e2a Final Project \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS224n - GitHub \u4e2d\u3002","title":"Stanford CS224n: Natural Language Processing"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#cs224n-natural-language-processing","text":"","title":"CS224n: Natural Language Processing"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684 NLP \u5165\u95e8\u8bfe\u7a0b\uff0c\u7531\u81ea\u7136\u8bed\u8a00\u5904\u7406\u9886\u57df\u7684\u5de8\u4f6c Chris Manning \u9886\u8854\u6559\u6388\uff08word2vec \u7b97\u6cd5\u7684\u5f00\u521b\u8005\uff09\u3002\u5185\u5bb9\u8986\u76d6\u4e86\u8bcd\u5411\u91cf\u3001RNN\u3001LSTM\u3001Seq2Seq \u6a21\u578b\u3001\u673a\u5668\u7ffb\u8bd1\u3001\u6ce8\u610f\u529b\u673a\u5236\u3001Transformer \u7b49\u7b49 NLP \u9886\u57df\u7684\u6838\u5fc3\u77e5\u8bc6\u70b9\u3002 5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u96be\u5ea6\u5faa\u5e8f\u6e10\u8fdb\uff0c\u5206\u522b\u662f\u8bcd\u5411\u91cf\u3001word2vec \u7b97\u6cd5\u3001Dependency parsing\u3001\u673a\u5668\u7ffb\u8bd1\u4ee5\u53ca Transformer \u7684 fine-tune\u3002 \u6700\u7ec8\u7684\u5927\u4f5c\u4e1a\u662f\u5728 Stanford \u8457\u540d\u7684 SQuAD \u6570\u636e\u96c6\u4e0a\u8bad\u7ec3 QA \u6a21\u578b\uff0c\u6709\u5b66\u751f\u7684\u5927\u4f5c\u4e1a\u751a\u81f3\u76f4\u63a5\u53d1\u8868\u4e86\u9876\u4f1a\u8bba\u6587\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs224n/index.html \u8bfe\u7a0b\u89c6\u9891\uff1aB \u7ad9\u641c\u7d22 CS224n \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://web.stanford.edu/class/cs224n/index.html \uff0c5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a + 1 \u4e2a Final Project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS224n - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/","text":"CS224w: Machine Learning with Graphs \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython, LaTeX \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684\u56fe\u795e\u7ecf\u7f51\u7edc\u5165\u95e8\u8bfe\uff0c\u8fd9\u95e8\u8bfe\u6211\u6ca1\u6709\u4e0a\u8fc7\uff0c\u4f46\u4f17\u591a\u505a GNN \u7684\u670b\u53cb\u90fd\u5411\u6211\u529b\u8350\u8fc7\u8fd9\u95e8\u8bfe\uff0c\u60f3\u5fc5 Stanford \u7684\u8bfe\u8d28\u91cf\u8fd8\u662f\u4e00\u5982\u65e2\u5f80\u5730\u6709\u4fdd\u8bc1\u7684\u3002\u53e6\u5916\u5c31\u662f\u8fd9\u95e8\u8bfe\u7684\u6388\u8bfe\u8001\u5e08\u975e\u5e38\u5e74\u8f7b\u5e05\u6c14:) \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs224w/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=JAB_plj2rbA \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://web.stanford.edu/class/cs224w/ \uff0c6 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c3 \u4e2a LaTeX \u4e66\u9762\u4f5c\u4e1a","title":"Stanford CS224w: Machine Learning with Graphs"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/#cs224w-machine-learning-with-graphs","text":"","title":"CS224w: Machine Learning with Graphs"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython, LaTeX \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684\u56fe\u795e\u7ecf\u7f51\u7edc\u5165\u95e8\u8bfe\uff0c\u8fd9\u95e8\u8bfe\u6211\u6ca1\u6709\u4e0a\u8fc7\uff0c\u4f46\u4f17\u591a\u505a GNN \u7684\u670b\u53cb\u90fd\u5411\u6211\u529b\u8350\u8fc7\u8fd9\u95e8\u8bfe\uff0c\u60f3\u5fc5 Stanford \u7684\u8bfe\u8d28\u91cf\u8fd8\u662f\u4e00\u5982\u65e2\u5f80\u5730\u6709\u4fdd\u8bc1\u7684\u3002\u53e6\u5916\u5c31\u662f\u8fd9\u95e8\u8bfe\u7684\u6388\u8bfe\u8001\u5e08\u975e\u5e38\u5e74\u8f7b\u5e05\u6c14:)","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs224w/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=JAB_plj2rbA \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://web.stanford.edu/class/cs224w/ \uff0c6 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c3 \u4e2a LaTeX \u4e66\u9762\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/","text":"Coursera: Deep Learning \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u5434\u6069\u8fbe\u5728 Coursera \u5f00\u8bbe\u7684\u53e6\u4e00\u95e8\u7f51\u7ea2\u8bfe\u7a0b\uff0c\u5b66\u4e60\u8005\u65e0\u6570\uff0c\u582a\u79f0\u5723\u7ecf\u7ea7\u7684\u6df1\u5ea6\u5b66\u4e60\u5165\u95e8\u8bfe\u3002\u6df1\u5165\u6d45\u51fa\u7684\u8bb2\u89e3\uff0c\u773c\u82b1\u7f2d\u4e71\u7684 Project\u3002\u4ece\u6700\u57fa\u7840\u7684\u795e\u7ecf\u7f51\u7edc\uff0c\u5230 CNN, RNN\uff0c\u518d\u5230\u6700\u8fd1\u5927\u70ed\u7684 Transformer\u3002\u5b66\u5b8c\u8fd9\u95e8\u8bfe\uff0c\u4f60\u5c06\u521d\u6b65\u638c\u63e1\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u5fc5\u5907\u7684\u77e5\u8bc6\u548c\u6280\u80fd\uff0c\u5e76\u4e14\u53ef\u4ee5\u5728 Kaggle \u4e2d\u53c2\u52a0\u81ea\u5df1\u611f\u5174\u8da3\u7684\u6bd4\u8d5b\uff0c\u5728\u5b9e\u8df5\u4e2d\u953b\u70bc\u81ea\u5df1\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.coursera.org/specializations/deep-learning \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.coursera.org/specializations/deep-learning \uff0cB\u7ad9\u6709\u642c\u8fd0 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://www.coursera.org/specializations/deep-learning","title":"Coursera: Deep Learning"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/#coursera-deep-learning","text":"","title":"Coursera: Deep Learning"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u5434\u6069\u8fbe\u5728 Coursera \u5f00\u8bbe\u7684\u53e6\u4e00\u95e8\u7f51\u7ea2\u8bfe\u7a0b\uff0c\u5b66\u4e60\u8005\u65e0\u6570\uff0c\u582a\u79f0\u5723\u7ecf\u7ea7\u7684\u6df1\u5ea6\u5b66\u4e60\u5165\u95e8\u8bfe\u3002\u6df1\u5165\u6d45\u51fa\u7684\u8bb2\u89e3\uff0c\u773c\u82b1\u7f2d\u4e71\u7684 Project\u3002\u4ece\u6700\u57fa\u7840\u7684\u795e\u7ecf\u7f51\u7edc\uff0c\u5230 CNN, RNN\uff0c\u518d\u5230\u6700\u8fd1\u5927\u70ed\u7684 Transformer\u3002\u5b66\u5b8c\u8fd9\u95e8\u8bfe\uff0c\u4f60\u5c06\u521d\u6b65\u638c\u63e1\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u5fc5\u5907\u7684\u77e5\u8bc6\u548c\u6280\u80fd\uff0c\u5e76\u4e14\u53ef\u4ee5\u5728 Kaggle \u4e2d\u53c2\u52a0\u81ea\u5df1\u611f\u5174\u8da3\u7684\u6bd4\u8d5b\uff0c\u5728\u5b9e\u8df5\u4e2d\u953b\u70bc\u81ea\u5df1\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.coursera.org/specializations/deep-learning \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.coursera.org/specializations/deep-learning \uff0cB\u7ad9\u6709\u642c\u8fd0 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://www.coursera.org/specializations/deep-learning","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/","text":"CS231n: CNN for Visual Recognition \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684 CV \u5165\u95e8\u8bfe\uff0c\u7531\u8ba1\u7b97\u673a\u9886\u57df\u7684\u5de8\u4f6c\u674e\u98de\u98de\u9662\u58eb\u9886\u8854\u6559\u6388\uff08CV \u9886\u57df\u5212\u65f6\u4ee3\u7684\u8457\u540d\u6570\u636e\u96c6 ImageNet \u7684\u7814\u7a76\u56e2\u961f\uff09\uff0c\u4f46\u5176\u5185\u5bb9\u76f8\u5bf9\u57fa\u7840\u4e14\u53cb\u597d\uff0c\u5982\u679c\u4e0a\u8fc7 CS230 \u7684\u8bdd\u53ef\u4ee5\u76f4\u63a5\u4e0a\u624b Project \u4f5c\u4e3a\u7ec3\u4e60\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://cs231n.stanford.edu/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1nJ411z7fe \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://cs231n.stanford.edu/schedule.html \uff0c3\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"Stanford CS231n: CNN for Visual Recognition"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/#cs231n-cnn-for-visual-recognition","text":"","title":"CS231n: CNN for Visual Recognition"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684 CV \u5165\u95e8\u8bfe\uff0c\u7531\u8ba1\u7b97\u673a\u9886\u57df\u7684\u5de8\u4f6c\u674e\u98de\u98de\u9662\u58eb\u9886\u8854\u6559\u6388\uff08CV \u9886\u57df\u5212\u65f6\u4ee3\u7684\u8457\u540d\u6570\u636e\u96c6 ImageNet \u7684\u7814\u7a76\u56e2\u961f\uff09\uff0c\u4f46\u5176\u5185\u5bb9\u76f8\u5bf9\u57fa\u7840\u4e14\u53cb\u597d\uff0c\u5982\u679c\u4e0a\u8fc7 CS230 \u7684\u8bdd\u53ef\u4ee5\u76f4\u63a5\u4e0a\u624b Project \u4f5c\u4e3a\u7ec3\u4e60\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://cs231n.stanford.edu/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1nJ411z7fe \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://cs231n.stanford.edu/schedule.html \uff0c3\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/","text":"CS285: Deep Reinforcement Learning \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS188, CS189 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 CS285 \u8fd9\u4e00\u8bfe\u7a0b\u73b0\u7531 Sergey Levine \u6559\u6388\u8bb2\u6388\uff0c\u8bfe\u7a0b\u5185\u5bb9\u8986\u76d6\u4e86\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u9886\u57df\u7684\u5404\u65b9\u9762\u5185\u5bb9\uff0c\u9002\u5408\u6709\u4e00\u5b9a\u673a\u5668\u5b66\u4e60\u57fa\u7840\u7684\u540c\u5b66\u8fdb\u884c\u5b66\u4e60\uff0c\u5177\u4f53\u8981\u6c42\u5305\u62ec\u4e86\u89e3\u9a6c\u5c14\u53ef\u592b\u51b3\u7b56\u8fc7\u7a0b\uff08MDP\uff09\u7b49\u3002\u6574\u95e8\u8bfe\u7a0b\u4e2d\u542b\u6709\u8f83\u591a\u7684\u516c\u5f0f\uff0c\u4e0a\u8bfe\u524d\u9700\u8981\u6709\u4e00\u5b9a\u7684\u5fc3\u7406\u51c6\u5907\u3002\u6b64\u5916\uff0c\u6559\u6388\u4f1a\u6839\u636e\u6bcf\u5e74\u6700\u65b0\u7684\u7814\u7a76\u8fdb\u5c55\u66f4\u65b0\u8bfe\u7a0b\u5185\u5bb9\u4ee5\u53ca\u4f5c\u4e1a\uff0c\u8bfe\u7a0b\u4e2d\u80fd\u611f\u53d7\u5230\u6559\u6388\u5c1d\u8bd5\u5c06\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u9886\u57df\u7684\u6240\u6709\u57fa\u7840\u77e5\u8bc6\u4ee5\u53ca\u6700\u8fd1\u7684\u53d1\u5c55\u5728\u77ed\u77ed\u7684\u6570\u8282\u8bfe\u4e2d\u8fdb\u884c\u4f20\u8fbe\u3002 \u6709\u5173\u8bfe\u7a0b\u5185\u5bb9\u83b7\u53d6\uff0c22Fall \u7684\u6388\u8bfe\u65b9\u5f0f\u4e3a\u8bfe\u524d\u89c2\u770b\u63d0\u524d\u5f55\u5236\u7684\u89c6\u9891\uff0c\u8bfe\u4e0a\u4e3b\u8981\u4e3a Q&A \u73af\u8282\uff0c\u6559\u6388\u9009\u62e9\u90e8\u5206\u6216\u8005\u6240\u6709\u89c6\u9891\u5185\u7684\u77e5\u8bc6\u8fdb\u884c\u8bb2\u89e3\u540c\u65f6\u56de\u7b54\u5b66\u751f\u73b0\u573a\u63d0\u51fa\u7684\u95ee\u9898\uff0c\u56e0\u6b64\u6240\u63d0\u4f9b\u7684\u8bfe\u7a0b\u89c6\u9891\u94fe\u63a5\u5b9e\u9645\u4e0a\u662f\u5df2\u7ecf\u5305\u542b\u4e86\u6240\u6709\u5185\u5bb9\u3002\u8bfe\u7a0b\u4f5c\u4e1a\u5219\u75315\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u7ec4\u6210\uff0c\u6bcf\u4e00\u6b21\u4f5c\u4e1a\u4e3b\u8981\u4e3a\u590d\u73b0\u7ecf\u5178\u6a21\u578b\u4ee5\u53ca\u8fdb\u884c\u6a21\u578b\u95f4\u7684\u5bf9\u6bd4\uff0c\u5076\u5c14\u4e5f\u5305\u542b\u4e00\u4e9b\u5bf9\u6700\u8fd1\u63d0\u51fa\u7684\u6a21\u578b\u7684\u590d\u73b0\uff0c\u6700\u540e\u9012\u4ea4\u4e00\u4efd\u62a5\u544a\u3002\u8003\u8651\u5230\u4f5c\u4e1a\u672c\u8eab\u5df2\u7ecf\u63d0\u4f9b\u4e86\u6846\u67b6\uff0c\u4e14\u90fd\u662f\u6839\u636e hint \u8fdb\u884c\u4ee3\u7801\u586b\u7a7a\uff0c\u56e0\u6b64\u4f5c\u4e1a\u96be\u5ea6\u5e76\u4e0d\u5927\u3002 \u603b\u7684\u6765\u8bf4\uff0c\u8be5\u8bfe\u7a0b\u9002\u5408\u65b0\u624b\u5165\u95e8\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u3002\u867d\u7136\u5b66\u5230\u540e\u9762\u8d8a\u6765\u8d8a\u611f\u89c9\u5230\u96be\uff0c\u4f46\u6574\u95e8\u8bfe\u4e0b\u6765\u4e2a\u4eba\u611f\u89c9\u8fd8\u662f\u6536\u83b7\u9887\u4e30\u3002 \uff08\u53e6\u5916 Levine \u6559\u6388\u4eba\u771f\u7684\u5f88 nice\uff09 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://rail.eecs.berkeley.edu/deeprlcourse/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/playlist?list=PL_iWQOsE6TfX7MaC6C3HcdOf1g337dlC9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://rail.eecs.berkeley.edu/deeprlcourse/ \uff0c5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"UCB CS285: Deep Reinforcement Learning"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/#cs285-deep-reinforcement-learning","text":"","title":"CS285: Deep Reinforcement Learning"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS188, CS189 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 CS285 \u8fd9\u4e00\u8bfe\u7a0b\u73b0\u7531 Sergey Levine \u6559\u6388\u8bb2\u6388\uff0c\u8bfe\u7a0b\u5185\u5bb9\u8986\u76d6\u4e86\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u9886\u57df\u7684\u5404\u65b9\u9762\u5185\u5bb9\uff0c\u9002\u5408\u6709\u4e00\u5b9a\u673a\u5668\u5b66\u4e60\u57fa\u7840\u7684\u540c\u5b66\u8fdb\u884c\u5b66\u4e60\uff0c\u5177\u4f53\u8981\u6c42\u5305\u62ec\u4e86\u89e3\u9a6c\u5c14\u53ef\u592b\u51b3\u7b56\u8fc7\u7a0b\uff08MDP\uff09\u7b49\u3002\u6574\u95e8\u8bfe\u7a0b\u4e2d\u542b\u6709\u8f83\u591a\u7684\u516c\u5f0f\uff0c\u4e0a\u8bfe\u524d\u9700\u8981\u6709\u4e00\u5b9a\u7684\u5fc3\u7406\u51c6\u5907\u3002\u6b64\u5916\uff0c\u6559\u6388\u4f1a\u6839\u636e\u6bcf\u5e74\u6700\u65b0\u7684\u7814\u7a76\u8fdb\u5c55\u66f4\u65b0\u8bfe\u7a0b\u5185\u5bb9\u4ee5\u53ca\u4f5c\u4e1a\uff0c\u8bfe\u7a0b\u4e2d\u80fd\u611f\u53d7\u5230\u6559\u6388\u5c1d\u8bd5\u5c06\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u9886\u57df\u7684\u6240\u6709\u57fa\u7840\u77e5\u8bc6\u4ee5\u53ca\u6700\u8fd1\u7684\u53d1\u5c55\u5728\u77ed\u77ed\u7684\u6570\u8282\u8bfe\u4e2d\u8fdb\u884c\u4f20\u8fbe\u3002 \u6709\u5173\u8bfe\u7a0b\u5185\u5bb9\u83b7\u53d6\uff0c22Fall \u7684\u6388\u8bfe\u65b9\u5f0f\u4e3a\u8bfe\u524d\u89c2\u770b\u63d0\u524d\u5f55\u5236\u7684\u89c6\u9891\uff0c\u8bfe\u4e0a\u4e3b\u8981\u4e3a Q&A \u73af\u8282\uff0c\u6559\u6388\u9009\u62e9\u90e8\u5206\u6216\u8005\u6240\u6709\u89c6\u9891\u5185\u7684\u77e5\u8bc6\u8fdb\u884c\u8bb2\u89e3\u540c\u65f6\u56de\u7b54\u5b66\u751f\u73b0\u573a\u63d0\u51fa\u7684\u95ee\u9898\uff0c\u56e0\u6b64\u6240\u63d0\u4f9b\u7684\u8bfe\u7a0b\u89c6\u9891\u94fe\u63a5\u5b9e\u9645\u4e0a\u662f\u5df2\u7ecf\u5305\u542b\u4e86\u6240\u6709\u5185\u5bb9\u3002\u8bfe\u7a0b\u4f5c\u4e1a\u5219\u75315\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u7ec4\u6210\uff0c\u6bcf\u4e00\u6b21\u4f5c\u4e1a\u4e3b\u8981\u4e3a\u590d\u73b0\u7ecf\u5178\u6a21\u578b\u4ee5\u53ca\u8fdb\u884c\u6a21\u578b\u95f4\u7684\u5bf9\u6bd4\uff0c\u5076\u5c14\u4e5f\u5305\u542b\u4e00\u4e9b\u5bf9\u6700\u8fd1\u63d0\u51fa\u7684\u6a21\u578b\u7684\u590d\u73b0\uff0c\u6700\u540e\u9012\u4ea4\u4e00\u4efd\u62a5\u544a\u3002\u8003\u8651\u5230\u4f5c\u4e1a\u672c\u8eab\u5df2\u7ecf\u63d0\u4f9b\u4e86\u6846\u67b6\uff0c\u4e14\u90fd\u662f\u6839\u636e hint \u8fdb\u884c\u4ee3\u7801\u586b\u7a7a\uff0c\u56e0\u6b64\u4f5c\u4e1a\u96be\u5ea6\u5e76\u4e0d\u5927\u3002 \u603b\u7684\u6765\u8bf4\uff0c\u8be5\u8bfe\u7a0b\u9002\u5408\u65b0\u624b\u5165\u95e8\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u3002\u867d\u7136\u5b66\u5230\u540e\u9762\u8d8a\u6765\u8d8a\u611f\u89c9\u5230\u96be\uff0c\u4f46\u6574\u95e8\u8bfe\u4e0b\u6765\u4e2a\u4eba\u611f\u89c9\u8fd8\u662f\u6536\u83b7\u9887\u4e30\u3002 \uff08\u53e6\u5916 Levine \u6559\u6388\u4eba\u771f\u7684\u5f88 nice\uff09","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://rail.eecs.berkeley.edu/deeprlcourse/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/playlist?list=PL_iWQOsE6TfX7MaC6C3HcdOf1g337dlC9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://rail.eecs.berkeley.edu/deeprlcourse/ \uff0c5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/","text":"\u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\uff1a\u674e\u5b8f\u6bc5\u673a\u5668\u5b66\u4e60 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u570b\u7acb\u53f0\u7063\u5927\u5b78 \u5148\u4fee\u8981\u6c42\uff1a\u719f\u7ec3\u638c\u63e1 Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u674e\u5b8f\u6bc5\u8001\u5e08\u662f\u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\u7684\u6559\u6388\uff0c\u5176\u98ce\u8da3\u5e7d\u9ed8\u7684\u6388\u8bfe\u98ce\u683c\u6df1\u53d7\u5927\u5bb6\u559c\u7231\uff0c\u5e76\u4e14\u5c24\u5176\u559c\u6b22\u5728 PPT \u4e2d\u63d2\u5165\u5b9d\u53ef\u68a6\u7b49\u52a8\u6f2b\u5143\u7d20\uff0c\u662f\u4e2a\u975e\u5e38\u53ef\u7231\u7684\u8001\u5e08\u3002 \u8fd9\u95e8\u8bfe\u6302\u7740\u673a\u5668\u5b66\u4e60\u7684\u724c\u5b50\uff0c\u4f46\u5176\u8bfe\u7a0b\u5185\u5bb9\u4e4b\u5e7f\u5b9e\u5728\u4ee4\u4eba\u548b\u820c\uff0c\u5176\u4f5c\u4e1a\u4e00\u5171\u5305\u542b 15 \u4e2a lab\uff0c\u5206\u522b\u662f Regression\u3001Classification\u3001CNN\u3001Self-Attention\u3001Transformer\u3001GAN\u3001BERT\u3001Anomaly Detection\u3001Explainable AI\u3001Attack\u3001Adaptation\u3001 RL\u3001Compression\u3001Life-Long Learning \u4ee5\u53ca Meta Learning\u3002\u53ef\u8c13\u662f\u5305\u7f57\u4e07\u8c61\uff0c\u80fd\u8ba9\u5b66\u751f\u5bf9\u4e8e\u6df1\u5ea6\u5b66\u4e60\u7684\u7edd\u5927\u591a\u6570\u9886\u57df\u90fd\u6709\u4e00\u5b9a\u4e86\u89e3\uff0c\u4ece\u800c\u53ef\u4ee5\u8fdb\u4e00\u6b65\u9009\u62e9\u60f3\u8981\u6df1\u5165\u7684\u65b9\u5411\u8fdb\u884c\u5b66\u4e60\u3002 \u5927\u5bb6\u4e5f\u5927\u53ef\u4e0d\u5fc5\u62c5\u5fc3\u4f5c\u4e1a\u7684\u96be\u5ea6\uff0c\u56e0\u4e3a\u6240\u6709\u4f5c\u4e1a\u90fd\u4f1a\u63d0\u4f9b\u52a9\u6559\u7684\u793a\u4f8b\u4ee3\u7801\uff0c\u5e2e\u4f60\u5b8c\u6210\u6570\u636e\u5904\u7406\u3001\u6a21\u578b\u642d\u5efa\u7b49\uff0c\u4f60\u53ea\u9700\u8981\u5728\u5176\u57fa\u7840\u4e0a\u8fdb\u884c\u9002\u91cf\u7684\u4fee\u6539\u5373\u53ef\u3002\u8fd9\u4e5f\u662f\u4e00\u4e2a\u5b66\u4e60\u522b\u4eba\u4f18\u8d28\u4ee3\u7801\u7684\u6781\u597d\u673a\u4f1a\uff0c\u5927\u5bb6\u9700\u8981\u6c34\u8bfe\u7a0b\u5927\u4f5c\u4e1a\u7684\u8bdd\uff0c\u8fd9\u91cc\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u8d44\u6599\u6765\u6e90\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \u8bfe\u7a0b\u89c6\u9891\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \uff0c15 \u4e2a lab\uff0c\u51e0\u4e4e\u8986\u76d6\u4e86\u4e3b\u6d41\u6df1\u5ea6\u5b66\u4e60\u7684\u6240\u6709\u9886\u57df","title":"\u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\uff1a\u674e\u5b8f\u6bc5\u673a\u5668\u5b66\u4e60"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/#_1","text":"","title":"\u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\uff1a\u674e\u5b8f\u6bc5\u673a\u5668\u5b66\u4e60"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/#_2","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u570b\u7acb\u53f0\u7063\u5927\u5b78 \u5148\u4fee\u8981\u6c42\uff1a\u719f\u7ec3\u638c\u63e1 Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u674e\u5b8f\u6bc5\u8001\u5e08\u662f\u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\u7684\u6559\u6388\uff0c\u5176\u98ce\u8da3\u5e7d\u9ed8\u7684\u6388\u8bfe\u98ce\u683c\u6df1\u53d7\u5927\u5bb6\u559c\u7231\uff0c\u5e76\u4e14\u5c24\u5176\u559c\u6b22\u5728 PPT \u4e2d\u63d2\u5165\u5b9d\u53ef\u68a6\u7b49\u52a8\u6f2b\u5143\u7d20\uff0c\u662f\u4e2a\u975e\u5e38\u53ef\u7231\u7684\u8001\u5e08\u3002 \u8fd9\u95e8\u8bfe\u6302\u7740\u673a\u5668\u5b66\u4e60\u7684\u724c\u5b50\uff0c\u4f46\u5176\u8bfe\u7a0b\u5185\u5bb9\u4e4b\u5e7f\u5b9e\u5728\u4ee4\u4eba\u548b\u820c\uff0c\u5176\u4f5c\u4e1a\u4e00\u5171\u5305\u542b 15 \u4e2a lab\uff0c\u5206\u522b\u662f Regression\u3001Classification\u3001CNN\u3001Self-Attention\u3001Transformer\u3001GAN\u3001BERT\u3001Anomaly Detection\u3001Explainable AI\u3001Attack\u3001Adaptation\u3001 RL\u3001Compression\u3001Life-Long Learning \u4ee5\u53ca Meta Learning\u3002\u53ef\u8c13\u662f\u5305\u7f57\u4e07\u8c61\uff0c\u80fd\u8ba9\u5b66\u751f\u5bf9\u4e8e\u6df1\u5ea6\u5b66\u4e60\u7684\u7edd\u5927\u591a\u6570\u9886\u57df\u90fd\u6709\u4e00\u5b9a\u4e86\u89e3\uff0c\u4ece\u800c\u53ef\u4ee5\u8fdb\u4e00\u6b65\u9009\u62e9\u60f3\u8981\u6df1\u5165\u7684\u65b9\u5411\u8fdb\u884c\u5b66\u4e60\u3002 \u5927\u5bb6\u4e5f\u5927\u53ef\u4e0d\u5fc5\u62c5\u5fc3\u4f5c\u4e1a\u7684\u96be\u5ea6\uff0c\u56e0\u4e3a\u6240\u6709\u4f5c\u4e1a\u90fd\u4f1a\u63d0\u4f9b\u52a9\u6559\u7684\u793a\u4f8b\u4ee3\u7801\uff0c\u5e2e\u4f60\u5b8c\u6210\u6570\u636e\u5904\u7406\u3001\u6a21\u578b\u642d\u5efa\u7b49\uff0c\u4f60\u53ea\u9700\u8981\u5728\u5176\u57fa\u7840\u4e0a\u8fdb\u884c\u9002\u91cf\u7684\u4fee\u6539\u5373\u53ef\u3002\u8fd9\u4e5f\u662f\u4e00\u4e2a\u5b66\u4e60\u522b\u4eba\u4f18\u8d28\u4ee3\u7801\u7684\u6781\u597d\u673a\u4f1a\uff0c\u5927\u5bb6\u9700\u8981\u6c34\u8bfe\u7a0b\u5927\u4f5c\u4e1a\u7684\u8bdd\uff0c\u8fd9\u91cc\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u8d44\u6599\u6765\u6e90\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/#_3","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \u8bfe\u7a0b\u89c6\u9891\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \uff0c15 \u4e2a lab\uff0c\u51e0\u4e4e\u8986\u76d6\u4e86\u4e3b\u6d41\u6df1\u5ea6\u5b66\u4e60\u7684\u6240\u6709\u9886\u57df","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/","text":"UCB EE16A&B: Designing Information Devices and Systems I&II \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 UC Berkeley \u7535\u5b50\u7cfb\u5b66\u751f\u7684\u5927\u4e00\u5165\u95e8\u8bfe\uff0c\u901a\u8fc7\u7535\u8def\u57fa\u7840\u77e5\u8bc6\u7684\u8bb2\u6388\uff0c\u914d\u5408\u5404\u7c7b\u52a8\u624b\u5b9e\u64cd\u7684 lab\uff0c\u8ba9\u5b66\u751f\u4f53\u9a8c\u901a\u8fc7\u7535\u8def\u4ece\u73af\u5883\u4e2d\u6536\u96c6\u4fe1\u606f\u5e76\u8fdb\u884c\u5206\u6790\uff0c\u4f5c\u51fa\u9884\u6d4b\u548c\u53cd\u9988\u3002\u7531\u4e8e\u75ab\u60c5\u7684\u7f18\u6545\uff0c\u6240\u6709 lab \u90fd\u6709\u8fdc\u7a0b\u5728\u7ebf\u7248\uff0c\u975e\u5e38\u9002\u5408\u5927\u5bb6\u5728\u5bb6\u81ea\u5b66\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a EE16A , EE16B \u8bfe\u7a0b\u89c6\u9891\uff1aB \u7ad9\u641c\u7d22 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u4e3b\u9875 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/EE16A - GitHub \u4e2d\u3002","title":"EE16A&B: Designing Information Devices and Systems I&II"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#ucb-ee16ab-designing-information-devices-and-systems-iii","text":"","title":"UCB EE16A&B: Designing Information Devices and Systems I&II"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 UC Berkeley \u7535\u5b50\u7cfb\u5b66\u751f\u7684\u5927\u4e00\u5165\u95e8\u8bfe\uff0c\u901a\u8fc7\u7535\u8def\u57fa\u7840\u77e5\u8bc6\u7684\u8bb2\u6388\uff0c\u914d\u5408\u5404\u7c7b\u52a8\u624b\u5b9e\u64cd\u7684 lab\uff0c\u8ba9\u5b66\u751f\u4f53\u9a8c\u901a\u8fc7\u7535\u8def\u4ece\u73af\u5883\u4e2d\u6536\u96c6\u4fe1\u606f\u5e76\u8fdb\u884c\u5206\u6790\uff0c\u4f5c\u51fa\u9884\u6d4b\u548c\u53cd\u9988\u3002\u7531\u4e8e\u75ab\u60c5\u7684\u7f18\u6545\uff0c\u6240\u6709 lab \u90fd\u6709\u8fdc\u7a0b\u5728\u7ebf\u7248\uff0c\u975e\u5e38\u9002\u5408\u5927\u5bb6\u5728\u5bb6\u81ea\u5b66\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a EE16A , EE16B \u8bfe\u7a0b\u89c6\u9891\uff1aB \u7ad9\u641c\u7d22 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u4e3b\u9875","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/EE16A - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals_and_Systems_AVO/","text":"MIT 6.007 Signals and Systems \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra \u7f16\u7a0b\u8bed\u8a00\uff1aMatlab Preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 \u770b\u5230\u8bfe\u7a0b\u8001\u5e08\u7684\u540d\u5b57\uff1aProf. Alan V. Oppenheim \u597d\u7684\uff0c\u4e0a\u8fd9\u95e8\u8bfe\u7684\u7406\u7531\u5df2\u7ecf\u8db3\u591f\u4e86\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://ocw.mit.edu/resources/res-6-007-signals-and-systems-spring-2011/index.htm \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1CZ4y1j7hs \u8bfe\u7a0b\u6559\u6750\uff1aSignals and Systems, 2nd Edition \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://ocw.mit.edu/resources/res-6-007-signals-and-systems-spring-2011/assignments","title":"MIT 6.007 Signals and Systems"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals_and_Systems_AVO/#mit-6007-signals-and-systems","text":"","title":"MIT 6.007 Signals and Systems"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals_and_Systems_AVO/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra \u7f16\u7a0b\u8bed\u8a00\uff1aMatlab Preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 \u770b\u5230\u8bfe\u7a0b\u8001\u5e08\u7684\u540d\u5b57\uff1aProf. Alan V. Oppenheim \u597d\u7684\uff0c\u4e0a\u8fd9\u95e8\u8bfe\u7684\u7406\u7531\u5df2\u7ecf\u8db3\u591f\u4e86\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals_and_Systems_AVO/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://ocw.mit.edu/resources/res-6-007-signals-and-systems-spring-2011/index.htm \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1CZ4y1j7hs \u8bfe\u7a0b\u6559\u6750\uff1aSignals and Systems, 2nd Edition \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://ocw.mit.edu/resources/res-6-007-signals-and-systems-spring-2011/assignments","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/","text":"UCB EE120: Signal and Systems \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS70\uff0c\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u6700\u7cbe\u534e\u7684\u90e8\u5206\u5c31\u662f 6 \u4e2a\u8d85\u6709\u8da3\u7684\u7f16\u7a0b\u4f5c\u4e1a\u4e86\uff0c\u4f1a\u8ba9\u4f60\u7528 Python \u901a\u8fc7\u5b66\u4e60\u5230\u7684\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u7684\u7406\u8bba\u77e5\u8bc6\uff0c\u89e3\u51b3\u5404\u7c7b\u5b9e\u9645\u95ee\u9898\u3002\u4f8b\u5982 lab3 \u4f1a\u8ba9\u4f60\u5b9e\u73b0 FFT \u7b97\u6cd5\uff0c\u5e76\u548c Numpy \u7684\u5b98\u65b9\u5b9e\u73b0\u8fdb\u884c\u6027\u80fd\u5bf9\u6bd4\uff1blab4 \u4f1a\u901a\u8fc7\u5206\u6790\u624b\u6307\u5934\u7684\u5f71\u50cf\u6570\u636e\u63a8\u65ad\u5fc3\u7387\uff1blab5 \u5c31\u66f4\u725b\u4e86\uff0c\u4f1a\u8ba9\u4f60\u7ed9\u54c8\u52c3\u671b\u8fdc\u955c\u62cd\u5230\u7684\u7167\u7247\u8fdb\u884c\u964d\u566a\u5904\u7406\uff0c\u6062\u590d\u7eda\u70c2\u6e05\u6670\u7684\u661f\u7a7a\uff1blab6 \u4f1a\u8ba9\u4f60\u6784\u9020\u4e00\u4e2a\u53cd\u9988\u7cfb\u7edf\uff0c\u5e73\u8861\u5c0f\u8f66\u4e0a\u7684\u7ec6\u6746\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://inst.eecs.berkeley.edu/~ee120/fa19/ \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a5 \u4e2a\u4e66\u9762\u4f5c\u4e1a + 6 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/UCB-EE120 - GitHub \u4e2d\u3002","title":"UCB EE120 : Signal and Systems"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#ucb-ee120-signal-and-systems","text":"","title":"UCB EE120: Signal and Systems"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS70\uff0c\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u6700\u7cbe\u534e\u7684\u90e8\u5206\u5c31\u662f 6 \u4e2a\u8d85\u6709\u8da3\u7684\u7f16\u7a0b\u4f5c\u4e1a\u4e86\uff0c\u4f1a\u8ba9\u4f60\u7528 Python \u901a\u8fc7\u5b66\u4e60\u5230\u7684\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u7684\u7406\u8bba\u77e5\u8bc6\uff0c\u89e3\u51b3\u5404\u7c7b\u5b9e\u9645\u95ee\u9898\u3002\u4f8b\u5982 lab3 \u4f1a\u8ba9\u4f60\u5b9e\u73b0 FFT \u7b97\u6cd5\uff0c\u5e76\u548c Numpy \u7684\u5b98\u65b9\u5b9e\u73b0\u8fdb\u884c\u6027\u80fd\u5bf9\u6bd4\uff1blab4 \u4f1a\u901a\u8fc7\u5206\u6790\u624b\u6307\u5934\u7684\u5f71\u50cf\u6570\u636e\u63a8\u65ad\u5fc3\u7387\uff1blab5 \u5c31\u66f4\u725b\u4e86\uff0c\u4f1a\u8ba9\u4f60\u7ed9\u54c8\u52c3\u671b\u8fdc\u955c\u62cd\u5230\u7684\u7167\u7247\u8fdb\u884c\u964d\u566a\u5904\u7406\uff0c\u6062\u590d\u7eda\u70c2\u6e05\u6670\u7684\u661f\u7a7a\uff1blab6 \u4f1a\u8ba9\u4f60\u6784\u9020\u4e00\u4e2a\u53cd\u9988\u7cfb\u7edf\uff0c\u5e73\u8861\u5c0f\u8f66\u4e0a\u7684\u7ec6\u6746\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://inst.eecs.berkeley.edu/~ee120/fa19/ \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a5 \u4e2a\u4e66\u9762\u4f5c\u4e1a + 6 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/UCB-EE120 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%A8%8B%E5%BA%8F%E8%AF%AD%E8%A8%80%E8%AE%BE%E8%AE%A1/CS242/","text":"","title":"CS242"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/","text":"UCB CS161: Computer Security \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1aC, Go \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u8bfe\u7a0b\u5185\u5bb9\u5206\u4e3a5\u4e2a\u90e8\u5206\uff1a Security principles: how to design a secure system Memory safety: buffer overflow attack Cryptography: symmetric encryption, asymmetric encryption, MAC, digital signature ......... Web: SQL-injection, XSS, XSRF ....... Networking: attacks for each layer \u8fd9\u95e8\u8bfe\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\u7684\u90e8\u5206\u662f Project2\uff0c\u8ba9\u4f60\u7528 Go \u8bed\u8a00\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b89\u5168\u7684\u6587\u4ef6\u5206\u4eab\u7cfb\u7edf\u3002\u6211\u82b1\u4e86\u6574\u6574\u4e09\u5929\u624d\u5b8c\u6210\u4e86\u8fd9\u4e2a\u975e\u5e38\u8650\u7684 Project\uff0c\u603b\u4ee3\u7801\u91cf\u8d85\u8fc7 3k \u884c\u3002\u8fd9\u6837\u5bc6\u96c6\u578b\u7684\u5f00\u53d1\u8fc7\u7a0b\uff0c\u80fd\u6781\u5927\u5730\u953b\u70bc\u4f60\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b89\u5168\u7cfb\u7edf\u7684\u80fd\u529b\u3002 2020 \u5e74\u590f\u5b63\u5b66\u671f\u7684\u7248\u672c\u5f00\u6e90\u4e86\u8bfe\u7a0b\u5f55\u5f71\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728\u4e0b\u9762\u7684\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5\u91cc\u627e\u5230\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://su20.cs161.org/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a https://textbook.cs161.org/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 \u4e2a\u5728\u7ebf HW + 3 \u4e2a Lab + 3 \u4e2a Project \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/UCB-CS161 - GitHub \u4e2d\u3002","title":"UCB CS161: Computer Security"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/#ucb-cs161-computer-security","text":"","title":"UCB CS161: Computer Security"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1aC, Go \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u8bfe\u7a0b\u5185\u5bb9\u5206\u4e3a5\u4e2a\u90e8\u5206\uff1a Security principles: how to design a secure system Memory safety: buffer overflow attack Cryptography: symmetric encryption, asymmetric encryption, MAC, digital signature ......... Web: SQL-injection, XSS, XSRF ....... Networking: attacks for each layer \u8fd9\u95e8\u8bfe\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\u7684\u90e8\u5206\u662f Project2\uff0c\u8ba9\u4f60\u7528 Go \u8bed\u8a00\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b89\u5168\u7684\u6587\u4ef6\u5206\u4eab\u7cfb\u7edf\u3002\u6211\u82b1\u4e86\u6574\u6574\u4e09\u5929\u624d\u5b8c\u6210\u4e86\u8fd9\u4e2a\u975e\u5e38\u8650\u7684 Project\uff0c\u603b\u4ee3\u7801\u91cf\u8d85\u8fc7 3k \u884c\u3002\u8fd9\u6837\u5bc6\u96c6\u578b\u7684\u5f00\u53d1\u8fc7\u7a0b\uff0c\u80fd\u6781\u5927\u5730\u953b\u70bc\u4f60\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b89\u5168\u7cfb\u7edf\u7684\u80fd\u529b\u3002 2020 \u5e74\u590f\u5b63\u5b66\u671f\u7684\u7248\u672c\u5f00\u6e90\u4e86\u8bfe\u7a0b\u5f55\u5f71\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728\u4e0b\u9762\u7684\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5\u91cc\u627e\u5230\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://su20.cs161.org/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a https://textbook.cs161.org/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 \u4e2a\u5728\u7ebf HW + 3 \u4e2a Lab + 3 \u4e2a Project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/UCB-CS161 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/","text":"ASU CSE365: Introduction to Cybersecurity \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aArizona State University \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC, Python, x86 assembly \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66 Web \u5b89\u5168\u7684\u5bfc\u8bba\u8bfe\uff0c\u8bfe\u7a0b\u4ee5\u6a21\u5757\u5316\u7684\u5f62\u5f0f\u6784\u6210\uff0c\u4e3b\u8981\u5305\u542b\u4ee5\u4e0b\u65b9\u9762\uff1a Program Misuse: Linux commandline, privilege escalation Web fundamentals: http, server, intercept Assembly: registers, memory, control flow Cryptography: Symmetric/Asymmetric encryption, hashing, trust Web security: Command/HTML/SQL/Stack injection \u8bfe\u7a0b\u4ee5 Challenge \u4e3a\u4e3b\uff0cLectures and Reading \u4e3a\u8f85\u3002Challenge \u4e2d\u7684\u4e60\u9898\u4ee5 CTF \u7684\u5f62\u5f0f\u5c55\u5f00\uff0c\u96be\u5ea6\u4f9d\u6b21\u9012\u589e\u3002 \u5bf9\u4e8e\u57fa\u7840\u8f83\u5f31\u7684\u5b66\u4e60\u8005\uff0c\u5361\u5173\u662f\u6b63\u5e38\u73b0\u8c61\u3002\u5982\u679c\u5728\u89e3\u9898\u8fc7\u7a0b\u4e2d\u9047\u5230\u56f0\u96be\uff0c\u53ef\u4ee5\u5728\u9996\u9875 Chat \u680f\u76ee\u4e2d\u7ed9\u51fa\u7684 Discord Server \u5bfb\u6c42\u5e2e\u52a9\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://dojo.pwn.college/cse365/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 \u4e2a\u6a21\u5757\uff08167 \u4e2a challenge\uff09 \u8d44\u6e90\u6c47\u603b Lectures on YouTube: https://youtube.com/pwncollege Live Broadcasts on Twitch: https://twitch.tv/pwncollege Chat on Discord: https://pwn.college/discord Open Source on GitHub: https://github.com/pwncollege Contact us via Email: pwn-college@asu.edu \u53e6\u5916\uff0c\u51fa\u4e8e\u8bc4\u5b9a ASU \u5b66\u751f\u8bfe\u7a0b\u6210\u7ee9\u7684\u91cd\u8981\u56e0\u7d20\uff0c\u5b98\u65b9\u4e0d\u9f13\u52b1\u4e0a\u4f20\u89e3\u9898\u601d\u8def\uff0c\u6bcf\u4e2a\u6a21\u5757\u7684\u524d\u4e24\u9898\u9664\u5916\u3002","title":"ASU CSE365: Introduction to Cybersecurity"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/#asu-cse365-introduction-to-cybersecurity","text":"","title":"ASU CSE365: Introduction to Cybersecurity"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aArizona State University \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC, Python, x86 assembly \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66 Web \u5b89\u5168\u7684\u5bfc\u8bba\u8bfe\uff0c\u8bfe\u7a0b\u4ee5\u6a21\u5757\u5316\u7684\u5f62\u5f0f\u6784\u6210\uff0c\u4e3b\u8981\u5305\u542b\u4ee5\u4e0b\u65b9\u9762\uff1a Program Misuse: Linux commandline, privilege escalation Web fundamentals: http, server, intercept Assembly: registers, memory, control flow Cryptography: Symmetric/Asymmetric encryption, hashing, trust Web security: Command/HTML/SQL/Stack injection \u8bfe\u7a0b\u4ee5 Challenge \u4e3a\u4e3b\uff0cLectures and Reading \u4e3a\u8f85\u3002Challenge \u4e2d\u7684\u4e60\u9898\u4ee5 CTF \u7684\u5f62\u5f0f\u5c55\u5f00\uff0c\u96be\u5ea6\u4f9d\u6b21\u9012\u589e\u3002 \u5bf9\u4e8e\u57fa\u7840\u8f83\u5f31\u7684\u5b66\u4e60\u8005\uff0c\u5361\u5173\u662f\u6b63\u5e38\u73b0\u8c61\u3002\u5982\u679c\u5728\u89e3\u9898\u8fc7\u7a0b\u4e2d\u9047\u5230\u56f0\u96be\uff0c\u53ef\u4ee5\u5728\u9996\u9875 Chat \u680f\u76ee\u4e2d\u7ed9\u51fa\u7684 Discord Server \u5bfb\u6c42\u5e2e\u52a9\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://dojo.pwn.college/cse365/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 \u4e2a\u6a21\u5757\uff08167 \u4e2a challenge\uff09","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/#_3","text":"Lectures on YouTube: https://youtube.com/pwncollege Live Broadcasts on Twitch: https://twitch.tv/pwncollege Chat on Discord: https://pwn.college/discord Open Source on GitHub: https://github.com/pwncollege Contact us via Email: pwn-college@asu.edu \u53e6\u5916\uff0c\u51fa\u4e8e\u8bc4\u5b9a ASU \u5b66\u751f\u8bfe\u7a0b\u6210\u7ee9\u7684\u91cd\u8981\u56e0\u7d20\uff0c\u5b98\u65b9\u4e0d\u9f13\u52b1\u4e0a\u4f20\u89e3\u9898\u601d\u8def\uff0c\u6bcf\u4e2a\u6a21\u5757\u7684\u524d\u4e24\u9898\u9664\u5916\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/","text":"ASU CSE466: Computer Systems Security \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aArizona State University \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC, Python, x86 assembly \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66\u7cfb\u7edf\u5b89\u5168\u7684\u6838\u5fc3\u8bfe\uff0c\u8bfe\u7a0b\u4ee5\u6a21\u5757\u5316\u7684\u5f62\u5f0f\u6784\u6210\uff0c\u4e3b\u8981\u5305\u542b\u4ee5\u4e0b\u65b9\u9762\uff1a Linux commandline: Program misuse, program interaction Shellcoding: Assembly, shellcode injection, prevention Reverse Engineering: Function frame, static/dynamic reversing tools Program Exploitation: Hijacking to shellcode, JIT spray System Exploitation: Kernel modules, privilege escalation Miscellaneous: Sandboxing, Memory Errors, Race conditions \u4e0e CSE365 \u76f8\u540c\uff0c\u8bfe\u7a0b\u4ee5 Challenge \u4e3a\u4e3b\uff0cLectures and Reading \u4e3a\u8f85\u3002Challenge \u4e2d\u7684\u4e60\u9898\u4ee5 CTF \u7684\u5f62\u5f0f\u5c55\u5f00\uff0c\u96be\u5ea6\u4f9d\u6b21\u9012\u589e\u3002 \u4e60\u9898\u8d28\u91cf\u633a\u9ad8\u7684\uff0c\u4f46\u67d0\u4e9b\u6a21\u5757\u96be\u5ea6\u8f83\u5927\uff0c\u5c24\u5176\u662f\u6d89\u53ca\u5230\u5185\u6838\u7684\u90e8\u5206\uff0c\u6709\u7684\u65f6\u5019\u4e00\u5929\u90fd\u5199\u4e0d\u51fa\u4e00\u9053\u9898\u3002\u5982\u679c\u5728\u89e3\u9898\u8fc7\u7a0b\u4e2d\u9047\u5230\u56f0\u96be\uff0c\u53ef\u4ee5\u5728\u9996\u9875 Chat \u680f\u76ee\u4e2d\u7ed9\u51fa\u7684 Discord Server \u5bfb\u6c42\u5e2e\u52a9\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://dojo.pwn.college/cse466/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a13 \u4e2a\u6a21\u5757\uff08358 \u4e2a challenge\uff09 \u8d44\u6e90\u6c47\u603b Lectures on YouTube: https://youtube.com/pwncollege Live Broadcasts on Twitch: https://twitch.tv/pwncollege Chat on Discord: https://pwn.college/discord Open Source on GitHub: https://github.com/pwncollege Contact us via Email: pwn-college@asu.edu \u53e6\u5916\uff0c\u51fa\u4e8e\u8bc4\u5b9a ASU \u5b66\u751f\u8bfe\u7a0b\u6210\u7ee9\u7684\u91cd\u8981\u56e0\u7d20\uff0c\u5b98\u65b9\u4e0d\u9f13\u52b1\u4e0a\u4f20\u89e3\u9898\u601d\u8def\uff0c\u6bcf\u4e2a\u6a21\u5757\u7684\u524d\u4e24\u9898\u4e0e\u9006\u5411\u90e8\u5206\u7684 16 \u9898\u9664\u5916\u3002","title":"ASU CSE466: Computer Systems Security"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/#asu-cse466-computer-systems-security","text":"","title":"ASU CSE466: Computer Systems Security"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aArizona State University \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC, Python, x86 assembly \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66\u7cfb\u7edf\u5b89\u5168\u7684\u6838\u5fc3\u8bfe\uff0c\u8bfe\u7a0b\u4ee5\u6a21\u5757\u5316\u7684\u5f62\u5f0f\u6784\u6210\uff0c\u4e3b\u8981\u5305\u542b\u4ee5\u4e0b\u65b9\u9762\uff1a Linux commandline: Program misuse, program interaction Shellcoding: Assembly, shellcode injection, prevention Reverse Engineering: Function frame, static/dynamic reversing tools Program Exploitation: Hijacking to shellcode, JIT spray System Exploitation: Kernel modules, privilege escalation Miscellaneous: Sandboxing, Memory Errors, Race conditions \u4e0e CSE365 \u76f8\u540c\uff0c\u8bfe\u7a0b\u4ee5 Challenge \u4e3a\u4e3b\uff0cLectures and Reading \u4e3a\u8f85\u3002Challenge \u4e2d\u7684\u4e60\u9898\u4ee5 CTF \u7684\u5f62\u5f0f\u5c55\u5f00\uff0c\u96be\u5ea6\u4f9d\u6b21\u9012\u589e\u3002 \u4e60\u9898\u8d28\u91cf\u633a\u9ad8\u7684\uff0c\u4f46\u67d0\u4e9b\u6a21\u5757\u96be\u5ea6\u8f83\u5927\uff0c\u5c24\u5176\u662f\u6d89\u53ca\u5230\u5185\u6838\u7684\u90e8\u5206\uff0c\u6709\u7684\u65f6\u5019\u4e00\u5929\u90fd\u5199\u4e0d\u51fa\u4e00\u9053\u9898\u3002\u5982\u679c\u5728\u89e3\u9898\u8fc7\u7a0b\u4e2d\u9047\u5230\u56f0\u96be\uff0c\u53ef\u4ee5\u5728\u9996\u9875 Chat \u680f\u76ee\u4e2d\u7ed9\u51fa\u7684 Discord Server \u5bfb\u6c42\u5e2e\u52a9\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://dojo.pwn.college/cse466/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a13 \u4e2a\u6a21\u5757\uff08358 \u4e2a challenge\uff09","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/#_3","text":"Lectures on YouTube: https://youtube.com/pwncollege Live Broadcasts on Twitch: https://twitch.tv/pwncollege Chat on Discord: https://pwn.college/discord Open Source on GitHub: https://github.com/pwncollege Contact us via Email: pwn-college@asu.edu \u53e6\u5916\uff0c\u51fa\u4e8e\u8bc4\u5b9a ASU \u5b66\u751f\u8bfe\u7a0b\u6210\u7ee9\u7684\u91cd\u8981\u56e0\u7d20\uff0c\u5b98\u65b9\u4e0d\u9f13\u52b1\u4e0a\u4f20\u89e3\u9898\u601d\u8def\uff0c\u6bcf\u4e2a\u6a21\u5757\u7684\u524d\u4e24\u9898\u4e0e\u9006\u5411\u90e8\u5206\u7684 16 \u9898\u9664\u5916\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/","text":"MIT 6.858: Computer System Security \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u521d\u6b65\u4e86\u89e3 \u7f16\u7a0b\u8bed\u8a00\uff1aC, Python \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 MIT \u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u5b9e\u9a8c\u73af\u5883\u662f\u4e00\u4e2a Web Application Zoobar\u3002\u5b66\u751f\u5b66\u4e60\u653b\u9632\u6280\u672f\u5e76\u5e94\u7528\u4e8e\u8be5 Web Application\u3002 Lab 1: you will explore the zoobar web application, and use buffer overflow attacks to break its security properties. Lab 2: you will improve the zoobar web application by using privilege separation, so that if one component is compromised, the adversary doesn't get control over the whole web application. Lab 3: you will build a program analysis tool based on symbolic execution to find bugs in Python code such as the zoobar web application. Lab 4: you will improve the zoobar application against browser attacks. \u8fd9\u4e2a\u8bfe\u6211\u4e3b\u8981\u662f\u505a\u4e86 Lab 3\u3002Lab 3 \u662f\u901a\u8fc7\u6df7\u5408\u7b26\u53f7\u6267\u884c\u6765\u904d\u5386\u7a0b\u5e8f\u7684\u6240\u6709\u5206\u652f\uff0c\u7406\u89e3\u4e86\u7b26\u53f7\u6267\u884c\u7684\u601d\u60f3\u540e Lab \u5e76\u4e0d\u96be\u505a\u3002\u8fd9\u4e2a Lab \u76f4\u89c2\u5c55\u793a\u7b26\u53f7\u6267\u884c\u8fd9\u79cd\u6280\u672f\u7684\u4f7f\u7528\u65b9\u6cd5\u3002 \u8fd9\u4e2a\u8bfe\u7684 Final Project \u662f\u5b9e\u73b0 SecFS \uff0c\u4e00\u4e2a\u8fdc\u7aef\u6587\u4ef6\u7cfb\u7edf\uff0c\u9762\u5bf9\u5b8c\u5168\u4e0d\u53ef\u4fe1\u7684\u670d\u52a1\u5668\uff0c\u63d0\u4f9b\u673a\u5bc6\u6027\u548c\u5b8c\u6574\u6027\u3002\u53c2\u8003\u8bba\u6587\u4e3a SUNDR \u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://css.csail.mit.edu/6.858/2022/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 \u4e2a Lab + Final Project / Lab5","title":"MIT 6.858: Computer System Security"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/#mit-6858-computer-system-security","text":"","title":"MIT 6.858: Computer System Security"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u521d\u6b65\u4e86\u89e3 \u7f16\u7a0b\u8bed\u8a00\uff1aC, Python \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 MIT \u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u5b9e\u9a8c\u73af\u5883\u662f\u4e00\u4e2a Web Application Zoobar\u3002\u5b66\u751f\u5b66\u4e60\u653b\u9632\u6280\u672f\u5e76\u5e94\u7528\u4e8e\u8be5 Web Application\u3002 Lab 1: you will explore the zoobar web application, and use buffer overflow attacks to break its security properties. Lab 2: you will improve the zoobar web application by using privilege separation, so that if one component is compromised, the adversary doesn't get control over the whole web application. Lab 3: you will build a program analysis tool based on symbolic execution to find bugs in Python code such as the zoobar web application. Lab 4: you will improve the zoobar application against browser attacks. \u8fd9\u4e2a\u8bfe\u6211\u4e3b\u8981\u662f\u505a\u4e86 Lab 3\u3002Lab 3 \u662f\u901a\u8fc7\u6df7\u5408\u7b26\u53f7\u6267\u884c\u6765\u904d\u5386\u7a0b\u5e8f\u7684\u6240\u6709\u5206\u652f\uff0c\u7406\u89e3\u4e86\u7b26\u53f7\u6267\u884c\u7684\u601d\u60f3\u540e Lab \u5e76\u4e0d\u96be\u505a\u3002\u8fd9\u4e2a Lab \u76f4\u89c2\u5c55\u793a\u7b26\u53f7\u6267\u884c\u8fd9\u79cd\u6280\u672f\u7684\u4f7f\u7528\u65b9\u6cd5\u3002 \u8fd9\u4e2a\u8bfe\u7684 Final Project \u662f\u5b9e\u73b0 SecFS \uff0c\u4e00\u4e2a\u8fdc\u7aef\u6587\u4ef6\u7cfb\u7edf\uff0c\u9762\u5bf9\u5b8c\u5168\u4e0d\u53ef\u4fe1\u7684\u670d\u52a1\u5668\uff0c\u63d0\u4f9b\u673a\u5bc6\u6027\u548c\u5b8c\u6574\u6027\u3002\u53c2\u8003\u8bba\u6587\u4e3a SUNDR \u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://css.csail.mit.edu/6.858/2022/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 \u4e2a Lab + Final Project / Lab5","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/AUT1400/","text":"Amirkabir University of Technology 1400-2: Advanced Programming Course \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aAmirkabir University of Technology \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u65e0\u610f\u4e2d\u53d1\u73b0\u7684\u4e00\u4e2a C++ \u8bfe\u7a0b\u3002\u8bfe\u7a0b\u7684 homework \u8d28\u91cf\u5f88\u9ad8\uff0c\u6bcf\u4e2a homework \u76f8\u4e92\u72ec\u7acb\u7ed3\u6784\u7b80\u5355\uff0c\u4e14\u6709\u5b8c\u5584\u7684\u5355\u5143\u6d4b\u8bd5\uff0c\u975e\u5e38\u9002\u5408\u7528\u6765\u5b66\u4e60 C++ \u7684\u7f16\u7a0b\u3002\u672c\u8bfe\u7a0b\u5171 7 \u4e2a homework\uff0c\u5982\u4e0b\u6240\u793a\uff1a \u5b9e\u73b0\u4e00\u4e2a Matrix \u7c7b\u4ee5\u53ca\u76f8\u5173\u51fd\u6570\u3002 \u5b9e\u73b0\u4e00\u4e2a\u6a21\u62df\u52a0\u5bc6\u8d27\u5e01\u5ba2\u6237\u7aef/\u670d\u52a1\u7aef\u6267\u884c\u8fc7\u7a0b\u7684\u7a0b\u5e8f\u3002 \u5b9e\u73b0\u4e00\u4e2a Binary Search Tree (BST)\u3002 \u5b9e\u73b0 C++ \u4e2d\u7684 SharedPtr \u548c UniquePtr \u667a\u80fd\u6307\u9488\u3002 \u4f7f\u7528\u7ee7\u627f\u548c\u591a\u6001\u5b9e\u73b0\u591a\u4e2a\u7c7b\u3002 \u4f7f\u7528 STL \u5e93\u89e3\u51b3 4 \u4e2a\u95ee\u9898\u3002 \u662f\u4e2a python \u9879\u76ee\uff0c\u6709\u5174\u8da3\u7684\u53ef\u4ee5\u770b\u770b\u3002 \u6ca1\u627e\u5230\u8bfe\u7a0b\u7684\u4e3b\u9875\uff0c\u53ea\u6709\u5728 github \u6709 homework \u7684\u6e90\u7801\uff08\u540d\u5b57\u4e3a AP1400-2-HW \u7684\u90a3\u51e0\u4e2a\uff09\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a\u65e0 \u8bfe\u7a0b\u4ee3\u7801\uff1a https://github.com/courseworks \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 homework","title":"AmirKabir University of Technology AP1400-2: Advanced Programming"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/AUT1400/#amirkabir-university-of-technology-1400-2-advanced-programming-course","text":"","title":"Amirkabir University of Technology 1400-2: Advanced Programming Course"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/AUT1400/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aAmirkabir University of Technology \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u65e0\u610f\u4e2d\u53d1\u73b0\u7684\u4e00\u4e2a C++ \u8bfe\u7a0b\u3002\u8bfe\u7a0b\u7684 homework \u8d28\u91cf\u5f88\u9ad8\uff0c\u6bcf\u4e2a homework \u76f8\u4e92\u72ec\u7acb\u7ed3\u6784\u7b80\u5355\uff0c\u4e14\u6709\u5b8c\u5584\u7684\u5355\u5143\u6d4b\u8bd5\uff0c\u975e\u5e38\u9002\u5408\u7528\u6765\u5b66\u4e60 C++ \u7684\u7f16\u7a0b\u3002\u672c\u8bfe\u7a0b\u5171 7 \u4e2a homework\uff0c\u5982\u4e0b\u6240\u793a\uff1a \u5b9e\u73b0\u4e00\u4e2a Matrix \u7c7b\u4ee5\u53ca\u76f8\u5173\u51fd\u6570\u3002 \u5b9e\u73b0\u4e00\u4e2a\u6a21\u62df\u52a0\u5bc6\u8d27\u5e01\u5ba2\u6237\u7aef/\u670d\u52a1\u7aef\u6267\u884c\u8fc7\u7a0b\u7684\u7a0b\u5e8f\u3002 \u5b9e\u73b0\u4e00\u4e2a Binary Search Tree (BST)\u3002 \u5b9e\u73b0 C++ \u4e2d\u7684 SharedPtr \u548c UniquePtr \u667a\u80fd\u6307\u9488\u3002 \u4f7f\u7528\u7ee7\u627f\u548c\u591a\u6001\u5b9e\u73b0\u591a\u4e2a\u7c7b\u3002 \u4f7f\u7528 STL \u5e93\u89e3\u51b3 4 \u4e2a\u95ee\u9898\u3002 \u662f\u4e2a python \u9879\u76ee\uff0c\u6709\u5174\u8da3\u7684\u53ef\u4ee5\u770b\u770b\u3002 \u6ca1\u627e\u5230\u8bfe\u7a0b\u7684\u4e3b\u9875\uff0c\u53ea\u6709\u5728 github \u6709 homework \u7684\u6e90\u7801\uff08\u540d\u5b57\u4e3a AP1400-2-HW \u7684\u90a3\u51e0\u4e2a\uff09\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/AUT1400/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a\u65e0 \u8bfe\u7a0b\u4ee3\u7801\uff1a https://github.com/courseworks \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 homework","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106B_CS106X/","text":"Stanford CS106B/X: Programming Abstractions in C++ \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u57fa\u7840 (CS50/CS106A/CS61A or equivalent) \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 Stanford \u7684\u8fdb\u9636\u7f16\u7a0b\u8bfe\uff0cCS106X \u5728\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u4f1a\u6bd4 CS106B \u6709\u6240\u63d0\u9ad8\uff0c\u4f46\u4e3b\u4f53\u5185\u5bb9\u7c7b\u4f3c\u3002\u4e3b\u8981\u901a\u8fc7 C++ \u8bed\u8a00\u8ba9\u5b66\u751f\u5728\u5b9e\u9645\u7684\u7f16\u7a0b\u4f5c\u4e1a\u91cc\u57f9\u517b\u901a\u8fc7\u7f16\u7a0b\u62bd\u8c61\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u7684\u80fd\u529b\uff0c\u540c\u65f6\u4e5f\u4f1a\u6d89\u53ca\u4e00\u4e9b\u7b80\u5355\u7684\u6570\u636e\u7ed3\u6784\u548c\u7b97\u6cd5\u7684\u77e5\u8bc6\uff0c\u4f46\u603b\u4f53\u6765\u8bf4\u6ca1\u6709\u4e00\u95e8\u4e13\u95e8\u7684\u6570\u636e\u7ed3\u6784\u8bfe\u90a3\u4e48\u7cfb\u7edf\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a CS106B , CS106X \u8bfe\u7a0b\u6559\u6750\uff1a https://web.stanford.edu/class/cs106x/res/reader/CS106BX-Reader.pdf \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1G7411k7jG","title":"Stanford CS106B/X"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106B_CS106X/#stanford-cs106bx-programming-abstractions-in-c","text":"","title":"Stanford CS106B/X: Programming Abstractions in C++"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106B_CS106X/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u57fa\u7840 (CS50/CS106A/CS61A or equivalent) \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 Stanford \u7684\u8fdb\u9636\u7f16\u7a0b\u8bfe\uff0cCS106X \u5728\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u4f1a\u6bd4 CS106B \u6709\u6240\u63d0\u9ad8\uff0c\u4f46\u4e3b\u4f53\u5185\u5bb9\u7c7b\u4f3c\u3002\u4e3b\u8981\u901a\u8fc7 C++ \u8bed\u8a00\u8ba9\u5b66\u751f\u5728\u5b9e\u9645\u7684\u7f16\u7a0b\u4f5c\u4e1a\u91cc\u57f9\u517b\u901a\u8fc7\u7f16\u7a0b\u62bd\u8c61\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u7684\u80fd\u529b\uff0c\u540c\u65f6\u4e5f\u4f1a\u6d89\u53ca\u4e00\u4e9b\u7b80\u5355\u7684\u6570\u636e\u7ed3\u6784\u548c\u7b97\u6cd5\u7684\u77e5\u8bc6\uff0c\u4f46\u603b\u4f53\u6765\u8bf4\u6ca1\u6709\u4e00\u95e8\u4e13\u95e8\u7684\u6570\u636e\u7ed3\u6784\u8bfe\u90a3\u4e48\u7cfb\u7edf\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106B_CS106X/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a CS106B , CS106X \u8bfe\u7a0b\u6559\u6750\uff1a https://web.stanford.edu/class/cs106x/res/reader/CS106BX-Reader.pdf \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1G7411k7jG","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/","text":"CS106L: Standard C++ Programming \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6700\u597d\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a20 \u5c0f\u65f6 \u6211\u4ece\u5927\u4e00\u5f00\u59cb\u4e00\u76f4\u90fd\u662f\u5199\u7684 C++ \u4ee3\u7801\uff0c\u76f4\u5230\u5b66\u5b8c\u8fd9\u95e8\u8bfe\u6211\u624d\u610f\u8bc6\u5230\uff0c\u6211\u5199\u7684 C++ \u4ee3\u7801\u5927\u6982\u53ea\u662f C \u8bed\u8a00 + cin / cout \u800c\u5df2\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u6df1\u5165\u5230\u5f88\u591a\u6807\u51c6 C++ \u7684\u7279\u6027\u548c\u8bed\u6cd5\uff0c\u8ba9\u4f60\u7f16\u5199\u51fa\u9ad8\u8d28\u91cf\u7684 C++ \u4ee3\u7801\u3002\u4f8b\u5982 auto binding, uniform initialization, lambda function, move semantics\uff0cRAII \u7b49\u6280\u5de7\u90fd\u5728\u6211\u6b64\u540e\u7684\u4ee3\u7801\u751f\u6daf\u4e2d\u88ab\u53cd\u590d\u7528\u5230\uff0c\u975e\u5e38\u5b9e\u7528\u3002 \u503c\u5f97\u4e00\u63d0\u7684\u662f\uff0c\u8fd9\u95e8\u8bfe\u7684\u4f5c\u4e1a\u91cc\u4f60\u4f1a\u5b9e\u73b0\u4e00\u4e2a HashMap\uff08\u7c7b\u4f3c\u4e8e STL \u4e2d\u7684 unordered_map ), \u8fd9\u4e2a\u4f5c\u4e1a\u51e0\u4e4e\u628a\u6574\u4e2a\u8bfe\u7a0b\u4e32\u8054\u4e86\u8d77\u6765\uff0c\u975e\u5e38\u8003\u9a8c\u4ee3\u7801\u80fd\u529b\u3002\u7279\u522b\u662f iterator \u7684\u5b9e\u73b0\uff0c\u505a\u5b8c\u8fd9\u4e2a\u4f5c\u4e1a\u6211\u5f00\u59cb\u7406\u89e3\u4e3a\u4ec0\u4e48 Linus \u5bf9 C/C++ \u55e4\u4e4b\u4ee5\u9f3b\u4e86\uff0c\u56e0\u4e3a\u771f\u7684\u5f88\u96be\u5199\u5bf9\u3002 \u603b\u7684\u6765\u8bb2\u8fd9\u95e8\u8bfe\u5e76\u4e0d\u96be\uff0c\u4f46\u662f\u4fe1\u606f\u91cf\u5f88\u5927\uff0c\u9700\u8981\u4f60\u5728\u4e4b\u540e\u7684\u5f00\u53d1\u5b9e\u8df5\u4e2d\u53cd\u590d\u5de9\u56fa\u3002Stanford \u4e4b\u6240\u4ee5\u5355\u5f00\u4e00\u95e8 C++ \u7684\u7f16\u7a0b\u8bfe\uff0c\u662f\u56e0\u4e3a\u5b83\u540e\u7eed\u7684\u5f88\u591a CS \u8bfe\u7a0b Project \u90fd\u662f\u57fa\u4e8e C++\u7684\u3002\u4f8b\u5982 CS144 \u8ba1\u7b97\u673a\u7f51\u7edc\u548c CS143 \u7f16\u8bd1\u5668\u3002\u8fd9\u4e24\u95e8\u8bfe\u5728\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs106l/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/channel/UCSqr6y-eaQT_qZJVUm_4QxQ/playlists \u8bfe\u7a0b\u6559\u6750\uff1a http://web.stanford.edu/class/cs106l/full_course_reader.pdf Assignment1\u4e0b\u8f7d\u7f51\u5740\uff1a https://github.com/snme/cs106L-assignment1 Assignment2\u4e0b\u8f7d\u7f51\u5740\uff1a https://github.com/snme/cs106L-assignment2 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5177\u4f53\u5185\u5bb9\u89c1\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u6211\u505a\u7684\u65f6\u5019\u4e00\u5171\u662f\u4e24\u4e2a\uff1a \u5b9e\u73b0\u4e00\u4e2a WikiRacer \u7684\u5c0f\u6e38\u620f \u5b9e\u73b0\u4e00\u4e2a\u7c7b\u4f3c STL \u5e93\u7684 HashMap \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS106L - GitHub \u4e2d\u3002","title":"Stanford CS106L: Standard C++ Programming"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#cs106l-standard-c-programming","text":"","title":"CS106L: Standard C++ Programming"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6700\u597d\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a20 \u5c0f\u65f6 \u6211\u4ece\u5927\u4e00\u5f00\u59cb\u4e00\u76f4\u90fd\u662f\u5199\u7684 C++ \u4ee3\u7801\uff0c\u76f4\u5230\u5b66\u5b8c\u8fd9\u95e8\u8bfe\u6211\u624d\u610f\u8bc6\u5230\uff0c\u6211\u5199\u7684 C++ \u4ee3\u7801\u5927\u6982\u53ea\u662f C \u8bed\u8a00 + cin / cout \u800c\u5df2\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u6df1\u5165\u5230\u5f88\u591a\u6807\u51c6 C++ \u7684\u7279\u6027\u548c\u8bed\u6cd5\uff0c\u8ba9\u4f60\u7f16\u5199\u51fa\u9ad8\u8d28\u91cf\u7684 C++ \u4ee3\u7801\u3002\u4f8b\u5982 auto binding, uniform initialization, lambda function, move semantics\uff0cRAII \u7b49\u6280\u5de7\u90fd\u5728\u6211\u6b64\u540e\u7684\u4ee3\u7801\u751f\u6daf\u4e2d\u88ab\u53cd\u590d\u7528\u5230\uff0c\u975e\u5e38\u5b9e\u7528\u3002 \u503c\u5f97\u4e00\u63d0\u7684\u662f\uff0c\u8fd9\u95e8\u8bfe\u7684\u4f5c\u4e1a\u91cc\u4f60\u4f1a\u5b9e\u73b0\u4e00\u4e2a HashMap\uff08\u7c7b\u4f3c\u4e8e STL \u4e2d\u7684 unordered_map ), \u8fd9\u4e2a\u4f5c\u4e1a\u51e0\u4e4e\u628a\u6574\u4e2a\u8bfe\u7a0b\u4e32\u8054\u4e86\u8d77\u6765\uff0c\u975e\u5e38\u8003\u9a8c\u4ee3\u7801\u80fd\u529b\u3002\u7279\u522b\u662f iterator \u7684\u5b9e\u73b0\uff0c\u505a\u5b8c\u8fd9\u4e2a\u4f5c\u4e1a\u6211\u5f00\u59cb\u7406\u89e3\u4e3a\u4ec0\u4e48 Linus \u5bf9 C/C++ \u55e4\u4e4b\u4ee5\u9f3b\u4e86\uff0c\u56e0\u4e3a\u771f\u7684\u5f88\u96be\u5199\u5bf9\u3002 \u603b\u7684\u6765\u8bb2\u8fd9\u95e8\u8bfe\u5e76\u4e0d\u96be\uff0c\u4f46\u662f\u4fe1\u606f\u91cf\u5f88\u5927\uff0c\u9700\u8981\u4f60\u5728\u4e4b\u540e\u7684\u5f00\u53d1\u5b9e\u8df5\u4e2d\u53cd\u590d\u5de9\u56fa\u3002Stanford \u4e4b\u6240\u4ee5\u5355\u5f00\u4e00\u95e8 C++ \u7684\u7f16\u7a0b\u8bfe\uff0c\u662f\u56e0\u4e3a\u5b83\u540e\u7eed\u7684\u5f88\u591a CS \u8bfe\u7a0b Project \u90fd\u662f\u57fa\u4e8e C++\u7684\u3002\u4f8b\u5982 CS144 \u8ba1\u7b97\u673a\u7f51\u7edc\u548c CS143 \u7f16\u8bd1\u5668\u3002\u8fd9\u4e24\u95e8\u8bfe\u5728\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs106l/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/channel/UCSqr6y-eaQT_qZJVUm_4QxQ/playlists \u8bfe\u7a0b\u6559\u6750\uff1a http://web.stanford.edu/class/cs106l/full_course_reader.pdf Assignment1\u4e0b\u8f7d\u7f51\u5740\uff1a https://github.com/snme/cs106L-assignment1 Assignment2\u4e0b\u8f7d\u7f51\u5740\uff1a https://github.com/snme/cs106L-assignment2 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5177\u4f53\u5185\u5bb9\u89c1\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u6211\u505a\u7684\u65f6\u5019\u4e00\u5171\u662f\u4e24\u4e2a\uff1a \u5b9e\u73b0\u4e00\u4e2a WikiRacer \u7684\u5c0f\u6e38\u620f \u5b9e\u73b0\u4e00\u4e2a\u7c7b\u4f3c STL \u5e93\u7684 HashMap","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS106L - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/","text":"CS110L: Safety in Systems Programming \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6700\u597d\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u80cc\u666f\u5e76\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u521d\u6b65\u7684\u8ba4\u8bc6\u3002 \u7f16\u7a0b\u8bed\u8a00\uff1aRust \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30 \u5c0f\u65f6 \u5728\u8fd9\u95e8\u8bfe\u4e2d\u4f60\u5c06\u4f1a\u5b66\u4e60 Rust \u8fd9\u95e8\u795e\u5947\u7684\u8bed\u8a00\u3002 \u5982\u679c\u4f60\u5b66\u8fc7 C \u5e76\u63a5\u89e6\u8fc7\u4e00\u4e9b\u7cfb\u7edf\u7f16\u7a0b\u7684\u8bdd\uff0c\u5e94\u8be5\u5bf9 C \u7684\u5185\u5b58\u6cc4\u6f0f\u4ee5\u53ca\u6307\u9488\u7684\u5371\u9669\u6709\u6240\u8033\u95fb\uff0c\u4f46 C \u7684\u5e95\u5c42\u7279\u6027\u4ee5\u53ca\u9ad8\u6548\u4ecd\u7136\u8ba9\u5b83\u5728\u7cfb\u7edf\u7ea7\u7f16\u7a0b\u4e2d\u65e0\u6cd5\u88ab\u4f8b\u5982 Java \u7b49\u81ea\u5e26\u5783\u573e\u6536\u96c6\u673a\u5236\u7684\u9ad8\u7ea7\u8bed\u8a00\u6240\u66ff\u4ee3\u3002\u800c Rust \u7684\u76ee\u6807\u5219\u662f\u5e0c\u671b\u5728 C \u7684\u9ad8\u6548\u57fa\u7840\u4e0a\uff0c\u5f25\u8865\u5176\u5b89\u5168\u4e0d\u8db3\u7684\u7f3a\u70b9\u3002\u56e0\u6b64 Rust \u5728\u8bbe\u8ba1\u4e4b\u521d\uff0c\u5c31\u6709\u5e26\u6709\u5f88\u591a\u7cfb\u7edf\u7f16\u7a0b\u7684\u89c2\u70b9\u3002\u5b66\u4e60 Rust\uff0c\u4e5f\u80fd\u8ba9\u4f60\u4e4b\u540e\u80fd\u7528 C \u8bed\u8a00\u7f16\u5199\u51fa\u66f4\u5b89\u5168\u66f4\u4f18\u96c5\u7684\u7cfb\u7edf\u7ea7\u4ee3\u7801\uff08\u4f8b\u5982\u64cd\u4f5c\u7cfb\u7edf\u7b49\uff09\u3002 \u8fd9\u95e8\u8bfe\u7684\u540e\u534a\u90e8\u5206\u5173\u6ce8\u5728\u5e76\u53d1\uff08concurrency\uff09\u8fd9\u4e00\u4e3b\u9898\u4e0a\uff0c\u4f60\u5c06\u4f1a\u7cfb\u7edf\u5730\u638c\u63e1\u591a\u8fdb\u7a0b\u3001\u591a\u7ebf\u7a0b\u3001\u57fa\u4e8e\u4e8b\u4ef6\u9a71\u52a8\u7684\u5e76\u53d1\u7b49\u82e5\u5e72\u5e76\u53d1\u6280\u672f\uff0c\u5e76\u5728\u7b2c\u4e8c\u4e2a Project \u4e2d\u6bd4\u8f83\u5b83\u4eec\u5404\u81ea\u7684\u4f18\u52a3\u3002Rust \u4e2d \u201cfutures\u201d \u7684\u6982\u5ff5\u975e\u5e38\u6709\u8da3\u548c\u4f18\u96c5\uff0c\u8fd9\u4e9b\u57fa\u7840\u77e5\u8bc6\u5bf9\u4f60\u540e\u7eed\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u76f8\u5173\u8bfe\u7a0b\u7684\u5b66\u4e60\u5f88\u6709\u5e2e\u52a9\u3002\u53e6\u5916\uff0c\u6e05\u534e\u5927\u5b66\u7684\u64cd\u7edf\u5b9e\u9a8c rCore \u5c31\u662f\u57fa\u4e8e Rust \u7f16\u5199\u7684\uff0c\u5177\u4f53\u53c2\u89c1 \u6587\u6863 \u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://reberhardt.com/cs110l/spring-2020/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://youtu.be/j7AQrtLevUE \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5171 6 \u4e2a Lab \u548c 2 \u4e2a Project\uff0c\u4f5c\u4e1a\u6587\u6863\u548c\u4ee3\u7801\u6846\u67b6\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002\u5176\u4e2d\u4e24\u4e2a Project \u975e\u5e38\u6709\u8da3\uff0c\u5206\u522b\u662f\uff1a \u7528 Rust \u5b9e\u73b0\u4e00\u4e2a\u7c7b\u4f3c\u4e8e GDB \u7684 debugger \u7528 Rust \u5b9e\u73b0\u4e00\u4e2a\u8d1f\u8f7d\u5747\u8861\u5668 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS110L - GitHub \u4e2d\u3002 \u57282022\u5e74 CS110L \u6ca1\u6709\u5f00\u6e90\u4f5c\u4e1a\u6e90\u7801\u7684\u80cc\u666f\u4e0b\uff0cRust \u5feb\u901f\u6f14\u8fdb\u5bfc\u81f42020\u7248\u672c\u8bfe\u7a0b\u9879\u76ee\u4e2d\u6240\u4f7f\u7528\u7684\u5e93\u8fc7\u4e8e\u8001\u65e7\u3002\u5bf9\u6b64\uff0c @fung-hwang \u5c1d\u8bd5\u8fdb\u884c\u4e86\u9002\u914d\uff08\u65f6\u95f4\u4e3a2022.11)\u3002\u5176\u9002\u914d\u8fc7\u7a0b\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 fung-hwang/CS110L-2020spr - GitHub \u4e2d\u3002\u4e5f\u8bb8\u5f53\u4f60\u5f00\u59cb\u672c\u8bfe\u7a0b\u65f6 Rust \u548c\u8fd9\u4e9b\u5e93\u53c8\u53d1\u751f\u4e86\u53d8\u5316\uff0c\u4f46\u4f60\u4ecd\u53ef\u4ee5\u53c2\u8003\u5e76\u4ece\u4e2d\u83b7\u5f97\u542f\u53d1\u3002","title":"Stanford CS110L: Safety in Systems Programming"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#cs110l-safety-in-systems-programming","text":"","title":"CS110L: Safety in Systems Programming"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6700\u597d\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u80cc\u666f\u5e76\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u521d\u6b65\u7684\u8ba4\u8bc6\u3002 \u7f16\u7a0b\u8bed\u8a00\uff1aRust \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30 \u5c0f\u65f6 \u5728\u8fd9\u95e8\u8bfe\u4e2d\u4f60\u5c06\u4f1a\u5b66\u4e60 Rust \u8fd9\u95e8\u795e\u5947\u7684\u8bed\u8a00\u3002 \u5982\u679c\u4f60\u5b66\u8fc7 C \u5e76\u63a5\u89e6\u8fc7\u4e00\u4e9b\u7cfb\u7edf\u7f16\u7a0b\u7684\u8bdd\uff0c\u5e94\u8be5\u5bf9 C \u7684\u5185\u5b58\u6cc4\u6f0f\u4ee5\u53ca\u6307\u9488\u7684\u5371\u9669\u6709\u6240\u8033\u95fb\uff0c\u4f46 C \u7684\u5e95\u5c42\u7279\u6027\u4ee5\u53ca\u9ad8\u6548\u4ecd\u7136\u8ba9\u5b83\u5728\u7cfb\u7edf\u7ea7\u7f16\u7a0b\u4e2d\u65e0\u6cd5\u88ab\u4f8b\u5982 Java \u7b49\u81ea\u5e26\u5783\u573e\u6536\u96c6\u673a\u5236\u7684\u9ad8\u7ea7\u8bed\u8a00\u6240\u66ff\u4ee3\u3002\u800c Rust \u7684\u76ee\u6807\u5219\u662f\u5e0c\u671b\u5728 C \u7684\u9ad8\u6548\u57fa\u7840\u4e0a\uff0c\u5f25\u8865\u5176\u5b89\u5168\u4e0d\u8db3\u7684\u7f3a\u70b9\u3002\u56e0\u6b64 Rust \u5728\u8bbe\u8ba1\u4e4b\u521d\uff0c\u5c31\u6709\u5e26\u6709\u5f88\u591a\u7cfb\u7edf\u7f16\u7a0b\u7684\u89c2\u70b9\u3002\u5b66\u4e60 Rust\uff0c\u4e5f\u80fd\u8ba9\u4f60\u4e4b\u540e\u80fd\u7528 C \u8bed\u8a00\u7f16\u5199\u51fa\u66f4\u5b89\u5168\u66f4\u4f18\u96c5\u7684\u7cfb\u7edf\u7ea7\u4ee3\u7801\uff08\u4f8b\u5982\u64cd\u4f5c\u7cfb\u7edf\u7b49\uff09\u3002 \u8fd9\u95e8\u8bfe\u7684\u540e\u534a\u90e8\u5206\u5173\u6ce8\u5728\u5e76\u53d1\uff08concurrency\uff09\u8fd9\u4e00\u4e3b\u9898\u4e0a\uff0c\u4f60\u5c06\u4f1a\u7cfb\u7edf\u5730\u638c\u63e1\u591a\u8fdb\u7a0b\u3001\u591a\u7ebf\u7a0b\u3001\u57fa\u4e8e\u4e8b\u4ef6\u9a71\u52a8\u7684\u5e76\u53d1\u7b49\u82e5\u5e72\u5e76\u53d1\u6280\u672f\uff0c\u5e76\u5728\u7b2c\u4e8c\u4e2a Project \u4e2d\u6bd4\u8f83\u5b83\u4eec\u5404\u81ea\u7684\u4f18\u52a3\u3002Rust \u4e2d \u201cfutures\u201d \u7684\u6982\u5ff5\u975e\u5e38\u6709\u8da3\u548c\u4f18\u96c5\uff0c\u8fd9\u4e9b\u57fa\u7840\u77e5\u8bc6\u5bf9\u4f60\u540e\u7eed\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u76f8\u5173\u8bfe\u7a0b\u7684\u5b66\u4e60\u5f88\u6709\u5e2e\u52a9\u3002\u53e6\u5916\uff0c\u6e05\u534e\u5927\u5b66\u7684\u64cd\u7edf\u5b9e\u9a8c rCore \u5c31\u662f\u57fa\u4e8e Rust \u7f16\u5199\u7684\uff0c\u5177\u4f53\u53c2\u89c1 \u6587\u6863 \u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://reberhardt.com/cs110l/spring-2020/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://youtu.be/j7AQrtLevUE \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5171 6 \u4e2a Lab \u548c 2 \u4e2a Project\uff0c\u4f5c\u4e1a\u6587\u6863\u548c\u4ee3\u7801\u6846\u67b6\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002\u5176\u4e2d\u4e24\u4e2a Project \u975e\u5e38\u6709\u8da3\uff0c\u5206\u522b\u662f\uff1a \u7528 Rust \u5b9e\u73b0\u4e00\u4e2a\u7c7b\u4f3c\u4e8e GDB \u7684 debugger \u7528 Rust \u5b9e\u73b0\u4e00\u4e2a\u8d1f\u8f7d\u5747\u8861\u5668","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS110L - GitHub \u4e2d\u3002 \u57282022\u5e74 CS110L \u6ca1\u6709\u5f00\u6e90\u4f5c\u4e1a\u6e90\u7801\u7684\u80cc\u666f\u4e0b\uff0cRust \u5feb\u901f\u6f14\u8fdb\u5bfc\u81f42020\u7248\u672c\u8bfe\u7a0b\u9879\u76ee\u4e2d\u6240\u4f7f\u7528\u7684\u5e93\u8fc7\u4e8e\u8001\u65e7\u3002\u5bf9\u6b64\uff0c @fung-hwang \u5c1d\u8bd5\u8fdb\u884c\u4e86\u9002\u914d\uff08\u65f6\u95f4\u4e3a2022.11)\u3002\u5176\u9002\u914d\u8fc7\u7a0b\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 fung-hwang/CS110L-2020spr - GitHub \u4e2d\u3002\u4e5f\u8bb8\u5f53\u4f60\u5f00\u59cb\u672c\u8bfe\u7a0b\u65f6 Rust \u548c\u8fd9\u4e9b\u5e93\u53c8\u53d1\u751f\u4e86\u53d8\u5316\uff0c\u4f46\u4f60\u4ecd\u53ef\u4ee5\u53c2\u8003\u5e76\u4ece\u4e2d\u83b7\u5f97\u542f\u53d1\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/","text":"CS50: This is CS50x \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aHarvard \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC, Python, SQL, HTML, CSS, JavaScript \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a20 \u5c0f\u65f6 \u8fde\u7eed\u591a\u5e74\u88ab\u54c8\u4f5b\u5927\u5b66\u5b66\u751f\u8bc4\u4e3a\u6700\u53d7\u6b22\u8fce\u7684\u516c\u9009\u8bfe\u7a0b\u3002Malan \u6559\u6388\u4e0a\u8bfe\u975e\u5e38\u6709\u6fc0\u60c5\uff0c\u6495\u9ec4\u9875\u8bb2\u4e8c\u5206\u6cd5\u7684\u573a\u9762\u8ba9\u4eba\u8bb0\u5fc6\u72b9\u65b0\uff08\u7b11\uff09\u3002\u4f46\u56e0\u4e3a\u5b83\u7684\u5165\u95e8\u4ee5\u53ca\u5168\u6821\u516c\u9009\u7684\u5c5e\u6027\uff0c\u8bfe\u7a0b\u5185\u5bb9\u96be\u5ea6\u6bd4\u8f83\u6e29\u548c\uff0c\u4f46\u662f\u8bfe\u7a0b\u4f5c\u4e1a\u8d28\u91cf\u975e\u5e38\u9ad8\u800c\u4e14\u5168\u90e8\u514d\u8d39\u5f00\u6e90\uff0c\u975e\u5e38\u9002\u5408\u5c0f\u767d\u5165\u95e8\uff0c\u6216\u8005\u5927\u4f6c\u4f11\u95f2\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a 2022 , 2023 \u8bfe\u7a0b\u89c6\u9891\uff1a 2022 , 2023 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 2022 , 2023 \u8d44\u6e90\u6c47\u603b @mancuoj \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 mancuoj/CS50x - GitHub \u4e2d\u3002","title":"Harvard CS50: This is CS50x"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/#cs50-this-is-cs50x","text":"","title":"CS50: This is CS50x"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aHarvard \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC, Python, SQL, HTML, CSS, JavaScript \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a20 \u5c0f\u65f6 \u8fde\u7eed\u591a\u5e74\u88ab\u54c8\u4f5b\u5927\u5b66\u5b66\u751f\u8bc4\u4e3a\u6700\u53d7\u6b22\u8fce\u7684\u516c\u9009\u8bfe\u7a0b\u3002Malan \u6559\u6388\u4e0a\u8bfe\u975e\u5e38\u6709\u6fc0\u60c5\uff0c\u6495\u9ec4\u9875\u8bb2\u4e8c\u5206\u6cd5\u7684\u573a\u9762\u8ba9\u4eba\u8bb0\u5fc6\u72b9\u65b0\uff08\u7b11\uff09\u3002\u4f46\u56e0\u4e3a\u5b83\u7684\u5165\u95e8\u4ee5\u53ca\u5168\u6821\u516c\u9009\u7684\u5c5e\u6027\uff0c\u8bfe\u7a0b\u5185\u5bb9\u96be\u5ea6\u6bd4\u8f83\u6e29\u548c\uff0c\u4f46\u662f\u8bfe\u7a0b\u4f5c\u4e1a\u8d28\u91cf\u975e\u5e38\u9ad8\u800c\u4e14\u5168\u90e8\u514d\u8d39\u5f00\u6e90\uff0c\u975e\u5e38\u9002\u5408\u5c0f\u767d\u5165\u95e8\uff0c\u6216\u8005\u5927\u4f6c\u4f11\u95f2\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a 2022 , 2023 \u8bfe\u7a0b\u89c6\u9891\uff1a 2022 , 2023 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 2022 , 2023","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/#_3","text":"@mancuoj \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 mancuoj/CS50x - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50P/","text":"CS50P Introduction to Programming with Python \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aHarvard University \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30-40 hours CS50\u7684\u756a\u5916\u7bc7\uff0c\u4f9d\u65e7\u7531 David J. Malan \u6388\u8bfe\u3002\u5728\u8be5\u8bfe\u7a0b\u4e2d\u4f60\u5c06\u5b66\u4f1a Python \u7684\u57fa\u7840\u4e0e\u8fdb\u9636\u8bed\u6cd5\uff0c\u4ee5\u53ca\u5404\u79cd \u201cPythonic\u201d \u7684\u7f16\u7a0b\u65b9\u6cd5\u3002\u6b64\u5916\u5bf9\u4e8e Python \u7279\u8272\u7684\u4ee3\u7801\u5e93\u3001\u4ee3\u7801\u6d4b\u8bd5\u4ee5\u53ca\u9519\u8bef\u5904\u7406\uff0c\u8be5\u8bfe\u7a0b\u4e5f\u4f1a\u8f83\u4e3a\u6df1\u5165\u5730\u63a2\u7a76\u3002 \u8be5\u8bfe\u7a0b\u65e0\u9700\u4efb\u4f55\u7f16\u7a0b\u57fa\u7840\uff0c\u4e14\u76f8\u5bf9\u5e73\u6613\u8fd1\u4eba\u3002\u9002\u5408\u6240\u6709\u60f3\u8981\u5feb\u901f\u5165\u95e8 Python \u8bed\u8a00\u7684\u5404\u9636\u6bb5\u5b66\u751f\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a 2022 \u8bfe\u7a0b\u89c6\u9891\uff1a 2022 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 2022 \u8d44\u6e90\u6c47\u603b @mancuoj \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 mancuoj/CS50P - GitHub \u4e2d\u3002","title":"CS50P: CS50's Introduction to Programming with Python"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50P/#cs50p-introduction-to-programming-with-python","text":"","title":"CS50P Introduction to Programming with Python"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50P/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aHarvard University \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30-40 hours CS50\u7684\u756a\u5916\u7bc7\uff0c\u4f9d\u65e7\u7531 David J. Malan \u6388\u8bfe\u3002\u5728\u8be5\u8bfe\u7a0b\u4e2d\u4f60\u5c06\u5b66\u4f1a Python \u7684\u57fa\u7840\u4e0e\u8fdb\u9636\u8bed\u6cd5\uff0c\u4ee5\u53ca\u5404\u79cd \u201cPythonic\u201d \u7684\u7f16\u7a0b\u65b9\u6cd5\u3002\u6b64\u5916\u5bf9\u4e8e Python \u7279\u8272\u7684\u4ee3\u7801\u5e93\u3001\u4ee3\u7801\u6d4b\u8bd5\u4ee5\u53ca\u9519\u8bef\u5904\u7406\uff0c\u8be5\u8bfe\u7a0b\u4e5f\u4f1a\u8f83\u4e3a\u6df1\u5165\u5730\u63a2\u7a76\u3002 \u8be5\u8bfe\u7a0b\u65e0\u9700\u4efb\u4f55\u7f16\u7a0b\u57fa\u7840\uff0c\u4e14\u76f8\u5bf9\u5e73\u6613\u8fd1\u4eba\u3002\u9002\u5408\u6240\u6709\u60f3\u8981\u5feb\u901f\u5165\u95e8 Python \u8bed\u8a00\u7684\u5404\u9636\u6bb5\u5b66\u751f\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50P/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a 2022 \u8bfe\u7a0b\u89c6\u9891\uff1a 2022 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 2022","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50P/#_3","text":"@mancuoj \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 mancuoj/CS50P - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/","text":"CS61A: Structure and Interpretation of Computer Programs \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aPython, Scheme, SQL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u4f2f\u514b\u5229 CS61 \u7cfb\u5217\u7684\u7b2c\u4e00\u95e8\u8bfe\u7a0b\uff0c\u4e5f\u662f\u6211\u7684 Python \u5165\u95e8\u8bfe\u3002 CS61 \u7cfb\u5217\u662f\u4f2f\u514b\u5229 CS \u4e13\u4e1a\u7684\u5165\u95e8\u8bfe\uff0c\u5176\u4e2d\uff1a CS61A: \u5f3a\u8c03\u62bd\u8c61\uff0c\u8ba9\u5b66\u751f\u638c\u63e1\u7528\u7a0b\u5e8f\u6765\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff0c\u800c\u4e0d\u5173\u6ce8\u5e95\u5c42\u7684\u786c\u4ef6\u7ec6\u8282\u3002 CS61B: \u6ce8\u91cd\u7b97\u6cd5\u4e0e\u6570\u636e\u7ed3\u6784\u4ee5\u53ca\u5927\u89c4\u6a21\u7a0b\u5e8f\u7684\u6784\u5efa\uff0c\u5b66\u751f\u4f1a\u7528 Java \u8bed\u8a00\u7ed3\u5408\u7b97\u6cd5\u4e0e\u6570\u636e\u7ed3\u6784\u7684\u77e5\u8bc6\u6765\u6784\u5efa\u5343\u884c\u4ee3\u7801\u7ea7\u522b\u7684\u5927\u578b\u9879\u76ee\uff08\u4e00\u4e2a\u7b80\u6613\u7684\u8c37\u6b4c\u5730\u56fe\uff0c\u4e00\u4e2a\u4e8c\u7ef4\u7248\u7684 Minecraft\uff09\u3002 CS61C: \u5173\u6ce8\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u8ba9\u5b66\u751f\u7406\u89e3\u9ad8\u7ea7\u8bed\u8a00\uff08\u4f8b\u5982 C\uff09\u662f\u5982\u4f55\u4e00\u6b65\u6b65\u8f6c\u6362\u4e3a\u673a\u5668\u53ef\u4ee5\u7406\u89e3\u7684 01 \u4e32\u5e76\u5728 CPU \u6267\u884c\u7684\uff0c\u5b66\u751f\u5c06\u4f1a\u5b66\u4e60 RISC-V \u67b6\u6784\u5e76\u81ea\u5df1\u7528 Logisim \u5b9e\u73b0\u4e00\u4e2a CPU\u3002 CS61B \u548c CS61C \u5728\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 \u56de\u5230 CS61A\uff0c\u6ce8\u610f\u8fd9\u4e0d\u4ec5\u4ec5\u662f\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\u8bfe\uff0c\u800c\u662f\u4f1a\u6df1\u5165\u5230\u7a0b\u5e8f\u6784\u9020\u4e0e\u8fd0\u884c\u7684\u539f\u7406\u3002\u6700\u540e\u4f60\u5c06\u5728\u7b2c 4 \u4e2a Project \u4e2d\u7528 Python \u5b9e\u73b0\u4e00\u4e2a Scheme \u7684\u89e3\u91ca\u5668\u3002\u6b64\u5916\uff0c\u62bd\u8c61\u5c06\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u4e3b\u9898\uff0c\u4f60\u5c06\u5b66\u4e60\u5230\u51fd\u6570\u5f0f\u7f16\u7a0b\u3001\u6570\u636e\u62bd\u8c61\u3001\u9762\u5411\u5bf9\u8c61\u7b49\u7b49\u77e5\u8bc6\u6765\u8ba9\u4f60\u7684\u4ee3\u7801\u66f4\u6613\u8bfb\uff0c\u66f4\u6a21\u5757\u5316\u3002\u5f53\u7136\uff0c\u5b66\u4e60\u7f16\u7a0b\u8bed\u8a00\u4e5f\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u5185\u5bb9\uff0c\u4f60\u5c06\u4f1a\u638c\u63e1 Python\u3001Scheme \u548c SQL \u8fd9\u4e09\u79cd\u7f16\u7a0b\u8bed\u8a00\uff0c\u5728\u5b83\u4eec\u7684\u5b66\u4e60\u548c\u6bd4\u8f83\u4e2d\uff0c\u76f8\u4fe1\u4f60\u4f1a\u62e5\u6709\u5feb\u901f\u638c\u63e1\u4e00\u95e8\u65b0\u7684\u7f16\u7a0b\u8bed\u8a00\u7684\u80fd\u529b\u3002 \u6ce8\u610f\uff1a\u5982\u679c\u6b64\u524d\u5b8c\u5168\u6ca1\u6709\u7f16\u7a0b\u57fa\u7840\uff0c\u76f4\u63a5\u4e0a\u624b CS61A \u9700\u8981\u4e00\u5b9a\u7684\u5b66\u4e60\u80fd\u529b\u548c\u81ea\u5f8b\u8981\u6c42\u3002\u4e3a\u907f\u514d\u8bfe\u7a0b\u96be\u5ea6\u8fc7\u9ad8\u800c\u5bfc\u81f4\u7684\u4fe1\u5fc3\u632b\u6298\uff0c\u53ef\u4ee5\u9009\u62e9\u4e00\u4e2a\u66f4\u4e3a\u53cb\u597d\u7684\u5165\u95e8\u7f16\u7a0b\u8bfe\u7a0b\u3002\u4f8b\u5982\u4f2f\u514b\u5229\u7684 CS10 \u6216\u8005\u54c8\u4f5b\u5927\u5b66\u7684 CS50 \u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://inst.eecs.berkeley.edu/~cs61a/su20/ \u8bfe\u7a0b\u89c6\u9891: \u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u6559\u6750\uff1a http://composingprograms.com/ \u8bfe\u7a0b\u6559\u6750\u4e2d\u6587\u7ffb\u8bd1\uff1a https://composingprograms.netlify.app/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u8bfe\u7a0b\u7f51\u7ad9\u4f1a\u6709\u6bcf\u4e2a\u4f5c\u4e1a\u5bf9\u5e94\u7684\u6587\u6863\u94fe\u63a5\u4ee5\u53ca\u4ee3\u7801\u6846\u67b6\u7684\u4e0b\u8f7d\u94fe\u63a5\u3002 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS61A - GitHub \u4e2d\u3002","title":"UCB CS61A: Structure and Interpretation of Computer Programs"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#cs61a-structure-and-interpretation-of-computer-programs","text":"","title":"CS61A: Structure and Interpretation of Computer Programs"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aPython, Scheme, SQL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u4f2f\u514b\u5229 CS61 \u7cfb\u5217\u7684\u7b2c\u4e00\u95e8\u8bfe\u7a0b\uff0c\u4e5f\u662f\u6211\u7684 Python \u5165\u95e8\u8bfe\u3002 CS61 \u7cfb\u5217\u662f\u4f2f\u514b\u5229 CS \u4e13\u4e1a\u7684\u5165\u95e8\u8bfe\uff0c\u5176\u4e2d\uff1a CS61A: \u5f3a\u8c03\u62bd\u8c61\uff0c\u8ba9\u5b66\u751f\u638c\u63e1\u7528\u7a0b\u5e8f\u6765\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff0c\u800c\u4e0d\u5173\u6ce8\u5e95\u5c42\u7684\u786c\u4ef6\u7ec6\u8282\u3002 CS61B: \u6ce8\u91cd\u7b97\u6cd5\u4e0e\u6570\u636e\u7ed3\u6784\u4ee5\u53ca\u5927\u89c4\u6a21\u7a0b\u5e8f\u7684\u6784\u5efa\uff0c\u5b66\u751f\u4f1a\u7528 Java \u8bed\u8a00\u7ed3\u5408\u7b97\u6cd5\u4e0e\u6570\u636e\u7ed3\u6784\u7684\u77e5\u8bc6\u6765\u6784\u5efa\u5343\u884c\u4ee3\u7801\u7ea7\u522b\u7684\u5927\u578b\u9879\u76ee\uff08\u4e00\u4e2a\u7b80\u6613\u7684\u8c37\u6b4c\u5730\u56fe\uff0c\u4e00\u4e2a\u4e8c\u7ef4\u7248\u7684 Minecraft\uff09\u3002 CS61C: \u5173\u6ce8\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u8ba9\u5b66\u751f\u7406\u89e3\u9ad8\u7ea7\u8bed\u8a00\uff08\u4f8b\u5982 C\uff09\u662f\u5982\u4f55\u4e00\u6b65\u6b65\u8f6c\u6362\u4e3a\u673a\u5668\u53ef\u4ee5\u7406\u89e3\u7684 01 \u4e32\u5e76\u5728 CPU \u6267\u884c\u7684\uff0c\u5b66\u751f\u5c06\u4f1a\u5b66\u4e60 RISC-V \u67b6\u6784\u5e76\u81ea\u5df1\u7528 Logisim \u5b9e\u73b0\u4e00\u4e2a CPU\u3002 CS61B \u548c CS61C \u5728\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 \u56de\u5230 CS61A\uff0c\u6ce8\u610f\u8fd9\u4e0d\u4ec5\u4ec5\u662f\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\u8bfe\uff0c\u800c\u662f\u4f1a\u6df1\u5165\u5230\u7a0b\u5e8f\u6784\u9020\u4e0e\u8fd0\u884c\u7684\u539f\u7406\u3002\u6700\u540e\u4f60\u5c06\u5728\u7b2c 4 \u4e2a Project \u4e2d\u7528 Python \u5b9e\u73b0\u4e00\u4e2a Scheme \u7684\u89e3\u91ca\u5668\u3002\u6b64\u5916\uff0c\u62bd\u8c61\u5c06\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u4e3b\u9898\uff0c\u4f60\u5c06\u5b66\u4e60\u5230\u51fd\u6570\u5f0f\u7f16\u7a0b\u3001\u6570\u636e\u62bd\u8c61\u3001\u9762\u5411\u5bf9\u8c61\u7b49\u7b49\u77e5\u8bc6\u6765\u8ba9\u4f60\u7684\u4ee3\u7801\u66f4\u6613\u8bfb\uff0c\u66f4\u6a21\u5757\u5316\u3002\u5f53\u7136\uff0c\u5b66\u4e60\u7f16\u7a0b\u8bed\u8a00\u4e5f\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u5185\u5bb9\uff0c\u4f60\u5c06\u4f1a\u638c\u63e1 Python\u3001Scheme \u548c SQL \u8fd9\u4e09\u79cd\u7f16\u7a0b\u8bed\u8a00\uff0c\u5728\u5b83\u4eec\u7684\u5b66\u4e60\u548c\u6bd4\u8f83\u4e2d\uff0c\u76f8\u4fe1\u4f60\u4f1a\u62e5\u6709\u5feb\u901f\u638c\u63e1\u4e00\u95e8\u65b0\u7684\u7f16\u7a0b\u8bed\u8a00\u7684\u80fd\u529b\u3002 \u6ce8\u610f\uff1a\u5982\u679c\u6b64\u524d\u5b8c\u5168\u6ca1\u6709\u7f16\u7a0b\u57fa\u7840\uff0c\u76f4\u63a5\u4e0a\u624b CS61A \u9700\u8981\u4e00\u5b9a\u7684\u5b66\u4e60\u80fd\u529b\u548c\u81ea\u5f8b\u8981\u6c42\u3002\u4e3a\u907f\u514d\u8bfe\u7a0b\u96be\u5ea6\u8fc7\u9ad8\u800c\u5bfc\u81f4\u7684\u4fe1\u5fc3\u632b\u6298\uff0c\u53ef\u4ee5\u9009\u62e9\u4e00\u4e2a\u66f4\u4e3a\u53cb\u597d\u7684\u5165\u95e8\u7f16\u7a0b\u8bfe\u7a0b\u3002\u4f8b\u5982\u4f2f\u514b\u5229\u7684 CS10 \u6216\u8005\u54c8\u4f5b\u5927\u5b66\u7684 CS50 \u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://inst.eecs.berkeley.edu/~cs61a/su20/ \u8bfe\u7a0b\u89c6\u9891: \u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u6559\u6750\uff1a http://composingprograms.com/ \u8bfe\u7a0b\u6559\u6750\u4e2d\u6587\u7ffb\u8bd1\uff1a https://composingprograms.netlify.app/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u8bfe\u7a0b\u7f51\u7ad9\u4f1a\u6709\u6bcf\u4e2a\u4f5c\u4e1a\u5bf9\u5e94\u7684\u6587\u6863\u94fe\u63a5\u4ee5\u53ca\u4ee3\u7801\u6846\u67b6\u7684\u4e0b\u8f7d\u94fe\u63a5\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS61A - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Duke-Coursera-Intro-C/","text":"Introductory C Programming Specialization \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aDuke \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a110 \u5c0f\u65f6 \u975e\u5e38\u597d\u7684\u8bfe\u7a0b\uff0c\u81ea\u6211\u611f\u89c9\u6536\u76ca\u975e\u5e38\u5927\uff1a \u4fa7\u91cd\u57fa\u7840\u548c\u57fa\u672c\u6982\u5ff5\uff1a\u5982 frame\u3001stack memory\u3001heap memory \u7b49\u8bb2\u5f97\u5f88\u900f\u3002 \u9488\u5bf9C\u6700\u96be\u638c\u63e1\u7684\u6307\u9488\uff0c\u6709\u597d\u7684\u7ec3\u4e60\u548c\u7f16\u7a0b\u6765\u52a0\u6df1\u548c\u5f3a\u5316\u7406\u89e3\u3002 \u975e\u5e38\u597d\u7684 GDB\uff0cValgrind \u4e0a\u624b\u8bad\u7ec3\uff0c\u4f5c\u4e1a\u4e5f\u4f1a\u6d89\u53ca\u4e00\u4e9b\u57fa\u672c\u7684 Git \u7ec3\u4e60\u3002 \u8001\u5e08\u5efa\u8bae\u4f5c\u4e1a\u7528 Emacs\uff0c\u6240\u4ee5\u5bf9 Emacs \u5c0f\u767d\u6765\u8bf4\uff0c\u662f\u4e2a\u4e0d\u9519\u7684\u5165\u95e8\u3002\u5982\u679c\u4f60\u4f1a\u7528 Vim \uff0c\u6211\u5efa\u8bae\u4f60\u7528 Evil \u63d2\u4ef6\u3002\u8fd9\u6837\u4f60\u4e0d\u4f1a\u4e22\u6389 Vim \u7684\u7f16\u8f91\u529f\u80fd\uff0c\u540c\u65f6\u53ef\u4ee5\u4f53\u4f1a Emacs \u7684\u5f3a\u5927\u3002\u5de5\u5177\u7bb1\u91cc\u540c\u65f6\u6709 Emacs \u548c Vim \u65f6\uff0c\u6548\u7387\u4f1a\u6709\u4e0d\u5c11\u63d0\u9ad8\u3002Emacs \u7684 org-mode\uff0c\u548c GDB \u7684\u987a\u6ed1\u6574\u5408\uff0c\u7b49\u7b49\u7b49\u7b49\uff0c\u90fd\u4f1a\u8ba9\u4f60\u5982\u864e\u6dfb\u7ffc\u3002 \u867d\u7136\u53ef\u80fd\u9700\u8981\u4ed8\u8d39\uff0c\u4f46\u6211\u89c9\u5f97\u503c\u3002 \u867d\u8bf4\u8bfe\u540d\u662f\u5165\u95e8\uff0c\u4f46\u517c\u5177\u5e7f\u5ea6\u548c\u6df1\u5ea6\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.coursera.org/specializations/c-programming \u8bfe\u7a0b\u89c6\u9891\uff1a\u540c\u4e0a \u8bfe\u7a0b\u6559\u6750\uff1a\u540c\u4e0a \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u540c\u4e0a \u8d44\u6e90\u6c47\u603b @haidongji \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7684\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 Duke Coursera Intro C \u4e2d\u3002\u56e0\u4e3a\u65f6\u95f4\u5173\u7cfb\uff0c\u6211\u6700\u540e\u4e00\u8bfe\u6700\u540e\u4e00\u5468\u7684\u51e0\u4e2a\u4f5c\u4e1a\u5230\u76ee\u524d\u8fd8\u6ca1\u6709\u5b8c\u6210\u3002","title":"Duke University: Introductory C Programming Specialization"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Duke-Coursera-Intro-C/#introductory-c-programming-specialization","text":"","title":"Introductory C Programming Specialization"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Duke-Coursera-Intro-C/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aDuke \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a110 \u5c0f\u65f6 \u975e\u5e38\u597d\u7684\u8bfe\u7a0b\uff0c\u81ea\u6211\u611f\u89c9\u6536\u76ca\u975e\u5e38\u5927\uff1a \u4fa7\u91cd\u57fa\u7840\u548c\u57fa\u672c\u6982\u5ff5\uff1a\u5982 frame\u3001stack memory\u3001heap memory \u7b49\u8bb2\u5f97\u5f88\u900f\u3002 \u9488\u5bf9C\u6700\u96be\u638c\u63e1\u7684\u6307\u9488\uff0c\u6709\u597d\u7684\u7ec3\u4e60\u548c\u7f16\u7a0b\u6765\u52a0\u6df1\u548c\u5f3a\u5316\u7406\u89e3\u3002 \u975e\u5e38\u597d\u7684 GDB\uff0cValgrind \u4e0a\u624b\u8bad\u7ec3\uff0c\u4f5c\u4e1a\u4e5f\u4f1a\u6d89\u53ca\u4e00\u4e9b\u57fa\u672c\u7684 Git \u7ec3\u4e60\u3002 \u8001\u5e08\u5efa\u8bae\u4f5c\u4e1a\u7528 Emacs\uff0c\u6240\u4ee5\u5bf9 Emacs \u5c0f\u767d\u6765\u8bf4\uff0c\u662f\u4e2a\u4e0d\u9519\u7684\u5165\u95e8\u3002\u5982\u679c\u4f60\u4f1a\u7528 Vim \uff0c\u6211\u5efa\u8bae\u4f60\u7528 Evil \u63d2\u4ef6\u3002\u8fd9\u6837\u4f60\u4e0d\u4f1a\u4e22\u6389 Vim \u7684\u7f16\u8f91\u529f\u80fd\uff0c\u540c\u65f6\u53ef\u4ee5\u4f53\u4f1a Emacs \u7684\u5f3a\u5927\u3002\u5de5\u5177\u7bb1\u91cc\u540c\u65f6\u6709 Emacs \u548c Vim \u65f6\uff0c\u6548\u7387\u4f1a\u6709\u4e0d\u5c11\u63d0\u9ad8\u3002Emacs \u7684 org-mode\uff0c\u548c GDB \u7684\u987a\u6ed1\u6574\u5408\uff0c\u7b49\u7b49\u7b49\u7b49\uff0c\u90fd\u4f1a\u8ba9\u4f60\u5982\u864e\u6dfb\u7ffc\u3002 \u867d\u7136\u53ef\u80fd\u9700\u8981\u4ed8\u8d39\uff0c\u4f46\u6211\u89c9\u5f97\u503c\u3002 \u867d\u8bf4\u8bfe\u540d\u662f\u5165\u95e8\uff0c\u4f46\u517c\u5177\u5e7f\u5ea6\u548c\u6df1\u5ea6\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Duke-Coursera-Intro-C/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.coursera.org/specializations/c-programming \u8bfe\u7a0b\u89c6\u9891\uff1a\u540c\u4e0a \u8bfe\u7a0b\u6559\u6750\uff1a\u540c\u4e0a \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u540c\u4e0a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Duke-Coursera-Intro-C/#_3","text":"@haidongji \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7684\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 Duke Coursera Intro C \u4e2d\u3002\u56e0\u4e3a\u65f6\u95f4\u5173\u7cfb\uff0c\u6211\u6700\u540e\u4e00\u8bfe\u6700\u540e\u4e00\u5468\u7684\u51e0\u4e2a\u4f5c\u4e1a\u5230\u76ee\u524d\u8fd8\u6ca1\u6709\u5b8c\u6210\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Haskell-MOOC/","text":"Haskell MOOC \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUniversity of Helsinki \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aHaskell \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u51fd\u6570\u5f0f\u7f16\u7a0b\u6b63\u5728\u8d8a\u6765\u8d8a\u591a\u7684\u878d\u5408\u5165\u73b0\u4ee3\u7f16\u7a0b\u8bed\u8a00\u3002Java \u7684 Streams\uff0cJavaScript \u7684 Promises\uff0c\u4ee5\u53ca\u5728 ECMAScript \u8349\u6848\u9636\u6bb5\u7684 Record & Tuple\u3002\u5728\u5b66\u4e60\u8fd9\u4e9b\u5185\u5bb9\u65f6\uff0c\u6211\u603b\u662f\u611f\u89c9\u6211\u5728\u6b7b\u8bb0\u5b83\u4eec\u8fd9\u4e9b api \u7684\u884c\u4e3a\uff0c\u867d\u7136\u80fd\u591f\u4f7f\u7528\u5b83\u4eec\u5199\u51fa\u4e00\u4e9b\u7a0b\u5e8f\uff0c\u4f46\u603b\u611f\u89c9\u4e0d\u5230\u638c\u63e1\u4e86\u5b83\u4eec\u3002\u7a76\u5176\u539f\u56e0\uff0c\u5b83\u4eec\u4e3a\u4ec0\u4e48\u5b58\u5728\uff1f\u5b83\u4eec\u4e3a\u4ec0\u4e48\u662f\u8fd9\u6837\u7684\uff1f\u8bbe\u8ba1\u5b83\u4eec\u7684\u601d\u60f3\u662f\u4ec0\u4e48\uff1f\u5b66\u5b8c\u51fd\u6570\u5f0f\u7f16\u7a0b\u4f1a\u7ed9\u4f60\u7b54\u6848\u3002 \u867d\u7136\u8fd9\u95e8\u8bfe\u7684\u540d\u5b57\u662f Haskell\uff0c\u4f46\u5b83\u7684\u6838\u5fc3\u5185\u5bb9\u662f\u51fd\u6570\u5f0f\u7f16\u7a0b\u601d\u60f3\u3002\u5c31\u50cf\u5b66\u4e60\u9762\u5411\u5bf9\u8c61\u7a0b\u5e8f\u8bbe\u8ba1\uff0c\u5927\u6982\u7387\u4e0d\u4f1a\u9009\u62e9 Java \u4e4b\u5916\u7684\u8bed\u8a00\u3002 \u5b66\u4e60 Haskell\uff0c\u4f46\u91cd\u70b9\u4e0d\u5728\u4e8e\u4f7f\u7528\u5b83\u3002\u8fd9\u95e8\u8bfe\u4f1a\u8ba9\u4f60\u7528\u521a\u521a\u591f\u7528\u7684 Haskell \u8bed\u6cd5\uff0c\u521a\u521a\u591f\u7528\u7684\u5e93\u51fd\u6570\uff0c\u4e00\u4e01\u70b9\u7684\u5de5\u5177\uff0c\u53bb\u89e3\u91ca\u6838\u5fc3\u7684\u7a0b\u5e8f\u8bed\u4e49\uff0c\u4e5f\u5c31\u662f\u51fd\u6570\u5f0f\u7f16\u7a0b\u7684\u6838\u5fc3\u601d\u60f3\u3002\u8fd9\u4e0d\u4f1a\u8ba9\u4f60\u6d6a\u8d39\u65f6\u95f4\u9677\u5165\u8bed\u8a00\u7ec6\u8282\u4ee5\u53ca\u8bed\u8a00\u751f\u6001\u4e2d\uff0c\u6211\u89c9\u5f97\u5b83\u662f\u8fd9\u95e8\u8bfe\u7684\u6700\u5927\u4f18\u52bf\u3002 \u8fd9\u95e8\u8bfe\u8986\u76d6\u7684\u5185\u5bb9\uff1a Pure Function Lazy Evaluation Strongly Typed Type Inferred Curry Monoid / Functor / Monad / Applicative \u5982\u679c\u4f60\u6709\u7f16\u7a0b\u7ecf\u9a8c\uff0c\u8bfe\u7a0b\u7684 Part1 \u5f88\u7b80\u5355\uff0c\u96be\u5ea6\u96c6\u4e2d\u5728 Part2 \u7684\u5341\u4e09\u7ae0\u4e4b\u540e\u3002\u8bfe\u7a0b\u7684\u7ec3\u4e60\u5f88\u68d2\uff0c\u5b83\u6709\u4e00\u79cd\u5728\u505a CS61a \u7ec3\u4e60\u7684\u611f\u89c9\u3002\u7ec3\u4e60\u7684\u6ce8\u91ca\u4e2d\u6709\u8db3\u591f\u7684\u63d0\u793a\uff0c\u4f5c\u4e1a\u5728\u4f60\u63d0\u4ea4\u4e4b\u540e\u4f1a\u7ed9\u4f60\u6807\u51c6\u7b54\u6848\uff0c\u4f60\u8fd8\u53ef\u4ee5\u5728\u5b98\u65b9\u7684 Telegram \u4e2d\u63d0\u95ee\u6216\u4e0e\u4ed6\u4eba\u8ba8\u8bba\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://haskell.mooc.fi/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u65e0 \u8bfe\u7a0b\u6559\u6750\uff1a https://haskell.mooc.fi/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://github.com/moocfi/haskell-mooc \u793e\u533a\uff1a https://t.me/haskell_mooc_fi \u8d44\u6e90\u6c47\u603b @showtheunli \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 showthesunli/haskell-mooc - GitHub \u4e2d\u3002(\u975e\u5e38\u4e0d\u5efa\u8bae\u5728\u4f5c\u4e1a\u65f6\uff0c\u53c2\u8003\u522b\u4eba\u7684\u5b9e\u73b0)","title":"Haskell MOOC"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Haskell-MOOC/#haskell-mooc","text":"","title":"Haskell MOOC"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Haskell-MOOC/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUniversity of Helsinki \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aHaskell \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u51fd\u6570\u5f0f\u7f16\u7a0b\u6b63\u5728\u8d8a\u6765\u8d8a\u591a\u7684\u878d\u5408\u5165\u73b0\u4ee3\u7f16\u7a0b\u8bed\u8a00\u3002Java \u7684 Streams\uff0cJavaScript \u7684 Promises\uff0c\u4ee5\u53ca\u5728 ECMAScript \u8349\u6848\u9636\u6bb5\u7684 Record & Tuple\u3002\u5728\u5b66\u4e60\u8fd9\u4e9b\u5185\u5bb9\u65f6\uff0c\u6211\u603b\u662f\u611f\u89c9\u6211\u5728\u6b7b\u8bb0\u5b83\u4eec\u8fd9\u4e9b api \u7684\u884c\u4e3a\uff0c\u867d\u7136\u80fd\u591f\u4f7f\u7528\u5b83\u4eec\u5199\u51fa\u4e00\u4e9b\u7a0b\u5e8f\uff0c\u4f46\u603b\u611f\u89c9\u4e0d\u5230\u638c\u63e1\u4e86\u5b83\u4eec\u3002\u7a76\u5176\u539f\u56e0\uff0c\u5b83\u4eec\u4e3a\u4ec0\u4e48\u5b58\u5728\uff1f\u5b83\u4eec\u4e3a\u4ec0\u4e48\u662f\u8fd9\u6837\u7684\uff1f\u8bbe\u8ba1\u5b83\u4eec\u7684\u601d\u60f3\u662f\u4ec0\u4e48\uff1f\u5b66\u5b8c\u51fd\u6570\u5f0f\u7f16\u7a0b\u4f1a\u7ed9\u4f60\u7b54\u6848\u3002 \u867d\u7136\u8fd9\u95e8\u8bfe\u7684\u540d\u5b57\u662f Haskell\uff0c\u4f46\u5b83\u7684\u6838\u5fc3\u5185\u5bb9\u662f\u51fd\u6570\u5f0f\u7f16\u7a0b\u601d\u60f3\u3002\u5c31\u50cf\u5b66\u4e60\u9762\u5411\u5bf9\u8c61\u7a0b\u5e8f\u8bbe\u8ba1\uff0c\u5927\u6982\u7387\u4e0d\u4f1a\u9009\u62e9 Java \u4e4b\u5916\u7684\u8bed\u8a00\u3002 \u5b66\u4e60 Haskell\uff0c\u4f46\u91cd\u70b9\u4e0d\u5728\u4e8e\u4f7f\u7528\u5b83\u3002\u8fd9\u95e8\u8bfe\u4f1a\u8ba9\u4f60\u7528\u521a\u521a\u591f\u7528\u7684 Haskell \u8bed\u6cd5\uff0c\u521a\u521a\u591f\u7528\u7684\u5e93\u51fd\u6570\uff0c\u4e00\u4e01\u70b9\u7684\u5de5\u5177\uff0c\u53bb\u89e3\u91ca\u6838\u5fc3\u7684\u7a0b\u5e8f\u8bed\u4e49\uff0c\u4e5f\u5c31\u662f\u51fd\u6570\u5f0f\u7f16\u7a0b\u7684\u6838\u5fc3\u601d\u60f3\u3002\u8fd9\u4e0d\u4f1a\u8ba9\u4f60\u6d6a\u8d39\u65f6\u95f4\u9677\u5165\u8bed\u8a00\u7ec6\u8282\u4ee5\u53ca\u8bed\u8a00\u751f\u6001\u4e2d\uff0c\u6211\u89c9\u5f97\u5b83\u662f\u8fd9\u95e8\u8bfe\u7684\u6700\u5927\u4f18\u52bf\u3002 \u8fd9\u95e8\u8bfe\u8986\u76d6\u7684\u5185\u5bb9\uff1a Pure Function Lazy Evaluation Strongly Typed Type Inferred Curry Monoid / Functor / Monad / Applicative \u5982\u679c\u4f60\u6709\u7f16\u7a0b\u7ecf\u9a8c\uff0c\u8bfe\u7a0b\u7684 Part1 \u5f88\u7b80\u5355\uff0c\u96be\u5ea6\u96c6\u4e2d\u5728 Part2 \u7684\u5341\u4e09\u7ae0\u4e4b\u540e\u3002\u8bfe\u7a0b\u7684\u7ec3\u4e60\u5f88\u68d2\uff0c\u5b83\u6709\u4e00\u79cd\u5728\u505a CS61a \u7ec3\u4e60\u7684\u611f\u89c9\u3002\u7ec3\u4e60\u7684\u6ce8\u91ca\u4e2d\u6709\u8db3\u591f\u7684\u63d0\u793a\uff0c\u4f5c\u4e1a\u5728\u4f60\u63d0\u4ea4\u4e4b\u540e\u4f1a\u7ed9\u4f60\u6807\u51c6\u7b54\u6848\uff0c\u4f60\u8fd8\u53ef\u4ee5\u5728\u5b98\u65b9\u7684 Telegram \u4e2d\u63d0\u95ee\u6216\u4e0e\u4ed6\u4eba\u8ba8\u8bba\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Haskell-MOOC/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://haskell.mooc.fi/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u65e0 \u8bfe\u7a0b\u6559\u6750\uff1a https://haskell.mooc.fi/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://github.com/moocfi/haskell-mooc \u793e\u533a\uff1a https://t.me/haskell_mooc_fi","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Haskell-MOOC/#_3","text":"@showtheunli \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 showthesunli/haskell-mooc - GitHub \u4e2d\u3002(\u975e\u5e38\u4e0d\u5efa\u8bae\u5728\u4f5c\u4e1a\u65f6\uff0c\u53c2\u8003\u522b\u4eba\u7684\u5b9e\u73b0)","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/","text":"MIT-Missing-Semester \u8bfe\u7a0b\u7b80\u4ecb \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1ashell \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a10 \u5c0f\u65f6 \u6b63\u5982\u8bfe\u7a0b\u540d\u5b57\u6240\u8a00\uff1a\u201c\u8ba1\u7b97\u673a\u6559\u5b66\u4e2d\u6d88\u5931\u7684\u4e00\u4e2a\u5b66\u671f\u201d\uff0c\u8fd9\u95e8\u8bfe\u5c06\u4f1a\u6559\u4f1a\u4f60\u8bb8\u591a\u5927\u5b66\u7684\u8bfe\u5802\u4e0a\u4e0d\u4f1a\u6d89\u53ca\u4f46\u5374\u5bf9\u6bcf\u4e2a CSer \u65e0\u6bd4\u91cd\u8981\u7684\u5de5\u5177\u6216\u8005\u77e5\u8bc6\u70b9\u3002\u4f8b\u5982 Shell \u7f16\u7a0b\u3001\u547d\u4ee4\u884c\u914d\u7f6e\u3001Git\u3001Vim\u3001 tmux \u3001 ssh \u7b49\u7b49\u3002\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u8ba1\u7b97\u673a\u5c0f\u767d\uff0c\u90a3\u4e48\u6211\u975e\u5e38\u5efa\u8bae\u4f60\u5b66\u4e60\u4e00\u4e0b\u8fd9\u95e8\u8bfe\uff0c\u56e0\u4e3a\u5b83\u57fa\u672c\u6d89\u53ca\u4e86\u672c\u4e66\u5fc5\u5b66\u5de5\u5177\u4e2d\u7684\u7edd\u5927\u90e8\u5206\u5185\u5bb9\u3002 \u9664\u4e86 MIT \u5b98\u65b9\u7684\u5b66\u4e60\u8d44\u6599\u5916\uff0c\u5317\u4eac\u5927\u5b66\u56fe\u7075\u73ed\u5f00\u8bbe\u7684\u524d\u6cbf\u8ba1\u7b97\u5b9e\u8df5\u4e2d\u4e5f\u5f00\u8bbe\u4e86\u76f8\u5173\u8bfe\u7a0b\uff0c\u8d44\u6599\u4f4d\u4e8e \u8fd9\u4e2a\u7f51\u7ad9 \u4e0b\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://missing.csail.mit.edu/2020/ \u8bfe\u7a0b\u4e2d\u6587\u7f51\u7ad9: https://missing-semester-cn.github.io/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J \u8bfe\u7a0b\u4e2d\u6587\u5b57\u5e55\u89c6\u9891\uff1a Missing_Semi_\u4e2d\u8bd1\u7ec4\uff08\u672a\u5b8c\uff09\uff1a https://space.bilibili.com/1010983811?spm_id_from=333.337.search-card.all.click \u5218\u9ed1\u9ed1a\uff08\u672a\u5b8c\uff09\uff1a https://space.bilibili.com/518734451?spm_id_from=333.337.search-card.all.click \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e00\u4e9b\u968f\u5802\u5c0f\u7ec3\u4e60\uff0c\u5177\u4f53\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002","title":"MIT-Missing-Semester"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/#mit-missing-semester","text":"","title":"MIT-Missing-Semester"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/#_1","text":"\u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1ashell \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a10 \u5c0f\u65f6 \u6b63\u5982\u8bfe\u7a0b\u540d\u5b57\u6240\u8a00\uff1a\u201c\u8ba1\u7b97\u673a\u6559\u5b66\u4e2d\u6d88\u5931\u7684\u4e00\u4e2a\u5b66\u671f\u201d\uff0c\u8fd9\u95e8\u8bfe\u5c06\u4f1a\u6559\u4f1a\u4f60\u8bb8\u591a\u5927\u5b66\u7684\u8bfe\u5802\u4e0a\u4e0d\u4f1a\u6d89\u53ca\u4f46\u5374\u5bf9\u6bcf\u4e2a CSer \u65e0\u6bd4\u91cd\u8981\u7684\u5de5\u5177\u6216\u8005\u77e5\u8bc6\u70b9\u3002\u4f8b\u5982 Shell \u7f16\u7a0b\u3001\u547d\u4ee4\u884c\u914d\u7f6e\u3001Git\u3001Vim\u3001 tmux \u3001 ssh \u7b49\u7b49\u3002\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u8ba1\u7b97\u673a\u5c0f\u767d\uff0c\u90a3\u4e48\u6211\u975e\u5e38\u5efa\u8bae\u4f60\u5b66\u4e60\u4e00\u4e0b\u8fd9\u95e8\u8bfe\uff0c\u56e0\u4e3a\u5b83\u57fa\u672c\u6d89\u53ca\u4e86\u672c\u4e66\u5fc5\u5b66\u5de5\u5177\u4e2d\u7684\u7edd\u5927\u90e8\u5206\u5185\u5bb9\u3002 \u9664\u4e86 MIT \u5b98\u65b9\u7684\u5b66\u4e60\u8d44\u6599\u5916\uff0c\u5317\u4eac\u5927\u5b66\u56fe\u7075\u73ed\u5f00\u8bbe\u7684\u524d\u6cbf\u8ba1\u7b97\u5b9e\u8df5\u4e2d\u4e5f\u5f00\u8bbe\u4e86\u76f8\u5173\u8bfe\u7a0b\uff0c\u8d44\u6599\u4f4d\u4e8e \u8fd9\u4e2a\u7f51\u7ad9 \u4e0b\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://missing.csail.mit.edu/2020/ \u8bfe\u7a0b\u4e2d\u6587\u7f51\u7ad9: https://missing-semester-cn.github.io/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J \u8bfe\u7a0b\u4e2d\u6587\u5b57\u5e55\u89c6\u9891\uff1a Missing_Semi_\u4e2d\u8bd1\u7ec4\uff08\u672a\u5b8c\uff09\uff1a https://space.bilibili.com/1010983811?spm_id_from=333.337.search-card.all.click \u5218\u9ed1\u9ed1a\uff08\u672a\u5b8c\uff09\uff1a https://space.bilibili.com/518734451?spm_id_from=333.337.search-card.all.click \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e00\u4e9b\u968f\u5802\u5c0f\u7ec3\u4e60\uff0c\u5177\u4f53\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/6035/","text":"","title":"6035"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/","text":"Stanford CS143: Compilers \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784 \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u6216 C++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u65af\u5766\u798f\u7684\u7f16\u8bd1\u539f\u7406\u8bfe\u7a0b\uff0c\u8bbe\u8ba1\u8005\u5f00\u53d1\u4e86\u4e00\u4e2a Class-Object-Oriented-Language\uff0c\u7b80\u79f0 COOL \u8bed\u8a00\u3002\u8fd9\u95e8\u8bfe\u7684\u6838\u5fc3\u5c31\u662f\u901a\u8fc7\u7406\u8bba\u77e5\u8bc6\u7684\u5b66\u4e60\uff0c\u4e3a COOL \u8bed\u8a00\u5b9e\u73b0\u4e00\u4e2a\u7f16\u8bd1\u5668\uff0c\u5c06 COOL \u9ad8\u7ea7\u8bed\u8a00\u7f16\u8bd1\u4e3a MIPS \u6c47\u7f16\u5e76\u5728 Spim \u8fd9\u4e2a MIPS \u6a21\u62df\u5668\u4e0a\u6210\u529f\u6267\u884c\u3002 \u7406\u8bba\u90e8\u5206\u57fa\u672c\u6309\u7167\u9f99\u4e66\u7684\u987a\u5e8f\u8986\u76d6\u4e86\u8bcd\u6cd5\u5206\u6790\u3001\u8bed\u6cd5\u5206\u6790\u3001\u8bed\u4e49\u5206\u6790\u3001\u8fd0\u884c\u65f6\u73af\u5883\u3001\u5bc4\u5b58\u5668\u5206\u914d\u3001\u4ee3\u7801\u4f18\u5316\u4e0e\u751f\u6210\u7b49\u5185\u5bb9\uff0c\u5b9e\u8df5\u90e8\u5206\u5219\u76f8\u5e94\u5730\u5206\u4e3a\u8bcd\u6cd5\u5206\u6790\u3001\u8bed\u6cd5\u5206\u6790\u3001\u8bed\u4e49\u5206\u6790\u3001\u4ee3\u7801\u751f\u6210\u56db\u4e2a\u9636\u6bb5\uff0c\u96be\u5ea6\u5faa\u5e8f\u6e10\u8fdb\uff0c\u5e76\u5728\u4f18\u5316\u90e8\u5206\u7ed9\u5b66\u751f\u7559\u4e0b\u4e86\u5f88\u5927\u7684\u8bbe\u8ba1\u7a7a\u95f4\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs143/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV17K4y147Bz \u8bfe\u7a0b\u6559\u6750\uff1a\u9f99\u4e66 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a5 \u4e2a\u4e66\u9762\u4f5c\u4e1a + 5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5e26\u4f60\u5b9e\u73b0\u4e00\u4e2a\u7f16\u8bd1\u5668 \u8d44\u6e90\u6c47\u603b @skyzluo \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 skyzluo/CS143-Compilers-Stanford - GitHub \u4e2d\u3002","title":"Stanford CS143: Compilers"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#stanford-cs143-compilers","text":"","title":"Stanford CS143: Compilers"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784 \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u6216 C++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u65af\u5766\u798f\u7684\u7f16\u8bd1\u539f\u7406\u8bfe\u7a0b\uff0c\u8bbe\u8ba1\u8005\u5f00\u53d1\u4e86\u4e00\u4e2a Class-Object-Oriented-Language\uff0c\u7b80\u79f0 COOL \u8bed\u8a00\u3002\u8fd9\u95e8\u8bfe\u7684\u6838\u5fc3\u5c31\u662f\u901a\u8fc7\u7406\u8bba\u77e5\u8bc6\u7684\u5b66\u4e60\uff0c\u4e3a COOL \u8bed\u8a00\u5b9e\u73b0\u4e00\u4e2a\u7f16\u8bd1\u5668\uff0c\u5c06 COOL \u9ad8\u7ea7\u8bed\u8a00\u7f16\u8bd1\u4e3a MIPS \u6c47\u7f16\u5e76\u5728 Spim \u8fd9\u4e2a MIPS \u6a21\u62df\u5668\u4e0a\u6210\u529f\u6267\u884c\u3002 \u7406\u8bba\u90e8\u5206\u57fa\u672c\u6309\u7167\u9f99\u4e66\u7684\u987a\u5e8f\u8986\u76d6\u4e86\u8bcd\u6cd5\u5206\u6790\u3001\u8bed\u6cd5\u5206\u6790\u3001\u8bed\u4e49\u5206\u6790\u3001\u8fd0\u884c\u65f6\u73af\u5883\u3001\u5bc4\u5b58\u5668\u5206\u914d\u3001\u4ee3\u7801\u4f18\u5316\u4e0e\u751f\u6210\u7b49\u5185\u5bb9\uff0c\u5b9e\u8df5\u90e8\u5206\u5219\u76f8\u5e94\u5730\u5206\u4e3a\u8bcd\u6cd5\u5206\u6790\u3001\u8bed\u6cd5\u5206\u6790\u3001\u8bed\u4e49\u5206\u6790\u3001\u4ee3\u7801\u751f\u6210\u56db\u4e2a\u9636\u6bb5\uff0c\u96be\u5ea6\u5faa\u5e8f\u6e10\u8fdb\uff0c\u5e76\u5728\u4f18\u5316\u90e8\u5206\u7ed9\u5b66\u751f\u7559\u4e0b\u4e86\u5f88\u5927\u7684\u8bbe\u8ba1\u7a7a\u95f4\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs143/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV17K4y147Bz \u8bfe\u7a0b\u6559\u6750\uff1a\u9f99\u4e66 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a5 \u4e2a\u4e66\u9762\u4f5c\u4e1a + 5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5e26\u4f60\u5b9e\u73b0\u4e00\u4e2a\u7f16\u8bd1\u5668","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#_3","text":"@skyzluo \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 skyzluo/CS143-Compilers-Stanford - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/15462/","text":"CMU 15-462 : COMPUTER GRAPHICS \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1a\u57fa\u7840\u7684\u5411\u91cf\u5fae\u79ef\u5206\u548c\u7ebf\u6027\u4ee3\u6570 , \u57fa\u7840\u7684 C/C++ \u7f16\u7a0b\u80fd\u529b\u3002 \u7f16\u7a0b\u8bed\u8a00\uff1aC/C++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u672c\u8bfe\u7a0b\u5168\u9762\u4ecb\u7ecd\u4e86\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u3002\u5b83\u4fa7\u91cd\u4e8e\u57fa\u672c\u6982\u5ff5\u548c\u6280\u672f\uff0c\u4ee5\u53ca\u5b83\u4eec\u4e0e\u56fe\u5f62\u4e2d\u591a\u4e2a\u95ee\u9898\u9886\u57df\uff08\u6e32\u67d3\u3001\u52a8\u753b\u3001\u51e0\u4f55\u3001\u6210\u50cf\uff09\u7684\u4ea4\u53c9\u5173\u7cfb\u3002\u4e3b\u9898\u5305\u62ec\uff1a\u91c7\u6837\u3001\u6df7\u53e0\u3001\u63d2\u503c\u3001\u5149\u6805\u5316\u3001\u51e0\u4f55\u53d8\u6362\u3001\u53c2\u6570\u5316\u3001\u53ef\u89c1\u6027\u3001\u5408\u6210\u3001\u8fc7\u6ee4\u3001\u5377\u79ef\u3001\u66f2\u7ebf\u548c\u66f2\u9762\u3001\u51e0\u4f55\u6570\u636e\u7ed3\u6784\u3001\u7ec6\u5206\u3001\u7f51\u683c\u5212\u5206\u3001\u7a7a\u95f4\u5c42\u6b21\u7ed3\u6784\u3001\u5149\u7ebf\u8ffd\u8e2a\u3001\u8f90\u5c04\u6d4b\u91cf\u3001\u53cd\u5c04\u7387\u3001\u5149\u573a\u3001\u51e0\u4f55\u5149\u5b66\uff0c\u8499\u7279\u5361\u6d1b\u6e32\u67d3\uff0c\u91cd\u8981\u6027\u91c7\u6837\uff0c\u76f8\u673a\u6a21\u578b\uff0c\u9ad8\u6027\u80fd\u5149\u7ebf\u8ffd\u8e2a\uff0c\u5fae\u5206\u65b9\u7a0b\uff0c\u65f6\u95f4\u79ef\u5206\uff0c\u6570\u503c\u5fae\u5206\uff0c\u57fa\u4e8e\u7269\u7406\u7684\u52a8\u753b\uff0c\u4f18\u5316\uff0c\u6570\u503c\u7ebf\u6027\u4ee3\u6570\uff0c\u9006\u8fd0\u52a8\u5b66\uff0c\u5085\u7acb\u53f6\u65b9\u6cd5\uff0c\u6570\u636e\u62df\u5408. \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://15462.courses.cs.cmu.edu/fall2022/ \u8bfe\u7a0b\u89c6\u9891\uff1a Youtube bilibili \u8bfe\u7a0b\u6559\u6750\uff1a15-462 \u6ca1\u6709\u552f\u4e00\u7684\u8bfe\u672c, \u63d0\u4f9b\u4e86\u5404\u79cd\u4e66\u7c4d\u4f9b\u4f60\u53c2\u8003. \u5982\u4e0b: Fundamentals of Computer Graphics. A K Peters, 2009 Computer Graphics: Principles and Practice Physically Based Rendering: From Theory to Implementation \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u4e3b\u9875","title":"CMU 15-462"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/15462/#cmu-15-462-computer-graphics","text":"","title":"CMU 15-462 : COMPUTER GRAPHICS"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/15462/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1a\u57fa\u7840\u7684\u5411\u91cf\u5fae\u79ef\u5206\u548c\u7ebf\u6027\u4ee3\u6570 , \u57fa\u7840\u7684 C/C++ \u7f16\u7a0b\u80fd\u529b\u3002 \u7f16\u7a0b\u8bed\u8a00\uff1aC/C++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u672c\u8bfe\u7a0b\u5168\u9762\u4ecb\u7ecd\u4e86\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u3002\u5b83\u4fa7\u91cd\u4e8e\u57fa\u672c\u6982\u5ff5\u548c\u6280\u672f\uff0c\u4ee5\u53ca\u5b83\u4eec\u4e0e\u56fe\u5f62\u4e2d\u591a\u4e2a\u95ee\u9898\u9886\u57df\uff08\u6e32\u67d3\u3001\u52a8\u753b\u3001\u51e0\u4f55\u3001\u6210\u50cf\uff09\u7684\u4ea4\u53c9\u5173\u7cfb\u3002\u4e3b\u9898\u5305\u62ec\uff1a\u91c7\u6837\u3001\u6df7\u53e0\u3001\u63d2\u503c\u3001\u5149\u6805\u5316\u3001\u51e0\u4f55\u53d8\u6362\u3001\u53c2\u6570\u5316\u3001\u53ef\u89c1\u6027\u3001\u5408\u6210\u3001\u8fc7\u6ee4\u3001\u5377\u79ef\u3001\u66f2\u7ebf\u548c\u66f2\u9762\u3001\u51e0\u4f55\u6570\u636e\u7ed3\u6784\u3001\u7ec6\u5206\u3001\u7f51\u683c\u5212\u5206\u3001\u7a7a\u95f4\u5c42\u6b21\u7ed3\u6784\u3001\u5149\u7ebf\u8ffd\u8e2a\u3001\u8f90\u5c04\u6d4b\u91cf\u3001\u53cd\u5c04\u7387\u3001\u5149\u573a\u3001\u51e0\u4f55\u5149\u5b66\uff0c\u8499\u7279\u5361\u6d1b\u6e32\u67d3\uff0c\u91cd\u8981\u6027\u91c7\u6837\uff0c\u76f8\u673a\u6a21\u578b\uff0c\u9ad8\u6027\u80fd\u5149\u7ebf\u8ffd\u8e2a\uff0c\u5fae\u5206\u65b9\u7a0b\uff0c\u65f6\u95f4\u79ef\u5206\uff0c\u6570\u503c\u5fae\u5206\uff0c\u57fa\u4e8e\u7269\u7406\u7684\u52a8\u753b\uff0c\u4f18\u5316\uff0c\u6570\u503c\u7ebf\u6027\u4ee3\u6570\uff0c\u9006\u8fd0\u52a8\u5b66\uff0c\u5085\u7acb\u53f6\u65b9\u6cd5\uff0c\u6570\u636e\u62df\u5408.","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/15462/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://15462.courses.cs.cmu.edu/fall2022/ \u8bfe\u7a0b\u89c6\u9891\uff1a Youtube bilibili \u8bfe\u7a0b\u6559\u6750\uff1a15-462 \u6ca1\u6709\u552f\u4e00\u7684\u8bfe\u672c, \u63d0\u4f9b\u4e86\u5404\u79cd\u4e66\u7c4d\u4f9b\u4f60\u53c2\u8003. \u5982\u4e0b: Fundamentals of Computer Graphics. A K Peters, 2009 Computer Graphics: Principles and Practice Physically Based Rendering: From Theory to Implementation \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u4e3b\u9875","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS148/","text":"Stanford CS148 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cPython \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u8fd9\u662f\u4e00\u95e8\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u7684\u5165\u95e8\u8bfe\u7a0b\uff0c\u8fd9\u95e8\u8bfe\u7684\u4e00\u5f00\u59cb\u4f7f\u7528 Blender \u53bb\u751f\u6210\u56fe\u50cf\uff0c\u5e76\u4e14\u7406\u89e3\u5e95\u5c42\u7684\u6570\u5b66\u77e5\u8bc6\uff0c\u5305\u62ec\u4e09\u89d2\u5f62\u3001\u6cd5\u5411\u91cf\u3001\u63d2\u503c\u3001\u7eb9\u7406\u6620\u5c04\u3001\u51f9\u51f8\u8d34\u56fe\u7b49\u7b49\u3002\u4e4b\u540e\u4f1a\u4ecb\u7ecd\u5149\u7ebf\u548c\u989c\u8272\u4ee5\u53ca\u5b83\u4eec\u5982\u4f55\u5f71\u54cd\u8ba1\u7b97\u673a\u7684\u663e\u793a\u548c\u6253\u5370\u3002\u540c\u65f6\u4e5f\u4f1a\u4ecb\u7ecd BRDF \u4ee5\u53ca\u4e00\u4e9b\u57fa\u672c\u7684\u5149\u7167\u548c\u7740\u8272\u6a21\u578b\u3002\u8bfe\u7a0b\u7684\u6700\u540e\uff0c\u4f1a\u6d89\u53ca\u5230\u5149\u7ebf\u8ffd\u8e2a\u3001\u53cd\u8d70\u6837\u3001\u52a0\u901f\u7ed3\u6784\u7b49\u5185\u5bb9\u3002 \u5177\u4f53\u8bfe\u7a0b\u4fe1\u606f\u53ef\u4ee5\u67e5\u770b \u8bfe\u7a0b\u7f51\u7ad9 \u3002 \u8fd9\u95e8\u8bfe\u7a0b\u6bd4\u8d77 GAMES101 \u6d45\u4e00\u4e9b\uff0c\u7f16\u7a0b\u8bed\u8a00\u4f7f\u7528\u7684\u662f Python\uff0c\u5bf9\u4e8e\u4e0d\u719f\u6089 C++ \u7684\u540c\u5b66\u6bd4\u8f83\u53cb\u597d\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a CS148 \u8bfe\u7a0b\u89c6\u9891\uff1a\u65e0\uff0c\u76f4\u63a5\u770b lecture \u5c31\u53ef\u4ee5\u4e86\uff0c\u4e5f\u53ef\u4ee5\u53c2\u8003 GAMES101 \u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aFundamentals of Computer Graphics \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 8 \u4e2a hw, 1 \u4e2a final project","title":"Stanford CS148"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS148/#stanford-cs148","text":"","title":"Stanford CS148"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS148/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cPython \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u8fd9\u662f\u4e00\u95e8\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u7684\u5165\u95e8\u8bfe\u7a0b\uff0c\u8fd9\u95e8\u8bfe\u7684\u4e00\u5f00\u59cb\u4f7f\u7528 Blender \u53bb\u751f\u6210\u56fe\u50cf\uff0c\u5e76\u4e14\u7406\u89e3\u5e95\u5c42\u7684\u6570\u5b66\u77e5\u8bc6\uff0c\u5305\u62ec\u4e09\u89d2\u5f62\u3001\u6cd5\u5411\u91cf\u3001\u63d2\u503c\u3001\u7eb9\u7406\u6620\u5c04\u3001\u51f9\u51f8\u8d34\u56fe\u7b49\u7b49\u3002\u4e4b\u540e\u4f1a\u4ecb\u7ecd\u5149\u7ebf\u548c\u989c\u8272\u4ee5\u53ca\u5b83\u4eec\u5982\u4f55\u5f71\u54cd\u8ba1\u7b97\u673a\u7684\u663e\u793a\u548c\u6253\u5370\u3002\u540c\u65f6\u4e5f\u4f1a\u4ecb\u7ecd BRDF \u4ee5\u53ca\u4e00\u4e9b\u57fa\u672c\u7684\u5149\u7167\u548c\u7740\u8272\u6a21\u578b\u3002\u8bfe\u7a0b\u7684\u6700\u540e\uff0c\u4f1a\u6d89\u53ca\u5230\u5149\u7ebf\u8ffd\u8e2a\u3001\u53cd\u8d70\u6837\u3001\u52a0\u901f\u7ed3\u6784\u7b49\u5185\u5bb9\u3002 \u5177\u4f53\u8bfe\u7a0b\u4fe1\u606f\u53ef\u4ee5\u67e5\u770b \u8bfe\u7a0b\u7f51\u7ad9 \u3002 \u8fd9\u95e8\u8bfe\u7a0b\u6bd4\u8d77 GAMES101 \u6d45\u4e00\u4e9b\uff0c\u7f16\u7a0b\u8bed\u8a00\u4f7f\u7528\u7684\u662f Python\uff0c\u5bf9\u4e8e\u4e0d\u719f\u6089 C++ \u7684\u540c\u5b66\u6bd4\u8f83\u53cb\u597d\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS148/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a CS148 \u8bfe\u7a0b\u89c6\u9891\uff1a\u65e0\uff0c\u76f4\u63a5\u770b lecture \u5c31\u53ef\u4ee5\u4e86\uff0c\u4e5f\u53ef\u4ee5\u53c2\u8003 GAMES101 \u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aFundamentals of Computer Graphics \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 8 \u4e2a hw, 1 \u4e2a final project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS184/","text":"","title":"CS184"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/","text":"GAMES101 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUCSB \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cC++ \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u672c\u8bfe\u7a0b\u5c06\u5168\u9762\u800c\u7cfb\u7edf\u5730\u4ecb\u7ecd\u73b0\u4ee3\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u7684\u56db\u5927\u7ec4\u6210\u90e8\u5206\uff1a\uff081\uff09\u5149\u6805\u5316\u6210\u50cf\uff0c\uff082\uff09\u51e0\u4f55\u8868\u793a\uff0c\uff083\uff09\u5149\u7684\u4f20\u64ad\u7406\u8bba\uff0c\u4ee5\u53ca\uff084\uff09\u52a8\u753b\u4e0e\u6a21\u62df\u3002\u6bcf\u4e2a\u65b9\u9762\u90fd\u4f1a\u4ece\u57fa\u7840\u539f\u7406\u51fa\u53d1\u8bb2\u89e3\u5230\u5b9e\u9645\u5e94\u7528\uff0c\u5e76\u4ecb\u7ecd\u524d\u6cbf\u7684\u7406\u8bba\u7814\u7a76\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\uff0c\u4f60\u53ef\u4ee5\u5b66\u4e60\u5230\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u80cc\u540e\u7684\u6570\u5b66\u548c\u7269\u7406\u77e5\u8bc6\uff0c\u5e76\u953b\u70bc\u5b9e\u9645\u7684\u7f16\u7a0b\u80fd\u529b\u3002 \u4f5c\u4e3a\u5165\u95e8\uff0c\u672c\u8bfe\u7a0b\u4f1a\u5c3d\u53ef\u80fd\u7684\u8986\u76d6\u56fe\u5f62\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff0c\u628a\u6bcf\u4e00\u90e8\u5206\u7684\u57fa\u672c\u6982\u5ff5\u90fd\u5c3d\u53ef\u80fd\u8bf4\u6e05\u695a\uff0c\u8ba9\u5927\u5bb6\u5bf9\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u6709\u4e00\u4e2a\u5b8c\u6574\u7684\u3001\u81ea\u4e0a\u800c\u4e0b\u7684\u5168\u5c40\u628a\u63e1\u3002\u5168\u5c40\u7684\u7406\u89e3\u5f88\u91cd\u8981\uff0c\u5b66\u5b8c\u672c\u8bfe\u7a0b\u540e\uff0c\u4f60\u4f1a\u4e86\u89e3\u5230\u56fe\u5f62\u5b66\u4e0d\u7b49\u4e8e OpenGL\uff0c\u4e0d\u7b49\u4e8e\u5149\u7ebf\u8ffd\u8e2a\uff0c\u800c\u662f\u4e00\u5957\u751f\u6210\u6574\u4e2a\u865a\u62df\u4e16\u754c\u7684\u65b9\u6cd5\u3002\u4ece\u672c\u8bfe\u7a0b\u7684\u6807\u9898\uff0c\u5927\u5bb6\u8fd8\u53ef\u4ee5\u770b\u5230\u201c\u73b0\u4ee3\u201d\u4e8c\u5b57\uff0c\u4e5f\u5c31\u662f\u8bf4\uff0c\u8fd9\u95e8\u8bfe\u6240\u8981\u7ed9\u5927\u5bb6\u4ecb\u7ecd\u7684\u90fd\u662f\u73b0\u4ee3\u5316\u7684\u77e5\u8bc6\uff0c\u4e5f\u90fd\u662f\u73b0\u4ee3\u56fe\u5f62\u5b66\u5de5\u4e1a\u754c\u9700\u8981\u7684\u56fe\u5f62\u5b66\u57fa\u7840\u3002 GAMES101 \u662f\u56fd\u5185\u76f8\u5f53\u6709\u540d\u7684\u56fe\u5f62\u5b66\u516c\u5f00\u8bfe\u3002\u548c\u5927\u5bb6\u5370\u8c61\u4e2d\u6ee1\u662f\u6570\u5b66\u548c\u7b97\u6cd5\u7684\u56fe\u5f62\u5b66\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4ee5\u5341\u5206\u751f\u52a8\u7684\u65b9\u5f0f\u5e26\u6211\u4eec\u8fdb\u5165\u4e86\u56fe\u5f62\u5b66\u8fd9\u4e2a\u9886\u57df\u7684\u5927\u95e8\u3002 \u6bcf\u4e2aproject\u4ee3\u7801\u91cf\u90fd\u4e0d\u4f1a\u5f88\u591a\uff0c\u4f46\u662f\u5374\u90fd\u5341\u5206\u6709\u8da3\u3002\u5728\u505a\u8fd9\u4e9bproject\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u4f1a\u5b9e\u73b0\u7b80\u5355\u7684\u5149\u6805\u5316\uff0c\u5e76\u6e32\u67d3\u4e00\u4e2a\u7b80\u6613\u7684\u6a21\u578b\uff0c\u6211\u4eec\u8fd8\u4f1a\u5b9e\u73b0\u5149\u7ebf\u8ffd\u8e2a\uff0c\u4ee5\u8ffd\u6c42\u6e32\u67d3\u66f4\u597d\u7684\u8d28\u91cf\u3002\u6bcf\u4e2aproject\u4e2d\u8fd8\u6709\u9009\u505a\u7684\u62d3\u5c55\u4f5c\u4e1a\uff0c\u53ef\u4ee5\u8ba9\u6211\u4eec\u6e32\u67d3\u7684\u6a21\u578b\u5177\u6709\u66f4\u597d\u7684\u8d28\u91cf\uff0c\u66f4\u5feb\u7684\u6e32\u67d3\u901f\u5ea6\u3002 \u559c\u6b22\u73a9\u6e38\u620f\u7684\u540c\u5b66\u5e94\u8be5\u5bf9\u5b9e\u65f6\u5149\u7ebf\u8ffd\u8e2a\u6709\u4e00\u5b9a\u7684\u4e86\u89e3\uff0c\u8fd9\u95e8\u8bfe\u7684\u8001\u5e08\u95eb\u4ee4\u742a\u5c31\u5bf9\u8fd9\u4e00\u6280\u672f\u6709\u76f4\u63a5\u7684\u63a8\u52a8\u4f5c\u7528\u3002 \u8ddf\u7740\u8bfe\u7a0b\u7684\u89c6\u9891\uff0c\u505a\u5b8c\u6bcf\u4e00\u4e2aproject\uff0c\u76f8\u4fe1\u4f60\u4f1a\u548c\u6211\u4e00\u6837\u5bf9\u56fe\u5f62\u5b66\uff0c\u4ee5\u53ca\u73b0\u4ee3\u7684\u6e32\u67d3\u6280\u672f\u4ea7\u751f\u6d53\u539a\u7684\u5174\u8da3\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES101 , GAMES101 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili , \u5b98\u7f51 \u8bfe\u7a0b\u6559\u6750\uff1aFundamentals of Computer Graphics \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 8 \u4e2a project \u8d44\u6e90\u6c47\u603b @ysj1173886760 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 ysj1173886760/Learning: graphics/GAMES101 - GitHub \u4e2d\u3002","title":"GAMES101"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/#games101","text":"","title":"GAMES101"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUCSB \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cC++ \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u672c\u8bfe\u7a0b\u5c06\u5168\u9762\u800c\u7cfb\u7edf\u5730\u4ecb\u7ecd\u73b0\u4ee3\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u7684\u56db\u5927\u7ec4\u6210\u90e8\u5206\uff1a\uff081\uff09\u5149\u6805\u5316\u6210\u50cf\uff0c\uff082\uff09\u51e0\u4f55\u8868\u793a\uff0c\uff083\uff09\u5149\u7684\u4f20\u64ad\u7406\u8bba\uff0c\u4ee5\u53ca\uff084\uff09\u52a8\u753b\u4e0e\u6a21\u62df\u3002\u6bcf\u4e2a\u65b9\u9762\u90fd\u4f1a\u4ece\u57fa\u7840\u539f\u7406\u51fa\u53d1\u8bb2\u89e3\u5230\u5b9e\u9645\u5e94\u7528\uff0c\u5e76\u4ecb\u7ecd\u524d\u6cbf\u7684\u7406\u8bba\u7814\u7a76\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\uff0c\u4f60\u53ef\u4ee5\u5b66\u4e60\u5230\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u80cc\u540e\u7684\u6570\u5b66\u548c\u7269\u7406\u77e5\u8bc6\uff0c\u5e76\u953b\u70bc\u5b9e\u9645\u7684\u7f16\u7a0b\u80fd\u529b\u3002 \u4f5c\u4e3a\u5165\u95e8\uff0c\u672c\u8bfe\u7a0b\u4f1a\u5c3d\u53ef\u80fd\u7684\u8986\u76d6\u56fe\u5f62\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff0c\u628a\u6bcf\u4e00\u90e8\u5206\u7684\u57fa\u672c\u6982\u5ff5\u90fd\u5c3d\u53ef\u80fd\u8bf4\u6e05\u695a\uff0c\u8ba9\u5927\u5bb6\u5bf9\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u6709\u4e00\u4e2a\u5b8c\u6574\u7684\u3001\u81ea\u4e0a\u800c\u4e0b\u7684\u5168\u5c40\u628a\u63e1\u3002\u5168\u5c40\u7684\u7406\u89e3\u5f88\u91cd\u8981\uff0c\u5b66\u5b8c\u672c\u8bfe\u7a0b\u540e\uff0c\u4f60\u4f1a\u4e86\u89e3\u5230\u56fe\u5f62\u5b66\u4e0d\u7b49\u4e8e OpenGL\uff0c\u4e0d\u7b49\u4e8e\u5149\u7ebf\u8ffd\u8e2a\uff0c\u800c\u662f\u4e00\u5957\u751f\u6210\u6574\u4e2a\u865a\u62df\u4e16\u754c\u7684\u65b9\u6cd5\u3002\u4ece\u672c\u8bfe\u7a0b\u7684\u6807\u9898\uff0c\u5927\u5bb6\u8fd8\u53ef\u4ee5\u770b\u5230\u201c\u73b0\u4ee3\u201d\u4e8c\u5b57\uff0c\u4e5f\u5c31\u662f\u8bf4\uff0c\u8fd9\u95e8\u8bfe\u6240\u8981\u7ed9\u5927\u5bb6\u4ecb\u7ecd\u7684\u90fd\u662f\u73b0\u4ee3\u5316\u7684\u77e5\u8bc6\uff0c\u4e5f\u90fd\u662f\u73b0\u4ee3\u56fe\u5f62\u5b66\u5de5\u4e1a\u754c\u9700\u8981\u7684\u56fe\u5f62\u5b66\u57fa\u7840\u3002 GAMES101 \u662f\u56fd\u5185\u76f8\u5f53\u6709\u540d\u7684\u56fe\u5f62\u5b66\u516c\u5f00\u8bfe\u3002\u548c\u5927\u5bb6\u5370\u8c61\u4e2d\u6ee1\u662f\u6570\u5b66\u548c\u7b97\u6cd5\u7684\u56fe\u5f62\u5b66\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4ee5\u5341\u5206\u751f\u52a8\u7684\u65b9\u5f0f\u5e26\u6211\u4eec\u8fdb\u5165\u4e86\u56fe\u5f62\u5b66\u8fd9\u4e2a\u9886\u57df\u7684\u5927\u95e8\u3002 \u6bcf\u4e2aproject\u4ee3\u7801\u91cf\u90fd\u4e0d\u4f1a\u5f88\u591a\uff0c\u4f46\u662f\u5374\u90fd\u5341\u5206\u6709\u8da3\u3002\u5728\u505a\u8fd9\u4e9bproject\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u4f1a\u5b9e\u73b0\u7b80\u5355\u7684\u5149\u6805\u5316\uff0c\u5e76\u6e32\u67d3\u4e00\u4e2a\u7b80\u6613\u7684\u6a21\u578b\uff0c\u6211\u4eec\u8fd8\u4f1a\u5b9e\u73b0\u5149\u7ebf\u8ffd\u8e2a\uff0c\u4ee5\u8ffd\u6c42\u6e32\u67d3\u66f4\u597d\u7684\u8d28\u91cf\u3002\u6bcf\u4e2aproject\u4e2d\u8fd8\u6709\u9009\u505a\u7684\u62d3\u5c55\u4f5c\u4e1a\uff0c\u53ef\u4ee5\u8ba9\u6211\u4eec\u6e32\u67d3\u7684\u6a21\u578b\u5177\u6709\u66f4\u597d\u7684\u8d28\u91cf\uff0c\u66f4\u5feb\u7684\u6e32\u67d3\u901f\u5ea6\u3002 \u559c\u6b22\u73a9\u6e38\u620f\u7684\u540c\u5b66\u5e94\u8be5\u5bf9\u5b9e\u65f6\u5149\u7ebf\u8ffd\u8e2a\u6709\u4e00\u5b9a\u7684\u4e86\u89e3\uff0c\u8fd9\u95e8\u8bfe\u7684\u8001\u5e08\u95eb\u4ee4\u742a\u5c31\u5bf9\u8fd9\u4e00\u6280\u672f\u6709\u76f4\u63a5\u7684\u63a8\u52a8\u4f5c\u7528\u3002 \u8ddf\u7740\u8bfe\u7a0b\u7684\u89c6\u9891\uff0c\u505a\u5b8c\u6bcf\u4e00\u4e2aproject\uff0c\u76f8\u4fe1\u4f60\u4f1a\u548c\u6211\u4e00\u6837\u5bf9\u56fe\u5f62\u5b66\uff0c\u4ee5\u53ca\u73b0\u4ee3\u7684\u6e32\u67d3\u6280\u672f\u4ea7\u751f\u6d53\u539a\u7684\u5174\u8da3\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES101 , GAMES101 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili , \u5b98\u7f51 \u8bfe\u7a0b\u6559\u6750\uff1aFundamentals of Computer Graphics \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 8 \u4e2a project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/#_3","text":"@ysj1173886760 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 ysj1173886760/Learning: graphics/GAMES101 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/","text":"GAMES103 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStyle3D/OSU \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0c\u5927\u5b66\u7269\u7406\uff0c\u7f16\u7a0b\u80fd\u529b\uff0c\u57fa\u672c\u56fe\u5f62\u77e5\u8bc6 \u7f16\u7a0b\u8bed\u8a00\uff1aC# \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd\uff1a \u672c\u8bfe\u7a0b\u5c06\u4f5c\u4e3a\u57fa\u4e8e\u7269\u7406\u7684\u8ba1\u7b97\u673a\u52a8\u753b\u6280\u672f\u5165\u95e8\uff0c\u7740\u91cd\u4ecb\u7ecd\u5404\u79cd\u57fa\u7840\u7684\u7269\u7406\u52a8\u753b\u6a21\u62df\u6280\u672f\u3002 \u8be5\u8bfe\u7a0b\u4e3b\u8981\u6db5\u76d6\u56db\u4e2a\u65b9\u5411\uff0c\u5206\u522b\u4e3a\uff1a1\uff09\u521a\u4f53\u6a21\u62df\uff1b2\uff09\u8d28\u70b9\u5f39\u7c27\u3001\u7ea6\u675f\u4e0e\u5e03\u6599\u6a21\u62df\uff1b3\uff09\u57fa\u4e8e\u6709\u9650\u5143\u7684\u5f39\u6027\u4f53\u6a21\u62df\uff1b4\uff09\u6d41\u4f53\u6a21\u62df\u3002 \u672c\u8bfe\u7a0b\u5185\u5bb9\u5c06\u4e0d\u4f1a\u6d89\u53ca\u5177\u4f53\u7684\u7269\u7406\u6a21\u62df\u5f15\u64ce\uff0c\u4f46\u4f1a\u8ba8\u8bba\u5404\u79cd\u5f15\u64ce\u80cc\u540e\u7684\u6280\u672f\uff0c\u4ee5\u53ca\u5b83\u4eec\u7684\u4f18\u7f3a\u70b9\u7b49\u7b49\u3002\u7531\u4e8e\u5f00\u53d1\u5b66\u4e60\u7269\u7406\u6a21\u62df\u9700\u8981\u4e00\u5b9a\u7684\u6570\u5b66\u57fa\u7840\uff0c\u8bfe\u7a0b\u521d\u59cb\u9636\u6bb5\u4e5f\u4f1a\u82b1\u4e00\u5b9a\u7684\u65f6\u95f4\u590d\u4e60\u5fc5\u5907\u7684\u6570\u5b66\u77e5\u8bc6\u3002\u987a\u5229\u5b8c\u6210\u8bfe\u7a0b\u4e4b\u540e\uff0c\u540c\u5b66\u4eec\u5e94\u8be5\u4f1a\u5bf9\u57fa\u7840\u7684\u7269\u7406\u6a21\u62df\u6280\u672f\u6709\u6df1\u5165\u7406\u89e3\uff0c\u5bf9\u9ad8\u7ea7\u7684\u6a21\u62df\u6280\u672f\u4e5f\u4f1a\u6709\u90e8\u5206\u63a5\u89e6\u3002 \u56fe\u5f62\u5b66\u53ef\u7c97\u7565\u5206\u4e3a\u6e32\u67d3\u3001\u6a21\u62df\u3001\u51e0\u4f55\u4e09\u4e2a\u9886\u57df\u3002GAMES101 \u548c GAMES202 \u4e3b\u8981\u4ee5\u6e32\u67d3\u4e3a\u4e3b\uff0c\u800c\u5bf9\u4e8e\u7269\u7406\u6a21\u62df\uff0cGAMES103 \u5219\u662f\u5f88\u68d2\u7684\u5b66\u4e60\u8d44\u6e90\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES103 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u53c2\u8003\u8d44\u6599\uff1a \u8bfe\u7a0bPPT \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5171\u56db\u6b21\u4f5c\u4e1a\uff0c\u53ef\u89c1\u5b98\u65b9BBS\u5c0f\u7a0b\u5e8f\u6216\u975e\u5b98\u65b9\u7684Repo\uff1a GAMES103 HW \u8d44\u6e90\u6c47\u603b @indevn \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u8981\u6c42\u90fd\u6c47\u603b\u5728 GAMES103 Unoffical \u4e2d\u3002\u5bf9\u4e8e\u4f5c\u4e1a\u7684\u5177\u4f53\u5b9e\u73b0\uff0c\u5728\u77e5\u4e4e\u4e0a\u6709\u5f88\u591a\u76f8\u5173\u6587\u7ae0\u8fdb\u884c\u4e86\u7ec6\u81f4\u8bb2\u89e3\u53ef\u4ee5\u53c2\u8003\u3002","title":"GAMES103"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/#games103","text":"","title":"GAMES103"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStyle3D/OSU \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0c\u5927\u5b66\u7269\u7406\uff0c\u7f16\u7a0b\u80fd\u529b\uff0c\u57fa\u672c\u56fe\u5f62\u77e5\u8bc6 \u7f16\u7a0b\u8bed\u8a00\uff1aC# \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd\uff1a \u672c\u8bfe\u7a0b\u5c06\u4f5c\u4e3a\u57fa\u4e8e\u7269\u7406\u7684\u8ba1\u7b97\u673a\u52a8\u753b\u6280\u672f\u5165\u95e8\uff0c\u7740\u91cd\u4ecb\u7ecd\u5404\u79cd\u57fa\u7840\u7684\u7269\u7406\u52a8\u753b\u6a21\u62df\u6280\u672f\u3002 \u8be5\u8bfe\u7a0b\u4e3b\u8981\u6db5\u76d6\u56db\u4e2a\u65b9\u5411\uff0c\u5206\u522b\u4e3a\uff1a1\uff09\u521a\u4f53\u6a21\u62df\uff1b2\uff09\u8d28\u70b9\u5f39\u7c27\u3001\u7ea6\u675f\u4e0e\u5e03\u6599\u6a21\u62df\uff1b3\uff09\u57fa\u4e8e\u6709\u9650\u5143\u7684\u5f39\u6027\u4f53\u6a21\u62df\uff1b4\uff09\u6d41\u4f53\u6a21\u62df\u3002 \u672c\u8bfe\u7a0b\u5185\u5bb9\u5c06\u4e0d\u4f1a\u6d89\u53ca\u5177\u4f53\u7684\u7269\u7406\u6a21\u62df\u5f15\u64ce\uff0c\u4f46\u4f1a\u8ba8\u8bba\u5404\u79cd\u5f15\u64ce\u80cc\u540e\u7684\u6280\u672f\uff0c\u4ee5\u53ca\u5b83\u4eec\u7684\u4f18\u7f3a\u70b9\u7b49\u7b49\u3002\u7531\u4e8e\u5f00\u53d1\u5b66\u4e60\u7269\u7406\u6a21\u62df\u9700\u8981\u4e00\u5b9a\u7684\u6570\u5b66\u57fa\u7840\uff0c\u8bfe\u7a0b\u521d\u59cb\u9636\u6bb5\u4e5f\u4f1a\u82b1\u4e00\u5b9a\u7684\u65f6\u95f4\u590d\u4e60\u5fc5\u5907\u7684\u6570\u5b66\u77e5\u8bc6\u3002\u987a\u5229\u5b8c\u6210\u8bfe\u7a0b\u4e4b\u540e\uff0c\u540c\u5b66\u4eec\u5e94\u8be5\u4f1a\u5bf9\u57fa\u7840\u7684\u7269\u7406\u6a21\u62df\u6280\u672f\u6709\u6df1\u5165\u7406\u89e3\uff0c\u5bf9\u9ad8\u7ea7\u7684\u6a21\u62df\u6280\u672f\u4e5f\u4f1a\u6709\u90e8\u5206\u63a5\u89e6\u3002 \u56fe\u5f62\u5b66\u53ef\u7c97\u7565\u5206\u4e3a\u6e32\u67d3\u3001\u6a21\u62df\u3001\u51e0\u4f55\u4e09\u4e2a\u9886\u57df\u3002GAMES101 \u548c GAMES202 \u4e3b\u8981\u4ee5\u6e32\u67d3\u4e3a\u4e3b\uff0c\u800c\u5bf9\u4e8e\u7269\u7406\u6a21\u62df\uff0cGAMES103 \u5219\u662f\u5f88\u68d2\u7684\u5b66\u4e60\u8d44\u6e90\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES103 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u53c2\u8003\u8d44\u6599\uff1a \u8bfe\u7a0bPPT \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5171\u56db\u6b21\u4f5c\u4e1a\uff0c\u53ef\u89c1\u5b98\u65b9BBS\u5c0f\u7a0b\u5e8f\u6216\u975e\u5b98\u65b9\u7684Repo\uff1a GAMES103 HW","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/#_3","text":"@indevn \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u8981\u6c42\u90fd\u6c47\u603b\u5728 GAMES103 Unoffical \u4e2d\u3002\u5bf9\u4e8e\u4f5c\u4e1a\u7684\u5177\u4f53\u5b9e\u73b0\uff0c\u5728\u77e5\u4e4e\u4e0a\u6709\u5f88\u591a\u76f8\u5173\u6587\u7ae0\u8fdb\u884c\u4e86\u7ec6\u81f4\u8bb2\u89e3\u53ef\u4ee5\u53c2\u8003\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES202/","text":"GAMES202 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUCSB \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cC++\uff0cGAMES101 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u672c\u8bfe\u7a0b\u5c06\u5168\u9762\u5730\u4ecb\u7ecd\u73b0\u4ee3\u5b9e\u65f6\u6e32\u67d3\u4e2d\u7684\u5173\u952e\u95ee\u9898\u4e0e\u89e3\u51b3\u65b9\u6cd5\u3002\u7531\u4e8e\u5b9e\u65f6\u6e32\u67d3 (>30 FPS) \u5bf9\u901f\u5ea6\u8981\u6c42\u6781\u9ad8\uff0c\u56e0\u6b64\u672c\u8bfe\u7a0b\u7684\u5173\u6ce8\u70b9\u5c06\u662f\u5728\u82db\u523b\u7684\u65f6\u95f4\u9650\u5236\u4e0b\uff0c\u4eba\u4eec\u5982\u4f55\u6253\u7834\u901f\u5ea6\u4e0e\u8d28\u91cf\u4e4b\u95f4\u7684\u6743\u8861\uff0c\u540c\u65f6\u4fdd\u8bc1\u5b9e\u65f6\u7684\u9ad8\u901f\u5ea6\u4e0e\u7167\u7247\u7ea7\u7684\u771f\u5b9e\u611f\u3002 \u672c\u8bfe\u7a0b\u5c06\u4ee5\u4e13\u9898\u7684\u5f62\u5f0f\u5448\u73b0\uff0c\u8bfe\u7a0b\u5185\u5bb9\u4f1a\u8986\u76d6\u5b66\u672f\u754c\u4e0e\u5de5\u4e1a\u754c\u7684\u524d\u6cbf\u5185\u5bb9\uff0c\u5305\u62ec\uff1a\uff081\uff09\u5b9e\u65f6\u8f6f\u9634\u5f71\u7684\u6e32\u67d3\uff1b\uff082\uff09\u73af\u5883\u5149\u7167\uff1b\uff083\uff09\u57fa\u4e8e\u9884\u8ba1\u7b97\u6216\u65e0\u9884\u8ba1\u7b97\u7684\u5168\u5c40\u5149\u7167\uff1b\uff084\uff09\u57fa\u4e8e\u7269\u7406\u7684\u7740\u8272\u6a21\u578b\u4e0e\u65b9\u6cd5\uff1b\uff085\uff09\u5b9e\u65f6\u5149\u7ebf\u8ffd\u8e2a\uff1b\uff086\uff09\u6297\u952f\u9f7f\u4e0e\u8d85\u91c7\u6837\uff1b\u4ee5\u53ca\u4e00\u4e9b\u5e38\u89c1\u7684\u52a0\u901f\u65b9\u5f0f\u7b49\u7b49\u3002 \u9664\u4e86\u6700\u65b0\u6700\u5168\u7684\u5185\u5bb9\u4e4b\u5916\uff0c\u672c\u8bfe\u7a0b\u4e0e\u5176\u5b83\u4efb\u4f55\u5b9e\u65f6\u6e32\u67d3\u7684\u6559\u7a0b\u8fd8\u6709\u4e00\u4e2a\u91cd\u8981\u7684\u533a\u522b\uff0c\u90a3\u5c31\u662f\u672c\u8bfe\u7a0b\u4e0d\u4f1a\u8bb2\u6388\u4efb\u4f55\u4e0e\u6e38\u620f\u5f15\u64ce\u7684\u4f7f\u7528\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5e76\u4e14\u4e0d\u4f1a\u7279\u522b\u5f3a\u8c03\u5177\u4f53\u7684\u7740\u8272\u5668\u5b9e\u73b0\u6280\u672f\uff0c\u800c\u4e3b\u8981\u8bb2\u6388\u5b9e\u65f6\u6e32\u67d3\u80cc\u540e\u7684\u79d1\u5b66\u4e0e\u77e5\u8bc6\u3002\u672c\u8bfe\u7a0b\u7684\u76ee\u6807\u662f\u5728\u4f60\u5b66\u4e60\u5b8c\u8fd9\u95e8\u8bfe\u7684\u65f6\u5019\uff0c\u4f60\u5c06\u6709\u6df1\u539a\u7684\u529f\u5e95\u53bb\u5f00\u53d1\u4e00\u4e2a\u5c5e\u4e8e\u4f60\u81ea\u5df1\u7684\u5b9e\u65f6\u6e32\u67d3\u5f15\u64ce\u3002 \u4f5c\u4e3a GAMES101 \u7684\u8fdb\u9636\u8bfe\u7a0b\uff0c\u96be\u5ea6\u6709\u4e00\u5b9a\u7684\u63d0\u5347\uff0c\u4f46\u4e0d\u4f1a\u5f88\u5927\uff0c\u76f8\u4fe1\u5b8c\u6210\u4e86 GAMES101 \u7684\u540c\u5b66\u90fd\u6709\u80fd\u529b\u5b8c\u6210\u8fd9\u95e8\u8bfe\u7a0b\u3002\u6bcf\u4e2a project \u4ee3\u7801\u91cf\u90fd\u4e0d\u4f1a\u5f88\u591a\uff0c\u4f46\u662f\u90fd\u9700\u8981\u4e00\u5b9a\u7684\u601d\u8003\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES202 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u8bfe\u7a0b\u6559\u6750\uff1aReal-Time Rendering, 4th edition. \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 5\u4e2aproject","title":"GAMES202"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES202/#games202","text":"","title":"GAMES202"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES202/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUCSB \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cC++\uff0cGAMES101 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u672c\u8bfe\u7a0b\u5c06\u5168\u9762\u5730\u4ecb\u7ecd\u73b0\u4ee3\u5b9e\u65f6\u6e32\u67d3\u4e2d\u7684\u5173\u952e\u95ee\u9898\u4e0e\u89e3\u51b3\u65b9\u6cd5\u3002\u7531\u4e8e\u5b9e\u65f6\u6e32\u67d3 (>30 FPS) \u5bf9\u901f\u5ea6\u8981\u6c42\u6781\u9ad8\uff0c\u56e0\u6b64\u672c\u8bfe\u7a0b\u7684\u5173\u6ce8\u70b9\u5c06\u662f\u5728\u82db\u523b\u7684\u65f6\u95f4\u9650\u5236\u4e0b\uff0c\u4eba\u4eec\u5982\u4f55\u6253\u7834\u901f\u5ea6\u4e0e\u8d28\u91cf\u4e4b\u95f4\u7684\u6743\u8861\uff0c\u540c\u65f6\u4fdd\u8bc1\u5b9e\u65f6\u7684\u9ad8\u901f\u5ea6\u4e0e\u7167\u7247\u7ea7\u7684\u771f\u5b9e\u611f\u3002 \u672c\u8bfe\u7a0b\u5c06\u4ee5\u4e13\u9898\u7684\u5f62\u5f0f\u5448\u73b0\uff0c\u8bfe\u7a0b\u5185\u5bb9\u4f1a\u8986\u76d6\u5b66\u672f\u754c\u4e0e\u5de5\u4e1a\u754c\u7684\u524d\u6cbf\u5185\u5bb9\uff0c\u5305\u62ec\uff1a\uff081\uff09\u5b9e\u65f6\u8f6f\u9634\u5f71\u7684\u6e32\u67d3\uff1b\uff082\uff09\u73af\u5883\u5149\u7167\uff1b\uff083\uff09\u57fa\u4e8e\u9884\u8ba1\u7b97\u6216\u65e0\u9884\u8ba1\u7b97\u7684\u5168\u5c40\u5149\u7167\uff1b\uff084\uff09\u57fa\u4e8e\u7269\u7406\u7684\u7740\u8272\u6a21\u578b\u4e0e\u65b9\u6cd5\uff1b\uff085\uff09\u5b9e\u65f6\u5149\u7ebf\u8ffd\u8e2a\uff1b\uff086\uff09\u6297\u952f\u9f7f\u4e0e\u8d85\u91c7\u6837\uff1b\u4ee5\u53ca\u4e00\u4e9b\u5e38\u89c1\u7684\u52a0\u901f\u65b9\u5f0f\u7b49\u7b49\u3002 \u9664\u4e86\u6700\u65b0\u6700\u5168\u7684\u5185\u5bb9\u4e4b\u5916\uff0c\u672c\u8bfe\u7a0b\u4e0e\u5176\u5b83\u4efb\u4f55\u5b9e\u65f6\u6e32\u67d3\u7684\u6559\u7a0b\u8fd8\u6709\u4e00\u4e2a\u91cd\u8981\u7684\u533a\u522b\uff0c\u90a3\u5c31\u662f\u672c\u8bfe\u7a0b\u4e0d\u4f1a\u8bb2\u6388\u4efb\u4f55\u4e0e\u6e38\u620f\u5f15\u64ce\u7684\u4f7f\u7528\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5e76\u4e14\u4e0d\u4f1a\u7279\u522b\u5f3a\u8c03\u5177\u4f53\u7684\u7740\u8272\u5668\u5b9e\u73b0\u6280\u672f\uff0c\u800c\u4e3b\u8981\u8bb2\u6388\u5b9e\u65f6\u6e32\u67d3\u80cc\u540e\u7684\u79d1\u5b66\u4e0e\u77e5\u8bc6\u3002\u672c\u8bfe\u7a0b\u7684\u76ee\u6807\u662f\u5728\u4f60\u5b66\u4e60\u5b8c\u8fd9\u95e8\u8bfe\u7684\u65f6\u5019\uff0c\u4f60\u5c06\u6709\u6df1\u539a\u7684\u529f\u5e95\u53bb\u5f00\u53d1\u4e00\u4e2a\u5c5e\u4e8e\u4f60\u81ea\u5df1\u7684\u5b9e\u65f6\u6e32\u67d3\u5f15\u64ce\u3002 \u4f5c\u4e3a GAMES101 \u7684\u8fdb\u9636\u8bfe\u7a0b\uff0c\u96be\u5ea6\u6709\u4e00\u5b9a\u7684\u63d0\u5347\uff0c\u4f46\u4e0d\u4f1a\u5f88\u5927\uff0c\u76f8\u4fe1\u5b8c\u6210\u4e86 GAMES101 \u7684\u540c\u5b66\u90fd\u6709\u80fd\u529b\u5b8c\u6210\u8fd9\u95e8\u8bfe\u7a0b\u3002\u6bcf\u4e2a project \u4ee3\u7801\u91cf\u90fd\u4e0d\u4f1a\u5f88\u591a\uff0c\u4f46\u662f\u90fd\u9700\u8981\u4e00\u5b9a\u7684\u601d\u8003\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES202/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES202 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u8bfe\u7a0b\u6559\u6750\uff1aReal-Time Rendering, 4th edition. \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 5\u4e2aproject","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/","text":"CS144: Computer Network \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u57fa\u7840\uff0cCS106L \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u7684\u4e3b\u8bb2\u4eba\u4e4b\u4e00\u662f\u7f51\u7edc\u9886\u57df\u7684\u5de8\u64d8 Nick McKeown \u6559\u6388\u3002\u8fd9\u4f4d\u62e5\u6709\u81ea\u5df1\u521b\u4e1a\u516c\u53f8\u7684\u5b66\u754c\u4e1a\u754c\u53cc\u5de8\u4f6c\u4f1a\u5728\u4ed6\u6155\u8bfe\u6bcf\u4e00\u7ae0\u8282\u7684\u6700\u540e\u91c7\u8bbf\u4e00\u4f4d\u4e1a\u754c\u7684\u9ad8\u7ba1\u6216\u8005\u5b66\u754c\u7684\u9ad8\u4eba\uff0c\u975e\u5e38\u5f00\u9614\u773c\u754c\u3002 \u5728\u8fd9\u95e8\u8bfe\u7684 Project \u4e2d\uff0c\u4f60\u5c06\u7528 C++ \u5faa\u5e8f\u6e10\u8fdb\u5730\u642d\u5efa\u51fa\u6574\u4e2a TCP/IP \u534f\u8bae\u6808\uff0c\u5b9e\u73b0 IP \u8def\u7531\u4ee5\u53ca ARP \u534f\u8bae\uff0c\u6700\u540e\u5229\u7528\u4f60\u81ea\u5df1\u7684\u534f\u8bae\u6808\u4ee3\u66ff Linux Kernel \u7684\u7f51\u7edc\u534f\u8bae\u6808\u548c\u5176\u4ed6\u5b66\u751f\u7684\u8ba1\u7b97\u673a\u8fdb\u884c\u901a\u4fe1\uff0c\u975e\u5e38 amazing\uff01 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs144.github.io/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=r2WZNaFyrbQ&list=PL6RdenZrxrw9inR-IJv-erlOKRHjymxMN \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://cs144.github.io/ \uff0c8 \u4e2a Project \u5e26\u4f60\u5b9e\u73b0\u6574\u4e2a TCP/IP \u534f\u8bae\u6808 \u8d44\u6e90\u6c47\u603b PKUFlyingPig Lexssama's Blogs huangrt01 kiprey \u5eb7\u5b87PL's Blog doraemonzzz ViXbob's libsponge \u5403\u7740\u571f\u8c46\u5750\u5730\u94c1\u7684\u535a\u5ba2 Smith \u661f\u9065\u89c1 EIMadrigal Joey","title":"Stanford CS144: Computer Network"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#cs144-computer-network","text":"","title":"CS144: Computer Network"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u57fa\u7840\uff0cCS106L \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u7684\u4e3b\u8bb2\u4eba\u4e4b\u4e00\u662f\u7f51\u7edc\u9886\u57df\u7684\u5de8\u64d8 Nick McKeown \u6559\u6388\u3002\u8fd9\u4f4d\u62e5\u6709\u81ea\u5df1\u521b\u4e1a\u516c\u53f8\u7684\u5b66\u754c\u4e1a\u754c\u53cc\u5de8\u4f6c\u4f1a\u5728\u4ed6\u6155\u8bfe\u6bcf\u4e00\u7ae0\u8282\u7684\u6700\u540e\u91c7\u8bbf\u4e00\u4f4d\u4e1a\u754c\u7684\u9ad8\u7ba1\u6216\u8005\u5b66\u754c\u7684\u9ad8\u4eba\uff0c\u975e\u5e38\u5f00\u9614\u773c\u754c\u3002 \u5728\u8fd9\u95e8\u8bfe\u7684 Project \u4e2d\uff0c\u4f60\u5c06\u7528 C++ \u5faa\u5e8f\u6e10\u8fdb\u5730\u642d\u5efa\u51fa\u6574\u4e2a TCP/IP \u534f\u8bae\u6808\uff0c\u5b9e\u73b0 IP \u8def\u7531\u4ee5\u53ca ARP \u534f\u8bae\uff0c\u6700\u540e\u5229\u7528\u4f60\u81ea\u5df1\u7684\u534f\u8bae\u6808\u4ee3\u66ff Linux Kernel \u7684\u7f51\u7edc\u534f\u8bae\u6808\u548c\u5176\u4ed6\u5b66\u751f\u7684\u8ba1\u7b97\u673a\u8fdb\u884c\u901a\u4fe1\uff0c\u975e\u5e38 amazing\uff01","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs144.github.io/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=r2WZNaFyrbQ&list=PL6RdenZrxrw9inR-IJv-erlOKRHjymxMN \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://cs144.github.io/ \uff0c8 \u4e2a Project \u5e26\u4f60\u5b9e\u73b0\u6574\u4e2a TCP/IP \u534f\u8bae\u6808","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#_3","text":"PKUFlyingPig Lexssama's Blogs huangrt01 kiprey \u5eb7\u5b87PL's Blog doraemonzzz ViXbob's libsponge \u5403\u7740\u571f\u8c46\u5750\u5730\u94c1\u7684\u535a\u5ba2 Smith \u661f\u9065\u89c1 EIMadrigal Joey","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/","text":"Computer Networking: A Top-Down Approach \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u9a6c\u8428\u8bf8\u585e\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u6709\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40 \u5c0f\u65f6 \u300a\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u300b\u662f\u8ba1\u7b97\u673a\u7f51\u7edc\u9886\u57df\u7684\u4e00\u672c\u7ecf\u5178\u6559\u6750\uff0c\u4e24\u4f4d\u4f5c\u8005 Jim Kurose \u548c Keith Ross \u7cbe\u5fc3\u5236\u4f5c\u4e86\u6559\u6750\u914d\u5957\u7684\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u5e76\u4e14\u516c\u5f00\u4e86\u81ea\u5df1\u5f55\u5236\u7684\u7f51\u8bfe\u89c6\u9891\uff0c\u4ea4\u4e92\u5f0f\u7684\u5728\u7ebf\u7ae0\u8282\u6d4b\u8bd5\uff0c\u4ee5\u53ca\u5229\u7528 WireShark \u8fdb\u884c\u6293\u5305\u5206\u6790\u7684 lab\u3002\u552f\u4e00\u9057\u61be\u7684\u662f\u8fd9\u95e8\u8bfe\u5e76\u6ca1\u6709\u786c\u6838\u7684\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u800c Stanford \u7684 CS144 \u80fd\u5f88\u597d\u5730\u5f25\u8865\u8fd9\u4e00\u70b9\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://gaia.cs.umass.edu/kurose_ross/index.php \u8bfe\u7a0b\u89c6\u9891\uff1a https://gaia.cs.umass.edu/kurose_ross/lectures.php \u8bfe\u7a0b\u6559\u6750\uff1aComputer Networking: A Top-Down Approach \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://gaia.cs.umass.edu/kurose_ross/wireshark.php \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/Computer-Network-A-Top-Down-Approach - GitHub \u4e2d\u3002","title":"Computer Networking: A Top-Down Approach"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#computer-networking-a-top-down-approach","text":"","title":"Computer Networking: A Top-Down Approach"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u9a6c\u8428\u8bf8\u585e\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u6709\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40 \u5c0f\u65f6 \u300a\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u300b\u662f\u8ba1\u7b97\u673a\u7f51\u7edc\u9886\u57df\u7684\u4e00\u672c\u7ecf\u5178\u6559\u6750\uff0c\u4e24\u4f4d\u4f5c\u8005 Jim Kurose \u548c Keith Ross \u7cbe\u5fc3\u5236\u4f5c\u4e86\u6559\u6750\u914d\u5957\u7684\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u5e76\u4e14\u516c\u5f00\u4e86\u81ea\u5df1\u5f55\u5236\u7684\u7f51\u8bfe\u89c6\u9891\uff0c\u4ea4\u4e92\u5f0f\u7684\u5728\u7ebf\u7ae0\u8282\u6d4b\u8bd5\uff0c\u4ee5\u53ca\u5229\u7528 WireShark \u8fdb\u884c\u6293\u5305\u5206\u6790\u7684 lab\u3002\u552f\u4e00\u9057\u61be\u7684\u662f\u8fd9\u95e8\u8bfe\u5e76\u6ca1\u6709\u786c\u6838\u7684\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u800c Stanford \u7684 CS144 \u80fd\u5f88\u597d\u5730\u5f25\u8865\u8fd9\u4e00\u70b9\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://gaia.cs.umass.edu/kurose_ross/index.php \u8bfe\u7a0b\u89c6\u9891\uff1a https://gaia.cs.umass.edu/kurose_ross/lectures.php \u8bfe\u7a0b\u6559\u6750\uff1aComputer Networking: A Top-Down Approach \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://gaia.cs.umass.edu/kurose_ross/wireshark.php","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/Computer-Network-A-Top-Down-Approach - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown_ustc/","text":"USTC Computer Networking:A Top-Down Approach \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u4e2d\u56fd\u79d1\u5b66\u6280\u672f\u5927\u5b66 \u6388\u8bfe\u6559\u5e08\uff1a\u90d1\u70c7\u3001\u6768\u575a \u5148\u4fee\u8981\u6c42\uff1a\u64cd\u4f5c\u7cfb\u7edf\uff08\u975e\u5fc5\u9700\uff09 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u5e94\u8be5\u662f\u4e2d\u6587\u4e92\u8054\u7f51\u4e0a\u6bd4\u8f83\u706b\u7684\u8ba1\u7b97\u673a\u7f51\u7edc\u8bfe\u4e86\uff0c\u6559\u6750\u91c7\u7528\u795e\u4e66\u8ba1\u7b97\u673a\u7f51\u7edc\uff08\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\uff09\uff0c\u6388\u8bfe\u98ce\u683c\u66f4\u504f\u5411\u5b9e\u9645\u800c\u975e\u7eaf\u7406\u8bba\uff08 \u5f3a\u70c8\u5efa\u8bae \u5148\u9605\u8bfb\u6559\u6750\u9884\u4e60\u518d\u770b\u8bfe\uff0c\u5426\u5219\u4e0a\u8bfe\u65f6 \u53ef\u80fd \u4f1a\u6709\u4e9b\u61f5\u5708\uff09\u3002 \u8bfe\u7a0b\u5185\u5bb9\u5305\u62ec \u5927\u90e8\u5206 \u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u91cc\u7684\u5185\u5bb9\uff0c\u540c\u65f6 \u6db5\u76d6 \u8003\u8bd5\u5185\u5bb9\uff0c\u53ef\u653e\u5fc3\u89c2\u770b\u3002 \u8bfe\u7a0b\u89c6\u9891\u662f\u90d1\u70c7\u8001\u5e08\u672c\u4eba\u5728\u54d4\u54e9\u54d4\u54e9\u4e0a\u4e0a\u4f20\u7684\uff0c\u4e14\u4ece2020\u5e74\u81f3\u4eca\u4e00\u76f4\u575a\u6301\u5728\u8bc4\u8bba\u533a\u7b54\u7591\uff0c\u5c5e\u5b9e\u8d1f\u8d23\u4e14\u8ba4\u771f\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://staff.ustc.edu.cn/~qzheng/teaching.html \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1JV411t7ow/ \u8bfe\u7a0b\u8bfe\u4ef6\uff1a http://staff.ustc.edu.cn/~qzheng/cn.zip \u8bfe\u7a0b\u6559\u6750\uff1a\u8ba1\u7b97\u673a\u7f51\u7edc\uff08\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5 \u7b2c7\u7248\uff09\uff0c\u673a\u68b0\u5de5\u4e1a\u51fa\u7248\u793e\uff0c2016","title":"USTC Computer Networking:A Top-Down Approach"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown_ustc/#ustc-computer-networkinga-top-down-approach","text":"","title":"USTC Computer Networking:A Top-Down Approach"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown_ustc/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u4e2d\u56fd\u79d1\u5b66\u6280\u672f\u5927\u5b66 \u6388\u8bfe\u6559\u5e08\uff1a\u90d1\u70c7\u3001\u6768\u575a \u5148\u4fee\u8981\u6c42\uff1a\u64cd\u4f5c\u7cfb\u7edf\uff08\u975e\u5fc5\u9700\uff09 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u5e94\u8be5\u662f\u4e2d\u6587\u4e92\u8054\u7f51\u4e0a\u6bd4\u8f83\u706b\u7684\u8ba1\u7b97\u673a\u7f51\u7edc\u8bfe\u4e86\uff0c\u6559\u6750\u91c7\u7528\u795e\u4e66\u8ba1\u7b97\u673a\u7f51\u7edc\uff08\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\uff09\uff0c\u6388\u8bfe\u98ce\u683c\u66f4\u504f\u5411\u5b9e\u9645\u800c\u975e\u7eaf\u7406\u8bba\uff08 \u5f3a\u70c8\u5efa\u8bae \u5148\u9605\u8bfb\u6559\u6750\u9884\u4e60\u518d\u770b\u8bfe\uff0c\u5426\u5219\u4e0a\u8bfe\u65f6 \u53ef\u80fd \u4f1a\u6709\u4e9b\u61f5\u5708\uff09\u3002 \u8bfe\u7a0b\u5185\u5bb9\u5305\u62ec \u5927\u90e8\u5206 \u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u91cc\u7684\u5185\u5bb9\uff0c\u540c\u65f6 \u6db5\u76d6 \u8003\u8bd5\u5185\u5bb9\uff0c\u53ef\u653e\u5fc3\u89c2\u770b\u3002 \u8bfe\u7a0b\u89c6\u9891\u662f\u90d1\u70c7\u8001\u5e08\u672c\u4eba\u5728\u54d4\u54e9\u54d4\u54e9\u4e0a\u4e0a\u4f20\u7684\uff0c\u4e14\u4ece2020\u5e74\u81f3\u4eca\u4e00\u76f4\u575a\u6301\u5728\u8bc4\u8bba\u533a\u7b54\u7591\uff0c\u5c5e\u5b9e\u8d1f\u8d23\u4e14\u8ba4\u771f\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown_ustc/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://staff.ustc.edu.cn/~qzheng/teaching.html \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1JV411t7ow/ \u8bfe\u7a0b\u8bfe\u4ef6\uff1a http://staff.ustc.edu.cn/~qzheng/cn.zip \u8bfe\u7a0b\u6559\u6750\uff1a\u8ba1\u7b97\u673a\u7f51\u7edc\uff08\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5 \u7b2c7\u7248\uff09\uff0c\u673a\u68b0\u5de5\u4e1a\u51fa\u7248\u793e\uff0c2016","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/","text":"MIT 6.031: Software Construction \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u7684\u76ee\u6807\u5c31\u662f\u8ba9\u5b66\u751f\u5b66\u4f1a\u5982\u4f55\u5199\u51fa\u9ad8\u8d28\u91cf\u7684\u4ee3\u7801\uff0c\u6240\u8c13\u9ad8\u8d28\u91cf\uff0c\u5219\u662f\u6ee1\u8db3\u4e0b\u9762\u4e09\u4e2a\u76ee\u6807\uff08\u8bfe\u7a0b\u8bbe\u8ba1\u8005\u539f\u8bdd\u590d\u5236\uff0c\u4ee5\u9632\u81ea\u5df1\u7ffb\u8bd1\u66f2\u89e3\u672c\u610f\uff09\uff1a Safe from bugs. Correctness (correct behavior right now) and defensiveness (correct behavior in the future) are required in any software we build. Easy to understand. The code has to communicate to future programmers who need to understand it and make changes in it (fixing bugs or adding new features). That future programmer might be you, months or years from now. You\u2019ll be surprised how much you forget if you don\u2019t write it down, and how much it helps your own future self to have a good design. Ready for change. Software always changes. Some designs make it easy to make changes; others require throwing away and rewriting a lot of code. \u4e3a\u6b64\uff0c\u8fd9\u95e8\u8bfe\u7684\u8bbe\u8ba1\u8005\u4eec\u7cbe\u5fc3\u7f16\u5199\u4e86\u4e00\u672c\u4e66\u6765\u9610\u91ca\u8bf8\u591a\u8f6f\u4ef6\u6784\u5efa\u7684\u6838\u5fc3\u539f\u5219\u4e0e\u524d\u4eba\u603b\u7ed3\u4e0b\u6765\u7684\u5b9d\u8d35\u7ecf\u9a8c\uff0c\u5185\u5bb9\u7ec6\u8282\u5230\u5982\u4f55\u7f16\u5199\u6ce8\u91ca\u548c\u51fd\u6570 Specification\uff0c\u5982\u4f55\u8bbe\u8ba1\u62bd\u8c61\u6570\u636e\u7ed3\u6784\u4ee5\u53ca\u8bf8\u591a\u5e76\u884c\u7f16\u7a0b\u7684\u5185\u5bb9\uff0c\u5e76\u4e14\u4f1a\u8ba9\u4f60\u5728\u7cbe\u5fc3\u8bbe\u8ba1\u7684 Java \u7f16\u7a0b\u9879\u76ee\u91cc\u4f53\u9a8c\u548c\u7ec3\u4e60\u8fd9\u4e9b\u7f16\u7a0b\u6a21\u5f0f\u3002 2016\u5e74\u6625\u5b63\u5b66\u671f\u8fd9\u95e8\u8bfe\u5f00\u6e90\u4e86\u5176\u6240\u6709\u7f16\u7a0b\u4f5c\u4e1a\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u800c\u6700\u65b0\u7684\u8bfe\u7a0b\u6559\u6750\u53ef\u4ee5\u5728\u5176\u6700\u65b0\u7684\u6559\u5b66\u7f51\u7ad9\u4e0a\u627e\u5230\uff0c\u5177\u4f53\u94fe\u63a5\u53c2\u89c1\u4e0b\u65b9\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a 2021spring , 2016spring \u8bfe\u7a0b\u89c6\u9891\uff1a\u65e0 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u7684\u8bfe\u7a0b notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a + 1 \u4e2a Project \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/MIT6.031-software-construction - GitHub \u4e2d\u3002 @pengzhangzhi \u5b8c\u6210\u4e86\u8fd9\u95e8\u8bfe\u7684\u4f5c\u4e1a\u5e76\u8bb0\u5f55\u4e86\u7b14\u8bb0, \u4ee3\u7801\u5f00\u6e90\u5728 pengzhangzhi/self-taught-CS/Software Construction - Github \u3002","title":"MIT 6.031: Software Construction"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/#mit-6031-software-construction","text":"","title":"MIT 6.031: Software Construction"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u7684\u76ee\u6807\u5c31\u662f\u8ba9\u5b66\u751f\u5b66\u4f1a\u5982\u4f55\u5199\u51fa\u9ad8\u8d28\u91cf\u7684\u4ee3\u7801\uff0c\u6240\u8c13\u9ad8\u8d28\u91cf\uff0c\u5219\u662f\u6ee1\u8db3\u4e0b\u9762\u4e09\u4e2a\u76ee\u6807\uff08\u8bfe\u7a0b\u8bbe\u8ba1\u8005\u539f\u8bdd\u590d\u5236\uff0c\u4ee5\u9632\u81ea\u5df1\u7ffb\u8bd1\u66f2\u89e3\u672c\u610f\uff09\uff1a Safe from bugs. Correctness (correct behavior right now) and defensiveness (correct behavior in the future) are required in any software we build. Easy to understand. The code has to communicate to future programmers who need to understand it and make changes in it (fixing bugs or adding new features). That future programmer might be you, months or years from now. You\u2019ll be surprised how much you forget if you don\u2019t write it down, and how much it helps your own future self to have a good design. Ready for change. Software always changes. Some designs make it easy to make changes; others require throwing away and rewriting a lot of code. \u4e3a\u6b64\uff0c\u8fd9\u95e8\u8bfe\u7684\u8bbe\u8ba1\u8005\u4eec\u7cbe\u5fc3\u7f16\u5199\u4e86\u4e00\u672c\u4e66\u6765\u9610\u91ca\u8bf8\u591a\u8f6f\u4ef6\u6784\u5efa\u7684\u6838\u5fc3\u539f\u5219\u4e0e\u524d\u4eba\u603b\u7ed3\u4e0b\u6765\u7684\u5b9d\u8d35\u7ecf\u9a8c\uff0c\u5185\u5bb9\u7ec6\u8282\u5230\u5982\u4f55\u7f16\u5199\u6ce8\u91ca\u548c\u51fd\u6570 Specification\uff0c\u5982\u4f55\u8bbe\u8ba1\u62bd\u8c61\u6570\u636e\u7ed3\u6784\u4ee5\u53ca\u8bf8\u591a\u5e76\u884c\u7f16\u7a0b\u7684\u5185\u5bb9\uff0c\u5e76\u4e14\u4f1a\u8ba9\u4f60\u5728\u7cbe\u5fc3\u8bbe\u8ba1\u7684 Java \u7f16\u7a0b\u9879\u76ee\u91cc\u4f53\u9a8c\u548c\u7ec3\u4e60\u8fd9\u4e9b\u7f16\u7a0b\u6a21\u5f0f\u3002 2016\u5e74\u6625\u5b63\u5b66\u671f\u8fd9\u95e8\u8bfe\u5f00\u6e90\u4e86\u5176\u6240\u6709\u7f16\u7a0b\u4f5c\u4e1a\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u800c\u6700\u65b0\u7684\u8bfe\u7a0b\u6559\u6750\u53ef\u4ee5\u5728\u5176\u6700\u65b0\u7684\u6559\u5b66\u7f51\u7ad9\u4e0a\u627e\u5230\uff0c\u5177\u4f53\u94fe\u63a5\u53c2\u89c1\u4e0b\u65b9\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a 2021spring , 2016spring \u8bfe\u7a0b\u89c6\u9891\uff1a\u65e0 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u7684\u8bfe\u7a0b notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a + 1 \u4e2a Project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/MIT6.031-software-construction - GitHub \u4e2d\u3002 @pengzhangzhi \u5b8c\u6210\u4e86\u8fd9\u95e8\u8bfe\u7684\u4f5c\u4e1a\u5e76\u8bb0\u5f55\u4e86\u7b14\u8bb0, \u4ee3\u7801\u5f00\u6e90\u5728 pengzhangzhi/self-taught-CS/Software Construction - Github \u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/","text":"UCB CS169: software engineering \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aRuby/JavaScript \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u7a0b\uff0c\u4e0d\u540c\u4e8e\u5f88\u591a\u4f20\u7edf\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u5f3a\u8c03\u5404\u79cd\u7c7b\u56fe\u3001\u6587\u6863\u8bbe\u8ba1 (plan and document \u6a21\u5f0f)\uff0c\u8fd9\u95e8\u8bfe\u4e13\u6ce8\u4e8e\u6700\u8fd1\u9010\u6e10\u6d41\u884c\u8d77\u6765\u7684\u654f\u6377\u5f00\u53d1 (Agile Development)\u6a21\u5f0f\uff0c\u5229\u7528\u4e91\u5e73\u53f0\u63d0\u4f9b\u8f6f\u4ef6\u5373\u670d\u52a1 (software as a service)\u3002\u4e3a\u6b64\uff0c\u8bfe\u7a0b\u8bbe\u8ba1\u8005\u7f16\u5199\u4e86 Software as a service \u8fd9\u672c\u6559\u6750\uff0c\u901a\u8fc7 Ruby/Rails \u6846\u67b6\u6765\u9610\u91ca SaaS \u8fd9\u4e2a\u6982\u5ff5\uff0c\u5e76\u4e14\u6709\u4e30\u5bcc\u7684\u914d\u5957\u7f16\u7a0b\u7ec3\u4e60\u3002 \u8fd9\u95e8\u8bfe\u5728 Edx \u8fd9\u4e2a\u7531 MIT \u548c Harvard \u5927\u5b66\u53d1\u8d77\u7684\u5728\u7ebf\u6559\u80b2\u5e73\u53f0\u5168\u8d44\u6599\u5f00\u6e90\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728 Edx \u81ea\u884c\u641c\u7d22 Agile SaaS Development \u8fd9\u95e8\u8bfe\u7a0b\u8fdb\u884c\u5b66\u4e60\u3002\u8bfe\u7a0b\u5185\u5bb9\u57fa\u672c\u6309\u7167\u6559\u6750\u7684\u987a\u5e8f\u5e26\u4f60\u4e00\u6b65\u6b65\u4ee5\u654f\u6377\u5f00\u53d1\u7684\u65b9\u5f0f\u642d\u5efa\u4e00\u4e2a\u8f6f\u4ef6\u5e76\u514d\u8d39\u90e8\u7f72\u5728\u4e91\u5e73\u53f0\u4e0a\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://www.saasbook.info/courses \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1 Edx \u8bfe\u7a0b\u4e3b\u9875\u3002 \u8bfe\u7a0b\u6559\u6750\uff1a Software as a service \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1 Edx \u8bfe\u7a0b\u4e3b\u9875\u3002 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS169-Software-Engineering - GitHub \u4e2d\u3002","title":"UCB CS169: software engineering"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/#ucb-cs169-software-engineering","text":"","title":"UCB CS169: software engineering"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aRuby/JavaScript \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u7a0b\uff0c\u4e0d\u540c\u4e8e\u5f88\u591a\u4f20\u7edf\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u5f3a\u8c03\u5404\u79cd\u7c7b\u56fe\u3001\u6587\u6863\u8bbe\u8ba1 (plan and document \u6a21\u5f0f)\uff0c\u8fd9\u95e8\u8bfe\u4e13\u6ce8\u4e8e\u6700\u8fd1\u9010\u6e10\u6d41\u884c\u8d77\u6765\u7684\u654f\u6377\u5f00\u53d1 (Agile Development)\u6a21\u5f0f\uff0c\u5229\u7528\u4e91\u5e73\u53f0\u63d0\u4f9b\u8f6f\u4ef6\u5373\u670d\u52a1 (software as a service)\u3002\u4e3a\u6b64\uff0c\u8bfe\u7a0b\u8bbe\u8ba1\u8005\u7f16\u5199\u4e86 Software as a service \u8fd9\u672c\u6559\u6750\uff0c\u901a\u8fc7 Ruby/Rails \u6846\u67b6\u6765\u9610\u91ca SaaS \u8fd9\u4e2a\u6982\u5ff5\uff0c\u5e76\u4e14\u6709\u4e30\u5bcc\u7684\u914d\u5957\u7f16\u7a0b\u7ec3\u4e60\u3002 \u8fd9\u95e8\u8bfe\u5728 Edx \u8fd9\u4e2a\u7531 MIT \u548c Harvard \u5927\u5b66\u53d1\u8d77\u7684\u5728\u7ebf\u6559\u80b2\u5e73\u53f0\u5168\u8d44\u6599\u5f00\u6e90\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728 Edx \u81ea\u884c\u641c\u7d22 Agile SaaS Development \u8fd9\u95e8\u8bfe\u7a0b\u8fdb\u884c\u5b66\u4e60\u3002\u8bfe\u7a0b\u5185\u5bb9\u57fa\u672c\u6309\u7167\u6559\u6750\u7684\u987a\u5e8f\u5e26\u4f60\u4e00\u6b65\u6b65\u4ee5\u654f\u6377\u5f00\u53d1\u7684\u65b9\u5f0f\u642d\u5efa\u4e00\u4e2a\u8f6f\u4ef6\u5e76\u514d\u8d39\u90e8\u7f72\u5728\u4e91\u5e73\u53f0\u4e0a\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://www.saasbook.info/courses \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1 Edx \u8bfe\u7a0b\u4e3b\u9875\u3002 \u8bfe\u7a0b\u6559\u6750\uff1a Software as a service \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1 Edx \u8bfe\u7a0b\u4e3b\u9875\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS169-Software-Engineering - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"en/","text":"Foreword The English version is still under development, please check this issue if you want to contribute. This is a self-learning guide to computer science, and a memento of my three years of self-learning at university. It is also a gift to the young students at Peking University. It would be a great encouragement and comfort to me if this book could be of even the slightest help to you in your college life. The book is currently organized to include the following sections (if you have other good suggestions, or would like to join the ranks of contributors, please feel free to email zhongyinmin@pku.edu.cn or ask questions in the issue). Productivity Toolkit: IDE, VPN, StackOverflow, Git, Github, Vim, Latex, GNU Make and so on. Environment configuration: PC/Server development environment setup, DevOps tutorials and so on. Book recommendations: Those who have read the CSAPP must have realized the importance of good books. I will list links to books and resources in different areas of Computer Science that I find rewarding to read. List of high quality CS courses : I will summarize all the high quality foreign CS courses I have taken into different categories and give relevant self-learning advice. Most of them will have a separate repository containing relevant resources as well as my homework/project implementations. The place where dreams start \u2014\u2014 CS61A In my freshman year, I was a novice who knew nothing about computers. I installed a giant IDE Visual Studio and fight with OJ every day. With my high school maths background, I did pretty well in maths courses, but I felt struggled to learn courses in my major. When it came to programming, all I could do was open up that clunky IDE, create a new project that I didn't know exactly what it was for, and then cin , cout , for loops, and then CE, RE, WA loops. I was in a state where I was desperately trying to learn well but I didn't know how to learn. I listened carefully in class but I couldn't solve the homework problems. I spent almost all my spare time doing the homework after class, but the results were disappointing. I still retain the source code of the project for Introduction to Computing course \u2014\u2014 a single 1200-line C++ file with no header files, no class abstraction, no unit tests, no makefile, no version control. The only good thing is that it can run, the disadvantage is the complement of \"can run\". For a while I wondered if I wasn't cut out for computer science, as all my childhood imaginings of geekiness had been completely ruined by my first semester's experience. It all turned around during the winter break of my freshman year, when I had a hankering to learn Python. I overheard someone recommend CS61A, a freshman introductory course at UC Berkeley on Python. I'll never forget that day, when I opened the CS61A course website. It was like Columbus discovering a new continent, and I opened the door to a new world. I finished the course in 3 weeks and for the first time I felt that CS could be so fulfilling and interesting, and I was shocked that there existed such a great course in the world. To avoid any suspicion of pandering to foreign courses, I will tell you about my experience of studying CS61A from the perspective of a pure student. Course website developed by course staffs : The course website integrates all the course resources into one, with a well organised course schedule, links to all slides, recorded videos and homework, detailed and clear syllabus, list of exams and solutions from previous years. Aesthetics aside, this website is so convenient for students. Textbook written by course instructor : The course instructor has adapted the classic MIT textbook Structure and Interpretation of Computer Programs (SICP) into Python (the original textbook was based on Scheme). This is a great way to ensure that the classroom content is consistent with the textbook, while adding more details. The entire book is open source and can be read directly online. Various, comprehensive and interesting homework : There are 14 labs to reinforce the knowledge gained in class, 10 homework assignments to practice, and 4 projects each with thousands of lines of code, all with well-organized skeleton code and babysitting instructions. Unlike the old-school OJ and Word document assignments, each lab/homework/project has a detailed handout document, fully automated grading scripts, and CS61A staffs have even developed an automated assignment submission and grading system . Of course, one might say \"How much can you learn from a project where most of code are written by your teaching assistants?\" . For someone who is new to CS and even stumbling over installing Python, this well-developed skeleton code allows students to focus on reinforcing the core knowledge they've learned in class, but also gives them a sense of achievement that they already can make a little game despite of learning Python only for a month. It also gives them the opportunity to read and learn from other people's high quality code so that they can reuse it later. I think in the freshman year, this kind of skeleton code is absolutely beneficial. The only bad thing perhaps is for the instructors and teaching assistants, as developing such assignments can conceivably require a considerable time commitment. Weekly discussion sessions : The teaching assistants will explain the difficult knowledge in class and add some supplementary materials which may not be covered in class. Also, there will be exercises from exams of previous years. All the exercises are written in LaTeX with solutions. In CS61A, You don't need any prerequesites about CS at all. You just need to pay attention, spend time and work hard. The feeling that you do not know what to do, that you are not getting anything in return for all the time you put in, is gone. It suited me so well that I fell in love with self-learning. Imagine that if someone could chew up the hard knowledge and present it to you in a vivid and straightforward way, with so many fancy and varied projects to reinforce your theoretical knowledge, you'd think they were really trying their best to make you fully grasp the course, and it was even an insult to the course builders not to learn it well. If you think I'm exaggerating, start with CS61A , because it's where my dreams began. Why write this book? In the 2020 Fall semester, I worked as a teaching assistant for the class Introduction to Computer Systems at Peking University. At that time, I had been studying totally on my own for over a year. I enjoyed this style of learning immensely. To share this joy, I have made a CS Self-learning Materials List for students in my seminar. It was purely on a whim at the time, as I wouldn't dare to encourage my students to skip classes and study on their own. But after another year of maintenance, the list has become quite comprehensive, covering most of the courses in Computer Science, Artificial Intelligence and Soft Engineering, and I have built separate repositories for each course, summarising the self-learning materials that I used. In my last college year, when I opened up my curriculum book, I realized that it was already a subset of my self-learning list. By then, it was only two and a half years after I had started my self-learning journey. Then, a bold idea came to my mind: perhaps I could create a self-learning book, write down the difficulty I encountered and the interest I found during these years of self-learning, hoping to make it easy for students who may also enjoy self-learning to start their wonderful self-learning journey. If you can build up the whole CS foundation in less than three years, have relatively solid mathematical skills and coding ability, experience dozens of projects with thousands of lines of code, master at least C/C++/Java/JS/Python/Go/Rust and other mainstream programming languages, have a good understanding of algorithms, circuits, architectures, networks, operating systems, compilers, artificial intelligence, machine learning, computer vision, natural language processing, reinforcement learning, cryptography, information theory, game theory, numerical analysis, statistics, distributed systems, parallel computing, database systems, computer graphics, web development, cloud computing, supercomputing etc. I think you will be confident enough to choose the area you are interested in, and you will be quite competitive in both industry and academia. I firmly believe that if you have read to this line, you do not lack the ability and committment to learn CS well, you just need a good teacher to teach you a good course. And I will try my best to pick such courses for you, based on my three years of experience. Pros For me, the biggest advantage of self-learning is that I can adjust the pace of learning entirely according to my own progress. For difficult parts, I can watch the videos over and over again, Google it online and ask questions on StackOverflow until I have it all figured out. For those that I mastered relatively quickly, I could skip them at twice or even three times the speed. Another great thing about self-learning is that you can learn from different perspectives. I have taken core courses such as architectures, networking, operating systems, and compilers from different universities. Different instructors may have different views on the same knowledge, which will broaden your horizon. A third advantage of self-learning is that you do not need to go to the class, listening to the boring lectures. Cons Of course, as a big fan of self-learning, I have to admit that it has its disadvantages. The first is the difficulty of communication. I'm actually a very keen questioner, and I like to follow up all the points I don't understand. But when you're facing a screen and you hear a teacher talking about something you don't understand, you can't go to the other end of the network and ask him or her for clarification. I try to mitigate this by thinking independently and making good use of Google, but it would be great to have a few friends to study together. You can refer to README for more information on participating a community group. The second thing is that these courses are basically in English. From the videos to the slides to the assignments, all in English. You may struggle at first, but I think it's a challenge that if you overcome, it will be extremely rewarding. Because at the moment, as reluctant as I am, I have to admit that in computer science, a lot of high quality documentation, forums and websites are all in English. The third, and I think the most difficult one, is self-discipline. Because have no DDL can sometimes be a really scary thing, especially when you get deeper, many foreign courses are quite difficult. You have to be self-driven enough to force yourself to settle down, read dozens of pages of Project Handout, understand thousands of lines of skeleton code and endure hours of debugging time. With no credits, no grades, no teachers, no classmates, just one belief - that you are getting better. Who is this book for? As I said in the beginning, anyone who is interested in learning computer science on their own can refer to this book. If you already have some basic skills and are just interested in a particular area, you can selectively pick and choose what you are interested in to study. Of course, if you are a novice who knows nothing about computers like I did back then, and just begin your college journey, I hope this book will be your cheat sheet to get the knowledge and skills you need in the least amount of time. In a way, this book is more like a course search engine ordered according to my experience, helping you to learn high quality CS courses from the world's top universities without leaving home. Of course, as an undergraduate student who has not yet graduated, I feel that I am not in a position nor have the right to preach one way of learning. I just hope that this material will help those who are also self-motivated and persistent to gain a richer, more varied and satisfying college life. Special thanks I would like to express my sincere gratitude to all the professors who have made their courses public for free. These courses are the culmination of decades of their teaching careers, and they have chosen to selflessly make such a high quality CS education available to all. Without them, my university life would not have been as fulfilling and enjoyable. Many of the professors would even reply with hundreds of words in length after I had sent them a thank you email, which really touched me beyond words. They also inspired me all the time that if decide to do something, do it with all heart and soul. Want to join as a contributor? There is a limit to how much one person can do, and this book was written by me under a heavy research schedule, so there are inevitably imperfections. In addition, as I work in the area of systems, many of the courses focus on systems, and there is relatively little content related to advanced mathematics, computing theory, and advanced algorithms. If any of you would like to share your self-learning experience and resources in other areas, you can directly initiate a Pull Request in the project, or feel free to contact me by email ( zhongyinmin@pku.edu.cn ).","title":"Foreword"},{"location":"en/#foreword","text":"The English version is still under development, please check this issue if you want to contribute. This is a self-learning guide to computer science, and a memento of my three years of self-learning at university. It is also a gift to the young students at Peking University. It would be a great encouragement and comfort to me if this book could be of even the slightest help to you in your college life. The book is currently organized to include the following sections (if you have other good suggestions, or would like to join the ranks of contributors, please feel free to email zhongyinmin@pku.edu.cn or ask questions in the issue). Productivity Toolkit: IDE, VPN, StackOverflow, Git, Github, Vim, Latex, GNU Make and so on. Environment configuration: PC/Server development environment setup, DevOps tutorials and so on. Book recommendations: Those who have read the CSAPP must have realized the importance of good books. I will list links to books and resources in different areas of Computer Science that I find rewarding to read. List of high quality CS courses : I will summarize all the high quality foreign CS courses I have taken into different categories and give relevant self-learning advice. Most of them will have a separate repository containing relevant resources as well as my homework/project implementations.","title":"Foreword"},{"location":"en/#the-place-where-dreams-start-cs61a","text":"In my freshman year, I was a novice who knew nothing about computers. I installed a giant IDE Visual Studio and fight with OJ every day. With my high school maths background, I did pretty well in maths courses, but I felt struggled to learn courses in my major. When it came to programming, all I could do was open up that clunky IDE, create a new project that I didn't know exactly what it was for, and then cin , cout , for loops, and then CE, RE, WA loops. I was in a state where I was desperately trying to learn well but I didn't know how to learn. I listened carefully in class but I couldn't solve the homework problems. I spent almost all my spare time doing the homework after class, but the results were disappointing. I still retain the source code of the project for Introduction to Computing course \u2014\u2014 a single 1200-line C++ file with no header files, no class abstraction, no unit tests, no makefile, no version control. The only good thing is that it can run, the disadvantage is the complement of \"can run\". For a while I wondered if I wasn't cut out for computer science, as all my childhood imaginings of geekiness had been completely ruined by my first semester's experience. It all turned around during the winter break of my freshman year, when I had a hankering to learn Python. I overheard someone recommend CS61A, a freshman introductory course at UC Berkeley on Python. I'll never forget that day, when I opened the CS61A course website. It was like Columbus discovering a new continent, and I opened the door to a new world. I finished the course in 3 weeks and for the first time I felt that CS could be so fulfilling and interesting, and I was shocked that there existed such a great course in the world. To avoid any suspicion of pandering to foreign courses, I will tell you about my experience of studying CS61A from the perspective of a pure student. Course website developed by course staffs : The course website integrates all the course resources into one, with a well organised course schedule, links to all slides, recorded videos and homework, detailed and clear syllabus, list of exams and solutions from previous years. Aesthetics aside, this website is so convenient for students. Textbook written by course instructor : The course instructor has adapted the classic MIT textbook Structure and Interpretation of Computer Programs (SICP) into Python (the original textbook was based on Scheme). This is a great way to ensure that the classroom content is consistent with the textbook, while adding more details. The entire book is open source and can be read directly online. Various, comprehensive and interesting homework : There are 14 labs to reinforce the knowledge gained in class, 10 homework assignments to practice, and 4 projects each with thousands of lines of code, all with well-organized skeleton code and babysitting instructions. Unlike the old-school OJ and Word document assignments, each lab/homework/project has a detailed handout document, fully automated grading scripts, and CS61A staffs have even developed an automated assignment submission and grading system . Of course, one might say \"How much can you learn from a project where most of code are written by your teaching assistants?\" . For someone who is new to CS and even stumbling over installing Python, this well-developed skeleton code allows students to focus on reinforcing the core knowledge they've learned in class, but also gives them a sense of achievement that they already can make a little game despite of learning Python only for a month. It also gives them the opportunity to read and learn from other people's high quality code so that they can reuse it later. I think in the freshman year, this kind of skeleton code is absolutely beneficial. The only bad thing perhaps is for the instructors and teaching assistants, as developing such assignments can conceivably require a considerable time commitment. Weekly discussion sessions : The teaching assistants will explain the difficult knowledge in class and add some supplementary materials which may not be covered in class. Also, there will be exercises from exams of previous years. All the exercises are written in LaTeX with solutions. In CS61A, You don't need any prerequesites about CS at all. You just need to pay attention, spend time and work hard. The feeling that you do not know what to do, that you are not getting anything in return for all the time you put in, is gone. It suited me so well that I fell in love with self-learning. Imagine that if someone could chew up the hard knowledge and present it to you in a vivid and straightforward way, with so many fancy and varied projects to reinforce your theoretical knowledge, you'd think they were really trying their best to make you fully grasp the course, and it was even an insult to the course builders not to learn it well. If you think I'm exaggerating, start with CS61A , because it's where my dreams began.","title":"The place where dreams start \u2014\u2014 CS61A"},{"location":"en/#why-write-this-book","text":"In the 2020 Fall semester, I worked as a teaching assistant for the class Introduction to Computer Systems at Peking University. At that time, I had been studying totally on my own for over a year. I enjoyed this style of learning immensely. To share this joy, I have made a CS Self-learning Materials List for students in my seminar. It was purely on a whim at the time, as I wouldn't dare to encourage my students to skip classes and study on their own. But after another year of maintenance, the list has become quite comprehensive, covering most of the courses in Computer Science, Artificial Intelligence and Soft Engineering, and I have built separate repositories for each course, summarising the self-learning materials that I used. In my last college year, when I opened up my curriculum book, I realized that it was already a subset of my self-learning list. By then, it was only two and a half years after I had started my self-learning journey. Then, a bold idea came to my mind: perhaps I could create a self-learning book, write down the difficulty I encountered and the interest I found during these years of self-learning, hoping to make it easy for students who may also enjoy self-learning to start their wonderful self-learning journey. If you can build up the whole CS foundation in less than three years, have relatively solid mathematical skills and coding ability, experience dozens of projects with thousands of lines of code, master at least C/C++/Java/JS/Python/Go/Rust and other mainstream programming languages, have a good understanding of algorithms, circuits, architectures, networks, operating systems, compilers, artificial intelligence, machine learning, computer vision, natural language processing, reinforcement learning, cryptography, information theory, game theory, numerical analysis, statistics, distributed systems, parallel computing, database systems, computer graphics, web development, cloud computing, supercomputing etc. I think you will be confident enough to choose the area you are interested in, and you will be quite competitive in both industry and academia. I firmly believe that if you have read to this line, you do not lack the ability and committment to learn CS well, you just need a good teacher to teach you a good course. And I will try my best to pick such courses for you, based on my three years of experience.","title":"Why write this book?"},{"location":"en/#pros","text":"For me, the biggest advantage of self-learning is that I can adjust the pace of learning entirely according to my own progress. For difficult parts, I can watch the videos over and over again, Google it online and ask questions on StackOverflow until I have it all figured out. For those that I mastered relatively quickly, I could skip them at twice or even three times the speed. Another great thing about self-learning is that you can learn from different perspectives. I have taken core courses such as architectures, networking, operating systems, and compilers from different universities. Different instructors may have different views on the same knowledge, which will broaden your horizon. A third advantage of self-learning is that you do not need to go to the class, listening to the boring lectures.","title":"Pros"},{"location":"en/#cons","text":"Of course, as a big fan of self-learning, I have to admit that it has its disadvantages. The first is the difficulty of communication. I'm actually a very keen questioner, and I like to follow up all the points I don't understand. But when you're facing a screen and you hear a teacher talking about something you don't understand, you can't go to the other end of the network and ask him or her for clarification. I try to mitigate this by thinking independently and making good use of Google, but it would be great to have a few friends to study together. You can refer to README for more information on participating a community group. The second thing is that these courses are basically in English. From the videos to the slides to the assignments, all in English. You may struggle at first, but I think it's a challenge that if you overcome, it will be extremely rewarding. Because at the moment, as reluctant as I am, I have to admit that in computer science, a lot of high quality documentation, forums and websites are all in English. The third, and I think the most difficult one, is self-discipline. Because have no DDL can sometimes be a really scary thing, especially when you get deeper, many foreign courses are quite difficult. You have to be self-driven enough to force yourself to settle down, read dozens of pages of Project Handout, understand thousands of lines of skeleton code and endure hours of debugging time. With no credits, no grades, no teachers, no classmates, just one belief - that you are getting better.","title":"Cons"},{"location":"en/#who-is-this-book-for","text":"As I said in the beginning, anyone who is interested in learning computer science on their own can refer to this book. If you already have some basic skills and are just interested in a particular area, you can selectively pick and choose what you are interested in to study. Of course, if you are a novice who knows nothing about computers like I did back then, and just begin your college journey, I hope this book will be your cheat sheet to get the knowledge and skills you need in the least amount of time. In a way, this book is more like a course search engine ordered according to my experience, helping you to learn high quality CS courses from the world's top universities without leaving home. Of course, as an undergraduate student who has not yet graduated, I feel that I am not in a position nor have the right to preach one way of learning. I just hope that this material will help those who are also self-motivated and persistent to gain a richer, more varied and satisfying college life.","title":"Who is this book for?"},{"location":"en/#special-thanks","text":"I would like to express my sincere gratitude to all the professors who have made their courses public for free. These courses are the culmination of decades of their teaching careers, and they have chosen to selflessly make such a high quality CS education available to all. Without them, my university life would not have been as fulfilling and enjoyable. Many of the professors would even reply with hundreds of words in length after I had sent them a thank you email, which really touched me beyond words. They also inspired me all the time that if decide to do something, do it with all heart and soul.","title":"Special thanks"},{"location":"en/#want-to-join-as-a-contributor","text":"There is a limit to how much one person can do, and this book was written by me under a heavy research schedule, so there are inevitably imperfections. In addition, as I work in the area of systems, many of the courses focus on systems, and there is relatively little content related to advanced mathematics, computing theory, and advanced algorithms. If any of you would like to share your self-learning experience and resources in other areas, you can directly initiate a Pull Request in the project, or feel free to contact me by email ( zhongyinmin@pku.edu.cn ).","title":"Want to join as a contributor?"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/","text":"\u4e00\u4e2a\u4ec5\u4f9b\u53c2\u8003\u7684 CS \u5b66\u4e60\u89c4\u5212 \u8ba1\u7b97\u673a\u9886\u57df\u65b9\u5411\u5e9e\u6742\uff0c\u77e5\u8bc6\u6d69\u5982\u70df\u6d77\uff0c\u6bcf\u4e2a\u7ec6\u5206\u9886\u57df\u5982\u679c\u6df1\u7a76\u4e0b\u53bb\u90fd\u53ef\u4ee5\u8bf4\u5b66\u65e0\u6b62\u5883\u3002\u56e0\u6b64\uff0c\u4e00\u4e2a\u6e05\u6670\u660e\u786e\u7684\u5b66\u4e60\u89c4\u5212\u662f\u975e\u5e38\u91cd\u8981\u7684\u3002\u6211\u5728\u591a\u5e74\u81ea\u5b66\u7684\u5c1d\u8bd5\u4e2d\u4e5f\u8d70\u8fc7\u4e0d\u5c11\u5f2f\u8def\uff0c\u6700\u7ec8\u63d0\u70bc\u51fa\u4e86\u4e0b\u9762\u7684\u5185\u5bb9\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u4e0d\u8fc7\uff0c\u5728\u5f00\u59cb\u5b66\u4e60\u4e4b\u524d\uff0c\u5148\u5411\u5c0f\u767d\u4eec\u5f3a\u70c8\u63a8\u8350\u4e00\u4e2a\u79d1\u666e\u5411\u7cfb\u5217\u89c6\u9891 Crash Course: Computer Science \uff0c\u5728\u77ed\u77ed 8 \u4e2a\u5c0f\u65f6\u91cc\u975e\u5e38\u751f\u52a8\u4e14\u5168\u9762\u5730\u79d1\u666e\u4e86\u5173\u4e8e\u8ba1\u7b97\u673a\u79d1\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff1a\u8ba1\u7b97\u673a\u7684\u5386\u53f2\u3001\u8ba1\u7b97\u673a\u662f\u5982\u4f55\u8fd0\u4f5c\u7684\u3001\u7ec4\u6210\u8ba1\u7b97\u673a\u7684\u5404\u4e2a\u91cd\u8981\u6a21\u5757\u3001\u8ba1\u7b97\u673a\u79d1\u5b66\u4e2d\u7684\u91cd\u8981\u601d\u60f3\u7b49\u7b49\u7b49\u7b49\u3002\u6b63\u5982\u5b83\u7684\u53e3\u53f7\u6240\u8bf4\u7684 Computers are not magic! \uff0c\u5e0c\u671b\u770b\u5b8c\u8fd9\u4e2a\u89c6\u9891\u4e4b\u540e\uff0c\u5927\u5bb6\u80fd\u5bf9\u8ba1\u7b97\u673a\u79d1\u5b66\u6709\u4e2a\u5168\u8c8c\u6027\u5730\u611f\u77e5\uff0c\u4ece\u800c\u6000\u7740\u5174\u8da3\u53bb\u9762\u5bf9\u4e0b\u9762\u6d69\u5982\u70df\u6d77\u7684\u66f4\u4e3a\u7ec6\u81f4\u4e14\u6df1\u5165\u7684\u5b66\u4e60\u5185\u5bb9\u3002 \u5fc5\u5b66\u5de5\u5177 \u4fd7\u8bdd\u8bf4\uff1a\u78e8\u5200\u4e0d\u8bef\u780d\u67f4\u5de5\u3002\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u521a\u521a\u63a5\u89e6\u8ba1\u7b97\u673a\u768424k\u7eaf\u5c0f\u767d\uff0c\u5b66\u4f1a\u4e00\u4e9b\u5de5\u5177\u5c06\u4f1a\u8ba9\u4f60\u4e8b\u534a\u529f\u500d\u3002 \u5b66\u4f1a\u63d0\u95ee\uff1a\u4e5f\u8bb8\u4f60\u4f1a\u60ca\u8bb6\uff0c\u63d0\u95ee\u4e5f\u7b97\u8ba1\u7b97\u673a\u5fc5\u5907\u6280\u80fd\u5417\uff0c\u8fd8\u653e\u5728\u7b2c\u4e00\u6761\uff1f\u6211\u89c9\u5f97\u5728\u5f00\u6e90\u793e\u533a\u4e2d\uff0c\u5b66\u4f1a\u63d0\u95ee\u662f\u4e00\u9879\u975e\u5e38\u91cd\u8981\u7684\u80fd\u529b\uff0c\u5b83\u5305\u542b\u4e24\u65b9\u9762\u7684\u4e8b\u60c5\u3002\u5176\u4e00\u662f\u4f1a\u53d8\u76f8\u5730\u57f9\u517b\u4f60\u81ea\u4e3b\u89e3\u51b3\u95ee\u9898\u7684\u80fd\u529b\uff0c\u56e0\u4e3a\u4ece\u5f62\u6210\u95ee\u9898\u3001\u63cf\u8ff0\u95ee\u9898\u5e76\u53d1\u5e03\u3001\u4ed6\u4eba\u56de\u7b54\u3001\u6700\u540e\u518d\u5230\u7406\u89e3\u56de\u7b54\u8fd9\u4e2a\u5468\u671f\u662f\u975e\u5e38\u957f\u7684\uff0c\u5982\u679c\u9047\u5230\u4ec0\u4e48\u9e21\u6bdb\u849c\u76ae\u7684\u4e8b\u60c5\u90fd\u5e0c\u671b\u522b\u4eba\u6700\u597d\u8fdc\u7a0b\u684c\u9762\u624b\u628a\u624b\u5e2e\u4f60\u5b8c\u6210\uff0c\u90a3\u8ba1\u7b97\u673a\u7684\u4e16\u754c\u57fa\u672c\u4e0e\u4f60\u65e0\u7f18\u4e86\u3002\u5176\u4e8c\uff0c\u5982\u679c\u771f\u7684\u7ecf\u8fc7\u5c1d\u8bd5\u8fd8\u65e0\u6cd5\u89e3\u51b3\uff0c\u53ef\u4ee5\u501f\u52a9\u5f00\u6e90\u793e\u533a\u7684\u5e2e\u52a9\uff0c\u4f46\u8fd9\u65f6\u5019\u5982\u4f55\u901a\u8fc7\u7b80\u6d01\u7684\u6587\u5b57\u8ba9\u522b\u4eba\u77ac\u95f4\u7406\u89e3\u4f60\u7684\u5904\u5883\u4ee5\u53ca\u76ee\u7684\uff0c\u5c31\u663e\u5f97\u5c24\u4e3a\u91cd\u8981\u3002\u63a8\u8350\u9605\u8bfb \u63d0\u95ee\u7684\u667a\u6167 \u8fd9\u7bc7\u6587\u7ae0\uff0c\u8fd9\u4e0d\u4ec5\u80fd\u63d0\u9ad8\u4f60\u89e3\u51b3\u95ee\u9898\u7684\u6982\u7387\u548c\u6548\u7387\uff0c\u4e5f\u80fd\u8ba9\u5f00\u6e90\u793e\u533a\u91cc\u65e0\u507f\u63d0\u4f9b\u89e3\u7b54\u7684\u4eba\u4eec\u62e5\u6709\u4e00\u4e2a\u597d\u5fc3\u60c5\u3002 MIT-Missing-Semester \u8fd9\u95e8\u8bfe\u8986\u76d6\u4e86\u8fd9\u4e9b\u5de5\u5177\u4e2d\u7edd\u5927\u90e8\u5206\uff0c\u800c\u4e14\u6709\u76f8\u5f53\u8be6\u7ec6\u7684\u4f7f\u7528\u6307\u5bfc\uff0c\u5f3a\u70c8\u5efa\u8bae\u5c0f\u767d\u5b66\u4e60\u3002\u4e0d\u8fc7\u9700\u8981\u6ce8\u610f\u7684\u4e00\u70b9\u662f\uff0c\u5728\u8bfe\u7a0b\u4e2d\u4f1a\u4e0d\u65f6\u63d0\u5230\u4e00\u4e9b\u4e0e\u5f00\u53d1\u6d41\u7a0b\u76f8\u5173\u7684\u672f\u8bed\u3002\u56e0\u6b64\u63a8\u8350\u81f3\u5c11\u5728\u5b66\u5b8c\u8ba1\u7b97\u673a\u5bfc\u8bba\u7ea7\u522b\u7684\u8bfe\u7a0b\u4e4b\u540e\u8fdb\u884c\u5b66\u4e60\u3002 \u7ffb\u5899 \uff1a\u7531\u4e8e\u4e00\u4e9b\u4f17\u6240\u5468\u77e5\u7684\u539f\u56e0\uff0c\u8c37\u6b4c\u3001GitHub \u7b49\u7f51\u7ad9\u5728\u5927\u9646\u65e0\u6cd5\u8bbf\u95ee\u3002\u7136\u800c\u5f88\u591a\u65f6\u5019\uff0c\u8c37\u6b4c\u548c StackOverflow \u53ef\u4ee5\u89e3\u51b3\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u9047\u5230\u7684 99% \u7684\u95ee\u9898\u3002\u56e0\u6b64\uff0c\u5b66\u4f1a\u7ffb\u5899\u51e0\u4e4e\u662f\u4e00\u4e2a\u5185\u5730 CSer \u7684\u5fc5\u5907\u6280\u80fd\u3002\uff08\u8003\u8651\u5230\u6cd5\u5f8b\u95ee\u9898\uff0c\u8fd9\u4e2a\u6587\u6863\u63d0\u4f9b\u7684\u7ffb\u5899\u65b9\u5f0f\u4ec5\u5bf9\u62e5\u6709\u5317\u5927\u90ae\u7bb1\u7684\u7528\u6237\u9002\u7528\uff09\u3002 \u547d\u4ee4\u884c\uff1a\u719f\u7ec3\u4f7f\u7528\u547d\u4ee4\u884c\u662f\u4e00\u79cd\u5e38\u5e38\u88ab\u5ffd\u89c6\uff0c\u6216\u88ab\u8ba4\u4e3a\u96be\u4ee5\u638c\u63e1\u7684\u6280\u80fd\uff0c\u4f46\u5b9e\u9645\u4e0a\uff0c\u5b83\u4f1a\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u4f5c\u4e3a\u5de5\u7a0b\u5e08\u7684\u7075\u6d3b\u6027\u4ee5\u53ca\u751f\u4ea7\u529b\u3002 \u547d\u4ee4\u884c\u7684\u827a\u672f \u662f\u4e00\u4efd\u975e\u5e38\u7ecf\u5178\u7684\u6559\u7a0b\uff0c\u5b83\u6e90\u4e8e Quora \u7684\u4e00\u4e2a\u63d0\u95ee\uff0c\u4f46\u5728\u5404\u8def\u5927\u795e\u7684\u8d21\u732e\u52aa\u529b\u4e0b\u5df2\u7ecf\u6210\u4e3a\u4e86\u4e00\u4e2a GitHub \u5341\u4e07 stars \u7684\u9876\u6d41\u9879\u76ee\uff0c\u88ab\u7ffb\u8bd1\u6210\u4e86\u5341\u51e0\u79cd\u8bed\u8a00\u3002\u6559\u7a0b\u4e0d\u957f\uff0c\u975e\u5e38\u5efa\u8bae\u5927\u5bb6\u53cd\u590d\u901a\u8bfb\uff0c\u5728\u5b9e\u8df5\u4e2d\u5185\u5316\u5438\u6536\u3002\u540c\u65f6\uff0c\u638c\u63e1 Shell \u811a\u672c\u7f16\u7a0b\u4e5f\u662f\u4e00\u9879\u4e0d\u5bb9\u5ffd\u89c6\u7684\u6280\u672f\uff0c\u53ef\u4ee5\u53c2\u8003\u8fd9\u4e2a \u6559\u7a0b \u3002 IDE (Integrated Development Environment)\uff1a\u96c6\u6210\u5f00\u53d1\u73af\u5883\uff0c\u8bf4\u767d\u4e86\u5c31\u662f\u4f60\u5199\u4ee3\u7801\u7684\u5730\u65b9\u3002\u4f5c\u4e3a\u4e00\u4e2a\u7801\u519c\uff0cIDE \u7684\u91cd\u8981\u6027\u4e0d\u8a00\u800c\u55bb\uff0c\u4f46\u7531\u4e8e\u5f88\u591a IDE \u662f\u4e3a\u5927\u578b\u5de5\u7a0b\u9879\u76ee\u8bbe\u8ba1\u7684\uff0c\u4f53\u91cf\u8f83\u5927\uff0c\u529f\u80fd\u4e5f\u8fc7\u4e8e\u4e30\u5bcc\u3002\u5176\u5b9e\u5982\u4eca\u4e00\u4e9b\u8f7b\u4fbf\u7684\u6587\u672c\u7f16\u8f91\u5668\u914d\u5408\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\u57fa\u672c\u53ef\u4ee5\u6ee1\u8db3\u65e5\u5e38\u7684\u8f7b\u91cf\u7f16\u7a0b\u9700\u6c42\u3002\u4e2a\u4eba\u5e38\u7528\u7684\u7f16\u8f91\u5668\u662f VS Code \u548c Sublime\uff08\u524d\u8005\u7684\u63d2\u4ef6\u914d\u7f6e\u975e\u5e38\u7b80\u5355\uff0c\u540e\u8005\u7565\u663e\u590d\u6742\u4f46\u989c\u503c\u5f88\u9ad8\uff09\u3002\u5f53\u7136\u5bf9\u4e8e\u5927\u578b\u9879\u76ee\u6211\u8fd8\u662f\u4f1a\u91c7\u7528\u7565\u91cd\u578b\u7684 IDE\uff0c\u4f8b\u5982 Pycharm (Python)\uff0cIDEA (Java) \u7b49\u7b49\uff08\u514d\u8d23\u7533\u660e\uff1a\u6240\u6709\u7684 IDE \u90fd\u662f\u4e16\u754c\u4e0a\u6700\u597d\u7684 IDE\uff09\u3002 Vim \uff1a\u4e00\u6b3e\u547d\u4ee4\u884c\u7f16\u8f91\u5de5\u5177\u3002\u8fd9\u662f\u4e00\u4e2a\u5b66\u4e60\u66f2\u7ebf\u6709\u4e9b\u9661\u5ced\u7684\u7f16\u8f91\u5668\uff0c\u4e0d\u8fc7\u5b66\u4f1a\u5b83\u6211\u89c9\u5f97\u662f\u975e\u5e38\u6709\u5fc5\u8981\u7684\uff0c\u56e0\u4e3a\u5b83\u5c06\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u7684\u5f00\u53d1\u6548\u7387\u3002\u73b0\u5728\u7edd\u5927\u591a\u6570 IDE \u4e5f\u90fd\u652f\u6301 Vim \u63d2\u4ef6\uff0c\u8ba9\u4f60\u5728\u4eab\u53d7\u73b0\u4ee3\u5f00\u53d1\u73af\u5883\u7684\u540c\u65f6\u4fdd\u7559\u6781\u5ba2\u7684\u70ab\u9177\uff08yue\uff09\u3002 Emacs \uff1a\u4e0e Vim \u9f50\u540d\u7684\u7ecf\u5178\u7f16\u8f91\u5668\uff0c\u540c\u6837\u5177\u6709\u6781\u9ad8\u7684\u5f00\u53d1\u6548\u7387\uff0c\u540c\u65f6\u5177\u6709\u66f4\u4e3a\u5f3a\u5927\u7684\u6269\u5c55\u6027\uff0c\u5b83\u65e2\u53ef\u4ee5\u914d\u7f6e\u4e3a\u4e00\u4e2a\u8f7b\u91cf\u7f16\u8f91\u5668\uff0c\u4e5f\u53ef\u4ee5\u6269\u5c55\u6210\u4e00\u4e2a\u4e2a\u4eba\u5b9a\u5236\u7684 IDE\uff0c\u751a\u81f3\u53ef\u4ee5\u6709\u66f4\u591a\u5947\u6280\u6deb\u5de7\u3002 Git \uff1a\u4e00\u6b3e\u4ee3\u7801\u7248\u672c\u63a7\u5236\u5de5\u5177\u3002Git\u7684\u5b66\u4e60\u66f2\u7ebf\u53ef\u80fd\u66f4\u4e3a\u9661\u5ced\uff0c\u4f46\u51fa\u81ea Linux \u4e4b\u7236 Linus \u4e4b\u624b\u7684 Git \u7edd\u5bf9\u662f\u6bcf\u4e2a\u5b66 CS \u7684\u7ae5\u978b\u5fc5\u987b\u638c\u63e1\u7684\u795e\u5668\u4e4b\u4e00\u3002 GitHub \uff1a\u57fa\u4e8e Git \u7684\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u5168\u4e16\u754c\u6700\u5927\u7684\u4ee3\u7801\u5f00\u6e90\u793e\u533a\uff0c\u5927\u4f6c\u96c6\u805a\u5730\u3002 GNU Make \uff1a\u4e00\u6b3e\u5de5\u7a0b\u6784\u5efa\u5de5\u5177\u3002\u5584\u7528 GNU Make \u4f1a\u8ba9\u4f60\u517b\u6210\u4ee3\u7801\u6a21\u5757\u5316\u7684\u4e60\u60ef\uff0c\u540c\u65f6\u4e5f\u80fd\u8ba9\u4f60\u719f\u6089\u4e00\u4e9b\u5927\u578b\u5de5\u7a0b\u7684\u7f16\u8bd1\u94fe\u63a5\u6d41\u7a0b\u3002 CMake \uff1a\u4e00\u6b3e\u529f\u80fd\u6bd4 GNU Make \u66f4\u4e3a\u5f3a\u5927\u7684\u6784\u5efa\u5de5\u5177\uff0c\u5efa\u8bae\u638c\u63e1 GNU Make \u4e4b\u540e\u518d\u52a0\u4ee5\u5b66\u4e60\u3002 LaTex \uff1a \u903c\u683c\u63d0\u5347 \u8bba\u6587\u6392\u7248\u5de5\u5177\u3002 Docker \uff1a\u4e00\u6b3e\u76f8\u8f83\u4e8e\u865a\u62df\u673a\u66f4\u8f7b\u91cf\u7ea7\u7684\u8f6f\u4ef6\u6253\u5305\u4e0e\u73af\u5883\u90e8\u7f72\u5de5\u5177\u3002 \u5b9e\u7528\u5de5\u5177\u7bb1 \uff1a\u9664\u4e86\u4e0a\u9762\u63d0\u5230\u7684\u8fd9\u4e9b\u5728\u5f00\u53d1\u4e2d\u4f7f\u7528\u9891\u7387\u6781\u9ad8\u7684\u5de5\u5177\u4e4b\u5916\uff0c\u6211\u8fd8\u6536\u96c6\u4e86\u5f88\u591a\u5b9e\u7528\u6709\u8da3\u7684\u514d\u8d39\u5de5\u5177\uff0c\u4f8b\u5982\u4e00\u4e9b\u4e0b\u8f7d\u5de5\u5177\u3001\u8bbe\u8ba1\u5de5\u5177\u3001\u5b66\u4e60\u7f51\u7ad9\u7b49\u7b49\u3002 Thesis \uff1a\u6bd5\u4e1a\u8bba\u6587 Word \u5199\u4f5c\u6559\u7a0b\u3002 \u597d\u4e66\u63a8\u8350 \u79c1\u4ee5\u4e3a\u4e00\u672c\u597d\u7684\u6559\u6750\u5e94\u5f53\u662f\u4ee5\u4eba\u4e3a\u672c\u7684\uff0c\u800c\u4e0d\u662f\u70ab\u6280\u5f0f\u7684\u7406\u8bba\u5806\u780c\u3002\u544a\u8bc9\u8bfb\u8005\u201c\u662f\u4ec0\u4e48\u201d\u56fa\u7136\u91cd\u8981\uff0c\u4f46\u66f4\u597d\u7684\u5e94\u5f53\u662f\u6559\u6750\u4f5c\u8005\u5c06\u5176\u5728\u8fd9\u4e2a\u9886\u57df\u6df1\u8015\u51e0\u5341\u5e74\u7684\u7ecf\u9a8c\u878d\u6c47\u8fdb\u4e66\u4e2d\uff0c\u5411\u8bfb\u8005\u5a13\u5a13\u9053\u6765\u201c\u4e3a\u4ec0\u4e48\u201d\u4ee5\u53ca\u672a\u6765\u5e94\u8be5\u201c\u600e\u4e48\u505a\u201d\u3002 \u94fe\u63a5\u6233\u8fd9\u91cc \u73af\u5883\u914d\u7f6e \u4f60\u4ee5\u4e3a\u7684\u5f00\u53d1 \u2014\u2014 \u5728 IDE \u91cc\u75af\u72c2\u7801\u4ee3\u7801\u6570\u5c0f\u65f6\u3002 \u5b9e\u9645\u4e0a\u7684\u5f00\u53d1 \u2014\u2014 \u914d\u73af\u5883\u914d\u51e0\u5929\u8fd8\u6ca1\u5f00\u59cb\u5199\u4ee3\u7801\u3002 PC \u7aef\u73af\u5883\u914d\u7f6e \u5982\u679c\u4f60\u662f Mac \u7528\u6237\uff0c\u90a3\u4e48\u4f60\u5f88\u5e78\u8fd0\uff0c\u8fd9\u4efd \u6307\u5357 \u5c06\u4f1a\u624b\u628a\u624b\u5730\u5e26\u4f60\u642d\u5efa\u8d77\u6574\u5957\u5f00\u53d1\u73af\u5883\u3002\u5982\u679c\u4f60\u662f Windows \u7528\u6237\uff0c\u5728\u5f00\u6e90\u793e\u533a\u7684\u52aa\u529b\u4e0b\uff0c\u4f60\u540c\u6837\u53ef\u4ee5\u83b7\u5f97\u4e0e\u5176\u4ed6\u5e73\u53f0\u7c7b\u4f3c\u7684\u4f53\u9a8c\uff1a Scoop \u3002 \u53e6\u5916\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003\u4e00\u4efd\u7075\u611f\u6765\u81ea 6.NULL MIT-Missing-Semester \u7684 \u73af\u5883\u914d\u7f6e\u6307\u5357 \uff0c\u91cd\u70b9\u5728\u4e8e\u7ec8\u7aef\u7684\u7f8e\u5316\u914d\u7f6e\u3002\u6b64\u5916\u8fd8\u5305\u62ec\u5e38\u7528\u8f6f\u4ef6\u6e90\uff08\u5982 GitHub, Anaconda, PyPI \u7b49\uff09\u7684\u52a0\u901f\u4e0e\u66ff\u6362\u4ee5\u53ca\u4e00\u4e9b IDE \u7684\u914d\u7f6e\u4e0e\u6fc0\u6d3b\u6559\u7a0b\u3002 \u670d\u52a1\u5668\u7aef\u73af\u5883\u914d\u7f6e \u670d\u52a1\u5668\u7aef\u7684\u8fd0\u7ef4\u9700\u8981\u638c\u63e1 Linux\uff08\u6216\u8005\u5176\u4ed6\u7c7b Unix \u7cfb\u7edf\uff09\u7684\u57fa\u672c\u4f7f\u7528\u4ee5\u53ca\u8fdb\u7a0b\u3001\u8bbe\u5907\u3001\u7f51\u7edc\u7b49\u7cfb\u7edf\u76f8\u5173\u7684\u57fa\u672c\u6982\u5ff5\uff0c\u5c0f\u767d\u53ef\u4ee5\u53c2\u8003\u4e2d\u56fd\u79d1\u5b66\u6280\u672f\u5927\u5b66 Linux \u7528\u6237\u534f\u4f1a\u7f16\u5199\u7684 \u300aLinux 101\u300b\u5728\u7ebf\u8bb2\u4e49 \u3002\u5982\u679c\u60f3\u6df1\u5165\u5b66\u4e60\u7cfb\u7edf\u8fd0\u7ef4\u76f8\u5173\u7684\u77e5\u8bc6\uff0c\u53ef\u4ee5\u53c2\u8003 Aspects of System Administration \u8fd9\u95e8\u8bfe\u7a0b\u3002 \u53e6\u5916\uff0c\u5982\u679c\u9700\u8981\u5b66\u4e60\u67d0\u4e2a\u5177\u4f53\u7684\u6982\u5ff5\u6216\u5de5\u5177\uff0c\u63a8\u8350\u4e00\u4e2a\u975e\u5e38\u4e0d\u9519\u7684 GitHub \u9879\u76ee DevOps-Guide \uff0c\u5176\u4e2d\u6db5\u76d6\u4e86\u975e\u5e38\u591a\u7684\u8fd0\u7ef4\u65b9\u9762\u7684\u57fa\u7840\u77e5\u8bc6\u548c\u6559\u7a0b\uff0c\u4f8b\u5982 Docker, Kubernetes, Linux, CI-CD, GitHub Actions \u7b49\u7b49\u3002 \u8bfe\u7a0b\u5730\u56fe \u6b63\u5982\u8fd9\u7ae0\u5f00\u5934\u63d0\u5230\u7684\uff0c\u8fd9\u4efd\u8bfe\u7a0b\u5730\u56fe\u4ec5\u4ec5\u662f\u4e00\u4e2a \u4ec5\u4f9b\u53c2\u8003 \u7684\u8bfe\u7a0b\u89c4\u5212\uff0c\u6211\u4f5c\u4e3a\u4e00\u4e2a\u4e34\u8fd1\u6bd5\u4e1a\u7684\u672c\u79d1\u751f\u3002\u6df1\u611f\u81ea\u5df1\u6ca1\u6709\u6743\u5229\u4e5f\u6ca1\u6709\u80fd\u529b\u5411\u522b\u4eba\u5ba3\u626c\u201c\u5e94\u8be5\u600e\u4e48\u5b66\u201d\u3002\u56e0\u6b64\u5982\u679c\u4f60\u89c9\u5f97\u4ee5\u4e0b\u7684\u8bfe\u7a0b\u5206\u7c7b\u4e0e\u9009\u62e9\u6709\u4e0d\u5408\u7406\u4e4b\u5904\uff0c\u6211\u5168\u76d8\u63a5\u53d7\uff0c\u5e76\u6df1\u611f\u62b1\u6b49\u3002\u4f60\u53ef\u4ee5\u5728\u4e0b\u4e00\u8282 \u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe \u4ee5\u4e0b\u8bfe\u7a0b\u7c7b\u522b\u4e2d\u9664\u4e86\u542b\u6709 \u57fa\u7840 \u548c \u5165\u95e8 \u5b57\u773c\u7684\u4ee5\u5916\uff0c\u5e76\u65e0\u660e\u786e\u7684\u5148\u540e\u6b21\u5e8f\uff0c\u5927\u5bb6\u53ea\u8981\u6ee1\u8db3\u67d0\u4e2a\u8bfe\u7a0b\u7684\u5148\u4fee\u8981\u6c42\uff0c\u5b8c\u5168\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u8981\u548c\u559c\u597d\u9009\u62e9\u60f3\u8981\u5b66\u4e60\u7684\u8bfe\u7a0b\u3002 \u6570\u5b66\u57fa\u7840 \u5fae\u79ef\u5206\u4e0e\u7ebf\u6027\u4ee3\u6570 \u4f5c\u4e3a\u5927\u4e00\u65b0\u751f\uff0c\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u662f\u548c\u5199\u4ee3\u7801\u81f3\u5c11\u540c\u7b49\u91cd\u8981\u7684\u4e8b\u60c5\uff0c\u76f8\u4fe1\u5df2\u7ecf\u6709\u65e0\u6570\u7684\u524d\u4eba\u7ecf\u9a8c\u63d0\u5230\u8fc7\u8fd9\u4e00\u70b9\uff0c\u4f46\u6211\u8fd8\u662f\u8981\u4e0d\u538c\u5176\u70e6\u5730\u518d\u5f3a\u8c03\u4e00\u904d\uff1a\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u771f\u7684\u5f88\u91cd\u8981\uff01\u4f60\u4e5f\u8bb8\u4f1a\u5410\u69fd\u8fd9\u4e9b\u4e1c\u897f\u5c82\u4e0d\u662f\u8003\u5b8c\u5c31\u5fd8\uff0c\u90a3\u6211\u89c9\u5f97\u4f60\u662f\u5e76\u6ca1\u6709\u628a\u63e1\u4f4f\u5b83\u4eec\u672c\u8d28\uff0c\u5bf9\u5b83\u4eec\u7684\u7406\u89e3\u8fd8\u6ca1\u6709\u8fbe\u5230\u523b\u9aa8\u94ed\u5fc3\u7684\u7a0b\u5ea6\u3002\u5982\u679c\u89c9\u5f97\u8001\u5e08\u8bfe\u4e0a\u8bb2\u7684\u5185\u5bb9\u6666\u6da9\u96be\u61c2\uff0c\u4e0d\u59a8\u53c2\u8003 MIT \u7684 Calculus Course \u548c 18.06: Linear Algebra \u7684\u8bfe\u7a0b notes\uff0c\u81f3\u5c11\u4e8e\u6211\u800c\u8a00\uff0c\u5b83\u5e2e\u52a9\u6211\u6df1\u523b\u7406\u89e3\u4e86\u5fae\u79ef\u5206\u548c\u7ebf\u6027\u4ee3\u6570\u7684\u8bb8\u591a\u672c\u8d28\u3002\u987a\u9053\u518d\u5b89\u5229\u4e00\u4e2a\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \uff0c\u4ed6\u7684\u9891\u9053\u6709\u5f88\u591a\u7528\u751f\u52a8\u5f62\u8c61\u7684\u52a8\u753b\u9610\u91ca\u6570\u5b66\u672c\u8d28\u5185\u6838\u7684\u89c6\u9891\uff0c\u517c\u5177\u6df1\u5ea6\u548c\u5e7f\u5ea6\uff0c\u8d28\u91cf\u975e\u5e38\u9ad8\u3002 \u4fe1\u606f\u8bba\u5165\u95e8 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u53ca\u65e9\u4e86\u89e3\u4e00\u4e9b\u4fe1\u606f\u8bba\u7684\u57fa\u7840\u77e5\u8bc6\uff0c\u6211\u89c9\u5f97\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u4f46\u5927\u591a\u4fe1\u606f\u8bba\u8bfe\u7a0b\u90fd\u9762\u5411\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u751a\u81f3\u7814\u7a76\u751f\uff0c\u5bf9\u65b0\u624b\u6781\u4e0d\u53cb\u597d\u3002\u800c MIT \u7684 6.050J: Information theory and Entropy \u8fd9\u95e8\u8bfe\u6b63\u662f\u4e3a\u5927\u4e00\u65b0\u751f\u91cf\u8eab\u5b9a\u5236\u7684\uff0c\u51e0\u4e4e\u6ca1\u6709\u5148\u4fee\u8981\u6c42\uff0c\u6db5\u76d6\u4e86\u7f16\u7801\u3001\u538b\u7f29\u3001\u901a\u4fe1\u3001\u4fe1\u606f\u71b5\u7b49\u7b49\u5185\u5bb9\uff0c\u975e\u5e38\u6709\u8da3\u3002 \u6570\u5b66\u8fdb\u9636 \u79bb\u6563\u6570\u5b66\u4e0e\u6982\u7387\u8bba \u96c6\u5408\u8bba\u3001\u56fe\u8bba\u3001\u6982\u7387\u8bba\u7b49\u7b49\u662f\u7b97\u6cd5\u63a8\u5bfc\u4e0e\u8bc1\u660e\u7684\u91cd\u8981\u5de5\u5177\uff0c\u4e5f\u662f\u540e\u7eed\u9ad8\u9636\u6570\u5b66\u8bfe\u7a0b\u7684\u57fa\u7840\u3002\u4f46\u6211\u89c9\u5f97\u8fd9\u7c7b\u8bfe\u7a0b\u7684\u8bb2\u6388\u5f88\u5bb9\u6613\u843d\u5165\u7406\u8bba\u5316\u4e0e\u5f62\u5f0f\u5316\u7684\u7aa0\u81fc\uff0c\u8ba9\u8bfe\u5802\u6210\u4e3a\u5b9a\u7406\u7ed3\u8bba\u7684\u5806\u780c\uff0c\u800c\u65e0\u6cd5\u4f7f\u5b66\u751f\u6df1\u523b\u628a\u63e1\u7406\u8bba\u7684\u672c\u8d28\uff0c\u8fdb\u800c\u9020\u6210\u5b66\u4e86\u5c31\u80cc\uff0c\u8003\u4e86\u5c31\u5fd8\u7684\u602a\u5708\u3002\u5982\u679c\u80fd\u5728\u7406\u8bba\u6559\u5b66\u4e2d\u7a7f\u63d2\u7b97\u6cd5\u8fd0\u7528\u5b9e\u4f8b\uff0c\u5b66\u751f\u5728\u62d3\u5c55\u7b97\u6cd5\u77e5\u8bc6\u7684\u540c\u65f6\u4e5f\u80fd\u7aa5\u89c1\u7406\u8bba\u7684\u529b\u91cf\u548c\u9b45\u529b\u3002 UCB CS70 : discrete Math and probability theory \u548c UCB CS126 : Probability theory \u662f UC Berkeley \u7684\u6982\u7387\u8bba\u8bfe\u7a0b\uff0c\u524d\u8005\u8986\u76d6\u4e86\u79bb\u6563\u6570\u5b66\u548c\u6982\u7387\u8bba\u57fa\u7840\uff0c\u540e\u8005\u5219\u6d89\u53ca\u968f\u673a\u8fc7\u7a0b\u4ee5\u53ca\u6df1\u5165\u7684\u7406\u8bba\u5185\u5bb9\u3002\u4e24\u8005\u90fd\u975e\u5e38\u6ce8\u91cd\u7406\u8bba\u548c\u5b9e\u8df5\u7684\u7ed3\u5408\uff0c\u6709\u4e30\u5bcc\u7684\u7b97\u6cd5\u5b9e\u9645\u8fd0\u7528\u5b9e\u4f8b\uff0c\u540e\u8005\u8fd8\u6709\u5927\u91cf\u7684 Python \u7f16\u7a0b\u4f5c\u4e1a\u6765\u8ba9\u5b66\u751f\u8fd0\u7528\u6982\u7387\u8bba\u7684\u77e5\u8bc6\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u3002 \u6570\u503c\u5206\u6790 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u57f9\u517b\u8ba1\u7b97\u601d\u7ef4\u662f\u5f88\u91cd\u8981\u7684\uff0c\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u3001\u79bb\u6563\u5316\uff0c\u8ba1\u7b97\u673a\u7684\u6a21\u62df\u3001\u5206\u6790\uff0c\u662f\u4e00\u9879\u5f88\u91cd\u8981\u7684\u80fd\u529b\u3002\u800c\u8fd9\u4e24\u5e74\u5f00\u59cb\u98ce\u9761\u7684\uff0c\u7531 MIT \u6253\u9020\u7684 Julia \u7f16\u7a0b\u8bed\u8a00\u4ee5\u5176 C \u4e00\u6837\u7684\u901f\u5ea6\u548c Python \u4e00\u6837\u53cb\u597d\u7684\u8bed\u6cd5\u5728\u6570\u503c\u8ba1\u7b97\u9886\u57df\u6709\u4e00\u7edf\u5929\u4e0b\u4e4b\u52bf\uff0cMIT \u7684\u8bb8\u591a\u6570\u5b66\u8bfe\u7a0b\u4e5f\u5f00\u59cb\u7528 Julia \u4f5c\u4e3a\u6559\u5b66\u5de5\u5177\uff0c\u628a\u8270\u6df1\u7684\u6570\u5b66\u7406\u8bba\u7528\u76f4\u89c2\u6e05\u6670\u7684\u4ee3\u7801\u5c55\u793a\u51fa\u6765\u3002 ComputationalThinking \u662f MIT \u5f00\u8bbe\u7684\u4e00\u95e8\u8ba1\u7b97\u601d\u7ef4\u5165\u95e8\u8bfe\uff0c\u6240\u6709\u8bfe\u7a0b\u5185\u5bb9\u5168\u90e8\u5f00\u6e90\uff0c\u53ef\u4ee5\u5728\u8bfe\u7a0b\u7f51\u7ad9\u76f4\u63a5\u8bbf\u95ee\u3002\u8fd9\u95e8\u8bfe\u5229\u7528 Julia \u7f16\u7a0b\u8bed\u8a00\uff0c\u5728\u56fe\u50cf\u5904\u7406\u3001\u793e\u4f1a\u79d1\u5b66\u4e0e\u6570\u636e\u79d1\u5b66\u3001\u6c14\u5019\u5b66\u5efa\u6a21\u4e09\u4e2a topic \u4e0b\u5e26\u9886\u5b66\u751f\u7406\u89e3\u7b97\u6cd5\u3001\u6570\u5b66\u5efa\u6a21\u3001\u6570\u636e\u5206\u6790\u3001\u4ea4\u4e92\u8bbe\u8ba1\u3001\u56fe\u4f8b\u5c55\u793a\uff0c\u8ba9\u5b66\u751f\u4f53\u9a8c\u8ba1\u7b97\u4e0e\u79d1\u5b66\u7684\u7f8e\u5999\u7ed3\u5408\u3002\u5185\u5bb9\u867d\u7136\u4e0d\u96be\uff0c\u4f46\u7ed9\u6211\u6700\u6df1\u523b\u7684\u611f\u53d7\u5c31\u662f\uff0c\u79d1\u5b66\u7684\u9b45\u529b\u5e76\u4e0d\u662f\u6545\u5f04\u7384\u865a\u7684\u8270\u6df1\u7406\u8bba\uff0c\u4e0d\u662f\u8bd8\u5c48\u8071\u7259\u7684\u672f\u8bed\u884c\u8bdd\uff0c\u800c\u662f\u7528\u76f4\u89c2\u751f\u52a8\u7684\u6848\u4f8b\uff0c\u7528\u7b80\u7ec3\u6df1\u523b\u7684\u8bed\u8a00\uff0c\u8ba9\u6bcf\u4e2a\u666e\u901a\u4eba\u90fd\u80fd\u7406\u89e3\u3002 \u4e0a\u5b8c\u4e0a\u9762\u7684\u4f53\u9a8c\u8bfe\u4e4b\u540e\uff0c\u5982\u679c\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u4e0d\u59a8\u8bd5\u8bd5 MIT \u7684 18.330 : Introduction to numerical analysis \uff0c\u8fd9\u95e8\u8bfe\u7684\u7f16\u7a0b\u4f5c\u4e1a\u540c\u6837\u4f1a\u7528 Julia \u7f16\u7a0b\u8bed\u8a00\uff0c\u4e0d\u8fc7\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u90fd\u4e0a\u4e86\u4e00\u4e2a\u53f0\u9636\u3002\u5185\u5bb9\u6d89\u53ca\u4e86\u6d6e\u70b9\u7f16\u7801\u3001Root finding\u3001\u7ebf\u6027\u7cfb\u7edf\u3001\u5fae\u5206\u65b9\u7a0b\u7b49\u7b49\u65b9\u9762\uff0c\u6574\u95e8\u8bfe\u7684\u4e3b\u65e8\u5c31\u662f\u8ba9\u4f60\u5229\u7528\u79bb\u6563\u5316\u7684\u8ba1\u7b97\u673a\u8868\u793a\u53bb\u4f30\u8ba1\u548c\u903c\u8fd1\u4e00\u4e2a\u6570\u5b66\u4e0a\u8fde\u7eed\u7684\u6982\u5ff5\u3002\u8fd9\u95e8\u8bfe\u7684\u6559\u6388\u8fd8\u4e13\u95e8\u64b0\u5199\u4e86\u4e00\u672c\u914d\u5957\u7684\u5f00\u6e90\u6559\u6750 Fundamentals of Numerical Computation \uff0c\u91cc\u9762\u9644\u6709\u4e30\u5bcc\u7684 Julia \u4ee3\u7801\u5b9e\u4f8b\u548c\u4e25\u8c28\u7684\u516c\u5f0f\u63a8\u5bfc\u3002 \u5982\u679c\u4f60\u8fd8\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u8fd8\u6709 MIT \u7684\u6570\u503c\u5206\u6790\u7814\u7a76\u751f\u8bfe\u7a0b 18.335: Introduction to numerical method \u4f9b\u4f60\u53c2\u8003\u3002 \u5fae\u5206\u65b9\u7a0b \u5982\u679c\u4e16\u95f4\u4e07\u7269\u7684\u8fd0\u52a8\u53d1\u5c55\u90fd\u80fd\u7528\u65b9\u7a0b\u6765\u523b\u753b\u548c\u63cf\u8ff0\uff0c\u8fd9\u662f\u4e00\u4ef6\u591a\u4e48\u9177\u7684\u4e8b\u60c5\u5440\uff01\u867d\u7136\u51e0\u4e4e\u4efb\u4f55\u4e00\u6240\u5b66\u6821\u7684 CS \u57f9\u517b\u65b9\u6848\u4e2d\u90fd\u6ca1\u6709\u5fae\u5206\u65b9\u7a0b\u76f8\u5173\u7684\u5fc5\u4fee\u8bfe\u7a0b\uff0c\u4f46\u6211\u8fd8\u662f\u89c9\u5f97\u638c\u63e1\u5b83\u4f1a\u8d4b\u4e88\u4f60\u4e00\u4e2a\u65b0\u7684\u89c6\u89d2\u6765\u5ba1\u89c6\u8fd9\u4e2a\u4e16\u754c\u3002 \u7531\u4e8e\u5fae\u5206\u65b9\u7a0b\u4e2d\u5f80\u5f80\u4f1a\u7528\u5230\u5f88\u591a\u590d\u53d8\u51fd\u6570\u7684\u77e5\u8bc6\uff0c\u6240\u4ee5\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003 MIT18.04: Complex variables functions \u7684\u8bfe\u7a0b notes \u6765\u8865\u9f50\u5148\u4fee\u77e5\u8bc6\u3002 MIT18.03: differential equations \u4e3b\u8981\u8986\u76d6\u4e86\u5e38\u5fae\u5206\u65b9\u7a0b\u7684\u6c42\u89e3\uff0c\u5728\u6b64\u57fa\u7840\u4e4b\u4e0a MIT18.152: Partial differential equations \u5219\u4f1a\u6df1\u5165\u504f\u5fae\u5206\u65b9\u7a0b\u7684\u5efa\u6a21\u4e0e\u6c42\u89e3\u3002\u638c\u63e1\u4e86\u5fae\u5206\u65b9\u7a0b\u8fd9\u4e00\u6709\u529b\u5de5\u5177\uff0c\u76f8\u4fe1\u5bf9\u4e8e\u4f60\u7684\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u80fd\u529b\u4ee5\u53ca\u4ece\u4f17\u591a\u566a\u58f0\u53d8\u91cf\u4e2d\u628a\u63e1\u672c\u8d28\u7684\u76f4\u89c9\u90fd\u4f1a\u6709\u5f88\u5927\u5e2e\u52a9\u3002 \u6570\u5b66\u9ad8\u9636 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u6211\u7ecf\u5e38\u542c\u5230\u6570\u5b66\u65e0\u7528\u8bba\u7684\u8bba\u65ad\uff0c\u5bf9\u6b64\u6211\u4e0d\u6562\u82df\u540c\u4f46\u4e5f\u65e0\u6743\u53cd\u5bf9\uff0c\u4f46\u82e5\u51e1\u4e8b\u90fd\u786c\u8981\u4e89\u51fa\u4e2a\u6709\u7528\u548c\u65e0\u7528\u7684\u533a\u522b\u6765\uff0c\u5012\u4e5f\u7740\u5b9e\u65e0\u8da3\uff0c\u56e0\u6b64\u4e0b\u9762\u8fd9\u4e9b\u9762\u5411\u9ad8\u5e74\u7ea7\u751a\u81f3\u7814\u7a76\u751f\u7684\u6570\u5b66\u8bfe\u7a0b\uff0c\u5927\u5bb6\u6309\u5174\u8da3\u81ea\u53d6\u6240\u9700\u3002 \u51f8\u4f18\u5316 Standford EE364A: Convex Optimization \u4fe1\u606f\u8bba MIT6.441: Information Theory \u5e94\u7528\u7edf\u8ba1\u5b66 MIT18.650: Statistics for Applications \u521d\u7b49\u6570\u8bba MIT18.781: Theory of Numbers \u5bc6\u7801\u5b66 Standford CS255: Cryptography \u7f16\u7a0b\u5165\u95e8 Languages are tools, you choose the right tool to do the right thing. Since there's no universally perfect tool, there's no universally perfect language. Shell MIT-Missing-Semester Python CS50P: CS50's Introduction to Programming with Python Harvard CS50: This is CS50x UCB CS61A: Structure and Interpretation of Computer Programs C++ Stanford CS106B/X: Programming Abstractions Stanford CS106L: Standard C++ Programming Rust Stanford CS110L: Safety in Systems Programming OCaml Cornell CS3110 textbook: Functional Programming in OCaml \u7535\u5b50\u57fa\u7840 \u7535\u8def\u57fa\u7840 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u4e86\u89e3\u4e00\u4e9b\u57fa\u7840\u7684\u7535\u8def\u77e5\u8bc6\uff0c\u611f\u53d7\u4ece\u4f20\u611f\u5668\u6536\u96c6\u6570\u636e\u5230\u6570\u636e\u5206\u6790\u518d\u5230\u7b97\u6cd5\u9884\u6d4b\u6574\u6761\u6d41\u6c34\u7ebf\uff0c\u5bf9\u4e8e\u540e\u7eed\u77e5\u8bc6\u7684\u5b66\u4e60\u4ee5\u53ca\u8ba1\u7b97\u601d\u7ef4\u7684\u57f9\u517b\u8fd8\u662f\u5f88\u6709\u5e2e\u52a9\u7684\u3002 EE16A&B: Designing Information Devices and Systems I&II \u662f\u4f2f\u514b\u5229 EE \u5b66\u751f\u7684\u5927\u4e00\u5165\u95e8\u8bfe\uff0c\u5176\u4e2d EE16A \u6ce8\u91cd\u901a\u8fc7\u7535\u8def\u4ece\u5b9e\u9645\u73af\u5883\u4e2d\u6536\u96c6\u548c\u5206\u6790\u6570\u636e\uff0c\u800c EE16B \u5219\u4fa7\u91cd\u4ece\u8fd9\u4e9b\u6536\u96c6\u5230\u7684\u6570\u636e\u8fdb\u884c\u5206\u6790\u5e76\u505a\u51fa\u9884\u6d4b\u884c\u4e3a\u3002 \u4fe1\u53f7\u4e0e\u7cfb\u7edf \u4fe1\u53f7\u4e0e\u7cfb\u7edf\u662f\u4e00\u95e8\u6211\u89c9\u5f97\u975e\u5e38\u503c\u5f97\u4e00\u4e0a\u7684\u8bfe\uff0c\u6700\u521d\u5b66\u5b83\u53ea\u662f\u4e3a\u4e86\u6ee1\u8db3\u6211\u5bf9\u5085\u91cc\u53f6\u53d8\u6362\u7684\u597d\u5947\uff0c\u4f46\u5b66\u5b8c\u4e4b\u540e\u6211\u624d\u4e0d\u7981\u611f\u53f9\uff0c\u5085\u7acb\u53f6\u53d8\u6362\u7ed9\u6211\u63d0\u4f9b\u4e86\u4e00\u4e2a\u5168\u65b0\u7684\u89c6\u89d2\u53bb\u770b\u5f85\u8fd9\u4e2a\u4e16\u754c\uff0c\u5c31\u5982\u540c\u5fae\u5206\u65b9\u7a0b\u4e00\u6837\uff0c\u8ba9\u4f60\u6c89\u6d78\u5728\u7528\u6570\u5b66\u53bb\u7cbe\u786e\u63cf\u7ed8\u548c\u523b\u753b\u8fd9\u4e2a\u4e16\u754c\u7684\u4f18\u96c5\u4e0e\u795e\u5947\u4e4b\u4e2d\u3002 MIT 6.003: signal and systems \u63d0\u4f9b\u4e86\u5168\u90e8\u7684\u8bfe\u7a0b\u5f55\u5f71\u3001\u4e66\u9762\u4f5c\u4e1a\u4ee5\u53ca\u7b54\u6848\u3002\u4e5f\u53ef\u4ee5\u53bb\u770b\u8fd9\u95e8\u8bfe\u7684 \u8fdc\u53e4\u7248\u672c \u800c UCB EE120: Signal and Systems \u5173\u4e8e\u5085\u7acb\u53f6\u53d8\u6362\u7684 notes \u5199\u5f97\u975e\u5e38\u597d\uff0c\u5e76\u4e14\u63d0\u4f9b\u4e866 \u4e2a\u975e\u5e38\u6709\u8da3\u7684 Python \u7f16\u7a0b\u4f5c\u4e1a\uff0c\u8ba9\u4f60\u5b9e\u8df5\u4e2d\u8fd0\u7528\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u7684\u7406\u8bba\u4e0e\u7b97\u6cd5\u3002 \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 \u7b97\u6cd5\u662f\u8ba1\u7b97\u673a\u79d1\u5b66\u7684\u6838\u5fc3\uff0c\u4e5f\u662f\u51e0\u4e4e\u4e00\u5207\u4e13\u4e1a\u8bfe\u7a0b\u7684\u57fa\u7840\u3002\u5982\u4f55\u5c06\u5b9e\u9645\u95ee\u9898\u901a\u8fc7\u6570\u5b66\u62bd\u8c61\u8f6c\u5316\u4e3a\u7b97\u6cd5\u95ee\u9898\uff0c\u5e76\u9009\u7528\u5408\u9002\u7684\u6570\u636e\u7ed3\u6784\u5728\u65f6\u95f4\u548c\u5185\u5b58\u5927\u5c0f\u7684\u9650\u5236\u4e0b\u5c06\u5176\u89e3\u51b3\u662f\u7b97\u6cd5\u8bfe\u7684\u6c38\u6052\u4e3b\u9898\u3002\u5982\u679c\u4f60\u53d7\u591f\u4e86\u8001\u5e08\u7684\u7167\u672c\u5ba3\u79d1\uff0c\u90a3\u4e48\u6211\u5f3a\u70c8\u63a8\u8350\u4f2f\u514b\u5229\u7684 UCB CS61B: Data Structures and Algorithms \u548c\u666e\u6797\u65af\u987f\u7684 Coursera: Algorithms I & II \uff0c\u8fd9\u4e24\u95e8\u8bfe\u7684\u90fd\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\u5e76\u4e14\u4f1a\u6709\u4e30\u5bcc\u4e14\u6709\u8da3\u7684\u7f16\u7a0b\u5b9e\u9a8c\u5c06\u7406\u8bba\u4e0e\u77e5\u8bc6\u7ed3\u5408\u8d77\u6765\u3002 \u4ee5\u4e0a\u4e24\u95e8\u8bfe\u7a0b\u90fd\u662f\u57fa\u4e8e Java \u8bed\u8a00\uff0c\u5982\u679c\u4f60\u60f3\u5b66\u4e60 C/C++ \u63cf\u8ff0\u7684\u7248\u672c\uff0c\u53ef\u4ee5\u53c2\u8003\u65af\u5766\u798f\u7684\u6570\u636e\u7ed3\u6784\u4e0e\u57fa\u7840\u7b97\u6cd5\u8bfe\u7a0b Stanford CS106B/X: Programming Abstractions \u3002\u504f\u597d Python \u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60 MIT \u7684\u7b97\u6cd5\u5165\u95e8\u8bfe MIT 6.006: Introduction to Algorithms \u5bf9\u4e00\u4e9b\u66f4\u9ad8\u7ea7\u7684\u7b97\u6cd5\u4ee5\u53ca NP \u95ee\u9898\u611f\u5174\u8da3\u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60\u4f2f\u514b\u5229\u7684\u7b97\u6cd5\u8bbe\u8ba1\u4e0e\u5206\u6790\u8bfe\u7a0b UCB CS170: Efficient Algorithms and Intractable Problems \u6216\u8005 MIT \u7684\u9ad8\u9636\u7b97\u6cd5 MIT 6.046: Design and Analysis of Algorithms \u3002 \u8f6f\u4ef6\u5de5\u7a0b \u5165\u95e8\u8bfe \u4e00\u4efd\u201c\u80fd\u8dd1\u201d\u7684\u4ee3\u7801\uff0c\u548c\u4e00\u4efd\u9ad8\u8d28\u91cf\u7684\u5de5\u4e1a\u7ea7\u4ee3\u7801\u662f\u6709\u672c\u8d28\u533a\u522b\u7684\u3002\u56e0\u6b64\u6211\u975e\u5e38\u63a8\u8350\u4f4e\u5e74\u7ea7\u7684\u540c\u5b66\u5b66\u4e60\u4e00\u4e0b MIT 6.031: Software Construction \u8fd9\u95e8\u8bfe\uff0c\u5b83\u4f1a\u4ee5 Java \u8bed\u8a00\u4e3a\u57fa\u7840\uff0c\u4ee5\u4e30\u5bcc\u7ec6\u81f4\u7684\u9605\u8bfb\u6750\u6599\u548c\u7cbe\u5fc3\u8bbe\u8ba1\u7684\u7f16\u7a0b\u7ec3\u4e60\u4f20\u6388\u5982\u4f55\u7f16\u5199 \u4e0d\u6613\u51fa bug\u3001\u7b80\u660e\u6613\u61c2\u3001\u6613\u4e8e\u7ef4\u62a4\u4fee\u6539 \u7684\u9ad8\u8d28\u91cf\u4ee3\u7801\u3002\u5927\u5230\u5b8f\u89c2\u6570\u636e\u7ed3\u6784\u8bbe\u8ba1\uff0c\u5c0f\u5230\u5982\u4f55\u5199\u6ce8\u91ca\uff0c\u9075\u5faa\u8fd9\u4e9b\u524d\u4eba\u603b\u7ed3\u7684\u7ec6\u8282\u548c\u7ecf\u9a8c\uff0c\u5bf9\u4e8e\u4f60\u6b64\u540e\u7684\u7f16\u7a0b\u751f\u6daf\u5927\u6709\u88e8\u76ca\u3002 \u4e13\u4e1a\u8bfe \u5f53\u7136\uff0c\u5982\u679c\u4f60\u60f3\u7cfb\u7edf\u6027\u5730\u4e0a\u4e00\u95e8\u8f6f\u4ef6\u5de5\u7a0b\u7684\u8bfe\u7a0b\uff0c\u90a3\u6211\u63a8\u8350\u7684\u662f\u4f2f\u514b\u5229\u7684 UCB CS169: software engineering \u3002\u4f46\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u548c\u5927\u591a\u5b66\u6821\uff08\u5305\u62ec\u8d35\u6821\uff09\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u7a0b\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4e0d\u4f1a\u6d89\u53ca\u4f20\u7edf\u7684 design and document \u6a21\u5f0f\uff0c\u5373\u5f3a\u8c03\u5404\u79cd\u7c7b\u56fe\u3001\u6d41\u7a0b\u56fe\u53ca\u6587\u6863\u8bbe\u8ba1\uff0c\u800c\u662f\u91c7\u7528\u8fd1\u4e9b\u5e74\u6d41\u884c\u8d77\u6765\u7684\u5c0f\u56e2\u961f\u5feb\u901f\u8fed\u4ee3 Agile Develepment \u5f00\u53d1\u6a21\u5f0f\u4ee5\u53ca\u5229\u7528\u4e91\u5e73\u53f0\u7684 Software as a service \u670d\u52a1\u6a21\u5f0f\u3002 \u4f53\u7cfb\u7ed3\u6784 \u5165\u95e8\u8bfe \u4ece\u5c0f\u6211\u5c31\u4e00\u76f4\u542c\u8bf4\uff0c\u8ba1\u7b97\u673a\u7684\u4e16\u754c\u662f\u7531 01 \u6784\u6210\u7684\uff0c\u6211\u4e0d\u7406\u89e3\u4f46\u5927\u53d7\u9707\u64bc\u3002\u5982\u679c\u4f60\u7684\u5185\u5fc3\u4e5f\u6000\u6709\u8fd9\u4efd\u597d\u5947\uff0c\u4e0d\u59a8\u82b1\u4e00\u5230\u4e24\u4e2a\u6708\u7684\u65f6\u95f4\u5b66\u4e60 Coursera: Nand2Tetris \u8fd9\u95e8\u65e0\u95e8\u69db\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002\u8fd9\u95e8\u9ebb\u96c0\u867d\u5c0f\u4e94\u810f\u4ff1\u5168\u7684\u8bfe\u7a0b\u4f1a\u4ece 01 \u5f00\u59cb\u8ba9\u4f60\u4eb2\u624b\u9020\u51fa\u4e00\u53f0\u8ba1\u7b97\u673a\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c\u4fc4\u7f57\u65af\u65b9\u5757\u5c0f\u6e38\u620f\u3002\u4e00\u95e8\u8bfe\u91cc\u6db5\u76d6\u4e86\u7f16\u8bd1\u3001\u865a\u62df\u673a\u3001\u6c47\u7f16\u3001\u4f53\u7cfb\u7ed3\u6784\u3001\u6570\u5b57\u7535\u8def\u3001\u903b\u8f91\u95e8\u7b49\u7b49\u4ece\u4e0a\u81f3\u4e0b\u3001\u4ece\u8f6f\u81f3\u786c\u7684\u5404\u7c7b\u77e5\u8bc6\uff0c\u975e\u5e38\u5168\u9762\u3002\u96be\u5ea6\u4e0a\u4e5f\u662f\u901a\u8fc7\u7cbe\u5fc3\u7684\u8bbe\u8ba1\uff0c\u7565\u53bb\u4e86\u4f17\u591a\u73b0\u4ee3\u8ba1\u7b97\u673a\u590d\u6742\u7684\u7ec6\u8282\uff0c\u63d0\u53d6\u51fa\u4e86\u6700\u6838\u5fc3\u672c\u8d28\u7684\u4e1c\u897f\uff0c\u529b\u56fe\u8ba9\u6bcf\u4e2a\u4eba\u90fd\u80fd\u7406\u89e3\u3002\u5728\u4f4e\u5e74\u7ea7\uff0c\u5982\u679c\u5c31\u80fd\u4ece\u5b8f\u89c2\u4e0a\u5efa\u7acb\u5bf9\u6574\u4e2a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7684\u9e1f\u77b0\u56fe\uff0c\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002 \u4e13\u4e1a\u8bfe \u5f53\u7136\uff0c\u5982\u679c\u60f3\u6df1\u5165\u73b0\u4ee3\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u7684\u590d\u6742\u7ec6\u8282\uff0c\u8fd8\u5f97\u4e0a\u4e00\u95e8\u5927\u5b66\u672c\u79d1\u96be\u5ea6\u7684\u8bfe\u7a0b UCB CS61C: Great Ideas in Computer Architecture \u3002UC Berkeley \u4f5c\u4e3a RISC-V \u67b6\u6784\u7684\u53d1\u6e90\u5730\uff0c\u5728\u4f53\u7cfb\u7ed3\u6784\u9886\u57df\u7b97\u5f97\u4e0a\u9996\u5c48\u4e00\u6307\u3002\u5176\u8bfe\u7a0b\u975e\u5e38\u6ce8\u91cd\u5b9e\u8df5\uff0c\u4f60\u4f1a\u5728 Project \u4e2d\u624b\u5199\u6c47\u7f16\u6784\u9020\u795e\u7ecf\u7f51\u7edc\uff0c\u4ece\u96f6\u5f00\u59cb\u642d\u5efa\u4e00\u4e2a CPU\uff0c\u8fd9\u4e9b\u5b9e\u8df5\u90fd\u4f1a\u8ba9\u4f60\u5bf9\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u6709\u66f4\u4e3a\u6df1\u5165\u7684\u7406\u89e3\uff0c\u800c\u4e0d\u662f\u4ec5\u505c\u7559\u4e8e\u201c\u53d6\u6307\u8bd1\u7801\u6267\u884c\u8bbf\u5b58\u5199\u56de\u201d\u7684\u5355\u8c03\u80cc\u8bf5\u91cc\u3002 \u7cfb\u7edf\u5165\u95e8 \u8ba1\u7b97\u673a\u7cfb\u7edf\u662f\u4e00\u4e2a\u5e9e\u6742\u800c\u6df1\u523b\u7684\u4e3b\u9898\uff0c\u5728\u6df1\u5165\u5b66\u4e60\u67d0\u4e2a\u7ec6\u5206\u9886\u57df\u4e4b\u524d\uff0c\u5bf9\u5404\u4e2a\u9886\u57df\u6709\u4e00\u4e2a\u5b8f\u89c2\u6982\u5ff5\u6027\u7684\u7406\u89e3\uff0c\u5bf9\u4e00\u4e9b\u901a\u7528\u6027\u7684\u8bbe\u8ba1\u539f\u5219\u6709\u6240\u77e5\u6653\uff0c\u4f1a\u8ba9\u4f60\u5728\u4e4b\u540e\u7684\u6df1\u5165\u5b66\u4e60\u4e2d\u4e0d\u65ad\u5f3a\u5316\u4e00\u4e9b\u6700\u4e3a\u6838\u5fc3\u4e43\u81f3\u54f2\u5b66\u7684\u6982\u5ff5\uff0c\u800c\u4e0d\u4f1a\u684e\u688f\u4e8e\u590d\u6742\u7684\u5185\u90e8\u7ec6\u8282\u548c\u5404\u79cd trick\u3002\u56e0\u4e3a\u5728\u6211\u770b\u6765\uff0c\u5b66\u4e60\u7cfb\u7edf\u6700\u5173\u952e\u7684\u8fd8\u662f\u60f3\u8ba9\u4f60\u9886\u609f\u5230\u8fd9\u4e9b\u6700\u6838\u5fc3\u7684\u4e1c\u897f\uff0c\u4ece\u800c\u80fd\u591f\u8bbe\u8ba1\u548c\u5b9e\u73b0\u51fa\u5c5e\u4e8e\u81ea\u5df1\u7684\u7cfb\u7edf\u3002 MIT6.033: System Engineering \u662f MIT \u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u4e3b\u9898\u6d89\u53ca\u4e86\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f51\u7edc\u3001\u5206\u5e03\u5f0f\u548c\u7cfb\u7edf\u5b89\u5168\uff0c\u9664\u4e86\u77e5\u8bc6\u70b9\u7684\u4f20\u6388\u5916\uff0c\u8fd9\u95e8\u8bfe\u8fd8\u4f1a\u8bb2\u6388\u4e00\u4e9b\u5199\u4f5c\u548c\u8868\u8fbe\u4e0a\u7684\u6280\u5de7\uff0c\u8ba9\u4f60\u5b66\u4f1a\u5982\u4f55\u8bbe\u8ba1\u5e76\u5411\u522b\u4eba\u4ecb\u7ecd\u548c\u5206\u6790\u81ea\u5df1\u7684\u7cfb\u7edf\u3002\u8fd9\u672c\u4e66\u914d\u5957\u7684\u6559\u6750 Principles of Computer System Design: An Introduction \u4e5f\u5199\u5f97\u975e\u5e38\u597d\uff0c\u63a8\u8350\u5927\u5bb6\u9605\u8bfb\u3002 CMU 15-213: Introduction to Computer System \u662f CMU \u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u5185\u5bb9\u8986\u76d6\u4e86\u4f53\u7cfb\u7ed3\u6784\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u94fe\u63a5\u3001\u5e76\u884c\u3001\u7f51\u7edc\u7b49\u7b49\uff0c\u517c\u5177\u5e7f\u5ea6\u548c\u6df1\u5ea6\uff0c\u914d\u5957\u7684\u6559\u6750 Computer Systems: A Programmer's Perspective \u4e5f\u662f\u8d28\u91cf\u6781\u9ad8\uff0c\u5f3a\u70c8\u5efa\u8bae\u9605\u8bfb\u3002 \u64cd\u4f5c\u7cfb\u7edf \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u5185\u6838\u66f4\u80fd\u52a0\u6df1\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u7684\u7406\u89e3\u4e86\u3002 \u64cd\u4f5c\u7cfb\u7edf\u4f5c\u4e3a\u5404\u7c7b\u7eb7\u7e41\u590d\u6742\u7684\u5e95\u5c42\u786c\u4ef6\u865a\u62df\u5316\u51fa\u4e00\u5957\u89c4\u8303\u4f18\u96c5\u7684\u62bd\u8c61\uff0c\u7ed9\u6240\u6709\u5e94\u7528\u8f6f\u4ef6\u63d0\u4f9b\u4e30\u5bcc\u7684\u529f\u80fd\u652f\u6301\u3002\u4e86\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u8bbe\u8ba1\u539f\u5219\u548c\u5185\u90e8\u539f\u7406\u5bf9\u4e8e\u4e00\u4e2a\u4e0d\u6ee1\u8db3\u4e8e\u5f53\u8c03\u5305\u4fa0\u7684\u7a0b\u5e8f\u5458\u6765\u8bf4\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u51fa\u4e8e\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u7684\u70ed\u7231\uff0c\u6211\u4e0a\u8fc7\u56fd\u5185\u5916\u5f88\u591a\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\uff0c\u5b83\u4eec\u5404\u6709\u4fa7\u91cd\u548c\u4f18\u52a3\uff0c\u5927\u5bb6\u53ef\u4ee5\u6839\u636e\u5174\u8da3\u5404\u53d6\u6240\u9700\u3002 MIT 6.S081: Operating System Engineering \uff0cMIT \u8457\u540d PDOS \u5b9e\u9a8c\u5ba4\u51fa\u54c1\uff0c11 \u4e2a Project \u8ba9\u4f60\u5728\u4e00\u4e2a\u5b9e\u73b0\u975e\u5e38\u4f18\u96c5\u7684\u7c7bUnix\u64cd\u4f5c\u7cfb\u7edfxv6\u4e0a\u589e\u52a0\u5404\u7c7b\u529f\u80fd\u6a21\u5757\u3002\u8fd9\u95e8\u8bfe\u4e5f\u8ba9\u6211\u6df1\u523b\u8ba4\u8bc6\u5230\uff0c\u505a\u7cfb\u7edf\u4e0d\u662f\u9760 PPT \u5ff5\u51fa\u6765\u7684\uff0c\u662f\u5f97\u51e0\u4e07\u884c\u4ee3\u7801\u4e00\u70b9\u70b9\u7d2f\u8d77\u6765\u7684\u3002 UCB CS162: Operating System \uff0c\u4f2f\u514b\u5229\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\uff0c\u91c7\u7528\u548c Stanford \u540c\u6837\u7684 Project \u2014\u2014 \u4e00\u4e2a\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf Pintos\u3002\u6211\u4f5c\u4e3a\u5317\u4eac\u5927\u5b662022\u5e74\u548c2023\u5e74\u6625\u5b63\u5b66\u671f\u64cd\u4f5c\u7cfb\u7edf\u5b9e\u9a8c\u73ed\u7684\u52a9\u6559\uff0c\u5f15\u5165\u5e76\u6539\u5584\u4e86\u8fd9\u4e2a Project\uff0c\u8bfe\u7a0b\u8d44\u6e90\u4e5f\u4f1a\u5168\u90e8\u5f00\u6e90\uff0c\u5177\u4f53\u53c2\u89c1 \u8bfe\u7a0b\u7f51\u7ad9 \u3002 NJU: Operating System Design and Implementation \uff0c\u5357\u4eac\u5927\u5b66\u7684\u848b\u708e\u5ca9\u8001\u5e08\u5f00\u8bbe\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u848b\u8001\u5e08\u4ee5\u5176\u72ec\u5230\u7684\u7cfb\u7edf\u89c6\u89d2\u7ed3\u5408\u4e30\u5bcc\u7684\u4ee3\u7801\u793a\u4f8b\u5c06\u4f17\u591a\u64cd\u4f5c\u7cfb\u7edf\u7684\u6982\u5ff5\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\uff0c\u6b64\u5916\u8fd9\u95e8\u8bfe\u7684\u5168\u90e8\u8bfe\u7a0b\u5185\u5bb9\u90fd\u662f\u4e2d\u6587\u7684\uff0c\u975e\u5e38\u65b9\u4fbf\u5927\u5bb6\u5b66\u4e60\u3002 HIT OS: Operating System \uff0c\u54c8\u5c14\u6ee8\u5de5\u4e1a\u5927\u5b66\u7684\u674e\u6cbb\u519b\u8001\u5e08\u5f00\u8bbe\u7684\u4e2d\u6587\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u674e\u8001\u5e08\u7684\u8bfe\u7a0b\u57fa\u4e8e Linux 0.11 \u6e90\u7801\uff0c\u5341\u5206\u6ce8\u91cd\u4ee3\u7801\u5b9e\u8df5\uff0c\u5e76\u7ad9\u5728\u5b66\u751f\u89c6\u89d2\u5c06\u64cd\u4f5c\u7cfb\u7edf\u7684\u6765\u9f99\u53bb\u8109\u5a13\u5a13\u9053\u6765\u3002 \u5e76\u884c\u4e0e\u5206\u5e03\u5f0f\u7cfb\u7edf \u60f3\u5fc5\u8fd9\u4e24\u5e74\u5404\u7c7b CS \u8bb2\u5ea7\u91cc\u6700\u5e38\u542c\u5230\u7684\u8bdd\u5c31\u662f\u201c\u6469\u5c14\u5b9a\u5f8b\u6b63\u5728\u8d70\u5411\u7ec8\u7ed3\u201d\uff0c\u6b64\u8bdd\u4e0d\u5047\uff0c\u5f53\u5355\u6838\u80fd\u529b\u8fbe\u5230\u4e0a\u9650\u65f6\uff0c\u591a\u6838\u4e43\u81f3\u4f17\u6838\u67b6\u6784\u5982\u65e5\u4e2d\u5929\u3002\u786c\u4ef6\u7684\u53d8\u5316\u5e26\u6765\u7684\u662f\u4e0a\u5c42\u7f16\u7a0b\u903b\u8f91\u7684\u9002\u5e94\u4e0e\u6539\u53d8\uff0c\u8981\u60f3\u5145\u5206\u5229\u7528\u786c\u4ef6\u6027\u80fd\uff0c\u7f16\u5199\u5e76\u884c\u7a0b\u5e8f\u51e0\u4e4e\u6210\u4e86\u7a0b\u5e8f\u5458\u7684\u5fc5\u5907\u6280\u80fd\u3002\u4e0e\u6b64\u540c\u65f6\uff0c\u6df1\u5ea6\u5b66\u4e60\u7684\u5174\u8d77\u5bf9\u8ba1\u7b97\u673a\u7b97\u529b\u4e0e\u5b58\u50a8\u7684\u8981\u6c42\u90fd\u8fbe\u5230\u4e86\u524d\u6240\u672a\u6709\u7684\u9ad8\u5ea6\uff0c\u5927\u89c4\u6a21\u96c6\u7fa4\u7684\u90e8\u7f72\u548c\u4f18\u5316\u4e5f\u6210\u4e3a\u70ed\u95e8\u6280\u672f\u8bdd\u9898\u3002 \u5e76\u884c\u8ba1\u7b97 CMU 15-418/Stanford CS149: Parallel Computing \u5206\u5e03\u5f0f\u7cfb\u7edf MIT 6.824: Distributed System \u7cfb\u7edf\u5b89\u5168 \u4e0d\u77e5\u9053\u4f60\u5f53\u5e74\u9009\u62e9\u8ba1\u7b97\u673a\u662f\u4e0d\u662f\u56e0\u4e3a\u6000\u7740\u4e00\u4e2a\u4e2d\u4e8c\u7684\u9ed1\u5ba2\u68a6\u60f3\uff0c\u4f46\u73b0\u5b9e\u5374\u662f\u6210\u4e3a\u9ed1\u5ba2\u9053\u963b\u4e14\u957f\u3002 \u7406\u8bba\u8bfe\u7a0b UCB CS161: Computer Security \u662f\u4f2f\u514b\u5229\u7684\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u4f1a\u6db5\u76d6\u6808\u653b\u51fb\u3001\u5bc6\u7801\u5b66\u3001\u7f51\u7ad9\u5b89\u5168\u3001\u7f51\u7edc\u5b89\u5168\u7b49\u7b49\u5185\u5bb9\u3002 ASU CSE365: Introduction to Cybersecurity \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66\u7684 Web \u5b89\u5168\u8bfe\u7a0b\uff0c\u4e3b\u8981\u6d89\u53ca\u6ce8\u5165\u3001\u6c47\u7f16\u4e0e\u5bc6\u7801\u5b66\u7684\u5185\u5bb9\u3002 ASU CSE466: Computer Systems Security \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66\u7684\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u6d89\u53ca\u5185\u5bb9\u5168\u9762\u3002\u95e8\u69db\u8f83\u9ad8\uff0c\u9700\u8981\u5bf9 Linux, C \u4e0e Python \u5145\u5206\u719f\u6089\u3002 \u5b9e\u8df5\u8bfe\u7a0b \u638c\u63e1\u8fd9\u4e9b\u7406\u8bba\u77e5\u8bc6\u4e4b\u540e\uff0c\u8fd8\u9700\u8981\u5728\u5b9e\u8df5\u4e2d\u57f9\u517b\u548c\u953b\u70bc\u8fd9\u4e9b\u201c\u9ed1\u5ba2\u7d20\u517b\u201d\u3002 CTF \u593a\u65d7\u8d5b \u662f\u4e00\u9879\u6bd4\u8f83\u70ed\u95e8\u7684\u7cfb\u7edf\u5b89\u5168\u6bd4\u8d5b\uff0c\u8d5b\u9898\u4e2d\u4f1a\u878d\u4f1a\u8d2f\u901a\u5730\u8003\u5bdf\u4f60\u5bf9\u8ba1\u7b97\u673a\u5404\u4e2a\u9886\u57df\u77e5\u8bc6\u7684\u7406\u89e3\u548c\u8fd0\u7528\u3002\u5317\u5927\u4eca\u5e74\u4e5f\u6210\u529f\u4e3e\u529e\u4e86 \u7b2c 0 \u5c4a\u548c\u7b2c 1 \u5c4a \uff0c\u9f13\u52b1\u5927\u5bb6\u540e\u671f\u8e0a\u8dc3\u53c2\u4e0e\uff0c\u5728\u5b9e\u8df5\u4e2d\u63d0\u9ad8\u81ea\u5df1\u3002\u4e0b\u9762\u5217\u4e3e\u4e00\u4e9b\u6211\u5e73\u65f6\u5b66\u4e60\uff08\u6478\u9c7c\uff09\u7528\u5230\u7684\u8d44\u6e90\uff1a CTF-wiki CTF-101 Hacker-101 \u8ba1\u7b97\u673a\u7f51\u7edc \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a TCP/IP \u534f\u8bae\u6808\u66f4\u80fd\u52a0\u6df1\u5bf9\u8ba1\u7b97\u673a\u7f51\u7edc\u7684\u7406\u89e3\u4e86\u3002 \u5927\u540d\u9f0e\u9f0e\u7684 Stanford CS144: Computer Network \uff0c8 \u4e2a Project \u5e26\u4f60\u5b9e\u73b0\u6574\u4e2a TCP/IP \u534f\u8bae\u6808\u3002 \u5982\u679c\u4f60\u53ea\u662f\u60f3\u5728\u7406\u8bba\u4e0a\u5bf9\u8ba1\u7b97\u673a\u7f51\u7edc\u6709\u6240\u4e86\u89e3\uff0c\u90a3\u4e48\u63a8\u8350\u8ba1\u7f51\u8457\u540d\u6559\u6750\u300a\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u300b\u7684\u914d\u5957\u5b66\u4e60\u8d44\u6e90 Computer Networking: A Top-Down Approach \u3002 \u6570\u636e\u5e93\u7cfb\u7edf \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u5173\u7cfb\u578b\u6570\u636e\u5e93\u66f4\u80fd\u52a0\u6df1\u5bf9\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u7406\u89e3\u4e86\u3002 CMU \u7684\u8457\u540d\u6570\u636e\u5e93\u795e\u8bfe CMU 15-445: Introduction to Database System \u4f1a\u901a\u8fc7 4 \u4e2a Project \u5e26\u4f60\u4e3a\u4e00\u4e2a\u7528\u4e8e\u6559\u5b66\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93 bustub \u6dfb\u52a0\u5404\u79cd\u529f\u80fd\u3002\u5b9e\u9a8c\u7684\u8bc4\u6d4b\u6846\u67b6\u4e5f\u514d\u8d39\u5f00\u6e90\u4e86\uff0c\u975e\u5e38\u9002\u5408\u5927\u5bb6\u81ea\u5b66\u3002\u6b64\u5916\u8bfe\u7a0b\u5b9e\u9a8c\u4f1a\u7528\u5230 C++11 \u7684\u4f17\u591a\u65b0\u7279\u6027\uff0c\u4e5f\u662f\u4e00\u4e2a\u953b\u70bc C++ \u4ee3\u7801\u80fd\u529b\u7684\u597d\u673a\u4f1a\u3002 Berkeley \u4f5c\u4e3a\u8457\u540d\u5f00\u6e90\u6570\u636e\u5e93 postgres \u7684\u53d1\u6e90\u5730\u4e5f\u4e0d\u9051\u591a\u8ba9\uff0c UCB CS186: Introduction to Database System \u4f1a\u8ba9\u4f60\u7528 Java \u8bed\u8a00\u5b9e\u73b0\u4e00\u4e2a\u652f\u6301 SQL \u5e76\u53d1\u67e5\u8be2\u3001B+ \u6811\u7d22\u5f15\u548c\u6545\u969c\u6062\u590d\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3002 \u7f16\u8bd1\u539f\u7406 \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u7f16\u8bd1\u5668\u66f4\u80fd\u52a0\u6df1\u5bf9\u7f16\u8bd1\u5668\u7684\u7406\u89e3\u4e86\u3002 Stanford CS143: Compilers \u5e26\u4f60\u624b\u5199\u7f16\u8bd1\u5668\u3002 Web\u5f00\u53d1 \u524d\u540e\u7aef\u5f00\u53d1\u5f88\u5c11\u5728\u8ba1\u7b97\u673a\u7684\u57f9\u517b\u65b9\u6848\u91cc\u88ab\u91cd\u89c6\uff0c\u4f46\u5176\u5b9e\u638c\u63e1\u8fd9\u9879\u6280\u80fd\u8fd8\u662f\u597d\u5904\u591a\u591a\u7684\uff0c\u4f8b\u5982\u642d\u5efa\u81ea\u5df1\u7684\u4e2a\u4eba\u4e3b\u9875\uff0c\u6291\u6216\u662f\u7ed9\u81ea\u5df1\u7684\u8bfe\u7a0b\u9879\u76ee\u505a\u4e00\u4e2a\u7cbe\u5f69\u7684\u5c55\u793a\u7f51\u9875\u3002 \u4e24\u5468\u901f\u6210\u7248 MIT web development course \u7cfb\u7edf\u5b66\u4e60\u7248 Stanford CS142: Web Applications \u8ba1\u7b97\u673a\u56fe\u5f62\u5b66 Stanford CS148 Games101 Games103 Games202 \u6570\u636e\u79d1\u5b66 \u5176\u5b9e\u6570\u636e\u79d1\u5b66\u548c\u673a\u5668\u5b66\u4e60\u4e0e\u6df1\u5ea6\u5b66\u4e60\u6709\u7740\u5f88\u7d27\u5bc6\u7684\u8054\u7cfb\uff0c\u4f46\u53ef\u80fd\u66f4\u4fa7\u91cd\u4e8e\u5b9e\u8df5\u3002Berkeley \u7684 UCB Data100: Principles and Techniques of Data Science \u901a\u8fc7\u4e30\u5bcc\u7684\u7f16\u7a0b\u7ec3\u4e60\u8ba9\u4f60\u5728\u5b9e\u8df5\u4e2d\u638c\u63e1\u5404\u7c7b\u6570\u636e\u5206\u6790\u5de5\u5177\u548c\u7b97\u6cd5\uff0c\u5e76\u5e26\u9886\u4f60\u4f53\u9a8c\u4ece\u6d77\u91cf\u7684\u6570\u636e\u96c6\u4e2d\u63d0\u53d6\u51fa\u60f3\u8981\u7684\u7ed3\u679c\uff0c\u5e76\u5bf9\u672a\u6765\u7684\u6570\u636e\u6216\u7528\u6237\u7684\u884c\u4e3a\u505a\u51fa\u76f8\u5e94\u7684\u9884\u6d4b\u3002\u4f46\u8fd9\u53ea\u662f\u4e00\u95e8\u57fa\u7840\u8bfe\uff0c\u5982\u679c\u60f3\u5b66\u4e60\u5de5\u4e1a\u7ea7\u522b\u7684\u6570\u636e\u6316\u6398\u4e0e\u5206\u6790\u6280\u672f\uff0c\u53ef\u4ee5\u5c1d\u8bd5 Stanford \u7684\u5927\u6570\u636e\u6316\u6398\u8bfe\u7a0b CS246: Mining Massive Data Sets \u3002 \u4eba\u5de5\u667a\u80fd \u8fd1\u5341\u5e74\u4eba\u5de5\u667a\u80fd\u5e94\u8be5\u7b97\u662f\u8ba1\u7b97\u673a\u754c\u6700\u706b\u7206\u7684\u9886\u57df\u3002\u5982\u679c\u4f60\u4e0d\u6ee1\u8db3\u4e8e\u6574\u65e5\u542c\u5404\u8def\u5a92\u4f53\u4e89\u76f8\u62a5\u9053\u4eba\u5de5\u667a\u80fd\u76f8\u5173\u7684\u8fdb\u5c55\uff0c\u800c\u60f3\u771f\u6b63\u4e00\u63a2\u7a76\u7adf\uff0c\u90a3\u4e48\u975e\u5e38\u63a8\u8350\u5b66\u4e60 Harvard \u795e\u8bfe CS50 \u7cfb\u5217\u7684\u4eba\u5de5\u667a\u80fd\u8bfe\u7a0b Harvard CS50: Introduction to AI with Python \u3002\u8bfe\u7a0b\u77ed\u5c0f\u7cbe\u608d\uff0c\u8986\u76d6\u4e86\u4f20\u7edf\u4eba\u5de5\u667a\u80fd\u9886\u57df\u7684\u51e0\u5927\u5206\u652f\uff0c\u5e76\u914d\u6709\u4e30\u5bcc\u6709\u8da3\u7684 Python \u7f16\u7a0b\u7ec3\u4e60\u6765\u5de9\u56fa\u4f60\u5bf9\u4eba\u5de5\u667a\u80fd\u7b97\u6cd5\u7684\u7406\u89e3\u3002\u7f8e\u4e2d\u4e0d\u8db3\u7684\u662f\u8fd9\u95e8\u8bfe\u56e0\u4e3a\u9762\u5411\u5728\u7ebf\u81ea\u5b66\u8005\u7684\u7f18\u6545\u5185\u5bb9\u8f83\u4e3a\u7cbe\u7b80\uff0c\u5e76\u4e14\u4e0d\u4f1a\u6d89\u53ca\u7279\u522b\u6df1\u5165\u7684\u6570\u5b66\u7406\u8bba\uff0c\u5982\u679c\u60f3\u8981\u7cfb\u7edf\u6df1\u5165\u5730\u5b66\u4e60\u8fd8\u9700\u8981\u4e00\u95e8\u672c\u79d1\u751f\u96be\u5ea6\u7684\u8bfe\u7a0b\uff0c\u4f8b\u5982 Berkeley \u7684 UCB CS188: Introduction to Artificial Intelligence \u3002\u8fd9\u95e8\u8bfe\u7684 Project \u590d\u523b\u4e86\u7ecf\u5178\u6e38\u620f\u7cd6\u8c46\u4eba\uff0c\u8ba9\u4f60\u8fd0\u7528\u4eba\u5de5\u667a\u80fd\u7b97\u6cd5\u73a9\u6e38\u620f\uff0c\u975e\u5e38\u6709\u8da3\u3002 \u673a\u5668\u5b66\u4e60 \u673a\u5668\u5b66\u4e60\u9886\u57df\u8fd1\u4e9b\u5e74\u6700\u91cd\u8981\u7684\u8fdb\u5c55\u5c31\u662f\u53d1\u5c55\u51fa\u4e86\u57fa\u4e8e\u795e\u7ecf\u7f51\u7edc\u7684\u6df1\u5ea6\u5b66\u4e60\u5206\u652f\uff0c\u4f46\u5176\u5b9e\u5f88\u591a\u57fa\u4e8e\u7edf\u8ba1\u5b66\u4e60\u7684\u7b97\u6cd5\u4f9d\u7136\u5728\u6570\u636e\u5206\u6790\u9886\u57df\u6709\u7740\u5e7f\u6cdb\u7684\u5e94\u7528\u3002\u5982\u679c\u4f60\u4e4b\u524d\u4ece\u672a\u63a5\u89e6\u8fc7\u673a\u5668\u5b66\u4e60\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u800c\u4e14\u4e0d\u60f3\u4e00\u5f00\u59cb\u5c31\u9677\u5165\u8270\u6df1\u6666\u6da9\u7684\u6570\u5b66\u8bc1\u660e\uff0c\u90a3\u4e48\u4e0d\u59a8\u5148\u4ece Andrew Ng \uff08\u5434\u6069\u8fbe\uff09\u7684 Coursera: Machine Learning \u5b66\u8d77\u3002\u8fd9\u95e8\u8bfe\u5728\u673a\u5668\u5b66\u4e60\u9886\u57df\u57fa\u672c\u65e0\u4eba\u4e0d\u6653\uff0c\u5434\u6069\u8fbe\u4ee5\u5176\u6df1\u539a\u7684\u7406\u8bba\u529f\u5e95\u548c\u51fa\u8272\u7684\u8868\u8fbe\u80fd\u529b\u628a\u5f88\u591a\u8270\u6df1\u7684\u7b97\u6cd5\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\uff0c\u5e76\u4e14\u975e\u5e38\u5b9e\u7528\u3002\u5176\u914d\u5957\u7684\u4f5c\u4e1a\u4e5f\u662f\u8d28\u91cf\u76f8\u5f53\u4e0a\u4e58\uff0c\u53ef\u4ee5\u5e2e\u52a9\u4f60\u5feb\u901f\u5165\u95e8\u3002 \u4f46\u4e0a\u8fc7\u8fd9\u95e8\u8bfe\u53ea\u80fd\u8ba9\u4f60\u4ece\u5b8f\u89c2\u4e0a\u5bf9\u673a\u5668\u5b66\u4e60\u8fd9\u4e00\u9886\u57df\u6709\u4e00\u5b9a\u4e86\u89e3\uff0c\u5982\u679c\u60f3\u771f\u6b63\u7406\u89e3\u90a3\u4e9b\u201c\u795e\u5947\u201d\u7b97\u6cd5\u80cc\u540e\u7684\u6570\u5b66\u539f\u7406\u751a\u81f3\u4ece\u4e8b\u76f8\u5173\u9886\u57df\u7684\u79d1\u7814\u5de5\u4f5c\uff0c\u90a3\u4e48\u8fd8\u9700\u8981\u4e00\u95e8\u66f4\u201c\u6570\u5b66\u201d\u7684\u8bfe\u7a0b\uff0c\u4f8b\u5982 Stanford CS229: Machine Learning \u6216\u8005 UCB CS189: Introduction to Machine Learning \u3002 \u6df1\u5ea6\u5b66\u4e60 \u524d\u51e0\u5e74 AlphaGo \u7684\u5927\u70ed\u8ba9\u6df1\u5ea6\u5b66\u4e60\u8fdb\u5165\u4e86\u5927\u4f17\u7684\u89c6\u91ce\uff0c\u4e0d\u5c11\u5927\u5b66\u751a\u81f3\u4e13\u95e8\u6210\u7acb\u4e86\u76f8\u5173\u4e13\u4e1a\u3002\u5f88\u591a\u8ba1\u7b97\u673a\u7684\u5176\u4ed6\u9886\u57df\u4e5f\u4f1a\u501f\u52a9\u6df1\u5ea6\u5b66\u4e60\u7684\u6280\u672f\u6765\u505a\u7814\u7a76\uff0c\u56e0\u6b64\u57fa\u672c\u4e0d\u7ba1\u4f60\u5e72\u5565\u591a\u5c11\u90fd\u4f1a\u63a5\u89e6\u5230\u4e00\u4e9b\u795e\u7ecf\u7f51\u7edc\u3001\u6df1\u5ea6\u5b66\u4e60\u76f8\u5173\u7684\u6280\u672f\u9700\u6c42\u3002\u5982\u679c\u60f3\u5feb\u901f\u5165\u95e8\uff0c\u540c\u6837\u63a8\u8350 Andrew Ng \uff08\u5434\u6069\u8fbe\uff09\u7684 Coursera: Deep Learning \uff0c\u8d28\u91cf\u65e0\u9700\u591a\u8a00\uff0cCoursera \u4e0a\u7f55\u89c1\u7684\u6ee1\u5206\u8bfe\u7a0b\u3002\u6b64\u5916\u5982\u679c\u4f60\u89c9\u5f97\u82f1\u6587\u8bfe\u7a0b\u5b66\u4e60\u8d77\u6765\u6709\u96be\u5ea6\uff0c\u63a8\u8350\u674e\u5b8f\u6bc5\u8001\u5e08\u7684 \u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\uff1a\u673a\u5668\u5b66\u4e60 \u8bfe\u7a0b\u3002\u8fd9\u95e8\u8bfe\u6253\u7740\u673a\u5668\u5b66\u4e60\u7684\u540d\u53f7\uff0c\u5374\u56ca\u62ec\u4e86\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u7684\u51e0\u4e4e\u6240\u6709\u65b9\u5411\uff0c\u975e\u5e38\u5168\u9762\uff0c\u5f88\u9002\u5408\u4f60\u4ece\u5b8f\u89c2\u4e0a\u5bf9\u8fd9\u4e2a\u9886\u57df\u6709\u4e00\u4e2a\u5927\u81f4\u7684\u4e86\u89e3\u3002\u800c\u4e14\u8001\u5e08\u672c\u4eba\u4e5f\u975e\u5e38\u5e7d\u9ed8\uff0c\u8bfe\u5802\u91d1\u53e5\u9891\u51fa\u3002 \u5f53\u7136\u56e0\u4e3a\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u53d1\u5c55\u975e\u5e38\u8fc5\u901f\uff0c\u5df2\u7ecf\u62e5\u6709\u4e86\u4f17\u591a\u7814\u7a76\u5206\u652f\uff0c\u5982\u679c\u60f3\u8981\u8fdb\u4e00\u6b65\u6df1\u5165\uff0c\u53ef\u4ee5\u6309\u9700\u5b66\u4e60\u4e0b\u9762\u7f57\u5217\u7684\u4ee3\u8868\u8bfe\u7a0b\uff0c \u8ba1\u7b97\u673a\u89c6\u89c9 Stanford CS231n: CNN for Visual Recognition \u81ea\u7136\u8bed\u8a00\u5904\u7406 Stanford CS224n: Natural Language Processing \u56fe\u795e\u7ecf\u7f51\u7edc Stanford CS224w: Machine Learning with Graphs \u5f3a\u5316\u5b66\u4e60 UCB CS285: Deep Reinforcement Learning \u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe \u6388\u4eba\u4ee5\u9c7c\u4e0d\u5982\u6388\u4eba\u4ee5\u6e14\u3002 \u4ee5\u4e0a\u7684\u8bfe\u7a0b\u89c4\u5212\u96be\u514d\u5e26\u6709\u5f3a\u70c8\u7684\u4e2a\u4eba\u504f\u597d\uff0c\u4e0d\u4e00\u5b9a\u9002\u5408\u6240\u6709\u4eba\uff0c\u66f4\u591a\u662f\u8d77\u5230\u629b\u7816\u5f15\u7389\u7684\u4f5c\u7528\u3002\u5982\u679c\u4f60\u60f3\u6311\u9009\u81ea\u5df1\u611f\u5174\u8da3\u7684\u65b9\u5411\u548c\u5185\u5bb9\u52a0\u4ee5\u5b66\u4e60\uff0c\u53ef\u4ee5\u53c2\u8003\u6211\u5728\u4e0b\u9762\u5217\u51fa\u6765\u7684\u8d44\u6e90\u3002 MIT OpenCourseWare : \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684\u8bfe\u7a0b\u8d44\u6e90\u5f00\u653e\u5171\u4eab\u9879\u76ee\uff0c\u6536\u5f55\u4e86\u6570\u4ee5\u5343\u8ba1\u7684\u5404\u79d1\u8bfe\u7a0b\u8d44\u6e90\uff0c\u5176\u4e2d\u8ba1\u7b97\u673a\u7c7b\u7684\u8bfe\u53f7\u662f 6.xxx\u3002 MIT CS Course List : \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002 UC Berkeley EECS Course Map : UC Berkeley \u7684 EECS \u57f9\u517b\u65b9\u6848\uff0c\u4ee5\u8bfe\u7a0b\u5730\u56fe\u7684\u65b9\u5f0f\u5c06\u5404\u95e8\u8bfe\u7a0b\u7684\u7c7b\u522b\u548c\u5148\u4fee\u5173\u7cfb\u4e00\u76ee\u4e86\u7136\u5730\u5448\u73b0\uff0c\u5176\u4e2d\u7edd\u5927\u591a\u6570\u8bfe\u7a0b\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 UC Berkeley CS Course List : UC Berkeley \u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002 Stanford CS Course List : \u65af\u5766\u798f\u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002","title":"Guideline"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#cs","text":"\u8ba1\u7b97\u673a\u9886\u57df\u65b9\u5411\u5e9e\u6742\uff0c\u77e5\u8bc6\u6d69\u5982\u70df\u6d77\uff0c\u6bcf\u4e2a\u7ec6\u5206\u9886\u57df\u5982\u679c\u6df1\u7a76\u4e0b\u53bb\u90fd\u53ef\u4ee5\u8bf4\u5b66\u65e0\u6b62\u5883\u3002\u56e0\u6b64\uff0c\u4e00\u4e2a\u6e05\u6670\u660e\u786e\u7684\u5b66\u4e60\u89c4\u5212\u662f\u975e\u5e38\u91cd\u8981\u7684\u3002\u6211\u5728\u591a\u5e74\u81ea\u5b66\u7684\u5c1d\u8bd5\u4e2d\u4e5f\u8d70\u8fc7\u4e0d\u5c11\u5f2f\u8def\uff0c\u6700\u7ec8\u63d0\u70bc\u51fa\u4e86\u4e0b\u9762\u7684\u5185\u5bb9\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u4e0d\u8fc7\uff0c\u5728\u5f00\u59cb\u5b66\u4e60\u4e4b\u524d\uff0c\u5148\u5411\u5c0f\u767d\u4eec\u5f3a\u70c8\u63a8\u8350\u4e00\u4e2a\u79d1\u666e\u5411\u7cfb\u5217\u89c6\u9891 Crash Course: Computer Science \uff0c\u5728\u77ed\u77ed 8 \u4e2a\u5c0f\u65f6\u91cc\u975e\u5e38\u751f\u52a8\u4e14\u5168\u9762\u5730\u79d1\u666e\u4e86\u5173\u4e8e\u8ba1\u7b97\u673a\u79d1\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff1a\u8ba1\u7b97\u673a\u7684\u5386\u53f2\u3001\u8ba1\u7b97\u673a\u662f\u5982\u4f55\u8fd0\u4f5c\u7684\u3001\u7ec4\u6210\u8ba1\u7b97\u673a\u7684\u5404\u4e2a\u91cd\u8981\u6a21\u5757\u3001\u8ba1\u7b97\u673a\u79d1\u5b66\u4e2d\u7684\u91cd\u8981\u601d\u60f3\u7b49\u7b49\u7b49\u7b49\u3002\u6b63\u5982\u5b83\u7684\u53e3\u53f7\u6240\u8bf4\u7684 Computers are not magic! \uff0c\u5e0c\u671b\u770b\u5b8c\u8fd9\u4e2a\u89c6\u9891\u4e4b\u540e\uff0c\u5927\u5bb6\u80fd\u5bf9\u8ba1\u7b97\u673a\u79d1\u5b66\u6709\u4e2a\u5168\u8c8c\u6027\u5730\u611f\u77e5\uff0c\u4ece\u800c\u6000\u7740\u5174\u8da3\u53bb\u9762\u5bf9\u4e0b\u9762\u6d69\u5982\u70df\u6d77\u7684\u66f4\u4e3a\u7ec6\u81f4\u4e14\u6df1\u5165\u7684\u5b66\u4e60\u5185\u5bb9\u3002","title":"\u4e00\u4e2a\u4ec5\u4f9b\u53c2\u8003\u7684 CS \u5b66\u4e60\u89c4\u5212"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_1","text":"\u4fd7\u8bdd\u8bf4\uff1a\u78e8\u5200\u4e0d\u8bef\u780d\u67f4\u5de5\u3002\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u521a\u521a\u63a5\u89e6\u8ba1\u7b97\u673a\u768424k\u7eaf\u5c0f\u767d\uff0c\u5b66\u4f1a\u4e00\u4e9b\u5de5\u5177\u5c06\u4f1a\u8ba9\u4f60\u4e8b\u534a\u529f\u500d\u3002 \u5b66\u4f1a\u63d0\u95ee\uff1a\u4e5f\u8bb8\u4f60\u4f1a\u60ca\u8bb6\uff0c\u63d0\u95ee\u4e5f\u7b97\u8ba1\u7b97\u673a\u5fc5\u5907\u6280\u80fd\u5417\uff0c\u8fd8\u653e\u5728\u7b2c\u4e00\u6761\uff1f\u6211\u89c9\u5f97\u5728\u5f00\u6e90\u793e\u533a\u4e2d\uff0c\u5b66\u4f1a\u63d0\u95ee\u662f\u4e00\u9879\u975e\u5e38\u91cd\u8981\u7684\u80fd\u529b\uff0c\u5b83\u5305\u542b\u4e24\u65b9\u9762\u7684\u4e8b\u60c5\u3002\u5176\u4e00\u662f\u4f1a\u53d8\u76f8\u5730\u57f9\u517b\u4f60\u81ea\u4e3b\u89e3\u51b3\u95ee\u9898\u7684\u80fd\u529b\uff0c\u56e0\u4e3a\u4ece\u5f62\u6210\u95ee\u9898\u3001\u63cf\u8ff0\u95ee\u9898\u5e76\u53d1\u5e03\u3001\u4ed6\u4eba\u56de\u7b54\u3001\u6700\u540e\u518d\u5230\u7406\u89e3\u56de\u7b54\u8fd9\u4e2a\u5468\u671f\u662f\u975e\u5e38\u957f\u7684\uff0c\u5982\u679c\u9047\u5230\u4ec0\u4e48\u9e21\u6bdb\u849c\u76ae\u7684\u4e8b\u60c5\u90fd\u5e0c\u671b\u522b\u4eba\u6700\u597d\u8fdc\u7a0b\u684c\u9762\u624b\u628a\u624b\u5e2e\u4f60\u5b8c\u6210\uff0c\u90a3\u8ba1\u7b97\u673a\u7684\u4e16\u754c\u57fa\u672c\u4e0e\u4f60\u65e0\u7f18\u4e86\u3002\u5176\u4e8c\uff0c\u5982\u679c\u771f\u7684\u7ecf\u8fc7\u5c1d\u8bd5\u8fd8\u65e0\u6cd5\u89e3\u51b3\uff0c\u53ef\u4ee5\u501f\u52a9\u5f00\u6e90\u793e\u533a\u7684\u5e2e\u52a9\uff0c\u4f46\u8fd9\u65f6\u5019\u5982\u4f55\u901a\u8fc7\u7b80\u6d01\u7684\u6587\u5b57\u8ba9\u522b\u4eba\u77ac\u95f4\u7406\u89e3\u4f60\u7684\u5904\u5883\u4ee5\u53ca\u76ee\u7684\uff0c\u5c31\u663e\u5f97\u5c24\u4e3a\u91cd\u8981\u3002\u63a8\u8350\u9605\u8bfb \u63d0\u95ee\u7684\u667a\u6167 \u8fd9\u7bc7\u6587\u7ae0\uff0c\u8fd9\u4e0d\u4ec5\u80fd\u63d0\u9ad8\u4f60\u89e3\u51b3\u95ee\u9898\u7684\u6982\u7387\u548c\u6548\u7387\uff0c\u4e5f\u80fd\u8ba9\u5f00\u6e90\u793e\u533a\u91cc\u65e0\u507f\u63d0\u4f9b\u89e3\u7b54\u7684\u4eba\u4eec\u62e5\u6709\u4e00\u4e2a\u597d\u5fc3\u60c5\u3002 MIT-Missing-Semester \u8fd9\u95e8\u8bfe\u8986\u76d6\u4e86\u8fd9\u4e9b\u5de5\u5177\u4e2d\u7edd\u5927\u90e8\u5206\uff0c\u800c\u4e14\u6709\u76f8\u5f53\u8be6\u7ec6\u7684\u4f7f\u7528\u6307\u5bfc\uff0c\u5f3a\u70c8\u5efa\u8bae\u5c0f\u767d\u5b66\u4e60\u3002\u4e0d\u8fc7\u9700\u8981\u6ce8\u610f\u7684\u4e00\u70b9\u662f\uff0c\u5728\u8bfe\u7a0b\u4e2d\u4f1a\u4e0d\u65f6\u63d0\u5230\u4e00\u4e9b\u4e0e\u5f00\u53d1\u6d41\u7a0b\u76f8\u5173\u7684\u672f\u8bed\u3002\u56e0\u6b64\u63a8\u8350\u81f3\u5c11\u5728\u5b66\u5b8c\u8ba1\u7b97\u673a\u5bfc\u8bba\u7ea7\u522b\u7684\u8bfe\u7a0b\u4e4b\u540e\u8fdb\u884c\u5b66\u4e60\u3002 \u7ffb\u5899 \uff1a\u7531\u4e8e\u4e00\u4e9b\u4f17\u6240\u5468\u77e5\u7684\u539f\u56e0\uff0c\u8c37\u6b4c\u3001GitHub \u7b49\u7f51\u7ad9\u5728\u5927\u9646\u65e0\u6cd5\u8bbf\u95ee\u3002\u7136\u800c\u5f88\u591a\u65f6\u5019\uff0c\u8c37\u6b4c\u548c StackOverflow \u53ef\u4ee5\u89e3\u51b3\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u9047\u5230\u7684 99% \u7684\u95ee\u9898\u3002\u56e0\u6b64\uff0c\u5b66\u4f1a\u7ffb\u5899\u51e0\u4e4e\u662f\u4e00\u4e2a\u5185\u5730 CSer \u7684\u5fc5\u5907\u6280\u80fd\u3002\uff08\u8003\u8651\u5230\u6cd5\u5f8b\u95ee\u9898\uff0c\u8fd9\u4e2a\u6587\u6863\u63d0\u4f9b\u7684\u7ffb\u5899\u65b9\u5f0f\u4ec5\u5bf9\u62e5\u6709\u5317\u5927\u90ae\u7bb1\u7684\u7528\u6237\u9002\u7528\uff09\u3002 \u547d\u4ee4\u884c\uff1a\u719f\u7ec3\u4f7f\u7528\u547d\u4ee4\u884c\u662f\u4e00\u79cd\u5e38\u5e38\u88ab\u5ffd\u89c6\uff0c\u6216\u88ab\u8ba4\u4e3a\u96be\u4ee5\u638c\u63e1\u7684\u6280\u80fd\uff0c\u4f46\u5b9e\u9645\u4e0a\uff0c\u5b83\u4f1a\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u4f5c\u4e3a\u5de5\u7a0b\u5e08\u7684\u7075\u6d3b\u6027\u4ee5\u53ca\u751f\u4ea7\u529b\u3002 \u547d\u4ee4\u884c\u7684\u827a\u672f \u662f\u4e00\u4efd\u975e\u5e38\u7ecf\u5178\u7684\u6559\u7a0b\uff0c\u5b83\u6e90\u4e8e Quora \u7684\u4e00\u4e2a\u63d0\u95ee\uff0c\u4f46\u5728\u5404\u8def\u5927\u795e\u7684\u8d21\u732e\u52aa\u529b\u4e0b\u5df2\u7ecf\u6210\u4e3a\u4e86\u4e00\u4e2a GitHub \u5341\u4e07 stars \u7684\u9876\u6d41\u9879\u76ee\uff0c\u88ab\u7ffb\u8bd1\u6210\u4e86\u5341\u51e0\u79cd\u8bed\u8a00\u3002\u6559\u7a0b\u4e0d\u957f\uff0c\u975e\u5e38\u5efa\u8bae\u5927\u5bb6\u53cd\u590d\u901a\u8bfb\uff0c\u5728\u5b9e\u8df5\u4e2d\u5185\u5316\u5438\u6536\u3002\u540c\u65f6\uff0c\u638c\u63e1 Shell \u811a\u672c\u7f16\u7a0b\u4e5f\u662f\u4e00\u9879\u4e0d\u5bb9\u5ffd\u89c6\u7684\u6280\u672f\uff0c\u53ef\u4ee5\u53c2\u8003\u8fd9\u4e2a \u6559\u7a0b \u3002 IDE (Integrated Development Environment)\uff1a\u96c6\u6210\u5f00\u53d1\u73af\u5883\uff0c\u8bf4\u767d\u4e86\u5c31\u662f\u4f60\u5199\u4ee3\u7801\u7684\u5730\u65b9\u3002\u4f5c\u4e3a\u4e00\u4e2a\u7801\u519c\uff0cIDE \u7684\u91cd\u8981\u6027\u4e0d\u8a00\u800c\u55bb\uff0c\u4f46\u7531\u4e8e\u5f88\u591a IDE \u662f\u4e3a\u5927\u578b\u5de5\u7a0b\u9879\u76ee\u8bbe\u8ba1\u7684\uff0c\u4f53\u91cf\u8f83\u5927\uff0c\u529f\u80fd\u4e5f\u8fc7\u4e8e\u4e30\u5bcc\u3002\u5176\u5b9e\u5982\u4eca\u4e00\u4e9b\u8f7b\u4fbf\u7684\u6587\u672c\u7f16\u8f91\u5668\u914d\u5408\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\u57fa\u672c\u53ef\u4ee5\u6ee1\u8db3\u65e5\u5e38\u7684\u8f7b\u91cf\u7f16\u7a0b\u9700\u6c42\u3002\u4e2a\u4eba\u5e38\u7528\u7684\u7f16\u8f91\u5668\u662f VS Code \u548c Sublime\uff08\u524d\u8005\u7684\u63d2\u4ef6\u914d\u7f6e\u975e\u5e38\u7b80\u5355\uff0c\u540e\u8005\u7565\u663e\u590d\u6742\u4f46\u989c\u503c\u5f88\u9ad8\uff09\u3002\u5f53\u7136\u5bf9\u4e8e\u5927\u578b\u9879\u76ee\u6211\u8fd8\u662f\u4f1a\u91c7\u7528\u7565\u91cd\u578b\u7684 IDE\uff0c\u4f8b\u5982 Pycharm (Python)\uff0cIDEA (Java) \u7b49\u7b49\uff08\u514d\u8d23\u7533\u660e\uff1a\u6240\u6709\u7684 IDE \u90fd\u662f\u4e16\u754c\u4e0a\u6700\u597d\u7684 IDE\uff09\u3002 Vim \uff1a\u4e00\u6b3e\u547d\u4ee4\u884c\u7f16\u8f91\u5de5\u5177\u3002\u8fd9\u662f\u4e00\u4e2a\u5b66\u4e60\u66f2\u7ebf\u6709\u4e9b\u9661\u5ced\u7684\u7f16\u8f91\u5668\uff0c\u4e0d\u8fc7\u5b66\u4f1a\u5b83\u6211\u89c9\u5f97\u662f\u975e\u5e38\u6709\u5fc5\u8981\u7684\uff0c\u56e0\u4e3a\u5b83\u5c06\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u7684\u5f00\u53d1\u6548\u7387\u3002\u73b0\u5728\u7edd\u5927\u591a\u6570 IDE \u4e5f\u90fd\u652f\u6301 Vim \u63d2\u4ef6\uff0c\u8ba9\u4f60\u5728\u4eab\u53d7\u73b0\u4ee3\u5f00\u53d1\u73af\u5883\u7684\u540c\u65f6\u4fdd\u7559\u6781\u5ba2\u7684\u70ab\u9177\uff08yue\uff09\u3002 Emacs \uff1a\u4e0e Vim \u9f50\u540d\u7684\u7ecf\u5178\u7f16\u8f91\u5668\uff0c\u540c\u6837\u5177\u6709\u6781\u9ad8\u7684\u5f00\u53d1\u6548\u7387\uff0c\u540c\u65f6\u5177\u6709\u66f4\u4e3a\u5f3a\u5927\u7684\u6269\u5c55\u6027\uff0c\u5b83\u65e2\u53ef\u4ee5\u914d\u7f6e\u4e3a\u4e00\u4e2a\u8f7b\u91cf\u7f16\u8f91\u5668\uff0c\u4e5f\u53ef\u4ee5\u6269\u5c55\u6210\u4e00\u4e2a\u4e2a\u4eba\u5b9a\u5236\u7684 IDE\uff0c\u751a\u81f3\u53ef\u4ee5\u6709\u66f4\u591a\u5947\u6280\u6deb\u5de7\u3002 Git \uff1a\u4e00\u6b3e\u4ee3\u7801\u7248\u672c\u63a7\u5236\u5de5\u5177\u3002Git\u7684\u5b66\u4e60\u66f2\u7ebf\u53ef\u80fd\u66f4\u4e3a\u9661\u5ced\uff0c\u4f46\u51fa\u81ea Linux \u4e4b\u7236 Linus \u4e4b\u624b\u7684 Git \u7edd\u5bf9\u662f\u6bcf\u4e2a\u5b66 CS \u7684\u7ae5\u978b\u5fc5\u987b\u638c\u63e1\u7684\u795e\u5668\u4e4b\u4e00\u3002 GitHub \uff1a\u57fa\u4e8e Git \u7684\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u5168\u4e16\u754c\u6700\u5927\u7684\u4ee3\u7801\u5f00\u6e90\u793e\u533a\uff0c\u5927\u4f6c\u96c6\u805a\u5730\u3002 GNU Make \uff1a\u4e00\u6b3e\u5de5\u7a0b\u6784\u5efa\u5de5\u5177\u3002\u5584\u7528 GNU Make \u4f1a\u8ba9\u4f60\u517b\u6210\u4ee3\u7801\u6a21\u5757\u5316\u7684\u4e60\u60ef\uff0c\u540c\u65f6\u4e5f\u80fd\u8ba9\u4f60\u719f\u6089\u4e00\u4e9b\u5927\u578b\u5de5\u7a0b\u7684\u7f16\u8bd1\u94fe\u63a5\u6d41\u7a0b\u3002 CMake \uff1a\u4e00\u6b3e\u529f\u80fd\u6bd4 GNU Make \u66f4\u4e3a\u5f3a\u5927\u7684\u6784\u5efa\u5de5\u5177\uff0c\u5efa\u8bae\u638c\u63e1 GNU Make \u4e4b\u540e\u518d\u52a0\u4ee5\u5b66\u4e60\u3002 LaTex \uff1a \u903c\u683c\u63d0\u5347 \u8bba\u6587\u6392\u7248\u5de5\u5177\u3002 Docker \uff1a\u4e00\u6b3e\u76f8\u8f83\u4e8e\u865a\u62df\u673a\u66f4\u8f7b\u91cf\u7ea7\u7684\u8f6f\u4ef6\u6253\u5305\u4e0e\u73af\u5883\u90e8\u7f72\u5de5\u5177\u3002 \u5b9e\u7528\u5de5\u5177\u7bb1 \uff1a\u9664\u4e86\u4e0a\u9762\u63d0\u5230\u7684\u8fd9\u4e9b\u5728\u5f00\u53d1\u4e2d\u4f7f\u7528\u9891\u7387\u6781\u9ad8\u7684\u5de5\u5177\u4e4b\u5916\uff0c\u6211\u8fd8\u6536\u96c6\u4e86\u5f88\u591a\u5b9e\u7528\u6709\u8da3\u7684\u514d\u8d39\u5de5\u5177\uff0c\u4f8b\u5982\u4e00\u4e9b\u4e0b\u8f7d\u5de5\u5177\u3001\u8bbe\u8ba1\u5de5\u5177\u3001\u5b66\u4e60\u7f51\u7ad9\u7b49\u7b49\u3002 Thesis \uff1a\u6bd5\u4e1a\u8bba\u6587 Word \u5199\u4f5c\u6559\u7a0b\u3002","title":"\u5fc5\u5b66\u5de5\u5177"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_2","text":"\u79c1\u4ee5\u4e3a\u4e00\u672c\u597d\u7684\u6559\u6750\u5e94\u5f53\u662f\u4ee5\u4eba\u4e3a\u672c\u7684\uff0c\u800c\u4e0d\u662f\u70ab\u6280\u5f0f\u7684\u7406\u8bba\u5806\u780c\u3002\u544a\u8bc9\u8bfb\u8005\u201c\u662f\u4ec0\u4e48\u201d\u56fa\u7136\u91cd\u8981\uff0c\u4f46\u66f4\u597d\u7684\u5e94\u5f53\u662f\u6559\u6750\u4f5c\u8005\u5c06\u5176\u5728\u8fd9\u4e2a\u9886\u57df\u6df1\u8015\u51e0\u5341\u5e74\u7684\u7ecf\u9a8c\u878d\u6c47\u8fdb\u4e66\u4e2d\uff0c\u5411\u8bfb\u8005\u5a13\u5a13\u9053\u6765\u201c\u4e3a\u4ec0\u4e48\u201d\u4ee5\u53ca\u672a\u6765\u5e94\u8be5\u201c\u600e\u4e48\u505a\u201d\u3002 \u94fe\u63a5\u6233\u8fd9\u91cc","title":"\u597d\u4e66\u63a8\u8350"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_3","text":"\u4f60\u4ee5\u4e3a\u7684\u5f00\u53d1 \u2014\u2014 \u5728 IDE \u91cc\u75af\u72c2\u7801\u4ee3\u7801\u6570\u5c0f\u65f6\u3002 \u5b9e\u9645\u4e0a\u7684\u5f00\u53d1 \u2014\u2014 \u914d\u73af\u5883\u914d\u51e0\u5929\u8fd8\u6ca1\u5f00\u59cb\u5199\u4ee3\u7801\u3002","title":"\u73af\u5883\u914d\u7f6e"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#pc","text":"\u5982\u679c\u4f60\u662f Mac \u7528\u6237\uff0c\u90a3\u4e48\u4f60\u5f88\u5e78\u8fd0\uff0c\u8fd9\u4efd \u6307\u5357 \u5c06\u4f1a\u624b\u628a\u624b\u5730\u5e26\u4f60\u642d\u5efa\u8d77\u6574\u5957\u5f00\u53d1\u73af\u5883\u3002\u5982\u679c\u4f60\u662f Windows \u7528\u6237\uff0c\u5728\u5f00\u6e90\u793e\u533a\u7684\u52aa\u529b\u4e0b\uff0c\u4f60\u540c\u6837\u53ef\u4ee5\u83b7\u5f97\u4e0e\u5176\u4ed6\u5e73\u53f0\u7c7b\u4f3c\u7684\u4f53\u9a8c\uff1a Scoop \u3002 \u53e6\u5916\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003\u4e00\u4efd\u7075\u611f\u6765\u81ea 6.NULL MIT-Missing-Semester \u7684 \u73af\u5883\u914d\u7f6e\u6307\u5357 \uff0c\u91cd\u70b9\u5728\u4e8e\u7ec8\u7aef\u7684\u7f8e\u5316\u914d\u7f6e\u3002\u6b64\u5916\u8fd8\u5305\u62ec\u5e38\u7528\u8f6f\u4ef6\u6e90\uff08\u5982 GitHub, Anaconda, PyPI \u7b49\uff09\u7684\u52a0\u901f\u4e0e\u66ff\u6362\u4ee5\u53ca\u4e00\u4e9b IDE \u7684\u914d\u7f6e\u4e0e\u6fc0\u6d3b\u6559\u7a0b\u3002","title":"PC \u7aef\u73af\u5883\u914d\u7f6e"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_4","text":"\u670d\u52a1\u5668\u7aef\u7684\u8fd0\u7ef4\u9700\u8981\u638c\u63e1 Linux\uff08\u6216\u8005\u5176\u4ed6\u7c7b Unix \u7cfb\u7edf\uff09\u7684\u57fa\u672c\u4f7f\u7528\u4ee5\u53ca\u8fdb\u7a0b\u3001\u8bbe\u5907\u3001\u7f51\u7edc\u7b49\u7cfb\u7edf\u76f8\u5173\u7684\u57fa\u672c\u6982\u5ff5\uff0c\u5c0f\u767d\u53ef\u4ee5\u53c2\u8003\u4e2d\u56fd\u79d1\u5b66\u6280\u672f\u5927\u5b66 Linux \u7528\u6237\u534f\u4f1a\u7f16\u5199\u7684 \u300aLinux 101\u300b\u5728\u7ebf\u8bb2\u4e49 \u3002\u5982\u679c\u60f3\u6df1\u5165\u5b66\u4e60\u7cfb\u7edf\u8fd0\u7ef4\u76f8\u5173\u7684\u77e5\u8bc6\uff0c\u53ef\u4ee5\u53c2\u8003 Aspects of System Administration \u8fd9\u95e8\u8bfe\u7a0b\u3002 \u53e6\u5916\uff0c\u5982\u679c\u9700\u8981\u5b66\u4e60\u67d0\u4e2a\u5177\u4f53\u7684\u6982\u5ff5\u6216\u5de5\u5177\uff0c\u63a8\u8350\u4e00\u4e2a\u975e\u5e38\u4e0d\u9519\u7684 GitHub \u9879\u76ee DevOps-Guide \uff0c\u5176\u4e2d\u6db5\u76d6\u4e86\u975e\u5e38\u591a\u7684\u8fd0\u7ef4\u65b9\u9762\u7684\u57fa\u7840\u77e5\u8bc6\u548c\u6559\u7a0b\uff0c\u4f8b\u5982 Docker, Kubernetes, Linux, CI-CD, GitHub Actions \u7b49\u7b49\u3002","title":"\u670d\u52a1\u5668\u7aef\u73af\u5883\u914d\u7f6e"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_5","text":"\u6b63\u5982\u8fd9\u7ae0\u5f00\u5934\u63d0\u5230\u7684\uff0c\u8fd9\u4efd\u8bfe\u7a0b\u5730\u56fe\u4ec5\u4ec5\u662f\u4e00\u4e2a \u4ec5\u4f9b\u53c2\u8003 \u7684\u8bfe\u7a0b\u89c4\u5212\uff0c\u6211\u4f5c\u4e3a\u4e00\u4e2a\u4e34\u8fd1\u6bd5\u4e1a\u7684\u672c\u79d1\u751f\u3002\u6df1\u611f\u81ea\u5df1\u6ca1\u6709\u6743\u5229\u4e5f\u6ca1\u6709\u80fd\u529b\u5411\u522b\u4eba\u5ba3\u626c\u201c\u5e94\u8be5\u600e\u4e48\u5b66\u201d\u3002\u56e0\u6b64\u5982\u679c\u4f60\u89c9\u5f97\u4ee5\u4e0b\u7684\u8bfe\u7a0b\u5206\u7c7b\u4e0e\u9009\u62e9\u6709\u4e0d\u5408\u7406\u4e4b\u5904\uff0c\u6211\u5168\u76d8\u63a5\u53d7\uff0c\u5e76\u6df1\u611f\u62b1\u6b49\u3002\u4f60\u53ef\u4ee5\u5728\u4e0b\u4e00\u8282 \u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe \u4ee5\u4e0b\u8bfe\u7a0b\u7c7b\u522b\u4e2d\u9664\u4e86\u542b\u6709 \u57fa\u7840 \u548c \u5165\u95e8 \u5b57\u773c\u7684\u4ee5\u5916\uff0c\u5e76\u65e0\u660e\u786e\u7684\u5148\u540e\u6b21\u5e8f\uff0c\u5927\u5bb6\u53ea\u8981\u6ee1\u8db3\u67d0\u4e2a\u8bfe\u7a0b\u7684\u5148\u4fee\u8981\u6c42\uff0c\u5b8c\u5168\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u8981\u548c\u559c\u597d\u9009\u62e9\u60f3\u8981\u5b66\u4e60\u7684\u8bfe\u7a0b\u3002","title":"\u8bfe\u7a0b\u5730\u56fe"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_6","text":"","title":"\u6570\u5b66\u57fa\u7840"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_7","text":"\u4f5c\u4e3a\u5927\u4e00\u65b0\u751f\uff0c\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u662f\u548c\u5199\u4ee3\u7801\u81f3\u5c11\u540c\u7b49\u91cd\u8981\u7684\u4e8b\u60c5\uff0c\u76f8\u4fe1\u5df2\u7ecf\u6709\u65e0\u6570\u7684\u524d\u4eba\u7ecf\u9a8c\u63d0\u5230\u8fc7\u8fd9\u4e00\u70b9\uff0c\u4f46\u6211\u8fd8\u662f\u8981\u4e0d\u538c\u5176\u70e6\u5730\u518d\u5f3a\u8c03\u4e00\u904d\uff1a\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u771f\u7684\u5f88\u91cd\u8981\uff01\u4f60\u4e5f\u8bb8\u4f1a\u5410\u69fd\u8fd9\u4e9b\u4e1c\u897f\u5c82\u4e0d\u662f\u8003\u5b8c\u5c31\u5fd8\uff0c\u90a3\u6211\u89c9\u5f97\u4f60\u662f\u5e76\u6ca1\u6709\u628a\u63e1\u4f4f\u5b83\u4eec\u672c\u8d28\uff0c\u5bf9\u5b83\u4eec\u7684\u7406\u89e3\u8fd8\u6ca1\u6709\u8fbe\u5230\u523b\u9aa8\u94ed\u5fc3\u7684\u7a0b\u5ea6\u3002\u5982\u679c\u89c9\u5f97\u8001\u5e08\u8bfe\u4e0a\u8bb2\u7684\u5185\u5bb9\u6666\u6da9\u96be\u61c2\uff0c\u4e0d\u59a8\u53c2\u8003 MIT \u7684 Calculus Course \u548c 18.06: Linear Algebra \u7684\u8bfe\u7a0b notes\uff0c\u81f3\u5c11\u4e8e\u6211\u800c\u8a00\uff0c\u5b83\u5e2e\u52a9\u6211\u6df1\u523b\u7406\u89e3\u4e86\u5fae\u79ef\u5206\u548c\u7ebf\u6027\u4ee3\u6570\u7684\u8bb8\u591a\u672c\u8d28\u3002\u987a\u9053\u518d\u5b89\u5229\u4e00\u4e2a\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \uff0c\u4ed6\u7684\u9891\u9053\u6709\u5f88\u591a\u7528\u751f\u52a8\u5f62\u8c61\u7684\u52a8\u753b\u9610\u91ca\u6570\u5b66\u672c\u8d28\u5185\u6838\u7684\u89c6\u9891\uff0c\u517c\u5177\u6df1\u5ea6\u548c\u5e7f\u5ea6\uff0c\u8d28\u91cf\u975e\u5e38\u9ad8\u3002","title":"\u5fae\u79ef\u5206\u4e0e\u7ebf\u6027\u4ee3\u6570"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_8","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u53ca\u65e9\u4e86\u89e3\u4e00\u4e9b\u4fe1\u606f\u8bba\u7684\u57fa\u7840\u77e5\u8bc6\uff0c\u6211\u89c9\u5f97\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u4f46\u5927\u591a\u4fe1\u606f\u8bba\u8bfe\u7a0b\u90fd\u9762\u5411\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u751a\u81f3\u7814\u7a76\u751f\uff0c\u5bf9\u65b0\u624b\u6781\u4e0d\u53cb\u597d\u3002\u800c MIT \u7684 6.050J: Information theory and Entropy \u8fd9\u95e8\u8bfe\u6b63\u662f\u4e3a\u5927\u4e00\u65b0\u751f\u91cf\u8eab\u5b9a\u5236\u7684\uff0c\u51e0\u4e4e\u6ca1\u6709\u5148\u4fee\u8981\u6c42\uff0c\u6db5\u76d6\u4e86\u7f16\u7801\u3001\u538b\u7f29\u3001\u901a\u4fe1\u3001\u4fe1\u606f\u71b5\u7b49\u7b49\u5185\u5bb9\uff0c\u975e\u5e38\u6709\u8da3\u3002","title":"\u4fe1\u606f\u8bba\u5165\u95e8"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_9","text":"","title":"\u6570\u5b66\u8fdb\u9636"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_10","text":"\u96c6\u5408\u8bba\u3001\u56fe\u8bba\u3001\u6982\u7387\u8bba\u7b49\u7b49\u662f\u7b97\u6cd5\u63a8\u5bfc\u4e0e\u8bc1\u660e\u7684\u91cd\u8981\u5de5\u5177\uff0c\u4e5f\u662f\u540e\u7eed\u9ad8\u9636\u6570\u5b66\u8bfe\u7a0b\u7684\u57fa\u7840\u3002\u4f46\u6211\u89c9\u5f97\u8fd9\u7c7b\u8bfe\u7a0b\u7684\u8bb2\u6388\u5f88\u5bb9\u6613\u843d\u5165\u7406\u8bba\u5316\u4e0e\u5f62\u5f0f\u5316\u7684\u7aa0\u81fc\uff0c\u8ba9\u8bfe\u5802\u6210\u4e3a\u5b9a\u7406\u7ed3\u8bba\u7684\u5806\u780c\uff0c\u800c\u65e0\u6cd5\u4f7f\u5b66\u751f\u6df1\u523b\u628a\u63e1\u7406\u8bba\u7684\u672c\u8d28\uff0c\u8fdb\u800c\u9020\u6210\u5b66\u4e86\u5c31\u80cc\uff0c\u8003\u4e86\u5c31\u5fd8\u7684\u602a\u5708\u3002\u5982\u679c\u80fd\u5728\u7406\u8bba\u6559\u5b66\u4e2d\u7a7f\u63d2\u7b97\u6cd5\u8fd0\u7528\u5b9e\u4f8b\uff0c\u5b66\u751f\u5728\u62d3\u5c55\u7b97\u6cd5\u77e5\u8bc6\u7684\u540c\u65f6\u4e5f\u80fd\u7aa5\u89c1\u7406\u8bba\u7684\u529b\u91cf\u548c\u9b45\u529b\u3002 UCB CS70 : discrete Math and probability theory \u548c UCB CS126 : Probability theory \u662f UC Berkeley \u7684\u6982\u7387\u8bba\u8bfe\u7a0b\uff0c\u524d\u8005\u8986\u76d6\u4e86\u79bb\u6563\u6570\u5b66\u548c\u6982\u7387\u8bba\u57fa\u7840\uff0c\u540e\u8005\u5219\u6d89\u53ca\u968f\u673a\u8fc7\u7a0b\u4ee5\u53ca\u6df1\u5165\u7684\u7406\u8bba\u5185\u5bb9\u3002\u4e24\u8005\u90fd\u975e\u5e38\u6ce8\u91cd\u7406\u8bba\u548c\u5b9e\u8df5\u7684\u7ed3\u5408\uff0c\u6709\u4e30\u5bcc\u7684\u7b97\u6cd5\u5b9e\u9645\u8fd0\u7528\u5b9e\u4f8b\uff0c\u540e\u8005\u8fd8\u6709\u5927\u91cf\u7684 Python \u7f16\u7a0b\u4f5c\u4e1a\u6765\u8ba9\u5b66\u751f\u8fd0\u7528\u6982\u7387\u8bba\u7684\u77e5\u8bc6\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u3002","title":"\u79bb\u6563\u6570\u5b66\u4e0e\u6982\u7387\u8bba"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_11","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u57f9\u517b\u8ba1\u7b97\u601d\u7ef4\u662f\u5f88\u91cd\u8981\u7684\uff0c\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u3001\u79bb\u6563\u5316\uff0c\u8ba1\u7b97\u673a\u7684\u6a21\u62df\u3001\u5206\u6790\uff0c\u662f\u4e00\u9879\u5f88\u91cd\u8981\u7684\u80fd\u529b\u3002\u800c\u8fd9\u4e24\u5e74\u5f00\u59cb\u98ce\u9761\u7684\uff0c\u7531 MIT \u6253\u9020\u7684 Julia \u7f16\u7a0b\u8bed\u8a00\u4ee5\u5176 C \u4e00\u6837\u7684\u901f\u5ea6\u548c Python \u4e00\u6837\u53cb\u597d\u7684\u8bed\u6cd5\u5728\u6570\u503c\u8ba1\u7b97\u9886\u57df\u6709\u4e00\u7edf\u5929\u4e0b\u4e4b\u52bf\uff0cMIT \u7684\u8bb8\u591a\u6570\u5b66\u8bfe\u7a0b\u4e5f\u5f00\u59cb\u7528 Julia \u4f5c\u4e3a\u6559\u5b66\u5de5\u5177\uff0c\u628a\u8270\u6df1\u7684\u6570\u5b66\u7406\u8bba\u7528\u76f4\u89c2\u6e05\u6670\u7684\u4ee3\u7801\u5c55\u793a\u51fa\u6765\u3002 ComputationalThinking \u662f MIT \u5f00\u8bbe\u7684\u4e00\u95e8\u8ba1\u7b97\u601d\u7ef4\u5165\u95e8\u8bfe\uff0c\u6240\u6709\u8bfe\u7a0b\u5185\u5bb9\u5168\u90e8\u5f00\u6e90\uff0c\u53ef\u4ee5\u5728\u8bfe\u7a0b\u7f51\u7ad9\u76f4\u63a5\u8bbf\u95ee\u3002\u8fd9\u95e8\u8bfe\u5229\u7528 Julia \u7f16\u7a0b\u8bed\u8a00\uff0c\u5728\u56fe\u50cf\u5904\u7406\u3001\u793e\u4f1a\u79d1\u5b66\u4e0e\u6570\u636e\u79d1\u5b66\u3001\u6c14\u5019\u5b66\u5efa\u6a21\u4e09\u4e2a topic \u4e0b\u5e26\u9886\u5b66\u751f\u7406\u89e3\u7b97\u6cd5\u3001\u6570\u5b66\u5efa\u6a21\u3001\u6570\u636e\u5206\u6790\u3001\u4ea4\u4e92\u8bbe\u8ba1\u3001\u56fe\u4f8b\u5c55\u793a\uff0c\u8ba9\u5b66\u751f\u4f53\u9a8c\u8ba1\u7b97\u4e0e\u79d1\u5b66\u7684\u7f8e\u5999\u7ed3\u5408\u3002\u5185\u5bb9\u867d\u7136\u4e0d\u96be\uff0c\u4f46\u7ed9\u6211\u6700\u6df1\u523b\u7684\u611f\u53d7\u5c31\u662f\uff0c\u79d1\u5b66\u7684\u9b45\u529b\u5e76\u4e0d\u662f\u6545\u5f04\u7384\u865a\u7684\u8270\u6df1\u7406\u8bba\uff0c\u4e0d\u662f\u8bd8\u5c48\u8071\u7259\u7684\u672f\u8bed\u884c\u8bdd\uff0c\u800c\u662f\u7528\u76f4\u89c2\u751f\u52a8\u7684\u6848\u4f8b\uff0c\u7528\u7b80\u7ec3\u6df1\u523b\u7684\u8bed\u8a00\uff0c\u8ba9\u6bcf\u4e2a\u666e\u901a\u4eba\u90fd\u80fd\u7406\u89e3\u3002 \u4e0a\u5b8c\u4e0a\u9762\u7684\u4f53\u9a8c\u8bfe\u4e4b\u540e\uff0c\u5982\u679c\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u4e0d\u59a8\u8bd5\u8bd5 MIT \u7684 18.330 : Introduction to numerical analysis \uff0c\u8fd9\u95e8\u8bfe\u7684\u7f16\u7a0b\u4f5c\u4e1a\u540c\u6837\u4f1a\u7528 Julia \u7f16\u7a0b\u8bed\u8a00\uff0c\u4e0d\u8fc7\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u90fd\u4e0a\u4e86\u4e00\u4e2a\u53f0\u9636\u3002\u5185\u5bb9\u6d89\u53ca\u4e86\u6d6e\u70b9\u7f16\u7801\u3001Root finding\u3001\u7ebf\u6027\u7cfb\u7edf\u3001\u5fae\u5206\u65b9\u7a0b\u7b49\u7b49\u65b9\u9762\uff0c\u6574\u95e8\u8bfe\u7684\u4e3b\u65e8\u5c31\u662f\u8ba9\u4f60\u5229\u7528\u79bb\u6563\u5316\u7684\u8ba1\u7b97\u673a\u8868\u793a\u53bb\u4f30\u8ba1\u548c\u903c\u8fd1\u4e00\u4e2a\u6570\u5b66\u4e0a\u8fde\u7eed\u7684\u6982\u5ff5\u3002\u8fd9\u95e8\u8bfe\u7684\u6559\u6388\u8fd8\u4e13\u95e8\u64b0\u5199\u4e86\u4e00\u672c\u914d\u5957\u7684\u5f00\u6e90\u6559\u6750 Fundamentals of Numerical Computation \uff0c\u91cc\u9762\u9644\u6709\u4e30\u5bcc\u7684 Julia \u4ee3\u7801\u5b9e\u4f8b\u548c\u4e25\u8c28\u7684\u516c\u5f0f\u63a8\u5bfc\u3002 \u5982\u679c\u4f60\u8fd8\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u8fd8\u6709 MIT \u7684\u6570\u503c\u5206\u6790\u7814\u7a76\u751f\u8bfe\u7a0b 18.335: Introduction to numerical method \u4f9b\u4f60\u53c2\u8003\u3002","title":"\u6570\u503c\u5206\u6790"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_12","text":"\u5982\u679c\u4e16\u95f4\u4e07\u7269\u7684\u8fd0\u52a8\u53d1\u5c55\u90fd\u80fd\u7528\u65b9\u7a0b\u6765\u523b\u753b\u548c\u63cf\u8ff0\uff0c\u8fd9\u662f\u4e00\u4ef6\u591a\u4e48\u9177\u7684\u4e8b\u60c5\u5440\uff01\u867d\u7136\u51e0\u4e4e\u4efb\u4f55\u4e00\u6240\u5b66\u6821\u7684 CS \u57f9\u517b\u65b9\u6848\u4e2d\u90fd\u6ca1\u6709\u5fae\u5206\u65b9\u7a0b\u76f8\u5173\u7684\u5fc5\u4fee\u8bfe\u7a0b\uff0c\u4f46\u6211\u8fd8\u662f\u89c9\u5f97\u638c\u63e1\u5b83\u4f1a\u8d4b\u4e88\u4f60\u4e00\u4e2a\u65b0\u7684\u89c6\u89d2\u6765\u5ba1\u89c6\u8fd9\u4e2a\u4e16\u754c\u3002 \u7531\u4e8e\u5fae\u5206\u65b9\u7a0b\u4e2d\u5f80\u5f80\u4f1a\u7528\u5230\u5f88\u591a\u590d\u53d8\u51fd\u6570\u7684\u77e5\u8bc6\uff0c\u6240\u4ee5\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003 MIT18.04: Complex variables functions \u7684\u8bfe\u7a0b notes \u6765\u8865\u9f50\u5148\u4fee\u77e5\u8bc6\u3002 MIT18.03: differential equations \u4e3b\u8981\u8986\u76d6\u4e86\u5e38\u5fae\u5206\u65b9\u7a0b\u7684\u6c42\u89e3\uff0c\u5728\u6b64\u57fa\u7840\u4e4b\u4e0a MIT18.152: Partial differential equations \u5219\u4f1a\u6df1\u5165\u504f\u5fae\u5206\u65b9\u7a0b\u7684\u5efa\u6a21\u4e0e\u6c42\u89e3\u3002\u638c\u63e1\u4e86\u5fae\u5206\u65b9\u7a0b\u8fd9\u4e00\u6709\u529b\u5de5\u5177\uff0c\u76f8\u4fe1\u5bf9\u4e8e\u4f60\u7684\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u80fd\u529b\u4ee5\u53ca\u4ece\u4f17\u591a\u566a\u58f0\u53d8\u91cf\u4e2d\u628a\u63e1\u672c\u8d28\u7684\u76f4\u89c9\u90fd\u4f1a\u6709\u5f88\u5927\u5e2e\u52a9\u3002","title":"\u5fae\u5206\u65b9\u7a0b"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_13","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u6211\u7ecf\u5e38\u542c\u5230\u6570\u5b66\u65e0\u7528\u8bba\u7684\u8bba\u65ad\uff0c\u5bf9\u6b64\u6211\u4e0d\u6562\u82df\u540c\u4f46\u4e5f\u65e0\u6743\u53cd\u5bf9\uff0c\u4f46\u82e5\u51e1\u4e8b\u90fd\u786c\u8981\u4e89\u51fa\u4e2a\u6709\u7528\u548c\u65e0\u7528\u7684\u533a\u522b\u6765\uff0c\u5012\u4e5f\u7740\u5b9e\u65e0\u8da3\uff0c\u56e0\u6b64\u4e0b\u9762\u8fd9\u4e9b\u9762\u5411\u9ad8\u5e74\u7ea7\u751a\u81f3\u7814\u7a76\u751f\u7684\u6570\u5b66\u8bfe\u7a0b\uff0c\u5927\u5bb6\u6309\u5174\u8da3\u81ea\u53d6\u6240\u9700\u3002","title":"\u6570\u5b66\u9ad8\u9636"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_14","text":"Standford EE364A: Convex Optimization","title":"\u51f8\u4f18\u5316"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_15","text":"MIT6.441: Information Theory","title":"\u4fe1\u606f\u8bba"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_16","text":"MIT18.650: Statistics for Applications","title":"\u5e94\u7528\u7edf\u8ba1\u5b66"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_17","text":"MIT18.781: Theory of Numbers","title":"\u521d\u7b49\u6570\u8bba"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_18","text":"Standford CS255: Cryptography","title":"\u5bc6\u7801\u5b66"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_19","text":"Languages are tools, you choose the right tool to do the right thing. Since there's no universally perfect tool, there's no universally perfect language.","title":"\u7f16\u7a0b\u5165\u95e8"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#shell","text":"MIT-Missing-Semester","title":"Shell"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#python","text":"CS50P: CS50's Introduction to Programming with Python Harvard CS50: This is CS50x UCB CS61A: Structure and Interpretation of Computer Programs","title":"Python"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#c","text":"Stanford CS106B/X: Programming Abstractions Stanford CS106L: Standard C++ Programming","title":"C++"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#rust","text":"Stanford CS110L: Safety in Systems Programming","title":"Rust"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#ocaml","text":"Cornell CS3110 textbook: Functional Programming in OCaml","title":"OCaml"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_20","text":"","title":"\u7535\u5b50\u57fa\u7840"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_21","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u4e86\u89e3\u4e00\u4e9b\u57fa\u7840\u7684\u7535\u8def\u77e5\u8bc6\uff0c\u611f\u53d7\u4ece\u4f20\u611f\u5668\u6536\u96c6\u6570\u636e\u5230\u6570\u636e\u5206\u6790\u518d\u5230\u7b97\u6cd5\u9884\u6d4b\u6574\u6761\u6d41\u6c34\u7ebf\uff0c\u5bf9\u4e8e\u540e\u7eed\u77e5\u8bc6\u7684\u5b66\u4e60\u4ee5\u53ca\u8ba1\u7b97\u601d\u7ef4\u7684\u57f9\u517b\u8fd8\u662f\u5f88\u6709\u5e2e\u52a9\u7684\u3002 EE16A&B: Designing Information Devices and Systems I&II \u662f\u4f2f\u514b\u5229 EE \u5b66\u751f\u7684\u5927\u4e00\u5165\u95e8\u8bfe\uff0c\u5176\u4e2d EE16A \u6ce8\u91cd\u901a\u8fc7\u7535\u8def\u4ece\u5b9e\u9645\u73af\u5883\u4e2d\u6536\u96c6\u548c\u5206\u6790\u6570\u636e\uff0c\u800c EE16B \u5219\u4fa7\u91cd\u4ece\u8fd9\u4e9b\u6536\u96c6\u5230\u7684\u6570\u636e\u8fdb\u884c\u5206\u6790\u5e76\u505a\u51fa\u9884\u6d4b\u884c\u4e3a\u3002","title":"\u7535\u8def\u57fa\u7840"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_22","text":"\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u662f\u4e00\u95e8\u6211\u89c9\u5f97\u975e\u5e38\u503c\u5f97\u4e00\u4e0a\u7684\u8bfe\uff0c\u6700\u521d\u5b66\u5b83\u53ea\u662f\u4e3a\u4e86\u6ee1\u8db3\u6211\u5bf9\u5085\u91cc\u53f6\u53d8\u6362\u7684\u597d\u5947\uff0c\u4f46\u5b66\u5b8c\u4e4b\u540e\u6211\u624d\u4e0d\u7981\u611f\u53f9\uff0c\u5085\u7acb\u53f6\u53d8\u6362\u7ed9\u6211\u63d0\u4f9b\u4e86\u4e00\u4e2a\u5168\u65b0\u7684\u89c6\u89d2\u53bb\u770b\u5f85\u8fd9\u4e2a\u4e16\u754c\uff0c\u5c31\u5982\u540c\u5fae\u5206\u65b9\u7a0b\u4e00\u6837\uff0c\u8ba9\u4f60\u6c89\u6d78\u5728\u7528\u6570\u5b66\u53bb\u7cbe\u786e\u63cf\u7ed8\u548c\u523b\u753b\u8fd9\u4e2a\u4e16\u754c\u7684\u4f18\u96c5\u4e0e\u795e\u5947\u4e4b\u4e2d\u3002 MIT 6.003: signal and systems \u63d0\u4f9b\u4e86\u5168\u90e8\u7684\u8bfe\u7a0b\u5f55\u5f71\u3001\u4e66\u9762\u4f5c\u4e1a\u4ee5\u53ca\u7b54\u6848\u3002\u4e5f\u53ef\u4ee5\u53bb\u770b\u8fd9\u95e8\u8bfe\u7684 \u8fdc\u53e4\u7248\u672c \u800c UCB EE120: Signal and Systems \u5173\u4e8e\u5085\u7acb\u53f6\u53d8\u6362\u7684 notes \u5199\u5f97\u975e\u5e38\u597d\uff0c\u5e76\u4e14\u63d0\u4f9b\u4e866 \u4e2a\u975e\u5e38\u6709\u8da3\u7684 Python \u7f16\u7a0b\u4f5c\u4e1a\uff0c\u8ba9\u4f60\u5b9e\u8df5\u4e2d\u8fd0\u7528\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u7684\u7406\u8bba\u4e0e\u7b97\u6cd5\u3002","title":"\u4fe1\u53f7\u4e0e\u7cfb\u7edf"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_23","text":"\u7b97\u6cd5\u662f\u8ba1\u7b97\u673a\u79d1\u5b66\u7684\u6838\u5fc3\uff0c\u4e5f\u662f\u51e0\u4e4e\u4e00\u5207\u4e13\u4e1a\u8bfe\u7a0b\u7684\u57fa\u7840\u3002\u5982\u4f55\u5c06\u5b9e\u9645\u95ee\u9898\u901a\u8fc7\u6570\u5b66\u62bd\u8c61\u8f6c\u5316\u4e3a\u7b97\u6cd5\u95ee\u9898\uff0c\u5e76\u9009\u7528\u5408\u9002\u7684\u6570\u636e\u7ed3\u6784\u5728\u65f6\u95f4\u548c\u5185\u5b58\u5927\u5c0f\u7684\u9650\u5236\u4e0b\u5c06\u5176\u89e3\u51b3\u662f\u7b97\u6cd5\u8bfe\u7684\u6c38\u6052\u4e3b\u9898\u3002\u5982\u679c\u4f60\u53d7\u591f\u4e86\u8001\u5e08\u7684\u7167\u672c\u5ba3\u79d1\uff0c\u90a3\u4e48\u6211\u5f3a\u70c8\u63a8\u8350\u4f2f\u514b\u5229\u7684 UCB CS61B: Data Structures and Algorithms \u548c\u666e\u6797\u65af\u987f\u7684 Coursera: Algorithms I & II \uff0c\u8fd9\u4e24\u95e8\u8bfe\u7684\u90fd\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\u5e76\u4e14\u4f1a\u6709\u4e30\u5bcc\u4e14\u6709\u8da3\u7684\u7f16\u7a0b\u5b9e\u9a8c\u5c06\u7406\u8bba\u4e0e\u77e5\u8bc6\u7ed3\u5408\u8d77\u6765\u3002 \u4ee5\u4e0a\u4e24\u95e8\u8bfe\u7a0b\u90fd\u662f\u57fa\u4e8e Java \u8bed\u8a00\uff0c\u5982\u679c\u4f60\u60f3\u5b66\u4e60 C/C++ \u63cf\u8ff0\u7684\u7248\u672c\uff0c\u53ef\u4ee5\u53c2\u8003\u65af\u5766\u798f\u7684\u6570\u636e\u7ed3\u6784\u4e0e\u57fa\u7840\u7b97\u6cd5\u8bfe\u7a0b Stanford CS106B/X: Programming Abstractions \u3002\u504f\u597d Python \u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60 MIT \u7684\u7b97\u6cd5\u5165\u95e8\u8bfe MIT 6.006: Introduction to Algorithms \u5bf9\u4e00\u4e9b\u66f4\u9ad8\u7ea7\u7684\u7b97\u6cd5\u4ee5\u53ca NP \u95ee\u9898\u611f\u5174\u8da3\u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60\u4f2f\u514b\u5229\u7684\u7b97\u6cd5\u8bbe\u8ba1\u4e0e\u5206\u6790\u8bfe\u7a0b UCB CS170: Efficient Algorithms and Intractable Problems \u6216\u8005 MIT \u7684\u9ad8\u9636\u7b97\u6cd5 MIT 6.046: Design and Analysis of Algorithms \u3002","title":"\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_24","text":"","title":"\u8f6f\u4ef6\u5de5\u7a0b"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_25","text":"\u4e00\u4efd\u201c\u80fd\u8dd1\u201d\u7684\u4ee3\u7801\uff0c\u548c\u4e00\u4efd\u9ad8\u8d28\u91cf\u7684\u5de5\u4e1a\u7ea7\u4ee3\u7801\u662f\u6709\u672c\u8d28\u533a\u522b\u7684\u3002\u56e0\u6b64\u6211\u975e\u5e38\u63a8\u8350\u4f4e\u5e74\u7ea7\u7684\u540c\u5b66\u5b66\u4e60\u4e00\u4e0b MIT 6.031: Software Construction \u8fd9\u95e8\u8bfe\uff0c\u5b83\u4f1a\u4ee5 Java \u8bed\u8a00\u4e3a\u57fa\u7840\uff0c\u4ee5\u4e30\u5bcc\u7ec6\u81f4\u7684\u9605\u8bfb\u6750\u6599\u548c\u7cbe\u5fc3\u8bbe\u8ba1\u7684\u7f16\u7a0b\u7ec3\u4e60\u4f20\u6388\u5982\u4f55\u7f16\u5199 \u4e0d\u6613\u51fa bug\u3001\u7b80\u660e\u6613\u61c2\u3001\u6613\u4e8e\u7ef4\u62a4\u4fee\u6539 \u7684\u9ad8\u8d28\u91cf\u4ee3\u7801\u3002\u5927\u5230\u5b8f\u89c2\u6570\u636e\u7ed3\u6784\u8bbe\u8ba1\uff0c\u5c0f\u5230\u5982\u4f55\u5199\u6ce8\u91ca\uff0c\u9075\u5faa\u8fd9\u4e9b\u524d\u4eba\u603b\u7ed3\u7684\u7ec6\u8282\u548c\u7ecf\u9a8c\uff0c\u5bf9\u4e8e\u4f60\u6b64\u540e\u7684\u7f16\u7a0b\u751f\u6daf\u5927\u6709\u88e8\u76ca\u3002","title":"\u5165\u95e8\u8bfe"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_26","text":"\u5f53\u7136\uff0c\u5982\u679c\u4f60\u60f3\u7cfb\u7edf\u6027\u5730\u4e0a\u4e00\u95e8\u8f6f\u4ef6\u5de5\u7a0b\u7684\u8bfe\u7a0b\uff0c\u90a3\u6211\u63a8\u8350\u7684\u662f\u4f2f\u514b\u5229\u7684 UCB CS169: software engineering \u3002\u4f46\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u548c\u5927\u591a\u5b66\u6821\uff08\u5305\u62ec\u8d35\u6821\uff09\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u7a0b\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4e0d\u4f1a\u6d89\u53ca\u4f20\u7edf\u7684 design and document \u6a21\u5f0f\uff0c\u5373\u5f3a\u8c03\u5404\u79cd\u7c7b\u56fe\u3001\u6d41\u7a0b\u56fe\u53ca\u6587\u6863\u8bbe\u8ba1\uff0c\u800c\u662f\u91c7\u7528\u8fd1\u4e9b\u5e74\u6d41\u884c\u8d77\u6765\u7684\u5c0f\u56e2\u961f\u5feb\u901f\u8fed\u4ee3 Agile Develepment \u5f00\u53d1\u6a21\u5f0f\u4ee5\u53ca\u5229\u7528\u4e91\u5e73\u53f0\u7684 Software as a service \u670d\u52a1\u6a21\u5f0f\u3002","title":"\u4e13\u4e1a\u8bfe"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_27","text":"","title":"\u4f53\u7cfb\u7ed3\u6784"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_28","text":"\u4ece\u5c0f\u6211\u5c31\u4e00\u76f4\u542c\u8bf4\uff0c\u8ba1\u7b97\u673a\u7684\u4e16\u754c\u662f\u7531 01 \u6784\u6210\u7684\uff0c\u6211\u4e0d\u7406\u89e3\u4f46\u5927\u53d7\u9707\u64bc\u3002\u5982\u679c\u4f60\u7684\u5185\u5fc3\u4e5f\u6000\u6709\u8fd9\u4efd\u597d\u5947\uff0c\u4e0d\u59a8\u82b1\u4e00\u5230\u4e24\u4e2a\u6708\u7684\u65f6\u95f4\u5b66\u4e60 Coursera: Nand2Tetris \u8fd9\u95e8\u65e0\u95e8\u69db\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002\u8fd9\u95e8\u9ebb\u96c0\u867d\u5c0f\u4e94\u810f\u4ff1\u5168\u7684\u8bfe\u7a0b\u4f1a\u4ece 01 \u5f00\u59cb\u8ba9\u4f60\u4eb2\u624b\u9020\u51fa\u4e00\u53f0\u8ba1\u7b97\u673a\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c\u4fc4\u7f57\u65af\u65b9\u5757\u5c0f\u6e38\u620f\u3002\u4e00\u95e8\u8bfe\u91cc\u6db5\u76d6\u4e86\u7f16\u8bd1\u3001\u865a\u62df\u673a\u3001\u6c47\u7f16\u3001\u4f53\u7cfb\u7ed3\u6784\u3001\u6570\u5b57\u7535\u8def\u3001\u903b\u8f91\u95e8\u7b49\u7b49\u4ece\u4e0a\u81f3\u4e0b\u3001\u4ece\u8f6f\u81f3\u786c\u7684\u5404\u7c7b\u77e5\u8bc6\uff0c\u975e\u5e38\u5168\u9762\u3002\u96be\u5ea6\u4e0a\u4e5f\u662f\u901a\u8fc7\u7cbe\u5fc3\u7684\u8bbe\u8ba1\uff0c\u7565\u53bb\u4e86\u4f17\u591a\u73b0\u4ee3\u8ba1\u7b97\u673a\u590d\u6742\u7684\u7ec6\u8282\uff0c\u63d0\u53d6\u51fa\u4e86\u6700\u6838\u5fc3\u672c\u8d28\u7684\u4e1c\u897f\uff0c\u529b\u56fe\u8ba9\u6bcf\u4e2a\u4eba\u90fd\u80fd\u7406\u89e3\u3002\u5728\u4f4e\u5e74\u7ea7\uff0c\u5982\u679c\u5c31\u80fd\u4ece\u5b8f\u89c2\u4e0a\u5efa\u7acb\u5bf9\u6574\u4e2a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7684\u9e1f\u77b0\u56fe\uff0c\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002","title":"\u5165\u95e8\u8bfe"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_29","text":"\u5f53\u7136\uff0c\u5982\u679c\u60f3\u6df1\u5165\u73b0\u4ee3\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u7684\u590d\u6742\u7ec6\u8282\uff0c\u8fd8\u5f97\u4e0a\u4e00\u95e8\u5927\u5b66\u672c\u79d1\u96be\u5ea6\u7684\u8bfe\u7a0b UCB CS61C: Great Ideas in Computer Architecture \u3002UC Berkeley \u4f5c\u4e3a RISC-V \u67b6\u6784\u7684\u53d1\u6e90\u5730\uff0c\u5728\u4f53\u7cfb\u7ed3\u6784\u9886\u57df\u7b97\u5f97\u4e0a\u9996\u5c48\u4e00\u6307\u3002\u5176\u8bfe\u7a0b\u975e\u5e38\u6ce8\u91cd\u5b9e\u8df5\uff0c\u4f60\u4f1a\u5728 Project \u4e2d\u624b\u5199\u6c47\u7f16\u6784\u9020\u795e\u7ecf\u7f51\u7edc\uff0c\u4ece\u96f6\u5f00\u59cb\u642d\u5efa\u4e00\u4e2a CPU\uff0c\u8fd9\u4e9b\u5b9e\u8df5\u90fd\u4f1a\u8ba9\u4f60\u5bf9\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u6709\u66f4\u4e3a\u6df1\u5165\u7684\u7406\u89e3\uff0c\u800c\u4e0d\u662f\u4ec5\u505c\u7559\u4e8e\u201c\u53d6\u6307\u8bd1\u7801\u6267\u884c\u8bbf\u5b58\u5199\u56de\u201d\u7684\u5355\u8c03\u80cc\u8bf5\u91cc\u3002","title":"\u4e13\u4e1a\u8bfe"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_30","text":"\u8ba1\u7b97\u673a\u7cfb\u7edf\u662f\u4e00\u4e2a\u5e9e\u6742\u800c\u6df1\u523b\u7684\u4e3b\u9898\uff0c\u5728\u6df1\u5165\u5b66\u4e60\u67d0\u4e2a\u7ec6\u5206\u9886\u57df\u4e4b\u524d\uff0c\u5bf9\u5404\u4e2a\u9886\u57df\u6709\u4e00\u4e2a\u5b8f\u89c2\u6982\u5ff5\u6027\u7684\u7406\u89e3\uff0c\u5bf9\u4e00\u4e9b\u901a\u7528\u6027\u7684\u8bbe\u8ba1\u539f\u5219\u6709\u6240\u77e5\u6653\uff0c\u4f1a\u8ba9\u4f60\u5728\u4e4b\u540e\u7684\u6df1\u5165\u5b66\u4e60\u4e2d\u4e0d\u65ad\u5f3a\u5316\u4e00\u4e9b\u6700\u4e3a\u6838\u5fc3\u4e43\u81f3\u54f2\u5b66\u7684\u6982\u5ff5\uff0c\u800c\u4e0d\u4f1a\u684e\u688f\u4e8e\u590d\u6742\u7684\u5185\u90e8\u7ec6\u8282\u548c\u5404\u79cd trick\u3002\u56e0\u4e3a\u5728\u6211\u770b\u6765\uff0c\u5b66\u4e60\u7cfb\u7edf\u6700\u5173\u952e\u7684\u8fd8\u662f\u60f3\u8ba9\u4f60\u9886\u609f\u5230\u8fd9\u4e9b\u6700\u6838\u5fc3\u7684\u4e1c\u897f\uff0c\u4ece\u800c\u80fd\u591f\u8bbe\u8ba1\u548c\u5b9e\u73b0\u51fa\u5c5e\u4e8e\u81ea\u5df1\u7684\u7cfb\u7edf\u3002 MIT6.033: System Engineering \u662f MIT \u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u4e3b\u9898\u6d89\u53ca\u4e86\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f51\u7edc\u3001\u5206\u5e03\u5f0f\u548c\u7cfb\u7edf\u5b89\u5168\uff0c\u9664\u4e86\u77e5\u8bc6\u70b9\u7684\u4f20\u6388\u5916\uff0c\u8fd9\u95e8\u8bfe\u8fd8\u4f1a\u8bb2\u6388\u4e00\u4e9b\u5199\u4f5c\u548c\u8868\u8fbe\u4e0a\u7684\u6280\u5de7\uff0c\u8ba9\u4f60\u5b66\u4f1a\u5982\u4f55\u8bbe\u8ba1\u5e76\u5411\u522b\u4eba\u4ecb\u7ecd\u548c\u5206\u6790\u81ea\u5df1\u7684\u7cfb\u7edf\u3002\u8fd9\u672c\u4e66\u914d\u5957\u7684\u6559\u6750 Principles of Computer System Design: An Introduction \u4e5f\u5199\u5f97\u975e\u5e38\u597d\uff0c\u63a8\u8350\u5927\u5bb6\u9605\u8bfb\u3002 CMU 15-213: Introduction to Computer System \u662f CMU \u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u5185\u5bb9\u8986\u76d6\u4e86\u4f53\u7cfb\u7ed3\u6784\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u94fe\u63a5\u3001\u5e76\u884c\u3001\u7f51\u7edc\u7b49\u7b49\uff0c\u517c\u5177\u5e7f\u5ea6\u548c\u6df1\u5ea6\uff0c\u914d\u5957\u7684\u6559\u6750 Computer Systems: A Programmer's Perspective \u4e5f\u662f\u8d28\u91cf\u6781\u9ad8\uff0c\u5f3a\u70c8\u5efa\u8bae\u9605\u8bfb\u3002","title":"\u7cfb\u7edf\u5165\u95e8"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_31","text":"\u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u5185\u6838\u66f4\u80fd\u52a0\u6df1\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u7684\u7406\u89e3\u4e86\u3002 \u64cd\u4f5c\u7cfb\u7edf\u4f5c\u4e3a\u5404\u7c7b\u7eb7\u7e41\u590d\u6742\u7684\u5e95\u5c42\u786c\u4ef6\u865a\u62df\u5316\u51fa\u4e00\u5957\u89c4\u8303\u4f18\u96c5\u7684\u62bd\u8c61\uff0c\u7ed9\u6240\u6709\u5e94\u7528\u8f6f\u4ef6\u63d0\u4f9b\u4e30\u5bcc\u7684\u529f\u80fd\u652f\u6301\u3002\u4e86\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u8bbe\u8ba1\u539f\u5219\u548c\u5185\u90e8\u539f\u7406\u5bf9\u4e8e\u4e00\u4e2a\u4e0d\u6ee1\u8db3\u4e8e\u5f53\u8c03\u5305\u4fa0\u7684\u7a0b\u5e8f\u5458\u6765\u8bf4\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u51fa\u4e8e\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u7684\u70ed\u7231\uff0c\u6211\u4e0a\u8fc7\u56fd\u5185\u5916\u5f88\u591a\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\uff0c\u5b83\u4eec\u5404\u6709\u4fa7\u91cd\u548c\u4f18\u52a3\uff0c\u5927\u5bb6\u53ef\u4ee5\u6839\u636e\u5174\u8da3\u5404\u53d6\u6240\u9700\u3002 MIT 6.S081: Operating System Engineering \uff0cMIT \u8457\u540d PDOS \u5b9e\u9a8c\u5ba4\u51fa\u54c1\uff0c11 \u4e2a Project \u8ba9\u4f60\u5728\u4e00\u4e2a\u5b9e\u73b0\u975e\u5e38\u4f18\u96c5\u7684\u7c7bUnix\u64cd\u4f5c\u7cfb\u7edfxv6\u4e0a\u589e\u52a0\u5404\u7c7b\u529f\u80fd\u6a21\u5757\u3002\u8fd9\u95e8\u8bfe\u4e5f\u8ba9\u6211\u6df1\u523b\u8ba4\u8bc6\u5230\uff0c\u505a\u7cfb\u7edf\u4e0d\u662f\u9760 PPT \u5ff5\u51fa\u6765\u7684\uff0c\u662f\u5f97\u51e0\u4e07\u884c\u4ee3\u7801\u4e00\u70b9\u70b9\u7d2f\u8d77\u6765\u7684\u3002 UCB CS162: Operating System \uff0c\u4f2f\u514b\u5229\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\uff0c\u91c7\u7528\u548c Stanford \u540c\u6837\u7684 Project \u2014\u2014 \u4e00\u4e2a\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf Pintos\u3002\u6211\u4f5c\u4e3a\u5317\u4eac\u5927\u5b662022\u5e74\u548c2023\u5e74\u6625\u5b63\u5b66\u671f\u64cd\u4f5c\u7cfb\u7edf\u5b9e\u9a8c\u73ed\u7684\u52a9\u6559\uff0c\u5f15\u5165\u5e76\u6539\u5584\u4e86\u8fd9\u4e2a Project\uff0c\u8bfe\u7a0b\u8d44\u6e90\u4e5f\u4f1a\u5168\u90e8\u5f00\u6e90\uff0c\u5177\u4f53\u53c2\u89c1 \u8bfe\u7a0b\u7f51\u7ad9 \u3002 NJU: Operating System Design and Implementation \uff0c\u5357\u4eac\u5927\u5b66\u7684\u848b\u708e\u5ca9\u8001\u5e08\u5f00\u8bbe\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u848b\u8001\u5e08\u4ee5\u5176\u72ec\u5230\u7684\u7cfb\u7edf\u89c6\u89d2\u7ed3\u5408\u4e30\u5bcc\u7684\u4ee3\u7801\u793a\u4f8b\u5c06\u4f17\u591a\u64cd\u4f5c\u7cfb\u7edf\u7684\u6982\u5ff5\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\uff0c\u6b64\u5916\u8fd9\u95e8\u8bfe\u7684\u5168\u90e8\u8bfe\u7a0b\u5185\u5bb9\u90fd\u662f\u4e2d\u6587\u7684\uff0c\u975e\u5e38\u65b9\u4fbf\u5927\u5bb6\u5b66\u4e60\u3002 HIT OS: Operating System \uff0c\u54c8\u5c14\u6ee8\u5de5\u4e1a\u5927\u5b66\u7684\u674e\u6cbb\u519b\u8001\u5e08\u5f00\u8bbe\u7684\u4e2d\u6587\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u674e\u8001\u5e08\u7684\u8bfe\u7a0b\u57fa\u4e8e Linux 0.11 \u6e90\u7801\uff0c\u5341\u5206\u6ce8\u91cd\u4ee3\u7801\u5b9e\u8df5\uff0c\u5e76\u7ad9\u5728\u5b66\u751f\u89c6\u89d2\u5c06\u64cd\u4f5c\u7cfb\u7edf\u7684\u6765\u9f99\u53bb\u8109\u5a13\u5a13\u9053\u6765\u3002","title":"\u64cd\u4f5c\u7cfb\u7edf"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_32","text":"\u60f3\u5fc5\u8fd9\u4e24\u5e74\u5404\u7c7b CS \u8bb2\u5ea7\u91cc\u6700\u5e38\u542c\u5230\u7684\u8bdd\u5c31\u662f\u201c\u6469\u5c14\u5b9a\u5f8b\u6b63\u5728\u8d70\u5411\u7ec8\u7ed3\u201d\uff0c\u6b64\u8bdd\u4e0d\u5047\uff0c\u5f53\u5355\u6838\u80fd\u529b\u8fbe\u5230\u4e0a\u9650\u65f6\uff0c\u591a\u6838\u4e43\u81f3\u4f17\u6838\u67b6\u6784\u5982\u65e5\u4e2d\u5929\u3002\u786c\u4ef6\u7684\u53d8\u5316\u5e26\u6765\u7684\u662f\u4e0a\u5c42\u7f16\u7a0b\u903b\u8f91\u7684\u9002\u5e94\u4e0e\u6539\u53d8\uff0c\u8981\u60f3\u5145\u5206\u5229\u7528\u786c\u4ef6\u6027\u80fd\uff0c\u7f16\u5199\u5e76\u884c\u7a0b\u5e8f\u51e0\u4e4e\u6210\u4e86\u7a0b\u5e8f\u5458\u7684\u5fc5\u5907\u6280\u80fd\u3002\u4e0e\u6b64\u540c\u65f6\uff0c\u6df1\u5ea6\u5b66\u4e60\u7684\u5174\u8d77\u5bf9\u8ba1\u7b97\u673a\u7b97\u529b\u4e0e\u5b58\u50a8\u7684\u8981\u6c42\u90fd\u8fbe\u5230\u4e86\u524d\u6240\u672a\u6709\u7684\u9ad8\u5ea6\uff0c\u5927\u89c4\u6a21\u96c6\u7fa4\u7684\u90e8\u7f72\u548c\u4f18\u5316\u4e5f\u6210\u4e3a\u70ed\u95e8\u6280\u672f\u8bdd\u9898\u3002","title":"\u5e76\u884c\u4e0e\u5206\u5e03\u5f0f\u7cfb\u7edf"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_33","text":"CMU 15-418/Stanford CS149: Parallel Computing","title":"\u5e76\u884c\u8ba1\u7b97"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_34","text":"MIT 6.824: Distributed System","title":"\u5206\u5e03\u5f0f\u7cfb\u7edf"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_35","text":"\u4e0d\u77e5\u9053\u4f60\u5f53\u5e74\u9009\u62e9\u8ba1\u7b97\u673a\u662f\u4e0d\u662f\u56e0\u4e3a\u6000\u7740\u4e00\u4e2a\u4e2d\u4e8c\u7684\u9ed1\u5ba2\u68a6\u60f3\uff0c\u4f46\u73b0\u5b9e\u5374\u662f\u6210\u4e3a\u9ed1\u5ba2\u9053\u963b\u4e14\u957f\u3002","title":"\u7cfb\u7edf\u5b89\u5168"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_36","text":"UCB CS161: Computer Security \u662f\u4f2f\u514b\u5229\u7684\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u4f1a\u6db5\u76d6\u6808\u653b\u51fb\u3001\u5bc6\u7801\u5b66\u3001\u7f51\u7ad9\u5b89\u5168\u3001\u7f51\u7edc\u5b89\u5168\u7b49\u7b49\u5185\u5bb9\u3002 ASU CSE365: Introduction to Cybersecurity \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66\u7684 Web \u5b89\u5168\u8bfe\u7a0b\uff0c\u4e3b\u8981\u6d89\u53ca\u6ce8\u5165\u3001\u6c47\u7f16\u4e0e\u5bc6\u7801\u5b66\u7684\u5185\u5bb9\u3002 ASU CSE466: Computer Systems Security \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66\u7684\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u6d89\u53ca\u5185\u5bb9\u5168\u9762\u3002\u95e8\u69db\u8f83\u9ad8\uff0c\u9700\u8981\u5bf9 Linux, C \u4e0e Python \u5145\u5206\u719f\u6089\u3002","title":"\u7406\u8bba\u8bfe\u7a0b"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_37","text":"\u638c\u63e1\u8fd9\u4e9b\u7406\u8bba\u77e5\u8bc6\u4e4b\u540e\uff0c\u8fd8\u9700\u8981\u5728\u5b9e\u8df5\u4e2d\u57f9\u517b\u548c\u953b\u70bc\u8fd9\u4e9b\u201c\u9ed1\u5ba2\u7d20\u517b\u201d\u3002 CTF \u593a\u65d7\u8d5b \u662f\u4e00\u9879\u6bd4\u8f83\u70ed\u95e8\u7684\u7cfb\u7edf\u5b89\u5168\u6bd4\u8d5b\uff0c\u8d5b\u9898\u4e2d\u4f1a\u878d\u4f1a\u8d2f\u901a\u5730\u8003\u5bdf\u4f60\u5bf9\u8ba1\u7b97\u673a\u5404\u4e2a\u9886\u57df\u77e5\u8bc6\u7684\u7406\u89e3\u548c\u8fd0\u7528\u3002\u5317\u5927\u4eca\u5e74\u4e5f\u6210\u529f\u4e3e\u529e\u4e86 \u7b2c 0 \u5c4a\u548c\u7b2c 1 \u5c4a \uff0c\u9f13\u52b1\u5927\u5bb6\u540e\u671f\u8e0a\u8dc3\u53c2\u4e0e\uff0c\u5728\u5b9e\u8df5\u4e2d\u63d0\u9ad8\u81ea\u5df1\u3002\u4e0b\u9762\u5217\u4e3e\u4e00\u4e9b\u6211\u5e73\u65f6\u5b66\u4e60\uff08\u6478\u9c7c\uff09\u7528\u5230\u7684\u8d44\u6e90\uff1a CTF-wiki CTF-101 Hacker-101","title":"\u5b9e\u8df5\u8bfe\u7a0b"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_38","text":"\u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a TCP/IP \u534f\u8bae\u6808\u66f4\u80fd\u52a0\u6df1\u5bf9\u8ba1\u7b97\u673a\u7f51\u7edc\u7684\u7406\u89e3\u4e86\u3002 \u5927\u540d\u9f0e\u9f0e\u7684 Stanford CS144: Computer Network \uff0c8 \u4e2a Project \u5e26\u4f60\u5b9e\u73b0\u6574\u4e2a TCP/IP \u534f\u8bae\u6808\u3002 \u5982\u679c\u4f60\u53ea\u662f\u60f3\u5728\u7406\u8bba\u4e0a\u5bf9\u8ba1\u7b97\u673a\u7f51\u7edc\u6709\u6240\u4e86\u89e3\uff0c\u90a3\u4e48\u63a8\u8350\u8ba1\u7f51\u8457\u540d\u6559\u6750\u300a\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u300b\u7684\u914d\u5957\u5b66\u4e60\u8d44\u6e90 Computer Networking: A Top-Down Approach \u3002","title":"\u8ba1\u7b97\u673a\u7f51\u7edc"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_39","text":"\u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u5173\u7cfb\u578b\u6570\u636e\u5e93\u66f4\u80fd\u52a0\u6df1\u5bf9\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u7406\u89e3\u4e86\u3002 CMU \u7684\u8457\u540d\u6570\u636e\u5e93\u795e\u8bfe CMU 15-445: Introduction to Database System \u4f1a\u901a\u8fc7 4 \u4e2a Project \u5e26\u4f60\u4e3a\u4e00\u4e2a\u7528\u4e8e\u6559\u5b66\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93 bustub \u6dfb\u52a0\u5404\u79cd\u529f\u80fd\u3002\u5b9e\u9a8c\u7684\u8bc4\u6d4b\u6846\u67b6\u4e5f\u514d\u8d39\u5f00\u6e90\u4e86\uff0c\u975e\u5e38\u9002\u5408\u5927\u5bb6\u81ea\u5b66\u3002\u6b64\u5916\u8bfe\u7a0b\u5b9e\u9a8c\u4f1a\u7528\u5230 C++11 \u7684\u4f17\u591a\u65b0\u7279\u6027\uff0c\u4e5f\u662f\u4e00\u4e2a\u953b\u70bc C++ \u4ee3\u7801\u80fd\u529b\u7684\u597d\u673a\u4f1a\u3002 Berkeley \u4f5c\u4e3a\u8457\u540d\u5f00\u6e90\u6570\u636e\u5e93 postgres \u7684\u53d1\u6e90\u5730\u4e5f\u4e0d\u9051\u591a\u8ba9\uff0c UCB CS186: Introduction to Database System \u4f1a\u8ba9\u4f60\u7528 Java \u8bed\u8a00\u5b9e\u73b0\u4e00\u4e2a\u652f\u6301 SQL \u5e76\u53d1\u67e5\u8be2\u3001B+ \u6811\u7d22\u5f15\u548c\u6545\u969c\u6062\u590d\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3002","title":"\u6570\u636e\u5e93\u7cfb\u7edf"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_40","text":"\u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u7f16\u8bd1\u5668\u66f4\u80fd\u52a0\u6df1\u5bf9\u7f16\u8bd1\u5668\u7684\u7406\u89e3\u4e86\u3002 Stanford CS143: Compilers \u5e26\u4f60\u624b\u5199\u7f16\u8bd1\u5668\u3002","title":"\u7f16\u8bd1\u539f\u7406"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#web","text":"\u524d\u540e\u7aef\u5f00\u53d1\u5f88\u5c11\u5728\u8ba1\u7b97\u673a\u7684\u57f9\u517b\u65b9\u6848\u91cc\u88ab\u91cd\u89c6\uff0c\u4f46\u5176\u5b9e\u638c\u63e1\u8fd9\u9879\u6280\u80fd\u8fd8\u662f\u597d\u5904\u591a\u591a\u7684\uff0c\u4f8b\u5982\u642d\u5efa\u81ea\u5df1\u7684\u4e2a\u4eba\u4e3b\u9875\uff0c\u6291\u6216\u662f\u7ed9\u81ea\u5df1\u7684\u8bfe\u7a0b\u9879\u76ee\u505a\u4e00\u4e2a\u7cbe\u5f69\u7684\u5c55\u793a\u7f51\u9875\u3002","title":"Web\u5f00\u53d1"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_41","text":"MIT web development course","title":"\u4e24\u5468\u901f\u6210\u7248"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_42","text":"Stanford CS142: Web Applications","title":"\u7cfb\u7edf\u5b66\u4e60\u7248"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_43","text":"Stanford CS148 Games101 Games103 Games202","title":"\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_44","text":"\u5176\u5b9e\u6570\u636e\u79d1\u5b66\u548c\u673a\u5668\u5b66\u4e60\u4e0e\u6df1\u5ea6\u5b66\u4e60\u6709\u7740\u5f88\u7d27\u5bc6\u7684\u8054\u7cfb\uff0c\u4f46\u53ef\u80fd\u66f4\u4fa7\u91cd\u4e8e\u5b9e\u8df5\u3002Berkeley \u7684 UCB Data100: Principles and Techniques of Data Science \u901a\u8fc7\u4e30\u5bcc\u7684\u7f16\u7a0b\u7ec3\u4e60\u8ba9\u4f60\u5728\u5b9e\u8df5\u4e2d\u638c\u63e1\u5404\u7c7b\u6570\u636e\u5206\u6790\u5de5\u5177\u548c\u7b97\u6cd5\uff0c\u5e76\u5e26\u9886\u4f60\u4f53\u9a8c\u4ece\u6d77\u91cf\u7684\u6570\u636e\u96c6\u4e2d\u63d0\u53d6\u51fa\u60f3\u8981\u7684\u7ed3\u679c\uff0c\u5e76\u5bf9\u672a\u6765\u7684\u6570\u636e\u6216\u7528\u6237\u7684\u884c\u4e3a\u505a\u51fa\u76f8\u5e94\u7684\u9884\u6d4b\u3002\u4f46\u8fd9\u53ea\u662f\u4e00\u95e8\u57fa\u7840\u8bfe\uff0c\u5982\u679c\u60f3\u5b66\u4e60\u5de5\u4e1a\u7ea7\u522b\u7684\u6570\u636e\u6316\u6398\u4e0e\u5206\u6790\u6280\u672f\uff0c\u53ef\u4ee5\u5c1d\u8bd5 Stanford \u7684\u5927\u6570\u636e\u6316\u6398\u8bfe\u7a0b CS246: Mining Massive Data Sets \u3002","title":"\u6570\u636e\u79d1\u5b66"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_45","text":"\u8fd1\u5341\u5e74\u4eba\u5de5\u667a\u80fd\u5e94\u8be5\u7b97\u662f\u8ba1\u7b97\u673a\u754c\u6700\u706b\u7206\u7684\u9886\u57df\u3002\u5982\u679c\u4f60\u4e0d\u6ee1\u8db3\u4e8e\u6574\u65e5\u542c\u5404\u8def\u5a92\u4f53\u4e89\u76f8\u62a5\u9053\u4eba\u5de5\u667a\u80fd\u76f8\u5173\u7684\u8fdb\u5c55\uff0c\u800c\u60f3\u771f\u6b63\u4e00\u63a2\u7a76\u7adf\uff0c\u90a3\u4e48\u975e\u5e38\u63a8\u8350\u5b66\u4e60 Harvard \u795e\u8bfe CS50 \u7cfb\u5217\u7684\u4eba\u5de5\u667a\u80fd\u8bfe\u7a0b Harvard CS50: Introduction to AI with Python \u3002\u8bfe\u7a0b\u77ed\u5c0f\u7cbe\u608d\uff0c\u8986\u76d6\u4e86\u4f20\u7edf\u4eba\u5de5\u667a\u80fd\u9886\u57df\u7684\u51e0\u5927\u5206\u652f\uff0c\u5e76\u914d\u6709\u4e30\u5bcc\u6709\u8da3\u7684 Python \u7f16\u7a0b\u7ec3\u4e60\u6765\u5de9\u56fa\u4f60\u5bf9\u4eba\u5de5\u667a\u80fd\u7b97\u6cd5\u7684\u7406\u89e3\u3002\u7f8e\u4e2d\u4e0d\u8db3\u7684\u662f\u8fd9\u95e8\u8bfe\u56e0\u4e3a\u9762\u5411\u5728\u7ebf\u81ea\u5b66\u8005\u7684\u7f18\u6545\u5185\u5bb9\u8f83\u4e3a\u7cbe\u7b80\uff0c\u5e76\u4e14\u4e0d\u4f1a\u6d89\u53ca\u7279\u522b\u6df1\u5165\u7684\u6570\u5b66\u7406\u8bba\uff0c\u5982\u679c\u60f3\u8981\u7cfb\u7edf\u6df1\u5165\u5730\u5b66\u4e60\u8fd8\u9700\u8981\u4e00\u95e8\u672c\u79d1\u751f\u96be\u5ea6\u7684\u8bfe\u7a0b\uff0c\u4f8b\u5982 Berkeley \u7684 UCB CS188: Introduction to Artificial Intelligence \u3002\u8fd9\u95e8\u8bfe\u7684 Project \u590d\u523b\u4e86\u7ecf\u5178\u6e38\u620f\u7cd6\u8c46\u4eba\uff0c\u8ba9\u4f60\u8fd0\u7528\u4eba\u5de5\u667a\u80fd\u7b97\u6cd5\u73a9\u6e38\u620f\uff0c\u975e\u5e38\u6709\u8da3\u3002","title":"\u4eba\u5de5\u667a\u80fd"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_46","text":"\u673a\u5668\u5b66\u4e60\u9886\u57df\u8fd1\u4e9b\u5e74\u6700\u91cd\u8981\u7684\u8fdb\u5c55\u5c31\u662f\u53d1\u5c55\u51fa\u4e86\u57fa\u4e8e\u795e\u7ecf\u7f51\u7edc\u7684\u6df1\u5ea6\u5b66\u4e60\u5206\u652f\uff0c\u4f46\u5176\u5b9e\u5f88\u591a\u57fa\u4e8e\u7edf\u8ba1\u5b66\u4e60\u7684\u7b97\u6cd5\u4f9d\u7136\u5728\u6570\u636e\u5206\u6790\u9886\u57df\u6709\u7740\u5e7f\u6cdb\u7684\u5e94\u7528\u3002\u5982\u679c\u4f60\u4e4b\u524d\u4ece\u672a\u63a5\u89e6\u8fc7\u673a\u5668\u5b66\u4e60\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u800c\u4e14\u4e0d\u60f3\u4e00\u5f00\u59cb\u5c31\u9677\u5165\u8270\u6df1\u6666\u6da9\u7684\u6570\u5b66\u8bc1\u660e\uff0c\u90a3\u4e48\u4e0d\u59a8\u5148\u4ece Andrew Ng \uff08\u5434\u6069\u8fbe\uff09\u7684 Coursera: Machine Learning \u5b66\u8d77\u3002\u8fd9\u95e8\u8bfe\u5728\u673a\u5668\u5b66\u4e60\u9886\u57df\u57fa\u672c\u65e0\u4eba\u4e0d\u6653\uff0c\u5434\u6069\u8fbe\u4ee5\u5176\u6df1\u539a\u7684\u7406\u8bba\u529f\u5e95\u548c\u51fa\u8272\u7684\u8868\u8fbe\u80fd\u529b\u628a\u5f88\u591a\u8270\u6df1\u7684\u7b97\u6cd5\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\uff0c\u5e76\u4e14\u975e\u5e38\u5b9e\u7528\u3002\u5176\u914d\u5957\u7684\u4f5c\u4e1a\u4e5f\u662f\u8d28\u91cf\u76f8\u5f53\u4e0a\u4e58\uff0c\u53ef\u4ee5\u5e2e\u52a9\u4f60\u5feb\u901f\u5165\u95e8\u3002 \u4f46\u4e0a\u8fc7\u8fd9\u95e8\u8bfe\u53ea\u80fd\u8ba9\u4f60\u4ece\u5b8f\u89c2\u4e0a\u5bf9\u673a\u5668\u5b66\u4e60\u8fd9\u4e00\u9886\u57df\u6709\u4e00\u5b9a\u4e86\u89e3\uff0c\u5982\u679c\u60f3\u771f\u6b63\u7406\u89e3\u90a3\u4e9b\u201c\u795e\u5947\u201d\u7b97\u6cd5\u80cc\u540e\u7684\u6570\u5b66\u539f\u7406\u751a\u81f3\u4ece\u4e8b\u76f8\u5173\u9886\u57df\u7684\u79d1\u7814\u5de5\u4f5c\uff0c\u90a3\u4e48\u8fd8\u9700\u8981\u4e00\u95e8\u66f4\u201c\u6570\u5b66\u201d\u7684\u8bfe\u7a0b\uff0c\u4f8b\u5982 Stanford CS229: Machine Learning \u6216\u8005 UCB CS189: Introduction to Machine Learning \u3002","title":"\u673a\u5668\u5b66\u4e60"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_47","text":"\u524d\u51e0\u5e74 AlphaGo \u7684\u5927\u70ed\u8ba9\u6df1\u5ea6\u5b66\u4e60\u8fdb\u5165\u4e86\u5927\u4f17\u7684\u89c6\u91ce\uff0c\u4e0d\u5c11\u5927\u5b66\u751a\u81f3\u4e13\u95e8\u6210\u7acb\u4e86\u76f8\u5173\u4e13\u4e1a\u3002\u5f88\u591a\u8ba1\u7b97\u673a\u7684\u5176\u4ed6\u9886\u57df\u4e5f\u4f1a\u501f\u52a9\u6df1\u5ea6\u5b66\u4e60\u7684\u6280\u672f\u6765\u505a\u7814\u7a76\uff0c\u56e0\u6b64\u57fa\u672c\u4e0d\u7ba1\u4f60\u5e72\u5565\u591a\u5c11\u90fd\u4f1a\u63a5\u89e6\u5230\u4e00\u4e9b\u795e\u7ecf\u7f51\u7edc\u3001\u6df1\u5ea6\u5b66\u4e60\u76f8\u5173\u7684\u6280\u672f\u9700\u6c42\u3002\u5982\u679c\u60f3\u5feb\u901f\u5165\u95e8\uff0c\u540c\u6837\u63a8\u8350 Andrew Ng \uff08\u5434\u6069\u8fbe\uff09\u7684 Coursera: Deep Learning \uff0c\u8d28\u91cf\u65e0\u9700\u591a\u8a00\uff0cCoursera \u4e0a\u7f55\u89c1\u7684\u6ee1\u5206\u8bfe\u7a0b\u3002\u6b64\u5916\u5982\u679c\u4f60\u89c9\u5f97\u82f1\u6587\u8bfe\u7a0b\u5b66\u4e60\u8d77\u6765\u6709\u96be\u5ea6\uff0c\u63a8\u8350\u674e\u5b8f\u6bc5\u8001\u5e08\u7684 \u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\uff1a\u673a\u5668\u5b66\u4e60 \u8bfe\u7a0b\u3002\u8fd9\u95e8\u8bfe\u6253\u7740\u673a\u5668\u5b66\u4e60\u7684\u540d\u53f7\uff0c\u5374\u56ca\u62ec\u4e86\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u7684\u51e0\u4e4e\u6240\u6709\u65b9\u5411\uff0c\u975e\u5e38\u5168\u9762\uff0c\u5f88\u9002\u5408\u4f60\u4ece\u5b8f\u89c2\u4e0a\u5bf9\u8fd9\u4e2a\u9886\u57df\u6709\u4e00\u4e2a\u5927\u81f4\u7684\u4e86\u89e3\u3002\u800c\u4e14\u8001\u5e08\u672c\u4eba\u4e5f\u975e\u5e38\u5e7d\u9ed8\uff0c\u8bfe\u5802\u91d1\u53e5\u9891\u51fa\u3002 \u5f53\u7136\u56e0\u4e3a\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u53d1\u5c55\u975e\u5e38\u8fc5\u901f\uff0c\u5df2\u7ecf\u62e5\u6709\u4e86\u4f17\u591a\u7814\u7a76\u5206\u652f\uff0c\u5982\u679c\u60f3\u8981\u8fdb\u4e00\u6b65\u6df1\u5165\uff0c\u53ef\u4ee5\u6309\u9700\u5b66\u4e60\u4e0b\u9762\u7f57\u5217\u7684\u4ee3\u8868\u8bfe\u7a0b\uff0c","title":"\u6df1\u5ea6\u5b66\u4e60"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_48","text":"Stanford CS231n: CNN for Visual Recognition","title":"\u8ba1\u7b97\u673a\u89c6\u89c9"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_49","text":"Stanford CS224n: Natural Language Processing","title":"\u81ea\u7136\u8bed\u8a00\u5904\u7406"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_50","text":"Stanford CS224w: Machine Learning with Graphs","title":"\u56fe\u795e\u7ecf\u7f51\u7edc"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_51","text":"UCB CS285: Deep Reinforcement Learning","title":"\u5f3a\u5316\u5b66\u4e60"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_52","text":"\u6388\u4eba\u4ee5\u9c7c\u4e0d\u5982\u6388\u4eba\u4ee5\u6e14\u3002 \u4ee5\u4e0a\u7684\u8bfe\u7a0b\u89c4\u5212\u96be\u514d\u5e26\u6709\u5f3a\u70c8\u7684\u4e2a\u4eba\u504f\u597d\uff0c\u4e0d\u4e00\u5b9a\u9002\u5408\u6240\u6709\u4eba\uff0c\u66f4\u591a\u662f\u8d77\u5230\u629b\u7816\u5f15\u7389\u7684\u4f5c\u7528\u3002\u5982\u679c\u4f60\u60f3\u6311\u9009\u81ea\u5df1\u611f\u5174\u8da3\u7684\u65b9\u5411\u548c\u5185\u5bb9\u52a0\u4ee5\u5b66\u4e60\uff0c\u53ef\u4ee5\u53c2\u8003\u6211\u5728\u4e0b\u9762\u5217\u51fa\u6765\u7684\u8d44\u6e90\u3002 MIT OpenCourseWare : \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684\u8bfe\u7a0b\u8d44\u6e90\u5f00\u653e\u5171\u4eab\u9879\u76ee\uff0c\u6536\u5f55\u4e86\u6570\u4ee5\u5343\u8ba1\u7684\u5404\u79d1\u8bfe\u7a0b\u8d44\u6e90\uff0c\u5176\u4e2d\u8ba1\u7b97\u673a\u7c7b\u7684\u8bfe\u53f7\u662f 6.xxx\u3002 MIT CS Course List : \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002 UC Berkeley EECS Course Map : UC Berkeley \u7684 EECS \u57f9\u517b\u65b9\u6848\uff0c\u4ee5\u8bfe\u7a0b\u5730\u56fe\u7684\u65b9\u5f0f\u5c06\u5404\u95e8\u8bfe\u7a0b\u7684\u7c7b\u522b\u548c\u5148\u4fee\u5173\u7cfb\u4e00\u76ee\u4e86\u7136\u5730\u5448\u73b0\uff0c\u5176\u4e2d\u7edd\u5927\u591a\u6570\u8bfe\u7a0b\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 UC Berkeley CS Course List : UC Berkeley \u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002 Stanford CS Course List : \u65af\u5766\u798f\u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002","title":"\u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe"},{"location":"en/%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/","text":"\u5982\u4f55\u4f7f\u7528\u8fd9\u672c\u4e66 \u968f\u7740\u8d21\u732e\u8005\u7684\u4e0d\u65ad\u589e\u591a\uff0c\u672c\u4e66\u7684\u5185\u5bb9\u4e5f\u4e0d\u65ad\u6269\u5c55\uff0c\u60f3\u628a\u4e66\u4e2d\u6240\u6709\u7684\u8bfe\u7a0b\u5168\u90e8\u5b66\u5b8c\u662f\u4e0d\u5207\u5b9e\u9645\u4e5f\u6ca1\u6709\u5fc5\u8981\u7684\uff0c\u751a\u81f3\u4f1a\u8d77\u5230\u4e8b\u500d\u529f\u534a\u7684\u53cd\u6548\u679c\uff0c\u5403\u529b\u800c\u4e0d\u8ba8\u597d\u3002\u4e3a\u4e86\u66f4\u597d\u5730\u8d34\u5408\u8bfb\u8005\uff0c\u8ba9\u8fd9\u672c\u4e66\u771f\u6b63\u4e3a\u4f60\u6240\u7528\uff0c\u6211\u5c06\u8bfb\u8005\u6309\u7167\u9700\u6c42\u5927\u81f4\u5206\u4e3a\u4e86\u5982\u4e0b\u4e09\u7c7b\uff0c\u5927\u5bb6\u53ef\u4ee5\u7ed3\u5408\u5207\u8eab\u5b9e\u9645\uff0c\u7cbe\u51c6\u5730\u89c4\u5212\u5c5e\u4e8e\u81ea\u5df1\u7684\u81ea\u5b66\u65b9\u6848\u3002 \u521d\u5165\u6821\u56ed \u5982\u679c\u4f60\u521a\u521a\u8fdb\u5165\u5927\u5b66\u6821\u56ed\u6216\u8005\u8fd8\u5728\u4f4e\u5e74\u7ea7\uff0c\u5e76\u4e14\u5c31\u8bfb\u7684\u662f\u8ba1\u7b97\u673a\u65b9\u5411\u6216\u8005\u60f3\u8981\u8f6c\u5230\u8ba1\u7b97\u673a\u65b9\u5411\uff0c\u90a3\u4e48\u4f60\u5f88\u5e78\u8fd0\uff0c\u56e0\u4e3a\u5b66\u4e60\u662f\u4f60\u7684\u672c\u4e1a\uff0c\u4f60\u53ef\u4ee5\u6709\u5145\u8db3\u7684\u65f6\u95f4\u548c\u81ea\u7531\u6765\u5b66\u4e60\u81ea\u5df1\u611f\u5174\u8da3\u7684\u4e1c\u897f\uff0c\u4e0d\u4f1a\u6709\u5de5\u4f5c\u7684\u538b\u529b\u548c\u751f\u6d3b\u7684\u7410\u788e\uff0c\u4e0d\u5fc5\u8fc7\u4e8e\u7ea0\u7ed3\u201c\u5b66\u4e86\u6709\u6ca1\u6709\u7528\u201d\uff0c\u201c\u80fd\u4e0d\u80fd\u627e\u5230\u5de5\u4f5c\u201d\u8fd9\u7c7b\u529f\u5229\u7684\u60f3\u6cd5\u3002\u90a3\u4e48\u8be5\u5982\u4f55\u5b89\u6392\u81ea\u5df1\u7684\u5b66\u4e1a\u5462\uff1f\u6211\u89c9\u5f97\u9996\u8981\u7684\u4e00\u70b9\u5c31\u662f\u8981\u6253\u7834\u5728\u9ad8\u4e2d\u5f62\u6210\u7684\u201c\u6309\u90e8\u5c31\u73ed\u201d\u5f0f\u7684\u88ab\u52a8\u5b66\u4e60\u3002\u4f5c\u4e3a\u4e00\u4e2a\u5c0f\u9547\u505a\u9898\u5bb6\uff0c\u6211\u6df1\u77e5\u56fd\u5185\u5927\u90e8\u5206\u9ad8\u4e2d\u4f1a\u628a\u5927\u5bb6\u4e00\u5929\u5f53\u4e2d\u7684\u6bcf\u4e00\u5206\u949f\u90fd\u5b89\u6392\u5f97\u6ee1\u6ee1\u5f53\u5f53\uff0c\u4f60\u53ea\u9700\u8981\u88ab\u52a8\u5730\u8ddf\u7740\u8bfe\u8868\u6309\u90e8\u5c31\u73ed\u5730\u5b8c\u6210\u4e00\u4e2a\u4e2a\u65e2\u5b9a\u7684\u4efb\u52a1\u3002\u53ea\u8981\u8db3\u591f\u8ba4\u771f\uff0c\u7ed3\u679c\u90fd\u4e0d\u4f1a\u592a\u5dee\u3002\u4f46\u6b65\u5165\u5927\u5b66\u7684\u6821\u95e8\uff0c\u81ea\u7531\u5ea6\u4e00\u4e0b\u5b50\u53d8\u5927\u4e86\u8bb8\u591a\u3002\u9996\u5148\u6240\u6709\u7684\u8bfe\u5916\u65f6\u95f4\u57fa\u672c\u90fd\u7531\u4f60\u81ea\u7531\u652f\u914d\uff0c\u6ca1\u6709\u4eba\u4e3a\u4f60\u6574\u7406\u77e5\u8bc6\u70b9\uff0c\u603b\u7ed3\u63d0\u7eb2\uff0c\u8003\u8bd5\u4e5f\u4e0d\u50cf\u9ad8\u4e2d\u90a3\u822c\u6a21\u5f0f\u5316\u3002\u5982\u679c\u4f60\u8fd8\u62b1\u7740\u9ad8\u4e2d\u90a3\u79cd\u201c\u4e56\u5b66\u751f\u201d\u7684\u5fc3\u6001\uff0c\u8001\u8001\u5b9e\u5b9e\u6309\u90e8\u5c31\u73ed\uff0c\u7ed3\u679c\u672a\u5fc5\u5982\u4f60\u6240\u613f\u3002\u56e0\u4e3a\u4e13\u4e1a\u57f9\u517b\u65b9\u6848\u672a\u5fc5\u5c31\u662f\u5408\u7406\uff0c\u8001\u5e08\u7684\u6559\u5b66\u672a\u5fc5\u5c31\u4f1a\u8d1f\u8d23\uff0c\u8ba4\u771f\u51fa\u5e2d\u8bfe\u5802\u672a\u5fc5\u5c31\u80fd\u542c\u61c2\uff0c\u751a\u81f3\u8003\u8bd5\u5185\u5bb9\u672a\u5fc5\u5c31\u548c\u8bb2\u7684\u6709\u5173\u7cfb\u3002\u8bf4\u53e5\u73a9\u7b11\u8bdd\uff0c\u4f60\u6216\u8bb8\u4f1a\u89c9\u5f97\u5168\u4e16\u754c\u90fd\u4e0e\u4f60\u4e3a\u654c\uff0c\u800c\u4f60\u53ea\u80fd\u6307\u671b\u81ea\u5df1\u3002 \u90a3\u4e48\u73b0\u72b6\u5c31\u662f\u8fd9\u4e48\u4e2a\u73b0\u72b6\uff0c\u4f60\u60f3\u6539\u53d8\uff0c\u4e5f\u5f97\u5148\u6d3b\u8fc7\u53bb\uff0c\u5e76\u4e14\u62e5\u6709\u8db3\u591f\u7684\u80fd\u529b\u53bb\u8d28\u7591\u5b83\u3002\u800c\u5728\u4f4e\u5e74\u7ea7\uff0c\u6253\u597d\u57fa\u7840\u5f88\u91cd\u8981\u3002\u8fd9\u91cc\u7684\u57fa\u7840\u662f\u5168\u65b9\u9762\u7684\uff0c\u8bfe\u5185\u7684\u77e5\u8bc6\u56fa\u7136\u91cd\u8981\uff0c\u4f46\u8ba1\u7b97\u673a\u5f88\u5927\u7a0b\u5ea6\u4e0a\u8fd8\u662f\u5f3a\u8c03\u5b9e\u8df5\uff0c\u56e0\u6b64\u6709\u5f88\u591a\u8bfe\u672c\u5916\u7684\u80fd\u529b\u9700\u8981\u57f9\u517b\uff0c\u800c\u8fd9\u6070\u6070\u662f\u56fd\u5185\u7684\u8ba1\u7b97\u673a\u672c\u79d1\u6559\u80b2\u5f88\u6b20\u7f3a\u7684\u4e00\u70b9\u3002\u6211\u6839\u636e\u4e2a\u4eba\u7684\u4f53\u9a8c\u603b\u7ed3\u51fa\u4e86\u4e0b\u9762\u51e0\u70b9\u5efa\u8bae\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u5176\u4e00\u5c31\u662f\u4e86\u89e3\u5982\u4f55\u5199\u201c\u4f18\u96c5\u201d\u7684\u4ee3\u7801\u3002\u56fd\u5185\u7684\u5f88\u591a\u5927\u4e00\u7f16\u7a0b\u5165\u95e8\u8bfe\u90fd\u4f1a\u8bb2\u6210\u6781\u5176\u65e0\u804a\u7684\u8bed\u6cd5\u8bfe\uff0c\u5176\u6548\u679c\u8fd8\u4e0d\u5982\u76f4\u63a5\u8ba9\u5b66\u751f\u770b\u5b98\u65b9\u6587\u6863\u3002\u4e8b\u5b9e\u4e0a\uff0c\u5728\u521a\u5f00\u59cb\u63a5\u89e6\u7f16\u7a0b\u7684\u65f6\u5019\uff0c\u8ba9\u5b66\u751f\u8bd5\u7740\u53bb\u4e86\u89e3\u4ec0\u4e48\u6837\u7684\u4ee3\u7801\u662f\u4f18\u96c5\u7684\uff0c\u4ec0\u4e48\u6837\u7684\u4ee3\u7801 \"have bad taste\" \u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u4e00\u822c\u6765\u8bf4\uff0c\u7f16\u7a0b\u5165\u95e8\u8bfe\u4f1a\u5148\u4ecb\u7ecd\u8fc7\u7a0b\u5f0f\u7f16\u7a0b\uff08\u4f8b\u5982 C \u8bed\u8a00\uff09\u3002\u4f46\u5373\u4fbf\u662f\u9762\u5411\u8fc7\u7a0b\u7f16\u7a0b\uff0c \u6a21\u5757\u5316 \u548c \u5c01\u88c5 \u7684\u601d\u60f3\u4e5f\u6781\u5176\u91cd\u8981\u3002\u5982\u679c\u4f60\u53ea\u60f3\u7740\u4ee3\u7801\u80fd\u5728 OpenJudge \u4e0a\u901a\u8fc7\uff0c\u5199\u7684\u65f6\u5019\u56fe\u7701\u4e8b\uff0c\u7528\u5927\u6bb5\u7684\u590d\u5236\u7c98\u8d34\u548c\u81c3\u80bf\u7684 main \u51fd\u6570\uff0c\u957f\u6b64\u4ee5\u5f80\uff0c\u4f60\u7684\u4ee3\u7801\u8d28\u91cf\u5c06\u4e00\u76f4\u5982\u6b64\u3002\u4e00\u65e6\u63a5\u89e6\u7a0d\u5fae\u5927\u4e00\u70b9\u7684\u9879\u76ee\uff0c\u65e0\u5c3d\u7684 debug \u548c\u6c9f\u901a\u7ef4\u62a4\u6210\u672c\u5c06\u628a\u4f60\u541e\u6ca1\u3002\u56e0\u6b64\uff0c\u5199\u4ee3\u7801\u65f6\u4e0d\u65ad\u95ee\u81ea\u5df1\uff0c\u662f\u5426\u6709\u5927\u91cf\u91cd\u590d\u7684\u4ee3\u7801\uff1f\u5f53\u524d\u51fd\u6570\u662f\u5426\u8fc7\u4e8e\u590d\u6742\uff08Linux \u63d0\u5021\u6bcf\u4e2a\u51fd\u6570\u53ea\u9700\u8981\u505a\u597d\u4e00\u4ef6\u4e8b\uff09\uff1f\u8fd9\u6bb5\u4ee3\u7801\u80fd\u62bd\u8c61\u6210\u4e00\u4e2a\u51fd\u6570\u5417\uff1f\u4e00\u5f00\u59cb\u4f60\u53ef\u80fd\u89c9\u5f97\u5f88\u4e0d\u4e60\u60ef\uff0c\u751a\u81f3\u89c9\u5f97\u8fd9\u4e48\u7b80\u5355\u7684\u9898\u9700\u8981\u5982\u6b64\u5927\u8d39\u5468\u7ae0\u5417\uff1f\u4f46\u8bb0\u4f4f\u597d\u7684\u4e60\u60ef\u662f\u65e0\u4ef7\u7684\uff0cC \u8bed\u8a00\u521d\u4e2d\u751f\u90fd\u80fd\u5b66\u4f1a\uff0c\u51ed\u4ec0\u4e48\u516c\u53f8\u8981\u62db\u4f60\u53bb\u5f53\u7a0b\u5e8f\u5458\u5462\uff1f \u5b66\u8fc7\u9762\u5411\u8fc7\u7a0b\u7f16\u7a0b\u540e\uff0c\u5927\u4e00\u4e0b\u5b66\u671f\u4e00\u822c\u4f1a\u8bb2\u9762\u5411\u5bf9\u8c61\u7f16\u7a0b\uff08\u4f8b\u5982 C++ \u6216 Java\uff09\u3002\u8fd9\u91cc\u975e\u5e38\u63a8\u8350\u5927\u5bb6\u770b MIT 6.031: Software Construction \u8fd9\u95e8\u8bfe\u7684 Notes\uff0c\u4f1a\u4ee5 Java \u8bed\u8a00\u4e3a\u4f8b\u975e\u5e38\u8be6\u7ec6\u5730\u8bb2\u89e3\u5982\u4f55\u5199\u51fa\u201c\u4f18\u96c5\u201d\u7684\u4ee3\u7801\u3002\u4f8b\u5982 Test-Driven \u7684\u5f00\u53d1\u3001\u51fd\u6570 Specification \u7684\u8bbe\u8ba1\u3001\u5f02\u5e38\u7684\u5904\u7406\u7b49\u7b49\u7b49\u7b49\u3002\u9664\u6b64\u4e4b\u5916\uff0c\u65e2\u7136\u63a5\u89e6\u4e86\u9762\u5411\u5bf9\u8c61\uff0c\u90a3\u4e48\u4e86\u89e3\u4e00\u4e9b\u5e38\u89c1\u7684\u8bbe\u8ba1\u6a21\u5f0f\u4e5f\u662f\u5f88\u6709\u5fc5\u8981\u7684\u3002\u56e0\u4e3a\u56fd\u5185\u7684\u9762\u5411\u5bf9\u8c61\u8bfe\u7a0b\u540c\u6837\u5f88\u5bb9\u6613\u53d8\u6210\u6781\u5176\u65e0\u804a\u7684\u8bed\u6cd5\u8bfe\uff0c\u8ba9\u5b66\u751f\u7ea0\u7ed3\u4e8e\u5404\u79cd\u7ee7\u627f\u7684\u8bed\u6cd5\uff0c\u751a\u81f3\u51fa\u4e00\u4e9b\u65e0\u804a\u7684\u8111\u7b4b\u6025\u8f6c\u5f2f\u4e00\u6837\u7684\u9898\u76ee\uff0c\u6b8a\u4e0d\u77e5\u8fd9\u4e9b\u4e1c\u897f\u5728\u5730\u7403\u4eba\u7684\u5f00\u53d1\u4e2d\u57fa\u672c\u4e0d\u4f1a\u7528\u5230\u3002\u9762\u5411\u5bf9\u8c61\u7684\u7cbe\u9ad3\u662f\u8ba9\u5b66\u751f\u5b66\u4f1a\u81ea\u5df1\u5c06\u5b9e\u9645\u7684\u95ee\u9898\u62bd\u8c61\u6210\u82e5\u5e72\u7c7b\u548c\u5b83\u4eec\u4e4b\u95f4\u7684\u5173\u7cfb\uff0c\u800c\u8bbe\u8ba1\u6a21\u5f0f\u5219\u662f\u524d\u4eba\u603b\u7ed3\u51fa\u6765\u7684\u4e00\u4e9b\u7cbe\u9ad3\u7684\u62bd\u8c61\u65b9\u6cd5\u3002\u8fd9\u91cc\u63a8\u8350 \u5927\u8bdd\u8bbe\u8ba1\u6a21\u5f0f \u8fd9\u672c\u4e66\uff0c\u5199\u5f97\u975e\u5e38\u6d45\u663e\u6613\u61c2\u3002 \u5176\u4e8c\u5c31\u662f\u5c1d\u8bd5\u5b66\u4e60\u4e00\u4e9b\u80fd\u63d0\u9ad8\u751f\u4ea7\u529b\u7684\u5de5\u5177\u548c\u6280\u80fd\uff0c\u4f8b\u5982 Git\u3001Shell\u3001Vim\u3002\u8fd9\u91cc\u5f3a\u70c8\u63a8\u8350\u5b66\u4e60 MIT missing semester \u8fd9\u95e8\u8bfe\uff0c\u4e5f\u8bb8\u4e00\u5f00\u59cb\u63a5\u89e6\u8fd9\u4e9b\u5de5\u5177\u7528\u8d77\u6765\u4f1a\u5f88\u4e0d\u4e60\u60ef\uff0c\u4f46\u5f3a\u8feb\u81ea\u5df1\u7528\uff0c\u719f\u7ec3\u4e4b\u540e\u5f00\u53d1\u6548\u7387\u4f1a\u76f4\u7ebf\u63d0\u9ad8\u3002\u6b64\u5916\uff0c\u8fd8\u6709\u5f88\u591a\u5e94\u7528\u4e5f\u80fd\u6781\u5927\u63d0\u9ad8\u7684\u4f60\u751f\u4ea7\u529b\u3002\u4e00\u6761\u5b9a\u5f8b\u662f\uff1a\u4e00\u5207\u9700\u8981\u8ba9\u624b\u79bb\u5f00\u952e\u76d8\u7684\u64cd\u4f5c\uff0c\u90fd\u5e94\u8be5\u60f3\u529e\u6cd5\u53bb\u9664\u3002\u4f8b\u5982\u5207\u6362\u5e94\u7528\u3001\u6253\u5f00\u6587\u4ef6\u3001\u6d4f\u89c8\u7f51\u9875\u8fd9\u4e9b\u90fd\u6709\u76f8\u5173\u63d2\u4ef6\u53ef\u4ee5\u5b9e\u73b0\u5feb\u6377\u64cd\u4f5c\uff08\u4f8b\u5982 Mac \u4e0a\u7684 Alfred \uff09\u3002\u5982\u679c\u4f60\u53d1\u73b0\u67d0\u4e2a\u64cd\u4f5c\u6bcf\u5929\u90fd\u4f1a\u7528\u5230\uff0c\u5e76\u4e14\u7528\u65f6\u8d85\u8fc71\u79d2\uff0c\u90a3\u5c31\u5e94\u8be5\u60f3\u529e\u6cd5\u628a\u5b83\u7f29\u51cf\u52300.1\u79d2\u3002\u6bd5\u7adf\u4ee5\u540e\u6570\u5341\u5e74\u4f60\u90fd\u8981\u548c\u7535\u8111\u6253\u4ea4\u9053\uff0c\u5f62\u6210\u4e00\u5957\u987a\u6ed1\u7684\u5de5\u4f5c\u6d41\u662f\u4e8b\u534a\u529f\u500d\u7684\u3002\u6700\u540e\uff0c\u5b66\u4f1a\u76f2\u6253\uff01\u5982\u679c\u4f60\u8fd8\u9700\u8981\u770b\u7740\u952e\u76d8\u6253\u5b57\uff0c\u90a3\u4e48\u8d76\u7d27\u4e0a\u7f51\u627e\u4e2a\u6559\u7a0b\u5b66\u4f1a\u76f2\u6253\uff0c\u8fd9\u5c06\u6781\u5927\u63d0\u9ad8\u4f60\u7684\u5f00\u53d1\u6548\u7387\u3002 \u5176\u4e09\u5c31\u662f\u5e73\u8861\u597d\u8bfe\u5185\u548c\u81ea\u5b66\u3002\u6211\u4eec\u8d28\u7591\u73b0\u72b6\uff0c\u4f46\u4e5f\u5f97\u9075\u5b88\u89c4\u5219\uff0c\u6bd5\u7adf\u7ee9\u70b9\u5728\u4fdd\u7814\u4e2d\u8fd8\u662f\u76f8\u5f53\u91cd\u8981\u7684\u3002\u56e0\u6b64\u5728\u5927\u4e00\uff0c\u6211\u8fd8\u662f\u5efa\u8bae\u5927\u5bb6\u5c3d\u91cf\u6309\u7167\u81ea\u5df1\u7684\u8bfe\u8868\u5b66\u4e60\uff0c\u4f46\u8f85\u4ee5\u4e00\u4e9b\u4f18\u8d28\u7684\u8bfe\u5916\u8d44\u6e90\u3002\u4f8b\u5982\u5fae\u79ef\u5206\u7ebf\u4ee3\u53ef\u4ee5\u53c2\u8003 MIT 18.01/18.02 \u548c MIT 18.06 \u7684\u8bfe\u7a0b Notes\u3002\u5047\u671f\u53ef\u4ee5\u901a\u8fc7 UCB CS61A \u6765\u5b66\u4e60 Python\u3002\u540c\u65f6\u505a\u5230\u4e0a\u9762\u7b2c\u4e00\u3001\u7b2c\u4e8c\u70b9\u8bf4\u7684\uff0c\u6ce8\u91cd\u597d\u7684\u7f16\u7a0b\u4e60\u60ef\u548c\u5b9e\u8df5\u80fd\u529b\u7684\u57f9\u517b\u3002\u5c31\u4e2a\u4eba\u7ecf\u9a8c\uff0c\u5927\u4e00\u7684\u6570\u5b66\u8bfe\u5b66\u5206\u5360\u6bd4\u76f8\u5f53\u5927\uff0c\u800c\u4e14\u6570\u5b66\u8003\u8bd5\u7684\u5185\u5bb9\u65b9\u5dee\u662f\u5f88\u5927\u7684\uff0c\u4e0d\u540c\u5b66\u6821\u4e0d\u540c\u8001\u5e08\u98ce\u683c\u8fe5\u5f02\uff0c\u81ea\u5b66\u4e5f\u8bb8\u80fd\u8ba9\u4f60\u9886\u609f\u6570\u5b66\u7684\u672c\u8d28\uff0c\u4f46\u672a\u5fc5\u80fd\u7ed9\u4f60\u4e00\u4e2a\u597d\u6210\u7ee9\u3002\u56e0\u6b64\u8003\u524d\u6700\u597d\u6709\u9488\u5bf9\u6027\u5730\u5237\u5f80\u5e74\u9898\uff0c\u5145\u5206\u5e94\u8bd5\u3002 \u5728\u5347\u5165\u5927\u4e8c\u4e4b\u540e\uff0c\u8ba1\u7b97\u673a\u65b9\u5411\u7684\u4e13\u4e1a\u8bfe\u5c06\u5c45\u591a\uff0c\u6b64\u65f6\u5927\u5bb6\u53ef\u4ee5\u5f7b\u5e95\u653e\u98de\u81ea\u6211\uff0c\u8fdb\u5165\u81ea\u5b66\u7684\u6bbf\u5802\u4e86\u3002\u5177\u4f53\u53ef\u4ee5\u53c2\u8003 \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \uff0c\u8fd9\u662f\u6211\u6839\u636e\u81ea\u5df1\u4e09\u5e74\u81ea\u5b66\u7ecf\u5386\u603b\u7ed3\u63d0\u70bc\u51fa\u6765\u7684\u5168\u5957\u6307\u5357\uff0c\u6bcf\u95e8\u8bfe\u7684\u7279\u70b9\u4ee5\u53ca\u4e3a\u4ec0\u4e48\u8981\u4e0a\u8fd9\u95e8\u8bfe\u6211\u90fd\u505a\u4e86\u7b80\u5355\u7684\u4ecb\u7ecd\u3002\u5bf9\u4e8e\u4f60\u8bfe\u8868\u4e0a\u7684\u6bcf\u4e2a\u8bfe\u7a0b\uff0c\u8fd9\u4efd\u89c4\u5212\u91cc\u5e94\u8be5\u90fd\u4f1a\u6709\u76f8\u5e94\u7684\u56fd\u5916\u8bfe\u7a0b\uff0c\u800c\u4e14\u5728\u8d28\u91cf\u4e0a\u6211\u76f8\u4fe1\u57fa\u672c\u662f\u5168\u65b9\u4f4d\u7684\u78be\u538b\u3002\u7531\u4e8e\u8ba1\u7b97\u673a\u65b9\u5411\u7684\u4e13\u4e1a\u77e5\u8bc6\u57fa\u672c\u662f\u4e00\u6837\u7684\uff0c\u800c\u4e14\u9ad8\u8d28\u91cf\u7684\u8bfe\u7a0b\u4f1a\u8ba9\u4f60\u4ece\u539f\u7406\u4e0a\u7406\u89e3\u77e5\u8bc6\u70b9\uff0c\u5bf9\u4e8e\u56fd\u5185\u5927\u591a\u7167\u672c\u5ba3\u79d1\u5f0f\u7684\u6559\u5b66\u6765\u8bf4\u57fa\u672c\u662f\u964d\u7ef4\u6253\u51fb\u3002\u4e00\u822c\u6765\u8bf4\u53ea\u8981\u8003\u524d\u5c06\u8001\u5e08\u201c\u8f9b\u82e6\u201d\u5ff5\u4e86\u4e00\u5b66\u671f\u7684 PPT \u62ff\u6765\u7a81\u51fb\u590d\u4e60\u4e24\u5929\uff0c\u53d6\u5f97\u4e00\u4e2a\u4e0d\u9519\u7684\u5377\u9762\u5206\u6570\u5e76\u4e0d\u56f0\u96be\u3002\u5982\u679c\u6709\u8bfe\u7a0b\u5927\u4f5c\u4e1a\uff0c\u5219\u53ef\u4ee5\u5c3d\u91cf\u5c06\u56fd\u5916\u8bfe\u7a0b\u7684 Lab \u6216\u8005 Project \u4fee\u6539\u4e00\u756a\u4ee5\u5e94\u4ed8\u8bfe\u5185\u7684\u9700\u8981\u3002\u6211\u5f53\u65f6\u4e0a\u64cd\u4f5c\u7cfb\u7edf\u8bfe\uff0c\u53d1\u73b0\u8001\u5e08\u8fd8\u7528\u7740\u65e9\u5df2\u88ab\u56fd\u5916\u5b66\u6821\u6dd8\u6c70\u7684\u8bfe\u7a0b\u5b9e\u9a8c\uff0c\u4fbf\u90ae\u4ef6\u8001\u5e08\u6362\u6210\u4e86\u81ea\u5df1\u6b63\u5728\u5b66\u4e60\u7684 MIT 6.S081 \u7684 xv6 Project\uff0c\u65b9\u4fbf\u81ea\u5b66\u7684\u540c\u65f6\u8fd8\u65e0\u610f\u95f4\u63a8\u52a8\u4e86\u8bfe\u7a0b\u6539\u9769\u3002\u603b\u4e4b\uff0c\u7075\u6d3b\u53d8\u901a\u662f\u7b2c\u4e00\u8981\u4e49\uff0c\u4f60\u7684\u76ee\u6807\u662f\u7528\u6700\u65b9\u4fbf\u3001\u6548\u7387\u6700\u9ad8\u7684\u65b9\u5f0f\u638c\u63e1\u77e5\u8bc6\uff0c\u6240\u6709\u4e0e\u4f60\u8fd9\u4e00\u76ee\u6807\u8fdd\u80cc\u7684\u6240\u8c13\u89c4\u5b9a\u90fd\u53ef\u4ee5\u60f3\u65b9\u8bbe\u6cd5\u5730\u53bb\u201c\u7cca\u5f04\u201d\u3002\u51ed\u7740\u8fd9\u4efd\u7cca\u5f04\u52b2\u513f\uff0c\u6211\u5927\u4e09\u4e4b\u540e\u57fa\u672c\u6ca1\u6709\u53bb\u8fc7\u7ebf\u4e0b\u8bfe\u5802\uff08\u5927\u4e8c\u75ab\u60c5\u5728\u5bb6\u5446\u4e86\u5927\u534a\u5e74\uff09\uff0c\u5bf9\u7ee9\u70b9\u4e5f\u5b8c\u5168\u6ca1\u6709\u5f71\u54cd\u3002 \u6700\u540e\uff0c\u5e0c\u671b\u5927\u5bb6\u5c11\u70b9\u6d6e\u8e81\u548c\u529f\u5229\uff0c\u591a\u4e00\u4e9b\u8010\u5fc3\u548c\u8ffd\u6c42\u3002\u5f88\u591a\u4eba\u53d1\u90ae\u4ef6\u95ee\u6211\u81ea\u5b66\u9700\u4e0d\u9700\u8981\u5f88\u5f3a\u7684\u81ea\u5236\u529b\uff0c\u6211\u89c9\u5f97\u5f97\u5173\u952e\u5f97\u770b\u4f60\u81ea\u5df1\u60f3\u8981\u4ec0\u4e48\u3002\u5982\u679c\u4f60\u4f9d\u7136\u62b1\u7740\u4f1a\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\u4fbf\u80fd\u6708\u85aa\u8fc7\u4e07\u7684\u5e7b\u60f3\uff0c\u60f3\u5206\u4e00\u676f\u4e92\u8054\u7f51\u7684\u7ea2\u5229\uff0c\u90a3\u4e48\u6211\u8bf4\u518d\u591a\u4e5f\u662f\u5e9f\u8bdd\u3002\u5176\u5b9e\u6211\u6700\u521d\u7684\u81ea\u5b66\u5e76\u6ca1\u6709\u592a\u591a\u529f\u5229\u7684\u60f3\u6cd5\uff0c\u53ea\u662f\u5355\u7eaf\u7684\u597d\u5947\u548c\u672c\u80fd\u7684\u6c42\u77e5\u6b32\u3002\u81ea\u5b66\u7684\u8fc7\u7a0b\u4e5f\u6ca1\u6709\u6240\u8c13\u7684\u201c\u5934\u60ac\u6881\uff0c\u9525\u523a\u80a1\u201d\uff0c\u8be5\u5403\u5403\uff0c\u8be5\u73a9\u73a9\uff0c\u4e0d\u77e5\u4e0d\u89c9\u624d\u53d1\u73b0\u7adf\u7136\u6512\u4e0b\u4e86\u8fd9\u4e48\u591a\u8d44\u6599\u3002\u73b0\u5982\u4eca\u4e2d\u7f8e\u7684\u5bf9\u6297\u5df2\u7136\u6210\u4e3a\u8d8b\u52bf\uff0c\u800c\u6211\u4eec\u8fd8\u5728\u201c\u5351\u5fae\u201d\u5730\u201c\u5e08\u5937\u957f\u6280\u201d\uff0c\u611f\u53f9\u56fd\u5916\u9ad8\u8d28\u91cf\u8bfe\u7a0b\u7684\u540c\u65f6\u4e5f\u65f6\u5e38\u4f1a\u6709\u4e00\u79cd\u5371\u673a\u611f\u3002\u8fd9\u4e00\u5207\u9760\u8c01\u6765\u6539\u53d8\u5462\uff1f\u9760\u7684\u662f\u521a\u521a\u5165\u884c\u7684\u4f60\u4eec\u3002\u6240\u4ee5\uff0c\u52a0\u6cb9\u5427\uff0c\u5c11\u5e74\uff01 \u5220\u7e41\u5c31\u7b80 \u5982\u679c\u4f60\u5df2\u7ecf\u672c\u79d1\u6bd5\u4e1a\u5f00\u59cb\u8bfb\u7814\u6216\u8005\u8d70\u4e0a\u4e86\u5de5\u4f5c\u5c97\u4f4d\uff0c\u4ea6\u6216\u662f\u4ece\u4e8b\u7740\u5176\u4ed6\u9886\u57df\u7684\u5de5\u4f5c\u60f3\u8981\u5229\u7528\u4e1a\u4f59\u65f6\u95f4\u8f6c\u7801\uff0c\u90a3\u4e48\u4f60\u4e5f\u8bb8\u5e76\u6ca1\u6709\u5145\u8db3\u7684\u4e1a\u4f59\u65f6\u95f4\u6765\u7cfb\u7edf\u5730\u5b66\u5b8c \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \u91cc\u7684\u5185\u5bb9\uff0c\u4f46\u53c8\u60f3\u5f25\u8865\u672c\u79d1\u65f6\u671f\u6b20\u4e0b\u7684\u57fa\u7840\u3002\u8003\u8651\u5230\u8fd9\u90e8\u5206\u8bfb\u8005\u901a\u5e38\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u7ecf\u9a8c\uff0c\u5165\u95e8\u8bfe\u7a0b\u6ca1\u6709\u5fc5\u8981\u518d\u91cd\u590d\u5b66\u4e60\u3002\u800c\u4e14\u4ece\u5b9e\u7528\u89d2\u5ea6\u6765\u8bf4\uff0c\u7531\u4e8e\u5de5\u4f5c\u7684\u5927\u4f53\u65b9\u5411\u5df2\u7ecf\u786e\u5b9a\uff0c\u786e\u5b9e\u6ca1\u6709\u592a\u5927\u5fc5\u8981\u5bf9\u4e8e\u6bcf\u4e2a\u8ba1\u7b97\u673a\u5206\u652f\u90fd\u6709\u7279\u522b\u6df1\u5165\u7684\u7814\u7a76\uff0c\u66f4\u5e94\u8be5\u4fa7\u91cd\u4e00\u4e9b\u901a\u7528\u6027\u7684\u539f\u5219\u548c\u6280\u80fd\u3002\u56e0\u6b64\u6211\u7ed3\u5408\u81ea\u8eab\u7ecf\u5386\uff0c\u9009\u53d6\u4e86\u4e2a\u4eba\u611f\u89c9\u6700\u91cd\u8981\u4e5f\u662f\u8d28\u91cf\u6700\u9ad8\u7684\u51e0\u95e8\u6838\u5fc3\u4e13\u4e1a\u8bfe\uff0c\u5e0c\u671b\u80fd\u66f4\u597d\u5730\u52a0\u6df1\u8bfb\u8005\u5bf9\u8ba1\u7b97\u673a\u7684\u7406\u89e3\u3002\u5b66\u5b8c\u8fd9\u4e9b\u8bfe\u7a0b\uff0c\u65e0\u8bba\u4f60\u5177\u4f53\u4ece\u4e8b\u7684\u662f\u4ec0\u4e48\u5de5\u4f5c\uff0c\u6211\u76f8\u4fe1\u4f60\u5c06\u4e0d\u53ef\u80fd\u6ca6\u4e3a\u4e00\u4e2a\u666e\u901a\u7684\u8c03\u5305\u4fa0\uff0c\u800c\u662f\u5bf9\u8ba1\u7b97\u673a\u7684\u5e95\u5c42\u8fd0\u884c\u903b\u8f91\u6709\u66f4\u6df1\u5165\u7684\u4e86\u89e3\u3002 \u8bfe\u7a0b\u65b9\u5411 \u8bfe\u7a0b\u540d \u79bb\u6563\u6570\u5b66\u548c\u6982\u7387\u8bba UCB CS70 : discrete Math and probability theory \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 Coursera: Algorithms I & II \u8f6f\u4ef6\u5de5\u7a0b MIT 6.031: Software Construction \u5168\u6808\u5f00\u53d1 MIT web development course \u8ba1\u7b97\u673a\u7cfb\u7edf\u5bfc\u8bba CMU CS15213: CSAPP \u4f53\u7cfb\u7ed3\u6784\u5165\u95e8 Coursera: Nand2Tetris \u4f53\u7cfb\u7ed3\u6784\u8fdb\u9636 CS61C: Great Ideas in Computer Architecture \u6570\u636e\u5e93\u539f\u7406 CMU 15-445: Introduction to Database System \u8ba1\u7b97\u673a\u7f51\u7edc Computer Networking: A Top-Down Approach \u4eba\u5de5\u667a\u80fd Harvard CS50: Introduction to AI with Python \u6df1\u5ea6\u5b66\u4e60 Coursera: Deep Learning \u5fc3\u6709\u6240\u5c5e \u5982\u679c\u4f60\u5bf9\u4e8e\u8ba1\u7b97\u673a\u9886\u57df\u7684\u6838\u5fc3\u4e13\u4e1a\u8bfe\u90fd\u638c\u63e1\u5f97\u76f8\u5f53\u624e\u5b9e\uff0c\u800c\u4e14\u5df2\u7ecf\u786e\u5b9a\u4e86\u81ea\u5df1\u7684\u5de5\u4f5c\u6216\u7814\u7a76\u65b9\u5411\uff0c\u90a3\u4e48\u4e66\u4e2d\u8fd8\u6709\u5f88\u591a\u672a\u5728 \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \u63d0\u5230\u7684\u8bfe\u7a0b\u4f9b\u4f60\u63a2\u7d22\u3002 \u968f\u7740\u8d21\u732e\u8005\u7684\u4e0d\u65ad\u589e\u591a\uff0c\u5de6\u4fa7\u7684\u76ee\u5f55\u4e2d\u5c06\u4e0d\u65ad\u589e\u52a0\u65b0\u7684\u5206\u652f\uff0c\u4f8b\u5982 \u673a\u5668\u5b66\u4e60\u8fdb\u9636 \u548c \u673a\u5668\u5b66\u4e60\u7cfb\u7edf \u3002\u5e76\u4e14\u540c\u4e00\u4e2a\u5206\u652f\u4e0b\u90fd\u6709\u82e5\u5e72\u540c\u7c7b\u578b\u8bfe\u7a0b\uff0c\u5b83\u4eec\u6765\u81ea\u4e0d\u540c\u7684\u5b66\u6821\uff0c\u6709\u7740\u4e0d\u540c\u7684\u4fa7\u91cd\u70b9\u548c\u8bfe\u7a0b\u5b9e\u9a8c\uff0c\u4f8b\u5982 \u64cd\u4f5c\u7cfb\u7edf \u5206\u652f\u4e0b\u5c31\u5305\u542b\u4e86\u9ebb\u7701\u7406\u5de5\u3001\u4f2f\u514b\u5229\u8fd8\u6709\u5357\u4eac\u5927\u5b66\u4e09\u4e2a\u5b66\u6821\u7684\u8bfe\u7a0b\u3002\u5982\u679c\u4f60\u60f3\u6df1\u8015\u4e00\u4e2a\u9886\u57df\uff0c\u90a3\u4e48\u5b66\u4e60\u8fd9\u4e9b\u540c\u7c7b\u7684\u8bfe\u7a0b\u4f1a\u7ed9\u4f60\u4e0d\u540c\u7684\u89d2\u5ea6\u6765\u770b\u5f85\u7c7b\u4f3c\u7684\u77e5\u8bc6\u3002\u540c\u65f6\uff0c\u672c\u4e66\u4f5c\u8005\u8fd8\u8ba1\u5212\u8054\u7cfb\u4e00\u4e9b\u76f8\u5173\u9886\u57df\u7684\u79d1\u7814\u5de5\u4f5c\u8005\u6765\u5206\u4eab\u67d0\u4e2a\u7ec6\u5206\u9886\u57df\u7684\u79d1\u7814\u5b66\u4e60\u8def\u5f84\uff0c\u8ba9 CS\u81ea\u5b66\u6307\u5357 \u5728\u8ffd\u6c42\u5e7f\u5ea6\u7684\u540c\u65f6\uff0c\u5b9e\u73b0\u6df1\u5ea6\u4e0a\u7684\u63d0\u9ad8\u3002 \u5982\u679c\u4f60\u60f3\u8d21\u732e\u8fd9\u65b9\u9762\u7684\u5185\u5bb9\uff0c\u6b22\u8fce\u548c\u4f5c\u8005\u90ae\u4ef6\u8054\u7cfb zhongyinmin@pku.edu.cn","title":"How To Use The Book"},{"location":"en/%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/#_1","text":"\u968f\u7740\u8d21\u732e\u8005\u7684\u4e0d\u65ad\u589e\u591a\uff0c\u672c\u4e66\u7684\u5185\u5bb9\u4e5f\u4e0d\u65ad\u6269\u5c55\uff0c\u60f3\u628a\u4e66\u4e2d\u6240\u6709\u7684\u8bfe\u7a0b\u5168\u90e8\u5b66\u5b8c\u662f\u4e0d\u5207\u5b9e\u9645\u4e5f\u6ca1\u6709\u5fc5\u8981\u7684\uff0c\u751a\u81f3\u4f1a\u8d77\u5230\u4e8b\u500d\u529f\u534a\u7684\u53cd\u6548\u679c\uff0c\u5403\u529b\u800c\u4e0d\u8ba8\u597d\u3002\u4e3a\u4e86\u66f4\u597d\u5730\u8d34\u5408\u8bfb\u8005\uff0c\u8ba9\u8fd9\u672c\u4e66\u771f\u6b63\u4e3a\u4f60\u6240\u7528\uff0c\u6211\u5c06\u8bfb\u8005\u6309\u7167\u9700\u6c42\u5927\u81f4\u5206\u4e3a\u4e86\u5982\u4e0b\u4e09\u7c7b\uff0c\u5927\u5bb6\u53ef\u4ee5\u7ed3\u5408\u5207\u8eab\u5b9e\u9645\uff0c\u7cbe\u51c6\u5730\u89c4\u5212\u5c5e\u4e8e\u81ea\u5df1\u7684\u81ea\u5b66\u65b9\u6848\u3002","title":"\u5982\u4f55\u4f7f\u7528\u8fd9\u672c\u4e66"},{"location":"en/%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/#_2","text":"\u5982\u679c\u4f60\u521a\u521a\u8fdb\u5165\u5927\u5b66\u6821\u56ed\u6216\u8005\u8fd8\u5728\u4f4e\u5e74\u7ea7\uff0c\u5e76\u4e14\u5c31\u8bfb\u7684\u662f\u8ba1\u7b97\u673a\u65b9\u5411\u6216\u8005\u60f3\u8981\u8f6c\u5230\u8ba1\u7b97\u673a\u65b9\u5411\uff0c\u90a3\u4e48\u4f60\u5f88\u5e78\u8fd0\uff0c\u56e0\u4e3a\u5b66\u4e60\u662f\u4f60\u7684\u672c\u4e1a\uff0c\u4f60\u53ef\u4ee5\u6709\u5145\u8db3\u7684\u65f6\u95f4\u548c\u81ea\u7531\u6765\u5b66\u4e60\u81ea\u5df1\u611f\u5174\u8da3\u7684\u4e1c\u897f\uff0c\u4e0d\u4f1a\u6709\u5de5\u4f5c\u7684\u538b\u529b\u548c\u751f\u6d3b\u7684\u7410\u788e\uff0c\u4e0d\u5fc5\u8fc7\u4e8e\u7ea0\u7ed3\u201c\u5b66\u4e86\u6709\u6ca1\u6709\u7528\u201d\uff0c\u201c\u80fd\u4e0d\u80fd\u627e\u5230\u5de5\u4f5c\u201d\u8fd9\u7c7b\u529f\u5229\u7684\u60f3\u6cd5\u3002\u90a3\u4e48\u8be5\u5982\u4f55\u5b89\u6392\u81ea\u5df1\u7684\u5b66\u4e1a\u5462\uff1f\u6211\u89c9\u5f97\u9996\u8981\u7684\u4e00\u70b9\u5c31\u662f\u8981\u6253\u7834\u5728\u9ad8\u4e2d\u5f62\u6210\u7684\u201c\u6309\u90e8\u5c31\u73ed\u201d\u5f0f\u7684\u88ab\u52a8\u5b66\u4e60\u3002\u4f5c\u4e3a\u4e00\u4e2a\u5c0f\u9547\u505a\u9898\u5bb6\uff0c\u6211\u6df1\u77e5\u56fd\u5185\u5927\u90e8\u5206\u9ad8\u4e2d\u4f1a\u628a\u5927\u5bb6\u4e00\u5929\u5f53\u4e2d\u7684\u6bcf\u4e00\u5206\u949f\u90fd\u5b89\u6392\u5f97\u6ee1\u6ee1\u5f53\u5f53\uff0c\u4f60\u53ea\u9700\u8981\u88ab\u52a8\u5730\u8ddf\u7740\u8bfe\u8868\u6309\u90e8\u5c31\u73ed\u5730\u5b8c\u6210\u4e00\u4e2a\u4e2a\u65e2\u5b9a\u7684\u4efb\u52a1\u3002\u53ea\u8981\u8db3\u591f\u8ba4\u771f\uff0c\u7ed3\u679c\u90fd\u4e0d\u4f1a\u592a\u5dee\u3002\u4f46\u6b65\u5165\u5927\u5b66\u7684\u6821\u95e8\uff0c\u81ea\u7531\u5ea6\u4e00\u4e0b\u5b50\u53d8\u5927\u4e86\u8bb8\u591a\u3002\u9996\u5148\u6240\u6709\u7684\u8bfe\u5916\u65f6\u95f4\u57fa\u672c\u90fd\u7531\u4f60\u81ea\u7531\u652f\u914d\uff0c\u6ca1\u6709\u4eba\u4e3a\u4f60\u6574\u7406\u77e5\u8bc6\u70b9\uff0c\u603b\u7ed3\u63d0\u7eb2\uff0c\u8003\u8bd5\u4e5f\u4e0d\u50cf\u9ad8\u4e2d\u90a3\u822c\u6a21\u5f0f\u5316\u3002\u5982\u679c\u4f60\u8fd8\u62b1\u7740\u9ad8\u4e2d\u90a3\u79cd\u201c\u4e56\u5b66\u751f\u201d\u7684\u5fc3\u6001\uff0c\u8001\u8001\u5b9e\u5b9e\u6309\u90e8\u5c31\u73ed\uff0c\u7ed3\u679c\u672a\u5fc5\u5982\u4f60\u6240\u613f\u3002\u56e0\u4e3a\u4e13\u4e1a\u57f9\u517b\u65b9\u6848\u672a\u5fc5\u5c31\u662f\u5408\u7406\uff0c\u8001\u5e08\u7684\u6559\u5b66\u672a\u5fc5\u5c31\u4f1a\u8d1f\u8d23\uff0c\u8ba4\u771f\u51fa\u5e2d\u8bfe\u5802\u672a\u5fc5\u5c31\u80fd\u542c\u61c2\uff0c\u751a\u81f3\u8003\u8bd5\u5185\u5bb9\u672a\u5fc5\u5c31\u548c\u8bb2\u7684\u6709\u5173\u7cfb\u3002\u8bf4\u53e5\u73a9\u7b11\u8bdd\uff0c\u4f60\u6216\u8bb8\u4f1a\u89c9\u5f97\u5168\u4e16\u754c\u90fd\u4e0e\u4f60\u4e3a\u654c\uff0c\u800c\u4f60\u53ea\u80fd\u6307\u671b\u81ea\u5df1\u3002 \u90a3\u4e48\u73b0\u72b6\u5c31\u662f\u8fd9\u4e48\u4e2a\u73b0\u72b6\uff0c\u4f60\u60f3\u6539\u53d8\uff0c\u4e5f\u5f97\u5148\u6d3b\u8fc7\u53bb\uff0c\u5e76\u4e14\u62e5\u6709\u8db3\u591f\u7684\u80fd\u529b\u53bb\u8d28\u7591\u5b83\u3002\u800c\u5728\u4f4e\u5e74\u7ea7\uff0c\u6253\u597d\u57fa\u7840\u5f88\u91cd\u8981\u3002\u8fd9\u91cc\u7684\u57fa\u7840\u662f\u5168\u65b9\u9762\u7684\uff0c\u8bfe\u5185\u7684\u77e5\u8bc6\u56fa\u7136\u91cd\u8981\uff0c\u4f46\u8ba1\u7b97\u673a\u5f88\u5927\u7a0b\u5ea6\u4e0a\u8fd8\u662f\u5f3a\u8c03\u5b9e\u8df5\uff0c\u56e0\u6b64\u6709\u5f88\u591a\u8bfe\u672c\u5916\u7684\u80fd\u529b\u9700\u8981\u57f9\u517b\uff0c\u800c\u8fd9\u6070\u6070\u662f\u56fd\u5185\u7684\u8ba1\u7b97\u673a\u672c\u79d1\u6559\u80b2\u5f88\u6b20\u7f3a\u7684\u4e00\u70b9\u3002\u6211\u6839\u636e\u4e2a\u4eba\u7684\u4f53\u9a8c\u603b\u7ed3\u51fa\u4e86\u4e0b\u9762\u51e0\u70b9\u5efa\u8bae\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u5176\u4e00\u5c31\u662f\u4e86\u89e3\u5982\u4f55\u5199\u201c\u4f18\u96c5\u201d\u7684\u4ee3\u7801\u3002\u56fd\u5185\u7684\u5f88\u591a\u5927\u4e00\u7f16\u7a0b\u5165\u95e8\u8bfe\u90fd\u4f1a\u8bb2\u6210\u6781\u5176\u65e0\u804a\u7684\u8bed\u6cd5\u8bfe\uff0c\u5176\u6548\u679c\u8fd8\u4e0d\u5982\u76f4\u63a5\u8ba9\u5b66\u751f\u770b\u5b98\u65b9\u6587\u6863\u3002\u4e8b\u5b9e\u4e0a\uff0c\u5728\u521a\u5f00\u59cb\u63a5\u89e6\u7f16\u7a0b\u7684\u65f6\u5019\uff0c\u8ba9\u5b66\u751f\u8bd5\u7740\u53bb\u4e86\u89e3\u4ec0\u4e48\u6837\u7684\u4ee3\u7801\u662f\u4f18\u96c5\u7684\uff0c\u4ec0\u4e48\u6837\u7684\u4ee3\u7801 \"have bad taste\" \u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u4e00\u822c\u6765\u8bf4\uff0c\u7f16\u7a0b\u5165\u95e8\u8bfe\u4f1a\u5148\u4ecb\u7ecd\u8fc7\u7a0b\u5f0f\u7f16\u7a0b\uff08\u4f8b\u5982 C \u8bed\u8a00\uff09\u3002\u4f46\u5373\u4fbf\u662f\u9762\u5411\u8fc7\u7a0b\u7f16\u7a0b\uff0c \u6a21\u5757\u5316 \u548c \u5c01\u88c5 \u7684\u601d\u60f3\u4e5f\u6781\u5176\u91cd\u8981\u3002\u5982\u679c\u4f60\u53ea\u60f3\u7740\u4ee3\u7801\u80fd\u5728 OpenJudge \u4e0a\u901a\u8fc7\uff0c\u5199\u7684\u65f6\u5019\u56fe\u7701\u4e8b\uff0c\u7528\u5927\u6bb5\u7684\u590d\u5236\u7c98\u8d34\u548c\u81c3\u80bf\u7684 main \u51fd\u6570\uff0c\u957f\u6b64\u4ee5\u5f80\uff0c\u4f60\u7684\u4ee3\u7801\u8d28\u91cf\u5c06\u4e00\u76f4\u5982\u6b64\u3002\u4e00\u65e6\u63a5\u89e6\u7a0d\u5fae\u5927\u4e00\u70b9\u7684\u9879\u76ee\uff0c\u65e0\u5c3d\u7684 debug \u548c\u6c9f\u901a\u7ef4\u62a4\u6210\u672c\u5c06\u628a\u4f60\u541e\u6ca1\u3002\u56e0\u6b64\uff0c\u5199\u4ee3\u7801\u65f6\u4e0d\u65ad\u95ee\u81ea\u5df1\uff0c\u662f\u5426\u6709\u5927\u91cf\u91cd\u590d\u7684\u4ee3\u7801\uff1f\u5f53\u524d\u51fd\u6570\u662f\u5426\u8fc7\u4e8e\u590d\u6742\uff08Linux \u63d0\u5021\u6bcf\u4e2a\u51fd\u6570\u53ea\u9700\u8981\u505a\u597d\u4e00\u4ef6\u4e8b\uff09\uff1f\u8fd9\u6bb5\u4ee3\u7801\u80fd\u62bd\u8c61\u6210\u4e00\u4e2a\u51fd\u6570\u5417\uff1f\u4e00\u5f00\u59cb\u4f60\u53ef\u80fd\u89c9\u5f97\u5f88\u4e0d\u4e60\u60ef\uff0c\u751a\u81f3\u89c9\u5f97\u8fd9\u4e48\u7b80\u5355\u7684\u9898\u9700\u8981\u5982\u6b64\u5927\u8d39\u5468\u7ae0\u5417\uff1f\u4f46\u8bb0\u4f4f\u597d\u7684\u4e60\u60ef\u662f\u65e0\u4ef7\u7684\uff0cC \u8bed\u8a00\u521d\u4e2d\u751f\u90fd\u80fd\u5b66\u4f1a\uff0c\u51ed\u4ec0\u4e48\u516c\u53f8\u8981\u62db\u4f60\u53bb\u5f53\u7a0b\u5e8f\u5458\u5462\uff1f \u5b66\u8fc7\u9762\u5411\u8fc7\u7a0b\u7f16\u7a0b\u540e\uff0c\u5927\u4e00\u4e0b\u5b66\u671f\u4e00\u822c\u4f1a\u8bb2\u9762\u5411\u5bf9\u8c61\u7f16\u7a0b\uff08\u4f8b\u5982 C++ \u6216 Java\uff09\u3002\u8fd9\u91cc\u975e\u5e38\u63a8\u8350\u5927\u5bb6\u770b MIT 6.031: Software Construction \u8fd9\u95e8\u8bfe\u7684 Notes\uff0c\u4f1a\u4ee5 Java \u8bed\u8a00\u4e3a\u4f8b\u975e\u5e38\u8be6\u7ec6\u5730\u8bb2\u89e3\u5982\u4f55\u5199\u51fa\u201c\u4f18\u96c5\u201d\u7684\u4ee3\u7801\u3002\u4f8b\u5982 Test-Driven \u7684\u5f00\u53d1\u3001\u51fd\u6570 Specification \u7684\u8bbe\u8ba1\u3001\u5f02\u5e38\u7684\u5904\u7406\u7b49\u7b49\u7b49\u7b49\u3002\u9664\u6b64\u4e4b\u5916\uff0c\u65e2\u7136\u63a5\u89e6\u4e86\u9762\u5411\u5bf9\u8c61\uff0c\u90a3\u4e48\u4e86\u89e3\u4e00\u4e9b\u5e38\u89c1\u7684\u8bbe\u8ba1\u6a21\u5f0f\u4e5f\u662f\u5f88\u6709\u5fc5\u8981\u7684\u3002\u56e0\u4e3a\u56fd\u5185\u7684\u9762\u5411\u5bf9\u8c61\u8bfe\u7a0b\u540c\u6837\u5f88\u5bb9\u6613\u53d8\u6210\u6781\u5176\u65e0\u804a\u7684\u8bed\u6cd5\u8bfe\uff0c\u8ba9\u5b66\u751f\u7ea0\u7ed3\u4e8e\u5404\u79cd\u7ee7\u627f\u7684\u8bed\u6cd5\uff0c\u751a\u81f3\u51fa\u4e00\u4e9b\u65e0\u804a\u7684\u8111\u7b4b\u6025\u8f6c\u5f2f\u4e00\u6837\u7684\u9898\u76ee\uff0c\u6b8a\u4e0d\u77e5\u8fd9\u4e9b\u4e1c\u897f\u5728\u5730\u7403\u4eba\u7684\u5f00\u53d1\u4e2d\u57fa\u672c\u4e0d\u4f1a\u7528\u5230\u3002\u9762\u5411\u5bf9\u8c61\u7684\u7cbe\u9ad3\u662f\u8ba9\u5b66\u751f\u5b66\u4f1a\u81ea\u5df1\u5c06\u5b9e\u9645\u7684\u95ee\u9898\u62bd\u8c61\u6210\u82e5\u5e72\u7c7b\u548c\u5b83\u4eec\u4e4b\u95f4\u7684\u5173\u7cfb\uff0c\u800c\u8bbe\u8ba1\u6a21\u5f0f\u5219\u662f\u524d\u4eba\u603b\u7ed3\u51fa\u6765\u7684\u4e00\u4e9b\u7cbe\u9ad3\u7684\u62bd\u8c61\u65b9\u6cd5\u3002\u8fd9\u91cc\u63a8\u8350 \u5927\u8bdd\u8bbe\u8ba1\u6a21\u5f0f \u8fd9\u672c\u4e66\uff0c\u5199\u5f97\u975e\u5e38\u6d45\u663e\u6613\u61c2\u3002 \u5176\u4e8c\u5c31\u662f\u5c1d\u8bd5\u5b66\u4e60\u4e00\u4e9b\u80fd\u63d0\u9ad8\u751f\u4ea7\u529b\u7684\u5de5\u5177\u548c\u6280\u80fd\uff0c\u4f8b\u5982 Git\u3001Shell\u3001Vim\u3002\u8fd9\u91cc\u5f3a\u70c8\u63a8\u8350\u5b66\u4e60 MIT missing semester \u8fd9\u95e8\u8bfe\uff0c\u4e5f\u8bb8\u4e00\u5f00\u59cb\u63a5\u89e6\u8fd9\u4e9b\u5de5\u5177\u7528\u8d77\u6765\u4f1a\u5f88\u4e0d\u4e60\u60ef\uff0c\u4f46\u5f3a\u8feb\u81ea\u5df1\u7528\uff0c\u719f\u7ec3\u4e4b\u540e\u5f00\u53d1\u6548\u7387\u4f1a\u76f4\u7ebf\u63d0\u9ad8\u3002\u6b64\u5916\uff0c\u8fd8\u6709\u5f88\u591a\u5e94\u7528\u4e5f\u80fd\u6781\u5927\u63d0\u9ad8\u7684\u4f60\u751f\u4ea7\u529b\u3002\u4e00\u6761\u5b9a\u5f8b\u662f\uff1a\u4e00\u5207\u9700\u8981\u8ba9\u624b\u79bb\u5f00\u952e\u76d8\u7684\u64cd\u4f5c\uff0c\u90fd\u5e94\u8be5\u60f3\u529e\u6cd5\u53bb\u9664\u3002\u4f8b\u5982\u5207\u6362\u5e94\u7528\u3001\u6253\u5f00\u6587\u4ef6\u3001\u6d4f\u89c8\u7f51\u9875\u8fd9\u4e9b\u90fd\u6709\u76f8\u5173\u63d2\u4ef6\u53ef\u4ee5\u5b9e\u73b0\u5feb\u6377\u64cd\u4f5c\uff08\u4f8b\u5982 Mac \u4e0a\u7684 Alfred \uff09\u3002\u5982\u679c\u4f60\u53d1\u73b0\u67d0\u4e2a\u64cd\u4f5c\u6bcf\u5929\u90fd\u4f1a\u7528\u5230\uff0c\u5e76\u4e14\u7528\u65f6\u8d85\u8fc71\u79d2\uff0c\u90a3\u5c31\u5e94\u8be5\u60f3\u529e\u6cd5\u628a\u5b83\u7f29\u51cf\u52300.1\u79d2\u3002\u6bd5\u7adf\u4ee5\u540e\u6570\u5341\u5e74\u4f60\u90fd\u8981\u548c\u7535\u8111\u6253\u4ea4\u9053\uff0c\u5f62\u6210\u4e00\u5957\u987a\u6ed1\u7684\u5de5\u4f5c\u6d41\u662f\u4e8b\u534a\u529f\u500d\u7684\u3002\u6700\u540e\uff0c\u5b66\u4f1a\u76f2\u6253\uff01\u5982\u679c\u4f60\u8fd8\u9700\u8981\u770b\u7740\u952e\u76d8\u6253\u5b57\uff0c\u90a3\u4e48\u8d76\u7d27\u4e0a\u7f51\u627e\u4e2a\u6559\u7a0b\u5b66\u4f1a\u76f2\u6253\uff0c\u8fd9\u5c06\u6781\u5927\u63d0\u9ad8\u4f60\u7684\u5f00\u53d1\u6548\u7387\u3002 \u5176\u4e09\u5c31\u662f\u5e73\u8861\u597d\u8bfe\u5185\u548c\u81ea\u5b66\u3002\u6211\u4eec\u8d28\u7591\u73b0\u72b6\uff0c\u4f46\u4e5f\u5f97\u9075\u5b88\u89c4\u5219\uff0c\u6bd5\u7adf\u7ee9\u70b9\u5728\u4fdd\u7814\u4e2d\u8fd8\u662f\u76f8\u5f53\u91cd\u8981\u7684\u3002\u56e0\u6b64\u5728\u5927\u4e00\uff0c\u6211\u8fd8\u662f\u5efa\u8bae\u5927\u5bb6\u5c3d\u91cf\u6309\u7167\u81ea\u5df1\u7684\u8bfe\u8868\u5b66\u4e60\uff0c\u4f46\u8f85\u4ee5\u4e00\u4e9b\u4f18\u8d28\u7684\u8bfe\u5916\u8d44\u6e90\u3002\u4f8b\u5982\u5fae\u79ef\u5206\u7ebf\u4ee3\u53ef\u4ee5\u53c2\u8003 MIT 18.01/18.02 \u548c MIT 18.06 \u7684\u8bfe\u7a0b Notes\u3002\u5047\u671f\u53ef\u4ee5\u901a\u8fc7 UCB CS61A \u6765\u5b66\u4e60 Python\u3002\u540c\u65f6\u505a\u5230\u4e0a\u9762\u7b2c\u4e00\u3001\u7b2c\u4e8c\u70b9\u8bf4\u7684\uff0c\u6ce8\u91cd\u597d\u7684\u7f16\u7a0b\u4e60\u60ef\u548c\u5b9e\u8df5\u80fd\u529b\u7684\u57f9\u517b\u3002\u5c31\u4e2a\u4eba\u7ecf\u9a8c\uff0c\u5927\u4e00\u7684\u6570\u5b66\u8bfe\u5b66\u5206\u5360\u6bd4\u76f8\u5f53\u5927\uff0c\u800c\u4e14\u6570\u5b66\u8003\u8bd5\u7684\u5185\u5bb9\u65b9\u5dee\u662f\u5f88\u5927\u7684\uff0c\u4e0d\u540c\u5b66\u6821\u4e0d\u540c\u8001\u5e08\u98ce\u683c\u8fe5\u5f02\uff0c\u81ea\u5b66\u4e5f\u8bb8\u80fd\u8ba9\u4f60\u9886\u609f\u6570\u5b66\u7684\u672c\u8d28\uff0c\u4f46\u672a\u5fc5\u80fd\u7ed9\u4f60\u4e00\u4e2a\u597d\u6210\u7ee9\u3002\u56e0\u6b64\u8003\u524d\u6700\u597d\u6709\u9488\u5bf9\u6027\u5730\u5237\u5f80\u5e74\u9898\uff0c\u5145\u5206\u5e94\u8bd5\u3002 \u5728\u5347\u5165\u5927\u4e8c\u4e4b\u540e\uff0c\u8ba1\u7b97\u673a\u65b9\u5411\u7684\u4e13\u4e1a\u8bfe\u5c06\u5c45\u591a\uff0c\u6b64\u65f6\u5927\u5bb6\u53ef\u4ee5\u5f7b\u5e95\u653e\u98de\u81ea\u6211\uff0c\u8fdb\u5165\u81ea\u5b66\u7684\u6bbf\u5802\u4e86\u3002\u5177\u4f53\u53ef\u4ee5\u53c2\u8003 \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \uff0c\u8fd9\u662f\u6211\u6839\u636e\u81ea\u5df1\u4e09\u5e74\u81ea\u5b66\u7ecf\u5386\u603b\u7ed3\u63d0\u70bc\u51fa\u6765\u7684\u5168\u5957\u6307\u5357\uff0c\u6bcf\u95e8\u8bfe\u7684\u7279\u70b9\u4ee5\u53ca\u4e3a\u4ec0\u4e48\u8981\u4e0a\u8fd9\u95e8\u8bfe\u6211\u90fd\u505a\u4e86\u7b80\u5355\u7684\u4ecb\u7ecd\u3002\u5bf9\u4e8e\u4f60\u8bfe\u8868\u4e0a\u7684\u6bcf\u4e2a\u8bfe\u7a0b\uff0c\u8fd9\u4efd\u89c4\u5212\u91cc\u5e94\u8be5\u90fd\u4f1a\u6709\u76f8\u5e94\u7684\u56fd\u5916\u8bfe\u7a0b\uff0c\u800c\u4e14\u5728\u8d28\u91cf\u4e0a\u6211\u76f8\u4fe1\u57fa\u672c\u662f\u5168\u65b9\u4f4d\u7684\u78be\u538b\u3002\u7531\u4e8e\u8ba1\u7b97\u673a\u65b9\u5411\u7684\u4e13\u4e1a\u77e5\u8bc6\u57fa\u672c\u662f\u4e00\u6837\u7684\uff0c\u800c\u4e14\u9ad8\u8d28\u91cf\u7684\u8bfe\u7a0b\u4f1a\u8ba9\u4f60\u4ece\u539f\u7406\u4e0a\u7406\u89e3\u77e5\u8bc6\u70b9\uff0c\u5bf9\u4e8e\u56fd\u5185\u5927\u591a\u7167\u672c\u5ba3\u79d1\u5f0f\u7684\u6559\u5b66\u6765\u8bf4\u57fa\u672c\u662f\u964d\u7ef4\u6253\u51fb\u3002\u4e00\u822c\u6765\u8bf4\u53ea\u8981\u8003\u524d\u5c06\u8001\u5e08\u201c\u8f9b\u82e6\u201d\u5ff5\u4e86\u4e00\u5b66\u671f\u7684 PPT \u62ff\u6765\u7a81\u51fb\u590d\u4e60\u4e24\u5929\uff0c\u53d6\u5f97\u4e00\u4e2a\u4e0d\u9519\u7684\u5377\u9762\u5206\u6570\u5e76\u4e0d\u56f0\u96be\u3002\u5982\u679c\u6709\u8bfe\u7a0b\u5927\u4f5c\u4e1a\uff0c\u5219\u53ef\u4ee5\u5c3d\u91cf\u5c06\u56fd\u5916\u8bfe\u7a0b\u7684 Lab \u6216\u8005 Project \u4fee\u6539\u4e00\u756a\u4ee5\u5e94\u4ed8\u8bfe\u5185\u7684\u9700\u8981\u3002\u6211\u5f53\u65f6\u4e0a\u64cd\u4f5c\u7cfb\u7edf\u8bfe\uff0c\u53d1\u73b0\u8001\u5e08\u8fd8\u7528\u7740\u65e9\u5df2\u88ab\u56fd\u5916\u5b66\u6821\u6dd8\u6c70\u7684\u8bfe\u7a0b\u5b9e\u9a8c\uff0c\u4fbf\u90ae\u4ef6\u8001\u5e08\u6362\u6210\u4e86\u81ea\u5df1\u6b63\u5728\u5b66\u4e60\u7684 MIT 6.S081 \u7684 xv6 Project\uff0c\u65b9\u4fbf\u81ea\u5b66\u7684\u540c\u65f6\u8fd8\u65e0\u610f\u95f4\u63a8\u52a8\u4e86\u8bfe\u7a0b\u6539\u9769\u3002\u603b\u4e4b\uff0c\u7075\u6d3b\u53d8\u901a\u662f\u7b2c\u4e00\u8981\u4e49\uff0c\u4f60\u7684\u76ee\u6807\u662f\u7528\u6700\u65b9\u4fbf\u3001\u6548\u7387\u6700\u9ad8\u7684\u65b9\u5f0f\u638c\u63e1\u77e5\u8bc6\uff0c\u6240\u6709\u4e0e\u4f60\u8fd9\u4e00\u76ee\u6807\u8fdd\u80cc\u7684\u6240\u8c13\u89c4\u5b9a\u90fd\u53ef\u4ee5\u60f3\u65b9\u8bbe\u6cd5\u5730\u53bb\u201c\u7cca\u5f04\u201d\u3002\u51ed\u7740\u8fd9\u4efd\u7cca\u5f04\u52b2\u513f\uff0c\u6211\u5927\u4e09\u4e4b\u540e\u57fa\u672c\u6ca1\u6709\u53bb\u8fc7\u7ebf\u4e0b\u8bfe\u5802\uff08\u5927\u4e8c\u75ab\u60c5\u5728\u5bb6\u5446\u4e86\u5927\u534a\u5e74\uff09\uff0c\u5bf9\u7ee9\u70b9\u4e5f\u5b8c\u5168\u6ca1\u6709\u5f71\u54cd\u3002 \u6700\u540e\uff0c\u5e0c\u671b\u5927\u5bb6\u5c11\u70b9\u6d6e\u8e81\u548c\u529f\u5229\uff0c\u591a\u4e00\u4e9b\u8010\u5fc3\u548c\u8ffd\u6c42\u3002\u5f88\u591a\u4eba\u53d1\u90ae\u4ef6\u95ee\u6211\u81ea\u5b66\u9700\u4e0d\u9700\u8981\u5f88\u5f3a\u7684\u81ea\u5236\u529b\uff0c\u6211\u89c9\u5f97\u5f97\u5173\u952e\u5f97\u770b\u4f60\u81ea\u5df1\u60f3\u8981\u4ec0\u4e48\u3002\u5982\u679c\u4f60\u4f9d\u7136\u62b1\u7740\u4f1a\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\u4fbf\u80fd\u6708\u85aa\u8fc7\u4e07\u7684\u5e7b\u60f3\uff0c\u60f3\u5206\u4e00\u676f\u4e92\u8054\u7f51\u7684\u7ea2\u5229\uff0c\u90a3\u4e48\u6211\u8bf4\u518d\u591a\u4e5f\u662f\u5e9f\u8bdd\u3002\u5176\u5b9e\u6211\u6700\u521d\u7684\u81ea\u5b66\u5e76\u6ca1\u6709\u592a\u591a\u529f\u5229\u7684\u60f3\u6cd5\uff0c\u53ea\u662f\u5355\u7eaf\u7684\u597d\u5947\u548c\u672c\u80fd\u7684\u6c42\u77e5\u6b32\u3002\u81ea\u5b66\u7684\u8fc7\u7a0b\u4e5f\u6ca1\u6709\u6240\u8c13\u7684\u201c\u5934\u60ac\u6881\uff0c\u9525\u523a\u80a1\u201d\uff0c\u8be5\u5403\u5403\uff0c\u8be5\u73a9\u73a9\uff0c\u4e0d\u77e5\u4e0d\u89c9\u624d\u53d1\u73b0\u7adf\u7136\u6512\u4e0b\u4e86\u8fd9\u4e48\u591a\u8d44\u6599\u3002\u73b0\u5982\u4eca\u4e2d\u7f8e\u7684\u5bf9\u6297\u5df2\u7136\u6210\u4e3a\u8d8b\u52bf\uff0c\u800c\u6211\u4eec\u8fd8\u5728\u201c\u5351\u5fae\u201d\u5730\u201c\u5e08\u5937\u957f\u6280\u201d\uff0c\u611f\u53f9\u56fd\u5916\u9ad8\u8d28\u91cf\u8bfe\u7a0b\u7684\u540c\u65f6\u4e5f\u65f6\u5e38\u4f1a\u6709\u4e00\u79cd\u5371\u673a\u611f\u3002\u8fd9\u4e00\u5207\u9760\u8c01\u6765\u6539\u53d8\u5462\uff1f\u9760\u7684\u662f\u521a\u521a\u5165\u884c\u7684\u4f60\u4eec\u3002\u6240\u4ee5\uff0c\u52a0\u6cb9\u5427\uff0c\u5c11\u5e74\uff01","title":"\u521d\u5165\u6821\u56ed"},{"location":"en/%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/#_3","text":"\u5982\u679c\u4f60\u5df2\u7ecf\u672c\u79d1\u6bd5\u4e1a\u5f00\u59cb\u8bfb\u7814\u6216\u8005\u8d70\u4e0a\u4e86\u5de5\u4f5c\u5c97\u4f4d\uff0c\u4ea6\u6216\u662f\u4ece\u4e8b\u7740\u5176\u4ed6\u9886\u57df\u7684\u5de5\u4f5c\u60f3\u8981\u5229\u7528\u4e1a\u4f59\u65f6\u95f4\u8f6c\u7801\uff0c\u90a3\u4e48\u4f60\u4e5f\u8bb8\u5e76\u6ca1\u6709\u5145\u8db3\u7684\u4e1a\u4f59\u65f6\u95f4\u6765\u7cfb\u7edf\u5730\u5b66\u5b8c \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \u91cc\u7684\u5185\u5bb9\uff0c\u4f46\u53c8\u60f3\u5f25\u8865\u672c\u79d1\u65f6\u671f\u6b20\u4e0b\u7684\u57fa\u7840\u3002\u8003\u8651\u5230\u8fd9\u90e8\u5206\u8bfb\u8005\u901a\u5e38\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u7ecf\u9a8c\uff0c\u5165\u95e8\u8bfe\u7a0b\u6ca1\u6709\u5fc5\u8981\u518d\u91cd\u590d\u5b66\u4e60\u3002\u800c\u4e14\u4ece\u5b9e\u7528\u89d2\u5ea6\u6765\u8bf4\uff0c\u7531\u4e8e\u5de5\u4f5c\u7684\u5927\u4f53\u65b9\u5411\u5df2\u7ecf\u786e\u5b9a\uff0c\u786e\u5b9e\u6ca1\u6709\u592a\u5927\u5fc5\u8981\u5bf9\u4e8e\u6bcf\u4e2a\u8ba1\u7b97\u673a\u5206\u652f\u90fd\u6709\u7279\u522b\u6df1\u5165\u7684\u7814\u7a76\uff0c\u66f4\u5e94\u8be5\u4fa7\u91cd\u4e00\u4e9b\u901a\u7528\u6027\u7684\u539f\u5219\u548c\u6280\u80fd\u3002\u56e0\u6b64\u6211\u7ed3\u5408\u81ea\u8eab\u7ecf\u5386\uff0c\u9009\u53d6\u4e86\u4e2a\u4eba\u611f\u89c9\u6700\u91cd\u8981\u4e5f\u662f\u8d28\u91cf\u6700\u9ad8\u7684\u51e0\u95e8\u6838\u5fc3\u4e13\u4e1a\u8bfe\uff0c\u5e0c\u671b\u80fd\u66f4\u597d\u5730\u52a0\u6df1\u8bfb\u8005\u5bf9\u8ba1\u7b97\u673a\u7684\u7406\u89e3\u3002\u5b66\u5b8c\u8fd9\u4e9b\u8bfe\u7a0b\uff0c\u65e0\u8bba\u4f60\u5177\u4f53\u4ece\u4e8b\u7684\u662f\u4ec0\u4e48\u5de5\u4f5c\uff0c\u6211\u76f8\u4fe1\u4f60\u5c06\u4e0d\u53ef\u80fd\u6ca6\u4e3a\u4e00\u4e2a\u666e\u901a\u7684\u8c03\u5305\u4fa0\uff0c\u800c\u662f\u5bf9\u8ba1\u7b97\u673a\u7684\u5e95\u5c42\u8fd0\u884c\u903b\u8f91\u6709\u66f4\u6df1\u5165\u7684\u4e86\u89e3\u3002 \u8bfe\u7a0b\u65b9\u5411 \u8bfe\u7a0b\u540d \u79bb\u6563\u6570\u5b66\u548c\u6982\u7387\u8bba UCB CS70 : discrete Math and probability theory \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 Coursera: Algorithms I & II \u8f6f\u4ef6\u5de5\u7a0b MIT 6.031: Software Construction \u5168\u6808\u5f00\u53d1 MIT web development course \u8ba1\u7b97\u673a\u7cfb\u7edf\u5bfc\u8bba CMU CS15213: CSAPP \u4f53\u7cfb\u7ed3\u6784\u5165\u95e8 Coursera: Nand2Tetris \u4f53\u7cfb\u7ed3\u6784\u8fdb\u9636 CS61C: Great Ideas in Computer Architecture \u6570\u636e\u5e93\u539f\u7406 CMU 15-445: Introduction to Database System \u8ba1\u7b97\u673a\u7f51\u7edc Computer Networking: A Top-Down Approach \u4eba\u5de5\u667a\u80fd Harvard CS50: Introduction to AI with Python \u6df1\u5ea6\u5b66\u4e60 Coursera: Deep Learning","title":"\u5220\u7e41\u5c31\u7b80"},{"location":"en/%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/#_4","text":"\u5982\u679c\u4f60\u5bf9\u4e8e\u8ba1\u7b97\u673a\u9886\u57df\u7684\u6838\u5fc3\u4e13\u4e1a\u8bfe\u90fd\u638c\u63e1\u5f97\u76f8\u5f53\u624e\u5b9e\uff0c\u800c\u4e14\u5df2\u7ecf\u786e\u5b9a\u4e86\u81ea\u5df1\u7684\u5de5\u4f5c\u6216\u7814\u7a76\u65b9\u5411\uff0c\u90a3\u4e48\u4e66\u4e2d\u8fd8\u6709\u5f88\u591a\u672a\u5728 \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \u63d0\u5230\u7684\u8bfe\u7a0b\u4f9b\u4f60\u63a2\u7d22\u3002 \u968f\u7740\u8d21\u732e\u8005\u7684\u4e0d\u65ad\u589e\u591a\uff0c\u5de6\u4fa7\u7684\u76ee\u5f55\u4e2d\u5c06\u4e0d\u65ad\u589e\u52a0\u65b0\u7684\u5206\u652f\uff0c\u4f8b\u5982 \u673a\u5668\u5b66\u4e60\u8fdb\u9636 \u548c \u673a\u5668\u5b66\u4e60\u7cfb\u7edf \u3002\u5e76\u4e14\u540c\u4e00\u4e2a\u5206\u652f\u4e0b\u90fd\u6709\u82e5\u5e72\u540c\u7c7b\u578b\u8bfe\u7a0b\uff0c\u5b83\u4eec\u6765\u81ea\u4e0d\u540c\u7684\u5b66\u6821\uff0c\u6709\u7740\u4e0d\u540c\u7684\u4fa7\u91cd\u70b9\u548c\u8bfe\u7a0b\u5b9e\u9a8c\uff0c\u4f8b\u5982 \u64cd\u4f5c\u7cfb\u7edf \u5206\u652f\u4e0b\u5c31\u5305\u542b\u4e86\u9ebb\u7701\u7406\u5de5\u3001\u4f2f\u514b\u5229\u8fd8\u6709\u5357\u4eac\u5927\u5b66\u4e09\u4e2a\u5b66\u6821\u7684\u8bfe\u7a0b\u3002\u5982\u679c\u4f60\u60f3\u6df1\u8015\u4e00\u4e2a\u9886\u57df\uff0c\u90a3\u4e48\u5b66\u4e60\u8fd9\u4e9b\u540c\u7c7b\u7684\u8bfe\u7a0b\u4f1a\u7ed9\u4f60\u4e0d\u540c\u7684\u89d2\u5ea6\u6765\u770b\u5f85\u7c7b\u4f3c\u7684\u77e5\u8bc6\u3002\u540c\u65f6\uff0c\u672c\u4e66\u4f5c\u8005\u8fd8\u8ba1\u5212\u8054\u7cfb\u4e00\u4e9b\u76f8\u5173\u9886\u57df\u7684\u79d1\u7814\u5de5\u4f5c\u8005\u6765\u5206\u4eab\u67d0\u4e2a\u7ec6\u5206\u9886\u57df\u7684\u79d1\u7814\u5b66\u4e60\u8def\u5f84\uff0c\u8ba9 CS\u81ea\u5b66\u6307\u5357 \u5728\u8ffd\u6c42\u5e7f\u5ea6\u7684\u540c\u65f6\uff0c\u5b9e\u73b0\u6df1\u5ea6\u4e0a\u7684\u63d0\u9ad8\u3002 \u5982\u679c\u4f60\u60f3\u8d21\u732e\u8fd9\u65b9\u9762\u7684\u5185\u5bb9\uff0c\u6b22\u8fce\u548c\u4f5c\u8005\u90ae\u4ef6\u8054\u7cfb zhongyinmin@pku.edu.cn","title":"\u5fc3\u6709\u6240\u5c5e"},{"location":"en/%E5%90%8E%E8%AE%B0/","text":"\u540e\u8bb0 \u4ece\u6700\u521d\u7684\u60f3\u6cd5\u5f00\u59cb\uff0c\u5230\u65ad\u65ad\u7eed\u7eed\u5b8c\u6210\u8fd9\u672c\u4e66\uff0c\u518d\u5230\u6811\u6d1e\u7684\u70ed\u70c8\u53cd\u54cd\uff0c\u6211\u5f88\u6fc0\u52a8\uff0c\u4f46\u4e5f\u4e94\u5473\u6742\u9648\u3002\u539f\u6765\u5728\u5317\u5927\u8fd9\u4e2a\u56ed\u5b50\u91cc\uff0c\u4e5f\u6709\u90a3\u4e48\u591a\u4eba\uff0c\u5bf9\u81ea\u5df1\u7684\u672c\u79d1\u751f\u6daf\u5e76\u4e0d\u6ee1\u610f\u3002\u800c\u8fd9\u91cc\uff0c\u53ef\u662f\u56ca\u62ec\u4e86\u4e2d\u56fd\u975e\u5e38\u4f18\u79c0\u7684\u4e00\u5e2e\u5e74\u8f7b\u4eba\u3002\u6240\u4ee5\u95ee\u9898\u51fa\u5728\u54ea\u91cc\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u662f\u4e2a\u7c4d\u7c4d\u65e0\u540d\u7684\u672c\u79d1\u751f\u5440\uff0c\u53ea\u662f\u4e00\u4e2a\u5355\u7eaf\u7684\u6c42\u5b66\u8005\uff0c\u6211\u7684\u76ee\u6807\u53ea\u662f\u60f3\u5feb\u4e50\u5730\u3001\u81ea\u7531\u5730\u3001\u9ad8\u8d28\u91cf\u5730\u638c\u63e1\u90a3\u4e9b\u4e13\u4e1a\u77e5\u8bc6\uff0c\u6211\u60f3\uff0c\u6b63\u5728\u770b\u8fd9\u672c\u4e66\u7684\u5927\u591a\u6570\u672c\u79d1\u751f\u4e5f\u662f\u5982\u6b64\uff0c\u8c01\u60f3\u4ed8\u51fa\u65f6\u95f4\u4f46\u5374\u6536\u6548\u751a\u5fae\u5462\uff1f\u53c8\u662f\u8c01\u8feb\u4f7f\u5927\u5bb6\u5e26\u7740\u75db\u82e6\u53bb\u5e94\u4ed8\u5462\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u5199\u8fd9\u672c\u4e66\u7edd\u4e0d\u662f\u4e3a\u4e86\u9f13\u52b1\u5927\u5bb6\u7fd8\u8bfe\u81ea\u5b66\uff0c\u8bd5\u95ee\u8c01\u4e0d\u60f3\u5728\u8bfe\u5802\u4e0a\u548c\u90a3\u4e48\u591a\u4f18\u79c0\u7684\u540c\u5b66\u6d4e\u6d4e\u4e00\u5802\uff0c\u70ed\u70c8\u8ba8\u8bba\u5462\uff1f\u8c01\u4e0d\u60f3\u9047\u5230\u95ee\u9898\u76f4\u63a5\u627e\u8001\u5e08\u7b54\u7591\u89e3\u60d1\u5462\uff1f\u8c01\u4e0d\u60f3\u8f9b\u82e6\u5b66\u4e60\u7684\u6210\u679c\u53ef\u4ee5\u76f4\u63a5\u5316\u4f5c\u5b66\u6821\u627f\u8ba4\u7684\u5b66\u5206\u7ee9\u70b9\u5462\uff1f\u53ef\u5982\u679c\u4e00\u4e2a\u5162\u5162\u4e1a\u4e1a\u3001\u6309\u65f6\u5230\u5802\u7684\u5b66\u751f\u6536\u83b7\u7684\u5374\u662f\u75db\u82e6\uff0c\u800c\u90a3\u4e2a\u4e00\u5b66\u671f\u53ea\u6709\u8003\u8bd5\u4f1a\u51fa\u5e2d\u7684\u5b66\u751f\u5374\u5b66\u5f97\u81ea\u5f97\u5176\u4e50\uff0c\u8fd9\u516c\u5e73\u5417\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u662f\u4e0d\u7518\uff0c\u4e0d\u7518\u5fc3\u8fd9\u4e9b\u901a\u8fc7\u9ad8\u8003\u6218\u80dc\u65e0\u6570\u4eba\u8fdb\u5165\u9ad8\u6821\u7684\u5b66\u5b50\u672c\u53ef\u4ee5\u6536\u83b7\u4e00\u4e2a\u66f4\u5feb\u4e50\u7684\u672c\u79d1\u751f\u6daf\uff0c\u4f46\u73b0\u5b9e\u5374\u7559\u7ed9\u4e86\u4ed6\u4eec\u9057\u61be\u3002\u6211\u53cd\u95ee\u81ea\u5df1\uff0c\u672c\u79d1\u6559\u80b2\u7a76\u7adf\u5e94\u8be5\u5e26\u7ed9\u6211\u4eec\u4ec0\u4e48\u5462\uff1f\u662f\u5b66\u5b8c\u6240\u6709\u8fd9\u4e9b\u8bfe\u7a0b\u5417\uff1f\u5012\u4e5f\u672a\u5fc5\uff0c\u5b83\u4e5f\u8bb8\u53ea\u9002\u5408\u6211\u8fd9\u79cdnerd\u3002\u4f46\u6211\u89c9\u5f97\uff0c\u672c\u79d1\u6559\u80b2\u81f3\u5c11\u5f97\u5c55\u73b0\u5b83\u5e94\u6709\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u5206\u4eab\u77e5\u8bc6\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u4ee5\u4eba\u4e3a\u672c\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u6ce8\u91cd\u5b66\u751f\u4f53\u9a8c\u7684\u8bda\u610f\u3002\u5b83\u81f3\u5c11\u4e0d\u5e94\u8be5\u662f\u4e00\u79cd\u6076\u610f\uff0c\u4e00\u79cd\u62fc\u6bd4\u77e5\u8bc6\u7684\u6076\u610f\uff0c\u4e00\u79cd\u80dc\u8005\u4e3a\u738b\u7684\u6076\u610f\uff0c\u4e00\u79cd\u8ba9\u4eba\u5b66\u65e0\u6240\u5f97\u7684\u6076\u610f\u3002\u4f46\u8fd9\u4e00\u5207\u80fd\u6539\u53d8\u5417\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u77e5\u9053\u6211\u505a\u4e86\u5e94\u8be5\u505a\u7684\u4e8b\u60c5\uff0c\u5b66\u751f\u4eec\u4f1a\u7528\u811a\u6295\u7968\uff0c\u6811\u6d1e\u7684\u5173\u6ce8\u91cf\u548c\u56de\u5e16\u6570\u8bc1\u660e\u4e86\u8fd9\u6837\u4e00\u4efd\u8d44\u6599\u662f\u6709\u4ef7\u503c\u7684\uff0c\u4e5f\u9053\u51fa\u4e86\u56fd\u5185CS\u672c\u79d1\u6559\u80b2\u548c\u56fd\u5916\u7684\u5dee\u8ddd\u3002\u4e5f\u8bb8\u8fd9\u6837\u7684\u6539\u53d8\u662f\u5fae\u4e4e\u5176\u5fae\u7684\uff0c\u4f46\u522b\u5fd8\u4e86\u6211\u53ea\u662f\u4e00\u4e2a\u7c4d\u7c4d\u65e0\u540d\u7684\u672c\u79d1\u751f\uff0c\u662f\u5317\u5927\u4fe1\u79d1\u4e00\u5343\u591a\u540d\u672c\u79d1\u751f\u4e2d\u7684\u666e\u901a\u4e00\u5458\uff0c\u662f\u4e2d\u56fd\u51e0\u767e\u4e07\u5728\u8bfb\u672c\u79d1\u751f\u4e2d\u7684\u4e00\u5206\u5b50\uff0c\u5982\u679c\u6709\u66f4\u591a\u7684\u4eba\u7ad9\u51fa\u6765\uff0c\u6bcf\u4e2a\u4eba\u505a\u4e00\u70b9\u70b9\uff0c\u4e5f\u8bb8\u662f\u5206\u4eab\u4e00\u4e2a\u5e16\u5b50\uff0c\u4e5f\u8bb8\u662f\u5f53\u4e00\u95e8\u8bfe\u7684\u52a9\u6559\uff0c\u4e5f\u8bb8\u662f\u7cbe\u5fc3\u8bbe\u8ba1\u4e00\u95e8\u8bfe\u7684lab\uff0c\u66f4\u6216\u8bb8\u662f\u5c06\u6765\u83b7\u5f97\u6559\u804c\u4e4b\u540e\u5f00\u8bbe\u4e00\u95e8\u9ad8\u8d28\u91cf\u7684\u8bfe\u7a0b\uff0c\u51fa\u7248\u4e00\u672c\u7ecf\u5178\u7684\u6559\u6750\u3002\u672c\u79d1\u6559\u80b2\u771f\u7684\u6709\u4ec0\u4e48\u6280\u672f\u58c1\u5792\u5417\uff1f\u6211\u770b\u672a\u5fc5\uff0c\u6559\u80b2\u9760\u7684\u662f\u8bda\u610f\uff0c\u9760\u7684\u662f\u80b2\u4eba\u4e4b\u5fc3\u3002 \u4eca\u5929\u662f2021\u5e7412\u670812\u65e5\uff0c\u6211\u671f\u5f85\u5728\u4e0d\u4e45\u7684\u5c06\u6765\u8fd9\u4e2a\u5e16\u5b50\u4f1a\u88ab\u9057\u5fd8\uff0c\u5927\u5bb6\u53ef\u4ee5\u6ee1\u5fc3\u6b22\u559c\u5730\u9009\u7740\u81ea\u5df1\u57f9\u517b\u65b9\u6848\u4e0a\u7684\u8bfe\u7a0b\uff0c\u505a\u7740\u5b66\u6821\u81ea\u884c\u8bbe\u8ba1\u7684\u5404\u7c7b\u7f16\u7a0b\u5b9e\u9a8c\uff0c\u8bfe\u5802\u6ca1\u6709\u7b7e\u5230\u4e5f\u80fd\u6d4e\u6d4e\u4e00\u5802\uff0c\u5b66\u751f\u8e0a\u8dc3\u5730\u53d1\u8a00\u4e92\u52a8\uff0c\u5927\u5bb6\u7684\u6536\u83b7\u53ef\u4ee5\u548c\u52aa\u529b\u6210\u6b63\u6bd4\uff0c\u90a3\u4e9b\u66fe\u7ecf\u7684\u9057\u61be\u548c\u75db\u82e6\u53ef\u4ee5\u6c38\u8fdc\u6210\u4e3a\u5386\u53f2\u3002\u6211\u771f\u7684\u5f88\u671f\u5f85\u90a3\u4e00\u5929\uff0c\u771f\u7684\u771f\u7684\u771f\u7684\u5f88\u671f\u5f85\u3002 PKUFlyingPig 2021\u5e7412\u670812\u65e5\u5199\u4e8e\u71d5\u56ed","title":"Postscript"},{"location":"en/%E5%90%8E%E8%AE%B0/#_1","text":"\u4ece\u6700\u521d\u7684\u60f3\u6cd5\u5f00\u59cb\uff0c\u5230\u65ad\u65ad\u7eed\u7eed\u5b8c\u6210\u8fd9\u672c\u4e66\uff0c\u518d\u5230\u6811\u6d1e\u7684\u70ed\u70c8\u53cd\u54cd\uff0c\u6211\u5f88\u6fc0\u52a8\uff0c\u4f46\u4e5f\u4e94\u5473\u6742\u9648\u3002\u539f\u6765\u5728\u5317\u5927\u8fd9\u4e2a\u56ed\u5b50\u91cc\uff0c\u4e5f\u6709\u90a3\u4e48\u591a\u4eba\uff0c\u5bf9\u81ea\u5df1\u7684\u672c\u79d1\u751f\u6daf\u5e76\u4e0d\u6ee1\u610f\u3002\u800c\u8fd9\u91cc\uff0c\u53ef\u662f\u56ca\u62ec\u4e86\u4e2d\u56fd\u975e\u5e38\u4f18\u79c0\u7684\u4e00\u5e2e\u5e74\u8f7b\u4eba\u3002\u6240\u4ee5\u95ee\u9898\u51fa\u5728\u54ea\u91cc\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u662f\u4e2a\u7c4d\u7c4d\u65e0\u540d\u7684\u672c\u79d1\u751f\u5440\uff0c\u53ea\u662f\u4e00\u4e2a\u5355\u7eaf\u7684\u6c42\u5b66\u8005\uff0c\u6211\u7684\u76ee\u6807\u53ea\u662f\u60f3\u5feb\u4e50\u5730\u3001\u81ea\u7531\u5730\u3001\u9ad8\u8d28\u91cf\u5730\u638c\u63e1\u90a3\u4e9b\u4e13\u4e1a\u77e5\u8bc6\uff0c\u6211\u60f3\uff0c\u6b63\u5728\u770b\u8fd9\u672c\u4e66\u7684\u5927\u591a\u6570\u672c\u79d1\u751f\u4e5f\u662f\u5982\u6b64\uff0c\u8c01\u60f3\u4ed8\u51fa\u65f6\u95f4\u4f46\u5374\u6536\u6548\u751a\u5fae\u5462\uff1f\u53c8\u662f\u8c01\u8feb\u4f7f\u5927\u5bb6\u5e26\u7740\u75db\u82e6\u53bb\u5e94\u4ed8\u5462\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u5199\u8fd9\u672c\u4e66\u7edd\u4e0d\u662f\u4e3a\u4e86\u9f13\u52b1\u5927\u5bb6\u7fd8\u8bfe\u81ea\u5b66\uff0c\u8bd5\u95ee\u8c01\u4e0d\u60f3\u5728\u8bfe\u5802\u4e0a\u548c\u90a3\u4e48\u591a\u4f18\u79c0\u7684\u540c\u5b66\u6d4e\u6d4e\u4e00\u5802\uff0c\u70ed\u70c8\u8ba8\u8bba\u5462\uff1f\u8c01\u4e0d\u60f3\u9047\u5230\u95ee\u9898\u76f4\u63a5\u627e\u8001\u5e08\u7b54\u7591\u89e3\u60d1\u5462\uff1f\u8c01\u4e0d\u60f3\u8f9b\u82e6\u5b66\u4e60\u7684\u6210\u679c\u53ef\u4ee5\u76f4\u63a5\u5316\u4f5c\u5b66\u6821\u627f\u8ba4\u7684\u5b66\u5206\u7ee9\u70b9\u5462\uff1f\u53ef\u5982\u679c\u4e00\u4e2a\u5162\u5162\u4e1a\u4e1a\u3001\u6309\u65f6\u5230\u5802\u7684\u5b66\u751f\u6536\u83b7\u7684\u5374\u662f\u75db\u82e6\uff0c\u800c\u90a3\u4e2a\u4e00\u5b66\u671f\u53ea\u6709\u8003\u8bd5\u4f1a\u51fa\u5e2d\u7684\u5b66\u751f\u5374\u5b66\u5f97\u81ea\u5f97\u5176\u4e50\uff0c\u8fd9\u516c\u5e73\u5417\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u662f\u4e0d\u7518\uff0c\u4e0d\u7518\u5fc3\u8fd9\u4e9b\u901a\u8fc7\u9ad8\u8003\u6218\u80dc\u65e0\u6570\u4eba\u8fdb\u5165\u9ad8\u6821\u7684\u5b66\u5b50\u672c\u53ef\u4ee5\u6536\u83b7\u4e00\u4e2a\u66f4\u5feb\u4e50\u7684\u672c\u79d1\u751f\u6daf\uff0c\u4f46\u73b0\u5b9e\u5374\u7559\u7ed9\u4e86\u4ed6\u4eec\u9057\u61be\u3002\u6211\u53cd\u95ee\u81ea\u5df1\uff0c\u672c\u79d1\u6559\u80b2\u7a76\u7adf\u5e94\u8be5\u5e26\u7ed9\u6211\u4eec\u4ec0\u4e48\u5462\uff1f\u662f\u5b66\u5b8c\u6240\u6709\u8fd9\u4e9b\u8bfe\u7a0b\u5417\uff1f\u5012\u4e5f\u672a\u5fc5\uff0c\u5b83\u4e5f\u8bb8\u53ea\u9002\u5408\u6211\u8fd9\u79cdnerd\u3002\u4f46\u6211\u89c9\u5f97\uff0c\u672c\u79d1\u6559\u80b2\u81f3\u5c11\u5f97\u5c55\u73b0\u5b83\u5e94\u6709\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u5206\u4eab\u77e5\u8bc6\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u4ee5\u4eba\u4e3a\u672c\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u6ce8\u91cd\u5b66\u751f\u4f53\u9a8c\u7684\u8bda\u610f\u3002\u5b83\u81f3\u5c11\u4e0d\u5e94\u8be5\u662f\u4e00\u79cd\u6076\u610f\uff0c\u4e00\u79cd\u62fc\u6bd4\u77e5\u8bc6\u7684\u6076\u610f\uff0c\u4e00\u79cd\u80dc\u8005\u4e3a\u738b\u7684\u6076\u610f\uff0c\u4e00\u79cd\u8ba9\u4eba\u5b66\u65e0\u6240\u5f97\u7684\u6076\u610f\u3002\u4f46\u8fd9\u4e00\u5207\u80fd\u6539\u53d8\u5417\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u77e5\u9053\u6211\u505a\u4e86\u5e94\u8be5\u505a\u7684\u4e8b\u60c5\uff0c\u5b66\u751f\u4eec\u4f1a\u7528\u811a\u6295\u7968\uff0c\u6811\u6d1e\u7684\u5173\u6ce8\u91cf\u548c\u56de\u5e16\u6570\u8bc1\u660e\u4e86\u8fd9\u6837\u4e00\u4efd\u8d44\u6599\u662f\u6709\u4ef7\u503c\u7684\uff0c\u4e5f\u9053\u51fa\u4e86\u56fd\u5185CS\u672c\u79d1\u6559\u80b2\u548c\u56fd\u5916\u7684\u5dee\u8ddd\u3002\u4e5f\u8bb8\u8fd9\u6837\u7684\u6539\u53d8\u662f\u5fae\u4e4e\u5176\u5fae\u7684\uff0c\u4f46\u522b\u5fd8\u4e86\u6211\u53ea\u662f\u4e00\u4e2a\u7c4d\u7c4d\u65e0\u540d\u7684\u672c\u79d1\u751f\uff0c\u662f\u5317\u5927\u4fe1\u79d1\u4e00\u5343\u591a\u540d\u672c\u79d1\u751f\u4e2d\u7684\u666e\u901a\u4e00\u5458\uff0c\u662f\u4e2d\u56fd\u51e0\u767e\u4e07\u5728\u8bfb\u672c\u79d1\u751f\u4e2d\u7684\u4e00\u5206\u5b50\uff0c\u5982\u679c\u6709\u66f4\u591a\u7684\u4eba\u7ad9\u51fa\u6765\uff0c\u6bcf\u4e2a\u4eba\u505a\u4e00\u70b9\u70b9\uff0c\u4e5f\u8bb8\u662f\u5206\u4eab\u4e00\u4e2a\u5e16\u5b50\uff0c\u4e5f\u8bb8\u662f\u5f53\u4e00\u95e8\u8bfe\u7684\u52a9\u6559\uff0c\u4e5f\u8bb8\u662f\u7cbe\u5fc3\u8bbe\u8ba1\u4e00\u95e8\u8bfe\u7684lab\uff0c\u66f4\u6216\u8bb8\u662f\u5c06\u6765\u83b7\u5f97\u6559\u804c\u4e4b\u540e\u5f00\u8bbe\u4e00\u95e8\u9ad8\u8d28\u91cf\u7684\u8bfe\u7a0b\uff0c\u51fa\u7248\u4e00\u672c\u7ecf\u5178\u7684\u6559\u6750\u3002\u672c\u79d1\u6559\u80b2\u771f\u7684\u6709\u4ec0\u4e48\u6280\u672f\u58c1\u5792\u5417\uff1f\u6211\u770b\u672a\u5fc5\uff0c\u6559\u80b2\u9760\u7684\u662f\u8bda\u610f\uff0c\u9760\u7684\u662f\u80b2\u4eba\u4e4b\u5fc3\u3002 \u4eca\u5929\u662f2021\u5e7412\u670812\u65e5\uff0c\u6211\u671f\u5f85\u5728\u4e0d\u4e45\u7684\u5c06\u6765\u8fd9\u4e2a\u5e16\u5b50\u4f1a\u88ab\u9057\u5fd8\uff0c\u5927\u5bb6\u53ef\u4ee5\u6ee1\u5fc3\u6b22\u559c\u5730\u9009\u7740\u81ea\u5df1\u57f9\u517b\u65b9\u6848\u4e0a\u7684\u8bfe\u7a0b\uff0c\u505a\u7740\u5b66\u6821\u81ea\u884c\u8bbe\u8ba1\u7684\u5404\u7c7b\u7f16\u7a0b\u5b9e\u9a8c\uff0c\u8bfe\u5802\u6ca1\u6709\u7b7e\u5230\u4e5f\u80fd\u6d4e\u6d4e\u4e00\u5802\uff0c\u5b66\u751f\u8e0a\u8dc3\u5730\u53d1\u8a00\u4e92\u52a8\uff0c\u5927\u5bb6\u7684\u6536\u83b7\u53ef\u4ee5\u548c\u52aa\u529b\u6210\u6b63\u6bd4\uff0c\u90a3\u4e9b\u66fe\u7ecf\u7684\u9057\u61be\u548c\u75db\u82e6\u53ef\u4ee5\u6c38\u8fdc\u6210\u4e3a\u5386\u53f2\u3002\u6211\u771f\u7684\u5f88\u671f\u5f85\u90a3\u4e00\u5929\uff0c\u771f\u7684\u771f\u7684\u771f\u7684\u5f88\u671f\u5f85\u3002 PKUFlyingPig 2021\u5e7412\u670812\u65e5\u5199\u4e8e\u71d5\u56ed","title":"\u540e\u8bb0"},{"location":"en/%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88Pro/","text":"under construction.","title":"\u57f9\u517b\u65b9\u6848Pro"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/","text":"\u597d\u4e66\u63a8\u8350 \u7531\u4e8e\u7248\u6743\u539f\u56e0\uff0c\u4e0b\u9762\u5217\u4e3e\u7684\u56fe\u4e66\u4e2d\u9664\u4e86\u5f00\u6e90\u8d44\u6e90\u63d0\u4f9b\u4e86\u94fe\u63a5\uff0c\u5176\u4ed6\u7684\u8d44\u6e90\u8bf7\u5927\u5bb6\u81ea\u884c\u901a\u8fc7 libgen \u6216 z-lib \u67e5\u627e\u3002 \u8d44\u6e90\u6c47\u603b Free Programming Books : \u5f00\u6e90\u7f16\u7a0b\u4e66\u7c4d\u8d44\u6e90\u6c47\u603b CS Textbook Recommendations : \u8ba1\u7b97\u673a\u79d1\u5b66\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868 C Book Guide and List : C\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 C++ Book Guide and List : C++\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 Python Book Guide and List : Python\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 Computer Vision Textbook Recommendations : \u8ba1\u7b97\u673a\u89c6\u89c9\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868 Deep Learning Textbook Recommendations : \u6df1\u5ea6\u5b66\u4e60\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868 \u7cfb\u7edf\u5165\u95e8 Computer Systems: A Programmer's Perspective [ \u8c46\u74e3 ] Principles of Computer System Design: An Introduction [ \u8c46\u74e3 ] \u64cd\u4f5c\u7cfb\u7edf \u73b0\u4ee3\u64cd\u4f5c\u7cfb\u7edf: \u539f\u7406\u4e0e\u5b9e\u73b0 [ \u8c46\u74e3 ] Operating Systems: Three Easy Pieces [ \u8c46\u74e3 ] Modern Operating Systems [ \u8c46\u74e3 ] Operating Systems: Principles and Practice [ \u8c46\u74e3 ] \u8ba1\u7b97\u673a\u7f51\u7edc Computer Networks: A Systems Approach [ \u8c46\u74e3 ] Computer Networking: A Top-Down Approach [ \u8c46\u74e3 ] How Networks Work [ \u8c46\u74e3 ] \u5206\u5e03\u5f0f\u7cfb\u7edf Patterns of Distributed System (Blog) Distributed Systems for Fun and Profit (Blog) Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems [ \u8c46\u74e3 ] \u6570\u636e\u5e93\u7cfb\u7edf Architecture of a Database System [ \u8c46\u74e3 ] Readings in Database Systems [ \u8c46\u74e3 ] Database System Concepts : 7th Edition [ \u8c46\u74e3 ] \u7f16\u8bd1\u539f\u7406 Engineering a Compiler [ \u8c46\u74e3 ] Compilers: Principles, Techniques, and Tools [ \u8c46\u74e3 ] Crafting Interpreters [\u8c46\u74e3] [\u5f00\u6e90\u4e2d\u6587\u7ffb\u8bd1] \u8ba1\u7b97\u673a\u7f16\u7a0b\u8bed\u8a00 \u8ba1\u7b97\u673a\u7a0b\u5e8f\u7684\u6784\u9020\u548c\u89e3\u91ca [ \u8c46\u74e3 ] Essentials of Programming Languages [ \u8c46\u74e3 ] Practical Foundations for Programming Languages [ \u8c46\u74e3 ] Software Foundations [ \u8c46\u74e3 ] [ \u5317\u5927\u76f8\u5173\u8bfe\u7a0b ] Types and Programming Languages [ \u8c46\u74e3 ] [ \u5317\u5927\u76f8\u5173\u8bfe\u7a0b ] \u4f53\u7cfb\u7ed3\u6784 \u8d85\u6807\u91cf\u5904\u7406\u5668\u8bbe\u8ba1: Superscalar RISC Processor Design [ \u8c46\u74e3 ] Computer Organization and Design RISC-V Edition [ \u8c46\u74e3 ] Computer Organization and Design: The Hardware/Software Interface [ \u8c46\u74e3 ] Computer Architecture: A Quantitative Approach [ \u8c46\u74e3 ] \u7406\u8bba\u8ba1\u7b97\u673a\u79d1\u5b66 Introduction to the Theory of Computation [ \u8c46\u74e3 ] \u5bc6\u7801\u5b66 Cryptography Engineering: Design Principles and Practical Applications [ \u8c46\u74e3 ] Introduction to Modern Cryptography [ \u8c46\u74e3 ] \u9006\u5411\u5de5\u7a0b \u9006\u5411\u5de5\u7a0b\u6838\u5fc3\u539f\u7406 [ \u8c46\u74e3 ] \u52a0\u5bc6\u4e0e\u89e3\u5bc6 [ \u8c46\u74e3 ] \u8ba1\u7b97\u673a\u56fe\u5f62\u5b66 Monte Carlo theory, methods and examples [ \u8c46\u74e3 ] Advanced Global Illumination [ \u8c46\u74e3 ] Fundamentals of Computer Graphics [ \u8c46\u74e3 ] Fluid Simulation for Computer Graphics [ \u8c46\u74e3 ] Physically Based Rendering: From Theory To Implementation [ \u8c46\u74e3 ] Real-Time Rendering [ \u8c46\u74e3 ] \u6e38\u620f\u5f15\u64ce \u6e38\u620f\u7f16\u7a0b\u6a21\u5f0f: Game Programming Patterns [ \u8c46\u74e3 ] \u5b9e\u65f6\u78b0\u649e\u68c0\u6d4b\u7b97\u6cd5\u6280\u672f [ \u8c46\u74e3 ] Game AI Pro Series [ \u8c46\u74e3 ] Artificial Intelligence for Games [ \u8c46\u74e3 ] Game Engine Architecture [ \u8c46\u74e3 ] Game Programming Gems Series [ \u8c46\u74e3 ] \u8f6f\u4ef6\u5de5\u7a0b Software Engineering at Google [ \u8c46\u74e3 ] \u8bbe\u8ba1\u6a21\u5f0f \u8bbe\u8ba1\u6a21\u5f0f: \u53ef\u590d\u7528\u9762\u5411\u5bf9\u8c61\u8f6f\u4ef6\u7684\u57fa\u7840 [ \u8c46\u74e3 ] \u5927\u8bdd\u8bbe\u8ba1\u6a21\u5f0f [ \u8c46\u74e3 ] Head First Design Patterns 2nd ed. [ \u8c46\u74e3 ] \u6df1\u5ea6\u5b66\u4e60 \u52a8\u624b\u5b66\u6df1\u5ea6\u5b66\u4e60 [ \u8c46\u74e3 ] \u795e\u7ecf\u7f51\u7edc\u4e0e\u6df1\u5ea6\u5b66\u4e60 [ \u8c46\u74e3 ] \u6df1\u5ea6\u5b66\u4e60\u5165\u95e8 [ \u8c46\u74e3 ] \u7b80\u5355\u7c97\u66b4 TensorFlow 2 (Tutorial) Speech and Language Processing [ \u8c46\u74e3 ] \u8ba1\u7b97\u673a\u89c6\u89c9 Multiple View Geometry in Computer Vision [ \u8c46\u74e3 ] \u673a\u5668\u4eba Probabilistic Robotics [ \u8c46\u74e3 ] \u9762\u8bd5 \u5251\u6307 Offer\uff1a\u540d\u4f01\u9762\u8bd5\u5b98\u7cbe\u8bb2\u5178\u578b\u7f16\u7a0b\u9898 [ \u8c46\u74e3 ] Cracking The Coding Interview [ \u8c46\u74e3 ]","title":"Book Recommendation"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_1","text":"\u7531\u4e8e\u7248\u6743\u539f\u56e0\uff0c\u4e0b\u9762\u5217\u4e3e\u7684\u56fe\u4e66\u4e2d\u9664\u4e86\u5f00\u6e90\u8d44\u6e90\u63d0\u4f9b\u4e86\u94fe\u63a5\uff0c\u5176\u4ed6\u7684\u8d44\u6e90\u8bf7\u5927\u5bb6\u81ea\u884c\u901a\u8fc7 libgen \u6216 z-lib \u67e5\u627e\u3002","title":"\u597d\u4e66\u63a8\u8350"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_2","text":"Free Programming Books : \u5f00\u6e90\u7f16\u7a0b\u4e66\u7c4d\u8d44\u6e90\u6c47\u603b CS Textbook Recommendations : \u8ba1\u7b97\u673a\u79d1\u5b66\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868 C Book Guide and List : C\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 C++ Book Guide and List : C++\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 Python Book Guide and List : Python\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 Computer Vision Textbook Recommendations : \u8ba1\u7b97\u673a\u89c6\u89c9\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868 Deep Learning Textbook Recommendations : \u6df1\u5ea6\u5b66\u4e60\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_3","text":"Computer Systems: A Programmer's Perspective [ \u8c46\u74e3 ] Principles of Computer System Design: An Introduction [ \u8c46\u74e3 ]","title":"\u7cfb\u7edf\u5165\u95e8"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_4","text":"\u73b0\u4ee3\u64cd\u4f5c\u7cfb\u7edf: \u539f\u7406\u4e0e\u5b9e\u73b0 [ \u8c46\u74e3 ] Operating Systems: Three Easy Pieces [ \u8c46\u74e3 ] Modern Operating Systems [ \u8c46\u74e3 ] Operating Systems: Principles and Practice [ \u8c46\u74e3 ]","title":"\u64cd\u4f5c\u7cfb\u7edf"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_5","text":"Computer Networks: A Systems Approach [ \u8c46\u74e3 ] Computer Networking: A Top-Down Approach [ \u8c46\u74e3 ] How Networks Work [ \u8c46\u74e3 ]","title":"\u8ba1\u7b97\u673a\u7f51\u7edc"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_6","text":"Patterns of Distributed System (Blog) Distributed Systems for Fun and Profit (Blog) Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems [ \u8c46\u74e3 ]","title":"\u5206\u5e03\u5f0f\u7cfb\u7edf"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_7","text":"Architecture of a Database System [ \u8c46\u74e3 ] Readings in Database Systems [ \u8c46\u74e3 ] Database System Concepts : 7th Edition [ \u8c46\u74e3 ]","title":"\u6570\u636e\u5e93\u7cfb\u7edf"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_8","text":"Engineering a Compiler [ \u8c46\u74e3 ] Compilers: Principles, Techniques, and Tools [ \u8c46\u74e3 ] Crafting Interpreters [\u8c46\u74e3] [\u5f00\u6e90\u4e2d\u6587\u7ffb\u8bd1]","title":"\u7f16\u8bd1\u539f\u7406"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_9","text":"\u8ba1\u7b97\u673a\u7a0b\u5e8f\u7684\u6784\u9020\u548c\u89e3\u91ca [ \u8c46\u74e3 ] Essentials of Programming Languages [ \u8c46\u74e3 ] Practical Foundations for Programming Languages [ \u8c46\u74e3 ] Software Foundations [ \u8c46\u74e3 ] [ \u5317\u5927\u76f8\u5173\u8bfe\u7a0b ] Types and Programming Languages [ \u8c46\u74e3 ] [ \u5317\u5927\u76f8\u5173\u8bfe\u7a0b ]","title":"\u8ba1\u7b97\u673a\u7f16\u7a0b\u8bed\u8a00"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_10","text":"\u8d85\u6807\u91cf\u5904\u7406\u5668\u8bbe\u8ba1: Superscalar RISC Processor Design [ \u8c46\u74e3 ] Computer Organization and Design RISC-V Edition [ \u8c46\u74e3 ] Computer Organization and Design: The Hardware/Software Interface [ \u8c46\u74e3 ] Computer Architecture: A Quantitative Approach [ \u8c46\u74e3 ]","title":"\u4f53\u7cfb\u7ed3\u6784"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_11","text":"Introduction to the Theory of Computation [ \u8c46\u74e3 ]","title":"\u7406\u8bba\u8ba1\u7b97\u673a\u79d1\u5b66"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_12","text":"Cryptography Engineering: Design Principles and Practical Applications [ \u8c46\u74e3 ] Introduction to Modern Cryptography [ \u8c46\u74e3 ]","title":"\u5bc6\u7801\u5b66"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_13","text":"\u9006\u5411\u5de5\u7a0b\u6838\u5fc3\u539f\u7406 [ \u8c46\u74e3 ] \u52a0\u5bc6\u4e0e\u89e3\u5bc6 [ \u8c46\u74e3 ]","title":"\u9006\u5411\u5de5\u7a0b"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_14","text":"Monte Carlo theory, methods and examples [ \u8c46\u74e3 ] Advanced Global Illumination [ \u8c46\u74e3 ] Fundamentals of Computer Graphics [ \u8c46\u74e3 ] Fluid Simulation for Computer Graphics [ \u8c46\u74e3 ] Physically Based Rendering: From Theory To Implementation [ \u8c46\u74e3 ] Real-Time Rendering [ \u8c46\u74e3 ]","title":"\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_15","text":"\u6e38\u620f\u7f16\u7a0b\u6a21\u5f0f: Game Programming Patterns [ \u8c46\u74e3 ] \u5b9e\u65f6\u78b0\u649e\u68c0\u6d4b\u7b97\u6cd5\u6280\u672f [ \u8c46\u74e3 ] Game AI Pro Series [ \u8c46\u74e3 ] Artificial Intelligence for Games [ \u8c46\u74e3 ] Game Engine Architecture [ \u8c46\u74e3 ] Game Programming Gems Series [ \u8c46\u74e3 ]","title":"\u6e38\u620f\u5f15\u64ce"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_16","text":"Software Engineering at Google [ \u8c46\u74e3 ]","title":"\u8f6f\u4ef6\u5de5\u7a0b"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_17","text":"\u8bbe\u8ba1\u6a21\u5f0f: \u53ef\u590d\u7528\u9762\u5411\u5bf9\u8c61\u8f6f\u4ef6\u7684\u57fa\u7840 [ \u8c46\u74e3 ] \u5927\u8bdd\u8bbe\u8ba1\u6a21\u5f0f [ \u8c46\u74e3 ] Head First Design Patterns 2nd ed. [ \u8c46\u74e3 ]","title":"\u8bbe\u8ba1\u6a21\u5f0f"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_18","text":"\u52a8\u624b\u5b66\u6df1\u5ea6\u5b66\u4e60 [ \u8c46\u74e3 ] \u795e\u7ecf\u7f51\u7edc\u4e0e\u6df1\u5ea6\u5b66\u4e60 [ \u8c46\u74e3 ] \u6df1\u5ea6\u5b66\u4e60\u5165\u95e8 [ \u8c46\u74e3 ] \u7b80\u5355\u7c97\u66b4 TensorFlow 2 (Tutorial) Speech and Language Processing [ \u8c46\u74e3 ]","title":"\u6df1\u5ea6\u5b66\u4e60"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_19","text":"Multiple View Geometry in Computer Vision [ \u8c46\u74e3 ]","title":"\u8ba1\u7b97\u673a\u89c6\u89c9"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_20","text":"Probabilistic Robotics [ \u8c46\u74e3 ]","title":"\u673a\u5668\u4eba"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_21","text":"\u5251\u6307 Offer\uff1a\u540d\u4f01\u9762\u8bd5\u5b98\u7cbe\u8bb2\u5178\u578b\u7f16\u7a0b\u9898 [ \u8c46\u74e3 ] Cracking The Coding Interview [ \u8c46\u74e3 ]","title":"\u9762\u8bd5"},{"location":"en/Web%E5%BC%80%E5%8F%91/CS142/","text":"Stanford CS142: Web Applications Descriptions Offered by: Stanford Prerequisites: CS107 and CS108 Programming Languages: JavaScript/HTML/CSS Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is Stanford's Web Application course covers HTML, CSS, JavaScript, ReactJs, NodeJS, ExpressJS, Web Security, and more. Eight projects will enhance your web development skills in practice. Course Resources Course Website: https://web.stanford.edu/class/cs142/index.html Recordings: https://web.stanford.edu/class/cs142/lectures.html Assignments: https://web.stanford.edu/class/cs142/projects.html","title":"Stanford CS142: Web Applications"},{"location":"en/Web%E5%BC%80%E5%8F%91/CS142/#stanford-cs142-web-applications","text":"","title":"Stanford CS142: Web Applications"},{"location":"en/Web%E5%BC%80%E5%8F%91/CS142/#descriptions","text":"Offered by: Stanford Prerequisites: CS107 and CS108 Programming Languages: JavaScript/HTML/CSS Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is Stanford's Web Application course covers HTML, CSS, JavaScript, ReactJs, NodeJS, ExpressJS, Web Security, and more. Eight projects will enhance your web development skills in practice.","title":"Descriptions"},{"location":"en/Web%E5%BC%80%E5%8F%91/CS142/#course-resources","text":"Course Website: https://web.stanford.edu/class/cs142/index.html Recordings: https://web.stanford.edu/class/cs142/lectures.html Assignments: https://web.stanford.edu/class/cs142/projects.html","title":"Course Resources"},{"location":"en/Web%E5%BC%80%E5%8F%91/CS571/","text":"CS571 Building UI (React & React Native) Course Overview University: University of Wisconsin, Madison Prerequisites: CS400 (Advanced Java. But in my opinion you only need to master one programming language) Programming Languages: JavaScript/HTML/CSS Course Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Estimated Time Commitment: 2 hrs/week (lecture) + 4\u201310 hrs/week (HW), 12 weeks This course provides a comprehensive but concise introduction to the best practices of React front-end development and React Native mobile development. It focuses on the latest versions of React and React Native and is updated every semester. It is a valuable resource for tackling the complexities of front-end development. The course also offers a good training ground. Be prepared for a significant workload throughout the semester. The techniques and knowledge points involved in the homework will be explained in class, but code won't be written hand by hand (I personally think that hand-holding code writing is very inefficient, and most courses on Udemy are of this type). As this isn't a hand-holding course, if you are unsure about how to write React code when doing homework, I recommend spending extra time carefully reading the relevant chapters on react.dev before diving in. The starter code also provides you with a great starting point, saving you from coping with Node.js environment settings. Although this course doesn't require prior knowledge of Javascript/HTML/CSS, the classroom introduction to syntax is relatively limited. It's recommended to frequently consult resources and ask questions when encountering syntax issues during learning and coding. This course also includes an introduction to and practices for Dialog Flow, a ChatBot development tool by Google. You can also find content related to UX development (on the practical side) in this course. All course materials and assignments are open-source, but you will need to request an X-CS571-ID header from the instructor, Cole Nelson (ctnelson2@wisc.edu). The header will be necessary for API request. When sending an email, it is advisable to include a brief self-introduction. It is unclear whether the instructor is willing to give everyone an ID. If you got turned down, please raise an issue for this GitHub repo . Course Resources Course Website: https://cs571.org Course Videos: Refer to the links labeled \"R\" on the course website. Course Assignments: Refer to the course website for more information.","title":"CS571 Building UI (React & React Native)"},{"location":"en/Web%E5%BC%80%E5%8F%91/CS571/#cs571-building-ui-react-react-native","text":"","title":"CS571 Building UI (React & React Native)"},{"location":"en/Web%E5%BC%80%E5%8F%91/CS571/#course-overview","text":"University: University of Wisconsin, Madison Prerequisites: CS400 (Advanced Java. But in my opinion you only need to master one programming language) Programming Languages: JavaScript/HTML/CSS Course Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Estimated Time Commitment: 2 hrs/week (lecture) + 4\u201310 hrs/week (HW), 12 weeks This course provides a comprehensive but concise introduction to the best practices of React front-end development and React Native mobile development. It focuses on the latest versions of React and React Native and is updated every semester. It is a valuable resource for tackling the complexities of front-end development. The course also offers a good training ground. Be prepared for a significant workload throughout the semester. The techniques and knowledge points involved in the homework will be explained in class, but code won't be written hand by hand (I personally think that hand-holding code writing is very inefficient, and most courses on Udemy are of this type). As this isn't a hand-holding course, if you are unsure about how to write React code when doing homework, I recommend spending extra time carefully reading the relevant chapters on react.dev before diving in. The starter code also provides you with a great starting point, saving you from coping with Node.js environment settings. Although this course doesn't require prior knowledge of Javascript/HTML/CSS, the classroom introduction to syntax is relatively limited. It's recommended to frequently consult resources and ask questions when encountering syntax issues during learning and coding. This course also includes an introduction to and practices for Dialog Flow, a ChatBot development tool by Google. You can also find content related to UX development (on the practical side) in this course. All course materials and assignments are open-source, but you will need to request an X-CS571-ID header from the instructor, Cole Nelson (ctnelson2@wisc.edu). The header will be necessary for API request. When sending an email, it is advisable to include a brief self-introduction. It is unclear whether the instructor is willing to give everyone an ID. If you got turned down, please raise an issue for this GitHub repo .","title":"Course Overview"},{"location":"en/Web%E5%BC%80%E5%8F%91/CS571/#course-resources","text":"Course Website: https://cs571.org Course Videos: Refer to the links labeled \"R\" on the course website. Course Assignments: Refer to the course website for more information.","title":"Course Resources"},{"location":"en/Web%E5%BC%80%E5%8F%91/fullstackopen/","text":"University of Helsinki: Full Stack open 2022 Descriptions Offered by: University of Helsinki Prerequisites: Good programming skills, basic knowledge of web programming and databases, and have mastery of the Git version management system. Programming Languages: JavaScript/HTML/CSS/NoSQL/SQL Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: Varying according to the learner This course serves as an introduction to modern web application development with JavaScript. The main focus is on building single page applications with ReactJS that use REST APIs built with Node.js. The course also contains a section on GraphQL, a modern alternative to REST APIs. The course covers testing, configuration and environment management, and the use of MongoDB for storing the application\u2019s data. Resources Course Website: https://fullstackopen.com/en/ Assignments: refer to the course website Course group on Discord: https://study.cs.helsinki.fi/discord/join/fullstack/ Course group on Telegram: https://t.me/fullstackcourse/","title":"University of Helsinki: Full Stack open 2022"},{"location":"en/Web%E5%BC%80%E5%8F%91/fullstackopen/#university-of-helsinki-full-stack-open-2022","text":"","title":"University of Helsinki: Full Stack open 2022"},{"location":"en/Web%E5%BC%80%E5%8F%91/fullstackopen/#descriptions","text":"Offered by: University of Helsinki Prerequisites: Good programming skills, basic knowledge of web programming and databases, and have mastery of the Git version management system. Programming Languages: JavaScript/HTML/CSS/NoSQL/SQL Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: Varying according to the learner This course serves as an introduction to modern web application development with JavaScript. The main focus is on building single page applications with ReactJS that use REST APIs built with Node.js. The course also contains a section on GraphQL, a modern alternative to REST APIs. The course covers testing, configuration and environment management, and the use of MongoDB for storing the application\u2019s data.","title":"Descriptions"},{"location":"en/Web%E5%BC%80%E5%8F%91/fullstackopen/#resources","text":"Course Website: https://fullstackopen.com/en/ Assignments: refer to the course website Course group on Discord: https://study.cs.helsinki.fi/discord/join/fullstack/ Course group on Telegram: https://t.me/fullstackcourse/","title":"Resources"},{"location":"en/Web%E5%BC%80%E5%8F%91/mitweb/","text":"MIT Web Development Crash Course Descriptions Offered by: MIT Prerequisites: better if you are already proficient in a programming language Programming Languages: JavaScript/HTML/CSS/NoSQL Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: Varying according to the learner Independent Activities Period (IAP) is a four-week period in January during which faculty and students are freed from the rigors of regularly scheduled classes for flexible teaching and learning and for independent study and research, and that's how this web development course was born. Within a month, you will master the core content of designing, building, beautifying, and publishing a website from scratch, basically covering full-stack web development. If you don't need to learn web development systematically, but just want to add it to your toolkit out of interest, then this class will be perfect for you. Resources Course Website: https://weblab.mit.edu/schedule/ Recordings: refer to the course website. Assignments: refer to the course website.","title":"MIT web development course"},{"location":"en/Web%E5%BC%80%E5%8F%91/mitweb/#mit-web-development-crash-course","text":"","title":"MIT Web Development Crash Course"},{"location":"en/Web%E5%BC%80%E5%8F%91/mitweb/#descriptions","text":"Offered by: MIT Prerequisites: better if you are already proficient in a programming language Programming Languages: JavaScript/HTML/CSS/NoSQL Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: Varying according to the learner Independent Activities Period (IAP) is a four-week period in January during which faculty and students are freed from the rigors of regularly scheduled classes for flexible teaching and learning and for independent study and research, and that's how this web development course was born. Within a month, you will master the core content of designing, building, beautifying, and publishing a website from scratch, basically covering full-stack web development. If you don't need to learn web development systematically, but just want to add it to your toolkit out of interest, then this class will be perfect for you.","title":"Descriptions"},{"location":"en/Web%E5%BC%80%E5%8F%91/mitweb/#resources","text":"Course Website: https://weblab.mit.edu/schedule/ Recordings: refer to the course website. Assignments: refer to the course website.","title":"Resources"},{"location":"en/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/","text":"CS188: Introduction to Artificial Intelligence \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS70 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u4eba\u5de5\u667a\u80fd\u5165\u95e8\u8bfe\uff0c\u8bfe\u7a0b notes \u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u57fa\u672c\u4e0d\u9700\u8981\u89c2\u770b\u8bfe\u7a0b\u89c6\u9891\u3002\u8bfe\u7a0b\u5185\u5bb9\u7684\u5b89\u6392\u57fa\u672c\u6309\u7167\u4eba\u5de5\u667a\u80fd\u7684\u7ecf\u5178\u6559\u6750 Artificial intelligence: A Modern Approach \u7684\u7ae0\u8282\u987a\u5e8f\uff0c\u8986\u76d6\u4e86\u641c\u7d22\u526a\u679d\u3001\u7ea6\u675f\u6ee1\u8db3\u95ee\u9898\u3001\u9a6c\u5c14\u53ef\u592b\u51b3\u7b56\u8fc7\u7a0b\u3001\u5f3a\u5316\u5b66\u4e60\u3001\u8d1d\u53f6\u65af\u7f51\u7edc\u3001\u9690\u9a6c\u5c14\u53ef\u592b\u6a21\u578b\u4ee5\u53ca\u57fa\u7840\u7684\u673a\u5668\u5b66\u4e60\u548c\u795e\u7ecf\u7f51\u7edc\u7684\u76f8\u5173\u5185\u5bb9\u3002 2018\u5e74\u79cb\u5b63\u5b66\u671f\u7684\u7248\u672c\u514d\u8d39\u5f00\u653e\u4e86 gradescope\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728\u7ebf\u5b8c\u6210\u4e66\u9762\u4f5c\u4e1a\u5e76\u5b9e\u65f6\u5f97\u5230\u6d4b\u8bc4\u7ed3\u679c\u3002\u540c\u65f6\u8bfe\u7a0b\u7684 6 \u4e2a Project \u4e5f\u662f\u8d28\u91cf\u7206\u70b8\uff0c\u590d\u73b0\u4e86\u7ecf\u5178\u7684 Packman\uff08\u5403\u8c46\u4eba\uff09\u5c0f\u6e38\u620f\uff0c\u4f1a\u8ba9\u4f60\u5229\u7528\u5b66\u5230\u7684 AI \u77e5\u8bc6\uff0c\u53bb\u5b9e\u73b0\u76f8\u5173\u7b97\u6cd5\uff0c\u8ba9\u4f60\u7684\u5403\u8c46\u4eba\u5728\u8ff7\u5bab\u91cc\u81ea\u7531\u7a7f\u68ad\uff0c\u8eb2\u907f\u9b3c\u602a\uff0c\u6536\u96c6\u8c46\u5b50\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a Fall 2022 \uff0c Fall 2018 \u8bfe\u7a0b\u89c6\u9891\uff1a Fall 2022 \uff0c Fall 2018 \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1aArtificial intelligence: A Modern Approach \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5728\u7ebf\u6d4b\u8bc4\u4e66\u9762\u4f5c\u4e1a\u548c Projects\uff0c\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"UCB CS188: Introduction to Artificial Intelligence"},{"location":"en/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/#cs188-introduction-to-artificial-intelligence","text":"","title":"CS188: Introduction to Artificial Intelligence"},{"location":"en/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS70 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u4eba\u5de5\u667a\u80fd\u5165\u95e8\u8bfe\uff0c\u8bfe\u7a0b notes \u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u57fa\u672c\u4e0d\u9700\u8981\u89c2\u770b\u8bfe\u7a0b\u89c6\u9891\u3002\u8bfe\u7a0b\u5185\u5bb9\u7684\u5b89\u6392\u57fa\u672c\u6309\u7167\u4eba\u5de5\u667a\u80fd\u7684\u7ecf\u5178\u6559\u6750 Artificial intelligence: A Modern Approach \u7684\u7ae0\u8282\u987a\u5e8f\uff0c\u8986\u76d6\u4e86\u641c\u7d22\u526a\u679d\u3001\u7ea6\u675f\u6ee1\u8db3\u95ee\u9898\u3001\u9a6c\u5c14\u53ef\u592b\u51b3\u7b56\u8fc7\u7a0b\u3001\u5f3a\u5316\u5b66\u4e60\u3001\u8d1d\u53f6\u65af\u7f51\u7edc\u3001\u9690\u9a6c\u5c14\u53ef\u592b\u6a21\u578b\u4ee5\u53ca\u57fa\u7840\u7684\u673a\u5668\u5b66\u4e60\u548c\u795e\u7ecf\u7f51\u7edc\u7684\u76f8\u5173\u5185\u5bb9\u3002 2018\u5e74\u79cb\u5b63\u5b66\u671f\u7684\u7248\u672c\u514d\u8d39\u5f00\u653e\u4e86 gradescope\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728\u7ebf\u5b8c\u6210\u4e66\u9762\u4f5c\u4e1a\u5e76\u5b9e\u65f6\u5f97\u5230\u6d4b\u8bc4\u7ed3\u679c\u3002\u540c\u65f6\u8bfe\u7a0b\u7684 6 \u4e2a Project \u4e5f\u662f\u8d28\u91cf\u7206\u70b8\uff0c\u590d\u73b0\u4e86\u7ecf\u5178\u7684 Packman\uff08\u5403\u8c46\u4eba\uff09\u5c0f\u6e38\u620f\uff0c\u4f1a\u8ba9\u4f60\u5229\u7528\u5b66\u5230\u7684 AI \u77e5\u8bc6\uff0c\u53bb\u5b9e\u73b0\u76f8\u5173\u7b97\u6cd5\uff0c\u8ba9\u4f60\u7684\u5403\u8c46\u4eba\u5728\u8ff7\u5bab\u91cc\u81ea\u7531\u7a7f\u68ad\uff0c\u8eb2\u907f\u9b3c\u602a\uff0c\u6536\u96c6\u8c46\u5b50\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a Fall 2022 \uff0c Fall 2018 \u8bfe\u7a0b\u89c6\u9891\uff1a Fall 2022 \uff0c Fall 2018 \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1aArtificial intelligence: A Modern Approach \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5728\u7ebf\u6d4b\u8bc4\u4e66\u9762\u4f5c\u4e1a\u548c Projects\uff0c\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/","text":"Harvard's CS50: Introduction to AI with Python Descriptions Offered by: Harvard University Prerequisites: Basic knowledge of probability theory and Python Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 30 A very basic introductory AI course, what makes it stand out is the 12 well-designed programming assignments, all of which will use the learned knowledge to implement a simple game AI, such as using reinforcement learning to play Nim game, using max-min search with alpha-beta pruning to sweep mines, and so on. It's perfect for newbies to get started or bigwigs to relax. Course Resources Course Website: https://cs50.harvard.edu/ai/2020/ Recordings: https://cs50.harvard.edu/ai/2020/ Textbooks: No textbook is needed in this course. Assignments: https://cs50.harvard.edu/ai/2020/ with 12 programming labs of high quality mentioned above. Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/cs50_ai - GitHub .","title":"Harvard CS50's Introduction to AI with Python"},{"location":"en/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#harvards-cs50-introduction-to-ai-with-python","text":"","title":"Harvard's CS50: Introduction to AI with Python"},{"location":"en/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#descriptions","text":"Offered by: Harvard University Prerequisites: Basic knowledge of probability theory and Python Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 30 A very basic introductory AI course, what makes it stand out is the 12 well-designed programming assignments, all of which will use the learned knowledge to implement a simple game AI, such as using reinforcement learning to play Nim game, using max-min search with alpha-beta pruning to sweep mines, and so on. It's perfect for newbies to get started or bigwigs to relax.","title":"Descriptions"},{"location":"en/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#course-resources","text":"Course Website: https://cs50.harvard.edu/ai/2020/ Recordings: https://cs50.harvard.edu/ai/2020/ Textbooks: No textbook is needed in this course. Assignments: https://cs50.harvard.edu/ai/2020/ with 12 programming labs of high quality mentioned above.","title":"Course Resources"},{"location":"en/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/cs50_ai - GitHub .","title":"Personal Resources"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/","text":"CS61C: Great Ideas in Computer Architecture Descriptions Offered by: UC Berkeley Prerequisites: CS61A, CS61B Programming Languages: C Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is the last course in Berkeley's CS61 series, which dives into the internal of computer architecture and will make you understand how the C language is translated into RISC-V assembly language and executed on the CPU. Unlike Nand2Tetris , this course is much more difficult and more in-depth, covering pipelining, cache, virtual memory, and concurrency-related content. The projects are very innovative and interesting. Project1 is a warmup assignment in C. In 2020Fall, you will implement the famous Game of Life . Project2 requires you to write a fully-connected neural network in RISC-V assembly to classify handwritten digits in MNIST dataset, which is a great exercise to write assembly code. In Project3, you will use Logisim, a digital circuit simulation software, to build a two-stage pipeline CPU from scratch and run RISC-V assembly code on it. In Project4 you will implement a toy version of Numpy, using OpenMP, SIMD, and other techniques to speed up matrix operations. In a word, this is the best computer architecture course I have ever taken. Course Resources Course Website: https://cs61c.org/su20/ Recordings: Youtube Textbook: None Assignments: 11 Labs, 4 Projects, the course website has specific requirements. Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS61C-summer20 - GitHub .","title":"UCB CS61C: Great Ideas in Computer Architecture"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#cs61c-great-ideas-in-computer-architecture","text":"","title":"CS61C: Great Ideas in Computer Architecture"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#descriptions","text":"Offered by: UC Berkeley Prerequisites: CS61A, CS61B Programming Languages: C Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is the last course in Berkeley's CS61 series, which dives into the internal of computer architecture and will make you understand how the C language is translated into RISC-V assembly language and executed on the CPU. Unlike Nand2Tetris , this course is much more difficult and more in-depth, covering pipelining, cache, virtual memory, and concurrency-related content. The projects are very innovative and interesting. Project1 is a warmup assignment in C. In 2020Fall, you will implement the famous Game of Life . Project2 requires you to write a fully-connected neural network in RISC-V assembly to classify handwritten digits in MNIST dataset, which is a great exercise to write assembly code. In Project3, you will use Logisim, a digital circuit simulation software, to build a two-stage pipeline CPU from scratch and run RISC-V assembly code on it. In Project4 you will implement a toy version of Numpy, using OpenMP, SIMD, and other techniques to speed up matrix operations. In a word, this is the best computer architecture course I have ever taken.","title":"Descriptions"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#course-resources","text":"Course Website: https://cs61c.org/su20/ Recordings: Youtube Textbook: None Assignments: 11 Labs, 4 Projects, the course website has specific requirements.","title":"Course Resources"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS61C-summer20 - GitHub .","title":"Personal Resources"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/","text":"CMU CS15213: CSAPP Descriptions Offered by: CMU Prerequisites: CS61A, CS61B Programming Languages: C Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours This course is one of CMU's most reputable courses, and is known for its extensive content and difficult projects. The course covers assembly language, computer architecture, operating systems, compilation and linking, parallelism, networking, etc. As an introductory course of computer system, it has both breadth and depth, and does require considerable perseverance and coding skills if you learn it on your own. The textbook for this course, known as CSAPP, was written by Professor Bryant, Dean of the School of Computer Science at CMU. This is also the first computer textbook that I read carefully from the start to the end, although it was tough, I gained a lot from it. Peking University purchased the copyright of the course and opened a similar one, but you can have access to all of the course resources on its official homepage (see the link below for details). This course is so famous that you can easily have access to the project solutions on the Internet. But if you really want to practice your coding skills, it is highly recommended to implement the projects on your own. After completing this course, your understanding of computer systems will definitely go up a notch. Course Resources Course Website: http://csapp.cs.cmu.edu/ Recordings: https://scs.hosted.panopto.com/Panopto/Pages/Sessions/List.aspx#folderID=%22b96d90ae-9871-4fae-91e2-b1627b43e25e%22 Textbook: Computer Systems: A Programmer's Perspective, 3/E Assignments: 11 Projects, skeleton code all open source . If you have trouble with Chapter 7 Linking, I recommend reading the book Programmer's Self-Cultivation , subtitled link. load and library. This book can complete our understanding of program linking, and I believe after reading this book you will have a deeper comprehension of program linking, ELF files, and dynamic libraries. It is highly recommended to be read as a supplementary material after reading CSAPP and having a certain understanding of computer systems.","title":"CMU 15-213: CSAPP"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/#cmu-cs15213-csapp","text":"","title":"CMU CS15213: CSAPP"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/#descriptions","text":"Offered by: CMU Prerequisites: CS61A, CS61B Programming Languages: C Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours This course is one of CMU's most reputable courses, and is known for its extensive content and difficult projects. The course covers assembly language, computer architecture, operating systems, compilation and linking, parallelism, networking, etc. As an introductory course of computer system, it has both breadth and depth, and does require considerable perseverance and coding skills if you learn it on your own. The textbook for this course, known as CSAPP, was written by Professor Bryant, Dean of the School of Computer Science at CMU. This is also the first computer textbook that I read carefully from the start to the end, although it was tough, I gained a lot from it. Peking University purchased the copyright of the course and opened a similar one, but you can have access to all of the course resources on its official homepage (see the link below for details). This course is so famous that you can easily have access to the project solutions on the Internet. But if you really want to practice your coding skills, it is highly recommended to implement the projects on your own. After completing this course, your understanding of computer systems will definitely go up a notch.","title":"Descriptions"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/#course-resources","text":"Course Website: http://csapp.cs.cmu.edu/ Recordings: https://scs.hosted.panopto.com/Panopto/Pages/Sessions/List.aspx#folderID=%22b96d90ae-9871-4fae-91e2-b1627b43e25e%22 Textbook: Computer Systems: A Programmer's Perspective, 3/E Assignments: 11 Projects, skeleton code all open source . If you have trouble with Chapter 7 Linking, I recommend reading the book Programmer's Self-Cultivation , subtitled link. load and library. This book can complete our understanding of program linking, and I believe after reading this book you will have a deeper comprehension of program linking, ELF files, and dynamic libraries. It is highly recommended to be read as a supplementary material after reading CSAPP and having a certain understanding of computer systems.","title":"Course Resources"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/DDCA/","text":"Digital Design and Computer Architecture Descriptions Offered by: ETH Zurich Prerequisites: CS50 or same level course; Better have a basic knowledge of C Programming Languages: C, Verilog, MIPS, LC3 Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours In this course, Onur Mutlu, a great expert in the field of Computer Architecture, will teach you about digital circuits and computer architecture. The course is entirely from the perspective of a computer designer, starting with transistors and logic gates and extending to microarchitecture, caches, and virtual memory. It also covers many of the latest research advances in the field of computer architecture. After learning, you will master digital circuits, hardware description language Verilog, MIPS instruction set, CPU design and performance analysis, pipelining, cache, virtual memory, and so on. There are 9 labs in the course. You will use the Basys 3 FPGA board and Vivado to design and synthesize the circuits, starting from combinational and sequential circuits, and eventually assembly into a complete CPU. Except for assignment solutions, all the course materials are open source. Course Resources Course Website: https://safari.ethz.ch/digitaltechnik/spring2020/ Recordings: https://www.youtube.com/playlist?list=PL5Q2soXY2Zi_FRrloMa2fUYWPGiZUBQo2 Textbook1: Patt and Patel, Introduction to Computing Systems Textbook2: Harris and Harris, Digital Design and Computer Architecture (MIPS Edition) Assignments: refer to the course website.","title":"Digital Design and Computer Architecture"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/DDCA/#digital-design-and-computer-architecture","text":"","title":"Digital Design and Computer Architecture"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/DDCA/#descriptions","text":"Offered by: ETH Zurich Prerequisites: CS50 or same level course; Better have a basic knowledge of C Programming Languages: C, Verilog, MIPS, LC3 Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours In this course, Onur Mutlu, a great expert in the field of Computer Architecture, will teach you about digital circuits and computer architecture. The course is entirely from the perspective of a computer designer, starting with transistors and logic gates and extending to microarchitecture, caches, and virtual memory. It also covers many of the latest research advances in the field of computer architecture. After learning, you will master digital circuits, hardware description language Verilog, MIPS instruction set, CPU design and performance analysis, pipelining, cache, virtual memory, and so on. There are 9 labs in the course. You will use the Basys 3 FPGA board and Vivado to design and synthesize the circuits, starting from combinational and sequential circuits, and eventually assembly into a complete CPU. Except for assignment solutions, all the course materials are open source.","title":"Descriptions"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/DDCA/#course-resources","text":"Course Website: https://safari.ethz.ch/digitaltechnik/spring2020/ Recordings: https://www.youtube.com/playlist?list=PL5Q2soXY2Zi_FRrloMa2fUYWPGiZUBQo2 Textbook1: Patt and Patel, Introduction to Computing Systems Textbook2: Harris and Harris, Digital Design and Computer Architecture (MIPS Edition) Assignments: refer to the course website.","title":"Course Resources"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/","text":"Coursera: Nand2Tetris Descriptions Offered by: Hebrew University of Jerusalem Prerequisites: None Programming Languages: Chosen by the course taker Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 40 hours As one of the most popular courses on Coursera , tens of thousands of people give it a full score, and over four hundred colleges and high schools teach it. It guides the students who may have no preparatory knowledge in computer science to build a whole computer from Nand logic gates and finally run the Tetris game on it. Sounds cool, right? It's even cooler when you implement it! The course is divided into hardware modules and software modules respectively. In the hardware modules, you will dive into a world based on 0 and 1, create various logic gates from Nand gates, and construct a CPU step by step to run a simplified instruction set designed by the course instructors. In the software modules, you will first write a compiler to compile a high-level language Jack which is designed by the instructors into byte codes that can run on virtual machines. Then you will further translate the byte codes into assembly language that can run on the CPU you create in the hardware modules. You will also develop a simple operating system that enables your computer to support GUI. Finally, you can use Jack to create the Tetris game, compile it into assembly language, run it on your self-made CPU, and interact with it through the OS built by yourself. After taking this course, you will have a comprehensive and profound understanding of the entire computer architecture, which might be extremely helpful to your subsequent learning. You may think that the course is too difficult. Don't worry, because it is completely designed for laymen. In the instructors' expectations, even high school students can understand the content. So as long as you keep pace with the syllabus, you can finish it within a month. This course extracts the essence of computers while omitting the tedious and complex details in modern computer systems that are designed for efficiency and performance. Surely you will enjoy the elegance and magic of computers in a relaxing and jolly journey. Course Resources Course Website: Nand2Tetris I , Nand2Tetris II Recordings: Refer to course website Textbook: The Elements of Computing Systems: Building a Modern Computer from First Principles (CN-zh version) Assignments: 10 projects to construct a computer, refer to the course website for more details Personal Resources All the resources and assignments used by @PKUFlyingPig are maintained in PKUFlyingPig/NandToTetris - GitHub .","title":"Coursera: Nand2Tetris"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#coursera-nand2tetris","text":"","title":"Coursera: Nand2Tetris"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#descriptions","text":"Offered by: Hebrew University of Jerusalem Prerequisites: None Programming Languages: Chosen by the course taker Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 40 hours As one of the most popular courses on Coursera , tens of thousands of people give it a full score, and over four hundred colleges and high schools teach it. It guides the students who may have no preparatory knowledge in computer science to build a whole computer from Nand logic gates and finally run the Tetris game on it. Sounds cool, right? It's even cooler when you implement it! The course is divided into hardware modules and software modules respectively. In the hardware modules, you will dive into a world based on 0 and 1, create various logic gates from Nand gates, and construct a CPU step by step to run a simplified instruction set designed by the course instructors. In the software modules, you will first write a compiler to compile a high-level language Jack which is designed by the instructors into byte codes that can run on virtual machines. Then you will further translate the byte codes into assembly language that can run on the CPU you create in the hardware modules. You will also develop a simple operating system that enables your computer to support GUI. Finally, you can use Jack to create the Tetris game, compile it into assembly language, run it on your self-made CPU, and interact with it through the OS built by yourself. After taking this course, you will have a comprehensive and profound understanding of the entire computer architecture, which might be extremely helpful to your subsequent learning. You may think that the course is too difficult. Don't worry, because it is completely designed for laymen. In the instructors' expectations, even high school students can understand the content. So as long as you keep pace with the syllabus, you can finish it within a month. This course extracts the essence of computers while omitting the tedious and complex details in modern computer systems that are designed for efficiency and performance. Surely you will enjoy the elegance and magic of computers in a relaxing and jolly journey.","title":"Descriptions"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#course-resources","text":"Course Website: Nand2Tetris I , Nand2Tetris II Recordings: Refer to course website Textbook: The Elements of Computing Systems: Building a Modern Computer from First Principles (CN-zh version) Assignments: 10 projects to construct a computer, refer to the course website for more details","title":"Course Resources"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig are maintained in PKUFlyingPig/NandToTetris - GitHub .","title":"Personal Resources"},{"location":"en/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/","text":"CMU 15-418/Stanford CS149: Parallel Computing Descriptions Offered by: CMU and Stanford Prerequisites: Computer Architecture, C++ Programming Languages: C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours The professor Kayvon Fatahalian used to teach course 15-418 at CMU. After he became an assistant professor at Stanford, he offered a similar course, CS149 at Stanford. In general, the 15-418 version is more comprehensive and has lecture recordings, but CS149's programming assignments are more fashionable. Personally, I watched the recordings of 15-418 but completed the assignments of CS149. The goal of this course is to provide a deep understanding of the fundamental principles and engineering trade-offs involved in designing modern parallel computing systems, as well as to teach how to utilize hardwares and software programming frameworks (such as CUDA, MPI, OpenMP, etc.) for writing high-performance parallel programs. Due to the complexity of parallel computing architecture, this course involves a lot of advanced computer architecture and network communication content, the knowledge is quite low-level and hardcore. Meanwhile, the five assignments develop your understanding and application of upper-level abstraction through software, specifically by analyzing bottlenecks in parallel programs, writing multi-threaded synchronization code, learning CUDA programming, OpenMP programming, and the popular Spark framework, etc. It really combines theory and practice perfectly. Resources Course Website: CMU15418 , CS149 Recordings: http://15418.courses.cs.cmu.edu/spring2016/lectures Textbook: None Assignments: https://gfxcourses.stanford.edu/cs149/fall21 , 5 assignments. Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS149-parallel-computing - GitHub .","title":"CMU 15-418/Stanford CS149: Parallel Computing"},{"location":"en/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/#cmu-15-418stanford-cs149-parallel-computing","text":"","title":"CMU 15-418/Stanford CS149: Parallel Computing"},{"location":"en/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/#descriptions","text":"Offered by: CMU and Stanford Prerequisites: Computer Architecture, C++ Programming Languages: C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours The professor Kayvon Fatahalian used to teach course 15-418 at CMU. After he became an assistant professor at Stanford, he offered a similar course, CS149 at Stanford. In general, the 15-418 version is more comprehensive and has lecture recordings, but CS149's programming assignments are more fashionable. Personally, I watched the recordings of 15-418 but completed the assignments of CS149. The goal of this course is to provide a deep understanding of the fundamental principles and engineering trade-offs involved in designing modern parallel computing systems, as well as to teach how to utilize hardwares and software programming frameworks (such as CUDA, MPI, OpenMP, etc.) for writing high-performance parallel programs. Due to the complexity of parallel computing architecture, this course involves a lot of advanced computer architecture and network communication content, the knowledge is quite low-level and hardcore. Meanwhile, the five assignments develop your understanding and application of upper-level abstraction through software, specifically by analyzing bottlenecks in parallel programs, writing multi-threaded synchronization code, learning CUDA programming, OpenMP programming, and the popular Spark framework, etc. It really combines theory and practice perfectly.","title":"Descriptions"},{"location":"en/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/#resources","text":"Course Website: CMU15418 , CS149 Recordings: http://15418.courses.cs.cmu.edu/spring2016/lectures Textbook: None Assignments: https://gfxcourses.stanford.edu/cs149/fall21 , 5 assignments.","title":"Resources"},{"location":"en/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS149-parallel-computing - GitHub .","title":"Personal Resources"},{"location":"en/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/","text":"MIT6.824: Distributed System Descriptions Offered by: MIT Prerequisites: Computer Architecture, Parallel Computing Programming Languages: Go Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 200 hours This course, the same as MIT 6.S081, comes from the renowned MIT PDOS Lab. The instructor, Professor Robert Morris, was once a famous hacker who created 'Morris', the first worm virus in the world. Each lecture will discuss a classic paper in the field of distributed systems, teaching you the important principles and key techniques of distributed systems design and implementation. The Project is known for its difficulty. In four programming assignments, you will implement a KV-store framework step by step based on the Raft consensus algorithm, allowing you to experience the randomness and complexity to implement and debug a distributed system. This course is so famous that you can easily have access to the project solutions on the Internet. It is highly recommended to implement the projects on your own. Resources Course Website: https://pdos.csail.mit.edu/6.824/schedule.html Assignments: refer to the course website. Textbook: None Assignments: 4 torturing projects, the course website has specific requirements. Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/MIT6.824 - GitHub . @ OneSizeFitsQuorum has written a Lab Documentation that quite clearly describes many of the details to be considered when implementing lab 1-4 and challenge 1-2, you can read when you encounter bottlenecks ~ ~","title":"MIT 6.824: Distributed System"},{"location":"en/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#mit6824-distributed-system","text":"","title":"MIT6.824: Distributed System"},{"location":"en/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#descriptions","text":"Offered by: MIT Prerequisites: Computer Architecture, Parallel Computing Programming Languages: Go Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 200 hours This course, the same as MIT 6.S081, comes from the renowned MIT PDOS Lab. The instructor, Professor Robert Morris, was once a famous hacker who created 'Morris', the first worm virus in the world. Each lecture will discuss a classic paper in the field of distributed systems, teaching you the important principles and key techniques of distributed systems design and implementation. The Project is known for its difficulty. In four programming assignments, you will implement a KV-store framework step by step based on the Raft consensus algorithm, allowing you to experience the randomness and complexity to implement and debug a distributed system. This course is so famous that you can easily have access to the project solutions on the Internet. It is highly recommended to implement the projects on your own.","title":"Descriptions"},{"location":"en/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#resources","text":"Course Website: https://pdos.csail.mit.edu/6.824/schedule.html Assignments: refer to the course website. Textbook: None Assignments: 4 torturing projects, the course website has specific requirements.","title":"Resources"},{"location":"en/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/MIT6.824 - GitHub . @ OneSizeFitsQuorum has written a Lab Documentation that quite clearly describes many of the details to be considered when implementing lab 1-4 and challenge 1-2, you can read when you encounter bottlenecks ~ ~","title":"Personal Resources"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/","text":"CMake Why CMake Similar to GNU make, CMake is a cross-platform tool designed to build, test and package software. It uses CMakeLists.txt to define build configuration, and have more functionalities compared to GNU make. It is highly recommended to learn GNU Make and get familiar with Makefile first before learning CMake. How to learn CMake Compare to Makefile , CMakeLists.txt is more obscure and difficult to understand and use. Nowadays many IDEs (e.g., Visual Studio, CLion) offer functionalities to generate CMakeLists.txt automatically, but it's still necessary to manage basic usage of CMakeLists.txt . Besides Official CMake Tutorial , this one-hour video tutorial (in Chinese) presented by IPADS group at SJTU is also a good learning resource.","title":"CMake"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/#cmake","text":"","title":"CMake"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/#why-cmake","text":"Similar to GNU make, CMake is a cross-platform tool designed to build, test and package software. It uses CMakeLists.txt to define build configuration, and have more functionalities compared to GNU make. It is highly recommended to learn GNU Make and get familiar with Makefile first before learning CMake.","title":"Why CMake"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/#how-to-learn-cmake","text":"Compare to Makefile , CMakeLists.txt is more obscure and difficult to understand and use. Nowadays many IDEs (e.g., Visual Studio, CLion) offer functionalities to generate CMakeLists.txt automatically, but it's still necessary to manage basic usage of CMakeLists.txt . Besides Official CMake Tutorial , this one-hour video tutorial (in Chinese) presented by IPADS group at SJTU is also a good learning resource.","title":"How to learn CMake"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/","text":"Docker \u4e3a\u4ec0\u4e48\u4f7f\u7528 Docker \u4f7f\u7528\u522b\u4eba\u5199\u597d\u7684\u8f6f\u4ef6/\u5de5\u5177\u6700\u5927\u7684\u969c\u788d\u662f\u4ec0\u4e48\u2014\u2014\u5fc5\u7136\u662f\u914d\u73af\u5883\u3002\u914d\u73af\u5883\u5e26\u6765\u7684\u6298\u78e8\u4f1a\u6781\u5927\u5730\u6d88\u89e3\u4f60\u5bf9\u8f6f\u4ef6\u3001\u7f16\u7a0b\u672c\u8eab\u7684\u5174\u8da3\u3002\u865a\u62df\u673a\u53ef\u4ee5\u89e3\u51b3\u914d\u73af\u5883\u7684\u4e00\u90e8\u5206\u95ee\u9898\uff0c\u4f46\u5b83\u5e9e\u5927\u7b28\u91cd\uff0c\u4e14\u4e3a\u4e86\u67d0\u4e2a\u5e94\u7528\u7684\u73af\u5883\u914d\u7f6e\u597d\u50cf\u4e5f\u4e0d\u503c\u5f97\u6a21\u62df\u4e00\u4e2a\u5168\u65b0\u7684\u64cd\u4f5c\u7cfb\u7edf\u3002 Docker \u7684\u51fa\u73b0\u8ba9\u73af\u5883\u914d\u7f6e\u53d8\u5f97\uff08\u6216\u8bb8\uff09\u4e0d\u518d\u6298\u78e8\u3002\u7b80\u5355\u6765\u8bf4 Docker \u4f7f\u7528\u8f7b\u91cf\u7ea7\u7684\u201c\u5bb9\u5668\u201d\uff08container\uff09\u800c\u4e0d\u662f\u6574\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u53bb\u652f\u6301\u4e00\u4e2a\u5e94\u7528\u7684\u914d\u7f6e\u3002\u5e94\u7528\u81ea\u8eab\u8fde\u540c\u5b83\u7684\u73af\u5883\u914d\u7f6e\u88ab\u6253\u5305\u4e3a\u4e00\u4e2a\u4e2a image \u53ef\u4ee5\u81ea\u7531\u8fd0\u884c\u5728\u4e0d\u540c\u5e73\u53f0\u7684\u4e00\u4e2a\u4e2a container \u4e2d\uff0c\u8fd9\u6781\u5927\u5730\u8282\u7701\u4e86\u6240\u6709\u4eba\u7684\u65f6\u95f4\u6210\u672c\u3002 \u5982\u4f55\u5b66\u4e60 Docker Docker \u5b98\u65b9\u6587\u6863 \u5f53\u7136\u662f\u6700\u597d\u7684\u521d\u5b66\u6559\u6750\uff0c\u4f46\u6700\u597d\u7684\u5bfc\u5e08\u4e00\u5b9a\u662f\u4f60\u81ea\u5df1\u2014\u2014\u5c1d\u8bd5\u53bb\u4f7f\u7528 Docker \u624d\u80fd\u4eab\u53d7\u5b83\u5e26\u6765\u7684\u4fbf\u5229\u3002Docker \u5728\u5de5\u4e1a\u754c\u53d1\u5c55\u8fc5\u731b\u5e76\u5df2\u7ecf\u975e\u5e38\u6210\u719f\uff0c\u4f60\u53ef\u4ee5\u4e0b\u8f7d\u5b83\u7684\u684c\u9762\u7aef\u5e76\u4f7f\u7528\u56fe\u5f62\u754c\u9762\u3002 \u5f53\u7136\uff0c\u5982\u679c\u4f60\u50cf\u6211\u4e00\u6837\uff0c\u662f\u4e00\u4e2a\u75af\u72c2\u7684\u9020\u8f6e\u5b50\u7231\u597d\u8005\uff0c\u90a3\u4e0d\u59a8\u81ea\u5df1\u4eb2\u624b\u5199\u4e00\u4e2a \u8ff7\u4f60 Docker \u6765\u52a0\u6df1\u7406\u89e3\u3002 KodeKloud Docker for the Absolute Beginner \u5168\u9762\u7684\u4ecb\u7ecd\u4e86 Docker \u7684\u57fa\u7840\u529f\u80fd\uff0c\u5e76\u4e14\u6709\u5927\u91cf\u7684\u914d\u5957\u7ec3\u4e60\uff0c\u540c\u65f6\u63d0\u4f9b\u514d\u8d39\u7684\u4e91\u73af\u5883\u6765\u5b8c\u6210\u7ec3\u4e60\u3002\u5176\u4f59\u7684\u4e91\u76f8\u5173\u7684\u8bfe\u7a0b\u5982 Kubernetes \u9700\u8981\u4ed8\u8d39\uff0c\u4f46\u4e2a\u4eba\u5f3a\u70c8\u63a8\u8350\uff1a\u8bb2\u89e3\u975e\u5e38\u4ed4\u7ec6\uff0c\u9002\u5408\u4ece 0 \u5f00\u59cb\u7684\u65b0\u624b\uff1b\u6709\u914d\u5957\u7684 Kubernetes \u7684\u5b9e\u9a8c\u73af\u5883\uff0c\u4e0d\u7528\u88ab\u642d\u5efa\u73af\u5883\u529d\u9000\u3002","title":"Docker"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/#docker","text":"","title":"Docker"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/#docker_1","text":"\u4f7f\u7528\u522b\u4eba\u5199\u597d\u7684\u8f6f\u4ef6/\u5de5\u5177\u6700\u5927\u7684\u969c\u788d\u662f\u4ec0\u4e48\u2014\u2014\u5fc5\u7136\u662f\u914d\u73af\u5883\u3002\u914d\u73af\u5883\u5e26\u6765\u7684\u6298\u78e8\u4f1a\u6781\u5927\u5730\u6d88\u89e3\u4f60\u5bf9\u8f6f\u4ef6\u3001\u7f16\u7a0b\u672c\u8eab\u7684\u5174\u8da3\u3002\u865a\u62df\u673a\u53ef\u4ee5\u89e3\u51b3\u914d\u73af\u5883\u7684\u4e00\u90e8\u5206\u95ee\u9898\uff0c\u4f46\u5b83\u5e9e\u5927\u7b28\u91cd\uff0c\u4e14\u4e3a\u4e86\u67d0\u4e2a\u5e94\u7528\u7684\u73af\u5883\u914d\u7f6e\u597d\u50cf\u4e5f\u4e0d\u503c\u5f97\u6a21\u62df\u4e00\u4e2a\u5168\u65b0\u7684\u64cd\u4f5c\u7cfb\u7edf\u3002 Docker \u7684\u51fa\u73b0\u8ba9\u73af\u5883\u914d\u7f6e\u53d8\u5f97\uff08\u6216\u8bb8\uff09\u4e0d\u518d\u6298\u78e8\u3002\u7b80\u5355\u6765\u8bf4 Docker \u4f7f\u7528\u8f7b\u91cf\u7ea7\u7684\u201c\u5bb9\u5668\u201d\uff08container\uff09\u800c\u4e0d\u662f\u6574\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u53bb\u652f\u6301\u4e00\u4e2a\u5e94\u7528\u7684\u914d\u7f6e\u3002\u5e94\u7528\u81ea\u8eab\u8fde\u540c\u5b83\u7684\u73af\u5883\u914d\u7f6e\u88ab\u6253\u5305\u4e3a\u4e00\u4e2a\u4e2a image \u53ef\u4ee5\u81ea\u7531\u8fd0\u884c\u5728\u4e0d\u540c\u5e73\u53f0\u7684\u4e00\u4e2a\u4e2a container \u4e2d\uff0c\u8fd9\u6781\u5927\u5730\u8282\u7701\u4e86\u6240\u6709\u4eba\u7684\u65f6\u95f4\u6210\u672c\u3002","title":"\u4e3a\u4ec0\u4e48\u4f7f\u7528 Docker"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/#docker_2","text":"Docker \u5b98\u65b9\u6587\u6863 \u5f53\u7136\u662f\u6700\u597d\u7684\u521d\u5b66\u6559\u6750\uff0c\u4f46\u6700\u597d\u7684\u5bfc\u5e08\u4e00\u5b9a\u662f\u4f60\u81ea\u5df1\u2014\u2014\u5c1d\u8bd5\u53bb\u4f7f\u7528 Docker \u624d\u80fd\u4eab\u53d7\u5b83\u5e26\u6765\u7684\u4fbf\u5229\u3002Docker \u5728\u5de5\u4e1a\u754c\u53d1\u5c55\u8fc5\u731b\u5e76\u5df2\u7ecf\u975e\u5e38\u6210\u719f\uff0c\u4f60\u53ef\u4ee5\u4e0b\u8f7d\u5b83\u7684\u684c\u9762\u7aef\u5e76\u4f7f\u7528\u56fe\u5f62\u754c\u9762\u3002 \u5f53\u7136\uff0c\u5982\u679c\u4f60\u50cf\u6211\u4e00\u6837\uff0c\u662f\u4e00\u4e2a\u75af\u72c2\u7684\u9020\u8f6e\u5b50\u7231\u597d\u8005\uff0c\u90a3\u4e0d\u59a8\u81ea\u5df1\u4eb2\u624b\u5199\u4e00\u4e2a \u8ff7\u4f60 Docker \u6765\u52a0\u6df1\u7406\u89e3\u3002 KodeKloud Docker for the Absolute Beginner \u5168\u9762\u7684\u4ecb\u7ecd\u4e86 Docker \u7684\u57fa\u7840\u529f\u80fd\uff0c\u5e76\u4e14\u6709\u5927\u91cf\u7684\u914d\u5957\u7ec3\u4e60\uff0c\u540c\u65f6\u63d0\u4f9b\u514d\u8d39\u7684\u4e91\u73af\u5883\u6765\u5b8c\u6210\u7ec3\u4e60\u3002\u5176\u4f59\u7684\u4e91\u76f8\u5173\u7684\u8bfe\u7a0b\u5982 Kubernetes \u9700\u8981\u4ed8\u8d39\uff0c\u4f46\u4e2a\u4eba\u5f3a\u70c8\u63a8\u8350\uff1a\u8bb2\u89e3\u975e\u5e38\u4ed4\u7ec6\uff0c\u9002\u5408\u4ece 0 \u5f00\u59cb\u7684\u65b0\u624b\uff1b\u6709\u914d\u5957\u7684 Kubernetes \u7684\u5b9e\u9a8c\u73af\u5883\uff0c\u4e0d\u7528\u88ab\u642d\u5efa\u73af\u5883\u529d\u9000\u3002","title":"\u5982\u4f55\u5b66\u4e60 Docker"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/","text":"Emacs Why Emacs Emacs is a powerful editor as famous as Vim. Emacs has almost all the benefits of Vim, such as: Everything can be done with keyboard only, as there are a large number of shortcuts to improve the efficiency of code editing. Supporting both graphical and non-graphical interface in various scenarios. Besides, the biggest difference between Emacs and most other editors lies in its powerful extensibility. Emacs kernel imposes no restrictions on users behaviors. With Emacs Lisp programming language, users is able to write any plugins to extend the functionality. After decades of development, Emacs' plugin ecosystem is arguably one of the richest and most powerful in the editor world. There is a joke saying that \"Emacs is an OS that lacks a decent text editor\". Futhermore, you can also write your own Emacs extensions with only a small amount of effort. Emacs is friendly to Vim users as there is an extension called evil that migrate Vim operations into Emacs. Users can switch from Vim to Emacs with minimum effort. Statistics show that a considerable number of users would switch from Vim to Emacs, but there were almost no users who would switch from Emacs to Vim. In fact, the only weaknesss of Emacs is that it is not as efficient as Vim in pure text editing because of Vim's multi-modal editing. However, with Emacs' powerful extensibility, it can make up for its weaknesses by combining the strengths of both. How to learn Emacs Same as Vim, Emacs also has a steep learning curve. But once you understand the basic underlying logic, you will never live without it. There are plenty of tutorials for Emacs. Since Emacs is highly customizable, every user has their own learning path. Here are some good starting points: This tutorial is a brief guide to the basic logic of Emacs. Awesome Emacs lists a large number of useful Emacs packages, utilities, and libraries. Keyboard remapping One of the most shortcomings of Emacs is the excessive use of the Ctrl key, which is a burden on your left little finger. It is highly recommended to change the keyboard mapping of the Ctrl key. Please refer to Vim for details to remapping.","title":"Emacs"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/#emacs","text":"","title":"Emacs"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/#why-emacs","text":"Emacs is a powerful editor as famous as Vim. Emacs has almost all the benefits of Vim, such as: Everything can be done with keyboard only, as there are a large number of shortcuts to improve the efficiency of code editing. Supporting both graphical and non-graphical interface in various scenarios. Besides, the biggest difference between Emacs and most other editors lies in its powerful extensibility. Emacs kernel imposes no restrictions on users behaviors. With Emacs Lisp programming language, users is able to write any plugins to extend the functionality. After decades of development, Emacs' plugin ecosystem is arguably one of the richest and most powerful in the editor world. There is a joke saying that \"Emacs is an OS that lacks a decent text editor\". Futhermore, you can also write your own Emacs extensions with only a small amount of effort. Emacs is friendly to Vim users as there is an extension called evil that migrate Vim operations into Emacs. Users can switch from Vim to Emacs with minimum effort. Statistics show that a considerable number of users would switch from Vim to Emacs, but there were almost no users who would switch from Emacs to Vim. In fact, the only weaknesss of Emacs is that it is not as efficient as Vim in pure text editing because of Vim's multi-modal editing. However, with Emacs' powerful extensibility, it can make up for its weaknesses by combining the strengths of both.","title":"Why Emacs"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/#how-to-learn-emacs","text":"Same as Vim, Emacs also has a steep learning curve. But once you understand the basic underlying logic, you will never live without it. There are plenty of tutorials for Emacs. Since Emacs is highly customizable, every user has their own learning path. Here are some good starting points: This tutorial is a brief guide to the basic logic of Emacs. Awesome Emacs lists a large number of useful Emacs packages, utilities, and libraries.","title":"How to learn Emacs"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/#keyboard-remapping","text":"One of the most shortcomings of Emacs is the excessive use of the Ctrl key, which is a burden on your left little finger. It is highly recommended to change the keyboard mapping of the Ctrl key. Please refer to Vim for details to remapping.","title":"Keyboard remapping"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GNU_Make/","text":"GNU Make \u4e3a\u4ec0\u4e48\u5b66 GNU Make \u5927\u5bb6\u7b2c\u4e00\u6b21\u5199 hello world \u7a0b\u5e8f\u7684\u65f6\u5019\u4e00\u5b9a\u90fd\u8bb0\u5f97\uff0c\u5728\u7f16\u8f91\u5b8c helloworld.c \u4e4b\u540e\uff0c\u9700\u8981\u7528 gcc \u7f16\u8bd1\u751f\u6210\u53ef\u6267\u884c\u6587\u4ef6\uff0c\u7136\u540e\u518d\u6267\u884c\uff08\u5982\u679c\u4f60\u4e0d\u7406\u89e3\u524d\u9762\u8fd9\u6bb5\u8bdd\uff0c\u8bf7\u5148\u81ea\u884c\u8c37\u6b4c gcc \u7f16\u8bd1 \u5e76\u7406\u89e3\u76f8\u5173\u5185\u5bb9\uff09\u3002\u4f46\u5982\u679c\u4f60\u7684\u9879\u76ee\u7531\u6210\u767e\u4e0a\u5343\u4e2a C \u6e90\u6587\u4ef6\u7ec4\u6210\uff0c\u5e76\u4e14\u661f\u7f57\u68cb\u5e03\u5728\u5404\u4e2a\u5b50\u76ee\u5f55\u4e0b\uff0c\u4f60\u8be5\u5982\u4f55\u5c06\u5b83\u4eec\u7f16\u8bd1\u94fe\u63a5\u5230\u4e00\u8d77\u5462\uff1f\u5047\u5982\u4f60\u7684\u9879\u76ee\u7f16\u8bd1\u4e00\u6b21\u9700\u8981\u534a\u4e2a\u5c0f\u65f6\uff08\u5927\u578b\u9879\u76ee\u76f8\u5f53\u5e38\u89c1\uff09\uff0c\u800c\u4f60\u53ea\u4fee\u6539\u4e86\u4e00\u4e2a\u5206\u53f7\uff0c\u662f\u4e0d\u662f\u8fd8\u9700\u8981\u518d\u7b49\u534a\u4e2a\u5c0f\u65f6\u5462\uff1f \u8fd9\u65f6\u5019 GNU Make \u5c31\u95ea\u4eae\u767b\u573a\u4e86\uff0c\u5b83\u80fd\u8ba9\u4f60\u5728\u4e00\u4e2a\u811a\u672c\u91cc\uff08\u5373\u6240\u8c13\u7684 Makefile \uff09\u5b9a\u4e49\u6574\u4e2a\u7f16\u8bd1\u6d41\u7a0b\u4ee5\u53ca\u5404\u4e2a\u76ee\u6807\u6587\u4ef6\u4e0e\u6e90\u6587\u4ef6\u4e4b\u95f4\u7684\u4f9d\u8d56\u5173\u7cfb\uff0c\u5e76\u4e14\u53ea\u91cd\u65b0\u7f16\u8bd1\u4f60\u7684\u4fee\u6539\u4f1a\u5f71\u54cd\u5230\u7684\u90e8\u5206\uff0c\u4ece\u800c\u964d\u4f4e\u7f16\u8bd1\u7684\u65f6\u95f4\u3002 \u5982\u4f55\u5b66\u4e60 GNU Make \u8fd9\u91cc\u6709\u4e00\u7bc7\u5199\u5f97\u6df1\u5165\u6d45\u51fa\u7684 \u6587\u6863 \u4f9b\u5927\u5bb6\u53c2\u8003\u3002 GNU Make \u638c\u63e1\u8d77\u6765\u76f8\u5bf9\u5bb9\u6613\uff0c\u4f46\u7528\u597d\u5b83\u9700\u8981\u4e0d\u65ad\u7684\u7ec3\u4e60\u3002\u5c06\u5b83\u878d\u5165\u5230\u81ea\u5df1\u7684\u65e5\u5e38\u5f00\u53d1\u4e2d\uff0c\u52e4\u4e8e\u5b66\u4e60\u548c\u6a21\u4eff\u5176\u4ed6\u4f18\u79c0\u5f00\u6e90\u9879\u76ee\u91cc\u7684 Makefile \u7684\u5199\u6cd5\uff0c\u603b\u7ed3\u51fa\u9002\u5408\u81ea\u5df1\u7684 template\uff0c\u4e45\u800c\u4e45\u4e4b\uff0c\u4f60\u5bf9 GNU Make \u7684\u4f7f\u7528\u4f1a\u6108\u52a0\u7eaf\u719f\u3002","title":"GNU Make"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GNU_Make/#gnu-make","text":"","title":"GNU Make"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GNU_Make/#gnu-make_1","text":"\u5927\u5bb6\u7b2c\u4e00\u6b21\u5199 hello world \u7a0b\u5e8f\u7684\u65f6\u5019\u4e00\u5b9a\u90fd\u8bb0\u5f97\uff0c\u5728\u7f16\u8f91\u5b8c helloworld.c \u4e4b\u540e\uff0c\u9700\u8981\u7528 gcc \u7f16\u8bd1\u751f\u6210\u53ef\u6267\u884c\u6587\u4ef6\uff0c\u7136\u540e\u518d\u6267\u884c\uff08\u5982\u679c\u4f60\u4e0d\u7406\u89e3\u524d\u9762\u8fd9\u6bb5\u8bdd\uff0c\u8bf7\u5148\u81ea\u884c\u8c37\u6b4c gcc \u7f16\u8bd1 \u5e76\u7406\u89e3\u76f8\u5173\u5185\u5bb9\uff09\u3002\u4f46\u5982\u679c\u4f60\u7684\u9879\u76ee\u7531\u6210\u767e\u4e0a\u5343\u4e2a C \u6e90\u6587\u4ef6\u7ec4\u6210\uff0c\u5e76\u4e14\u661f\u7f57\u68cb\u5e03\u5728\u5404\u4e2a\u5b50\u76ee\u5f55\u4e0b\uff0c\u4f60\u8be5\u5982\u4f55\u5c06\u5b83\u4eec\u7f16\u8bd1\u94fe\u63a5\u5230\u4e00\u8d77\u5462\uff1f\u5047\u5982\u4f60\u7684\u9879\u76ee\u7f16\u8bd1\u4e00\u6b21\u9700\u8981\u534a\u4e2a\u5c0f\u65f6\uff08\u5927\u578b\u9879\u76ee\u76f8\u5f53\u5e38\u89c1\uff09\uff0c\u800c\u4f60\u53ea\u4fee\u6539\u4e86\u4e00\u4e2a\u5206\u53f7\uff0c\u662f\u4e0d\u662f\u8fd8\u9700\u8981\u518d\u7b49\u534a\u4e2a\u5c0f\u65f6\u5462\uff1f \u8fd9\u65f6\u5019 GNU Make \u5c31\u95ea\u4eae\u767b\u573a\u4e86\uff0c\u5b83\u80fd\u8ba9\u4f60\u5728\u4e00\u4e2a\u811a\u672c\u91cc\uff08\u5373\u6240\u8c13\u7684 Makefile \uff09\u5b9a\u4e49\u6574\u4e2a\u7f16\u8bd1\u6d41\u7a0b\u4ee5\u53ca\u5404\u4e2a\u76ee\u6807\u6587\u4ef6\u4e0e\u6e90\u6587\u4ef6\u4e4b\u95f4\u7684\u4f9d\u8d56\u5173\u7cfb\uff0c\u5e76\u4e14\u53ea\u91cd\u65b0\u7f16\u8bd1\u4f60\u7684\u4fee\u6539\u4f1a\u5f71\u54cd\u5230\u7684\u90e8\u5206\uff0c\u4ece\u800c\u964d\u4f4e\u7f16\u8bd1\u7684\u65f6\u95f4\u3002","title":"\u4e3a\u4ec0\u4e48\u5b66 GNU Make"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GNU_Make/#gnu-make_2","text":"\u8fd9\u91cc\u6709\u4e00\u7bc7\u5199\u5f97\u6df1\u5165\u6d45\u51fa\u7684 \u6587\u6863 \u4f9b\u5927\u5bb6\u53c2\u8003\u3002 GNU Make \u638c\u63e1\u8d77\u6765\u76f8\u5bf9\u5bb9\u6613\uff0c\u4f46\u7528\u597d\u5b83\u9700\u8981\u4e0d\u65ad\u7684\u7ec3\u4e60\u3002\u5c06\u5b83\u878d\u5165\u5230\u81ea\u5df1\u7684\u65e5\u5e38\u5f00\u53d1\u4e2d\uff0c\u52e4\u4e8e\u5b66\u4e60\u548c\u6a21\u4eff\u5176\u4ed6\u4f18\u79c0\u5f00\u6e90\u9879\u76ee\u91cc\u7684 Makefile \u7684\u5199\u6cd5\uff0c\u603b\u7ed3\u51fa\u9002\u5408\u81ea\u5df1\u7684 template\uff0c\u4e45\u800c\u4e45\u4e4b\uff0c\u4f60\u5bf9 GNU Make \u7684\u4f7f\u7528\u4f1a\u6108\u52a0\u7eaf\u719f\u3002","title":"\u5982\u4f55\u5b66\u4e60 GNU Make"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/","text":"Git Why Git Git is a distributed version control system. The father of Linux, Linus Torvalds developed Git to maintain the version control of Linux, replacing the centralized version control tools which were difficult and costly to use. The design of Git is very elegant, but beginners usually find it very difficult to use without understanding its internal logic. It is very easy to mess up the version history if misusing the commands. Git is a powerful tool and when you finally master it, you will find all the effort paid off. How to learn Git Different from Vim, I don't suggest beginners use Git rashly without fully understanding it, because its inner logic can not be acquainted by practicing. Here is my recommended learning path: Read this Git tutorial in English, or you can watch this Git tutorial (by \u5c1a\u7845\u8c37) in Chinese. Read Chap1 - Chap5 of this open source book Pro Git . Yes, to learn Git, you need to read a book. Now that you have understood its principles and most of its usages, it's time to consolidate those commands by practicing. How to use Git properly is a kind of philosophy. I recommend reading this blog How to Write a Git Commit Message . You are now in love with Git and are not content with only using it, you want to build a Git by yourself! Great, that's exactly what I was thinking. This tutorial will satisfy you! What? Building your own Git is not enough? Seems that you are also passionate about reinventing the wheels. These two GitHub projects, build-your-own-x and project-based-learning , collected many wheel-reinventing tutorials, e.g., text editor, virtual machine, docker, TCP and so on.","title":"Git"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/#git","text":"","title":"Git"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/#why-git","text":"Git is a distributed version control system. The father of Linux, Linus Torvalds developed Git to maintain the version control of Linux, replacing the centralized version control tools which were difficult and costly to use. The design of Git is very elegant, but beginners usually find it very difficult to use without understanding its internal logic. It is very easy to mess up the version history if misusing the commands. Git is a powerful tool and when you finally master it, you will find all the effort paid off.","title":"Why Git"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/#how-to-learn-git","text":"Different from Vim, I don't suggest beginners use Git rashly without fully understanding it, because its inner logic can not be acquainted by practicing. Here is my recommended learning path: Read this Git tutorial in English, or you can watch this Git tutorial (by \u5c1a\u7845\u8c37) in Chinese. Read Chap1 - Chap5 of this open source book Pro Git . Yes, to learn Git, you need to read a book. Now that you have understood its principles and most of its usages, it's time to consolidate those commands by practicing. How to use Git properly is a kind of philosophy. I recommend reading this blog How to Write a Git Commit Message . You are now in love with Git and are not content with only using it, you want to build a Git by yourself! Great, that's exactly what I was thinking. This tutorial will satisfy you! What? Building your own Git is not enough? Seems that you are also passionate about reinventing the wheels. These two GitHub projects, build-your-own-x and project-based-learning , collected many wheel-reinventing tutorials, e.g., text editor, virtual machine, docker, TCP and so on.","title":"How to learn Git"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GitHub/","text":"GitHub GitHub \u662f\u4ec0\u4e48 \u4ece\u529f\u80fd\u4e0a\u6765\u8bf4\uff0cGitHub \u662f\u4e00\u4e2a\u5728\u7ebf\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u4f60\u53ef\u4ee5\u5c06\u4f60\u7684\u672c\u5730 Git \u4ed3\u5e93\u6258\u7ba1\u5230 GitHub \u4e0a\uff0c\u4f9b\u591a\u4eba\u540c\u65f6\u5f00\u53d1\u6d4f\u89c8\u3002\u4f46\u73b0\u5982\u4eca GitHub \u7684\u610f\u4e49\u5df2\u8fdc\u4e0d\u6b62\u5982\u6b64\uff0c\u5b83\u5df2\u7ecf\u6f14\u53d8\u4e3a\u4e00\u4e2a\u975e\u5e38\u6d3b\u8dc3\u4e14\u8d44\u6e90\u6781\u4e3a\u4e30\u5bcc\u7684\u5f00\u6e90\u4ea4\u6d41\u793e\u533a\u3002\u5168\u4e16\u754c\u7684\u8f6f\u4ef6\u5f00\u53d1\u8005\u5728 GitHub \u4e0a\u5206\u4eab\u5404\u5f0f\u5404\u6837\u79cd\u7c7b\u7e41\u591a\u7684\u5f00\u6e90\u8f6f\u4ef6\u3002\u5927\u5230\u5de5\u4e1a\u7ea7\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6 PyTorch, TensorFlow\uff0c\u5c0f\u5230\u51e0\u5341\u884c\u7684\u5b9e\u7528\u811a\u672c\uff0c\u65e2\u6709\u786c\u6838\u7684\u77e5\u8bc6\u5206\u4eab\uff0c\u4e5f\u6709\u4fdd\u59c6\u7ea7\u7684\u6559\u7a0b\u6307\u5bfc\uff0c\u751a\u81f3\u5f88\u591a\u6280\u672f\u4e66\u7c4d\u4e5f\u5728 GitHub\u4e0a\u5f00\u6e90\uff08\u4f8b\u5982\u8bf8\u4f4d\u6b63\u5728\u770b\u7684\u8fd9\u672c\u2014\u2014\u5982\u679c\u6211\u539a\u7740\u8138\u76ae\u52c9\u5f3a\u79f0\u4e4b\u4e3a\u4e66\u7684\u8bdd\uff09\u3002\u95f2\u6765\u65e0\u4e8b\u901b\u901b GitHub \u5df2\u7ecf\u6210\u4e3a\u4e86\u6211\u65e5\u5e38\u751f\u6d3b\u7684\u4e00\u90e8\u5206\u3002 \u5728 GitHub \u91cc\uff0c\u661f\u661f\u662f\u5bf9\u4e00\u4e2a\u9879\u76ee\u81f3\u9ad8\u65e0\u4e0a\u7684\u80af\u5b9a\uff0c\u5982\u679c\u4f60\u89c9\u5f97\u8fd9\u672c\u4e66\u5bf9\u4f60\u6709\u7528\u7684\u8bdd\uff0c\u6b22\u8fce\u901a\u8fc7\u53f3\u4e0a\u89d2\u7684\u94fe\u63a5\u8fdb\u5165\u4ed3\u5e93\u4e3b\u9875\u732e\u51fa\u4f60\u5b9d\u8d35\u7684\u661f\u661f\u2728\u3002 \u5982\u4f55\u4f7f\u7528 GitHub \u5982\u679c\u4f60\u8fd8\u4ece\u672a\u5728 GitHub \u4e0a\u5efa\u7acb\u8fc7\u81ea\u5df1\u7684\u8fdc\u7a0b\u4ed3\u5e93\uff0c\u4e5f\u6ca1\u6709\u514b\u9686\u8fc7\u522b\u4eba\u7684\u4ee3\u7801\uff0c\u90a3\u4e48\u6211\u5efa\u8bae\u4f60\u4ece GitHub\u7684\u5b98\u65b9\u6559\u7a0b \u5f00\u59cb\u81ea\u5df1\u7684\u5f00\u6e90\u4e4b\u65c5\u3002 \u5982\u679c\u4f60\u60f3\u65f6\u523b\u5173\u6ce8 GitHub \u4e0a\u4e00\u4e9b\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u90a3\u4e48\u6211\u5411\u4f60\u91cd\u78c5\u63a8\u8350 HelloGitHub \u8fd9\u4e2a\u7f51\u7ad9\u4ee5\u53ca\u5b83\u7684\u540c\u540d\u5fae\u4fe1\u516c\u4f17\u53f7\u3002\u5b83\u4f1a\u5b9a\u671f\u6536\u5f55 GitHub \u4e0a\u8fd1\u671f\u5f00\u59cb\u6d41\u884c\u7684\u6216\u8005\u975e\u5e38\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u8ba9\u4f60\u6709\u673a\u4f1a\u7b2c\u4e00\u65f6\u95f4\u63a5\u89e6\u5404\u7c7b\u4f18\u8d28\u8d44\u6e90\u3002 GitHub \u4e4b\u6240\u4ee5\u6210\u529f\uff0c\u6211\u60f3\u662f\u5f97\u76ca\u4e8e\u201c\u6211\u4e3a\u4eba\u4eba\uff0c\u4eba\u4eba\u4e3a\u6211\u201d\u7684\u5f00\u6e90\u7cbe\u795e\uff0c\u5f97\u76ca\u4e8e\u77e5\u8bc6\u5206\u4eab\u7684\u5feb\u4e50\u3002\u5982\u679c\u4f60\u4e5f\u60f3\u6210\u4e3a\u4e0b\u4e00\u4e2a\u4e07\u4eba\u656c\u4ef0\u7684\u5f00\u6e90\u5927\u4f6c\uff0c\u6216\u8005\u4e0b\u4e00\u4e2a star \u7834\u4e07\u7684\u9879\u76ee\u4f5c\u8005\u3002\u90a3\u5c31\u628a\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7075\u611f\u4e00\u73b0\u7684 idea \u5316\u4f5c\u4ee3\u7801\uff0c\u5c55\u793a\u5728 GitHub \u4e0a\u5427\uff5e \u4e0d\u8fc7\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u5f00\u6e90\u793e\u533a\u4e0d\u662f\u6cd5\u5916\u4e4b\u5730\uff0c\u5f88\u591a\u5f00\u6e90\u8f6f\u4ef6\u5e76\u4e0d\u662f\u53ef\u4ee5\u968f\u610f\u590d\u5236\u5206\u53d1\u751a\u81f3\u8d29\u5356\u7684\uff0c\u4e86\u89e3\u5404\u7c7b \u5f00\u6e90\u534f\u8bae \u5e76\u9075\u5b88\uff0c\u4e0d\u4ec5\u662f\u6cd5\u5f8b\u7684\u8981\u6c42\uff0c\u66f4\u662f\u6bcf\u4e2a\u5f00\u6e90\u793e\u533a\u6210\u5458\u7684\u8d23\u4efb\u3002","title":"GitHub"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GitHub/#github","text":"","title":"GitHub"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GitHub/#github_1","text":"\u4ece\u529f\u80fd\u4e0a\u6765\u8bf4\uff0cGitHub \u662f\u4e00\u4e2a\u5728\u7ebf\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u4f60\u53ef\u4ee5\u5c06\u4f60\u7684\u672c\u5730 Git \u4ed3\u5e93\u6258\u7ba1\u5230 GitHub \u4e0a\uff0c\u4f9b\u591a\u4eba\u540c\u65f6\u5f00\u53d1\u6d4f\u89c8\u3002\u4f46\u73b0\u5982\u4eca GitHub \u7684\u610f\u4e49\u5df2\u8fdc\u4e0d\u6b62\u5982\u6b64\uff0c\u5b83\u5df2\u7ecf\u6f14\u53d8\u4e3a\u4e00\u4e2a\u975e\u5e38\u6d3b\u8dc3\u4e14\u8d44\u6e90\u6781\u4e3a\u4e30\u5bcc\u7684\u5f00\u6e90\u4ea4\u6d41\u793e\u533a\u3002\u5168\u4e16\u754c\u7684\u8f6f\u4ef6\u5f00\u53d1\u8005\u5728 GitHub \u4e0a\u5206\u4eab\u5404\u5f0f\u5404\u6837\u79cd\u7c7b\u7e41\u591a\u7684\u5f00\u6e90\u8f6f\u4ef6\u3002\u5927\u5230\u5de5\u4e1a\u7ea7\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6 PyTorch, TensorFlow\uff0c\u5c0f\u5230\u51e0\u5341\u884c\u7684\u5b9e\u7528\u811a\u672c\uff0c\u65e2\u6709\u786c\u6838\u7684\u77e5\u8bc6\u5206\u4eab\uff0c\u4e5f\u6709\u4fdd\u59c6\u7ea7\u7684\u6559\u7a0b\u6307\u5bfc\uff0c\u751a\u81f3\u5f88\u591a\u6280\u672f\u4e66\u7c4d\u4e5f\u5728 GitHub\u4e0a\u5f00\u6e90\uff08\u4f8b\u5982\u8bf8\u4f4d\u6b63\u5728\u770b\u7684\u8fd9\u672c\u2014\u2014\u5982\u679c\u6211\u539a\u7740\u8138\u76ae\u52c9\u5f3a\u79f0\u4e4b\u4e3a\u4e66\u7684\u8bdd\uff09\u3002\u95f2\u6765\u65e0\u4e8b\u901b\u901b GitHub \u5df2\u7ecf\u6210\u4e3a\u4e86\u6211\u65e5\u5e38\u751f\u6d3b\u7684\u4e00\u90e8\u5206\u3002 \u5728 GitHub \u91cc\uff0c\u661f\u661f\u662f\u5bf9\u4e00\u4e2a\u9879\u76ee\u81f3\u9ad8\u65e0\u4e0a\u7684\u80af\u5b9a\uff0c\u5982\u679c\u4f60\u89c9\u5f97\u8fd9\u672c\u4e66\u5bf9\u4f60\u6709\u7528\u7684\u8bdd\uff0c\u6b22\u8fce\u901a\u8fc7\u53f3\u4e0a\u89d2\u7684\u94fe\u63a5\u8fdb\u5165\u4ed3\u5e93\u4e3b\u9875\u732e\u51fa\u4f60\u5b9d\u8d35\u7684\u661f\u661f\u2728\u3002","title":"GitHub \u662f\u4ec0\u4e48"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GitHub/#github_2","text":"\u5982\u679c\u4f60\u8fd8\u4ece\u672a\u5728 GitHub \u4e0a\u5efa\u7acb\u8fc7\u81ea\u5df1\u7684\u8fdc\u7a0b\u4ed3\u5e93\uff0c\u4e5f\u6ca1\u6709\u514b\u9686\u8fc7\u522b\u4eba\u7684\u4ee3\u7801\uff0c\u90a3\u4e48\u6211\u5efa\u8bae\u4f60\u4ece GitHub\u7684\u5b98\u65b9\u6559\u7a0b \u5f00\u59cb\u81ea\u5df1\u7684\u5f00\u6e90\u4e4b\u65c5\u3002 \u5982\u679c\u4f60\u60f3\u65f6\u523b\u5173\u6ce8 GitHub \u4e0a\u4e00\u4e9b\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u90a3\u4e48\u6211\u5411\u4f60\u91cd\u78c5\u63a8\u8350 HelloGitHub \u8fd9\u4e2a\u7f51\u7ad9\u4ee5\u53ca\u5b83\u7684\u540c\u540d\u5fae\u4fe1\u516c\u4f17\u53f7\u3002\u5b83\u4f1a\u5b9a\u671f\u6536\u5f55 GitHub \u4e0a\u8fd1\u671f\u5f00\u59cb\u6d41\u884c\u7684\u6216\u8005\u975e\u5e38\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u8ba9\u4f60\u6709\u673a\u4f1a\u7b2c\u4e00\u65f6\u95f4\u63a5\u89e6\u5404\u7c7b\u4f18\u8d28\u8d44\u6e90\u3002 GitHub \u4e4b\u6240\u4ee5\u6210\u529f\uff0c\u6211\u60f3\u662f\u5f97\u76ca\u4e8e\u201c\u6211\u4e3a\u4eba\u4eba\uff0c\u4eba\u4eba\u4e3a\u6211\u201d\u7684\u5f00\u6e90\u7cbe\u795e\uff0c\u5f97\u76ca\u4e8e\u77e5\u8bc6\u5206\u4eab\u7684\u5feb\u4e50\u3002\u5982\u679c\u4f60\u4e5f\u60f3\u6210\u4e3a\u4e0b\u4e00\u4e2a\u4e07\u4eba\u656c\u4ef0\u7684\u5f00\u6e90\u5927\u4f6c\uff0c\u6216\u8005\u4e0b\u4e00\u4e2a star \u7834\u4e07\u7684\u9879\u76ee\u4f5c\u8005\u3002\u90a3\u5c31\u628a\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7075\u611f\u4e00\u73b0\u7684 idea \u5316\u4f5c\u4ee3\u7801\uff0c\u5c55\u793a\u5728 GitHub \u4e0a\u5427\uff5e \u4e0d\u8fc7\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u5f00\u6e90\u793e\u533a\u4e0d\u662f\u6cd5\u5916\u4e4b\u5730\uff0c\u5f88\u591a\u5f00\u6e90\u8f6f\u4ef6\u5e76\u4e0d\u662f\u53ef\u4ee5\u968f\u610f\u590d\u5236\u5206\u53d1\u751a\u81f3\u8d29\u5356\u7684\uff0c\u4e86\u89e3\u5404\u7c7b \u5f00\u6e90\u534f\u8bae \u5e76\u9075\u5b88\uff0c\u4e0d\u4ec5\u662f\u6cd5\u5f8b\u7684\u8981\u6c42\uff0c\u66f4\u662f\u6bcf\u4e2a\u5f00\u6e90\u793e\u533a\u6210\u5458\u7684\u8d23\u4efb\u3002","title":"\u5982\u4f55\u4f7f\u7528 GitHub"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/LaTeX/","text":"LaTeX \u4e3a\u4ec0\u4e48\u5b66 LaTeX \u5982\u679c\u4f60\u9700\u8981\u5199\u8bba\u6587\uff0c\u90a3\u4e48\u8bf7\u76f4\u63a5\u8df3\u5230\u4e0b\u4e00\u8282\uff0c\u56e0\u4e3a\u4f60\u4e0d\u5b66\u4e5f\u5f97\u5b66\u3002 LaTeX \u662f\u4e00\u79cd\u57fa\u4e8e TeX \u7684\u6392\u7248\u7cfb\u7edf\uff0c\u7531\u56fe\u7075\u5956\u5f97\u4e3b Lamport \u5f00\u53d1\uff0c\u800c Tex \u5219\u662f\u7531 Knuth \u6700\u521d\u5f00\u53d1\uff0c\u8fd9\u4e24\u4f4d\u90fd\u662f\u8ba1\u7b97\u673a\u754c\u7684\u5de8\u64d8\u3002\u5f53\u7136\u5f00\u53d1\u8005\u5f3a\u5e76\u4e0d\u662f\u6211\u4eec\u5b66\u4e60 LaTeX \u7684\u7406\u7531\uff0cLaTeX \u548c\u5e38\u89c1\u7684\u6240\u89c1\u5373\u6240\u5f97\u7684 Word \u6587\u6863\u6700\u5927\u7684\u533a\u522b\u5c31\u662f\u7528\u6237\u53ea\u9700\u8981\u5173\u6ce8\u5199\u4f5c\u7684\u5185\u5bb9\uff0c\u800c\u6392\u7248\u5219\u5b8c\u5168\u4ea4\u7ed9\u8f6f\u4ef6\u81ea\u52a8\u5b8c\u6210\u3002\u8fd9\u8ba9\u6ca1\u6709\u4efb\u4f55\u6392\u7248\u7ecf\u9a8c\u7684\u666e\u901a\u4eba\u5f97\u4ee5\u5199\u51fa\u6392\u7248\u975e\u5e38\u4e13\u4e1a\u7684\u8bba\u6587\u6216\u6587\u7ae0\u3002 Berkeley \u8ba1\u7b97\u673a\u7cfb\u6559\u6388 Christos Papadimitriou \u66fe\u8bf4\u8fc7\u4e00\u53e5\u534a\u5f00\u73a9\u7b11\u7684\u8bdd\uff1a Every time I read a LaTeX document, I think, wow, this must be correct! \u5982\u4f55\u5b66\u4e60 LaTeX \u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a LaTeX \u7684\u73af\u5883\u914d\u7f6e\u662f\u4e2a\u6bd4\u8f83\u5934\u75bc\u7684\u95ee\u9898\u3002\u5982\u679c\u4f60\u672c\u5730\u914d\u7f6e LaTeX \u73af\u5883\u51fa\u73b0\u4e86\u95ee\u9898\uff0c\u53ef\u4ee5\u8003\u8651\u4f7f\u7528 Overleaf \u8fd9\u4e2a\u5728\u7ebf LaTeX \u7f16\u8f91\u7f51\u7ad9\u3002\u7ad9\u5185\u4e0d\u4ec5\u6709\u5404\u79cd\u5404\u6837\u7684 LaTeX \u6a21\u7248\u4f9b\u4f60\u9009\u62e9\uff0c\u8fd8\u514d\u53bb\u4e86\u73af\u5883\u914d\u7f6e\u7684\u96be\u9898\u3002 \u9605\u8bfb\u4e0b\u9762\u4e09\u7bc7 Tutorial: Part-1 , Part-2 , Part-3 \u3002 \u5b66\u4e60 LaTeX \u6700\u597d\u7684\u65b9\u5f0f\u5f53\u7136\u662f\u5199\u8bba\u6587\uff0c\u4e0d\u8fc7\u4ece\u4e00\u95e8\u6570\u5b66\u8bfe\u5165\u624b\u7528 LaTeX \u5199\u4f5c\u4e1a\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u9009\u62e9\u3002 \u5176\u4ed6\u503c\u5f97\u63a8\u8350\u7684\u5165\u95e8\u5b66\u4e60\u8d44\u6599\u5982\u4e0b\uff1a \u4e00\u4efd\u7b80\u77ed\u7684\u5b89\u88c5 LaTeX \u7684\u4ecb\u7ecd [ GitHub ] \u6216\u8005 TEX Live \u6307\u5357\uff08texlive-zh-cn\uff09[ PDF ] \u53ef\u4ee5\u5e2e\u52a9\u4f60\u5b8c\u6210\u5b89\u88c5\u548c\u73af\u5883\u914d\u7f6e\u8fc7\u7a0b \u4e00\u4efd\uff08\u4e0d\u592a\uff09\u7b80\u77ed\u7684 LaTeX2\u03b5 \u4ecb\u7ecd\uff08lshort-zh-cn\uff09[ PDF ] [ GitHub ] \u662f\u7531 CTEX \u5f00\u53d1\u5c0f\u7ec4\u7ffb\u8bd1\u7684\uff0c\u53ef\u4ee5\u5e2e\u52a9\u4f60\u5feb\u901f\u51c6\u786e\u5730\u5165\u95e8\uff0c\u5efa\u8bae\u901a\u8bfb\u4e00\u904d \u5218\u6d77\u6d0b\u7684\u300aLaTeX \u5165\u95e8\u300b\uff0c\u53ef\u4ee5\u5f53\u4f5c\u5de5\u5177\u4e66\u6765\u9605\u8bfb\uff0c\u6709\u95ee\u9898\u518d\u67e5\u627e\uff0c\u8df3\u8fc7 CTEX \u5957\u88c5\u90e8\u5206 \u73b0\u4ee3 LaTeX \u5165\u95e8\u8bb2\u5ea7 \u4e00\u4efd\u5176\u5b9e\u5f88\u77ed\u7684 LaTeX \u5165\u95e8\u6587\u6863","title":"LaTeX"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/LaTeX/#latex","text":"","title":"LaTeX"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/LaTeX/#latex_1","text":"\u5982\u679c\u4f60\u9700\u8981\u5199\u8bba\u6587\uff0c\u90a3\u4e48\u8bf7\u76f4\u63a5\u8df3\u5230\u4e0b\u4e00\u8282\uff0c\u56e0\u4e3a\u4f60\u4e0d\u5b66\u4e5f\u5f97\u5b66\u3002 LaTeX \u662f\u4e00\u79cd\u57fa\u4e8e TeX \u7684\u6392\u7248\u7cfb\u7edf\uff0c\u7531\u56fe\u7075\u5956\u5f97\u4e3b Lamport \u5f00\u53d1\uff0c\u800c Tex \u5219\u662f\u7531 Knuth \u6700\u521d\u5f00\u53d1\uff0c\u8fd9\u4e24\u4f4d\u90fd\u662f\u8ba1\u7b97\u673a\u754c\u7684\u5de8\u64d8\u3002\u5f53\u7136\u5f00\u53d1\u8005\u5f3a\u5e76\u4e0d\u662f\u6211\u4eec\u5b66\u4e60 LaTeX \u7684\u7406\u7531\uff0cLaTeX \u548c\u5e38\u89c1\u7684\u6240\u89c1\u5373\u6240\u5f97\u7684 Word \u6587\u6863\u6700\u5927\u7684\u533a\u522b\u5c31\u662f\u7528\u6237\u53ea\u9700\u8981\u5173\u6ce8\u5199\u4f5c\u7684\u5185\u5bb9\uff0c\u800c\u6392\u7248\u5219\u5b8c\u5168\u4ea4\u7ed9\u8f6f\u4ef6\u81ea\u52a8\u5b8c\u6210\u3002\u8fd9\u8ba9\u6ca1\u6709\u4efb\u4f55\u6392\u7248\u7ecf\u9a8c\u7684\u666e\u901a\u4eba\u5f97\u4ee5\u5199\u51fa\u6392\u7248\u975e\u5e38\u4e13\u4e1a\u7684\u8bba\u6587\u6216\u6587\u7ae0\u3002 Berkeley \u8ba1\u7b97\u673a\u7cfb\u6559\u6388 Christos Papadimitriou \u66fe\u8bf4\u8fc7\u4e00\u53e5\u534a\u5f00\u73a9\u7b11\u7684\u8bdd\uff1a Every time I read a LaTeX document, I think, wow, this must be correct!","title":"\u4e3a\u4ec0\u4e48\u5b66 LaTeX"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/LaTeX/#latex_2","text":"\u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a LaTeX \u7684\u73af\u5883\u914d\u7f6e\u662f\u4e2a\u6bd4\u8f83\u5934\u75bc\u7684\u95ee\u9898\u3002\u5982\u679c\u4f60\u672c\u5730\u914d\u7f6e LaTeX \u73af\u5883\u51fa\u73b0\u4e86\u95ee\u9898\uff0c\u53ef\u4ee5\u8003\u8651\u4f7f\u7528 Overleaf \u8fd9\u4e2a\u5728\u7ebf LaTeX \u7f16\u8f91\u7f51\u7ad9\u3002\u7ad9\u5185\u4e0d\u4ec5\u6709\u5404\u79cd\u5404\u6837\u7684 LaTeX \u6a21\u7248\u4f9b\u4f60\u9009\u62e9\uff0c\u8fd8\u514d\u53bb\u4e86\u73af\u5883\u914d\u7f6e\u7684\u96be\u9898\u3002 \u9605\u8bfb\u4e0b\u9762\u4e09\u7bc7 Tutorial: Part-1 , Part-2 , Part-3 \u3002 \u5b66\u4e60 LaTeX \u6700\u597d\u7684\u65b9\u5f0f\u5f53\u7136\u662f\u5199\u8bba\u6587\uff0c\u4e0d\u8fc7\u4ece\u4e00\u95e8\u6570\u5b66\u8bfe\u5165\u624b\u7528 LaTeX \u5199\u4f5c\u4e1a\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u9009\u62e9\u3002 \u5176\u4ed6\u503c\u5f97\u63a8\u8350\u7684\u5165\u95e8\u5b66\u4e60\u8d44\u6599\u5982\u4e0b\uff1a \u4e00\u4efd\u7b80\u77ed\u7684\u5b89\u88c5 LaTeX \u7684\u4ecb\u7ecd [ GitHub ] \u6216\u8005 TEX Live \u6307\u5357\uff08texlive-zh-cn\uff09[ PDF ] \u53ef\u4ee5\u5e2e\u52a9\u4f60\u5b8c\u6210\u5b89\u88c5\u548c\u73af\u5883\u914d\u7f6e\u8fc7\u7a0b \u4e00\u4efd\uff08\u4e0d\u592a\uff09\u7b80\u77ed\u7684 LaTeX2\u03b5 \u4ecb\u7ecd\uff08lshort-zh-cn\uff09[ PDF ] [ GitHub ] \u662f\u7531 CTEX \u5f00\u53d1\u5c0f\u7ec4\u7ffb\u8bd1\u7684\uff0c\u53ef\u4ee5\u5e2e\u52a9\u4f60\u5feb\u901f\u51c6\u786e\u5730\u5165\u95e8\uff0c\u5efa\u8bae\u901a\u8bfb\u4e00\u904d \u5218\u6d77\u6d0b\u7684\u300aLaTeX \u5165\u95e8\u300b\uff0c\u53ef\u4ee5\u5f53\u4f5c\u5de5\u5177\u4e66\u6765\u9605\u8bfb\uff0c\u6709\u95ee\u9898\u518d\u67e5\u627e\uff0c\u8df3\u8fc7 CTEX \u5957\u88c5\u90e8\u5206 \u73b0\u4ee3 LaTeX \u5165\u95e8\u8bb2\u5ea7 \u4e00\u4efd\u5176\u5b9e\u5f88\u77ed\u7684 LaTeX \u5165\u95e8\u6587\u6863","title":"\u5982\u4f55\u5b66\u4e60 LaTeX"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/","text":"Scoop \u4e3a\u4ec0\u4e48\u4f7f\u7528 Scoop \u5728 Windows \u4e0b\uff0c\u642d\u5efa\u5f00\u53d1\u73af\u5883\u4e00\u76f4\u662f\u4e00\u4e2a\u590d\u6742\u4e14\u56f0\u96be\u7684\u95ee\u9898\u3002\u7531\u4e8e\u6ca1\u6709\u4e00\u4e2a\u7edf\u4e00\u7684\u6807\u51c6\uff0c\u5bfc\u81f4\u5404\u79cd\u5f00\u53d1\u73af\u5883\u7684\u5b89\u88c5\u65b9\u5f0f\u5dee\u5f02\u5de8\u5927\uff0c\u9700\u8981\u4ed8\u51fa\u5f88\u591a\u4e0d\u5fc5\u8981\u7684\u65f6\u95f4\u6210\u672c\u3002\u800c Scoop \u53ef\u4ee5\u5e2e\u52a9\u4f60\u7edf\u4e00\u5b89\u88c5\u5e76\u7ba1\u7406\u5e38\u89c1\u7684\u5f00\u53d1\u8f6f\u4ef6\uff0c\u7701\u53bb\u4e86\u624b\u52a8\u4e0b\u8f7d\u5b89\u88c5\uff0c\u914d\u7f6e\u73af\u5883\u53d8\u91cf\u7b49\u7e41\u7410\u6b65\u9aa4\u3002 \u4f8b\u5982\u5b89\u88c5 python \u548c nodejs \u53ea\u9700\u8981\u6267\u884c\uff1a scoop install python scoop install nodejs \u5b89\u88c5 Scoop Scoop \u9700\u8981 Windows PowerShell 5.1 \u6216\u8005 PowerShell \u4f5c\u4e3a\u8fd0\u884c\u73af\u5883\uff0c\u5982\u679c\u4f60\u4f7f\u7528\u7684\u662f Windows 10 \u53ca\u4ee5\u4e0a\u7248\u672c\uff0cWindows PowerShell \u662f\u5185\u7f6e\u5728\u7cfb\u7edf\u4e2d\u7684\u3002\u800c Windows 7 \u5185\u7f6e\u7684 Windows PowerShell \u7248\u672c\u8fc7\u4e8e\u9648\u65e7\uff0c\u4f60\u9700\u8981\u624b\u52a8\u5b89\u88c5\u65b0\u7248\u672c\u7684 PowerShell\u3002 \u7531\u4e8e\u53d1\u73b0\u5f88\u591a\u540c\u5b66\u5728\u8bbe\u7f6e Windows \u7528\u6237\u65f6\u4f7f\u7528\u4e86\u4e2d\u6587\u7528\u6237\u540d\uff0c\u5bfc\u81f4\u4e86\u7528\u6237\u76ee\u5f55\u4e5f\u53d8\u6210\u4e86\u4e2d\u6587\u540d\u3002\u5982\u679c\u6309\u7167 Scoop \u7684\u9ed8\u8ba4\u65b9\u5f0f\u5c06\u8f6f\u4ef6\u5b89\u88c5\u5230\u7528\u6237\u76ee\u5f55\u4e0b\uff0c\u53ef\u80fd\u4f1a\u9020\u6210\u90e8\u5206\u8f6f\u4ef6\u6267\u884c\u9519\u8bef\u3002\u6240\u4ee5\u8fd9\u91cc\u63a8\u8350\u5b89\u88c5\u5230\u81ea\u5b9a\u4e49\u76ee\u5f55\uff0c\u5982\u679c\u9700\u8981\u5176\u4ed6\u5b89\u88c5\u65b9\u5f0f\u8bf7\u53c2\u8003\uff1a ScoopInstaller/Install # \u8bbe\u7f6e PowerShell \u6267\u884c\u7b56\u7565 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser # \u4e0b\u8f7d\u5b89\u88c5\u811a\u672c irm get.scoop.sh -outfile 'install.ps1' # \u6267\u884c\u5b89\u88c5, --ScoopDir \u53c2\u6570\u6307\u5b9a Scoop \u5b89\u88c5\u8def\u5f84 .\\install.ps1 -ScoopDir 'C:\\Scoop' \u4f7f\u7528 Scoop Scoop \u7684\u5b98\u65b9\u6587\u6863\u5bf9\u4e8e\u65b0\u624b\u975e\u5e38\u53cb\u597d\uff0c\u76f8\u5bf9\u4e8e\u5728\u6b64\u5904\u8d58\u8ff0\u66f4\u63a8\u8350\u9605\u8bfb \u5b98\u65b9\u6587\u6863 \u6216 \u5feb\u901f\u5165\u95e8 \u3002 Q&A Scoop \u80fd\u914d\u7f6e\u955c\u50cf\u6e90\u5417\uff1f Scoop \u793e\u533a\u4ec5\u7ef4\u62a4\u5b89\u88c5\u914d\u7f6e\uff0c\u6240\u6709\u7684\u8f6f\u4ef6\u90fd\u662f\u4ece\u8be5\u8f6f\u4ef6\u5b98\u65b9\u63d0\u4f9b\u7684\u4e0b\u8f7d\u94fe\u63a5\u8fdb\u884c\u4e0b\u8f7d\uff0c\u6240\u4ee5\u65e0\u6cd5\u63d0\u4f9b\u955c\u50cf\u6e90\u3002\u5982\u679c\u56e0\u4e3a\u4f60\u7684\u7f51\u7edc\u73af\u5883\u5bfc\u81f4\u591a\u6b21\u4e0b\u8f7d\u5931\u8d25\uff0c\u90a3\u4e48\u4f60\u9700\u8981\u4e00\u70b9\u70b9 \u9b54\u6cd5 \u3002 \u4e3a\u4ec0\u4e48\u627e\u4e0d\u5230 Java8\uff1f \u539f\u56e0\u540c\u4e0a\uff0c\u5b98\u65b9\u5df2\u4e0d\u518d\u63d0\u4f9b Java8 \u7684\u4e0b\u8f7d\u94fe\u63a5\uff0c\u63a8\u8350\u4f7f\u7528 ojdkbuild8 \u66ff\u4ee3\u3002 \u6211\u9700\u8981\u5b89\u88c5 python2 \u8be5\u5982\u4f55\u64cd\u4f5c\uff1f \u5bf9\u4e8e\u5df2\u7ecf\u8fc7\u65f6\u5f03\u7528\u7684\u8f6f\u4ef6\uff0cScoop \u793e\u533a\u4f1a\u5c06\u5176\u4ece ScoopInstaller/Main \u4e2d\u79fb\u9664\u5e76\u5c06\u5176\u6dfb\u52a0\u5230 ScoopInstaller/Versions \u4e2d\u3002\u5982\u679c\u4f60\u9700\u8981\u8fd9\u4e9b\u8f6f\u4ef6\u7684\u8bdd\u9700\u8981\u624b\u52a8\u6dfb\u52a0 bucket\uff1a scoop bucket add versions scoop install python27","title":"Scoop"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#scoop","text":"","title":"Scoop"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#scoop_1","text":"\u5728 Windows \u4e0b\uff0c\u642d\u5efa\u5f00\u53d1\u73af\u5883\u4e00\u76f4\u662f\u4e00\u4e2a\u590d\u6742\u4e14\u56f0\u96be\u7684\u95ee\u9898\u3002\u7531\u4e8e\u6ca1\u6709\u4e00\u4e2a\u7edf\u4e00\u7684\u6807\u51c6\uff0c\u5bfc\u81f4\u5404\u79cd\u5f00\u53d1\u73af\u5883\u7684\u5b89\u88c5\u65b9\u5f0f\u5dee\u5f02\u5de8\u5927\uff0c\u9700\u8981\u4ed8\u51fa\u5f88\u591a\u4e0d\u5fc5\u8981\u7684\u65f6\u95f4\u6210\u672c\u3002\u800c Scoop \u53ef\u4ee5\u5e2e\u52a9\u4f60\u7edf\u4e00\u5b89\u88c5\u5e76\u7ba1\u7406\u5e38\u89c1\u7684\u5f00\u53d1\u8f6f\u4ef6\uff0c\u7701\u53bb\u4e86\u624b\u52a8\u4e0b\u8f7d\u5b89\u88c5\uff0c\u914d\u7f6e\u73af\u5883\u53d8\u91cf\u7b49\u7e41\u7410\u6b65\u9aa4\u3002 \u4f8b\u5982\u5b89\u88c5 python \u548c nodejs \u53ea\u9700\u8981\u6267\u884c\uff1a scoop install python scoop install nodejs","title":"\u4e3a\u4ec0\u4e48\u4f7f\u7528 Scoop"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#scoop_2","text":"Scoop \u9700\u8981 Windows PowerShell 5.1 \u6216\u8005 PowerShell \u4f5c\u4e3a\u8fd0\u884c\u73af\u5883\uff0c\u5982\u679c\u4f60\u4f7f\u7528\u7684\u662f Windows 10 \u53ca\u4ee5\u4e0a\u7248\u672c\uff0cWindows PowerShell \u662f\u5185\u7f6e\u5728\u7cfb\u7edf\u4e2d\u7684\u3002\u800c Windows 7 \u5185\u7f6e\u7684 Windows PowerShell \u7248\u672c\u8fc7\u4e8e\u9648\u65e7\uff0c\u4f60\u9700\u8981\u624b\u52a8\u5b89\u88c5\u65b0\u7248\u672c\u7684 PowerShell\u3002 \u7531\u4e8e\u53d1\u73b0\u5f88\u591a\u540c\u5b66\u5728\u8bbe\u7f6e Windows \u7528\u6237\u65f6\u4f7f\u7528\u4e86\u4e2d\u6587\u7528\u6237\u540d\uff0c\u5bfc\u81f4\u4e86\u7528\u6237\u76ee\u5f55\u4e5f\u53d8\u6210\u4e86\u4e2d\u6587\u540d\u3002\u5982\u679c\u6309\u7167 Scoop \u7684\u9ed8\u8ba4\u65b9\u5f0f\u5c06\u8f6f\u4ef6\u5b89\u88c5\u5230\u7528\u6237\u76ee\u5f55\u4e0b\uff0c\u53ef\u80fd\u4f1a\u9020\u6210\u90e8\u5206\u8f6f\u4ef6\u6267\u884c\u9519\u8bef\u3002\u6240\u4ee5\u8fd9\u91cc\u63a8\u8350\u5b89\u88c5\u5230\u81ea\u5b9a\u4e49\u76ee\u5f55\uff0c\u5982\u679c\u9700\u8981\u5176\u4ed6\u5b89\u88c5\u65b9\u5f0f\u8bf7\u53c2\u8003\uff1a ScoopInstaller/Install # \u8bbe\u7f6e PowerShell \u6267\u884c\u7b56\u7565 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser # \u4e0b\u8f7d\u5b89\u88c5\u811a\u672c irm get.scoop.sh -outfile 'install.ps1' # \u6267\u884c\u5b89\u88c5, --ScoopDir \u53c2\u6570\u6307\u5b9a Scoop \u5b89\u88c5\u8def\u5f84 .\\install.ps1 -ScoopDir 'C:\\Scoop'","title":"\u5b89\u88c5 Scoop"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#scoop_3","text":"Scoop \u7684\u5b98\u65b9\u6587\u6863\u5bf9\u4e8e\u65b0\u624b\u975e\u5e38\u53cb\u597d\uff0c\u76f8\u5bf9\u4e8e\u5728\u6b64\u5904\u8d58\u8ff0\u66f4\u63a8\u8350\u9605\u8bfb \u5b98\u65b9\u6587\u6863 \u6216 \u5feb\u901f\u5165\u95e8 \u3002","title":"\u4f7f\u7528 Scoop"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#qa","text":"","title":"Q&A"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#scoop_4","text":"Scoop \u793e\u533a\u4ec5\u7ef4\u62a4\u5b89\u88c5\u914d\u7f6e\uff0c\u6240\u6709\u7684\u8f6f\u4ef6\u90fd\u662f\u4ece\u8be5\u8f6f\u4ef6\u5b98\u65b9\u63d0\u4f9b\u7684\u4e0b\u8f7d\u94fe\u63a5\u8fdb\u884c\u4e0b\u8f7d\uff0c\u6240\u4ee5\u65e0\u6cd5\u63d0\u4f9b\u955c\u50cf\u6e90\u3002\u5982\u679c\u56e0\u4e3a\u4f60\u7684\u7f51\u7edc\u73af\u5883\u5bfc\u81f4\u591a\u6b21\u4e0b\u8f7d\u5931\u8d25\uff0c\u90a3\u4e48\u4f60\u9700\u8981\u4e00\u70b9\u70b9 \u9b54\u6cd5 \u3002","title":"Scoop \u80fd\u914d\u7f6e\u955c\u50cf\u6e90\u5417\uff1f"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#java8","text":"\u539f\u56e0\u540c\u4e0a\uff0c\u5b98\u65b9\u5df2\u4e0d\u518d\u63d0\u4f9b Java8 \u7684\u4e0b\u8f7d\u94fe\u63a5\uff0c\u63a8\u8350\u4f7f\u7528 ojdkbuild8 \u66ff\u4ee3\u3002","title":"\u4e3a\u4ec0\u4e48\u627e\u4e0d\u5230 Java8\uff1f"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#python2","text":"\u5bf9\u4e8e\u5df2\u7ecf\u8fc7\u65f6\u5f03\u7528\u7684\u8f6f\u4ef6\uff0cScoop \u793e\u533a\u4f1a\u5c06\u5176\u4ece ScoopInstaller/Main \u4e2d\u79fb\u9664\u5e76\u5c06\u5176\u6dfb\u52a0\u5230 ScoopInstaller/Versions \u4e2d\u3002\u5982\u679c\u4f60\u9700\u8981\u8fd9\u4e9b\u8f6f\u4ef6\u7684\u8bdd\u9700\u8981\u624b\u52a8\u6dfb\u52a0 bucket\uff1a scoop bucket add versions scoop install python27","title":"\u6211\u9700\u8981\u5b89\u88c5 python2 \u8be5\u5982\u4f55\u64cd\u4f5c\uff1f"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/","text":"Vim Why Vim In my opinion, the Vim editor has the following benefits: It keeps your finger on the keyboard throughout the development and moving the cursor without the arrow keys keeps your fingers in the best position for typing. Convenient file switching and panel controls allow you to edit multiple files simultaneously or even different locations of the same file. Vim's macros can batch repeat operations (e.g. add tabs to multi-lines, etc.) Vim is well-suited for Linux servers without GUI. When you connect to a remote server through ssh , you can only develop from the command line because there is no GUI (of course, many IDEs such as PyCharm now provide ssh plugins to solve this problem). A rich ecology of plugins gives you the world's most fancy command-line editor. How to learn Vim Unfortunately Vim does have a pretty steep learning curve and it took me a few weeks to get used to developing with Vim. You'll feel very uncomfortable at first, but once you get past the initial stages, trust me, you'll fall in love with Vim. There is a vast amount of learning material available on Vim, but the best way to master it is to use it in your daily development, no need to learn all the fancy advanced Vim tricks right away. The recommended learning path is as follows: Read This tutorial first to understand the basic Vim concepts and usage. Use Vim's own vimtutor to practice. After installing Vim, type vimtutor directly into the command line to enter the practice program. Then you can force yourself to use Vim for development, and you can install Vim plugins in your favorite IDE. Once you're fully comfortable with Vim, a new world opens up to you, and you can configure your own Vim on demand (by modifying the .vimrc file), and there are countless resources on the Internet to learn from. If you want to know more about how to customize Vim to suit your needs, Learn Vim Script the Hard Way is a perfect start point. Remapping Keys Ctrl and Esc keys are probably two of the most used keys in Vim. However, these two keys are pretty far away from home row. In order to make it easier to reach these keys, you can remap CapsLock to Esc or Ctrl. On Windows, Powertoys or AutoHotkey can be used to achieve this goal. On macOS, you can remap keys in system settings, see this page . Karabiner-Elements also works. A better solution is to make CapsLock function as Esc and Ctrl simultaneously. Click CapsLock to send Esc, hold CapsLock to use it as Ctrl key. Here's how to do it on different systems: Windows MacOS Linux Recommended References Neil, Drew. Practical Vim: Edit Text at the Speed of Thought. N.p., Pragmatic Bookshelf, 2015. Neil, Drew. Modern Vim: Craft Your Development Environment with Vim 8 and Neovim. United States, Pragmatic Bookshelf.","title":"Vim"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#vim","text":"","title":"Vim"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#why-vim","text":"In my opinion, the Vim editor has the following benefits: It keeps your finger on the keyboard throughout the development and moving the cursor without the arrow keys keeps your fingers in the best position for typing. Convenient file switching and panel controls allow you to edit multiple files simultaneously or even different locations of the same file. Vim's macros can batch repeat operations (e.g. add tabs to multi-lines, etc.) Vim is well-suited for Linux servers without GUI. When you connect to a remote server through ssh , you can only develop from the command line because there is no GUI (of course, many IDEs such as PyCharm now provide ssh plugins to solve this problem). A rich ecology of plugins gives you the world's most fancy command-line editor.","title":"Why Vim"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#how-to-learn-vim","text":"Unfortunately Vim does have a pretty steep learning curve and it took me a few weeks to get used to developing with Vim. You'll feel very uncomfortable at first, but once you get past the initial stages, trust me, you'll fall in love with Vim. There is a vast amount of learning material available on Vim, but the best way to master it is to use it in your daily development, no need to learn all the fancy advanced Vim tricks right away. The recommended learning path is as follows: Read This tutorial first to understand the basic Vim concepts and usage. Use Vim's own vimtutor to practice. After installing Vim, type vimtutor directly into the command line to enter the practice program. Then you can force yourself to use Vim for development, and you can install Vim plugins in your favorite IDE. Once you're fully comfortable with Vim, a new world opens up to you, and you can configure your own Vim on demand (by modifying the .vimrc file), and there are countless resources on the Internet to learn from. If you want to know more about how to customize Vim to suit your needs, Learn Vim Script the Hard Way is a perfect start point.","title":"How to learn Vim"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#remapping-keys","text":"Ctrl and Esc keys are probably two of the most used keys in Vim. However, these two keys are pretty far away from home row. In order to make it easier to reach these keys, you can remap CapsLock to Esc or Ctrl. On Windows, Powertoys or AutoHotkey can be used to achieve this goal. On macOS, you can remap keys in system settings, see this page . Karabiner-Elements also works. A better solution is to make CapsLock function as Esc and Ctrl simultaneously. Click CapsLock to send Esc, hold CapsLock to use it as Ctrl key. Here's how to do it on different systems: Windows MacOS Linux","title":"Remapping Keys"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#recommended-references","text":"Neil, Drew. Practical Vim: Edit Text at the Speed of Thought. N.p., Pragmatic Bookshelf, 2015. Neil, Drew. Modern Vim: Craft Your Development Environment with Vim 8 and Neovim. United States, Pragmatic Bookshelf.","title":"Recommended References"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/thesis/","text":"\u6bd5\u4e1a\u8bba\u6587 \u4e3a\u4ec0\u4e48\u5199\u8fd9\u4efd\u6559\u7a0b 2022\u5e74\uff0c\u6211\u672c\u79d1\u6bd5\u4e1a\u4e86\u3002\u5728\u5f00\u59cb\u52a8\u624b\u5199\u6bd5\u4e1a\u8bba\u6587\u7684\u65f6\u5019\uff0c\u6211\u5c34\u5c2c\u5730\u53d1\u73b0\uff0c\u6211\u5bf9 Word \u7684\u638c\u63e1\u7a0b\u5ea6\u4ec5\u9650\u4e8e\u8c03\u8282\u5b57\u4f53\u3001\u4fdd\u5b58\u5bfc\u51fa\u8fd9\u4e9b\u50bb\u74dc\u529f\u80fd\u3002\u66fe\u60f3\u8f6c\u6218 Latex\uff0c\u4f46\u8bba\u6587\u7684\u6bb5\u843d\u683c\u5f0f\u8981\u6c42\u8c03\u6574\u8d77\u6765\u8fd8\u662f\u7528 Word \u66f4\u4e3a\u65b9\u4fbf\uff0c\u7ecf\u8fc7\u4e00\u756a\u75db\u82e6\u7f20\u6597\u4e4b\u540e\uff0c\u603b\u7b97\u662f\u6709\u60ca\u65e0\u9669\u5730\u5b8c\u6210\u4e86\u8bba\u6587\u7684\u5199\u4f5c\u548c\u7b54\u8fa9\u3002\u4e3a\u4e86\u4e0d\u8ba9\u540e\u6765\u8005\u91cd\u8e48\u8986\u8f99\uff0c\u9042\u628a\u76f8\u5173\u8d44\u6e90\u6574\u7406\u6210\u4e00\u4efd\u5f00\u7bb1\u5373\u7528\u7684\u6587\u6863\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u5982\u4f55\u7528 Word \u5199\u6bd5\u4e1a\u8bba\u6587 \u6b63\u5982\u5c06\u5927\u8c61\u88c5\u8fdb\u51b0\u7bb1\u9700\u8981\u4e09\u6b65\uff0c\u7528 Word \u5199\u6bd5\u4e1a\u8bba\u6587\u4e5f\u53ea\u9700\u8981\u7b80\u5355\u4e09\u6b65\uff1a \u786e\u5b9a\u8bba\u6587\u7684\u683c\u5f0f\u8981\u6c42\uff1a\u901a\u5e38\u5b66\u9662\u90fd\u4f1a\u4e0b\u53d1\u6bd5\u4e1a\u8bba\u6587\u7684\u683c\u5f0f\u8981\u6c42\uff08\u5404\u7ea7\u6807\u9898\u7684\u5b57\u4f53\u5b57\u53f7\u3001\u56fe\u4f8b\u548c\u5f15\u7528\u7684\u683c\u5f0f\u7b49\u7b49\uff09\uff0c\u5982\u679c\u66f4\u4e3a\u8d34\u5fc3\u7684\u8bdd\u751a\u81f3\u4f1a\u76f4\u63a5\u7ed9\u51fa\u8bba\u6587\u6a21\u7248\uff08\u5982\u662f\u6b64\u60c5\u51b5\u8bf7\u76f4\u63a5\u8df3\u8f6c\u5230\u4e0b\u4e00\u6b65\uff09\u3002\u5f88\u4e0d\u5e78\u7684\u662f\uff0c\u6211\u7684\u5b66\u9662\u5e76\u6ca1\u6709\u4e0b\u53d1\u6807\u51c6\u7684\u8bba\u6587\u683c\u5f0f\u8981\u6c42\uff0c\u8fd8\u63d0\u4f9b\u4e86\u4e00\u4efd\u683c\u5f0f\u6df7\u4e71\u51e0\u4e4e\u6beb\u65e0\u7528\u5904\u7684\u8bba\u6587\u6a21\u7248\u8188\u5e94\u6211\uff0c\u88ab\u903c\u65e0\u5948\u4e4b\u4e0b\u6211\u627e\u5230\u4e86\u5317\u4eac\u5927\u5b66\u7814\u7a76\u751f\u7684 \u8bba\u6587\u683c\u5f0f\u8981\u6c42 \uff0c\u5e76\u6309\u7167\u5176\u8981\u6c42\u5236\u4f5c\u4e86 \u4e00\u4efd\u6a21\u7248 \uff0c\u5927\u5bb6\u9700\u8981\u7684\u8bdd\u81ea\u53d6\uff0c\u672c\u4eba\u4e0d\u627f\u62c5\u65e0\u6cd5\u6bd5\u4e1a\u7b49\u4efb\u4f55\u8d23\u4efb\u3002 \u5b66\u4e60 Word \u6392\u7248\uff1a\u5230\u8fbe\u8fd9\u4e00\u6b65\u7684\u7ae5\u978b\u5206\u4e3a\u4e24\u7c7b\uff0c\u4e00\u662f\u5df2\u7ecf\u62e5\u6709\u4e86\u5b66\u9662\u63d0\u4f9b\u7684\u6807\u51c6\u6a21\u7248\uff0c\u4e8c\u662f\u53ea\u6709\u4e00\u4efd\u865a\u65e0\u7f25\u7f08\u7684\u683c\u5f0f\u8981\u6c42\u3002\u90a3\u73b0\u5728\u5f53\u52a1\u4e4b\u6025\u5c31\u662f\u5b66\u4e60\u57fa\u7840\u7684 Word \u6392\u7248\u6280\u672f\uff0c\u5bf9\u4e8e\u524d\u8005\u53ef\u4ee5\u5b66\u4f1a\u4f7f\u7528\u6a21\u7248\uff0c\u5bf9\u4e8e\u540e\u8005\u5219\u53ef\u4ee5\u5b66\u4f1a\u5236\u4f5c\u6a21\u7248\u3002\u6b64\u65f6\u5207\u8bb0\u4e0d\u8981\u96c4\u5fc3\u52c3\u52c3\u5730\u9009\u62e9\u4e00\u4e2a\u5341\u51e0\u4e2a\u5c0f\u65f6\u7684 Word \u6559\u5b66\u89c6\u9891\u5f00\u59cb\u5934\u60ac\u6881\u9525\u523a\u80a1\uff0c\u56e0\u4e3a\u751f\u4ea7\u4e00\u4efd\u5e94\u4ed8\u6bd5\u4e1a\u7684\u5b66\u672f\u5783\u573e\u53ea\u8981\u5b66\u534a\u5c0f\u65f6\u80fd\u4e0a\u624b\u5c31\u591f\u4e86\u3002\u6211\u5f53\u65f6\u770b\u7684 \u4e00\u4e2a B \u7ad9\u7684\u6559\u5b66\u89c6\u9891 \uff0c\u77ed\u5c0f\u7cbe\u608d\u975e\u5e38\u5b9e\u7528\uff0c\u5168\u957f\u534a\u5c0f\u65f6\u6781\u901f\u5165\u95e8\u3002 \u751f\u4ea7\u5b66\u672f\u5783\u573e\uff1a\u6700\u5bb9\u6613\u7684\u4e00\u6b65\uff0c\u5927\u5bb6\u516b\u4ed9\u8fc7\u6d77\uff0c\u5404\u663e\u795e\u901a\u5427\uff0c\u795d\u5927\u5bb6\u6bd5\u4e1a\u987a\u5229\uff5e\uff5e","title":"\u6bd5\u4e1a\u8bba\u6587"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/thesis/#_1","text":"","title":"\u6bd5\u4e1a\u8bba\u6587"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/thesis/#_2","text":"2022\u5e74\uff0c\u6211\u672c\u79d1\u6bd5\u4e1a\u4e86\u3002\u5728\u5f00\u59cb\u52a8\u624b\u5199\u6bd5\u4e1a\u8bba\u6587\u7684\u65f6\u5019\uff0c\u6211\u5c34\u5c2c\u5730\u53d1\u73b0\uff0c\u6211\u5bf9 Word \u7684\u638c\u63e1\u7a0b\u5ea6\u4ec5\u9650\u4e8e\u8c03\u8282\u5b57\u4f53\u3001\u4fdd\u5b58\u5bfc\u51fa\u8fd9\u4e9b\u50bb\u74dc\u529f\u80fd\u3002\u66fe\u60f3\u8f6c\u6218 Latex\uff0c\u4f46\u8bba\u6587\u7684\u6bb5\u843d\u683c\u5f0f\u8981\u6c42\u8c03\u6574\u8d77\u6765\u8fd8\u662f\u7528 Word \u66f4\u4e3a\u65b9\u4fbf\uff0c\u7ecf\u8fc7\u4e00\u756a\u75db\u82e6\u7f20\u6597\u4e4b\u540e\uff0c\u603b\u7b97\u662f\u6709\u60ca\u65e0\u9669\u5730\u5b8c\u6210\u4e86\u8bba\u6587\u7684\u5199\u4f5c\u548c\u7b54\u8fa9\u3002\u4e3a\u4e86\u4e0d\u8ba9\u540e\u6765\u8005\u91cd\u8e48\u8986\u8f99\uff0c\u9042\u628a\u76f8\u5173\u8d44\u6e90\u6574\u7406\u6210\u4e00\u4efd\u5f00\u7bb1\u5373\u7528\u7684\u6587\u6863\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002","title":"\u4e3a\u4ec0\u4e48\u5199\u8fd9\u4efd\u6559\u7a0b"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/thesis/#word","text":"\u6b63\u5982\u5c06\u5927\u8c61\u88c5\u8fdb\u51b0\u7bb1\u9700\u8981\u4e09\u6b65\uff0c\u7528 Word \u5199\u6bd5\u4e1a\u8bba\u6587\u4e5f\u53ea\u9700\u8981\u7b80\u5355\u4e09\u6b65\uff1a \u786e\u5b9a\u8bba\u6587\u7684\u683c\u5f0f\u8981\u6c42\uff1a\u901a\u5e38\u5b66\u9662\u90fd\u4f1a\u4e0b\u53d1\u6bd5\u4e1a\u8bba\u6587\u7684\u683c\u5f0f\u8981\u6c42\uff08\u5404\u7ea7\u6807\u9898\u7684\u5b57\u4f53\u5b57\u53f7\u3001\u56fe\u4f8b\u548c\u5f15\u7528\u7684\u683c\u5f0f\u7b49\u7b49\uff09\uff0c\u5982\u679c\u66f4\u4e3a\u8d34\u5fc3\u7684\u8bdd\u751a\u81f3\u4f1a\u76f4\u63a5\u7ed9\u51fa\u8bba\u6587\u6a21\u7248\uff08\u5982\u662f\u6b64\u60c5\u51b5\u8bf7\u76f4\u63a5\u8df3\u8f6c\u5230\u4e0b\u4e00\u6b65\uff09\u3002\u5f88\u4e0d\u5e78\u7684\u662f\uff0c\u6211\u7684\u5b66\u9662\u5e76\u6ca1\u6709\u4e0b\u53d1\u6807\u51c6\u7684\u8bba\u6587\u683c\u5f0f\u8981\u6c42\uff0c\u8fd8\u63d0\u4f9b\u4e86\u4e00\u4efd\u683c\u5f0f\u6df7\u4e71\u51e0\u4e4e\u6beb\u65e0\u7528\u5904\u7684\u8bba\u6587\u6a21\u7248\u8188\u5e94\u6211\uff0c\u88ab\u903c\u65e0\u5948\u4e4b\u4e0b\u6211\u627e\u5230\u4e86\u5317\u4eac\u5927\u5b66\u7814\u7a76\u751f\u7684 \u8bba\u6587\u683c\u5f0f\u8981\u6c42 \uff0c\u5e76\u6309\u7167\u5176\u8981\u6c42\u5236\u4f5c\u4e86 \u4e00\u4efd\u6a21\u7248 \uff0c\u5927\u5bb6\u9700\u8981\u7684\u8bdd\u81ea\u53d6\uff0c\u672c\u4eba\u4e0d\u627f\u62c5\u65e0\u6cd5\u6bd5\u4e1a\u7b49\u4efb\u4f55\u8d23\u4efb\u3002 \u5b66\u4e60 Word \u6392\u7248\uff1a\u5230\u8fbe\u8fd9\u4e00\u6b65\u7684\u7ae5\u978b\u5206\u4e3a\u4e24\u7c7b\uff0c\u4e00\u662f\u5df2\u7ecf\u62e5\u6709\u4e86\u5b66\u9662\u63d0\u4f9b\u7684\u6807\u51c6\u6a21\u7248\uff0c\u4e8c\u662f\u53ea\u6709\u4e00\u4efd\u865a\u65e0\u7f25\u7f08\u7684\u683c\u5f0f\u8981\u6c42\u3002\u90a3\u73b0\u5728\u5f53\u52a1\u4e4b\u6025\u5c31\u662f\u5b66\u4e60\u57fa\u7840\u7684 Word \u6392\u7248\u6280\u672f\uff0c\u5bf9\u4e8e\u524d\u8005\u53ef\u4ee5\u5b66\u4f1a\u4f7f\u7528\u6a21\u7248\uff0c\u5bf9\u4e8e\u540e\u8005\u5219\u53ef\u4ee5\u5b66\u4f1a\u5236\u4f5c\u6a21\u7248\u3002\u6b64\u65f6\u5207\u8bb0\u4e0d\u8981\u96c4\u5fc3\u52c3\u52c3\u5730\u9009\u62e9\u4e00\u4e2a\u5341\u51e0\u4e2a\u5c0f\u65f6\u7684 Word \u6559\u5b66\u89c6\u9891\u5f00\u59cb\u5934\u60ac\u6881\u9525\u523a\u80a1\uff0c\u56e0\u4e3a\u751f\u4ea7\u4e00\u4efd\u5e94\u4ed8\u6bd5\u4e1a\u7684\u5b66\u672f\u5783\u573e\u53ea\u8981\u5b66\u534a\u5c0f\u65f6\u80fd\u4e0a\u624b\u5c31\u591f\u4e86\u3002\u6211\u5f53\u65f6\u770b\u7684 \u4e00\u4e2a B \u7ad9\u7684\u6559\u5b66\u89c6\u9891 \uff0c\u77ed\u5c0f\u7cbe\u608d\u975e\u5e38\u5b9e\u7528\uff0c\u5168\u957f\u534a\u5c0f\u65f6\u6781\u901f\u5165\u95e8\u3002 \u751f\u4ea7\u5b66\u672f\u5783\u573e\uff1a\u6700\u5bb9\u6613\u7684\u4e00\u6b65\uff0c\u5927\u5bb6\u516b\u4ed9\u8fc7\u6d77\uff0c\u5404\u663e\u795e\u901a\u5427\uff0c\u795d\u5927\u5bb6\u6bd5\u4e1a\u987a\u5229\uff5e\uff5e","title":"\u5982\u4f55\u7528 Word \u5199\u6bd5\u4e1a\u8bba\u6587"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/","text":"\u5b9e\u7528\u5de5\u5177\u7bb1 \u4e0b\u8f7d\u5de5\u5177 Sci-Hub : Elbakyan \u5973\u795e\u5411\u4f60\u6325\u624b\uff0c\u65e8\u5728\u6253\u7834\u77e5\u8bc6\u58c1\u5792\u7684\u9769\u547d\u6027\u7f51\u7ad9\u3002 Library Genesis : \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 Z-library : \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\uff08\u5728 Tor \u4e0b\u8fd0\u884c\u8f83\u4f73\uff0c \u94fe\u63a5 \uff09\u3002 Z-ePub : ePub \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 PDF Drive : PDF \u7535\u5b50\u4e66\u641c\u7d22\u5f15\u64ce\u3002 MagazineLib : PDF \u7535\u5b50\u6742\u5fd7\u4e0b\u8f7d\u7f51\u7ad9\u3002 BitDownloader : \u6cb9\u7ba1\u89c6\u9891\u4e0b\u8f7d\u5668\u3002 qBittorrent : BitTorrent \u5ba2\u6237\u7aef\u3002 uTorrent : BitTorrent \u5ba2\u6237\u7aef\u3002 \u5168\u56fd\u6807\u51c6\u4fe1\u606f\u516c\u5171\u670d\u52a1\u5e73\u53f0 \uff1a\u5404\u7c7b\u6807\u51c6\u67e5\u8be2\u548c\u4e0b\u8f7d\u5b98\u65b9\u5e73\u53f0\u3002 \u6807\u51c6\u77e5\u8bc6\u670d\u52a1\u7cfb\u7edf \uff1a\u68c0\u7d22\u4e0e\u9605\u8bfb\u6240\u9700\u6807\u51c6\u3002 MSDN,\u6211\u544a\u8bc9\u4f60 : Windows \u64cd\u4f5c\u7cfb\u7edf\u955c\u50cf\u4e0b\u8f7d\u7ad9\uff0c\u4e5f\u6709\u8bb8\u591a\u5176\u4ed6\u8f6f\u4ef6\u7684\u4e0b\u8f7d\u3002 \u8bbe\u8ba1\u5de5\u5177 excalidraw : \u4e00\u6b3e\u624b\u7ed8\u98ce\u683c\u7684\u7ed8\u56fe\u5de5\u5177\uff0c\u975e\u5e38\u9002\u5408\u7ed8\u5236\u8bfe\u7a0b\u62a5\u544a\u6216\u8005PPT\u5185\u7684\u793a\u610f\u56fe\u3002 tldraw : \u4e00\u4e2a\u7ed8\u56fe\u5de5\u5177\uff0c\u9002\u5408\u753b\u6d41\u7a0b\u56fe\uff0c\u67b6\u6784\u56fe\u7b49\u3002 draw.io : \u5f3a\u5927\u7b80\u6d01\u7684\u5728\u7ebf\u7684\u7ed8\u56fe\u7f51\u7ad9\uff0c\u652f\u6301\u6d41\u7a0b\u56fe\uff0cUML\u56fe\uff0c\u67b6\u6784\u56fe\uff0c\u539f\u578b\u56fe\u7b49\u7b49\uff0c\u652f\u6301 Onedrive, Google Drive, Github \u5bfc\u51fa\uff0c\u540c\u65f6\u63d0\u4f9b\u79bb\u7ebf\u5ba2\u6237\u7aef\u3002 origamiway : \u624b\u628a\u624b\u6559\u4f60\u600e\u4e48\u6298\u7eb8\u3002 thingiverse : \u56ca\u62ec\u5404\u7c7b 2D/3D \u8bbe\u8ba1\u8d44\u6e90\uff0c\u5176 STL \u6587\u4ef6\u4e0b\u8f7d\u53ef\u76f4\u63a5 3D \u6253\u5370\u3002 iconfont : \u56fd\u5185\u6700\u5927\u7684\u56fe\u6807\u548c\u63d2\u753b\u8d44\u6e90\u5e93\uff0c\u53ef\u7528\u4e8e\u5f00\u53d1\u6216\u7ed8\u5236\u7cfb\u7edf\u67b6\u6784\u56fe\u3002 turbosquid : \u53ef\u4ee5\u8d2d\u4e70\u5404\u5f0f\u5404\u6837\u7684\u6a21\u578b\u3002 flaticon : \u53ef\u4e0b\u8f7d\u514d\u8d39\u4e14\u9ad8\u8d28\u91cf\u7684\u56fe\u6807\u3002 \u6807\u51c6\u5730\u56fe\u670d\u52a1\u7cfb\u7edf : \u53ef\u4ee5\u4e0b\u8f7d\u5b98\u65b9\u6807\u51c6\u5730\u56fe\u3002 PlantUML : \u53ef\u4ee5\u4f7f\u7528\u4ee3\u7801\u5feb\u901f\u7f16\u5199 UML \u56fe\u3002 \u7f16\u7a0b\u76f8\u5173 sqlfiddle : \u4e00\u4e2a\u7b80\u6613\u7684\u5728\u7ebf SQL Playground\u3002 sqlzoo \uff1a\u5728\u7ebf\u7ec3\u4e60 sql \u8bed\u53e5\u3002 godbolt : \u975e\u5e38\u65b9\u4fbf\u7684\u7f16\u8bd1\u5668\u63a2\u7d22\u5de5\u5177\u3002\u4f60\u53ef\u4ee5\u5199\u4e00\u6bb5 C/C++ \u4ee3\u7801\uff0c\u9009\u62e9\u4e00\u6b3e\u7f16\u8bd1\u5668\uff0c\u7136\u540e\u4fbf\u53ef\u4ee5\u89c2\u5bdf\u751f\u6210\u7684\u5177\u4f53\u6c47\u7f16\u4ee3\u7801\u3002 explainshell : \u4f60\u662f\u5426\u66fe\u4e3a\u4e00\u6bb5 shell \u4ee3\u7801\u7684\u5177\u4f53\u542b\u4e49\u611f\u5230\u56f0\u6270\uff1fmanpage \u770b\u534a\u5929\u8fd8\u662f\u4e0d\u660e\u6240\u4ee5\uff1f\u8bd5\u8bd5\u8fd9\u4e2a\u7f51\u7ad9\uff01 regex101 : \u6b63\u5219\u8868\u8fbe\u5f0f\u8c03\u8bd5\u7f51\u7ad9\uff0c\u652f\u6301\u5404\u79cd\u7f16\u7a0b\u8bed\u8a00\u7684\u5339\u914d\u6807\u51c6\u3002 typingtom : \u9488\u5bf9\u7a0b\u5e8f\u5458\u7684\u6253\u5b57\u7ec3\u4e60/\u6d4b\u901f\u7f51\u7ad9\u3002 wrk : \u7f51\u7ad9\u538b\u6d4b\u5de5\u5177\u3002 gbmb : \u6570\u636e\u5355\u4f4d\u8f6c\u6362\u3002 tools : \u5728\u7ebf\u5de5\u5177\u5408\u96c6\u3002 github1s : \u7528\u7f51\u9875\u7248 VS Code \u5728\u7ebf\u9605\u8bfb GitHub \u4ee3\u7801\u3002 visualgo : \u7b97\u6cd5\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 DataStructureVisual : \u6570\u636e\u7ed3\u6784\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 Data Structure Visualizations : \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 learngitbranching : \u53ef\u89c6\u5316\u5b66\u4e60 git\u3002 UnicodeCharacter : Unicode \u5b57\u7b26\u96c6\u7f51\u7ad9\u3002 \u5b66\u4e60\u7f51\u7ad9 HFS : \u5404\u7c7b\u8f6f\u4ef6\u6559\u7a0b\u3002 Shadertoy : \u7f16\u5199\u5404\u5f0f\u5404\u6837\u7684 shader\u3002 comments-for-awesome-courses : \u540d\u6821\u516c\u5f00\u8bfe\u8bc4\u4ef7\u7f51\u3002 codetop : \u4f01\u4e1a\u9898\u5e93\u3002 cs-video-courses : \u5e26\u6709\u89c6\u9891\u8bb2\u5ea7\u7684\u8ba1\u7b97\u673a\u79d1\u5b66\u8bfe\u7a0b\u5217\u8868\u3002 bootlin : \u5728\u7ebf\u9605\u8bfb Linux \u6e90\u7801\u3002 ecust-CourseShare : \u534e\u4e1c\u5e08\u8303\u5927\u5b66\u7814\u7a76\u751f\u8bfe\u7a0b\u653b\u7565\u5171\u4eab\u8ba1\u5212\u3002 REKCARC-TSC-UHT : \u6e05\u534e\u5927\u5b66\u8ba1\u7b97\u673a\u7cfb\u8bfe\u7a0b\u653b\u7565\u3002 seu-master : \u4e1c\u5357\u5927\u5b66\u7814\u7a76\u751f\u8bfe\u7a0b\u8d44\u6599\u6574\u7406\u3002 \u83dc\u9e1f\u6559\u7a0b : \u8ba1\u7b97\u673a\u76f8\u5173\u77e5\u8bc6\u7684\u7b80\u8981\u7684\u6559\u7a0b\u3002 FreeBSD \u4ece\u5165\u95e8\u5230\u8dd1\u8def : \u4e00\u672c FreeBSD \u7684\u4e2d\u6587\u6559\u7a0b\u3002 MDN Web Docs : MDN \u7f51\u7edc\u5f00\u53d1\u5165\u95e8\u624b\u518c\u3002 Hello \u7b97\u6cd5 : \u52a8\u753b\u56fe\u89e3\u3001\u80fd\u8fd0\u884c\u3001\u53ef\u63d0\u95ee\u7684\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u5feb\u901f\u5165\u95e8\u6559\u7a0b\u3002 \u767e\u79d1\u7f51\u7ad9/\u8bcd\u5178\u6027\u8d28\u7684\u7f51\u7ad9 os-wiki : \u64cd\u4f5c\u7cfb\u7edf\u6280\u672f\u8d44\u6e90\u767e\u79d1\u5168\u4e66\u3002 FreeBSD Documentation : FreeBSD \u5b98\u65b9\u6587\u6863\u3002 Python3 Documentation : Python3 \u5b98\u65b9\u4e2d\u6587\u6587\u6863\u3002 C++ Reference : C++ \u53c2\u8003\u624b\u518c\u3002 OI Wiki : \u7f16\u7a0b\u7ade\u8d5b\u77e5\u8bc6\u6574\u5408\u7ad9\u70b9\u3002 Microsoft Learn : \u5fae\u8f6f\u5b98\u65b9\u7684\u5b66\u4e60\u5e73\u53f0\uff0c\u5305\u542b\u4e86\u7edd\u5927\u591a\u6570\u5fae\u8f6f\u4ea7\u54c1\u7684\u6587\u6863\u3002 Arch Wiki : \u4e13\u4e3a Arch Linux \u800c\u5199\u7684 Wiki\uff0c\u5305\u542b\u4e86\u5927\u91cf Linux \u76f8\u5173\u7684\u77e5\u8bc6\u3002 Qt Wiki : Qt \u5b98\u65b9 Wiki\u3002 OpenCV \u4e2d\u6587\u6587\u6863 : OpenCV \u7684\u793e\u533a\u7248\u4e2d\u6587\u6587\u6863\u3002 npm Docs : npm \u5b98\u65b9\u6587\u6863\u3002 \u4ea4\u6d41\u5e73\u53f0 GitHub : \u8bb8\u591a\u5f00\u6e90\u9879\u76ee\u7684\u6258\u7ba1\u5e73\u53f0\uff0c\u4e5f\u662f\u8bb8\u591a\u5f00\u6e90\u9879\u76ee\u7684\u4e3b\u8981\u4ea4\u6d41\u5e73\u53f0\uff0c\u901a\u8fc7\u67e5\u770b issue \u53ef\u4ee5\u89e3\u51b3\u8bb8\u591a\u95ee\u9898\u3002 StackExchange : Stack Exchange \u662f\u7531 181 \u4e2a\u95ee\u7b54\u793e\u533a\u7ec4\u6210\uff08\u5176\u4e2d\u5305\u62ec Stack Overflow\uff09\u7684\u7f16\u7a0b\u793e\u533a\u3002 StackOverflow : Stack Overflow \u662f\u4e00\u4e2a\u4e0e\u7a0b\u5e8f\u76f8\u5173\u7684 IT \u6280\u672f\u95ee\u7b54\u7f51\u7ad9\u3002 Gitee : \u4e00\u4e2a\u7c7b\u4f3c\u4e8e GitHub \u7684\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\uff0c\u53ef\u4ee5\u5728\u5bf9\u5e94\u9879\u76ee\u7684 issue \u91cc\u67e5\u627e\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u89e3\u7b54\u3002 \u77e5\u4e4e : \u4e00\u4e2a\u7c7b\u4f3c\u4e8e Quora \u7684\u95ee\u7b54\u793e\u533a\uff0c\u53ef\u4ee5\u5728\u5176\u4e2d\u63d0\u95ee\uff0c\u4e00\u4e9b\u95ee\u7b54\u5305\u542b\u6709\u8ba1\u7b97\u673a\u7684\u77e5\u8bc6\u3002 \u535a\u5ba2\u56ed : \u4e00\u4e2a\u9762\u5411\u5f00\u53d1\u8005\u7684\u77e5\u8bc6\u5206\u4eab\u793e\u533a\uff0c\u62e5\u6709\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u535a\u5ba2\uff0c\u6b63\u786e\u7387\u4e0d\u80fd\u4fdd\u8bc1\uff0c\u8bf7\u8c28\u614e\u4f7f\u7528\u3002 CSDN : \u62e5\u6709\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u535a\u5ba2\uff0c\u6b63\u786e\u7387\u4e0d\u80fd\u4fdd\u8bc1\uff0c\u8bf7\u8c28\u614e\u4f7f\u7528\u3002 \u6742\u9879 tophub : \u65b0\u95fb\u70ed\u699c\u5408\u96c6\uff08\u7efc\u5408\u4e86\u77e5\u4e4e\u3001\u5fae\u535a\u3001\u767e\u5ea6\u3001\u5fae\u4fe1\u7b49\uff09\u3002 feedly : \u8457\u540d\u7684 RSS \u8ba2\u9605\u6e90\u9605\u8bfb\u5668\u3002 speedtest : \u5728\u7ebf\u7f51\u7edc\u6d4b\u901f\u7f51\u7ad9\u3002 public-apis : \u516c\u5171 API \u5408\u96c6\u5217\u8868\u3002 numberempire : \u51fd\u6570\u6c42\u5bfc\u5de5\u5177\u3002 sustech-application : \u5357\u65b9\u79d1\u6280\u5927\u5b66\u7ecf\u9a8c\u5206\u4eab\u7f51\u3002 vim-adventures : \u4e00\u6b3e\u57fa\u4e8e vim \u952e\u76d8\u5feb\u6377\u952e\u7684\u5728\u7ebf\u6e38\u620f\u3002 vimsnake : \u5229\u7528 vim \u73a9\u8d2a\u5403\u86c7\u3002 keybr : \u5b66\u4e60\u76f2\u6253\u7684\u7f51\u7ad9\u3002 Awesome C++ : \u5f88\u68d2\u7684 C/C++ \u6846\u67b6\u3001\u5e93\u3001\u8d44\u6e90\u7cbe\u9009\u5217\u8868\u3002 HelloGitHub : \u5206\u4eab GitHub \u4e0a\u6709\u8da3\u3001\u5165\u95e8\u7ea7\u7684\u5f00\u6e90\u9879\u76ee\u3002","title":"\u5b9e\u7528\u5de5\u5177\u7bb1"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_1","text":"","title":"\u5b9e\u7528\u5de5\u5177\u7bb1"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_2","text":"Sci-Hub : Elbakyan \u5973\u795e\u5411\u4f60\u6325\u624b\uff0c\u65e8\u5728\u6253\u7834\u77e5\u8bc6\u58c1\u5792\u7684\u9769\u547d\u6027\u7f51\u7ad9\u3002 Library Genesis : \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 Z-library : \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\uff08\u5728 Tor \u4e0b\u8fd0\u884c\u8f83\u4f73\uff0c \u94fe\u63a5 \uff09\u3002 Z-ePub : ePub \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 PDF Drive : PDF \u7535\u5b50\u4e66\u641c\u7d22\u5f15\u64ce\u3002 MagazineLib : PDF \u7535\u5b50\u6742\u5fd7\u4e0b\u8f7d\u7f51\u7ad9\u3002 BitDownloader : \u6cb9\u7ba1\u89c6\u9891\u4e0b\u8f7d\u5668\u3002 qBittorrent : BitTorrent \u5ba2\u6237\u7aef\u3002 uTorrent : BitTorrent \u5ba2\u6237\u7aef\u3002 \u5168\u56fd\u6807\u51c6\u4fe1\u606f\u516c\u5171\u670d\u52a1\u5e73\u53f0 \uff1a\u5404\u7c7b\u6807\u51c6\u67e5\u8be2\u548c\u4e0b\u8f7d\u5b98\u65b9\u5e73\u53f0\u3002 \u6807\u51c6\u77e5\u8bc6\u670d\u52a1\u7cfb\u7edf \uff1a\u68c0\u7d22\u4e0e\u9605\u8bfb\u6240\u9700\u6807\u51c6\u3002 MSDN,\u6211\u544a\u8bc9\u4f60 : Windows \u64cd\u4f5c\u7cfb\u7edf\u955c\u50cf\u4e0b\u8f7d\u7ad9\uff0c\u4e5f\u6709\u8bb8\u591a\u5176\u4ed6\u8f6f\u4ef6\u7684\u4e0b\u8f7d\u3002","title":"\u4e0b\u8f7d\u5de5\u5177"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_3","text":"excalidraw : \u4e00\u6b3e\u624b\u7ed8\u98ce\u683c\u7684\u7ed8\u56fe\u5de5\u5177\uff0c\u975e\u5e38\u9002\u5408\u7ed8\u5236\u8bfe\u7a0b\u62a5\u544a\u6216\u8005PPT\u5185\u7684\u793a\u610f\u56fe\u3002 tldraw : \u4e00\u4e2a\u7ed8\u56fe\u5de5\u5177\uff0c\u9002\u5408\u753b\u6d41\u7a0b\u56fe\uff0c\u67b6\u6784\u56fe\u7b49\u3002 draw.io : \u5f3a\u5927\u7b80\u6d01\u7684\u5728\u7ebf\u7684\u7ed8\u56fe\u7f51\u7ad9\uff0c\u652f\u6301\u6d41\u7a0b\u56fe\uff0cUML\u56fe\uff0c\u67b6\u6784\u56fe\uff0c\u539f\u578b\u56fe\u7b49\u7b49\uff0c\u652f\u6301 Onedrive, Google Drive, Github \u5bfc\u51fa\uff0c\u540c\u65f6\u63d0\u4f9b\u79bb\u7ebf\u5ba2\u6237\u7aef\u3002 origamiway : \u624b\u628a\u624b\u6559\u4f60\u600e\u4e48\u6298\u7eb8\u3002 thingiverse : \u56ca\u62ec\u5404\u7c7b 2D/3D \u8bbe\u8ba1\u8d44\u6e90\uff0c\u5176 STL \u6587\u4ef6\u4e0b\u8f7d\u53ef\u76f4\u63a5 3D \u6253\u5370\u3002 iconfont : \u56fd\u5185\u6700\u5927\u7684\u56fe\u6807\u548c\u63d2\u753b\u8d44\u6e90\u5e93\uff0c\u53ef\u7528\u4e8e\u5f00\u53d1\u6216\u7ed8\u5236\u7cfb\u7edf\u67b6\u6784\u56fe\u3002 turbosquid : \u53ef\u4ee5\u8d2d\u4e70\u5404\u5f0f\u5404\u6837\u7684\u6a21\u578b\u3002 flaticon : \u53ef\u4e0b\u8f7d\u514d\u8d39\u4e14\u9ad8\u8d28\u91cf\u7684\u56fe\u6807\u3002 \u6807\u51c6\u5730\u56fe\u670d\u52a1\u7cfb\u7edf : \u53ef\u4ee5\u4e0b\u8f7d\u5b98\u65b9\u6807\u51c6\u5730\u56fe\u3002 PlantUML : \u53ef\u4ee5\u4f7f\u7528\u4ee3\u7801\u5feb\u901f\u7f16\u5199 UML \u56fe\u3002","title":"\u8bbe\u8ba1\u5de5\u5177"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_4","text":"sqlfiddle : \u4e00\u4e2a\u7b80\u6613\u7684\u5728\u7ebf SQL Playground\u3002 sqlzoo \uff1a\u5728\u7ebf\u7ec3\u4e60 sql \u8bed\u53e5\u3002 godbolt : \u975e\u5e38\u65b9\u4fbf\u7684\u7f16\u8bd1\u5668\u63a2\u7d22\u5de5\u5177\u3002\u4f60\u53ef\u4ee5\u5199\u4e00\u6bb5 C/C++ \u4ee3\u7801\uff0c\u9009\u62e9\u4e00\u6b3e\u7f16\u8bd1\u5668\uff0c\u7136\u540e\u4fbf\u53ef\u4ee5\u89c2\u5bdf\u751f\u6210\u7684\u5177\u4f53\u6c47\u7f16\u4ee3\u7801\u3002 explainshell : \u4f60\u662f\u5426\u66fe\u4e3a\u4e00\u6bb5 shell \u4ee3\u7801\u7684\u5177\u4f53\u542b\u4e49\u611f\u5230\u56f0\u6270\uff1fmanpage \u770b\u534a\u5929\u8fd8\u662f\u4e0d\u660e\u6240\u4ee5\uff1f\u8bd5\u8bd5\u8fd9\u4e2a\u7f51\u7ad9\uff01 regex101 : \u6b63\u5219\u8868\u8fbe\u5f0f\u8c03\u8bd5\u7f51\u7ad9\uff0c\u652f\u6301\u5404\u79cd\u7f16\u7a0b\u8bed\u8a00\u7684\u5339\u914d\u6807\u51c6\u3002 typingtom : \u9488\u5bf9\u7a0b\u5e8f\u5458\u7684\u6253\u5b57\u7ec3\u4e60/\u6d4b\u901f\u7f51\u7ad9\u3002 wrk : \u7f51\u7ad9\u538b\u6d4b\u5de5\u5177\u3002 gbmb : \u6570\u636e\u5355\u4f4d\u8f6c\u6362\u3002 tools : \u5728\u7ebf\u5de5\u5177\u5408\u96c6\u3002 github1s : \u7528\u7f51\u9875\u7248 VS Code \u5728\u7ebf\u9605\u8bfb GitHub \u4ee3\u7801\u3002 visualgo : \u7b97\u6cd5\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 DataStructureVisual : \u6570\u636e\u7ed3\u6784\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 Data Structure Visualizations : \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 learngitbranching : \u53ef\u89c6\u5316\u5b66\u4e60 git\u3002 UnicodeCharacter : Unicode \u5b57\u7b26\u96c6\u7f51\u7ad9\u3002","title":"\u7f16\u7a0b\u76f8\u5173"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_5","text":"HFS : \u5404\u7c7b\u8f6f\u4ef6\u6559\u7a0b\u3002 Shadertoy : \u7f16\u5199\u5404\u5f0f\u5404\u6837\u7684 shader\u3002 comments-for-awesome-courses : \u540d\u6821\u516c\u5f00\u8bfe\u8bc4\u4ef7\u7f51\u3002 codetop : \u4f01\u4e1a\u9898\u5e93\u3002 cs-video-courses : \u5e26\u6709\u89c6\u9891\u8bb2\u5ea7\u7684\u8ba1\u7b97\u673a\u79d1\u5b66\u8bfe\u7a0b\u5217\u8868\u3002 bootlin : \u5728\u7ebf\u9605\u8bfb Linux \u6e90\u7801\u3002 ecust-CourseShare : \u534e\u4e1c\u5e08\u8303\u5927\u5b66\u7814\u7a76\u751f\u8bfe\u7a0b\u653b\u7565\u5171\u4eab\u8ba1\u5212\u3002 REKCARC-TSC-UHT : \u6e05\u534e\u5927\u5b66\u8ba1\u7b97\u673a\u7cfb\u8bfe\u7a0b\u653b\u7565\u3002 seu-master : \u4e1c\u5357\u5927\u5b66\u7814\u7a76\u751f\u8bfe\u7a0b\u8d44\u6599\u6574\u7406\u3002 \u83dc\u9e1f\u6559\u7a0b : \u8ba1\u7b97\u673a\u76f8\u5173\u77e5\u8bc6\u7684\u7b80\u8981\u7684\u6559\u7a0b\u3002 FreeBSD \u4ece\u5165\u95e8\u5230\u8dd1\u8def : \u4e00\u672c FreeBSD \u7684\u4e2d\u6587\u6559\u7a0b\u3002 MDN Web Docs : MDN \u7f51\u7edc\u5f00\u53d1\u5165\u95e8\u624b\u518c\u3002 Hello \u7b97\u6cd5 : \u52a8\u753b\u56fe\u89e3\u3001\u80fd\u8fd0\u884c\u3001\u53ef\u63d0\u95ee\u7684\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u5feb\u901f\u5165\u95e8\u6559\u7a0b\u3002","title":"\u5b66\u4e60\u7f51\u7ad9"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_6","text":"os-wiki : \u64cd\u4f5c\u7cfb\u7edf\u6280\u672f\u8d44\u6e90\u767e\u79d1\u5168\u4e66\u3002 FreeBSD Documentation : FreeBSD \u5b98\u65b9\u6587\u6863\u3002 Python3 Documentation : Python3 \u5b98\u65b9\u4e2d\u6587\u6587\u6863\u3002 C++ Reference : C++ \u53c2\u8003\u624b\u518c\u3002 OI Wiki : \u7f16\u7a0b\u7ade\u8d5b\u77e5\u8bc6\u6574\u5408\u7ad9\u70b9\u3002 Microsoft Learn : \u5fae\u8f6f\u5b98\u65b9\u7684\u5b66\u4e60\u5e73\u53f0\uff0c\u5305\u542b\u4e86\u7edd\u5927\u591a\u6570\u5fae\u8f6f\u4ea7\u54c1\u7684\u6587\u6863\u3002 Arch Wiki : \u4e13\u4e3a Arch Linux \u800c\u5199\u7684 Wiki\uff0c\u5305\u542b\u4e86\u5927\u91cf Linux \u76f8\u5173\u7684\u77e5\u8bc6\u3002 Qt Wiki : Qt \u5b98\u65b9 Wiki\u3002 OpenCV \u4e2d\u6587\u6587\u6863 : OpenCV \u7684\u793e\u533a\u7248\u4e2d\u6587\u6587\u6863\u3002 npm Docs : npm \u5b98\u65b9\u6587\u6863\u3002","title":"\u767e\u79d1\u7f51\u7ad9/\u8bcd\u5178\u6027\u8d28\u7684\u7f51\u7ad9"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_7","text":"GitHub : \u8bb8\u591a\u5f00\u6e90\u9879\u76ee\u7684\u6258\u7ba1\u5e73\u53f0\uff0c\u4e5f\u662f\u8bb8\u591a\u5f00\u6e90\u9879\u76ee\u7684\u4e3b\u8981\u4ea4\u6d41\u5e73\u53f0\uff0c\u901a\u8fc7\u67e5\u770b issue \u53ef\u4ee5\u89e3\u51b3\u8bb8\u591a\u95ee\u9898\u3002 StackExchange : Stack Exchange \u662f\u7531 181 \u4e2a\u95ee\u7b54\u793e\u533a\u7ec4\u6210\uff08\u5176\u4e2d\u5305\u62ec Stack Overflow\uff09\u7684\u7f16\u7a0b\u793e\u533a\u3002 StackOverflow : Stack Overflow \u662f\u4e00\u4e2a\u4e0e\u7a0b\u5e8f\u76f8\u5173\u7684 IT \u6280\u672f\u95ee\u7b54\u7f51\u7ad9\u3002 Gitee : \u4e00\u4e2a\u7c7b\u4f3c\u4e8e GitHub \u7684\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\uff0c\u53ef\u4ee5\u5728\u5bf9\u5e94\u9879\u76ee\u7684 issue \u91cc\u67e5\u627e\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u89e3\u7b54\u3002 \u77e5\u4e4e : \u4e00\u4e2a\u7c7b\u4f3c\u4e8e Quora \u7684\u95ee\u7b54\u793e\u533a\uff0c\u53ef\u4ee5\u5728\u5176\u4e2d\u63d0\u95ee\uff0c\u4e00\u4e9b\u95ee\u7b54\u5305\u542b\u6709\u8ba1\u7b97\u673a\u7684\u77e5\u8bc6\u3002 \u535a\u5ba2\u56ed : \u4e00\u4e2a\u9762\u5411\u5f00\u53d1\u8005\u7684\u77e5\u8bc6\u5206\u4eab\u793e\u533a\uff0c\u62e5\u6709\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u535a\u5ba2\uff0c\u6b63\u786e\u7387\u4e0d\u80fd\u4fdd\u8bc1\uff0c\u8bf7\u8c28\u614e\u4f7f\u7528\u3002 CSDN : \u62e5\u6709\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u535a\u5ba2\uff0c\u6b63\u786e\u7387\u4e0d\u80fd\u4fdd\u8bc1\uff0c\u8bf7\u8c28\u614e\u4f7f\u7528\u3002","title":"\u4ea4\u6d41\u5e73\u53f0"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_8","text":"tophub : \u65b0\u95fb\u70ed\u699c\u5408\u96c6\uff08\u7efc\u5408\u4e86\u77e5\u4e4e\u3001\u5fae\u535a\u3001\u767e\u5ea6\u3001\u5fae\u4fe1\u7b49\uff09\u3002 feedly : \u8457\u540d\u7684 RSS \u8ba2\u9605\u6e90\u9605\u8bfb\u5668\u3002 speedtest : \u5728\u7ebf\u7f51\u7edc\u6d4b\u901f\u7f51\u7ad9\u3002 public-apis : \u516c\u5171 API \u5408\u96c6\u5217\u8868\u3002 numberempire : \u51fd\u6570\u6c42\u5bfc\u5de5\u5177\u3002 sustech-application : \u5357\u65b9\u79d1\u6280\u5927\u5b66\u7ecf\u9a8c\u5206\u4eab\u7f51\u3002 vim-adventures : \u4e00\u6b3e\u57fa\u4e8e vim \u952e\u76d8\u5feb\u6377\u952e\u7684\u5728\u7ebf\u6e38\u620f\u3002 vimsnake : \u5229\u7528 vim \u73a9\u8d2a\u5403\u86c7\u3002 keybr : \u5b66\u4e60\u76f2\u6253\u7684\u7f51\u7ad9\u3002 Awesome C++ : \u5f88\u68d2\u7684 C/C++ \u6846\u67b6\u3001\u5e93\u3001\u8d44\u6e90\u7cbe\u9009\u5217\u8868\u3002 HelloGitHub : \u5206\u4eab GitHub \u4e0a\u6709\u8da3\u3001\u5165\u95e8\u7ea7\u7684\u5f00\u6e90\u9879\u76ee\u3002","title":"\u6742\u9879"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/","text":"Contributed by @HardwayLinka \u8ba1\u7b97\u673a\u9886\u57df\u7684\u77e5\u8bc6\u8986\u76d6\u9762\u5f88\u5e7f\u5e76\u4e14\u66f4\u65b0\u901f\u5ea6\u5f88\u5feb\uff0c\u56e0\u6b64\u4fdd\u6301\u7ec8\u8eab\u5b66\u4e60\u7684\u4e60\u60ef\u5f88\u91cd\u8981\u3002\u4f46\u5728\u65e5\u5e38\u5f00\u53d1\u548c\u5b66\u4e60\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u83b7\u53d6\u77e5\u8bc6\u7684\u6765\u6e90\u76f8\u5bf9\u590d\u6742\u4e14\u7ec6\u788e\u3002\u6709\u6210\u767e\u4e0a\u5343\u9875\u7684\u6587\u6863\u624b\u518c\uff0c\u4e5f\u6709\u5be5\u5be5\u6570\u8bed\u7684\u535a\u5ba2\uff0c\u751a\u81f3\u95f2\u6687\u65f6\u624b\u673a\u4e0a\u5212\u8fc7\u7684\u67d0\u5219\u65b0\u95fb\u548c\u516c\u4f17\u53f7\u90fd\u6709\u53ef\u80fd\u5305\u542b\u6211\u4eec\u611f\u5174\u8da3\u7684\u77e5\u8bc6\u3002\u56e0\u6b64\uff0c\u5982\u4f55\u5229\u7528\u73b0\u6709\u7684\u5404\u7c7b\u5de5\u5177\uff0c\u5f62\u6210\u4e00\u5957\u9002\u5408\u81ea\u5df1\u7684\u5b66\u4e60\u5de5\u4f5c\u6d41\uff0c\u5c06\u4e0d\u540c\u6765\u6e90\u7684\u77e5\u8bc6\u788e\u7247\u6574\u5408\u8fdb\u5c5e\u4e8e\u81ea\u5df1\u7684\u77e5\u8bc6\u5e93\uff0c\u65b9\u4fbf\u4e4b\u540e\u7684\u67e5\u9605\u4e0e\u590d\u4e60\uff0c\u5c31\u663e\u5f97\u5c24\u4e3a\u91cd\u8981\u3002\u7ecf\u8fc7\u4e24\u5e74\u5de5\u4f5c\u4e4b\u4f59\u7684\u5b66\u4e60\u540e\uff0c\u6211\u78e8\u5408\u51fa\u4e86\u4ee5\u4e0b\u5b66\u4e60\u5de5\u4f5c\u6d41\uff1a \u5e95\u5c42\u6838\u5fc3\u903b\u8f91 \u4e00\u5f00\u59cb\u6211\u5b66\u4e60\u65b0\u77e5\u8bc6\u65f6\u4f1a\u53c2\u8003\u4e2d\u6587\u535a\u5ba2\uff0c\u4f46\u5728\u4ee3\u7801\u5b9e\u8df5\u65f6\u5f80\u5f80\u4f1a\u53d1\u73b0\u6f0f\u6d1e\u548cbug\u3002\u6211\u9010\u6e10\u610f\u8bc6\u5230\u6211\u53c2\u8003\u7684\u4fe1\u606f\u53ef\u80fd\u662f\u9519\u8bef\u7684\uff0c\u6bd5\u7adf\u53d1\u535a\u5ba2\u7684\u95e8\u69db\u4f4e\uff0c\u6587\u7ae0\u53ef\u4fe1\u5ea6\u4e0d\u9ad8\uff0c\u4e8e\u662f\u6211\u5f00\u59cb\u67e5\u9605\u4e00\u4e9b\u76f8\u5173\u7684\u4e2d\u6587\u4e66\u7c4d\u3002 \u4e2d\u6587\u4e66\u7c4d\u7684\u786e\u662f\u6bd4\u8f83\u5168\u9762\u4e14\u7cfb\u7edf\u5730\u8bb2\u89e3\u4e86\u77e5\u8bc6\u70b9\uff0c\u4f46\u4f17\u6240\u5468\u77e5\uff0c\u8ba1\u7b97\u673a\u6280\u672f\u66f4\u8fed\u8fc5\u901f\uff0c\u53c8\u56e0\u4e3a\u8001\u7f8e\u5728 CS \u65b9\u9762\u4e00\u76f4\u90fd\u662f\u706f\u5854\uff0c\u6240\u4ee5\u4e00\u822c\u4e2d\u6587\u4e66\u7c4d\u91cc\u7684\u5185\u5bb9\u4f1a\u6ede\u540e\u4e8e\u5f53\u524d\u6700\u65b0\u7684\u77e5\u8bc6\uff0c\u5bfc\u81f4\u6211\u8ddf\u7740\u4e2d\u6587\u4e66\u7c4d\u5b9e\u8df5\u4f1a\u51fa\u73b0\u8f6f\u4ef6\u7248\u672c\u5dee\u5f02\u7684\u95ee\u9898\u3002\u8fd9\u65f6\u6211\u5f00\u59cb\u610f\u8bc6\u5230\u4e00\u624b\u4fe1\u606f\u7684\u91cd\u8981\u6027\uff0c\u6709\u4e9b\u4e2d\u6587\u4e66\u7c4d\u662f\u7ffb\u8bd1\u82f1\u6587\u4e66\u7c4d\u7684\uff0c\u4e00\u822c\u7ffb\u8bd1\u4e00\u672c\u4e66\u4e5f\u8981\u4e00\u4e24\u5e74\uff0c\u8fd9\u4f1a\u5bfc\u81f4\u4fe1\u606f\u4f20\u9012\u7684\u5ef6\u8fdf\uff0c\u8fd8\u6709\u5c31\u662f\u7ffb\u8bd1\u7684\u8fc7\u7a0b\u4e2d\u4fe1\u606f\u4f1a\u6709\u635f\u5931\u3002\u5982\u679c\u4e00\u672c\u4e2d\u6587\u4e66\u7c4d\u4e0d\u662f\u7ffb\u8bd1\u7684\u5462\uff0c\u90a3\u4e48\u5b83\u5927\u6982\u7387\u4e5f\u53c2\u8003\u4e86\u5176\u4ed6\u4e66\u7c4d\uff0c\u53c2\u8003\u7684\u8fc7\u7a0b\u4f1a\u5e26\u6709\u5bf9\u82f1\u6587\u539f\u8457\u4e2d\u8bed\u4e49\u7406\u89e3\u7684\u504f\u5dee\u3002 \u4e8e\u662f\u6211\u5c31\u987a\u5176\u81ea\u7136\u5730\u5f00\u59cb\u7ffb\u9605\u82f1\u6587\u4e66\u7c4d\u3002\u4e0d\u5f97\u4e0d\u8bf4\uff0c\u82f1\u6587\u4e66\u7c4d\u5185\u5bb9\u7684\u8d28\u91cf\u6574\u4f53\u662f\u6bd4\u4e2d\u6587\u4e66\u7c4d\u9ad8\u7684\u3002\u540e\u6765\u968f\u7740\u5b66\u4e60\u7684\u5c42\u5c42\u6df1\u5165\uff0c\u4ee5\u77e5\u8bc6\u7684\u65f6\u6548\u6027\u548c\u5b8c\u6574\u6027\u51fa\u53d1\uff0c\u6211\u53d1\u73b0 \u6e90\u4ee3\u7801 > \u5b98\u65b9\u6587\u6863 > \u82f1\u6587\u4e66\u7c4d > \u82f1\u6587\u535a\u5ba2 > \u4e2d\u6587\u535a\u5ba2 \uff0c\u6700\u540e\u6211\u5f97\u51fa\u4e86\u4e00\u5f20 \u4fe1\u606f\u635f\u5931\u56fe \uff1a \u867d\u7136\u4e00\u624b\u4fe1\u606f\u5f88\u91cd\u8981\uff0c\u4f46\u540e\u9762\u7684 N \u624b\u4fe1\u606f\u5e76\u975e\u4e00\u65e0\u662f\u5904\uff0c\u56e0\u4e3a\u8fd9 N \u624b\u8d44\u6599\u91cc\u5305\u542b\u4e86\u4f5c\u8005\u5bf9\u6e90\u77e5\u8bc6\u7684\u8f6c\u5316\u2014\u2014\u4f8b\u5982\u57fa\u4e8e\u67d0\u79cd\u903b\u8f91\u7684\u68b3\u7406\uff08\u6d41\u7a0b\u56fe\u3001\u601d\u7ef4\u5bfc\u56fe\u7b49\uff09\u6216\u662f\u4e00\u4e9b\u81ea\u5df1\u7684\u7406\u89e3\uff08\u5bf9\u6e90\u77e5\u8bc6\u7684\u62bd\u8c61\u3001\u7c7b\u6bd4\u3001\u5ef6\u4f38\u5230\u5176\u4ed6\u77e5\u8bc6\u70b9\uff09\uff0c\u8fd9\u4e9b\u8f6c\u5316\u53ef\u4ee5\u5e2e\u52a9\u6211\u4eec\u66f4\u5feb\u5730\u638c\u63e1\u548c\u5de9\u56fa\u77e5\u8bc6\u7684\u6838\u5fc3\u5185\u5bb9\uff0c\u5c31\u5982\u540c\u521d\u9ad8\u4e2d\u5b66\u4e60\u65f6\u4f7f\u7528\u7684\u8f85\u5bfc\u4e66\u3002 \u6b64\u5916\uff0c\u5b66\u4e60\u7684\u8fc7\u7a0b\u4e2d\u548c\u522b\u4eba\u7684\u4ea4\u6d41\u5341\u5206\u91cd\u8981\uff0c\u8fd9\u4e9b N \u624b\u4fe1\u606f\u540c\u65f6\u8d77\u4e86\u548c\u5176\u4ed6\u4f5c\u8005\u4ea4\u6d41\u7684\u4f5c\u7528\uff0c\u8ba9\u6211\u4eec\u80fd\u91c7\u767e\u5bb6\u4e4b\u957f\u3002\u6240\u4ee5\u8fd9\u63d0\u793a\u6211\u4eec\u5b66\u4e60\u4e00\u4e2a\u77e5\u8bc6\u70b9\u65f6\u5148\u5c3d\u91cf\u9009\u62e9\u8d28\u91cf\u66f4\u9ad8\u7684\uff0c\u4fe1\u606f\u635f\u5931\u8f83\u5c11\u7684\u4fe1\u606f\u6e90\uff0c\u540c\u65f6\u4e0d\u59a8\u53c2\u8003\u591a\u4e2a\u4fe1\u606f\u6e90\uff0c\u8ba9\u81ea\u5df1\u7684\u7406\u89e3\u66f4\u52a0\u5168\u9762\u51c6\u786e\u3002 \u73b0\u5b9e\u5de5\u4f5c\u751f\u6d3b\u4e2d\u7684\u5b66\u4e60\u5f88\u96be\u50cf\u5b66\u6821\u91cc\u4e00\u6837\u56f4\u7ed5\u67d0\u4e2a\u5355\u4e00\u77e5\u8bc6\u70b9\u7531\u6d45\u5165\u6df1\uff0c\u7ecf\u5e38\u4f1a\u5728\u5b66\u4e60\u8fc7\u7a0b\u4e2d\u6d89\u53ca\u5230\u5176\u4ed6\u77e5\u8bc6\u70b9\uff0c\u6bd4\u5982\u4e00\u4e9b\u65b0\u7684\u4e13\u6709\u540d\u8bcd\uff0c\u4e00\u7bc7\u6ca1\u6709\u8bfb\u8fc7\u7684\u7ecf\u5178\u8bba\u6587\uff0c\u4e00\u6bb5\u672a\u66fe\u63a5\u89e6\u8fc7\u7684\u4ee3\u7801\u7b49\u7b49\u3002\u8fd9\u5c31\u8981\u6c42\u6211\u4eec\u52e4\u4e8e\u601d\u8003\uff0c\u5228\u6839\u7a76\u5e95\u5730\u201c\u9012\u5f52\u201d\u5b66\u4e60\uff0c\u7ed9\u591a\u4e2a\u77e5\u8bc6\u70b9\u4e4b\u95f4\u5efa\u7acb\u8054\u7cfb\u3002 \u9009\u62e9\u5408\u9002\u7684\u7b14\u8bb0\u8f6f\u4ef6 \u5de5\u4f5c\u6d41\u7684\u9aa8\u67b6\u56f4\u7ed5 \u5355\u4e2a\u77e5\u8bc6\u70b9\u591a\u53c2\u8003\u6e90\uff0c\u52e4\u4e8e\u63d0\u95ee\u7ed9\u591a\u4e2a\u77e5\u8bc6\u70b9\u4e4b\u95f4\u5efa\u7acb\u8054\u7cfb \u7684\u5e95\u5c42\u6838\u5fc3\u903b\u8f91\u5efa\u7acb\u3002\u6211\u4eec\u5199\u8bba\u6587\u5176\u5b9e\u5c31\u662f\u9075\u5faa\u8fd9\u4e2a\u5e95\u5c42\u903b\u8f91\u7684\u3002\u8bba\u6587\u4e00\u822c\u4f1a\u6709\u811a\u6ce8\u53bb\u89e3\u91ca\u4e00\u4e9b\u5173\u952e\u5b57\uff0c\u5e76\u4e14\u8bba\u6587\u672b\u5c3e\u4f1a\u6709\u591a\u4e2a\u53c2\u8003\u7684\u6765\u6e90\uff0c\u4f46\u662f\u6211\u4eec\u5e73\u65f6\u5199\u7b14\u8bb0\u4f1a\u968f\u610f\u5f97\u591a\uff0c\u56e0\u6b64\u9700\u8981\u66f4\u7075\u6d3b\u7684\u65b9\u5f0f\u3002 \u5e73\u65f6\u5199\u4ee3\u7801\u4e60\u60ef\u5728 IDE \u91cc\u4e00\u952e\u8df3\u8f6c\uff0c\u628a\u76f8\u5173\u7684\u51fd\u6570\u548c\u5b9e\u73b0\u5f88\u597d\u5730\u8054\u7cfb\u5728\u4e86\u4e00\u8d77\u3002\u4f60\u4e5f\u8bb8\u4f1a\u60f3\uff0c\u5982\u679c\u7b14\u8bb0\u4e5f\u80fd\u50cf\u4ee3\u7801\u90a3\u6837\u53ef\u4ee5\u8df3\u8f6c\u5c31\u597d\u4e86\u3002\u73b0\u5728\u5e02\u9762\u4e0a \u53cc\u94fe\u7b14\u8bb0\u8f6f\u4ef6 \u5c31\u53ef\u4ee5\u5f88\u597d\u5730\u89e3\u51b3\u8fd9\u4e00\u75db\u70b9\uff0c\u4f8b\u5982 Roam Research\u3001Logseq\u3001Notion \u548c Obsidian\u3002Roam Research \u548c Logseq \u90fd\u662f\u57fa\u4e8e\u5927\u7eb2\u7ed3\u6784\u7684\u7b14\u8bb0\u8f6f\u4ef6\uff0c\u800c \u5927\u7eb2\u7ed3\u6784 \u662f\u529d\u9000\u6211\u4f7f\u7528\u8fd9\u4e24\u6b3e\u8f6f\u4ef6\u7684\u539f\u56e0\u3002\u4e00\u662f \u5927\u7eb2\u7ed3\u6784 \u505a\u7b14\u8bb0\u5bb9\u6613\u4f7f\u6587\u7ae0\u7eb5\u5411\u7bc7\u5e45\u592a\u957f\uff0c\u4e8c\u662f\u5982\u679c\u5d4c\u5957\u7ed3\u6784\u8fc7\u591a\u4f1a\u5360\u6a2a\u5411\u7684\u7bc7\u5e45\u3002Notion \u9875\u9762\u6253\u5f00\u6162\uff0c\u5f03\u4e4b\u3002\u6700\u7ec8\u6211\u9009\u62e9\u4e86 Obsidian\uff0c\u539f\u56e0\u5982\u4e0b\uff1a Obsidian \u57fa\u4e8e\u672c\u5730\uff0c\u6253\u5f00\u901f\u5ea6\u5feb\uff0c\u4e14\u53ef\u5b58\u653e\u5f88\u591a\u7535\u5b50\u4e66\u3002\u6211\u7684\u7b14\u8bb0\u672c\u662f 32g \u5185\u5b58\u7684\u534e\u7855\u5929\u9009\u4e00\u4ee3\uff0c\u62ff\u6765\u8dd1 Obsidian \u53ef\u4ee5\u5feb\u5230\u98de\u8d77 Obsidian \u57fa\u4e8e Markdown\u3002\u8fd9\u4e5f\u662f\u4e00\u4e2a\u4f18\u52bf\uff0c\u5982\u679c\u7b14\u8bb0\u8f6f\u4ef6\u5199\u7684\u7b14\u8bb0\u683c\u5f0f\u662f\u81ea\u5bb6\u7684\u7f16\u7801\u683c\u5f0f\uff0c\u90a3\u4e48\u4e0d\u65b9\u4fbf\u5176\u4ed6\u7b2c\u4e09\u65b9\u62d3\u5c55\uff0c\u4e5f\u4e0d\u65b9\u4fbf\u5c06\u7b14\u8bb0\u7528\u5176\u4ed6\u8f6f\u4ef6\u6253\u5f00\uff0c\u6bd4\u5982 qq \u97f3\u4e50\u4e0b\u8f7d\u6b4c\u66f2\u6709\u81ea\u5df1\u7684\u683c\u5f0f\uff0c\u5176\u4ed6\u64ad\u653e\u5668\u64ad\u653e\u4e0d\u4e86\uff0c\u8fd9\u633a\u6076\u5fc3\u4eba\u7684 Obsidian \u6709\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\uff0c\u5e76\u4e14\u8fd9\u4e2a\u751f\u6001\u65e2\u5927\u53c8\u6d3b\u8dc3\uff0c\u5373\u63d2\u4ef6\u6570\u91cf\u591a\uff0c\u4e14\u70ed\u95e8\u63d2\u4ef6\u7684 star \u591a\uff0c\u5f00\u53d1\u8005\u4f1a\u53cd\u9988\u7528\u6237 issue\uff0c\u7248\u672c\u4f1a\u6301\u7eed\u8fed\u4ee3\u3002\u501f\u52a9\u8fd9\u4e9b\u63d2\u4ef6\uff0c\u53ef\u4ee5\u4f7f Osidian \u8fbe\u5230 all in one \u7684\u6548\u679c\uff0c\u5373\u5404\u7c7b\u77e5\u8bc6\u6765\u6e90\u53ef\u4ee5\u7edf\u4e00\u6574\u5408\u4e8e\u4e00\u5904 \u4fe1\u606f\u7684\u6765\u6e90 Obsidian \u7684\u63d2\u4ef6\u4f7f\u5176\u53ef\u4ee5\u652f\u6301 pdf \u683c\u5f0f\uff0c\u800c\u5176\u672c\u8eab\u53c8\u652f\u6301 Markdown \u683c\u5f0f\u3002\u5982\u679c\u60f3\u8981 all in one \uff0c\u90a3\u4e48\u53ef\u4ee5\u57fa\u4e8e\u8fd9\u4e24\u4e2a\u683c\u5f0f\uff0c\u5c06\u5176\u4ed6\u683c\u5f0f\u6587\u4ef6\u8f6c\u6362\u4e3a pdf \u6216\u8005 Markdown\u3002 \u90a3\u4e48\u73b0\u5728\u5c31\u9762\u4e34\u7740\u4e24\u4e2a\u95ee\u9898\uff1a \u6709\u4ec0\u4e48\u683c\u5f0f \u600e\u4e48\u8f6c\u6362\u4e3a pdf \u6216 Markdown \u6709\u4ec0\u4e48\u683c\u5f0f \u6587\u4ef6\u683c\u5f0f\u4f9d\u6258\u4e8e\u5176\u5c55\u793a\u7684\u5e73\u53f0\uff0c\u6240\u4ee5\u5728\u770b\u6709\u4ec0\u4e48\u683c\u5f0f\u4e4b\u524d\uff0c\u53ef\u4ee5\u7f57\u5217\u4e00\u4e0b\u6211\u5e73\u65f6\u83b7\u53d6\u4fe1\u606f\u7684\u6765\u6e90\uff1a \u53ef\u4ee5\u770b\u5230\u4e3b\u8981\u5206\u4e3a \u6587\u7ae0 \u3001 \u8bba\u6587 \u3001 \u7535\u5b50\u4e66 \u3001 \u8bfe\u7a0b \u56db\u7c7b\uff0c\u5305\u542b\u7684\u683c\u5f0f\u4e3b\u8981\u6709 \u7f51\u9875 \u3001 pdf \u3001 mobi \u3001 azw \u3001 azw3 \u3002 \u600e\u4e48\u8f6c\u6362\u4e3a pdf \u6216 Markdown \u5728\u7ebf\u7684\u6587\u7ae0\u548c\u8bfe\u7a0b\u7b49\u5927\u591a\u4ee5\u7f51\u9875\u5f62\u5f0f\u5448\u73b0\uff0c\u800c\u5c06\u7f51\u9875\u8f6c\u6362\u4e3a Markdown \u53ef\u4ee5\u4f7f\u7528\u526a\u85cf\u8f6f\u4ef6\uff0c\u5b83\u53ef\u4ee5\u5c06\u7f51\u9875\u6587\u7ae0\u8f6c\u6362\u4e3a\u591a\u79cd\u6587\u672c\u683c\u5f0f\u6587\u4ef6\u3002\u6211\u9009\u62e9\u7684\u5de5\u5177\u662f\u7b80\u60a6\uff0c\u4f7f\u7528\u7b80\u60a6\u53ef\u4ee5\u5c06\u51e0\u4e4e\u6240\u6709\u5e73\u53f0\u7684\u6587\u7ae0\u5f88\u597d\u5730\u526a\u85cf\u4e3a Markdown \u5e76\u4e14\u5bfc\u5165\u5230 Obsidian\u3002 \u5bf9\u4e8e\u8bba\u6587\u548c\u7535\u5b50\u4e66\u800c\u8a00\u5982\u679c\u683c\u5f0f\u672c\u8eab\u5c31\u662f pdf \u5219\u4e07\u4e8b\u5927\u5409\uff0c\u4f46\u5982\u679c\u662f\u5176\u4ed6\u683c\u5f0f\u5219\u53ef\u4ee5\u4f7f\u7528 calibre \u8fdb\u884c\u8f6c\u6362\uff1a \u73b0\u5728\u5229\u7528 Obsidian \u7684 pdf \u63d2\u4ef6\u548c\u5176\u539f\u751f\u7684 markdown \u652f\u6301\u5c31\u53ef\u4ee5\u7545\u5feb\u65e0\u6bd4\u5730\u505a\u7b14\u8bb0\u5e76\u4e14\u5728\u8fd9\u4e9b\u6587\u7ae0\u7684\u5bf9\u5e94\u7ae0\u8282\u8fdb\u884c\u65e0\u7f1d\u8854\u63a5\u5730\u5f15\u7528\u8df3\u8f6c\u5566\uff08\u5177\u4f53\u64cd\u4f5c\u53c2\u8003\u4e0b\u6587\u7684\u201c\u4fe1\u606f\u7684\u5904\u7406\u201d\u6a21\u5757\uff09\u3002 \u5982\u4f55\u7edf\u4e00\u7ba1\u7406\u4fe1\u606f\u6765\u6e90 \u5bf9\u4e8e pdf \u7b49\u6587\u4ef6\u7c7b\u8d44\u6e90\u53ef\u4ee5\u672c\u5730\u6216\u8005\u4e91\u7aef\u5b58\u50a8\uff0c\u800c\u7f51\u9875\u7c7b\u8d44\u6e90\u5219\u53ef\u4ee5\u5206\u95e8\u522b\u7c7b\u5730\u653e\u5165\u6d4f\u89c8\u5668\u7684\u6536\u85cf\u5939\uff0c\u6216\u8005\u526a\u85cf\u6210 markdown \u683c\u5f0f\u7684\u7b14\u8bb0\uff0c\u4f46\u662f\u7f51\u9875\u6d4f\u89c8\u5668\u4e0d\u80fd\u5b9e\u73b0\u79fb\u52a8\u7aef\u7684\u7f51\u9875\u6536\u85cf\u3002\u4e3a\u4e86\u5b9e\u73b0\u8de8\u7aef\u7f51\u9875\u6536\u85cf\u6211\u9009\u7528\u4e86 Cubox\uff0c\u5728\u624b\u673a\u7aef\u770b\u5230\u611f\u5174\u8da3\u7684\u7f51\u9875\u65f6\u53ea\u9700\u5c0f\u624b\u4e00\u5212\uff0c\u4fbf\u80fd\u5c06\u7f51\u9875\u7edf\u4e00\u4fdd\u5b58\u4e0b\u6765\u3002\u867d\u7136\u514d\u8d39\u7248\u53ea\u80fd\u6536\u85cf 100 \u4e2a\u7f51\u9875\uff0c\u4f46\u5176\u5b9e\u591f\u7528\u4e86\uff0c\u8fd8\u53ef\u4ee5\u5728\u6536\u85cf\u6ee1\u65f6\u7763\u4fc3\u81ea\u5df1\u8d76\u7d27\u526a\u85cf\u6d88\u5316\u6389\u8fd9\u4e9b\u7f51\u9875\uff0c\u8ba9\u6536\u85cf\u4e0d\u5403\u7070\u3002 \u9664\u6b64\u4e4b\u5916\uff0c\u56de\u60f3\u4e00\u4e0b\u6211\u4eec\u5e73\u65f6\u6536\u85cf\u7684\u7f51\u9875\uff0c\u5c31\u4f1a\u53d1\u73b0\u6709\u5f88\u591a\u5e76\u4e0d\u662f\u50cf\u77e5\u4e4e\u3001\u6398\u91d1\u8fd9\u7c7b\u6709\u5b8c\u6574\u529f\u80fd\u7684\u535a\u5ba2\u5e73\u53f0\uff0c\u66f4\u591a\u7684\u662f\u4e2a\u4eba\u5efa\u7684\u5c0f\u7ad9\uff0c\u800c\u8fd9\u4e9b\u5c0f\u7ad9\u5f80\u5f80\u6ca1\u6709\u79fb\u52a8\u7aef\u5e94\u7528\uff0c\u8fd9\u6837\u5e73\u65f6\u5237\u624b\u673a\u7684\u65f6\u5019\u4e5f\u770b\u4e0d\u5230\uff0c\u653e\u5230\u6d4f\u89c8\u5668\u7684\u6536\u85cf\u5939\u91cc\u53c8\u5bb9\u6613\u6f0f\u4e86\u770b\uff0c\u6709\u65b0\u6587\u7ae0\u53d1\u5e03\u6211\u4eec\u4e5f\u4e0d\u80fd\u7b2c\u4e00\u65f6\u95f4\u6536\u5230\u901a\u77e5\uff0c\u8fd9\u4e2a\u65f6\u5019\u5c31\u9700\u8981\u4e00\u79cd\u53eb RSS \u7684\u901a\u4fe1\u534f\u8bae\u3002 RSS \uff08\u82f1\u6587\u5168\u79f0\uff1aRDF Site Summary \u6216 Really Simple Syndication\uff09\uff0c\u4e2d\u6587\u8bd1\u4f5c\u7b80\u6613\u4fe1\u606f\u805a\u5408\uff0c\u4e5f\u79f0\u805a\u5408\u5185\u5bb9\uff0c\u662f\u4e00\u79cd\u6d88\u606f\u6765\u6e90\u683c\u5f0f\u89c4\u8303\uff0c\u7528\u4ee5\u805a\u5408\u591a\u4e2a\u7f51\u7ad9\u66f4\u65b0\u7684\u5185\u5bb9\u5e76\u81ea\u52a8\u901a\u77e5\u7f51\u7ad9\u8ba2\u9605\u8005\u3002\u7535\u8111\u7aef\u53ef\u4ee5\u501f\u52a9 RSSHub Radar \u6765\u5feb\u901f\u53d1\u73b0\u548c\u751f\u6210 RSS \u8ba2\u9605\u6e90\uff0c\u63a5\u7740\u4f7f\u7528 Feedly \u6765\u8ba2\u9605\u8fd9\u4e9b RSS \u8ba2\u9605\u6e90\uff08 RSSHub Radar \u548c Feedly \u5728 chrome \u6d4f\u89c8\u5668\u4e2d\u5747\u6709\u5b98\u65b9\u63d2\u4ef6\uff09\u3002 \u5230\u8fd9\u91cc\u4e3a\u6b62\uff0c\u6536\u96c6\u4fe1\u606f\u7684\u6d41\u7a0b\u5df2\u7ecf\u6bd4\u8f83\u5b8c\u5907\u4e86\u3002\u4f46\u8d44\u6599\u518d\u591a\uff0c\u5206\u7c7b\u89c4\u6574\u5f97\u518d\u6f02\u4eae\uff0c\u4e5f\u5f97\u771f\u6b63\u5185\u5316\u6210\u81ea\u5df1\u7684\u624d\u7ba1\u7528\u3002\u56e0\u6b64\u5728\u6536\u96c6\u5b8c\u4fe1\u606f\u540e\u5c31\u5f97\u8fdb\u4e00\u6b65\u5730\u5904\u7406\u4fe1\u606f\uff0c\u5373\u9605\u8bfb\u8fd9\u4e9b\u4fe1\u606f\uff0c\u5982\u679c\u662f\u82f1\u6587\u4fe1\u606f\u7684\u8bdd\u8fd8\u5f97\u641e\u61c2\u82f1\u6587\u7684\u8bed\u4e49\uff0c\u52a0\u7c97\u9ad8\u4eae\u91cd\u70b9\u53e5\u5b50\u6bb5\u843d\uff0c\u6807\u8bb0\u6709\u7591\u95ee\u7684\u5730\u65b9\uff0c\u53d1\u6563\u8054\u60f3\u76f8\u5173\u7684\u77e5\u8bc6\u70b9\uff0c\u6700\u540e\u5199\u4e0a\u81ea\u5df1\u7684\u603b\u7ed3\u3002\u90a3\u4e48\u5728\u8fd9\u8fc7\u7a0b\u4e2d\u9700\u8981\u4f7f\u7528\u5230\u4ec0\u4e48\u5de5\u5177\u5462\uff1f \u4fe1\u606f\u7684\u5904\u7406 \u82f1\u6587\u4fe1\u606f \u9762\u5bf9\u82f1\u6587\u7684\u8d44\u6599\uff0c\u6211\u4ee5\u524d\u662f\u7528 \u6709\u9053\u8bcd\u5178 \u6765\u5212\u8bcd\u7ffb\u8bd1\uff0c\u9047\u5230\u53e5\u5b50\u7684\u8bdd\u5c31\u4f7f\u7528\u8c37\u6b4c\u7ffb\u8bd1\uff0c\u9047\u5230\u5927\u6bb5\u843d\u65f6\u5c31\u4f7f\u7528 deepl \uff0c\u4e45\u800c\u4e45\u4e4b\uff0c\u53d1\u73b0\u8fd9\u6837\u770b\u82f1\u8bed\u6587\u732e\u592a\u6162\u4e86\uff0c\u5f97\u7528\u4e09\u4e2a\u5de5\u5177\u624d\u80fd\u6ee1\u8db3\u7ffb\u8bd1\u8fd9\u4e00\u4e2a\u9700\u6c42\uff0c\u5982\u679c\u6709\u4e00\u4e2a\u5de5\u5177\u80fd\u591f\u540c\u65f6\u5b9e\u73b0\u5bf9\u5355\u8bcd\u3001\u53e5\u5b50\u548c\u6bb5\u843d\u7684\u5212\u8bcd\u7ffb\u8bd1\u5c31\u597d\u4e86\u3002\u6211\u8054\u60f3\u5230\u7814\u7a76\u751f\u4eec\u5e94\u8be5\u4f1a\u7ecf\u5e38\u63a5\u89e6\u82f1\u8bed\u6587\u732e\uff0c\u4e8e\u662f\u6211\u5c31\u641c \u7814\u7a76\u751f + \u7ffb\u8bd1\u8f6f\u4ef6 \uff0c\u5728\u68c0\u7d22\u7ed3\u679c\u91cc\u6211\u6700\u7ec8\u9009\u62e9\u4e86 Quicker + \u6c99\u62c9\u67e5\u8bcd \u8fd9\u4e2a\u642d\u914d\u6765\u8fdb\u884c\u5212\u8bcd\u7ffb\u8bd1\u3002 \u4f7f\u7528\u8fd9\u5957\u7ec4\u5408\u53ef\u4ee5\u5b9e\u73b0\u5728\u6d4f\u89c8\u5668\u5916\u7684\u5176\u4ed6\u8f6f\u4ef6\u5185\u8fdb\u884c\u5212\u8bcd\u7ffb\u8bd1\uff0c\u5e76\u4e14\u652f\u6301\u5355\u8bcd\u3001\u53e5\u5b50\u548c\u6bb5\u843d\u7684\u7ffb\u8bd1\uff0c\u4ee5\u53ca\u6bcf\u6b21\u7684\u7ffb\u8bd1\u4f1a\u6709\u591a\u4e2a\u7ffb\u8bd1\u5e73\u53f0\u7684\u7ed3\u679c\u3002btw\uff0c\u5982\u679c\u67e5\u5355\u8bcd\u65f6\u4e0d\u7740\u6025\u7684\u8bdd\uff0c\u53ef\u4ee5\u987a\u4fbf\u770b\u770b \u79d1\u6797\u65af\u9ad8\u9636 \u7684\u7ffb\u8bd1\uff0c\u8fd9\u4e2a\u8bcd\u5178\u7684\u4f18\u70b9\u5c31\u662f\u4f1a\u7528\u82f1\u6587\u53bb\u89e3\u91ca\u82f1\u6587\uff0c\u53ef\u4ee5\u63d0\u4f9b\u591a\u4e2a\u4e0a\u4e0b\u6587\u5e2e\u52a9\u4f60\u7406\u89e3\uff0c\u5bf9\u4e8e\u5b66\u4e60\u82f1\u6587\u5355\u8bcd\u4e5f\u6709\u5e2e\u52a9\uff0c\u56e0\u4e3a\u7528\u82f1\u6587\u89e3\u91ca\u82f1\u6587\u624d\u66f4\u63a5\u8fd1\u82f1\u8bed\u7684\u601d\u7ef4\u3002 \u591a\u5a92\u4f53\u4fe1\u606f \u5904\u7406\u5b8c\u6587\u672c\u7c7b\u7684\u4fe1\u606f\u540e\uff0c\u6211\u4eec\u8fd8\u5f97\u601d\u8003\u4e00\u4e0b\u600e\u4e48\u5904\u7406\u591a\u5a92\u4f53\u7c7b\u7684\u4fe1\u606f\u3002\u6b64\u5904\u7684\u591a\u5a92\u4f53\u6211\u7279\u6307\u82f1\u6587\u89c6\u9891\uff0c\u56e0\u4e3a\u6211\u6ca1\u6709\u7528\u64ad\u5ba2\u6216\u5f55\u97f3\u5b66\u4e60\u7684\u4e60\u60ef\uff0c\u800c\u4e14\u6211\u5df2\u7ecf\u57fa\u672c\u4e0d\u770b\u4e2d\u6587\u6559\u7a0b\u4e86\u3002\u73b0\u5728\u5f88\u591a\u56fd\u5916\u540d\u6821\u516c\u5f00\u8bfe\u90fd\u662f\u4ee5\u89c6\u9891\u7684\u5f62\u5f0f\uff0c\u5982\u679c\u80fd\u5bf9\u89c6\u9891\u8fdb\u884c\u505a\u7b14\u8bb0\u4f1a\u4e0d\u4f1a\u6709\u5e2e\u52a9\u5462\uff1f\u4e0d\u77e5\u9053\u5927\u5bb6\u6709\u6ca1\u8fd9\u6837\u7684\u60f3\u6cd5\uff0c\u5c31\u662f\u5982\u679c\u80fd\u628a\u8001\u5e08\u4e0a\u8bfe\u8bb2\u7684\u5185\u5bb9\u8f6c\u6362\u6210\u6587\u672c\u5c31\u597d\u4e86\uff0c\u56e0\u4e3a\u5e73\u65f6\u5b66\u4e60\u65f6\u6211\u4eec\u770b\u4e66\u7684\u901f\u5ea6\u5f80\u5f80\u4f1a\u6bd4\u8001\u5e08\u8bb2\u8bfe\u7684\u901f\u5ea6\u5feb\u3002\u521a\u597d Language Reactor \u8fd9\u4e2a\u8f6f\u4ef6\u53ef\u4ee5\u5c06\u6cb9\u7ba1\u548c\u7f51\u98de\u5185\u89c6\u9891\u7684\u5b57\u5e55\u5bfc\u51fa\u6765\uff0c\u540c\u65f6\u9644\u4e0a\u4e2d\u6587\u7ffb\u8bd1\u3002 \u6211\u4eec\u53ef\u4ee5\u628a Language Reactor \u5bfc\u51fa\u7684\u5b57\u5e55\u590d\u5236\u5230 Obsidian \u91cc\u9762\u4f5c\u4e3a\u6587\u7ae0\u6765\u8bfb\u3002\u9664\u4e86\u51fa\u4e8e\u5b66\u4e60\u7684\u9700\u6c42\uff0c\u4e5f\u53ef\u4ee5\u5728\u5e73\u65f6\u770b\u6cb9\u7ba1\u7684\u89c6\u9891\u65f6\u6253\u5f00\u8fd9\u4e2a\u63d2\u4ef6\uff0c\u8fd9\u4e2a\u63d2\u4ef6\u53ef\u4ee5\u540c\u65f6\u663e\u793a\u4e2d\u82f1\u6587\u5b57\u5e55\uff0c\u5e76\u4e14\u53ef\u4ee5\u5355\u51fb\u9009\u4e2d\u82f1\u6587\u5b57\u5e55\u4e2d\u4f60\u8ba4\u4e3a\u751f\u50fb\u7684\u5355\u8bcd\u540e\u663e\u793a\u5355\u8bcd\u91ca\u4e49\u3002 \u4f46\u9605\u8bfb\u6587\u672c\u5bf9\u4e8e\u4e00\u4e9b\u62bd\u8c61\u7684\u77e5\u8bc6\u70b9\u6765\u8bf4\u5e76\u4e0d\u662f\u6548\u7387\u6700\u9ad8\u7684\u5b66\u4e60\u65b9\u5f0f\u3002\u4fd7\u8bdd\u8bf4\uff0c\u4e00\u56fe\u80dc\u5343\u8a00\uff0c\u80fd\u4e0d\u80fd\u5c06\u67d0\u4e00\u6bb5\u77e5\u8bc6\u70b9\u7684\u6587\u672c\u548c\u5bf9\u5e94\u7684\u56fe\u7247\u751a\u81f3\u89c6\u9891\u753b\u9762\u64cd\u4f5c\u8054\u7cfb\u8d77\u6765\u5462\uff1f\u6211\u5728\u6d4f\u89c8 Obsidian \u7684\u63d2\u4ef6\u5e02\u573a\u65f6\uff0c\u53d1\u73b0\u4e86\u4e00\u4e2a\u53eb Media Extended \u7684\u63d2\u4ef6\uff0c\u8fd9\u4e2a\u63d2\u4ef6\u53ef\u4ee5\u5728\u4f60\u7684\u7b14\u8bb0\u91cc\u6dfb\u52a0\u8df3\u8f6c\u5230\u89c6\u9891\u6307\u5b9a\u65f6\u95f4\u8fdb\u5ea6\u7684\u94fe\u63a5\uff0c\u76f8\u5f53\u4e8e\u628a\u4f60\u7684\u7b14\u8bb0\u548c\u89c6\u9891\u8fde\u63a5\u8d77\u6765\u4e86\uff01\u8fd9\u521a\u597d\u53ef\u4ee5\u548c\u6211\u4e0a\u6587\u63d0\u5230\u7684\u751f\u6210\u89c6\u9891\u4e2d\u82f1\u6587\u5b57\u5e55\u642d\u914d\u8d77\u6765\uff0c\u5373\u6bcf\u4e00\u53e5\u5b57\u5e55\u5bf9\u5e94\u4e00\u4e2a\u65f6\u95f4\uff0c\u5e76\u4e14\u80fd\u6839\u636e\u65f6\u95f4\u70b9\u8df3\u8f6c\u5230\u89c6\u9891\u7684\u6307\u5b9a\u8fdb\u5ea6\uff0c\u5982\u6b64\u4e00\u6765\u5982\u679c\u9700\u8981\u5728\u6587\u7ae0\u4e2d\u5c55\u793a\u8bb0\u5f55\u4e86\u64cd\u4f5c\u8fc7\u7a0b\u7684\u89c6\u9891\u7684\u8bdd\uff0c\u5c31\u4e0d\u9700\u8981\u81ea\u5df1\u53bb\u622a\u53d6\u5bf9\u5e94\u7684\u89c6\u9891\u7247\u6bb5\uff0c\u800c\u662f\u76f4\u63a5\u5728\u6587\u7ae0\u5185\u5c31\u80fd\u8df3\u8f6c\uff01 Obsidian \u91cc\u8fd8\u6709\u4e00\u4e2a\u5f88\u5f3a\u5927\u7684\u63d2\u4ef6\uff0c\u53eb Annotator \uff0c\u5b83\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u5185\u8df3\u8f6c\u5230 pdf \u539f\u6587 \u73b0\u5728\uff0c\u4f7f\u7528 Obsidian \u81ea\u5e26\u7684\u53cc\u94fe\u529f\u80fd\uff0c\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u95f4\u76f8\u4e92\u8df3\u8f6c\uff0c\u7ed3\u5408\u4e0a\u8ff0\u4e24\u4e2a\u63d2\u4ef6\uff0c\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u5230\u591a\u5a92\u4f53\u7684\u8df3\u8f6c\uff0c\u4fe1\u606f\u7684\u5904\u7406\u8fc7\u7a0b\u5df2\u7ecf\u5b8c\u5907\u3002\u4e00\u822c\u6211\u4eec\u5b66\u4e60\u7684\u8fc7\u7a0b\u76f8\u5f53\u4e8e\u4e0a\u5c71\u548c\u4e0b\u5c71\uff0c\u521a\u5b66\u7684\u65f6\u5019\u5c31\u597d\u50cf\u4e0a\u5c71\uff0c\u5f88\u964c\u751f\u3001\u5403\u529b\uff0c\u6240\u8c13\u5b66\u800c\u65f6\u4e60\u4e4b\uff0c\u590d\u4e60\u6216\u7ec3\u4e60\u7684\u8fc7\u7a0b\u5c31\u50cf\u4e0b\u5c71\uff0c\u6ca1\u6709\u964c\u751f\u611f\uff0c\u4e0d\u89c1\u5f97\u8f7b\u677e\uff0c\u4f46\u975e\u8d70\u4e0d\u53ef\u3002\u90a3\u4e48\u5982\u4f55\u628a\u590d\u4e60\u8fd9\u4e00\u8fc7\u7a0b\u7eb3\u5165\u5de5\u4f5c\u6d41\u7684\u73af\u8282\u91cc\u5462\uff1f \u4fe1\u606f\u7684\u56de\u987e Obsidian \u5185\u5df2\u7ecf\u6709\u4e00\u4e2a\u8fde\u63a5 Anki \u7684\u63d2\u4ef6\uff0c Anki \u5c31\u662f\u5927\u540d\u9f0e\u9f0e\u7684\u3001\u57fa\u4e8e\u95f4\u9694\u91cd\u590d\u7684\u8bb0\u5fc6\u8f6f\u4ef6\u3002\u4f7f\u7528\u8be5\u63d2\u4ef6\u53ef\u4ee5\u622a\u53d6\u7b14\u8bb0\u7684\u7247\u6bb5\u5bfc\u51fa\u5230 Anki \u5e76\u53d8\u6210\u4e00\u5f20\u5361\u7247\uff0c\u5361\u7247\u5185\u4e5f\u6709\u8df3\u8f6c\u56de\u7b14\u8bb0\u539f\u6587\u7684\u94fe\u63a5 \u603b\u7ed3 \u8fd9\u4e2a\u5de5\u4f5c\u6d41\u662f\u5728\u6211\u8fd9\u4e24\u5e74\u4e1a\u4f59\u65f6\u95f4\u5b66\u4e60\u65f6\u6240\u6162\u6162\u5f62\u6210\u7684\uff0c\u5728\u5b66\u4e60\u8fc7\u7a0b\u4e2d\u56e0\u4e3a\u5bf9\u4e00\u4e9b\u91cd\u590d\u6027\u7684\u8fc7\u7a0b\u800c\u611f\u5230\u538c\u5026\uff0c\u6b63\u662f\u8fd9\u79cd\u538c\u5026\u4ea7\u751f\u4e86\u67d0\u79cd\u7279\u5b9a\u7684\u9700\u6c42\uff0c\u6070\u597d\u5728\u5e73\u65f6\u7f51\u4e0a\u51b2\u6d6a\u65f6\u4e86\u89e3\u5230\u7684\u4e00\u4e9b\u5de5\u5177\u6ee1\u8db3\u4e86\u6211\u8fd9\u4e9b\u9700\u6c42\u3002\u4e0d\u8981\u4e3a\u4e86\u865a\u65e0\u7684\u6ee1\u8db3\u611f\u800c\u5c06\u5de5\u5177\u5f3a\u884c\u62fc\u51d1\u5230\u81ea\u5df1\u7684\u5de5\u4f5c\u6d41\u4e2d\uff0c\u4eba\u751f\u82e6\u77ed\uff0c\u505a\u5b9e\u4e8b\u6700\u7d27\u8981\u3002 btw\uff0c\u6b64\u7bc7\u6587\u7ae0\u662f\u8bb2\u89e3\u5de5\u4f5c\u6d41\u7684\u6f14\u5316\u601d\u8def\uff0c\u5982\u679c\u5bf9\u6b64\u5de5\u4f5c\u6d41\u7684\u5b9e\u73b0\u7ec6\u8282\u611f\u5174\u8da3\uff0c\u5efa\u8bae\u9605\u8bfb\u5b8c\u672c\u6587\u540e\u518d\u6309\u987a\u5e8f\u9605\u8bfb\u4ee5\u4e0b\u6587\u7ae0 3000 + \u5c0f\u65f6\u79ef\u7d2f\u7684\u5b66\u4e60\u5de5\u4f5c\u6d41 Obsidian \u7684\u9ad8\u7ea7\u73a9\u6cd5 | \u6253\u9020\u80fd\u8df3\u8f6c\u5230\u4efb\u4f55\u683c\u5f0f\u6587\u4ef6\u7684\u7b14\u8bb0","title":"\u65e5\u5e38\u5b66\u4e60\u5de5\u4f5c\u6d41"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_1","text":"\u4e00\u5f00\u59cb\u6211\u5b66\u4e60\u65b0\u77e5\u8bc6\u65f6\u4f1a\u53c2\u8003\u4e2d\u6587\u535a\u5ba2\uff0c\u4f46\u5728\u4ee3\u7801\u5b9e\u8df5\u65f6\u5f80\u5f80\u4f1a\u53d1\u73b0\u6f0f\u6d1e\u548cbug\u3002\u6211\u9010\u6e10\u610f\u8bc6\u5230\u6211\u53c2\u8003\u7684\u4fe1\u606f\u53ef\u80fd\u662f\u9519\u8bef\u7684\uff0c\u6bd5\u7adf\u53d1\u535a\u5ba2\u7684\u95e8\u69db\u4f4e\uff0c\u6587\u7ae0\u53ef\u4fe1\u5ea6\u4e0d\u9ad8\uff0c\u4e8e\u662f\u6211\u5f00\u59cb\u67e5\u9605\u4e00\u4e9b\u76f8\u5173\u7684\u4e2d\u6587\u4e66\u7c4d\u3002 \u4e2d\u6587\u4e66\u7c4d\u7684\u786e\u662f\u6bd4\u8f83\u5168\u9762\u4e14\u7cfb\u7edf\u5730\u8bb2\u89e3\u4e86\u77e5\u8bc6\u70b9\uff0c\u4f46\u4f17\u6240\u5468\u77e5\uff0c\u8ba1\u7b97\u673a\u6280\u672f\u66f4\u8fed\u8fc5\u901f\uff0c\u53c8\u56e0\u4e3a\u8001\u7f8e\u5728 CS \u65b9\u9762\u4e00\u76f4\u90fd\u662f\u706f\u5854\uff0c\u6240\u4ee5\u4e00\u822c\u4e2d\u6587\u4e66\u7c4d\u91cc\u7684\u5185\u5bb9\u4f1a\u6ede\u540e\u4e8e\u5f53\u524d\u6700\u65b0\u7684\u77e5\u8bc6\uff0c\u5bfc\u81f4\u6211\u8ddf\u7740\u4e2d\u6587\u4e66\u7c4d\u5b9e\u8df5\u4f1a\u51fa\u73b0\u8f6f\u4ef6\u7248\u672c\u5dee\u5f02\u7684\u95ee\u9898\u3002\u8fd9\u65f6\u6211\u5f00\u59cb\u610f\u8bc6\u5230\u4e00\u624b\u4fe1\u606f\u7684\u91cd\u8981\u6027\uff0c\u6709\u4e9b\u4e2d\u6587\u4e66\u7c4d\u662f\u7ffb\u8bd1\u82f1\u6587\u4e66\u7c4d\u7684\uff0c\u4e00\u822c\u7ffb\u8bd1\u4e00\u672c\u4e66\u4e5f\u8981\u4e00\u4e24\u5e74\uff0c\u8fd9\u4f1a\u5bfc\u81f4\u4fe1\u606f\u4f20\u9012\u7684\u5ef6\u8fdf\uff0c\u8fd8\u6709\u5c31\u662f\u7ffb\u8bd1\u7684\u8fc7\u7a0b\u4e2d\u4fe1\u606f\u4f1a\u6709\u635f\u5931\u3002\u5982\u679c\u4e00\u672c\u4e2d\u6587\u4e66\u7c4d\u4e0d\u662f\u7ffb\u8bd1\u7684\u5462\uff0c\u90a3\u4e48\u5b83\u5927\u6982\u7387\u4e5f\u53c2\u8003\u4e86\u5176\u4ed6\u4e66\u7c4d\uff0c\u53c2\u8003\u7684\u8fc7\u7a0b\u4f1a\u5e26\u6709\u5bf9\u82f1\u6587\u539f\u8457\u4e2d\u8bed\u4e49\u7406\u89e3\u7684\u504f\u5dee\u3002 \u4e8e\u662f\u6211\u5c31\u987a\u5176\u81ea\u7136\u5730\u5f00\u59cb\u7ffb\u9605\u82f1\u6587\u4e66\u7c4d\u3002\u4e0d\u5f97\u4e0d\u8bf4\uff0c\u82f1\u6587\u4e66\u7c4d\u5185\u5bb9\u7684\u8d28\u91cf\u6574\u4f53\u662f\u6bd4\u4e2d\u6587\u4e66\u7c4d\u9ad8\u7684\u3002\u540e\u6765\u968f\u7740\u5b66\u4e60\u7684\u5c42\u5c42\u6df1\u5165\uff0c\u4ee5\u77e5\u8bc6\u7684\u65f6\u6548\u6027\u548c\u5b8c\u6574\u6027\u51fa\u53d1\uff0c\u6211\u53d1\u73b0 \u6e90\u4ee3\u7801 > \u5b98\u65b9\u6587\u6863 > \u82f1\u6587\u4e66\u7c4d > \u82f1\u6587\u535a\u5ba2 > \u4e2d\u6587\u535a\u5ba2 \uff0c\u6700\u540e\u6211\u5f97\u51fa\u4e86\u4e00\u5f20 \u4fe1\u606f\u635f\u5931\u56fe \uff1a \u867d\u7136\u4e00\u624b\u4fe1\u606f\u5f88\u91cd\u8981\uff0c\u4f46\u540e\u9762\u7684 N \u624b\u4fe1\u606f\u5e76\u975e\u4e00\u65e0\u662f\u5904\uff0c\u56e0\u4e3a\u8fd9 N \u624b\u8d44\u6599\u91cc\u5305\u542b\u4e86\u4f5c\u8005\u5bf9\u6e90\u77e5\u8bc6\u7684\u8f6c\u5316\u2014\u2014\u4f8b\u5982\u57fa\u4e8e\u67d0\u79cd\u903b\u8f91\u7684\u68b3\u7406\uff08\u6d41\u7a0b\u56fe\u3001\u601d\u7ef4\u5bfc\u56fe\u7b49\uff09\u6216\u662f\u4e00\u4e9b\u81ea\u5df1\u7684\u7406\u89e3\uff08\u5bf9\u6e90\u77e5\u8bc6\u7684\u62bd\u8c61\u3001\u7c7b\u6bd4\u3001\u5ef6\u4f38\u5230\u5176\u4ed6\u77e5\u8bc6\u70b9\uff09\uff0c\u8fd9\u4e9b\u8f6c\u5316\u53ef\u4ee5\u5e2e\u52a9\u6211\u4eec\u66f4\u5feb\u5730\u638c\u63e1\u548c\u5de9\u56fa\u77e5\u8bc6\u7684\u6838\u5fc3\u5185\u5bb9\uff0c\u5c31\u5982\u540c\u521d\u9ad8\u4e2d\u5b66\u4e60\u65f6\u4f7f\u7528\u7684\u8f85\u5bfc\u4e66\u3002 \u6b64\u5916\uff0c\u5b66\u4e60\u7684\u8fc7\u7a0b\u4e2d\u548c\u522b\u4eba\u7684\u4ea4\u6d41\u5341\u5206\u91cd\u8981\uff0c\u8fd9\u4e9b N \u624b\u4fe1\u606f\u540c\u65f6\u8d77\u4e86\u548c\u5176\u4ed6\u4f5c\u8005\u4ea4\u6d41\u7684\u4f5c\u7528\uff0c\u8ba9\u6211\u4eec\u80fd\u91c7\u767e\u5bb6\u4e4b\u957f\u3002\u6240\u4ee5\u8fd9\u63d0\u793a\u6211\u4eec\u5b66\u4e60\u4e00\u4e2a\u77e5\u8bc6\u70b9\u65f6\u5148\u5c3d\u91cf\u9009\u62e9\u8d28\u91cf\u66f4\u9ad8\u7684\uff0c\u4fe1\u606f\u635f\u5931\u8f83\u5c11\u7684\u4fe1\u606f\u6e90\uff0c\u540c\u65f6\u4e0d\u59a8\u53c2\u8003\u591a\u4e2a\u4fe1\u606f\u6e90\uff0c\u8ba9\u81ea\u5df1\u7684\u7406\u89e3\u66f4\u52a0\u5168\u9762\u51c6\u786e\u3002 \u73b0\u5b9e\u5de5\u4f5c\u751f\u6d3b\u4e2d\u7684\u5b66\u4e60\u5f88\u96be\u50cf\u5b66\u6821\u91cc\u4e00\u6837\u56f4\u7ed5\u67d0\u4e2a\u5355\u4e00\u77e5\u8bc6\u70b9\u7531\u6d45\u5165\u6df1\uff0c\u7ecf\u5e38\u4f1a\u5728\u5b66\u4e60\u8fc7\u7a0b\u4e2d\u6d89\u53ca\u5230\u5176\u4ed6\u77e5\u8bc6\u70b9\uff0c\u6bd4\u5982\u4e00\u4e9b\u65b0\u7684\u4e13\u6709\u540d\u8bcd\uff0c\u4e00\u7bc7\u6ca1\u6709\u8bfb\u8fc7\u7684\u7ecf\u5178\u8bba\u6587\uff0c\u4e00\u6bb5\u672a\u66fe\u63a5\u89e6\u8fc7\u7684\u4ee3\u7801\u7b49\u7b49\u3002\u8fd9\u5c31\u8981\u6c42\u6211\u4eec\u52e4\u4e8e\u601d\u8003\uff0c\u5228\u6839\u7a76\u5e95\u5730\u201c\u9012\u5f52\u201d\u5b66\u4e60\uff0c\u7ed9\u591a\u4e2a\u77e5\u8bc6\u70b9\u4e4b\u95f4\u5efa\u7acb\u8054\u7cfb\u3002","title":"\u5e95\u5c42\u6838\u5fc3\u903b\u8f91"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_2","text":"\u5de5\u4f5c\u6d41\u7684\u9aa8\u67b6\u56f4\u7ed5 \u5355\u4e2a\u77e5\u8bc6\u70b9\u591a\u53c2\u8003\u6e90\uff0c\u52e4\u4e8e\u63d0\u95ee\u7ed9\u591a\u4e2a\u77e5\u8bc6\u70b9\u4e4b\u95f4\u5efa\u7acb\u8054\u7cfb \u7684\u5e95\u5c42\u6838\u5fc3\u903b\u8f91\u5efa\u7acb\u3002\u6211\u4eec\u5199\u8bba\u6587\u5176\u5b9e\u5c31\u662f\u9075\u5faa\u8fd9\u4e2a\u5e95\u5c42\u903b\u8f91\u7684\u3002\u8bba\u6587\u4e00\u822c\u4f1a\u6709\u811a\u6ce8\u53bb\u89e3\u91ca\u4e00\u4e9b\u5173\u952e\u5b57\uff0c\u5e76\u4e14\u8bba\u6587\u672b\u5c3e\u4f1a\u6709\u591a\u4e2a\u53c2\u8003\u7684\u6765\u6e90\uff0c\u4f46\u662f\u6211\u4eec\u5e73\u65f6\u5199\u7b14\u8bb0\u4f1a\u968f\u610f\u5f97\u591a\uff0c\u56e0\u6b64\u9700\u8981\u66f4\u7075\u6d3b\u7684\u65b9\u5f0f\u3002 \u5e73\u65f6\u5199\u4ee3\u7801\u4e60\u60ef\u5728 IDE \u91cc\u4e00\u952e\u8df3\u8f6c\uff0c\u628a\u76f8\u5173\u7684\u51fd\u6570\u548c\u5b9e\u73b0\u5f88\u597d\u5730\u8054\u7cfb\u5728\u4e86\u4e00\u8d77\u3002\u4f60\u4e5f\u8bb8\u4f1a\u60f3\uff0c\u5982\u679c\u7b14\u8bb0\u4e5f\u80fd\u50cf\u4ee3\u7801\u90a3\u6837\u53ef\u4ee5\u8df3\u8f6c\u5c31\u597d\u4e86\u3002\u73b0\u5728\u5e02\u9762\u4e0a \u53cc\u94fe\u7b14\u8bb0\u8f6f\u4ef6 \u5c31\u53ef\u4ee5\u5f88\u597d\u5730\u89e3\u51b3\u8fd9\u4e00\u75db\u70b9\uff0c\u4f8b\u5982 Roam Research\u3001Logseq\u3001Notion \u548c Obsidian\u3002Roam Research \u548c Logseq \u90fd\u662f\u57fa\u4e8e\u5927\u7eb2\u7ed3\u6784\u7684\u7b14\u8bb0\u8f6f\u4ef6\uff0c\u800c \u5927\u7eb2\u7ed3\u6784 \u662f\u529d\u9000\u6211\u4f7f\u7528\u8fd9\u4e24\u6b3e\u8f6f\u4ef6\u7684\u539f\u56e0\u3002\u4e00\u662f \u5927\u7eb2\u7ed3\u6784 \u505a\u7b14\u8bb0\u5bb9\u6613\u4f7f\u6587\u7ae0\u7eb5\u5411\u7bc7\u5e45\u592a\u957f\uff0c\u4e8c\u662f\u5982\u679c\u5d4c\u5957\u7ed3\u6784\u8fc7\u591a\u4f1a\u5360\u6a2a\u5411\u7684\u7bc7\u5e45\u3002Notion \u9875\u9762\u6253\u5f00\u6162\uff0c\u5f03\u4e4b\u3002\u6700\u7ec8\u6211\u9009\u62e9\u4e86 Obsidian\uff0c\u539f\u56e0\u5982\u4e0b\uff1a Obsidian \u57fa\u4e8e\u672c\u5730\uff0c\u6253\u5f00\u901f\u5ea6\u5feb\uff0c\u4e14\u53ef\u5b58\u653e\u5f88\u591a\u7535\u5b50\u4e66\u3002\u6211\u7684\u7b14\u8bb0\u672c\u662f 32g \u5185\u5b58\u7684\u534e\u7855\u5929\u9009\u4e00\u4ee3\uff0c\u62ff\u6765\u8dd1 Obsidian \u53ef\u4ee5\u5feb\u5230\u98de\u8d77 Obsidian \u57fa\u4e8e Markdown\u3002\u8fd9\u4e5f\u662f\u4e00\u4e2a\u4f18\u52bf\uff0c\u5982\u679c\u7b14\u8bb0\u8f6f\u4ef6\u5199\u7684\u7b14\u8bb0\u683c\u5f0f\u662f\u81ea\u5bb6\u7684\u7f16\u7801\u683c\u5f0f\uff0c\u90a3\u4e48\u4e0d\u65b9\u4fbf\u5176\u4ed6\u7b2c\u4e09\u65b9\u62d3\u5c55\uff0c\u4e5f\u4e0d\u65b9\u4fbf\u5c06\u7b14\u8bb0\u7528\u5176\u4ed6\u8f6f\u4ef6\u6253\u5f00\uff0c\u6bd4\u5982 qq \u97f3\u4e50\u4e0b\u8f7d\u6b4c\u66f2\u6709\u81ea\u5df1\u7684\u683c\u5f0f\uff0c\u5176\u4ed6\u64ad\u653e\u5668\u64ad\u653e\u4e0d\u4e86\uff0c\u8fd9\u633a\u6076\u5fc3\u4eba\u7684 Obsidian \u6709\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\uff0c\u5e76\u4e14\u8fd9\u4e2a\u751f\u6001\u65e2\u5927\u53c8\u6d3b\u8dc3\uff0c\u5373\u63d2\u4ef6\u6570\u91cf\u591a\uff0c\u4e14\u70ed\u95e8\u63d2\u4ef6\u7684 star \u591a\uff0c\u5f00\u53d1\u8005\u4f1a\u53cd\u9988\u7528\u6237 issue\uff0c\u7248\u672c\u4f1a\u6301\u7eed\u8fed\u4ee3\u3002\u501f\u52a9\u8fd9\u4e9b\u63d2\u4ef6\uff0c\u53ef\u4ee5\u4f7f Osidian \u8fbe\u5230 all in one \u7684\u6548\u679c\uff0c\u5373\u5404\u7c7b\u77e5\u8bc6\u6765\u6e90\u53ef\u4ee5\u7edf\u4e00\u6574\u5408\u4e8e\u4e00\u5904","title":"\u9009\u62e9\u5408\u9002\u7684\u7b14\u8bb0\u8f6f\u4ef6"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_3","text":"Obsidian \u7684\u63d2\u4ef6\u4f7f\u5176\u53ef\u4ee5\u652f\u6301 pdf \u683c\u5f0f\uff0c\u800c\u5176\u672c\u8eab\u53c8\u652f\u6301 Markdown \u683c\u5f0f\u3002\u5982\u679c\u60f3\u8981 all in one \uff0c\u90a3\u4e48\u53ef\u4ee5\u57fa\u4e8e\u8fd9\u4e24\u4e2a\u683c\u5f0f\uff0c\u5c06\u5176\u4ed6\u683c\u5f0f\u6587\u4ef6\u8f6c\u6362\u4e3a pdf \u6216\u8005 Markdown\u3002 \u90a3\u4e48\u73b0\u5728\u5c31\u9762\u4e34\u7740\u4e24\u4e2a\u95ee\u9898\uff1a \u6709\u4ec0\u4e48\u683c\u5f0f \u600e\u4e48\u8f6c\u6362\u4e3a pdf \u6216 Markdown","title":"\u4fe1\u606f\u7684\u6765\u6e90"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_4","text":"\u6587\u4ef6\u683c\u5f0f\u4f9d\u6258\u4e8e\u5176\u5c55\u793a\u7684\u5e73\u53f0\uff0c\u6240\u4ee5\u5728\u770b\u6709\u4ec0\u4e48\u683c\u5f0f\u4e4b\u524d\uff0c\u53ef\u4ee5\u7f57\u5217\u4e00\u4e0b\u6211\u5e73\u65f6\u83b7\u53d6\u4fe1\u606f\u7684\u6765\u6e90\uff1a \u53ef\u4ee5\u770b\u5230\u4e3b\u8981\u5206\u4e3a \u6587\u7ae0 \u3001 \u8bba\u6587 \u3001 \u7535\u5b50\u4e66 \u3001 \u8bfe\u7a0b \u56db\u7c7b\uff0c\u5305\u542b\u7684\u683c\u5f0f\u4e3b\u8981\u6709 \u7f51\u9875 \u3001 pdf \u3001 mobi \u3001 azw \u3001 azw3 \u3002","title":"\u6709\u4ec0\u4e48\u683c\u5f0f"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#pdf-markdown","text":"\u5728\u7ebf\u7684\u6587\u7ae0\u548c\u8bfe\u7a0b\u7b49\u5927\u591a\u4ee5\u7f51\u9875\u5f62\u5f0f\u5448\u73b0\uff0c\u800c\u5c06\u7f51\u9875\u8f6c\u6362\u4e3a Markdown \u53ef\u4ee5\u4f7f\u7528\u526a\u85cf\u8f6f\u4ef6\uff0c\u5b83\u53ef\u4ee5\u5c06\u7f51\u9875\u6587\u7ae0\u8f6c\u6362\u4e3a\u591a\u79cd\u6587\u672c\u683c\u5f0f\u6587\u4ef6\u3002\u6211\u9009\u62e9\u7684\u5de5\u5177\u662f\u7b80\u60a6\uff0c\u4f7f\u7528\u7b80\u60a6\u53ef\u4ee5\u5c06\u51e0\u4e4e\u6240\u6709\u5e73\u53f0\u7684\u6587\u7ae0\u5f88\u597d\u5730\u526a\u85cf\u4e3a Markdown \u5e76\u4e14\u5bfc\u5165\u5230 Obsidian\u3002 \u5bf9\u4e8e\u8bba\u6587\u548c\u7535\u5b50\u4e66\u800c\u8a00\u5982\u679c\u683c\u5f0f\u672c\u8eab\u5c31\u662f pdf \u5219\u4e07\u4e8b\u5927\u5409\uff0c\u4f46\u5982\u679c\u662f\u5176\u4ed6\u683c\u5f0f\u5219\u53ef\u4ee5\u4f7f\u7528 calibre \u8fdb\u884c\u8f6c\u6362\uff1a \u73b0\u5728\u5229\u7528 Obsidian \u7684 pdf \u63d2\u4ef6\u548c\u5176\u539f\u751f\u7684 markdown \u652f\u6301\u5c31\u53ef\u4ee5\u7545\u5feb\u65e0\u6bd4\u5730\u505a\u7b14\u8bb0\u5e76\u4e14\u5728\u8fd9\u4e9b\u6587\u7ae0\u7684\u5bf9\u5e94\u7ae0\u8282\u8fdb\u884c\u65e0\u7f1d\u8854\u63a5\u5730\u5f15\u7528\u8df3\u8f6c\u5566\uff08\u5177\u4f53\u64cd\u4f5c\u53c2\u8003\u4e0b\u6587\u7684\u201c\u4fe1\u606f\u7684\u5904\u7406\u201d\u6a21\u5757\uff09\u3002","title":"\u600e\u4e48\u8f6c\u6362\u4e3a pdf \u6216 Markdown"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_5","text":"\u5bf9\u4e8e pdf \u7b49\u6587\u4ef6\u7c7b\u8d44\u6e90\u53ef\u4ee5\u672c\u5730\u6216\u8005\u4e91\u7aef\u5b58\u50a8\uff0c\u800c\u7f51\u9875\u7c7b\u8d44\u6e90\u5219\u53ef\u4ee5\u5206\u95e8\u522b\u7c7b\u5730\u653e\u5165\u6d4f\u89c8\u5668\u7684\u6536\u85cf\u5939\uff0c\u6216\u8005\u526a\u85cf\u6210 markdown \u683c\u5f0f\u7684\u7b14\u8bb0\uff0c\u4f46\u662f\u7f51\u9875\u6d4f\u89c8\u5668\u4e0d\u80fd\u5b9e\u73b0\u79fb\u52a8\u7aef\u7684\u7f51\u9875\u6536\u85cf\u3002\u4e3a\u4e86\u5b9e\u73b0\u8de8\u7aef\u7f51\u9875\u6536\u85cf\u6211\u9009\u7528\u4e86 Cubox\uff0c\u5728\u624b\u673a\u7aef\u770b\u5230\u611f\u5174\u8da3\u7684\u7f51\u9875\u65f6\u53ea\u9700\u5c0f\u624b\u4e00\u5212\uff0c\u4fbf\u80fd\u5c06\u7f51\u9875\u7edf\u4e00\u4fdd\u5b58\u4e0b\u6765\u3002\u867d\u7136\u514d\u8d39\u7248\u53ea\u80fd\u6536\u85cf 100 \u4e2a\u7f51\u9875\uff0c\u4f46\u5176\u5b9e\u591f\u7528\u4e86\uff0c\u8fd8\u53ef\u4ee5\u5728\u6536\u85cf\u6ee1\u65f6\u7763\u4fc3\u81ea\u5df1\u8d76\u7d27\u526a\u85cf\u6d88\u5316\u6389\u8fd9\u4e9b\u7f51\u9875\uff0c\u8ba9\u6536\u85cf\u4e0d\u5403\u7070\u3002 \u9664\u6b64\u4e4b\u5916\uff0c\u56de\u60f3\u4e00\u4e0b\u6211\u4eec\u5e73\u65f6\u6536\u85cf\u7684\u7f51\u9875\uff0c\u5c31\u4f1a\u53d1\u73b0\u6709\u5f88\u591a\u5e76\u4e0d\u662f\u50cf\u77e5\u4e4e\u3001\u6398\u91d1\u8fd9\u7c7b\u6709\u5b8c\u6574\u529f\u80fd\u7684\u535a\u5ba2\u5e73\u53f0\uff0c\u66f4\u591a\u7684\u662f\u4e2a\u4eba\u5efa\u7684\u5c0f\u7ad9\uff0c\u800c\u8fd9\u4e9b\u5c0f\u7ad9\u5f80\u5f80\u6ca1\u6709\u79fb\u52a8\u7aef\u5e94\u7528\uff0c\u8fd9\u6837\u5e73\u65f6\u5237\u624b\u673a\u7684\u65f6\u5019\u4e5f\u770b\u4e0d\u5230\uff0c\u653e\u5230\u6d4f\u89c8\u5668\u7684\u6536\u85cf\u5939\u91cc\u53c8\u5bb9\u6613\u6f0f\u4e86\u770b\uff0c\u6709\u65b0\u6587\u7ae0\u53d1\u5e03\u6211\u4eec\u4e5f\u4e0d\u80fd\u7b2c\u4e00\u65f6\u95f4\u6536\u5230\u901a\u77e5\uff0c\u8fd9\u4e2a\u65f6\u5019\u5c31\u9700\u8981\u4e00\u79cd\u53eb RSS \u7684\u901a\u4fe1\u534f\u8bae\u3002 RSS \uff08\u82f1\u6587\u5168\u79f0\uff1aRDF Site Summary \u6216 Really Simple Syndication\uff09\uff0c\u4e2d\u6587\u8bd1\u4f5c\u7b80\u6613\u4fe1\u606f\u805a\u5408\uff0c\u4e5f\u79f0\u805a\u5408\u5185\u5bb9\uff0c\u662f\u4e00\u79cd\u6d88\u606f\u6765\u6e90\u683c\u5f0f\u89c4\u8303\uff0c\u7528\u4ee5\u805a\u5408\u591a\u4e2a\u7f51\u7ad9\u66f4\u65b0\u7684\u5185\u5bb9\u5e76\u81ea\u52a8\u901a\u77e5\u7f51\u7ad9\u8ba2\u9605\u8005\u3002\u7535\u8111\u7aef\u53ef\u4ee5\u501f\u52a9 RSSHub Radar \u6765\u5feb\u901f\u53d1\u73b0\u548c\u751f\u6210 RSS \u8ba2\u9605\u6e90\uff0c\u63a5\u7740\u4f7f\u7528 Feedly \u6765\u8ba2\u9605\u8fd9\u4e9b RSS \u8ba2\u9605\u6e90\uff08 RSSHub Radar \u548c Feedly \u5728 chrome \u6d4f\u89c8\u5668\u4e2d\u5747\u6709\u5b98\u65b9\u63d2\u4ef6\uff09\u3002 \u5230\u8fd9\u91cc\u4e3a\u6b62\uff0c\u6536\u96c6\u4fe1\u606f\u7684\u6d41\u7a0b\u5df2\u7ecf\u6bd4\u8f83\u5b8c\u5907\u4e86\u3002\u4f46\u8d44\u6599\u518d\u591a\uff0c\u5206\u7c7b\u89c4\u6574\u5f97\u518d\u6f02\u4eae\uff0c\u4e5f\u5f97\u771f\u6b63\u5185\u5316\u6210\u81ea\u5df1\u7684\u624d\u7ba1\u7528\u3002\u56e0\u6b64\u5728\u6536\u96c6\u5b8c\u4fe1\u606f\u540e\u5c31\u5f97\u8fdb\u4e00\u6b65\u5730\u5904\u7406\u4fe1\u606f\uff0c\u5373\u9605\u8bfb\u8fd9\u4e9b\u4fe1\u606f\uff0c\u5982\u679c\u662f\u82f1\u6587\u4fe1\u606f\u7684\u8bdd\u8fd8\u5f97\u641e\u61c2\u82f1\u6587\u7684\u8bed\u4e49\uff0c\u52a0\u7c97\u9ad8\u4eae\u91cd\u70b9\u53e5\u5b50\u6bb5\u843d\uff0c\u6807\u8bb0\u6709\u7591\u95ee\u7684\u5730\u65b9\uff0c\u53d1\u6563\u8054\u60f3\u76f8\u5173\u7684\u77e5\u8bc6\u70b9\uff0c\u6700\u540e\u5199\u4e0a\u81ea\u5df1\u7684\u603b\u7ed3\u3002\u90a3\u4e48\u5728\u8fd9\u8fc7\u7a0b\u4e2d\u9700\u8981\u4f7f\u7528\u5230\u4ec0\u4e48\u5de5\u5177\u5462\uff1f","title":"\u5982\u4f55\u7edf\u4e00\u7ba1\u7406\u4fe1\u606f\u6765\u6e90"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_6","text":"","title":"\u4fe1\u606f\u7684\u5904\u7406"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_7","text":"\u9762\u5bf9\u82f1\u6587\u7684\u8d44\u6599\uff0c\u6211\u4ee5\u524d\u662f\u7528 \u6709\u9053\u8bcd\u5178 \u6765\u5212\u8bcd\u7ffb\u8bd1\uff0c\u9047\u5230\u53e5\u5b50\u7684\u8bdd\u5c31\u4f7f\u7528\u8c37\u6b4c\u7ffb\u8bd1\uff0c\u9047\u5230\u5927\u6bb5\u843d\u65f6\u5c31\u4f7f\u7528 deepl \uff0c\u4e45\u800c\u4e45\u4e4b\uff0c\u53d1\u73b0\u8fd9\u6837\u770b\u82f1\u8bed\u6587\u732e\u592a\u6162\u4e86\uff0c\u5f97\u7528\u4e09\u4e2a\u5de5\u5177\u624d\u80fd\u6ee1\u8db3\u7ffb\u8bd1\u8fd9\u4e00\u4e2a\u9700\u6c42\uff0c\u5982\u679c\u6709\u4e00\u4e2a\u5de5\u5177\u80fd\u591f\u540c\u65f6\u5b9e\u73b0\u5bf9\u5355\u8bcd\u3001\u53e5\u5b50\u548c\u6bb5\u843d\u7684\u5212\u8bcd\u7ffb\u8bd1\u5c31\u597d\u4e86\u3002\u6211\u8054\u60f3\u5230\u7814\u7a76\u751f\u4eec\u5e94\u8be5\u4f1a\u7ecf\u5e38\u63a5\u89e6\u82f1\u8bed\u6587\u732e\uff0c\u4e8e\u662f\u6211\u5c31\u641c \u7814\u7a76\u751f + \u7ffb\u8bd1\u8f6f\u4ef6 \uff0c\u5728\u68c0\u7d22\u7ed3\u679c\u91cc\u6211\u6700\u7ec8\u9009\u62e9\u4e86 Quicker + \u6c99\u62c9\u67e5\u8bcd \u8fd9\u4e2a\u642d\u914d\u6765\u8fdb\u884c\u5212\u8bcd\u7ffb\u8bd1\u3002 \u4f7f\u7528\u8fd9\u5957\u7ec4\u5408\u53ef\u4ee5\u5b9e\u73b0\u5728\u6d4f\u89c8\u5668\u5916\u7684\u5176\u4ed6\u8f6f\u4ef6\u5185\u8fdb\u884c\u5212\u8bcd\u7ffb\u8bd1\uff0c\u5e76\u4e14\u652f\u6301\u5355\u8bcd\u3001\u53e5\u5b50\u548c\u6bb5\u843d\u7684\u7ffb\u8bd1\uff0c\u4ee5\u53ca\u6bcf\u6b21\u7684\u7ffb\u8bd1\u4f1a\u6709\u591a\u4e2a\u7ffb\u8bd1\u5e73\u53f0\u7684\u7ed3\u679c\u3002btw\uff0c\u5982\u679c\u67e5\u5355\u8bcd\u65f6\u4e0d\u7740\u6025\u7684\u8bdd\uff0c\u53ef\u4ee5\u987a\u4fbf\u770b\u770b \u79d1\u6797\u65af\u9ad8\u9636 \u7684\u7ffb\u8bd1\uff0c\u8fd9\u4e2a\u8bcd\u5178\u7684\u4f18\u70b9\u5c31\u662f\u4f1a\u7528\u82f1\u6587\u53bb\u89e3\u91ca\u82f1\u6587\uff0c\u53ef\u4ee5\u63d0\u4f9b\u591a\u4e2a\u4e0a\u4e0b\u6587\u5e2e\u52a9\u4f60\u7406\u89e3\uff0c\u5bf9\u4e8e\u5b66\u4e60\u82f1\u6587\u5355\u8bcd\u4e5f\u6709\u5e2e\u52a9\uff0c\u56e0\u4e3a\u7528\u82f1\u6587\u89e3\u91ca\u82f1\u6587\u624d\u66f4\u63a5\u8fd1\u82f1\u8bed\u7684\u601d\u7ef4\u3002","title":"\u82f1\u6587\u4fe1\u606f"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_8","text":"\u5904\u7406\u5b8c\u6587\u672c\u7c7b\u7684\u4fe1\u606f\u540e\uff0c\u6211\u4eec\u8fd8\u5f97\u601d\u8003\u4e00\u4e0b\u600e\u4e48\u5904\u7406\u591a\u5a92\u4f53\u7c7b\u7684\u4fe1\u606f\u3002\u6b64\u5904\u7684\u591a\u5a92\u4f53\u6211\u7279\u6307\u82f1\u6587\u89c6\u9891\uff0c\u56e0\u4e3a\u6211\u6ca1\u6709\u7528\u64ad\u5ba2\u6216\u5f55\u97f3\u5b66\u4e60\u7684\u4e60\u60ef\uff0c\u800c\u4e14\u6211\u5df2\u7ecf\u57fa\u672c\u4e0d\u770b\u4e2d\u6587\u6559\u7a0b\u4e86\u3002\u73b0\u5728\u5f88\u591a\u56fd\u5916\u540d\u6821\u516c\u5f00\u8bfe\u90fd\u662f\u4ee5\u89c6\u9891\u7684\u5f62\u5f0f\uff0c\u5982\u679c\u80fd\u5bf9\u89c6\u9891\u8fdb\u884c\u505a\u7b14\u8bb0\u4f1a\u4e0d\u4f1a\u6709\u5e2e\u52a9\u5462\uff1f\u4e0d\u77e5\u9053\u5927\u5bb6\u6709\u6ca1\u8fd9\u6837\u7684\u60f3\u6cd5\uff0c\u5c31\u662f\u5982\u679c\u80fd\u628a\u8001\u5e08\u4e0a\u8bfe\u8bb2\u7684\u5185\u5bb9\u8f6c\u6362\u6210\u6587\u672c\u5c31\u597d\u4e86\uff0c\u56e0\u4e3a\u5e73\u65f6\u5b66\u4e60\u65f6\u6211\u4eec\u770b\u4e66\u7684\u901f\u5ea6\u5f80\u5f80\u4f1a\u6bd4\u8001\u5e08\u8bb2\u8bfe\u7684\u901f\u5ea6\u5feb\u3002\u521a\u597d Language Reactor \u8fd9\u4e2a\u8f6f\u4ef6\u53ef\u4ee5\u5c06\u6cb9\u7ba1\u548c\u7f51\u98de\u5185\u89c6\u9891\u7684\u5b57\u5e55\u5bfc\u51fa\u6765\uff0c\u540c\u65f6\u9644\u4e0a\u4e2d\u6587\u7ffb\u8bd1\u3002 \u6211\u4eec\u53ef\u4ee5\u628a Language Reactor \u5bfc\u51fa\u7684\u5b57\u5e55\u590d\u5236\u5230 Obsidian \u91cc\u9762\u4f5c\u4e3a\u6587\u7ae0\u6765\u8bfb\u3002\u9664\u4e86\u51fa\u4e8e\u5b66\u4e60\u7684\u9700\u6c42\uff0c\u4e5f\u53ef\u4ee5\u5728\u5e73\u65f6\u770b\u6cb9\u7ba1\u7684\u89c6\u9891\u65f6\u6253\u5f00\u8fd9\u4e2a\u63d2\u4ef6\uff0c\u8fd9\u4e2a\u63d2\u4ef6\u53ef\u4ee5\u540c\u65f6\u663e\u793a\u4e2d\u82f1\u6587\u5b57\u5e55\uff0c\u5e76\u4e14\u53ef\u4ee5\u5355\u51fb\u9009\u4e2d\u82f1\u6587\u5b57\u5e55\u4e2d\u4f60\u8ba4\u4e3a\u751f\u50fb\u7684\u5355\u8bcd\u540e\u663e\u793a\u5355\u8bcd\u91ca\u4e49\u3002 \u4f46\u9605\u8bfb\u6587\u672c\u5bf9\u4e8e\u4e00\u4e9b\u62bd\u8c61\u7684\u77e5\u8bc6\u70b9\u6765\u8bf4\u5e76\u4e0d\u662f\u6548\u7387\u6700\u9ad8\u7684\u5b66\u4e60\u65b9\u5f0f\u3002\u4fd7\u8bdd\u8bf4\uff0c\u4e00\u56fe\u80dc\u5343\u8a00\uff0c\u80fd\u4e0d\u80fd\u5c06\u67d0\u4e00\u6bb5\u77e5\u8bc6\u70b9\u7684\u6587\u672c\u548c\u5bf9\u5e94\u7684\u56fe\u7247\u751a\u81f3\u89c6\u9891\u753b\u9762\u64cd\u4f5c\u8054\u7cfb\u8d77\u6765\u5462\uff1f\u6211\u5728\u6d4f\u89c8 Obsidian \u7684\u63d2\u4ef6\u5e02\u573a\u65f6\uff0c\u53d1\u73b0\u4e86\u4e00\u4e2a\u53eb Media Extended \u7684\u63d2\u4ef6\uff0c\u8fd9\u4e2a\u63d2\u4ef6\u53ef\u4ee5\u5728\u4f60\u7684\u7b14\u8bb0\u91cc\u6dfb\u52a0\u8df3\u8f6c\u5230\u89c6\u9891\u6307\u5b9a\u65f6\u95f4\u8fdb\u5ea6\u7684\u94fe\u63a5\uff0c\u76f8\u5f53\u4e8e\u628a\u4f60\u7684\u7b14\u8bb0\u548c\u89c6\u9891\u8fde\u63a5\u8d77\u6765\u4e86\uff01\u8fd9\u521a\u597d\u53ef\u4ee5\u548c\u6211\u4e0a\u6587\u63d0\u5230\u7684\u751f\u6210\u89c6\u9891\u4e2d\u82f1\u6587\u5b57\u5e55\u642d\u914d\u8d77\u6765\uff0c\u5373\u6bcf\u4e00\u53e5\u5b57\u5e55\u5bf9\u5e94\u4e00\u4e2a\u65f6\u95f4\uff0c\u5e76\u4e14\u80fd\u6839\u636e\u65f6\u95f4\u70b9\u8df3\u8f6c\u5230\u89c6\u9891\u7684\u6307\u5b9a\u8fdb\u5ea6\uff0c\u5982\u6b64\u4e00\u6765\u5982\u679c\u9700\u8981\u5728\u6587\u7ae0\u4e2d\u5c55\u793a\u8bb0\u5f55\u4e86\u64cd\u4f5c\u8fc7\u7a0b\u7684\u89c6\u9891\u7684\u8bdd\uff0c\u5c31\u4e0d\u9700\u8981\u81ea\u5df1\u53bb\u622a\u53d6\u5bf9\u5e94\u7684\u89c6\u9891\u7247\u6bb5\uff0c\u800c\u662f\u76f4\u63a5\u5728\u6587\u7ae0\u5185\u5c31\u80fd\u8df3\u8f6c\uff01 Obsidian \u91cc\u8fd8\u6709\u4e00\u4e2a\u5f88\u5f3a\u5927\u7684\u63d2\u4ef6\uff0c\u53eb Annotator \uff0c\u5b83\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u5185\u8df3\u8f6c\u5230 pdf \u539f\u6587 \u73b0\u5728\uff0c\u4f7f\u7528 Obsidian \u81ea\u5e26\u7684\u53cc\u94fe\u529f\u80fd\uff0c\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u95f4\u76f8\u4e92\u8df3\u8f6c\uff0c\u7ed3\u5408\u4e0a\u8ff0\u4e24\u4e2a\u63d2\u4ef6\uff0c\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u5230\u591a\u5a92\u4f53\u7684\u8df3\u8f6c\uff0c\u4fe1\u606f\u7684\u5904\u7406\u8fc7\u7a0b\u5df2\u7ecf\u5b8c\u5907\u3002\u4e00\u822c\u6211\u4eec\u5b66\u4e60\u7684\u8fc7\u7a0b\u76f8\u5f53\u4e8e\u4e0a\u5c71\u548c\u4e0b\u5c71\uff0c\u521a\u5b66\u7684\u65f6\u5019\u5c31\u597d\u50cf\u4e0a\u5c71\uff0c\u5f88\u964c\u751f\u3001\u5403\u529b\uff0c\u6240\u8c13\u5b66\u800c\u65f6\u4e60\u4e4b\uff0c\u590d\u4e60\u6216\u7ec3\u4e60\u7684\u8fc7\u7a0b\u5c31\u50cf\u4e0b\u5c71\uff0c\u6ca1\u6709\u964c\u751f\u611f\uff0c\u4e0d\u89c1\u5f97\u8f7b\u677e\uff0c\u4f46\u975e\u8d70\u4e0d\u53ef\u3002\u90a3\u4e48\u5982\u4f55\u628a\u590d\u4e60\u8fd9\u4e00\u8fc7\u7a0b\u7eb3\u5165\u5de5\u4f5c\u6d41\u7684\u73af\u8282\u91cc\u5462\uff1f","title":"\u591a\u5a92\u4f53\u4fe1\u606f"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_9","text":"Obsidian \u5185\u5df2\u7ecf\u6709\u4e00\u4e2a\u8fde\u63a5 Anki \u7684\u63d2\u4ef6\uff0c Anki \u5c31\u662f\u5927\u540d\u9f0e\u9f0e\u7684\u3001\u57fa\u4e8e\u95f4\u9694\u91cd\u590d\u7684\u8bb0\u5fc6\u8f6f\u4ef6\u3002\u4f7f\u7528\u8be5\u63d2\u4ef6\u53ef\u4ee5\u622a\u53d6\u7b14\u8bb0\u7684\u7247\u6bb5\u5bfc\u51fa\u5230 Anki \u5e76\u53d8\u6210\u4e00\u5f20\u5361\u7247\uff0c\u5361\u7247\u5185\u4e5f\u6709\u8df3\u8f6c\u56de\u7b14\u8bb0\u539f\u6587\u7684\u94fe\u63a5","title":"\u4fe1\u606f\u7684\u56de\u987e"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_10","text":"\u8fd9\u4e2a\u5de5\u4f5c\u6d41\u662f\u5728\u6211\u8fd9\u4e24\u5e74\u4e1a\u4f59\u65f6\u95f4\u5b66\u4e60\u65f6\u6240\u6162\u6162\u5f62\u6210\u7684\uff0c\u5728\u5b66\u4e60\u8fc7\u7a0b\u4e2d\u56e0\u4e3a\u5bf9\u4e00\u4e9b\u91cd\u590d\u6027\u7684\u8fc7\u7a0b\u800c\u611f\u5230\u538c\u5026\uff0c\u6b63\u662f\u8fd9\u79cd\u538c\u5026\u4ea7\u751f\u4e86\u67d0\u79cd\u7279\u5b9a\u7684\u9700\u6c42\uff0c\u6070\u597d\u5728\u5e73\u65f6\u7f51\u4e0a\u51b2\u6d6a\u65f6\u4e86\u89e3\u5230\u7684\u4e00\u4e9b\u5de5\u5177\u6ee1\u8db3\u4e86\u6211\u8fd9\u4e9b\u9700\u6c42\u3002\u4e0d\u8981\u4e3a\u4e86\u865a\u65e0\u7684\u6ee1\u8db3\u611f\u800c\u5c06\u5de5\u5177\u5f3a\u884c\u62fc\u51d1\u5230\u81ea\u5df1\u7684\u5de5\u4f5c\u6d41\u4e2d\uff0c\u4eba\u751f\u82e6\u77ed\uff0c\u505a\u5b9e\u4e8b\u6700\u7d27\u8981\u3002 btw\uff0c\u6b64\u7bc7\u6587\u7ae0\u662f\u8bb2\u89e3\u5de5\u4f5c\u6d41\u7684\u6f14\u5316\u601d\u8def\uff0c\u5982\u679c\u5bf9\u6b64\u5de5\u4f5c\u6d41\u7684\u5b9e\u73b0\u7ec6\u8282\u611f\u5174\u8da3\uff0c\u5efa\u8bae\u9605\u8bfb\u5b8c\u672c\u6587\u540e\u518d\u6309\u987a\u5e8f\u9605\u8bfb\u4ee5\u4e0b\u6587\u7ae0 3000 + \u5c0f\u65f6\u79ef\u7d2f\u7684\u5b66\u4e60\u5de5\u4f5c\u6d41 Obsidian \u7684\u9ad8\u7ea7\u73a9\u6cd5 | \u6253\u9020\u80fd\u8df3\u8f6c\u5230\u4efb\u4f55\u683c\u5f0f\u6587\u4ef6\u7684\u7b14\u8bb0","title":"\u603b\u7ed3"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/","text":"\u4fe1\u606f\u68c0\u7d22 \u524d\u8a00 \u78b0\u5230\u95ee\u9898\uff0c\u8bb0\u4f4f\u7b2c\u4e00\u4ef6\u4e8b\u662f \u7ffb\u9605\u6587\u6863 \uff0c\u4e0d\u8981\u4e00\u5f00\u59cb\u5c31\u76f4\u63a5\u641c\u7d22\u6216\u8005\u627e\u4eba\u95ee\uff0c\u7ffb\u9605FAQ\u53ef\u80fd\u4f1a\u5feb\u901f\u627e\u5230\u7b54\u6848\u3002 \u4fe1\u606f\u68c0\u7d22\uff0c\u6211\u7684\u7406\u89e3\u6765\u8bf4\uff0c\u5b9e\u9645\u4e0a\u5c31\u662f\u7075\u6d3b\u8fd0\u7528\u641c\u7d22\u5f15\u64ce\u4e2d\uff0c\u65b9\u4fbf\u5feb\u6377\u7684\u641c\u5230\u9700\u8981\u7684\u4fe1\u606f\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u7f16\u7a0b\u3002 \u7f16\u7a0b\u6700\u91cd\u8981\u7684\uff0c\u5c31\u662f STFW(search the fucking web) \u548c RTFM(read the fucking Manual) \uff0c\u9996\u5148\u8981\u8bfb\u6587\u6863\uff0c\u7b2c\u4e8c\u8981\u5b66\u4f1a\u641c\u7d22\uff0c\u7f51\u4e0a\u90a3\u4e48\u591a\u8d44\u6e90\uff0c\u600e\u4e48\u7528\uff0c\u5c31\u9700\u8981\u4fe1\u606f\u68c0\u7d22\u3002 \u8981\u641c\u7d22\uff0c\u6211\u4eec\u9996\u5148\u8981\u641e\u6e05\u695a\u641c\u7d22\u5f15\u64ce\u662f\u5982\u4f55\u5de5\u4f5c\u7684\uff1a \u641c\u7d22\u5f15\u64ce\u5de5\u4f5c\u539f\u7406 \u641c\u7d22\u5f15\u64ce\u7684\u5de5\u4f5c\u8fc7\u7a0b\u5927\u4f53\u53ef\u4ee5\u5206\u6210\u4e09\u9636\u6bb5\uff1a[^1] \u722c\u884c\u548c\u6293\u53d6\uff1a\u641c\u7d22\u5f15\u64ce\u8718\u86db\u901a\u8fc7\u8ddf\u8e2a\u94fe\u63a5\u8bbf\u95ee\u7f51\u9875\uff0c\u83b7\u53d6\u7f51\u9875 HTML \u4ee3\u7801\u5b58\u5165\u6570\u636e\u5e93\u3002 \u9884\u5904\u7406\uff1a\u7d22\u5f15\u7a0b\u5e8f\u5bf9\u6293\u53d6\u6765\u7684\u7f51\u9875\u6570\u636e\u8fdb\u884c\u6587\u5b57\u63d0\u53d6\uff0c\u4e2d\u6587\u5206\u8bcd\uff0c\u7d22\u5f15\u7b49\u5904\u7406\uff0c\u4ee5\u5907\u6392\u540d\u7a0b\u5e8f\u8c03\u7528\u3002 \u6392\u540d\uff1a\u7528\u6237\u8f93\u5165\u5173\u952e\u8bcd\u540e\uff0c\u6392\u540d\u7a0b\u5e8f\u8c03\u7528\u7d22\u5f15\u5e93\u6570\u636e\uff0c\u8ba1\u7b97\u76f8\u5173\u6027\uff0c\u7136\u540e\u6309\u4e00\u5b9a\u683c\u5f0f\u751f\u6210\u641c\u7d22\u7ed3\u679c\u9875\u9762\u3002 \u7b2c\u4e00\u6b65\uff0c\u5c31\u662f\u5927\u5bb6\u7ecf\u5e38\u542c\u8bf4\u7684\u7f51\u7edc\u722c\u866b\uff0c\u4e00\u822c Python \u5356\u8bfe\u7684\u90fd\u4f1a\u5439\u8fd9\u4e2a\u4e1c\u897f\u3002\u7b80\u5355\u53ef\u4ee5\u7406\u89e3\u4e3a\uff0c\u6211\u7528\u4e00\u4e2a\u81ea\u52a8\u7684\u7a0b\u5e8f\uff0c\u4e0b\u8f7d\u7f51\u7ad9\u4e2d\u7684\u6240\u6709\u6587\u672c\u3001\u56fe\u7247\u7b49\u76f8\u5173\u4fe1\u606f\uff0c\u7136\u540e\u5b58\u5165\u672c\u5730\u7684\u78c1\u76d8\u3002 \u7b2c\u4e8c\u6b65\u662f\u641c\u7d22\u5f15\u64ce\u7684\u6838\u5fc3\uff0c\u4f46\u662f\u5bf9\u4e8e\u6211\u4eec\u4f7f\u7528\u6765\u8bf4\uff0c\u5e76\u4e0d\u662f\u7279\u522b\u5173\u952e\uff0c\u5927\u81f4\u53ef\u4ee5\u7406\u89e3\u4e3a\u6d17\u5e72\u51c0\u6570\u636e\uff0c\u7136\u540e\u5165\u5e93\u9875\u9762\uff0c\u6bcf\u4e2a\u9875\u9762\u52a0\u5165\u5173\u952e\u5b57\u7b49\u4fe1\u606f\u65b9\u4fbf\u6211\u4eec\u67e5\u8be2\u3002 \u7b2c\u4e09\u6b65\u8ddf\u6211\u4eec\u606f\u606f\u76f8\u5173\uff0c\u4e0d\u7ba1\u662f\u4ec0\u4e48\u641c\u7d22\u7f51\u7ad9\uff0c google \u3001\u767e\u5ea6\u3001 Bing \uff0c\u90fd\u4e00\u6837\uff0c\u8f93\u5165\u5173\u952e\u5b57\u6216\u8005\u9700\u8981\u67e5\u8be2\u7684\u5185\u5bb9\uff0c\u641c\u7d22\u5f15\u64ce\u4f1a\u7ed9\u4f60\u8fd4\u56de\u7ed3\u679c\u3002\u672c\u6587\u5c31\u662f\u6559\u4f60\u5982\u4f55\u83b7\u53d6\u66f4\u597d\u7684\u7ed3\u679c\u3002 \u57fa\u7840\u641c\u7d22\u6280\u5de7 \u6839\u636e\u4e0a\u8ff0\u7684\u5de5\u4f5c\u539f\u7406\uff0c\u6211\u4eec\u5927\u81f4\u5c31\u80fd\u660e\u767d\uff0c\u5176\u5b9e\u53ef\u4ee5\u628a\u641c\u7d22\u5f15\u64ce\u5f53\u4f5c\u4e00\u4e2a\u6bd4\u8f83\u806a\u660e\u7684\u6570\u636e\u5e93\uff0c\u66f4\u597d\u7684\u4f7f\u7528\u67e5\u8be2\u6761\u4ef6\u5c31\u80fd\u66f4\u5feb\u901f\u7684\u627e\u5230\u4f60\u60f3\u8981\u7684\u4fe1\u606f\uff0c\u4e0b\u9762\u4ecb\u7ecd\u4e00\u4e9b\u641c\u7d22\u7684\u6280\u5de7\uff1a \u4f7f\u7528\u82f1\u6587 \u9996\u5148\u6211\u4eec\u8981\u77e5\u9053\u4e00\u4ef6\u4e8b\uff0c\u7f16\u7a0b\u4e2d\uff0c\u6700\u597d\u4f7f\u7528\u82f1\u6587\u641c\u7d22\u3002\u539f\u56e0\u4e3b\u8981\u6709\u51e0\u70b9\uff1a \u7f16\u7a0b\u548c\u5404\u79cd\u8f6f\u4ef6\u64cd\u4f5c\u4e2d\uff0c\u82f1\u6587\u8d44\u6599\u8d28\u91cf\u6bd4\u4e2d\u6587\u8d44\u6599\u548c\u5176\u4ed6\u8bed\u8a00\u8d44\u6599\u9ad8\uff0c\u82f1\u6587\u901a\u7528\u6027\u8fd8\u662f\u66f4\u597d\u4e9b \u56e0\u4e3a\u7ffb\u8bd1\u95ee\u9898\uff0c\u82f1\u6587\u7684\u540d\u8bcd\u6bd4\u4e2d\u6587\u51c6\u786e\u901a\u7528 \u4e2d\u6587\u641c\u7d22\u4e2d\uff0c\u5206\u8bcd\u7cfb\u7edf\u4e0d\u51c6\u4f1a\u5bfc\u81f4\u6b67\u4e49\uff0c\u6bd4\u5982 Google \u641c\u4e2d\u6587\u53ef\u80fd\u4f1a\u641c\u4e0d\u51fa\u51e0\u6761\u6709\u7528\u7ed3\u679c \u5982\u679c\u4f60\u82f1\u6587\u4e0d\u597d\uff0c\u7528\u767e\u5ea6\u7ffb\u8bd1\u6216\u8005\u641c\u72d7\u7ffb\u8bd1\uff0c\u8db3\u591f\u4e86\u3002 \u5f53\u7136\u4e0b\u9762\u7684\u6587\u6863\u4e3a\u4e86\u4e3e\u4f8b\u65b9\u4fbf\uff0c\u90fd\u8fd8\u662f\u7528\u4e2d\u6587\u4f8b\u5b50\u3002 \u63d0\u70bc\u5173\u952e\u8bcd \u641c\u7d22\u65f6\u4e0d\u8981\u641c\u7d22\u6574\u53e5\u8bdd\uff0c\u867d\u7136\u641c\u7d22\u5f15\u64ce\u4f1a\u81ea\u52a8\u5e2e\u52a9\u6211\u4eec\u5206\u8bcd\u68c0\u7d22\uff0c\u4f46\u662f\u6574\u53e5\u548c\u5173\u952e\u5b57\u641c\u7d22\u51fa\u6765\u7684\u7ed3\u679c\u518d\u51c6\u786e\u5ea6\u548c\u987a\u5e8f\u4e0a\u4f1a\u6709\u5f88\u5927\u5dee\u522b\u3002\u641c\u7d22\u5f15\u64ce\u662f\u673a\u5668\uff0c\u5e76\u4e0d\u662f\u4f60\u7684\u8001\u5e08\u6216\u8005\u540c\u4e8b\uff0c\u770b\u4e0a\u9762\u7684\u6d41\u7a0b\uff0c\u641c\u7d22\u5b9e\u9645\u4e0a\u662f\u53bb\u68c0\u7d22\u641c\u7d22\u5f15\u64ce\u722c\u51fa\u6765\u7684\u6570\u636e\u5e93\uff0c\u4f60\u53ef\u4ee5\u7406\u89e3\u4e3a\u5173\u952e\u5b57\u6bd4\u6a21\u7cca\u68c0\u7d22\u8981\u5feb\u800c\u4e14\u51c6\u786e\u3002 \u6211\u4eec\u9700\u8981\u63d0\u70bc\u95ee\u9898\uff0c\u786e\u5b9a\u6211\u4eec\u5230\u5e95\u9700\u8981\u89e3\u51b3\u4ec0\u4e48\u95ee\u9898\u3002 \u4f8b\u5982\uff0c\u6211\u60f3\u77e5\u9053 vcpkg \u5982\u4f55\u96c6\u6210\u5230\u5de5\u7a0b\u4e0a\u800c\u4e0d\u662f\u5168\u5c40\u4e2d\uff0c\u90a3\u4e48\u641c\u7d22 vcpkg\u5982\u4f55\u96c6\u6210\u5230\u5de5\u7a0b\u4e0a\u800c\u4e0d\u662f\u5168\u5c40\u4e2d \u8fd9\u79cd\u957f\u53e5\u53ef\u80fd\u65e0\u6cd5\u627e\u5230\u76f8\u5173\u7684\u7ed3\u679c\uff0c\u6700\u597d\u662f\u62c6\u5206\u6210\u5355\u8bcd\uff0c vcpkg \u96c6\u6210\u5230 \u5de5\u7a0b \u5168\u5c40 \u8fd9\u6837\u7684\u641c\u7d22\u3002\u5176\u5b9e\u8fd9\u91cc\u53ea\u662f\u4e3e\u4e2a\u4f8b\u5b50\uff0c\u9488\u5bf9\u672c\u6761\u5176\u5b9e\u90fd\u80fd\u641c\u7d22\u51fa\u76f8\u5173\u4fe1\u606f\uff0c\u4f46\u662f\u8d8a\u5177\u4f53\u7684\u95ee\u9898\uff0c\u673a\u5668\u5206\u8bcd\u8d8a\u53ef\u80fd\u51fa\u95ee\u9898\uff0c\u6240\u4ee5\u6700\u597d\u662f\u62c6\u5206\u5173\u952e\u5b57\uff0c\u4f7f\u7528\u8bcd\u7ec4\u6216\u8005\u65ad\u53e5\u6765\u8fdb\u884c\u641c\u7d22\u3002 \u66ff\u6362\u5173\u952e\u5b57 \u8fd8\u662f\u4e0a\u9762\u90a3\u4e2a\u4f8b\u5b50\uff0c\u5982\u679c\u641c\u4e0d\u51fa\u6765\uff0c\u53ef\u4ee5\u8bd5\u8bd5\u628a\u5de5\u7a0b\u6362\u6210\u9879\u76ee\uff0c\u6216\u8005\u79fb\u51fa\u96c6\u6210\uff0c\u5982\u679c\u4e0d\u884c\uff0c\u8bd5\u4e00\u4e0b\u9ad8\u7ea7\u641c\u7d22\u3002 \u9ad8\u7ea7\u641c\u7d22 \u666e\u901a\u641c\u7d22\u5f15\u64ce\u4e00\u822c\u90fd\u652f\u6301\u9ad8\u7ea7\u641c\u7d22\uff0c\u5305\u62ec google \uff0c bing \uff0c\u767e\u5ea6\uff0c ecosia \uff0c\u7b49\u7b49\uff0c\u5927\u90e8\u5206\u90fd\u652f\u6301\uff0c\u4e0d\u8fc7\u53ef\u80fd\u8bed\u6cd5\u4e0d\u540c\uff0c\u4e00\u822c\u901a\u7528\u7684\u8868\u793a\uff1a \u7cbe\u51c6\u5339\u914d\uff1a \u7cbe\u51c6\u5339\u914d\u80fd\u4fdd\u8bc1\u641c\u7d22\u5173\u952e\u8bcd\u5b8c\u5168\u88ab\u5339\u914d\u4e0a\uff0c\u4e00\u822c\u662f\u7528\u53cc\u5f15\u53f7\u62ec\u8d77\u6765 \u6bd4\u5982\u641c\u7d22\u7ebf\u6027\u4ee3\u6570\uff0c\u53ef\u4ee5\u5728\u8f93\u5165\u6846\u5185\u8f93\u5165 \"\u7ebf\u6027\u4ee3\u6570\"\uff0c\u641c\u7d22\u5f15\u64ce\u5c06\u53ea\u5339\u914d\u5b8c\u6574\u5305\u542b \u201c\u7ebf\u6027\u4ee3\u6570\u201d \u7684\u9875\u9762\uff0c\u800c\u4e0d\u4f1a\u641c\u7d22\u62c6\u5206\u6210\u7ebf\u6027\u548c\u4ee3\u6570\u4e24\u4e2a\u8bcd\u7684\u9875\u9762 \u4e0d\u5305\u542b\u5173\u952e\u5b57\uff1a \u7528 - \u51cf\u53f7\u8fde\u63a5\u5173\u952e\u5b57\uff0c\u7528\u4e8e\u6392\u9664\u67d0\u4e9b\u5e72\u6270\u8bcd \u5305\u542b\u5173\u952e\u5b57\uff1a \u7528 + \u52a0\u53f7\u8fde\u63a5\u5173\u952e\u5b57 \u641c\u7d22\u7279\u5b9a\u6587\u4ef6\u7c7b\u578b\uff1a filetype:pdf \u76f4\u63a5\u641c\u7d22 pdf \u6587\u4ef6 \u641c\u7d22\u7279\u5b9a\u7f51\u5740\uff1a site:stackoverflow.com \u53ea\u641c\u7d22\u7279\u5b9a\u7f51\u7ad9\u5185\u7684\u9875\u9762 \u4e00\u822c\u53ef\u4ee5\u53c2\u7167\u7f51\u7ad9\u8bf4\u660e\uff0c\u6bd4\u5982\u767e\u5ea6\u53ef\u4ee5\u53c2\u7167 \u9ad8\u7ea7\u641c\u7d22 \uff0cBing \u53ef\u4ee5\u53c2\u7167 \u9ad8\u7ea7\u641c\u7d22\u5173\u952e\u5b57 \u548c \u9ad8\u7ea7\u641c\u7d22\u9009\u9879 \u3002 GitHub \u7684\u9ad8\u7ea7\u641c\u7d22 \u53ef\u4ee5\u76f4\u63a5\u7528 \u9ad8\u7ea7\u641c\u7d22\u9875\u9762 \u8fdb\u884c\u641c\u7d22\uff0c\u4e5f\u53ef\u4ee5\u53c2\u7167 Github\u67e5\u8be2\u8bed\u6cd5 \u8fdb\u884c\u67e5\u627e\uff0c\u7b80\u5355\u8bf4\u51e0\u4e2a: in:name <\u5173\u952e\u5b57> \u4ed3\u5e93\u540d\u79f0\u5e26\u5173\u952e\u5b57\u67e5\u8be2 in:description <\u5173\u952e\u5b57> \u4ed3\u5e93\u63cf\u8ff0\u5e26\u5173\u952e\u5b57\u67e5\u8be2 in:readme <\u5173\u952e\u5b57> README \u6587\u4ef6\u5e26\u5173\u952e\u5b57\u67e5\u8be2 stars(fork): >(=) <\u6570\u5b57> <\u5173\u952e\u5b57> star \u6216 fork \u6570\u5927\u4e8e(\u6216\u7b49\u4e8e)\u6307\u5b9a\u6570\u5b57\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 stars(fork): 10..20 <\u5173\u952e\u8bcd> star \u6216 fork \u6570\u5728 10 \u5230 20 \u4e4b\u95f4\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 size:>=5000 <\u5173\u952e\u8bcd> \u9650\u5b9a\u4ed3\u5e93\u5927\u4e8e\u7b49\u4e8e 5000K \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 pushed(created):>2019-11-15 <\u5173\u952e\u5b57> \u66f4\u65b0 \u6216 \u521b\u5efa \u65e5\u671f\u5728 2019 \u5e74 11 \u6708 16 \u65e5\u4e4b\u540e\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 license:apache-2.0 <\u5173\u952e\u5b57> LICENSE \u4e3a apache-2.0 \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 language:java <\u5173\u952e\u8bcd> \u4ed3\u5e93\u8bed\u8a00\u4e3a Java \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 user:<\u7528\u6237\u540d> \u67e5\u8be2\u67d0\u4e2a\u7528\u6237\u7684\u9879\u76ee org:<\u7ec4\u7ec7\u540d> \u67e5\u8be2\u67d0\u4e2a\u7ec4\u7ec7\u7684\u9879\u76ee \u8fd9\u4e9b\u53ef\u4ee5\u6df7\u5408\u4f7f\u7528\uff0c\u4e5f\u53ef\u4ee5\u5148\u67e5\u627e\u67d0\u4e00\u7c7b\u7684 awesome \u4ed3\u5e93\uff0c\u7136\u540e\u4ece awesome \u5e93\u91cc\u627e\u76f8\u5173\u7684\u8d44\u6e90\uff0cgithub \u91cc\u6709\u5f88\u591a\u5f52\u7eb3\u4ed3\u5e93\uff0c\u53ef\u4ee5\u5148\u770b\u770b\u5df2\u6709\u7684\u6536\u96c6\uff0c\u6709\u65f6\u5019\u4f1a\u8282\u7701\u5f88\u591a\u65f6\u95f4 \u66f4\u591a\u6280\u5de7 \u4f7f\u7528\u4e2d\uff0c\u5b9e\u9645\u4e0a\u6211\u4f1a\u53bb\u7279\u5b9a\u7f51\u7ad9\u627e\u4e00\u4e9b\u95ee\u9898\uff1a \u5982\u679c\u662f\u8bed\u8a00\u672c\u8eab\u76f8\u5173\uff0c\u6bd4\u5982 c++/Qt/OpenGL \u5982\u4f55\u5b9e\u73b0\u4ec0\u4e48\u529f\u80fd\uff0c\u53ef\u4ee5\u76f4\u63a5\u52a0\u4e0a site:stackoverflow.com \u5982\u679c\u662f\u5177\u4f53\u7684\u4e1a\u52a1/\u5f00\u53d1\u73af\u5883\u6216\u8005\u8f6f\u4ef6\u76f8\u5173\uff0c\u53ef\u4ee5\u5148\u5728 BugList \u3001IssueList \uff0c\u6216\u8005\u76f8\u5173\u8bba\u575b\u91cc\u5148\u627e\u4e00\u4e0b\uff0c\u6bd4\u5982 Qt \u7684\u95ee\u9898\u5c31\u53ef\u4ee5\u76f4\u63a5\u53bb Qt \u8bba\u575b\uff0cQGis \u6216\u8005 GDAL \u76f8\u5173\u95ee\u9898\u53ef\u4ee5\u5728 stackExchange \u91cc\u53bb\u641c QQ \u7fa4\u4e5f\u662f\u4e00\u4e2a\u63d0\u95ee\u7684\u5730\u65b9\uff0c\u4f46\u662f\u9700\u8981\u4f60\u63d0\u7684\u95ee\u9898\u6709\u610f\u4e49\uff0c\u5426\u5219\u5927\u90e8\u5206\u4eba\u4e0d\u4f1a\u56de\u4f60\uff0c\u800c\u4e14 QQ \u7fa4\u56de\u590d\u5e76\u4e0d\u53ca\u65f6\u3002 \u77e5\u4e4e\u4e13\u680f\u3001\u7b80\u4e66\u3001\u535a\u5ba2\u56ed\u3001 CSDN \u4e2d\u6709\u5927\u91cf\u4e2d\u6587\u7b14\u8bb0\uff0c\u8fd9\u4e9b\u90fd\u662f\u522b\u4eba\u56bc\u70c2\u4e86\u7684\u4e1c\u897f\uff0c\u57fa\u672c\u662f\u522b\u4eba\u8e29\u5751\u7684\u7ecf\u9a8c \u5173\u4e8e\u767e\u5ea6 \u5927\u90e8\u5206\u7f16\u7a0b\u4eba\u90fd\u4f1a\u544a\u8bc9\u4f60\u522b\u7528\u767e\u5ea6\uff0c\u7528 Google \u6216\u8005 Bing \u56fd\u9645\u7248\uff0c\u4f46\u662f Bing \u4e2d\u6587\u641c\u7d22\u7684\u51c6\u786e\u7387\u5e76\u4e0d\u9ad8\uff0c Google \u9700\u8981\u79d1\u5b66\u4e0a\u7f51\uff0c\u5982\u679c\u771f\u7684\u9700\u8981\uff0c\u53ef\u4ee5\u4f7f\u7528 Ecosia \u3001 Yandex \u4e4b\u7c7b\u7684\u641c\u7d22\u5f15\u64ce\u3002\u800c\u4e14\u4e2d\u6587\u641c\u7d22\u6765\u8bf4\uff0c\u767e\u5ea6\u53ef\u80fd\u8fd8\u771f\u662f\u6700\u597d\u7684\u3002 \u767e\u5ea6\u7684\u95ee\u9898\u4e3b\u8981\u5728\u4e8e\u6392\u5e8f\u7b97\u6cd5\uff0c\u53ef\u80fd\u4e24\u9875\u90fd\u6ca1\u5565\u5bf9\u7684\u5185\u5bb9\uff0c\u4f46\u662f\u6536\u5f55\u6bd4 Bing \u8fd8\u662f\u597d\u4e00\u4e9b\u7684\uff08\u767e\u5ea6\u4ee5\u524d\u5e76\u4e0d\u9075\u5b88 robots.txt \uff0c\u4f1a\u6293\u53d6\u6240\u6709\u9875\u9762\uff0c\u6240\u4ee5\u6709\u4e9b\u4e2a\u4eba\u7f51\u7ad9\u751a\u81f3\u4e13\u95e8\u5bf9\u767e\u5ea6\u505a\u4e86\u5c4f\u853d\uff09\uff0c\u751a\u81f3\u6709\u65f6\u5019\u6bd4 Google \u597d\u3002\u4ece\u6570\u636e\u5e93\u6765\u8bf4\uff0c\u767e\u5ea6\u6bd4 Google \u548c Bing \u6536\u5f55\u7684\u4e2d\u6587\u5185\u5bb9\u8981\u591a\uff0c\u5982\u679c\u4f60\u78b0\u5230\u7684\u65f6\u4e2d\u6587\u76f8\u5173\u7684\u95ee\u9898\u800c\u4e14\u786e\u5b9e\u627e\u4e0d\u5230\u76f8\u5173\u5185\u5bb9\uff0c\u90a3\u4e48\u5c31\u7528\u767e\u5ea6\uff0c\u641c\u7d22\u5f15\u64ce\u662f\u5de5\u5177\uff0c\u80fd\u7528\u597d\u7528\u624d\u662f\u738b\u9053\u3002 \u4ee3\u7801\u641c\u7d22 \u6211\u4eec\u9664\u4e86\u641c\u7d22\u5f15\u64ce\u67e5\u627e\u95ee\u9898\uff0c\u8fd8\u6709\u53ef\u80fd\u4f1a\u641c\u4e00\u4e9b\u4ee3\u7801\uff0c\u53ef\u80fd\u662f\u81ea\u5df1\u5199\u7684\uff0c\u4e5f\u53ef\u80fd\u662f\u9879\u76ee\u4e2d\u7684\uff0c\u4e0b\u9762\u63a8\u8350\u4e00\u4e9b\u5de5\u5177\uff1a \u4ee3\u7801\u68c0\u7d22\u6709\u4e24\u79cd\uff0c\u7b2c\u4e00\u662f\u672c\u5730\u7684\u4ee3\u7801\u68c0\u7d22\uff0c\u7b2c\u4e8c\u662f\u8981\u5199\u4e2a\u5565\u7b97\u6cd5\uff0c\u9700\u8981\u5728\u7f51\u4e0a\u641c\u7d22 \u672c\u5730\u4ee3\u7801\u641c\u7d22 ACK \u6216\u8005 ACK2\uff0c\u8001\u724c\u641c\u7d22\u5de5\u5177\uff0cperl \u5199\u7684 The Silver Searcher c \u5b9e\u73b0\u7684 The Platinum Searcher go \u5b9e\u73b0\u7684 FreeCommander \u81ea\u5e26\u7684\u641c\u7d22\uff0c\u5982\u679c\u662f\u56fa\u6001\u786c\u76d8\u901f\u5ea6\u8fd8\u4e0d\u9519 IDE \u81ea\u5e26\u7684\uff0c\u641c\u7d22\u6709\u4e9b\u65f6\u5019\u5e76\u4e0d\u592a\u597d\u7528 \u5f00\u6e90\u4ee3\u7801\u641c\u7d22 Searchcode \u641c\u7d22\u5f00\u6e90\u4ee3\u7801\uff0c\u901f\u5ea6\u6bd4\u8f83\u5feb \u4e00\u884c\u4ee3\u7801 \u56fd\u4ea7\u7684\uff0c\u6709\u4e9b\u56fd\u4ea7\u5de5\u5177\u5f88\u597d\u7528 [^ 1]: \u641c\u7d22\u5f15\u64ce\u5de5\u4f5c\u539f\u7406\u7b80\u4ecb - \u77e5\u4e4e (zhihu.com)","title":"\u4fe1\u606f\u68c0\u7d22"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_1","text":"","title":"\u4fe1\u606f\u68c0\u7d22"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_2","text":"\u78b0\u5230\u95ee\u9898\uff0c\u8bb0\u4f4f\u7b2c\u4e00\u4ef6\u4e8b\u662f \u7ffb\u9605\u6587\u6863 \uff0c\u4e0d\u8981\u4e00\u5f00\u59cb\u5c31\u76f4\u63a5\u641c\u7d22\u6216\u8005\u627e\u4eba\u95ee\uff0c\u7ffb\u9605FAQ\u53ef\u80fd\u4f1a\u5feb\u901f\u627e\u5230\u7b54\u6848\u3002 \u4fe1\u606f\u68c0\u7d22\uff0c\u6211\u7684\u7406\u89e3\u6765\u8bf4\uff0c\u5b9e\u9645\u4e0a\u5c31\u662f\u7075\u6d3b\u8fd0\u7528\u641c\u7d22\u5f15\u64ce\u4e2d\uff0c\u65b9\u4fbf\u5feb\u6377\u7684\u641c\u5230\u9700\u8981\u7684\u4fe1\u606f\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u7f16\u7a0b\u3002 \u7f16\u7a0b\u6700\u91cd\u8981\u7684\uff0c\u5c31\u662f STFW(search the fucking web) \u548c RTFM(read the fucking Manual) \uff0c\u9996\u5148\u8981\u8bfb\u6587\u6863\uff0c\u7b2c\u4e8c\u8981\u5b66\u4f1a\u641c\u7d22\uff0c\u7f51\u4e0a\u90a3\u4e48\u591a\u8d44\u6e90\uff0c\u600e\u4e48\u7528\uff0c\u5c31\u9700\u8981\u4fe1\u606f\u68c0\u7d22\u3002 \u8981\u641c\u7d22\uff0c\u6211\u4eec\u9996\u5148\u8981\u641e\u6e05\u695a\u641c\u7d22\u5f15\u64ce\u662f\u5982\u4f55\u5de5\u4f5c\u7684\uff1a","title":"\u524d\u8a00"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_3","text":"\u641c\u7d22\u5f15\u64ce\u7684\u5de5\u4f5c\u8fc7\u7a0b\u5927\u4f53\u53ef\u4ee5\u5206\u6210\u4e09\u9636\u6bb5\uff1a[^1] \u722c\u884c\u548c\u6293\u53d6\uff1a\u641c\u7d22\u5f15\u64ce\u8718\u86db\u901a\u8fc7\u8ddf\u8e2a\u94fe\u63a5\u8bbf\u95ee\u7f51\u9875\uff0c\u83b7\u53d6\u7f51\u9875 HTML \u4ee3\u7801\u5b58\u5165\u6570\u636e\u5e93\u3002 \u9884\u5904\u7406\uff1a\u7d22\u5f15\u7a0b\u5e8f\u5bf9\u6293\u53d6\u6765\u7684\u7f51\u9875\u6570\u636e\u8fdb\u884c\u6587\u5b57\u63d0\u53d6\uff0c\u4e2d\u6587\u5206\u8bcd\uff0c\u7d22\u5f15\u7b49\u5904\u7406\uff0c\u4ee5\u5907\u6392\u540d\u7a0b\u5e8f\u8c03\u7528\u3002 \u6392\u540d\uff1a\u7528\u6237\u8f93\u5165\u5173\u952e\u8bcd\u540e\uff0c\u6392\u540d\u7a0b\u5e8f\u8c03\u7528\u7d22\u5f15\u5e93\u6570\u636e\uff0c\u8ba1\u7b97\u76f8\u5173\u6027\uff0c\u7136\u540e\u6309\u4e00\u5b9a\u683c\u5f0f\u751f\u6210\u641c\u7d22\u7ed3\u679c\u9875\u9762\u3002 \u7b2c\u4e00\u6b65\uff0c\u5c31\u662f\u5927\u5bb6\u7ecf\u5e38\u542c\u8bf4\u7684\u7f51\u7edc\u722c\u866b\uff0c\u4e00\u822c Python \u5356\u8bfe\u7684\u90fd\u4f1a\u5439\u8fd9\u4e2a\u4e1c\u897f\u3002\u7b80\u5355\u53ef\u4ee5\u7406\u89e3\u4e3a\uff0c\u6211\u7528\u4e00\u4e2a\u81ea\u52a8\u7684\u7a0b\u5e8f\uff0c\u4e0b\u8f7d\u7f51\u7ad9\u4e2d\u7684\u6240\u6709\u6587\u672c\u3001\u56fe\u7247\u7b49\u76f8\u5173\u4fe1\u606f\uff0c\u7136\u540e\u5b58\u5165\u672c\u5730\u7684\u78c1\u76d8\u3002 \u7b2c\u4e8c\u6b65\u662f\u641c\u7d22\u5f15\u64ce\u7684\u6838\u5fc3\uff0c\u4f46\u662f\u5bf9\u4e8e\u6211\u4eec\u4f7f\u7528\u6765\u8bf4\uff0c\u5e76\u4e0d\u662f\u7279\u522b\u5173\u952e\uff0c\u5927\u81f4\u53ef\u4ee5\u7406\u89e3\u4e3a\u6d17\u5e72\u51c0\u6570\u636e\uff0c\u7136\u540e\u5165\u5e93\u9875\u9762\uff0c\u6bcf\u4e2a\u9875\u9762\u52a0\u5165\u5173\u952e\u5b57\u7b49\u4fe1\u606f\u65b9\u4fbf\u6211\u4eec\u67e5\u8be2\u3002 \u7b2c\u4e09\u6b65\u8ddf\u6211\u4eec\u606f\u606f\u76f8\u5173\uff0c\u4e0d\u7ba1\u662f\u4ec0\u4e48\u641c\u7d22\u7f51\u7ad9\uff0c google \u3001\u767e\u5ea6\u3001 Bing \uff0c\u90fd\u4e00\u6837\uff0c\u8f93\u5165\u5173\u952e\u5b57\u6216\u8005\u9700\u8981\u67e5\u8be2\u7684\u5185\u5bb9\uff0c\u641c\u7d22\u5f15\u64ce\u4f1a\u7ed9\u4f60\u8fd4\u56de\u7ed3\u679c\u3002\u672c\u6587\u5c31\u662f\u6559\u4f60\u5982\u4f55\u83b7\u53d6\u66f4\u597d\u7684\u7ed3\u679c\u3002","title":"\u641c\u7d22\u5f15\u64ce\u5de5\u4f5c\u539f\u7406"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_4","text":"\u6839\u636e\u4e0a\u8ff0\u7684\u5de5\u4f5c\u539f\u7406\uff0c\u6211\u4eec\u5927\u81f4\u5c31\u80fd\u660e\u767d\uff0c\u5176\u5b9e\u53ef\u4ee5\u628a\u641c\u7d22\u5f15\u64ce\u5f53\u4f5c\u4e00\u4e2a\u6bd4\u8f83\u806a\u660e\u7684\u6570\u636e\u5e93\uff0c\u66f4\u597d\u7684\u4f7f\u7528\u67e5\u8be2\u6761\u4ef6\u5c31\u80fd\u66f4\u5feb\u901f\u7684\u627e\u5230\u4f60\u60f3\u8981\u7684\u4fe1\u606f\uff0c\u4e0b\u9762\u4ecb\u7ecd\u4e00\u4e9b\u641c\u7d22\u7684\u6280\u5de7\uff1a","title":"\u57fa\u7840\u641c\u7d22\u6280\u5de7"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_5","text":"\u9996\u5148\u6211\u4eec\u8981\u77e5\u9053\u4e00\u4ef6\u4e8b\uff0c\u7f16\u7a0b\u4e2d\uff0c\u6700\u597d\u4f7f\u7528\u82f1\u6587\u641c\u7d22\u3002\u539f\u56e0\u4e3b\u8981\u6709\u51e0\u70b9\uff1a \u7f16\u7a0b\u548c\u5404\u79cd\u8f6f\u4ef6\u64cd\u4f5c\u4e2d\uff0c\u82f1\u6587\u8d44\u6599\u8d28\u91cf\u6bd4\u4e2d\u6587\u8d44\u6599\u548c\u5176\u4ed6\u8bed\u8a00\u8d44\u6599\u9ad8\uff0c\u82f1\u6587\u901a\u7528\u6027\u8fd8\u662f\u66f4\u597d\u4e9b \u56e0\u4e3a\u7ffb\u8bd1\u95ee\u9898\uff0c\u82f1\u6587\u7684\u540d\u8bcd\u6bd4\u4e2d\u6587\u51c6\u786e\u901a\u7528 \u4e2d\u6587\u641c\u7d22\u4e2d\uff0c\u5206\u8bcd\u7cfb\u7edf\u4e0d\u51c6\u4f1a\u5bfc\u81f4\u6b67\u4e49\uff0c\u6bd4\u5982 Google \u641c\u4e2d\u6587\u53ef\u80fd\u4f1a\u641c\u4e0d\u51fa\u51e0\u6761\u6709\u7528\u7ed3\u679c \u5982\u679c\u4f60\u82f1\u6587\u4e0d\u597d\uff0c\u7528\u767e\u5ea6\u7ffb\u8bd1\u6216\u8005\u641c\u72d7\u7ffb\u8bd1\uff0c\u8db3\u591f\u4e86\u3002 \u5f53\u7136\u4e0b\u9762\u7684\u6587\u6863\u4e3a\u4e86\u4e3e\u4f8b\u65b9\u4fbf\uff0c\u90fd\u8fd8\u662f\u7528\u4e2d\u6587\u4f8b\u5b50\u3002","title":"\u4f7f\u7528\u82f1\u6587"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_6","text":"\u641c\u7d22\u65f6\u4e0d\u8981\u641c\u7d22\u6574\u53e5\u8bdd\uff0c\u867d\u7136\u641c\u7d22\u5f15\u64ce\u4f1a\u81ea\u52a8\u5e2e\u52a9\u6211\u4eec\u5206\u8bcd\u68c0\u7d22\uff0c\u4f46\u662f\u6574\u53e5\u548c\u5173\u952e\u5b57\u641c\u7d22\u51fa\u6765\u7684\u7ed3\u679c\u518d\u51c6\u786e\u5ea6\u548c\u987a\u5e8f\u4e0a\u4f1a\u6709\u5f88\u5927\u5dee\u522b\u3002\u641c\u7d22\u5f15\u64ce\u662f\u673a\u5668\uff0c\u5e76\u4e0d\u662f\u4f60\u7684\u8001\u5e08\u6216\u8005\u540c\u4e8b\uff0c\u770b\u4e0a\u9762\u7684\u6d41\u7a0b\uff0c\u641c\u7d22\u5b9e\u9645\u4e0a\u662f\u53bb\u68c0\u7d22\u641c\u7d22\u5f15\u64ce\u722c\u51fa\u6765\u7684\u6570\u636e\u5e93\uff0c\u4f60\u53ef\u4ee5\u7406\u89e3\u4e3a\u5173\u952e\u5b57\u6bd4\u6a21\u7cca\u68c0\u7d22\u8981\u5feb\u800c\u4e14\u51c6\u786e\u3002 \u6211\u4eec\u9700\u8981\u63d0\u70bc\u95ee\u9898\uff0c\u786e\u5b9a\u6211\u4eec\u5230\u5e95\u9700\u8981\u89e3\u51b3\u4ec0\u4e48\u95ee\u9898\u3002 \u4f8b\u5982\uff0c\u6211\u60f3\u77e5\u9053 vcpkg \u5982\u4f55\u96c6\u6210\u5230\u5de5\u7a0b\u4e0a\u800c\u4e0d\u662f\u5168\u5c40\u4e2d\uff0c\u90a3\u4e48\u641c\u7d22 vcpkg\u5982\u4f55\u96c6\u6210\u5230\u5de5\u7a0b\u4e0a\u800c\u4e0d\u662f\u5168\u5c40\u4e2d \u8fd9\u79cd\u957f\u53e5\u53ef\u80fd\u65e0\u6cd5\u627e\u5230\u76f8\u5173\u7684\u7ed3\u679c\uff0c\u6700\u597d\u662f\u62c6\u5206\u6210\u5355\u8bcd\uff0c vcpkg \u96c6\u6210\u5230 \u5de5\u7a0b \u5168\u5c40 \u8fd9\u6837\u7684\u641c\u7d22\u3002\u5176\u5b9e\u8fd9\u91cc\u53ea\u662f\u4e3e\u4e2a\u4f8b\u5b50\uff0c\u9488\u5bf9\u672c\u6761\u5176\u5b9e\u90fd\u80fd\u641c\u7d22\u51fa\u76f8\u5173\u4fe1\u606f\uff0c\u4f46\u662f\u8d8a\u5177\u4f53\u7684\u95ee\u9898\uff0c\u673a\u5668\u5206\u8bcd\u8d8a\u53ef\u80fd\u51fa\u95ee\u9898\uff0c\u6240\u4ee5\u6700\u597d\u662f\u62c6\u5206\u5173\u952e\u5b57\uff0c\u4f7f\u7528\u8bcd\u7ec4\u6216\u8005\u65ad\u53e5\u6765\u8fdb\u884c\u641c\u7d22\u3002","title":"\u63d0\u70bc\u5173\u952e\u8bcd"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_7","text":"\u8fd8\u662f\u4e0a\u9762\u90a3\u4e2a\u4f8b\u5b50\uff0c\u5982\u679c\u641c\u4e0d\u51fa\u6765\uff0c\u53ef\u4ee5\u8bd5\u8bd5\u628a\u5de5\u7a0b\u6362\u6210\u9879\u76ee\uff0c\u6216\u8005\u79fb\u51fa\u96c6\u6210\uff0c\u5982\u679c\u4e0d\u884c\uff0c\u8bd5\u4e00\u4e0b\u9ad8\u7ea7\u641c\u7d22\u3002","title":"\u66ff\u6362\u5173\u952e\u5b57"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_8","text":"\u666e\u901a\u641c\u7d22\u5f15\u64ce\u4e00\u822c\u90fd\u652f\u6301\u9ad8\u7ea7\u641c\u7d22\uff0c\u5305\u62ec google \uff0c bing \uff0c\u767e\u5ea6\uff0c ecosia \uff0c\u7b49\u7b49\uff0c\u5927\u90e8\u5206\u90fd\u652f\u6301\uff0c\u4e0d\u8fc7\u53ef\u80fd\u8bed\u6cd5\u4e0d\u540c\uff0c\u4e00\u822c\u901a\u7528\u7684\u8868\u793a\uff1a \u7cbe\u51c6\u5339\u914d\uff1a \u7cbe\u51c6\u5339\u914d\u80fd\u4fdd\u8bc1\u641c\u7d22\u5173\u952e\u8bcd\u5b8c\u5168\u88ab\u5339\u914d\u4e0a\uff0c\u4e00\u822c\u662f\u7528\u53cc\u5f15\u53f7\u62ec\u8d77\u6765 \u6bd4\u5982\u641c\u7d22\u7ebf\u6027\u4ee3\u6570\uff0c\u53ef\u4ee5\u5728\u8f93\u5165\u6846\u5185\u8f93\u5165 \"\u7ebf\u6027\u4ee3\u6570\"\uff0c\u641c\u7d22\u5f15\u64ce\u5c06\u53ea\u5339\u914d\u5b8c\u6574\u5305\u542b \u201c\u7ebf\u6027\u4ee3\u6570\u201d \u7684\u9875\u9762\uff0c\u800c\u4e0d\u4f1a\u641c\u7d22\u62c6\u5206\u6210\u7ebf\u6027\u548c\u4ee3\u6570\u4e24\u4e2a\u8bcd\u7684\u9875\u9762 \u4e0d\u5305\u542b\u5173\u952e\u5b57\uff1a \u7528 - \u51cf\u53f7\u8fde\u63a5\u5173\u952e\u5b57\uff0c\u7528\u4e8e\u6392\u9664\u67d0\u4e9b\u5e72\u6270\u8bcd \u5305\u542b\u5173\u952e\u5b57\uff1a \u7528 + \u52a0\u53f7\u8fde\u63a5\u5173\u952e\u5b57 \u641c\u7d22\u7279\u5b9a\u6587\u4ef6\u7c7b\u578b\uff1a filetype:pdf \u76f4\u63a5\u641c\u7d22 pdf \u6587\u4ef6 \u641c\u7d22\u7279\u5b9a\u7f51\u5740\uff1a site:stackoverflow.com \u53ea\u641c\u7d22\u7279\u5b9a\u7f51\u7ad9\u5185\u7684\u9875\u9762 \u4e00\u822c\u53ef\u4ee5\u53c2\u7167\u7f51\u7ad9\u8bf4\u660e\uff0c\u6bd4\u5982\u767e\u5ea6\u53ef\u4ee5\u53c2\u7167 \u9ad8\u7ea7\u641c\u7d22 \uff0cBing \u53ef\u4ee5\u53c2\u7167 \u9ad8\u7ea7\u641c\u7d22\u5173\u952e\u5b57 \u548c \u9ad8\u7ea7\u641c\u7d22\u9009\u9879 \u3002","title":"\u9ad8\u7ea7\u641c\u7d22"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#github","text":"\u53ef\u4ee5\u76f4\u63a5\u7528 \u9ad8\u7ea7\u641c\u7d22\u9875\u9762 \u8fdb\u884c\u641c\u7d22\uff0c\u4e5f\u53ef\u4ee5\u53c2\u7167 Github\u67e5\u8be2\u8bed\u6cd5 \u8fdb\u884c\u67e5\u627e\uff0c\u7b80\u5355\u8bf4\u51e0\u4e2a: in:name <\u5173\u952e\u5b57> \u4ed3\u5e93\u540d\u79f0\u5e26\u5173\u952e\u5b57\u67e5\u8be2 in:description <\u5173\u952e\u5b57> \u4ed3\u5e93\u63cf\u8ff0\u5e26\u5173\u952e\u5b57\u67e5\u8be2 in:readme <\u5173\u952e\u5b57> README \u6587\u4ef6\u5e26\u5173\u952e\u5b57\u67e5\u8be2 stars(fork): >(=) <\u6570\u5b57> <\u5173\u952e\u5b57> star \u6216 fork \u6570\u5927\u4e8e(\u6216\u7b49\u4e8e)\u6307\u5b9a\u6570\u5b57\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 stars(fork): 10..20 <\u5173\u952e\u8bcd> star \u6216 fork \u6570\u5728 10 \u5230 20 \u4e4b\u95f4\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 size:>=5000 <\u5173\u952e\u8bcd> \u9650\u5b9a\u4ed3\u5e93\u5927\u4e8e\u7b49\u4e8e 5000K \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 pushed(created):>2019-11-15 <\u5173\u952e\u5b57> \u66f4\u65b0 \u6216 \u521b\u5efa \u65e5\u671f\u5728 2019 \u5e74 11 \u6708 16 \u65e5\u4e4b\u540e\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 license:apache-2.0 <\u5173\u952e\u5b57> LICENSE \u4e3a apache-2.0 \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 language:java <\u5173\u952e\u8bcd> \u4ed3\u5e93\u8bed\u8a00\u4e3a Java \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 user:<\u7528\u6237\u540d> \u67e5\u8be2\u67d0\u4e2a\u7528\u6237\u7684\u9879\u76ee org:<\u7ec4\u7ec7\u540d> \u67e5\u8be2\u67d0\u4e2a\u7ec4\u7ec7\u7684\u9879\u76ee \u8fd9\u4e9b\u53ef\u4ee5\u6df7\u5408\u4f7f\u7528\uff0c\u4e5f\u53ef\u4ee5\u5148\u67e5\u627e\u67d0\u4e00\u7c7b\u7684 awesome \u4ed3\u5e93\uff0c\u7136\u540e\u4ece awesome \u5e93\u91cc\u627e\u76f8\u5173\u7684\u8d44\u6e90\uff0cgithub \u91cc\u6709\u5f88\u591a\u5f52\u7eb3\u4ed3\u5e93\uff0c\u53ef\u4ee5\u5148\u770b\u770b\u5df2\u6709\u7684\u6536\u96c6\uff0c\u6709\u65f6\u5019\u4f1a\u8282\u7701\u5f88\u591a\u65f6\u95f4","title":"GitHub \u7684\u9ad8\u7ea7\u641c\u7d22"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_9","text":"\u4f7f\u7528\u4e2d\uff0c\u5b9e\u9645\u4e0a\u6211\u4f1a\u53bb\u7279\u5b9a\u7f51\u7ad9\u627e\u4e00\u4e9b\u95ee\u9898\uff1a \u5982\u679c\u662f\u8bed\u8a00\u672c\u8eab\u76f8\u5173\uff0c\u6bd4\u5982 c++/Qt/OpenGL \u5982\u4f55\u5b9e\u73b0\u4ec0\u4e48\u529f\u80fd\uff0c\u53ef\u4ee5\u76f4\u63a5\u52a0\u4e0a site:stackoverflow.com \u5982\u679c\u662f\u5177\u4f53\u7684\u4e1a\u52a1/\u5f00\u53d1\u73af\u5883\u6216\u8005\u8f6f\u4ef6\u76f8\u5173\uff0c\u53ef\u4ee5\u5148\u5728 BugList \u3001IssueList \uff0c\u6216\u8005\u76f8\u5173\u8bba\u575b\u91cc\u5148\u627e\u4e00\u4e0b\uff0c\u6bd4\u5982 Qt \u7684\u95ee\u9898\u5c31\u53ef\u4ee5\u76f4\u63a5\u53bb Qt \u8bba\u575b\uff0cQGis \u6216\u8005 GDAL \u76f8\u5173\u95ee\u9898\u53ef\u4ee5\u5728 stackExchange \u91cc\u53bb\u641c QQ \u7fa4\u4e5f\u662f\u4e00\u4e2a\u63d0\u95ee\u7684\u5730\u65b9\uff0c\u4f46\u662f\u9700\u8981\u4f60\u63d0\u7684\u95ee\u9898\u6709\u610f\u4e49\uff0c\u5426\u5219\u5927\u90e8\u5206\u4eba\u4e0d\u4f1a\u56de\u4f60\uff0c\u800c\u4e14 QQ \u7fa4\u56de\u590d\u5e76\u4e0d\u53ca\u65f6\u3002 \u77e5\u4e4e\u4e13\u680f\u3001\u7b80\u4e66\u3001\u535a\u5ba2\u56ed\u3001 CSDN \u4e2d\u6709\u5927\u91cf\u4e2d\u6587\u7b14\u8bb0\uff0c\u8fd9\u4e9b\u90fd\u662f\u522b\u4eba\u56bc\u70c2\u4e86\u7684\u4e1c\u897f\uff0c\u57fa\u672c\u662f\u522b\u4eba\u8e29\u5751\u7684\u7ecf\u9a8c","title":"\u66f4\u591a\u6280\u5de7"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_10","text":"\u5927\u90e8\u5206\u7f16\u7a0b\u4eba\u90fd\u4f1a\u544a\u8bc9\u4f60\u522b\u7528\u767e\u5ea6\uff0c\u7528 Google \u6216\u8005 Bing \u56fd\u9645\u7248\uff0c\u4f46\u662f Bing \u4e2d\u6587\u641c\u7d22\u7684\u51c6\u786e\u7387\u5e76\u4e0d\u9ad8\uff0c Google \u9700\u8981\u79d1\u5b66\u4e0a\u7f51\uff0c\u5982\u679c\u771f\u7684\u9700\u8981\uff0c\u53ef\u4ee5\u4f7f\u7528 Ecosia \u3001 Yandex \u4e4b\u7c7b\u7684\u641c\u7d22\u5f15\u64ce\u3002\u800c\u4e14\u4e2d\u6587\u641c\u7d22\u6765\u8bf4\uff0c\u767e\u5ea6\u53ef\u80fd\u8fd8\u771f\u662f\u6700\u597d\u7684\u3002 \u767e\u5ea6\u7684\u95ee\u9898\u4e3b\u8981\u5728\u4e8e\u6392\u5e8f\u7b97\u6cd5\uff0c\u53ef\u80fd\u4e24\u9875\u90fd\u6ca1\u5565\u5bf9\u7684\u5185\u5bb9\uff0c\u4f46\u662f\u6536\u5f55\u6bd4 Bing \u8fd8\u662f\u597d\u4e00\u4e9b\u7684\uff08\u767e\u5ea6\u4ee5\u524d\u5e76\u4e0d\u9075\u5b88 robots.txt \uff0c\u4f1a\u6293\u53d6\u6240\u6709\u9875\u9762\uff0c\u6240\u4ee5\u6709\u4e9b\u4e2a\u4eba\u7f51\u7ad9\u751a\u81f3\u4e13\u95e8\u5bf9\u767e\u5ea6\u505a\u4e86\u5c4f\u853d\uff09\uff0c\u751a\u81f3\u6709\u65f6\u5019\u6bd4 Google \u597d\u3002\u4ece\u6570\u636e\u5e93\u6765\u8bf4\uff0c\u767e\u5ea6\u6bd4 Google \u548c Bing \u6536\u5f55\u7684\u4e2d\u6587\u5185\u5bb9\u8981\u591a\uff0c\u5982\u679c\u4f60\u78b0\u5230\u7684\u65f6\u4e2d\u6587\u76f8\u5173\u7684\u95ee\u9898\u800c\u4e14\u786e\u5b9e\u627e\u4e0d\u5230\u76f8\u5173\u5185\u5bb9\uff0c\u90a3\u4e48\u5c31\u7528\u767e\u5ea6\uff0c\u641c\u7d22\u5f15\u64ce\u662f\u5de5\u5177\uff0c\u80fd\u7528\u597d\u7528\u624d\u662f\u738b\u9053\u3002","title":"\u5173\u4e8e\u767e\u5ea6"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_11","text":"\u6211\u4eec\u9664\u4e86\u641c\u7d22\u5f15\u64ce\u67e5\u627e\u95ee\u9898\uff0c\u8fd8\u6709\u53ef\u80fd\u4f1a\u641c\u4e00\u4e9b\u4ee3\u7801\uff0c\u53ef\u80fd\u662f\u81ea\u5df1\u5199\u7684\uff0c\u4e5f\u53ef\u80fd\u662f\u9879\u76ee\u4e2d\u7684\uff0c\u4e0b\u9762\u63a8\u8350\u4e00\u4e9b\u5de5\u5177\uff1a \u4ee3\u7801\u68c0\u7d22\u6709\u4e24\u79cd\uff0c\u7b2c\u4e00\u662f\u672c\u5730\u7684\u4ee3\u7801\u68c0\u7d22\uff0c\u7b2c\u4e8c\u662f\u8981\u5199\u4e2a\u5565\u7b97\u6cd5\uff0c\u9700\u8981\u5728\u7f51\u4e0a\u641c\u7d22","title":"\u4ee3\u7801\u641c\u7d22"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_12","text":"ACK \u6216\u8005 ACK2\uff0c\u8001\u724c\u641c\u7d22\u5de5\u5177\uff0cperl \u5199\u7684 The Silver Searcher c \u5b9e\u73b0\u7684 The Platinum Searcher go \u5b9e\u73b0\u7684 FreeCommander \u81ea\u5e26\u7684\u641c\u7d22\uff0c\u5982\u679c\u662f\u56fa\u6001\u786c\u76d8\u901f\u5ea6\u8fd8\u4e0d\u9519 IDE \u81ea\u5e26\u7684\uff0c\u641c\u7d22\u6709\u4e9b\u65f6\u5019\u5e76\u4e0d\u592a\u597d\u7528","title":"\u672c\u5730\u4ee3\u7801\u641c\u7d22"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_13","text":"Searchcode \u641c\u7d22\u5f00\u6e90\u4ee3\u7801\uff0c\u901f\u5ea6\u6bd4\u8f83\u5feb \u4e00\u884c\u4ee3\u7801 \u56fd\u4ea7\u7684\uff0c\u6709\u4e9b\u56fd\u4ea7\u5de5\u5177\u5f88\u597d\u7528 [^ 1]: \u641c\u7d22\u5f15\u64ce\u5de5\u4f5c\u539f\u7406\u7b80\u4ecb - \u77e5\u4e4e (zhihu.com)","title":"\u5f00\u6e90\u4ee3\u7801\u641c\u7d22"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E7%BF%BB%E5%A2%99/","text":"\u7ffb\u5899 \u6b64\u94fe\u63a5 \u51fa\u73b0\u5728\u8fd9\u91cc\u7eaf\u5c5e\u4e8c\u8fdb\u5236 bit \u7684\u968f\u610f\u7ec4\u5408\uff0c\u4e0e\u672c\u4eba\u6beb\u65e0\u5173\u7cfb\u3002","title":"\u7ffb\u5899"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E7%BF%BB%E5%A2%99/#_1","text":"\u6b64\u94fe\u63a5 \u51fa\u73b0\u5728\u8fd9\u91cc\u7eaf\u5c5e\u4e8c\u8fdb\u5236 bit \u7684\u968f\u610f\u7ec4\u5408\uff0c\u4e0e\u672c\u4eba\u6beb\u65e0\u5173\u7cfb\u3002","title":"\u7ffb\u5899"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/","text":"CS162: Operating System Descriptions Offered by: UC Berkeley Prerequisites: CS61A, CS61B, CS61C Programming Languages: C, x86 Assembly Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 200 hours+ The course impressed me in two aspects: Firstly, the textbook: Operating Systems: Principles and Practice (2nd Edition) is written in an insightful but easy-to-understand way, well compensated for the lack of theoretical knowledge in MIT6.S081, I highly recommend you to read this book. Secondly, the project for this course Pintos is a great journey for system hackers. Pintos is a toy operating system developed at Stanford for educational use. The author Ben Pfaff even published a paper to explain the design principles of Pintos . Unlike the small but comprehensive design philosophy in MIT's xv6 labs, Pintos emphasizes system design and implementation more. The codebase is about 10,000 LOC and only provides the basic functions of a working operating system. The four projects let you add scheduler (Project1), system calls (Project2), virtual memory (Project3), and the file system (Project4) to this extremely simple operating system. All projects leave a a big design space for students and require more than 2000 LOC. Based on the feedback from Stanford students, the latter two projects take over 40 hours per person even in teams of 3-4 people. Although it is tough, Stanford, Berkeley, JHU and many other top U.S. colleges have chosen Pintos as their OS course project. If you're really interested in operating systems, it will greatly improve your ability to write and debug low-level system code. For me, it is an invaluable experience to design, implement, and debug a large system independently. Pintos will also be introduced as a course project in Peking University's OS Course. In the Spring 2022 semester, I worked with another TA to write a comprehensive lab documentation and provided a docker image for the ease of cross-platform development. In the last semester before graduation, I hope such an attempt can make more people fall in love with systems and contribute to the field of systems in China. Course Resources Course Website: https://cs162.org/ Lecture Videos: https://www.youtube.com/watch?v=YfHY0pvpRkk , videos for each lecture can be found on the course website. Textbook: Operating Systems: Principles and Practice (2nd Edition) Assignments: https://cs162.org/ , 6 Homework, 3 Projects, the course website has specific requirements. Personal Resources Since the Operating System Course at PKU uses the project, my implementation is not open source to prevent plagiarism.","title":"UCB CS162: Operating System"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#cs162-operating-system","text":"","title":"CS162: Operating System"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#descriptions","text":"Offered by: UC Berkeley Prerequisites: CS61A, CS61B, CS61C Programming Languages: C, x86 Assembly Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 200 hours+ The course impressed me in two aspects: Firstly, the textbook: Operating Systems: Principles and Practice (2nd Edition) is written in an insightful but easy-to-understand way, well compensated for the lack of theoretical knowledge in MIT6.S081, I highly recommend you to read this book. Secondly, the project for this course Pintos is a great journey for system hackers. Pintos is a toy operating system developed at Stanford for educational use. The author Ben Pfaff even published a paper to explain the design principles of Pintos . Unlike the small but comprehensive design philosophy in MIT's xv6 labs, Pintos emphasizes system design and implementation more. The codebase is about 10,000 LOC and only provides the basic functions of a working operating system. The four projects let you add scheduler (Project1), system calls (Project2), virtual memory (Project3), and the file system (Project4) to this extremely simple operating system. All projects leave a a big design space for students and require more than 2000 LOC. Based on the feedback from Stanford students, the latter two projects take over 40 hours per person even in teams of 3-4 people. Although it is tough, Stanford, Berkeley, JHU and many other top U.S. colleges have chosen Pintos as their OS course project. If you're really interested in operating systems, it will greatly improve your ability to write and debug low-level system code. For me, it is an invaluable experience to design, implement, and debug a large system independently. Pintos will also be introduced as a course project in Peking University's OS Course. In the Spring 2022 semester, I worked with another TA to write a comprehensive lab documentation and provided a docker image for the ease of cross-platform development. In the last semester before graduation, I hope such an attempt can make more people fall in love with systems and contribute to the field of systems in China.","title":"Descriptions"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#course-resources","text":"Course Website: https://cs162.org/ Lecture Videos: https://www.youtube.com/watch?v=YfHY0pvpRkk , videos for each lecture can be found on the course website. Textbook: Operating Systems: Principles and Practice (2nd Edition) Assignments: https://cs162.org/ , 6 Homework, 3 Projects, the course website has specific requirements.","title":"Course Resources"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#personal-resources","text":"Since the Operating System Course at PKU uses the project, my implementation is not open source to prevent plagiarism.","title":"Personal Resources"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/","text":"HIT OS: Operating System Course Introduction University: Harbin Institute of Technology Prerequisites: C Language Programming Languages: C Language, Assembly Course Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Estimated Study Hours: 100 hours+ If you search on Zhihu for questions like \"how to self-study operating systems\", \"recommended open courses for operating systems\", \"computer courses you wish you had discovered earlier\", etc., the operating systems course by Professor Li Zhijun of Harbin Institute of Technology (HIT) is likely to appear in the high-rated answers. It's a relatively well-known and popular Chinese computer course. This course excels at gently guiding students from their perspective. For instance, it starts from \"humbly asking, what is an operating system\" to \"lifting the lid of the operating system piano\", deriving the concept of processes from intuitive CPU management, and introducing memory management by initially \"letting the program enter memory\". The course emphasizes the combination of theory and practice. Operating systems are tangible, and Professor Li repeatedly stresses the importance of doing experiments. You won't fully grasp operating systems if you just watch videos and theorize. The course explains and conducts experiments based on actual Linux 0.11 source code (around 20,000 lines in total), with eight small labs and four projects. Of course, this course also has minor imperfections. For example, Linux 0.11 is very early industrial code and not designed for teaching. Thus, there are some unavoidable obscure and difficult parts of the codebase in the projects, but they don't contribute much to the understanding of operating systems. Course Resources Course Website: https://www.icourse163.org/course/HIT-1002531008 Course Videos: https://www.bilibili.com/video/BV19r4y1b7Aw/?p=1 Course Textbook 1: Complete Annotation of Linux Kernel Course Textbook 2: Operating System Principles, Implementation, and Practice Course Assignments: https://www.lanqiao.cn/courses/115 Complementary Resources @NaChen95 has compiled the principles and implementations of the eight experimental assignments in this course at NaChen95 / Linux0.11 .","title":"HIT OS: Operating System"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/#hit-os-operating-system","text":"","title":"HIT OS: Operating System"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/#course-introduction","text":"University: Harbin Institute of Technology Prerequisites: C Language Programming Languages: C Language, Assembly Course Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Estimated Study Hours: 100 hours+ If you search on Zhihu for questions like \"how to self-study operating systems\", \"recommended open courses for operating systems\", \"computer courses you wish you had discovered earlier\", etc., the operating systems course by Professor Li Zhijun of Harbin Institute of Technology (HIT) is likely to appear in the high-rated answers. It's a relatively well-known and popular Chinese computer course. This course excels at gently guiding students from their perspective. For instance, it starts from \"humbly asking, what is an operating system\" to \"lifting the lid of the operating system piano\", deriving the concept of processes from intuitive CPU management, and introducing memory management by initially \"letting the program enter memory\". The course emphasizes the combination of theory and practice. Operating systems are tangible, and Professor Li repeatedly stresses the importance of doing experiments. You won't fully grasp operating systems if you just watch videos and theorize. The course explains and conducts experiments based on actual Linux 0.11 source code (around 20,000 lines in total), with eight small labs and four projects. Of course, this course also has minor imperfections. For example, Linux 0.11 is very early industrial code and not designed for teaching. Thus, there are some unavoidable obscure and difficult parts of the codebase in the projects, but they don't contribute much to the understanding of operating systems.","title":"Course Introduction"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/#course-resources","text":"Course Website: https://www.icourse163.org/course/HIT-1002531008 Course Videos: https://www.bilibili.com/video/BV19r4y1b7Aw/?p=1 Course Textbook 1: Complete Annotation of Linux Kernel Course Textbook 2: Operating System Principles, Implementation, and Practice Course Assignments: https://www.lanqiao.cn/courses/115","title":"Course Resources"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/#complementary-resources","text":"@NaChen95 has compiled the principles and implementations of the eight experimental assignments in this course at NaChen95 / Linux0.11 .","title":"Complementary Resources"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/","text":"MIT 6.S081: Operating System Engineering Descriptions Offered by: MIT Prerequisites: Computer Architecture + Solid C Programming Skills + RISC-V Assembly Programming Languages: C, RISC-V Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours This is the undergraduate operating system course at MIT, offered by the well-known PDOS Group. One of the instructors, Robert Morris, was once a famous hacker who created 'Morris', the first worm virus in the world. The predecessor of this course was the famous MIT6.828. The same instructors at MIT created an educational operating system called JOS based on x86, which has been adopted by many other famous universities. While after the birth of RISC-V, they implemented it based on RISC-V, and offered MIT 6.S081. RISC-V is lightweight and user-friendly, so students don't have to struggle with the confusing legacy features in x86 as in JOS, but focus on the operating system design and implementation. The instructors have also written a tutorial , elaborately explaining the ideas of design and details of the implementation of xv6 operating system. The teaching style of this course is also interesting, the instructors guided the students to understand the numerous technical challenges and design principles in the operating systems by going through the xv6 source code, instead of merely teaching theoretical knowledge. Weekly Labs will let you add new features to xv6, which focus on enhancing students' practical skills. There are 11 labs in total during the whole semester which give you the chance to understand every aspect of the operating systems, bringing a great sense of achievement. Each lab has a complete framework for testing, some tests are more than a thousand lines of code, which shows how much effort the instructors have made to teach this course well. In the second half of the course, the instructors will discuss a couple of classic papers in the operating system field, covering file systems, system security, networking, virtualization, and so on, giving you a chance to have a taste of the cutting edge research directions in the academic field. Course Resources Course Website: https://pdos.csail.mit.edu/6.828/2021/schedule.html Lecture Videos: https://www.youtube.com/watch?v=L6YqHxYHa7A , videos for each lecture can be found on the course website. Translated documentation(Chinese) of Lecture videos: https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/ Text Book: https://pdos.csail.mit.edu/6.828/2021/xv6/book-riscv-rev2.pdf Assignments: https://pdos.csail.mit.edu/6.828/2021/schedule.html , 11 labs, can be found on the course website. xv6 Resources Detailed Explanation of xv6 xv6 Documentation(Chinese) line-by-line walk-through of key xv6 source codes Complementary Resources All resources used and assignments implemented by @PKUFlyingPig when learning this course are in PKUFlyingPig/MIT6.S081-2020fall - GitHub . @ KuangjuX documented his solutions with detailed explanations and complementary knowledge. Moreover, @ KuangjuX has reimplemented the xv6 operating system in Rust which contains more detailed reviews and discussions about xv6. Some Blogs for References doraemonzzz Xiao Fan (\u6a0a\u6f47) Miigon's blog Zhou Fang Yichun's Blog \u89e3\u6790Ta PKUFlyingPig \u661f\u9065\u89c1","title":"MIT 6.S081: Operating System Engineering"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#mit-6s081-operating-system-engineering","text":"","title":"MIT 6.S081: Operating System Engineering"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#descriptions","text":"Offered by: MIT Prerequisites: Computer Architecture + Solid C Programming Skills + RISC-V Assembly Programming Languages: C, RISC-V Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours This is the undergraduate operating system course at MIT, offered by the well-known PDOS Group. One of the instructors, Robert Morris, was once a famous hacker who created 'Morris', the first worm virus in the world. The predecessor of this course was the famous MIT6.828. The same instructors at MIT created an educational operating system called JOS based on x86, which has been adopted by many other famous universities. While after the birth of RISC-V, they implemented it based on RISC-V, and offered MIT 6.S081. RISC-V is lightweight and user-friendly, so students don't have to struggle with the confusing legacy features in x86 as in JOS, but focus on the operating system design and implementation. The instructors have also written a tutorial , elaborately explaining the ideas of design and details of the implementation of xv6 operating system. The teaching style of this course is also interesting, the instructors guided the students to understand the numerous technical challenges and design principles in the operating systems by going through the xv6 source code, instead of merely teaching theoretical knowledge. Weekly Labs will let you add new features to xv6, which focus on enhancing students' practical skills. There are 11 labs in total during the whole semester which give you the chance to understand every aspect of the operating systems, bringing a great sense of achievement. Each lab has a complete framework for testing, some tests are more than a thousand lines of code, which shows how much effort the instructors have made to teach this course well. In the second half of the course, the instructors will discuss a couple of classic papers in the operating system field, covering file systems, system security, networking, virtualization, and so on, giving you a chance to have a taste of the cutting edge research directions in the academic field.","title":"Descriptions"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#course-resources","text":"Course Website: https://pdos.csail.mit.edu/6.828/2021/schedule.html Lecture Videos: https://www.youtube.com/watch?v=L6YqHxYHa7A , videos for each lecture can be found on the course website. Translated documentation(Chinese) of Lecture videos: https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/ Text Book: https://pdos.csail.mit.edu/6.828/2021/xv6/book-riscv-rev2.pdf Assignments: https://pdos.csail.mit.edu/6.828/2021/schedule.html , 11 labs, can be found on the course website.","title":"Course Resources"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#xv6-resources","text":"Detailed Explanation of xv6 xv6 Documentation(Chinese) line-by-line walk-through of key xv6 source codes","title":"xv6 Resources"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#complementary-resources","text":"All resources used and assignments implemented by @PKUFlyingPig when learning this course are in PKUFlyingPig/MIT6.S081-2020fall - GitHub . @ KuangjuX documented his solutions with detailed explanations and complementary knowledge. Moreover, @ KuangjuX has reimplemented the xv6 operating system in Rust which contains more detailed reviews and discussions about xv6.","title":"Complementary Resources"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#some-blogs-for-references","text":"doraemonzzz Xiao Fan (\u6a0a\u6f47) Miigon's blog Zhou Fang Yichun's Blog \u89e3\u6790Ta PKUFlyingPig \u661f\u9065\u89c1","title":"Some Blogs for References"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/","text":"NJU OS: Operating System Design and Implementation \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u5357\u4eac\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784 + \u624e\u5b9e\u7684 C \u8bed\u8a00\u529f\u5e95 \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bed\u8a00 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u4e4b\u524d\u4e00\u76f4\u542c\u8bf4\u5357\u5927\u7684\u848b\u708e\u5ca9\u8001\u5e08\u5f00\u8bbe\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u8bb2\u5f97\u5f88\u597d\uff0c\u4e45\u95fb\u4e0d\u5982\u4e00\u89c1\uff0c\u8fd9\u5b66\u671f\u6709\u5e78\u5728 B \u7ad9\u89c2\u770b\u4e86\u848b\u8001\u5e08\u7684\u8bfe\u7a0b\u89c6\u9891\uff0c\u786e\u5b9e\u6536\u83b7\u826f\u591a\u3002\u848b\u8001\u5e08\u4f5c\u4e3a\u975e\u5e38\u5e74\u8f7b\u7684\u8001\u5e08\uff0c\u6709\u7740\u4e30\u5bcc\u7684\u4e00\u7ebf\u4ee3\u7801\u7684\u7ecf\u9a8c\uff0c\u56e0\u6b64\u8bfe\u7a0b\u8bb2\u6388\u6709\u7740\u6ee1\u6ee1\u7684 Hacker \u98ce\u683c\uff0c\u8bfe\u4e0a\u7ecf\u5e38\u201c\u4e00\u8a00\u4e0d\u5408\u201d\u5c31\u5728\u547d\u4ee4\u884c\u91cc\u5f00\u59cb\u5199\u4ee3\u7801\uff0c\u5f88\u591a\u91cd\u8981\u77e5\u8bc6\u70b9\u4e5f\u90fd\u914d\u6709\u751f\u52a8\u76f4\u767d\u7684\u4ee3\u7801\u793a\u4f8b\u3002\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\u7684\u5c31\u662f\u8001\u5e08\u4e3a\u4e86\u8ba9\u5b66\u751f\u66f4\u597d\u5730\u7406\u89e3\u52a8\u6001\u94fe\u63a5\u5e93\u7684\u8bbe\u8ba1\u601d\u60f3\uff0c\u751a\u81f3\u4e13\u95e8\u5b9e\u73b0\u4e86\u4e00\u4e2a\u8ff7\u4f60\u7684\u53ef\u6267\u884c\u6587\u4ef6\u4e0e\u4e00\u7cfb\u5217\u7684\u4e8c\u8fdb\u5236\u5de5\u5177\uff0c\u8ba9\u5f88\u591a\u56f0\u6270\u6211\u591a\u5e74\u7684\u95ee\u9898\u90fd\u5f97\u5230\u4e86\u89e3\u7b54\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bb2\u6388\u601d\u8def\u4e5f\u975e\u5e38\u6709\u8da3\uff0c\u848b\u8001\u5e08\u5148\u4ece\u201c\u7a0b\u5e8f\u5c31\u662f\u72b6\u6001\u673a\u201d\u8fd9\u4e00\u89c6\u89d2\u5165\u624b\uff0c\u4e3a\u201c\u4e07\u6076\u4e4b\u6e90\u201d\u5e76\u53d1\u7a0b\u5e8f\u5efa\u7acb\u4e86\u72b6\u6001\u673a\u7684\u8f6c\u5316\u6a21\u578b\uff0c\u5e76\u5728\u6b64\u57fa\u7840\u4e0a\u8bb2\u6388\u4e86\u5e76\u53d1\u63a7\u5236\u7684\u5e38\u89c1\u624b\u6bb5\u4ee5\u53ca\u5e76\u53d1 bug \u7684\u5e94\u5bf9\u65b9\u6cd5\u3002\u63a5\u7740\u848b\u8001\u5e08\u5c06\u64cd\u4f5c\u7cfb\u7edf\u770b\u4f5c\u4e00\u7cfb\u5217\u5bf9\u8c61\uff08\u8fdb\u7a0b/\u7ebf\u7a0b\u3001\u5730\u5740\u7a7a\u95f4\u3001\u6587\u4ef6\u3001\u8bbe\u5907\u7b49\u7b49\uff09\u4ee5\u53ca\u64cd\u4f5c\u5b83\u4eec\u7684 API \uff08\u7cfb\u7edf\u8c03\u7528\uff09\u5e76\u7ed3\u5408\u4e30\u5bcc\u7684\u5b9e\u9645\u4f8b\u5b50\u4ecb\u7ecd\u4e86\u64cd\u4f5c\u7cfb\u7edf\u662f\u5982\u4f55\u5229\u7528\u8fd9\u7cfb\u5217\u5bf9\u8c61\u865a\u62df\u5316\u786c\u4ef6\u8d44\u6e90\u5e76\u7ed9\u5e94\u7528\u8f6f\u4ef6\u63d0\u4f9b\u5404\u7c7b\u670d\u52a1\u7684\u3002\u6700\u540e\u7684\u53ef\u6301\u4e45\u5316\u90e8\u5206\uff0c\u848b\u8001\u5e08\u4ece 1-bit \u7684\u5b58\u50a8\u4ecb\u8d28\u8bb2\u8d77\uff0c\u4e00\u6b65\u6b65\u6784\u5efa\u8d77\u5404\u7c7b\u5b58\u50a8\u8bbe\u5907\uff0c\u5e76\u901a\u8fc7\u8bbe\u5907\u9a71\u52a8\u62bd\u8c61\u51fa\u4e00\u7ec4\u63a5\u53e3\u6765\u65b9\u4fbf\u5730\u8bbe\u8ba1\u4e0e\u5b9e\u73b0\u6587\u4ef6\u7cfb\u7edf\u3002\u6211\u4e4b\u524d\u867d\u7136\u4e0a\u8fc7\u8bb8\u591a\u95e8\u64cd\u4f5c\u7cfb\u7edf\u7684\u8bfe\u7a0b\uff0c\u4f46\u8fd9\u79cd\u8bb2\u6cd5\u786e\u5b9e\u72ec\u6b64\u4e00\u5bb6\uff0c\u8ba9\u6211\u6536\u83b7\u4e86\u5f88\u591a\u72ec\u5230\u7684\u89c6\u89d2\u6765\u770b\u5f85\u7cfb\u7edf\u8f6f\u4ef6\u3002 \u8fd9\u95e8\u8bfe\u9664\u4e86\u5728\u7406\u8bba\u77e5\u8bc6\u7684\u8bb2\u6388\u90e8\u5206\u5f88\u6709\u65b0\u610f\u5916\uff0c\u6ce8\u91cd\u5b9e\u8df5\u4e5f\u662f\u848b\u8001\u5e08\u7684\u4e00\u5927\u7279\u70b9\u3002\u5728\u8bfe\u5802\u548c\u7f16\u7a0b\u4f5c\u4e1a\u91cc\uff0c\u848b\u8001\u5e08\u4f1a\u6709\u610f\u65e0\u610f\u5730\u57f9\u517b\u5927\u5bb6\u9605\u8bfb\u6e90\u7801\u3001\u67e5\u9605\u624b\u518c\u7684\u80fd\u529b\uff0c\u8fd9\u4e5f\u662f\u8ba1\u7b97\u673a\u4ece\u4e1a\u8005\u5fc5\u5907\u7684\u6280\u80fd\u3002\u5728\u5b8c\u6210\u7b2c\u4e94\u4e2a MiniLab \u671f\u95f4\uff0c\u6211\u7b2c\u4e00\u6b21\u4ed4\u4ed4\u7ec6\u7ec6\u9605\u8bfb\u4e86\u5fae\u8f6f\u7684 FAT \u6587\u4ef6\u7cfb\u7edf\u624b\u518c\uff0c\u6536\u83b7\u4e86\u4e00\u6b21\u975e\u5e38\u6709\u4ef7\u503c\u7684\u7ecf\u5386\u3002 \u7f16\u7a0b\u4f5c\u4e1a\u5171\u7531 5\u4e2a MiniLab \u548c 4\u4e2a OSLab \u7ec4\u6210\u3002\u7f8e\u4e2d\u4e0d\u8db3\u7684\u662f\u4f5c\u4e1a\u7684\u8bc4\u6d4b\u673a\u662f\u4e0d\u5bf9\u6821\u5916\u5f00\u653e\u7684\uff0c\u4e0d\u8fc7\u5728\u90ae\u4ef6\u201c\u9a9a\u6270\u201d\u540e\u848b\u8001\u5e08\u8fd8\u662f\u975e\u5e38\u6177\u6168\u5730\u8ba9\u6211\u6210\u529f\u8e6d\u8bfe\u3002\u7531\u4e8e\u8bfe\u4f59\u65f6\u95f4\u6709\u9650\u6211\u53ea\u5b8c\u6210\u4e86 5\u4e2a MiniLab\uff0c\u603b\u4f53\u4f53\u9a8c\u975e\u5e38\u68d2\u3002\u5c24\u5176\u662f\u7b2c\u4e8c\u4e2a\u534f\u7a0b\u5b9e\u9a8c\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\uff0c\u5728\u4e0d\u5230\u767e\u884c\u7684\u5c0f\u5b9e\u9a8c\u91cc\u6df1\u523b\u4f53\u9a8c\u4e86\u4e0a\u4e0b\u6587\u5207\u6362\u7684\u7f8e\u5999\u4e0e\u201c\u53ef\u6015\u201d\u3002\u53e6\u5916\u5176\u5b9e\u51e0\u4e2a MiniLab \u90fd\u80fd\u975e\u5e38\u65b9\u4fbf\u5730\u8fdb\u884c\u672c\u5730\u6d4b\u8bd5\uff0c\u5c31\u7b97\u6ca1\u6709\u8bc4\u6d4b\u673a\u4e5f\u4e0d\u5f71\u54cd\u81ea\u5b66\uff0c\u56e0\u6b64\u5e0c\u671b\u5927\u5bb6\u4e0d\u8981\u805a\u4f17\u201c\u9a9a\u6270\u201d\u8001\u5e08\u4ee5\u56fe\u8e6d\u8bfe\u3002 \u6700\u540e\u518d\u6b21\u611f\u8c22\u848b\u8001\u5e08\u8bbe\u8ba1\u5e76\u5f00\u653e\u4e86\u8fd9\u6837\u4e00\u95e8\u975e\u5e38\u68d2\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\uff0c\u8fd9\u4e5f\u662f\u672c\u4e66\u6536\u5f55\u7684\u7b2c\u4e00\u95e8\u56fd\u5185\u9ad8\u6821\u81ea\u4e3b\u5f00\u8bbe\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002\u6b63\u662f\u6709\u848b\u8001\u5e08\u8fd9\u4e9b\u5e74\u8f7b\u7684\u65b0\u751f\u4ee3\u6559\u5e08\u5728\u7e41\u91cd\u7684 Tenure \u8003\u6838\u4e4b\u4f59\u7684\u7528\u7231\u53d1\u7535\uff0c\u624d\u8ba9\u65e0\u6570\u5b66\u5b50\u6536\u83b7\u4e86\u96be\u5fd8\u7684\u672c\u79d1\u751f\u6daf\u3002\u4e5f\u671f\u5f85\u56fd\u5185\u80fd\u6709\u66f4\u591a\u8fd9\u6837\u7684\u826f\u5fc3\u597d\u8bfe\uff0c\u6211\u4e5f\u4f1a\u7b2c\u4e00\u65f6\u95f4\u6536\u5f55\u8fdb\u672c\u4e66\u4e2d\u8ba9\u66f4\u591a\u4eba\u53d7\u76ca\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://jyywiki.cn/OS/2022/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://space.bilibili.com/202224425/channel/collectiondetail?sid=192498 \u8bfe\u7a0b\u6559\u6750\uff1a http://pages.cs.wisc.edu/~remzi/OSTEP/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://jyywiki.cn/OS/2022/ \u8d44\u6e90\u6c47\u603b \u6309\u848b\u8001\u5e08\u7684\u8981\u6c42\uff0c\u6211\u7684\u4f5c\u4e1a\u5b9e\u73b0\u6ca1\u6709\u5f00\u6e90\u3002","title":"NJU OS: Operating System Design and Implementation"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/#nju-os-operating-system-design-and-implementation","text":"","title":"NJU OS: Operating System Design and Implementation"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u5357\u4eac\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784 + \u624e\u5b9e\u7684 C \u8bed\u8a00\u529f\u5e95 \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bed\u8a00 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u4e4b\u524d\u4e00\u76f4\u542c\u8bf4\u5357\u5927\u7684\u848b\u708e\u5ca9\u8001\u5e08\u5f00\u8bbe\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u8bb2\u5f97\u5f88\u597d\uff0c\u4e45\u95fb\u4e0d\u5982\u4e00\u89c1\uff0c\u8fd9\u5b66\u671f\u6709\u5e78\u5728 B \u7ad9\u89c2\u770b\u4e86\u848b\u8001\u5e08\u7684\u8bfe\u7a0b\u89c6\u9891\uff0c\u786e\u5b9e\u6536\u83b7\u826f\u591a\u3002\u848b\u8001\u5e08\u4f5c\u4e3a\u975e\u5e38\u5e74\u8f7b\u7684\u8001\u5e08\uff0c\u6709\u7740\u4e30\u5bcc\u7684\u4e00\u7ebf\u4ee3\u7801\u7684\u7ecf\u9a8c\uff0c\u56e0\u6b64\u8bfe\u7a0b\u8bb2\u6388\u6709\u7740\u6ee1\u6ee1\u7684 Hacker \u98ce\u683c\uff0c\u8bfe\u4e0a\u7ecf\u5e38\u201c\u4e00\u8a00\u4e0d\u5408\u201d\u5c31\u5728\u547d\u4ee4\u884c\u91cc\u5f00\u59cb\u5199\u4ee3\u7801\uff0c\u5f88\u591a\u91cd\u8981\u77e5\u8bc6\u70b9\u4e5f\u90fd\u914d\u6709\u751f\u52a8\u76f4\u767d\u7684\u4ee3\u7801\u793a\u4f8b\u3002\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\u7684\u5c31\u662f\u8001\u5e08\u4e3a\u4e86\u8ba9\u5b66\u751f\u66f4\u597d\u5730\u7406\u89e3\u52a8\u6001\u94fe\u63a5\u5e93\u7684\u8bbe\u8ba1\u601d\u60f3\uff0c\u751a\u81f3\u4e13\u95e8\u5b9e\u73b0\u4e86\u4e00\u4e2a\u8ff7\u4f60\u7684\u53ef\u6267\u884c\u6587\u4ef6\u4e0e\u4e00\u7cfb\u5217\u7684\u4e8c\u8fdb\u5236\u5de5\u5177\uff0c\u8ba9\u5f88\u591a\u56f0\u6270\u6211\u591a\u5e74\u7684\u95ee\u9898\u90fd\u5f97\u5230\u4e86\u89e3\u7b54\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bb2\u6388\u601d\u8def\u4e5f\u975e\u5e38\u6709\u8da3\uff0c\u848b\u8001\u5e08\u5148\u4ece\u201c\u7a0b\u5e8f\u5c31\u662f\u72b6\u6001\u673a\u201d\u8fd9\u4e00\u89c6\u89d2\u5165\u624b\uff0c\u4e3a\u201c\u4e07\u6076\u4e4b\u6e90\u201d\u5e76\u53d1\u7a0b\u5e8f\u5efa\u7acb\u4e86\u72b6\u6001\u673a\u7684\u8f6c\u5316\u6a21\u578b\uff0c\u5e76\u5728\u6b64\u57fa\u7840\u4e0a\u8bb2\u6388\u4e86\u5e76\u53d1\u63a7\u5236\u7684\u5e38\u89c1\u624b\u6bb5\u4ee5\u53ca\u5e76\u53d1 bug \u7684\u5e94\u5bf9\u65b9\u6cd5\u3002\u63a5\u7740\u848b\u8001\u5e08\u5c06\u64cd\u4f5c\u7cfb\u7edf\u770b\u4f5c\u4e00\u7cfb\u5217\u5bf9\u8c61\uff08\u8fdb\u7a0b/\u7ebf\u7a0b\u3001\u5730\u5740\u7a7a\u95f4\u3001\u6587\u4ef6\u3001\u8bbe\u5907\u7b49\u7b49\uff09\u4ee5\u53ca\u64cd\u4f5c\u5b83\u4eec\u7684 API \uff08\u7cfb\u7edf\u8c03\u7528\uff09\u5e76\u7ed3\u5408\u4e30\u5bcc\u7684\u5b9e\u9645\u4f8b\u5b50\u4ecb\u7ecd\u4e86\u64cd\u4f5c\u7cfb\u7edf\u662f\u5982\u4f55\u5229\u7528\u8fd9\u7cfb\u5217\u5bf9\u8c61\u865a\u62df\u5316\u786c\u4ef6\u8d44\u6e90\u5e76\u7ed9\u5e94\u7528\u8f6f\u4ef6\u63d0\u4f9b\u5404\u7c7b\u670d\u52a1\u7684\u3002\u6700\u540e\u7684\u53ef\u6301\u4e45\u5316\u90e8\u5206\uff0c\u848b\u8001\u5e08\u4ece 1-bit \u7684\u5b58\u50a8\u4ecb\u8d28\u8bb2\u8d77\uff0c\u4e00\u6b65\u6b65\u6784\u5efa\u8d77\u5404\u7c7b\u5b58\u50a8\u8bbe\u5907\uff0c\u5e76\u901a\u8fc7\u8bbe\u5907\u9a71\u52a8\u62bd\u8c61\u51fa\u4e00\u7ec4\u63a5\u53e3\u6765\u65b9\u4fbf\u5730\u8bbe\u8ba1\u4e0e\u5b9e\u73b0\u6587\u4ef6\u7cfb\u7edf\u3002\u6211\u4e4b\u524d\u867d\u7136\u4e0a\u8fc7\u8bb8\u591a\u95e8\u64cd\u4f5c\u7cfb\u7edf\u7684\u8bfe\u7a0b\uff0c\u4f46\u8fd9\u79cd\u8bb2\u6cd5\u786e\u5b9e\u72ec\u6b64\u4e00\u5bb6\uff0c\u8ba9\u6211\u6536\u83b7\u4e86\u5f88\u591a\u72ec\u5230\u7684\u89c6\u89d2\u6765\u770b\u5f85\u7cfb\u7edf\u8f6f\u4ef6\u3002 \u8fd9\u95e8\u8bfe\u9664\u4e86\u5728\u7406\u8bba\u77e5\u8bc6\u7684\u8bb2\u6388\u90e8\u5206\u5f88\u6709\u65b0\u610f\u5916\uff0c\u6ce8\u91cd\u5b9e\u8df5\u4e5f\u662f\u848b\u8001\u5e08\u7684\u4e00\u5927\u7279\u70b9\u3002\u5728\u8bfe\u5802\u548c\u7f16\u7a0b\u4f5c\u4e1a\u91cc\uff0c\u848b\u8001\u5e08\u4f1a\u6709\u610f\u65e0\u610f\u5730\u57f9\u517b\u5927\u5bb6\u9605\u8bfb\u6e90\u7801\u3001\u67e5\u9605\u624b\u518c\u7684\u80fd\u529b\uff0c\u8fd9\u4e5f\u662f\u8ba1\u7b97\u673a\u4ece\u4e1a\u8005\u5fc5\u5907\u7684\u6280\u80fd\u3002\u5728\u5b8c\u6210\u7b2c\u4e94\u4e2a MiniLab \u671f\u95f4\uff0c\u6211\u7b2c\u4e00\u6b21\u4ed4\u4ed4\u7ec6\u7ec6\u9605\u8bfb\u4e86\u5fae\u8f6f\u7684 FAT \u6587\u4ef6\u7cfb\u7edf\u624b\u518c\uff0c\u6536\u83b7\u4e86\u4e00\u6b21\u975e\u5e38\u6709\u4ef7\u503c\u7684\u7ecf\u5386\u3002 \u7f16\u7a0b\u4f5c\u4e1a\u5171\u7531 5\u4e2a MiniLab \u548c 4\u4e2a OSLab \u7ec4\u6210\u3002\u7f8e\u4e2d\u4e0d\u8db3\u7684\u662f\u4f5c\u4e1a\u7684\u8bc4\u6d4b\u673a\u662f\u4e0d\u5bf9\u6821\u5916\u5f00\u653e\u7684\uff0c\u4e0d\u8fc7\u5728\u90ae\u4ef6\u201c\u9a9a\u6270\u201d\u540e\u848b\u8001\u5e08\u8fd8\u662f\u975e\u5e38\u6177\u6168\u5730\u8ba9\u6211\u6210\u529f\u8e6d\u8bfe\u3002\u7531\u4e8e\u8bfe\u4f59\u65f6\u95f4\u6709\u9650\u6211\u53ea\u5b8c\u6210\u4e86 5\u4e2a MiniLab\uff0c\u603b\u4f53\u4f53\u9a8c\u975e\u5e38\u68d2\u3002\u5c24\u5176\u662f\u7b2c\u4e8c\u4e2a\u534f\u7a0b\u5b9e\u9a8c\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\uff0c\u5728\u4e0d\u5230\u767e\u884c\u7684\u5c0f\u5b9e\u9a8c\u91cc\u6df1\u523b\u4f53\u9a8c\u4e86\u4e0a\u4e0b\u6587\u5207\u6362\u7684\u7f8e\u5999\u4e0e\u201c\u53ef\u6015\u201d\u3002\u53e6\u5916\u5176\u5b9e\u51e0\u4e2a MiniLab \u90fd\u80fd\u975e\u5e38\u65b9\u4fbf\u5730\u8fdb\u884c\u672c\u5730\u6d4b\u8bd5\uff0c\u5c31\u7b97\u6ca1\u6709\u8bc4\u6d4b\u673a\u4e5f\u4e0d\u5f71\u54cd\u81ea\u5b66\uff0c\u56e0\u6b64\u5e0c\u671b\u5927\u5bb6\u4e0d\u8981\u805a\u4f17\u201c\u9a9a\u6270\u201d\u8001\u5e08\u4ee5\u56fe\u8e6d\u8bfe\u3002 \u6700\u540e\u518d\u6b21\u611f\u8c22\u848b\u8001\u5e08\u8bbe\u8ba1\u5e76\u5f00\u653e\u4e86\u8fd9\u6837\u4e00\u95e8\u975e\u5e38\u68d2\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\uff0c\u8fd9\u4e5f\u662f\u672c\u4e66\u6536\u5f55\u7684\u7b2c\u4e00\u95e8\u56fd\u5185\u9ad8\u6821\u81ea\u4e3b\u5f00\u8bbe\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002\u6b63\u662f\u6709\u848b\u8001\u5e08\u8fd9\u4e9b\u5e74\u8f7b\u7684\u65b0\u751f\u4ee3\u6559\u5e08\u5728\u7e41\u91cd\u7684 Tenure \u8003\u6838\u4e4b\u4f59\u7684\u7528\u7231\u53d1\u7535\uff0c\u624d\u8ba9\u65e0\u6570\u5b66\u5b50\u6536\u83b7\u4e86\u96be\u5fd8\u7684\u672c\u79d1\u751f\u6daf\u3002\u4e5f\u671f\u5f85\u56fd\u5185\u80fd\u6709\u66f4\u591a\u8fd9\u6837\u7684\u826f\u5fc3\u597d\u8bfe\uff0c\u6211\u4e5f\u4f1a\u7b2c\u4e00\u65f6\u95f4\u6536\u5f55\u8fdb\u672c\u4e66\u4e2d\u8ba9\u66f4\u591a\u4eba\u53d7\u76ca\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://jyywiki.cn/OS/2022/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://space.bilibili.com/202224425/channel/collectiondetail?sid=192498 \u8bfe\u7a0b\u6559\u6750\uff1a http://pages.cs.wisc.edu/~remzi/OSTEP/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://jyywiki.cn/OS/2022/","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/#_3","text":"\u6309\u848b\u8001\u5e08\u7684\u8981\u6c42\uff0c\u6211\u7684\u4f5c\u4e1a\u5b9e\u73b0\u6ca1\u6709\u5f00\u6e90\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/","text":"MIT18.06: Linear Algebra Descriptions Offered by: MIT Prerequisites: English Programming languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: Varying from person to person Gilbert Strang, a great mathematician at MIT, still insists on teaching in his eighties. His classic text book Introduction to Linear Algebra has been adopted as an official textbook by Tsinghua University. After reading the PDF version, I felt deeply guilty and spent more than 200 yuan to purchase a genuine version in English as collection. The cover of this book is attached below. If you can fully understand the mathematical meaning of the cover picture, then your understanding of linear algebra will definitely reach a new height. In addition to the course materials, the famous Youtuber 3Blue1Brown 's video series The Essence of Linear Algebra are also great learning resources. Resources Course Website: https://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebra-fall-2011/syllabus/ Recordings: refer to the course website Textbook: Introduction to Linear Algebra, Gilbert Strang Assignments: refer to the course website","title":"MIT18.06: Linear Algebra"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/#mit1806-linear-algebra","text":"","title":"MIT18.06: Linear Algebra"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/#descriptions","text":"Offered by: MIT Prerequisites: English Programming languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: Varying from person to person Gilbert Strang, a great mathematician at MIT, still insists on teaching in his eighties. His classic text book Introduction to Linear Algebra has been adopted as an official textbook by Tsinghua University. After reading the PDF version, I felt deeply guilty and spent more than 200 yuan to purchase a genuine version in English as collection. The cover of this book is attached below. If you can fully understand the mathematical meaning of the cover picture, then your understanding of linear algebra will definitely reach a new height. In addition to the course materials, the famous Youtuber 3Blue1Brown 's video series The Essence of Linear Algebra are also great learning resources.","title":"Descriptions"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/#resources","text":"Course Website: https://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebra-fall-2011/syllabus/ Recordings: refer to the course website Textbook: Introduction to Linear Algebra, Gilbert Strang Assignments: refer to the course website","title":"Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/","text":"MIT Calculus Course Descriptions Offered by: MIT Prerequisites: English Programming Languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: Varying from person to person The calculus course at MIT consists of MIT18.01: Single Variable Calculus and MIT18.02: Multivariable Calculus. If you are confident in your math, you can just read the course notes, which are written in a very simple and vivid way, so that you will not be tired of doing homework but can really see the essence of calculus. In addition to the course materials, the famous Youtuber 3Blue1Brown 's video series The Essence of Calculus are also great learning resources. Course Resources Course Website: 18.01 , 18.02 Recordings: refer to course website Textbook: refer to course website Assignments: refer to course website","title":"MIT18.01/18.02: Calculus"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/#mit-calculus-course","text":"","title":"MIT Calculus Course"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/#descriptions","text":"Offered by: MIT Prerequisites: English Programming Languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: Varying from person to person The calculus course at MIT consists of MIT18.01: Single Variable Calculus and MIT18.02: Multivariable Calculus. If you are confident in your math, you can just read the course notes, which are written in a very simple and vivid way, so that you will not be tired of doing homework but can really see the essence of calculus. In addition to the course materials, the famous Youtuber 3Blue1Brown 's video series The Essence of Calculus are also great learning resources.","title":"Descriptions"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/#course-resources","text":"Course Website: 18.01 , 18.02 Recordings: refer to course website Textbook: refer to course website Assignments: refer to course website","title":"Course Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/","text":"MIT6.050J: Information theory and Entropy Descriptions Offered by: MIT Prerequisites: None Programming Languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is MIT's introductory information theory course for freshmen, Professor Penfield has written a special textbook for this course as course notes, which is in-depth and interesting. Course Resources Course Website: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-050j-information-and-entropy-spring-2008/index.htm Textbook: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-050j-information-and-entropy-spring-2008/syllabus/MIT6_050JS08_textbook.pdf Assignments: see the course website for details, including written assignments and Matlab programming assignments.","title":"MIT6.050J: Information theory and Entropy"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/#mit6050j-information-theory-and-entropy","text":"","title":"MIT6.050J: Information theory and Entropy"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/#descriptions","text":"Offered by: MIT Prerequisites: None Programming Languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is MIT's introductory information theory course for freshmen, Professor Penfield has written a special textbook for this course as course notes, which is in-depth and interesting.","title":"Descriptions"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/#course-resources","text":"Course Website: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-050j-information-and-entropy-spring-2008/index.htm Textbook: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-050j-information-and-entropy-spring-2008/syllabus/MIT6_050JS08_textbook.pdf Assignments: see the course website for details, including written assignments and Matlab programming assignments.","title":"Course Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/","text":"MIT 6.042J: Mathematics for Computer Science Descriptions Offered by: MIT Prerequisites: Calculus, Linear Algebra Programming Languages: Python preferred Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 50-70 hours This is MIT\u2018s discrete mathematics and probability course taught by the notable Tom Leighton (co-founder of Akamai). It is very useful for learning algorithms subsequently. Course Resources Course Website: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/ Recordings: https://www.youtube.com/playlist?list=PLB7540DEDD482705B Assignments: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/assignments/","title":"MIT 6.042J: Mathematics for Computer Science"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/#mit-6042j-mathematics-for-computer-science","text":"","title":"MIT 6.042J: Mathematics for Computer Science"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/#descriptions","text":"Offered by: MIT Prerequisites: Calculus, Linear Algebra Programming Languages: Python preferred Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 50-70 hours This is MIT\u2018s discrete mathematics and probability course taught by the notable Tom Leighton (co-founder of Akamai). It is very useful for learning algorithms subsequently.","title":"Descriptions"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/#course-resources","text":"Course Website: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/ Recordings: https://www.youtube.com/playlist?list=PLB7540DEDD482705B Assignments: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/assignments/","title":"Course Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/","text":"UCB CS126 : Probability theory Descriptions Offered by: UC Berkeley Prerequisites: CS70, Calculus, Linear Algebra Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is Berkeley's advanced probability course, which involves relatively advanced theoretical content such as statistics and stochastic processes, so a solid mathematical foundation is required. But as long as you stick with it you will certainly take your mastery of probability theory to a new level. The course is designed by Professor Jean Walrand, who has written an accompanying textbook, Probability in Electrical Engineering and Computer Science , in which each chapter uses a specific algorithm as a practical example to demonstrate the application of theory in practice. Such as PageRank, Route Planing, Speech Recognition, etc. The book is open source and can be downloaded as a free PDF or Epub version. Jean Walrand has also created accompanying Python implementations of the examples throughout the book, which are published online as Jupyter Notebook that readers can modify, debug and run them online interactively. In addition to the Homework, nine Labs will allow you to use probability theory to solve practical problems in Python. Course Resources Course Website: https://inst.eecs.berkeley.edu/~ee126/fa20/content.html Textbook: PDF , Epub , Jupyter Notebook Assignments: refer to the course website. Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/EECS126 - GitHub","title":"UCB CS126: probability theory"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#ucb-cs126-probability-theory","text":"","title":"UCB CS126 : Probability theory"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#descriptions","text":"Offered by: UC Berkeley Prerequisites: CS70, Calculus, Linear Algebra Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is Berkeley's advanced probability course, which involves relatively advanced theoretical content such as statistics and stochastic processes, so a solid mathematical foundation is required. But as long as you stick with it you will certainly take your mastery of probability theory to a new level. The course is designed by Professor Jean Walrand, who has written an accompanying textbook, Probability in Electrical Engineering and Computer Science , in which each chapter uses a specific algorithm as a practical example to demonstrate the application of theory in practice. Such as PageRank, Route Planing, Speech Recognition, etc. The book is open source and can be downloaded as a free PDF or Epub version. Jean Walrand has also created accompanying Python implementations of the examples throughout the book, which are published online as Jupyter Notebook that readers can modify, debug and run them online interactively. In addition to the Homework, nine Labs will allow you to use probability theory to solve practical problems in Python.","title":"Descriptions"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#course-resources","text":"Course Website: https://inst.eecs.berkeley.edu/~ee126/fa20/content.html Textbook: PDF , Epub , Jupyter Notebook Assignments: refer to the course website.","title":"Course Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/EECS126 - GitHub","title":"Personal Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/","text":"UCB CS70: Discrete Math and Probability Theory Descriptions Offered by: UC Berkeley Prerequisites: None Programming Languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 60 hours This is Berkeley's introductory discrete mathematics course. The biggest highlight of this course is that it not only teaches you theoretical knowledge, but also introduce the applications of theoretical knowledge in practical algorithms in each module. In this way, students majoring in CS can understand the essence of theoretical knowledge and use it in practice rather than struggle with cold formal mathematical symbols. Specific theory-algorithm correspondences are listed below. Logic proof: stable matching algorithm Graph theory: network topology design Basic number theory: RSA algorithm Polynomial ring: error-correcting code design Probability theory: Hash table design, load balancing, etc. The course notes are also written in a very in-depth manner, with derivations of formulas and practical examples, providing a good reading experience. Course Resources Course Website: http://www.eecs70.org/ Textbook: refer to the course website Assignments: refer to the course website Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/UCB-CS70 - GitHub","title":"UCB CS70: discrete Math and probability theory"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#ucb-cs70-discrete-math-and-probability-theory","text":"","title":"UCB CS70: Discrete Math and Probability Theory"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#descriptions","text":"Offered by: UC Berkeley Prerequisites: None Programming Languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 60 hours This is Berkeley's introductory discrete mathematics course. The biggest highlight of this course is that it not only teaches you theoretical knowledge, but also introduce the applications of theoretical knowledge in practical algorithms in each module. In this way, students majoring in CS can understand the essence of theoretical knowledge and use it in practice rather than struggle with cold formal mathematical symbols. Specific theory-algorithm correspondences are listed below. Logic proof: stable matching algorithm Graph theory: network topology design Basic number theory: RSA algorithm Polynomial ring: error-correcting code design Probability theory: Hash table design, load balancing, etc. The course notes are also written in a very in-depth manner, with derivations of formulas and practical examples, providing a good reading experience.","title":"Descriptions"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#course-resources","text":"Course Website: http://www.eecs70.org/ Textbook: refer to the course website Assignments: refer to the course website","title":"Course Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/UCB-CS70 - GitHub","title":"Personal Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/","text":"The Information Theory, Pattern Recognition, and Neural Networks Descriptions Offered by: Cambridge Prerequisites: Calculus, Linear Algebra, Probabilities and Statistics Programming Languages: Anything would be OK, Python preferred Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 30-50 hours This is a course on information theory taught by Sir David MacKay at the University of Cambridge. The professor is a very famous scholar in information theory and neural networks, and the textbook for the course is a classic work in the field of information theory. Unfortunately, those whom God loves die young ... Course Resources Course Website: http://www.inference.org.uk/mackay/itila/ Recordings: https://www.youtube.com/playlist?list=PLruBu5BI5n4aFpG32iMbdWoRVAA-Vcso6 Textbooks: Information Theory, Inference, and Learning Algorithms Assignments: At the end of each lesson video, there are post-lesson exercises from the textbook R.I.P Prof. David MacKay","title":"The Information Theory, Pattern Recognition, and Neural Networks"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/#the-information-theory-pattern-recognition-and-neural-networks","text":"","title":"The Information Theory, Pattern Recognition, and Neural Networks"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/#descriptions","text":"Offered by: Cambridge Prerequisites: Calculus, Linear Algebra, Probabilities and Statistics Programming Languages: Anything would be OK, Python preferred Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 30-50 hours This is a course on information theory taught by Sir David MacKay at the University of Cambridge. The professor is a very famous scholar in information theory and neural networks, and the textbook for the course is a classic work in the field of information theory. Unfortunately, those whom God loves die young ...","title":"Descriptions"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/#course-resources","text":"Course Website: http://www.inference.org.uk/mackay/itila/ Recordings: https://www.youtube.com/playlist?list=PLruBu5BI5n4aFpG32iMbdWoRVAA-Vcso6 Textbooks: Information Theory, Inference, and Learning Algorithms Assignments: At the end of each lesson video, there are post-lesson exercises from the textbook","title":"Course Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/#rip-prof-david-mackay","text":"","title":"R.I.P Prof. David MacKay"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/","text":"Stanford EE364A: Convex Optimization Descriptions Offered by: Stanford Prerequisites: Python, Calculus, Linear Algebra, Probability Theory, Numerical Analysis Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours Professor Stephen Boyd is a great expert in the field of convex optimization and his textbook Convex Optimization has been adopted by many prestigious universities. His team has also developed a programming framework for solving common convex optimization problems in Python, Julia, and other popular programming languages, and its homework assignments also use this programming framework to solve real-life convex optimization problems. In practice, you will deeply understand that for the same problem, a small change in the modeling process can make a world of difference in the difficulty of solving the equation. It is an art to make the equations you formulate \"convex\". Course Resources Course Website: http://stanford.edu/class/ee364a/index.html Recordings: https://www.youtube.com/watch?v=VNON98dKjno&list=PLoCMsyE1cvdXeoqd1hGaMBsCAQQ6otUtO Textbook: Convex Optimization Assignments: refer to the course website Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPic/Standford_CVX101 - GitHub","title":"Standford EE364A: Convex Optimization"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#stanford-ee364a-convex-optimization","text":"","title":"Stanford EE364A: Convex Optimization"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#descriptions","text":"Offered by: Stanford Prerequisites: Python, Calculus, Linear Algebra, Probability Theory, Numerical Analysis Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours Professor Stephen Boyd is a great expert in the field of convex optimization and his textbook Convex Optimization has been adopted by many prestigious universities. His team has also developed a programming framework for solving common convex optimization problems in Python, Julia, and other popular programming languages, and its homework assignments also use this programming framework to solve real-life convex optimization problems. In practice, you will deeply understand that for the same problem, a small change in the modeling process can make a world of difference in the difficulty of solving the equation. It is an art to make the equations you formulate \"convex\".","title":"Descriptions"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#course-resources","text":"Course Website: http://stanford.edu/class/ee364a/index.html Recordings: https://www.youtube.com/watch?v=VNON98dKjno&list=PLoCMsyE1cvdXeoqd1hGaMBsCAQQ6otUtO Textbook: Convex Optimization Assignments: refer to the course website","title":"Course Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPic/Standford_CVX101 - GitHub","title":"Personal Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/","text":"MIT18.330 : Introduction to numerical analysis Descriptions Offered by: MIT Prerequisites: Calculus, Linear Algebra, Probability theory Programming Languages: Julia Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours While the computational power of computers has been helping people to push boundaries of science, there is a natural barrier between the discrete nature of computers and this continuous world, and how to use discrete representations to estimate and approximate those mathematically continuous concepts is an important theme in numerical analysis. This course will explore various numerical analysis methods in the areas of floating-point representation, equation solving, linear algebra, calculus, and differential equations, allowing you to understand (1) how to design estimation (2) how to estimate errors (3) how to implement algorithms in Julia. There are also plenty of programming assignments to practice these ideas. The designers of this course have also written an open source textbook for this course (see the link below) with plenty of Julia examples. Course Resources Course Website: https://github.com/mitmath/18330 Textbook: https://fncbook.github.io/fnc/frontmatter.html Assignments: 10 problem sets Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPic/MIT18.330 - GitHub","title":"MIT18.330: Introduction to numerical analysis"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#mit18330-introduction-to-numerical-analysis","text":"","title":"MIT18.330 : Introduction to numerical analysis"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#descriptions","text":"Offered by: MIT Prerequisites: Calculus, Linear Algebra, Probability theory Programming Languages: Julia Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours While the computational power of computers has been helping people to push boundaries of science, there is a natural barrier between the discrete nature of computers and this continuous world, and how to use discrete representations to estimate and approximate those mathematically continuous concepts is an important theme in numerical analysis. This course will explore various numerical analysis methods in the areas of floating-point representation, equation solving, linear algebra, calculus, and differential equations, allowing you to understand (1) how to design estimation (2) how to estimate errors (3) how to implement algorithms in Julia. There are also plenty of programming assignments to practice these ideas. The designers of this course have also written an open source textbook for this course (see the link below) with plenty of Julia examples.","title":"Descriptions"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#course-resources","text":"Course Website: https://github.com/mitmath/18330 Textbook: https://fncbook.github.io/fnc/frontmatter.html Assignments: 10 problem sets","title":"Course Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPic/MIT18.330 - GitHub","title":"Personal Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/","text":"CMU 15-445: Database Systems Descriptions Offered by: CMU Prerequisites: C++, Data Structures and Algorithms Programming Languages: C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is an introductory course on databases at CMU taught by Andy Pavlo, a great expert in the field of databases. It teaches the basic topics of database systems from the bottom up, covering storage management, indexing, query processing, concurrency control, transactions, and so on. The course project Bustub is an educational database system developed at CMU by the course instructors. During the semester, you will modify this database to implement the functions mentioned above. Moreover, as a well-written project in C++, Bustub obeys many modern development best practices, such as code specification, unit testing, cmake module build, etc. So it can be an excellent open source project to study. Resources Course Website: Fall2019 , Fall2020 , Fall2021 Recording: refer to the course website. Textbook: Database System Concepts Assignments: 4 Projects In Fall 2019, the second Project is to implement a hash table, and the fourth Project is to implement Logging, Recovery, and Checkpoints in your database system. In Fall 2020, the second Project is to implement B+Tree dynamic index structure, and the fourth Project is to implement concurrency control. In Fall 2021, the first Project is to implement a buffer pool, the second Project is to implement a hash table, and the fourth Project is to implement concurrency control. If you have more time you can try them all, and when you do not understand the textbook very well, trying to implement the real system will deepen your understanding. Personal Resources All the resources and assignments used by @ysj1173886760 in this course are maintained in ysj1173886760/Learning:db - GitHub . Due to Andy's request, the repository does not contain the source code for the project, only the solution for homework. In particular, for Homework1, @ysj1173886760 wrote a shell script to help you evaluate your solution automatically. After the course, it is recommended to read the paper Architecture Of a Database System . This paper provides an overview of the overall architecture of database systems so that you can have a more comprehensive view of the database. Advanced courses CMU15-721 is a graduate-level course on advanced database system topics. It mainly focuses on the in-memory database, and each class has a corresponding paper to read. It is suitable for those who wish to do research in the field of databases. @ysj1173886760 is currently following up on this course and will create a pull request here after completing it to provide advanced guidance.","title":"CMU 15-445: Database Systems"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#cmu-15-445-database-systems","text":"","title":"CMU 15-445: Database Systems"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#descriptions","text":"Offered by: CMU Prerequisites: C++, Data Structures and Algorithms Programming Languages: C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is an introductory course on databases at CMU taught by Andy Pavlo, a great expert in the field of databases. It teaches the basic topics of database systems from the bottom up, covering storage management, indexing, query processing, concurrency control, transactions, and so on. The course project Bustub is an educational database system developed at CMU by the course instructors. During the semester, you will modify this database to implement the functions mentioned above. Moreover, as a well-written project in C++, Bustub obeys many modern development best practices, such as code specification, unit testing, cmake module build, etc. So it can be an excellent open source project to study.","title":"Descriptions"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#resources","text":"Course Website: Fall2019 , Fall2020 , Fall2021 Recording: refer to the course website. Textbook: Database System Concepts Assignments: 4 Projects In Fall 2019, the second Project is to implement a hash table, and the fourth Project is to implement Logging, Recovery, and Checkpoints in your database system. In Fall 2020, the second Project is to implement B+Tree dynamic index structure, and the fourth Project is to implement concurrency control. In Fall 2021, the first Project is to implement a buffer pool, the second Project is to implement a hash table, and the fourth Project is to implement concurrency control. If you have more time you can try them all, and when you do not understand the textbook very well, trying to implement the real system will deepen your understanding.","title":"Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#personal-resources","text":"All the resources and assignments used by @ysj1173886760 in this course are maintained in ysj1173886760/Learning:db - GitHub . Due to Andy's request, the repository does not contain the source code for the project, only the solution for homework. In particular, for Homework1, @ysj1173886760 wrote a shell script to help you evaluate your solution automatically. After the course, it is recommended to read the paper Architecture Of a Database System . This paper provides an overview of the overall architecture of database systems so that you can have a more comprehensive view of the database.","title":"Personal Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#advanced-courses","text":"CMU15-721 is a graduate-level course on advanced database system topics. It mainly focuses on the in-memory database, and each class has a corresponding paper to read. It is suitable for those who wish to do research in the field of databases. @ysj1173886760 is currently following up on this course and will create a pull request here after completing it to provide advanced guidance.","title":"Advanced courses"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15799/","text":"CMU 15-799: Special Topics in Database Systems \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aCMU 15-445 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u76ee\u524d\u53ea\u5f00\u4e86\u4e24\u6b21\uff1afall2013 \u548c spring2022\uff0c\u8ba8\u8bba\u4e86\u6570\u636e\u5e93\u9886\u57df\u7684\u4e00\u4e9b\u524d\u6cbf\u4e3b\u9898\u3002fall2013 \u8ba8\u8bba\u4e86 Streaming\u3001Graph DB\u3001NVM \u7b49\uff0cspring2022 \u4e3b\u8981\u8ba8\u8bba Self-Driving DBMS\uff0c\u90fd\u63d0\u4f9b\u6709\u76f8\u5173\u8bba\u6587\u3002 spring2022 \u7248\u8bfe\u7a0b\u4efb\u52a1\uff1a \u4efb\u52a1\u4e00\uff1a\u57fa\u4e8e PostgreSQL \u8fdb\u884c\u624b\u52a8\u6027\u80fd\u8c03\u4f18\uff1b \u4efb\u52a1\u4e8c\uff1a\u57fa\u4e8e NoisePage Pilot \u6539\u8fdb Self-Driving DBMS\uff0c\u4e0d\u9650\u7279\u6027\u3002 \u6388\u8bfe\u66f4\u8d34\u8fd1\u8bb2\u5ea7\u7684\u5f62\u5f0f\uff0c\u7f16\u7a0b\u4efb\u52a1\u8f83\u5c11\u3002\u5bf9\u4e00\u822c\u540c\u5b66\u53ef\u4ee5\u5f00\u62d3\u4e00\u4e0b\u89c6\u91ce\uff0c\u5bf9\u4e13\u7cbe\u6570\u636e\u5e93\u7684\u540c\u5b66\u53ef\u80fd\u5e2e\u52a9\u8f83\u5927\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u4e3b\u9875 CMU15-799 - Special Topics in Database Systems CMU15-799 - Special Topics: Self-Driving Database Management Systems \u8bfe\u7a0b\u89c6\u9891\uff1a\u6682\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a2 Projects + 1 Group Project","title":"CMU 15-799: Special Topics in Database Systems"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15799/#cmu-15-799-special-topics-in-database-systems","text":"","title":"CMU 15-799: Special Topics in Database Systems"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15799/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aCMU 15-445 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u76ee\u524d\u53ea\u5f00\u4e86\u4e24\u6b21\uff1afall2013 \u548c spring2022\uff0c\u8ba8\u8bba\u4e86\u6570\u636e\u5e93\u9886\u57df\u7684\u4e00\u4e9b\u524d\u6cbf\u4e3b\u9898\u3002fall2013 \u8ba8\u8bba\u4e86 Streaming\u3001Graph DB\u3001NVM \u7b49\uff0cspring2022 \u4e3b\u8981\u8ba8\u8bba Self-Driving DBMS\uff0c\u90fd\u63d0\u4f9b\u6709\u76f8\u5173\u8bba\u6587\u3002 spring2022 \u7248\u8bfe\u7a0b\u4efb\u52a1\uff1a \u4efb\u52a1\u4e00\uff1a\u57fa\u4e8e PostgreSQL \u8fdb\u884c\u624b\u52a8\u6027\u80fd\u8c03\u4f18\uff1b \u4efb\u52a1\u4e8c\uff1a\u57fa\u4e8e NoisePage Pilot \u6539\u8fdb Self-Driving DBMS\uff0c\u4e0d\u9650\u7279\u6027\u3002 \u6388\u8bfe\u66f4\u8d34\u8fd1\u8bb2\u5ea7\u7684\u5f62\u5f0f\uff0c\u7f16\u7a0b\u4efb\u52a1\u8f83\u5c11\u3002\u5bf9\u4e00\u822c\u540c\u5b66\u53ef\u4ee5\u5f00\u62d3\u4e00\u4e0b\u89c6\u91ce\uff0c\u5bf9\u4e13\u7cbe\u6570\u636e\u5e93\u7684\u540c\u5b66\u53ef\u80fd\u5e2e\u52a9\u8f83\u5927\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15799/#_2","text":"\u8bfe\u7a0b\u4e3b\u9875 CMU15-799 - Special Topics in Database Systems CMU15-799 - Special Topics: Self-Driving Database Management Systems \u8bfe\u7a0b\u89c6\u9891\uff1a\u6682\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a2 Projects + 1 Group Project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/","text":"Caltech CS 122: Database System Implementation \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCaltech \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u52a0\u5dde\u7406\u5de5\u7684\u8fd9\u95e8\u8bfe\uff0c\u4e0d\u540c\u4e8e\u6ca1\u6709\u63d0\u4f9b SQL \u5c42\u529f\u80fd\u7684 CMU15-445 \u8bfe\u7a0b\u3002CS122 \u8bfe\u7a0b Lab \u7684\u4fa7\u91cd\u70b9\u5728\u4e8e SQL \u5c42\u7684\u76f8\u5173\u5b9e\u73b0\uff0c\u6d89\u53ca\u67e5\u8be2\u4f18\u5316\u5668\u7684\u5404\u4e2a\u6a21\u5757\uff0c\u6bd4\u5982SQL\u7684\u89e3\u6790\uff0cTranslate\uff0c\u5982\u4f55\u5b9e\u73b0 Join\uff0c\u7edf\u8ba1\u4fe1\u606f\u4ee5\u53ca\u4ee3\u4ef7\u4f30\u8ba1\uff0c\u5b50\u67e5\u8be2\u5b9e\u73b0\uff0cAgg\uff0cGroup By \u7684\u5b9e\u73b0\u7b49\u3002\u9664\u6b64\u4e4b\u5916\uff0c\u8fd8\u6709 B+\u6811\uff0cWAL \u76f8\u5173\u5b9e\u9a8c\u3002\u672c\u95e8\u8bfe\u7a0b\u9002\u5408\u5728\u5b66\u5b8c CMU15-445 \u8bfe\u7a0b\u4e4b\u540e\uff0c\u5bf9\u67e5\u8be2\u4f18\u5316\u76f8\u5173\u5185\u5bb9\u6709\u5174\u8da3\u7684\u540c\u5b66\u3002 \u4e0b\u9762\u4ecb\u7ecd\u4e00\u4e0b\u8fd9\u95e8\u8bfe\u7684\u524d 3 \u4e2a Assignment \u4e5f\u5c31\u662f\u5b9e\u9a8c Lab \u6240\u8981\u5b9e\u73b0\u7684\u529f\u80fd\uff1a Assignment1 \u4e3a NanoDB \u63d0\u4f9b delete\uff0cupdate \u8bed\u53e5\u7684\u652f\u6301\u3002 \u4e3a Buffer Pool Manager \u6dfb\u52a0\u5408\u9002\u7684 pin/unpin \u4ee3\u7801\u3002 \u63d0\u5347 insert \u8bed\u53e5\u7684\u6027\u80fd\uff0c \u540c\u65f6\u4e0d\u4f7f\u6570\u636e\u5e93\u6587\u4ef6\u5927\u5c0f\u8fc7\u5206\u81a8\u80c0\u3002 Assignment2 \u5b9e\u73b0\u4e00\u4e2a\u7b80\u5355\u7684\u8ba1\u5212\u751f\u6210\u5668\uff0c\u5c06\u5404\u79cd\u5df2\u7ecf Parser \u8fc7\u7684 SQL \u8bed\u53e5\u8f6c\u5316\u4e3a\u53ef\u6267\u884c\u7684\u6267\u884c\u8ba1\u5212\u3002 \u4f7f\u7528 nested-loop join \u7b97\u6cd5\uff0c\u5b9e\u73b0\u652f\u6301 inner- and outer-join \u7684 Join \u8ba1\u5212\u8282\u70b9\u3002 \u6dfb\u52a0\u4e00\u4e9b\u5355\u5143\u6d4b\u8bd5\uff0c \u4fdd\u8bc1 inner- and outer-join \u529f\u80fd\u5b9e\u73b0\u6b63\u786e\u3002 Assignment3 \u5b8c\u6210\u6536\u96c6\u8868\u7684\u7edf\u8ba1\u4fe1\u606f\u3002 \u5b8c\u6210\u5404\u79cd\u8ba1\u5212\u8282\u70b9\u7684\u8ba1\u5212\u6210\u672c\u8ba1\u7b97\u3002 \u8ba1\u7b97\u53ef\u51fa\u73b0\u5728\u6267\u884c\u8ba1\u5212\u4e2d\u7684\u5404\u79cd\u8c13\u8bcd\u7684\u9009\u62e9\u6027\u3002 \u6839\u636e\u8c13\u8bcd\u66f4\u65b0\u8ba1\u5212\u8282\u70b9\u8f93\u51fa\u7684\u5143\u7ec4\u7edf\u8ba1\u4fe1\u606f\u3002 \u5269\u4f59 Assignment \u548c Challenges \u53ef\u4ee5\u67e5\u770b\u8bfe\u7a0b\u4ecb\u7ecd\uff0c\u63a8\u8350\u4f7f\u7528 IDEA \u6253\u5f00\u5de5\u7a0b\uff0cMaven \u6784\u5efa\uff0c\u6ce8\u610f\u65e5\u5fd7\u76f8\u5173\u914d\u7f6e\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://courses.cms.caltech.edu/cs122/ \u8bfe\u7a0b\u4ee3\u7801\uff1a https://gitlab.caltech.edu/cs122-19wi \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 Assignments + 2 Challenges","title":"Caltech CS122: Database System Implementation"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#caltech-cs-122-database-system-implementation","text":"","title":"Caltech CS 122: Database System Implementation"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCaltech \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u52a0\u5dde\u7406\u5de5\u7684\u8fd9\u95e8\u8bfe\uff0c\u4e0d\u540c\u4e8e\u6ca1\u6709\u63d0\u4f9b SQL \u5c42\u529f\u80fd\u7684 CMU15-445 \u8bfe\u7a0b\u3002CS122 \u8bfe\u7a0b Lab \u7684\u4fa7\u91cd\u70b9\u5728\u4e8e SQL \u5c42\u7684\u76f8\u5173\u5b9e\u73b0\uff0c\u6d89\u53ca\u67e5\u8be2\u4f18\u5316\u5668\u7684\u5404\u4e2a\u6a21\u5757\uff0c\u6bd4\u5982SQL\u7684\u89e3\u6790\uff0cTranslate\uff0c\u5982\u4f55\u5b9e\u73b0 Join\uff0c\u7edf\u8ba1\u4fe1\u606f\u4ee5\u53ca\u4ee3\u4ef7\u4f30\u8ba1\uff0c\u5b50\u67e5\u8be2\u5b9e\u73b0\uff0cAgg\uff0cGroup By \u7684\u5b9e\u73b0\u7b49\u3002\u9664\u6b64\u4e4b\u5916\uff0c\u8fd8\u6709 B+\u6811\uff0cWAL \u76f8\u5173\u5b9e\u9a8c\u3002\u672c\u95e8\u8bfe\u7a0b\u9002\u5408\u5728\u5b66\u5b8c CMU15-445 \u8bfe\u7a0b\u4e4b\u540e\uff0c\u5bf9\u67e5\u8be2\u4f18\u5316\u76f8\u5173\u5185\u5bb9\u6709\u5174\u8da3\u7684\u540c\u5b66\u3002 \u4e0b\u9762\u4ecb\u7ecd\u4e00\u4e0b\u8fd9\u95e8\u8bfe\u7684\u524d 3 \u4e2a Assignment \u4e5f\u5c31\u662f\u5b9e\u9a8c Lab \u6240\u8981\u5b9e\u73b0\u7684\u529f\u80fd\uff1a","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#assignment1","text":"\u4e3a NanoDB \u63d0\u4f9b delete\uff0cupdate \u8bed\u53e5\u7684\u652f\u6301\u3002 \u4e3a Buffer Pool Manager \u6dfb\u52a0\u5408\u9002\u7684 pin/unpin \u4ee3\u7801\u3002 \u63d0\u5347 insert \u8bed\u53e5\u7684\u6027\u80fd\uff0c \u540c\u65f6\u4e0d\u4f7f\u6570\u636e\u5e93\u6587\u4ef6\u5927\u5c0f\u8fc7\u5206\u81a8\u80c0\u3002","title":"Assignment1"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#assignment2","text":"\u5b9e\u73b0\u4e00\u4e2a\u7b80\u5355\u7684\u8ba1\u5212\u751f\u6210\u5668\uff0c\u5c06\u5404\u79cd\u5df2\u7ecf Parser \u8fc7\u7684 SQL \u8bed\u53e5\u8f6c\u5316\u4e3a\u53ef\u6267\u884c\u7684\u6267\u884c\u8ba1\u5212\u3002 \u4f7f\u7528 nested-loop join \u7b97\u6cd5\uff0c\u5b9e\u73b0\u652f\u6301 inner- and outer-join \u7684 Join \u8ba1\u5212\u8282\u70b9\u3002 \u6dfb\u52a0\u4e00\u4e9b\u5355\u5143\u6d4b\u8bd5\uff0c \u4fdd\u8bc1 inner- and outer-join \u529f\u80fd\u5b9e\u73b0\u6b63\u786e\u3002","title":"Assignment2"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#assignment3","text":"\u5b8c\u6210\u6536\u96c6\u8868\u7684\u7edf\u8ba1\u4fe1\u606f\u3002 \u5b8c\u6210\u5404\u79cd\u8ba1\u5212\u8282\u70b9\u7684\u8ba1\u5212\u6210\u672c\u8ba1\u7b97\u3002 \u8ba1\u7b97\u53ef\u51fa\u73b0\u5728\u6267\u884c\u8ba1\u5212\u4e2d\u7684\u5404\u79cd\u8c13\u8bcd\u7684\u9009\u62e9\u6027\u3002 \u6839\u636e\u8c13\u8bcd\u66f4\u65b0\u8ba1\u5212\u8282\u70b9\u8f93\u51fa\u7684\u5143\u7ec4\u7edf\u8ba1\u4fe1\u606f\u3002 \u5269\u4f59 Assignment \u548c Challenges \u53ef\u4ee5\u67e5\u770b\u8bfe\u7a0b\u4ecb\u7ecd\uff0c\u63a8\u8350\u4f7f\u7528 IDEA \u6253\u5f00\u5de5\u7a0b\uff0cMaven \u6784\u5efa\uff0c\u6ce8\u610f\u65e5\u5fd7\u76f8\u5173\u914d\u7f6e\u3002","title":"Assignment3"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://courses.cms.caltech.edu/cs122/ \u8bfe\u7a0b\u4ee3\u7801\uff1a https://gitlab.caltech.edu/cs122-19wi \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 Assignments + 2 Challenges","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/","text":"UCB CS186: Introduction to Database System Descriptions Offered by: UC Berkeley Prerequisites: CS61A, CS61B, CS61C Programming Languages: Java Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours How to write SQL queries? How are SQL commands disassembled, optimized, and transformed into on-disk query commands step by step? How to implement a high-concurrency database? How to implement database failure recovery? What is NoSQL? This course elaborates on the internal details of relational databases. Besides the theoretical knowledge, you will use Java to implement a real relational database that supports SQL concurrent query, B+ tree index, and failure recovery. From a practical point of view, you will have the opportunity to write SQL queries and NoSQL queries in course projects, which is very helpful for building full-stack projects. Course Resources Course Website: https://cs186berkeley.net/ Recordings: https://www.youtube.com/playlist?list=PLYp4IGUhNFmw8USiYMJvCUjZe79fvyYge Assignments: https://cs186.gitbook.io/project/ Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS186 - GitHub .","title":"UCB CS186: Introduction to Database System"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#ucb-cs186-introduction-to-database-system","text":"","title":"UCB CS186: Introduction to Database System"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#descriptions","text":"Offered by: UC Berkeley Prerequisites: CS61A, CS61B, CS61C Programming Languages: Java Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours How to write SQL queries? How are SQL commands disassembled, optimized, and transformed into on-disk query commands step by step? How to implement a high-concurrency database? How to implement database failure recovery? What is NoSQL? This course elaborates on the internal details of relational databases. Besides the theoretical knowledge, you will use Java to implement a real relational database that supports SQL concurrent query, B+ tree index, and failure recovery. From a practical point of view, you will have the opportunity to write SQL queries and NoSQL queries in course projects, which is very helpful for building full-stack projects.","title":"Descriptions"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#course-resources","text":"Course Website: https://cs186berkeley.net/ Recordings: https://www.youtube.com/playlist?list=PLYp4IGUhNFmw8USiYMJvCUjZe79fvyYge Assignments: https://cs186.gitbook.io/project/","title":"Course Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS186 - GitHub .","title":"Personal Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS346/","text":"Stanford CS 346: Database System Implementation \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 RedBase \u662f cs346 \u7684\u4e00\u4e2a\u9879\u76ee\uff0c\u5b9e\u73b0\u4e86\u4e00\u4e2a\u7b80\u6613\u7684\u6570\u636e\u5e93\u7cfb\u7edf\uff0c\u9879\u76ee\u662f\u9ad8\u5ea6\u7ed3\u6784\u5316\u7684\u3002\u6574\u4e2a\u9879\u76ee\u80fd\u591f\u88ab\u5206\u4e3a\u4ee5\u4e0b\u51e0\u4e2a\u90e8\u5206\uff08\u540c\u65f6\u4e5f\u662f 4 \u4e2a\u9700\u8981\u5b8c\u5584\u7684 lab\uff09\uff1a The record management component\uff1a\u8bb0\u5f55\u7ba1\u7406\u7ec4\u4ef6\u3002 The index component\uff1aB+ \u7d22\u5f15\u7ba1\u7406\u3002 The System Management Component\uff1addl\u8bed\u53e5\u3001\u547d\u4ee4\u884c\u5de5\u5177\u3001\u6570\u636e\u52a0\u8f7d\u547d\u4ee4\u3001\u5143\u6570\u636e\u7ba1\u7406\u3002 The Query Language Component\uff1a\u5728\u8fd9\u4e2a\u90e8\u5206\u9700\u8981\u5b9e\u73b0 RQL Redbase \u67e5\u8be2\u8bed\u8a00\u3002RQL \u8981\u5b9e\u73b0 select\u3001insert\u3001delete\u3001update \u8bed\u53e5\u3002 Extension Component\uff1a\u9664\u4e86\u4e0a\u8ff0\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u57fa\u672c\u529f\u80fd\u7ec4\u4ef6\uff0c\u8fd8\u9700\u8981\u5b9e\u73b0\u4e00\u4e2a\u6269\u5c55\u7ec4\u4ef6\uff0c\u53ef\u4ee5\u662f Blob \u7c7b\u578b\u3001 \u7f51\u7edc\u6a21\u5757\u3001\u8fde\u63a5\u7b97\u6cd5\u3001CBO \u4f18\u5316\u5668\u3001OLAP\u3001\u4e8b\u52a1\u7b49\u3002 RedBase \u9002\u5408\u5728\u5b66\u5b8c CMU-15445 \u540e\u7ee7\u7eed\u5b66\u4e60\u6570\u636e\u5e93\u7cfb\u7edf\u4e2d\u7684\u5176\u4ed6\u7ec4\u4ef6\uff0c\u56e0\u4e3a\u5176\u4ee3\u7801\u91cf\u4e0d\u591a\uff0c\u53ef\u4ee5\u65b9\u4fbf\u7684\u6839\u636e\u9700\u8981\u6269\u5c55\u4ee3\u7801\u3002\u540c\u65f6\u4ee3\u7801\u5b8c\u5168\u7531 C++ \u7f16\u5199\uff0c\u4e5f\u53ef\u4ee5\u7528\u4e8e\u7ec3\u4e60 C++ \u7f16\u7a0b\u6280\u5de7\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://web.stanford.edu/class/cs346/2015/ \u8bfe\u7a0b\u4ee3\u7801\uff1a https://github.com/junkumar/redbase.git \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 Projects + 1 Extension","title":"Stanford CS346: Database System Implementation"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS346/#stanford-cs-346-database-system-implementation","text":"","title":"Stanford CS 346: Database System Implementation"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS346/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 RedBase \u662f cs346 \u7684\u4e00\u4e2a\u9879\u76ee\uff0c\u5b9e\u73b0\u4e86\u4e00\u4e2a\u7b80\u6613\u7684\u6570\u636e\u5e93\u7cfb\u7edf\uff0c\u9879\u76ee\u662f\u9ad8\u5ea6\u7ed3\u6784\u5316\u7684\u3002\u6574\u4e2a\u9879\u76ee\u80fd\u591f\u88ab\u5206\u4e3a\u4ee5\u4e0b\u51e0\u4e2a\u90e8\u5206\uff08\u540c\u65f6\u4e5f\u662f 4 \u4e2a\u9700\u8981\u5b8c\u5584\u7684 lab\uff09\uff1a The record management component\uff1a\u8bb0\u5f55\u7ba1\u7406\u7ec4\u4ef6\u3002 The index component\uff1aB+ \u7d22\u5f15\u7ba1\u7406\u3002 The System Management Component\uff1addl\u8bed\u53e5\u3001\u547d\u4ee4\u884c\u5de5\u5177\u3001\u6570\u636e\u52a0\u8f7d\u547d\u4ee4\u3001\u5143\u6570\u636e\u7ba1\u7406\u3002 The Query Language Component\uff1a\u5728\u8fd9\u4e2a\u90e8\u5206\u9700\u8981\u5b9e\u73b0 RQL Redbase \u67e5\u8be2\u8bed\u8a00\u3002RQL \u8981\u5b9e\u73b0 select\u3001insert\u3001delete\u3001update \u8bed\u53e5\u3002 Extension Component\uff1a\u9664\u4e86\u4e0a\u8ff0\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u57fa\u672c\u529f\u80fd\u7ec4\u4ef6\uff0c\u8fd8\u9700\u8981\u5b9e\u73b0\u4e00\u4e2a\u6269\u5c55\u7ec4\u4ef6\uff0c\u53ef\u4ee5\u662f Blob \u7c7b\u578b\u3001 \u7f51\u7edc\u6a21\u5757\u3001\u8fde\u63a5\u7b97\u6cd5\u3001CBO \u4f18\u5316\u5668\u3001OLAP\u3001\u4e8b\u52a1\u7b49\u3002 RedBase \u9002\u5408\u5728\u5b66\u5b8c CMU-15445 \u540e\u7ee7\u7eed\u5b66\u4e60\u6570\u636e\u5e93\u7cfb\u7edf\u4e2d\u7684\u5176\u4ed6\u7ec4\u4ef6\uff0c\u56e0\u4e3a\u5176\u4ee3\u7801\u91cf\u4e0d\u591a\uff0c\u53ef\u4ee5\u65b9\u4fbf\u7684\u6839\u636e\u9700\u8981\u6269\u5c55\u4ee3\u7801\u3002\u540c\u65f6\u4ee3\u7801\u5b8c\u5168\u7531 C++ \u7f16\u5199\uff0c\u4e5f\u53ef\u4ee5\u7528\u4e8e\u7ec3\u4e60 C++ \u7f16\u7a0b\u6280\u5de7\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS346/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://web.stanford.edu/class/cs346/2015/ \u8bfe\u7a0b\u4ee3\u7801\uff1a https://github.com/junkumar/redbase.git \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 Projects + 1 Extension","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/","text":"UCB Data100: Principles and Techniques of Data Science Description Offered by: UC Berkeley Prerequisites: Data8, CS61A, Linear Algebra Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 80 hours This is Berkeley's introductory course in data science, covering the basics of data cleaning, feature extraction, data visualization, machine learning and inference, as well as common data science tools such as Pandas, Numpy, and Matplotlib. The course is also rich in interesting programming assignments, which is one of the highlights of the course. Resources Course Website: https://ds100.org Records: refer to the course website Textbook: https://www.textbook.ds100.org/intro.html Assignments: refer to the course website","title":"UCB Data100: Principles and Techniques of Data Science"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/#ucb-data100-principles-and-techniques-of-data-science","text":"","title":"UCB Data100: Principles and Techniques of Data Science"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/#description","text":"Offered by: UC Berkeley Prerequisites: Data8, CS61A, Linear Algebra Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 80 hours This is Berkeley's introductory course in data science, covering the basics of data cleaning, feature extraction, data visualization, machine learning and inference, as well as common data science tools such as Pandas, Numpy, and Matplotlib. The course is also rich in interesting programming assignments, which is one of the highlights of the course.","title":"Description"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/#resources","text":"Course Website: https://ds100.org Records: refer to the course website Textbook: https://www.textbook.ds100.org/intro.html Assignments: refer to the course website","title":"Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.006/","text":"MIT 6.006: Introduction to Algorithms Descriptions Offered by: MIT Prerequisites: Introductory level courses of programming (CS50/CS61A/CS106A or equivalent) Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours+ Probably the most precious course from the EECS department of MIT. Taught by Erik Demaine, one of the geniuses in Algorithms. Compared with CS106B/X (Data structures and algorithms using C++), 6.006 emphasizes the algorithms more. It also covers several classical data structures such as AVL trees. You may use it to learn more about algorithms after CS106B/X. Course Resources Course Website: Fall 2011 Recordings: Fall 2011 Textbooks: Introduction to Algorithms (CLRS) Assignments: Fall 2011","title":"MIT 6.006: Introduction to Algorithms"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.006/#mit-6006-introduction-to-algorithms","text":"","title":"MIT 6.006: Introduction to Algorithms"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.006/#descriptions","text":"Offered by: MIT Prerequisites: Introductory level courses of programming (CS50/CS61A/CS106A or equivalent) Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours+ Probably the most precious course from the EECS department of MIT. Taught by Erik Demaine, one of the geniuses in Algorithms. Compared with CS106B/X (Data structures and algorithms using C++), 6.006 emphasizes the algorithms more. It also covers several classical data structures such as AVL trees. You may use it to learn more about algorithms after CS106B/X.","title":"Descriptions"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.006/#course-resources","text":"Course Website: Fall 2011 Recordings: Fall 2011 Textbooks: Introduction to Algorithms (CLRS) Assignments: Fall 2011","title":"Course Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.046/","text":"MIT 6.046: Design and Analysis of Algorithms Descriptions Offered by: MIT Prerequisites: Introductory level courses of Algorithms (6.006/CS61B/CS106B/CS106X or equivalent) Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours+ Part 2 of the MIT Algorithms Trilogy. Taught by Erik Demaine, Srini Devadas, and Nancy Lynch. Compared with 6.006 where you just learn and use the algorithms directly, in 6.046 you will be required to learn a methodology to \"Design and analyze\" algorithms to solve certain problems. There are few programming exercises in this course, and most of the assignmnets are about proposing an algorithm and do some mathematical proofs. Therefore, it would be much harder than 6.006. Part 3 of the MIT Algorithms Trilogy is 6.854 Advanced Algorithms. But for the most of the exercises you'll encounter in tests and job-hunting, 6.046 is definitely enough. Course Resources Course Website: Spring 2015 Recordings: Spring 2015 Textbooks: Introduction to Algorithms (CLRS) Assignments: Spring 2015","title":"MIT 6.046: Design and Analysis of Algorithms"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.046/#mit-6046-design-and-analysis-of-algorithms","text":"","title":"MIT 6.046: Design and Analysis of Algorithms"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.046/#descriptions","text":"Offered by: MIT Prerequisites: Introductory level courses of Algorithms (6.006/CS61B/CS106B/CS106X or equivalent) Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours+ Part 2 of the MIT Algorithms Trilogy. Taught by Erik Demaine, Srini Devadas, and Nancy Lynch. Compared with 6.006 where you just learn and use the algorithms directly, in 6.046 you will be required to learn a methodology to \"Design and analyze\" algorithms to solve certain problems. There are few programming exercises in this course, and most of the assignmnets are about proposing an algorithm and do some mathematical proofs. Therefore, it would be much harder than 6.006. Part 3 of the MIT Algorithms Trilogy is 6.854 Advanced Algorithms. But for the most of the exercises you'll encounter in tests and job-hunting, 6.046 is definitely enough.","title":"Descriptions"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.046/#course-resources","text":"Course Website: Spring 2015 Recordings: Spring 2015 Textbooks: Introduction to Algorithms (CLRS) Assignments: Spring 2015","title":"Course Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/","text":"Coursera: Algorithms I & II Descriptions Offered by: Princeton Prerequisites: CS61A Programming Languages: Java Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 60 hours This is the highest rated algorithms course on Coursera , and Robert Sedgewick has the magic to make even the most complex algorithms incredibly easy to understand. To be honest, the KMP and network flow algorithms that I have been struggling with for years were made clear to me in this course, and I can even write derivations and proofs for both of them two years later. Do you feel that you forget the algorithms quickly after learning them? I think the key to fully grasping an algorithm lies in understanding the three points as follows: Why should do this? (Correctness derivation, or the essence of the entire algorithm.) How to implement it? (Talk is cheap. Show me the code.) How to use it to solve practical problems? (Bridge the gap between theory and real life.) The composition of this course covers the three points above very well. Watching the course videos and reading the professor's textbook will help you understand the essence of the algorithm and allow you to tell others why the algorithm should look like this in very simple and vivid terms. After understanding the algorithms, you can read the professor's code implementation of all the data structures and algorithms taught in the course. Note that these codes are not demos, but production-ready, time-efficient implementations. They have extensive annotations and comments, and the modularization is also quite good. I learned a lot by just reading the codes. Finally, the most exciting part of the course is the 10 high-quality projects, all with real-world backgrounds, rich test cases, and an automated scoring system (code style is also a part of the scoring). You'll get a taste of algorithms in real life. Course Resources Course Website: Algorithm I , Algorithm II Recordings: Coursera: Algorithm I , Coursera: lgorithm II , CUvids: Algorithms, 4th Edition Textbooks: Algorithms, 4th Edition Assignments: 10 Projects, the course website has specific requirements Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/Princeton-Algorithm - GitHub .","title":"Coursera: Algorithms I & II"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#coursera-algorithms-i-ii","text":"","title":"Coursera: Algorithms I & II"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#descriptions","text":"Offered by: Princeton Prerequisites: CS61A Programming Languages: Java Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 60 hours This is the highest rated algorithms course on Coursera , and Robert Sedgewick has the magic to make even the most complex algorithms incredibly easy to understand. To be honest, the KMP and network flow algorithms that I have been struggling with for years were made clear to me in this course, and I can even write derivations and proofs for both of them two years later. Do you feel that you forget the algorithms quickly after learning them? I think the key to fully grasping an algorithm lies in understanding the three points as follows: Why should do this? (Correctness derivation, or the essence of the entire algorithm.) How to implement it? (Talk is cheap. Show me the code.) How to use it to solve practical problems? (Bridge the gap between theory and real life.) The composition of this course covers the three points above very well. Watching the course videos and reading the professor's textbook will help you understand the essence of the algorithm and allow you to tell others why the algorithm should look like this in very simple and vivid terms. After understanding the algorithms, you can read the professor's code implementation of all the data structures and algorithms taught in the course. Note that these codes are not demos, but production-ready, time-efficient implementations. They have extensive annotations and comments, and the modularization is also quite good. I learned a lot by just reading the codes. Finally, the most exciting part of the course is the 10 high-quality projects, all with real-world backgrounds, rich test cases, and an automated scoring system (code style is also a part of the scoring). You'll get a taste of algorithms in real life.","title":"Descriptions"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#course-resources","text":"Course Website: Algorithm I , Algorithm II Recordings: Coursera: Algorithm I , Coursera: lgorithm II , CUvids: Algorithms, 4th Edition Textbooks: Algorithms, 4th Edition Assignments: 10 Projects, the course website has specific requirements","title":"Course Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/Princeton-Algorithm - GitHub .","title":"Personal Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/","text":"CS170: Efficient Algorithms and Intractable Problems Descriptions Offered by: UC Berkeley Prerequisites: CS61B, CS70 Programming Languages: LaTeX Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 60 hours This is Berkeley's algorithm design and analysis course. It focuses on the theoretical foundations and complexity analysis of algorithms, covering Divide-and-Conquer, Graph Algorithms, Shortest Paths, Spanning Trees, Greedy Algorithms, Dynamic programming, Union Finds, Linear Programming, Network Flows, NP-Completeness, Randomized Algorithms, Hashing, etc. The textbook for this course is well written and very suitable as a reference book. In addition, this class has written assignments and is recommended to use LaTeX. You can take this opportunity to practice your LaTeX skills. Course Resources Course Website: https://cs170.org/ Recordings: https://www.youtube.com/playlist?list=PLnocShPlK-Ft-o7NInBDw18be86dNaxlT Recordings: refer to the course website Assignments: refer to the course website Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/UCB-CS170 - GitHub","title":"UCB CS170: Efficient Algorithms and Intractable Problems"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#cs170-efficient-algorithms-and-intractable-problems","text":"","title":"CS170: Efficient Algorithms and Intractable Problems"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#descriptions","text":"Offered by: UC Berkeley Prerequisites: CS61B, CS70 Programming Languages: LaTeX Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 60 hours This is Berkeley's algorithm design and analysis course. It focuses on the theoretical foundations and complexity analysis of algorithms, covering Divide-and-Conquer, Graph Algorithms, Shortest Paths, Spanning Trees, Greedy Algorithms, Dynamic programming, Union Finds, Linear Programming, Network Flows, NP-Completeness, Randomized Algorithms, Hashing, etc. The textbook for this course is well written and very suitable as a reference book. In addition, this class has written assignments and is recommended to use LaTeX. You can take this opportunity to practice your LaTeX skills.","title":"Descriptions"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#course-resources","text":"Course Website: https://cs170.org/ Recordings: https://www.youtube.com/playlist?list=PLnocShPlK-Ft-o7NInBDw18be86dNaxlT Recordings: refer to the course website Assignments: refer to the course website","title":"Course Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/UCB-CS170 - GitHub","title":"Personal Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/","text":"CS61B: Data Structures and Algorithms Descriptions Offered by: UC Berkeley Prerequisites: CS61A Programming Languages: Java Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 60 hours It is the second course of UC Berkeley's CS61 series. It mainly focuses on the design of data structures and algorithms as well as giving students the opportunity to be exposed to thousands of lines of engineering code and gain a preliminary understanding of software engineering through Java. I took the version for 2018 Spring. Josh Hug, the instructor, generously made the autograder open-source. You can use gradescope invitation code published on the website for free and easily test your implementation. All programming assignments in this course are done in Java. Students without Java experience don't have to worry. There will be detailed tutorials in the course from the configuration of IDEA to the core syntax and features of Java. The quality of homework in this class is also unparalleled. The 14 labs will allow you to implement most of the data structures mentioned in the class by yourself, and the 10 homework will allow you to use data structures and algorithms to solve practical problems. In addition, there are 3 projects that give you the opportunity to be exposed to thousands of lines of engineering code and enhance your Java skills in practice. Resources Course Resources Course Website: https://sp18.datastructur.es/ Recordings: refer to the course website Textbook: None Assignments: Slightly different every year. In the spring semester of 2018, there are 14 Labs, 10 Homework and 3 Projects. Please refer to the course website for specific requirements. Personal resources All resources and homework implementations used by @PKUFlyingPig in this course are summarized in PKUFlyingPig/CS61B - GitHub .","title":"UCB CS61B: Data Structures and Algorithms"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#cs61b-data-structures-and-algorithms","text":"","title":"CS61B: Data Structures and Algorithms"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#descriptions","text":"Offered by: UC Berkeley Prerequisites: CS61A Programming Languages: Java Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 60 hours It is the second course of UC Berkeley's CS61 series. It mainly focuses on the design of data structures and algorithms as well as giving students the opportunity to be exposed to thousands of lines of engineering code and gain a preliminary understanding of software engineering through Java. I took the version for 2018 Spring. Josh Hug, the instructor, generously made the autograder open-source. You can use gradescope invitation code published on the website for free and easily test your implementation. All programming assignments in this course are done in Java. Students without Java experience don't have to worry. There will be detailed tutorials in the course from the configuration of IDEA to the core syntax and features of Java. The quality of homework in this class is also unparalleled. The 14 labs will allow you to implement most of the data structures mentioned in the class by yourself, and the 10 homework will allow you to use data structures and algorithms to solve practical problems. In addition, there are 3 projects that give you the opportunity to be exposed to thousands of lines of engineering code and enhance your Java skills in practice.","title":"Descriptions"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#resources","text":"","title":"Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#course-resources","text":"Course Website: https://sp18.datastructur.es/ Recordings: refer to the course website Textbook: None Assignments: Slightly different every year. In the spring semester of 2018, there are 14 Labs, 10 Homework and 3 Projects. Please refer to the course website for specific requirements.","title":"Course Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#personal-resources","text":"All resources and homework implementations used by @PKUFlyingPig in this course are summarized in PKUFlyingPig/CS61B - GitHub .","title":"Personal resources"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/","text":"CS189: Introduction to Machine Learning Descriptions Offered by: UC Berkeley Prerequisites: CS188, CS70 Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 Hours I did not take this course but used its lecture notes as reference books. From the course website, I think it is better than CS299 because all the assignments and autograder are open source. Also, this course is quite theoretical and in-depth. Course Resources Course Website: https://www.eecs189.org/ Recordings: https://www.youtube.com/playlist?list=PLOOm2AoWIPEyZazQVnIcaK2KnezpGZV-X Textbooks: https://www.eecs189.org/ Assignments: https://www.eecs189.org/","title":"UCB CS189: Introduction to Machine Learning"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/#cs189-introduction-to-machine-learning","text":"","title":"CS189: Introduction to Machine Learning"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/#descriptions","text":"Offered by: UC Berkeley Prerequisites: CS188, CS70 Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 Hours I did not take this course but used its lecture notes as reference books. From the course website, I think it is better than CS299 because all the assignments and autograder are open source. Also, this course is quite theoretical and in-depth.","title":"Descriptions"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/#course-resources","text":"Course Website: https://www.eecs189.org/ Recordings: https://www.youtube.com/playlist?list=PLOOm2AoWIPEyZazQVnIcaK2KnezpGZV-X Textbooks: https://www.eecs189.org/ Assignments: https://www.eecs189.org/","title":"Course Resources"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/","text":"CS229: Machine Learning Descriptions Offered by: Stanford Prerequisite requirements: Advanced Mathematics, Probability Theory, Python, Solid mathematics skills Programming Languages: None Difficulty:\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is another ML course offered by Andrew Ng. Since it is graduate-level, it focuses more on the mathematical theory behind machine learning. If you are not satisfied with using off-the-shelf tools but want to understand the essence of the algorithm, or aspire to engage in theoretical research on machine learning, you can take this course. All the lecture notes are provided on the course website, written in a professional and theoretical way, requiring a solid mathematical background. Resources Course Website: http://cs229.stanford.edu/syllabus.html Recordings: https://www.bilibili.com/video/BV1JE411w7Ub Textbook: None, but the lecture notes is excellent. Assignments: Not open to the public. Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS229 - GitHub .","title":"Stanford CS229: Machine Learning"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#cs229-machine-learning","text":"","title":"CS229: Machine Learning"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#descriptions","text":"Offered by: Stanford Prerequisite requirements: Advanced Mathematics, Probability Theory, Python, Solid mathematics skills Programming Languages: None Difficulty:\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is another ML course offered by Andrew Ng. Since it is graduate-level, it focuses more on the mathematical theory behind machine learning. If you are not satisfied with using off-the-shelf tools but want to understand the essence of the algorithm, or aspire to engage in theoretical research on machine learning, you can take this course. All the lecture notes are provided on the course website, written in a professional and theoretical way, requiring a solid mathematical background.","title":"Descriptions"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#resources","text":"Course Website: http://cs229.stanford.edu/syllabus.html Recordings: https://www.bilibili.com/video/BV1JE411w7Ub Textbook: None, but the lecture notes is excellent. Assignments: Not open to the public.","title":"Resources"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS229 - GitHub .","title":"Personal Resources"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/","text":"Coursera: Machine Learning Descriptions Offered by: Stanford Prerequisites: entry level of AI and proficient in Python Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours When it comes to Andrew Ng, no one in the AI community should be unaware of him. He is one of the founders of the famous online education platform Coursera , and also a famous professor at Stanford. This introductory machine learning course must be one of his famous works (the other is his deep learning course), and has hundreds of thousands of learners on Coursera (note that these are people who paid for the certificate, which costs several hundred dollars), and the number of nonpaying learners should be far more than that. The class is extremely friendly to novices, and Andrew has the ability to make machine learning as straightforward as 1+1=2. You'll learn about linear regression, logistic regression, support vector machines, unsupervised learning, dimensionality reduction, anomaly detection, and recommender systems, etc. and solidify your understanding with hands-on programming. The quality of the assignments needs no word to say. With detailed code frameworks and practical background, you can use what you've learned to solve real problems. Of course, as a public mooc, the difficulty of this course has been deliberately lowered, and many mathematical derivations are skimmed over. If you are interested in machine learning theory and want to investigate the mathematical theory behind these algorithms, you can refer to CS229 and CS189 . Course Resources Course Website: https://www.coursera.org/learn/machine-learning Recordings: refer to the course website Textbook: None Assignments: refer to the course website Personal Resources My implementation is lost in system reinstallation. However, the course is so famous that you can easily find related resources online. Also, course material is available on Coursera.","title":"Coursera: Machine Learning"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#coursera-machine-learning","text":"","title":"Coursera: Machine Learning"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#descriptions","text":"Offered by: Stanford Prerequisites: entry level of AI and proficient in Python Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours When it comes to Andrew Ng, no one in the AI community should be unaware of him. He is one of the founders of the famous online education platform Coursera , and also a famous professor at Stanford. This introductory machine learning course must be one of his famous works (the other is his deep learning course), and has hundreds of thousands of learners on Coursera (note that these are people who paid for the certificate, which costs several hundred dollars), and the number of nonpaying learners should be far more than that. The class is extremely friendly to novices, and Andrew has the ability to make machine learning as straightforward as 1+1=2. You'll learn about linear regression, logistic regression, support vector machines, unsupervised learning, dimensionality reduction, anomaly detection, and recommender systems, etc. and solidify your understanding with hands-on programming. The quality of the assignments needs no word to say. With detailed code frameworks and practical background, you can use what you've learned to solve real problems. Of course, as a public mooc, the difficulty of this course has been deliberately lowered, and many mathematical derivations are skimmed over. If you are interested in machine learning theory and want to investigate the mathematical theory behind these algorithms, you can refer to CS229 and CS189 .","title":"Descriptions"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#course-resources","text":"Course Website: https://www.coursera.org/learn/machine-learning Recordings: refer to the course website Textbook: None Assignments: refer to the course website","title":"Course Resources"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#personal-resources","text":"My implementation is lost in system reinstallation. However, the course is so famous that you can easily find related resources online. Also, course material is available on Coursera.","title":"Personal Resources"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/","text":"\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u4e2d\u56fd\u79d1\u5b66\u9662\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784\uff0c\u6df1\u5ea6\u5b66\u4e60 \u7f16\u7a0b\u8bed\u8a00\uff1aPython, C++, BCL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6+ \u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u662f\u667a\u80fd\u7684\u6838\u5fc3\u7269\u8d28\u8f7d\u4f53\uff0c\u6bcf\u5e74\u5168\u7403\u8981\u5236\u9020\u6570\u4ee5\u5341\u4ebf\u8ba1\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u5305\u62ec\u667a\u80fd\u624b\u673a\u3001\u667a\u80fd\u670d\u52a1\u5668\u3001\u667a\u80fd\u53ef\u7a7f\u6234\u8bbe\u5907\u7b49\uff09\uff0c\u9700\u8981\u5927\u91cf\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8bbe\u8ba1\u8005\u548c\u5f00\u53d1\u8005\u3002\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u4eba\u624d\u7684\u57f9\u517b\u76f4\u63a5\u5173\u7cfb\u5230\u6211\u56fd\u667a\u80fd\u4ea7\u4e1a\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002\u56e0\u6b64\uff0c\u5bf9\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8ba4\u8bc6\u548c\u7406\u89e3\u662f\u667a\u80fd\u65f6\u4ee3\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u57f9\u517b\u65b9\u6848\u4e2d\u4e0d\u53ef\u6216\u7f3a\u7684\u91cd\u8981\u7ec4\u6210\u90e8\u5206\uff0c\u662f\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002 \u56fd\u5185\u7684\u9648\u4e91\u9701\u8001\u5e08\u5f00\u7684\u8bfe\uff0c\u5728\u5176\u4ed6\u82e5\u5e72\u4e2a\u5927\u5b66\u4e5f\u90fd\u6709\u5f00\u5bf9\u5e94\u7684\u8bfe\u7a0b\u3002\u8fd9\u95e8\u8bfe\u7528\u4e00\u4e2a\u4e2a\u5b9e\u9a8c\u5e26\u5927\u5bb6\u4ee5\u4e00\u4e2a\u5b8c\u6574\u7684\u89c6\u91ce\u7406\u89e3\u4eba\u5de5\u667a\u80fd\u7684\u6280\u672f\u6808\u3002\u4ece\u4e0a\u5c42\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5230\u7528\u5e95\u5c42\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\uff0c\u518d\u5230\u786c\u4ef6\u4e2d MLU \u7684\u8bbe\u8ba1\uff0c\u8ba9\u5927\u5bb6\u5f62\u6210\u7cfb\u7edf\u601d\u7ef4\uff0c\u4f53\u4f1a\u81ea\u4e0a\u800c\u4e0b\uff0c\u878d\u4f1a\u8d2f\u901a\u7684\u4e50\u8da3\u3002 \u6211\u505a\u4e86\u5176\u4e2d\u7684 2,3,4,5 \u8fd9\u51e0\u4e2a\u5b9e\u9a8c\uff0c\u5176\u4e2d\u7efc\u5408\u5b9e\u9a8c\u548c\u786c\u4ef6\u5b9e\u9a8c\u6ca1\u6709\u505a\uff0c\u5982\u679c\u6709\u505a\u4e86\u7684\u540c\u5b66\u6b22\u8fce\u5927\u5bb6\u8865\u4e0a\u4f60\u7684\u94fe\u63a5\u3002 \u4e2a\u4eba\u4f53\u4f1a\u662f\u7b2c\u4e09\u7ae0\u5b9e\u73b0\u7b97\u5b50\u7684\u5b9e\u9a8c\u8ba9\u6211\u5bf9\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u7684\u4e86\u89e3\u52a0\u6df1\u4e86\u5f88\u591a\u3002\u7b2c\u4e94\u7ae0\u7684\u5b9e\u9a8cBCL\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\u5982\u679c\u4e86\u89e3 CUDA \u7684\u8bdd\u4f1a\u611f\u89c9\u5f88\u719f\u6089\u3002 \u63a8\u8350\u53bb\u4e70\u4e00\u672c\u6559\u6750\u770b\u4e00\u770b\uff0c\u4f1a\u8ba9\u6211\u4eec\u7406\u89e3\u6574\u4f53\u7684\u6280\u672f\u6808\u3002\u719f\u6089\u6df1\u5ea6\u5b66\u4e60\u7684\u540c\u5b66\u53ef\u4ee5\u76f4\u63a5\u4ece\u7b2c\u4e94\u7ae0\u5f00\u59cb\u770b\uff0c\u770b\u770b\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u5e95\u5c42\u5230\u5e95\u662f\u4ec0\u4e48\u6837\u7684\u3002 \u6211\u56e0\u4e3a\u8fd9\u95e8\u8bfe\u7684\u542f\u53d1\uff0c\u53c2\u8003\u4e00\u672c\u4e66\uff08\u4e66\u540d\u5728\u4ed3\u5e93\u4e2d\uff09\u5199\u4e86\u4e00\u4e2a\u7b80\u6613\u7684 \u6df1\u5ea6\u5b66\u4e60\u6846\u67b6 \u3002\u5728\u8fd9\u4e2a\u6846\u67b6\u91cc\u53ef\u4ee5\u770b\u5230\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u5b9e\u9a8c\u4e2d\u7684\u4e00\u4e9b\u5f71\u5b50\u3002\u540c\u65f6\u53d7\u5230 build-your-own-x \u7cfb\u5217\u7684\u542f\u53d1\uff0c\u6211\u4e5f\u6253\u7b97\u5199\u4e00\u4e0b\u6559\u7a0b\uff0c\u6559\u5927\u5bb6\u5199\u4e00\u4e2a\u81ea\u5df1\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u3002\u4ee3\u7801\u7528 Python \u5199\u7684\uff0c\u4ee3\u7801\u91cf\u8f83\u5c11\uff0c\u9002\u5408\u6709\u4e00\u5b9a\u57fa\u7840\u7684\u540c\u5b66\u9605\u8bfb\u3002\u4e4b\u540e\u6253\u7b97\u6dfb\u52a0\u66f4\u591a\u7684\u7b97\u5b50\uff0c\u6709\u671b\u5b9e\u73b0\u4e00\u4e2a\u8f83\u4e3a\u5168\u9762\u7684\u6846\u67b6\uff0c\u5e76\u5e0c\u671b\u79fb\u690d\u5230 C++ \u4e2d\uff0c\u4ee5\u517c\u987e\u6027\u80fd\u4e0e\u5f00\u53d1\u6548\u7387\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a \u5b98\u7f51 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u8bfe\u7a0b\u6559\u6750\uff1a\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u9648\u4e91\u9701\uff09 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a6 \u4e2a\u5b9e\u9a8c(\u5305\u62ec\u7f16\u5199\u5377\u79ef\u7b97\u5b50\uff0c\u4e3a TensorFlow \u6dfb\u52a0\u7b97\u5b50\uff0c\u7528 BCL \u7f16\u5199\u7b97\u5b50\u5e76\u96c6\u6210\u5230 TensorFlow \u4e2d\u7b49)(\u5177\u4f53\u5185\u5bb9\u5728\u5b98\u7f51\u53ef\u4ee5\u627e\u5230) \u5b9e\u9a8c\u624b\u518c\uff1a \u5b9e\u9a8c 2.0 \u6307\u5bfc\u624b\u518c \u5b66\u4e60\u7b14\u8bb0\uff1a https://sanzo.top/categories/AI-Computing-Systems/ \uff0c\u53c2\u8003\u5b9e\u9a8c\u624b\u518c\u603b\u7ed3\u7684\u7b14\u8bb0 \u8d44\u6e90\u6c47\u603b @ysj1173886760 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 ysj1173886760/Learning: ai-system - GitHub \u4e2d\u3002","title":"\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/#_1","text":"","title":"\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/#_2","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u4e2d\u56fd\u79d1\u5b66\u9662\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784\uff0c\u6df1\u5ea6\u5b66\u4e60 \u7f16\u7a0b\u8bed\u8a00\uff1aPython, C++, BCL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6+ \u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u662f\u667a\u80fd\u7684\u6838\u5fc3\u7269\u8d28\u8f7d\u4f53\uff0c\u6bcf\u5e74\u5168\u7403\u8981\u5236\u9020\u6570\u4ee5\u5341\u4ebf\u8ba1\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u5305\u62ec\u667a\u80fd\u624b\u673a\u3001\u667a\u80fd\u670d\u52a1\u5668\u3001\u667a\u80fd\u53ef\u7a7f\u6234\u8bbe\u5907\u7b49\uff09\uff0c\u9700\u8981\u5927\u91cf\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8bbe\u8ba1\u8005\u548c\u5f00\u53d1\u8005\u3002\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u4eba\u624d\u7684\u57f9\u517b\u76f4\u63a5\u5173\u7cfb\u5230\u6211\u56fd\u667a\u80fd\u4ea7\u4e1a\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002\u56e0\u6b64\uff0c\u5bf9\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8ba4\u8bc6\u548c\u7406\u89e3\u662f\u667a\u80fd\u65f6\u4ee3\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u57f9\u517b\u65b9\u6848\u4e2d\u4e0d\u53ef\u6216\u7f3a\u7684\u91cd\u8981\u7ec4\u6210\u90e8\u5206\uff0c\u662f\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002 \u56fd\u5185\u7684\u9648\u4e91\u9701\u8001\u5e08\u5f00\u7684\u8bfe\uff0c\u5728\u5176\u4ed6\u82e5\u5e72\u4e2a\u5927\u5b66\u4e5f\u90fd\u6709\u5f00\u5bf9\u5e94\u7684\u8bfe\u7a0b\u3002\u8fd9\u95e8\u8bfe\u7528\u4e00\u4e2a\u4e2a\u5b9e\u9a8c\u5e26\u5927\u5bb6\u4ee5\u4e00\u4e2a\u5b8c\u6574\u7684\u89c6\u91ce\u7406\u89e3\u4eba\u5de5\u667a\u80fd\u7684\u6280\u672f\u6808\u3002\u4ece\u4e0a\u5c42\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5230\u7528\u5e95\u5c42\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\uff0c\u518d\u5230\u786c\u4ef6\u4e2d MLU \u7684\u8bbe\u8ba1\uff0c\u8ba9\u5927\u5bb6\u5f62\u6210\u7cfb\u7edf\u601d\u7ef4\uff0c\u4f53\u4f1a\u81ea\u4e0a\u800c\u4e0b\uff0c\u878d\u4f1a\u8d2f\u901a\u7684\u4e50\u8da3\u3002 \u6211\u505a\u4e86\u5176\u4e2d\u7684 2,3,4,5 \u8fd9\u51e0\u4e2a\u5b9e\u9a8c\uff0c\u5176\u4e2d\u7efc\u5408\u5b9e\u9a8c\u548c\u786c\u4ef6\u5b9e\u9a8c\u6ca1\u6709\u505a\uff0c\u5982\u679c\u6709\u505a\u4e86\u7684\u540c\u5b66\u6b22\u8fce\u5927\u5bb6\u8865\u4e0a\u4f60\u7684\u94fe\u63a5\u3002 \u4e2a\u4eba\u4f53\u4f1a\u662f\u7b2c\u4e09\u7ae0\u5b9e\u73b0\u7b97\u5b50\u7684\u5b9e\u9a8c\u8ba9\u6211\u5bf9\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u7684\u4e86\u89e3\u52a0\u6df1\u4e86\u5f88\u591a\u3002\u7b2c\u4e94\u7ae0\u7684\u5b9e\u9a8cBCL\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\u5982\u679c\u4e86\u89e3 CUDA \u7684\u8bdd\u4f1a\u611f\u89c9\u5f88\u719f\u6089\u3002 \u63a8\u8350\u53bb\u4e70\u4e00\u672c\u6559\u6750\u770b\u4e00\u770b\uff0c\u4f1a\u8ba9\u6211\u4eec\u7406\u89e3\u6574\u4f53\u7684\u6280\u672f\u6808\u3002\u719f\u6089\u6df1\u5ea6\u5b66\u4e60\u7684\u540c\u5b66\u53ef\u4ee5\u76f4\u63a5\u4ece\u7b2c\u4e94\u7ae0\u5f00\u59cb\u770b\uff0c\u770b\u770b\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u5e95\u5c42\u5230\u5e95\u662f\u4ec0\u4e48\u6837\u7684\u3002 \u6211\u56e0\u4e3a\u8fd9\u95e8\u8bfe\u7684\u542f\u53d1\uff0c\u53c2\u8003\u4e00\u672c\u4e66\uff08\u4e66\u540d\u5728\u4ed3\u5e93\u4e2d\uff09\u5199\u4e86\u4e00\u4e2a\u7b80\u6613\u7684 \u6df1\u5ea6\u5b66\u4e60\u6846\u67b6 \u3002\u5728\u8fd9\u4e2a\u6846\u67b6\u91cc\u53ef\u4ee5\u770b\u5230\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u5b9e\u9a8c\u4e2d\u7684\u4e00\u4e9b\u5f71\u5b50\u3002\u540c\u65f6\u53d7\u5230 build-your-own-x \u7cfb\u5217\u7684\u542f\u53d1\uff0c\u6211\u4e5f\u6253\u7b97\u5199\u4e00\u4e0b\u6559\u7a0b\uff0c\u6559\u5927\u5bb6\u5199\u4e00\u4e2a\u81ea\u5df1\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u3002\u4ee3\u7801\u7528 Python \u5199\u7684\uff0c\u4ee3\u7801\u91cf\u8f83\u5c11\uff0c\u9002\u5408\u6709\u4e00\u5b9a\u57fa\u7840\u7684\u540c\u5b66\u9605\u8bfb\u3002\u4e4b\u540e\u6253\u7b97\u6dfb\u52a0\u66f4\u591a\u7684\u7b97\u5b50\uff0c\u6709\u671b\u5b9e\u73b0\u4e00\u4e2a\u8f83\u4e3a\u5168\u9762\u7684\u6846\u67b6\uff0c\u5e76\u5e0c\u671b\u79fb\u690d\u5230 C++ \u4e2d\uff0c\u4ee5\u517c\u987e\u6027\u80fd\u4e0e\u5f00\u53d1\u6548\u7387\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/#_3","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a \u5b98\u7f51 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u8bfe\u7a0b\u6559\u6750\uff1a\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u9648\u4e91\u9701\uff09 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a6 \u4e2a\u5b9e\u9a8c(\u5305\u62ec\u7f16\u5199\u5377\u79ef\u7b97\u5b50\uff0c\u4e3a TensorFlow \u6dfb\u52a0\u7b97\u5b50\uff0c\u7528 BCL \u7f16\u5199\u7b97\u5b50\u5e76\u96c6\u6210\u5230 TensorFlow \u4e2d\u7b49)(\u5177\u4f53\u5185\u5bb9\u5728\u5b98\u7f51\u53ef\u4ee5\u627e\u5230) \u5b9e\u9a8c\u624b\u518c\uff1a \u5b9e\u9a8c 2.0 \u6307\u5bfc\u624b\u518c \u5b66\u4e60\u7b14\u8bb0\uff1a https://sanzo.top/categories/AI-Computing-Systems/ \uff0c\u53c2\u8003\u5b9e\u9a8c\u624b\u518c\u603b\u7ed3\u7684\u7b14\u8bb0","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/#_4","text":"@ysj1173886760 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 ysj1173886760/Learning: ai-system - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/","text":"CMU 10-414/714: Deep Learning Systems \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1a\u7cfb\u7edf\u5165\u95e8(eg.15-213)\u3001\u6df1\u5ea6\u5b66\u4e60\u5165\u95e8\u3001\u57fa\u672c\u7684\u6570\u5b66\u77e5\u8bc6 \u7f16\u7a0b\u8bed\u8a00\uff1aPython, C++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u6df1\u5ea6\u5b66\u4e60\u7684\u5feb\u901f\u53d1\u5c55\u548c\u5e7f\u6cdb\u4f7f\u7528\u5f88\u5927\u7a0b\u5ea6\u4e0a\u5f97\u76ca\u4e8e\u4e00\u7cfb\u5217\u7b80\u5355\u597d\u7528\u4e14\u5f3a\u5927\u7684\u7f16\u7a0b\u6846\u67b6\uff0c\u4f8b\u5982 Pytorch \u548c Tensorflow \u7b49\u7b49\u3002\u4f46\u5927\u591a\u6570\u4ece\u4e1a\u8005\u53ea\u662f\u8fd9\u4e9b\u6846\u67b6\u7684\u201c\u8c03\u5305\u4fa0\u201d\uff0c\u5bf9\u4e8e\u8fd9\u4e9b\u6846\u67b6\u5185\u90e8\u7684\u7ec6\u8282\u5b9e\u73b0\u5374\u4e86\u89e3\u751a\u5c11\u3002\u5982\u679c\u4f60\u5e0c\u671b\u4ece\u4e8b\u6df1\u5ea6\u5b66\u4e60\u5e95\u5c42\u6846\u67b6\u7684\u5f00\u53d1\uff0c\u6216\u8005\u53ea\u662f\u50cf\u6211\u4e00\u6837\u597d\u5947\u8fd9\u4e9b\u6846\u67b6\u7684\u5185\u90e8\u5b9e\u73b0\uff0c\u90a3\u4e48\u8fd9\u95e8\u8bfe\u5c06\u4f1a\u662f\u4e00\u4e2a\u5f88\u597d\u7684\u8d77\u70b9\u3002 \u8bfe\u7a0b\u7684\u5185\u5bb9\u5927\u7eb2\u8986\u76d6\u4e86\u6df1\u5ea6\u5b66\u4e60\u7cfb\u7edf\u201c\u5168\u6808\u201d\u7684\u77e5\u8bc6\u4f53\u7cfb\u3002\u4ece\u73b0\u4ee3\u6df1\u5ea6\u5b66\u4e60\u7cfb\u7edf\u6846\u67b6\u7684\u9876\u5c42\u8bbe\u8ba1\uff0c\u5230\u81ea\u5fae\u5206\u7b97\u6cd5\u7684\u539f\u7406\u548c\u5b9e\u73b0\uff0c\u518d\u5230\u5e95\u5c42\u786c\u4ef6\u52a0\u901f\u548c\u5b9e\u9645\u751f\u4ea7\u90e8\u7f72\u3002\u4e3a\u4e86\u66f4\u597d\u5730\u638c\u63e1\u7406\u8bba\u77e5\u8bc6\uff0c\u5b66\u751f\u5c06\u4f1a\u57285\u4e2a\u8bfe\u7a0b\u4f5c\u4e1a\u4e2d\u4ece\u5934\u5f00\u59cb\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b8c\u6574\u7684\u6df1\u5ea6\u5b66\u4e60\u5e93 Needle\uff0c\u4f7f\u5176\u80fd\u5bf9\u8ba1\u7b97\u56fe\u8fdb\u884c\u81ea\u52a8\u5fae\u5206\uff0c\u80fd\u5728 GPU \u4e0a\u5b9e\u73b0\u786c\u4ef6\u52a0\u901f\uff0c\u5e76\u4e14\u652f\u6301\u5404\u7c7b\u635f\u5931\u51fd\u6570\u3001\u6570\u636e\u52a0\u8f7d\u5668\u548c\u4f18\u5316\u5668\u3002\u5728\u6b64\u57fa\u7840\u4e0a\uff0c\u5b66\u751f\u5c06\u5b9e\u73b0\u51e0\u7c7b\u5e38\u89c1\u7684\u795e\u7ecf\u7f51\u7edc\uff0c\u5305\u62ec CNN\uff0cRNN\uff0cLSTM\uff0cTransformer \u7b49\u7b49\u3002 \u5373\u4f7f\u4f60\u662f\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u7684\u5c0f\u767d\u4e5f\u4e0d\u5fc5\u8fc7\u4e8e\u62c5\u5fc3\uff0c\u8bfe\u7a0b\u5c06\u4f1a\u5faa\u5e8f\u6e10\u8fdb\u5730\u4ece\u7b80\u5355\u5206\u7c7b\u95ee\u9898\u548c\u53cd\u5411\u4f20\u64ad\u4f18\u5316\u8bb2\u8d77\uff0c\u4e00\u4e9b\u76f8\u5bf9\u590d\u6742\u7684\u795e\u7ecf\u7f51\u7edc\u90fd\u4f1a\u6709\u914d\u5957\u7684 jupyter notebook \u8be6\u7ec6\u5730\u63cf\u8ff0\u5b9e\u73b0\u7ec6\u8282\u3002\u5982\u679c\u4f60\u6709\u4e00\u5b9a\u7684\u76f8\u5173\u57fa\u7840\u77e5\u8bc6\uff0c\u90a3\u4e48\u5728\u5b66\u4e60\u5b8c\u81ea\u5fae\u5206\u90e8\u5206\u7684\u5185\u5bb9\u4e4b\u540e\u4fbf\u53ef\u4ee5\u76f4\u63a5\u4e0a\u624b\u8bfe\u7a0b\u4f5c\u4e1a\uff0c\u96be\u5ea6\u867d\u7136\u4e0d\u5927\u4f46\u76f8\u4fe1\u4e00\u5b9a\u4f1a\u7ed9\u4f60\u5e26\u6765\u65b0\u7684\u7406\u89e3\u3002 \u8fd9\u95e8\u8bfe\u4e24\u4f4d\u6388\u8bfe\u6559\u5e08 Zico Kolter \u548c Tianqi Chen \u5c06\u6240\u6709\u8bfe\u7a0b\u5185\u5bb9\u90fd\u53d1\u5e03\u4e86\u5bf9\u5e94\u7684\u5f00\u6e90\u7248\u672c\uff0c\u4f46\u5728\u7ebf\u8bc4\u6d4b\u8d26\u53f7\u548c\u8bfe\u7a0b\u8bba\u575b\u7684\u6ce8\u518c\u65f6\u95f4\u5df2\u7ecf\u7ed3\u675f\uff0c\u53ea\u5269\u4e0b\u6846\u67b6\u4ee3\u7801\u91cc\u7684\u672c\u5730\u6d4b\u8bd5\u4f9b\u5927\u5bb6\u8c03\u8bd5\u4ee3\u7801\u3002\u6216\u8bb8\u53ef\u4ee5\u671f\u5f85\u660e\u5e74\u79cb\u5b63\u5b66\u671f\u7684\u8bfe\u7a0b\u8fd8\u4f1a\u53d1\u5e03\u76f8\u5e94\u7684\u5728\u7ebf\u7248\u672c\u4f9b\u5927\u5bb6\u5b66\u4e60\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://dlsyscourse.org \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=qbJqOFMyIwg \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://dlsyscourse.org/assignments/ \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CMU10-714 - GitHub \u4e2d\u3002","title":"CMU 10-414/714: Deep Learning Systems"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/#cmu-10-414714-deep-learning-systems","text":"","title":"CMU 10-414/714: Deep Learning Systems"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1a\u7cfb\u7edf\u5165\u95e8(eg.15-213)\u3001\u6df1\u5ea6\u5b66\u4e60\u5165\u95e8\u3001\u57fa\u672c\u7684\u6570\u5b66\u77e5\u8bc6 \u7f16\u7a0b\u8bed\u8a00\uff1aPython, C++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u6df1\u5ea6\u5b66\u4e60\u7684\u5feb\u901f\u53d1\u5c55\u548c\u5e7f\u6cdb\u4f7f\u7528\u5f88\u5927\u7a0b\u5ea6\u4e0a\u5f97\u76ca\u4e8e\u4e00\u7cfb\u5217\u7b80\u5355\u597d\u7528\u4e14\u5f3a\u5927\u7684\u7f16\u7a0b\u6846\u67b6\uff0c\u4f8b\u5982 Pytorch \u548c Tensorflow \u7b49\u7b49\u3002\u4f46\u5927\u591a\u6570\u4ece\u4e1a\u8005\u53ea\u662f\u8fd9\u4e9b\u6846\u67b6\u7684\u201c\u8c03\u5305\u4fa0\u201d\uff0c\u5bf9\u4e8e\u8fd9\u4e9b\u6846\u67b6\u5185\u90e8\u7684\u7ec6\u8282\u5b9e\u73b0\u5374\u4e86\u89e3\u751a\u5c11\u3002\u5982\u679c\u4f60\u5e0c\u671b\u4ece\u4e8b\u6df1\u5ea6\u5b66\u4e60\u5e95\u5c42\u6846\u67b6\u7684\u5f00\u53d1\uff0c\u6216\u8005\u53ea\u662f\u50cf\u6211\u4e00\u6837\u597d\u5947\u8fd9\u4e9b\u6846\u67b6\u7684\u5185\u90e8\u5b9e\u73b0\uff0c\u90a3\u4e48\u8fd9\u95e8\u8bfe\u5c06\u4f1a\u662f\u4e00\u4e2a\u5f88\u597d\u7684\u8d77\u70b9\u3002 \u8bfe\u7a0b\u7684\u5185\u5bb9\u5927\u7eb2\u8986\u76d6\u4e86\u6df1\u5ea6\u5b66\u4e60\u7cfb\u7edf\u201c\u5168\u6808\u201d\u7684\u77e5\u8bc6\u4f53\u7cfb\u3002\u4ece\u73b0\u4ee3\u6df1\u5ea6\u5b66\u4e60\u7cfb\u7edf\u6846\u67b6\u7684\u9876\u5c42\u8bbe\u8ba1\uff0c\u5230\u81ea\u5fae\u5206\u7b97\u6cd5\u7684\u539f\u7406\u548c\u5b9e\u73b0\uff0c\u518d\u5230\u5e95\u5c42\u786c\u4ef6\u52a0\u901f\u548c\u5b9e\u9645\u751f\u4ea7\u90e8\u7f72\u3002\u4e3a\u4e86\u66f4\u597d\u5730\u638c\u63e1\u7406\u8bba\u77e5\u8bc6\uff0c\u5b66\u751f\u5c06\u4f1a\u57285\u4e2a\u8bfe\u7a0b\u4f5c\u4e1a\u4e2d\u4ece\u5934\u5f00\u59cb\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b8c\u6574\u7684\u6df1\u5ea6\u5b66\u4e60\u5e93 Needle\uff0c\u4f7f\u5176\u80fd\u5bf9\u8ba1\u7b97\u56fe\u8fdb\u884c\u81ea\u52a8\u5fae\u5206\uff0c\u80fd\u5728 GPU \u4e0a\u5b9e\u73b0\u786c\u4ef6\u52a0\u901f\uff0c\u5e76\u4e14\u652f\u6301\u5404\u7c7b\u635f\u5931\u51fd\u6570\u3001\u6570\u636e\u52a0\u8f7d\u5668\u548c\u4f18\u5316\u5668\u3002\u5728\u6b64\u57fa\u7840\u4e0a\uff0c\u5b66\u751f\u5c06\u5b9e\u73b0\u51e0\u7c7b\u5e38\u89c1\u7684\u795e\u7ecf\u7f51\u7edc\uff0c\u5305\u62ec CNN\uff0cRNN\uff0cLSTM\uff0cTransformer \u7b49\u7b49\u3002 \u5373\u4f7f\u4f60\u662f\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u7684\u5c0f\u767d\u4e5f\u4e0d\u5fc5\u8fc7\u4e8e\u62c5\u5fc3\uff0c\u8bfe\u7a0b\u5c06\u4f1a\u5faa\u5e8f\u6e10\u8fdb\u5730\u4ece\u7b80\u5355\u5206\u7c7b\u95ee\u9898\u548c\u53cd\u5411\u4f20\u64ad\u4f18\u5316\u8bb2\u8d77\uff0c\u4e00\u4e9b\u76f8\u5bf9\u590d\u6742\u7684\u795e\u7ecf\u7f51\u7edc\u90fd\u4f1a\u6709\u914d\u5957\u7684 jupyter notebook \u8be6\u7ec6\u5730\u63cf\u8ff0\u5b9e\u73b0\u7ec6\u8282\u3002\u5982\u679c\u4f60\u6709\u4e00\u5b9a\u7684\u76f8\u5173\u57fa\u7840\u77e5\u8bc6\uff0c\u90a3\u4e48\u5728\u5b66\u4e60\u5b8c\u81ea\u5fae\u5206\u90e8\u5206\u7684\u5185\u5bb9\u4e4b\u540e\u4fbf\u53ef\u4ee5\u76f4\u63a5\u4e0a\u624b\u8bfe\u7a0b\u4f5c\u4e1a\uff0c\u96be\u5ea6\u867d\u7136\u4e0d\u5927\u4f46\u76f8\u4fe1\u4e00\u5b9a\u4f1a\u7ed9\u4f60\u5e26\u6765\u65b0\u7684\u7406\u89e3\u3002 \u8fd9\u95e8\u8bfe\u4e24\u4f4d\u6388\u8bfe\u6559\u5e08 Zico Kolter \u548c Tianqi Chen \u5c06\u6240\u6709\u8bfe\u7a0b\u5185\u5bb9\u90fd\u53d1\u5e03\u4e86\u5bf9\u5e94\u7684\u5f00\u6e90\u7248\u672c\uff0c\u4f46\u5728\u7ebf\u8bc4\u6d4b\u8d26\u53f7\u548c\u8bfe\u7a0b\u8bba\u575b\u7684\u6ce8\u518c\u65f6\u95f4\u5df2\u7ecf\u7ed3\u675f\uff0c\u53ea\u5269\u4e0b\u6846\u67b6\u4ee3\u7801\u91cc\u7684\u672c\u5730\u6d4b\u8bd5\u4f9b\u5927\u5bb6\u8c03\u8bd5\u4ee3\u7801\u3002\u6216\u8bb8\u53ef\u4ee5\u671f\u5f85\u660e\u5e74\u79cb\u5b63\u5b66\u671f\u7684\u8bfe\u7a0b\u8fd8\u4f1a\u53d1\u5e03\u76f8\u5e94\u7684\u5728\u7ebf\u7248\u672c\u4f9b\u5927\u5bb6\u5b66\u4e60\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://dlsyscourse.org \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=qbJqOFMyIwg \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://dlsyscourse.org/assignments/","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CMU10-714 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/MLC/","text":"Machine Learning Compilation \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aBilibili \u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60/\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u662f\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u9886\u57df\u7684\u9876\u5c16\u5b66\u8005\u9648\u5929\u5947\u57282022\u5e74\u6691\u671f\u5f00\u8bbe\u7684\u4e00\u95e8\u5728\u7ebf\u8bfe\u7a0b\u3002\u5176\u5b9e\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u65e0\u8bba\u5728\u5de5\u4e1a\u754c\u8fd8\u662f\u5b66\u672f\u754c\u4ecd\u7136\u662f\u4e00\u4e2a\u975e\u5e38\u524d\u6cbf\u4e14\u5feb\u901f\u66f4\u8fed\u7684\u9886\u57df\uff0c\u56fd\u5185\u5916\u6b64\u524d\u8fd8\u6ca1\u6709\u4e3a\u8fd9\u4e2a\u65b9\u5411\u4e13\u95e8\u5f00\u8bbe\u7684\u76f8\u5173\u8bfe\u7a0b\u3002\u56e0\u6b64\u5982\u679c\u5bf9\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u611f\u5174\u8da3\u60f3\u6709\u4e2a\u5168\u8c8c\u6027\u7684\u611f\u77e5\u7684\u8bdd\uff0c\u53ef\u4ee5\u5b66\u4e60\u4e00\u4e0b\u8fd9\u95e8\u8bfe\u3002 \u672c\u8bfe\u7a0b\u4e3b\u8981\u4ee5 Apache TVM \u8fd9\u4e00\u4e3b\u6d41\u7684\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u6846\u67b6\u4e3a\u4f8b\uff08\u9648\u5929\u5947\u662f\u8fd9\u4e2a\u6846\u67b6\u7684\u521b\u59cb\u4eba\u4e4b\u4e00\uff09\uff0c\u805a\u7126\u4e8e\u5982\u4f55\u5c06\u5f00\u53d1\u6a21\u5f0f\u4e0b\uff08\u5982 Tensorflow, Pytorch, Jax\uff09\u7684\u5404\u7c7b\u673a\u5668\u5b66\u4e60\u6a21\u578b\uff0c\u901a\u8fc7\u4e00\u5957\u666e\u9002\u7684\u62bd\u8c61\u548c\u4f18\u5316\u7b97\u6cd5\uff0c\u53d8\u6362\u4e3a\u62e5\u6709\u66f4\u9ad8\u6027\u80fd\u5e76\u4e14\u9002\u914d\u5404\u7c7b\u5e95\u5c42\u786c\u4ef6\u7684\u90e8\u7f72\u6a21\u5f0f\u3002\u8bfe\u7a0b\u8bb2\u6388\u7684\u77e5\u8bc6\u70b9\u90fd\u662f\u76f8\u5bf9 High-Level \u7684\u5b8f\u89c2\u6982\u5ff5\uff0c\u540c\u65f6\u6bcf\u8282\u8bfe\u90fd\u4f1a\u6709\u4e00\u4e2a\u914d\u5957\u7684 Jupyter Notebook \u6765\u901a\u8fc7\u5177\u4f53\u7684\u4ee3\u7801\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u56e0\u6b64\u5982\u679c\u4ece\u4e8b TVM \u76f8\u5173\u7684\u7f16\u7a0b\u5f00\u53d1\u7684\u8bdd\uff0c\u8fd9\u95e8\u8bfe\u6709\u4e30\u5bcc\u4e14\u89c4\u8303\u7684\u4ee3\u7801\u793a\u4f8b\u4ee5\u4f9b\u53c2\u8003\u3002 \u6240\u6709\u7684\u8bfe\u7a0b\u8d44\u6e90\u5168\u90e8\u5f00\u6e90\u5e76\u4e14\u6709\u4e2d\u6587\u548c\u82f1\u6587\u4e24\u4e2a\u7248\u672c\uff0cB\u7ad9\u548c\u6cb9\u7ba1\u5206\u522b\u6709\u4e2d\u6587\u548c\u82f1\u6587\u7684\u8bfe\u7a0b\u5f55\u5f71\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://mlc.ai/summer22-zh/ \u8bfe\u7a0b\u89c6\u9891\uff1a Bilibili \u8bfe\u7a0b\u7b14\u8bb0\uff1a https://mlc.ai/zh/index.html \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://github.com/mlc-ai/notebooks/blob/main/assignment","title":"Machine Learning Compilation"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/MLC/#machine-learning-compilation","text":"","title":"Machine Learning Compilation"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/MLC/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aBilibili \u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60/\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u662f\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u9886\u57df\u7684\u9876\u5c16\u5b66\u8005\u9648\u5929\u5947\u57282022\u5e74\u6691\u671f\u5f00\u8bbe\u7684\u4e00\u95e8\u5728\u7ebf\u8bfe\u7a0b\u3002\u5176\u5b9e\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u65e0\u8bba\u5728\u5de5\u4e1a\u754c\u8fd8\u662f\u5b66\u672f\u754c\u4ecd\u7136\u662f\u4e00\u4e2a\u975e\u5e38\u524d\u6cbf\u4e14\u5feb\u901f\u66f4\u8fed\u7684\u9886\u57df\uff0c\u56fd\u5185\u5916\u6b64\u524d\u8fd8\u6ca1\u6709\u4e3a\u8fd9\u4e2a\u65b9\u5411\u4e13\u95e8\u5f00\u8bbe\u7684\u76f8\u5173\u8bfe\u7a0b\u3002\u56e0\u6b64\u5982\u679c\u5bf9\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u611f\u5174\u8da3\u60f3\u6709\u4e2a\u5168\u8c8c\u6027\u7684\u611f\u77e5\u7684\u8bdd\uff0c\u53ef\u4ee5\u5b66\u4e60\u4e00\u4e0b\u8fd9\u95e8\u8bfe\u3002 \u672c\u8bfe\u7a0b\u4e3b\u8981\u4ee5 Apache TVM \u8fd9\u4e00\u4e3b\u6d41\u7684\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u6846\u67b6\u4e3a\u4f8b\uff08\u9648\u5929\u5947\u662f\u8fd9\u4e2a\u6846\u67b6\u7684\u521b\u59cb\u4eba\u4e4b\u4e00\uff09\uff0c\u805a\u7126\u4e8e\u5982\u4f55\u5c06\u5f00\u53d1\u6a21\u5f0f\u4e0b\uff08\u5982 Tensorflow, Pytorch, Jax\uff09\u7684\u5404\u7c7b\u673a\u5668\u5b66\u4e60\u6a21\u578b\uff0c\u901a\u8fc7\u4e00\u5957\u666e\u9002\u7684\u62bd\u8c61\u548c\u4f18\u5316\u7b97\u6cd5\uff0c\u53d8\u6362\u4e3a\u62e5\u6709\u66f4\u9ad8\u6027\u80fd\u5e76\u4e14\u9002\u914d\u5404\u7c7b\u5e95\u5c42\u786c\u4ef6\u7684\u90e8\u7f72\u6a21\u5f0f\u3002\u8bfe\u7a0b\u8bb2\u6388\u7684\u77e5\u8bc6\u70b9\u90fd\u662f\u76f8\u5bf9 High-Level \u7684\u5b8f\u89c2\u6982\u5ff5\uff0c\u540c\u65f6\u6bcf\u8282\u8bfe\u90fd\u4f1a\u6709\u4e00\u4e2a\u914d\u5957\u7684 Jupyter Notebook \u6765\u901a\u8fc7\u5177\u4f53\u7684\u4ee3\u7801\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u56e0\u6b64\u5982\u679c\u4ece\u4e8b TVM \u76f8\u5173\u7684\u7f16\u7a0b\u5f00\u53d1\u7684\u8bdd\uff0c\u8fd9\u95e8\u8bfe\u6709\u4e30\u5bcc\u4e14\u89c4\u8303\u7684\u4ee3\u7801\u793a\u4f8b\u4ee5\u4f9b\u53c2\u8003\u3002 \u6240\u6709\u7684\u8bfe\u7a0b\u8d44\u6e90\u5168\u90e8\u5f00\u6e90\u5e76\u4e14\u6709\u4e2d\u6587\u548c\u82f1\u6587\u4e24\u4e2a\u7248\u672c\uff0cB\u7ad9\u548c\u6cb9\u7ba1\u5206\u522b\u6709\u4e2d\u6587\u548c\u82f1\u6587\u7684\u8bfe\u7a0b\u5f55\u5f71\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/MLC/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://mlc.ai/summer22-zh/ \u8bfe\u7a0b\u89c6\u9891\uff1a Bilibili \u8bfe\u7a0b\u7b14\u8bb0\uff1a https://mlc.ai/zh/index.html \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://github.com/mlc-ai/notebooks/blob/main/assignment","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/","text":"CMU 10-708: Probabilistic Graphical Models \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://sailinglab.github.io/pgm-spring-2019/ \u8fd9\u4e2a\u7f51\u7ad9\u5305\u542b\u4e86\u6240\u6709\u7684\u8d44\u6e90\uff1aslides, nots, video, homework, project \u8fd9\u95e8\u8bfe\u7a0b\u662f CMU \u7684\u56fe\u6a21\u578b\u57fa\u7840 + \u8fdb\u9636\u8bfe\uff0c\u6388\u8bfe\u8001\u5e08\u4e3a Eric P. Xing\uff0c\u6db5\u76d6\u4e86\u56fe\u6a21\u578b\u57fa\u7840\uff0c\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u5728\u5f3a\u5316\u5b66\u4e60\u4e2d\u7684\u5e94\u7528\uff0c\u4ee5\u53ca\u975e\u53c2\u6570\u65b9\u6cd5\u3002\u76f8\u5f53\u786c\u6838","title":"CMU 10-708: Probabilistic Graphical Models"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/#cmu-10-708-probabilistic-graphical-models","text":"","title":"CMU 10-708: Probabilistic Graphical Models"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://sailinglab.github.io/pgm-spring-2019/ \u8fd9\u4e2a\u7f51\u7ad9\u5305\u542b\u4e86\u6240\u6709\u7684\u8d44\u6e90\uff1aslides, nots, video, homework, project \u8fd9\u95e8\u8bfe\u7a0b\u662f CMU \u7684\u56fe\u6a21\u578b\u57fa\u7840 + \u8fdb\u9636\u8bfe\uff0c\u6388\u8bfe\u8001\u5e08\u4e3a Eric P. Xing\uff0c\u6db5\u76d6\u4e86\u56fe\u6a21\u578b\u57fa\u7840\uff0c\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u5728\u5f3a\u5316\u5b66\u4e60\u4e2d\u7684\u5e94\u7528\uff0c\u4ee5\u53ca\u975e\u53c2\u6570\u65b9\u6cd5\u3002\u76f8\u5f53\u786c\u6838","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/","text":"STATS214 / CS229M: Machine Learning Theory \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Statistics \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/stats214/ \u7ecf\u5178\u5b66\u4e60\u7406\u8bba + \u6700\u65b0\u6df1\u5ea6\u5b66\u4e60\u7406\u8bba\uff0c\u975e\u5e38\u786c\u6838\u3002\u6388\u8bfe\u8001\u5e08\u4e4b\u524d\u662f Percy Liang\uff0c\u73b0\u5728\u662f Tengyu Ma","title":"Stanford STATS214 / CS229M: Machine Learning Theory"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/#stats214-cs229m-machine-learning-theory","text":"","title":"STATS214 / CS229M: Machine Learning Theory"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Statistics \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/stats214/ \u7ecf\u5178\u5b66\u4e60\u7406\u8bba + \u6700\u65b0\u6df1\u5ea6\u5b66\u4e60\u7406\u8bba\uff0c\u975e\u5e38\u786c\u6838\u3002\u6388\u8bfe\u8001\u5e08\u4e4b\u524d\u662f Percy Liang\uff0c\u73b0\u5728\u662f Tengyu Ma","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/","text":"STA 4273 Winter 2021: Minimizing Expectations \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aU Toronto \u5148\u4fee\u8981\u6c42\uff1aBayesian Inference, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.cs.toronto.edu/~cmaddis/courses/sta4273_w21/ \u8fd9\u662f\u4e00\u95e8\u8f83\u4e3a\u8fdb\u9636\u7684 Ph.D. \u7814\u7a76\u8bfe\u7a0b\uff0c\u6838\u5fc3\u5185\u5bb9\u662f inference \u548c control \u4e4b\u95f4\u7684\u5173\u7cfb\u3002\u6388\u8bfe\u8001\u5e08\u4e3a Chris Maddison (AlphaGo founding member, NeurIPS 14 best paper)","title":"U Toronto STA 4273 Winter 2021: Minimizing Expectations"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/#sta-4273-winter-2021-minimizing-expectations","text":"","title":"STA 4273 Winter 2021: Minimizing Expectations"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aU Toronto \u5148\u4fee\u8981\u6c42\uff1aBayesian Inference, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.cs.toronto.edu/~cmaddis/courses/sta4273_w21/ \u8fd9\u662f\u4e00\u95e8\u8f83\u4e3a\u8fdb\u9636\u7684 Ph.D. \u7814\u7a76\u8bfe\u7a0b\uff0c\u6838\u5fc3\u5185\u5bb9\u662f inference \u548c control \u4e4b\u95f4\u7684\u5173\u7cfb\u3002\u6388\u8bfe\u8001\u5e08\u4e3a Chris Maddison (AlphaGo founding member, NeurIPS 14 best paper)","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/","text":"Columbia STAT 8201: Deep Generative Models \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aColumbia University \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Graphical Models \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://stat.columbia.edu/~cunningham/teaching/GR8201/ \u8fd9\u95e8\u8bfe\u662f\u4e00\u95e8 PhD \u8ba8\u8bba\u73ed\uff0c\u6bcf\u5468\u7684\u5185\u5bb9\u662f\u5c55\u793a + \u8ba8\u8bba\u8bba\u6587\uff0c\u6388\u8bfe\u8001\u5e08\u662f John Cunningham\u3002Deep Generative Models \uff08\u6df1\u5ea6\u751f\u6210\u6a21\u578b\uff09 \u662f\u56fe\u6a21\u578b\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u4e5f\u662f\u73b0\u4ee3\u673a\u5668\u5b66\u4e60\u6700\u91cd\u8981\u7684\u65b9\u5411\u4e4b\u4e00","title":"Columbia STAT 8201: Deep Generative Models"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/#columbia-stat-8201-deep-generative-models","text":"","title":"Columbia STAT 8201: Deep Generative Models"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aColumbia University \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Graphical Models \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://stat.columbia.edu/~cunningham/teaching/GR8201/ \u8fd9\u95e8\u8bfe\u662f\u4e00\u95e8 PhD \u8ba8\u8bba\u73ed\uff0c\u6bcf\u5468\u7684\u5185\u5bb9\u662f\u5c55\u793a + \u8ba8\u8bba\u8bba\u6587\uff0c\u6388\u8bfe\u8001\u5e08\u662f John Cunningham\u3002Deep Generative Models \uff08\u6df1\u5ea6\u751f\u6210\u6a21\u578b\uff09 \u662f\u56fe\u6a21\u578b\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u4e5f\u662f\u73b0\u4ee3\u673a\u5668\u5b66\u4e60\u6700\u91cd\u8981\u7684\u65b9\u5411\u4e4b\u4e00","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/","text":"\u673a\u5668\u5b66\u4e60\u8fdb\u9636 \u6b64\u8def\u7ebf\u56fe\u9002\u7528\u4e8e\u5df2\u7ecf\u5b66\u8fc7\u4e86\u57fa\u7840\u673a\u5668\u5b66\u4e60 (ML, NLP, CV, RL) \u7684\u540c\u5b66 (\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u6216\u4f4e\u5e74\u7ea7\u7814\u7a76\u751f)\uff0c\u5df2\u7ecf\u53d1\u8868\u8fc7\u81f3\u5c11\u4e00\u7bc7\u9876\u4f1a\u8bba\u6587 (NeurIPS, ICML, ICLR, ACL, EMNLP, NAACL, CVPR, ICCV) \u60f3\u8981\u8d70\u673a\u5668\u5b66\u4e60\u79d1\u7814\u8def\u7ebf\u7684\u9009\u624b\u3002 \u6b64\u8def\u7ebf\u7684\u76ee\u6807\u662f\u4e3a\u8bfb\u61c2\u4e0e\u53d1\u8868\u673a\u5668\u5b66\u4e60\u9876\u4f1a\u8bba\u6587\u6253\u4e0b\u7406\u8bba\u57fa\u7840\uff0c\u7279\u522b\u662f Probabilistic Methods \u8fd9\u4e2a track \u4e0b\u7684\u6587\u7ae0 \u673a\u5668\u5b66\u4e60\u8fdb\u9636\u53ef\u80fd\u5b58\u5728\u591a\u79cd\u4e0d\u540c\u7684\u5b66\u4e60\u8def\u7ebf\uff0c\u6b64\u8def\u7ebf\u53ea\u80fd\u4ee3\u8868\u4f5c\u8005 Yao Fu \u6240\u7406\u89e3\u7684\u6700\u4f73\u8def\u5f84\uff0c\u4fa7\u91cd\u4e8e\u8d1d\u53f6\u65af\u5b66\u6d3e\u4e0b\u7684\u6982\u7387\u5efa\u6a21\u65b9\u6cd5\uff0c\u4e5f\u4f1a\u6d89\u53ca\u5230\u5404\u9879\u76f8\u5173\u5b66\u79d1\u7684\u4ea4\u53c9\u77e5\u8bc6\u3002 \u5fc5\u8bfb\u6559\u6750 PRML: Pattern Recognition and Machine Learning. Christopher Bishop \u7ecf\u5178\u8d1d\u53f6\u65af\u5b66\u6d3e\u6559\u6750 AoS: All of Statistics. Larry Wasserman \u7ecf\u5178\u9891\u7387\u5b66\u6d3e\u6559\u6750 \u6240\u4ee5\u8fd9\u4e24\u672c\u4e66\u521a\u597d\u76f8\u8f85\u76f8\u6210 \u5b57\u5178 MLAPP: Machine Learning: A Probabilistic Perspective. Kevin Murphy Convex Optimization. Stephen Boyd and Lieven Vandenberghe \u8fdb\u9636\u4e66\u7c4d W&J: Graphical Models, Exponential Families, and Variational Inference. Martin Wainwright and Michael Jordan Theory of Point Estimation. E. L. Lehmann and George Casella \u5982\u4f55\u9605\u8bfb Guidelines \u5fc5\u8bfb\u6559\u6750\u5c31\u662f\u4e00\u5b9a\u8981\u8bfb\u7684\u6559\u6750 \u5b57\u5178\u7684\u610f\u601d\u662f\uff0c\u4e00\u822c\u60c5\u51b5\u4e0b\u4e0d\u7ba1\u5b83\uff0c\u4f46\u5f53\u9047\u5230\u4e86\u4e0d\u61c2\u7684\u6982\u5ff5\u7684\u65f6\u5019\uff0c\u5c31\u53bb\u5b57\u5178\u91cc\u9762\u67e5\uff08\u800c\u4e0d\u662f\u7ef4\u57fa\u767e\u79d1\uff09 \u8fdb\u9636\u4e66\u7c4d\u5148\u4e0d\u8bfb\uff0c\u5148\u8bfb\u5b8c\u5fc5\u8bfb\u4e66\u7c4d\u3002\u5fc5\u8bfb\u4e66\u7c4d\u4e00\u822c\u90fd\u662f\u8981\u524d\u524d\u540e\u540e\u53cd\u590d\u770b\u8fc7 N \u904d\u624d\u7b97\u8bfb\u5b8c \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6700\u91cd\u8981\u7684\u8bfb\u6cd5\u5c31\u662f\u5bf9\u6bd4\u9605\u8bfb (contrastive-comparative reading)\uff1a\u540c\u65f6\u6253\u5f00\u4e24\u672c\u4e66\u8bb2\u540c\u4e00\u4e3b\u9898\u7684\u7ae0\u8282\uff0c\u7136\u540e\u5bf9\u6bd4\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u5c3d\u91cf\u53bb\u56de\u60f3\u4e4b\u524d\u8bfb\u8fc7\u7684\u8bba\u6587\uff0c\u6bd4\u8f83\u8bba\u6587\u548c\u6559\u6750\u7684\u76f8\u540c\u70b9\u4e0e\u4e0d\u540c\u70b9 \u57fa\u7840\u8def\u5f84 \u5148\u8bfb AoS \u7b2c\u516d\u7ae0: Models, Statistical Inference and Learning\uff0c\u8fd9\u4e00\u90e8\u5206\u662f\u6700\u57fa\u7840\u7684\u79d1\u666e \u7136\u540e\u8bfb PRML \u7b2c 10, 11 \u7ae0 \u7b2c 10 \u7ae0\u7684\u5185\u5bb9\u662f Variational Inference, \u7b2c 11 \u7ae0\u7684\u5185\u5bb9\u662f MCMC, \u8fd9\u4e24\u79cd\u65b9\u6cd5\u662f\u8d1d\u53f6\u65af\u63a8\u65ad\u7684\u4e24\u6761\u6700\u4e3b\u8981\u8def\u7ebf \u5982\u679c\u5728\u8bfb PRML \u7684\u8fc7\u7a0b\u4e2d\u53d1\u73b0\u6709\u4efb\u4f55\u4e0d\u61c2\u7684\u540d\u8bcd\uff0c\u5c31\u53bb\u7ffb\u524d\u9762\u7684\u7ae0\u8282\u3002\u5f88\u5927\u6982\u7387\u80fd\u591f\u5728\u7b2c 3\uff0c4 \u7ae0\u627e\u5230\u76f8\u5bf9\u5e94\u7684\u5b9a\u4e49\uff1b\u5982\u679c\u627e\u4e0d\u5230\u6216\u8005\u4e0d\u591f\u8be6\u7ec6\uff0c\u5c31\u53bb\u67e5 MLAPP AoS \u7b2c 8 \u7ae0 (Parametric Inference) \u548c\u7b2c 11 \u7ae0 (Bayesian Inference) \u4e5f\u53ef\u4ee5\u4f5c\u4e3a\u53c2\u8003\u3002\u6700\u597d\u7684\u65b9\u6cd5\u662f\u591a\u672c\u4e66\u5bf9\u6bd4\u9605\u8bfb\uff0c\u6d41\u7a0b\u5982\u4e0b \u5047\u8bbe\u6211\u5728\u8bfb PRML \u7b2c 10 \u7ae0\u7684\u65f6\u5019\u53d1\u73b0\u4e86\u4e00\u4e2a\u4e0d\u61c2\u7684\u8bcd\uff1aposterior inference \u4e8e\u662f\u6211\u5f80\u524d\u7ffb\uff0c\u7ffb\u5230\u4e86\u7b2c 3 \u7ae0 (Linear Model for Regression)\uff0c\u770b\u5230\u4e86\u6700\u7b80\u5355\u7684 posterior \u7136\u540e\u6211\u63a5\u7740\u7ffb AoS\uff0c\u7ffb\u5230\u4e86\u7b2c 11 \u7ae0\uff0c\u4e5f\u6709\u5bf9 posterior \u7684\u63cf\u8ff0 \u7136\u540e\u6211\u5bf9\u6bd4 PRML \u7b2c 10 \u7ae0\uff0c\u7b2c 3 \u7ae0\uff0cAoS \u7b2c 11 \u7ae0\uff0c\u4e09\u5904\u4e0d\u540c\u5730\u65b9\u5bf9 posterior \u7684\u89e3\u8bfb\uff0c\u6bd4\u8f83\u5176\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u5b8c PRML \u7b2c 10 \u548c 11 \u7ae0\u4e4b\u540e\uff0c\u63a5\u7740\u8bfb AoS \u7b2c 24 \u7ae0 (Simulation Methods)\uff0c\u7136\u540e\u628a\u5b83\u548c PRML \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb -- \u8fd9\u4fe9\u90fd\u662f\u8bb2 MCMC \u5982\u679c\u5230\u6b64\u5904\u53d1\u73b0\u8fd8\u6709\u57fa\u7840\u6982\u5ff5\u8bfb\u4e0d\u61c2\uff0c\u5c31\u56de\u5230 PRML \u7b2c 3 \u7ae0\uff0c\u628a\u5b83\u548c AoS \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb Again\uff0c\u5bf9\u6bd4\u9605\u8bfb\u975e\u5e38\u91cd\u8981\uff0c\u4e00\u5b9a\u8981\u628a\u4e0d\u540c\u672c\u4e66\u7684\u7c7b\u4f3c\u5185\u5bb9\u540c\u65f6\u6446\u5728\u9762\u524d\u76f8\u4e92\u5bf9\u6bd4\uff0c\u8fd9\u6837\u53ef\u4ee5\u663e\u8457\u589e\u5f3a\u8bb0\u5fc6 \u7136\u540e\u8bfb PRML \u7b2c 13 \u7ae0\uff08\u8df3\u8fc7\u7b2c 12 \u7ae0\uff09\uff0c\u8fd9\u4e00\u7ae0\u53ef\u4ee5\u548c MLAPP \u7684\u7b2c 17, 18 \u7ae0\u5bf9\u6bd4\u9605\u8bfb MLAPP \u7b2c 17 \u7ae0\u662f PRML \u7b2c 13.2 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 HMM MLAPP \u7b2c 18 \u7ae0\u662f PRML \u7b2c 13.3 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 LDS \u8bfb\u5b8c PRML \u7b2c 13 \u7ae0\u4e4b\u540e\uff0c\u518d\u53bb\u8bfb PRML \u7b2c 8 \u7ae0 (Graphical Models) -- \u6b64\u65f6\u8fd9\u90e8\u5206\u5e94\u8be5\u4f1a\u8bfb\u5f97\u5f88\u8f7b\u677e \u4ee5\u4e0a\u7684\u5185\u5bb9\u53ef\u4ee5\u8fdb\u4e00\u6b65\u5bf9\u7167 CMU 10-708 PGM \u8bfe\u7a0b\u6750\u6599 \u5230\u76ee\u524d\u4e3a\u6b62\uff0c\u5e94\u8be5\u80fd\u591f\u638c\u63e1 \u6982\u7387\u6a21\u578b\u7684\u57fa\u7840\u5b9a\u4e49 \u7cbe\u51c6\u63a8\u65ad - Sum-Product \u8fd1\u4f3c\u63a8\u65ad - MCMC \u8fd1\u4f3c\u63a8\u65ad - VI \u7136\u540e\u5c31\u53ef\u4ee5\u53bb\u505a\u66f4\u8fdb\u9636\u7684\u5185\u5bb9","title":"\u8fdb\u9636\u8def\u7ebf\u56fe"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_1","text":"\u6b64\u8def\u7ebf\u56fe\u9002\u7528\u4e8e\u5df2\u7ecf\u5b66\u8fc7\u4e86\u57fa\u7840\u673a\u5668\u5b66\u4e60 (ML, NLP, CV, RL) \u7684\u540c\u5b66 (\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u6216\u4f4e\u5e74\u7ea7\u7814\u7a76\u751f)\uff0c\u5df2\u7ecf\u53d1\u8868\u8fc7\u81f3\u5c11\u4e00\u7bc7\u9876\u4f1a\u8bba\u6587 (NeurIPS, ICML, ICLR, ACL, EMNLP, NAACL, CVPR, ICCV) \u60f3\u8981\u8d70\u673a\u5668\u5b66\u4e60\u79d1\u7814\u8def\u7ebf\u7684\u9009\u624b\u3002 \u6b64\u8def\u7ebf\u7684\u76ee\u6807\u662f\u4e3a\u8bfb\u61c2\u4e0e\u53d1\u8868\u673a\u5668\u5b66\u4e60\u9876\u4f1a\u8bba\u6587\u6253\u4e0b\u7406\u8bba\u57fa\u7840\uff0c\u7279\u522b\u662f Probabilistic Methods \u8fd9\u4e2a track \u4e0b\u7684\u6587\u7ae0 \u673a\u5668\u5b66\u4e60\u8fdb\u9636\u53ef\u80fd\u5b58\u5728\u591a\u79cd\u4e0d\u540c\u7684\u5b66\u4e60\u8def\u7ebf\uff0c\u6b64\u8def\u7ebf\u53ea\u80fd\u4ee3\u8868\u4f5c\u8005 Yao Fu \u6240\u7406\u89e3\u7684\u6700\u4f73\u8def\u5f84\uff0c\u4fa7\u91cd\u4e8e\u8d1d\u53f6\u65af\u5b66\u6d3e\u4e0b\u7684\u6982\u7387\u5efa\u6a21\u65b9\u6cd5\uff0c\u4e5f\u4f1a\u6d89\u53ca\u5230\u5404\u9879\u76f8\u5173\u5b66\u79d1\u7684\u4ea4\u53c9\u77e5\u8bc6\u3002","title":"\u673a\u5668\u5b66\u4e60\u8fdb\u9636"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_2","text":"PRML: Pattern Recognition and Machine Learning. Christopher Bishop \u7ecf\u5178\u8d1d\u53f6\u65af\u5b66\u6d3e\u6559\u6750 AoS: All of Statistics. Larry Wasserman \u7ecf\u5178\u9891\u7387\u5b66\u6d3e\u6559\u6750 \u6240\u4ee5\u8fd9\u4e24\u672c\u4e66\u521a\u597d\u76f8\u8f85\u76f8\u6210","title":"\u5fc5\u8bfb\u6559\u6750"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_3","text":"MLAPP: Machine Learning: A Probabilistic Perspective. Kevin Murphy Convex Optimization. Stephen Boyd and Lieven Vandenberghe","title":"\u5b57\u5178"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_4","text":"W&J: Graphical Models, Exponential Families, and Variational Inference. Martin Wainwright and Michael Jordan Theory of Point Estimation. E. L. Lehmann and George Casella","title":"\u8fdb\u9636\u4e66\u7c4d"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_5","text":"","title":"\u5982\u4f55\u9605\u8bfb"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#guidelines","text":"\u5fc5\u8bfb\u6559\u6750\u5c31\u662f\u4e00\u5b9a\u8981\u8bfb\u7684\u6559\u6750 \u5b57\u5178\u7684\u610f\u601d\u662f\uff0c\u4e00\u822c\u60c5\u51b5\u4e0b\u4e0d\u7ba1\u5b83\uff0c\u4f46\u5f53\u9047\u5230\u4e86\u4e0d\u61c2\u7684\u6982\u5ff5\u7684\u65f6\u5019\uff0c\u5c31\u53bb\u5b57\u5178\u91cc\u9762\u67e5\uff08\u800c\u4e0d\u662f\u7ef4\u57fa\u767e\u79d1\uff09 \u8fdb\u9636\u4e66\u7c4d\u5148\u4e0d\u8bfb\uff0c\u5148\u8bfb\u5b8c\u5fc5\u8bfb\u4e66\u7c4d\u3002\u5fc5\u8bfb\u4e66\u7c4d\u4e00\u822c\u90fd\u662f\u8981\u524d\u524d\u540e\u540e\u53cd\u590d\u770b\u8fc7 N \u904d\u624d\u7b97\u8bfb\u5b8c \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6700\u91cd\u8981\u7684\u8bfb\u6cd5\u5c31\u662f\u5bf9\u6bd4\u9605\u8bfb (contrastive-comparative reading)\uff1a\u540c\u65f6\u6253\u5f00\u4e24\u672c\u4e66\u8bb2\u540c\u4e00\u4e3b\u9898\u7684\u7ae0\u8282\uff0c\u7136\u540e\u5bf9\u6bd4\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u5c3d\u91cf\u53bb\u56de\u60f3\u4e4b\u524d\u8bfb\u8fc7\u7684\u8bba\u6587\uff0c\u6bd4\u8f83\u8bba\u6587\u548c\u6559\u6750\u7684\u76f8\u540c\u70b9\u4e0e\u4e0d\u540c\u70b9","title":"Guidelines"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_6","text":"\u5148\u8bfb AoS \u7b2c\u516d\u7ae0: Models, Statistical Inference and Learning\uff0c\u8fd9\u4e00\u90e8\u5206\u662f\u6700\u57fa\u7840\u7684\u79d1\u666e \u7136\u540e\u8bfb PRML \u7b2c 10, 11 \u7ae0 \u7b2c 10 \u7ae0\u7684\u5185\u5bb9\u662f Variational Inference, \u7b2c 11 \u7ae0\u7684\u5185\u5bb9\u662f MCMC, \u8fd9\u4e24\u79cd\u65b9\u6cd5\u662f\u8d1d\u53f6\u65af\u63a8\u65ad\u7684\u4e24\u6761\u6700\u4e3b\u8981\u8def\u7ebf \u5982\u679c\u5728\u8bfb PRML \u7684\u8fc7\u7a0b\u4e2d\u53d1\u73b0\u6709\u4efb\u4f55\u4e0d\u61c2\u7684\u540d\u8bcd\uff0c\u5c31\u53bb\u7ffb\u524d\u9762\u7684\u7ae0\u8282\u3002\u5f88\u5927\u6982\u7387\u80fd\u591f\u5728\u7b2c 3\uff0c4 \u7ae0\u627e\u5230\u76f8\u5bf9\u5e94\u7684\u5b9a\u4e49\uff1b\u5982\u679c\u627e\u4e0d\u5230\u6216\u8005\u4e0d\u591f\u8be6\u7ec6\uff0c\u5c31\u53bb\u67e5 MLAPP AoS \u7b2c 8 \u7ae0 (Parametric Inference) \u548c\u7b2c 11 \u7ae0 (Bayesian Inference) \u4e5f\u53ef\u4ee5\u4f5c\u4e3a\u53c2\u8003\u3002\u6700\u597d\u7684\u65b9\u6cd5\u662f\u591a\u672c\u4e66\u5bf9\u6bd4\u9605\u8bfb\uff0c\u6d41\u7a0b\u5982\u4e0b \u5047\u8bbe\u6211\u5728\u8bfb PRML \u7b2c 10 \u7ae0\u7684\u65f6\u5019\u53d1\u73b0\u4e86\u4e00\u4e2a\u4e0d\u61c2\u7684\u8bcd\uff1aposterior inference \u4e8e\u662f\u6211\u5f80\u524d\u7ffb\uff0c\u7ffb\u5230\u4e86\u7b2c 3 \u7ae0 (Linear Model for Regression)\uff0c\u770b\u5230\u4e86\u6700\u7b80\u5355\u7684 posterior \u7136\u540e\u6211\u63a5\u7740\u7ffb AoS\uff0c\u7ffb\u5230\u4e86\u7b2c 11 \u7ae0\uff0c\u4e5f\u6709\u5bf9 posterior \u7684\u63cf\u8ff0 \u7136\u540e\u6211\u5bf9\u6bd4 PRML \u7b2c 10 \u7ae0\uff0c\u7b2c 3 \u7ae0\uff0cAoS \u7b2c 11 \u7ae0\uff0c\u4e09\u5904\u4e0d\u540c\u5730\u65b9\u5bf9 posterior \u7684\u89e3\u8bfb\uff0c\u6bd4\u8f83\u5176\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u5b8c PRML \u7b2c 10 \u548c 11 \u7ae0\u4e4b\u540e\uff0c\u63a5\u7740\u8bfb AoS \u7b2c 24 \u7ae0 (Simulation Methods)\uff0c\u7136\u540e\u628a\u5b83\u548c PRML \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb -- \u8fd9\u4fe9\u90fd\u662f\u8bb2 MCMC \u5982\u679c\u5230\u6b64\u5904\u53d1\u73b0\u8fd8\u6709\u57fa\u7840\u6982\u5ff5\u8bfb\u4e0d\u61c2\uff0c\u5c31\u56de\u5230 PRML \u7b2c 3 \u7ae0\uff0c\u628a\u5b83\u548c AoS \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb Again\uff0c\u5bf9\u6bd4\u9605\u8bfb\u975e\u5e38\u91cd\u8981\uff0c\u4e00\u5b9a\u8981\u628a\u4e0d\u540c\u672c\u4e66\u7684\u7c7b\u4f3c\u5185\u5bb9\u540c\u65f6\u6446\u5728\u9762\u524d\u76f8\u4e92\u5bf9\u6bd4\uff0c\u8fd9\u6837\u53ef\u4ee5\u663e\u8457\u589e\u5f3a\u8bb0\u5fc6 \u7136\u540e\u8bfb PRML \u7b2c 13 \u7ae0\uff08\u8df3\u8fc7\u7b2c 12 \u7ae0\uff09\uff0c\u8fd9\u4e00\u7ae0\u53ef\u4ee5\u548c MLAPP \u7684\u7b2c 17, 18 \u7ae0\u5bf9\u6bd4\u9605\u8bfb MLAPP \u7b2c 17 \u7ae0\u662f PRML \u7b2c 13.2 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 HMM MLAPP \u7b2c 18 \u7ae0\u662f PRML \u7b2c 13.3 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 LDS \u8bfb\u5b8c PRML \u7b2c 13 \u7ae0\u4e4b\u540e\uff0c\u518d\u53bb\u8bfb PRML \u7b2c 8 \u7ae0 (Graphical Models) -- \u6b64\u65f6\u8fd9\u90e8\u5206\u5e94\u8be5\u4f1a\u8bfb\u5f97\u5f88\u8f7b\u677e \u4ee5\u4e0a\u7684\u5185\u5bb9\u53ef\u4ee5\u8fdb\u4e00\u6b65\u5bf9\u7167 CMU 10-708 PGM \u8bfe\u7a0b\u6750\u6599 \u5230\u76ee\u524d\u4e3a\u6b62\uff0c\u5e94\u8be5\u80fd\u591f\u638c\u63e1 \u6982\u7387\u6a21\u578b\u7684\u57fa\u7840\u5b9a\u4e49 \u7cbe\u51c6\u63a8\u65ad - Sum-Product \u8fd1\u4f3c\u63a8\u65ad - MCMC \u8fd1\u4f3c\u63a8\u65ad - VI \u7136\u540e\u5c31\u53ef\u4ee5\u53bb\u505a\u66f4\u8fdb\u9636\u7684\u5185\u5bb9","title":"\u57fa\u7840\u8def\u5f84"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/","text":"CS224n: Natural Language Processing \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684 NLP \u5165\u95e8\u8bfe\u7a0b\uff0c\u7531\u81ea\u7136\u8bed\u8a00\u5904\u7406\u9886\u57df\u7684\u5de8\u4f6c Chris Manning \u9886\u8854\u6559\u6388\uff08word2vec \u7b97\u6cd5\u7684\u5f00\u521b\u8005\uff09\u3002\u5185\u5bb9\u8986\u76d6\u4e86\u8bcd\u5411\u91cf\u3001RNN\u3001LSTM\u3001Seq2Seq \u6a21\u578b\u3001\u673a\u5668\u7ffb\u8bd1\u3001\u6ce8\u610f\u529b\u673a\u5236\u3001Transformer \u7b49\u7b49 NLP \u9886\u57df\u7684\u6838\u5fc3\u77e5\u8bc6\u70b9\u3002 5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u96be\u5ea6\u5faa\u5e8f\u6e10\u8fdb\uff0c\u5206\u522b\u662f\u8bcd\u5411\u91cf\u3001word2vec \u7b97\u6cd5\u3001Dependency parsing\u3001\u673a\u5668\u7ffb\u8bd1\u4ee5\u53ca Transformer \u7684 fine-tune\u3002 \u6700\u7ec8\u7684\u5927\u4f5c\u4e1a\u662f\u5728 Stanford \u8457\u540d\u7684 SQuAD \u6570\u636e\u96c6\u4e0a\u8bad\u7ec3 QA \u6a21\u578b\uff0c\u6709\u5b66\u751f\u7684\u5927\u4f5c\u4e1a\u751a\u81f3\u76f4\u63a5\u53d1\u8868\u4e86\u9876\u4f1a\u8bba\u6587\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs224n/index.html \u8bfe\u7a0b\u89c6\u9891\uff1aB \u7ad9\u641c\u7d22 CS224n \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://web.stanford.edu/class/cs224n/index.html \uff0c5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a + 1 \u4e2a Final Project \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS224n - GitHub \u4e2d\u3002","title":"Stanford CS224n: Natural Language Processing"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#cs224n-natural-language-processing","text":"","title":"CS224n: Natural Language Processing"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684 NLP \u5165\u95e8\u8bfe\u7a0b\uff0c\u7531\u81ea\u7136\u8bed\u8a00\u5904\u7406\u9886\u57df\u7684\u5de8\u4f6c Chris Manning \u9886\u8854\u6559\u6388\uff08word2vec \u7b97\u6cd5\u7684\u5f00\u521b\u8005\uff09\u3002\u5185\u5bb9\u8986\u76d6\u4e86\u8bcd\u5411\u91cf\u3001RNN\u3001LSTM\u3001Seq2Seq \u6a21\u578b\u3001\u673a\u5668\u7ffb\u8bd1\u3001\u6ce8\u610f\u529b\u673a\u5236\u3001Transformer \u7b49\u7b49 NLP \u9886\u57df\u7684\u6838\u5fc3\u77e5\u8bc6\u70b9\u3002 5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u96be\u5ea6\u5faa\u5e8f\u6e10\u8fdb\uff0c\u5206\u522b\u662f\u8bcd\u5411\u91cf\u3001word2vec \u7b97\u6cd5\u3001Dependency parsing\u3001\u673a\u5668\u7ffb\u8bd1\u4ee5\u53ca Transformer \u7684 fine-tune\u3002 \u6700\u7ec8\u7684\u5927\u4f5c\u4e1a\u662f\u5728 Stanford \u8457\u540d\u7684 SQuAD \u6570\u636e\u96c6\u4e0a\u8bad\u7ec3 QA \u6a21\u578b\uff0c\u6709\u5b66\u751f\u7684\u5927\u4f5c\u4e1a\u751a\u81f3\u76f4\u63a5\u53d1\u8868\u4e86\u9876\u4f1a\u8bba\u6587\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs224n/index.html \u8bfe\u7a0b\u89c6\u9891\uff1aB \u7ad9\u641c\u7d22 CS224n \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://web.stanford.edu/class/cs224n/index.html \uff0c5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a + 1 \u4e2a Final Project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS224n - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/","text":"CS224w: Machine Learning with Graphs \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython, LaTeX \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684\u56fe\u795e\u7ecf\u7f51\u7edc\u5165\u95e8\u8bfe\uff0c\u8fd9\u95e8\u8bfe\u6211\u6ca1\u6709\u4e0a\u8fc7\uff0c\u4f46\u4f17\u591a\u505a GNN \u7684\u670b\u53cb\u90fd\u5411\u6211\u529b\u8350\u8fc7\u8fd9\u95e8\u8bfe\uff0c\u60f3\u5fc5 Stanford \u7684\u8bfe\u8d28\u91cf\u8fd8\u662f\u4e00\u5982\u65e2\u5f80\u5730\u6709\u4fdd\u8bc1\u7684\u3002\u53e6\u5916\u5c31\u662f\u8fd9\u95e8\u8bfe\u7684\u6388\u8bfe\u8001\u5e08\u975e\u5e38\u5e74\u8f7b\u5e05\u6c14:) \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs224w/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=JAB_plj2rbA \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://web.stanford.edu/class/cs224w/ \uff0c6 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c3 \u4e2a LaTeX \u4e66\u9762\u4f5c\u4e1a","title":"Stanford CS224w: Machine Learning with Graphs"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/#cs224w-machine-learning-with-graphs","text":"","title":"CS224w: Machine Learning with Graphs"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython, LaTeX \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684\u56fe\u795e\u7ecf\u7f51\u7edc\u5165\u95e8\u8bfe\uff0c\u8fd9\u95e8\u8bfe\u6211\u6ca1\u6709\u4e0a\u8fc7\uff0c\u4f46\u4f17\u591a\u505a GNN \u7684\u670b\u53cb\u90fd\u5411\u6211\u529b\u8350\u8fc7\u8fd9\u95e8\u8bfe\uff0c\u60f3\u5fc5 Stanford \u7684\u8bfe\u8d28\u91cf\u8fd8\u662f\u4e00\u5982\u65e2\u5f80\u5730\u6709\u4fdd\u8bc1\u7684\u3002\u53e6\u5916\u5c31\u662f\u8fd9\u95e8\u8bfe\u7684\u6388\u8bfe\u8001\u5e08\u975e\u5e38\u5e74\u8f7b\u5e05\u6c14:)","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs224w/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=JAB_plj2rbA \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://web.stanford.edu/class/cs224w/ \uff0c6 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c3 \u4e2a LaTeX \u4e66\u9762\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/","text":"Coursera: Deep Learning Descriptions Offered by: Stanford Prerequisites: fundamental machine learning + Python Programming Language: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 80 hours Yet another popular online course offered by Andrew Ng on Coursera. It has attracted many learners and can be seen as the Bible of fundamental deep learning. The course provides well-covered projects, with clear but thorough instructions. The course starts from basic neural networks, to CNN, RNN, and all the way to Transformer, which has been a hot topic these days. After learning this course, you'll be equipped with the basic knowledge and skills for deep learning, and you may want to participate in Kaggle competitions to practice your skills with real tasks. Couse Resources Course Website: https://www.coursera.org/specializations/deep-learning Lecture Videos: https://www.coursera.org/specializations/deep-learning , can be found on Bilibili Text Book: none Assignments: https://www.coursera.org/specializations/deep-learning","title":"Coursera: Deep Learning"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/#coursera-deep-learning","text":"","title":"Coursera: Deep Learning"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/#descriptions","text":"Offered by: Stanford Prerequisites: fundamental machine learning + Python Programming Language: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 80 hours Yet another popular online course offered by Andrew Ng on Coursera. It has attracted many learners and can be seen as the Bible of fundamental deep learning. The course provides well-covered projects, with clear but thorough instructions. The course starts from basic neural networks, to CNN, RNN, and all the way to Transformer, which has been a hot topic these days. After learning this course, you'll be equipped with the basic knowledge and skills for deep learning, and you may want to participate in Kaggle competitions to practice your skills with real tasks.","title":"Descriptions"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/#couse-resources","text":"Course Website: https://www.coursera.org/specializations/deep-learning Lecture Videos: https://www.coursera.org/specializations/deep-learning , can be found on Bilibili Text Book: none Assignments: https://www.coursera.org/specializations/deep-learning","title":"Couse Resources"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/","text":"CS231n: CNN for Visual Recognition \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684 CV \u5165\u95e8\u8bfe\uff0c\u7531\u8ba1\u7b97\u673a\u9886\u57df\u7684\u5de8\u4f6c\u674e\u98de\u98de\u9662\u58eb\u9886\u8854\u6559\u6388\uff08CV \u9886\u57df\u5212\u65f6\u4ee3\u7684\u8457\u540d\u6570\u636e\u96c6 ImageNet \u7684\u7814\u7a76\u56e2\u961f\uff09\uff0c\u4f46\u5176\u5185\u5bb9\u76f8\u5bf9\u57fa\u7840\u4e14\u53cb\u597d\uff0c\u5982\u679c\u4e0a\u8fc7 CS230 \u7684\u8bdd\u53ef\u4ee5\u76f4\u63a5\u4e0a\u624b Project \u4f5c\u4e3a\u7ec3\u4e60\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://cs231n.stanford.edu/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1nJ411z7fe \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://cs231n.stanford.edu/schedule.html \uff0c3\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"Stanford CS231n: CNN for Visual Recognition"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/#cs231n-cnn-for-visual-recognition","text":"","title":"CS231n: CNN for Visual Recognition"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684 CV \u5165\u95e8\u8bfe\uff0c\u7531\u8ba1\u7b97\u673a\u9886\u57df\u7684\u5de8\u4f6c\u674e\u98de\u98de\u9662\u58eb\u9886\u8854\u6559\u6388\uff08CV \u9886\u57df\u5212\u65f6\u4ee3\u7684\u8457\u540d\u6570\u636e\u96c6 ImageNet \u7684\u7814\u7a76\u56e2\u961f\uff09\uff0c\u4f46\u5176\u5185\u5bb9\u76f8\u5bf9\u57fa\u7840\u4e14\u53cb\u597d\uff0c\u5982\u679c\u4e0a\u8fc7 CS230 \u7684\u8bdd\u53ef\u4ee5\u76f4\u63a5\u4e0a\u624b Project \u4f5c\u4e3a\u7ec3\u4e60\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://cs231n.stanford.edu/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1nJ411z7fe \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://cs231n.stanford.edu/schedule.html \uff0c3\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/","text":"CS285: Deep Reinforcement Learning \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS188, CS189 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 CS285 \u8fd9\u4e00\u8bfe\u7a0b\u73b0\u7531 Sergey Levine \u6559\u6388\u8bb2\u6388\uff0c\u8bfe\u7a0b\u5185\u5bb9\u8986\u76d6\u4e86\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u9886\u57df\u7684\u5404\u65b9\u9762\u5185\u5bb9\uff0c\u9002\u5408\u6709\u4e00\u5b9a\u673a\u5668\u5b66\u4e60\u57fa\u7840\u7684\u540c\u5b66\u8fdb\u884c\u5b66\u4e60\uff0c\u5177\u4f53\u8981\u6c42\u5305\u62ec\u4e86\u89e3\u9a6c\u5c14\u53ef\u592b\u51b3\u7b56\u8fc7\u7a0b\uff08MDP\uff09\u7b49\u3002\u6574\u95e8\u8bfe\u7a0b\u4e2d\u542b\u6709\u8f83\u591a\u7684\u516c\u5f0f\uff0c\u4e0a\u8bfe\u524d\u9700\u8981\u6709\u4e00\u5b9a\u7684\u5fc3\u7406\u51c6\u5907\u3002\u6b64\u5916\uff0c\u6559\u6388\u4f1a\u6839\u636e\u6bcf\u5e74\u6700\u65b0\u7684\u7814\u7a76\u8fdb\u5c55\u66f4\u65b0\u8bfe\u7a0b\u5185\u5bb9\u4ee5\u53ca\u4f5c\u4e1a\uff0c\u8bfe\u7a0b\u4e2d\u80fd\u611f\u53d7\u5230\u6559\u6388\u5c1d\u8bd5\u5c06\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u9886\u57df\u7684\u6240\u6709\u57fa\u7840\u77e5\u8bc6\u4ee5\u53ca\u6700\u8fd1\u7684\u53d1\u5c55\u5728\u77ed\u77ed\u7684\u6570\u8282\u8bfe\u4e2d\u8fdb\u884c\u4f20\u8fbe\u3002 \u6709\u5173\u8bfe\u7a0b\u5185\u5bb9\u83b7\u53d6\uff0c22Fall \u7684\u6388\u8bfe\u65b9\u5f0f\u4e3a\u8bfe\u524d\u89c2\u770b\u63d0\u524d\u5f55\u5236\u7684\u89c6\u9891\uff0c\u8bfe\u4e0a\u4e3b\u8981\u4e3a Q&A \u73af\u8282\uff0c\u6559\u6388\u9009\u62e9\u90e8\u5206\u6216\u8005\u6240\u6709\u89c6\u9891\u5185\u7684\u77e5\u8bc6\u8fdb\u884c\u8bb2\u89e3\u540c\u65f6\u56de\u7b54\u5b66\u751f\u73b0\u573a\u63d0\u51fa\u7684\u95ee\u9898\uff0c\u56e0\u6b64\u6240\u63d0\u4f9b\u7684\u8bfe\u7a0b\u89c6\u9891\u94fe\u63a5\u5b9e\u9645\u4e0a\u662f\u5df2\u7ecf\u5305\u542b\u4e86\u6240\u6709\u5185\u5bb9\u3002\u8bfe\u7a0b\u4f5c\u4e1a\u5219\u75315\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u7ec4\u6210\uff0c\u6bcf\u4e00\u6b21\u4f5c\u4e1a\u4e3b\u8981\u4e3a\u590d\u73b0\u7ecf\u5178\u6a21\u578b\u4ee5\u53ca\u8fdb\u884c\u6a21\u578b\u95f4\u7684\u5bf9\u6bd4\uff0c\u5076\u5c14\u4e5f\u5305\u542b\u4e00\u4e9b\u5bf9\u6700\u8fd1\u63d0\u51fa\u7684\u6a21\u578b\u7684\u590d\u73b0\uff0c\u6700\u540e\u9012\u4ea4\u4e00\u4efd\u62a5\u544a\u3002\u8003\u8651\u5230\u4f5c\u4e1a\u672c\u8eab\u5df2\u7ecf\u63d0\u4f9b\u4e86\u6846\u67b6\uff0c\u4e14\u90fd\u662f\u6839\u636e hint \u8fdb\u884c\u4ee3\u7801\u586b\u7a7a\uff0c\u56e0\u6b64\u4f5c\u4e1a\u96be\u5ea6\u5e76\u4e0d\u5927\u3002 \u603b\u7684\u6765\u8bf4\uff0c\u8be5\u8bfe\u7a0b\u9002\u5408\u65b0\u624b\u5165\u95e8\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u3002\u867d\u7136\u5b66\u5230\u540e\u9762\u8d8a\u6765\u8d8a\u611f\u89c9\u5230\u96be\uff0c\u4f46\u6574\u95e8\u8bfe\u4e0b\u6765\u4e2a\u4eba\u611f\u89c9\u8fd8\u662f\u6536\u83b7\u9887\u4e30\u3002 \uff08\u53e6\u5916 Levine \u6559\u6388\u4eba\u771f\u7684\u5f88 nice\uff09 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://rail.eecs.berkeley.edu/deeprlcourse/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/playlist?list=PL_iWQOsE6TfX7MaC6C3HcdOf1g337dlC9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://rail.eecs.berkeley.edu/deeprlcourse/ \uff0c5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"UCB CS285: Deep Reinforcement Learning"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/#cs285-deep-reinforcement-learning","text":"","title":"CS285: Deep Reinforcement Learning"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS188, CS189 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 CS285 \u8fd9\u4e00\u8bfe\u7a0b\u73b0\u7531 Sergey Levine \u6559\u6388\u8bb2\u6388\uff0c\u8bfe\u7a0b\u5185\u5bb9\u8986\u76d6\u4e86\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u9886\u57df\u7684\u5404\u65b9\u9762\u5185\u5bb9\uff0c\u9002\u5408\u6709\u4e00\u5b9a\u673a\u5668\u5b66\u4e60\u57fa\u7840\u7684\u540c\u5b66\u8fdb\u884c\u5b66\u4e60\uff0c\u5177\u4f53\u8981\u6c42\u5305\u62ec\u4e86\u89e3\u9a6c\u5c14\u53ef\u592b\u51b3\u7b56\u8fc7\u7a0b\uff08MDP\uff09\u7b49\u3002\u6574\u95e8\u8bfe\u7a0b\u4e2d\u542b\u6709\u8f83\u591a\u7684\u516c\u5f0f\uff0c\u4e0a\u8bfe\u524d\u9700\u8981\u6709\u4e00\u5b9a\u7684\u5fc3\u7406\u51c6\u5907\u3002\u6b64\u5916\uff0c\u6559\u6388\u4f1a\u6839\u636e\u6bcf\u5e74\u6700\u65b0\u7684\u7814\u7a76\u8fdb\u5c55\u66f4\u65b0\u8bfe\u7a0b\u5185\u5bb9\u4ee5\u53ca\u4f5c\u4e1a\uff0c\u8bfe\u7a0b\u4e2d\u80fd\u611f\u53d7\u5230\u6559\u6388\u5c1d\u8bd5\u5c06\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u9886\u57df\u7684\u6240\u6709\u57fa\u7840\u77e5\u8bc6\u4ee5\u53ca\u6700\u8fd1\u7684\u53d1\u5c55\u5728\u77ed\u77ed\u7684\u6570\u8282\u8bfe\u4e2d\u8fdb\u884c\u4f20\u8fbe\u3002 \u6709\u5173\u8bfe\u7a0b\u5185\u5bb9\u83b7\u53d6\uff0c22Fall \u7684\u6388\u8bfe\u65b9\u5f0f\u4e3a\u8bfe\u524d\u89c2\u770b\u63d0\u524d\u5f55\u5236\u7684\u89c6\u9891\uff0c\u8bfe\u4e0a\u4e3b\u8981\u4e3a Q&A \u73af\u8282\uff0c\u6559\u6388\u9009\u62e9\u90e8\u5206\u6216\u8005\u6240\u6709\u89c6\u9891\u5185\u7684\u77e5\u8bc6\u8fdb\u884c\u8bb2\u89e3\u540c\u65f6\u56de\u7b54\u5b66\u751f\u73b0\u573a\u63d0\u51fa\u7684\u95ee\u9898\uff0c\u56e0\u6b64\u6240\u63d0\u4f9b\u7684\u8bfe\u7a0b\u89c6\u9891\u94fe\u63a5\u5b9e\u9645\u4e0a\u662f\u5df2\u7ecf\u5305\u542b\u4e86\u6240\u6709\u5185\u5bb9\u3002\u8bfe\u7a0b\u4f5c\u4e1a\u5219\u75315\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u7ec4\u6210\uff0c\u6bcf\u4e00\u6b21\u4f5c\u4e1a\u4e3b\u8981\u4e3a\u590d\u73b0\u7ecf\u5178\u6a21\u578b\u4ee5\u53ca\u8fdb\u884c\u6a21\u578b\u95f4\u7684\u5bf9\u6bd4\uff0c\u5076\u5c14\u4e5f\u5305\u542b\u4e00\u4e9b\u5bf9\u6700\u8fd1\u63d0\u51fa\u7684\u6a21\u578b\u7684\u590d\u73b0\uff0c\u6700\u540e\u9012\u4ea4\u4e00\u4efd\u62a5\u544a\u3002\u8003\u8651\u5230\u4f5c\u4e1a\u672c\u8eab\u5df2\u7ecf\u63d0\u4f9b\u4e86\u6846\u67b6\uff0c\u4e14\u90fd\u662f\u6839\u636e hint \u8fdb\u884c\u4ee3\u7801\u586b\u7a7a\uff0c\u56e0\u6b64\u4f5c\u4e1a\u96be\u5ea6\u5e76\u4e0d\u5927\u3002 \u603b\u7684\u6765\u8bf4\uff0c\u8be5\u8bfe\u7a0b\u9002\u5408\u65b0\u624b\u5165\u95e8\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u3002\u867d\u7136\u5b66\u5230\u540e\u9762\u8d8a\u6765\u8d8a\u611f\u89c9\u5230\u96be\uff0c\u4f46\u6574\u95e8\u8bfe\u4e0b\u6765\u4e2a\u4eba\u611f\u89c9\u8fd8\u662f\u6536\u83b7\u9887\u4e30\u3002 \uff08\u53e6\u5916 Levine \u6559\u6388\u4eba\u771f\u7684\u5f88 nice\uff09","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://rail.eecs.berkeley.edu/deeprlcourse/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/playlist?list=PL_iWQOsE6TfX7MaC6C3HcdOf1g337dlC9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://rail.eecs.berkeley.edu/deeprlcourse/ \uff0c5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/","text":"\u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\uff1a\u674e\u5b8f\u6bc5\u673a\u5668\u5b66\u4e60 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u570b\u7acb\u53f0\u7063\u5927\u5b78 \u5148\u4fee\u8981\u6c42\uff1a\u719f\u7ec3\u638c\u63e1 Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u674e\u5b8f\u6bc5\u8001\u5e08\u662f\u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\u7684\u6559\u6388\uff0c\u5176\u98ce\u8da3\u5e7d\u9ed8\u7684\u6388\u8bfe\u98ce\u683c\u6df1\u53d7\u5927\u5bb6\u559c\u7231\uff0c\u5e76\u4e14\u5c24\u5176\u559c\u6b22\u5728 PPT \u4e2d\u63d2\u5165\u5b9d\u53ef\u68a6\u7b49\u52a8\u6f2b\u5143\u7d20\uff0c\u662f\u4e2a\u975e\u5e38\u53ef\u7231\u7684\u8001\u5e08\u3002 \u8fd9\u95e8\u8bfe\u6302\u7740\u673a\u5668\u5b66\u4e60\u7684\u724c\u5b50\uff0c\u4f46\u5176\u8bfe\u7a0b\u5185\u5bb9\u4e4b\u5e7f\u5b9e\u5728\u4ee4\u4eba\u548b\u820c\uff0c\u5176\u4f5c\u4e1a\u4e00\u5171\u5305\u542b 15 \u4e2a lab\uff0c\u5206\u522b\u662f Regression\u3001Classification\u3001CNN\u3001Self-Attention\u3001Transformer\u3001GAN\u3001BERT\u3001Anomaly Detection\u3001Explainable AI\u3001Attack\u3001Adaptation\u3001 RL\u3001Compression\u3001Life-Long Learning \u4ee5\u53ca Meta Learning\u3002\u53ef\u8c13\u662f\u5305\u7f57\u4e07\u8c61\uff0c\u80fd\u8ba9\u5b66\u751f\u5bf9\u4e8e\u6df1\u5ea6\u5b66\u4e60\u7684\u7edd\u5927\u591a\u6570\u9886\u57df\u90fd\u6709\u4e00\u5b9a\u4e86\u89e3\uff0c\u4ece\u800c\u53ef\u4ee5\u8fdb\u4e00\u6b65\u9009\u62e9\u60f3\u8981\u6df1\u5165\u7684\u65b9\u5411\u8fdb\u884c\u5b66\u4e60\u3002 \u5927\u5bb6\u4e5f\u5927\u53ef\u4e0d\u5fc5\u62c5\u5fc3\u4f5c\u4e1a\u7684\u96be\u5ea6\uff0c\u56e0\u4e3a\u6240\u6709\u4f5c\u4e1a\u90fd\u4f1a\u63d0\u4f9b\u52a9\u6559\u7684\u793a\u4f8b\u4ee3\u7801\uff0c\u5e2e\u4f60\u5b8c\u6210\u6570\u636e\u5904\u7406\u3001\u6a21\u578b\u642d\u5efa\u7b49\uff0c\u4f60\u53ea\u9700\u8981\u5728\u5176\u57fa\u7840\u4e0a\u8fdb\u884c\u9002\u91cf\u7684\u4fee\u6539\u5373\u53ef\u3002\u8fd9\u4e5f\u662f\u4e00\u4e2a\u5b66\u4e60\u522b\u4eba\u4f18\u8d28\u4ee3\u7801\u7684\u6781\u597d\u673a\u4f1a\uff0c\u5927\u5bb6\u9700\u8981\u6c34\u8bfe\u7a0b\u5927\u4f5c\u4e1a\u7684\u8bdd\uff0c\u8fd9\u91cc\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u8d44\u6599\u6765\u6e90\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \u8bfe\u7a0b\u89c6\u9891\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \uff0c15 \u4e2a lab\uff0c\u51e0\u4e4e\u8986\u76d6\u4e86\u4e3b\u6d41\u6df1\u5ea6\u5b66\u4e60\u7684\u6240\u6709\u9886\u57df","title":"\u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\uff1a\u674e\u5b8f\u6bc5\u673a\u5668\u5b66\u4e60"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/#_1","text":"","title":"\u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\uff1a\u674e\u5b8f\u6bc5\u673a\u5668\u5b66\u4e60"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/#_2","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u570b\u7acb\u53f0\u7063\u5927\u5b78 \u5148\u4fee\u8981\u6c42\uff1a\u719f\u7ec3\u638c\u63e1 Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u674e\u5b8f\u6bc5\u8001\u5e08\u662f\u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\u7684\u6559\u6388\uff0c\u5176\u98ce\u8da3\u5e7d\u9ed8\u7684\u6388\u8bfe\u98ce\u683c\u6df1\u53d7\u5927\u5bb6\u559c\u7231\uff0c\u5e76\u4e14\u5c24\u5176\u559c\u6b22\u5728 PPT \u4e2d\u63d2\u5165\u5b9d\u53ef\u68a6\u7b49\u52a8\u6f2b\u5143\u7d20\uff0c\u662f\u4e2a\u975e\u5e38\u53ef\u7231\u7684\u8001\u5e08\u3002 \u8fd9\u95e8\u8bfe\u6302\u7740\u673a\u5668\u5b66\u4e60\u7684\u724c\u5b50\uff0c\u4f46\u5176\u8bfe\u7a0b\u5185\u5bb9\u4e4b\u5e7f\u5b9e\u5728\u4ee4\u4eba\u548b\u820c\uff0c\u5176\u4f5c\u4e1a\u4e00\u5171\u5305\u542b 15 \u4e2a lab\uff0c\u5206\u522b\u662f Regression\u3001Classification\u3001CNN\u3001Self-Attention\u3001Transformer\u3001GAN\u3001BERT\u3001Anomaly Detection\u3001Explainable AI\u3001Attack\u3001Adaptation\u3001 RL\u3001Compression\u3001Life-Long Learning \u4ee5\u53ca Meta Learning\u3002\u53ef\u8c13\u662f\u5305\u7f57\u4e07\u8c61\uff0c\u80fd\u8ba9\u5b66\u751f\u5bf9\u4e8e\u6df1\u5ea6\u5b66\u4e60\u7684\u7edd\u5927\u591a\u6570\u9886\u57df\u90fd\u6709\u4e00\u5b9a\u4e86\u89e3\uff0c\u4ece\u800c\u53ef\u4ee5\u8fdb\u4e00\u6b65\u9009\u62e9\u60f3\u8981\u6df1\u5165\u7684\u65b9\u5411\u8fdb\u884c\u5b66\u4e60\u3002 \u5927\u5bb6\u4e5f\u5927\u53ef\u4e0d\u5fc5\u62c5\u5fc3\u4f5c\u4e1a\u7684\u96be\u5ea6\uff0c\u56e0\u4e3a\u6240\u6709\u4f5c\u4e1a\u90fd\u4f1a\u63d0\u4f9b\u52a9\u6559\u7684\u793a\u4f8b\u4ee3\u7801\uff0c\u5e2e\u4f60\u5b8c\u6210\u6570\u636e\u5904\u7406\u3001\u6a21\u578b\u642d\u5efa\u7b49\uff0c\u4f60\u53ea\u9700\u8981\u5728\u5176\u57fa\u7840\u4e0a\u8fdb\u884c\u9002\u91cf\u7684\u4fee\u6539\u5373\u53ef\u3002\u8fd9\u4e5f\u662f\u4e00\u4e2a\u5b66\u4e60\u522b\u4eba\u4f18\u8d28\u4ee3\u7801\u7684\u6781\u597d\u673a\u4f1a\uff0c\u5927\u5bb6\u9700\u8981\u6c34\u8bfe\u7a0b\u5927\u4f5c\u4e1a\u7684\u8bdd\uff0c\u8fd9\u91cc\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u8d44\u6599\u6765\u6e90\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/#_3","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \u8bfe\u7a0b\u89c6\u9891\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \uff0c15 \u4e2a lab\uff0c\u51e0\u4e4e\u8986\u76d6\u4e86\u4e3b\u6d41\u6df1\u5ea6\u5b66\u4e60\u7684\u6240\u6709\u9886\u57df","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/","text":"UCB EE16A&B: Designing Information Devices and Systems I&II Descriptions Offered by: UC Berkeley Prerequisites: None Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours This introductory class for freshmen majoring in electronics at UC Berkeley teaches the fundamentals of circuitry. Through a variety of hands-on labs, students will experience collecting information from the environment through sensors and analyzing it to make predictions. Due to the COVID-19, all labs have remote online version, making them ideal for self-study. Course Resources Course Website: EE16A , EE16B Recordings: EE16A , EE16B Textbooks: EE16A , EE16B Assignments: EE16A , EE16B Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/EE16A - GitHub .","title":"EE16A&B: Designing Information Devices and Systems I&II"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#ucb-ee16ab-designing-information-devices-and-systems-iii","text":"","title":"UCB EE16A&B: Designing Information Devices and Systems I&II"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#descriptions","text":"Offered by: UC Berkeley Prerequisites: None Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours This introductory class for freshmen majoring in electronics at UC Berkeley teaches the fundamentals of circuitry. Through a variety of hands-on labs, students will experience collecting information from the environment through sensors and analyzing it to make predictions. Due to the COVID-19, all labs have remote online version, making them ideal for self-study.","title":"Descriptions"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#course-resources","text":"Course Website: EE16A , EE16B Recordings: EE16A , EE16B Textbooks: EE16A , EE16B Assignments: EE16A , EE16B","title":"Course Resources"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/EE16A - GitHub .","title":"Personal Resources"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals_and_Systems_AVO/","text":"MIT 6.007 Signals and Systems Descriptions Offered by: MIT Prerequisites: Calculus, Linear Algebra Programming Languages: Matlab Preferred Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 50-70 hours The name of the instructor: Prof. Alan V. Oppenheim Okay, enough reason to take this class. Course Resources Course Website: https://ocw.mit.edu/resources/res-6-007-signals-and-systems-spring-2011/index.htm Recordings: https://www.bilibili.com/video/BV1CZ4y1j7hs Textbooks: Signals and Systems, 2nd Edition Assignments: https://ocw.mit.edu/resources/res-6-007-signals-and-systems-spring-2011/assignments","title":"MIT 6.007 Signals and Systems"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals_and_Systems_AVO/#mit-6007-signals-and-systems","text":"","title":"MIT 6.007 Signals and Systems"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals_and_Systems_AVO/#descriptions","text":"Offered by: MIT Prerequisites: Calculus, Linear Algebra Programming Languages: Matlab Preferred Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 50-70 hours The name of the instructor: Prof. Alan V. Oppenheim Okay, enough reason to take this class.","title":"Descriptions"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals_and_Systems_AVO/#course-resources","text":"Course Website: https://ocw.mit.edu/resources/res-6-007-signals-and-systems-spring-2011/index.htm Recordings: https://www.bilibili.com/video/BV1CZ4y1j7hs Textbooks: Signals and Systems, 2nd Edition Assignments: https://ocw.mit.edu/resources/res-6-007-signals-and-systems-spring-2011/assignments","title":"Course Resources"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/","text":"UCB EE120: Signal and Systems Descriptions Offered by: UC Berkeley Prerequisites: CS61A, CS70, Calculus, Linear Algebra Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours The highlight of this course is the six exciting labs that will allow you to use signals and systems theory to solve practical problems in Python. For example, in lab3 you will implement the FFT algorithm and compare the performance with Numpy's official implementation. In lab4 you will infer the heart rate by processing the video of fingers. Lab5 is the most awesome one where you will reduce the noise in the photos taken by the Hubble telescope to recover the brilliant and bright starry sky. In lab6 you will build a feedback system to stabilize the pole on the cart. Course Resources Course Website: https://inst.eecs.berkeley.edu/~ee120/fa19/ Recordings: refer to the course website Assignments: refer to the course website Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/UCB-EE120 - GitHub","title":"UCB EE120 : Signal and Systems"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#ucb-ee120-signal-and-systems","text":"","title":"UCB EE120: Signal and Systems"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#descriptions","text":"Offered by: UC Berkeley Prerequisites: CS61A, CS70, Calculus, Linear Algebra Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours The highlight of this course is the six exciting labs that will allow you to use signals and systems theory to solve practical problems in Python. For example, in lab3 you will implement the FFT algorithm and compare the performance with Numpy's official implementation. In lab4 you will infer the heart rate by processing the video of fingers. Lab5 is the most awesome one where you will reduce the noise in the photos taken by the Hubble telescope to recover the brilliant and bright starry sky. In lab6 you will build a feedback system to stabilize the pole on the cart.","title":"Descriptions"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#course-resources","text":"Course Website: https://inst.eecs.berkeley.edu/~ee120/fa19/ Recordings: refer to the course website Assignments: refer to the course website","title":"Course Resources"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/UCB-EE120 - GitHub","title":"Personal Resources"},{"location":"en/%E7%A8%8B%E5%BA%8F%E8%AF%AD%E8%A8%80%E8%AE%BE%E8%AE%A1/CS242/","text":"","title":"CS242"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/","text":"UCB CS161: Computer Security Descriptions Offered by: UC Berkeley Prerequisites: CS61A, CS61B, CS61C Programming Languages: C, Go Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 Hours Computer Security course from UC Berkeley, devided into 5 parts: Security principles: how to design a secure system Memory safety: buffer overflow attack Cryptography: symmetric encryption, asymmetric encryption, MAC, digital signature ......... Web: SQL-injection, XSS, XSRF ....... Networking: attacks for each layer The most impressive part to me is Project2, which requires you to design and implement a secure file sharing system in Go. It took me three full days to complete this extremely difficult project, with over 3 thousand lines of code. Such an intensive development experience can greatly enhance your ability to design and implement a secure system. In 2020 summer semester, the lecture recordings are posted publicly, which can be found in the links below. Course Resources Course Website: https://su20.cs161.org/ Recordings: refer to the course website Textbooks: https://textbook.cs161.org/ Assignments: 7 online HWs + 3 Labs + 3 Projects Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/UCB-CS161 - GitHub .","title":"UCB CS161: Computer Security"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/#ucb-cs161-computer-security","text":"","title":"UCB CS161: Computer Security"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/#descriptions","text":"Offered by: UC Berkeley Prerequisites: CS61A, CS61B, CS61C Programming Languages: C, Go Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 Hours Computer Security course from UC Berkeley, devided into 5 parts: Security principles: how to design a secure system Memory safety: buffer overflow attack Cryptography: symmetric encryption, asymmetric encryption, MAC, digital signature ......... Web: SQL-injection, XSS, XSRF ....... Networking: attacks for each layer The most impressive part to me is Project2, which requires you to design and implement a secure file sharing system in Go. It took me three full days to complete this extremely difficult project, with over 3 thousand lines of code. Such an intensive development experience can greatly enhance your ability to design and implement a secure system. In 2020 summer semester, the lecture recordings are posted publicly, which can be found in the links below.","title":"Descriptions"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/#course-resources","text":"Course Website: https://su20.cs161.org/ Recordings: refer to the course website Textbooks: https://textbook.cs161.org/ Assignments: 7 online HWs + 3 Labs + 3 Projects","title":"Course Resources"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/UCB-CS161 - GitHub .","title":"Personal Resources"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/","text":"ASU CSE365: Introduction to Cybersecurity Descriptions Offered by: Arizona State University Prerequisites: None Programming Languages: C, Python, x86 assembly Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: Varying from person to person An introductory course on web security at Arizona State University, the course contains several modules, mainly including: Program Misuse: Linux commandline, privilege escalation Web fundamentals: http, server, intercept Assembly: registers, memory, control flow Cryptography: Symmetric/Asymmetric encryption, hashing, trust Web security: Command/HTML/SQL/Stack injection The course is mainly based on challenges, supplemented by lectures and reading materials. The challenges are developed in the form of CTF, and the difficulty increases in order. For hackers with weak foundations, getting stuck is a normal phenomenon. If you encounter difficulties in solving the problem, you can seek help from the Discord Server given in the Chat column on the homepage. Course Resources Course Website: https://dojo.pwn.college/cse365/ Recordings: See course website Textbooks: None Assignments: 7 modules (167 challenges) Personal Resources Lectures on YouTube: https://youtube.com/pwncollege Live Broadcasts on Twitch: https://twitch.tv/pwncollege Chat on Discord: https://pwn.college/discord Open Source on GitHub: https://github.com/pwncollege Contact us via Email: pwn-college@asu.edu In addition, due to an important factor in evaluating ASU students' course grades, the course does not encourage uploading problem-solving ideas, except for the first two challenges of each module.","title":"ASU CSE365: Introduction to Cybersecurity"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/#asu-cse365-introduction-to-cybersecurity","text":"","title":"ASU CSE365: Introduction to Cybersecurity"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/#descriptions","text":"Offered by: Arizona State University Prerequisites: None Programming Languages: C, Python, x86 assembly Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: Varying from person to person An introductory course on web security at Arizona State University, the course contains several modules, mainly including: Program Misuse: Linux commandline, privilege escalation Web fundamentals: http, server, intercept Assembly: registers, memory, control flow Cryptography: Symmetric/Asymmetric encryption, hashing, trust Web security: Command/HTML/SQL/Stack injection The course is mainly based on challenges, supplemented by lectures and reading materials. The challenges are developed in the form of CTF, and the difficulty increases in order. For hackers with weak foundations, getting stuck is a normal phenomenon. If you encounter difficulties in solving the problem, you can seek help from the Discord Server given in the Chat column on the homepage.","title":"Descriptions"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/#course-resources","text":"Course Website: https://dojo.pwn.college/cse365/ Recordings: See course website Textbooks: None Assignments: 7 modules (167 challenges)","title":"Course Resources"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/#personal-resources","text":"Lectures on YouTube: https://youtube.com/pwncollege Live Broadcasts on Twitch: https://twitch.tv/pwncollege Chat on Discord: https://pwn.college/discord Open Source on GitHub: https://github.com/pwncollege Contact us via Email: pwn-college@asu.edu In addition, due to an important factor in evaluating ASU students' course grades, the course does not encourage uploading problem-solving ideas, except for the first two challenges of each module.","title":"Personal Resources"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/","text":"ASU CSE466: Computer Systems Security Descriptions Offered by: Arizona State University Prerequisites: None Programming Languages: C, Python, x86 assembly Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: Varying from person to person A hard-core course on system security at Arizona State University, the course contains several modules, mainly including: Linux commandline: Program misuse, program interaction Shellcoding: Assembly, shellcode injection, prevention Reverse Engineering: Function frame, static/dynamic reversing tools Program Exploitation: Hijacking to shellcode, JIT spray System Exploitation: Kernel modules, privilege escalation Miscellaneous: Sandboxing, Memory Errors, Race conditions Like CSE365, the course is also based on challenges, supplemented by lectures and reading materials. The challenges are developed in the form of CTF, and the difficulty increases in order. The quality of the exercises is excellent, but some modules are quite difficult, especially the parts involving the kernel. Sometimes you'll spend a whole day struggling at one challenge with no progress. If you encounter difficulties in solving the problem, you can seek help from the Discord Server given in the Chat column on the homepage. Course Resources Course Website: https://dojo.pwn.college/cse466/ Recordings: See course website Textbooks: None Assignments: 13 modules (358 challenges) Personal Resources Lectures on YouTube: https://youtube.com/pwncollege Live Broadcasts on Twitch: https://twitch.tv/pwncollege Chat on Discord: https://pwn.college/discord Open Source on GitHub: https://github.com/pwncollege Contact us via Email: pwn-college@asu.edu In addition, due to an important factor in evaluating ASU students' course grades, the course does not encourage uploading problem-solving ideas, except for the first two challenges of each module and challenge 16 in the reversing module.","title":"ASU CSE466: Computer Systems Security"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/#asu-cse466-computer-systems-security","text":"","title":"ASU CSE466: Computer Systems Security"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/#descriptions","text":"Offered by: Arizona State University Prerequisites: None Programming Languages: C, Python, x86 assembly Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: Varying from person to person A hard-core course on system security at Arizona State University, the course contains several modules, mainly including: Linux commandline: Program misuse, program interaction Shellcoding: Assembly, shellcode injection, prevention Reverse Engineering: Function frame, static/dynamic reversing tools Program Exploitation: Hijacking to shellcode, JIT spray System Exploitation: Kernel modules, privilege escalation Miscellaneous: Sandboxing, Memory Errors, Race conditions Like CSE365, the course is also based on challenges, supplemented by lectures and reading materials. The challenges are developed in the form of CTF, and the difficulty increases in order. The quality of the exercises is excellent, but some modules are quite difficult, especially the parts involving the kernel. Sometimes you'll spend a whole day struggling at one challenge with no progress. If you encounter difficulties in solving the problem, you can seek help from the Discord Server given in the Chat column on the homepage.","title":"Descriptions"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/#course-resources","text":"Course Website: https://dojo.pwn.college/cse466/ Recordings: See course website Textbooks: None Assignments: 13 modules (358 challenges)","title":"Course Resources"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/#personal-resources","text":"Lectures on YouTube: https://youtube.com/pwncollege Live Broadcasts on Twitch: https://twitch.tv/pwncollege Chat on Discord: https://pwn.college/discord Open Source on GitHub: https://github.com/pwncollege Contact us via Email: pwn-college@asu.edu In addition, due to an important factor in evaluating ASU students' course grades, the course does not encourage uploading problem-solving ideas, except for the first two challenges of each module and challenge 16 in the reversing module.","title":"Personal Resources"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/","text":"MIT 6.858: Computer System Security Descriptions Offered by: MIT Prerequisites: Computer Architecture, basic knowledge about programming and computer system Programming Languages: C, Python Difficulty:\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours This is MIT's Computer Systems Security course. Lectures cover threat models, attacks that compromise security, and techniques for achieving security, based on recent research papers. Topics include operating system (OS) security, capabilities, information flow control, language security, network protocols, hardware security, and security in web applications. Assignments include labs that involve implementing and compromising a secure web server and web application, and a group final project: Lab 1: you will explore the zoobar web application, and use buffer overflow attacks to break its security properties. Lab 2: you will improve the zoobar web application by using privilege separation, so that if one component is compromised, the adversary doesn't get control over the whole web application. Lab 3: you will build a program analysis tool based on symbolic execution to find bugs in Python code such as the zoobar web application. Lab 4: you will improve the zoobar application against browser attacks. I mainly did Lab 3 in this course. Lab 3 requires you to traverse all the branches of a program by concolic execution, and it is not difficult to do once you understand the idea of symbolic execution. This Lab visually demonstrates the use of symbolic execution. In the Final Project, you will build a remote file system, SecFS , that provides both confidentiality and integrity in the face of a completely untrusted server. Reference Papers: SUNDR Resources Course Website: http://css.csail.mit.edu/6.858/2022/ Assignments: refer to the course website. Textbook: None Assignments: 4 Labs + Final Project / Lab5","title":"MIT 6.858: Computer System Security"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/#mit-6858-computer-system-security","text":"","title":"MIT 6.858: Computer System Security"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/#descriptions","text":"Offered by: MIT Prerequisites: Computer Architecture, basic knowledge about programming and computer system Programming Languages: C, Python Difficulty:\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours This is MIT's Computer Systems Security course. Lectures cover threat models, attacks that compromise security, and techniques for achieving security, based on recent research papers. Topics include operating system (OS) security, capabilities, information flow control, language security, network protocols, hardware security, and security in web applications. Assignments include labs that involve implementing and compromising a secure web server and web application, and a group final project: Lab 1: you will explore the zoobar web application, and use buffer overflow attacks to break its security properties. Lab 2: you will improve the zoobar web application by using privilege separation, so that if one component is compromised, the adversary doesn't get control over the whole web application. Lab 3: you will build a program analysis tool based on symbolic execution to find bugs in Python code such as the zoobar web application. Lab 4: you will improve the zoobar application against browser attacks. I mainly did Lab 3 in this course. Lab 3 requires you to traverse all the branches of a program by concolic execution, and it is not difficult to do once you understand the idea of symbolic execution. This Lab visually demonstrates the use of symbolic execution. In the Final Project, you will build a remote file system, SecFS , that provides both confidentiality and integrity in the face of a completely untrusted server. Reference Papers: SUNDR","title":"Descriptions"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/#resources","text":"Course Website: http://css.csail.mit.edu/6.858/2022/ Assignments: refer to the course website. Textbook: None Assignments: 4 Labs + Final Project / Lab5","title":"Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/AUT1400/","text":"Amirkabir University of Technology 1400-2: Advanced Programming Course \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aAmirkabir University of Technology \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u65e0\u610f\u4e2d\u53d1\u73b0\u7684\u4e00\u4e2a C++ \u8bfe\u7a0b\u3002\u8bfe\u7a0b\u7684 homework \u8d28\u91cf\u5f88\u9ad8\uff0c\u6bcf\u4e2a homework \u76f8\u4e92\u72ec\u7acb\u7ed3\u6784\u7b80\u5355\uff0c\u4e14\u6709\u5b8c\u5584\u7684\u5355\u5143\u6d4b\u8bd5\uff0c\u975e\u5e38\u9002\u5408\u7528\u6765\u5b66\u4e60 C++ \u7684\u7f16\u7a0b\u3002\u672c\u8bfe\u7a0b\u5171 7 \u4e2a homework\uff0c\u5982\u4e0b\u6240\u793a\uff1a \u5b9e\u73b0\u4e00\u4e2a Matrix \u7c7b\u4ee5\u53ca\u76f8\u5173\u51fd\u6570\u3002 \u5b9e\u73b0\u4e00\u4e2a\u6a21\u62df\u52a0\u5bc6\u8d27\u5e01\u5ba2\u6237\u7aef/\u670d\u52a1\u7aef\u6267\u884c\u8fc7\u7a0b\u7684\u7a0b\u5e8f\u3002 \u5b9e\u73b0\u4e00\u4e2a Binary Search Tree (BST)\u3002 \u5b9e\u73b0 C++ \u4e2d\u7684 SharedPtr \u548c UniquePtr \u667a\u80fd\u6307\u9488\u3002 \u4f7f\u7528\u7ee7\u627f\u548c\u591a\u6001\u5b9e\u73b0\u591a\u4e2a\u7c7b\u3002 \u4f7f\u7528 STL \u5e93\u89e3\u51b3 4 \u4e2a\u95ee\u9898\u3002 \u662f\u4e2a python \u9879\u76ee\uff0c\u6709\u5174\u8da3\u7684\u53ef\u4ee5\u770b\u770b\u3002 \u6ca1\u627e\u5230\u8bfe\u7a0b\u7684\u4e3b\u9875\uff0c\u53ea\u6709\u5728 github \u6709 homework \u7684\u6e90\u7801\uff08\u540d\u5b57\u4e3a AP1400-2-HW \u7684\u90a3\u51e0\u4e2a\uff09\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a\u65e0 \u8bfe\u7a0b\u4ee3\u7801\uff1a https://github.com/courseworks \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 homework","title":"AmirKabir University of Technology AP1400-2: Advanced Programming"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/AUT1400/#amirkabir-university-of-technology-1400-2-advanced-programming-course","text":"","title":"Amirkabir University of Technology 1400-2: Advanced Programming Course"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/AUT1400/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aAmirkabir University of Technology \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u65e0\u610f\u4e2d\u53d1\u73b0\u7684\u4e00\u4e2a C++ \u8bfe\u7a0b\u3002\u8bfe\u7a0b\u7684 homework \u8d28\u91cf\u5f88\u9ad8\uff0c\u6bcf\u4e2a homework \u76f8\u4e92\u72ec\u7acb\u7ed3\u6784\u7b80\u5355\uff0c\u4e14\u6709\u5b8c\u5584\u7684\u5355\u5143\u6d4b\u8bd5\uff0c\u975e\u5e38\u9002\u5408\u7528\u6765\u5b66\u4e60 C++ \u7684\u7f16\u7a0b\u3002\u672c\u8bfe\u7a0b\u5171 7 \u4e2a homework\uff0c\u5982\u4e0b\u6240\u793a\uff1a \u5b9e\u73b0\u4e00\u4e2a Matrix \u7c7b\u4ee5\u53ca\u76f8\u5173\u51fd\u6570\u3002 \u5b9e\u73b0\u4e00\u4e2a\u6a21\u62df\u52a0\u5bc6\u8d27\u5e01\u5ba2\u6237\u7aef/\u670d\u52a1\u7aef\u6267\u884c\u8fc7\u7a0b\u7684\u7a0b\u5e8f\u3002 \u5b9e\u73b0\u4e00\u4e2a Binary Search Tree (BST)\u3002 \u5b9e\u73b0 C++ \u4e2d\u7684 SharedPtr \u548c UniquePtr \u667a\u80fd\u6307\u9488\u3002 \u4f7f\u7528\u7ee7\u627f\u548c\u591a\u6001\u5b9e\u73b0\u591a\u4e2a\u7c7b\u3002 \u4f7f\u7528 STL \u5e93\u89e3\u51b3 4 \u4e2a\u95ee\u9898\u3002 \u662f\u4e2a python \u9879\u76ee\uff0c\u6709\u5174\u8da3\u7684\u53ef\u4ee5\u770b\u770b\u3002 \u6ca1\u627e\u5230\u8bfe\u7a0b\u7684\u4e3b\u9875\uff0c\u53ea\u6709\u5728 github \u6709 homework \u7684\u6e90\u7801\uff08\u540d\u5b57\u4e3a AP1400-2-HW \u7684\u90a3\u51e0\u4e2a\uff09\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/AUT1400/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a\u65e0 \u8bfe\u7a0b\u4ee3\u7801\uff1a https://github.com/courseworks \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 homework","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106B_CS106X/","text":"Stanford CS106B/X: Programming Abstractions in C++ Descriptions Offered by: Stanford Prerequisites: CS50/CS106A/CS61A or equivalent Programming Languages: C++ Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 50-70 hours CS106B/X are advanced programming courses at Stanford. CS106X is more difficult and in-depth than CS106B, but the main content is similar. Based on programming assignments in C++ language, students will develop the ability to solve real-world problems through programming abstraction. It also covers some simple data structures and algorithms, but is generally not as systematic as a specialized data structures course. Resources Course Website: CS106B , CS106X Textbook: https://web.stanford.edu/class/cs106x/res/reader/CS106BX-Reader.pdf Recordings: https://www.bilibili.com/video/BV1G7411k7jG","title":"Stanford CS106B/X"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106B_CS106X/#stanford-cs106bx-programming-abstractions-in-c","text":"","title":"Stanford CS106B/X: Programming Abstractions in C++"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106B_CS106X/#descriptions","text":"Offered by: Stanford Prerequisites: CS50/CS106A/CS61A or equivalent Programming Languages: C++ Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 50-70 hours CS106B/X are advanced programming courses at Stanford. CS106X is more difficult and in-depth than CS106B, but the main content is similar. Based on programming assignments in C++ language, students will develop the ability to solve real-world problems through programming abstraction. It also covers some simple data structures and algorithms, but is generally not as systematic as a specialized data structures course.","title":"Descriptions"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106B_CS106X/#resources","text":"Course Website: CS106B , CS106X Textbook: https://web.stanford.edu/class/cs106x/res/reader/CS106BX-Reader.pdf Recordings: https://www.bilibili.com/video/BV1G7411k7jG","title":"Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/","text":"CS106L: Stanford C++ Programming Descriptions Offered by: Stanford Prerequisites: better if you are already proficient in a programming language Programming Languages: C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 20 hours I've been writing C++ code since freshman year, and it wasn't until I finished this class that I realized the C++ code I was writing was probably just C + cin / cout . This class will dive into a lot of standard C++ features and syntax that will allow you to write quality C++ code. Techniques such as auto binding, uniform initialization, lambda function, move semantics, RAII, etc. have been used repeatedly in my coding career since then and are very useful. It is worth mentioning that in this class, you will implement a HashMap (similar to unordered_map in STL), which almost ties the whole course together and is a great test of coding skills. Especially after the implementation of iterator , I started to understand why Linus is so sarcastic about C/C++, because it is really hard to write correctly. In short, the course is not difficult but very informative which requires you to consolidate repeatedly in later practice. The reason why Stanford offers a single C++ programming class is that many of the subsequent CS courses' projects are based on C++. For example, CS144 Computer Networks and CS143 Compilers. Both of these courses are included in this book. Course Resources Course Website: http://web.stanford.edu/class/cs106l/ Recordings: https://www.youtube.com/channel/UCSqr6y-eaQT_qZJVUm_4QxQ/playlists Textbook: http://web.stanford.edu/class/cs106l/full_course_reader.pdf Assignment1 Download: https://github.com/snme/cs106L-assignment1 Assignment2 Download: https://github.com/snme/cs106L-assignment2 Assignments: refer to the course website Personal Resources All the resources and assignments used by @PKUFlyingPig are maintained in PKUFlyingPig/CS106L - GitHub .","title":"Stanford CS106L: Standard C++ Programming"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#cs106l-stanford-c-programming","text":"","title":"CS106L: Stanford C++ Programming"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#descriptions","text":"Offered by: Stanford Prerequisites: better if you are already proficient in a programming language Programming Languages: C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 20 hours I've been writing C++ code since freshman year, and it wasn't until I finished this class that I realized the C++ code I was writing was probably just C + cin / cout . This class will dive into a lot of standard C++ features and syntax that will allow you to write quality C++ code. Techniques such as auto binding, uniform initialization, lambda function, move semantics, RAII, etc. have been used repeatedly in my coding career since then and are very useful. It is worth mentioning that in this class, you will implement a HashMap (similar to unordered_map in STL), which almost ties the whole course together and is a great test of coding skills. Especially after the implementation of iterator , I started to understand why Linus is so sarcastic about C/C++, because it is really hard to write correctly. In short, the course is not difficult but very informative which requires you to consolidate repeatedly in later practice. The reason why Stanford offers a single C++ programming class is that many of the subsequent CS courses' projects are based on C++. For example, CS144 Computer Networks and CS143 Compilers. Both of these courses are included in this book.","title":"Descriptions"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#course-resources","text":"Course Website: http://web.stanford.edu/class/cs106l/ Recordings: https://www.youtube.com/channel/UCSqr6y-eaQT_qZJVUm_4QxQ/playlists Textbook: http://web.stanford.edu/class/cs106l/full_course_reader.pdf Assignment1 Download: https://github.com/snme/cs106L-assignment1 Assignment2 Download: https://github.com/snme/cs106L-assignment2 Assignments: refer to the course website","title":"Course Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig are maintained in PKUFlyingPig/CS106L - GitHub .","title":"Personal Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/","text":"CS110L: Safety in Systems Programming Descriptions Offered by: Stanford Prerequisites: basic knowledge about programming and computer system Programming Languages: Rust Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 30 hours In this course, you will learn a fantastic language, Rust. If you have studied C and have some knowledge of systems programming, you should have heard about memory leaks and the danger of pointers, but C's high efficiency makes it impossible to be replaced by other higher-level languages with garbage collection such as Java in system-level programming. Whereas Rust aims to make up for C's lack of security while having competitive efficiency. Therefore, Rust was designed from a system programmer's point of view. By learning Rust, you will learn the principles to write safer and more elegant system code (e.g., operating systems, etc.). The latter part of this course focuses on the topic of concurrency, where you will systematically learn multi-processing, multi-threading, event-driven programming, and several other techniques. In the second project, you will compare the pros and cons of each method. Personally, I find the concept of \"futures\" in Rust fascinating and elegant, and mastering this idea will help you in your following systems-related courses. In addition, Tsinghua University's operating system lab, rCore is based on Rust. You can see the documentation for more details. Course Resources Course Website: https://reberhardt.com/cs110l/spring-2020/ Recordings: https://youtu.be/j7AQrtLevUE Textbook: None Assignments: 6 Labs, 2 Projects, the course website has specific requirements. The projects are quite interesting where you will Implement a GDB-like debugger and a load balancer in Rust. Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS110L - GitHub . Due to the rapid evolution of Rust, the libraries used in the 2020 version of the course project are obsolete, so @fung-hwang tried to adapt these libraries (in November 2022). His adaptation advice and completed assignments are maintained in fung-hwang/CS110L-2020spr - GitHub . It is possible that Rust and these libraries will have changed again when you start to learn CS110L, but you can still refer to this repo for help.","title":"Stanford CS110L: Safety in Systems Programming"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#cs110l-safety-in-systems-programming","text":"","title":"CS110L: Safety in Systems Programming"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#descriptions","text":"Offered by: Stanford Prerequisites: basic knowledge about programming and computer system Programming Languages: Rust Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 30 hours In this course, you will learn a fantastic language, Rust. If you have studied C and have some knowledge of systems programming, you should have heard about memory leaks and the danger of pointers, but C's high efficiency makes it impossible to be replaced by other higher-level languages with garbage collection such as Java in system-level programming. Whereas Rust aims to make up for C's lack of security while having competitive efficiency. Therefore, Rust was designed from a system programmer's point of view. By learning Rust, you will learn the principles to write safer and more elegant system code (e.g., operating systems, etc.). The latter part of this course focuses on the topic of concurrency, where you will systematically learn multi-processing, multi-threading, event-driven programming, and several other techniques. In the second project, you will compare the pros and cons of each method. Personally, I find the concept of \"futures\" in Rust fascinating and elegant, and mastering this idea will help you in your following systems-related courses. In addition, Tsinghua University's operating system lab, rCore is based on Rust. You can see the documentation for more details.","title":"Descriptions"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#course-resources","text":"Course Website: https://reberhardt.com/cs110l/spring-2020/ Recordings: https://youtu.be/j7AQrtLevUE Textbook: None Assignments: 6 Labs, 2 Projects, the course website has specific requirements. The projects are quite interesting where you will Implement a GDB-like debugger and a load balancer in Rust.","title":"Course Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS110L - GitHub . Due to the rapid evolution of Rust, the libraries used in the 2020 version of the course project are obsolete, so @fung-hwang tried to adapt these libraries (in November 2022). His adaptation advice and completed assignments are maintained in fung-hwang/CS110L-2020spr - GitHub . It is possible that Rust and these libraries will have changed again when you start to learn CS110L, but you can still refer to this repo for help.","title":"Personal Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/","text":"CS50: This is CS50x Descriptions Offered by: Harvard Prerequisites: None Programming Languages: C, Python, SQL, HTML, CSS, JavaScript Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 20 hours This course has been voted the most popular public course by Harvard students for many years. Professor Malan is very passionate in class. I still remember the scene where he tears up the Yellow pages to explain the dichotomy method. Since this is a university-wide public course, the contents are pretty friendly to beginners and even if you already have some programming experience, all the programming assignments are quite exciting and worth a try. Course Resources Course Website: 2022 , 2023 Recordings: 2022 , 2023 Assignments: 2022 , 2023 Personal Resources All the resources and assignments used by @mancuoj in this course are maintained in mancuoj/CS50x - GitHub .","title":"Harvard CS50: This is CS50x"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/#cs50-this-is-cs50x","text":"","title":"CS50: This is CS50x"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/#descriptions","text":"Offered by: Harvard Prerequisites: None Programming Languages: C, Python, SQL, HTML, CSS, JavaScript Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 20 hours This course has been voted the most popular public course by Harvard students for many years. Professor Malan is very passionate in class. I still remember the scene where he tears up the Yellow pages to explain the dichotomy method. Since this is a university-wide public course, the contents are pretty friendly to beginners and even if you already have some programming experience, all the programming assignments are quite exciting and worth a try.","title":"Descriptions"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/#course-resources","text":"Course Website: 2022 , 2023 Recordings: 2022 , 2023 Assignments: 2022 , 2023","title":"Course Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/#personal-resources","text":"All the resources and assignments used by @mancuoj in this course are maintained in mancuoj/CS50x - GitHub .","title":"Personal Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50P/","text":"CS50P Introduction to Programming with Python Descriptions Offered by: Harvard University Prerequisites: No prerequisites Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 30-40 hours One of the CS50 families, taught by David J. Malan. You'll learn how to program in Python and \"Pythonic\" ways to deal with everthing. The course also introduces libraries, code testing, and handling exceptions. No programming experiences are assumed. So it may be appropriate for anyone who wants to learn Python. Course Resources Course Website: 2022 Recordings: 2022 Textbooks: No textbook required Assignments: 2022 Personal Resources All the resources and assignments used by @mancuoj in this course are maintained in mancuoj/CS50P - GitHub .","title":"CS50P: CS50's Introduction to Programming with Python"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50P/#cs50p-introduction-to-programming-with-python","text":"","title":"CS50P Introduction to Programming with Python"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50P/#descriptions","text":"Offered by: Harvard University Prerequisites: No prerequisites Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 30-40 hours One of the CS50 families, taught by David J. Malan. You'll learn how to program in Python and \"Pythonic\" ways to deal with everthing. The course also introduces libraries, code testing, and handling exceptions. No programming experiences are assumed. So it may be appropriate for anyone who wants to learn Python.","title":"Descriptions"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50P/#course-resources","text":"Course Website: 2022 Recordings: 2022 Textbooks: No textbook required Assignments: 2022","title":"Course Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50P/#personal-resources","text":"All the resources and assignments used by @mancuoj in this course are maintained in mancuoj/CS50P - GitHub .","title":"Personal Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/","text":"CS61A: Structure and Interpretation of Computer Programs Descriptions Offered by: UC Berkeley Prerequisites: None Programming Languages: Python, Scheme, SQL Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 50 hours This is the first course in the Berkeley CS61 series, and my introductory course to Python. The CS61 series is composed of introductory courses to the CS major at Berkeley, where CS61A: Emphasizes abstraction and equips students to use programs to solve real-world problems without focusing on the underlying hardware details. CS61B: Focuses on algorithms and data structures and the construction of large-scale programs, where students combine knowledge of algorithms and data structures with the Java language to build large-scale projects at the thousand-line code level (such as a simple Google Maps, a two-dimensional version of Minecraft). CS61C: Focusing on computer architecture, students will understand how high-level languages (e.g. C) are converted step-by-step into machine-understandable bit strings and executed on CPUs. Students will learn about the RISC-V architecture and implement a CPU on their own by using Logism. CS61B and CS61C are both included in this guidebook. Going back to CS61A, you will note that this is not just a programming language class, but goes deeper into the principles of program construction and operation. Finally you will implement an interpreter for Scheme in Python in Project 4. In addition, abstraction will be a major theme in this class, as you will learn about functional programming, data abstraction, object orientation, etc. to make your code more readable and modular. Of course, learning a programming language is also a big part of this course. You will master three programming languages, Python, Scheme, and SQL, and in learning and comparing them, you will be equiped with the ability to quickly master a new programming language. Note: If you have no prior programming experience at all, getting started with CS61A requires a relatively high level of learning ability and self-discipline. To avoid the frustration of a struggling experience, you may choose a more friendly introductory programming course at first. For example, CS10 at Berkeley or CS50 at Harvard are both good choices. Course Resources Course Website: https://inst.eecs.berkeley.edu/~cs61a/su20/ Recordings: refer to the course website Textbook: http://composingprograms.com/ Assignments: refer to the course website Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS61A - GitHub","title":"UCB CS61A: Structure and Interpretation of Computer Programs"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#cs61a-structure-and-interpretation-of-computer-programs","text":"","title":"CS61A: Structure and Interpretation of Computer Programs"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#descriptions","text":"Offered by: UC Berkeley Prerequisites: None Programming Languages: Python, Scheme, SQL Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 50 hours This is the first course in the Berkeley CS61 series, and my introductory course to Python. The CS61 series is composed of introductory courses to the CS major at Berkeley, where CS61A: Emphasizes abstraction and equips students to use programs to solve real-world problems without focusing on the underlying hardware details. CS61B: Focuses on algorithms and data structures and the construction of large-scale programs, where students combine knowledge of algorithms and data structures with the Java language to build large-scale projects at the thousand-line code level (such as a simple Google Maps, a two-dimensional version of Minecraft). CS61C: Focusing on computer architecture, students will understand how high-level languages (e.g. C) are converted step-by-step into machine-understandable bit strings and executed on CPUs. Students will learn about the RISC-V architecture and implement a CPU on their own by using Logism. CS61B and CS61C are both included in this guidebook. Going back to CS61A, you will note that this is not just a programming language class, but goes deeper into the principles of program construction and operation. Finally you will implement an interpreter for Scheme in Python in Project 4. In addition, abstraction will be a major theme in this class, as you will learn about functional programming, data abstraction, object orientation, etc. to make your code more readable and modular. Of course, learning a programming language is also a big part of this course. You will master three programming languages, Python, Scheme, and SQL, and in learning and comparing them, you will be equiped with the ability to quickly master a new programming language. Note: If you have no prior programming experience at all, getting started with CS61A requires a relatively high level of learning ability and self-discipline. To avoid the frustration of a struggling experience, you may choose a more friendly introductory programming course at first. For example, CS10 at Berkeley or CS50 at Harvard are both good choices.","title":"Descriptions"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#course-resources","text":"Course Website: https://inst.eecs.berkeley.edu/~cs61a/su20/ Recordings: refer to the course website Textbook: http://composingprograms.com/ Assignments: refer to the course website","title":"Course Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS61A - GitHub","title":"Personal Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Duke-Coursera-Intro-C/","text":"Introductory C Programming Specialization Descriptions Offered by: Duke Prerequisites: None Programming Languages: C Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 110 hours This is an excellent course which I benefited a lot from. The course teaches fundamental concepts such as frame, stack memory, heap memory, etc. There are great programming assignments to deepen and reinforce your understanding of the hardest part in C, like pointers. The course provides excellent practice in GDB, Valgrind, and the assignments will cover some basic Git exercises. The course instructor recommends using Emacs for homework, so it's a good opportunity to learn Emacs. If you already know how to use Vim, I suggest you use Evil. This way you don't lose the editing capabilities of Vim, and you get to experience the power of Emacs. Having both Emacs and Vim in your kit will increase your efficiency considerably. Emacs' org-mode, smooth integration of GDB, etc., are convenient for developers. It may require payment, but I think it's worth it. Although this is an introductory course, it has both breadth and depth. Course Resources Course Website: https://www.coursera.org/specializations/c-programming Recordings: refer to the course website Textbook: refer to the course website Assignments: refer to the course website Personal Resources All the resources and assignments used by in this course are maintained in Duke Coursera Intro C . Several assignments have not been completed so far for time reasons.","title":"Duke University: Introductory C Programming Specialization"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Duke-Coursera-Intro-C/#introductory-c-programming-specialization","text":"","title":"Introductory C Programming Specialization"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Duke-Coursera-Intro-C/#descriptions","text":"Offered by: Duke Prerequisites: None Programming Languages: C Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 110 hours This is an excellent course which I benefited a lot from. The course teaches fundamental concepts such as frame, stack memory, heap memory, etc. There are great programming assignments to deepen and reinforce your understanding of the hardest part in C, like pointers. The course provides excellent practice in GDB, Valgrind, and the assignments will cover some basic Git exercises. The course instructor recommends using Emacs for homework, so it's a good opportunity to learn Emacs. If you already know how to use Vim, I suggest you use Evil. This way you don't lose the editing capabilities of Vim, and you get to experience the power of Emacs. Having both Emacs and Vim in your kit will increase your efficiency considerably. Emacs' org-mode, smooth integration of GDB, etc., are convenient for developers. It may require payment, but I think it's worth it. Although this is an introductory course, it has both breadth and depth.","title":"Descriptions"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Duke-Coursera-Intro-C/#course-resources","text":"Course Website: https://www.coursera.org/specializations/c-programming Recordings: refer to the course website Textbook: refer to the course website Assignments: refer to the course website","title":"Course Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Duke-Coursera-Intro-C/#personal-resources","text":"All the resources and assignments used by in this course are maintained in Duke Coursera Intro C . Several assignments have not been completed so far for time reasons.","title":"Personal Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Haskell-MOOC/","text":"Haskell MOOC Descriptions Offered by: University of Helsinki Prerequisites: None Programming Languages: Haskell Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: Varying according to the learner Functional programming is increasingly being integrated into modern programming languages. Streams in Java, Promises in JavaScript, and Record & Tuple in the draft phase of ECMAScript... When I was learning these things, I always felt like I was memorizing the behaviours of their API, and although I was able to write some programs using them, I never felt like I had mastered them. Why do they exist? Why are they like that? What is the idea behind their design? Learning functional programming will give you the answer. Its core ingredient is functional programming. Just like Java is probably the default choice for teaching object-oriented programming. This course will teach just enough Haskell syntax, library functions, and a small number of tools to explain the core program semantics and the core idea of functional programming. This will save you time not getting bogged down in the details of the language and its ecology, which I think is the biggest advantage of the course. Topics covered in the course: Pure Function Lazy Evaluation Strongly Typed Type Inferred Curry Monoid / Functor / Monad / Applicative If you have some programming experience, part 1 of the course is very easy. Most of the difficulties lie in part 2, after chap 13. Its exercises are great, which can give you a feeling of doing exercise of CS61A . There are enough hints in the comments and the solutions will be given to you after submission, and you can ask questions or discuss them with others in the official Telegram community. Course Resources Course Website: https://haskell.mooc.fi/ Recordings: None Textbooks: https://haskell.mooc.fi/ Assignments: https://github.com/moocfi/haskell-mooc Community: https://t.me/haskell_mooc_fi Personal Resources All the resources and assignments used by @showtheunli in this course are maintained in showthesunli/haskell-mooc - GitHub . (It is highly discouraged to refer to other people's implementations when working on assignments.)","title":"Haskell MOOC"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Haskell-MOOC/#haskell-mooc","text":"","title":"Haskell MOOC"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Haskell-MOOC/#descriptions","text":"Offered by: University of Helsinki Prerequisites: None Programming Languages: Haskell Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: Varying according to the learner Functional programming is increasingly being integrated into modern programming languages. Streams in Java, Promises in JavaScript, and Record & Tuple in the draft phase of ECMAScript... When I was learning these things, I always felt like I was memorizing the behaviours of their API, and although I was able to write some programs using them, I never felt like I had mastered them. Why do they exist? Why are they like that? What is the idea behind their design? Learning functional programming will give you the answer. Its core ingredient is functional programming. Just like Java is probably the default choice for teaching object-oriented programming. This course will teach just enough Haskell syntax, library functions, and a small number of tools to explain the core program semantics and the core idea of functional programming. This will save you time not getting bogged down in the details of the language and its ecology, which I think is the biggest advantage of the course. Topics covered in the course: Pure Function Lazy Evaluation Strongly Typed Type Inferred Curry Monoid / Functor / Monad / Applicative If you have some programming experience, part 1 of the course is very easy. Most of the difficulties lie in part 2, after chap 13. Its exercises are great, which can give you a feeling of doing exercise of CS61A . There are enough hints in the comments and the solutions will be given to you after submission, and you can ask questions or discuss them with others in the official Telegram community.","title":"Descriptions"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Haskell-MOOC/#course-resources","text":"Course Website: https://haskell.mooc.fi/ Recordings: None Textbooks: https://haskell.mooc.fi/ Assignments: https://github.com/moocfi/haskell-mooc Community: https://t.me/haskell_mooc_fi","title":"Course Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Haskell-MOOC/#personal-resources","text":"All the resources and assignments used by @showtheunli in this course are maintained in showthesunli/haskell-mooc - GitHub . (It is highly discouraged to refer to other people's implementations when working on assignments.)","title":"Personal Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/","text":"MIT: The Missing Semester of Your CS Education Descriptions Offered by: MIT Prerequisites: None Programming Languages: Shell Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 10 hours Just as the course name indicated, this course will teach the missing things in the university courses. It will cover shell programming, git, vim editor, tmux, ssh, sed, awk and even how to beautify your terminal. Trust me, this will be your first step to become a hacker! Resources Homepage: https://missing.csail.mit.edu/ Records: https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J Assignments: Some exercises after each lecture.","title":"MIT-Missing-Semester"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/#mit-the-missing-semester-of-your-cs-education","text":"","title":"MIT: The Missing Semester of Your CS Education"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/#descriptions","text":"Offered by: MIT Prerequisites: None Programming Languages: Shell Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 10 hours Just as the course name indicated, this course will teach the missing things in the university courses. It will cover shell programming, git, vim editor, tmux, ssh, sed, awk and even how to beautify your terminal. Trust me, this will be your first step to become a hacker!","title":"Descriptions"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/#resources","text":"Homepage: https://missing.csail.mit.edu/ Records: https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J Assignments: Some exercises after each lecture.","title":"Resources"},{"location":"en/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/6035/","text":"","title":"6035"},{"location":"en/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/","text":"Stanford CS143: Compilers Descriptions Offered by: Stanford University Prerequisite: Computer Architecture Programming Languages: Java or C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Learning Hours: 150 This course aims to impart the principles of compiler construction for programming languages to students. The instructors have designed a \u201cCOOL language\u201d, namely Class-Object-Oriented-Language. By study and practice, you will design and implement a compiler, which can translate the human-readable COOL language into machine-readable MIPS assembly which can be run on the SPIM emulator. Following the Dragon Book, the theoretical part of the course covers lexical analysis, syntax analysis, semantics analysis, runtime environments, register allocation, optimization, and code generation. The practical part, accordingly, is divided into 4 steps: 3 for the frontend and 1 for the backend. The difficulty is considered gradual, increasing at a proper rate. Should you have enough time and interest even after completing all the required work, there\u2019s a huge room left for you to do optimization. Course Resources Course Website: http://web.stanford.edu/class/cs143/ Recordings: https://www.bilibili.com/video/BV17K4y147Bz Textbook: Compilers: Principles, Techniques and Tools (Dragon Book) Assignments: 5 written assignments + 5 programming labs Collection of Course Resources @skyzluo has been maintaining a repo of course resources used and reference implementations of programming labs: skyzluo/CS143-Compilers-Stanford - GitHub .","title":"Stanford CS143: Compilers"},{"location":"en/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#stanford-cs143-compilers","text":"","title":"Stanford CS143: Compilers"},{"location":"en/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#descriptions","text":"Offered by: Stanford University Prerequisite: Computer Architecture Programming Languages: Java or C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Learning Hours: 150 This course aims to impart the principles of compiler construction for programming languages to students. The instructors have designed a \u201cCOOL language\u201d, namely Class-Object-Oriented-Language. By study and practice, you will design and implement a compiler, which can translate the human-readable COOL language into machine-readable MIPS assembly which can be run on the SPIM emulator. Following the Dragon Book, the theoretical part of the course covers lexical analysis, syntax analysis, semantics analysis, runtime environments, register allocation, optimization, and code generation. The practical part, accordingly, is divided into 4 steps: 3 for the frontend and 1 for the backend. The difficulty is considered gradual, increasing at a proper rate. Should you have enough time and interest even after completing all the required work, there\u2019s a huge room left for you to do optimization.","title":"Descriptions"},{"location":"en/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#course-resources","text":"Course Website: http://web.stanford.edu/class/cs143/ Recordings: https://www.bilibili.com/video/BV17K4y147Bz Textbook: Compilers: Principles, Techniques and Tools (Dragon Book) Assignments: 5 written assignments + 5 programming labs","title":"Course Resources"},{"location":"en/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#collection-of-course-resources","text":"@skyzluo has been maintaining a repo of course resources used and reference implementations of programming labs: skyzluo/CS143-Compilers-Stanford - GitHub .","title":"Collection of Course Resources"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/15462/","text":"CMU 15-462 : COMPUTER GRAPHICS Descriptions Offered by: CMU Prerequisites: Basic vector calculus and linear algebra , basic C/C++ programming skills. Programming Languages: C/C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This course provides a comprehensive introduction to computer graphics. It focuses on fundamental concepts and techniques, and their cross-cutting relationship to multiple problem domains in graphics (rendering, animation, geometry, imaging). Topics include: sampling, aliasing, interpolation, rasterization, geometric transformations, parameterization, visibility, compositing, filtering, convolution, curves & surfaces, geometric data structures, subdivision, meshing, spatial hierarchies, ray tracing, radiometry, reflectance, light fields, geometric optics, Monte Carlo rendering, importance sampling, camera models, high-performance ray tracing, differential equations, time integration, numerical differentiation, physically-based animation, optimization, numerical linear algebra, inverse kinematics, Fourier methods, data fitting, example-based synthesis. Course Resources Course Website: http://15462.courses.cs.cmu.edu/fall2022/ Recordings: Youtube Textbooks: There is no required textbook for 15-462, though a variety of books may provide good supplementary material: Fundamentals of Computer Graphics. A K Peters, 2009 Computer Graphics: Principles and Practice Physically Based Rendering: From Theory to Implementation Assignments: refer to the course website","title":"CMU 15-462"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/15462/#cmu-15-462-computer-graphics","text":"","title":"CMU 15-462 : COMPUTER GRAPHICS"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/15462/#descriptions","text":"Offered by: CMU Prerequisites: Basic vector calculus and linear algebra , basic C/C++ programming skills. Programming Languages: C/C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This course provides a comprehensive introduction to computer graphics. It focuses on fundamental concepts and techniques, and their cross-cutting relationship to multiple problem domains in graphics (rendering, animation, geometry, imaging). Topics include: sampling, aliasing, interpolation, rasterization, geometric transformations, parameterization, visibility, compositing, filtering, convolution, curves & surfaces, geometric data structures, subdivision, meshing, spatial hierarchies, ray tracing, radiometry, reflectance, light fields, geometric optics, Monte Carlo rendering, importance sampling, camera models, high-performance ray tracing, differential equations, time integration, numerical differentiation, physically-based animation, optimization, numerical linear algebra, inverse kinematics, Fourier methods, data fitting, example-based synthesis.","title":"Descriptions"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/15462/#course-resources","text":"Course Website: http://15462.courses.cs.cmu.edu/fall2022/ Recordings: Youtube Textbooks: There is no required textbook for 15-462, though a variety of books may provide good supplementary material: Fundamentals of Computer Graphics. A K Peters, 2009 Computer Graphics: Principles and Practice Physically Based Rendering: From Theory to Implementation Assignments: refer to the course website","title":"Course Resources"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS148/","text":"Stanford CS148 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cPython \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u8fd9\u662f\u4e00\u95e8\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u7684\u5165\u95e8\u8bfe\u7a0b\uff0c\u8fd9\u95e8\u8bfe\u7684\u4e00\u5f00\u59cb\u4f7f\u7528 Blender \u53bb\u751f\u6210\u56fe\u50cf\uff0c\u5e76\u4e14\u7406\u89e3\u5e95\u5c42\u7684\u6570\u5b66\u77e5\u8bc6\uff0c\u5305\u62ec\u4e09\u89d2\u5f62\u3001\u6cd5\u5411\u91cf\u3001\u63d2\u503c\u3001\u7eb9\u7406\u6620\u5c04\u3001\u51f9\u51f8\u8d34\u56fe\u7b49\u7b49\u3002\u4e4b\u540e\u4f1a\u4ecb\u7ecd\u5149\u7ebf\u548c\u989c\u8272\u4ee5\u53ca\u5b83\u4eec\u5982\u4f55\u5f71\u54cd\u8ba1\u7b97\u673a\u7684\u663e\u793a\u548c\u6253\u5370\u3002\u540c\u65f6\u4e5f\u4f1a\u4ecb\u7ecd BRDF \u4ee5\u53ca\u4e00\u4e9b\u57fa\u672c\u7684\u5149\u7167\u548c\u7740\u8272\u6a21\u578b\u3002\u8bfe\u7a0b\u7684\u6700\u540e\uff0c\u4f1a\u6d89\u53ca\u5230\u5149\u7ebf\u8ffd\u8e2a\u3001\u53cd\u8d70\u6837\u3001\u52a0\u901f\u7ed3\u6784\u7b49\u5185\u5bb9\u3002 \u5177\u4f53\u8bfe\u7a0b\u4fe1\u606f\u53ef\u4ee5\u67e5\u770b \u8bfe\u7a0b\u7f51\u7ad9 \u3002 \u8fd9\u95e8\u8bfe\u7a0b\u6bd4\u8d77 GAMES101 \u6d45\u4e00\u4e9b\uff0c\u7f16\u7a0b\u8bed\u8a00\u4f7f\u7528\u7684\u662f Python\uff0c\u5bf9\u4e8e\u4e0d\u719f\u6089 C++ \u7684\u540c\u5b66\u6bd4\u8f83\u53cb\u597d\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a CS148 \u8bfe\u7a0b\u89c6\u9891\uff1a\u65e0\uff0c\u76f4\u63a5\u770b lecture \u5c31\u53ef\u4ee5\u4e86\uff0c\u4e5f\u53ef\u4ee5\u53c2\u8003 GAMES101 \u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aFundamentals of Computer Graphics \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 8 \u4e2a hw, 1 \u4e2a final project","title":"Stanford CS148"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS148/#stanford-cs148","text":"","title":"Stanford CS148"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS148/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cPython \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u8fd9\u662f\u4e00\u95e8\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u7684\u5165\u95e8\u8bfe\u7a0b\uff0c\u8fd9\u95e8\u8bfe\u7684\u4e00\u5f00\u59cb\u4f7f\u7528 Blender \u53bb\u751f\u6210\u56fe\u50cf\uff0c\u5e76\u4e14\u7406\u89e3\u5e95\u5c42\u7684\u6570\u5b66\u77e5\u8bc6\uff0c\u5305\u62ec\u4e09\u89d2\u5f62\u3001\u6cd5\u5411\u91cf\u3001\u63d2\u503c\u3001\u7eb9\u7406\u6620\u5c04\u3001\u51f9\u51f8\u8d34\u56fe\u7b49\u7b49\u3002\u4e4b\u540e\u4f1a\u4ecb\u7ecd\u5149\u7ebf\u548c\u989c\u8272\u4ee5\u53ca\u5b83\u4eec\u5982\u4f55\u5f71\u54cd\u8ba1\u7b97\u673a\u7684\u663e\u793a\u548c\u6253\u5370\u3002\u540c\u65f6\u4e5f\u4f1a\u4ecb\u7ecd BRDF \u4ee5\u53ca\u4e00\u4e9b\u57fa\u672c\u7684\u5149\u7167\u548c\u7740\u8272\u6a21\u578b\u3002\u8bfe\u7a0b\u7684\u6700\u540e\uff0c\u4f1a\u6d89\u53ca\u5230\u5149\u7ebf\u8ffd\u8e2a\u3001\u53cd\u8d70\u6837\u3001\u52a0\u901f\u7ed3\u6784\u7b49\u5185\u5bb9\u3002 \u5177\u4f53\u8bfe\u7a0b\u4fe1\u606f\u53ef\u4ee5\u67e5\u770b \u8bfe\u7a0b\u7f51\u7ad9 \u3002 \u8fd9\u95e8\u8bfe\u7a0b\u6bd4\u8d77 GAMES101 \u6d45\u4e00\u4e9b\uff0c\u7f16\u7a0b\u8bed\u8a00\u4f7f\u7528\u7684\u662f Python\uff0c\u5bf9\u4e8e\u4e0d\u719f\u6089 C++ \u7684\u540c\u5b66\u6bd4\u8f83\u53cb\u597d\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS148/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a CS148 \u8bfe\u7a0b\u89c6\u9891\uff1a\u65e0\uff0c\u76f4\u63a5\u770b lecture \u5c31\u53ef\u4ee5\u4e86\uff0c\u4e5f\u53ef\u4ee5\u53c2\u8003 GAMES101 \u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aFundamentals of Computer Graphics \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 8 \u4e2a hw, 1 \u4e2a final project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS184/","text":"","title":"CS184"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/","text":"GAMES101 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUCSB \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cC++ \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u672c\u8bfe\u7a0b\u5c06\u5168\u9762\u800c\u7cfb\u7edf\u5730\u4ecb\u7ecd\u73b0\u4ee3\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u7684\u56db\u5927\u7ec4\u6210\u90e8\u5206\uff1a\uff081\uff09\u5149\u6805\u5316\u6210\u50cf\uff0c\uff082\uff09\u51e0\u4f55\u8868\u793a\uff0c\uff083\uff09\u5149\u7684\u4f20\u64ad\u7406\u8bba\uff0c\u4ee5\u53ca\uff084\uff09\u52a8\u753b\u4e0e\u6a21\u62df\u3002\u6bcf\u4e2a\u65b9\u9762\u90fd\u4f1a\u4ece\u57fa\u7840\u539f\u7406\u51fa\u53d1\u8bb2\u89e3\u5230\u5b9e\u9645\u5e94\u7528\uff0c\u5e76\u4ecb\u7ecd\u524d\u6cbf\u7684\u7406\u8bba\u7814\u7a76\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\uff0c\u4f60\u53ef\u4ee5\u5b66\u4e60\u5230\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u80cc\u540e\u7684\u6570\u5b66\u548c\u7269\u7406\u77e5\u8bc6\uff0c\u5e76\u953b\u70bc\u5b9e\u9645\u7684\u7f16\u7a0b\u80fd\u529b\u3002 \u4f5c\u4e3a\u5165\u95e8\uff0c\u672c\u8bfe\u7a0b\u4f1a\u5c3d\u53ef\u80fd\u7684\u8986\u76d6\u56fe\u5f62\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff0c\u628a\u6bcf\u4e00\u90e8\u5206\u7684\u57fa\u672c\u6982\u5ff5\u90fd\u5c3d\u53ef\u80fd\u8bf4\u6e05\u695a\uff0c\u8ba9\u5927\u5bb6\u5bf9\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u6709\u4e00\u4e2a\u5b8c\u6574\u7684\u3001\u81ea\u4e0a\u800c\u4e0b\u7684\u5168\u5c40\u628a\u63e1\u3002\u5168\u5c40\u7684\u7406\u89e3\u5f88\u91cd\u8981\uff0c\u5b66\u5b8c\u672c\u8bfe\u7a0b\u540e\uff0c\u4f60\u4f1a\u4e86\u89e3\u5230\u56fe\u5f62\u5b66\u4e0d\u7b49\u4e8e OpenGL\uff0c\u4e0d\u7b49\u4e8e\u5149\u7ebf\u8ffd\u8e2a\uff0c\u800c\u662f\u4e00\u5957\u751f\u6210\u6574\u4e2a\u865a\u62df\u4e16\u754c\u7684\u65b9\u6cd5\u3002\u4ece\u672c\u8bfe\u7a0b\u7684\u6807\u9898\uff0c\u5927\u5bb6\u8fd8\u53ef\u4ee5\u770b\u5230\u201c\u73b0\u4ee3\u201d\u4e8c\u5b57\uff0c\u4e5f\u5c31\u662f\u8bf4\uff0c\u8fd9\u95e8\u8bfe\u6240\u8981\u7ed9\u5927\u5bb6\u4ecb\u7ecd\u7684\u90fd\u662f\u73b0\u4ee3\u5316\u7684\u77e5\u8bc6\uff0c\u4e5f\u90fd\u662f\u73b0\u4ee3\u56fe\u5f62\u5b66\u5de5\u4e1a\u754c\u9700\u8981\u7684\u56fe\u5f62\u5b66\u57fa\u7840\u3002 GAMES101 \u662f\u56fd\u5185\u76f8\u5f53\u6709\u540d\u7684\u56fe\u5f62\u5b66\u516c\u5f00\u8bfe\u3002\u548c\u5927\u5bb6\u5370\u8c61\u4e2d\u6ee1\u662f\u6570\u5b66\u548c\u7b97\u6cd5\u7684\u56fe\u5f62\u5b66\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4ee5\u5341\u5206\u751f\u52a8\u7684\u65b9\u5f0f\u5e26\u6211\u4eec\u8fdb\u5165\u4e86\u56fe\u5f62\u5b66\u8fd9\u4e2a\u9886\u57df\u7684\u5927\u95e8\u3002 \u6bcf\u4e2aproject\u4ee3\u7801\u91cf\u90fd\u4e0d\u4f1a\u5f88\u591a\uff0c\u4f46\u662f\u5374\u90fd\u5341\u5206\u6709\u8da3\u3002\u5728\u505a\u8fd9\u4e9bproject\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u4f1a\u5b9e\u73b0\u7b80\u5355\u7684\u5149\u6805\u5316\uff0c\u5e76\u6e32\u67d3\u4e00\u4e2a\u7b80\u6613\u7684\u6a21\u578b\uff0c\u6211\u4eec\u8fd8\u4f1a\u5b9e\u73b0\u5149\u7ebf\u8ffd\u8e2a\uff0c\u4ee5\u8ffd\u6c42\u6e32\u67d3\u66f4\u597d\u7684\u8d28\u91cf\u3002\u6bcf\u4e2aproject\u4e2d\u8fd8\u6709\u9009\u505a\u7684\u62d3\u5c55\u4f5c\u4e1a\uff0c\u53ef\u4ee5\u8ba9\u6211\u4eec\u6e32\u67d3\u7684\u6a21\u578b\u5177\u6709\u66f4\u597d\u7684\u8d28\u91cf\uff0c\u66f4\u5feb\u7684\u6e32\u67d3\u901f\u5ea6\u3002 \u559c\u6b22\u73a9\u6e38\u620f\u7684\u540c\u5b66\u5e94\u8be5\u5bf9\u5b9e\u65f6\u5149\u7ebf\u8ffd\u8e2a\u6709\u4e00\u5b9a\u7684\u4e86\u89e3\uff0c\u8fd9\u95e8\u8bfe\u7684\u8001\u5e08\u95eb\u4ee4\u742a\u5c31\u5bf9\u8fd9\u4e00\u6280\u672f\u6709\u76f4\u63a5\u7684\u63a8\u52a8\u4f5c\u7528\u3002 \u8ddf\u7740\u8bfe\u7a0b\u7684\u89c6\u9891\uff0c\u505a\u5b8c\u6bcf\u4e00\u4e2aproject\uff0c\u76f8\u4fe1\u4f60\u4f1a\u548c\u6211\u4e00\u6837\u5bf9\u56fe\u5f62\u5b66\uff0c\u4ee5\u53ca\u73b0\u4ee3\u7684\u6e32\u67d3\u6280\u672f\u4ea7\u751f\u6d53\u539a\u7684\u5174\u8da3\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES101 , GAMES101 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili , \u5b98\u7f51 \u8bfe\u7a0b\u6559\u6750\uff1aFundamentals of Computer Graphics \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 8 \u4e2a project \u8d44\u6e90\u6c47\u603b @ysj1173886760 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 ysj1173886760/Learning: graphics/GAMES101 - GitHub \u4e2d\u3002","title":"GAMES101"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/#games101","text":"","title":"GAMES101"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUCSB \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cC++ \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u672c\u8bfe\u7a0b\u5c06\u5168\u9762\u800c\u7cfb\u7edf\u5730\u4ecb\u7ecd\u73b0\u4ee3\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u7684\u56db\u5927\u7ec4\u6210\u90e8\u5206\uff1a\uff081\uff09\u5149\u6805\u5316\u6210\u50cf\uff0c\uff082\uff09\u51e0\u4f55\u8868\u793a\uff0c\uff083\uff09\u5149\u7684\u4f20\u64ad\u7406\u8bba\uff0c\u4ee5\u53ca\uff084\uff09\u52a8\u753b\u4e0e\u6a21\u62df\u3002\u6bcf\u4e2a\u65b9\u9762\u90fd\u4f1a\u4ece\u57fa\u7840\u539f\u7406\u51fa\u53d1\u8bb2\u89e3\u5230\u5b9e\u9645\u5e94\u7528\uff0c\u5e76\u4ecb\u7ecd\u524d\u6cbf\u7684\u7406\u8bba\u7814\u7a76\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\uff0c\u4f60\u53ef\u4ee5\u5b66\u4e60\u5230\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u80cc\u540e\u7684\u6570\u5b66\u548c\u7269\u7406\u77e5\u8bc6\uff0c\u5e76\u953b\u70bc\u5b9e\u9645\u7684\u7f16\u7a0b\u80fd\u529b\u3002 \u4f5c\u4e3a\u5165\u95e8\uff0c\u672c\u8bfe\u7a0b\u4f1a\u5c3d\u53ef\u80fd\u7684\u8986\u76d6\u56fe\u5f62\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff0c\u628a\u6bcf\u4e00\u90e8\u5206\u7684\u57fa\u672c\u6982\u5ff5\u90fd\u5c3d\u53ef\u80fd\u8bf4\u6e05\u695a\uff0c\u8ba9\u5927\u5bb6\u5bf9\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u6709\u4e00\u4e2a\u5b8c\u6574\u7684\u3001\u81ea\u4e0a\u800c\u4e0b\u7684\u5168\u5c40\u628a\u63e1\u3002\u5168\u5c40\u7684\u7406\u89e3\u5f88\u91cd\u8981\uff0c\u5b66\u5b8c\u672c\u8bfe\u7a0b\u540e\uff0c\u4f60\u4f1a\u4e86\u89e3\u5230\u56fe\u5f62\u5b66\u4e0d\u7b49\u4e8e OpenGL\uff0c\u4e0d\u7b49\u4e8e\u5149\u7ebf\u8ffd\u8e2a\uff0c\u800c\u662f\u4e00\u5957\u751f\u6210\u6574\u4e2a\u865a\u62df\u4e16\u754c\u7684\u65b9\u6cd5\u3002\u4ece\u672c\u8bfe\u7a0b\u7684\u6807\u9898\uff0c\u5927\u5bb6\u8fd8\u53ef\u4ee5\u770b\u5230\u201c\u73b0\u4ee3\u201d\u4e8c\u5b57\uff0c\u4e5f\u5c31\u662f\u8bf4\uff0c\u8fd9\u95e8\u8bfe\u6240\u8981\u7ed9\u5927\u5bb6\u4ecb\u7ecd\u7684\u90fd\u662f\u73b0\u4ee3\u5316\u7684\u77e5\u8bc6\uff0c\u4e5f\u90fd\u662f\u73b0\u4ee3\u56fe\u5f62\u5b66\u5de5\u4e1a\u754c\u9700\u8981\u7684\u56fe\u5f62\u5b66\u57fa\u7840\u3002 GAMES101 \u662f\u56fd\u5185\u76f8\u5f53\u6709\u540d\u7684\u56fe\u5f62\u5b66\u516c\u5f00\u8bfe\u3002\u548c\u5927\u5bb6\u5370\u8c61\u4e2d\u6ee1\u662f\u6570\u5b66\u548c\u7b97\u6cd5\u7684\u56fe\u5f62\u5b66\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4ee5\u5341\u5206\u751f\u52a8\u7684\u65b9\u5f0f\u5e26\u6211\u4eec\u8fdb\u5165\u4e86\u56fe\u5f62\u5b66\u8fd9\u4e2a\u9886\u57df\u7684\u5927\u95e8\u3002 \u6bcf\u4e2aproject\u4ee3\u7801\u91cf\u90fd\u4e0d\u4f1a\u5f88\u591a\uff0c\u4f46\u662f\u5374\u90fd\u5341\u5206\u6709\u8da3\u3002\u5728\u505a\u8fd9\u4e9bproject\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u4f1a\u5b9e\u73b0\u7b80\u5355\u7684\u5149\u6805\u5316\uff0c\u5e76\u6e32\u67d3\u4e00\u4e2a\u7b80\u6613\u7684\u6a21\u578b\uff0c\u6211\u4eec\u8fd8\u4f1a\u5b9e\u73b0\u5149\u7ebf\u8ffd\u8e2a\uff0c\u4ee5\u8ffd\u6c42\u6e32\u67d3\u66f4\u597d\u7684\u8d28\u91cf\u3002\u6bcf\u4e2aproject\u4e2d\u8fd8\u6709\u9009\u505a\u7684\u62d3\u5c55\u4f5c\u4e1a\uff0c\u53ef\u4ee5\u8ba9\u6211\u4eec\u6e32\u67d3\u7684\u6a21\u578b\u5177\u6709\u66f4\u597d\u7684\u8d28\u91cf\uff0c\u66f4\u5feb\u7684\u6e32\u67d3\u901f\u5ea6\u3002 \u559c\u6b22\u73a9\u6e38\u620f\u7684\u540c\u5b66\u5e94\u8be5\u5bf9\u5b9e\u65f6\u5149\u7ebf\u8ffd\u8e2a\u6709\u4e00\u5b9a\u7684\u4e86\u89e3\uff0c\u8fd9\u95e8\u8bfe\u7684\u8001\u5e08\u95eb\u4ee4\u742a\u5c31\u5bf9\u8fd9\u4e00\u6280\u672f\u6709\u76f4\u63a5\u7684\u63a8\u52a8\u4f5c\u7528\u3002 \u8ddf\u7740\u8bfe\u7a0b\u7684\u89c6\u9891\uff0c\u505a\u5b8c\u6bcf\u4e00\u4e2aproject\uff0c\u76f8\u4fe1\u4f60\u4f1a\u548c\u6211\u4e00\u6837\u5bf9\u56fe\u5f62\u5b66\uff0c\u4ee5\u53ca\u73b0\u4ee3\u7684\u6e32\u67d3\u6280\u672f\u4ea7\u751f\u6d53\u539a\u7684\u5174\u8da3\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES101 , GAMES101 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili , \u5b98\u7f51 \u8bfe\u7a0b\u6559\u6750\uff1aFundamentals of Computer Graphics \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 8 \u4e2a project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/#_3","text":"@ysj1173886760 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 ysj1173886760/Learning: graphics/GAMES101 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/","text":"GAMES103 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStyle3D/OSU \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0c\u5927\u5b66\u7269\u7406\uff0c\u7f16\u7a0b\u80fd\u529b\uff0c\u57fa\u672c\u56fe\u5f62\u77e5\u8bc6 \u7f16\u7a0b\u8bed\u8a00\uff1aC# \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd\uff1a \u672c\u8bfe\u7a0b\u5c06\u4f5c\u4e3a\u57fa\u4e8e\u7269\u7406\u7684\u8ba1\u7b97\u673a\u52a8\u753b\u6280\u672f\u5165\u95e8\uff0c\u7740\u91cd\u4ecb\u7ecd\u5404\u79cd\u57fa\u7840\u7684\u7269\u7406\u52a8\u753b\u6a21\u62df\u6280\u672f\u3002 \u8be5\u8bfe\u7a0b\u4e3b\u8981\u6db5\u76d6\u56db\u4e2a\u65b9\u5411\uff0c\u5206\u522b\u4e3a\uff1a1\uff09\u521a\u4f53\u6a21\u62df\uff1b2\uff09\u8d28\u70b9\u5f39\u7c27\u3001\u7ea6\u675f\u4e0e\u5e03\u6599\u6a21\u62df\uff1b3\uff09\u57fa\u4e8e\u6709\u9650\u5143\u7684\u5f39\u6027\u4f53\u6a21\u62df\uff1b4\uff09\u6d41\u4f53\u6a21\u62df\u3002 \u672c\u8bfe\u7a0b\u5185\u5bb9\u5c06\u4e0d\u4f1a\u6d89\u53ca\u5177\u4f53\u7684\u7269\u7406\u6a21\u62df\u5f15\u64ce\uff0c\u4f46\u4f1a\u8ba8\u8bba\u5404\u79cd\u5f15\u64ce\u80cc\u540e\u7684\u6280\u672f\uff0c\u4ee5\u53ca\u5b83\u4eec\u7684\u4f18\u7f3a\u70b9\u7b49\u7b49\u3002\u7531\u4e8e\u5f00\u53d1\u5b66\u4e60\u7269\u7406\u6a21\u62df\u9700\u8981\u4e00\u5b9a\u7684\u6570\u5b66\u57fa\u7840\uff0c\u8bfe\u7a0b\u521d\u59cb\u9636\u6bb5\u4e5f\u4f1a\u82b1\u4e00\u5b9a\u7684\u65f6\u95f4\u590d\u4e60\u5fc5\u5907\u7684\u6570\u5b66\u77e5\u8bc6\u3002\u987a\u5229\u5b8c\u6210\u8bfe\u7a0b\u4e4b\u540e\uff0c\u540c\u5b66\u4eec\u5e94\u8be5\u4f1a\u5bf9\u57fa\u7840\u7684\u7269\u7406\u6a21\u62df\u6280\u672f\u6709\u6df1\u5165\u7406\u89e3\uff0c\u5bf9\u9ad8\u7ea7\u7684\u6a21\u62df\u6280\u672f\u4e5f\u4f1a\u6709\u90e8\u5206\u63a5\u89e6\u3002 \u56fe\u5f62\u5b66\u53ef\u7c97\u7565\u5206\u4e3a\u6e32\u67d3\u3001\u6a21\u62df\u3001\u51e0\u4f55\u4e09\u4e2a\u9886\u57df\u3002GAMES101 \u548c GAMES202 \u4e3b\u8981\u4ee5\u6e32\u67d3\u4e3a\u4e3b\uff0c\u800c\u5bf9\u4e8e\u7269\u7406\u6a21\u62df\uff0cGAMES103 \u5219\u662f\u5f88\u68d2\u7684\u5b66\u4e60\u8d44\u6e90\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES103 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u53c2\u8003\u8d44\u6599\uff1a \u8bfe\u7a0bPPT \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5171\u56db\u6b21\u4f5c\u4e1a\uff0c\u53ef\u89c1\u5b98\u65b9BBS\u5c0f\u7a0b\u5e8f\u6216\u975e\u5b98\u65b9\u7684Repo\uff1a GAMES103 HW \u8d44\u6e90\u6c47\u603b @indevn \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u8981\u6c42\u90fd\u6c47\u603b\u5728 GAMES103 Unoffical \u4e2d\u3002\u5bf9\u4e8e\u4f5c\u4e1a\u7684\u5177\u4f53\u5b9e\u73b0\uff0c\u5728\u77e5\u4e4e\u4e0a\u6709\u5f88\u591a\u76f8\u5173\u6587\u7ae0\u8fdb\u884c\u4e86\u7ec6\u81f4\u8bb2\u89e3\u53ef\u4ee5\u53c2\u8003\u3002","title":"GAMES103"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/#games103","text":"","title":"GAMES103"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStyle3D/OSU \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0c\u5927\u5b66\u7269\u7406\uff0c\u7f16\u7a0b\u80fd\u529b\uff0c\u57fa\u672c\u56fe\u5f62\u77e5\u8bc6 \u7f16\u7a0b\u8bed\u8a00\uff1aC# \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd\uff1a \u672c\u8bfe\u7a0b\u5c06\u4f5c\u4e3a\u57fa\u4e8e\u7269\u7406\u7684\u8ba1\u7b97\u673a\u52a8\u753b\u6280\u672f\u5165\u95e8\uff0c\u7740\u91cd\u4ecb\u7ecd\u5404\u79cd\u57fa\u7840\u7684\u7269\u7406\u52a8\u753b\u6a21\u62df\u6280\u672f\u3002 \u8be5\u8bfe\u7a0b\u4e3b\u8981\u6db5\u76d6\u56db\u4e2a\u65b9\u5411\uff0c\u5206\u522b\u4e3a\uff1a1\uff09\u521a\u4f53\u6a21\u62df\uff1b2\uff09\u8d28\u70b9\u5f39\u7c27\u3001\u7ea6\u675f\u4e0e\u5e03\u6599\u6a21\u62df\uff1b3\uff09\u57fa\u4e8e\u6709\u9650\u5143\u7684\u5f39\u6027\u4f53\u6a21\u62df\uff1b4\uff09\u6d41\u4f53\u6a21\u62df\u3002 \u672c\u8bfe\u7a0b\u5185\u5bb9\u5c06\u4e0d\u4f1a\u6d89\u53ca\u5177\u4f53\u7684\u7269\u7406\u6a21\u62df\u5f15\u64ce\uff0c\u4f46\u4f1a\u8ba8\u8bba\u5404\u79cd\u5f15\u64ce\u80cc\u540e\u7684\u6280\u672f\uff0c\u4ee5\u53ca\u5b83\u4eec\u7684\u4f18\u7f3a\u70b9\u7b49\u7b49\u3002\u7531\u4e8e\u5f00\u53d1\u5b66\u4e60\u7269\u7406\u6a21\u62df\u9700\u8981\u4e00\u5b9a\u7684\u6570\u5b66\u57fa\u7840\uff0c\u8bfe\u7a0b\u521d\u59cb\u9636\u6bb5\u4e5f\u4f1a\u82b1\u4e00\u5b9a\u7684\u65f6\u95f4\u590d\u4e60\u5fc5\u5907\u7684\u6570\u5b66\u77e5\u8bc6\u3002\u987a\u5229\u5b8c\u6210\u8bfe\u7a0b\u4e4b\u540e\uff0c\u540c\u5b66\u4eec\u5e94\u8be5\u4f1a\u5bf9\u57fa\u7840\u7684\u7269\u7406\u6a21\u62df\u6280\u672f\u6709\u6df1\u5165\u7406\u89e3\uff0c\u5bf9\u9ad8\u7ea7\u7684\u6a21\u62df\u6280\u672f\u4e5f\u4f1a\u6709\u90e8\u5206\u63a5\u89e6\u3002 \u56fe\u5f62\u5b66\u53ef\u7c97\u7565\u5206\u4e3a\u6e32\u67d3\u3001\u6a21\u62df\u3001\u51e0\u4f55\u4e09\u4e2a\u9886\u57df\u3002GAMES101 \u548c GAMES202 \u4e3b\u8981\u4ee5\u6e32\u67d3\u4e3a\u4e3b\uff0c\u800c\u5bf9\u4e8e\u7269\u7406\u6a21\u62df\uff0cGAMES103 \u5219\u662f\u5f88\u68d2\u7684\u5b66\u4e60\u8d44\u6e90\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES103 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u53c2\u8003\u8d44\u6599\uff1a \u8bfe\u7a0bPPT \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5171\u56db\u6b21\u4f5c\u4e1a\uff0c\u53ef\u89c1\u5b98\u65b9BBS\u5c0f\u7a0b\u5e8f\u6216\u975e\u5b98\u65b9\u7684Repo\uff1a GAMES103 HW","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/#_3","text":"@indevn \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u8981\u6c42\u90fd\u6c47\u603b\u5728 GAMES103 Unoffical \u4e2d\u3002\u5bf9\u4e8e\u4f5c\u4e1a\u7684\u5177\u4f53\u5b9e\u73b0\uff0c\u5728\u77e5\u4e4e\u4e0a\u6709\u5f88\u591a\u76f8\u5173\u6587\u7ae0\u8fdb\u884c\u4e86\u7ec6\u81f4\u8bb2\u89e3\u53ef\u4ee5\u53c2\u8003\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES202/","text":"GAMES202 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUCSB \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cC++\uff0cGAMES101 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u672c\u8bfe\u7a0b\u5c06\u5168\u9762\u5730\u4ecb\u7ecd\u73b0\u4ee3\u5b9e\u65f6\u6e32\u67d3\u4e2d\u7684\u5173\u952e\u95ee\u9898\u4e0e\u89e3\u51b3\u65b9\u6cd5\u3002\u7531\u4e8e\u5b9e\u65f6\u6e32\u67d3 (>30 FPS) \u5bf9\u901f\u5ea6\u8981\u6c42\u6781\u9ad8\uff0c\u56e0\u6b64\u672c\u8bfe\u7a0b\u7684\u5173\u6ce8\u70b9\u5c06\u662f\u5728\u82db\u523b\u7684\u65f6\u95f4\u9650\u5236\u4e0b\uff0c\u4eba\u4eec\u5982\u4f55\u6253\u7834\u901f\u5ea6\u4e0e\u8d28\u91cf\u4e4b\u95f4\u7684\u6743\u8861\uff0c\u540c\u65f6\u4fdd\u8bc1\u5b9e\u65f6\u7684\u9ad8\u901f\u5ea6\u4e0e\u7167\u7247\u7ea7\u7684\u771f\u5b9e\u611f\u3002 \u672c\u8bfe\u7a0b\u5c06\u4ee5\u4e13\u9898\u7684\u5f62\u5f0f\u5448\u73b0\uff0c\u8bfe\u7a0b\u5185\u5bb9\u4f1a\u8986\u76d6\u5b66\u672f\u754c\u4e0e\u5de5\u4e1a\u754c\u7684\u524d\u6cbf\u5185\u5bb9\uff0c\u5305\u62ec\uff1a\uff081\uff09\u5b9e\u65f6\u8f6f\u9634\u5f71\u7684\u6e32\u67d3\uff1b\uff082\uff09\u73af\u5883\u5149\u7167\uff1b\uff083\uff09\u57fa\u4e8e\u9884\u8ba1\u7b97\u6216\u65e0\u9884\u8ba1\u7b97\u7684\u5168\u5c40\u5149\u7167\uff1b\uff084\uff09\u57fa\u4e8e\u7269\u7406\u7684\u7740\u8272\u6a21\u578b\u4e0e\u65b9\u6cd5\uff1b\uff085\uff09\u5b9e\u65f6\u5149\u7ebf\u8ffd\u8e2a\uff1b\uff086\uff09\u6297\u952f\u9f7f\u4e0e\u8d85\u91c7\u6837\uff1b\u4ee5\u53ca\u4e00\u4e9b\u5e38\u89c1\u7684\u52a0\u901f\u65b9\u5f0f\u7b49\u7b49\u3002 \u9664\u4e86\u6700\u65b0\u6700\u5168\u7684\u5185\u5bb9\u4e4b\u5916\uff0c\u672c\u8bfe\u7a0b\u4e0e\u5176\u5b83\u4efb\u4f55\u5b9e\u65f6\u6e32\u67d3\u7684\u6559\u7a0b\u8fd8\u6709\u4e00\u4e2a\u91cd\u8981\u7684\u533a\u522b\uff0c\u90a3\u5c31\u662f\u672c\u8bfe\u7a0b\u4e0d\u4f1a\u8bb2\u6388\u4efb\u4f55\u4e0e\u6e38\u620f\u5f15\u64ce\u7684\u4f7f\u7528\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5e76\u4e14\u4e0d\u4f1a\u7279\u522b\u5f3a\u8c03\u5177\u4f53\u7684\u7740\u8272\u5668\u5b9e\u73b0\u6280\u672f\uff0c\u800c\u4e3b\u8981\u8bb2\u6388\u5b9e\u65f6\u6e32\u67d3\u80cc\u540e\u7684\u79d1\u5b66\u4e0e\u77e5\u8bc6\u3002\u672c\u8bfe\u7a0b\u7684\u76ee\u6807\u662f\u5728\u4f60\u5b66\u4e60\u5b8c\u8fd9\u95e8\u8bfe\u7684\u65f6\u5019\uff0c\u4f60\u5c06\u6709\u6df1\u539a\u7684\u529f\u5e95\u53bb\u5f00\u53d1\u4e00\u4e2a\u5c5e\u4e8e\u4f60\u81ea\u5df1\u7684\u5b9e\u65f6\u6e32\u67d3\u5f15\u64ce\u3002 \u4f5c\u4e3a GAMES101 \u7684\u8fdb\u9636\u8bfe\u7a0b\uff0c\u96be\u5ea6\u6709\u4e00\u5b9a\u7684\u63d0\u5347\uff0c\u4f46\u4e0d\u4f1a\u5f88\u5927\uff0c\u76f8\u4fe1\u5b8c\u6210\u4e86 GAMES101 \u7684\u540c\u5b66\u90fd\u6709\u80fd\u529b\u5b8c\u6210\u8fd9\u95e8\u8bfe\u7a0b\u3002\u6bcf\u4e2a project \u4ee3\u7801\u91cf\u90fd\u4e0d\u4f1a\u5f88\u591a\uff0c\u4f46\u662f\u90fd\u9700\u8981\u4e00\u5b9a\u7684\u601d\u8003\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES202 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u8bfe\u7a0b\u6559\u6750\uff1aReal-Time Rendering, 4th edition. \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 5\u4e2aproject","title":"GAMES202"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES202/#games202","text":"","title":"GAMES202"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES202/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUCSB \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cC++\uff0cGAMES101 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u672c\u8bfe\u7a0b\u5c06\u5168\u9762\u5730\u4ecb\u7ecd\u73b0\u4ee3\u5b9e\u65f6\u6e32\u67d3\u4e2d\u7684\u5173\u952e\u95ee\u9898\u4e0e\u89e3\u51b3\u65b9\u6cd5\u3002\u7531\u4e8e\u5b9e\u65f6\u6e32\u67d3 (>30 FPS) \u5bf9\u901f\u5ea6\u8981\u6c42\u6781\u9ad8\uff0c\u56e0\u6b64\u672c\u8bfe\u7a0b\u7684\u5173\u6ce8\u70b9\u5c06\u662f\u5728\u82db\u523b\u7684\u65f6\u95f4\u9650\u5236\u4e0b\uff0c\u4eba\u4eec\u5982\u4f55\u6253\u7834\u901f\u5ea6\u4e0e\u8d28\u91cf\u4e4b\u95f4\u7684\u6743\u8861\uff0c\u540c\u65f6\u4fdd\u8bc1\u5b9e\u65f6\u7684\u9ad8\u901f\u5ea6\u4e0e\u7167\u7247\u7ea7\u7684\u771f\u5b9e\u611f\u3002 \u672c\u8bfe\u7a0b\u5c06\u4ee5\u4e13\u9898\u7684\u5f62\u5f0f\u5448\u73b0\uff0c\u8bfe\u7a0b\u5185\u5bb9\u4f1a\u8986\u76d6\u5b66\u672f\u754c\u4e0e\u5de5\u4e1a\u754c\u7684\u524d\u6cbf\u5185\u5bb9\uff0c\u5305\u62ec\uff1a\uff081\uff09\u5b9e\u65f6\u8f6f\u9634\u5f71\u7684\u6e32\u67d3\uff1b\uff082\uff09\u73af\u5883\u5149\u7167\uff1b\uff083\uff09\u57fa\u4e8e\u9884\u8ba1\u7b97\u6216\u65e0\u9884\u8ba1\u7b97\u7684\u5168\u5c40\u5149\u7167\uff1b\uff084\uff09\u57fa\u4e8e\u7269\u7406\u7684\u7740\u8272\u6a21\u578b\u4e0e\u65b9\u6cd5\uff1b\uff085\uff09\u5b9e\u65f6\u5149\u7ebf\u8ffd\u8e2a\uff1b\uff086\uff09\u6297\u952f\u9f7f\u4e0e\u8d85\u91c7\u6837\uff1b\u4ee5\u53ca\u4e00\u4e9b\u5e38\u89c1\u7684\u52a0\u901f\u65b9\u5f0f\u7b49\u7b49\u3002 \u9664\u4e86\u6700\u65b0\u6700\u5168\u7684\u5185\u5bb9\u4e4b\u5916\uff0c\u672c\u8bfe\u7a0b\u4e0e\u5176\u5b83\u4efb\u4f55\u5b9e\u65f6\u6e32\u67d3\u7684\u6559\u7a0b\u8fd8\u6709\u4e00\u4e2a\u91cd\u8981\u7684\u533a\u522b\uff0c\u90a3\u5c31\u662f\u672c\u8bfe\u7a0b\u4e0d\u4f1a\u8bb2\u6388\u4efb\u4f55\u4e0e\u6e38\u620f\u5f15\u64ce\u7684\u4f7f\u7528\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5e76\u4e14\u4e0d\u4f1a\u7279\u522b\u5f3a\u8c03\u5177\u4f53\u7684\u7740\u8272\u5668\u5b9e\u73b0\u6280\u672f\uff0c\u800c\u4e3b\u8981\u8bb2\u6388\u5b9e\u65f6\u6e32\u67d3\u80cc\u540e\u7684\u79d1\u5b66\u4e0e\u77e5\u8bc6\u3002\u672c\u8bfe\u7a0b\u7684\u76ee\u6807\u662f\u5728\u4f60\u5b66\u4e60\u5b8c\u8fd9\u95e8\u8bfe\u7684\u65f6\u5019\uff0c\u4f60\u5c06\u6709\u6df1\u539a\u7684\u529f\u5e95\u53bb\u5f00\u53d1\u4e00\u4e2a\u5c5e\u4e8e\u4f60\u81ea\u5df1\u7684\u5b9e\u65f6\u6e32\u67d3\u5f15\u64ce\u3002 \u4f5c\u4e3a GAMES101 \u7684\u8fdb\u9636\u8bfe\u7a0b\uff0c\u96be\u5ea6\u6709\u4e00\u5b9a\u7684\u63d0\u5347\uff0c\u4f46\u4e0d\u4f1a\u5f88\u5927\uff0c\u76f8\u4fe1\u5b8c\u6210\u4e86 GAMES101 \u7684\u540c\u5b66\u90fd\u6709\u80fd\u529b\u5b8c\u6210\u8fd9\u95e8\u8bfe\u7a0b\u3002\u6bcf\u4e2a project \u4ee3\u7801\u91cf\u90fd\u4e0d\u4f1a\u5f88\u591a\uff0c\u4f46\u662f\u90fd\u9700\u8981\u4e00\u5b9a\u7684\u601d\u8003\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES202/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES202 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u8bfe\u7a0b\u6559\u6750\uff1aReal-Time Rendering, 4th edition. \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 5\u4e2aproject","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/","text":"CS144: Computer Network Introduction Offered by: Stanford Prerequisites: Computer System Fundamentals, CS106L Programming Language: C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours One of the lecturers of this course is Professor Nick McKeown , a giant in the field of Networking. At the end of each chapter of MOOC, he will interview an executive in the industry or an expert in the academia, which can certainly broaden your horizons. In the projects, you will use C++ to build the entire TCP/IP protocol stack, the IP router, and the ARP protocol step by step from scratch. Finally, you will replace Linux Kernel's protocol stack with your own and use socket programming to communicate with your classmates, which is really amazing and exciting. Resources Course Website: https://cs144.github.io/ Video: https://www.youtube.com/watch?v=r2WZNaFyrbQ&list=PL6RdenZrxrw9inR-IJv-erlOKRHjymxMN Textbook: None Assignments: refer to the course website Reference PKUFlyingPig Lexssama's Blogs huangrt01 kiprey \u5eb7\u5b87PL's Blog doraemonzzz ViXbob's libsponge \u5403\u7740\u571f\u8c46\u5750\u5730\u94c1\u7684\u535a\u5ba2 Smith \u661f\u9065\u89c1 EIMadrigal Joey","title":"Stanford CS144: Computer Network"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#cs144-computer-network","text":"","title":"CS144: Computer Network"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#introduction","text":"Offered by: Stanford Prerequisites: Computer System Fundamentals, CS106L Programming Language: C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours One of the lecturers of this course is Professor Nick McKeown , a giant in the field of Networking. At the end of each chapter of MOOC, he will interview an executive in the industry or an expert in the academia, which can certainly broaden your horizons. In the projects, you will use C++ to build the entire TCP/IP protocol stack, the IP router, and the ARP protocol step by step from scratch. Finally, you will replace Linux Kernel's protocol stack with your own and use socket programming to communicate with your classmates, which is really amazing and exciting.","title":"Introduction"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#resources","text":"Course Website: https://cs144.github.io/ Video: https://www.youtube.com/watch?v=r2WZNaFyrbQ&list=PL6RdenZrxrw9inR-IJv-erlOKRHjymxMN Textbook: None Assignments: refer to the course website","title":"Resources"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#reference","text":"PKUFlyingPig Lexssama's Blogs huangrt01 kiprey \u5eb7\u5b87PL's Blog doraemonzzz ViXbob's libsponge \u5403\u7740\u571f\u8c46\u5750\u5730\u94c1\u7684\u535a\u5ba2 Smith \u661f\u9065\u89c1 EIMadrigal Joey","title":"Reference"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/","text":"Computer Networking: A Top-Down Approach Descriptions Offered by: UMass Prerequisites: basic knowledge about computer system Programming Languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 40 hours Computer Networking: A Top-Down Approach is a classic textbook in the field of computer networking. The two authors, Jim Kurose and Keith Ross, have carefully crafted a course website to support the textbook, with lecture recordings, interactive online questions, and WireShark labs for network packet analysis. The only pity is that this course doesn't have hardcore programming assignments, and Stanford's CS144 makes up for that. Course Resources Course Website: https://gaia.cs.umass.edu/kurose_ross/index.php Recordings: https://gaia.cs.umass.edu/kurose_ross/lectures.php Textbooks: Computer Networking: A Top-Down Approach Assignments: https://gaia.cs.umass.edu/kurose_ross/wireshark.php Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/Computer-Network-A-Top-Down-Approach - GitHub .","title":"Computer Networking: A Top-Down Approach"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#computer-networking-a-top-down-approach","text":"","title":"Computer Networking: A Top-Down Approach"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#descriptions","text":"Offered by: UMass Prerequisites: basic knowledge about computer system Programming Languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 40 hours Computer Networking: A Top-Down Approach is a classic textbook in the field of computer networking. The two authors, Jim Kurose and Keith Ross, have carefully crafted a course website to support the textbook, with lecture recordings, interactive online questions, and WireShark labs for network packet analysis. The only pity is that this course doesn't have hardcore programming assignments, and Stanford's CS144 makes up for that.","title":"Descriptions"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#course-resources","text":"Course Website: https://gaia.cs.umass.edu/kurose_ross/index.php Recordings: https://gaia.cs.umass.edu/kurose_ross/lectures.php Textbooks: Computer Networking: A Top-Down Approach Assignments: https://gaia.cs.umass.edu/kurose_ross/wireshark.php","title":"Course Resources"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/Computer-Network-A-Top-Down-Approach - GitHub .","title":"Personal Resources"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown_ustc/","text":"USTC Computer Networking:A Top-Down Approach Descriptions Offered by: USTC Instructor: Quan Zheng, Jian Yang Prerequisites: operating system (not required) Programming Languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 40 hours This course is a well-known computer networking course on the Chinese Internet, it adopts the renowned textbook: Computer Networking: A Top-Down Approach, 7th Edition . This a practical course that is not limited to theoretical knowledge, but it is Strongly recommended to read the textbook before watching videos, otherwise you may not catch up with the course easily. The course covers the majority of the textbook and also includes exam content, so enjoy it. The recordings of the lectures were uploaded by Prof. Zheng himself on Bilibili. Moreover, he has been answering questions in the comments below the videos since 2020, which is very patient and responsible. Resources Course Website: http://staff.ustc.edu.cn/~qzheng/teaching.html Recordings: https://www.bilibili.com/video/BV1JV411t7ow/ Slides: http://staff.ustc.edu.cn/~qzheng/cn.zip Textbook: Computer Networking: A Top-Down Approach, 7th Edition","title":"USTC Computer Networking:A Top-Down Approach"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown_ustc/#ustc-computer-networkinga-top-down-approach","text":"","title":"USTC Computer Networking:A Top-Down Approach"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown_ustc/#descriptions","text":"Offered by: USTC Instructor: Quan Zheng, Jian Yang Prerequisites: operating system (not required) Programming Languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 40 hours This course is a well-known computer networking course on the Chinese Internet, it adopts the renowned textbook: Computer Networking: A Top-Down Approach, 7th Edition . This a practical course that is not limited to theoretical knowledge, but it is Strongly recommended to read the textbook before watching videos, otherwise you may not catch up with the course easily. The course covers the majority of the textbook and also includes exam content, so enjoy it. The recordings of the lectures were uploaded by Prof. Zheng himself on Bilibili. Moreover, he has been answering questions in the comments below the videos since 2020, which is very patient and responsible.","title":"Descriptions"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown_ustc/#resources","text":"Course Website: http://staff.ustc.edu.cn/~qzheng/teaching.html Recordings: https://www.bilibili.com/video/BV1JV411t7ow/ Slides: http://staff.ustc.edu.cn/~qzheng/cn.zip Textbook: Computer Networking: A Top-Down Approach, 7th Edition","title":"Resources"},{"location":"en/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/","text":"MIT 6.031: Software Construction Descriptions Offered by: MIT Prerequisites: better if you are already proficient in a programming language Programming Languages: Java Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours The goal of this course is for you to learn how to write high quality code, and what is meant by high quality is to meet the following three targets: Safe from bugs. Correctness (correct behavior right now) and defensiveness (correct behavior in the future) are required in any software we build. Easy to understand. The code has to communicate to future programmers who need to understand it and make changes in it (fixing bugs or adding new features). That future programmer might be you, months or years from now. You\u2019ll be surprised how much you forget if you don\u2019t write it down, and how much it helps your own future self to have a good design. Ready for change. Software always changes. Some designs make it easy to make changes; others require throwing away and rewriting a lot of code. To achieve this, the instructors write a book explaining many of the core principles of software construction and valuable lessons learned from the past. The book covers many practical topics such as how to write comments and specifications, how to design abstract data structures, and many parallel programming caveats. You will explore all of these ideas in the programming assignments. In the 2016 spring, the course open-sourced all of its programming assignments, and the textbook can be found on the latest website (see links below). Course Resources Course Website: 2021spring , 2016spring Recordings: None Assignments: 4 Problem Sets + 1 Project Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/ MIT6.031-Software-Engineering - GitHub . @pengzhangzhi completed the assignments and took some notes, maintained at pengzhangzhi/self-taught-CS/Software Construction - Github .","title":"MIT 6.031: Software Construction"},{"location":"en/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/#mit-6031-software-construction","text":"","title":"MIT 6.031: Software Construction"},{"location":"en/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/#descriptions","text":"Offered by: MIT Prerequisites: better if you are already proficient in a programming language Programming Languages: Java Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours The goal of this course is for you to learn how to write high quality code, and what is meant by high quality is to meet the following three targets: Safe from bugs. Correctness (correct behavior right now) and defensiveness (correct behavior in the future) are required in any software we build. Easy to understand. The code has to communicate to future programmers who need to understand it and make changes in it (fixing bugs or adding new features). That future programmer might be you, months or years from now. You\u2019ll be surprised how much you forget if you don\u2019t write it down, and how much it helps your own future self to have a good design. Ready for change. Software always changes. Some designs make it easy to make changes; others require throwing away and rewriting a lot of code. To achieve this, the instructors write a book explaining many of the core principles of software construction and valuable lessons learned from the past. The book covers many practical topics such as how to write comments and specifications, how to design abstract data structures, and many parallel programming caveats. You will explore all of these ideas in the programming assignments. In the 2016 spring, the course open-sourced all of its programming assignments, and the textbook can be found on the latest website (see links below).","title":"Descriptions"},{"location":"en/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/#course-resources","text":"Course Website: 2021spring , 2016spring Recordings: None Assignments: 4 Problem Sets + 1 Project","title":"Course Resources"},{"location":"en/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/ MIT6.031-Software-Engineering - GitHub . @pengzhangzhi completed the assignments and took some notes, maintained at pengzhangzhi/self-taught-CS/Software Construction - Github .","title":"Personal Resources"},{"location":"en/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/","text":"UCB CS169: software engineering Descriptions Offered by: UC Berkeley Prerequisites: None Programming Languages: Ruby/JavaScript Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is Berkeley's software engineering course. Unlike many traditional software engineering courses that emphasize UML diagrams, plans, and documents, this course adopts agile development methodologies and uses the cloud platform to provide software as a service. The instructors wrote a textbook Software as a service to explain the concept of SaaS and agile development. Also, there are plenty of programming assignments using Ruby + Rails framework. This course is available on Edx , an online education platform sponsored by MIT and Harvard, where you can search for the course Agile SaaS Development and learn it yourself. The course content follows the textbook's order and takes you to build software step by step in an agile development way and deploy it on the cloud platform for free. Course Resources Course Website: http://www.saasbook.info/courses Recordings: refer to the course website. Textbook: Software as a service Assignments: refer to the course website. Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS169-Software-Engineering - GitHub .","title":"UCB CS169: software engineering"},{"location":"en/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/#ucb-cs169-software-engineering","text":"","title":"UCB CS169: software engineering"},{"location":"en/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/#descriptions","text":"Offered by: UC Berkeley Prerequisites: None Programming Languages: Ruby/JavaScript Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is Berkeley's software engineering course. Unlike many traditional software engineering courses that emphasize UML diagrams, plans, and documents, this course adopts agile development methodologies and uses the cloud platform to provide software as a service. The instructors wrote a textbook Software as a service to explain the concept of SaaS and agile development. Also, there are plenty of programming assignments using Ruby + Rails framework. This course is available on Edx , an online education platform sponsored by MIT and Harvard, where you can search for the course Agile SaaS Development and learn it yourself. The course content follows the textbook's order and takes you to build software step by step in an agile development way and deploy it on the cloud platform for free.","title":"Descriptions"},{"location":"en/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/#course-resources","text":"Course Website: http://www.saasbook.info/courses Recordings: refer to the course website. Textbook: Software as a service Assignments: refer to the course website.","title":"Course Resources"},{"location":"en/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS169-Software-Engineering - GitHub .","title":"Personal Resources"}]} \ No newline at end of file +{"config":{"indexing":"full","lang":["ja","en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"\u524d\u8a00 \u6700\u8fd1\u66f4\u65b0\uff1a Release v1.0.1 \u5df2\u53d1\u5e03 \ud83c\udf89 \u8fd9\u662f\u4e00\u672c\u8ba1\u7b97\u673a\u7684\u81ea\u5b66\u6307\u5357\uff0c\u4e5f\u662f\u5bf9\u81ea\u5df1\u5927\u5b66\u4e09\u5e74\u81ea\u5b66\u751f\u6daf\u7684\u4e00\u4e2a\u7eaa\u5ff5\u3002 \u8fd9\u540c\u65f6\u4e5f\u662f\u4e00\u4efd\u732e\u7ed9\u5317\u5927\u4fe1\u79d1\u5b66\u5f1f\u5b66\u59b9\u4eec\u7684\u793c\u7269\u3002\u5982\u679c\u8fd9\u672c\u4e66\u80fd\u5bf9\u4f60\u4eec\u7684\u4fe1\u79d1\u751f\u6daf\u6709\u54ea\u6015\u4e00\u4e1d\u4e00\u6beb\u7684\u5e2e\u52a9\uff0c\u90fd\u662f\u5bf9\u6211\u6781\u5927\u7684\u9f13\u52b1\u548c\u6170\u85c9\u3002 \u672c\u4e66\u76ee\u524d\u5305\u62ec\u4e86\u4ee5\u4e0b\u90e8\u5206(\u5982\u679c\u4f60\u6709\u5176\u4ed6\u597d\u7684\u5efa\u8bae\uff0c\u6216\u8005\u60f3\u52a0\u5165\u8d21\u732e\u8005\u7684\u884c\u5217\uff0c\u6b22\u8fce\u90ae\u4ef6 zhongyinmin@pku.edu.cn \u6216\u8005\u5728 issue \u91cc\u63d0\u95ee)\uff1a \u5fc5\u5b66\u5de5\u5177\uff1aIDE, \u7ffb\u5899, StackOverflow, Git, GitHub, Vim, LaTeX, GNU Make, \u5b9e\u7528\u5de5\u5177 ... \u73af\u5883\u914d\u7f6e\uff1aPC\u7aef\u4ee5\u53ca\u670d\u52a1\u5668\u7aef\u5f00\u53d1\u73af\u5883\u914d\u7f6e\u3001\u5404\u7c7b\u8fd0\u7ef4\u76f8\u5173\u6559\u6750\u53ca\u8d44\u6599 ... \u7ecf\u5178\u4e66\u7c4d\u63a8\u8350\uff1a\u770b\u8fc7 CSAPP \u8fd9\u672c\u4e66\u7684\u540c\u5b66\u4e00\u5b9a\u611f\u53f9\u597d\u4e66\u7684\u91cd\u8981\uff0c\u6211\u5c06\u5217\u4e3e\u63a8\u8350\u81ea\u5df1\u770b\u8fc7\u7684\u8ba1\u7b97\u673a\u9886\u57df\u7684\u5fc5\u770b\u597d\u4e66\u4e0e\u8d44\u6e90\u94fe\u63a5\u3002 \u56fd\u5916\u9ad8\u8d28\u91cf CS \u8bfe\u7a0b\u6c47\u603b \uff1a\u6211\u5c06\u628a\u6211\u4e0a\u8fc7\u7684\u6240\u6709\u9ad8\u8d28\u91cf\u7684\u56fd\u5916 CS \u8bfe\u7a0b\u5206\u95e8\u522b\u7c7b\u8fdb\u884c\u6c47\u603b\uff0c\u5e76\u7ed9\u51fa\u76f8\u5173\u7684\u81ea\u5b66\u5efa\u8bae\uff0c\u5927\u90e8\u5206\u8bfe\u7a0b\u90fd\u4f1a\u6709\u4e00\u4e2a\u72ec\u7acb\u7684\u4ed3\u5e93\u7ef4\u62a4\u76f8\u5173\u7684\u8d44\u6e90\u4ee5\u53ca\u6211\u7684\u4f5c\u4e1a\u5b9e\u73b0\u3002 \u68a6\u5f00\u59cb\u7684\u5730\u65b9 \u2014\u2014 CS61A \u5927\u4e00\u5165\u5b66\u65f6\u6211\u662f\u4e00\u4e2a\u5bf9\u8ba1\u7b97\u673a\u4e00\u65e0\u6240\u77e5\u7684\u5c0f\u767d\uff0c\u88c5\u4e86\u51e0\u5341\u4e2a G \u7684 Visual Studio \u5929\u5929\u548c OJ \u4f60\u6b7b\u6211\u6d3b\u3002\u51ed\u7740\u9ad8\u4e2d\u7684\u6570\u5b66\u5e95\u5b50\u6211\u6570\u5b66\u8bfe\u5b66\u5f97\u8fd8\u4e0d\u9519\uff0c\u4f46\u5728\u4e13\u4e1a\u8bfe\u4e0a\u5bf9\u7ade\u8d5b\u5927\u4f6c\u53ea\u6709\u4ef0\u671b\u3002\u63d0\u5230\u7f16\u7a0b\u6211\u53ea\u4f1a\u6253\u5f00\u90a3\u7b28\u91cd\u7684 IDE\uff0c\u65b0\u5efa\u4e00\u4e2a\u6211\u4e5f\u4e0d\u77e5\u9053\u5177\u4f53\u662f\u5e72\u5565\u7684\u547d\u4ee4\u884c\u9879\u76ee\uff0c\u7136\u540e\u5c31\u662f cin , cout , for \u5faa\u73af\uff0c\u7136\u540e CE, RE, WA \u5faa\u73af\u3002\u5f53\u65f6\u7684\u6211\u5c31\u5904\u5728\u4e00\u79cd\u62fc\u547d\u60f3\u5b66\u597d\u4f46\u4e0d\u77e5\u9053\u600e\u4e48\u5b66\uff0c\u8bfe\u4e0a\u8ba4\u771f\u542c\u8bb2\u4f46\u9898\u8fd8\u4e0d\u4f1a\u505a\uff0c\u8bfe\u540e\u505a\u4f5c\u4e1a\u5b8c\u5168\u662f\u7528\u65f6\u95f4\u548c\u5b83\u786c\u8017\u7684\u75db\u82e6\u72b6\u6001\u3002\u6211\u81f3\u4eca\u7535\u8111\u91cc\u8fd8\u5b58\u7740\u81ea\u5df1\u5927\u4e00\u4e0a\u5b66\u671f\u8ba1\u7b97\u6982\u8bba\u5927\u4f5c\u4e1a\u7684\u6e90\u4ee3\u7801 \u2014\u2014 \u4e00\u4e2a 1200 \u884c\u7684 C++ \u6587\u4ef6\uff0c\u6ca1\u6709\u5934\u6587\u4ef6\u3001\u6ca1\u6709\u7c7b\u3001\u6ca1\u6709\u5c01\u88c5\u3001\u6ca1\u6709 unit test\u3001\u6ca1\u6709 Makefile\u3001\u6ca1\u6709 Git\uff0c\u552f\u4e00\u7684\u4f18\u70b9\u662f\u5b83\u786e\u5b9e\u80fd\u8dd1\uff0c\u7f3a\u70b9\u662f\u201c\u80fd\u8dd1\u201d\u7684\u8865\u96c6\u3002\u6211\u4e00\u5ea6\u6000\u7591\u6211\u662f\u4e0d\u662f\u4e0d\u9002\u5408\u5b66\u8ba1\u7b97\u673a\uff0c\u56e0\u4e3a\u7ae5\u5e74\u5bf9\u4e8e\u6781\u5ba2\u7684\u6240\u6709\u60f3\u8c61\uff0c\u5df2\u7ecf\u88ab\u6211\u7b2c\u4e00\u4e2a\u5b66\u671f\u7684\u4f53\u9a8c\u5f7b\u5e95\u7c89\u788e\u4e86\u3002 \u8fd9\u4e00\u5207\u7684\u8f6c\u673a\u53d1\u751f\u5728\u6211\u5927\u4e00\u7684\u5bd2\u5047\uff0c\u6211\u5fc3\u8840\u6765\u6f6e\u60f3\u5b66\u4e60 Python\u3002\u65e0\u610f\u95f4\u770b\u5230\u77e5\u4e4e\u6709\u4eba\u63a8\u8350\u4e86 CS61A \u8fd9\u95e8\u8bfe\uff0c\u8bf4\u662f UC Berkeley \u7684\u5927\u4e00\u5165\u95e8\u8bfe\u7a0b\uff0c\u8bb2\u7684\u5c31\u662f Python\u3002\u6211\u6c38\u8fdc\u4e0d\u4f1a\u5fd8\u8bb0\u90a3\u4e00\u5929\uff0c\u6253\u5f00 CS61A \u8bfe\u7a0b\u7f51\u7ad9\u7684\u90a3\u4e2a\u77ac\u95f4\uff0c\u5c31\u50cf\u54e5\u4f26\u5e03\u53d1\u73b0\u4e86\u65b0\u5927\u9646\u4e00\u6837\uff0c\u6211\u5f00\u542f\u4e86\u65b0\u4e16\u754c\u7684\u5927\u95e8\u3002 \u6211\u4e00\u53e3\u6c14 3 \u4e2a\u661f\u671f\u4e0a\u5b8c\u4e86\u8fd9\u95e8\u8bfe\uff0c\u5b83\u8ba9\u6211\u7b2c\u4e00\u6b21\u611f\u89c9\u5230\u539f\u6765 CS \u53ef\u4ee5\u5b66\u5f97\u5982\u6b64\u5145\u5b9e\u800c\u6709\u8da3\uff0c\u539f\u6765\u8fd9\u4e16\u4e0a\u7adf\u6709\u5982\u6b64\u7cbe\u534e\u7684\u8bfe\u7a0b\u3002 \u4e3a\u907f\u514d\u6709\u5d07\u6d0b\u5a9a\u5916\u4e4b\u5acc\uff0c\u6211\u5355\u7eaf\u4ece\u4e00\u4e2a\u5b66\u751f\u7684\u89c6\u89d2\u6765\u8bb2\u8bb2\u81ea\u5b66 CS61A \u7684\u4f53\u9a8c\uff1a \u72ec\u7acb\u642d\u5efa\u7684\u8bfe\u7a0b\u7f51\u7ad9: \u4e00\u4e2a\u7f51\u7ad9\u5c06\u6240\u6709\u8bfe\u7a0b\u8d44\u6e90\u6574\u5408\u4e00\u4f53\uff0c\u6761\u7406\u5206\u660e\u7684\u8bfe\u7a0b schedule\u3001\u6240\u6709 slides, hw, discussion \u7684\u6587\u4ef6\u94fe\u63a5\u3001\u8be6\u7ec6\u660e\u786e\u7684\u8bfe\u7a0b\u7ed9\u5206\u8bf4\u660e\u3001\u5386\u5e74\u7684\u8003\u8bd5\u9898\u4e0e\u7b54\u6848\u3002\u8fd9\u6837\u4e00\u4e2a\u7f51\u7ad9\u629b\u5f00\u7f8e\u89c2\u7a0b\u5ea6\u4e0d\u8c08\uff0c\u65e2\u65b9\u4fbf\u5b66\u751f\uff0c\u4e5f\u8ba9\u8d44\u6e90\u516c\u6b63\u900f\u660e\u3002 \u8bfe\u7a0b\u6559\u6388\u4eb2\u81ea\u7f16\u5199\u7684\u6559\u6750\uff1aCS61A \u8fd9\u95e8\u8bfe\u7684\u5f00\u8bfe\u8001\u5e08\u5c06MIT\u7684\u7ecf\u5178\u6559\u6750 Structure and Interpretation of Computer Programs (SICP) \u7528Python\u8fd9\u95e8\u8bed\u8a00\u8fdb\u884c\u6539\u7f16\uff08\u539f\u6559\u6750\u57fa\u4e8e Scheme \u8bed\u8a00\uff09\uff0c\u4fdd\u8bc1\u4e86\u8bfe\u5802\u5185\u5bb9\u4e0e\u6559\u6750\u5185\u5bb9\u7684\u4e00\u81f4\u6027\uff0c\u540c\u65f6\u8865\u5145\u4e86\u66f4\u591a\u7ec6\u8282\uff0c\u53ef\u4ee5\u8bf4\u8bda\u610f\u6ee1\u6ee1\u3002\u800c\u4e14\u5168\u4e66\u5f00\u6e90\uff0c\u53ef\u4ee5\u76f4\u63a5\u7ebf\u4e0a\u9605\u8bfb\u3002 \u4e30\u5bcc\u5230\u8ba9\u4eba\u773c\u82b1\u7f2d\u4e71\u7684\u8bfe\u7a0b\u4f5c\u4e1a\uff1a14 \u4e2a lab \u5de9\u56fa\u968f\u5802\u77e5\u8bc6\u70b9\uff0c10 \u4e2a homework\uff0c\u8fd8\u6709 4 \u4e2a\u4ee3\u7801\u91cf\u5747\u4e0a\u5343\u884c\u7684 project\u3002\u4e0e\u5927\u5bb6\u719f\u6089\u7684 OJ \u548c Word \u6587\u6863\u5f0f\u7684\u4f5c\u4e1a\u4e0d\u540c\uff0c\u6240\u6709\u4f5c\u4e1a\u5747\u6709\u5b8c\u5584\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u4fdd\u59c6\u7ea7\u7684\u4f5c\u4e1a\u8bf4\u660e\u3002\u6bcf\u4e2a Project \u90fd\u6709\u8be6\u5c3d\u7684 handout \u6587\u6863\u3001\u5168\u81ea\u52a8\u7684\u8bc4\u5206\u811a\u672c\u3002CS61A \u751a\u81f3\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a \u81ea\u52a8\u5316\u7684\u4f5c\u4e1a\u63d0\u4ea4\u8bc4\u5206\u7cfb\u7edf \uff08\u636e\u8bf4\u8fd8\u53d1\u4e86\u8bba\u6587\uff09\u3002\u5f53\u7136\uff0c\u6709\u4eba\u4f1a\u8bf4\u201c\u4e00\u4e2a project \u51e0\u5343\u884c\u4ee3\u7801\u5927\u90e8\u5206\u90fd\u662f\u52a9\u6559\u5e2e\u4f60\u5199\u597d\u7684\uff0c\u4f60\u8fd8\u80fd\u5b66\u5230\u5565\uff1f\u201d\u3002\u6b64\u8a00\u5dee\u77e3\uff0c\u4f5c\u4e3a\u4e00\u4e2a\u521a\u521a\u63a5\u89e6\u8ba1\u7b97\u673a\uff0c\u8fde\u5b89\u88c5 Python \u90fd\u78d5\u78d5\u7eca\u7eca\u7684\u5c0f\u767d\u6765\u8bf4\uff0c\u8fd9\u6837\u5b8c\u5584\u7684\u4ee3\u7801\u6846\u67b6\u65e2\u53ef\u4ee5\u8ba9\u4f60\u4e13\u6ce8\u4e8e\u5de9\u56fa\u8bfe\u5802\u4e0a\u5b66\u4e60\u5230\u7684\u6838\u5fc3\u77e5\u8bc6\u70b9\uff0c\u53c8\u80fd\u6709\u201c\u6211\u624d\u5b66\u4e86\u4e00\u4e2a\u6708\u5c31\u80fd\u505a\u4e00\u4e2a\u5c0f\u6e38\u620f\u4e86\uff01\u201d\u7684\u6210\u5c31\u611f\uff0c\u8fd8\u80fd\u6709\u673a\u4f1a\u9605\u8bfb\u5b66\u4e60\u522b\u4eba\u9ad8\u8d28\u91cf\u7684\u4ee3\u7801\uff0c\u4ece\u800c\u4e3a\u81ea\u5df1\u6240\u7528\u3002\u6211\u89c9\u5f97\u5728\u4f4e\u5e74\u7ea7\uff0c\u8fd9\u79cd\u4ee3\u7801\u6846\u67b6\u53ef\u4ee5\u8bf4\u767e\u5229\u800c\u65e0\u4e00\u5bb3\u3002\u552f\u4e00\u7684\u5bb3\u4e5f\u8bb8\u662f\u82e6\u4e86\u8001\u5e08\u548c\u52a9\u6559\uff0c\u56e0\u4e3a\u5f00\u53d1\u8fd9\u6837\u7684\u4f5c\u4e1a\u53ef\u60f3\u800c\u77e5\u9700\u8981\u76f8\u5f53\u7684\u65f6\u95f4\u6295\u5165\u3002 \u6bcf\u5468 Discussion \u8ba8\u8bba\u8bfe\uff0c\u52a9\u6559\u4f1a\u8bb2\u89e3\u77e5\u8bc6\u96be\u70b9\u548c\u8003\u8bd5\u4f8b\u9898\uff1a\u7c7b\u4f3c\u4e8e\u5317\u4eac\u5927\u5b66 ICS \u7684\u5c0f\u73ed\u7814\u8ba8\uff0c\u4f46\u4e60\u9898\u5168\u90e8\u7528 LaTeX \u64b0\u5199\uff0c\u76f8\u5f53\u89c4\u8303\u4e14\u4f1a\u660e\u786e\u7ed9\u51fa solution\u3002 \u8fd9\u6837\u7684\u8bfe\u7a0b\uff0c\u4f60\u5b8c\u5168\u4e0d\u9700\u8981\u4efb\u4f55\u8ba1\u7b97\u673a\u7684\u57fa\u7840\uff0c\u4f60\u53ea\u9700\u8981\u52aa\u529b\u3001\u8ba4\u771f\u3001\u82b1\u65f6\u95f4\u5c31\u591f\u4e86\u3002\u6b64\u524d\u90a3\u79cd\u6709\u52b2\u6ca1\u5904\u4f7f\u7684\u611f\u89c9\uff0c\u90a3\u79cd\u4ed8\u51fa\u518d\u591a\u65f6\u95f4\u5374\u5f97\u4e0d\u5230\u56de\u62a5\u7684\u611f\u89c9\uff0c\u4ece\u6b64\u70df\u6d88\u4e91\u6563\u3002\u8fd9\u592a\u9002\u5408\u6211\u4e86\uff0c\u6211\u4ece\u6b64\u7231\u4e0a\u4e86\u81ea\u5b66\u3002 \u8bd5\u60f3\u5982\u679c\u6709\u4eba\u80fd\u628a\u8270\u6df1\u7684\u77e5\u8bc6\u70b9\u56bc\u788e\u56bc\u70c2\uff0c\u7528\u751f\u52a8\u76f4\u767d\u7684\u65b9\u5f0f\u5448\u73b0\u7ed9\u4f60\uff0c\u8fd8\u6709\u90a3\u4e48\u591a\u542c\u8d77\u6765\u5c31\u5f88 fancy\uff0c\u79cd\u7c7b\u7e41\u591a\u7684 project \u6765\u5de9\u56fa\u4f60\u7684\u7406\u8bba\u77e5\u8bc6\uff0c\u4f60\u4f1a\u89c9\u5f97\u4ed6\u4eec\u771f\u7684\u662f\u5728\u503e\u5c3d\u5168\u529b\u60f3\u65b9\u8bbe\u6cd5\u5730\u8ba9\u4f60\u5b8c\u5168\u638c\u63e1\u8fd9\u95e8\u8bfe\uff0c\u4f60\u4f1a\u89c9\u5f97\u4e0d\u5b66\u597d\u5b83\u7b80\u76f4\u662f\u5bf9\u8fd9\u4e9b\u8bfe\u7a0b\u5efa\u8bbe\u8005\u7684\u4fae\u8fb1\u3002 \u5982\u679c\u4f60\u89c9\u5f97\u6211\u5728\u5938\u5927\u5176\u8bcd\uff0c\u90a3\u4e48\u4e0d\u59a8\u4ece CS61A \u5f00\u59cb\uff0c\u56e0\u4e3a\u5b83\u662f\u6211\u7684\u68a6\u5f00\u59cb\u7684\u5730\u65b9\u3002 \u4e3a\u4ec0\u4e48\u5199\u8fd9\u672c\u4e66 \u5728\u62112020\u5e74\u79cb\u5b63\u5b66\u671f\u62c5\u4efb\u300a\u6df1\u5165\u7406\u89e3\u8ba1\u7b97\u673a\u7cfb\u7edf\u300b\uff08CSAPP\uff09\u8fd9\u95e8\u8bfe\u7684\u52a9\u6559\u65f6\uff0c\u6211\u5df2\u7ecf\u81ea\u5b66\u4e00\u5e74\u591a\u4e86\u3002\u8fd9\u4e00\u5e74\u591a\u6765\u6211\u65e0\u6bd4\u4eab\u53d7\u8fd9\u79cd\u81ea\u5b66\u6a21\u5f0f\uff0c\u4e3a\u4e86\u5206\u4eab\u8fd9\u79cd\u5feb\u4e50\uff0c\u6211\u4e3a\u81ea\u5df1\u7684\u5c0f\u73ed\u540c\u5b66\u505a\u8fc7\u4e00\u4e2a CS\u81ea\u5b66\u8d44\u6599\u6574\u7406\u4ed3\u5e93 \u3002\u5f53\u65f6\u7eaf\u7cb9\u662f\u5fc3\u8840\u6765\u6f6e\uff0c\u56e0\u4e3a\u6211\u4e5f\u4e0d\u6562\u516c\u7136\u9f13\u52b1\u5927\u5bb6\u7fd8\u8bfe\u81ea\u5b66\u3002 \u4f46\u968f\u7740\u53c8\u4e00\u5e74\u65f6\u95f4\u7684\u7ef4\u62a4\uff0c\u8fd9\u4e2a\u4ed3\u5e93\u7684\u5185\u5bb9\u5df2\u7ecf\u76f8\u5f53\u4e30\u5bcc\uff0c\u57fa\u672c\u8986\u76d6\u4e86\u8ba1\u79d1\u3001\u667a\u80fd\u7cfb\u3001\u8f6f\u5de5\u7cfb\u7684\u7edd\u5927\u591a\u6570\u8bfe\u7a0b\uff0c\u6211\u4e5f\u4e3a\u6bcf\u4e2a\u8bfe\u7a0b\u90fd\u5efa\u4e86\u5404\u81ea\u7684 GitHub \u4ed3\u5e93\uff0c\u6c47\u603b\u6211\u7528\u5230\u7684\u81ea\u5b66\u8d44\u6599\u4ee5\u53ca\u4f5c\u4e1a\u5b9e\u73b0\u3002 \u76f4\u5230\u5927\u56db\u5f00\u59cb\u51d1\u5b66\u5206\u6bd5\u4e1a\u7684\u65f6\u5019\uff0c\u6211\u6253\u5f00\u81ea\u5df1\u7684\u57f9\u517b\u65b9\u6848\uff0c\u6211\u53d1\u73b0\u5b83\u5df2\u7ecf\u662f\u6211\u8fd9\u4e2a\u81ea\u5b66\u4ed3\u5e93\u7684\u5b50\u96c6\u4e86\uff0c\u800c\u8fd9\u8ddd\u79bb\u6211\u5f00\u59cb\u81ea\u5b66\u4e5f\u624d\u4e24\u5e74\u534a\u800c\u5df2\u3002\u4e8e\u662f\uff0c\u4e00\u4e2a\u5927\u80c6\u7684\u60f3\u6cd5\u5728\u6211\u8111\u6d77\u4e2d\u6d6e\u73b0\uff1a\u4e5f\u8bb8\uff0c\u6211\u53ef\u4ee5\u6253\u9020\u4e00\u4e2a\u81ea\u5b66\u5f0f\u7684\u57f9\u517b\u65b9\u6848\uff0c\u628a\u6211\u8fd9\u4e09\u5e74\u81ea\u5b66\u7ecf\u5386\u4e2d\u9047\u5230\u7684\u5751\u3001\u8d70\u8fc7\u7684\u8def\u8bb0\u5f55\u4e0b\u6765\uff0c\u4ee5\u671f\u80fd\u4e3a\u540e\u6765\u7684\u5b66\u5f1f\u5b66\u59b9\u4eec\u8d21\u732e\u81ea\u5df1\u7684\u4e00\u4efd\u5fae\u8584\u4e4b\u529b\u3002 \u5982\u679c\u5927\u5bb6\u53ef\u4ee5\u5728\u4e09\u5e74\u4e0d\u5230\u7684\u65f6\u95f4\u91cc\u5c31\u80fd\u5efa\u7acb\u8d77\u6574\u5ea7CS\u7684\u57fa\u7840\u5927\u53a6\uff0c\u80fd\u6709\u76f8\u5bf9\u624e\u5b9e\u7684\u6570\u5b66\u529f\u5e95\u548c\u4ee3\u7801\u80fd\u529b\uff0c\u7ecf\u5386\u8fc7\u6570\u5341\u4e2a\u5343\u884c\u4ee3\u7801\u91cf\u7684 Project \u7684\u6d17\u793c\uff0c\u638c\u63e1\u81f3\u5c11 C/C++/Java/JS/Python/Go/Rust \u7b49\u4e3b\u6d41\u8bed\u8a00\uff0c\u5bf9\u7b97\u6cd5\u3001\u7535\u8def\u3001\u4f53\u7cfb\u3001\u7f51\u7edc\u3001\u64cd\u7edf\u3001\u7f16\u8bd1\u3001\u4eba\u5de5\u667a\u80fd\u3001\u673a\u5668\u5b66\u4e60\u3001\u8ba1\u7b97\u673a\u89c6\u89c9\u3001\u81ea\u7136\u8bed\u8a00\u5904\u7406\u3001\u5f3a\u5316\u5b66\u4e60\u3001\u5bc6\u7801\u5b66\u3001\u4fe1\u606f\u8bba\u3001\u535a\u5f08\u8bba\u3001\u6570\u503c\u5206\u6790\u3001\u7edf\u8ba1\u5b66\u3001\u5206\u5e03\u5f0f\u3001\u6570\u636e\u5e93\u3001\u56fe\u5f62\u5b66\u3001Web\u5f00\u53d1\u3001\u4e91\u670d\u52a1\u3001\u8d85\u7b97\u7b49\u7b49\u65b9\u9762\u5747\u6709\u6d89\u730e\u3002\u6211\u60f3\uff0c\u4f60\u5c06\u6709\u8db3\u591f\u7684\u5e95\u6c14\u548c\u81ea\u4fe1\u9009\u62e9\u81ea\u5df1\u611f\u5174\u8da3\u7684\u65b9\u5411\uff0c\u65e0\u8bba\u662f\u5c31\u4e1a\u8fd8\u662f\u79d1\u7814\uff0c\u4f60\u90fd\u5c06\u6709\u76f8\u5f53\u7684\u7ade\u4e89\u529b\u3002 \u56e0\u4e3a\u6211\u575a\u4fe1\uff0c\u65e2\u7136\u4f60\u80fd\u575a\u6301\u542c\u6211 BB \u5230\u8fd9\u91cc\uff0c\u4f60\u4e00\u5b9a\u4e0d\u7f3a\u5b66\u597d CS \u7684\u80fd\u529b\uff0c\u4f60\u53ea\u662f\u6ca1\u6709\u4e00\u4e2a\u597d\u7684\u8001\u5e08\uff0c\u7ed9\u4f60\u8bb2\u4e00\u95e8\u597d\u7684\u8bfe\u7a0b\u3002\u800c\u6211\uff0c\u5c06\u529b\u56fe\u6839\u636e\u6211\u4e09\u5e74\u7684\u4f53\u9a8c\uff0c\u4e3a\u4f60\u6311\u9009\u8fd9\u6837\u7684\u8bfe\u7a0b\u3002 \u81ea\u5b66\u7684\u597d\u5904 \u5bf9\u6211\u6765\u8bf4\uff0c\u81ea\u5b66\u6700\u5927\u7684\u597d\u5904\u5c31\u5728\u4e8e\u53ef\u4ee5\u5b8c\u5168\u6839\u636e\u81ea\u5df1\u7684\u8fdb\u5ea6\u6765\u8c03\u6574\u5b66\u4e60\u901f\u5ea6\u3002\u5bf9\u4e8e\u4e00\u4e9b\u7591\u96be\u77e5\u8bc6\u70b9\uff0c\u6211\u53ef\u4ee5\u53cd\u590d\u56de\u770b\u89c6\u9891\uff0c\u5728\u7f51\u4e0a\u8c37\u6b4c\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u4e0a StackOverflow \u63d0\u95ee\u9898\uff0c\u76f4\u5230\u5b8c\u5168\u5c06\u5b83\u5f04\u660e\u767d\u3002\u800c\u5bf9\u4e8e\u81ea\u5df1\u638c\u63e1\u5f97\u76f8\u5bf9\u8f83\u5feb\u7684\u5185\u5bb9\uff0c\u5219\u53ef\u4ee5\u4e24\u500d\u901f\u751a\u81f3\u4e09\u500d\u901f\u7565\u8fc7\u3002 \u81ea\u5b66\u7684\u53e6\u4e00\u5927\u597d\u5904\u5c31\u662f\u535a\u91c7\u4f17\u957f\u3002\u8ba1\u7b97\u673a\u7cfb\u7684\u51e0\u5927\u6838\u5fc3\u8bfe\u7a0b\uff1a\u4f53\u7cfb\u3001\u7f51\u7edc\u3001\u64cd\u7edf\u3001\u7f16\u8bd1\uff0c\u6bcf\u4e00\u95e8\u6211\u57fa\u672c\u90fd\u4e0a\u8fc7\u4e0d\u540c\u5927\u5b66\u7684\u8bfe\u7a0b\uff0c\u4e0d\u540c\u7684\u6559\u6750\u3001\u4e0d\u540c\u7684\u77e5\u8bc6\u70b9\u4fa7\u91cd\u3001\u4e0d\u540c\u7684 project \u5c06\u4f1a\u6781\u5927\u4e30\u5bcc\u4f60\u7684\u89c6\u91ce\uff0c\u4e5f\u4f1a\u8ba9\u4f60\u7406\u89e3\u9519\u8bef\u7684\u4e00\u4e9b\u5185\u5bb9\u5f97\u5230\u53ca\u65f6\u7ea0\u6b63\u3002 \u81ea\u5b66\u7684\u7b2c\u4e09\u4e2a\u597d\u5904\u662f\u65f6\u95f4\u81ea\u7531\uff0c\u5177\u4f53\u539f\u56e0\u7701\u7565\u3002 \u81ea\u5b66\u7684\u574f\u5904 \u5f53\u7136\uff0c\u4f5c\u4e3a CS \u81ea\u5b66\u4e3b\u4e49\u7684\u5fe0\u5b9e\u62e5\u8db8\uff0c\u6211\u4e0d\u5f97\u4e0d\u627f\u8ba4\u81ea\u5b66\u4e5f\u6709\u5b83\u7684\u574f\u5904\u3002 \u7b2c\u4e00\u5c31\u662f\u4ea4\u6d41\u6c9f\u901a\u7684\u4e0d\u4fbf\u3002\u6211\u5176\u5b9e\u662f\u4e00\u4e2a\u5f88\u70ed\u8877\u4e8e\u63d0\u95ee\u7684\u4eba\uff0c\u5bf9\u4e8e\u6240\u6709\u6ca1\u6709\u5f04\u660e\u767d\u7684\u70b9\uff0c\u6211\u90fd\u559c\u6b22\u7a77\u8ffd\u5230\u5e95\u3002\u4f46\u5f53\u4f60\u9762\u5bf9\u7740\u5c4f\u5e55\u542c\u5230\u8001\u5e08\u8bb2\u4e86\u4e00\u4e2a\u4f60\u6ca1\u660e\u767d\u7684\u77e5\u8bc6\u70b9\u7684\u65f6\u5019\uff0c\u4f60\u65e0\u6cd5\u987a\u7740\u7f51\u7ebf\u5230\u53e6\u4e00\u7aef\u5411\u8001\u5e08\u95ee\u4e2a\u660e\u767d\u3002\u6211\u52aa\u529b\u901a\u8fc7\u72ec\u7acb\u601d\u8003\u548c\u5584\u7528 Google \u6765\u7f13\u89e3\u8fd9\u4e00\u70b9\uff0c\u4f46\u662f\uff0c\u5982\u679c\u80fd\u6709\u51e0\u4e2a\u5fd7\u540c\u9053\u5408\u7684\u4f19\u4f34\u7ed3\u4f34\u81ea\u5b66\uff0c\u90a3\u5c06\u662f\u6781\u597d\u7684\u3002\u5173\u4e8e\u4ea4\u6d41\u7fa4\u7684\u5efa\u7acb\uff0c\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003\u4ed3\u5e93 README \u4e2d\u7684\u6559\u7a0b\u3002 \u7b2c\u4e8c\u5c31\u662f\u8fd9\u4e9b\u81ea\u5b66\u7684\u8bfe\u7a0b\u57fa\u672c\u90fd\u662f\u82f1\u6587\u7684\u3002\u4ece\u89c6\u9891\u5230slides\u5230\u4f5c\u4e1a\u5168\u662f\u82f1\u6587\uff0c\u6240\u4ee5\u6709\u4e00\u5b9a\u7684\u95e8\u69db\u3002\u4e0d\u8fc7\u6211\u89c9\u5f97\u8fd9\u4e2a\u6311\u6218\u5982\u679c\u4f60\u514b\u670d\u4e86\u7684\u8bdd\u5bf9\u4f60\u662f\u6781\u4e3a\u6709\u5229\u7684\u3002\u56e0\u4e3a\u5728\u5f53\u4e0b\uff0c\u867d\u7136\u6211\u5f88\u4e0d\u60c5\u613f\uff0c\u4f46\u4e5f\u4e0d\u5f97\u4e0d\u627f\u8ba4\uff0c\u5728\u8ba1\u7b97\u673a\u9886\u57df\uff0c\u5f88\u591a\u4f18\u8d28\u7684\u6587\u6863\u3001\u8bba\u575b\u3001\u7f51\u7ad9\u90fd\u662f\u5168\u82f1\u6587\u7684\u3002\u517b\u6210\u82f1\u6587\u9605\u8bfb\u7684\u4e60\u60ef\uff0c\u5728\u8d64\u65d7\u63d2\u904d\u4e16\u754c\u4e4b\u524d\uff0c\u8fd8\u662f\u6709\u4e00\u5b9a\u597d\u5904\u7684\uff08\u72d7\u5934\u4fdd\u547d\uff09\u3002 \u7b2c\u4e09\uff0c\u4e5f\u662f\u6211\u89c9\u5f97\u6700\u56f0\u96be\u7684\u4e00\u70b9\uff0c\u5c31\u662f\u81ea\u5f8b\u3002\u56e0\u4e3a\u6ca1\u6709 DDL \u6709\u65f6\u5019\u771f\u7684\u662f\u4e00\u4ef6\u53ef\u6015\u7684\u4e8b\u60c5\uff0c\u7279\u522b\u662f\u968f\u7740\u5b66\u4e60\u7684\u6df1\u5165\uff0c\u56fd\u5916\u7684\u5f88\u591a\u8bfe\u7a0b\u662f\u76f8\u5f53\u8650\u7684\u3002\u4f60\u5f97\u6709\u8db3\u591f\u7684\u9a71\u52a8\u529b\u5f3a\u8feb\u81ea\u5df1\u9759\u4e0b\u5fc3\u6765\uff0c\u9605\u8bfb\u51e0\u5341\u9875\u7684 Project Handout\uff0c\u7406\u89e3\u4e0a\u5343\u884c\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u5fcd\u53d7\u6570\u4e2a\u5c0f\u65f6\u7684 debug \u65f6\u5149\u3002\u800c\u8fd9\u4e00\u5207\uff0c\u6ca1\u6709\u5b66\u5206\uff0c\u6ca1\u6709\u7ee9\u70b9\uff0c\u6ca1\u6709\u8001\u5e08\uff0c\u6ca1\u6709\u540c\u5b66\uff0c\u53ea\u6709\u4e00\u4e2a\u4fe1\u5ff5 \u2014\u2014 \u4f60\u5728\u53d8\u5f3a\u3002 \u8fd9\u672c\u4e66\u9002\u5408\u8c01 \u6b63\u5982\u6211\u5728\u524d\u8a00\u91cc\u8bf4\u7684\uff0c\u4efb\u4f55\u6709\u5fd7\u4e8e\u81ea\u5b66\u8ba1\u7b97\u673a\u7684\u670b\u53cb\u90fd\u53ef\u4ee5\u53c2\u8003\u8fd9\u672c\u4e66\u3002\u5982\u679c\u4f60\u5df2\u7ecf\u6709\u4e86\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u57fa\u7840\uff0c\u53ea\u662f\u5bf9\u67d0\u4e2a\u7279\u5b9a\u7684\u9886\u57df\u611f\u5174\u8da3\uff0c\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u6311\u9009\u4f60\u611f\u5174\u8da3\u7684\u5185\u5bb9\u8fdb\u884c\u5b66\u4e60\u3002\u5f53\u7136\uff0c\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u50cf\u6211\u5f53\u5e74\u4e00\u6837\u5bf9\u8ba1\u7b97\u673a\u4e00\u65e0\u6240\u77e5\u7684\u5c0f\u767d\uff0c\u521d\u5165\u5927\u5b66\u7684\u6821\u95e8\uff0c\u6211\u5e0c\u671b\u8fd9\u672c\u4e66\u80fd\u6210\u4e3a\u4f60\u7684\u653b\u7565\uff0c\u8ba9\u4f60\u82b1\u6700\u5c11\u7684\u65f6\u95f4\u638c\u63e1\u4f60\u6240\u9700\u8981\u7684\u77e5\u8bc6\u548c\u80fd\u529b\u3002\u67d0\u79cd\u7a0b\u5ea6\u4e0a\uff0c\u8fd9\u672c\u4e66\u66f4\u50cf\u662f\u4e00\u4e2a\u6839\u636e\u6211\u7684\u4f53\u9a8c\u6765\u6392\u5e8f\u7684\u8bfe\u7a0b\u641c\u7d22\u5f15\u64ce\uff0c\u5e2e\u52a9\u5927\u5bb6\u8db3\u4e0d\u51fa\u6237\uff0c\u4f53\u9a8c\u4e16\u754c\u9876\u7ea7\u540d\u6821\u7684\u8ba1\u7b97\u673a\u4f18\u8d28\u8bfe\u7a0b\u3002 \u5f53\u7136\uff0c\u4f5c\u4e3a\u4e00\u4e2a\u8fd8\u672a\u6bd5\u4e1a\u7684\u672c\u79d1\u751f\uff0c\u6211\u6df1\u611f\u81ea\u5df1\u6ca1\u6709\u80fd\u529b\u4e5f\u6ca1\u6709\u6743\u5229\u53bb\u5ba3\u626c\u4e00\u79cd\u5b66\u4e60\u65b9\u5f0f\uff0c\u6211\u53ea\u662f\u5e0c\u671b\u8fd9\u4efd\u8d44\u6599\u80fd\u8ba9\u90a3\u4e9b\u540c\u6837\u6709\u81ea\u5b66\u4e4b\u5fc3\u548c\u6bc5\u529b\u670b\u53cb\u53ef\u4ee5\u5c11\u8d70\u4e9b\u5f2f\u8def\uff0c\u6536\u83b7\u66f4\u4e30\u5bcc\u3001\u66f4\u591a\u6837\u3001\u66f4\u6ee1\u8db3\u7684\u5b66\u4e60\u4f53\u9a8c\u3002 \u7279\u522b\u9e23\u8c22 \u5728\u8fd9\u91cc\uff0c\u6211\u6000\u7740\u5d07\u656c\u4e4b\u5fc3\u771f\u8bda\u5730\u611f\u8c22\u6240\u6709\u5c06\u8bfe\u7a0b\u8d44\u6e90\u65e0\u507f\u5f00\u6e90\u7684\u5404\u4f4d\u6559\u6388\u4eec\u3002\u8fd9\u4e9b\u8bfe\u7a0b\u503e\u6ce8\u4e86\u4ed6\u4eec\u6570\u5341\u5e74\u6559\u5b66\u751f\u6daf\u7684\u79ef\u6dc0\u548c\u5fc3\u8840\uff0c\u4ed6\u4eec\u5374\u9009\u62e9\u65e0\u79c1\u5730\u8ba9\u6240\u6709\u4eba\u4eab\u53d7\u5230\u5982\u6b64\u9ad8\u8d28\u91cf\u7684CS\u6559\u80b2\u3002\u6ca1\u6709\u4ed6\u4eec\uff0c\u6211\u7684\u5927\u5b66\u751f\u6d3b\u4e0d\u4f1a\u8fd9\u6837\u5145\u5b9e\u800c\u5feb\u4e50\u3002\u5f88\u591a\u6559\u6388\u5728\u6211\u7ed9\u4ed6\u4eec\u53d1\u4e86\u611f\u8c22\u90ae\u4ef6\u4e4b\u540e\uff0c\u751a\u81f3\u4f1a\u56de\u590d\u4e0a\u767e\u5b57\u7684\u957f\u6587\uff0c\u771f\u7684\u8ba9\u6211\u65e0\u6bd4\u611f\u52a8\u3002\u4ed6\u4eec\u4e5f\u65f6\u523b\u6fc0\u52b1\u7740\u6211\uff0c\u505a\u4e00\u4ef6\u4e8b\uff0c\u5c31\u5f97\u7528\u5fc3\u505a\u597d\uff0c\u65e0\u8bba\u662f\u79d1\u7814\uff0c\u8fd8\u662f\u4e3a\u4eba\u3002 \u4f60\u4e5f\u60f3\u52a0\u5165\u5230\u8d21\u732e\u8005\u7684\u884c\u5217 \u4e00\u4e2a\u4eba\u7684\u529b\u91cf\u7ec8\u7a76\u662f\u6709\u9650\u7684\uff0c\u8fd9\u672c\u4e66\u4e5f\u662f\u6211\u5728\u7e41\u91cd\u7684\u79d1\u7814\u4e4b\u4f59\u71ac\u591c\u62bd\u7a7a\u5199\u51fa\u6765\u7684\uff0c\u96be\u514d\u6709\u4e0d\u591f\u5b8c\u5584\u4e4b\u5904\u3002\u53e6\u5916\uff0c\u7531\u4e8e\u4e2a\u4eba\u505a\u7684\u662f\u7cfb\u7edf\u65b9\u5411\uff0c\u5f88\u591a\u8bfe\u7a0b\u4fa7\u91cd\u7cfb\u7edf\u9886\u57df\uff0c\u5bf9\u4e8e\u6570\u5b66\u3001\u7406\u8bba\u8ba1\u7b97\u673a\u3001\u9ad8\u7ea7\u7b97\u6cd5\u76f8\u5173\u7684\u5185\u5bb9\u5219\u76f8\u5bf9\u5c11\u4e9b\u3002\u5982\u679c\u6709\u5927\u4f6c\u60f3\u5728\u5176\u4ed6\u9886\u57df\u5206\u4eab\u81ea\u5df1\u7684\u81ea\u5b66\u7ecf\u5386\u4e0e\u8d44\u6e90\uff0c\u53ef\u4ee5\u76f4\u63a5\u5728\u9879\u76ee\u4e2d\u53d1\u8d77 Pull Request\uff0c\u4e5f\u6b22\u8fce\u548c\u6211\u90ae\u4ef6\u8054\u7cfb\uff08 zhongyinmin@pku.edu.cn \uff09\u3002 \u5173\u4e8e\u4ea4\u6d41\u7fa4\u7684\u5efa\u7acb \u65b9\u6cd5\u53c2\u89c1\u4ed3\u5e93\u7684 README.md \u3002","title":"\u524d\u8a00"},{"location":"#_1","text":"\u6700\u8fd1\u66f4\u65b0\uff1a Release v1.0.1 \u5df2\u53d1\u5e03 \ud83c\udf89 \u8fd9\u662f\u4e00\u672c\u8ba1\u7b97\u673a\u7684\u81ea\u5b66\u6307\u5357\uff0c\u4e5f\u662f\u5bf9\u81ea\u5df1\u5927\u5b66\u4e09\u5e74\u81ea\u5b66\u751f\u6daf\u7684\u4e00\u4e2a\u7eaa\u5ff5\u3002 \u8fd9\u540c\u65f6\u4e5f\u662f\u4e00\u4efd\u732e\u7ed9\u5317\u5927\u4fe1\u79d1\u5b66\u5f1f\u5b66\u59b9\u4eec\u7684\u793c\u7269\u3002\u5982\u679c\u8fd9\u672c\u4e66\u80fd\u5bf9\u4f60\u4eec\u7684\u4fe1\u79d1\u751f\u6daf\u6709\u54ea\u6015\u4e00\u4e1d\u4e00\u6beb\u7684\u5e2e\u52a9\uff0c\u90fd\u662f\u5bf9\u6211\u6781\u5927\u7684\u9f13\u52b1\u548c\u6170\u85c9\u3002 \u672c\u4e66\u76ee\u524d\u5305\u62ec\u4e86\u4ee5\u4e0b\u90e8\u5206(\u5982\u679c\u4f60\u6709\u5176\u4ed6\u597d\u7684\u5efa\u8bae\uff0c\u6216\u8005\u60f3\u52a0\u5165\u8d21\u732e\u8005\u7684\u884c\u5217\uff0c\u6b22\u8fce\u90ae\u4ef6 zhongyinmin@pku.edu.cn \u6216\u8005\u5728 issue \u91cc\u63d0\u95ee)\uff1a \u5fc5\u5b66\u5de5\u5177\uff1aIDE, \u7ffb\u5899, StackOverflow, Git, GitHub, Vim, LaTeX, GNU Make, \u5b9e\u7528\u5de5\u5177 ... \u73af\u5883\u914d\u7f6e\uff1aPC\u7aef\u4ee5\u53ca\u670d\u52a1\u5668\u7aef\u5f00\u53d1\u73af\u5883\u914d\u7f6e\u3001\u5404\u7c7b\u8fd0\u7ef4\u76f8\u5173\u6559\u6750\u53ca\u8d44\u6599 ... \u7ecf\u5178\u4e66\u7c4d\u63a8\u8350\uff1a\u770b\u8fc7 CSAPP \u8fd9\u672c\u4e66\u7684\u540c\u5b66\u4e00\u5b9a\u611f\u53f9\u597d\u4e66\u7684\u91cd\u8981\uff0c\u6211\u5c06\u5217\u4e3e\u63a8\u8350\u81ea\u5df1\u770b\u8fc7\u7684\u8ba1\u7b97\u673a\u9886\u57df\u7684\u5fc5\u770b\u597d\u4e66\u4e0e\u8d44\u6e90\u94fe\u63a5\u3002 \u56fd\u5916\u9ad8\u8d28\u91cf CS \u8bfe\u7a0b\u6c47\u603b \uff1a\u6211\u5c06\u628a\u6211\u4e0a\u8fc7\u7684\u6240\u6709\u9ad8\u8d28\u91cf\u7684\u56fd\u5916 CS \u8bfe\u7a0b\u5206\u95e8\u522b\u7c7b\u8fdb\u884c\u6c47\u603b\uff0c\u5e76\u7ed9\u51fa\u76f8\u5173\u7684\u81ea\u5b66\u5efa\u8bae\uff0c\u5927\u90e8\u5206\u8bfe\u7a0b\u90fd\u4f1a\u6709\u4e00\u4e2a\u72ec\u7acb\u7684\u4ed3\u5e93\u7ef4\u62a4\u76f8\u5173\u7684\u8d44\u6e90\u4ee5\u53ca\u6211\u7684\u4f5c\u4e1a\u5b9e\u73b0\u3002","title":"\u524d\u8a00"},{"location":"#cs61a","text":"\u5927\u4e00\u5165\u5b66\u65f6\u6211\u662f\u4e00\u4e2a\u5bf9\u8ba1\u7b97\u673a\u4e00\u65e0\u6240\u77e5\u7684\u5c0f\u767d\uff0c\u88c5\u4e86\u51e0\u5341\u4e2a G \u7684 Visual Studio \u5929\u5929\u548c OJ \u4f60\u6b7b\u6211\u6d3b\u3002\u51ed\u7740\u9ad8\u4e2d\u7684\u6570\u5b66\u5e95\u5b50\u6211\u6570\u5b66\u8bfe\u5b66\u5f97\u8fd8\u4e0d\u9519\uff0c\u4f46\u5728\u4e13\u4e1a\u8bfe\u4e0a\u5bf9\u7ade\u8d5b\u5927\u4f6c\u53ea\u6709\u4ef0\u671b\u3002\u63d0\u5230\u7f16\u7a0b\u6211\u53ea\u4f1a\u6253\u5f00\u90a3\u7b28\u91cd\u7684 IDE\uff0c\u65b0\u5efa\u4e00\u4e2a\u6211\u4e5f\u4e0d\u77e5\u9053\u5177\u4f53\u662f\u5e72\u5565\u7684\u547d\u4ee4\u884c\u9879\u76ee\uff0c\u7136\u540e\u5c31\u662f cin , cout , for \u5faa\u73af\uff0c\u7136\u540e CE, RE, WA \u5faa\u73af\u3002\u5f53\u65f6\u7684\u6211\u5c31\u5904\u5728\u4e00\u79cd\u62fc\u547d\u60f3\u5b66\u597d\u4f46\u4e0d\u77e5\u9053\u600e\u4e48\u5b66\uff0c\u8bfe\u4e0a\u8ba4\u771f\u542c\u8bb2\u4f46\u9898\u8fd8\u4e0d\u4f1a\u505a\uff0c\u8bfe\u540e\u505a\u4f5c\u4e1a\u5b8c\u5168\u662f\u7528\u65f6\u95f4\u548c\u5b83\u786c\u8017\u7684\u75db\u82e6\u72b6\u6001\u3002\u6211\u81f3\u4eca\u7535\u8111\u91cc\u8fd8\u5b58\u7740\u81ea\u5df1\u5927\u4e00\u4e0a\u5b66\u671f\u8ba1\u7b97\u6982\u8bba\u5927\u4f5c\u4e1a\u7684\u6e90\u4ee3\u7801 \u2014\u2014 \u4e00\u4e2a 1200 \u884c\u7684 C++ \u6587\u4ef6\uff0c\u6ca1\u6709\u5934\u6587\u4ef6\u3001\u6ca1\u6709\u7c7b\u3001\u6ca1\u6709\u5c01\u88c5\u3001\u6ca1\u6709 unit test\u3001\u6ca1\u6709 Makefile\u3001\u6ca1\u6709 Git\uff0c\u552f\u4e00\u7684\u4f18\u70b9\u662f\u5b83\u786e\u5b9e\u80fd\u8dd1\uff0c\u7f3a\u70b9\u662f\u201c\u80fd\u8dd1\u201d\u7684\u8865\u96c6\u3002\u6211\u4e00\u5ea6\u6000\u7591\u6211\u662f\u4e0d\u662f\u4e0d\u9002\u5408\u5b66\u8ba1\u7b97\u673a\uff0c\u56e0\u4e3a\u7ae5\u5e74\u5bf9\u4e8e\u6781\u5ba2\u7684\u6240\u6709\u60f3\u8c61\uff0c\u5df2\u7ecf\u88ab\u6211\u7b2c\u4e00\u4e2a\u5b66\u671f\u7684\u4f53\u9a8c\u5f7b\u5e95\u7c89\u788e\u4e86\u3002 \u8fd9\u4e00\u5207\u7684\u8f6c\u673a\u53d1\u751f\u5728\u6211\u5927\u4e00\u7684\u5bd2\u5047\uff0c\u6211\u5fc3\u8840\u6765\u6f6e\u60f3\u5b66\u4e60 Python\u3002\u65e0\u610f\u95f4\u770b\u5230\u77e5\u4e4e\u6709\u4eba\u63a8\u8350\u4e86 CS61A \u8fd9\u95e8\u8bfe\uff0c\u8bf4\u662f UC Berkeley \u7684\u5927\u4e00\u5165\u95e8\u8bfe\u7a0b\uff0c\u8bb2\u7684\u5c31\u662f Python\u3002\u6211\u6c38\u8fdc\u4e0d\u4f1a\u5fd8\u8bb0\u90a3\u4e00\u5929\uff0c\u6253\u5f00 CS61A \u8bfe\u7a0b\u7f51\u7ad9\u7684\u90a3\u4e2a\u77ac\u95f4\uff0c\u5c31\u50cf\u54e5\u4f26\u5e03\u53d1\u73b0\u4e86\u65b0\u5927\u9646\u4e00\u6837\uff0c\u6211\u5f00\u542f\u4e86\u65b0\u4e16\u754c\u7684\u5927\u95e8\u3002 \u6211\u4e00\u53e3\u6c14 3 \u4e2a\u661f\u671f\u4e0a\u5b8c\u4e86\u8fd9\u95e8\u8bfe\uff0c\u5b83\u8ba9\u6211\u7b2c\u4e00\u6b21\u611f\u89c9\u5230\u539f\u6765 CS \u53ef\u4ee5\u5b66\u5f97\u5982\u6b64\u5145\u5b9e\u800c\u6709\u8da3\uff0c\u539f\u6765\u8fd9\u4e16\u4e0a\u7adf\u6709\u5982\u6b64\u7cbe\u534e\u7684\u8bfe\u7a0b\u3002 \u4e3a\u907f\u514d\u6709\u5d07\u6d0b\u5a9a\u5916\u4e4b\u5acc\uff0c\u6211\u5355\u7eaf\u4ece\u4e00\u4e2a\u5b66\u751f\u7684\u89c6\u89d2\u6765\u8bb2\u8bb2\u81ea\u5b66 CS61A \u7684\u4f53\u9a8c\uff1a \u72ec\u7acb\u642d\u5efa\u7684\u8bfe\u7a0b\u7f51\u7ad9: \u4e00\u4e2a\u7f51\u7ad9\u5c06\u6240\u6709\u8bfe\u7a0b\u8d44\u6e90\u6574\u5408\u4e00\u4f53\uff0c\u6761\u7406\u5206\u660e\u7684\u8bfe\u7a0b schedule\u3001\u6240\u6709 slides, hw, discussion \u7684\u6587\u4ef6\u94fe\u63a5\u3001\u8be6\u7ec6\u660e\u786e\u7684\u8bfe\u7a0b\u7ed9\u5206\u8bf4\u660e\u3001\u5386\u5e74\u7684\u8003\u8bd5\u9898\u4e0e\u7b54\u6848\u3002\u8fd9\u6837\u4e00\u4e2a\u7f51\u7ad9\u629b\u5f00\u7f8e\u89c2\u7a0b\u5ea6\u4e0d\u8c08\uff0c\u65e2\u65b9\u4fbf\u5b66\u751f\uff0c\u4e5f\u8ba9\u8d44\u6e90\u516c\u6b63\u900f\u660e\u3002 \u8bfe\u7a0b\u6559\u6388\u4eb2\u81ea\u7f16\u5199\u7684\u6559\u6750\uff1aCS61A \u8fd9\u95e8\u8bfe\u7684\u5f00\u8bfe\u8001\u5e08\u5c06MIT\u7684\u7ecf\u5178\u6559\u6750 Structure and Interpretation of Computer Programs (SICP) \u7528Python\u8fd9\u95e8\u8bed\u8a00\u8fdb\u884c\u6539\u7f16\uff08\u539f\u6559\u6750\u57fa\u4e8e Scheme \u8bed\u8a00\uff09\uff0c\u4fdd\u8bc1\u4e86\u8bfe\u5802\u5185\u5bb9\u4e0e\u6559\u6750\u5185\u5bb9\u7684\u4e00\u81f4\u6027\uff0c\u540c\u65f6\u8865\u5145\u4e86\u66f4\u591a\u7ec6\u8282\uff0c\u53ef\u4ee5\u8bf4\u8bda\u610f\u6ee1\u6ee1\u3002\u800c\u4e14\u5168\u4e66\u5f00\u6e90\uff0c\u53ef\u4ee5\u76f4\u63a5\u7ebf\u4e0a\u9605\u8bfb\u3002 \u4e30\u5bcc\u5230\u8ba9\u4eba\u773c\u82b1\u7f2d\u4e71\u7684\u8bfe\u7a0b\u4f5c\u4e1a\uff1a14 \u4e2a lab \u5de9\u56fa\u968f\u5802\u77e5\u8bc6\u70b9\uff0c10 \u4e2a homework\uff0c\u8fd8\u6709 4 \u4e2a\u4ee3\u7801\u91cf\u5747\u4e0a\u5343\u884c\u7684 project\u3002\u4e0e\u5927\u5bb6\u719f\u6089\u7684 OJ \u548c Word \u6587\u6863\u5f0f\u7684\u4f5c\u4e1a\u4e0d\u540c\uff0c\u6240\u6709\u4f5c\u4e1a\u5747\u6709\u5b8c\u5584\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u4fdd\u59c6\u7ea7\u7684\u4f5c\u4e1a\u8bf4\u660e\u3002\u6bcf\u4e2a Project \u90fd\u6709\u8be6\u5c3d\u7684 handout \u6587\u6863\u3001\u5168\u81ea\u52a8\u7684\u8bc4\u5206\u811a\u672c\u3002CS61A \u751a\u81f3\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a \u81ea\u52a8\u5316\u7684\u4f5c\u4e1a\u63d0\u4ea4\u8bc4\u5206\u7cfb\u7edf \uff08\u636e\u8bf4\u8fd8\u53d1\u4e86\u8bba\u6587\uff09\u3002\u5f53\u7136\uff0c\u6709\u4eba\u4f1a\u8bf4\u201c\u4e00\u4e2a project \u51e0\u5343\u884c\u4ee3\u7801\u5927\u90e8\u5206\u90fd\u662f\u52a9\u6559\u5e2e\u4f60\u5199\u597d\u7684\uff0c\u4f60\u8fd8\u80fd\u5b66\u5230\u5565\uff1f\u201d\u3002\u6b64\u8a00\u5dee\u77e3\uff0c\u4f5c\u4e3a\u4e00\u4e2a\u521a\u521a\u63a5\u89e6\u8ba1\u7b97\u673a\uff0c\u8fde\u5b89\u88c5 Python \u90fd\u78d5\u78d5\u7eca\u7eca\u7684\u5c0f\u767d\u6765\u8bf4\uff0c\u8fd9\u6837\u5b8c\u5584\u7684\u4ee3\u7801\u6846\u67b6\u65e2\u53ef\u4ee5\u8ba9\u4f60\u4e13\u6ce8\u4e8e\u5de9\u56fa\u8bfe\u5802\u4e0a\u5b66\u4e60\u5230\u7684\u6838\u5fc3\u77e5\u8bc6\u70b9\uff0c\u53c8\u80fd\u6709\u201c\u6211\u624d\u5b66\u4e86\u4e00\u4e2a\u6708\u5c31\u80fd\u505a\u4e00\u4e2a\u5c0f\u6e38\u620f\u4e86\uff01\u201d\u7684\u6210\u5c31\u611f\uff0c\u8fd8\u80fd\u6709\u673a\u4f1a\u9605\u8bfb\u5b66\u4e60\u522b\u4eba\u9ad8\u8d28\u91cf\u7684\u4ee3\u7801\uff0c\u4ece\u800c\u4e3a\u81ea\u5df1\u6240\u7528\u3002\u6211\u89c9\u5f97\u5728\u4f4e\u5e74\u7ea7\uff0c\u8fd9\u79cd\u4ee3\u7801\u6846\u67b6\u53ef\u4ee5\u8bf4\u767e\u5229\u800c\u65e0\u4e00\u5bb3\u3002\u552f\u4e00\u7684\u5bb3\u4e5f\u8bb8\u662f\u82e6\u4e86\u8001\u5e08\u548c\u52a9\u6559\uff0c\u56e0\u4e3a\u5f00\u53d1\u8fd9\u6837\u7684\u4f5c\u4e1a\u53ef\u60f3\u800c\u77e5\u9700\u8981\u76f8\u5f53\u7684\u65f6\u95f4\u6295\u5165\u3002 \u6bcf\u5468 Discussion \u8ba8\u8bba\u8bfe\uff0c\u52a9\u6559\u4f1a\u8bb2\u89e3\u77e5\u8bc6\u96be\u70b9\u548c\u8003\u8bd5\u4f8b\u9898\uff1a\u7c7b\u4f3c\u4e8e\u5317\u4eac\u5927\u5b66 ICS \u7684\u5c0f\u73ed\u7814\u8ba8\uff0c\u4f46\u4e60\u9898\u5168\u90e8\u7528 LaTeX \u64b0\u5199\uff0c\u76f8\u5f53\u89c4\u8303\u4e14\u4f1a\u660e\u786e\u7ed9\u51fa solution\u3002 \u8fd9\u6837\u7684\u8bfe\u7a0b\uff0c\u4f60\u5b8c\u5168\u4e0d\u9700\u8981\u4efb\u4f55\u8ba1\u7b97\u673a\u7684\u57fa\u7840\uff0c\u4f60\u53ea\u9700\u8981\u52aa\u529b\u3001\u8ba4\u771f\u3001\u82b1\u65f6\u95f4\u5c31\u591f\u4e86\u3002\u6b64\u524d\u90a3\u79cd\u6709\u52b2\u6ca1\u5904\u4f7f\u7684\u611f\u89c9\uff0c\u90a3\u79cd\u4ed8\u51fa\u518d\u591a\u65f6\u95f4\u5374\u5f97\u4e0d\u5230\u56de\u62a5\u7684\u611f\u89c9\uff0c\u4ece\u6b64\u70df\u6d88\u4e91\u6563\u3002\u8fd9\u592a\u9002\u5408\u6211\u4e86\uff0c\u6211\u4ece\u6b64\u7231\u4e0a\u4e86\u81ea\u5b66\u3002 \u8bd5\u60f3\u5982\u679c\u6709\u4eba\u80fd\u628a\u8270\u6df1\u7684\u77e5\u8bc6\u70b9\u56bc\u788e\u56bc\u70c2\uff0c\u7528\u751f\u52a8\u76f4\u767d\u7684\u65b9\u5f0f\u5448\u73b0\u7ed9\u4f60\uff0c\u8fd8\u6709\u90a3\u4e48\u591a\u542c\u8d77\u6765\u5c31\u5f88 fancy\uff0c\u79cd\u7c7b\u7e41\u591a\u7684 project \u6765\u5de9\u56fa\u4f60\u7684\u7406\u8bba\u77e5\u8bc6\uff0c\u4f60\u4f1a\u89c9\u5f97\u4ed6\u4eec\u771f\u7684\u662f\u5728\u503e\u5c3d\u5168\u529b\u60f3\u65b9\u8bbe\u6cd5\u5730\u8ba9\u4f60\u5b8c\u5168\u638c\u63e1\u8fd9\u95e8\u8bfe\uff0c\u4f60\u4f1a\u89c9\u5f97\u4e0d\u5b66\u597d\u5b83\u7b80\u76f4\u662f\u5bf9\u8fd9\u4e9b\u8bfe\u7a0b\u5efa\u8bbe\u8005\u7684\u4fae\u8fb1\u3002 \u5982\u679c\u4f60\u89c9\u5f97\u6211\u5728\u5938\u5927\u5176\u8bcd\uff0c\u90a3\u4e48\u4e0d\u59a8\u4ece CS61A \u5f00\u59cb\uff0c\u56e0\u4e3a\u5b83\u662f\u6211\u7684\u68a6\u5f00\u59cb\u7684\u5730\u65b9\u3002","title":"\u68a6\u5f00\u59cb\u7684\u5730\u65b9 \u2014\u2014 CS61A"},{"location":"#_2","text":"\u5728\u62112020\u5e74\u79cb\u5b63\u5b66\u671f\u62c5\u4efb\u300a\u6df1\u5165\u7406\u89e3\u8ba1\u7b97\u673a\u7cfb\u7edf\u300b\uff08CSAPP\uff09\u8fd9\u95e8\u8bfe\u7684\u52a9\u6559\u65f6\uff0c\u6211\u5df2\u7ecf\u81ea\u5b66\u4e00\u5e74\u591a\u4e86\u3002\u8fd9\u4e00\u5e74\u591a\u6765\u6211\u65e0\u6bd4\u4eab\u53d7\u8fd9\u79cd\u81ea\u5b66\u6a21\u5f0f\uff0c\u4e3a\u4e86\u5206\u4eab\u8fd9\u79cd\u5feb\u4e50\uff0c\u6211\u4e3a\u81ea\u5df1\u7684\u5c0f\u73ed\u540c\u5b66\u505a\u8fc7\u4e00\u4e2a CS\u81ea\u5b66\u8d44\u6599\u6574\u7406\u4ed3\u5e93 \u3002\u5f53\u65f6\u7eaf\u7cb9\u662f\u5fc3\u8840\u6765\u6f6e\uff0c\u56e0\u4e3a\u6211\u4e5f\u4e0d\u6562\u516c\u7136\u9f13\u52b1\u5927\u5bb6\u7fd8\u8bfe\u81ea\u5b66\u3002 \u4f46\u968f\u7740\u53c8\u4e00\u5e74\u65f6\u95f4\u7684\u7ef4\u62a4\uff0c\u8fd9\u4e2a\u4ed3\u5e93\u7684\u5185\u5bb9\u5df2\u7ecf\u76f8\u5f53\u4e30\u5bcc\uff0c\u57fa\u672c\u8986\u76d6\u4e86\u8ba1\u79d1\u3001\u667a\u80fd\u7cfb\u3001\u8f6f\u5de5\u7cfb\u7684\u7edd\u5927\u591a\u6570\u8bfe\u7a0b\uff0c\u6211\u4e5f\u4e3a\u6bcf\u4e2a\u8bfe\u7a0b\u90fd\u5efa\u4e86\u5404\u81ea\u7684 GitHub \u4ed3\u5e93\uff0c\u6c47\u603b\u6211\u7528\u5230\u7684\u81ea\u5b66\u8d44\u6599\u4ee5\u53ca\u4f5c\u4e1a\u5b9e\u73b0\u3002 \u76f4\u5230\u5927\u56db\u5f00\u59cb\u51d1\u5b66\u5206\u6bd5\u4e1a\u7684\u65f6\u5019\uff0c\u6211\u6253\u5f00\u81ea\u5df1\u7684\u57f9\u517b\u65b9\u6848\uff0c\u6211\u53d1\u73b0\u5b83\u5df2\u7ecf\u662f\u6211\u8fd9\u4e2a\u81ea\u5b66\u4ed3\u5e93\u7684\u5b50\u96c6\u4e86\uff0c\u800c\u8fd9\u8ddd\u79bb\u6211\u5f00\u59cb\u81ea\u5b66\u4e5f\u624d\u4e24\u5e74\u534a\u800c\u5df2\u3002\u4e8e\u662f\uff0c\u4e00\u4e2a\u5927\u80c6\u7684\u60f3\u6cd5\u5728\u6211\u8111\u6d77\u4e2d\u6d6e\u73b0\uff1a\u4e5f\u8bb8\uff0c\u6211\u53ef\u4ee5\u6253\u9020\u4e00\u4e2a\u81ea\u5b66\u5f0f\u7684\u57f9\u517b\u65b9\u6848\uff0c\u628a\u6211\u8fd9\u4e09\u5e74\u81ea\u5b66\u7ecf\u5386\u4e2d\u9047\u5230\u7684\u5751\u3001\u8d70\u8fc7\u7684\u8def\u8bb0\u5f55\u4e0b\u6765\uff0c\u4ee5\u671f\u80fd\u4e3a\u540e\u6765\u7684\u5b66\u5f1f\u5b66\u59b9\u4eec\u8d21\u732e\u81ea\u5df1\u7684\u4e00\u4efd\u5fae\u8584\u4e4b\u529b\u3002 \u5982\u679c\u5927\u5bb6\u53ef\u4ee5\u5728\u4e09\u5e74\u4e0d\u5230\u7684\u65f6\u95f4\u91cc\u5c31\u80fd\u5efa\u7acb\u8d77\u6574\u5ea7CS\u7684\u57fa\u7840\u5927\u53a6\uff0c\u80fd\u6709\u76f8\u5bf9\u624e\u5b9e\u7684\u6570\u5b66\u529f\u5e95\u548c\u4ee3\u7801\u80fd\u529b\uff0c\u7ecf\u5386\u8fc7\u6570\u5341\u4e2a\u5343\u884c\u4ee3\u7801\u91cf\u7684 Project \u7684\u6d17\u793c\uff0c\u638c\u63e1\u81f3\u5c11 C/C++/Java/JS/Python/Go/Rust \u7b49\u4e3b\u6d41\u8bed\u8a00\uff0c\u5bf9\u7b97\u6cd5\u3001\u7535\u8def\u3001\u4f53\u7cfb\u3001\u7f51\u7edc\u3001\u64cd\u7edf\u3001\u7f16\u8bd1\u3001\u4eba\u5de5\u667a\u80fd\u3001\u673a\u5668\u5b66\u4e60\u3001\u8ba1\u7b97\u673a\u89c6\u89c9\u3001\u81ea\u7136\u8bed\u8a00\u5904\u7406\u3001\u5f3a\u5316\u5b66\u4e60\u3001\u5bc6\u7801\u5b66\u3001\u4fe1\u606f\u8bba\u3001\u535a\u5f08\u8bba\u3001\u6570\u503c\u5206\u6790\u3001\u7edf\u8ba1\u5b66\u3001\u5206\u5e03\u5f0f\u3001\u6570\u636e\u5e93\u3001\u56fe\u5f62\u5b66\u3001Web\u5f00\u53d1\u3001\u4e91\u670d\u52a1\u3001\u8d85\u7b97\u7b49\u7b49\u65b9\u9762\u5747\u6709\u6d89\u730e\u3002\u6211\u60f3\uff0c\u4f60\u5c06\u6709\u8db3\u591f\u7684\u5e95\u6c14\u548c\u81ea\u4fe1\u9009\u62e9\u81ea\u5df1\u611f\u5174\u8da3\u7684\u65b9\u5411\uff0c\u65e0\u8bba\u662f\u5c31\u4e1a\u8fd8\u662f\u79d1\u7814\uff0c\u4f60\u90fd\u5c06\u6709\u76f8\u5f53\u7684\u7ade\u4e89\u529b\u3002 \u56e0\u4e3a\u6211\u575a\u4fe1\uff0c\u65e2\u7136\u4f60\u80fd\u575a\u6301\u542c\u6211 BB \u5230\u8fd9\u91cc\uff0c\u4f60\u4e00\u5b9a\u4e0d\u7f3a\u5b66\u597d CS \u7684\u80fd\u529b\uff0c\u4f60\u53ea\u662f\u6ca1\u6709\u4e00\u4e2a\u597d\u7684\u8001\u5e08\uff0c\u7ed9\u4f60\u8bb2\u4e00\u95e8\u597d\u7684\u8bfe\u7a0b\u3002\u800c\u6211\uff0c\u5c06\u529b\u56fe\u6839\u636e\u6211\u4e09\u5e74\u7684\u4f53\u9a8c\uff0c\u4e3a\u4f60\u6311\u9009\u8fd9\u6837\u7684\u8bfe\u7a0b\u3002","title":"\u4e3a\u4ec0\u4e48\u5199\u8fd9\u672c\u4e66"},{"location":"#_3","text":"\u5bf9\u6211\u6765\u8bf4\uff0c\u81ea\u5b66\u6700\u5927\u7684\u597d\u5904\u5c31\u5728\u4e8e\u53ef\u4ee5\u5b8c\u5168\u6839\u636e\u81ea\u5df1\u7684\u8fdb\u5ea6\u6765\u8c03\u6574\u5b66\u4e60\u901f\u5ea6\u3002\u5bf9\u4e8e\u4e00\u4e9b\u7591\u96be\u77e5\u8bc6\u70b9\uff0c\u6211\u53ef\u4ee5\u53cd\u590d\u56de\u770b\u89c6\u9891\uff0c\u5728\u7f51\u4e0a\u8c37\u6b4c\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u4e0a StackOverflow \u63d0\u95ee\u9898\uff0c\u76f4\u5230\u5b8c\u5168\u5c06\u5b83\u5f04\u660e\u767d\u3002\u800c\u5bf9\u4e8e\u81ea\u5df1\u638c\u63e1\u5f97\u76f8\u5bf9\u8f83\u5feb\u7684\u5185\u5bb9\uff0c\u5219\u53ef\u4ee5\u4e24\u500d\u901f\u751a\u81f3\u4e09\u500d\u901f\u7565\u8fc7\u3002 \u81ea\u5b66\u7684\u53e6\u4e00\u5927\u597d\u5904\u5c31\u662f\u535a\u91c7\u4f17\u957f\u3002\u8ba1\u7b97\u673a\u7cfb\u7684\u51e0\u5927\u6838\u5fc3\u8bfe\u7a0b\uff1a\u4f53\u7cfb\u3001\u7f51\u7edc\u3001\u64cd\u7edf\u3001\u7f16\u8bd1\uff0c\u6bcf\u4e00\u95e8\u6211\u57fa\u672c\u90fd\u4e0a\u8fc7\u4e0d\u540c\u5927\u5b66\u7684\u8bfe\u7a0b\uff0c\u4e0d\u540c\u7684\u6559\u6750\u3001\u4e0d\u540c\u7684\u77e5\u8bc6\u70b9\u4fa7\u91cd\u3001\u4e0d\u540c\u7684 project \u5c06\u4f1a\u6781\u5927\u4e30\u5bcc\u4f60\u7684\u89c6\u91ce\uff0c\u4e5f\u4f1a\u8ba9\u4f60\u7406\u89e3\u9519\u8bef\u7684\u4e00\u4e9b\u5185\u5bb9\u5f97\u5230\u53ca\u65f6\u7ea0\u6b63\u3002 \u81ea\u5b66\u7684\u7b2c\u4e09\u4e2a\u597d\u5904\u662f\u65f6\u95f4\u81ea\u7531\uff0c\u5177\u4f53\u539f\u56e0\u7701\u7565\u3002","title":"\u81ea\u5b66\u7684\u597d\u5904"},{"location":"#_4","text":"\u5f53\u7136\uff0c\u4f5c\u4e3a CS \u81ea\u5b66\u4e3b\u4e49\u7684\u5fe0\u5b9e\u62e5\u8db8\uff0c\u6211\u4e0d\u5f97\u4e0d\u627f\u8ba4\u81ea\u5b66\u4e5f\u6709\u5b83\u7684\u574f\u5904\u3002 \u7b2c\u4e00\u5c31\u662f\u4ea4\u6d41\u6c9f\u901a\u7684\u4e0d\u4fbf\u3002\u6211\u5176\u5b9e\u662f\u4e00\u4e2a\u5f88\u70ed\u8877\u4e8e\u63d0\u95ee\u7684\u4eba\uff0c\u5bf9\u4e8e\u6240\u6709\u6ca1\u6709\u5f04\u660e\u767d\u7684\u70b9\uff0c\u6211\u90fd\u559c\u6b22\u7a77\u8ffd\u5230\u5e95\u3002\u4f46\u5f53\u4f60\u9762\u5bf9\u7740\u5c4f\u5e55\u542c\u5230\u8001\u5e08\u8bb2\u4e86\u4e00\u4e2a\u4f60\u6ca1\u660e\u767d\u7684\u77e5\u8bc6\u70b9\u7684\u65f6\u5019\uff0c\u4f60\u65e0\u6cd5\u987a\u7740\u7f51\u7ebf\u5230\u53e6\u4e00\u7aef\u5411\u8001\u5e08\u95ee\u4e2a\u660e\u767d\u3002\u6211\u52aa\u529b\u901a\u8fc7\u72ec\u7acb\u601d\u8003\u548c\u5584\u7528 Google \u6765\u7f13\u89e3\u8fd9\u4e00\u70b9\uff0c\u4f46\u662f\uff0c\u5982\u679c\u80fd\u6709\u51e0\u4e2a\u5fd7\u540c\u9053\u5408\u7684\u4f19\u4f34\u7ed3\u4f34\u81ea\u5b66\uff0c\u90a3\u5c06\u662f\u6781\u597d\u7684\u3002\u5173\u4e8e\u4ea4\u6d41\u7fa4\u7684\u5efa\u7acb\uff0c\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003\u4ed3\u5e93 README \u4e2d\u7684\u6559\u7a0b\u3002 \u7b2c\u4e8c\u5c31\u662f\u8fd9\u4e9b\u81ea\u5b66\u7684\u8bfe\u7a0b\u57fa\u672c\u90fd\u662f\u82f1\u6587\u7684\u3002\u4ece\u89c6\u9891\u5230slides\u5230\u4f5c\u4e1a\u5168\u662f\u82f1\u6587\uff0c\u6240\u4ee5\u6709\u4e00\u5b9a\u7684\u95e8\u69db\u3002\u4e0d\u8fc7\u6211\u89c9\u5f97\u8fd9\u4e2a\u6311\u6218\u5982\u679c\u4f60\u514b\u670d\u4e86\u7684\u8bdd\u5bf9\u4f60\u662f\u6781\u4e3a\u6709\u5229\u7684\u3002\u56e0\u4e3a\u5728\u5f53\u4e0b\uff0c\u867d\u7136\u6211\u5f88\u4e0d\u60c5\u613f\uff0c\u4f46\u4e5f\u4e0d\u5f97\u4e0d\u627f\u8ba4\uff0c\u5728\u8ba1\u7b97\u673a\u9886\u57df\uff0c\u5f88\u591a\u4f18\u8d28\u7684\u6587\u6863\u3001\u8bba\u575b\u3001\u7f51\u7ad9\u90fd\u662f\u5168\u82f1\u6587\u7684\u3002\u517b\u6210\u82f1\u6587\u9605\u8bfb\u7684\u4e60\u60ef\uff0c\u5728\u8d64\u65d7\u63d2\u904d\u4e16\u754c\u4e4b\u524d\uff0c\u8fd8\u662f\u6709\u4e00\u5b9a\u597d\u5904\u7684\uff08\u72d7\u5934\u4fdd\u547d\uff09\u3002 \u7b2c\u4e09\uff0c\u4e5f\u662f\u6211\u89c9\u5f97\u6700\u56f0\u96be\u7684\u4e00\u70b9\uff0c\u5c31\u662f\u81ea\u5f8b\u3002\u56e0\u4e3a\u6ca1\u6709 DDL \u6709\u65f6\u5019\u771f\u7684\u662f\u4e00\u4ef6\u53ef\u6015\u7684\u4e8b\u60c5\uff0c\u7279\u522b\u662f\u968f\u7740\u5b66\u4e60\u7684\u6df1\u5165\uff0c\u56fd\u5916\u7684\u5f88\u591a\u8bfe\u7a0b\u662f\u76f8\u5f53\u8650\u7684\u3002\u4f60\u5f97\u6709\u8db3\u591f\u7684\u9a71\u52a8\u529b\u5f3a\u8feb\u81ea\u5df1\u9759\u4e0b\u5fc3\u6765\uff0c\u9605\u8bfb\u51e0\u5341\u9875\u7684 Project Handout\uff0c\u7406\u89e3\u4e0a\u5343\u884c\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u5fcd\u53d7\u6570\u4e2a\u5c0f\u65f6\u7684 debug \u65f6\u5149\u3002\u800c\u8fd9\u4e00\u5207\uff0c\u6ca1\u6709\u5b66\u5206\uff0c\u6ca1\u6709\u7ee9\u70b9\uff0c\u6ca1\u6709\u8001\u5e08\uff0c\u6ca1\u6709\u540c\u5b66\uff0c\u53ea\u6709\u4e00\u4e2a\u4fe1\u5ff5 \u2014\u2014 \u4f60\u5728\u53d8\u5f3a\u3002","title":"\u81ea\u5b66\u7684\u574f\u5904"},{"location":"#_5","text":"\u6b63\u5982\u6211\u5728\u524d\u8a00\u91cc\u8bf4\u7684\uff0c\u4efb\u4f55\u6709\u5fd7\u4e8e\u81ea\u5b66\u8ba1\u7b97\u673a\u7684\u670b\u53cb\u90fd\u53ef\u4ee5\u53c2\u8003\u8fd9\u672c\u4e66\u3002\u5982\u679c\u4f60\u5df2\u7ecf\u6709\u4e86\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u57fa\u7840\uff0c\u53ea\u662f\u5bf9\u67d0\u4e2a\u7279\u5b9a\u7684\u9886\u57df\u611f\u5174\u8da3\uff0c\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u6311\u9009\u4f60\u611f\u5174\u8da3\u7684\u5185\u5bb9\u8fdb\u884c\u5b66\u4e60\u3002\u5f53\u7136\uff0c\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u50cf\u6211\u5f53\u5e74\u4e00\u6837\u5bf9\u8ba1\u7b97\u673a\u4e00\u65e0\u6240\u77e5\u7684\u5c0f\u767d\uff0c\u521d\u5165\u5927\u5b66\u7684\u6821\u95e8\uff0c\u6211\u5e0c\u671b\u8fd9\u672c\u4e66\u80fd\u6210\u4e3a\u4f60\u7684\u653b\u7565\uff0c\u8ba9\u4f60\u82b1\u6700\u5c11\u7684\u65f6\u95f4\u638c\u63e1\u4f60\u6240\u9700\u8981\u7684\u77e5\u8bc6\u548c\u80fd\u529b\u3002\u67d0\u79cd\u7a0b\u5ea6\u4e0a\uff0c\u8fd9\u672c\u4e66\u66f4\u50cf\u662f\u4e00\u4e2a\u6839\u636e\u6211\u7684\u4f53\u9a8c\u6765\u6392\u5e8f\u7684\u8bfe\u7a0b\u641c\u7d22\u5f15\u64ce\uff0c\u5e2e\u52a9\u5927\u5bb6\u8db3\u4e0d\u51fa\u6237\uff0c\u4f53\u9a8c\u4e16\u754c\u9876\u7ea7\u540d\u6821\u7684\u8ba1\u7b97\u673a\u4f18\u8d28\u8bfe\u7a0b\u3002 \u5f53\u7136\uff0c\u4f5c\u4e3a\u4e00\u4e2a\u8fd8\u672a\u6bd5\u4e1a\u7684\u672c\u79d1\u751f\uff0c\u6211\u6df1\u611f\u81ea\u5df1\u6ca1\u6709\u80fd\u529b\u4e5f\u6ca1\u6709\u6743\u5229\u53bb\u5ba3\u626c\u4e00\u79cd\u5b66\u4e60\u65b9\u5f0f\uff0c\u6211\u53ea\u662f\u5e0c\u671b\u8fd9\u4efd\u8d44\u6599\u80fd\u8ba9\u90a3\u4e9b\u540c\u6837\u6709\u81ea\u5b66\u4e4b\u5fc3\u548c\u6bc5\u529b\u670b\u53cb\u53ef\u4ee5\u5c11\u8d70\u4e9b\u5f2f\u8def\uff0c\u6536\u83b7\u66f4\u4e30\u5bcc\u3001\u66f4\u591a\u6837\u3001\u66f4\u6ee1\u8db3\u7684\u5b66\u4e60\u4f53\u9a8c\u3002","title":"\u8fd9\u672c\u4e66\u9002\u5408\u8c01"},{"location":"#_6","text":"\u5728\u8fd9\u91cc\uff0c\u6211\u6000\u7740\u5d07\u656c\u4e4b\u5fc3\u771f\u8bda\u5730\u611f\u8c22\u6240\u6709\u5c06\u8bfe\u7a0b\u8d44\u6e90\u65e0\u507f\u5f00\u6e90\u7684\u5404\u4f4d\u6559\u6388\u4eec\u3002\u8fd9\u4e9b\u8bfe\u7a0b\u503e\u6ce8\u4e86\u4ed6\u4eec\u6570\u5341\u5e74\u6559\u5b66\u751f\u6daf\u7684\u79ef\u6dc0\u548c\u5fc3\u8840\uff0c\u4ed6\u4eec\u5374\u9009\u62e9\u65e0\u79c1\u5730\u8ba9\u6240\u6709\u4eba\u4eab\u53d7\u5230\u5982\u6b64\u9ad8\u8d28\u91cf\u7684CS\u6559\u80b2\u3002\u6ca1\u6709\u4ed6\u4eec\uff0c\u6211\u7684\u5927\u5b66\u751f\u6d3b\u4e0d\u4f1a\u8fd9\u6837\u5145\u5b9e\u800c\u5feb\u4e50\u3002\u5f88\u591a\u6559\u6388\u5728\u6211\u7ed9\u4ed6\u4eec\u53d1\u4e86\u611f\u8c22\u90ae\u4ef6\u4e4b\u540e\uff0c\u751a\u81f3\u4f1a\u56de\u590d\u4e0a\u767e\u5b57\u7684\u957f\u6587\uff0c\u771f\u7684\u8ba9\u6211\u65e0\u6bd4\u611f\u52a8\u3002\u4ed6\u4eec\u4e5f\u65f6\u523b\u6fc0\u52b1\u7740\u6211\uff0c\u505a\u4e00\u4ef6\u4e8b\uff0c\u5c31\u5f97\u7528\u5fc3\u505a\u597d\uff0c\u65e0\u8bba\u662f\u79d1\u7814\uff0c\u8fd8\u662f\u4e3a\u4eba\u3002","title":"\u7279\u522b\u9e23\u8c22"},{"location":"#_7","text":"\u4e00\u4e2a\u4eba\u7684\u529b\u91cf\u7ec8\u7a76\u662f\u6709\u9650\u7684\uff0c\u8fd9\u672c\u4e66\u4e5f\u662f\u6211\u5728\u7e41\u91cd\u7684\u79d1\u7814\u4e4b\u4f59\u71ac\u591c\u62bd\u7a7a\u5199\u51fa\u6765\u7684\uff0c\u96be\u514d\u6709\u4e0d\u591f\u5b8c\u5584\u4e4b\u5904\u3002\u53e6\u5916\uff0c\u7531\u4e8e\u4e2a\u4eba\u505a\u7684\u662f\u7cfb\u7edf\u65b9\u5411\uff0c\u5f88\u591a\u8bfe\u7a0b\u4fa7\u91cd\u7cfb\u7edf\u9886\u57df\uff0c\u5bf9\u4e8e\u6570\u5b66\u3001\u7406\u8bba\u8ba1\u7b97\u673a\u3001\u9ad8\u7ea7\u7b97\u6cd5\u76f8\u5173\u7684\u5185\u5bb9\u5219\u76f8\u5bf9\u5c11\u4e9b\u3002\u5982\u679c\u6709\u5927\u4f6c\u60f3\u5728\u5176\u4ed6\u9886\u57df\u5206\u4eab\u81ea\u5df1\u7684\u81ea\u5b66\u7ecf\u5386\u4e0e\u8d44\u6e90\uff0c\u53ef\u4ee5\u76f4\u63a5\u5728\u9879\u76ee\u4e2d\u53d1\u8d77 Pull Request\uff0c\u4e5f\u6b22\u8fce\u548c\u6211\u90ae\u4ef6\u8054\u7cfb\uff08 zhongyinmin@pku.edu.cn \uff09\u3002","title":"\u4f60\u4e5f\u60f3\u52a0\u5165\u5230\u8d21\u732e\u8005\u7684\u884c\u5217"},{"location":"#_8","text":"\u65b9\u6cd5\u53c2\u89c1\u4ed3\u5e93\u7684 README.md \u3002","title":"\u5173\u4e8e\u4ea4\u6d41\u7fa4\u7684\u5efa\u7acb"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/","text":"\u4e00\u4e2a\u4ec5\u4f9b\u53c2\u8003\u7684 CS \u5b66\u4e60\u89c4\u5212 \u8ba1\u7b97\u673a\u9886\u57df\u65b9\u5411\u5e9e\u6742\uff0c\u77e5\u8bc6\u6d69\u5982\u70df\u6d77\uff0c\u6bcf\u4e2a\u7ec6\u5206\u9886\u57df\u5982\u679c\u6df1\u7a76\u4e0b\u53bb\u90fd\u53ef\u4ee5\u8bf4\u5b66\u65e0\u6b62\u5883\u3002\u56e0\u6b64\uff0c\u4e00\u4e2a\u6e05\u6670\u660e\u786e\u7684\u5b66\u4e60\u89c4\u5212\u662f\u975e\u5e38\u91cd\u8981\u7684\u3002\u6211\u5728\u591a\u5e74\u81ea\u5b66\u7684\u5c1d\u8bd5\u4e2d\u4e5f\u8d70\u8fc7\u4e0d\u5c11\u5f2f\u8def\uff0c\u6700\u7ec8\u63d0\u70bc\u51fa\u4e86\u4e0b\u9762\u7684\u5185\u5bb9\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u4e0d\u8fc7\uff0c\u5728\u5f00\u59cb\u5b66\u4e60\u4e4b\u524d\uff0c\u5148\u5411\u5c0f\u767d\u4eec\u5f3a\u70c8\u63a8\u8350\u4e00\u4e2a\u79d1\u666e\u5411\u7cfb\u5217\u89c6\u9891 Crash Course: Computer Science \uff0c\u5728\u77ed\u77ed 8 \u4e2a\u5c0f\u65f6\u91cc\u975e\u5e38\u751f\u52a8\u4e14\u5168\u9762\u5730\u79d1\u666e\u4e86\u5173\u4e8e\u8ba1\u7b97\u673a\u79d1\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff1a\u8ba1\u7b97\u673a\u7684\u5386\u53f2\u3001\u8ba1\u7b97\u673a\u662f\u5982\u4f55\u8fd0\u4f5c\u7684\u3001\u7ec4\u6210\u8ba1\u7b97\u673a\u7684\u5404\u4e2a\u91cd\u8981\u6a21\u5757\u3001\u8ba1\u7b97\u673a\u79d1\u5b66\u4e2d\u7684\u91cd\u8981\u601d\u60f3\u7b49\u7b49\u7b49\u7b49\u3002\u6b63\u5982\u5b83\u7684\u53e3\u53f7\u6240\u8bf4\u7684 Computers are not magic! \uff0c\u5e0c\u671b\u770b\u5b8c\u8fd9\u4e2a\u89c6\u9891\u4e4b\u540e\uff0c\u5927\u5bb6\u80fd\u5bf9\u8ba1\u7b97\u673a\u79d1\u5b66\u6709\u4e2a\u5168\u8c8c\u6027\u5730\u611f\u77e5\uff0c\u4ece\u800c\u6000\u7740\u5174\u8da3\u53bb\u9762\u5bf9\u4e0b\u9762\u6d69\u5982\u70df\u6d77\u7684\u66f4\u4e3a\u7ec6\u81f4\u4e14\u6df1\u5165\u7684\u5b66\u4e60\u5185\u5bb9\u3002 \u5fc5\u5b66\u5de5\u5177 \u4fd7\u8bdd\u8bf4\uff1a\u78e8\u5200\u4e0d\u8bef\u780d\u67f4\u5de5\u3002\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u521a\u521a\u63a5\u89e6\u8ba1\u7b97\u673a\u768424k\u7eaf\u5c0f\u767d\uff0c\u5b66\u4f1a\u4e00\u4e9b\u5de5\u5177\u5c06\u4f1a\u8ba9\u4f60\u4e8b\u534a\u529f\u500d\u3002 \u5b66\u4f1a\u63d0\u95ee\uff1a\u4e5f\u8bb8\u4f60\u4f1a\u60ca\u8bb6\uff0c\u63d0\u95ee\u4e5f\u7b97\u8ba1\u7b97\u673a\u5fc5\u5907\u6280\u80fd\u5417\uff0c\u8fd8\u653e\u5728\u7b2c\u4e00\u6761\uff1f\u6211\u89c9\u5f97\u5728\u5f00\u6e90\u793e\u533a\u4e2d\uff0c\u5b66\u4f1a\u63d0\u95ee\u662f\u4e00\u9879\u975e\u5e38\u91cd\u8981\u7684\u80fd\u529b\uff0c\u5b83\u5305\u542b\u4e24\u65b9\u9762\u7684\u4e8b\u60c5\u3002\u5176\u4e00\u662f\u4f1a\u53d8\u76f8\u5730\u57f9\u517b\u4f60\u81ea\u4e3b\u89e3\u51b3\u95ee\u9898\u7684\u80fd\u529b\uff0c\u56e0\u4e3a\u4ece\u5f62\u6210\u95ee\u9898\u3001\u63cf\u8ff0\u95ee\u9898\u5e76\u53d1\u5e03\u3001\u4ed6\u4eba\u56de\u7b54\u3001\u6700\u540e\u518d\u5230\u7406\u89e3\u56de\u7b54\u8fd9\u4e2a\u5468\u671f\u662f\u975e\u5e38\u957f\u7684\uff0c\u5982\u679c\u9047\u5230\u4ec0\u4e48\u9e21\u6bdb\u849c\u76ae\u7684\u4e8b\u60c5\u90fd\u5e0c\u671b\u522b\u4eba\u6700\u597d\u8fdc\u7a0b\u684c\u9762\u624b\u628a\u624b\u5e2e\u4f60\u5b8c\u6210\uff0c\u90a3\u8ba1\u7b97\u673a\u7684\u4e16\u754c\u57fa\u672c\u4e0e\u4f60\u65e0\u7f18\u4e86\u3002\u5176\u4e8c\uff0c\u5982\u679c\u771f\u7684\u7ecf\u8fc7\u5c1d\u8bd5\u8fd8\u65e0\u6cd5\u89e3\u51b3\uff0c\u53ef\u4ee5\u501f\u52a9\u5f00\u6e90\u793e\u533a\u7684\u5e2e\u52a9\uff0c\u4f46\u8fd9\u65f6\u5019\u5982\u4f55\u901a\u8fc7\u7b80\u6d01\u7684\u6587\u5b57\u8ba9\u522b\u4eba\u77ac\u95f4\u7406\u89e3\u4f60\u7684\u5904\u5883\u4ee5\u53ca\u76ee\u7684\uff0c\u5c31\u663e\u5f97\u5c24\u4e3a\u91cd\u8981\u3002\u63a8\u8350\u9605\u8bfb \u63d0\u95ee\u7684\u667a\u6167 \u8fd9\u7bc7\u6587\u7ae0\uff0c\u8fd9\u4e0d\u4ec5\u80fd\u63d0\u9ad8\u4f60\u89e3\u51b3\u95ee\u9898\u7684\u6982\u7387\u548c\u6548\u7387\uff0c\u4e5f\u80fd\u8ba9\u5f00\u6e90\u793e\u533a\u91cc\u65e0\u507f\u63d0\u4f9b\u89e3\u7b54\u7684\u4eba\u4eec\u62e5\u6709\u4e00\u4e2a\u597d\u5fc3\u60c5\u3002 MIT-Missing-Semester \u8fd9\u95e8\u8bfe\u8986\u76d6\u4e86\u8fd9\u4e9b\u5de5\u5177\u4e2d\u7edd\u5927\u90e8\u5206\uff0c\u800c\u4e14\u6709\u76f8\u5f53\u8be6\u7ec6\u7684\u4f7f\u7528\u6307\u5bfc\uff0c\u5f3a\u70c8\u5efa\u8bae\u5c0f\u767d\u5b66\u4e60\u3002\u4e0d\u8fc7\u9700\u8981\u6ce8\u610f\u7684\u4e00\u70b9\u662f\uff0c\u5728\u8bfe\u7a0b\u4e2d\u4f1a\u4e0d\u65f6\u63d0\u5230\u4e00\u4e9b\u4e0e\u5f00\u53d1\u6d41\u7a0b\u76f8\u5173\u7684\u672f\u8bed\u3002\u56e0\u6b64\u63a8\u8350\u81f3\u5c11\u5728\u5b66\u5b8c\u8ba1\u7b97\u673a\u5bfc\u8bba\u7ea7\u522b\u7684\u8bfe\u7a0b\u4e4b\u540e\u8fdb\u884c\u5b66\u4e60\u3002 \u7ffb\u5899 \uff1a\u7531\u4e8e\u4e00\u4e9b\u4f17\u6240\u5468\u77e5\u7684\u539f\u56e0\uff0c\u8c37\u6b4c\u3001GitHub \u7b49\u7f51\u7ad9\u5728\u5927\u9646\u65e0\u6cd5\u8bbf\u95ee\u3002\u7136\u800c\u5f88\u591a\u65f6\u5019\uff0c\u8c37\u6b4c\u548c StackOverflow \u53ef\u4ee5\u89e3\u51b3\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u9047\u5230\u7684 99% \u7684\u95ee\u9898\u3002\u56e0\u6b64\uff0c\u5b66\u4f1a\u7ffb\u5899\u51e0\u4e4e\u662f\u4e00\u4e2a\u5185\u5730 CSer \u7684\u5fc5\u5907\u6280\u80fd\u3002\uff08\u8003\u8651\u5230\u6cd5\u5f8b\u95ee\u9898\uff0c\u8fd9\u4e2a\u6587\u6863\u63d0\u4f9b\u7684\u7ffb\u5899\u65b9\u5f0f\u4ec5\u5bf9\u62e5\u6709\u5317\u5927\u90ae\u7bb1\u7684\u7528\u6237\u9002\u7528\uff09\u3002 \u547d\u4ee4\u884c\uff1a\u719f\u7ec3\u4f7f\u7528\u547d\u4ee4\u884c\u662f\u4e00\u79cd\u5e38\u5e38\u88ab\u5ffd\u89c6\uff0c\u6216\u88ab\u8ba4\u4e3a\u96be\u4ee5\u638c\u63e1\u7684\u6280\u80fd\uff0c\u4f46\u5b9e\u9645\u4e0a\uff0c\u5b83\u4f1a\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u4f5c\u4e3a\u5de5\u7a0b\u5e08\u7684\u7075\u6d3b\u6027\u4ee5\u53ca\u751f\u4ea7\u529b\u3002 \u547d\u4ee4\u884c\u7684\u827a\u672f \u662f\u4e00\u4efd\u975e\u5e38\u7ecf\u5178\u7684\u6559\u7a0b\uff0c\u5b83\u6e90\u4e8e Quora \u7684\u4e00\u4e2a\u63d0\u95ee\uff0c\u4f46\u5728\u5404\u8def\u5927\u795e\u7684\u8d21\u732e\u52aa\u529b\u4e0b\u5df2\u7ecf\u6210\u4e3a\u4e86\u4e00\u4e2a GitHub \u5341\u4e07 stars \u7684\u9876\u6d41\u9879\u76ee\uff0c\u88ab\u7ffb\u8bd1\u6210\u4e86\u5341\u51e0\u79cd\u8bed\u8a00\u3002\u6559\u7a0b\u4e0d\u957f\uff0c\u975e\u5e38\u5efa\u8bae\u5927\u5bb6\u53cd\u590d\u901a\u8bfb\uff0c\u5728\u5b9e\u8df5\u4e2d\u5185\u5316\u5438\u6536\u3002\u540c\u65f6\uff0c\u638c\u63e1 Shell \u811a\u672c\u7f16\u7a0b\u4e5f\u662f\u4e00\u9879\u4e0d\u5bb9\u5ffd\u89c6\u7684\u6280\u672f\uff0c\u53ef\u4ee5\u53c2\u8003\u8fd9\u4e2a \u6559\u7a0b \u3002 IDE (Integrated Development Environment)\uff1a\u96c6\u6210\u5f00\u53d1\u73af\u5883\uff0c\u8bf4\u767d\u4e86\u5c31\u662f\u4f60\u5199\u4ee3\u7801\u7684\u5730\u65b9\u3002\u4f5c\u4e3a\u4e00\u4e2a\u7801\u519c\uff0cIDE \u7684\u91cd\u8981\u6027\u4e0d\u8a00\u800c\u55bb\uff0c\u4f46\u7531\u4e8e\u5f88\u591a IDE \u662f\u4e3a\u5927\u578b\u5de5\u7a0b\u9879\u76ee\u8bbe\u8ba1\u7684\uff0c\u4f53\u91cf\u8f83\u5927\uff0c\u529f\u80fd\u4e5f\u8fc7\u4e8e\u4e30\u5bcc\u3002\u5176\u5b9e\u5982\u4eca\u4e00\u4e9b\u8f7b\u4fbf\u7684\u6587\u672c\u7f16\u8f91\u5668\u914d\u5408\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\u57fa\u672c\u53ef\u4ee5\u6ee1\u8db3\u65e5\u5e38\u7684\u8f7b\u91cf\u7f16\u7a0b\u9700\u6c42\u3002\u4e2a\u4eba\u5e38\u7528\u7684\u7f16\u8f91\u5668\u662f VS Code \u548c Sublime\uff08\u524d\u8005\u7684\u63d2\u4ef6\u914d\u7f6e\u975e\u5e38\u7b80\u5355\uff0c\u540e\u8005\u7565\u663e\u590d\u6742\u4f46\u989c\u503c\u5f88\u9ad8\uff09\u3002\u5f53\u7136\u5bf9\u4e8e\u5927\u578b\u9879\u76ee\u6211\u8fd8\u662f\u4f1a\u91c7\u7528\u7565\u91cd\u578b\u7684 IDE\uff0c\u4f8b\u5982 Pycharm (Python)\uff0cIDEA (Java) \u7b49\u7b49\uff08\u514d\u8d23\u7533\u660e\uff1a\u6240\u6709\u7684 IDE \u90fd\u662f\u4e16\u754c\u4e0a\u6700\u597d\u7684 IDE\uff09\u3002 Vim \uff1a\u4e00\u6b3e\u547d\u4ee4\u884c\u7f16\u8f91\u5de5\u5177\u3002\u8fd9\u662f\u4e00\u4e2a\u5b66\u4e60\u66f2\u7ebf\u6709\u4e9b\u9661\u5ced\u7684\u7f16\u8f91\u5668\uff0c\u4e0d\u8fc7\u5b66\u4f1a\u5b83\u6211\u89c9\u5f97\u662f\u975e\u5e38\u6709\u5fc5\u8981\u7684\uff0c\u56e0\u4e3a\u5b83\u5c06\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u7684\u5f00\u53d1\u6548\u7387\u3002\u73b0\u5728\u7edd\u5927\u591a\u6570 IDE \u4e5f\u90fd\u652f\u6301 Vim \u63d2\u4ef6\uff0c\u8ba9\u4f60\u5728\u4eab\u53d7\u73b0\u4ee3\u5f00\u53d1\u73af\u5883\u7684\u540c\u65f6\u4fdd\u7559\u6781\u5ba2\u7684\u70ab\u9177\uff08yue\uff09\u3002 Emacs \uff1a\u4e0e Vim \u9f50\u540d\u7684\u7ecf\u5178\u7f16\u8f91\u5668\uff0c\u540c\u6837\u5177\u6709\u6781\u9ad8\u7684\u5f00\u53d1\u6548\u7387\uff0c\u540c\u65f6\u5177\u6709\u66f4\u4e3a\u5f3a\u5927\u7684\u6269\u5c55\u6027\uff0c\u5b83\u65e2\u53ef\u4ee5\u914d\u7f6e\u4e3a\u4e00\u4e2a\u8f7b\u91cf\u7f16\u8f91\u5668\uff0c\u4e5f\u53ef\u4ee5\u6269\u5c55\u6210\u4e00\u4e2a\u4e2a\u4eba\u5b9a\u5236\u7684 IDE\uff0c\u751a\u81f3\u53ef\u4ee5\u6709\u66f4\u591a\u5947\u6280\u6deb\u5de7\u3002 Git \uff1a\u4e00\u6b3e\u4ee3\u7801\u7248\u672c\u63a7\u5236\u5de5\u5177\u3002Git\u7684\u5b66\u4e60\u66f2\u7ebf\u53ef\u80fd\u66f4\u4e3a\u9661\u5ced\uff0c\u4f46\u51fa\u81ea Linux \u4e4b\u7236 Linus \u4e4b\u624b\u7684 Git \u7edd\u5bf9\u662f\u6bcf\u4e2a\u5b66 CS \u7684\u7ae5\u978b\u5fc5\u987b\u638c\u63e1\u7684\u795e\u5668\u4e4b\u4e00\u3002 GitHub \uff1a\u57fa\u4e8e Git \u7684\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u5168\u4e16\u754c\u6700\u5927\u7684\u4ee3\u7801\u5f00\u6e90\u793e\u533a\uff0c\u5927\u4f6c\u96c6\u805a\u5730\u3002 GNU Make \uff1a\u4e00\u6b3e\u5de5\u7a0b\u6784\u5efa\u5de5\u5177\u3002\u5584\u7528 GNU Make \u4f1a\u8ba9\u4f60\u517b\u6210\u4ee3\u7801\u6a21\u5757\u5316\u7684\u4e60\u60ef\uff0c\u540c\u65f6\u4e5f\u80fd\u8ba9\u4f60\u719f\u6089\u4e00\u4e9b\u5927\u578b\u5de5\u7a0b\u7684\u7f16\u8bd1\u94fe\u63a5\u6d41\u7a0b\u3002 CMake \uff1a\u4e00\u6b3e\u529f\u80fd\u6bd4 GNU Make \u66f4\u4e3a\u5f3a\u5927\u7684\u6784\u5efa\u5de5\u5177\uff0c\u5efa\u8bae\u638c\u63e1 GNU Make \u4e4b\u540e\u518d\u52a0\u4ee5\u5b66\u4e60\u3002 LaTex \uff1a \u903c\u683c\u63d0\u5347 \u8bba\u6587\u6392\u7248\u5de5\u5177\u3002 Docker \uff1a\u4e00\u6b3e\u76f8\u8f83\u4e8e\u865a\u62df\u673a\u66f4\u8f7b\u91cf\u7ea7\u7684\u8f6f\u4ef6\u6253\u5305\u4e0e\u73af\u5883\u90e8\u7f72\u5de5\u5177\u3002 \u5b9e\u7528\u5de5\u5177\u7bb1 \uff1a\u9664\u4e86\u4e0a\u9762\u63d0\u5230\u7684\u8fd9\u4e9b\u5728\u5f00\u53d1\u4e2d\u4f7f\u7528\u9891\u7387\u6781\u9ad8\u7684\u5de5\u5177\u4e4b\u5916\uff0c\u6211\u8fd8\u6536\u96c6\u4e86\u5f88\u591a\u5b9e\u7528\u6709\u8da3\u7684\u514d\u8d39\u5de5\u5177\uff0c\u4f8b\u5982\u4e00\u4e9b\u4e0b\u8f7d\u5de5\u5177\u3001\u8bbe\u8ba1\u5de5\u5177\u3001\u5b66\u4e60\u7f51\u7ad9\u7b49\u7b49\u3002 Thesis \uff1a\u6bd5\u4e1a\u8bba\u6587 Word \u5199\u4f5c\u6559\u7a0b\u3002 \u597d\u4e66\u63a8\u8350 \u79c1\u4ee5\u4e3a\u4e00\u672c\u597d\u7684\u6559\u6750\u5e94\u5f53\u662f\u4ee5\u4eba\u4e3a\u672c\u7684\uff0c\u800c\u4e0d\u662f\u70ab\u6280\u5f0f\u7684\u7406\u8bba\u5806\u780c\u3002\u544a\u8bc9\u8bfb\u8005\u201c\u662f\u4ec0\u4e48\u201d\u56fa\u7136\u91cd\u8981\uff0c\u4f46\u66f4\u597d\u7684\u5e94\u5f53\u662f\u6559\u6750\u4f5c\u8005\u5c06\u5176\u5728\u8fd9\u4e2a\u9886\u57df\u6df1\u8015\u51e0\u5341\u5e74\u7684\u7ecf\u9a8c\u878d\u6c47\u8fdb\u4e66\u4e2d\uff0c\u5411\u8bfb\u8005\u5a13\u5a13\u9053\u6765\u201c\u4e3a\u4ec0\u4e48\u201d\u4ee5\u53ca\u672a\u6765\u5e94\u8be5\u201c\u600e\u4e48\u505a\u201d\u3002 \u94fe\u63a5\u6233\u8fd9\u91cc \u73af\u5883\u914d\u7f6e \u4f60\u4ee5\u4e3a\u7684\u5f00\u53d1 \u2014\u2014 \u5728 IDE \u91cc\u75af\u72c2\u7801\u4ee3\u7801\u6570\u5c0f\u65f6\u3002 \u5b9e\u9645\u4e0a\u7684\u5f00\u53d1 \u2014\u2014 \u914d\u73af\u5883\u914d\u51e0\u5929\u8fd8\u6ca1\u5f00\u59cb\u5199\u4ee3\u7801\u3002 PC \u7aef\u73af\u5883\u914d\u7f6e \u5982\u679c\u4f60\u662f Mac \u7528\u6237\uff0c\u90a3\u4e48\u4f60\u5f88\u5e78\u8fd0\uff0c\u8fd9\u4efd \u6307\u5357 \u5c06\u4f1a\u624b\u628a\u624b\u5730\u5e26\u4f60\u642d\u5efa\u8d77\u6574\u5957\u5f00\u53d1\u73af\u5883\u3002\u5982\u679c\u4f60\u662f Windows \u7528\u6237\uff0c\u5728\u5f00\u6e90\u793e\u533a\u7684\u52aa\u529b\u4e0b\uff0c\u4f60\u540c\u6837\u53ef\u4ee5\u83b7\u5f97\u4e0e\u5176\u4ed6\u5e73\u53f0\u7c7b\u4f3c\u7684\u4f53\u9a8c\uff1a Scoop \u3002 \u53e6\u5916\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003\u4e00\u4efd\u7075\u611f\u6765\u81ea 6.NULL MIT-Missing-Semester \u7684 \u73af\u5883\u914d\u7f6e\u6307\u5357 \uff0c\u91cd\u70b9\u5728\u4e8e\u7ec8\u7aef\u7684\u7f8e\u5316\u914d\u7f6e\u3002\u6b64\u5916\u8fd8\u5305\u62ec\u5e38\u7528\u8f6f\u4ef6\u6e90\uff08\u5982 GitHub, Anaconda, PyPI \u7b49\uff09\u7684\u52a0\u901f\u4e0e\u66ff\u6362\u4ee5\u53ca\u4e00\u4e9b IDE \u7684\u914d\u7f6e\u4e0e\u6fc0\u6d3b\u6559\u7a0b\u3002 \u670d\u52a1\u5668\u7aef\u73af\u5883\u914d\u7f6e \u670d\u52a1\u5668\u7aef\u7684\u8fd0\u7ef4\u9700\u8981\u638c\u63e1 Linux\uff08\u6216\u8005\u5176\u4ed6\u7c7b Unix \u7cfb\u7edf\uff09\u7684\u57fa\u672c\u4f7f\u7528\u4ee5\u53ca\u8fdb\u7a0b\u3001\u8bbe\u5907\u3001\u7f51\u7edc\u7b49\u7cfb\u7edf\u76f8\u5173\u7684\u57fa\u672c\u6982\u5ff5\uff0c\u5c0f\u767d\u53ef\u4ee5\u53c2\u8003\u4e2d\u56fd\u79d1\u5b66\u6280\u672f\u5927\u5b66 Linux \u7528\u6237\u534f\u4f1a\u7f16\u5199\u7684 \u300aLinux 101\u300b\u5728\u7ebf\u8bb2\u4e49 \u3002\u5982\u679c\u60f3\u6df1\u5165\u5b66\u4e60\u7cfb\u7edf\u8fd0\u7ef4\u76f8\u5173\u7684\u77e5\u8bc6\uff0c\u53ef\u4ee5\u53c2\u8003 Aspects of System Administration \u8fd9\u95e8\u8bfe\u7a0b\u3002 \u53e6\u5916\uff0c\u5982\u679c\u9700\u8981\u5b66\u4e60\u67d0\u4e2a\u5177\u4f53\u7684\u6982\u5ff5\u6216\u5de5\u5177\uff0c\u63a8\u8350\u4e00\u4e2a\u975e\u5e38\u4e0d\u9519\u7684 GitHub \u9879\u76ee DevOps-Guide \uff0c\u5176\u4e2d\u6db5\u76d6\u4e86\u975e\u5e38\u591a\u7684\u8fd0\u7ef4\u65b9\u9762\u7684\u57fa\u7840\u77e5\u8bc6\u548c\u6559\u7a0b\uff0c\u4f8b\u5982 Docker, Kubernetes, Linux, CI-CD, GitHub Actions \u7b49\u7b49\u3002 \u8bfe\u7a0b\u5730\u56fe \u6b63\u5982\u8fd9\u7ae0\u5f00\u5934\u63d0\u5230\u7684\uff0c\u8fd9\u4efd\u8bfe\u7a0b\u5730\u56fe\u4ec5\u4ec5\u662f\u4e00\u4e2a \u4ec5\u4f9b\u53c2\u8003 \u7684\u8bfe\u7a0b\u89c4\u5212\uff0c\u6211\u4f5c\u4e3a\u4e00\u4e2a\u4e34\u8fd1\u6bd5\u4e1a\u7684\u672c\u79d1\u751f\u3002\u6df1\u611f\u81ea\u5df1\u6ca1\u6709\u6743\u5229\u4e5f\u6ca1\u6709\u80fd\u529b\u5411\u522b\u4eba\u5ba3\u626c\u201c\u5e94\u8be5\u600e\u4e48\u5b66\u201d\u3002\u56e0\u6b64\u5982\u679c\u4f60\u89c9\u5f97\u4ee5\u4e0b\u7684\u8bfe\u7a0b\u5206\u7c7b\u4e0e\u9009\u62e9\u6709\u4e0d\u5408\u7406\u4e4b\u5904\uff0c\u6211\u5168\u76d8\u63a5\u53d7\uff0c\u5e76\u6df1\u611f\u62b1\u6b49\u3002\u4f60\u53ef\u4ee5\u5728\u4e0b\u4e00\u8282 \u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe \u4ee5\u4e0b\u8bfe\u7a0b\u7c7b\u522b\u4e2d\u9664\u4e86\u542b\u6709 \u57fa\u7840 \u548c \u5165\u95e8 \u5b57\u773c\u7684\u4ee5\u5916\uff0c\u5e76\u65e0\u660e\u786e\u7684\u5148\u540e\u6b21\u5e8f\uff0c\u5927\u5bb6\u53ea\u8981\u6ee1\u8db3\u67d0\u4e2a\u8bfe\u7a0b\u7684\u5148\u4fee\u8981\u6c42\uff0c\u5b8c\u5168\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u8981\u548c\u559c\u597d\u9009\u62e9\u60f3\u8981\u5b66\u4e60\u7684\u8bfe\u7a0b\u3002 \u6570\u5b66\u57fa\u7840 \u5fae\u79ef\u5206\u4e0e\u7ebf\u6027\u4ee3\u6570 \u4f5c\u4e3a\u5927\u4e00\u65b0\u751f\uff0c\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u662f\u548c\u5199\u4ee3\u7801\u81f3\u5c11\u540c\u7b49\u91cd\u8981\u7684\u4e8b\u60c5\uff0c\u76f8\u4fe1\u5df2\u7ecf\u6709\u65e0\u6570\u7684\u524d\u4eba\u7ecf\u9a8c\u63d0\u5230\u8fc7\u8fd9\u4e00\u70b9\uff0c\u4f46\u6211\u8fd8\u662f\u8981\u4e0d\u538c\u5176\u70e6\u5730\u518d\u5f3a\u8c03\u4e00\u904d\uff1a\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u771f\u7684\u5f88\u91cd\u8981\uff01\u4f60\u4e5f\u8bb8\u4f1a\u5410\u69fd\u8fd9\u4e9b\u4e1c\u897f\u5c82\u4e0d\u662f\u8003\u5b8c\u5c31\u5fd8\uff0c\u90a3\u6211\u89c9\u5f97\u4f60\u662f\u5e76\u6ca1\u6709\u628a\u63e1\u4f4f\u5b83\u4eec\u672c\u8d28\uff0c\u5bf9\u5b83\u4eec\u7684\u7406\u89e3\u8fd8\u6ca1\u6709\u8fbe\u5230\u523b\u9aa8\u94ed\u5fc3\u7684\u7a0b\u5ea6\u3002\u5982\u679c\u89c9\u5f97\u8001\u5e08\u8bfe\u4e0a\u8bb2\u7684\u5185\u5bb9\u6666\u6da9\u96be\u61c2\uff0c\u4e0d\u59a8\u53c2\u8003 MIT \u7684 Calculus Course \u548c 18.06: Linear Algebra \u7684\u8bfe\u7a0b notes\uff0c\u81f3\u5c11\u4e8e\u6211\u800c\u8a00\uff0c\u5b83\u5e2e\u52a9\u6211\u6df1\u523b\u7406\u89e3\u4e86\u5fae\u79ef\u5206\u548c\u7ebf\u6027\u4ee3\u6570\u7684\u8bb8\u591a\u672c\u8d28\u3002\u987a\u9053\u518d\u5b89\u5229\u4e00\u4e2a\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \uff0c\u4ed6\u7684\u9891\u9053\u6709\u5f88\u591a\u7528\u751f\u52a8\u5f62\u8c61\u7684\u52a8\u753b\u9610\u91ca\u6570\u5b66\u672c\u8d28\u5185\u6838\u7684\u89c6\u9891\uff0c\u517c\u5177\u6df1\u5ea6\u548c\u5e7f\u5ea6\uff0c\u8d28\u91cf\u975e\u5e38\u9ad8\u3002 \u4fe1\u606f\u8bba\u5165\u95e8 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u53ca\u65e9\u4e86\u89e3\u4e00\u4e9b\u4fe1\u606f\u8bba\u7684\u57fa\u7840\u77e5\u8bc6\uff0c\u6211\u89c9\u5f97\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u4f46\u5927\u591a\u4fe1\u606f\u8bba\u8bfe\u7a0b\u90fd\u9762\u5411\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u751a\u81f3\u7814\u7a76\u751f\uff0c\u5bf9\u65b0\u624b\u6781\u4e0d\u53cb\u597d\u3002\u800c MIT \u7684 6.050J: Information theory and Entropy \u8fd9\u95e8\u8bfe\u6b63\u662f\u4e3a\u5927\u4e00\u65b0\u751f\u91cf\u8eab\u5b9a\u5236\u7684\uff0c\u51e0\u4e4e\u6ca1\u6709\u5148\u4fee\u8981\u6c42\uff0c\u6db5\u76d6\u4e86\u7f16\u7801\u3001\u538b\u7f29\u3001\u901a\u4fe1\u3001\u4fe1\u606f\u71b5\u7b49\u7b49\u5185\u5bb9\uff0c\u975e\u5e38\u6709\u8da3\u3002 \u6570\u5b66\u8fdb\u9636 \u79bb\u6563\u6570\u5b66\u4e0e\u6982\u7387\u8bba \u96c6\u5408\u8bba\u3001\u56fe\u8bba\u3001\u6982\u7387\u8bba\u7b49\u7b49\u662f\u7b97\u6cd5\u63a8\u5bfc\u4e0e\u8bc1\u660e\u7684\u91cd\u8981\u5de5\u5177\uff0c\u4e5f\u662f\u540e\u7eed\u9ad8\u9636\u6570\u5b66\u8bfe\u7a0b\u7684\u57fa\u7840\u3002\u4f46\u6211\u89c9\u5f97\u8fd9\u7c7b\u8bfe\u7a0b\u7684\u8bb2\u6388\u5f88\u5bb9\u6613\u843d\u5165\u7406\u8bba\u5316\u4e0e\u5f62\u5f0f\u5316\u7684\u7aa0\u81fc\uff0c\u8ba9\u8bfe\u5802\u6210\u4e3a\u5b9a\u7406\u7ed3\u8bba\u7684\u5806\u780c\uff0c\u800c\u65e0\u6cd5\u4f7f\u5b66\u751f\u6df1\u523b\u628a\u63e1\u7406\u8bba\u7684\u672c\u8d28\uff0c\u8fdb\u800c\u9020\u6210\u5b66\u4e86\u5c31\u80cc\uff0c\u8003\u4e86\u5c31\u5fd8\u7684\u602a\u5708\u3002\u5982\u679c\u80fd\u5728\u7406\u8bba\u6559\u5b66\u4e2d\u7a7f\u63d2\u7b97\u6cd5\u8fd0\u7528\u5b9e\u4f8b\uff0c\u5b66\u751f\u5728\u62d3\u5c55\u7b97\u6cd5\u77e5\u8bc6\u7684\u540c\u65f6\u4e5f\u80fd\u7aa5\u89c1\u7406\u8bba\u7684\u529b\u91cf\u548c\u9b45\u529b\u3002 UCB CS70 : discrete Math and probability theory \u548c UCB CS126 : Probability theory \u662f UC Berkeley \u7684\u6982\u7387\u8bba\u8bfe\u7a0b\uff0c\u524d\u8005\u8986\u76d6\u4e86\u79bb\u6563\u6570\u5b66\u548c\u6982\u7387\u8bba\u57fa\u7840\uff0c\u540e\u8005\u5219\u6d89\u53ca\u968f\u673a\u8fc7\u7a0b\u4ee5\u53ca\u6df1\u5165\u7684\u7406\u8bba\u5185\u5bb9\u3002\u4e24\u8005\u90fd\u975e\u5e38\u6ce8\u91cd\u7406\u8bba\u548c\u5b9e\u8df5\u7684\u7ed3\u5408\uff0c\u6709\u4e30\u5bcc\u7684\u7b97\u6cd5\u5b9e\u9645\u8fd0\u7528\u5b9e\u4f8b\uff0c\u540e\u8005\u8fd8\u6709\u5927\u91cf\u7684 Python \u7f16\u7a0b\u4f5c\u4e1a\u6765\u8ba9\u5b66\u751f\u8fd0\u7528\u6982\u7387\u8bba\u7684\u77e5\u8bc6\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u3002 \u6570\u503c\u5206\u6790 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u57f9\u517b\u8ba1\u7b97\u601d\u7ef4\u662f\u5f88\u91cd\u8981\u7684\uff0c\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u3001\u79bb\u6563\u5316\uff0c\u8ba1\u7b97\u673a\u7684\u6a21\u62df\u3001\u5206\u6790\uff0c\u662f\u4e00\u9879\u5f88\u91cd\u8981\u7684\u80fd\u529b\u3002\u800c\u8fd9\u4e24\u5e74\u5f00\u59cb\u98ce\u9761\u7684\uff0c\u7531 MIT \u6253\u9020\u7684 Julia \u7f16\u7a0b\u8bed\u8a00\u4ee5\u5176 C \u4e00\u6837\u7684\u901f\u5ea6\u548c Python \u4e00\u6837\u53cb\u597d\u7684\u8bed\u6cd5\u5728\u6570\u503c\u8ba1\u7b97\u9886\u57df\u6709\u4e00\u7edf\u5929\u4e0b\u4e4b\u52bf\uff0cMIT \u7684\u8bb8\u591a\u6570\u5b66\u8bfe\u7a0b\u4e5f\u5f00\u59cb\u7528 Julia \u4f5c\u4e3a\u6559\u5b66\u5de5\u5177\uff0c\u628a\u8270\u6df1\u7684\u6570\u5b66\u7406\u8bba\u7528\u76f4\u89c2\u6e05\u6670\u7684\u4ee3\u7801\u5c55\u793a\u51fa\u6765\u3002 ComputationalThinking \u662f MIT \u5f00\u8bbe\u7684\u4e00\u95e8\u8ba1\u7b97\u601d\u7ef4\u5165\u95e8\u8bfe\uff0c\u6240\u6709\u8bfe\u7a0b\u5185\u5bb9\u5168\u90e8\u5f00\u6e90\uff0c\u53ef\u4ee5\u5728\u8bfe\u7a0b\u7f51\u7ad9\u76f4\u63a5\u8bbf\u95ee\u3002\u8fd9\u95e8\u8bfe\u5229\u7528 Julia \u7f16\u7a0b\u8bed\u8a00\uff0c\u5728\u56fe\u50cf\u5904\u7406\u3001\u793e\u4f1a\u79d1\u5b66\u4e0e\u6570\u636e\u79d1\u5b66\u3001\u6c14\u5019\u5b66\u5efa\u6a21\u4e09\u4e2a topic \u4e0b\u5e26\u9886\u5b66\u751f\u7406\u89e3\u7b97\u6cd5\u3001\u6570\u5b66\u5efa\u6a21\u3001\u6570\u636e\u5206\u6790\u3001\u4ea4\u4e92\u8bbe\u8ba1\u3001\u56fe\u4f8b\u5c55\u793a\uff0c\u8ba9\u5b66\u751f\u4f53\u9a8c\u8ba1\u7b97\u4e0e\u79d1\u5b66\u7684\u7f8e\u5999\u7ed3\u5408\u3002\u5185\u5bb9\u867d\u7136\u4e0d\u96be\uff0c\u4f46\u7ed9\u6211\u6700\u6df1\u523b\u7684\u611f\u53d7\u5c31\u662f\uff0c\u79d1\u5b66\u7684\u9b45\u529b\u5e76\u4e0d\u662f\u6545\u5f04\u7384\u865a\u7684\u8270\u6df1\u7406\u8bba\uff0c\u4e0d\u662f\u8bd8\u5c48\u8071\u7259\u7684\u672f\u8bed\u884c\u8bdd\uff0c\u800c\u662f\u7528\u76f4\u89c2\u751f\u52a8\u7684\u6848\u4f8b\uff0c\u7528\u7b80\u7ec3\u6df1\u523b\u7684\u8bed\u8a00\uff0c\u8ba9\u6bcf\u4e2a\u666e\u901a\u4eba\u90fd\u80fd\u7406\u89e3\u3002 \u4e0a\u5b8c\u4e0a\u9762\u7684\u4f53\u9a8c\u8bfe\u4e4b\u540e\uff0c\u5982\u679c\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u4e0d\u59a8\u8bd5\u8bd5 MIT \u7684 18.330 : Introduction to numerical analysis \uff0c\u8fd9\u95e8\u8bfe\u7684\u7f16\u7a0b\u4f5c\u4e1a\u540c\u6837\u4f1a\u7528 Julia \u7f16\u7a0b\u8bed\u8a00\uff0c\u4e0d\u8fc7\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u90fd\u4e0a\u4e86\u4e00\u4e2a\u53f0\u9636\u3002\u5185\u5bb9\u6d89\u53ca\u4e86\u6d6e\u70b9\u7f16\u7801\u3001Root finding\u3001\u7ebf\u6027\u7cfb\u7edf\u3001\u5fae\u5206\u65b9\u7a0b\u7b49\u7b49\u65b9\u9762\uff0c\u6574\u95e8\u8bfe\u7684\u4e3b\u65e8\u5c31\u662f\u8ba9\u4f60\u5229\u7528\u79bb\u6563\u5316\u7684\u8ba1\u7b97\u673a\u8868\u793a\u53bb\u4f30\u8ba1\u548c\u903c\u8fd1\u4e00\u4e2a\u6570\u5b66\u4e0a\u8fde\u7eed\u7684\u6982\u5ff5\u3002\u8fd9\u95e8\u8bfe\u7684\u6559\u6388\u8fd8\u4e13\u95e8\u64b0\u5199\u4e86\u4e00\u672c\u914d\u5957\u7684\u5f00\u6e90\u6559\u6750 Fundamentals of Numerical Computation \uff0c\u91cc\u9762\u9644\u6709\u4e30\u5bcc\u7684 Julia \u4ee3\u7801\u5b9e\u4f8b\u548c\u4e25\u8c28\u7684\u516c\u5f0f\u63a8\u5bfc\u3002 \u5982\u679c\u4f60\u8fd8\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u8fd8\u6709 MIT \u7684\u6570\u503c\u5206\u6790\u7814\u7a76\u751f\u8bfe\u7a0b 18.335: Introduction to numerical method \u4f9b\u4f60\u53c2\u8003\u3002 \u5fae\u5206\u65b9\u7a0b \u5982\u679c\u4e16\u95f4\u4e07\u7269\u7684\u8fd0\u52a8\u53d1\u5c55\u90fd\u80fd\u7528\u65b9\u7a0b\u6765\u523b\u753b\u548c\u63cf\u8ff0\uff0c\u8fd9\u662f\u4e00\u4ef6\u591a\u4e48\u9177\u7684\u4e8b\u60c5\u5440\uff01\u867d\u7136\u51e0\u4e4e\u4efb\u4f55\u4e00\u6240\u5b66\u6821\u7684 CS \u57f9\u517b\u65b9\u6848\u4e2d\u90fd\u6ca1\u6709\u5fae\u5206\u65b9\u7a0b\u76f8\u5173\u7684\u5fc5\u4fee\u8bfe\u7a0b\uff0c\u4f46\u6211\u8fd8\u662f\u89c9\u5f97\u638c\u63e1\u5b83\u4f1a\u8d4b\u4e88\u4f60\u4e00\u4e2a\u65b0\u7684\u89c6\u89d2\u6765\u5ba1\u89c6\u8fd9\u4e2a\u4e16\u754c\u3002 \u7531\u4e8e\u5fae\u5206\u65b9\u7a0b\u4e2d\u5f80\u5f80\u4f1a\u7528\u5230\u5f88\u591a\u590d\u53d8\u51fd\u6570\u7684\u77e5\u8bc6\uff0c\u6240\u4ee5\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003 MIT18.04: Complex variables functions \u7684\u8bfe\u7a0b notes \u6765\u8865\u9f50\u5148\u4fee\u77e5\u8bc6\u3002 MIT18.03: differential equations \u4e3b\u8981\u8986\u76d6\u4e86\u5e38\u5fae\u5206\u65b9\u7a0b\u7684\u6c42\u89e3\uff0c\u5728\u6b64\u57fa\u7840\u4e4b\u4e0a MIT18.152: Partial differential equations \u5219\u4f1a\u6df1\u5165\u504f\u5fae\u5206\u65b9\u7a0b\u7684\u5efa\u6a21\u4e0e\u6c42\u89e3\u3002\u638c\u63e1\u4e86\u5fae\u5206\u65b9\u7a0b\u8fd9\u4e00\u6709\u529b\u5de5\u5177\uff0c\u76f8\u4fe1\u5bf9\u4e8e\u4f60\u7684\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u80fd\u529b\u4ee5\u53ca\u4ece\u4f17\u591a\u566a\u58f0\u53d8\u91cf\u4e2d\u628a\u63e1\u672c\u8d28\u7684\u76f4\u89c9\u90fd\u4f1a\u6709\u5f88\u5927\u5e2e\u52a9\u3002 \u6570\u5b66\u9ad8\u9636 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u6211\u7ecf\u5e38\u542c\u5230\u6570\u5b66\u65e0\u7528\u8bba\u7684\u8bba\u65ad\uff0c\u5bf9\u6b64\u6211\u4e0d\u6562\u82df\u540c\u4f46\u4e5f\u65e0\u6743\u53cd\u5bf9\uff0c\u4f46\u82e5\u51e1\u4e8b\u90fd\u786c\u8981\u4e89\u51fa\u4e2a\u6709\u7528\u548c\u65e0\u7528\u7684\u533a\u522b\u6765\uff0c\u5012\u4e5f\u7740\u5b9e\u65e0\u8da3\uff0c\u56e0\u6b64\u4e0b\u9762\u8fd9\u4e9b\u9762\u5411\u9ad8\u5e74\u7ea7\u751a\u81f3\u7814\u7a76\u751f\u7684\u6570\u5b66\u8bfe\u7a0b\uff0c\u5927\u5bb6\u6309\u5174\u8da3\u81ea\u53d6\u6240\u9700\u3002 \u51f8\u4f18\u5316 Standford EE364A: Convex Optimization \u4fe1\u606f\u8bba MIT6.441: Information Theory \u5e94\u7528\u7edf\u8ba1\u5b66 MIT18.650: Statistics for Applications \u521d\u7b49\u6570\u8bba MIT18.781: Theory of Numbers \u5bc6\u7801\u5b66 Standford CS255: Cryptography \u7f16\u7a0b\u5165\u95e8 Languages are tools, you choose the right tool to do the right thing. Since there's no universally perfect tool, there's no universally perfect language. Shell MIT-Missing-Semester Python CS50P: CS50's Introduction to Programming with Python Harvard CS50: This is CS50x UCB CS61A: Structure and Interpretation of Computer Programs C++ Stanford CS106B/X: Programming Abstractions Stanford CS106L: Standard C++ Programming Rust Stanford CS110L: Safety in Systems Programming OCaml Cornell CS3110 textbook: Functional Programming in OCaml \u7535\u5b50\u57fa\u7840 \u7535\u8def\u57fa\u7840 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u4e86\u89e3\u4e00\u4e9b\u57fa\u7840\u7684\u7535\u8def\u77e5\u8bc6\uff0c\u611f\u53d7\u4ece\u4f20\u611f\u5668\u6536\u96c6\u6570\u636e\u5230\u6570\u636e\u5206\u6790\u518d\u5230\u7b97\u6cd5\u9884\u6d4b\u6574\u6761\u6d41\u6c34\u7ebf\uff0c\u5bf9\u4e8e\u540e\u7eed\u77e5\u8bc6\u7684\u5b66\u4e60\u4ee5\u53ca\u8ba1\u7b97\u601d\u7ef4\u7684\u57f9\u517b\u8fd8\u662f\u5f88\u6709\u5e2e\u52a9\u7684\u3002 EE16A&B: Designing Information Devices and Systems I&II \u662f\u4f2f\u514b\u5229 EE \u5b66\u751f\u7684\u5927\u4e00\u5165\u95e8\u8bfe\uff0c\u5176\u4e2d EE16A \u6ce8\u91cd\u901a\u8fc7\u7535\u8def\u4ece\u5b9e\u9645\u73af\u5883\u4e2d\u6536\u96c6\u548c\u5206\u6790\u6570\u636e\uff0c\u800c EE16B \u5219\u4fa7\u91cd\u4ece\u8fd9\u4e9b\u6536\u96c6\u5230\u7684\u6570\u636e\u8fdb\u884c\u5206\u6790\u5e76\u505a\u51fa\u9884\u6d4b\u884c\u4e3a\u3002 \u4fe1\u53f7\u4e0e\u7cfb\u7edf \u4fe1\u53f7\u4e0e\u7cfb\u7edf\u662f\u4e00\u95e8\u6211\u89c9\u5f97\u975e\u5e38\u503c\u5f97\u4e00\u4e0a\u7684\u8bfe\uff0c\u6700\u521d\u5b66\u5b83\u53ea\u662f\u4e3a\u4e86\u6ee1\u8db3\u6211\u5bf9\u5085\u91cc\u53f6\u53d8\u6362\u7684\u597d\u5947\uff0c\u4f46\u5b66\u5b8c\u4e4b\u540e\u6211\u624d\u4e0d\u7981\u611f\u53f9\uff0c\u5085\u7acb\u53f6\u53d8\u6362\u7ed9\u6211\u63d0\u4f9b\u4e86\u4e00\u4e2a\u5168\u65b0\u7684\u89c6\u89d2\u53bb\u770b\u5f85\u8fd9\u4e2a\u4e16\u754c\uff0c\u5c31\u5982\u540c\u5fae\u5206\u65b9\u7a0b\u4e00\u6837\uff0c\u8ba9\u4f60\u6c89\u6d78\u5728\u7528\u6570\u5b66\u53bb\u7cbe\u786e\u63cf\u7ed8\u548c\u523b\u753b\u8fd9\u4e2a\u4e16\u754c\u7684\u4f18\u96c5\u4e0e\u795e\u5947\u4e4b\u4e2d\u3002 MIT 6.003: signal and systems \u63d0\u4f9b\u4e86\u5168\u90e8\u7684\u8bfe\u7a0b\u5f55\u5f71\u3001\u4e66\u9762\u4f5c\u4e1a\u4ee5\u53ca\u7b54\u6848\u3002\u4e5f\u53ef\u4ee5\u53bb\u770b\u8fd9\u95e8\u8bfe\u7684 \u8fdc\u53e4\u7248\u672c \u800c UCB EE120: Signal and Systems \u5173\u4e8e\u5085\u7acb\u53f6\u53d8\u6362\u7684 notes \u5199\u5f97\u975e\u5e38\u597d\uff0c\u5e76\u4e14\u63d0\u4f9b\u4e866 \u4e2a\u975e\u5e38\u6709\u8da3\u7684 Python \u7f16\u7a0b\u4f5c\u4e1a\uff0c\u8ba9\u4f60\u5b9e\u8df5\u4e2d\u8fd0\u7528\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u7684\u7406\u8bba\u4e0e\u7b97\u6cd5\u3002 \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 \u7b97\u6cd5\u662f\u8ba1\u7b97\u673a\u79d1\u5b66\u7684\u6838\u5fc3\uff0c\u4e5f\u662f\u51e0\u4e4e\u4e00\u5207\u4e13\u4e1a\u8bfe\u7a0b\u7684\u57fa\u7840\u3002\u5982\u4f55\u5c06\u5b9e\u9645\u95ee\u9898\u901a\u8fc7\u6570\u5b66\u62bd\u8c61\u8f6c\u5316\u4e3a\u7b97\u6cd5\u95ee\u9898\uff0c\u5e76\u9009\u7528\u5408\u9002\u7684\u6570\u636e\u7ed3\u6784\u5728\u65f6\u95f4\u548c\u5185\u5b58\u5927\u5c0f\u7684\u9650\u5236\u4e0b\u5c06\u5176\u89e3\u51b3\u662f\u7b97\u6cd5\u8bfe\u7684\u6c38\u6052\u4e3b\u9898\u3002\u5982\u679c\u4f60\u53d7\u591f\u4e86\u8001\u5e08\u7684\u7167\u672c\u5ba3\u79d1\uff0c\u90a3\u4e48\u6211\u5f3a\u70c8\u63a8\u8350\u4f2f\u514b\u5229\u7684 UCB CS61B: Data Structures and Algorithms \u548c\u666e\u6797\u65af\u987f\u7684 Coursera: Algorithms I & II \uff0c\u8fd9\u4e24\u95e8\u8bfe\u7684\u90fd\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\u5e76\u4e14\u4f1a\u6709\u4e30\u5bcc\u4e14\u6709\u8da3\u7684\u7f16\u7a0b\u5b9e\u9a8c\u5c06\u7406\u8bba\u4e0e\u77e5\u8bc6\u7ed3\u5408\u8d77\u6765\u3002 \u4ee5\u4e0a\u4e24\u95e8\u8bfe\u7a0b\u90fd\u662f\u57fa\u4e8e Java \u8bed\u8a00\uff0c\u5982\u679c\u4f60\u60f3\u5b66\u4e60 C/C++ \u63cf\u8ff0\u7684\u7248\u672c\uff0c\u53ef\u4ee5\u53c2\u8003\u65af\u5766\u798f\u7684\u6570\u636e\u7ed3\u6784\u4e0e\u57fa\u7840\u7b97\u6cd5\u8bfe\u7a0b Stanford CS106B/X: Programming Abstractions \u3002\u504f\u597d Python \u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60 MIT \u7684\u7b97\u6cd5\u5165\u95e8\u8bfe MIT 6.006: Introduction to Algorithms \u5bf9\u4e00\u4e9b\u66f4\u9ad8\u7ea7\u7684\u7b97\u6cd5\u4ee5\u53ca NP \u95ee\u9898\u611f\u5174\u8da3\u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60\u4f2f\u514b\u5229\u7684\u7b97\u6cd5\u8bbe\u8ba1\u4e0e\u5206\u6790\u8bfe\u7a0b UCB CS170: Efficient Algorithms and Intractable Problems \u6216\u8005 MIT \u7684\u9ad8\u9636\u7b97\u6cd5 MIT 6.046: Design and Analysis of Algorithms \u3002 \u8f6f\u4ef6\u5de5\u7a0b \u5165\u95e8\u8bfe \u4e00\u4efd\u201c\u80fd\u8dd1\u201d\u7684\u4ee3\u7801\uff0c\u548c\u4e00\u4efd\u9ad8\u8d28\u91cf\u7684\u5de5\u4e1a\u7ea7\u4ee3\u7801\u662f\u6709\u672c\u8d28\u533a\u522b\u7684\u3002\u56e0\u6b64\u6211\u975e\u5e38\u63a8\u8350\u4f4e\u5e74\u7ea7\u7684\u540c\u5b66\u5b66\u4e60\u4e00\u4e0b MIT 6.031: Software Construction \u8fd9\u95e8\u8bfe\uff0c\u5b83\u4f1a\u4ee5 Java \u8bed\u8a00\u4e3a\u57fa\u7840\uff0c\u4ee5\u4e30\u5bcc\u7ec6\u81f4\u7684\u9605\u8bfb\u6750\u6599\u548c\u7cbe\u5fc3\u8bbe\u8ba1\u7684\u7f16\u7a0b\u7ec3\u4e60\u4f20\u6388\u5982\u4f55\u7f16\u5199 \u4e0d\u6613\u51fa bug\u3001\u7b80\u660e\u6613\u61c2\u3001\u6613\u4e8e\u7ef4\u62a4\u4fee\u6539 \u7684\u9ad8\u8d28\u91cf\u4ee3\u7801\u3002\u5927\u5230\u5b8f\u89c2\u6570\u636e\u7ed3\u6784\u8bbe\u8ba1\uff0c\u5c0f\u5230\u5982\u4f55\u5199\u6ce8\u91ca\uff0c\u9075\u5faa\u8fd9\u4e9b\u524d\u4eba\u603b\u7ed3\u7684\u7ec6\u8282\u548c\u7ecf\u9a8c\uff0c\u5bf9\u4e8e\u4f60\u6b64\u540e\u7684\u7f16\u7a0b\u751f\u6daf\u5927\u6709\u88e8\u76ca\u3002 \u4e13\u4e1a\u8bfe \u5f53\u7136\uff0c\u5982\u679c\u4f60\u60f3\u7cfb\u7edf\u6027\u5730\u4e0a\u4e00\u95e8\u8f6f\u4ef6\u5de5\u7a0b\u7684\u8bfe\u7a0b\uff0c\u90a3\u6211\u63a8\u8350\u7684\u662f\u4f2f\u514b\u5229\u7684 UCB CS169: software engineering \u3002\u4f46\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u548c\u5927\u591a\u5b66\u6821\uff08\u5305\u62ec\u8d35\u6821\uff09\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u7a0b\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4e0d\u4f1a\u6d89\u53ca\u4f20\u7edf\u7684 design and document \u6a21\u5f0f\uff0c\u5373\u5f3a\u8c03\u5404\u79cd\u7c7b\u56fe\u3001\u6d41\u7a0b\u56fe\u53ca\u6587\u6863\u8bbe\u8ba1\uff0c\u800c\u662f\u91c7\u7528\u8fd1\u4e9b\u5e74\u6d41\u884c\u8d77\u6765\u7684\u5c0f\u56e2\u961f\u5feb\u901f\u8fed\u4ee3 Agile Develepment \u5f00\u53d1\u6a21\u5f0f\u4ee5\u53ca\u5229\u7528\u4e91\u5e73\u53f0\u7684 Software as a service \u670d\u52a1\u6a21\u5f0f\u3002 \u4f53\u7cfb\u7ed3\u6784 \u5165\u95e8\u8bfe \u4ece\u5c0f\u6211\u5c31\u4e00\u76f4\u542c\u8bf4\uff0c\u8ba1\u7b97\u673a\u7684\u4e16\u754c\u662f\u7531 01 \u6784\u6210\u7684\uff0c\u6211\u4e0d\u7406\u89e3\u4f46\u5927\u53d7\u9707\u64bc\u3002\u5982\u679c\u4f60\u7684\u5185\u5fc3\u4e5f\u6000\u6709\u8fd9\u4efd\u597d\u5947\uff0c\u4e0d\u59a8\u82b1\u4e00\u5230\u4e24\u4e2a\u6708\u7684\u65f6\u95f4\u5b66\u4e60 Coursera: Nand2Tetris \u8fd9\u95e8\u65e0\u95e8\u69db\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002\u8fd9\u95e8\u9ebb\u96c0\u867d\u5c0f\u4e94\u810f\u4ff1\u5168\u7684\u8bfe\u7a0b\u4f1a\u4ece 01 \u5f00\u59cb\u8ba9\u4f60\u4eb2\u624b\u9020\u51fa\u4e00\u53f0\u8ba1\u7b97\u673a\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c\u4fc4\u7f57\u65af\u65b9\u5757\u5c0f\u6e38\u620f\u3002\u4e00\u95e8\u8bfe\u91cc\u6db5\u76d6\u4e86\u7f16\u8bd1\u3001\u865a\u62df\u673a\u3001\u6c47\u7f16\u3001\u4f53\u7cfb\u7ed3\u6784\u3001\u6570\u5b57\u7535\u8def\u3001\u903b\u8f91\u95e8\u7b49\u7b49\u4ece\u4e0a\u81f3\u4e0b\u3001\u4ece\u8f6f\u81f3\u786c\u7684\u5404\u7c7b\u77e5\u8bc6\uff0c\u975e\u5e38\u5168\u9762\u3002\u96be\u5ea6\u4e0a\u4e5f\u662f\u901a\u8fc7\u7cbe\u5fc3\u7684\u8bbe\u8ba1\uff0c\u7565\u53bb\u4e86\u4f17\u591a\u73b0\u4ee3\u8ba1\u7b97\u673a\u590d\u6742\u7684\u7ec6\u8282\uff0c\u63d0\u53d6\u51fa\u4e86\u6700\u6838\u5fc3\u672c\u8d28\u7684\u4e1c\u897f\uff0c\u529b\u56fe\u8ba9\u6bcf\u4e2a\u4eba\u90fd\u80fd\u7406\u89e3\u3002\u5728\u4f4e\u5e74\u7ea7\uff0c\u5982\u679c\u5c31\u80fd\u4ece\u5b8f\u89c2\u4e0a\u5efa\u7acb\u5bf9\u6574\u4e2a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7684\u9e1f\u77b0\u56fe\uff0c\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002 \u4e13\u4e1a\u8bfe \u5f53\u7136\uff0c\u5982\u679c\u60f3\u6df1\u5165\u73b0\u4ee3\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u7684\u590d\u6742\u7ec6\u8282\uff0c\u8fd8\u5f97\u4e0a\u4e00\u95e8\u5927\u5b66\u672c\u79d1\u96be\u5ea6\u7684\u8bfe\u7a0b UCB CS61C: Great Ideas in Computer Architecture \u3002UC Berkeley \u4f5c\u4e3a RISC-V \u67b6\u6784\u7684\u53d1\u6e90\u5730\uff0c\u5728\u4f53\u7cfb\u7ed3\u6784\u9886\u57df\u7b97\u5f97\u4e0a\u9996\u5c48\u4e00\u6307\u3002\u5176\u8bfe\u7a0b\u975e\u5e38\u6ce8\u91cd\u5b9e\u8df5\uff0c\u4f60\u4f1a\u5728 Project \u4e2d\u624b\u5199\u6c47\u7f16\u6784\u9020\u795e\u7ecf\u7f51\u7edc\uff0c\u4ece\u96f6\u5f00\u59cb\u642d\u5efa\u4e00\u4e2a CPU\uff0c\u8fd9\u4e9b\u5b9e\u8df5\u90fd\u4f1a\u8ba9\u4f60\u5bf9\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u6709\u66f4\u4e3a\u6df1\u5165\u7684\u7406\u89e3\uff0c\u800c\u4e0d\u662f\u4ec5\u505c\u7559\u4e8e\u201c\u53d6\u6307\u8bd1\u7801\u6267\u884c\u8bbf\u5b58\u5199\u56de\u201d\u7684\u5355\u8c03\u80cc\u8bf5\u91cc\u3002 \u7cfb\u7edf\u5165\u95e8 \u8ba1\u7b97\u673a\u7cfb\u7edf\u662f\u4e00\u4e2a\u5e9e\u6742\u800c\u6df1\u523b\u7684\u4e3b\u9898\uff0c\u5728\u6df1\u5165\u5b66\u4e60\u67d0\u4e2a\u7ec6\u5206\u9886\u57df\u4e4b\u524d\uff0c\u5bf9\u5404\u4e2a\u9886\u57df\u6709\u4e00\u4e2a\u5b8f\u89c2\u6982\u5ff5\u6027\u7684\u7406\u89e3\uff0c\u5bf9\u4e00\u4e9b\u901a\u7528\u6027\u7684\u8bbe\u8ba1\u539f\u5219\u6709\u6240\u77e5\u6653\uff0c\u4f1a\u8ba9\u4f60\u5728\u4e4b\u540e\u7684\u6df1\u5165\u5b66\u4e60\u4e2d\u4e0d\u65ad\u5f3a\u5316\u4e00\u4e9b\u6700\u4e3a\u6838\u5fc3\u4e43\u81f3\u54f2\u5b66\u7684\u6982\u5ff5\uff0c\u800c\u4e0d\u4f1a\u684e\u688f\u4e8e\u590d\u6742\u7684\u5185\u90e8\u7ec6\u8282\u548c\u5404\u79cd trick\u3002\u56e0\u4e3a\u5728\u6211\u770b\u6765\uff0c\u5b66\u4e60\u7cfb\u7edf\u6700\u5173\u952e\u7684\u8fd8\u662f\u60f3\u8ba9\u4f60\u9886\u609f\u5230\u8fd9\u4e9b\u6700\u6838\u5fc3\u7684\u4e1c\u897f\uff0c\u4ece\u800c\u80fd\u591f\u8bbe\u8ba1\u548c\u5b9e\u73b0\u51fa\u5c5e\u4e8e\u81ea\u5df1\u7684\u7cfb\u7edf\u3002 MIT6.033: System Engineering \u662f MIT \u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u4e3b\u9898\u6d89\u53ca\u4e86\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f51\u7edc\u3001\u5206\u5e03\u5f0f\u548c\u7cfb\u7edf\u5b89\u5168\uff0c\u9664\u4e86\u77e5\u8bc6\u70b9\u7684\u4f20\u6388\u5916\uff0c\u8fd9\u95e8\u8bfe\u8fd8\u4f1a\u8bb2\u6388\u4e00\u4e9b\u5199\u4f5c\u548c\u8868\u8fbe\u4e0a\u7684\u6280\u5de7\uff0c\u8ba9\u4f60\u5b66\u4f1a\u5982\u4f55\u8bbe\u8ba1\u5e76\u5411\u522b\u4eba\u4ecb\u7ecd\u548c\u5206\u6790\u81ea\u5df1\u7684\u7cfb\u7edf\u3002\u8fd9\u672c\u4e66\u914d\u5957\u7684\u6559\u6750 Principles of Computer System Design: An Introduction \u4e5f\u5199\u5f97\u975e\u5e38\u597d\uff0c\u63a8\u8350\u5927\u5bb6\u9605\u8bfb\u3002 CMU 15-213: Introduction to Computer System \u662f CMU \u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u5185\u5bb9\u8986\u76d6\u4e86\u4f53\u7cfb\u7ed3\u6784\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u94fe\u63a5\u3001\u5e76\u884c\u3001\u7f51\u7edc\u7b49\u7b49\uff0c\u517c\u5177\u5e7f\u5ea6\u548c\u6df1\u5ea6\uff0c\u914d\u5957\u7684\u6559\u6750 Computer Systems: A Programmer's Perspective \u4e5f\u662f\u8d28\u91cf\u6781\u9ad8\uff0c\u5f3a\u70c8\u5efa\u8bae\u9605\u8bfb\u3002 \u64cd\u4f5c\u7cfb\u7edf \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u5185\u6838\u66f4\u80fd\u52a0\u6df1\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u7684\u7406\u89e3\u4e86\u3002 \u64cd\u4f5c\u7cfb\u7edf\u4f5c\u4e3a\u5404\u7c7b\u7eb7\u7e41\u590d\u6742\u7684\u5e95\u5c42\u786c\u4ef6\u865a\u62df\u5316\u51fa\u4e00\u5957\u89c4\u8303\u4f18\u96c5\u7684\u62bd\u8c61\uff0c\u7ed9\u6240\u6709\u5e94\u7528\u8f6f\u4ef6\u63d0\u4f9b\u4e30\u5bcc\u7684\u529f\u80fd\u652f\u6301\u3002\u4e86\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u8bbe\u8ba1\u539f\u5219\u548c\u5185\u90e8\u539f\u7406\u5bf9\u4e8e\u4e00\u4e2a\u4e0d\u6ee1\u8db3\u4e8e\u5f53\u8c03\u5305\u4fa0\u7684\u7a0b\u5e8f\u5458\u6765\u8bf4\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u51fa\u4e8e\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u7684\u70ed\u7231\uff0c\u6211\u4e0a\u8fc7\u56fd\u5185\u5916\u5f88\u591a\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\uff0c\u5b83\u4eec\u5404\u6709\u4fa7\u91cd\u548c\u4f18\u52a3\uff0c\u5927\u5bb6\u53ef\u4ee5\u6839\u636e\u5174\u8da3\u5404\u53d6\u6240\u9700\u3002 MIT 6.S081: Operating System Engineering \uff0cMIT \u8457\u540d PDOS \u5b9e\u9a8c\u5ba4\u51fa\u54c1\uff0c11 \u4e2a Project \u8ba9\u4f60\u5728\u4e00\u4e2a\u5b9e\u73b0\u975e\u5e38\u4f18\u96c5\u7684\u7c7bUnix\u64cd\u4f5c\u7cfb\u7edfxv6\u4e0a\u589e\u52a0\u5404\u7c7b\u529f\u80fd\u6a21\u5757\u3002\u8fd9\u95e8\u8bfe\u4e5f\u8ba9\u6211\u6df1\u523b\u8ba4\u8bc6\u5230\uff0c\u505a\u7cfb\u7edf\u4e0d\u662f\u9760 PPT \u5ff5\u51fa\u6765\u7684\uff0c\u662f\u5f97\u51e0\u4e07\u884c\u4ee3\u7801\u4e00\u70b9\u70b9\u7d2f\u8d77\u6765\u7684\u3002 UCB CS162: Operating System \uff0c\u4f2f\u514b\u5229\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\uff0c\u91c7\u7528\u548c Stanford \u540c\u6837\u7684 Project \u2014\u2014 \u4e00\u4e2a\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf Pintos\u3002\u6211\u4f5c\u4e3a\u5317\u4eac\u5927\u5b662022\u5e74\u548c2023\u5e74\u6625\u5b63\u5b66\u671f\u64cd\u4f5c\u7cfb\u7edf\u5b9e\u9a8c\u73ed\u7684\u52a9\u6559\uff0c\u5f15\u5165\u5e76\u6539\u5584\u4e86\u8fd9\u4e2a Project\uff0c\u8bfe\u7a0b\u8d44\u6e90\u4e5f\u4f1a\u5168\u90e8\u5f00\u6e90\uff0c\u5177\u4f53\u53c2\u89c1 \u8bfe\u7a0b\u7f51\u7ad9 \u3002 NJU: Operating System Design and Implementation \uff0c\u5357\u4eac\u5927\u5b66\u7684\u848b\u708e\u5ca9\u8001\u5e08\u5f00\u8bbe\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u848b\u8001\u5e08\u4ee5\u5176\u72ec\u5230\u7684\u7cfb\u7edf\u89c6\u89d2\u7ed3\u5408\u4e30\u5bcc\u7684\u4ee3\u7801\u793a\u4f8b\u5c06\u4f17\u591a\u64cd\u4f5c\u7cfb\u7edf\u7684\u6982\u5ff5\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\uff0c\u6b64\u5916\u8fd9\u95e8\u8bfe\u7684\u5168\u90e8\u8bfe\u7a0b\u5185\u5bb9\u90fd\u662f\u4e2d\u6587\u7684\uff0c\u975e\u5e38\u65b9\u4fbf\u5927\u5bb6\u5b66\u4e60\u3002 HIT OS: Operating System \uff0c\u54c8\u5c14\u6ee8\u5de5\u4e1a\u5927\u5b66\u7684\u674e\u6cbb\u519b\u8001\u5e08\u5f00\u8bbe\u7684\u4e2d\u6587\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u674e\u8001\u5e08\u7684\u8bfe\u7a0b\u57fa\u4e8e Linux 0.11 \u6e90\u7801\uff0c\u5341\u5206\u6ce8\u91cd\u4ee3\u7801\u5b9e\u8df5\uff0c\u5e76\u7ad9\u5728\u5b66\u751f\u89c6\u89d2\u5c06\u64cd\u4f5c\u7cfb\u7edf\u7684\u6765\u9f99\u53bb\u8109\u5a13\u5a13\u9053\u6765\u3002 \u5e76\u884c\u4e0e\u5206\u5e03\u5f0f\u7cfb\u7edf \u60f3\u5fc5\u8fd9\u4e24\u5e74\u5404\u7c7b CS \u8bb2\u5ea7\u91cc\u6700\u5e38\u542c\u5230\u7684\u8bdd\u5c31\u662f\u201c\u6469\u5c14\u5b9a\u5f8b\u6b63\u5728\u8d70\u5411\u7ec8\u7ed3\u201d\uff0c\u6b64\u8bdd\u4e0d\u5047\uff0c\u5f53\u5355\u6838\u80fd\u529b\u8fbe\u5230\u4e0a\u9650\u65f6\uff0c\u591a\u6838\u4e43\u81f3\u4f17\u6838\u67b6\u6784\u5982\u65e5\u4e2d\u5929\u3002\u786c\u4ef6\u7684\u53d8\u5316\u5e26\u6765\u7684\u662f\u4e0a\u5c42\u7f16\u7a0b\u903b\u8f91\u7684\u9002\u5e94\u4e0e\u6539\u53d8\uff0c\u8981\u60f3\u5145\u5206\u5229\u7528\u786c\u4ef6\u6027\u80fd\uff0c\u7f16\u5199\u5e76\u884c\u7a0b\u5e8f\u51e0\u4e4e\u6210\u4e86\u7a0b\u5e8f\u5458\u7684\u5fc5\u5907\u6280\u80fd\u3002\u4e0e\u6b64\u540c\u65f6\uff0c\u6df1\u5ea6\u5b66\u4e60\u7684\u5174\u8d77\u5bf9\u8ba1\u7b97\u673a\u7b97\u529b\u4e0e\u5b58\u50a8\u7684\u8981\u6c42\u90fd\u8fbe\u5230\u4e86\u524d\u6240\u672a\u6709\u7684\u9ad8\u5ea6\uff0c\u5927\u89c4\u6a21\u96c6\u7fa4\u7684\u90e8\u7f72\u548c\u4f18\u5316\u4e5f\u6210\u4e3a\u70ed\u95e8\u6280\u672f\u8bdd\u9898\u3002 \u5e76\u884c\u8ba1\u7b97 CMU 15-418/Stanford CS149: Parallel Computing \u5206\u5e03\u5f0f\u7cfb\u7edf MIT 6.824: Distributed System \u7cfb\u7edf\u5b89\u5168 \u4e0d\u77e5\u9053\u4f60\u5f53\u5e74\u9009\u62e9\u8ba1\u7b97\u673a\u662f\u4e0d\u662f\u56e0\u4e3a\u6000\u7740\u4e00\u4e2a\u4e2d\u4e8c\u7684\u9ed1\u5ba2\u68a6\u60f3\uff0c\u4f46\u73b0\u5b9e\u5374\u662f\u6210\u4e3a\u9ed1\u5ba2\u9053\u963b\u4e14\u957f\u3002 \u7406\u8bba\u8bfe\u7a0b UCB CS161: Computer Security \u662f\u4f2f\u514b\u5229\u7684\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u4f1a\u6db5\u76d6\u6808\u653b\u51fb\u3001\u5bc6\u7801\u5b66\u3001\u7f51\u7ad9\u5b89\u5168\u3001\u7f51\u7edc\u5b89\u5168\u7b49\u7b49\u5185\u5bb9\u3002 ASU CSE365: Introduction to Cybersecurity \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66\u7684 Web \u5b89\u5168\u8bfe\u7a0b\uff0c\u4e3b\u8981\u6d89\u53ca\u6ce8\u5165\u3001\u6c47\u7f16\u4e0e\u5bc6\u7801\u5b66\u7684\u5185\u5bb9\u3002 ASU CSE466: Computer Systems Security \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66\u7684\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u6d89\u53ca\u5185\u5bb9\u5168\u9762\u3002\u95e8\u69db\u8f83\u9ad8\uff0c\u9700\u8981\u5bf9 Linux, C \u4e0e Python \u5145\u5206\u719f\u6089\u3002 \u5b9e\u8df5\u8bfe\u7a0b \u638c\u63e1\u8fd9\u4e9b\u7406\u8bba\u77e5\u8bc6\u4e4b\u540e\uff0c\u8fd8\u9700\u8981\u5728\u5b9e\u8df5\u4e2d\u57f9\u517b\u548c\u953b\u70bc\u8fd9\u4e9b\u201c\u9ed1\u5ba2\u7d20\u517b\u201d\u3002 CTF \u593a\u65d7\u8d5b \u662f\u4e00\u9879\u6bd4\u8f83\u70ed\u95e8\u7684\u7cfb\u7edf\u5b89\u5168\u6bd4\u8d5b\uff0c\u8d5b\u9898\u4e2d\u4f1a\u878d\u4f1a\u8d2f\u901a\u5730\u8003\u5bdf\u4f60\u5bf9\u8ba1\u7b97\u673a\u5404\u4e2a\u9886\u57df\u77e5\u8bc6\u7684\u7406\u89e3\u548c\u8fd0\u7528\u3002\u5317\u5927\u4eca\u5e74\u4e5f\u6210\u529f\u4e3e\u529e\u4e86 \u7b2c 0 \u5c4a\u548c\u7b2c 1 \u5c4a \uff0c\u9f13\u52b1\u5927\u5bb6\u540e\u671f\u8e0a\u8dc3\u53c2\u4e0e\uff0c\u5728\u5b9e\u8df5\u4e2d\u63d0\u9ad8\u81ea\u5df1\u3002\u4e0b\u9762\u5217\u4e3e\u4e00\u4e9b\u6211\u5e73\u65f6\u5b66\u4e60\uff08\u6478\u9c7c\uff09\u7528\u5230\u7684\u8d44\u6e90\uff1a CTF-wiki CTF-101 Hacker-101 \u8ba1\u7b97\u673a\u7f51\u7edc \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a TCP/IP \u534f\u8bae\u6808\u66f4\u80fd\u52a0\u6df1\u5bf9\u8ba1\u7b97\u673a\u7f51\u7edc\u7684\u7406\u89e3\u4e86\u3002 \u5927\u540d\u9f0e\u9f0e\u7684 Stanford CS144: Computer Network \uff0c8 \u4e2a Project \u5e26\u4f60\u5b9e\u73b0\u6574\u4e2a TCP/IP \u534f\u8bae\u6808\u3002 \u5982\u679c\u4f60\u53ea\u662f\u60f3\u5728\u7406\u8bba\u4e0a\u5bf9\u8ba1\u7b97\u673a\u7f51\u7edc\u6709\u6240\u4e86\u89e3\uff0c\u90a3\u4e48\u63a8\u8350\u8ba1\u7f51\u8457\u540d\u6559\u6750\u300a\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u300b\u7684\u914d\u5957\u5b66\u4e60\u8d44\u6e90 Computer Networking: A Top-Down Approach \u3002 \u6570\u636e\u5e93\u7cfb\u7edf \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u5173\u7cfb\u578b\u6570\u636e\u5e93\u66f4\u80fd\u52a0\u6df1\u5bf9\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u7406\u89e3\u4e86\u3002 CMU \u7684\u8457\u540d\u6570\u636e\u5e93\u795e\u8bfe CMU 15-445: Introduction to Database System \u4f1a\u901a\u8fc7 4 \u4e2a Project \u5e26\u4f60\u4e3a\u4e00\u4e2a\u7528\u4e8e\u6559\u5b66\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93 bustub \u6dfb\u52a0\u5404\u79cd\u529f\u80fd\u3002\u5b9e\u9a8c\u7684\u8bc4\u6d4b\u6846\u67b6\u4e5f\u514d\u8d39\u5f00\u6e90\u4e86\uff0c\u975e\u5e38\u9002\u5408\u5927\u5bb6\u81ea\u5b66\u3002\u6b64\u5916\u8bfe\u7a0b\u5b9e\u9a8c\u4f1a\u7528\u5230 C++11 \u7684\u4f17\u591a\u65b0\u7279\u6027\uff0c\u4e5f\u662f\u4e00\u4e2a\u953b\u70bc C++ \u4ee3\u7801\u80fd\u529b\u7684\u597d\u673a\u4f1a\u3002 Berkeley \u4f5c\u4e3a\u8457\u540d\u5f00\u6e90\u6570\u636e\u5e93 postgres \u7684\u53d1\u6e90\u5730\u4e5f\u4e0d\u9051\u591a\u8ba9\uff0c UCB CS186: Introduction to Database System \u4f1a\u8ba9\u4f60\u7528 Java \u8bed\u8a00\u5b9e\u73b0\u4e00\u4e2a\u652f\u6301 SQL \u5e76\u53d1\u67e5\u8be2\u3001B+ \u6811\u7d22\u5f15\u548c\u6545\u969c\u6062\u590d\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3002 \u7f16\u8bd1\u539f\u7406 \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u7f16\u8bd1\u5668\u66f4\u80fd\u52a0\u6df1\u5bf9\u7f16\u8bd1\u5668\u7684\u7406\u89e3\u4e86\u3002 Stanford CS143: Compilers \u5e26\u4f60\u624b\u5199\u7f16\u8bd1\u5668\u3002 Web\u5f00\u53d1 \u524d\u540e\u7aef\u5f00\u53d1\u5f88\u5c11\u5728\u8ba1\u7b97\u673a\u7684\u57f9\u517b\u65b9\u6848\u91cc\u88ab\u91cd\u89c6\uff0c\u4f46\u5176\u5b9e\u638c\u63e1\u8fd9\u9879\u6280\u80fd\u8fd8\u662f\u597d\u5904\u591a\u591a\u7684\uff0c\u4f8b\u5982\u642d\u5efa\u81ea\u5df1\u7684\u4e2a\u4eba\u4e3b\u9875\uff0c\u6291\u6216\u662f\u7ed9\u81ea\u5df1\u7684\u8bfe\u7a0b\u9879\u76ee\u505a\u4e00\u4e2a\u7cbe\u5f69\u7684\u5c55\u793a\u7f51\u9875\u3002 \u4e24\u5468\u901f\u6210\u7248 MIT web development course \u7cfb\u7edf\u5b66\u4e60\u7248 Stanford CS142: Web Applications \u8ba1\u7b97\u673a\u56fe\u5f62\u5b66 Stanford CS148 Games101 Games103 Games202 \u6570\u636e\u79d1\u5b66 \u5176\u5b9e\u6570\u636e\u79d1\u5b66\u548c\u673a\u5668\u5b66\u4e60\u4e0e\u6df1\u5ea6\u5b66\u4e60\u6709\u7740\u5f88\u7d27\u5bc6\u7684\u8054\u7cfb\uff0c\u4f46\u53ef\u80fd\u66f4\u4fa7\u91cd\u4e8e\u5b9e\u8df5\u3002Berkeley \u7684 UCB Data100: Principles and Techniques of Data Science \u901a\u8fc7\u4e30\u5bcc\u7684\u7f16\u7a0b\u7ec3\u4e60\u8ba9\u4f60\u5728\u5b9e\u8df5\u4e2d\u638c\u63e1\u5404\u7c7b\u6570\u636e\u5206\u6790\u5de5\u5177\u548c\u7b97\u6cd5\uff0c\u5e76\u5e26\u9886\u4f60\u4f53\u9a8c\u4ece\u6d77\u91cf\u7684\u6570\u636e\u96c6\u4e2d\u63d0\u53d6\u51fa\u60f3\u8981\u7684\u7ed3\u679c\uff0c\u5e76\u5bf9\u672a\u6765\u7684\u6570\u636e\u6216\u7528\u6237\u7684\u884c\u4e3a\u505a\u51fa\u76f8\u5e94\u7684\u9884\u6d4b\u3002\u4f46\u8fd9\u53ea\u662f\u4e00\u95e8\u57fa\u7840\u8bfe\uff0c\u5982\u679c\u60f3\u5b66\u4e60\u5de5\u4e1a\u7ea7\u522b\u7684\u6570\u636e\u6316\u6398\u4e0e\u5206\u6790\u6280\u672f\uff0c\u53ef\u4ee5\u5c1d\u8bd5 Stanford \u7684\u5927\u6570\u636e\u6316\u6398\u8bfe\u7a0b CS246: Mining Massive Data Sets \u3002 \u4eba\u5de5\u667a\u80fd \u8fd1\u5341\u5e74\u4eba\u5de5\u667a\u80fd\u5e94\u8be5\u7b97\u662f\u8ba1\u7b97\u673a\u754c\u6700\u706b\u7206\u7684\u9886\u57df\u3002\u5982\u679c\u4f60\u4e0d\u6ee1\u8db3\u4e8e\u6574\u65e5\u542c\u5404\u8def\u5a92\u4f53\u4e89\u76f8\u62a5\u9053\u4eba\u5de5\u667a\u80fd\u76f8\u5173\u7684\u8fdb\u5c55\uff0c\u800c\u60f3\u771f\u6b63\u4e00\u63a2\u7a76\u7adf\uff0c\u90a3\u4e48\u975e\u5e38\u63a8\u8350\u5b66\u4e60 Harvard \u795e\u8bfe CS50 \u7cfb\u5217\u7684\u4eba\u5de5\u667a\u80fd\u8bfe\u7a0b Harvard CS50: Introduction to AI with Python \u3002\u8bfe\u7a0b\u77ed\u5c0f\u7cbe\u608d\uff0c\u8986\u76d6\u4e86\u4f20\u7edf\u4eba\u5de5\u667a\u80fd\u9886\u57df\u7684\u51e0\u5927\u5206\u652f\uff0c\u5e76\u914d\u6709\u4e30\u5bcc\u6709\u8da3\u7684 Python \u7f16\u7a0b\u7ec3\u4e60\u6765\u5de9\u56fa\u4f60\u5bf9\u4eba\u5de5\u667a\u80fd\u7b97\u6cd5\u7684\u7406\u89e3\u3002\u7f8e\u4e2d\u4e0d\u8db3\u7684\u662f\u8fd9\u95e8\u8bfe\u56e0\u4e3a\u9762\u5411\u5728\u7ebf\u81ea\u5b66\u8005\u7684\u7f18\u6545\u5185\u5bb9\u8f83\u4e3a\u7cbe\u7b80\uff0c\u5e76\u4e14\u4e0d\u4f1a\u6d89\u53ca\u7279\u522b\u6df1\u5165\u7684\u6570\u5b66\u7406\u8bba\uff0c\u5982\u679c\u60f3\u8981\u7cfb\u7edf\u6df1\u5165\u5730\u5b66\u4e60\u8fd8\u9700\u8981\u4e00\u95e8\u672c\u79d1\u751f\u96be\u5ea6\u7684\u8bfe\u7a0b\uff0c\u4f8b\u5982 Berkeley \u7684 UCB CS188: Introduction to Artificial Intelligence \u3002\u8fd9\u95e8\u8bfe\u7684 Project \u590d\u523b\u4e86\u7ecf\u5178\u6e38\u620f\u7cd6\u8c46\u4eba\uff0c\u8ba9\u4f60\u8fd0\u7528\u4eba\u5de5\u667a\u80fd\u7b97\u6cd5\u73a9\u6e38\u620f\uff0c\u975e\u5e38\u6709\u8da3\u3002 \u673a\u5668\u5b66\u4e60 \u673a\u5668\u5b66\u4e60\u9886\u57df\u8fd1\u4e9b\u5e74\u6700\u91cd\u8981\u7684\u8fdb\u5c55\u5c31\u662f\u53d1\u5c55\u51fa\u4e86\u57fa\u4e8e\u795e\u7ecf\u7f51\u7edc\u7684\u6df1\u5ea6\u5b66\u4e60\u5206\u652f\uff0c\u4f46\u5176\u5b9e\u5f88\u591a\u57fa\u4e8e\u7edf\u8ba1\u5b66\u4e60\u7684\u7b97\u6cd5\u4f9d\u7136\u5728\u6570\u636e\u5206\u6790\u9886\u57df\u6709\u7740\u5e7f\u6cdb\u7684\u5e94\u7528\u3002\u5982\u679c\u4f60\u4e4b\u524d\u4ece\u672a\u63a5\u89e6\u8fc7\u673a\u5668\u5b66\u4e60\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u800c\u4e14\u4e0d\u60f3\u4e00\u5f00\u59cb\u5c31\u9677\u5165\u8270\u6df1\u6666\u6da9\u7684\u6570\u5b66\u8bc1\u660e\uff0c\u90a3\u4e48\u4e0d\u59a8\u5148\u4ece Andrew Ng \uff08\u5434\u6069\u8fbe\uff09\u7684 Coursera: Machine Learning \u5b66\u8d77\u3002\u8fd9\u95e8\u8bfe\u5728\u673a\u5668\u5b66\u4e60\u9886\u57df\u57fa\u672c\u65e0\u4eba\u4e0d\u6653\uff0c\u5434\u6069\u8fbe\u4ee5\u5176\u6df1\u539a\u7684\u7406\u8bba\u529f\u5e95\u548c\u51fa\u8272\u7684\u8868\u8fbe\u80fd\u529b\u628a\u5f88\u591a\u8270\u6df1\u7684\u7b97\u6cd5\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\uff0c\u5e76\u4e14\u975e\u5e38\u5b9e\u7528\u3002\u5176\u914d\u5957\u7684\u4f5c\u4e1a\u4e5f\u662f\u8d28\u91cf\u76f8\u5f53\u4e0a\u4e58\uff0c\u53ef\u4ee5\u5e2e\u52a9\u4f60\u5feb\u901f\u5165\u95e8\u3002 \u4f46\u4e0a\u8fc7\u8fd9\u95e8\u8bfe\u53ea\u80fd\u8ba9\u4f60\u4ece\u5b8f\u89c2\u4e0a\u5bf9\u673a\u5668\u5b66\u4e60\u8fd9\u4e00\u9886\u57df\u6709\u4e00\u5b9a\u4e86\u89e3\uff0c\u5982\u679c\u60f3\u771f\u6b63\u7406\u89e3\u90a3\u4e9b\u201c\u795e\u5947\u201d\u7b97\u6cd5\u80cc\u540e\u7684\u6570\u5b66\u539f\u7406\u751a\u81f3\u4ece\u4e8b\u76f8\u5173\u9886\u57df\u7684\u79d1\u7814\u5de5\u4f5c\uff0c\u90a3\u4e48\u8fd8\u9700\u8981\u4e00\u95e8\u66f4\u201c\u6570\u5b66\u201d\u7684\u8bfe\u7a0b\uff0c\u4f8b\u5982 Stanford CS229: Machine Learning \u6216\u8005 UCB CS189: Introduction to Machine Learning \u3002 \u6df1\u5ea6\u5b66\u4e60 \u524d\u51e0\u5e74 AlphaGo \u7684\u5927\u70ed\u8ba9\u6df1\u5ea6\u5b66\u4e60\u8fdb\u5165\u4e86\u5927\u4f17\u7684\u89c6\u91ce\uff0c\u4e0d\u5c11\u5927\u5b66\u751a\u81f3\u4e13\u95e8\u6210\u7acb\u4e86\u76f8\u5173\u4e13\u4e1a\u3002\u5f88\u591a\u8ba1\u7b97\u673a\u7684\u5176\u4ed6\u9886\u57df\u4e5f\u4f1a\u501f\u52a9\u6df1\u5ea6\u5b66\u4e60\u7684\u6280\u672f\u6765\u505a\u7814\u7a76\uff0c\u56e0\u6b64\u57fa\u672c\u4e0d\u7ba1\u4f60\u5e72\u5565\u591a\u5c11\u90fd\u4f1a\u63a5\u89e6\u5230\u4e00\u4e9b\u795e\u7ecf\u7f51\u7edc\u3001\u6df1\u5ea6\u5b66\u4e60\u76f8\u5173\u7684\u6280\u672f\u9700\u6c42\u3002\u5982\u679c\u60f3\u5feb\u901f\u5165\u95e8\uff0c\u540c\u6837\u63a8\u8350 Andrew Ng \uff08\u5434\u6069\u8fbe\uff09\u7684 Coursera: Deep Learning \uff0c\u8d28\u91cf\u65e0\u9700\u591a\u8a00\uff0cCoursera \u4e0a\u7f55\u89c1\u7684\u6ee1\u5206\u8bfe\u7a0b\u3002\u6b64\u5916\u5982\u679c\u4f60\u89c9\u5f97\u82f1\u6587\u8bfe\u7a0b\u5b66\u4e60\u8d77\u6765\u6709\u96be\u5ea6\uff0c\u63a8\u8350\u674e\u5b8f\u6bc5\u8001\u5e08\u7684 \u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\uff1a\u673a\u5668\u5b66\u4e60 \u8bfe\u7a0b\u3002\u8fd9\u95e8\u8bfe\u6253\u7740\u673a\u5668\u5b66\u4e60\u7684\u540d\u53f7\uff0c\u5374\u56ca\u62ec\u4e86\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u7684\u51e0\u4e4e\u6240\u6709\u65b9\u5411\uff0c\u975e\u5e38\u5168\u9762\uff0c\u5f88\u9002\u5408\u4f60\u4ece\u5b8f\u89c2\u4e0a\u5bf9\u8fd9\u4e2a\u9886\u57df\u6709\u4e00\u4e2a\u5927\u81f4\u7684\u4e86\u89e3\u3002\u800c\u4e14\u8001\u5e08\u672c\u4eba\u4e5f\u975e\u5e38\u5e7d\u9ed8\uff0c\u8bfe\u5802\u91d1\u53e5\u9891\u51fa\u3002 \u5f53\u7136\u56e0\u4e3a\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u53d1\u5c55\u975e\u5e38\u8fc5\u901f\uff0c\u5df2\u7ecf\u62e5\u6709\u4e86\u4f17\u591a\u7814\u7a76\u5206\u652f\uff0c\u5982\u679c\u60f3\u8981\u8fdb\u4e00\u6b65\u6df1\u5165\uff0c\u53ef\u4ee5\u6309\u9700\u5b66\u4e60\u4e0b\u9762\u7f57\u5217\u7684\u4ee3\u8868\u8bfe\u7a0b\uff0c \u8ba1\u7b97\u673a\u89c6\u89c9 Stanford CS231n: CNN for Visual Recognition \u81ea\u7136\u8bed\u8a00\u5904\u7406 Stanford CS224n: Natural Language Processing \u56fe\u795e\u7ecf\u7f51\u7edc Stanford CS224w: Machine Learning with Graphs \u5f3a\u5316\u5b66\u4e60 UCB CS285: Deep Reinforcement Learning \u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe \u6388\u4eba\u4ee5\u9c7c\u4e0d\u5982\u6388\u4eba\u4ee5\u6e14\u3002 \u4ee5\u4e0a\u7684\u8bfe\u7a0b\u89c4\u5212\u96be\u514d\u5e26\u6709\u5f3a\u70c8\u7684\u4e2a\u4eba\u504f\u597d\uff0c\u4e0d\u4e00\u5b9a\u9002\u5408\u6240\u6709\u4eba\uff0c\u66f4\u591a\u662f\u8d77\u5230\u629b\u7816\u5f15\u7389\u7684\u4f5c\u7528\u3002\u5982\u679c\u4f60\u60f3\u6311\u9009\u81ea\u5df1\u611f\u5174\u8da3\u7684\u65b9\u5411\u548c\u5185\u5bb9\u52a0\u4ee5\u5b66\u4e60\uff0c\u53ef\u4ee5\u53c2\u8003\u6211\u5728\u4e0b\u9762\u5217\u51fa\u6765\u7684\u8d44\u6e90\u3002 MIT OpenCourseWare : \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684\u8bfe\u7a0b\u8d44\u6e90\u5f00\u653e\u5171\u4eab\u9879\u76ee\uff0c\u6536\u5f55\u4e86\u6570\u4ee5\u5343\u8ba1\u7684\u5404\u79d1\u8bfe\u7a0b\u8d44\u6e90\uff0c\u5176\u4e2d\u8ba1\u7b97\u673a\u7c7b\u7684\u8bfe\u53f7\u662f 6.xxx\u3002 MIT CS Course List : \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002 UC Berkeley EECS Course Map : UC Berkeley \u7684 EECS \u57f9\u517b\u65b9\u6848\uff0c\u4ee5\u8bfe\u7a0b\u5730\u56fe\u7684\u65b9\u5f0f\u5c06\u5404\u95e8\u8bfe\u7a0b\u7684\u7c7b\u522b\u548c\u5148\u4fee\u5173\u7cfb\u4e00\u76ee\u4e86\u7136\u5730\u5448\u73b0\uff0c\u5176\u4e2d\u7edd\u5927\u591a\u6570\u8bfe\u7a0b\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 UC Berkeley CS Course List : UC Berkeley \u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002 Stanford CS Course List : \u65af\u5766\u798f\u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002","title":"\u4e00\u4e2a\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#cs","text":"\u8ba1\u7b97\u673a\u9886\u57df\u65b9\u5411\u5e9e\u6742\uff0c\u77e5\u8bc6\u6d69\u5982\u70df\u6d77\uff0c\u6bcf\u4e2a\u7ec6\u5206\u9886\u57df\u5982\u679c\u6df1\u7a76\u4e0b\u53bb\u90fd\u53ef\u4ee5\u8bf4\u5b66\u65e0\u6b62\u5883\u3002\u56e0\u6b64\uff0c\u4e00\u4e2a\u6e05\u6670\u660e\u786e\u7684\u5b66\u4e60\u89c4\u5212\u662f\u975e\u5e38\u91cd\u8981\u7684\u3002\u6211\u5728\u591a\u5e74\u81ea\u5b66\u7684\u5c1d\u8bd5\u4e2d\u4e5f\u8d70\u8fc7\u4e0d\u5c11\u5f2f\u8def\uff0c\u6700\u7ec8\u63d0\u70bc\u51fa\u4e86\u4e0b\u9762\u7684\u5185\u5bb9\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u4e0d\u8fc7\uff0c\u5728\u5f00\u59cb\u5b66\u4e60\u4e4b\u524d\uff0c\u5148\u5411\u5c0f\u767d\u4eec\u5f3a\u70c8\u63a8\u8350\u4e00\u4e2a\u79d1\u666e\u5411\u7cfb\u5217\u89c6\u9891 Crash Course: Computer Science \uff0c\u5728\u77ed\u77ed 8 \u4e2a\u5c0f\u65f6\u91cc\u975e\u5e38\u751f\u52a8\u4e14\u5168\u9762\u5730\u79d1\u666e\u4e86\u5173\u4e8e\u8ba1\u7b97\u673a\u79d1\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff1a\u8ba1\u7b97\u673a\u7684\u5386\u53f2\u3001\u8ba1\u7b97\u673a\u662f\u5982\u4f55\u8fd0\u4f5c\u7684\u3001\u7ec4\u6210\u8ba1\u7b97\u673a\u7684\u5404\u4e2a\u91cd\u8981\u6a21\u5757\u3001\u8ba1\u7b97\u673a\u79d1\u5b66\u4e2d\u7684\u91cd\u8981\u601d\u60f3\u7b49\u7b49\u7b49\u7b49\u3002\u6b63\u5982\u5b83\u7684\u53e3\u53f7\u6240\u8bf4\u7684 Computers are not magic! \uff0c\u5e0c\u671b\u770b\u5b8c\u8fd9\u4e2a\u89c6\u9891\u4e4b\u540e\uff0c\u5927\u5bb6\u80fd\u5bf9\u8ba1\u7b97\u673a\u79d1\u5b66\u6709\u4e2a\u5168\u8c8c\u6027\u5730\u611f\u77e5\uff0c\u4ece\u800c\u6000\u7740\u5174\u8da3\u53bb\u9762\u5bf9\u4e0b\u9762\u6d69\u5982\u70df\u6d77\u7684\u66f4\u4e3a\u7ec6\u81f4\u4e14\u6df1\u5165\u7684\u5b66\u4e60\u5185\u5bb9\u3002","title":"\u4e00\u4e2a\u4ec5\u4f9b\u53c2\u8003\u7684 CS \u5b66\u4e60\u89c4\u5212"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_1","text":"\u4fd7\u8bdd\u8bf4\uff1a\u78e8\u5200\u4e0d\u8bef\u780d\u67f4\u5de5\u3002\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u521a\u521a\u63a5\u89e6\u8ba1\u7b97\u673a\u768424k\u7eaf\u5c0f\u767d\uff0c\u5b66\u4f1a\u4e00\u4e9b\u5de5\u5177\u5c06\u4f1a\u8ba9\u4f60\u4e8b\u534a\u529f\u500d\u3002 \u5b66\u4f1a\u63d0\u95ee\uff1a\u4e5f\u8bb8\u4f60\u4f1a\u60ca\u8bb6\uff0c\u63d0\u95ee\u4e5f\u7b97\u8ba1\u7b97\u673a\u5fc5\u5907\u6280\u80fd\u5417\uff0c\u8fd8\u653e\u5728\u7b2c\u4e00\u6761\uff1f\u6211\u89c9\u5f97\u5728\u5f00\u6e90\u793e\u533a\u4e2d\uff0c\u5b66\u4f1a\u63d0\u95ee\u662f\u4e00\u9879\u975e\u5e38\u91cd\u8981\u7684\u80fd\u529b\uff0c\u5b83\u5305\u542b\u4e24\u65b9\u9762\u7684\u4e8b\u60c5\u3002\u5176\u4e00\u662f\u4f1a\u53d8\u76f8\u5730\u57f9\u517b\u4f60\u81ea\u4e3b\u89e3\u51b3\u95ee\u9898\u7684\u80fd\u529b\uff0c\u56e0\u4e3a\u4ece\u5f62\u6210\u95ee\u9898\u3001\u63cf\u8ff0\u95ee\u9898\u5e76\u53d1\u5e03\u3001\u4ed6\u4eba\u56de\u7b54\u3001\u6700\u540e\u518d\u5230\u7406\u89e3\u56de\u7b54\u8fd9\u4e2a\u5468\u671f\u662f\u975e\u5e38\u957f\u7684\uff0c\u5982\u679c\u9047\u5230\u4ec0\u4e48\u9e21\u6bdb\u849c\u76ae\u7684\u4e8b\u60c5\u90fd\u5e0c\u671b\u522b\u4eba\u6700\u597d\u8fdc\u7a0b\u684c\u9762\u624b\u628a\u624b\u5e2e\u4f60\u5b8c\u6210\uff0c\u90a3\u8ba1\u7b97\u673a\u7684\u4e16\u754c\u57fa\u672c\u4e0e\u4f60\u65e0\u7f18\u4e86\u3002\u5176\u4e8c\uff0c\u5982\u679c\u771f\u7684\u7ecf\u8fc7\u5c1d\u8bd5\u8fd8\u65e0\u6cd5\u89e3\u51b3\uff0c\u53ef\u4ee5\u501f\u52a9\u5f00\u6e90\u793e\u533a\u7684\u5e2e\u52a9\uff0c\u4f46\u8fd9\u65f6\u5019\u5982\u4f55\u901a\u8fc7\u7b80\u6d01\u7684\u6587\u5b57\u8ba9\u522b\u4eba\u77ac\u95f4\u7406\u89e3\u4f60\u7684\u5904\u5883\u4ee5\u53ca\u76ee\u7684\uff0c\u5c31\u663e\u5f97\u5c24\u4e3a\u91cd\u8981\u3002\u63a8\u8350\u9605\u8bfb \u63d0\u95ee\u7684\u667a\u6167 \u8fd9\u7bc7\u6587\u7ae0\uff0c\u8fd9\u4e0d\u4ec5\u80fd\u63d0\u9ad8\u4f60\u89e3\u51b3\u95ee\u9898\u7684\u6982\u7387\u548c\u6548\u7387\uff0c\u4e5f\u80fd\u8ba9\u5f00\u6e90\u793e\u533a\u91cc\u65e0\u507f\u63d0\u4f9b\u89e3\u7b54\u7684\u4eba\u4eec\u62e5\u6709\u4e00\u4e2a\u597d\u5fc3\u60c5\u3002 MIT-Missing-Semester \u8fd9\u95e8\u8bfe\u8986\u76d6\u4e86\u8fd9\u4e9b\u5de5\u5177\u4e2d\u7edd\u5927\u90e8\u5206\uff0c\u800c\u4e14\u6709\u76f8\u5f53\u8be6\u7ec6\u7684\u4f7f\u7528\u6307\u5bfc\uff0c\u5f3a\u70c8\u5efa\u8bae\u5c0f\u767d\u5b66\u4e60\u3002\u4e0d\u8fc7\u9700\u8981\u6ce8\u610f\u7684\u4e00\u70b9\u662f\uff0c\u5728\u8bfe\u7a0b\u4e2d\u4f1a\u4e0d\u65f6\u63d0\u5230\u4e00\u4e9b\u4e0e\u5f00\u53d1\u6d41\u7a0b\u76f8\u5173\u7684\u672f\u8bed\u3002\u56e0\u6b64\u63a8\u8350\u81f3\u5c11\u5728\u5b66\u5b8c\u8ba1\u7b97\u673a\u5bfc\u8bba\u7ea7\u522b\u7684\u8bfe\u7a0b\u4e4b\u540e\u8fdb\u884c\u5b66\u4e60\u3002 \u7ffb\u5899 \uff1a\u7531\u4e8e\u4e00\u4e9b\u4f17\u6240\u5468\u77e5\u7684\u539f\u56e0\uff0c\u8c37\u6b4c\u3001GitHub \u7b49\u7f51\u7ad9\u5728\u5927\u9646\u65e0\u6cd5\u8bbf\u95ee\u3002\u7136\u800c\u5f88\u591a\u65f6\u5019\uff0c\u8c37\u6b4c\u548c StackOverflow \u53ef\u4ee5\u89e3\u51b3\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u9047\u5230\u7684 99% \u7684\u95ee\u9898\u3002\u56e0\u6b64\uff0c\u5b66\u4f1a\u7ffb\u5899\u51e0\u4e4e\u662f\u4e00\u4e2a\u5185\u5730 CSer \u7684\u5fc5\u5907\u6280\u80fd\u3002\uff08\u8003\u8651\u5230\u6cd5\u5f8b\u95ee\u9898\uff0c\u8fd9\u4e2a\u6587\u6863\u63d0\u4f9b\u7684\u7ffb\u5899\u65b9\u5f0f\u4ec5\u5bf9\u62e5\u6709\u5317\u5927\u90ae\u7bb1\u7684\u7528\u6237\u9002\u7528\uff09\u3002 \u547d\u4ee4\u884c\uff1a\u719f\u7ec3\u4f7f\u7528\u547d\u4ee4\u884c\u662f\u4e00\u79cd\u5e38\u5e38\u88ab\u5ffd\u89c6\uff0c\u6216\u88ab\u8ba4\u4e3a\u96be\u4ee5\u638c\u63e1\u7684\u6280\u80fd\uff0c\u4f46\u5b9e\u9645\u4e0a\uff0c\u5b83\u4f1a\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u4f5c\u4e3a\u5de5\u7a0b\u5e08\u7684\u7075\u6d3b\u6027\u4ee5\u53ca\u751f\u4ea7\u529b\u3002 \u547d\u4ee4\u884c\u7684\u827a\u672f \u662f\u4e00\u4efd\u975e\u5e38\u7ecf\u5178\u7684\u6559\u7a0b\uff0c\u5b83\u6e90\u4e8e Quora \u7684\u4e00\u4e2a\u63d0\u95ee\uff0c\u4f46\u5728\u5404\u8def\u5927\u795e\u7684\u8d21\u732e\u52aa\u529b\u4e0b\u5df2\u7ecf\u6210\u4e3a\u4e86\u4e00\u4e2a GitHub \u5341\u4e07 stars \u7684\u9876\u6d41\u9879\u76ee\uff0c\u88ab\u7ffb\u8bd1\u6210\u4e86\u5341\u51e0\u79cd\u8bed\u8a00\u3002\u6559\u7a0b\u4e0d\u957f\uff0c\u975e\u5e38\u5efa\u8bae\u5927\u5bb6\u53cd\u590d\u901a\u8bfb\uff0c\u5728\u5b9e\u8df5\u4e2d\u5185\u5316\u5438\u6536\u3002\u540c\u65f6\uff0c\u638c\u63e1 Shell \u811a\u672c\u7f16\u7a0b\u4e5f\u662f\u4e00\u9879\u4e0d\u5bb9\u5ffd\u89c6\u7684\u6280\u672f\uff0c\u53ef\u4ee5\u53c2\u8003\u8fd9\u4e2a \u6559\u7a0b \u3002 IDE (Integrated Development Environment)\uff1a\u96c6\u6210\u5f00\u53d1\u73af\u5883\uff0c\u8bf4\u767d\u4e86\u5c31\u662f\u4f60\u5199\u4ee3\u7801\u7684\u5730\u65b9\u3002\u4f5c\u4e3a\u4e00\u4e2a\u7801\u519c\uff0cIDE \u7684\u91cd\u8981\u6027\u4e0d\u8a00\u800c\u55bb\uff0c\u4f46\u7531\u4e8e\u5f88\u591a IDE \u662f\u4e3a\u5927\u578b\u5de5\u7a0b\u9879\u76ee\u8bbe\u8ba1\u7684\uff0c\u4f53\u91cf\u8f83\u5927\uff0c\u529f\u80fd\u4e5f\u8fc7\u4e8e\u4e30\u5bcc\u3002\u5176\u5b9e\u5982\u4eca\u4e00\u4e9b\u8f7b\u4fbf\u7684\u6587\u672c\u7f16\u8f91\u5668\u914d\u5408\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\u57fa\u672c\u53ef\u4ee5\u6ee1\u8db3\u65e5\u5e38\u7684\u8f7b\u91cf\u7f16\u7a0b\u9700\u6c42\u3002\u4e2a\u4eba\u5e38\u7528\u7684\u7f16\u8f91\u5668\u662f VS Code \u548c Sublime\uff08\u524d\u8005\u7684\u63d2\u4ef6\u914d\u7f6e\u975e\u5e38\u7b80\u5355\uff0c\u540e\u8005\u7565\u663e\u590d\u6742\u4f46\u989c\u503c\u5f88\u9ad8\uff09\u3002\u5f53\u7136\u5bf9\u4e8e\u5927\u578b\u9879\u76ee\u6211\u8fd8\u662f\u4f1a\u91c7\u7528\u7565\u91cd\u578b\u7684 IDE\uff0c\u4f8b\u5982 Pycharm (Python)\uff0cIDEA (Java) \u7b49\u7b49\uff08\u514d\u8d23\u7533\u660e\uff1a\u6240\u6709\u7684 IDE \u90fd\u662f\u4e16\u754c\u4e0a\u6700\u597d\u7684 IDE\uff09\u3002 Vim \uff1a\u4e00\u6b3e\u547d\u4ee4\u884c\u7f16\u8f91\u5de5\u5177\u3002\u8fd9\u662f\u4e00\u4e2a\u5b66\u4e60\u66f2\u7ebf\u6709\u4e9b\u9661\u5ced\u7684\u7f16\u8f91\u5668\uff0c\u4e0d\u8fc7\u5b66\u4f1a\u5b83\u6211\u89c9\u5f97\u662f\u975e\u5e38\u6709\u5fc5\u8981\u7684\uff0c\u56e0\u4e3a\u5b83\u5c06\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u7684\u5f00\u53d1\u6548\u7387\u3002\u73b0\u5728\u7edd\u5927\u591a\u6570 IDE \u4e5f\u90fd\u652f\u6301 Vim \u63d2\u4ef6\uff0c\u8ba9\u4f60\u5728\u4eab\u53d7\u73b0\u4ee3\u5f00\u53d1\u73af\u5883\u7684\u540c\u65f6\u4fdd\u7559\u6781\u5ba2\u7684\u70ab\u9177\uff08yue\uff09\u3002 Emacs \uff1a\u4e0e Vim \u9f50\u540d\u7684\u7ecf\u5178\u7f16\u8f91\u5668\uff0c\u540c\u6837\u5177\u6709\u6781\u9ad8\u7684\u5f00\u53d1\u6548\u7387\uff0c\u540c\u65f6\u5177\u6709\u66f4\u4e3a\u5f3a\u5927\u7684\u6269\u5c55\u6027\uff0c\u5b83\u65e2\u53ef\u4ee5\u914d\u7f6e\u4e3a\u4e00\u4e2a\u8f7b\u91cf\u7f16\u8f91\u5668\uff0c\u4e5f\u53ef\u4ee5\u6269\u5c55\u6210\u4e00\u4e2a\u4e2a\u4eba\u5b9a\u5236\u7684 IDE\uff0c\u751a\u81f3\u53ef\u4ee5\u6709\u66f4\u591a\u5947\u6280\u6deb\u5de7\u3002 Git \uff1a\u4e00\u6b3e\u4ee3\u7801\u7248\u672c\u63a7\u5236\u5de5\u5177\u3002Git\u7684\u5b66\u4e60\u66f2\u7ebf\u53ef\u80fd\u66f4\u4e3a\u9661\u5ced\uff0c\u4f46\u51fa\u81ea Linux \u4e4b\u7236 Linus \u4e4b\u624b\u7684 Git \u7edd\u5bf9\u662f\u6bcf\u4e2a\u5b66 CS \u7684\u7ae5\u978b\u5fc5\u987b\u638c\u63e1\u7684\u795e\u5668\u4e4b\u4e00\u3002 GitHub \uff1a\u57fa\u4e8e Git \u7684\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u5168\u4e16\u754c\u6700\u5927\u7684\u4ee3\u7801\u5f00\u6e90\u793e\u533a\uff0c\u5927\u4f6c\u96c6\u805a\u5730\u3002 GNU Make \uff1a\u4e00\u6b3e\u5de5\u7a0b\u6784\u5efa\u5de5\u5177\u3002\u5584\u7528 GNU Make \u4f1a\u8ba9\u4f60\u517b\u6210\u4ee3\u7801\u6a21\u5757\u5316\u7684\u4e60\u60ef\uff0c\u540c\u65f6\u4e5f\u80fd\u8ba9\u4f60\u719f\u6089\u4e00\u4e9b\u5927\u578b\u5de5\u7a0b\u7684\u7f16\u8bd1\u94fe\u63a5\u6d41\u7a0b\u3002 CMake \uff1a\u4e00\u6b3e\u529f\u80fd\u6bd4 GNU Make \u66f4\u4e3a\u5f3a\u5927\u7684\u6784\u5efa\u5de5\u5177\uff0c\u5efa\u8bae\u638c\u63e1 GNU Make \u4e4b\u540e\u518d\u52a0\u4ee5\u5b66\u4e60\u3002 LaTex \uff1a \u903c\u683c\u63d0\u5347 \u8bba\u6587\u6392\u7248\u5de5\u5177\u3002 Docker \uff1a\u4e00\u6b3e\u76f8\u8f83\u4e8e\u865a\u62df\u673a\u66f4\u8f7b\u91cf\u7ea7\u7684\u8f6f\u4ef6\u6253\u5305\u4e0e\u73af\u5883\u90e8\u7f72\u5de5\u5177\u3002 \u5b9e\u7528\u5de5\u5177\u7bb1 \uff1a\u9664\u4e86\u4e0a\u9762\u63d0\u5230\u7684\u8fd9\u4e9b\u5728\u5f00\u53d1\u4e2d\u4f7f\u7528\u9891\u7387\u6781\u9ad8\u7684\u5de5\u5177\u4e4b\u5916\uff0c\u6211\u8fd8\u6536\u96c6\u4e86\u5f88\u591a\u5b9e\u7528\u6709\u8da3\u7684\u514d\u8d39\u5de5\u5177\uff0c\u4f8b\u5982\u4e00\u4e9b\u4e0b\u8f7d\u5de5\u5177\u3001\u8bbe\u8ba1\u5de5\u5177\u3001\u5b66\u4e60\u7f51\u7ad9\u7b49\u7b49\u3002 Thesis \uff1a\u6bd5\u4e1a\u8bba\u6587 Word \u5199\u4f5c\u6559\u7a0b\u3002","title":"\u5fc5\u5b66\u5de5\u5177"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_2","text":"\u79c1\u4ee5\u4e3a\u4e00\u672c\u597d\u7684\u6559\u6750\u5e94\u5f53\u662f\u4ee5\u4eba\u4e3a\u672c\u7684\uff0c\u800c\u4e0d\u662f\u70ab\u6280\u5f0f\u7684\u7406\u8bba\u5806\u780c\u3002\u544a\u8bc9\u8bfb\u8005\u201c\u662f\u4ec0\u4e48\u201d\u56fa\u7136\u91cd\u8981\uff0c\u4f46\u66f4\u597d\u7684\u5e94\u5f53\u662f\u6559\u6750\u4f5c\u8005\u5c06\u5176\u5728\u8fd9\u4e2a\u9886\u57df\u6df1\u8015\u51e0\u5341\u5e74\u7684\u7ecf\u9a8c\u878d\u6c47\u8fdb\u4e66\u4e2d\uff0c\u5411\u8bfb\u8005\u5a13\u5a13\u9053\u6765\u201c\u4e3a\u4ec0\u4e48\u201d\u4ee5\u53ca\u672a\u6765\u5e94\u8be5\u201c\u600e\u4e48\u505a\u201d\u3002 \u94fe\u63a5\u6233\u8fd9\u91cc","title":"\u597d\u4e66\u63a8\u8350"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_3","text":"\u4f60\u4ee5\u4e3a\u7684\u5f00\u53d1 \u2014\u2014 \u5728 IDE \u91cc\u75af\u72c2\u7801\u4ee3\u7801\u6570\u5c0f\u65f6\u3002 \u5b9e\u9645\u4e0a\u7684\u5f00\u53d1 \u2014\u2014 \u914d\u73af\u5883\u914d\u51e0\u5929\u8fd8\u6ca1\u5f00\u59cb\u5199\u4ee3\u7801\u3002","title":"\u73af\u5883\u914d\u7f6e"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#pc","text":"\u5982\u679c\u4f60\u662f Mac \u7528\u6237\uff0c\u90a3\u4e48\u4f60\u5f88\u5e78\u8fd0\uff0c\u8fd9\u4efd \u6307\u5357 \u5c06\u4f1a\u624b\u628a\u624b\u5730\u5e26\u4f60\u642d\u5efa\u8d77\u6574\u5957\u5f00\u53d1\u73af\u5883\u3002\u5982\u679c\u4f60\u662f Windows \u7528\u6237\uff0c\u5728\u5f00\u6e90\u793e\u533a\u7684\u52aa\u529b\u4e0b\uff0c\u4f60\u540c\u6837\u53ef\u4ee5\u83b7\u5f97\u4e0e\u5176\u4ed6\u5e73\u53f0\u7c7b\u4f3c\u7684\u4f53\u9a8c\uff1a Scoop \u3002 \u53e6\u5916\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003\u4e00\u4efd\u7075\u611f\u6765\u81ea 6.NULL MIT-Missing-Semester \u7684 \u73af\u5883\u914d\u7f6e\u6307\u5357 \uff0c\u91cd\u70b9\u5728\u4e8e\u7ec8\u7aef\u7684\u7f8e\u5316\u914d\u7f6e\u3002\u6b64\u5916\u8fd8\u5305\u62ec\u5e38\u7528\u8f6f\u4ef6\u6e90\uff08\u5982 GitHub, Anaconda, PyPI \u7b49\uff09\u7684\u52a0\u901f\u4e0e\u66ff\u6362\u4ee5\u53ca\u4e00\u4e9b IDE \u7684\u914d\u7f6e\u4e0e\u6fc0\u6d3b\u6559\u7a0b\u3002","title":"PC \u7aef\u73af\u5883\u914d\u7f6e"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_4","text":"\u670d\u52a1\u5668\u7aef\u7684\u8fd0\u7ef4\u9700\u8981\u638c\u63e1 Linux\uff08\u6216\u8005\u5176\u4ed6\u7c7b Unix \u7cfb\u7edf\uff09\u7684\u57fa\u672c\u4f7f\u7528\u4ee5\u53ca\u8fdb\u7a0b\u3001\u8bbe\u5907\u3001\u7f51\u7edc\u7b49\u7cfb\u7edf\u76f8\u5173\u7684\u57fa\u672c\u6982\u5ff5\uff0c\u5c0f\u767d\u53ef\u4ee5\u53c2\u8003\u4e2d\u56fd\u79d1\u5b66\u6280\u672f\u5927\u5b66 Linux \u7528\u6237\u534f\u4f1a\u7f16\u5199\u7684 \u300aLinux 101\u300b\u5728\u7ebf\u8bb2\u4e49 \u3002\u5982\u679c\u60f3\u6df1\u5165\u5b66\u4e60\u7cfb\u7edf\u8fd0\u7ef4\u76f8\u5173\u7684\u77e5\u8bc6\uff0c\u53ef\u4ee5\u53c2\u8003 Aspects of System Administration \u8fd9\u95e8\u8bfe\u7a0b\u3002 \u53e6\u5916\uff0c\u5982\u679c\u9700\u8981\u5b66\u4e60\u67d0\u4e2a\u5177\u4f53\u7684\u6982\u5ff5\u6216\u5de5\u5177\uff0c\u63a8\u8350\u4e00\u4e2a\u975e\u5e38\u4e0d\u9519\u7684 GitHub \u9879\u76ee DevOps-Guide \uff0c\u5176\u4e2d\u6db5\u76d6\u4e86\u975e\u5e38\u591a\u7684\u8fd0\u7ef4\u65b9\u9762\u7684\u57fa\u7840\u77e5\u8bc6\u548c\u6559\u7a0b\uff0c\u4f8b\u5982 Docker, Kubernetes, Linux, CI-CD, GitHub Actions \u7b49\u7b49\u3002","title":"\u670d\u52a1\u5668\u7aef\u73af\u5883\u914d\u7f6e"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_5","text":"\u6b63\u5982\u8fd9\u7ae0\u5f00\u5934\u63d0\u5230\u7684\uff0c\u8fd9\u4efd\u8bfe\u7a0b\u5730\u56fe\u4ec5\u4ec5\u662f\u4e00\u4e2a \u4ec5\u4f9b\u53c2\u8003 \u7684\u8bfe\u7a0b\u89c4\u5212\uff0c\u6211\u4f5c\u4e3a\u4e00\u4e2a\u4e34\u8fd1\u6bd5\u4e1a\u7684\u672c\u79d1\u751f\u3002\u6df1\u611f\u81ea\u5df1\u6ca1\u6709\u6743\u5229\u4e5f\u6ca1\u6709\u80fd\u529b\u5411\u522b\u4eba\u5ba3\u626c\u201c\u5e94\u8be5\u600e\u4e48\u5b66\u201d\u3002\u56e0\u6b64\u5982\u679c\u4f60\u89c9\u5f97\u4ee5\u4e0b\u7684\u8bfe\u7a0b\u5206\u7c7b\u4e0e\u9009\u62e9\u6709\u4e0d\u5408\u7406\u4e4b\u5904\uff0c\u6211\u5168\u76d8\u63a5\u53d7\uff0c\u5e76\u6df1\u611f\u62b1\u6b49\u3002\u4f60\u53ef\u4ee5\u5728\u4e0b\u4e00\u8282 \u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe \u4ee5\u4e0b\u8bfe\u7a0b\u7c7b\u522b\u4e2d\u9664\u4e86\u542b\u6709 \u57fa\u7840 \u548c \u5165\u95e8 \u5b57\u773c\u7684\u4ee5\u5916\uff0c\u5e76\u65e0\u660e\u786e\u7684\u5148\u540e\u6b21\u5e8f\uff0c\u5927\u5bb6\u53ea\u8981\u6ee1\u8db3\u67d0\u4e2a\u8bfe\u7a0b\u7684\u5148\u4fee\u8981\u6c42\uff0c\u5b8c\u5168\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u8981\u548c\u559c\u597d\u9009\u62e9\u60f3\u8981\u5b66\u4e60\u7684\u8bfe\u7a0b\u3002","title":"\u8bfe\u7a0b\u5730\u56fe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_6","text":"","title":"\u6570\u5b66\u57fa\u7840"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_7","text":"\u4f5c\u4e3a\u5927\u4e00\u65b0\u751f\uff0c\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u662f\u548c\u5199\u4ee3\u7801\u81f3\u5c11\u540c\u7b49\u91cd\u8981\u7684\u4e8b\u60c5\uff0c\u76f8\u4fe1\u5df2\u7ecf\u6709\u65e0\u6570\u7684\u524d\u4eba\u7ecf\u9a8c\u63d0\u5230\u8fc7\u8fd9\u4e00\u70b9\uff0c\u4f46\u6211\u8fd8\u662f\u8981\u4e0d\u538c\u5176\u70e6\u5730\u518d\u5f3a\u8c03\u4e00\u904d\uff1a\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u771f\u7684\u5f88\u91cd\u8981\uff01\u4f60\u4e5f\u8bb8\u4f1a\u5410\u69fd\u8fd9\u4e9b\u4e1c\u897f\u5c82\u4e0d\u662f\u8003\u5b8c\u5c31\u5fd8\uff0c\u90a3\u6211\u89c9\u5f97\u4f60\u662f\u5e76\u6ca1\u6709\u628a\u63e1\u4f4f\u5b83\u4eec\u672c\u8d28\uff0c\u5bf9\u5b83\u4eec\u7684\u7406\u89e3\u8fd8\u6ca1\u6709\u8fbe\u5230\u523b\u9aa8\u94ed\u5fc3\u7684\u7a0b\u5ea6\u3002\u5982\u679c\u89c9\u5f97\u8001\u5e08\u8bfe\u4e0a\u8bb2\u7684\u5185\u5bb9\u6666\u6da9\u96be\u61c2\uff0c\u4e0d\u59a8\u53c2\u8003 MIT \u7684 Calculus Course \u548c 18.06: Linear Algebra \u7684\u8bfe\u7a0b notes\uff0c\u81f3\u5c11\u4e8e\u6211\u800c\u8a00\uff0c\u5b83\u5e2e\u52a9\u6211\u6df1\u523b\u7406\u89e3\u4e86\u5fae\u79ef\u5206\u548c\u7ebf\u6027\u4ee3\u6570\u7684\u8bb8\u591a\u672c\u8d28\u3002\u987a\u9053\u518d\u5b89\u5229\u4e00\u4e2a\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \uff0c\u4ed6\u7684\u9891\u9053\u6709\u5f88\u591a\u7528\u751f\u52a8\u5f62\u8c61\u7684\u52a8\u753b\u9610\u91ca\u6570\u5b66\u672c\u8d28\u5185\u6838\u7684\u89c6\u9891\uff0c\u517c\u5177\u6df1\u5ea6\u548c\u5e7f\u5ea6\uff0c\u8d28\u91cf\u975e\u5e38\u9ad8\u3002","title":"\u5fae\u79ef\u5206\u4e0e\u7ebf\u6027\u4ee3\u6570"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_8","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u53ca\u65e9\u4e86\u89e3\u4e00\u4e9b\u4fe1\u606f\u8bba\u7684\u57fa\u7840\u77e5\u8bc6\uff0c\u6211\u89c9\u5f97\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u4f46\u5927\u591a\u4fe1\u606f\u8bba\u8bfe\u7a0b\u90fd\u9762\u5411\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u751a\u81f3\u7814\u7a76\u751f\uff0c\u5bf9\u65b0\u624b\u6781\u4e0d\u53cb\u597d\u3002\u800c MIT \u7684 6.050J: Information theory and Entropy \u8fd9\u95e8\u8bfe\u6b63\u662f\u4e3a\u5927\u4e00\u65b0\u751f\u91cf\u8eab\u5b9a\u5236\u7684\uff0c\u51e0\u4e4e\u6ca1\u6709\u5148\u4fee\u8981\u6c42\uff0c\u6db5\u76d6\u4e86\u7f16\u7801\u3001\u538b\u7f29\u3001\u901a\u4fe1\u3001\u4fe1\u606f\u71b5\u7b49\u7b49\u5185\u5bb9\uff0c\u975e\u5e38\u6709\u8da3\u3002","title":"\u4fe1\u606f\u8bba\u5165\u95e8"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_9","text":"","title":"\u6570\u5b66\u8fdb\u9636"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_10","text":"\u96c6\u5408\u8bba\u3001\u56fe\u8bba\u3001\u6982\u7387\u8bba\u7b49\u7b49\u662f\u7b97\u6cd5\u63a8\u5bfc\u4e0e\u8bc1\u660e\u7684\u91cd\u8981\u5de5\u5177\uff0c\u4e5f\u662f\u540e\u7eed\u9ad8\u9636\u6570\u5b66\u8bfe\u7a0b\u7684\u57fa\u7840\u3002\u4f46\u6211\u89c9\u5f97\u8fd9\u7c7b\u8bfe\u7a0b\u7684\u8bb2\u6388\u5f88\u5bb9\u6613\u843d\u5165\u7406\u8bba\u5316\u4e0e\u5f62\u5f0f\u5316\u7684\u7aa0\u81fc\uff0c\u8ba9\u8bfe\u5802\u6210\u4e3a\u5b9a\u7406\u7ed3\u8bba\u7684\u5806\u780c\uff0c\u800c\u65e0\u6cd5\u4f7f\u5b66\u751f\u6df1\u523b\u628a\u63e1\u7406\u8bba\u7684\u672c\u8d28\uff0c\u8fdb\u800c\u9020\u6210\u5b66\u4e86\u5c31\u80cc\uff0c\u8003\u4e86\u5c31\u5fd8\u7684\u602a\u5708\u3002\u5982\u679c\u80fd\u5728\u7406\u8bba\u6559\u5b66\u4e2d\u7a7f\u63d2\u7b97\u6cd5\u8fd0\u7528\u5b9e\u4f8b\uff0c\u5b66\u751f\u5728\u62d3\u5c55\u7b97\u6cd5\u77e5\u8bc6\u7684\u540c\u65f6\u4e5f\u80fd\u7aa5\u89c1\u7406\u8bba\u7684\u529b\u91cf\u548c\u9b45\u529b\u3002 UCB CS70 : discrete Math and probability theory \u548c UCB CS126 : Probability theory \u662f UC Berkeley \u7684\u6982\u7387\u8bba\u8bfe\u7a0b\uff0c\u524d\u8005\u8986\u76d6\u4e86\u79bb\u6563\u6570\u5b66\u548c\u6982\u7387\u8bba\u57fa\u7840\uff0c\u540e\u8005\u5219\u6d89\u53ca\u968f\u673a\u8fc7\u7a0b\u4ee5\u53ca\u6df1\u5165\u7684\u7406\u8bba\u5185\u5bb9\u3002\u4e24\u8005\u90fd\u975e\u5e38\u6ce8\u91cd\u7406\u8bba\u548c\u5b9e\u8df5\u7684\u7ed3\u5408\uff0c\u6709\u4e30\u5bcc\u7684\u7b97\u6cd5\u5b9e\u9645\u8fd0\u7528\u5b9e\u4f8b\uff0c\u540e\u8005\u8fd8\u6709\u5927\u91cf\u7684 Python \u7f16\u7a0b\u4f5c\u4e1a\u6765\u8ba9\u5b66\u751f\u8fd0\u7528\u6982\u7387\u8bba\u7684\u77e5\u8bc6\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u3002","title":"\u79bb\u6563\u6570\u5b66\u4e0e\u6982\u7387\u8bba"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_11","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u57f9\u517b\u8ba1\u7b97\u601d\u7ef4\u662f\u5f88\u91cd\u8981\u7684\uff0c\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u3001\u79bb\u6563\u5316\uff0c\u8ba1\u7b97\u673a\u7684\u6a21\u62df\u3001\u5206\u6790\uff0c\u662f\u4e00\u9879\u5f88\u91cd\u8981\u7684\u80fd\u529b\u3002\u800c\u8fd9\u4e24\u5e74\u5f00\u59cb\u98ce\u9761\u7684\uff0c\u7531 MIT \u6253\u9020\u7684 Julia \u7f16\u7a0b\u8bed\u8a00\u4ee5\u5176 C \u4e00\u6837\u7684\u901f\u5ea6\u548c Python \u4e00\u6837\u53cb\u597d\u7684\u8bed\u6cd5\u5728\u6570\u503c\u8ba1\u7b97\u9886\u57df\u6709\u4e00\u7edf\u5929\u4e0b\u4e4b\u52bf\uff0cMIT \u7684\u8bb8\u591a\u6570\u5b66\u8bfe\u7a0b\u4e5f\u5f00\u59cb\u7528 Julia \u4f5c\u4e3a\u6559\u5b66\u5de5\u5177\uff0c\u628a\u8270\u6df1\u7684\u6570\u5b66\u7406\u8bba\u7528\u76f4\u89c2\u6e05\u6670\u7684\u4ee3\u7801\u5c55\u793a\u51fa\u6765\u3002 ComputationalThinking \u662f MIT \u5f00\u8bbe\u7684\u4e00\u95e8\u8ba1\u7b97\u601d\u7ef4\u5165\u95e8\u8bfe\uff0c\u6240\u6709\u8bfe\u7a0b\u5185\u5bb9\u5168\u90e8\u5f00\u6e90\uff0c\u53ef\u4ee5\u5728\u8bfe\u7a0b\u7f51\u7ad9\u76f4\u63a5\u8bbf\u95ee\u3002\u8fd9\u95e8\u8bfe\u5229\u7528 Julia \u7f16\u7a0b\u8bed\u8a00\uff0c\u5728\u56fe\u50cf\u5904\u7406\u3001\u793e\u4f1a\u79d1\u5b66\u4e0e\u6570\u636e\u79d1\u5b66\u3001\u6c14\u5019\u5b66\u5efa\u6a21\u4e09\u4e2a topic \u4e0b\u5e26\u9886\u5b66\u751f\u7406\u89e3\u7b97\u6cd5\u3001\u6570\u5b66\u5efa\u6a21\u3001\u6570\u636e\u5206\u6790\u3001\u4ea4\u4e92\u8bbe\u8ba1\u3001\u56fe\u4f8b\u5c55\u793a\uff0c\u8ba9\u5b66\u751f\u4f53\u9a8c\u8ba1\u7b97\u4e0e\u79d1\u5b66\u7684\u7f8e\u5999\u7ed3\u5408\u3002\u5185\u5bb9\u867d\u7136\u4e0d\u96be\uff0c\u4f46\u7ed9\u6211\u6700\u6df1\u523b\u7684\u611f\u53d7\u5c31\u662f\uff0c\u79d1\u5b66\u7684\u9b45\u529b\u5e76\u4e0d\u662f\u6545\u5f04\u7384\u865a\u7684\u8270\u6df1\u7406\u8bba\uff0c\u4e0d\u662f\u8bd8\u5c48\u8071\u7259\u7684\u672f\u8bed\u884c\u8bdd\uff0c\u800c\u662f\u7528\u76f4\u89c2\u751f\u52a8\u7684\u6848\u4f8b\uff0c\u7528\u7b80\u7ec3\u6df1\u523b\u7684\u8bed\u8a00\uff0c\u8ba9\u6bcf\u4e2a\u666e\u901a\u4eba\u90fd\u80fd\u7406\u89e3\u3002 \u4e0a\u5b8c\u4e0a\u9762\u7684\u4f53\u9a8c\u8bfe\u4e4b\u540e\uff0c\u5982\u679c\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u4e0d\u59a8\u8bd5\u8bd5 MIT \u7684 18.330 : Introduction to numerical analysis \uff0c\u8fd9\u95e8\u8bfe\u7684\u7f16\u7a0b\u4f5c\u4e1a\u540c\u6837\u4f1a\u7528 Julia \u7f16\u7a0b\u8bed\u8a00\uff0c\u4e0d\u8fc7\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u90fd\u4e0a\u4e86\u4e00\u4e2a\u53f0\u9636\u3002\u5185\u5bb9\u6d89\u53ca\u4e86\u6d6e\u70b9\u7f16\u7801\u3001Root finding\u3001\u7ebf\u6027\u7cfb\u7edf\u3001\u5fae\u5206\u65b9\u7a0b\u7b49\u7b49\u65b9\u9762\uff0c\u6574\u95e8\u8bfe\u7684\u4e3b\u65e8\u5c31\u662f\u8ba9\u4f60\u5229\u7528\u79bb\u6563\u5316\u7684\u8ba1\u7b97\u673a\u8868\u793a\u53bb\u4f30\u8ba1\u548c\u903c\u8fd1\u4e00\u4e2a\u6570\u5b66\u4e0a\u8fde\u7eed\u7684\u6982\u5ff5\u3002\u8fd9\u95e8\u8bfe\u7684\u6559\u6388\u8fd8\u4e13\u95e8\u64b0\u5199\u4e86\u4e00\u672c\u914d\u5957\u7684\u5f00\u6e90\u6559\u6750 Fundamentals of Numerical Computation \uff0c\u91cc\u9762\u9644\u6709\u4e30\u5bcc\u7684 Julia \u4ee3\u7801\u5b9e\u4f8b\u548c\u4e25\u8c28\u7684\u516c\u5f0f\u63a8\u5bfc\u3002 \u5982\u679c\u4f60\u8fd8\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u8fd8\u6709 MIT \u7684\u6570\u503c\u5206\u6790\u7814\u7a76\u751f\u8bfe\u7a0b 18.335: Introduction to numerical method \u4f9b\u4f60\u53c2\u8003\u3002","title":"\u6570\u503c\u5206\u6790"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_12","text":"\u5982\u679c\u4e16\u95f4\u4e07\u7269\u7684\u8fd0\u52a8\u53d1\u5c55\u90fd\u80fd\u7528\u65b9\u7a0b\u6765\u523b\u753b\u548c\u63cf\u8ff0\uff0c\u8fd9\u662f\u4e00\u4ef6\u591a\u4e48\u9177\u7684\u4e8b\u60c5\u5440\uff01\u867d\u7136\u51e0\u4e4e\u4efb\u4f55\u4e00\u6240\u5b66\u6821\u7684 CS \u57f9\u517b\u65b9\u6848\u4e2d\u90fd\u6ca1\u6709\u5fae\u5206\u65b9\u7a0b\u76f8\u5173\u7684\u5fc5\u4fee\u8bfe\u7a0b\uff0c\u4f46\u6211\u8fd8\u662f\u89c9\u5f97\u638c\u63e1\u5b83\u4f1a\u8d4b\u4e88\u4f60\u4e00\u4e2a\u65b0\u7684\u89c6\u89d2\u6765\u5ba1\u89c6\u8fd9\u4e2a\u4e16\u754c\u3002 \u7531\u4e8e\u5fae\u5206\u65b9\u7a0b\u4e2d\u5f80\u5f80\u4f1a\u7528\u5230\u5f88\u591a\u590d\u53d8\u51fd\u6570\u7684\u77e5\u8bc6\uff0c\u6240\u4ee5\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003 MIT18.04: Complex variables functions \u7684\u8bfe\u7a0b notes \u6765\u8865\u9f50\u5148\u4fee\u77e5\u8bc6\u3002 MIT18.03: differential equations \u4e3b\u8981\u8986\u76d6\u4e86\u5e38\u5fae\u5206\u65b9\u7a0b\u7684\u6c42\u89e3\uff0c\u5728\u6b64\u57fa\u7840\u4e4b\u4e0a MIT18.152: Partial differential equations \u5219\u4f1a\u6df1\u5165\u504f\u5fae\u5206\u65b9\u7a0b\u7684\u5efa\u6a21\u4e0e\u6c42\u89e3\u3002\u638c\u63e1\u4e86\u5fae\u5206\u65b9\u7a0b\u8fd9\u4e00\u6709\u529b\u5de5\u5177\uff0c\u76f8\u4fe1\u5bf9\u4e8e\u4f60\u7684\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u80fd\u529b\u4ee5\u53ca\u4ece\u4f17\u591a\u566a\u58f0\u53d8\u91cf\u4e2d\u628a\u63e1\u672c\u8d28\u7684\u76f4\u89c9\u90fd\u4f1a\u6709\u5f88\u5927\u5e2e\u52a9\u3002","title":"\u5fae\u5206\u65b9\u7a0b"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_13","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u6211\u7ecf\u5e38\u542c\u5230\u6570\u5b66\u65e0\u7528\u8bba\u7684\u8bba\u65ad\uff0c\u5bf9\u6b64\u6211\u4e0d\u6562\u82df\u540c\u4f46\u4e5f\u65e0\u6743\u53cd\u5bf9\uff0c\u4f46\u82e5\u51e1\u4e8b\u90fd\u786c\u8981\u4e89\u51fa\u4e2a\u6709\u7528\u548c\u65e0\u7528\u7684\u533a\u522b\u6765\uff0c\u5012\u4e5f\u7740\u5b9e\u65e0\u8da3\uff0c\u56e0\u6b64\u4e0b\u9762\u8fd9\u4e9b\u9762\u5411\u9ad8\u5e74\u7ea7\u751a\u81f3\u7814\u7a76\u751f\u7684\u6570\u5b66\u8bfe\u7a0b\uff0c\u5927\u5bb6\u6309\u5174\u8da3\u81ea\u53d6\u6240\u9700\u3002","title":"\u6570\u5b66\u9ad8\u9636"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_14","text":"Standford EE364A: Convex Optimization","title":"\u51f8\u4f18\u5316"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_15","text":"MIT6.441: Information Theory","title":"\u4fe1\u606f\u8bba"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_16","text":"MIT18.650: Statistics for Applications","title":"\u5e94\u7528\u7edf\u8ba1\u5b66"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_17","text":"MIT18.781: Theory of Numbers","title":"\u521d\u7b49\u6570\u8bba"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_18","text":"Standford CS255: Cryptography","title":"\u5bc6\u7801\u5b66"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_19","text":"Languages are tools, you choose the right tool to do the right thing. Since there's no universally perfect tool, there's no universally perfect language.","title":"\u7f16\u7a0b\u5165\u95e8"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#shell","text":"MIT-Missing-Semester","title":"Shell"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#python","text":"CS50P: CS50's Introduction to Programming with Python Harvard CS50: This is CS50x UCB CS61A: Structure and Interpretation of Computer Programs","title":"Python"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#c","text":"Stanford CS106B/X: Programming Abstractions Stanford CS106L: Standard C++ Programming","title":"C++"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#rust","text":"Stanford CS110L: Safety in Systems Programming","title":"Rust"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#ocaml","text":"Cornell CS3110 textbook: Functional Programming in OCaml","title":"OCaml"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_20","text":"","title":"\u7535\u5b50\u57fa\u7840"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_21","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u4e86\u89e3\u4e00\u4e9b\u57fa\u7840\u7684\u7535\u8def\u77e5\u8bc6\uff0c\u611f\u53d7\u4ece\u4f20\u611f\u5668\u6536\u96c6\u6570\u636e\u5230\u6570\u636e\u5206\u6790\u518d\u5230\u7b97\u6cd5\u9884\u6d4b\u6574\u6761\u6d41\u6c34\u7ebf\uff0c\u5bf9\u4e8e\u540e\u7eed\u77e5\u8bc6\u7684\u5b66\u4e60\u4ee5\u53ca\u8ba1\u7b97\u601d\u7ef4\u7684\u57f9\u517b\u8fd8\u662f\u5f88\u6709\u5e2e\u52a9\u7684\u3002 EE16A&B: Designing Information Devices and Systems I&II \u662f\u4f2f\u514b\u5229 EE \u5b66\u751f\u7684\u5927\u4e00\u5165\u95e8\u8bfe\uff0c\u5176\u4e2d EE16A \u6ce8\u91cd\u901a\u8fc7\u7535\u8def\u4ece\u5b9e\u9645\u73af\u5883\u4e2d\u6536\u96c6\u548c\u5206\u6790\u6570\u636e\uff0c\u800c EE16B \u5219\u4fa7\u91cd\u4ece\u8fd9\u4e9b\u6536\u96c6\u5230\u7684\u6570\u636e\u8fdb\u884c\u5206\u6790\u5e76\u505a\u51fa\u9884\u6d4b\u884c\u4e3a\u3002","title":"\u7535\u8def\u57fa\u7840"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_22","text":"\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u662f\u4e00\u95e8\u6211\u89c9\u5f97\u975e\u5e38\u503c\u5f97\u4e00\u4e0a\u7684\u8bfe\uff0c\u6700\u521d\u5b66\u5b83\u53ea\u662f\u4e3a\u4e86\u6ee1\u8db3\u6211\u5bf9\u5085\u91cc\u53f6\u53d8\u6362\u7684\u597d\u5947\uff0c\u4f46\u5b66\u5b8c\u4e4b\u540e\u6211\u624d\u4e0d\u7981\u611f\u53f9\uff0c\u5085\u7acb\u53f6\u53d8\u6362\u7ed9\u6211\u63d0\u4f9b\u4e86\u4e00\u4e2a\u5168\u65b0\u7684\u89c6\u89d2\u53bb\u770b\u5f85\u8fd9\u4e2a\u4e16\u754c\uff0c\u5c31\u5982\u540c\u5fae\u5206\u65b9\u7a0b\u4e00\u6837\uff0c\u8ba9\u4f60\u6c89\u6d78\u5728\u7528\u6570\u5b66\u53bb\u7cbe\u786e\u63cf\u7ed8\u548c\u523b\u753b\u8fd9\u4e2a\u4e16\u754c\u7684\u4f18\u96c5\u4e0e\u795e\u5947\u4e4b\u4e2d\u3002 MIT 6.003: signal and systems \u63d0\u4f9b\u4e86\u5168\u90e8\u7684\u8bfe\u7a0b\u5f55\u5f71\u3001\u4e66\u9762\u4f5c\u4e1a\u4ee5\u53ca\u7b54\u6848\u3002\u4e5f\u53ef\u4ee5\u53bb\u770b\u8fd9\u95e8\u8bfe\u7684 \u8fdc\u53e4\u7248\u672c \u800c UCB EE120: Signal and Systems \u5173\u4e8e\u5085\u7acb\u53f6\u53d8\u6362\u7684 notes \u5199\u5f97\u975e\u5e38\u597d\uff0c\u5e76\u4e14\u63d0\u4f9b\u4e866 \u4e2a\u975e\u5e38\u6709\u8da3\u7684 Python \u7f16\u7a0b\u4f5c\u4e1a\uff0c\u8ba9\u4f60\u5b9e\u8df5\u4e2d\u8fd0\u7528\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u7684\u7406\u8bba\u4e0e\u7b97\u6cd5\u3002","title":"\u4fe1\u53f7\u4e0e\u7cfb\u7edf"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_23","text":"\u7b97\u6cd5\u662f\u8ba1\u7b97\u673a\u79d1\u5b66\u7684\u6838\u5fc3\uff0c\u4e5f\u662f\u51e0\u4e4e\u4e00\u5207\u4e13\u4e1a\u8bfe\u7a0b\u7684\u57fa\u7840\u3002\u5982\u4f55\u5c06\u5b9e\u9645\u95ee\u9898\u901a\u8fc7\u6570\u5b66\u62bd\u8c61\u8f6c\u5316\u4e3a\u7b97\u6cd5\u95ee\u9898\uff0c\u5e76\u9009\u7528\u5408\u9002\u7684\u6570\u636e\u7ed3\u6784\u5728\u65f6\u95f4\u548c\u5185\u5b58\u5927\u5c0f\u7684\u9650\u5236\u4e0b\u5c06\u5176\u89e3\u51b3\u662f\u7b97\u6cd5\u8bfe\u7684\u6c38\u6052\u4e3b\u9898\u3002\u5982\u679c\u4f60\u53d7\u591f\u4e86\u8001\u5e08\u7684\u7167\u672c\u5ba3\u79d1\uff0c\u90a3\u4e48\u6211\u5f3a\u70c8\u63a8\u8350\u4f2f\u514b\u5229\u7684 UCB CS61B: Data Structures and Algorithms \u548c\u666e\u6797\u65af\u987f\u7684 Coursera: Algorithms I & II \uff0c\u8fd9\u4e24\u95e8\u8bfe\u7684\u90fd\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\u5e76\u4e14\u4f1a\u6709\u4e30\u5bcc\u4e14\u6709\u8da3\u7684\u7f16\u7a0b\u5b9e\u9a8c\u5c06\u7406\u8bba\u4e0e\u77e5\u8bc6\u7ed3\u5408\u8d77\u6765\u3002 \u4ee5\u4e0a\u4e24\u95e8\u8bfe\u7a0b\u90fd\u662f\u57fa\u4e8e Java \u8bed\u8a00\uff0c\u5982\u679c\u4f60\u60f3\u5b66\u4e60 C/C++ \u63cf\u8ff0\u7684\u7248\u672c\uff0c\u53ef\u4ee5\u53c2\u8003\u65af\u5766\u798f\u7684\u6570\u636e\u7ed3\u6784\u4e0e\u57fa\u7840\u7b97\u6cd5\u8bfe\u7a0b Stanford CS106B/X: Programming Abstractions \u3002\u504f\u597d Python \u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60 MIT \u7684\u7b97\u6cd5\u5165\u95e8\u8bfe MIT 6.006: Introduction to Algorithms \u5bf9\u4e00\u4e9b\u66f4\u9ad8\u7ea7\u7684\u7b97\u6cd5\u4ee5\u53ca NP \u95ee\u9898\u611f\u5174\u8da3\u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60\u4f2f\u514b\u5229\u7684\u7b97\u6cd5\u8bbe\u8ba1\u4e0e\u5206\u6790\u8bfe\u7a0b UCB CS170: Efficient Algorithms and Intractable Problems \u6216\u8005 MIT \u7684\u9ad8\u9636\u7b97\u6cd5 MIT 6.046: Design and Analysis of Algorithms \u3002","title":"\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_24","text":"","title":"\u8f6f\u4ef6\u5de5\u7a0b"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_25","text":"\u4e00\u4efd\u201c\u80fd\u8dd1\u201d\u7684\u4ee3\u7801\uff0c\u548c\u4e00\u4efd\u9ad8\u8d28\u91cf\u7684\u5de5\u4e1a\u7ea7\u4ee3\u7801\u662f\u6709\u672c\u8d28\u533a\u522b\u7684\u3002\u56e0\u6b64\u6211\u975e\u5e38\u63a8\u8350\u4f4e\u5e74\u7ea7\u7684\u540c\u5b66\u5b66\u4e60\u4e00\u4e0b MIT 6.031: Software Construction \u8fd9\u95e8\u8bfe\uff0c\u5b83\u4f1a\u4ee5 Java \u8bed\u8a00\u4e3a\u57fa\u7840\uff0c\u4ee5\u4e30\u5bcc\u7ec6\u81f4\u7684\u9605\u8bfb\u6750\u6599\u548c\u7cbe\u5fc3\u8bbe\u8ba1\u7684\u7f16\u7a0b\u7ec3\u4e60\u4f20\u6388\u5982\u4f55\u7f16\u5199 \u4e0d\u6613\u51fa bug\u3001\u7b80\u660e\u6613\u61c2\u3001\u6613\u4e8e\u7ef4\u62a4\u4fee\u6539 \u7684\u9ad8\u8d28\u91cf\u4ee3\u7801\u3002\u5927\u5230\u5b8f\u89c2\u6570\u636e\u7ed3\u6784\u8bbe\u8ba1\uff0c\u5c0f\u5230\u5982\u4f55\u5199\u6ce8\u91ca\uff0c\u9075\u5faa\u8fd9\u4e9b\u524d\u4eba\u603b\u7ed3\u7684\u7ec6\u8282\u548c\u7ecf\u9a8c\uff0c\u5bf9\u4e8e\u4f60\u6b64\u540e\u7684\u7f16\u7a0b\u751f\u6daf\u5927\u6709\u88e8\u76ca\u3002","title":"\u5165\u95e8\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_26","text":"\u5f53\u7136\uff0c\u5982\u679c\u4f60\u60f3\u7cfb\u7edf\u6027\u5730\u4e0a\u4e00\u95e8\u8f6f\u4ef6\u5de5\u7a0b\u7684\u8bfe\u7a0b\uff0c\u90a3\u6211\u63a8\u8350\u7684\u662f\u4f2f\u514b\u5229\u7684 UCB CS169: software engineering \u3002\u4f46\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u548c\u5927\u591a\u5b66\u6821\uff08\u5305\u62ec\u8d35\u6821\uff09\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u7a0b\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4e0d\u4f1a\u6d89\u53ca\u4f20\u7edf\u7684 design and document \u6a21\u5f0f\uff0c\u5373\u5f3a\u8c03\u5404\u79cd\u7c7b\u56fe\u3001\u6d41\u7a0b\u56fe\u53ca\u6587\u6863\u8bbe\u8ba1\uff0c\u800c\u662f\u91c7\u7528\u8fd1\u4e9b\u5e74\u6d41\u884c\u8d77\u6765\u7684\u5c0f\u56e2\u961f\u5feb\u901f\u8fed\u4ee3 Agile Develepment \u5f00\u53d1\u6a21\u5f0f\u4ee5\u53ca\u5229\u7528\u4e91\u5e73\u53f0\u7684 Software as a service \u670d\u52a1\u6a21\u5f0f\u3002","title":"\u4e13\u4e1a\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_27","text":"","title":"\u4f53\u7cfb\u7ed3\u6784"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_28","text":"\u4ece\u5c0f\u6211\u5c31\u4e00\u76f4\u542c\u8bf4\uff0c\u8ba1\u7b97\u673a\u7684\u4e16\u754c\u662f\u7531 01 \u6784\u6210\u7684\uff0c\u6211\u4e0d\u7406\u89e3\u4f46\u5927\u53d7\u9707\u64bc\u3002\u5982\u679c\u4f60\u7684\u5185\u5fc3\u4e5f\u6000\u6709\u8fd9\u4efd\u597d\u5947\uff0c\u4e0d\u59a8\u82b1\u4e00\u5230\u4e24\u4e2a\u6708\u7684\u65f6\u95f4\u5b66\u4e60 Coursera: Nand2Tetris \u8fd9\u95e8\u65e0\u95e8\u69db\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002\u8fd9\u95e8\u9ebb\u96c0\u867d\u5c0f\u4e94\u810f\u4ff1\u5168\u7684\u8bfe\u7a0b\u4f1a\u4ece 01 \u5f00\u59cb\u8ba9\u4f60\u4eb2\u624b\u9020\u51fa\u4e00\u53f0\u8ba1\u7b97\u673a\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c\u4fc4\u7f57\u65af\u65b9\u5757\u5c0f\u6e38\u620f\u3002\u4e00\u95e8\u8bfe\u91cc\u6db5\u76d6\u4e86\u7f16\u8bd1\u3001\u865a\u62df\u673a\u3001\u6c47\u7f16\u3001\u4f53\u7cfb\u7ed3\u6784\u3001\u6570\u5b57\u7535\u8def\u3001\u903b\u8f91\u95e8\u7b49\u7b49\u4ece\u4e0a\u81f3\u4e0b\u3001\u4ece\u8f6f\u81f3\u786c\u7684\u5404\u7c7b\u77e5\u8bc6\uff0c\u975e\u5e38\u5168\u9762\u3002\u96be\u5ea6\u4e0a\u4e5f\u662f\u901a\u8fc7\u7cbe\u5fc3\u7684\u8bbe\u8ba1\uff0c\u7565\u53bb\u4e86\u4f17\u591a\u73b0\u4ee3\u8ba1\u7b97\u673a\u590d\u6742\u7684\u7ec6\u8282\uff0c\u63d0\u53d6\u51fa\u4e86\u6700\u6838\u5fc3\u672c\u8d28\u7684\u4e1c\u897f\uff0c\u529b\u56fe\u8ba9\u6bcf\u4e2a\u4eba\u90fd\u80fd\u7406\u89e3\u3002\u5728\u4f4e\u5e74\u7ea7\uff0c\u5982\u679c\u5c31\u80fd\u4ece\u5b8f\u89c2\u4e0a\u5efa\u7acb\u5bf9\u6574\u4e2a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7684\u9e1f\u77b0\u56fe\uff0c\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002","title":"\u5165\u95e8\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_29","text":"\u5f53\u7136\uff0c\u5982\u679c\u60f3\u6df1\u5165\u73b0\u4ee3\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u7684\u590d\u6742\u7ec6\u8282\uff0c\u8fd8\u5f97\u4e0a\u4e00\u95e8\u5927\u5b66\u672c\u79d1\u96be\u5ea6\u7684\u8bfe\u7a0b UCB CS61C: Great Ideas in Computer Architecture \u3002UC Berkeley \u4f5c\u4e3a RISC-V \u67b6\u6784\u7684\u53d1\u6e90\u5730\uff0c\u5728\u4f53\u7cfb\u7ed3\u6784\u9886\u57df\u7b97\u5f97\u4e0a\u9996\u5c48\u4e00\u6307\u3002\u5176\u8bfe\u7a0b\u975e\u5e38\u6ce8\u91cd\u5b9e\u8df5\uff0c\u4f60\u4f1a\u5728 Project \u4e2d\u624b\u5199\u6c47\u7f16\u6784\u9020\u795e\u7ecf\u7f51\u7edc\uff0c\u4ece\u96f6\u5f00\u59cb\u642d\u5efa\u4e00\u4e2a CPU\uff0c\u8fd9\u4e9b\u5b9e\u8df5\u90fd\u4f1a\u8ba9\u4f60\u5bf9\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u6709\u66f4\u4e3a\u6df1\u5165\u7684\u7406\u89e3\uff0c\u800c\u4e0d\u662f\u4ec5\u505c\u7559\u4e8e\u201c\u53d6\u6307\u8bd1\u7801\u6267\u884c\u8bbf\u5b58\u5199\u56de\u201d\u7684\u5355\u8c03\u80cc\u8bf5\u91cc\u3002","title":"\u4e13\u4e1a\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_30","text":"\u8ba1\u7b97\u673a\u7cfb\u7edf\u662f\u4e00\u4e2a\u5e9e\u6742\u800c\u6df1\u523b\u7684\u4e3b\u9898\uff0c\u5728\u6df1\u5165\u5b66\u4e60\u67d0\u4e2a\u7ec6\u5206\u9886\u57df\u4e4b\u524d\uff0c\u5bf9\u5404\u4e2a\u9886\u57df\u6709\u4e00\u4e2a\u5b8f\u89c2\u6982\u5ff5\u6027\u7684\u7406\u89e3\uff0c\u5bf9\u4e00\u4e9b\u901a\u7528\u6027\u7684\u8bbe\u8ba1\u539f\u5219\u6709\u6240\u77e5\u6653\uff0c\u4f1a\u8ba9\u4f60\u5728\u4e4b\u540e\u7684\u6df1\u5165\u5b66\u4e60\u4e2d\u4e0d\u65ad\u5f3a\u5316\u4e00\u4e9b\u6700\u4e3a\u6838\u5fc3\u4e43\u81f3\u54f2\u5b66\u7684\u6982\u5ff5\uff0c\u800c\u4e0d\u4f1a\u684e\u688f\u4e8e\u590d\u6742\u7684\u5185\u90e8\u7ec6\u8282\u548c\u5404\u79cd trick\u3002\u56e0\u4e3a\u5728\u6211\u770b\u6765\uff0c\u5b66\u4e60\u7cfb\u7edf\u6700\u5173\u952e\u7684\u8fd8\u662f\u60f3\u8ba9\u4f60\u9886\u609f\u5230\u8fd9\u4e9b\u6700\u6838\u5fc3\u7684\u4e1c\u897f\uff0c\u4ece\u800c\u80fd\u591f\u8bbe\u8ba1\u548c\u5b9e\u73b0\u51fa\u5c5e\u4e8e\u81ea\u5df1\u7684\u7cfb\u7edf\u3002 MIT6.033: System Engineering \u662f MIT \u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u4e3b\u9898\u6d89\u53ca\u4e86\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f51\u7edc\u3001\u5206\u5e03\u5f0f\u548c\u7cfb\u7edf\u5b89\u5168\uff0c\u9664\u4e86\u77e5\u8bc6\u70b9\u7684\u4f20\u6388\u5916\uff0c\u8fd9\u95e8\u8bfe\u8fd8\u4f1a\u8bb2\u6388\u4e00\u4e9b\u5199\u4f5c\u548c\u8868\u8fbe\u4e0a\u7684\u6280\u5de7\uff0c\u8ba9\u4f60\u5b66\u4f1a\u5982\u4f55\u8bbe\u8ba1\u5e76\u5411\u522b\u4eba\u4ecb\u7ecd\u548c\u5206\u6790\u81ea\u5df1\u7684\u7cfb\u7edf\u3002\u8fd9\u672c\u4e66\u914d\u5957\u7684\u6559\u6750 Principles of Computer System Design: An Introduction \u4e5f\u5199\u5f97\u975e\u5e38\u597d\uff0c\u63a8\u8350\u5927\u5bb6\u9605\u8bfb\u3002 CMU 15-213: Introduction to Computer System \u662f CMU \u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u5185\u5bb9\u8986\u76d6\u4e86\u4f53\u7cfb\u7ed3\u6784\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u94fe\u63a5\u3001\u5e76\u884c\u3001\u7f51\u7edc\u7b49\u7b49\uff0c\u517c\u5177\u5e7f\u5ea6\u548c\u6df1\u5ea6\uff0c\u914d\u5957\u7684\u6559\u6750 Computer Systems: A Programmer's Perspective \u4e5f\u662f\u8d28\u91cf\u6781\u9ad8\uff0c\u5f3a\u70c8\u5efa\u8bae\u9605\u8bfb\u3002","title":"\u7cfb\u7edf\u5165\u95e8"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_31","text":"\u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u5185\u6838\u66f4\u80fd\u52a0\u6df1\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u7684\u7406\u89e3\u4e86\u3002 \u64cd\u4f5c\u7cfb\u7edf\u4f5c\u4e3a\u5404\u7c7b\u7eb7\u7e41\u590d\u6742\u7684\u5e95\u5c42\u786c\u4ef6\u865a\u62df\u5316\u51fa\u4e00\u5957\u89c4\u8303\u4f18\u96c5\u7684\u62bd\u8c61\uff0c\u7ed9\u6240\u6709\u5e94\u7528\u8f6f\u4ef6\u63d0\u4f9b\u4e30\u5bcc\u7684\u529f\u80fd\u652f\u6301\u3002\u4e86\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u8bbe\u8ba1\u539f\u5219\u548c\u5185\u90e8\u539f\u7406\u5bf9\u4e8e\u4e00\u4e2a\u4e0d\u6ee1\u8db3\u4e8e\u5f53\u8c03\u5305\u4fa0\u7684\u7a0b\u5e8f\u5458\u6765\u8bf4\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u51fa\u4e8e\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u7684\u70ed\u7231\uff0c\u6211\u4e0a\u8fc7\u56fd\u5185\u5916\u5f88\u591a\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\uff0c\u5b83\u4eec\u5404\u6709\u4fa7\u91cd\u548c\u4f18\u52a3\uff0c\u5927\u5bb6\u53ef\u4ee5\u6839\u636e\u5174\u8da3\u5404\u53d6\u6240\u9700\u3002 MIT 6.S081: Operating System Engineering \uff0cMIT \u8457\u540d PDOS \u5b9e\u9a8c\u5ba4\u51fa\u54c1\uff0c11 \u4e2a Project \u8ba9\u4f60\u5728\u4e00\u4e2a\u5b9e\u73b0\u975e\u5e38\u4f18\u96c5\u7684\u7c7bUnix\u64cd\u4f5c\u7cfb\u7edfxv6\u4e0a\u589e\u52a0\u5404\u7c7b\u529f\u80fd\u6a21\u5757\u3002\u8fd9\u95e8\u8bfe\u4e5f\u8ba9\u6211\u6df1\u523b\u8ba4\u8bc6\u5230\uff0c\u505a\u7cfb\u7edf\u4e0d\u662f\u9760 PPT \u5ff5\u51fa\u6765\u7684\uff0c\u662f\u5f97\u51e0\u4e07\u884c\u4ee3\u7801\u4e00\u70b9\u70b9\u7d2f\u8d77\u6765\u7684\u3002 UCB CS162: Operating System \uff0c\u4f2f\u514b\u5229\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\uff0c\u91c7\u7528\u548c Stanford \u540c\u6837\u7684 Project \u2014\u2014 \u4e00\u4e2a\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf Pintos\u3002\u6211\u4f5c\u4e3a\u5317\u4eac\u5927\u5b662022\u5e74\u548c2023\u5e74\u6625\u5b63\u5b66\u671f\u64cd\u4f5c\u7cfb\u7edf\u5b9e\u9a8c\u73ed\u7684\u52a9\u6559\uff0c\u5f15\u5165\u5e76\u6539\u5584\u4e86\u8fd9\u4e2a Project\uff0c\u8bfe\u7a0b\u8d44\u6e90\u4e5f\u4f1a\u5168\u90e8\u5f00\u6e90\uff0c\u5177\u4f53\u53c2\u89c1 \u8bfe\u7a0b\u7f51\u7ad9 \u3002 NJU: Operating System Design and Implementation \uff0c\u5357\u4eac\u5927\u5b66\u7684\u848b\u708e\u5ca9\u8001\u5e08\u5f00\u8bbe\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u848b\u8001\u5e08\u4ee5\u5176\u72ec\u5230\u7684\u7cfb\u7edf\u89c6\u89d2\u7ed3\u5408\u4e30\u5bcc\u7684\u4ee3\u7801\u793a\u4f8b\u5c06\u4f17\u591a\u64cd\u4f5c\u7cfb\u7edf\u7684\u6982\u5ff5\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\uff0c\u6b64\u5916\u8fd9\u95e8\u8bfe\u7684\u5168\u90e8\u8bfe\u7a0b\u5185\u5bb9\u90fd\u662f\u4e2d\u6587\u7684\uff0c\u975e\u5e38\u65b9\u4fbf\u5927\u5bb6\u5b66\u4e60\u3002 HIT OS: Operating System \uff0c\u54c8\u5c14\u6ee8\u5de5\u4e1a\u5927\u5b66\u7684\u674e\u6cbb\u519b\u8001\u5e08\u5f00\u8bbe\u7684\u4e2d\u6587\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u674e\u8001\u5e08\u7684\u8bfe\u7a0b\u57fa\u4e8e Linux 0.11 \u6e90\u7801\uff0c\u5341\u5206\u6ce8\u91cd\u4ee3\u7801\u5b9e\u8df5\uff0c\u5e76\u7ad9\u5728\u5b66\u751f\u89c6\u89d2\u5c06\u64cd\u4f5c\u7cfb\u7edf\u7684\u6765\u9f99\u53bb\u8109\u5a13\u5a13\u9053\u6765\u3002","title":"\u64cd\u4f5c\u7cfb\u7edf"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_32","text":"\u60f3\u5fc5\u8fd9\u4e24\u5e74\u5404\u7c7b CS \u8bb2\u5ea7\u91cc\u6700\u5e38\u542c\u5230\u7684\u8bdd\u5c31\u662f\u201c\u6469\u5c14\u5b9a\u5f8b\u6b63\u5728\u8d70\u5411\u7ec8\u7ed3\u201d\uff0c\u6b64\u8bdd\u4e0d\u5047\uff0c\u5f53\u5355\u6838\u80fd\u529b\u8fbe\u5230\u4e0a\u9650\u65f6\uff0c\u591a\u6838\u4e43\u81f3\u4f17\u6838\u67b6\u6784\u5982\u65e5\u4e2d\u5929\u3002\u786c\u4ef6\u7684\u53d8\u5316\u5e26\u6765\u7684\u662f\u4e0a\u5c42\u7f16\u7a0b\u903b\u8f91\u7684\u9002\u5e94\u4e0e\u6539\u53d8\uff0c\u8981\u60f3\u5145\u5206\u5229\u7528\u786c\u4ef6\u6027\u80fd\uff0c\u7f16\u5199\u5e76\u884c\u7a0b\u5e8f\u51e0\u4e4e\u6210\u4e86\u7a0b\u5e8f\u5458\u7684\u5fc5\u5907\u6280\u80fd\u3002\u4e0e\u6b64\u540c\u65f6\uff0c\u6df1\u5ea6\u5b66\u4e60\u7684\u5174\u8d77\u5bf9\u8ba1\u7b97\u673a\u7b97\u529b\u4e0e\u5b58\u50a8\u7684\u8981\u6c42\u90fd\u8fbe\u5230\u4e86\u524d\u6240\u672a\u6709\u7684\u9ad8\u5ea6\uff0c\u5927\u89c4\u6a21\u96c6\u7fa4\u7684\u90e8\u7f72\u548c\u4f18\u5316\u4e5f\u6210\u4e3a\u70ed\u95e8\u6280\u672f\u8bdd\u9898\u3002","title":"\u5e76\u884c\u4e0e\u5206\u5e03\u5f0f\u7cfb\u7edf"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_33","text":"CMU 15-418/Stanford CS149: Parallel Computing","title":"\u5e76\u884c\u8ba1\u7b97"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_34","text":"MIT 6.824: Distributed System","title":"\u5206\u5e03\u5f0f\u7cfb\u7edf"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_35","text":"\u4e0d\u77e5\u9053\u4f60\u5f53\u5e74\u9009\u62e9\u8ba1\u7b97\u673a\u662f\u4e0d\u662f\u56e0\u4e3a\u6000\u7740\u4e00\u4e2a\u4e2d\u4e8c\u7684\u9ed1\u5ba2\u68a6\u60f3\uff0c\u4f46\u73b0\u5b9e\u5374\u662f\u6210\u4e3a\u9ed1\u5ba2\u9053\u963b\u4e14\u957f\u3002","title":"\u7cfb\u7edf\u5b89\u5168"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_36","text":"UCB CS161: Computer Security \u662f\u4f2f\u514b\u5229\u7684\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u4f1a\u6db5\u76d6\u6808\u653b\u51fb\u3001\u5bc6\u7801\u5b66\u3001\u7f51\u7ad9\u5b89\u5168\u3001\u7f51\u7edc\u5b89\u5168\u7b49\u7b49\u5185\u5bb9\u3002 ASU CSE365: Introduction to Cybersecurity \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66\u7684 Web \u5b89\u5168\u8bfe\u7a0b\uff0c\u4e3b\u8981\u6d89\u53ca\u6ce8\u5165\u3001\u6c47\u7f16\u4e0e\u5bc6\u7801\u5b66\u7684\u5185\u5bb9\u3002 ASU CSE466: Computer Systems Security \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66\u7684\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u6d89\u53ca\u5185\u5bb9\u5168\u9762\u3002\u95e8\u69db\u8f83\u9ad8\uff0c\u9700\u8981\u5bf9 Linux, C \u4e0e Python \u5145\u5206\u719f\u6089\u3002","title":"\u7406\u8bba\u8bfe\u7a0b"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_37","text":"\u638c\u63e1\u8fd9\u4e9b\u7406\u8bba\u77e5\u8bc6\u4e4b\u540e\uff0c\u8fd8\u9700\u8981\u5728\u5b9e\u8df5\u4e2d\u57f9\u517b\u548c\u953b\u70bc\u8fd9\u4e9b\u201c\u9ed1\u5ba2\u7d20\u517b\u201d\u3002 CTF \u593a\u65d7\u8d5b \u662f\u4e00\u9879\u6bd4\u8f83\u70ed\u95e8\u7684\u7cfb\u7edf\u5b89\u5168\u6bd4\u8d5b\uff0c\u8d5b\u9898\u4e2d\u4f1a\u878d\u4f1a\u8d2f\u901a\u5730\u8003\u5bdf\u4f60\u5bf9\u8ba1\u7b97\u673a\u5404\u4e2a\u9886\u57df\u77e5\u8bc6\u7684\u7406\u89e3\u548c\u8fd0\u7528\u3002\u5317\u5927\u4eca\u5e74\u4e5f\u6210\u529f\u4e3e\u529e\u4e86 \u7b2c 0 \u5c4a\u548c\u7b2c 1 \u5c4a \uff0c\u9f13\u52b1\u5927\u5bb6\u540e\u671f\u8e0a\u8dc3\u53c2\u4e0e\uff0c\u5728\u5b9e\u8df5\u4e2d\u63d0\u9ad8\u81ea\u5df1\u3002\u4e0b\u9762\u5217\u4e3e\u4e00\u4e9b\u6211\u5e73\u65f6\u5b66\u4e60\uff08\u6478\u9c7c\uff09\u7528\u5230\u7684\u8d44\u6e90\uff1a CTF-wiki CTF-101 Hacker-101","title":"\u5b9e\u8df5\u8bfe\u7a0b"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_38","text":"\u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a TCP/IP \u534f\u8bae\u6808\u66f4\u80fd\u52a0\u6df1\u5bf9\u8ba1\u7b97\u673a\u7f51\u7edc\u7684\u7406\u89e3\u4e86\u3002 \u5927\u540d\u9f0e\u9f0e\u7684 Stanford CS144: Computer Network \uff0c8 \u4e2a Project \u5e26\u4f60\u5b9e\u73b0\u6574\u4e2a TCP/IP \u534f\u8bae\u6808\u3002 \u5982\u679c\u4f60\u53ea\u662f\u60f3\u5728\u7406\u8bba\u4e0a\u5bf9\u8ba1\u7b97\u673a\u7f51\u7edc\u6709\u6240\u4e86\u89e3\uff0c\u90a3\u4e48\u63a8\u8350\u8ba1\u7f51\u8457\u540d\u6559\u6750\u300a\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u300b\u7684\u914d\u5957\u5b66\u4e60\u8d44\u6e90 Computer Networking: A Top-Down Approach \u3002","title":"\u8ba1\u7b97\u673a\u7f51\u7edc"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_39","text":"\u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u5173\u7cfb\u578b\u6570\u636e\u5e93\u66f4\u80fd\u52a0\u6df1\u5bf9\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u7406\u89e3\u4e86\u3002 CMU \u7684\u8457\u540d\u6570\u636e\u5e93\u795e\u8bfe CMU 15-445: Introduction to Database System \u4f1a\u901a\u8fc7 4 \u4e2a Project \u5e26\u4f60\u4e3a\u4e00\u4e2a\u7528\u4e8e\u6559\u5b66\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93 bustub \u6dfb\u52a0\u5404\u79cd\u529f\u80fd\u3002\u5b9e\u9a8c\u7684\u8bc4\u6d4b\u6846\u67b6\u4e5f\u514d\u8d39\u5f00\u6e90\u4e86\uff0c\u975e\u5e38\u9002\u5408\u5927\u5bb6\u81ea\u5b66\u3002\u6b64\u5916\u8bfe\u7a0b\u5b9e\u9a8c\u4f1a\u7528\u5230 C++11 \u7684\u4f17\u591a\u65b0\u7279\u6027\uff0c\u4e5f\u662f\u4e00\u4e2a\u953b\u70bc C++ \u4ee3\u7801\u80fd\u529b\u7684\u597d\u673a\u4f1a\u3002 Berkeley \u4f5c\u4e3a\u8457\u540d\u5f00\u6e90\u6570\u636e\u5e93 postgres \u7684\u53d1\u6e90\u5730\u4e5f\u4e0d\u9051\u591a\u8ba9\uff0c UCB CS186: Introduction to Database System \u4f1a\u8ba9\u4f60\u7528 Java \u8bed\u8a00\u5b9e\u73b0\u4e00\u4e2a\u652f\u6301 SQL \u5e76\u53d1\u67e5\u8be2\u3001B+ \u6811\u7d22\u5f15\u548c\u6545\u969c\u6062\u590d\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3002","title":"\u6570\u636e\u5e93\u7cfb\u7edf"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_40","text":"\u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u7f16\u8bd1\u5668\u66f4\u80fd\u52a0\u6df1\u5bf9\u7f16\u8bd1\u5668\u7684\u7406\u89e3\u4e86\u3002 Stanford CS143: Compilers \u5e26\u4f60\u624b\u5199\u7f16\u8bd1\u5668\u3002","title":"\u7f16\u8bd1\u539f\u7406"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#web","text":"\u524d\u540e\u7aef\u5f00\u53d1\u5f88\u5c11\u5728\u8ba1\u7b97\u673a\u7684\u57f9\u517b\u65b9\u6848\u91cc\u88ab\u91cd\u89c6\uff0c\u4f46\u5176\u5b9e\u638c\u63e1\u8fd9\u9879\u6280\u80fd\u8fd8\u662f\u597d\u5904\u591a\u591a\u7684\uff0c\u4f8b\u5982\u642d\u5efa\u81ea\u5df1\u7684\u4e2a\u4eba\u4e3b\u9875\uff0c\u6291\u6216\u662f\u7ed9\u81ea\u5df1\u7684\u8bfe\u7a0b\u9879\u76ee\u505a\u4e00\u4e2a\u7cbe\u5f69\u7684\u5c55\u793a\u7f51\u9875\u3002","title":"Web\u5f00\u53d1"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_41","text":"MIT web development course","title":"\u4e24\u5468\u901f\u6210\u7248"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_42","text":"Stanford CS142: Web Applications","title":"\u7cfb\u7edf\u5b66\u4e60\u7248"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_43","text":"Stanford CS148 Games101 Games103 Games202","title":"\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_44","text":"\u5176\u5b9e\u6570\u636e\u79d1\u5b66\u548c\u673a\u5668\u5b66\u4e60\u4e0e\u6df1\u5ea6\u5b66\u4e60\u6709\u7740\u5f88\u7d27\u5bc6\u7684\u8054\u7cfb\uff0c\u4f46\u53ef\u80fd\u66f4\u4fa7\u91cd\u4e8e\u5b9e\u8df5\u3002Berkeley \u7684 UCB Data100: Principles and Techniques of Data Science \u901a\u8fc7\u4e30\u5bcc\u7684\u7f16\u7a0b\u7ec3\u4e60\u8ba9\u4f60\u5728\u5b9e\u8df5\u4e2d\u638c\u63e1\u5404\u7c7b\u6570\u636e\u5206\u6790\u5de5\u5177\u548c\u7b97\u6cd5\uff0c\u5e76\u5e26\u9886\u4f60\u4f53\u9a8c\u4ece\u6d77\u91cf\u7684\u6570\u636e\u96c6\u4e2d\u63d0\u53d6\u51fa\u60f3\u8981\u7684\u7ed3\u679c\uff0c\u5e76\u5bf9\u672a\u6765\u7684\u6570\u636e\u6216\u7528\u6237\u7684\u884c\u4e3a\u505a\u51fa\u76f8\u5e94\u7684\u9884\u6d4b\u3002\u4f46\u8fd9\u53ea\u662f\u4e00\u95e8\u57fa\u7840\u8bfe\uff0c\u5982\u679c\u60f3\u5b66\u4e60\u5de5\u4e1a\u7ea7\u522b\u7684\u6570\u636e\u6316\u6398\u4e0e\u5206\u6790\u6280\u672f\uff0c\u53ef\u4ee5\u5c1d\u8bd5 Stanford \u7684\u5927\u6570\u636e\u6316\u6398\u8bfe\u7a0b CS246: Mining Massive Data Sets \u3002","title":"\u6570\u636e\u79d1\u5b66"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_45","text":"\u8fd1\u5341\u5e74\u4eba\u5de5\u667a\u80fd\u5e94\u8be5\u7b97\u662f\u8ba1\u7b97\u673a\u754c\u6700\u706b\u7206\u7684\u9886\u57df\u3002\u5982\u679c\u4f60\u4e0d\u6ee1\u8db3\u4e8e\u6574\u65e5\u542c\u5404\u8def\u5a92\u4f53\u4e89\u76f8\u62a5\u9053\u4eba\u5de5\u667a\u80fd\u76f8\u5173\u7684\u8fdb\u5c55\uff0c\u800c\u60f3\u771f\u6b63\u4e00\u63a2\u7a76\u7adf\uff0c\u90a3\u4e48\u975e\u5e38\u63a8\u8350\u5b66\u4e60 Harvard \u795e\u8bfe CS50 \u7cfb\u5217\u7684\u4eba\u5de5\u667a\u80fd\u8bfe\u7a0b Harvard CS50: Introduction to AI with Python \u3002\u8bfe\u7a0b\u77ed\u5c0f\u7cbe\u608d\uff0c\u8986\u76d6\u4e86\u4f20\u7edf\u4eba\u5de5\u667a\u80fd\u9886\u57df\u7684\u51e0\u5927\u5206\u652f\uff0c\u5e76\u914d\u6709\u4e30\u5bcc\u6709\u8da3\u7684 Python \u7f16\u7a0b\u7ec3\u4e60\u6765\u5de9\u56fa\u4f60\u5bf9\u4eba\u5de5\u667a\u80fd\u7b97\u6cd5\u7684\u7406\u89e3\u3002\u7f8e\u4e2d\u4e0d\u8db3\u7684\u662f\u8fd9\u95e8\u8bfe\u56e0\u4e3a\u9762\u5411\u5728\u7ebf\u81ea\u5b66\u8005\u7684\u7f18\u6545\u5185\u5bb9\u8f83\u4e3a\u7cbe\u7b80\uff0c\u5e76\u4e14\u4e0d\u4f1a\u6d89\u53ca\u7279\u522b\u6df1\u5165\u7684\u6570\u5b66\u7406\u8bba\uff0c\u5982\u679c\u60f3\u8981\u7cfb\u7edf\u6df1\u5165\u5730\u5b66\u4e60\u8fd8\u9700\u8981\u4e00\u95e8\u672c\u79d1\u751f\u96be\u5ea6\u7684\u8bfe\u7a0b\uff0c\u4f8b\u5982 Berkeley \u7684 UCB CS188: Introduction to Artificial Intelligence \u3002\u8fd9\u95e8\u8bfe\u7684 Project \u590d\u523b\u4e86\u7ecf\u5178\u6e38\u620f\u7cd6\u8c46\u4eba\uff0c\u8ba9\u4f60\u8fd0\u7528\u4eba\u5de5\u667a\u80fd\u7b97\u6cd5\u73a9\u6e38\u620f\uff0c\u975e\u5e38\u6709\u8da3\u3002","title":"\u4eba\u5de5\u667a\u80fd"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_46","text":"\u673a\u5668\u5b66\u4e60\u9886\u57df\u8fd1\u4e9b\u5e74\u6700\u91cd\u8981\u7684\u8fdb\u5c55\u5c31\u662f\u53d1\u5c55\u51fa\u4e86\u57fa\u4e8e\u795e\u7ecf\u7f51\u7edc\u7684\u6df1\u5ea6\u5b66\u4e60\u5206\u652f\uff0c\u4f46\u5176\u5b9e\u5f88\u591a\u57fa\u4e8e\u7edf\u8ba1\u5b66\u4e60\u7684\u7b97\u6cd5\u4f9d\u7136\u5728\u6570\u636e\u5206\u6790\u9886\u57df\u6709\u7740\u5e7f\u6cdb\u7684\u5e94\u7528\u3002\u5982\u679c\u4f60\u4e4b\u524d\u4ece\u672a\u63a5\u89e6\u8fc7\u673a\u5668\u5b66\u4e60\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u800c\u4e14\u4e0d\u60f3\u4e00\u5f00\u59cb\u5c31\u9677\u5165\u8270\u6df1\u6666\u6da9\u7684\u6570\u5b66\u8bc1\u660e\uff0c\u90a3\u4e48\u4e0d\u59a8\u5148\u4ece Andrew Ng \uff08\u5434\u6069\u8fbe\uff09\u7684 Coursera: Machine Learning \u5b66\u8d77\u3002\u8fd9\u95e8\u8bfe\u5728\u673a\u5668\u5b66\u4e60\u9886\u57df\u57fa\u672c\u65e0\u4eba\u4e0d\u6653\uff0c\u5434\u6069\u8fbe\u4ee5\u5176\u6df1\u539a\u7684\u7406\u8bba\u529f\u5e95\u548c\u51fa\u8272\u7684\u8868\u8fbe\u80fd\u529b\u628a\u5f88\u591a\u8270\u6df1\u7684\u7b97\u6cd5\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\uff0c\u5e76\u4e14\u975e\u5e38\u5b9e\u7528\u3002\u5176\u914d\u5957\u7684\u4f5c\u4e1a\u4e5f\u662f\u8d28\u91cf\u76f8\u5f53\u4e0a\u4e58\uff0c\u53ef\u4ee5\u5e2e\u52a9\u4f60\u5feb\u901f\u5165\u95e8\u3002 \u4f46\u4e0a\u8fc7\u8fd9\u95e8\u8bfe\u53ea\u80fd\u8ba9\u4f60\u4ece\u5b8f\u89c2\u4e0a\u5bf9\u673a\u5668\u5b66\u4e60\u8fd9\u4e00\u9886\u57df\u6709\u4e00\u5b9a\u4e86\u89e3\uff0c\u5982\u679c\u60f3\u771f\u6b63\u7406\u89e3\u90a3\u4e9b\u201c\u795e\u5947\u201d\u7b97\u6cd5\u80cc\u540e\u7684\u6570\u5b66\u539f\u7406\u751a\u81f3\u4ece\u4e8b\u76f8\u5173\u9886\u57df\u7684\u79d1\u7814\u5de5\u4f5c\uff0c\u90a3\u4e48\u8fd8\u9700\u8981\u4e00\u95e8\u66f4\u201c\u6570\u5b66\u201d\u7684\u8bfe\u7a0b\uff0c\u4f8b\u5982 Stanford CS229: Machine Learning \u6216\u8005 UCB CS189: Introduction to Machine Learning \u3002","title":"\u673a\u5668\u5b66\u4e60"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_47","text":"\u524d\u51e0\u5e74 AlphaGo \u7684\u5927\u70ed\u8ba9\u6df1\u5ea6\u5b66\u4e60\u8fdb\u5165\u4e86\u5927\u4f17\u7684\u89c6\u91ce\uff0c\u4e0d\u5c11\u5927\u5b66\u751a\u81f3\u4e13\u95e8\u6210\u7acb\u4e86\u76f8\u5173\u4e13\u4e1a\u3002\u5f88\u591a\u8ba1\u7b97\u673a\u7684\u5176\u4ed6\u9886\u57df\u4e5f\u4f1a\u501f\u52a9\u6df1\u5ea6\u5b66\u4e60\u7684\u6280\u672f\u6765\u505a\u7814\u7a76\uff0c\u56e0\u6b64\u57fa\u672c\u4e0d\u7ba1\u4f60\u5e72\u5565\u591a\u5c11\u90fd\u4f1a\u63a5\u89e6\u5230\u4e00\u4e9b\u795e\u7ecf\u7f51\u7edc\u3001\u6df1\u5ea6\u5b66\u4e60\u76f8\u5173\u7684\u6280\u672f\u9700\u6c42\u3002\u5982\u679c\u60f3\u5feb\u901f\u5165\u95e8\uff0c\u540c\u6837\u63a8\u8350 Andrew Ng \uff08\u5434\u6069\u8fbe\uff09\u7684 Coursera: Deep Learning \uff0c\u8d28\u91cf\u65e0\u9700\u591a\u8a00\uff0cCoursera \u4e0a\u7f55\u89c1\u7684\u6ee1\u5206\u8bfe\u7a0b\u3002\u6b64\u5916\u5982\u679c\u4f60\u89c9\u5f97\u82f1\u6587\u8bfe\u7a0b\u5b66\u4e60\u8d77\u6765\u6709\u96be\u5ea6\uff0c\u63a8\u8350\u674e\u5b8f\u6bc5\u8001\u5e08\u7684 \u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\uff1a\u673a\u5668\u5b66\u4e60 \u8bfe\u7a0b\u3002\u8fd9\u95e8\u8bfe\u6253\u7740\u673a\u5668\u5b66\u4e60\u7684\u540d\u53f7\uff0c\u5374\u56ca\u62ec\u4e86\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u7684\u51e0\u4e4e\u6240\u6709\u65b9\u5411\uff0c\u975e\u5e38\u5168\u9762\uff0c\u5f88\u9002\u5408\u4f60\u4ece\u5b8f\u89c2\u4e0a\u5bf9\u8fd9\u4e2a\u9886\u57df\u6709\u4e00\u4e2a\u5927\u81f4\u7684\u4e86\u89e3\u3002\u800c\u4e14\u8001\u5e08\u672c\u4eba\u4e5f\u975e\u5e38\u5e7d\u9ed8\uff0c\u8bfe\u5802\u91d1\u53e5\u9891\u51fa\u3002 \u5f53\u7136\u56e0\u4e3a\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u53d1\u5c55\u975e\u5e38\u8fc5\u901f\uff0c\u5df2\u7ecf\u62e5\u6709\u4e86\u4f17\u591a\u7814\u7a76\u5206\u652f\uff0c\u5982\u679c\u60f3\u8981\u8fdb\u4e00\u6b65\u6df1\u5165\uff0c\u53ef\u4ee5\u6309\u9700\u5b66\u4e60\u4e0b\u9762\u7f57\u5217\u7684\u4ee3\u8868\u8bfe\u7a0b\uff0c","title":"\u6df1\u5ea6\u5b66\u4e60"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_48","text":"Stanford CS231n: CNN for Visual Recognition","title":"\u8ba1\u7b97\u673a\u89c6\u89c9"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_49","text":"Stanford CS224n: Natural Language Processing","title":"\u81ea\u7136\u8bed\u8a00\u5904\u7406"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_50","text":"Stanford CS224w: Machine Learning with Graphs","title":"\u56fe\u795e\u7ecf\u7f51\u7edc"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_51","text":"UCB CS285: Deep Reinforcement Learning","title":"\u5f3a\u5316\u5b66\u4e60"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_52","text":"\u6388\u4eba\u4ee5\u9c7c\u4e0d\u5982\u6388\u4eba\u4ee5\u6e14\u3002 \u4ee5\u4e0a\u7684\u8bfe\u7a0b\u89c4\u5212\u96be\u514d\u5e26\u6709\u5f3a\u70c8\u7684\u4e2a\u4eba\u504f\u597d\uff0c\u4e0d\u4e00\u5b9a\u9002\u5408\u6240\u6709\u4eba\uff0c\u66f4\u591a\u662f\u8d77\u5230\u629b\u7816\u5f15\u7389\u7684\u4f5c\u7528\u3002\u5982\u679c\u4f60\u60f3\u6311\u9009\u81ea\u5df1\u611f\u5174\u8da3\u7684\u65b9\u5411\u548c\u5185\u5bb9\u52a0\u4ee5\u5b66\u4e60\uff0c\u53ef\u4ee5\u53c2\u8003\u6211\u5728\u4e0b\u9762\u5217\u51fa\u6765\u7684\u8d44\u6e90\u3002 MIT OpenCourseWare : \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684\u8bfe\u7a0b\u8d44\u6e90\u5f00\u653e\u5171\u4eab\u9879\u76ee\uff0c\u6536\u5f55\u4e86\u6570\u4ee5\u5343\u8ba1\u7684\u5404\u79d1\u8bfe\u7a0b\u8d44\u6e90\uff0c\u5176\u4e2d\u8ba1\u7b97\u673a\u7c7b\u7684\u8bfe\u53f7\u662f 6.xxx\u3002 MIT CS Course List : \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002 UC Berkeley EECS Course Map : UC Berkeley \u7684 EECS \u57f9\u517b\u65b9\u6848\uff0c\u4ee5\u8bfe\u7a0b\u5730\u56fe\u7684\u65b9\u5f0f\u5c06\u5404\u95e8\u8bfe\u7a0b\u7684\u7c7b\u522b\u548c\u5148\u4fee\u5173\u7cfb\u4e00\u76ee\u4e86\u7136\u5730\u5448\u73b0\uff0c\u5176\u4e2d\u7edd\u5927\u591a\u6570\u8bfe\u7a0b\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 UC Berkeley CS Course List : UC Berkeley \u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002 Stanford CS Course List : \u65af\u5766\u798f\u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002","title":"\u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe"},{"location":"%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/","text":"\u5982\u4f55\u4f7f\u7528\u8fd9\u672c\u4e66 \u968f\u7740\u8d21\u732e\u8005\u7684\u4e0d\u65ad\u589e\u591a\uff0c\u672c\u4e66\u7684\u5185\u5bb9\u4e5f\u4e0d\u65ad\u6269\u5c55\uff0c\u60f3\u628a\u4e66\u4e2d\u6240\u6709\u7684\u8bfe\u7a0b\u5168\u90e8\u5b66\u5b8c\u662f\u4e0d\u5207\u5b9e\u9645\u4e5f\u6ca1\u6709\u5fc5\u8981\u7684\uff0c\u751a\u81f3\u4f1a\u8d77\u5230\u4e8b\u500d\u529f\u534a\u7684\u53cd\u6548\u679c\uff0c\u5403\u529b\u800c\u4e0d\u8ba8\u597d\u3002\u4e3a\u4e86\u66f4\u597d\u5730\u8d34\u5408\u8bfb\u8005\uff0c\u8ba9\u8fd9\u672c\u4e66\u771f\u6b63\u4e3a\u4f60\u6240\u7528\uff0c\u6211\u5c06\u8bfb\u8005\u6309\u7167\u9700\u6c42\u5927\u81f4\u5206\u4e3a\u4e86\u5982\u4e0b\u4e09\u7c7b\uff0c\u5927\u5bb6\u53ef\u4ee5\u7ed3\u5408\u5207\u8eab\u5b9e\u9645\uff0c\u7cbe\u51c6\u5730\u89c4\u5212\u5c5e\u4e8e\u81ea\u5df1\u7684\u81ea\u5b66\u65b9\u6848\u3002 \u521d\u5165\u6821\u56ed \u5982\u679c\u4f60\u521a\u521a\u8fdb\u5165\u5927\u5b66\u6821\u56ed\u6216\u8005\u8fd8\u5728\u4f4e\u5e74\u7ea7\uff0c\u5e76\u4e14\u5c31\u8bfb\u7684\u662f\u8ba1\u7b97\u673a\u65b9\u5411\u6216\u8005\u60f3\u8981\u8f6c\u5230\u8ba1\u7b97\u673a\u65b9\u5411\uff0c\u90a3\u4e48\u4f60\u5f88\u5e78\u8fd0\uff0c\u56e0\u4e3a\u5b66\u4e60\u662f\u4f60\u7684\u672c\u4e1a\uff0c\u4f60\u53ef\u4ee5\u6709\u5145\u8db3\u7684\u65f6\u95f4\u548c\u81ea\u7531\u6765\u5b66\u4e60\u81ea\u5df1\u611f\u5174\u8da3\u7684\u4e1c\u897f\uff0c\u4e0d\u4f1a\u6709\u5de5\u4f5c\u7684\u538b\u529b\u548c\u751f\u6d3b\u7684\u7410\u788e\uff0c\u4e0d\u5fc5\u8fc7\u4e8e\u7ea0\u7ed3\u201c\u5b66\u4e86\u6709\u6ca1\u6709\u7528\u201d\uff0c\u201c\u80fd\u4e0d\u80fd\u627e\u5230\u5de5\u4f5c\u201d\u8fd9\u7c7b\u529f\u5229\u7684\u60f3\u6cd5\u3002\u90a3\u4e48\u8be5\u5982\u4f55\u5b89\u6392\u81ea\u5df1\u7684\u5b66\u4e1a\u5462\uff1f\u6211\u89c9\u5f97\u9996\u8981\u7684\u4e00\u70b9\u5c31\u662f\u8981\u6253\u7834\u5728\u9ad8\u4e2d\u5f62\u6210\u7684\u201c\u6309\u90e8\u5c31\u73ed\u201d\u5f0f\u7684\u88ab\u52a8\u5b66\u4e60\u3002\u4f5c\u4e3a\u4e00\u4e2a\u5c0f\u9547\u505a\u9898\u5bb6\uff0c\u6211\u6df1\u77e5\u56fd\u5185\u5927\u90e8\u5206\u9ad8\u4e2d\u4f1a\u628a\u5927\u5bb6\u4e00\u5929\u5f53\u4e2d\u7684\u6bcf\u4e00\u5206\u949f\u90fd\u5b89\u6392\u5f97\u6ee1\u6ee1\u5f53\u5f53\uff0c\u4f60\u53ea\u9700\u8981\u88ab\u52a8\u5730\u8ddf\u7740\u8bfe\u8868\u6309\u90e8\u5c31\u73ed\u5730\u5b8c\u6210\u4e00\u4e2a\u4e2a\u65e2\u5b9a\u7684\u4efb\u52a1\u3002\u53ea\u8981\u8db3\u591f\u8ba4\u771f\uff0c\u7ed3\u679c\u90fd\u4e0d\u4f1a\u592a\u5dee\u3002\u4f46\u6b65\u5165\u5927\u5b66\u7684\u6821\u95e8\uff0c\u81ea\u7531\u5ea6\u4e00\u4e0b\u5b50\u53d8\u5927\u4e86\u8bb8\u591a\u3002\u9996\u5148\u6240\u6709\u7684\u8bfe\u5916\u65f6\u95f4\u57fa\u672c\u90fd\u7531\u4f60\u81ea\u7531\u652f\u914d\uff0c\u6ca1\u6709\u4eba\u4e3a\u4f60\u6574\u7406\u77e5\u8bc6\u70b9\uff0c\u603b\u7ed3\u63d0\u7eb2\uff0c\u8003\u8bd5\u4e5f\u4e0d\u50cf\u9ad8\u4e2d\u90a3\u822c\u6a21\u5f0f\u5316\u3002\u5982\u679c\u4f60\u8fd8\u62b1\u7740\u9ad8\u4e2d\u90a3\u79cd\u201c\u4e56\u5b66\u751f\u201d\u7684\u5fc3\u6001\uff0c\u8001\u8001\u5b9e\u5b9e\u6309\u90e8\u5c31\u73ed\uff0c\u7ed3\u679c\u672a\u5fc5\u5982\u4f60\u6240\u613f\u3002\u56e0\u4e3a\u4e13\u4e1a\u57f9\u517b\u65b9\u6848\u672a\u5fc5\u5c31\u662f\u5408\u7406\uff0c\u8001\u5e08\u7684\u6559\u5b66\u672a\u5fc5\u5c31\u4f1a\u8d1f\u8d23\uff0c\u8ba4\u771f\u51fa\u5e2d\u8bfe\u5802\u672a\u5fc5\u5c31\u80fd\u542c\u61c2\uff0c\u751a\u81f3\u8003\u8bd5\u5185\u5bb9\u672a\u5fc5\u5c31\u548c\u8bb2\u7684\u6709\u5173\u7cfb\u3002\u8bf4\u53e5\u73a9\u7b11\u8bdd\uff0c\u4f60\u6216\u8bb8\u4f1a\u89c9\u5f97\u5168\u4e16\u754c\u90fd\u4e0e\u4f60\u4e3a\u654c\uff0c\u800c\u4f60\u53ea\u80fd\u6307\u671b\u81ea\u5df1\u3002 \u90a3\u4e48\u73b0\u72b6\u5c31\u662f\u8fd9\u4e48\u4e2a\u73b0\u72b6\uff0c\u4f60\u60f3\u6539\u53d8\uff0c\u4e5f\u5f97\u5148\u6d3b\u8fc7\u53bb\uff0c\u5e76\u4e14\u62e5\u6709\u8db3\u591f\u7684\u80fd\u529b\u53bb\u8d28\u7591\u5b83\u3002\u800c\u5728\u4f4e\u5e74\u7ea7\uff0c\u6253\u597d\u57fa\u7840\u5f88\u91cd\u8981\u3002\u8fd9\u91cc\u7684\u57fa\u7840\u662f\u5168\u65b9\u9762\u7684\uff0c\u8bfe\u5185\u7684\u77e5\u8bc6\u56fa\u7136\u91cd\u8981\uff0c\u4f46\u8ba1\u7b97\u673a\u5f88\u5927\u7a0b\u5ea6\u4e0a\u8fd8\u662f\u5f3a\u8c03\u5b9e\u8df5\uff0c\u56e0\u6b64\u6709\u5f88\u591a\u8bfe\u672c\u5916\u7684\u80fd\u529b\u9700\u8981\u57f9\u517b\uff0c\u800c\u8fd9\u6070\u6070\u662f\u56fd\u5185\u7684\u8ba1\u7b97\u673a\u672c\u79d1\u6559\u80b2\u5f88\u6b20\u7f3a\u7684\u4e00\u70b9\u3002\u6211\u6839\u636e\u4e2a\u4eba\u7684\u4f53\u9a8c\u603b\u7ed3\u51fa\u4e86\u4e0b\u9762\u51e0\u70b9\u5efa\u8bae\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u5176\u4e00\u5c31\u662f\u4e86\u89e3\u5982\u4f55\u5199\u201c\u4f18\u96c5\u201d\u7684\u4ee3\u7801\u3002\u56fd\u5185\u7684\u5f88\u591a\u5927\u4e00\u7f16\u7a0b\u5165\u95e8\u8bfe\u90fd\u4f1a\u8bb2\u6210\u6781\u5176\u65e0\u804a\u7684\u8bed\u6cd5\u8bfe\uff0c\u5176\u6548\u679c\u8fd8\u4e0d\u5982\u76f4\u63a5\u8ba9\u5b66\u751f\u770b\u5b98\u65b9\u6587\u6863\u3002\u4e8b\u5b9e\u4e0a\uff0c\u5728\u521a\u5f00\u59cb\u63a5\u89e6\u7f16\u7a0b\u7684\u65f6\u5019\uff0c\u8ba9\u5b66\u751f\u8bd5\u7740\u53bb\u4e86\u89e3\u4ec0\u4e48\u6837\u7684\u4ee3\u7801\u662f\u4f18\u96c5\u7684\uff0c\u4ec0\u4e48\u6837\u7684\u4ee3\u7801 \"have bad taste\" \u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u4e00\u822c\u6765\u8bf4\uff0c\u7f16\u7a0b\u5165\u95e8\u8bfe\u4f1a\u5148\u4ecb\u7ecd\u8fc7\u7a0b\u5f0f\u7f16\u7a0b\uff08\u4f8b\u5982 C \u8bed\u8a00\uff09\u3002\u4f46\u5373\u4fbf\u662f\u9762\u5411\u8fc7\u7a0b\u7f16\u7a0b\uff0c \u6a21\u5757\u5316 \u548c \u5c01\u88c5 \u7684\u601d\u60f3\u4e5f\u6781\u5176\u91cd\u8981\u3002\u5982\u679c\u4f60\u53ea\u60f3\u7740\u4ee3\u7801\u80fd\u5728 OpenJudge \u4e0a\u901a\u8fc7\uff0c\u5199\u7684\u65f6\u5019\u56fe\u7701\u4e8b\uff0c\u7528\u5927\u6bb5\u7684\u590d\u5236\u7c98\u8d34\u548c\u81c3\u80bf\u7684 main \u51fd\u6570\uff0c\u957f\u6b64\u4ee5\u5f80\uff0c\u4f60\u7684\u4ee3\u7801\u8d28\u91cf\u5c06\u4e00\u76f4\u5982\u6b64\u3002\u4e00\u65e6\u63a5\u89e6\u7a0d\u5fae\u5927\u4e00\u70b9\u7684\u9879\u76ee\uff0c\u65e0\u5c3d\u7684 debug \u548c\u6c9f\u901a\u7ef4\u62a4\u6210\u672c\u5c06\u628a\u4f60\u541e\u6ca1\u3002\u56e0\u6b64\uff0c\u5199\u4ee3\u7801\u65f6\u4e0d\u65ad\u95ee\u81ea\u5df1\uff0c\u662f\u5426\u6709\u5927\u91cf\u91cd\u590d\u7684\u4ee3\u7801\uff1f\u5f53\u524d\u51fd\u6570\u662f\u5426\u8fc7\u4e8e\u590d\u6742\uff08Linux \u63d0\u5021\u6bcf\u4e2a\u51fd\u6570\u53ea\u9700\u8981\u505a\u597d\u4e00\u4ef6\u4e8b\uff09\uff1f\u8fd9\u6bb5\u4ee3\u7801\u80fd\u62bd\u8c61\u6210\u4e00\u4e2a\u51fd\u6570\u5417\uff1f\u4e00\u5f00\u59cb\u4f60\u53ef\u80fd\u89c9\u5f97\u5f88\u4e0d\u4e60\u60ef\uff0c\u751a\u81f3\u89c9\u5f97\u8fd9\u4e48\u7b80\u5355\u7684\u9898\u9700\u8981\u5982\u6b64\u5927\u8d39\u5468\u7ae0\u5417\uff1f\u4f46\u8bb0\u4f4f\u597d\u7684\u4e60\u60ef\u662f\u65e0\u4ef7\u7684\uff0cC \u8bed\u8a00\u521d\u4e2d\u751f\u90fd\u80fd\u5b66\u4f1a\uff0c\u51ed\u4ec0\u4e48\u516c\u53f8\u8981\u62db\u4f60\u53bb\u5f53\u7a0b\u5e8f\u5458\u5462\uff1f \u5b66\u8fc7\u9762\u5411\u8fc7\u7a0b\u7f16\u7a0b\u540e\uff0c\u5927\u4e00\u4e0b\u5b66\u671f\u4e00\u822c\u4f1a\u8bb2\u9762\u5411\u5bf9\u8c61\u7f16\u7a0b\uff08\u4f8b\u5982 C++ \u6216 Java\uff09\u3002\u8fd9\u91cc\u975e\u5e38\u63a8\u8350\u5927\u5bb6\u770b MIT 6.031: Software Construction \u8fd9\u95e8\u8bfe\u7684 Notes\uff0c\u4f1a\u4ee5 Java \u8bed\u8a00\u4e3a\u4f8b\u975e\u5e38\u8be6\u7ec6\u5730\u8bb2\u89e3\u5982\u4f55\u5199\u51fa\u201c\u4f18\u96c5\u201d\u7684\u4ee3\u7801\u3002\u4f8b\u5982 Test-Driven \u7684\u5f00\u53d1\u3001\u51fd\u6570 Specification \u7684\u8bbe\u8ba1\u3001\u5f02\u5e38\u7684\u5904\u7406\u7b49\u7b49\u7b49\u7b49\u3002\u9664\u6b64\u4e4b\u5916\uff0c\u65e2\u7136\u63a5\u89e6\u4e86\u9762\u5411\u5bf9\u8c61\uff0c\u90a3\u4e48\u4e86\u89e3\u4e00\u4e9b\u5e38\u89c1\u7684\u8bbe\u8ba1\u6a21\u5f0f\u4e5f\u662f\u5f88\u6709\u5fc5\u8981\u7684\u3002\u56e0\u4e3a\u56fd\u5185\u7684\u9762\u5411\u5bf9\u8c61\u8bfe\u7a0b\u540c\u6837\u5f88\u5bb9\u6613\u53d8\u6210\u6781\u5176\u65e0\u804a\u7684\u8bed\u6cd5\u8bfe\uff0c\u8ba9\u5b66\u751f\u7ea0\u7ed3\u4e8e\u5404\u79cd\u7ee7\u627f\u7684\u8bed\u6cd5\uff0c\u751a\u81f3\u51fa\u4e00\u4e9b\u65e0\u804a\u7684\u8111\u7b4b\u6025\u8f6c\u5f2f\u4e00\u6837\u7684\u9898\u76ee\uff0c\u6b8a\u4e0d\u77e5\u8fd9\u4e9b\u4e1c\u897f\u5728\u5730\u7403\u4eba\u7684\u5f00\u53d1\u4e2d\u57fa\u672c\u4e0d\u4f1a\u7528\u5230\u3002\u9762\u5411\u5bf9\u8c61\u7684\u7cbe\u9ad3\u662f\u8ba9\u5b66\u751f\u5b66\u4f1a\u81ea\u5df1\u5c06\u5b9e\u9645\u7684\u95ee\u9898\u62bd\u8c61\u6210\u82e5\u5e72\u7c7b\u548c\u5b83\u4eec\u4e4b\u95f4\u7684\u5173\u7cfb\uff0c\u800c\u8bbe\u8ba1\u6a21\u5f0f\u5219\u662f\u524d\u4eba\u603b\u7ed3\u51fa\u6765\u7684\u4e00\u4e9b\u7cbe\u9ad3\u7684\u62bd\u8c61\u65b9\u6cd5\u3002\u8fd9\u91cc\u63a8\u8350 \u5927\u8bdd\u8bbe\u8ba1\u6a21\u5f0f \u8fd9\u672c\u4e66\uff0c\u5199\u5f97\u975e\u5e38\u6d45\u663e\u6613\u61c2\u3002 \u5176\u4e8c\u5c31\u662f\u5c1d\u8bd5\u5b66\u4e60\u4e00\u4e9b\u80fd\u63d0\u9ad8\u751f\u4ea7\u529b\u7684\u5de5\u5177\u548c\u6280\u80fd\uff0c\u4f8b\u5982 Git\u3001Shell\u3001Vim\u3002\u8fd9\u91cc\u5f3a\u70c8\u63a8\u8350\u5b66\u4e60 MIT missing semester \u8fd9\u95e8\u8bfe\uff0c\u4e5f\u8bb8\u4e00\u5f00\u59cb\u63a5\u89e6\u8fd9\u4e9b\u5de5\u5177\u7528\u8d77\u6765\u4f1a\u5f88\u4e0d\u4e60\u60ef\uff0c\u4f46\u5f3a\u8feb\u81ea\u5df1\u7528\uff0c\u719f\u7ec3\u4e4b\u540e\u5f00\u53d1\u6548\u7387\u4f1a\u76f4\u7ebf\u63d0\u9ad8\u3002\u6b64\u5916\uff0c\u8fd8\u6709\u5f88\u591a\u5e94\u7528\u4e5f\u80fd\u6781\u5927\u63d0\u9ad8\u7684\u4f60\u751f\u4ea7\u529b\u3002\u4e00\u6761\u5b9a\u5f8b\u662f\uff1a\u4e00\u5207\u9700\u8981\u8ba9\u624b\u79bb\u5f00\u952e\u76d8\u7684\u64cd\u4f5c\uff0c\u90fd\u5e94\u8be5\u60f3\u529e\u6cd5\u53bb\u9664\u3002\u4f8b\u5982\u5207\u6362\u5e94\u7528\u3001\u6253\u5f00\u6587\u4ef6\u3001\u6d4f\u89c8\u7f51\u9875\u8fd9\u4e9b\u90fd\u6709\u76f8\u5173\u63d2\u4ef6\u53ef\u4ee5\u5b9e\u73b0\u5feb\u6377\u64cd\u4f5c\uff08\u4f8b\u5982 Mac \u4e0a\u7684 Alfred \uff09\u3002\u5982\u679c\u4f60\u53d1\u73b0\u67d0\u4e2a\u64cd\u4f5c\u6bcf\u5929\u90fd\u4f1a\u7528\u5230\uff0c\u5e76\u4e14\u7528\u65f6\u8d85\u8fc71\u79d2\uff0c\u90a3\u5c31\u5e94\u8be5\u60f3\u529e\u6cd5\u628a\u5b83\u7f29\u51cf\u52300.1\u79d2\u3002\u6bd5\u7adf\u4ee5\u540e\u6570\u5341\u5e74\u4f60\u90fd\u8981\u548c\u7535\u8111\u6253\u4ea4\u9053\uff0c\u5f62\u6210\u4e00\u5957\u987a\u6ed1\u7684\u5de5\u4f5c\u6d41\u662f\u4e8b\u534a\u529f\u500d\u7684\u3002\u6700\u540e\uff0c\u5b66\u4f1a\u76f2\u6253\uff01\u5982\u679c\u4f60\u8fd8\u9700\u8981\u770b\u7740\u952e\u76d8\u6253\u5b57\uff0c\u90a3\u4e48\u8d76\u7d27\u4e0a\u7f51\u627e\u4e2a\u6559\u7a0b\u5b66\u4f1a\u76f2\u6253\uff0c\u8fd9\u5c06\u6781\u5927\u63d0\u9ad8\u4f60\u7684\u5f00\u53d1\u6548\u7387\u3002 \u5176\u4e09\u5c31\u662f\u5e73\u8861\u597d\u8bfe\u5185\u548c\u81ea\u5b66\u3002\u6211\u4eec\u8d28\u7591\u73b0\u72b6\uff0c\u4f46\u4e5f\u5f97\u9075\u5b88\u89c4\u5219\uff0c\u6bd5\u7adf\u7ee9\u70b9\u5728\u4fdd\u7814\u4e2d\u8fd8\u662f\u76f8\u5f53\u91cd\u8981\u7684\u3002\u56e0\u6b64\u5728\u5927\u4e00\uff0c\u6211\u8fd8\u662f\u5efa\u8bae\u5927\u5bb6\u5c3d\u91cf\u6309\u7167\u81ea\u5df1\u7684\u8bfe\u8868\u5b66\u4e60\uff0c\u4f46\u8f85\u4ee5\u4e00\u4e9b\u4f18\u8d28\u7684\u8bfe\u5916\u8d44\u6e90\u3002\u4f8b\u5982\u5fae\u79ef\u5206\u7ebf\u4ee3\u53ef\u4ee5\u53c2\u8003 MIT 18.01/18.02 \u548c MIT 18.06 \u7684\u8bfe\u7a0b Notes\u3002\u5047\u671f\u53ef\u4ee5\u901a\u8fc7 UCB CS61A \u6765\u5b66\u4e60 Python\u3002\u540c\u65f6\u505a\u5230\u4e0a\u9762\u7b2c\u4e00\u3001\u7b2c\u4e8c\u70b9\u8bf4\u7684\uff0c\u6ce8\u91cd\u597d\u7684\u7f16\u7a0b\u4e60\u60ef\u548c\u5b9e\u8df5\u80fd\u529b\u7684\u57f9\u517b\u3002\u5c31\u4e2a\u4eba\u7ecf\u9a8c\uff0c\u5927\u4e00\u7684\u6570\u5b66\u8bfe\u5b66\u5206\u5360\u6bd4\u76f8\u5f53\u5927\uff0c\u800c\u4e14\u6570\u5b66\u8003\u8bd5\u7684\u5185\u5bb9\u65b9\u5dee\u662f\u5f88\u5927\u7684\uff0c\u4e0d\u540c\u5b66\u6821\u4e0d\u540c\u8001\u5e08\u98ce\u683c\u8fe5\u5f02\uff0c\u81ea\u5b66\u4e5f\u8bb8\u80fd\u8ba9\u4f60\u9886\u609f\u6570\u5b66\u7684\u672c\u8d28\uff0c\u4f46\u672a\u5fc5\u80fd\u7ed9\u4f60\u4e00\u4e2a\u597d\u6210\u7ee9\u3002\u56e0\u6b64\u8003\u524d\u6700\u597d\u6709\u9488\u5bf9\u6027\u5730\u5237\u5f80\u5e74\u9898\uff0c\u5145\u5206\u5e94\u8bd5\u3002 \u5728\u5347\u5165\u5927\u4e8c\u4e4b\u540e\uff0c\u8ba1\u7b97\u673a\u65b9\u5411\u7684\u4e13\u4e1a\u8bfe\u5c06\u5c45\u591a\uff0c\u6b64\u65f6\u5927\u5bb6\u53ef\u4ee5\u5f7b\u5e95\u653e\u98de\u81ea\u6211\uff0c\u8fdb\u5165\u81ea\u5b66\u7684\u6bbf\u5802\u4e86\u3002\u5177\u4f53\u53ef\u4ee5\u53c2\u8003 \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \uff0c\u8fd9\u662f\u6211\u6839\u636e\u81ea\u5df1\u4e09\u5e74\u81ea\u5b66\u7ecf\u5386\u603b\u7ed3\u63d0\u70bc\u51fa\u6765\u7684\u5168\u5957\u6307\u5357\uff0c\u6bcf\u95e8\u8bfe\u7684\u7279\u70b9\u4ee5\u53ca\u4e3a\u4ec0\u4e48\u8981\u4e0a\u8fd9\u95e8\u8bfe\u6211\u90fd\u505a\u4e86\u7b80\u5355\u7684\u4ecb\u7ecd\u3002\u5bf9\u4e8e\u4f60\u8bfe\u8868\u4e0a\u7684\u6bcf\u4e2a\u8bfe\u7a0b\uff0c\u8fd9\u4efd\u89c4\u5212\u91cc\u5e94\u8be5\u90fd\u4f1a\u6709\u76f8\u5e94\u7684\u56fd\u5916\u8bfe\u7a0b\uff0c\u800c\u4e14\u5728\u8d28\u91cf\u4e0a\u6211\u76f8\u4fe1\u57fa\u672c\u662f\u5168\u65b9\u4f4d\u7684\u78be\u538b\u3002\u7531\u4e8e\u8ba1\u7b97\u673a\u65b9\u5411\u7684\u4e13\u4e1a\u77e5\u8bc6\u57fa\u672c\u662f\u4e00\u6837\u7684\uff0c\u800c\u4e14\u9ad8\u8d28\u91cf\u7684\u8bfe\u7a0b\u4f1a\u8ba9\u4f60\u4ece\u539f\u7406\u4e0a\u7406\u89e3\u77e5\u8bc6\u70b9\uff0c\u5bf9\u4e8e\u56fd\u5185\u5927\u591a\u7167\u672c\u5ba3\u79d1\u5f0f\u7684\u6559\u5b66\u6765\u8bf4\u57fa\u672c\u662f\u964d\u7ef4\u6253\u51fb\u3002\u4e00\u822c\u6765\u8bf4\u53ea\u8981\u8003\u524d\u5c06\u8001\u5e08\u201c\u8f9b\u82e6\u201d\u5ff5\u4e86\u4e00\u5b66\u671f\u7684 PPT \u62ff\u6765\u7a81\u51fb\u590d\u4e60\u4e24\u5929\uff0c\u53d6\u5f97\u4e00\u4e2a\u4e0d\u9519\u7684\u5377\u9762\u5206\u6570\u5e76\u4e0d\u56f0\u96be\u3002\u5982\u679c\u6709\u8bfe\u7a0b\u5927\u4f5c\u4e1a\uff0c\u5219\u53ef\u4ee5\u5c3d\u91cf\u5c06\u56fd\u5916\u8bfe\u7a0b\u7684 Lab \u6216\u8005 Project \u4fee\u6539\u4e00\u756a\u4ee5\u5e94\u4ed8\u8bfe\u5185\u7684\u9700\u8981\u3002\u6211\u5f53\u65f6\u4e0a\u64cd\u4f5c\u7cfb\u7edf\u8bfe\uff0c\u53d1\u73b0\u8001\u5e08\u8fd8\u7528\u7740\u65e9\u5df2\u88ab\u56fd\u5916\u5b66\u6821\u6dd8\u6c70\u7684\u8bfe\u7a0b\u5b9e\u9a8c\uff0c\u4fbf\u90ae\u4ef6\u8001\u5e08\u6362\u6210\u4e86\u81ea\u5df1\u6b63\u5728\u5b66\u4e60\u7684 MIT 6.S081 \u7684 xv6 Project\uff0c\u65b9\u4fbf\u81ea\u5b66\u7684\u540c\u65f6\u8fd8\u65e0\u610f\u95f4\u63a8\u52a8\u4e86\u8bfe\u7a0b\u6539\u9769\u3002\u603b\u4e4b\uff0c\u7075\u6d3b\u53d8\u901a\u662f\u7b2c\u4e00\u8981\u4e49\uff0c\u4f60\u7684\u76ee\u6807\u662f\u7528\u6700\u65b9\u4fbf\u3001\u6548\u7387\u6700\u9ad8\u7684\u65b9\u5f0f\u638c\u63e1\u77e5\u8bc6\uff0c\u6240\u6709\u4e0e\u4f60\u8fd9\u4e00\u76ee\u6807\u8fdd\u80cc\u7684\u6240\u8c13\u89c4\u5b9a\u90fd\u53ef\u4ee5\u60f3\u65b9\u8bbe\u6cd5\u5730\u53bb\u201c\u7cca\u5f04\u201d\u3002\u51ed\u7740\u8fd9\u4efd\u7cca\u5f04\u52b2\u513f\uff0c\u6211\u5927\u4e09\u4e4b\u540e\u57fa\u672c\u6ca1\u6709\u53bb\u8fc7\u7ebf\u4e0b\u8bfe\u5802\uff08\u5927\u4e8c\u75ab\u60c5\u5728\u5bb6\u5446\u4e86\u5927\u534a\u5e74\uff09\uff0c\u5bf9\u7ee9\u70b9\u4e5f\u5b8c\u5168\u6ca1\u6709\u5f71\u54cd\u3002 \u6700\u540e\uff0c\u5e0c\u671b\u5927\u5bb6\u5c11\u70b9\u6d6e\u8e81\u548c\u529f\u5229\uff0c\u591a\u4e00\u4e9b\u8010\u5fc3\u548c\u8ffd\u6c42\u3002\u5f88\u591a\u4eba\u53d1\u90ae\u4ef6\u95ee\u6211\u81ea\u5b66\u9700\u4e0d\u9700\u8981\u5f88\u5f3a\u7684\u81ea\u5236\u529b\uff0c\u6211\u89c9\u5f97\u5f97\u5173\u952e\u5f97\u770b\u4f60\u81ea\u5df1\u60f3\u8981\u4ec0\u4e48\u3002\u5982\u679c\u4f60\u4f9d\u7136\u62b1\u7740\u4f1a\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\u4fbf\u80fd\u6708\u85aa\u8fc7\u4e07\u7684\u5e7b\u60f3\uff0c\u60f3\u5206\u4e00\u676f\u4e92\u8054\u7f51\u7684\u7ea2\u5229\uff0c\u90a3\u4e48\u6211\u8bf4\u518d\u591a\u4e5f\u662f\u5e9f\u8bdd\u3002\u5176\u5b9e\u6211\u6700\u521d\u7684\u81ea\u5b66\u5e76\u6ca1\u6709\u592a\u591a\u529f\u5229\u7684\u60f3\u6cd5\uff0c\u53ea\u662f\u5355\u7eaf\u7684\u597d\u5947\u548c\u672c\u80fd\u7684\u6c42\u77e5\u6b32\u3002\u81ea\u5b66\u7684\u8fc7\u7a0b\u4e5f\u6ca1\u6709\u6240\u8c13\u7684\u201c\u5934\u60ac\u6881\uff0c\u9525\u523a\u80a1\u201d\uff0c\u8be5\u5403\u5403\uff0c\u8be5\u73a9\u73a9\uff0c\u4e0d\u77e5\u4e0d\u89c9\u624d\u53d1\u73b0\u7adf\u7136\u6512\u4e0b\u4e86\u8fd9\u4e48\u591a\u8d44\u6599\u3002\u73b0\u5982\u4eca\u4e2d\u7f8e\u7684\u5bf9\u6297\u5df2\u7136\u6210\u4e3a\u8d8b\u52bf\uff0c\u800c\u6211\u4eec\u8fd8\u5728\u201c\u5351\u5fae\u201d\u5730\u201c\u5e08\u5937\u957f\u6280\u201d\uff0c\u611f\u53f9\u56fd\u5916\u9ad8\u8d28\u91cf\u8bfe\u7a0b\u7684\u540c\u65f6\u4e5f\u65f6\u5e38\u4f1a\u6709\u4e00\u79cd\u5371\u673a\u611f\u3002\u8fd9\u4e00\u5207\u9760\u8c01\u6765\u6539\u53d8\u5462\uff1f\u9760\u7684\u662f\u521a\u521a\u5165\u884c\u7684\u4f60\u4eec\u3002\u6240\u4ee5\uff0c\u52a0\u6cb9\u5427\uff0c\u5c11\u5e74\uff01 \u5220\u7e41\u5c31\u7b80 \u5982\u679c\u4f60\u5df2\u7ecf\u672c\u79d1\u6bd5\u4e1a\u5f00\u59cb\u8bfb\u7814\u6216\u8005\u8d70\u4e0a\u4e86\u5de5\u4f5c\u5c97\u4f4d\uff0c\u4ea6\u6216\u662f\u4ece\u4e8b\u7740\u5176\u4ed6\u9886\u57df\u7684\u5de5\u4f5c\u60f3\u8981\u5229\u7528\u4e1a\u4f59\u65f6\u95f4\u8f6c\u7801\uff0c\u90a3\u4e48\u4f60\u4e5f\u8bb8\u5e76\u6ca1\u6709\u5145\u8db3\u7684\u4e1a\u4f59\u65f6\u95f4\u6765\u7cfb\u7edf\u5730\u5b66\u5b8c \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \u91cc\u7684\u5185\u5bb9\uff0c\u4f46\u53c8\u60f3\u5f25\u8865\u672c\u79d1\u65f6\u671f\u6b20\u4e0b\u7684\u57fa\u7840\u3002\u8003\u8651\u5230\u8fd9\u90e8\u5206\u8bfb\u8005\u901a\u5e38\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u7ecf\u9a8c\uff0c\u5165\u95e8\u8bfe\u7a0b\u6ca1\u6709\u5fc5\u8981\u518d\u91cd\u590d\u5b66\u4e60\u3002\u800c\u4e14\u4ece\u5b9e\u7528\u89d2\u5ea6\u6765\u8bf4\uff0c\u7531\u4e8e\u5de5\u4f5c\u7684\u5927\u4f53\u65b9\u5411\u5df2\u7ecf\u786e\u5b9a\uff0c\u786e\u5b9e\u6ca1\u6709\u592a\u5927\u5fc5\u8981\u5bf9\u4e8e\u6bcf\u4e2a\u8ba1\u7b97\u673a\u5206\u652f\u90fd\u6709\u7279\u522b\u6df1\u5165\u7684\u7814\u7a76\uff0c\u66f4\u5e94\u8be5\u4fa7\u91cd\u4e00\u4e9b\u901a\u7528\u6027\u7684\u539f\u5219\u548c\u6280\u80fd\u3002\u56e0\u6b64\u6211\u7ed3\u5408\u81ea\u8eab\u7ecf\u5386\uff0c\u9009\u53d6\u4e86\u4e2a\u4eba\u611f\u89c9\u6700\u91cd\u8981\u4e5f\u662f\u8d28\u91cf\u6700\u9ad8\u7684\u51e0\u95e8\u6838\u5fc3\u4e13\u4e1a\u8bfe\uff0c\u5e0c\u671b\u80fd\u66f4\u597d\u5730\u52a0\u6df1\u8bfb\u8005\u5bf9\u8ba1\u7b97\u673a\u7684\u7406\u89e3\u3002\u5b66\u5b8c\u8fd9\u4e9b\u8bfe\u7a0b\uff0c\u65e0\u8bba\u4f60\u5177\u4f53\u4ece\u4e8b\u7684\u662f\u4ec0\u4e48\u5de5\u4f5c\uff0c\u6211\u76f8\u4fe1\u4f60\u5c06\u4e0d\u53ef\u80fd\u6ca6\u4e3a\u4e00\u4e2a\u666e\u901a\u7684\u8c03\u5305\u4fa0\uff0c\u800c\u662f\u5bf9\u8ba1\u7b97\u673a\u7684\u5e95\u5c42\u8fd0\u884c\u903b\u8f91\u6709\u66f4\u6df1\u5165\u7684\u4e86\u89e3\u3002 \u8bfe\u7a0b\u65b9\u5411 \u8bfe\u7a0b\u540d \u79bb\u6563\u6570\u5b66\u548c\u6982\u7387\u8bba UCB CS70 : discrete Math and probability theory \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 Coursera: Algorithms I & II \u8f6f\u4ef6\u5de5\u7a0b MIT 6.031: Software Construction \u5168\u6808\u5f00\u53d1 MIT web development course \u8ba1\u7b97\u673a\u7cfb\u7edf\u5bfc\u8bba CMU CS15213: CSAPP \u4f53\u7cfb\u7ed3\u6784\u5165\u95e8 Coursera: Nand2Tetris \u4f53\u7cfb\u7ed3\u6784\u8fdb\u9636 CS61C: Great Ideas in Computer Architecture \u6570\u636e\u5e93\u539f\u7406 CMU 15-445: Introduction to Database System \u8ba1\u7b97\u673a\u7f51\u7edc Computer Networking: A Top-Down Approach \u4eba\u5de5\u667a\u80fd Harvard CS50: Introduction to AI with Python \u6df1\u5ea6\u5b66\u4e60 Coursera: Deep Learning \u5fc3\u6709\u6240\u5c5e \u5982\u679c\u4f60\u5bf9\u4e8e\u8ba1\u7b97\u673a\u9886\u57df\u7684\u6838\u5fc3\u4e13\u4e1a\u8bfe\u90fd\u638c\u63e1\u5f97\u76f8\u5f53\u624e\u5b9e\uff0c\u800c\u4e14\u5df2\u7ecf\u786e\u5b9a\u4e86\u81ea\u5df1\u7684\u5de5\u4f5c\u6216\u7814\u7a76\u65b9\u5411\uff0c\u90a3\u4e48\u4e66\u4e2d\u8fd8\u6709\u5f88\u591a\u672a\u5728 \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \u63d0\u5230\u7684\u8bfe\u7a0b\u4f9b\u4f60\u63a2\u7d22\u3002 \u968f\u7740\u8d21\u732e\u8005\u7684\u4e0d\u65ad\u589e\u591a\uff0c\u5de6\u4fa7\u7684\u76ee\u5f55\u4e2d\u5c06\u4e0d\u65ad\u589e\u52a0\u65b0\u7684\u5206\u652f\uff0c\u4f8b\u5982 \u673a\u5668\u5b66\u4e60\u8fdb\u9636 \u548c \u673a\u5668\u5b66\u4e60\u7cfb\u7edf \u3002\u5e76\u4e14\u540c\u4e00\u4e2a\u5206\u652f\u4e0b\u90fd\u6709\u82e5\u5e72\u540c\u7c7b\u578b\u8bfe\u7a0b\uff0c\u5b83\u4eec\u6765\u81ea\u4e0d\u540c\u7684\u5b66\u6821\uff0c\u6709\u7740\u4e0d\u540c\u7684\u4fa7\u91cd\u70b9\u548c\u8bfe\u7a0b\u5b9e\u9a8c\uff0c\u4f8b\u5982 \u64cd\u4f5c\u7cfb\u7edf \u5206\u652f\u4e0b\u5c31\u5305\u542b\u4e86\u9ebb\u7701\u7406\u5de5\u3001\u4f2f\u514b\u5229\u8fd8\u6709\u5357\u4eac\u5927\u5b66\u4e09\u4e2a\u5b66\u6821\u7684\u8bfe\u7a0b\u3002\u5982\u679c\u4f60\u60f3\u6df1\u8015\u4e00\u4e2a\u9886\u57df\uff0c\u90a3\u4e48\u5b66\u4e60\u8fd9\u4e9b\u540c\u7c7b\u7684\u8bfe\u7a0b\u4f1a\u7ed9\u4f60\u4e0d\u540c\u7684\u89d2\u5ea6\u6765\u770b\u5f85\u7c7b\u4f3c\u7684\u77e5\u8bc6\u3002\u540c\u65f6\uff0c\u672c\u4e66\u4f5c\u8005\u8fd8\u8ba1\u5212\u8054\u7cfb\u4e00\u4e9b\u76f8\u5173\u9886\u57df\u7684\u79d1\u7814\u5de5\u4f5c\u8005\u6765\u5206\u4eab\u67d0\u4e2a\u7ec6\u5206\u9886\u57df\u7684\u79d1\u7814\u5b66\u4e60\u8def\u5f84\uff0c\u8ba9 CS\u81ea\u5b66\u6307\u5357 \u5728\u8ffd\u6c42\u5e7f\u5ea6\u7684\u540c\u65f6\uff0c\u5b9e\u73b0\u6df1\u5ea6\u4e0a\u7684\u63d0\u9ad8\u3002 \u5982\u679c\u4f60\u60f3\u8d21\u732e\u8fd9\u65b9\u9762\u7684\u5185\u5bb9\uff0c\u6b22\u8fce\u548c\u4f5c\u8005\u90ae\u4ef6\u8054\u7cfb zhongyinmin@pku.edu.cn","title":"\u5982\u4f55\u4f7f\u7528\u8fd9\u672c\u4e66"},{"location":"%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/#_1","text":"\u968f\u7740\u8d21\u732e\u8005\u7684\u4e0d\u65ad\u589e\u591a\uff0c\u672c\u4e66\u7684\u5185\u5bb9\u4e5f\u4e0d\u65ad\u6269\u5c55\uff0c\u60f3\u628a\u4e66\u4e2d\u6240\u6709\u7684\u8bfe\u7a0b\u5168\u90e8\u5b66\u5b8c\u662f\u4e0d\u5207\u5b9e\u9645\u4e5f\u6ca1\u6709\u5fc5\u8981\u7684\uff0c\u751a\u81f3\u4f1a\u8d77\u5230\u4e8b\u500d\u529f\u534a\u7684\u53cd\u6548\u679c\uff0c\u5403\u529b\u800c\u4e0d\u8ba8\u597d\u3002\u4e3a\u4e86\u66f4\u597d\u5730\u8d34\u5408\u8bfb\u8005\uff0c\u8ba9\u8fd9\u672c\u4e66\u771f\u6b63\u4e3a\u4f60\u6240\u7528\uff0c\u6211\u5c06\u8bfb\u8005\u6309\u7167\u9700\u6c42\u5927\u81f4\u5206\u4e3a\u4e86\u5982\u4e0b\u4e09\u7c7b\uff0c\u5927\u5bb6\u53ef\u4ee5\u7ed3\u5408\u5207\u8eab\u5b9e\u9645\uff0c\u7cbe\u51c6\u5730\u89c4\u5212\u5c5e\u4e8e\u81ea\u5df1\u7684\u81ea\u5b66\u65b9\u6848\u3002","title":"\u5982\u4f55\u4f7f\u7528\u8fd9\u672c\u4e66"},{"location":"%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/#_2","text":"\u5982\u679c\u4f60\u521a\u521a\u8fdb\u5165\u5927\u5b66\u6821\u56ed\u6216\u8005\u8fd8\u5728\u4f4e\u5e74\u7ea7\uff0c\u5e76\u4e14\u5c31\u8bfb\u7684\u662f\u8ba1\u7b97\u673a\u65b9\u5411\u6216\u8005\u60f3\u8981\u8f6c\u5230\u8ba1\u7b97\u673a\u65b9\u5411\uff0c\u90a3\u4e48\u4f60\u5f88\u5e78\u8fd0\uff0c\u56e0\u4e3a\u5b66\u4e60\u662f\u4f60\u7684\u672c\u4e1a\uff0c\u4f60\u53ef\u4ee5\u6709\u5145\u8db3\u7684\u65f6\u95f4\u548c\u81ea\u7531\u6765\u5b66\u4e60\u81ea\u5df1\u611f\u5174\u8da3\u7684\u4e1c\u897f\uff0c\u4e0d\u4f1a\u6709\u5de5\u4f5c\u7684\u538b\u529b\u548c\u751f\u6d3b\u7684\u7410\u788e\uff0c\u4e0d\u5fc5\u8fc7\u4e8e\u7ea0\u7ed3\u201c\u5b66\u4e86\u6709\u6ca1\u6709\u7528\u201d\uff0c\u201c\u80fd\u4e0d\u80fd\u627e\u5230\u5de5\u4f5c\u201d\u8fd9\u7c7b\u529f\u5229\u7684\u60f3\u6cd5\u3002\u90a3\u4e48\u8be5\u5982\u4f55\u5b89\u6392\u81ea\u5df1\u7684\u5b66\u4e1a\u5462\uff1f\u6211\u89c9\u5f97\u9996\u8981\u7684\u4e00\u70b9\u5c31\u662f\u8981\u6253\u7834\u5728\u9ad8\u4e2d\u5f62\u6210\u7684\u201c\u6309\u90e8\u5c31\u73ed\u201d\u5f0f\u7684\u88ab\u52a8\u5b66\u4e60\u3002\u4f5c\u4e3a\u4e00\u4e2a\u5c0f\u9547\u505a\u9898\u5bb6\uff0c\u6211\u6df1\u77e5\u56fd\u5185\u5927\u90e8\u5206\u9ad8\u4e2d\u4f1a\u628a\u5927\u5bb6\u4e00\u5929\u5f53\u4e2d\u7684\u6bcf\u4e00\u5206\u949f\u90fd\u5b89\u6392\u5f97\u6ee1\u6ee1\u5f53\u5f53\uff0c\u4f60\u53ea\u9700\u8981\u88ab\u52a8\u5730\u8ddf\u7740\u8bfe\u8868\u6309\u90e8\u5c31\u73ed\u5730\u5b8c\u6210\u4e00\u4e2a\u4e2a\u65e2\u5b9a\u7684\u4efb\u52a1\u3002\u53ea\u8981\u8db3\u591f\u8ba4\u771f\uff0c\u7ed3\u679c\u90fd\u4e0d\u4f1a\u592a\u5dee\u3002\u4f46\u6b65\u5165\u5927\u5b66\u7684\u6821\u95e8\uff0c\u81ea\u7531\u5ea6\u4e00\u4e0b\u5b50\u53d8\u5927\u4e86\u8bb8\u591a\u3002\u9996\u5148\u6240\u6709\u7684\u8bfe\u5916\u65f6\u95f4\u57fa\u672c\u90fd\u7531\u4f60\u81ea\u7531\u652f\u914d\uff0c\u6ca1\u6709\u4eba\u4e3a\u4f60\u6574\u7406\u77e5\u8bc6\u70b9\uff0c\u603b\u7ed3\u63d0\u7eb2\uff0c\u8003\u8bd5\u4e5f\u4e0d\u50cf\u9ad8\u4e2d\u90a3\u822c\u6a21\u5f0f\u5316\u3002\u5982\u679c\u4f60\u8fd8\u62b1\u7740\u9ad8\u4e2d\u90a3\u79cd\u201c\u4e56\u5b66\u751f\u201d\u7684\u5fc3\u6001\uff0c\u8001\u8001\u5b9e\u5b9e\u6309\u90e8\u5c31\u73ed\uff0c\u7ed3\u679c\u672a\u5fc5\u5982\u4f60\u6240\u613f\u3002\u56e0\u4e3a\u4e13\u4e1a\u57f9\u517b\u65b9\u6848\u672a\u5fc5\u5c31\u662f\u5408\u7406\uff0c\u8001\u5e08\u7684\u6559\u5b66\u672a\u5fc5\u5c31\u4f1a\u8d1f\u8d23\uff0c\u8ba4\u771f\u51fa\u5e2d\u8bfe\u5802\u672a\u5fc5\u5c31\u80fd\u542c\u61c2\uff0c\u751a\u81f3\u8003\u8bd5\u5185\u5bb9\u672a\u5fc5\u5c31\u548c\u8bb2\u7684\u6709\u5173\u7cfb\u3002\u8bf4\u53e5\u73a9\u7b11\u8bdd\uff0c\u4f60\u6216\u8bb8\u4f1a\u89c9\u5f97\u5168\u4e16\u754c\u90fd\u4e0e\u4f60\u4e3a\u654c\uff0c\u800c\u4f60\u53ea\u80fd\u6307\u671b\u81ea\u5df1\u3002 \u90a3\u4e48\u73b0\u72b6\u5c31\u662f\u8fd9\u4e48\u4e2a\u73b0\u72b6\uff0c\u4f60\u60f3\u6539\u53d8\uff0c\u4e5f\u5f97\u5148\u6d3b\u8fc7\u53bb\uff0c\u5e76\u4e14\u62e5\u6709\u8db3\u591f\u7684\u80fd\u529b\u53bb\u8d28\u7591\u5b83\u3002\u800c\u5728\u4f4e\u5e74\u7ea7\uff0c\u6253\u597d\u57fa\u7840\u5f88\u91cd\u8981\u3002\u8fd9\u91cc\u7684\u57fa\u7840\u662f\u5168\u65b9\u9762\u7684\uff0c\u8bfe\u5185\u7684\u77e5\u8bc6\u56fa\u7136\u91cd\u8981\uff0c\u4f46\u8ba1\u7b97\u673a\u5f88\u5927\u7a0b\u5ea6\u4e0a\u8fd8\u662f\u5f3a\u8c03\u5b9e\u8df5\uff0c\u56e0\u6b64\u6709\u5f88\u591a\u8bfe\u672c\u5916\u7684\u80fd\u529b\u9700\u8981\u57f9\u517b\uff0c\u800c\u8fd9\u6070\u6070\u662f\u56fd\u5185\u7684\u8ba1\u7b97\u673a\u672c\u79d1\u6559\u80b2\u5f88\u6b20\u7f3a\u7684\u4e00\u70b9\u3002\u6211\u6839\u636e\u4e2a\u4eba\u7684\u4f53\u9a8c\u603b\u7ed3\u51fa\u4e86\u4e0b\u9762\u51e0\u70b9\u5efa\u8bae\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u5176\u4e00\u5c31\u662f\u4e86\u89e3\u5982\u4f55\u5199\u201c\u4f18\u96c5\u201d\u7684\u4ee3\u7801\u3002\u56fd\u5185\u7684\u5f88\u591a\u5927\u4e00\u7f16\u7a0b\u5165\u95e8\u8bfe\u90fd\u4f1a\u8bb2\u6210\u6781\u5176\u65e0\u804a\u7684\u8bed\u6cd5\u8bfe\uff0c\u5176\u6548\u679c\u8fd8\u4e0d\u5982\u76f4\u63a5\u8ba9\u5b66\u751f\u770b\u5b98\u65b9\u6587\u6863\u3002\u4e8b\u5b9e\u4e0a\uff0c\u5728\u521a\u5f00\u59cb\u63a5\u89e6\u7f16\u7a0b\u7684\u65f6\u5019\uff0c\u8ba9\u5b66\u751f\u8bd5\u7740\u53bb\u4e86\u89e3\u4ec0\u4e48\u6837\u7684\u4ee3\u7801\u662f\u4f18\u96c5\u7684\uff0c\u4ec0\u4e48\u6837\u7684\u4ee3\u7801 \"have bad taste\" \u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u4e00\u822c\u6765\u8bf4\uff0c\u7f16\u7a0b\u5165\u95e8\u8bfe\u4f1a\u5148\u4ecb\u7ecd\u8fc7\u7a0b\u5f0f\u7f16\u7a0b\uff08\u4f8b\u5982 C \u8bed\u8a00\uff09\u3002\u4f46\u5373\u4fbf\u662f\u9762\u5411\u8fc7\u7a0b\u7f16\u7a0b\uff0c \u6a21\u5757\u5316 \u548c \u5c01\u88c5 \u7684\u601d\u60f3\u4e5f\u6781\u5176\u91cd\u8981\u3002\u5982\u679c\u4f60\u53ea\u60f3\u7740\u4ee3\u7801\u80fd\u5728 OpenJudge \u4e0a\u901a\u8fc7\uff0c\u5199\u7684\u65f6\u5019\u56fe\u7701\u4e8b\uff0c\u7528\u5927\u6bb5\u7684\u590d\u5236\u7c98\u8d34\u548c\u81c3\u80bf\u7684 main \u51fd\u6570\uff0c\u957f\u6b64\u4ee5\u5f80\uff0c\u4f60\u7684\u4ee3\u7801\u8d28\u91cf\u5c06\u4e00\u76f4\u5982\u6b64\u3002\u4e00\u65e6\u63a5\u89e6\u7a0d\u5fae\u5927\u4e00\u70b9\u7684\u9879\u76ee\uff0c\u65e0\u5c3d\u7684 debug \u548c\u6c9f\u901a\u7ef4\u62a4\u6210\u672c\u5c06\u628a\u4f60\u541e\u6ca1\u3002\u56e0\u6b64\uff0c\u5199\u4ee3\u7801\u65f6\u4e0d\u65ad\u95ee\u81ea\u5df1\uff0c\u662f\u5426\u6709\u5927\u91cf\u91cd\u590d\u7684\u4ee3\u7801\uff1f\u5f53\u524d\u51fd\u6570\u662f\u5426\u8fc7\u4e8e\u590d\u6742\uff08Linux \u63d0\u5021\u6bcf\u4e2a\u51fd\u6570\u53ea\u9700\u8981\u505a\u597d\u4e00\u4ef6\u4e8b\uff09\uff1f\u8fd9\u6bb5\u4ee3\u7801\u80fd\u62bd\u8c61\u6210\u4e00\u4e2a\u51fd\u6570\u5417\uff1f\u4e00\u5f00\u59cb\u4f60\u53ef\u80fd\u89c9\u5f97\u5f88\u4e0d\u4e60\u60ef\uff0c\u751a\u81f3\u89c9\u5f97\u8fd9\u4e48\u7b80\u5355\u7684\u9898\u9700\u8981\u5982\u6b64\u5927\u8d39\u5468\u7ae0\u5417\uff1f\u4f46\u8bb0\u4f4f\u597d\u7684\u4e60\u60ef\u662f\u65e0\u4ef7\u7684\uff0cC \u8bed\u8a00\u521d\u4e2d\u751f\u90fd\u80fd\u5b66\u4f1a\uff0c\u51ed\u4ec0\u4e48\u516c\u53f8\u8981\u62db\u4f60\u53bb\u5f53\u7a0b\u5e8f\u5458\u5462\uff1f \u5b66\u8fc7\u9762\u5411\u8fc7\u7a0b\u7f16\u7a0b\u540e\uff0c\u5927\u4e00\u4e0b\u5b66\u671f\u4e00\u822c\u4f1a\u8bb2\u9762\u5411\u5bf9\u8c61\u7f16\u7a0b\uff08\u4f8b\u5982 C++ \u6216 Java\uff09\u3002\u8fd9\u91cc\u975e\u5e38\u63a8\u8350\u5927\u5bb6\u770b MIT 6.031: Software Construction \u8fd9\u95e8\u8bfe\u7684 Notes\uff0c\u4f1a\u4ee5 Java \u8bed\u8a00\u4e3a\u4f8b\u975e\u5e38\u8be6\u7ec6\u5730\u8bb2\u89e3\u5982\u4f55\u5199\u51fa\u201c\u4f18\u96c5\u201d\u7684\u4ee3\u7801\u3002\u4f8b\u5982 Test-Driven \u7684\u5f00\u53d1\u3001\u51fd\u6570 Specification \u7684\u8bbe\u8ba1\u3001\u5f02\u5e38\u7684\u5904\u7406\u7b49\u7b49\u7b49\u7b49\u3002\u9664\u6b64\u4e4b\u5916\uff0c\u65e2\u7136\u63a5\u89e6\u4e86\u9762\u5411\u5bf9\u8c61\uff0c\u90a3\u4e48\u4e86\u89e3\u4e00\u4e9b\u5e38\u89c1\u7684\u8bbe\u8ba1\u6a21\u5f0f\u4e5f\u662f\u5f88\u6709\u5fc5\u8981\u7684\u3002\u56e0\u4e3a\u56fd\u5185\u7684\u9762\u5411\u5bf9\u8c61\u8bfe\u7a0b\u540c\u6837\u5f88\u5bb9\u6613\u53d8\u6210\u6781\u5176\u65e0\u804a\u7684\u8bed\u6cd5\u8bfe\uff0c\u8ba9\u5b66\u751f\u7ea0\u7ed3\u4e8e\u5404\u79cd\u7ee7\u627f\u7684\u8bed\u6cd5\uff0c\u751a\u81f3\u51fa\u4e00\u4e9b\u65e0\u804a\u7684\u8111\u7b4b\u6025\u8f6c\u5f2f\u4e00\u6837\u7684\u9898\u76ee\uff0c\u6b8a\u4e0d\u77e5\u8fd9\u4e9b\u4e1c\u897f\u5728\u5730\u7403\u4eba\u7684\u5f00\u53d1\u4e2d\u57fa\u672c\u4e0d\u4f1a\u7528\u5230\u3002\u9762\u5411\u5bf9\u8c61\u7684\u7cbe\u9ad3\u662f\u8ba9\u5b66\u751f\u5b66\u4f1a\u81ea\u5df1\u5c06\u5b9e\u9645\u7684\u95ee\u9898\u62bd\u8c61\u6210\u82e5\u5e72\u7c7b\u548c\u5b83\u4eec\u4e4b\u95f4\u7684\u5173\u7cfb\uff0c\u800c\u8bbe\u8ba1\u6a21\u5f0f\u5219\u662f\u524d\u4eba\u603b\u7ed3\u51fa\u6765\u7684\u4e00\u4e9b\u7cbe\u9ad3\u7684\u62bd\u8c61\u65b9\u6cd5\u3002\u8fd9\u91cc\u63a8\u8350 \u5927\u8bdd\u8bbe\u8ba1\u6a21\u5f0f \u8fd9\u672c\u4e66\uff0c\u5199\u5f97\u975e\u5e38\u6d45\u663e\u6613\u61c2\u3002 \u5176\u4e8c\u5c31\u662f\u5c1d\u8bd5\u5b66\u4e60\u4e00\u4e9b\u80fd\u63d0\u9ad8\u751f\u4ea7\u529b\u7684\u5de5\u5177\u548c\u6280\u80fd\uff0c\u4f8b\u5982 Git\u3001Shell\u3001Vim\u3002\u8fd9\u91cc\u5f3a\u70c8\u63a8\u8350\u5b66\u4e60 MIT missing semester \u8fd9\u95e8\u8bfe\uff0c\u4e5f\u8bb8\u4e00\u5f00\u59cb\u63a5\u89e6\u8fd9\u4e9b\u5de5\u5177\u7528\u8d77\u6765\u4f1a\u5f88\u4e0d\u4e60\u60ef\uff0c\u4f46\u5f3a\u8feb\u81ea\u5df1\u7528\uff0c\u719f\u7ec3\u4e4b\u540e\u5f00\u53d1\u6548\u7387\u4f1a\u76f4\u7ebf\u63d0\u9ad8\u3002\u6b64\u5916\uff0c\u8fd8\u6709\u5f88\u591a\u5e94\u7528\u4e5f\u80fd\u6781\u5927\u63d0\u9ad8\u7684\u4f60\u751f\u4ea7\u529b\u3002\u4e00\u6761\u5b9a\u5f8b\u662f\uff1a\u4e00\u5207\u9700\u8981\u8ba9\u624b\u79bb\u5f00\u952e\u76d8\u7684\u64cd\u4f5c\uff0c\u90fd\u5e94\u8be5\u60f3\u529e\u6cd5\u53bb\u9664\u3002\u4f8b\u5982\u5207\u6362\u5e94\u7528\u3001\u6253\u5f00\u6587\u4ef6\u3001\u6d4f\u89c8\u7f51\u9875\u8fd9\u4e9b\u90fd\u6709\u76f8\u5173\u63d2\u4ef6\u53ef\u4ee5\u5b9e\u73b0\u5feb\u6377\u64cd\u4f5c\uff08\u4f8b\u5982 Mac \u4e0a\u7684 Alfred \uff09\u3002\u5982\u679c\u4f60\u53d1\u73b0\u67d0\u4e2a\u64cd\u4f5c\u6bcf\u5929\u90fd\u4f1a\u7528\u5230\uff0c\u5e76\u4e14\u7528\u65f6\u8d85\u8fc71\u79d2\uff0c\u90a3\u5c31\u5e94\u8be5\u60f3\u529e\u6cd5\u628a\u5b83\u7f29\u51cf\u52300.1\u79d2\u3002\u6bd5\u7adf\u4ee5\u540e\u6570\u5341\u5e74\u4f60\u90fd\u8981\u548c\u7535\u8111\u6253\u4ea4\u9053\uff0c\u5f62\u6210\u4e00\u5957\u987a\u6ed1\u7684\u5de5\u4f5c\u6d41\u662f\u4e8b\u534a\u529f\u500d\u7684\u3002\u6700\u540e\uff0c\u5b66\u4f1a\u76f2\u6253\uff01\u5982\u679c\u4f60\u8fd8\u9700\u8981\u770b\u7740\u952e\u76d8\u6253\u5b57\uff0c\u90a3\u4e48\u8d76\u7d27\u4e0a\u7f51\u627e\u4e2a\u6559\u7a0b\u5b66\u4f1a\u76f2\u6253\uff0c\u8fd9\u5c06\u6781\u5927\u63d0\u9ad8\u4f60\u7684\u5f00\u53d1\u6548\u7387\u3002 \u5176\u4e09\u5c31\u662f\u5e73\u8861\u597d\u8bfe\u5185\u548c\u81ea\u5b66\u3002\u6211\u4eec\u8d28\u7591\u73b0\u72b6\uff0c\u4f46\u4e5f\u5f97\u9075\u5b88\u89c4\u5219\uff0c\u6bd5\u7adf\u7ee9\u70b9\u5728\u4fdd\u7814\u4e2d\u8fd8\u662f\u76f8\u5f53\u91cd\u8981\u7684\u3002\u56e0\u6b64\u5728\u5927\u4e00\uff0c\u6211\u8fd8\u662f\u5efa\u8bae\u5927\u5bb6\u5c3d\u91cf\u6309\u7167\u81ea\u5df1\u7684\u8bfe\u8868\u5b66\u4e60\uff0c\u4f46\u8f85\u4ee5\u4e00\u4e9b\u4f18\u8d28\u7684\u8bfe\u5916\u8d44\u6e90\u3002\u4f8b\u5982\u5fae\u79ef\u5206\u7ebf\u4ee3\u53ef\u4ee5\u53c2\u8003 MIT 18.01/18.02 \u548c MIT 18.06 \u7684\u8bfe\u7a0b Notes\u3002\u5047\u671f\u53ef\u4ee5\u901a\u8fc7 UCB CS61A \u6765\u5b66\u4e60 Python\u3002\u540c\u65f6\u505a\u5230\u4e0a\u9762\u7b2c\u4e00\u3001\u7b2c\u4e8c\u70b9\u8bf4\u7684\uff0c\u6ce8\u91cd\u597d\u7684\u7f16\u7a0b\u4e60\u60ef\u548c\u5b9e\u8df5\u80fd\u529b\u7684\u57f9\u517b\u3002\u5c31\u4e2a\u4eba\u7ecf\u9a8c\uff0c\u5927\u4e00\u7684\u6570\u5b66\u8bfe\u5b66\u5206\u5360\u6bd4\u76f8\u5f53\u5927\uff0c\u800c\u4e14\u6570\u5b66\u8003\u8bd5\u7684\u5185\u5bb9\u65b9\u5dee\u662f\u5f88\u5927\u7684\uff0c\u4e0d\u540c\u5b66\u6821\u4e0d\u540c\u8001\u5e08\u98ce\u683c\u8fe5\u5f02\uff0c\u81ea\u5b66\u4e5f\u8bb8\u80fd\u8ba9\u4f60\u9886\u609f\u6570\u5b66\u7684\u672c\u8d28\uff0c\u4f46\u672a\u5fc5\u80fd\u7ed9\u4f60\u4e00\u4e2a\u597d\u6210\u7ee9\u3002\u56e0\u6b64\u8003\u524d\u6700\u597d\u6709\u9488\u5bf9\u6027\u5730\u5237\u5f80\u5e74\u9898\uff0c\u5145\u5206\u5e94\u8bd5\u3002 \u5728\u5347\u5165\u5927\u4e8c\u4e4b\u540e\uff0c\u8ba1\u7b97\u673a\u65b9\u5411\u7684\u4e13\u4e1a\u8bfe\u5c06\u5c45\u591a\uff0c\u6b64\u65f6\u5927\u5bb6\u53ef\u4ee5\u5f7b\u5e95\u653e\u98de\u81ea\u6211\uff0c\u8fdb\u5165\u81ea\u5b66\u7684\u6bbf\u5802\u4e86\u3002\u5177\u4f53\u53ef\u4ee5\u53c2\u8003 \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \uff0c\u8fd9\u662f\u6211\u6839\u636e\u81ea\u5df1\u4e09\u5e74\u81ea\u5b66\u7ecf\u5386\u603b\u7ed3\u63d0\u70bc\u51fa\u6765\u7684\u5168\u5957\u6307\u5357\uff0c\u6bcf\u95e8\u8bfe\u7684\u7279\u70b9\u4ee5\u53ca\u4e3a\u4ec0\u4e48\u8981\u4e0a\u8fd9\u95e8\u8bfe\u6211\u90fd\u505a\u4e86\u7b80\u5355\u7684\u4ecb\u7ecd\u3002\u5bf9\u4e8e\u4f60\u8bfe\u8868\u4e0a\u7684\u6bcf\u4e2a\u8bfe\u7a0b\uff0c\u8fd9\u4efd\u89c4\u5212\u91cc\u5e94\u8be5\u90fd\u4f1a\u6709\u76f8\u5e94\u7684\u56fd\u5916\u8bfe\u7a0b\uff0c\u800c\u4e14\u5728\u8d28\u91cf\u4e0a\u6211\u76f8\u4fe1\u57fa\u672c\u662f\u5168\u65b9\u4f4d\u7684\u78be\u538b\u3002\u7531\u4e8e\u8ba1\u7b97\u673a\u65b9\u5411\u7684\u4e13\u4e1a\u77e5\u8bc6\u57fa\u672c\u662f\u4e00\u6837\u7684\uff0c\u800c\u4e14\u9ad8\u8d28\u91cf\u7684\u8bfe\u7a0b\u4f1a\u8ba9\u4f60\u4ece\u539f\u7406\u4e0a\u7406\u89e3\u77e5\u8bc6\u70b9\uff0c\u5bf9\u4e8e\u56fd\u5185\u5927\u591a\u7167\u672c\u5ba3\u79d1\u5f0f\u7684\u6559\u5b66\u6765\u8bf4\u57fa\u672c\u662f\u964d\u7ef4\u6253\u51fb\u3002\u4e00\u822c\u6765\u8bf4\u53ea\u8981\u8003\u524d\u5c06\u8001\u5e08\u201c\u8f9b\u82e6\u201d\u5ff5\u4e86\u4e00\u5b66\u671f\u7684 PPT \u62ff\u6765\u7a81\u51fb\u590d\u4e60\u4e24\u5929\uff0c\u53d6\u5f97\u4e00\u4e2a\u4e0d\u9519\u7684\u5377\u9762\u5206\u6570\u5e76\u4e0d\u56f0\u96be\u3002\u5982\u679c\u6709\u8bfe\u7a0b\u5927\u4f5c\u4e1a\uff0c\u5219\u53ef\u4ee5\u5c3d\u91cf\u5c06\u56fd\u5916\u8bfe\u7a0b\u7684 Lab \u6216\u8005 Project \u4fee\u6539\u4e00\u756a\u4ee5\u5e94\u4ed8\u8bfe\u5185\u7684\u9700\u8981\u3002\u6211\u5f53\u65f6\u4e0a\u64cd\u4f5c\u7cfb\u7edf\u8bfe\uff0c\u53d1\u73b0\u8001\u5e08\u8fd8\u7528\u7740\u65e9\u5df2\u88ab\u56fd\u5916\u5b66\u6821\u6dd8\u6c70\u7684\u8bfe\u7a0b\u5b9e\u9a8c\uff0c\u4fbf\u90ae\u4ef6\u8001\u5e08\u6362\u6210\u4e86\u81ea\u5df1\u6b63\u5728\u5b66\u4e60\u7684 MIT 6.S081 \u7684 xv6 Project\uff0c\u65b9\u4fbf\u81ea\u5b66\u7684\u540c\u65f6\u8fd8\u65e0\u610f\u95f4\u63a8\u52a8\u4e86\u8bfe\u7a0b\u6539\u9769\u3002\u603b\u4e4b\uff0c\u7075\u6d3b\u53d8\u901a\u662f\u7b2c\u4e00\u8981\u4e49\uff0c\u4f60\u7684\u76ee\u6807\u662f\u7528\u6700\u65b9\u4fbf\u3001\u6548\u7387\u6700\u9ad8\u7684\u65b9\u5f0f\u638c\u63e1\u77e5\u8bc6\uff0c\u6240\u6709\u4e0e\u4f60\u8fd9\u4e00\u76ee\u6807\u8fdd\u80cc\u7684\u6240\u8c13\u89c4\u5b9a\u90fd\u53ef\u4ee5\u60f3\u65b9\u8bbe\u6cd5\u5730\u53bb\u201c\u7cca\u5f04\u201d\u3002\u51ed\u7740\u8fd9\u4efd\u7cca\u5f04\u52b2\u513f\uff0c\u6211\u5927\u4e09\u4e4b\u540e\u57fa\u672c\u6ca1\u6709\u53bb\u8fc7\u7ebf\u4e0b\u8bfe\u5802\uff08\u5927\u4e8c\u75ab\u60c5\u5728\u5bb6\u5446\u4e86\u5927\u534a\u5e74\uff09\uff0c\u5bf9\u7ee9\u70b9\u4e5f\u5b8c\u5168\u6ca1\u6709\u5f71\u54cd\u3002 \u6700\u540e\uff0c\u5e0c\u671b\u5927\u5bb6\u5c11\u70b9\u6d6e\u8e81\u548c\u529f\u5229\uff0c\u591a\u4e00\u4e9b\u8010\u5fc3\u548c\u8ffd\u6c42\u3002\u5f88\u591a\u4eba\u53d1\u90ae\u4ef6\u95ee\u6211\u81ea\u5b66\u9700\u4e0d\u9700\u8981\u5f88\u5f3a\u7684\u81ea\u5236\u529b\uff0c\u6211\u89c9\u5f97\u5f97\u5173\u952e\u5f97\u770b\u4f60\u81ea\u5df1\u60f3\u8981\u4ec0\u4e48\u3002\u5982\u679c\u4f60\u4f9d\u7136\u62b1\u7740\u4f1a\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\u4fbf\u80fd\u6708\u85aa\u8fc7\u4e07\u7684\u5e7b\u60f3\uff0c\u60f3\u5206\u4e00\u676f\u4e92\u8054\u7f51\u7684\u7ea2\u5229\uff0c\u90a3\u4e48\u6211\u8bf4\u518d\u591a\u4e5f\u662f\u5e9f\u8bdd\u3002\u5176\u5b9e\u6211\u6700\u521d\u7684\u81ea\u5b66\u5e76\u6ca1\u6709\u592a\u591a\u529f\u5229\u7684\u60f3\u6cd5\uff0c\u53ea\u662f\u5355\u7eaf\u7684\u597d\u5947\u548c\u672c\u80fd\u7684\u6c42\u77e5\u6b32\u3002\u81ea\u5b66\u7684\u8fc7\u7a0b\u4e5f\u6ca1\u6709\u6240\u8c13\u7684\u201c\u5934\u60ac\u6881\uff0c\u9525\u523a\u80a1\u201d\uff0c\u8be5\u5403\u5403\uff0c\u8be5\u73a9\u73a9\uff0c\u4e0d\u77e5\u4e0d\u89c9\u624d\u53d1\u73b0\u7adf\u7136\u6512\u4e0b\u4e86\u8fd9\u4e48\u591a\u8d44\u6599\u3002\u73b0\u5982\u4eca\u4e2d\u7f8e\u7684\u5bf9\u6297\u5df2\u7136\u6210\u4e3a\u8d8b\u52bf\uff0c\u800c\u6211\u4eec\u8fd8\u5728\u201c\u5351\u5fae\u201d\u5730\u201c\u5e08\u5937\u957f\u6280\u201d\uff0c\u611f\u53f9\u56fd\u5916\u9ad8\u8d28\u91cf\u8bfe\u7a0b\u7684\u540c\u65f6\u4e5f\u65f6\u5e38\u4f1a\u6709\u4e00\u79cd\u5371\u673a\u611f\u3002\u8fd9\u4e00\u5207\u9760\u8c01\u6765\u6539\u53d8\u5462\uff1f\u9760\u7684\u662f\u521a\u521a\u5165\u884c\u7684\u4f60\u4eec\u3002\u6240\u4ee5\uff0c\u52a0\u6cb9\u5427\uff0c\u5c11\u5e74\uff01","title":"\u521d\u5165\u6821\u56ed"},{"location":"%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/#_3","text":"\u5982\u679c\u4f60\u5df2\u7ecf\u672c\u79d1\u6bd5\u4e1a\u5f00\u59cb\u8bfb\u7814\u6216\u8005\u8d70\u4e0a\u4e86\u5de5\u4f5c\u5c97\u4f4d\uff0c\u4ea6\u6216\u662f\u4ece\u4e8b\u7740\u5176\u4ed6\u9886\u57df\u7684\u5de5\u4f5c\u60f3\u8981\u5229\u7528\u4e1a\u4f59\u65f6\u95f4\u8f6c\u7801\uff0c\u90a3\u4e48\u4f60\u4e5f\u8bb8\u5e76\u6ca1\u6709\u5145\u8db3\u7684\u4e1a\u4f59\u65f6\u95f4\u6765\u7cfb\u7edf\u5730\u5b66\u5b8c \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \u91cc\u7684\u5185\u5bb9\uff0c\u4f46\u53c8\u60f3\u5f25\u8865\u672c\u79d1\u65f6\u671f\u6b20\u4e0b\u7684\u57fa\u7840\u3002\u8003\u8651\u5230\u8fd9\u90e8\u5206\u8bfb\u8005\u901a\u5e38\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u7ecf\u9a8c\uff0c\u5165\u95e8\u8bfe\u7a0b\u6ca1\u6709\u5fc5\u8981\u518d\u91cd\u590d\u5b66\u4e60\u3002\u800c\u4e14\u4ece\u5b9e\u7528\u89d2\u5ea6\u6765\u8bf4\uff0c\u7531\u4e8e\u5de5\u4f5c\u7684\u5927\u4f53\u65b9\u5411\u5df2\u7ecf\u786e\u5b9a\uff0c\u786e\u5b9e\u6ca1\u6709\u592a\u5927\u5fc5\u8981\u5bf9\u4e8e\u6bcf\u4e2a\u8ba1\u7b97\u673a\u5206\u652f\u90fd\u6709\u7279\u522b\u6df1\u5165\u7684\u7814\u7a76\uff0c\u66f4\u5e94\u8be5\u4fa7\u91cd\u4e00\u4e9b\u901a\u7528\u6027\u7684\u539f\u5219\u548c\u6280\u80fd\u3002\u56e0\u6b64\u6211\u7ed3\u5408\u81ea\u8eab\u7ecf\u5386\uff0c\u9009\u53d6\u4e86\u4e2a\u4eba\u611f\u89c9\u6700\u91cd\u8981\u4e5f\u662f\u8d28\u91cf\u6700\u9ad8\u7684\u51e0\u95e8\u6838\u5fc3\u4e13\u4e1a\u8bfe\uff0c\u5e0c\u671b\u80fd\u66f4\u597d\u5730\u52a0\u6df1\u8bfb\u8005\u5bf9\u8ba1\u7b97\u673a\u7684\u7406\u89e3\u3002\u5b66\u5b8c\u8fd9\u4e9b\u8bfe\u7a0b\uff0c\u65e0\u8bba\u4f60\u5177\u4f53\u4ece\u4e8b\u7684\u662f\u4ec0\u4e48\u5de5\u4f5c\uff0c\u6211\u76f8\u4fe1\u4f60\u5c06\u4e0d\u53ef\u80fd\u6ca6\u4e3a\u4e00\u4e2a\u666e\u901a\u7684\u8c03\u5305\u4fa0\uff0c\u800c\u662f\u5bf9\u8ba1\u7b97\u673a\u7684\u5e95\u5c42\u8fd0\u884c\u903b\u8f91\u6709\u66f4\u6df1\u5165\u7684\u4e86\u89e3\u3002 \u8bfe\u7a0b\u65b9\u5411 \u8bfe\u7a0b\u540d \u79bb\u6563\u6570\u5b66\u548c\u6982\u7387\u8bba UCB CS70 : discrete Math and probability theory \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 Coursera: Algorithms I & II \u8f6f\u4ef6\u5de5\u7a0b MIT 6.031: Software Construction \u5168\u6808\u5f00\u53d1 MIT web development course \u8ba1\u7b97\u673a\u7cfb\u7edf\u5bfc\u8bba CMU CS15213: CSAPP \u4f53\u7cfb\u7ed3\u6784\u5165\u95e8 Coursera: Nand2Tetris \u4f53\u7cfb\u7ed3\u6784\u8fdb\u9636 CS61C: Great Ideas in Computer Architecture \u6570\u636e\u5e93\u539f\u7406 CMU 15-445: Introduction to Database System \u8ba1\u7b97\u673a\u7f51\u7edc Computer Networking: A Top-Down Approach \u4eba\u5de5\u667a\u80fd Harvard CS50: Introduction to AI with Python \u6df1\u5ea6\u5b66\u4e60 Coursera: Deep Learning","title":"\u5220\u7e41\u5c31\u7b80"},{"location":"%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/#_4","text":"\u5982\u679c\u4f60\u5bf9\u4e8e\u8ba1\u7b97\u673a\u9886\u57df\u7684\u6838\u5fc3\u4e13\u4e1a\u8bfe\u90fd\u638c\u63e1\u5f97\u76f8\u5f53\u624e\u5b9e\uff0c\u800c\u4e14\u5df2\u7ecf\u786e\u5b9a\u4e86\u81ea\u5df1\u7684\u5de5\u4f5c\u6216\u7814\u7a76\u65b9\u5411\uff0c\u90a3\u4e48\u4e66\u4e2d\u8fd8\u6709\u5f88\u591a\u672a\u5728 \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \u63d0\u5230\u7684\u8bfe\u7a0b\u4f9b\u4f60\u63a2\u7d22\u3002 \u968f\u7740\u8d21\u732e\u8005\u7684\u4e0d\u65ad\u589e\u591a\uff0c\u5de6\u4fa7\u7684\u76ee\u5f55\u4e2d\u5c06\u4e0d\u65ad\u589e\u52a0\u65b0\u7684\u5206\u652f\uff0c\u4f8b\u5982 \u673a\u5668\u5b66\u4e60\u8fdb\u9636 \u548c \u673a\u5668\u5b66\u4e60\u7cfb\u7edf \u3002\u5e76\u4e14\u540c\u4e00\u4e2a\u5206\u652f\u4e0b\u90fd\u6709\u82e5\u5e72\u540c\u7c7b\u578b\u8bfe\u7a0b\uff0c\u5b83\u4eec\u6765\u81ea\u4e0d\u540c\u7684\u5b66\u6821\uff0c\u6709\u7740\u4e0d\u540c\u7684\u4fa7\u91cd\u70b9\u548c\u8bfe\u7a0b\u5b9e\u9a8c\uff0c\u4f8b\u5982 \u64cd\u4f5c\u7cfb\u7edf \u5206\u652f\u4e0b\u5c31\u5305\u542b\u4e86\u9ebb\u7701\u7406\u5de5\u3001\u4f2f\u514b\u5229\u8fd8\u6709\u5357\u4eac\u5927\u5b66\u4e09\u4e2a\u5b66\u6821\u7684\u8bfe\u7a0b\u3002\u5982\u679c\u4f60\u60f3\u6df1\u8015\u4e00\u4e2a\u9886\u57df\uff0c\u90a3\u4e48\u5b66\u4e60\u8fd9\u4e9b\u540c\u7c7b\u7684\u8bfe\u7a0b\u4f1a\u7ed9\u4f60\u4e0d\u540c\u7684\u89d2\u5ea6\u6765\u770b\u5f85\u7c7b\u4f3c\u7684\u77e5\u8bc6\u3002\u540c\u65f6\uff0c\u672c\u4e66\u4f5c\u8005\u8fd8\u8ba1\u5212\u8054\u7cfb\u4e00\u4e9b\u76f8\u5173\u9886\u57df\u7684\u79d1\u7814\u5de5\u4f5c\u8005\u6765\u5206\u4eab\u67d0\u4e2a\u7ec6\u5206\u9886\u57df\u7684\u79d1\u7814\u5b66\u4e60\u8def\u5f84\uff0c\u8ba9 CS\u81ea\u5b66\u6307\u5357 \u5728\u8ffd\u6c42\u5e7f\u5ea6\u7684\u540c\u65f6\uff0c\u5b9e\u73b0\u6df1\u5ea6\u4e0a\u7684\u63d0\u9ad8\u3002 \u5982\u679c\u4f60\u60f3\u8d21\u732e\u8fd9\u65b9\u9762\u7684\u5185\u5bb9\uff0c\u6b22\u8fce\u548c\u4f5c\u8005\u90ae\u4ef6\u8054\u7cfb zhongyinmin@pku.edu.cn","title":"\u5fc3\u6709\u6240\u5c5e"},{"location":"%E5%90%8E%E8%AE%B0/","text":"\u540e\u8bb0 \u4ece\u6700\u521d\u7684\u60f3\u6cd5\u5f00\u59cb\uff0c\u5230\u65ad\u65ad\u7eed\u7eed\u5b8c\u6210\u8fd9\u672c\u4e66\uff0c\u518d\u5230\u6811\u6d1e\u7684\u70ed\u70c8\u53cd\u54cd\uff0c\u6211\u5f88\u6fc0\u52a8\uff0c\u4f46\u4e5f\u4e94\u5473\u6742\u9648\u3002\u539f\u6765\u5728\u5317\u5927\u8fd9\u4e2a\u56ed\u5b50\u91cc\uff0c\u4e5f\u6709\u90a3\u4e48\u591a\u4eba\uff0c\u5bf9\u81ea\u5df1\u7684\u672c\u79d1\u751f\u6daf\u5e76\u4e0d\u6ee1\u610f\u3002\u800c\u8fd9\u91cc\uff0c\u53ef\u662f\u56ca\u62ec\u4e86\u4e2d\u56fd\u975e\u5e38\u4f18\u79c0\u7684\u4e00\u5e2e\u5e74\u8f7b\u4eba\u3002\u6240\u4ee5\u95ee\u9898\u51fa\u5728\u54ea\u91cc\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u662f\u4e2a\u7c4d\u7c4d\u65e0\u540d\u7684\u672c\u79d1\u751f\u5440\uff0c\u53ea\u662f\u4e00\u4e2a\u5355\u7eaf\u7684\u6c42\u5b66\u8005\uff0c\u6211\u7684\u76ee\u6807\u53ea\u662f\u60f3\u5feb\u4e50\u5730\u3001\u81ea\u7531\u5730\u3001\u9ad8\u8d28\u91cf\u5730\u638c\u63e1\u90a3\u4e9b\u4e13\u4e1a\u77e5\u8bc6\uff0c\u6211\u60f3\uff0c\u6b63\u5728\u770b\u8fd9\u672c\u4e66\u7684\u5927\u591a\u6570\u672c\u79d1\u751f\u4e5f\u662f\u5982\u6b64\uff0c\u8c01\u60f3\u4ed8\u51fa\u65f6\u95f4\u4f46\u5374\u6536\u6548\u751a\u5fae\u5462\uff1f\u53c8\u662f\u8c01\u8feb\u4f7f\u5927\u5bb6\u5e26\u7740\u75db\u82e6\u53bb\u5e94\u4ed8\u5462\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u5199\u8fd9\u672c\u4e66\u7edd\u4e0d\u662f\u4e3a\u4e86\u9f13\u52b1\u5927\u5bb6\u7fd8\u8bfe\u81ea\u5b66\uff0c\u8bd5\u95ee\u8c01\u4e0d\u60f3\u5728\u8bfe\u5802\u4e0a\u548c\u90a3\u4e48\u591a\u4f18\u79c0\u7684\u540c\u5b66\u6d4e\u6d4e\u4e00\u5802\uff0c\u70ed\u70c8\u8ba8\u8bba\u5462\uff1f\u8c01\u4e0d\u60f3\u9047\u5230\u95ee\u9898\u76f4\u63a5\u627e\u8001\u5e08\u7b54\u7591\u89e3\u60d1\u5462\uff1f\u8c01\u4e0d\u60f3\u8f9b\u82e6\u5b66\u4e60\u7684\u6210\u679c\u53ef\u4ee5\u76f4\u63a5\u5316\u4f5c\u5b66\u6821\u627f\u8ba4\u7684\u5b66\u5206\u7ee9\u70b9\u5462\uff1f\u53ef\u5982\u679c\u4e00\u4e2a\u5162\u5162\u4e1a\u4e1a\u3001\u6309\u65f6\u5230\u5802\u7684\u5b66\u751f\u6536\u83b7\u7684\u5374\u662f\u75db\u82e6\uff0c\u800c\u90a3\u4e2a\u4e00\u5b66\u671f\u53ea\u6709\u8003\u8bd5\u4f1a\u51fa\u5e2d\u7684\u5b66\u751f\u5374\u5b66\u5f97\u81ea\u5f97\u5176\u4e50\uff0c\u8fd9\u516c\u5e73\u5417\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u662f\u4e0d\u7518\uff0c\u4e0d\u7518\u5fc3\u8fd9\u4e9b\u901a\u8fc7\u9ad8\u8003\u6218\u80dc\u65e0\u6570\u4eba\u8fdb\u5165\u9ad8\u6821\u7684\u5b66\u5b50\u672c\u53ef\u4ee5\u6536\u83b7\u4e00\u4e2a\u66f4\u5feb\u4e50\u7684\u672c\u79d1\u751f\u6daf\uff0c\u4f46\u73b0\u5b9e\u5374\u7559\u7ed9\u4e86\u4ed6\u4eec\u9057\u61be\u3002\u6211\u53cd\u95ee\u81ea\u5df1\uff0c\u672c\u79d1\u6559\u80b2\u7a76\u7adf\u5e94\u8be5\u5e26\u7ed9\u6211\u4eec\u4ec0\u4e48\u5462\uff1f\u662f\u5b66\u5b8c\u6240\u6709\u8fd9\u4e9b\u8bfe\u7a0b\u5417\uff1f\u5012\u4e5f\u672a\u5fc5\uff0c\u5b83\u4e5f\u8bb8\u53ea\u9002\u5408\u6211\u8fd9\u79cdnerd\u3002\u4f46\u6211\u89c9\u5f97\uff0c\u672c\u79d1\u6559\u80b2\u81f3\u5c11\u5f97\u5c55\u73b0\u5b83\u5e94\u6709\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u5206\u4eab\u77e5\u8bc6\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u4ee5\u4eba\u4e3a\u672c\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u6ce8\u91cd\u5b66\u751f\u4f53\u9a8c\u7684\u8bda\u610f\u3002\u5b83\u81f3\u5c11\u4e0d\u5e94\u8be5\u662f\u4e00\u79cd\u6076\u610f\uff0c\u4e00\u79cd\u62fc\u6bd4\u77e5\u8bc6\u7684\u6076\u610f\uff0c\u4e00\u79cd\u80dc\u8005\u4e3a\u738b\u7684\u6076\u610f\uff0c\u4e00\u79cd\u8ba9\u4eba\u5b66\u65e0\u6240\u5f97\u7684\u6076\u610f\u3002\u4f46\u8fd9\u4e00\u5207\u80fd\u6539\u53d8\u5417\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u77e5\u9053\u6211\u505a\u4e86\u5e94\u8be5\u505a\u7684\u4e8b\u60c5\uff0c\u5b66\u751f\u4eec\u4f1a\u7528\u811a\u6295\u7968\uff0c\u6811\u6d1e\u7684\u5173\u6ce8\u91cf\u548c\u56de\u5e16\u6570\u8bc1\u660e\u4e86\u8fd9\u6837\u4e00\u4efd\u8d44\u6599\u662f\u6709\u4ef7\u503c\u7684\uff0c\u4e5f\u9053\u51fa\u4e86\u56fd\u5185CS\u672c\u79d1\u6559\u80b2\u548c\u56fd\u5916\u7684\u5dee\u8ddd\u3002\u4e5f\u8bb8\u8fd9\u6837\u7684\u6539\u53d8\u662f\u5fae\u4e4e\u5176\u5fae\u7684\uff0c\u4f46\u522b\u5fd8\u4e86\u6211\u53ea\u662f\u4e00\u4e2a\u7c4d\u7c4d\u65e0\u540d\u7684\u672c\u79d1\u751f\uff0c\u662f\u5317\u5927\u4fe1\u79d1\u4e00\u5343\u591a\u540d\u672c\u79d1\u751f\u4e2d\u7684\u666e\u901a\u4e00\u5458\uff0c\u662f\u4e2d\u56fd\u51e0\u767e\u4e07\u5728\u8bfb\u672c\u79d1\u751f\u4e2d\u7684\u4e00\u5206\u5b50\uff0c\u5982\u679c\u6709\u66f4\u591a\u7684\u4eba\u7ad9\u51fa\u6765\uff0c\u6bcf\u4e2a\u4eba\u505a\u4e00\u70b9\u70b9\uff0c\u4e5f\u8bb8\u662f\u5206\u4eab\u4e00\u4e2a\u5e16\u5b50\uff0c\u4e5f\u8bb8\u662f\u5f53\u4e00\u95e8\u8bfe\u7684\u52a9\u6559\uff0c\u4e5f\u8bb8\u662f\u7cbe\u5fc3\u8bbe\u8ba1\u4e00\u95e8\u8bfe\u7684lab\uff0c\u66f4\u6216\u8bb8\u662f\u5c06\u6765\u83b7\u5f97\u6559\u804c\u4e4b\u540e\u5f00\u8bbe\u4e00\u95e8\u9ad8\u8d28\u91cf\u7684\u8bfe\u7a0b\uff0c\u51fa\u7248\u4e00\u672c\u7ecf\u5178\u7684\u6559\u6750\u3002\u672c\u79d1\u6559\u80b2\u771f\u7684\u6709\u4ec0\u4e48\u6280\u672f\u58c1\u5792\u5417\uff1f\u6211\u770b\u672a\u5fc5\uff0c\u6559\u80b2\u9760\u7684\u662f\u8bda\u610f\uff0c\u9760\u7684\u662f\u80b2\u4eba\u4e4b\u5fc3\u3002 \u4eca\u5929\u662f2021\u5e7412\u670812\u65e5\uff0c\u6211\u671f\u5f85\u5728\u4e0d\u4e45\u7684\u5c06\u6765\u8fd9\u4e2a\u5e16\u5b50\u4f1a\u88ab\u9057\u5fd8\uff0c\u5927\u5bb6\u53ef\u4ee5\u6ee1\u5fc3\u6b22\u559c\u5730\u9009\u7740\u81ea\u5df1\u57f9\u517b\u65b9\u6848\u4e0a\u7684\u8bfe\u7a0b\uff0c\u505a\u7740\u5b66\u6821\u81ea\u884c\u8bbe\u8ba1\u7684\u5404\u7c7b\u7f16\u7a0b\u5b9e\u9a8c\uff0c\u8bfe\u5802\u6ca1\u6709\u7b7e\u5230\u4e5f\u80fd\u6d4e\u6d4e\u4e00\u5802\uff0c\u5b66\u751f\u8e0a\u8dc3\u5730\u53d1\u8a00\u4e92\u52a8\uff0c\u5927\u5bb6\u7684\u6536\u83b7\u53ef\u4ee5\u548c\u52aa\u529b\u6210\u6b63\u6bd4\uff0c\u90a3\u4e9b\u66fe\u7ecf\u7684\u9057\u61be\u548c\u75db\u82e6\u53ef\u4ee5\u6c38\u8fdc\u6210\u4e3a\u5386\u53f2\u3002\u6211\u771f\u7684\u5f88\u671f\u5f85\u90a3\u4e00\u5929\uff0c\u771f\u7684\u771f\u7684\u771f\u7684\u5f88\u671f\u5f85\u3002 PKUFlyingPig 2021\u5e7412\u670812\u65e5\u5199\u4e8e\u71d5\u56ed","title":"\u540e\u8bb0"},{"location":"%E5%90%8E%E8%AE%B0/#_1","text":"\u4ece\u6700\u521d\u7684\u60f3\u6cd5\u5f00\u59cb\uff0c\u5230\u65ad\u65ad\u7eed\u7eed\u5b8c\u6210\u8fd9\u672c\u4e66\uff0c\u518d\u5230\u6811\u6d1e\u7684\u70ed\u70c8\u53cd\u54cd\uff0c\u6211\u5f88\u6fc0\u52a8\uff0c\u4f46\u4e5f\u4e94\u5473\u6742\u9648\u3002\u539f\u6765\u5728\u5317\u5927\u8fd9\u4e2a\u56ed\u5b50\u91cc\uff0c\u4e5f\u6709\u90a3\u4e48\u591a\u4eba\uff0c\u5bf9\u81ea\u5df1\u7684\u672c\u79d1\u751f\u6daf\u5e76\u4e0d\u6ee1\u610f\u3002\u800c\u8fd9\u91cc\uff0c\u53ef\u662f\u56ca\u62ec\u4e86\u4e2d\u56fd\u975e\u5e38\u4f18\u79c0\u7684\u4e00\u5e2e\u5e74\u8f7b\u4eba\u3002\u6240\u4ee5\u95ee\u9898\u51fa\u5728\u54ea\u91cc\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u662f\u4e2a\u7c4d\u7c4d\u65e0\u540d\u7684\u672c\u79d1\u751f\u5440\uff0c\u53ea\u662f\u4e00\u4e2a\u5355\u7eaf\u7684\u6c42\u5b66\u8005\uff0c\u6211\u7684\u76ee\u6807\u53ea\u662f\u60f3\u5feb\u4e50\u5730\u3001\u81ea\u7531\u5730\u3001\u9ad8\u8d28\u91cf\u5730\u638c\u63e1\u90a3\u4e9b\u4e13\u4e1a\u77e5\u8bc6\uff0c\u6211\u60f3\uff0c\u6b63\u5728\u770b\u8fd9\u672c\u4e66\u7684\u5927\u591a\u6570\u672c\u79d1\u751f\u4e5f\u662f\u5982\u6b64\uff0c\u8c01\u60f3\u4ed8\u51fa\u65f6\u95f4\u4f46\u5374\u6536\u6548\u751a\u5fae\u5462\uff1f\u53c8\u662f\u8c01\u8feb\u4f7f\u5927\u5bb6\u5e26\u7740\u75db\u82e6\u53bb\u5e94\u4ed8\u5462\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u5199\u8fd9\u672c\u4e66\u7edd\u4e0d\u662f\u4e3a\u4e86\u9f13\u52b1\u5927\u5bb6\u7fd8\u8bfe\u81ea\u5b66\uff0c\u8bd5\u95ee\u8c01\u4e0d\u60f3\u5728\u8bfe\u5802\u4e0a\u548c\u90a3\u4e48\u591a\u4f18\u79c0\u7684\u540c\u5b66\u6d4e\u6d4e\u4e00\u5802\uff0c\u70ed\u70c8\u8ba8\u8bba\u5462\uff1f\u8c01\u4e0d\u60f3\u9047\u5230\u95ee\u9898\u76f4\u63a5\u627e\u8001\u5e08\u7b54\u7591\u89e3\u60d1\u5462\uff1f\u8c01\u4e0d\u60f3\u8f9b\u82e6\u5b66\u4e60\u7684\u6210\u679c\u53ef\u4ee5\u76f4\u63a5\u5316\u4f5c\u5b66\u6821\u627f\u8ba4\u7684\u5b66\u5206\u7ee9\u70b9\u5462\uff1f\u53ef\u5982\u679c\u4e00\u4e2a\u5162\u5162\u4e1a\u4e1a\u3001\u6309\u65f6\u5230\u5802\u7684\u5b66\u751f\u6536\u83b7\u7684\u5374\u662f\u75db\u82e6\uff0c\u800c\u90a3\u4e2a\u4e00\u5b66\u671f\u53ea\u6709\u8003\u8bd5\u4f1a\u51fa\u5e2d\u7684\u5b66\u751f\u5374\u5b66\u5f97\u81ea\u5f97\u5176\u4e50\uff0c\u8fd9\u516c\u5e73\u5417\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u662f\u4e0d\u7518\uff0c\u4e0d\u7518\u5fc3\u8fd9\u4e9b\u901a\u8fc7\u9ad8\u8003\u6218\u80dc\u65e0\u6570\u4eba\u8fdb\u5165\u9ad8\u6821\u7684\u5b66\u5b50\u672c\u53ef\u4ee5\u6536\u83b7\u4e00\u4e2a\u66f4\u5feb\u4e50\u7684\u672c\u79d1\u751f\u6daf\uff0c\u4f46\u73b0\u5b9e\u5374\u7559\u7ed9\u4e86\u4ed6\u4eec\u9057\u61be\u3002\u6211\u53cd\u95ee\u81ea\u5df1\uff0c\u672c\u79d1\u6559\u80b2\u7a76\u7adf\u5e94\u8be5\u5e26\u7ed9\u6211\u4eec\u4ec0\u4e48\u5462\uff1f\u662f\u5b66\u5b8c\u6240\u6709\u8fd9\u4e9b\u8bfe\u7a0b\u5417\uff1f\u5012\u4e5f\u672a\u5fc5\uff0c\u5b83\u4e5f\u8bb8\u53ea\u9002\u5408\u6211\u8fd9\u79cdnerd\u3002\u4f46\u6211\u89c9\u5f97\uff0c\u672c\u79d1\u6559\u80b2\u81f3\u5c11\u5f97\u5c55\u73b0\u5b83\u5e94\u6709\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u5206\u4eab\u77e5\u8bc6\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u4ee5\u4eba\u4e3a\u672c\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u6ce8\u91cd\u5b66\u751f\u4f53\u9a8c\u7684\u8bda\u610f\u3002\u5b83\u81f3\u5c11\u4e0d\u5e94\u8be5\u662f\u4e00\u79cd\u6076\u610f\uff0c\u4e00\u79cd\u62fc\u6bd4\u77e5\u8bc6\u7684\u6076\u610f\uff0c\u4e00\u79cd\u80dc\u8005\u4e3a\u738b\u7684\u6076\u610f\uff0c\u4e00\u79cd\u8ba9\u4eba\u5b66\u65e0\u6240\u5f97\u7684\u6076\u610f\u3002\u4f46\u8fd9\u4e00\u5207\u80fd\u6539\u53d8\u5417\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u77e5\u9053\u6211\u505a\u4e86\u5e94\u8be5\u505a\u7684\u4e8b\u60c5\uff0c\u5b66\u751f\u4eec\u4f1a\u7528\u811a\u6295\u7968\uff0c\u6811\u6d1e\u7684\u5173\u6ce8\u91cf\u548c\u56de\u5e16\u6570\u8bc1\u660e\u4e86\u8fd9\u6837\u4e00\u4efd\u8d44\u6599\u662f\u6709\u4ef7\u503c\u7684\uff0c\u4e5f\u9053\u51fa\u4e86\u56fd\u5185CS\u672c\u79d1\u6559\u80b2\u548c\u56fd\u5916\u7684\u5dee\u8ddd\u3002\u4e5f\u8bb8\u8fd9\u6837\u7684\u6539\u53d8\u662f\u5fae\u4e4e\u5176\u5fae\u7684\uff0c\u4f46\u522b\u5fd8\u4e86\u6211\u53ea\u662f\u4e00\u4e2a\u7c4d\u7c4d\u65e0\u540d\u7684\u672c\u79d1\u751f\uff0c\u662f\u5317\u5927\u4fe1\u79d1\u4e00\u5343\u591a\u540d\u672c\u79d1\u751f\u4e2d\u7684\u666e\u901a\u4e00\u5458\uff0c\u662f\u4e2d\u56fd\u51e0\u767e\u4e07\u5728\u8bfb\u672c\u79d1\u751f\u4e2d\u7684\u4e00\u5206\u5b50\uff0c\u5982\u679c\u6709\u66f4\u591a\u7684\u4eba\u7ad9\u51fa\u6765\uff0c\u6bcf\u4e2a\u4eba\u505a\u4e00\u70b9\u70b9\uff0c\u4e5f\u8bb8\u662f\u5206\u4eab\u4e00\u4e2a\u5e16\u5b50\uff0c\u4e5f\u8bb8\u662f\u5f53\u4e00\u95e8\u8bfe\u7684\u52a9\u6559\uff0c\u4e5f\u8bb8\u662f\u7cbe\u5fc3\u8bbe\u8ba1\u4e00\u95e8\u8bfe\u7684lab\uff0c\u66f4\u6216\u8bb8\u662f\u5c06\u6765\u83b7\u5f97\u6559\u804c\u4e4b\u540e\u5f00\u8bbe\u4e00\u95e8\u9ad8\u8d28\u91cf\u7684\u8bfe\u7a0b\uff0c\u51fa\u7248\u4e00\u672c\u7ecf\u5178\u7684\u6559\u6750\u3002\u672c\u79d1\u6559\u80b2\u771f\u7684\u6709\u4ec0\u4e48\u6280\u672f\u58c1\u5792\u5417\uff1f\u6211\u770b\u672a\u5fc5\uff0c\u6559\u80b2\u9760\u7684\u662f\u8bda\u610f\uff0c\u9760\u7684\u662f\u80b2\u4eba\u4e4b\u5fc3\u3002 \u4eca\u5929\u662f2021\u5e7412\u670812\u65e5\uff0c\u6211\u671f\u5f85\u5728\u4e0d\u4e45\u7684\u5c06\u6765\u8fd9\u4e2a\u5e16\u5b50\u4f1a\u88ab\u9057\u5fd8\uff0c\u5927\u5bb6\u53ef\u4ee5\u6ee1\u5fc3\u6b22\u559c\u5730\u9009\u7740\u81ea\u5df1\u57f9\u517b\u65b9\u6848\u4e0a\u7684\u8bfe\u7a0b\uff0c\u505a\u7740\u5b66\u6821\u81ea\u884c\u8bbe\u8ba1\u7684\u5404\u7c7b\u7f16\u7a0b\u5b9e\u9a8c\uff0c\u8bfe\u5802\u6ca1\u6709\u7b7e\u5230\u4e5f\u80fd\u6d4e\u6d4e\u4e00\u5802\uff0c\u5b66\u751f\u8e0a\u8dc3\u5730\u53d1\u8a00\u4e92\u52a8\uff0c\u5927\u5bb6\u7684\u6536\u83b7\u53ef\u4ee5\u548c\u52aa\u529b\u6210\u6b63\u6bd4\uff0c\u90a3\u4e9b\u66fe\u7ecf\u7684\u9057\u61be\u548c\u75db\u82e6\u53ef\u4ee5\u6c38\u8fdc\u6210\u4e3a\u5386\u53f2\u3002\u6211\u771f\u7684\u5f88\u671f\u5f85\u90a3\u4e00\u5929\uff0c\u771f\u7684\u771f\u7684\u771f\u7684\u5f88\u671f\u5f85\u3002 PKUFlyingPig 2021\u5e7412\u670812\u65e5\u5199\u4e8e\u71d5\u56ed","title":"\u540e\u8bb0"},{"location":"%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88Pro/","text":"under construction.","title":"\u57f9\u517b\u65b9\u6848Pro"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/","text":"\u597d\u4e66\u63a8\u8350 \u7531\u4e8e\u7248\u6743\u539f\u56e0\uff0c\u4e0b\u9762\u5217\u4e3e\u7684\u56fe\u4e66\u4e2d\u9664\u4e86\u5f00\u6e90\u8d44\u6e90\u63d0\u4f9b\u4e86\u94fe\u63a5\uff0c\u5176\u4ed6\u7684\u8d44\u6e90\u8bf7\u5927\u5bb6\u81ea\u884c\u901a\u8fc7 libgen \u6216 z-lib \u67e5\u627e\u3002 \u8d44\u6e90\u6c47\u603b Free Programming Books : \u5f00\u6e90\u7f16\u7a0b\u4e66\u7c4d\u8d44\u6e90\u6c47\u603b CS Textbook Recommendations : \u8ba1\u7b97\u673a\u79d1\u5b66\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868 C Book Guide and List : C\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 C++ Book Guide and List : C++\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 Python Book Guide and List : Python\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 Computer Vision Textbook Recommendations : \u8ba1\u7b97\u673a\u89c6\u89c9\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868 Deep Learning Textbook Recommendations : \u6df1\u5ea6\u5b66\u4e60\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868 \u7cfb\u7edf\u5165\u95e8 Computer Systems: A Programmer's Perspective [ \u8c46\u74e3 ] Principles of Computer System Design: An Introduction [ \u8c46\u74e3 ] \u64cd\u4f5c\u7cfb\u7edf \u73b0\u4ee3\u64cd\u4f5c\u7cfb\u7edf: \u539f\u7406\u4e0e\u5b9e\u73b0 [ \u8c46\u74e3 ] Operating Systems: Three Easy Pieces [ \u8c46\u74e3 ] Modern Operating Systems [ \u8c46\u74e3 ] Operating Systems: Principles and Practice [ \u8c46\u74e3 ] \u8ba1\u7b97\u673a\u7f51\u7edc Computer Networks: A Systems Approach [ \u8c46\u74e3 ] Computer Networking: A Top-Down Approach [ \u8c46\u74e3 ] How Networks Work [ \u8c46\u74e3 ] \u5206\u5e03\u5f0f\u7cfb\u7edf Patterns of Distributed System (Blog) Distributed Systems for Fun and Profit (Blog) Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems [ \u8c46\u74e3 ] \u6570\u636e\u5e93\u7cfb\u7edf Architecture of a Database System [ \u8c46\u74e3 ] Readings in Database Systems [ \u8c46\u74e3 ] Database System Concepts : 7th Edition [ \u8c46\u74e3 ] \u7f16\u8bd1\u539f\u7406 Engineering a Compiler [ \u8c46\u74e3 ] Compilers: Principles, Techniques, and Tools [ \u8c46\u74e3 ] Crafting Interpreters [\u8c46\u74e3] [\u5f00\u6e90\u4e2d\u6587\u7ffb\u8bd1] \u8ba1\u7b97\u673a\u7f16\u7a0b\u8bed\u8a00 \u8ba1\u7b97\u673a\u7a0b\u5e8f\u7684\u6784\u9020\u548c\u89e3\u91ca [ \u8c46\u74e3 ] Essentials of Programming Languages [ \u8c46\u74e3 ] Practical Foundations for Programming Languages [ \u8c46\u74e3 ] Software Foundations [ \u8c46\u74e3 ] [ \u5317\u5927\u76f8\u5173\u8bfe\u7a0b ] Types and Programming Languages [ \u8c46\u74e3 ] [ \u5317\u5927\u76f8\u5173\u8bfe\u7a0b ] \u4f53\u7cfb\u7ed3\u6784 \u8d85\u6807\u91cf\u5904\u7406\u5668\u8bbe\u8ba1: Superscalar RISC Processor Design [ \u8c46\u74e3 ] Computer Organization and Design RISC-V Edition [ \u8c46\u74e3 ] Computer Organization and Design: The Hardware/Software Interface [ \u8c46\u74e3 ] Computer Architecture: A Quantitative Approach [ \u8c46\u74e3 ] \u7406\u8bba\u8ba1\u7b97\u673a\u79d1\u5b66 Introduction to the Theory of Computation [ \u8c46\u74e3 ] \u5bc6\u7801\u5b66 Cryptography Engineering: Design Principles and Practical Applications [ \u8c46\u74e3 ] Introduction to Modern Cryptography [ \u8c46\u74e3 ] \u9006\u5411\u5de5\u7a0b \u9006\u5411\u5de5\u7a0b\u6838\u5fc3\u539f\u7406 [ \u8c46\u74e3 ] \u52a0\u5bc6\u4e0e\u89e3\u5bc6 [ \u8c46\u74e3 ] \u8ba1\u7b97\u673a\u56fe\u5f62\u5b66 Monte Carlo theory, methods and examples [ \u8c46\u74e3 ] Advanced Global Illumination [ \u8c46\u74e3 ] Fundamentals of Computer Graphics [ \u8c46\u74e3 ] Fluid Simulation for Computer Graphics [ \u8c46\u74e3 ] Physically Based Rendering: From Theory To Implementation [ \u8c46\u74e3 ] Real-Time Rendering [ \u8c46\u74e3 ] \u6e38\u620f\u5f15\u64ce \u6e38\u620f\u7f16\u7a0b\u6a21\u5f0f: Game Programming Patterns [ \u8c46\u74e3 ] \u5b9e\u65f6\u78b0\u649e\u68c0\u6d4b\u7b97\u6cd5\u6280\u672f [ \u8c46\u74e3 ] Game AI Pro Series [ \u8c46\u74e3 ] Artificial Intelligence for Games [ \u8c46\u74e3 ] Game Engine Architecture [ \u8c46\u74e3 ] Game Programming Gems Series [ \u8c46\u74e3 ] \u8f6f\u4ef6\u5de5\u7a0b Software Engineering at Google [ \u8c46\u74e3 ] \u8bbe\u8ba1\u6a21\u5f0f \u8bbe\u8ba1\u6a21\u5f0f: \u53ef\u590d\u7528\u9762\u5411\u5bf9\u8c61\u8f6f\u4ef6\u7684\u57fa\u7840 [ \u8c46\u74e3 ] \u5927\u8bdd\u8bbe\u8ba1\u6a21\u5f0f [ \u8c46\u74e3 ] Head First Design Patterns 2nd ed. [ \u8c46\u74e3 ] \u6df1\u5ea6\u5b66\u4e60 \u52a8\u624b\u5b66\u6df1\u5ea6\u5b66\u4e60 [ \u8c46\u74e3 ] \u795e\u7ecf\u7f51\u7edc\u4e0e\u6df1\u5ea6\u5b66\u4e60 [ \u8c46\u74e3 ] \u6df1\u5ea6\u5b66\u4e60\u5165\u95e8 [ \u8c46\u74e3 ] \u7b80\u5355\u7c97\u66b4 TensorFlow 2 (Tutorial) Speech and Language Processing [ \u8c46\u74e3 ] \u8ba1\u7b97\u673a\u89c6\u89c9 Multiple View Geometry in Computer Vision [ \u8c46\u74e3 ] \u673a\u5668\u4eba Probabilistic Robotics [ \u8c46\u74e3 ] \u9762\u8bd5 \u5251\u6307 Offer\uff1a\u540d\u4f01\u9762\u8bd5\u5b98\u7cbe\u8bb2\u5178\u578b\u7f16\u7a0b\u9898 [ \u8c46\u74e3 ] Cracking The Coding Interview [ \u8c46\u74e3 ]","title":"\u597d\u4e66\u63a8\u8350"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_1","text":"\u7531\u4e8e\u7248\u6743\u539f\u56e0\uff0c\u4e0b\u9762\u5217\u4e3e\u7684\u56fe\u4e66\u4e2d\u9664\u4e86\u5f00\u6e90\u8d44\u6e90\u63d0\u4f9b\u4e86\u94fe\u63a5\uff0c\u5176\u4ed6\u7684\u8d44\u6e90\u8bf7\u5927\u5bb6\u81ea\u884c\u901a\u8fc7 libgen \u6216 z-lib \u67e5\u627e\u3002","title":"\u597d\u4e66\u63a8\u8350"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_2","text":"Free Programming Books : \u5f00\u6e90\u7f16\u7a0b\u4e66\u7c4d\u8d44\u6e90\u6c47\u603b CS Textbook Recommendations : \u8ba1\u7b97\u673a\u79d1\u5b66\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868 C Book Guide and List : C\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 C++ Book Guide and List : C++\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 Python Book Guide and List : Python\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 Computer Vision Textbook Recommendations : \u8ba1\u7b97\u673a\u89c6\u89c9\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868 Deep Learning Textbook Recommendations : \u6df1\u5ea6\u5b66\u4e60\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_3","text":"Computer Systems: A Programmer's Perspective [ \u8c46\u74e3 ] Principles of Computer System Design: An Introduction [ \u8c46\u74e3 ]","title":"\u7cfb\u7edf\u5165\u95e8"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_4","text":"\u73b0\u4ee3\u64cd\u4f5c\u7cfb\u7edf: \u539f\u7406\u4e0e\u5b9e\u73b0 [ \u8c46\u74e3 ] Operating Systems: Three Easy Pieces [ \u8c46\u74e3 ] Modern Operating Systems [ \u8c46\u74e3 ] Operating Systems: Principles and Practice [ \u8c46\u74e3 ]","title":"\u64cd\u4f5c\u7cfb\u7edf"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_5","text":"Computer Networks: A Systems Approach [ \u8c46\u74e3 ] Computer Networking: A Top-Down Approach [ \u8c46\u74e3 ] How Networks Work [ \u8c46\u74e3 ]","title":"\u8ba1\u7b97\u673a\u7f51\u7edc"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_6","text":"Patterns of Distributed System (Blog) Distributed Systems for Fun and Profit (Blog) Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems [ \u8c46\u74e3 ]","title":"\u5206\u5e03\u5f0f\u7cfb\u7edf"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_7","text":"Architecture of a Database System [ \u8c46\u74e3 ] Readings in Database Systems [ \u8c46\u74e3 ] Database System Concepts : 7th Edition [ \u8c46\u74e3 ]","title":"\u6570\u636e\u5e93\u7cfb\u7edf"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_8","text":"Engineering a Compiler [ \u8c46\u74e3 ] Compilers: Principles, Techniques, and Tools [ \u8c46\u74e3 ] Crafting Interpreters [\u8c46\u74e3] [\u5f00\u6e90\u4e2d\u6587\u7ffb\u8bd1]","title":"\u7f16\u8bd1\u539f\u7406"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_9","text":"\u8ba1\u7b97\u673a\u7a0b\u5e8f\u7684\u6784\u9020\u548c\u89e3\u91ca [ \u8c46\u74e3 ] Essentials of Programming Languages [ \u8c46\u74e3 ] Practical Foundations for Programming Languages [ \u8c46\u74e3 ] Software Foundations [ \u8c46\u74e3 ] [ \u5317\u5927\u76f8\u5173\u8bfe\u7a0b ] Types and Programming Languages [ \u8c46\u74e3 ] [ \u5317\u5927\u76f8\u5173\u8bfe\u7a0b ]","title":"\u8ba1\u7b97\u673a\u7f16\u7a0b\u8bed\u8a00"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_10","text":"\u8d85\u6807\u91cf\u5904\u7406\u5668\u8bbe\u8ba1: Superscalar RISC Processor Design [ \u8c46\u74e3 ] Computer Organization and Design RISC-V Edition [ \u8c46\u74e3 ] Computer Organization and Design: The Hardware/Software Interface [ \u8c46\u74e3 ] Computer Architecture: A Quantitative Approach [ \u8c46\u74e3 ]","title":"\u4f53\u7cfb\u7ed3\u6784"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_11","text":"Introduction to the Theory of Computation [ \u8c46\u74e3 ]","title":"\u7406\u8bba\u8ba1\u7b97\u673a\u79d1\u5b66"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_12","text":"Cryptography Engineering: Design Principles and Practical Applications [ \u8c46\u74e3 ] Introduction to Modern Cryptography [ \u8c46\u74e3 ]","title":"\u5bc6\u7801\u5b66"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_13","text":"\u9006\u5411\u5de5\u7a0b\u6838\u5fc3\u539f\u7406 [ \u8c46\u74e3 ] \u52a0\u5bc6\u4e0e\u89e3\u5bc6 [ \u8c46\u74e3 ]","title":"\u9006\u5411\u5de5\u7a0b"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_14","text":"Monte Carlo theory, methods and examples [ \u8c46\u74e3 ] Advanced Global Illumination [ \u8c46\u74e3 ] Fundamentals of Computer Graphics [ \u8c46\u74e3 ] Fluid Simulation for Computer Graphics [ \u8c46\u74e3 ] Physically Based Rendering: From Theory To Implementation [ \u8c46\u74e3 ] Real-Time Rendering [ \u8c46\u74e3 ]","title":"\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_15","text":"\u6e38\u620f\u7f16\u7a0b\u6a21\u5f0f: Game Programming Patterns [ \u8c46\u74e3 ] \u5b9e\u65f6\u78b0\u649e\u68c0\u6d4b\u7b97\u6cd5\u6280\u672f [ \u8c46\u74e3 ] Game AI Pro Series [ \u8c46\u74e3 ] Artificial Intelligence for Games [ \u8c46\u74e3 ] Game Engine Architecture [ \u8c46\u74e3 ] Game Programming Gems Series [ \u8c46\u74e3 ]","title":"\u6e38\u620f\u5f15\u64ce"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_16","text":"Software Engineering at Google [ \u8c46\u74e3 ]","title":"\u8f6f\u4ef6\u5de5\u7a0b"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_17","text":"\u8bbe\u8ba1\u6a21\u5f0f: \u53ef\u590d\u7528\u9762\u5411\u5bf9\u8c61\u8f6f\u4ef6\u7684\u57fa\u7840 [ \u8c46\u74e3 ] \u5927\u8bdd\u8bbe\u8ba1\u6a21\u5f0f [ \u8c46\u74e3 ] Head First Design Patterns 2nd ed. [ \u8c46\u74e3 ]","title":"\u8bbe\u8ba1\u6a21\u5f0f"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_18","text":"\u52a8\u624b\u5b66\u6df1\u5ea6\u5b66\u4e60 [ \u8c46\u74e3 ] \u795e\u7ecf\u7f51\u7edc\u4e0e\u6df1\u5ea6\u5b66\u4e60 [ \u8c46\u74e3 ] \u6df1\u5ea6\u5b66\u4e60\u5165\u95e8 [ \u8c46\u74e3 ] \u7b80\u5355\u7c97\u66b4 TensorFlow 2 (Tutorial) Speech and Language Processing [ \u8c46\u74e3 ]","title":"\u6df1\u5ea6\u5b66\u4e60"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_19","text":"Multiple View Geometry in Computer Vision [ \u8c46\u74e3 ]","title":"\u8ba1\u7b97\u673a\u89c6\u89c9"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_20","text":"Probabilistic Robotics [ \u8c46\u74e3 ]","title":"\u673a\u5668\u4eba"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_21","text":"\u5251\u6307 Offer\uff1a\u540d\u4f01\u9762\u8bd5\u5b98\u7cbe\u8bb2\u5178\u578b\u7f16\u7a0b\u9898 [ \u8c46\u74e3 ] Cracking The Coding Interview [ \u8c46\u74e3 ]","title":"\u9762\u8bd5"},{"location":"Web%E5%BC%80%E5%8F%91/CS142/","text":"Stanford CS142: Web Applications \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u7ecf\u9a8c \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u65af\u5766\u798f\u7684 Web \u5e94\u7528\u5f00\u53d1\u8bfe\u7a0b\uff0c\u5185\u5bb9\u8986\u76d6\u4e86 HTML, CSS, JavaScript, ReactJs, NodeJS, ExpressJS, Web\u5b89\u5168\u7b49\u7b49\u30028 \u4e2a Project \u4f1a\u8ba9\u4f60\u5728\u5b9e\u6218\u4e2d\u953b\u70bc\u81ea\u5df1\u7684 Web \u5f00\u53d1\u6280\u5de7\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://web.stanford.edu/class/cs142/index.html \u8bfe\u7a0b\u89c6\u9891\uff1a https://web.stanford.edu/class/cs142/lectures.html \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://web.stanford.edu/class/cs142/projects.html","title":"Stanford CS142: Web Applications"},{"location":"Web%E5%BC%80%E5%8F%91/CS142/#stanford-cs142-web-applications","text":"","title":"Stanford CS142: Web Applications"},{"location":"Web%E5%BC%80%E5%8F%91/CS142/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u7ecf\u9a8c \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u65af\u5766\u798f\u7684 Web \u5e94\u7528\u5f00\u53d1\u8bfe\u7a0b\uff0c\u5185\u5bb9\u8986\u76d6\u4e86 HTML, CSS, JavaScript, ReactJs, NodeJS, ExpressJS, Web\u5b89\u5168\u7b49\u7b49\u30028 \u4e2a Project \u4f1a\u8ba9\u4f60\u5728\u5b9e\u6218\u4e2d\u953b\u70bc\u81ea\u5df1\u7684 Web \u5f00\u53d1\u6280\u5de7\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"Web%E5%BC%80%E5%8F%91/CS142/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://web.stanford.edu/class/cs142/index.html \u8bfe\u7a0b\u89c6\u9891\uff1a https://web.stanford.edu/class/cs142/lectures.html \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://web.stanford.edu/class/cs142/projects.html","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"Web%E5%BC%80%E5%8F%91/CS571/","text":"CS571 Building UI (React & React Native) \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u5a01\u65af\u5eb7\u661f\u5927\u5b66\u9ea6\u8fea\u900a\u5206\u6821\uff08University of Wisconsin, Madison\uff09 \u5148\u4fee\u8981\u6c42\uff1aCS400\uff08\u9ad8\u7ea7 Java\uff0c\u4f46\u4e2a\u4eba\u89c9\u5f97\u5148\u4fee\u4e0d\u5fc5\u8981\uff0c\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\u5373\u53ef\uff09 \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u6bcf\u5468 2 \u5c0f\u65f6\uff08\u8bb2\u5ea7\uff09+ \u6bcf\u5468 4\u201310 \u5c0f\u65f6\uff08\u4f5c\u4e1a\uff09\uff0c\u6301\u7eed 12 \u5468 \u8be5\u8bfe\u7a0b\u63d0\u4f9b\u4e86 React \u524d\u7aef\u5f00\u53d1\u548c React Native \u79fb\u52a8\u7aef\u5f00\u53d1\u7684\u6700\u4f73\u5b9e\u8df5\u4ecb\u7ecd\uff0c\u5b8c\u6574\u7684\u540c\u65f6\u53c8\u63d0\u7eb2\u6308\u9886\u3002\u91c7\u7528 React \u548c React Native \u7684\u6700\u65b0\u7248\u672c\uff0c\u8bfe\u7a0b\u7f51\u7ad9\u6bcf\u5b66\u671f\u90fd\u4f1a\u66f4\u65b0\u3002\u5bf9\u4e8e\u5404\u95e8\u5de5\u5177\u8fed\u51fa\u7684\u524d\u7aef\u5f00\u53d1\u96be\u80fd\u53ef\u8d35\u3002 \u540c\u65f6\uff0c\u8be5\u8bfe\u7a0b\u4e5f\u63d0\u4f9b\u4e86\u5f88\u597d\u7684\u8bad\u7ec3\u673a\u4f1a\u3002\u5728\u6574\u4e2a\u5b66\u671f\u4e2d\uff0c\u9700\u8981\u4e3a\u8f83\u5927\u4f5c\u4e1a\u91cf\u505a\u597d\u51c6\u5907\u3002\u4f5c\u4e1a\u6240\u6d89\u53ca\u7684\u6280\u672f\u548c\u77e5\u8bc6\u70b9\u4f1a\u5728\u8bfe\u4e0a\u8bb2\u89e3\uff0c\u4f46\u4e0d\u4f1a\u624b\u628a\u624b\u5199\u4ee3\u7801\uff08\u4e2a\u4eba\u8ba4\u4e3a\u624b\u628a\u624b\u5199\u4ee3\u7801\u6548\u7387\u975e\u5e38\u4f4e\uff0c\u800c Udemy \u4e0a\u591a\u4e3a\u6b64\u7c7b\u578b\uff09\u3002\u7531\u4e8e\u4e0d\u662f\u4fdd\u59c6\u7ea7\u8bfe\u7a0b\uff0c\u5982\u679c\u5199\u4f5c\u4e1a\u65f6\u5bf9\u4e8e React \u7684\u67d0\u4e9b\u529f\u80fd\u4e0d\u786e\u5b9a\u600e\u4e48\u5199\uff0c\u5efa\u8bae\u5728\u52a8\u624b\u4e4b\u524d\u591a\u82b1\u4e9b\u65f6\u95f4\u4ed4\u7ec6\u9605\u8bfb react.dev \u4e0a\u7684\u76f8\u5173\u7ae0\u8282\u3002\u4f5c\u4e1a\u7684 starter code \u63d0\u4f9b\u7684\u8bad\u7ec3\u8d77\u70b9\u4e5f\u6070\u597d\u5408\u9002\uff0c\u4e0d\u7528\u4e3a\u914d Node.js \u73af\u5883\u4f24\u8111\u7b4b\u3002 \u5c3d\u7ba1\u8fd9\u95e8\u8bfe\u7a0b\u4e0d\u8981\u6c42\u9884\u5148\u4f1a Javascript/HTML/CSS\uff0c\u8bfe\u5802\u4e0a\u5bf9 syntax \u7684\u4ecb\u7ecd\u6bd4\u8f83\u6709\u9650\uff0c\u5efa\u8bae\u5b66\u4e60\u548c\u5199\u7801\u9047\u5230\u8bed\u6cd5\u95ee\u9898\u65f6\u52e4\u67e5\u52e4\u95ee\u3002 \u6b64\u5916\uff0c\u672c\u8bfe\u7a0b\u8fd8\u5bf9 Google \u65d7\u4e0b\u7684 ChatBot \u5f00\u53d1\u5de5\u5177 Dialog Flow \u6709\u8f83\u4e3a\u6df1\u5165\u7684\u4ecb\u7ecd\u548c\u7ec3\u4e60\u3002\u8fd8\u5bf9 UX Design \u7684\u5b9e\u7528\u539f\u5219\u548c\u6280\u672f\u6709\u6240\u8bb2\u89e3\u3002 \u6240\u6709\u8bfe\u7a0b\u8d44\u6599\u548c\u4f5c\u4e1a\u90fd\u662f\u5f00\u6e90\u7684\uff0c\u4f46\u4f60\u9700\u8981\u5411\u6388\u8bfe\u6559\u5e08 Cole Nelson (ctnelson2@wisc.edu) \u53d1\u9001\u7535\u5b50\u90ae\u4ef6\u4ee5\u83b7\u53d6 X-CS571-ID\u3002\u8be5 ID \u662f\u5411 API \u53d1\u9001 request \u5fc5\u9700\u3002\u5728\u53d1\u9001\u90ae\u4ef6\u65f6\uff0c\u5efa\u8bae\u9644\u4e0a\u81ea\u6211\u4ecb\u7ecd\u3002\u76ee\u524d\u8fd8\u4e0d\u6e05\u695a\u8001\u5e08\u662f\u5426\u613f\u610f\u7ed9\u6240\u6709\u4eba\u63d0\u4f9bID\uff0c\u5982\u679c\u8001\u5e08\u8868\u793a\u65e0\u6cd5\u5206\u4eab\uff0c\u8bf7 \u5728 GitHub repo \u91cc\u63d0\u4e00\u4e2a issue \u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs571.org \u8bfe\u7a0b\u89c6\u9891\uff1a\u8bf7\u53c2\u8003\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u6807\u6709\u201cR\u201d\u7684\u94fe\u63a5 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u8bf7\u53c2\u8003\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u7684\u76f8\u5173\u4fe1\u606f","title":"CS571 Building UI (React & React Native)"},{"location":"Web%E5%BC%80%E5%8F%91/CS571/#cs571-building-ui-react-react-native","text":"","title":"CS571 Building UI (React & React Native)"},{"location":"Web%E5%BC%80%E5%8F%91/CS571/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u5a01\u65af\u5eb7\u661f\u5927\u5b66\u9ea6\u8fea\u900a\u5206\u6821\uff08University of Wisconsin, Madison\uff09 \u5148\u4fee\u8981\u6c42\uff1aCS400\uff08\u9ad8\u7ea7 Java\uff0c\u4f46\u4e2a\u4eba\u89c9\u5f97\u5148\u4fee\u4e0d\u5fc5\u8981\uff0c\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\u5373\u53ef\uff09 \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u6bcf\u5468 2 \u5c0f\u65f6\uff08\u8bb2\u5ea7\uff09+ \u6bcf\u5468 4\u201310 \u5c0f\u65f6\uff08\u4f5c\u4e1a\uff09\uff0c\u6301\u7eed 12 \u5468 \u8be5\u8bfe\u7a0b\u63d0\u4f9b\u4e86 React \u524d\u7aef\u5f00\u53d1\u548c React Native \u79fb\u52a8\u7aef\u5f00\u53d1\u7684\u6700\u4f73\u5b9e\u8df5\u4ecb\u7ecd\uff0c\u5b8c\u6574\u7684\u540c\u65f6\u53c8\u63d0\u7eb2\u6308\u9886\u3002\u91c7\u7528 React \u548c React Native \u7684\u6700\u65b0\u7248\u672c\uff0c\u8bfe\u7a0b\u7f51\u7ad9\u6bcf\u5b66\u671f\u90fd\u4f1a\u66f4\u65b0\u3002\u5bf9\u4e8e\u5404\u95e8\u5de5\u5177\u8fed\u51fa\u7684\u524d\u7aef\u5f00\u53d1\u96be\u80fd\u53ef\u8d35\u3002 \u540c\u65f6\uff0c\u8be5\u8bfe\u7a0b\u4e5f\u63d0\u4f9b\u4e86\u5f88\u597d\u7684\u8bad\u7ec3\u673a\u4f1a\u3002\u5728\u6574\u4e2a\u5b66\u671f\u4e2d\uff0c\u9700\u8981\u4e3a\u8f83\u5927\u4f5c\u4e1a\u91cf\u505a\u597d\u51c6\u5907\u3002\u4f5c\u4e1a\u6240\u6d89\u53ca\u7684\u6280\u672f\u548c\u77e5\u8bc6\u70b9\u4f1a\u5728\u8bfe\u4e0a\u8bb2\u89e3\uff0c\u4f46\u4e0d\u4f1a\u624b\u628a\u624b\u5199\u4ee3\u7801\uff08\u4e2a\u4eba\u8ba4\u4e3a\u624b\u628a\u624b\u5199\u4ee3\u7801\u6548\u7387\u975e\u5e38\u4f4e\uff0c\u800c Udemy \u4e0a\u591a\u4e3a\u6b64\u7c7b\u578b\uff09\u3002\u7531\u4e8e\u4e0d\u662f\u4fdd\u59c6\u7ea7\u8bfe\u7a0b\uff0c\u5982\u679c\u5199\u4f5c\u4e1a\u65f6\u5bf9\u4e8e React \u7684\u67d0\u4e9b\u529f\u80fd\u4e0d\u786e\u5b9a\u600e\u4e48\u5199\uff0c\u5efa\u8bae\u5728\u52a8\u624b\u4e4b\u524d\u591a\u82b1\u4e9b\u65f6\u95f4\u4ed4\u7ec6\u9605\u8bfb react.dev \u4e0a\u7684\u76f8\u5173\u7ae0\u8282\u3002\u4f5c\u4e1a\u7684 starter code \u63d0\u4f9b\u7684\u8bad\u7ec3\u8d77\u70b9\u4e5f\u6070\u597d\u5408\u9002\uff0c\u4e0d\u7528\u4e3a\u914d Node.js \u73af\u5883\u4f24\u8111\u7b4b\u3002 \u5c3d\u7ba1\u8fd9\u95e8\u8bfe\u7a0b\u4e0d\u8981\u6c42\u9884\u5148\u4f1a Javascript/HTML/CSS\uff0c\u8bfe\u5802\u4e0a\u5bf9 syntax \u7684\u4ecb\u7ecd\u6bd4\u8f83\u6709\u9650\uff0c\u5efa\u8bae\u5b66\u4e60\u548c\u5199\u7801\u9047\u5230\u8bed\u6cd5\u95ee\u9898\u65f6\u52e4\u67e5\u52e4\u95ee\u3002 \u6b64\u5916\uff0c\u672c\u8bfe\u7a0b\u8fd8\u5bf9 Google \u65d7\u4e0b\u7684 ChatBot \u5f00\u53d1\u5de5\u5177 Dialog Flow \u6709\u8f83\u4e3a\u6df1\u5165\u7684\u4ecb\u7ecd\u548c\u7ec3\u4e60\u3002\u8fd8\u5bf9 UX Design \u7684\u5b9e\u7528\u539f\u5219\u548c\u6280\u672f\u6709\u6240\u8bb2\u89e3\u3002 \u6240\u6709\u8bfe\u7a0b\u8d44\u6599\u548c\u4f5c\u4e1a\u90fd\u662f\u5f00\u6e90\u7684\uff0c\u4f46\u4f60\u9700\u8981\u5411\u6388\u8bfe\u6559\u5e08 Cole Nelson (ctnelson2@wisc.edu) \u53d1\u9001\u7535\u5b50\u90ae\u4ef6\u4ee5\u83b7\u53d6 X-CS571-ID\u3002\u8be5 ID \u662f\u5411 API \u53d1\u9001 request \u5fc5\u9700\u3002\u5728\u53d1\u9001\u90ae\u4ef6\u65f6\uff0c\u5efa\u8bae\u9644\u4e0a\u81ea\u6211\u4ecb\u7ecd\u3002\u76ee\u524d\u8fd8\u4e0d\u6e05\u695a\u8001\u5e08\u662f\u5426\u613f\u610f\u7ed9\u6240\u6709\u4eba\u63d0\u4f9bID\uff0c\u5982\u679c\u8001\u5e08\u8868\u793a\u65e0\u6cd5\u5206\u4eab\uff0c\u8bf7 \u5728 GitHub repo \u91cc\u63d0\u4e00\u4e2a issue \u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"Web%E5%BC%80%E5%8F%91/CS571/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs571.org \u8bfe\u7a0b\u89c6\u9891\uff1a\u8bf7\u53c2\u8003\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u6807\u6709\u201cR\u201d\u7684\u94fe\u63a5 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u8bf7\u53c2\u8003\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u7684\u76f8\u5173\u4fe1\u606f","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"Web%E5%BC%80%E5%8F%91/fullstackopen/","text":"University of Helsinki: Full Stack open 2022 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUniversity of Helsinki \u5148\u4fee\u8981\u6c42\uff1a\u5177\u5907\u826f\u597d\u7684\u7f16\u7a0b\u6280\u80fd\u3001\u57fa\u672c\u7684\u7f51\u7edc\u7f16\u7a0b\u548c\u6570\u636e\u5e93\u77e5\u8bc6\uff0c\u5e76\u4e14\u4e86\u89e3\u4f7f\u7528 Git \u8fd9\u4e2a\u7248\u672c\u63a7\u5236\u7cfb\u7edf\u7684\u57fa\u7840\u77e5\u8bc6\u3002 \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS/NoSQL/SQL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u672c\u8bfe\u7a0b\u662f\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 JavaScript \u5f00\u53d1\u73b0\u4ee3Web\u5e94\u7528\u7a0b\u5e8f\u3002 \u8bfe\u7a0b\u7684\u91cd\u70b9\u662f\u4f7f\u7528 ReactJS \u6784\u5efa\u5355\u9875\u9762\u5e94\u7528\u7a0b\u5e8f\uff08SPA\uff09\uff0c\u5e76\u4f7f\u7528\u7531 Node.js \u6784\u5efa REST API\u3002\u8be5\u8bfe\u7a0b\u8fd8\u5305\u542b\u4ecb\u7ecd GraphQL \u7684\u90e8\u5206\uff0c\u8fd9\u662f REST API \u7684\u73b0\u4ee3\u66ff\u4ee3\u65b9\u6848\u3002 \u8bfe\u7a0b\u8fd8\u5305\u62ec\u6d4b\u8bd5\u3001\u914d\u7f6e\u548c\u73af\u5883\u7ba1\u7406\uff0c\u4ee5\u53ca\u4f7f\u7528 MongoDB \u6765\u5b58\u50a8\u5e94\u7528\u7684\u6570\u636e\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://fullstackopen.com/zh/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b Discord \u7fa4\u7ec4\uff1a https://study.cs.helsinki.fi/discord/join/fullstack/ \u8bfe\u7a0b Telegram \u7fa4\u7ec4\uff1a https://t.me/fullstackcourse/","title":"University of Helsinki: Full Stack open 2022"},{"location":"Web%E5%BC%80%E5%8F%91/fullstackopen/#university-of-helsinki-full-stack-open-2022","text":"","title":"University of Helsinki: Full Stack open 2022"},{"location":"Web%E5%BC%80%E5%8F%91/fullstackopen/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUniversity of Helsinki \u5148\u4fee\u8981\u6c42\uff1a\u5177\u5907\u826f\u597d\u7684\u7f16\u7a0b\u6280\u80fd\u3001\u57fa\u672c\u7684\u7f51\u7edc\u7f16\u7a0b\u548c\u6570\u636e\u5e93\u77e5\u8bc6\uff0c\u5e76\u4e14\u4e86\u89e3\u4f7f\u7528 Git \u8fd9\u4e2a\u7248\u672c\u63a7\u5236\u7cfb\u7edf\u7684\u57fa\u7840\u77e5\u8bc6\u3002 \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS/NoSQL/SQL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u672c\u8bfe\u7a0b\u662f\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 JavaScript \u5f00\u53d1\u73b0\u4ee3Web\u5e94\u7528\u7a0b\u5e8f\u3002 \u8bfe\u7a0b\u7684\u91cd\u70b9\u662f\u4f7f\u7528 ReactJS \u6784\u5efa\u5355\u9875\u9762\u5e94\u7528\u7a0b\u5e8f\uff08SPA\uff09\uff0c\u5e76\u4f7f\u7528\u7531 Node.js \u6784\u5efa REST API\u3002\u8be5\u8bfe\u7a0b\u8fd8\u5305\u542b\u4ecb\u7ecd GraphQL \u7684\u90e8\u5206\uff0c\u8fd9\u662f REST API \u7684\u73b0\u4ee3\u66ff\u4ee3\u65b9\u6848\u3002 \u8bfe\u7a0b\u8fd8\u5305\u62ec\u6d4b\u8bd5\u3001\u914d\u7f6e\u548c\u73af\u5883\u7ba1\u7406\uff0c\u4ee5\u53ca\u4f7f\u7528 MongoDB \u6765\u5b58\u50a8\u5e94\u7528\u7684\u6570\u636e\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"Web%E5%BC%80%E5%8F%91/fullstackopen/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://fullstackopen.com/zh/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b Discord \u7fa4\u7ec4\uff1a https://study.cs.helsinki.fi/discord/join/fullstack/ \u8bfe\u7a0b Telegram \u7fa4\u7ec4\uff1a https://t.me/fullstackcourse/","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"Web%E5%BC%80%E5%8F%91/mitweb/","text":"MIT Web Development Crash Course \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS/NoSQL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 MIT \u5728\u6bcf\u5e74 1 \u6708\u4efd\u4f1a\u6709\u4e00\u4e2a\u4e3a\u671f 4 \u5468\u7684 Independent Activities Period (IAP)\uff0c\u5728\u8fd9\u4e2a\u6708\u91cc\uff0cMIT \u7684\u5b66\u751f\u548c\u8001\u5e08\u53ef\u4ee5\u81ea\u7531\u5730\u5f00\u8bbe\u5f88\u591a\u6709\u8da3\u7684\u8bfe\u7a0b\uff0c\u800c\u8fd9\u95e8\u7f51\u7ad9\u5f00\u53d1\u8bfe\u7a0b\u5c31\u662f\u5176\u4e2d\u4e4b\u4e00\u3002 \u5728\u4e00\u4e2a\u6708\u7684\u65f6\u95f4\u91cc\uff0c\u4f60\u4f1a\u4ece\u96f6\u5f00\u59cb\u638c\u63e1\u4e00\u4e2a\u7f51\u7ad9\u7684\u8bbe\u8ba1\u3001\u642d\u5efa\u3001\u7f8e\u5316\u3001\u4ea4\u4e92\u7b49\u7b49\u6838\u5fc3\u5185\u5bb9\uff0c\u57fa\u672c\u8986\u76d6\u4e86 Web \u5f00\u53d1\u7684\u524d\u540e\u7aef\u5927\u90e8\u5206\u6280\u672f\u6808\u3002\u5982\u679c\u4f60\u4e0d\u9700\u8981\u7cfb\u7edf\u5730\u5b66\u4e60\u7f51\u7edc\u5f00\u53d1\uff0c\u800c\u53ea\u662f\u51fa\u4e8e\u5174\u8da3\u60f3\u628a\u5b83\u52a0\u5165\u81ea\u5df1\u7684\u6280\u80fd\u5305\u91cc\uff0c\u90a3\u4e48\u8fd9\u95e8\u8bfe\u5c06\u975e\u5e38\u9002\u5408\u4f60\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://weblab.mit.edu/schedule/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b Schedule","title":"MIT web development course"},{"location":"Web%E5%BC%80%E5%8F%91/mitweb/#mit-web-development-crash-course","text":"","title":"MIT Web Development Crash Course"},{"location":"Web%E5%BC%80%E5%8F%91/mitweb/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS/NoSQL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 MIT \u5728\u6bcf\u5e74 1 \u6708\u4efd\u4f1a\u6709\u4e00\u4e2a\u4e3a\u671f 4 \u5468\u7684 Independent Activities Period (IAP)\uff0c\u5728\u8fd9\u4e2a\u6708\u91cc\uff0cMIT \u7684\u5b66\u751f\u548c\u8001\u5e08\u53ef\u4ee5\u81ea\u7531\u5730\u5f00\u8bbe\u5f88\u591a\u6709\u8da3\u7684\u8bfe\u7a0b\uff0c\u800c\u8fd9\u95e8\u7f51\u7ad9\u5f00\u53d1\u8bfe\u7a0b\u5c31\u662f\u5176\u4e2d\u4e4b\u4e00\u3002 \u5728\u4e00\u4e2a\u6708\u7684\u65f6\u95f4\u91cc\uff0c\u4f60\u4f1a\u4ece\u96f6\u5f00\u59cb\u638c\u63e1\u4e00\u4e2a\u7f51\u7ad9\u7684\u8bbe\u8ba1\u3001\u642d\u5efa\u3001\u7f8e\u5316\u3001\u4ea4\u4e92\u7b49\u7b49\u6838\u5fc3\u5185\u5bb9\uff0c\u57fa\u672c\u8986\u76d6\u4e86 Web \u5f00\u53d1\u7684\u524d\u540e\u7aef\u5927\u90e8\u5206\u6280\u672f\u6808\u3002\u5982\u679c\u4f60\u4e0d\u9700\u8981\u7cfb\u7edf\u5730\u5b66\u4e60\u7f51\u7edc\u5f00\u53d1\uff0c\u800c\u53ea\u662f\u51fa\u4e8e\u5174\u8da3\u60f3\u628a\u5b83\u52a0\u5165\u81ea\u5df1\u7684\u6280\u80fd\u5305\u91cc\uff0c\u90a3\u4e48\u8fd9\u95e8\u8bfe\u5c06\u975e\u5e38\u9002\u5408\u4f60\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"Web%E5%BC%80%E5%8F%91/mitweb/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://weblab.mit.edu/schedule/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b Schedule","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/","text":"CS188: Introduction to Artificial Intelligence \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS70 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u4eba\u5de5\u667a\u80fd\u5165\u95e8\u8bfe\uff0c\u8bfe\u7a0b notes \u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u57fa\u672c\u4e0d\u9700\u8981\u89c2\u770b\u8bfe\u7a0b\u89c6\u9891\u3002\u8bfe\u7a0b\u5185\u5bb9\u7684\u5b89\u6392\u57fa\u672c\u6309\u7167\u4eba\u5de5\u667a\u80fd\u7684\u7ecf\u5178\u6559\u6750 Artificial intelligence: A Modern Approach \u7684\u7ae0\u8282\u987a\u5e8f\uff0c\u8986\u76d6\u4e86\u641c\u7d22\u526a\u679d\u3001\u7ea6\u675f\u6ee1\u8db3\u95ee\u9898\u3001\u9a6c\u5c14\u53ef\u592b\u51b3\u7b56\u8fc7\u7a0b\u3001\u5f3a\u5316\u5b66\u4e60\u3001\u8d1d\u53f6\u65af\u7f51\u7edc\u3001\u9690\u9a6c\u5c14\u53ef\u592b\u6a21\u578b\u4ee5\u53ca\u57fa\u7840\u7684\u673a\u5668\u5b66\u4e60\u548c\u795e\u7ecf\u7f51\u7edc\u7684\u76f8\u5173\u5185\u5bb9\u3002 2018\u5e74\u79cb\u5b63\u5b66\u671f\u7684\u7248\u672c\u514d\u8d39\u5f00\u653e\u4e86 gradescope\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728\u7ebf\u5b8c\u6210\u4e66\u9762\u4f5c\u4e1a\u5e76\u5b9e\u65f6\u5f97\u5230\u6d4b\u8bc4\u7ed3\u679c\u3002\u540c\u65f6\u8bfe\u7a0b\u7684 6 \u4e2a Project \u4e5f\u662f\u8d28\u91cf\u7206\u70b8\uff0c\u590d\u73b0\u4e86\u7ecf\u5178\u7684 Packman\uff08\u5403\u8c46\u4eba\uff09\u5c0f\u6e38\u620f\uff0c\u4f1a\u8ba9\u4f60\u5229\u7528\u5b66\u5230\u7684 AI \u77e5\u8bc6\uff0c\u53bb\u5b9e\u73b0\u76f8\u5173\u7b97\u6cd5\uff0c\u8ba9\u4f60\u7684\u5403\u8c46\u4eba\u5728\u8ff7\u5bab\u91cc\u81ea\u7531\u7a7f\u68ad\uff0c\u8eb2\u907f\u9b3c\u602a\uff0c\u6536\u96c6\u8c46\u5b50\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a Fall 2022 \uff0c Fall 2018 \u8bfe\u7a0b\u89c6\u9891\uff1a Fall 2022 \uff0c Fall 2018 \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1aArtificial intelligence: A Modern Approach \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5728\u7ebf\u6d4b\u8bc4\u4e66\u9762\u4f5c\u4e1a\u548c Projects\uff0c\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"UCB CS188: Introduction to Artificial Intelligence"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/#cs188-introduction-to-artificial-intelligence","text":"","title":"CS188: Introduction to Artificial Intelligence"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS70 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u4eba\u5de5\u667a\u80fd\u5165\u95e8\u8bfe\uff0c\u8bfe\u7a0b notes \u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u57fa\u672c\u4e0d\u9700\u8981\u89c2\u770b\u8bfe\u7a0b\u89c6\u9891\u3002\u8bfe\u7a0b\u5185\u5bb9\u7684\u5b89\u6392\u57fa\u672c\u6309\u7167\u4eba\u5de5\u667a\u80fd\u7684\u7ecf\u5178\u6559\u6750 Artificial intelligence: A Modern Approach \u7684\u7ae0\u8282\u987a\u5e8f\uff0c\u8986\u76d6\u4e86\u641c\u7d22\u526a\u679d\u3001\u7ea6\u675f\u6ee1\u8db3\u95ee\u9898\u3001\u9a6c\u5c14\u53ef\u592b\u51b3\u7b56\u8fc7\u7a0b\u3001\u5f3a\u5316\u5b66\u4e60\u3001\u8d1d\u53f6\u65af\u7f51\u7edc\u3001\u9690\u9a6c\u5c14\u53ef\u592b\u6a21\u578b\u4ee5\u53ca\u57fa\u7840\u7684\u673a\u5668\u5b66\u4e60\u548c\u795e\u7ecf\u7f51\u7edc\u7684\u76f8\u5173\u5185\u5bb9\u3002 2018\u5e74\u79cb\u5b63\u5b66\u671f\u7684\u7248\u672c\u514d\u8d39\u5f00\u653e\u4e86 gradescope\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728\u7ebf\u5b8c\u6210\u4e66\u9762\u4f5c\u4e1a\u5e76\u5b9e\u65f6\u5f97\u5230\u6d4b\u8bc4\u7ed3\u679c\u3002\u540c\u65f6\u8bfe\u7a0b\u7684 6 \u4e2a Project \u4e5f\u662f\u8d28\u91cf\u7206\u70b8\uff0c\u590d\u73b0\u4e86\u7ecf\u5178\u7684 Packman\uff08\u5403\u8c46\u4eba\uff09\u5c0f\u6e38\u620f\uff0c\u4f1a\u8ba9\u4f60\u5229\u7528\u5b66\u5230\u7684 AI \u77e5\u8bc6\uff0c\u53bb\u5b9e\u73b0\u76f8\u5173\u7b97\u6cd5\uff0c\u8ba9\u4f60\u7684\u5403\u8c46\u4eba\u5728\u8ff7\u5bab\u91cc\u81ea\u7531\u7a7f\u68ad\uff0c\u8eb2\u907f\u9b3c\u602a\uff0c\u6536\u96c6\u8c46\u5b50\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a Fall 2022 \uff0c Fall 2018 \u8bfe\u7a0b\u89c6\u9891\uff1a Fall 2022 \uff0c Fall 2018 \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1aArtificial intelligence: A Modern Approach \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5728\u7ebf\u6d4b\u8bc4\u4e66\u9762\u4f5c\u4e1a\u548c Projects\uff0c\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/","text":"CS50\u2019s Introduction to AI with Python \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aHarvard \u5148\u4fee\u8981\u6c42\uff1a\u57fa\u672c\u6982\u7387\u8bba + Python \u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30 \u5c0f\u65f6 \u4e00\u95e8\u975e\u5e38\u57fa\u7840\u7684 AI \u5165\u95e8\u8bfe\uff0c\u8ba9\u4eba\u773c\u524d\u4e00\u4eae\u7684\u662f 12 \u4e2a\u8bbe\u8ba1\u7cbe\u5de7\u7684\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u90fd\u4f1a\u7528\u5b66\u5230\u7684 AI \u77e5\u8bc6\u53bb\u5b9e\u73b0\u4e00\u4e2a\u7b80\u6613\u7684\u6e38\u620f AI\uff0c\u6bd4\u5982\u7528\u5f3a\u5316\u5b66\u4e60\u8bad\u7ec3\u4e00\u4e2a Nim \u6e38\u620f\u7684 AI\uff0c\u7528 alpha-beta \u526a\u679d\u53bb\u626b\u96f7\u7b49\u7b49\uff0c\u975e\u5e38\u9002\u5408\u65b0\u624b\u5165\u95e8\u6216\u8005\u5927\u4f6c\u4f11\u95f2\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs50.harvard.edu/ai/2020/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://cs50.harvard.edu/ai/2020/ \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://cs50.harvard.edu/ai/2020/ \uff0c12\u4e2a\u7cbe\u5de7\u7684\u7f16\u7a0b\u4f5c\u4e1a \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/cs50_ai - GitHub \u4e2d\u3002","title":"Harvard CS50's Introduction to AI with Python"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#cs50s-introduction-to-ai-with-python","text":"","title":"CS50\u2019s Introduction to AI with Python"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aHarvard \u5148\u4fee\u8981\u6c42\uff1a\u57fa\u672c\u6982\u7387\u8bba + Python \u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30 \u5c0f\u65f6 \u4e00\u95e8\u975e\u5e38\u57fa\u7840\u7684 AI \u5165\u95e8\u8bfe\uff0c\u8ba9\u4eba\u773c\u524d\u4e00\u4eae\u7684\u662f 12 \u4e2a\u8bbe\u8ba1\u7cbe\u5de7\u7684\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u90fd\u4f1a\u7528\u5b66\u5230\u7684 AI \u77e5\u8bc6\u53bb\u5b9e\u73b0\u4e00\u4e2a\u7b80\u6613\u7684\u6e38\u620f AI\uff0c\u6bd4\u5982\u7528\u5f3a\u5316\u5b66\u4e60\u8bad\u7ec3\u4e00\u4e2a Nim \u6e38\u620f\u7684 AI\uff0c\u7528 alpha-beta \u526a\u679d\u53bb\u626b\u96f7\u7b49\u7b49\uff0c\u975e\u5e38\u9002\u5408\u65b0\u624b\u5165\u95e8\u6216\u8005\u5927\u4f6c\u4f11\u95f2\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs50.harvard.edu/ai/2020/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://cs50.harvard.edu/ai/2020/ \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://cs50.harvard.edu/ai/2020/ \uff0c12\u4e2a\u7cbe\u5de7\u7684\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/cs50_ai - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/","text":"CS61C: Great Ideas in Computer Architecture \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u4f2f\u514b\u5229 CS61 \u7cfb\u5217\u7684\u6700\u540e\u4e00\u95e8\u8bfe\u7a0b\uff0c\u6df1\u5165\u8ba1\u7b97\u673a\u7684\u786c\u4ef6\u7ec6\u8282\uff0c\u5e26\u9886\u5b66\u751f\u9010\u6b65\u7406\u89e3 C \u8bed\u8a00\u662f\u5982\u4f55\u4e00\u6b65\u6b65\u8f6c\u5316\u4e3a RISC-V \u6c47\u7f16\u5e76\u5728 CPU \u4e0a\u6267\u884c\u7684\u3002\u548c Nand2Tetris \u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe \u5728\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u90fd\u4f1a\u63d0\u9ad8\u5f88\u591a\uff0c\u5177\u4f53\u4f1a\u6d89\u53ca\u5230\u6d41\u6c34\u7ebf\u3001Cache\u3001\u865a\u5b58\u4ee5\u53ca\u5e76\u53d1\u76f8\u5173\u7684\u5185\u5bb9\u3002 \u8fd9\u95e8\u8bfe\u7684 Project \u4e5f\u975e\u5e38\u65b0\u9896\u6709\u8da3\u3002Project1 \u4f1a\u8ba9\u4f60\u7528 C \u8bed\u8a00\u5199\u4e00\u4e2a\u5c0f\u7a0b\u5e8f\uff0c20 \u5e74\u79cb\u5b63\u5b66\u671f\u662f\u8457\u540d\u7684\u6e38\u620f Game of Life \u3002Project2 \u4f1a\u8ba9\u4f60\u7528 RISC-V \u6c47\u7f16\u7f16\u5199\u4e00\u4e2a\u795e\u7ecf\u7f51\u7edc\uff0c\u7528\u6765 \u8bc6\u522b MNIST \u624b\u5199\u6570\u5b57\uff0c\u975e\u5e38\u953b\u70bc\u4f60\u5bf9\u6c47\u7f16\u4ee3\u7801\u7684\u7406\u89e3\u548c\u8fd0\u7528\u3002Project3 \u4e2d\u4f60\u4f1a\u7528 Logisim \u8fd9\u4e2a\u6570\u5b57\u7535\u8def\u6a21\u62df\u8f6f\u4ef6\u642d\u5efa\u51fa\u4e00\u4e2a\u4e8c\u7ea7\u6d41\u6c34\u7ebf\u7684 CPU\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c RISC-V \u6c47\u7f16\u4ee3\u7801\u3002Project4 \u4f1a\u8ba9\u4f60\u4f7f\u7528 OpenMP, SIMD \u7b49\u65b9\u6cd5\u5e76\u884c\u4f18\u5316\u77e9\u9635\u8fd0\u7b97\uff0c\u5b9e\u73b0\u4e00\u4e2a\u7b80\u6613\u7684 Numpy\u3002 \u603b\u800c\u8a00\u4e4b\uff0c\u8fd9\u662f\u4e2a\u4eba\u4e0a\u8fc7\u7684\u6700\u597d\u7684\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u7684\u8bfe\u7a0b\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs61c.org/su20/ \u8bfe\u7a0b\u89c6\u9891\uff1a B \u7ad9 , Youtube \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a11 \u4e2a Lab\uff0c4 \u4e2a Project\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS61C-summer20 - GitHub \u4e2d\u3002","title":"UCB CS61C: Great Ideas in Computer Architecture"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#cs61c-great-ideas-in-computer-architecture","text":"","title":"CS61C: Great Ideas in Computer Architecture"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u4f2f\u514b\u5229 CS61 \u7cfb\u5217\u7684\u6700\u540e\u4e00\u95e8\u8bfe\u7a0b\uff0c\u6df1\u5165\u8ba1\u7b97\u673a\u7684\u786c\u4ef6\u7ec6\u8282\uff0c\u5e26\u9886\u5b66\u751f\u9010\u6b65\u7406\u89e3 C \u8bed\u8a00\u662f\u5982\u4f55\u4e00\u6b65\u6b65\u8f6c\u5316\u4e3a RISC-V \u6c47\u7f16\u5e76\u5728 CPU \u4e0a\u6267\u884c\u7684\u3002\u548c Nand2Tetris \u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe \u5728\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u90fd\u4f1a\u63d0\u9ad8\u5f88\u591a\uff0c\u5177\u4f53\u4f1a\u6d89\u53ca\u5230\u6d41\u6c34\u7ebf\u3001Cache\u3001\u865a\u5b58\u4ee5\u53ca\u5e76\u53d1\u76f8\u5173\u7684\u5185\u5bb9\u3002 \u8fd9\u95e8\u8bfe\u7684 Project \u4e5f\u975e\u5e38\u65b0\u9896\u6709\u8da3\u3002Project1 \u4f1a\u8ba9\u4f60\u7528 C \u8bed\u8a00\u5199\u4e00\u4e2a\u5c0f\u7a0b\u5e8f\uff0c20 \u5e74\u79cb\u5b63\u5b66\u671f\u662f\u8457\u540d\u7684\u6e38\u620f Game of Life \u3002Project2 \u4f1a\u8ba9\u4f60\u7528 RISC-V \u6c47\u7f16\u7f16\u5199\u4e00\u4e2a\u795e\u7ecf\u7f51\u7edc\uff0c\u7528\u6765 \u8bc6\u522b MNIST \u624b\u5199\u6570\u5b57\uff0c\u975e\u5e38\u953b\u70bc\u4f60\u5bf9\u6c47\u7f16\u4ee3\u7801\u7684\u7406\u89e3\u548c\u8fd0\u7528\u3002Project3 \u4e2d\u4f60\u4f1a\u7528 Logisim \u8fd9\u4e2a\u6570\u5b57\u7535\u8def\u6a21\u62df\u8f6f\u4ef6\u642d\u5efa\u51fa\u4e00\u4e2a\u4e8c\u7ea7\u6d41\u6c34\u7ebf\u7684 CPU\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c RISC-V \u6c47\u7f16\u4ee3\u7801\u3002Project4 \u4f1a\u8ba9\u4f60\u4f7f\u7528 OpenMP, SIMD \u7b49\u65b9\u6cd5\u5e76\u884c\u4f18\u5316\u77e9\u9635\u8fd0\u7b97\uff0c\u5b9e\u73b0\u4e00\u4e2a\u7b80\u6613\u7684 Numpy\u3002 \u603b\u800c\u8a00\u4e4b\uff0c\u8fd9\u662f\u4e2a\u4eba\u4e0a\u8fc7\u7684\u6700\u597d\u7684\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u7684\u8bfe\u7a0b\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs61c.org/su20/ \u8bfe\u7a0b\u89c6\u9891\uff1a B \u7ad9 , Youtube \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a11 \u4e2a Lab\uff0c4 \u4e2a Project\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS61C-summer20 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/","text":"CMU CS15213: CSAPP \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 CMU \u5927\u540d\u9f0e\u9f0e\u7684\u9547\u7cfb\u795e\u8bfe\uff0c\u4ee5\u5176\u5185\u5bb9\u5e9e\u6742\uff0cProject \u5de8\u96be\u800c\u95fb\u540d\u9050\u8fe9\u3002\u8bfe\u7a0b\u5185\u5bb9\u8986\u76d6\u4e86\u6c47\u7f16\u8bed\u8a00\u3001\u4f53\u7cfb\u7ed3\u6784\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f16\u8bd1\u94fe\u63a5\u3001\u5e76\u884c\u3001\u7f51\u7edc\u7b49\uff0c\u4f5c\u4e3a\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u517c\u5177\u6df1\u5ea6\u548c\u5e7f\u5ea6\uff0c\u5982\u679c\u81ea\u5b66\u786e\u5b9e\u9700\u8981\u76f8\u5f53\u7684\u6bc5\u529b\u548c\u4ee3\u7801\u529f\u5e95\u3002 \u8fd9\u95e8\u8bfe\u914d\u5408\u7684\u6559\u6750\u7531 CMU \u8ba1\u7b97\u673a\u7cfb\u4e3b\u4efb Bryant \u6559\u6388\u6267\u7b14\uff0c\u4e5f\u5373\u6240\u8c13\u7684 CSAPP\u3002\u8fd9\u4e5f\u662f\u6211\u7b2c\u4e00\u672c\u8ba4\u8ba4\u771f\u771f\u4e00\u9875\u4e00\u9875\u8bfb\u8fc7\u53bb\u7684\u8ba1\u7b97\u673a\u6559\u6750\uff0c\u867d\u7136\u5f88\u96be\u5543\uff0c\u4f46\u7740\u5b9e\u6536\u83b7\u826f\u591a\u3002 \u5317\u5927\u8d2d\u4e70\u4e86\u8fd9\u95e8\u8bfe\u7684\u7248\u6743\u5e76\u5f00\u8bbe\u4e86 Introduction to Computer System \u8fd9\u95e8\u8bfe\uff0c\u4f46\u5176\u5b9e CSAPP \u6240\u6709\u7684\u8bfe\u7a0b\u8d44\u6e90\u548c\u5b9e\u9a8c\u4ee3\u7801\u90fd\u80fd\u5728\u5b83\u7684\u5b98\u65b9\u4e3b\u9875\u4e0a\u8bbf\u95ee\u5230\uff08\u5177\u4f53\u53c2\u89c1\u4e0b\u65b9\u94fe\u63a5\uff09\u3002 \u8fd9\u95e8\u8bfe\u7531\u4e8e\u8fc7\u4e8e\u51fa\u540d\uff0c\u5168\u4e16\u754c\u7684\u7801\u519c\u4e89\u76f8\u5b66\u4e60\uff0c\u5bfc\u81f4\u5176 Project \u7684\u7b54\u6848\u5728\u7f51\u4e0a\u51e0\u4e4e\u553e\u624b\u53ef\u5f97\u3002\u4f46\u5982\u679c\u4f60\u771f\u7684\u60f3\u953b\u70bc\u81ea\u5df1\u7684\u4ee3\u7801\u80fd\u529b\uff0c\u5e0c\u671b\u4f60\u4e0d\u8981\u501f\u9274\u4efb\u4f55\u7b2c\u4e09\u65b9\u4ee3\u7801\u3002 \u8ba4\u771f\u5b66\u5b8c\u8fd9\u4e00\u95e8\u8bfe\uff0c\u4f60\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u7684\u7406\u89e3\u7edd\u5bf9\u4f1a\u4e0a\u5347\u4e00\u4e2a\u53f0\u9636\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://csapp.cs.cmu.edu/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1iW411d7hd \u8bfe\u7a0b\u6559\u6750\uff1aComputer Systems: A Programmer's Perspective, 3/E \u8bfe\u7a0b\u4f5c\u4e1a\uff1a11 \u4e2a Project\uff0c \u4ee3\u7801\u6846\u67b6\u5168\u90e8\u5f00\u6e90 \u82f1\u8bed\u6709\u56f0\u96be\u7684\u540c\u5b66\u53ef\u4ee5\u53c2\u8003B\u7ad9UP\u4e3b \u4e5d\u66f2\u9611\u5e72 \u5bf9 CSAPP \u7684 \u4e2d\u6587\u8bb2\u89e3 \uff08\u636e\u8bf4CMU\u7684\u4e2d\u56fd\u7559\u5b66\u751f\u4e5f\u5728CMU\u7684\u8bfe\u5802\u4e0a\u770b\u8fd9\u4e2a\u89c6\u9891\u5462\uff09\u3002\u53e6\u5916\u5982\u679c\u5927\u5bb6\u5728\u770b\u5b8c CSAPP \u540e\u5bf9\u4e66\u4e2d\u7684\u7b2c\u4e03\u7ae0\u94fe\u63a5\u6709\u4e00\u5b9a\u7684\u7591\u95ee\uff0c\u63a8\u8350\u9605\u8bfb\u300a\u7a0b\u5e8f\u5458\u7684\u81ea\u6211\u4fee\u517b\u300b\u8fd9\u672c\u4e66\uff0c\u4e66\u7684\u526f\u6807\u9898\u662f\u94fe\u63a5\uff0c\u88c5\u8f7d\u4e0e\u5e93\u3002\u8fd9\u672c\u4e66\u80fd\u591f\u5e2e\u52a9\u6211\u4eec\u5b8c\u5584\u5bf9\u7a0b\u5e8f\u94fe\u63a5\u7684\u7406\u89e3\uff0c\u76f8\u4fe1\u4f60\u5728\u770b\u5b8c\u8fd9\u672c\u4e66\u4ee5\u540e\u53ef\u4ee5\u5bf9\u7a0b\u5e8f\u7684\u94fe\u63a5\uff0cELF \u6587\u4ef6\uff0c\u52a8\u6001\u5e93\u90fd\u5c06\u6709\u4e00\u4e2a\u66f4\u52a0\u6df1\u5165\u7684\u7406\u89e3\u3002\u5341\u5206\u63a8\u8350\u5728\u8bfb\u5b8c CSAPP\uff0c\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u4e00\u5b9a\u7684\u4e86\u89e3\u4ee5\u540e\u4f5c\u4e3a\u8865\u5145\u8d44\u6599\u6765\u9605\u8bfb\u3002","title":"CMU 15-213: CSAPP"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/#cmu-cs15213-csapp","text":"","title":"CMU CS15213: CSAPP"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 CMU \u5927\u540d\u9f0e\u9f0e\u7684\u9547\u7cfb\u795e\u8bfe\uff0c\u4ee5\u5176\u5185\u5bb9\u5e9e\u6742\uff0cProject \u5de8\u96be\u800c\u95fb\u540d\u9050\u8fe9\u3002\u8bfe\u7a0b\u5185\u5bb9\u8986\u76d6\u4e86\u6c47\u7f16\u8bed\u8a00\u3001\u4f53\u7cfb\u7ed3\u6784\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f16\u8bd1\u94fe\u63a5\u3001\u5e76\u884c\u3001\u7f51\u7edc\u7b49\uff0c\u4f5c\u4e3a\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u517c\u5177\u6df1\u5ea6\u548c\u5e7f\u5ea6\uff0c\u5982\u679c\u81ea\u5b66\u786e\u5b9e\u9700\u8981\u76f8\u5f53\u7684\u6bc5\u529b\u548c\u4ee3\u7801\u529f\u5e95\u3002 \u8fd9\u95e8\u8bfe\u914d\u5408\u7684\u6559\u6750\u7531 CMU \u8ba1\u7b97\u673a\u7cfb\u4e3b\u4efb Bryant \u6559\u6388\u6267\u7b14\uff0c\u4e5f\u5373\u6240\u8c13\u7684 CSAPP\u3002\u8fd9\u4e5f\u662f\u6211\u7b2c\u4e00\u672c\u8ba4\u8ba4\u771f\u771f\u4e00\u9875\u4e00\u9875\u8bfb\u8fc7\u53bb\u7684\u8ba1\u7b97\u673a\u6559\u6750\uff0c\u867d\u7136\u5f88\u96be\u5543\uff0c\u4f46\u7740\u5b9e\u6536\u83b7\u826f\u591a\u3002 \u5317\u5927\u8d2d\u4e70\u4e86\u8fd9\u95e8\u8bfe\u7684\u7248\u6743\u5e76\u5f00\u8bbe\u4e86 Introduction to Computer System \u8fd9\u95e8\u8bfe\uff0c\u4f46\u5176\u5b9e CSAPP \u6240\u6709\u7684\u8bfe\u7a0b\u8d44\u6e90\u548c\u5b9e\u9a8c\u4ee3\u7801\u90fd\u80fd\u5728\u5b83\u7684\u5b98\u65b9\u4e3b\u9875\u4e0a\u8bbf\u95ee\u5230\uff08\u5177\u4f53\u53c2\u89c1\u4e0b\u65b9\u94fe\u63a5\uff09\u3002 \u8fd9\u95e8\u8bfe\u7531\u4e8e\u8fc7\u4e8e\u51fa\u540d\uff0c\u5168\u4e16\u754c\u7684\u7801\u519c\u4e89\u76f8\u5b66\u4e60\uff0c\u5bfc\u81f4\u5176 Project \u7684\u7b54\u6848\u5728\u7f51\u4e0a\u51e0\u4e4e\u553e\u624b\u53ef\u5f97\u3002\u4f46\u5982\u679c\u4f60\u771f\u7684\u60f3\u953b\u70bc\u81ea\u5df1\u7684\u4ee3\u7801\u80fd\u529b\uff0c\u5e0c\u671b\u4f60\u4e0d\u8981\u501f\u9274\u4efb\u4f55\u7b2c\u4e09\u65b9\u4ee3\u7801\u3002 \u8ba4\u771f\u5b66\u5b8c\u8fd9\u4e00\u95e8\u8bfe\uff0c\u4f60\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u7684\u7406\u89e3\u7edd\u5bf9\u4f1a\u4e0a\u5347\u4e00\u4e2a\u53f0\u9636\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://csapp.cs.cmu.edu/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1iW411d7hd \u8bfe\u7a0b\u6559\u6750\uff1aComputer Systems: A Programmer's Perspective, 3/E \u8bfe\u7a0b\u4f5c\u4e1a\uff1a11 \u4e2a Project\uff0c \u4ee3\u7801\u6846\u67b6\u5168\u90e8\u5f00\u6e90 \u82f1\u8bed\u6709\u56f0\u96be\u7684\u540c\u5b66\u53ef\u4ee5\u53c2\u8003B\u7ad9UP\u4e3b \u4e5d\u66f2\u9611\u5e72 \u5bf9 CSAPP \u7684 \u4e2d\u6587\u8bb2\u89e3 \uff08\u636e\u8bf4CMU\u7684\u4e2d\u56fd\u7559\u5b66\u751f\u4e5f\u5728CMU\u7684\u8bfe\u5802\u4e0a\u770b\u8fd9\u4e2a\u89c6\u9891\u5462\uff09\u3002\u53e6\u5916\u5982\u679c\u5927\u5bb6\u5728\u770b\u5b8c CSAPP \u540e\u5bf9\u4e66\u4e2d\u7684\u7b2c\u4e03\u7ae0\u94fe\u63a5\u6709\u4e00\u5b9a\u7684\u7591\u95ee\uff0c\u63a8\u8350\u9605\u8bfb\u300a\u7a0b\u5e8f\u5458\u7684\u81ea\u6211\u4fee\u517b\u300b\u8fd9\u672c\u4e66\uff0c\u4e66\u7684\u526f\u6807\u9898\u662f\u94fe\u63a5\uff0c\u88c5\u8f7d\u4e0e\u5e93\u3002\u8fd9\u672c\u4e66\u80fd\u591f\u5e2e\u52a9\u6211\u4eec\u5b8c\u5584\u5bf9\u7a0b\u5e8f\u94fe\u63a5\u7684\u7406\u89e3\uff0c\u76f8\u4fe1\u4f60\u5728\u770b\u5b8c\u8fd9\u672c\u4e66\u4ee5\u540e\u53ef\u4ee5\u5bf9\u7a0b\u5e8f\u7684\u94fe\u63a5\uff0cELF \u6587\u4ef6\uff0c\u52a8\u6001\u5e93\u90fd\u5c06\u6709\u4e00\u4e2a\u66f4\u52a0\u6df1\u5165\u7684\u7406\u89e3\u3002\u5341\u5206\u63a8\u8350\u5728\u8bfb\u5b8c CSAPP\uff0c\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u4e00\u5b9a\u7684\u4e86\u89e3\u4ee5\u540e\u4f5c\u4e3a\u8865\u5145\u8d44\u6599\u6765\u9605\u8bfb\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/DDCA/","text":"Digital Design and Computer Architecture \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aETH Zurich \u5148\u4fee\u8981\u6c42\uff1aCS50 \u6216\u540c\u9636\u8bfe\u7a0b\uff0c\u6700\u597d\u6709 C \u8bed\u8a00\u57fa\u7840\u3002 \u7f16\u7a0b\u8bed\u8a00\uff1aC\uff0cVerilog\uff0cMIPS \u6c47\u7f16\uff0cLC3 \u6c47\u7f16 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u4f53\u7cfb\u7ed3\u6784\u9886\u57df\u7684\u5927\u725b Onur Mutlu \u6765\u6559\u4f60\u6570\u5b57\u7535\u8def\u548c\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u3002\u8bfe\u7a0b\u5b8c\u5168\u4ece\u8ba1\u7b97\u673a\u8bbe\u8ba1\u7684\u89d2\u5ea6\u51fa\u53d1\uff0c\u4ece\u6676\u4f53\u7ba1\u3001\u903b\u8f91\u95e8\u5f00\u59cb\uff0c\u4e00\u76f4\u8bb2\u89e3\u5230\u5fae\u67b6\u6784\u3001\u7f13\u5b58\u548c\u865a\u62df\u5185\u5b58\uff0c\u8fd8\u4f1a\u4ecb\u7ecd \u5f88\u591a\u4f53\u7cfb\u7ed3\u6784\u9886\u57df\u6700\u65b0\u7684\u7814\u7a76\u8fdb\u5c55\u3002\u8bfe\u7a0b\u5171\u6709 9 \u4e2a lab\uff0c\u4f7f\u7528 Basys 3 FPGA \u5f00\u53d1\u677f\uff08\u53ef\u81ea\u884c\u8d2d\u4e70\uff09\u548c Xilinx \u516c\u53f8\u7684 Vivado \u8f6f\u4ef6 \uff08\u53ef\u5728\u5b98\u7f51\u514d\u8d39\u4e0b\u8f7d\u4f7f\u7528\uff09\u8fdb\u884c\u7535\u8def\u8bbe\u8ba1\uff0c\u4ece\u7ec4\u5408\u7535\u8def \u548c\u65f6\u5e8f\u7535\u8def\u5f00\u59cb\uff0c\u4e00\u76f4\u5230\u6700\u540e\u90e8\u7f72\u4e00\u4e2a\u5b8c\u6574\u7684 CPU\u3002\u8bfe\u7a0b\u8d44\u6599\u9664\u4e86 lab \u7b54\u6848\u548c\u5f53\u671f\u8003\u8bd5\u7b54\u6848\u4e4b\u5916\u5168\u90e8\u5f00\u6e90\uff0c\u5b66\u5b8c\u4e4b\u540e\u4f60\u53ef\u4ee5\u638c\u63e1\u8ba1\u7b97\u673a\u76f8\u5173\u7684\u6570\u5b57\u7535\u8def\uff0cVerilog \u786c\u4ef6\u63cf\u8ff0\u8bed\u8a00\uff0cMIPS \u4e0e C \u4e4b\u95f4\u7684\u8f6c\u6362\u5173\u7cfb\uff0cMIPS \u5355\u5468\u671f\u591a\u5468\u671f\u6d41\u6c34\u7ebf CPU \u7684\u8bbe\u8ba1\u548c\u6027\u80fd\u5206\u6790\uff0c\u7f13\u5b58\uff0c\u865a\u62df\u5185\u5b58\u7b49\u91cd\u8981\u6982\u5ff5\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://safari.ethz.ch/digitaltechnik/spring2020/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/playlist?list=PL5Q2soXY2Zi_FRrloMa2fUYWPGiZUBQo2 \u8bfe\u7a0b\u6559\u67501\uff1aPatt and Patel, Introduction to Computing Systems \u8bfe\u7a0b\u6559\u67502\uff1aHarris and Harris, Digital Design and Computer Architecture (MIPS Edition) \u8bfe\u7a0b\u5b9e\u9a8c\uff1a9 \u4e2a\u5b9e\u9a8c\u4ece\u96f6\u5f00\u59cb\u8bbe\u8ba1 MIPS CPU\uff0c\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"Digital Design and Computer Architecture"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/DDCA/#digital-design-and-computer-architecture","text":"","title":"Digital Design and Computer Architecture"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/DDCA/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aETH Zurich \u5148\u4fee\u8981\u6c42\uff1aCS50 \u6216\u540c\u9636\u8bfe\u7a0b\uff0c\u6700\u597d\u6709 C \u8bed\u8a00\u57fa\u7840\u3002 \u7f16\u7a0b\u8bed\u8a00\uff1aC\uff0cVerilog\uff0cMIPS \u6c47\u7f16\uff0cLC3 \u6c47\u7f16 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u4f53\u7cfb\u7ed3\u6784\u9886\u57df\u7684\u5927\u725b Onur Mutlu \u6765\u6559\u4f60\u6570\u5b57\u7535\u8def\u548c\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u3002\u8bfe\u7a0b\u5b8c\u5168\u4ece\u8ba1\u7b97\u673a\u8bbe\u8ba1\u7684\u89d2\u5ea6\u51fa\u53d1\uff0c\u4ece\u6676\u4f53\u7ba1\u3001\u903b\u8f91\u95e8\u5f00\u59cb\uff0c\u4e00\u76f4\u8bb2\u89e3\u5230\u5fae\u67b6\u6784\u3001\u7f13\u5b58\u548c\u865a\u62df\u5185\u5b58\uff0c\u8fd8\u4f1a\u4ecb\u7ecd \u5f88\u591a\u4f53\u7cfb\u7ed3\u6784\u9886\u57df\u6700\u65b0\u7684\u7814\u7a76\u8fdb\u5c55\u3002\u8bfe\u7a0b\u5171\u6709 9 \u4e2a lab\uff0c\u4f7f\u7528 Basys 3 FPGA \u5f00\u53d1\u677f\uff08\u53ef\u81ea\u884c\u8d2d\u4e70\uff09\u548c Xilinx \u516c\u53f8\u7684 Vivado \u8f6f\u4ef6 \uff08\u53ef\u5728\u5b98\u7f51\u514d\u8d39\u4e0b\u8f7d\u4f7f\u7528\uff09\u8fdb\u884c\u7535\u8def\u8bbe\u8ba1\uff0c\u4ece\u7ec4\u5408\u7535\u8def \u548c\u65f6\u5e8f\u7535\u8def\u5f00\u59cb\uff0c\u4e00\u76f4\u5230\u6700\u540e\u90e8\u7f72\u4e00\u4e2a\u5b8c\u6574\u7684 CPU\u3002\u8bfe\u7a0b\u8d44\u6599\u9664\u4e86 lab \u7b54\u6848\u548c\u5f53\u671f\u8003\u8bd5\u7b54\u6848\u4e4b\u5916\u5168\u90e8\u5f00\u6e90\uff0c\u5b66\u5b8c\u4e4b\u540e\u4f60\u53ef\u4ee5\u638c\u63e1\u8ba1\u7b97\u673a\u76f8\u5173\u7684\u6570\u5b57\u7535\u8def\uff0cVerilog \u786c\u4ef6\u63cf\u8ff0\u8bed\u8a00\uff0cMIPS \u4e0e C \u4e4b\u95f4\u7684\u8f6c\u6362\u5173\u7cfb\uff0cMIPS \u5355\u5468\u671f\u591a\u5468\u671f\u6d41\u6c34\u7ebf CPU \u7684\u8bbe\u8ba1\u548c\u6027\u80fd\u5206\u6790\uff0c\u7f13\u5b58\uff0c\u865a\u62df\u5185\u5b58\u7b49\u91cd\u8981\u6982\u5ff5\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/DDCA/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://safari.ethz.ch/digitaltechnik/spring2020/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/playlist?list=PL5Q2soXY2Zi_FRrloMa2fUYWPGiZUBQo2 \u8bfe\u7a0b\u6559\u67501\uff1aPatt and Patel, Introduction to Computing Systems \u8bfe\u7a0b\u6559\u67502\uff1aHarris and Harris, Digital Design and Computer Architecture (MIPS Edition) \u8bfe\u7a0b\u5b9e\u9a8c\uff1a9 \u4e2a\u5b9e\u9a8c\u4ece\u96f6\u5f00\u59cb\u8bbe\u8ba1 MIPS CPU\uff0c\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/","text":"Coursera: Nand2Tetris \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u5e0c\u4f2f\u6765\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u4efb\u9009\u4e00\u4e2a\u7f16\u7a0b\u8bed\u8a00 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40 \u5c0f\u65f6 Coursera \u4e0a\u88ab\u6570\u4e07\u4eba\u8bc4\u4e3a\u6ee1\u5206\uff0c\u5728\u5168\u7403\u56db\u767e\u591a\u6240\u9ad8\u6821\u3001\u9ad8\u4e2d\u88ab\u91c7\u7528\uff0c\u8ba9\u4e00\u4e2a\u5b8c\u5168\u6ca1\u6709\u8ba1\u7b97\u673a\u57fa\u7840\u7684\u4eba\u4ece\u4e0e\u975e\u95e8\u5f00\u59cb\u9020\u4e00\u53f0\u8ba1\u7b97\u673a\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c\u4fc4\u7f57\u65af\u65b9\u5757\u5c0f\u6e38\u620f\u3002 \u542c\u8d77\u6765\u5c31\u5f88\u9177\u5bf9\u4e0d\u5bf9\uff1f\u5b9e\u73b0\u8d77\u6765\u66f4\u9177\uff01\u8fd9\u95e8\u8bfe\u5206\u4e3a\u786c\u4ef6\u548c\u8f6f\u4ef6\u4e24\u4e2a\u90e8\u5206\u3002\u5728\u786c\u4ef6\u90e8\u5206\uff0c\u4f60\u5c06\u8fdb\u5165 01 \u7684\u4e16\u754c\uff0c\u7528\u4e0e\u975e\u95e8\u6784\u9020\u51fa\u903b\u8f91\u7535\u8def\uff0c\u5e76\u9010\u6b65\u642d\u5efa\u51fa\u4e00\u4e2a CPU \u6765\u8fd0\u884c\u4e00\u5957\u8bfe\u7a0b\u4f5c\u8005\u5b9a\u4e49\u7684\u7b80\u6613\u6c47\u7f16\u4ee3\u7801\u3002\u5728\u8f6f\u4ef6\u90e8\u5206\uff0c\u4f60\u5c06\u7f16\u5199\u4e00\u4e2a\u7f16\u8bd1\u5668\uff0c\u5c06\u4f5c\u8005\u5f00\u53d1\u7684\u4e00\u4e2a\u540d\u4e3aJack\u7684\u9ad8\u7ea7\u8bed\u8a00\u7f16\u8bd1\u4e3a\u53ef\u4ee5\u8fd0\u884c\u5728\u865a\u62df\u673a\u4e0a\u7684\u5b57\u8282\u7801\uff0c\u7136\u540e\u8fdb\u4e00\u6b65\u7ffb\u8bd1\u4e3a\u6c47\u7f16\u4ee3\u7801\u3002\u4f60\u8fd8\u5c06\u5f00\u53d1\u4e00\u4e2a\u7b80\u6613\u7684 OS\uff0c\u8ba9\u4f60\u7684\u8ba1\u7b97\u673a\u652f\u6301\u8f93\u5165\u8f93\u51fa\u56fe\u5f62\u754c\u9762\u3002\u81f3\u6b64\uff0c\u4f60\u53ef\u4ee5\u7528 Jack \u5f00\u53d1\u4e00\u4e2a\u4fc4\u7f57\u65af\u65b9\u5757\u7684\u5c0f\u6e38\u620f\uff0c\u5c06\u5b83\u7f16\u8bd1\u4e3a\u6c47\u7f16\u4ee3\u7801\uff0c\u8fd0\u884c\u5728\u4f60\u7528\u4e0e\u975e\u95e8\u642d\u5efa\u51fa\u7684 CPU \u4e0a\uff0c\u901a\u8fc7\u4f60\u5f00\u53d1\u7684 OS \u8fdb\u884c\u4ea4\u4e92\u3002\u5b66\u5b8c\u8fd9\u95e8\u8bfe\u7a0b\uff0c\u4f60\u5c06\u5bf9\u6574\u4e2a\u8ba1\u7b97\u673a\u7684\u4f53\u7cfb\u7ed3\u6784\u6709\u4e00\u4e2a\u5168\u5c40\u4e14\u6df1\u523b\u7684\u7406\u89e3\uff0c\u5bf9\u4e8e\u4f60\u540e\u7eed\u8bfe\u7a0b\u7684\u5b66\u4e60\u6709\u7740\u83ab\u5927\u7684\u5e2e\u52a9\u3002 \u4f60\u4e5f\u8bb8\u4f1a\u62c5\u5fc3\u8bfe\u7a0b\u4f1a\u4e0d\u4f1a\u5f88\u96be\uff0c\u4f46\u8fd9\u95e8\u8bfe\u9762\u5411\u7684\u4eba\u7fa4\u662f\u5b8c\u5168\u6ca1\u6709\u8ba1\u7b97\u673a\u57fa\u7840\u7684\u4eba\uff0c\u8bfe\u7a0b\u4f5c\u8005\u7684\u76ee\u6807\u662f\u8ba9\u9ad8\u4e2d\u751f\u90fd\u80fd\u7406\u89e3\u3002\u56e0\u6b64\uff0c\u53ea\u8981\u4f60\u6309\u90e8\u5c31\u73ed\u8ddf\u7740\u8bfe\u7a0b\u89c4\u5212\u8d70\uff0c\u4e00\u4e2a\u6708\u5185\u5b66\u5b8c\u5e94\u8be5\u7ef0\u7ef0\u6709\u4f59\u3002\u9ebb\u96c0\u867d\u5c0f\u4f46\u662f\u4e94\u810f\u4ff1\u5168\uff0c\u8fd9\u95e8\u8bfe\u5f88\u597d\u5730\u63d0\u53d6\u51fa\u4e86\u8ba1\u7b97\u673a\u7684\u672c\u8d28\uff0c\u800c\u4e0d\u8fc7\u591a\u5730\u9677\u4e8e\u73b0\u4ee3\u8ba1\u7b97\u673a\u4e3a\u4e86\u6027\u80fd\u800c\u8bbe\u8ba1\u51fa\u7684\u4f17\u591a\u590d\u6742\u7ec6\u8282\u3002\u8ba9\u5b66\u4e60\u8005\u80fd\u5728\u8f7b\u677e\u6109\u5feb\u7684\u5b66\u4e60\u4f53\u9a8c\u4e2d\u611f\u53d7\u8ba1\u7b97\u673a\u7684\u4f18\u96c5\u4e0e\u795e\u5947\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a Nand2Tetris I , Nand2Tetris II \u8bfe\u7a0b\u89c6\u9891\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a \u8ba1\u7b97\u673a\u7cfb\u7edf\u8981\u7d20\uff1a\u4ece\u96f6\u5f00\u59cb\u6784\u5efa\u73b0\u4ee3\u8ba1\u7b97\u673a \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10 \u4e2a Project \u5e26\u4f60\u9020\u53f0\u8ba1\u7b97\u673a\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/NandToTetris - GitHub \u4e2d\u3002","title":"Coursera: Nand2Tetris"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#coursera-nand2tetris","text":"","title":"Coursera: Nand2Tetris"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u5e0c\u4f2f\u6765\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u4efb\u9009\u4e00\u4e2a\u7f16\u7a0b\u8bed\u8a00 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40 \u5c0f\u65f6 Coursera \u4e0a\u88ab\u6570\u4e07\u4eba\u8bc4\u4e3a\u6ee1\u5206\uff0c\u5728\u5168\u7403\u56db\u767e\u591a\u6240\u9ad8\u6821\u3001\u9ad8\u4e2d\u88ab\u91c7\u7528\uff0c\u8ba9\u4e00\u4e2a\u5b8c\u5168\u6ca1\u6709\u8ba1\u7b97\u673a\u57fa\u7840\u7684\u4eba\u4ece\u4e0e\u975e\u95e8\u5f00\u59cb\u9020\u4e00\u53f0\u8ba1\u7b97\u673a\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c\u4fc4\u7f57\u65af\u65b9\u5757\u5c0f\u6e38\u620f\u3002 \u542c\u8d77\u6765\u5c31\u5f88\u9177\u5bf9\u4e0d\u5bf9\uff1f\u5b9e\u73b0\u8d77\u6765\u66f4\u9177\uff01\u8fd9\u95e8\u8bfe\u5206\u4e3a\u786c\u4ef6\u548c\u8f6f\u4ef6\u4e24\u4e2a\u90e8\u5206\u3002\u5728\u786c\u4ef6\u90e8\u5206\uff0c\u4f60\u5c06\u8fdb\u5165 01 \u7684\u4e16\u754c\uff0c\u7528\u4e0e\u975e\u95e8\u6784\u9020\u51fa\u903b\u8f91\u7535\u8def\uff0c\u5e76\u9010\u6b65\u642d\u5efa\u51fa\u4e00\u4e2a CPU \u6765\u8fd0\u884c\u4e00\u5957\u8bfe\u7a0b\u4f5c\u8005\u5b9a\u4e49\u7684\u7b80\u6613\u6c47\u7f16\u4ee3\u7801\u3002\u5728\u8f6f\u4ef6\u90e8\u5206\uff0c\u4f60\u5c06\u7f16\u5199\u4e00\u4e2a\u7f16\u8bd1\u5668\uff0c\u5c06\u4f5c\u8005\u5f00\u53d1\u7684\u4e00\u4e2a\u540d\u4e3aJack\u7684\u9ad8\u7ea7\u8bed\u8a00\u7f16\u8bd1\u4e3a\u53ef\u4ee5\u8fd0\u884c\u5728\u865a\u62df\u673a\u4e0a\u7684\u5b57\u8282\u7801\uff0c\u7136\u540e\u8fdb\u4e00\u6b65\u7ffb\u8bd1\u4e3a\u6c47\u7f16\u4ee3\u7801\u3002\u4f60\u8fd8\u5c06\u5f00\u53d1\u4e00\u4e2a\u7b80\u6613\u7684 OS\uff0c\u8ba9\u4f60\u7684\u8ba1\u7b97\u673a\u652f\u6301\u8f93\u5165\u8f93\u51fa\u56fe\u5f62\u754c\u9762\u3002\u81f3\u6b64\uff0c\u4f60\u53ef\u4ee5\u7528 Jack \u5f00\u53d1\u4e00\u4e2a\u4fc4\u7f57\u65af\u65b9\u5757\u7684\u5c0f\u6e38\u620f\uff0c\u5c06\u5b83\u7f16\u8bd1\u4e3a\u6c47\u7f16\u4ee3\u7801\uff0c\u8fd0\u884c\u5728\u4f60\u7528\u4e0e\u975e\u95e8\u642d\u5efa\u51fa\u7684 CPU \u4e0a\uff0c\u901a\u8fc7\u4f60\u5f00\u53d1\u7684 OS \u8fdb\u884c\u4ea4\u4e92\u3002\u5b66\u5b8c\u8fd9\u95e8\u8bfe\u7a0b\uff0c\u4f60\u5c06\u5bf9\u6574\u4e2a\u8ba1\u7b97\u673a\u7684\u4f53\u7cfb\u7ed3\u6784\u6709\u4e00\u4e2a\u5168\u5c40\u4e14\u6df1\u523b\u7684\u7406\u89e3\uff0c\u5bf9\u4e8e\u4f60\u540e\u7eed\u8bfe\u7a0b\u7684\u5b66\u4e60\u6709\u7740\u83ab\u5927\u7684\u5e2e\u52a9\u3002 \u4f60\u4e5f\u8bb8\u4f1a\u62c5\u5fc3\u8bfe\u7a0b\u4f1a\u4e0d\u4f1a\u5f88\u96be\uff0c\u4f46\u8fd9\u95e8\u8bfe\u9762\u5411\u7684\u4eba\u7fa4\u662f\u5b8c\u5168\u6ca1\u6709\u8ba1\u7b97\u673a\u57fa\u7840\u7684\u4eba\uff0c\u8bfe\u7a0b\u4f5c\u8005\u7684\u76ee\u6807\u662f\u8ba9\u9ad8\u4e2d\u751f\u90fd\u80fd\u7406\u89e3\u3002\u56e0\u6b64\uff0c\u53ea\u8981\u4f60\u6309\u90e8\u5c31\u73ed\u8ddf\u7740\u8bfe\u7a0b\u89c4\u5212\u8d70\uff0c\u4e00\u4e2a\u6708\u5185\u5b66\u5b8c\u5e94\u8be5\u7ef0\u7ef0\u6709\u4f59\u3002\u9ebb\u96c0\u867d\u5c0f\u4f46\u662f\u4e94\u810f\u4ff1\u5168\uff0c\u8fd9\u95e8\u8bfe\u5f88\u597d\u5730\u63d0\u53d6\u51fa\u4e86\u8ba1\u7b97\u673a\u7684\u672c\u8d28\uff0c\u800c\u4e0d\u8fc7\u591a\u5730\u9677\u4e8e\u73b0\u4ee3\u8ba1\u7b97\u673a\u4e3a\u4e86\u6027\u80fd\u800c\u8bbe\u8ba1\u51fa\u7684\u4f17\u591a\u590d\u6742\u7ec6\u8282\u3002\u8ba9\u5b66\u4e60\u8005\u80fd\u5728\u8f7b\u677e\u6109\u5feb\u7684\u5b66\u4e60\u4f53\u9a8c\u4e2d\u611f\u53d7\u8ba1\u7b97\u673a\u7684\u4f18\u96c5\u4e0e\u795e\u5947\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a Nand2Tetris I , Nand2Tetris II \u8bfe\u7a0b\u89c6\u9891\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a \u8ba1\u7b97\u673a\u7cfb\u7edf\u8981\u7d20\uff1a\u4ece\u96f6\u5f00\u59cb\u6784\u5efa\u73b0\u4ee3\u8ba1\u7b97\u673a \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10 \u4e2a Project \u5e26\u4f60\u9020\u53f0\u8ba1\u7b97\u673a\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/NandToTetris - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/","text":"CMU 15-418/Stanford CS149: Parallel Computing \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u548c Stanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u719f\u6089 C++ \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 Kayvon Fatahalian \u6559\u6388\u6b64\u524d\u5728 CMU \u5f00\u4e86 15-418 \u8fd9\u95e8\u8bfe\uff0c\u540e\u6765\u4ed6\u6210\u4e3a Stanford \u7684\u52a9\u7406\u6559\u6388\u540e\u53c8\u5f00\u4e86\u7c7b\u4f3c\u7684\u8bfe\u7a0b CS149\u3002\u4f46\u603b\u4f53\u6765\u8bf4\uff0c15-418 \u5305\u542b\u7684\u8bfe\u7a0b\u5185\u5bb9\u66f4\u4e30\u5bcc\uff0c\u5e76\u4e14\u6709\u8bfe\u7a0b\u56de\u653e\uff0c\u4f46 CS149 \u7684\u7f16\u7a0b\u4f5c\u4e1a\u66f4 fashion \u4e00\u4e9b\u3002\u6211\u4e2a\u4eba\u662f\u89c2\u770b\u7684 15-418 \u7684\u8bfe\u7a0b\u5f55\u5f71\u4f46\u5b8c\u6210\u7684 CS149 \u7684\u4f5c\u4e1a\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u5e26\u4f60\u6df1\u5165\u7406\u89e3\u73b0\u4ee3\u5e76\u884c\u8ba1\u7b97\u67b6\u6784\u7684\u8bbe\u8ba1\u539f\u5219\u4e0e\u5fc5\u8981\u6743\u8861\uff0c\u5e76\u5b66\u4f1a\u5982\u4f55\u5145\u5206\u5229\u7528\u786c\u4ef6\u8d44\u6e90\u4ee5\u53ca\u8f6f\u4ef6\u7f16\u7a0b\u6846\u67b6\uff08\u4f8b\u5982 CUDA\uff0cMPI\uff0cOpenMP \u7b49\uff09\u7f16\u5199\u9ad8\u6027\u80fd\u7684\u5e76\u884c\u7a0b\u5e8f\u3002\u7531\u4e8e\u5e76\u884c\u8ba1\u7b97\u67b6\u6784\u7684\u590d\u6742\u6027\uff0c\u8fd9\u95e8\u8bfe\u4f1a\u6d89\u53ca\u8bf8\u591a\u9ad8\u7ea7\u4f53\u7cfb\u7ed3\u6784\u4e0e\u7f51\u7edc\u901a\u4fe1\u7684\u5185\u5bb9\uff0c\u77e5\u8bc6\u70b9\u76f8\u5f53\u5e95\u5c42\u4e14\u786c\u6838\u3002\u4e0e\u6b64\u540c\u65f6\uff0c5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5219\u662f\u4ece\u8f6f\u4ef6\u7684\u5c42\u9762\u57f9\u517b\u5b66\u751f\u5bf9\u4e0a\u5c42\u62bd\u8c61\u7684\u7406\u89e3\u4e0e\u8fd0\u7528\uff0c\u5177\u4f53\u4f1a\u8ba9\u4f60\u5206\u6790\u5e76\u884c\u7a0b\u5e8f\u7684\u74f6\u9888\u3001\u7f16\u5199\u591a\u7ebf\u7a0b\u540c\u6b65\u4ee3\u7801\u3001\u5b66\u4e60 CUDA \u7f16\u7a0b\u3001OpenMP \u7f16\u7a0b\u4ee5\u53ca\u524d\u6bb5\u65f6\u95f4\u5927\u70ed\u7684 Spark \u6846\u67b6\u7b49\u7b49\u3002\u771f\u6b63\u610f\u4e49\u4e0a\u5c06\u7406\u8bba\u4e0e\u5b9e\u8df5\u5b8c\u7f8e\u5730\u7ed3\u5408\u5728\u4e86\u4e00\u8d77\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a CMU15418 , CS149 \u8bfe\u7a0b\u89c6\u9891\uff1a http://15418.courses.cs.cmu.edu/spring2016/lectures \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://gfxcourses.stanford.edu/cs149/fall21 \uff0c5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS149-parallel-computing - GitHub \u4e2d\u3002","title":"CMU 15-418/Stanford CS149: Parallel Computing"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/#cmu-15-418stanford-cs149-parallel-computing","text":"","title":"CMU 15-418/Stanford CS149: Parallel Computing"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u548c Stanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u719f\u6089 C++ \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 Kayvon Fatahalian \u6559\u6388\u6b64\u524d\u5728 CMU \u5f00\u4e86 15-418 \u8fd9\u95e8\u8bfe\uff0c\u540e\u6765\u4ed6\u6210\u4e3a Stanford \u7684\u52a9\u7406\u6559\u6388\u540e\u53c8\u5f00\u4e86\u7c7b\u4f3c\u7684\u8bfe\u7a0b CS149\u3002\u4f46\u603b\u4f53\u6765\u8bf4\uff0c15-418 \u5305\u542b\u7684\u8bfe\u7a0b\u5185\u5bb9\u66f4\u4e30\u5bcc\uff0c\u5e76\u4e14\u6709\u8bfe\u7a0b\u56de\u653e\uff0c\u4f46 CS149 \u7684\u7f16\u7a0b\u4f5c\u4e1a\u66f4 fashion \u4e00\u4e9b\u3002\u6211\u4e2a\u4eba\u662f\u89c2\u770b\u7684 15-418 \u7684\u8bfe\u7a0b\u5f55\u5f71\u4f46\u5b8c\u6210\u7684 CS149 \u7684\u4f5c\u4e1a\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u5e26\u4f60\u6df1\u5165\u7406\u89e3\u73b0\u4ee3\u5e76\u884c\u8ba1\u7b97\u67b6\u6784\u7684\u8bbe\u8ba1\u539f\u5219\u4e0e\u5fc5\u8981\u6743\u8861\uff0c\u5e76\u5b66\u4f1a\u5982\u4f55\u5145\u5206\u5229\u7528\u786c\u4ef6\u8d44\u6e90\u4ee5\u53ca\u8f6f\u4ef6\u7f16\u7a0b\u6846\u67b6\uff08\u4f8b\u5982 CUDA\uff0cMPI\uff0cOpenMP \u7b49\uff09\u7f16\u5199\u9ad8\u6027\u80fd\u7684\u5e76\u884c\u7a0b\u5e8f\u3002\u7531\u4e8e\u5e76\u884c\u8ba1\u7b97\u67b6\u6784\u7684\u590d\u6742\u6027\uff0c\u8fd9\u95e8\u8bfe\u4f1a\u6d89\u53ca\u8bf8\u591a\u9ad8\u7ea7\u4f53\u7cfb\u7ed3\u6784\u4e0e\u7f51\u7edc\u901a\u4fe1\u7684\u5185\u5bb9\uff0c\u77e5\u8bc6\u70b9\u76f8\u5f53\u5e95\u5c42\u4e14\u786c\u6838\u3002\u4e0e\u6b64\u540c\u65f6\uff0c5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5219\u662f\u4ece\u8f6f\u4ef6\u7684\u5c42\u9762\u57f9\u517b\u5b66\u751f\u5bf9\u4e0a\u5c42\u62bd\u8c61\u7684\u7406\u89e3\u4e0e\u8fd0\u7528\uff0c\u5177\u4f53\u4f1a\u8ba9\u4f60\u5206\u6790\u5e76\u884c\u7a0b\u5e8f\u7684\u74f6\u9888\u3001\u7f16\u5199\u591a\u7ebf\u7a0b\u540c\u6b65\u4ee3\u7801\u3001\u5b66\u4e60 CUDA \u7f16\u7a0b\u3001OpenMP \u7f16\u7a0b\u4ee5\u53ca\u524d\u6bb5\u65f6\u95f4\u5927\u70ed\u7684 Spark \u6846\u67b6\u7b49\u7b49\u3002\u771f\u6b63\u610f\u4e49\u4e0a\u5c06\u7406\u8bba\u4e0e\u5b9e\u8df5\u5b8c\u7f8e\u5730\u7ed3\u5408\u5728\u4e86\u4e00\u8d77\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a CMU15418 , CS149 \u8bfe\u7a0b\u89c6\u9891\uff1a http://15418.courses.cs.cmu.edu/spring2016/lectures \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://gfxcourses.stanford.edu/cs149/fall21 \uff0c5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS149-parallel-computing - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/","text":"MIT6.824: Distributed System \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u5e76\u884c\u7f16\u7a0b \u7f16\u7a0b\u8bed\u8a00\uff1aGo \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a200 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u548c MIT 6.S081 \u4e00\u6837\uff0c\u51fa\u54c1\u81ea MIT \u5927\u540d\u9f0e\u9f0e\u7684 PDOS \u5b9e\u9a8c\u5ba4\uff0c\u6388\u8bfe\u8001\u5e08 Robert Morris \u6559\u6388\u66fe\u662f\u4e00\u4f4d\u9876\u5c16\u9ed1\u5ba2\uff0c\u4e16\u754c\u4e0a\u7b2c\u4e00\u4e2a\u8815\u866b\u75c5\u6bd2 Morris \u75c5\u6bd2\u5c31\u662f\u51fa\u81ea\u4ed6\u4e4b\u624b\u3002 \u8fd9\u95e8\u8bfe\u6bcf\u8282\u8bfe\u90fd\u4f1a\u7cbe\u8bfb\u4e00\u7bc7\u5206\u5e03\u5f0f\u7cfb\u7edf\u9886\u57df\u7684\u7ecf\u5178\u8bba\u6587\uff0c\u5e76\u7531\u6b64\u4f20\u6388\u5206\u5e03\u5f0f\u7cfb\u7edf\u8bbe\u8ba1\u4e0e\u5b9e\u73b0\u7684\u91cd\u8981\u539f\u5219\u548c\u5173\u952e\u6280\u672f\u3002\u540c\u65f6\u5176\u8bfe\u7a0b Project \u4e5f\u662f\u4ee5\u5176\u96be\u5ea6\u4e4b\u5927\u800c\u95fb\u540d\u9050\u8fe9\uff0c4 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5faa\u5e8f\u6e10\u8fdb\u5e26\u4f60\u5b9e\u73b0\u4e00\u4e2a\u57fa\u4e8e Raft \u5171\u8bc6\u7b97\u6cd5\u7684 KV-store \u6846\u67b6\uff0c\u8ba9\u4f60\u5728\u75db\u82e6\u7684 debug \u4e2d\u4f53\u4f1a\u5e76\u884c\u4e0e\u5206\u5e03\u5f0f\u5e26\u6765\u7684\u968f\u673a\u6027\u548c\u590d\u6742\u6027\u3002 \u540c\u6837\uff0c\u8fd9\u95e8\u8bfe\u7531\u4e8e\u592a\u8fc7\u51fa\u540d\uff0c\u7f51\u4e0a\u7b54\u6848\u65e0\u6570\uff0c\u5e0c\u671b\u5927\u5bb6\u4e0d\u8981\u53c2\u8003\uff0c\u800c\u662f\u529b\u56fe\u81ea\u4e3b\u5b9e\u73b0\u6574\u4e2a Project\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://pdos.csail.mit.edu/6.824/schedule.html \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u89c6\u9891\u4e2d\u6587\u7ffb\u8bd1\uff1a https://mit-public-courses-cn-translatio.gitbook.io/mit6-824/ \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0\uff0c\u4ee5\u9605\u8bfb\u8bba\u6587\u4e3a\u4e3b \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 \u4e2a\u975e\u5e38\u8650\u7684 Project\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/MIT6.824 - GitHub \u4e2d\u3002 @ OneSizeFitsQuorum \u7684 Lab \u6587\u6863 \u8f83\u4e3a\u6e05\u6670\u5730\u4ecb\u7ecd\u4e86\u5b9e\u73b0 lab 1-4 \u548c challenge 1-2 \u65f6\u9700\u8981\u8003\u8651\u7684\u8bb8\u591a\u7ec6\u8282\uff0c\u5728\u9047\u5230\u74f6\u9888\u671f\u65f6\u53ef\u4ee5\u9605\u8bfb\u4e00\u4e0b~~","title":"MIT 6.824: Distributed System"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#mit6824-distributed-system","text":"","title":"MIT6.824: Distributed System"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u5e76\u884c\u7f16\u7a0b \u7f16\u7a0b\u8bed\u8a00\uff1aGo \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a200 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u548c MIT 6.S081 \u4e00\u6837\uff0c\u51fa\u54c1\u81ea MIT \u5927\u540d\u9f0e\u9f0e\u7684 PDOS \u5b9e\u9a8c\u5ba4\uff0c\u6388\u8bfe\u8001\u5e08 Robert Morris \u6559\u6388\u66fe\u662f\u4e00\u4f4d\u9876\u5c16\u9ed1\u5ba2\uff0c\u4e16\u754c\u4e0a\u7b2c\u4e00\u4e2a\u8815\u866b\u75c5\u6bd2 Morris \u75c5\u6bd2\u5c31\u662f\u51fa\u81ea\u4ed6\u4e4b\u624b\u3002 \u8fd9\u95e8\u8bfe\u6bcf\u8282\u8bfe\u90fd\u4f1a\u7cbe\u8bfb\u4e00\u7bc7\u5206\u5e03\u5f0f\u7cfb\u7edf\u9886\u57df\u7684\u7ecf\u5178\u8bba\u6587\uff0c\u5e76\u7531\u6b64\u4f20\u6388\u5206\u5e03\u5f0f\u7cfb\u7edf\u8bbe\u8ba1\u4e0e\u5b9e\u73b0\u7684\u91cd\u8981\u539f\u5219\u548c\u5173\u952e\u6280\u672f\u3002\u540c\u65f6\u5176\u8bfe\u7a0b Project \u4e5f\u662f\u4ee5\u5176\u96be\u5ea6\u4e4b\u5927\u800c\u95fb\u540d\u9050\u8fe9\uff0c4 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5faa\u5e8f\u6e10\u8fdb\u5e26\u4f60\u5b9e\u73b0\u4e00\u4e2a\u57fa\u4e8e Raft \u5171\u8bc6\u7b97\u6cd5\u7684 KV-store \u6846\u67b6\uff0c\u8ba9\u4f60\u5728\u75db\u82e6\u7684 debug \u4e2d\u4f53\u4f1a\u5e76\u884c\u4e0e\u5206\u5e03\u5f0f\u5e26\u6765\u7684\u968f\u673a\u6027\u548c\u590d\u6742\u6027\u3002 \u540c\u6837\uff0c\u8fd9\u95e8\u8bfe\u7531\u4e8e\u592a\u8fc7\u51fa\u540d\uff0c\u7f51\u4e0a\u7b54\u6848\u65e0\u6570\uff0c\u5e0c\u671b\u5927\u5bb6\u4e0d\u8981\u53c2\u8003\uff0c\u800c\u662f\u529b\u56fe\u81ea\u4e3b\u5b9e\u73b0\u6574\u4e2a Project\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://pdos.csail.mit.edu/6.824/schedule.html \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u89c6\u9891\u4e2d\u6587\u7ffb\u8bd1\uff1a https://mit-public-courses-cn-translatio.gitbook.io/mit6-824/ \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0\uff0c\u4ee5\u9605\u8bfb\u8bba\u6587\u4e3a\u4e3b \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 \u4e2a\u975e\u5e38\u8650\u7684 Project\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/MIT6.824 - GitHub \u4e2d\u3002 @ OneSizeFitsQuorum \u7684 Lab \u6587\u6863 \u8f83\u4e3a\u6e05\u6670\u5730\u4ecb\u7ecd\u4e86\u5b9e\u73b0 lab 1-4 \u548c challenge 1-2 \u65f6\u9700\u8981\u8003\u8651\u7684\u8bb8\u591a\u7ec6\u8282\uff0c\u5728\u9047\u5230\u74f6\u9888\u671f\u65f6\u53ef\u4ee5\u9605\u8bfb\u4e00\u4e0b~~","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/","text":"CMake \u4e3a\u4ec0\u4e48\u5b66\u4e60 CMake CMake \u662f\u7c7b\u4f3c\u4e8e GNU make \u7684\u8de8\u5e73\u53f0\u81ea\u52a8\u8f6f\u4ef6\u6784\u5efa\u5de5\u5177\uff0c\u4f7f\u7528 CMakeLists.txt \u5b9a\u4e49\u6784\u5efa\u89c4\u5219\uff0c\u76f8\u6bd4\u4e8e make \u5b83\u63d0\u4f9b\u4e86\u66f4\u591a\u7684\u529f\u80fd\uff0c\u5728\u5404\u79cd\u8f6f\u4ef6\u6784\u5efa\u4e0a\u5e7f\u6cdb\u4f7f\u7528\u3002 \u5f3a\u70c8\u5efa\u8bae\u5b66\u4e60\u4f7f\u7528 GNU Make \u548c\u719f\u6089 Makefile \u540e\u518d\u5b66\u4e60 CMake \u3002 \u5982\u4f55\u5b66\u4e60 CMake CMakeLists.txt \u6bd4 Makefile \u66f4\u4e3a\u62bd\u8c61\uff0c\u7406\u89e3\u548c\u4f7f\u7528\u96be\u5ea6\u4e5f\u66f4\u5927\u3002\u73b0\u9636\u6bb5\u5f88\u591a IDE (\u5982 Visual Studio, CLion) \u63d0\u4f9b\u4e86\u81ea\u52a8\u751f\u6210 CMakeLists.txt \u7684\u529f\u80fd\uff0c\u4f46\u638c\u63e1 CMakeLists.txt \u7684\u57fa\u672c\u7528\u6cd5\u4ecd\u7136\u5f88\u6709\u5fc5\u8981\u3002\u9664\u4e86 CMake \u5b98\u65b9 Tutorial \u5916\uff0c\u4e0a\u6d77\u4ea4\u901a\u5927\u5b66 IPADS \u7ec4\u65b0\u4eba\u57f9\u8bad\u4e5f\u63d0\u4f9b\u4e86 \u5927\u7ea6\u4e00\u5c0f\u65f6\u7684\u89c6\u9891\u6559\u7a0b \u3002","title":"CMake"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/#cmake","text":"","title":"CMake"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/#cmake_1","text":"CMake \u662f\u7c7b\u4f3c\u4e8e GNU make \u7684\u8de8\u5e73\u53f0\u81ea\u52a8\u8f6f\u4ef6\u6784\u5efa\u5de5\u5177\uff0c\u4f7f\u7528 CMakeLists.txt \u5b9a\u4e49\u6784\u5efa\u89c4\u5219\uff0c\u76f8\u6bd4\u4e8e make \u5b83\u63d0\u4f9b\u4e86\u66f4\u591a\u7684\u529f\u80fd\uff0c\u5728\u5404\u79cd\u8f6f\u4ef6\u6784\u5efa\u4e0a\u5e7f\u6cdb\u4f7f\u7528\u3002 \u5f3a\u70c8\u5efa\u8bae\u5b66\u4e60\u4f7f\u7528 GNU Make \u548c\u719f\u6089 Makefile \u540e\u518d\u5b66\u4e60 CMake \u3002","title":"\u4e3a\u4ec0\u4e48\u5b66\u4e60 CMake"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/#cmake_2","text":"CMakeLists.txt \u6bd4 Makefile \u66f4\u4e3a\u62bd\u8c61\uff0c\u7406\u89e3\u548c\u4f7f\u7528\u96be\u5ea6\u4e5f\u66f4\u5927\u3002\u73b0\u9636\u6bb5\u5f88\u591a IDE (\u5982 Visual Studio, CLion) \u63d0\u4f9b\u4e86\u81ea\u52a8\u751f\u6210 CMakeLists.txt \u7684\u529f\u80fd\uff0c\u4f46\u638c\u63e1 CMakeLists.txt \u7684\u57fa\u672c\u7528\u6cd5\u4ecd\u7136\u5f88\u6709\u5fc5\u8981\u3002\u9664\u4e86 CMake \u5b98\u65b9 Tutorial \u5916\uff0c\u4e0a\u6d77\u4ea4\u901a\u5927\u5b66 IPADS \u7ec4\u65b0\u4eba\u57f9\u8bad\u4e5f\u63d0\u4f9b\u4e86 \u5927\u7ea6\u4e00\u5c0f\u65f6\u7684\u89c6\u9891\u6559\u7a0b \u3002","title":"\u5982\u4f55\u5b66\u4e60 CMake"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/","text":"Docker \u4e3a\u4ec0\u4e48\u4f7f\u7528 Docker \u4f7f\u7528\u522b\u4eba\u5199\u597d\u7684\u8f6f\u4ef6/\u5de5\u5177\u6700\u5927\u7684\u969c\u788d\u662f\u4ec0\u4e48\u2014\u2014\u5fc5\u7136\u662f\u914d\u73af\u5883\u3002\u914d\u73af\u5883\u5e26\u6765\u7684\u6298\u78e8\u4f1a\u6781\u5927\u5730\u6d88\u89e3\u4f60\u5bf9\u8f6f\u4ef6\u3001\u7f16\u7a0b\u672c\u8eab\u7684\u5174\u8da3\u3002\u865a\u62df\u673a\u53ef\u4ee5\u89e3\u51b3\u914d\u73af\u5883\u7684\u4e00\u90e8\u5206\u95ee\u9898\uff0c\u4f46\u5b83\u5e9e\u5927\u7b28\u91cd\uff0c\u4e14\u4e3a\u4e86\u67d0\u4e2a\u5e94\u7528\u7684\u73af\u5883\u914d\u7f6e\u597d\u50cf\u4e5f\u4e0d\u503c\u5f97\u6a21\u62df\u4e00\u4e2a\u5168\u65b0\u7684\u64cd\u4f5c\u7cfb\u7edf\u3002 Docker \u7684\u51fa\u73b0\u8ba9\u73af\u5883\u914d\u7f6e\u53d8\u5f97\uff08\u6216\u8bb8\uff09\u4e0d\u518d\u6298\u78e8\u3002\u7b80\u5355\u6765\u8bf4 Docker \u4f7f\u7528\u8f7b\u91cf\u7ea7\u7684\u201c\u5bb9\u5668\u201d\uff08container\uff09\u800c\u4e0d\u662f\u6574\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u53bb\u652f\u6301\u4e00\u4e2a\u5e94\u7528\u7684\u914d\u7f6e\u3002\u5e94\u7528\u81ea\u8eab\u8fde\u540c\u5b83\u7684\u73af\u5883\u914d\u7f6e\u88ab\u6253\u5305\u4e3a\u4e00\u4e2a\u4e2a image \u53ef\u4ee5\u81ea\u7531\u8fd0\u884c\u5728\u4e0d\u540c\u5e73\u53f0\u7684\u4e00\u4e2a\u4e2a container \u4e2d\uff0c\u8fd9\u6781\u5927\u5730\u8282\u7701\u4e86\u6240\u6709\u4eba\u7684\u65f6\u95f4\u6210\u672c\u3002 \u5982\u4f55\u5b66\u4e60 Docker Docker \u5b98\u65b9\u6587\u6863 \u5f53\u7136\u662f\u6700\u597d\u7684\u521d\u5b66\u6559\u6750\uff0c\u4f46\u6700\u597d\u7684\u5bfc\u5e08\u4e00\u5b9a\u662f\u4f60\u81ea\u5df1\u2014\u2014\u5c1d\u8bd5\u53bb\u4f7f\u7528 Docker \u624d\u80fd\u4eab\u53d7\u5b83\u5e26\u6765\u7684\u4fbf\u5229\u3002Docker \u5728\u5de5\u4e1a\u754c\u53d1\u5c55\u8fc5\u731b\u5e76\u5df2\u7ecf\u975e\u5e38\u6210\u719f\uff0c\u4f60\u53ef\u4ee5\u4e0b\u8f7d\u5b83\u7684\u684c\u9762\u7aef\u5e76\u4f7f\u7528\u56fe\u5f62\u754c\u9762\u3002 \u5f53\u7136\uff0c\u5982\u679c\u4f60\u50cf\u6211\u4e00\u6837\uff0c\u662f\u4e00\u4e2a\u75af\u72c2\u7684\u9020\u8f6e\u5b50\u7231\u597d\u8005\uff0c\u90a3\u4e0d\u59a8\u81ea\u5df1\u4eb2\u624b\u5199\u4e00\u4e2a \u8ff7\u4f60 Docker \u6765\u52a0\u6df1\u7406\u89e3\u3002 KodeKloud Docker for the Absolute Beginner \u5168\u9762\u7684\u4ecb\u7ecd\u4e86 Docker \u7684\u57fa\u7840\u529f\u80fd\uff0c\u5e76\u4e14\u6709\u5927\u91cf\u7684\u914d\u5957\u7ec3\u4e60\uff0c\u540c\u65f6\u63d0\u4f9b\u514d\u8d39\u7684\u4e91\u73af\u5883\u6765\u5b8c\u6210\u7ec3\u4e60\u3002\u5176\u4f59\u7684\u4e91\u76f8\u5173\u7684\u8bfe\u7a0b\u5982 Kubernetes \u9700\u8981\u4ed8\u8d39\uff0c\u4f46\u4e2a\u4eba\u5f3a\u70c8\u63a8\u8350\uff1a\u8bb2\u89e3\u975e\u5e38\u4ed4\u7ec6\uff0c\u9002\u5408\u4ece 0 \u5f00\u59cb\u7684\u65b0\u624b\uff1b\u6709\u914d\u5957\u7684 Kubernetes \u7684\u5b9e\u9a8c\u73af\u5883\uff0c\u4e0d\u7528\u88ab\u642d\u5efa\u73af\u5883\u529d\u9000\u3002","title":"Docker"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/#docker","text":"","title":"Docker"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/#docker_1","text":"\u4f7f\u7528\u522b\u4eba\u5199\u597d\u7684\u8f6f\u4ef6/\u5de5\u5177\u6700\u5927\u7684\u969c\u788d\u662f\u4ec0\u4e48\u2014\u2014\u5fc5\u7136\u662f\u914d\u73af\u5883\u3002\u914d\u73af\u5883\u5e26\u6765\u7684\u6298\u78e8\u4f1a\u6781\u5927\u5730\u6d88\u89e3\u4f60\u5bf9\u8f6f\u4ef6\u3001\u7f16\u7a0b\u672c\u8eab\u7684\u5174\u8da3\u3002\u865a\u62df\u673a\u53ef\u4ee5\u89e3\u51b3\u914d\u73af\u5883\u7684\u4e00\u90e8\u5206\u95ee\u9898\uff0c\u4f46\u5b83\u5e9e\u5927\u7b28\u91cd\uff0c\u4e14\u4e3a\u4e86\u67d0\u4e2a\u5e94\u7528\u7684\u73af\u5883\u914d\u7f6e\u597d\u50cf\u4e5f\u4e0d\u503c\u5f97\u6a21\u62df\u4e00\u4e2a\u5168\u65b0\u7684\u64cd\u4f5c\u7cfb\u7edf\u3002 Docker \u7684\u51fa\u73b0\u8ba9\u73af\u5883\u914d\u7f6e\u53d8\u5f97\uff08\u6216\u8bb8\uff09\u4e0d\u518d\u6298\u78e8\u3002\u7b80\u5355\u6765\u8bf4 Docker \u4f7f\u7528\u8f7b\u91cf\u7ea7\u7684\u201c\u5bb9\u5668\u201d\uff08container\uff09\u800c\u4e0d\u662f\u6574\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u53bb\u652f\u6301\u4e00\u4e2a\u5e94\u7528\u7684\u914d\u7f6e\u3002\u5e94\u7528\u81ea\u8eab\u8fde\u540c\u5b83\u7684\u73af\u5883\u914d\u7f6e\u88ab\u6253\u5305\u4e3a\u4e00\u4e2a\u4e2a image \u53ef\u4ee5\u81ea\u7531\u8fd0\u884c\u5728\u4e0d\u540c\u5e73\u53f0\u7684\u4e00\u4e2a\u4e2a container \u4e2d\uff0c\u8fd9\u6781\u5927\u5730\u8282\u7701\u4e86\u6240\u6709\u4eba\u7684\u65f6\u95f4\u6210\u672c\u3002","title":"\u4e3a\u4ec0\u4e48\u4f7f\u7528 Docker"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/#docker_2","text":"Docker \u5b98\u65b9\u6587\u6863 \u5f53\u7136\u662f\u6700\u597d\u7684\u521d\u5b66\u6559\u6750\uff0c\u4f46\u6700\u597d\u7684\u5bfc\u5e08\u4e00\u5b9a\u662f\u4f60\u81ea\u5df1\u2014\u2014\u5c1d\u8bd5\u53bb\u4f7f\u7528 Docker \u624d\u80fd\u4eab\u53d7\u5b83\u5e26\u6765\u7684\u4fbf\u5229\u3002Docker \u5728\u5de5\u4e1a\u754c\u53d1\u5c55\u8fc5\u731b\u5e76\u5df2\u7ecf\u975e\u5e38\u6210\u719f\uff0c\u4f60\u53ef\u4ee5\u4e0b\u8f7d\u5b83\u7684\u684c\u9762\u7aef\u5e76\u4f7f\u7528\u56fe\u5f62\u754c\u9762\u3002 \u5f53\u7136\uff0c\u5982\u679c\u4f60\u50cf\u6211\u4e00\u6837\uff0c\u662f\u4e00\u4e2a\u75af\u72c2\u7684\u9020\u8f6e\u5b50\u7231\u597d\u8005\uff0c\u90a3\u4e0d\u59a8\u81ea\u5df1\u4eb2\u624b\u5199\u4e00\u4e2a \u8ff7\u4f60 Docker \u6765\u52a0\u6df1\u7406\u89e3\u3002 KodeKloud Docker for the Absolute Beginner \u5168\u9762\u7684\u4ecb\u7ecd\u4e86 Docker \u7684\u57fa\u7840\u529f\u80fd\uff0c\u5e76\u4e14\u6709\u5927\u91cf\u7684\u914d\u5957\u7ec3\u4e60\uff0c\u540c\u65f6\u63d0\u4f9b\u514d\u8d39\u7684\u4e91\u73af\u5883\u6765\u5b8c\u6210\u7ec3\u4e60\u3002\u5176\u4f59\u7684\u4e91\u76f8\u5173\u7684\u8bfe\u7a0b\u5982 Kubernetes \u9700\u8981\u4ed8\u8d39\uff0c\u4f46\u4e2a\u4eba\u5f3a\u70c8\u63a8\u8350\uff1a\u8bb2\u89e3\u975e\u5e38\u4ed4\u7ec6\uff0c\u9002\u5408\u4ece 0 \u5f00\u59cb\u7684\u65b0\u624b\uff1b\u6709\u914d\u5957\u7684 Kubernetes \u7684\u5b9e\u9a8c\u73af\u5883\uff0c\u4e0d\u7528\u88ab\u642d\u5efa\u73af\u5883\u529d\u9000\u3002","title":"\u5982\u4f55\u5b66\u4e60 Docker"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/","text":"Emacs \u4e3a\u4ec0\u4e48\u5b66\u4e60 Emacs Emacs \u662f\u4e00\u4e2a\u4e0e Vim \u9f50\u540d\u7684\u5f3a\u5927\u7f16\u8f91\u5668\uff0c\u4e8b\u5b9e\u4e0a Emacs \u51e0\u4e4e\u5177\u6709 Vim \u7684\u6240\u6709\u597d\u5904\uff0c\u4f8b\u5982\uff1a \u53ea\u9700\u8981\u952e\u76d8\u5c31\u53ef\u4ee5\u5b8c\u6210\u6240\u6709\u64cd\u4f5c\uff0c\u5927\u91cf\u4f7f\u7528\u5feb\u6377\u952e\uff0c\u5177\u6709\u6781\u9ad8\u7684\u7f16\u8f91\u6548\u7387\u3002 \u65e2\u53ef\u4ee5\u5728\u7ec8\u7aef\u65e0\u56fe\u5f62\u754c\u9762\u7684\u573a\u666f\u4e0b\u4f7f\u7528\uff0c\u4e5f\u53ef\u4f7f\u7528\u6709\u56fe\u5f62\u754c\u9762\u7684\u7248\u672c\u83b7\u5f97\u66f4\u73b0\u4ee3\u3001\u66f4\u7f8e\u89c2\u7684\u4f53\u9a8c\u3002 \u6b64\u5916\uff0cEmacs \u4e0e\u5176\u5b83\u5927\u90e8\u5206\u7f16\u8f91\u5668\u6700\u5927\u7684\u4e0d\u540c\u5c31\u5728\u4e8e\u5176\u5f3a\u5927\u7684\u6269\u5c55\u6027\u3002Emacs \u7684\u5185\u6838\u6ca1\u6709\u5bf9\u7528\u6237\u505a\u51fa\u4efb\u4f55\u9650\u5236\uff0c\u4f7f\u7528 Emacs Lisp \u7f16\u7a0b\u8bed\u8a00\u53ef\u4ee5\u4e3a Emacs \u7f16\u5199\u4efb\u610f\u903b\u8f91\u7684\u63d2\u4ef6\u6765\u6269\u5c55 Emacs \u7684\u529f\u80fd\u3002\u7ecf\u8fc7\u51e0\u5341\u5e74\u7684\u79ef\u7d2f\uff0cEmacs \u7684\u63d2\u4ef6\u751f\u6001\u53ef\u8c13\u7f16\u8f91\u5668\u4e2d\u6700\u4e3a\u4e30\u5bcc\u548c\u5f3a\u5927\u7684\u751f\u6001\u4e4b\u4e00\u3002\u6709\u4e00\u79cd\u8bf4\u6cd5\u662f\uff0c\u201cEmacs \u8868\u9762\u4e0a\u662f\u4e2a\u7f16\u8f91\u5668\uff0c\u5176\u5b9e\u662f\u4e00\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u201d\u3002\u53ea\u8981\u7a0d\u4f5c\u5b66\u4e60\uff0c\u4f60\u4e5f\u53ef\u4ee5\u7f16\u5199\u5c5e\u4e8e\u81ea\u5df1\u7684 Emacs \u6269\u5c55\u3002 Emacs \u5bf9 Vim \u7528\u6237\u4e5f\u5341\u5206\u53cb\u597d\uff0c\u6709\u4e00\u4e2a\u53eb evil \u7684\u63d2\u4ef6\u53ef\u4ee5\u8ba9\u7528\u6237\u5728 Emacs \u4e2d\u4f7f\u7528 Vim \u7684\u57fa\u672c\u64cd\u4f5c\uff0c\u53ea\u9700\u8981\u5f88\u4f4e\u7684\u8fc1\u79fb\u6210\u672c\u5373\u53ef\u4ece Vim \u8f6c\u5230 Emacs\u3002\u66fe\u7ecf\u6709\u7edf\u8ba1\u663e\u793a\u6709\u76f8\u5f53\u4e00\u90e8\u5206\u7528\u6237\u4f1a\u4ece Vim \u8f6c\u5230 Emacs\uff0c\u4f46\u51e0\u4e4e\u6ca1\u6709\u7528\u6237\u4ece Emacs \u8f6c\u5230 Vim\u3002\u4e8b\u5b9e\u4e0a\uff0cEmacs \u76f8\u5bf9 Vim \u6700\u5927\u7684\u4e0d\u8db3\u662f\u7eaf\u6587\u672c\u7f16\u8f91\u65b9\u9762\u4e0d\u5982 Vim \u7684\u591a\u6a21\u6001\u7f16\u8f91\u6548\u7387\u9ad8\uff0c\u4f46\u51ed\u501f\u5176\u5f3a\u5927\u7684\u6269\u5c55\u6027\uff0cEmacs \u53ef\u4ee5\u626c\u957f\u907f\u77ed\uff0c\u628a Vim \u5438\u6536\u8fdb\u6765\uff0c\u7ed3\u5408\u4e86\u4e8c\u8005\u7684\u957f\u5904\u3002 \u5982\u4f55\u5b66\u4e60 Emacs \u4e0e Vim \u76f8\u540c\uff0cEmacs \u7684\u5b66\u4e60\u66f2\u7ebf\u4e5f\u6bd4\u8f83\u9661\u5ced\uff0c\u4f46\u4e00\u65e6\u7406\u89e3\u4e86 Emacs \u7684\u4f7f\u7528\u903b\u8f91\uff0c\u5c31\u4f1a\u7231\u4e0d\u91ca\u624b\u3002\u7136\u800c\uff0c\u7f51\u4e0a\u7684 Emacs \u8d44\u6599\u5927\u591a\u4e0d\u7ec6\u81f4\u3001\u4e0d\u591f\u51c6\u786e\uff0c\u751a\u81f3\u6709\u54d7\u4f17\u53d6\u5ba0\u7684\u5acc\u7591\u3002 \u8fd9\u91cc\u7ed9\u5927\u5bb6\u63a8\u8350\u4e00\u4e2a\u8f83\u65b0\u7684\u4e2d\u6587\u6559\u7a0b \u300a\u4e13\u4e1a Emacs \u5165\u95e8\u300b \uff0c\u8fd9\u7bc7\u6559\u7a0b\u6bd4\u8f83\u7cfb\u7edf\u548c\u5168\u9762\uff0c\u4e14\u8bb2\u8ff0\u76f8\u5bf9\u6bd4\u8f83\u8010\u5fc3\u7ec6\u81f4\uff0c\u5728\u8bb2\u89e3 Emacs \u57fa\u672c\u903b\u8f91\u7684\u540c\u65f6\u4e5f\u7ed9\u51fa\u4e86\u6210\u5957\u7684\u63d2\u4ef6\u63a8\u8350\uff0c\u8bfb\u5b8c\u540e\u53ef\u4ee5\u83b7\u5f97\u4e00\u4e2a\u529f\u80fd\u5b8c\u5584\u7684\u3001\u63a5\u8fd1 IDE \u7684 Emacs\uff0c\u56e0\u6b64\u503c\u5f97\u4e00\u8bfb\u3002\u5b66\u5b8c\u6559\u7a0b\u53ea\u662f\u521a\u521a\u5f00\u59cb\uff0c\u5b66\u4f1a\u4e4b\u540e\u8981\u7ecf\u5e38\u4f7f\u7528\uff0c\u5728\u4f7f\u7528\u4e2d\u9047\u5230\u95ee\u9898\u52e4\u4e8e\u641c\u7d22\u548c\u601d\u8003\uff0c\u6700\u7ec8\u624d\u80fd\u5f97\u5fc3\u5e94\u624b\u3002 \u5173\u4e8e\u952e\u4f4d\u6620\u5c04 Emacs \u7684\u552f\u4e00\u7f3a\u70b9\u4fbf\u662f\u5bf9 Ctrl \u952e\u7684\u4f7f\u7528\u8fc7\u591a\uff0c\u5bf9\u5c0f\u624b\u6307\u4e0d\u662f\u5f88\u53cb\u597d\uff0c\u5f3a\u70c8\u5efa\u8bae\u66f4\u6539 Ctrl \u952e\u7684\u952e\u76d8\u6620\u5c04\u3002\u66f4\u6539\u6620\u5c04\u7684\u65b9\u5f0f\u4e0e Vim \u6559\u7a0b \u4e2d\u7684\u65b9\u6cd5\u76f8\u540c\uff0c\u8fd9\u91cc\u4e0d\u505a\u8d58\u8ff0\u3002","title":"Emacs"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/#emacs","text":"","title":"Emacs"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/#emacs_1","text":"Emacs \u662f\u4e00\u4e2a\u4e0e Vim \u9f50\u540d\u7684\u5f3a\u5927\u7f16\u8f91\u5668\uff0c\u4e8b\u5b9e\u4e0a Emacs \u51e0\u4e4e\u5177\u6709 Vim \u7684\u6240\u6709\u597d\u5904\uff0c\u4f8b\u5982\uff1a \u53ea\u9700\u8981\u952e\u76d8\u5c31\u53ef\u4ee5\u5b8c\u6210\u6240\u6709\u64cd\u4f5c\uff0c\u5927\u91cf\u4f7f\u7528\u5feb\u6377\u952e\uff0c\u5177\u6709\u6781\u9ad8\u7684\u7f16\u8f91\u6548\u7387\u3002 \u65e2\u53ef\u4ee5\u5728\u7ec8\u7aef\u65e0\u56fe\u5f62\u754c\u9762\u7684\u573a\u666f\u4e0b\u4f7f\u7528\uff0c\u4e5f\u53ef\u4f7f\u7528\u6709\u56fe\u5f62\u754c\u9762\u7684\u7248\u672c\u83b7\u5f97\u66f4\u73b0\u4ee3\u3001\u66f4\u7f8e\u89c2\u7684\u4f53\u9a8c\u3002 \u6b64\u5916\uff0cEmacs \u4e0e\u5176\u5b83\u5927\u90e8\u5206\u7f16\u8f91\u5668\u6700\u5927\u7684\u4e0d\u540c\u5c31\u5728\u4e8e\u5176\u5f3a\u5927\u7684\u6269\u5c55\u6027\u3002Emacs \u7684\u5185\u6838\u6ca1\u6709\u5bf9\u7528\u6237\u505a\u51fa\u4efb\u4f55\u9650\u5236\uff0c\u4f7f\u7528 Emacs Lisp \u7f16\u7a0b\u8bed\u8a00\u53ef\u4ee5\u4e3a Emacs \u7f16\u5199\u4efb\u610f\u903b\u8f91\u7684\u63d2\u4ef6\u6765\u6269\u5c55 Emacs \u7684\u529f\u80fd\u3002\u7ecf\u8fc7\u51e0\u5341\u5e74\u7684\u79ef\u7d2f\uff0cEmacs \u7684\u63d2\u4ef6\u751f\u6001\u53ef\u8c13\u7f16\u8f91\u5668\u4e2d\u6700\u4e3a\u4e30\u5bcc\u548c\u5f3a\u5927\u7684\u751f\u6001\u4e4b\u4e00\u3002\u6709\u4e00\u79cd\u8bf4\u6cd5\u662f\uff0c\u201cEmacs \u8868\u9762\u4e0a\u662f\u4e2a\u7f16\u8f91\u5668\uff0c\u5176\u5b9e\u662f\u4e00\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u201d\u3002\u53ea\u8981\u7a0d\u4f5c\u5b66\u4e60\uff0c\u4f60\u4e5f\u53ef\u4ee5\u7f16\u5199\u5c5e\u4e8e\u81ea\u5df1\u7684 Emacs \u6269\u5c55\u3002 Emacs \u5bf9 Vim \u7528\u6237\u4e5f\u5341\u5206\u53cb\u597d\uff0c\u6709\u4e00\u4e2a\u53eb evil \u7684\u63d2\u4ef6\u53ef\u4ee5\u8ba9\u7528\u6237\u5728 Emacs \u4e2d\u4f7f\u7528 Vim \u7684\u57fa\u672c\u64cd\u4f5c\uff0c\u53ea\u9700\u8981\u5f88\u4f4e\u7684\u8fc1\u79fb\u6210\u672c\u5373\u53ef\u4ece Vim \u8f6c\u5230 Emacs\u3002\u66fe\u7ecf\u6709\u7edf\u8ba1\u663e\u793a\u6709\u76f8\u5f53\u4e00\u90e8\u5206\u7528\u6237\u4f1a\u4ece Vim \u8f6c\u5230 Emacs\uff0c\u4f46\u51e0\u4e4e\u6ca1\u6709\u7528\u6237\u4ece Emacs \u8f6c\u5230 Vim\u3002\u4e8b\u5b9e\u4e0a\uff0cEmacs \u76f8\u5bf9 Vim \u6700\u5927\u7684\u4e0d\u8db3\u662f\u7eaf\u6587\u672c\u7f16\u8f91\u65b9\u9762\u4e0d\u5982 Vim \u7684\u591a\u6a21\u6001\u7f16\u8f91\u6548\u7387\u9ad8\uff0c\u4f46\u51ed\u501f\u5176\u5f3a\u5927\u7684\u6269\u5c55\u6027\uff0cEmacs \u53ef\u4ee5\u626c\u957f\u907f\u77ed\uff0c\u628a Vim \u5438\u6536\u8fdb\u6765\uff0c\u7ed3\u5408\u4e86\u4e8c\u8005\u7684\u957f\u5904\u3002","title":"\u4e3a\u4ec0\u4e48\u5b66\u4e60 Emacs"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/#emacs_2","text":"\u4e0e Vim \u76f8\u540c\uff0cEmacs \u7684\u5b66\u4e60\u66f2\u7ebf\u4e5f\u6bd4\u8f83\u9661\u5ced\uff0c\u4f46\u4e00\u65e6\u7406\u89e3\u4e86 Emacs \u7684\u4f7f\u7528\u903b\u8f91\uff0c\u5c31\u4f1a\u7231\u4e0d\u91ca\u624b\u3002\u7136\u800c\uff0c\u7f51\u4e0a\u7684 Emacs \u8d44\u6599\u5927\u591a\u4e0d\u7ec6\u81f4\u3001\u4e0d\u591f\u51c6\u786e\uff0c\u751a\u81f3\u6709\u54d7\u4f17\u53d6\u5ba0\u7684\u5acc\u7591\u3002 \u8fd9\u91cc\u7ed9\u5927\u5bb6\u63a8\u8350\u4e00\u4e2a\u8f83\u65b0\u7684\u4e2d\u6587\u6559\u7a0b \u300a\u4e13\u4e1a Emacs \u5165\u95e8\u300b \uff0c\u8fd9\u7bc7\u6559\u7a0b\u6bd4\u8f83\u7cfb\u7edf\u548c\u5168\u9762\uff0c\u4e14\u8bb2\u8ff0\u76f8\u5bf9\u6bd4\u8f83\u8010\u5fc3\u7ec6\u81f4\uff0c\u5728\u8bb2\u89e3 Emacs \u57fa\u672c\u903b\u8f91\u7684\u540c\u65f6\u4e5f\u7ed9\u51fa\u4e86\u6210\u5957\u7684\u63d2\u4ef6\u63a8\u8350\uff0c\u8bfb\u5b8c\u540e\u53ef\u4ee5\u83b7\u5f97\u4e00\u4e2a\u529f\u80fd\u5b8c\u5584\u7684\u3001\u63a5\u8fd1 IDE \u7684 Emacs\uff0c\u56e0\u6b64\u503c\u5f97\u4e00\u8bfb\u3002\u5b66\u5b8c\u6559\u7a0b\u53ea\u662f\u521a\u521a\u5f00\u59cb\uff0c\u5b66\u4f1a\u4e4b\u540e\u8981\u7ecf\u5e38\u4f7f\u7528\uff0c\u5728\u4f7f\u7528\u4e2d\u9047\u5230\u95ee\u9898\u52e4\u4e8e\u641c\u7d22\u548c\u601d\u8003\uff0c\u6700\u7ec8\u624d\u80fd\u5f97\u5fc3\u5e94\u624b\u3002","title":"\u5982\u4f55\u5b66\u4e60 Emacs"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/#_1","text":"Emacs \u7684\u552f\u4e00\u7f3a\u70b9\u4fbf\u662f\u5bf9 Ctrl \u952e\u7684\u4f7f\u7528\u8fc7\u591a\uff0c\u5bf9\u5c0f\u624b\u6307\u4e0d\u662f\u5f88\u53cb\u597d\uff0c\u5f3a\u70c8\u5efa\u8bae\u66f4\u6539 Ctrl \u952e\u7684\u952e\u76d8\u6620\u5c04\u3002\u66f4\u6539\u6620\u5c04\u7684\u65b9\u5f0f\u4e0e Vim \u6559\u7a0b \u4e2d\u7684\u65b9\u6cd5\u76f8\u540c\uff0c\u8fd9\u91cc\u4e0d\u505a\u8d58\u8ff0\u3002","title":"\u5173\u4e8e\u952e\u4f4d\u6620\u5c04"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GNU_Make/","text":"GNU Make \u4e3a\u4ec0\u4e48\u5b66 GNU Make \u5927\u5bb6\u7b2c\u4e00\u6b21\u5199 hello world \u7a0b\u5e8f\u7684\u65f6\u5019\u4e00\u5b9a\u90fd\u8bb0\u5f97\uff0c\u5728\u7f16\u8f91\u5b8c helloworld.c \u4e4b\u540e\uff0c\u9700\u8981\u7528 gcc \u7f16\u8bd1\u751f\u6210\u53ef\u6267\u884c\u6587\u4ef6\uff0c\u7136\u540e\u518d\u6267\u884c\uff08\u5982\u679c\u4f60\u4e0d\u7406\u89e3\u524d\u9762\u8fd9\u6bb5\u8bdd\uff0c\u8bf7\u5148\u81ea\u884c\u8c37\u6b4c gcc \u7f16\u8bd1 \u5e76\u7406\u89e3\u76f8\u5173\u5185\u5bb9\uff09\u3002\u4f46\u5982\u679c\u4f60\u7684\u9879\u76ee\u7531\u6210\u767e\u4e0a\u5343\u4e2a C \u6e90\u6587\u4ef6\u7ec4\u6210\uff0c\u5e76\u4e14\u661f\u7f57\u68cb\u5e03\u5728\u5404\u4e2a\u5b50\u76ee\u5f55\u4e0b\uff0c\u4f60\u8be5\u5982\u4f55\u5c06\u5b83\u4eec\u7f16\u8bd1\u94fe\u63a5\u5230\u4e00\u8d77\u5462\uff1f\u5047\u5982\u4f60\u7684\u9879\u76ee\u7f16\u8bd1\u4e00\u6b21\u9700\u8981\u534a\u4e2a\u5c0f\u65f6\uff08\u5927\u578b\u9879\u76ee\u76f8\u5f53\u5e38\u89c1\uff09\uff0c\u800c\u4f60\u53ea\u4fee\u6539\u4e86\u4e00\u4e2a\u5206\u53f7\uff0c\u662f\u4e0d\u662f\u8fd8\u9700\u8981\u518d\u7b49\u534a\u4e2a\u5c0f\u65f6\u5462\uff1f \u8fd9\u65f6\u5019 GNU Make \u5c31\u95ea\u4eae\u767b\u573a\u4e86\uff0c\u5b83\u80fd\u8ba9\u4f60\u5728\u4e00\u4e2a\u811a\u672c\u91cc\uff08\u5373\u6240\u8c13\u7684 Makefile \uff09\u5b9a\u4e49\u6574\u4e2a\u7f16\u8bd1\u6d41\u7a0b\u4ee5\u53ca\u5404\u4e2a\u76ee\u6807\u6587\u4ef6\u4e0e\u6e90\u6587\u4ef6\u4e4b\u95f4\u7684\u4f9d\u8d56\u5173\u7cfb\uff0c\u5e76\u4e14\u53ea\u91cd\u65b0\u7f16\u8bd1\u4f60\u7684\u4fee\u6539\u4f1a\u5f71\u54cd\u5230\u7684\u90e8\u5206\uff0c\u4ece\u800c\u964d\u4f4e\u7f16\u8bd1\u7684\u65f6\u95f4\u3002 \u5982\u4f55\u5b66\u4e60 GNU Make \u8fd9\u91cc\u6709\u4e00\u7bc7\u5199\u5f97\u6df1\u5165\u6d45\u51fa\u7684 \u6587\u6863 \u4f9b\u5927\u5bb6\u53c2\u8003\u3002 GNU Make \u638c\u63e1\u8d77\u6765\u76f8\u5bf9\u5bb9\u6613\uff0c\u4f46\u7528\u597d\u5b83\u9700\u8981\u4e0d\u65ad\u7684\u7ec3\u4e60\u3002\u5c06\u5b83\u878d\u5165\u5230\u81ea\u5df1\u7684\u65e5\u5e38\u5f00\u53d1\u4e2d\uff0c\u52e4\u4e8e\u5b66\u4e60\u548c\u6a21\u4eff\u5176\u4ed6\u4f18\u79c0\u5f00\u6e90\u9879\u76ee\u91cc\u7684 Makefile \u7684\u5199\u6cd5\uff0c\u603b\u7ed3\u51fa\u9002\u5408\u81ea\u5df1\u7684 template\uff0c\u4e45\u800c\u4e45\u4e4b\uff0c\u4f60\u5bf9 GNU Make \u7684\u4f7f\u7528\u4f1a\u6108\u52a0\u7eaf\u719f\u3002","title":"GNU Make"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GNU_Make/#gnu-make","text":"","title":"GNU Make"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GNU_Make/#gnu-make_1","text":"\u5927\u5bb6\u7b2c\u4e00\u6b21\u5199 hello world \u7a0b\u5e8f\u7684\u65f6\u5019\u4e00\u5b9a\u90fd\u8bb0\u5f97\uff0c\u5728\u7f16\u8f91\u5b8c helloworld.c \u4e4b\u540e\uff0c\u9700\u8981\u7528 gcc \u7f16\u8bd1\u751f\u6210\u53ef\u6267\u884c\u6587\u4ef6\uff0c\u7136\u540e\u518d\u6267\u884c\uff08\u5982\u679c\u4f60\u4e0d\u7406\u89e3\u524d\u9762\u8fd9\u6bb5\u8bdd\uff0c\u8bf7\u5148\u81ea\u884c\u8c37\u6b4c gcc \u7f16\u8bd1 \u5e76\u7406\u89e3\u76f8\u5173\u5185\u5bb9\uff09\u3002\u4f46\u5982\u679c\u4f60\u7684\u9879\u76ee\u7531\u6210\u767e\u4e0a\u5343\u4e2a C \u6e90\u6587\u4ef6\u7ec4\u6210\uff0c\u5e76\u4e14\u661f\u7f57\u68cb\u5e03\u5728\u5404\u4e2a\u5b50\u76ee\u5f55\u4e0b\uff0c\u4f60\u8be5\u5982\u4f55\u5c06\u5b83\u4eec\u7f16\u8bd1\u94fe\u63a5\u5230\u4e00\u8d77\u5462\uff1f\u5047\u5982\u4f60\u7684\u9879\u76ee\u7f16\u8bd1\u4e00\u6b21\u9700\u8981\u534a\u4e2a\u5c0f\u65f6\uff08\u5927\u578b\u9879\u76ee\u76f8\u5f53\u5e38\u89c1\uff09\uff0c\u800c\u4f60\u53ea\u4fee\u6539\u4e86\u4e00\u4e2a\u5206\u53f7\uff0c\u662f\u4e0d\u662f\u8fd8\u9700\u8981\u518d\u7b49\u534a\u4e2a\u5c0f\u65f6\u5462\uff1f \u8fd9\u65f6\u5019 GNU Make \u5c31\u95ea\u4eae\u767b\u573a\u4e86\uff0c\u5b83\u80fd\u8ba9\u4f60\u5728\u4e00\u4e2a\u811a\u672c\u91cc\uff08\u5373\u6240\u8c13\u7684 Makefile \uff09\u5b9a\u4e49\u6574\u4e2a\u7f16\u8bd1\u6d41\u7a0b\u4ee5\u53ca\u5404\u4e2a\u76ee\u6807\u6587\u4ef6\u4e0e\u6e90\u6587\u4ef6\u4e4b\u95f4\u7684\u4f9d\u8d56\u5173\u7cfb\uff0c\u5e76\u4e14\u53ea\u91cd\u65b0\u7f16\u8bd1\u4f60\u7684\u4fee\u6539\u4f1a\u5f71\u54cd\u5230\u7684\u90e8\u5206\uff0c\u4ece\u800c\u964d\u4f4e\u7f16\u8bd1\u7684\u65f6\u95f4\u3002","title":"\u4e3a\u4ec0\u4e48\u5b66 GNU Make"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GNU_Make/#gnu-make_2","text":"\u8fd9\u91cc\u6709\u4e00\u7bc7\u5199\u5f97\u6df1\u5165\u6d45\u51fa\u7684 \u6587\u6863 \u4f9b\u5927\u5bb6\u53c2\u8003\u3002 GNU Make \u638c\u63e1\u8d77\u6765\u76f8\u5bf9\u5bb9\u6613\uff0c\u4f46\u7528\u597d\u5b83\u9700\u8981\u4e0d\u65ad\u7684\u7ec3\u4e60\u3002\u5c06\u5b83\u878d\u5165\u5230\u81ea\u5df1\u7684\u65e5\u5e38\u5f00\u53d1\u4e2d\uff0c\u52e4\u4e8e\u5b66\u4e60\u548c\u6a21\u4eff\u5176\u4ed6\u4f18\u79c0\u5f00\u6e90\u9879\u76ee\u91cc\u7684 Makefile \u7684\u5199\u6cd5\uff0c\u603b\u7ed3\u51fa\u9002\u5408\u81ea\u5df1\u7684 template\uff0c\u4e45\u800c\u4e45\u4e4b\uff0c\u4f60\u5bf9 GNU Make \u7684\u4f7f\u7528\u4f1a\u6108\u52a0\u7eaf\u719f\u3002","title":"\u5982\u4f55\u5b66\u4e60 GNU Make"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/","text":"Git \u4e3a\u4ec0\u4e48\u4f7f\u7528 Git Git \u662f\u4e00\u6b3e\u5206\u5e03\u5f0f\u7684\u4ee3\u7801\u7248\u672c\u63a7\u5236\u5de5\u5177\uff0cLinux \u4e4b\u7236 Linus \u5acc\u5f03\u5f53\u65f6\u4e3b\u6d41\u7684\u4e2d\u5fc3\u5f0f\u7684\u7248\u672c\u63a7\u5236\u5de5\u5177\u592a\u96be\u7528\u8fd8\u8981\u82b1\u94b1\uff0c\u5c31\u81ea\u5df1\u5f00\u53d1\u51fa\u4e86 Git \u7528\u6765\u7ef4\u62a4 Linux \u7684\u7248\u672c\uff08\u7ed9\u5927\u4f6c\u8dea\u4e86\uff09\u3002 Git \u7684\u8bbe\u8ba1\u975e\u5e38\u4f18\u96c5\uff0c\u4f46\u521d\u5b66\u8005\u901a\u5e38\u56e0\u4e3a\u5f88\u96be\u7406\u89e3\u5176\u5185\u90e8\u903b\u8f91\u56e0\u6b64\u4f1a\u89c9\u5f97\u975e\u5e38\u96be\u7528\u3002\u5bf9 Git \u4e0d\u719f\u6089\u7684\u521d\u5b66\u8005\u5f88\u5bb9\u6613\u51fa\u73b0\u56e0\u4e3a\u8bef\u7528\u547d\u4ee4\u5c06\u4ee3\u7801\u7ed9\u63a7\u5236\u7248\u672c\u63a7\u5236\u6ca1\u4e86\u7684\u72b6\u51b5\uff08\u597d\u5427\u662f\u6211\uff09\u3002 \u4f46\u76f8\u4fe1\u6211\uff0c\u548c Vim \u4e00\u6837\uff0cGit \u662f\u4e00\u6b3e\u4f60\u6700\u7ec8\u638c\u63e1\u4e4b\u540e\u4f1a\u611f\u53f9\u201c\u5b83\u503c\u5f97\uff01\u201d\u7684\u795e\u5668\u3002 \u5982\u4f55\u5b66\u4e60 Git \u548c Vim \u4e0d\u540c\uff0c\u6211\u4e0d\u5efa\u8bae\u521d\u5b66\u8005\u5728\u4e00\u77e5\u534a\u89e3\u7684\u60c5\u51b5\u4e0b\u8d38\u7136\u4f7f\u7528 Git\uff0c\u56e0\u4e3a\u5b83\u7684\u5185\u90e8\u903b\u8f91\u5e76\u4e0d\u80fd\u719f\u80fd\u751f\u5de7\uff0c\u800c\u662f\u9700\u8981\u82b1\u65f6\u95f4\u53bb\u7406\u89e3\u3002\u6211\u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a \u9605\u8bfb\u8fd9\u7bc7 Git tutorial \uff0c\u89c6\u9891\u7684\u8bdd\u53ef\u4ee5\u770b\u8fd9\u4e2a \u5c1a\u7845\u8c37Git\u6559\u7a0b \u9605\u8bfb\u8fd9\u672c\u5f00\u6e90\u4e66\u7c4d Pro Git \u7684 Chapter1 - Chapter5\uff0c\u662f\u7684\u6ca1\u9519\uff0c\u5b66 Git \u9700\u8981\u8bfb\u4e00\u672c\u4e66\uff08\u6342\u8138\uff09\u3002 \u6b64\u65f6\u4f60\u5df2\u7ecf\u638c\u63e1\u4e86 Git \u7684\u539f\u7406\u548c\u7edd\u5927\u90e8\u5206\u7528\u6cd5\uff0c\u63a5\u4e0b\u6765\u5c31\u53ef\u4ee5\u5728\u5b9e\u8df5\u4e2d\u53cd\u590d\u5de9\u56fa Git \u7684\u547d\u4ee4\u4e86\u3002\u4f46\u7528\u597d\u5b83\u540c\u6837\u662f\u4e00\u95e8\u54f2\u5b66\uff0c\u6211\u4e2a\u4eba\u89c9\u5f97\u8fd9\u7bc7 \u5982\u4f55\u5199\u597d Commit Message \u7684\u535a\u5ba2\u975e\u5e38\u503c\u5f97\u4e00\u8bfb\u3002 \u597d\u7684\u6b64\u65f6\u4f60\u5df2\u7ecf\u7231\u4e0a\u4e86 Git\uff0c\u4f60\u5df2\u7ecf\u4e0d\u6ee1\u8db3\u4e8e\u5b66\u4f1a\u5b83\u4e86\uff0c\u4f60\u60f3\u81ea\u5df1\u5b9e\u73b0\u4e00\u4e2a Git\uff01\u5de7\u4e86\uff0c\u6211\u5f53\u5e74\u4e5f\u6709\u8fd9\u6837\u7684\u60f3\u6cd5\uff0c \u8fd9\u7bc7 tutorial \u53ef\u4ee5\u6ee1\u8db3\u4f60\uff01 \u4ec0\u4e48\uff1f\u5149\u5b9e\u73b0\u4e00\u4e2a Git \u65e0\u6cd5\u6ee1\u8db3\u4f60\uff1f\u5c0f\u4f19\u5b50/\u5c0f\u4ed9\u5973\u6709\u524d\u9014\uff0c\u5de7\u7684\u662f\u6211\u4e5f\u559c\u6b22\u9020\u8f6e\u5b50\uff0c\u8fd9\u4e24\u4e2a GitHub \u9879\u76ee build-your-own-x \u548c project-based-learning \u6536\u5f55\u4e86\u4f60\u80fd\u60f3\u5230\u7684\u5404\u79cd\u9020\u8f6e\u5b50\u6559\u7a0b\uff0c\u6bd4\u5982\uff1a\u81ea\u5df1\u9020\u4e2a\u7f16\u8f91\u5668\u3001\u81ea\u5df1\u5199\u4e2a\u865a\u62df\u673a\u3001\u81ea\u5df1\u5199\u4e2a docker\u3001\u81ea\u5df1\u5199\u4e2a TCP \u7b49\u7b49\u7b49\u7b49\u3002","title":"Git"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/#git","text":"","title":"Git"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/#git_1","text":"Git \u662f\u4e00\u6b3e\u5206\u5e03\u5f0f\u7684\u4ee3\u7801\u7248\u672c\u63a7\u5236\u5de5\u5177\uff0cLinux \u4e4b\u7236 Linus \u5acc\u5f03\u5f53\u65f6\u4e3b\u6d41\u7684\u4e2d\u5fc3\u5f0f\u7684\u7248\u672c\u63a7\u5236\u5de5\u5177\u592a\u96be\u7528\u8fd8\u8981\u82b1\u94b1\uff0c\u5c31\u81ea\u5df1\u5f00\u53d1\u51fa\u4e86 Git \u7528\u6765\u7ef4\u62a4 Linux \u7684\u7248\u672c\uff08\u7ed9\u5927\u4f6c\u8dea\u4e86\uff09\u3002 Git \u7684\u8bbe\u8ba1\u975e\u5e38\u4f18\u96c5\uff0c\u4f46\u521d\u5b66\u8005\u901a\u5e38\u56e0\u4e3a\u5f88\u96be\u7406\u89e3\u5176\u5185\u90e8\u903b\u8f91\u56e0\u6b64\u4f1a\u89c9\u5f97\u975e\u5e38\u96be\u7528\u3002\u5bf9 Git \u4e0d\u719f\u6089\u7684\u521d\u5b66\u8005\u5f88\u5bb9\u6613\u51fa\u73b0\u56e0\u4e3a\u8bef\u7528\u547d\u4ee4\u5c06\u4ee3\u7801\u7ed9\u63a7\u5236\u7248\u672c\u63a7\u5236\u6ca1\u4e86\u7684\u72b6\u51b5\uff08\u597d\u5427\u662f\u6211\uff09\u3002 \u4f46\u76f8\u4fe1\u6211\uff0c\u548c Vim \u4e00\u6837\uff0cGit \u662f\u4e00\u6b3e\u4f60\u6700\u7ec8\u638c\u63e1\u4e4b\u540e\u4f1a\u611f\u53f9\u201c\u5b83\u503c\u5f97\uff01\u201d\u7684\u795e\u5668\u3002","title":"\u4e3a\u4ec0\u4e48\u4f7f\u7528 Git"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/#git_2","text":"\u548c Vim \u4e0d\u540c\uff0c\u6211\u4e0d\u5efa\u8bae\u521d\u5b66\u8005\u5728\u4e00\u77e5\u534a\u89e3\u7684\u60c5\u51b5\u4e0b\u8d38\u7136\u4f7f\u7528 Git\uff0c\u56e0\u4e3a\u5b83\u7684\u5185\u90e8\u903b\u8f91\u5e76\u4e0d\u80fd\u719f\u80fd\u751f\u5de7\uff0c\u800c\u662f\u9700\u8981\u82b1\u65f6\u95f4\u53bb\u7406\u89e3\u3002\u6211\u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a \u9605\u8bfb\u8fd9\u7bc7 Git tutorial \uff0c\u89c6\u9891\u7684\u8bdd\u53ef\u4ee5\u770b\u8fd9\u4e2a \u5c1a\u7845\u8c37Git\u6559\u7a0b \u9605\u8bfb\u8fd9\u672c\u5f00\u6e90\u4e66\u7c4d Pro Git \u7684 Chapter1 - Chapter5\uff0c\u662f\u7684\u6ca1\u9519\uff0c\u5b66 Git \u9700\u8981\u8bfb\u4e00\u672c\u4e66\uff08\u6342\u8138\uff09\u3002 \u6b64\u65f6\u4f60\u5df2\u7ecf\u638c\u63e1\u4e86 Git \u7684\u539f\u7406\u548c\u7edd\u5927\u90e8\u5206\u7528\u6cd5\uff0c\u63a5\u4e0b\u6765\u5c31\u53ef\u4ee5\u5728\u5b9e\u8df5\u4e2d\u53cd\u590d\u5de9\u56fa Git \u7684\u547d\u4ee4\u4e86\u3002\u4f46\u7528\u597d\u5b83\u540c\u6837\u662f\u4e00\u95e8\u54f2\u5b66\uff0c\u6211\u4e2a\u4eba\u89c9\u5f97\u8fd9\u7bc7 \u5982\u4f55\u5199\u597d Commit Message \u7684\u535a\u5ba2\u975e\u5e38\u503c\u5f97\u4e00\u8bfb\u3002 \u597d\u7684\u6b64\u65f6\u4f60\u5df2\u7ecf\u7231\u4e0a\u4e86 Git\uff0c\u4f60\u5df2\u7ecf\u4e0d\u6ee1\u8db3\u4e8e\u5b66\u4f1a\u5b83\u4e86\uff0c\u4f60\u60f3\u81ea\u5df1\u5b9e\u73b0\u4e00\u4e2a Git\uff01\u5de7\u4e86\uff0c\u6211\u5f53\u5e74\u4e5f\u6709\u8fd9\u6837\u7684\u60f3\u6cd5\uff0c \u8fd9\u7bc7 tutorial \u53ef\u4ee5\u6ee1\u8db3\u4f60\uff01 \u4ec0\u4e48\uff1f\u5149\u5b9e\u73b0\u4e00\u4e2a Git \u65e0\u6cd5\u6ee1\u8db3\u4f60\uff1f\u5c0f\u4f19\u5b50/\u5c0f\u4ed9\u5973\u6709\u524d\u9014\uff0c\u5de7\u7684\u662f\u6211\u4e5f\u559c\u6b22\u9020\u8f6e\u5b50\uff0c\u8fd9\u4e24\u4e2a GitHub \u9879\u76ee build-your-own-x \u548c project-based-learning \u6536\u5f55\u4e86\u4f60\u80fd\u60f3\u5230\u7684\u5404\u79cd\u9020\u8f6e\u5b50\u6559\u7a0b\uff0c\u6bd4\u5982\uff1a\u81ea\u5df1\u9020\u4e2a\u7f16\u8f91\u5668\u3001\u81ea\u5df1\u5199\u4e2a\u865a\u62df\u673a\u3001\u81ea\u5df1\u5199\u4e2a docker\u3001\u81ea\u5df1\u5199\u4e2a TCP \u7b49\u7b49\u7b49\u7b49\u3002","title":"\u5982\u4f55\u5b66\u4e60 Git"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GitHub/","text":"GitHub GitHub \u662f\u4ec0\u4e48 \u4ece\u529f\u80fd\u4e0a\u6765\u8bf4\uff0cGitHub \u662f\u4e00\u4e2a\u5728\u7ebf\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u4f60\u53ef\u4ee5\u5c06\u4f60\u7684\u672c\u5730 Git \u4ed3\u5e93\u6258\u7ba1\u5230 GitHub \u4e0a\uff0c\u4f9b\u591a\u4eba\u540c\u65f6\u5f00\u53d1\u6d4f\u89c8\u3002\u4f46\u73b0\u5982\u4eca GitHub \u7684\u610f\u4e49\u5df2\u8fdc\u4e0d\u6b62\u5982\u6b64\uff0c\u5b83\u5df2\u7ecf\u6f14\u53d8\u4e3a\u4e00\u4e2a\u975e\u5e38\u6d3b\u8dc3\u4e14\u8d44\u6e90\u6781\u4e3a\u4e30\u5bcc\u7684\u5f00\u6e90\u4ea4\u6d41\u793e\u533a\u3002\u5168\u4e16\u754c\u7684\u8f6f\u4ef6\u5f00\u53d1\u8005\u5728 GitHub \u4e0a\u5206\u4eab\u5404\u5f0f\u5404\u6837\u79cd\u7c7b\u7e41\u591a\u7684\u5f00\u6e90\u8f6f\u4ef6\u3002\u5927\u5230\u5de5\u4e1a\u7ea7\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6 PyTorch, TensorFlow\uff0c\u5c0f\u5230\u51e0\u5341\u884c\u7684\u5b9e\u7528\u811a\u672c\uff0c\u65e2\u6709\u786c\u6838\u7684\u77e5\u8bc6\u5206\u4eab\uff0c\u4e5f\u6709\u4fdd\u59c6\u7ea7\u7684\u6559\u7a0b\u6307\u5bfc\uff0c\u751a\u81f3\u5f88\u591a\u6280\u672f\u4e66\u7c4d\u4e5f\u5728 GitHub\u4e0a\u5f00\u6e90\uff08\u4f8b\u5982\u8bf8\u4f4d\u6b63\u5728\u770b\u7684\u8fd9\u672c\u2014\u2014\u5982\u679c\u6211\u539a\u7740\u8138\u76ae\u52c9\u5f3a\u79f0\u4e4b\u4e3a\u4e66\u7684\u8bdd\uff09\u3002\u95f2\u6765\u65e0\u4e8b\u901b\u901b GitHub \u5df2\u7ecf\u6210\u4e3a\u4e86\u6211\u65e5\u5e38\u751f\u6d3b\u7684\u4e00\u90e8\u5206\u3002 \u5728 GitHub \u91cc\uff0c\u661f\u661f\u662f\u5bf9\u4e00\u4e2a\u9879\u76ee\u81f3\u9ad8\u65e0\u4e0a\u7684\u80af\u5b9a\uff0c\u5982\u679c\u4f60\u89c9\u5f97\u8fd9\u672c\u4e66\u5bf9\u4f60\u6709\u7528\u7684\u8bdd\uff0c\u6b22\u8fce\u901a\u8fc7\u53f3\u4e0a\u89d2\u7684\u94fe\u63a5\u8fdb\u5165\u4ed3\u5e93\u4e3b\u9875\u732e\u51fa\u4f60\u5b9d\u8d35\u7684\u661f\u661f\u2728\u3002 \u5982\u4f55\u4f7f\u7528 GitHub \u5982\u679c\u4f60\u8fd8\u4ece\u672a\u5728 GitHub \u4e0a\u5efa\u7acb\u8fc7\u81ea\u5df1\u7684\u8fdc\u7a0b\u4ed3\u5e93\uff0c\u4e5f\u6ca1\u6709\u514b\u9686\u8fc7\u522b\u4eba\u7684\u4ee3\u7801\uff0c\u90a3\u4e48\u6211\u5efa\u8bae\u4f60\u4ece GitHub\u7684\u5b98\u65b9\u6559\u7a0b \u5f00\u59cb\u81ea\u5df1\u7684\u5f00\u6e90\u4e4b\u65c5\u3002 \u5982\u679c\u4f60\u60f3\u65f6\u523b\u5173\u6ce8 GitHub \u4e0a\u4e00\u4e9b\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u90a3\u4e48\u6211\u5411\u4f60\u91cd\u78c5\u63a8\u8350 HelloGitHub \u8fd9\u4e2a\u7f51\u7ad9\u4ee5\u53ca\u5b83\u7684\u540c\u540d\u5fae\u4fe1\u516c\u4f17\u53f7\u3002\u5b83\u4f1a\u5b9a\u671f\u6536\u5f55 GitHub \u4e0a\u8fd1\u671f\u5f00\u59cb\u6d41\u884c\u7684\u6216\u8005\u975e\u5e38\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u8ba9\u4f60\u6709\u673a\u4f1a\u7b2c\u4e00\u65f6\u95f4\u63a5\u89e6\u5404\u7c7b\u4f18\u8d28\u8d44\u6e90\u3002 GitHub \u4e4b\u6240\u4ee5\u6210\u529f\uff0c\u6211\u60f3\u662f\u5f97\u76ca\u4e8e\u201c\u6211\u4e3a\u4eba\u4eba\uff0c\u4eba\u4eba\u4e3a\u6211\u201d\u7684\u5f00\u6e90\u7cbe\u795e\uff0c\u5f97\u76ca\u4e8e\u77e5\u8bc6\u5206\u4eab\u7684\u5feb\u4e50\u3002\u5982\u679c\u4f60\u4e5f\u60f3\u6210\u4e3a\u4e0b\u4e00\u4e2a\u4e07\u4eba\u656c\u4ef0\u7684\u5f00\u6e90\u5927\u4f6c\uff0c\u6216\u8005\u4e0b\u4e00\u4e2a star \u7834\u4e07\u7684\u9879\u76ee\u4f5c\u8005\u3002\u90a3\u5c31\u628a\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7075\u611f\u4e00\u73b0\u7684 idea \u5316\u4f5c\u4ee3\u7801\uff0c\u5c55\u793a\u5728 GitHub \u4e0a\u5427\uff5e \u4e0d\u8fc7\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u5f00\u6e90\u793e\u533a\u4e0d\u662f\u6cd5\u5916\u4e4b\u5730\uff0c\u5f88\u591a\u5f00\u6e90\u8f6f\u4ef6\u5e76\u4e0d\u662f\u53ef\u4ee5\u968f\u610f\u590d\u5236\u5206\u53d1\u751a\u81f3\u8d29\u5356\u7684\uff0c\u4e86\u89e3\u5404\u7c7b \u5f00\u6e90\u534f\u8bae \u5e76\u9075\u5b88\uff0c\u4e0d\u4ec5\u662f\u6cd5\u5f8b\u7684\u8981\u6c42\uff0c\u66f4\u662f\u6bcf\u4e2a\u5f00\u6e90\u793e\u533a\u6210\u5458\u7684\u8d23\u4efb\u3002","title":"GitHub"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GitHub/#github","text":"","title":"GitHub"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GitHub/#github_1","text":"\u4ece\u529f\u80fd\u4e0a\u6765\u8bf4\uff0cGitHub \u662f\u4e00\u4e2a\u5728\u7ebf\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u4f60\u53ef\u4ee5\u5c06\u4f60\u7684\u672c\u5730 Git \u4ed3\u5e93\u6258\u7ba1\u5230 GitHub \u4e0a\uff0c\u4f9b\u591a\u4eba\u540c\u65f6\u5f00\u53d1\u6d4f\u89c8\u3002\u4f46\u73b0\u5982\u4eca GitHub \u7684\u610f\u4e49\u5df2\u8fdc\u4e0d\u6b62\u5982\u6b64\uff0c\u5b83\u5df2\u7ecf\u6f14\u53d8\u4e3a\u4e00\u4e2a\u975e\u5e38\u6d3b\u8dc3\u4e14\u8d44\u6e90\u6781\u4e3a\u4e30\u5bcc\u7684\u5f00\u6e90\u4ea4\u6d41\u793e\u533a\u3002\u5168\u4e16\u754c\u7684\u8f6f\u4ef6\u5f00\u53d1\u8005\u5728 GitHub \u4e0a\u5206\u4eab\u5404\u5f0f\u5404\u6837\u79cd\u7c7b\u7e41\u591a\u7684\u5f00\u6e90\u8f6f\u4ef6\u3002\u5927\u5230\u5de5\u4e1a\u7ea7\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6 PyTorch, TensorFlow\uff0c\u5c0f\u5230\u51e0\u5341\u884c\u7684\u5b9e\u7528\u811a\u672c\uff0c\u65e2\u6709\u786c\u6838\u7684\u77e5\u8bc6\u5206\u4eab\uff0c\u4e5f\u6709\u4fdd\u59c6\u7ea7\u7684\u6559\u7a0b\u6307\u5bfc\uff0c\u751a\u81f3\u5f88\u591a\u6280\u672f\u4e66\u7c4d\u4e5f\u5728 GitHub\u4e0a\u5f00\u6e90\uff08\u4f8b\u5982\u8bf8\u4f4d\u6b63\u5728\u770b\u7684\u8fd9\u672c\u2014\u2014\u5982\u679c\u6211\u539a\u7740\u8138\u76ae\u52c9\u5f3a\u79f0\u4e4b\u4e3a\u4e66\u7684\u8bdd\uff09\u3002\u95f2\u6765\u65e0\u4e8b\u901b\u901b GitHub \u5df2\u7ecf\u6210\u4e3a\u4e86\u6211\u65e5\u5e38\u751f\u6d3b\u7684\u4e00\u90e8\u5206\u3002 \u5728 GitHub \u91cc\uff0c\u661f\u661f\u662f\u5bf9\u4e00\u4e2a\u9879\u76ee\u81f3\u9ad8\u65e0\u4e0a\u7684\u80af\u5b9a\uff0c\u5982\u679c\u4f60\u89c9\u5f97\u8fd9\u672c\u4e66\u5bf9\u4f60\u6709\u7528\u7684\u8bdd\uff0c\u6b22\u8fce\u901a\u8fc7\u53f3\u4e0a\u89d2\u7684\u94fe\u63a5\u8fdb\u5165\u4ed3\u5e93\u4e3b\u9875\u732e\u51fa\u4f60\u5b9d\u8d35\u7684\u661f\u661f\u2728\u3002","title":"GitHub \u662f\u4ec0\u4e48"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GitHub/#github_2","text":"\u5982\u679c\u4f60\u8fd8\u4ece\u672a\u5728 GitHub \u4e0a\u5efa\u7acb\u8fc7\u81ea\u5df1\u7684\u8fdc\u7a0b\u4ed3\u5e93\uff0c\u4e5f\u6ca1\u6709\u514b\u9686\u8fc7\u522b\u4eba\u7684\u4ee3\u7801\uff0c\u90a3\u4e48\u6211\u5efa\u8bae\u4f60\u4ece GitHub\u7684\u5b98\u65b9\u6559\u7a0b \u5f00\u59cb\u81ea\u5df1\u7684\u5f00\u6e90\u4e4b\u65c5\u3002 \u5982\u679c\u4f60\u60f3\u65f6\u523b\u5173\u6ce8 GitHub \u4e0a\u4e00\u4e9b\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u90a3\u4e48\u6211\u5411\u4f60\u91cd\u78c5\u63a8\u8350 HelloGitHub \u8fd9\u4e2a\u7f51\u7ad9\u4ee5\u53ca\u5b83\u7684\u540c\u540d\u5fae\u4fe1\u516c\u4f17\u53f7\u3002\u5b83\u4f1a\u5b9a\u671f\u6536\u5f55 GitHub \u4e0a\u8fd1\u671f\u5f00\u59cb\u6d41\u884c\u7684\u6216\u8005\u975e\u5e38\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u8ba9\u4f60\u6709\u673a\u4f1a\u7b2c\u4e00\u65f6\u95f4\u63a5\u89e6\u5404\u7c7b\u4f18\u8d28\u8d44\u6e90\u3002 GitHub \u4e4b\u6240\u4ee5\u6210\u529f\uff0c\u6211\u60f3\u662f\u5f97\u76ca\u4e8e\u201c\u6211\u4e3a\u4eba\u4eba\uff0c\u4eba\u4eba\u4e3a\u6211\u201d\u7684\u5f00\u6e90\u7cbe\u795e\uff0c\u5f97\u76ca\u4e8e\u77e5\u8bc6\u5206\u4eab\u7684\u5feb\u4e50\u3002\u5982\u679c\u4f60\u4e5f\u60f3\u6210\u4e3a\u4e0b\u4e00\u4e2a\u4e07\u4eba\u656c\u4ef0\u7684\u5f00\u6e90\u5927\u4f6c\uff0c\u6216\u8005\u4e0b\u4e00\u4e2a star \u7834\u4e07\u7684\u9879\u76ee\u4f5c\u8005\u3002\u90a3\u5c31\u628a\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7075\u611f\u4e00\u73b0\u7684 idea \u5316\u4f5c\u4ee3\u7801\uff0c\u5c55\u793a\u5728 GitHub \u4e0a\u5427\uff5e \u4e0d\u8fc7\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u5f00\u6e90\u793e\u533a\u4e0d\u662f\u6cd5\u5916\u4e4b\u5730\uff0c\u5f88\u591a\u5f00\u6e90\u8f6f\u4ef6\u5e76\u4e0d\u662f\u53ef\u4ee5\u968f\u610f\u590d\u5236\u5206\u53d1\u751a\u81f3\u8d29\u5356\u7684\uff0c\u4e86\u89e3\u5404\u7c7b \u5f00\u6e90\u534f\u8bae \u5e76\u9075\u5b88\uff0c\u4e0d\u4ec5\u662f\u6cd5\u5f8b\u7684\u8981\u6c42\uff0c\u66f4\u662f\u6bcf\u4e2a\u5f00\u6e90\u793e\u533a\u6210\u5458\u7684\u8d23\u4efb\u3002","title":"\u5982\u4f55\u4f7f\u7528 GitHub"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/LaTeX/","text":"LaTeX \u4e3a\u4ec0\u4e48\u5b66 LaTeX \u5982\u679c\u4f60\u9700\u8981\u5199\u8bba\u6587\uff0c\u90a3\u4e48\u8bf7\u76f4\u63a5\u8df3\u5230\u4e0b\u4e00\u8282\uff0c\u56e0\u4e3a\u4f60\u4e0d\u5b66\u4e5f\u5f97\u5b66\u3002 LaTeX \u662f\u4e00\u79cd\u57fa\u4e8e TeX \u7684\u6392\u7248\u7cfb\u7edf\uff0c\u7531\u56fe\u7075\u5956\u5f97\u4e3b Lamport \u5f00\u53d1\uff0c\u800c Tex \u5219\u662f\u7531 Knuth \u6700\u521d\u5f00\u53d1\uff0c\u8fd9\u4e24\u4f4d\u90fd\u662f\u8ba1\u7b97\u673a\u754c\u7684\u5de8\u64d8\u3002\u5f53\u7136\u5f00\u53d1\u8005\u5f3a\u5e76\u4e0d\u662f\u6211\u4eec\u5b66\u4e60 LaTeX \u7684\u7406\u7531\uff0cLaTeX \u548c\u5e38\u89c1\u7684\u6240\u89c1\u5373\u6240\u5f97\u7684 Word \u6587\u6863\u6700\u5927\u7684\u533a\u522b\u5c31\u662f\u7528\u6237\u53ea\u9700\u8981\u5173\u6ce8\u5199\u4f5c\u7684\u5185\u5bb9\uff0c\u800c\u6392\u7248\u5219\u5b8c\u5168\u4ea4\u7ed9\u8f6f\u4ef6\u81ea\u52a8\u5b8c\u6210\u3002\u8fd9\u8ba9\u6ca1\u6709\u4efb\u4f55\u6392\u7248\u7ecf\u9a8c\u7684\u666e\u901a\u4eba\u5f97\u4ee5\u5199\u51fa\u6392\u7248\u975e\u5e38\u4e13\u4e1a\u7684\u8bba\u6587\u6216\u6587\u7ae0\u3002 Berkeley \u8ba1\u7b97\u673a\u7cfb\u6559\u6388 Christos Papadimitriou \u66fe\u8bf4\u8fc7\u4e00\u53e5\u534a\u5f00\u73a9\u7b11\u7684\u8bdd\uff1a Every time I read a LaTeX document, I think, wow, this must be correct! \u5982\u4f55\u5b66\u4e60 LaTeX \u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a LaTeX \u7684\u73af\u5883\u914d\u7f6e\u662f\u4e2a\u6bd4\u8f83\u5934\u75bc\u7684\u95ee\u9898\u3002\u5982\u679c\u4f60\u672c\u5730\u914d\u7f6e LaTeX \u73af\u5883\u51fa\u73b0\u4e86\u95ee\u9898\uff0c\u53ef\u4ee5\u8003\u8651\u4f7f\u7528 Overleaf \u8fd9\u4e2a\u5728\u7ebf LaTeX \u7f16\u8f91\u7f51\u7ad9\u3002\u7ad9\u5185\u4e0d\u4ec5\u6709\u5404\u79cd\u5404\u6837\u7684 LaTeX \u6a21\u7248\u4f9b\u4f60\u9009\u62e9\uff0c\u8fd8\u514d\u53bb\u4e86\u73af\u5883\u914d\u7f6e\u7684\u96be\u9898\u3002 \u9605\u8bfb\u4e0b\u9762\u4e09\u7bc7 Tutorial: Part-1 , Part-2 , Part-3 \u3002 \u5b66\u4e60 LaTeX \u6700\u597d\u7684\u65b9\u5f0f\u5f53\u7136\u662f\u5199\u8bba\u6587\uff0c\u4e0d\u8fc7\u4ece\u4e00\u95e8\u6570\u5b66\u8bfe\u5165\u624b\u7528 LaTeX \u5199\u4f5c\u4e1a\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u9009\u62e9\u3002 \u5176\u4ed6\u503c\u5f97\u63a8\u8350\u7684\u5165\u95e8\u5b66\u4e60\u8d44\u6599\u5982\u4e0b\uff1a \u4e00\u4efd\u7b80\u77ed\u7684\u5b89\u88c5 LaTeX \u7684\u4ecb\u7ecd [ GitHub ] \u6216\u8005 TEX Live \u6307\u5357\uff08texlive-zh-cn\uff09[ PDF ] \u53ef\u4ee5\u5e2e\u52a9\u4f60\u5b8c\u6210\u5b89\u88c5\u548c\u73af\u5883\u914d\u7f6e\u8fc7\u7a0b \u4e00\u4efd\uff08\u4e0d\u592a\uff09\u7b80\u77ed\u7684 LaTeX2\u03b5 \u4ecb\u7ecd\uff08lshort-zh-cn\uff09[ PDF ] [ GitHub ] \u662f\u7531 CTEX \u5f00\u53d1\u5c0f\u7ec4\u7ffb\u8bd1\u7684\uff0c\u53ef\u4ee5\u5e2e\u52a9\u4f60\u5feb\u901f\u51c6\u786e\u5730\u5165\u95e8\uff0c\u5efa\u8bae\u901a\u8bfb\u4e00\u904d \u5218\u6d77\u6d0b\u7684\u300aLaTeX \u5165\u95e8\u300b\uff0c\u53ef\u4ee5\u5f53\u4f5c\u5de5\u5177\u4e66\u6765\u9605\u8bfb\uff0c\u6709\u95ee\u9898\u518d\u67e5\u627e\uff0c\u8df3\u8fc7 CTEX \u5957\u88c5\u90e8\u5206 \u73b0\u4ee3 LaTeX \u5165\u95e8\u8bb2\u5ea7 \u4e00\u4efd\u5176\u5b9e\u5f88\u77ed\u7684 LaTeX \u5165\u95e8\u6587\u6863","title":"LaTeX"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/LaTeX/#latex","text":"","title":"LaTeX"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/LaTeX/#latex_1","text":"\u5982\u679c\u4f60\u9700\u8981\u5199\u8bba\u6587\uff0c\u90a3\u4e48\u8bf7\u76f4\u63a5\u8df3\u5230\u4e0b\u4e00\u8282\uff0c\u56e0\u4e3a\u4f60\u4e0d\u5b66\u4e5f\u5f97\u5b66\u3002 LaTeX \u662f\u4e00\u79cd\u57fa\u4e8e TeX \u7684\u6392\u7248\u7cfb\u7edf\uff0c\u7531\u56fe\u7075\u5956\u5f97\u4e3b Lamport \u5f00\u53d1\uff0c\u800c Tex \u5219\u662f\u7531 Knuth \u6700\u521d\u5f00\u53d1\uff0c\u8fd9\u4e24\u4f4d\u90fd\u662f\u8ba1\u7b97\u673a\u754c\u7684\u5de8\u64d8\u3002\u5f53\u7136\u5f00\u53d1\u8005\u5f3a\u5e76\u4e0d\u662f\u6211\u4eec\u5b66\u4e60 LaTeX \u7684\u7406\u7531\uff0cLaTeX \u548c\u5e38\u89c1\u7684\u6240\u89c1\u5373\u6240\u5f97\u7684 Word \u6587\u6863\u6700\u5927\u7684\u533a\u522b\u5c31\u662f\u7528\u6237\u53ea\u9700\u8981\u5173\u6ce8\u5199\u4f5c\u7684\u5185\u5bb9\uff0c\u800c\u6392\u7248\u5219\u5b8c\u5168\u4ea4\u7ed9\u8f6f\u4ef6\u81ea\u52a8\u5b8c\u6210\u3002\u8fd9\u8ba9\u6ca1\u6709\u4efb\u4f55\u6392\u7248\u7ecf\u9a8c\u7684\u666e\u901a\u4eba\u5f97\u4ee5\u5199\u51fa\u6392\u7248\u975e\u5e38\u4e13\u4e1a\u7684\u8bba\u6587\u6216\u6587\u7ae0\u3002 Berkeley \u8ba1\u7b97\u673a\u7cfb\u6559\u6388 Christos Papadimitriou \u66fe\u8bf4\u8fc7\u4e00\u53e5\u534a\u5f00\u73a9\u7b11\u7684\u8bdd\uff1a Every time I read a LaTeX document, I think, wow, this must be correct!","title":"\u4e3a\u4ec0\u4e48\u5b66 LaTeX"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/LaTeX/#latex_2","text":"\u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a LaTeX \u7684\u73af\u5883\u914d\u7f6e\u662f\u4e2a\u6bd4\u8f83\u5934\u75bc\u7684\u95ee\u9898\u3002\u5982\u679c\u4f60\u672c\u5730\u914d\u7f6e LaTeX \u73af\u5883\u51fa\u73b0\u4e86\u95ee\u9898\uff0c\u53ef\u4ee5\u8003\u8651\u4f7f\u7528 Overleaf \u8fd9\u4e2a\u5728\u7ebf LaTeX \u7f16\u8f91\u7f51\u7ad9\u3002\u7ad9\u5185\u4e0d\u4ec5\u6709\u5404\u79cd\u5404\u6837\u7684 LaTeX \u6a21\u7248\u4f9b\u4f60\u9009\u62e9\uff0c\u8fd8\u514d\u53bb\u4e86\u73af\u5883\u914d\u7f6e\u7684\u96be\u9898\u3002 \u9605\u8bfb\u4e0b\u9762\u4e09\u7bc7 Tutorial: Part-1 , Part-2 , Part-3 \u3002 \u5b66\u4e60 LaTeX \u6700\u597d\u7684\u65b9\u5f0f\u5f53\u7136\u662f\u5199\u8bba\u6587\uff0c\u4e0d\u8fc7\u4ece\u4e00\u95e8\u6570\u5b66\u8bfe\u5165\u624b\u7528 LaTeX \u5199\u4f5c\u4e1a\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u9009\u62e9\u3002 \u5176\u4ed6\u503c\u5f97\u63a8\u8350\u7684\u5165\u95e8\u5b66\u4e60\u8d44\u6599\u5982\u4e0b\uff1a \u4e00\u4efd\u7b80\u77ed\u7684\u5b89\u88c5 LaTeX \u7684\u4ecb\u7ecd [ GitHub ] \u6216\u8005 TEX Live \u6307\u5357\uff08texlive-zh-cn\uff09[ PDF ] \u53ef\u4ee5\u5e2e\u52a9\u4f60\u5b8c\u6210\u5b89\u88c5\u548c\u73af\u5883\u914d\u7f6e\u8fc7\u7a0b \u4e00\u4efd\uff08\u4e0d\u592a\uff09\u7b80\u77ed\u7684 LaTeX2\u03b5 \u4ecb\u7ecd\uff08lshort-zh-cn\uff09[ PDF ] [ GitHub ] \u662f\u7531 CTEX \u5f00\u53d1\u5c0f\u7ec4\u7ffb\u8bd1\u7684\uff0c\u53ef\u4ee5\u5e2e\u52a9\u4f60\u5feb\u901f\u51c6\u786e\u5730\u5165\u95e8\uff0c\u5efa\u8bae\u901a\u8bfb\u4e00\u904d \u5218\u6d77\u6d0b\u7684\u300aLaTeX \u5165\u95e8\u300b\uff0c\u53ef\u4ee5\u5f53\u4f5c\u5de5\u5177\u4e66\u6765\u9605\u8bfb\uff0c\u6709\u95ee\u9898\u518d\u67e5\u627e\uff0c\u8df3\u8fc7 CTEX \u5957\u88c5\u90e8\u5206 \u73b0\u4ee3 LaTeX \u5165\u95e8\u8bb2\u5ea7 \u4e00\u4efd\u5176\u5b9e\u5f88\u77ed\u7684 LaTeX \u5165\u95e8\u6587\u6863","title":"\u5982\u4f55\u5b66\u4e60 LaTeX"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/","text":"Scoop \u4e3a\u4ec0\u4e48\u4f7f\u7528 Scoop \u5728 Windows \u4e0b\uff0c\u642d\u5efa\u5f00\u53d1\u73af\u5883\u4e00\u76f4\u662f\u4e00\u4e2a\u590d\u6742\u4e14\u56f0\u96be\u7684\u95ee\u9898\u3002\u7531\u4e8e\u6ca1\u6709\u4e00\u4e2a\u7edf\u4e00\u7684\u6807\u51c6\uff0c\u5bfc\u81f4\u5404\u79cd\u5f00\u53d1\u73af\u5883\u7684\u5b89\u88c5\u65b9\u5f0f\u5dee\u5f02\u5de8\u5927\uff0c\u9700\u8981\u4ed8\u51fa\u5f88\u591a\u4e0d\u5fc5\u8981\u7684\u65f6\u95f4\u6210\u672c\u3002\u800c Scoop \u53ef\u4ee5\u5e2e\u52a9\u4f60\u7edf\u4e00\u5b89\u88c5\u5e76\u7ba1\u7406\u5e38\u89c1\u7684\u5f00\u53d1\u8f6f\u4ef6\uff0c\u7701\u53bb\u4e86\u624b\u52a8\u4e0b\u8f7d\u5b89\u88c5\uff0c\u914d\u7f6e\u73af\u5883\u53d8\u91cf\u7b49\u7e41\u7410\u6b65\u9aa4\u3002 \u4f8b\u5982\u5b89\u88c5 python \u548c nodejs \u53ea\u9700\u8981\u6267\u884c\uff1a scoop install python scoop install nodejs \u5b89\u88c5 Scoop Scoop \u9700\u8981 Windows PowerShell 5.1 \u6216\u8005 PowerShell \u4f5c\u4e3a\u8fd0\u884c\u73af\u5883\uff0c\u5982\u679c\u4f60\u4f7f\u7528\u7684\u662f Windows 10 \u53ca\u4ee5\u4e0a\u7248\u672c\uff0cWindows PowerShell \u662f\u5185\u7f6e\u5728\u7cfb\u7edf\u4e2d\u7684\u3002\u800c Windows 7 \u5185\u7f6e\u7684 Windows PowerShell \u7248\u672c\u8fc7\u4e8e\u9648\u65e7\uff0c\u4f60\u9700\u8981\u624b\u52a8\u5b89\u88c5\u65b0\u7248\u672c\u7684 PowerShell\u3002 \u7531\u4e8e\u53d1\u73b0\u5f88\u591a\u540c\u5b66\u5728\u8bbe\u7f6e Windows \u7528\u6237\u65f6\u4f7f\u7528\u4e86\u4e2d\u6587\u7528\u6237\u540d\uff0c\u5bfc\u81f4\u4e86\u7528\u6237\u76ee\u5f55\u4e5f\u53d8\u6210\u4e86\u4e2d\u6587\u540d\u3002\u5982\u679c\u6309\u7167 Scoop \u7684\u9ed8\u8ba4\u65b9\u5f0f\u5c06\u8f6f\u4ef6\u5b89\u88c5\u5230\u7528\u6237\u76ee\u5f55\u4e0b\uff0c\u53ef\u80fd\u4f1a\u9020\u6210\u90e8\u5206\u8f6f\u4ef6\u6267\u884c\u9519\u8bef\u3002\u6240\u4ee5\u8fd9\u91cc\u63a8\u8350\u5b89\u88c5\u5230\u81ea\u5b9a\u4e49\u76ee\u5f55\uff0c\u5982\u679c\u9700\u8981\u5176\u4ed6\u5b89\u88c5\u65b9\u5f0f\u8bf7\u53c2\u8003\uff1a ScoopInstaller/Install # \u8bbe\u7f6e PowerShell \u6267\u884c\u7b56\u7565 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser # \u4e0b\u8f7d\u5b89\u88c5\u811a\u672c irm get.scoop.sh -outfile 'install.ps1' # \u6267\u884c\u5b89\u88c5, --ScoopDir \u53c2\u6570\u6307\u5b9a Scoop \u5b89\u88c5\u8def\u5f84 .\\install.ps1 -ScoopDir 'C:\\Scoop' \u4f7f\u7528 Scoop Scoop \u7684\u5b98\u65b9\u6587\u6863\u5bf9\u4e8e\u65b0\u624b\u975e\u5e38\u53cb\u597d\uff0c\u76f8\u5bf9\u4e8e\u5728\u6b64\u5904\u8d58\u8ff0\u66f4\u63a8\u8350\u9605\u8bfb \u5b98\u65b9\u6587\u6863 \u6216 \u5feb\u901f\u5165\u95e8 \u3002 Q&A Scoop \u80fd\u914d\u7f6e\u955c\u50cf\u6e90\u5417\uff1f Scoop \u793e\u533a\u4ec5\u7ef4\u62a4\u5b89\u88c5\u914d\u7f6e\uff0c\u6240\u6709\u7684\u8f6f\u4ef6\u90fd\u662f\u4ece\u8be5\u8f6f\u4ef6\u5b98\u65b9\u63d0\u4f9b\u7684\u4e0b\u8f7d\u94fe\u63a5\u8fdb\u884c\u4e0b\u8f7d\uff0c\u6240\u4ee5\u65e0\u6cd5\u63d0\u4f9b\u955c\u50cf\u6e90\u3002\u5982\u679c\u56e0\u4e3a\u4f60\u7684\u7f51\u7edc\u73af\u5883\u5bfc\u81f4\u591a\u6b21\u4e0b\u8f7d\u5931\u8d25\uff0c\u90a3\u4e48\u4f60\u9700\u8981\u4e00\u70b9\u70b9 \u9b54\u6cd5 \u3002 \u4e3a\u4ec0\u4e48\u627e\u4e0d\u5230 Java8\uff1f \u539f\u56e0\u540c\u4e0a\uff0c\u5b98\u65b9\u5df2\u4e0d\u518d\u63d0\u4f9b Java8 \u7684\u4e0b\u8f7d\u94fe\u63a5\uff0c\u63a8\u8350\u4f7f\u7528 ojdkbuild8 \u66ff\u4ee3\u3002 \u6211\u9700\u8981\u5b89\u88c5 python2 \u8be5\u5982\u4f55\u64cd\u4f5c\uff1f \u5bf9\u4e8e\u5df2\u7ecf\u8fc7\u65f6\u5f03\u7528\u7684\u8f6f\u4ef6\uff0cScoop \u793e\u533a\u4f1a\u5c06\u5176\u4ece ScoopInstaller/Main \u4e2d\u79fb\u9664\u5e76\u5c06\u5176\u6dfb\u52a0\u5230 ScoopInstaller/Versions \u4e2d\u3002\u5982\u679c\u4f60\u9700\u8981\u8fd9\u4e9b\u8f6f\u4ef6\u7684\u8bdd\u9700\u8981\u624b\u52a8\u6dfb\u52a0 bucket\uff1a scoop bucket add versions scoop install python27","title":"Scoop"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#scoop","text":"","title":"Scoop"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#scoop_1","text":"\u5728 Windows \u4e0b\uff0c\u642d\u5efa\u5f00\u53d1\u73af\u5883\u4e00\u76f4\u662f\u4e00\u4e2a\u590d\u6742\u4e14\u56f0\u96be\u7684\u95ee\u9898\u3002\u7531\u4e8e\u6ca1\u6709\u4e00\u4e2a\u7edf\u4e00\u7684\u6807\u51c6\uff0c\u5bfc\u81f4\u5404\u79cd\u5f00\u53d1\u73af\u5883\u7684\u5b89\u88c5\u65b9\u5f0f\u5dee\u5f02\u5de8\u5927\uff0c\u9700\u8981\u4ed8\u51fa\u5f88\u591a\u4e0d\u5fc5\u8981\u7684\u65f6\u95f4\u6210\u672c\u3002\u800c Scoop \u53ef\u4ee5\u5e2e\u52a9\u4f60\u7edf\u4e00\u5b89\u88c5\u5e76\u7ba1\u7406\u5e38\u89c1\u7684\u5f00\u53d1\u8f6f\u4ef6\uff0c\u7701\u53bb\u4e86\u624b\u52a8\u4e0b\u8f7d\u5b89\u88c5\uff0c\u914d\u7f6e\u73af\u5883\u53d8\u91cf\u7b49\u7e41\u7410\u6b65\u9aa4\u3002 \u4f8b\u5982\u5b89\u88c5 python \u548c nodejs \u53ea\u9700\u8981\u6267\u884c\uff1a scoop install python scoop install nodejs","title":"\u4e3a\u4ec0\u4e48\u4f7f\u7528 Scoop"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#scoop_2","text":"Scoop \u9700\u8981 Windows PowerShell 5.1 \u6216\u8005 PowerShell \u4f5c\u4e3a\u8fd0\u884c\u73af\u5883\uff0c\u5982\u679c\u4f60\u4f7f\u7528\u7684\u662f Windows 10 \u53ca\u4ee5\u4e0a\u7248\u672c\uff0cWindows PowerShell \u662f\u5185\u7f6e\u5728\u7cfb\u7edf\u4e2d\u7684\u3002\u800c Windows 7 \u5185\u7f6e\u7684 Windows PowerShell \u7248\u672c\u8fc7\u4e8e\u9648\u65e7\uff0c\u4f60\u9700\u8981\u624b\u52a8\u5b89\u88c5\u65b0\u7248\u672c\u7684 PowerShell\u3002 \u7531\u4e8e\u53d1\u73b0\u5f88\u591a\u540c\u5b66\u5728\u8bbe\u7f6e Windows \u7528\u6237\u65f6\u4f7f\u7528\u4e86\u4e2d\u6587\u7528\u6237\u540d\uff0c\u5bfc\u81f4\u4e86\u7528\u6237\u76ee\u5f55\u4e5f\u53d8\u6210\u4e86\u4e2d\u6587\u540d\u3002\u5982\u679c\u6309\u7167 Scoop \u7684\u9ed8\u8ba4\u65b9\u5f0f\u5c06\u8f6f\u4ef6\u5b89\u88c5\u5230\u7528\u6237\u76ee\u5f55\u4e0b\uff0c\u53ef\u80fd\u4f1a\u9020\u6210\u90e8\u5206\u8f6f\u4ef6\u6267\u884c\u9519\u8bef\u3002\u6240\u4ee5\u8fd9\u91cc\u63a8\u8350\u5b89\u88c5\u5230\u81ea\u5b9a\u4e49\u76ee\u5f55\uff0c\u5982\u679c\u9700\u8981\u5176\u4ed6\u5b89\u88c5\u65b9\u5f0f\u8bf7\u53c2\u8003\uff1a ScoopInstaller/Install # \u8bbe\u7f6e PowerShell \u6267\u884c\u7b56\u7565 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser # \u4e0b\u8f7d\u5b89\u88c5\u811a\u672c irm get.scoop.sh -outfile 'install.ps1' # \u6267\u884c\u5b89\u88c5, --ScoopDir \u53c2\u6570\u6307\u5b9a Scoop \u5b89\u88c5\u8def\u5f84 .\\install.ps1 -ScoopDir 'C:\\Scoop'","title":"\u5b89\u88c5 Scoop"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#scoop_3","text":"Scoop \u7684\u5b98\u65b9\u6587\u6863\u5bf9\u4e8e\u65b0\u624b\u975e\u5e38\u53cb\u597d\uff0c\u76f8\u5bf9\u4e8e\u5728\u6b64\u5904\u8d58\u8ff0\u66f4\u63a8\u8350\u9605\u8bfb \u5b98\u65b9\u6587\u6863 \u6216 \u5feb\u901f\u5165\u95e8 \u3002","title":"\u4f7f\u7528 Scoop"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#qa","text":"","title":"Q&A"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#scoop_4","text":"Scoop \u793e\u533a\u4ec5\u7ef4\u62a4\u5b89\u88c5\u914d\u7f6e\uff0c\u6240\u6709\u7684\u8f6f\u4ef6\u90fd\u662f\u4ece\u8be5\u8f6f\u4ef6\u5b98\u65b9\u63d0\u4f9b\u7684\u4e0b\u8f7d\u94fe\u63a5\u8fdb\u884c\u4e0b\u8f7d\uff0c\u6240\u4ee5\u65e0\u6cd5\u63d0\u4f9b\u955c\u50cf\u6e90\u3002\u5982\u679c\u56e0\u4e3a\u4f60\u7684\u7f51\u7edc\u73af\u5883\u5bfc\u81f4\u591a\u6b21\u4e0b\u8f7d\u5931\u8d25\uff0c\u90a3\u4e48\u4f60\u9700\u8981\u4e00\u70b9\u70b9 \u9b54\u6cd5 \u3002","title":"Scoop \u80fd\u914d\u7f6e\u955c\u50cf\u6e90\u5417\uff1f"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#java8","text":"\u539f\u56e0\u540c\u4e0a\uff0c\u5b98\u65b9\u5df2\u4e0d\u518d\u63d0\u4f9b Java8 \u7684\u4e0b\u8f7d\u94fe\u63a5\uff0c\u63a8\u8350\u4f7f\u7528 ojdkbuild8 \u66ff\u4ee3\u3002","title":"\u4e3a\u4ec0\u4e48\u627e\u4e0d\u5230 Java8\uff1f"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#python2","text":"\u5bf9\u4e8e\u5df2\u7ecf\u8fc7\u65f6\u5f03\u7528\u7684\u8f6f\u4ef6\uff0cScoop \u793e\u533a\u4f1a\u5c06\u5176\u4ece ScoopInstaller/Main \u4e2d\u79fb\u9664\u5e76\u5c06\u5176\u6dfb\u52a0\u5230 ScoopInstaller/Versions \u4e2d\u3002\u5982\u679c\u4f60\u9700\u8981\u8fd9\u4e9b\u8f6f\u4ef6\u7684\u8bdd\u9700\u8981\u624b\u52a8\u6dfb\u52a0 bucket\uff1a scoop bucket add versions scoop install python27","title":"\u6211\u9700\u8981\u5b89\u88c5 python2 \u8be5\u5982\u4f55\u64cd\u4f5c\uff1f"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/","text":"Vim \u4e3a\u4ec0\u4e48\u5b66\u4e60 Vim \u5728\u6211\u770b\u6765 Vim \u7f16\u8f91\u5668\u6709\u5982\u4e0b\u7684\u597d\u5904\uff1a \u8ba9\u4f60\u7684\u6574\u4e2a\u5f00\u53d1\u8fc7\u7a0b\u624b\u6307\u4e0d\u9700\u8981\u79bb\u5f00\u952e\u76d8\uff0c\u800c\u4e14\u5149\u6807\u7684\u79fb\u52a8\u4e0d\u9700\u8981\u65b9\u5411\u952e\u4f7f\u5f97\u4f60\u7684\u624b\u6307\u4e00\u76f4\u5904\u5728\u6253\u5b57\u7684\u6700\u4f73\u4f4d\u7f6e\u3002 \u65b9\u4fbf\u7684\u6587\u4ef6\u5207\u6362\u4ee5\u53ca\u9762\u677f\u63a7\u5236\u53ef\u4ee5\u8ba9\u4f60\u540c\u65f6\u5f00\u53d1\u591a\u4efd\u6587\u4ef6\u751a\u81f3\u540c\u4e00\u4e2a\u6587\u4ef6\u7684\u4e0d\u540c\u4f4d\u7f6e\u3002 Vim \u7684\u5b8f\u64cd\u4f5c\u53ef\u4ee5\u6279\u91cf\u5316\u5904\u7406\u91cd\u590d\u64cd\u4f5c\uff08\u4f8b\u5982\u591a\u884c tab\uff0c\u6279\u91cf\u52a0\u53cc\u5f15\u53f7\u7b49\u7b49\uff09 Vim \u662f\u5f88\u591a\u670d\u52a1\u5668\u81ea\u5e26\u7684\u547d\u4ee4\u884c\u7f16\u8f91\u5668\uff0c\u5f53\u4f60\u901a\u8fc7 ssh \u8fde\u63a5\u8fdc\u7a0b\u670d\u52a1\u5668\u4e4b\u540e\uff0c\u7531\u4e8e\u6ca1\u6709\u56fe\u5f62\u754c\u9762\uff0c\u53ea\u80fd\u5728\u547d\u4ee4\u884c\u91cc\u8fdb\u884c\u5f00\u53d1\uff08\u5f53\u7136\u73b0\u5728\u5f88\u591a IDE \u5982 PyCharm \u63d0\u4f9b\u4e86 ssh \u63d2\u4ef6\u53ef\u4ee5\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\uff09\u3002 \u5f02\u5e38\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\uff0c\u8ba9\u4f60\u62e5\u6709\u4e16\u754c\u4e0a\u6700\u82b1\u91cc\u80e1\u54e8\u7684\u547d\u4ee4\u884c\u7f16\u8f91\u5668\u3002 \u5982\u4f55\u5b66\u4e60 Vim \u4e0d\u5e78\u7684\u662f Vim \u7684\u5b66\u4e60\u66f2\u7ebf\u786e\u5b9e\u76f8\u5f53\u9661\u5ced\uff0c\u6211\u82b1\u4e86\u597d\u51e0\u4e2a\u661f\u671f\u624d\u6162\u6162\u9002\u5e94\u4e86\u7528 Vim \u8fdb\u884c\u5f00\u53d1\u7684\u8fc7\u7a0b\u3002\u6700\u5f00\u59cb\u4f60\u4f1a\u89c9\u5f97\u975e\u5e38\u4e0d\u9002\u5e94\uff0c\u4f46\u4e00\u65e6\u71ac\u8fc7\u4e86\u521d\u59cb\u9636\u6bb5\uff0c\u76f8\u4fe1\u6211\uff0c\u4f60\u4f1a\u7231\u4e0a Vim\u3002 Vim \u7684\u5b66\u4e60\u8d44\u6599\u6d69\u5982\u70df\u6d77\uff0c\u4f46\u638c\u63e1\u5b83\u6700\u597d\u7684\u65b9\u5f0f\u8fd8\u662f\u5c06\u5b83\u7528\u5728\u65e5\u5e38\u7684\u5f00\u53d1\u8fc7\u7a0b\u4e2d\uff0c\u800c\u4e0d\u662f\u4e00\u4e0a\u6765\u5c31\u53bb\u5b66\u5404\u79cd\u82b1\u91cc\u80e1\u54e8\u7684\u9ad8\u7ea7 Vim \u6280\u5de7\u3002\u4e2a\u4eba\u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a \u5148\u9605\u8bfb \u8fd9\u7bc7 tutorial \uff0c\u638c\u63e1\u57fa\u672c\u7684 Vim \u6982\u5ff5\u548c\u4f7f\u7528\u65b9\u5f0f\uff0c\u4e0d\u60f3\u770b\u82f1\u6587\u7684\u53ef\u4ee5\u9605\u8bfb \u8fd9\u7bc7\u6559\u7a0b \u3002 \u7528 Vim \u81ea\u5e26\u7684 vimtutor \u8fdb\u884c\u7ec3\u4e60\uff0c\u5b89\u88c5\u5b8c Vim \u4e4b\u540e\u76f4\u63a5\u5728\u547d\u4ee4\u884c\u91cc\u8f93\u5165 vimtutor \u5373\u53ef\u8fdb\u5165\u7ec3\u4e60\u7a0b\u5e8f\u3002 \u6700\u540e\u5c31\u662f\u5f3a\u8feb\u81ea\u5df1\u4f7f\u7528 Vim \u8fdb\u884c\u5f00\u53d1\uff0cIDE \u91cc\u53ef\u4ee5\u5b89\u88c5 Vim \u63d2\u4ef6\u3002 \u7b49\u4f60\u5b8c\u5168\u9002\u5e94 Vim \u4e4b\u540e\u65b0\u7684\u4e16\u754c\u4fbf\u5411\u4f60\u655e\u5f00\u4e86\u5927\u95e8\uff0c\u4f60\u53ef\u4ee5\u6309\u9700\u914d\u7f6e\u81ea\u5df1\u7684 Vim\uff08\u4fee\u6539 .vimrc \u6587\u4ef6\uff09\uff0c\u7f51\u4e0a\u6709\u6570\u4e0d\u80dc\u6570\u7684\u8d44\u6e90\u53ef\u4ee5\u501f\u9274\u3002 \u5982\u679c\u4f60\u60f3\u5bf9\u914d\u7f6e Vim \u6709\u66f4\u52a0\u6df1\u5165\u7684\u4e86\u89e3\uff0c Learn Vim Script the Hard Way \u662f\u4e00\u4e2a\u5f88\u597d\u7684\u8d44\u6e90\u3002 \u5173\u4e8e\u952e\u4f4d\u6620\u5c04 \u7528 Vim \u7f16\u8f91\u4ee3\u7801\u7684\u65f6\u5019\u4f1a\u9891\u7e41\u7528\u5230 ESC \u548c CTRL \u952e, \u4f46\u662f\u8fd9\u4e24\u4e2a\u952e\u90fd\u79bb home row \u5f88\u8fdc, \u53ef\u4ee5\u628a CapsLock \u952e\u6620\u5c04\u5230 Esc \u6216\u8005 Ctrl \u952e\uff0c\u8ba9\u624b\u66f4\u8212\u670d\u4e00\u4e9b\u3002 Windows \u7cfb\u7edf\u53ef\u4ee5\u4f7f\u7528 Powertoys \u6216\u8005 AutoHotkey \u91cd\u6620\u5c04\u952e\u4f4d\u3002 MacOS \u7cfb\u7edf\u63d0\u4f9b\u4e86\u91cd\u6620\u5c04\u952e\u4f4d\u7684 \u8bbe\u7f6e \uff0c\u53e6\u5916\u4e5f\u53ef\u4ee5\u4f7f\u7528 Karabiner-Elements \u91cd\u6620\u5c04\u3002 \u4f46\u66f4\u4f73\u7684\u505a\u6cd5\u662f\u540c\u65f6\u5c06 CapsLock \u6620\u5c04\u4e3a Ctrl \u548c Esc\uff0c\u70b9\u6309\u4e3a Esc\uff0c\u6309\u4f4f\u4e3a Ctrl\u3002\u8fd9\u662f\u4e0d\u540c\u7cfb\u7edf\u4e0b\u7684\u5b9e\u73b0\u65b9\u6cd5\uff1a Windows MacOS Linux \u63a8\u8350\u53c2\u8003\u8d44\u6599 Neil, Drew. Practical Vim: Edit Text at the Speed of Thought. N.p., Pragmatic Bookshelf, 2015. Neil, Drew. Modern Vim: Craft Your Development Environment with Vim 8 and Neovim. United States, Pragmatic Bookshelf.","title":"Vim"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#vim","text":"","title":"Vim"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#vim_1","text":"\u5728\u6211\u770b\u6765 Vim \u7f16\u8f91\u5668\u6709\u5982\u4e0b\u7684\u597d\u5904\uff1a \u8ba9\u4f60\u7684\u6574\u4e2a\u5f00\u53d1\u8fc7\u7a0b\u624b\u6307\u4e0d\u9700\u8981\u79bb\u5f00\u952e\u76d8\uff0c\u800c\u4e14\u5149\u6807\u7684\u79fb\u52a8\u4e0d\u9700\u8981\u65b9\u5411\u952e\u4f7f\u5f97\u4f60\u7684\u624b\u6307\u4e00\u76f4\u5904\u5728\u6253\u5b57\u7684\u6700\u4f73\u4f4d\u7f6e\u3002 \u65b9\u4fbf\u7684\u6587\u4ef6\u5207\u6362\u4ee5\u53ca\u9762\u677f\u63a7\u5236\u53ef\u4ee5\u8ba9\u4f60\u540c\u65f6\u5f00\u53d1\u591a\u4efd\u6587\u4ef6\u751a\u81f3\u540c\u4e00\u4e2a\u6587\u4ef6\u7684\u4e0d\u540c\u4f4d\u7f6e\u3002 Vim \u7684\u5b8f\u64cd\u4f5c\u53ef\u4ee5\u6279\u91cf\u5316\u5904\u7406\u91cd\u590d\u64cd\u4f5c\uff08\u4f8b\u5982\u591a\u884c tab\uff0c\u6279\u91cf\u52a0\u53cc\u5f15\u53f7\u7b49\u7b49\uff09 Vim \u662f\u5f88\u591a\u670d\u52a1\u5668\u81ea\u5e26\u7684\u547d\u4ee4\u884c\u7f16\u8f91\u5668\uff0c\u5f53\u4f60\u901a\u8fc7 ssh \u8fde\u63a5\u8fdc\u7a0b\u670d\u52a1\u5668\u4e4b\u540e\uff0c\u7531\u4e8e\u6ca1\u6709\u56fe\u5f62\u754c\u9762\uff0c\u53ea\u80fd\u5728\u547d\u4ee4\u884c\u91cc\u8fdb\u884c\u5f00\u53d1\uff08\u5f53\u7136\u73b0\u5728\u5f88\u591a IDE \u5982 PyCharm \u63d0\u4f9b\u4e86 ssh \u63d2\u4ef6\u53ef\u4ee5\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\uff09\u3002 \u5f02\u5e38\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\uff0c\u8ba9\u4f60\u62e5\u6709\u4e16\u754c\u4e0a\u6700\u82b1\u91cc\u80e1\u54e8\u7684\u547d\u4ee4\u884c\u7f16\u8f91\u5668\u3002","title":"\u4e3a\u4ec0\u4e48\u5b66\u4e60 Vim"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#vim_2","text":"\u4e0d\u5e78\u7684\u662f Vim \u7684\u5b66\u4e60\u66f2\u7ebf\u786e\u5b9e\u76f8\u5f53\u9661\u5ced\uff0c\u6211\u82b1\u4e86\u597d\u51e0\u4e2a\u661f\u671f\u624d\u6162\u6162\u9002\u5e94\u4e86\u7528 Vim \u8fdb\u884c\u5f00\u53d1\u7684\u8fc7\u7a0b\u3002\u6700\u5f00\u59cb\u4f60\u4f1a\u89c9\u5f97\u975e\u5e38\u4e0d\u9002\u5e94\uff0c\u4f46\u4e00\u65e6\u71ac\u8fc7\u4e86\u521d\u59cb\u9636\u6bb5\uff0c\u76f8\u4fe1\u6211\uff0c\u4f60\u4f1a\u7231\u4e0a Vim\u3002 Vim \u7684\u5b66\u4e60\u8d44\u6599\u6d69\u5982\u70df\u6d77\uff0c\u4f46\u638c\u63e1\u5b83\u6700\u597d\u7684\u65b9\u5f0f\u8fd8\u662f\u5c06\u5b83\u7528\u5728\u65e5\u5e38\u7684\u5f00\u53d1\u8fc7\u7a0b\u4e2d\uff0c\u800c\u4e0d\u662f\u4e00\u4e0a\u6765\u5c31\u53bb\u5b66\u5404\u79cd\u82b1\u91cc\u80e1\u54e8\u7684\u9ad8\u7ea7 Vim \u6280\u5de7\u3002\u4e2a\u4eba\u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a \u5148\u9605\u8bfb \u8fd9\u7bc7 tutorial \uff0c\u638c\u63e1\u57fa\u672c\u7684 Vim \u6982\u5ff5\u548c\u4f7f\u7528\u65b9\u5f0f\uff0c\u4e0d\u60f3\u770b\u82f1\u6587\u7684\u53ef\u4ee5\u9605\u8bfb \u8fd9\u7bc7\u6559\u7a0b \u3002 \u7528 Vim \u81ea\u5e26\u7684 vimtutor \u8fdb\u884c\u7ec3\u4e60\uff0c\u5b89\u88c5\u5b8c Vim \u4e4b\u540e\u76f4\u63a5\u5728\u547d\u4ee4\u884c\u91cc\u8f93\u5165 vimtutor \u5373\u53ef\u8fdb\u5165\u7ec3\u4e60\u7a0b\u5e8f\u3002 \u6700\u540e\u5c31\u662f\u5f3a\u8feb\u81ea\u5df1\u4f7f\u7528 Vim \u8fdb\u884c\u5f00\u53d1\uff0cIDE \u91cc\u53ef\u4ee5\u5b89\u88c5 Vim \u63d2\u4ef6\u3002 \u7b49\u4f60\u5b8c\u5168\u9002\u5e94 Vim \u4e4b\u540e\u65b0\u7684\u4e16\u754c\u4fbf\u5411\u4f60\u655e\u5f00\u4e86\u5927\u95e8\uff0c\u4f60\u53ef\u4ee5\u6309\u9700\u914d\u7f6e\u81ea\u5df1\u7684 Vim\uff08\u4fee\u6539 .vimrc \u6587\u4ef6\uff09\uff0c\u7f51\u4e0a\u6709\u6570\u4e0d\u80dc\u6570\u7684\u8d44\u6e90\u53ef\u4ee5\u501f\u9274\u3002 \u5982\u679c\u4f60\u60f3\u5bf9\u914d\u7f6e Vim \u6709\u66f4\u52a0\u6df1\u5165\u7684\u4e86\u89e3\uff0c Learn Vim Script the Hard Way \u662f\u4e00\u4e2a\u5f88\u597d\u7684\u8d44\u6e90\u3002","title":"\u5982\u4f55\u5b66\u4e60 Vim"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#_1","text":"\u7528 Vim \u7f16\u8f91\u4ee3\u7801\u7684\u65f6\u5019\u4f1a\u9891\u7e41\u7528\u5230 ESC \u548c CTRL \u952e, \u4f46\u662f\u8fd9\u4e24\u4e2a\u952e\u90fd\u79bb home row \u5f88\u8fdc, \u53ef\u4ee5\u628a CapsLock \u952e\u6620\u5c04\u5230 Esc \u6216\u8005 Ctrl \u952e\uff0c\u8ba9\u624b\u66f4\u8212\u670d\u4e00\u4e9b\u3002 Windows \u7cfb\u7edf\u53ef\u4ee5\u4f7f\u7528 Powertoys \u6216\u8005 AutoHotkey \u91cd\u6620\u5c04\u952e\u4f4d\u3002 MacOS \u7cfb\u7edf\u63d0\u4f9b\u4e86\u91cd\u6620\u5c04\u952e\u4f4d\u7684 \u8bbe\u7f6e \uff0c\u53e6\u5916\u4e5f\u53ef\u4ee5\u4f7f\u7528 Karabiner-Elements \u91cd\u6620\u5c04\u3002 \u4f46\u66f4\u4f73\u7684\u505a\u6cd5\u662f\u540c\u65f6\u5c06 CapsLock \u6620\u5c04\u4e3a Ctrl \u548c Esc\uff0c\u70b9\u6309\u4e3a Esc\uff0c\u6309\u4f4f\u4e3a Ctrl\u3002\u8fd9\u662f\u4e0d\u540c\u7cfb\u7edf\u4e0b\u7684\u5b9e\u73b0\u65b9\u6cd5\uff1a Windows MacOS Linux","title":"\u5173\u4e8e\u952e\u4f4d\u6620\u5c04"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#_2","text":"Neil, Drew. Practical Vim: Edit Text at the Speed of Thought. N.p., Pragmatic Bookshelf, 2015. Neil, Drew. Modern Vim: Craft Your Development Environment with Vim 8 and Neovim. United States, Pragmatic Bookshelf.","title":"\u63a8\u8350\u53c2\u8003\u8d44\u6599"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/thesis/","text":"\u6bd5\u4e1a\u8bba\u6587 \u4e3a\u4ec0\u4e48\u5199\u8fd9\u4efd\u6559\u7a0b 2022\u5e74\uff0c\u6211\u672c\u79d1\u6bd5\u4e1a\u4e86\u3002\u5728\u5f00\u59cb\u52a8\u624b\u5199\u6bd5\u4e1a\u8bba\u6587\u7684\u65f6\u5019\uff0c\u6211\u5c34\u5c2c\u5730\u53d1\u73b0\uff0c\u6211\u5bf9 Word \u7684\u638c\u63e1\u7a0b\u5ea6\u4ec5\u9650\u4e8e\u8c03\u8282\u5b57\u4f53\u3001\u4fdd\u5b58\u5bfc\u51fa\u8fd9\u4e9b\u50bb\u74dc\u529f\u80fd\u3002\u66fe\u60f3\u8f6c\u6218 Latex\uff0c\u4f46\u8bba\u6587\u7684\u6bb5\u843d\u683c\u5f0f\u8981\u6c42\u8c03\u6574\u8d77\u6765\u8fd8\u662f\u7528 Word \u66f4\u4e3a\u65b9\u4fbf\uff0c\u7ecf\u8fc7\u4e00\u756a\u75db\u82e6\u7f20\u6597\u4e4b\u540e\uff0c\u603b\u7b97\u662f\u6709\u60ca\u65e0\u9669\u5730\u5b8c\u6210\u4e86\u8bba\u6587\u7684\u5199\u4f5c\u548c\u7b54\u8fa9\u3002\u4e3a\u4e86\u4e0d\u8ba9\u540e\u6765\u8005\u91cd\u8e48\u8986\u8f99\uff0c\u9042\u628a\u76f8\u5173\u8d44\u6e90\u6574\u7406\u6210\u4e00\u4efd\u5f00\u7bb1\u5373\u7528\u7684\u6587\u6863\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u5982\u4f55\u7528 Word \u5199\u6bd5\u4e1a\u8bba\u6587 \u6b63\u5982\u5c06\u5927\u8c61\u88c5\u8fdb\u51b0\u7bb1\u9700\u8981\u4e09\u6b65\uff0c\u7528 Word \u5199\u6bd5\u4e1a\u8bba\u6587\u4e5f\u53ea\u9700\u8981\u7b80\u5355\u4e09\u6b65\uff1a \u786e\u5b9a\u8bba\u6587\u7684\u683c\u5f0f\u8981\u6c42\uff1a\u901a\u5e38\u5b66\u9662\u90fd\u4f1a\u4e0b\u53d1\u6bd5\u4e1a\u8bba\u6587\u7684\u683c\u5f0f\u8981\u6c42\uff08\u5404\u7ea7\u6807\u9898\u7684\u5b57\u4f53\u5b57\u53f7\u3001\u56fe\u4f8b\u548c\u5f15\u7528\u7684\u683c\u5f0f\u7b49\u7b49\uff09\uff0c\u5982\u679c\u66f4\u4e3a\u8d34\u5fc3\u7684\u8bdd\u751a\u81f3\u4f1a\u76f4\u63a5\u7ed9\u51fa\u8bba\u6587\u6a21\u7248\uff08\u5982\u662f\u6b64\u60c5\u51b5\u8bf7\u76f4\u63a5\u8df3\u8f6c\u5230\u4e0b\u4e00\u6b65\uff09\u3002\u5f88\u4e0d\u5e78\u7684\u662f\uff0c\u6211\u7684\u5b66\u9662\u5e76\u6ca1\u6709\u4e0b\u53d1\u6807\u51c6\u7684\u8bba\u6587\u683c\u5f0f\u8981\u6c42\uff0c\u8fd8\u63d0\u4f9b\u4e86\u4e00\u4efd\u683c\u5f0f\u6df7\u4e71\u51e0\u4e4e\u6beb\u65e0\u7528\u5904\u7684\u8bba\u6587\u6a21\u7248\u8188\u5e94\u6211\uff0c\u88ab\u903c\u65e0\u5948\u4e4b\u4e0b\u6211\u627e\u5230\u4e86\u5317\u4eac\u5927\u5b66\u7814\u7a76\u751f\u7684 \u8bba\u6587\u683c\u5f0f\u8981\u6c42 \uff0c\u5e76\u6309\u7167\u5176\u8981\u6c42\u5236\u4f5c\u4e86 \u4e00\u4efd\u6a21\u7248 \uff0c\u5927\u5bb6\u9700\u8981\u7684\u8bdd\u81ea\u53d6\uff0c\u672c\u4eba\u4e0d\u627f\u62c5\u65e0\u6cd5\u6bd5\u4e1a\u7b49\u4efb\u4f55\u8d23\u4efb\u3002 \u5b66\u4e60 Word \u6392\u7248\uff1a\u5230\u8fbe\u8fd9\u4e00\u6b65\u7684\u7ae5\u978b\u5206\u4e3a\u4e24\u7c7b\uff0c\u4e00\u662f\u5df2\u7ecf\u62e5\u6709\u4e86\u5b66\u9662\u63d0\u4f9b\u7684\u6807\u51c6\u6a21\u7248\uff0c\u4e8c\u662f\u53ea\u6709\u4e00\u4efd\u865a\u65e0\u7f25\u7f08\u7684\u683c\u5f0f\u8981\u6c42\u3002\u90a3\u73b0\u5728\u5f53\u52a1\u4e4b\u6025\u5c31\u662f\u5b66\u4e60\u57fa\u7840\u7684 Word \u6392\u7248\u6280\u672f\uff0c\u5bf9\u4e8e\u524d\u8005\u53ef\u4ee5\u5b66\u4f1a\u4f7f\u7528\u6a21\u7248\uff0c\u5bf9\u4e8e\u540e\u8005\u5219\u53ef\u4ee5\u5b66\u4f1a\u5236\u4f5c\u6a21\u7248\u3002\u6b64\u65f6\u5207\u8bb0\u4e0d\u8981\u96c4\u5fc3\u52c3\u52c3\u5730\u9009\u62e9\u4e00\u4e2a\u5341\u51e0\u4e2a\u5c0f\u65f6\u7684 Word \u6559\u5b66\u89c6\u9891\u5f00\u59cb\u5934\u60ac\u6881\u9525\u523a\u80a1\uff0c\u56e0\u4e3a\u751f\u4ea7\u4e00\u4efd\u5e94\u4ed8\u6bd5\u4e1a\u7684\u5b66\u672f\u5783\u573e\u53ea\u8981\u5b66\u534a\u5c0f\u65f6\u80fd\u4e0a\u624b\u5c31\u591f\u4e86\u3002\u6211\u5f53\u65f6\u770b\u7684 \u4e00\u4e2a B \u7ad9\u7684\u6559\u5b66\u89c6\u9891 \uff0c\u77ed\u5c0f\u7cbe\u608d\u975e\u5e38\u5b9e\u7528\uff0c\u5168\u957f\u534a\u5c0f\u65f6\u6781\u901f\u5165\u95e8\u3002 \u751f\u4ea7\u5b66\u672f\u5783\u573e\uff1a\u6700\u5bb9\u6613\u7684\u4e00\u6b65\uff0c\u5927\u5bb6\u516b\u4ed9\u8fc7\u6d77\uff0c\u5404\u663e\u795e\u901a\u5427\uff0c\u795d\u5927\u5bb6\u6bd5\u4e1a\u987a\u5229\uff5e\uff5e","title":"\u6bd5\u4e1a\u8bba\u6587"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/thesis/#_1","text":"","title":"\u6bd5\u4e1a\u8bba\u6587"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/thesis/#_2","text":"2022\u5e74\uff0c\u6211\u672c\u79d1\u6bd5\u4e1a\u4e86\u3002\u5728\u5f00\u59cb\u52a8\u624b\u5199\u6bd5\u4e1a\u8bba\u6587\u7684\u65f6\u5019\uff0c\u6211\u5c34\u5c2c\u5730\u53d1\u73b0\uff0c\u6211\u5bf9 Word \u7684\u638c\u63e1\u7a0b\u5ea6\u4ec5\u9650\u4e8e\u8c03\u8282\u5b57\u4f53\u3001\u4fdd\u5b58\u5bfc\u51fa\u8fd9\u4e9b\u50bb\u74dc\u529f\u80fd\u3002\u66fe\u60f3\u8f6c\u6218 Latex\uff0c\u4f46\u8bba\u6587\u7684\u6bb5\u843d\u683c\u5f0f\u8981\u6c42\u8c03\u6574\u8d77\u6765\u8fd8\u662f\u7528 Word \u66f4\u4e3a\u65b9\u4fbf\uff0c\u7ecf\u8fc7\u4e00\u756a\u75db\u82e6\u7f20\u6597\u4e4b\u540e\uff0c\u603b\u7b97\u662f\u6709\u60ca\u65e0\u9669\u5730\u5b8c\u6210\u4e86\u8bba\u6587\u7684\u5199\u4f5c\u548c\u7b54\u8fa9\u3002\u4e3a\u4e86\u4e0d\u8ba9\u540e\u6765\u8005\u91cd\u8e48\u8986\u8f99\uff0c\u9042\u628a\u76f8\u5173\u8d44\u6e90\u6574\u7406\u6210\u4e00\u4efd\u5f00\u7bb1\u5373\u7528\u7684\u6587\u6863\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002","title":"\u4e3a\u4ec0\u4e48\u5199\u8fd9\u4efd\u6559\u7a0b"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/thesis/#word","text":"\u6b63\u5982\u5c06\u5927\u8c61\u88c5\u8fdb\u51b0\u7bb1\u9700\u8981\u4e09\u6b65\uff0c\u7528 Word \u5199\u6bd5\u4e1a\u8bba\u6587\u4e5f\u53ea\u9700\u8981\u7b80\u5355\u4e09\u6b65\uff1a \u786e\u5b9a\u8bba\u6587\u7684\u683c\u5f0f\u8981\u6c42\uff1a\u901a\u5e38\u5b66\u9662\u90fd\u4f1a\u4e0b\u53d1\u6bd5\u4e1a\u8bba\u6587\u7684\u683c\u5f0f\u8981\u6c42\uff08\u5404\u7ea7\u6807\u9898\u7684\u5b57\u4f53\u5b57\u53f7\u3001\u56fe\u4f8b\u548c\u5f15\u7528\u7684\u683c\u5f0f\u7b49\u7b49\uff09\uff0c\u5982\u679c\u66f4\u4e3a\u8d34\u5fc3\u7684\u8bdd\u751a\u81f3\u4f1a\u76f4\u63a5\u7ed9\u51fa\u8bba\u6587\u6a21\u7248\uff08\u5982\u662f\u6b64\u60c5\u51b5\u8bf7\u76f4\u63a5\u8df3\u8f6c\u5230\u4e0b\u4e00\u6b65\uff09\u3002\u5f88\u4e0d\u5e78\u7684\u662f\uff0c\u6211\u7684\u5b66\u9662\u5e76\u6ca1\u6709\u4e0b\u53d1\u6807\u51c6\u7684\u8bba\u6587\u683c\u5f0f\u8981\u6c42\uff0c\u8fd8\u63d0\u4f9b\u4e86\u4e00\u4efd\u683c\u5f0f\u6df7\u4e71\u51e0\u4e4e\u6beb\u65e0\u7528\u5904\u7684\u8bba\u6587\u6a21\u7248\u8188\u5e94\u6211\uff0c\u88ab\u903c\u65e0\u5948\u4e4b\u4e0b\u6211\u627e\u5230\u4e86\u5317\u4eac\u5927\u5b66\u7814\u7a76\u751f\u7684 \u8bba\u6587\u683c\u5f0f\u8981\u6c42 \uff0c\u5e76\u6309\u7167\u5176\u8981\u6c42\u5236\u4f5c\u4e86 \u4e00\u4efd\u6a21\u7248 \uff0c\u5927\u5bb6\u9700\u8981\u7684\u8bdd\u81ea\u53d6\uff0c\u672c\u4eba\u4e0d\u627f\u62c5\u65e0\u6cd5\u6bd5\u4e1a\u7b49\u4efb\u4f55\u8d23\u4efb\u3002 \u5b66\u4e60 Word \u6392\u7248\uff1a\u5230\u8fbe\u8fd9\u4e00\u6b65\u7684\u7ae5\u978b\u5206\u4e3a\u4e24\u7c7b\uff0c\u4e00\u662f\u5df2\u7ecf\u62e5\u6709\u4e86\u5b66\u9662\u63d0\u4f9b\u7684\u6807\u51c6\u6a21\u7248\uff0c\u4e8c\u662f\u53ea\u6709\u4e00\u4efd\u865a\u65e0\u7f25\u7f08\u7684\u683c\u5f0f\u8981\u6c42\u3002\u90a3\u73b0\u5728\u5f53\u52a1\u4e4b\u6025\u5c31\u662f\u5b66\u4e60\u57fa\u7840\u7684 Word \u6392\u7248\u6280\u672f\uff0c\u5bf9\u4e8e\u524d\u8005\u53ef\u4ee5\u5b66\u4f1a\u4f7f\u7528\u6a21\u7248\uff0c\u5bf9\u4e8e\u540e\u8005\u5219\u53ef\u4ee5\u5b66\u4f1a\u5236\u4f5c\u6a21\u7248\u3002\u6b64\u65f6\u5207\u8bb0\u4e0d\u8981\u96c4\u5fc3\u52c3\u52c3\u5730\u9009\u62e9\u4e00\u4e2a\u5341\u51e0\u4e2a\u5c0f\u65f6\u7684 Word \u6559\u5b66\u89c6\u9891\u5f00\u59cb\u5934\u60ac\u6881\u9525\u523a\u80a1\uff0c\u56e0\u4e3a\u751f\u4ea7\u4e00\u4efd\u5e94\u4ed8\u6bd5\u4e1a\u7684\u5b66\u672f\u5783\u573e\u53ea\u8981\u5b66\u534a\u5c0f\u65f6\u80fd\u4e0a\u624b\u5c31\u591f\u4e86\u3002\u6211\u5f53\u65f6\u770b\u7684 \u4e00\u4e2a B \u7ad9\u7684\u6559\u5b66\u89c6\u9891 \uff0c\u77ed\u5c0f\u7cbe\u608d\u975e\u5e38\u5b9e\u7528\uff0c\u5168\u957f\u534a\u5c0f\u65f6\u6781\u901f\u5165\u95e8\u3002 \u751f\u4ea7\u5b66\u672f\u5783\u573e\uff1a\u6700\u5bb9\u6613\u7684\u4e00\u6b65\uff0c\u5927\u5bb6\u516b\u4ed9\u8fc7\u6d77\uff0c\u5404\u663e\u795e\u901a\u5427\uff0c\u795d\u5927\u5bb6\u6bd5\u4e1a\u987a\u5229\uff5e\uff5e","title":"\u5982\u4f55\u7528 Word \u5199\u6bd5\u4e1a\u8bba\u6587"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/","text":"\u5b9e\u7528\u5de5\u5177\u7bb1 \u4e0b\u8f7d\u5de5\u5177 Sci-Hub : Elbakyan \u5973\u795e\u5411\u4f60\u6325\u624b\uff0c\u65e8\u5728\u6253\u7834\u77e5\u8bc6\u58c1\u5792\u7684\u9769\u547d\u6027\u7f51\u7ad9\u3002 Library Genesis : \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 Z-library : \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\uff08\u5728 Tor \u4e0b\u8fd0\u884c\u8f83\u4f73\uff0c \u94fe\u63a5 \uff09\u3002 Z-ePub : ePub \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 PDF Drive : PDF \u7535\u5b50\u4e66\u641c\u7d22\u5f15\u64ce\u3002 MagazineLib : PDF \u7535\u5b50\u6742\u5fd7\u4e0b\u8f7d\u7f51\u7ad9\u3002 BitDownloader : \u6cb9\u7ba1\u89c6\u9891\u4e0b\u8f7d\u5668\u3002 qBittorrent : BitTorrent \u5ba2\u6237\u7aef\u3002 uTorrent : BitTorrent \u5ba2\u6237\u7aef\u3002 \u5168\u56fd\u6807\u51c6\u4fe1\u606f\u516c\u5171\u670d\u52a1\u5e73\u53f0 \uff1a\u5404\u7c7b\u6807\u51c6\u67e5\u8be2\u548c\u4e0b\u8f7d\u5b98\u65b9\u5e73\u53f0\u3002 \u6807\u51c6\u77e5\u8bc6\u670d\u52a1\u7cfb\u7edf \uff1a\u68c0\u7d22\u4e0e\u9605\u8bfb\u6240\u9700\u6807\u51c6\u3002 MSDN,\u6211\u544a\u8bc9\u4f60 : Windows \u64cd\u4f5c\u7cfb\u7edf\u955c\u50cf\u4e0b\u8f7d\u7ad9\uff0c\u4e5f\u6709\u8bb8\u591a\u5176\u4ed6\u8f6f\u4ef6\u7684\u4e0b\u8f7d\u3002 \u8bbe\u8ba1\u5de5\u5177 excalidraw : \u4e00\u6b3e\u624b\u7ed8\u98ce\u683c\u7684\u7ed8\u56fe\u5de5\u5177\uff0c\u975e\u5e38\u9002\u5408\u7ed8\u5236\u8bfe\u7a0b\u62a5\u544a\u6216\u8005PPT\u5185\u7684\u793a\u610f\u56fe\u3002 tldraw : \u4e00\u4e2a\u7ed8\u56fe\u5de5\u5177\uff0c\u9002\u5408\u753b\u6d41\u7a0b\u56fe\uff0c\u67b6\u6784\u56fe\u7b49\u3002 draw.io : \u5f3a\u5927\u7b80\u6d01\u7684\u5728\u7ebf\u7684\u7ed8\u56fe\u7f51\u7ad9\uff0c\u652f\u6301\u6d41\u7a0b\u56fe\uff0cUML\u56fe\uff0c\u67b6\u6784\u56fe\uff0c\u539f\u578b\u56fe\u7b49\u7b49\uff0c\u652f\u6301 Onedrive, Google Drive, Github \u5bfc\u51fa\uff0c\u540c\u65f6\u63d0\u4f9b\u79bb\u7ebf\u5ba2\u6237\u7aef\u3002 origamiway : \u624b\u628a\u624b\u6559\u4f60\u600e\u4e48\u6298\u7eb8\u3002 thingiverse : \u56ca\u62ec\u5404\u7c7b 2D/3D \u8bbe\u8ba1\u8d44\u6e90\uff0c\u5176 STL \u6587\u4ef6\u4e0b\u8f7d\u53ef\u76f4\u63a5 3D \u6253\u5370\u3002 iconfont : \u56fd\u5185\u6700\u5927\u7684\u56fe\u6807\u548c\u63d2\u753b\u8d44\u6e90\u5e93\uff0c\u53ef\u7528\u4e8e\u5f00\u53d1\u6216\u7ed8\u5236\u7cfb\u7edf\u67b6\u6784\u56fe\u3002 turbosquid : \u53ef\u4ee5\u8d2d\u4e70\u5404\u5f0f\u5404\u6837\u7684\u6a21\u578b\u3002 flaticon : \u53ef\u4e0b\u8f7d\u514d\u8d39\u4e14\u9ad8\u8d28\u91cf\u7684\u56fe\u6807\u3002 \u6807\u51c6\u5730\u56fe\u670d\u52a1\u7cfb\u7edf : \u53ef\u4ee5\u4e0b\u8f7d\u5b98\u65b9\u6807\u51c6\u5730\u56fe\u3002 PlantUML : \u53ef\u4ee5\u4f7f\u7528\u4ee3\u7801\u5feb\u901f\u7f16\u5199 UML \u56fe\u3002 \u7f16\u7a0b\u76f8\u5173 sqlfiddle : \u4e00\u4e2a\u7b80\u6613\u7684\u5728\u7ebf SQL Playground\u3002 sqlzoo \uff1a\u5728\u7ebf\u7ec3\u4e60 sql \u8bed\u53e5\u3002 godbolt : \u975e\u5e38\u65b9\u4fbf\u7684\u7f16\u8bd1\u5668\u63a2\u7d22\u5de5\u5177\u3002\u4f60\u53ef\u4ee5\u5199\u4e00\u6bb5 C/C++ \u4ee3\u7801\uff0c\u9009\u62e9\u4e00\u6b3e\u7f16\u8bd1\u5668\uff0c\u7136\u540e\u4fbf\u53ef\u4ee5\u89c2\u5bdf\u751f\u6210\u7684\u5177\u4f53\u6c47\u7f16\u4ee3\u7801\u3002 explainshell : \u4f60\u662f\u5426\u66fe\u4e3a\u4e00\u6bb5 shell \u4ee3\u7801\u7684\u5177\u4f53\u542b\u4e49\u611f\u5230\u56f0\u6270\uff1fmanpage \u770b\u534a\u5929\u8fd8\u662f\u4e0d\u660e\u6240\u4ee5\uff1f\u8bd5\u8bd5\u8fd9\u4e2a\u7f51\u7ad9\uff01 regex101 : \u6b63\u5219\u8868\u8fbe\u5f0f\u8c03\u8bd5\u7f51\u7ad9\uff0c\u652f\u6301\u5404\u79cd\u7f16\u7a0b\u8bed\u8a00\u7684\u5339\u914d\u6807\u51c6\u3002 typingtom : \u9488\u5bf9\u7a0b\u5e8f\u5458\u7684\u6253\u5b57\u7ec3\u4e60/\u6d4b\u901f\u7f51\u7ad9\u3002 wrk : \u7f51\u7ad9\u538b\u6d4b\u5de5\u5177\u3002 gbmb : \u6570\u636e\u5355\u4f4d\u8f6c\u6362\u3002 tools : \u5728\u7ebf\u5de5\u5177\u5408\u96c6\u3002 github1s : \u7528\u7f51\u9875\u7248 VS Code \u5728\u7ebf\u9605\u8bfb GitHub \u4ee3\u7801\u3002 visualgo : \u7b97\u6cd5\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 DataStructureVisual : \u6570\u636e\u7ed3\u6784\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 Data Structure Visualizations : \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 learngitbranching : \u53ef\u89c6\u5316\u5b66\u4e60 git\u3002 UnicodeCharacter : Unicode \u5b57\u7b26\u96c6\u7f51\u7ad9\u3002 \u5b66\u4e60\u7f51\u7ad9 HFS : \u5404\u7c7b\u8f6f\u4ef6\u6559\u7a0b\u3002 Shadertoy : \u7f16\u5199\u5404\u5f0f\u5404\u6837\u7684 shader\u3002 comments-for-awesome-courses : \u540d\u6821\u516c\u5f00\u8bfe\u8bc4\u4ef7\u7f51\u3002 codetop : \u4f01\u4e1a\u9898\u5e93\u3002 cs-video-courses : \u5e26\u6709\u89c6\u9891\u8bb2\u5ea7\u7684\u8ba1\u7b97\u673a\u79d1\u5b66\u8bfe\u7a0b\u5217\u8868\u3002 bootlin : \u5728\u7ebf\u9605\u8bfb Linux \u6e90\u7801\u3002 ecust-CourseShare : \u534e\u4e1c\u5e08\u8303\u5927\u5b66\u7814\u7a76\u751f\u8bfe\u7a0b\u653b\u7565\u5171\u4eab\u8ba1\u5212\u3002 REKCARC-TSC-UHT : \u6e05\u534e\u5927\u5b66\u8ba1\u7b97\u673a\u7cfb\u8bfe\u7a0b\u653b\u7565\u3002 seu-master : \u4e1c\u5357\u5927\u5b66\u7814\u7a76\u751f\u8bfe\u7a0b\u8d44\u6599\u6574\u7406\u3002 \u83dc\u9e1f\u6559\u7a0b : \u8ba1\u7b97\u673a\u76f8\u5173\u77e5\u8bc6\u7684\u7b80\u8981\u7684\u6559\u7a0b\u3002 FreeBSD \u4ece\u5165\u95e8\u5230\u8dd1\u8def : \u4e00\u672c FreeBSD \u7684\u4e2d\u6587\u6559\u7a0b\u3002 MDN Web Docs : MDN \u7f51\u7edc\u5f00\u53d1\u5165\u95e8\u624b\u518c\u3002 Hello \u7b97\u6cd5 : \u52a8\u753b\u56fe\u89e3\u3001\u80fd\u8fd0\u884c\u3001\u53ef\u63d0\u95ee\u7684\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u5feb\u901f\u5165\u95e8\u6559\u7a0b\u3002 \u767e\u79d1\u7f51\u7ad9/\u8bcd\u5178\u6027\u8d28\u7684\u7f51\u7ad9 os-wiki : \u64cd\u4f5c\u7cfb\u7edf\u6280\u672f\u8d44\u6e90\u767e\u79d1\u5168\u4e66\u3002 FreeBSD Documentation : FreeBSD \u5b98\u65b9\u6587\u6863\u3002 Python3 Documentation : Python3 \u5b98\u65b9\u4e2d\u6587\u6587\u6863\u3002 C++ Reference : C++ \u53c2\u8003\u624b\u518c\u3002 OI Wiki : \u7f16\u7a0b\u7ade\u8d5b\u77e5\u8bc6\u6574\u5408\u7ad9\u70b9\u3002 Microsoft Learn : \u5fae\u8f6f\u5b98\u65b9\u7684\u5b66\u4e60\u5e73\u53f0\uff0c\u5305\u542b\u4e86\u7edd\u5927\u591a\u6570\u5fae\u8f6f\u4ea7\u54c1\u7684\u6587\u6863\u3002 Arch Wiki : \u4e13\u4e3a Arch Linux \u800c\u5199\u7684 Wiki\uff0c\u5305\u542b\u4e86\u5927\u91cf Linux \u76f8\u5173\u7684\u77e5\u8bc6\u3002 Qt Wiki : Qt \u5b98\u65b9 Wiki\u3002 OpenCV \u4e2d\u6587\u6587\u6863 : OpenCV \u7684\u793e\u533a\u7248\u4e2d\u6587\u6587\u6863\u3002 npm Docs : npm \u5b98\u65b9\u6587\u6863\u3002 \u4ea4\u6d41\u5e73\u53f0 GitHub : \u8bb8\u591a\u5f00\u6e90\u9879\u76ee\u7684\u6258\u7ba1\u5e73\u53f0\uff0c\u4e5f\u662f\u8bb8\u591a\u5f00\u6e90\u9879\u76ee\u7684\u4e3b\u8981\u4ea4\u6d41\u5e73\u53f0\uff0c\u901a\u8fc7\u67e5\u770b issue \u53ef\u4ee5\u89e3\u51b3\u8bb8\u591a\u95ee\u9898\u3002 StackExchange : Stack Exchange \u662f\u7531 181 \u4e2a\u95ee\u7b54\u793e\u533a\u7ec4\u6210\uff08\u5176\u4e2d\u5305\u62ec Stack Overflow\uff09\u7684\u7f16\u7a0b\u793e\u533a\u3002 StackOverflow : Stack Overflow \u662f\u4e00\u4e2a\u4e0e\u7a0b\u5e8f\u76f8\u5173\u7684 IT \u6280\u672f\u95ee\u7b54\u7f51\u7ad9\u3002 Gitee : \u4e00\u4e2a\u7c7b\u4f3c\u4e8e GitHub \u7684\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\uff0c\u53ef\u4ee5\u5728\u5bf9\u5e94\u9879\u76ee\u7684 issue \u91cc\u67e5\u627e\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u89e3\u7b54\u3002 \u77e5\u4e4e : \u4e00\u4e2a\u7c7b\u4f3c\u4e8e Quora \u7684\u95ee\u7b54\u793e\u533a\uff0c\u53ef\u4ee5\u5728\u5176\u4e2d\u63d0\u95ee\uff0c\u4e00\u4e9b\u95ee\u7b54\u5305\u542b\u6709\u8ba1\u7b97\u673a\u7684\u77e5\u8bc6\u3002 \u535a\u5ba2\u56ed : \u4e00\u4e2a\u9762\u5411\u5f00\u53d1\u8005\u7684\u77e5\u8bc6\u5206\u4eab\u793e\u533a\uff0c\u62e5\u6709\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u535a\u5ba2\uff0c\u6b63\u786e\u7387\u4e0d\u80fd\u4fdd\u8bc1\uff0c\u8bf7\u8c28\u614e\u4f7f\u7528\u3002 CSDN : \u62e5\u6709\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u535a\u5ba2\uff0c\u6b63\u786e\u7387\u4e0d\u80fd\u4fdd\u8bc1\uff0c\u8bf7\u8c28\u614e\u4f7f\u7528\u3002 \u6742\u9879 tophub : \u65b0\u95fb\u70ed\u699c\u5408\u96c6\uff08\u7efc\u5408\u4e86\u77e5\u4e4e\u3001\u5fae\u535a\u3001\u767e\u5ea6\u3001\u5fae\u4fe1\u7b49\uff09\u3002 feedly : \u8457\u540d\u7684 RSS \u8ba2\u9605\u6e90\u9605\u8bfb\u5668\u3002 speedtest : \u5728\u7ebf\u7f51\u7edc\u6d4b\u901f\u7f51\u7ad9\u3002 public-apis : \u516c\u5171 API \u5408\u96c6\u5217\u8868\u3002 numberempire : \u51fd\u6570\u6c42\u5bfc\u5de5\u5177\u3002 sustech-application : \u5357\u65b9\u79d1\u6280\u5927\u5b66\u7ecf\u9a8c\u5206\u4eab\u7f51\u3002 vim-adventures : \u4e00\u6b3e\u57fa\u4e8e vim \u952e\u76d8\u5feb\u6377\u952e\u7684\u5728\u7ebf\u6e38\u620f\u3002 vimsnake : \u5229\u7528 vim \u73a9\u8d2a\u5403\u86c7\u3002 keybr : \u5b66\u4e60\u76f2\u6253\u7684\u7f51\u7ad9\u3002 Awesome C++ : \u5f88\u68d2\u7684 C/C++ \u6846\u67b6\u3001\u5e93\u3001\u8d44\u6e90\u7cbe\u9009\u5217\u8868\u3002 HelloGitHub : \u5206\u4eab GitHub \u4e0a\u6709\u8da3\u3001\u5165\u95e8\u7ea7\u7684\u5f00\u6e90\u9879\u76ee\u3002","title":"\u5b9e\u7528\u5de5\u5177\u7bb1"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_1","text":"","title":"\u5b9e\u7528\u5de5\u5177\u7bb1"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_2","text":"Sci-Hub : Elbakyan \u5973\u795e\u5411\u4f60\u6325\u624b\uff0c\u65e8\u5728\u6253\u7834\u77e5\u8bc6\u58c1\u5792\u7684\u9769\u547d\u6027\u7f51\u7ad9\u3002 Library Genesis : \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 Z-library : \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\uff08\u5728 Tor \u4e0b\u8fd0\u884c\u8f83\u4f73\uff0c \u94fe\u63a5 \uff09\u3002 Z-ePub : ePub \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 PDF Drive : PDF \u7535\u5b50\u4e66\u641c\u7d22\u5f15\u64ce\u3002 MagazineLib : PDF \u7535\u5b50\u6742\u5fd7\u4e0b\u8f7d\u7f51\u7ad9\u3002 BitDownloader : \u6cb9\u7ba1\u89c6\u9891\u4e0b\u8f7d\u5668\u3002 qBittorrent : BitTorrent \u5ba2\u6237\u7aef\u3002 uTorrent : BitTorrent \u5ba2\u6237\u7aef\u3002 \u5168\u56fd\u6807\u51c6\u4fe1\u606f\u516c\u5171\u670d\u52a1\u5e73\u53f0 \uff1a\u5404\u7c7b\u6807\u51c6\u67e5\u8be2\u548c\u4e0b\u8f7d\u5b98\u65b9\u5e73\u53f0\u3002 \u6807\u51c6\u77e5\u8bc6\u670d\u52a1\u7cfb\u7edf \uff1a\u68c0\u7d22\u4e0e\u9605\u8bfb\u6240\u9700\u6807\u51c6\u3002 MSDN,\u6211\u544a\u8bc9\u4f60 : Windows \u64cd\u4f5c\u7cfb\u7edf\u955c\u50cf\u4e0b\u8f7d\u7ad9\uff0c\u4e5f\u6709\u8bb8\u591a\u5176\u4ed6\u8f6f\u4ef6\u7684\u4e0b\u8f7d\u3002","title":"\u4e0b\u8f7d\u5de5\u5177"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_3","text":"excalidraw : \u4e00\u6b3e\u624b\u7ed8\u98ce\u683c\u7684\u7ed8\u56fe\u5de5\u5177\uff0c\u975e\u5e38\u9002\u5408\u7ed8\u5236\u8bfe\u7a0b\u62a5\u544a\u6216\u8005PPT\u5185\u7684\u793a\u610f\u56fe\u3002 tldraw : \u4e00\u4e2a\u7ed8\u56fe\u5de5\u5177\uff0c\u9002\u5408\u753b\u6d41\u7a0b\u56fe\uff0c\u67b6\u6784\u56fe\u7b49\u3002 draw.io : \u5f3a\u5927\u7b80\u6d01\u7684\u5728\u7ebf\u7684\u7ed8\u56fe\u7f51\u7ad9\uff0c\u652f\u6301\u6d41\u7a0b\u56fe\uff0cUML\u56fe\uff0c\u67b6\u6784\u56fe\uff0c\u539f\u578b\u56fe\u7b49\u7b49\uff0c\u652f\u6301 Onedrive, Google Drive, Github \u5bfc\u51fa\uff0c\u540c\u65f6\u63d0\u4f9b\u79bb\u7ebf\u5ba2\u6237\u7aef\u3002 origamiway : \u624b\u628a\u624b\u6559\u4f60\u600e\u4e48\u6298\u7eb8\u3002 thingiverse : \u56ca\u62ec\u5404\u7c7b 2D/3D \u8bbe\u8ba1\u8d44\u6e90\uff0c\u5176 STL \u6587\u4ef6\u4e0b\u8f7d\u53ef\u76f4\u63a5 3D \u6253\u5370\u3002 iconfont : \u56fd\u5185\u6700\u5927\u7684\u56fe\u6807\u548c\u63d2\u753b\u8d44\u6e90\u5e93\uff0c\u53ef\u7528\u4e8e\u5f00\u53d1\u6216\u7ed8\u5236\u7cfb\u7edf\u67b6\u6784\u56fe\u3002 turbosquid : \u53ef\u4ee5\u8d2d\u4e70\u5404\u5f0f\u5404\u6837\u7684\u6a21\u578b\u3002 flaticon : \u53ef\u4e0b\u8f7d\u514d\u8d39\u4e14\u9ad8\u8d28\u91cf\u7684\u56fe\u6807\u3002 \u6807\u51c6\u5730\u56fe\u670d\u52a1\u7cfb\u7edf : \u53ef\u4ee5\u4e0b\u8f7d\u5b98\u65b9\u6807\u51c6\u5730\u56fe\u3002 PlantUML : \u53ef\u4ee5\u4f7f\u7528\u4ee3\u7801\u5feb\u901f\u7f16\u5199 UML \u56fe\u3002","title":"\u8bbe\u8ba1\u5de5\u5177"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_4","text":"sqlfiddle : \u4e00\u4e2a\u7b80\u6613\u7684\u5728\u7ebf SQL Playground\u3002 sqlzoo \uff1a\u5728\u7ebf\u7ec3\u4e60 sql \u8bed\u53e5\u3002 godbolt : \u975e\u5e38\u65b9\u4fbf\u7684\u7f16\u8bd1\u5668\u63a2\u7d22\u5de5\u5177\u3002\u4f60\u53ef\u4ee5\u5199\u4e00\u6bb5 C/C++ \u4ee3\u7801\uff0c\u9009\u62e9\u4e00\u6b3e\u7f16\u8bd1\u5668\uff0c\u7136\u540e\u4fbf\u53ef\u4ee5\u89c2\u5bdf\u751f\u6210\u7684\u5177\u4f53\u6c47\u7f16\u4ee3\u7801\u3002 explainshell : \u4f60\u662f\u5426\u66fe\u4e3a\u4e00\u6bb5 shell \u4ee3\u7801\u7684\u5177\u4f53\u542b\u4e49\u611f\u5230\u56f0\u6270\uff1fmanpage \u770b\u534a\u5929\u8fd8\u662f\u4e0d\u660e\u6240\u4ee5\uff1f\u8bd5\u8bd5\u8fd9\u4e2a\u7f51\u7ad9\uff01 regex101 : \u6b63\u5219\u8868\u8fbe\u5f0f\u8c03\u8bd5\u7f51\u7ad9\uff0c\u652f\u6301\u5404\u79cd\u7f16\u7a0b\u8bed\u8a00\u7684\u5339\u914d\u6807\u51c6\u3002 typingtom : \u9488\u5bf9\u7a0b\u5e8f\u5458\u7684\u6253\u5b57\u7ec3\u4e60/\u6d4b\u901f\u7f51\u7ad9\u3002 wrk : \u7f51\u7ad9\u538b\u6d4b\u5de5\u5177\u3002 gbmb : \u6570\u636e\u5355\u4f4d\u8f6c\u6362\u3002 tools : \u5728\u7ebf\u5de5\u5177\u5408\u96c6\u3002 github1s : \u7528\u7f51\u9875\u7248 VS Code \u5728\u7ebf\u9605\u8bfb GitHub \u4ee3\u7801\u3002 visualgo : \u7b97\u6cd5\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 DataStructureVisual : \u6570\u636e\u7ed3\u6784\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 Data Structure Visualizations : \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 learngitbranching : \u53ef\u89c6\u5316\u5b66\u4e60 git\u3002 UnicodeCharacter : Unicode \u5b57\u7b26\u96c6\u7f51\u7ad9\u3002","title":"\u7f16\u7a0b\u76f8\u5173"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_5","text":"HFS : \u5404\u7c7b\u8f6f\u4ef6\u6559\u7a0b\u3002 Shadertoy : \u7f16\u5199\u5404\u5f0f\u5404\u6837\u7684 shader\u3002 comments-for-awesome-courses : \u540d\u6821\u516c\u5f00\u8bfe\u8bc4\u4ef7\u7f51\u3002 codetop : \u4f01\u4e1a\u9898\u5e93\u3002 cs-video-courses : \u5e26\u6709\u89c6\u9891\u8bb2\u5ea7\u7684\u8ba1\u7b97\u673a\u79d1\u5b66\u8bfe\u7a0b\u5217\u8868\u3002 bootlin : \u5728\u7ebf\u9605\u8bfb Linux \u6e90\u7801\u3002 ecust-CourseShare : \u534e\u4e1c\u5e08\u8303\u5927\u5b66\u7814\u7a76\u751f\u8bfe\u7a0b\u653b\u7565\u5171\u4eab\u8ba1\u5212\u3002 REKCARC-TSC-UHT : \u6e05\u534e\u5927\u5b66\u8ba1\u7b97\u673a\u7cfb\u8bfe\u7a0b\u653b\u7565\u3002 seu-master : \u4e1c\u5357\u5927\u5b66\u7814\u7a76\u751f\u8bfe\u7a0b\u8d44\u6599\u6574\u7406\u3002 \u83dc\u9e1f\u6559\u7a0b : \u8ba1\u7b97\u673a\u76f8\u5173\u77e5\u8bc6\u7684\u7b80\u8981\u7684\u6559\u7a0b\u3002 FreeBSD \u4ece\u5165\u95e8\u5230\u8dd1\u8def : \u4e00\u672c FreeBSD \u7684\u4e2d\u6587\u6559\u7a0b\u3002 MDN Web Docs : MDN \u7f51\u7edc\u5f00\u53d1\u5165\u95e8\u624b\u518c\u3002 Hello \u7b97\u6cd5 : \u52a8\u753b\u56fe\u89e3\u3001\u80fd\u8fd0\u884c\u3001\u53ef\u63d0\u95ee\u7684\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u5feb\u901f\u5165\u95e8\u6559\u7a0b\u3002","title":"\u5b66\u4e60\u7f51\u7ad9"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_6","text":"os-wiki : \u64cd\u4f5c\u7cfb\u7edf\u6280\u672f\u8d44\u6e90\u767e\u79d1\u5168\u4e66\u3002 FreeBSD Documentation : FreeBSD \u5b98\u65b9\u6587\u6863\u3002 Python3 Documentation : Python3 \u5b98\u65b9\u4e2d\u6587\u6587\u6863\u3002 C++ Reference : C++ \u53c2\u8003\u624b\u518c\u3002 OI Wiki : \u7f16\u7a0b\u7ade\u8d5b\u77e5\u8bc6\u6574\u5408\u7ad9\u70b9\u3002 Microsoft Learn : \u5fae\u8f6f\u5b98\u65b9\u7684\u5b66\u4e60\u5e73\u53f0\uff0c\u5305\u542b\u4e86\u7edd\u5927\u591a\u6570\u5fae\u8f6f\u4ea7\u54c1\u7684\u6587\u6863\u3002 Arch Wiki : \u4e13\u4e3a Arch Linux \u800c\u5199\u7684 Wiki\uff0c\u5305\u542b\u4e86\u5927\u91cf Linux \u76f8\u5173\u7684\u77e5\u8bc6\u3002 Qt Wiki : Qt \u5b98\u65b9 Wiki\u3002 OpenCV \u4e2d\u6587\u6587\u6863 : OpenCV \u7684\u793e\u533a\u7248\u4e2d\u6587\u6587\u6863\u3002 npm Docs : npm \u5b98\u65b9\u6587\u6863\u3002","title":"\u767e\u79d1\u7f51\u7ad9/\u8bcd\u5178\u6027\u8d28\u7684\u7f51\u7ad9"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_7","text":"GitHub : \u8bb8\u591a\u5f00\u6e90\u9879\u76ee\u7684\u6258\u7ba1\u5e73\u53f0\uff0c\u4e5f\u662f\u8bb8\u591a\u5f00\u6e90\u9879\u76ee\u7684\u4e3b\u8981\u4ea4\u6d41\u5e73\u53f0\uff0c\u901a\u8fc7\u67e5\u770b issue \u53ef\u4ee5\u89e3\u51b3\u8bb8\u591a\u95ee\u9898\u3002 StackExchange : Stack Exchange \u662f\u7531 181 \u4e2a\u95ee\u7b54\u793e\u533a\u7ec4\u6210\uff08\u5176\u4e2d\u5305\u62ec Stack Overflow\uff09\u7684\u7f16\u7a0b\u793e\u533a\u3002 StackOverflow : Stack Overflow \u662f\u4e00\u4e2a\u4e0e\u7a0b\u5e8f\u76f8\u5173\u7684 IT \u6280\u672f\u95ee\u7b54\u7f51\u7ad9\u3002 Gitee : \u4e00\u4e2a\u7c7b\u4f3c\u4e8e GitHub \u7684\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\uff0c\u53ef\u4ee5\u5728\u5bf9\u5e94\u9879\u76ee\u7684 issue \u91cc\u67e5\u627e\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u89e3\u7b54\u3002 \u77e5\u4e4e : \u4e00\u4e2a\u7c7b\u4f3c\u4e8e Quora \u7684\u95ee\u7b54\u793e\u533a\uff0c\u53ef\u4ee5\u5728\u5176\u4e2d\u63d0\u95ee\uff0c\u4e00\u4e9b\u95ee\u7b54\u5305\u542b\u6709\u8ba1\u7b97\u673a\u7684\u77e5\u8bc6\u3002 \u535a\u5ba2\u56ed : \u4e00\u4e2a\u9762\u5411\u5f00\u53d1\u8005\u7684\u77e5\u8bc6\u5206\u4eab\u793e\u533a\uff0c\u62e5\u6709\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u535a\u5ba2\uff0c\u6b63\u786e\u7387\u4e0d\u80fd\u4fdd\u8bc1\uff0c\u8bf7\u8c28\u614e\u4f7f\u7528\u3002 CSDN : \u62e5\u6709\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u535a\u5ba2\uff0c\u6b63\u786e\u7387\u4e0d\u80fd\u4fdd\u8bc1\uff0c\u8bf7\u8c28\u614e\u4f7f\u7528\u3002","title":"\u4ea4\u6d41\u5e73\u53f0"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_8","text":"tophub : \u65b0\u95fb\u70ed\u699c\u5408\u96c6\uff08\u7efc\u5408\u4e86\u77e5\u4e4e\u3001\u5fae\u535a\u3001\u767e\u5ea6\u3001\u5fae\u4fe1\u7b49\uff09\u3002 feedly : \u8457\u540d\u7684 RSS \u8ba2\u9605\u6e90\u9605\u8bfb\u5668\u3002 speedtest : \u5728\u7ebf\u7f51\u7edc\u6d4b\u901f\u7f51\u7ad9\u3002 public-apis : \u516c\u5171 API \u5408\u96c6\u5217\u8868\u3002 numberempire : \u51fd\u6570\u6c42\u5bfc\u5de5\u5177\u3002 sustech-application : \u5357\u65b9\u79d1\u6280\u5927\u5b66\u7ecf\u9a8c\u5206\u4eab\u7f51\u3002 vim-adventures : \u4e00\u6b3e\u57fa\u4e8e vim \u952e\u76d8\u5feb\u6377\u952e\u7684\u5728\u7ebf\u6e38\u620f\u3002 vimsnake : \u5229\u7528 vim \u73a9\u8d2a\u5403\u86c7\u3002 keybr : \u5b66\u4e60\u76f2\u6253\u7684\u7f51\u7ad9\u3002 Awesome C++ : \u5f88\u68d2\u7684 C/C++ \u6846\u67b6\u3001\u5e93\u3001\u8d44\u6e90\u7cbe\u9009\u5217\u8868\u3002 HelloGitHub : \u5206\u4eab GitHub \u4e0a\u6709\u8da3\u3001\u5165\u95e8\u7ea7\u7684\u5f00\u6e90\u9879\u76ee\u3002","title":"\u6742\u9879"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/","text":"Contributed by @HardwayLinka \u8ba1\u7b97\u673a\u9886\u57df\u7684\u77e5\u8bc6\u8986\u76d6\u9762\u5f88\u5e7f\u5e76\u4e14\u66f4\u65b0\u901f\u5ea6\u5f88\u5feb\uff0c\u56e0\u6b64\u4fdd\u6301\u7ec8\u8eab\u5b66\u4e60\u7684\u4e60\u60ef\u5f88\u91cd\u8981\u3002\u4f46\u5728\u65e5\u5e38\u5f00\u53d1\u548c\u5b66\u4e60\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u83b7\u53d6\u77e5\u8bc6\u7684\u6765\u6e90\u76f8\u5bf9\u590d\u6742\u4e14\u7ec6\u788e\u3002\u6709\u6210\u767e\u4e0a\u5343\u9875\u7684\u6587\u6863\u624b\u518c\uff0c\u4e5f\u6709\u5be5\u5be5\u6570\u8bed\u7684\u535a\u5ba2\uff0c\u751a\u81f3\u95f2\u6687\u65f6\u624b\u673a\u4e0a\u5212\u8fc7\u7684\u67d0\u5219\u65b0\u95fb\u548c\u516c\u4f17\u53f7\u90fd\u6709\u53ef\u80fd\u5305\u542b\u6211\u4eec\u611f\u5174\u8da3\u7684\u77e5\u8bc6\u3002\u56e0\u6b64\uff0c\u5982\u4f55\u5229\u7528\u73b0\u6709\u7684\u5404\u7c7b\u5de5\u5177\uff0c\u5f62\u6210\u4e00\u5957\u9002\u5408\u81ea\u5df1\u7684\u5b66\u4e60\u5de5\u4f5c\u6d41\uff0c\u5c06\u4e0d\u540c\u6765\u6e90\u7684\u77e5\u8bc6\u788e\u7247\u6574\u5408\u8fdb\u5c5e\u4e8e\u81ea\u5df1\u7684\u77e5\u8bc6\u5e93\uff0c\u65b9\u4fbf\u4e4b\u540e\u7684\u67e5\u9605\u4e0e\u590d\u4e60\uff0c\u5c31\u663e\u5f97\u5c24\u4e3a\u91cd\u8981\u3002\u7ecf\u8fc7\u4e24\u5e74\u5de5\u4f5c\u4e4b\u4f59\u7684\u5b66\u4e60\u540e\uff0c\u6211\u78e8\u5408\u51fa\u4e86\u4ee5\u4e0b\u5b66\u4e60\u5de5\u4f5c\u6d41\uff1a \u5e95\u5c42\u6838\u5fc3\u903b\u8f91 \u4e00\u5f00\u59cb\u6211\u5b66\u4e60\u65b0\u77e5\u8bc6\u65f6\u4f1a\u53c2\u8003\u4e2d\u6587\u535a\u5ba2\uff0c\u4f46\u5728\u4ee3\u7801\u5b9e\u8df5\u65f6\u5f80\u5f80\u4f1a\u53d1\u73b0\u6f0f\u6d1e\u548cbug\u3002\u6211\u9010\u6e10\u610f\u8bc6\u5230\u6211\u53c2\u8003\u7684\u4fe1\u606f\u53ef\u80fd\u662f\u9519\u8bef\u7684\uff0c\u6bd5\u7adf\u53d1\u535a\u5ba2\u7684\u95e8\u69db\u4f4e\uff0c\u6587\u7ae0\u53ef\u4fe1\u5ea6\u4e0d\u9ad8\uff0c\u4e8e\u662f\u6211\u5f00\u59cb\u67e5\u9605\u4e00\u4e9b\u76f8\u5173\u7684\u4e2d\u6587\u4e66\u7c4d\u3002 \u4e2d\u6587\u4e66\u7c4d\u7684\u786e\u662f\u6bd4\u8f83\u5168\u9762\u4e14\u7cfb\u7edf\u5730\u8bb2\u89e3\u4e86\u77e5\u8bc6\u70b9\uff0c\u4f46\u4f17\u6240\u5468\u77e5\uff0c\u8ba1\u7b97\u673a\u6280\u672f\u66f4\u8fed\u8fc5\u901f\uff0c\u53c8\u56e0\u4e3a\u8001\u7f8e\u5728 CS \u65b9\u9762\u4e00\u76f4\u90fd\u662f\u706f\u5854\uff0c\u6240\u4ee5\u4e00\u822c\u4e2d\u6587\u4e66\u7c4d\u91cc\u7684\u5185\u5bb9\u4f1a\u6ede\u540e\u4e8e\u5f53\u524d\u6700\u65b0\u7684\u77e5\u8bc6\uff0c\u5bfc\u81f4\u6211\u8ddf\u7740\u4e2d\u6587\u4e66\u7c4d\u5b9e\u8df5\u4f1a\u51fa\u73b0\u8f6f\u4ef6\u7248\u672c\u5dee\u5f02\u7684\u95ee\u9898\u3002\u8fd9\u65f6\u6211\u5f00\u59cb\u610f\u8bc6\u5230\u4e00\u624b\u4fe1\u606f\u7684\u91cd\u8981\u6027\uff0c\u6709\u4e9b\u4e2d\u6587\u4e66\u7c4d\u662f\u7ffb\u8bd1\u82f1\u6587\u4e66\u7c4d\u7684\uff0c\u4e00\u822c\u7ffb\u8bd1\u4e00\u672c\u4e66\u4e5f\u8981\u4e00\u4e24\u5e74\uff0c\u8fd9\u4f1a\u5bfc\u81f4\u4fe1\u606f\u4f20\u9012\u7684\u5ef6\u8fdf\uff0c\u8fd8\u6709\u5c31\u662f\u7ffb\u8bd1\u7684\u8fc7\u7a0b\u4e2d\u4fe1\u606f\u4f1a\u6709\u635f\u5931\u3002\u5982\u679c\u4e00\u672c\u4e2d\u6587\u4e66\u7c4d\u4e0d\u662f\u7ffb\u8bd1\u7684\u5462\uff0c\u90a3\u4e48\u5b83\u5927\u6982\u7387\u4e5f\u53c2\u8003\u4e86\u5176\u4ed6\u4e66\u7c4d\uff0c\u53c2\u8003\u7684\u8fc7\u7a0b\u4f1a\u5e26\u6709\u5bf9\u82f1\u6587\u539f\u8457\u4e2d\u8bed\u4e49\u7406\u89e3\u7684\u504f\u5dee\u3002 \u4e8e\u662f\u6211\u5c31\u987a\u5176\u81ea\u7136\u5730\u5f00\u59cb\u7ffb\u9605\u82f1\u6587\u4e66\u7c4d\u3002\u4e0d\u5f97\u4e0d\u8bf4\uff0c\u82f1\u6587\u4e66\u7c4d\u5185\u5bb9\u7684\u8d28\u91cf\u6574\u4f53\u662f\u6bd4\u4e2d\u6587\u4e66\u7c4d\u9ad8\u7684\u3002\u540e\u6765\u968f\u7740\u5b66\u4e60\u7684\u5c42\u5c42\u6df1\u5165\uff0c\u4ee5\u77e5\u8bc6\u7684\u65f6\u6548\u6027\u548c\u5b8c\u6574\u6027\u51fa\u53d1\uff0c\u6211\u53d1\u73b0 \u6e90\u4ee3\u7801 > \u5b98\u65b9\u6587\u6863 > \u82f1\u6587\u4e66\u7c4d > \u82f1\u6587\u535a\u5ba2 > \u4e2d\u6587\u535a\u5ba2 \uff0c\u6700\u540e\u6211\u5f97\u51fa\u4e86\u4e00\u5f20 \u4fe1\u606f\u635f\u5931\u56fe \uff1a \u867d\u7136\u4e00\u624b\u4fe1\u606f\u5f88\u91cd\u8981\uff0c\u4f46\u540e\u9762\u7684 N \u624b\u4fe1\u606f\u5e76\u975e\u4e00\u65e0\u662f\u5904\uff0c\u56e0\u4e3a\u8fd9 N \u624b\u8d44\u6599\u91cc\u5305\u542b\u4e86\u4f5c\u8005\u5bf9\u6e90\u77e5\u8bc6\u7684\u8f6c\u5316\u2014\u2014\u4f8b\u5982\u57fa\u4e8e\u67d0\u79cd\u903b\u8f91\u7684\u68b3\u7406\uff08\u6d41\u7a0b\u56fe\u3001\u601d\u7ef4\u5bfc\u56fe\u7b49\uff09\u6216\u662f\u4e00\u4e9b\u81ea\u5df1\u7684\u7406\u89e3\uff08\u5bf9\u6e90\u77e5\u8bc6\u7684\u62bd\u8c61\u3001\u7c7b\u6bd4\u3001\u5ef6\u4f38\u5230\u5176\u4ed6\u77e5\u8bc6\u70b9\uff09\uff0c\u8fd9\u4e9b\u8f6c\u5316\u53ef\u4ee5\u5e2e\u52a9\u6211\u4eec\u66f4\u5feb\u5730\u638c\u63e1\u548c\u5de9\u56fa\u77e5\u8bc6\u7684\u6838\u5fc3\u5185\u5bb9\uff0c\u5c31\u5982\u540c\u521d\u9ad8\u4e2d\u5b66\u4e60\u65f6\u4f7f\u7528\u7684\u8f85\u5bfc\u4e66\u3002 \u6b64\u5916\uff0c\u5b66\u4e60\u7684\u8fc7\u7a0b\u4e2d\u548c\u522b\u4eba\u7684\u4ea4\u6d41\u5341\u5206\u91cd\u8981\uff0c\u8fd9\u4e9b N \u624b\u4fe1\u606f\u540c\u65f6\u8d77\u4e86\u548c\u5176\u4ed6\u4f5c\u8005\u4ea4\u6d41\u7684\u4f5c\u7528\uff0c\u8ba9\u6211\u4eec\u80fd\u91c7\u767e\u5bb6\u4e4b\u957f\u3002\u6240\u4ee5\u8fd9\u63d0\u793a\u6211\u4eec\u5b66\u4e60\u4e00\u4e2a\u77e5\u8bc6\u70b9\u65f6\u5148\u5c3d\u91cf\u9009\u62e9\u8d28\u91cf\u66f4\u9ad8\u7684\uff0c\u4fe1\u606f\u635f\u5931\u8f83\u5c11\u7684\u4fe1\u606f\u6e90\uff0c\u540c\u65f6\u4e0d\u59a8\u53c2\u8003\u591a\u4e2a\u4fe1\u606f\u6e90\uff0c\u8ba9\u81ea\u5df1\u7684\u7406\u89e3\u66f4\u52a0\u5168\u9762\u51c6\u786e\u3002 \u73b0\u5b9e\u5de5\u4f5c\u751f\u6d3b\u4e2d\u7684\u5b66\u4e60\u5f88\u96be\u50cf\u5b66\u6821\u91cc\u4e00\u6837\u56f4\u7ed5\u67d0\u4e2a\u5355\u4e00\u77e5\u8bc6\u70b9\u7531\u6d45\u5165\u6df1\uff0c\u7ecf\u5e38\u4f1a\u5728\u5b66\u4e60\u8fc7\u7a0b\u4e2d\u6d89\u53ca\u5230\u5176\u4ed6\u77e5\u8bc6\u70b9\uff0c\u6bd4\u5982\u4e00\u4e9b\u65b0\u7684\u4e13\u6709\u540d\u8bcd\uff0c\u4e00\u7bc7\u6ca1\u6709\u8bfb\u8fc7\u7684\u7ecf\u5178\u8bba\u6587\uff0c\u4e00\u6bb5\u672a\u66fe\u63a5\u89e6\u8fc7\u7684\u4ee3\u7801\u7b49\u7b49\u3002\u8fd9\u5c31\u8981\u6c42\u6211\u4eec\u52e4\u4e8e\u601d\u8003\uff0c\u5228\u6839\u7a76\u5e95\u5730\u201c\u9012\u5f52\u201d\u5b66\u4e60\uff0c\u7ed9\u591a\u4e2a\u77e5\u8bc6\u70b9\u4e4b\u95f4\u5efa\u7acb\u8054\u7cfb\u3002 \u9009\u62e9\u5408\u9002\u7684\u7b14\u8bb0\u8f6f\u4ef6 \u5de5\u4f5c\u6d41\u7684\u9aa8\u67b6\u56f4\u7ed5 \u5355\u4e2a\u77e5\u8bc6\u70b9\u591a\u53c2\u8003\u6e90\uff0c\u52e4\u4e8e\u63d0\u95ee\u7ed9\u591a\u4e2a\u77e5\u8bc6\u70b9\u4e4b\u95f4\u5efa\u7acb\u8054\u7cfb \u7684\u5e95\u5c42\u6838\u5fc3\u903b\u8f91\u5efa\u7acb\u3002\u6211\u4eec\u5199\u8bba\u6587\u5176\u5b9e\u5c31\u662f\u9075\u5faa\u8fd9\u4e2a\u5e95\u5c42\u903b\u8f91\u7684\u3002\u8bba\u6587\u4e00\u822c\u4f1a\u6709\u811a\u6ce8\u53bb\u89e3\u91ca\u4e00\u4e9b\u5173\u952e\u5b57\uff0c\u5e76\u4e14\u8bba\u6587\u672b\u5c3e\u4f1a\u6709\u591a\u4e2a\u53c2\u8003\u7684\u6765\u6e90\uff0c\u4f46\u662f\u6211\u4eec\u5e73\u65f6\u5199\u7b14\u8bb0\u4f1a\u968f\u610f\u5f97\u591a\uff0c\u56e0\u6b64\u9700\u8981\u66f4\u7075\u6d3b\u7684\u65b9\u5f0f\u3002 \u5e73\u65f6\u5199\u4ee3\u7801\u4e60\u60ef\u5728 IDE \u91cc\u4e00\u952e\u8df3\u8f6c\uff0c\u628a\u76f8\u5173\u7684\u51fd\u6570\u548c\u5b9e\u73b0\u5f88\u597d\u5730\u8054\u7cfb\u5728\u4e86\u4e00\u8d77\u3002\u4f60\u4e5f\u8bb8\u4f1a\u60f3\uff0c\u5982\u679c\u7b14\u8bb0\u4e5f\u80fd\u50cf\u4ee3\u7801\u90a3\u6837\u53ef\u4ee5\u8df3\u8f6c\u5c31\u597d\u4e86\u3002\u73b0\u5728\u5e02\u9762\u4e0a \u53cc\u94fe\u7b14\u8bb0\u8f6f\u4ef6 \u5c31\u53ef\u4ee5\u5f88\u597d\u5730\u89e3\u51b3\u8fd9\u4e00\u75db\u70b9\uff0c\u4f8b\u5982 Roam Research\u3001Logseq\u3001Notion \u548c Obsidian\u3002Roam Research \u548c Logseq \u90fd\u662f\u57fa\u4e8e\u5927\u7eb2\u7ed3\u6784\u7684\u7b14\u8bb0\u8f6f\u4ef6\uff0c\u800c \u5927\u7eb2\u7ed3\u6784 \u662f\u529d\u9000\u6211\u4f7f\u7528\u8fd9\u4e24\u6b3e\u8f6f\u4ef6\u7684\u539f\u56e0\u3002\u4e00\u662f \u5927\u7eb2\u7ed3\u6784 \u505a\u7b14\u8bb0\u5bb9\u6613\u4f7f\u6587\u7ae0\u7eb5\u5411\u7bc7\u5e45\u592a\u957f\uff0c\u4e8c\u662f\u5982\u679c\u5d4c\u5957\u7ed3\u6784\u8fc7\u591a\u4f1a\u5360\u6a2a\u5411\u7684\u7bc7\u5e45\u3002Notion \u9875\u9762\u6253\u5f00\u6162\uff0c\u5f03\u4e4b\u3002\u6700\u7ec8\u6211\u9009\u62e9\u4e86 Obsidian\uff0c\u539f\u56e0\u5982\u4e0b\uff1a Obsidian \u57fa\u4e8e\u672c\u5730\uff0c\u6253\u5f00\u901f\u5ea6\u5feb\uff0c\u4e14\u53ef\u5b58\u653e\u5f88\u591a\u7535\u5b50\u4e66\u3002\u6211\u7684\u7b14\u8bb0\u672c\u662f 32g \u5185\u5b58\u7684\u534e\u7855\u5929\u9009\u4e00\u4ee3\uff0c\u62ff\u6765\u8dd1 Obsidian \u53ef\u4ee5\u5feb\u5230\u98de\u8d77 Obsidian \u57fa\u4e8e Markdown\u3002\u8fd9\u4e5f\u662f\u4e00\u4e2a\u4f18\u52bf\uff0c\u5982\u679c\u7b14\u8bb0\u8f6f\u4ef6\u5199\u7684\u7b14\u8bb0\u683c\u5f0f\u662f\u81ea\u5bb6\u7684\u7f16\u7801\u683c\u5f0f\uff0c\u90a3\u4e48\u4e0d\u65b9\u4fbf\u5176\u4ed6\u7b2c\u4e09\u65b9\u62d3\u5c55\uff0c\u4e5f\u4e0d\u65b9\u4fbf\u5c06\u7b14\u8bb0\u7528\u5176\u4ed6\u8f6f\u4ef6\u6253\u5f00\uff0c\u6bd4\u5982 qq \u97f3\u4e50\u4e0b\u8f7d\u6b4c\u66f2\u6709\u81ea\u5df1\u7684\u683c\u5f0f\uff0c\u5176\u4ed6\u64ad\u653e\u5668\u64ad\u653e\u4e0d\u4e86\uff0c\u8fd9\u633a\u6076\u5fc3\u4eba\u7684 Obsidian \u6709\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\uff0c\u5e76\u4e14\u8fd9\u4e2a\u751f\u6001\u65e2\u5927\u53c8\u6d3b\u8dc3\uff0c\u5373\u63d2\u4ef6\u6570\u91cf\u591a\uff0c\u4e14\u70ed\u95e8\u63d2\u4ef6\u7684 star \u591a\uff0c\u5f00\u53d1\u8005\u4f1a\u53cd\u9988\u7528\u6237 issue\uff0c\u7248\u672c\u4f1a\u6301\u7eed\u8fed\u4ee3\u3002\u501f\u52a9\u8fd9\u4e9b\u63d2\u4ef6\uff0c\u53ef\u4ee5\u4f7f Osidian \u8fbe\u5230 all in one \u7684\u6548\u679c\uff0c\u5373\u5404\u7c7b\u77e5\u8bc6\u6765\u6e90\u53ef\u4ee5\u7edf\u4e00\u6574\u5408\u4e8e\u4e00\u5904 \u4fe1\u606f\u7684\u6765\u6e90 Obsidian \u7684\u63d2\u4ef6\u4f7f\u5176\u53ef\u4ee5\u652f\u6301 pdf \u683c\u5f0f\uff0c\u800c\u5176\u672c\u8eab\u53c8\u652f\u6301 Markdown \u683c\u5f0f\u3002\u5982\u679c\u60f3\u8981 all in one \uff0c\u90a3\u4e48\u53ef\u4ee5\u57fa\u4e8e\u8fd9\u4e24\u4e2a\u683c\u5f0f\uff0c\u5c06\u5176\u4ed6\u683c\u5f0f\u6587\u4ef6\u8f6c\u6362\u4e3a pdf \u6216\u8005 Markdown\u3002 \u90a3\u4e48\u73b0\u5728\u5c31\u9762\u4e34\u7740\u4e24\u4e2a\u95ee\u9898\uff1a \u6709\u4ec0\u4e48\u683c\u5f0f \u600e\u4e48\u8f6c\u6362\u4e3a pdf \u6216 Markdown \u6709\u4ec0\u4e48\u683c\u5f0f \u6587\u4ef6\u683c\u5f0f\u4f9d\u6258\u4e8e\u5176\u5c55\u793a\u7684\u5e73\u53f0\uff0c\u6240\u4ee5\u5728\u770b\u6709\u4ec0\u4e48\u683c\u5f0f\u4e4b\u524d\uff0c\u53ef\u4ee5\u7f57\u5217\u4e00\u4e0b\u6211\u5e73\u65f6\u83b7\u53d6\u4fe1\u606f\u7684\u6765\u6e90\uff1a \u53ef\u4ee5\u770b\u5230\u4e3b\u8981\u5206\u4e3a \u6587\u7ae0 \u3001 \u8bba\u6587 \u3001 \u7535\u5b50\u4e66 \u3001 \u8bfe\u7a0b \u56db\u7c7b\uff0c\u5305\u542b\u7684\u683c\u5f0f\u4e3b\u8981\u6709 \u7f51\u9875 \u3001 pdf \u3001 mobi \u3001 azw \u3001 azw3 \u3002 \u600e\u4e48\u8f6c\u6362\u4e3a pdf \u6216 Markdown \u5728\u7ebf\u7684\u6587\u7ae0\u548c\u8bfe\u7a0b\u7b49\u5927\u591a\u4ee5\u7f51\u9875\u5f62\u5f0f\u5448\u73b0\uff0c\u800c\u5c06\u7f51\u9875\u8f6c\u6362\u4e3a Markdown \u53ef\u4ee5\u4f7f\u7528\u526a\u85cf\u8f6f\u4ef6\uff0c\u5b83\u53ef\u4ee5\u5c06\u7f51\u9875\u6587\u7ae0\u8f6c\u6362\u4e3a\u591a\u79cd\u6587\u672c\u683c\u5f0f\u6587\u4ef6\u3002\u6211\u9009\u62e9\u7684\u5de5\u5177\u662f\u7b80\u60a6\uff0c\u4f7f\u7528\u7b80\u60a6\u53ef\u4ee5\u5c06\u51e0\u4e4e\u6240\u6709\u5e73\u53f0\u7684\u6587\u7ae0\u5f88\u597d\u5730\u526a\u85cf\u4e3a Markdown \u5e76\u4e14\u5bfc\u5165\u5230 Obsidian\u3002 \u5bf9\u4e8e\u8bba\u6587\u548c\u7535\u5b50\u4e66\u800c\u8a00\u5982\u679c\u683c\u5f0f\u672c\u8eab\u5c31\u662f pdf \u5219\u4e07\u4e8b\u5927\u5409\uff0c\u4f46\u5982\u679c\u662f\u5176\u4ed6\u683c\u5f0f\u5219\u53ef\u4ee5\u4f7f\u7528 calibre \u8fdb\u884c\u8f6c\u6362\uff1a \u73b0\u5728\u5229\u7528 Obsidian \u7684 pdf \u63d2\u4ef6\u548c\u5176\u539f\u751f\u7684 markdown \u652f\u6301\u5c31\u53ef\u4ee5\u7545\u5feb\u65e0\u6bd4\u5730\u505a\u7b14\u8bb0\u5e76\u4e14\u5728\u8fd9\u4e9b\u6587\u7ae0\u7684\u5bf9\u5e94\u7ae0\u8282\u8fdb\u884c\u65e0\u7f1d\u8854\u63a5\u5730\u5f15\u7528\u8df3\u8f6c\u5566\uff08\u5177\u4f53\u64cd\u4f5c\u53c2\u8003\u4e0b\u6587\u7684\u201c\u4fe1\u606f\u7684\u5904\u7406\u201d\u6a21\u5757\uff09\u3002 \u5982\u4f55\u7edf\u4e00\u7ba1\u7406\u4fe1\u606f\u6765\u6e90 \u5bf9\u4e8e pdf \u7b49\u6587\u4ef6\u7c7b\u8d44\u6e90\u53ef\u4ee5\u672c\u5730\u6216\u8005\u4e91\u7aef\u5b58\u50a8\uff0c\u800c\u7f51\u9875\u7c7b\u8d44\u6e90\u5219\u53ef\u4ee5\u5206\u95e8\u522b\u7c7b\u5730\u653e\u5165\u6d4f\u89c8\u5668\u7684\u6536\u85cf\u5939\uff0c\u6216\u8005\u526a\u85cf\u6210 markdown \u683c\u5f0f\u7684\u7b14\u8bb0\uff0c\u4f46\u662f\u7f51\u9875\u6d4f\u89c8\u5668\u4e0d\u80fd\u5b9e\u73b0\u79fb\u52a8\u7aef\u7684\u7f51\u9875\u6536\u85cf\u3002\u4e3a\u4e86\u5b9e\u73b0\u8de8\u7aef\u7f51\u9875\u6536\u85cf\u6211\u9009\u7528\u4e86 Cubox\uff0c\u5728\u624b\u673a\u7aef\u770b\u5230\u611f\u5174\u8da3\u7684\u7f51\u9875\u65f6\u53ea\u9700\u5c0f\u624b\u4e00\u5212\uff0c\u4fbf\u80fd\u5c06\u7f51\u9875\u7edf\u4e00\u4fdd\u5b58\u4e0b\u6765\u3002\u867d\u7136\u514d\u8d39\u7248\u53ea\u80fd\u6536\u85cf 100 \u4e2a\u7f51\u9875\uff0c\u4f46\u5176\u5b9e\u591f\u7528\u4e86\uff0c\u8fd8\u53ef\u4ee5\u5728\u6536\u85cf\u6ee1\u65f6\u7763\u4fc3\u81ea\u5df1\u8d76\u7d27\u526a\u85cf\u6d88\u5316\u6389\u8fd9\u4e9b\u7f51\u9875\uff0c\u8ba9\u6536\u85cf\u4e0d\u5403\u7070\u3002 \u9664\u6b64\u4e4b\u5916\uff0c\u56de\u60f3\u4e00\u4e0b\u6211\u4eec\u5e73\u65f6\u6536\u85cf\u7684\u7f51\u9875\uff0c\u5c31\u4f1a\u53d1\u73b0\u6709\u5f88\u591a\u5e76\u4e0d\u662f\u50cf\u77e5\u4e4e\u3001\u6398\u91d1\u8fd9\u7c7b\u6709\u5b8c\u6574\u529f\u80fd\u7684\u535a\u5ba2\u5e73\u53f0\uff0c\u66f4\u591a\u7684\u662f\u4e2a\u4eba\u5efa\u7684\u5c0f\u7ad9\uff0c\u800c\u8fd9\u4e9b\u5c0f\u7ad9\u5f80\u5f80\u6ca1\u6709\u79fb\u52a8\u7aef\u5e94\u7528\uff0c\u8fd9\u6837\u5e73\u65f6\u5237\u624b\u673a\u7684\u65f6\u5019\u4e5f\u770b\u4e0d\u5230\uff0c\u653e\u5230\u6d4f\u89c8\u5668\u7684\u6536\u85cf\u5939\u91cc\u53c8\u5bb9\u6613\u6f0f\u4e86\u770b\uff0c\u6709\u65b0\u6587\u7ae0\u53d1\u5e03\u6211\u4eec\u4e5f\u4e0d\u80fd\u7b2c\u4e00\u65f6\u95f4\u6536\u5230\u901a\u77e5\uff0c\u8fd9\u4e2a\u65f6\u5019\u5c31\u9700\u8981\u4e00\u79cd\u53eb RSS \u7684\u901a\u4fe1\u534f\u8bae\u3002 RSS \uff08\u82f1\u6587\u5168\u79f0\uff1aRDF Site Summary \u6216 Really Simple Syndication\uff09\uff0c\u4e2d\u6587\u8bd1\u4f5c\u7b80\u6613\u4fe1\u606f\u805a\u5408\uff0c\u4e5f\u79f0\u805a\u5408\u5185\u5bb9\uff0c\u662f\u4e00\u79cd\u6d88\u606f\u6765\u6e90\u683c\u5f0f\u89c4\u8303\uff0c\u7528\u4ee5\u805a\u5408\u591a\u4e2a\u7f51\u7ad9\u66f4\u65b0\u7684\u5185\u5bb9\u5e76\u81ea\u52a8\u901a\u77e5\u7f51\u7ad9\u8ba2\u9605\u8005\u3002\u7535\u8111\u7aef\u53ef\u4ee5\u501f\u52a9 RSSHub Radar \u6765\u5feb\u901f\u53d1\u73b0\u548c\u751f\u6210 RSS \u8ba2\u9605\u6e90\uff0c\u63a5\u7740\u4f7f\u7528 Feedly \u6765\u8ba2\u9605\u8fd9\u4e9b RSS \u8ba2\u9605\u6e90\uff08 RSSHub Radar \u548c Feedly \u5728 chrome \u6d4f\u89c8\u5668\u4e2d\u5747\u6709\u5b98\u65b9\u63d2\u4ef6\uff09\u3002 \u5230\u8fd9\u91cc\u4e3a\u6b62\uff0c\u6536\u96c6\u4fe1\u606f\u7684\u6d41\u7a0b\u5df2\u7ecf\u6bd4\u8f83\u5b8c\u5907\u4e86\u3002\u4f46\u8d44\u6599\u518d\u591a\uff0c\u5206\u7c7b\u89c4\u6574\u5f97\u518d\u6f02\u4eae\uff0c\u4e5f\u5f97\u771f\u6b63\u5185\u5316\u6210\u81ea\u5df1\u7684\u624d\u7ba1\u7528\u3002\u56e0\u6b64\u5728\u6536\u96c6\u5b8c\u4fe1\u606f\u540e\u5c31\u5f97\u8fdb\u4e00\u6b65\u5730\u5904\u7406\u4fe1\u606f\uff0c\u5373\u9605\u8bfb\u8fd9\u4e9b\u4fe1\u606f\uff0c\u5982\u679c\u662f\u82f1\u6587\u4fe1\u606f\u7684\u8bdd\u8fd8\u5f97\u641e\u61c2\u82f1\u6587\u7684\u8bed\u4e49\uff0c\u52a0\u7c97\u9ad8\u4eae\u91cd\u70b9\u53e5\u5b50\u6bb5\u843d\uff0c\u6807\u8bb0\u6709\u7591\u95ee\u7684\u5730\u65b9\uff0c\u53d1\u6563\u8054\u60f3\u76f8\u5173\u7684\u77e5\u8bc6\u70b9\uff0c\u6700\u540e\u5199\u4e0a\u81ea\u5df1\u7684\u603b\u7ed3\u3002\u90a3\u4e48\u5728\u8fd9\u8fc7\u7a0b\u4e2d\u9700\u8981\u4f7f\u7528\u5230\u4ec0\u4e48\u5de5\u5177\u5462\uff1f \u4fe1\u606f\u7684\u5904\u7406 \u82f1\u6587\u4fe1\u606f \u9762\u5bf9\u82f1\u6587\u7684\u8d44\u6599\uff0c\u6211\u4ee5\u524d\u662f\u7528 \u6709\u9053\u8bcd\u5178 \u6765\u5212\u8bcd\u7ffb\u8bd1\uff0c\u9047\u5230\u53e5\u5b50\u7684\u8bdd\u5c31\u4f7f\u7528\u8c37\u6b4c\u7ffb\u8bd1\uff0c\u9047\u5230\u5927\u6bb5\u843d\u65f6\u5c31\u4f7f\u7528 deepl \uff0c\u4e45\u800c\u4e45\u4e4b\uff0c\u53d1\u73b0\u8fd9\u6837\u770b\u82f1\u8bed\u6587\u732e\u592a\u6162\u4e86\uff0c\u5f97\u7528\u4e09\u4e2a\u5de5\u5177\u624d\u80fd\u6ee1\u8db3\u7ffb\u8bd1\u8fd9\u4e00\u4e2a\u9700\u6c42\uff0c\u5982\u679c\u6709\u4e00\u4e2a\u5de5\u5177\u80fd\u591f\u540c\u65f6\u5b9e\u73b0\u5bf9\u5355\u8bcd\u3001\u53e5\u5b50\u548c\u6bb5\u843d\u7684\u5212\u8bcd\u7ffb\u8bd1\u5c31\u597d\u4e86\u3002\u6211\u8054\u60f3\u5230\u7814\u7a76\u751f\u4eec\u5e94\u8be5\u4f1a\u7ecf\u5e38\u63a5\u89e6\u82f1\u8bed\u6587\u732e\uff0c\u4e8e\u662f\u6211\u5c31\u641c \u7814\u7a76\u751f + \u7ffb\u8bd1\u8f6f\u4ef6 \uff0c\u5728\u68c0\u7d22\u7ed3\u679c\u91cc\u6211\u6700\u7ec8\u9009\u62e9\u4e86 Quicker + \u6c99\u62c9\u67e5\u8bcd \u8fd9\u4e2a\u642d\u914d\u6765\u8fdb\u884c\u5212\u8bcd\u7ffb\u8bd1\u3002 \u4f7f\u7528\u8fd9\u5957\u7ec4\u5408\u53ef\u4ee5\u5b9e\u73b0\u5728\u6d4f\u89c8\u5668\u5916\u7684\u5176\u4ed6\u8f6f\u4ef6\u5185\u8fdb\u884c\u5212\u8bcd\u7ffb\u8bd1\uff0c\u5e76\u4e14\u652f\u6301\u5355\u8bcd\u3001\u53e5\u5b50\u548c\u6bb5\u843d\u7684\u7ffb\u8bd1\uff0c\u4ee5\u53ca\u6bcf\u6b21\u7684\u7ffb\u8bd1\u4f1a\u6709\u591a\u4e2a\u7ffb\u8bd1\u5e73\u53f0\u7684\u7ed3\u679c\u3002btw\uff0c\u5982\u679c\u67e5\u5355\u8bcd\u65f6\u4e0d\u7740\u6025\u7684\u8bdd\uff0c\u53ef\u4ee5\u987a\u4fbf\u770b\u770b \u79d1\u6797\u65af\u9ad8\u9636 \u7684\u7ffb\u8bd1\uff0c\u8fd9\u4e2a\u8bcd\u5178\u7684\u4f18\u70b9\u5c31\u662f\u4f1a\u7528\u82f1\u6587\u53bb\u89e3\u91ca\u82f1\u6587\uff0c\u53ef\u4ee5\u63d0\u4f9b\u591a\u4e2a\u4e0a\u4e0b\u6587\u5e2e\u52a9\u4f60\u7406\u89e3\uff0c\u5bf9\u4e8e\u5b66\u4e60\u82f1\u6587\u5355\u8bcd\u4e5f\u6709\u5e2e\u52a9\uff0c\u56e0\u4e3a\u7528\u82f1\u6587\u89e3\u91ca\u82f1\u6587\u624d\u66f4\u63a5\u8fd1\u82f1\u8bed\u7684\u601d\u7ef4\u3002 \u591a\u5a92\u4f53\u4fe1\u606f \u5904\u7406\u5b8c\u6587\u672c\u7c7b\u7684\u4fe1\u606f\u540e\uff0c\u6211\u4eec\u8fd8\u5f97\u601d\u8003\u4e00\u4e0b\u600e\u4e48\u5904\u7406\u591a\u5a92\u4f53\u7c7b\u7684\u4fe1\u606f\u3002\u6b64\u5904\u7684\u591a\u5a92\u4f53\u6211\u7279\u6307\u82f1\u6587\u89c6\u9891\uff0c\u56e0\u4e3a\u6211\u6ca1\u6709\u7528\u64ad\u5ba2\u6216\u5f55\u97f3\u5b66\u4e60\u7684\u4e60\u60ef\uff0c\u800c\u4e14\u6211\u5df2\u7ecf\u57fa\u672c\u4e0d\u770b\u4e2d\u6587\u6559\u7a0b\u4e86\u3002\u73b0\u5728\u5f88\u591a\u56fd\u5916\u540d\u6821\u516c\u5f00\u8bfe\u90fd\u662f\u4ee5\u89c6\u9891\u7684\u5f62\u5f0f\uff0c\u5982\u679c\u80fd\u5bf9\u89c6\u9891\u8fdb\u884c\u505a\u7b14\u8bb0\u4f1a\u4e0d\u4f1a\u6709\u5e2e\u52a9\u5462\uff1f\u4e0d\u77e5\u9053\u5927\u5bb6\u6709\u6ca1\u8fd9\u6837\u7684\u60f3\u6cd5\uff0c\u5c31\u662f\u5982\u679c\u80fd\u628a\u8001\u5e08\u4e0a\u8bfe\u8bb2\u7684\u5185\u5bb9\u8f6c\u6362\u6210\u6587\u672c\u5c31\u597d\u4e86\uff0c\u56e0\u4e3a\u5e73\u65f6\u5b66\u4e60\u65f6\u6211\u4eec\u770b\u4e66\u7684\u901f\u5ea6\u5f80\u5f80\u4f1a\u6bd4\u8001\u5e08\u8bb2\u8bfe\u7684\u901f\u5ea6\u5feb\u3002\u521a\u597d Language Reactor \u8fd9\u4e2a\u8f6f\u4ef6\u53ef\u4ee5\u5c06\u6cb9\u7ba1\u548c\u7f51\u98de\u5185\u89c6\u9891\u7684\u5b57\u5e55\u5bfc\u51fa\u6765\uff0c\u540c\u65f6\u9644\u4e0a\u4e2d\u6587\u7ffb\u8bd1\u3002 \u6211\u4eec\u53ef\u4ee5\u628a Language Reactor \u5bfc\u51fa\u7684\u5b57\u5e55\u590d\u5236\u5230 Obsidian \u91cc\u9762\u4f5c\u4e3a\u6587\u7ae0\u6765\u8bfb\u3002\u9664\u4e86\u51fa\u4e8e\u5b66\u4e60\u7684\u9700\u6c42\uff0c\u4e5f\u53ef\u4ee5\u5728\u5e73\u65f6\u770b\u6cb9\u7ba1\u7684\u89c6\u9891\u65f6\u6253\u5f00\u8fd9\u4e2a\u63d2\u4ef6\uff0c\u8fd9\u4e2a\u63d2\u4ef6\u53ef\u4ee5\u540c\u65f6\u663e\u793a\u4e2d\u82f1\u6587\u5b57\u5e55\uff0c\u5e76\u4e14\u53ef\u4ee5\u5355\u51fb\u9009\u4e2d\u82f1\u6587\u5b57\u5e55\u4e2d\u4f60\u8ba4\u4e3a\u751f\u50fb\u7684\u5355\u8bcd\u540e\u663e\u793a\u5355\u8bcd\u91ca\u4e49\u3002 \u4f46\u9605\u8bfb\u6587\u672c\u5bf9\u4e8e\u4e00\u4e9b\u62bd\u8c61\u7684\u77e5\u8bc6\u70b9\u6765\u8bf4\u5e76\u4e0d\u662f\u6548\u7387\u6700\u9ad8\u7684\u5b66\u4e60\u65b9\u5f0f\u3002\u4fd7\u8bdd\u8bf4\uff0c\u4e00\u56fe\u80dc\u5343\u8a00\uff0c\u80fd\u4e0d\u80fd\u5c06\u67d0\u4e00\u6bb5\u77e5\u8bc6\u70b9\u7684\u6587\u672c\u548c\u5bf9\u5e94\u7684\u56fe\u7247\u751a\u81f3\u89c6\u9891\u753b\u9762\u64cd\u4f5c\u8054\u7cfb\u8d77\u6765\u5462\uff1f\u6211\u5728\u6d4f\u89c8 Obsidian \u7684\u63d2\u4ef6\u5e02\u573a\u65f6\uff0c\u53d1\u73b0\u4e86\u4e00\u4e2a\u53eb Media Extended \u7684\u63d2\u4ef6\uff0c\u8fd9\u4e2a\u63d2\u4ef6\u53ef\u4ee5\u5728\u4f60\u7684\u7b14\u8bb0\u91cc\u6dfb\u52a0\u8df3\u8f6c\u5230\u89c6\u9891\u6307\u5b9a\u65f6\u95f4\u8fdb\u5ea6\u7684\u94fe\u63a5\uff0c\u76f8\u5f53\u4e8e\u628a\u4f60\u7684\u7b14\u8bb0\u548c\u89c6\u9891\u8fde\u63a5\u8d77\u6765\u4e86\uff01\u8fd9\u521a\u597d\u53ef\u4ee5\u548c\u6211\u4e0a\u6587\u63d0\u5230\u7684\u751f\u6210\u89c6\u9891\u4e2d\u82f1\u6587\u5b57\u5e55\u642d\u914d\u8d77\u6765\uff0c\u5373\u6bcf\u4e00\u53e5\u5b57\u5e55\u5bf9\u5e94\u4e00\u4e2a\u65f6\u95f4\uff0c\u5e76\u4e14\u80fd\u6839\u636e\u65f6\u95f4\u70b9\u8df3\u8f6c\u5230\u89c6\u9891\u7684\u6307\u5b9a\u8fdb\u5ea6\uff0c\u5982\u6b64\u4e00\u6765\u5982\u679c\u9700\u8981\u5728\u6587\u7ae0\u4e2d\u5c55\u793a\u8bb0\u5f55\u4e86\u64cd\u4f5c\u8fc7\u7a0b\u7684\u89c6\u9891\u7684\u8bdd\uff0c\u5c31\u4e0d\u9700\u8981\u81ea\u5df1\u53bb\u622a\u53d6\u5bf9\u5e94\u7684\u89c6\u9891\u7247\u6bb5\uff0c\u800c\u662f\u76f4\u63a5\u5728\u6587\u7ae0\u5185\u5c31\u80fd\u8df3\u8f6c\uff01 Obsidian \u91cc\u8fd8\u6709\u4e00\u4e2a\u5f88\u5f3a\u5927\u7684\u63d2\u4ef6\uff0c\u53eb Annotator \uff0c\u5b83\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u5185\u8df3\u8f6c\u5230 pdf \u539f\u6587 \u73b0\u5728\uff0c\u4f7f\u7528 Obsidian \u81ea\u5e26\u7684\u53cc\u94fe\u529f\u80fd\uff0c\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u95f4\u76f8\u4e92\u8df3\u8f6c\uff0c\u7ed3\u5408\u4e0a\u8ff0\u4e24\u4e2a\u63d2\u4ef6\uff0c\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u5230\u591a\u5a92\u4f53\u7684\u8df3\u8f6c\uff0c\u4fe1\u606f\u7684\u5904\u7406\u8fc7\u7a0b\u5df2\u7ecf\u5b8c\u5907\u3002\u4e00\u822c\u6211\u4eec\u5b66\u4e60\u7684\u8fc7\u7a0b\u76f8\u5f53\u4e8e\u4e0a\u5c71\u548c\u4e0b\u5c71\uff0c\u521a\u5b66\u7684\u65f6\u5019\u5c31\u597d\u50cf\u4e0a\u5c71\uff0c\u5f88\u964c\u751f\u3001\u5403\u529b\uff0c\u6240\u8c13\u5b66\u800c\u65f6\u4e60\u4e4b\uff0c\u590d\u4e60\u6216\u7ec3\u4e60\u7684\u8fc7\u7a0b\u5c31\u50cf\u4e0b\u5c71\uff0c\u6ca1\u6709\u964c\u751f\u611f\uff0c\u4e0d\u89c1\u5f97\u8f7b\u677e\uff0c\u4f46\u975e\u8d70\u4e0d\u53ef\u3002\u90a3\u4e48\u5982\u4f55\u628a\u590d\u4e60\u8fd9\u4e00\u8fc7\u7a0b\u7eb3\u5165\u5de5\u4f5c\u6d41\u7684\u73af\u8282\u91cc\u5462\uff1f \u4fe1\u606f\u7684\u56de\u987e Obsidian \u5185\u5df2\u7ecf\u6709\u4e00\u4e2a\u8fde\u63a5 Anki \u7684\u63d2\u4ef6\uff0c Anki \u5c31\u662f\u5927\u540d\u9f0e\u9f0e\u7684\u3001\u57fa\u4e8e\u95f4\u9694\u91cd\u590d\u7684\u8bb0\u5fc6\u8f6f\u4ef6\u3002\u4f7f\u7528\u8be5\u63d2\u4ef6\u53ef\u4ee5\u622a\u53d6\u7b14\u8bb0\u7684\u7247\u6bb5\u5bfc\u51fa\u5230 Anki \u5e76\u53d8\u6210\u4e00\u5f20\u5361\u7247\uff0c\u5361\u7247\u5185\u4e5f\u6709\u8df3\u8f6c\u56de\u7b14\u8bb0\u539f\u6587\u7684\u94fe\u63a5 \u603b\u7ed3 \u8fd9\u4e2a\u5de5\u4f5c\u6d41\u662f\u5728\u6211\u8fd9\u4e24\u5e74\u4e1a\u4f59\u65f6\u95f4\u5b66\u4e60\u65f6\u6240\u6162\u6162\u5f62\u6210\u7684\uff0c\u5728\u5b66\u4e60\u8fc7\u7a0b\u4e2d\u56e0\u4e3a\u5bf9\u4e00\u4e9b\u91cd\u590d\u6027\u7684\u8fc7\u7a0b\u800c\u611f\u5230\u538c\u5026\uff0c\u6b63\u662f\u8fd9\u79cd\u538c\u5026\u4ea7\u751f\u4e86\u67d0\u79cd\u7279\u5b9a\u7684\u9700\u6c42\uff0c\u6070\u597d\u5728\u5e73\u65f6\u7f51\u4e0a\u51b2\u6d6a\u65f6\u4e86\u89e3\u5230\u7684\u4e00\u4e9b\u5de5\u5177\u6ee1\u8db3\u4e86\u6211\u8fd9\u4e9b\u9700\u6c42\u3002\u4e0d\u8981\u4e3a\u4e86\u865a\u65e0\u7684\u6ee1\u8db3\u611f\u800c\u5c06\u5de5\u5177\u5f3a\u884c\u62fc\u51d1\u5230\u81ea\u5df1\u7684\u5de5\u4f5c\u6d41\u4e2d\uff0c\u4eba\u751f\u82e6\u77ed\uff0c\u505a\u5b9e\u4e8b\u6700\u7d27\u8981\u3002 btw\uff0c\u6b64\u7bc7\u6587\u7ae0\u662f\u8bb2\u89e3\u5de5\u4f5c\u6d41\u7684\u6f14\u5316\u601d\u8def\uff0c\u5982\u679c\u5bf9\u6b64\u5de5\u4f5c\u6d41\u7684\u5b9e\u73b0\u7ec6\u8282\u611f\u5174\u8da3\uff0c\u5efa\u8bae\u9605\u8bfb\u5b8c\u672c\u6587\u540e\u518d\u6309\u987a\u5e8f\u9605\u8bfb\u4ee5\u4e0b\u6587\u7ae0 3000 + \u5c0f\u65f6\u79ef\u7d2f\u7684\u5b66\u4e60\u5de5\u4f5c\u6d41 Obsidian \u7684\u9ad8\u7ea7\u73a9\u6cd5 | \u6253\u9020\u80fd\u8df3\u8f6c\u5230\u4efb\u4f55\u683c\u5f0f\u6587\u4ef6\u7684\u7b14\u8bb0","title":"\u65e5\u5e38\u5b66\u4e60\u5de5\u4f5c\u6d41"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_1","text":"\u4e00\u5f00\u59cb\u6211\u5b66\u4e60\u65b0\u77e5\u8bc6\u65f6\u4f1a\u53c2\u8003\u4e2d\u6587\u535a\u5ba2\uff0c\u4f46\u5728\u4ee3\u7801\u5b9e\u8df5\u65f6\u5f80\u5f80\u4f1a\u53d1\u73b0\u6f0f\u6d1e\u548cbug\u3002\u6211\u9010\u6e10\u610f\u8bc6\u5230\u6211\u53c2\u8003\u7684\u4fe1\u606f\u53ef\u80fd\u662f\u9519\u8bef\u7684\uff0c\u6bd5\u7adf\u53d1\u535a\u5ba2\u7684\u95e8\u69db\u4f4e\uff0c\u6587\u7ae0\u53ef\u4fe1\u5ea6\u4e0d\u9ad8\uff0c\u4e8e\u662f\u6211\u5f00\u59cb\u67e5\u9605\u4e00\u4e9b\u76f8\u5173\u7684\u4e2d\u6587\u4e66\u7c4d\u3002 \u4e2d\u6587\u4e66\u7c4d\u7684\u786e\u662f\u6bd4\u8f83\u5168\u9762\u4e14\u7cfb\u7edf\u5730\u8bb2\u89e3\u4e86\u77e5\u8bc6\u70b9\uff0c\u4f46\u4f17\u6240\u5468\u77e5\uff0c\u8ba1\u7b97\u673a\u6280\u672f\u66f4\u8fed\u8fc5\u901f\uff0c\u53c8\u56e0\u4e3a\u8001\u7f8e\u5728 CS \u65b9\u9762\u4e00\u76f4\u90fd\u662f\u706f\u5854\uff0c\u6240\u4ee5\u4e00\u822c\u4e2d\u6587\u4e66\u7c4d\u91cc\u7684\u5185\u5bb9\u4f1a\u6ede\u540e\u4e8e\u5f53\u524d\u6700\u65b0\u7684\u77e5\u8bc6\uff0c\u5bfc\u81f4\u6211\u8ddf\u7740\u4e2d\u6587\u4e66\u7c4d\u5b9e\u8df5\u4f1a\u51fa\u73b0\u8f6f\u4ef6\u7248\u672c\u5dee\u5f02\u7684\u95ee\u9898\u3002\u8fd9\u65f6\u6211\u5f00\u59cb\u610f\u8bc6\u5230\u4e00\u624b\u4fe1\u606f\u7684\u91cd\u8981\u6027\uff0c\u6709\u4e9b\u4e2d\u6587\u4e66\u7c4d\u662f\u7ffb\u8bd1\u82f1\u6587\u4e66\u7c4d\u7684\uff0c\u4e00\u822c\u7ffb\u8bd1\u4e00\u672c\u4e66\u4e5f\u8981\u4e00\u4e24\u5e74\uff0c\u8fd9\u4f1a\u5bfc\u81f4\u4fe1\u606f\u4f20\u9012\u7684\u5ef6\u8fdf\uff0c\u8fd8\u6709\u5c31\u662f\u7ffb\u8bd1\u7684\u8fc7\u7a0b\u4e2d\u4fe1\u606f\u4f1a\u6709\u635f\u5931\u3002\u5982\u679c\u4e00\u672c\u4e2d\u6587\u4e66\u7c4d\u4e0d\u662f\u7ffb\u8bd1\u7684\u5462\uff0c\u90a3\u4e48\u5b83\u5927\u6982\u7387\u4e5f\u53c2\u8003\u4e86\u5176\u4ed6\u4e66\u7c4d\uff0c\u53c2\u8003\u7684\u8fc7\u7a0b\u4f1a\u5e26\u6709\u5bf9\u82f1\u6587\u539f\u8457\u4e2d\u8bed\u4e49\u7406\u89e3\u7684\u504f\u5dee\u3002 \u4e8e\u662f\u6211\u5c31\u987a\u5176\u81ea\u7136\u5730\u5f00\u59cb\u7ffb\u9605\u82f1\u6587\u4e66\u7c4d\u3002\u4e0d\u5f97\u4e0d\u8bf4\uff0c\u82f1\u6587\u4e66\u7c4d\u5185\u5bb9\u7684\u8d28\u91cf\u6574\u4f53\u662f\u6bd4\u4e2d\u6587\u4e66\u7c4d\u9ad8\u7684\u3002\u540e\u6765\u968f\u7740\u5b66\u4e60\u7684\u5c42\u5c42\u6df1\u5165\uff0c\u4ee5\u77e5\u8bc6\u7684\u65f6\u6548\u6027\u548c\u5b8c\u6574\u6027\u51fa\u53d1\uff0c\u6211\u53d1\u73b0 \u6e90\u4ee3\u7801 > \u5b98\u65b9\u6587\u6863 > \u82f1\u6587\u4e66\u7c4d > \u82f1\u6587\u535a\u5ba2 > \u4e2d\u6587\u535a\u5ba2 \uff0c\u6700\u540e\u6211\u5f97\u51fa\u4e86\u4e00\u5f20 \u4fe1\u606f\u635f\u5931\u56fe \uff1a \u867d\u7136\u4e00\u624b\u4fe1\u606f\u5f88\u91cd\u8981\uff0c\u4f46\u540e\u9762\u7684 N \u624b\u4fe1\u606f\u5e76\u975e\u4e00\u65e0\u662f\u5904\uff0c\u56e0\u4e3a\u8fd9 N \u624b\u8d44\u6599\u91cc\u5305\u542b\u4e86\u4f5c\u8005\u5bf9\u6e90\u77e5\u8bc6\u7684\u8f6c\u5316\u2014\u2014\u4f8b\u5982\u57fa\u4e8e\u67d0\u79cd\u903b\u8f91\u7684\u68b3\u7406\uff08\u6d41\u7a0b\u56fe\u3001\u601d\u7ef4\u5bfc\u56fe\u7b49\uff09\u6216\u662f\u4e00\u4e9b\u81ea\u5df1\u7684\u7406\u89e3\uff08\u5bf9\u6e90\u77e5\u8bc6\u7684\u62bd\u8c61\u3001\u7c7b\u6bd4\u3001\u5ef6\u4f38\u5230\u5176\u4ed6\u77e5\u8bc6\u70b9\uff09\uff0c\u8fd9\u4e9b\u8f6c\u5316\u53ef\u4ee5\u5e2e\u52a9\u6211\u4eec\u66f4\u5feb\u5730\u638c\u63e1\u548c\u5de9\u56fa\u77e5\u8bc6\u7684\u6838\u5fc3\u5185\u5bb9\uff0c\u5c31\u5982\u540c\u521d\u9ad8\u4e2d\u5b66\u4e60\u65f6\u4f7f\u7528\u7684\u8f85\u5bfc\u4e66\u3002 \u6b64\u5916\uff0c\u5b66\u4e60\u7684\u8fc7\u7a0b\u4e2d\u548c\u522b\u4eba\u7684\u4ea4\u6d41\u5341\u5206\u91cd\u8981\uff0c\u8fd9\u4e9b N \u624b\u4fe1\u606f\u540c\u65f6\u8d77\u4e86\u548c\u5176\u4ed6\u4f5c\u8005\u4ea4\u6d41\u7684\u4f5c\u7528\uff0c\u8ba9\u6211\u4eec\u80fd\u91c7\u767e\u5bb6\u4e4b\u957f\u3002\u6240\u4ee5\u8fd9\u63d0\u793a\u6211\u4eec\u5b66\u4e60\u4e00\u4e2a\u77e5\u8bc6\u70b9\u65f6\u5148\u5c3d\u91cf\u9009\u62e9\u8d28\u91cf\u66f4\u9ad8\u7684\uff0c\u4fe1\u606f\u635f\u5931\u8f83\u5c11\u7684\u4fe1\u606f\u6e90\uff0c\u540c\u65f6\u4e0d\u59a8\u53c2\u8003\u591a\u4e2a\u4fe1\u606f\u6e90\uff0c\u8ba9\u81ea\u5df1\u7684\u7406\u89e3\u66f4\u52a0\u5168\u9762\u51c6\u786e\u3002 \u73b0\u5b9e\u5de5\u4f5c\u751f\u6d3b\u4e2d\u7684\u5b66\u4e60\u5f88\u96be\u50cf\u5b66\u6821\u91cc\u4e00\u6837\u56f4\u7ed5\u67d0\u4e2a\u5355\u4e00\u77e5\u8bc6\u70b9\u7531\u6d45\u5165\u6df1\uff0c\u7ecf\u5e38\u4f1a\u5728\u5b66\u4e60\u8fc7\u7a0b\u4e2d\u6d89\u53ca\u5230\u5176\u4ed6\u77e5\u8bc6\u70b9\uff0c\u6bd4\u5982\u4e00\u4e9b\u65b0\u7684\u4e13\u6709\u540d\u8bcd\uff0c\u4e00\u7bc7\u6ca1\u6709\u8bfb\u8fc7\u7684\u7ecf\u5178\u8bba\u6587\uff0c\u4e00\u6bb5\u672a\u66fe\u63a5\u89e6\u8fc7\u7684\u4ee3\u7801\u7b49\u7b49\u3002\u8fd9\u5c31\u8981\u6c42\u6211\u4eec\u52e4\u4e8e\u601d\u8003\uff0c\u5228\u6839\u7a76\u5e95\u5730\u201c\u9012\u5f52\u201d\u5b66\u4e60\uff0c\u7ed9\u591a\u4e2a\u77e5\u8bc6\u70b9\u4e4b\u95f4\u5efa\u7acb\u8054\u7cfb\u3002","title":"\u5e95\u5c42\u6838\u5fc3\u903b\u8f91"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_2","text":"\u5de5\u4f5c\u6d41\u7684\u9aa8\u67b6\u56f4\u7ed5 \u5355\u4e2a\u77e5\u8bc6\u70b9\u591a\u53c2\u8003\u6e90\uff0c\u52e4\u4e8e\u63d0\u95ee\u7ed9\u591a\u4e2a\u77e5\u8bc6\u70b9\u4e4b\u95f4\u5efa\u7acb\u8054\u7cfb \u7684\u5e95\u5c42\u6838\u5fc3\u903b\u8f91\u5efa\u7acb\u3002\u6211\u4eec\u5199\u8bba\u6587\u5176\u5b9e\u5c31\u662f\u9075\u5faa\u8fd9\u4e2a\u5e95\u5c42\u903b\u8f91\u7684\u3002\u8bba\u6587\u4e00\u822c\u4f1a\u6709\u811a\u6ce8\u53bb\u89e3\u91ca\u4e00\u4e9b\u5173\u952e\u5b57\uff0c\u5e76\u4e14\u8bba\u6587\u672b\u5c3e\u4f1a\u6709\u591a\u4e2a\u53c2\u8003\u7684\u6765\u6e90\uff0c\u4f46\u662f\u6211\u4eec\u5e73\u65f6\u5199\u7b14\u8bb0\u4f1a\u968f\u610f\u5f97\u591a\uff0c\u56e0\u6b64\u9700\u8981\u66f4\u7075\u6d3b\u7684\u65b9\u5f0f\u3002 \u5e73\u65f6\u5199\u4ee3\u7801\u4e60\u60ef\u5728 IDE \u91cc\u4e00\u952e\u8df3\u8f6c\uff0c\u628a\u76f8\u5173\u7684\u51fd\u6570\u548c\u5b9e\u73b0\u5f88\u597d\u5730\u8054\u7cfb\u5728\u4e86\u4e00\u8d77\u3002\u4f60\u4e5f\u8bb8\u4f1a\u60f3\uff0c\u5982\u679c\u7b14\u8bb0\u4e5f\u80fd\u50cf\u4ee3\u7801\u90a3\u6837\u53ef\u4ee5\u8df3\u8f6c\u5c31\u597d\u4e86\u3002\u73b0\u5728\u5e02\u9762\u4e0a \u53cc\u94fe\u7b14\u8bb0\u8f6f\u4ef6 \u5c31\u53ef\u4ee5\u5f88\u597d\u5730\u89e3\u51b3\u8fd9\u4e00\u75db\u70b9\uff0c\u4f8b\u5982 Roam Research\u3001Logseq\u3001Notion \u548c Obsidian\u3002Roam Research \u548c Logseq \u90fd\u662f\u57fa\u4e8e\u5927\u7eb2\u7ed3\u6784\u7684\u7b14\u8bb0\u8f6f\u4ef6\uff0c\u800c \u5927\u7eb2\u7ed3\u6784 \u662f\u529d\u9000\u6211\u4f7f\u7528\u8fd9\u4e24\u6b3e\u8f6f\u4ef6\u7684\u539f\u56e0\u3002\u4e00\u662f \u5927\u7eb2\u7ed3\u6784 \u505a\u7b14\u8bb0\u5bb9\u6613\u4f7f\u6587\u7ae0\u7eb5\u5411\u7bc7\u5e45\u592a\u957f\uff0c\u4e8c\u662f\u5982\u679c\u5d4c\u5957\u7ed3\u6784\u8fc7\u591a\u4f1a\u5360\u6a2a\u5411\u7684\u7bc7\u5e45\u3002Notion \u9875\u9762\u6253\u5f00\u6162\uff0c\u5f03\u4e4b\u3002\u6700\u7ec8\u6211\u9009\u62e9\u4e86 Obsidian\uff0c\u539f\u56e0\u5982\u4e0b\uff1a Obsidian \u57fa\u4e8e\u672c\u5730\uff0c\u6253\u5f00\u901f\u5ea6\u5feb\uff0c\u4e14\u53ef\u5b58\u653e\u5f88\u591a\u7535\u5b50\u4e66\u3002\u6211\u7684\u7b14\u8bb0\u672c\u662f 32g \u5185\u5b58\u7684\u534e\u7855\u5929\u9009\u4e00\u4ee3\uff0c\u62ff\u6765\u8dd1 Obsidian \u53ef\u4ee5\u5feb\u5230\u98de\u8d77 Obsidian \u57fa\u4e8e Markdown\u3002\u8fd9\u4e5f\u662f\u4e00\u4e2a\u4f18\u52bf\uff0c\u5982\u679c\u7b14\u8bb0\u8f6f\u4ef6\u5199\u7684\u7b14\u8bb0\u683c\u5f0f\u662f\u81ea\u5bb6\u7684\u7f16\u7801\u683c\u5f0f\uff0c\u90a3\u4e48\u4e0d\u65b9\u4fbf\u5176\u4ed6\u7b2c\u4e09\u65b9\u62d3\u5c55\uff0c\u4e5f\u4e0d\u65b9\u4fbf\u5c06\u7b14\u8bb0\u7528\u5176\u4ed6\u8f6f\u4ef6\u6253\u5f00\uff0c\u6bd4\u5982 qq \u97f3\u4e50\u4e0b\u8f7d\u6b4c\u66f2\u6709\u81ea\u5df1\u7684\u683c\u5f0f\uff0c\u5176\u4ed6\u64ad\u653e\u5668\u64ad\u653e\u4e0d\u4e86\uff0c\u8fd9\u633a\u6076\u5fc3\u4eba\u7684 Obsidian \u6709\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\uff0c\u5e76\u4e14\u8fd9\u4e2a\u751f\u6001\u65e2\u5927\u53c8\u6d3b\u8dc3\uff0c\u5373\u63d2\u4ef6\u6570\u91cf\u591a\uff0c\u4e14\u70ed\u95e8\u63d2\u4ef6\u7684 star \u591a\uff0c\u5f00\u53d1\u8005\u4f1a\u53cd\u9988\u7528\u6237 issue\uff0c\u7248\u672c\u4f1a\u6301\u7eed\u8fed\u4ee3\u3002\u501f\u52a9\u8fd9\u4e9b\u63d2\u4ef6\uff0c\u53ef\u4ee5\u4f7f Osidian \u8fbe\u5230 all in one \u7684\u6548\u679c\uff0c\u5373\u5404\u7c7b\u77e5\u8bc6\u6765\u6e90\u53ef\u4ee5\u7edf\u4e00\u6574\u5408\u4e8e\u4e00\u5904","title":"\u9009\u62e9\u5408\u9002\u7684\u7b14\u8bb0\u8f6f\u4ef6"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_3","text":"Obsidian \u7684\u63d2\u4ef6\u4f7f\u5176\u53ef\u4ee5\u652f\u6301 pdf \u683c\u5f0f\uff0c\u800c\u5176\u672c\u8eab\u53c8\u652f\u6301 Markdown \u683c\u5f0f\u3002\u5982\u679c\u60f3\u8981 all in one \uff0c\u90a3\u4e48\u53ef\u4ee5\u57fa\u4e8e\u8fd9\u4e24\u4e2a\u683c\u5f0f\uff0c\u5c06\u5176\u4ed6\u683c\u5f0f\u6587\u4ef6\u8f6c\u6362\u4e3a pdf \u6216\u8005 Markdown\u3002 \u90a3\u4e48\u73b0\u5728\u5c31\u9762\u4e34\u7740\u4e24\u4e2a\u95ee\u9898\uff1a \u6709\u4ec0\u4e48\u683c\u5f0f \u600e\u4e48\u8f6c\u6362\u4e3a pdf \u6216 Markdown","title":"\u4fe1\u606f\u7684\u6765\u6e90"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_4","text":"\u6587\u4ef6\u683c\u5f0f\u4f9d\u6258\u4e8e\u5176\u5c55\u793a\u7684\u5e73\u53f0\uff0c\u6240\u4ee5\u5728\u770b\u6709\u4ec0\u4e48\u683c\u5f0f\u4e4b\u524d\uff0c\u53ef\u4ee5\u7f57\u5217\u4e00\u4e0b\u6211\u5e73\u65f6\u83b7\u53d6\u4fe1\u606f\u7684\u6765\u6e90\uff1a \u53ef\u4ee5\u770b\u5230\u4e3b\u8981\u5206\u4e3a \u6587\u7ae0 \u3001 \u8bba\u6587 \u3001 \u7535\u5b50\u4e66 \u3001 \u8bfe\u7a0b \u56db\u7c7b\uff0c\u5305\u542b\u7684\u683c\u5f0f\u4e3b\u8981\u6709 \u7f51\u9875 \u3001 pdf \u3001 mobi \u3001 azw \u3001 azw3 \u3002","title":"\u6709\u4ec0\u4e48\u683c\u5f0f"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#pdf-markdown","text":"\u5728\u7ebf\u7684\u6587\u7ae0\u548c\u8bfe\u7a0b\u7b49\u5927\u591a\u4ee5\u7f51\u9875\u5f62\u5f0f\u5448\u73b0\uff0c\u800c\u5c06\u7f51\u9875\u8f6c\u6362\u4e3a Markdown \u53ef\u4ee5\u4f7f\u7528\u526a\u85cf\u8f6f\u4ef6\uff0c\u5b83\u53ef\u4ee5\u5c06\u7f51\u9875\u6587\u7ae0\u8f6c\u6362\u4e3a\u591a\u79cd\u6587\u672c\u683c\u5f0f\u6587\u4ef6\u3002\u6211\u9009\u62e9\u7684\u5de5\u5177\u662f\u7b80\u60a6\uff0c\u4f7f\u7528\u7b80\u60a6\u53ef\u4ee5\u5c06\u51e0\u4e4e\u6240\u6709\u5e73\u53f0\u7684\u6587\u7ae0\u5f88\u597d\u5730\u526a\u85cf\u4e3a Markdown \u5e76\u4e14\u5bfc\u5165\u5230 Obsidian\u3002 \u5bf9\u4e8e\u8bba\u6587\u548c\u7535\u5b50\u4e66\u800c\u8a00\u5982\u679c\u683c\u5f0f\u672c\u8eab\u5c31\u662f pdf \u5219\u4e07\u4e8b\u5927\u5409\uff0c\u4f46\u5982\u679c\u662f\u5176\u4ed6\u683c\u5f0f\u5219\u53ef\u4ee5\u4f7f\u7528 calibre \u8fdb\u884c\u8f6c\u6362\uff1a \u73b0\u5728\u5229\u7528 Obsidian \u7684 pdf \u63d2\u4ef6\u548c\u5176\u539f\u751f\u7684 markdown \u652f\u6301\u5c31\u53ef\u4ee5\u7545\u5feb\u65e0\u6bd4\u5730\u505a\u7b14\u8bb0\u5e76\u4e14\u5728\u8fd9\u4e9b\u6587\u7ae0\u7684\u5bf9\u5e94\u7ae0\u8282\u8fdb\u884c\u65e0\u7f1d\u8854\u63a5\u5730\u5f15\u7528\u8df3\u8f6c\u5566\uff08\u5177\u4f53\u64cd\u4f5c\u53c2\u8003\u4e0b\u6587\u7684\u201c\u4fe1\u606f\u7684\u5904\u7406\u201d\u6a21\u5757\uff09\u3002","title":"\u600e\u4e48\u8f6c\u6362\u4e3a pdf \u6216 Markdown"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_5","text":"\u5bf9\u4e8e pdf \u7b49\u6587\u4ef6\u7c7b\u8d44\u6e90\u53ef\u4ee5\u672c\u5730\u6216\u8005\u4e91\u7aef\u5b58\u50a8\uff0c\u800c\u7f51\u9875\u7c7b\u8d44\u6e90\u5219\u53ef\u4ee5\u5206\u95e8\u522b\u7c7b\u5730\u653e\u5165\u6d4f\u89c8\u5668\u7684\u6536\u85cf\u5939\uff0c\u6216\u8005\u526a\u85cf\u6210 markdown \u683c\u5f0f\u7684\u7b14\u8bb0\uff0c\u4f46\u662f\u7f51\u9875\u6d4f\u89c8\u5668\u4e0d\u80fd\u5b9e\u73b0\u79fb\u52a8\u7aef\u7684\u7f51\u9875\u6536\u85cf\u3002\u4e3a\u4e86\u5b9e\u73b0\u8de8\u7aef\u7f51\u9875\u6536\u85cf\u6211\u9009\u7528\u4e86 Cubox\uff0c\u5728\u624b\u673a\u7aef\u770b\u5230\u611f\u5174\u8da3\u7684\u7f51\u9875\u65f6\u53ea\u9700\u5c0f\u624b\u4e00\u5212\uff0c\u4fbf\u80fd\u5c06\u7f51\u9875\u7edf\u4e00\u4fdd\u5b58\u4e0b\u6765\u3002\u867d\u7136\u514d\u8d39\u7248\u53ea\u80fd\u6536\u85cf 100 \u4e2a\u7f51\u9875\uff0c\u4f46\u5176\u5b9e\u591f\u7528\u4e86\uff0c\u8fd8\u53ef\u4ee5\u5728\u6536\u85cf\u6ee1\u65f6\u7763\u4fc3\u81ea\u5df1\u8d76\u7d27\u526a\u85cf\u6d88\u5316\u6389\u8fd9\u4e9b\u7f51\u9875\uff0c\u8ba9\u6536\u85cf\u4e0d\u5403\u7070\u3002 \u9664\u6b64\u4e4b\u5916\uff0c\u56de\u60f3\u4e00\u4e0b\u6211\u4eec\u5e73\u65f6\u6536\u85cf\u7684\u7f51\u9875\uff0c\u5c31\u4f1a\u53d1\u73b0\u6709\u5f88\u591a\u5e76\u4e0d\u662f\u50cf\u77e5\u4e4e\u3001\u6398\u91d1\u8fd9\u7c7b\u6709\u5b8c\u6574\u529f\u80fd\u7684\u535a\u5ba2\u5e73\u53f0\uff0c\u66f4\u591a\u7684\u662f\u4e2a\u4eba\u5efa\u7684\u5c0f\u7ad9\uff0c\u800c\u8fd9\u4e9b\u5c0f\u7ad9\u5f80\u5f80\u6ca1\u6709\u79fb\u52a8\u7aef\u5e94\u7528\uff0c\u8fd9\u6837\u5e73\u65f6\u5237\u624b\u673a\u7684\u65f6\u5019\u4e5f\u770b\u4e0d\u5230\uff0c\u653e\u5230\u6d4f\u89c8\u5668\u7684\u6536\u85cf\u5939\u91cc\u53c8\u5bb9\u6613\u6f0f\u4e86\u770b\uff0c\u6709\u65b0\u6587\u7ae0\u53d1\u5e03\u6211\u4eec\u4e5f\u4e0d\u80fd\u7b2c\u4e00\u65f6\u95f4\u6536\u5230\u901a\u77e5\uff0c\u8fd9\u4e2a\u65f6\u5019\u5c31\u9700\u8981\u4e00\u79cd\u53eb RSS \u7684\u901a\u4fe1\u534f\u8bae\u3002 RSS \uff08\u82f1\u6587\u5168\u79f0\uff1aRDF Site Summary \u6216 Really Simple Syndication\uff09\uff0c\u4e2d\u6587\u8bd1\u4f5c\u7b80\u6613\u4fe1\u606f\u805a\u5408\uff0c\u4e5f\u79f0\u805a\u5408\u5185\u5bb9\uff0c\u662f\u4e00\u79cd\u6d88\u606f\u6765\u6e90\u683c\u5f0f\u89c4\u8303\uff0c\u7528\u4ee5\u805a\u5408\u591a\u4e2a\u7f51\u7ad9\u66f4\u65b0\u7684\u5185\u5bb9\u5e76\u81ea\u52a8\u901a\u77e5\u7f51\u7ad9\u8ba2\u9605\u8005\u3002\u7535\u8111\u7aef\u53ef\u4ee5\u501f\u52a9 RSSHub Radar \u6765\u5feb\u901f\u53d1\u73b0\u548c\u751f\u6210 RSS \u8ba2\u9605\u6e90\uff0c\u63a5\u7740\u4f7f\u7528 Feedly \u6765\u8ba2\u9605\u8fd9\u4e9b RSS \u8ba2\u9605\u6e90\uff08 RSSHub Radar \u548c Feedly \u5728 chrome \u6d4f\u89c8\u5668\u4e2d\u5747\u6709\u5b98\u65b9\u63d2\u4ef6\uff09\u3002 \u5230\u8fd9\u91cc\u4e3a\u6b62\uff0c\u6536\u96c6\u4fe1\u606f\u7684\u6d41\u7a0b\u5df2\u7ecf\u6bd4\u8f83\u5b8c\u5907\u4e86\u3002\u4f46\u8d44\u6599\u518d\u591a\uff0c\u5206\u7c7b\u89c4\u6574\u5f97\u518d\u6f02\u4eae\uff0c\u4e5f\u5f97\u771f\u6b63\u5185\u5316\u6210\u81ea\u5df1\u7684\u624d\u7ba1\u7528\u3002\u56e0\u6b64\u5728\u6536\u96c6\u5b8c\u4fe1\u606f\u540e\u5c31\u5f97\u8fdb\u4e00\u6b65\u5730\u5904\u7406\u4fe1\u606f\uff0c\u5373\u9605\u8bfb\u8fd9\u4e9b\u4fe1\u606f\uff0c\u5982\u679c\u662f\u82f1\u6587\u4fe1\u606f\u7684\u8bdd\u8fd8\u5f97\u641e\u61c2\u82f1\u6587\u7684\u8bed\u4e49\uff0c\u52a0\u7c97\u9ad8\u4eae\u91cd\u70b9\u53e5\u5b50\u6bb5\u843d\uff0c\u6807\u8bb0\u6709\u7591\u95ee\u7684\u5730\u65b9\uff0c\u53d1\u6563\u8054\u60f3\u76f8\u5173\u7684\u77e5\u8bc6\u70b9\uff0c\u6700\u540e\u5199\u4e0a\u81ea\u5df1\u7684\u603b\u7ed3\u3002\u90a3\u4e48\u5728\u8fd9\u8fc7\u7a0b\u4e2d\u9700\u8981\u4f7f\u7528\u5230\u4ec0\u4e48\u5de5\u5177\u5462\uff1f","title":"\u5982\u4f55\u7edf\u4e00\u7ba1\u7406\u4fe1\u606f\u6765\u6e90"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_6","text":"","title":"\u4fe1\u606f\u7684\u5904\u7406"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_7","text":"\u9762\u5bf9\u82f1\u6587\u7684\u8d44\u6599\uff0c\u6211\u4ee5\u524d\u662f\u7528 \u6709\u9053\u8bcd\u5178 \u6765\u5212\u8bcd\u7ffb\u8bd1\uff0c\u9047\u5230\u53e5\u5b50\u7684\u8bdd\u5c31\u4f7f\u7528\u8c37\u6b4c\u7ffb\u8bd1\uff0c\u9047\u5230\u5927\u6bb5\u843d\u65f6\u5c31\u4f7f\u7528 deepl \uff0c\u4e45\u800c\u4e45\u4e4b\uff0c\u53d1\u73b0\u8fd9\u6837\u770b\u82f1\u8bed\u6587\u732e\u592a\u6162\u4e86\uff0c\u5f97\u7528\u4e09\u4e2a\u5de5\u5177\u624d\u80fd\u6ee1\u8db3\u7ffb\u8bd1\u8fd9\u4e00\u4e2a\u9700\u6c42\uff0c\u5982\u679c\u6709\u4e00\u4e2a\u5de5\u5177\u80fd\u591f\u540c\u65f6\u5b9e\u73b0\u5bf9\u5355\u8bcd\u3001\u53e5\u5b50\u548c\u6bb5\u843d\u7684\u5212\u8bcd\u7ffb\u8bd1\u5c31\u597d\u4e86\u3002\u6211\u8054\u60f3\u5230\u7814\u7a76\u751f\u4eec\u5e94\u8be5\u4f1a\u7ecf\u5e38\u63a5\u89e6\u82f1\u8bed\u6587\u732e\uff0c\u4e8e\u662f\u6211\u5c31\u641c \u7814\u7a76\u751f + \u7ffb\u8bd1\u8f6f\u4ef6 \uff0c\u5728\u68c0\u7d22\u7ed3\u679c\u91cc\u6211\u6700\u7ec8\u9009\u62e9\u4e86 Quicker + \u6c99\u62c9\u67e5\u8bcd \u8fd9\u4e2a\u642d\u914d\u6765\u8fdb\u884c\u5212\u8bcd\u7ffb\u8bd1\u3002 \u4f7f\u7528\u8fd9\u5957\u7ec4\u5408\u53ef\u4ee5\u5b9e\u73b0\u5728\u6d4f\u89c8\u5668\u5916\u7684\u5176\u4ed6\u8f6f\u4ef6\u5185\u8fdb\u884c\u5212\u8bcd\u7ffb\u8bd1\uff0c\u5e76\u4e14\u652f\u6301\u5355\u8bcd\u3001\u53e5\u5b50\u548c\u6bb5\u843d\u7684\u7ffb\u8bd1\uff0c\u4ee5\u53ca\u6bcf\u6b21\u7684\u7ffb\u8bd1\u4f1a\u6709\u591a\u4e2a\u7ffb\u8bd1\u5e73\u53f0\u7684\u7ed3\u679c\u3002btw\uff0c\u5982\u679c\u67e5\u5355\u8bcd\u65f6\u4e0d\u7740\u6025\u7684\u8bdd\uff0c\u53ef\u4ee5\u987a\u4fbf\u770b\u770b \u79d1\u6797\u65af\u9ad8\u9636 \u7684\u7ffb\u8bd1\uff0c\u8fd9\u4e2a\u8bcd\u5178\u7684\u4f18\u70b9\u5c31\u662f\u4f1a\u7528\u82f1\u6587\u53bb\u89e3\u91ca\u82f1\u6587\uff0c\u53ef\u4ee5\u63d0\u4f9b\u591a\u4e2a\u4e0a\u4e0b\u6587\u5e2e\u52a9\u4f60\u7406\u89e3\uff0c\u5bf9\u4e8e\u5b66\u4e60\u82f1\u6587\u5355\u8bcd\u4e5f\u6709\u5e2e\u52a9\uff0c\u56e0\u4e3a\u7528\u82f1\u6587\u89e3\u91ca\u82f1\u6587\u624d\u66f4\u63a5\u8fd1\u82f1\u8bed\u7684\u601d\u7ef4\u3002","title":"\u82f1\u6587\u4fe1\u606f"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_8","text":"\u5904\u7406\u5b8c\u6587\u672c\u7c7b\u7684\u4fe1\u606f\u540e\uff0c\u6211\u4eec\u8fd8\u5f97\u601d\u8003\u4e00\u4e0b\u600e\u4e48\u5904\u7406\u591a\u5a92\u4f53\u7c7b\u7684\u4fe1\u606f\u3002\u6b64\u5904\u7684\u591a\u5a92\u4f53\u6211\u7279\u6307\u82f1\u6587\u89c6\u9891\uff0c\u56e0\u4e3a\u6211\u6ca1\u6709\u7528\u64ad\u5ba2\u6216\u5f55\u97f3\u5b66\u4e60\u7684\u4e60\u60ef\uff0c\u800c\u4e14\u6211\u5df2\u7ecf\u57fa\u672c\u4e0d\u770b\u4e2d\u6587\u6559\u7a0b\u4e86\u3002\u73b0\u5728\u5f88\u591a\u56fd\u5916\u540d\u6821\u516c\u5f00\u8bfe\u90fd\u662f\u4ee5\u89c6\u9891\u7684\u5f62\u5f0f\uff0c\u5982\u679c\u80fd\u5bf9\u89c6\u9891\u8fdb\u884c\u505a\u7b14\u8bb0\u4f1a\u4e0d\u4f1a\u6709\u5e2e\u52a9\u5462\uff1f\u4e0d\u77e5\u9053\u5927\u5bb6\u6709\u6ca1\u8fd9\u6837\u7684\u60f3\u6cd5\uff0c\u5c31\u662f\u5982\u679c\u80fd\u628a\u8001\u5e08\u4e0a\u8bfe\u8bb2\u7684\u5185\u5bb9\u8f6c\u6362\u6210\u6587\u672c\u5c31\u597d\u4e86\uff0c\u56e0\u4e3a\u5e73\u65f6\u5b66\u4e60\u65f6\u6211\u4eec\u770b\u4e66\u7684\u901f\u5ea6\u5f80\u5f80\u4f1a\u6bd4\u8001\u5e08\u8bb2\u8bfe\u7684\u901f\u5ea6\u5feb\u3002\u521a\u597d Language Reactor \u8fd9\u4e2a\u8f6f\u4ef6\u53ef\u4ee5\u5c06\u6cb9\u7ba1\u548c\u7f51\u98de\u5185\u89c6\u9891\u7684\u5b57\u5e55\u5bfc\u51fa\u6765\uff0c\u540c\u65f6\u9644\u4e0a\u4e2d\u6587\u7ffb\u8bd1\u3002 \u6211\u4eec\u53ef\u4ee5\u628a Language Reactor \u5bfc\u51fa\u7684\u5b57\u5e55\u590d\u5236\u5230 Obsidian \u91cc\u9762\u4f5c\u4e3a\u6587\u7ae0\u6765\u8bfb\u3002\u9664\u4e86\u51fa\u4e8e\u5b66\u4e60\u7684\u9700\u6c42\uff0c\u4e5f\u53ef\u4ee5\u5728\u5e73\u65f6\u770b\u6cb9\u7ba1\u7684\u89c6\u9891\u65f6\u6253\u5f00\u8fd9\u4e2a\u63d2\u4ef6\uff0c\u8fd9\u4e2a\u63d2\u4ef6\u53ef\u4ee5\u540c\u65f6\u663e\u793a\u4e2d\u82f1\u6587\u5b57\u5e55\uff0c\u5e76\u4e14\u53ef\u4ee5\u5355\u51fb\u9009\u4e2d\u82f1\u6587\u5b57\u5e55\u4e2d\u4f60\u8ba4\u4e3a\u751f\u50fb\u7684\u5355\u8bcd\u540e\u663e\u793a\u5355\u8bcd\u91ca\u4e49\u3002 \u4f46\u9605\u8bfb\u6587\u672c\u5bf9\u4e8e\u4e00\u4e9b\u62bd\u8c61\u7684\u77e5\u8bc6\u70b9\u6765\u8bf4\u5e76\u4e0d\u662f\u6548\u7387\u6700\u9ad8\u7684\u5b66\u4e60\u65b9\u5f0f\u3002\u4fd7\u8bdd\u8bf4\uff0c\u4e00\u56fe\u80dc\u5343\u8a00\uff0c\u80fd\u4e0d\u80fd\u5c06\u67d0\u4e00\u6bb5\u77e5\u8bc6\u70b9\u7684\u6587\u672c\u548c\u5bf9\u5e94\u7684\u56fe\u7247\u751a\u81f3\u89c6\u9891\u753b\u9762\u64cd\u4f5c\u8054\u7cfb\u8d77\u6765\u5462\uff1f\u6211\u5728\u6d4f\u89c8 Obsidian \u7684\u63d2\u4ef6\u5e02\u573a\u65f6\uff0c\u53d1\u73b0\u4e86\u4e00\u4e2a\u53eb Media Extended \u7684\u63d2\u4ef6\uff0c\u8fd9\u4e2a\u63d2\u4ef6\u53ef\u4ee5\u5728\u4f60\u7684\u7b14\u8bb0\u91cc\u6dfb\u52a0\u8df3\u8f6c\u5230\u89c6\u9891\u6307\u5b9a\u65f6\u95f4\u8fdb\u5ea6\u7684\u94fe\u63a5\uff0c\u76f8\u5f53\u4e8e\u628a\u4f60\u7684\u7b14\u8bb0\u548c\u89c6\u9891\u8fde\u63a5\u8d77\u6765\u4e86\uff01\u8fd9\u521a\u597d\u53ef\u4ee5\u548c\u6211\u4e0a\u6587\u63d0\u5230\u7684\u751f\u6210\u89c6\u9891\u4e2d\u82f1\u6587\u5b57\u5e55\u642d\u914d\u8d77\u6765\uff0c\u5373\u6bcf\u4e00\u53e5\u5b57\u5e55\u5bf9\u5e94\u4e00\u4e2a\u65f6\u95f4\uff0c\u5e76\u4e14\u80fd\u6839\u636e\u65f6\u95f4\u70b9\u8df3\u8f6c\u5230\u89c6\u9891\u7684\u6307\u5b9a\u8fdb\u5ea6\uff0c\u5982\u6b64\u4e00\u6765\u5982\u679c\u9700\u8981\u5728\u6587\u7ae0\u4e2d\u5c55\u793a\u8bb0\u5f55\u4e86\u64cd\u4f5c\u8fc7\u7a0b\u7684\u89c6\u9891\u7684\u8bdd\uff0c\u5c31\u4e0d\u9700\u8981\u81ea\u5df1\u53bb\u622a\u53d6\u5bf9\u5e94\u7684\u89c6\u9891\u7247\u6bb5\uff0c\u800c\u662f\u76f4\u63a5\u5728\u6587\u7ae0\u5185\u5c31\u80fd\u8df3\u8f6c\uff01 Obsidian \u91cc\u8fd8\u6709\u4e00\u4e2a\u5f88\u5f3a\u5927\u7684\u63d2\u4ef6\uff0c\u53eb Annotator \uff0c\u5b83\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u5185\u8df3\u8f6c\u5230 pdf \u539f\u6587 \u73b0\u5728\uff0c\u4f7f\u7528 Obsidian \u81ea\u5e26\u7684\u53cc\u94fe\u529f\u80fd\uff0c\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u95f4\u76f8\u4e92\u8df3\u8f6c\uff0c\u7ed3\u5408\u4e0a\u8ff0\u4e24\u4e2a\u63d2\u4ef6\uff0c\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u5230\u591a\u5a92\u4f53\u7684\u8df3\u8f6c\uff0c\u4fe1\u606f\u7684\u5904\u7406\u8fc7\u7a0b\u5df2\u7ecf\u5b8c\u5907\u3002\u4e00\u822c\u6211\u4eec\u5b66\u4e60\u7684\u8fc7\u7a0b\u76f8\u5f53\u4e8e\u4e0a\u5c71\u548c\u4e0b\u5c71\uff0c\u521a\u5b66\u7684\u65f6\u5019\u5c31\u597d\u50cf\u4e0a\u5c71\uff0c\u5f88\u964c\u751f\u3001\u5403\u529b\uff0c\u6240\u8c13\u5b66\u800c\u65f6\u4e60\u4e4b\uff0c\u590d\u4e60\u6216\u7ec3\u4e60\u7684\u8fc7\u7a0b\u5c31\u50cf\u4e0b\u5c71\uff0c\u6ca1\u6709\u964c\u751f\u611f\uff0c\u4e0d\u89c1\u5f97\u8f7b\u677e\uff0c\u4f46\u975e\u8d70\u4e0d\u53ef\u3002\u90a3\u4e48\u5982\u4f55\u628a\u590d\u4e60\u8fd9\u4e00\u8fc7\u7a0b\u7eb3\u5165\u5de5\u4f5c\u6d41\u7684\u73af\u8282\u91cc\u5462\uff1f","title":"\u591a\u5a92\u4f53\u4fe1\u606f"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_9","text":"Obsidian \u5185\u5df2\u7ecf\u6709\u4e00\u4e2a\u8fde\u63a5 Anki \u7684\u63d2\u4ef6\uff0c Anki \u5c31\u662f\u5927\u540d\u9f0e\u9f0e\u7684\u3001\u57fa\u4e8e\u95f4\u9694\u91cd\u590d\u7684\u8bb0\u5fc6\u8f6f\u4ef6\u3002\u4f7f\u7528\u8be5\u63d2\u4ef6\u53ef\u4ee5\u622a\u53d6\u7b14\u8bb0\u7684\u7247\u6bb5\u5bfc\u51fa\u5230 Anki \u5e76\u53d8\u6210\u4e00\u5f20\u5361\u7247\uff0c\u5361\u7247\u5185\u4e5f\u6709\u8df3\u8f6c\u56de\u7b14\u8bb0\u539f\u6587\u7684\u94fe\u63a5","title":"\u4fe1\u606f\u7684\u56de\u987e"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_10","text":"\u8fd9\u4e2a\u5de5\u4f5c\u6d41\u662f\u5728\u6211\u8fd9\u4e24\u5e74\u4e1a\u4f59\u65f6\u95f4\u5b66\u4e60\u65f6\u6240\u6162\u6162\u5f62\u6210\u7684\uff0c\u5728\u5b66\u4e60\u8fc7\u7a0b\u4e2d\u56e0\u4e3a\u5bf9\u4e00\u4e9b\u91cd\u590d\u6027\u7684\u8fc7\u7a0b\u800c\u611f\u5230\u538c\u5026\uff0c\u6b63\u662f\u8fd9\u79cd\u538c\u5026\u4ea7\u751f\u4e86\u67d0\u79cd\u7279\u5b9a\u7684\u9700\u6c42\uff0c\u6070\u597d\u5728\u5e73\u65f6\u7f51\u4e0a\u51b2\u6d6a\u65f6\u4e86\u89e3\u5230\u7684\u4e00\u4e9b\u5de5\u5177\u6ee1\u8db3\u4e86\u6211\u8fd9\u4e9b\u9700\u6c42\u3002\u4e0d\u8981\u4e3a\u4e86\u865a\u65e0\u7684\u6ee1\u8db3\u611f\u800c\u5c06\u5de5\u5177\u5f3a\u884c\u62fc\u51d1\u5230\u81ea\u5df1\u7684\u5de5\u4f5c\u6d41\u4e2d\uff0c\u4eba\u751f\u82e6\u77ed\uff0c\u505a\u5b9e\u4e8b\u6700\u7d27\u8981\u3002 btw\uff0c\u6b64\u7bc7\u6587\u7ae0\u662f\u8bb2\u89e3\u5de5\u4f5c\u6d41\u7684\u6f14\u5316\u601d\u8def\uff0c\u5982\u679c\u5bf9\u6b64\u5de5\u4f5c\u6d41\u7684\u5b9e\u73b0\u7ec6\u8282\u611f\u5174\u8da3\uff0c\u5efa\u8bae\u9605\u8bfb\u5b8c\u672c\u6587\u540e\u518d\u6309\u987a\u5e8f\u9605\u8bfb\u4ee5\u4e0b\u6587\u7ae0 3000 + \u5c0f\u65f6\u79ef\u7d2f\u7684\u5b66\u4e60\u5de5\u4f5c\u6d41 Obsidian \u7684\u9ad8\u7ea7\u73a9\u6cd5 | \u6253\u9020\u80fd\u8df3\u8f6c\u5230\u4efb\u4f55\u683c\u5f0f\u6587\u4ef6\u7684\u7b14\u8bb0","title":"\u603b\u7ed3"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/","text":"\u4fe1\u606f\u68c0\u7d22 \u524d\u8a00 \u78b0\u5230\u95ee\u9898\uff0c\u8bb0\u4f4f\u7b2c\u4e00\u4ef6\u4e8b\u662f \u7ffb\u9605\u6587\u6863 \uff0c\u4e0d\u8981\u4e00\u5f00\u59cb\u5c31\u76f4\u63a5\u641c\u7d22\u6216\u8005\u627e\u4eba\u95ee\uff0c\u7ffb\u9605FAQ\u53ef\u80fd\u4f1a\u5feb\u901f\u627e\u5230\u7b54\u6848\u3002 \u4fe1\u606f\u68c0\u7d22\uff0c\u6211\u7684\u7406\u89e3\u6765\u8bf4\uff0c\u5b9e\u9645\u4e0a\u5c31\u662f\u7075\u6d3b\u8fd0\u7528\u641c\u7d22\u5f15\u64ce\u4e2d\uff0c\u65b9\u4fbf\u5feb\u6377\u7684\u641c\u5230\u9700\u8981\u7684\u4fe1\u606f\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u7f16\u7a0b\u3002 \u7f16\u7a0b\u6700\u91cd\u8981\u7684\uff0c\u5c31\u662f STFW(search the fucking web) \u548c RTFM(read the fucking Manual) \uff0c\u9996\u5148\u8981\u8bfb\u6587\u6863\uff0c\u7b2c\u4e8c\u8981\u5b66\u4f1a\u641c\u7d22\uff0c\u7f51\u4e0a\u90a3\u4e48\u591a\u8d44\u6e90\uff0c\u600e\u4e48\u7528\uff0c\u5c31\u9700\u8981\u4fe1\u606f\u68c0\u7d22\u3002 \u8981\u641c\u7d22\uff0c\u6211\u4eec\u9996\u5148\u8981\u641e\u6e05\u695a\u641c\u7d22\u5f15\u64ce\u662f\u5982\u4f55\u5de5\u4f5c\u7684\uff1a \u641c\u7d22\u5f15\u64ce\u5de5\u4f5c\u539f\u7406 \u641c\u7d22\u5f15\u64ce\u7684\u5de5\u4f5c\u8fc7\u7a0b\u5927\u4f53\u53ef\u4ee5\u5206\u6210\u4e09\u9636\u6bb5\uff1a[^1] \u722c\u884c\u548c\u6293\u53d6\uff1a\u641c\u7d22\u5f15\u64ce\u8718\u86db\u901a\u8fc7\u8ddf\u8e2a\u94fe\u63a5\u8bbf\u95ee\u7f51\u9875\uff0c\u83b7\u53d6\u7f51\u9875 HTML \u4ee3\u7801\u5b58\u5165\u6570\u636e\u5e93\u3002 \u9884\u5904\u7406\uff1a\u7d22\u5f15\u7a0b\u5e8f\u5bf9\u6293\u53d6\u6765\u7684\u7f51\u9875\u6570\u636e\u8fdb\u884c\u6587\u5b57\u63d0\u53d6\uff0c\u4e2d\u6587\u5206\u8bcd\uff0c\u7d22\u5f15\u7b49\u5904\u7406\uff0c\u4ee5\u5907\u6392\u540d\u7a0b\u5e8f\u8c03\u7528\u3002 \u6392\u540d\uff1a\u7528\u6237\u8f93\u5165\u5173\u952e\u8bcd\u540e\uff0c\u6392\u540d\u7a0b\u5e8f\u8c03\u7528\u7d22\u5f15\u5e93\u6570\u636e\uff0c\u8ba1\u7b97\u76f8\u5173\u6027\uff0c\u7136\u540e\u6309\u4e00\u5b9a\u683c\u5f0f\u751f\u6210\u641c\u7d22\u7ed3\u679c\u9875\u9762\u3002 \u7b2c\u4e00\u6b65\uff0c\u5c31\u662f\u5927\u5bb6\u7ecf\u5e38\u542c\u8bf4\u7684\u7f51\u7edc\u722c\u866b\uff0c\u4e00\u822c Python \u5356\u8bfe\u7684\u90fd\u4f1a\u5439\u8fd9\u4e2a\u4e1c\u897f\u3002\u7b80\u5355\u53ef\u4ee5\u7406\u89e3\u4e3a\uff0c\u6211\u7528\u4e00\u4e2a\u81ea\u52a8\u7684\u7a0b\u5e8f\uff0c\u4e0b\u8f7d\u7f51\u7ad9\u4e2d\u7684\u6240\u6709\u6587\u672c\u3001\u56fe\u7247\u7b49\u76f8\u5173\u4fe1\u606f\uff0c\u7136\u540e\u5b58\u5165\u672c\u5730\u7684\u78c1\u76d8\u3002 \u7b2c\u4e8c\u6b65\u662f\u641c\u7d22\u5f15\u64ce\u7684\u6838\u5fc3\uff0c\u4f46\u662f\u5bf9\u4e8e\u6211\u4eec\u4f7f\u7528\u6765\u8bf4\uff0c\u5e76\u4e0d\u662f\u7279\u522b\u5173\u952e\uff0c\u5927\u81f4\u53ef\u4ee5\u7406\u89e3\u4e3a\u6d17\u5e72\u51c0\u6570\u636e\uff0c\u7136\u540e\u5165\u5e93\u9875\u9762\uff0c\u6bcf\u4e2a\u9875\u9762\u52a0\u5165\u5173\u952e\u5b57\u7b49\u4fe1\u606f\u65b9\u4fbf\u6211\u4eec\u67e5\u8be2\u3002 \u7b2c\u4e09\u6b65\u8ddf\u6211\u4eec\u606f\u606f\u76f8\u5173\uff0c\u4e0d\u7ba1\u662f\u4ec0\u4e48\u641c\u7d22\u7f51\u7ad9\uff0c google \u3001\u767e\u5ea6\u3001 Bing \uff0c\u90fd\u4e00\u6837\uff0c\u8f93\u5165\u5173\u952e\u5b57\u6216\u8005\u9700\u8981\u67e5\u8be2\u7684\u5185\u5bb9\uff0c\u641c\u7d22\u5f15\u64ce\u4f1a\u7ed9\u4f60\u8fd4\u56de\u7ed3\u679c\u3002\u672c\u6587\u5c31\u662f\u6559\u4f60\u5982\u4f55\u83b7\u53d6\u66f4\u597d\u7684\u7ed3\u679c\u3002 \u57fa\u7840\u641c\u7d22\u6280\u5de7 \u6839\u636e\u4e0a\u8ff0\u7684\u5de5\u4f5c\u539f\u7406\uff0c\u6211\u4eec\u5927\u81f4\u5c31\u80fd\u660e\u767d\uff0c\u5176\u5b9e\u53ef\u4ee5\u628a\u641c\u7d22\u5f15\u64ce\u5f53\u4f5c\u4e00\u4e2a\u6bd4\u8f83\u806a\u660e\u7684\u6570\u636e\u5e93\uff0c\u66f4\u597d\u7684\u4f7f\u7528\u67e5\u8be2\u6761\u4ef6\u5c31\u80fd\u66f4\u5feb\u901f\u7684\u627e\u5230\u4f60\u60f3\u8981\u7684\u4fe1\u606f\uff0c\u4e0b\u9762\u4ecb\u7ecd\u4e00\u4e9b\u641c\u7d22\u7684\u6280\u5de7\uff1a \u4f7f\u7528\u82f1\u6587 \u9996\u5148\u6211\u4eec\u8981\u77e5\u9053\u4e00\u4ef6\u4e8b\uff0c\u7f16\u7a0b\u4e2d\uff0c\u6700\u597d\u4f7f\u7528\u82f1\u6587\u641c\u7d22\u3002\u539f\u56e0\u4e3b\u8981\u6709\u51e0\u70b9\uff1a \u7f16\u7a0b\u548c\u5404\u79cd\u8f6f\u4ef6\u64cd\u4f5c\u4e2d\uff0c\u82f1\u6587\u8d44\u6599\u8d28\u91cf\u6bd4\u4e2d\u6587\u8d44\u6599\u548c\u5176\u4ed6\u8bed\u8a00\u8d44\u6599\u9ad8\uff0c\u82f1\u6587\u901a\u7528\u6027\u8fd8\u662f\u66f4\u597d\u4e9b \u56e0\u4e3a\u7ffb\u8bd1\u95ee\u9898\uff0c\u82f1\u6587\u7684\u540d\u8bcd\u6bd4\u4e2d\u6587\u51c6\u786e\u901a\u7528 \u4e2d\u6587\u641c\u7d22\u4e2d\uff0c\u5206\u8bcd\u7cfb\u7edf\u4e0d\u51c6\u4f1a\u5bfc\u81f4\u6b67\u4e49\uff0c\u6bd4\u5982 Google \u641c\u4e2d\u6587\u53ef\u80fd\u4f1a\u641c\u4e0d\u51fa\u51e0\u6761\u6709\u7528\u7ed3\u679c \u5982\u679c\u4f60\u82f1\u6587\u4e0d\u597d\uff0c\u7528\u767e\u5ea6\u7ffb\u8bd1\u6216\u8005\u641c\u72d7\u7ffb\u8bd1\uff0c\u8db3\u591f\u4e86\u3002 \u5f53\u7136\u4e0b\u9762\u7684\u6587\u6863\u4e3a\u4e86\u4e3e\u4f8b\u65b9\u4fbf\uff0c\u90fd\u8fd8\u662f\u7528\u4e2d\u6587\u4f8b\u5b50\u3002 \u63d0\u70bc\u5173\u952e\u8bcd \u641c\u7d22\u65f6\u4e0d\u8981\u641c\u7d22\u6574\u53e5\u8bdd\uff0c\u867d\u7136\u641c\u7d22\u5f15\u64ce\u4f1a\u81ea\u52a8\u5e2e\u52a9\u6211\u4eec\u5206\u8bcd\u68c0\u7d22\uff0c\u4f46\u662f\u6574\u53e5\u548c\u5173\u952e\u5b57\u641c\u7d22\u51fa\u6765\u7684\u7ed3\u679c\u518d\u51c6\u786e\u5ea6\u548c\u987a\u5e8f\u4e0a\u4f1a\u6709\u5f88\u5927\u5dee\u522b\u3002\u641c\u7d22\u5f15\u64ce\u662f\u673a\u5668\uff0c\u5e76\u4e0d\u662f\u4f60\u7684\u8001\u5e08\u6216\u8005\u540c\u4e8b\uff0c\u770b\u4e0a\u9762\u7684\u6d41\u7a0b\uff0c\u641c\u7d22\u5b9e\u9645\u4e0a\u662f\u53bb\u68c0\u7d22\u641c\u7d22\u5f15\u64ce\u722c\u51fa\u6765\u7684\u6570\u636e\u5e93\uff0c\u4f60\u53ef\u4ee5\u7406\u89e3\u4e3a\u5173\u952e\u5b57\u6bd4\u6a21\u7cca\u68c0\u7d22\u8981\u5feb\u800c\u4e14\u51c6\u786e\u3002 \u6211\u4eec\u9700\u8981\u63d0\u70bc\u95ee\u9898\uff0c\u786e\u5b9a\u6211\u4eec\u5230\u5e95\u9700\u8981\u89e3\u51b3\u4ec0\u4e48\u95ee\u9898\u3002 \u4f8b\u5982\uff0c\u6211\u60f3\u77e5\u9053 vcpkg \u5982\u4f55\u96c6\u6210\u5230\u5de5\u7a0b\u4e0a\u800c\u4e0d\u662f\u5168\u5c40\u4e2d\uff0c\u90a3\u4e48\u641c\u7d22 vcpkg\u5982\u4f55\u96c6\u6210\u5230\u5de5\u7a0b\u4e0a\u800c\u4e0d\u662f\u5168\u5c40\u4e2d \u8fd9\u79cd\u957f\u53e5\u53ef\u80fd\u65e0\u6cd5\u627e\u5230\u76f8\u5173\u7684\u7ed3\u679c\uff0c\u6700\u597d\u662f\u62c6\u5206\u6210\u5355\u8bcd\uff0c vcpkg \u96c6\u6210\u5230 \u5de5\u7a0b \u5168\u5c40 \u8fd9\u6837\u7684\u641c\u7d22\u3002\u5176\u5b9e\u8fd9\u91cc\u53ea\u662f\u4e3e\u4e2a\u4f8b\u5b50\uff0c\u9488\u5bf9\u672c\u6761\u5176\u5b9e\u90fd\u80fd\u641c\u7d22\u51fa\u76f8\u5173\u4fe1\u606f\uff0c\u4f46\u662f\u8d8a\u5177\u4f53\u7684\u95ee\u9898\uff0c\u673a\u5668\u5206\u8bcd\u8d8a\u53ef\u80fd\u51fa\u95ee\u9898\uff0c\u6240\u4ee5\u6700\u597d\u662f\u62c6\u5206\u5173\u952e\u5b57\uff0c\u4f7f\u7528\u8bcd\u7ec4\u6216\u8005\u65ad\u53e5\u6765\u8fdb\u884c\u641c\u7d22\u3002 \u66ff\u6362\u5173\u952e\u5b57 \u8fd8\u662f\u4e0a\u9762\u90a3\u4e2a\u4f8b\u5b50\uff0c\u5982\u679c\u641c\u4e0d\u51fa\u6765\uff0c\u53ef\u4ee5\u8bd5\u8bd5\u628a\u5de5\u7a0b\u6362\u6210\u9879\u76ee\uff0c\u6216\u8005\u79fb\u51fa\u96c6\u6210\uff0c\u5982\u679c\u4e0d\u884c\uff0c\u8bd5\u4e00\u4e0b\u9ad8\u7ea7\u641c\u7d22\u3002 \u9ad8\u7ea7\u641c\u7d22 \u666e\u901a\u641c\u7d22\u5f15\u64ce\u4e00\u822c\u90fd\u652f\u6301\u9ad8\u7ea7\u641c\u7d22\uff0c\u5305\u62ec google \uff0c bing \uff0c\u767e\u5ea6\uff0c ecosia \uff0c\u7b49\u7b49\uff0c\u5927\u90e8\u5206\u90fd\u652f\u6301\uff0c\u4e0d\u8fc7\u53ef\u80fd\u8bed\u6cd5\u4e0d\u540c\uff0c\u4e00\u822c\u901a\u7528\u7684\u8868\u793a\uff1a \u7cbe\u51c6\u5339\u914d\uff1a \u7cbe\u51c6\u5339\u914d\u80fd\u4fdd\u8bc1\u641c\u7d22\u5173\u952e\u8bcd\u5b8c\u5168\u88ab\u5339\u914d\u4e0a\uff0c\u4e00\u822c\u662f\u7528\u53cc\u5f15\u53f7\u62ec\u8d77\u6765 \u6bd4\u5982\u641c\u7d22\u7ebf\u6027\u4ee3\u6570\uff0c\u53ef\u4ee5\u5728\u8f93\u5165\u6846\u5185\u8f93\u5165 \"\u7ebf\u6027\u4ee3\u6570\"\uff0c\u641c\u7d22\u5f15\u64ce\u5c06\u53ea\u5339\u914d\u5b8c\u6574\u5305\u542b \u201c\u7ebf\u6027\u4ee3\u6570\u201d \u7684\u9875\u9762\uff0c\u800c\u4e0d\u4f1a\u641c\u7d22\u62c6\u5206\u6210\u7ebf\u6027\u548c\u4ee3\u6570\u4e24\u4e2a\u8bcd\u7684\u9875\u9762 \u4e0d\u5305\u542b\u5173\u952e\u5b57\uff1a \u7528 - \u51cf\u53f7\u8fde\u63a5\u5173\u952e\u5b57\uff0c\u7528\u4e8e\u6392\u9664\u67d0\u4e9b\u5e72\u6270\u8bcd \u5305\u542b\u5173\u952e\u5b57\uff1a \u7528 + \u52a0\u53f7\u8fde\u63a5\u5173\u952e\u5b57 \u641c\u7d22\u7279\u5b9a\u6587\u4ef6\u7c7b\u578b\uff1a filetype:pdf \u76f4\u63a5\u641c\u7d22 pdf \u6587\u4ef6 \u641c\u7d22\u7279\u5b9a\u7f51\u5740\uff1a site:stackoverflow.com \u53ea\u641c\u7d22\u7279\u5b9a\u7f51\u7ad9\u5185\u7684\u9875\u9762 \u4e00\u822c\u53ef\u4ee5\u53c2\u7167\u7f51\u7ad9\u8bf4\u660e\uff0c\u6bd4\u5982\u767e\u5ea6\u53ef\u4ee5\u53c2\u7167 \u9ad8\u7ea7\u641c\u7d22 \uff0cBing \u53ef\u4ee5\u53c2\u7167 \u9ad8\u7ea7\u641c\u7d22\u5173\u952e\u5b57 \u548c \u9ad8\u7ea7\u641c\u7d22\u9009\u9879 \u3002 GitHub \u7684\u9ad8\u7ea7\u641c\u7d22 \u53ef\u4ee5\u76f4\u63a5\u7528 \u9ad8\u7ea7\u641c\u7d22\u9875\u9762 \u8fdb\u884c\u641c\u7d22\uff0c\u4e5f\u53ef\u4ee5\u53c2\u7167 Github\u67e5\u8be2\u8bed\u6cd5 \u8fdb\u884c\u67e5\u627e\uff0c\u7b80\u5355\u8bf4\u51e0\u4e2a: in:name <\u5173\u952e\u5b57> \u4ed3\u5e93\u540d\u79f0\u5e26\u5173\u952e\u5b57\u67e5\u8be2 in:description <\u5173\u952e\u5b57> \u4ed3\u5e93\u63cf\u8ff0\u5e26\u5173\u952e\u5b57\u67e5\u8be2 in:readme <\u5173\u952e\u5b57> README \u6587\u4ef6\u5e26\u5173\u952e\u5b57\u67e5\u8be2 stars(fork): >(=) <\u6570\u5b57> <\u5173\u952e\u5b57> star \u6216 fork \u6570\u5927\u4e8e(\u6216\u7b49\u4e8e)\u6307\u5b9a\u6570\u5b57\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 stars(fork): 10..20 <\u5173\u952e\u8bcd> star \u6216 fork \u6570\u5728 10 \u5230 20 \u4e4b\u95f4\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 size:>=5000 <\u5173\u952e\u8bcd> \u9650\u5b9a\u4ed3\u5e93\u5927\u4e8e\u7b49\u4e8e 5000K \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 pushed(created):>2019-11-15 <\u5173\u952e\u5b57> \u66f4\u65b0 \u6216 \u521b\u5efa \u65e5\u671f\u5728 2019 \u5e74 11 \u6708 16 \u65e5\u4e4b\u540e\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 license:apache-2.0 <\u5173\u952e\u5b57> LICENSE \u4e3a apache-2.0 \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 language:java <\u5173\u952e\u8bcd> \u4ed3\u5e93\u8bed\u8a00\u4e3a Java \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 user:<\u7528\u6237\u540d> \u67e5\u8be2\u67d0\u4e2a\u7528\u6237\u7684\u9879\u76ee org:<\u7ec4\u7ec7\u540d> \u67e5\u8be2\u67d0\u4e2a\u7ec4\u7ec7\u7684\u9879\u76ee \u8fd9\u4e9b\u53ef\u4ee5\u6df7\u5408\u4f7f\u7528\uff0c\u4e5f\u53ef\u4ee5\u5148\u67e5\u627e\u67d0\u4e00\u7c7b\u7684 awesome \u4ed3\u5e93\uff0c\u7136\u540e\u4ece awesome \u5e93\u91cc\u627e\u76f8\u5173\u7684\u8d44\u6e90\uff0cgithub \u91cc\u6709\u5f88\u591a\u5f52\u7eb3\u4ed3\u5e93\uff0c\u53ef\u4ee5\u5148\u770b\u770b\u5df2\u6709\u7684\u6536\u96c6\uff0c\u6709\u65f6\u5019\u4f1a\u8282\u7701\u5f88\u591a\u65f6\u95f4 \u66f4\u591a\u6280\u5de7 \u4f7f\u7528\u4e2d\uff0c\u5b9e\u9645\u4e0a\u6211\u4f1a\u53bb\u7279\u5b9a\u7f51\u7ad9\u627e\u4e00\u4e9b\u95ee\u9898\uff1a \u5982\u679c\u662f\u8bed\u8a00\u672c\u8eab\u76f8\u5173\uff0c\u6bd4\u5982 c++/Qt/OpenGL \u5982\u4f55\u5b9e\u73b0\u4ec0\u4e48\u529f\u80fd\uff0c\u53ef\u4ee5\u76f4\u63a5\u52a0\u4e0a site:stackoverflow.com \u5982\u679c\u662f\u5177\u4f53\u7684\u4e1a\u52a1/\u5f00\u53d1\u73af\u5883\u6216\u8005\u8f6f\u4ef6\u76f8\u5173\uff0c\u53ef\u4ee5\u5148\u5728 BugList \u3001IssueList \uff0c\u6216\u8005\u76f8\u5173\u8bba\u575b\u91cc\u5148\u627e\u4e00\u4e0b\uff0c\u6bd4\u5982 Qt \u7684\u95ee\u9898\u5c31\u53ef\u4ee5\u76f4\u63a5\u53bb Qt \u8bba\u575b\uff0cQGis \u6216\u8005 GDAL \u76f8\u5173\u95ee\u9898\u53ef\u4ee5\u5728 stackExchange \u91cc\u53bb\u641c QQ \u7fa4\u4e5f\u662f\u4e00\u4e2a\u63d0\u95ee\u7684\u5730\u65b9\uff0c\u4f46\u662f\u9700\u8981\u4f60\u63d0\u7684\u95ee\u9898\u6709\u610f\u4e49\uff0c\u5426\u5219\u5927\u90e8\u5206\u4eba\u4e0d\u4f1a\u56de\u4f60\uff0c\u800c\u4e14 QQ \u7fa4\u56de\u590d\u5e76\u4e0d\u53ca\u65f6\u3002 \u77e5\u4e4e\u4e13\u680f\u3001\u7b80\u4e66\u3001\u535a\u5ba2\u56ed\u3001 CSDN \u4e2d\u6709\u5927\u91cf\u4e2d\u6587\u7b14\u8bb0\uff0c\u8fd9\u4e9b\u90fd\u662f\u522b\u4eba\u56bc\u70c2\u4e86\u7684\u4e1c\u897f\uff0c\u57fa\u672c\u662f\u522b\u4eba\u8e29\u5751\u7684\u7ecf\u9a8c \u5173\u4e8e\u767e\u5ea6 \u5927\u90e8\u5206\u7f16\u7a0b\u4eba\u90fd\u4f1a\u544a\u8bc9\u4f60\u522b\u7528\u767e\u5ea6\uff0c\u7528 Google \u6216\u8005 Bing \u56fd\u9645\u7248\uff0c\u4f46\u662f Bing \u4e2d\u6587\u641c\u7d22\u7684\u51c6\u786e\u7387\u5e76\u4e0d\u9ad8\uff0c Google \u9700\u8981\u79d1\u5b66\u4e0a\u7f51\uff0c\u5982\u679c\u771f\u7684\u9700\u8981\uff0c\u53ef\u4ee5\u4f7f\u7528 Ecosia \u3001 Yandex \u4e4b\u7c7b\u7684\u641c\u7d22\u5f15\u64ce\u3002\u800c\u4e14\u4e2d\u6587\u641c\u7d22\u6765\u8bf4\uff0c\u767e\u5ea6\u53ef\u80fd\u8fd8\u771f\u662f\u6700\u597d\u7684\u3002 \u767e\u5ea6\u7684\u95ee\u9898\u4e3b\u8981\u5728\u4e8e\u6392\u5e8f\u7b97\u6cd5\uff0c\u53ef\u80fd\u4e24\u9875\u90fd\u6ca1\u5565\u5bf9\u7684\u5185\u5bb9\uff0c\u4f46\u662f\u6536\u5f55\u6bd4 Bing \u8fd8\u662f\u597d\u4e00\u4e9b\u7684\uff08\u767e\u5ea6\u4ee5\u524d\u5e76\u4e0d\u9075\u5b88 robots.txt \uff0c\u4f1a\u6293\u53d6\u6240\u6709\u9875\u9762\uff0c\u6240\u4ee5\u6709\u4e9b\u4e2a\u4eba\u7f51\u7ad9\u751a\u81f3\u4e13\u95e8\u5bf9\u767e\u5ea6\u505a\u4e86\u5c4f\u853d\uff09\uff0c\u751a\u81f3\u6709\u65f6\u5019\u6bd4 Google \u597d\u3002\u4ece\u6570\u636e\u5e93\u6765\u8bf4\uff0c\u767e\u5ea6\u6bd4 Google \u548c Bing \u6536\u5f55\u7684\u4e2d\u6587\u5185\u5bb9\u8981\u591a\uff0c\u5982\u679c\u4f60\u78b0\u5230\u7684\u65f6\u4e2d\u6587\u76f8\u5173\u7684\u95ee\u9898\u800c\u4e14\u786e\u5b9e\u627e\u4e0d\u5230\u76f8\u5173\u5185\u5bb9\uff0c\u90a3\u4e48\u5c31\u7528\u767e\u5ea6\uff0c\u641c\u7d22\u5f15\u64ce\u662f\u5de5\u5177\uff0c\u80fd\u7528\u597d\u7528\u624d\u662f\u738b\u9053\u3002 \u4ee3\u7801\u641c\u7d22 \u6211\u4eec\u9664\u4e86\u641c\u7d22\u5f15\u64ce\u67e5\u627e\u95ee\u9898\uff0c\u8fd8\u6709\u53ef\u80fd\u4f1a\u641c\u4e00\u4e9b\u4ee3\u7801\uff0c\u53ef\u80fd\u662f\u81ea\u5df1\u5199\u7684\uff0c\u4e5f\u53ef\u80fd\u662f\u9879\u76ee\u4e2d\u7684\uff0c\u4e0b\u9762\u63a8\u8350\u4e00\u4e9b\u5de5\u5177\uff1a \u4ee3\u7801\u68c0\u7d22\u6709\u4e24\u79cd\uff0c\u7b2c\u4e00\u662f\u672c\u5730\u7684\u4ee3\u7801\u68c0\u7d22\uff0c\u7b2c\u4e8c\u662f\u8981\u5199\u4e2a\u5565\u7b97\u6cd5\uff0c\u9700\u8981\u5728\u7f51\u4e0a\u641c\u7d22 \u672c\u5730\u4ee3\u7801\u641c\u7d22 ACK \u6216\u8005 ACK2\uff0c\u8001\u724c\u641c\u7d22\u5de5\u5177\uff0cperl \u5199\u7684 The Silver Searcher c \u5b9e\u73b0\u7684 The Platinum Searcher go \u5b9e\u73b0\u7684 FreeCommander \u81ea\u5e26\u7684\u641c\u7d22\uff0c\u5982\u679c\u662f\u56fa\u6001\u786c\u76d8\u901f\u5ea6\u8fd8\u4e0d\u9519 IDE \u81ea\u5e26\u7684\uff0c\u641c\u7d22\u6709\u4e9b\u65f6\u5019\u5e76\u4e0d\u592a\u597d\u7528 \u5f00\u6e90\u4ee3\u7801\u641c\u7d22 Searchcode \u641c\u7d22\u5f00\u6e90\u4ee3\u7801\uff0c\u901f\u5ea6\u6bd4\u8f83\u5feb \u4e00\u884c\u4ee3\u7801 \u56fd\u4ea7\u7684\uff0c\u6709\u4e9b\u56fd\u4ea7\u5de5\u5177\u5f88\u597d\u7528 [^ 1]: \u641c\u7d22\u5f15\u64ce\u5de5\u4f5c\u539f\u7406\u7b80\u4ecb - \u77e5\u4e4e (zhihu.com)","title":"\u4fe1\u606f\u68c0\u7d22"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_1","text":"","title":"\u4fe1\u606f\u68c0\u7d22"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_2","text":"\u78b0\u5230\u95ee\u9898\uff0c\u8bb0\u4f4f\u7b2c\u4e00\u4ef6\u4e8b\u662f \u7ffb\u9605\u6587\u6863 \uff0c\u4e0d\u8981\u4e00\u5f00\u59cb\u5c31\u76f4\u63a5\u641c\u7d22\u6216\u8005\u627e\u4eba\u95ee\uff0c\u7ffb\u9605FAQ\u53ef\u80fd\u4f1a\u5feb\u901f\u627e\u5230\u7b54\u6848\u3002 \u4fe1\u606f\u68c0\u7d22\uff0c\u6211\u7684\u7406\u89e3\u6765\u8bf4\uff0c\u5b9e\u9645\u4e0a\u5c31\u662f\u7075\u6d3b\u8fd0\u7528\u641c\u7d22\u5f15\u64ce\u4e2d\uff0c\u65b9\u4fbf\u5feb\u6377\u7684\u641c\u5230\u9700\u8981\u7684\u4fe1\u606f\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u7f16\u7a0b\u3002 \u7f16\u7a0b\u6700\u91cd\u8981\u7684\uff0c\u5c31\u662f STFW(search the fucking web) \u548c RTFM(read the fucking Manual) \uff0c\u9996\u5148\u8981\u8bfb\u6587\u6863\uff0c\u7b2c\u4e8c\u8981\u5b66\u4f1a\u641c\u7d22\uff0c\u7f51\u4e0a\u90a3\u4e48\u591a\u8d44\u6e90\uff0c\u600e\u4e48\u7528\uff0c\u5c31\u9700\u8981\u4fe1\u606f\u68c0\u7d22\u3002 \u8981\u641c\u7d22\uff0c\u6211\u4eec\u9996\u5148\u8981\u641e\u6e05\u695a\u641c\u7d22\u5f15\u64ce\u662f\u5982\u4f55\u5de5\u4f5c\u7684\uff1a","title":"\u524d\u8a00"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_3","text":"\u641c\u7d22\u5f15\u64ce\u7684\u5de5\u4f5c\u8fc7\u7a0b\u5927\u4f53\u53ef\u4ee5\u5206\u6210\u4e09\u9636\u6bb5\uff1a[^1] \u722c\u884c\u548c\u6293\u53d6\uff1a\u641c\u7d22\u5f15\u64ce\u8718\u86db\u901a\u8fc7\u8ddf\u8e2a\u94fe\u63a5\u8bbf\u95ee\u7f51\u9875\uff0c\u83b7\u53d6\u7f51\u9875 HTML \u4ee3\u7801\u5b58\u5165\u6570\u636e\u5e93\u3002 \u9884\u5904\u7406\uff1a\u7d22\u5f15\u7a0b\u5e8f\u5bf9\u6293\u53d6\u6765\u7684\u7f51\u9875\u6570\u636e\u8fdb\u884c\u6587\u5b57\u63d0\u53d6\uff0c\u4e2d\u6587\u5206\u8bcd\uff0c\u7d22\u5f15\u7b49\u5904\u7406\uff0c\u4ee5\u5907\u6392\u540d\u7a0b\u5e8f\u8c03\u7528\u3002 \u6392\u540d\uff1a\u7528\u6237\u8f93\u5165\u5173\u952e\u8bcd\u540e\uff0c\u6392\u540d\u7a0b\u5e8f\u8c03\u7528\u7d22\u5f15\u5e93\u6570\u636e\uff0c\u8ba1\u7b97\u76f8\u5173\u6027\uff0c\u7136\u540e\u6309\u4e00\u5b9a\u683c\u5f0f\u751f\u6210\u641c\u7d22\u7ed3\u679c\u9875\u9762\u3002 \u7b2c\u4e00\u6b65\uff0c\u5c31\u662f\u5927\u5bb6\u7ecf\u5e38\u542c\u8bf4\u7684\u7f51\u7edc\u722c\u866b\uff0c\u4e00\u822c Python \u5356\u8bfe\u7684\u90fd\u4f1a\u5439\u8fd9\u4e2a\u4e1c\u897f\u3002\u7b80\u5355\u53ef\u4ee5\u7406\u89e3\u4e3a\uff0c\u6211\u7528\u4e00\u4e2a\u81ea\u52a8\u7684\u7a0b\u5e8f\uff0c\u4e0b\u8f7d\u7f51\u7ad9\u4e2d\u7684\u6240\u6709\u6587\u672c\u3001\u56fe\u7247\u7b49\u76f8\u5173\u4fe1\u606f\uff0c\u7136\u540e\u5b58\u5165\u672c\u5730\u7684\u78c1\u76d8\u3002 \u7b2c\u4e8c\u6b65\u662f\u641c\u7d22\u5f15\u64ce\u7684\u6838\u5fc3\uff0c\u4f46\u662f\u5bf9\u4e8e\u6211\u4eec\u4f7f\u7528\u6765\u8bf4\uff0c\u5e76\u4e0d\u662f\u7279\u522b\u5173\u952e\uff0c\u5927\u81f4\u53ef\u4ee5\u7406\u89e3\u4e3a\u6d17\u5e72\u51c0\u6570\u636e\uff0c\u7136\u540e\u5165\u5e93\u9875\u9762\uff0c\u6bcf\u4e2a\u9875\u9762\u52a0\u5165\u5173\u952e\u5b57\u7b49\u4fe1\u606f\u65b9\u4fbf\u6211\u4eec\u67e5\u8be2\u3002 \u7b2c\u4e09\u6b65\u8ddf\u6211\u4eec\u606f\u606f\u76f8\u5173\uff0c\u4e0d\u7ba1\u662f\u4ec0\u4e48\u641c\u7d22\u7f51\u7ad9\uff0c google \u3001\u767e\u5ea6\u3001 Bing \uff0c\u90fd\u4e00\u6837\uff0c\u8f93\u5165\u5173\u952e\u5b57\u6216\u8005\u9700\u8981\u67e5\u8be2\u7684\u5185\u5bb9\uff0c\u641c\u7d22\u5f15\u64ce\u4f1a\u7ed9\u4f60\u8fd4\u56de\u7ed3\u679c\u3002\u672c\u6587\u5c31\u662f\u6559\u4f60\u5982\u4f55\u83b7\u53d6\u66f4\u597d\u7684\u7ed3\u679c\u3002","title":"\u641c\u7d22\u5f15\u64ce\u5de5\u4f5c\u539f\u7406"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_4","text":"\u6839\u636e\u4e0a\u8ff0\u7684\u5de5\u4f5c\u539f\u7406\uff0c\u6211\u4eec\u5927\u81f4\u5c31\u80fd\u660e\u767d\uff0c\u5176\u5b9e\u53ef\u4ee5\u628a\u641c\u7d22\u5f15\u64ce\u5f53\u4f5c\u4e00\u4e2a\u6bd4\u8f83\u806a\u660e\u7684\u6570\u636e\u5e93\uff0c\u66f4\u597d\u7684\u4f7f\u7528\u67e5\u8be2\u6761\u4ef6\u5c31\u80fd\u66f4\u5feb\u901f\u7684\u627e\u5230\u4f60\u60f3\u8981\u7684\u4fe1\u606f\uff0c\u4e0b\u9762\u4ecb\u7ecd\u4e00\u4e9b\u641c\u7d22\u7684\u6280\u5de7\uff1a","title":"\u57fa\u7840\u641c\u7d22\u6280\u5de7"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_5","text":"\u9996\u5148\u6211\u4eec\u8981\u77e5\u9053\u4e00\u4ef6\u4e8b\uff0c\u7f16\u7a0b\u4e2d\uff0c\u6700\u597d\u4f7f\u7528\u82f1\u6587\u641c\u7d22\u3002\u539f\u56e0\u4e3b\u8981\u6709\u51e0\u70b9\uff1a \u7f16\u7a0b\u548c\u5404\u79cd\u8f6f\u4ef6\u64cd\u4f5c\u4e2d\uff0c\u82f1\u6587\u8d44\u6599\u8d28\u91cf\u6bd4\u4e2d\u6587\u8d44\u6599\u548c\u5176\u4ed6\u8bed\u8a00\u8d44\u6599\u9ad8\uff0c\u82f1\u6587\u901a\u7528\u6027\u8fd8\u662f\u66f4\u597d\u4e9b \u56e0\u4e3a\u7ffb\u8bd1\u95ee\u9898\uff0c\u82f1\u6587\u7684\u540d\u8bcd\u6bd4\u4e2d\u6587\u51c6\u786e\u901a\u7528 \u4e2d\u6587\u641c\u7d22\u4e2d\uff0c\u5206\u8bcd\u7cfb\u7edf\u4e0d\u51c6\u4f1a\u5bfc\u81f4\u6b67\u4e49\uff0c\u6bd4\u5982 Google \u641c\u4e2d\u6587\u53ef\u80fd\u4f1a\u641c\u4e0d\u51fa\u51e0\u6761\u6709\u7528\u7ed3\u679c \u5982\u679c\u4f60\u82f1\u6587\u4e0d\u597d\uff0c\u7528\u767e\u5ea6\u7ffb\u8bd1\u6216\u8005\u641c\u72d7\u7ffb\u8bd1\uff0c\u8db3\u591f\u4e86\u3002 \u5f53\u7136\u4e0b\u9762\u7684\u6587\u6863\u4e3a\u4e86\u4e3e\u4f8b\u65b9\u4fbf\uff0c\u90fd\u8fd8\u662f\u7528\u4e2d\u6587\u4f8b\u5b50\u3002","title":"\u4f7f\u7528\u82f1\u6587"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_6","text":"\u641c\u7d22\u65f6\u4e0d\u8981\u641c\u7d22\u6574\u53e5\u8bdd\uff0c\u867d\u7136\u641c\u7d22\u5f15\u64ce\u4f1a\u81ea\u52a8\u5e2e\u52a9\u6211\u4eec\u5206\u8bcd\u68c0\u7d22\uff0c\u4f46\u662f\u6574\u53e5\u548c\u5173\u952e\u5b57\u641c\u7d22\u51fa\u6765\u7684\u7ed3\u679c\u518d\u51c6\u786e\u5ea6\u548c\u987a\u5e8f\u4e0a\u4f1a\u6709\u5f88\u5927\u5dee\u522b\u3002\u641c\u7d22\u5f15\u64ce\u662f\u673a\u5668\uff0c\u5e76\u4e0d\u662f\u4f60\u7684\u8001\u5e08\u6216\u8005\u540c\u4e8b\uff0c\u770b\u4e0a\u9762\u7684\u6d41\u7a0b\uff0c\u641c\u7d22\u5b9e\u9645\u4e0a\u662f\u53bb\u68c0\u7d22\u641c\u7d22\u5f15\u64ce\u722c\u51fa\u6765\u7684\u6570\u636e\u5e93\uff0c\u4f60\u53ef\u4ee5\u7406\u89e3\u4e3a\u5173\u952e\u5b57\u6bd4\u6a21\u7cca\u68c0\u7d22\u8981\u5feb\u800c\u4e14\u51c6\u786e\u3002 \u6211\u4eec\u9700\u8981\u63d0\u70bc\u95ee\u9898\uff0c\u786e\u5b9a\u6211\u4eec\u5230\u5e95\u9700\u8981\u89e3\u51b3\u4ec0\u4e48\u95ee\u9898\u3002 \u4f8b\u5982\uff0c\u6211\u60f3\u77e5\u9053 vcpkg \u5982\u4f55\u96c6\u6210\u5230\u5de5\u7a0b\u4e0a\u800c\u4e0d\u662f\u5168\u5c40\u4e2d\uff0c\u90a3\u4e48\u641c\u7d22 vcpkg\u5982\u4f55\u96c6\u6210\u5230\u5de5\u7a0b\u4e0a\u800c\u4e0d\u662f\u5168\u5c40\u4e2d \u8fd9\u79cd\u957f\u53e5\u53ef\u80fd\u65e0\u6cd5\u627e\u5230\u76f8\u5173\u7684\u7ed3\u679c\uff0c\u6700\u597d\u662f\u62c6\u5206\u6210\u5355\u8bcd\uff0c vcpkg \u96c6\u6210\u5230 \u5de5\u7a0b \u5168\u5c40 \u8fd9\u6837\u7684\u641c\u7d22\u3002\u5176\u5b9e\u8fd9\u91cc\u53ea\u662f\u4e3e\u4e2a\u4f8b\u5b50\uff0c\u9488\u5bf9\u672c\u6761\u5176\u5b9e\u90fd\u80fd\u641c\u7d22\u51fa\u76f8\u5173\u4fe1\u606f\uff0c\u4f46\u662f\u8d8a\u5177\u4f53\u7684\u95ee\u9898\uff0c\u673a\u5668\u5206\u8bcd\u8d8a\u53ef\u80fd\u51fa\u95ee\u9898\uff0c\u6240\u4ee5\u6700\u597d\u662f\u62c6\u5206\u5173\u952e\u5b57\uff0c\u4f7f\u7528\u8bcd\u7ec4\u6216\u8005\u65ad\u53e5\u6765\u8fdb\u884c\u641c\u7d22\u3002","title":"\u63d0\u70bc\u5173\u952e\u8bcd"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_7","text":"\u8fd8\u662f\u4e0a\u9762\u90a3\u4e2a\u4f8b\u5b50\uff0c\u5982\u679c\u641c\u4e0d\u51fa\u6765\uff0c\u53ef\u4ee5\u8bd5\u8bd5\u628a\u5de5\u7a0b\u6362\u6210\u9879\u76ee\uff0c\u6216\u8005\u79fb\u51fa\u96c6\u6210\uff0c\u5982\u679c\u4e0d\u884c\uff0c\u8bd5\u4e00\u4e0b\u9ad8\u7ea7\u641c\u7d22\u3002","title":"\u66ff\u6362\u5173\u952e\u5b57"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_8","text":"\u666e\u901a\u641c\u7d22\u5f15\u64ce\u4e00\u822c\u90fd\u652f\u6301\u9ad8\u7ea7\u641c\u7d22\uff0c\u5305\u62ec google \uff0c bing \uff0c\u767e\u5ea6\uff0c ecosia \uff0c\u7b49\u7b49\uff0c\u5927\u90e8\u5206\u90fd\u652f\u6301\uff0c\u4e0d\u8fc7\u53ef\u80fd\u8bed\u6cd5\u4e0d\u540c\uff0c\u4e00\u822c\u901a\u7528\u7684\u8868\u793a\uff1a \u7cbe\u51c6\u5339\u914d\uff1a \u7cbe\u51c6\u5339\u914d\u80fd\u4fdd\u8bc1\u641c\u7d22\u5173\u952e\u8bcd\u5b8c\u5168\u88ab\u5339\u914d\u4e0a\uff0c\u4e00\u822c\u662f\u7528\u53cc\u5f15\u53f7\u62ec\u8d77\u6765 \u6bd4\u5982\u641c\u7d22\u7ebf\u6027\u4ee3\u6570\uff0c\u53ef\u4ee5\u5728\u8f93\u5165\u6846\u5185\u8f93\u5165 \"\u7ebf\u6027\u4ee3\u6570\"\uff0c\u641c\u7d22\u5f15\u64ce\u5c06\u53ea\u5339\u914d\u5b8c\u6574\u5305\u542b \u201c\u7ebf\u6027\u4ee3\u6570\u201d \u7684\u9875\u9762\uff0c\u800c\u4e0d\u4f1a\u641c\u7d22\u62c6\u5206\u6210\u7ebf\u6027\u548c\u4ee3\u6570\u4e24\u4e2a\u8bcd\u7684\u9875\u9762 \u4e0d\u5305\u542b\u5173\u952e\u5b57\uff1a \u7528 - \u51cf\u53f7\u8fde\u63a5\u5173\u952e\u5b57\uff0c\u7528\u4e8e\u6392\u9664\u67d0\u4e9b\u5e72\u6270\u8bcd \u5305\u542b\u5173\u952e\u5b57\uff1a \u7528 + \u52a0\u53f7\u8fde\u63a5\u5173\u952e\u5b57 \u641c\u7d22\u7279\u5b9a\u6587\u4ef6\u7c7b\u578b\uff1a filetype:pdf \u76f4\u63a5\u641c\u7d22 pdf \u6587\u4ef6 \u641c\u7d22\u7279\u5b9a\u7f51\u5740\uff1a site:stackoverflow.com \u53ea\u641c\u7d22\u7279\u5b9a\u7f51\u7ad9\u5185\u7684\u9875\u9762 \u4e00\u822c\u53ef\u4ee5\u53c2\u7167\u7f51\u7ad9\u8bf4\u660e\uff0c\u6bd4\u5982\u767e\u5ea6\u53ef\u4ee5\u53c2\u7167 \u9ad8\u7ea7\u641c\u7d22 \uff0cBing \u53ef\u4ee5\u53c2\u7167 \u9ad8\u7ea7\u641c\u7d22\u5173\u952e\u5b57 \u548c \u9ad8\u7ea7\u641c\u7d22\u9009\u9879 \u3002","title":"\u9ad8\u7ea7\u641c\u7d22"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#github","text":"\u53ef\u4ee5\u76f4\u63a5\u7528 \u9ad8\u7ea7\u641c\u7d22\u9875\u9762 \u8fdb\u884c\u641c\u7d22\uff0c\u4e5f\u53ef\u4ee5\u53c2\u7167 Github\u67e5\u8be2\u8bed\u6cd5 \u8fdb\u884c\u67e5\u627e\uff0c\u7b80\u5355\u8bf4\u51e0\u4e2a: in:name <\u5173\u952e\u5b57> \u4ed3\u5e93\u540d\u79f0\u5e26\u5173\u952e\u5b57\u67e5\u8be2 in:description <\u5173\u952e\u5b57> \u4ed3\u5e93\u63cf\u8ff0\u5e26\u5173\u952e\u5b57\u67e5\u8be2 in:readme <\u5173\u952e\u5b57> README \u6587\u4ef6\u5e26\u5173\u952e\u5b57\u67e5\u8be2 stars(fork): >(=) <\u6570\u5b57> <\u5173\u952e\u5b57> star \u6216 fork \u6570\u5927\u4e8e(\u6216\u7b49\u4e8e)\u6307\u5b9a\u6570\u5b57\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 stars(fork): 10..20 <\u5173\u952e\u8bcd> star \u6216 fork \u6570\u5728 10 \u5230 20 \u4e4b\u95f4\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 size:>=5000 <\u5173\u952e\u8bcd> \u9650\u5b9a\u4ed3\u5e93\u5927\u4e8e\u7b49\u4e8e 5000K \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 pushed(created):>2019-11-15 <\u5173\u952e\u5b57> \u66f4\u65b0 \u6216 \u521b\u5efa \u65e5\u671f\u5728 2019 \u5e74 11 \u6708 16 \u65e5\u4e4b\u540e\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 license:apache-2.0 <\u5173\u952e\u5b57> LICENSE \u4e3a apache-2.0 \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 language:java <\u5173\u952e\u8bcd> \u4ed3\u5e93\u8bed\u8a00\u4e3a Java \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 user:<\u7528\u6237\u540d> \u67e5\u8be2\u67d0\u4e2a\u7528\u6237\u7684\u9879\u76ee org:<\u7ec4\u7ec7\u540d> \u67e5\u8be2\u67d0\u4e2a\u7ec4\u7ec7\u7684\u9879\u76ee \u8fd9\u4e9b\u53ef\u4ee5\u6df7\u5408\u4f7f\u7528\uff0c\u4e5f\u53ef\u4ee5\u5148\u67e5\u627e\u67d0\u4e00\u7c7b\u7684 awesome \u4ed3\u5e93\uff0c\u7136\u540e\u4ece awesome \u5e93\u91cc\u627e\u76f8\u5173\u7684\u8d44\u6e90\uff0cgithub \u91cc\u6709\u5f88\u591a\u5f52\u7eb3\u4ed3\u5e93\uff0c\u53ef\u4ee5\u5148\u770b\u770b\u5df2\u6709\u7684\u6536\u96c6\uff0c\u6709\u65f6\u5019\u4f1a\u8282\u7701\u5f88\u591a\u65f6\u95f4","title":"GitHub \u7684\u9ad8\u7ea7\u641c\u7d22"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_9","text":"\u4f7f\u7528\u4e2d\uff0c\u5b9e\u9645\u4e0a\u6211\u4f1a\u53bb\u7279\u5b9a\u7f51\u7ad9\u627e\u4e00\u4e9b\u95ee\u9898\uff1a \u5982\u679c\u662f\u8bed\u8a00\u672c\u8eab\u76f8\u5173\uff0c\u6bd4\u5982 c++/Qt/OpenGL \u5982\u4f55\u5b9e\u73b0\u4ec0\u4e48\u529f\u80fd\uff0c\u53ef\u4ee5\u76f4\u63a5\u52a0\u4e0a site:stackoverflow.com \u5982\u679c\u662f\u5177\u4f53\u7684\u4e1a\u52a1/\u5f00\u53d1\u73af\u5883\u6216\u8005\u8f6f\u4ef6\u76f8\u5173\uff0c\u53ef\u4ee5\u5148\u5728 BugList \u3001IssueList \uff0c\u6216\u8005\u76f8\u5173\u8bba\u575b\u91cc\u5148\u627e\u4e00\u4e0b\uff0c\u6bd4\u5982 Qt \u7684\u95ee\u9898\u5c31\u53ef\u4ee5\u76f4\u63a5\u53bb Qt \u8bba\u575b\uff0cQGis \u6216\u8005 GDAL \u76f8\u5173\u95ee\u9898\u53ef\u4ee5\u5728 stackExchange \u91cc\u53bb\u641c QQ \u7fa4\u4e5f\u662f\u4e00\u4e2a\u63d0\u95ee\u7684\u5730\u65b9\uff0c\u4f46\u662f\u9700\u8981\u4f60\u63d0\u7684\u95ee\u9898\u6709\u610f\u4e49\uff0c\u5426\u5219\u5927\u90e8\u5206\u4eba\u4e0d\u4f1a\u56de\u4f60\uff0c\u800c\u4e14 QQ \u7fa4\u56de\u590d\u5e76\u4e0d\u53ca\u65f6\u3002 \u77e5\u4e4e\u4e13\u680f\u3001\u7b80\u4e66\u3001\u535a\u5ba2\u56ed\u3001 CSDN \u4e2d\u6709\u5927\u91cf\u4e2d\u6587\u7b14\u8bb0\uff0c\u8fd9\u4e9b\u90fd\u662f\u522b\u4eba\u56bc\u70c2\u4e86\u7684\u4e1c\u897f\uff0c\u57fa\u672c\u662f\u522b\u4eba\u8e29\u5751\u7684\u7ecf\u9a8c","title":"\u66f4\u591a\u6280\u5de7"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_10","text":"\u5927\u90e8\u5206\u7f16\u7a0b\u4eba\u90fd\u4f1a\u544a\u8bc9\u4f60\u522b\u7528\u767e\u5ea6\uff0c\u7528 Google \u6216\u8005 Bing \u56fd\u9645\u7248\uff0c\u4f46\u662f Bing \u4e2d\u6587\u641c\u7d22\u7684\u51c6\u786e\u7387\u5e76\u4e0d\u9ad8\uff0c Google \u9700\u8981\u79d1\u5b66\u4e0a\u7f51\uff0c\u5982\u679c\u771f\u7684\u9700\u8981\uff0c\u53ef\u4ee5\u4f7f\u7528 Ecosia \u3001 Yandex \u4e4b\u7c7b\u7684\u641c\u7d22\u5f15\u64ce\u3002\u800c\u4e14\u4e2d\u6587\u641c\u7d22\u6765\u8bf4\uff0c\u767e\u5ea6\u53ef\u80fd\u8fd8\u771f\u662f\u6700\u597d\u7684\u3002 \u767e\u5ea6\u7684\u95ee\u9898\u4e3b\u8981\u5728\u4e8e\u6392\u5e8f\u7b97\u6cd5\uff0c\u53ef\u80fd\u4e24\u9875\u90fd\u6ca1\u5565\u5bf9\u7684\u5185\u5bb9\uff0c\u4f46\u662f\u6536\u5f55\u6bd4 Bing \u8fd8\u662f\u597d\u4e00\u4e9b\u7684\uff08\u767e\u5ea6\u4ee5\u524d\u5e76\u4e0d\u9075\u5b88 robots.txt \uff0c\u4f1a\u6293\u53d6\u6240\u6709\u9875\u9762\uff0c\u6240\u4ee5\u6709\u4e9b\u4e2a\u4eba\u7f51\u7ad9\u751a\u81f3\u4e13\u95e8\u5bf9\u767e\u5ea6\u505a\u4e86\u5c4f\u853d\uff09\uff0c\u751a\u81f3\u6709\u65f6\u5019\u6bd4 Google \u597d\u3002\u4ece\u6570\u636e\u5e93\u6765\u8bf4\uff0c\u767e\u5ea6\u6bd4 Google \u548c Bing \u6536\u5f55\u7684\u4e2d\u6587\u5185\u5bb9\u8981\u591a\uff0c\u5982\u679c\u4f60\u78b0\u5230\u7684\u65f6\u4e2d\u6587\u76f8\u5173\u7684\u95ee\u9898\u800c\u4e14\u786e\u5b9e\u627e\u4e0d\u5230\u76f8\u5173\u5185\u5bb9\uff0c\u90a3\u4e48\u5c31\u7528\u767e\u5ea6\uff0c\u641c\u7d22\u5f15\u64ce\u662f\u5de5\u5177\uff0c\u80fd\u7528\u597d\u7528\u624d\u662f\u738b\u9053\u3002","title":"\u5173\u4e8e\u767e\u5ea6"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_11","text":"\u6211\u4eec\u9664\u4e86\u641c\u7d22\u5f15\u64ce\u67e5\u627e\u95ee\u9898\uff0c\u8fd8\u6709\u53ef\u80fd\u4f1a\u641c\u4e00\u4e9b\u4ee3\u7801\uff0c\u53ef\u80fd\u662f\u81ea\u5df1\u5199\u7684\uff0c\u4e5f\u53ef\u80fd\u662f\u9879\u76ee\u4e2d\u7684\uff0c\u4e0b\u9762\u63a8\u8350\u4e00\u4e9b\u5de5\u5177\uff1a \u4ee3\u7801\u68c0\u7d22\u6709\u4e24\u79cd\uff0c\u7b2c\u4e00\u662f\u672c\u5730\u7684\u4ee3\u7801\u68c0\u7d22\uff0c\u7b2c\u4e8c\u662f\u8981\u5199\u4e2a\u5565\u7b97\u6cd5\uff0c\u9700\u8981\u5728\u7f51\u4e0a\u641c\u7d22","title":"\u4ee3\u7801\u641c\u7d22"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_12","text":"ACK \u6216\u8005 ACK2\uff0c\u8001\u724c\u641c\u7d22\u5de5\u5177\uff0cperl \u5199\u7684 The Silver Searcher c \u5b9e\u73b0\u7684 The Platinum Searcher go \u5b9e\u73b0\u7684 FreeCommander \u81ea\u5e26\u7684\u641c\u7d22\uff0c\u5982\u679c\u662f\u56fa\u6001\u786c\u76d8\u901f\u5ea6\u8fd8\u4e0d\u9519 IDE \u81ea\u5e26\u7684\uff0c\u641c\u7d22\u6709\u4e9b\u65f6\u5019\u5e76\u4e0d\u592a\u597d\u7528","title":"\u672c\u5730\u4ee3\u7801\u641c\u7d22"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_13","text":"Searchcode \u641c\u7d22\u5f00\u6e90\u4ee3\u7801\uff0c\u901f\u5ea6\u6bd4\u8f83\u5feb \u4e00\u884c\u4ee3\u7801 \u56fd\u4ea7\u7684\uff0c\u6709\u4e9b\u56fd\u4ea7\u5de5\u5177\u5f88\u597d\u7528 [^ 1]: \u641c\u7d22\u5f15\u64ce\u5de5\u4f5c\u539f\u7406\u7b80\u4ecb - \u77e5\u4e4e (zhihu.com)","title":"\u5f00\u6e90\u4ee3\u7801\u641c\u7d22"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E7%BF%BB%E5%A2%99/","text":"\u7ffb\u5899 \u6b64\u94fe\u63a5 \u51fa\u73b0\u5728\u8fd9\u91cc\u7eaf\u5c5e\u4e8c\u8fdb\u5236 bit \u7684\u968f\u610f\u7ec4\u5408\uff0c\u4e0e\u672c\u4eba\u6beb\u65e0\u5173\u7cfb\u3002","title":"\u7ffb\u5899"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E7%BF%BB%E5%A2%99/#_1","text":"\u6b64\u94fe\u63a5 \u51fa\u73b0\u5728\u8fd9\u91cc\u7eaf\u5c5e\u4e8c\u8fdb\u5236 bit \u7684\u968f\u610f\u7ec4\u5408\uff0c\u4e0e\u672c\u4eba\u6beb\u65e0\u5173\u7cfb\u3002","title":"\u7ffb\u5899"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/","text":"CS162: Operating System \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1aC, x86\u6c47\u7f16 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a200 \u5c0f\u65f6+\uff0c\u4e0a\u4e0d\u5c01\u9876 \u8fd9\u95e8\u8bfe\u8ba9\u6211\u8bb0\u5fc6\u72b9\u65b0\u7684\u6709\u4e24\u4e2a\u90e8\u5206\uff1a \u9996\u5148\u662f\u6559\u6750\uff0c\u8fd9\u672c\u4e66\u7528\u7684\u6559\u6750 Operating Systems: Principles and Practice (2nd Edition) \u4e00\u5171\u56db\u5377\uff0c\u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u5f88\u597d\u5730\u5f25\u8865\u4e86 MIT6.S081 \u5728\u7406\u8bba\u77e5\u8bc6\u4e0a\u7684\u4e9b\u8bb8\u7a7a\u767d\uff0c\u975e\u5e38\u5efa\u8bae\u5927\u5bb6\u9605\u8bfb\u3002\u76f8\u5173\u8d44\u6e90\u4f1a\u5206\u4eab\u5728\u672c\u4e66\u7684\u7ecf\u5178\u4e66\u7c4d\u63a8\u8350\u6a21\u5757\u3002 \u5176\u6b21\u662f\u8fd9\u95e8\u8bfe\u7684 Project \u2014\u2014 Pintos\u3002Pintos \u662f\u7531 Ben Pfaff \u7b49\u4eba\u5728 x86 \u5e73\u53f0\u4e0a\u7f16\u5199\u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf\uff0cBen Pfaff \u751a\u81f3\u4e13\u95e8\u53d1\u4e86\u7bc7 paper \u6765\u9610\u8ff0 Pintos \u7684\u8bbe\u8ba1\u601d\u60f3\u3002 \u548c MIT \u7684 xv6 \u5c0f\u800c\u7cbe\u7684 lab \u8bbe\u8ba1\u7406\u5ff5\u4e0d\u540c\uff0cPintos \u66f4\u6ce8\u91cd\u7cfb\u7edf\u7684 Design and Implementation\u3002Pintos \u672c\u8eab\u4ec5\u4e00\u4e07\u884c\u5de6\u53f3\uff0c\u53ea\u63d0\u4f9b\u4e86\u64cd\u4f5c\u7cfb\u7edf\u6700\u57fa\u672c\u7684\u529f\u80fd\u3002\u800c 4 \u4e2aProject\uff0c\u5c31\u662f\u8ba9\u4f60\u5728\u8fd9\u4e2a\u6781\u4e3a\u7cbe\u7b80\u7684\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u4e0a\uff0c\u5206\u522b\u4e3a\u5176\u589e\u52a0\u7ebf\u7a0b\u8c03\u5ea6\u673a\u5236 (Project1)\uff0c\u7cfb\u7edf\u8c03\u7528 (Project2)\uff0c\u865a\u62df\u5185\u5b58 (Project3) \u4ee5\u53ca\u6587\u4ef6\u7cfb\u7edf (Project4)\u3002\u6240\u6709\u7684 Project \u90fd\u7ed9\u5b66\u751f\u7559\u6709\u5f88\u5927\u7684\u8bbe\u8ba1\u7a7a\u95f4\uff0c\u603b\u4ee3\u7801\u91cf\u5728 2000 \u884c\u5de6\u53f3\u3002\u6839\u636e Stanford \u5b66\u751f \u81ea\u5df1\u7684\u53cd\u9988 \uff0c\u5728 3-4 \u4eba\u7ec4\u961f\u7684\u60c5\u51b5\u4e0b\uff0c\u540e\u4e24\u4e2a Project \u7684\u4eba\u5747\u8017\u65f6\u4e5f\u5728 40 \u4e2a\u5c0f\u65f6\u4ee5\u4e0a\u3002 \u867d\u7136\u96be\u5ea6\u5f88\u5927\uff0c\u4f46 Stanford, Berkeley, JHU \u7b49\u591a\u6240\u7f8e\u56fd\u9876\u5c16\u540d\u6821\u7684\u64cd\u7edf\u8bfe\u7a0b\u5747\u91c7\u7528\u4e86 Pintos\u3002\u5982\u679c\u4f60\u771f\u7684\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u5f88\u611f\u5174\u8da3\uff0cPintos \u4f1a\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u7f16\u5199\u548c debug \u5e95\u5c42\u7cfb\u7edf\u4ee3\u7801\u7684\u80fd\u529b\u3002\u5728\u672c\u79d1\u9636\u6bb5\uff0c\u80fd\u81ea\u5df1\u8bbe\u8ba1\u3001\u5b9e\u73b0\u5e76 debug \u4e00\u4e2a\u5927\u578b\u7cfb\u7edf\uff0c\u662f\u4e00\u6bb5\u975e\u5e38\u73cd\u8d35\u7684\u7ecf\u5386\u3002 \u5317\u5927 2022 \u5e74\u6625\u5b63\u5b66\u671f\u7684\u64cd\u4f5c\u7cfb\u7edf\u5b9e\u9a8c\u73ed\u4e5f\u5c06\u4f1a\u9996\u6b21\u5f15\u5165 Pintos \u4f5c\u4e3a\u8bfe\u7a0b Project\u3002\u6211\u548c\u8be5\u8bfe\u7a0b\u7684 \u53e6\u4e00\u4f4d\u52a9\u6559 \u6574\u7406\u5e76\u5b8c\u5584\u4e86 Pintos \u7684 \u5b9e\u9a8c\u6587\u6863 \uff0c\u5e76\u5229\u7528 Docker \u914d\u7f6e\u4e86\u8de8\u5e73\u53f0\u7684\u5b9e\u9a8c\u73af\u5883\uff0c\u60f3\u81ea\u5b66\u7684\u540c\u5b66\u53ef\u4ee5\u6309\u6587\u6863\u81ea\u884c\u5b66\u4e60\u3002\u5728\u6bd5\u4e1a\u524d\u7684\u6700\u540e\u4e00\u4e2a\u5b66\u671f\uff0c\u5e0c\u671b\u80fd\u7528\u8fd9\u6837\u7684\u5c1d\u8bd5\uff0c\u8ba9\u66f4\u591a\u4eba\u7231\u4e0a\u7cfb\u7edf\u9886\u57df\uff0c\u4e3a\u56fd\u5185\u7684\u7cfb\u7edf\u7814\u7a76\u6dfb\u7816\u52a0\u74e6\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs162.org/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=YfHY0pvpRkk \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a Operating Systems: Principles and Practice (2nd Edition) \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://cs162.org/ \uff0c6 \u4e2a Homework, 3 \u4e2a Project\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b \u7531\u4e8e\u5317\u5927\u7684\u64cd\u7edf\u5b9e\u9a8c\u73ed\u91c7\u7528\u4e86\u8be5\u8bfe\u7a0b\u7684 Project\uff0c\u4e3a\u4e86\u9632\u6b62\u4ee3\u7801\u6284\u88ad\uff0c\u6211\u7684\u4ee3\u7801\u5b9e\u73b0\u6ca1\u6709\u5f00\u6e90\u3002","title":"UCB CS162: Operating System"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#cs162-operating-system","text":"","title":"CS162: Operating System"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1aC, x86\u6c47\u7f16 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a200 \u5c0f\u65f6+\uff0c\u4e0a\u4e0d\u5c01\u9876 \u8fd9\u95e8\u8bfe\u8ba9\u6211\u8bb0\u5fc6\u72b9\u65b0\u7684\u6709\u4e24\u4e2a\u90e8\u5206\uff1a \u9996\u5148\u662f\u6559\u6750\uff0c\u8fd9\u672c\u4e66\u7528\u7684\u6559\u6750 Operating Systems: Principles and Practice (2nd Edition) \u4e00\u5171\u56db\u5377\uff0c\u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u5f88\u597d\u5730\u5f25\u8865\u4e86 MIT6.S081 \u5728\u7406\u8bba\u77e5\u8bc6\u4e0a\u7684\u4e9b\u8bb8\u7a7a\u767d\uff0c\u975e\u5e38\u5efa\u8bae\u5927\u5bb6\u9605\u8bfb\u3002\u76f8\u5173\u8d44\u6e90\u4f1a\u5206\u4eab\u5728\u672c\u4e66\u7684\u7ecf\u5178\u4e66\u7c4d\u63a8\u8350\u6a21\u5757\u3002 \u5176\u6b21\u662f\u8fd9\u95e8\u8bfe\u7684 Project \u2014\u2014 Pintos\u3002Pintos \u662f\u7531 Ben Pfaff \u7b49\u4eba\u5728 x86 \u5e73\u53f0\u4e0a\u7f16\u5199\u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf\uff0cBen Pfaff \u751a\u81f3\u4e13\u95e8\u53d1\u4e86\u7bc7 paper \u6765\u9610\u8ff0 Pintos \u7684\u8bbe\u8ba1\u601d\u60f3\u3002 \u548c MIT \u7684 xv6 \u5c0f\u800c\u7cbe\u7684 lab \u8bbe\u8ba1\u7406\u5ff5\u4e0d\u540c\uff0cPintos \u66f4\u6ce8\u91cd\u7cfb\u7edf\u7684 Design and Implementation\u3002Pintos \u672c\u8eab\u4ec5\u4e00\u4e07\u884c\u5de6\u53f3\uff0c\u53ea\u63d0\u4f9b\u4e86\u64cd\u4f5c\u7cfb\u7edf\u6700\u57fa\u672c\u7684\u529f\u80fd\u3002\u800c 4 \u4e2aProject\uff0c\u5c31\u662f\u8ba9\u4f60\u5728\u8fd9\u4e2a\u6781\u4e3a\u7cbe\u7b80\u7684\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u4e0a\uff0c\u5206\u522b\u4e3a\u5176\u589e\u52a0\u7ebf\u7a0b\u8c03\u5ea6\u673a\u5236 (Project1)\uff0c\u7cfb\u7edf\u8c03\u7528 (Project2)\uff0c\u865a\u62df\u5185\u5b58 (Project3) \u4ee5\u53ca\u6587\u4ef6\u7cfb\u7edf (Project4)\u3002\u6240\u6709\u7684 Project \u90fd\u7ed9\u5b66\u751f\u7559\u6709\u5f88\u5927\u7684\u8bbe\u8ba1\u7a7a\u95f4\uff0c\u603b\u4ee3\u7801\u91cf\u5728 2000 \u884c\u5de6\u53f3\u3002\u6839\u636e Stanford \u5b66\u751f \u81ea\u5df1\u7684\u53cd\u9988 \uff0c\u5728 3-4 \u4eba\u7ec4\u961f\u7684\u60c5\u51b5\u4e0b\uff0c\u540e\u4e24\u4e2a Project \u7684\u4eba\u5747\u8017\u65f6\u4e5f\u5728 40 \u4e2a\u5c0f\u65f6\u4ee5\u4e0a\u3002 \u867d\u7136\u96be\u5ea6\u5f88\u5927\uff0c\u4f46 Stanford, Berkeley, JHU \u7b49\u591a\u6240\u7f8e\u56fd\u9876\u5c16\u540d\u6821\u7684\u64cd\u7edf\u8bfe\u7a0b\u5747\u91c7\u7528\u4e86 Pintos\u3002\u5982\u679c\u4f60\u771f\u7684\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u5f88\u611f\u5174\u8da3\uff0cPintos \u4f1a\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u7f16\u5199\u548c debug \u5e95\u5c42\u7cfb\u7edf\u4ee3\u7801\u7684\u80fd\u529b\u3002\u5728\u672c\u79d1\u9636\u6bb5\uff0c\u80fd\u81ea\u5df1\u8bbe\u8ba1\u3001\u5b9e\u73b0\u5e76 debug \u4e00\u4e2a\u5927\u578b\u7cfb\u7edf\uff0c\u662f\u4e00\u6bb5\u975e\u5e38\u73cd\u8d35\u7684\u7ecf\u5386\u3002 \u5317\u5927 2022 \u5e74\u6625\u5b63\u5b66\u671f\u7684\u64cd\u4f5c\u7cfb\u7edf\u5b9e\u9a8c\u73ed\u4e5f\u5c06\u4f1a\u9996\u6b21\u5f15\u5165 Pintos \u4f5c\u4e3a\u8bfe\u7a0b Project\u3002\u6211\u548c\u8be5\u8bfe\u7a0b\u7684 \u53e6\u4e00\u4f4d\u52a9\u6559 \u6574\u7406\u5e76\u5b8c\u5584\u4e86 Pintos \u7684 \u5b9e\u9a8c\u6587\u6863 \uff0c\u5e76\u5229\u7528 Docker \u914d\u7f6e\u4e86\u8de8\u5e73\u53f0\u7684\u5b9e\u9a8c\u73af\u5883\uff0c\u60f3\u81ea\u5b66\u7684\u540c\u5b66\u53ef\u4ee5\u6309\u6587\u6863\u81ea\u884c\u5b66\u4e60\u3002\u5728\u6bd5\u4e1a\u524d\u7684\u6700\u540e\u4e00\u4e2a\u5b66\u671f\uff0c\u5e0c\u671b\u80fd\u7528\u8fd9\u6837\u7684\u5c1d\u8bd5\uff0c\u8ba9\u66f4\u591a\u4eba\u7231\u4e0a\u7cfb\u7edf\u9886\u57df\uff0c\u4e3a\u56fd\u5185\u7684\u7cfb\u7edf\u7814\u7a76\u6dfb\u7816\u52a0\u74e6\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs162.org/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=YfHY0pvpRkk \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a Operating Systems: Principles and Practice (2nd Edition) \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://cs162.org/ \uff0c6 \u4e2a Homework, 3 \u4e2a Project\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#_3","text":"\u7531\u4e8e\u5317\u5927\u7684\u64cd\u7edf\u5b9e\u9a8c\u73ed\u91c7\u7528\u4e86\u8be5\u8bfe\u7a0b\u7684 Project\uff0c\u4e3a\u4e86\u9632\u6b62\u4ee3\u7801\u6284\u88ad\uff0c\u6211\u7684\u4ee3\u7801\u5b9e\u73b0\u6ca1\u6709\u5f00\u6e90\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/","text":"HIT OS: Operating System \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u54c8\u5c14\u6ee8\u5de5\u4e1a\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1aC \u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bed\u8a00\u3001\u6c47\u7f16 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6+ \u5982\u679c\u4f60\u5728\u77e5\u4e4e\u4e0a\u641c\u7d22\u201c\u64cd\u4f5c\u7cfb\u7edf\u5982\u4f55\u81ea\u5b66\u201d\u3001\u201c\u64cd\u4f5c\u7cfb\u7edf\u7684\u516c\u5f00\u8bfe\u63a8\u8350\u201d\u3001\u201c\u6709\u54ea\u4e9b\u8ba9\u4f60\u76f8\u89c1\u6068\u665a\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u201d\u7b49\u95ee\u9898\uff0c\u54c8\u5de5\u5927\u674e\u6cbb\u519b\u8001\u5e08\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u5927\u6982\u7387\u90fd\u4f1a\u5728\u67d0\u6761\u9ad8\u8d5e\u56de\u7b54\u7684\u63a8\u8350\u91cc\u3002\u8fd9\u662f\u4e00\u95e8\u77e5\u540d\u5ea6\u8f83\u9ad8\u3001\u9887\u53d7\u6b22\u8fce\u7684\u4e2d\u6587\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002 \u8fd9\u95e8\u8bfe\u5584\u4e8e\u7ad9\u5728\u5b66\u751f\u89d2\u5ea6\u5faa\u5faa\u5584\u8bf1\u3002\u4f8b\u5982\uff0c\u8bfe\u7a0b\u4ece\u201c\u5f31\u5f31\u5730\u95ee\uff0c\u4ec0\u4e48\u662f\u64cd\u4f5c\u7cfb\u7edf\u201d\u6765\u201c\u63ed\u5f00\u64cd\u4f5c\u7cfb\u7edf\u94a2\u7434\u7684\u76d6\u5b50\u201d\uff0c\u4ece CPU \u7684\u76f4\u89c2\u7ba1\u7406\u5f15\u51fa\u8fdb\u7a0b\u6982\u5ff5\uff0c\u4ece\u201c\u90a3\u5c31\u9996\u5148\u8ba9\u7a0b\u5e8f\u8fdb\u5165\u5185\u5b58\u201d\u5f15\u51fa\u5185\u5b58\u7ba1\u7406\u3002 \u8fd9\u95e8\u8bfe\u6ce8\u91cd\u7406\u8bba\u548c\u5b9e\u8df5\u76f8\u7ed3\u5408\u3002\u64cd\u4f5c\u7cfb\u7edf\u662f\u770b\u5f97\u89c1\u6478\u5f97\u7740\u7684\u4e1c\u897f\uff0c\u674e\u8001\u5e08\u53cd\u590d\u5f3a\u8c03\u4e00\u5b9a\u8981\u505a\u5b9e\u9a8c\uff0c\u5982\u679c\u53ea\u770b\u89c6\u9891\u7eb8\u4e0a\u8c08\u5175\uff0c\u662f\u5b66\u4e0d\u597d\u64cd\u4f5c\u7cfb\u7edf\u7684\u3002\u8bfe\u7a0b\u57fa\u4e8e\u5b9e\u9645\u7684 Linux 0.11 \u6e90\u7801\uff08\u603b\u4ee3\u7801\u91cf\u7ea6\u4e24\u4e07\u884c\uff09\u8fdb\u884c\u8bb2\u89e3\u548c\u5b9e\u9a8c\uff0c\u5171\u6709\u516b\u4e2a\u5c0f\u5b9e\u9a8c\uff0c\u56db\u4e2a\u5927\u5b9e\u9a8c\u3002 \u5f53\u7136\uff0c\u8fd9\u95e8\u8bfe\u4e5f\u6709\u4e00\u4e9b\u7455\u4e0d\u63a9\u745c\u7684\u5730\u65b9\u3002\u4f8b\u5982\uff0cLinux 0.11 \u662f\u5f88\u65e9\u671f\u5de5\u4e1a\u754c\u7684\u4ee3\u7801\uff0c\u4e0d\u662f\u4e3a\u4e86\u6559\u5b66\u800c\u8bbe\u8ba1\u7684\u3002\u56e0\u6b64\u5728\u5b9e\u9a8c\u8fc7\u7a0b\u4e2d\u4f1a\u6709\u4e00\u4e9b\u907f\u4e0d\u5f00\u7684\u6666\u6da9\u96be\u61c2\u7684\u539f\u751f\u4ee3\u7801\uff0c\u4f46\u5b83\u4eec\u5bf9\u7406\u89e3\u64cd\u4f5c\u7cfb\u7edf\u5176\u5b9e\u5e76\u6ca1\u6709\u592a\u5927\u5e2e\u52a9\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.icourse163.org/course/HIT-1002531008 \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV19r4y1b7Aw/?p=1 \u8bfe\u7a0b\u6559\u6750\u4e00\uff1a \u300aLinux \u5185\u6838\u5b8c\u5168\u6ce8\u91ca\u300b \u8bfe\u7a0b\u6559\u6750\u4e8c\uff1a \u300a\u64cd\u4f5c\u7cfb\u7edf\u539f\u7406\u3001\u5b9e\u73b0\u4e0e\u5b9e\u8df5\u300b \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://www.lanqiao.cn/courses/115 \u8d44\u6e90\u6c47\u603b @NaChen95 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7684\u516b\u4e2a\u5b9e\u9a8c\u4f5c\u4e1a\u7684\u539f\u7406\u5206\u6790\u548c\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 NaChen95 / Linux0.11 \u4e2d\u3002","title":"HIT OS: Operating System"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/#hit-os-operating-system","text":"","title":"HIT OS: Operating System"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u54c8\u5c14\u6ee8\u5de5\u4e1a\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1aC \u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bed\u8a00\u3001\u6c47\u7f16 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6+ \u5982\u679c\u4f60\u5728\u77e5\u4e4e\u4e0a\u641c\u7d22\u201c\u64cd\u4f5c\u7cfb\u7edf\u5982\u4f55\u81ea\u5b66\u201d\u3001\u201c\u64cd\u4f5c\u7cfb\u7edf\u7684\u516c\u5f00\u8bfe\u63a8\u8350\u201d\u3001\u201c\u6709\u54ea\u4e9b\u8ba9\u4f60\u76f8\u89c1\u6068\u665a\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u201d\u7b49\u95ee\u9898\uff0c\u54c8\u5de5\u5927\u674e\u6cbb\u519b\u8001\u5e08\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u5927\u6982\u7387\u90fd\u4f1a\u5728\u67d0\u6761\u9ad8\u8d5e\u56de\u7b54\u7684\u63a8\u8350\u91cc\u3002\u8fd9\u662f\u4e00\u95e8\u77e5\u540d\u5ea6\u8f83\u9ad8\u3001\u9887\u53d7\u6b22\u8fce\u7684\u4e2d\u6587\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002 \u8fd9\u95e8\u8bfe\u5584\u4e8e\u7ad9\u5728\u5b66\u751f\u89d2\u5ea6\u5faa\u5faa\u5584\u8bf1\u3002\u4f8b\u5982\uff0c\u8bfe\u7a0b\u4ece\u201c\u5f31\u5f31\u5730\u95ee\uff0c\u4ec0\u4e48\u662f\u64cd\u4f5c\u7cfb\u7edf\u201d\u6765\u201c\u63ed\u5f00\u64cd\u4f5c\u7cfb\u7edf\u94a2\u7434\u7684\u76d6\u5b50\u201d\uff0c\u4ece CPU \u7684\u76f4\u89c2\u7ba1\u7406\u5f15\u51fa\u8fdb\u7a0b\u6982\u5ff5\uff0c\u4ece\u201c\u90a3\u5c31\u9996\u5148\u8ba9\u7a0b\u5e8f\u8fdb\u5165\u5185\u5b58\u201d\u5f15\u51fa\u5185\u5b58\u7ba1\u7406\u3002 \u8fd9\u95e8\u8bfe\u6ce8\u91cd\u7406\u8bba\u548c\u5b9e\u8df5\u76f8\u7ed3\u5408\u3002\u64cd\u4f5c\u7cfb\u7edf\u662f\u770b\u5f97\u89c1\u6478\u5f97\u7740\u7684\u4e1c\u897f\uff0c\u674e\u8001\u5e08\u53cd\u590d\u5f3a\u8c03\u4e00\u5b9a\u8981\u505a\u5b9e\u9a8c\uff0c\u5982\u679c\u53ea\u770b\u89c6\u9891\u7eb8\u4e0a\u8c08\u5175\uff0c\u662f\u5b66\u4e0d\u597d\u64cd\u4f5c\u7cfb\u7edf\u7684\u3002\u8bfe\u7a0b\u57fa\u4e8e\u5b9e\u9645\u7684 Linux 0.11 \u6e90\u7801\uff08\u603b\u4ee3\u7801\u91cf\u7ea6\u4e24\u4e07\u884c\uff09\u8fdb\u884c\u8bb2\u89e3\u548c\u5b9e\u9a8c\uff0c\u5171\u6709\u516b\u4e2a\u5c0f\u5b9e\u9a8c\uff0c\u56db\u4e2a\u5927\u5b9e\u9a8c\u3002 \u5f53\u7136\uff0c\u8fd9\u95e8\u8bfe\u4e5f\u6709\u4e00\u4e9b\u7455\u4e0d\u63a9\u745c\u7684\u5730\u65b9\u3002\u4f8b\u5982\uff0cLinux 0.11 \u662f\u5f88\u65e9\u671f\u5de5\u4e1a\u754c\u7684\u4ee3\u7801\uff0c\u4e0d\u662f\u4e3a\u4e86\u6559\u5b66\u800c\u8bbe\u8ba1\u7684\u3002\u56e0\u6b64\u5728\u5b9e\u9a8c\u8fc7\u7a0b\u4e2d\u4f1a\u6709\u4e00\u4e9b\u907f\u4e0d\u5f00\u7684\u6666\u6da9\u96be\u61c2\u7684\u539f\u751f\u4ee3\u7801\uff0c\u4f46\u5b83\u4eec\u5bf9\u7406\u89e3\u64cd\u4f5c\u7cfb\u7edf\u5176\u5b9e\u5e76\u6ca1\u6709\u592a\u5927\u5e2e\u52a9\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.icourse163.org/course/HIT-1002531008 \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV19r4y1b7Aw/?p=1 \u8bfe\u7a0b\u6559\u6750\u4e00\uff1a \u300aLinux \u5185\u6838\u5b8c\u5168\u6ce8\u91ca\u300b \u8bfe\u7a0b\u6559\u6750\u4e8c\uff1a \u300a\u64cd\u4f5c\u7cfb\u7edf\u539f\u7406\u3001\u5b9e\u73b0\u4e0e\u5b9e\u8df5\u300b \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://www.lanqiao.cn/courses/115","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/#_3","text":"@NaChen95 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7684\u516b\u4e2a\u5b9e\u9a8c\u4f5c\u4e1a\u7684\u539f\u7406\u5206\u6790\u548c\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 NaChen95 / Linux0.11 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/","text":"MIT 6.S081: Operating System Engineering \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u9ebb\u7701\u7406\u5de5\u5b66\u9662 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784 + \u624e\u5b9e\u7684 C \u8bed\u8a00\u529f\u5e95 + RISC-V \u6c47\u7f16\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aC, RISC-V \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u5927\u540d\u9f0e\u9f0e\u7684 PDOS \u5b9e\u9a8c\u5ba4\u5f00\u8bbe\u7684\u9762\u5411MIT\u672c\u79d1\u751f\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u5f00\u8bbe\u8fd9\u95e8\u8bfe\u7684\u6559\u6388\u4e4b\u4e00 \u2014\u2014 Robert Morris \u6559\u6388\u66fe\u662f\u4e00\u4f4d\u9876\u5c16\u9ed1\u5ba2\uff0c\u4e16\u754c\u4e0a\u7b2c\u4e00\u4e2a\u8815\u866b\u75c5\u6bd2 Morris \u5c31\u662f\u51fa\u81ea\u4ed6\u4e4b\u624b\u3002 \u8fd9\u95e8\u8bfe\u7684\u524d\u8eab\u662f MIT \u8457\u540d\u7684\u8bfe\u7a0b 6.828\uff0cMIT \u7684\u51e0\u4f4d\u6559\u6388\u4e3a\u4e86\u8fd9\u95e8\u8bfe\u66fe\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a\u57fa\u4e8e x86 \u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf JOS\uff0c\u88ab\u4f17\u591a\u540d\u6821\u4f5c\u4e3a\u81ea\u5df1\u7684\u64cd\u7edf\u8bfe\u7a0b\u5b9e\u9a8c\u3002\u4f46\u968f\u7740 RISC-V \u7684\u6a2a\u7a7a\u51fa\u4e16\uff0c\u8fd9\u51e0\u4f4d\u6559\u6388\u53c8\u57fa\u4e8e RISC-V \u5f00\u53d1\u4e86\u4e00\u4e2a\u65b0\u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf xv6\uff0c\u5e76\u5f00\u8bbe\u4e86 MIT6.S081 \u8fd9\u95e8\u8bfe\u3002\u7531\u4e8e RISC-V \u8f7b\u4fbf\u6613\u5b66\u7684\u7279\u70b9\uff0c\u5b66\u751f\u4e0d\u9700\u8981\u50cf\u6b64\u524d JOS \u4e00\u6837\u7ea0\u7ed3\u4e8e\u4f17\u591a x86 \u201c\u7279\u6709\u7684\u201d\u4e3a\u4e86\u517c\u5bb9\u800c\u9057\u7559\u4e0b\u6765\u7684\u590d\u6742\u673a\u5236\uff0c\u800c\u53ef\u4ee5\u4e13\u6ce8\u4e8e\u64cd\u4f5c\u7cfb\u7edf\u5c42\u9762\u7684\u5f00\u53d1\u3002 \u8fd9\u51e0\u4f4d\u6559\u6388\u8fd8\u4e13\u95e8\u5199\u4e86\u4e00\u672c \u6559\u7a0b \uff0c\u8be6\u7ec6\u8bb2\u89e3\u4e86 xv6 \u7684\u8bbe\u8ba1\u601d\u60f3\u548c\u5b9e\u73b0\u7ec6\u8282\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bb2\u6388\u4e5f\u5f88\u6709\u610f\u601d\uff0c\u8001\u5e08\u4f1a\u5e26\u7740\u5b66\u751f\u4f9d\u7167 xv6 \u7684\u6e90\u4ee3\u7801\u53bb\u7406\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u4f17\u591a\u673a\u5236\u548c\u8bbe\u8ba1\u7ec6\u8282\uff0c\u800c\u4e0d\u662f\u505c\u7559\u4e8e\u7406\u8bba\u77e5\u8bc6\u3002\u6bcf\u5468\u90fd\u4f1a\u6709\u4e00\u4e2a lab\uff0c\u8ba9\u4f60\u5728 xv6 \u4e0a\u589e\u52a0\u4e00\u4e9b\u65b0\u7684\u673a\u5236\u548c\u7279\u6027\uff0c\u975e\u5e38\u6ce8\u91cd\u5b66\u751f\u52a8\u624b\u80fd\u529b\u7684\u57f9\u517b\u3002\u6574\u4e2a\u5b66\u671f\u4e00\u5171\u6709 11 \u4e2a lab\uff0c\u8ba9\u4f60\u5168\u65b9\u4f4d\u5730\u6df1\u523b\u7406\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u6bcf\u4e2a\u90e8\u5206\uff0c\u975e\u5e38\u6709\u6210\u5c31\u611f\u3002\u800c\u4e14\u6240\u6709\u7684lab\u90fd\u6709\u7740\u975e\u5e38\u5b8c\u5584\u7684\u6d4b\u8bd5\u6846\u67b6\uff0c\u6709\u7684\u6d4b\u8bd5\u4ee3\u7801\u751a\u81f3\u4e0a\u5343\u884c\uff0c\u8ba9\u4eba\u4e0d\u5f97\u4e0d\u4f69\u670d MIT \u7684\u51e0\u4f4d\u6559\u6388\u4e3a\u4e86\u6559\u597d\u8fd9\u95e8\u8bfe\u6240\u4ed8\u51fa\u7684\u5fc3\u8840\u3002 \u8fd9\u95e8\u8bfe\u7684\u540e\u534a\u7a0b\u4f1a\u8bb2\u6388\u64cd\u4f5c\u7cfb\u7edf\u9886\u57df\u7684\u591a\u7bc7\u7ecf\u5178\u8bba\u6587\uff0c\u6d89\u53ca\u6587\u4ef6\u7cfb\u7edf\u3001\u7cfb\u7edf\u5b89\u5168\u3001\u7f51\u7edc\u3001\u865a\u62df\u5316\u7b49\u7b49\u591a\u4e2a\u4e3b\u9898\uff0c\u8ba9\u4f60\u6709\u673a\u4f1a\u63a5\u89e6\u5230\u5b66\u754c\u6700\u524d\u6cbf\u7684\u7814\u7a76\u65b9\u5411\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://pdos.csail.mit.edu/6.828/2021/schedule.html \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=L6YqHxYHa7A \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\u7ffb\u8bd1\u6587\u6863\uff1a https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/ \u8bfe\u7a0b\u6559\u6750\uff1a https://pdos.csail.mit.edu/6.828/2021/xv6/book-riscv-rev2.pdf \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://pdos.csail.mit.edu/6.828/2021/schedule.html \uff0c11\u4e2alab\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 xv6 \u8865\u5145\u8d44\u6e90 xv6 \u64cd\u4f5c\u7cfb\u7edf\u7684\u6df1\u5165\u8bb2\u89e3 xv6 \u4e2d\u6587\u6587\u6863 xv6 \u5173\u952e\u6e90\u7801\u9010\u884c\u89e3\u8bfb + \u6574\u4f53\u67b6\u6784\u5206\u6790 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/MIT6.S081-2020fall - GitHub \u4e2d\u3002 @ KuangjuX \u7f16\u5199\u4e86 MIT 6.S081 \u7684 lab \u7684 \u9898\u89e3 \uff0c\u91cc\u9762\u6709\u8be6\u7ec6\u7684\u89e3\u6cd5\u548c\u8865\u5145\u77e5\u8bc6\u3002\u53e6\u5916\uff0c@ KuangjuX \u8fd8\u4f7f\u7528 Rust \u8bed\u8a00\u91cd\u65b0\u5b9e\u73b0\u4e86 xv6-riscv \u64cd\u4f5c\u7cfb\u7edf\uff1a xv6-rust \uff0c\u91cc\u9762\u5bf9\u4e8e xv6-riscv \u6709\u66f4\u4e3a\u8be6\u7ec6\u7684\u601d\u8003\u548c\u8ba8\u8bba\uff0c\u611f\u5174\u8da3\u7684\u540c\u5b66\u53ef\u4ee5\u770b\u4e00\u4e0b\u54e6\u3002 \u4e00\u4e9b\u53ef\u4ee5\u53c2\u8003\u7684\u535a\u5ba2 doraemonzzz Xiao Fan (\u6a0a\u6f47) Miigon's blog Zhou Fang Yichun's Blog \u89e3\u6790Ta PKUFlyingPig \u661f\u9065\u89c1","title":"MIT 6.S081: Operating System Engineering"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#mit-6s081-operating-system-engineering","text":"","title":"MIT 6.S081: Operating System Engineering"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u9ebb\u7701\u7406\u5de5\u5b66\u9662 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784 + \u624e\u5b9e\u7684 C \u8bed\u8a00\u529f\u5e95 + RISC-V \u6c47\u7f16\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aC, RISC-V \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u5927\u540d\u9f0e\u9f0e\u7684 PDOS \u5b9e\u9a8c\u5ba4\u5f00\u8bbe\u7684\u9762\u5411MIT\u672c\u79d1\u751f\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u5f00\u8bbe\u8fd9\u95e8\u8bfe\u7684\u6559\u6388\u4e4b\u4e00 \u2014\u2014 Robert Morris \u6559\u6388\u66fe\u662f\u4e00\u4f4d\u9876\u5c16\u9ed1\u5ba2\uff0c\u4e16\u754c\u4e0a\u7b2c\u4e00\u4e2a\u8815\u866b\u75c5\u6bd2 Morris \u5c31\u662f\u51fa\u81ea\u4ed6\u4e4b\u624b\u3002 \u8fd9\u95e8\u8bfe\u7684\u524d\u8eab\u662f MIT \u8457\u540d\u7684\u8bfe\u7a0b 6.828\uff0cMIT \u7684\u51e0\u4f4d\u6559\u6388\u4e3a\u4e86\u8fd9\u95e8\u8bfe\u66fe\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a\u57fa\u4e8e x86 \u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf JOS\uff0c\u88ab\u4f17\u591a\u540d\u6821\u4f5c\u4e3a\u81ea\u5df1\u7684\u64cd\u7edf\u8bfe\u7a0b\u5b9e\u9a8c\u3002\u4f46\u968f\u7740 RISC-V \u7684\u6a2a\u7a7a\u51fa\u4e16\uff0c\u8fd9\u51e0\u4f4d\u6559\u6388\u53c8\u57fa\u4e8e RISC-V \u5f00\u53d1\u4e86\u4e00\u4e2a\u65b0\u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf xv6\uff0c\u5e76\u5f00\u8bbe\u4e86 MIT6.S081 \u8fd9\u95e8\u8bfe\u3002\u7531\u4e8e RISC-V \u8f7b\u4fbf\u6613\u5b66\u7684\u7279\u70b9\uff0c\u5b66\u751f\u4e0d\u9700\u8981\u50cf\u6b64\u524d JOS \u4e00\u6837\u7ea0\u7ed3\u4e8e\u4f17\u591a x86 \u201c\u7279\u6709\u7684\u201d\u4e3a\u4e86\u517c\u5bb9\u800c\u9057\u7559\u4e0b\u6765\u7684\u590d\u6742\u673a\u5236\uff0c\u800c\u53ef\u4ee5\u4e13\u6ce8\u4e8e\u64cd\u4f5c\u7cfb\u7edf\u5c42\u9762\u7684\u5f00\u53d1\u3002 \u8fd9\u51e0\u4f4d\u6559\u6388\u8fd8\u4e13\u95e8\u5199\u4e86\u4e00\u672c \u6559\u7a0b \uff0c\u8be6\u7ec6\u8bb2\u89e3\u4e86 xv6 \u7684\u8bbe\u8ba1\u601d\u60f3\u548c\u5b9e\u73b0\u7ec6\u8282\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bb2\u6388\u4e5f\u5f88\u6709\u610f\u601d\uff0c\u8001\u5e08\u4f1a\u5e26\u7740\u5b66\u751f\u4f9d\u7167 xv6 \u7684\u6e90\u4ee3\u7801\u53bb\u7406\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u4f17\u591a\u673a\u5236\u548c\u8bbe\u8ba1\u7ec6\u8282\uff0c\u800c\u4e0d\u662f\u505c\u7559\u4e8e\u7406\u8bba\u77e5\u8bc6\u3002\u6bcf\u5468\u90fd\u4f1a\u6709\u4e00\u4e2a lab\uff0c\u8ba9\u4f60\u5728 xv6 \u4e0a\u589e\u52a0\u4e00\u4e9b\u65b0\u7684\u673a\u5236\u548c\u7279\u6027\uff0c\u975e\u5e38\u6ce8\u91cd\u5b66\u751f\u52a8\u624b\u80fd\u529b\u7684\u57f9\u517b\u3002\u6574\u4e2a\u5b66\u671f\u4e00\u5171\u6709 11 \u4e2a lab\uff0c\u8ba9\u4f60\u5168\u65b9\u4f4d\u5730\u6df1\u523b\u7406\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u6bcf\u4e2a\u90e8\u5206\uff0c\u975e\u5e38\u6709\u6210\u5c31\u611f\u3002\u800c\u4e14\u6240\u6709\u7684lab\u90fd\u6709\u7740\u975e\u5e38\u5b8c\u5584\u7684\u6d4b\u8bd5\u6846\u67b6\uff0c\u6709\u7684\u6d4b\u8bd5\u4ee3\u7801\u751a\u81f3\u4e0a\u5343\u884c\uff0c\u8ba9\u4eba\u4e0d\u5f97\u4e0d\u4f69\u670d MIT \u7684\u51e0\u4f4d\u6559\u6388\u4e3a\u4e86\u6559\u597d\u8fd9\u95e8\u8bfe\u6240\u4ed8\u51fa\u7684\u5fc3\u8840\u3002 \u8fd9\u95e8\u8bfe\u7684\u540e\u534a\u7a0b\u4f1a\u8bb2\u6388\u64cd\u4f5c\u7cfb\u7edf\u9886\u57df\u7684\u591a\u7bc7\u7ecf\u5178\u8bba\u6587\uff0c\u6d89\u53ca\u6587\u4ef6\u7cfb\u7edf\u3001\u7cfb\u7edf\u5b89\u5168\u3001\u7f51\u7edc\u3001\u865a\u62df\u5316\u7b49\u7b49\u591a\u4e2a\u4e3b\u9898\uff0c\u8ba9\u4f60\u6709\u673a\u4f1a\u63a5\u89e6\u5230\u5b66\u754c\u6700\u524d\u6cbf\u7684\u7814\u7a76\u65b9\u5411\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://pdos.csail.mit.edu/6.828/2021/schedule.html \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=L6YqHxYHa7A \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\u7ffb\u8bd1\u6587\u6863\uff1a https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/ \u8bfe\u7a0b\u6559\u6750\uff1a https://pdos.csail.mit.edu/6.828/2021/xv6/book-riscv-rev2.pdf \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://pdos.csail.mit.edu/6.828/2021/schedule.html \uff0c11\u4e2alab\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#xv6","text":"xv6 \u64cd\u4f5c\u7cfb\u7edf\u7684\u6df1\u5165\u8bb2\u89e3 xv6 \u4e2d\u6587\u6587\u6863 xv6 \u5173\u952e\u6e90\u7801\u9010\u884c\u89e3\u8bfb + \u6574\u4f53\u67b6\u6784\u5206\u6790","title":"xv6 \u8865\u5145\u8d44\u6e90"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/MIT6.S081-2020fall - GitHub \u4e2d\u3002 @ KuangjuX \u7f16\u5199\u4e86 MIT 6.S081 \u7684 lab \u7684 \u9898\u89e3 \uff0c\u91cc\u9762\u6709\u8be6\u7ec6\u7684\u89e3\u6cd5\u548c\u8865\u5145\u77e5\u8bc6\u3002\u53e6\u5916\uff0c@ KuangjuX \u8fd8\u4f7f\u7528 Rust \u8bed\u8a00\u91cd\u65b0\u5b9e\u73b0\u4e86 xv6-riscv \u64cd\u4f5c\u7cfb\u7edf\uff1a xv6-rust \uff0c\u91cc\u9762\u5bf9\u4e8e xv6-riscv \u6709\u66f4\u4e3a\u8be6\u7ec6\u7684\u601d\u8003\u548c\u8ba8\u8bba\uff0c\u611f\u5174\u8da3\u7684\u540c\u5b66\u53ef\u4ee5\u770b\u4e00\u4e0b\u54e6\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#_4","text":"doraemonzzz Xiao Fan (\u6a0a\u6f47) Miigon's blog Zhou Fang Yichun's Blog \u89e3\u6790Ta PKUFlyingPig \u661f\u9065\u89c1","title":"\u4e00\u4e9b\u53ef\u4ee5\u53c2\u8003\u7684\u535a\u5ba2"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/","text":"NJU OS: Operating System Design and Implementation \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u5357\u4eac\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784 + \u624e\u5b9e\u7684 C \u8bed\u8a00\u529f\u5e95 \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bed\u8a00 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u4e4b\u524d\u4e00\u76f4\u542c\u8bf4\u5357\u5927\u7684\u848b\u708e\u5ca9\u8001\u5e08\u5f00\u8bbe\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u8bb2\u5f97\u5f88\u597d\uff0c\u4e45\u95fb\u4e0d\u5982\u4e00\u89c1\uff0c\u8fd9\u5b66\u671f\u6709\u5e78\u5728 B \u7ad9\u89c2\u770b\u4e86\u848b\u8001\u5e08\u7684\u8bfe\u7a0b\u89c6\u9891\uff0c\u786e\u5b9e\u6536\u83b7\u826f\u591a\u3002\u848b\u8001\u5e08\u4f5c\u4e3a\u975e\u5e38\u5e74\u8f7b\u7684\u8001\u5e08\uff0c\u6709\u7740\u4e30\u5bcc\u7684\u4e00\u7ebf\u4ee3\u7801\u7684\u7ecf\u9a8c\uff0c\u56e0\u6b64\u8bfe\u7a0b\u8bb2\u6388\u6709\u7740\u6ee1\u6ee1\u7684 Hacker \u98ce\u683c\uff0c\u8bfe\u4e0a\u7ecf\u5e38\u201c\u4e00\u8a00\u4e0d\u5408\u201d\u5c31\u5728\u547d\u4ee4\u884c\u91cc\u5f00\u59cb\u5199\u4ee3\u7801\uff0c\u5f88\u591a\u91cd\u8981\u77e5\u8bc6\u70b9\u4e5f\u90fd\u914d\u6709\u751f\u52a8\u76f4\u767d\u7684\u4ee3\u7801\u793a\u4f8b\u3002\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\u7684\u5c31\u662f\u8001\u5e08\u4e3a\u4e86\u8ba9\u5b66\u751f\u66f4\u597d\u5730\u7406\u89e3\u52a8\u6001\u94fe\u63a5\u5e93\u7684\u8bbe\u8ba1\u601d\u60f3\uff0c\u751a\u81f3\u4e13\u95e8\u5b9e\u73b0\u4e86\u4e00\u4e2a\u8ff7\u4f60\u7684\u53ef\u6267\u884c\u6587\u4ef6\u4e0e\u4e00\u7cfb\u5217\u7684\u4e8c\u8fdb\u5236\u5de5\u5177\uff0c\u8ba9\u5f88\u591a\u56f0\u6270\u6211\u591a\u5e74\u7684\u95ee\u9898\u90fd\u5f97\u5230\u4e86\u89e3\u7b54\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bb2\u6388\u601d\u8def\u4e5f\u975e\u5e38\u6709\u8da3\uff0c\u848b\u8001\u5e08\u5148\u4ece\u201c\u7a0b\u5e8f\u5c31\u662f\u72b6\u6001\u673a\u201d\u8fd9\u4e00\u89c6\u89d2\u5165\u624b\uff0c\u4e3a\u201c\u4e07\u6076\u4e4b\u6e90\u201d\u5e76\u53d1\u7a0b\u5e8f\u5efa\u7acb\u4e86\u72b6\u6001\u673a\u7684\u8f6c\u5316\u6a21\u578b\uff0c\u5e76\u5728\u6b64\u57fa\u7840\u4e0a\u8bb2\u6388\u4e86\u5e76\u53d1\u63a7\u5236\u7684\u5e38\u89c1\u624b\u6bb5\u4ee5\u53ca\u5e76\u53d1 bug \u7684\u5e94\u5bf9\u65b9\u6cd5\u3002\u63a5\u7740\u848b\u8001\u5e08\u5c06\u64cd\u4f5c\u7cfb\u7edf\u770b\u4f5c\u4e00\u7cfb\u5217\u5bf9\u8c61\uff08\u8fdb\u7a0b/\u7ebf\u7a0b\u3001\u5730\u5740\u7a7a\u95f4\u3001\u6587\u4ef6\u3001\u8bbe\u5907\u7b49\u7b49\uff09\u4ee5\u53ca\u64cd\u4f5c\u5b83\u4eec\u7684 API \uff08\u7cfb\u7edf\u8c03\u7528\uff09\u5e76\u7ed3\u5408\u4e30\u5bcc\u7684\u5b9e\u9645\u4f8b\u5b50\u4ecb\u7ecd\u4e86\u64cd\u4f5c\u7cfb\u7edf\u662f\u5982\u4f55\u5229\u7528\u8fd9\u7cfb\u5217\u5bf9\u8c61\u865a\u62df\u5316\u786c\u4ef6\u8d44\u6e90\u5e76\u7ed9\u5e94\u7528\u8f6f\u4ef6\u63d0\u4f9b\u5404\u7c7b\u670d\u52a1\u7684\u3002\u6700\u540e\u7684\u53ef\u6301\u4e45\u5316\u90e8\u5206\uff0c\u848b\u8001\u5e08\u4ece 1-bit \u7684\u5b58\u50a8\u4ecb\u8d28\u8bb2\u8d77\uff0c\u4e00\u6b65\u6b65\u6784\u5efa\u8d77\u5404\u7c7b\u5b58\u50a8\u8bbe\u5907\uff0c\u5e76\u901a\u8fc7\u8bbe\u5907\u9a71\u52a8\u62bd\u8c61\u51fa\u4e00\u7ec4\u63a5\u53e3\u6765\u65b9\u4fbf\u5730\u8bbe\u8ba1\u4e0e\u5b9e\u73b0\u6587\u4ef6\u7cfb\u7edf\u3002\u6211\u4e4b\u524d\u867d\u7136\u4e0a\u8fc7\u8bb8\u591a\u95e8\u64cd\u4f5c\u7cfb\u7edf\u7684\u8bfe\u7a0b\uff0c\u4f46\u8fd9\u79cd\u8bb2\u6cd5\u786e\u5b9e\u72ec\u6b64\u4e00\u5bb6\uff0c\u8ba9\u6211\u6536\u83b7\u4e86\u5f88\u591a\u72ec\u5230\u7684\u89c6\u89d2\u6765\u770b\u5f85\u7cfb\u7edf\u8f6f\u4ef6\u3002 \u8fd9\u95e8\u8bfe\u9664\u4e86\u5728\u7406\u8bba\u77e5\u8bc6\u7684\u8bb2\u6388\u90e8\u5206\u5f88\u6709\u65b0\u610f\u5916\uff0c\u6ce8\u91cd\u5b9e\u8df5\u4e5f\u662f\u848b\u8001\u5e08\u7684\u4e00\u5927\u7279\u70b9\u3002\u5728\u8bfe\u5802\u548c\u7f16\u7a0b\u4f5c\u4e1a\u91cc\uff0c\u848b\u8001\u5e08\u4f1a\u6709\u610f\u65e0\u610f\u5730\u57f9\u517b\u5927\u5bb6\u9605\u8bfb\u6e90\u7801\u3001\u67e5\u9605\u624b\u518c\u7684\u80fd\u529b\uff0c\u8fd9\u4e5f\u662f\u8ba1\u7b97\u673a\u4ece\u4e1a\u8005\u5fc5\u5907\u7684\u6280\u80fd\u3002\u5728\u5b8c\u6210\u7b2c\u4e94\u4e2a MiniLab \u671f\u95f4\uff0c\u6211\u7b2c\u4e00\u6b21\u4ed4\u4ed4\u7ec6\u7ec6\u9605\u8bfb\u4e86\u5fae\u8f6f\u7684 FAT \u6587\u4ef6\u7cfb\u7edf\u624b\u518c\uff0c\u6536\u83b7\u4e86\u4e00\u6b21\u975e\u5e38\u6709\u4ef7\u503c\u7684\u7ecf\u5386\u3002 \u7f16\u7a0b\u4f5c\u4e1a\u5171\u7531 5\u4e2a MiniLab \u548c 4\u4e2a OSLab \u7ec4\u6210\u3002\u7f8e\u4e2d\u4e0d\u8db3\u7684\u662f\u4f5c\u4e1a\u7684\u8bc4\u6d4b\u673a\u662f\u4e0d\u5bf9\u6821\u5916\u5f00\u653e\u7684\uff0c\u4e0d\u8fc7\u5728\u90ae\u4ef6\u201c\u9a9a\u6270\u201d\u540e\u848b\u8001\u5e08\u8fd8\u662f\u975e\u5e38\u6177\u6168\u5730\u8ba9\u6211\u6210\u529f\u8e6d\u8bfe\u3002\u7531\u4e8e\u8bfe\u4f59\u65f6\u95f4\u6709\u9650\u6211\u53ea\u5b8c\u6210\u4e86 5\u4e2a MiniLab\uff0c\u603b\u4f53\u4f53\u9a8c\u975e\u5e38\u68d2\u3002\u5c24\u5176\u662f\u7b2c\u4e8c\u4e2a\u534f\u7a0b\u5b9e\u9a8c\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\uff0c\u5728\u4e0d\u5230\u767e\u884c\u7684\u5c0f\u5b9e\u9a8c\u91cc\u6df1\u523b\u4f53\u9a8c\u4e86\u4e0a\u4e0b\u6587\u5207\u6362\u7684\u7f8e\u5999\u4e0e\u201c\u53ef\u6015\u201d\u3002\u53e6\u5916\u5176\u5b9e\u51e0\u4e2a MiniLab \u90fd\u80fd\u975e\u5e38\u65b9\u4fbf\u5730\u8fdb\u884c\u672c\u5730\u6d4b\u8bd5\uff0c\u5c31\u7b97\u6ca1\u6709\u8bc4\u6d4b\u673a\u4e5f\u4e0d\u5f71\u54cd\u81ea\u5b66\uff0c\u56e0\u6b64\u5e0c\u671b\u5927\u5bb6\u4e0d\u8981\u805a\u4f17\u201c\u9a9a\u6270\u201d\u8001\u5e08\u4ee5\u56fe\u8e6d\u8bfe\u3002 \u6700\u540e\u518d\u6b21\u611f\u8c22\u848b\u8001\u5e08\u8bbe\u8ba1\u5e76\u5f00\u653e\u4e86\u8fd9\u6837\u4e00\u95e8\u975e\u5e38\u68d2\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\uff0c\u8fd9\u4e5f\u662f\u672c\u4e66\u6536\u5f55\u7684\u7b2c\u4e00\u95e8\u56fd\u5185\u9ad8\u6821\u81ea\u4e3b\u5f00\u8bbe\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002\u6b63\u662f\u6709\u848b\u8001\u5e08\u8fd9\u4e9b\u5e74\u8f7b\u7684\u65b0\u751f\u4ee3\u6559\u5e08\u5728\u7e41\u91cd\u7684 Tenure \u8003\u6838\u4e4b\u4f59\u7684\u7528\u7231\u53d1\u7535\uff0c\u624d\u8ba9\u65e0\u6570\u5b66\u5b50\u6536\u83b7\u4e86\u96be\u5fd8\u7684\u672c\u79d1\u751f\u6daf\u3002\u4e5f\u671f\u5f85\u56fd\u5185\u80fd\u6709\u66f4\u591a\u8fd9\u6837\u7684\u826f\u5fc3\u597d\u8bfe\uff0c\u6211\u4e5f\u4f1a\u7b2c\u4e00\u65f6\u95f4\u6536\u5f55\u8fdb\u672c\u4e66\u4e2d\u8ba9\u66f4\u591a\u4eba\u53d7\u76ca\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://jyywiki.cn/OS/2022/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://space.bilibili.com/202224425/channel/collectiondetail?sid=192498 \u8bfe\u7a0b\u6559\u6750\uff1a http://pages.cs.wisc.edu/~remzi/OSTEP/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://jyywiki.cn/OS/2022/ \u8d44\u6e90\u6c47\u603b \u6309\u848b\u8001\u5e08\u7684\u8981\u6c42\uff0c\u6211\u7684\u4f5c\u4e1a\u5b9e\u73b0\u6ca1\u6709\u5f00\u6e90\u3002","title":"NJU OS: Operating System Design and Implementation"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/#nju-os-operating-system-design-and-implementation","text":"","title":"NJU OS: Operating System Design and Implementation"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u5357\u4eac\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784 + \u624e\u5b9e\u7684 C \u8bed\u8a00\u529f\u5e95 \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bed\u8a00 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u4e4b\u524d\u4e00\u76f4\u542c\u8bf4\u5357\u5927\u7684\u848b\u708e\u5ca9\u8001\u5e08\u5f00\u8bbe\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u8bb2\u5f97\u5f88\u597d\uff0c\u4e45\u95fb\u4e0d\u5982\u4e00\u89c1\uff0c\u8fd9\u5b66\u671f\u6709\u5e78\u5728 B \u7ad9\u89c2\u770b\u4e86\u848b\u8001\u5e08\u7684\u8bfe\u7a0b\u89c6\u9891\uff0c\u786e\u5b9e\u6536\u83b7\u826f\u591a\u3002\u848b\u8001\u5e08\u4f5c\u4e3a\u975e\u5e38\u5e74\u8f7b\u7684\u8001\u5e08\uff0c\u6709\u7740\u4e30\u5bcc\u7684\u4e00\u7ebf\u4ee3\u7801\u7684\u7ecf\u9a8c\uff0c\u56e0\u6b64\u8bfe\u7a0b\u8bb2\u6388\u6709\u7740\u6ee1\u6ee1\u7684 Hacker \u98ce\u683c\uff0c\u8bfe\u4e0a\u7ecf\u5e38\u201c\u4e00\u8a00\u4e0d\u5408\u201d\u5c31\u5728\u547d\u4ee4\u884c\u91cc\u5f00\u59cb\u5199\u4ee3\u7801\uff0c\u5f88\u591a\u91cd\u8981\u77e5\u8bc6\u70b9\u4e5f\u90fd\u914d\u6709\u751f\u52a8\u76f4\u767d\u7684\u4ee3\u7801\u793a\u4f8b\u3002\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\u7684\u5c31\u662f\u8001\u5e08\u4e3a\u4e86\u8ba9\u5b66\u751f\u66f4\u597d\u5730\u7406\u89e3\u52a8\u6001\u94fe\u63a5\u5e93\u7684\u8bbe\u8ba1\u601d\u60f3\uff0c\u751a\u81f3\u4e13\u95e8\u5b9e\u73b0\u4e86\u4e00\u4e2a\u8ff7\u4f60\u7684\u53ef\u6267\u884c\u6587\u4ef6\u4e0e\u4e00\u7cfb\u5217\u7684\u4e8c\u8fdb\u5236\u5de5\u5177\uff0c\u8ba9\u5f88\u591a\u56f0\u6270\u6211\u591a\u5e74\u7684\u95ee\u9898\u90fd\u5f97\u5230\u4e86\u89e3\u7b54\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bb2\u6388\u601d\u8def\u4e5f\u975e\u5e38\u6709\u8da3\uff0c\u848b\u8001\u5e08\u5148\u4ece\u201c\u7a0b\u5e8f\u5c31\u662f\u72b6\u6001\u673a\u201d\u8fd9\u4e00\u89c6\u89d2\u5165\u624b\uff0c\u4e3a\u201c\u4e07\u6076\u4e4b\u6e90\u201d\u5e76\u53d1\u7a0b\u5e8f\u5efa\u7acb\u4e86\u72b6\u6001\u673a\u7684\u8f6c\u5316\u6a21\u578b\uff0c\u5e76\u5728\u6b64\u57fa\u7840\u4e0a\u8bb2\u6388\u4e86\u5e76\u53d1\u63a7\u5236\u7684\u5e38\u89c1\u624b\u6bb5\u4ee5\u53ca\u5e76\u53d1 bug \u7684\u5e94\u5bf9\u65b9\u6cd5\u3002\u63a5\u7740\u848b\u8001\u5e08\u5c06\u64cd\u4f5c\u7cfb\u7edf\u770b\u4f5c\u4e00\u7cfb\u5217\u5bf9\u8c61\uff08\u8fdb\u7a0b/\u7ebf\u7a0b\u3001\u5730\u5740\u7a7a\u95f4\u3001\u6587\u4ef6\u3001\u8bbe\u5907\u7b49\u7b49\uff09\u4ee5\u53ca\u64cd\u4f5c\u5b83\u4eec\u7684 API \uff08\u7cfb\u7edf\u8c03\u7528\uff09\u5e76\u7ed3\u5408\u4e30\u5bcc\u7684\u5b9e\u9645\u4f8b\u5b50\u4ecb\u7ecd\u4e86\u64cd\u4f5c\u7cfb\u7edf\u662f\u5982\u4f55\u5229\u7528\u8fd9\u7cfb\u5217\u5bf9\u8c61\u865a\u62df\u5316\u786c\u4ef6\u8d44\u6e90\u5e76\u7ed9\u5e94\u7528\u8f6f\u4ef6\u63d0\u4f9b\u5404\u7c7b\u670d\u52a1\u7684\u3002\u6700\u540e\u7684\u53ef\u6301\u4e45\u5316\u90e8\u5206\uff0c\u848b\u8001\u5e08\u4ece 1-bit \u7684\u5b58\u50a8\u4ecb\u8d28\u8bb2\u8d77\uff0c\u4e00\u6b65\u6b65\u6784\u5efa\u8d77\u5404\u7c7b\u5b58\u50a8\u8bbe\u5907\uff0c\u5e76\u901a\u8fc7\u8bbe\u5907\u9a71\u52a8\u62bd\u8c61\u51fa\u4e00\u7ec4\u63a5\u53e3\u6765\u65b9\u4fbf\u5730\u8bbe\u8ba1\u4e0e\u5b9e\u73b0\u6587\u4ef6\u7cfb\u7edf\u3002\u6211\u4e4b\u524d\u867d\u7136\u4e0a\u8fc7\u8bb8\u591a\u95e8\u64cd\u4f5c\u7cfb\u7edf\u7684\u8bfe\u7a0b\uff0c\u4f46\u8fd9\u79cd\u8bb2\u6cd5\u786e\u5b9e\u72ec\u6b64\u4e00\u5bb6\uff0c\u8ba9\u6211\u6536\u83b7\u4e86\u5f88\u591a\u72ec\u5230\u7684\u89c6\u89d2\u6765\u770b\u5f85\u7cfb\u7edf\u8f6f\u4ef6\u3002 \u8fd9\u95e8\u8bfe\u9664\u4e86\u5728\u7406\u8bba\u77e5\u8bc6\u7684\u8bb2\u6388\u90e8\u5206\u5f88\u6709\u65b0\u610f\u5916\uff0c\u6ce8\u91cd\u5b9e\u8df5\u4e5f\u662f\u848b\u8001\u5e08\u7684\u4e00\u5927\u7279\u70b9\u3002\u5728\u8bfe\u5802\u548c\u7f16\u7a0b\u4f5c\u4e1a\u91cc\uff0c\u848b\u8001\u5e08\u4f1a\u6709\u610f\u65e0\u610f\u5730\u57f9\u517b\u5927\u5bb6\u9605\u8bfb\u6e90\u7801\u3001\u67e5\u9605\u624b\u518c\u7684\u80fd\u529b\uff0c\u8fd9\u4e5f\u662f\u8ba1\u7b97\u673a\u4ece\u4e1a\u8005\u5fc5\u5907\u7684\u6280\u80fd\u3002\u5728\u5b8c\u6210\u7b2c\u4e94\u4e2a MiniLab \u671f\u95f4\uff0c\u6211\u7b2c\u4e00\u6b21\u4ed4\u4ed4\u7ec6\u7ec6\u9605\u8bfb\u4e86\u5fae\u8f6f\u7684 FAT \u6587\u4ef6\u7cfb\u7edf\u624b\u518c\uff0c\u6536\u83b7\u4e86\u4e00\u6b21\u975e\u5e38\u6709\u4ef7\u503c\u7684\u7ecf\u5386\u3002 \u7f16\u7a0b\u4f5c\u4e1a\u5171\u7531 5\u4e2a MiniLab \u548c 4\u4e2a OSLab \u7ec4\u6210\u3002\u7f8e\u4e2d\u4e0d\u8db3\u7684\u662f\u4f5c\u4e1a\u7684\u8bc4\u6d4b\u673a\u662f\u4e0d\u5bf9\u6821\u5916\u5f00\u653e\u7684\uff0c\u4e0d\u8fc7\u5728\u90ae\u4ef6\u201c\u9a9a\u6270\u201d\u540e\u848b\u8001\u5e08\u8fd8\u662f\u975e\u5e38\u6177\u6168\u5730\u8ba9\u6211\u6210\u529f\u8e6d\u8bfe\u3002\u7531\u4e8e\u8bfe\u4f59\u65f6\u95f4\u6709\u9650\u6211\u53ea\u5b8c\u6210\u4e86 5\u4e2a MiniLab\uff0c\u603b\u4f53\u4f53\u9a8c\u975e\u5e38\u68d2\u3002\u5c24\u5176\u662f\u7b2c\u4e8c\u4e2a\u534f\u7a0b\u5b9e\u9a8c\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\uff0c\u5728\u4e0d\u5230\u767e\u884c\u7684\u5c0f\u5b9e\u9a8c\u91cc\u6df1\u523b\u4f53\u9a8c\u4e86\u4e0a\u4e0b\u6587\u5207\u6362\u7684\u7f8e\u5999\u4e0e\u201c\u53ef\u6015\u201d\u3002\u53e6\u5916\u5176\u5b9e\u51e0\u4e2a MiniLab \u90fd\u80fd\u975e\u5e38\u65b9\u4fbf\u5730\u8fdb\u884c\u672c\u5730\u6d4b\u8bd5\uff0c\u5c31\u7b97\u6ca1\u6709\u8bc4\u6d4b\u673a\u4e5f\u4e0d\u5f71\u54cd\u81ea\u5b66\uff0c\u56e0\u6b64\u5e0c\u671b\u5927\u5bb6\u4e0d\u8981\u805a\u4f17\u201c\u9a9a\u6270\u201d\u8001\u5e08\u4ee5\u56fe\u8e6d\u8bfe\u3002 \u6700\u540e\u518d\u6b21\u611f\u8c22\u848b\u8001\u5e08\u8bbe\u8ba1\u5e76\u5f00\u653e\u4e86\u8fd9\u6837\u4e00\u95e8\u975e\u5e38\u68d2\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\uff0c\u8fd9\u4e5f\u662f\u672c\u4e66\u6536\u5f55\u7684\u7b2c\u4e00\u95e8\u56fd\u5185\u9ad8\u6821\u81ea\u4e3b\u5f00\u8bbe\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002\u6b63\u662f\u6709\u848b\u8001\u5e08\u8fd9\u4e9b\u5e74\u8f7b\u7684\u65b0\u751f\u4ee3\u6559\u5e08\u5728\u7e41\u91cd\u7684 Tenure \u8003\u6838\u4e4b\u4f59\u7684\u7528\u7231\u53d1\u7535\uff0c\u624d\u8ba9\u65e0\u6570\u5b66\u5b50\u6536\u83b7\u4e86\u96be\u5fd8\u7684\u672c\u79d1\u751f\u6daf\u3002\u4e5f\u671f\u5f85\u56fd\u5185\u80fd\u6709\u66f4\u591a\u8fd9\u6837\u7684\u826f\u5fc3\u597d\u8bfe\uff0c\u6211\u4e5f\u4f1a\u7b2c\u4e00\u65f6\u95f4\u6536\u5f55\u8fdb\u672c\u4e66\u4e2d\u8ba9\u66f4\u591a\u4eba\u53d7\u76ca\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://jyywiki.cn/OS/2022/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://space.bilibili.com/202224425/channel/collectiondetail?sid=192498 \u8bfe\u7a0b\u6559\u6750\uff1a http://pages.cs.wisc.edu/~remzi/OSTEP/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://jyywiki.cn/OS/2022/","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/#_3","text":"\u6309\u848b\u8001\u5e08\u7684\u8981\u6c42\uff0c\u6211\u7684\u4f5c\u4e1a\u5b9e\u73b0\u6ca1\u6709\u5f00\u6e90\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/","text":"MIT18.06: Linear Algebra \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u82f1\u6587 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u6570\u5b66\u5927\u725b Gilbert Strang \u8001\u5148\u751f\u5e74\u903e\u53e4\u7a00\u4ecd\u575a\u6301\u6388\u8bfe\uff0c\u5176\u7ecf\u5178\u6559\u6750 Introduction to Linear Algebra \u5df2\u88ab\u6e05\u534e\u91c7\u7528\u4e3a\u5b98\u65b9\u6559\u6750\u3002\u6211\u5f53\u65f6\u770b\u5b8c\u76d7\u7248 PDF \u4e4b\u540e\u6df1\u611f\u6127\u759a\uff0c\u542b\u6cea\u82b1\u4e86\u4e24\u767e\u591a\u4e70\u4e86\u4e00\u672c\u82f1\u6587\u6b63\u7248\u6536\u85cf\u3002\u4e0b\u9762\u9644\u4e0a\u6b64\u4e66\u5c01\u9762\uff0c\u5982\u679c\u4f60\u80fd\u5b8c\u5168\u7406\u89e3\u5c01\u9762\u56fe\u7684\u6570\u5b66\u542b\u4e49\uff0c\u90a3\u4f60\u5bf9\u7ebf\u6027\u4ee3\u6570\u7684\u7406\u89e3\u4e00\u5b9a\u4f1a\u8fbe\u5230\u65b0\u7684\u9ad8\u5ea6\u3002 \u914d\u5408\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \u7684 \u7ebf\u6027\u4ee3\u6570\u7684\u672c\u8d28 \u7cfb\u5217\u89c6\u9891\u98df\u7528\u66f4\u4f73\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebra-fall-2011/syllabus/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1aIntroduction to Linear Algebra. Gilbert Strang \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"MIT18.06: Linear Algebra"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/#mit1806-linear-algebra","text":"","title":"MIT18.06: Linear Algebra"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u82f1\u6587 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u6570\u5b66\u5927\u725b Gilbert Strang \u8001\u5148\u751f\u5e74\u903e\u53e4\u7a00\u4ecd\u575a\u6301\u6388\u8bfe\uff0c\u5176\u7ecf\u5178\u6559\u6750 Introduction to Linear Algebra \u5df2\u88ab\u6e05\u534e\u91c7\u7528\u4e3a\u5b98\u65b9\u6559\u6750\u3002\u6211\u5f53\u65f6\u770b\u5b8c\u76d7\u7248 PDF \u4e4b\u540e\u6df1\u611f\u6127\u759a\uff0c\u542b\u6cea\u82b1\u4e86\u4e24\u767e\u591a\u4e70\u4e86\u4e00\u672c\u82f1\u6587\u6b63\u7248\u6536\u85cf\u3002\u4e0b\u9762\u9644\u4e0a\u6b64\u4e66\u5c01\u9762\uff0c\u5982\u679c\u4f60\u80fd\u5b8c\u5168\u7406\u89e3\u5c01\u9762\u56fe\u7684\u6570\u5b66\u542b\u4e49\uff0c\u90a3\u4f60\u5bf9\u7ebf\u6027\u4ee3\u6570\u7684\u7406\u89e3\u4e00\u5b9a\u4f1a\u8fbe\u5230\u65b0\u7684\u9ad8\u5ea6\u3002 \u914d\u5408\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \u7684 \u7ebf\u6027\u4ee3\u6570\u7684\u672c\u8d28 \u7cfb\u5217\u89c6\u9891\u98df\u7528\u66f4\u4f73\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebra-fall-2011/syllabus/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1aIntroduction to Linear Algebra. Gilbert Strang \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/","text":"MIT Calculus Course \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u82f1\u8bed \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 MIT \u7684\u5fae\u79ef\u5206\u8bfe\u7531 MIT18.01: Single Variable Calculus \u548c MIT18.02: Multivariable Calculus \u4e24\u95e8\u8bfe\u7ec4\u6210\u3002\u5bf9\u81ea\u5df1\u6570\u5b66\u57fa\u7840\u6bd4\u8f83\u81ea\u4fe1\u7684\u540c\u5b66\u53ef\u4ee5\u53ea\u770b\u8bfe\u7a0b notes\uff0c\u5199\u5f97\u975e\u5e38\u6d45\u663e\u751f\u52a8\u5e76\u4e14\u6293\u4f4f\u672c\u8d28\uff0c\u8ba9\u4f60\u4e0d\u518d\u75b2\u4e8e\u505a\u9898\u800c\u662f\u80fd\u591f\u771f\u6b63\u7aa5\u89c1\u5fae\u79ef\u5206\u7684\u672c\u8d28\u9b45\u529b\u3002 \u914d\u5408\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \u7684 \u5fae\u79ef\u5206\u7684\u672c\u8d28 \u7cfb\u5217\u89c6\u9891\u98df\u7528\u66f4\u4f73\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a 18.01 , 18.02 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e66\u9762\u4f5c\u4e1a\u53ca\u7b54\u6848\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"MIT18.01/18.02: Calculus"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/#mit-calculus-course","text":"","title":"MIT Calculus Course"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u82f1\u8bed \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 MIT \u7684\u5fae\u79ef\u5206\u8bfe\u7531 MIT18.01: Single Variable Calculus \u548c MIT18.02: Multivariable Calculus \u4e24\u95e8\u8bfe\u7ec4\u6210\u3002\u5bf9\u81ea\u5df1\u6570\u5b66\u57fa\u7840\u6bd4\u8f83\u81ea\u4fe1\u7684\u540c\u5b66\u53ef\u4ee5\u53ea\u770b\u8bfe\u7a0b notes\uff0c\u5199\u5f97\u975e\u5e38\u6d45\u663e\u751f\u52a8\u5e76\u4e14\u6293\u4f4f\u672c\u8d28\uff0c\u8ba9\u4f60\u4e0d\u518d\u75b2\u4e8e\u505a\u9898\u800c\u662f\u80fd\u591f\u771f\u6b63\u7aa5\u89c1\u5fae\u79ef\u5206\u7684\u672c\u8d28\u9b45\u529b\u3002 \u914d\u5408\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \u7684 \u5fae\u79ef\u5206\u7684\u672c\u8d28 \u7cfb\u5217\u89c6\u9891\u98df\u7528\u66f4\u4f73\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a 18.01 , 18.02 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e66\u9762\u4f5c\u4e1a\u53ca\u7b54\u6848\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/","text":"MIT6.050J: Information theory and Entropy \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 MIT \u9762\u5411\u5927\u4e00\u65b0\u751f\u7684\u4fe1\u606f\u8bba\u5165\u95e8\u8bfe\u7a0b\uff0cPenfield \u6559\u6388\u4e13\u95e8\u4e3a\u8fd9\u95e8\u8bfe\u5199\u4e86\u4e00\u672c \u6559\u6750 \u4f5c\u4e3a\u8bfe\u7a0b notes\uff0c\u5185\u5bb9\u6df1\u5165\u6d45\u51fa\uff0c\u751f\u52a8\u6709\u8da3\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-050j-information-and-entropy-spring-2008/index.htm \u8bfe\u7a0b\u6559\u6750\uff1a https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-050j-information-and-entropy-spring-2008/syllabus/MIT6_050JS08_textbook.pdf \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u5305\u542b\u4e66\u9762\u4f5c\u4e1a\u4e0e Matlab \u7f16\u7a0b\u4f5c\u4e1a\u3002","title":"MIT6.050J: Information theory and Entropy"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/#mit6050j-information-theory-and-entropy","text":"","title":"MIT6.050J: Information theory and Entropy"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 MIT \u9762\u5411\u5927\u4e00\u65b0\u751f\u7684\u4fe1\u606f\u8bba\u5165\u95e8\u8bfe\u7a0b\uff0cPenfield \u6559\u6388\u4e13\u95e8\u4e3a\u8fd9\u95e8\u8bfe\u5199\u4e86\u4e00\u672c \u6559\u6750 \u4f5c\u4e3a\u8bfe\u7a0b notes\uff0c\u5185\u5bb9\u6df1\u5165\u6d45\u51fa\uff0c\u751f\u52a8\u6709\u8da3\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-050j-information-and-entropy-spring-2008/index.htm \u8bfe\u7a0b\u6559\u6750\uff1a https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-050j-information-and-entropy-spring-2008/syllabus/MIT6_050JS08_textbook.pdf \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u5305\u542b\u4e66\u9762\u4f5c\u4e1a\u4e0e Matlab \u7f16\u7a0b\u4f5c\u4e1a\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/","text":"MIT 6.042J: Mathematics for Computer Science \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra \u7f16\u7a0b\u8bed\u8a00\uff1aPython preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 MIT \u7684\u79bb\u6563\u6570\u5b66\u4ee5\u53ca\u6982\u7387\u7efc\u5408\u8bfe\u7a0b\uff0c\u5bfc\u5e08\u662f\u5927\u540d\u9f0e\u9f0e\u7684 Tom Leighton ( Akamai \u7684\u8054\u5408\u521b\u59cb\u4eba\u4e4b\u4e00)\u3002\u5b66\u5b8c\u4e4b\u540e\u5bf9\u4e8e\u540e\u7eed\u7684\u7b97\u6cd5\u5b66\u4e60\u5927\u6709\u88e8\u76ca\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1L741147VX \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/assignments/","title":"MIT 6.042J: Mathematics for Computer Science"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/#mit-6042j-mathematics-for-computer-science","text":"","title":"MIT 6.042J: Mathematics for Computer Science"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra \u7f16\u7a0b\u8bed\u8a00\uff1aPython preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 MIT \u7684\u79bb\u6563\u6570\u5b66\u4ee5\u53ca\u6982\u7387\u7efc\u5408\u8bfe\u7a0b\uff0c\u5bfc\u5e08\u662f\u5927\u540d\u9f0e\u9f0e\u7684 Tom Leighton ( Akamai \u7684\u8054\u5408\u521b\u59cb\u4eba\u4e4b\u4e00)\u3002\u5b66\u5b8c\u4e4b\u540e\u5bf9\u4e8e\u540e\u7eed\u7684\u7b97\u6cd5\u5b66\u4e60\u5927\u6709\u88e8\u76ca\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1L741147VX \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/assignments/","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/","text":"UCB CS126 : Probability theory \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS70\u3001\u5fae\u79ef\u5206\u3001\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u6982\u7387\u8bba\u8fdb\u9636\u8bfe\u7a0b\uff0c\u6d89\u53ca\u5230\u7edf\u8ba1\u5b66\u3001\u968f\u673a\u8fc7\u7a0b\u7b49\u7406\u8bba\u76f8\u5bf9\u6df1\u5165\u7684\u5185\u5bb9\uff0c\u9700\u8981\u76f8\u5f53\u7684\u6570\u5b66\u57fa\u7840\uff0c\u6211\u5728\u4e0a\u8fd9\u95e8\u8bfe\u7684\u65f6\u5019\u4e5f\u611f\u5230\u6709\u4e9b\u5403\u529b\uff0c\u4e0d\u8fc7\u575a\u6301\u4e0b\u6765\u4e00\u5b9a\u4f1a\u8ba9\u4f60\u5bf9\u6982\u7387\u8bba\u7684\u638c\u63e1\u8fbe\u5230\u4e00\u4e2a\u65b0\u7684\u9ad8\u5ea6\u3002 \u540c\u65f6\u8fd9\u95e8\u8bfe\u975e\u5e38\u5f3a\u8c03\u7406\u8bba\u4e0e\u5b9e\u8df5\u7684\u7ed3\u5408\uff0c\u8bfe\u7a0b\u8bbe\u8ba1\u8005 Jean Walrand \u6559\u6388\u4e13\u95e8\u5199\u4e86\u4e00\u672c\u914d\u5957\u7684\u6559\u6750 Probability in Electrical Engineering and Computer Science \uff0c\u4e66\u4e2d\u6bcf\u4e2a\u7ae0\u8282\u90fd\u4f1a\u4ee5\u4e00\u4e2a\u5177\u4f53\u7684\u7b97\u6cd5\u5b9e\u8df5\u4f5c\u4e3a\u4f8b\u5b50\u6765\u5c55\u793a\u7406\u8bba\u5728\u5b9e\u9645\u5f53\u4e2d\u7684\u8fd0\u7528\uff0c\u4f8b\u5982 PageRank, Route Planing, Speech Recognition \u7b49\u7b49\uff0c\u5e76\u4e14\u5168\u4e66\u5f00\u6e90\uff0c\u53ef\u4ee5\u514d\u8d39\u4e0b\u8f7d PDF \u6216\u8005 Epub \u7248\u3002 \u8fd9\u8fd8\u4e0d\u7b97\u5b8c\uff0cJean Walrand \u8fd8\u4e3a\u6574\u672c\u4e66\u91cc\u7684\u4f8b\u5b50\u8bbe\u8ba1\u4e86\u914d\u5957\u7684 Python \u5b9e\u73b0\uff0c\u4ee5 Jupyter Notebook \u7684\u5f62\u5f0f\u5728\u7ebf\u53d1\u5e03\uff0c\u8bfb\u8005\u53ef\u4ee5\u5728\u7ebf\u4fee\u6539\u3001\u8c03\u8bd5\u548c\u8fd0\u884c\u3002 \u4e0e\u6b64\u540c\u65f6\uff0c\u8fd9\u95e8\u8bfe\u9664\u4e86\u7406\u8bba\u4f5c\u4e1a\u4e4b\u5916\uff0c\u8fd8\u6709 9 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u4f1a\u8ba9\u4f60\u7528\u6982\u7387\u8bba\u7684\u77e5\u8bc6\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://inst.eecs.berkeley.edu/~ee126/fa20/content.html \u8bfe\u7a0b\u6559\u6750\uff1a PDF , Epub , Jupyter Notebook \u8bfe\u7a0b\u4f5c\u4e1a\uff1a14 \u4e2a\u4e66\u9762\u4f5c\u4e1a + 9 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/EECS126 - GitHub \u4e2d\u3002","title":"UCB CS126: probability theory"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#ucb-cs126-probability-theory","text":"","title":"UCB CS126 : Probability theory"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS70\u3001\u5fae\u79ef\u5206\u3001\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u6982\u7387\u8bba\u8fdb\u9636\u8bfe\u7a0b\uff0c\u6d89\u53ca\u5230\u7edf\u8ba1\u5b66\u3001\u968f\u673a\u8fc7\u7a0b\u7b49\u7406\u8bba\u76f8\u5bf9\u6df1\u5165\u7684\u5185\u5bb9\uff0c\u9700\u8981\u76f8\u5f53\u7684\u6570\u5b66\u57fa\u7840\uff0c\u6211\u5728\u4e0a\u8fd9\u95e8\u8bfe\u7684\u65f6\u5019\u4e5f\u611f\u5230\u6709\u4e9b\u5403\u529b\uff0c\u4e0d\u8fc7\u575a\u6301\u4e0b\u6765\u4e00\u5b9a\u4f1a\u8ba9\u4f60\u5bf9\u6982\u7387\u8bba\u7684\u638c\u63e1\u8fbe\u5230\u4e00\u4e2a\u65b0\u7684\u9ad8\u5ea6\u3002 \u540c\u65f6\u8fd9\u95e8\u8bfe\u975e\u5e38\u5f3a\u8c03\u7406\u8bba\u4e0e\u5b9e\u8df5\u7684\u7ed3\u5408\uff0c\u8bfe\u7a0b\u8bbe\u8ba1\u8005 Jean Walrand \u6559\u6388\u4e13\u95e8\u5199\u4e86\u4e00\u672c\u914d\u5957\u7684\u6559\u6750 Probability in Electrical Engineering and Computer Science \uff0c\u4e66\u4e2d\u6bcf\u4e2a\u7ae0\u8282\u90fd\u4f1a\u4ee5\u4e00\u4e2a\u5177\u4f53\u7684\u7b97\u6cd5\u5b9e\u8df5\u4f5c\u4e3a\u4f8b\u5b50\u6765\u5c55\u793a\u7406\u8bba\u5728\u5b9e\u9645\u5f53\u4e2d\u7684\u8fd0\u7528\uff0c\u4f8b\u5982 PageRank, Route Planing, Speech Recognition \u7b49\u7b49\uff0c\u5e76\u4e14\u5168\u4e66\u5f00\u6e90\uff0c\u53ef\u4ee5\u514d\u8d39\u4e0b\u8f7d PDF \u6216\u8005 Epub \u7248\u3002 \u8fd9\u8fd8\u4e0d\u7b97\u5b8c\uff0cJean Walrand \u8fd8\u4e3a\u6574\u672c\u4e66\u91cc\u7684\u4f8b\u5b50\u8bbe\u8ba1\u4e86\u914d\u5957\u7684 Python \u5b9e\u73b0\uff0c\u4ee5 Jupyter Notebook \u7684\u5f62\u5f0f\u5728\u7ebf\u53d1\u5e03\uff0c\u8bfb\u8005\u53ef\u4ee5\u5728\u7ebf\u4fee\u6539\u3001\u8c03\u8bd5\u548c\u8fd0\u884c\u3002 \u4e0e\u6b64\u540c\u65f6\uff0c\u8fd9\u95e8\u8bfe\u9664\u4e86\u7406\u8bba\u4f5c\u4e1a\u4e4b\u5916\uff0c\u8fd8\u6709 9 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u4f1a\u8ba9\u4f60\u7528\u6982\u7387\u8bba\u7684\u77e5\u8bc6\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://inst.eecs.berkeley.edu/~ee126/fa20/content.html \u8bfe\u7a0b\u6559\u6750\uff1a PDF , Epub , Jupyter Notebook \u8bfe\u7a0b\u4f5c\u4e1a\uff1a14 \u4e2a\u4e66\u9762\u4f5c\u4e1a + 9 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/EECS126 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/","text":"UCB CS70 : discrete Math and probability theory \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u79bb\u6563\u6570\u5b66\u5165\u95e8\u8bfe\u7a0b\uff0c\u4e2a\u4eba\u89c9\u5f97\u8fd9\u95e8\u8bfe\u6700\u5927\u7684\u4eae\u70b9\u5728\u4e8e\u5e76\u4e0d\u662f\u5355\u7eaf\u7684\u7406\u8bba\u77e5\u8bc6\u7684\u8bb2\u6388\uff0c\u800c\u662f\u5728\u6bcf\u4e2a\u6a21\u5757\u90fd\u4f1a\u4ecb\u7ecd\u7406\u8bba\u77e5\u8bc6\u5728\u5b9e\u9645\u7b97\u6cd5\u4e2d\u7684\u8fd0\u7528\uff0c\u8ba9\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\u5728\u592f\u5b9e\u7406\u8bba\u57fa\u7840\u7684\u540c\u65f6\uff0c\u8df3\u8131\u51fa\u51b0\u51b7\u5f62\u5f0f\u5316\u7684\u6570\u5b66\u7b26\u53f7\uff0c\u5728\u5b9e\u9645\u5e94\u7528\u4e2d\u611f\u53d7\u548c\u4f53\u4f1a\u7406\u8bba\u7684\u672c\u8d28\u3002 \u5177\u4f53\u7684\u7406\u8bba\u4e0e\u7b97\u6cd5\u7684\u5bf9\u5e94\u5173\u7cfb\u5217\u4e3e\u5982\u4e0b\uff1a \u903b\u8f91\u8bc1\u660e\uff1a\u7a33\u5b9a\u5339\u914d\u7b97\u6cd5 \u56fe\u8bba\uff1a\u7f51\u7edc\u62d3\u6251\u8bbe\u8ba1 \u57fa\u7840\u6570\u8bba\uff1aRSA \u7b97\u6cd5 \u591a\u9879\u5f0f\u73af\uff1a\u7ea0\u9519\u7801\u8bbe\u8ba1 \u6982\u7387\u8bba\uff1a\u54c8\u5e0c\u8868\u8bbe\u8ba1\u3001\u8d1f\u8f7d\u5747\u8861\u7b49\u7b49 \u8bfe\u7a0b notes \u4e5f\u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u516c\u5f0f\u63a8\u5bfc\u4e0e\u5b9e\u9645\u4f8b\u5b50\u661f\u7f57\u68cb\u5e03\uff0c\u9605\u8bfb\u4f53\u9a8c\u5f88\u597d\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://www.eecs70.org/ \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b Schedule \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/UCB-CS70 - GitHub \u4e2d\u3002","title":"UCB CS70: discrete Math and probability theory"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#ucb-cs70-discrete-math-and-probability-theory","text":"","title":"UCB CS70 : discrete Math and probability theory"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u79bb\u6563\u6570\u5b66\u5165\u95e8\u8bfe\u7a0b\uff0c\u4e2a\u4eba\u89c9\u5f97\u8fd9\u95e8\u8bfe\u6700\u5927\u7684\u4eae\u70b9\u5728\u4e8e\u5e76\u4e0d\u662f\u5355\u7eaf\u7684\u7406\u8bba\u77e5\u8bc6\u7684\u8bb2\u6388\uff0c\u800c\u662f\u5728\u6bcf\u4e2a\u6a21\u5757\u90fd\u4f1a\u4ecb\u7ecd\u7406\u8bba\u77e5\u8bc6\u5728\u5b9e\u9645\u7b97\u6cd5\u4e2d\u7684\u8fd0\u7528\uff0c\u8ba9\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\u5728\u592f\u5b9e\u7406\u8bba\u57fa\u7840\u7684\u540c\u65f6\uff0c\u8df3\u8131\u51fa\u51b0\u51b7\u5f62\u5f0f\u5316\u7684\u6570\u5b66\u7b26\u53f7\uff0c\u5728\u5b9e\u9645\u5e94\u7528\u4e2d\u611f\u53d7\u548c\u4f53\u4f1a\u7406\u8bba\u7684\u672c\u8d28\u3002 \u5177\u4f53\u7684\u7406\u8bba\u4e0e\u7b97\u6cd5\u7684\u5bf9\u5e94\u5173\u7cfb\u5217\u4e3e\u5982\u4e0b\uff1a \u903b\u8f91\u8bc1\u660e\uff1a\u7a33\u5b9a\u5339\u914d\u7b97\u6cd5 \u56fe\u8bba\uff1a\u7f51\u7edc\u62d3\u6251\u8bbe\u8ba1 \u57fa\u7840\u6570\u8bba\uff1aRSA \u7b97\u6cd5 \u591a\u9879\u5f0f\u73af\uff1a\u7ea0\u9519\u7801\u8bbe\u8ba1 \u6982\u7387\u8bba\uff1a\u54c8\u5e0c\u8868\u8bbe\u8ba1\u3001\u8d1f\u8f7d\u5747\u8861\u7b49\u7b49 \u8bfe\u7a0b notes \u4e5f\u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u516c\u5f0f\u63a8\u5bfc\u4e0e\u5b9e\u9645\u4f8b\u5b50\u661f\u7f57\u68cb\u5e03\uff0c\u9605\u8bfb\u4f53\u9a8c\u5f88\u597d\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://www.eecs70.org/ \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b Schedule","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/UCB-CS70 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/","text":"The Information Theory, Pattern Recognition, and Neural Networks \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCambridge \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra, Probabilities and Statistics \u7f16\u7a0b\u8bed\u8a00\uff1aAnything would be OK, Python preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30-50 \u5c0f\u65f6 \u5251\u6865\u5927\u5b66 Sir David MacKay \u6559\u6388\u7684\u4fe1\u606f\u8bba\u8bfe\u7a0b\u3002\u6559\u6388\u662f\u4e00\u4f4d\u5341\u5206\u7cbe\u901a\u4fe1\u606f\u8bba\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u5b66\u8005\uff0c\u8bfe\u7a0b\u5bf9\u5e94\u6559\u6750\u4e5f\u662f\u4fe1\u606f\u8bba\u9886\u57df\u7684\u4e00\u90e8\u7ecf\u5178\u8457\u4f5c\u3002\u53ef\u60dc\u5929\u5992\u82f1\u624d... \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://www.inference.org.uk/mackay/itila/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1rs411T71e \u8bfe\u7a0b\u6559\u6750\uff1aInformation Theory, Inference, and Learning Algorithms \u5728\u8bfe\u7a0b\u7f51\u7ad9\u53ef\u4ee5\u4e0b\u8f7d\u5230\u514d\u8d39\u7684\u7535\u5b50\u7248 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5728\u6bcf\u4e00\u8282\u8bfe\u89c6\u9891\u7684\u6700\u540e\u4f1a\u7559\u6559\u6750\u4e0a\u7684\u8bfe\u540e\u4e60\u9898 R.I.P Prof. David MacKay","title":"The Information Theory, Pattern Recognition, and Neural Networks"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/#the-information-theory-pattern-recognition-and-neural-networks","text":"","title":"The Information Theory, Pattern Recognition, and Neural Networks"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCambridge \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra, Probabilities and Statistics \u7f16\u7a0b\u8bed\u8a00\uff1aAnything would be OK, Python preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30-50 \u5c0f\u65f6 \u5251\u6865\u5927\u5b66 Sir David MacKay \u6559\u6388\u7684\u4fe1\u606f\u8bba\u8bfe\u7a0b\u3002\u6559\u6388\u662f\u4e00\u4f4d\u5341\u5206\u7cbe\u901a\u4fe1\u606f\u8bba\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u5b66\u8005\uff0c\u8bfe\u7a0b\u5bf9\u5e94\u6559\u6750\u4e5f\u662f\u4fe1\u606f\u8bba\u9886\u57df\u7684\u4e00\u90e8\u7ecf\u5178\u8457\u4f5c\u3002\u53ef\u60dc\u5929\u5992\u82f1\u624d...","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://www.inference.org.uk/mackay/itila/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1rs411T71e \u8bfe\u7a0b\u6559\u6750\uff1aInformation Theory, Inference, and Learning Algorithms \u5728\u8bfe\u7a0b\u7f51\u7ad9\u53ef\u4ee5\u4e0b\u8f7d\u5230\u514d\u8d39\u7684\u7535\u5b50\u7248 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5728\u6bcf\u4e00\u8282\u8bfe\u89c6\u9891\u7684\u6700\u540e\u4f1a\u7559\u6559\u6750\u4e0a\u7684\u8bfe\u540e\u4e60\u9898","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/#rip-prof-david-mackay","text":"","title":"R.I.P Prof. David MacKay"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/","text":"Stanford EE364A: Convex Optimization \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aPython\uff0c\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570\uff0c\u6982\u7387\u8bba\uff0c\u6570\u503c\u5206\u6790 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 Stephen Boyd \u6559\u6388\u662f\u51f8\u4f18\u5316\u9886\u57df\u7684\u5927\u725b\uff0c\u5176\u7f16\u5199\u7684 Convex Optimization \u8fd9\u672c\u6559\u6750\u88ab\u4f17\u591a\u540d\u6821\u91c7\u7528\u3002\u53e6\u5916\u5176\u7814\u7a76\u56e2\u961f\u8fd8\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a\u7528\u4e8e\u6c42\u89e3\u5e38\u89c1\u51f8\u4f18\u5316\u95ee\u9898\u7684\u7f16\u7a0b\u6846\u67b6\uff0c\u652f\u6301 Python, Julia \u7b49\u4e3b\u6d41\u7f16\u7a0b\u8bed\u8a00\uff0c\u5176\u8bfe\u7a0b\u4f5c\u4e1a\u4e5f\u662f\u91c7\u7528\u8fd9\u4e2a\u7f16\u7a0b\u6846\u67b6\u53bb\u89e3\u51b3\u5b9e\u9645\u751f\u6d3b\u5f53\u4e2d\u7684\u51f8\u4f18\u5316\u95ee\u9898\u3002 \u5728\u5b9e\u9645\u8fd0\u7528\u5f53\u4e2d\uff0c\u4f60\u4f1a\u6df1\u523b\u4f53\u4f1a\u5230\u5bf9\u4e8e\u540c\u4e00\u4e2a\u95ee\u9898\uff0c\u5efa\u6a21\u8fc7\u7a0b\u4e2d\u4e00\u4e2a\u7ec6\u5c0f\u7684\u6539\u53d8\uff0c\u5176\u65b9\u7a0b\u7684\u6c42\u89e3\u96be\u5ea6\u4f1a\u6709\u5929\u58e4\u4e4b\u522b\uff0c\u5982\u4f55\u8ba9\u4f60\u5efa\u6a21\u7684\u65b9\u7a0b\u662f\u201c\u51f8\u201d\u7684\uff0c\u662f\u4e00\u95e8\u827a\u672f\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://stanford.edu/class/ee364a/index.html \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1aD4y1Q7aW \u8bfe\u7a0b\u6559\u6750\uff1a Convex Optimization \u8bfe\u7a0b\u4f5c\u4e1a\uff1a9 \u4e2a Python \u7f16\u7a0b\u4f5c\u4e1a \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/Standford_CVX101 - GitHub \u4e2d\u3002","title":"Standford EE364A: Convex Optimization"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#stanford-ee364a-convex-optimization","text":"","title":"Stanford EE364A: Convex Optimization"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aPython\uff0c\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570\uff0c\u6982\u7387\u8bba\uff0c\u6570\u503c\u5206\u6790 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 Stephen Boyd \u6559\u6388\u662f\u51f8\u4f18\u5316\u9886\u57df\u7684\u5927\u725b\uff0c\u5176\u7f16\u5199\u7684 Convex Optimization \u8fd9\u672c\u6559\u6750\u88ab\u4f17\u591a\u540d\u6821\u91c7\u7528\u3002\u53e6\u5916\u5176\u7814\u7a76\u56e2\u961f\u8fd8\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a\u7528\u4e8e\u6c42\u89e3\u5e38\u89c1\u51f8\u4f18\u5316\u95ee\u9898\u7684\u7f16\u7a0b\u6846\u67b6\uff0c\u652f\u6301 Python, Julia \u7b49\u4e3b\u6d41\u7f16\u7a0b\u8bed\u8a00\uff0c\u5176\u8bfe\u7a0b\u4f5c\u4e1a\u4e5f\u662f\u91c7\u7528\u8fd9\u4e2a\u7f16\u7a0b\u6846\u67b6\u53bb\u89e3\u51b3\u5b9e\u9645\u751f\u6d3b\u5f53\u4e2d\u7684\u51f8\u4f18\u5316\u95ee\u9898\u3002 \u5728\u5b9e\u9645\u8fd0\u7528\u5f53\u4e2d\uff0c\u4f60\u4f1a\u6df1\u523b\u4f53\u4f1a\u5230\u5bf9\u4e8e\u540c\u4e00\u4e2a\u95ee\u9898\uff0c\u5efa\u6a21\u8fc7\u7a0b\u4e2d\u4e00\u4e2a\u7ec6\u5c0f\u7684\u6539\u53d8\uff0c\u5176\u65b9\u7a0b\u7684\u6c42\u89e3\u96be\u5ea6\u4f1a\u6709\u5929\u58e4\u4e4b\u522b\uff0c\u5982\u4f55\u8ba9\u4f60\u5efa\u6a21\u7684\u65b9\u7a0b\u662f\u201c\u51f8\u201d\u7684\uff0c\u662f\u4e00\u95e8\u827a\u672f\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://stanford.edu/class/ee364a/index.html \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1aD4y1Q7aW \u8bfe\u7a0b\u6559\u6750\uff1a Convex Optimization \u8bfe\u7a0b\u4f5c\u4e1a\uff1a9 \u4e2a Python \u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/Standford_CVX101 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/","text":"MIT18.330 : Introduction to numerical analysis \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570\uff0c\u6982\u7387\u8bba \u7f16\u7a0b\u8bed\u8a00\uff1aJulia \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u8ba1\u7b97\u673a\u5f3a\u5927\u7684\u8ba1\u7b97\u80fd\u529b\u5e2e\u52a9\u4eba\u4eec\u5728\u79d1\u5b66\u9886\u57df\u4e0d\u65ad\u7a81\u7834\u8fb9\u754c\uff0c\u4e0d\u8fc7\u8ba1\u7b97\u673a\u7684\u79bb\u6563\u672c\u8d28\u548c\u8fd9\u4e2a\u8fde\u7eed\u7684\u4e16\u754c\u6709\u7740\u5929\u7136\u9e3f\u6c9f\uff0c\u800c\u5982\u4f55\u7528\u79bb\u6563\u7684\u8868\u793a\u53bb\u4f30\u8ba1\u548c\u903c\u8fd1\u90a3\u4e9b\u6570\u5b66\u4e0a\u8fde\u7eed\u7684\u6982\u5ff5\uff0c\u5219\u662f\u6570\u503c\u5206\u6790\u7684\u91cd\u8981\u4e3b\u9898\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u5728\u6d6e\u70b9\u8868\u793a\u3001\u65b9\u7a0b\u6c42\u89e3\u3001\u7ebf\u6027\u4ee3\u6570\u3001\u5fae\u79ef\u5206\u3001\u5fae\u5206\u65b9\u7a0b\u7b49\u9886\u57df\u63a2\u8ba8\u5404\u7c7b\u6570\u503c\u5206\u6790\u65b9\u6cd5\uff0c\u8ba9\u4f60\u5728 Julia \u7684\u7f16\u7a0b\u5b9e\u8df5\u4e2d\u53cd\u590d\u4f53\u609f\uff081\uff09\u5982\u4f55\u5efa\u7acb\u4f30\u8ba1\uff082\uff09\u5982\u4f55\u4f30\u8ba1\u8bef\u5dee\uff083\uff09\u5982\u4f55\u7528\u7b97\u6cd5\u5b9e\u73b0\u4f30\u8ba1 \u8fd9\u4e00\u7cfb\u5217\u6b65\u9aa4\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bbe\u8ba1\u8005\u8fd8\u7f16\u5199\u4e86\u914d\u5957\u7684\u5f00\u6e90\u6559\u6750\uff08\u53c2\u89c1\u4e0b\u65b9\u94fe\u63a5\uff09\uff0c\u91cc\u9762\u6709\u4e30\u5bcc\u7684 Julia \u5b9e\u4f8b\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://github.com/mitmath/18330 \u8bfe\u7a0b\u6559\u6750\uff1a https://fncbook.github.io/fnc/frontmatter.html \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10 \u4e2a Julia \u7f16\u7a0b\u4f5c\u4e1a \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/MIT18.330 - GitHub \u4e2d\u3002","title":"MIT18.330: Introduction to numerical analysis"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#mit18330-introduction-to-numerical-analysis","text":"","title":"MIT18.330 : Introduction to numerical analysis"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570\uff0c\u6982\u7387\u8bba \u7f16\u7a0b\u8bed\u8a00\uff1aJulia \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u8ba1\u7b97\u673a\u5f3a\u5927\u7684\u8ba1\u7b97\u80fd\u529b\u5e2e\u52a9\u4eba\u4eec\u5728\u79d1\u5b66\u9886\u57df\u4e0d\u65ad\u7a81\u7834\u8fb9\u754c\uff0c\u4e0d\u8fc7\u8ba1\u7b97\u673a\u7684\u79bb\u6563\u672c\u8d28\u548c\u8fd9\u4e2a\u8fde\u7eed\u7684\u4e16\u754c\u6709\u7740\u5929\u7136\u9e3f\u6c9f\uff0c\u800c\u5982\u4f55\u7528\u79bb\u6563\u7684\u8868\u793a\u53bb\u4f30\u8ba1\u548c\u903c\u8fd1\u90a3\u4e9b\u6570\u5b66\u4e0a\u8fde\u7eed\u7684\u6982\u5ff5\uff0c\u5219\u662f\u6570\u503c\u5206\u6790\u7684\u91cd\u8981\u4e3b\u9898\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u5728\u6d6e\u70b9\u8868\u793a\u3001\u65b9\u7a0b\u6c42\u89e3\u3001\u7ebf\u6027\u4ee3\u6570\u3001\u5fae\u79ef\u5206\u3001\u5fae\u5206\u65b9\u7a0b\u7b49\u9886\u57df\u63a2\u8ba8\u5404\u7c7b\u6570\u503c\u5206\u6790\u65b9\u6cd5\uff0c\u8ba9\u4f60\u5728 Julia \u7684\u7f16\u7a0b\u5b9e\u8df5\u4e2d\u53cd\u590d\u4f53\u609f\uff081\uff09\u5982\u4f55\u5efa\u7acb\u4f30\u8ba1\uff082\uff09\u5982\u4f55\u4f30\u8ba1\u8bef\u5dee\uff083\uff09\u5982\u4f55\u7528\u7b97\u6cd5\u5b9e\u73b0\u4f30\u8ba1 \u8fd9\u4e00\u7cfb\u5217\u6b65\u9aa4\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bbe\u8ba1\u8005\u8fd8\u7f16\u5199\u4e86\u914d\u5957\u7684\u5f00\u6e90\u6559\u6750\uff08\u53c2\u89c1\u4e0b\u65b9\u94fe\u63a5\uff09\uff0c\u91cc\u9762\u6709\u4e30\u5bcc\u7684 Julia \u5b9e\u4f8b\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://github.com/mitmath/18330 \u8bfe\u7a0b\u6559\u6750\uff1a https://fncbook.github.io/fnc/frontmatter.html \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10 \u4e2a Julia \u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/MIT18.330 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/","text":"CMU 15-445: Database Systems \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aC++\uff0c\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u4f5c\u4e3a CMU \u6570\u636e\u5e93\u7684\u5165\u95e8\u8bfe\uff0c\u8fd9\u95e8\u8bfe\u7531\u6570\u636e\u5e93\u9886\u57df\u7684\u5927\u725b Andy Pavlo \u8bb2\u6388\uff08\u201c\u8fd9\u4e2a\u4e16\u754c\u4e0a\u6211\u53ea\u5728\u4e4e\u4e24\u4ef6\u4e8b\uff0c\u4e00\u662f\u6211\u7684\u8001\u5a46\uff0c\u4e8c\u5c31\u662f\u6570\u636e\u5e93\u201d\uff09\u300215-445 \u4f1a\u81ea\u5e95\u5411\u4e0a\u5730\u6559\u4f60\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u57fa\u672c\u7ec4\u6210\u90e8\u5206\uff1a\u5b58\u50a8\u3001\u7d22\u5f15\u3001\u67e5\u8be2\uff0c\u4ee5\u53ca\u5e76\u53d1\u4e8b\u52a1\u63a7\u5236\u3002 \u8fd9\u95e8\u8bfe\u7684\u4eae\u70b9\u5728\u4e8e CMU db \u4e13\u95e8\u4e3a\u6b64\u8bfe\u5f00\u53d1\u4e86\u4e00\u4e2a\u6559\u5b66\u7528\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93 bustub \uff0c\u5e76\u8981\u6c42\u4f60\u5bf9\u8fd9\u4e2a\u6570\u636e\u5e93\u7684\u7ec4\u6210\u90e8\u5206\u8fdb\u884c\u4fee\u6539\uff0c\u5b9e\u73b0\u4e0a\u8ff0\u90e8\u4ef6\u7684\u529f\u80fd\u3002\u6b64\u5916 bustub \u4f5c\u4e3a\u4e00\u4e2a C++ \u7f16\u5199\u7684\u4e2d\u5c0f\u578b\u9879\u76ee\u6db5\u76d6\u4e86\u7a0b\u5e8f\u6784\u5efa\u3001\u4ee3\u7801\u89c4\u8303\u3001\u5355\u5143\u6d4b\u8bd5\u7b49\u4f17\u591a\u8981\u6c42\uff0c\u53ef\u4ee5\u4f5c\u4e3a\u4e00\u4e2a\u4f18\u79c0\u7684\u5f00\u6e90\u9879\u76ee\u5b66\u4e60\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a Fall2019 , Fall2020 , Fall2021 , Fall2022 \u8bfe\u7a0b\u89c6\u9891\uff1a\u8bfe\u7a0b\u7f51\u7ad9\u514d\u8d39\u89c2\u770b \u8bfe\u7a0b\u6559\u6750\uff1aDatabase System Concepts \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 \u4e2a Project \u5728 Fall2019 \u4e2d\uff0c\u7b2c\u4e8c\u4e2a Project \u662f\u505a\u54c8\u5e0c\u7d22\u5f15\uff0c\u7b2c\u56db\u4e2a Project \u662f\u505a\u65e5\u5fd7\u4e0e\u6062\u590d\u3002 \u5728 Fall2020 \u4e2d\uff0c\u7b2c\u4e8c\u4e2a Project \u662f\u505a B \u6811\uff0c\u7b2c\u56db\u4e2a Project \u662f\u505a\u5e76\u53d1\u63a7\u5236\u3002 \u5728 Fall2021 \u4e2d\uff0c\u7b2c\u4e00\u4e2a Project \u662f\u505a\u7f13\u5b58\u6c60\u7ba1\u7406\uff0c\u7b2c\u4e8c\u4e2a Project \u662f\u505a\u54c8\u5e0c\u7d22\u5f15\uff0c\u7b2c\u56db\u4e2a Project \u662f\u505a\u5e76\u53d1\u63a7\u5236\u3002 \u5728 Fall2022 \u4e2d\uff0c\u4e0e Fall2021 \u76f8\u6bd4\u53ea\u6709\u54c8\u5e0c\u7d22\u5f15\u6362\u6210\u4e86 B+ \u6811\u7d22\u5f15\uff0c\u5176\u4f59\u90fd\u4e00\u6837\u3002 \u5982\u679c\u5927\u5bb6\u6709\u7cbe\u529b\u7684\u8bdd\u53ef\u4ee5\u90fd\u53bb\u5c1d\u8bd5\u4e00\u4e0b\uff0c\u6216\u8005\u5728\u5bf9\u4e66\u4e2d\u5185\u5bb9\u7406\u89e3\u4e0d\u662f\u5f88\u900f\u5f7b\u7684\u65f6\u5019\uff0c\u5c1d\u8bd5\u7528\u4ee3\u7801\u5199\u4e00\u4e2a\u4f1a\u52a0\u6df1\u4f60\u7684\u7406\u89e3\u3002 \u8d44\u6e90\u6c47\u603b @ysj1173886760 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 ysj1173886760/Learning: db - GitHub \u4e2d\u3002 \u7531\u4e8e Andy \u7684\u8981\u6c42\uff0c\u4ed3\u5e93\u4e2d\u6ca1\u6709 Project \u7684\u5b9e\u73b0\uff0c\u53ea\u6709 Homework \u7684 Solution\u3002\u7279\u522b\u7684\uff0c\u5bf9\u4e8e Homework1\uff0c@ysj1173886760 \u8fd8\u5199\u4e86\u4e00\u4e2a Shell \u811a\u672c\u6765\u5e2e\u5927\u5bb6\u6267\u884c\u81ea\u52a8\u5224\u5206\u3002 \u53e6\u5916\u5728\u8bfe\u7a0b\u7ed3\u675f\u540e\uff0c\u63a8\u8350\u9605\u8bfb\u4e00\u7bc7\u8bba\u6587 Architecture Of a Database System \uff0c\u5bf9\u5e94\u7684\u4e2d\u6587\u7248\u4e5f\u5728\u4e0a\u8ff0\u4ed3\u5e93\u4e2d\u3002\u8bba\u6587\u91cc\u7efc\u8ff0\u4e86\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u6574\u4f53\u67b6\u6784\uff0c\u8ba9\u5927\u5bb6\u53ef\u4ee5\u5bf9\u6570\u636e\u5e93\u6709\u4e00\u4e2a\u66f4\u52a0\u5168\u9762\u7684\u89c6\u91ce\u3002 \u540e\u7eed\u8bfe\u7a0b CMU15-721 \u4e3b\u8981\u8bb2\u4e3b\u5b58\u6570\u636e\u5e93\u6709\u5173\u7684\u5185\u5bb9\uff0c\u6bcf\u8282\u8bfe\u90fd\u6709\u5bf9\u5e94\u7684 paper \u8981\u8bfb\uff0c\u63a8\u8350\u7ed9\u5e0c\u671b\u8fdb\u9636\u6570\u636e\u5e93\u7684\u5c0f\u4f19\u4f34\u3002@ysj1173886760 \u76ee\u524d\u4e5f\u5728\u8ddf\u8fdb\u8fd9\u95e8\u8bfe\uff0c\u5b8c\u6210\u540e\u4f1a\u5728\u8fd9\u91cc\u63d0 PR \u4ee5\u63d0\u4f9b\u8fdb\u9636\u7684\u6307\u5bfc\u3002","title":"CMU 15-445: Database Systems"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#cmu-15-445-database-systems","text":"","title":"CMU 15-445: Database Systems"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aC++\uff0c\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u4f5c\u4e3a CMU \u6570\u636e\u5e93\u7684\u5165\u95e8\u8bfe\uff0c\u8fd9\u95e8\u8bfe\u7531\u6570\u636e\u5e93\u9886\u57df\u7684\u5927\u725b Andy Pavlo \u8bb2\u6388\uff08\u201c\u8fd9\u4e2a\u4e16\u754c\u4e0a\u6211\u53ea\u5728\u4e4e\u4e24\u4ef6\u4e8b\uff0c\u4e00\u662f\u6211\u7684\u8001\u5a46\uff0c\u4e8c\u5c31\u662f\u6570\u636e\u5e93\u201d\uff09\u300215-445 \u4f1a\u81ea\u5e95\u5411\u4e0a\u5730\u6559\u4f60\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u57fa\u672c\u7ec4\u6210\u90e8\u5206\uff1a\u5b58\u50a8\u3001\u7d22\u5f15\u3001\u67e5\u8be2\uff0c\u4ee5\u53ca\u5e76\u53d1\u4e8b\u52a1\u63a7\u5236\u3002 \u8fd9\u95e8\u8bfe\u7684\u4eae\u70b9\u5728\u4e8e CMU db \u4e13\u95e8\u4e3a\u6b64\u8bfe\u5f00\u53d1\u4e86\u4e00\u4e2a\u6559\u5b66\u7528\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93 bustub \uff0c\u5e76\u8981\u6c42\u4f60\u5bf9\u8fd9\u4e2a\u6570\u636e\u5e93\u7684\u7ec4\u6210\u90e8\u5206\u8fdb\u884c\u4fee\u6539\uff0c\u5b9e\u73b0\u4e0a\u8ff0\u90e8\u4ef6\u7684\u529f\u80fd\u3002\u6b64\u5916 bustub \u4f5c\u4e3a\u4e00\u4e2a C++ \u7f16\u5199\u7684\u4e2d\u5c0f\u578b\u9879\u76ee\u6db5\u76d6\u4e86\u7a0b\u5e8f\u6784\u5efa\u3001\u4ee3\u7801\u89c4\u8303\u3001\u5355\u5143\u6d4b\u8bd5\u7b49\u4f17\u591a\u8981\u6c42\uff0c\u53ef\u4ee5\u4f5c\u4e3a\u4e00\u4e2a\u4f18\u79c0\u7684\u5f00\u6e90\u9879\u76ee\u5b66\u4e60\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a Fall2019 , Fall2020 , Fall2021 , Fall2022 \u8bfe\u7a0b\u89c6\u9891\uff1a\u8bfe\u7a0b\u7f51\u7ad9\u514d\u8d39\u89c2\u770b \u8bfe\u7a0b\u6559\u6750\uff1aDatabase System Concepts \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 \u4e2a Project \u5728 Fall2019 \u4e2d\uff0c\u7b2c\u4e8c\u4e2a Project \u662f\u505a\u54c8\u5e0c\u7d22\u5f15\uff0c\u7b2c\u56db\u4e2a Project \u662f\u505a\u65e5\u5fd7\u4e0e\u6062\u590d\u3002 \u5728 Fall2020 \u4e2d\uff0c\u7b2c\u4e8c\u4e2a Project \u662f\u505a B \u6811\uff0c\u7b2c\u56db\u4e2a Project \u662f\u505a\u5e76\u53d1\u63a7\u5236\u3002 \u5728 Fall2021 \u4e2d\uff0c\u7b2c\u4e00\u4e2a Project \u662f\u505a\u7f13\u5b58\u6c60\u7ba1\u7406\uff0c\u7b2c\u4e8c\u4e2a Project \u662f\u505a\u54c8\u5e0c\u7d22\u5f15\uff0c\u7b2c\u56db\u4e2a Project \u662f\u505a\u5e76\u53d1\u63a7\u5236\u3002 \u5728 Fall2022 \u4e2d\uff0c\u4e0e Fall2021 \u76f8\u6bd4\u53ea\u6709\u54c8\u5e0c\u7d22\u5f15\u6362\u6210\u4e86 B+ \u6811\u7d22\u5f15\uff0c\u5176\u4f59\u90fd\u4e00\u6837\u3002 \u5982\u679c\u5927\u5bb6\u6709\u7cbe\u529b\u7684\u8bdd\u53ef\u4ee5\u90fd\u53bb\u5c1d\u8bd5\u4e00\u4e0b\uff0c\u6216\u8005\u5728\u5bf9\u4e66\u4e2d\u5185\u5bb9\u7406\u89e3\u4e0d\u662f\u5f88\u900f\u5f7b\u7684\u65f6\u5019\uff0c\u5c1d\u8bd5\u7528\u4ee3\u7801\u5199\u4e00\u4e2a\u4f1a\u52a0\u6df1\u4f60\u7684\u7406\u89e3\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#_3","text":"@ysj1173886760 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 ysj1173886760/Learning: db - GitHub \u4e2d\u3002 \u7531\u4e8e Andy \u7684\u8981\u6c42\uff0c\u4ed3\u5e93\u4e2d\u6ca1\u6709 Project \u7684\u5b9e\u73b0\uff0c\u53ea\u6709 Homework \u7684 Solution\u3002\u7279\u522b\u7684\uff0c\u5bf9\u4e8e Homework1\uff0c@ysj1173886760 \u8fd8\u5199\u4e86\u4e00\u4e2a Shell \u811a\u672c\u6765\u5e2e\u5927\u5bb6\u6267\u884c\u81ea\u52a8\u5224\u5206\u3002 \u53e6\u5916\u5728\u8bfe\u7a0b\u7ed3\u675f\u540e\uff0c\u63a8\u8350\u9605\u8bfb\u4e00\u7bc7\u8bba\u6587 Architecture Of a Database System \uff0c\u5bf9\u5e94\u7684\u4e2d\u6587\u7248\u4e5f\u5728\u4e0a\u8ff0\u4ed3\u5e93\u4e2d\u3002\u8bba\u6587\u91cc\u7efc\u8ff0\u4e86\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u6574\u4f53\u67b6\u6784\uff0c\u8ba9\u5927\u5bb6\u53ef\u4ee5\u5bf9\u6570\u636e\u5e93\u6709\u4e00\u4e2a\u66f4\u52a0\u5168\u9762\u7684\u89c6\u91ce\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#_4","text":"CMU15-721 \u4e3b\u8981\u8bb2\u4e3b\u5b58\u6570\u636e\u5e93\u6709\u5173\u7684\u5185\u5bb9\uff0c\u6bcf\u8282\u8bfe\u90fd\u6709\u5bf9\u5e94\u7684 paper \u8981\u8bfb\uff0c\u63a8\u8350\u7ed9\u5e0c\u671b\u8fdb\u9636\u6570\u636e\u5e93\u7684\u5c0f\u4f19\u4f34\u3002@ysj1173886760 \u76ee\u524d\u4e5f\u5728\u8ddf\u8fdb\u8fd9\u95e8\u8bfe\uff0c\u5b8c\u6210\u540e\u4f1a\u5728\u8fd9\u91cc\u63d0 PR \u4ee5\u63d0\u4f9b\u8fdb\u9636\u7684\u6307\u5bfc\u3002","title":"\u540e\u7eed\u8bfe\u7a0b"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15799/","text":"CMU 15-799: Special Topics in Database Systems \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aCMU 15-445 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u76ee\u524d\u53ea\u5f00\u4e86\u4e24\u6b21\uff1afall2013 \u548c spring2022\uff0c\u8ba8\u8bba\u4e86\u6570\u636e\u5e93\u9886\u57df\u7684\u4e00\u4e9b\u524d\u6cbf\u4e3b\u9898\u3002fall2013 \u8ba8\u8bba\u4e86 Streaming\u3001Graph DB\u3001NVM \u7b49\uff0cspring2022 \u4e3b\u8981\u8ba8\u8bba Self-Driving DBMS\uff0c\u90fd\u63d0\u4f9b\u6709\u76f8\u5173\u8bba\u6587\u3002 spring2022 \u7248\u8bfe\u7a0b\u4efb\u52a1\uff1a \u4efb\u52a1\u4e00\uff1a\u57fa\u4e8e PostgreSQL \u8fdb\u884c\u624b\u52a8\u6027\u80fd\u8c03\u4f18\uff1b \u4efb\u52a1\u4e8c\uff1a\u57fa\u4e8e NoisePage Pilot \u6539\u8fdb Self-Driving DBMS\uff0c\u4e0d\u9650\u7279\u6027\u3002 \u6388\u8bfe\u66f4\u8d34\u8fd1\u8bb2\u5ea7\u7684\u5f62\u5f0f\uff0c\u7f16\u7a0b\u4efb\u52a1\u8f83\u5c11\u3002\u5bf9\u4e00\u822c\u540c\u5b66\u53ef\u4ee5\u5f00\u62d3\u4e00\u4e0b\u89c6\u91ce\uff0c\u5bf9\u4e13\u7cbe\u6570\u636e\u5e93\u7684\u540c\u5b66\u53ef\u80fd\u5e2e\u52a9\u8f83\u5927\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u4e3b\u9875 CMU15-799 - Special Topics in Database Systems CMU15-799 - Special Topics: Self-Driving Database Management Systems \u8bfe\u7a0b\u89c6\u9891\uff1a\u6682\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a2 Projects + 1 Group Project","title":"CMU 15-799: Special Topics in Database Systems"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15799/#cmu-15-799-special-topics-in-database-systems","text":"","title":"CMU 15-799: Special Topics in Database Systems"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15799/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aCMU 15-445 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u76ee\u524d\u53ea\u5f00\u4e86\u4e24\u6b21\uff1afall2013 \u548c spring2022\uff0c\u8ba8\u8bba\u4e86\u6570\u636e\u5e93\u9886\u57df\u7684\u4e00\u4e9b\u524d\u6cbf\u4e3b\u9898\u3002fall2013 \u8ba8\u8bba\u4e86 Streaming\u3001Graph DB\u3001NVM \u7b49\uff0cspring2022 \u4e3b\u8981\u8ba8\u8bba Self-Driving DBMS\uff0c\u90fd\u63d0\u4f9b\u6709\u76f8\u5173\u8bba\u6587\u3002 spring2022 \u7248\u8bfe\u7a0b\u4efb\u52a1\uff1a \u4efb\u52a1\u4e00\uff1a\u57fa\u4e8e PostgreSQL \u8fdb\u884c\u624b\u52a8\u6027\u80fd\u8c03\u4f18\uff1b \u4efb\u52a1\u4e8c\uff1a\u57fa\u4e8e NoisePage Pilot \u6539\u8fdb Self-Driving DBMS\uff0c\u4e0d\u9650\u7279\u6027\u3002 \u6388\u8bfe\u66f4\u8d34\u8fd1\u8bb2\u5ea7\u7684\u5f62\u5f0f\uff0c\u7f16\u7a0b\u4efb\u52a1\u8f83\u5c11\u3002\u5bf9\u4e00\u822c\u540c\u5b66\u53ef\u4ee5\u5f00\u62d3\u4e00\u4e0b\u89c6\u91ce\uff0c\u5bf9\u4e13\u7cbe\u6570\u636e\u5e93\u7684\u540c\u5b66\u53ef\u80fd\u5e2e\u52a9\u8f83\u5927\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15799/#_2","text":"\u8bfe\u7a0b\u4e3b\u9875 CMU15-799 - Special Topics in Database Systems CMU15-799 - Special Topics: Self-Driving Database Management Systems \u8bfe\u7a0b\u89c6\u9891\uff1a\u6682\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a2 Projects + 1 Group Project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/","text":"Caltech CS 122: Database System Implementation \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCaltech \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u52a0\u5dde\u7406\u5de5\u7684\u8fd9\u95e8\u8bfe\uff0c\u4e0d\u540c\u4e8e\u6ca1\u6709\u63d0\u4f9b SQL \u5c42\u529f\u80fd\u7684 CMU15-445 \u8bfe\u7a0b\u3002CS122 \u8bfe\u7a0b Lab \u7684\u4fa7\u91cd\u70b9\u5728\u4e8e SQL \u5c42\u7684\u76f8\u5173\u5b9e\u73b0\uff0c\u6d89\u53ca\u67e5\u8be2\u4f18\u5316\u5668\u7684\u5404\u4e2a\u6a21\u5757\uff0c\u6bd4\u5982SQL\u7684\u89e3\u6790\uff0cTranslate\uff0c\u5982\u4f55\u5b9e\u73b0 Join\uff0c\u7edf\u8ba1\u4fe1\u606f\u4ee5\u53ca\u4ee3\u4ef7\u4f30\u8ba1\uff0c\u5b50\u67e5\u8be2\u5b9e\u73b0\uff0cAgg\uff0cGroup By \u7684\u5b9e\u73b0\u7b49\u3002\u9664\u6b64\u4e4b\u5916\uff0c\u8fd8\u6709 B+\u6811\uff0cWAL \u76f8\u5173\u5b9e\u9a8c\u3002\u672c\u95e8\u8bfe\u7a0b\u9002\u5408\u5728\u5b66\u5b8c CMU15-445 \u8bfe\u7a0b\u4e4b\u540e\uff0c\u5bf9\u67e5\u8be2\u4f18\u5316\u76f8\u5173\u5185\u5bb9\u6709\u5174\u8da3\u7684\u540c\u5b66\u3002 \u4e0b\u9762\u4ecb\u7ecd\u4e00\u4e0b\u8fd9\u95e8\u8bfe\u7684\u524d 3 \u4e2a Assignment \u4e5f\u5c31\u662f\u5b9e\u9a8c Lab \u6240\u8981\u5b9e\u73b0\u7684\u529f\u80fd\uff1a Assignment1 \u4e3a NanoDB \u63d0\u4f9b delete\uff0cupdate \u8bed\u53e5\u7684\u652f\u6301\u3002 \u4e3a Buffer Pool Manager \u6dfb\u52a0\u5408\u9002\u7684 pin/unpin \u4ee3\u7801\u3002 \u63d0\u5347 insert \u8bed\u53e5\u7684\u6027\u80fd\uff0c \u540c\u65f6\u4e0d\u4f7f\u6570\u636e\u5e93\u6587\u4ef6\u5927\u5c0f\u8fc7\u5206\u81a8\u80c0\u3002 Assignment2 \u5b9e\u73b0\u4e00\u4e2a\u7b80\u5355\u7684\u8ba1\u5212\u751f\u6210\u5668\uff0c\u5c06\u5404\u79cd\u5df2\u7ecf Parser \u8fc7\u7684 SQL \u8bed\u53e5\u8f6c\u5316\u4e3a\u53ef\u6267\u884c\u7684\u6267\u884c\u8ba1\u5212\u3002 \u4f7f\u7528 nested-loop join \u7b97\u6cd5\uff0c\u5b9e\u73b0\u652f\u6301 inner- and outer-join \u7684 Join \u8ba1\u5212\u8282\u70b9\u3002 \u6dfb\u52a0\u4e00\u4e9b\u5355\u5143\u6d4b\u8bd5\uff0c \u4fdd\u8bc1 inner- and outer-join \u529f\u80fd\u5b9e\u73b0\u6b63\u786e\u3002 Assignment3 \u5b8c\u6210\u6536\u96c6\u8868\u7684\u7edf\u8ba1\u4fe1\u606f\u3002 \u5b8c\u6210\u5404\u79cd\u8ba1\u5212\u8282\u70b9\u7684\u8ba1\u5212\u6210\u672c\u8ba1\u7b97\u3002 \u8ba1\u7b97\u53ef\u51fa\u73b0\u5728\u6267\u884c\u8ba1\u5212\u4e2d\u7684\u5404\u79cd\u8c13\u8bcd\u7684\u9009\u62e9\u6027\u3002 \u6839\u636e\u8c13\u8bcd\u66f4\u65b0\u8ba1\u5212\u8282\u70b9\u8f93\u51fa\u7684\u5143\u7ec4\u7edf\u8ba1\u4fe1\u606f\u3002 \u5269\u4f59 Assignment \u548c Challenges \u53ef\u4ee5\u67e5\u770b\u8bfe\u7a0b\u4ecb\u7ecd\uff0c\u63a8\u8350\u4f7f\u7528 IDEA \u6253\u5f00\u5de5\u7a0b\uff0cMaven \u6784\u5efa\uff0c\u6ce8\u610f\u65e5\u5fd7\u76f8\u5173\u914d\u7f6e\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://courses.cms.caltech.edu/cs122/ \u8bfe\u7a0b\u4ee3\u7801\uff1a https://gitlab.caltech.edu/cs122-19wi \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 Assignments + 2 Challenges","title":"Caltech CS122: Database System Implementation"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#caltech-cs-122-database-system-implementation","text":"","title":"Caltech CS 122: Database System Implementation"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCaltech \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u52a0\u5dde\u7406\u5de5\u7684\u8fd9\u95e8\u8bfe\uff0c\u4e0d\u540c\u4e8e\u6ca1\u6709\u63d0\u4f9b SQL \u5c42\u529f\u80fd\u7684 CMU15-445 \u8bfe\u7a0b\u3002CS122 \u8bfe\u7a0b Lab \u7684\u4fa7\u91cd\u70b9\u5728\u4e8e SQL \u5c42\u7684\u76f8\u5173\u5b9e\u73b0\uff0c\u6d89\u53ca\u67e5\u8be2\u4f18\u5316\u5668\u7684\u5404\u4e2a\u6a21\u5757\uff0c\u6bd4\u5982SQL\u7684\u89e3\u6790\uff0cTranslate\uff0c\u5982\u4f55\u5b9e\u73b0 Join\uff0c\u7edf\u8ba1\u4fe1\u606f\u4ee5\u53ca\u4ee3\u4ef7\u4f30\u8ba1\uff0c\u5b50\u67e5\u8be2\u5b9e\u73b0\uff0cAgg\uff0cGroup By \u7684\u5b9e\u73b0\u7b49\u3002\u9664\u6b64\u4e4b\u5916\uff0c\u8fd8\u6709 B+\u6811\uff0cWAL \u76f8\u5173\u5b9e\u9a8c\u3002\u672c\u95e8\u8bfe\u7a0b\u9002\u5408\u5728\u5b66\u5b8c CMU15-445 \u8bfe\u7a0b\u4e4b\u540e\uff0c\u5bf9\u67e5\u8be2\u4f18\u5316\u76f8\u5173\u5185\u5bb9\u6709\u5174\u8da3\u7684\u540c\u5b66\u3002 \u4e0b\u9762\u4ecb\u7ecd\u4e00\u4e0b\u8fd9\u95e8\u8bfe\u7684\u524d 3 \u4e2a Assignment \u4e5f\u5c31\u662f\u5b9e\u9a8c Lab \u6240\u8981\u5b9e\u73b0\u7684\u529f\u80fd\uff1a","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#assignment1","text":"\u4e3a NanoDB \u63d0\u4f9b delete\uff0cupdate \u8bed\u53e5\u7684\u652f\u6301\u3002 \u4e3a Buffer Pool Manager \u6dfb\u52a0\u5408\u9002\u7684 pin/unpin \u4ee3\u7801\u3002 \u63d0\u5347 insert \u8bed\u53e5\u7684\u6027\u80fd\uff0c \u540c\u65f6\u4e0d\u4f7f\u6570\u636e\u5e93\u6587\u4ef6\u5927\u5c0f\u8fc7\u5206\u81a8\u80c0\u3002","title":"Assignment1"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#assignment2","text":"\u5b9e\u73b0\u4e00\u4e2a\u7b80\u5355\u7684\u8ba1\u5212\u751f\u6210\u5668\uff0c\u5c06\u5404\u79cd\u5df2\u7ecf Parser \u8fc7\u7684 SQL \u8bed\u53e5\u8f6c\u5316\u4e3a\u53ef\u6267\u884c\u7684\u6267\u884c\u8ba1\u5212\u3002 \u4f7f\u7528 nested-loop join \u7b97\u6cd5\uff0c\u5b9e\u73b0\u652f\u6301 inner- and outer-join \u7684 Join \u8ba1\u5212\u8282\u70b9\u3002 \u6dfb\u52a0\u4e00\u4e9b\u5355\u5143\u6d4b\u8bd5\uff0c \u4fdd\u8bc1 inner- and outer-join \u529f\u80fd\u5b9e\u73b0\u6b63\u786e\u3002","title":"Assignment2"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#assignment3","text":"\u5b8c\u6210\u6536\u96c6\u8868\u7684\u7edf\u8ba1\u4fe1\u606f\u3002 \u5b8c\u6210\u5404\u79cd\u8ba1\u5212\u8282\u70b9\u7684\u8ba1\u5212\u6210\u672c\u8ba1\u7b97\u3002 \u8ba1\u7b97\u53ef\u51fa\u73b0\u5728\u6267\u884c\u8ba1\u5212\u4e2d\u7684\u5404\u79cd\u8c13\u8bcd\u7684\u9009\u62e9\u6027\u3002 \u6839\u636e\u8c13\u8bcd\u66f4\u65b0\u8ba1\u5212\u8282\u70b9\u8f93\u51fa\u7684\u5143\u7ec4\u7edf\u8ba1\u4fe1\u606f\u3002 \u5269\u4f59 Assignment \u548c Challenges \u53ef\u4ee5\u67e5\u770b\u8bfe\u7a0b\u4ecb\u7ecd\uff0c\u63a8\u8350\u4f7f\u7528 IDEA \u6253\u5f00\u5de5\u7a0b\uff0cMaven \u6784\u5efa\uff0c\u6ce8\u610f\u65e5\u5fd7\u76f8\u5173\u914d\u7f6e\u3002","title":"Assignment3"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://courses.cms.caltech.edu/cs122/ \u8bfe\u7a0b\u4ee3\u7801\uff1a https://gitlab.caltech.edu/cs122-19wi \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 Assignments + 2 Challenges","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/","text":"UCB CS186: Introduction to Database System \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u5982\u4f55\u7f16\u5199 SQL \u67e5\u8be2\uff1fSQL \u547d\u4ee4\u662f\u5982\u4f55\u88ab\u4e00\u6b65\u6b65\u62c6\u89e3\u3001\u4f18\u5316\u3001\u8f6c\u53d8\u4e3a\u4e00\u4e2a\u4e2a\u78c1\u76d8\u67e5\u8be2\u6307\u4ee4\u7684\uff1f\u5982\u4f55\u5b9e\u73b0\u9ad8\u5e76\u53d1\u7684\u6570\u636e\u5e93\uff1f\u5982\u4f55\u5b9e\u73b0\u6570\u636e\u5e93\u7684\u6545\u969c\u6062\u590d\uff1f\u4ec0\u4e48\u53c8\u662f\u975e\u5173\u7cfb\u578b\u6570\u636e\u5e93\uff1f\u8fd9\u95e8\u8bfe\u4f1a\u5e26\u4f60\u6df1\u5165\u7406\u89e3\u5173\u7cfb\u578b\u6570\u636e\u5e93\u7684\u5185\u90e8\u7ec6\u8282\uff0c\u5e76\u5728\u638c\u63e1\u7406\u8bba\u77e5\u8bc6\u4e4b\u540e\uff0c\u52a8\u624b\u7528 Java \u5b9e\u73b0\u4e00\u4e2a\u652f\u6301 SQL \u5e76\u53d1\u67e5\u8be2\u3001B+ \u6811 Index \u548c\u6545\u969c\u6062\u590d\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3002 \u4ece\u5b9e\u7528\u89d2\u5ea6\u6765\u8bf4\uff0c\u8fd9\u95e8\u8bfe\u8fd8\u4f1a\u5728\u7f16\u7a0b\u4f5c\u4e1a\u4e2d\u953b\u70bc\u4f60\u7f16\u5199 SQL \u67e5\u8be2\u4ee5\u53ca NoSQL \u67e5\u8be2\u7684\u80fd\u529b\uff0c\u5bf9\u4e8e\u6784\u5efa\u4e00\u4e9b\u5168\u6808\u7684\u5de5\u7a0b\u9879\u76ee\u5f88\u6709\u5e2e\u52a9\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs186berkeley.net/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV13a411c7Qo \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a6 \u4e2a Project \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS186 - GitHub \u4e2d\u3002","title":"UCB CS186: Introduction to Database System"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#ucb-cs186-introduction-to-database-system","text":"","title":"UCB CS186: Introduction to Database System"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u5982\u4f55\u7f16\u5199 SQL \u67e5\u8be2\uff1fSQL \u547d\u4ee4\u662f\u5982\u4f55\u88ab\u4e00\u6b65\u6b65\u62c6\u89e3\u3001\u4f18\u5316\u3001\u8f6c\u53d8\u4e3a\u4e00\u4e2a\u4e2a\u78c1\u76d8\u67e5\u8be2\u6307\u4ee4\u7684\uff1f\u5982\u4f55\u5b9e\u73b0\u9ad8\u5e76\u53d1\u7684\u6570\u636e\u5e93\uff1f\u5982\u4f55\u5b9e\u73b0\u6570\u636e\u5e93\u7684\u6545\u969c\u6062\u590d\uff1f\u4ec0\u4e48\u53c8\u662f\u975e\u5173\u7cfb\u578b\u6570\u636e\u5e93\uff1f\u8fd9\u95e8\u8bfe\u4f1a\u5e26\u4f60\u6df1\u5165\u7406\u89e3\u5173\u7cfb\u578b\u6570\u636e\u5e93\u7684\u5185\u90e8\u7ec6\u8282\uff0c\u5e76\u5728\u638c\u63e1\u7406\u8bba\u77e5\u8bc6\u4e4b\u540e\uff0c\u52a8\u624b\u7528 Java \u5b9e\u73b0\u4e00\u4e2a\u652f\u6301 SQL \u5e76\u53d1\u67e5\u8be2\u3001B+ \u6811 Index \u548c\u6545\u969c\u6062\u590d\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3002 \u4ece\u5b9e\u7528\u89d2\u5ea6\u6765\u8bf4\uff0c\u8fd9\u95e8\u8bfe\u8fd8\u4f1a\u5728\u7f16\u7a0b\u4f5c\u4e1a\u4e2d\u953b\u70bc\u4f60\u7f16\u5199 SQL \u67e5\u8be2\u4ee5\u53ca NoSQL \u67e5\u8be2\u7684\u80fd\u529b\uff0c\u5bf9\u4e8e\u6784\u5efa\u4e00\u4e9b\u5168\u6808\u7684\u5de5\u7a0b\u9879\u76ee\u5f88\u6709\u5e2e\u52a9\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs186berkeley.net/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV13a411c7Qo \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a6 \u4e2a Project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS186 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS346/","text":"Stanford CS 346: Database System Implementation \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 RedBase \u662f cs346 \u7684\u4e00\u4e2a\u9879\u76ee\uff0c\u5b9e\u73b0\u4e86\u4e00\u4e2a\u7b80\u6613\u7684\u6570\u636e\u5e93\u7cfb\u7edf\uff0c\u9879\u76ee\u662f\u9ad8\u5ea6\u7ed3\u6784\u5316\u7684\u3002\u6574\u4e2a\u9879\u76ee\u80fd\u591f\u88ab\u5206\u4e3a\u4ee5\u4e0b\u51e0\u4e2a\u90e8\u5206\uff08\u540c\u65f6\u4e5f\u662f 4 \u4e2a\u9700\u8981\u5b8c\u5584\u7684 lab\uff09\uff1a The record management component\uff1a\u8bb0\u5f55\u7ba1\u7406\u7ec4\u4ef6\u3002 The index component\uff1aB+ \u7d22\u5f15\u7ba1\u7406\u3002 The System Management Component\uff1addl\u8bed\u53e5\u3001\u547d\u4ee4\u884c\u5de5\u5177\u3001\u6570\u636e\u52a0\u8f7d\u547d\u4ee4\u3001\u5143\u6570\u636e\u7ba1\u7406\u3002 The Query Language Component\uff1a\u5728\u8fd9\u4e2a\u90e8\u5206\u9700\u8981\u5b9e\u73b0 RQL Redbase \u67e5\u8be2\u8bed\u8a00\u3002RQL \u8981\u5b9e\u73b0 select\u3001insert\u3001delete\u3001update \u8bed\u53e5\u3002 Extension Component\uff1a\u9664\u4e86\u4e0a\u8ff0\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u57fa\u672c\u529f\u80fd\u7ec4\u4ef6\uff0c\u8fd8\u9700\u8981\u5b9e\u73b0\u4e00\u4e2a\u6269\u5c55\u7ec4\u4ef6\uff0c\u53ef\u4ee5\u662f Blob \u7c7b\u578b\u3001 \u7f51\u7edc\u6a21\u5757\u3001\u8fde\u63a5\u7b97\u6cd5\u3001CBO \u4f18\u5316\u5668\u3001OLAP\u3001\u4e8b\u52a1\u7b49\u3002 RedBase \u9002\u5408\u5728\u5b66\u5b8c CMU-15445 \u540e\u7ee7\u7eed\u5b66\u4e60\u6570\u636e\u5e93\u7cfb\u7edf\u4e2d\u7684\u5176\u4ed6\u7ec4\u4ef6\uff0c\u56e0\u4e3a\u5176\u4ee3\u7801\u91cf\u4e0d\u591a\uff0c\u53ef\u4ee5\u65b9\u4fbf\u7684\u6839\u636e\u9700\u8981\u6269\u5c55\u4ee3\u7801\u3002\u540c\u65f6\u4ee3\u7801\u5b8c\u5168\u7531 C++ \u7f16\u5199\uff0c\u4e5f\u53ef\u4ee5\u7528\u4e8e\u7ec3\u4e60 C++ \u7f16\u7a0b\u6280\u5de7\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://web.stanford.edu/class/cs346/2015/ \u8bfe\u7a0b\u4ee3\u7801\uff1a https://github.com/junkumar/redbase.git \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 Projects + 1 Extension","title":"Stanford CS346: Database System Implementation"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS346/#stanford-cs-346-database-system-implementation","text":"","title":"Stanford CS 346: Database System Implementation"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS346/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 RedBase \u662f cs346 \u7684\u4e00\u4e2a\u9879\u76ee\uff0c\u5b9e\u73b0\u4e86\u4e00\u4e2a\u7b80\u6613\u7684\u6570\u636e\u5e93\u7cfb\u7edf\uff0c\u9879\u76ee\u662f\u9ad8\u5ea6\u7ed3\u6784\u5316\u7684\u3002\u6574\u4e2a\u9879\u76ee\u80fd\u591f\u88ab\u5206\u4e3a\u4ee5\u4e0b\u51e0\u4e2a\u90e8\u5206\uff08\u540c\u65f6\u4e5f\u662f 4 \u4e2a\u9700\u8981\u5b8c\u5584\u7684 lab\uff09\uff1a The record management component\uff1a\u8bb0\u5f55\u7ba1\u7406\u7ec4\u4ef6\u3002 The index component\uff1aB+ \u7d22\u5f15\u7ba1\u7406\u3002 The System Management Component\uff1addl\u8bed\u53e5\u3001\u547d\u4ee4\u884c\u5de5\u5177\u3001\u6570\u636e\u52a0\u8f7d\u547d\u4ee4\u3001\u5143\u6570\u636e\u7ba1\u7406\u3002 The Query Language Component\uff1a\u5728\u8fd9\u4e2a\u90e8\u5206\u9700\u8981\u5b9e\u73b0 RQL Redbase \u67e5\u8be2\u8bed\u8a00\u3002RQL \u8981\u5b9e\u73b0 select\u3001insert\u3001delete\u3001update \u8bed\u53e5\u3002 Extension Component\uff1a\u9664\u4e86\u4e0a\u8ff0\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u57fa\u672c\u529f\u80fd\u7ec4\u4ef6\uff0c\u8fd8\u9700\u8981\u5b9e\u73b0\u4e00\u4e2a\u6269\u5c55\u7ec4\u4ef6\uff0c\u53ef\u4ee5\u662f Blob \u7c7b\u578b\u3001 \u7f51\u7edc\u6a21\u5757\u3001\u8fde\u63a5\u7b97\u6cd5\u3001CBO \u4f18\u5316\u5668\u3001OLAP\u3001\u4e8b\u52a1\u7b49\u3002 RedBase \u9002\u5408\u5728\u5b66\u5b8c CMU-15445 \u540e\u7ee7\u7eed\u5b66\u4e60\u6570\u636e\u5e93\u7cfb\u7edf\u4e2d\u7684\u5176\u4ed6\u7ec4\u4ef6\uff0c\u56e0\u4e3a\u5176\u4ee3\u7801\u91cf\u4e0d\u591a\uff0c\u53ef\u4ee5\u65b9\u4fbf\u7684\u6839\u636e\u9700\u8981\u6269\u5c55\u4ee3\u7801\u3002\u540c\u65f6\u4ee3\u7801\u5b8c\u5168\u7531 C++ \u7f16\u5199\uff0c\u4e5f\u53ef\u4ee5\u7528\u4e8e\u7ec3\u4e60 C++ \u7f16\u7a0b\u6280\u5de7\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS346/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://web.stanford.edu/class/cs346/2015/ \u8bfe\u7a0b\u4ee3\u7801\uff1a https://github.com/junkumar/redbase.git \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 Projects + 1 Extension","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/","text":"UCB Data100: Principles and Techniques of Data Science \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aData8, CS61A\uff0c\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u6570\u636e\u79d1\u5b66\u5165\u95e8\u8bfe\u7a0b\uff0c\u5185\u5bb9\u76f8\u5bf9\u57fa\u7840\uff0c\u8986\u76d6\u4e86\u6570\u636e\u6e05\u6d17\u3001\u7279\u5f81\u63d0\u53d6\u3001\u6570\u636e\u53ef\u89c6\u5316\u4ee5\u53ca\u673a\u5668\u5b66\u4e60\u548c\u63a8\u7406\u7684\u57fa\u7840\u5185\u5bb9\uff0c\u4e5f\u4f1a\u8bb2\u6388 Pandas, Numpy, Matplotlib \u7b49\u6570\u636e\u79d1\u5b66\u5e38\u7528\u5de5\u5177\u3002\u5176\u4e30\u5bcc\u6709\u8da3\u7684\u7f16\u7a0b\u4f5c\u4e1a\u4e5f\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u4eae\u70b9\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://ds100.org/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a https://www.textbook.ds100.org/intro.html \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"UCB Data100: Principles and Techniques of Data Science"},{"location":"%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/#ucb-data100-principles-and-techniques-of-data-science","text":"","title":"UCB Data100: Principles and Techniques of Data Science"},{"location":"%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aData8, CS61A\uff0c\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u6570\u636e\u79d1\u5b66\u5165\u95e8\u8bfe\u7a0b\uff0c\u5185\u5bb9\u76f8\u5bf9\u57fa\u7840\uff0c\u8986\u76d6\u4e86\u6570\u636e\u6e05\u6d17\u3001\u7279\u5f81\u63d0\u53d6\u3001\u6570\u636e\u53ef\u89c6\u5316\u4ee5\u53ca\u673a\u5668\u5b66\u4e60\u548c\u63a8\u7406\u7684\u57fa\u7840\u5185\u5bb9\uff0c\u4e5f\u4f1a\u8bb2\u6388 Pandas, Numpy, Matplotlib \u7b49\u6570\u636e\u79d1\u5b66\u5e38\u7528\u5de5\u5177\u3002\u5176\u4e30\u5bcc\u6709\u8da3\u7684\u7f16\u7a0b\u4f5c\u4e1a\u4e5f\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u4eae\u70b9\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://ds100.org/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a https://www.textbook.ds100.org/intro.html \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.006/","text":"MIT 6.006: Introduction to Algorithms \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u5bfc\u8bba(CS50/CS61A or equivalent) \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100h+ MIT-EECS \u7cfb\u7684\u7470\u5b9d\u3002\u6388\u8bfe\u8001\u5e08\u4e4b\u4e00\u662f\u7b97\u6cd5\u5c4a\u7684\u5947\u624d Erik Demaine. \u76f8\u6bd4\u8f83\u4e8e\u65af\u5766\u798f\u7684 CS106B/X \uff08\u57fa\u4e8e C++ \u7684\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u8bfe\u7a0b\uff09\uff0c\u8be5\u8bfe\u7a0b\u66f4\u4fa7\u91cd\u4e8e\u7b97\u6cd5\u65b9\u9762\u7684\u8be6\u7ec6\u8bb2\u89e3\u3002\u8bfe\u7a0b\u4e5f\u8986\u76d6\u4e86\u4e00\u4e9b\u7ecf\u5178\u7684\u6570\u636e\u7ed3\u6784\uff0c\u5982 AVL \u6811\u7b49\u3002\u4e2a\u4eba\u611f\u89c9\u5728\u8bb2\u89e3\u65b9\u9762\u6bd4 CS106B \u66f4\u52a0\u8be6\u7ec6\uff0c\u4e5f\u5f25\u8865\u4e86 CS106B \u5728\u7b97\u6cd5\u65b9\u9762\u8bb2\u89e3\u7684\u4e0d\u8db3\u3002\u9002\u5408\u5728 CS106B \u5165\u95e8\u4e4b\u540e\u5de9\u56fa\u7b97\u6cd5\u77e5\u8bc6\u3002 \u4e0d\u8fc7\u8be5\u8bfe\u7a0b\u4e5f\u662f\u51fa\u4e86\u540d\u7684\u96be\uff0c\u5927\u5bb6\u9700\u8981\u505a\u597d\u4e00\u5b9a\u7684\u5fc3\u7406\u51c6\u5907\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a Fall 2011 \u8bfe\u7a0b\u89c6\u9891\uff1a Fall 2011 \u8bfe\u7a0b\u6559\u6750\uff1aIntroduction to Algorithms (CLRS) \u8bfe\u7a0b\u4f5c\u4e1a\uff1a Fall 2011","title":"MIT 6.006: Introduction to Algorithms"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.006/#mit-6006-introduction-to-algorithms","text":"","title":"MIT 6.006: Introduction to Algorithms"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.006/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u5bfc\u8bba(CS50/CS61A or equivalent) \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100h+ MIT-EECS \u7cfb\u7684\u7470\u5b9d\u3002\u6388\u8bfe\u8001\u5e08\u4e4b\u4e00\u662f\u7b97\u6cd5\u5c4a\u7684\u5947\u624d Erik Demaine. \u76f8\u6bd4\u8f83\u4e8e\u65af\u5766\u798f\u7684 CS106B/X \uff08\u57fa\u4e8e C++ \u7684\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u8bfe\u7a0b\uff09\uff0c\u8be5\u8bfe\u7a0b\u66f4\u4fa7\u91cd\u4e8e\u7b97\u6cd5\u65b9\u9762\u7684\u8be6\u7ec6\u8bb2\u89e3\u3002\u8bfe\u7a0b\u4e5f\u8986\u76d6\u4e86\u4e00\u4e9b\u7ecf\u5178\u7684\u6570\u636e\u7ed3\u6784\uff0c\u5982 AVL \u6811\u7b49\u3002\u4e2a\u4eba\u611f\u89c9\u5728\u8bb2\u89e3\u65b9\u9762\u6bd4 CS106B \u66f4\u52a0\u8be6\u7ec6\uff0c\u4e5f\u5f25\u8865\u4e86 CS106B \u5728\u7b97\u6cd5\u65b9\u9762\u8bb2\u89e3\u7684\u4e0d\u8db3\u3002\u9002\u5408\u5728 CS106B \u5165\u95e8\u4e4b\u540e\u5de9\u56fa\u7b97\u6cd5\u77e5\u8bc6\u3002 \u4e0d\u8fc7\u8be5\u8bfe\u7a0b\u4e5f\u662f\u51fa\u4e86\u540d\u7684\u96be\uff0c\u5927\u5bb6\u9700\u8981\u505a\u597d\u4e00\u5b9a\u7684\u5fc3\u7406\u51c6\u5907\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.006/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a Fall 2011 \u8bfe\u7a0b\u89c6\u9891\uff1a Fall 2011 \u8bfe\u7a0b\u6559\u6750\uff1aIntroduction to Algorithms (CLRS) \u8bfe\u7a0b\u4f5c\u4e1a\uff1a Fall 2011","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.046/","text":"MIT 6.046: Design and Analysis of Algorithms \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u7b97\u6cd5\u5165\u95e8(6.006/CS61B/CS106B/CS106X or equivalent) \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100h+ 6.006\u7684\u540e\u7eed\u8bfe\u7a0b\u3002\u6388\u8bfe\u8001\u5e08\u4f9d\u65e7\u662f Erik Demaine \u548c Srini Devadas\uff0c\u6b64\u5916\u8fd8\u6709\u4e00\u4f4d\u65b0\u8001\u5e08 Nancy Lynch. \u76f8\u6bd4\u8f83\u4e8e\u201c\u73b0\u5b66\u73b0\u7528\u201d\u76846.006\uff0c6.046\u66f4\u52a0\u4fa7\u91cd\u4e8e\u5982\u4f55\u8fd0\u7528\u8bfe\u4e0a\u6240\u5b66\u5230\u7684\u5185\u5bb9\u4e3e\u4e00\u53cd\u4e09\uff0c\u8bbe\u8ba1\u51fa\u4e00\u5957\u5b8c\u5907\u7684\u7b97\u6cd5\u5e76\u80fd\u591f\u8bc1\u660e\u8be5\u7b97\u6cd5\u80fd\u89e3\u51b3\u76f8\u5e94\u7684\u95ee\u9898\u3002\u867d\u7136\u8be5\u8bfe\u7a0b\u5728\u677f\u4e66\u4ee5\u53ca\u4f5c\u4e1a\u4e2d\u7684\u7f16\u7a0b\u8bed\u8a00\u4e3a Python\uff0c\u4f46\u57fa\u672c\u4e0a\u6ca1\u6709\u7f16\u7a0b\u4f5c\u4e1a\uff1b\u7edd\u5927\u90e8\u5206\u7684\u4f5c\u4e1a\u90fd\u662f\u63d0\u51fa\u8981\u6c42\uff0c\u7136\u540e\u9700\u8981\u5b66\u751f\u8fdb\u884c\u7b97\u6cd5\u8bbe\u8ba1\u4ee5\u53ca\u5408\u7406\u6027\u8bc1\u660e\u3002\u6240\u4ee5\u8be5\u8bfe\u7a0b\u7684\u96be\u5ea6\u53c8\u63d0\u9ad8\u4e86\u4e00\u5927\u622a:) \u5728\u8be5\u95e8\u8bfe\u7a0b\u540e\u8fd8\u6709\u4e00\u95e8 6.854 \u9ad8\u7ea7\u7b97\u6cd5\uff0c\u4f46\u5bf9\u4e8e\u7edd\u5927\u591a\u6570\u8003\u8bd5\u4ee5\u53ca\u5e94\u8058\u6765\u8bf4\uff0c\u5b66\u5b8c\u8be5\u8bfe\u7a0b\u57fa\u672c\u4e0a\u5df2\u7ecf\u80fd\u8986\u76d699%\u7684\u9898\u76ee\u4e86\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a Spring 2015 \u8bfe\u7a0b\u89c6\u9891\uff1a Spring 2015 \u8bfe\u7a0b\u6559\u6750\uff1aIntroduction to Algorithms (CLRS) \u8bfe\u7a0b\u4f5c\u4e1a\uff1a Spring 2015","title":"MIT 6.046: Design and Analysis of Algorithms"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.046/#mit-6046-design-and-analysis-of-algorithms","text":"","title":"MIT 6.046: Design and Analysis of Algorithms"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.046/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u7b97\u6cd5\u5165\u95e8(6.006/CS61B/CS106B/CS106X or equivalent) \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100h+ 6.006\u7684\u540e\u7eed\u8bfe\u7a0b\u3002\u6388\u8bfe\u8001\u5e08\u4f9d\u65e7\u662f Erik Demaine \u548c Srini Devadas\uff0c\u6b64\u5916\u8fd8\u6709\u4e00\u4f4d\u65b0\u8001\u5e08 Nancy Lynch. \u76f8\u6bd4\u8f83\u4e8e\u201c\u73b0\u5b66\u73b0\u7528\u201d\u76846.006\uff0c6.046\u66f4\u52a0\u4fa7\u91cd\u4e8e\u5982\u4f55\u8fd0\u7528\u8bfe\u4e0a\u6240\u5b66\u5230\u7684\u5185\u5bb9\u4e3e\u4e00\u53cd\u4e09\uff0c\u8bbe\u8ba1\u51fa\u4e00\u5957\u5b8c\u5907\u7684\u7b97\u6cd5\u5e76\u80fd\u591f\u8bc1\u660e\u8be5\u7b97\u6cd5\u80fd\u89e3\u51b3\u76f8\u5e94\u7684\u95ee\u9898\u3002\u867d\u7136\u8be5\u8bfe\u7a0b\u5728\u677f\u4e66\u4ee5\u53ca\u4f5c\u4e1a\u4e2d\u7684\u7f16\u7a0b\u8bed\u8a00\u4e3a Python\uff0c\u4f46\u57fa\u672c\u4e0a\u6ca1\u6709\u7f16\u7a0b\u4f5c\u4e1a\uff1b\u7edd\u5927\u90e8\u5206\u7684\u4f5c\u4e1a\u90fd\u662f\u63d0\u51fa\u8981\u6c42\uff0c\u7136\u540e\u9700\u8981\u5b66\u751f\u8fdb\u884c\u7b97\u6cd5\u8bbe\u8ba1\u4ee5\u53ca\u5408\u7406\u6027\u8bc1\u660e\u3002\u6240\u4ee5\u8be5\u8bfe\u7a0b\u7684\u96be\u5ea6\u53c8\u63d0\u9ad8\u4e86\u4e00\u5927\u622a:) \u5728\u8be5\u95e8\u8bfe\u7a0b\u540e\u8fd8\u6709\u4e00\u95e8 6.854 \u9ad8\u7ea7\u7b97\u6cd5\uff0c\u4f46\u5bf9\u4e8e\u7edd\u5927\u591a\u6570\u8003\u8bd5\u4ee5\u53ca\u5e94\u8058\u6765\u8bf4\uff0c\u5b66\u5b8c\u8be5\u8bfe\u7a0b\u57fa\u672c\u4e0a\u5df2\u7ecf\u80fd\u8986\u76d699%\u7684\u9898\u76ee\u4e86\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.046/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a Spring 2015 \u8bfe\u7a0b\u89c6\u9891\uff1a Spring 2015 \u8bfe\u7a0b\u6559\u6750\uff1aIntroduction to Algorithms (CLRS) \u8bfe\u7a0b\u4f5c\u4e1a\uff1a Spring 2015","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/","text":"Coursera: Algorithms I & II \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aPrinceton \u5148\u4fee\u8981\u6c42\uff1aCS61A \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u8fd9\u662f Coursera \u4e0a\u8bc4\u5206\u6700\u9ad8\u7684\u7b97\u6cd5\u8bfe\u7a0b\u3002Robert Sedgewick \u6559\u6388\u6709\u4e00\u79cd\u9b54\u529b\uff0c\u53ef\u4ee5\u5c06\u65e0\u8bba\u591a\u4e48\u590d\u6742\u7684\u7b97\u6cd5\u8bb2\u5f97\u6781\u4e3a\u751f\u52a8\u6d45\u663e\u3002\u5b9e\u4e0d\u76f8\u7792\uff0c\u56f0\u6270\u6211\u591a\u5e74\u7684 KMP \u4ee5\u53ca\u7f51\u7edc\u6d41\u7b97\u6cd5\u90fd\u662f\u5728\u8fd9\u95e8\u8bfe\u4e0a\u8ba9\u6211\u8305\u585e\u987f\u5f00\u7684\uff0c\u65f6\u9694\u4e24\u5e74\u6211\u751a\u81f3\u8fd8\u80fd\u5199\u51fa\u8fd9\u4e24\u4e2a\u7b97\u6cd5\u7684\u63a8\u5bfc\u4e0e\u8bc1\u660e\u3002 \u4f60\u662f\u5426\u89c9\u5f97\u7b97\u6cd5\u5b66\u4e86\u5c31\u5fd8\u5462\uff1f\u6211\u89c9\u5f97\u8ba9\u4f60\u5b8c\u5168\u638c\u63e1\u4e00\u4e2a\u7b97\u6cd5\u7684\u6838\u5fc3\u5728\u4e8e\u7406\u89e3\u4e09\u70b9\uff1a \u4e3a\u4ec0\u4e48\u8fd9\u4e48\u505a\uff1f\uff08\u6b63\u786e\u6027\u63a8\u5bfc\uff0c\u6291\u6216\u662f\u6574\u4e2a\u7b97\u6cd5\u7684\u6838\u5fc3\u672c\u8d28\uff09 \u5982\u4f55\u5b9e\u73b0\u5b83\uff1f\uff08\u5149\u5b66\u4e0d\u7528\u5047\u628a\u5f0f\uff09 \u7528\u5b83\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff08\u5b66\u4ee5\u81f4\u7528\u624d\u662f\u771f\u672c\u4e8b\uff09 \u8fd9\u95e8\u8bfe\u7684\u6784\u6210\u5c31\u975e\u5e38\u597d\u5730\u5951\u5408\u4e86\u4e0a\u8ff0\u4e09\u4e2a\u6b65\u9aa4\u3002\u89c2\u770b\u8bfe\u7a0b\u89c6\u9891\u5e76\u4e14\u9605\u8bfb\u6559\u6388\u7684 \u5f00\u6e90\u8bfe\u672c \u6709\u52a9\u4e8e\u4f60\u7406\u89e3\u7b97\u6cd5\u7684\u672c\u8d28\uff0c\u8ba9\u4f60\u4e5f\u53ef\u4ee5\u7528\u975e\u5e38 \u751f\u52a8\u6d45\u663e\u7684\u8bdd\u8bed\u5411\u522b\u4eba\u8bb2\u8ff0\u4e3a\u4ec0\u4e48\u8fd9\u4e2a\u7b97\u6cd5\u5f97\u957f\u8fd9\u4e2a\u6837\u5b50\u3002 \u5728\u7406\u89e3\u7b97\u6cd5\u4e4b\u540e\uff0c\u4f60\u53ef\u4ee5\u9605\u8bfb\u6559\u6388\u5bf9\u4e8e\u8bfe\u7a0b\u4e2d\u8bb2\u6388\u7684\u6240\u6709\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684 \u4ee3\u7801\u5b9e\u73b0 \u3002 \u6ce8\u610f\uff0c\u8fd9\u4e9b\u5b9e\u73b0\u53ef\u4e0d\u662f demo \u6027\u8d28\u7684\uff0c\u800c\u662f\u5de5\u4e1a\u7ea7\u7684\u9ad8\u6548\u5b9e\u73b0\uff0c\u4ece\u6ce8\u91ca\u5230\u53d8\u91cf\u547d\u540d\u90fd\u975e\u5e38\u4e25\u8c28\uff0c\u6a21\u5757\u5316\u4e5f\u505a\u5f97\u76f8\u5f53\u597d\uff0c\u662f\u8d28\u91cf\u5f88\u9ad8\u7684\u4ee3\u7801\u3002\u6211\u4ece\u8fd9\u4e9b\u4ee3\u7801\u4e2d\u6536\u83b7\u826f\u591a\u3002 \u6700\u540e\uff0c\u5c31\u662f\u8fd9\u95e8\u8bfe\u6700\u6fc0\u52a8\u4eba\u5fc3\u7684\u90e8\u5206\u4e86\uff0c10 \u4e2a\u9ad8\u8d28\u91cf\u7684 Project\uff0c\u5e76\u4e14\u5168\u90fd\u6709\u5b9e\u9645\u95ee\u9898\u7684\u80cc\u666f\u63cf\u8ff0\uff0c\u4e30\u5bcc\u7684\u6d4b\u8bd5\u6837\u4f8b\uff0c\u81ea\u52a8\u7684\u8bc4\u5206\u7cfb\u7edf\uff08\u4ee3\u7801\u98ce\u683c\u4e5f\u662f\u8bc4\u5206\u7684\u4e00\u73af\uff09\u3002\u8ba9\u4f60\u5728\u5b9e\u9645\u751f\u6d3b\u4e2d \u9886\u7565\u7b97\u6cd5\u7684\u9b45\u529b\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a Algorithm I , Algorithm II \u8bfe\u7a0b\u89c6\u9891\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a https://algs4.cs.princeton.edu/home/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10\u4e2aProject\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/Princeton-Algorithm - GitHub \u4e2d\u3002","title":"Coursera: Algorithms I & II"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#coursera-algorithms-i-ii","text":"","title":"Coursera: Algorithms I & II"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aPrinceton \u5148\u4fee\u8981\u6c42\uff1aCS61A \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u8fd9\u662f Coursera \u4e0a\u8bc4\u5206\u6700\u9ad8\u7684\u7b97\u6cd5\u8bfe\u7a0b\u3002Robert Sedgewick \u6559\u6388\u6709\u4e00\u79cd\u9b54\u529b\uff0c\u53ef\u4ee5\u5c06\u65e0\u8bba\u591a\u4e48\u590d\u6742\u7684\u7b97\u6cd5\u8bb2\u5f97\u6781\u4e3a\u751f\u52a8\u6d45\u663e\u3002\u5b9e\u4e0d\u76f8\u7792\uff0c\u56f0\u6270\u6211\u591a\u5e74\u7684 KMP \u4ee5\u53ca\u7f51\u7edc\u6d41\u7b97\u6cd5\u90fd\u662f\u5728\u8fd9\u95e8\u8bfe\u4e0a\u8ba9\u6211\u8305\u585e\u987f\u5f00\u7684\uff0c\u65f6\u9694\u4e24\u5e74\u6211\u751a\u81f3\u8fd8\u80fd\u5199\u51fa\u8fd9\u4e24\u4e2a\u7b97\u6cd5\u7684\u63a8\u5bfc\u4e0e\u8bc1\u660e\u3002 \u4f60\u662f\u5426\u89c9\u5f97\u7b97\u6cd5\u5b66\u4e86\u5c31\u5fd8\u5462\uff1f\u6211\u89c9\u5f97\u8ba9\u4f60\u5b8c\u5168\u638c\u63e1\u4e00\u4e2a\u7b97\u6cd5\u7684\u6838\u5fc3\u5728\u4e8e\u7406\u89e3\u4e09\u70b9\uff1a \u4e3a\u4ec0\u4e48\u8fd9\u4e48\u505a\uff1f\uff08\u6b63\u786e\u6027\u63a8\u5bfc\uff0c\u6291\u6216\u662f\u6574\u4e2a\u7b97\u6cd5\u7684\u6838\u5fc3\u672c\u8d28\uff09 \u5982\u4f55\u5b9e\u73b0\u5b83\uff1f\uff08\u5149\u5b66\u4e0d\u7528\u5047\u628a\u5f0f\uff09 \u7528\u5b83\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff08\u5b66\u4ee5\u81f4\u7528\u624d\u662f\u771f\u672c\u4e8b\uff09 \u8fd9\u95e8\u8bfe\u7684\u6784\u6210\u5c31\u975e\u5e38\u597d\u5730\u5951\u5408\u4e86\u4e0a\u8ff0\u4e09\u4e2a\u6b65\u9aa4\u3002\u89c2\u770b\u8bfe\u7a0b\u89c6\u9891\u5e76\u4e14\u9605\u8bfb\u6559\u6388\u7684 \u5f00\u6e90\u8bfe\u672c \u6709\u52a9\u4e8e\u4f60\u7406\u89e3\u7b97\u6cd5\u7684\u672c\u8d28\uff0c\u8ba9\u4f60\u4e5f\u53ef\u4ee5\u7528\u975e\u5e38 \u751f\u52a8\u6d45\u663e\u7684\u8bdd\u8bed\u5411\u522b\u4eba\u8bb2\u8ff0\u4e3a\u4ec0\u4e48\u8fd9\u4e2a\u7b97\u6cd5\u5f97\u957f\u8fd9\u4e2a\u6837\u5b50\u3002 \u5728\u7406\u89e3\u7b97\u6cd5\u4e4b\u540e\uff0c\u4f60\u53ef\u4ee5\u9605\u8bfb\u6559\u6388\u5bf9\u4e8e\u8bfe\u7a0b\u4e2d\u8bb2\u6388\u7684\u6240\u6709\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684 \u4ee3\u7801\u5b9e\u73b0 \u3002 \u6ce8\u610f\uff0c\u8fd9\u4e9b\u5b9e\u73b0\u53ef\u4e0d\u662f demo \u6027\u8d28\u7684\uff0c\u800c\u662f\u5de5\u4e1a\u7ea7\u7684\u9ad8\u6548\u5b9e\u73b0\uff0c\u4ece\u6ce8\u91ca\u5230\u53d8\u91cf\u547d\u540d\u90fd\u975e\u5e38\u4e25\u8c28\uff0c\u6a21\u5757\u5316\u4e5f\u505a\u5f97\u76f8\u5f53\u597d\uff0c\u662f\u8d28\u91cf\u5f88\u9ad8\u7684\u4ee3\u7801\u3002\u6211\u4ece\u8fd9\u4e9b\u4ee3\u7801\u4e2d\u6536\u83b7\u826f\u591a\u3002 \u6700\u540e\uff0c\u5c31\u662f\u8fd9\u95e8\u8bfe\u6700\u6fc0\u52a8\u4eba\u5fc3\u7684\u90e8\u5206\u4e86\uff0c10 \u4e2a\u9ad8\u8d28\u91cf\u7684 Project\uff0c\u5e76\u4e14\u5168\u90fd\u6709\u5b9e\u9645\u95ee\u9898\u7684\u80cc\u666f\u63cf\u8ff0\uff0c\u4e30\u5bcc\u7684\u6d4b\u8bd5\u6837\u4f8b\uff0c\u81ea\u52a8\u7684\u8bc4\u5206\u7cfb\u7edf\uff08\u4ee3\u7801\u98ce\u683c\u4e5f\u662f\u8bc4\u5206\u7684\u4e00\u73af\uff09\u3002\u8ba9\u4f60\u5728\u5b9e\u9645\u751f\u6d3b\u4e2d \u9886\u7565\u7b97\u6cd5\u7684\u9b45\u529b\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a Algorithm I , Algorithm II \u8bfe\u7a0b\u89c6\u9891\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a https://algs4.cs.princeton.edu/home/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10\u4e2aProject\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/Princeton-Algorithm - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/","text":"CS170: Efficient Algorithms and Intractable Problems \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61B, CS70 \u7f16\u7a0b\u8bed\u8a00\uff1aLaTeX \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u7b97\u6cd5\u8bbe\u8ba1\u8bfe\uff0c\u66f4\u6ce8\u91cd\u7b97\u6cd5\u7684\u7406\u8bba\u57fa\u7840\u4e0e\u590d\u6742\u5ea6\u5206\u6790\u3002\u8bfe\u7a0b\u5185\u5bb9\u6db5\u76d6\u4e86\u5206\u6cbb\u3001\u56fe\u7b97\u6cd5\u3001\u6700\u77ed\u8def\u3001\u751f\u6210\u6811\u3001\u8d2a\u5fc3\u3001\u52a8\u89c4\u3001\u5e76\u67e5\u96c6\u3001\u7ebf\u6027\u89c4\u5212\u3001\u7f51\u7edc\u6d41\u3001NP \u95ee\u9898\u3001\u968f\u673a\u7b97\u6cd5\u3001\u54c8\u5e0c\u7b97\u6cd5\u7b49\u7b49\u3002 \u8fd9\u95e8\u8bfe\u7684\u6559\u6750\u5199\u7684\u5f88\u597d\uff0c\u8bc1\u660e\u6d45\u663e\u6613\u61c2\uff0c\u975e\u5e38\u9002\u5408\u4f5c\u4e3a\u5de5\u5177\u4e66\u67e5\u9605\u3002\u53e6\u5916\uff0c\u8fd9\u95e8\u8bfe\u53ea\u6709\u4e66\u9762\u4f5c\u4e1a\uff0c\u5e76\u4e14\u63a8\u8350\u7528 LaTeX \u7f16\u5199\uff0c\u5927\u5bb6\u53ef\u4ee5\u501f\u6b64\u673a\u4f1a\u953b\u70bc\u81ea\u5df1\u7684 LaTeX \u6280\u5de7\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs170.org/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1BU4y1b7RK \u8bfe\u7a0b\u6559\u6750\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a13 \u6b21\u4e66\u9762\u4f5c\u4e1a\uff0c\u7528 LaTeX \u7f16\u5199 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/UCB-CS170 - GitHub \u4e2d\u3002","title":"UCB CS170: Efficient Algorithms and Intractable Problems"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#cs170-efficient-algorithms-and-intractable-problems","text":"","title":"CS170: Efficient Algorithms and Intractable Problems"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61B, CS70 \u7f16\u7a0b\u8bed\u8a00\uff1aLaTeX \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u7b97\u6cd5\u8bbe\u8ba1\u8bfe\uff0c\u66f4\u6ce8\u91cd\u7b97\u6cd5\u7684\u7406\u8bba\u57fa\u7840\u4e0e\u590d\u6742\u5ea6\u5206\u6790\u3002\u8bfe\u7a0b\u5185\u5bb9\u6db5\u76d6\u4e86\u5206\u6cbb\u3001\u56fe\u7b97\u6cd5\u3001\u6700\u77ed\u8def\u3001\u751f\u6210\u6811\u3001\u8d2a\u5fc3\u3001\u52a8\u89c4\u3001\u5e76\u67e5\u96c6\u3001\u7ebf\u6027\u89c4\u5212\u3001\u7f51\u7edc\u6d41\u3001NP \u95ee\u9898\u3001\u968f\u673a\u7b97\u6cd5\u3001\u54c8\u5e0c\u7b97\u6cd5\u7b49\u7b49\u3002 \u8fd9\u95e8\u8bfe\u7684\u6559\u6750\u5199\u7684\u5f88\u597d\uff0c\u8bc1\u660e\u6d45\u663e\u6613\u61c2\uff0c\u975e\u5e38\u9002\u5408\u4f5c\u4e3a\u5de5\u5177\u4e66\u67e5\u9605\u3002\u53e6\u5916\uff0c\u8fd9\u95e8\u8bfe\u53ea\u6709\u4e66\u9762\u4f5c\u4e1a\uff0c\u5e76\u4e14\u63a8\u8350\u7528 LaTeX \u7f16\u5199\uff0c\u5927\u5bb6\u53ef\u4ee5\u501f\u6b64\u673a\u4f1a\u953b\u70bc\u81ea\u5df1\u7684 LaTeX \u6280\u5de7\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs170.org/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1BU4y1b7RK \u8bfe\u7a0b\u6559\u6750\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a13 \u6b21\u4e66\u9762\u4f5c\u4e1a\uff0c\u7528 LaTeX \u7f16\u5199","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/UCB-CS170 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/","text":"CS61B: Data Structures and Algorithms \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u4f2f\u514b\u5229 CS61 \u7cfb\u5217\u7684\u7b2c\u4e8c\u95e8\u8bfe\u7a0b\uff0c\u6ce8\u91cd\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684\u8bbe\u8ba1\uff0c\u540c\u65f6\u8ba9\u5b66\u751f\u6709\u673a\u4f1a\u63a5\u89e6\u4e0a\u5343\u884c\u7684\u5de5\u7a0b\u4ee3\u7801\uff0c\u901a\u8fc7 Java \u521d\u6b65\u9886\u4f1a\u8f6f\u4ef6\u5de5\u7a0b\u7684\u601d\u60f3\u3002 \u6211\u4e0a\u7684\u662f 2018 \u5e74\u6625\u5b63\u5b66\u671f\u7684\u7248\u672c\uff0c\u8be5\u8bfe\u7684\u5f00\u8bfe\u8001\u5e08 Josh Hug \u6559\u6388\u6177\u6168\u5730\u5c06 autograder \u5f00\u6e90\u4e86\uff0c\u5927\u5bb6\u53ef\u4ee5\u901a\u8fc7\u7f51\u7ad9\u516c\u5f00\u7684\u9080\u8bf7\u7801\u5728 gradescope \u514d\u8d39\u52a0\u5165\u8bfe\u7a0b\uff0c\u4ece\u800c\u65b9\u4fbf\u5730\u6d4b\u8bc4\u81ea\u5df1\u7684\u4ee3\u7801\u3002 \u8fd9\u95e8\u8bfe\u6240\u6709\u7684\u7f16\u7a0b\u4f5c\u4e1a\u90fd\u662f\u4f7f\u7528 Java \u5b8c\u6210\u7684\u3002\u6ca1\u6709 Java \u57fa\u7840\u7684\u540c\u5b66\u4e5f\u4e0d\u7528\u62c5\u5fc3\uff0c\u8bfe\u7a0b\u4f1a\u6709\u4fdd\u59c6\u7ea7\u7684\u6559\u7a0b\uff0c\u4ece IDEA\uff08\u4e00\u6b3e\u4e3b\u6d41\u7684 Java \u7f16\u7a0b\u73af\u5883\uff09\u7684\u914d\u7f6e\u8bb2\u8d77\uff0c\u628a Java \u7684\u6838\u5fc3\u8bed\u6cd5\u4e0e\u7279\u6027\u4e8b\u65e0\u5de8\u7ec6\u5730\u8bb2\u6388\uff0c\u5927\u5bb6\u5b8c\u5168\u4e0d\u7528\u62c5\u5fc3\u8ddf\u4e0d\u4e0a\u7684\u95ee\u9898\u3002 \u8fd9\u95e8\u8bfe\u7684\u4f5c\u4e1a\u8d28\u91cf\u4e5f\u662f\u7edd\u7edd\u5b50\u300214 \u4e2a lab \u4f1a\u8ba9\u4f60\u81ea\u5df1\u5b9e\u73b0\u8bfe\u4e0a\u6240\u8bb2\u7684\u7edd\u5927\u90e8\u5206\u6570\u636e\u7ed3\u6784\uff0c10 \u4e2a Homework \u4f1a\u8ba9\u4f60\u8fd0\u7528\u6570\u636e\u7ed3\u6784\u548c\u7b97\u6cd5\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff0c \u53e6\u5916\u8fd8\u6709 3 \u4e2a Project \u66f4\u662f\u8ba9\u4f60\u6709\u673a\u4f1a\u63a5\u89e6\u4e0a\u5343\u884c\u7684\u5de5\u7a0b\u4ee3\u7801\uff0c\u5728\u5b9e\u6218\u4e2d\u78e8\u7ec3\u81ea\u5df1\u7684 Java \u80fd\u529b\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://sp18.datastructur.es/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://sp18.datastructur.es/ \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u6bcf\u5e74\u7565\u6709\u4e0d\u540c\uff0c18 \u5e74\u6625\u5b63\u5b66\u671f\u6709 14 \u4e2a Lab\uff0c10 \u4e2a Homework\u4ee5\u53ca 3 \u4e2a Project\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS61B - GitHub \u4e2d\u3002","title":"UCB CS61B: Data Structures and Algorithms"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#cs61b-data-structures-and-algorithms","text":"","title":"CS61B: Data Structures and Algorithms"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u4f2f\u514b\u5229 CS61 \u7cfb\u5217\u7684\u7b2c\u4e8c\u95e8\u8bfe\u7a0b\uff0c\u6ce8\u91cd\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684\u8bbe\u8ba1\uff0c\u540c\u65f6\u8ba9\u5b66\u751f\u6709\u673a\u4f1a\u63a5\u89e6\u4e0a\u5343\u884c\u7684\u5de5\u7a0b\u4ee3\u7801\uff0c\u901a\u8fc7 Java \u521d\u6b65\u9886\u4f1a\u8f6f\u4ef6\u5de5\u7a0b\u7684\u601d\u60f3\u3002 \u6211\u4e0a\u7684\u662f 2018 \u5e74\u6625\u5b63\u5b66\u671f\u7684\u7248\u672c\uff0c\u8be5\u8bfe\u7684\u5f00\u8bfe\u8001\u5e08 Josh Hug \u6559\u6388\u6177\u6168\u5730\u5c06 autograder \u5f00\u6e90\u4e86\uff0c\u5927\u5bb6\u53ef\u4ee5\u901a\u8fc7\u7f51\u7ad9\u516c\u5f00\u7684\u9080\u8bf7\u7801\u5728 gradescope \u514d\u8d39\u52a0\u5165\u8bfe\u7a0b\uff0c\u4ece\u800c\u65b9\u4fbf\u5730\u6d4b\u8bc4\u81ea\u5df1\u7684\u4ee3\u7801\u3002 \u8fd9\u95e8\u8bfe\u6240\u6709\u7684\u7f16\u7a0b\u4f5c\u4e1a\u90fd\u662f\u4f7f\u7528 Java \u5b8c\u6210\u7684\u3002\u6ca1\u6709 Java \u57fa\u7840\u7684\u540c\u5b66\u4e5f\u4e0d\u7528\u62c5\u5fc3\uff0c\u8bfe\u7a0b\u4f1a\u6709\u4fdd\u59c6\u7ea7\u7684\u6559\u7a0b\uff0c\u4ece IDEA\uff08\u4e00\u6b3e\u4e3b\u6d41\u7684 Java \u7f16\u7a0b\u73af\u5883\uff09\u7684\u914d\u7f6e\u8bb2\u8d77\uff0c\u628a Java \u7684\u6838\u5fc3\u8bed\u6cd5\u4e0e\u7279\u6027\u4e8b\u65e0\u5de8\u7ec6\u5730\u8bb2\u6388\uff0c\u5927\u5bb6\u5b8c\u5168\u4e0d\u7528\u62c5\u5fc3\u8ddf\u4e0d\u4e0a\u7684\u95ee\u9898\u3002 \u8fd9\u95e8\u8bfe\u7684\u4f5c\u4e1a\u8d28\u91cf\u4e5f\u662f\u7edd\u7edd\u5b50\u300214 \u4e2a lab \u4f1a\u8ba9\u4f60\u81ea\u5df1\u5b9e\u73b0\u8bfe\u4e0a\u6240\u8bb2\u7684\u7edd\u5927\u90e8\u5206\u6570\u636e\u7ed3\u6784\uff0c10 \u4e2a Homework \u4f1a\u8ba9\u4f60\u8fd0\u7528\u6570\u636e\u7ed3\u6784\u548c\u7b97\u6cd5\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff0c \u53e6\u5916\u8fd8\u6709 3 \u4e2a Project \u66f4\u662f\u8ba9\u4f60\u6709\u673a\u4f1a\u63a5\u89e6\u4e0a\u5343\u884c\u7684\u5de5\u7a0b\u4ee3\u7801\uff0c\u5728\u5b9e\u6218\u4e2d\u78e8\u7ec3\u81ea\u5df1\u7684 Java \u80fd\u529b\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://sp18.datastructur.es/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://sp18.datastructur.es/ \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u6bcf\u5e74\u7565\u6709\u4e0d\u540c\uff0c18 \u5e74\u6625\u5b63\u5b66\u671f\u6709 14 \u4e2a Lab\uff0c10 \u4e2a Homework\u4ee5\u53ca 3 \u4e2a Project\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS61B - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/","text":"CS189: Introduction to Machine Learning \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS188, CS70 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u6211\u6ca1\u6709\u7cfb\u7edf\u4e0a\u8fc7\uff0c\u53ea\u662f\u628a\u5b83\u7684\u8bfe\u7a0b notes \u4f5c\u4e3a\u5de5\u5177\u4e66\u67e5\u9605\u3002\u4e0d\u8fc7\u4ece\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u6765\u770b\uff0c\u5b83\u6bd4 CS229 \u597d\u7684\u662f\u5f00\u6e90\u4e86\u6240\u6709 homework \u7684\u4ee3\u7801\u4ee5\u53ca gradescope \u7684 autograder\u3002\u540c\u6837\uff0c\u8fd9\u95e8\u8bfe\u8bb2\u5f97\u76f8\u5f53\u7406\u8bba\u4e14\u6df1\u5165\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.eecs189.org/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/playlist?list=PLOOm2AoWIPEyZazQVnIcaK2KnezpGZV-X \u8bfe\u7a0b\u6559\u6750\uff1a https://www.eecs189.org/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://www.eecs189.org/","title":"UCB CS189: Introduction to Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/#cs189-introduction-to-machine-learning","text":"","title":"CS189: Introduction to Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS188, CS70 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u6211\u6ca1\u6709\u7cfb\u7edf\u4e0a\u8fc7\uff0c\u53ea\u662f\u628a\u5b83\u7684\u8bfe\u7a0b notes \u4f5c\u4e3a\u5de5\u5177\u4e66\u67e5\u9605\u3002\u4e0d\u8fc7\u4ece\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u6765\u770b\uff0c\u5b83\u6bd4 CS229 \u597d\u7684\u662f\u5f00\u6e90\u4e86\u6240\u6709 homework \u7684\u4ee3\u7801\u4ee5\u53ca gradescope \u7684 autograder\u3002\u540c\u6837\uff0c\u8fd9\u95e8\u8bfe\u8bb2\u5f97\u76f8\u5f53\u7406\u8bba\u4e14\u6df1\u5165\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.eecs189.org/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/playlist?list=PLOOm2AoWIPEyZazQVnIcaK2KnezpGZV-X \u8bfe\u7a0b\u6559\u6750\uff1a https://www.eecs189.org/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://www.eecs189.org/","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/","text":"CS229: Machine Learning \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u9ad8\u6570\uff0c\u6982\u7387\u8bba\uff0cPython\uff0c\u9700\u8981\u8f83\u6df1\u539a\u7684\u6570\u5b66\u529f\u5e95 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u540c\u6837\u662f\u5434\u6069\u8fbe\u8bb2\u6388\uff0c\u4f46\u662f\u8fd9\u662f\u4e00\u95e8\u7814\u7a76\u751f\u8bfe\u7a0b\uff0c\u6240\u4ee5\u66f4\u504f\u91cd\u6570\u5b66\u7406\u8bba\uff0c\u4e0d\u6ee1\u8db3\u4e8e\u8c03\u5305\u800c\u60f3\u6df1\u5165\u7406\u89e3\u7b97\u6cd5\u672c\u8d28\uff0c\u6216\u8005\u6709\u5fd7\u4e8e\u4ece\u4e8b\u673a\u5668\u5b66\u4e60\u7406\u8bba\u7814\u7a76\u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60\u8fd9\u95e8\u8bfe\u7a0b\u3002\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u63d0\u4f9b\u4e86\u6240\u6709\u7684\u8bfe\u7a0b notes\uff0c\u5199\u5f97\u975e\u5e38\u4e13\u4e1a\u4e14\u7406\u8bba\uff0c\u9700\u8981\u4e00\u5b9a\u7684\u6570\u5b66\u529f\u5e95\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://cs229.stanford.edu/syllabus.html \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1JE411w7Ub \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0\uff0c\u8bfe\u7a0b notes \u5199\u5f97\u975e\u5e38\u597d \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e0d\u5bf9\u516c\u4f17\u5f00\u653e \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS229 - GitHub \u4e2d\u3002","title":"Stanford CS229: Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#cs229-machine-learning","text":"","title":"CS229: Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u9ad8\u6570\uff0c\u6982\u7387\u8bba\uff0cPython\uff0c\u9700\u8981\u8f83\u6df1\u539a\u7684\u6570\u5b66\u529f\u5e95 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u540c\u6837\u662f\u5434\u6069\u8fbe\u8bb2\u6388\uff0c\u4f46\u662f\u8fd9\u662f\u4e00\u95e8\u7814\u7a76\u751f\u8bfe\u7a0b\uff0c\u6240\u4ee5\u66f4\u504f\u91cd\u6570\u5b66\u7406\u8bba\uff0c\u4e0d\u6ee1\u8db3\u4e8e\u8c03\u5305\u800c\u60f3\u6df1\u5165\u7406\u89e3\u7b97\u6cd5\u672c\u8d28\uff0c\u6216\u8005\u6709\u5fd7\u4e8e\u4ece\u4e8b\u673a\u5668\u5b66\u4e60\u7406\u8bba\u7814\u7a76\u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60\u8fd9\u95e8\u8bfe\u7a0b\u3002\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u63d0\u4f9b\u4e86\u6240\u6709\u7684\u8bfe\u7a0b notes\uff0c\u5199\u5f97\u975e\u5e38\u4e13\u4e1a\u4e14\u7406\u8bba\uff0c\u9700\u8981\u4e00\u5b9a\u7684\u6570\u5b66\u529f\u5e95\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://cs229.stanford.edu/syllabus.html \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1JE411w7Ub \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0\uff0c\u8bfe\u7a0b notes \u5199\u5f97\u975e\u5e38\u597d \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e0d\u5bf9\u516c\u4f17\u5f00\u653e","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS229 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/","text":"Coursera: Machine Learning \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aAI \u5165\u95e8 + \u719f\u7ec3\u4f7f\u7528 Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u8bf4\u8d77\u5434\u6069\u8fbe\uff0c\u5728 AI \u5c4a\u5e94\u8be5\u65e0\u4eba\u4e0d\u6653\u3002\u4ed6\u662f\u8457\u540d\u5728\u7ebf\u6559\u80b2\u5e73\u53f0 Coursera \u7684\u521b\u59cb\u4eba\u4e4b\u4e00\uff0c\u540c\u65f6\u4e5f\u662f Stanford \u7684\u7f51\u7ea2\u6559\u6388\u3002\u8fd9\u95e8\u673a\u5668\u5b66\u4e60\u5165\u95e8\u8bfe\u5e94\u8be5\u7b97\u5f97\u4e0a\u662f\u4ed6\u7684\u6210\u540d\u4f5c\u4e4b\u4e00\uff08\u53e6\u4e00\u4e2a\u662f\u6df1\u5ea6\u5b66\u4e60\u8bfe\u7a0b\uff09\uff0c\u5728 Coursera \u4e0a\u62e5\u6709\u6570\u5341\u4e07\u7684\u5b66\u4e60\u8005\uff08\u6ce8\u610f\u8fd9\u662f\u82b1\u94b1\u4e70\u4e86\u8bc1\u4e66\u7684\u4eba\uff0c\u4e00\u4e2a\u8bc1\u4e66\u51e0\u767e\u5200\uff09\uff0c\u767d\u5ad6\u5b66\u4e60\u8005\u6570\u91cf\u5e94\u8be5\u662f\u53e6\u4e00\u4e2a\u6570\u91cf\u7ea7\u4e86\u3002 \u8fd9\u95e8\u8bfe\u5bf9\u65b0\u624b\u6781\u5176\u53cb\u597d\uff0c\u5434\u6069\u8fbe\u62e5\u6709\u628a\u673a\u5668\u5b66\u4e60\u8bb2\u6210 1+1=2 \u4e00\u6837\u76f4\u767d\u7684\u80fd\u529b\u3002\u4f60\u5c06\u4f1a\u5b66\u4e60\u5230\u7ebf\u6027\u56de\u5f52\u3001\u903b\u8f91\u56de\u5f52\u3001\u652f\u6301\u5411\u91cf\u673a\u3001\u65e0\u76d1\u7763\u5b66\u4e60\u3001\u964d\u7ef4\u3001\u5f02\u5e38\u68c0\u6d4b\u548c\u63a8\u8350\u7cfb\u7edf\u7b49\u7b49\u77e5\u8bc6\uff0c\u5e76\u4e14\u5728\u7f16\u7a0b\u5b9e\u8df5\u4e2d\u592f\u5b9e\u81ea\u5df1\u7684\u7406\u89e3\u3002\u4f5c\u4e1a\u8d28\u91cf\u81ea\u7136\u4e0d\u5fc5\u591a\u8a00\uff0c\u4fdd\u59c6\u7ea7\u4ee3\u7801\u6846\u67b6\uff0c\u4f5c\u4e1a\u80cc\u666f\u4e5f\u591a\u53d6\u81ea\u751f\u6d3b\uff0c\u8ba9\u4eba\u5b66\u4ee5\u81f4\u7528\u3002 \u5f53\u7136\uff0c\u8fd9\u95e8\u8bfe\u4f5c\u4e3a\u4e00\u4e2a\u516c\u5f00\u6155\u8bfe\uff0c\u96be\u5ea6\u4e0a\u523b\u610f\u653e\u4f4e\u4e86\u4e9b\uff0c\u5f88\u591a\u6570\u5b66\u63a8\u5bfc\u5927\u591a\u4e00\u5e26\u800c\u8fc7\uff0c\u5982\u679c\u4f60\u6709\u5fd7\u4e8e\u4ece\u4e8b\u673a\u5668\u5b66\u4e60\u7406\u8bba\u7814\u7a76\uff0c\u60f3\u8981\u6df1\u7a76\u8fd9\u4e9b\u7b97\u6cd5\u80cc\u540e\u7684\u6570\u5b66\u7406\u8bba\uff0c\u53ef\u4ee5\u53c2\u8003 CS229 \u548c CS189 \u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.coursera.org/learn/machine-learning \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b \u5f53\u65f6\u91cd\u88c5\u7cfb\u7edf\u8bef\u5220\u4e86\u6587\u4ef6\uff0c\u6211\u7684\u4ee3\u7801\u5b9e\u73b0\u6d88\u5931\u5728\u4e86\u78c1\u76d8\u7684 01 \u4e32\u4e2d\u3002\u4e0d\u8fc7\u8fd9\u95e8\u8bfe\u7531\u4e8e\u592a\u8fc7\u51fa\u540d\uff0c\u7f51\u4e0a\u60f3\u641c\u4e0d\u5230\u7b54\u6848\u90fd\u96be\uff0c\u76f8\u5173\u8bfe\u7a0b\u8d44\u6599 Coursera \u4e0a\u4e5f\u4e00\u5e94\u4ff1\u5168\u3002","title":"Coursera: Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#coursera-machine-learning","text":"","title":"Coursera: Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aAI \u5165\u95e8 + \u719f\u7ec3\u4f7f\u7528 Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u8bf4\u8d77\u5434\u6069\u8fbe\uff0c\u5728 AI \u5c4a\u5e94\u8be5\u65e0\u4eba\u4e0d\u6653\u3002\u4ed6\u662f\u8457\u540d\u5728\u7ebf\u6559\u80b2\u5e73\u53f0 Coursera \u7684\u521b\u59cb\u4eba\u4e4b\u4e00\uff0c\u540c\u65f6\u4e5f\u662f Stanford \u7684\u7f51\u7ea2\u6559\u6388\u3002\u8fd9\u95e8\u673a\u5668\u5b66\u4e60\u5165\u95e8\u8bfe\u5e94\u8be5\u7b97\u5f97\u4e0a\u662f\u4ed6\u7684\u6210\u540d\u4f5c\u4e4b\u4e00\uff08\u53e6\u4e00\u4e2a\u662f\u6df1\u5ea6\u5b66\u4e60\u8bfe\u7a0b\uff09\uff0c\u5728 Coursera \u4e0a\u62e5\u6709\u6570\u5341\u4e07\u7684\u5b66\u4e60\u8005\uff08\u6ce8\u610f\u8fd9\u662f\u82b1\u94b1\u4e70\u4e86\u8bc1\u4e66\u7684\u4eba\uff0c\u4e00\u4e2a\u8bc1\u4e66\u51e0\u767e\u5200\uff09\uff0c\u767d\u5ad6\u5b66\u4e60\u8005\u6570\u91cf\u5e94\u8be5\u662f\u53e6\u4e00\u4e2a\u6570\u91cf\u7ea7\u4e86\u3002 \u8fd9\u95e8\u8bfe\u5bf9\u65b0\u624b\u6781\u5176\u53cb\u597d\uff0c\u5434\u6069\u8fbe\u62e5\u6709\u628a\u673a\u5668\u5b66\u4e60\u8bb2\u6210 1+1=2 \u4e00\u6837\u76f4\u767d\u7684\u80fd\u529b\u3002\u4f60\u5c06\u4f1a\u5b66\u4e60\u5230\u7ebf\u6027\u56de\u5f52\u3001\u903b\u8f91\u56de\u5f52\u3001\u652f\u6301\u5411\u91cf\u673a\u3001\u65e0\u76d1\u7763\u5b66\u4e60\u3001\u964d\u7ef4\u3001\u5f02\u5e38\u68c0\u6d4b\u548c\u63a8\u8350\u7cfb\u7edf\u7b49\u7b49\u77e5\u8bc6\uff0c\u5e76\u4e14\u5728\u7f16\u7a0b\u5b9e\u8df5\u4e2d\u592f\u5b9e\u81ea\u5df1\u7684\u7406\u89e3\u3002\u4f5c\u4e1a\u8d28\u91cf\u81ea\u7136\u4e0d\u5fc5\u591a\u8a00\uff0c\u4fdd\u59c6\u7ea7\u4ee3\u7801\u6846\u67b6\uff0c\u4f5c\u4e1a\u80cc\u666f\u4e5f\u591a\u53d6\u81ea\u751f\u6d3b\uff0c\u8ba9\u4eba\u5b66\u4ee5\u81f4\u7528\u3002 \u5f53\u7136\uff0c\u8fd9\u95e8\u8bfe\u4f5c\u4e3a\u4e00\u4e2a\u516c\u5f00\u6155\u8bfe\uff0c\u96be\u5ea6\u4e0a\u523b\u610f\u653e\u4f4e\u4e86\u4e9b\uff0c\u5f88\u591a\u6570\u5b66\u63a8\u5bfc\u5927\u591a\u4e00\u5e26\u800c\u8fc7\uff0c\u5982\u679c\u4f60\u6709\u5fd7\u4e8e\u4ece\u4e8b\u673a\u5668\u5b66\u4e60\u7406\u8bba\u7814\u7a76\uff0c\u60f3\u8981\u6df1\u7a76\u8fd9\u4e9b\u7b97\u6cd5\u80cc\u540e\u7684\u6570\u5b66\u7406\u8bba\uff0c\u53ef\u4ee5\u53c2\u8003 CS229 \u548c CS189 \u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.coursera.org/learn/machine-learning \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#_3","text":"\u5f53\u65f6\u91cd\u88c5\u7cfb\u7edf\u8bef\u5220\u4e86\u6587\u4ef6\uff0c\u6211\u7684\u4ee3\u7801\u5b9e\u73b0\u6d88\u5931\u5728\u4e86\u78c1\u76d8\u7684 01 \u4e32\u4e2d\u3002\u4e0d\u8fc7\u8fd9\u95e8\u8bfe\u7531\u4e8e\u592a\u8fc7\u51fa\u540d\uff0c\u7f51\u4e0a\u60f3\u641c\u4e0d\u5230\u7b54\u6848\u90fd\u96be\uff0c\u76f8\u5173\u8bfe\u7a0b\u8d44\u6599 Coursera \u4e0a\u4e5f\u4e00\u5e94\u4ff1\u5168\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/","text":"\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u4e2d\u56fd\u79d1\u5b66\u9662\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784\uff0c\u6df1\u5ea6\u5b66\u4e60 \u7f16\u7a0b\u8bed\u8a00\uff1aPython, C++, BCL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6+ \u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u662f\u667a\u80fd\u7684\u6838\u5fc3\u7269\u8d28\u8f7d\u4f53\uff0c\u6bcf\u5e74\u5168\u7403\u8981\u5236\u9020\u6570\u4ee5\u5341\u4ebf\u8ba1\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u5305\u62ec\u667a\u80fd\u624b\u673a\u3001\u667a\u80fd\u670d\u52a1\u5668\u3001\u667a\u80fd\u53ef\u7a7f\u6234\u8bbe\u5907\u7b49\uff09\uff0c\u9700\u8981\u5927\u91cf\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8bbe\u8ba1\u8005\u548c\u5f00\u53d1\u8005\u3002\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u4eba\u624d\u7684\u57f9\u517b\u76f4\u63a5\u5173\u7cfb\u5230\u6211\u56fd\u667a\u80fd\u4ea7\u4e1a\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002\u56e0\u6b64\uff0c\u5bf9\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8ba4\u8bc6\u548c\u7406\u89e3\u662f\u667a\u80fd\u65f6\u4ee3\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u57f9\u517b\u65b9\u6848\u4e2d\u4e0d\u53ef\u6216\u7f3a\u7684\u91cd\u8981\u7ec4\u6210\u90e8\u5206\uff0c\u662f\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002 \u56fd\u5185\u7684\u9648\u4e91\u9701\u8001\u5e08\u5f00\u7684\u8bfe\uff0c\u5728\u5176\u4ed6\u82e5\u5e72\u4e2a\u5927\u5b66\u4e5f\u90fd\u6709\u5f00\u5bf9\u5e94\u7684\u8bfe\u7a0b\u3002\u8fd9\u95e8\u8bfe\u7528\u4e00\u4e2a\u4e2a\u5b9e\u9a8c\u5e26\u5927\u5bb6\u4ee5\u4e00\u4e2a\u5b8c\u6574\u7684\u89c6\u91ce\u7406\u89e3\u4eba\u5de5\u667a\u80fd\u7684\u6280\u672f\u6808\u3002\u4ece\u4e0a\u5c42\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5230\u7528\u5e95\u5c42\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\uff0c\u518d\u5230\u786c\u4ef6\u4e2d MLU \u7684\u8bbe\u8ba1\uff0c\u8ba9\u5927\u5bb6\u5f62\u6210\u7cfb\u7edf\u601d\u7ef4\uff0c\u4f53\u4f1a\u81ea\u4e0a\u800c\u4e0b\uff0c\u878d\u4f1a\u8d2f\u901a\u7684\u4e50\u8da3\u3002 \u6211\u505a\u4e86\u5176\u4e2d\u7684 2,3,4,5 \u8fd9\u51e0\u4e2a\u5b9e\u9a8c\uff0c\u5176\u4e2d\u7efc\u5408\u5b9e\u9a8c\u548c\u786c\u4ef6\u5b9e\u9a8c\u6ca1\u6709\u505a\uff0c\u5982\u679c\u6709\u505a\u4e86\u7684\u540c\u5b66\u6b22\u8fce\u5927\u5bb6\u8865\u4e0a\u4f60\u7684\u94fe\u63a5\u3002 \u4e2a\u4eba\u4f53\u4f1a\u662f\u7b2c\u4e09\u7ae0\u5b9e\u73b0\u7b97\u5b50\u7684\u5b9e\u9a8c\u8ba9\u6211\u5bf9\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u7684\u4e86\u89e3\u52a0\u6df1\u4e86\u5f88\u591a\u3002\u7b2c\u4e94\u7ae0\u7684\u5b9e\u9a8cBCL\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\u5982\u679c\u4e86\u89e3 CUDA \u7684\u8bdd\u4f1a\u611f\u89c9\u5f88\u719f\u6089\u3002 \u63a8\u8350\u53bb\u4e70\u4e00\u672c\u6559\u6750\u770b\u4e00\u770b\uff0c\u4f1a\u8ba9\u6211\u4eec\u7406\u89e3\u6574\u4f53\u7684\u6280\u672f\u6808\u3002\u719f\u6089\u6df1\u5ea6\u5b66\u4e60\u7684\u540c\u5b66\u53ef\u4ee5\u76f4\u63a5\u4ece\u7b2c\u4e94\u7ae0\u5f00\u59cb\u770b\uff0c\u770b\u770b\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u5e95\u5c42\u5230\u5e95\u662f\u4ec0\u4e48\u6837\u7684\u3002 \u6211\u56e0\u4e3a\u8fd9\u95e8\u8bfe\u7684\u542f\u53d1\uff0c\u53c2\u8003\u4e00\u672c\u4e66\uff08\u4e66\u540d\u5728\u4ed3\u5e93\u4e2d\uff09\u5199\u4e86\u4e00\u4e2a\u7b80\u6613\u7684 \u6df1\u5ea6\u5b66\u4e60\u6846\u67b6 \u3002\u5728\u8fd9\u4e2a\u6846\u67b6\u91cc\u53ef\u4ee5\u770b\u5230\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u5b9e\u9a8c\u4e2d\u7684\u4e00\u4e9b\u5f71\u5b50\u3002\u540c\u65f6\u53d7\u5230 build-your-own-x \u7cfb\u5217\u7684\u542f\u53d1\uff0c\u6211\u4e5f\u6253\u7b97\u5199\u4e00\u4e0b\u6559\u7a0b\uff0c\u6559\u5927\u5bb6\u5199\u4e00\u4e2a\u81ea\u5df1\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u3002\u4ee3\u7801\u7528 Python \u5199\u7684\uff0c\u4ee3\u7801\u91cf\u8f83\u5c11\uff0c\u9002\u5408\u6709\u4e00\u5b9a\u57fa\u7840\u7684\u540c\u5b66\u9605\u8bfb\u3002\u4e4b\u540e\u6253\u7b97\u6dfb\u52a0\u66f4\u591a\u7684\u7b97\u5b50\uff0c\u6709\u671b\u5b9e\u73b0\u4e00\u4e2a\u8f83\u4e3a\u5168\u9762\u7684\u6846\u67b6\uff0c\u5e76\u5e0c\u671b\u79fb\u690d\u5230 C++ \u4e2d\uff0c\u4ee5\u517c\u987e\u6027\u80fd\u4e0e\u5f00\u53d1\u6548\u7387\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a \u5b98\u7f51 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u8bfe\u7a0b\u6559\u6750\uff1a\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u9648\u4e91\u9701\uff09 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a6 \u4e2a\u5b9e\u9a8c(\u5305\u62ec\u7f16\u5199\u5377\u79ef\u7b97\u5b50\uff0c\u4e3a TensorFlow \u6dfb\u52a0\u7b97\u5b50\uff0c\u7528 BCL \u7f16\u5199\u7b97\u5b50\u5e76\u96c6\u6210\u5230 TensorFlow \u4e2d\u7b49)(\u5177\u4f53\u5185\u5bb9\u5728\u5b98\u7f51\u53ef\u4ee5\u627e\u5230) \u5b9e\u9a8c\u624b\u518c\uff1a \u5b9e\u9a8c 2.0 \u6307\u5bfc\u624b\u518c \u5b66\u4e60\u7b14\u8bb0\uff1a https://sanzo.top/categories/AI-Computing-Systems/ \uff0c\u53c2\u8003\u5b9e\u9a8c\u624b\u518c\u603b\u7ed3\u7684\u7b14\u8bb0 \u8d44\u6e90\u6c47\u603b @ysj1173886760 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 ysj1173886760/Learning: ai-system - GitHub \u4e2d\u3002","title":"\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/#_1","text":"","title":"\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/#_2","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u4e2d\u56fd\u79d1\u5b66\u9662\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784\uff0c\u6df1\u5ea6\u5b66\u4e60 \u7f16\u7a0b\u8bed\u8a00\uff1aPython, C++, BCL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6+ \u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u662f\u667a\u80fd\u7684\u6838\u5fc3\u7269\u8d28\u8f7d\u4f53\uff0c\u6bcf\u5e74\u5168\u7403\u8981\u5236\u9020\u6570\u4ee5\u5341\u4ebf\u8ba1\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u5305\u62ec\u667a\u80fd\u624b\u673a\u3001\u667a\u80fd\u670d\u52a1\u5668\u3001\u667a\u80fd\u53ef\u7a7f\u6234\u8bbe\u5907\u7b49\uff09\uff0c\u9700\u8981\u5927\u91cf\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8bbe\u8ba1\u8005\u548c\u5f00\u53d1\u8005\u3002\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u4eba\u624d\u7684\u57f9\u517b\u76f4\u63a5\u5173\u7cfb\u5230\u6211\u56fd\u667a\u80fd\u4ea7\u4e1a\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002\u56e0\u6b64\uff0c\u5bf9\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8ba4\u8bc6\u548c\u7406\u89e3\u662f\u667a\u80fd\u65f6\u4ee3\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u57f9\u517b\u65b9\u6848\u4e2d\u4e0d\u53ef\u6216\u7f3a\u7684\u91cd\u8981\u7ec4\u6210\u90e8\u5206\uff0c\u662f\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002 \u56fd\u5185\u7684\u9648\u4e91\u9701\u8001\u5e08\u5f00\u7684\u8bfe\uff0c\u5728\u5176\u4ed6\u82e5\u5e72\u4e2a\u5927\u5b66\u4e5f\u90fd\u6709\u5f00\u5bf9\u5e94\u7684\u8bfe\u7a0b\u3002\u8fd9\u95e8\u8bfe\u7528\u4e00\u4e2a\u4e2a\u5b9e\u9a8c\u5e26\u5927\u5bb6\u4ee5\u4e00\u4e2a\u5b8c\u6574\u7684\u89c6\u91ce\u7406\u89e3\u4eba\u5de5\u667a\u80fd\u7684\u6280\u672f\u6808\u3002\u4ece\u4e0a\u5c42\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5230\u7528\u5e95\u5c42\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\uff0c\u518d\u5230\u786c\u4ef6\u4e2d MLU \u7684\u8bbe\u8ba1\uff0c\u8ba9\u5927\u5bb6\u5f62\u6210\u7cfb\u7edf\u601d\u7ef4\uff0c\u4f53\u4f1a\u81ea\u4e0a\u800c\u4e0b\uff0c\u878d\u4f1a\u8d2f\u901a\u7684\u4e50\u8da3\u3002 \u6211\u505a\u4e86\u5176\u4e2d\u7684 2,3,4,5 \u8fd9\u51e0\u4e2a\u5b9e\u9a8c\uff0c\u5176\u4e2d\u7efc\u5408\u5b9e\u9a8c\u548c\u786c\u4ef6\u5b9e\u9a8c\u6ca1\u6709\u505a\uff0c\u5982\u679c\u6709\u505a\u4e86\u7684\u540c\u5b66\u6b22\u8fce\u5927\u5bb6\u8865\u4e0a\u4f60\u7684\u94fe\u63a5\u3002 \u4e2a\u4eba\u4f53\u4f1a\u662f\u7b2c\u4e09\u7ae0\u5b9e\u73b0\u7b97\u5b50\u7684\u5b9e\u9a8c\u8ba9\u6211\u5bf9\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u7684\u4e86\u89e3\u52a0\u6df1\u4e86\u5f88\u591a\u3002\u7b2c\u4e94\u7ae0\u7684\u5b9e\u9a8cBCL\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\u5982\u679c\u4e86\u89e3 CUDA \u7684\u8bdd\u4f1a\u611f\u89c9\u5f88\u719f\u6089\u3002 \u63a8\u8350\u53bb\u4e70\u4e00\u672c\u6559\u6750\u770b\u4e00\u770b\uff0c\u4f1a\u8ba9\u6211\u4eec\u7406\u89e3\u6574\u4f53\u7684\u6280\u672f\u6808\u3002\u719f\u6089\u6df1\u5ea6\u5b66\u4e60\u7684\u540c\u5b66\u53ef\u4ee5\u76f4\u63a5\u4ece\u7b2c\u4e94\u7ae0\u5f00\u59cb\u770b\uff0c\u770b\u770b\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u5e95\u5c42\u5230\u5e95\u662f\u4ec0\u4e48\u6837\u7684\u3002 \u6211\u56e0\u4e3a\u8fd9\u95e8\u8bfe\u7684\u542f\u53d1\uff0c\u53c2\u8003\u4e00\u672c\u4e66\uff08\u4e66\u540d\u5728\u4ed3\u5e93\u4e2d\uff09\u5199\u4e86\u4e00\u4e2a\u7b80\u6613\u7684 \u6df1\u5ea6\u5b66\u4e60\u6846\u67b6 \u3002\u5728\u8fd9\u4e2a\u6846\u67b6\u91cc\u53ef\u4ee5\u770b\u5230\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u5b9e\u9a8c\u4e2d\u7684\u4e00\u4e9b\u5f71\u5b50\u3002\u540c\u65f6\u53d7\u5230 build-your-own-x \u7cfb\u5217\u7684\u542f\u53d1\uff0c\u6211\u4e5f\u6253\u7b97\u5199\u4e00\u4e0b\u6559\u7a0b\uff0c\u6559\u5927\u5bb6\u5199\u4e00\u4e2a\u81ea\u5df1\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u3002\u4ee3\u7801\u7528 Python \u5199\u7684\uff0c\u4ee3\u7801\u91cf\u8f83\u5c11\uff0c\u9002\u5408\u6709\u4e00\u5b9a\u57fa\u7840\u7684\u540c\u5b66\u9605\u8bfb\u3002\u4e4b\u540e\u6253\u7b97\u6dfb\u52a0\u66f4\u591a\u7684\u7b97\u5b50\uff0c\u6709\u671b\u5b9e\u73b0\u4e00\u4e2a\u8f83\u4e3a\u5168\u9762\u7684\u6846\u67b6\uff0c\u5e76\u5e0c\u671b\u79fb\u690d\u5230 C++ \u4e2d\uff0c\u4ee5\u517c\u987e\u6027\u80fd\u4e0e\u5f00\u53d1\u6548\u7387\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/#_3","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a \u5b98\u7f51 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u8bfe\u7a0b\u6559\u6750\uff1a\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u9648\u4e91\u9701\uff09 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a6 \u4e2a\u5b9e\u9a8c(\u5305\u62ec\u7f16\u5199\u5377\u79ef\u7b97\u5b50\uff0c\u4e3a TensorFlow \u6dfb\u52a0\u7b97\u5b50\uff0c\u7528 BCL \u7f16\u5199\u7b97\u5b50\u5e76\u96c6\u6210\u5230 TensorFlow \u4e2d\u7b49)(\u5177\u4f53\u5185\u5bb9\u5728\u5b98\u7f51\u53ef\u4ee5\u627e\u5230) \u5b9e\u9a8c\u624b\u518c\uff1a \u5b9e\u9a8c 2.0 \u6307\u5bfc\u624b\u518c \u5b66\u4e60\u7b14\u8bb0\uff1a https://sanzo.top/categories/AI-Computing-Systems/ \uff0c\u53c2\u8003\u5b9e\u9a8c\u624b\u518c\u603b\u7ed3\u7684\u7b14\u8bb0","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/#_4","text":"@ysj1173886760 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 ysj1173886760/Learning: ai-system - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/","text":"CMU 10-414/714: Deep Learning Systems \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1a\u7cfb\u7edf\u5165\u95e8(eg.15-213)\u3001\u6df1\u5ea6\u5b66\u4e60\u5165\u95e8\u3001\u57fa\u672c\u7684\u6570\u5b66\u77e5\u8bc6 \u7f16\u7a0b\u8bed\u8a00\uff1aPython, C++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u6df1\u5ea6\u5b66\u4e60\u7684\u5feb\u901f\u53d1\u5c55\u548c\u5e7f\u6cdb\u4f7f\u7528\u5f88\u5927\u7a0b\u5ea6\u4e0a\u5f97\u76ca\u4e8e\u4e00\u7cfb\u5217\u7b80\u5355\u597d\u7528\u4e14\u5f3a\u5927\u7684\u7f16\u7a0b\u6846\u67b6\uff0c\u4f8b\u5982 Pytorch \u548c Tensorflow \u7b49\u7b49\u3002\u4f46\u5927\u591a\u6570\u4ece\u4e1a\u8005\u53ea\u662f\u8fd9\u4e9b\u6846\u67b6\u7684\u201c\u8c03\u5305\u4fa0\u201d\uff0c\u5bf9\u4e8e\u8fd9\u4e9b\u6846\u67b6\u5185\u90e8\u7684\u7ec6\u8282\u5b9e\u73b0\u5374\u4e86\u89e3\u751a\u5c11\u3002\u5982\u679c\u4f60\u5e0c\u671b\u4ece\u4e8b\u6df1\u5ea6\u5b66\u4e60\u5e95\u5c42\u6846\u67b6\u7684\u5f00\u53d1\uff0c\u6216\u8005\u53ea\u662f\u50cf\u6211\u4e00\u6837\u597d\u5947\u8fd9\u4e9b\u6846\u67b6\u7684\u5185\u90e8\u5b9e\u73b0\uff0c\u90a3\u4e48\u8fd9\u95e8\u8bfe\u5c06\u4f1a\u662f\u4e00\u4e2a\u5f88\u597d\u7684\u8d77\u70b9\u3002 \u8bfe\u7a0b\u7684\u5185\u5bb9\u5927\u7eb2\u8986\u76d6\u4e86\u6df1\u5ea6\u5b66\u4e60\u7cfb\u7edf\u201c\u5168\u6808\u201d\u7684\u77e5\u8bc6\u4f53\u7cfb\u3002\u4ece\u73b0\u4ee3\u6df1\u5ea6\u5b66\u4e60\u7cfb\u7edf\u6846\u67b6\u7684\u9876\u5c42\u8bbe\u8ba1\uff0c\u5230\u81ea\u5fae\u5206\u7b97\u6cd5\u7684\u539f\u7406\u548c\u5b9e\u73b0\uff0c\u518d\u5230\u5e95\u5c42\u786c\u4ef6\u52a0\u901f\u548c\u5b9e\u9645\u751f\u4ea7\u90e8\u7f72\u3002\u4e3a\u4e86\u66f4\u597d\u5730\u638c\u63e1\u7406\u8bba\u77e5\u8bc6\uff0c\u5b66\u751f\u5c06\u4f1a\u57285\u4e2a\u8bfe\u7a0b\u4f5c\u4e1a\u4e2d\u4ece\u5934\u5f00\u59cb\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b8c\u6574\u7684\u6df1\u5ea6\u5b66\u4e60\u5e93 Needle\uff0c\u4f7f\u5176\u80fd\u5bf9\u8ba1\u7b97\u56fe\u8fdb\u884c\u81ea\u52a8\u5fae\u5206\uff0c\u80fd\u5728 GPU \u4e0a\u5b9e\u73b0\u786c\u4ef6\u52a0\u901f\uff0c\u5e76\u4e14\u652f\u6301\u5404\u7c7b\u635f\u5931\u51fd\u6570\u3001\u6570\u636e\u52a0\u8f7d\u5668\u548c\u4f18\u5316\u5668\u3002\u5728\u6b64\u57fa\u7840\u4e0a\uff0c\u5b66\u751f\u5c06\u5b9e\u73b0\u51e0\u7c7b\u5e38\u89c1\u7684\u795e\u7ecf\u7f51\u7edc\uff0c\u5305\u62ec CNN\uff0cRNN\uff0cLSTM\uff0cTransformer \u7b49\u7b49\u3002 \u5373\u4f7f\u4f60\u662f\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u7684\u5c0f\u767d\u4e5f\u4e0d\u5fc5\u8fc7\u4e8e\u62c5\u5fc3\uff0c\u8bfe\u7a0b\u5c06\u4f1a\u5faa\u5e8f\u6e10\u8fdb\u5730\u4ece\u7b80\u5355\u5206\u7c7b\u95ee\u9898\u548c\u53cd\u5411\u4f20\u64ad\u4f18\u5316\u8bb2\u8d77\uff0c\u4e00\u4e9b\u76f8\u5bf9\u590d\u6742\u7684\u795e\u7ecf\u7f51\u7edc\u90fd\u4f1a\u6709\u914d\u5957\u7684 jupyter notebook \u8be6\u7ec6\u5730\u63cf\u8ff0\u5b9e\u73b0\u7ec6\u8282\u3002\u5982\u679c\u4f60\u6709\u4e00\u5b9a\u7684\u76f8\u5173\u57fa\u7840\u77e5\u8bc6\uff0c\u90a3\u4e48\u5728\u5b66\u4e60\u5b8c\u81ea\u5fae\u5206\u90e8\u5206\u7684\u5185\u5bb9\u4e4b\u540e\u4fbf\u53ef\u4ee5\u76f4\u63a5\u4e0a\u624b\u8bfe\u7a0b\u4f5c\u4e1a\uff0c\u96be\u5ea6\u867d\u7136\u4e0d\u5927\u4f46\u76f8\u4fe1\u4e00\u5b9a\u4f1a\u7ed9\u4f60\u5e26\u6765\u65b0\u7684\u7406\u89e3\u3002 \u8fd9\u95e8\u8bfe\u4e24\u4f4d\u6388\u8bfe\u6559\u5e08 Zico Kolter \u548c Tianqi Chen \u5c06\u6240\u6709\u8bfe\u7a0b\u5185\u5bb9\u90fd\u53d1\u5e03\u4e86\u5bf9\u5e94\u7684\u5f00\u6e90\u7248\u672c\uff0c\u4f46\u5728\u7ebf\u8bc4\u6d4b\u8d26\u53f7\u548c\u8bfe\u7a0b\u8bba\u575b\u7684\u6ce8\u518c\u65f6\u95f4\u5df2\u7ecf\u7ed3\u675f\uff0c\u53ea\u5269\u4e0b\u6846\u67b6\u4ee3\u7801\u91cc\u7684\u672c\u5730\u6d4b\u8bd5\u4f9b\u5927\u5bb6\u8c03\u8bd5\u4ee3\u7801\u3002\u6216\u8bb8\u53ef\u4ee5\u671f\u5f85\u660e\u5e74\u79cb\u5b63\u5b66\u671f\u7684\u8bfe\u7a0b\u8fd8\u4f1a\u53d1\u5e03\u76f8\u5e94\u7684\u5728\u7ebf\u7248\u672c\u4f9b\u5927\u5bb6\u5b66\u4e60\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://dlsyscourse.org \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=qbJqOFMyIwg \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://dlsyscourse.org/assignments/ \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CMU10-714 - GitHub \u4e2d\u3002","title":"CMU 10-414/714: Deep Learning Systems"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/#cmu-10-414714-deep-learning-systems","text":"","title":"CMU 10-414/714: Deep Learning Systems"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1a\u7cfb\u7edf\u5165\u95e8(eg.15-213)\u3001\u6df1\u5ea6\u5b66\u4e60\u5165\u95e8\u3001\u57fa\u672c\u7684\u6570\u5b66\u77e5\u8bc6 \u7f16\u7a0b\u8bed\u8a00\uff1aPython, C++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u6df1\u5ea6\u5b66\u4e60\u7684\u5feb\u901f\u53d1\u5c55\u548c\u5e7f\u6cdb\u4f7f\u7528\u5f88\u5927\u7a0b\u5ea6\u4e0a\u5f97\u76ca\u4e8e\u4e00\u7cfb\u5217\u7b80\u5355\u597d\u7528\u4e14\u5f3a\u5927\u7684\u7f16\u7a0b\u6846\u67b6\uff0c\u4f8b\u5982 Pytorch \u548c Tensorflow \u7b49\u7b49\u3002\u4f46\u5927\u591a\u6570\u4ece\u4e1a\u8005\u53ea\u662f\u8fd9\u4e9b\u6846\u67b6\u7684\u201c\u8c03\u5305\u4fa0\u201d\uff0c\u5bf9\u4e8e\u8fd9\u4e9b\u6846\u67b6\u5185\u90e8\u7684\u7ec6\u8282\u5b9e\u73b0\u5374\u4e86\u89e3\u751a\u5c11\u3002\u5982\u679c\u4f60\u5e0c\u671b\u4ece\u4e8b\u6df1\u5ea6\u5b66\u4e60\u5e95\u5c42\u6846\u67b6\u7684\u5f00\u53d1\uff0c\u6216\u8005\u53ea\u662f\u50cf\u6211\u4e00\u6837\u597d\u5947\u8fd9\u4e9b\u6846\u67b6\u7684\u5185\u90e8\u5b9e\u73b0\uff0c\u90a3\u4e48\u8fd9\u95e8\u8bfe\u5c06\u4f1a\u662f\u4e00\u4e2a\u5f88\u597d\u7684\u8d77\u70b9\u3002 \u8bfe\u7a0b\u7684\u5185\u5bb9\u5927\u7eb2\u8986\u76d6\u4e86\u6df1\u5ea6\u5b66\u4e60\u7cfb\u7edf\u201c\u5168\u6808\u201d\u7684\u77e5\u8bc6\u4f53\u7cfb\u3002\u4ece\u73b0\u4ee3\u6df1\u5ea6\u5b66\u4e60\u7cfb\u7edf\u6846\u67b6\u7684\u9876\u5c42\u8bbe\u8ba1\uff0c\u5230\u81ea\u5fae\u5206\u7b97\u6cd5\u7684\u539f\u7406\u548c\u5b9e\u73b0\uff0c\u518d\u5230\u5e95\u5c42\u786c\u4ef6\u52a0\u901f\u548c\u5b9e\u9645\u751f\u4ea7\u90e8\u7f72\u3002\u4e3a\u4e86\u66f4\u597d\u5730\u638c\u63e1\u7406\u8bba\u77e5\u8bc6\uff0c\u5b66\u751f\u5c06\u4f1a\u57285\u4e2a\u8bfe\u7a0b\u4f5c\u4e1a\u4e2d\u4ece\u5934\u5f00\u59cb\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b8c\u6574\u7684\u6df1\u5ea6\u5b66\u4e60\u5e93 Needle\uff0c\u4f7f\u5176\u80fd\u5bf9\u8ba1\u7b97\u56fe\u8fdb\u884c\u81ea\u52a8\u5fae\u5206\uff0c\u80fd\u5728 GPU \u4e0a\u5b9e\u73b0\u786c\u4ef6\u52a0\u901f\uff0c\u5e76\u4e14\u652f\u6301\u5404\u7c7b\u635f\u5931\u51fd\u6570\u3001\u6570\u636e\u52a0\u8f7d\u5668\u548c\u4f18\u5316\u5668\u3002\u5728\u6b64\u57fa\u7840\u4e0a\uff0c\u5b66\u751f\u5c06\u5b9e\u73b0\u51e0\u7c7b\u5e38\u89c1\u7684\u795e\u7ecf\u7f51\u7edc\uff0c\u5305\u62ec CNN\uff0cRNN\uff0cLSTM\uff0cTransformer \u7b49\u7b49\u3002 \u5373\u4f7f\u4f60\u662f\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u7684\u5c0f\u767d\u4e5f\u4e0d\u5fc5\u8fc7\u4e8e\u62c5\u5fc3\uff0c\u8bfe\u7a0b\u5c06\u4f1a\u5faa\u5e8f\u6e10\u8fdb\u5730\u4ece\u7b80\u5355\u5206\u7c7b\u95ee\u9898\u548c\u53cd\u5411\u4f20\u64ad\u4f18\u5316\u8bb2\u8d77\uff0c\u4e00\u4e9b\u76f8\u5bf9\u590d\u6742\u7684\u795e\u7ecf\u7f51\u7edc\u90fd\u4f1a\u6709\u914d\u5957\u7684 jupyter notebook \u8be6\u7ec6\u5730\u63cf\u8ff0\u5b9e\u73b0\u7ec6\u8282\u3002\u5982\u679c\u4f60\u6709\u4e00\u5b9a\u7684\u76f8\u5173\u57fa\u7840\u77e5\u8bc6\uff0c\u90a3\u4e48\u5728\u5b66\u4e60\u5b8c\u81ea\u5fae\u5206\u90e8\u5206\u7684\u5185\u5bb9\u4e4b\u540e\u4fbf\u53ef\u4ee5\u76f4\u63a5\u4e0a\u624b\u8bfe\u7a0b\u4f5c\u4e1a\uff0c\u96be\u5ea6\u867d\u7136\u4e0d\u5927\u4f46\u76f8\u4fe1\u4e00\u5b9a\u4f1a\u7ed9\u4f60\u5e26\u6765\u65b0\u7684\u7406\u89e3\u3002 \u8fd9\u95e8\u8bfe\u4e24\u4f4d\u6388\u8bfe\u6559\u5e08 Zico Kolter \u548c Tianqi Chen \u5c06\u6240\u6709\u8bfe\u7a0b\u5185\u5bb9\u90fd\u53d1\u5e03\u4e86\u5bf9\u5e94\u7684\u5f00\u6e90\u7248\u672c\uff0c\u4f46\u5728\u7ebf\u8bc4\u6d4b\u8d26\u53f7\u548c\u8bfe\u7a0b\u8bba\u575b\u7684\u6ce8\u518c\u65f6\u95f4\u5df2\u7ecf\u7ed3\u675f\uff0c\u53ea\u5269\u4e0b\u6846\u67b6\u4ee3\u7801\u91cc\u7684\u672c\u5730\u6d4b\u8bd5\u4f9b\u5927\u5bb6\u8c03\u8bd5\u4ee3\u7801\u3002\u6216\u8bb8\u53ef\u4ee5\u671f\u5f85\u660e\u5e74\u79cb\u5b63\u5b66\u671f\u7684\u8bfe\u7a0b\u8fd8\u4f1a\u53d1\u5e03\u76f8\u5e94\u7684\u5728\u7ebf\u7248\u672c\u4f9b\u5927\u5bb6\u5b66\u4e60\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://dlsyscourse.org \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=qbJqOFMyIwg \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://dlsyscourse.org/assignments/","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CMU10-714 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/MLC/","text":"Machine Learning Compilation \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aBilibili \u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60/\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u662f\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u9886\u57df\u7684\u9876\u5c16\u5b66\u8005\u9648\u5929\u5947\u57282022\u5e74\u6691\u671f\u5f00\u8bbe\u7684\u4e00\u95e8\u5728\u7ebf\u8bfe\u7a0b\u3002\u5176\u5b9e\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u65e0\u8bba\u5728\u5de5\u4e1a\u754c\u8fd8\u662f\u5b66\u672f\u754c\u4ecd\u7136\u662f\u4e00\u4e2a\u975e\u5e38\u524d\u6cbf\u4e14\u5feb\u901f\u66f4\u8fed\u7684\u9886\u57df\uff0c\u56fd\u5185\u5916\u6b64\u524d\u8fd8\u6ca1\u6709\u4e3a\u8fd9\u4e2a\u65b9\u5411\u4e13\u95e8\u5f00\u8bbe\u7684\u76f8\u5173\u8bfe\u7a0b\u3002\u56e0\u6b64\u5982\u679c\u5bf9\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u611f\u5174\u8da3\u60f3\u6709\u4e2a\u5168\u8c8c\u6027\u7684\u611f\u77e5\u7684\u8bdd\uff0c\u53ef\u4ee5\u5b66\u4e60\u4e00\u4e0b\u8fd9\u95e8\u8bfe\u3002 \u672c\u8bfe\u7a0b\u4e3b\u8981\u4ee5 Apache TVM \u8fd9\u4e00\u4e3b\u6d41\u7684\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u6846\u67b6\u4e3a\u4f8b\uff08\u9648\u5929\u5947\u662f\u8fd9\u4e2a\u6846\u67b6\u7684\u521b\u59cb\u4eba\u4e4b\u4e00\uff09\uff0c\u805a\u7126\u4e8e\u5982\u4f55\u5c06\u5f00\u53d1\u6a21\u5f0f\u4e0b\uff08\u5982 Tensorflow, Pytorch, Jax\uff09\u7684\u5404\u7c7b\u673a\u5668\u5b66\u4e60\u6a21\u578b\uff0c\u901a\u8fc7\u4e00\u5957\u666e\u9002\u7684\u62bd\u8c61\u548c\u4f18\u5316\u7b97\u6cd5\uff0c\u53d8\u6362\u4e3a\u62e5\u6709\u66f4\u9ad8\u6027\u80fd\u5e76\u4e14\u9002\u914d\u5404\u7c7b\u5e95\u5c42\u786c\u4ef6\u7684\u90e8\u7f72\u6a21\u5f0f\u3002\u8bfe\u7a0b\u8bb2\u6388\u7684\u77e5\u8bc6\u70b9\u90fd\u662f\u76f8\u5bf9 High-Level \u7684\u5b8f\u89c2\u6982\u5ff5\uff0c\u540c\u65f6\u6bcf\u8282\u8bfe\u90fd\u4f1a\u6709\u4e00\u4e2a\u914d\u5957\u7684 Jupyter Notebook \u6765\u901a\u8fc7\u5177\u4f53\u7684\u4ee3\u7801\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u56e0\u6b64\u5982\u679c\u4ece\u4e8b TVM \u76f8\u5173\u7684\u7f16\u7a0b\u5f00\u53d1\u7684\u8bdd\uff0c\u8fd9\u95e8\u8bfe\u6709\u4e30\u5bcc\u4e14\u89c4\u8303\u7684\u4ee3\u7801\u793a\u4f8b\u4ee5\u4f9b\u53c2\u8003\u3002 \u6240\u6709\u7684\u8bfe\u7a0b\u8d44\u6e90\u5168\u90e8\u5f00\u6e90\u5e76\u4e14\u6709\u4e2d\u6587\u548c\u82f1\u6587\u4e24\u4e2a\u7248\u672c\uff0cB\u7ad9\u548c\u6cb9\u7ba1\u5206\u522b\u6709\u4e2d\u6587\u548c\u82f1\u6587\u7684\u8bfe\u7a0b\u5f55\u5f71\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://mlc.ai/summer22-zh/ \u8bfe\u7a0b\u89c6\u9891\uff1a Bilibili \u8bfe\u7a0b\u7b14\u8bb0\uff1a https://mlc.ai/zh/index.html \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://github.com/mlc-ai/notebooks/blob/main/assignment","title":"Machine Learning Compilation"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/MLC/#machine-learning-compilation","text":"","title":"Machine Learning Compilation"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/MLC/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aBilibili \u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60/\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u662f\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u9886\u57df\u7684\u9876\u5c16\u5b66\u8005\u9648\u5929\u5947\u57282022\u5e74\u6691\u671f\u5f00\u8bbe\u7684\u4e00\u95e8\u5728\u7ebf\u8bfe\u7a0b\u3002\u5176\u5b9e\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u65e0\u8bba\u5728\u5de5\u4e1a\u754c\u8fd8\u662f\u5b66\u672f\u754c\u4ecd\u7136\u662f\u4e00\u4e2a\u975e\u5e38\u524d\u6cbf\u4e14\u5feb\u901f\u66f4\u8fed\u7684\u9886\u57df\uff0c\u56fd\u5185\u5916\u6b64\u524d\u8fd8\u6ca1\u6709\u4e3a\u8fd9\u4e2a\u65b9\u5411\u4e13\u95e8\u5f00\u8bbe\u7684\u76f8\u5173\u8bfe\u7a0b\u3002\u56e0\u6b64\u5982\u679c\u5bf9\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u611f\u5174\u8da3\u60f3\u6709\u4e2a\u5168\u8c8c\u6027\u7684\u611f\u77e5\u7684\u8bdd\uff0c\u53ef\u4ee5\u5b66\u4e60\u4e00\u4e0b\u8fd9\u95e8\u8bfe\u3002 \u672c\u8bfe\u7a0b\u4e3b\u8981\u4ee5 Apache TVM \u8fd9\u4e00\u4e3b\u6d41\u7684\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u6846\u67b6\u4e3a\u4f8b\uff08\u9648\u5929\u5947\u662f\u8fd9\u4e2a\u6846\u67b6\u7684\u521b\u59cb\u4eba\u4e4b\u4e00\uff09\uff0c\u805a\u7126\u4e8e\u5982\u4f55\u5c06\u5f00\u53d1\u6a21\u5f0f\u4e0b\uff08\u5982 Tensorflow, Pytorch, Jax\uff09\u7684\u5404\u7c7b\u673a\u5668\u5b66\u4e60\u6a21\u578b\uff0c\u901a\u8fc7\u4e00\u5957\u666e\u9002\u7684\u62bd\u8c61\u548c\u4f18\u5316\u7b97\u6cd5\uff0c\u53d8\u6362\u4e3a\u62e5\u6709\u66f4\u9ad8\u6027\u80fd\u5e76\u4e14\u9002\u914d\u5404\u7c7b\u5e95\u5c42\u786c\u4ef6\u7684\u90e8\u7f72\u6a21\u5f0f\u3002\u8bfe\u7a0b\u8bb2\u6388\u7684\u77e5\u8bc6\u70b9\u90fd\u662f\u76f8\u5bf9 High-Level \u7684\u5b8f\u89c2\u6982\u5ff5\uff0c\u540c\u65f6\u6bcf\u8282\u8bfe\u90fd\u4f1a\u6709\u4e00\u4e2a\u914d\u5957\u7684 Jupyter Notebook \u6765\u901a\u8fc7\u5177\u4f53\u7684\u4ee3\u7801\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u56e0\u6b64\u5982\u679c\u4ece\u4e8b TVM \u76f8\u5173\u7684\u7f16\u7a0b\u5f00\u53d1\u7684\u8bdd\uff0c\u8fd9\u95e8\u8bfe\u6709\u4e30\u5bcc\u4e14\u89c4\u8303\u7684\u4ee3\u7801\u793a\u4f8b\u4ee5\u4f9b\u53c2\u8003\u3002 \u6240\u6709\u7684\u8bfe\u7a0b\u8d44\u6e90\u5168\u90e8\u5f00\u6e90\u5e76\u4e14\u6709\u4e2d\u6587\u548c\u82f1\u6587\u4e24\u4e2a\u7248\u672c\uff0cB\u7ad9\u548c\u6cb9\u7ba1\u5206\u522b\u6709\u4e2d\u6587\u548c\u82f1\u6587\u7684\u8bfe\u7a0b\u5f55\u5f71\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/MLC/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://mlc.ai/summer22-zh/ \u8bfe\u7a0b\u89c6\u9891\uff1a Bilibili \u8bfe\u7a0b\u7b14\u8bb0\uff1a https://mlc.ai/zh/index.html \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://github.com/mlc-ai/notebooks/blob/main/assignment","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/","text":"CMU 10-708: Probabilistic Graphical Models \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://sailinglab.github.io/pgm-spring-2019/ \u8fd9\u4e2a\u7f51\u7ad9\u5305\u542b\u4e86\u6240\u6709\u7684\u8d44\u6e90\uff1aslides, nots, video, homework, project \u8fd9\u95e8\u8bfe\u7a0b\u662f CMU \u7684\u56fe\u6a21\u578b\u57fa\u7840 + \u8fdb\u9636\u8bfe\uff0c\u6388\u8bfe\u8001\u5e08\u4e3a Eric P. Xing\uff0c\u6db5\u76d6\u4e86\u56fe\u6a21\u578b\u57fa\u7840\uff0c\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u5728\u5f3a\u5316\u5b66\u4e60\u4e2d\u7684\u5e94\u7528\uff0c\u4ee5\u53ca\u975e\u53c2\u6570\u65b9\u6cd5\u3002\u76f8\u5f53\u786c\u6838","title":"CMU 10-708: Probabilistic Graphical Models"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/#cmu-10-708-probabilistic-graphical-models","text":"","title":"CMU 10-708: Probabilistic Graphical Models"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://sailinglab.github.io/pgm-spring-2019/ \u8fd9\u4e2a\u7f51\u7ad9\u5305\u542b\u4e86\u6240\u6709\u7684\u8d44\u6e90\uff1aslides, nots, video, homework, project \u8fd9\u95e8\u8bfe\u7a0b\u662f CMU \u7684\u56fe\u6a21\u578b\u57fa\u7840 + \u8fdb\u9636\u8bfe\uff0c\u6388\u8bfe\u8001\u5e08\u4e3a Eric P. Xing\uff0c\u6db5\u76d6\u4e86\u56fe\u6a21\u578b\u57fa\u7840\uff0c\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u5728\u5f3a\u5316\u5b66\u4e60\u4e2d\u7684\u5e94\u7528\uff0c\u4ee5\u53ca\u975e\u53c2\u6570\u65b9\u6cd5\u3002\u76f8\u5f53\u786c\u6838","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/","text":"STATS214 / CS229M: Machine Learning Theory \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Statistics \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/stats214/ \u7ecf\u5178\u5b66\u4e60\u7406\u8bba + \u6700\u65b0\u6df1\u5ea6\u5b66\u4e60\u7406\u8bba\uff0c\u975e\u5e38\u786c\u6838\u3002\u6388\u8bfe\u8001\u5e08\u4e4b\u524d\u662f Percy Liang\uff0c\u73b0\u5728\u662f Tengyu Ma","title":"Stanford STATS214 / CS229M: Machine Learning Theory"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/#stats214-cs229m-machine-learning-theory","text":"","title":"STATS214 / CS229M: Machine Learning Theory"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Statistics \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/stats214/ \u7ecf\u5178\u5b66\u4e60\u7406\u8bba + \u6700\u65b0\u6df1\u5ea6\u5b66\u4e60\u7406\u8bba\uff0c\u975e\u5e38\u786c\u6838\u3002\u6388\u8bfe\u8001\u5e08\u4e4b\u524d\u662f Percy Liang\uff0c\u73b0\u5728\u662f Tengyu Ma","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/","text":"STA 4273 Winter 2021: Minimizing Expectations \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aU Toronto \u5148\u4fee\u8981\u6c42\uff1aBayesian Inference, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.cs.toronto.edu/~cmaddis/courses/sta4273_w21/ \u8fd9\u662f\u4e00\u95e8\u8f83\u4e3a\u8fdb\u9636\u7684 Ph.D. \u7814\u7a76\u8bfe\u7a0b\uff0c\u6838\u5fc3\u5185\u5bb9\u662f inference \u548c control \u4e4b\u95f4\u7684\u5173\u7cfb\u3002\u6388\u8bfe\u8001\u5e08\u4e3a Chris Maddison (AlphaGo founding member, NeurIPS 14 best paper)","title":"U Toronto STA 4273 Winter 2021: Minimizing Expectations"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/#sta-4273-winter-2021-minimizing-expectations","text":"","title":"STA 4273 Winter 2021: Minimizing Expectations"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aU Toronto \u5148\u4fee\u8981\u6c42\uff1aBayesian Inference, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.cs.toronto.edu/~cmaddis/courses/sta4273_w21/ \u8fd9\u662f\u4e00\u95e8\u8f83\u4e3a\u8fdb\u9636\u7684 Ph.D. \u7814\u7a76\u8bfe\u7a0b\uff0c\u6838\u5fc3\u5185\u5bb9\u662f inference \u548c control \u4e4b\u95f4\u7684\u5173\u7cfb\u3002\u6388\u8bfe\u8001\u5e08\u4e3a Chris Maddison (AlphaGo founding member, NeurIPS 14 best paper)","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/","text":"Columbia STAT 8201: Deep Generative Models \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aColumbia University \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Graphical Models \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://stat.columbia.edu/~cunningham/teaching/GR8201/ \u8fd9\u95e8\u8bfe\u662f\u4e00\u95e8 PhD \u8ba8\u8bba\u73ed\uff0c\u6bcf\u5468\u7684\u5185\u5bb9\u662f\u5c55\u793a + \u8ba8\u8bba\u8bba\u6587\uff0c\u6388\u8bfe\u8001\u5e08\u662f John Cunningham\u3002Deep Generative Models \uff08\u6df1\u5ea6\u751f\u6210\u6a21\u578b\uff09 \u662f\u56fe\u6a21\u578b\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u4e5f\u662f\u73b0\u4ee3\u673a\u5668\u5b66\u4e60\u6700\u91cd\u8981\u7684\u65b9\u5411\u4e4b\u4e00","title":"Columbia STAT 8201: Deep Generative Models"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/#columbia-stat-8201-deep-generative-models","text":"","title":"Columbia STAT 8201: Deep Generative Models"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aColumbia University \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Graphical Models \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://stat.columbia.edu/~cunningham/teaching/GR8201/ \u8fd9\u95e8\u8bfe\u662f\u4e00\u95e8 PhD \u8ba8\u8bba\u73ed\uff0c\u6bcf\u5468\u7684\u5185\u5bb9\u662f\u5c55\u793a + \u8ba8\u8bba\u8bba\u6587\uff0c\u6388\u8bfe\u8001\u5e08\u662f John Cunningham\u3002Deep Generative Models \uff08\u6df1\u5ea6\u751f\u6210\u6a21\u578b\uff09 \u662f\u56fe\u6a21\u578b\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u4e5f\u662f\u73b0\u4ee3\u673a\u5668\u5b66\u4e60\u6700\u91cd\u8981\u7684\u65b9\u5411\u4e4b\u4e00","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/","text":"\u673a\u5668\u5b66\u4e60\u8fdb\u9636 \u6b64\u8def\u7ebf\u56fe\u9002\u7528\u4e8e\u5df2\u7ecf\u5b66\u8fc7\u4e86\u57fa\u7840\u673a\u5668\u5b66\u4e60 (ML, NLP, CV, RL) \u7684\u540c\u5b66 (\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u6216\u4f4e\u5e74\u7ea7\u7814\u7a76\u751f)\uff0c\u5df2\u7ecf\u53d1\u8868\u8fc7\u81f3\u5c11\u4e00\u7bc7\u9876\u4f1a\u8bba\u6587 (NeurIPS, ICML, ICLR, ACL, EMNLP, NAACL, CVPR, ICCV) \u60f3\u8981\u8d70\u673a\u5668\u5b66\u4e60\u79d1\u7814\u8def\u7ebf\u7684\u9009\u624b\u3002 \u6b64\u8def\u7ebf\u7684\u76ee\u6807\u662f\u4e3a\u8bfb\u61c2\u4e0e\u53d1\u8868\u673a\u5668\u5b66\u4e60\u9876\u4f1a\u8bba\u6587\u6253\u4e0b\u7406\u8bba\u57fa\u7840\uff0c\u7279\u522b\u662f Probabilistic Methods \u8fd9\u4e2a track \u4e0b\u7684\u6587\u7ae0 \u673a\u5668\u5b66\u4e60\u8fdb\u9636\u53ef\u80fd\u5b58\u5728\u591a\u79cd\u4e0d\u540c\u7684\u5b66\u4e60\u8def\u7ebf\uff0c\u6b64\u8def\u7ebf\u53ea\u80fd\u4ee3\u8868\u4f5c\u8005 Yao Fu \u6240\u7406\u89e3\u7684\u6700\u4f73\u8def\u5f84\uff0c\u4fa7\u91cd\u4e8e\u8d1d\u53f6\u65af\u5b66\u6d3e\u4e0b\u7684\u6982\u7387\u5efa\u6a21\u65b9\u6cd5\uff0c\u4e5f\u4f1a\u6d89\u53ca\u5230\u5404\u9879\u76f8\u5173\u5b66\u79d1\u7684\u4ea4\u53c9\u77e5\u8bc6\u3002 \u5fc5\u8bfb\u6559\u6750 PRML: Pattern Recognition and Machine Learning. Christopher Bishop \u7ecf\u5178\u8d1d\u53f6\u65af\u5b66\u6d3e\u6559\u6750 AoS: All of Statistics. Larry Wasserman \u7ecf\u5178\u9891\u7387\u5b66\u6d3e\u6559\u6750 \u6240\u4ee5\u8fd9\u4e24\u672c\u4e66\u521a\u597d\u76f8\u8f85\u76f8\u6210 \u5b57\u5178 MLAPP: Machine Learning: A Probabilistic Perspective. Kevin Murphy Convex Optimization. Stephen Boyd and Lieven Vandenberghe \u8fdb\u9636\u4e66\u7c4d W&J: Graphical Models, Exponential Families, and Variational Inference. Martin Wainwright and Michael Jordan Theory of Point Estimation. E. L. Lehmann and George Casella \u5982\u4f55\u9605\u8bfb Guidelines \u5fc5\u8bfb\u6559\u6750\u5c31\u662f\u4e00\u5b9a\u8981\u8bfb\u7684\u6559\u6750 \u5b57\u5178\u7684\u610f\u601d\u662f\uff0c\u4e00\u822c\u60c5\u51b5\u4e0b\u4e0d\u7ba1\u5b83\uff0c\u4f46\u5f53\u9047\u5230\u4e86\u4e0d\u61c2\u7684\u6982\u5ff5\u7684\u65f6\u5019\uff0c\u5c31\u53bb\u5b57\u5178\u91cc\u9762\u67e5\uff08\u800c\u4e0d\u662f\u7ef4\u57fa\u767e\u79d1\uff09 \u8fdb\u9636\u4e66\u7c4d\u5148\u4e0d\u8bfb\uff0c\u5148\u8bfb\u5b8c\u5fc5\u8bfb\u4e66\u7c4d\u3002\u5fc5\u8bfb\u4e66\u7c4d\u4e00\u822c\u90fd\u662f\u8981\u524d\u524d\u540e\u540e\u53cd\u590d\u770b\u8fc7 N \u904d\u624d\u7b97\u8bfb\u5b8c \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6700\u91cd\u8981\u7684\u8bfb\u6cd5\u5c31\u662f\u5bf9\u6bd4\u9605\u8bfb (contrastive-comparative reading)\uff1a\u540c\u65f6\u6253\u5f00\u4e24\u672c\u4e66\u8bb2\u540c\u4e00\u4e3b\u9898\u7684\u7ae0\u8282\uff0c\u7136\u540e\u5bf9\u6bd4\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u5c3d\u91cf\u53bb\u56de\u60f3\u4e4b\u524d\u8bfb\u8fc7\u7684\u8bba\u6587\uff0c\u6bd4\u8f83\u8bba\u6587\u548c\u6559\u6750\u7684\u76f8\u540c\u70b9\u4e0e\u4e0d\u540c\u70b9 \u57fa\u7840\u8def\u5f84 \u5148\u8bfb AoS \u7b2c\u516d\u7ae0: Models, Statistical Inference and Learning\uff0c\u8fd9\u4e00\u90e8\u5206\u662f\u6700\u57fa\u7840\u7684\u79d1\u666e \u7136\u540e\u8bfb PRML \u7b2c 10, 11 \u7ae0 \u7b2c 10 \u7ae0\u7684\u5185\u5bb9\u662f Variational Inference, \u7b2c 11 \u7ae0\u7684\u5185\u5bb9\u662f MCMC, \u8fd9\u4e24\u79cd\u65b9\u6cd5\u662f\u8d1d\u53f6\u65af\u63a8\u65ad\u7684\u4e24\u6761\u6700\u4e3b\u8981\u8def\u7ebf \u5982\u679c\u5728\u8bfb PRML \u7684\u8fc7\u7a0b\u4e2d\u53d1\u73b0\u6709\u4efb\u4f55\u4e0d\u61c2\u7684\u540d\u8bcd\uff0c\u5c31\u53bb\u7ffb\u524d\u9762\u7684\u7ae0\u8282\u3002\u5f88\u5927\u6982\u7387\u80fd\u591f\u5728\u7b2c 3\uff0c4 \u7ae0\u627e\u5230\u76f8\u5bf9\u5e94\u7684\u5b9a\u4e49\uff1b\u5982\u679c\u627e\u4e0d\u5230\u6216\u8005\u4e0d\u591f\u8be6\u7ec6\uff0c\u5c31\u53bb\u67e5 MLAPP AoS \u7b2c 8 \u7ae0 (Parametric Inference) \u548c\u7b2c 11 \u7ae0 (Bayesian Inference) \u4e5f\u53ef\u4ee5\u4f5c\u4e3a\u53c2\u8003\u3002\u6700\u597d\u7684\u65b9\u6cd5\u662f\u591a\u672c\u4e66\u5bf9\u6bd4\u9605\u8bfb\uff0c\u6d41\u7a0b\u5982\u4e0b \u5047\u8bbe\u6211\u5728\u8bfb PRML \u7b2c 10 \u7ae0\u7684\u65f6\u5019\u53d1\u73b0\u4e86\u4e00\u4e2a\u4e0d\u61c2\u7684\u8bcd\uff1aposterior inference \u4e8e\u662f\u6211\u5f80\u524d\u7ffb\uff0c\u7ffb\u5230\u4e86\u7b2c 3 \u7ae0 (Linear Model for Regression)\uff0c\u770b\u5230\u4e86\u6700\u7b80\u5355\u7684 posterior \u7136\u540e\u6211\u63a5\u7740\u7ffb AoS\uff0c\u7ffb\u5230\u4e86\u7b2c 11 \u7ae0\uff0c\u4e5f\u6709\u5bf9 posterior \u7684\u63cf\u8ff0 \u7136\u540e\u6211\u5bf9\u6bd4 PRML \u7b2c 10 \u7ae0\uff0c\u7b2c 3 \u7ae0\uff0cAoS \u7b2c 11 \u7ae0\uff0c\u4e09\u5904\u4e0d\u540c\u5730\u65b9\u5bf9 posterior \u7684\u89e3\u8bfb\uff0c\u6bd4\u8f83\u5176\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u5b8c PRML \u7b2c 10 \u548c 11 \u7ae0\u4e4b\u540e\uff0c\u63a5\u7740\u8bfb AoS \u7b2c 24 \u7ae0 (Simulation Methods)\uff0c\u7136\u540e\u628a\u5b83\u548c PRML \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb -- \u8fd9\u4fe9\u90fd\u662f\u8bb2 MCMC \u5982\u679c\u5230\u6b64\u5904\u53d1\u73b0\u8fd8\u6709\u57fa\u7840\u6982\u5ff5\u8bfb\u4e0d\u61c2\uff0c\u5c31\u56de\u5230 PRML \u7b2c 3 \u7ae0\uff0c\u628a\u5b83\u548c AoS \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb Again\uff0c\u5bf9\u6bd4\u9605\u8bfb\u975e\u5e38\u91cd\u8981\uff0c\u4e00\u5b9a\u8981\u628a\u4e0d\u540c\u672c\u4e66\u7684\u7c7b\u4f3c\u5185\u5bb9\u540c\u65f6\u6446\u5728\u9762\u524d\u76f8\u4e92\u5bf9\u6bd4\uff0c\u8fd9\u6837\u53ef\u4ee5\u663e\u8457\u589e\u5f3a\u8bb0\u5fc6 \u7136\u540e\u8bfb PRML \u7b2c 13 \u7ae0\uff08\u8df3\u8fc7\u7b2c 12 \u7ae0\uff09\uff0c\u8fd9\u4e00\u7ae0\u53ef\u4ee5\u548c MLAPP \u7684\u7b2c 17, 18 \u7ae0\u5bf9\u6bd4\u9605\u8bfb MLAPP \u7b2c 17 \u7ae0\u662f PRML \u7b2c 13.2 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 HMM MLAPP \u7b2c 18 \u7ae0\u662f PRML \u7b2c 13.3 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 LDS \u8bfb\u5b8c PRML \u7b2c 13 \u7ae0\u4e4b\u540e\uff0c\u518d\u53bb\u8bfb PRML \u7b2c 8 \u7ae0 (Graphical Models) -- \u6b64\u65f6\u8fd9\u90e8\u5206\u5e94\u8be5\u4f1a\u8bfb\u5f97\u5f88\u8f7b\u677e \u4ee5\u4e0a\u7684\u5185\u5bb9\u53ef\u4ee5\u8fdb\u4e00\u6b65\u5bf9\u7167 CMU 10-708 PGM \u8bfe\u7a0b\u6750\u6599 \u5230\u76ee\u524d\u4e3a\u6b62\uff0c\u5e94\u8be5\u80fd\u591f\u638c\u63e1 \u6982\u7387\u6a21\u578b\u7684\u57fa\u7840\u5b9a\u4e49 \u7cbe\u51c6\u63a8\u65ad - Sum-Product \u8fd1\u4f3c\u63a8\u65ad - MCMC \u8fd1\u4f3c\u63a8\u65ad - VI \u7136\u540e\u5c31\u53ef\u4ee5\u53bb\u505a\u66f4\u8fdb\u9636\u7684\u5185\u5bb9","title":"\u8fdb\u9636\u8def\u7ebf\u56fe"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_1","text":"\u6b64\u8def\u7ebf\u56fe\u9002\u7528\u4e8e\u5df2\u7ecf\u5b66\u8fc7\u4e86\u57fa\u7840\u673a\u5668\u5b66\u4e60 (ML, NLP, CV, RL) \u7684\u540c\u5b66 (\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u6216\u4f4e\u5e74\u7ea7\u7814\u7a76\u751f)\uff0c\u5df2\u7ecf\u53d1\u8868\u8fc7\u81f3\u5c11\u4e00\u7bc7\u9876\u4f1a\u8bba\u6587 (NeurIPS, ICML, ICLR, ACL, EMNLP, NAACL, CVPR, ICCV) \u60f3\u8981\u8d70\u673a\u5668\u5b66\u4e60\u79d1\u7814\u8def\u7ebf\u7684\u9009\u624b\u3002 \u6b64\u8def\u7ebf\u7684\u76ee\u6807\u662f\u4e3a\u8bfb\u61c2\u4e0e\u53d1\u8868\u673a\u5668\u5b66\u4e60\u9876\u4f1a\u8bba\u6587\u6253\u4e0b\u7406\u8bba\u57fa\u7840\uff0c\u7279\u522b\u662f Probabilistic Methods \u8fd9\u4e2a track \u4e0b\u7684\u6587\u7ae0 \u673a\u5668\u5b66\u4e60\u8fdb\u9636\u53ef\u80fd\u5b58\u5728\u591a\u79cd\u4e0d\u540c\u7684\u5b66\u4e60\u8def\u7ebf\uff0c\u6b64\u8def\u7ebf\u53ea\u80fd\u4ee3\u8868\u4f5c\u8005 Yao Fu \u6240\u7406\u89e3\u7684\u6700\u4f73\u8def\u5f84\uff0c\u4fa7\u91cd\u4e8e\u8d1d\u53f6\u65af\u5b66\u6d3e\u4e0b\u7684\u6982\u7387\u5efa\u6a21\u65b9\u6cd5\uff0c\u4e5f\u4f1a\u6d89\u53ca\u5230\u5404\u9879\u76f8\u5173\u5b66\u79d1\u7684\u4ea4\u53c9\u77e5\u8bc6\u3002","title":"\u673a\u5668\u5b66\u4e60\u8fdb\u9636"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_2","text":"PRML: Pattern Recognition and Machine Learning. Christopher Bishop \u7ecf\u5178\u8d1d\u53f6\u65af\u5b66\u6d3e\u6559\u6750 AoS: All of Statistics. Larry Wasserman \u7ecf\u5178\u9891\u7387\u5b66\u6d3e\u6559\u6750 \u6240\u4ee5\u8fd9\u4e24\u672c\u4e66\u521a\u597d\u76f8\u8f85\u76f8\u6210","title":"\u5fc5\u8bfb\u6559\u6750"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_3","text":"MLAPP: Machine Learning: A Probabilistic Perspective. Kevin Murphy Convex Optimization. Stephen Boyd and Lieven Vandenberghe","title":"\u5b57\u5178"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_4","text":"W&J: Graphical Models, Exponential Families, and Variational Inference. Martin Wainwright and Michael Jordan Theory of Point Estimation. E. L. Lehmann and George Casella","title":"\u8fdb\u9636\u4e66\u7c4d"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_5","text":"","title":"\u5982\u4f55\u9605\u8bfb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#guidelines","text":"\u5fc5\u8bfb\u6559\u6750\u5c31\u662f\u4e00\u5b9a\u8981\u8bfb\u7684\u6559\u6750 \u5b57\u5178\u7684\u610f\u601d\u662f\uff0c\u4e00\u822c\u60c5\u51b5\u4e0b\u4e0d\u7ba1\u5b83\uff0c\u4f46\u5f53\u9047\u5230\u4e86\u4e0d\u61c2\u7684\u6982\u5ff5\u7684\u65f6\u5019\uff0c\u5c31\u53bb\u5b57\u5178\u91cc\u9762\u67e5\uff08\u800c\u4e0d\u662f\u7ef4\u57fa\u767e\u79d1\uff09 \u8fdb\u9636\u4e66\u7c4d\u5148\u4e0d\u8bfb\uff0c\u5148\u8bfb\u5b8c\u5fc5\u8bfb\u4e66\u7c4d\u3002\u5fc5\u8bfb\u4e66\u7c4d\u4e00\u822c\u90fd\u662f\u8981\u524d\u524d\u540e\u540e\u53cd\u590d\u770b\u8fc7 N \u904d\u624d\u7b97\u8bfb\u5b8c \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6700\u91cd\u8981\u7684\u8bfb\u6cd5\u5c31\u662f\u5bf9\u6bd4\u9605\u8bfb (contrastive-comparative reading)\uff1a\u540c\u65f6\u6253\u5f00\u4e24\u672c\u4e66\u8bb2\u540c\u4e00\u4e3b\u9898\u7684\u7ae0\u8282\uff0c\u7136\u540e\u5bf9\u6bd4\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u5c3d\u91cf\u53bb\u56de\u60f3\u4e4b\u524d\u8bfb\u8fc7\u7684\u8bba\u6587\uff0c\u6bd4\u8f83\u8bba\u6587\u548c\u6559\u6750\u7684\u76f8\u540c\u70b9\u4e0e\u4e0d\u540c\u70b9","title":"Guidelines"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_6","text":"\u5148\u8bfb AoS \u7b2c\u516d\u7ae0: Models, Statistical Inference and Learning\uff0c\u8fd9\u4e00\u90e8\u5206\u662f\u6700\u57fa\u7840\u7684\u79d1\u666e \u7136\u540e\u8bfb PRML \u7b2c 10, 11 \u7ae0 \u7b2c 10 \u7ae0\u7684\u5185\u5bb9\u662f Variational Inference, \u7b2c 11 \u7ae0\u7684\u5185\u5bb9\u662f MCMC, \u8fd9\u4e24\u79cd\u65b9\u6cd5\u662f\u8d1d\u53f6\u65af\u63a8\u65ad\u7684\u4e24\u6761\u6700\u4e3b\u8981\u8def\u7ebf \u5982\u679c\u5728\u8bfb PRML \u7684\u8fc7\u7a0b\u4e2d\u53d1\u73b0\u6709\u4efb\u4f55\u4e0d\u61c2\u7684\u540d\u8bcd\uff0c\u5c31\u53bb\u7ffb\u524d\u9762\u7684\u7ae0\u8282\u3002\u5f88\u5927\u6982\u7387\u80fd\u591f\u5728\u7b2c 3\uff0c4 \u7ae0\u627e\u5230\u76f8\u5bf9\u5e94\u7684\u5b9a\u4e49\uff1b\u5982\u679c\u627e\u4e0d\u5230\u6216\u8005\u4e0d\u591f\u8be6\u7ec6\uff0c\u5c31\u53bb\u67e5 MLAPP AoS \u7b2c 8 \u7ae0 (Parametric Inference) \u548c\u7b2c 11 \u7ae0 (Bayesian Inference) \u4e5f\u53ef\u4ee5\u4f5c\u4e3a\u53c2\u8003\u3002\u6700\u597d\u7684\u65b9\u6cd5\u662f\u591a\u672c\u4e66\u5bf9\u6bd4\u9605\u8bfb\uff0c\u6d41\u7a0b\u5982\u4e0b \u5047\u8bbe\u6211\u5728\u8bfb PRML \u7b2c 10 \u7ae0\u7684\u65f6\u5019\u53d1\u73b0\u4e86\u4e00\u4e2a\u4e0d\u61c2\u7684\u8bcd\uff1aposterior inference \u4e8e\u662f\u6211\u5f80\u524d\u7ffb\uff0c\u7ffb\u5230\u4e86\u7b2c 3 \u7ae0 (Linear Model for Regression)\uff0c\u770b\u5230\u4e86\u6700\u7b80\u5355\u7684 posterior \u7136\u540e\u6211\u63a5\u7740\u7ffb AoS\uff0c\u7ffb\u5230\u4e86\u7b2c 11 \u7ae0\uff0c\u4e5f\u6709\u5bf9 posterior \u7684\u63cf\u8ff0 \u7136\u540e\u6211\u5bf9\u6bd4 PRML \u7b2c 10 \u7ae0\uff0c\u7b2c 3 \u7ae0\uff0cAoS \u7b2c 11 \u7ae0\uff0c\u4e09\u5904\u4e0d\u540c\u5730\u65b9\u5bf9 posterior \u7684\u89e3\u8bfb\uff0c\u6bd4\u8f83\u5176\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u5b8c PRML \u7b2c 10 \u548c 11 \u7ae0\u4e4b\u540e\uff0c\u63a5\u7740\u8bfb AoS \u7b2c 24 \u7ae0 (Simulation Methods)\uff0c\u7136\u540e\u628a\u5b83\u548c PRML \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb -- \u8fd9\u4fe9\u90fd\u662f\u8bb2 MCMC \u5982\u679c\u5230\u6b64\u5904\u53d1\u73b0\u8fd8\u6709\u57fa\u7840\u6982\u5ff5\u8bfb\u4e0d\u61c2\uff0c\u5c31\u56de\u5230 PRML \u7b2c 3 \u7ae0\uff0c\u628a\u5b83\u548c AoS \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb Again\uff0c\u5bf9\u6bd4\u9605\u8bfb\u975e\u5e38\u91cd\u8981\uff0c\u4e00\u5b9a\u8981\u628a\u4e0d\u540c\u672c\u4e66\u7684\u7c7b\u4f3c\u5185\u5bb9\u540c\u65f6\u6446\u5728\u9762\u524d\u76f8\u4e92\u5bf9\u6bd4\uff0c\u8fd9\u6837\u53ef\u4ee5\u663e\u8457\u589e\u5f3a\u8bb0\u5fc6 \u7136\u540e\u8bfb PRML \u7b2c 13 \u7ae0\uff08\u8df3\u8fc7\u7b2c 12 \u7ae0\uff09\uff0c\u8fd9\u4e00\u7ae0\u53ef\u4ee5\u548c MLAPP \u7684\u7b2c 17, 18 \u7ae0\u5bf9\u6bd4\u9605\u8bfb MLAPP \u7b2c 17 \u7ae0\u662f PRML \u7b2c 13.2 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 HMM MLAPP \u7b2c 18 \u7ae0\u662f PRML \u7b2c 13.3 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 LDS \u8bfb\u5b8c PRML \u7b2c 13 \u7ae0\u4e4b\u540e\uff0c\u518d\u53bb\u8bfb PRML \u7b2c 8 \u7ae0 (Graphical Models) -- \u6b64\u65f6\u8fd9\u90e8\u5206\u5e94\u8be5\u4f1a\u8bfb\u5f97\u5f88\u8f7b\u677e \u4ee5\u4e0a\u7684\u5185\u5bb9\u53ef\u4ee5\u8fdb\u4e00\u6b65\u5bf9\u7167 CMU 10-708 PGM \u8bfe\u7a0b\u6750\u6599 \u5230\u76ee\u524d\u4e3a\u6b62\uff0c\u5e94\u8be5\u80fd\u591f\u638c\u63e1 \u6982\u7387\u6a21\u578b\u7684\u57fa\u7840\u5b9a\u4e49 \u7cbe\u51c6\u63a8\u65ad - Sum-Product \u8fd1\u4f3c\u63a8\u65ad - MCMC \u8fd1\u4f3c\u63a8\u65ad - VI \u7136\u540e\u5c31\u53ef\u4ee5\u53bb\u505a\u66f4\u8fdb\u9636\u7684\u5185\u5bb9","title":"\u57fa\u7840\u8def\u5f84"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/","text":"CS224n: Natural Language Processing \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684 NLP \u5165\u95e8\u8bfe\u7a0b\uff0c\u7531\u81ea\u7136\u8bed\u8a00\u5904\u7406\u9886\u57df\u7684\u5de8\u4f6c Chris Manning \u9886\u8854\u6559\u6388\uff08word2vec \u7b97\u6cd5\u7684\u5f00\u521b\u8005\uff09\u3002\u5185\u5bb9\u8986\u76d6\u4e86\u8bcd\u5411\u91cf\u3001RNN\u3001LSTM\u3001Seq2Seq \u6a21\u578b\u3001\u673a\u5668\u7ffb\u8bd1\u3001\u6ce8\u610f\u529b\u673a\u5236\u3001Transformer \u7b49\u7b49 NLP \u9886\u57df\u7684\u6838\u5fc3\u77e5\u8bc6\u70b9\u3002 5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u96be\u5ea6\u5faa\u5e8f\u6e10\u8fdb\uff0c\u5206\u522b\u662f\u8bcd\u5411\u91cf\u3001word2vec \u7b97\u6cd5\u3001Dependency parsing\u3001\u673a\u5668\u7ffb\u8bd1\u4ee5\u53ca Transformer \u7684 fine-tune\u3002 \u6700\u7ec8\u7684\u5927\u4f5c\u4e1a\u662f\u5728 Stanford \u8457\u540d\u7684 SQuAD \u6570\u636e\u96c6\u4e0a\u8bad\u7ec3 QA \u6a21\u578b\uff0c\u6709\u5b66\u751f\u7684\u5927\u4f5c\u4e1a\u751a\u81f3\u76f4\u63a5\u53d1\u8868\u4e86\u9876\u4f1a\u8bba\u6587\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs224n/index.html \u8bfe\u7a0b\u89c6\u9891\uff1aB \u7ad9\u641c\u7d22 CS224n \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://web.stanford.edu/class/cs224n/index.html \uff0c5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a + 1 \u4e2a Final Project \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS224n - GitHub \u4e2d\u3002","title":"Stanford CS224n: Natural Language Processing"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#cs224n-natural-language-processing","text":"","title":"CS224n: Natural Language Processing"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684 NLP \u5165\u95e8\u8bfe\u7a0b\uff0c\u7531\u81ea\u7136\u8bed\u8a00\u5904\u7406\u9886\u57df\u7684\u5de8\u4f6c Chris Manning \u9886\u8854\u6559\u6388\uff08word2vec \u7b97\u6cd5\u7684\u5f00\u521b\u8005\uff09\u3002\u5185\u5bb9\u8986\u76d6\u4e86\u8bcd\u5411\u91cf\u3001RNN\u3001LSTM\u3001Seq2Seq \u6a21\u578b\u3001\u673a\u5668\u7ffb\u8bd1\u3001\u6ce8\u610f\u529b\u673a\u5236\u3001Transformer \u7b49\u7b49 NLP \u9886\u57df\u7684\u6838\u5fc3\u77e5\u8bc6\u70b9\u3002 5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u96be\u5ea6\u5faa\u5e8f\u6e10\u8fdb\uff0c\u5206\u522b\u662f\u8bcd\u5411\u91cf\u3001word2vec \u7b97\u6cd5\u3001Dependency parsing\u3001\u673a\u5668\u7ffb\u8bd1\u4ee5\u53ca Transformer \u7684 fine-tune\u3002 \u6700\u7ec8\u7684\u5927\u4f5c\u4e1a\u662f\u5728 Stanford \u8457\u540d\u7684 SQuAD \u6570\u636e\u96c6\u4e0a\u8bad\u7ec3 QA \u6a21\u578b\uff0c\u6709\u5b66\u751f\u7684\u5927\u4f5c\u4e1a\u751a\u81f3\u76f4\u63a5\u53d1\u8868\u4e86\u9876\u4f1a\u8bba\u6587\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs224n/index.html \u8bfe\u7a0b\u89c6\u9891\uff1aB \u7ad9\u641c\u7d22 CS224n \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://web.stanford.edu/class/cs224n/index.html \uff0c5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a + 1 \u4e2a Final Project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS224n - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/","text":"CS224w: Machine Learning with Graphs \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython, LaTeX \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684\u56fe\u795e\u7ecf\u7f51\u7edc\u5165\u95e8\u8bfe\uff0c\u8fd9\u95e8\u8bfe\u6211\u6ca1\u6709\u4e0a\u8fc7\uff0c\u4f46\u4f17\u591a\u505a GNN \u7684\u670b\u53cb\u90fd\u5411\u6211\u529b\u8350\u8fc7\u8fd9\u95e8\u8bfe\uff0c\u60f3\u5fc5 Stanford \u7684\u8bfe\u8d28\u91cf\u8fd8\u662f\u4e00\u5982\u65e2\u5f80\u5730\u6709\u4fdd\u8bc1\u7684\u3002\u53e6\u5916\u5c31\u662f\u8fd9\u95e8\u8bfe\u7684\u6388\u8bfe\u8001\u5e08\u975e\u5e38\u5e74\u8f7b\u5e05\u6c14:) \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs224w/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=JAB_plj2rbA \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://web.stanford.edu/class/cs224w/ \uff0c6 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c3 \u4e2a LaTeX \u4e66\u9762\u4f5c\u4e1a","title":"Stanford CS224w: Machine Learning with Graphs"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/#cs224w-machine-learning-with-graphs","text":"","title":"CS224w: Machine Learning with Graphs"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython, LaTeX \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684\u56fe\u795e\u7ecf\u7f51\u7edc\u5165\u95e8\u8bfe\uff0c\u8fd9\u95e8\u8bfe\u6211\u6ca1\u6709\u4e0a\u8fc7\uff0c\u4f46\u4f17\u591a\u505a GNN \u7684\u670b\u53cb\u90fd\u5411\u6211\u529b\u8350\u8fc7\u8fd9\u95e8\u8bfe\uff0c\u60f3\u5fc5 Stanford \u7684\u8bfe\u8d28\u91cf\u8fd8\u662f\u4e00\u5982\u65e2\u5f80\u5730\u6709\u4fdd\u8bc1\u7684\u3002\u53e6\u5916\u5c31\u662f\u8fd9\u95e8\u8bfe\u7684\u6388\u8bfe\u8001\u5e08\u975e\u5e38\u5e74\u8f7b\u5e05\u6c14:)","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs224w/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=JAB_plj2rbA \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://web.stanford.edu/class/cs224w/ \uff0c6 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c3 \u4e2a LaTeX \u4e66\u9762\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/","text":"Coursera: Deep Learning \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u5434\u6069\u8fbe\u5728 Coursera \u5f00\u8bbe\u7684\u53e6\u4e00\u95e8\u7f51\u7ea2\u8bfe\u7a0b\uff0c\u5b66\u4e60\u8005\u65e0\u6570\uff0c\u582a\u79f0\u5723\u7ecf\u7ea7\u7684\u6df1\u5ea6\u5b66\u4e60\u5165\u95e8\u8bfe\u3002\u6df1\u5165\u6d45\u51fa\u7684\u8bb2\u89e3\uff0c\u773c\u82b1\u7f2d\u4e71\u7684 Project\u3002\u4ece\u6700\u57fa\u7840\u7684\u795e\u7ecf\u7f51\u7edc\uff0c\u5230 CNN, RNN\uff0c\u518d\u5230\u6700\u8fd1\u5927\u70ed\u7684 Transformer\u3002\u5b66\u5b8c\u8fd9\u95e8\u8bfe\uff0c\u4f60\u5c06\u521d\u6b65\u638c\u63e1\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u5fc5\u5907\u7684\u77e5\u8bc6\u548c\u6280\u80fd\uff0c\u5e76\u4e14\u53ef\u4ee5\u5728 Kaggle \u4e2d\u53c2\u52a0\u81ea\u5df1\u611f\u5174\u8da3\u7684\u6bd4\u8d5b\uff0c\u5728\u5b9e\u8df5\u4e2d\u953b\u70bc\u81ea\u5df1\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.coursera.org/specializations/deep-learning \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.coursera.org/specializations/deep-learning \uff0cB\u7ad9\u6709\u642c\u8fd0 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://www.coursera.org/specializations/deep-learning","title":"Coursera: Deep Learning"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/#coursera-deep-learning","text":"","title":"Coursera: Deep Learning"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u5434\u6069\u8fbe\u5728 Coursera \u5f00\u8bbe\u7684\u53e6\u4e00\u95e8\u7f51\u7ea2\u8bfe\u7a0b\uff0c\u5b66\u4e60\u8005\u65e0\u6570\uff0c\u582a\u79f0\u5723\u7ecf\u7ea7\u7684\u6df1\u5ea6\u5b66\u4e60\u5165\u95e8\u8bfe\u3002\u6df1\u5165\u6d45\u51fa\u7684\u8bb2\u89e3\uff0c\u773c\u82b1\u7f2d\u4e71\u7684 Project\u3002\u4ece\u6700\u57fa\u7840\u7684\u795e\u7ecf\u7f51\u7edc\uff0c\u5230 CNN, RNN\uff0c\u518d\u5230\u6700\u8fd1\u5927\u70ed\u7684 Transformer\u3002\u5b66\u5b8c\u8fd9\u95e8\u8bfe\uff0c\u4f60\u5c06\u521d\u6b65\u638c\u63e1\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u5fc5\u5907\u7684\u77e5\u8bc6\u548c\u6280\u80fd\uff0c\u5e76\u4e14\u53ef\u4ee5\u5728 Kaggle \u4e2d\u53c2\u52a0\u81ea\u5df1\u611f\u5174\u8da3\u7684\u6bd4\u8d5b\uff0c\u5728\u5b9e\u8df5\u4e2d\u953b\u70bc\u81ea\u5df1\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.coursera.org/specializations/deep-learning \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.coursera.org/specializations/deep-learning \uff0cB\u7ad9\u6709\u642c\u8fd0 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://www.coursera.org/specializations/deep-learning","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/","text":"CS231n: CNN for Visual Recognition \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684 CV \u5165\u95e8\u8bfe\uff0c\u7531\u8ba1\u7b97\u673a\u9886\u57df\u7684\u5de8\u4f6c\u674e\u98de\u98de\u9662\u58eb\u9886\u8854\u6559\u6388\uff08CV \u9886\u57df\u5212\u65f6\u4ee3\u7684\u8457\u540d\u6570\u636e\u96c6 ImageNet \u7684\u7814\u7a76\u56e2\u961f\uff09\uff0c\u4f46\u5176\u5185\u5bb9\u76f8\u5bf9\u57fa\u7840\u4e14\u53cb\u597d\uff0c\u5982\u679c\u4e0a\u8fc7 CS230 \u7684\u8bdd\u53ef\u4ee5\u76f4\u63a5\u4e0a\u624b Project \u4f5c\u4e3a\u7ec3\u4e60\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://cs231n.stanford.edu/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1nJ411z7fe \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://cs231n.stanford.edu/schedule.html \uff0c3\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"Stanford CS231n: CNN for Visual Recognition"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/#cs231n-cnn-for-visual-recognition","text":"","title":"CS231n: CNN for Visual Recognition"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684 CV \u5165\u95e8\u8bfe\uff0c\u7531\u8ba1\u7b97\u673a\u9886\u57df\u7684\u5de8\u4f6c\u674e\u98de\u98de\u9662\u58eb\u9886\u8854\u6559\u6388\uff08CV \u9886\u57df\u5212\u65f6\u4ee3\u7684\u8457\u540d\u6570\u636e\u96c6 ImageNet \u7684\u7814\u7a76\u56e2\u961f\uff09\uff0c\u4f46\u5176\u5185\u5bb9\u76f8\u5bf9\u57fa\u7840\u4e14\u53cb\u597d\uff0c\u5982\u679c\u4e0a\u8fc7 CS230 \u7684\u8bdd\u53ef\u4ee5\u76f4\u63a5\u4e0a\u624b Project \u4f5c\u4e3a\u7ec3\u4e60\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://cs231n.stanford.edu/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1nJ411z7fe \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://cs231n.stanford.edu/schedule.html \uff0c3\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/","text":"CS285: Deep Reinforcement Learning \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS188, CS189 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 CS285 \u8fd9\u4e00\u8bfe\u7a0b\u73b0\u7531 Sergey Levine \u6559\u6388\u8bb2\u6388\uff0c\u8bfe\u7a0b\u5185\u5bb9\u8986\u76d6\u4e86\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u9886\u57df\u7684\u5404\u65b9\u9762\u5185\u5bb9\uff0c\u9002\u5408\u6709\u4e00\u5b9a\u673a\u5668\u5b66\u4e60\u57fa\u7840\u7684\u540c\u5b66\u8fdb\u884c\u5b66\u4e60\uff0c\u5177\u4f53\u8981\u6c42\u5305\u62ec\u4e86\u89e3\u9a6c\u5c14\u53ef\u592b\u51b3\u7b56\u8fc7\u7a0b\uff08MDP\uff09\u7b49\u3002\u6574\u95e8\u8bfe\u7a0b\u4e2d\u542b\u6709\u8f83\u591a\u7684\u516c\u5f0f\uff0c\u4e0a\u8bfe\u524d\u9700\u8981\u6709\u4e00\u5b9a\u7684\u5fc3\u7406\u51c6\u5907\u3002\u6b64\u5916\uff0c\u6559\u6388\u4f1a\u6839\u636e\u6bcf\u5e74\u6700\u65b0\u7684\u7814\u7a76\u8fdb\u5c55\u66f4\u65b0\u8bfe\u7a0b\u5185\u5bb9\u4ee5\u53ca\u4f5c\u4e1a\uff0c\u8bfe\u7a0b\u4e2d\u80fd\u611f\u53d7\u5230\u6559\u6388\u5c1d\u8bd5\u5c06\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u9886\u57df\u7684\u6240\u6709\u57fa\u7840\u77e5\u8bc6\u4ee5\u53ca\u6700\u8fd1\u7684\u53d1\u5c55\u5728\u77ed\u77ed\u7684\u6570\u8282\u8bfe\u4e2d\u8fdb\u884c\u4f20\u8fbe\u3002 \u6709\u5173\u8bfe\u7a0b\u5185\u5bb9\u83b7\u53d6\uff0c22Fall \u7684\u6388\u8bfe\u65b9\u5f0f\u4e3a\u8bfe\u524d\u89c2\u770b\u63d0\u524d\u5f55\u5236\u7684\u89c6\u9891\uff0c\u8bfe\u4e0a\u4e3b\u8981\u4e3a Q&A \u73af\u8282\uff0c\u6559\u6388\u9009\u62e9\u90e8\u5206\u6216\u8005\u6240\u6709\u89c6\u9891\u5185\u7684\u77e5\u8bc6\u8fdb\u884c\u8bb2\u89e3\u540c\u65f6\u56de\u7b54\u5b66\u751f\u73b0\u573a\u63d0\u51fa\u7684\u95ee\u9898\uff0c\u56e0\u6b64\u6240\u63d0\u4f9b\u7684\u8bfe\u7a0b\u89c6\u9891\u94fe\u63a5\u5b9e\u9645\u4e0a\u662f\u5df2\u7ecf\u5305\u542b\u4e86\u6240\u6709\u5185\u5bb9\u3002\u8bfe\u7a0b\u4f5c\u4e1a\u5219\u75315\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u7ec4\u6210\uff0c\u6bcf\u4e00\u6b21\u4f5c\u4e1a\u4e3b\u8981\u4e3a\u590d\u73b0\u7ecf\u5178\u6a21\u578b\u4ee5\u53ca\u8fdb\u884c\u6a21\u578b\u95f4\u7684\u5bf9\u6bd4\uff0c\u5076\u5c14\u4e5f\u5305\u542b\u4e00\u4e9b\u5bf9\u6700\u8fd1\u63d0\u51fa\u7684\u6a21\u578b\u7684\u590d\u73b0\uff0c\u6700\u540e\u9012\u4ea4\u4e00\u4efd\u62a5\u544a\u3002\u8003\u8651\u5230\u4f5c\u4e1a\u672c\u8eab\u5df2\u7ecf\u63d0\u4f9b\u4e86\u6846\u67b6\uff0c\u4e14\u90fd\u662f\u6839\u636e hint \u8fdb\u884c\u4ee3\u7801\u586b\u7a7a\uff0c\u56e0\u6b64\u4f5c\u4e1a\u96be\u5ea6\u5e76\u4e0d\u5927\u3002 \u603b\u7684\u6765\u8bf4\uff0c\u8be5\u8bfe\u7a0b\u9002\u5408\u65b0\u624b\u5165\u95e8\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u3002\u867d\u7136\u5b66\u5230\u540e\u9762\u8d8a\u6765\u8d8a\u611f\u89c9\u5230\u96be\uff0c\u4f46\u6574\u95e8\u8bfe\u4e0b\u6765\u4e2a\u4eba\u611f\u89c9\u8fd8\u662f\u6536\u83b7\u9887\u4e30\u3002 \uff08\u53e6\u5916 Levine \u6559\u6388\u4eba\u771f\u7684\u5f88 nice\uff09 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://rail.eecs.berkeley.edu/deeprlcourse/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/playlist?list=PL_iWQOsE6TfX7MaC6C3HcdOf1g337dlC9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://rail.eecs.berkeley.edu/deeprlcourse/ \uff0c5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"UCB CS285: Deep Reinforcement Learning"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/#cs285-deep-reinforcement-learning","text":"","title":"CS285: Deep Reinforcement Learning"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS188, CS189 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 CS285 \u8fd9\u4e00\u8bfe\u7a0b\u73b0\u7531 Sergey Levine \u6559\u6388\u8bb2\u6388\uff0c\u8bfe\u7a0b\u5185\u5bb9\u8986\u76d6\u4e86\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u9886\u57df\u7684\u5404\u65b9\u9762\u5185\u5bb9\uff0c\u9002\u5408\u6709\u4e00\u5b9a\u673a\u5668\u5b66\u4e60\u57fa\u7840\u7684\u540c\u5b66\u8fdb\u884c\u5b66\u4e60\uff0c\u5177\u4f53\u8981\u6c42\u5305\u62ec\u4e86\u89e3\u9a6c\u5c14\u53ef\u592b\u51b3\u7b56\u8fc7\u7a0b\uff08MDP\uff09\u7b49\u3002\u6574\u95e8\u8bfe\u7a0b\u4e2d\u542b\u6709\u8f83\u591a\u7684\u516c\u5f0f\uff0c\u4e0a\u8bfe\u524d\u9700\u8981\u6709\u4e00\u5b9a\u7684\u5fc3\u7406\u51c6\u5907\u3002\u6b64\u5916\uff0c\u6559\u6388\u4f1a\u6839\u636e\u6bcf\u5e74\u6700\u65b0\u7684\u7814\u7a76\u8fdb\u5c55\u66f4\u65b0\u8bfe\u7a0b\u5185\u5bb9\u4ee5\u53ca\u4f5c\u4e1a\uff0c\u8bfe\u7a0b\u4e2d\u80fd\u611f\u53d7\u5230\u6559\u6388\u5c1d\u8bd5\u5c06\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u9886\u57df\u7684\u6240\u6709\u57fa\u7840\u77e5\u8bc6\u4ee5\u53ca\u6700\u8fd1\u7684\u53d1\u5c55\u5728\u77ed\u77ed\u7684\u6570\u8282\u8bfe\u4e2d\u8fdb\u884c\u4f20\u8fbe\u3002 \u6709\u5173\u8bfe\u7a0b\u5185\u5bb9\u83b7\u53d6\uff0c22Fall \u7684\u6388\u8bfe\u65b9\u5f0f\u4e3a\u8bfe\u524d\u89c2\u770b\u63d0\u524d\u5f55\u5236\u7684\u89c6\u9891\uff0c\u8bfe\u4e0a\u4e3b\u8981\u4e3a Q&A \u73af\u8282\uff0c\u6559\u6388\u9009\u62e9\u90e8\u5206\u6216\u8005\u6240\u6709\u89c6\u9891\u5185\u7684\u77e5\u8bc6\u8fdb\u884c\u8bb2\u89e3\u540c\u65f6\u56de\u7b54\u5b66\u751f\u73b0\u573a\u63d0\u51fa\u7684\u95ee\u9898\uff0c\u56e0\u6b64\u6240\u63d0\u4f9b\u7684\u8bfe\u7a0b\u89c6\u9891\u94fe\u63a5\u5b9e\u9645\u4e0a\u662f\u5df2\u7ecf\u5305\u542b\u4e86\u6240\u6709\u5185\u5bb9\u3002\u8bfe\u7a0b\u4f5c\u4e1a\u5219\u75315\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u7ec4\u6210\uff0c\u6bcf\u4e00\u6b21\u4f5c\u4e1a\u4e3b\u8981\u4e3a\u590d\u73b0\u7ecf\u5178\u6a21\u578b\u4ee5\u53ca\u8fdb\u884c\u6a21\u578b\u95f4\u7684\u5bf9\u6bd4\uff0c\u5076\u5c14\u4e5f\u5305\u542b\u4e00\u4e9b\u5bf9\u6700\u8fd1\u63d0\u51fa\u7684\u6a21\u578b\u7684\u590d\u73b0\uff0c\u6700\u540e\u9012\u4ea4\u4e00\u4efd\u62a5\u544a\u3002\u8003\u8651\u5230\u4f5c\u4e1a\u672c\u8eab\u5df2\u7ecf\u63d0\u4f9b\u4e86\u6846\u67b6\uff0c\u4e14\u90fd\u662f\u6839\u636e hint \u8fdb\u884c\u4ee3\u7801\u586b\u7a7a\uff0c\u56e0\u6b64\u4f5c\u4e1a\u96be\u5ea6\u5e76\u4e0d\u5927\u3002 \u603b\u7684\u6765\u8bf4\uff0c\u8be5\u8bfe\u7a0b\u9002\u5408\u65b0\u624b\u5165\u95e8\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u3002\u867d\u7136\u5b66\u5230\u540e\u9762\u8d8a\u6765\u8d8a\u611f\u89c9\u5230\u96be\uff0c\u4f46\u6574\u95e8\u8bfe\u4e0b\u6765\u4e2a\u4eba\u611f\u89c9\u8fd8\u662f\u6536\u83b7\u9887\u4e30\u3002 \uff08\u53e6\u5916 Levine \u6559\u6388\u4eba\u771f\u7684\u5f88 nice\uff09","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://rail.eecs.berkeley.edu/deeprlcourse/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/playlist?list=PL_iWQOsE6TfX7MaC6C3HcdOf1g337dlC9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://rail.eecs.berkeley.edu/deeprlcourse/ \uff0c5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/","text":"\u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\uff1a\u674e\u5b8f\u6bc5\u673a\u5668\u5b66\u4e60 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u570b\u7acb\u53f0\u7063\u5927\u5b78 \u5148\u4fee\u8981\u6c42\uff1a\u719f\u7ec3\u638c\u63e1 Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u674e\u5b8f\u6bc5\u8001\u5e08\u662f\u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\u7684\u6559\u6388\uff0c\u5176\u98ce\u8da3\u5e7d\u9ed8\u7684\u6388\u8bfe\u98ce\u683c\u6df1\u53d7\u5927\u5bb6\u559c\u7231\uff0c\u5e76\u4e14\u5c24\u5176\u559c\u6b22\u5728 PPT \u4e2d\u63d2\u5165\u5b9d\u53ef\u68a6\u7b49\u52a8\u6f2b\u5143\u7d20\uff0c\u662f\u4e2a\u975e\u5e38\u53ef\u7231\u7684\u8001\u5e08\u3002 \u8fd9\u95e8\u8bfe\u6302\u7740\u673a\u5668\u5b66\u4e60\u7684\u724c\u5b50\uff0c\u4f46\u5176\u8bfe\u7a0b\u5185\u5bb9\u4e4b\u5e7f\u5b9e\u5728\u4ee4\u4eba\u548b\u820c\uff0c\u5176\u4f5c\u4e1a\u4e00\u5171\u5305\u542b 15 \u4e2a lab\uff0c\u5206\u522b\u662f Regression\u3001Classification\u3001CNN\u3001Self-Attention\u3001Transformer\u3001GAN\u3001BERT\u3001Anomaly Detection\u3001Explainable AI\u3001Attack\u3001Adaptation\u3001 RL\u3001Compression\u3001Life-Long Learning \u4ee5\u53ca Meta Learning\u3002\u53ef\u8c13\u662f\u5305\u7f57\u4e07\u8c61\uff0c\u80fd\u8ba9\u5b66\u751f\u5bf9\u4e8e\u6df1\u5ea6\u5b66\u4e60\u7684\u7edd\u5927\u591a\u6570\u9886\u57df\u90fd\u6709\u4e00\u5b9a\u4e86\u89e3\uff0c\u4ece\u800c\u53ef\u4ee5\u8fdb\u4e00\u6b65\u9009\u62e9\u60f3\u8981\u6df1\u5165\u7684\u65b9\u5411\u8fdb\u884c\u5b66\u4e60\u3002 \u5927\u5bb6\u4e5f\u5927\u53ef\u4e0d\u5fc5\u62c5\u5fc3\u4f5c\u4e1a\u7684\u96be\u5ea6\uff0c\u56e0\u4e3a\u6240\u6709\u4f5c\u4e1a\u90fd\u4f1a\u63d0\u4f9b\u52a9\u6559\u7684\u793a\u4f8b\u4ee3\u7801\uff0c\u5e2e\u4f60\u5b8c\u6210\u6570\u636e\u5904\u7406\u3001\u6a21\u578b\u642d\u5efa\u7b49\uff0c\u4f60\u53ea\u9700\u8981\u5728\u5176\u57fa\u7840\u4e0a\u8fdb\u884c\u9002\u91cf\u7684\u4fee\u6539\u5373\u53ef\u3002\u8fd9\u4e5f\u662f\u4e00\u4e2a\u5b66\u4e60\u522b\u4eba\u4f18\u8d28\u4ee3\u7801\u7684\u6781\u597d\u673a\u4f1a\uff0c\u5927\u5bb6\u9700\u8981\u6c34\u8bfe\u7a0b\u5927\u4f5c\u4e1a\u7684\u8bdd\uff0c\u8fd9\u91cc\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u8d44\u6599\u6765\u6e90\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \u8bfe\u7a0b\u89c6\u9891\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \uff0c15 \u4e2a lab\uff0c\u51e0\u4e4e\u8986\u76d6\u4e86\u4e3b\u6d41\u6df1\u5ea6\u5b66\u4e60\u7684\u6240\u6709\u9886\u57df","title":"\u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\uff1a\u674e\u5b8f\u6bc5\u673a\u5668\u5b66\u4e60"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/#_1","text":"","title":"\u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\uff1a\u674e\u5b8f\u6bc5\u673a\u5668\u5b66\u4e60"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/#_2","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u570b\u7acb\u53f0\u7063\u5927\u5b78 \u5148\u4fee\u8981\u6c42\uff1a\u719f\u7ec3\u638c\u63e1 Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u674e\u5b8f\u6bc5\u8001\u5e08\u662f\u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\u7684\u6559\u6388\uff0c\u5176\u98ce\u8da3\u5e7d\u9ed8\u7684\u6388\u8bfe\u98ce\u683c\u6df1\u53d7\u5927\u5bb6\u559c\u7231\uff0c\u5e76\u4e14\u5c24\u5176\u559c\u6b22\u5728 PPT \u4e2d\u63d2\u5165\u5b9d\u53ef\u68a6\u7b49\u52a8\u6f2b\u5143\u7d20\uff0c\u662f\u4e2a\u975e\u5e38\u53ef\u7231\u7684\u8001\u5e08\u3002 \u8fd9\u95e8\u8bfe\u6302\u7740\u673a\u5668\u5b66\u4e60\u7684\u724c\u5b50\uff0c\u4f46\u5176\u8bfe\u7a0b\u5185\u5bb9\u4e4b\u5e7f\u5b9e\u5728\u4ee4\u4eba\u548b\u820c\uff0c\u5176\u4f5c\u4e1a\u4e00\u5171\u5305\u542b 15 \u4e2a lab\uff0c\u5206\u522b\u662f Regression\u3001Classification\u3001CNN\u3001Self-Attention\u3001Transformer\u3001GAN\u3001BERT\u3001Anomaly Detection\u3001Explainable AI\u3001Attack\u3001Adaptation\u3001 RL\u3001Compression\u3001Life-Long Learning \u4ee5\u53ca Meta Learning\u3002\u53ef\u8c13\u662f\u5305\u7f57\u4e07\u8c61\uff0c\u80fd\u8ba9\u5b66\u751f\u5bf9\u4e8e\u6df1\u5ea6\u5b66\u4e60\u7684\u7edd\u5927\u591a\u6570\u9886\u57df\u90fd\u6709\u4e00\u5b9a\u4e86\u89e3\uff0c\u4ece\u800c\u53ef\u4ee5\u8fdb\u4e00\u6b65\u9009\u62e9\u60f3\u8981\u6df1\u5165\u7684\u65b9\u5411\u8fdb\u884c\u5b66\u4e60\u3002 \u5927\u5bb6\u4e5f\u5927\u53ef\u4e0d\u5fc5\u62c5\u5fc3\u4f5c\u4e1a\u7684\u96be\u5ea6\uff0c\u56e0\u4e3a\u6240\u6709\u4f5c\u4e1a\u90fd\u4f1a\u63d0\u4f9b\u52a9\u6559\u7684\u793a\u4f8b\u4ee3\u7801\uff0c\u5e2e\u4f60\u5b8c\u6210\u6570\u636e\u5904\u7406\u3001\u6a21\u578b\u642d\u5efa\u7b49\uff0c\u4f60\u53ea\u9700\u8981\u5728\u5176\u57fa\u7840\u4e0a\u8fdb\u884c\u9002\u91cf\u7684\u4fee\u6539\u5373\u53ef\u3002\u8fd9\u4e5f\u662f\u4e00\u4e2a\u5b66\u4e60\u522b\u4eba\u4f18\u8d28\u4ee3\u7801\u7684\u6781\u597d\u673a\u4f1a\uff0c\u5927\u5bb6\u9700\u8981\u6c34\u8bfe\u7a0b\u5927\u4f5c\u4e1a\u7684\u8bdd\uff0c\u8fd9\u91cc\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u8d44\u6599\u6765\u6e90\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/#_3","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \u8bfe\u7a0b\u89c6\u9891\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \uff0c15 \u4e2a lab\uff0c\u51e0\u4e4e\u8986\u76d6\u4e86\u4e3b\u6d41\u6df1\u5ea6\u5b66\u4e60\u7684\u6240\u6709\u9886\u57df","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/","text":"UCB EE16A&B: Designing Information Devices and Systems I&II \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 UC Berkeley \u7535\u5b50\u7cfb\u5b66\u751f\u7684\u5927\u4e00\u5165\u95e8\u8bfe\uff0c\u901a\u8fc7\u7535\u8def\u57fa\u7840\u77e5\u8bc6\u7684\u8bb2\u6388\uff0c\u914d\u5408\u5404\u7c7b\u52a8\u624b\u5b9e\u64cd\u7684 lab\uff0c\u8ba9\u5b66\u751f\u4f53\u9a8c\u901a\u8fc7\u7535\u8def\u4ece\u73af\u5883\u4e2d\u6536\u96c6\u4fe1\u606f\u5e76\u8fdb\u884c\u5206\u6790\uff0c\u4f5c\u51fa\u9884\u6d4b\u548c\u53cd\u9988\u3002\u7531\u4e8e\u75ab\u60c5\u7684\u7f18\u6545\uff0c\u6240\u6709 lab \u90fd\u6709\u8fdc\u7a0b\u5728\u7ebf\u7248\uff0c\u975e\u5e38\u9002\u5408\u5927\u5bb6\u5728\u5bb6\u81ea\u5b66\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a EE16A , EE16B \u8bfe\u7a0b\u89c6\u9891\uff1aB \u7ad9\u641c\u7d22 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u4e3b\u9875 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/EE16A - GitHub \u4e2d\u3002","title":"EE16A&B: Designing Information Devices and Systems I&II"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#ucb-ee16ab-designing-information-devices-and-systems-iii","text":"","title":"UCB EE16A&B: Designing Information Devices and Systems I&II"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 UC Berkeley \u7535\u5b50\u7cfb\u5b66\u751f\u7684\u5927\u4e00\u5165\u95e8\u8bfe\uff0c\u901a\u8fc7\u7535\u8def\u57fa\u7840\u77e5\u8bc6\u7684\u8bb2\u6388\uff0c\u914d\u5408\u5404\u7c7b\u52a8\u624b\u5b9e\u64cd\u7684 lab\uff0c\u8ba9\u5b66\u751f\u4f53\u9a8c\u901a\u8fc7\u7535\u8def\u4ece\u73af\u5883\u4e2d\u6536\u96c6\u4fe1\u606f\u5e76\u8fdb\u884c\u5206\u6790\uff0c\u4f5c\u51fa\u9884\u6d4b\u548c\u53cd\u9988\u3002\u7531\u4e8e\u75ab\u60c5\u7684\u7f18\u6545\uff0c\u6240\u6709 lab \u90fd\u6709\u8fdc\u7a0b\u5728\u7ebf\u7248\uff0c\u975e\u5e38\u9002\u5408\u5927\u5bb6\u5728\u5bb6\u81ea\u5b66\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a EE16A , EE16B \u8bfe\u7a0b\u89c6\u9891\uff1aB \u7ad9\u641c\u7d22 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u4e3b\u9875","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/EE16A - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals_and_Systems_AVO/","text":"MIT 6.007 Signals and Systems \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra \u7f16\u7a0b\u8bed\u8a00\uff1aMatlab Preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 \u770b\u5230\u8bfe\u7a0b\u8001\u5e08\u7684\u540d\u5b57\uff1aProf. Alan V. Oppenheim \u597d\u7684\uff0c\u4e0a\u8fd9\u95e8\u8bfe\u7684\u7406\u7531\u5df2\u7ecf\u8db3\u591f\u4e86\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://ocw.mit.edu/resources/res-6-007-signals-and-systems-spring-2011/index.htm \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1CZ4y1j7hs \u8bfe\u7a0b\u6559\u6750\uff1aSignals and Systems, 2nd Edition \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://ocw.mit.edu/resources/res-6-007-signals-and-systems-spring-2011/assignments","title":"MIT 6.007 Signals and Systems"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals_and_Systems_AVO/#mit-6007-signals-and-systems","text":"","title":"MIT 6.007 Signals and Systems"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals_and_Systems_AVO/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra \u7f16\u7a0b\u8bed\u8a00\uff1aMatlab Preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 \u770b\u5230\u8bfe\u7a0b\u8001\u5e08\u7684\u540d\u5b57\uff1aProf. Alan V. Oppenheim \u597d\u7684\uff0c\u4e0a\u8fd9\u95e8\u8bfe\u7684\u7406\u7531\u5df2\u7ecf\u8db3\u591f\u4e86\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals_and_Systems_AVO/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://ocw.mit.edu/resources/res-6-007-signals-and-systems-spring-2011/index.htm \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1CZ4y1j7hs \u8bfe\u7a0b\u6559\u6750\uff1aSignals and Systems, 2nd Edition \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://ocw.mit.edu/resources/res-6-007-signals-and-systems-spring-2011/assignments","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/","text":"UCB EE120: Signal and Systems \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS70\uff0c\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u6700\u7cbe\u534e\u7684\u90e8\u5206\u5c31\u662f 6 \u4e2a\u8d85\u6709\u8da3\u7684\u7f16\u7a0b\u4f5c\u4e1a\u4e86\uff0c\u4f1a\u8ba9\u4f60\u7528 Python \u901a\u8fc7\u5b66\u4e60\u5230\u7684\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u7684\u7406\u8bba\u77e5\u8bc6\uff0c\u89e3\u51b3\u5404\u7c7b\u5b9e\u9645\u95ee\u9898\u3002\u4f8b\u5982 lab3 \u4f1a\u8ba9\u4f60\u5b9e\u73b0 FFT \u7b97\u6cd5\uff0c\u5e76\u548c Numpy \u7684\u5b98\u65b9\u5b9e\u73b0\u8fdb\u884c\u6027\u80fd\u5bf9\u6bd4\uff1blab4 \u4f1a\u901a\u8fc7\u5206\u6790\u624b\u6307\u5934\u7684\u5f71\u50cf\u6570\u636e\u63a8\u65ad\u5fc3\u7387\uff1blab5 \u5c31\u66f4\u725b\u4e86\uff0c\u4f1a\u8ba9\u4f60\u7ed9\u54c8\u52c3\u671b\u8fdc\u955c\u62cd\u5230\u7684\u7167\u7247\u8fdb\u884c\u964d\u566a\u5904\u7406\uff0c\u6062\u590d\u7eda\u70c2\u6e05\u6670\u7684\u661f\u7a7a\uff1blab6 \u4f1a\u8ba9\u4f60\u6784\u9020\u4e00\u4e2a\u53cd\u9988\u7cfb\u7edf\uff0c\u5e73\u8861\u5c0f\u8f66\u4e0a\u7684\u7ec6\u6746\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://inst.eecs.berkeley.edu/~ee120/fa19/ \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a5 \u4e2a\u4e66\u9762\u4f5c\u4e1a + 6 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/UCB-EE120 - GitHub \u4e2d\u3002","title":"UCB EE120 : Signal and Systems"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#ucb-ee120-signal-and-systems","text":"","title":"UCB EE120: Signal and Systems"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS70\uff0c\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u6700\u7cbe\u534e\u7684\u90e8\u5206\u5c31\u662f 6 \u4e2a\u8d85\u6709\u8da3\u7684\u7f16\u7a0b\u4f5c\u4e1a\u4e86\uff0c\u4f1a\u8ba9\u4f60\u7528 Python \u901a\u8fc7\u5b66\u4e60\u5230\u7684\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u7684\u7406\u8bba\u77e5\u8bc6\uff0c\u89e3\u51b3\u5404\u7c7b\u5b9e\u9645\u95ee\u9898\u3002\u4f8b\u5982 lab3 \u4f1a\u8ba9\u4f60\u5b9e\u73b0 FFT \u7b97\u6cd5\uff0c\u5e76\u548c Numpy \u7684\u5b98\u65b9\u5b9e\u73b0\u8fdb\u884c\u6027\u80fd\u5bf9\u6bd4\uff1blab4 \u4f1a\u901a\u8fc7\u5206\u6790\u624b\u6307\u5934\u7684\u5f71\u50cf\u6570\u636e\u63a8\u65ad\u5fc3\u7387\uff1blab5 \u5c31\u66f4\u725b\u4e86\uff0c\u4f1a\u8ba9\u4f60\u7ed9\u54c8\u52c3\u671b\u8fdc\u955c\u62cd\u5230\u7684\u7167\u7247\u8fdb\u884c\u964d\u566a\u5904\u7406\uff0c\u6062\u590d\u7eda\u70c2\u6e05\u6670\u7684\u661f\u7a7a\uff1blab6 \u4f1a\u8ba9\u4f60\u6784\u9020\u4e00\u4e2a\u53cd\u9988\u7cfb\u7edf\uff0c\u5e73\u8861\u5c0f\u8f66\u4e0a\u7684\u7ec6\u6746\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://inst.eecs.berkeley.edu/~ee120/fa19/ \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a5 \u4e2a\u4e66\u9762\u4f5c\u4e1a + 6 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/UCB-EE120 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%A8%8B%E5%BA%8F%E8%AF%AD%E8%A8%80%E8%AE%BE%E8%AE%A1/CS242/","text":"","title":"CS242"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/","text":"UCB CS161: Computer Security \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1aC, Go \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u8bfe\u7a0b\u5185\u5bb9\u5206\u4e3a5\u4e2a\u90e8\u5206\uff1a Security principles: how to design a secure system Memory safety: buffer overflow attack Cryptography: symmetric encryption, asymmetric encryption, MAC, digital signature ......... Web: SQL-injection, XSS, XSRF ....... Networking: attacks for each layer \u8fd9\u95e8\u8bfe\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\u7684\u90e8\u5206\u662f Project2\uff0c\u8ba9\u4f60\u7528 Go \u8bed\u8a00\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b89\u5168\u7684\u6587\u4ef6\u5206\u4eab\u7cfb\u7edf\u3002\u6211\u82b1\u4e86\u6574\u6574\u4e09\u5929\u624d\u5b8c\u6210\u4e86\u8fd9\u4e2a\u975e\u5e38\u8650\u7684 Project\uff0c\u603b\u4ee3\u7801\u91cf\u8d85\u8fc7 3k \u884c\u3002\u8fd9\u6837\u5bc6\u96c6\u578b\u7684\u5f00\u53d1\u8fc7\u7a0b\uff0c\u80fd\u6781\u5927\u5730\u953b\u70bc\u4f60\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b89\u5168\u7cfb\u7edf\u7684\u80fd\u529b\u3002 2020 \u5e74\u590f\u5b63\u5b66\u671f\u7684\u7248\u672c\u5f00\u6e90\u4e86\u8bfe\u7a0b\u5f55\u5f71\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728\u4e0b\u9762\u7684\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5\u91cc\u627e\u5230\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://su20.cs161.org/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a https://textbook.cs161.org/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 \u4e2a\u5728\u7ebf HW + 3 \u4e2a Lab + 3 \u4e2a Project \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/UCB-CS161 - GitHub \u4e2d\u3002","title":"UCB CS161: Computer Security"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/#ucb-cs161-computer-security","text":"","title":"UCB CS161: Computer Security"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1aC, Go \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u8bfe\u7a0b\u5185\u5bb9\u5206\u4e3a5\u4e2a\u90e8\u5206\uff1a Security principles: how to design a secure system Memory safety: buffer overflow attack Cryptography: symmetric encryption, asymmetric encryption, MAC, digital signature ......... Web: SQL-injection, XSS, XSRF ....... Networking: attacks for each layer \u8fd9\u95e8\u8bfe\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\u7684\u90e8\u5206\u662f Project2\uff0c\u8ba9\u4f60\u7528 Go \u8bed\u8a00\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b89\u5168\u7684\u6587\u4ef6\u5206\u4eab\u7cfb\u7edf\u3002\u6211\u82b1\u4e86\u6574\u6574\u4e09\u5929\u624d\u5b8c\u6210\u4e86\u8fd9\u4e2a\u975e\u5e38\u8650\u7684 Project\uff0c\u603b\u4ee3\u7801\u91cf\u8d85\u8fc7 3k \u884c\u3002\u8fd9\u6837\u5bc6\u96c6\u578b\u7684\u5f00\u53d1\u8fc7\u7a0b\uff0c\u80fd\u6781\u5927\u5730\u953b\u70bc\u4f60\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b89\u5168\u7cfb\u7edf\u7684\u80fd\u529b\u3002 2020 \u5e74\u590f\u5b63\u5b66\u671f\u7684\u7248\u672c\u5f00\u6e90\u4e86\u8bfe\u7a0b\u5f55\u5f71\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728\u4e0b\u9762\u7684\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5\u91cc\u627e\u5230\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://su20.cs161.org/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a https://textbook.cs161.org/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 \u4e2a\u5728\u7ebf HW + 3 \u4e2a Lab + 3 \u4e2a Project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/UCB-CS161 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/","text":"ASU CSE365: Introduction to Cybersecurity \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aArizona State University \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC, Python, x86 assembly \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66 Web \u5b89\u5168\u7684\u5bfc\u8bba\u8bfe\uff0c\u8bfe\u7a0b\u4ee5\u6a21\u5757\u5316\u7684\u5f62\u5f0f\u6784\u6210\uff0c\u4e3b\u8981\u5305\u542b\u4ee5\u4e0b\u65b9\u9762\uff1a Program Misuse: Linux commandline, privilege escalation Web fundamentals: http, server, intercept Assembly: registers, memory, control flow Cryptography: Symmetric/Asymmetric encryption, hashing, trust Web security: Command/HTML/SQL/Stack injection \u8bfe\u7a0b\u4ee5 Challenge \u4e3a\u4e3b\uff0cLectures and Reading \u4e3a\u8f85\u3002Challenge \u4e2d\u7684\u4e60\u9898\u4ee5 CTF \u7684\u5f62\u5f0f\u5c55\u5f00\uff0c\u96be\u5ea6\u4f9d\u6b21\u9012\u589e\u3002 \u5bf9\u4e8e\u57fa\u7840\u8f83\u5f31\u7684\u5b66\u4e60\u8005\uff0c\u5361\u5173\u662f\u6b63\u5e38\u73b0\u8c61\u3002\u5982\u679c\u5728\u89e3\u9898\u8fc7\u7a0b\u4e2d\u9047\u5230\u56f0\u96be\uff0c\u53ef\u4ee5\u5728\u9996\u9875 Chat \u680f\u76ee\u4e2d\u7ed9\u51fa\u7684 Discord Server \u5bfb\u6c42\u5e2e\u52a9\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://dojo.pwn.college/cse365/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 \u4e2a\u6a21\u5757\uff08167 \u4e2a challenge\uff09 \u8d44\u6e90\u6c47\u603b Lectures on YouTube: https://youtube.com/pwncollege Live Broadcasts on Twitch: https://twitch.tv/pwncollege Chat on Discord: https://pwn.college/discord Open Source on GitHub: https://github.com/pwncollege Contact us via Email: pwn-college@asu.edu \u53e6\u5916\uff0c\u51fa\u4e8e\u8bc4\u5b9a ASU \u5b66\u751f\u8bfe\u7a0b\u6210\u7ee9\u7684\u91cd\u8981\u56e0\u7d20\uff0c\u5b98\u65b9\u4e0d\u9f13\u52b1\u4e0a\u4f20\u89e3\u9898\u601d\u8def\uff0c\u6bcf\u4e2a\u6a21\u5757\u7684\u524d\u4e24\u9898\u9664\u5916\u3002","title":"ASU CSE365: Introduction to Cybersecurity"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/#asu-cse365-introduction-to-cybersecurity","text":"","title":"ASU CSE365: Introduction to Cybersecurity"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aArizona State University \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC, Python, x86 assembly \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66 Web \u5b89\u5168\u7684\u5bfc\u8bba\u8bfe\uff0c\u8bfe\u7a0b\u4ee5\u6a21\u5757\u5316\u7684\u5f62\u5f0f\u6784\u6210\uff0c\u4e3b\u8981\u5305\u542b\u4ee5\u4e0b\u65b9\u9762\uff1a Program Misuse: Linux commandline, privilege escalation Web fundamentals: http, server, intercept Assembly: registers, memory, control flow Cryptography: Symmetric/Asymmetric encryption, hashing, trust Web security: Command/HTML/SQL/Stack injection \u8bfe\u7a0b\u4ee5 Challenge \u4e3a\u4e3b\uff0cLectures and Reading \u4e3a\u8f85\u3002Challenge \u4e2d\u7684\u4e60\u9898\u4ee5 CTF \u7684\u5f62\u5f0f\u5c55\u5f00\uff0c\u96be\u5ea6\u4f9d\u6b21\u9012\u589e\u3002 \u5bf9\u4e8e\u57fa\u7840\u8f83\u5f31\u7684\u5b66\u4e60\u8005\uff0c\u5361\u5173\u662f\u6b63\u5e38\u73b0\u8c61\u3002\u5982\u679c\u5728\u89e3\u9898\u8fc7\u7a0b\u4e2d\u9047\u5230\u56f0\u96be\uff0c\u53ef\u4ee5\u5728\u9996\u9875 Chat \u680f\u76ee\u4e2d\u7ed9\u51fa\u7684 Discord Server \u5bfb\u6c42\u5e2e\u52a9\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://dojo.pwn.college/cse365/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 \u4e2a\u6a21\u5757\uff08167 \u4e2a challenge\uff09","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/#_3","text":"Lectures on YouTube: https://youtube.com/pwncollege Live Broadcasts on Twitch: https://twitch.tv/pwncollege Chat on Discord: https://pwn.college/discord Open Source on GitHub: https://github.com/pwncollege Contact us via Email: pwn-college@asu.edu \u53e6\u5916\uff0c\u51fa\u4e8e\u8bc4\u5b9a ASU \u5b66\u751f\u8bfe\u7a0b\u6210\u7ee9\u7684\u91cd\u8981\u56e0\u7d20\uff0c\u5b98\u65b9\u4e0d\u9f13\u52b1\u4e0a\u4f20\u89e3\u9898\u601d\u8def\uff0c\u6bcf\u4e2a\u6a21\u5757\u7684\u524d\u4e24\u9898\u9664\u5916\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/","text":"ASU CSE466: Computer Systems Security \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aArizona State University \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC, Python, x86 assembly \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66\u7cfb\u7edf\u5b89\u5168\u7684\u6838\u5fc3\u8bfe\uff0c\u8bfe\u7a0b\u4ee5\u6a21\u5757\u5316\u7684\u5f62\u5f0f\u6784\u6210\uff0c\u4e3b\u8981\u5305\u542b\u4ee5\u4e0b\u65b9\u9762\uff1a Linux commandline: Program misuse, program interaction Shellcoding: Assembly, shellcode injection, prevention Reverse Engineering: Function frame, static/dynamic reversing tools Program Exploitation: Hijacking to shellcode, JIT spray System Exploitation: Kernel modules, privilege escalation Miscellaneous: Sandboxing, Memory Errors, Race conditions \u4e0e CSE365 \u76f8\u540c\uff0c\u8bfe\u7a0b\u4ee5 Challenge \u4e3a\u4e3b\uff0cLectures and Reading \u4e3a\u8f85\u3002Challenge \u4e2d\u7684\u4e60\u9898\u4ee5 CTF \u7684\u5f62\u5f0f\u5c55\u5f00\uff0c\u96be\u5ea6\u4f9d\u6b21\u9012\u589e\u3002 \u4e60\u9898\u8d28\u91cf\u633a\u9ad8\u7684\uff0c\u4f46\u67d0\u4e9b\u6a21\u5757\u96be\u5ea6\u8f83\u5927\uff0c\u5c24\u5176\u662f\u6d89\u53ca\u5230\u5185\u6838\u7684\u90e8\u5206\uff0c\u6709\u7684\u65f6\u5019\u4e00\u5929\u90fd\u5199\u4e0d\u51fa\u4e00\u9053\u9898\u3002\u5982\u679c\u5728\u89e3\u9898\u8fc7\u7a0b\u4e2d\u9047\u5230\u56f0\u96be\uff0c\u53ef\u4ee5\u5728\u9996\u9875 Chat \u680f\u76ee\u4e2d\u7ed9\u51fa\u7684 Discord Server \u5bfb\u6c42\u5e2e\u52a9\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://dojo.pwn.college/cse466/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a13 \u4e2a\u6a21\u5757\uff08358 \u4e2a challenge\uff09 \u8d44\u6e90\u6c47\u603b Lectures on YouTube: https://youtube.com/pwncollege Live Broadcasts on Twitch: https://twitch.tv/pwncollege Chat on Discord: https://pwn.college/discord Open Source on GitHub: https://github.com/pwncollege Contact us via Email: pwn-college@asu.edu \u53e6\u5916\uff0c\u51fa\u4e8e\u8bc4\u5b9a ASU \u5b66\u751f\u8bfe\u7a0b\u6210\u7ee9\u7684\u91cd\u8981\u56e0\u7d20\uff0c\u5b98\u65b9\u4e0d\u9f13\u52b1\u4e0a\u4f20\u89e3\u9898\u601d\u8def\uff0c\u6bcf\u4e2a\u6a21\u5757\u7684\u524d\u4e24\u9898\u4e0e\u9006\u5411\u90e8\u5206\u7684 16 \u9898\u9664\u5916\u3002","title":"ASU CSE466: Computer Systems Security"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/#asu-cse466-computer-systems-security","text":"","title":"ASU CSE466: Computer Systems Security"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aArizona State University \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC, Python, x86 assembly \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66\u7cfb\u7edf\u5b89\u5168\u7684\u6838\u5fc3\u8bfe\uff0c\u8bfe\u7a0b\u4ee5\u6a21\u5757\u5316\u7684\u5f62\u5f0f\u6784\u6210\uff0c\u4e3b\u8981\u5305\u542b\u4ee5\u4e0b\u65b9\u9762\uff1a Linux commandline: Program misuse, program interaction Shellcoding: Assembly, shellcode injection, prevention Reverse Engineering: Function frame, static/dynamic reversing tools Program Exploitation: Hijacking to shellcode, JIT spray System Exploitation: Kernel modules, privilege escalation Miscellaneous: Sandboxing, Memory Errors, Race conditions \u4e0e CSE365 \u76f8\u540c\uff0c\u8bfe\u7a0b\u4ee5 Challenge \u4e3a\u4e3b\uff0cLectures and Reading \u4e3a\u8f85\u3002Challenge \u4e2d\u7684\u4e60\u9898\u4ee5 CTF \u7684\u5f62\u5f0f\u5c55\u5f00\uff0c\u96be\u5ea6\u4f9d\u6b21\u9012\u589e\u3002 \u4e60\u9898\u8d28\u91cf\u633a\u9ad8\u7684\uff0c\u4f46\u67d0\u4e9b\u6a21\u5757\u96be\u5ea6\u8f83\u5927\uff0c\u5c24\u5176\u662f\u6d89\u53ca\u5230\u5185\u6838\u7684\u90e8\u5206\uff0c\u6709\u7684\u65f6\u5019\u4e00\u5929\u90fd\u5199\u4e0d\u51fa\u4e00\u9053\u9898\u3002\u5982\u679c\u5728\u89e3\u9898\u8fc7\u7a0b\u4e2d\u9047\u5230\u56f0\u96be\uff0c\u53ef\u4ee5\u5728\u9996\u9875 Chat \u680f\u76ee\u4e2d\u7ed9\u51fa\u7684 Discord Server \u5bfb\u6c42\u5e2e\u52a9\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://dojo.pwn.college/cse466/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a13 \u4e2a\u6a21\u5757\uff08358 \u4e2a challenge\uff09","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/#_3","text":"Lectures on YouTube: https://youtube.com/pwncollege Live Broadcasts on Twitch: https://twitch.tv/pwncollege Chat on Discord: https://pwn.college/discord Open Source on GitHub: https://github.com/pwncollege Contact us via Email: pwn-college@asu.edu \u53e6\u5916\uff0c\u51fa\u4e8e\u8bc4\u5b9a ASU \u5b66\u751f\u8bfe\u7a0b\u6210\u7ee9\u7684\u91cd\u8981\u56e0\u7d20\uff0c\u5b98\u65b9\u4e0d\u9f13\u52b1\u4e0a\u4f20\u89e3\u9898\u601d\u8def\uff0c\u6bcf\u4e2a\u6a21\u5757\u7684\u524d\u4e24\u9898\u4e0e\u9006\u5411\u90e8\u5206\u7684 16 \u9898\u9664\u5916\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/","text":"MIT 6.858: Computer System Security \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u521d\u6b65\u4e86\u89e3 \u7f16\u7a0b\u8bed\u8a00\uff1aC, Python \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 MIT \u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u5b9e\u9a8c\u73af\u5883\u662f\u4e00\u4e2a Web Application Zoobar\u3002\u5b66\u751f\u5b66\u4e60\u653b\u9632\u6280\u672f\u5e76\u5e94\u7528\u4e8e\u8be5 Web Application\u3002 Lab 1: you will explore the zoobar web application, and use buffer overflow attacks to break its security properties. Lab 2: you will improve the zoobar web application by using privilege separation, so that if one component is compromised, the adversary doesn't get control over the whole web application. Lab 3: you will build a program analysis tool based on symbolic execution to find bugs in Python code such as the zoobar web application. Lab 4: you will improve the zoobar application against browser attacks. \u8fd9\u4e2a\u8bfe\u6211\u4e3b\u8981\u662f\u505a\u4e86 Lab 3\u3002Lab 3 \u662f\u901a\u8fc7\u6df7\u5408\u7b26\u53f7\u6267\u884c\u6765\u904d\u5386\u7a0b\u5e8f\u7684\u6240\u6709\u5206\u652f\uff0c\u7406\u89e3\u4e86\u7b26\u53f7\u6267\u884c\u7684\u601d\u60f3\u540e Lab \u5e76\u4e0d\u96be\u505a\u3002\u8fd9\u4e2a Lab \u76f4\u89c2\u5c55\u793a\u7b26\u53f7\u6267\u884c\u8fd9\u79cd\u6280\u672f\u7684\u4f7f\u7528\u65b9\u6cd5\u3002 \u8fd9\u4e2a\u8bfe\u7684 Final Project \u662f\u5b9e\u73b0 SecFS \uff0c\u4e00\u4e2a\u8fdc\u7aef\u6587\u4ef6\u7cfb\u7edf\uff0c\u9762\u5bf9\u5b8c\u5168\u4e0d\u53ef\u4fe1\u7684\u670d\u52a1\u5668\uff0c\u63d0\u4f9b\u673a\u5bc6\u6027\u548c\u5b8c\u6574\u6027\u3002\u53c2\u8003\u8bba\u6587\u4e3a SUNDR \u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://css.csail.mit.edu/6.858/2022/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 \u4e2a Lab + Final Project / Lab5","title":"MIT 6.858: Computer System Security"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/#mit-6858-computer-system-security","text":"","title":"MIT 6.858: Computer System Security"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u521d\u6b65\u4e86\u89e3 \u7f16\u7a0b\u8bed\u8a00\uff1aC, Python \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 MIT \u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u5b9e\u9a8c\u73af\u5883\u662f\u4e00\u4e2a Web Application Zoobar\u3002\u5b66\u751f\u5b66\u4e60\u653b\u9632\u6280\u672f\u5e76\u5e94\u7528\u4e8e\u8be5 Web Application\u3002 Lab 1: you will explore the zoobar web application, and use buffer overflow attacks to break its security properties. Lab 2: you will improve the zoobar web application by using privilege separation, so that if one component is compromised, the adversary doesn't get control over the whole web application. Lab 3: you will build a program analysis tool based on symbolic execution to find bugs in Python code such as the zoobar web application. Lab 4: you will improve the zoobar application against browser attacks. \u8fd9\u4e2a\u8bfe\u6211\u4e3b\u8981\u662f\u505a\u4e86 Lab 3\u3002Lab 3 \u662f\u901a\u8fc7\u6df7\u5408\u7b26\u53f7\u6267\u884c\u6765\u904d\u5386\u7a0b\u5e8f\u7684\u6240\u6709\u5206\u652f\uff0c\u7406\u89e3\u4e86\u7b26\u53f7\u6267\u884c\u7684\u601d\u60f3\u540e Lab \u5e76\u4e0d\u96be\u505a\u3002\u8fd9\u4e2a Lab \u76f4\u89c2\u5c55\u793a\u7b26\u53f7\u6267\u884c\u8fd9\u79cd\u6280\u672f\u7684\u4f7f\u7528\u65b9\u6cd5\u3002 \u8fd9\u4e2a\u8bfe\u7684 Final Project \u662f\u5b9e\u73b0 SecFS \uff0c\u4e00\u4e2a\u8fdc\u7aef\u6587\u4ef6\u7cfb\u7edf\uff0c\u9762\u5bf9\u5b8c\u5168\u4e0d\u53ef\u4fe1\u7684\u670d\u52a1\u5668\uff0c\u63d0\u4f9b\u673a\u5bc6\u6027\u548c\u5b8c\u6574\u6027\u3002\u53c2\u8003\u8bba\u6587\u4e3a SUNDR \u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://css.csail.mit.edu/6.858/2022/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 \u4e2a Lab + Final Project / Lab5","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/AUT1400/","text":"Amirkabir University of Technology 1400-2: Advanced Programming Course \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aAmirkabir University of Technology \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u65e0\u610f\u4e2d\u53d1\u73b0\u7684\u4e00\u4e2a C++ \u8bfe\u7a0b\u3002\u8bfe\u7a0b\u7684 homework \u8d28\u91cf\u5f88\u9ad8\uff0c\u6bcf\u4e2a homework \u76f8\u4e92\u72ec\u7acb\u7ed3\u6784\u7b80\u5355\uff0c\u4e14\u6709\u5b8c\u5584\u7684\u5355\u5143\u6d4b\u8bd5\uff0c\u975e\u5e38\u9002\u5408\u7528\u6765\u5b66\u4e60 C++ \u7684\u7f16\u7a0b\u3002\u672c\u8bfe\u7a0b\u5171 7 \u4e2a homework\uff0c\u5982\u4e0b\u6240\u793a\uff1a \u5b9e\u73b0\u4e00\u4e2a Matrix \u7c7b\u4ee5\u53ca\u76f8\u5173\u51fd\u6570\u3002 \u5b9e\u73b0\u4e00\u4e2a\u6a21\u62df\u52a0\u5bc6\u8d27\u5e01\u5ba2\u6237\u7aef/\u670d\u52a1\u7aef\u6267\u884c\u8fc7\u7a0b\u7684\u7a0b\u5e8f\u3002 \u5b9e\u73b0\u4e00\u4e2a Binary Search Tree (BST)\u3002 \u5b9e\u73b0 C++ \u4e2d\u7684 SharedPtr \u548c UniquePtr \u667a\u80fd\u6307\u9488\u3002 \u4f7f\u7528\u7ee7\u627f\u548c\u591a\u6001\u5b9e\u73b0\u591a\u4e2a\u7c7b\u3002 \u4f7f\u7528 STL \u5e93\u89e3\u51b3 4 \u4e2a\u95ee\u9898\u3002 \u662f\u4e2a python \u9879\u76ee\uff0c\u6709\u5174\u8da3\u7684\u53ef\u4ee5\u770b\u770b\u3002 \u6ca1\u627e\u5230\u8bfe\u7a0b\u7684\u4e3b\u9875\uff0c\u53ea\u6709\u5728 github \u6709 homework \u7684\u6e90\u7801\uff08\u540d\u5b57\u4e3a AP1400-2-HW \u7684\u90a3\u51e0\u4e2a\uff09\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a\u65e0 \u8bfe\u7a0b\u4ee3\u7801\uff1a https://github.com/courseworks \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 homework","title":"AmirKabir University of Technology AP1400-2: Advanced Programming"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/AUT1400/#amirkabir-university-of-technology-1400-2-advanced-programming-course","text":"","title":"Amirkabir University of Technology 1400-2: Advanced Programming Course"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/AUT1400/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aAmirkabir University of Technology \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u65e0\u610f\u4e2d\u53d1\u73b0\u7684\u4e00\u4e2a C++ \u8bfe\u7a0b\u3002\u8bfe\u7a0b\u7684 homework \u8d28\u91cf\u5f88\u9ad8\uff0c\u6bcf\u4e2a homework \u76f8\u4e92\u72ec\u7acb\u7ed3\u6784\u7b80\u5355\uff0c\u4e14\u6709\u5b8c\u5584\u7684\u5355\u5143\u6d4b\u8bd5\uff0c\u975e\u5e38\u9002\u5408\u7528\u6765\u5b66\u4e60 C++ \u7684\u7f16\u7a0b\u3002\u672c\u8bfe\u7a0b\u5171 7 \u4e2a homework\uff0c\u5982\u4e0b\u6240\u793a\uff1a \u5b9e\u73b0\u4e00\u4e2a Matrix \u7c7b\u4ee5\u53ca\u76f8\u5173\u51fd\u6570\u3002 \u5b9e\u73b0\u4e00\u4e2a\u6a21\u62df\u52a0\u5bc6\u8d27\u5e01\u5ba2\u6237\u7aef/\u670d\u52a1\u7aef\u6267\u884c\u8fc7\u7a0b\u7684\u7a0b\u5e8f\u3002 \u5b9e\u73b0\u4e00\u4e2a Binary Search Tree (BST)\u3002 \u5b9e\u73b0 C++ \u4e2d\u7684 SharedPtr \u548c UniquePtr \u667a\u80fd\u6307\u9488\u3002 \u4f7f\u7528\u7ee7\u627f\u548c\u591a\u6001\u5b9e\u73b0\u591a\u4e2a\u7c7b\u3002 \u4f7f\u7528 STL \u5e93\u89e3\u51b3 4 \u4e2a\u95ee\u9898\u3002 \u662f\u4e2a python \u9879\u76ee\uff0c\u6709\u5174\u8da3\u7684\u53ef\u4ee5\u770b\u770b\u3002 \u6ca1\u627e\u5230\u8bfe\u7a0b\u7684\u4e3b\u9875\uff0c\u53ea\u6709\u5728 github \u6709 homework \u7684\u6e90\u7801\uff08\u540d\u5b57\u4e3a AP1400-2-HW \u7684\u90a3\u51e0\u4e2a\uff09\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/AUT1400/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a\u65e0 \u8bfe\u7a0b\u4ee3\u7801\uff1a https://github.com/courseworks \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 homework","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106B_CS106X/","text":"Stanford CS106B/X: Programming Abstractions in C++ \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u57fa\u7840 (CS50/CS106A/CS61A or equivalent) \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 Stanford \u7684\u8fdb\u9636\u7f16\u7a0b\u8bfe\uff0cCS106X \u5728\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u4f1a\u6bd4 CS106B \u6709\u6240\u63d0\u9ad8\uff0c\u4f46\u4e3b\u4f53\u5185\u5bb9\u7c7b\u4f3c\u3002\u4e3b\u8981\u901a\u8fc7 C++ \u8bed\u8a00\u8ba9\u5b66\u751f\u5728\u5b9e\u9645\u7684\u7f16\u7a0b\u4f5c\u4e1a\u91cc\u57f9\u517b\u901a\u8fc7\u7f16\u7a0b\u62bd\u8c61\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u7684\u80fd\u529b\uff0c\u540c\u65f6\u4e5f\u4f1a\u6d89\u53ca\u4e00\u4e9b\u7b80\u5355\u7684\u6570\u636e\u7ed3\u6784\u548c\u7b97\u6cd5\u7684\u77e5\u8bc6\uff0c\u4f46\u603b\u4f53\u6765\u8bf4\u6ca1\u6709\u4e00\u95e8\u4e13\u95e8\u7684\u6570\u636e\u7ed3\u6784\u8bfe\u90a3\u4e48\u7cfb\u7edf\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a CS106B , CS106X \u8bfe\u7a0b\u6559\u6750\uff1a https://web.stanford.edu/class/cs106x/res/reader/CS106BX-Reader.pdf \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1G7411k7jG","title":"Stanford CS106B/X"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106B_CS106X/#stanford-cs106bx-programming-abstractions-in-c","text":"","title":"Stanford CS106B/X: Programming Abstractions in C++"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106B_CS106X/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u57fa\u7840 (CS50/CS106A/CS61A or equivalent) \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 Stanford \u7684\u8fdb\u9636\u7f16\u7a0b\u8bfe\uff0cCS106X \u5728\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u4f1a\u6bd4 CS106B \u6709\u6240\u63d0\u9ad8\uff0c\u4f46\u4e3b\u4f53\u5185\u5bb9\u7c7b\u4f3c\u3002\u4e3b\u8981\u901a\u8fc7 C++ \u8bed\u8a00\u8ba9\u5b66\u751f\u5728\u5b9e\u9645\u7684\u7f16\u7a0b\u4f5c\u4e1a\u91cc\u57f9\u517b\u901a\u8fc7\u7f16\u7a0b\u62bd\u8c61\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u7684\u80fd\u529b\uff0c\u540c\u65f6\u4e5f\u4f1a\u6d89\u53ca\u4e00\u4e9b\u7b80\u5355\u7684\u6570\u636e\u7ed3\u6784\u548c\u7b97\u6cd5\u7684\u77e5\u8bc6\uff0c\u4f46\u603b\u4f53\u6765\u8bf4\u6ca1\u6709\u4e00\u95e8\u4e13\u95e8\u7684\u6570\u636e\u7ed3\u6784\u8bfe\u90a3\u4e48\u7cfb\u7edf\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106B_CS106X/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a CS106B , CS106X \u8bfe\u7a0b\u6559\u6750\uff1a https://web.stanford.edu/class/cs106x/res/reader/CS106BX-Reader.pdf \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1G7411k7jG","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/","text":"CS106L: Standard C++ Programming \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6700\u597d\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a20 \u5c0f\u65f6 \u6211\u4ece\u5927\u4e00\u5f00\u59cb\u4e00\u76f4\u90fd\u662f\u5199\u7684 C++ \u4ee3\u7801\uff0c\u76f4\u5230\u5b66\u5b8c\u8fd9\u95e8\u8bfe\u6211\u624d\u610f\u8bc6\u5230\uff0c\u6211\u5199\u7684 C++ \u4ee3\u7801\u5927\u6982\u53ea\u662f C \u8bed\u8a00 + cin / cout \u800c\u5df2\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u6df1\u5165\u5230\u5f88\u591a\u6807\u51c6 C++ \u7684\u7279\u6027\u548c\u8bed\u6cd5\uff0c\u8ba9\u4f60\u7f16\u5199\u51fa\u9ad8\u8d28\u91cf\u7684 C++ \u4ee3\u7801\u3002\u4f8b\u5982 auto binding, uniform initialization, lambda function, move semantics\uff0cRAII \u7b49\u6280\u5de7\u90fd\u5728\u6211\u6b64\u540e\u7684\u4ee3\u7801\u751f\u6daf\u4e2d\u88ab\u53cd\u590d\u7528\u5230\uff0c\u975e\u5e38\u5b9e\u7528\u3002 \u503c\u5f97\u4e00\u63d0\u7684\u662f\uff0c\u8fd9\u95e8\u8bfe\u7684\u4f5c\u4e1a\u91cc\u4f60\u4f1a\u5b9e\u73b0\u4e00\u4e2a HashMap\uff08\u7c7b\u4f3c\u4e8e STL \u4e2d\u7684 unordered_map ), \u8fd9\u4e2a\u4f5c\u4e1a\u51e0\u4e4e\u628a\u6574\u4e2a\u8bfe\u7a0b\u4e32\u8054\u4e86\u8d77\u6765\uff0c\u975e\u5e38\u8003\u9a8c\u4ee3\u7801\u80fd\u529b\u3002\u7279\u522b\u662f iterator \u7684\u5b9e\u73b0\uff0c\u505a\u5b8c\u8fd9\u4e2a\u4f5c\u4e1a\u6211\u5f00\u59cb\u7406\u89e3\u4e3a\u4ec0\u4e48 Linus \u5bf9 C/C++ \u55e4\u4e4b\u4ee5\u9f3b\u4e86\uff0c\u56e0\u4e3a\u771f\u7684\u5f88\u96be\u5199\u5bf9\u3002 \u603b\u7684\u6765\u8bb2\u8fd9\u95e8\u8bfe\u5e76\u4e0d\u96be\uff0c\u4f46\u662f\u4fe1\u606f\u91cf\u5f88\u5927\uff0c\u9700\u8981\u4f60\u5728\u4e4b\u540e\u7684\u5f00\u53d1\u5b9e\u8df5\u4e2d\u53cd\u590d\u5de9\u56fa\u3002Stanford \u4e4b\u6240\u4ee5\u5355\u5f00\u4e00\u95e8 C++ \u7684\u7f16\u7a0b\u8bfe\uff0c\u662f\u56e0\u4e3a\u5b83\u540e\u7eed\u7684\u5f88\u591a CS \u8bfe\u7a0b Project \u90fd\u662f\u57fa\u4e8e C++\u7684\u3002\u4f8b\u5982 CS144 \u8ba1\u7b97\u673a\u7f51\u7edc\u548c CS143 \u7f16\u8bd1\u5668\u3002\u8fd9\u4e24\u95e8\u8bfe\u5728\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs106l/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/channel/UCSqr6y-eaQT_qZJVUm_4QxQ/playlists \u8bfe\u7a0b\u6559\u6750\uff1a http://web.stanford.edu/class/cs106l/full_course_reader.pdf Assignment1\u4e0b\u8f7d\u7f51\u5740\uff1a https://github.com/snme/cs106L-assignment1 Assignment2\u4e0b\u8f7d\u7f51\u5740\uff1a https://github.com/snme/cs106L-assignment2 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5177\u4f53\u5185\u5bb9\u89c1\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u6211\u505a\u7684\u65f6\u5019\u4e00\u5171\u662f\u4e24\u4e2a\uff1a \u5b9e\u73b0\u4e00\u4e2a WikiRacer \u7684\u5c0f\u6e38\u620f \u5b9e\u73b0\u4e00\u4e2a\u7c7b\u4f3c STL \u5e93\u7684 HashMap \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS106L - GitHub \u4e2d\u3002","title":"Stanford CS106L: Standard C++ Programming"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#cs106l-standard-c-programming","text":"","title":"CS106L: Standard C++ Programming"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6700\u597d\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a20 \u5c0f\u65f6 \u6211\u4ece\u5927\u4e00\u5f00\u59cb\u4e00\u76f4\u90fd\u662f\u5199\u7684 C++ \u4ee3\u7801\uff0c\u76f4\u5230\u5b66\u5b8c\u8fd9\u95e8\u8bfe\u6211\u624d\u610f\u8bc6\u5230\uff0c\u6211\u5199\u7684 C++ \u4ee3\u7801\u5927\u6982\u53ea\u662f C \u8bed\u8a00 + cin / cout \u800c\u5df2\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u6df1\u5165\u5230\u5f88\u591a\u6807\u51c6 C++ \u7684\u7279\u6027\u548c\u8bed\u6cd5\uff0c\u8ba9\u4f60\u7f16\u5199\u51fa\u9ad8\u8d28\u91cf\u7684 C++ \u4ee3\u7801\u3002\u4f8b\u5982 auto binding, uniform initialization, lambda function, move semantics\uff0cRAII \u7b49\u6280\u5de7\u90fd\u5728\u6211\u6b64\u540e\u7684\u4ee3\u7801\u751f\u6daf\u4e2d\u88ab\u53cd\u590d\u7528\u5230\uff0c\u975e\u5e38\u5b9e\u7528\u3002 \u503c\u5f97\u4e00\u63d0\u7684\u662f\uff0c\u8fd9\u95e8\u8bfe\u7684\u4f5c\u4e1a\u91cc\u4f60\u4f1a\u5b9e\u73b0\u4e00\u4e2a HashMap\uff08\u7c7b\u4f3c\u4e8e STL \u4e2d\u7684 unordered_map ), \u8fd9\u4e2a\u4f5c\u4e1a\u51e0\u4e4e\u628a\u6574\u4e2a\u8bfe\u7a0b\u4e32\u8054\u4e86\u8d77\u6765\uff0c\u975e\u5e38\u8003\u9a8c\u4ee3\u7801\u80fd\u529b\u3002\u7279\u522b\u662f iterator \u7684\u5b9e\u73b0\uff0c\u505a\u5b8c\u8fd9\u4e2a\u4f5c\u4e1a\u6211\u5f00\u59cb\u7406\u89e3\u4e3a\u4ec0\u4e48 Linus \u5bf9 C/C++ \u55e4\u4e4b\u4ee5\u9f3b\u4e86\uff0c\u56e0\u4e3a\u771f\u7684\u5f88\u96be\u5199\u5bf9\u3002 \u603b\u7684\u6765\u8bb2\u8fd9\u95e8\u8bfe\u5e76\u4e0d\u96be\uff0c\u4f46\u662f\u4fe1\u606f\u91cf\u5f88\u5927\uff0c\u9700\u8981\u4f60\u5728\u4e4b\u540e\u7684\u5f00\u53d1\u5b9e\u8df5\u4e2d\u53cd\u590d\u5de9\u56fa\u3002Stanford \u4e4b\u6240\u4ee5\u5355\u5f00\u4e00\u95e8 C++ \u7684\u7f16\u7a0b\u8bfe\uff0c\u662f\u56e0\u4e3a\u5b83\u540e\u7eed\u7684\u5f88\u591a CS \u8bfe\u7a0b Project \u90fd\u662f\u57fa\u4e8e C++\u7684\u3002\u4f8b\u5982 CS144 \u8ba1\u7b97\u673a\u7f51\u7edc\u548c CS143 \u7f16\u8bd1\u5668\u3002\u8fd9\u4e24\u95e8\u8bfe\u5728\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs106l/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/channel/UCSqr6y-eaQT_qZJVUm_4QxQ/playlists \u8bfe\u7a0b\u6559\u6750\uff1a http://web.stanford.edu/class/cs106l/full_course_reader.pdf Assignment1\u4e0b\u8f7d\u7f51\u5740\uff1a https://github.com/snme/cs106L-assignment1 Assignment2\u4e0b\u8f7d\u7f51\u5740\uff1a https://github.com/snme/cs106L-assignment2 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5177\u4f53\u5185\u5bb9\u89c1\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u6211\u505a\u7684\u65f6\u5019\u4e00\u5171\u662f\u4e24\u4e2a\uff1a \u5b9e\u73b0\u4e00\u4e2a WikiRacer \u7684\u5c0f\u6e38\u620f \u5b9e\u73b0\u4e00\u4e2a\u7c7b\u4f3c STL \u5e93\u7684 HashMap","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS106L - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/","text":"CS110L: Safety in Systems Programming \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6700\u597d\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u80cc\u666f\u5e76\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u521d\u6b65\u7684\u8ba4\u8bc6\u3002 \u7f16\u7a0b\u8bed\u8a00\uff1aRust \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30 \u5c0f\u65f6 \u5728\u8fd9\u95e8\u8bfe\u4e2d\u4f60\u5c06\u4f1a\u5b66\u4e60 Rust \u8fd9\u95e8\u795e\u5947\u7684\u8bed\u8a00\u3002 \u5982\u679c\u4f60\u5b66\u8fc7 C \u5e76\u63a5\u89e6\u8fc7\u4e00\u4e9b\u7cfb\u7edf\u7f16\u7a0b\u7684\u8bdd\uff0c\u5e94\u8be5\u5bf9 C \u7684\u5185\u5b58\u6cc4\u6f0f\u4ee5\u53ca\u6307\u9488\u7684\u5371\u9669\u6709\u6240\u8033\u95fb\uff0c\u4f46 C \u7684\u5e95\u5c42\u7279\u6027\u4ee5\u53ca\u9ad8\u6548\u4ecd\u7136\u8ba9\u5b83\u5728\u7cfb\u7edf\u7ea7\u7f16\u7a0b\u4e2d\u65e0\u6cd5\u88ab\u4f8b\u5982 Java \u7b49\u81ea\u5e26\u5783\u573e\u6536\u96c6\u673a\u5236\u7684\u9ad8\u7ea7\u8bed\u8a00\u6240\u66ff\u4ee3\u3002\u800c Rust \u7684\u76ee\u6807\u5219\u662f\u5e0c\u671b\u5728 C \u7684\u9ad8\u6548\u57fa\u7840\u4e0a\uff0c\u5f25\u8865\u5176\u5b89\u5168\u4e0d\u8db3\u7684\u7f3a\u70b9\u3002\u56e0\u6b64 Rust \u5728\u8bbe\u8ba1\u4e4b\u521d\uff0c\u5c31\u6709\u5e26\u6709\u5f88\u591a\u7cfb\u7edf\u7f16\u7a0b\u7684\u89c2\u70b9\u3002\u5b66\u4e60 Rust\uff0c\u4e5f\u80fd\u8ba9\u4f60\u4e4b\u540e\u80fd\u7528 C \u8bed\u8a00\u7f16\u5199\u51fa\u66f4\u5b89\u5168\u66f4\u4f18\u96c5\u7684\u7cfb\u7edf\u7ea7\u4ee3\u7801\uff08\u4f8b\u5982\u64cd\u4f5c\u7cfb\u7edf\u7b49\uff09\u3002 \u8fd9\u95e8\u8bfe\u7684\u540e\u534a\u90e8\u5206\u5173\u6ce8\u5728\u5e76\u53d1\uff08concurrency\uff09\u8fd9\u4e00\u4e3b\u9898\u4e0a\uff0c\u4f60\u5c06\u4f1a\u7cfb\u7edf\u5730\u638c\u63e1\u591a\u8fdb\u7a0b\u3001\u591a\u7ebf\u7a0b\u3001\u57fa\u4e8e\u4e8b\u4ef6\u9a71\u52a8\u7684\u5e76\u53d1\u7b49\u82e5\u5e72\u5e76\u53d1\u6280\u672f\uff0c\u5e76\u5728\u7b2c\u4e8c\u4e2a Project \u4e2d\u6bd4\u8f83\u5b83\u4eec\u5404\u81ea\u7684\u4f18\u52a3\u3002Rust \u4e2d \u201cfutures\u201d \u7684\u6982\u5ff5\u975e\u5e38\u6709\u8da3\u548c\u4f18\u96c5\uff0c\u8fd9\u4e9b\u57fa\u7840\u77e5\u8bc6\u5bf9\u4f60\u540e\u7eed\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u76f8\u5173\u8bfe\u7a0b\u7684\u5b66\u4e60\u5f88\u6709\u5e2e\u52a9\u3002\u53e6\u5916\uff0c\u6e05\u534e\u5927\u5b66\u7684\u64cd\u7edf\u5b9e\u9a8c rCore \u5c31\u662f\u57fa\u4e8e Rust \u7f16\u5199\u7684\uff0c\u5177\u4f53\u53c2\u89c1 \u6587\u6863 \u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://reberhardt.com/cs110l/spring-2020/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://youtu.be/j7AQrtLevUE \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5171 6 \u4e2a Lab \u548c 2 \u4e2a Project\uff0c\u4f5c\u4e1a\u6587\u6863\u548c\u4ee3\u7801\u6846\u67b6\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002\u5176\u4e2d\u4e24\u4e2a Project \u975e\u5e38\u6709\u8da3\uff0c\u5206\u522b\u662f\uff1a \u7528 Rust \u5b9e\u73b0\u4e00\u4e2a\u7c7b\u4f3c\u4e8e GDB \u7684 debugger \u7528 Rust \u5b9e\u73b0\u4e00\u4e2a\u8d1f\u8f7d\u5747\u8861\u5668 CS 242: Programming Languages, Fall2019 week6 \u5230 week9 \u5173\u4e8e Rust \u5185\u5bb9\u7684\u8bb2\u89e3\u975e\u5e38\u7ec6\u81f4\uff0c \u53ef\u4ee5\u4f5c\u4e3a\u8be5\u8bfe\u7a0b\u7684\u8bb2\u4e49\u8865\u5145\u3002 \u53e6\u5916\uff0c Ryan \u5728 https://reberhardt.com/cs110l/spring-2021/ \u4e2d\u8865\u5145\u4e86 2020 \u7248\u672c\u7f3a\u5931\u7684\u5173\u4e8e Futures Trait \u5185\u5bb9\u7684\u89c6\u9891\u3002 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS110L - GitHub \u4e2d\u3002 \u57282022\u5e74 CS110L \u6ca1\u6709\u5f00\u6e90\u4f5c\u4e1a\u6e90\u7801\u7684\u80cc\u666f\u4e0b\uff0cRust \u5feb\u901f\u6f14\u8fdb\u5bfc\u81f42020\u7248\u672c\u8bfe\u7a0b\u9879\u76ee\u4e2d\u6240\u4f7f\u7528\u7684\u5e93\u8fc7\u4e8e\u8001\u65e7\u3002\u5bf9\u6b64\uff0c @fung-hwang \u5c1d\u8bd5\u8fdb\u884c\u4e86\u9002\u914d\uff08\u65f6\u95f4\u4e3a2022.11)\u3002\u5176\u9002\u914d\u8fc7\u7a0b\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 fung-hwang/CS110L-2020spr - GitHub \u4e2d\u3002\u4e5f\u8bb8\u5f53\u4f60\u5f00\u59cb\u672c\u8bfe\u7a0b\u65f6 Rust \u548c\u8fd9\u4e9b\u5e93\u53c8\u53d1\u751f\u4e86\u53d8\u5316\uff0c\u4f46\u4f60\u4ecd\u53ef\u4ee5\u53c2\u8003\u5e76\u4ece\u4e2d\u83b7\u5f97\u542f\u53d1\u3002","title":"Stanford CS110L: Safety in Systems Programming"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#cs110l-safety-in-systems-programming","text":"","title":"CS110L: Safety in Systems Programming"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6700\u597d\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u80cc\u666f\u5e76\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u521d\u6b65\u7684\u8ba4\u8bc6\u3002 \u7f16\u7a0b\u8bed\u8a00\uff1aRust \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30 \u5c0f\u65f6 \u5728\u8fd9\u95e8\u8bfe\u4e2d\u4f60\u5c06\u4f1a\u5b66\u4e60 Rust \u8fd9\u95e8\u795e\u5947\u7684\u8bed\u8a00\u3002 \u5982\u679c\u4f60\u5b66\u8fc7 C \u5e76\u63a5\u89e6\u8fc7\u4e00\u4e9b\u7cfb\u7edf\u7f16\u7a0b\u7684\u8bdd\uff0c\u5e94\u8be5\u5bf9 C \u7684\u5185\u5b58\u6cc4\u6f0f\u4ee5\u53ca\u6307\u9488\u7684\u5371\u9669\u6709\u6240\u8033\u95fb\uff0c\u4f46 C \u7684\u5e95\u5c42\u7279\u6027\u4ee5\u53ca\u9ad8\u6548\u4ecd\u7136\u8ba9\u5b83\u5728\u7cfb\u7edf\u7ea7\u7f16\u7a0b\u4e2d\u65e0\u6cd5\u88ab\u4f8b\u5982 Java \u7b49\u81ea\u5e26\u5783\u573e\u6536\u96c6\u673a\u5236\u7684\u9ad8\u7ea7\u8bed\u8a00\u6240\u66ff\u4ee3\u3002\u800c Rust \u7684\u76ee\u6807\u5219\u662f\u5e0c\u671b\u5728 C \u7684\u9ad8\u6548\u57fa\u7840\u4e0a\uff0c\u5f25\u8865\u5176\u5b89\u5168\u4e0d\u8db3\u7684\u7f3a\u70b9\u3002\u56e0\u6b64 Rust \u5728\u8bbe\u8ba1\u4e4b\u521d\uff0c\u5c31\u6709\u5e26\u6709\u5f88\u591a\u7cfb\u7edf\u7f16\u7a0b\u7684\u89c2\u70b9\u3002\u5b66\u4e60 Rust\uff0c\u4e5f\u80fd\u8ba9\u4f60\u4e4b\u540e\u80fd\u7528 C \u8bed\u8a00\u7f16\u5199\u51fa\u66f4\u5b89\u5168\u66f4\u4f18\u96c5\u7684\u7cfb\u7edf\u7ea7\u4ee3\u7801\uff08\u4f8b\u5982\u64cd\u4f5c\u7cfb\u7edf\u7b49\uff09\u3002 \u8fd9\u95e8\u8bfe\u7684\u540e\u534a\u90e8\u5206\u5173\u6ce8\u5728\u5e76\u53d1\uff08concurrency\uff09\u8fd9\u4e00\u4e3b\u9898\u4e0a\uff0c\u4f60\u5c06\u4f1a\u7cfb\u7edf\u5730\u638c\u63e1\u591a\u8fdb\u7a0b\u3001\u591a\u7ebf\u7a0b\u3001\u57fa\u4e8e\u4e8b\u4ef6\u9a71\u52a8\u7684\u5e76\u53d1\u7b49\u82e5\u5e72\u5e76\u53d1\u6280\u672f\uff0c\u5e76\u5728\u7b2c\u4e8c\u4e2a Project \u4e2d\u6bd4\u8f83\u5b83\u4eec\u5404\u81ea\u7684\u4f18\u52a3\u3002Rust \u4e2d \u201cfutures\u201d \u7684\u6982\u5ff5\u975e\u5e38\u6709\u8da3\u548c\u4f18\u96c5\uff0c\u8fd9\u4e9b\u57fa\u7840\u77e5\u8bc6\u5bf9\u4f60\u540e\u7eed\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u76f8\u5173\u8bfe\u7a0b\u7684\u5b66\u4e60\u5f88\u6709\u5e2e\u52a9\u3002\u53e6\u5916\uff0c\u6e05\u534e\u5927\u5b66\u7684\u64cd\u7edf\u5b9e\u9a8c rCore \u5c31\u662f\u57fa\u4e8e Rust \u7f16\u5199\u7684\uff0c\u5177\u4f53\u53c2\u89c1 \u6587\u6863 \u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://reberhardt.com/cs110l/spring-2020/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://youtu.be/j7AQrtLevUE \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5171 6 \u4e2a Lab \u548c 2 \u4e2a Project\uff0c\u4f5c\u4e1a\u6587\u6863\u548c\u4ee3\u7801\u6846\u67b6\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002\u5176\u4e2d\u4e24\u4e2a Project \u975e\u5e38\u6709\u8da3\uff0c\u5206\u522b\u662f\uff1a \u7528 Rust \u5b9e\u73b0\u4e00\u4e2a\u7c7b\u4f3c\u4e8e GDB \u7684 debugger \u7528 Rust \u5b9e\u73b0\u4e00\u4e2a\u8d1f\u8f7d\u5747\u8861\u5668 CS 242: Programming Languages, Fall2019 week6 \u5230 week9 \u5173\u4e8e Rust \u5185\u5bb9\u7684\u8bb2\u89e3\u975e\u5e38\u7ec6\u81f4\uff0c \u53ef\u4ee5\u4f5c\u4e3a\u8be5\u8bfe\u7a0b\u7684\u8bb2\u4e49\u8865\u5145\u3002 \u53e6\u5916\uff0c Ryan \u5728 https://reberhardt.com/cs110l/spring-2021/ \u4e2d\u8865\u5145\u4e86 2020 \u7248\u672c\u7f3a\u5931\u7684\u5173\u4e8e Futures Trait \u5185\u5bb9\u7684\u89c6\u9891\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS110L - GitHub \u4e2d\u3002 \u57282022\u5e74 CS110L \u6ca1\u6709\u5f00\u6e90\u4f5c\u4e1a\u6e90\u7801\u7684\u80cc\u666f\u4e0b\uff0cRust \u5feb\u901f\u6f14\u8fdb\u5bfc\u81f42020\u7248\u672c\u8bfe\u7a0b\u9879\u76ee\u4e2d\u6240\u4f7f\u7528\u7684\u5e93\u8fc7\u4e8e\u8001\u65e7\u3002\u5bf9\u6b64\uff0c @fung-hwang \u5c1d\u8bd5\u8fdb\u884c\u4e86\u9002\u914d\uff08\u65f6\u95f4\u4e3a2022.11)\u3002\u5176\u9002\u914d\u8fc7\u7a0b\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 fung-hwang/CS110L-2020spr - GitHub \u4e2d\u3002\u4e5f\u8bb8\u5f53\u4f60\u5f00\u59cb\u672c\u8bfe\u7a0b\u65f6 Rust \u548c\u8fd9\u4e9b\u5e93\u53c8\u53d1\u751f\u4e86\u53d8\u5316\uff0c\u4f46\u4f60\u4ecd\u53ef\u4ee5\u53c2\u8003\u5e76\u4ece\u4e2d\u83b7\u5f97\u542f\u53d1\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/","text":"CS50: This is CS50x \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aHarvard \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC, Python, SQL, HTML, CSS, JavaScript \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a20 \u5c0f\u65f6 \u8fde\u7eed\u591a\u5e74\u88ab\u54c8\u4f5b\u5927\u5b66\u5b66\u751f\u8bc4\u4e3a\u6700\u53d7\u6b22\u8fce\u7684\u516c\u9009\u8bfe\u7a0b\u3002Malan \u6559\u6388\u4e0a\u8bfe\u975e\u5e38\u6709\u6fc0\u60c5\uff0c\u6495\u9ec4\u9875\u8bb2\u4e8c\u5206\u6cd5\u7684\u573a\u9762\u8ba9\u4eba\u8bb0\u5fc6\u72b9\u65b0\uff08\u7b11\uff09\u3002\u4f46\u56e0\u4e3a\u5b83\u7684\u5165\u95e8\u4ee5\u53ca\u5168\u6821\u516c\u9009\u7684\u5c5e\u6027\uff0c\u8bfe\u7a0b\u5185\u5bb9\u96be\u5ea6\u6bd4\u8f83\u6e29\u548c\uff0c\u4f46\u662f\u8bfe\u7a0b\u4f5c\u4e1a\u8d28\u91cf\u975e\u5e38\u9ad8\u800c\u4e14\u5168\u90e8\u514d\u8d39\u5f00\u6e90\uff0c\u975e\u5e38\u9002\u5408\u5c0f\u767d\u5165\u95e8\uff0c\u6216\u8005\u5927\u4f6c\u4f11\u95f2\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a 2022 , 2023 \u8bfe\u7a0b\u89c6\u9891\uff1a 2022 , 2023 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 2022 , 2023 \u8d44\u6e90\u6c47\u603b @mancuoj \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 mancuoj/CS50x - GitHub \u4e2d\u3002","title":"Harvard CS50: This is CS50x"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/#cs50-this-is-cs50x","text":"","title":"CS50: This is CS50x"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aHarvard \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC, Python, SQL, HTML, CSS, JavaScript \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a20 \u5c0f\u65f6 \u8fde\u7eed\u591a\u5e74\u88ab\u54c8\u4f5b\u5927\u5b66\u5b66\u751f\u8bc4\u4e3a\u6700\u53d7\u6b22\u8fce\u7684\u516c\u9009\u8bfe\u7a0b\u3002Malan \u6559\u6388\u4e0a\u8bfe\u975e\u5e38\u6709\u6fc0\u60c5\uff0c\u6495\u9ec4\u9875\u8bb2\u4e8c\u5206\u6cd5\u7684\u573a\u9762\u8ba9\u4eba\u8bb0\u5fc6\u72b9\u65b0\uff08\u7b11\uff09\u3002\u4f46\u56e0\u4e3a\u5b83\u7684\u5165\u95e8\u4ee5\u53ca\u5168\u6821\u516c\u9009\u7684\u5c5e\u6027\uff0c\u8bfe\u7a0b\u5185\u5bb9\u96be\u5ea6\u6bd4\u8f83\u6e29\u548c\uff0c\u4f46\u662f\u8bfe\u7a0b\u4f5c\u4e1a\u8d28\u91cf\u975e\u5e38\u9ad8\u800c\u4e14\u5168\u90e8\u514d\u8d39\u5f00\u6e90\uff0c\u975e\u5e38\u9002\u5408\u5c0f\u767d\u5165\u95e8\uff0c\u6216\u8005\u5927\u4f6c\u4f11\u95f2\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a 2022 , 2023 \u8bfe\u7a0b\u89c6\u9891\uff1a 2022 , 2023 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 2022 , 2023","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/#_3","text":"@mancuoj \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 mancuoj/CS50x - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50P/","text":"CS50P Introduction to Programming with Python \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aHarvard University \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30-40 hours CS50\u7684\u756a\u5916\u7bc7\uff0c\u4f9d\u65e7\u7531 David J. Malan \u6388\u8bfe\u3002\u5728\u8be5\u8bfe\u7a0b\u4e2d\u4f60\u5c06\u5b66\u4f1a Python \u7684\u57fa\u7840\u4e0e\u8fdb\u9636\u8bed\u6cd5\uff0c\u4ee5\u53ca\u5404\u79cd \u201cPythonic\u201d \u7684\u7f16\u7a0b\u65b9\u6cd5\u3002\u6b64\u5916\u5bf9\u4e8e Python \u7279\u8272\u7684\u4ee3\u7801\u5e93\u3001\u4ee3\u7801\u6d4b\u8bd5\u4ee5\u53ca\u9519\u8bef\u5904\u7406\uff0c\u8be5\u8bfe\u7a0b\u4e5f\u4f1a\u8f83\u4e3a\u6df1\u5165\u5730\u63a2\u7a76\u3002 \u8be5\u8bfe\u7a0b\u65e0\u9700\u4efb\u4f55\u7f16\u7a0b\u57fa\u7840\uff0c\u4e14\u76f8\u5bf9\u5e73\u6613\u8fd1\u4eba\u3002\u9002\u5408\u6240\u6709\u60f3\u8981\u5feb\u901f\u5165\u95e8 Python \u8bed\u8a00\u7684\u5404\u9636\u6bb5\u5b66\u751f\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a 2022 \u8bfe\u7a0b\u89c6\u9891\uff1a 2022 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 2022 \u8d44\u6e90\u6c47\u603b @mancuoj \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 mancuoj/CS50P - GitHub \u4e2d\u3002","title":"CS50P: CS50's Introduction to Programming with Python"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50P/#cs50p-introduction-to-programming-with-python","text":"","title":"CS50P Introduction to Programming with Python"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50P/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aHarvard University \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30-40 hours CS50\u7684\u756a\u5916\u7bc7\uff0c\u4f9d\u65e7\u7531 David J. Malan \u6388\u8bfe\u3002\u5728\u8be5\u8bfe\u7a0b\u4e2d\u4f60\u5c06\u5b66\u4f1a Python \u7684\u57fa\u7840\u4e0e\u8fdb\u9636\u8bed\u6cd5\uff0c\u4ee5\u53ca\u5404\u79cd \u201cPythonic\u201d \u7684\u7f16\u7a0b\u65b9\u6cd5\u3002\u6b64\u5916\u5bf9\u4e8e Python \u7279\u8272\u7684\u4ee3\u7801\u5e93\u3001\u4ee3\u7801\u6d4b\u8bd5\u4ee5\u53ca\u9519\u8bef\u5904\u7406\uff0c\u8be5\u8bfe\u7a0b\u4e5f\u4f1a\u8f83\u4e3a\u6df1\u5165\u5730\u63a2\u7a76\u3002 \u8be5\u8bfe\u7a0b\u65e0\u9700\u4efb\u4f55\u7f16\u7a0b\u57fa\u7840\uff0c\u4e14\u76f8\u5bf9\u5e73\u6613\u8fd1\u4eba\u3002\u9002\u5408\u6240\u6709\u60f3\u8981\u5feb\u901f\u5165\u95e8 Python \u8bed\u8a00\u7684\u5404\u9636\u6bb5\u5b66\u751f\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50P/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a 2022 \u8bfe\u7a0b\u89c6\u9891\uff1a 2022 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 2022","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50P/#_3","text":"@mancuoj \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 mancuoj/CS50P - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/","text":"CS61A: Structure and Interpretation of Computer Programs \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aPython, Scheme, SQL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u4f2f\u514b\u5229 CS61 \u7cfb\u5217\u7684\u7b2c\u4e00\u95e8\u8bfe\u7a0b\uff0c\u4e5f\u662f\u6211\u7684 Python \u5165\u95e8\u8bfe\u3002 CS61 \u7cfb\u5217\u662f\u4f2f\u514b\u5229 CS \u4e13\u4e1a\u7684\u5165\u95e8\u8bfe\uff0c\u5176\u4e2d\uff1a CS61A: \u5f3a\u8c03\u62bd\u8c61\uff0c\u8ba9\u5b66\u751f\u638c\u63e1\u7528\u7a0b\u5e8f\u6765\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff0c\u800c\u4e0d\u5173\u6ce8\u5e95\u5c42\u7684\u786c\u4ef6\u7ec6\u8282\u3002 CS61B: \u6ce8\u91cd\u7b97\u6cd5\u4e0e\u6570\u636e\u7ed3\u6784\u4ee5\u53ca\u5927\u89c4\u6a21\u7a0b\u5e8f\u7684\u6784\u5efa\uff0c\u5b66\u751f\u4f1a\u7528 Java \u8bed\u8a00\u7ed3\u5408\u7b97\u6cd5\u4e0e\u6570\u636e\u7ed3\u6784\u7684\u77e5\u8bc6\u6765\u6784\u5efa\u5343\u884c\u4ee3\u7801\u7ea7\u522b\u7684\u5927\u578b\u9879\u76ee\uff08\u4e00\u4e2a\u7b80\u6613\u7684\u8c37\u6b4c\u5730\u56fe\uff0c\u4e00\u4e2a\u4e8c\u7ef4\u7248\u7684 Minecraft\uff09\u3002 CS61C: \u5173\u6ce8\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u8ba9\u5b66\u751f\u7406\u89e3\u9ad8\u7ea7\u8bed\u8a00\uff08\u4f8b\u5982 C\uff09\u662f\u5982\u4f55\u4e00\u6b65\u6b65\u8f6c\u6362\u4e3a\u673a\u5668\u53ef\u4ee5\u7406\u89e3\u7684 01 \u4e32\u5e76\u5728 CPU \u6267\u884c\u7684\uff0c\u5b66\u751f\u5c06\u4f1a\u5b66\u4e60 RISC-V \u67b6\u6784\u5e76\u81ea\u5df1\u7528 Logisim \u5b9e\u73b0\u4e00\u4e2a CPU\u3002 CS61B \u548c CS61C \u5728\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 \u56de\u5230 CS61A\uff0c\u6ce8\u610f\u8fd9\u4e0d\u4ec5\u4ec5\u662f\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\u8bfe\uff0c\u800c\u662f\u4f1a\u6df1\u5165\u5230\u7a0b\u5e8f\u6784\u9020\u4e0e\u8fd0\u884c\u7684\u539f\u7406\u3002\u6700\u540e\u4f60\u5c06\u5728\u7b2c 4 \u4e2a Project \u4e2d\u7528 Python \u5b9e\u73b0\u4e00\u4e2a Scheme \u7684\u89e3\u91ca\u5668\u3002\u6b64\u5916\uff0c\u62bd\u8c61\u5c06\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u4e3b\u9898\uff0c\u4f60\u5c06\u5b66\u4e60\u5230\u51fd\u6570\u5f0f\u7f16\u7a0b\u3001\u6570\u636e\u62bd\u8c61\u3001\u9762\u5411\u5bf9\u8c61\u7b49\u7b49\u77e5\u8bc6\u6765\u8ba9\u4f60\u7684\u4ee3\u7801\u66f4\u6613\u8bfb\uff0c\u66f4\u6a21\u5757\u5316\u3002\u5f53\u7136\uff0c\u5b66\u4e60\u7f16\u7a0b\u8bed\u8a00\u4e5f\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u5185\u5bb9\uff0c\u4f60\u5c06\u4f1a\u638c\u63e1 Python\u3001Scheme \u548c SQL \u8fd9\u4e09\u79cd\u7f16\u7a0b\u8bed\u8a00\uff0c\u5728\u5b83\u4eec\u7684\u5b66\u4e60\u548c\u6bd4\u8f83\u4e2d\uff0c\u76f8\u4fe1\u4f60\u4f1a\u62e5\u6709\u5feb\u901f\u638c\u63e1\u4e00\u95e8\u65b0\u7684\u7f16\u7a0b\u8bed\u8a00\u7684\u80fd\u529b\u3002 \u6ce8\u610f\uff1a\u5982\u679c\u6b64\u524d\u5b8c\u5168\u6ca1\u6709\u7f16\u7a0b\u57fa\u7840\uff0c\u76f4\u63a5\u4e0a\u624b CS61A \u9700\u8981\u4e00\u5b9a\u7684\u5b66\u4e60\u80fd\u529b\u548c\u81ea\u5f8b\u8981\u6c42\u3002\u4e3a\u907f\u514d\u8bfe\u7a0b\u96be\u5ea6\u8fc7\u9ad8\u800c\u5bfc\u81f4\u7684\u4fe1\u5fc3\u632b\u6298\uff0c\u53ef\u4ee5\u9009\u62e9\u4e00\u4e2a\u66f4\u4e3a\u53cb\u597d\u7684\u5165\u95e8\u7f16\u7a0b\u8bfe\u7a0b\u3002\u4f8b\u5982\u4f2f\u514b\u5229\u7684 CS10 \u6216\u8005\u54c8\u4f5b\u5927\u5b66\u7684 CS50 \u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://inst.eecs.berkeley.edu/~cs61a/su20/ \u8bfe\u7a0b\u89c6\u9891: \u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u6559\u6750\uff1a http://composingprograms.com/ \u8bfe\u7a0b\u6559\u6750\u4e2d\u6587\u7ffb\u8bd1\uff1a https://composingprograms.netlify.app/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u8bfe\u7a0b\u7f51\u7ad9\u4f1a\u6709\u6bcf\u4e2a\u4f5c\u4e1a\u5bf9\u5e94\u7684\u6587\u6863\u94fe\u63a5\u4ee5\u53ca\u4ee3\u7801\u6846\u67b6\u7684\u4e0b\u8f7d\u94fe\u63a5\u3002 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS61A - GitHub \u4e2d\u3002","title":"UCB CS61A: Structure and Interpretation of Computer Programs"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#cs61a-structure-and-interpretation-of-computer-programs","text":"","title":"CS61A: Structure and Interpretation of Computer Programs"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aPython, Scheme, SQL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u4f2f\u514b\u5229 CS61 \u7cfb\u5217\u7684\u7b2c\u4e00\u95e8\u8bfe\u7a0b\uff0c\u4e5f\u662f\u6211\u7684 Python \u5165\u95e8\u8bfe\u3002 CS61 \u7cfb\u5217\u662f\u4f2f\u514b\u5229 CS \u4e13\u4e1a\u7684\u5165\u95e8\u8bfe\uff0c\u5176\u4e2d\uff1a CS61A: \u5f3a\u8c03\u62bd\u8c61\uff0c\u8ba9\u5b66\u751f\u638c\u63e1\u7528\u7a0b\u5e8f\u6765\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff0c\u800c\u4e0d\u5173\u6ce8\u5e95\u5c42\u7684\u786c\u4ef6\u7ec6\u8282\u3002 CS61B: \u6ce8\u91cd\u7b97\u6cd5\u4e0e\u6570\u636e\u7ed3\u6784\u4ee5\u53ca\u5927\u89c4\u6a21\u7a0b\u5e8f\u7684\u6784\u5efa\uff0c\u5b66\u751f\u4f1a\u7528 Java \u8bed\u8a00\u7ed3\u5408\u7b97\u6cd5\u4e0e\u6570\u636e\u7ed3\u6784\u7684\u77e5\u8bc6\u6765\u6784\u5efa\u5343\u884c\u4ee3\u7801\u7ea7\u522b\u7684\u5927\u578b\u9879\u76ee\uff08\u4e00\u4e2a\u7b80\u6613\u7684\u8c37\u6b4c\u5730\u56fe\uff0c\u4e00\u4e2a\u4e8c\u7ef4\u7248\u7684 Minecraft\uff09\u3002 CS61C: \u5173\u6ce8\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u8ba9\u5b66\u751f\u7406\u89e3\u9ad8\u7ea7\u8bed\u8a00\uff08\u4f8b\u5982 C\uff09\u662f\u5982\u4f55\u4e00\u6b65\u6b65\u8f6c\u6362\u4e3a\u673a\u5668\u53ef\u4ee5\u7406\u89e3\u7684 01 \u4e32\u5e76\u5728 CPU \u6267\u884c\u7684\uff0c\u5b66\u751f\u5c06\u4f1a\u5b66\u4e60 RISC-V \u67b6\u6784\u5e76\u81ea\u5df1\u7528 Logisim \u5b9e\u73b0\u4e00\u4e2a CPU\u3002 CS61B \u548c CS61C \u5728\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 \u56de\u5230 CS61A\uff0c\u6ce8\u610f\u8fd9\u4e0d\u4ec5\u4ec5\u662f\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\u8bfe\uff0c\u800c\u662f\u4f1a\u6df1\u5165\u5230\u7a0b\u5e8f\u6784\u9020\u4e0e\u8fd0\u884c\u7684\u539f\u7406\u3002\u6700\u540e\u4f60\u5c06\u5728\u7b2c 4 \u4e2a Project \u4e2d\u7528 Python \u5b9e\u73b0\u4e00\u4e2a Scheme \u7684\u89e3\u91ca\u5668\u3002\u6b64\u5916\uff0c\u62bd\u8c61\u5c06\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u4e3b\u9898\uff0c\u4f60\u5c06\u5b66\u4e60\u5230\u51fd\u6570\u5f0f\u7f16\u7a0b\u3001\u6570\u636e\u62bd\u8c61\u3001\u9762\u5411\u5bf9\u8c61\u7b49\u7b49\u77e5\u8bc6\u6765\u8ba9\u4f60\u7684\u4ee3\u7801\u66f4\u6613\u8bfb\uff0c\u66f4\u6a21\u5757\u5316\u3002\u5f53\u7136\uff0c\u5b66\u4e60\u7f16\u7a0b\u8bed\u8a00\u4e5f\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u5185\u5bb9\uff0c\u4f60\u5c06\u4f1a\u638c\u63e1 Python\u3001Scheme \u548c SQL \u8fd9\u4e09\u79cd\u7f16\u7a0b\u8bed\u8a00\uff0c\u5728\u5b83\u4eec\u7684\u5b66\u4e60\u548c\u6bd4\u8f83\u4e2d\uff0c\u76f8\u4fe1\u4f60\u4f1a\u62e5\u6709\u5feb\u901f\u638c\u63e1\u4e00\u95e8\u65b0\u7684\u7f16\u7a0b\u8bed\u8a00\u7684\u80fd\u529b\u3002 \u6ce8\u610f\uff1a\u5982\u679c\u6b64\u524d\u5b8c\u5168\u6ca1\u6709\u7f16\u7a0b\u57fa\u7840\uff0c\u76f4\u63a5\u4e0a\u624b CS61A \u9700\u8981\u4e00\u5b9a\u7684\u5b66\u4e60\u80fd\u529b\u548c\u81ea\u5f8b\u8981\u6c42\u3002\u4e3a\u907f\u514d\u8bfe\u7a0b\u96be\u5ea6\u8fc7\u9ad8\u800c\u5bfc\u81f4\u7684\u4fe1\u5fc3\u632b\u6298\uff0c\u53ef\u4ee5\u9009\u62e9\u4e00\u4e2a\u66f4\u4e3a\u53cb\u597d\u7684\u5165\u95e8\u7f16\u7a0b\u8bfe\u7a0b\u3002\u4f8b\u5982\u4f2f\u514b\u5229\u7684 CS10 \u6216\u8005\u54c8\u4f5b\u5927\u5b66\u7684 CS50 \u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://inst.eecs.berkeley.edu/~cs61a/su20/ \u8bfe\u7a0b\u89c6\u9891: \u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u6559\u6750\uff1a http://composingprograms.com/ \u8bfe\u7a0b\u6559\u6750\u4e2d\u6587\u7ffb\u8bd1\uff1a https://composingprograms.netlify.app/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u8bfe\u7a0b\u7f51\u7ad9\u4f1a\u6709\u6bcf\u4e2a\u4f5c\u4e1a\u5bf9\u5e94\u7684\u6587\u6863\u94fe\u63a5\u4ee5\u53ca\u4ee3\u7801\u6846\u67b6\u7684\u4e0b\u8f7d\u94fe\u63a5\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS61A - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Duke-Coursera-Intro-C/","text":"Introductory C Programming Specialization \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aDuke \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a110 \u5c0f\u65f6 \u975e\u5e38\u597d\u7684\u8bfe\u7a0b\uff0c\u81ea\u6211\u611f\u89c9\u6536\u76ca\u975e\u5e38\u5927\uff1a \u4fa7\u91cd\u57fa\u7840\u548c\u57fa\u672c\u6982\u5ff5\uff1a\u5982 frame\u3001stack memory\u3001heap memory \u7b49\u8bb2\u5f97\u5f88\u900f\u3002 \u9488\u5bf9C\u6700\u96be\u638c\u63e1\u7684\u6307\u9488\uff0c\u6709\u597d\u7684\u7ec3\u4e60\u548c\u7f16\u7a0b\u6765\u52a0\u6df1\u548c\u5f3a\u5316\u7406\u89e3\u3002 \u975e\u5e38\u597d\u7684 GDB\uff0cValgrind \u4e0a\u624b\u8bad\u7ec3\uff0c\u4f5c\u4e1a\u4e5f\u4f1a\u6d89\u53ca\u4e00\u4e9b\u57fa\u672c\u7684 Git \u7ec3\u4e60\u3002 \u8001\u5e08\u5efa\u8bae\u4f5c\u4e1a\u7528 Emacs\uff0c\u6240\u4ee5\u5bf9 Emacs \u5c0f\u767d\u6765\u8bf4\uff0c\u662f\u4e2a\u4e0d\u9519\u7684\u5165\u95e8\u3002\u5982\u679c\u4f60\u4f1a\u7528 Vim \uff0c\u6211\u5efa\u8bae\u4f60\u7528 Evil \u63d2\u4ef6\u3002\u8fd9\u6837\u4f60\u4e0d\u4f1a\u4e22\u6389 Vim \u7684\u7f16\u8f91\u529f\u80fd\uff0c\u540c\u65f6\u53ef\u4ee5\u4f53\u4f1a Emacs \u7684\u5f3a\u5927\u3002\u5de5\u5177\u7bb1\u91cc\u540c\u65f6\u6709 Emacs \u548c Vim \u65f6\uff0c\u6548\u7387\u4f1a\u6709\u4e0d\u5c11\u63d0\u9ad8\u3002Emacs \u7684 org-mode\uff0c\u548c GDB \u7684\u987a\u6ed1\u6574\u5408\uff0c\u7b49\u7b49\u7b49\u7b49\uff0c\u90fd\u4f1a\u8ba9\u4f60\u5982\u864e\u6dfb\u7ffc\u3002 \u867d\u7136\u53ef\u80fd\u9700\u8981\u4ed8\u8d39\uff0c\u4f46\u6211\u89c9\u5f97\u503c\u3002 \u867d\u8bf4\u8bfe\u540d\u662f\u5165\u95e8\uff0c\u4f46\u517c\u5177\u5e7f\u5ea6\u548c\u6df1\u5ea6\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.coursera.org/specializations/c-programming \u8bfe\u7a0b\u89c6\u9891\uff1a\u540c\u4e0a \u8bfe\u7a0b\u6559\u6750\uff1a\u540c\u4e0a \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u540c\u4e0a \u8d44\u6e90\u6c47\u603b @haidongji \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7684\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 Duke Coursera Intro C \u4e2d\u3002\u56e0\u4e3a\u65f6\u95f4\u5173\u7cfb\uff0c\u6211\u6700\u540e\u4e00\u8bfe\u6700\u540e\u4e00\u5468\u7684\u51e0\u4e2a\u4f5c\u4e1a\u5230\u76ee\u524d\u8fd8\u6ca1\u6709\u5b8c\u6210\u3002","title":"Duke University: Introductory C Programming Specialization"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Duke-Coursera-Intro-C/#introductory-c-programming-specialization","text":"","title":"Introductory C Programming Specialization"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Duke-Coursera-Intro-C/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aDuke \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a110 \u5c0f\u65f6 \u975e\u5e38\u597d\u7684\u8bfe\u7a0b\uff0c\u81ea\u6211\u611f\u89c9\u6536\u76ca\u975e\u5e38\u5927\uff1a \u4fa7\u91cd\u57fa\u7840\u548c\u57fa\u672c\u6982\u5ff5\uff1a\u5982 frame\u3001stack memory\u3001heap memory \u7b49\u8bb2\u5f97\u5f88\u900f\u3002 \u9488\u5bf9C\u6700\u96be\u638c\u63e1\u7684\u6307\u9488\uff0c\u6709\u597d\u7684\u7ec3\u4e60\u548c\u7f16\u7a0b\u6765\u52a0\u6df1\u548c\u5f3a\u5316\u7406\u89e3\u3002 \u975e\u5e38\u597d\u7684 GDB\uff0cValgrind \u4e0a\u624b\u8bad\u7ec3\uff0c\u4f5c\u4e1a\u4e5f\u4f1a\u6d89\u53ca\u4e00\u4e9b\u57fa\u672c\u7684 Git \u7ec3\u4e60\u3002 \u8001\u5e08\u5efa\u8bae\u4f5c\u4e1a\u7528 Emacs\uff0c\u6240\u4ee5\u5bf9 Emacs \u5c0f\u767d\u6765\u8bf4\uff0c\u662f\u4e2a\u4e0d\u9519\u7684\u5165\u95e8\u3002\u5982\u679c\u4f60\u4f1a\u7528 Vim \uff0c\u6211\u5efa\u8bae\u4f60\u7528 Evil \u63d2\u4ef6\u3002\u8fd9\u6837\u4f60\u4e0d\u4f1a\u4e22\u6389 Vim \u7684\u7f16\u8f91\u529f\u80fd\uff0c\u540c\u65f6\u53ef\u4ee5\u4f53\u4f1a Emacs \u7684\u5f3a\u5927\u3002\u5de5\u5177\u7bb1\u91cc\u540c\u65f6\u6709 Emacs \u548c Vim \u65f6\uff0c\u6548\u7387\u4f1a\u6709\u4e0d\u5c11\u63d0\u9ad8\u3002Emacs \u7684 org-mode\uff0c\u548c GDB \u7684\u987a\u6ed1\u6574\u5408\uff0c\u7b49\u7b49\u7b49\u7b49\uff0c\u90fd\u4f1a\u8ba9\u4f60\u5982\u864e\u6dfb\u7ffc\u3002 \u867d\u7136\u53ef\u80fd\u9700\u8981\u4ed8\u8d39\uff0c\u4f46\u6211\u89c9\u5f97\u503c\u3002 \u867d\u8bf4\u8bfe\u540d\u662f\u5165\u95e8\uff0c\u4f46\u517c\u5177\u5e7f\u5ea6\u548c\u6df1\u5ea6\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Duke-Coursera-Intro-C/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.coursera.org/specializations/c-programming \u8bfe\u7a0b\u89c6\u9891\uff1a\u540c\u4e0a \u8bfe\u7a0b\u6559\u6750\uff1a\u540c\u4e0a \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u540c\u4e0a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Duke-Coursera-Intro-C/#_3","text":"@haidongji \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7684\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 Duke Coursera Intro C \u4e2d\u3002\u56e0\u4e3a\u65f6\u95f4\u5173\u7cfb\uff0c\u6211\u6700\u540e\u4e00\u8bfe\u6700\u540e\u4e00\u5468\u7684\u51e0\u4e2a\u4f5c\u4e1a\u5230\u76ee\u524d\u8fd8\u6ca1\u6709\u5b8c\u6210\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Haskell-MOOC/","text":"Haskell MOOC \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUniversity of Helsinki \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aHaskell \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u51fd\u6570\u5f0f\u7f16\u7a0b\u6b63\u5728\u8d8a\u6765\u8d8a\u591a\u7684\u878d\u5408\u5165\u73b0\u4ee3\u7f16\u7a0b\u8bed\u8a00\u3002Java \u7684 Streams\uff0cJavaScript \u7684 Promises\uff0c\u4ee5\u53ca\u5728 ECMAScript \u8349\u6848\u9636\u6bb5\u7684 Record & Tuple\u3002\u5728\u5b66\u4e60\u8fd9\u4e9b\u5185\u5bb9\u65f6\uff0c\u6211\u603b\u662f\u611f\u89c9\u6211\u5728\u6b7b\u8bb0\u5b83\u4eec\u8fd9\u4e9b api \u7684\u884c\u4e3a\uff0c\u867d\u7136\u80fd\u591f\u4f7f\u7528\u5b83\u4eec\u5199\u51fa\u4e00\u4e9b\u7a0b\u5e8f\uff0c\u4f46\u603b\u611f\u89c9\u4e0d\u5230\u638c\u63e1\u4e86\u5b83\u4eec\u3002\u7a76\u5176\u539f\u56e0\uff0c\u5b83\u4eec\u4e3a\u4ec0\u4e48\u5b58\u5728\uff1f\u5b83\u4eec\u4e3a\u4ec0\u4e48\u662f\u8fd9\u6837\u7684\uff1f\u8bbe\u8ba1\u5b83\u4eec\u7684\u601d\u60f3\u662f\u4ec0\u4e48\uff1f\u5b66\u5b8c\u51fd\u6570\u5f0f\u7f16\u7a0b\u4f1a\u7ed9\u4f60\u7b54\u6848\u3002 \u867d\u7136\u8fd9\u95e8\u8bfe\u7684\u540d\u5b57\u662f Haskell\uff0c\u4f46\u5b83\u7684\u6838\u5fc3\u5185\u5bb9\u662f\u51fd\u6570\u5f0f\u7f16\u7a0b\u601d\u60f3\u3002\u5c31\u50cf\u5b66\u4e60\u9762\u5411\u5bf9\u8c61\u7a0b\u5e8f\u8bbe\u8ba1\uff0c\u5927\u6982\u7387\u4e0d\u4f1a\u9009\u62e9 Java \u4e4b\u5916\u7684\u8bed\u8a00\u3002 \u5b66\u4e60 Haskell\uff0c\u4f46\u91cd\u70b9\u4e0d\u5728\u4e8e\u4f7f\u7528\u5b83\u3002\u8fd9\u95e8\u8bfe\u4f1a\u8ba9\u4f60\u7528\u521a\u521a\u591f\u7528\u7684 Haskell \u8bed\u6cd5\uff0c\u521a\u521a\u591f\u7528\u7684\u5e93\u51fd\u6570\uff0c\u4e00\u4e01\u70b9\u7684\u5de5\u5177\uff0c\u53bb\u89e3\u91ca\u6838\u5fc3\u7684\u7a0b\u5e8f\u8bed\u4e49\uff0c\u4e5f\u5c31\u662f\u51fd\u6570\u5f0f\u7f16\u7a0b\u7684\u6838\u5fc3\u601d\u60f3\u3002\u8fd9\u4e0d\u4f1a\u8ba9\u4f60\u6d6a\u8d39\u65f6\u95f4\u9677\u5165\u8bed\u8a00\u7ec6\u8282\u4ee5\u53ca\u8bed\u8a00\u751f\u6001\u4e2d\uff0c\u6211\u89c9\u5f97\u5b83\u662f\u8fd9\u95e8\u8bfe\u7684\u6700\u5927\u4f18\u52bf\u3002 \u8fd9\u95e8\u8bfe\u8986\u76d6\u7684\u5185\u5bb9\uff1a Pure Function Lazy Evaluation Strongly Typed Type Inferred Curry Monoid / Functor / Monad / Applicative \u5982\u679c\u4f60\u6709\u7f16\u7a0b\u7ecf\u9a8c\uff0c\u8bfe\u7a0b\u7684 Part1 \u5f88\u7b80\u5355\uff0c\u96be\u5ea6\u96c6\u4e2d\u5728 Part2 \u7684\u5341\u4e09\u7ae0\u4e4b\u540e\u3002\u8bfe\u7a0b\u7684\u7ec3\u4e60\u5f88\u68d2\uff0c\u5b83\u6709\u4e00\u79cd\u5728\u505a CS61a \u7ec3\u4e60\u7684\u611f\u89c9\u3002\u7ec3\u4e60\u7684\u6ce8\u91ca\u4e2d\u6709\u8db3\u591f\u7684\u63d0\u793a\uff0c\u4f5c\u4e1a\u5728\u4f60\u63d0\u4ea4\u4e4b\u540e\u4f1a\u7ed9\u4f60\u6807\u51c6\u7b54\u6848\uff0c\u4f60\u8fd8\u53ef\u4ee5\u5728\u5b98\u65b9\u7684 Telegram \u4e2d\u63d0\u95ee\u6216\u4e0e\u4ed6\u4eba\u8ba8\u8bba\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://haskell.mooc.fi/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u65e0 \u8bfe\u7a0b\u6559\u6750\uff1a https://haskell.mooc.fi/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://github.com/moocfi/haskell-mooc \u793e\u533a\uff1a https://t.me/haskell_mooc_fi \u8d44\u6e90\u6c47\u603b @showtheunli \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 showthesunli/haskell-mooc - GitHub \u4e2d\u3002(\u975e\u5e38\u4e0d\u5efa\u8bae\u5728\u4f5c\u4e1a\u65f6\uff0c\u53c2\u8003\u522b\u4eba\u7684\u5b9e\u73b0)","title":"Haskell MOOC"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Haskell-MOOC/#haskell-mooc","text":"","title":"Haskell MOOC"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Haskell-MOOC/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUniversity of Helsinki \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aHaskell \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u51fd\u6570\u5f0f\u7f16\u7a0b\u6b63\u5728\u8d8a\u6765\u8d8a\u591a\u7684\u878d\u5408\u5165\u73b0\u4ee3\u7f16\u7a0b\u8bed\u8a00\u3002Java \u7684 Streams\uff0cJavaScript \u7684 Promises\uff0c\u4ee5\u53ca\u5728 ECMAScript \u8349\u6848\u9636\u6bb5\u7684 Record & Tuple\u3002\u5728\u5b66\u4e60\u8fd9\u4e9b\u5185\u5bb9\u65f6\uff0c\u6211\u603b\u662f\u611f\u89c9\u6211\u5728\u6b7b\u8bb0\u5b83\u4eec\u8fd9\u4e9b api \u7684\u884c\u4e3a\uff0c\u867d\u7136\u80fd\u591f\u4f7f\u7528\u5b83\u4eec\u5199\u51fa\u4e00\u4e9b\u7a0b\u5e8f\uff0c\u4f46\u603b\u611f\u89c9\u4e0d\u5230\u638c\u63e1\u4e86\u5b83\u4eec\u3002\u7a76\u5176\u539f\u56e0\uff0c\u5b83\u4eec\u4e3a\u4ec0\u4e48\u5b58\u5728\uff1f\u5b83\u4eec\u4e3a\u4ec0\u4e48\u662f\u8fd9\u6837\u7684\uff1f\u8bbe\u8ba1\u5b83\u4eec\u7684\u601d\u60f3\u662f\u4ec0\u4e48\uff1f\u5b66\u5b8c\u51fd\u6570\u5f0f\u7f16\u7a0b\u4f1a\u7ed9\u4f60\u7b54\u6848\u3002 \u867d\u7136\u8fd9\u95e8\u8bfe\u7684\u540d\u5b57\u662f Haskell\uff0c\u4f46\u5b83\u7684\u6838\u5fc3\u5185\u5bb9\u662f\u51fd\u6570\u5f0f\u7f16\u7a0b\u601d\u60f3\u3002\u5c31\u50cf\u5b66\u4e60\u9762\u5411\u5bf9\u8c61\u7a0b\u5e8f\u8bbe\u8ba1\uff0c\u5927\u6982\u7387\u4e0d\u4f1a\u9009\u62e9 Java \u4e4b\u5916\u7684\u8bed\u8a00\u3002 \u5b66\u4e60 Haskell\uff0c\u4f46\u91cd\u70b9\u4e0d\u5728\u4e8e\u4f7f\u7528\u5b83\u3002\u8fd9\u95e8\u8bfe\u4f1a\u8ba9\u4f60\u7528\u521a\u521a\u591f\u7528\u7684 Haskell \u8bed\u6cd5\uff0c\u521a\u521a\u591f\u7528\u7684\u5e93\u51fd\u6570\uff0c\u4e00\u4e01\u70b9\u7684\u5de5\u5177\uff0c\u53bb\u89e3\u91ca\u6838\u5fc3\u7684\u7a0b\u5e8f\u8bed\u4e49\uff0c\u4e5f\u5c31\u662f\u51fd\u6570\u5f0f\u7f16\u7a0b\u7684\u6838\u5fc3\u601d\u60f3\u3002\u8fd9\u4e0d\u4f1a\u8ba9\u4f60\u6d6a\u8d39\u65f6\u95f4\u9677\u5165\u8bed\u8a00\u7ec6\u8282\u4ee5\u53ca\u8bed\u8a00\u751f\u6001\u4e2d\uff0c\u6211\u89c9\u5f97\u5b83\u662f\u8fd9\u95e8\u8bfe\u7684\u6700\u5927\u4f18\u52bf\u3002 \u8fd9\u95e8\u8bfe\u8986\u76d6\u7684\u5185\u5bb9\uff1a Pure Function Lazy Evaluation Strongly Typed Type Inferred Curry Monoid / Functor / Monad / Applicative \u5982\u679c\u4f60\u6709\u7f16\u7a0b\u7ecf\u9a8c\uff0c\u8bfe\u7a0b\u7684 Part1 \u5f88\u7b80\u5355\uff0c\u96be\u5ea6\u96c6\u4e2d\u5728 Part2 \u7684\u5341\u4e09\u7ae0\u4e4b\u540e\u3002\u8bfe\u7a0b\u7684\u7ec3\u4e60\u5f88\u68d2\uff0c\u5b83\u6709\u4e00\u79cd\u5728\u505a CS61a \u7ec3\u4e60\u7684\u611f\u89c9\u3002\u7ec3\u4e60\u7684\u6ce8\u91ca\u4e2d\u6709\u8db3\u591f\u7684\u63d0\u793a\uff0c\u4f5c\u4e1a\u5728\u4f60\u63d0\u4ea4\u4e4b\u540e\u4f1a\u7ed9\u4f60\u6807\u51c6\u7b54\u6848\uff0c\u4f60\u8fd8\u53ef\u4ee5\u5728\u5b98\u65b9\u7684 Telegram \u4e2d\u63d0\u95ee\u6216\u4e0e\u4ed6\u4eba\u8ba8\u8bba\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Haskell-MOOC/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://haskell.mooc.fi/ \u8bfe\u7a0b\u89c6\u9891\uff1a\u65e0 \u8bfe\u7a0b\u6559\u6750\uff1a https://haskell.mooc.fi/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://github.com/moocfi/haskell-mooc \u793e\u533a\uff1a https://t.me/haskell_mooc_fi","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Haskell-MOOC/#_3","text":"@showtheunli \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 showthesunli/haskell-mooc - GitHub \u4e2d\u3002(\u975e\u5e38\u4e0d\u5efa\u8bae\u5728\u4f5c\u4e1a\u65f6\uff0c\u53c2\u8003\u522b\u4eba\u7684\u5b9e\u73b0)","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/","text":"MIT-Missing-Semester \u8bfe\u7a0b\u7b80\u4ecb \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1ashell \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a10 \u5c0f\u65f6 \u6b63\u5982\u8bfe\u7a0b\u540d\u5b57\u6240\u8a00\uff1a\u201c\u8ba1\u7b97\u673a\u6559\u5b66\u4e2d\u6d88\u5931\u7684\u4e00\u4e2a\u5b66\u671f\u201d\uff0c\u8fd9\u95e8\u8bfe\u5c06\u4f1a\u6559\u4f1a\u4f60\u8bb8\u591a\u5927\u5b66\u7684\u8bfe\u5802\u4e0a\u4e0d\u4f1a\u6d89\u53ca\u4f46\u5374\u5bf9\u6bcf\u4e2a CSer \u65e0\u6bd4\u91cd\u8981\u7684\u5de5\u5177\u6216\u8005\u77e5\u8bc6\u70b9\u3002\u4f8b\u5982 Shell \u7f16\u7a0b\u3001\u547d\u4ee4\u884c\u914d\u7f6e\u3001Git\u3001Vim\u3001 tmux \u3001 ssh \u7b49\u7b49\u3002\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u8ba1\u7b97\u673a\u5c0f\u767d\uff0c\u90a3\u4e48\u6211\u975e\u5e38\u5efa\u8bae\u4f60\u5b66\u4e60\u4e00\u4e0b\u8fd9\u95e8\u8bfe\uff0c\u56e0\u4e3a\u5b83\u57fa\u672c\u6d89\u53ca\u4e86\u672c\u4e66\u5fc5\u5b66\u5de5\u5177\u4e2d\u7684\u7edd\u5927\u90e8\u5206\u5185\u5bb9\u3002 \u9664\u4e86 MIT \u5b98\u65b9\u7684\u5b66\u4e60\u8d44\u6599\u5916\uff0c\u5317\u4eac\u5927\u5b66\u56fe\u7075\u73ed\u5f00\u8bbe\u7684\u524d\u6cbf\u8ba1\u7b97\u5b9e\u8df5\u4e2d\u4e5f\u5f00\u8bbe\u4e86\u76f8\u5173\u8bfe\u7a0b\uff0c\u8d44\u6599\u4f4d\u4e8e \u8fd9\u4e2a\u7f51\u7ad9 \u4e0b\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://missing.csail.mit.edu/2020/ \u8bfe\u7a0b\u4e2d\u6587\u7f51\u7ad9: https://missing-semester-cn.github.io/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J \u8bfe\u7a0b\u4e2d\u6587\u5b57\u5e55\u89c6\u9891\uff1a Missing_Semi_\u4e2d\u8bd1\u7ec4\uff08\u672a\u5b8c\uff09\uff1a https://space.bilibili.com/1010983811?spm_id_from=333.337.search-card.all.click \u5218\u9ed1\u9ed1a\uff08\u672a\u5b8c\uff09\uff1a https://space.bilibili.com/518734451?spm_id_from=333.337.search-card.all.click \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e00\u4e9b\u968f\u5802\u5c0f\u7ec3\u4e60\uff0c\u5177\u4f53\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002","title":"MIT-Missing-Semester"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/#mit-missing-semester","text":"","title":"MIT-Missing-Semester"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/#_1","text":"\u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1ashell \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a10 \u5c0f\u65f6 \u6b63\u5982\u8bfe\u7a0b\u540d\u5b57\u6240\u8a00\uff1a\u201c\u8ba1\u7b97\u673a\u6559\u5b66\u4e2d\u6d88\u5931\u7684\u4e00\u4e2a\u5b66\u671f\u201d\uff0c\u8fd9\u95e8\u8bfe\u5c06\u4f1a\u6559\u4f1a\u4f60\u8bb8\u591a\u5927\u5b66\u7684\u8bfe\u5802\u4e0a\u4e0d\u4f1a\u6d89\u53ca\u4f46\u5374\u5bf9\u6bcf\u4e2a CSer \u65e0\u6bd4\u91cd\u8981\u7684\u5de5\u5177\u6216\u8005\u77e5\u8bc6\u70b9\u3002\u4f8b\u5982 Shell \u7f16\u7a0b\u3001\u547d\u4ee4\u884c\u914d\u7f6e\u3001Git\u3001Vim\u3001 tmux \u3001 ssh \u7b49\u7b49\u3002\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u8ba1\u7b97\u673a\u5c0f\u767d\uff0c\u90a3\u4e48\u6211\u975e\u5e38\u5efa\u8bae\u4f60\u5b66\u4e60\u4e00\u4e0b\u8fd9\u95e8\u8bfe\uff0c\u56e0\u4e3a\u5b83\u57fa\u672c\u6d89\u53ca\u4e86\u672c\u4e66\u5fc5\u5b66\u5de5\u5177\u4e2d\u7684\u7edd\u5927\u90e8\u5206\u5185\u5bb9\u3002 \u9664\u4e86 MIT \u5b98\u65b9\u7684\u5b66\u4e60\u8d44\u6599\u5916\uff0c\u5317\u4eac\u5927\u5b66\u56fe\u7075\u73ed\u5f00\u8bbe\u7684\u524d\u6cbf\u8ba1\u7b97\u5b9e\u8df5\u4e2d\u4e5f\u5f00\u8bbe\u4e86\u76f8\u5173\u8bfe\u7a0b\uff0c\u8d44\u6599\u4f4d\u4e8e \u8fd9\u4e2a\u7f51\u7ad9 \u4e0b\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://missing.csail.mit.edu/2020/ \u8bfe\u7a0b\u4e2d\u6587\u7f51\u7ad9: https://missing-semester-cn.github.io/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J \u8bfe\u7a0b\u4e2d\u6587\u5b57\u5e55\u89c6\u9891\uff1a Missing_Semi_\u4e2d\u8bd1\u7ec4\uff08\u672a\u5b8c\uff09\uff1a https://space.bilibili.com/1010983811?spm_id_from=333.337.search-card.all.click \u5218\u9ed1\u9ed1a\uff08\u672a\u5b8c\uff09\uff1a https://space.bilibili.com/518734451?spm_id_from=333.337.search-card.all.click \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e00\u4e9b\u968f\u5802\u5c0f\u7ec3\u4e60\uff0c\u5177\u4f53\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/6035/","text":"","title":"6035"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/","text":"Stanford CS143: Compilers \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784 \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u6216 C++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u65af\u5766\u798f\u7684\u7f16\u8bd1\u539f\u7406\u8bfe\u7a0b\uff0c\u8bbe\u8ba1\u8005\u5f00\u53d1\u4e86\u4e00\u4e2a Class-Object-Oriented-Language\uff0c\u7b80\u79f0 COOL \u8bed\u8a00\u3002\u8fd9\u95e8\u8bfe\u7684\u6838\u5fc3\u5c31\u662f\u901a\u8fc7\u7406\u8bba\u77e5\u8bc6\u7684\u5b66\u4e60\uff0c\u4e3a COOL \u8bed\u8a00\u5b9e\u73b0\u4e00\u4e2a\u7f16\u8bd1\u5668\uff0c\u5c06 COOL \u9ad8\u7ea7\u8bed\u8a00\u7f16\u8bd1\u4e3a MIPS \u6c47\u7f16\u5e76\u5728 Spim \u8fd9\u4e2a MIPS \u6a21\u62df\u5668\u4e0a\u6210\u529f\u6267\u884c\u3002 \u7406\u8bba\u90e8\u5206\u57fa\u672c\u6309\u7167\u9f99\u4e66\u7684\u987a\u5e8f\u8986\u76d6\u4e86\u8bcd\u6cd5\u5206\u6790\u3001\u8bed\u6cd5\u5206\u6790\u3001\u8bed\u4e49\u5206\u6790\u3001\u8fd0\u884c\u65f6\u73af\u5883\u3001\u5bc4\u5b58\u5668\u5206\u914d\u3001\u4ee3\u7801\u4f18\u5316\u4e0e\u751f\u6210\u7b49\u5185\u5bb9\uff0c\u5b9e\u8df5\u90e8\u5206\u5219\u76f8\u5e94\u5730\u5206\u4e3a\u8bcd\u6cd5\u5206\u6790\u3001\u8bed\u6cd5\u5206\u6790\u3001\u8bed\u4e49\u5206\u6790\u3001\u4ee3\u7801\u751f\u6210\u56db\u4e2a\u9636\u6bb5\uff0c\u96be\u5ea6\u5faa\u5e8f\u6e10\u8fdb\uff0c\u5e76\u5728\u4f18\u5316\u90e8\u5206\u7ed9\u5b66\u751f\u7559\u4e0b\u4e86\u5f88\u5927\u7684\u8bbe\u8ba1\u7a7a\u95f4\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs143/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV17K4y147Bz \u8bfe\u7a0b\u6559\u6750\uff1a\u9f99\u4e66 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a5 \u4e2a\u4e66\u9762\u4f5c\u4e1a + 5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5e26\u4f60\u5b9e\u73b0\u4e00\u4e2a\u7f16\u8bd1\u5668 \u8d44\u6e90\u6c47\u603b @skyzluo \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 skyzluo/CS143-Compilers-Stanford - GitHub \u4e2d\u3002","title":"Stanford CS143: Compilers"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#stanford-cs143-compilers","text":"","title":"Stanford CS143: Compilers"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784 \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u6216 C++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u65af\u5766\u798f\u7684\u7f16\u8bd1\u539f\u7406\u8bfe\u7a0b\uff0c\u8bbe\u8ba1\u8005\u5f00\u53d1\u4e86\u4e00\u4e2a Class-Object-Oriented-Language\uff0c\u7b80\u79f0 COOL \u8bed\u8a00\u3002\u8fd9\u95e8\u8bfe\u7684\u6838\u5fc3\u5c31\u662f\u901a\u8fc7\u7406\u8bba\u77e5\u8bc6\u7684\u5b66\u4e60\uff0c\u4e3a COOL \u8bed\u8a00\u5b9e\u73b0\u4e00\u4e2a\u7f16\u8bd1\u5668\uff0c\u5c06 COOL \u9ad8\u7ea7\u8bed\u8a00\u7f16\u8bd1\u4e3a MIPS \u6c47\u7f16\u5e76\u5728 Spim \u8fd9\u4e2a MIPS \u6a21\u62df\u5668\u4e0a\u6210\u529f\u6267\u884c\u3002 \u7406\u8bba\u90e8\u5206\u57fa\u672c\u6309\u7167\u9f99\u4e66\u7684\u987a\u5e8f\u8986\u76d6\u4e86\u8bcd\u6cd5\u5206\u6790\u3001\u8bed\u6cd5\u5206\u6790\u3001\u8bed\u4e49\u5206\u6790\u3001\u8fd0\u884c\u65f6\u73af\u5883\u3001\u5bc4\u5b58\u5668\u5206\u914d\u3001\u4ee3\u7801\u4f18\u5316\u4e0e\u751f\u6210\u7b49\u5185\u5bb9\uff0c\u5b9e\u8df5\u90e8\u5206\u5219\u76f8\u5e94\u5730\u5206\u4e3a\u8bcd\u6cd5\u5206\u6790\u3001\u8bed\u6cd5\u5206\u6790\u3001\u8bed\u4e49\u5206\u6790\u3001\u4ee3\u7801\u751f\u6210\u56db\u4e2a\u9636\u6bb5\uff0c\u96be\u5ea6\u5faa\u5e8f\u6e10\u8fdb\uff0c\u5e76\u5728\u4f18\u5316\u90e8\u5206\u7ed9\u5b66\u751f\u7559\u4e0b\u4e86\u5f88\u5927\u7684\u8bbe\u8ba1\u7a7a\u95f4\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs143/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV17K4y147Bz \u8bfe\u7a0b\u6559\u6750\uff1a\u9f99\u4e66 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a5 \u4e2a\u4e66\u9762\u4f5c\u4e1a + 5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5e26\u4f60\u5b9e\u73b0\u4e00\u4e2a\u7f16\u8bd1\u5668","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#_3","text":"@skyzluo \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 skyzluo/CS143-Compilers-Stanford - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/15462/","text":"CMU 15-462 : COMPUTER GRAPHICS \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1a\u57fa\u7840\u7684\u5411\u91cf\u5fae\u79ef\u5206\u548c\u7ebf\u6027\u4ee3\u6570 , \u57fa\u7840\u7684 C/C++ \u7f16\u7a0b\u80fd\u529b\u3002 \u7f16\u7a0b\u8bed\u8a00\uff1aC/C++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u672c\u8bfe\u7a0b\u5168\u9762\u4ecb\u7ecd\u4e86\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u3002\u5b83\u4fa7\u91cd\u4e8e\u57fa\u672c\u6982\u5ff5\u548c\u6280\u672f\uff0c\u4ee5\u53ca\u5b83\u4eec\u4e0e\u56fe\u5f62\u4e2d\u591a\u4e2a\u95ee\u9898\u9886\u57df\uff08\u6e32\u67d3\u3001\u52a8\u753b\u3001\u51e0\u4f55\u3001\u6210\u50cf\uff09\u7684\u4ea4\u53c9\u5173\u7cfb\u3002\u4e3b\u9898\u5305\u62ec\uff1a\u91c7\u6837\u3001\u6df7\u53e0\u3001\u63d2\u503c\u3001\u5149\u6805\u5316\u3001\u51e0\u4f55\u53d8\u6362\u3001\u53c2\u6570\u5316\u3001\u53ef\u89c1\u6027\u3001\u5408\u6210\u3001\u8fc7\u6ee4\u3001\u5377\u79ef\u3001\u66f2\u7ebf\u548c\u66f2\u9762\u3001\u51e0\u4f55\u6570\u636e\u7ed3\u6784\u3001\u7ec6\u5206\u3001\u7f51\u683c\u5212\u5206\u3001\u7a7a\u95f4\u5c42\u6b21\u7ed3\u6784\u3001\u5149\u7ebf\u8ffd\u8e2a\u3001\u8f90\u5c04\u6d4b\u91cf\u3001\u53cd\u5c04\u7387\u3001\u5149\u573a\u3001\u51e0\u4f55\u5149\u5b66\uff0c\u8499\u7279\u5361\u6d1b\u6e32\u67d3\uff0c\u91cd\u8981\u6027\u91c7\u6837\uff0c\u76f8\u673a\u6a21\u578b\uff0c\u9ad8\u6027\u80fd\u5149\u7ebf\u8ffd\u8e2a\uff0c\u5fae\u5206\u65b9\u7a0b\uff0c\u65f6\u95f4\u79ef\u5206\uff0c\u6570\u503c\u5fae\u5206\uff0c\u57fa\u4e8e\u7269\u7406\u7684\u52a8\u753b\uff0c\u4f18\u5316\uff0c\u6570\u503c\u7ebf\u6027\u4ee3\u6570\uff0c\u9006\u8fd0\u52a8\u5b66\uff0c\u5085\u7acb\u53f6\u65b9\u6cd5\uff0c\u6570\u636e\u62df\u5408. \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://15462.courses.cs.cmu.edu/fall2022/ \u8bfe\u7a0b\u89c6\u9891\uff1a Youtube bilibili \u8bfe\u7a0b\u6559\u6750\uff1a15-462 \u6ca1\u6709\u552f\u4e00\u7684\u8bfe\u672c, \u63d0\u4f9b\u4e86\u5404\u79cd\u4e66\u7c4d\u4f9b\u4f60\u53c2\u8003. \u5982\u4e0b: Fundamentals of Computer Graphics. A K Peters, 2009 Computer Graphics: Principles and Practice Physically Based Rendering: From Theory to Implementation \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u4e3b\u9875","title":"CMU 15-462"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/15462/#cmu-15-462-computer-graphics","text":"","title":"CMU 15-462 : COMPUTER GRAPHICS"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/15462/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1a\u57fa\u7840\u7684\u5411\u91cf\u5fae\u79ef\u5206\u548c\u7ebf\u6027\u4ee3\u6570 , \u57fa\u7840\u7684 C/C++ \u7f16\u7a0b\u80fd\u529b\u3002 \u7f16\u7a0b\u8bed\u8a00\uff1aC/C++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u672c\u8bfe\u7a0b\u5168\u9762\u4ecb\u7ecd\u4e86\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u3002\u5b83\u4fa7\u91cd\u4e8e\u57fa\u672c\u6982\u5ff5\u548c\u6280\u672f\uff0c\u4ee5\u53ca\u5b83\u4eec\u4e0e\u56fe\u5f62\u4e2d\u591a\u4e2a\u95ee\u9898\u9886\u57df\uff08\u6e32\u67d3\u3001\u52a8\u753b\u3001\u51e0\u4f55\u3001\u6210\u50cf\uff09\u7684\u4ea4\u53c9\u5173\u7cfb\u3002\u4e3b\u9898\u5305\u62ec\uff1a\u91c7\u6837\u3001\u6df7\u53e0\u3001\u63d2\u503c\u3001\u5149\u6805\u5316\u3001\u51e0\u4f55\u53d8\u6362\u3001\u53c2\u6570\u5316\u3001\u53ef\u89c1\u6027\u3001\u5408\u6210\u3001\u8fc7\u6ee4\u3001\u5377\u79ef\u3001\u66f2\u7ebf\u548c\u66f2\u9762\u3001\u51e0\u4f55\u6570\u636e\u7ed3\u6784\u3001\u7ec6\u5206\u3001\u7f51\u683c\u5212\u5206\u3001\u7a7a\u95f4\u5c42\u6b21\u7ed3\u6784\u3001\u5149\u7ebf\u8ffd\u8e2a\u3001\u8f90\u5c04\u6d4b\u91cf\u3001\u53cd\u5c04\u7387\u3001\u5149\u573a\u3001\u51e0\u4f55\u5149\u5b66\uff0c\u8499\u7279\u5361\u6d1b\u6e32\u67d3\uff0c\u91cd\u8981\u6027\u91c7\u6837\uff0c\u76f8\u673a\u6a21\u578b\uff0c\u9ad8\u6027\u80fd\u5149\u7ebf\u8ffd\u8e2a\uff0c\u5fae\u5206\u65b9\u7a0b\uff0c\u65f6\u95f4\u79ef\u5206\uff0c\u6570\u503c\u5fae\u5206\uff0c\u57fa\u4e8e\u7269\u7406\u7684\u52a8\u753b\uff0c\u4f18\u5316\uff0c\u6570\u503c\u7ebf\u6027\u4ee3\u6570\uff0c\u9006\u8fd0\u52a8\u5b66\uff0c\u5085\u7acb\u53f6\u65b9\u6cd5\uff0c\u6570\u636e\u62df\u5408.","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/15462/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://15462.courses.cs.cmu.edu/fall2022/ \u8bfe\u7a0b\u89c6\u9891\uff1a Youtube bilibili \u8bfe\u7a0b\u6559\u6750\uff1a15-462 \u6ca1\u6709\u552f\u4e00\u7684\u8bfe\u672c, \u63d0\u4f9b\u4e86\u5404\u79cd\u4e66\u7c4d\u4f9b\u4f60\u53c2\u8003. \u5982\u4e0b: Fundamentals of Computer Graphics. A K Peters, 2009 Computer Graphics: Principles and Practice Physically Based Rendering: From Theory to Implementation \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u4e3b\u9875","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS148/","text":"Stanford CS148 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cPython \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u8fd9\u662f\u4e00\u95e8\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u7684\u5165\u95e8\u8bfe\u7a0b\uff0c\u8fd9\u95e8\u8bfe\u7684\u4e00\u5f00\u59cb\u4f7f\u7528 Blender \u53bb\u751f\u6210\u56fe\u50cf\uff0c\u5e76\u4e14\u7406\u89e3\u5e95\u5c42\u7684\u6570\u5b66\u77e5\u8bc6\uff0c\u5305\u62ec\u4e09\u89d2\u5f62\u3001\u6cd5\u5411\u91cf\u3001\u63d2\u503c\u3001\u7eb9\u7406\u6620\u5c04\u3001\u51f9\u51f8\u8d34\u56fe\u7b49\u7b49\u3002\u4e4b\u540e\u4f1a\u4ecb\u7ecd\u5149\u7ebf\u548c\u989c\u8272\u4ee5\u53ca\u5b83\u4eec\u5982\u4f55\u5f71\u54cd\u8ba1\u7b97\u673a\u7684\u663e\u793a\u548c\u6253\u5370\u3002\u540c\u65f6\u4e5f\u4f1a\u4ecb\u7ecd BRDF \u4ee5\u53ca\u4e00\u4e9b\u57fa\u672c\u7684\u5149\u7167\u548c\u7740\u8272\u6a21\u578b\u3002\u8bfe\u7a0b\u7684\u6700\u540e\uff0c\u4f1a\u6d89\u53ca\u5230\u5149\u7ebf\u8ffd\u8e2a\u3001\u53cd\u8d70\u6837\u3001\u52a0\u901f\u7ed3\u6784\u7b49\u5185\u5bb9\u3002 \u5177\u4f53\u8bfe\u7a0b\u4fe1\u606f\u53ef\u4ee5\u67e5\u770b \u8bfe\u7a0b\u7f51\u7ad9 \u3002 \u8fd9\u95e8\u8bfe\u7a0b\u6bd4\u8d77 GAMES101 \u6d45\u4e00\u4e9b\uff0c\u7f16\u7a0b\u8bed\u8a00\u4f7f\u7528\u7684\u662f Python\uff0c\u5bf9\u4e8e\u4e0d\u719f\u6089 C++ \u7684\u540c\u5b66\u6bd4\u8f83\u53cb\u597d\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a CS148 \u8bfe\u7a0b\u89c6\u9891\uff1a\u65e0\uff0c\u76f4\u63a5\u770b lecture \u5c31\u53ef\u4ee5\u4e86\uff0c\u4e5f\u53ef\u4ee5\u53c2\u8003 GAMES101 \u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aFundamentals of Computer Graphics \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 8 \u4e2a hw, 1 \u4e2a final project","title":"Stanford CS148"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS148/#stanford-cs148","text":"","title":"Stanford CS148"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS148/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cPython \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u8fd9\u662f\u4e00\u95e8\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u7684\u5165\u95e8\u8bfe\u7a0b\uff0c\u8fd9\u95e8\u8bfe\u7684\u4e00\u5f00\u59cb\u4f7f\u7528 Blender \u53bb\u751f\u6210\u56fe\u50cf\uff0c\u5e76\u4e14\u7406\u89e3\u5e95\u5c42\u7684\u6570\u5b66\u77e5\u8bc6\uff0c\u5305\u62ec\u4e09\u89d2\u5f62\u3001\u6cd5\u5411\u91cf\u3001\u63d2\u503c\u3001\u7eb9\u7406\u6620\u5c04\u3001\u51f9\u51f8\u8d34\u56fe\u7b49\u7b49\u3002\u4e4b\u540e\u4f1a\u4ecb\u7ecd\u5149\u7ebf\u548c\u989c\u8272\u4ee5\u53ca\u5b83\u4eec\u5982\u4f55\u5f71\u54cd\u8ba1\u7b97\u673a\u7684\u663e\u793a\u548c\u6253\u5370\u3002\u540c\u65f6\u4e5f\u4f1a\u4ecb\u7ecd BRDF \u4ee5\u53ca\u4e00\u4e9b\u57fa\u672c\u7684\u5149\u7167\u548c\u7740\u8272\u6a21\u578b\u3002\u8bfe\u7a0b\u7684\u6700\u540e\uff0c\u4f1a\u6d89\u53ca\u5230\u5149\u7ebf\u8ffd\u8e2a\u3001\u53cd\u8d70\u6837\u3001\u52a0\u901f\u7ed3\u6784\u7b49\u5185\u5bb9\u3002 \u5177\u4f53\u8bfe\u7a0b\u4fe1\u606f\u53ef\u4ee5\u67e5\u770b \u8bfe\u7a0b\u7f51\u7ad9 \u3002 \u8fd9\u95e8\u8bfe\u7a0b\u6bd4\u8d77 GAMES101 \u6d45\u4e00\u4e9b\uff0c\u7f16\u7a0b\u8bed\u8a00\u4f7f\u7528\u7684\u662f Python\uff0c\u5bf9\u4e8e\u4e0d\u719f\u6089 C++ \u7684\u540c\u5b66\u6bd4\u8f83\u53cb\u597d\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS148/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a CS148 \u8bfe\u7a0b\u89c6\u9891\uff1a\u65e0\uff0c\u76f4\u63a5\u770b lecture \u5c31\u53ef\u4ee5\u4e86\uff0c\u4e5f\u53ef\u4ee5\u53c2\u8003 GAMES101 \u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aFundamentals of Computer Graphics \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 8 \u4e2a hw, 1 \u4e2a final project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS184/","text":"","title":"CS184"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/","text":"GAMES101 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUCSB \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cC++ \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u672c\u8bfe\u7a0b\u5c06\u5168\u9762\u800c\u7cfb\u7edf\u5730\u4ecb\u7ecd\u73b0\u4ee3\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u7684\u56db\u5927\u7ec4\u6210\u90e8\u5206\uff1a\uff081\uff09\u5149\u6805\u5316\u6210\u50cf\uff0c\uff082\uff09\u51e0\u4f55\u8868\u793a\uff0c\uff083\uff09\u5149\u7684\u4f20\u64ad\u7406\u8bba\uff0c\u4ee5\u53ca\uff084\uff09\u52a8\u753b\u4e0e\u6a21\u62df\u3002\u6bcf\u4e2a\u65b9\u9762\u90fd\u4f1a\u4ece\u57fa\u7840\u539f\u7406\u51fa\u53d1\u8bb2\u89e3\u5230\u5b9e\u9645\u5e94\u7528\uff0c\u5e76\u4ecb\u7ecd\u524d\u6cbf\u7684\u7406\u8bba\u7814\u7a76\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\uff0c\u4f60\u53ef\u4ee5\u5b66\u4e60\u5230\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u80cc\u540e\u7684\u6570\u5b66\u548c\u7269\u7406\u77e5\u8bc6\uff0c\u5e76\u953b\u70bc\u5b9e\u9645\u7684\u7f16\u7a0b\u80fd\u529b\u3002 \u4f5c\u4e3a\u5165\u95e8\uff0c\u672c\u8bfe\u7a0b\u4f1a\u5c3d\u53ef\u80fd\u7684\u8986\u76d6\u56fe\u5f62\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff0c\u628a\u6bcf\u4e00\u90e8\u5206\u7684\u57fa\u672c\u6982\u5ff5\u90fd\u5c3d\u53ef\u80fd\u8bf4\u6e05\u695a\uff0c\u8ba9\u5927\u5bb6\u5bf9\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u6709\u4e00\u4e2a\u5b8c\u6574\u7684\u3001\u81ea\u4e0a\u800c\u4e0b\u7684\u5168\u5c40\u628a\u63e1\u3002\u5168\u5c40\u7684\u7406\u89e3\u5f88\u91cd\u8981\uff0c\u5b66\u5b8c\u672c\u8bfe\u7a0b\u540e\uff0c\u4f60\u4f1a\u4e86\u89e3\u5230\u56fe\u5f62\u5b66\u4e0d\u7b49\u4e8e OpenGL\uff0c\u4e0d\u7b49\u4e8e\u5149\u7ebf\u8ffd\u8e2a\uff0c\u800c\u662f\u4e00\u5957\u751f\u6210\u6574\u4e2a\u865a\u62df\u4e16\u754c\u7684\u65b9\u6cd5\u3002\u4ece\u672c\u8bfe\u7a0b\u7684\u6807\u9898\uff0c\u5927\u5bb6\u8fd8\u53ef\u4ee5\u770b\u5230\u201c\u73b0\u4ee3\u201d\u4e8c\u5b57\uff0c\u4e5f\u5c31\u662f\u8bf4\uff0c\u8fd9\u95e8\u8bfe\u6240\u8981\u7ed9\u5927\u5bb6\u4ecb\u7ecd\u7684\u90fd\u662f\u73b0\u4ee3\u5316\u7684\u77e5\u8bc6\uff0c\u4e5f\u90fd\u662f\u73b0\u4ee3\u56fe\u5f62\u5b66\u5de5\u4e1a\u754c\u9700\u8981\u7684\u56fe\u5f62\u5b66\u57fa\u7840\u3002 GAMES101 \u662f\u56fd\u5185\u76f8\u5f53\u6709\u540d\u7684\u56fe\u5f62\u5b66\u516c\u5f00\u8bfe\u3002\u548c\u5927\u5bb6\u5370\u8c61\u4e2d\u6ee1\u662f\u6570\u5b66\u548c\u7b97\u6cd5\u7684\u56fe\u5f62\u5b66\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4ee5\u5341\u5206\u751f\u52a8\u7684\u65b9\u5f0f\u5e26\u6211\u4eec\u8fdb\u5165\u4e86\u56fe\u5f62\u5b66\u8fd9\u4e2a\u9886\u57df\u7684\u5927\u95e8\u3002 \u6bcf\u4e2aproject\u4ee3\u7801\u91cf\u90fd\u4e0d\u4f1a\u5f88\u591a\uff0c\u4f46\u662f\u5374\u90fd\u5341\u5206\u6709\u8da3\u3002\u5728\u505a\u8fd9\u4e9bproject\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u4f1a\u5b9e\u73b0\u7b80\u5355\u7684\u5149\u6805\u5316\uff0c\u5e76\u6e32\u67d3\u4e00\u4e2a\u7b80\u6613\u7684\u6a21\u578b\uff0c\u6211\u4eec\u8fd8\u4f1a\u5b9e\u73b0\u5149\u7ebf\u8ffd\u8e2a\uff0c\u4ee5\u8ffd\u6c42\u6e32\u67d3\u66f4\u597d\u7684\u8d28\u91cf\u3002\u6bcf\u4e2aproject\u4e2d\u8fd8\u6709\u9009\u505a\u7684\u62d3\u5c55\u4f5c\u4e1a\uff0c\u53ef\u4ee5\u8ba9\u6211\u4eec\u6e32\u67d3\u7684\u6a21\u578b\u5177\u6709\u66f4\u597d\u7684\u8d28\u91cf\uff0c\u66f4\u5feb\u7684\u6e32\u67d3\u901f\u5ea6\u3002 \u559c\u6b22\u73a9\u6e38\u620f\u7684\u540c\u5b66\u5e94\u8be5\u5bf9\u5b9e\u65f6\u5149\u7ebf\u8ffd\u8e2a\u6709\u4e00\u5b9a\u7684\u4e86\u89e3\uff0c\u8fd9\u95e8\u8bfe\u7684\u8001\u5e08\u95eb\u4ee4\u742a\u5c31\u5bf9\u8fd9\u4e00\u6280\u672f\u6709\u76f4\u63a5\u7684\u63a8\u52a8\u4f5c\u7528\u3002 \u8ddf\u7740\u8bfe\u7a0b\u7684\u89c6\u9891\uff0c\u505a\u5b8c\u6bcf\u4e00\u4e2aproject\uff0c\u76f8\u4fe1\u4f60\u4f1a\u548c\u6211\u4e00\u6837\u5bf9\u56fe\u5f62\u5b66\uff0c\u4ee5\u53ca\u73b0\u4ee3\u7684\u6e32\u67d3\u6280\u672f\u4ea7\u751f\u6d53\u539a\u7684\u5174\u8da3\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES101 , GAMES101 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili , \u5b98\u7f51 \u8bfe\u7a0b\u6559\u6750\uff1aFundamentals of Computer Graphics \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 8 \u4e2a project \u8d44\u6e90\u6c47\u603b @ysj1173886760 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 ysj1173886760/Learning: graphics/GAMES101 - GitHub \u4e2d\u3002","title":"GAMES101"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/#games101","text":"","title":"GAMES101"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUCSB \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cC++ \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u672c\u8bfe\u7a0b\u5c06\u5168\u9762\u800c\u7cfb\u7edf\u5730\u4ecb\u7ecd\u73b0\u4ee3\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u7684\u56db\u5927\u7ec4\u6210\u90e8\u5206\uff1a\uff081\uff09\u5149\u6805\u5316\u6210\u50cf\uff0c\uff082\uff09\u51e0\u4f55\u8868\u793a\uff0c\uff083\uff09\u5149\u7684\u4f20\u64ad\u7406\u8bba\uff0c\u4ee5\u53ca\uff084\uff09\u52a8\u753b\u4e0e\u6a21\u62df\u3002\u6bcf\u4e2a\u65b9\u9762\u90fd\u4f1a\u4ece\u57fa\u7840\u539f\u7406\u51fa\u53d1\u8bb2\u89e3\u5230\u5b9e\u9645\u5e94\u7528\uff0c\u5e76\u4ecb\u7ecd\u524d\u6cbf\u7684\u7406\u8bba\u7814\u7a76\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\uff0c\u4f60\u53ef\u4ee5\u5b66\u4e60\u5230\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u80cc\u540e\u7684\u6570\u5b66\u548c\u7269\u7406\u77e5\u8bc6\uff0c\u5e76\u953b\u70bc\u5b9e\u9645\u7684\u7f16\u7a0b\u80fd\u529b\u3002 \u4f5c\u4e3a\u5165\u95e8\uff0c\u672c\u8bfe\u7a0b\u4f1a\u5c3d\u53ef\u80fd\u7684\u8986\u76d6\u56fe\u5f62\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff0c\u628a\u6bcf\u4e00\u90e8\u5206\u7684\u57fa\u672c\u6982\u5ff5\u90fd\u5c3d\u53ef\u80fd\u8bf4\u6e05\u695a\uff0c\u8ba9\u5927\u5bb6\u5bf9\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u6709\u4e00\u4e2a\u5b8c\u6574\u7684\u3001\u81ea\u4e0a\u800c\u4e0b\u7684\u5168\u5c40\u628a\u63e1\u3002\u5168\u5c40\u7684\u7406\u89e3\u5f88\u91cd\u8981\uff0c\u5b66\u5b8c\u672c\u8bfe\u7a0b\u540e\uff0c\u4f60\u4f1a\u4e86\u89e3\u5230\u56fe\u5f62\u5b66\u4e0d\u7b49\u4e8e OpenGL\uff0c\u4e0d\u7b49\u4e8e\u5149\u7ebf\u8ffd\u8e2a\uff0c\u800c\u662f\u4e00\u5957\u751f\u6210\u6574\u4e2a\u865a\u62df\u4e16\u754c\u7684\u65b9\u6cd5\u3002\u4ece\u672c\u8bfe\u7a0b\u7684\u6807\u9898\uff0c\u5927\u5bb6\u8fd8\u53ef\u4ee5\u770b\u5230\u201c\u73b0\u4ee3\u201d\u4e8c\u5b57\uff0c\u4e5f\u5c31\u662f\u8bf4\uff0c\u8fd9\u95e8\u8bfe\u6240\u8981\u7ed9\u5927\u5bb6\u4ecb\u7ecd\u7684\u90fd\u662f\u73b0\u4ee3\u5316\u7684\u77e5\u8bc6\uff0c\u4e5f\u90fd\u662f\u73b0\u4ee3\u56fe\u5f62\u5b66\u5de5\u4e1a\u754c\u9700\u8981\u7684\u56fe\u5f62\u5b66\u57fa\u7840\u3002 GAMES101 \u662f\u56fd\u5185\u76f8\u5f53\u6709\u540d\u7684\u56fe\u5f62\u5b66\u516c\u5f00\u8bfe\u3002\u548c\u5927\u5bb6\u5370\u8c61\u4e2d\u6ee1\u662f\u6570\u5b66\u548c\u7b97\u6cd5\u7684\u56fe\u5f62\u5b66\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4ee5\u5341\u5206\u751f\u52a8\u7684\u65b9\u5f0f\u5e26\u6211\u4eec\u8fdb\u5165\u4e86\u56fe\u5f62\u5b66\u8fd9\u4e2a\u9886\u57df\u7684\u5927\u95e8\u3002 \u6bcf\u4e2aproject\u4ee3\u7801\u91cf\u90fd\u4e0d\u4f1a\u5f88\u591a\uff0c\u4f46\u662f\u5374\u90fd\u5341\u5206\u6709\u8da3\u3002\u5728\u505a\u8fd9\u4e9bproject\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u4f1a\u5b9e\u73b0\u7b80\u5355\u7684\u5149\u6805\u5316\uff0c\u5e76\u6e32\u67d3\u4e00\u4e2a\u7b80\u6613\u7684\u6a21\u578b\uff0c\u6211\u4eec\u8fd8\u4f1a\u5b9e\u73b0\u5149\u7ebf\u8ffd\u8e2a\uff0c\u4ee5\u8ffd\u6c42\u6e32\u67d3\u66f4\u597d\u7684\u8d28\u91cf\u3002\u6bcf\u4e2aproject\u4e2d\u8fd8\u6709\u9009\u505a\u7684\u62d3\u5c55\u4f5c\u4e1a\uff0c\u53ef\u4ee5\u8ba9\u6211\u4eec\u6e32\u67d3\u7684\u6a21\u578b\u5177\u6709\u66f4\u597d\u7684\u8d28\u91cf\uff0c\u66f4\u5feb\u7684\u6e32\u67d3\u901f\u5ea6\u3002 \u559c\u6b22\u73a9\u6e38\u620f\u7684\u540c\u5b66\u5e94\u8be5\u5bf9\u5b9e\u65f6\u5149\u7ebf\u8ffd\u8e2a\u6709\u4e00\u5b9a\u7684\u4e86\u89e3\uff0c\u8fd9\u95e8\u8bfe\u7684\u8001\u5e08\u95eb\u4ee4\u742a\u5c31\u5bf9\u8fd9\u4e00\u6280\u672f\u6709\u76f4\u63a5\u7684\u63a8\u52a8\u4f5c\u7528\u3002 \u8ddf\u7740\u8bfe\u7a0b\u7684\u89c6\u9891\uff0c\u505a\u5b8c\u6bcf\u4e00\u4e2aproject\uff0c\u76f8\u4fe1\u4f60\u4f1a\u548c\u6211\u4e00\u6837\u5bf9\u56fe\u5f62\u5b66\uff0c\u4ee5\u53ca\u73b0\u4ee3\u7684\u6e32\u67d3\u6280\u672f\u4ea7\u751f\u6d53\u539a\u7684\u5174\u8da3\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES101 , GAMES101 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili , \u5b98\u7f51 \u8bfe\u7a0b\u6559\u6750\uff1aFundamentals of Computer Graphics \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 8 \u4e2a project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/#_3","text":"@ysj1173886760 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 ysj1173886760/Learning: graphics/GAMES101 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/","text":"GAMES103 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStyle3D/OSU \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0c\u5927\u5b66\u7269\u7406\uff0c\u7f16\u7a0b\u80fd\u529b\uff0c\u57fa\u672c\u56fe\u5f62\u77e5\u8bc6 \u7f16\u7a0b\u8bed\u8a00\uff1aC# \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd\uff1a \u672c\u8bfe\u7a0b\u5c06\u4f5c\u4e3a\u57fa\u4e8e\u7269\u7406\u7684\u8ba1\u7b97\u673a\u52a8\u753b\u6280\u672f\u5165\u95e8\uff0c\u7740\u91cd\u4ecb\u7ecd\u5404\u79cd\u57fa\u7840\u7684\u7269\u7406\u52a8\u753b\u6a21\u62df\u6280\u672f\u3002 \u8be5\u8bfe\u7a0b\u4e3b\u8981\u6db5\u76d6\u56db\u4e2a\u65b9\u5411\uff0c\u5206\u522b\u4e3a\uff1a1\uff09\u521a\u4f53\u6a21\u62df\uff1b2\uff09\u8d28\u70b9\u5f39\u7c27\u3001\u7ea6\u675f\u4e0e\u5e03\u6599\u6a21\u62df\uff1b3\uff09\u57fa\u4e8e\u6709\u9650\u5143\u7684\u5f39\u6027\u4f53\u6a21\u62df\uff1b4\uff09\u6d41\u4f53\u6a21\u62df\u3002 \u672c\u8bfe\u7a0b\u5185\u5bb9\u5c06\u4e0d\u4f1a\u6d89\u53ca\u5177\u4f53\u7684\u7269\u7406\u6a21\u62df\u5f15\u64ce\uff0c\u4f46\u4f1a\u8ba8\u8bba\u5404\u79cd\u5f15\u64ce\u80cc\u540e\u7684\u6280\u672f\uff0c\u4ee5\u53ca\u5b83\u4eec\u7684\u4f18\u7f3a\u70b9\u7b49\u7b49\u3002\u7531\u4e8e\u5f00\u53d1\u5b66\u4e60\u7269\u7406\u6a21\u62df\u9700\u8981\u4e00\u5b9a\u7684\u6570\u5b66\u57fa\u7840\uff0c\u8bfe\u7a0b\u521d\u59cb\u9636\u6bb5\u4e5f\u4f1a\u82b1\u4e00\u5b9a\u7684\u65f6\u95f4\u590d\u4e60\u5fc5\u5907\u7684\u6570\u5b66\u77e5\u8bc6\u3002\u987a\u5229\u5b8c\u6210\u8bfe\u7a0b\u4e4b\u540e\uff0c\u540c\u5b66\u4eec\u5e94\u8be5\u4f1a\u5bf9\u57fa\u7840\u7684\u7269\u7406\u6a21\u62df\u6280\u672f\u6709\u6df1\u5165\u7406\u89e3\uff0c\u5bf9\u9ad8\u7ea7\u7684\u6a21\u62df\u6280\u672f\u4e5f\u4f1a\u6709\u90e8\u5206\u63a5\u89e6\u3002 \u56fe\u5f62\u5b66\u53ef\u7c97\u7565\u5206\u4e3a\u6e32\u67d3\u3001\u6a21\u62df\u3001\u51e0\u4f55\u4e09\u4e2a\u9886\u57df\u3002GAMES101 \u548c GAMES202 \u4e3b\u8981\u4ee5\u6e32\u67d3\u4e3a\u4e3b\uff0c\u800c\u5bf9\u4e8e\u7269\u7406\u6a21\u62df\uff0cGAMES103 \u5219\u662f\u5f88\u68d2\u7684\u5b66\u4e60\u8d44\u6e90\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES103 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u53c2\u8003\u8d44\u6599\uff1a \u8bfe\u7a0bPPT \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5171\u56db\u6b21\u4f5c\u4e1a\uff0c\u53ef\u89c1\u5b98\u65b9BBS\u5c0f\u7a0b\u5e8f\u6216\u975e\u5b98\u65b9\u7684Repo\uff1a GAMES103 HW \u8d44\u6e90\u6c47\u603b @indevn \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u8981\u6c42\u90fd\u6c47\u603b\u5728 GAMES103 Unoffical \u4e2d\u3002\u5bf9\u4e8e\u4f5c\u4e1a\u7684\u5177\u4f53\u5b9e\u73b0\uff0c\u5728\u77e5\u4e4e\u4e0a\u6709\u5f88\u591a\u76f8\u5173\u6587\u7ae0\u8fdb\u884c\u4e86\u7ec6\u81f4\u8bb2\u89e3\u53ef\u4ee5\u53c2\u8003\u3002","title":"GAMES103"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/#games103","text":"","title":"GAMES103"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStyle3D/OSU \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0c\u5927\u5b66\u7269\u7406\uff0c\u7f16\u7a0b\u80fd\u529b\uff0c\u57fa\u672c\u56fe\u5f62\u77e5\u8bc6 \u7f16\u7a0b\u8bed\u8a00\uff1aC# \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd\uff1a \u672c\u8bfe\u7a0b\u5c06\u4f5c\u4e3a\u57fa\u4e8e\u7269\u7406\u7684\u8ba1\u7b97\u673a\u52a8\u753b\u6280\u672f\u5165\u95e8\uff0c\u7740\u91cd\u4ecb\u7ecd\u5404\u79cd\u57fa\u7840\u7684\u7269\u7406\u52a8\u753b\u6a21\u62df\u6280\u672f\u3002 \u8be5\u8bfe\u7a0b\u4e3b\u8981\u6db5\u76d6\u56db\u4e2a\u65b9\u5411\uff0c\u5206\u522b\u4e3a\uff1a1\uff09\u521a\u4f53\u6a21\u62df\uff1b2\uff09\u8d28\u70b9\u5f39\u7c27\u3001\u7ea6\u675f\u4e0e\u5e03\u6599\u6a21\u62df\uff1b3\uff09\u57fa\u4e8e\u6709\u9650\u5143\u7684\u5f39\u6027\u4f53\u6a21\u62df\uff1b4\uff09\u6d41\u4f53\u6a21\u62df\u3002 \u672c\u8bfe\u7a0b\u5185\u5bb9\u5c06\u4e0d\u4f1a\u6d89\u53ca\u5177\u4f53\u7684\u7269\u7406\u6a21\u62df\u5f15\u64ce\uff0c\u4f46\u4f1a\u8ba8\u8bba\u5404\u79cd\u5f15\u64ce\u80cc\u540e\u7684\u6280\u672f\uff0c\u4ee5\u53ca\u5b83\u4eec\u7684\u4f18\u7f3a\u70b9\u7b49\u7b49\u3002\u7531\u4e8e\u5f00\u53d1\u5b66\u4e60\u7269\u7406\u6a21\u62df\u9700\u8981\u4e00\u5b9a\u7684\u6570\u5b66\u57fa\u7840\uff0c\u8bfe\u7a0b\u521d\u59cb\u9636\u6bb5\u4e5f\u4f1a\u82b1\u4e00\u5b9a\u7684\u65f6\u95f4\u590d\u4e60\u5fc5\u5907\u7684\u6570\u5b66\u77e5\u8bc6\u3002\u987a\u5229\u5b8c\u6210\u8bfe\u7a0b\u4e4b\u540e\uff0c\u540c\u5b66\u4eec\u5e94\u8be5\u4f1a\u5bf9\u57fa\u7840\u7684\u7269\u7406\u6a21\u62df\u6280\u672f\u6709\u6df1\u5165\u7406\u89e3\uff0c\u5bf9\u9ad8\u7ea7\u7684\u6a21\u62df\u6280\u672f\u4e5f\u4f1a\u6709\u90e8\u5206\u63a5\u89e6\u3002 \u56fe\u5f62\u5b66\u53ef\u7c97\u7565\u5206\u4e3a\u6e32\u67d3\u3001\u6a21\u62df\u3001\u51e0\u4f55\u4e09\u4e2a\u9886\u57df\u3002GAMES101 \u548c GAMES202 \u4e3b\u8981\u4ee5\u6e32\u67d3\u4e3a\u4e3b\uff0c\u800c\u5bf9\u4e8e\u7269\u7406\u6a21\u62df\uff0cGAMES103 \u5219\u662f\u5f88\u68d2\u7684\u5b66\u4e60\u8d44\u6e90\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES103 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u53c2\u8003\u8d44\u6599\uff1a \u8bfe\u7a0bPPT \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5171\u56db\u6b21\u4f5c\u4e1a\uff0c\u53ef\u89c1\u5b98\u65b9BBS\u5c0f\u7a0b\u5e8f\u6216\u975e\u5b98\u65b9\u7684Repo\uff1a GAMES103 HW","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/#_3","text":"@indevn \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u8981\u6c42\u90fd\u6c47\u603b\u5728 GAMES103 Unoffical \u4e2d\u3002\u5bf9\u4e8e\u4f5c\u4e1a\u7684\u5177\u4f53\u5b9e\u73b0\uff0c\u5728\u77e5\u4e4e\u4e0a\u6709\u5f88\u591a\u76f8\u5173\u6587\u7ae0\u8fdb\u884c\u4e86\u7ec6\u81f4\u8bb2\u89e3\u53ef\u4ee5\u53c2\u8003\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES202/","text":"GAMES202 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUCSB \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cC++\uff0cGAMES101 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u672c\u8bfe\u7a0b\u5c06\u5168\u9762\u5730\u4ecb\u7ecd\u73b0\u4ee3\u5b9e\u65f6\u6e32\u67d3\u4e2d\u7684\u5173\u952e\u95ee\u9898\u4e0e\u89e3\u51b3\u65b9\u6cd5\u3002\u7531\u4e8e\u5b9e\u65f6\u6e32\u67d3 (>30 FPS) \u5bf9\u901f\u5ea6\u8981\u6c42\u6781\u9ad8\uff0c\u56e0\u6b64\u672c\u8bfe\u7a0b\u7684\u5173\u6ce8\u70b9\u5c06\u662f\u5728\u82db\u523b\u7684\u65f6\u95f4\u9650\u5236\u4e0b\uff0c\u4eba\u4eec\u5982\u4f55\u6253\u7834\u901f\u5ea6\u4e0e\u8d28\u91cf\u4e4b\u95f4\u7684\u6743\u8861\uff0c\u540c\u65f6\u4fdd\u8bc1\u5b9e\u65f6\u7684\u9ad8\u901f\u5ea6\u4e0e\u7167\u7247\u7ea7\u7684\u771f\u5b9e\u611f\u3002 \u672c\u8bfe\u7a0b\u5c06\u4ee5\u4e13\u9898\u7684\u5f62\u5f0f\u5448\u73b0\uff0c\u8bfe\u7a0b\u5185\u5bb9\u4f1a\u8986\u76d6\u5b66\u672f\u754c\u4e0e\u5de5\u4e1a\u754c\u7684\u524d\u6cbf\u5185\u5bb9\uff0c\u5305\u62ec\uff1a\uff081\uff09\u5b9e\u65f6\u8f6f\u9634\u5f71\u7684\u6e32\u67d3\uff1b\uff082\uff09\u73af\u5883\u5149\u7167\uff1b\uff083\uff09\u57fa\u4e8e\u9884\u8ba1\u7b97\u6216\u65e0\u9884\u8ba1\u7b97\u7684\u5168\u5c40\u5149\u7167\uff1b\uff084\uff09\u57fa\u4e8e\u7269\u7406\u7684\u7740\u8272\u6a21\u578b\u4e0e\u65b9\u6cd5\uff1b\uff085\uff09\u5b9e\u65f6\u5149\u7ebf\u8ffd\u8e2a\uff1b\uff086\uff09\u6297\u952f\u9f7f\u4e0e\u8d85\u91c7\u6837\uff1b\u4ee5\u53ca\u4e00\u4e9b\u5e38\u89c1\u7684\u52a0\u901f\u65b9\u5f0f\u7b49\u7b49\u3002 \u9664\u4e86\u6700\u65b0\u6700\u5168\u7684\u5185\u5bb9\u4e4b\u5916\uff0c\u672c\u8bfe\u7a0b\u4e0e\u5176\u5b83\u4efb\u4f55\u5b9e\u65f6\u6e32\u67d3\u7684\u6559\u7a0b\u8fd8\u6709\u4e00\u4e2a\u91cd\u8981\u7684\u533a\u522b\uff0c\u90a3\u5c31\u662f\u672c\u8bfe\u7a0b\u4e0d\u4f1a\u8bb2\u6388\u4efb\u4f55\u4e0e\u6e38\u620f\u5f15\u64ce\u7684\u4f7f\u7528\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5e76\u4e14\u4e0d\u4f1a\u7279\u522b\u5f3a\u8c03\u5177\u4f53\u7684\u7740\u8272\u5668\u5b9e\u73b0\u6280\u672f\uff0c\u800c\u4e3b\u8981\u8bb2\u6388\u5b9e\u65f6\u6e32\u67d3\u80cc\u540e\u7684\u79d1\u5b66\u4e0e\u77e5\u8bc6\u3002\u672c\u8bfe\u7a0b\u7684\u76ee\u6807\u662f\u5728\u4f60\u5b66\u4e60\u5b8c\u8fd9\u95e8\u8bfe\u7684\u65f6\u5019\uff0c\u4f60\u5c06\u6709\u6df1\u539a\u7684\u529f\u5e95\u53bb\u5f00\u53d1\u4e00\u4e2a\u5c5e\u4e8e\u4f60\u81ea\u5df1\u7684\u5b9e\u65f6\u6e32\u67d3\u5f15\u64ce\u3002 \u4f5c\u4e3a GAMES101 \u7684\u8fdb\u9636\u8bfe\u7a0b\uff0c\u96be\u5ea6\u6709\u4e00\u5b9a\u7684\u63d0\u5347\uff0c\u4f46\u4e0d\u4f1a\u5f88\u5927\uff0c\u76f8\u4fe1\u5b8c\u6210\u4e86 GAMES101 \u7684\u540c\u5b66\u90fd\u6709\u80fd\u529b\u5b8c\u6210\u8fd9\u95e8\u8bfe\u7a0b\u3002\u6bcf\u4e2a project \u4ee3\u7801\u91cf\u90fd\u4e0d\u4f1a\u5f88\u591a\uff0c\u4f46\u662f\u90fd\u9700\u8981\u4e00\u5b9a\u7684\u601d\u8003\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES202 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u8bfe\u7a0b\u6559\u6750\uff1aReal-Time Rendering, 4th edition. \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 5\u4e2aproject","title":"GAMES202"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES202/#games202","text":"","title":"GAMES202"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES202/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUCSB \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cC++\uff0cGAMES101 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u672c\u8bfe\u7a0b\u5c06\u5168\u9762\u5730\u4ecb\u7ecd\u73b0\u4ee3\u5b9e\u65f6\u6e32\u67d3\u4e2d\u7684\u5173\u952e\u95ee\u9898\u4e0e\u89e3\u51b3\u65b9\u6cd5\u3002\u7531\u4e8e\u5b9e\u65f6\u6e32\u67d3 (>30 FPS) \u5bf9\u901f\u5ea6\u8981\u6c42\u6781\u9ad8\uff0c\u56e0\u6b64\u672c\u8bfe\u7a0b\u7684\u5173\u6ce8\u70b9\u5c06\u662f\u5728\u82db\u523b\u7684\u65f6\u95f4\u9650\u5236\u4e0b\uff0c\u4eba\u4eec\u5982\u4f55\u6253\u7834\u901f\u5ea6\u4e0e\u8d28\u91cf\u4e4b\u95f4\u7684\u6743\u8861\uff0c\u540c\u65f6\u4fdd\u8bc1\u5b9e\u65f6\u7684\u9ad8\u901f\u5ea6\u4e0e\u7167\u7247\u7ea7\u7684\u771f\u5b9e\u611f\u3002 \u672c\u8bfe\u7a0b\u5c06\u4ee5\u4e13\u9898\u7684\u5f62\u5f0f\u5448\u73b0\uff0c\u8bfe\u7a0b\u5185\u5bb9\u4f1a\u8986\u76d6\u5b66\u672f\u754c\u4e0e\u5de5\u4e1a\u754c\u7684\u524d\u6cbf\u5185\u5bb9\uff0c\u5305\u62ec\uff1a\uff081\uff09\u5b9e\u65f6\u8f6f\u9634\u5f71\u7684\u6e32\u67d3\uff1b\uff082\uff09\u73af\u5883\u5149\u7167\uff1b\uff083\uff09\u57fa\u4e8e\u9884\u8ba1\u7b97\u6216\u65e0\u9884\u8ba1\u7b97\u7684\u5168\u5c40\u5149\u7167\uff1b\uff084\uff09\u57fa\u4e8e\u7269\u7406\u7684\u7740\u8272\u6a21\u578b\u4e0e\u65b9\u6cd5\uff1b\uff085\uff09\u5b9e\u65f6\u5149\u7ebf\u8ffd\u8e2a\uff1b\uff086\uff09\u6297\u952f\u9f7f\u4e0e\u8d85\u91c7\u6837\uff1b\u4ee5\u53ca\u4e00\u4e9b\u5e38\u89c1\u7684\u52a0\u901f\u65b9\u5f0f\u7b49\u7b49\u3002 \u9664\u4e86\u6700\u65b0\u6700\u5168\u7684\u5185\u5bb9\u4e4b\u5916\uff0c\u672c\u8bfe\u7a0b\u4e0e\u5176\u5b83\u4efb\u4f55\u5b9e\u65f6\u6e32\u67d3\u7684\u6559\u7a0b\u8fd8\u6709\u4e00\u4e2a\u91cd\u8981\u7684\u533a\u522b\uff0c\u90a3\u5c31\u662f\u672c\u8bfe\u7a0b\u4e0d\u4f1a\u8bb2\u6388\u4efb\u4f55\u4e0e\u6e38\u620f\u5f15\u64ce\u7684\u4f7f\u7528\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5e76\u4e14\u4e0d\u4f1a\u7279\u522b\u5f3a\u8c03\u5177\u4f53\u7684\u7740\u8272\u5668\u5b9e\u73b0\u6280\u672f\uff0c\u800c\u4e3b\u8981\u8bb2\u6388\u5b9e\u65f6\u6e32\u67d3\u80cc\u540e\u7684\u79d1\u5b66\u4e0e\u77e5\u8bc6\u3002\u672c\u8bfe\u7a0b\u7684\u76ee\u6807\u662f\u5728\u4f60\u5b66\u4e60\u5b8c\u8fd9\u95e8\u8bfe\u7684\u65f6\u5019\uff0c\u4f60\u5c06\u6709\u6df1\u539a\u7684\u529f\u5e95\u53bb\u5f00\u53d1\u4e00\u4e2a\u5c5e\u4e8e\u4f60\u81ea\u5df1\u7684\u5b9e\u65f6\u6e32\u67d3\u5f15\u64ce\u3002 \u4f5c\u4e3a GAMES101 \u7684\u8fdb\u9636\u8bfe\u7a0b\uff0c\u96be\u5ea6\u6709\u4e00\u5b9a\u7684\u63d0\u5347\uff0c\u4f46\u4e0d\u4f1a\u5f88\u5927\uff0c\u76f8\u4fe1\u5b8c\u6210\u4e86 GAMES101 \u7684\u540c\u5b66\u90fd\u6709\u80fd\u529b\u5b8c\u6210\u8fd9\u95e8\u8bfe\u7a0b\u3002\u6bcf\u4e2a project \u4ee3\u7801\u91cf\u90fd\u4e0d\u4f1a\u5f88\u591a\uff0c\u4f46\u662f\u90fd\u9700\u8981\u4e00\u5b9a\u7684\u601d\u8003\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES202/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES202 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u8bfe\u7a0b\u6559\u6750\uff1aReal-Time Rendering, 4th edition. \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 5\u4e2aproject","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/","text":"CS144: Computer Network \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u57fa\u7840\uff0cCS106L \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u7684\u4e3b\u8bb2\u4eba\u4e4b\u4e00\u662f\u7f51\u7edc\u9886\u57df\u7684\u5de8\u64d8 Nick McKeown \u6559\u6388\u3002\u8fd9\u4f4d\u62e5\u6709\u81ea\u5df1\u521b\u4e1a\u516c\u53f8\u7684\u5b66\u754c\u4e1a\u754c\u53cc\u5de8\u4f6c\u4f1a\u5728\u4ed6\u6155\u8bfe\u6bcf\u4e00\u7ae0\u8282\u7684\u6700\u540e\u91c7\u8bbf\u4e00\u4f4d\u4e1a\u754c\u7684\u9ad8\u7ba1\u6216\u8005\u5b66\u754c\u7684\u9ad8\u4eba\uff0c\u975e\u5e38\u5f00\u9614\u773c\u754c\u3002 \u5728\u8fd9\u95e8\u8bfe\u7684 Project \u4e2d\uff0c\u4f60\u5c06\u7528 C++ \u5faa\u5e8f\u6e10\u8fdb\u5730\u642d\u5efa\u51fa\u6574\u4e2a TCP/IP \u534f\u8bae\u6808\uff0c\u5b9e\u73b0 IP \u8def\u7531\u4ee5\u53ca ARP \u534f\u8bae\uff0c\u6700\u540e\u5229\u7528\u4f60\u81ea\u5df1\u7684\u534f\u8bae\u6808\u4ee3\u66ff Linux Kernel \u7684\u7f51\u7edc\u534f\u8bae\u6808\u548c\u5176\u4ed6\u5b66\u751f\u7684\u8ba1\u7b97\u673a\u8fdb\u884c\u901a\u4fe1\uff0c\u975e\u5e38 amazing\uff01 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs144.github.io/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=r2WZNaFyrbQ&list=PL6RdenZrxrw9inR-IJv-erlOKRHjymxMN \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://cs144.github.io/ \uff0c8 \u4e2a Project \u5e26\u4f60\u5b9e\u73b0\u6574\u4e2a TCP/IP \u534f\u8bae\u6808 \u8d44\u6e90\u6c47\u603b PKUFlyingPig Lexssama's Blogs huangrt01 kiprey \u5eb7\u5b87PL's Blog doraemonzzz ViXbob's libsponge \u5403\u7740\u571f\u8c46\u5750\u5730\u94c1\u7684\u535a\u5ba2 Smith \u661f\u9065\u89c1 EIMadrigal Joey","title":"Stanford CS144: Computer Network"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#cs144-computer-network","text":"","title":"CS144: Computer Network"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u57fa\u7840\uff0cCS106L \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u7684\u4e3b\u8bb2\u4eba\u4e4b\u4e00\u662f\u7f51\u7edc\u9886\u57df\u7684\u5de8\u64d8 Nick McKeown \u6559\u6388\u3002\u8fd9\u4f4d\u62e5\u6709\u81ea\u5df1\u521b\u4e1a\u516c\u53f8\u7684\u5b66\u754c\u4e1a\u754c\u53cc\u5de8\u4f6c\u4f1a\u5728\u4ed6\u6155\u8bfe\u6bcf\u4e00\u7ae0\u8282\u7684\u6700\u540e\u91c7\u8bbf\u4e00\u4f4d\u4e1a\u754c\u7684\u9ad8\u7ba1\u6216\u8005\u5b66\u754c\u7684\u9ad8\u4eba\uff0c\u975e\u5e38\u5f00\u9614\u773c\u754c\u3002 \u5728\u8fd9\u95e8\u8bfe\u7684 Project \u4e2d\uff0c\u4f60\u5c06\u7528 C++ \u5faa\u5e8f\u6e10\u8fdb\u5730\u642d\u5efa\u51fa\u6574\u4e2a TCP/IP \u534f\u8bae\u6808\uff0c\u5b9e\u73b0 IP \u8def\u7531\u4ee5\u53ca ARP \u534f\u8bae\uff0c\u6700\u540e\u5229\u7528\u4f60\u81ea\u5df1\u7684\u534f\u8bae\u6808\u4ee3\u66ff Linux Kernel \u7684\u7f51\u7edc\u534f\u8bae\u6808\u548c\u5176\u4ed6\u5b66\u751f\u7684\u8ba1\u7b97\u673a\u8fdb\u884c\u901a\u4fe1\uff0c\u975e\u5e38 amazing\uff01","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://cs144.github.io/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=r2WZNaFyrbQ&list=PL6RdenZrxrw9inR-IJv-erlOKRHjymxMN \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://cs144.github.io/ \uff0c8 \u4e2a Project \u5e26\u4f60\u5b9e\u73b0\u6574\u4e2a TCP/IP \u534f\u8bae\u6808","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#_3","text":"PKUFlyingPig Lexssama's Blogs huangrt01 kiprey \u5eb7\u5b87PL's Blog doraemonzzz ViXbob's libsponge \u5403\u7740\u571f\u8c46\u5750\u5730\u94c1\u7684\u535a\u5ba2 Smith \u661f\u9065\u89c1 EIMadrigal Joey","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/","text":"Computer Networking: A Top-Down Approach \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u9a6c\u8428\u8bf8\u585e\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u6709\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40 \u5c0f\u65f6 \u300a\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u300b\u662f\u8ba1\u7b97\u673a\u7f51\u7edc\u9886\u57df\u7684\u4e00\u672c\u7ecf\u5178\u6559\u6750\uff0c\u4e24\u4f4d\u4f5c\u8005 Jim Kurose \u548c Keith Ross \u7cbe\u5fc3\u5236\u4f5c\u4e86\u6559\u6750\u914d\u5957\u7684\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u5e76\u4e14\u516c\u5f00\u4e86\u81ea\u5df1\u5f55\u5236\u7684\u7f51\u8bfe\u89c6\u9891\uff0c\u4ea4\u4e92\u5f0f\u7684\u5728\u7ebf\u7ae0\u8282\u6d4b\u8bd5\uff0c\u4ee5\u53ca\u5229\u7528 WireShark \u8fdb\u884c\u6293\u5305\u5206\u6790\u7684 lab\u3002\u552f\u4e00\u9057\u61be\u7684\u662f\u8fd9\u95e8\u8bfe\u5e76\u6ca1\u6709\u786c\u6838\u7684\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u800c Stanford \u7684 CS144 \u80fd\u5f88\u597d\u5730\u5f25\u8865\u8fd9\u4e00\u70b9\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://gaia.cs.umass.edu/kurose_ross/index.php \u8bfe\u7a0b\u89c6\u9891\uff1a https://gaia.cs.umass.edu/kurose_ross/lectures.php \u8bfe\u7a0b\u6559\u6750\uff1aComputer Networking: A Top-Down Approach \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://gaia.cs.umass.edu/kurose_ross/wireshark.php \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/Computer-Network-A-Top-Down-Approach - GitHub \u4e2d\u3002","title":"Computer Networking: A Top-Down Approach"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#computer-networking-a-top-down-approach","text":"","title":"Computer Networking: A Top-Down Approach"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u9a6c\u8428\u8bf8\u585e\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u6709\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40 \u5c0f\u65f6 \u300a\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u300b\u662f\u8ba1\u7b97\u673a\u7f51\u7edc\u9886\u57df\u7684\u4e00\u672c\u7ecf\u5178\u6559\u6750\uff0c\u4e24\u4f4d\u4f5c\u8005 Jim Kurose \u548c Keith Ross \u7cbe\u5fc3\u5236\u4f5c\u4e86\u6559\u6750\u914d\u5957\u7684\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u5e76\u4e14\u516c\u5f00\u4e86\u81ea\u5df1\u5f55\u5236\u7684\u7f51\u8bfe\u89c6\u9891\uff0c\u4ea4\u4e92\u5f0f\u7684\u5728\u7ebf\u7ae0\u8282\u6d4b\u8bd5\uff0c\u4ee5\u53ca\u5229\u7528 WireShark \u8fdb\u884c\u6293\u5305\u5206\u6790\u7684 lab\u3002\u552f\u4e00\u9057\u61be\u7684\u662f\u8fd9\u95e8\u8bfe\u5e76\u6ca1\u6709\u786c\u6838\u7684\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u800c Stanford \u7684 CS144 \u80fd\u5f88\u597d\u5730\u5f25\u8865\u8fd9\u4e00\u70b9\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://gaia.cs.umass.edu/kurose_ross/index.php \u8bfe\u7a0b\u89c6\u9891\uff1a https://gaia.cs.umass.edu/kurose_ross/lectures.php \u8bfe\u7a0b\u6559\u6750\uff1aComputer Networking: A Top-Down Approach \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://gaia.cs.umass.edu/kurose_ross/wireshark.php","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/Computer-Network-A-Top-Down-Approach - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown_ustc/","text":"USTC Computer Networking:A Top-Down Approach \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u4e2d\u56fd\u79d1\u5b66\u6280\u672f\u5927\u5b66 \u6388\u8bfe\u6559\u5e08\uff1a\u90d1\u70c7\u3001\u6768\u575a \u5148\u4fee\u8981\u6c42\uff1a\u64cd\u4f5c\u7cfb\u7edf\uff08\u975e\u5fc5\u9700\uff09 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u5e94\u8be5\u662f\u4e2d\u6587\u4e92\u8054\u7f51\u4e0a\u6bd4\u8f83\u706b\u7684\u8ba1\u7b97\u673a\u7f51\u7edc\u8bfe\u4e86\uff0c\u6559\u6750\u91c7\u7528\u795e\u4e66\u8ba1\u7b97\u673a\u7f51\u7edc\uff08\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\uff09\uff0c\u6388\u8bfe\u98ce\u683c\u66f4\u504f\u5411\u5b9e\u9645\u800c\u975e\u7eaf\u7406\u8bba\uff08 \u5f3a\u70c8\u5efa\u8bae \u5148\u9605\u8bfb\u6559\u6750\u9884\u4e60\u518d\u770b\u8bfe\uff0c\u5426\u5219\u4e0a\u8bfe\u65f6 \u53ef\u80fd \u4f1a\u6709\u4e9b\u61f5\u5708\uff09\u3002 \u8bfe\u7a0b\u5185\u5bb9\u5305\u62ec \u5927\u90e8\u5206 \u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u91cc\u7684\u5185\u5bb9\uff0c\u540c\u65f6 \u6db5\u76d6 \u8003\u8bd5\u5185\u5bb9\uff0c\u53ef\u653e\u5fc3\u89c2\u770b\u3002 \u8bfe\u7a0b\u89c6\u9891\u662f\u90d1\u70c7\u8001\u5e08\u672c\u4eba\u5728\u54d4\u54e9\u54d4\u54e9\u4e0a\u4e0a\u4f20\u7684\uff0c\u4e14\u4ece2020\u5e74\u81f3\u4eca\u4e00\u76f4\u575a\u6301\u5728\u8bc4\u8bba\u533a\u7b54\u7591\uff0c\u5c5e\u5b9e\u8d1f\u8d23\u4e14\u8ba4\u771f\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://staff.ustc.edu.cn/~qzheng/teaching.html \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1JV411t7ow/ \u8bfe\u7a0b\u8bfe\u4ef6\uff1a http://staff.ustc.edu.cn/~qzheng/cn.zip \u8bfe\u7a0b\u6559\u6750\uff1a\u8ba1\u7b97\u673a\u7f51\u7edc\uff08\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5 \u7b2c7\u7248\uff09\uff0c\u673a\u68b0\u5de5\u4e1a\u51fa\u7248\u793e\uff0c2016","title":"USTC Computer Networking:A Top-Down Approach"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown_ustc/#ustc-computer-networkinga-top-down-approach","text":"","title":"USTC Computer Networking:A Top-Down Approach"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown_ustc/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u4e2d\u56fd\u79d1\u5b66\u6280\u672f\u5927\u5b66 \u6388\u8bfe\u6559\u5e08\uff1a\u90d1\u70c7\u3001\u6768\u575a \u5148\u4fee\u8981\u6c42\uff1a\u64cd\u4f5c\u7cfb\u7edf\uff08\u975e\u5fc5\u9700\uff09 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u5e94\u8be5\u662f\u4e2d\u6587\u4e92\u8054\u7f51\u4e0a\u6bd4\u8f83\u706b\u7684\u8ba1\u7b97\u673a\u7f51\u7edc\u8bfe\u4e86\uff0c\u6559\u6750\u91c7\u7528\u795e\u4e66\u8ba1\u7b97\u673a\u7f51\u7edc\uff08\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\uff09\uff0c\u6388\u8bfe\u98ce\u683c\u66f4\u504f\u5411\u5b9e\u9645\u800c\u975e\u7eaf\u7406\u8bba\uff08 \u5f3a\u70c8\u5efa\u8bae \u5148\u9605\u8bfb\u6559\u6750\u9884\u4e60\u518d\u770b\u8bfe\uff0c\u5426\u5219\u4e0a\u8bfe\u65f6 \u53ef\u80fd \u4f1a\u6709\u4e9b\u61f5\u5708\uff09\u3002 \u8bfe\u7a0b\u5185\u5bb9\u5305\u62ec \u5927\u90e8\u5206 \u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u91cc\u7684\u5185\u5bb9\uff0c\u540c\u65f6 \u6db5\u76d6 \u8003\u8bd5\u5185\u5bb9\uff0c\u53ef\u653e\u5fc3\u89c2\u770b\u3002 \u8bfe\u7a0b\u89c6\u9891\u662f\u90d1\u70c7\u8001\u5e08\u672c\u4eba\u5728\u54d4\u54e9\u54d4\u54e9\u4e0a\u4e0a\u4f20\u7684\uff0c\u4e14\u4ece2020\u5e74\u81f3\u4eca\u4e00\u76f4\u575a\u6301\u5728\u8bc4\u8bba\u533a\u7b54\u7591\uff0c\u5c5e\u5b9e\u8d1f\u8d23\u4e14\u8ba4\u771f\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown_ustc/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://staff.ustc.edu.cn/~qzheng/teaching.html \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1JV411t7ow/ \u8bfe\u7a0b\u8bfe\u4ef6\uff1a http://staff.ustc.edu.cn/~qzheng/cn.zip \u8bfe\u7a0b\u6559\u6750\uff1a\u8ba1\u7b97\u673a\u7f51\u7edc\uff08\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5 \u7b2c7\u7248\uff09\uff0c\u673a\u68b0\u5de5\u4e1a\u51fa\u7248\u793e\uff0c2016","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/","text":"MIT 6.031: Software Construction \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u7684\u76ee\u6807\u5c31\u662f\u8ba9\u5b66\u751f\u5b66\u4f1a\u5982\u4f55\u5199\u51fa\u9ad8\u8d28\u91cf\u7684\u4ee3\u7801\uff0c\u6240\u8c13\u9ad8\u8d28\u91cf\uff0c\u5219\u662f\u6ee1\u8db3\u4e0b\u9762\u4e09\u4e2a\u76ee\u6807\uff08\u8bfe\u7a0b\u8bbe\u8ba1\u8005\u539f\u8bdd\u590d\u5236\uff0c\u4ee5\u9632\u81ea\u5df1\u7ffb\u8bd1\u66f2\u89e3\u672c\u610f\uff09\uff1a Safe from bugs. Correctness (correct behavior right now) and defensiveness (correct behavior in the future) are required in any software we build. Easy to understand. The code has to communicate to future programmers who need to understand it and make changes in it (fixing bugs or adding new features). That future programmer might be you, months or years from now. You\u2019ll be surprised how much you forget if you don\u2019t write it down, and how much it helps your own future self to have a good design. Ready for change. Software always changes. Some designs make it easy to make changes; others require throwing away and rewriting a lot of code. \u4e3a\u6b64\uff0c\u8fd9\u95e8\u8bfe\u7684\u8bbe\u8ba1\u8005\u4eec\u7cbe\u5fc3\u7f16\u5199\u4e86\u4e00\u672c\u4e66\u6765\u9610\u91ca\u8bf8\u591a\u8f6f\u4ef6\u6784\u5efa\u7684\u6838\u5fc3\u539f\u5219\u4e0e\u524d\u4eba\u603b\u7ed3\u4e0b\u6765\u7684\u5b9d\u8d35\u7ecf\u9a8c\uff0c\u5185\u5bb9\u7ec6\u8282\u5230\u5982\u4f55\u7f16\u5199\u6ce8\u91ca\u548c\u51fd\u6570 Specification\uff0c\u5982\u4f55\u8bbe\u8ba1\u62bd\u8c61\u6570\u636e\u7ed3\u6784\u4ee5\u53ca\u8bf8\u591a\u5e76\u884c\u7f16\u7a0b\u7684\u5185\u5bb9\uff0c\u5e76\u4e14\u4f1a\u8ba9\u4f60\u5728\u7cbe\u5fc3\u8bbe\u8ba1\u7684 Java \u7f16\u7a0b\u9879\u76ee\u91cc\u4f53\u9a8c\u548c\u7ec3\u4e60\u8fd9\u4e9b\u7f16\u7a0b\u6a21\u5f0f\u3002 2016\u5e74\u6625\u5b63\u5b66\u671f\u8fd9\u95e8\u8bfe\u5f00\u6e90\u4e86\u5176\u6240\u6709\u7f16\u7a0b\u4f5c\u4e1a\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u800c\u6700\u65b0\u7684\u8bfe\u7a0b\u6559\u6750\u53ef\u4ee5\u5728\u5176\u6700\u65b0\u7684\u6559\u5b66\u7f51\u7ad9\u4e0a\u627e\u5230\uff0c\u5177\u4f53\u94fe\u63a5\u53c2\u89c1\u4e0b\u65b9\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a 2021spring , 2016spring \u8bfe\u7a0b\u89c6\u9891\uff1a\u65e0 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u7684\u8bfe\u7a0b notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a + 1 \u4e2a Project \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/MIT6.031-software-construction - GitHub \u4e2d\u3002 @pengzhangzhi \u5b8c\u6210\u4e86\u8fd9\u95e8\u8bfe\u7684\u4f5c\u4e1a\u5e76\u8bb0\u5f55\u4e86\u7b14\u8bb0, \u4ee3\u7801\u5f00\u6e90\u5728 pengzhangzhi/self-taught-CS/Software Construction - Github \u3002","title":"MIT 6.031: Software Construction"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/#mit-6031-software-construction","text":"","title":"MIT 6.031: Software Construction"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u7684\u76ee\u6807\u5c31\u662f\u8ba9\u5b66\u751f\u5b66\u4f1a\u5982\u4f55\u5199\u51fa\u9ad8\u8d28\u91cf\u7684\u4ee3\u7801\uff0c\u6240\u8c13\u9ad8\u8d28\u91cf\uff0c\u5219\u662f\u6ee1\u8db3\u4e0b\u9762\u4e09\u4e2a\u76ee\u6807\uff08\u8bfe\u7a0b\u8bbe\u8ba1\u8005\u539f\u8bdd\u590d\u5236\uff0c\u4ee5\u9632\u81ea\u5df1\u7ffb\u8bd1\u66f2\u89e3\u672c\u610f\uff09\uff1a Safe from bugs. Correctness (correct behavior right now) and defensiveness (correct behavior in the future) are required in any software we build. Easy to understand. The code has to communicate to future programmers who need to understand it and make changes in it (fixing bugs or adding new features). That future programmer might be you, months or years from now. You\u2019ll be surprised how much you forget if you don\u2019t write it down, and how much it helps your own future self to have a good design. Ready for change. Software always changes. Some designs make it easy to make changes; others require throwing away and rewriting a lot of code. \u4e3a\u6b64\uff0c\u8fd9\u95e8\u8bfe\u7684\u8bbe\u8ba1\u8005\u4eec\u7cbe\u5fc3\u7f16\u5199\u4e86\u4e00\u672c\u4e66\u6765\u9610\u91ca\u8bf8\u591a\u8f6f\u4ef6\u6784\u5efa\u7684\u6838\u5fc3\u539f\u5219\u4e0e\u524d\u4eba\u603b\u7ed3\u4e0b\u6765\u7684\u5b9d\u8d35\u7ecf\u9a8c\uff0c\u5185\u5bb9\u7ec6\u8282\u5230\u5982\u4f55\u7f16\u5199\u6ce8\u91ca\u548c\u51fd\u6570 Specification\uff0c\u5982\u4f55\u8bbe\u8ba1\u62bd\u8c61\u6570\u636e\u7ed3\u6784\u4ee5\u53ca\u8bf8\u591a\u5e76\u884c\u7f16\u7a0b\u7684\u5185\u5bb9\uff0c\u5e76\u4e14\u4f1a\u8ba9\u4f60\u5728\u7cbe\u5fc3\u8bbe\u8ba1\u7684 Java \u7f16\u7a0b\u9879\u76ee\u91cc\u4f53\u9a8c\u548c\u7ec3\u4e60\u8fd9\u4e9b\u7f16\u7a0b\u6a21\u5f0f\u3002 2016\u5e74\u6625\u5b63\u5b66\u671f\u8fd9\u95e8\u8bfe\u5f00\u6e90\u4e86\u5176\u6240\u6709\u7f16\u7a0b\u4f5c\u4e1a\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u800c\u6700\u65b0\u7684\u8bfe\u7a0b\u6559\u6750\u53ef\u4ee5\u5728\u5176\u6700\u65b0\u7684\u6559\u5b66\u7f51\u7ad9\u4e0a\u627e\u5230\uff0c\u5177\u4f53\u94fe\u63a5\u53c2\u89c1\u4e0b\u65b9\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a 2021spring , 2016spring \u8bfe\u7a0b\u89c6\u9891\uff1a\u65e0 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u7684\u8bfe\u7a0b notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a + 1 \u4e2a Project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/MIT6.031-software-construction - GitHub \u4e2d\u3002 @pengzhangzhi \u5b8c\u6210\u4e86\u8fd9\u95e8\u8bfe\u7684\u4f5c\u4e1a\u5e76\u8bb0\u5f55\u4e86\u7b14\u8bb0, \u4ee3\u7801\u5f00\u6e90\u5728 pengzhangzhi/self-taught-CS/Software Construction - Github \u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/","text":"UCB CS169: software engineering \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aRuby/JavaScript \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u7a0b\uff0c\u4e0d\u540c\u4e8e\u5f88\u591a\u4f20\u7edf\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u5f3a\u8c03\u5404\u79cd\u7c7b\u56fe\u3001\u6587\u6863\u8bbe\u8ba1 (plan and document \u6a21\u5f0f)\uff0c\u8fd9\u95e8\u8bfe\u4e13\u6ce8\u4e8e\u6700\u8fd1\u9010\u6e10\u6d41\u884c\u8d77\u6765\u7684\u654f\u6377\u5f00\u53d1 (Agile Development)\u6a21\u5f0f\uff0c\u5229\u7528\u4e91\u5e73\u53f0\u63d0\u4f9b\u8f6f\u4ef6\u5373\u670d\u52a1 (software as a service)\u3002\u4e3a\u6b64\uff0c\u8bfe\u7a0b\u8bbe\u8ba1\u8005\u7f16\u5199\u4e86 Software as a service \u8fd9\u672c\u6559\u6750\uff0c\u901a\u8fc7 Ruby/Rails \u6846\u67b6\u6765\u9610\u91ca SaaS \u8fd9\u4e2a\u6982\u5ff5\uff0c\u5e76\u4e14\u6709\u4e30\u5bcc\u7684\u914d\u5957\u7f16\u7a0b\u7ec3\u4e60\u3002 \u8fd9\u95e8\u8bfe\u5728 Edx \u8fd9\u4e2a\u7531 MIT \u548c Harvard \u5927\u5b66\u53d1\u8d77\u7684\u5728\u7ebf\u6559\u80b2\u5e73\u53f0\u5168\u8d44\u6599\u5f00\u6e90\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728 Edx \u81ea\u884c\u641c\u7d22 Agile SaaS Development \u8fd9\u95e8\u8bfe\u7a0b\u8fdb\u884c\u5b66\u4e60\u3002\u8bfe\u7a0b\u5185\u5bb9\u57fa\u672c\u6309\u7167\u6559\u6750\u7684\u987a\u5e8f\u5e26\u4f60\u4e00\u6b65\u6b65\u4ee5\u654f\u6377\u5f00\u53d1\u7684\u65b9\u5f0f\u642d\u5efa\u4e00\u4e2a\u8f6f\u4ef6\u5e76\u514d\u8d39\u90e8\u7f72\u5728\u4e91\u5e73\u53f0\u4e0a\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://www.saasbook.info/courses \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1 Edx \u8bfe\u7a0b\u4e3b\u9875\u3002 \u8bfe\u7a0b\u6559\u6750\uff1a Software as a service \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1 Edx \u8bfe\u7a0b\u4e3b\u9875\u3002 \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS169-Software-Engineering - GitHub \u4e2d\u3002","title":"UCB CS169: software engineering"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/#ucb-cs169-software-engineering","text":"","title":"UCB CS169: software engineering"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aRuby/JavaScript \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u7a0b\uff0c\u4e0d\u540c\u4e8e\u5f88\u591a\u4f20\u7edf\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u5f3a\u8c03\u5404\u79cd\u7c7b\u56fe\u3001\u6587\u6863\u8bbe\u8ba1 (plan and document \u6a21\u5f0f)\uff0c\u8fd9\u95e8\u8bfe\u4e13\u6ce8\u4e8e\u6700\u8fd1\u9010\u6e10\u6d41\u884c\u8d77\u6765\u7684\u654f\u6377\u5f00\u53d1 (Agile Development)\u6a21\u5f0f\uff0c\u5229\u7528\u4e91\u5e73\u53f0\u63d0\u4f9b\u8f6f\u4ef6\u5373\u670d\u52a1 (software as a service)\u3002\u4e3a\u6b64\uff0c\u8bfe\u7a0b\u8bbe\u8ba1\u8005\u7f16\u5199\u4e86 Software as a service \u8fd9\u672c\u6559\u6750\uff0c\u901a\u8fc7 Ruby/Rails \u6846\u67b6\u6765\u9610\u91ca SaaS \u8fd9\u4e2a\u6982\u5ff5\uff0c\u5e76\u4e14\u6709\u4e30\u5bcc\u7684\u914d\u5957\u7f16\u7a0b\u7ec3\u4e60\u3002 \u8fd9\u95e8\u8bfe\u5728 Edx \u8fd9\u4e2a\u7531 MIT \u548c Harvard \u5927\u5b66\u53d1\u8d77\u7684\u5728\u7ebf\u6559\u80b2\u5e73\u53f0\u5168\u8d44\u6599\u5f00\u6e90\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728 Edx \u81ea\u884c\u641c\u7d22 Agile SaaS Development \u8fd9\u95e8\u8bfe\u7a0b\u8fdb\u884c\u5b66\u4e60\u3002\u8bfe\u7a0b\u5185\u5bb9\u57fa\u672c\u6309\u7167\u6559\u6750\u7684\u987a\u5e8f\u5e26\u4f60\u4e00\u6b65\u6b65\u4ee5\u654f\u6377\u5f00\u53d1\u7684\u65b9\u5f0f\u642d\u5efa\u4e00\u4e2a\u8f6f\u4ef6\u5e76\u514d\u8d39\u90e8\u7f72\u5728\u4e91\u5e73\u53f0\u4e0a\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://www.saasbook.info/courses \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1 Edx \u8bfe\u7a0b\u4e3b\u9875\u3002 \u8bfe\u7a0b\u6559\u6750\uff1a Software as a service \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1 Edx \u8bfe\u7a0b\u4e3b\u9875\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS169-Software-Engineering - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"en/","text":"Foreword The English version is still under development, please check this issue if you want to contribute. This is a self-learning guide to computer science, and a memento of my three years of self-learning at university. It is also a gift to the young students at Peking University. It would be a great encouragement and comfort to me if this book could be of even the slightest help to you in your college life. The book is currently organized to include the following sections (if you have other good suggestions, or would like to join the ranks of contributors, please feel free to email zhongyinmin@pku.edu.cn or ask questions in the issue). Productivity Toolkit: IDE, VPN, StackOverflow, Git, Github, Vim, Latex, GNU Make and so on. Environment configuration: PC/Server development environment setup, DevOps tutorials and so on. Book recommendations: Those who have read the CSAPP must have realized the importance of good books. I will list links to books and resources in different areas of Computer Science that I find rewarding to read. List of high quality CS courses : I will summarize all the high quality foreign CS courses I have taken into different categories and give relevant self-learning advice. Most of them will have a separate repository containing relevant resources as well as my homework/project implementations. The place where dreams start \u2014\u2014 CS61A In my freshman year, I was a novice who knew nothing about computers. I installed a giant IDE Visual Studio and fight with OJ every day. With my high school maths background, I did pretty well in maths courses, but I felt struggled to learn courses in my major. When it came to programming, all I could do was open up that clunky IDE, create a new project that I didn't know exactly what it was for, and then cin , cout , for loops, and then CE, RE, WA loops. I was in a state where I was desperately trying to learn well but I didn't know how to learn. I listened carefully in class but I couldn't solve the homework problems. I spent almost all my spare time doing the homework after class, but the results were disappointing. I still retain the source code of the project for Introduction to Computing course \u2014\u2014 a single 1200-line C++ file with no header files, no class abstraction, no unit tests, no makefile, no version control. The only good thing is that it can run, the disadvantage is the complement of \"can run\". For a while I wondered if I wasn't cut out for computer science, as all my childhood imaginings of geekiness had been completely ruined by my first semester's experience. It all turned around during the winter break of my freshman year, when I had a hankering to learn Python. I overheard someone recommend CS61A, a freshman introductory course at UC Berkeley on Python. I'll never forget that day, when I opened the CS61A course website. It was like Columbus discovering a new continent, and I opened the door to a new world. I finished the course in 3 weeks and for the first time I felt that CS could be so fulfilling and interesting, and I was shocked that there existed such a great course in the world. To avoid any suspicion of pandering to foreign courses, I will tell you about my experience of studying CS61A from the perspective of a pure student. Course website developed by course staffs : The course website integrates all the course resources into one, with a well organised course schedule, links to all slides, recorded videos and homework, detailed and clear syllabus, list of exams and solutions from previous years. Aesthetics aside, this website is so convenient for students. Textbook written by course instructor : The course instructor has adapted the classic MIT textbook Structure and Interpretation of Computer Programs (SICP) into Python (the original textbook was based on Scheme). This is a great way to ensure that the classroom content is consistent with the textbook, while adding more details. The entire book is open source and can be read directly online. Various, comprehensive and interesting homework : There are 14 labs to reinforce the knowledge gained in class, 10 homework assignments to practice, and 4 projects each with thousands of lines of code, all with well-organized skeleton code and babysitting instructions. Unlike the old-school OJ and Word document assignments, each lab/homework/project has a detailed handout document, fully automated grading scripts, and CS61A staffs have even developed an automated assignment submission and grading system . Of course, one might say \"How much can you learn from a project where most of code are written by your teaching assistants?\" . For someone who is new to CS and even stumbling over installing Python, this well-developed skeleton code allows students to focus on reinforcing the core knowledge they've learned in class, but also gives them a sense of achievement that they already can make a little game despite of learning Python only for a month. It also gives them the opportunity to read and learn from other people's high quality code so that they can reuse it later. I think in the freshman year, this kind of skeleton code is absolutely beneficial. The only bad thing perhaps is for the instructors and teaching assistants, as developing such assignments can conceivably require a considerable time commitment. Weekly discussion sessions : The teaching assistants will explain the difficult knowledge in class and add some supplementary materials which may not be covered in class. Also, there will be exercises from exams of previous years. All the exercises are written in LaTeX with solutions. In CS61A, You don't need any prerequesites about CS at all. You just need to pay attention, spend time and work hard. The feeling that you do not know what to do, that you are not getting anything in return for all the time you put in, is gone. It suited me so well that I fell in love with self-learning. Imagine that if someone could chew up the hard knowledge and present it to you in a vivid and straightforward way, with so many fancy and varied projects to reinforce your theoretical knowledge, you'd think they were really trying their best to make you fully grasp the course, and it was even an insult to the course builders not to learn it well. If you think I'm exaggerating, start with CS61A , because it's where my dreams began. Why write this book? In the 2020 Fall semester, I worked as a teaching assistant for the class Introduction to Computer Systems at Peking University. At that time, I had been studying totally on my own for over a year. I enjoyed this style of learning immensely. To share this joy, I have made a CS Self-learning Materials List for students in my seminar. It was purely on a whim at the time, as I wouldn't dare to encourage my students to skip classes and study on their own. But after another year of maintenance, the list has become quite comprehensive, covering most of the courses in Computer Science, Artificial Intelligence and Soft Engineering, and I have built separate repositories for each course, summarising the self-learning materials that I used. In my last college year, when I opened up my curriculum book, I realized that it was already a subset of my self-learning list. By then, it was only two and a half years after I had started my self-learning journey. Then, a bold idea came to my mind: perhaps I could create a self-learning book, write down the difficulty I encountered and the interest I found during these years of self-learning, hoping to make it easy for students who may also enjoy self-learning to start their wonderful self-learning journey. If you can build up the whole CS foundation in less than three years, have relatively solid mathematical skills and coding ability, experience dozens of projects with thousands of lines of code, master at least C/C++/Java/JS/Python/Go/Rust and other mainstream programming languages, have a good understanding of algorithms, circuits, architectures, networks, operating systems, compilers, artificial intelligence, machine learning, computer vision, natural language processing, reinforcement learning, cryptography, information theory, game theory, numerical analysis, statistics, distributed systems, parallel computing, database systems, computer graphics, web development, cloud computing, supercomputing etc. I think you will be confident enough to choose the area you are interested in, and you will be quite competitive in both industry and academia. I firmly believe that if you have read to this line, you do not lack the ability and committment to learn CS well, you just need a good teacher to teach you a good course. And I will try my best to pick such courses for you, based on my three years of experience. Pros For me, the biggest advantage of self-learning is that I can adjust the pace of learning entirely according to my own progress. For difficult parts, I can watch the videos over and over again, Google it online and ask questions on StackOverflow until I have it all figured out. For those that I mastered relatively quickly, I could skip them at twice or even three times the speed. Another great thing about self-learning is that you can learn from different perspectives. I have taken core courses such as architectures, networking, operating systems, and compilers from different universities. Different instructors may have different views on the same knowledge, which will broaden your horizon. A third advantage of self-learning is that you do not need to go to the class, listening to the boring lectures. Cons Of course, as a big fan of self-learning, I have to admit that it has its disadvantages. The first is the difficulty of communication. I'm actually a very keen questioner, and I like to follow up all the points I don't understand. But when you're facing a screen and you hear a teacher talking about something you don't understand, you can't go to the other end of the network and ask him or her for clarification. I try to mitigate this by thinking independently and making good use of Google, but it would be great to have a few friends to study together. You can refer to README for more information on participating a community group. The second thing is that these courses are basically in English. From the videos to the slides to the assignments, all in English. You may struggle at first, but I think it's a challenge that if you overcome, it will be extremely rewarding. Because at the moment, as reluctant as I am, I have to admit that in computer science, a lot of high quality documentation, forums and websites are all in English. The third, and I think the most difficult one, is self-discipline. Because have no DDL can sometimes be a really scary thing, especially when you get deeper, many foreign courses are quite difficult. You have to be self-driven enough to force yourself to settle down, read dozens of pages of Project Handout, understand thousands of lines of skeleton code and endure hours of debugging time. With no credits, no grades, no teachers, no classmates, just one belief - that you are getting better. Who is this book for? As I said in the beginning, anyone who is interested in learning computer science on their own can refer to this book. If you already have some basic skills and are just interested in a particular area, you can selectively pick and choose what you are interested in to study. Of course, if you are a novice who knows nothing about computers like I did back then, and just begin your college journey, I hope this book will be your cheat sheet to get the knowledge and skills you need in the least amount of time. In a way, this book is more like a course search engine ordered according to my experience, helping you to learn high quality CS courses from the world's top universities without leaving home. Of course, as an undergraduate student who has not yet graduated, I feel that I am not in a position nor have the right to preach one way of learning. I just hope that this material will help those who are also self-motivated and persistent to gain a richer, more varied and satisfying college life. Special thanks I would like to express my sincere gratitude to all the professors who have made their courses public for free. These courses are the culmination of decades of their teaching careers, and they have chosen to selflessly make such a high quality CS education available to all. Without them, my university life would not have been as fulfilling and enjoyable. Many of the professors would even reply with hundreds of words in length after I had sent them a thank you email, which really touched me beyond words. They also inspired me all the time that if decide to do something, do it with all heart and soul. Want to join as a contributor? There is a limit to how much one person can do, and this book was written by me under a heavy research schedule, so there are inevitably imperfections. In addition, as I work in the area of systems, many of the courses focus on systems, and there is relatively little content related to advanced mathematics, computing theory, and advanced algorithms. If any of you would like to share your self-learning experience and resources in other areas, you can directly initiate a Pull Request in the project, or feel free to contact me by email ( zhongyinmin@pku.edu.cn ).","title":"Foreword"},{"location":"en/#foreword","text":"The English version is still under development, please check this issue if you want to contribute. This is a self-learning guide to computer science, and a memento of my three years of self-learning at university. It is also a gift to the young students at Peking University. It would be a great encouragement and comfort to me if this book could be of even the slightest help to you in your college life. The book is currently organized to include the following sections (if you have other good suggestions, or would like to join the ranks of contributors, please feel free to email zhongyinmin@pku.edu.cn or ask questions in the issue). Productivity Toolkit: IDE, VPN, StackOverflow, Git, Github, Vim, Latex, GNU Make and so on. Environment configuration: PC/Server development environment setup, DevOps tutorials and so on. Book recommendations: Those who have read the CSAPP must have realized the importance of good books. I will list links to books and resources in different areas of Computer Science that I find rewarding to read. List of high quality CS courses : I will summarize all the high quality foreign CS courses I have taken into different categories and give relevant self-learning advice. Most of them will have a separate repository containing relevant resources as well as my homework/project implementations.","title":"Foreword"},{"location":"en/#the-place-where-dreams-start-cs61a","text":"In my freshman year, I was a novice who knew nothing about computers. I installed a giant IDE Visual Studio and fight with OJ every day. With my high school maths background, I did pretty well in maths courses, but I felt struggled to learn courses in my major. When it came to programming, all I could do was open up that clunky IDE, create a new project that I didn't know exactly what it was for, and then cin , cout , for loops, and then CE, RE, WA loops. I was in a state where I was desperately trying to learn well but I didn't know how to learn. I listened carefully in class but I couldn't solve the homework problems. I spent almost all my spare time doing the homework after class, but the results were disappointing. I still retain the source code of the project for Introduction to Computing course \u2014\u2014 a single 1200-line C++ file with no header files, no class abstraction, no unit tests, no makefile, no version control. The only good thing is that it can run, the disadvantage is the complement of \"can run\". For a while I wondered if I wasn't cut out for computer science, as all my childhood imaginings of geekiness had been completely ruined by my first semester's experience. It all turned around during the winter break of my freshman year, when I had a hankering to learn Python. I overheard someone recommend CS61A, a freshman introductory course at UC Berkeley on Python. I'll never forget that day, when I opened the CS61A course website. It was like Columbus discovering a new continent, and I opened the door to a new world. I finished the course in 3 weeks and for the first time I felt that CS could be so fulfilling and interesting, and I was shocked that there existed such a great course in the world. To avoid any suspicion of pandering to foreign courses, I will tell you about my experience of studying CS61A from the perspective of a pure student. Course website developed by course staffs : The course website integrates all the course resources into one, with a well organised course schedule, links to all slides, recorded videos and homework, detailed and clear syllabus, list of exams and solutions from previous years. Aesthetics aside, this website is so convenient for students. Textbook written by course instructor : The course instructor has adapted the classic MIT textbook Structure and Interpretation of Computer Programs (SICP) into Python (the original textbook was based on Scheme). This is a great way to ensure that the classroom content is consistent with the textbook, while adding more details. The entire book is open source and can be read directly online. Various, comprehensive and interesting homework : There are 14 labs to reinforce the knowledge gained in class, 10 homework assignments to practice, and 4 projects each with thousands of lines of code, all with well-organized skeleton code and babysitting instructions. Unlike the old-school OJ and Word document assignments, each lab/homework/project has a detailed handout document, fully automated grading scripts, and CS61A staffs have even developed an automated assignment submission and grading system . Of course, one might say \"How much can you learn from a project where most of code are written by your teaching assistants?\" . For someone who is new to CS and even stumbling over installing Python, this well-developed skeleton code allows students to focus on reinforcing the core knowledge they've learned in class, but also gives them a sense of achievement that they already can make a little game despite of learning Python only for a month. It also gives them the opportunity to read and learn from other people's high quality code so that they can reuse it later. I think in the freshman year, this kind of skeleton code is absolutely beneficial. The only bad thing perhaps is for the instructors and teaching assistants, as developing such assignments can conceivably require a considerable time commitment. Weekly discussion sessions : The teaching assistants will explain the difficult knowledge in class and add some supplementary materials which may not be covered in class. Also, there will be exercises from exams of previous years. All the exercises are written in LaTeX with solutions. In CS61A, You don't need any prerequesites about CS at all. You just need to pay attention, spend time and work hard. The feeling that you do not know what to do, that you are not getting anything in return for all the time you put in, is gone. It suited me so well that I fell in love with self-learning. Imagine that if someone could chew up the hard knowledge and present it to you in a vivid and straightforward way, with so many fancy and varied projects to reinforce your theoretical knowledge, you'd think they were really trying their best to make you fully grasp the course, and it was even an insult to the course builders not to learn it well. If you think I'm exaggerating, start with CS61A , because it's where my dreams began.","title":"The place where dreams start \u2014\u2014 CS61A"},{"location":"en/#why-write-this-book","text":"In the 2020 Fall semester, I worked as a teaching assistant for the class Introduction to Computer Systems at Peking University. At that time, I had been studying totally on my own for over a year. I enjoyed this style of learning immensely. To share this joy, I have made a CS Self-learning Materials List for students in my seminar. It was purely on a whim at the time, as I wouldn't dare to encourage my students to skip classes and study on their own. But after another year of maintenance, the list has become quite comprehensive, covering most of the courses in Computer Science, Artificial Intelligence and Soft Engineering, and I have built separate repositories for each course, summarising the self-learning materials that I used. In my last college year, when I opened up my curriculum book, I realized that it was already a subset of my self-learning list. By then, it was only two and a half years after I had started my self-learning journey. Then, a bold idea came to my mind: perhaps I could create a self-learning book, write down the difficulty I encountered and the interest I found during these years of self-learning, hoping to make it easy for students who may also enjoy self-learning to start their wonderful self-learning journey. If you can build up the whole CS foundation in less than three years, have relatively solid mathematical skills and coding ability, experience dozens of projects with thousands of lines of code, master at least C/C++/Java/JS/Python/Go/Rust and other mainstream programming languages, have a good understanding of algorithms, circuits, architectures, networks, operating systems, compilers, artificial intelligence, machine learning, computer vision, natural language processing, reinforcement learning, cryptography, information theory, game theory, numerical analysis, statistics, distributed systems, parallel computing, database systems, computer graphics, web development, cloud computing, supercomputing etc. I think you will be confident enough to choose the area you are interested in, and you will be quite competitive in both industry and academia. I firmly believe that if you have read to this line, you do not lack the ability and committment to learn CS well, you just need a good teacher to teach you a good course. And I will try my best to pick such courses for you, based on my three years of experience.","title":"Why write this book?"},{"location":"en/#pros","text":"For me, the biggest advantage of self-learning is that I can adjust the pace of learning entirely according to my own progress. For difficult parts, I can watch the videos over and over again, Google it online and ask questions on StackOverflow until I have it all figured out. For those that I mastered relatively quickly, I could skip them at twice or even three times the speed. Another great thing about self-learning is that you can learn from different perspectives. I have taken core courses such as architectures, networking, operating systems, and compilers from different universities. Different instructors may have different views on the same knowledge, which will broaden your horizon. A third advantage of self-learning is that you do not need to go to the class, listening to the boring lectures.","title":"Pros"},{"location":"en/#cons","text":"Of course, as a big fan of self-learning, I have to admit that it has its disadvantages. The first is the difficulty of communication. I'm actually a very keen questioner, and I like to follow up all the points I don't understand. But when you're facing a screen and you hear a teacher talking about something you don't understand, you can't go to the other end of the network and ask him or her for clarification. I try to mitigate this by thinking independently and making good use of Google, but it would be great to have a few friends to study together. You can refer to README for more information on participating a community group. The second thing is that these courses are basically in English. From the videos to the slides to the assignments, all in English. You may struggle at first, but I think it's a challenge that if you overcome, it will be extremely rewarding. Because at the moment, as reluctant as I am, I have to admit that in computer science, a lot of high quality documentation, forums and websites are all in English. The third, and I think the most difficult one, is self-discipline. Because have no DDL can sometimes be a really scary thing, especially when you get deeper, many foreign courses are quite difficult. You have to be self-driven enough to force yourself to settle down, read dozens of pages of Project Handout, understand thousands of lines of skeleton code and endure hours of debugging time. With no credits, no grades, no teachers, no classmates, just one belief - that you are getting better.","title":"Cons"},{"location":"en/#who-is-this-book-for","text":"As I said in the beginning, anyone who is interested in learning computer science on their own can refer to this book. If you already have some basic skills and are just interested in a particular area, you can selectively pick and choose what you are interested in to study. Of course, if you are a novice who knows nothing about computers like I did back then, and just begin your college journey, I hope this book will be your cheat sheet to get the knowledge and skills you need in the least amount of time. In a way, this book is more like a course search engine ordered according to my experience, helping you to learn high quality CS courses from the world's top universities without leaving home. Of course, as an undergraduate student who has not yet graduated, I feel that I am not in a position nor have the right to preach one way of learning. I just hope that this material will help those who are also self-motivated and persistent to gain a richer, more varied and satisfying college life.","title":"Who is this book for?"},{"location":"en/#special-thanks","text":"I would like to express my sincere gratitude to all the professors who have made their courses public for free. These courses are the culmination of decades of their teaching careers, and they have chosen to selflessly make such a high quality CS education available to all. Without them, my university life would not have been as fulfilling and enjoyable. Many of the professors would even reply with hundreds of words in length after I had sent them a thank you email, which really touched me beyond words. They also inspired me all the time that if decide to do something, do it with all heart and soul.","title":"Special thanks"},{"location":"en/#want-to-join-as-a-contributor","text":"There is a limit to how much one person can do, and this book was written by me under a heavy research schedule, so there are inevitably imperfections. In addition, as I work in the area of systems, many of the courses focus on systems, and there is relatively little content related to advanced mathematics, computing theory, and advanced algorithms. If any of you would like to share your self-learning experience and resources in other areas, you can directly initiate a Pull Request in the project, or feel free to contact me by email ( zhongyinmin@pku.edu.cn ).","title":"Want to join as a contributor?"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/","text":"\u4e00\u4e2a\u4ec5\u4f9b\u53c2\u8003\u7684 CS \u5b66\u4e60\u89c4\u5212 \u8ba1\u7b97\u673a\u9886\u57df\u65b9\u5411\u5e9e\u6742\uff0c\u77e5\u8bc6\u6d69\u5982\u70df\u6d77\uff0c\u6bcf\u4e2a\u7ec6\u5206\u9886\u57df\u5982\u679c\u6df1\u7a76\u4e0b\u53bb\u90fd\u53ef\u4ee5\u8bf4\u5b66\u65e0\u6b62\u5883\u3002\u56e0\u6b64\uff0c\u4e00\u4e2a\u6e05\u6670\u660e\u786e\u7684\u5b66\u4e60\u89c4\u5212\u662f\u975e\u5e38\u91cd\u8981\u7684\u3002\u6211\u5728\u591a\u5e74\u81ea\u5b66\u7684\u5c1d\u8bd5\u4e2d\u4e5f\u8d70\u8fc7\u4e0d\u5c11\u5f2f\u8def\uff0c\u6700\u7ec8\u63d0\u70bc\u51fa\u4e86\u4e0b\u9762\u7684\u5185\u5bb9\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u4e0d\u8fc7\uff0c\u5728\u5f00\u59cb\u5b66\u4e60\u4e4b\u524d\uff0c\u5148\u5411\u5c0f\u767d\u4eec\u5f3a\u70c8\u63a8\u8350\u4e00\u4e2a\u79d1\u666e\u5411\u7cfb\u5217\u89c6\u9891 Crash Course: Computer Science \uff0c\u5728\u77ed\u77ed 8 \u4e2a\u5c0f\u65f6\u91cc\u975e\u5e38\u751f\u52a8\u4e14\u5168\u9762\u5730\u79d1\u666e\u4e86\u5173\u4e8e\u8ba1\u7b97\u673a\u79d1\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff1a\u8ba1\u7b97\u673a\u7684\u5386\u53f2\u3001\u8ba1\u7b97\u673a\u662f\u5982\u4f55\u8fd0\u4f5c\u7684\u3001\u7ec4\u6210\u8ba1\u7b97\u673a\u7684\u5404\u4e2a\u91cd\u8981\u6a21\u5757\u3001\u8ba1\u7b97\u673a\u79d1\u5b66\u4e2d\u7684\u91cd\u8981\u601d\u60f3\u7b49\u7b49\u7b49\u7b49\u3002\u6b63\u5982\u5b83\u7684\u53e3\u53f7\u6240\u8bf4\u7684 Computers are not magic! \uff0c\u5e0c\u671b\u770b\u5b8c\u8fd9\u4e2a\u89c6\u9891\u4e4b\u540e\uff0c\u5927\u5bb6\u80fd\u5bf9\u8ba1\u7b97\u673a\u79d1\u5b66\u6709\u4e2a\u5168\u8c8c\u6027\u5730\u611f\u77e5\uff0c\u4ece\u800c\u6000\u7740\u5174\u8da3\u53bb\u9762\u5bf9\u4e0b\u9762\u6d69\u5982\u70df\u6d77\u7684\u66f4\u4e3a\u7ec6\u81f4\u4e14\u6df1\u5165\u7684\u5b66\u4e60\u5185\u5bb9\u3002 \u5fc5\u5b66\u5de5\u5177 \u4fd7\u8bdd\u8bf4\uff1a\u78e8\u5200\u4e0d\u8bef\u780d\u67f4\u5de5\u3002\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u521a\u521a\u63a5\u89e6\u8ba1\u7b97\u673a\u768424k\u7eaf\u5c0f\u767d\uff0c\u5b66\u4f1a\u4e00\u4e9b\u5de5\u5177\u5c06\u4f1a\u8ba9\u4f60\u4e8b\u534a\u529f\u500d\u3002 \u5b66\u4f1a\u63d0\u95ee\uff1a\u4e5f\u8bb8\u4f60\u4f1a\u60ca\u8bb6\uff0c\u63d0\u95ee\u4e5f\u7b97\u8ba1\u7b97\u673a\u5fc5\u5907\u6280\u80fd\u5417\uff0c\u8fd8\u653e\u5728\u7b2c\u4e00\u6761\uff1f\u6211\u89c9\u5f97\u5728\u5f00\u6e90\u793e\u533a\u4e2d\uff0c\u5b66\u4f1a\u63d0\u95ee\u662f\u4e00\u9879\u975e\u5e38\u91cd\u8981\u7684\u80fd\u529b\uff0c\u5b83\u5305\u542b\u4e24\u65b9\u9762\u7684\u4e8b\u60c5\u3002\u5176\u4e00\u662f\u4f1a\u53d8\u76f8\u5730\u57f9\u517b\u4f60\u81ea\u4e3b\u89e3\u51b3\u95ee\u9898\u7684\u80fd\u529b\uff0c\u56e0\u4e3a\u4ece\u5f62\u6210\u95ee\u9898\u3001\u63cf\u8ff0\u95ee\u9898\u5e76\u53d1\u5e03\u3001\u4ed6\u4eba\u56de\u7b54\u3001\u6700\u540e\u518d\u5230\u7406\u89e3\u56de\u7b54\u8fd9\u4e2a\u5468\u671f\u662f\u975e\u5e38\u957f\u7684\uff0c\u5982\u679c\u9047\u5230\u4ec0\u4e48\u9e21\u6bdb\u849c\u76ae\u7684\u4e8b\u60c5\u90fd\u5e0c\u671b\u522b\u4eba\u6700\u597d\u8fdc\u7a0b\u684c\u9762\u624b\u628a\u624b\u5e2e\u4f60\u5b8c\u6210\uff0c\u90a3\u8ba1\u7b97\u673a\u7684\u4e16\u754c\u57fa\u672c\u4e0e\u4f60\u65e0\u7f18\u4e86\u3002\u5176\u4e8c\uff0c\u5982\u679c\u771f\u7684\u7ecf\u8fc7\u5c1d\u8bd5\u8fd8\u65e0\u6cd5\u89e3\u51b3\uff0c\u53ef\u4ee5\u501f\u52a9\u5f00\u6e90\u793e\u533a\u7684\u5e2e\u52a9\uff0c\u4f46\u8fd9\u65f6\u5019\u5982\u4f55\u901a\u8fc7\u7b80\u6d01\u7684\u6587\u5b57\u8ba9\u522b\u4eba\u77ac\u95f4\u7406\u89e3\u4f60\u7684\u5904\u5883\u4ee5\u53ca\u76ee\u7684\uff0c\u5c31\u663e\u5f97\u5c24\u4e3a\u91cd\u8981\u3002\u63a8\u8350\u9605\u8bfb \u63d0\u95ee\u7684\u667a\u6167 \u8fd9\u7bc7\u6587\u7ae0\uff0c\u8fd9\u4e0d\u4ec5\u80fd\u63d0\u9ad8\u4f60\u89e3\u51b3\u95ee\u9898\u7684\u6982\u7387\u548c\u6548\u7387\uff0c\u4e5f\u80fd\u8ba9\u5f00\u6e90\u793e\u533a\u91cc\u65e0\u507f\u63d0\u4f9b\u89e3\u7b54\u7684\u4eba\u4eec\u62e5\u6709\u4e00\u4e2a\u597d\u5fc3\u60c5\u3002 MIT-Missing-Semester \u8fd9\u95e8\u8bfe\u8986\u76d6\u4e86\u8fd9\u4e9b\u5de5\u5177\u4e2d\u7edd\u5927\u90e8\u5206\uff0c\u800c\u4e14\u6709\u76f8\u5f53\u8be6\u7ec6\u7684\u4f7f\u7528\u6307\u5bfc\uff0c\u5f3a\u70c8\u5efa\u8bae\u5c0f\u767d\u5b66\u4e60\u3002\u4e0d\u8fc7\u9700\u8981\u6ce8\u610f\u7684\u4e00\u70b9\u662f\uff0c\u5728\u8bfe\u7a0b\u4e2d\u4f1a\u4e0d\u65f6\u63d0\u5230\u4e00\u4e9b\u4e0e\u5f00\u53d1\u6d41\u7a0b\u76f8\u5173\u7684\u672f\u8bed\u3002\u56e0\u6b64\u63a8\u8350\u81f3\u5c11\u5728\u5b66\u5b8c\u8ba1\u7b97\u673a\u5bfc\u8bba\u7ea7\u522b\u7684\u8bfe\u7a0b\u4e4b\u540e\u8fdb\u884c\u5b66\u4e60\u3002 \u7ffb\u5899 \uff1a\u7531\u4e8e\u4e00\u4e9b\u4f17\u6240\u5468\u77e5\u7684\u539f\u56e0\uff0c\u8c37\u6b4c\u3001GitHub \u7b49\u7f51\u7ad9\u5728\u5927\u9646\u65e0\u6cd5\u8bbf\u95ee\u3002\u7136\u800c\u5f88\u591a\u65f6\u5019\uff0c\u8c37\u6b4c\u548c StackOverflow \u53ef\u4ee5\u89e3\u51b3\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u9047\u5230\u7684 99% \u7684\u95ee\u9898\u3002\u56e0\u6b64\uff0c\u5b66\u4f1a\u7ffb\u5899\u51e0\u4e4e\u662f\u4e00\u4e2a\u5185\u5730 CSer \u7684\u5fc5\u5907\u6280\u80fd\u3002\uff08\u8003\u8651\u5230\u6cd5\u5f8b\u95ee\u9898\uff0c\u8fd9\u4e2a\u6587\u6863\u63d0\u4f9b\u7684\u7ffb\u5899\u65b9\u5f0f\u4ec5\u5bf9\u62e5\u6709\u5317\u5927\u90ae\u7bb1\u7684\u7528\u6237\u9002\u7528\uff09\u3002 \u547d\u4ee4\u884c\uff1a\u719f\u7ec3\u4f7f\u7528\u547d\u4ee4\u884c\u662f\u4e00\u79cd\u5e38\u5e38\u88ab\u5ffd\u89c6\uff0c\u6216\u88ab\u8ba4\u4e3a\u96be\u4ee5\u638c\u63e1\u7684\u6280\u80fd\uff0c\u4f46\u5b9e\u9645\u4e0a\uff0c\u5b83\u4f1a\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u4f5c\u4e3a\u5de5\u7a0b\u5e08\u7684\u7075\u6d3b\u6027\u4ee5\u53ca\u751f\u4ea7\u529b\u3002 \u547d\u4ee4\u884c\u7684\u827a\u672f \u662f\u4e00\u4efd\u975e\u5e38\u7ecf\u5178\u7684\u6559\u7a0b\uff0c\u5b83\u6e90\u4e8e Quora \u7684\u4e00\u4e2a\u63d0\u95ee\uff0c\u4f46\u5728\u5404\u8def\u5927\u795e\u7684\u8d21\u732e\u52aa\u529b\u4e0b\u5df2\u7ecf\u6210\u4e3a\u4e86\u4e00\u4e2a GitHub \u5341\u4e07 stars \u7684\u9876\u6d41\u9879\u76ee\uff0c\u88ab\u7ffb\u8bd1\u6210\u4e86\u5341\u51e0\u79cd\u8bed\u8a00\u3002\u6559\u7a0b\u4e0d\u957f\uff0c\u975e\u5e38\u5efa\u8bae\u5927\u5bb6\u53cd\u590d\u901a\u8bfb\uff0c\u5728\u5b9e\u8df5\u4e2d\u5185\u5316\u5438\u6536\u3002\u540c\u65f6\uff0c\u638c\u63e1 Shell \u811a\u672c\u7f16\u7a0b\u4e5f\u662f\u4e00\u9879\u4e0d\u5bb9\u5ffd\u89c6\u7684\u6280\u672f\uff0c\u53ef\u4ee5\u53c2\u8003\u8fd9\u4e2a \u6559\u7a0b \u3002 IDE (Integrated Development Environment)\uff1a\u96c6\u6210\u5f00\u53d1\u73af\u5883\uff0c\u8bf4\u767d\u4e86\u5c31\u662f\u4f60\u5199\u4ee3\u7801\u7684\u5730\u65b9\u3002\u4f5c\u4e3a\u4e00\u4e2a\u7801\u519c\uff0cIDE \u7684\u91cd\u8981\u6027\u4e0d\u8a00\u800c\u55bb\uff0c\u4f46\u7531\u4e8e\u5f88\u591a IDE \u662f\u4e3a\u5927\u578b\u5de5\u7a0b\u9879\u76ee\u8bbe\u8ba1\u7684\uff0c\u4f53\u91cf\u8f83\u5927\uff0c\u529f\u80fd\u4e5f\u8fc7\u4e8e\u4e30\u5bcc\u3002\u5176\u5b9e\u5982\u4eca\u4e00\u4e9b\u8f7b\u4fbf\u7684\u6587\u672c\u7f16\u8f91\u5668\u914d\u5408\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\u57fa\u672c\u53ef\u4ee5\u6ee1\u8db3\u65e5\u5e38\u7684\u8f7b\u91cf\u7f16\u7a0b\u9700\u6c42\u3002\u4e2a\u4eba\u5e38\u7528\u7684\u7f16\u8f91\u5668\u662f VS Code \u548c Sublime\uff08\u524d\u8005\u7684\u63d2\u4ef6\u914d\u7f6e\u975e\u5e38\u7b80\u5355\uff0c\u540e\u8005\u7565\u663e\u590d\u6742\u4f46\u989c\u503c\u5f88\u9ad8\uff09\u3002\u5f53\u7136\u5bf9\u4e8e\u5927\u578b\u9879\u76ee\u6211\u8fd8\u662f\u4f1a\u91c7\u7528\u7565\u91cd\u578b\u7684 IDE\uff0c\u4f8b\u5982 Pycharm (Python)\uff0cIDEA (Java) \u7b49\u7b49\uff08\u514d\u8d23\u7533\u660e\uff1a\u6240\u6709\u7684 IDE \u90fd\u662f\u4e16\u754c\u4e0a\u6700\u597d\u7684 IDE\uff09\u3002 Vim \uff1a\u4e00\u6b3e\u547d\u4ee4\u884c\u7f16\u8f91\u5de5\u5177\u3002\u8fd9\u662f\u4e00\u4e2a\u5b66\u4e60\u66f2\u7ebf\u6709\u4e9b\u9661\u5ced\u7684\u7f16\u8f91\u5668\uff0c\u4e0d\u8fc7\u5b66\u4f1a\u5b83\u6211\u89c9\u5f97\u662f\u975e\u5e38\u6709\u5fc5\u8981\u7684\uff0c\u56e0\u4e3a\u5b83\u5c06\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u7684\u5f00\u53d1\u6548\u7387\u3002\u73b0\u5728\u7edd\u5927\u591a\u6570 IDE \u4e5f\u90fd\u652f\u6301 Vim \u63d2\u4ef6\uff0c\u8ba9\u4f60\u5728\u4eab\u53d7\u73b0\u4ee3\u5f00\u53d1\u73af\u5883\u7684\u540c\u65f6\u4fdd\u7559\u6781\u5ba2\u7684\u70ab\u9177\uff08yue\uff09\u3002 Emacs \uff1a\u4e0e Vim \u9f50\u540d\u7684\u7ecf\u5178\u7f16\u8f91\u5668\uff0c\u540c\u6837\u5177\u6709\u6781\u9ad8\u7684\u5f00\u53d1\u6548\u7387\uff0c\u540c\u65f6\u5177\u6709\u66f4\u4e3a\u5f3a\u5927\u7684\u6269\u5c55\u6027\uff0c\u5b83\u65e2\u53ef\u4ee5\u914d\u7f6e\u4e3a\u4e00\u4e2a\u8f7b\u91cf\u7f16\u8f91\u5668\uff0c\u4e5f\u53ef\u4ee5\u6269\u5c55\u6210\u4e00\u4e2a\u4e2a\u4eba\u5b9a\u5236\u7684 IDE\uff0c\u751a\u81f3\u53ef\u4ee5\u6709\u66f4\u591a\u5947\u6280\u6deb\u5de7\u3002 Git \uff1a\u4e00\u6b3e\u4ee3\u7801\u7248\u672c\u63a7\u5236\u5de5\u5177\u3002Git\u7684\u5b66\u4e60\u66f2\u7ebf\u53ef\u80fd\u66f4\u4e3a\u9661\u5ced\uff0c\u4f46\u51fa\u81ea Linux \u4e4b\u7236 Linus \u4e4b\u624b\u7684 Git \u7edd\u5bf9\u662f\u6bcf\u4e2a\u5b66 CS \u7684\u7ae5\u978b\u5fc5\u987b\u638c\u63e1\u7684\u795e\u5668\u4e4b\u4e00\u3002 GitHub \uff1a\u57fa\u4e8e Git \u7684\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u5168\u4e16\u754c\u6700\u5927\u7684\u4ee3\u7801\u5f00\u6e90\u793e\u533a\uff0c\u5927\u4f6c\u96c6\u805a\u5730\u3002 GNU Make \uff1a\u4e00\u6b3e\u5de5\u7a0b\u6784\u5efa\u5de5\u5177\u3002\u5584\u7528 GNU Make \u4f1a\u8ba9\u4f60\u517b\u6210\u4ee3\u7801\u6a21\u5757\u5316\u7684\u4e60\u60ef\uff0c\u540c\u65f6\u4e5f\u80fd\u8ba9\u4f60\u719f\u6089\u4e00\u4e9b\u5927\u578b\u5de5\u7a0b\u7684\u7f16\u8bd1\u94fe\u63a5\u6d41\u7a0b\u3002 CMake \uff1a\u4e00\u6b3e\u529f\u80fd\u6bd4 GNU Make \u66f4\u4e3a\u5f3a\u5927\u7684\u6784\u5efa\u5de5\u5177\uff0c\u5efa\u8bae\u638c\u63e1 GNU Make \u4e4b\u540e\u518d\u52a0\u4ee5\u5b66\u4e60\u3002 LaTex \uff1a \u903c\u683c\u63d0\u5347 \u8bba\u6587\u6392\u7248\u5de5\u5177\u3002 Docker \uff1a\u4e00\u6b3e\u76f8\u8f83\u4e8e\u865a\u62df\u673a\u66f4\u8f7b\u91cf\u7ea7\u7684\u8f6f\u4ef6\u6253\u5305\u4e0e\u73af\u5883\u90e8\u7f72\u5de5\u5177\u3002 \u5b9e\u7528\u5de5\u5177\u7bb1 \uff1a\u9664\u4e86\u4e0a\u9762\u63d0\u5230\u7684\u8fd9\u4e9b\u5728\u5f00\u53d1\u4e2d\u4f7f\u7528\u9891\u7387\u6781\u9ad8\u7684\u5de5\u5177\u4e4b\u5916\uff0c\u6211\u8fd8\u6536\u96c6\u4e86\u5f88\u591a\u5b9e\u7528\u6709\u8da3\u7684\u514d\u8d39\u5de5\u5177\uff0c\u4f8b\u5982\u4e00\u4e9b\u4e0b\u8f7d\u5de5\u5177\u3001\u8bbe\u8ba1\u5de5\u5177\u3001\u5b66\u4e60\u7f51\u7ad9\u7b49\u7b49\u3002 Thesis \uff1a\u6bd5\u4e1a\u8bba\u6587 Word \u5199\u4f5c\u6559\u7a0b\u3002 \u597d\u4e66\u63a8\u8350 \u79c1\u4ee5\u4e3a\u4e00\u672c\u597d\u7684\u6559\u6750\u5e94\u5f53\u662f\u4ee5\u4eba\u4e3a\u672c\u7684\uff0c\u800c\u4e0d\u662f\u70ab\u6280\u5f0f\u7684\u7406\u8bba\u5806\u780c\u3002\u544a\u8bc9\u8bfb\u8005\u201c\u662f\u4ec0\u4e48\u201d\u56fa\u7136\u91cd\u8981\uff0c\u4f46\u66f4\u597d\u7684\u5e94\u5f53\u662f\u6559\u6750\u4f5c\u8005\u5c06\u5176\u5728\u8fd9\u4e2a\u9886\u57df\u6df1\u8015\u51e0\u5341\u5e74\u7684\u7ecf\u9a8c\u878d\u6c47\u8fdb\u4e66\u4e2d\uff0c\u5411\u8bfb\u8005\u5a13\u5a13\u9053\u6765\u201c\u4e3a\u4ec0\u4e48\u201d\u4ee5\u53ca\u672a\u6765\u5e94\u8be5\u201c\u600e\u4e48\u505a\u201d\u3002 \u94fe\u63a5\u6233\u8fd9\u91cc \u73af\u5883\u914d\u7f6e \u4f60\u4ee5\u4e3a\u7684\u5f00\u53d1 \u2014\u2014 \u5728 IDE \u91cc\u75af\u72c2\u7801\u4ee3\u7801\u6570\u5c0f\u65f6\u3002 \u5b9e\u9645\u4e0a\u7684\u5f00\u53d1 \u2014\u2014 \u914d\u73af\u5883\u914d\u51e0\u5929\u8fd8\u6ca1\u5f00\u59cb\u5199\u4ee3\u7801\u3002 PC \u7aef\u73af\u5883\u914d\u7f6e \u5982\u679c\u4f60\u662f Mac \u7528\u6237\uff0c\u90a3\u4e48\u4f60\u5f88\u5e78\u8fd0\uff0c\u8fd9\u4efd \u6307\u5357 \u5c06\u4f1a\u624b\u628a\u624b\u5730\u5e26\u4f60\u642d\u5efa\u8d77\u6574\u5957\u5f00\u53d1\u73af\u5883\u3002\u5982\u679c\u4f60\u662f Windows \u7528\u6237\uff0c\u5728\u5f00\u6e90\u793e\u533a\u7684\u52aa\u529b\u4e0b\uff0c\u4f60\u540c\u6837\u53ef\u4ee5\u83b7\u5f97\u4e0e\u5176\u4ed6\u5e73\u53f0\u7c7b\u4f3c\u7684\u4f53\u9a8c\uff1a Scoop \u3002 \u53e6\u5916\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003\u4e00\u4efd\u7075\u611f\u6765\u81ea 6.NULL MIT-Missing-Semester \u7684 \u73af\u5883\u914d\u7f6e\u6307\u5357 \uff0c\u91cd\u70b9\u5728\u4e8e\u7ec8\u7aef\u7684\u7f8e\u5316\u914d\u7f6e\u3002\u6b64\u5916\u8fd8\u5305\u62ec\u5e38\u7528\u8f6f\u4ef6\u6e90\uff08\u5982 GitHub, Anaconda, PyPI \u7b49\uff09\u7684\u52a0\u901f\u4e0e\u66ff\u6362\u4ee5\u53ca\u4e00\u4e9b IDE \u7684\u914d\u7f6e\u4e0e\u6fc0\u6d3b\u6559\u7a0b\u3002 \u670d\u52a1\u5668\u7aef\u73af\u5883\u914d\u7f6e \u670d\u52a1\u5668\u7aef\u7684\u8fd0\u7ef4\u9700\u8981\u638c\u63e1 Linux\uff08\u6216\u8005\u5176\u4ed6\u7c7b Unix \u7cfb\u7edf\uff09\u7684\u57fa\u672c\u4f7f\u7528\u4ee5\u53ca\u8fdb\u7a0b\u3001\u8bbe\u5907\u3001\u7f51\u7edc\u7b49\u7cfb\u7edf\u76f8\u5173\u7684\u57fa\u672c\u6982\u5ff5\uff0c\u5c0f\u767d\u53ef\u4ee5\u53c2\u8003\u4e2d\u56fd\u79d1\u5b66\u6280\u672f\u5927\u5b66 Linux \u7528\u6237\u534f\u4f1a\u7f16\u5199\u7684 \u300aLinux 101\u300b\u5728\u7ebf\u8bb2\u4e49 \u3002\u5982\u679c\u60f3\u6df1\u5165\u5b66\u4e60\u7cfb\u7edf\u8fd0\u7ef4\u76f8\u5173\u7684\u77e5\u8bc6\uff0c\u53ef\u4ee5\u53c2\u8003 Aspects of System Administration \u8fd9\u95e8\u8bfe\u7a0b\u3002 \u53e6\u5916\uff0c\u5982\u679c\u9700\u8981\u5b66\u4e60\u67d0\u4e2a\u5177\u4f53\u7684\u6982\u5ff5\u6216\u5de5\u5177\uff0c\u63a8\u8350\u4e00\u4e2a\u975e\u5e38\u4e0d\u9519\u7684 GitHub \u9879\u76ee DevOps-Guide \uff0c\u5176\u4e2d\u6db5\u76d6\u4e86\u975e\u5e38\u591a\u7684\u8fd0\u7ef4\u65b9\u9762\u7684\u57fa\u7840\u77e5\u8bc6\u548c\u6559\u7a0b\uff0c\u4f8b\u5982 Docker, Kubernetes, Linux, CI-CD, GitHub Actions \u7b49\u7b49\u3002 \u8bfe\u7a0b\u5730\u56fe \u6b63\u5982\u8fd9\u7ae0\u5f00\u5934\u63d0\u5230\u7684\uff0c\u8fd9\u4efd\u8bfe\u7a0b\u5730\u56fe\u4ec5\u4ec5\u662f\u4e00\u4e2a \u4ec5\u4f9b\u53c2\u8003 \u7684\u8bfe\u7a0b\u89c4\u5212\uff0c\u6211\u4f5c\u4e3a\u4e00\u4e2a\u4e34\u8fd1\u6bd5\u4e1a\u7684\u672c\u79d1\u751f\u3002\u6df1\u611f\u81ea\u5df1\u6ca1\u6709\u6743\u5229\u4e5f\u6ca1\u6709\u80fd\u529b\u5411\u522b\u4eba\u5ba3\u626c\u201c\u5e94\u8be5\u600e\u4e48\u5b66\u201d\u3002\u56e0\u6b64\u5982\u679c\u4f60\u89c9\u5f97\u4ee5\u4e0b\u7684\u8bfe\u7a0b\u5206\u7c7b\u4e0e\u9009\u62e9\u6709\u4e0d\u5408\u7406\u4e4b\u5904\uff0c\u6211\u5168\u76d8\u63a5\u53d7\uff0c\u5e76\u6df1\u611f\u62b1\u6b49\u3002\u4f60\u53ef\u4ee5\u5728\u4e0b\u4e00\u8282 \u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe \u4ee5\u4e0b\u8bfe\u7a0b\u7c7b\u522b\u4e2d\u9664\u4e86\u542b\u6709 \u57fa\u7840 \u548c \u5165\u95e8 \u5b57\u773c\u7684\u4ee5\u5916\uff0c\u5e76\u65e0\u660e\u786e\u7684\u5148\u540e\u6b21\u5e8f\uff0c\u5927\u5bb6\u53ea\u8981\u6ee1\u8db3\u67d0\u4e2a\u8bfe\u7a0b\u7684\u5148\u4fee\u8981\u6c42\uff0c\u5b8c\u5168\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u8981\u548c\u559c\u597d\u9009\u62e9\u60f3\u8981\u5b66\u4e60\u7684\u8bfe\u7a0b\u3002 \u6570\u5b66\u57fa\u7840 \u5fae\u79ef\u5206\u4e0e\u7ebf\u6027\u4ee3\u6570 \u4f5c\u4e3a\u5927\u4e00\u65b0\u751f\uff0c\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u662f\u548c\u5199\u4ee3\u7801\u81f3\u5c11\u540c\u7b49\u91cd\u8981\u7684\u4e8b\u60c5\uff0c\u76f8\u4fe1\u5df2\u7ecf\u6709\u65e0\u6570\u7684\u524d\u4eba\u7ecf\u9a8c\u63d0\u5230\u8fc7\u8fd9\u4e00\u70b9\uff0c\u4f46\u6211\u8fd8\u662f\u8981\u4e0d\u538c\u5176\u70e6\u5730\u518d\u5f3a\u8c03\u4e00\u904d\uff1a\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u771f\u7684\u5f88\u91cd\u8981\uff01\u4f60\u4e5f\u8bb8\u4f1a\u5410\u69fd\u8fd9\u4e9b\u4e1c\u897f\u5c82\u4e0d\u662f\u8003\u5b8c\u5c31\u5fd8\uff0c\u90a3\u6211\u89c9\u5f97\u4f60\u662f\u5e76\u6ca1\u6709\u628a\u63e1\u4f4f\u5b83\u4eec\u672c\u8d28\uff0c\u5bf9\u5b83\u4eec\u7684\u7406\u89e3\u8fd8\u6ca1\u6709\u8fbe\u5230\u523b\u9aa8\u94ed\u5fc3\u7684\u7a0b\u5ea6\u3002\u5982\u679c\u89c9\u5f97\u8001\u5e08\u8bfe\u4e0a\u8bb2\u7684\u5185\u5bb9\u6666\u6da9\u96be\u61c2\uff0c\u4e0d\u59a8\u53c2\u8003 MIT \u7684 Calculus Course \u548c 18.06: Linear Algebra \u7684\u8bfe\u7a0b notes\uff0c\u81f3\u5c11\u4e8e\u6211\u800c\u8a00\uff0c\u5b83\u5e2e\u52a9\u6211\u6df1\u523b\u7406\u89e3\u4e86\u5fae\u79ef\u5206\u548c\u7ebf\u6027\u4ee3\u6570\u7684\u8bb8\u591a\u672c\u8d28\u3002\u987a\u9053\u518d\u5b89\u5229\u4e00\u4e2a\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \uff0c\u4ed6\u7684\u9891\u9053\u6709\u5f88\u591a\u7528\u751f\u52a8\u5f62\u8c61\u7684\u52a8\u753b\u9610\u91ca\u6570\u5b66\u672c\u8d28\u5185\u6838\u7684\u89c6\u9891\uff0c\u517c\u5177\u6df1\u5ea6\u548c\u5e7f\u5ea6\uff0c\u8d28\u91cf\u975e\u5e38\u9ad8\u3002 \u4fe1\u606f\u8bba\u5165\u95e8 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u53ca\u65e9\u4e86\u89e3\u4e00\u4e9b\u4fe1\u606f\u8bba\u7684\u57fa\u7840\u77e5\u8bc6\uff0c\u6211\u89c9\u5f97\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u4f46\u5927\u591a\u4fe1\u606f\u8bba\u8bfe\u7a0b\u90fd\u9762\u5411\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u751a\u81f3\u7814\u7a76\u751f\uff0c\u5bf9\u65b0\u624b\u6781\u4e0d\u53cb\u597d\u3002\u800c MIT \u7684 6.050J: Information theory and Entropy \u8fd9\u95e8\u8bfe\u6b63\u662f\u4e3a\u5927\u4e00\u65b0\u751f\u91cf\u8eab\u5b9a\u5236\u7684\uff0c\u51e0\u4e4e\u6ca1\u6709\u5148\u4fee\u8981\u6c42\uff0c\u6db5\u76d6\u4e86\u7f16\u7801\u3001\u538b\u7f29\u3001\u901a\u4fe1\u3001\u4fe1\u606f\u71b5\u7b49\u7b49\u5185\u5bb9\uff0c\u975e\u5e38\u6709\u8da3\u3002 \u6570\u5b66\u8fdb\u9636 \u79bb\u6563\u6570\u5b66\u4e0e\u6982\u7387\u8bba \u96c6\u5408\u8bba\u3001\u56fe\u8bba\u3001\u6982\u7387\u8bba\u7b49\u7b49\u662f\u7b97\u6cd5\u63a8\u5bfc\u4e0e\u8bc1\u660e\u7684\u91cd\u8981\u5de5\u5177\uff0c\u4e5f\u662f\u540e\u7eed\u9ad8\u9636\u6570\u5b66\u8bfe\u7a0b\u7684\u57fa\u7840\u3002\u4f46\u6211\u89c9\u5f97\u8fd9\u7c7b\u8bfe\u7a0b\u7684\u8bb2\u6388\u5f88\u5bb9\u6613\u843d\u5165\u7406\u8bba\u5316\u4e0e\u5f62\u5f0f\u5316\u7684\u7aa0\u81fc\uff0c\u8ba9\u8bfe\u5802\u6210\u4e3a\u5b9a\u7406\u7ed3\u8bba\u7684\u5806\u780c\uff0c\u800c\u65e0\u6cd5\u4f7f\u5b66\u751f\u6df1\u523b\u628a\u63e1\u7406\u8bba\u7684\u672c\u8d28\uff0c\u8fdb\u800c\u9020\u6210\u5b66\u4e86\u5c31\u80cc\uff0c\u8003\u4e86\u5c31\u5fd8\u7684\u602a\u5708\u3002\u5982\u679c\u80fd\u5728\u7406\u8bba\u6559\u5b66\u4e2d\u7a7f\u63d2\u7b97\u6cd5\u8fd0\u7528\u5b9e\u4f8b\uff0c\u5b66\u751f\u5728\u62d3\u5c55\u7b97\u6cd5\u77e5\u8bc6\u7684\u540c\u65f6\u4e5f\u80fd\u7aa5\u89c1\u7406\u8bba\u7684\u529b\u91cf\u548c\u9b45\u529b\u3002 UCB CS70 : discrete Math and probability theory \u548c UCB CS126 : Probability theory \u662f UC Berkeley \u7684\u6982\u7387\u8bba\u8bfe\u7a0b\uff0c\u524d\u8005\u8986\u76d6\u4e86\u79bb\u6563\u6570\u5b66\u548c\u6982\u7387\u8bba\u57fa\u7840\uff0c\u540e\u8005\u5219\u6d89\u53ca\u968f\u673a\u8fc7\u7a0b\u4ee5\u53ca\u6df1\u5165\u7684\u7406\u8bba\u5185\u5bb9\u3002\u4e24\u8005\u90fd\u975e\u5e38\u6ce8\u91cd\u7406\u8bba\u548c\u5b9e\u8df5\u7684\u7ed3\u5408\uff0c\u6709\u4e30\u5bcc\u7684\u7b97\u6cd5\u5b9e\u9645\u8fd0\u7528\u5b9e\u4f8b\uff0c\u540e\u8005\u8fd8\u6709\u5927\u91cf\u7684 Python \u7f16\u7a0b\u4f5c\u4e1a\u6765\u8ba9\u5b66\u751f\u8fd0\u7528\u6982\u7387\u8bba\u7684\u77e5\u8bc6\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u3002 \u6570\u503c\u5206\u6790 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u57f9\u517b\u8ba1\u7b97\u601d\u7ef4\u662f\u5f88\u91cd\u8981\u7684\uff0c\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u3001\u79bb\u6563\u5316\uff0c\u8ba1\u7b97\u673a\u7684\u6a21\u62df\u3001\u5206\u6790\uff0c\u662f\u4e00\u9879\u5f88\u91cd\u8981\u7684\u80fd\u529b\u3002\u800c\u8fd9\u4e24\u5e74\u5f00\u59cb\u98ce\u9761\u7684\uff0c\u7531 MIT \u6253\u9020\u7684 Julia \u7f16\u7a0b\u8bed\u8a00\u4ee5\u5176 C \u4e00\u6837\u7684\u901f\u5ea6\u548c Python \u4e00\u6837\u53cb\u597d\u7684\u8bed\u6cd5\u5728\u6570\u503c\u8ba1\u7b97\u9886\u57df\u6709\u4e00\u7edf\u5929\u4e0b\u4e4b\u52bf\uff0cMIT \u7684\u8bb8\u591a\u6570\u5b66\u8bfe\u7a0b\u4e5f\u5f00\u59cb\u7528 Julia \u4f5c\u4e3a\u6559\u5b66\u5de5\u5177\uff0c\u628a\u8270\u6df1\u7684\u6570\u5b66\u7406\u8bba\u7528\u76f4\u89c2\u6e05\u6670\u7684\u4ee3\u7801\u5c55\u793a\u51fa\u6765\u3002 ComputationalThinking \u662f MIT \u5f00\u8bbe\u7684\u4e00\u95e8\u8ba1\u7b97\u601d\u7ef4\u5165\u95e8\u8bfe\uff0c\u6240\u6709\u8bfe\u7a0b\u5185\u5bb9\u5168\u90e8\u5f00\u6e90\uff0c\u53ef\u4ee5\u5728\u8bfe\u7a0b\u7f51\u7ad9\u76f4\u63a5\u8bbf\u95ee\u3002\u8fd9\u95e8\u8bfe\u5229\u7528 Julia \u7f16\u7a0b\u8bed\u8a00\uff0c\u5728\u56fe\u50cf\u5904\u7406\u3001\u793e\u4f1a\u79d1\u5b66\u4e0e\u6570\u636e\u79d1\u5b66\u3001\u6c14\u5019\u5b66\u5efa\u6a21\u4e09\u4e2a topic \u4e0b\u5e26\u9886\u5b66\u751f\u7406\u89e3\u7b97\u6cd5\u3001\u6570\u5b66\u5efa\u6a21\u3001\u6570\u636e\u5206\u6790\u3001\u4ea4\u4e92\u8bbe\u8ba1\u3001\u56fe\u4f8b\u5c55\u793a\uff0c\u8ba9\u5b66\u751f\u4f53\u9a8c\u8ba1\u7b97\u4e0e\u79d1\u5b66\u7684\u7f8e\u5999\u7ed3\u5408\u3002\u5185\u5bb9\u867d\u7136\u4e0d\u96be\uff0c\u4f46\u7ed9\u6211\u6700\u6df1\u523b\u7684\u611f\u53d7\u5c31\u662f\uff0c\u79d1\u5b66\u7684\u9b45\u529b\u5e76\u4e0d\u662f\u6545\u5f04\u7384\u865a\u7684\u8270\u6df1\u7406\u8bba\uff0c\u4e0d\u662f\u8bd8\u5c48\u8071\u7259\u7684\u672f\u8bed\u884c\u8bdd\uff0c\u800c\u662f\u7528\u76f4\u89c2\u751f\u52a8\u7684\u6848\u4f8b\uff0c\u7528\u7b80\u7ec3\u6df1\u523b\u7684\u8bed\u8a00\uff0c\u8ba9\u6bcf\u4e2a\u666e\u901a\u4eba\u90fd\u80fd\u7406\u89e3\u3002 \u4e0a\u5b8c\u4e0a\u9762\u7684\u4f53\u9a8c\u8bfe\u4e4b\u540e\uff0c\u5982\u679c\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u4e0d\u59a8\u8bd5\u8bd5 MIT \u7684 18.330 : Introduction to numerical analysis \uff0c\u8fd9\u95e8\u8bfe\u7684\u7f16\u7a0b\u4f5c\u4e1a\u540c\u6837\u4f1a\u7528 Julia \u7f16\u7a0b\u8bed\u8a00\uff0c\u4e0d\u8fc7\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u90fd\u4e0a\u4e86\u4e00\u4e2a\u53f0\u9636\u3002\u5185\u5bb9\u6d89\u53ca\u4e86\u6d6e\u70b9\u7f16\u7801\u3001Root finding\u3001\u7ebf\u6027\u7cfb\u7edf\u3001\u5fae\u5206\u65b9\u7a0b\u7b49\u7b49\u65b9\u9762\uff0c\u6574\u95e8\u8bfe\u7684\u4e3b\u65e8\u5c31\u662f\u8ba9\u4f60\u5229\u7528\u79bb\u6563\u5316\u7684\u8ba1\u7b97\u673a\u8868\u793a\u53bb\u4f30\u8ba1\u548c\u903c\u8fd1\u4e00\u4e2a\u6570\u5b66\u4e0a\u8fde\u7eed\u7684\u6982\u5ff5\u3002\u8fd9\u95e8\u8bfe\u7684\u6559\u6388\u8fd8\u4e13\u95e8\u64b0\u5199\u4e86\u4e00\u672c\u914d\u5957\u7684\u5f00\u6e90\u6559\u6750 Fundamentals of Numerical Computation \uff0c\u91cc\u9762\u9644\u6709\u4e30\u5bcc\u7684 Julia \u4ee3\u7801\u5b9e\u4f8b\u548c\u4e25\u8c28\u7684\u516c\u5f0f\u63a8\u5bfc\u3002 \u5982\u679c\u4f60\u8fd8\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u8fd8\u6709 MIT \u7684\u6570\u503c\u5206\u6790\u7814\u7a76\u751f\u8bfe\u7a0b 18.335: Introduction to numerical method \u4f9b\u4f60\u53c2\u8003\u3002 \u5fae\u5206\u65b9\u7a0b \u5982\u679c\u4e16\u95f4\u4e07\u7269\u7684\u8fd0\u52a8\u53d1\u5c55\u90fd\u80fd\u7528\u65b9\u7a0b\u6765\u523b\u753b\u548c\u63cf\u8ff0\uff0c\u8fd9\u662f\u4e00\u4ef6\u591a\u4e48\u9177\u7684\u4e8b\u60c5\u5440\uff01\u867d\u7136\u51e0\u4e4e\u4efb\u4f55\u4e00\u6240\u5b66\u6821\u7684 CS \u57f9\u517b\u65b9\u6848\u4e2d\u90fd\u6ca1\u6709\u5fae\u5206\u65b9\u7a0b\u76f8\u5173\u7684\u5fc5\u4fee\u8bfe\u7a0b\uff0c\u4f46\u6211\u8fd8\u662f\u89c9\u5f97\u638c\u63e1\u5b83\u4f1a\u8d4b\u4e88\u4f60\u4e00\u4e2a\u65b0\u7684\u89c6\u89d2\u6765\u5ba1\u89c6\u8fd9\u4e2a\u4e16\u754c\u3002 \u7531\u4e8e\u5fae\u5206\u65b9\u7a0b\u4e2d\u5f80\u5f80\u4f1a\u7528\u5230\u5f88\u591a\u590d\u53d8\u51fd\u6570\u7684\u77e5\u8bc6\uff0c\u6240\u4ee5\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003 MIT18.04: Complex variables functions \u7684\u8bfe\u7a0b notes \u6765\u8865\u9f50\u5148\u4fee\u77e5\u8bc6\u3002 MIT18.03: differential equations \u4e3b\u8981\u8986\u76d6\u4e86\u5e38\u5fae\u5206\u65b9\u7a0b\u7684\u6c42\u89e3\uff0c\u5728\u6b64\u57fa\u7840\u4e4b\u4e0a MIT18.152: Partial differential equations \u5219\u4f1a\u6df1\u5165\u504f\u5fae\u5206\u65b9\u7a0b\u7684\u5efa\u6a21\u4e0e\u6c42\u89e3\u3002\u638c\u63e1\u4e86\u5fae\u5206\u65b9\u7a0b\u8fd9\u4e00\u6709\u529b\u5de5\u5177\uff0c\u76f8\u4fe1\u5bf9\u4e8e\u4f60\u7684\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u80fd\u529b\u4ee5\u53ca\u4ece\u4f17\u591a\u566a\u58f0\u53d8\u91cf\u4e2d\u628a\u63e1\u672c\u8d28\u7684\u76f4\u89c9\u90fd\u4f1a\u6709\u5f88\u5927\u5e2e\u52a9\u3002 \u6570\u5b66\u9ad8\u9636 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u6211\u7ecf\u5e38\u542c\u5230\u6570\u5b66\u65e0\u7528\u8bba\u7684\u8bba\u65ad\uff0c\u5bf9\u6b64\u6211\u4e0d\u6562\u82df\u540c\u4f46\u4e5f\u65e0\u6743\u53cd\u5bf9\uff0c\u4f46\u82e5\u51e1\u4e8b\u90fd\u786c\u8981\u4e89\u51fa\u4e2a\u6709\u7528\u548c\u65e0\u7528\u7684\u533a\u522b\u6765\uff0c\u5012\u4e5f\u7740\u5b9e\u65e0\u8da3\uff0c\u56e0\u6b64\u4e0b\u9762\u8fd9\u4e9b\u9762\u5411\u9ad8\u5e74\u7ea7\u751a\u81f3\u7814\u7a76\u751f\u7684\u6570\u5b66\u8bfe\u7a0b\uff0c\u5927\u5bb6\u6309\u5174\u8da3\u81ea\u53d6\u6240\u9700\u3002 \u51f8\u4f18\u5316 Standford EE364A: Convex Optimization \u4fe1\u606f\u8bba MIT6.441: Information Theory \u5e94\u7528\u7edf\u8ba1\u5b66 MIT18.650: Statistics for Applications \u521d\u7b49\u6570\u8bba MIT18.781: Theory of Numbers \u5bc6\u7801\u5b66 Standford CS255: Cryptography \u7f16\u7a0b\u5165\u95e8 Languages are tools, you choose the right tool to do the right thing. Since there's no universally perfect tool, there's no universally perfect language. Shell MIT-Missing-Semester Python CS50P: CS50's Introduction to Programming with Python Harvard CS50: This is CS50x UCB CS61A: Structure and Interpretation of Computer Programs C++ Stanford CS106B/X: Programming Abstractions Stanford CS106L: Standard C++ Programming Rust Stanford CS110L: Safety in Systems Programming OCaml Cornell CS3110 textbook: Functional Programming in OCaml \u7535\u5b50\u57fa\u7840 \u7535\u8def\u57fa\u7840 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u4e86\u89e3\u4e00\u4e9b\u57fa\u7840\u7684\u7535\u8def\u77e5\u8bc6\uff0c\u611f\u53d7\u4ece\u4f20\u611f\u5668\u6536\u96c6\u6570\u636e\u5230\u6570\u636e\u5206\u6790\u518d\u5230\u7b97\u6cd5\u9884\u6d4b\u6574\u6761\u6d41\u6c34\u7ebf\uff0c\u5bf9\u4e8e\u540e\u7eed\u77e5\u8bc6\u7684\u5b66\u4e60\u4ee5\u53ca\u8ba1\u7b97\u601d\u7ef4\u7684\u57f9\u517b\u8fd8\u662f\u5f88\u6709\u5e2e\u52a9\u7684\u3002 EE16A&B: Designing Information Devices and Systems I&II \u662f\u4f2f\u514b\u5229 EE \u5b66\u751f\u7684\u5927\u4e00\u5165\u95e8\u8bfe\uff0c\u5176\u4e2d EE16A \u6ce8\u91cd\u901a\u8fc7\u7535\u8def\u4ece\u5b9e\u9645\u73af\u5883\u4e2d\u6536\u96c6\u548c\u5206\u6790\u6570\u636e\uff0c\u800c EE16B \u5219\u4fa7\u91cd\u4ece\u8fd9\u4e9b\u6536\u96c6\u5230\u7684\u6570\u636e\u8fdb\u884c\u5206\u6790\u5e76\u505a\u51fa\u9884\u6d4b\u884c\u4e3a\u3002 \u4fe1\u53f7\u4e0e\u7cfb\u7edf \u4fe1\u53f7\u4e0e\u7cfb\u7edf\u662f\u4e00\u95e8\u6211\u89c9\u5f97\u975e\u5e38\u503c\u5f97\u4e00\u4e0a\u7684\u8bfe\uff0c\u6700\u521d\u5b66\u5b83\u53ea\u662f\u4e3a\u4e86\u6ee1\u8db3\u6211\u5bf9\u5085\u91cc\u53f6\u53d8\u6362\u7684\u597d\u5947\uff0c\u4f46\u5b66\u5b8c\u4e4b\u540e\u6211\u624d\u4e0d\u7981\u611f\u53f9\uff0c\u5085\u7acb\u53f6\u53d8\u6362\u7ed9\u6211\u63d0\u4f9b\u4e86\u4e00\u4e2a\u5168\u65b0\u7684\u89c6\u89d2\u53bb\u770b\u5f85\u8fd9\u4e2a\u4e16\u754c\uff0c\u5c31\u5982\u540c\u5fae\u5206\u65b9\u7a0b\u4e00\u6837\uff0c\u8ba9\u4f60\u6c89\u6d78\u5728\u7528\u6570\u5b66\u53bb\u7cbe\u786e\u63cf\u7ed8\u548c\u523b\u753b\u8fd9\u4e2a\u4e16\u754c\u7684\u4f18\u96c5\u4e0e\u795e\u5947\u4e4b\u4e2d\u3002 MIT 6.003: signal and systems \u63d0\u4f9b\u4e86\u5168\u90e8\u7684\u8bfe\u7a0b\u5f55\u5f71\u3001\u4e66\u9762\u4f5c\u4e1a\u4ee5\u53ca\u7b54\u6848\u3002\u4e5f\u53ef\u4ee5\u53bb\u770b\u8fd9\u95e8\u8bfe\u7684 \u8fdc\u53e4\u7248\u672c \u800c UCB EE120: Signal and Systems \u5173\u4e8e\u5085\u7acb\u53f6\u53d8\u6362\u7684 notes \u5199\u5f97\u975e\u5e38\u597d\uff0c\u5e76\u4e14\u63d0\u4f9b\u4e866 \u4e2a\u975e\u5e38\u6709\u8da3\u7684 Python \u7f16\u7a0b\u4f5c\u4e1a\uff0c\u8ba9\u4f60\u5b9e\u8df5\u4e2d\u8fd0\u7528\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u7684\u7406\u8bba\u4e0e\u7b97\u6cd5\u3002 \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 \u7b97\u6cd5\u662f\u8ba1\u7b97\u673a\u79d1\u5b66\u7684\u6838\u5fc3\uff0c\u4e5f\u662f\u51e0\u4e4e\u4e00\u5207\u4e13\u4e1a\u8bfe\u7a0b\u7684\u57fa\u7840\u3002\u5982\u4f55\u5c06\u5b9e\u9645\u95ee\u9898\u901a\u8fc7\u6570\u5b66\u62bd\u8c61\u8f6c\u5316\u4e3a\u7b97\u6cd5\u95ee\u9898\uff0c\u5e76\u9009\u7528\u5408\u9002\u7684\u6570\u636e\u7ed3\u6784\u5728\u65f6\u95f4\u548c\u5185\u5b58\u5927\u5c0f\u7684\u9650\u5236\u4e0b\u5c06\u5176\u89e3\u51b3\u662f\u7b97\u6cd5\u8bfe\u7684\u6c38\u6052\u4e3b\u9898\u3002\u5982\u679c\u4f60\u53d7\u591f\u4e86\u8001\u5e08\u7684\u7167\u672c\u5ba3\u79d1\uff0c\u90a3\u4e48\u6211\u5f3a\u70c8\u63a8\u8350\u4f2f\u514b\u5229\u7684 UCB CS61B: Data Structures and Algorithms \u548c\u666e\u6797\u65af\u987f\u7684 Coursera: Algorithms I & II \uff0c\u8fd9\u4e24\u95e8\u8bfe\u7684\u90fd\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\u5e76\u4e14\u4f1a\u6709\u4e30\u5bcc\u4e14\u6709\u8da3\u7684\u7f16\u7a0b\u5b9e\u9a8c\u5c06\u7406\u8bba\u4e0e\u77e5\u8bc6\u7ed3\u5408\u8d77\u6765\u3002 \u4ee5\u4e0a\u4e24\u95e8\u8bfe\u7a0b\u90fd\u662f\u57fa\u4e8e Java \u8bed\u8a00\uff0c\u5982\u679c\u4f60\u60f3\u5b66\u4e60 C/C++ \u63cf\u8ff0\u7684\u7248\u672c\uff0c\u53ef\u4ee5\u53c2\u8003\u65af\u5766\u798f\u7684\u6570\u636e\u7ed3\u6784\u4e0e\u57fa\u7840\u7b97\u6cd5\u8bfe\u7a0b Stanford CS106B/X: Programming Abstractions \u3002\u504f\u597d Python \u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60 MIT \u7684\u7b97\u6cd5\u5165\u95e8\u8bfe MIT 6.006: Introduction to Algorithms \u5bf9\u4e00\u4e9b\u66f4\u9ad8\u7ea7\u7684\u7b97\u6cd5\u4ee5\u53ca NP \u95ee\u9898\u611f\u5174\u8da3\u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60\u4f2f\u514b\u5229\u7684\u7b97\u6cd5\u8bbe\u8ba1\u4e0e\u5206\u6790\u8bfe\u7a0b UCB CS170: Efficient Algorithms and Intractable Problems \u6216\u8005 MIT \u7684\u9ad8\u9636\u7b97\u6cd5 MIT 6.046: Design and Analysis of Algorithms \u3002 \u8f6f\u4ef6\u5de5\u7a0b \u5165\u95e8\u8bfe \u4e00\u4efd\u201c\u80fd\u8dd1\u201d\u7684\u4ee3\u7801\uff0c\u548c\u4e00\u4efd\u9ad8\u8d28\u91cf\u7684\u5de5\u4e1a\u7ea7\u4ee3\u7801\u662f\u6709\u672c\u8d28\u533a\u522b\u7684\u3002\u56e0\u6b64\u6211\u975e\u5e38\u63a8\u8350\u4f4e\u5e74\u7ea7\u7684\u540c\u5b66\u5b66\u4e60\u4e00\u4e0b MIT 6.031: Software Construction \u8fd9\u95e8\u8bfe\uff0c\u5b83\u4f1a\u4ee5 Java \u8bed\u8a00\u4e3a\u57fa\u7840\uff0c\u4ee5\u4e30\u5bcc\u7ec6\u81f4\u7684\u9605\u8bfb\u6750\u6599\u548c\u7cbe\u5fc3\u8bbe\u8ba1\u7684\u7f16\u7a0b\u7ec3\u4e60\u4f20\u6388\u5982\u4f55\u7f16\u5199 \u4e0d\u6613\u51fa bug\u3001\u7b80\u660e\u6613\u61c2\u3001\u6613\u4e8e\u7ef4\u62a4\u4fee\u6539 \u7684\u9ad8\u8d28\u91cf\u4ee3\u7801\u3002\u5927\u5230\u5b8f\u89c2\u6570\u636e\u7ed3\u6784\u8bbe\u8ba1\uff0c\u5c0f\u5230\u5982\u4f55\u5199\u6ce8\u91ca\uff0c\u9075\u5faa\u8fd9\u4e9b\u524d\u4eba\u603b\u7ed3\u7684\u7ec6\u8282\u548c\u7ecf\u9a8c\uff0c\u5bf9\u4e8e\u4f60\u6b64\u540e\u7684\u7f16\u7a0b\u751f\u6daf\u5927\u6709\u88e8\u76ca\u3002 \u4e13\u4e1a\u8bfe \u5f53\u7136\uff0c\u5982\u679c\u4f60\u60f3\u7cfb\u7edf\u6027\u5730\u4e0a\u4e00\u95e8\u8f6f\u4ef6\u5de5\u7a0b\u7684\u8bfe\u7a0b\uff0c\u90a3\u6211\u63a8\u8350\u7684\u662f\u4f2f\u514b\u5229\u7684 UCB CS169: software engineering \u3002\u4f46\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u548c\u5927\u591a\u5b66\u6821\uff08\u5305\u62ec\u8d35\u6821\uff09\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u7a0b\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4e0d\u4f1a\u6d89\u53ca\u4f20\u7edf\u7684 design and document \u6a21\u5f0f\uff0c\u5373\u5f3a\u8c03\u5404\u79cd\u7c7b\u56fe\u3001\u6d41\u7a0b\u56fe\u53ca\u6587\u6863\u8bbe\u8ba1\uff0c\u800c\u662f\u91c7\u7528\u8fd1\u4e9b\u5e74\u6d41\u884c\u8d77\u6765\u7684\u5c0f\u56e2\u961f\u5feb\u901f\u8fed\u4ee3 Agile Develepment \u5f00\u53d1\u6a21\u5f0f\u4ee5\u53ca\u5229\u7528\u4e91\u5e73\u53f0\u7684 Software as a service \u670d\u52a1\u6a21\u5f0f\u3002 \u4f53\u7cfb\u7ed3\u6784 \u5165\u95e8\u8bfe \u4ece\u5c0f\u6211\u5c31\u4e00\u76f4\u542c\u8bf4\uff0c\u8ba1\u7b97\u673a\u7684\u4e16\u754c\u662f\u7531 01 \u6784\u6210\u7684\uff0c\u6211\u4e0d\u7406\u89e3\u4f46\u5927\u53d7\u9707\u64bc\u3002\u5982\u679c\u4f60\u7684\u5185\u5fc3\u4e5f\u6000\u6709\u8fd9\u4efd\u597d\u5947\uff0c\u4e0d\u59a8\u82b1\u4e00\u5230\u4e24\u4e2a\u6708\u7684\u65f6\u95f4\u5b66\u4e60 Coursera: Nand2Tetris \u8fd9\u95e8\u65e0\u95e8\u69db\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002\u8fd9\u95e8\u9ebb\u96c0\u867d\u5c0f\u4e94\u810f\u4ff1\u5168\u7684\u8bfe\u7a0b\u4f1a\u4ece 01 \u5f00\u59cb\u8ba9\u4f60\u4eb2\u624b\u9020\u51fa\u4e00\u53f0\u8ba1\u7b97\u673a\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c\u4fc4\u7f57\u65af\u65b9\u5757\u5c0f\u6e38\u620f\u3002\u4e00\u95e8\u8bfe\u91cc\u6db5\u76d6\u4e86\u7f16\u8bd1\u3001\u865a\u62df\u673a\u3001\u6c47\u7f16\u3001\u4f53\u7cfb\u7ed3\u6784\u3001\u6570\u5b57\u7535\u8def\u3001\u903b\u8f91\u95e8\u7b49\u7b49\u4ece\u4e0a\u81f3\u4e0b\u3001\u4ece\u8f6f\u81f3\u786c\u7684\u5404\u7c7b\u77e5\u8bc6\uff0c\u975e\u5e38\u5168\u9762\u3002\u96be\u5ea6\u4e0a\u4e5f\u662f\u901a\u8fc7\u7cbe\u5fc3\u7684\u8bbe\u8ba1\uff0c\u7565\u53bb\u4e86\u4f17\u591a\u73b0\u4ee3\u8ba1\u7b97\u673a\u590d\u6742\u7684\u7ec6\u8282\uff0c\u63d0\u53d6\u51fa\u4e86\u6700\u6838\u5fc3\u672c\u8d28\u7684\u4e1c\u897f\uff0c\u529b\u56fe\u8ba9\u6bcf\u4e2a\u4eba\u90fd\u80fd\u7406\u89e3\u3002\u5728\u4f4e\u5e74\u7ea7\uff0c\u5982\u679c\u5c31\u80fd\u4ece\u5b8f\u89c2\u4e0a\u5efa\u7acb\u5bf9\u6574\u4e2a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7684\u9e1f\u77b0\u56fe\uff0c\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002 \u4e13\u4e1a\u8bfe \u5f53\u7136\uff0c\u5982\u679c\u60f3\u6df1\u5165\u73b0\u4ee3\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u7684\u590d\u6742\u7ec6\u8282\uff0c\u8fd8\u5f97\u4e0a\u4e00\u95e8\u5927\u5b66\u672c\u79d1\u96be\u5ea6\u7684\u8bfe\u7a0b UCB CS61C: Great Ideas in Computer Architecture \u3002UC Berkeley \u4f5c\u4e3a RISC-V \u67b6\u6784\u7684\u53d1\u6e90\u5730\uff0c\u5728\u4f53\u7cfb\u7ed3\u6784\u9886\u57df\u7b97\u5f97\u4e0a\u9996\u5c48\u4e00\u6307\u3002\u5176\u8bfe\u7a0b\u975e\u5e38\u6ce8\u91cd\u5b9e\u8df5\uff0c\u4f60\u4f1a\u5728 Project \u4e2d\u624b\u5199\u6c47\u7f16\u6784\u9020\u795e\u7ecf\u7f51\u7edc\uff0c\u4ece\u96f6\u5f00\u59cb\u642d\u5efa\u4e00\u4e2a CPU\uff0c\u8fd9\u4e9b\u5b9e\u8df5\u90fd\u4f1a\u8ba9\u4f60\u5bf9\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u6709\u66f4\u4e3a\u6df1\u5165\u7684\u7406\u89e3\uff0c\u800c\u4e0d\u662f\u4ec5\u505c\u7559\u4e8e\u201c\u53d6\u6307\u8bd1\u7801\u6267\u884c\u8bbf\u5b58\u5199\u56de\u201d\u7684\u5355\u8c03\u80cc\u8bf5\u91cc\u3002 \u7cfb\u7edf\u5165\u95e8 \u8ba1\u7b97\u673a\u7cfb\u7edf\u662f\u4e00\u4e2a\u5e9e\u6742\u800c\u6df1\u523b\u7684\u4e3b\u9898\uff0c\u5728\u6df1\u5165\u5b66\u4e60\u67d0\u4e2a\u7ec6\u5206\u9886\u57df\u4e4b\u524d\uff0c\u5bf9\u5404\u4e2a\u9886\u57df\u6709\u4e00\u4e2a\u5b8f\u89c2\u6982\u5ff5\u6027\u7684\u7406\u89e3\uff0c\u5bf9\u4e00\u4e9b\u901a\u7528\u6027\u7684\u8bbe\u8ba1\u539f\u5219\u6709\u6240\u77e5\u6653\uff0c\u4f1a\u8ba9\u4f60\u5728\u4e4b\u540e\u7684\u6df1\u5165\u5b66\u4e60\u4e2d\u4e0d\u65ad\u5f3a\u5316\u4e00\u4e9b\u6700\u4e3a\u6838\u5fc3\u4e43\u81f3\u54f2\u5b66\u7684\u6982\u5ff5\uff0c\u800c\u4e0d\u4f1a\u684e\u688f\u4e8e\u590d\u6742\u7684\u5185\u90e8\u7ec6\u8282\u548c\u5404\u79cd trick\u3002\u56e0\u4e3a\u5728\u6211\u770b\u6765\uff0c\u5b66\u4e60\u7cfb\u7edf\u6700\u5173\u952e\u7684\u8fd8\u662f\u60f3\u8ba9\u4f60\u9886\u609f\u5230\u8fd9\u4e9b\u6700\u6838\u5fc3\u7684\u4e1c\u897f\uff0c\u4ece\u800c\u80fd\u591f\u8bbe\u8ba1\u548c\u5b9e\u73b0\u51fa\u5c5e\u4e8e\u81ea\u5df1\u7684\u7cfb\u7edf\u3002 MIT6.033: System Engineering \u662f MIT \u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u4e3b\u9898\u6d89\u53ca\u4e86\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f51\u7edc\u3001\u5206\u5e03\u5f0f\u548c\u7cfb\u7edf\u5b89\u5168\uff0c\u9664\u4e86\u77e5\u8bc6\u70b9\u7684\u4f20\u6388\u5916\uff0c\u8fd9\u95e8\u8bfe\u8fd8\u4f1a\u8bb2\u6388\u4e00\u4e9b\u5199\u4f5c\u548c\u8868\u8fbe\u4e0a\u7684\u6280\u5de7\uff0c\u8ba9\u4f60\u5b66\u4f1a\u5982\u4f55\u8bbe\u8ba1\u5e76\u5411\u522b\u4eba\u4ecb\u7ecd\u548c\u5206\u6790\u81ea\u5df1\u7684\u7cfb\u7edf\u3002\u8fd9\u672c\u4e66\u914d\u5957\u7684\u6559\u6750 Principles of Computer System Design: An Introduction \u4e5f\u5199\u5f97\u975e\u5e38\u597d\uff0c\u63a8\u8350\u5927\u5bb6\u9605\u8bfb\u3002 CMU 15-213: Introduction to Computer System \u662f CMU \u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u5185\u5bb9\u8986\u76d6\u4e86\u4f53\u7cfb\u7ed3\u6784\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u94fe\u63a5\u3001\u5e76\u884c\u3001\u7f51\u7edc\u7b49\u7b49\uff0c\u517c\u5177\u5e7f\u5ea6\u548c\u6df1\u5ea6\uff0c\u914d\u5957\u7684\u6559\u6750 Computer Systems: A Programmer's Perspective \u4e5f\u662f\u8d28\u91cf\u6781\u9ad8\uff0c\u5f3a\u70c8\u5efa\u8bae\u9605\u8bfb\u3002 \u64cd\u4f5c\u7cfb\u7edf \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u5185\u6838\u66f4\u80fd\u52a0\u6df1\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u7684\u7406\u89e3\u4e86\u3002 \u64cd\u4f5c\u7cfb\u7edf\u4f5c\u4e3a\u5404\u7c7b\u7eb7\u7e41\u590d\u6742\u7684\u5e95\u5c42\u786c\u4ef6\u865a\u62df\u5316\u51fa\u4e00\u5957\u89c4\u8303\u4f18\u96c5\u7684\u62bd\u8c61\uff0c\u7ed9\u6240\u6709\u5e94\u7528\u8f6f\u4ef6\u63d0\u4f9b\u4e30\u5bcc\u7684\u529f\u80fd\u652f\u6301\u3002\u4e86\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u8bbe\u8ba1\u539f\u5219\u548c\u5185\u90e8\u539f\u7406\u5bf9\u4e8e\u4e00\u4e2a\u4e0d\u6ee1\u8db3\u4e8e\u5f53\u8c03\u5305\u4fa0\u7684\u7a0b\u5e8f\u5458\u6765\u8bf4\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u51fa\u4e8e\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u7684\u70ed\u7231\uff0c\u6211\u4e0a\u8fc7\u56fd\u5185\u5916\u5f88\u591a\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\uff0c\u5b83\u4eec\u5404\u6709\u4fa7\u91cd\u548c\u4f18\u52a3\uff0c\u5927\u5bb6\u53ef\u4ee5\u6839\u636e\u5174\u8da3\u5404\u53d6\u6240\u9700\u3002 MIT 6.S081: Operating System Engineering \uff0cMIT \u8457\u540d PDOS \u5b9e\u9a8c\u5ba4\u51fa\u54c1\uff0c11 \u4e2a Project \u8ba9\u4f60\u5728\u4e00\u4e2a\u5b9e\u73b0\u975e\u5e38\u4f18\u96c5\u7684\u7c7bUnix\u64cd\u4f5c\u7cfb\u7edfxv6\u4e0a\u589e\u52a0\u5404\u7c7b\u529f\u80fd\u6a21\u5757\u3002\u8fd9\u95e8\u8bfe\u4e5f\u8ba9\u6211\u6df1\u523b\u8ba4\u8bc6\u5230\uff0c\u505a\u7cfb\u7edf\u4e0d\u662f\u9760 PPT \u5ff5\u51fa\u6765\u7684\uff0c\u662f\u5f97\u51e0\u4e07\u884c\u4ee3\u7801\u4e00\u70b9\u70b9\u7d2f\u8d77\u6765\u7684\u3002 UCB CS162: Operating System \uff0c\u4f2f\u514b\u5229\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\uff0c\u91c7\u7528\u548c Stanford \u540c\u6837\u7684 Project \u2014\u2014 \u4e00\u4e2a\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf Pintos\u3002\u6211\u4f5c\u4e3a\u5317\u4eac\u5927\u5b662022\u5e74\u548c2023\u5e74\u6625\u5b63\u5b66\u671f\u64cd\u4f5c\u7cfb\u7edf\u5b9e\u9a8c\u73ed\u7684\u52a9\u6559\uff0c\u5f15\u5165\u5e76\u6539\u5584\u4e86\u8fd9\u4e2a Project\uff0c\u8bfe\u7a0b\u8d44\u6e90\u4e5f\u4f1a\u5168\u90e8\u5f00\u6e90\uff0c\u5177\u4f53\u53c2\u89c1 \u8bfe\u7a0b\u7f51\u7ad9 \u3002 NJU: Operating System Design and Implementation \uff0c\u5357\u4eac\u5927\u5b66\u7684\u848b\u708e\u5ca9\u8001\u5e08\u5f00\u8bbe\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u848b\u8001\u5e08\u4ee5\u5176\u72ec\u5230\u7684\u7cfb\u7edf\u89c6\u89d2\u7ed3\u5408\u4e30\u5bcc\u7684\u4ee3\u7801\u793a\u4f8b\u5c06\u4f17\u591a\u64cd\u4f5c\u7cfb\u7edf\u7684\u6982\u5ff5\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\uff0c\u6b64\u5916\u8fd9\u95e8\u8bfe\u7684\u5168\u90e8\u8bfe\u7a0b\u5185\u5bb9\u90fd\u662f\u4e2d\u6587\u7684\uff0c\u975e\u5e38\u65b9\u4fbf\u5927\u5bb6\u5b66\u4e60\u3002 HIT OS: Operating System \uff0c\u54c8\u5c14\u6ee8\u5de5\u4e1a\u5927\u5b66\u7684\u674e\u6cbb\u519b\u8001\u5e08\u5f00\u8bbe\u7684\u4e2d\u6587\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u674e\u8001\u5e08\u7684\u8bfe\u7a0b\u57fa\u4e8e Linux 0.11 \u6e90\u7801\uff0c\u5341\u5206\u6ce8\u91cd\u4ee3\u7801\u5b9e\u8df5\uff0c\u5e76\u7ad9\u5728\u5b66\u751f\u89c6\u89d2\u5c06\u64cd\u4f5c\u7cfb\u7edf\u7684\u6765\u9f99\u53bb\u8109\u5a13\u5a13\u9053\u6765\u3002 \u5e76\u884c\u4e0e\u5206\u5e03\u5f0f\u7cfb\u7edf \u60f3\u5fc5\u8fd9\u4e24\u5e74\u5404\u7c7b CS \u8bb2\u5ea7\u91cc\u6700\u5e38\u542c\u5230\u7684\u8bdd\u5c31\u662f\u201c\u6469\u5c14\u5b9a\u5f8b\u6b63\u5728\u8d70\u5411\u7ec8\u7ed3\u201d\uff0c\u6b64\u8bdd\u4e0d\u5047\uff0c\u5f53\u5355\u6838\u80fd\u529b\u8fbe\u5230\u4e0a\u9650\u65f6\uff0c\u591a\u6838\u4e43\u81f3\u4f17\u6838\u67b6\u6784\u5982\u65e5\u4e2d\u5929\u3002\u786c\u4ef6\u7684\u53d8\u5316\u5e26\u6765\u7684\u662f\u4e0a\u5c42\u7f16\u7a0b\u903b\u8f91\u7684\u9002\u5e94\u4e0e\u6539\u53d8\uff0c\u8981\u60f3\u5145\u5206\u5229\u7528\u786c\u4ef6\u6027\u80fd\uff0c\u7f16\u5199\u5e76\u884c\u7a0b\u5e8f\u51e0\u4e4e\u6210\u4e86\u7a0b\u5e8f\u5458\u7684\u5fc5\u5907\u6280\u80fd\u3002\u4e0e\u6b64\u540c\u65f6\uff0c\u6df1\u5ea6\u5b66\u4e60\u7684\u5174\u8d77\u5bf9\u8ba1\u7b97\u673a\u7b97\u529b\u4e0e\u5b58\u50a8\u7684\u8981\u6c42\u90fd\u8fbe\u5230\u4e86\u524d\u6240\u672a\u6709\u7684\u9ad8\u5ea6\uff0c\u5927\u89c4\u6a21\u96c6\u7fa4\u7684\u90e8\u7f72\u548c\u4f18\u5316\u4e5f\u6210\u4e3a\u70ed\u95e8\u6280\u672f\u8bdd\u9898\u3002 \u5e76\u884c\u8ba1\u7b97 CMU 15-418/Stanford CS149: Parallel Computing \u5206\u5e03\u5f0f\u7cfb\u7edf MIT 6.824: Distributed System \u7cfb\u7edf\u5b89\u5168 \u4e0d\u77e5\u9053\u4f60\u5f53\u5e74\u9009\u62e9\u8ba1\u7b97\u673a\u662f\u4e0d\u662f\u56e0\u4e3a\u6000\u7740\u4e00\u4e2a\u4e2d\u4e8c\u7684\u9ed1\u5ba2\u68a6\u60f3\uff0c\u4f46\u73b0\u5b9e\u5374\u662f\u6210\u4e3a\u9ed1\u5ba2\u9053\u963b\u4e14\u957f\u3002 \u7406\u8bba\u8bfe\u7a0b UCB CS161: Computer Security \u662f\u4f2f\u514b\u5229\u7684\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u4f1a\u6db5\u76d6\u6808\u653b\u51fb\u3001\u5bc6\u7801\u5b66\u3001\u7f51\u7ad9\u5b89\u5168\u3001\u7f51\u7edc\u5b89\u5168\u7b49\u7b49\u5185\u5bb9\u3002 ASU CSE365: Introduction to Cybersecurity \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66\u7684 Web \u5b89\u5168\u8bfe\u7a0b\uff0c\u4e3b\u8981\u6d89\u53ca\u6ce8\u5165\u3001\u6c47\u7f16\u4e0e\u5bc6\u7801\u5b66\u7684\u5185\u5bb9\u3002 ASU CSE466: Computer Systems Security \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66\u7684\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u6d89\u53ca\u5185\u5bb9\u5168\u9762\u3002\u95e8\u69db\u8f83\u9ad8\uff0c\u9700\u8981\u5bf9 Linux, C \u4e0e Python \u5145\u5206\u719f\u6089\u3002 \u5b9e\u8df5\u8bfe\u7a0b \u638c\u63e1\u8fd9\u4e9b\u7406\u8bba\u77e5\u8bc6\u4e4b\u540e\uff0c\u8fd8\u9700\u8981\u5728\u5b9e\u8df5\u4e2d\u57f9\u517b\u548c\u953b\u70bc\u8fd9\u4e9b\u201c\u9ed1\u5ba2\u7d20\u517b\u201d\u3002 CTF \u593a\u65d7\u8d5b \u662f\u4e00\u9879\u6bd4\u8f83\u70ed\u95e8\u7684\u7cfb\u7edf\u5b89\u5168\u6bd4\u8d5b\uff0c\u8d5b\u9898\u4e2d\u4f1a\u878d\u4f1a\u8d2f\u901a\u5730\u8003\u5bdf\u4f60\u5bf9\u8ba1\u7b97\u673a\u5404\u4e2a\u9886\u57df\u77e5\u8bc6\u7684\u7406\u89e3\u548c\u8fd0\u7528\u3002\u5317\u5927\u4eca\u5e74\u4e5f\u6210\u529f\u4e3e\u529e\u4e86 \u7b2c 0 \u5c4a\u548c\u7b2c 1 \u5c4a \uff0c\u9f13\u52b1\u5927\u5bb6\u540e\u671f\u8e0a\u8dc3\u53c2\u4e0e\uff0c\u5728\u5b9e\u8df5\u4e2d\u63d0\u9ad8\u81ea\u5df1\u3002\u4e0b\u9762\u5217\u4e3e\u4e00\u4e9b\u6211\u5e73\u65f6\u5b66\u4e60\uff08\u6478\u9c7c\uff09\u7528\u5230\u7684\u8d44\u6e90\uff1a CTF-wiki CTF-101 Hacker-101 \u8ba1\u7b97\u673a\u7f51\u7edc \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a TCP/IP \u534f\u8bae\u6808\u66f4\u80fd\u52a0\u6df1\u5bf9\u8ba1\u7b97\u673a\u7f51\u7edc\u7684\u7406\u89e3\u4e86\u3002 \u5927\u540d\u9f0e\u9f0e\u7684 Stanford CS144: Computer Network \uff0c8 \u4e2a Project \u5e26\u4f60\u5b9e\u73b0\u6574\u4e2a TCP/IP \u534f\u8bae\u6808\u3002 \u5982\u679c\u4f60\u53ea\u662f\u60f3\u5728\u7406\u8bba\u4e0a\u5bf9\u8ba1\u7b97\u673a\u7f51\u7edc\u6709\u6240\u4e86\u89e3\uff0c\u90a3\u4e48\u63a8\u8350\u8ba1\u7f51\u8457\u540d\u6559\u6750\u300a\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u300b\u7684\u914d\u5957\u5b66\u4e60\u8d44\u6e90 Computer Networking: A Top-Down Approach \u3002 \u6570\u636e\u5e93\u7cfb\u7edf \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u5173\u7cfb\u578b\u6570\u636e\u5e93\u66f4\u80fd\u52a0\u6df1\u5bf9\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u7406\u89e3\u4e86\u3002 CMU \u7684\u8457\u540d\u6570\u636e\u5e93\u795e\u8bfe CMU 15-445: Introduction to Database System \u4f1a\u901a\u8fc7 4 \u4e2a Project \u5e26\u4f60\u4e3a\u4e00\u4e2a\u7528\u4e8e\u6559\u5b66\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93 bustub \u6dfb\u52a0\u5404\u79cd\u529f\u80fd\u3002\u5b9e\u9a8c\u7684\u8bc4\u6d4b\u6846\u67b6\u4e5f\u514d\u8d39\u5f00\u6e90\u4e86\uff0c\u975e\u5e38\u9002\u5408\u5927\u5bb6\u81ea\u5b66\u3002\u6b64\u5916\u8bfe\u7a0b\u5b9e\u9a8c\u4f1a\u7528\u5230 C++11 \u7684\u4f17\u591a\u65b0\u7279\u6027\uff0c\u4e5f\u662f\u4e00\u4e2a\u953b\u70bc C++ \u4ee3\u7801\u80fd\u529b\u7684\u597d\u673a\u4f1a\u3002 Berkeley \u4f5c\u4e3a\u8457\u540d\u5f00\u6e90\u6570\u636e\u5e93 postgres \u7684\u53d1\u6e90\u5730\u4e5f\u4e0d\u9051\u591a\u8ba9\uff0c UCB CS186: Introduction to Database System \u4f1a\u8ba9\u4f60\u7528 Java \u8bed\u8a00\u5b9e\u73b0\u4e00\u4e2a\u652f\u6301 SQL \u5e76\u53d1\u67e5\u8be2\u3001B+ \u6811\u7d22\u5f15\u548c\u6545\u969c\u6062\u590d\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3002 \u7f16\u8bd1\u539f\u7406 \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u7f16\u8bd1\u5668\u66f4\u80fd\u52a0\u6df1\u5bf9\u7f16\u8bd1\u5668\u7684\u7406\u89e3\u4e86\u3002 Stanford CS143: Compilers \u5e26\u4f60\u624b\u5199\u7f16\u8bd1\u5668\u3002 Web\u5f00\u53d1 \u524d\u540e\u7aef\u5f00\u53d1\u5f88\u5c11\u5728\u8ba1\u7b97\u673a\u7684\u57f9\u517b\u65b9\u6848\u91cc\u88ab\u91cd\u89c6\uff0c\u4f46\u5176\u5b9e\u638c\u63e1\u8fd9\u9879\u6280\u80fd\u8fd8\u662f\u597d\u5904\u591a\u591a\u7684\uff0c\u4f8b\u5982\u642d\u5efa\u81ea\u5df1\u7684\u4e2a\u4eba\u4e3b\u9875\uff0c\u6291\u6216\u662f\u7ed9\u81ea\u5df1\u7684\u8bfe\u7a0b\u9879\u76ee\u505a\u4e00\u4e2a\u7cbe\u5f69\u7684\u5c55\u793a\u7f51\u9875\u3002 \u4e24\u5468\u901f\u6210\u7248 MIT web development course \u7cfb\u7edf\u5b66\u4e60\u7248 Stanford CS142: Web Applications \u8ba1\u7b97\u673a\u56fe\u5f62\u5b66 Stanford CS148 Games101 Games103 Games202 \u6570\u636e\u79d1\u5b66 \u5176\u5b9e\u6570\u636e\u79d1\u5b66\u548c\u673a\u5668\u5b66\u4e60\u4e0e\u6df1\u5ea6\u5b66\u4e60\u6709\u7740\u5f88\u7d27\u5bc6\u7684\u8054\u7cfb\uff0c\u4f46\u53ef\u80fd\u66f4\u4fa7\u91cd\u4e8e\u5b9e\u8df5\u3002Berkeley \u7684 UCB Data100: Principles and Techniques of Data Science \u901a\u8fc7\u4e30\u5bcc\u7684\u7f16\u7a0b\u7ec3\u4e60\u8ba9\u4f60\u5728\u5b9e\u8df5\u4e2d\u638c\u63e1\u5404\u7c7b\u6570\u636e\u5206\u6790\u5de5\u5177\u548c\u7b97\u6cd5\uff0c\u5e76\u5e26\u9886\u4f60\u4f53\u9a8c\u4ece\u6d77\u91cf\u7684\u6570\u636e\u96c6\u4e2d\u63d0\u53d6\u51fa\u60f3\u8981\u7684\u7ed3\u679c\uff0c\u5e76\u5bf9\u672a\u6765\u7684\u6570\u636e\u6216\u7528\u6237\u7684\u884c\u4e3a\u505a\u51fa\u76f8\u5e94\u7684\u9884\u6d4b\u3002\u4f46\u8fd9\u53ea\u662f\u4e00\u95e8\u57fa\u7840\u8bfe\uff0c\u5982\u679c\u60f3\u5b66\u4e60\u5de5\u4e1a\u7ea7\u522b\u7684\u6570\u636e\u6316\u6398\u4e0e\u5206\u6790\u6280\u672f\uff0c\u53ef\u4ee5\u5c1d\u8bd5 Stanford \u7684\u5927\u6570\u636e\u6316\u6398\u8bfe\u7a0b CS246: Mining Massive Data Sets \u3002 \u4eba\u5de5\u667a\u80fd \u8fd1\u5341\u5e74\u4eba\u5de5\u667a\u80fd\u5e94\u8be5\u7b97\u662f\u8ba1\u7b97\u673a\u754c\u6700\u706b\u7206\u7684\u9886\u57df\u3002\u5982\u679c\u4f60\u4e0d\u6ee1\u8db3\u4e8e\u6574\u65e5\u542c\u5404\u8def\u5a92\u4f53\u4e89\u76f8\u62a5\u9053\u4eba\u5de5\u667a\u80fd\u76f8\u5173\u7684\u8fdb\u5c55\uff0c\u800c\u60f3\u771f\u6b63\u4e00\u63a2\u7a76\u7adf\uff0c\u90a3\u4e48\u975e\u5e38\u63a8\u8350\u5b66\u4e60 Harvard \u795e\u8bfe CS50 \u7cfb\u5217\u7684\u4eba\u5de5\u667a\u80fd\u8bfe\u7a0b Harvard CS50: Introduction to AI with Python \u3002\u8bfe\u7a0b\u77ed\u5c0f\u7cbe\u608d\uff0c\u8986\u76d6\u4e86\u4f20\u7edf\u4eba\u5de5\u667a\u80fd\u9886\u57df\u7684\u51e0\u5927\u5206\u652f\uff0c\u5e76\u914d\u6709\u4e30\u5bcc\u6709\u8da3\u7684 Python \u7f16\u7a0b\u7ec3\u4e60\u6765\u5de9\u56fa\u4f60\u5bf9\u4eba\u5de5\u667a\u80fd\u7b97\u6cd5\u7684\u7406\u89e3\u3002\u7f8e\u4e2d\u4e0d\u8db3\u7684\u662f\u8fd9\u95e8\u8bfe\u56e0\u4e3a\u9762\u5411\u5728\u7ebf\u81ea\u5b66\u8005\u7684\u7f18\u6545\u5185\u5bb9\u8f83\u4e3a\u7cbe\u7b80\uff0c\u5e76\u4e14\u4e0d\u4f1a\u6d89\u53ca\u7279\u522b\u6df1\u5165\u7684\u6570\u5b66\u7406\u8bba\uff0c\u5982\u679c\u60f3\u8981\u7cfb\u7edf\u6df1\u5165\u5730\u5b66\u4e60\u8fd8\u9700\u8981\u4e00\u95e8\u672c\u79d1\u751f\u96be\u5ea6\u7684\u8bfe\u7a0b\uff0c\u4f8b\u5982 Berkeley \u7684 UCB CS188: Introduction to Artificial Intelligence \u3002\u8fd9\u95e8\u8bfe\u7684 Project \u590d\u523b\u4e86\u7ecf\u5178\u6e38\u620f\u7cd6\u8c46\u4eba\uff0c\u8ba9\u4f60\u8fd0\u7528\u4eba\u5de5\u667a\u80fd\u7b97\u6cd5\u73a9\u6e38\u620f\uff0c\u975e\u5e38\u6709\u8da3\u3002 \u673a\u5668\u5b66\u4e60 \u673a\u5668\u5b66\u4e60\u9886\u57df\u8fd1\u4e9b\u5e74\u6700\u91cd\u8981\u7684\u8fdb\u5c55\u5c31\u662f\u53d1\u5c55\u51fa\u4e86\u57fa\u4e8e\u795e\u7ecf\u7f51\u7edc\u7684\u6df1\u5ea6\u5b66\u4e60\u5206\u652f\uff0c\u4f46\u5176\u5b9e\u5f88\u591a\u57fa\u4e8e\u7edf\u8ba1\u5b66\u4e60\u7684\u7b97\u6cd5\u4f9d\u7136\u5728\u6570\u636e\u5206\u6790\u9886\u57df\u6709\u7740\u5e7f\u6cdb\u7684\u5e94\u7528\u3002\u5982\u679c\u4f60\u4e4b\u524d\u4ece\u672a\u63a5\u89e6\u8fc7\u673a\u5668\u5b66\u4e60\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u800c\u4e14\u4e0d\u60f3\u4e00\u5f00\u59cb\u5c31\u9677\u5165\u8270\u6df1\u6666\u6da9\u7684\u6570\u5b66\u8bc1\u660e\uff0c\u90a3\u4e48\u4e0d\u59a8\u5148\u4ece Andrew Ng \uff08\u5434\u6069\u8fbe\uff09\u7684 Coursera: Machine Learning \u5b66\u8d77\u3002\u8fd9\u95e8\u8bfe\u5728\u673a\u5668\u5b66\u4e60\u9886\u57df\u57fa\u672c\u65e0\u4eba\u4e0d\u6653\uff0c\u5434\u6069\u8fbe\u4ee5\u5176\u6df1\u539a\u7684\u7406\u8bba\u529f\u5e95\u548c\u51fa\u8272\u7684\u8868\u8fbe\u80fd\u529b\u628a\u5f88\u591a\u8270\u6df1\u7684\u7b97\u6cd5\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\uff0c\u5e76\u4e14\u975e\u5e38\u5b9e\u7528\u3002\u5176\u914d\u5957\u7684\u4f5c\u4e1a\u4e5f\u662f\u8d28\u91cf\u76f8\u5f53\u4e0a\u4e58\uff0c\u53ef\u4ee5\u5e2e\u52a9\u4f60\u5feb\u901f\u5165\u95e8\u3002 \u4f46\u4e0a\u8fc7\u8fd9\u95e8\u8bfe\u53ea\u80fd\u8ba9\u4f60\u4ece\u5b8f\u89c2\u4e0a\u5bf9\u673a\u5668\u5b66\u4e60\u8fd9\u4e00\u9886\u57df\u6709\u4e00\u5b9a\u4e86\u89e3\uff0c\u5982\u679c\u60f3\u771f\u6b63\u7406\u89e3\u90a3\u4e9b\u201c\u795e\u5947\u201d\u7b97\u6cd5\u80cc\u540e\u7684\u6570\u5b66\u539f\u7406\u751a\u81f3\u4ece\u4e8b\u76f8\u5173\u9886\u57df\u7684\u79d1\u7814\u5de5\u4f5c\uff0c\u90a3\u4e48\u8fd8\u9700\u8981\u4e00\u95e8\u66f4\u201c\u6570\u5b66\u201d\u7684\u8bfe\u7a0b\uff0c\u4f8b\u5982 Stanford CS229: Machine Learning \u6216\u8005 UCB CS189: Introduction to Machine Learning \u3002 \u6df1\u5ea6\u5b66\u4e60 \u524d\u51e0\u5e74 AlphaGo \u7684\u5927\u70ed\u8ba9\u6df1\u5ea6\u5b66\u4e60\u8fdb\u5165\u4e86\u5927\u4f17\u7684\u89c6\u91ce\uff0c\u4e0d\u5c11\u5927\u5b66\u751a\u81f3\u4e13\u95e8\u6210\u7acb\u4e86\u76f8\u5173\u4e13\u4e1a\u3002\u5f88\u591a\u8ba1\u7b97\u673a\u7684\u5176\u4ed6\u9886\u57df\u4e5f\u4f1a\u501f\u52a9\u6df1\u5ea6\u5b66\u4e60\u7684\u6280\u672f\u6765\u505a\u7814\u7a76\uff0c\u56e0\u6b64\u57fa\u672c\u4e0d\u7ba1\u4f60\u5e72\u5565\u591a\u5c11\u90fd\u4f1a\u63a5\u89e6\u5230\u4e00\u4e9b\u795e\u7ecf\u7f51\u7edc\u3001\u6df1\u5ea6\u5b66\u4e60\u76f8\u5173\u7684\u6280\u672f\u9700\u6c42\u3002\u5982\u679c\u60f3\u5feb\u901f\u5165\u95e8\uff0c\u540c\u6837\u63a8\u8350 Andrew Ng \uff08\u5434\u6069\u8fbe\uff09\u7684 Coursera: Deep Learning \uff0c\u8d28\u91cf\u65e0\u9700\u591a\u8a00\uff0cCoursera \u4e0a\u7f55\u89c1\u7684\u6ee1\u5206\u8bfe\u7a0b\u3002\u6b64\u5916\u5982\u679c\u4f60\u89c9\u5f97\u82f1\u6587\u8bfe\u7a0b\u5b66\u4e60\u8d77\u6765\u6709\u96be\u5ea6\uff0c\u63a8\u8350\u674e\u5b8f\u6bc5\u8001\u5e08\u7684 \u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\uff1a\u673a\u5668\u5b66\u4e60 \u8bfe\u7a0b\u3002\u8fd9\u95e8\u8bfe\u6253\u7740\u673a\u5668\u5b66\u4e60\u7684\u540d\u53f7\uff0c\u5374\u56ca\u62ec\u4e86\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u7684\u51e0\u4e4e\u6240\u6709\u65b9\u5411\uff0c\u975e\u5e38\u5168\u9762\uff0c\u5f88\u9002\u5408\u4f60\u4ece\u5b8f\u89c2\u4e0a\u5bf9\u8fd9\u4e2a\u9886\u57df\u6709\u4e00\u4e2a\u5927\u81f4\u7684\u4e86\u89e3\u3002\u800c\u4e14\u8001\u5e08\u672c\u4eba\u4e5f\u975e\u5e38\u5e7d\u9ed8\uff0c\u8bfe\u5802\u91d1\u53e5\u9891\u51fa\u3002 \u5f53\u7136\u56e0\u4e3a\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u53d1\u5c55\u975e\u5e38\u8fc5\u901f\uff0c\u5df2\u7ecf\u62e5\u6709\u4e86\u4f17\u591a\u7814\u7a76\u5206\u652f\uff0c\u5982\u679c\u60f3\u8981\u8fdb\u4e00\u6b65\u6df1\u5165\uff0c\u53ef\u4ee5\u6309\u9700\u5b66\u4e60\u4e0b\u9762\u7f57\u5217\u7684\u4ee3\u8868\u8bfe\u7a0b\uff0c \u8ba1\u7b97\u673a\u89c6\u89c9 Stanford CS231n: CNN for Visual Recognition \u81ea\u7136\u8bed\u8a00\u5904\u7406 Stanford CS224n: Natural Language Processing \u56fe\u795e\u7ecf\u7f51\u7edc Stanford CS224w: Machine Learning with Graphs \u5f3a\u5316\u5b66\u4e60 UCB CS285: Deep Reinforcement Learning \u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe \u6388\u4eba\u4ee5\u9c7c\u4e0d\u5982\u6388\u4eba\u4ee5\u6e14\u3002 \u4ee5\u4e0a\u7684\u8bfe\u7a0b\u89c4\u5212\u96be\u514d\u5e26\u6709\u5f3a\u70c8\u7684\u4e2a\u4eba\u504f\u597d\uff0c\u4e0d\u4e00\u5b9a\u9002\u5408\u6240\u6709\u4eba\uff0c\u66f4\u591a\u662f\u8d77\u5230\u629b\u7816\u5f15\u7389\u7684\u4f5c\u7528\u3002\u5982\u679c\u4f60\u60f3\u6311\u9009\u81ea\u5df1\u611f\u5174\u8da3\u7684\u65b9\u5411\u548c\u5185\u5bb9\u52a0\u4ee5\u5b66\u4e60\uff0c\u53ef\u4ee5\u53c2\u8003\u6211\u5728\u4e0b\u9762\u5217\u51fa\u6765\u7684\u8d44\u6e90\u3002 MIT OpenCourseWare : \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684\u8bfe\u7a0b\u8d44\u6e90\u5f00\u653e\u5171\u4eab\u9879\u76ee\uff0c\u6536\u5f55\u4e86\u6570\u4ee5\u5343\u8ba1\u7684\u5404\u79d1\u8bfe\u7a0b\u8d44\u6e90\uff0c\u5176\u4e2d\u8ba1\u7b97\u673a\u7c7b\u7684\u8bfe\u53f7\u662f 6.xxx\u3002 MIT CS Course List : \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002 UC Berkeley EECS Course Map : UC Berkeley \u7684 EECS \u57f9\u517b\u65b9\u6848\uff0c\u4ee5\u8bfe\u7a0b\u5730\u56fe\u7684\u65b9\u5f0f\u5c06\u5404\u95e8\u8bfe\u7a0b\u7684\u7c7b\u522b\u548c\u5148\u4fee\u5173\u7cfb\u4e00\u76ee\u4e86\u7136\u5730\u5448\u73b0\uff0c\u5176\u4e2d\u7edd\u5927\u591a\u6570\u8bfe\u7a0b\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 UC Berkeley CS Course List : UC Berkeley \u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002 Stanford CS Course List : \u65af\u5766\u798f\u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002","title":"Guideline"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#cs","text":"\u8ba1\u7b97\u673a\u9886\u57df\u65b9\u5411\u5e9e\u6742\uff0c\u77e5\u8bc6\u6d69\u5982\u70df\u6d77\uff0c\u6bcf\u4e2a\u7ec6\u5206\u9886\u57df\u5982\u679c\u6df1\u7a76\u4e0b\u53bb\u90fd\u53ef\u4ee5\u8bf4\u5b66\u65e0\u6b62\u5883\u3002\u56e0\u6b64\uff0c\u4e00\u4e2a\u6e05\u6670\u660e\u786e\u7684\u5b66\u4e60\u89c4\u5212\u662f\u975e\u5e38\u91cd\u8981\u7684\u3002\u6211\u5728\u591a\u5e74\u81ea\u5b66\u7684\u5c1d\u8bd5\u4e2d\u4e5f\u8d70\u8fc7\u4e0d\u5c11\u5f2f\u8def\uff0c\u6700\u7ec8\u63d0\u70bc\u51fa\u4e86\u4e0b\u9762\u7684\u5185\u5bb9\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u4e0d\u8fc7\uff0c\u5728\u5f00\u59cb\u5b66\u4e60\u4e4b\u524d\uff0c\u5148\u5411\u5c0f\u767d\u4eec\u5f3a\u70c8\u63a8\u8350\u4e00\u4e2a\u79d1\u666e\u5411\u7cfb\u5217\u89c6\u9891 Crash Course: Computer Science \uff0c\u5728\u77ed\u77ed 8 \u4e2a\u5c0f\u65f6\u91cc\u975e\u5e38\u751f\u52a8\u4e14\u5168\u9762\u5730\u79d1\u666e\u4e86\u5173\u4e8e\u8ba1\u7b97\u673a\u79d1\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff1a\u8ba1\u7b97\u673a\u7684\u5386\u53f2\u3001\u8ba1\u7b97\u673a\u662f\u5982\u4f55\u8fd0\u4f5c\u7684\u3001\u7ec4\u6210\u8ba1\u7b97\u673a\u7684\u5404\u4e2a\u91cd\u8981\u6a21\u5757\u3001\u8ba1\u7b97\u673a\u79d1\u5b66\u4e2d\u7684\u91cd\u8981\u601d\u60f3\u7b49\u7b49\u7b49\u7b49\u3002\u6b63\u5982\u5b83\u7684\u53e3\u53f7\u6240\u8bf4\u7684 Computers are not magic! \uff0c\u5e0c\u671b\u770b\u5b8c\u8fd9\u4e2a\u89c6\u9891\u4e4b\u540e\uff0c\u5927\u5bb6\u80fd\u5bf9\u8ba1\u7b97\u673a\u79d1\u5b66\u6709\u4e2a\u5168\u8c8c\u6027\u5730\u611f\u77e5\uff0c\u4ece\u800c\u6000\u7740\u5174\u8da3\u53bb\u9762\u5bf9\u4e0b\u9762\u6d69\u5982\u70df\u6d77\u7684\u66f4\u4e3a\u7ec6\u81f4\u4e14\u6df1\u5165\u7684\u5b66\u4e60\u5185\u5bb9\u3002","title":"\u4e00\u4e2a\u4ec5\u4f9b\u53c2\u8003\u7684 CS \u5b66\u4e60\u89c4\u5212"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_1","text":"\u4fd7\u8bdd\u8bf4\uff1a\u78e8\u5200\u4e0d\u8bef\u780d\u67f4\u5de5\u3002\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u521a\u521a\u63a5\u89e6\u8ba1\u7b97\u673a\u768424k\u7eaf\u5c0f\u767d\uff0c\u5b66\u4f1a\u4e00\u4e9b\u5de5\u5177\u5c06\u4f1a\u8ba9\u4f60\u4e8b\u534a\u529f\u500d\u3002 \u5b66\u4f1a\u63d0\u95ee\uff1a\u4e5f\u8bb8\u4f60\u4f1a\u60ca\u8bb6\uff0c\u63d0\u95ee\u4e5f\u7b97\u8ba1\u7b97\u673a\u5fc5\u5907\u6280\u80fd\u5417\uff0c\u8fd8\u653e\u5728\u7b2c\u4e00\u6761\uff1f\u6211\u89c9\u5f97\u5728\u5f00\u6e90\u793e\u533a\u4e2d\uff0c\u5b66\u4f1a\u63d0\u95ee\u662f\u4e00\u9879\u975e\u5e38\u91cd\u8981\u7684\u80fd\u529b\uff0c\u5b83\u5305\u542b\u4e24\u65b9\u9762\u7684\u4e8b\u60c5\u3002\u5176\u4e00\u662f\u4f1a\u53d8\u76f8\u5730\u57f9\u517b\u4f60\u81ea\u4e3b\u89e3\u51b3\u95ee\u9898\u7684\u80fd\u529b\uff0c\u56e0\u4e3a\u4ece\u5f62\u6210\u95ee\u9898\u3001\u63cf\u8ff0\u95ee\u9898\u5e76\u53d1\u5e03\u3001\u4ed6\u4eba\u56de\u7b54\u3001\u6700\u540e\u518d\u5230\u7406\u89e3\u56de\u7b54\u8fd9\u4e2a\u5468\u671f\u662f\u975e\u5e38\u957f\u7684\uff0c\u5982\u679c\u9047\u5230\u4ec0\u4e48\u9e21\u6bdb\u849c\u76ae\u7684\u4e8b\u60c5\u90fd\u5e0c\u671b\u522b\u4eba\u6700\u597d\u8fdc\u7a0b\u684c\u9762\u624b\u628a\u624b\u5e2e\u4f60\u5b8c\u6210\uff0c\u90a3\u8ba1\u7b97\u673a\u7684\u4e16\u754c\u57fa\u672c\u4e0e\u4f60\u65e0\u7f18\u4e86\u3002\u5176\u4e8c\uff0c\u5982\u679c\u771f\u7684\u7ecf\u8fc7\u5c1d\u8bd5\u8fd8\u65e0\u6cd5\u89e3\u51b3\uff0c\u53ef\u4ee5\u501f\u52a9\u5f00\u6e90\u793e\u533a\u7684\u5e2e\u52a9\uff0c\u4f46\u8fd9\u65f6\u5019\u5982\u4f55\u901a\u8fc7\u7b80\u6d01\u7684\u6587\u5b57\u8ba9\u522b\u4eba\u77ac\u95f4\u7406\u89e3\u4f60\u7684\u5904\u5883\u4ee5\u53ca\u76ee\u7684\uff0c\u5c31\u663e\u5f97\u5c24\u4e3a\u91cd\u8981\u3002\u63a8\u8350\u9605\u8bfb \u63d0\u95ee\u7684\u667a\u6167 \u8fd9\u7bc7\u6587\u7ae0\uff0c\u8fd9\u4e0d\u4ec5\u80fd\u63d0\u9ad8\u4f60\u89e3\u51b3\u95ee\u9898\u7684\u6982\u7387\u548c\u6548\u7387\uff0c\u4e5f\u80fd\u8ba9\u5f00\u6e90\u793e\u533a\u91cc\u65e0\u507f\u63d0\u4f9b\u89e3\u7b54\u7684\u4eba\u4eec\u62e5\u6709\u4e00\u4e2a\u597d\u5fc3\u60c5\u3002 MIT-Missing-Semester \u8fd9\u95e8\u8bfe\u8986\u76d6\u4e86\u8fd9\u4e9b\u5de5\u5177\u4e2d\u7edd\u5927\u90e8\u5206\uff0c\u800c\u4e14\u6709\u76f8\u5f53\u8be6\u7ec6\u7684\u4f7f\u7528\u6307\u5bfc\uff0c\u5f3a\u70c8\u5efa\u8bae\u5c0f\u767d\u5b66\u4e60\u3002\u4e0d\u8fc7\u9700\u8981\u6ce8\u610f\u7684\u4e00\u70b9\u662f\uff0c\u5728\u8bfe\u7a0b\u4e2d\u4f1a\u4e0d\u65f6\u63d0\u5230\u4e00\u4e9b\u4e0e\u5f00\u53d1\u6d41\u7a0b\u76f8\u5173\u7684\u672f\u8bed\u3002\u56e0\u6b64\u63a8\u8350\u81f3\u5c11\u5728\u5b66\u5b8c\u8ba1\u7b97\u673a\u5bfc\u8bba\u7ea7\u522b\u7684\u8bfe\u7a0b\u4e4b\u540e\u8fdb\u884c\u5b66\u4e60\u3002 \u7ffb\u5899 \uff1a\u7531\u4e8e\u4e00\u4e9b\u4f17\u6240\u5468\u77e5\u7684\u539f\u56e0\uff0c\u8c37\u6b4c\u3001GitHub \u7b49\u7f51\u7ad9\u5728\u5927\u9646\u65e0\u6cd5\u8bbf\u95ee\u3002\u7136\u800c\u5f88\u591a\u65f6\u5019\uff0c\u8c37\u6b4c\u548c StackOverflow \u53ef\u4ee5\u89e3\u51b3\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u9047\u5230\u7684 99% \u7684\u95ee\u9898\u3002\u56e0\u6b64\uff0c\u5b66\u4f1a\u7ffb\u5899\u51e0\u4e4e\u662f\u4e00\u4e2a\u5185\u5730 CSer \u7684\u5fc5\u5907\u6280\u80fd\u3002\uff08\u8003\u8651\u5230\u6cd5\u5f8b\u95ee\u9898\uff0c\u8fd9\u4e2a\u6587\u6863\u63d0\u4f9b\u7684\u7ffb\u5899\u65b9\u5f0f\u4ec5\u5bf9\u62e5\u6709\u5317\u5927\u90ae\u7bb1\u7684\u7528\u6237\u9002\u7528\uff09\u3002 \u547d\u4ee4\u884c\uff1a\u719f\u7ec3\u4f7f\u7528\u547d\u4ee4\u884c\u662f\u4e00\u79cd\u5e38\u5e38\u88ab\u5ffd\u89c6\uff0c\u6216\u88ab\u8ba4\u4e3a\u96be\u4ee5\u638c\u63e1\u7684\u6280\u80fd\uff0c\u4f46\u5b9e\u9645\u4e0a\uff0c\u5b83\u4f1a\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u4f5c\u4e3a\u5de5\u7a0b\u5e08\u7684\u7075\u6d3b\u6027\u4ee5\u53ca\u751f\u4ea7\u529b\u3002 \u547d\u4ee4\u884c\u7684\u827a\u672f \u662f\u4e00\u4efd\u975e\u5e38\u7ecf\u5178\u7684\u6559\u7a0b\uff0c\u5b83\u6e90\u4e8e Quora \u7684\u4e00\u4e2a\u63d0\u95ee\uff0c\u4f46\u5728\u5404\u8def\u5927\u795e\u7684\u8d21\u732e\u52aa\u529b\u4e0b\u5df2\u7ecf\u6210\u4e3a\u4e86\u4e00\u4e2a GitHub \u5341\u4e07 stars \u7684\u9876\u6d41\u9879\u76ee\uff0c\u88ab\u7ffb\u8bd1\u6210\u4e86\u5341\u51e0\u79cd\u8bed\u8a00\u3002\u6559\u7a0b\u4e0d\u957f\uff0c\u975e\u5e38\u5efa\u8bae\u5927\u5bb6\u53cd\u590d\u901a\u8bfb\uff0c\u5728\u5b9e\u8df5\u4e2d\u5185\u5316\u5438\u6536\u3002\u540c\u65f6\uff0c\u638c\u63e1 Shell \u811a\u672c\u7f16\u7a0b\u4e5f\u662f\u4e00\u9879\u4e0d\u5bb9\u5ffd\u89c6\u7684\u6280\u672f\uff0c\u53ef\u4ee5\u53c2\u8003\u8fd9\u4e2a \u6559\u7a0b \u3002 IDE (Integrated Development Environment)\uff1a\u96c6\u6210\u5f00\u53d1\u73af\u5883\uff0c\u8bf4\u767d\u4e86\u5c31\u662f\u4f60\u5199\u4ee3\u7801\u7684\u5730\u65b9\u3002\u4f5c\u4e3a\u4e00\u4e2a\u7801\u519c\uff0cIDE \u7684\u91cd\u8981\u6027\u4e0d\u8a00\u800c\u55bb\uff0c\u4f46\u7531\u4e8e\u5f88\u591a IDE \u662f\u4e3a\u5927\u578b\u5de5\u7a0b\u9879\u76ee\u8bbe\u8ba1\u7684\uff0c\u4f53\u91cf\u8f83\u5927\uff0c\u529f\u80fd\u4e5f\u8fc7\u4e8e\u4e30\u5bcc\u3002\u5176\u5b9e\u5982\u4eca\u4e00\u4e9b\u8f7b\u4fbf\u7684\u6587\u672c\u7f16\u8f91\u5668\u914d\u5408\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\u57fa\u672c\u53ef\u4ee5\u6ee1\u8db3\u65e5\u5e38\u7684\u8f7b\u91cf\u7f16\u7a0b\u9700\u6c42\u3002\u4e2a\u4eba\u5e38\u7528\u7684\u7f16\u8f91\u5668\u662f VS Code \u548c Sublime\uff08\u524d\u8005\u7684\u63d2\u4ef6\u914d\u7f6e\u975e\u5e38\u7b80\u5355\uff0c\u540e\u8005\u7565\u663e\u590d\u6742\u4f46\u989c\u503c\u5f88\u9ad8\uff09\u3002\u5f53\u7136\u5bf9\u4e8e\u5927\u578b\u9879\u76ee\u6211\u8fd8\u662f\u4f1a\u91c7\u7528\u7565\u91cd\u578b\u7684 IDE\uff0c\u4f8b\u5982 Pycharm (Python)\uff0cIDEA (Java) \u7b49\u7b49\uff08\u514d\u8d23\u7533\u660e\uff1a\u6240\u6709\u7684 IDE \u90fd\u662f\u4e16\u754c\u4e0a\u6700\u597d\u7684 IDE\uff09\u3002 Vim \uff1a\u4e00\u6b3e\u547d\u4ee4\u884c\u7f16\u8f91\u5de5\u5177\u3002\u8fd9\u662f\u4e00\u4e2a\u5b66\u4e60\u66f2\u7ebf\u6709\u4e9b\u9661\u5ced\u7684\u7f16\u8f91\u5668\uff0c\u4e0d\u8fc7\u5b66\u4f1a\u5b83\u6211\u89c9\u5f97\u662f\u975e\u5e38\u6709\u5fc5\u8981\u7684\uff0c\u56e0\u4e3a\u5b83\u5c06\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u7684\u5f00\u53d1\u6548\u7387\u3002\u73b0\u5728\u7edd\u5927\u591a\u6570 IDE \u4e5f\u90fd\u652f\u6301 Vim \u63d2\u4ef6\uff0c\u8ba9\u4f60\u5728\u4eab\u53d7\u73b0\u4ee3\u5f00\u53d1\u73af\u5883\u7684\u540c\u65f6\u4fdd\u7559\u6781\u5ba2\u7684\u70ab\u9177\uff08yue\uff09\u3002 Emacs \uff1a\u4e0e Vim \u9f50\u540d\u7684\u7ecf\u5178\u7f16\u8f91\u5668\uff0c\u540c\u6837\u5177\u6709\u6781\u9ad8\u7684\u5f00\u53d1\u6548\u7387\uff0c\u540c\u65f6\u5177\u6709\u66f4\u4e3a\u5f3a\u5927\u7684\u6269\u5c55\u6027\uff0c\u5b83\u65e2\u53ef\u4ee5\u914d\u7f6e\u4e3a\u4e00\u4e2a\u8f7b\u91cf\u7f16\u8f91\u5668\uff0c\u4e5f\u53ef\u4ee5\u6269\u5c55\u6210\u4e00\u4e2a\u4e2a\u4eba\u5b9a\u5236\u7684 IDE\uff0c\u751a\u81f3\u53ef\u4ee5\u6709\u66f4\u591a\u5947\u6280\u6deb\u5de7\u3002 Git \uff1a\u4e00\u6b3e\u4ee3\u7801\u7248\u672c\u63a7\u5236\u5de5\u5177\u3002Git\u7684\u5b66\u4e60\u66f2\u7ebf\u53ef\u80fd\u66f4\u4e3a\u9661\u5ced\uff0c\u4f46\u51fa\u81ea Linux \u4e4b\u7236 Linus \u4e4b\u624b\u7684 Git \u7edd\u5bf9\u662f\u6bcf\u4e2a\u5b66 CS \u7684\u7ae5\u978b\u5fc5\u987b\u638c\u63e1\u7684\u795e\u5668\u4e4b\u4e00\u3002 GitHub \uff1a\u57fa\u4e8e Git \u7684\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u5168\u4e16\u754c\u6700\u5927\u7684\u4ee3\u7801\u5f00\u6e90\u793e\u533a\uff0c\u5927\u4f6c\u96c6\u805a\u5730\u3002 GNU Make \uff1a\u4e00\u6b3e\u5de5\u7a0b\u6784\u5efa\u5de5\u5177\u3002\u5584\u7528 GNU Make \u4f1a\u8ba9\u4f60\u517b\u6210\u4ee3\u7801\u6a21\u5757\u5316\u7684\u4e60\u60ef\uff0c\u540c\u65f6\u4e5f\u80fd\u8ba9\u4f60\u719f\u6089\u4e00\u4e9b\u5927\u578b\u5de5\u7a0b\u7684\u7f16\u8bd1\u94fe\u63a5\u6d41\u7a0b\u3002 CMake \uff1a\u4e00\u6b3e\u529f\u80fd\u6bd4 GNU Make \u66f4\u4e3a\u5f3a\u5927\u7684\u6784\u5efa\u5de5\u5177\uff0c\u5efa\u8bae\u638c\u63e1 GNU Make \u4e4b\u540e\u518d\u52a0\u4ee5\u5b66\u4e60\u3002 LaTex \uff1a \u903c\u683c\u63d0\u5347 \u8bba\u6587\u6392\u7248\u5de5\u5177\u3002 Docker \uff1a\u4e00\u6b3e\u76f8\u8f83\u4e8e\u865a\u62df\u673a\u66f4\u8f7b\u91cf\u7ea7\u7684\u8f6f\u4ef6\u6253\u5305\u4e0e\u73af\u5883\u90e8\u7f72\u5de5\u5177\u3002 \u5b9e\u7528\u5de5\u5177\u7bb1 \uff1a\u9664\u4e86\u4e0a\u9762\u63d0\u5230\u7684\u8fd9\u4e9b\u5728\u5f00\u53d1\u4e2d\u4f7f\u7528\u9891\u7387\u6781\u9ad8\u7684\u5de5\u5177\u4e4b\u5916\uff0c\u6211\u8fd8\u6536\u96c6\u4e86\u5f88\u591a\u5b9e\u7528\u6709\u8da3\u7684\u514d\u8d39\u5de5\u5177\uff0c\u4f8b\u5982\u4e00\u4e9b\u4e0b\u8f7d\u5de5\u5177\u3001\u8bbe\u8ba1\u5de5\u5177\u3001\u5b66\u4e60\u7f51\u7ad9\u7b49\u7b49\u3002 Thesis \uff1a\u6bd5\u4e1a\u8bba\u6587 Word \u5199\u4f5c\u6559\u7a0b\u3002","title":"\u5fc5\u5b66\u5de5\u5177"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_2","text":"\u79c1\u4ee5\u4e3a\u4e00\u672c\u597d\u7684\u6559\u6750\u5e94\u5f53\u662f\u4ee5\u4eba\u4e3a\u672c\u7684\uff0c\u800c\u4e0d\u662f\u70ab\u6280\u5f0f\u7684\u7406\u8bba\u5806\u780c\u3002\u544a\u8bc9\u8bfb\u8005\u201c\u662f\u4ec0\u4e48\u201d\u56fa\u7136\u91cd\u8981\uff0c\u4f46\u66f4\u597d\u7684\u5e94\u5f53\u662f\u6559\u6750\u4f5c\u8005\u5c06\u5176\u5728\u8fd9\u4e2a\u9886\u57df\u6df1\u8015\u51e0\u5341\u5e74\u7684\u7ecf\u9a8c\u878d\u6c47\u8fdb\u4e66\u4e2d\uff0c\u5411\u8bfb\u8005\u5a13\u5a13\u9053\u6765\u201c\u4e3a\u4ec0\u4e48\u201d\u4ee5\u53ca\u672a\u6765\u5e94\u8be5\u201c\u600e\u4e48\u505a\u201d\u3002 \u94fe\u63a5\u6233\u8fd9\u91cc","title":"\u597d\u4e66\u63a8\u8350"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_3","text":"\u4f60\u4ee5\u4e3a\u7684\u5f00\u53d1 \u2014\u2014 \u5728 IDE \u91cc\u75af\u72c2\u7801\u4ee3\u7801\u6570\u5c0f\u65f6\u3002 \u5b9e\u9645\u4e0a\u7684\u5f00\u53d1 \u2014\u2014 \u914d\u73af\u5883\u914d\u51e0\u5929\u8fd8\u6ca1\u5f00\u59cb\u5199\u4ee3\u7801\u3002","title":"\u73af\u5883\u914d\u7f6e"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#pc","text":"\u5982\u679c\u4f60\u662f Mac \u7528\u6237\uff0c\u90a3\u4e48\u4f60\u5f88\u5e78\u8fd0\uff0c\u8fd9\u4efd \u6307\u5357 \u5c06\u4f1a\u624b\u628a\u624b\u5730\u5e26\u4f60\u642d\u5efa\u8d77\u6574\u5957\u5f00\u53d1\u73af\u5883\u3002\u5982\u679c\u4f60\u662f Windows \u7528\u6237\uff0c\u5728\u5f00\u6e90\u793e\u533a\u7684\u52aa\u529b\u4e0b\uff0c\u4f60\u540c\u6837\u53ef\u4ee5\u83b7\u5f97\u4e0e\u5176\u4ed6\u5e73\u53f0\u7c7b\u4f3c\u7684\u4f53\u9a8c\uff1a Scoop \u3002 \u53e6\u5916\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003\u4e00\u4efd\u7075\u611f\u6765\u81ea 6.NULL MIT-Missing-Semester \u7684 \u73af\u5883\u914d\u7f6e\u6307\u5357 \uff0c\u91cd\u70b9\u5728\u4e8e\u7ec8\u7aef\u7684\u7f8e\u5316\u914d\u7f6e\u3002\u6b64\u5916\u8fd8\u5305\u62ec\u5e38\u7528\u8f6f\u4ef6\u6e90\uff08\u5982 GitHub, Anaconda, PyPI \u7b49\uff09\u7684\u52a0\u901f\u4e0e\u66ff\u6362\u4ee5\u53ca\u4e00\u4e9b IDE \u7684\u914d\u7f6e\u4e0e\u6fc0\u6d3b\u6559\u7a0b\u3002","title":"PC \u7aef\u73af\u5883\u914d\u7f6e"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_4","text":"\u670d\u52a1\u5668\u7aef\u7684\u8fd0\u7ef4\u9700\u8981\u638c\u63e1 Linux\uff08\u6216\u8005\u5176\u4ed6\u7c7b Unix \u7cfb\u7edf\uff09\u7684\u57fa\u672c\u4f7f\u7528\u4ee5\u53ca\u8fdb\u7a0b\u3001\u8bbe\u5907\u3001\u7f51\u7edc\u7b49\u7cfb\u7edf\u76f8\u5173\u7684\u57fa\u672c\u6982\u5ff5\uff0c\u5c0f\u767d\u53ef\u4ee5\u53c2\u8003\u4e2d\u56fd\u79d1\u5b66\u6280\u672f\u5927\u5b66 Linux \u7528\u6237\u534f\u4f1a\u7f16\u5199\u7684 \u300aLinux 101\u300b\u5728\u7ebf\u8bb2\u4e49 \u3002\u5982\u679c\u60f3\u6df1\u5165\u5b66\u4e60\u7cfb\u7edf\u8fd0\u7ef4\u76f8\u5173\u7684\u77e5\u8bc6\uff0c\u53ef\u4ee5\u53c2\u8003 Aspects of System Administration \u8fd9\u95e8\u8bfe\u7a0b\u3002 \u53e6\u5916\uff0c\u5982\u679c\u9700\u8981\u5b66\u4e60\u67d0\u4e2a\u5177\u4f53\u7684\u6982\u5ff5\u6216\u5de5\u5177\uff0c\u63a8\u8350\u4e00\u4e2a\u975e\u5e38\u4e0d\u9519\u7684 GitHub \u9879\u76ee DevOps-Guide \uff0c\u5176\u4e2d\u6db5\u76d6\u4e86\u975e\u5e38\u591a\u7684\u8fd0\u7ef4\u65b9\u9762\u7684\u57fa\u7840\u77e5\u8bc6\u548c\u6559\u7a0b\uff0c\u4f8b\u5982 Docker, Kubernetes, Linux, CI-CD, GitHub Actions \u7b49\u7b49\u3002","title":"\u670d\u52a1\u5668\u7aef\u73af\u5883\u914d\u7f6e"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_5","text":"\u6b63\u5982\u8fd9\u7ae0\u5f00\u5934\u63d0\u5230\u7684\uff0c\u8fd9\u4efd\u8bfe\u7a0b\u5730\u56fe\u4ec5\u4ec5\u662f\u4e00\u4e2a \u4ec5\u4f9b\u53c2\u8003 \u7684\u8bfe\u7a0b\u89c4\u5212\uff0c\u6211\u4f5c\u4e3a\u4e00\u4e2a\u4e34\u8fd1\u6bd5\u4e1a\u7684\u672c\u79d1\u751f\u3002\u6df1\u611f\u81ea\u5df1\u6ca1\u6709\u6743\u5229\u4e5f\u6ca1\u6709\u80fd\u529b\u5411\u522b\u4eba\u5ba3\u626c\u201c\u5e94\u8be5\u600e\u4e48\u5b66\u201d\u3002\u56e0\u6b64\u5982\u679c\u4f60\u89c9\u5f97\u4ee5\u4e0b\u7684\u8bfe\u7a0b\u5206\u7c7b\u4e0e\u9009\u62e9\u6709\u4e0d\u5408\u7406\u4e4b\u5904\uff0c\u6211\u5168\u76d8\u63a5\u53d7\uff0c\u5e76\u6df1\u611f\u62b1\u6b49\u3002\u4f60\u53ef\u4ee5\u5728\u4e0b\u4e00\u8282 \u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe \u4ee5\u4e0b\u8bfe\u7a0b\u7c7b\u522b\u4e2d\u9664\u4e86\u542b\u6709 \u57fa\u7840 \u548c \u5165\u95e8 \u5b57\u773c\u7684\u4ee5\u5916\uff0c\u5e76\u65e0\u660e\u786e\u7684\u5148\u540e\u6b21\u5e8f\uff0c\u5927\u5bb6\u53ea\u8981\u6ee1\u8db3\u67d0\u4e2a\u8bfe\u7a0b\u7684\u5148\u4fee\u8981\u6c42\uff0c\u5b8c\u5168\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u8981\u548c\u559c\u597d\u9009\u62e9\u60f3\u8981\u5b66\u4e60\u7684\u8bfe\u7a0b\u3002","title":"\u8bfe\u7a0b\u5730\u56fe"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_6","text":"","title":"\u6570\u5b66\u57fa\u7840"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_7","text":"\u4f5c\u4e3a\u5927\u4e00\u65b0\u751f\uff0c\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u662f\u548c\u5199\u4ee3\u7801\u81f3\u5c11\u540c\u7b49\u91cd\u8981\u7684\u4e8b\u60c5\uff0c\u76f8\u4fe1\u5df2\u7ecf\u6709\u65e0\u6570\u7684\u524d\u4eba\u7ecf\u9a8c\u63d0\u5230\u8fc7\u8fd9\u4e00\u70b9\uff0c\u4f46\u6211\u8fd8\u662f\u8981\u4e0d\u538c\u5176\u70e6\u5730\u518d\u5f3a\u8c03\u4e00\u904d\uff1a\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u771f\u7684\u5f88\u91cd\u8981\uff01\u4f60\u4e5f\u8bb8\u4f1a\u5410\u69fd\u8fd9\u4e9b\u4e1c\u897f\u5c82\u4e0d\u662f\u8003\u5b8c\u5c31\u5fd8\uff0c\u90a3\u6211\u89c9\u5f97\u4f60\u662f\u5e76\u6ca1\u6709\u628a\u63e1\u4f4f\u5b83\u4eec\u672c\u8d28\uff0c\u5bf9\u5b83\u4eec\u7684\u7406\u89e3\u8fd8\u6ca1\u6709\u8fbe\u5230\u523b\u9aa8\u94ed\u5fc3\u7684\u7a0b\u5ea6\u3002\u5982\u679c\u89c9\u5f97\u8001\u5e08\u8bfe\u4e0a\u8bb2\u7684\u5185\u5bb9\u6666\u6da9\u96be\u61c2\uff0c\u4e0d\u59a8\u53c2\u8003 MIT \u7684 Calculus Course \u548c 18.06: Linear Algebra \u7684\u8bfe\u7a0b notes\uff0c\u81f3\u5c11\u4e8e\u6211\u800c\u8a00\uff0c\u5b83\u5e2e\u52a9\u6211\u6df1\u523b\u7406\u89e3\u4e86\u5fae\u79ef\u5206\u548c\u7ebf\u6027\u4ee3\u6570\u7684\u8bb8\u591a\u672c\u8d28\u3002\u987a\u9053\u518d\u5b89\u5229\u4e00\u4e2a\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \uff0c\u4ed6\u7684\u9891\u9053\u6709\u5f88\u591a\u7528\u751f\u52a8\u5f62\u8c61\u7684\u52a8\u753b\u9610\u91ca\u6570\u5b66\u672c\u8d28\u5185\u6838\u7684\u89c6\u9891\uff0c\u517c\u5177\u6df1\u5ea6\u548c\u5e7f\u5ea6\uff0c\u8d28\u91cf\u975e\u5e38\u9ad8\u3002","title":"\u5fae\u79ef\u5206\u4e0e\u7ebf\u6027\u4ee3\u6570"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_8","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u53ca\u65e9\u4e86\u89e3\u4e00\u4e9b\u4fe1\u606f\u8bba\u7684\u57fa\u7840\u77e5\u8bc6\uff0c\u6211\u89c9\u5f97\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u4f46\u5927\u591a\u4fe1\u606f\u8bba\u8bfe\u7a0b\u90fd\u9762\u5411\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u751a\u81f3\u7814\u7a76\u751f\uff0c\u5bf9\u65b0\u624b\u6781\u4e0d\u53cb\u597d\u3002\u800c MIT \u7684 6.050J: Information theory and Entropy \u8fd9\u95e8\u8bfe\u6b63\u662f\u4e3a\u5927\u4e00\u65b0\u751f\u91cf\u8eab\u5b9a\u5236\u7684\uff0c\u51e0\u4e4e\u6ca1\u6709\u5148\u4fee\u8981\u6c42\uff0c\u6db5\u76d6\u4e86\u7f16\u7801\u3001\u538b\u7f29\u3001\u901a\u4fe1\u3001\u4fe1\u606f\u71b5\u7b49\u7b49\u5185\u5bb9\uff0c\u975e\u5e38\u6709\u8da3\u3002","title":"\u4fe1\u606f\u8bba\u5165\u95e8"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_9","text":"","title":"\u6570\u5b66\u8fdb\u9636"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_10","text":"\u96c6\u5408\u8bba\u3001\u56fe\u8bba\u3001\u6982\u7387\u8bba\u7b49\u7b49\u662f\u7b97\u6cd5\u63a8\u5bfc\u4e0e\u8bc1\u660e\u7684\u91cd\u8981\u5de5\u5177\uff0c\u4e5f\u662f\u540e\u7eed\u9ad8\u9636\u6570\u5b66\u8bfe\u7a0b\u7684\u57fa\u7840\u3002\u4f46\u6211\u89c9\u5f97\u8fd9\u7c7b\u8bfe\u7a0b\u7684\u8bb2\u6388\u5f88\u5bb9\u6613\u843d\u5165\u7406\u8bba\u5316\u4e0e\u5f62\u5f0f\u5316\u7684\u7aa0\u81fc\uff0c\u8ba9\u8bfe\u5802\u6210\u4e3a\u5b9a\u7406\u7ed3\u8bba\u7684\u5806\u780c\uff0c\u800c\u65e0\u6cd5\u4f7f\u5b66\u751f\u6df1\u523b\u628a\u63e1\u7406\u8bba\u7684\u672c\u8d28\uff0c\u8fdb\u800c\u9020\u6210\u5b66\u4e86\u5c31\u80cc\uff0c\u8003\u4e86\u5c31\u5fd8\u7684\u602a\u5708\u3002\u5982\u679c\u80fd\u5728\u7406\u8bba\u6559\u5b66\u4e2d\u7a7f\u63d2\u7b97\u6cd5\u8fd0\u7528\u5b9e\u4f8b\uff0c\u5b66\u751f\u5728\u62d3\u5c55\u7b97\u6cd5\u77e5\u8bc6\u7684\u540c\u65f6\u4e5f\u80fd\u7aa5\u89c1\u7406\u8bba\u7684\u529b\u91cf\u548c\u9b45\u529b\u3002 UCB CS70 : discrete Math and probability theory \u548c UCB CS126 : Probability theory \u662f UC Berkeley \u7684\u6982\u7387\u8bba\u8bfe\u7a0b\uff0c\u524d\u8005\u8986\u76d6\u4e86\u79bb\u6563\u6570\u5b66\u548c\u6982\u7387\u8bba\u57fa\u7840\uff0c\u540e\u8005\u5219\u6d89\u53ca\u968f\u673a\u8fc7\u7a0b\u4ee5\u53ca\u6df1\u5165\u7684\u7406\u8bba\u5185\u5bb9\u3002\u4e24\u8005\u90fd\u975e\u5e38\u6ce8\u91cd\u7406\u8bba\u548c\u5b9e\u8df5\u7684\u7ed3\u5408\uff0c\u6709\u4e30\u5bcc\u7684\u7b97\u6cd5\u5b9e\u9645\u8fd0\u7528\u5b9e\u4f8b\uff0c\u540e\u8005\u8fd8\u6709\u5927\u91cf\u7684 Python \u7f16\u7a0b\u4f5c\u4e1a\u6765\u8ba9\u5b66\u751f\u8fd0\u7528\u6982\u7387\u8bba\u7684\u77e5\u8bc6\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u3002","title":"\u79bb\u6563\u6570\u5b66\u4e0e\u6982\u7387\u8bba"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_11","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u57f9\u517b\u8ba1\u7b97\u601d\u7ef4\u662f\u5f88\u91cd\u8981\u7684\uff0c\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u3001\u79bb\u6563\u5316\uff0c\u8ba1\u7b97\u673a\u7684\u6a21\u62df\u3001\u5206\u6790\uff0c\u662f\u4e00\u9879\u5f88\u91cd\u8981\u7684\u80fd\u529b\u3002\u800c\u8fd9\u4e24\u5e74\u5f00\u59cb\u98ce\u9761\u7684\uff0c\u7531 MIT \u6253\u9020\u7684 Julia \u7f16\u7a0b\u8bed\u8a00\u4ee5\u5176 C \u4e00\u6837\u7684\u901f\u5ea6\u548c Python \u4e00\u6837\u53cb\u597d\u7684\u8bed\u6cd5\u5728\u6570\u503c\u8ba1\u7b97\u9886\u57df\u6709\u4e00\u7edf\u5929\u4e0b\u4e4b\u52bf\uff0cMIT \u7684\u8bb8\u591a\u6570\u5b66\u8bfe\u7a0b\u4e5f\u5f00\u59cb\u7528 Julia \u4f5c\u4e3a\u6559\u5b66\u5de5\u5177\uff0c\u628a\u8270\u6df1\u7684\u6570\u5b66\u7406\u8bba\u7528\u76f4\u89c2\u6e05\u6670\u7684\u4ee3\u7801\u5c55\u793a\u51fa\u6765\u3002 ComputationalThinking \u662f MIT \u5f00\u8bbe\u7684\u4e00\u95e8\u8ba1\u7b97\u601d\u7ef4\u5165\u95e8\u8bfe\uff0c\u6240\u6709\u8bfe\u7a0b\u5185\u5bb9\u5168\u90e8\u5f00\u6e90\uff0c\u53ef\u4ee5\u5728\u8bfe\u7a0b\u7f51\u7ad9\u76f4\u63a5\u8bbf\u95ee\u3002\u8fd9\u95e8\u8bfe\u5229\u7528 Julia \u7f16\u7a0b\u8bed\u8a00\uff0c\u5728\u56fe\u50cf\u5904\u7406\u3001\u793e\u4f1a\u79d1\u5b66\u4e0e\u6570\u636e\u79d1\u5b66\u3001\u6c14\u5019\u5b66\u5efa\u6a21\u4e09\u4e2a topic \u4e0b\u5e26\u9886\u5b66\u751f\u7406\u89e3\u7b97\u6cd5\u3001\u6570\u5b66\u5efa\u6a21\u3001\u6570\u636e\u5206\u6790\u3001\u4ea4\u4e92\u8bbe\u8ba1\u3001\u56fe\u4f8b\u5c55\u793a\uff0c\u8ba9\u5b66\u751f\u4f53\u9a8c\u8ba1\u7b97\u4e0e\u79d1\u5b66\u7684\u7f8e\u5999\u7ed3\u5408\u3002\u5185\u5bb9\u867d\u7136\u4e0d\u96be\uff0c\u4f46\u7ed9\u6211\u6700\u6df1\u523b\u7684\u611f\u53d7\u5c31\u662f\uff0c\u79d1\u5b66\u7684\u9b45\u529b\u5e76\u4e0d\u662f\u6545\u5f04\u7384\u865a\u7684\u8270\u6df1\u7406\u8bba\uff0c\u4e0d\u662f\u8bd8\u5c48\u8071\u7259\u7684\u672f\u8bed\u884c\u8bdd\uff0c\u800c\u662f\u7528\u76f4\u89c2\u751f\u52a8\u7684\u6848\u4f8b\uff0c\u7528\u7b80\u7ec3\u6df1\u523b\u7684\u8bed\u8a00\uff0c\u8ba9\u6bcf\u4e2a\u666e\u901a\u4eba\u90fd\u80fd\u7406\u89e3\u3002 \u4e0a\u5b8c\u4e0a\u9762\u7684\u4f53\u9a8c\u8bfe\u4e4b\u540e\uff0c\u5982\u679c\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u4e0d\u59a8\u8bd5\u8bd5 MIT \u7684 18.330 : Introduction to numerical analysis \uff0c\u8fd9\u95e8\u8bfe\u7684\u7f16\u7a0b\u4f5c\u4e1a\u540c\u6837\u4f1a\u7528 Julia \u7f16\u7a0b\u8bed\u8a00\uff0c\u4e0d\u8fc7\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u90fd\u4e0a\u4e86\u4e00\u4e2a\u53f0\u9636\u3002\u5185\u5bb9\u6d89\u53ca\u4e86\u6d6e\u70b9\u7f16\u7801\u3001Root finding\u3001\u7ebf\u6027\u7cfb\u7edf\u3001\u5fae\u5206\u65b9\u7a0b\u7b49\u7b49\u65b9\u9762\uff0c\u6574\u95e8\u8bfe\u7684\u4e3b\u65e8\u5c31\u662f\u8ba9\u4f60\u5229\u7528\u79bb\u6563\u5316\u7684\u8ba1\u7b97\u673a\u8868\u793a\u53bb\u4f30\u8ba1\u548c\u903c\u8fd1\u4e00\u4e2a\u6570\u5b66\u4e0a\u8fde\u7eed\u7684\u6982\u5ff5\u3002\u8fd9\u95e8\u8bfe\u7684\u6559\u6388\u8fd8\u4e13\u95e8\u64b0\u5199\u4e86\u4e00\u672c\u914d\u5957\u7684\u5f00\u6e90\u6559\u6750 Fundamentals of Numerical Computation \uff0c\u91cc\u9762\u9644\u6709\u4e30\u5bcc\u7684 Julia \u4ee3\u7801\u5b9e\u4f8b\u548c\u4e25\u8c28\u7684\u516c\u5f0f\u63a8\u5bfc\u3002 \u5982\u679c\u4f60\u8fd8\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u8fd8\u6709 MIT \u7684\u6570\u503c\u5206\u6790\u7814\u7a76\u751f\u8bfe\u7a0b 18.335: Introduction to numerical method \u4f9b\u4f60\u53c2\u8003\u3002","title":"\u6570\u503c\u5206\u6790"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_12","text":"\u5982\u679c\u4e16\u95f4\u4e07\u7269\u7684\u8fd0\u52a8\u53d1\u5c55\u90fd\u80fd\u7528\u65b9\u7a0b\u6765\u523b\u753b\u548c\u63cf\u8ff0\uff0c\u8fd9\u662f\u4e00\u4ef6\u591a\u4e48\u9177\u7684\u4e8b\u60c5\u5440\uff01\u867d\u7136\u51e0\u4e4e\u4efb\u4f55\u4e00\u6240\u5b66\u6821\u7684 CS \u57f9\u517b\u65b9\u6848\u4e2d\u90fd\u6ca1\u6709\u5fae\u5206\u65b9\u7a0b\u76f8\u5173\u7684\u5fc5\u4fee\u8bfe\u7a0b\uff0c\u4f46\u6211\u8fd8\u662f\u89c9\u5f97\u638c\u63e1\u5b83\u4f1a\u8d4b\u4e88\u4f60\u4e00\u4e2a\u65b0\u7684\u89c6\u89d2\u6765\u5ba1\u89c6\u8fd9\u4e2a\u4e16\u754c\u3002 \u7531\u4e8e\u5fae\u5206\u65b9\u7a0b\u4e2d\u5f80\u5f80\u4f1a\u7528\u5230\u5f88\u591a\u590d\u53d8\u51fd\u6570\u7684\u77e5\u8bc6\uff0c\u6240\u4ee5\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003 MIT18.04: Complex variables functions \u7684\u8bfe\u7a0b notes \u6765\u8865\u9f50\u5148\u4fee\u77e5\u8bc6\u3002 MIT18.03: differential equations \u4e3b\u8981\u8986\u76d6\u4e86\u5e38\u5fae\u5206\u65b9\u7a0b\u7684\u6c42\u89e3\uff0c\u5728\u6b64\u57fa\u7840\u4e4b\u4e0a MIT18.152: Partial differential equations \u5219\u4f1a\u6df1\u5165\u504f\u5fae\u5206\u65b9\u7a0b\u7684\u5efa\u6a21\u4e0e\u6c42\u89e3\u3002\u638c\u63e1\u4e86\u5fae\u5206\u65b9\u7a0b\u8fd9\u4e00\u6709\u529b\u5de5\u5177\uff0c\u76f8\u4fe1\u5bf9\u4e8e\u4f60\u7684\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u80fd\u529b\u4ee5\u53ca\u4ece\u4f17\u591a\u566a\u58f0\u53d8\u91cf\u4e2d\u628a\u63e1\u672c\u8d28\u7684\u76f4\u89c9\u90fd\u4f1a\u6709\u5f88\u5927\u5e2e\u52a9\u3002","title":"\u5fae\u5206\u65b9\u7a0b"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_13","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u6211\u7ecf\u5e38\u542c\u5230\u6570\u5b66\u65e0\u7528\u8bba\u7684\u8bba\u65ad\uff0c\u5bf9\u6b64\u6211\u4e0d\u6562\u82df\u540c\u4f46\u4e5f\u65e0\u6743\u53cd\u5bf9\uff0c\u4f46\u82e5\u51e1\u4e8b\u90fd\u786c\u8981\u4e89\u51fa\u4e2a\u6709\u7528\u548c\u65e0\u7528\u7684\u533a\u522b\u6765\uff0c\u5012\u4e5f\u7740\u5b9e\u65e0\u8da3\uff0c\u56e0\u6b64\u4e0b\u9762\u8fd9\u4e9b\u9762\u5411\u9ad8\u5e74\u7ea7\u751a\u81f3\u7814\u7a76\u751f\u7684\u6570\u5b66\u8bfe\u7a0b\uff0c\u5927\u5bb6\u6309\u5174\u8da3\u81ea\u53d6\u6240\u9700\u3002","title":"\u6570\u5b66\u9ad8\u9636"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_14","text":"Standford EE364A: Convex Optimization","title":"\u51f8\u4f18\u5316"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_15","text":"MIT6.441: Information Theory","title":"\u4fe1\u606f\u8bba"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_16","text":"MIT18.650: Statistics for Applications","title":"\u5e94\u7528\u7edf\u8ba1\u5b66"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_17","text":"MIT18.781: Theory of Numbers","title":"\u521d\u7b49\u6570\u8bba"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_18","text":"Standford CS255: Cryptography","title":"\u5bc6\u7801\u5b66"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_19","text":"Languages are tools, you choose the right tool to do the right thing. Since there's no universally perfect tool, there's no universally perfect language.","title":"\u7f16\u7a0b\u5165\u95e8"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#shell","text":"MIT-Missing-Semester","title":"Shell"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#python","text":"CS50P: CS50's Introduction to Programming with Python Harvard CS50: This is CS50x UCB CS61A: Structure and Interpretation of Computer Programs","title":"Python"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#c","text":"Stanford CS106B/X: Programming Abstractions Stanford CS106L: Standard C++ Programming","title":"C++"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#rust","text":"Stanford CS110L: Safety in Systems Programming","title":"Rust"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#ocaml","text":"Cornell CS3110 textbook: Functional Programming in OCaml","title":"OCaml"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_20","text":"","title":"\u7535\u5b50\u57fa\u7840"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_21","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u4e86\u89e3\u4e00\u4e9b\u57fa\u7840\u7684\u7535\u8def\u77e5\u8bc6\uff0c\u611f\u53d7\u4ece\u4f20\u611f\u5668\u6536\u96c6\u6570\u636e\u5230\u6570\u636e\u5206\u6790\u518d\u5230\u7b97\u6cd5\u9884\u6d4b\u6574\u6761\u6d41\u6c34\u7ebf\uff0c\u5bf9\u4e8e\u540e\u7eed\u77e5\u8bc6\u7684\u5b66\u4e60\u4ee5\u53ca\u8ba1\u7b97\u601d\u7ef4\u7684\u57f9\u517b\u8fd8\u662f\u5f88\u6709\u5e2e\u52a9\u7684\u3002 EE16A&B: Designing Information Devices and Systems I&II \u662f\u4f2f\u514b\u5229 EE \u5b66\u751f\u7684\u5927\u4e00\u5165\u95e8\u8bfe\uff0c\u5176\u4e2d EE16A \u6ce8\u91cd\u901a\u8fc7\u7535\u8def\u4ece\u5b9e\u9645\u73af\u5883\u4e2d\u6536\u96c6\u548c\u5206\u6790\u6570\u636e\uff0c\u800c EE16B \u5219\u4fa7\u91cd\u4ece\u8fd9\u4e9b\u6536\u96c6\u5230\u7684\u6570\u636e\u8fdb\u884c\u5206\u6790\u5e76\u505a\u51fa\u9884\u6d4b\u884c\u4e3a\u3002","title":"\u7535\u8def\u57fa\u7840"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_22","text":"\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u662f\u4e00\u95e8\u6211\u89c9\u5f97\u975e\u5e38\u503c\u5f97\u4e00\u4e0a\u7684\u8bfe\uff0c\u6700\u521d\u5b66\u5b83\u53ea\u662f\u4e3a\u4e86\u6ee1\u8db3\u6211\u5bf9\u5085\u91cc\u53f6\u53d8\u6362\u7684\u597d\u5947\uff0c\u4f46\u5b66\u5b8c\u4e4b\u540e\u6211\u624d\u4e0d\u7981\u611f\u53f9\uff0c\u5085\u7acb\u53f6\u53d8\u6362\u7ed9\u6211\u63d0\u4f9b\u4e86\u4e00\u4e2a\u5168\u65b0\u7684\u89c6\u89d2\u53bb\u770b\u5f85\u8fd9\u4e2a\u4e16\u754c\uff0c\u5c31\u5982\u540c\u5fae\u5206\u65b9\u7a0b\u4e00\u6837\uff0c\u8ba9\u4f60\u6c89\u6d78\u5728\u7528\u6570\u5b66\u53bb\u7cbe\u786e\u63cf\u7ed8\u548c\u523b\u753b\u8fd9\u4e2a\u4e16\u754c\u7684\u4f18\u96c5\u4e0e\u795e\u5947\u4e4b\u4e2d\u3002 MIT 6.003: signal and systems \u63d0\u4f9b\u4e86\u5168\u90e8\u7684\u8bfe\u7a0b\u5f55\u5f71\u3001\u4e66\u9762\u4f5c\u4e1a\u4ee5\u53ca\u7b54\u6848\u3002\u4e5f\u53ef\u4ee5\u53bb\u770b\u8fd9\u95e8\u8bfe\u7684 \u8fdc\u53e4\u7248\u672c \u800c UCB EE120: Signal and Systems \u5173\u4e8e\u5085\u7acb\u53f6\u53d8\u6362\u7684 notes \u5199\u5f97\u975e\u5e38\u597d\uff0c\u5e76\u4e14\u63d0\u4f9b\u4e866 \u4e2a\u975e\u5e38\u6709\u8da3\u7684 Python \u7f16\u7a0b\u4f5c\u4e1a\uff0c\u8ba9\u4f60\u5b9e\u8df5\u4e2d\u8fd0\u7528\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u7684\u7406\u8bba\u4e0e\u7b97\u6cd5\u3002","title":"\u4fe1\u53f7\u4e0e\u7cfb\u7edf"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_23","text":"\u7b97\u6cd5\u662f\u8ba1\u7b97\u673a\u79d1\u5b66\u7684\u6838\u5fc3\uff0c\u4e5f\u662f\u51e0\u4e4e\u4e00\u5207\u4e13\u4e1a\u8bfe\u7a0b\u7684\u57fa\u7840\u3002\u5982\u4f55\u5c06\u5b9e\u9645\u95ee\u9898\u901a\u8fc7\u6570\u5b66\u62bd\u8c61\u8f6c\u5316\u4e3a\u7b97\u6cd5\u95ee\u9898\uff0c\u5e76\u9009\u7528\u5408\u9002\u7684\u6570\u636e\u7ed3\u6784\u5728\u65f6\u95f4\u548c\u5185\u5b58\u5927\u5c0f\u7684\u9650\u5236\u4e0b\u5c06\u5176\u89e3\u51b3\u662f\u7b97\u6cd5\u8bfe\u7684\u6c38\u6052\u4e3b\u9898\u3002\u5982\u679c\u4f60\u53d7\u591f\u4e86\u8001\u5e08\u7684\u7167\u672c\u5ba3\u79d1\uff0c\u90a3\u4e48\u6211\u5f3a\u70c8\u63a8\u8350\u4f2f\u514b\u5229\u7684 UCB CS61B: Data Structures and Algorithms \u548c\u666e\u6797\u65af\u987f\u7684 Coursera: Algorithms I & II \uff0c\u8fd9\u4e24\u95e8\u8bfe\u7684\u90fd\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\u5e76\u4e14\u4f1a\u6709\u4e30\u5bcc\u4e14\u6709\u8da3\u7684\u7f16\u7a0b\u5b9e\u9a8c\u5c06\u7406\u8bba\u4e0e\u77e5\u8bc6\u7ed3\u5408\u8d77\u6765\u3002 \u4ee5\u4e0a\u4e24\u95e8\u8bfe\u7a0b\u90fd\u662f\u57fa\u4e8e Java \u8bed\u8a00\uff0c\u5982\u679c\u4f60\u60f3\u5b66\u4e60 C/C++ \u63cf\u8ff0\u7684\u7248\u672c\uff0c\u53ef\u4ee5\u53c2\u8003\u65af\u5766\u798f\u7684\u6570\u636e\u7ed3\u6784\u4e0e\u57fa\u7840\u7b97\u6cd5\u8bfe\u7a0b Stanford CS106B/X: Programming Abstractions \u3002\u504f\u597d Python \u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60 MIT \u7684\u7b97\u6cd5\u5165\u95e8\u8bfe MIT 6.006: Introduction to Algorithms \u5bf9\u4e00\u4e9b\u66f4\u9ad8\u7ea7\u7684\u7b97\u6cd5\u4ee5\u53ca NP \u95ee\u9898\u611f\u5174\u8da3\u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60\u4f2f\u514b\u5229\u7684\u7b97\u6cd5\u8bbe\u8ba1\u4e0e\u5206\u6790\u8bfe\u7a0b UCB CS170: Efficient Algorithms and Intractable Problems \u6216\u8005 MIT \u7684\u9ad8\u9636\u7b97\u6cd5 MIT 6.046: Design and Analysis of Algorithms \u3002","title":"\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_24","text":"","title":"\u8f6f\u4ef6\u5de5\u7a0b"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_25","text":"\u4e00\u4efd\u201c\u80fd\u8dd1\u201d\u7684\u4ee3\u7801\uff0c\u548c\u4e00\u4efd\u9ad8\u8d28\u91cf\u7684\u5de5\u4e1a\u7ea7\u4ee3\u7801\u662f\u6709\u672c\u8d28\u533a\u522b\u7684\u3002\u56e0\u6b64\u6211\u975e\u5e38\u63a8\u8350\u4f4e\u5e74\u7ea7\u7684\u540c\u5b66\u5b66\u4e60\u4e00\u4e0b MIT 6.031: Software Construction \u8fd9\u95e8\u8bfe\uff0c\u5b83\u4f1a\u4ee5 Java \u8bed\u8a00\u4e3a\u57fa\u7840\uff0c\u4ee5\u4e30\u5bcc\u7ec6\u81f4\u7684\u9605\u8bfb\u6750\u6599\u548c\u7cbe\u5fc3\u8bbe\u8ba1\u7684\u7f16\u7a0b\u7ec3\u4e60\u4f20\u6388\u5982\u4f55\u7f16\u5199 \u4e0d\u6613\u51fa bug\u3001\u7b80\u660e\u6613\u61c2\u3001\u6613\u4e8e\u7ef4\u62a4\u4fee\u6539 \u7684\u9ad8\u8d28\u91cf\u4ee3\u7801\u3002\u5927\u5230\u5b8f\u89c2\u6570\u636e\u7ed3\u6784\u8bbe\u8ba1\uff0c\u5c0f\u5230\u5982\u4f55\u5199\u6ce8\u91ca\uff0c\u9075\u5faa\u8fd9\u4e9b\u524d\u4eba\u603b\u7ed3\u7684\u7ec6\u8282\u548c\u7ecf\u9a8c\uff0c\u5bf9\u4e8e\u4f60\u6b64\u540e\u7684\u7f16\u7a0b\u751f\u6daf\u5927\u6709\u88e8\u76ca\u3002","title":"\u5165\u95e8\u8bfe"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_26","text":"\u5f53\u7136\uff0c\u5982\u679c\u4f60\u60f3\u7cfb\u7edf\u6027\u5730\u4e0a\u4e00\u95e8\u8f6f\u4ef6\u5de5\u7a0b\u7684\u8bfe\u7a0b\uff0c\u90a3\u6211\u63a8\u8350\u7684\u662f\u4f2f\u514b\u5229\u7684 UCB CS169: software engineering \u3002\u4f46\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u548c\u5927\u591a\u5b66\u6821\uff08\u5305\u62ec\u8d35\u6821\uff09\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u7a0b\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4e0d\u4f1a\u6d89\u53ca\u4f20\u7edf\u7684 design and document \u6a21\u5f0f\uff0c\u5373\u5f3a\u8c03\u5404\u79cd\u7c7b\u56fe\u3001\u6d41\u7a0b\u56fe\u53ca\u6587\u6863\u8bbe\u8ba1\uff0c\u800c\u662f\u91c7\u7528\u8fd1\u4e9b\u5e74\u6d41\u884c\u8d77\u6765\u7684\u5c0f\u56e2\u961f\u5feb\u901f\u8fed\u4ee3 Agile Develepment \u5f00\u53d1\u6a21\u5f0f\u4ee5\u53ca\u5229\u7528\u4e91\u5e73\u53f0\u7684 Software as a service \u670d\u52a1\u6a21\u5f0f\u3002","title":"\u4e13\u4e1a\u8bfe"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_27","text":"","title":"\u4f53\u7cfb\u7ed3\u6784"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_28","text":"\u4ece\u5c0f\u6211\u5c31\u4e00\u76f4\u542c\u8bf4\uff0c\u8ba1\u7b97\u673a\u7684\u4e16\u754c\u662f\u7531 01 \u6784\u6210\u7684\uff0c\u6211\u4e0d\u7406\u89e3\u4f46\u5927\u53d7\u9707\u64bc\u3002\u5982\u679c\u4f60\u7684\u5185\u5fc3\u4e5f\u6000\u6709\u8fd9\u4efd\u597d\u5947\uff0c\u4e0d\u59a8\u82b1\u4e00\u5230\u4e24\u4e2a\u6708\u7684\u65f6\u95f4\u5b66\u4e60 Coursera: Nand2Tetris \u8fd9\u95e8\u65e0\u95e8\u69db\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002\u8fd9\u95e8\u9ebb\u96c0\u867d\u5c0f\u4e94\u810f\u4ff1\u5168\u7684\u8bfe\u7a0b\u4f1a\u4ece 01 \u5f00\u59cb\u8ba9\u4f60\u4eb2\u624b\u9020\u51fa\u4e00\u53f0\u8ba1\u7b97\u673a\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c\u4fc4\u7f57\u65af\u65b9\u5757\u5c0f\u6e38\u620f\u3002\u4e00\u95e8\u8bfe\u91cc\u6db5\u76d6\u4e86\u7f16\u8bd1\u3001\u865a\u62df\u673a\u3001\u6c47\u7f16\u3001\u4f53\u7cfb\u7ed3\u6784\u3001\u6570\u5b57\u7535\u8def\u3001\u903b\u8f91\u95e8\u7b49\u7b49\u4ece\u4e0a\u81f3\u4e0b\u3001\u4ece\u8f6f\u81f3\u786c\u7684\u5404\u7c7b\u77e5\u8bc6\uff0c\u975e\u5e38\u5168\u9762\u3002\u96be\u5ea6\u4e0a\u4e5f\u662f\u901a\u8fc7\u7cbe\u5fc3\u7684\u8bbe\u8ba1\uff0c\u7565\u53bb\u4e86\u4f17\u591a\u73b0\u4ee3\u8ba1\u7b97\u673a\u590d\u6742\u7684\u7ec6\u8282\uff0c\u63d0\u53d6\u51fa\u4e86\u6700\u6838\u5fc3\u672c\u8d28\u7684\u4e1c\u897f\uff0c\u529b\u56fe\u8ba9\u6bcf\u4e2a\u4eba\u90fd\u80fd\u7406\u89e3\u3002\u5728\u4f4e\u5e74\u7ea7\uff0c\u5982\u679c\u5c31\u80fd\u4ece\u5b8f\u89c2\u4e0a\u5efa\u7acb\u5bf9\u6574\u4e2a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7684\u9e1f\u77b0\u56fe\uff0c\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002","title":"\u5165\u95e8\u8bfe"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_29","text":"\u5f53\u7136\uff0c\u5982\u679c\u60f3\u6df1\u5165\u73b0\u4ee3\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u7684\u590d\u6742\u7ec6\u8282\uff0c\u8fd8\u5f97\u4e0a\u4e00\u95e8\u5927\u5b66\u672c\u79d1\u96be\u5ea6\u7684\u8bfe\u7a0b UCB CS61C: Great Ideas in Computer Architecture \u3002UC Berkeley \u4f5c\u4e3a RISC-V \u67b6\u6784\u7684\u53d1\u6e90\u5730\uff0c\u5728\u4f53\u7cfb\u7ed3\u6784\u9886\u57df\u7b97\u5f97\u4e0a\u9996\u5c48\u4e00\u6307\u3002\u5176\u8bfe\u7a0b\u975e\u5e38\u6ce8\u91cd\u5b9e\u8df5\uff0c\u4f60\u4f1a\u5728 Project \u4e2d\u624b\u5199\u6c47\u7f16\u6784\u9020\u795e\u7ecf\u7f51\u7edc\uff0c\u4ece\u96f6\u5f00\u59cb\u642d\u5efa\u4e00\u4e2a CPU\uff0c\u8fd9\u4e9b\u5b9e\u8df5\u90fd\u4f1a\u8ba9\u4f60\u5bf9\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u6709\u66f4\u4e3a\u6df1\u5165\u7684\u7406\u89e3\uff0c\u800c\u4e0d\u662f\u4ec5\u505c\u7559\u4e8e\u201c\u53d6\u6307\u8bd1\u7801\u6267\u884c\u8bbf\u5b58\u5199\u56de\u201d\u7684\u5355\u8c03\u80cc\u8bf5\u91cc\u3002","title":"\u4e13\u4e1a\u8bfe"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_30","text":"\u8ba1\u7b97\u673a\u7cfb\u7edf\u662f\u4e00\u4e2a\u5e9e\u6742\u800c\u6df1\u523b\u7684\u4e3b\u9898\uff0c\u5728\u6df1\u5165\u5b66\u4e60\u67d0\u4e2a\u7ec6\u5206\u9886\u57df\u4e4b\u524d\uff0c\u5bf9\u5404\u4e2a\u9886\u57df\u6709\u4e00\u4e2a\u5b8f\u89c2\u6982\u5ff5\u6027\u7684\u7406\u89e3\uff0c\u5bf9\u4e00\u4e9b\u901a\u7528\u6027\u7684\u8bbe\u8ba1\u539f\u5219\u6709\u6240\u77e5\u6653\uff0c\u4f1a\u8ba9\u4f60\u5728\u4e4b\u540e\u7684\u6df1\u5165\u5b66\u4e60\u4e2d\u4e0d\u65ad\u5f3a\u5316\u4e00\u4e9b\u6700\u4e3a\u6838\u5fc3\u4e43\u81f3\u54f2\u5b66\u7684\u6982\u5ff5\uff0c\u800c\u4e0d\u4f1a\u684e\u688f\u4e8e\u590d\u6742\u7684\u5185\u90e8\u7ec6\u8282\u548c\u5404\u79cd trick\u3002\u56e0\u4e3a\u5728\u6211\u770b\u6765\uff0c\u5b66\u4e60\u7cfb\u7edf\u6700\u5173\u952e\u7684\u8fd8\u662f\u60f3\u8ba9\u4f60\u9886\u609f\u5230\u8fd9\u4e9b\u6700\u6838\u5fc3\u7684\u4e1c\u897f\uff0c\u4ece\u800c\u80fd\u591f\u8bbe\u8ba1\u548c\u5b9e\u73b0\u51fa\u5c5e\u4e8e\u81ea\u5df1\u7684\u7cfb\u7edf\u3002 MIT6.033: System Engineering \u662f MIT \u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u4e3b\u9898\u6d89\u53ca\u4e86\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f51\u7edc\u3001\u5206\u5e03\u5f0f\u548c\u7cfb\u7edf\u5b89\u5168\uff0c\u9664\u4e86\u77e5\u8bc6\u70b9\u7684\u4f20\u6388\u5916\uff0c\u8fd9\u95e8\u8bfe\u8fd8\u4f1a\u8bb2\u6388\u4e00\u4e9b\u5199\u4f5c\u548c\u8868\u8fbe\u4e0a\u7684\u6280\u5de7\uff0c\u8ba9\u4f60\u5b66\u4f1a\u5982\u4f55\u8bbe\u8ba1\u5e76\u5411\u522b\u4eba\u4ecb\u7ecd\u548c\u5206\u6790\u81ea\u5df1\u7684\u7cfb\u7edf\u3002\u8fd9\u672c\u4e66\u914d\u5957\u7684\u6559\u6750 Principles of Computer System Design: An Introduction \u4e5f\u5199\u5f97\u975e\u5e38\u597d\uff0c\u63a8\u8350\u5927\u5bb6\u9605\u8bfb\u3002 CMU 15-213: Introduction to Computer System \u662f CMU \u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u5185\u5bb9\u8986\u76d6\u4e86\u4f53\u7cfb\u7ed3\u6784\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u94fe\u63a5\u3001\u5e76\u884c\u3001\u7f51\u7edc\u7b49\u7b49\uff0c\u517c\u5177\u5e7f\u5ea6\u548c\u6df1\u5ea6\uff0c\u914d\u5957\u7684\u6559\u6750 Computer Systems: A Programmer's Perspective \u4e5f\u662f\u8d28\u91cf\u6781\u9ad8\uff0c\u5f3a\u70c8\u5efa\u8bae\u9605\u8bfb\u3002","title":"\u7cfb\u7edf\u5165\u95e8"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_31","text":"\u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u5185\u6838\u66f4\u80fd\u52a0\u6df1\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u7684\u7406\u89e3\u4e86\u3002 \u64cd\u4f5c\u7cfb\u7edf\u4f5c\u4e3a\u5404\u7c7b\u7eb7\u7e41\u590d\u6742\u7684\u5e95\u5c42\u786c\u4ef6\u865a\u62df\u5316\u51fa\u4e00\u5957\u89c4\u8303\u4f18\u96c5\u7684\u62bd\u8c61\uff0c\u7ed9\u6240\u6709\u5e94\u7528\u8f6f\u4ef6\u63d0\u4f9b\u4e30\u5bcc\u7684\u529f\u80fd\u652f\u6301\u3002\u4e86\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u8bbe\u8ba1\u539f\u5219\u548c\u5185\u90e8\u539f\u7406\u5bf9\u4e8e\u4e00\u4e2a\u4e0d\u6ee1\u8db3\u4e8e\u5f53\u8c03\u5305\u4fa0\u7684\u7a0b\u5e8f\u5458\u6765\u8bf4\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u51fa\u4e8e\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u7684\u70ed\u7231\uff0c\u6211\u4e0a\u8fc7\u56fd\u5185\u5916\u5f88\u591a\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\uff0c\u5b83\u4eec\u5404\u6709\u4fa7\u91cd\u548c\u4f18\u52a3\uff0c\u5927\u5bb6\u53ef\u4ee5\u6839\u636e\u5174\u8da3\u5404\u53d6\u6240\u9700\u3002 MIT 6.S081: Operating System Engineering \uff0cMIT \u8457\u540d PDOS \u5b9e\u9a8c\u5ba4\u51fa\u54c1\uff0c11 \u4e2a Project \u8ba9\u4f60\u5728\u4e00\u4e2a\u5b9e\u73b0\u975e\u5e38\u4f18\u96c5\u7684\u7c7bUnix\u64cd\u4f5c\u7cfb\u7edfxv6\u4e0a\u589e\u52a0\u5404\u7c7b\u529f\u80fd\u6a21\u5757\u3002\u8fd9\u95e8\u8bfe\u4e5f\u8ba9\u6211\u6df1\u523b\u8ba4\u8bc6\u5230\uff0c\u505a\u7cfb\u7edf\u4e0d\u662f\u9760 PPT \u5ff5\u51fa\u6765\u7684\uff0c\u662f\u5f97\u51e0\u4e07\u884c\u4ee3\u7801\u4e00\u70b9\u70b9\u7d2f\u8d77\u6765\u7684\u3002 UCB CS162: Operating System \uff0c\u4f2f\u514b\u5229\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\uff0c\u91c7\u7528\u548c Stanford \u540c\u6837\u7684 Project \u2014\u2014 \u4e00\u4e2a\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf Pintos\u3002\u6211\u4f5c\u4e3a\u5317\u4eac\u5927\u5b662022\u5e74\u548c2023\u5e74\u6625\u5b63\u5b66\u671f\u64cd\u4f5c\u7cfb\u7edf\u5b9e\u9a8c\u73ed\u7684\u52a9\u6559\uff0c\u5f15\u5165\u5e76\u6539\u5584\u4e86\u8fd9\u4e2a Project\uff0c\u8bfe\u7a0b\u8d44\u6e90\u4e5f\u4f1a\u5168\u90e8\u5f00\u6e90\uff0c\u5177\u4f53\u53c2\u89c1 \u8bfe\u7a0b\u7f51\u7ad9 \u3002 NJU: Operating System Design and Implementation \uff0c\u5357\u4eac\u5927\u5b66\u7684\u848b\u708e\u5ca9\u8001\u5e08\u5f00\u8bbe\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u848b\u8001\u5e08\u4ee5\u5176\u72ec\u5230\u7684\u7cfb\u7edf\u89c6\u89d2\u7ed3\u5408\u4e30\u5bcc\u7684\u4ee3\u7801\u793a\u4f8b\u5c06\u4f17\u591a\u64cd\u4f5c\u7cfb\u7edf\u7684\u6982\u5ff5\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\uff0c\u6b64\u5916\u8fd9\u95e8\u8bfe\u7684\u5168\u90e8\u8bfe\u7a0b\u5185\u5bb9\u90fd\u662f\u4e2d\u6587\u7684\uff0c\u975e\u5e38\u65b9\u4fbf\u5927\u5bb6\u5b66\u4e60\u3002 HIT OS: Operating System \uff0c\u54c8\u5c14\u6ee8\u5de5\u4e1a\u5927\u5b66\u7684\u674e\u6cbb\u519b\u8001\u5e08\u5f00\u8bbe\u7684\u4e2d\u6587\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u674e\u8001\u5e08\u7684\u8bfe\u7a0b\u57fa\u4e8e Linux 0.11 \u6e90\u7801\uff0c\u5341\u5206\u6ce8\u91cd\u4ee3\u7801\u5b9e\u8df5\uff0c\u5e76\u7ad9\u5728\u5b66\u751f\u89c6\u89d2\u5c06\u64cd\u4f5c\u7cfb\u7edf\u7684\u6765\u9f99\u53bb\u8109\u5a13\u5a13\u9053\u6765\u3002","title":"\u64cd\u4f5c\u7cfb\u7edf"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_32","text":"\u60f3\u5fc5\u8fd9\u4e24\u5e74\u5404\u7c7b CS \u8bb2\u5ea7\u91cc\u6700\u5e38\u542c\u5230\u7684\u8bdd\u5c31\u662f\u201c\u6469\u5c14\u5b9a\u5f8b\u6b63\u5728\u8d70\u5411\u7ec8\u7ed3\u201d\uff0c\u6b64\u8bdd\u4e0d\u5047\uff0c\u5f53\u5355\u6838\u80fd\u529b\u8fbe\u5230\u4e0a\u9650\u65f6\uff0c\u591a\u6838\u4e43\u81f3\u4f17\u6838\u67b6\u6784\u5982\u65e5\u4e2d\u5929\u3002\u786c\u4ef6\u7684\u53d8\u5316\u5e26\u6765\u7684\u662f\u4e0a\u5c42\u7f16\u7a0b\u903b\u8f91\u7684\u9002\u5e94\u4e0e\u6539\u53d8\uff0c\u8981\u60f3\u5145\u5206\u5229\u7528\u786c\u4ef6\u6027\u80fd\uff0c\u7f16\u5199\u5e76\u884c\u7a0b\u5e8f\u51e0\u4e4e\u6210\u4e86\u7a0b\u5e8f\u5458\u7684\u5fc5\u5907\u6280\u80fd\u3002\u4e0e\u6b64\u540c\u65f6\uff0c\u6df1\u5ea6\u5b66\u4e60\u7684\u5174\u8d77\u5bf9\u8ba1\u7b97\u673a\u7b97\u529b\u4e0e\u5b58\u50a8\u7684\u8981\u6c42\u90fd\u8fbe\u5230\u4e86\u524d\u6240\u672a\u6709\u7684\u9ad8\u5ea6\uff0c\u5927\u89c4\u6a21\u96c6\u7fa4\u7684\u90e8\u7f72\u548c\u4f18\u5316\u4e5f\u6210\u4e3a\u70ed\u95e8\u6280\u672f\u8bdd\u9898\u3002","title":"\u5e76\u884c\u4e0e\u5206\u5e03\u5f0f\u7cfb\u7edf"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_33","text":"CMU 15-418/Stanford CS149: Parallel Computing","title":"\u5e76\u884c\u8ba1\u7b97"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_34","text":"MIT 6.824: Distributed System","title":"\u5206\u5e03\u5f0f\u7cfb\u7edf"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_35","text":"\u4e0d\u77e5\u9053\u4f60\u5f53\u5e74\u9009\u62e9\u8ba1\u7b97\u673a\u662f\u4e0d\u662f\u56e0\u4e3a\u6000\u7740\u4e00\u4e2a\u4e2d\u4e8c\u7684\u9ed1\u5ba2\u68a6\u60f3\uff0c\u4f46\u73b0\u5b9e\u5374\u662f\u6210\u4e3a\u9ed1\u5ba2\u9053\u963b\u4e14\u957f\u3002","title":"\u7cfb\u7edf\u5b89\u5168"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_36","text":"UCB CS161: Computer Security \u662f\u4f2f\u514b\u5229\u7684\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u4f1a\u6db5\u76d6\u6808\u653b\u51fb\u3001\u5bc6\u7801\u5b66\u3001\u7f51\u7ad9\u5b89\u5168\u3001\u7f51\u7edc\u5b89\u5168\u7b49\u7b49\u5185\u5bb9\u3002 ASU CSE365: Introduction to Cybersecurity \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66\u7684 Web \u5b89\u5168\u8bfe\u7a0b\uff0c\u4e3b\u8981\u6d89\u53ca\u6ce8\u5165\u3001\u6c47\u7f16\u4e0e\u5bc6\u7801\u5b66\u7684\u5185\u5bb9\u3002 ASU CSE466: Computer Systems Security \u4e9a\u5229\u6851\u90a3\u5dde\u7acb\u5927\u5b66\u7684\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u6d89\u53ca\u5185\u5bb9\u5168\u9762\u3002\u95e8\u69db\u8f83\u9ad8\uff0c\u9700\u8981\u5bf9 Linux, C \u4e0e Python \u5145\u5206\u719f\u6089\u3002","title":"\u7406\u8bba\u8bfe\u7a0b"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_37","text":"\u638c\u63e1\u8fd9\u4e9b\u7406\u8bba\u77e5\u8bc6\u4e4b\u540e\uff0c\u8fd8\u9700\u8981\u5728\u5b9e\u8df5\u4e2d\u57f9\u517b\u548c\u953b\u70bc\u8fd9\u4e9b\u201c\u9ed1\u5ba2\u7d20\u517b\u201d\u3002 CTF \u593a\u65d7\u8d5b \u662f\u4e00\u9879\u6bd4\u8f83\u70ed\u95e8\u7684\u7cfb\u7edf\u5b89\u5168\u6bd4\u8d5b\uff0c\u8d5b\u9898\u4e2d\u4f1a\u878d\u4f1a\u8d2f\u901a\u5730\u8003\u5bdf\u4f60\u5bf9\u8ba1\u7b97\u673a\u5404\u4e2a\u9886\u57df\u77e5\u8bc6\u7684\u7406\u89e3\u548c\u8fd0\u7528\u3002\u5317\u5927\u4eca\u5e74\u4e5f\u6210\u529f\u4e3e\u529e\u4e86 \u7b2c 0 \u5c4a\u548c\u7b2c 1 \u5c4a \uff0c\u9f13\u52b1\u5927\u5bb6\u540e\u671f\u8e0a\u8dc3\u53c2\u4e0e\uff0c\u5728\u5b9e\u8df5\u4e2d\u63d0\u9ad8\u81ea\u5df1\u3002\u4e0b\u9762\u5217\u4e3e\u4e00\u4e9b\u6211\u5e73\u65f6\u5b66\u4e60\uff08\u6478\u9c7c\uff09\u7528\u5230\u7684\u8d44\u6e90\uff1a CTF-wiki CTF-101 Hacker-101","title":"\u5b9e\u8df5\u8bfe\u7a0b"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_38","text":"\u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a TCP/IP \u534f\u8bae\u6808\u66f4\u80fd\u52a0\u6df1\u5bf9\u8ba1\u7b97\u673a\u7f51\u7edc\u7684\u7406\u89e3\u4e86\u3002 \u5927\u540d\u9f0e\u9f0e\u7684 Stanford CS144: Computer Network \uff0c8 \u4e2a Project \u5e26\u4f60\u5b9e\u73b0\u6574\u4e2a TCP/IP \u534f\u8bae\u6808\u3002 \u5982\u679c\u4f60\u53ea\u662f\u60f3\u5728\u7406\u8bba\u4e0a\u5bf9\u8ba1\u7b97\u673a\u7f51\u7edc\u6709\u6240\u4e86\u89e3\uff0c\u90a3\u4e48\u63a8\u8350\u8ba1\u7f51\u8457\u540d\u6559\u6750\u300a\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u300b\u7684\u914d\u5957\u5b66\u4e60\u8d44\u6e90 Computer Networking: A Top-Down Approach \u3002","title":"\u8ba1\u7b97\u673a\u7f51\u7edc"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_39","text":"\u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u5173\u7cfb\u578b\u6570\u636e\u5e93\u66f4\u80fd\u52a0\u6df1\u5bf9\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u7406\u89e3\u4e86\u3002 CMU \u7684\u8457\u540d\u6570\u636e\u5e93\u795e\u8bfe CMU 15-445: Introduction to Database System \u4f1a\u901a\u8fc7 4 \u4e2a Project \u5e26\u4f60\u4e3a\u4e00\u4e2a\u7528\u4e8e\u6559\u5b66\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93 bustub \u6dfb\u52a0\u5404\u79cd\u529f\u80fd\u3002\u5b9e\u9a8c\u7684\u8bc4\u6d4b\u6846\u67b6\u4e5f\u514d\u8d39\u5f00\u6e90\u4e86\uff0c\u975e\u5e38\u9002\u5408\u5927\u5bb6\u81ea\u5b66\u3002\u6b64\u5916\u8bfe\u7a0b\u5b9e\u9a8c\u4f1a\u7528\u5230 C++11 \u7684\u4f17\u591a\u65b0\u7279\u6027\uff0c\u4e5f\u662f\u4e00\u4e2a\u953b\u70bc C++ \u4ee3\u7801\u80fd\u529b\u7684\u597d\u673a\u4f1a\u3002 Berkeley \u4f5c\u4e3a\u8457\u540d\u5f00\u6e90\u6570\u636e\u5e93 postgres \u7684\u53d1\u6e90\u5730\u4e5f\u4e0d\u9051\u591a\u8ba9\uff0c UCB CS186: Introduction to Database System \u4f1a\u8ba9\u4f60\u7528 Java \u8bed\u8a00\u5b9e\u73b0\u4e00\u4e2a\u652f\u6301 SQL \u5e76\u53d1\u67e5\u8be2\u3001B+ \u6811\u7d22\u5f15\u548c\u6545\u969c\u6062\u590d\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3002","title":"\u6570\u636e\u5e93\u7cfb\u7edf"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_40","text":"\u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u7f16\u8bd1\u5668\u66f4\u80fd\u52a0\u6df1\u5bf9\u7f16\u8bd1\u5668\u7684\u7406\u89e3\u4e86\u3002 Stanford CS143: Compilers \u5e26\u4f60\u624b\u5199\u7f16\u8bd1\u5668\u3002","title":"\u7f16\u8bd1\u539f\u7406"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#web","text":"\u524d\u540e\u7aef\u5f00\u53d1\u5f88\u5c11\u5728\u8ba1\u7b97\u673a\u7684\u57f9\u517b\u65b9\u6848\u91cc\u88ab\u91cd\u89c6\uff0c\u4f46\u5176\u5b9e\u638c\u63e1\u8fd9\u9879\u6280\u80fd\u8fd8\u662f\u597d\u5904\u591a\u591a\u7684\uff0c\u4f8b\u5982\u642d\u5efa\u81ea\u5df1\u7684\u4e2a\u4eba\u4e3b\u9875\uff0c\u6291\u6216\u662f\u7ed9\u81ea\u5df1\u7684\u8bfe\u7a0b\u9879\u76ee\u505a\u4e00\u4e2a\u7cbe\u5f69\u7684\u5c55\u793a\u7f51\u9875\u3002","title":"Web\u5f00\u53d1"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_41","text":"MIT web development course","title":"\u4e24\u5468\u901f\u6210\u7248"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_42","text":"Stanford CS142: Web Applications","title":"\u7cfb\u7edf\u5b66\u4e60\u7248"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_43","text":"Stanford CS148 Games101 Games103 Games202","title":"\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_44","text":"\u5176\u5b9e\u6570\u636e\u79d1\u5b66\u548c\u673a\u5668\u5b66\u4e60\u4e0e\u6df1\u5ea6\u5b66\u4e60\u6709\u7740\u5f88\u7d27\u5bc6\u7684\u8054\u7cfb\uff0c\u4f46\u53ef\u80fd\u66f4\u4fa7\u91cd\u4e8e\u5b9e\u8df5\u3002Berkeley \u7684 UCB Data100: Principles and Techniques of Data Science \u901a\u8fc7\u4e30\u5bcc\u7684\u7f16\u7a0b\u7ec3\u4e60\u8ba9\u4f60\u5728\u5b9e\u8df5\u4e2d\u638c\u63e1\u5404\u7c7b\u6570\u636e\u5206\u6790\u5de5\u5177\u548c\u7b97\u6cd5\uff0c\u5e76\u5e26\u9886\u4f60\u4f53\u9a8c\u4ece\u6d77\u91cf\u7684\u6570\u636e\u96c6\u4e2d\u63d0\u53d6\u51fa\u60f3\u8981\u7684\u7ed3\u679c\uff0c\u5e76\u5bf9\u672a\u6765\u7684\u6570\u636e\u6216\u7528\u6237\u7684\u884c\u4e3a\u505a\u51fa\u76f8\u5e94\u7684\u9884\u6d4b\u3002\u4f46\u8fd9\u53ea\u662f\u4e00\u95e8\u57fa\u7840\u8bfe\uff0c\u5982\u679c\u60f3\u5b66\u4e60\u5de5\u4e1a\u7ea7\u522b\u7684\u6570\u636e\u6316\u6398\u4e0e\u5206\u6790\u6280\u672f\uff0c\u53ef\u4ee5\u5c1d\u8bd5 Stanford \u7684\u5927\u6570\u636e\u6316\u6398\u8bfe\u7a0b CS246: Mining Massive Data Sets \u3002","title":"\u6570\u636e\u79d1\u5b66"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_45","text":"\u8fd1\u5341\u5e74\u4eba\u5de5\u667a\u80fd\u5e94\u8be5\u7b97\u662f\u8ba1\u7b97\u673a\u754c\u6700\u706b\u7206\u7684\u9886\u57df\u3002\u5982\u679c\u4f60\u4e0d\u6ee1\u8db3\u4e8e\u6574\u65e5\u542c\u5404\u8def\u5a92\u4f53\u4e89\u76f8\u62a5\u9053\u4eba\u5de5\u667a\u80fd\u76f8\u5173\u7684\u8fdb\u5c55\uff0c\u800c\u60f3\u771f\u6b63\u4e00\u63a2\u7a76\u7adf\uff0c\u90a3\u4e48\u975e\u5e38\u63a8\u8350\u5b66\u4e60 Harvard \u795e\u8bfe CS50 \u7cfb\u5217\u7684\u4eba\u5de5\u667a\u80fd\u8bfe\u7a0b Harvard CS50: Introduction to AI with Python \u3002\u8bfe\u7a0b\u77ed\u5c0f\u7cbe\u608d\uff0c\u8986\u76d6\u4e86\u4f20\u7edf\u4eba\u5de5\u667a\u80fd\u9886\u57df\u7684\u51e0\u5927\u5206\u652f\uff0c\u5e76\u914d\u6709\u4e30\u5bcc\u6709\u8da3\u7684 Python \u7f16\u7a0b\u7ec3\u4e60\u6765\u5de9\u56fa\u4f60\u5bf9\u4eba\u5de5\u667a\u80fd\u7b97\u6cd5\u7684\u7406\u89e3\u3002\u7f8e\u4e2d\u4e0d\u8db3\u7684\u662f\u8fd9\u95e8\u8bfe\u56e0\u4e3a\u9762\u5411\u5728\u7ebf\u81ea\u5b66\u8005\u7684\u7f18\u6545\u5185\u5bb9\u8f83\u4e3a\u7cbe\u7b80\uff0c\u5e76\u4e14\u4e0d\u4f1a\u6d89\u53ca\u7279\u522b\u6df1\u5165\u7684\u6570\u5b66\u7406\u8bba\uff0c\u5982\u679c\u60f3\u8981\u7cfb\u7edf\u6df1\u5165\u5730\u5b66\u4e60\u8fd8\u9700\u8981\u4e00\u95e8\u672c\u79d1\u751f\u96be\u5ea6\u7684\u8bfe\u7a0b\uff0c\u4f8b\u5982 Berkeley \u7684 UCB CS188: Introduction to Artificial Intelligence \u3002\u8fd9\u95e8\u8bfe\u7684 Project \u590d\u523b\u4e86\u7ecf\u5178\u6e38\u620f\u7cd6\u8c46\u4eba\uff0c\u8ba9\u4f60\u8fd0\u7528\u4eba\u5de5\u667a\u80fd\u7b97\u6cd5\u73a9\u6e38\u620f\uff0c\u975e\u5e38\u6709\u8da3\u3002","title":"\u4eba\u5de5\u667a\u80fd"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_46","text":"\u673a\u5668\u5b66\u4e60\u9886\u57df\u8fd1\u4e9b\u5e74\u6700\u91cd\u8981\u7684\u8fdb\u5c55\u5c31\u662f\u53d1\u5c55\u51fa\u4e86\u57fa\u4e8e\u795e\u7ecf\u7f51\u7edc\u7684\u6df1\u5ea6\u5b66\u4e60\u5206\u652f\uff0c\u4f46\u5176\u5b9e\u5f88\u591a\u57fa\u4e8e\u7edf\u8ba1\u5b66\u4e60\u7684\u7b97\u6cd5\u4f9d\u7136\u5728\u6570\u636e\u5206\u6790\u9886\u57df\u6709\u7740\u5e7f\u6cdb\u7684\u5e94\u7528\u3002\u5982\u679c\u4f60\u4e4b\u524d\u4ece\u672a\u63a5\u89e6\u8fc7\u673a\u5668\u5b66\u4e60\u7684\u76f8\u5173\u77e5\u8bc6\uff0c\u800c\u4e14\u4e0d\u60f3\u4e00\u5f00\u59cb\u5c31\u9677\u5165\u8270\u6df1\u6666\u6da9\u7684\u6570\u5b66\u8bc1\u660e\uff0c\u90a3\u4e48\u4e0d\u59a8\u5148\u4ece Andrew Ng \uff08\u5434\u6069\u8fbe\uff09\u7684 Coursera: Machine Learning \u5b66\u8d77\u3002\u8fd9\u95e8\u8bfe\u5728\u673a\u5668\u5b66\u4e60\u9886\u57df\u57fa\u672c\u65e0\u4eba\u4e0d\u6653\uff0c\u5434\u6069\u8fbe\u4ee5\u5176\u6df1\u539a\u7684\u7406\u8bba\u529f\u5e95\u548c\u51fa\u8272\u7684\u8868\u8fbe\u80fd\u529b\u628a\u5f88\u591a\u8270\u6df1\u7684\u7b97\u6cd5\u8bb2\u5f97\u6df1\u5165\u6d45\u51fa\uff0c\u5e76\u4e14\u975e\u5e38\u5b9e\u7528\u3002\u5176\u914d\u5957\u7684\u4f5c\u4e1a\u4e5f\u662f\u8d28\u91cf\u76f8\u5f53\u4e0a\u4e58\uff0c\u53ef\u4ee5\u5e2e\u52a9\u4f60\u5feb\u901f\u5165\u95e8\u3002 \u4f46\u4e0a\u8fc7\u8fd9\u95e8\u8bfe\u53ea\u80fd\u8ba9\u4f60\u4ece\u5b8f\u89c2\u4e0a\u5bf9\u673a\u5668\u5b66\u4e60\u8fd9\u4e00\u9886\u57df\u6709\u4e00\u5b9a\u4e86\u89e3\uff0c\u5982\u679c\u60f3\u771f\u6b63\u7406\u89e3\u90a3\u4e9b\u201c\u795e\u5947\u201d\u7b97\u6cd5\u80cc\u540e\u7684\u6570\u5b66\u539f\u7406\u751a\u81f3\u4ece\u4e8b\u76f8\u5173\u9886\u57df\u7684\u79d1\u7814\u5de5\u4f5c\uff0c\u90a3\u4e48\u8fd8\u9700\u8981\u4e00\u95e8\u66f4\u201c\u6570\u5b66\u201d\u7684\u8bfe\u7a0b\uff0c\u4f8b\u5982 Stanford CS229: Machine Learning \u6216\u8005 UCB CS189: Introduction to Machine Learning \u3002","title":"\u673a\u5668\u5b66\u4e60"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_47","text":"\u524d\u51e0\u5e74 AlphaGo \u7684\u5927\u70ed\u8ba9\u6df1\u5ea6\u5b66\u4e60\u8fdb\u5165\u4e86\u5927\u4f17\u7684\u89c6\u91ce\uff0c\u4e0d\u5c11\u5927\u5b66\u751a\u81f3\u4e13\u95e8\u6210\u7acb\u4e86\u76f8\u5173\u4e13\u4e1a\u3002\u5f88\u591a\u8ba1\u7b97\u673a\u7684\u5176\u4ed6\u9886\u57df\u4e5f\u4f1a\u501f\u52a9\u6df1\u5ea6\u5b66\u4e60\u7684\u6280\u672f\u6765\u505a\u7814\u7a76\uff0c\u56e0\u6b64\u57fa\u672c\u4e0d\u7ba1\u4f60\u5e72\u5565\u591a\u5c11\u90fd\u4f1a\u63a5\u89e6\u5230\u4e00\u4e9b\u795e\u7ecf\u7f51\u7edc\u3001\u6df1\u5ea6\u5b66\u4e60\u76f8\u5173\u7684\u6280\u672f\u9700\u6c42\u3002\u5982\u679c\u60f3\u5feb\u901f\u5165\u95e8\uff0c\u540c\u6837\u63a8\u8350 Andrew Ng \uff08\u5434\u6069\u8fbe\uff09\u7684 Coursera: Deep Learning \uff0c\u8d28\u91cf\u65e0\u9700\u591a\u8a00\uff0cCoursera \u4e0a\u7f55\u89c1\u7684\u6ee1\u5206\u8bfe\u7a0b\u3002\u6b64\u5916\u5982\u679c\u4f60\u89c9\u5f97\u82f1\u6587\u8bfe\u7a0b\u5b66\u4e60\u8d77\u6765\u6709\u96be\u5ea6\uff0c\u63a8\u8350\u674e\u5b8f\u6bc5\u8001\u5e08\u7684 \u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\uff1a\u673a\u5668\u5b66\u4e60 \u8bfe\u7a0b\u3002\u8fd9\u95e8\u8bfe\u6253\u7740\u673a\u5668\u5b66\u4e60\u7684\u540d\u53f7\uff0c\u5374\u56ca\u62ec\u4e86\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u7684\u51e0\u4e4e\u6240\u6709\u65b9\u5411\uff0c\u975e\u5e38\u5168\u9762\uff0c\u5f88\u9002\u5408\u4f60\u4ece\u5b8f\u89c2\u4e0a\u5bf9\u8fd9\u4e2a\u9886\u57df\u6709\u4e00\u4e2a\u5927\u81f4\u7684\u4e86\u89e3\u3002\u800c\u4e14\u8001\u5e08\u672c\u4eba\u4e5f\u975e\u5e38\u5e7d\u9ed8\uff0c\u8bfe\u5802\u91d1\u53e5\u9891\u51fa\u3002 \u5f53\u7136\u56e0\u4e3a\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u53d1\u5c55\u975e\u5e38\u8fc5\u901f\uff0c\u5df2\u7ecf\u62e5\u6709\u4e86\u4f17\u591a\u7814\u7a76\u5206\u652f\uff0c\u5982\u679c\u60f3\u8981\u8fdb\u4e00\u6b65\u6df1\u5165\uff0c\u53ef\u4ee5\u6309\u9700\u5b66\u4e60\u4e0b\u9762\u7f57\u5217\u7684\u4ee3\u8868\u8bfe\u7a0b\uff0c","title":"\u6df1\u5ea6\u5b66\u4e60"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_48","text":"Stanford CS231n: CNN for Visual Recognition","title":"\u8ba1\u7b97\u673a\u89c6\u89c9"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_49","text":"Stanford CS224n: Natural Language Processing","title":"\u81ea\u7136\u8bed\u8a00\u5904\u7406"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_50","text":"Stanford CS224w: Machine Learning with Graphs","title":"\u56fe\u795e\u7ecf\u7f51\u7edc"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_51","text":"UCB CS285: Deep Reinforcement Learning","title":"\u5f3a\u5316\u5b66\u4e60"},{"location":"en/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_52","text":"\u6388\u4eba\u4ee5\u9c7c\u4e0d\u5982\u6388\u4eba\u4ee5\u6e14\u3002 \u4ee5\u4e0a\u7684\u8bfe\u7a0b\u89c4\u5212\u96be\u514d\u5e26\u6709\u5f3a\u70c8\u7684\u4e2a\u4eba\u504f\u597d\uff0c\u4e0d\u4e00\u5b9a\u9002\u5408\u6240\u6709\u4eba\uff0c\u66f4\u591a\u662f\u8d77\u5230\u629b\u7816\u5f15\u7389\u7684\u4f5c\u7528\u3002\u5982\u679c\u4f60\u60f3\u6311\u9009\u81ea\u5df1\u611f\u5174\u8da3\u7684\u65b9\u5411\u548c\u5185\u5bb9\u52a0\u4ee5\u5b66\u4e60\uff0c\u53ef\u4ee5\u53c2\u8003\u6211\u5728\u4e0b\u9762\u5217\u51fa\u6765\u7684\u8d44\u6e90\u3002 MIT OpenCourseWare : \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684\u8bfe\u7a0b\u8d44\u6e90\u5f00\u653e\u5171\u4eab\u9879\u76ee\uff0c\u6536\u5f55\u4e86\u6570\u4ee5\u5343\u8ba1\u7684\u5404\u79d1\u8bfe\u7a0b\u8d44\u6e90\uff0c\u5176\u4e2d\u8ba1\u7b97\u673a\u7c7b\u7684\u8bfe\u53f7\u662f 6.xxx\u3002 MIT CS Course List : \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002 UC Berkeley EECS Course Map : UC Berkeley \u7684 EECS \u57f9\u517b\u65b9\u6848\uff0c\u4ee5\u8bfe\u7a0b\u5730\u56fe\u7684\u65b9\u5f0f\u5c06\u5404\u95e8\u8bfe\u7a0b\u7684\u7c7b\u522b\u548c\u5148\u4fee\u5173\u7cfb\u4e00\u76ee\u4e86\u7136\u5730\u5448\u73b0\uff0c\u5176\u4e2d\u7edd\u5927\u591a\u6570\u8bfe\u7a0b\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 UC Berkeley CS Course List : UC Berkeley \u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002 Stanford CS Course List : \u65af\u5766\u798f\u7684 CS \u8bfe\u7a0b\u5217\u8868\u3002","title":"\u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe"},{"location":"en/%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/","text":"\u5982\u4f55\u4f7f\u7528\u8fd9\u672c\u4e66 \u968f\u7740\u8d21\u732e\u8005\u7684\u4e0d\u65ad\u589e\u591a\uff0c\u672c\u4e66\u7684\u5185\u5bb9\u4e5f\u4e0d\u65ad\u6269\u5c55\uff0c\u60f3\u628a\u4e66\u4e2d\u6240\u6709\u7684\u8bfe\u7a0b\u5168\u90e8\u5b66\u5b8c\u662f\u4e0d\u5207\u5b9e\u9645\u4e5f\u6ca1\u6709\u5fc5\u8981\u7684\uff0c\u751a\u81f3\u4f1a\u8d77\u5230\u4e8b\u500d\u529f\u534a\u7684\u53cd\u6548\u679c\uff0c\u5403\u529b\u800c\u4e0d\u8ba8\u597d\u3002\u4e3a\u4e86\u66f4\u597d\u5730\u8d34\u5408\u8bfb\u8005\uff0c\u8ba9\u8fd9\u672c\u4e66\u771f\u6b63\u4e3a\u4f60\u6240\u7528\uff0c\u6211\u5c06\u8bfb\u8005\u6309\u7167\u9700\u6c42\u5927\u81f4\u5206\u4e3a\u4e86\u5982\u4e0b\u4e09\u7c7b\uff0c\u5927\u5bb6\u53ef\u4ee5\u7ed3\u5408\u5207\u8eab\u5b9e\u9645\uff0c\u7cbe\u51c6\u5730\u89c4\u5212\u5c5e\u4e8e\u81ea\u5df1\u7684\u81ea\u5b66\u65b9\u6848\u3002 \u521d\u5165\u6821\u56ed \u5982\u679c\u4f60\u521a\u521a\u8fdb\u5165\u5927\u5b66\u6821\u56ed\u6216\u8005\u8fd8\u5728\u4f4e\u5e74\u7ea7\uff0c\u5e76\u4e14\u5c31\u8bfb\u7684\u662f\u8ba1\u7b97\u673a\u65b9\u5411\u6216\u8005\u60f3\u8981\u8f6c\u5230\u8ba1\u7b97\u673a\u65b9\u5411\uff0c\u90a3\u4e48\u4f60\u5f88\u5e78\u8fd0\uff0c\u56e0\u4e3a\u5b66\u4e60\u662f\u4f60\u7684\u672c\u4e1a\uff0c\u4f60\u53ef\u4ee5\u6709\u5145\u8db3\u7684\u65f6\u95f4\u548c\u81ea\u7531\u6765\u5b66\u4e60\u81ea\u5df1\u611f\u5174\u8da3\u7684\u4e1c\u897f\uff0c\u4e0d\u4f1a\u6709\u5de5\u4f5c\u7684\u538b\u529b\u548c\u751f\u6d3b\u7684\u7410\u788e\uff0c\u4e0d\u5fc5\u8fc7\u4e8e\u7ea0\u7ed3\u201c\u5b66\u4e86\u6709\u6ca1\u6709\u7528\u201d\uff0c\u201c\u80fd\u4e0d\u80fd\u627e\u5230\u5de5\u4f5c\u201d\u8fd9\u7c7b\u529f\u5229\u7684\u60f3\u6cd5\u3002\u90a3\u4e48\u8be5\u5982\u4f55\u5b89\u6392\u81ea\u5df1\u7684\u5b66\u4e1a\u5462\uff1f\u6211\u89c9\u5f97\u9996\u8981\u7684\u4e00\u70b9\u5c31\u662f\u8981\u6253\u7834\u5728\u9ad8\u4e2d\u5f62\u6210\u7684\u201c\u6309\u90e8\u5c31\u73ed\u201d\u5f0f\u7684\u88ab\u52a8\u5b66\u4e60\u3002\u4f5c\u4e3a\u4e00\u4e2a\u5c0f\u9547\u505a\u9898\u5bb6\uff0c\u6211\u6df1\u77e5\u56fd\u5185\u5927\u90e8\u5206\u9ad8\u4e2d\u4f1a\u628a\u5927\u5bb6\u4e00\u5929\u5f53\u4e2d\u7684\u6bcf\u4e00\u5206\u949f\u90fd\u5b89\u6392\u5f97\u6ee1\u6ee1\u5f53\u5f53\uff0c\u4f60\u53ea\u9700\u8981\u88ab\u52a8\u5730\u8ddf\u7740\u8bfe\u8868\u6309\u90e8\u5c31\u73ed\u5730\u5b8c\u6210\u4e00\u4e2a\u4e2a\u65e2\u5b9a\u7684\u4efb\u52a1\u3002\u53ea\u8981\u8db3\u591f\u8ba4\u771f\uff0c\u7ed3\u679c\u90fd\u4e0d\u4f1a\u592a\u5dee\u3002\u4f46\u6b65\u5165\u5927\u5b66\u7684\u6821\u95e8\uff0c\u81ea\u7531\u5ea6\u4e00\u4e0b\u5b50\u53d8\u5927\u4e86\u8bb8\u591a\u3002\u9996\u5148\u6240\u6709\u7684\u8bfe\u5916\u65f6\u95f4\u57fa\u672c\u90fd\u7531\u4f60\u81ea\u7531\u652f\u914d\uff0c\u6ca1\u6709\u4eba\u4e3a\u4f60\u6574\u7406\u77e5\u8bc6\u70b9\uff0c\u603b\u7ed3\u63d0\u7eb2\uff0c\u8003\u8bd5\u4e5f\u4e0d\u50cf\u9ad8\u4e2d\u90a3\u822c\u6a21\u5f0f\u5316\u3002\u5982\u679c\u4f60\u8fd8\u62b1\u7740\u9ad8\u4e2d\u90a3\u79cd\u201c\u4e56\u5b66\u751f\u201d\u7684\u5fc3\u6001\uff0c\u8001\u8001\u5b9e\u5b9e\u6309\u90e8\u5c31\u73ed\uff0c\u7ed3\u679c\u672a\u5fc5\u5982\u4f60\u6240\u613f\u3002\u56e0\u4e3a\u4e13\u4e1a\u57f9\u517b\u65b9\u6848\u672a\u5fc5\u5c31\u662f\u5408\u7406\uff0c\u8001\u5e08\u7684\u6559\u5b66\u672a\u5fc5\u5c31\u4f1a\u8d1f\u8d23\uff0c\u8ba4\u771f\u51fa\u5e2d\u8bfe\u5802\u672a\u5fc5\u5c31\u80fd\u542c\u61c2\uff0c\u751a\u81f3\u8003\u8bd5\u5185\u5bb9\u672a\u5fc5\u5c31\u548c\u8bb2\u7684\u6709\u5173\u7cfb\u3002\u8bf4\u53e5\u73a9\u7b11\u8bdd\uff0c\u4f60\u6216\u8bb8\u4f1a\u89c9\u5f97\u5168\u4e16\u754c\u90fd\u4e0e\u4f60\u4e3a\u654c\uff0c\u800c\u4f60\u53ea\u80fd\u6307\u671b\u81ea\u5df1\u3002 \u90a3\u4e48\u73b0\u72b6\u5c31\u662f\u8fd9\u4e48\u4e2a\u73b0\u72b6\uff0c\u4f60\u60f3\u6539\u53d8\uff0c\u4e5f\u5f97\u5148\u6d3b\u8fc7\u53bb\uff0c\u5e76\u4e14\u62e5\u6709\u8db3\u591f\u7684\u80fd\u529b\u53bb\u8d28\u7591\u5b83\u3002\u800c\u5728\u4f4e\u5e74\u7ea7\uff0c\u6253\u597d\u57fa\u7840\u5f88\u91cd\u8981\u3002\u8fd9\u91cc\u7684\u57fa\u7840\u662f\u5168\u65b9\u9762\u7684\uff0c\u8bfe\u5185\u7684\u77e5\u8bc6\u56fa\u7136\u91cd\u8981\uff0c\u4f46\u8ba1\u7b97\u673a\u5f88\u5927\u7a0b\u5ea6\u4e0a\u8fd8\u662f\u5f3a\u8c03\u5b9e\u8df5\uff0c\u56e0\u6b64\u6709\u5f88\u591a\u8bfe\u672c\u5916\u7684\u80fd\u529b\u9700\u8981\u57f9\u517b\uff0c\u800c\u8fd9\u6070\u6070\u662f\u56fd\u5185\u7684\u8ba1\u7b97\u673a\u672c\u79d1\u6559\u80b2\u5f88\u6b20\u7f3a\u7684\u4e00\u70b9\u3002\u6211\u6839\u636e\u4e2a\u4eba\u7684\u4f53\u9a8c\u603b\u7ed3\u51fa\u4e86\u4e0b\u9762\u51e0\u70b9\u5efa\u8bae\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u5176\u4e00\u5c31\u662f\u4e86\u89e3\u5982\u4f55\u5199\u201c\u4f18\u96c5\u201d\u7684\u4ee3\u7801\u3002\u56fd\u5185\u7684\u5f88\u591a\u5927\u4e00\u7f16\u7a0b\u5165\u95e8\u8bfe\u90fd\u4f1a\u8bb2\u6210\u6781\u5176\u65e0\u804a\u7684\u8bed\u6cd5\u8bfe\uff0c\u5176\u6548\u679c\u8fd8\u4e0d\u5982\u76f4\u63a5\u8ba9\u5b66\u751f\u770b\u5b98\u65b9\u6587\u6863\u3002\u4e8b\u5b9e\u4e0a\uff0c\u5728\u521a\u5f00\u59cb\u63a5\u89e6\u7f16\u7a0b\u7684\u65f6\u5019\uff0c\u8ba9\u5b66\u751f\u8bd5\u7740\u53bb\u4e86\u89e3\u4ec0\u4e48\u6837\u7684\u4ee3\u7801\u662f\u4f18\u96c5\u7684\uff0c\u4ec0\u4e48\u6837\u7684\u4ee3\u7801 \"have bad taste\" \u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u4e00\u822c\u6765\u8bf4\uff0c\u7f16\u7a0b\u5165\u95e8\u8bfe\u4f1a\u5148\u4ecb\u7ecd\u8fc7\u7a0b\u5f0f\u7f16\u7a0b\uff08\u4f8b\u5982 C \u8bed\u8a00\uff09\u3002\u4f46\u5373\u4fbf\u662f\u9762\u5411\u8fc7\u7a0b\u7f16\u7a0b\uff0c \u6a21\u5757\u5316 \u548c \u5c01\u88c5 \u7684\u601d\u60f3\u4e5f\u6781\u5176\u91cd\u8981\u3002\u5982\u679c\u4f60\u53ea\u60f3\u7740\u4ee3\u7801\u80fd\u5728 OpenJudge \u4e0a\u901a\u8fc7\uff0c\u5199\u7684\u65f6\u5019\u56fe\u7701\u4e8b\uff0c\u7528\u5927\u6bb5\u7684\u590d\u5236\u7c98\u8d34\u548c\u81c3\u80bf\u7684 main \u51fd\u6570\uff0c\u957f\u6b64\u4ee5\u5f80\uff0c\u4f60\u7684\u4ee3\u7801\u8d28\u91cf\u5c06\u4e00\u76f4\u5982\u6b64\u3002\u4e00\u65e6\u63a5\u89e6\u7a0d\u5fae\u5927\u4e00\u70b9\u7684\u9879\u76ee\uff0c\u65e0\u5c3d\u7684 debug \u548c\u6c9f\u901a\u7ef4\u62a4\u6210\u672c\u5c06\u628a\u4f60\u541e\u6ca1\u3002\u56e0\u6b64\uff0c\u5199\u4ee3\u7801\u65f6\u4e0d\u65ad\u95ee\u81ea\u5df1\uff0c\u662f\u5426\u6709\u5927\u91cf\u91cd\u590d\u7684\u4ee3\u7801\uff1f\u5f53\u524d\u51fd\u6570\u662f\u5426\u8fc7\u4e8e\u590d\u6742\uff08Linux \u63d0\u5021\u6bcf\u4e2a\u51fd\u6570\u53ea\u9700\u8981\u505a\u597d\u4e00\u4ef6\u4e8b\uff09\uff1f\u8fd9\u6bb5\u4ee3\u7801\u80fd\u62bd\u8c61\u6210\u4e00\u4e2a\u51fd\u6570\u5417\uff1f\u4e00\u5f00\u59cb\u4f60\u53ef\u80fd\u89c9\u5f97\u5f88\u4e0d\u4e60\u60ef\uff0c\u751a\u81f3\u89c9\u5f97\u8fd9\u4e48\u7b80\u5355\u7684\u9898\u9700\u8981\u5982\u6b64\u5927\u8d39\u5468\u7ae0\u5417\uff1f\u4f46\u8bb0\u4f4f\u597d\u7684\u4e60\u60ef\u662f\u65e0\u4ef7\u7684\uff0cC \u8bed\u8a00\u521d\u4e2d\u751f\u90fd\u80fd\u5b66\u4f1a\uff0c\u51ed\u4ec0\u4e48\u516c\u53f8\u8981\u62db\u4f60\u53bb\u5f53\u7a0b\u5e8f\u5458\u5462\uff1f \u5b66\u8fc7\u9762\u5411\u8fc7\u7a0b\u7f16\u7a0b\u540e\uff0c\u5927\u4e00\u4e0b\u5b66\u671f\u4e00\u822c\u4f1a\u8bb2\u9762\u5411\u5bf9\u8c61\u7f16\u7a0b\uff08\u4f8b\u5982 C++ \u6216 Java\uff09\u3002\u8fd9\u91cc\u975e\u5e38\u63a8\u8350\u5927\u5bb6\u770b MIT 6.031: Software Construction \u8fd9\u95e8\u8bfe\u7684 Notes\uff0c\u4f1a\u4ee5 Java \u8bed\u8a00\u4e3a\u4f8b\u975e\u5e38\u8be6\u7ec6\u5730\u8bb2\u89e3\u5982\u4f55\u5199\u51fa\u201c\u4f18\u96c5\u201d\u7684\u4ee3\u7801\u3002\u4f8b\u5982 Test-Driven \u7684\u5f00\u53d1\u3001\u51fd\u6570 Specification \u7684\u8bbe\u8ba1\u3001\u5f02\u5e38\u7684\u5904\u7406\u7b49\u7b49\u7b49\u7b49\u3002\u9664\u6b64\u4e4b\u5916\uff0c\u65e2\u7136\u63a5\u89e6\u4e86\u9762\u5411\u5bf9\u8c61\uff0c\u90a3\u4e48\u4e86\u89e3\u4e00\u4e9b\u5e38\u89c1\u7684\u8bbe\u8ba1\u6a21\u5f0f\u4e5f\u662f\u5f88\u6709\u5fc5\u8981\u7684\u3002\u56e0\u4e3a\u56fd\u5185\u7684\u9762\u5411\u5bf9\u8c61\u8bfe\u7a0b\u540c\u6837\u5f88\u5bb9\u6613\u53d8\u6210\u6781\u5176\u65e0\u804a\u7684\u8bed\u6cd5\u8bfe\uff0c\u8ba9\u5b66\u751f\u7ea0\u7ed3\u4e8e\u5404\u79cd\u7ee7\u627f\u7684\u8bed\u6cd5\uff0c\u751a\u81f3\u51fa\u4e00\u4e9b\u65e0\u804a\u7684\u8111\u7b4b\u6025\u8f6c\u5f2f\u4e00\u6837\u7684\u9898\u76ee\uff0c\u6b8a\u4e0d\u77e5\u8fd9\u4e9b\u4e1c\u897f\u5728\u5730\u7403\u4eba\u7684\u5f00\u53d1\u4e2d\u57fa\u672c\u4e0d\u4f1a\u7528\u5230\u3002\u9762\u5411\u5bf9\u8c61\u7684\u7cbe\u9ad3\u662f\u8ba9\u5b66\u751f\u5b66\u4f1a\u81ea\u5df1\u5c06\u5b9e\u9645\u7684\u95ee\u9898\u62bd\u8c61\u6210\u82e5\u5e72\u7c7b\u548c\u5b83\u4eec\u4e4b\u95f4\u7684\u5173\u7cfb\uff0c\u800c\u8bbe\u8ba1\u6a21\u5f0f\u5219\u662f\u524d\u4eba\u603b\u7ed3\u51fa\u6765\u7684\u4e00\u4e9b\u7cbe\u9ad3\u7684\u62bd\u8c61\u65b9\u6cd5\u3002\u8fd9\u91cc\u63a8\u8350 \u5927\u8bdd\u8bbe\u8ba1\u6a21\u5f0f \u8fd9\u672c\u4e66\uff0c\u5199\u5f97\u975e\u5e38\u6d45\u663e\u6613\u61c2\u3002 \u5176\u4e8c\u5c31\u662f\u5c1d\u8bd5\u5b66\u4e60\u4e00\u4e9b\u80fd\u63d0\u9ad8\u751f\u4ea7\u529b\u7684\u5de5\u5177\u548c\u6280\u80fd\uff0c\u4f8b\u5982 Git\u3001Shell\u3001Vim\u3002\u8fd9\u91cc\u5f3a\u70c8\u63a8\u8350\u5b66\u4e60 MIT missing semester \u8fd9\u95e8\u8bfe\uff0c\u4e5f\u8bb8\u4e00\u5f00\u59cb\u63a5\u89e6\u8fd9\u4e9b\u5de5\u5177\u7528\u8d77\u6765\u4f1a\u5f88\u4e0d\u4e60\u60ef\uff0c\u4f46\u5f3a\u8feb\u81ea\u5df1\u7528\uff0c\u719f\u7ec3\u4e4b\u540e\u5f00\u53d1\u6548\u7387\u4f1a\u76f4\u7ebf\u63d0\u9ad8\u3002\u6b64\u5916\uff0c\u8fd8\u6709\u5f88\u591a\u5e94\u7528\u4e5f\u80fd\u6781\u5927\u63d0\u9ad8\u7684\u4f60\u751f\u4ea7\u529b\u3002\u4e00\u6761\u5b9a\u5f8b\u662f\uff1a\u4e00\u5207\u9700\u8981\u8ba9\u624b\u79bb\u5f00\u952e\u76d8\u7684\u64cd\u4f5c\uff0c\u90fd\u5e94\u8be5\u60f3\u529e\u6cd5\u53bb\u9664\u3002\u4f8b\u5982\u5207\u6362\u5e94\u7528\u3001\u6253\u5f00\u6587\u4ef6\u3001\u6d4f\u89c8\u7f51\u9875\u8fd9\u4e9b\u90fd\u6709\u76f8\u5173\u63d2\u4ef6\u53ef\u4ee5\u5b9e\u73b0\u5feb\u6377\u64cd\u4f5c\uff08\u4f8b\u5982 Mac \u4e0a\u7684 Alfred \uff09\u3002\u5982\u679c\u4f60\u53d1\u73b0\u67d0\u4e2a\u64cd\u4f5c\u6bcf\u5929\u90fd\u4f1a\u7528\u5230\uff0c\u5e76\u4e14\u7528\u65f6\u8d85\u8fc71\u79d2\uff0c\u90a3\u5c31\u5e94\u8be5\u60f3\u529e\u6cd5\u628a\u5b83\u7f29\u51cf\u52300.1\u79d2\u3002\u6bd5\u7adf\u4ee5\u540e\u6570\u5341\u5e74\u4f60\u90fd\u8981\u548c\u7535\u8111\u6253\u4ea4\u9053\uff0c\u5f62\u6210\u4e00\u5957\u987a\u6ed1\u7684\u5de5\u4f5c\u6d41\u662f\u4e8b\u534a\u529f\u500d\u7684\u3002\u6700\u540e\uff0c\u5b66\u4f1a\u76f2\u6253\uff01\u5982\u679c\u4f60\u8fd8\u9700\u8981\u770b\u7740\u952e\u76d8\u6253\u5b57\uff0c\u90a3\u4e48\u8d76\u7d27\u4e0a\u7f51\u627e\u4e2a\u6559\u7a0b\u5b66\u4f1a\u76f2\u6253\uff0c\u8fd9\u5c06\u6781\u5927\u63d0\u9ad8\u4f60\u7684\u5f00\u53d1\u6548\u7387\u3002 \u5176\u4e09\u5c31\u662f\u5e73\u8861\u597d\u8bfe\u5185\u548c\u81ea\u5b66\u3002\u6211\u4eec\u8d28\u7591\u73b0\u72b6\uff0c\u4f46\u4e5f\u5f97\u9075\u5b88\u89c4\u5219\uff0c\u6bd5\u7adf\u7ee9\u70b9\u5728\u4fdd\u7814\u4e2d\u8fd8\u662f\u76f8\u5f53\u91cd\u8981\u7684\u3002\u56e0\u6b64\u5728\u5927\u4e00\uff0c\u6211\u8fd8\u662f\u5efa\u8bae\u5927\u5bb6\u5c3d\u91cf\u6309\u7167\u81ea\u5df1\u7684\u8bfe\u8868\u5b66\u4e60\uff0c\u4f46\u8f85\u4ee5\u4e00\u4e9b\u4f18\u8d28\u7684\u8bfe\u5916\u8d44\u6e90\u3002\u4f8b\u5982\u5fae\u79ef\u5206\u7ebf\u4ee3\u53ef\u4ee5\u53c2\u8003 MIT 18.01/18.02 \u548c MIT 18.06 \u7684\u8bfe\u7a0b Notes\u3002\u5047\u671f\u53ef\u4ee5\u901a\u8fc7 UCB CS61A \u6765\u5b66\u4e60 Python\u3002\u540c\u65f6\u505a\u5230\u4e0a\u9762\u7b2c\u4e00\u3001\u7b2c\u4e8c\u70b9\u8bf4\u7684\uff0c\u6ce8\u91cd\u597d\u7684\u7f16\u7a0b\u4e60\u60ef\u548c\u5b9e\u8df5\u80fd\u529b\u7684\u57f9\u517b\u3002\u5c31\u4e2a\u4eba\u7ecf\u9a8c\uff0c\u5927\u4e00\u7684\u6570\u5b66\u8bfe\u5b66\u5206\u5360\u6bd4\u76f8\u5f53\u5927\uff0c\u800c\u4e14\u6570\u5b66\u8003\u8bd5\u7684\u5185\u5bb9\u65b9\u5dee\u662f\u5f88\u5927\u7684\uff0c\u4e0d\u540c\u5b66\u6821\u4e0d\u540c\u8001\u5e08\u98ce\u683c\u8fe5\u5f02\uff0c\u81ea\u5b66\u4e5f\u8bb8\u80fd\u8ba9\u4f60\u9886\u609f\u6570\u5b66\u7684\u672c\u8d28\uff0c\u4f46\u672a\u5fc5\u80fd\u7ed9\u4f60\u4e00\u4e2a\u597d\u6210\u7ee9\u3002\u56e0\u6b64\u8003\u524d\u6700\u597d\u6709\u9488\u5bf9\u6027\u5730\u5237\u5f80\u5e74\u9898\uff0c\u5145\u5206\u5e94\u8bd5\u3002 \u5728\u5347\u5165\u5927\u4e8c\u4e4b\u540e\uff0c\u8ba1\u7b97\u673a\u65b9\u5411\u7684\u4e13\u4e1a\u8bfe\u5c06\u5c45\u591a\uff0c\u6b64\u65f6\u5927\u5bb6\u53ef\u4ee5\u5f7b\u5e95\u653e\u98de\u81ea\u6211\uff0c\u8fdb\u5165\u81ea\u5b66\u7684\u6bbf\u5802\u4e86\u3002\u5177\u4f53\u53ef\u4ee5\u53c2\u8003 \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \uff0c\u8fd9\u662f\u6211\u6839\u636e\u81ea\u5df1\u4e09\u5e74\u81ea\u5b66\u7ecf\u5386\u603b\u7ed3\u63d0\u70bc\u51fa\u6765\u7684\u5168\u5957\u6307\u5357\uff0c\u6bcf\u95e8\u8bfe\u7684\u7279\u70b9\u4ee5\u53ca\u4e3a\u4ec0\u4e48\u8981\u4e0a\u8fd9\u95e8\u8bfe\u6211\u90fd\u505a\u4e86\u7b80\u5355\u7684\u4ecb\u7ecd\u3002\u5bf9\u4e8e\u4f60\u8bfe\u8868\u4e0a\u7684\u6bcf\u4e2a\u8bfe\u7a0b\uff0c\u8fd9\u4efd\u89c4\u5212\u91cc\u5e94\u8be5\u90fd\u4f1a\u6709\u76f8\u5e94\u7684\u56fd\u5916\u8bfe\u7a0b\uff0c\u800c\u4e14\u5728\u8d28\u91cf\u4e0a\u6211\u76f8\u4fe1\u57fa\u672c\u662f\u5168\u65b9\u4f4d\u7684\u78be\u538b\u3002\u7531\u4e8e\u8ba1\u7b97\u673a\u65b9\u5411\u7684\u4e13\u4e1a\u77e5\u8bc6\u57fa\u672c\u662f\u4e00\u6837\u7684\uff0c\u800c\u4e14\u9ad8\u8d28\u91cf\u7684\u8bfe\u7a0b\u4f1a\u8ba9\u4f60\u4ece\u539f\u7406\u4e0a\u7406\u89e3\u77e5\u8bc6\u70b9\uff0c\u5bf9\u4e8e\u56fd\u5185\u5927\u591a\u7167\u672c\u5ba3\u79d1\u5f0f\u7684\u6559\u5b66\u6765\u8bf4\u57fa\u672c\u662f\u964d\u7ef4\u6253\u51fb\u3002\u4e00\u822c\u6765\u8bf4\u53ea\u8981\u8003\u524d\u5c06\u8001\u5e08\u201c\u8f9b\u82e6\u201d\u5ff5\u4e86\u4e00\u5b66\u671f\u7684 PPT \u62ff\u6765\u7a81\u51fb\u590d\u4e60\u4e24\u5929\uff0c\u53d6\u5f97\u4e00\u4e2a\u4e0d\u9519\u7684\u5377\u9762\u5206\u6570\u5e76\u4e0d\u56f0\u96be\u3002\u5982\u679c\u6709\u8bfe\u7a0b\u5927\u4f5c\u4e1a\uff0c\u5219\u53ef\u4ee5\u5c3d\u91cf\u5c06\u56fd\u5916\u8bfe\u7a0b\u7684 Lab \u6216\u8005 Project \u4fee\u6539\u4e00\u756a\u4ee5\u5e94\u4ed8\u8bfe\u5185\u7684\u9700\u8981\u3002\u6211\u5f53\u65f6\u4e0a\u64cd\u4f5c\u7cfb\u7edf\u8bfe\uff0c\u53d1\u73b0\u8001\u5e08\u8fd8\u7528\u7740\u65e9\u5df2\u88ab\u56fd\u5916\u5b66\u6821\u6dd8\u6c70\u7684\u8bfe\u7a0b\u5b9e\u9a8c\uff0c\u4fbf\u90ae\u4ef6\u8001\u5e08\u6362\u6210\u4e86\u81ea\u5df1\u6b63\u5728\u5b66\u4e60\u7684 MIT 6.S081 \u7684 xv6 Project\uff0c\u65b9\u4fbf\u81ea\u5b66\u7684\u540c\u65f6\u8fd8\u65e0\u610f\u95f4\u63a8\u52a8\u4e86\u8bfe\u7a0b\u6539\u9769\u3002\u603b\u4e4b\uff0c\u7075\u6d3b\u53d8\u901a\u662f\u7b2c\u4e00\u8981\u4e49\uff0c\u4f60\u7684\u76ee\u6807\u662f\u7528\u6700\u65b9\u4fbf\u3001\u6548\u7387\u6700\u9ad8\u7684\u65b9\u5f0f\u638c\u63e1\u77e5\u8bc6\uff0c\u6240\u6709\u4e0e\u4f60\u8fd9\u4e00\u76ee\u6807\u8fdd\u80cc\u7684\u6240\u8c13\u89c4\u5b9a\u90fd\u53ef\u4ee5\u60f3\u65b9\u8bbe\u6cd5\u5730\u53bb\u201c\u7cca\u5f04\u201d\u3002\u51ed\u7740\u8fd9\u4efd\u7cca\u5f04\u52b2\u513f\uff0c\u6211\u5927\u4e09\u4e4b\u540e\u57fa\u672c\u6ca1\u6709\u53bb\u8fc7\u7ebf\u4e0b\u8bfe\u5802\uff08\u5927\u4e8c\u75ab\u60c5\u5728\u5bb6\u5446\u4e86\u5927\u534a\u5e74\uff09\uff0c\u5bf9\u7ee9\u70b9\u4e5f\u5b8c\u5168\u6ca1\u6709\u5f71\u54cd\u3002 \u6700\u540e\uff0c\u5e0c\u671b\u5927\u5bb6\u5c11\u70b9\u6d6e\u8e81\u548c\u529f\u5229\uff0c\u591a\u4e00\u4e9b\u8010\u5fc3\u548c\u8ffd\u6c42\u3002\u5f88\u591a\u4eba\u53d1\u90ae\u4ef6\u95ee\u6211\u81ea\u5b66\u9700\u4e0d\u9700\u8981\u5f88\u5f3a\u7684\u81ea\u5236\u529b\uff0c\u6211\u89c9\u5f97\u5f97\u5173\u952e\u5f97\u770b\u4f60\u81ea\u5df1\u60f3\u8981\u4ec0\u4e48\u3002\u5982\u679c\u4f60\u4f9d\u7136\u62b1\u7740\u4f1a\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\u4fbf\u80fd\u6708\u85aa\u8fc7\u4e07\u7684\u5e7b\u60f3\uff0c\u60f3\u5206\u4e00\u676f\u4e92\u8054\u7f51\u7684\u7ea2\u5229\uff0c\u90a3\u4e48\u6211\u8bf4\u518d\u591a\u4e5f\u662f\u5e9f\u8bdd\u3002\u5176\u5b9e\u6211\u6700\u521d\u7684\u81ea\u5b66\u5e76\u6ca1\u6709\u592a\u591a\u529f\u5229\u7684\u60f3\u6cd5\uff0c\u53ea\u662f\u5355\u7eaf\u7684\u597d\u5947\u548c\u672c\u80fd\u7684\u6c42\u77e5\u6b32\u3002\u81ea\u5b66\u7684\u8fc7\u7a0b\u4e5f\u6ca1\u6709\u6240\u8c13\u7684\u201c\u5934\u60ac\u6881\uff0c\u9525\u523a\u80a1\u201d\uff0c\u8be5\u5403\u5403\uff0c\u8be5\u73a9\u73a9\uff0c\u4e0d\u77e5\u4e0d\u89c9\u624d\u53d1\u73b0\u7adf\u7136\u6512\u4e0b\u4e86\u8fd9\u4e48\u591a\u8d44\u6599\u3002\u73b0\u5982\u4eca\u4e2d\u7f8e\u7684\u5bf9\u6297\u5df2\u7136\u6210\u4e3a\u8d8b\u52bf\uff0c\u800c\u6211\u4eec\u8fd8\u5728\u201c\u5351\u5fae\u201d\u5730\u201c\u5e08\u5937\u957f\u6280\u201d\uff0c\u611f\u53f9\u56fd\u5916\u9ad8\u8d28\u91cf\u8bfe\u7a0b\u7684\u540c\u65f6\u4e5f\u65f6\u5e38\u4f1a\u6709\u4e00\u79cd\u5371\u673a\u611f\u3002\u8fd9\u4e00\u5207\u9760\u8c01\u6765\u6539\u53d8\u5462\uff1f\u9760\u7684\u662f\u521a\u521a\u5165\u884c\u7684\u4f60\u4eec\u3002\u6240\u4ee5\uff0c\u52a0\u6cb9\u5427\uff0c\u5c11\u5e74\uff01 \u5220\u7e41\u5c31\u7b80 \u5982\u679c\u4f60\u5df2\u7ecf\u672c\u79d1\u6bd5\u4e1a\u5f00\u59cb\u8bfb\u7814\u6216\u8005\u8d70\u4e0a\u4e86\u5de5\u4f5c\u5c97\u4f4d\uff0c\u4ea6\u6216\u662f\u4ece\u4e8b\u7740\u5176\u4ed6\u9886\u57df\u7684\u5de5\u4f5c\u60f3\u8981\u5229\u7528\u4e1a\u4f59\u65f6\u95f4\u8f6c\u7801\uff0c\u90a3\u4e48\u4f60\u4e5f\u8bb8\u5e76\u6ca1\u6709\u5145\u8db3\u7684\u4e1a\u4f59\u65f6\u95f4\u6765\u7cfb\u7edf\u5730\u5b66\u5b8c \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \u91cc\u7684\u5185\u5bb9\uff0c\u4f46\u53c8\u60f3\u5f25\u8865\u672c\u79d1\u65f6\u671f\u6b20\u4e0b\u7684\u57fa\u7840\u3002\u8003\u8651\u5230\u8fd9\u90e8\u5206\u8bfb\u8005\u901a\u5e38\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u7ecf\u9a8c\uff0c\u5165\u95e8\u8bfe\u7a0b\u6ca1\u6709\u5fc5\u8981\u518d\u91cd\u590d\u5b66\u4e60\u3002\u800c\u4e14\u4ece\u5b9e\u7528\u89d2\u5ea6\u6765\u8bf4\uff0c\u7531\u4e8e\u5de5\u4f5c\u7684\u5927\u4f53\u65b9\u5411\u5df2\u7ecf\u786e\u5b9a\uff0c\u786e\u5b9e\u6ca1\u6709\u592a\u5927\u5fc5\u8981\u5bf9\u4e8e\u6bcf\u4e2a\u8ba1\u7b97\u673a\u5206\u652f\u90fd\u6709\u7279\u522b\u6df1\u5165\u7684\u7814\u7a76\uff0c\u66f4\u5e94\u8be5\u4fa7\u91cd\u4e00\u4e9b\u901a\u7528\u6027\u7684\u539f\u5219\u548c\u6280\u80fd\u3002\u56e0\u6b64\u6211\u7ed3\u5408\u81ea\u8eab\u7ecf\u5386\uff0c\u9009\u53d6\u4e86\u4e2a\u4eba\u611f\u89c9\u6700\u91cd\u8981\u4e5f\u662f\u8d28\u91cf\u6700\u9ad8\u7684\u51e0\u95e8\u6838\u5fc3\u4e13\u4e1a\u8bfe\uff0c\u5e0c\u671b\u80fd\u66f4\u597d\u5730\u52a0\u6df1\u8bfb\u8005\u5bf9\u8ba1\u7b97\u673a\u7684\u7406\u89e3\u3002\u5b66\u5b8c\u8fd9\u4e9b\u8bfe\u7a0b\uff0c\u65e0\u8bba\u4f60\u5177\u4f53\u4ece\u4e8b\u7684\u662f\u4ec0\u4e48\u5de5\u4f5c\uff0c\u6211\u76f8\u4fe1\u4f60\u5c06\u4e0d\u53ef\u80fd\u6ca6\u4e3a\u4e00\u4e2a\u666e\u901a\u7684\u8c03\u5305\u4fa0\uff0c\u800c\u662f\u5bf9\u8ba1\u7b97\u673a\u7684\u5e95\u5c42\u8fd0\u884c\u903b\u8f91\u6709\u66f4\u6df1\u5165\u7684\u4e86\u89e3\u3002 \u8bfe\u7a0b\u65b9\u5411 \u8bfe\u7a0b\u540d \u79bb\u6563\u6570\u5b66\u548c\u6982\u7387\u8bba UCB CS70 : discrete Math and probability theory \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 Coursera: Algorithms I & II \u8f6f\u4ef6\u5de5\u7a0b MIT 6.031: Software Construction \u5168\u6808\u5f00\u53d1 MIT web development course \u8ba1\u7b97\u673a\u7cfb\u7edf\u5bfc\u8bba CMU CS15213: CSAPP \u4f53\u7cfb\u7ed3\u6784\u5165\u95e8 Coursera: Nand2Tetris \u4f53\u7cfb\u7ed3\u6784\u8fdb\u9636 CS61C: Great Ideas in Computer Architecture \u6570\u636e\u5e93\u539f\u7406 CMU 15-445: Introduction to Database System \u8ba1\u7b97\u673a\u7f51\u7edc Computer Networking: A Top-Down Approach \u4eba\u5de5\u667a\u80fd Harvard CS50: Introduction to AI with Python \u6df1\u5ea6\u5b66\u4e60 Coursera: Deep Learning \u5fc3\u6709\u6240\u5c5e \u5982\u679c\u4f60\u5bf9\u4e8e\u8ba1\u7b97\u673a\u9886\u57df\u7684\u6838\u5fc3\u4e13\u4e1a\u8bfe\u90fd\u638c\u63e1\u5f97\u76f8\u5f53\u624e\u5b9e\uff0c\u800c\u4e14\u5df2\u7ecf\u786e\u5b9a\u4e86\u81ea\u5df1\u7684\u5de5\u4f5c\u6216\u7814\u7a76\u65b9\u5411\uff0c\u90a3\u4e48\u4e66\u4e2d\u8fd8\u6709\u5f88\u591a\u672a\u5728 \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \u63d0\u5230\u7684\u8bfe\u7a0b\u4f9b\u4f60\u63a2\u7d22\u3002 \u968f\u7740\u8d21\u732e\u8005\u7684\u4e0d\u65ad\u589e\u591a\uff0c\u5de6\u4fa7\u7684\u76ee\u5f55\u4e2d\u5c06\u4e0d\u65ad\u589e\u52a0\u65b0\u7684\u5206\u652f\uff0c\u4f8b\u5982 \u673a\u5668\u5b66\u4e60\u8fdb\u9636 \u548c \u673a\u5668\u5b66\u4e60\u7cfb\u7edf \u3002\u5e76\u4e14\u540c\u4e00\u4e2a\u5206\u652f\u4e0b\u90fd\u6709\u82e5\u5e72\u540c\u7c7b\u578b\u8bfe\u7a0b\uff0c\u5b83\u4eec\u6765\u81ea\u4e0d\u540c\u7684\u5b66\u6821\uff0c\u6709\u7740\u4e0d\u540c\u7684\u4fa7\u91cd\u70b9\u548c\u8bfe\u7a0b\u5b9e\u9a8c\uff0c\u4f8b\u5982 \u64cd\u4f5c\u7cfb\u7edf \u5206\u652f\u4e0b\u5c31\u5305\u542b\u4e86\u9ebb\u7701\u7406\u5de5\u3001\u4f2f\u514b\u5229\u8fd8\u6709\u5357\u4eac\u5927\u5b66\u4e09\u4e2a\u5b66\u6821\u7684\u8bfe\u7a0b\u3002\u5982\u679c\u4f60\u60f3\u6df1\u8015\u4e00\u4e2a\u9886\u57df\uff0c\u90a3\u4e48\u5b66\u4e60\u8fd9\u4e9b\u540c\u7c7b\u7684\u8bfe\u7a0b\u4f1a\u7ed9\u4f60\u4e0d\u540c\u7684\u89d2\u5ea6\u6765\u770b\u5f85\u7c7b\u4f3c\u7684\u77e5\u8bc6\u3002\u540c\u65f6\uff0c\u672c\u4e66\u4f5c\u8005\u8fd8\u8ba1\u5212\u8054\u7cfb\u4e00\u4e9b\u76f8\u5173\u9886\u57df\u7684\u79d1\u7814\u5de5\u4f5c\u8005\u6765\u5206\u4eab\u67d0\u4e2a\u7ec6\u5206\u9886\u57df\u7684\u79d1\u7814\u5b66\u4e60\u8def\u5f84\uff0c\u8ba9 CS\u81ea\u5b66\u6307\u5357 \u5728\u8ffd\u6c42\u5e7f\u5ea6\u7684\u540c\u65f6\uff0c\u5b9e\u73b0\u6df1\u5ea6\u4e0a\u7684\u63d0\u9ad8\u3002 \u5982\u679c\u4f60\u60f3\u8d21\u732e\u8fd9\u65b9\u9762\u7684\u5185\u5bb9\uff0c\u6b22\u8fce\u548c\u4f5c\u8005\u90ae\u4ef6\u8054\u7cfb zhongyinmin@pku.edu.cn","title":"How To Use The Book"},{"location":"en/%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/#_1","text":"\u968f\u7740\u8d21\u732e\u8005\u7684\u4e0d\u65ad\u589e\u591a\uff0c\u672c\u4e66\u7684\u5185\u5bb9\u4e5f\u4e0d\u65ad\u6269\u5c55\uff0c\u60f3\u628a\u4e66\u4e2d\u6240\u6709\u7684\u8bfe\u7a0b\u5168\u90e8\u5b66\u5b8c\u662f\u4e0d\u5207\u5b9e\u9645\u4e5f\u6ca1\u6709\u5fc5\u8981\u7684\uff0c\u751a\u81f3\u4f1a\u8d77\u5230\u4e8b\u500d\u529f\u534a\u7684\u53cd\u6548\u679c\uff0c\u5403\u529b\u800c\u4e0d\u8ba8\u597d\u3002\u4e3a\u4e86\u66f4\u597d\u5730\u8d34\u5408\u8bfb\u8005\uff0c\u8ba9\u8fd9\u672c\u4e66\u771f\u6b63\u4e3a\u4f60\u6240\u7528\uff0c\u6211\u5c06\u8bfb\u8005\u6309\u7167\u9700\u6c42\u5927\u81f4\u5206\u4e3a\u4e86\u5982\u4e0b\u4e09\u7c7b\uff0c\u5927\u5bb6\u53ef\u4ee5\u7ed3\u5408\u5207\u8eab\u5b9e\u9645\uff0c\u7cbe\u51c6\u5730\u89c4\u5212\u5c5e\u4e8e\u81ea\u5df1\u7684\u81ea\u5b66\u65b9\u6848\u3002","title":"\u5982\u4f55\u4f7f\u7528\u8fd9\u672c\u4e66"},{"location":"en/%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/#_2","text":"\u5982\u679c\u4f60\u521a\u521a\u8fdb\u5165\u5927\u5b66\u6821\u56ed\u6216\u8005\u8fd8\u5728\u4f4e\u5e74\u7ea7\uff0c\u5e76\u4e14\u5c31\u8bfb\u7684\u662f\u8ba1\u7b97\u673a\u65b9\u5411\u6216\u8005\u60f3\u8981\u8f6c\u5230\u8ba1\u7b97\u673a\u65b9\u5411\uff0c\u90a3\u4e48\u4f60\u5f88\u5e78\u8fd0\uff0c\u56e0\u4e3a\u5b66\u4e60\u662f\u4f60\u7684\u672c\u4e1a\uff0c\u4f60\u53ef\u4ee5\u6709\u5145\u8db3\u7684\u65f6\u95f4\u548c\u81ea\u7531\u6765\u5b66\u4e60\u81ea\u5df1\u611f\u5174\u8da3\u7684\u4e1c\u897f\uff0c\u4e0d\u4f1a\u6709\u5de5\u4f5c\u7684\u538b\u529b\u548c\u751f\u6d3b\u7684\u7410\u788e\uff0c\u4e0d\u5fc5\u8fc7\u4e8e\u7ea0\u7ed3\u201c\u5b66\u4e86\u6709\u6ca1\u6709\u7528\u201d\uff0c\u201c\u80fd\u4e0d\u80fd\u627e\u5230\u5de5\u4f5c\u201d\u8fd9\u7c7b\u529f\u5229\u7684\u60f3\u6cd5\u3002\u90a3\u4e48\u8be5\u5982\u4f55\u5b89\u6392\u81ea\u5df1\u7684\u5b66\u4e1a\u5462\uff1f\u6211\u89c9\u5f97\u9996\u8981\u7684\u4e00\u70b9\u5c31\u662f\u8981\u6253\u7834\u5728\u9ad8\u4e2d\u5f62\u6210\u7684\u201c\u6309\u90e8\u5c31\u73ed\u201d\u5f0f\u7684\u88ab\u52a8\u5b66\u4e60\u3002\u4f5c\u4e3a\u4e00\u4e2a\u5c0f\u9547\u505a\u9898\u5bb6\uff0c\u6211\u6df1\u77e5\u56fd\u5185\u5927\u90e8\u5206\u9ad8\u4e2d\u4f1a\u628a\u5927\u5bb6\u4e00\u5929\u5f53\u4e2d\u7684\u6bcf\u4e00\u5206\u949f\u90fd\u5b89\u6392\u5f97\u6ee1\u6ee1\u5f53\u5f53\uff0c\u4f60\u53ea\u9700\u8981\u88ab\u52a8\u5730\u8ddf\u7740\u8bfe\u8868\u6309\u90e8\u5c31\u73ed\u5730\u5b8c\u6210\u4e00\u4e2a\u4e2a\u65e2\u5b9a\u7684\u4efb\u52a1\u3002\u53ea\u8981\u8db3\u591f\u8ba4\u771f\uff0c\u7ed3\u679c\u90fd\u4e0d\u4f1a\u592a\u5dee\u3002\u4f46\u6b65\u5165\u5927\u5b66\u7684\u6821\u95e8\uff0c\u81ea\u7531\u5ea6\u4e00\u4e0b\u5b50\u53d8\u5927\u4e86\u8bb8\u591a\u3002\u9996\u5148\u6240\u6709\u7684\u8bfe\u5916\u65f6\u95f4\u57fa\u672c\u90fd\u7531\u4f60\u81ea\u7531\u652f\u914d\uff0c\u6ca1\u6709\u4eba\u4e3a\u4f60\u6574\u7406\u77e5\u8bc6\u70b9\uff0c\u603b\u7ed3\u63d0\u7eb2\uff0c\u8003\u8bd5\u4e5f\u4e0d\u50cf\u9ad8\u4e2d\u90a3\u822c\u6a21\u5f0f\u5316\u3002\u5982\u679c\u4f60\u8fd8\u62b1\u7740\u9ad8\u4e2d\u90a3\u79cd\u201c\u4e56\u5b66\u751f\u201d\u7684\u5fc3\u6001\uff0c\u8001\u8001\u5b9e\u5b9e\u6309\u90e8\u5c31\u73ed\uff0c\u7ed3\u679c\u672a\u5fc5\u5982\u4f60\u6240\u613f\u3002\u56e0\u4e3a\u4e13\u4e1a\u57f9\u517b\u65b9\u6848\u672a\u5fc5\u5c31\u662f\u5408\u7406\uff0c\u8001\u5e08\u7684\u6559\u5b66\u672a\u5fc5\u5c31\u4f1a\u8d1f\u8d23\uff0c\u8ba4\u771f\u51fa\u5e2d\u8bfe\u5802\u672a\u5fc5\u5c31\u80fd\u542c\u61c2\uff0c\u751a\u81f3\u8003\u8bd5\u5185\u5bb9\u672a\u5fc5\u5c31\u548c\u8bb2\u7684\u6709\u5173\u7cfb\u3002\u8bf4\u53e5\u73a9\u7b11\u8bdd\uff0c\u4f60\u6216\u8bb8\u4f1a\u89c9\u5f97\u5168\u4e16\u754c\u90fd\u4e0e\u4f60\u4e3a\u654c\uff0c\u800c\u4f60\u53ea\u80fd\u6307\u671b\u81ea\u5df1\u3002 \u90a3\u4e48\u73b0\u72b6\u5c31\u662f\u8fd9\u4e48\u4e2a\u73b0\u72b6\uff0c\u4f60\u60f3\u6539\u53d8\uff0c\u4e5f\u5f97\u5148\u6d3b\u8fc7\u53bb\uff0c\u5e76\u4e14\u62e5\u6709\u8db3\u591f\u7684\u80fd\u529b\u53bb\u8d28\u7591\u5b83\u3002\u800c\u5728\u4f4e\u5e74\u7ea7\uff0c\u6253\u597d\u57fa\u7840\u5f88\u91cd\u8981\u3002\u8fd9\u91cc\u7684\u57fa\u7840\u662f\u5168\u65b9\u9762\u7684\uff0c\u8bfe\u5185\u7684\u77e5\u8bc6\u56fa\u7136\u91cd\u8981\uff0c\u4f46\u8ba1\u7b97\u673a\u5f88\u5927\u7a0b\u5ea6\u4e0a\u8fd8\u662f\u5f3a\u8c03\u5b9e\u8df5\uff0c\u56e0\u6b64\u6709\u5f88\u591a\u8bfe\u672c\u5916\u7684\u80fd\u529b\u9700\u8981\u57f9\u517b\uff0c\u800c\u8fd9\u6070\u6070\u662f\u56fd\u5185\u7684\u8ba1\u7b97\u673a\u672c\u79d1\u6559\u80b2\u5f88\u6b20\u7f3a\u7684\u4e00\u70b9\u3002\u6211\u6839\u636e\u4e2a\u4eba\u7684\u4f53\u9a8c\u603b\u7ed3\u51fa\u4e86\u4e0b\u9762\u51e0\u70b9\u5efa\u8bae\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u5176\u4e00\u5c31\u662f\u4e86\u89e3\u5982\u4f55\u5199\u201c\u4f18\u96c5\u201d\u7684\u4ee3\u7801\u3002\u56fd\u5185\u7684\u5f88\u591a\u5927\u4e00\u7f16\u7a0b\u5165\u95e8\u8bfe\u90fd\u4f1a\u8bb2\u6210\u6781\u5176\u65e0\u804a\u7684\u8bed\u6cd5\u8bfe\uff0c\u5176\u6548\u679c\u8fd8\u4e0d\u5982\u76f4\u63a5\u8ba9\u5b66\u751f\u770b\u5b98\u65b9\u6587\u6863\u3002\u4e8b\u5b9e\u4e0a\uff0c\u5728\u521a\u5f00\u59cb\u63a5\u89e6\u7f16\u7a0b\u7684\u65f6\u5019\uff0c\u8ba9\u5b66\u751f\u8bd5\u7740\u53bb\u4e86\u89e3\u4ec0\u4e48\u6837\u7684\u4ee3\u7801\u662f\u4f18\u96c5\u7684\uff0c\u4ec0\u4e48\u6837\u7684\u4ee3\u7801 \"have bad taste\" \u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u4e00\u822c\u6765\u8bf4\uff0c\u7f16\u7a0b\u5165\u95e8\u8bfe\u4f1a\u5148\u4ecb\u7ecd\u8fc7\u7a0b\u5f0f\u7f16\u7a0b\uff08\u4f8b\u5982 C \u8bed\u8a00\uff09\u3002\u4f46\u5373\u4fbf\u662f\u9762\u5411\u8fc7\u7a0b\u7f16\u7a0b\uff0c \u6a21\u5757\u5316 \u548c \u5c01\u88c5 \u7684\u601d\u60f3\u4e5f\u6781\u5176\u91cd\u8981\u3002\u5982\u679c\u4f60\u53ea\u60f3\u7740\u4ee3\u7801\u80fd\u5728 OpenJudge \u4e0a\u901a\u8fc7\uff0c\u5199\u7684\u65f6\u5019\u56fe\u7701\u4e8b\uff0c\u7528\u5927\u6bb5\u7684\u590d\u5236\u7c98\u8d34\u548c\u81c3\u80bf\u7684 main \u51fd\u6570\uff0c\u957f\u6b64\u4ee5\u5f80\uff0c\u4f60\u7684\u4ee3\u7801\u8d28\u91cf\u5c06\u4e00\u76f4\u5982\u6b64\u3002\u4e00\u65e6\u63a5\u89e6\u7a0d\u5fae\u5927\u4e00\u70b9\u7684\u9879\u76ee\uff0c\u65e0\u5c3d\u7684 debug \u548c\u6c9f\u901a\u7ef4\u62a4\u6210\u672c\u5c06\u628a\u4f60\u541e\u6ca1\u3002\u56e0\u6b64\uff0c\u5199\u4ee3\u7801\u65f6\u4e0d\u65ad\u95ee\u81ea\u5df1\uff0c\u662f\u5426\u6709\u5927\u91cf\u91cd\u590d\u7684\u4ee3\u7801\uff1f\u5f53\u524d\u51fd\u6570\u662f\u5426\u8fc7\u4e8e\u590d\u6742\uff08Linux \u63d0\u5021\u6bcf\u4e2a\u51fd\u6570\u53ea\u9700\u8981\u505a\u597d\u4e00\u4ef6\u4e8b\uff09\uff1f\u8fd9\u6bb5\u4ee3\u7801\u80fd\u62bd\u8c61\u6210\u4e00\u4e2a\u51fd\u6570\u5417\uff1f\u4e00\u5f00\u59cb\u4f60\u53ef\u80fd\u89c9\u5f97\u5f88\u4e0d\u4e60\u60ef\uff0c\u751a\u81f3\u89c9\u5f97\u8fd9\u4e48\u7b80\u5355\u7684\u9898\u9700\u8981\u5982\u6b64\u5927\u8d39\u5468\u7ae0\u5417\uff1f\u4f46\u8bb0\u4f4f\u597d\u7684\u4e60\u60ef\u662f\u65e0\u4ef7\u7684\uff0cC \u8bed\u8a00\u521d\u4e2d\u751f\u90fd\u80fd\u5b66\u4f1a\uff0c\u51ed\u4ec0\u4e48\u516c\u53f8\u8981\u62db\u4f60\u53bb\u5f53\u7a0b\u5e8f\u5458\u5462\uff1f \u5b66\u8fc7\u9762\u5411\u8fc7\u7a0b\u7f16\u7a0b\u540e\uff0c\u5927\u4e00\u4e0b\u5b66\u671f\u4e00\u822c\u4f1a\u8bb2\u9762\u5411\u5bf9\u8c61\u7f16\u7a0b\uff08\u4f8b\u5982 C++ \u6216 Java\uff09\u3002\u8fd9\u91cc\u975e\u5e38\u63a8\u8350\u5927\u5bb6\u770b MIT 6.031: Software Construction \u8fd9\u95e8\u8bfe\u7684 Notes\uff0c\u4f1a\u4ee5 Java \u8bed\u8a00\u4e3a\u4f8b\u975e\u5e38\u8be6\u7ec6\u5730\u8bb2\u89e3\u5982\u4f55\u5199\u51fa\u201c\u4f18\u96c5\u201d\u7684\u4ee3\u7801\u3002\u4f8b\u5982 Test-Driven \u7684\u5f00\u53d1\u3001\u51fd\u6570 Specification \u7684\u8bbe\u8ba1\u3001\u5f02\u5e38\u7684\u5904\u7406\u7b49\u7b49\u7b49\u7b49\u3002\u9664\u6b64\u4e4b\u5916\uff0c\u65e2\u7136\u63a5\u89e6\u4e86\u9762\u5411\u5bf9\u8c61\uff0c\u90a3\u4e48\u4e86\u89e3\u4e00\u4e9b\u5e38\u89c1\u7684\u8bbe\u8ba1\u6a21\u5f0f\u4e5f\u662f\u5f88\u6709\u5fc5\u8981\u7684\u3002\u56e0\u4e3a\u56fd\u5185\u7684\u9762\u5411\u5bf9\u8c61\u8bfe\u7a0b\u540c\u6837\u5f88\u5bb9\u6613\u53d8\u6210\u6781\u5176\u65e0\u804a\u7684\u8bed\u6cd5\u8bfe\uff0c\u8ba9\u5b66\u751f\u7ea0\u7ed3\u4e8e\u5404\u79cd\u7ee7\u627f\u7684\u8bed\u6cd5\uff0c\u751a\u81f3\u51fa\u4e00\u4e9b\u65e0\u804a\u7684\u8111\u7b4b\u6025\u8f6c\u5f2f\u4e00\u6837\u7684\u9898\u76ee\uff0c\u6b8a\u4e0d\u77e5\u8fd9\u4e9b\u4e1c\u897f\u5728\u5730\u7403\u4eba\u7684\u5f00\u53d1\u4e2d\u57fa\u672c\u4e0d\u4f1a\u7528\u5230\u3002\u9762\u5411\u5bf9\u8c61\u7684\u7cbe\u9ad3\u662f\u8ba9\u5b66\u751f\u5b66\u4f1a\u81ea\u5df1\u5c06\u5b9e\u9645\u7684\u95ee\u9898\u62bd\u8c61\u6210\u82e5\u5e72\u7c7b\u548c\u5b83\u4eec\u4e4b\u95f4\u7684\u5173\u7cfb\uff0c\u800c\u8bbe\u8ba1\u6a21\u5f0f\u5219\u662f\u524d\u4eba\u603b\u7ed3\u51fa\u6765\u7684\u4e00\u4e9b\u7cbe\u9ad3\u7684\u62bd\u8c61\u65b9\u6cd5\u3002\u8fd9\u91cc\u63a8\u8350 \u5927\u8bdd\u8bbe\u8ba1\u6a21\u5f0f \u8fd9\u672c\u4e66\uff0c\u5199\u5f97\u975e\u5e38\u6d45\u663e\u6613\u61c2\u3002 \u5176\u4e8c\u5c31\u662f\u5c1d\u8bd5\u5b66\u4e60\u4e00\u4e9b\u80fd\u63d0\u9ad8\u751f\u4ea7\u529b\u7684\u5de5\u5177\u548c\u6280\u80fd\uff0c\u4f8b\u5982 Git\u3001Shell\u3001Vim\u3002\u8fd9\u91cc\u5f3a\u70c8\u63a8\u8350\u5b66\u4e60 MIT missing semester \u8fd9\u95e8\u8bfe\uff0c\u4e5f\u8bb8\u4e00\u5f00\u59cb\u63a5\u89e6\u8fd9\u4e9b\u5de5\u5177\u7528\u8d77\u6765\u4f1a\u5f88\u4e0d\u4e60\u60ef\uff0c\u4f46\u5f3a\u8feb\u81ea\u5df1\u7528\uff0c\u719f\u7ec3\u4e4b\u540e\u5f00\u53d1\u6548\u7387\u4f1a\u76f4\u7ebf\u63d0\u9ad8\u3002\u6b64\u5916\uff0c\u8fd8\u6709\u5f88\u591a\u5e94\u7528\u4e5f\u80fd\u6781\u5927\u63d0\u9ad8\u7684\u4f60\u751f\u4ea7\u529b\u3002\u4e00\u6761\u5b9a\u5f8b\u662f\uff1a\u4e00\u5207\u9700\u8981\u8ba9\u624b\u79bb\u5f00\u952e\u76d8\u7684\u64cd\u4f5c\uff0c\u90fd\u5e94\u8be5\u60f3\u529e\u6cd5\u53bb\u9664\u3002\u4f8b\u5982\u5207\u6362\u5e94\u7528\u3001\u6253\u5f00\u6587\u4ef6\u3001\u6d4f\u89c8\u7f51\u9875\u8fd9\u4e9b\u90fd\u6709\u76f8\u5173\u63d2\u4ef6\u53ef\u4ee5\u5b9e\u73b0\u5feb\u6377\u64cd\u4f5c\uff08\u4f8b\u5982 Mac \u4e0a\u7684 Alfred \uff09\u3002\u5982\u679c\u4f60\u53d1\u73b0\u67d0\u4e2a\u64cd\u4f5c\u6bcf\u5929\u90fd\u4f1a\u7528\u5230\uff0c\u5e76\u4e14\u7528\u65f6\u8d85\u8fc71\u79d2\uff0c\u90a3\u5c31\u5e94\u8be5\u60f3\u529e\u6cd5\u628a\u5b83\u7f29\u51cf\u52300.1\u79d2\u3002\u6bd5\u7adf\u4ee5\u540e\u6570\u5341\u5e74\u4f60\u90fd\u8981\u548c\u7535\u8111\u6253\u4ea4\u9053\uff0c\u5f62\u6210\u4e00\u5957\u987a\u6ed1\u7684\u5de5\u4f5c\u6d41\u662f\u4e8b\u534a\u529f\u500d\u7684\u3002\u6700\u540e\uff0c\u5b66\u4f1a\u76f2\u6253\uff01\u5982\u679c\u4f60\u8fd8\u9700\u8981\u770b\u7740\u952e\u76d8\u6253\u5b57\uff0c\u90a3\u4e48\u8d76\u7d27\u4e0a\u7f51\u627e\u4e2a\u6559\u7a0b\u5b66\u4f1a\u76f2\u6253\uff0c\u8fd9\u5c06\u6781\u5927\u63d0\u9ad8\u4f60\u7684\u5f00\u53d1\u6548\u7387\u3002 \u5176\u4e09\u5c31\u662f\u5e73\u8861\u597d\u8bfe\u5185\u548c\u81ea\u5b66\u3002\u6211\u4eec\u8d28\u7591\u73b0\u72b6\uff0c\u4f46\u4e5f\u5f97\u9075\u5b88\u89c4\u5219\uff0c\u6bd5\u7adf\u7ee9\u70b9\u5728\u4fdd\u7814\u4e2d\u8fd8\u662f\u76f8\u5f53\u91cd\u8981\u7684\u3002\u56e0\u6b64\u5728\u5927\u4e00\uff0c\u6211\u8fd8\u662f\u5efa\u8bae\u5927\u5bb6\u5c3d\u91cf\u6309\u7167\u81ea\u5df1\u7684\u8bfe\u8868\u5b66\u4e60\uff0c\u4f46\u8f85\u4ee5\u4e00\u4e9b\u4f18\u8d28\u7684\u8bfe\u5916\u8d44\u6e90\u3002\u4f8b\u5982\u5fae\u79ef\u5206\u7ebf\u4ee3\u53ef\u4ee5\u53c2\u8003 MIT 18.01/18.02 \u548c MIT 18.06 \u7684\u8bfe\u7a0b Notes\u3002\u5047\u671f\u53ef\u4ee5\u901a\u8fc7 UCB CS61A \u6765\u5b66\u4e60 Python\u3002\u540c\u65f6\u505a\u5230\u4e0a\u9762\u7b2c\u4e00\u3001\u7b2c\u4e8c\u70b9\u8bf4\u7684\uff0c\u6ce8\u91cd\u597d\u7684\u7f16\u7a0b\u4e60\u60ef\u548c\u5b9e\u8df5\u80fd\u529b\u7684\u57f9\u517b\u3002\u5c31\u4e2a\u4eba\u7ecf\u9a8c\uff0c\u5927\u4e00\u7684\u6570\u5b66\u8bfe\u5b66\u5206\u5360\u6bd4\u76f8\u5f53\u5927\uff0c\u800c\u4e14\u6570\u5b66\u8003\u8bd5\u7684\u5185\u5bb9\u65b9\u5dee\u662f\u5f88\u5927\u7684\uff0c\u4e0d\u540c\u5b66\u6821\u4e0d\u540c\u8001\u5e08\u98ce\u683c\u8fe5\u5f02\uff0c\u81ea\u5b66\u4e5f\u8bb8\u80fd\u8ba9\u4f60\u9886\u609f\u6570\u5b66\u7684\u672c\u8d28\uff0c\u4f46\u672a\u5fc5\u80fd\u7ed9\u4f60\u4e00\u4e2a\u597d\u6210\u7ee9\u3002\u56e0\u6b64\u8003\u524d\u6700\u597d\u6709\u9488\u5bf9\u6027\u5730\u5237\u5f80\u5e74\u9898\uff0c\u5145\u5206\u5e94\u8bd5\u3002 \u5728\u5347\u5165\u5927\u4e8c\u4e4b\u540e\uff0c\u8ba1\u7b97\u673a\u65b9\u5411\u7684\u4e13\u4e1a\u8bfe\u5c06\u5c45\u591a\uff0c\u6b64\u65f6\u5927\u5bb6\u53ef\u4ee5\u5f7b\u5e95\u653e\u98de\u81ea\u6211\uff0c\u8fdb\u5165\u81ea\u5b66\u7684\u6bbf\u5802\u4e86\u3002\u5177\u4f53\u53ef\u4ee5\u53c2\u8003 \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \uff0c\u8fd9\u662f\u6211\u6839\u636e\u81ea\u5df1\u4e09\u5e74\u81ea\u5b66\u7ecf\u5386\u603b\u7ed3\u63d0\u70bc\u51fa\u6765\u7684\u5168\u5957\u6307\u5357\uff0c\u6bcf\u95e8\u8bfe\u7684\u7279\u70b9\u4ee5\u53ca\u4e3a\u4ec0\u4e48\u8981\u4e0a\u8fd9\u95e8\u8bfe\u6211\u90fd\u505a\u4e86\u7b80\u5355\u7684\u4ecb\u7ecd\u3002\u5bf9\u4e8e\u4f60\u8bfe\u8868\u4e0a\u7684\u6bcf\u4e2a\u8bfe\u7a0b\uff0c\u8fd9\u4efd\u89c4\u5212\u91cc\u5e94\u8be5\u90fd\u4f1a\u6709\u76f8\u5e94\u7684\u56fd\u5916\u8bfe\u7a0b\uff0c\u800c\u4e14\u5728\u8d28\u91cf\u4e0a\u6211\u76f8\u4fe1\u57fa\u672c\u662f\u5168\u65b9\u4f4d\u7684\u78be\u538b\u3002\u7531\u4e8e\u8ba1\u7b97\u673a\u65b9\u5411\u7684\u4e13\u4e1a\u77e5\u8bc6\u57fa\u672c\u662f\u4e00\u6837\u7684\uff0c\u800c\u4e14\u9ad8\u8d28\u91cf\u7684\u8bfe\u7a0b\u4f1a\u8ba9\u4f60\u4ece\u539f\u7406\u4e0a\u7406\u89e3\u77e5\u8bc6\u70b9\uff0c\u5bf9\u4e8e\u56fd\u5185\u5927\u591a\u7167\u672c\u5ba3\u79d1\u5f0f\u7684\u6559\u5b66\u6765\u8bf4\u57fa\u672c\u662f\u964d\u7ef4\u6253\u51fb\u3002\u4e00\u822c\u6765\u8bf4\u53ea\u8981\u8003\u524d\u5c06\u8001\u5e08\u201c\u8f9b\u82e6\u201d\u5ff5\u4e86\u4e00\u5b66\u671f\u7684 PPT \u62ff\u6765\u7a81\u51fb\u590d\u4e60\u4e24\u5929\uff0c\u53d6\u5f97\u4e00\u4e2a\u4e0d\u9519\u7684\u5377\u9762\u5206\u6570\u5e76\u4e0d\u56f0\u96be\u3002\u5982\u679c\u6709\u8bfe\u7a0b\u5927\u4f5c\u4e1a\uff0c\u5219\u53ef\u4ee5\u5c3d\u91cf\u5c06\u56fd\u5916\u8bfe\u7a0b\u7684 Lab \u6216\u8005 Project \u4fee\u6539\u4e00\u756a\u4ee5\u5e94\u4ed8\u8bfe\u5185\u7684\u9700\u8981\u3002\u6211\u5f53\u65f6\u4e0a\u64cd\u4f5c\u7cfb\u7edf\u8bfe\uff0c\u53d1\u73b0\u8001\u5e08\u8fd8\u7528\u7740\u65e9\u5df2\u88ab\u56fd\u5916\u5b66\u6821\u6dd8\u6c70\u7684\u8bfe\u7a0b\u5b9e\u9a8c\uff0c\u4fbf\u90ae\u4ef6\u8001\u5e08\u6362\u6210\u4e86\u81ea\u5df1\u6b63\u5728\u5b66\u4e60\u7684 MIT 6.S081 \u7684 xv6 Project\uff0c\u65b9\u4fbf\u81ea\u5b66\u7684\u540c\u65f6\u8fd8\u65e0\u610f\u95f4\u63a8\u52a8\u4e86\u8bfe\u7a0b\u6539\u9769\u3002\u603b\u4e4b\uff0c\u7075\u6d3b\u53d8\u901a\u662f\u7b2c\u4e00\u8981\u4e49\uff0c\u4f60\u7684\u76ee\u6807\u662f\u7528\u6700\u65b9\u4fbf\u3001\u6548\u7387\u6700\u9ad8\u7684\u65b9\u5f0f\u638c\u63e1\u77e5\u8bc6\uff0c\u6240\u6709\u4e0e\u4f60\u8fd9\u4e00\u76ee\u6807\u8fdd\u80cc\u7684\u6240\u8c13\u89c4\u5b9a\u90fd\u53ef\u4ee5\u60f3\u65b9\u8bbe\u6cd5\u5730\u53bb\u201c\u7cca\u5f04\u201d\u3002\u51ed\u7740\u8fd9\u4efd\u7cca\u5f04\u52b2\u513f\uff0c\u6211\u5927\u4e09\u4e4b\u540e\u57fa\u672c\u6ca1\u6709\u53bb\u8fc7\u7ebf\u4e0b\u8bfe\u5802\uff08\u5927\u4e8c\u75ab\u60c5\u5728\u5bb6\u5446\u4e86\u5927\u534a\u5e74\uff09\uff0c\u5bf9\u7ee9\u70b9\u4e5f\u5b8c\u5168\u6ca1\u6709\u5f71\u54cd\u3002 \u6700\u540e\uff0c\u5e0c\u671b\u5927\u5bb6\u5c11\u70b9\u6d6e\u8e81\u548c\u529f\u5229\uff0c\u591a\u4e00\u4e9b\u8010\u5fc3\u548c\u8ffd\u6c42\u3002\u5f88\u591a\u4eba\u53d1\u90ae\u4ef6\u95ee\u6211\u81ea\u5b66\u9700\u4e0d\u9700\u8981\u5f88\u5f3a\u7684\u81ea\u5236\u529b\uff0c\u6211\u89c9\u5f97\u5f97\u5173\u952e\u5f97\u770b\u4f60\u81ea\u5df1\u60f3\u8981\u4ec0\u4e48\u3002\u5982\u679c\u4f60\u4f9d\u7136\u62b1\u7740\u4f1a\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\u4fbf\u80fd\u6708\u85aa\u8fc7\u4e07\u7684\u5e7b\u60f3\uff0c\u60f3\u5206\u4e00\u676f\u4e92\u8054\u7f51\u7684\u7ea2\u5229\uff0c\u90a3\u4e48\u6211\u8bf4\u518d\u591a\u4e5f\u662f\u5e9f\u8bdd\u3002\u5176\u5b9e\u6211\u6700\u521d\u7684\u81ea\u5b66\u5e76\u6ca1\u6709\u592a\u591a\u529f\u5229\u7684\u60f3\u6cd5\uff0c\u53ea\u662f\u5355\u7eaf\u7684\u597d\u5947\u548c\u672c\u80fd\u7684\u6c42\u77e5\u6b32\u3002\u81ea\u5b66\u7684\u8fc7\u7a0b\u4e5f\u6ca1\u6709\u6240\u8c13\u7684\u201c\u5934\u60ac\u6881\uff0c\u9525\u523a\u80a1\u201d\uff0c\u8be5\u5403\u5403\uff0c\u8be5\u73a9\u73a9\uff0c\u4e0d\u77e5\u4e0d\u89c9\u624d\u53d1\u73b0\u7adf\u7136\u6512\u4e0b\u4e86\u8fd9\u4e48\u591a\u8d44\u6599\u3002\u73b0\u5982\u4eca\u4e2d\u7f8e\u7684\u5bf9\u6297\u5df2\u7136\u6210\u4e3a\u8d8b\u52bf\uff0c\u800c\u6211\u4eec\u8fd8\u5728\u201c\u5351\u5fae\u201d\u5730\u201c\u5e08\u5937\u957f\u6280\u201d\uff0c\u611f\u53f9\u56fd\u5916\u9ad8\u8d28\u91cf\u8bfe\u7a0b\u7684\u540c\u65f6\u4e5f\u65f6\u5e38\u4f1a\u6709\u4e00\u79cd\u5371\u673a\u611f\u3002\u8fd9\u4e00\u5207\u9760\u8c01\u6765\u6539\u53d8\u5462\uff1f\u9760\u7684\u662f\u521a\u521a\u5165\u884c\u7684\u4f60\u4eec\u3002\u6240\u4ee5\uff0c\u52a0\u6cb9\u5427\uff0c\u5c11\u5e74\uff01","title":"\u521d\u5165\u6821\u56ed"},{"location":"en/%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/#_3","text":"\u5982\u679c\u4f60\u5df2\u7ecf\u672c\u79d1\u6bd5\u4e1a\u5f00\u59cb\u8bfb\u7814\u6216\u8005\u8d70\u4e0a\u4e86\u5de5\u4f5c\u5c97\u4f4d\uff0c\u4ea6\u6216\u662f\u4ece\u4e8b\u7740\u5176\u4ed6\u9886\u57df\u7684\u5de5\u4f5c\u60f3\u8981\u5229\u7528\u4e1a\u4f59\u65f6\u95f4\u8f6c\u7801\uff0c\u90a3\u4e48\u4f60\u4e5f\u8bb8\u5e76\u6ca1\u6709\u5145\u8db3\u7684\u4e1a\u4f59\u65f6\u95f4\u6765\u7cfb\u7edf\u5730\u5b66\u5b8c \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \u91cc\u7684\u5185\u5bb9\uff0c\u4f46\u53c8\u60f3\u5f25\u8865\u672c\u79d1\u65f6\u671f\u6b20\u4e0b\u7684\u57fa\u7840\u3002\u8003\u8651\u5230\u8fd9\u90e8\u5206\u8bfb\u8005\u901a\u5e38\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u7ecf\u9a8c\uff0c\u5165\u95e8\u8bfe\u7a0b\u6ca1\u6709\u5fc5\u8981\u518d\u91cd\u590d\u5b66\u4e60\u3002\u800c\u4e14\u4ece\u5b9e\u7528\u89d2\u5ea6\u6765\u8bf4\uff0c\u7531\u4e8e\u5de5\u4f5c\u7684\u5927\u4f53\u65b9\u5411\u5df2\u7ecf\u786e\u5b9a\uff0c\u786e\u5b9e\u6ca1\u6709\u592a\u5927\u5fc5\u8981\u5bf9\u4e8e\u6bcf\u4e2a\u8ba1\u7b97\u673a\u5206\u652f\u90fd\u6709\u7279\u522b\u6df1\u5165\u7684\u7814\u7a76\uff0c\u66f4\u5e94\u8be5\u4fa7\u91cd\u4e00\u4e9b\u901a\u7528\u6027\u7684\u539f\u5219\u548c\u6280\u80fd\u3002\u56e0\u6b64\u6211\u7ed3\u5408\u81ea\u8eab\u7ecf\u5386\uff0c\u9009\u53d6\u4e86\u4e2a\u4eba\u611f\u89c9\u6700\u91cd\u8981\u4e5f\u662f\u8d28\u91cf\u6700\u9ad8\u7684\u51e0\u95e8\u6838\u5fc3\u4e13\u4e1a\u8bfe\uff0c\u5e0c\u671b\u80fd\u66f4\u597d\u5730\u52a0\u6df1\u8bfb\u8005\u5bf9\u8ba1\u7b97\u673a\u7684\u7406\u89e3\u3002\u5b66\u5b8c\u8fd9\u4e9b\u8bfe\u7a0b\uff0c\u65e0\u8bba\u4f60\u5177\u4f53\u4ece\u4e8b\u7684\u662f\u4ec0\u4e48\u5de5\u4f5c\uff0c\u6211\u76f8\u4fe1\u4f60\u5c06\u4e0d\u53ef\u80fd\u6ca6\u4e3a\u4e00\u4e2a\u666e\u901a\u7684\u8c03\u5305\u4fa0\uff0c\u800c\u662f\u5bf9\u8ba1\u7b97\u673a\u7684\u5e95\u5c42\u8fd0\u884c\u903b\u8f91\u6709\u66f4\u6df1\u5165\u7684\u4e86\u89e3\u3002 \u8bfe\u7a0b\u65b9\u5411 \u8bfe\u7a0b\u540d \u79bb\u6563\u6570\u5b66\u548c\u6982\u7387\u8bba UCB CS70 : discrete Math and probability theory \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 Coursera: Algorithms I & II \u8f6f\u4ef6\u5de5\u7a0b MIT 6.031: Software Construction \u5168\u6808\u5f00\u53d1 MIT web development course \u8ba1\u7b97\u673a\u7cfb\u7edf\u5bfc\u8bba CMU CS15213: CSAPP \u4f53\u7cfb\u7ed3\u6784\u5165\u95e8 Coursera: Nand2Tetris \u4f53\u7cfb\u7ed3\u6784\u8fdb\u9636 CS61C: Great Ideas in Computer Architecture \u6570\u636e\u5e93\u539f\u7406 CMU 15-445: Introduction to Database System \u8ba1\u7b97\u673a\u7f51\u7edc Computer Networking: A Top-Down Approach \u4eba\u5de5\u667a\u80fd Harvard CS50: Introduction to AI with Python \u6df1\u5ea6\u5b66\u4e60 Coursera: Deep Learning","title":"\u5220\u7e41\u5c31\u7b80"},{"location":"en/%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/#_4","text":"\u5982\u679c\u4f60\u5bf9\u4e8e\u8ba1\u7b97\u673a\u9886\u57df\u7684\u6838\u5fc3\u4e13\u4e1a\u8bfe\u90fd\u638c\u63e1\u5f97\u76f8\u5f53\u624e\u5b9e\uff0c\u800c\u4e14\u5df2\u7ecf\u786e\u5b9a\u4e86\u81ea\u5df1\u7684\u5de5\u4f5c\u6216\u7814\u7a76\u65b9\u5411\uff0c\u90a3\u4e48\u4e66\u4e2d\u8fd8\u6709\u5f88\u591a\u672a\u5728 \u4e00\u4efd\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \u63d0\u5230\u7684\u8bfe\u7a0b\u4f9b\u4f60\u63a2\u7d22\u3002 \u968f\u7740\u8d21\u732e\u8005\u7684\u4e0d\u65ad\u589e\u591a\uff0c\u5de6\u4fa7\u7684\u76ee\u5f55\u4e2d\u5c06\u4e0d\u65ad\u589e\u52a0\u65b0\u7684\u5206\u652f\uff0c\u4f8b\u5982 \u673a\u5668\u5b66\u4e60\u8fdb\u9636 \u548c \u673a\u5668\u5b66\u4e60\u7cfb\u7edf \u3002\u5e76\u4e14\u540c\u4e00\u4e2a\u5206\u652f\u4e0b\u90fd\u6709\u82e5\u5e72\u540c\u7c7b\u578b\u8bfe\u7a0b\uff0c\u5b83\u4eec\u6765\u81ea\u4e0d\u540c\u7684\u5b66\u6821\uff0c\u6709\u7740\u4e0d\u540c\u7684\u4fa7\u91cd\u70b9\u548c\u8bfe\u7a0b\u5b9e\u9a8c\uff0c\u4f8b\u5982 \u64cd\u4f5c\u7cfb\u7edf \u5206\u652f\u4e0b\u5c31\u5305\u542b\u4e86\u9ebb\u7701\u7406\u5de5\u3001\u4f2f\u514b\u5229\u8fd8\u6709\u5357\u4eac\u5927\u5b66\u4e09\u4e2a\u5b66\u6821\u7684\u8bfe\u7a0b\u3002\u5982\u679c\u4f60\u60f3\u6df1\u8015\u4e00\u4e2a\u9886\u57df\uff0c\u90a3\u4e48\u5b66\u4e60\u8fd9\u4e9b\u540c\u7c7b\u7684\u8bfe\u7a0b\u4f1a\u7ed9\u4f60\u4e0d\u540c\u7684\u89d2\u5ea6\u6765\u770b\u5f85\u7c7b\u4f3c\u7684\u77e5\u8bc6\u3002\u540c\u65f6\uff0c\u672c\u4e66\u4f5c\u8005\u8fd8\u8ba1\u5212\u8054\u7cfb\u4e00\u4e9b\u76f8\u5173\u9886\u57df\u7684\u79d1\u7814\u5de5\u4f5c\u8005\u6765\u5206\u4eab\u67d0\u4e2a\u7ec6\u5206\u9886\u57df\u7684\u79d1\u7814\u5b66\u4e60\u8def\u5f84\uff0c\u8ba9 CS\u81ea\u5b66\u6307\u5357 \u5728\u8ffd\u6c42\u5e7f\u5ea6\u7684\u540c\u65f6\uff0c\u5b9e\u73b0\u6df1\u5ea6\u4e0a\u7684\u63d0\u9ad8\u3002 \u5982\u679c\u4f60\u60f3\u8d21\u732e\u8fd9\u65b9\u9762\u7684\u5185\u5bb9\uff0c\u6b22\u8fce\u548c\u4f5c\u8005\u90ae\u4ef6\u8054\u7cfb zhongyinmin@pku.edu.cn","title":"\u5fc3\u6709\u6240\u5c5e"},{"location":"en/%E5%90%8E%E8%AE%B0/","text":"\u540e\u8bb0 \u4ece\u6700\u521d\u7684\u60f3\u6cd5\u5f00\u59cb\uff0c\u5230\u65ad\u65ad\u7eed\u7eed\u5b8c\u6210\u8fd9\u672c\u4e66\uff0c\u518d\u5230\u6811\u6d1e\u7684\u70ed\u70c8\u53cd\u54cd\uff0c\u6211\u5f88\u6fc0\u52a8\uff0c\u4f46\u4e5f\u4e94\u5473\u6742\u9648\u3002\u539f\u6765\u5728\u5317\u5927\u8fd9\u4e2a\u56ed\u5b50\u91cc\uff0c\u4e5f\u6709\u90a3\u4e48\u591a\u4eba\uff0c\u5bf9\u81ea\u5df1\u7684\u672c\u79d1\u751f\u6daf\u5e76\u4e0d\u6ee1\u610f\u3002\u800c\u8fd9\u91cc\uff0c\u53ef\u662f\u56ca\u62ec\u4e86\u4e2d\u56fd\u975e\u5e38\u4f18\u79c0\u7684\u4e00\u5e2e\u5e74\u8f7b\u4eba\u3002\u6240\u4ee5\u95ee\u9898\u51fa\u5728\u54ea\u91cc\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u662f\u4e2a\u7c4d\u7c4d\u65e0\u540d\u7684\u672c\u79d1\u751f\u5440\uff0c\u53ea\u662f\u4e00\u4e2a\u5355\u7eaf\u7684\u6c42\u5b66\u8005\uff0c\u6211\u7684\u76ee\u6807\u53ea\u662f\u60f3\u5feb\u4e50\u5730\u3001\u81ea\u7531\u5730\u3001\u9ad8\u8d28\u91cf\u5730\u638c\u63e1\u90a3\u4e9b\u4e13\u4e1a\u77e5\u8bc6\uff0c\u6211\u60f3\uff0c\u6b63\u5728\u770b\u8fd9\u672c\u4e66\u7684\u5927\u591a\u6570\u672c\u79d1\u751f\u4e5f\u662f\u5982\u6b64\uff0c\u8c01\u60f3\u4ed8\u51fa\u65f6\u95f4\u4f46\u5374\u6536\u6548\u751a\u5fae\u5462\uff1f\u53c8\u662f\u8c01\u8feb\u4f7f\u5927\u5bb6\u5e26\u7740\u75db\u82e6\u53bb\u5e94\u4ed8\u5462\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u5199\u8fd9\u672c\u4e66\u7edd\u4e0d\u662f\u4e3a\u4e86\u9f13\u52b1\u5927\u5bb6\u7fd8\u8bfe\u81ea\u5b66\uff0c\u8bd5\u95ee\u8c01\u4e0d\u60f3\u5728\u8bfe\u5802\u4e0a\u548c\u90a3\u4e48\u591a\u4f18\u79c0\u7684\u540c\u5b66\u6d4e\u6d4e\u4e00\u5802\uff0c\u70ed\u70c8\u8ba8\u8bba\u5462\uff1f\u8c01\u4e0d\u60f3\u9047\u5230\u95ee\u9898\u76f4\u63a5\u627e\u8001\u5e08\u7b54\u7591\u89e3\u60d1\u5462\uff1f\u8c01\u4e0d\u60f3\u8f9b\u82e6\u5b66\u4e60\u7684\u6210\u679c\u53ef\u4ee5\u76f4\u63a5\u5316\u4f5c\u5b66\u6821\u627f\u8ba4\u7684\u5b66\u5206\u7ee9\u70b9\u5462\uff1f\u53ef\u5982\u679c\u4e00\u4e2a\u5162\u5162\u4e1a\u4e1a\u3001\u6309\u65f6\u5230\u5802\u7684\u5b66\u751f\u6536\u83b7\u7684\u5374\u662f\u75db\u82e6\uff0c\u800c\u90a3\u4e2a\u4e00\u5b66\u671f\u53ea\u6709\u8003\u8bd5\u4f1a\u51fa\u5e2d\u7684\u5b66\u751f\u5374\u5b66\u5f97\u81ea\u5f97\u5176\u4e50\uff0c\u8fd9\u516c\u5e73\u5417\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u662f\u4e0d\u7518\uff0c\u4e0d\u7518\u5fc3\u8fd9\u4e9b\u901a\u8fc7\u9ad8\u8003\u6218\u80dc\u65e0\u6570\u4eba\u8fdb\u5165\u9ad8\u6821\u7684\u5b66\u5b50\u672c\u53ef\u4ee5\u6536\u83b7\u4e00\u4e2a\u66f4\u5feb\u4e50\u7684\u672c\u79d1\u751f\u6daf\uff0c\u4f46\u73b0\u5b9e\u5374\u7559\u7ed9\u4e86\u4ed6\u4eec\u9057\u61be\u3002\u6211\u53cd\u95ee\u81ea\u5df1\uff0c\u672c\u79d1\u6559\u80b2\u7a76\u7adf\u5e94\u8be5\u5e26\u7ed9\u6211\u4eec\u4ec0\u4e48\u5462\uff1f\u662f\u5b66\u5b8c\u6240\u6709\u8fd9\u4e9b\u8bfe\u7a0b\u5417\uff1f\u5012\u4e5f\u672a\u5fc5\uff0c\u5b83\u4e5f\u8bb8\u53ea\u9002\u5408\u6211\u8fd9\u79cdnerd\u3002\u4f46\u6211\u89c9\u5f97\uff0c\u672c\u79d1\u6559\u80b2\u81f3\u5c11\u5f97\u5c55\u73b0\u5b83\u5e94\u6709\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u5206\u4eab\u77e5\u8bc6\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u4ee5\u4eba\u4e3a\u672c\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u6ce8\u91cd\u5b66\u751f\u4f53\u9a8c\u7684\u8bda\u610f\u3002\u5b83\u81f3\u5c11\u4e0d\u5e94\u8be5\u662f\u4e00\u79cd\u6076\u610f\uff0c\u4e00\u79cd\u62fc\u6bd4\u77e5\u8bc6\u7684\u6076\u610f\uff0c\u4e00\u79cd\u80dc\u8005\u4e3a\u738b\u7684\u6076\u610f\uff0c\u4e00\u79cd\u8ba9\u4eba\u5b66\u65e0\u6240\u5f97\u7684\u6076\u610f\u3002\u4f46\u8fd9\u4e00\u5207\u80fd\u6539\u53d8\u5417\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u77e5\u9053\u6211\u505a\u4e86\u5e94\u8be5\u505a\u7684\u4e8b\u60c5\uff0c\u5b66\u751f\u4eec\u4f1a\u7528\u811a\u6295\u7968\uff0c\u6811\u6d1e\u7684\u5173\u6ce8\u91cf\u548c\u56de\u5e16\u6570\u8bc1\u660e\u4e86\u8fd9\u6837\u4e00\u4efd\u8d44\u6599\u662f\u6709\u4ef7\u503c\u7684\uff0c\u4e5f\u9053\u51fa\u4e86\u56fd\u5185CS\u672c\u79d1\u6559\u80b2\u548c\u56fd\u5916\u7684\u5dee\u8ddd\u3002\u4e5f\u8bb8\u8fd9\u6837\u7684\u6539\u53d8\u662f\u5fae\u4e4e\u5176\u5fae\u7684\uff0c\u4f46\u522b\u5fd8\u4e86\u6211\u53ea\u662f\u4e00\u4e2a\u7c4d\u7c4d\u65e0\u540d\u7684\u672c\u79d1\u751f\uff0c\u662f\u5317\u5927\u4fe1\u79d1\u4e00\u5343\u591a\u540d\u672c\u79d1\u751f\u4e2d\u7684\u666e\u901a\u4e00\u5458\uff0c\u662f\u4e2d\u56fd\u51e0\u767e\u4e07\u5728\u8bfb\u672c\u79d1\u751f\u4e2d\u7684\u4e00\u5206\u5b50\uff0c\u5982\u679c\u6709\u66f4\u591a\u7684\u4eba\u7ad9\u51fa\u6765\uff0c\u6bcf\u4e2a\u4eba\u505a\u4e00\u70b9\u70b9\uff0c\u4e5f\u8bb8\u662f\u5206\u4eab\u4e00\u4e2a\u5e16\u5b50\uff0c\u4e5f\u8bb8\u662f\u5f53\u4e00\u95e8\u8bfe\u7684\u52a9\u6559\uff0c\u4e5f\u8bb8\u662f\u7cbe\u5fc3\u8bbe\u8ba1\u4e00\u95e8\u8bfe\u7684lab\uff0c\u66f4\u6216\u8bb8\u662f\u5c06\u6765\u83b7\u5f97\u6559\u804c\u4e4b\u540e\u5f00\u8bbe\u4e00\u95e8\u9ad8\u8d28\u91cf\u7684\u8bfe\u7a0b\uff0c\u51fa\u7248\u4e00\u672c\u7ecf\u5178\u7684\u6559\u6750\u3002\u672c\u79d1\u6559\u80b2\u771f\u7684\u6709\u4ec0\u4e48\u6280\u672f\u58c1\u5792\u5417\uff1f\u6211\u770b\u672a\u5fc5\uff0c\u6559\u80b2\u9760\u7684\u662f\u8bda\u610f\uff0c\u9760\u7684\u662f\u80b2\u4eba\u4e4b\u5fc3\u3002 \u4eca\u5929\u662f2021\u5e7412\u670812\u65e5\uff0c\u6211\u671f\u5f85\u5728\u4e0d\u4e45\u7684\u5c06\u6765\u8fd9\u4e2a\u5e16\u5b50\u4f1a\u88ab\u9057\u5fd8\uff0c\u5927\u5bb6\u53ef\u4ee5\u6ee1\u5fc3\u6b22\u559c\u5730\u9009\u7740\u81ea\u5df1\u57f9\u517b\u65b9\u6848\u4e0a\u7684\u8bfe\u7a0b\uff0c\u505a\u7740\u5b66\u6821\u81ea\u884c\u8bbe\u8ba1\u7684\u5404\u7c7b\u7f16\u7a0b\u5b9e\u9a8c\uff0c\u8bfe\u5802\u6ca1\u6709\u7b7e\u5230\u4e5f\u80fd\u6d4e\u6d4e\u4e00\u5802\uff0c\u5b66\u751f\u8e0a\u8dc3\u5730\u53d1\u8a00\u4e92\u52a8\uff0c\u5927\u5bb6\u7684\u6536\u83b7\u53ef\u4ee5\u548c\u52aa\u529b\u6210\u6b63\u6bd4\uff0c\u90a3\u4e9b\u66fe\u7ecf\u7684\u9057\u61be\u548c\u75db\u82e6\u53ef\u4ee5\u6c38\u8fdc\u6210\u4e3a\u5386\u53f2\u3002\u6211\u771f\u7684\u5f88\u671f\u5f85\u90a3\u4e00\u5929\uff0c\u771f\u7684\u771f\u7684\u771f\u7684\u5f88\u671f\u5f85\u3002 PKUFlyingPig 2021\u5e7412\u670812\u65e5\u5199\u4e8e\u71d5\u56ed","title":"Postscript"},{"location":"en/%E5%90%8E%E8%AE%B0/#_1","text":"\u4ece\u6700\u521d\u7684\u60f3\u6cd5\u5f00\u59cb\uff0c\u5230\u65ad\u65ad\u7eed\u7eed\u5b8c\u6210\u8fd9\u672c\u4e66\uff0c\u518d\u5230\u6811\u6d1e\u7684\u70ed\u70c8\u53cd\u54cd\uff0c\u6211\u5f88\u6fc0\u52a8\uff0c\u4f46\u4e5f\u4e94\u5473\u6742\u9648\u3002\u539f\u6765\u5728\u5317\u5927\u8fd9\u4e2a\u56ed\u5b50\u91cc\uff0c\u4e5f\u6709\u90a3\u4e48\u591a\u4eba\uff0c\u5bf9\u81ea\u5df1\u7684\u672c\u79d1\u751f\u6daf\u5e76\u4e0d\u6ee1\u610f\u3002\u800c\u8fd9\u91cc\uff0c\u53ef\u662f\u56ca\u62ec\u4e86\u4e2d\u56fd\u975e\u5e38\u4f18\u79c0\u7684\u4e00\u5e2e\u5e74\u8f7b\u4eba\u3002\u6240\u4ee5\u95ee\u9898\u51fa\u5728\u54ea\u91cc\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u662f\u4e2a\u7c4d\u7c4d\u65e0\u540d\u7684\u672c\u79d1\u751f\u5440\uff0c\u53ea\u662f\u4e00\u4e2a\u5355\u7eaf\u7684\u6c42\u5b66\u8005\uff0c\u6211\u7684\u76ee\u6807\u53ea\u662f\u60f3\u5feb\u4e50\u5730\u3001\u81ea\u7531\u5730\u3001\u9ad8\u8d28\u91cf\u5730\u638c\u63e1\u90a3\u4e9b\u4e13\u4e1a\u77e5\u8bc6\uff0c\u6211\u60f3\uff0c\u6b63\u5728\u770b\u8fd9\u672c\u4e66\u7684\u5927\u591a\u6570\u672c\u79d1\u751f\u4e5f\u662f\u5982\u6b64\uff0c\u8c01\u60f3\u4ed8\u51fa\u65f6\u95f4\u4f46\u5374\u6536\u6548\u751a\u5fae\u5462\uff1f\u53c8\u662f\u8c01\u8feb\u4f7f\u5927\u5bb6\u5e26\u7740\u75db\u82e6\u53bb\u5e94\u4ed8\u5462\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u5199\u8fd9\u672c\u4e66\u7edd\u4e0d\u662f\u4e3a\u4e86\u9f13\u52b1\u5927\u5bb6\u7fd8\u8bfe\u81ea\u5b66\uff0c\u8bd5\u95ee\u8c01\u4e0d\u60f3\u5728\u8bfe\u5802\u4e0a\u548c\u90a3\u4e48\u591a\u4f18\u79c0\u7684\u540c\u5b66\u6d4e\u6d4e\u4e00\u5802\uff0c\u70ed\u70c8\u8ba8\u8bba\u5462\uff1f\u8c01\u4e0d\u60f3\u9047\u5230\u95ee\u9898\u76f4\u63a5\u627e\u8001\u5e08\u7b54\u7591\u89e3\u60d1\u5462\uff1f\u8c01\u4e0d\u60f3\u8f9b\u82e6\u5b66\u4e60\u7684\u6210\u679c\u53ef\u4ee5\u76f4\u63a5\u5316\u4f5c\u5b66\u6821\u627f\u8ba4\u7684\u5b66\u5206\u7ee9\u70b9\u5462\uff1f\u53ef\u5982\u679c\u4e00\u4e2a\u5162\u5162\u4e1a\u4e1a\u3001\u6309\u65f6\u5230\u5802\u7684\u5b66\u751f\u6536\u83b7\u7684\u5374\u662f\u75db\u82e6\uff0c\u800c\u90a3\u4e2a\u4e00\u5b66\u671f\u53ea\u6709\u8003\u8bd5\u4f1a\u51fa\u5e2d\u7684\u5b66\u751f\u5374\u5b66\u5f97\u81ea\u5f97\u5176\u4e50\uff0c\u8fd9\u516c\u5e73\u5417\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u662f\u4e0d\u7518\uff0c\u4e0d\u7518\u5fc3\u8fd9\u4e9b\u901a\u8fc7\u9ad8\u8003\u6218\u80dc\u65e0\u6570\u4eba\u8fdb\u5165\u9ad8\u6821\u7684\u5b66\u5b50\u672c\u53ef\u4ee5\u6536\u83b7\u4e00\u4e2a\u66f4\u5feb\u4e50\u7684\u672c\u79d1\u751f\u6daf\uff0c\u4f46\u73b0\u5b9e\u5374\u7559\u7ed9\u4e86\u4ed6\u4eec\u9057\u61be\u3002\u6211\u53cd\u95ee\u81ea\u5df1\uff0c\u672c\u79d1\u6559\u80b2\u7a76\u7adf\u5e94\u8be5\u5e26\u7ed9\u6211\u4eec\u4ec0\u4e48\u5462\uff1f\u662f\u5b66\u5b8c\u6240\u6709\u8fd9\u4e9b\u8bfe\u7a0b\u5417\uff1f\u5012\u4e5f\u672a\u5fc5\uff0c\u5b83\u4e5f\u8bb8\u53ea\u9002\u5408\u6211\u8fd9\u79cdnerd\u3002\u4f46\u6211\u89c9\u5f97\uff0c\u672c\u79d1\u6559\u80b2\u81f3\u5c11\u5f97\u5c55\u73b0\u5b83\u5e94\u6709\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u5206\u4eab\u77e5\u8bc6\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u4ee5\u4eba\u4e3a\u672c\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u6ce8\u91cd\u5b66\u751f\u4f53\u9a8c\u7684\u8bda\u610f\u3002\u5b83\u81f3\u5c11\u4e0d\u5e94\u8be5\u662f\u4e00\u79cd\u6076\u610f\uff0c\u4e00\u79cd\u62fc\u6bd4\u77e5\u8bc6\u7684\u6076\u610f\uff0c\u4e00\u79cd\u80dc\u8005\u4e3a\u738b\u7684\u6076\u610f\uff0c\u4e00\u79cd\u8ba9\u4eba\u5b66\u65e0\u6240\u5f97\u7684\u6076\u610f\u3002\u4f46\u8fd9\u4e00\u5207\u80fd\u6539\u53d8\u5417\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u77e5\u9053\u6211\u505a\u4e86\u5e94\u8be5\u505a\u7684\u4e8b\u60c5\uff0c\u5b66\u751f\u4eec\u4f1a\u7528\u811a\u6295\u7968\uff0c\u6811\u6d1e\u7684\u5173\u6ce8\u91cf\u548c\u56de\u5e16\u6570\u8bc1\u660e\u4e86\u8fd9\u6837\u4e00\u4efd\u8d44\u6599\u662f\u6709\u4ef7\u503c\u7684\uff0c\u4e5f\u9053\u51fa\u4e86\u56fd\u5185CS\u672c\u79d1\u6559\u80b2\u548c\u56fd\u5916\u7684\u5dee\u8ddd\u3002\u4e5f\u8bb8\u8fd9\u6837\u7684\u6539\u53d8\u662f\u5fae\u4e4e\u5176\u5fae\u7684\uff0c\u4f46\u522b\u5fd8\u4e86\u6211\u53ea\u662f\u4e00\u4e2a\u7c4d\u7c4d\u65e0\u540d\u7684\u672c\u79d1\u751f\uff0c\u662f\u5317\u5927\u4fe1\u79d1\u4e00\u5343\u591a\u540d\u672c\u79d1\u751f\u4e2d\u7684\u666e\u901a\u4e00\u5458\uff0c\u662f\u4e2d\u56fd\u51e0\u767e\u4e07\u5728\u8bfb\u672c\u79d1\u751f\u4e2d\u7684\u4e00\u5206\u5b50\uff0c\u5982\u679c\u6709\u66f4\u591a\u7684\u4eba\u7ad9\u51fa\u6765\uff0c\u6bcf\u4e2a\u4eba\u505a\u4e00\u70b9\u70b9\uff0c\u4e5f\u8bb8\u662f\u5206\u4eab\u4e00\u4e2a\u5e16\u5b50\uff0c\u4e5f\u8bb8\u662f\u5f53\u4e00\u95e8\u8bfe\u7684\u52a9\u6559\uff0c\u4e5f\u8bb8\u662f\u7cbe\u5fc3\u8bbe\u8ba1\u4e00\u95e8\u8bfe\u7684lab\uff0c\u66f4\u6216\u8bb8\u662f\u5c06\u6765\u83b7\u5f97\u6559\u804c\u4e4b\u540e\u5f00\u8bbe\u4e00\u95e8\u9ad8\u8d28\u91cf\u7684\u8bfe\u7a0b\uff0c\u51fa\u7248\u4e00\u672c\u7ecf\u5178\u7684\u6559\u6750\u3002\u672c\u79d1\u6559\u80b2\u771f\u7684\u6709\u4ec0\u4e48\u6280\u672f\u58c1\u5792\u5417\uff1f\u6211\u770b\u672a\u5fc5\uff0c\u6559\u80b2\u9760\u7684\u662f\u8bda\u610f\uff0c\u9760\u7684\u662f\u80b2\u4eba\u4e4b\u5fc3\u3002 \u4eca\u5929\u662f2021\u5e7412\u670812\u65e5\uff0c\u6211\u671f\u5f85\u5728\u4e0d\u4e45\u7684\u5c06\u6765\u8fd9\u4e2a\u5e16\u5b50\u4f1a\u88ab\u9057\u5fd8\uff0c\u5927\u5bb6\u53ef\u4ee5\u6ee1\u5fc3\u6b22\u559c\u5730\u9009\u7740\u81ea\u5df1\u57f9\u517b\u65b9\u6848\u4e0a\u7684\u8bfe\u7a0b\uff0c\u505a\u7740\u5b66\u6821\u81ea\u884c\u8bbe\u8ba1\u7684\u5404\u7c7b\u7f16\u7a0b\u5b9e\u9a8c\uff0c\u8bfe\u5802\u6ca1\u6709\u7b7e\u5230\u4e5f\u80fd\u6d4e\u6d4e\u4e00\u5802\uff0c\u5b66\u751f\u8e0a\u8dc3\u5730\u53d1\u8a00\u4e92\u52a8\uff0c\u5927\u5bb6\u7684\u6536\u83b7\u53ef\u4ee5\u548c\u52aa\u529b\u6210\u6b63\u6bd4\uff0c\u90a3\u4e9b\u66fe\u7ecf\u7684\u9057\u61be\u548c\u75db\u82e6\u53ef\u4ee5\u6c38\u8fdc\u6210\u4e3a\u5386\u53f2\u3002\u6211\u771f\u7684\u5f88\u671f\u5f85\u90a3\u4e00\u5929\uff0c\u771f\u7684\u771f\u7684\u771f\u7684\u5f88\u671f\u5f85\u3002 PKUFlyingPig 2021\u5e7412\u670812\u65e5\u5199\u4e8e\u71d5\u56ed","title":"\u540e\u8bb0"},{"location":"en/%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88Pro/","text":"under construction.","title":"\u57f9\u517b\u65b9\u6848Pro"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/","text":"\u597d\u4e66\u63a8\u8350 \u7531\u4e8e\u7248\u6743\u539f\u56e0\uff0c\u4e0b\u9762\u5217\u4e3e\u7684\u56fe\u4e66\u4e2d\u9664\u4e86\u5f00\u6e90\u8d44\u6e90\u63d0\u4f9b\u4e86\u94fe\u63a5\uff0c\u5176\u4ed6\u7684\u8d44\u6e90\u8bf7\u5927\u5bb6\u81ea\u884c\u901a\u8fc7 libgen \u6216 z-lib \u67e5\u627e\u3002 \u8d44\u6e90\u6c47\u603b Free Programming Books : \u5f00\u6e90\u7f16\u7a0b\u4e66\u7c4d\u8d44\u6e90\u6c47\u603b CS Textbook Recommendations : \u8ba1\u7b97\u673a\u79d1\u5b66\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868 C Book Guide and List : C\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 C++ Book Guide and List : C++\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 Python Book Guide and List : Python\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 Computer Vision Textbook Recommendations : \u8ba1\u7b97\u673a\u89c6\u89c9\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868 Deep Learning Textbook Recommendations : \u6df1\u5ea6\u5b66\u4e60\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868 \u7cfb\u7edf\u5165\u95e8 Computer Systems: A Programmer's Perspective [ \u8c46\u74e3 ] Principles of Computer System Design: An Introduction [ \u8c46\u74e3 ] \u64cd\u4f5c\u7cfb\u7edf \u73b0\u4ee3\u64cd\u4f5c\u7cfb\u7edf: \u539f\u7406\u4e0e\u5b9e\u73b0 [ \u8c46\u74e3 ] Operating Systems: Three Easy Pieces [ \u8c46\u74e3 ] Modern Operating Systems [ \u8c46\u74e3 ] Operating Systems: Principles and Practice [ \u8c46\u74e3 ] \u8ba1\u7b97\u673a\u7f51\u7edc Computer Networks: A Systems Approach [ \u8c46\u74e3 ] Computer Networking: A Top-Down Approach [ \u8c46\u74e3 ] How Networks Work [ \u8c46\u74e3 ] \u5206\u5e03\u5f0f\u7cfb\u7edf Patterns of Distributed System (Blog) Distributed Systems for Fun and Profit (Blog) Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems [ \u8c46\u74e3 ] \u6570\u636e\u5e93\u7cfb\u7edf Architecture of a Database System [ \u8c46\u74e3 ] Readings in Database Systems [ \u8c46\u74e3 ] Database System Concepts : 7th Edition [ \u8c46\u74e3 ] \u7f16\u8bd1\u539f\u7406 Engineering a Compiler [ \u8c46\u74e3 ] Compilers: Principles, Techniques, and Tools [ \u8c46\u74e3 ] Crafting Interpreters [\u8c46\u74e3] [\u5f00\u6e90\u4e2d\u6587\u7ffb\u8bd1] \u8ba1\u7b97\u673a\u7f16\u7a0b\u8bed\u8a00 \u8ba1\u7b97\u673a\u7a0b\u5e8f\u7684\u6784\u9020\u548c\u89e3\u91ca [ \u8c46\u74e3 ] Essentials of Programming Languages [ \u8c46\u74e3 ] Practical Foundations for Programming Languages [ \u8c46\u74e3 ] Software Foundations [ \u8c46\u74e3 ] [ \u5317\u5927\u76f8\u5173\u8bfe\u7a0b ] Types and Programming Languages [ \u8c46\u74e3 ] [ \u5317\u5927\u76f8\u5173\u8bfe\u7a0b ] \u4f53\u7cfb\u7ed3\u6784 \u8d85\u6807\u91cf\u5904\u7406\u5668\u8bbe\u8ba1: Superscalar RISC Processor Design [ \u8c46\u74e3 ] Computer Organization and Design RISC-V Edition [ \u8c46\u74e3 ] Computer Organization and Design: The Hardware/Software Interface [ \u8c46\u74e3 ] Computer Architecture: A Quantitative Approach [ \u8c46\u74e3 ] \u7406\u8bba\u8ba1\u7b97\u673a\u79d1\u5b66 Introduction to the Theory of Computation [ \u8c46\u74e3 ] \u5bc6\u7801\u5b66 Cryptography Engineering: Design Principles and Practical Applications [ \u8c46\u74e3 ] Introduction to Modern Cryptography [ \u8c46\u74e3 ] \u9006\u5411\u5de5\u7a0b \u9006\u5411\u5de5\u7a0b\u6838\u5fc3\u539f\u7406 [ \u8c46\u74e3 ] \u52a0\u5bc6\u4e0e\u89e3\u5bc6 [ \u8c46\u74e3 ] \u8ba1\u7b97\u673a\u56fe\u5f62\u5b66 Monte Carlo theory, methods and examples [ \u8c46\u74e3 ] Advanced Global Illumination [ \u8c46\u74e3 ] Fundamentals of Computer Graphics [ \u8c46\u74e3 ] Fluid Simulation for Computer Graphics [ \u8c46\u74e3 ] Physically Based Rendering: From Theory To Implementation [ \u8c46\u74e3 ] Real-Time Rendering [ \u8c46\u74e3 ] \u6e38\u620f\u5f15\u64ce \u6e38\u620f\u7f16\u7a0b\u6a21\u5f0f: Game Programming Patterns [ \u8c46\u74e3 ] \u5b9e\u65f6\u78b0\u649e\u68c0\u6d4b\u7b97\u6cd5\u6280\u672f [ \u8c46\u74e3 ] Game AI Pro Series [ \u8c46\u74e3 ] Artificial Intelligence for Games [ \u8c46\u74e3 ] Game Engine Architecture [ \u8c46\u74e3 ] Game Programming Gems Series [ \u8c46\u74e3 ] \u8f6f\u4ef6\u5de5\u7a0b Software Engineering at Google [ \u8c46\u74e3 ] \u8bbe\u8ba1\u6a21\u5f0f \u8bbe\u8ba1\u6a21\u5f0f: \u53ef\u590d\u7528\u9762\u5411\u5bf9\u8c61\u8f6f\u4ef6\u7684\u57fa\u7840 [ \u8c46\u74e3 ] \u5927\u8bdd\u8bbe\u8ba1\u6a21\u5f0f [ \u8c46\u74e3 ] Head First Design Patterns 2nd ed. [ \u8c46\u74e3 ] \u6df1\u5ea6\u5b66\u4e60 \u52a8\u624b\u5b66\u6df1\u5ea6\u5b66\u4e60 [ \u8c46\u74e3 ] \u795e\u7ecf\u7f51\u7edc\u4e0e\u6df1\u5ea6\u5b66\u4e60 [ \u8c46\u74e3 ] \u6df1\u5ea6\u5b66\u4e60\u5165\u95e8 [ \u8c46\u74e3 ] \u7b80\u5355\u7c97\u66b4 TensorFlow 2 (Tutorial) Speech and Language Processing [ \u8c46\u74e3 ] \u8ba1\u7b97\u673a\u89c6\u89c9 Multiple View Geometry in Computer Vision [ \u8c46\u74e3 ] \u673a\u5668\u4eba Probabilistic Robotics [ \u8c46\u74e3 ] \u9762\u8bd5 \u5251\u6307 Offer\uff1a\u540d\u4f01\u9762\u8bd5\u5b98\u7cbe\u8bb2\u5178\u578b\u7f16\u7a0b\u9898 [ \u8c46\u74e3 ] Cracking The Coding Interview [ \u8c46\u74e3 ]","title":"Book Recommendation"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_1","text":"\u7531\u4e8e\u7248\u6743\u539f\u56e0\uff0c\u4e0b\u9762\u5217\u4e3e\u7684\u56fe\u4e66\u4e2d\u9664\u4e86\u5f00\u6e90\u8d44\u6e90\u63d0\u4f9b\u4e86\u94fe\u63a5\uff0c\u5176\u4ed6\u7684\u8d44\u6e90\u8bf7\u5927\u5bb6\u81ea\u884c\u901a\u8fc7 libgen \u6216 z-lib \u67e5\u627e\u3002","title":"\u597d\u4e66\u63a8\u8350"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_2","text":"Free Programming Books : \u5f00\u6e90\u7f16\u7a0b\u4e66\u7c4d\u8d44\u6e90\u6c47\u603b CS Textbook Recommendations : \u8ba1\u7b97\u673a\u79d1\u5b66\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868 C Book Guide and List : C\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 C++ Book Guide and List : C++\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 Python Book Guide and List : Python\u8bed\u8a00\u76f8\u5173\u7684\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u5217\u8868 Computer Vision Textbook Recommendations : \u8ba1\u7b97\u673a\u89c6\u89c9\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868 Deep Learning Textbook Recommendations : \u6df1\u5ea6\u5b66\u4e60\u65b9\u5411\u63a8\u8350\u6559\u6750\u5217\u8868","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_3","text":"Computer Systems: A Programmer's Perspective [ \u8c46\u74e3 ] Principles of Computer System Design: An Introduction [ \u8c46\u74e3 ]","title":"\u7cfb\u7edf\u5165\u95e8"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_4","text":"\u73b0\u4ee3\u64cd\u4f5c\u7cfb\u7edf: \u539f\u7406\u4e0e\u5b9e\u73b0 [ \u8c46\u74e3 ] Operating Systems: Three Easy Pieces [ \u8c46\u74e3 ] Modern Operating Systems [ \u8c46\u74e3 ] Operating Systems: Principles and Practice [ \u8c46\u74e3 ]","title":"\u64cd\u4f5c\u7cfb\u7edf"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_5","text":"Computer Networks: A Systems Approach [ \u8c46\u74e3 ] Computer Networking: A Top-Down Approach [ \u8c46\u74e3 ] How Networks Work [ \u8c46\u74e3 ]","title":"\u8ba1\u7b97\u673a\u7f51\u7edc"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_6","text":"Patterns of Distributed System (Blog) Distributed Systems for Fun and Profit (Blog) Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems [ \u8c46\u74e3 ]","title":"\u5206\u5e03\u5f0f\u7cfb\u7edf"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_7","text":"Architecture of a Database System [ \u8c46\u74e3 ] Readings in Database Systems [ \u8c46\u74e3 ] Database System Concepts : 7th Edition [ \u8c46\u74e3 ]","title":"\u6570\u636e\u5e93\u7cfb\u7edf"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_8","text":"Engineering a Compiler [ \u8c46\u74e3 ] Compilers: Principles, Techniques, and Tools [ \u8c46\u74e3 ] Crafting Interpreters [\u8c46\u74e3] [\u5f00\u6e90\u4e2d\u6587\u7ffb\u8bd1]","title":"\u7f16\u8bd1\u539f\u7406"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_9","text":"\u8ba1\u7b97\u673a\u7a0b\u5e8f\u7684\u6784\u9020\u548c\u89e3\u91ca [ \u8c46\u74e3 ] Essentials of Programming Languages [ \u8c46\u74e3 ] Practical Foundations for Programming Languages [ \u8c46\u74e3 ] Software Foundations [ \u8c46\u74e3 ] [ \u5317\u5927\u76f8\u5173\u8bfe\u7a0b ] Types and Programming Languages [ \u8c46\u74e3 ] [ \u5317\u5927\u76f8\u5173\u8bfe\u7a0b ]","title":"\u8ba1\u7b97\u673a\u7f16\u7a0b\u8bed\u8a00"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_10","text":"\u8d85\u6807\u91cf\u5904\u7406\u5668\u8bbe\u8ba1: Superscalar RISC Processor Design [ \u8c46\u74e3 ] Computer Organization and Design RISC-V Edition [ \u8c46\u74e3 ] Computer Organization and Design: The Hardware/Software Interface [ \u8c46\u74e3 ] Computer Architecture: A Quantitative Approach [ \u8c46\u74e3 ]","title":"\u4f53\u7cfb\u7ed3\u6784"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_11","text":"Introduction to the Theory of Computation [ \u8c46\u74e3 ]","title":"\u7406\u8bba\u8ba1\u7b97\u673a\u79d1\u5b66"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_12","text":"Cryptography Engineering: Design Principles and Practical Applications [ \u8c46\u74e3 ] Introduction to Modern Cryptography [ \u8c46\u74e3 ]","title":"\u5bc6\u7801\u5b66"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_13","text":"\u9006\u5411\u5de5\u7a0b\u6838\u5fc3\u539f\u7406 [ \u8c46\u74e3 ] \u52a0\u5bc6\u4e0e\u89e3\u5bc6 [ \u8c46\u74e3 ]","title":"\u9006\u5411\u5de5\u7a0b"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_14","text":"Monte Carlo theory, methods and examples [ \u8c46\u74e3 ] Advanced Global Illumination [ \u8c46\u74e3 ] Fundamentals of Computer Graphics [ \u8c46\u74e3 ] Fluid Simulation for Computer Graphics [ \u8c46\u74e3 ] Physically Based Rendering: From Theory To Implementation [ \u8c46\u74e3 ] Real-Time Rendering [ \u8c46\u74e3 ]","title":"\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_15","text":"\u6e38\u620f\u7f16\u7a0b\u6a21\u5f0f: Game Programming Patterns [ \u8c46\u74e3 ] \u5b9e\u65f6\u78b0\u649e\u68c0\u6d4b\u7b97\u6cd5\u6280\u672f [ \u8c46\u74e3 ] Game AI Pro Series [ \u8c46\u74e3 ] Artificial Intelligence for Games [ \u8c46\u74e3 ] Game Engine Architecture [ \u8c46\u74e3 ] Game Programming Gems Series [ \u8c46\u74e3 ]","title":"\u6e38\u620f\u5f15\u64ce"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_16","text":"Software Engineering at Google [ \u8c46\u74e3 ]","title":"\u8f6f\u4ef6\u5de5\u7a0b"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_17","text":"\u8bbe\u8ba1\u6a21\u5f0f: \u53ef\u590d\u7528\u9762\u5411\u5bf9\u8c61\u8f6f\u4ef6\u7684\u57fa\u7840 [ \u8c46\u74e3 ] \u5927\u8bdd\u8bbe\u8ba1\u6a21\u5f0f [ \u8c46\u74e3 ] Head First Design Patterns 2nd ed. [ \u8c46\u74e3 ]","title":"\u8bbe\u8ba1\u6a21\u5f0f"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_18","text":"\u52a8\u624b\u5b66\u6df1\u5ea6\u5b66\u4e60 [ \u8c46\u74e3 ] \u795e\u7ecf\u7f51\u7edc\u4e0e\u6df1\u5ea6\u5b66\u4e60 [ \u8c46\u74e3 ] \u6df1\u5ea6\u5b66\u4e60\u5165\u95e8 [ \u8c46\u74e3 ] \u7b80\u5355\u7c97\u66b4 TensorFlow 2 (Tutorial) Speech and Language Processing [ \u8c46\u74e3 ]","title":"\u6df1\u5ea6\u5b66\u4e60"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_19","text":"Multiple View Geometry in Computer Vision [ \u8c46\u74e3 ]","title":"\u8ba1\u7b97\u673a\u89c6\u89c9"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_20","text":"Probabilistic Robotics [ \u8c46\u74e3 ]","title":"\u673a\u5668\u4eba"},{"location":"en/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_21","text":"\u5251\u6307 Offer\uff1a\u540d\u4f01\u9762\u8bd5\u5b98\u7cbe\u8bb2\u5178\u578b\u7f16\u7a0b\u9898 [ \u8c46\u74e3 ] Cracking The Coding Interview [ \u8c46\u74e3 ]","title":"\u9762\u8bd5"},{"location":"en/Web%E5%BC%80%E5%8F%91/CS142/","text":"Stanford CS142: Web Applications Descriptions Offered by: Stanford Prerequisites: CS107 and CS108 Programming Languages: JavaScript/HTML/CSS Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is Stanford's Web Application course covers HTML, CSS, JavaScript, ReactJs, NodeJS, ExpressJS, Web Security, and more. Eight projects will enhance your web development skills in practice. Course Resources Course Website: https://web.stanford.edu/class/cs142/index.html Recordings: https://web.stanford.edu/class/cs142/lectures.html Assignments: https://web.stanford.edu/class/cs142/projects.html","title":"Stanford CS142: Web Applications"},{"location":"en/Web%E5%BC%80%E5%8F%91/CS142/#stanford-cs142-web-applications","text":"","title":"Stanford CS142: Web Applications"},{"location":"en/Web%E5%BC%80%E5%8F%91/CS142/#descriptions","text":"Offered by: Stanford Prerequisites: CS107 and CS108 Programming Languages: JavaScript/HTML/CSS Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is Stanford's Web Application course covers HTML, CSS, JavaScript, ReactJs, NodeJS, ExpressJS, Web Security, and more. Eight projects will enhance your web development skills in practice.","title":"Descriptions"},{"location":"en/Web%E5%BC%80%E5%8F%91/CS142/#course-resources","text":"Course Website: https://web.stanford.edu/class/cs142/index.html Recordings: https://web.stanford.edu/class/cs142/lectures.html Assignments: https://web.stanford.edu/class/cs142/projects.html","title":"Course Resources"},{"location":"en/Web%E5%BC%80%E5%8F%91/CS571/","text":"CS571 Building UI (React & React Native) Course Overview University: University of Wisconsin, Madison Prerequisites: CS400 (Advanced Java. But in my opinion you only need to master one programming language) Programming Languages: JavaScript/HTML/CSS Course Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Estimated Time Commitment: 2 hrs/week (lecture) + 4\u201310 hrs/week (HW), 12 weeks This course provides a comprehensive but concise introduction to the best practices of React front-end development and React Native mobile development. It focuses on the latest versions of React and React Native and is updated every semester. It is a valuable resource for tackling the complexities of front-end development. The course also offers a good training ground. Be prepared for a significant workload throughout the semester. The techniques and knowledge points involved in the homework will be explained in class, but code won't be written hand by hand (I personally think that hand-holding code writing is very inefficient, and most courses on Udemy are of this type). As this isn't a hand-holding course, if you are unsure about how to write React code when doing homework, I recommend spending extra time carefully reading the relevant chapters on react.dev before diving in. The starter code also provides you with a great starting point, saving you from coping with Node.js environment settings. Although this course doesn't require prior knowledge of Javascript/HTML/CSS, the classroom introduction to syntax is relatively limited. It's recommended to frequently consult resources and ask questions when encountering syntax issues during learning and coding. This course also includes an introduction to and practices for Dialog Flow, a ChatBot development tool by Google. You can also find content related to UX development (on the practical side) in this course. All course materials and assignments are open-source, but you will need to request an X-CS571-ID header from the instructor, Cole Nelson (ctnelson2@wisc.edu). The header will be necessary for API request. When sending an email, it is advisable to include a brief self-introduction. It is unclear whether the instructor is willing to give everyone an ID. If you got turned down, please raise an issue for this GitHub repo . Course Resources Course Website: https://cs571.org Course Videos: Refer to the links labeled \"R\" on the course website. Course Assignments: Refer to the course website for more information.","title":"CS571 Building UI (React & React Native)"},{"location":"en/Web%E5%BC%80%E5%8F%91/CS571/#cs571-building-ui-react-react-native","text":"","title":"CS571 Building UI (React & React Native)"},{"location":"en/Web%E5%BC%80%E5%8F%91/CS571/#course-overview","text":"University: University of Wisconsin, Madison Prerequisites: CS400 (Advanced Java. But in my opinion you only need to master one programming language) Programming Languages: JavaScript/HTML/CSS Course Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Estimated Time Commitment: 2 hrs/week (lecture) + 4\u201310 hrs/week (HW), 12 weeks This course provides a comprehensive but concise introduction to the best practices of React front-end development and React Native mobile development. It focuses on the latest versions of React and React Native and is updated every semester. It is a valuable resource for tackling the complexities of front-end development. The course also offers a good training ground. Be prepared for a significant workload throughout the semester. The techniques and knowledge points involved in the homework will be explained in class, but code won't be written hand by hand (I personally think that hand-holding code writing is very inefficient, and most courses on Udemy are of this type). As this isn't a hand-holding course, if you are unsure about how to write React code when doing homework, I recommend spending extra time carefully reading the relevant chapters on react.dev before diving in. The starter code also provides you with a great starting point, saving you from coping with Node.js environment settings. Although this course doesn't require prior knowledge of Javascript/HTML/CSS, the classroom introduction to syntax is relatively limited. It's recommended to frequently consult resources and ask questions when encountering syntax issues during learning and coding. This course also includes an introduction to and practices for Dialog Flow, a ChatBot development tool by Google. You can also find content related to UX development (on the practical side) in this course. All course materials and assignments are open-source, but you will need to request an X-CS571-ID header from the instructor, Cole Nelson (ctnelson2@wisc.edu). The header will be necessary for API request. When sending an email, it is advisable to include a brief self-introduction. It is unclear whether the instructor is willing to give everyone an ID. If you got turned down, please raise an issue for this GitHub repo .","title":"Course Overview"},{"location":"en/Web%E5%BC%80%E5%8F%91/CS571/#course-resources","text":"Course Website: https://cs571.org Course Videos: Refer to the links labeled \"R\" on the course website. Course Assignments: Refer to the course website for more information.","title":"Course Resources"},{"location":"en/Web%E5%BC%80%E5%8F%91/fullstackopen/","text":"University of Helsinki: Full Stack open 2022 Descriptions Offered by: University of Helsinki Prerequisites: Good programming skills, basic knowledge of web programming and databases, and have mastery of the Git version management system. Programming Languages: JavaScript/HTML/CSS/NoSQL/SQL Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: Varying according to the learner This course serves as an introduction to modern web application development with JavaScript. The main focus is on building single page applications with ReactJS that use REST APIs built with Node.js. The course also contains a section on GraphQL, a modern alternative to REST APIs. The course covers testing, configuration and environment management, and the use of MongoDB for storing the application\u2019s data. Resources Course Website: https://fullstackopen.com/en/ Assignments: refer to the course website Course group on Discord: https://study.cs.helsinki.fi/discord/join/fullstack/ Course group on Telegram: https://t.me/fullstackcourse/","title":"University of Helsinki: Full Stack open 2022"},{"location":"en/Web%E5%BC%80%E5%8F%91/fullstackopen/#university-of-helsinki-full-stack-open-2022","text":"","title":"University of Helsinki: Full Stack open 2022"},{"location":"en/Web%E5%BC%80%E5%8F%91/fullstackopen/#descriptions","text":"Offered by: University of Helsinki Prerequisites: Good programming skills, basic knowledge of web programming and databases, and have mastery of the Git version management system. Programming Languages: JavaScript/HTML/CSS/NoSQL/SQL Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: Varying according to the learner This course serves as an introduction to modern web application development with JavaScript. The main focus is on building single page applications with ReactJS that use REST APIs built with Node.js. The course also contains a section on GraphQL, a modern alternative to REST APIs. The course covers testing, configuration and environment management, and the use of MongoDB for storing the application\u2019s data.","title":"Descriptions"},{"location":"en/Web%E5%BC%80%E5%8F%91/fullstackopen/#resources","text":"Course Website: https://fullstackopen.com/en/ Assignments: refer to the course website Course group on Discord: https://study.cs.helsinki.fi/discord/join/fullstack/ Course group on Telegram: https://t.me/fullstackcourse/","title":"Resources"},{"location":"en/Web%E5%BC%80%E5%8F%91/mitweb/","text":"MIT Web Development Crash Course Descriptions Offered by: MIT Prerequisites: better if you are already proficient in a programming language Programming Languages: JavaScript/HTML/CSS/NoSQL Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: Varying according to the learner Independent Activities Period (IAP) is a four-week period in January during which faculty and students are freed from the rigors of regularly scheduled classes for flexible teaching and learning and for independent study and research, and that's how this web development course was born. Within a month, you will master the core content of designing, building, beautifying, and publishing a website from scratch, basically covering full-stack web development. If you don't need to learn web development systematically, but just want to add it to your toolkit out of interest, then this class will be perfect for you. Resources Course Website: https://weblab.mit.edu/schedule/ Recordings: refer to the course website. Assignments: refer to the course website.","title":"MIT web development course"},{"location":"en/Web%E5%BC%80%E5%8F%91/mitweb/#mit-web-development-crash-course","text":"","title":"MIT Web Development Crash Course"},{"location":"en/Web%E5%BC%80%E5%8F%91/mitweb/#descriptions","text":"Offered by: MIT Prerequisites: better if you are already proficient in a programming language Programming Languages: JavaScript/HTML/CSS/NoSQL Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: Varying according to the learner Independent Activities Period (IAP) is a four-week period in January during which faculty and students are freed from the rigors of regularly scheduled classes for flexible teaching and learning and for independent study and research, and that's how this web development course was born. Within a month, you will master the core content of designing, building, beautifying, and publishing a website from scratch, basically covering full-stack web development. If you don't need to learn web development systematically, but just want to add it to your toolkit out of interest, then this class will be perfect for you.","title":"Descriptions"},{"location":"en/Web%E5%BC%80%E5%8F%91/mitweb/#resources","text":"Course Website: https://weblab.mit.edu/schedule/ Recordings: refer to the course website. Assignments: refer to the course website.","title":"Resources"},{"location":"en/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/","text":"CS188: Introduction to Artificial Intelligence \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS70 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u4eba\u5de5\u667a\u80fd\u5165\u95e8\u8bfe\uff0c\u8bfe\u7a0b notes \u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u57fa\u672c\u4e0d\u9700\u8981\u89c2\u770b\u8bfe\u7a0b\u89c6\u9891\u3002\u8bfe\u7a0b\u5185\u5bb9\u7684\u5b89\u6392\u57fa\u672c\u6309\u7167\u4eba\u5de5\u667a\u80fd\u7684\u7ecf\u5178\u6559\u6750 Artificial intelligence: A Modern Approach \u7684\u7ae0\u8282\u987a\u5e8f\uff0c\u8986\u76d6\u4e86\u641c\u7d22\u526a\u679d\u3001\u7ea6\u675f\u6ee1\u8db3\u95ee\u9898\u3001\u9a6c\u5c14\u53ef\u592b\u51b3\u7b56\u8fc7\u7a0b\u3001\u5f3a\u5316\u5b66\u4e60\u3001\u8d1d\u53f6\u65af\u7f51\u7edc\u3001\u9690\u9a6c\u5c14\u53ef\u592b\u6a21\u578b\u4ee5\u53ca\u57fa\u7840\u7684\u673a\u5668\u5b66\u4e60\u548c\u795e\u7ecf\u7f51\u7edc\u7684\u76f8\u5173\u5185\u5bb9\u3002 2018\u5e74\u79cb\u5b63\u5b66\u671f\u7684\u7248\u672c\u514d\u8d39\u5f00\u653e\u4e86 gradescope\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728\u7ebf\u5b8c\u6210\u4e66\u9762\u4f5c\u4e1a\u5e76\u5b9e\u65f6\u5f97\u5230\u6d4b\u8bc4\u7ed3\u679c\u3002\u540c\u65f6\u8bfe\u7a0b\u7684 6 \u4e2a Project \u4e5f\u662f\u8d28\u91cf\u7206\u70b8\uff0c\u590d\u73b0\u4e86\u7ecf\u5178\u7684 Packman\uff08\u5403\u8c46\u4eba\uff09\u5c0f\u6e38\u620f\uff0c\u4f1a\u8ba9\u4f60\u5229\u7528\u5b66\u5230\u7684 AI \u77e5\u8bc6\uff0c\u53bb\u5b9e\u73b0\u76f8\u5173\u7b97\u6cd5\uff0c\u8ba9\u4f60\u7684\u5403\u8c46\u4eba\u5728\u8ff7\u5bab\u91cc\u81ea\u7531\u7a7f\u68ad\uff0c\u8eb2\u907f\u9b3c\u602a\uff0c\u6536\u96c6\u8c46\u5b50\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a Fall 2022 \uff0c Fall 2018 \u8bfe\u7a0b\u89c6\u9891\uff1a Fall 2022 \uff0c Fall 2018 \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1aArtificial intelligence: A Modern Approach \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5728\u7ebf\u6d4b\u8bc4\u4e66\u9762\u4f5c\u4e1a\u548c Projects\uff0c\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"UCB CS188: Introduction to Artificial Intelligence"},{"location":"en/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/#cs188-introduction-to-artificial-intelligence","text":"","title":"CS188: Introduction to Artificial Intelligence"},{"location":"en/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS70 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u4eba\u5de5\u667a\u80fd\u5165\u95e8\u8bfe\uff0c\u8bfe\u7a0b notes \u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u57fa\u672c\u4e0d\u9700\u8981\u89c2\u770b\u8bfe\u7a0b\u89c6\u9891\u3002\u8bfe\u7a0b\u5185\u5bb9\u7684\u5b89\u6392\u57fa\u672c\u6309\u7167\u4eba\u5de5\u667a\u80fd\u7684\u7ecf\u5178\u6559\u6750 Artificial intelligence: A Modern Approach \u7684\u7ae0\u8282\u987a\u5e8f\uff0c\u8986\u76d6\u4e86\u641c\u7d22\u526a\u679d\u3001\u7ea6\u675f\u6ee1\u8db3\u95ee\u9898\u3001\u9a6c\u5c14\u53ef\u592b\u51b3\u7b56\u8fc7\u7a0b\u3001\u5f3a\u5316\u5b66\u4e60\u3001\u8d1d\u53f6\u65af\u7f51\u7edc\u3001\u9690\u9a6c\u5c14\u53ef\u592b\u6a21\u578b\u4ee5\u53ca\u57fa\u7840\u7684\u673a\u5668\u5b66\u4e60\u548c\u795e\u7ecf\u7f51\u7edc\u7684\u76f8\u5173\u5185\u5bb9\u3002 2018\u5e74\u79cb\u5b63\u5b66\u671f\u7684\u7248\u672c\u514d\u8d39\u5f00\u653e\u4e86 gradescope\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728\u7ebf\u5b8c\u6210\u4e66\u9762\u4f5c\u4e1a\u5e76\u5b9e\u65f6\u5f97\u5230\u6d4b\u8bc4\u7ed3\u679c\u3002\u540c\u65f6\u8bfe\u7a0b\u7684 6 \u4e2a Project \u4e5f\u662f\u8d28\u91cf\u7206\u70b8\uff0c\u590d\u73b0\u4e86\u7ecf\u5178\u7684 Packman\uff08\u5403\u8c46\u4eba\uff09\u5c0f\u6e38\u620f\uff0c\u4f1a\u8ba9\u4f60\u5229\u7528\u5b66\u5230\u7684 AI \u77e5\u8bc6\uff0c\u53bb\u5b9e\u73b0\u76f8\u5173\u7b97\u6cd5\uff0c\u8ba9\u4f60\u7684\u5403\u8c46\u4eba\u5728\u8ff7\u5bab\u91cc\u81ea\u7531\u7a7f\u68ad\uff0c\u8eb2\u907f\u9b3c\u602a\uff0c\u6536\u96c6\u8c46\u5b50\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a Fall 2022 \uff0c Fall 2018 \u8bfe\u7a0b\u89c6\u9891\uff1a Fall 2022 \uff0c Fall 2018 \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1aArtificial intelligence: A Modern Approach \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5728\u7ebf\u6d4b\u8bc4\u4e66\u9762\u4f5c\u4e1a\u548c Projects\uff0c\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/","text":"Harvard's CS50: Introduction to AI with Python Descriptions Offered by: Harvard University Prerequisites: Basic knowledge of probability theory and Python Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 30 A very basic introductory AI course, what makes it stand out is the 12 well-designed programming assignments, all of which will use the learned knowledge to implement a simple game AI, such as using reinforcement learning to play Nim game, using max-min search with alpha-beta pruning to sweep mines, and so on. It's perfect for newbies to get started or bigwigs to relax. Course Resources Course Website: https://cs50.harvard.edu/ai/2020/ Recordings: https://cs50.harvard.edu/ai/2020/ Textbooks: No textbook is needed in this course. Assignments: https://cs50.harvard.edu/ai/2020/ with 12 programming labs of high quality mentioned above. Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/cs50_ai - GitHub .","title":"Harvard CS50's Introduction to AI with Python"},{"location":"en/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#harvards-cs50-introduction-to-ai-with-python","text":"","title":"Harvard's CS50: Introduction to AI with Python"},{"location":"en/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#descriptions","text":"Offered by: Harvard University Prerequisites: Basic knowledge of probability theory and Python Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 30 A very basic introductory AI course, what makes it stand out is the 12 well-designed programming assignments, all of which will use the learned knowledge to implement a simple game AI, such as using reinforcement learning to play Nim game, using max-min search with alpha-beta pruning to sweep mines, and so on. It's perfect for newbies to get started or bigwigs to relax.","title":"Descriptions"},{"location":"en/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#course-resources","text":"Course Website: https://cs50.harvard.edu/ai/2020/ Recordings: https://cs50.harvard.edu/ai/2020/ Textbooks: No textbook is needed in this course. Assignments: https://cs50.harvard.edu/ai/2020/ with 12 programming labs of high quality mentioned above.","title":"Course Resources"},{"location":"en/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/cs50_ai - GitHub .","title":"Personal Resources"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/","text":"CS61C: Great Ideas in Computer Architecture Descriptions Offered by: UC Berkeley Prerequisites: CS61A, CS61B Programming Languages: C Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is the last course in Berkeley's CS61 series, which dives into the internal of computer architecture and will make you understand how the C language is translated into RISC-V assembly language and executed on the CPU. Unlike Nand2Tetris , this course is much more difficult and more in-depth, covering pipelining, cache, virtual memory, and concurrency-related content. The projects are very innovative and interesting. Project1 is a warmup assignment in C. In 2020Fall, you will implement the famous Game of Life . Project2 requires you to write a fully-connected neural network in RISC-V assembly to classify handwritten digits in MNIST dataset, which is a great exercise to write assembly code. In Project3, you will use Logisim, a digital circuit simulation software, to build a two-stage pipeline CPU from scratch and run RISC-V assembly code on it. In Project4 you will implement a toy version of Numpy, using OpenMP, SIMD, and other techniques to speed up matrix operations. In a word, this is the best computer architecture course I have ever taken. Course Resources Course Website: https://cs61c.org/su20/ Recordings: Youtube Textbook: None Assignments: 11 Labs, 4 Projects, the course website has specific requirements. Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS61C-summer20 - GitHub .","title":"UCB CS61C: Great Ideas in Computer Architecture"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#cs61c-great-ideas-in-computer-architecture","text":"","title":"CS61C: Great Ideas in Computer Architecture"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#descriptions","text":"Offered by: UC Berkeley Prerequisites: CS61A, CS61B Programming Languages: C Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is the last course in Berkeley's CS61 series, which dives into the internal of computer architecture and will make you understand how the C language is translated into RISC-V assembly language and executed on the CPU. Unlike Nand2Tetris , this course is much more difficult and more in-depth, covering pipelining, cache, virtual memory, and concurrency-related content. The projects are very innovative and interesting. Project1 is a warmup assignment in C. In 2020Fall, you will implement the famous Game of Life . Project2 requires you to write a fully-connected neural network in RISC-V assembly to classify handwritten digits in MNIST dataset, which is a great exercise to write assembly code. In Project3, you will use Logisim, a digital circuit simulation software, to build a two-stage pipeline CPU from scratch and run RISC-V assembly code on it. In Project4 you will implement a toy version of Numpy, using OpenMP, SIMD, and other techniques to speed up matrix operations. In a word, this is the best computer architecture course I have ever taken.","title":"Descriptions"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#course-resources","text":"Course Website: https://cs61c.org/su20/ Recordings: Youtube Textbook: None Assignments: 11 Labs, 4 Projects, the course website has specific requirements.","title":"Course Resources"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS61C-summer20 - GitHub .","title":"Personal Resources"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/","text":"CMU CS15213: CSAPP Descriptions Offered by: CMU Prerequisites: CS61A, CS61B Programming Languages: C Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours This course is one of CMU's most reputable courses, and is known for its extensive content and difficult projects. The course covers assembly language, computer architecture, operating systems, compilation and linking, parallelism, networking, etc. As an introductory course of computer system, it has both breadth and depth, and does require considerable perseverance and coding skills if you learn it on your own. The textbook for this course, known as CSAPP, was written by Professor Bryant, Dean of the School of Computer Science at CMU. This is also the first computer textbook that I read carefully from the start to the end, although it was tough, I gained a lot from it. Peking University purchased the copyright of the course and opened a similar one, but you can have access to all of the course resources on its official homepage (see the link below for details). This course is so famous that you can easily have access to the project solutions on the Internet. But if you really want to practice your coding skills, it is highly recommended to implement the projects on your own. After completing this course, your understanding of computer systems will definitely go up a notch. Course Resources Course Website: http://csapp.cs.cmu.edu/ Recordings: https://scs.hosted.panopto.com/Panopto/Pages/Sessions/List.aspx#folderID=%22b96d90ae-9871-4fae-91e2-b1627b43e25e%22 Textbook: Computer Systems: A Programmer's Perspective, 3/E Assignments: 11 Projects, skeleton code all open source . If you have trouble with Chapter 7 Linking, I recommend reading the book Programmer's Self-Cultivation , subtitled link. load and library. This book can complete our understanding of program linking, and I believe after reading this book you will have a deeper comprehension of program linking, ELF files, and dynamic libraries. It is highly recommended to be read as a supplementary material after reading CSAPP and having a certain understanding of computer systems.","title":"CMU 15-213: CSAPP"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/#cmu-cs15213-csapp","text":"","title":"CMU CS15213: CSAPP"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/#descriptions","text":"Offered by: CMU Prerequisites: CS61A, CS61B Programming Languages: C Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours This course is one of CMU's most reputable courses, and is known for its extensive content and difficult projects. The course covers assembly language, computer architecture, operating systems, compilation and linking, parallelism, networking, etc. As an introductory course of computer system, it has both breadth and depth, and does require considerable perseverance and coding skills if you learn it on your own. The textbook for this course, known as CSAPP, was written by Professor Bryant, Dean of the School of Computer Science at CMU. This is also the first computer textbook that I read carefully from the start to the end, although it was tough, I gained a lot from it. Peking University purchased the copyright of the course and opened a similar one, but you can have access to all of the course resources on its official homepage (see the link below for details). This course is so famous that you can easily have access to the project solutions on the Internet. But if you really want to practice your coding skills, it is highly recommended to implement the projects on your own. After completing this course, your understanding of computer systems will definitely go up a notch.","title":"Descriptions"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/#course-resources","text":"Course Website: http://csapp.cs.cmu.edu/ Recordings: https://scs.hosted.panopto.com/Panopto/Pages/Sessions/List.aspx#folderID=%22b96d90ae-9871-4fae-91e2-b1627b43e25e%22 Textbook: Computer Systems: A Programmer's Perspective, 3/E Assignments: 11 Projects, skeleton code all open source . If you have trouble with Chapter 7 Linking, I recommend reading the book Programmer's Self-Cultivation , subtitled link. load and library. This book can complete our understanding of program linking, and I believe after reading this book you will have a deeper comprehension of program linking, ELF files, and dynamic libraries. It is highly recommended to be read as a supplementary material after reading CSAPP and having a certain understanding of computer systems.","title":"Course Resources"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/DDCA/","text":"Digital Design and Computer Architecture Descriptions Offered by: ETH Zurich Prerequisites: CS50 or same level course; Better have a basic knowledge of C Programming Languages: C, Verilog, MIPS, LC3 Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours In this course, Onur Mutlu, a great expert in the field of Computer Architecture, will teach you about digital circuits and computer architecture. The course is entirely from the perspective of a computer designer, starting with transistors and logic gates and extending to microarchitecture, caches, and virtual memory. It also covers many of the latest research advances in the field of computer architecture. After learning, you will master digital circuits, hardware description language Verilog, MIPS instruction set, CPU design and performance analysis, pipelining, cache, virtual memory, and so on. There are 9 labs in the course. You will use the Basys 3 FPGA board and Vivado to design and synthesize the circuits, starting from combinational and sequential circuits, and eventually assembly into a complete CPU. Except for assignment solutions, all the course materials are open source. Course Resources Course Website: https://safari.ethz.ch/digitaltechnik/spring2020/ Recordings: https://www.youtube.com/playlist?list=PL5Q2soXY2Zi_FRrloMa2fUYWPGiZUBQo2 Textbook1: Patt and Patel, Introduction to Computing Systems Textbook2: Harris and Harris, Digital Design and Computer Architecture (MIPS Edition) Assignments: refer to the course website.","title":"Digital Design and Computer Architecture"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/DDCA/#digital-design-and-computer-architecture","text":"","title":"Digital Design and Computer Architecture"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/DDCA/#descriptions","text":"Offered by: ETH Zurich Prerequisites: CS50 or same level course; Better have a basic knowledge of C Programming Languages: C, Verilog, MIPS, LC3 Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours In this course, Onur Mutlu, a great expert in the field of Computer Architecture, will teach you about digital circuits and computer architecture. The course is entirely from the perspective of a computer designer, starting with transistors and logic gates and extending to microarchitecture, caches, and virtual memory. It also covers many of the latest research advances in the field of computer architecture. After learning, you will master digital circuits, hardware description language Verilog, MIPS instruction set, CPU design and performance analysis, pipelining, cache, virtual memory, and so on. There are 9 labs in the course. You will use the Basys 3 FPGA board and Vivado to design and synthesize the circuits, starting from combinational and sequential circuits, and eventually assembly into a complete CPU. Except for assignment solutions, all the course materials are open source.","title":"Descriptions"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/DDCA/#course-resources","text":"Course Website: https://safari.ethz.ch/digitaltechnik/spring2020/ Recordings: https://www.youtube.com/playlist?list=PL5Q2soXY2Zi_FRrloMa2fUYWPGiZUBQo2 Textbook1: Patt and Patel, Introduction to Computing Systems Textbook2: Harris and Harris, Digital Design and Computer Architecture (MIPS Edition) Assignments: refer to the course website.","title":"Course Resources"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/","text":"Coursera: Nand2Tetris Descriptions Offered by: Hebrew University of Jerusalem Prerequisites: None Programming Languages: Chosen by the course taker Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 40 hours As one of the most popular courses on Coursera , tens of thousands of people give it a full score, and over four hundred colleges and high schools teach it. It guides the students who may have no preparatory knowledge in computer science to build a whole computer from Nand logic gates and finally run the Tetris game on it. Sounds cool, right? It's even cooler when you implement it! The course is divided into hardware modules and software modules respectively. In the hardware modules, you will dive into a world based on 0 and 1, create various logic gates from Nand gates, and construct a CPU step by step to run a simplified instruction set designed by the course instructors. In the software modules, you will first write a compiler to compile a high-level language Jack which is designed by the instructors into byte codes that can run on virtual machines. Then you will further translate the byte codes into assembly language that can run on the CPU you create in the hardware modules. You will also develop a simple operating system that enables your computer to support GUI. Finally, you can use Jack to create the Tetris game, compile it into assembly language, run it on your self-made CPU, and interact with it through the OS built by yourself. After taking this course, you will have a comprehensive and profound understanding of the entire computer architecture, which might be extremely helpful to your subsequent learning. You may think that the course is too difficult. Don't worry, because it is completely designed for laymen. In the instructors' expectations, even high school students can understand the content. So as long as you keep pace with the syllabus, you can finish it within a month. This course extracts the essence of computers while omitting the tedious and complex details in modern computer systems that are designed for efficiency and performance. Surely you will enjoy the elegance and magic of computers in a relaxing and jolly journey. Course Resources Course Website: Nand2Tetris I , Nand2Tetris II Recordings: Refer to course website Textbook: The Elements of Computing Systems: Building a Modern Computer from First Principles (CN-zh version) Assignments: 10 projects to construct a computer, refer to the course website for more details Personal Resources All the resources and assignments used by @PKUFlyingPig are maintained in PKUFlyingPig/NandToTetris - GitHub .","title":"Coursera: Nand2Tetris"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#coursera-nand2tetris","text":"","title":"Coursera: Nand2Tetris"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#descriptions","text":"Offered by: Hebrew University of Jerusalem Prerequisites: None Programming Languages: Chosen by the course taker Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 40 hours As one of the most popular courses on Coursera , tens of thousands of people give it a full score, and over four hundred colleges and high schools teach it. It guides the students who may have no preparatory knowledge in computer science to build a whole computer from Nand logic gates and finally run the Tetris game on it. Sounds cool, right? It's even cooler when you implement it! The course is divided into hardware modules and software modules respectively. In the hardware modules, you will dive into a world based on 0 and 1, create various logic gates from Nand gates, and construct a CPU step by step to run a simplified instruction set designed by the course instructors. In the software modules, you will first write a compiler to compile a high-level language Jack which is designed by the instructors into byte codes that can run on virtual machines. Then you will further translate the byte codes into assembly language that can run on the CPU you create in the hardware modules. You will also develop a simple operating system that enables your computer to support GUI. Finally, you can use Jack to create the Tetris game, compile it into assembly language, run it on your self-made CPU, and interact with it through the OS built by yourself. After taking this course, you will have a comprehensive and profound understanding of the entire computer architecture, which might be extremely helpful to your subsequent learning. You may think that the course is too difficult. Don't worry, because it is completely designed for laymen. In the instructors' expectations, even high school students can understand the content. So as long as you keep pace with the syllabus, you can finish it within a month. This course extracts the essence of computers while omitting the tedious and complex details in modern computer systems that are designed for efficiency and performance. Surely you will enjoy the elegance and magic of computers in a relaxing and jolly journey.","title":"Descriptions"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#course-resources","text":"Course Website: Nand2Tetris I , Nand2Tetris II Recordings: Refer to course website Textbook: The Elements of Computing Systems: Building a Modern Computer from First Principles (CN-zh version) Assignments: 10 projects to construct a computer, refer to the course website for more details","title":"Course Resources"},{"location":"en/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig are maintained in PKUFlyingPig/NandToTetris - GitHub .","title":"Personal Resources"},{"location":"en/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/","text":"CMU 15-418/Stanford CS149: Parallel Computing Descriptions Offered by: CMU and Stanford Prerequisites: Computer Architecture, C++ Programming Languages: C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours The professor Kayvon Fatahalian used to teach course 15-418 at CMU. After he became an assistant professor at Stanford, he offered a similar course, CS149 at Stanford. In general, the 15-418 version is more comprehensive and has lecture recordings, but CS149's programming assignments are more fashionable. Personally, I watched the recordings of 15-418 but completed the assignments of CS149. The goal of this course is to provide a deep understanding of the fundamental principles and engineering trade-offs involved in designing modern parallel computing systems, as well as to teach how to utilize hardwares and software programming frameworks (such as CUDA, MPI, OpenMP, etc.) for writing high-performance parallel programs. Due to the complexity of parallel computing architecture, this course involves a lot of advanced computer architecture and network communication content, the knowledge is quite low-level and hardcore. Meanwhile, the five assignments develop your understanding and application of upper-level abstraction through software, specifically by analyzing bottlenecks in parallel programs, writing multi-threaded synchronization code, learning CUDA programming, OpenMP programming, and the popular Spark framework, etc. It really combines theory and practice perfectly. Resources Course Website: CMU15418 , CS149 Recordings: http://15418.courses.cs.cmu.edu/spring2016/lectures Textbook: None Assignments: https://gfxcourses.stanford.edu/cs149/fall21 , 5 assignments. Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS149-parallel-computing - GitHub .","title":"CMU 15-418/Stanford CS149: Parallel Computing"},{"location":"en/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/#cmu-15-418stanford-cs149-parallel-computing","text":"","title":"CMU 15-418/Stanford CS149: Parallel Computing"},{"location":"en/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/#descriptions","text":"Offered by: CMU and Stanford Prerequisites: Computer Architecture, C++ Programming Languages: C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours The professor Kayvon Fatahalian used to teach course 15-418 at CMU. After he became an assistant professor at Stanford, he offered a similar course, CS149 at Stanford. In general, the 15-418 version is more comprehensive and has lecture recordings, but CS149's programming assignments are more fashionable. Personally, I watched the recordings of 15-418 but completed the assignments of CS149. The goal of this course is to provide a deep understanding of the fundamental principles and engineering trade-offs involved in designing modern parallel computing systems, as well as to teach how to utilize hardwares and software programming frameworks (such as CUDA, MPI, OpenMP, etc.) for writing high-performance parallel programs. Due to the complexity of parallel computing architecture, this course involves a lot of advanced computer architecture and network communication content, the knowledge is quite low-level and hardcore. Meanwhile, the five assignments develop your understanding and application of upper-level abstraction through software, specifically by analyzing bottlenecks in parallel programs, writing multi-threaded synchronization code, learning CUDA programming, OpenMP programming, and the popular Spark framework, etc. It really combines theory and practice perfectly.","title":"Descriptions"},{"location":"en/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/#resources","text":"Course Website: CMU15418 , CS149 Recordings: http://15418.courses.cs.cmu.edu/spring2016/lectures Textbook: None Assignments: https://gfxcourses.stanford.edu/cs149/fall21 , 5 assignments.","title":"Resources"},{"location":"en/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS149-parallel-computing - GitHub .","title":"Personal Resources"},{"location":"en/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/","text":"MIT6.824: Distributed System Descriptions Offered by: MIT Prerequisites: Computer Architecture, Parallel Computing Programming Languages: Go Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 200 hours This course, the same as MIT 6.S081, comes from the renowned MIT PDOS Lab. The instructor, Professor Robert Morris, was once a famous hacker who created 'Morris', the first worm virus in the world. Each lecture will discuss a classic paper in the field of distributed systems, teaching you the important principles and key techniques of distributed systems design and implementation. The Project is known for its difficulty. In four programming assignments, you will implement a KV-store framework step by step based on the Raft consensus algorithm, allowing you to experience the randomness and complexity to implement and debug a distributed system. This course is so famous that you can easily have access to the project solutions on the Internet. It is highly recommended to implement the projects on your own. Resources Course Website: https://pdos.csail.mit.edu/6.824/schedule.html Assignments: refer to the course website. Textbook: None Assignments: 4 torturing projects, the course website has specific requirements. Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/MIT6.824 - GitHub . @ OneSizeFitsQuorum has written a Lab Documentation that quite clearly describes many of the details to be considered when implementing lab 1-4 and challenge 1-2, you can read when you encounter bottlenecks ~ ~","title":"MIT 6.824: Distributed System"},{"location":"en/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#mit6824-distributed-system","text":"","title":"MIT6.824: Distributed System"},{"location":"en/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#descriptions","text":"Offered by: MIT Prerequisites: Computer Architecture, Parallel Computing Programming Languages: Go Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 200 hours This course, the same as MIT 6.S081, comes from the renowned MIT PDOS Lab. The instructor, Professor Robert Morris, was once a famous hacker who created 'Morris', the first worm virus in the world. Each lecture will discuss a classic paper in the field of distributed systems, teaching you the important principles and key techniques of distributed systems design and implementation. The Project is known for its difficulty. In four programming assignments, you will implement a KV-store framework step by step based on the Raft consensus algorithm, allowing you to experience the randomness and complexity to implement and debug a distributed system. This course is so famous that you can easily have access to the project solutions on the Internet. It is highly recommended to implement the projects on your own.","title":"Descriptions"},{"location":"en/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#resources","text":"Course Website: https://pdos.csail.mit.edu/6.824/schedule.html Assignments: refer to the course website. Textbook: None Assignments: 4 torturing projects, the course website has specific requirements.","title":"Resources"},{"location":"en/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/MIT6.824 - GitHub . @ OneSizeFitsQuorum has written a Lab Documentation that quite clearly describes many of the details to be considered when implementing lab 1-4 and challenge 1-2, you can read when you encounter bottlenecks ~ ~","title":"Personal Resources"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/","text":"CMake Why CMake Similar to GNU make, CMake is a cross-platform tool designed to build, test and package software. It uses CMakeLists.txt to define build configuration, and have more functionalities compared to GNU make. It is highly recommended to learn GNU Make and get familiar with Makefile first before learning CMake. How to learn CMake Compare to Makefile , CMakeLists.txt is more obscure and difficult to understand and use. Nowadays many IDEs (e.g., Visual Studio, CLion) offer functionalities to generate CMakeLists.txt automatically, but it's still necessary to manage basic usage of CMakeLists.txt . Besides Official CMake Tutorial , this one-hour video tutorial (in Chinese) presented by IPADS group at SJTU is also a good learning resource.","title":"CMake"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/#cmake","text":"","title":"CMake"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/#why-cmake","text":"Similar to GNU make, CMake is a cross-platform tool designed to build, test and package software. It uses CMakeLists.txt to define build configuration, and have more functionalities compared to GNU make. It is highly recommended to learn GNU Make and get familiar with Makefile first before learning CMake.","title":"Why CMake"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/#how-to-learn-cmake","text":"Compare to Makefile , CMakeLists.txt is more obscure and difficult to understand and use. Nowadays many IDEs (e.g., Visual Studio, CLion) offer functionalities to generate CMakeLists.txt automatically, but it's still necessary to manage basic usage of CMakeLists.txt . Besides Official CMake Tutorial , this one-hour video tutorial (in Chinese) presented by IPADS group at SJTU is also a good learning resource.","title":"How to learn CMake"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/","text":"Docker \u4e3a\u4ec0\u4e48\u4f7f\u7528 Docker \u4f7f\u7528\u522b\u4eba\u5199\u597d\u7684\u8f6f\u4ef6/\u5de5\u5177\u6700\u5927\u7684\u969c\u788d\u662f\u4ec0\u4e48\u2014\u2014\u5fc5\u7136\u662f\u914d\u73af\u5883\u3002\u914d\u73af\u5883\u5e26\u6765\u7684\u6298\u78e8\u4f1a\u6781\u5927\u5730\u6d88\u89e3\u4f60\u5bf9\u8f6f\u4ef6\u3001\u7f16\u7a0b\u672c\u8eab\u7684\u5174\u8da3\u3002\u865a\u62df\u673a\u53ef\u4ee5\u89e3\u51b3\u914d\u73af\u5883\u7684\u4e00\u90e8\u5206\u95ee\u9898\uff0c\u4f46\u5b83\u5e9e\u5927\u7b28\u91cd\uff0c\u4e14\u4e3a\u4e86\u67d0\u4e2a\u5e94\u7528\u7684\u73af\u5883\u914d\u7f6e\u597d\u50cf\u4e5f\u4e0d\u503c\u5f97\u6a21\u62df\u4e00\u4e2a\u5168\u65b0\u7684\u64cd\u4f5c\u7cfb\u7edf\u3002 Docker \u7684\u51fa\u73b0\u8ba9\u73af\u5883\u914d\u7f6e\u53d8\u5f97\uff08\u6216\u8bb8\uff09\u4e0d\u518d\u6298\u78e8\u3002\u7b80\u5355\u6765\u8bf4 Docker \u4f7f\u7528\u8f7b\u91cf\u7ea7\u7684\u201c\u5bb9\u5668\u201d\uff08container\uff09\u800c\u4e0d\u662f\u6574\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u53bb\u652f\u6301\u4e00\u4e2a\u5e94\u7528\u7684\u914d\u7f6e\u3002\u5e94\u7528\u81ea\u8eab\u8fde\u540c\u5b83\u7684\u73af\u5883\u914d\u7f6e\u88ab\u6253\u5305\u4e3a\u4e00\u4e2a\u4e2a image \u53ef\u4ee5\u81ea\u7531\u8fd0\u884c\u5728\u4e0d\u540c\u5e73\u53f0\u7684\u4e00\u4e2a\u4e2a container \u4e2d\uff0c\u8fd9\u6781\u5927\u5730\u8282\u7701\u4e86\u6240\u6709\u4eba\u7684\u65f6\u95f4\u6210\u672c\u3002 \u5982\u4f55\u5b66\u4e60 Docker Docker \u5b98\u65b9\u6587\u6863 \u5f53\u7136\u662f\u6700\u597d\u7684\u521d\u5b66\u6559\u6750\uff0c\u4f46\u6700\u597d\u7684\u5bfc\u5e08\u4e00\u5b9a\u662f\u4f60\u81ea\u5df1\u2014\u2014\u5c1d\u8bd5\u53bb\u4f7f\u7528 Docker \u624d\u80fd\u4eab\u53d7\u5b83\u5e26\u6765\u7684\u4fbf\u5229\u3002Docker \u5728\u5de5\u4e1a\u754c\u53d1\u5c55\u8fc5\u731b\u5e76\u5df2\u7ecf\u975e\u5e38\u6210\u719f\uff0c\u4f60\u53ef\u4ee5\u4e0b\u8f7d\u5b83\u7684\u684c\u9762\u7aef\u5e76\u4f7f\u7528\u56fe\u5f62\u754c\u9762\u3002 \u5f53\u7136\uff0c\u5982\u679c\u4f60\u50cf\u6211\u4e00\u6837\uff0c\u662f\u4e00\u4e2a\u75af\u72c2\u7684\u9020\u8f6e\u5b50\u7231\u597d\u8005\uff0c\u90a3\u4e0d\u59a8\u81ea\u5df1\u4eb2\u624b\u5199\u4e00\u4e2a \u8ff7\u4f60 Docker \u6765\u52a0\u6df1\u7406\u89e3\u3002 KodeKloud Docker for the Absolute Beginner \u5168\u9762\u7684\u4ecb\u7ecd\u4e86 Docker \u7684\u57fa\u7840\u529f\u80fd\uff0c\u5e76\u4e14\u6709\u5927\u91cf\u7684\u914d\u5957\u7ec3\u4e60\uff0c\u540c\u65f6\u63d0\u4f9b\u514d\u8d39\u7684\u4e91\u73af\u5883\u6765\u5b8c\u6210\u7ec3\u4e60\u3002\u5176\u4f59\u7684\u4e91\u76f8\u5173\u7684\u8bfe\u7a0b\u5982 Kubernetes \u9700\u8981\u4ed8\u8d39\uff0c\u4f46\u4e2a\u4eba\u5f3a\u70c8\u63a8\u8350\uff1a\u8bb2\u89e3\u975e\u5e38\u4ed4\u7ec6\uff0c\u9002\u5408\u4ece 0 \u5f00\u59cb\u7684\u65b0\u624b\uff1b\u6709\u914d\u5957\u7684 Kubernetes \u7684\u5b9e\u9a8c\u73af\u5883\uff0c\u4e0d\u7528\u88ab\u642d\u5efa\u73af\u5883\u529d\u9000\u3002","title":"Docker"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/#docker","text":"","title":"Docker"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/#docker_1","text":"\u4f7f\u7528\u522b\u4eba\u5199\u597d\u7684\u8f6f\u4ef6/\u5de5\u5177\u6700\u5927\u7684\u969c\u788d\u662f\u4ec0\u4e48\u2014\u2014\u5fc5\u7136\u662f\u914d\u73af\u5883\u3002\u914d\u73af\u5883\u5e26\u6765\u7684\u6298\u78e8\u4f1a\u6781\u5927\u5730\u6d88\u89e3\u4f60\u5bf9\u8f6f\u4ef6\u3001\u7f16\u7a0b\u672c\u8eab\u7684\u5174\u8da3\u3002\u865a\u62df\u673a\u53ef\u4ee5\u89e3\u51b3\u914d\u73af\u5883\u7684\u4e00\u90e8\u5206\u95ee\u9898\uff0c\u4f46\u5b83\u5e9e\u5927\u7b28\u91cd\uff0c\u4e14\u4e3a\u4e86\u67d0\u4e2a\u5e94\u7528\u7684\u73af\u5883\u914d\u7f6e\u597d\u50cf\u4e5f\u4e0d\u503c\u5f97\u6a21\u62df\u4e00\u4e2a\u5168\u65b0\u7684\u64cd\u4f5c\u7cfb\u7edf\u3002 Docker \u7684\u51fa\u73b0\u8ba9\u73af\u5883\u914d\u7f6e\u53d8\u5f97\uff08\u6216\u8bb8\uff09\u4e0d\u518d\u6298\u78e8\u3002\u7b80\u5355\u6765\u8bf4 Docker \u4f7f\u7528\u8f7b\u91cf\u7ea7\u7684\u201c\u5bb9\u5668\u201d\uff08container\uff09\u800c\u4e0d\u662f\u6574\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u53bb\u652f\u6301\u4e00\u4e2a\u5e94\u7528\u7684\u914d\u7f6e\u3002\u5e94\u7528\u81ea\u8eab\u8fde\u540c\u5b83\u7684\u73af\u5883\u914d\u7f6e\u88ab\u6253\u5305\u4e3a\u4e00\u4e2a\u4e2a image \u53ef\u4ee5\u81ea\u7531\u8fd0\u884c\u5728\u4e0d\u540c\u5e73\u53f0\u7684\u4e00\u4e2a\u4e2a container \u4e2d\uff0c\u8fd9\u6781\u5927\u5730\u8282\u7701\u4e86\u6240\u6709\u4eba\u7684\u65f6\u95f4\u6210\u672c\u3002","title":"\u4e3a\u4ec0\u4e48\u4f7f\u7528 Docker"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/#docker_2","text":"Docker \u5b98\u65b9\u6587\u6863 \u5f53\u7136\u662f\u6700\u597d\u7684\u521d\u5b66\u6559\u6750\uff0c\u4f46\u6700\u597d\u7684\u5bfc\u5e08\u4e00\u5b9a\u662f\u4f60\u81ea\u5df1\u2014\u2014\u5c1d\u8bd5\u53bb\u4f7f\u7528 Docker \u624d\u80fd\u4eab\u53d7\u5b83\u5e26\u6765\u7684\u4fbf\u5229\u3002Docker \u5728\u5de5\u4e1a\u754c\u53d1\u5c55\u8fc5\u731b\u5e76\u5df2\u7ecf\u975e\u5e38\u6210\u719f\uff0c\u4f60\u53ef\u4ee5\u4e0b\u8f7d\u5b83\u7684\u684c\u9762\u7aef\u5e76\u4f7f\u7528\u56fe\u5f62\u754c\u9762\u3002 \u5f53\u7136\uff0c\u5982\u679c\u4f60\u50cf\u6211\u4e00\u6837\uff0c\u662f\u4e00\u4e2a\u75af\u72c2\u7684\u9020\u8f6e\u5b50\u7231\u597d\u8005\uff0c\u90a3\u4e0d\u59a8\u81ea\u5df1\u4eb2\u624b\u5199\u4e00\u4e2a \u8ff7\u4f60 Docker \u6765\u52a0\u6df1\u7406\u89e3\u3002 KodeKloud Docker for the Absolute Beginner \u5168\u9762\u7684\u4ecb\u7ecd\u4e86 Docker \u7684\u57fa\u7840\u529f\u80fd\uff0c\u5e76\u4e14\u6709\u5927\u91cf\u7684\u914d\u5957\u7ec3\u4e60\uff0c\u540c\u65f6\u63d0\u4f9b\u514d\u8d39\u7684\u4e91\u73af\u5883\u6765\u5b8c\u6210\u7ec3\u4e60\u3002\u5176\u4f59\u7684\u4e91\u76f8\u5173\u7684\u8bfe\u7a0b\u5982 Kubernetes \u9700\u8981\u4ed8\u8d39\uff0c\u4f46\u4e2a\u4eba\u5f3a\u70c8\u63a8\u8350\uff1a\u8bb2\u89e3\u975e\u5e38\u4ed4\u7ec6\uff0c\u9002\u5408\u4ece 0 \u5f00\u59cb\u7684\u65b0\u624b\uff1b\u6709\u914d\u5957\u7684 Kubernetes \u7684\u5b9e\u9a8c\u73af\u5883\uff0c\u4e0d\u7528\u88ab\u642d\u5efa\u73af\u5883\u529d\u9000\u3002","title":"\u5982\u4f55\u5b66\u4e60 Docker"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/","text":"Emacs Why Emacs Emacs is a powerful editor as famous as Vim. Emacs has almost all the benefits of Vim, such as: Everything can be done with keyboard only, as there are a large number of shortcuts to improve the efficiency of code editing. Supporting both graphical and non-graphical interface in various scenarios. Besides, the biggest difference between Emacs and most other editors lies in its powerful extensibility. Emacs kernel imposes no restrictions on users behaviors. With Emacs Lisp programming language, users is able to write any plugins to extend the functionality. After decades of development, Emacs' plugin ecosystem is arguably one of the richest and most powerful in the editor world. There is a joke saying that \"Emacs is an OS that lacks a decent text editor\". Futhermore, you can also write your own Emacs extensions with only a small amount of effort. Emacs is friendly to Vim users as there is an extension called evil that migrate Vim operations into Emacs. Users can switch from Vim to Emacs with minimum effort. Statistics show that a considerable number of users would switch from Vim to Emacs, but there were almost no users who would switch from Emacs to Vim. In fact, the only weaknesss of Emacs is that it is not as efficient as Vim in pure text editing because of Vim's multi-modal editing. However, with Emacs' powerful extensibility, it can make up for its weaknesses by combining the strengths of both. How to learn Emacs Same as Vim, Emacs also has a steep learning curve. But once you understand the basic underlying logic, you will never live without it. There are plenty of tutorials for Emacs. Since Emacs is highly customizable, every user has their own learning path. Here are some good starting points: This tutorial is a brief guide to the basic logic of Emacs. Awesome Emacs lists a large number of useful Emacs packages, utilities, and libraries. Keyboard remapping One of the most shortcomings of Emacs is the excessive use of the Ctrl key, which is a burden on your left little finger. It is highly recommended to change the keyboard mapping of the Ctrl key. Please refer to Vim for details to remapping.","title":"Emacs"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/#emacs","text":"","title":"Emacs"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/#why-emacs","text":"Emacs is a powerful editor as famous as Vim. Emacs has almost all the benefits of Vim, such as: Everything can be done with keyboard only, as there are a large number of shortcuts to improve the efficiency of code editing. Supporting both graphical and non-graphical interface in various scenarios. Besides, the biggest difference between Emacs and most other editors lies in its powerful extensibility. Emacs kernel imposes no restrictions on users behaviors. With Emacs Lisp programming language, users is able to write any plugins to extend the functionality. After decades of development, Emacs' plugin ecosystem is arguably one of the richest and most powerful in the editor world. There is a joke saying that \"Emacs is an OS that lacks a decent text editor\". Futhermore, you can also write your own Emacs extensions with only a small amount of effort. Emacs is friendly to Vim users as there is an extension called evil that migrate Vim operations into Emacs. Users can switch from Vim to Emacs with minimum effort. Statistics show that a considerable number of users would switch from Vim to Emacs, but there were almost no users who would switch from Emacs to Vim. In fact, the only weaknesss of Emacs is that it is not as efficient as Vim in pure text editing because of Vim's multi-modal editing. However, with Emacs' powerful extensibility, it can make up for its weaknesses by combining the strengths of both.","title":"Why Emacs"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/#how-to-learn-emacs","text":"Same as Vim, Emacs also has a steep learning curve. But once you understand the basic underlying logic, you will never live without it. There are plenty of tutorials for Emacs. Since Emacs is highly customizable, every user has their own learning path. Here are some good starting points: This tutorial is a brief guide to the basic logic of Emacs. Awesome Emacs lists a large number of useful Emacs packages, utilities, and libraries.","title":"How to learn Emacs"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/#keyboard-remapping","text":"One of the most shortcomings of Emacs is the excessive use of the Ctrl key, which is a burden on your left little finger. It is highly recommended to change the keyboard mapping of the Ctrl key. Please refer to Vim for details to remapping.","title":"Keyboard remapping"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GNU_Make/","text":"GNU Make \u4e3a\u4ec0\u4e48\u5b66 GNU Make \u5927\u5bb6\u7b2c\u4e00\u6b21\u5199 hello world \u7a0b\u5e8f\u7684\u65f6\u5019\u4e00\u5b9a\u90fd\u8bb0\u5f97\uff0c\u5728\u7f16\u8f91\u5b8c helloworld.c \u4e4b\u540e\uff0c\u9700\u8981\u7528 gcc \u7f16\u8bd1\u751f\u6210\u53ef\u6267\u884c\u6587\u4ef6\uff0c\u7136\u540e\u518d\u6267\u884c\uff08\u5982\u679c\u4f60\u4e0d\u7406\u89e3\u524d\u9762\u8fd9\u6bb5\u8bdd\uff0c\u8bf7\u5148\u81ea\u884c\u8c37\u6b4c gcc \u7f16\u8bd1 \u5e76\u7406\u89e3\u76f8\u5173\u5185\u5bb9\uff09\u3002\u4f46\u5982\u679c\u4f60\u7684\u9879\u76ee\u7531\u6210\u767e\u4e0a\u5343\u4e2a C \u6e90\u6587\u4ef6\u7ec4\u6210\uff0c\u5e76\u4e14\u661f\u7f57\u68cb\u5e03\u5728\u5404\u4e2a\u5b50\u76ee\u5f55\u4e0b\uff0c\u4f60\u8be5\u5982\u4f55\u5c06\u5b83\u4eec\u7f16\u8bd1\u94fe\u63a5\u5230\u4e00\u8d77\u5462\uff1f\u5047\u5982\u4f60\u7684\u9879\u76ee\u7f16\u8bd1\u4e00\u6b21\u9700\u8981\u534a\u4e2a\u5c0f\u65f6\uff08\u5927\u578b\u9879\u76ee\u76f8\u5f53\u5e38\u89c1\uff09\uff0c\u800c\u4f60\u53ea\u4fee\u6539\u4e86\u4e00\u4e2a\u5206\u53f7\uff0c\u662f\u4e0d\u662f\u8fd8\u9700\u8981\u518d\u7b49\u534a\u4e2a\u5c0f\u65f6\u5462\uff1f \u8fd9\u65f6\u5019 GNU Make \u5c31\u95ea\u4eae\u767b\u573a\u4e86\uff0c\u5b83\u80fd\u8ba9\u4f60\u5728\u4e00\u4e2a\u811a\u672c\u91cc\uff08\u5373\u6240\u8c13\u7684 Makefile \uff09\u5b9a\u4e49\u6574\u4e2a\u7f16\u8bd1\u6d41\u7a0b\u4ee5\u53ca\u5404\u4e2a\u76ee\u6807\u6587\u4ef6\u4e0e\u6e90\u6587\u4ef6\u4e4b\u95f4\u7684\u4f9d\u8d56\u5173\u7cfb\uff0c\u5e76\u4e14\u53ea\u91cd\u65b0\u7f16\u8bd1\u4f60\u7684\u4fee\u6539\u4f1a\u5f71\u54cd\u5230\u7684\u90e8\u5206\uff0c\u4ece\u800c\u964d\u4f4e\u7f16\u8bd1\u7684\u65f6\u95f4\u3002 \u5982\u4f55\u5b66\u4e60 GNU Make \u8fd9\u91cc\u6709\u4e00\u7bc7\u5199\u5f97\u6df1\u5165\u6d45\u51fa\u7684 \u6587\u6863 \u4f9b\u5927\u5bb6\u53c2\u8003\u3002 GNU Make \u638c\u63e1\u8d77\u6765\u76f8\u5bf9\u5bb9\u6613\uff0c\u4f46\u7528\u597d\u5b83\u9700\u8981\u4e0d\u65ad\u7684\u7ec3\u4e60\u3002\u5c06\u5b83\u878d\u5165\u5230\u81ea\u5df1\u7684\u65e5\u5e38\u5f00\u53d1\u4e2d\uff0c\u52e4\u4e8e\u5b66\u4e60\u548c\u6a21\u4eff\u5176\u4ed6\u4f18\u79c0\u5f00\u6e90\u9879\u76ee\u91cc\u7684 Makefile \u7684\u5199\u6cd5\uff0c\u603b\u7ed3\u51fa\u9002\u5408\u81ea\u5df1\u7684 template\uff0c\u4e45\u800c\u4e45\u4e4b\uff0c\u4f60\u5bf9 GNU Make \u7684\u4f7f\u7528\u4f1a\u6108\u52a0\u7eaf\u719f\u3002","title":"GNU Make"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GNU_Make/#gnu-make","text":"","title":"GNU Make"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GNU_Make/#gnu-make_1","text":"\u5927\u5bb6\u7b2c\u4e00\u6b21\u5199 hello world \u7a0b\u5e8f\u7684\u65f6\u5019\u4e00\u5b9a\u90fd\u8bb0\u5f97\uff0c\u5728\u7f16\u8f91\u5b8c helloworld.c \u4e4b\u540e\uff0c\u9700\u8981\u7528 gcc \u7f16\u8bd1\u751f\u6210\u53ef\u6267\u884c\u6587\u4ef6\uff0c\u7136\u540e\u518d\u6267\u884c\uff08\u5982\u679c\u4f60\u4e0d\u7406\u89e3\u524d\u9762\u8fd9\u6bb5\u8bdd\uff0c\u8bf7\u5148\u81ea\u884c\u8c37\u6b4c gcc \u7f16\u8bd1 \u5e76\u7406\u89e3\u76f8\u5173\u5185\u5bb9\uff09\u3002\u4f46\u5982\u679c\u4f60\u7684\u9879\u76ee\u7531\u6210\u767e\u4e0a\u5343\u4e2a C \u6e90\u6587\u4ef6\u7ec4\u6210\uff0c\u5e76\u4e14\u661f\u7f57\u68cb\u5e03\u5728\u5404\u4e2a\u5b50\u76ee\u5f55\u4e0b\uff0c\u4f60\u8be5\u5982\u4f55\u5c06\u5b83\u4eec\u7f16\u8bd1\u94fe\u63a5\u5230\u4e00\u8d77\u5462\uff1f\u5047\u5982\u4f60\u7684\u9879\u76ee\u7f16\u8bd1\u4e00\u6b21\u9700\u8981\u534a\u4e2a\u5c0f\u65f6\uff08\u5927\u578b\u9879\u76ee\u76f8\u5f53\u5e38\u89c1\uff09\uff0c\u800c\u4f60\u53ea\u4fee\u6539\u4e86\u4e00\u4e2a\u5206\u53f7\uff0c\u662f\u4e0d\u662f\u8fd8\u9700\u8981\u518d\u7b49\u534a\u4e2a\u5c0f\u65f6\u5462\uff1f \u8fd9\u65f6\u5019 GNU Make \u5c31\u95ea\u4eae\u767b\u573a\u4e86\uff0c\u5b83\u80fd\u8ba9\u4f60\u5728\u4e00\u4e2a\u811a\u672c\u91cc\uff08\u5373\u6240\u8c13\u7684 Makefile \uff09\u5b9a\u4e49\u6574\u4e2a\u7f16\u8bd1\u6d41\u7a0b\u4ee5\u53ca\u5404\u4e2a\u76ee\u6807\u6587\u4ef6\u4e0e\u6e90\u6587\u4ef6\u4e4b\u95f4\u7684\u4f9d\u8d56\u5173\u7cfb\uff0c\u5e76\u4e14\u53ea\u91cd\u65b0\u7f16\u8bd1\u4f60\u7684\u4fee\u6539\u4f1a\u5f71\u54cd\u5230\u7684\u90e8\u5206\uff0c\u4ece\u800c\u964d\u4f4e\u7f16\u8bd1\u7684\u65f6\u95f4\u3002","title":"\u4e3a\u4ec0\u4e48\u5b66 GNU Make"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GNU_Make/#gnu-make_2","text":"\u8fd9\u91cc\u6709\u4e00\u7bc7\u5199\u5f97\u6df1\u5165\u6d45\u51fa\u7684 \u6587\u6863 \u4f9b\u5927\u5bb6\u53c2\u8003\u3002 GNU Make \u638c\u63e1\u8d77\u6765\u76f8\u5bf9\u5bb9\u6613\uff0c\u4f46\u7528\u597d\u5b83\u9700\u8981\u4e0d\u65ad\u7684\u7ec3\u4e60\u3002\u5c06\u5b83\u878d\u5165\u5230\u81ea\u5df1\u7684\u65e5\u5e38\u5f00\u53d1\u4e2d\uff0c\u52e4\u4e8e\u5b66\u4e60\u548c\u6a21\u4eff\u5176\u4ed6\u4f18\u79c0\u5f00\u6e90\u9879\u76ee\u91cc\u7684 Makefile \u7684\u5199\u6cd5\uff0c\u603b\u7ed3\u51fa\u9002\u5408\u81ea\u5df1\u7684 template\uff0c\u4e45\u800c\u4e45\u4e4b\uff0c\u4f60\u5bf9 GNU Make \u7684\u4f7f\u7528\u4f1a\u6108\u52a0\u7eaf\u719f\u3002","title":"\u5982\u4f55\u5b66\u4e60 GNU Make"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/","text":"Git Why Git Git is a distributed version control system. The father of Linux, Linus Torvalds developed Git to maintain the version control of Linux, replacing the centralized version control tools which were difficult and costly to use. The design of Git is very elegant, but beginners usually find it very difficult to use without understanding its internal logic. It is very easy to mess up the version history if misusing the commands. Git is a powerful tool and when you finally master it, you will find all the effort paid off. How to learn Git Different from Vim, I don't suggest beginners use Git rashly without fully understanding it, because its inner logic can not be acquainted by practicing. Here is my recommended learning path: Read this Git tutorial in English, or you can watch this Git tutorial (by \u5c1a\u7845\u8c37) in Chinese. Read Chap1 - Chap5 of this open source book Pro Git . Yes, to learn Git, you need to read a book. Now that you have understood its principles and most of its usages, it's time to consolidate those commands by practicing. How to use Git properly is a kind of philosophy. I recommend reading this blog How to Write a Git Commit Message . You are now in love with Git and are not content with only using it, you want to build a Git by yourself! Great, that's exactly what I was thinking. This tutorial will satisfy you! What? Building your own Git is not enough? Seems that you are also passionate about reinventing the wheels. These two GitHub projects, build-your-own-x and project-based-learning , collected many wheel-reinventing tutorials, e.g., text editor, virtual machine, docker, TCP and so on.","title":"Git"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/#git","text":"","title":"Git"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/#why-git","text":"Git is a distributed version control system. The father of Linux, Linus Torvalds developed Git to maintain the version control of Linux, replacing the centralized version control tools which were difficult and costly to use. The design of Git is very elegant, but beginners usually find it very difficult to use without understanding its internal logic. It is very easy to mess up the version history if misusing the commands. Git is a powerful tool and when you finally master it, you will find all the effort paid off.","title":"Why Git"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/#how-to-learn-git","text":"Different from Vim, I don't suggest beginners use Git rashly without fully understanding it, because its inner logic can not be acquainted by practicing. Here is my recommended learning path: Read this Git tutorial in English, or you can watch this Git tutorial (by \u5c1a\u7845\u8c37) in Chinese. Read Chap1 - Chap5 of this open source book Pro Git . Yes, to learn Git, you need to read a book. Now that you have understood its principles and most of its usages, it's time to consolidate those commands by practicing. How to use Git properly is a kind of philosophy. I recommend reading this blog How to Write a Git Commit Message . You are now in love with Git and are not content with only using it, you want to build a Git by yourself! Great, that's exactly what I was thinking. This tutorial will satisfy you! What? Building your own Git is not enough? Seems that you are also passionate about reinventing the wheels. These two GitHub projects, build-your-own-x and project-based-learning , collected many wheel-reinventing tutorials, e.g., text editor, virtual machine, docker, TCP and so on.","title":"How to learn Git"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GitHub/","text":"GitHub GitHub \u662f\u4ec0\u4e48 \u4ece\u529f\u80fd\u4e0a\u6765\u8bf4\uff0cGitHub \u662f\u4e00\u4e2a\u5728\u7ebf\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u4f60\u53ef\u4ee5\u5c06\u4f60\u7684\u672c\u5730 Git \u4ed3\u5e93\u6258\u7ba1\u5230 GitHub \u4e0a\uff0c\u4f9b\u591a\u4eba\u540c\u65f6\u5f00\u53d1\u6d4f\u89c8\u3002\u4f46\u73b0\u5982\u4eca GitHub \u7684\u610f\u4e49\u5df2\u8fdc\u4e0d\u6b62\u5982\u6b64\uff0c\u5b83\u5df2\u7ecf\u6f14\u53d8\u4e3a\u4e00\u4e2a\u975e\u5e38\u6d3b\u8dc3\u4e14\u8d44\u6e90\u6781\u4e3a\u4e30\u5bcc\u7684\u5f00\u6e90\u4ea4\u6d41\u793e\u533a\u3002\u5168\u4e16\u754c\u7684\u8f6f\u4ef6\u5f00\u53d1\u8005\u5728 GitHub \u4e0a\u5206\u4eab\u5404\u5f0f\u5404\u6837\u79cd\u7c7b\u7e41\u591a\u7684\u5f00\u6e90\u8f6f\u4ef6\u3002\u5927\u5230\u5de5\u4e1a\u7ea7\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6 PyTorch, TensorFlow\uff0c\u5c0f\u5230\u51e0\u5341\u884c\u7684\u5b9e\u7528\u811a\u672c\uff0c\u65e2\u6709\u786c\u6838\u7684\u77e5\u8bc6\u5206\u4eab\uff0c\u4e5f\u6709\u4fdd\u59c6\u7ea7\u7684\u6559\u7a0b\u6307\u5bfc\uff0c\u751a\u81f3\u5f88\u591a\u6280\u672f\u4e66\u7c4d\u4e5f\u5728 GitHub\u4e0a\u5f00\u6e90\uff08\u4f8b\u5982\u8bf8\u4f4d\u6b63\u5728\u770b\u7684\u8fd9\u672c\u2014\u2014\u5982\u679c\u6211\u539a\u7740\u8138\u76ae\u52c9\u5f3a\u79f0\u4e4b\u4e3a\u4e66\u7684\u8bdd\uff09\u3002\u95f2\u6765\u65e0\u4e8b\u901b\u901b GitHub \u5df2\u7ecf\u6210\u4e3a\u4e86\u6211\u65e5\u5e38\u751f\u6d3b\u7684\u4e00\u90e8\u5206\u3002 \u5728 GitHub \u91cc\uff0c\u661f\u661f\u662f\u5bf9\u4e00\u4e2a\u9879\u76ee\u81f3\u9ad8\u65e0\u4e0a\u7684\u80af\u5b9a\uff0c\u5982\u679c\u4f60\u89c9\u5f97\u8fd9\u672c\u4e66\u5bf9\u4f60\u6709\u7528\u7684\u8bdd\uff0c\u6b22\u8fce\u901a\u8fc7\u53f3\u4e0a\u89d2\u7684\u94fe\u63a5\u8fdb\u5165\u4ed3\u5e93\u4e3b\u9875\u732e\u51fa\u4f60\u5b9d\u8d35\u7684\u661f\u661f\u2728\u3002 \u5982\u4f55\u4f7f\u7528 GitHub \u5982\u679c\u4f60\u8fd8\u4ece\u672a\u5728 GitHub \u4e0a\u5efa\u7acb\u8fc7\u81ea\u5df1\u7684\u8fdc\u7a0b\u4ed3\u5e93\uff0c\u4e5f\u6ca1\u6709\u514b\u9686\u8fc7\u522b\u4eba\u7684\u4ee3\u7801\uff0c\u90a3\u4e48\u6211\u5efa\u8bae\u4f60\u4ece GitHub\u7684\u5b98\u65b9\u6559\u7a0b \u5f00\u59cb\u81ea\u5df1\u7684\u5f00\u6e90\u4e4b\u65c5\u3002 \u5982\u679c\u4f60\u60f3\u65f6\u523b\u5173\u6ce8 GitHub \u4e0a\u4e00\u4e9b\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u90a3\u4e48\u6211\u5411\u4f60\u91cd\u78c5\u63a8\u8350 HelloGitHub \u8fd9\u4e2a\u7f51\u7ad9\u4ee5\u53ca\u5b83\u7684\u540c\u540d\u5fae\u4fe1\u516c\u4f17\u53f7\u3002\u5b83\u4f1a\u5b9a\u671f\u6536\u5f55 GitHub \u4e0a\u8fd1\u671f\u5f00\u59cb\u6d41\u884c\u7684\u6216\u8005\u975e\u5e38\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u8ba9\u4f60\u6709\u673a\u4f1a\u7b2c\u4e00\u65f6\u95f4\u63a5\u89e6\u5404\u7c7b\u4f18\u8d28\u8d44\u6e90\u3002 GitHub \u4e4b\u6240\u4ee5\u6210\u529f\uff0c\u6211\u60f3\u662f\u5f97\u76ca\u4e8e\u201c\u6211\u4e3a\u4eba\u4eba\uff0c\u4eba\u4eba\u4e3a\u6211\u201d\u7684\u5f00\u6e90\u7cbe\u795e\uff0c\u5f97\u76ca\u4e8e\u77e5\u8bc6\u5206\u4eab\u7684\u5feb\u4e50\u3002\u5982\u679c\u4f60\u4e5f\u60f3\u6210\u4e3a\u4e0b\u4e00\u4e2a\u4e07\u4eba\u656c\u4ef0\u7684\u5f00\u6e90\u5927\u4f6c\uff0c\u6216\u8005\u4e0b\u4e00\u4e2a star \u7834\u4e07\u7684\u9879\u76ee\u4f5c\u8005\u3002\u90a3\u5c31\u628a\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7075\u611f\u4e00\u73b0\u7684 idea \u5316\u4f5c\u4ee3\u7801\uff0c\u5c55\u793a\u5728 GitHub \u4e0a\u5427\uff5e \u4e0d\u8fc7\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u5f00\u6e90\u793e\u533a\u4e0d\u662f\u6cd5\u5916\u4e4b\u5730\uff0c\u5f88\u591a\u5f00\u6e90\u8f6f\u4ef6\u5e76\u4e0d\u662f\u53ef\u4ee5\u968f\u610f\u590d\u5236\u5206\u53d1\u751a\u81f3\u8d29\u5356\u7684\uff0c\u4e86\u89e3\u5404\u7c7b \u5f00\u6e90\u534f\u8bae \u5e76\u9075\u5b88\uff0c\u4e0d\u4ec5\u662f\u6cd5\u5f8b\u7684\u8981\u6c42\uff0c\u66f4\u662f\u6bcf\u4e2a\u5f00\u6e90\u793e\u533a\u6210\u5458\u7684\u8d23\u4efb\u3002","title":"GitHub"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GitHub/#github","text":"","title":"GitHub"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GitHub/#github_1","text":"\u4ece\u529f\u80fd\u4e0a\u6765\u8bf4\uff0cGitHub \u662f\u4e00\u4e2a\u5728\u7ebf\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u4f60\u53ef\u4ee5\u5c06\u4f60\u7684\u672c\u5730 Git \u4ed3\u5e93\u6258\u7ba1\u5230 GitHub \u4e0a\uff0c\u4f9b\u591a\u4eba\u540c\u65f6\u5f00\u53d1\u6d4f\u89c8\u3002\u4f46\u73b0\u5982\u4eca GitHub \u7684\u610f\u4e49\u5df2\u8fdc\u4e0d\u6b62\u5982\u6b64\uff0c\u5b83\u5df2\u7ecf\u6f14\u53d8\u4e3a\u4e00\u4e2a\u975e\u5e38\u6d3b\u8dc3\u4e14\u8d44\u6e90\u6781\u4e3a\u4e30\u5bcc\u7684\u5f00\u6e90\u4ea4\u6d41\u793e\u533a\u3002\u5168\u4e16\u754c\u7684\u8f6f\u4ef6\u5f00\u53d1\u8005\u5728 GitHub \u4e0a\u5206\u4eab\u5404\u5f0f\u5404\u6837\u79cd\u7c7b\u7e41\u591a\u7684\u5f00\u6e90\u8f6f\u4ef6\u3002\u5927\u5230\u5de5\u4e1a\u7ea7\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6 PyTorch, TensorFlow\uff0c\u5c0f\u5230\u51e0\u5341\u884c\u7684\u5b9e\u7528\u811a\u672c\uff0c\u65e2\u6709\u786c\u6838\u7684\u77e5\u8bc6\u5206\u4eab\uff0c\u4e5f\u6709\u4fdd\u59c6\u7ea7\u7684\u6559\u7a0b\u6307\u5bfc\uff0c\u751a\u81f3\u5f88\u591a\u6280\u672f\u4e66\u7c4d\u4e5f\u5728 GitHub\u4e0a\u5f00\u6e90\uff08\u4f8b\u5982\u8bf8\u4f4d\u6b63\u5728\u770b\u7684\u8fd9\u672c\u2014\u2014\u5982\u679c\u6211\u539a\u7740\u8138\u76ae\u52c9\u5f3a\u79f0\u4e4b\u4e3a\u4e66\u7684\u8bdd\uff09\u3002\u95f2\u6765\u65e0\u4e8b\u901b\u901b GitHub \u5df2\u7ecf\u6210\u4e3a\u4e86\u6211\u65e5\u5e38\u751f\u6d3b\u7684\u4e00\u90e8\u5206\u3002 \u5728 GitHub \u91cc\uff0c\u661f\u661f\u662f\u5bf9\u4e00\u4e2a\u9879\u76ee\u81f3\u9ad8\u65e0\u4e0a\u7684\u80af\u5b9a\uff0c\u5982\u679c\u4f60\u89c9\u5f97\u8fd9\u672c\u4e66\u5bf9\u4f60\u6709\u7528\u7684\u8bdd\uff0c\u6b22\u8fce\u901a\u8fc7\u53f3\u4e0a\u89d2\u7684\u94fe\u63a5\u8fdb\u5165\u4ed3\u5e93\u4e3b\u9875\u732e\u51fa\u4f60\u5b9d\u8d35\u7684\u661f\u661f\u2728\u3002","title":"GitHub \u662f\u4ec0\u4e48"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GitHub/#github_2","text":"\u5982\u679c\u4f60\u8fd8\u4ece\u672a\u5728 GitHub \u4e0a\u5efa\u7acb\u8fc7\u81ea\u5df1\u7684\u8fdc\u7a0b\u4ed3\u5e93\uff0c\u4e5f\u6ca1\u6709\u514b\u9686\u8fc7\u522b\u4eba\u7684\u4ee3\u7801\uff0c\u90a3\u4e48\u6211\u5efa\u8bae\u4f60\u4ece GitHub\u7684\u5b98\u65b9\u6559\u7a0b \u5f00\u59cb\u81ea\u5df1\u7684\u5f00\u6e90\u4e4b\u65c5\u3002 \u5982\u679c\u4f60\u60f3\u65f6\u523b\u5173\u6ce8 GitHub \u4e0a\u4e00\u4e9b\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u90a3\u4e48\u6211\u5411\u4f60\u91cd\u78c5\u63a8\u8350 HelloGitHub \u8fd9\u4e2a\u7f51\u7ad9\u4ee5\u53ca\u5b83\u7684\u540c\u540d\u5fae\u4fe1\u516c\u4f17\u53f7\u3002\u5b83\u4f1a\u5b9a\u671f\u6536\u5f55 GitHub \u4e0a\u8fd1\u671f\u5f00\u59cb\u6d41\u884c\u7684\u6216\u8005\u975e\u5e38\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u8ba9\u4f60\u6709\u673a\u4f1a\u7b2c\u4e00\u65f6\u95f4\u63a5\u89e6\u5404\u7c7b\u4f18\u8d28\u8d44\u6e90\u3002 GitHub \u4e4b\u6240\u4ee5\u6210\u529f\uff0c\u6211\u60f3\u662f\u5f97\u76ca\u4e8e\u201c\u6211\u4e3a\u4eba\u4eba\uff0c\u4eba\u4eba\u4e3a\u6211\u201d\u7684\u5f00\u6e90\u7cbe\u795e\uff0c\u5f97\u76ca\u4e8e\u77e5\u8bc6\u5206\u4eab\u7684\u5feb\u4e50\u3002\u5982\u679c\u4f60\u4e5f\u60f3\u6210\u4e3a\u4e0b\u4e00\u4e2a\u4e07\u4eba\u656c\u4ef0\u7684\u5f00\u6e90\u5927\u4f6c\uff0c\u6216\u8005\u4e0b\u4e00\u4e2a star \u7834\u4e07\u7684\u9879\u76ee\u4f5c\u8005\u3002\u90a3\u5c31\u628a\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7075\u611f\u4e00\u73b0\u7684 idea \u5316\u4f5c\u4ee3\u7801\uff0c\u5c55\u793a\u5728 GitHub \u4e0a\u5427\uff5e \u4e0d\u8fc7\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u5f00\u6e90\u793e\u533a\u4e0d\u662f\u6cd5\u5916\u4e4b\u5730\uff0c\u5f88\u591a\u5f00\u6e90\u8f6f\u4ef6\u5e76\u4e0d\u662f\u53ef\u4ee5\u968f\u610f\u590d\u5236\u5206\u53d1\u751a\u81f3\u8d29\u5356\u7684\uff0c\u4e86\u89e3\u5404\u7c7b \u5f00\u6e90\u534f\u8bae \u5e76\u9075\u5b88\uff0c\u4e0d\u4ec5\u662f\u6cd5\u5f8b\u7684\u8981\u6c42\uff0c\u66f4\u662f\u6bcf\u4e2a\u5f00\u6e90\u793e\u533a\u6210\u5458\u7684\u8d23\u4efb\u3002","title":"\u5982\u4f55\u4f7f\u7528 GitHub"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/LaTeX/","text":"LaTeX \u4e3a\u4ec0\u4e48\u5b66 LaTeX \u5982\u679c\u4f60\u9700\u8981\u5199\u8bba\u6587\uff0c\u90a3\u4e48\u8bf7\u76f4\u63a5\u8df3\u5230\u4e0b\u4e00\u8282\uff0c\u56e0\u4e3a\u4f60\u4e0d\u5b66\u4e5f\u5f97\u5b66\u3002 LaTeX \u662f\u4e00\u79cd\u57fa\u4e8e TeX \u7684\u6392\u7248\u7cfb\u7edf\uff0c\u7531\u56fe\u7075\u5956\u5f97\u4e3b Lamport \u5f00\u53d1\uff0c\u800c Tex \u5219\u662f\u7531 Knuth \u6700\u521d\u5f00\u53d1\uff0c\u8fd9\u4e24\u4f4d\u90fd\u662f\u8ba1\u7b97\u673a\u754c\u7684\u5de8\u64d8\u3002\u5f53\u7136\u5f00\u53d1\u8005\u5f3a\u5e76\u4e0d\u662f\u6211\u4eec\u5b66\u4e60 LaTeX \u7684\u7406\u7531\uff0cLaTeX \u548c\u5e38\u89c1\u7684\u6240\u89c1\u5373\u6240\u5f97\u7684 Word \u6587\u6863\u6700\u5927\u7684\u533a\u522b\u5c31\u662f\u7528\u6237\u53ea\u9700\u8981\u5173\u6ce8\u5199\u4f5c\u7684\u5185\u5bb9\uff0c\u800c\u6392\u7248\u5219\u5b8c\u5168\u4ea4\u7ed9\u8f6f\u4ef6\u81ea\u52a8\u5b8c\u6210\u3002\u8fd9\u8ba9\u6ca1\u6709\u4efb\u4f55\u6392\u7248\u7ecf\u9a8c\u7684\u666e\u901a\u4eba\u5f97\u4ee5\u5199\u51fa\u6392\u7248\u975e\u5e38\u4e13\u4e1a\u7684\u8bba\u6587\u6216\u6587\u7ae0\u3002 Berkeley \u8ba1\u7b97\u673a\u7cfb\u6559\u6388 Christos Papadimitriou \u66fe\u8bf4\u8fc7\u4e00\u53e5\u534a\u5f00\u73a9\u7b11\u7684\u8bdd\uff1a Every time I read a LaTeX document, I think, wow, this must be correct! \u5982\u4f55\u5b66\u4e60 LaTeX \u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a LaTeX \u7684\u73af\u5883\u914d\u7f6e\u662f\u4e2a\u6bd4\u8f83\u5934\u75bc\u7684\u95ee\u9898\u3002\u5982\u679c\u4f60\u672c\u5730\u914d\u7f6e LaTeX \u73af\u5883\u51fa\u73b0\u4e86\u95ee\u9898\uff0c\u53ef\u4ee5\u8003\u8651\u4f7f\u7528 Overleaf \u8fd9\u4e2a\u5728\u7ebf LaTeX \u7f16\u8f91\u7f51\u7ad9\u3002\u7ad9\u5185\u4e0d\u4ec5\u6709\u5404\u79cd\u5404\u6837\u7684 LaTeX \u6a21\u7248\u4f9b\u4f60\u9009\u62e9\uff0c\u8fd8\u514d\u53bb\u4e86\u73af\u5883\u914d\u7f6e\u7684\u96be\u9898\u3002 \u9605\u8bfb\u4e0b\u9762\u4e09\u7bc7 Tutorial: Part-1 , Part-2 , Part-3 \u3002 \u5b66\u4e60 LaTeX \u6700\u597d\u7684\u65b9\u5f0f\u5f53\u7136\u662f\u5199\u8bba\u6587\uff0c\u4e0d\u8fc7\u4ece\u4e00\u95e8\u6570\u5b66\u8bfe\u5165\u624b\u7528 LaTeX \u5199\u4f5c\u4e1a\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u9009\u62e9\u3002 \u5176\u4ed6\u503c\u5f97\u63a8\u8350\u7684\u5165\u95e8\u5b66\u4e60\u8d44\u6599\u5982\u4e0b\uff1a \u4e00\u4efd\u7b80\u77ed\u7684\u5b89\u88c5 LaTeX \u7684\u4ecb\u7ecd [ GitHub ] \u6216\u8005 TEX Live \u6307\u5357\uff08texlive-zh-cn\uff09[ PDF ] \u53ef\u4ee5\u5e2e\u52a9\u4f60\u5b8c\u6210\u5b89\u88c5\u548c\u73af\u5883\u914d\u7f6e\u8fc7\u7a0b \u4e00\u4efd\uff08\u4e0d\u592a\uff09\u7b80\u77ed\u7684 LaTeX2\u03b5 \u4ecb\u7ecd\uff08lshort-zh-cn\uff09[ PDF ] [ GitHub ] \u662f\u7531 CTEX \u5f00\u53d1\u5c0f\u7ec4\u7ffb\u8bd1\u7684\uff0c\u53ef\u4ee5\u5e2e\u52a9\u4f60\u5feb\u901f\u51c6\u786e\u5730\u5165\u95e8\uff0c\u5efa\u8bae\u901a\u8bfb\u4e00\u904d \u5218\u6d77\u6d0b\u7684\u300aLaTeX \u5165\u95e8\u300b\uff0c\u53ef\u4ee5\u5f53\u4f5c\u5de5\u5177\u4e66\u6765\u9605\u8bfb\uff0c\u6709\u95ee\u9898\u518d\u67e5\u627e\uff0c\u8df3\u8fc7 CTEX \u5957\u88c5\u90e8\u5206 \u73b0\u4ee3 LaTeX \u5165\u95e8\u8bb2\u5ea7 \u4e00\u4efd\u5176\u5b9e\u5f88\u77ed\u7684 LaTeX \u5165\u95e8\u6587\u6863","title":"LaTeX"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/LaTeX/#latex","text":"","title":"LaTeX"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/LaTeX/#latex_1","text":"\u5982\u679c\u4f60\u9700\u8981\u5199\u8bba\u6587\uff0c\u90a3\u4e48\u8bf7\u76f4\u63a5\u8df3\u5230\u4e0b\u4e00\u8282\uff0c\u56e0\u4e3a\u4f60\u4e0d\u5b66\u4e5f\u5f97\u5b66\u3002 LaTeX \u662f\u4e00\u79cd\u57fa\u4e8e TeX \u7684\u6392\u7248\u7cfb\u7edf\uff0c\u7531\u56fe\u7075\u5956\u5f97\u4e3b Lamport \u5f00\u53d1\uff0c\u800c Tex \u5219\u662f\u7531 Knuth \u6700\u521d\u5f00\u53d1\uff0c\u8fd9\u4e24\u4f4d\u90fd\u662f\u8ba1\u7b97\u673a\u754c\u7684\u5de8\u64d8\u3002\u5f53\u7136\u5f00\u53d1\u8005\u5f3a\u5e76\u4e0d\u662f\u6211\u4eec\u5b66\u4e60 LaTeX \u7684\u7406\u7531\uff0cLaTeX \u548c\u5e38\u89c1\u7684\u6240\u89c1\u5373\u6240\u5f97\u7684 Word \u6587\u6863\u6700\u5927\u7684\u533a\u522b\u5c31\u662f\u7528\u6237\u53ea\u9700\u8981\u5173\u6ce8\u5199\u4f5c\u7684\u5185\u5bb9\uff0c\u800c\u6392\u7248\u5219\u5b8c\u5168\u4ea4\u7ed9\u8f6f\u4ef6\u81ea\u52a8\u5b8c\u6210\u3002\u8fd9\u8ba9\u6ca1\u6709\u4efb\u4f55\u6392\u7248\u7ecf\u9a8c\u7684\u666e\u901a\u4eba\u5f97\u4ee5\u5199\u51fa\u6392\u7248\u975e\u5e38\u4e13\u4e1a\u7684\u8bba\u6587\u6216\u6587\u7ae0\u3002 Berkeley \u8ba1\u7b97\u673a\u7cfb\u6559\u6388 Christos Papadimitriou \u66fe\u8bf4\u8fc7\u4e00\u53e5\u534a\u5f00\u73a9\u7b11\u7684\u8bdd\uff1a Every time I read a LaTeX document, I think, wow, this must be correct!","title":"\u4e3a\u4ec0\u4e48\u5b66 LaTeX"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/LaTeX/#latex_2","text":"\u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a LaTeX \u7684\u73af\u5883\u914d\u7f6e\u662f\u4e2a\u6bd4\u8f83\u5934\u75bc\u7684\u95ee\u9898\u3002\u5982\u679c\u4f60\u672c\u5730\u914d\u7f6e LaTeX \u73af\u5883\u51fa\u73b0\u4e86\u95ee\u9898\uff0c\u53ef\u4ee5\u8003\u8651\u4f7f\u7528 Overleaf \u8fd9\u4e2a\u5728\u7ebf LaTeX \u7f16\u8f91\u7f51\u7ad9\u3002\u7ad9\u5185\u4e0d\u4ec5\u6709\u5404\u79cd\u5404\u6837\u7684 LaTeX \u6a21\u7248\u4f9b\u4f60\u9009\u62e9\uff0c\u8fd8\u514d\u53bb\u4e86\u73af\u5883\u914d\u7f6e\u7684\u96be\u9898\u3002 \u9605\u8bfb\u4e0b\u9762\u4e09\u7bc7 Tutorial: Part-1 , Part-2 , Part-3 \u3002 \u5b66\u4e60 LaTeX \u6700\u597d\u7684\u65b9\u5f0f\u5f53\u7136\u662f\u5199\u8bba\u6587\uff0c\u4e0d\u8fc7\u4ece\u4e00\u95e8\u6570\u5b66\u8bfe\u5165\u624b\u7528 LaTeX \u5199\u4f5c\u4e1a\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u9009\u62e9\u3002 \u5176\u4ed6\u503c\u5f97\u63a8\u8350\u7684\u5165\u95e8\u5b66\u4e60\u8d44\u6599\u5982\u4e0b\uff1a \u4e00\u4efd\u7b80\u77ed\u7684\u5b89\u88c5 LaTeX \u7684\u4ecb\u7ecd [ GitHub ] \u6216\u8005 TEX Live \u6307\u5357\uff08texlive-zh-cn\uff09[ PDF ] \u53ef\u4ee5\u5e2e\u52a9\u4f60\u5b8c\u6210\u5b89\u88c5\u548c\u73af\u5883\u914d\u7f6e\u8fc7\u7a0b \u4e00\u4efd\uff08\u4e0d\u592a\uff09\u7b80\u77ed\u7684 LaTeX2\u03b5 \u4ecb\u7ecd\uff08lshort-zh-cn\uff09[ PDF ] [ GitHub ] \u662f\u7531 CTEX \u5f00\u53d1\u5c0f\u7ec4\u7ffb\u8bd1\u7684\uff0c\u53ef\u4ee5\u5e2e\u52a9\u4f60\u5feb\u901f\u51c6\u786e\u5730\u5165\u95e8\uff0c\u5efa\u8bae\u901a\u8bfb\u4e00\u904d \u5218\u6d77\u6d0b\u7684\u300aLaTeX \u5165\u95e8\u300b\uff0c\u53ef\u4ee5\u5f53\u4f5c\u5de5\u5177\u4e66\u6765\u9605\u8bfb\uff0c\u6709\u95ee\u9898\u518d\u67e5\u627e\uff0c\u8df3\u8fc7 CTEX \u5957\u88c5\u90e8\u5206 \u73b0\u4ee3 LaTeX \u5165\u95e8\u8bb2\u5ea7 \u4e00\u4efd\u5176\u5b9e\u5f88\u77ed\u7684 LaTeX \u5165\u95e8\u6587\u6863","title":"\u5982\u4f55\u5b66\u4e60 LaTeX"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/","text":"Scoop \u4e3a\u4ec0\u4e48\u4f7f\u7528 Scoop \u5728 Windows \u4e0b\uff0c\u642d\u5efa\u5f00\u53d1\u73af\u5883\u4e00\u76f4\u662f\u4e00\u4e2a\u590d\u6742\u4e14\u56f0\u96be\u7684\u95ee\u9898\u3002\u7531\u4e8e\u6ca1\u6709\u4e00\u4e2a\u7edf\u4e00\u7684\u6807\u51c6\uff0c\u5bfc\u81f4\u5404\u79cd\u5f00\u53d1\u73af\u5883\u7684\u5b89\u88c5\u65b9\u5f0f\u5dee\u5f02\u5de8\u5927\uff0c\u9700\u8981\u4ed8\u51fa\u5f88\u591a\u4e0d\u5fc5\u8981\u7684\u65f6\u95f4\u6210\u672c\u3002\u800c Scoop \u53ef\u4ee5\u5e2e\u52a9\u4f60\u7edf\u4e00\u5b89\u88c5\u5e76\u7ba1\u7406\u5e38\u89c1\u7684\u5f00\u53d1\u8f6f\u4ef6\uff0c\u7701\u53bb\u4e86\u624b\u52a8\u4e0b\u8f7d\u5b89\u88c5\uff0c\u914d\u7f6e\u73af\u5883\u53d8\u91cf\u7b49\u7e41\u7410\u6b65\u9aa4\u3002 \u4f8b\u5982\u5b89\u88c5 python \u548c nodejs \u53ea\u9700\u8981\u6267\u884c\uff1a scoop install python scoop install nodejs \u5b89\u88c5 Scoop Scoop \u9700\u8981 Windows PowerShell 5.1 \u6216\u8005 PowerShell \u4f5c\u4e3a\u8fd0\u884c\u73af\u5883\uff0c\u5982\u679c\u4f60\u4f7f\u7528\u7684\u662f Windows 10 \u53ca\u4ee5\u4e0a\u7248\u672c\uff0cWindows PowerShell \u662f\u5185\u7f6e\u5728\u7cfb\u7edf\u4e2d\u7684\u3002\u800c Windows 7 \u5185\u7f6e\u7684 Windows PowerShell \u7248\u672c\u8fc7\u4e8e\u9648\u65e7\uff0c\u4f60\u9700\u8981\u624b\u52a8\u5b89\u88c5\u65b0\u7248\u672c\u7684 PowerShell\u3002 \u7531\u4e8e\u53d1\u73b0\u5f88\u591a\u540c\u5b66\u5728\u8bbe\u7f6e Windows \u7528\u6237\u65f6\u4f7f\u7528\u4e86\u4e2d\u6587\u7528\u6237\u540d\uff0c\u5bfc\u81f4\u4e86\u7528\u6237\u76ee\u5f55\u4e5f\u53d8\u6210\u4e86\u4e2d\u6587\u540d\u3002\u5982\u679c\u6309\u7167 Scoop \u7684\u9ed8\u8ba4\u65b9\u5f0f\u5c06\u8f6f\u4ef6\u5b89\u88c5\u5230\u7528\u6237\u76ee\u5f55\u4e0b\uff0c\u53ef\u80fd\u4f1a\u9020\u6210\u90e8\u5206\u8f6f\u4ef6\u6267\u884c\u9519\u8bef\u3002\u6240\u4ee5\u8fd9\u91cc\u63a8\u8350\u5b89\u88c5\u5230\u81ea\u5b9a\u4e49\u76ee\u5f55\uff0c\u5982\u679c\u9700\u8981\u5176\u4ed6\u5b89\u88c5\u65b9\u5f0f\u8bf7\u53c2\u8003\uff1a ScoopInstaller/Install # \u8bbe\u7f6e PowerShell \u6267\u884c\u7b56\u7565 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser # \u4e0b\u8f7d\u5b89\u88c5\u811a\u672c irm get.scoop.sh -outfile 'install.ps1' # \u6267\u884c\u5b89\u88c5, --ScoopDir \u53c2\u6570\u6307\u5b9a Scoop \u5b89\u88c5\u8def\u5f84 .\\install.ps1 -ScoopDir 'C:\\Scoop' \u4f7f\u7528 Scoop Scoop \u7684\u5b98\u65b9\u6587\u6863\u5bf9\u4e8e\u65b0\u624b\u975e\u5e38\u53cb\u597d\uff0c\u76f8\u5bf9\u4e8e\u5728\u6b64\u5904\u8d58\u8ff0\u66f4\u63a8\u8350\u9605\u8bfb \u5b98\u65b9\u6587\u6863 \u6216 \u5feb\u901f\u5165\u95e8 \u3002 Q&A Scoop \u80fd\u914d\u7f6e\u955c\u50cf\u6e90\u5417\uff1f Scoop \u793e\u533a\u4ec5\u7ef4\u62a4\u5b89\u88c5\u914d\u7f6e\uff0c\u6240\u6709\u7684\u8f6f\u4ef6\u90fd\u662f\u4ece\u8be5\u8f6f\u4ef6\u5b98\u65b9\u63d0\u4f9b\u7684\u4e0b\u8f7d\u94fe\u63a5\u8fdb\u884c\u4e0b\u8f7d\uff0c\u6240\u4ee5\u65e0\u6cd5\u63d0\u4f9b\u955c\u50cf\u6e90\u3002\u5982\u679c\u56e0\u4e3a\u4f60\u7684\u7f51\u7edc\u73af\u5883\u5bfc\u81f4\u591a\u6b21\u4e0b\u8f7d\u5931\u8d25\uff0c\u90a3\u4e48\u4f60\u9700\u8981\u4e00\u70b9\u70b9 \u9b54\u6cd5 \u3002 \u4e3a\u4ec0\u4e48\u627e\u4e0d\u5230 Java8\uff1f \u539f\u56e0\u540c\u4e0a\uff0c\u5b98\u65b9\u5df2\u4e0d\u518d\u63d0\u4f9b Java8 \u7684\u4e0b\u8f7d\u94fe\u63a5\uff0c\u63a8\u8350\u4f7f\u7528 ojdkbuild8 \u66ff\u4ee3\u3002 \u6211\u9700\u8981\u5b89\u88c5 python2 \u8be5\u5982\u4f55\u64cd\u4f5c\uff1f \u5bf9\u4e8e\u5df2\u7ecf\u8fc7\u65f6\u5f03\u7528\u7684\u8f6f\u4ef6\uff0cScoop \u793e\u533a\u4f1a\u5c06\u5176\u4ece ScoopInstaller/Main \u4e2d\u79fb\u9664\u5e76\u5c06\u5176\u6dfb\u52a0\u5230 ScoopInstaller/Versions \u4e2d\u3002\u5982\u679c\u4f60\u9700\u8981\u8fd9\u4e9b\u8f6f\u4ef6\u7684\u8bdd\u9700\u8981\u624b\u52a8\u6dfb\u52a0 bucket\uff1a scoop bucket add versions scoop install python27","title":"Scoop"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#scoop","text":"","title":"Scoop"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#scoop_1","text":"\u5728 Windows \u4e0b\uff0c\u642d\u5efa\u5f00\u53d1\u73af\u5883\u4e00\u76f4\u662f\u4e00\u4e2a\u590d\u6742\u4e14\u56f0\u96be\u7684\u95ee\u9898\u3002\u7531\u4e8e\u6ca1\u6709\u4e00\u4e2a\u7edf\u4e00\u7684\u6807\u51c6\uff0c\u5bfc\u81f4\u5404\u79cd\u5f00\u53d1\u73af\u5883\u7684\u5b89\u88c5\u65b9\u5f0f\u5dee\u5f02\u5de8\u5927\uff0c\u9700\u8981\u4ed8\u51fa\u5f88\u591a\u4e0d\u5fc5\u8981\u7684\u65f6\u95f4\u6210\u672c\u3002\u800c Scoop \u53ef\u4ee5\u5e2e\u52a9\u4f60\u7edf\u4e00\u5b89\u88c5\u5e76\u7ba1\u7406\u5e38\u89c1\u7684\u5f00\u53d1\u8f6f\u4ef6\uff0c\u7701\u53bb\u4e86\u624b\u52a8\u4e0b\u8f7d\u5b89\u88c5\uff0c\u914d\u7f6e\u73af\u5883\u53d8\u91cf\u7b49\u7e41\u7410\u6b65\u9aa4\u3002 \u4f8b\u5982\u5b89\u88c5 python \u548c nodejs \u53ea\u9700\u8981\u6267\u884c\uff1a scoop install python scoop install nodejs","title":"\u4e3a\u4ec0\u4e48\u4f7f\u7528 Scoop"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#scoop_2","text":"Scoop \u9700\u8981 Windows PowerShell 5.1 \u6216\u8005 PowerShell \u4f5c\u4e3a\u8fd0\u884c\u73af\u5883\uff0c\u5982\u679c\u4f60\u4f7f\u7528\u7684\u662f Windows 10 \u53ca\u4ee5\u4e0a\u7248\u672c\uff0cWindows PowerShell \u662f\u5185\u7f6e\u5728\u7cfb\u7edf\u4e2d\u7684\u3002\u800c Windows 7 \u5185\u7f6e\u7684 Windows PowerShell \u7248\u672c\u8fc7\u4e8e\u9648\u65e7\uff0c\u4f60\u9700\u8981\u624b\u52a8\u5b89\u88c5\u65b0\u7248\u672c\u7684 PowerShell\u3002 \u7531\u4e8e\u53d1\u73b0\u5f88\u591a\u540c\u5b66\u5728\u8bbe\u7f6e Windows \u7528\u6237\u65f6\u4f7f\u7528\u4e86\u4e2d\u6587\u7528\u6237\u540d\uff0c\u5bfc\u81f4\u4e86\u7528\u6237\u76ee\u5f55\u4e5f\u53d8\u6210\u4e86\u4e2d\u6587\u540d\u3002\u5982\u679c\u6309\u7167 Scoop \u7684\u9ed8\u8ba4\u65b9\u5f0f\u5c06\u8f6f\u4ef6\u5b89\u88c5\u5230\u7528\u6237\u76ee\u5f55\u4e0b\uff0c\u53ef\u80fd\u4f1a\u9020\u6210\u90e8\u5206\u8f6f\u4ef6\u6267\u884c\u9519\u8bef\u3002\u6240\u4ee5\u8fd9\u91cc\u63a8\u8350\u5b89\u88c5\u5230\u81ea\u5b9a\u4e49\u76ee\u5f55\uff0c\u5982\u679c\u9700\u8981\u5176\u4ed6\u5b89\u88c5\u65b9\u5f0f\u8bf7\u53c2\u8003\uff1a ScoopInstaller/Install # \u8bbe\u7f6e PowerShell \u6267\u884c\u7b56\u7565 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser # \u4e0b\u8f7d\u5b89\u88c5\u811a\u672c irm get.scoop.sh -outfile 'install.ps1' # \u6267\u884c\u5b89\u88c5, --ScoopDir \u53c2\u6570\u6307\u5b9a Scoop \u5b89\u88c5\u8def\u5f84 .\\install.ps1 -ScoopDir 'C:\\Scoop'","title":"\u5b89\u88c5 Scoop"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#scoop_3","text":"Scoop \u7684\u5b98\u65b9\u6587\u6863\u5bf9\u4e8e\u65b0\u624b\u975e\u5e38\u53cb\u597d\uff0c\u76f8\u5bf9\u4e8e\u5728\u6b64\u5904\u8d58\u8ff0\u66f4\u63a8\u8350\u9605\u8bfb \u5b98\u65b9\u6587\u6863 \u6216 \u5feb\u901f\u5165\u95e8 \u3002","title":"\u4f7f\u7528 Scoop"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#qa","text":"","title":"Q&A"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#scoop_4","text":"Scoop \u793e\u533a\u4ec5\u7ef4\u62a4\u5b89\u88c5\u914d\u7f6e\uff0c\u6240\u6709\u7684\u8f6f\u4ef6\u90fd\u662f\u4ece\u8be5\u8f6f\u4ef6\u5b98\u65b9\u63d0\u4f9b\u7684\u4e0b\u8f7d\u94fe\u63a5\u8fdb\u884c\u4e0b\u8f7d\uff0c\u6240\u4ee5\u65e0\u6cd5\u63d0\u4f9b\u955c\u50cf\u6e90\u3002\u5982\u679c\u56e0\u4e3a\u4f60\u7684\u7f51\u7edc\u73af\u5883\u5bfc\u81f4\u591a\u6b21\u4e0b\u8f7d\u5931\u8d25\uff0c\u90a3\u4e48\u4f60\u9700\u8981\u4e00\u70b9\u70b9 \u9b54\u6cd5 \u3002","title":"Scoop \u80fd\u914d\u7f6e\u955c\u50cf\u6e90\u5417\uff1f"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#java8","text":"\u539f\u56e0\u540c\u4e0a\uff0c\u5b98\u65b9\u5df2\u4e0d\u518d\u63d0\u4f9b Java8 \u7684\u4e0b\u8f7d\u94fe\u63a5\uff0c\u63a8\u8350\u4f7f\u7528 ojdkbuild8 \u66ff\u4ee3\u3002","title":"\u4e3a\u4ec0\u4e48\u627e\u4e0d\u5230 Java8\uff1f"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/#python2","text":"\u5bf9\u4e8e\u5df2\u7ecf\u8fc7\u65f6\u5f03\u7528\u7684\u8f6f\u4ef6\uff0cScoop \u793e\u533a\u4f1a\u5c06\u5176\u4ece ScoopInstaller/Main \u4e2d\u79fb\u9664\u5e76\u5c06\u5176\u6dfb\u52a0\u5230 ScoopInstaller/Versions \u4e2d\u3002\u5982\u679c\u4f60\u9700\u8981\u8fd9\u4e9b\u8f6f\u4ef6\u7684\u8bdd\u9700\u8981\u624b\u52a8\u6dfb\u52a0 bucket\uff1a scoop bucket add versions scoop install python27","title":"\u6211\u9700\u8981\u5b89\u88c5 python2 \u8be5\u5982\u4f55\u64cd\u4f5c\uff1f"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/","text":"Vim Why Vim In my opinion, the Vim editor has the following benefits: It keeps your finger on the keyboard throughout the development and moving the cursor without the arrow keys keeps your fingers in the best position for typing. Convenient file switching and panel controls allow you to edit multiple files simultaneously or even different locations of the same file. Vim's macros can batch repeat operations (e.g. add tabs to multi-lines, etc.) Vim is well-suited for Linux servers without GUI. When you connect to a remote server through ssh , you can only develop from the command line because there is no GUI (of course, many IDEs such as PyCharm now provide ssh plugins to solve this problem). A rich ecology of plugins gives you the world's most fancy command-line editor. How to learn Vim Unfortunately Vim does have a pretty steep learning curve and it took me a few weeks to get used to developing with Vim. You'll feel very uncomfortable at first, but once you get past the initial stages, trust me, you'll fall in love with Vim. There is a vast amount of learning material available on Vim, but the best way to master it is to use it in your daily development, no need to learn all the fancy advanced Vim tricks right away. The recommended learning path is as follows: Read This tutorial first to understand the basic Vim concepts and usage. Use Vim's own vimtutor to practice. After installing Vim, type vimtutor directly into the command line to enter the practice program. Then you can force yourself to use Vim for development, and you can install Vim plugins in your favorite IDE. Once you're fully comfortable with Vim, a new world opens up to you, and you can configure your own Vim on demand (by modifying the .vimrc file), and there are countless resources on the Internet to learn from. If you want to know more about how to customize Vim to suit your needs, Learn Vim Script the Hard Way is a perfect start point. Remapping Keys Ctrl and Esc keys are probably two of the most used keys in Vim. However, these two keys are pretty far away from home row. In order to make it easier to reach these keys, you can remap CapsLock to Esc or Ctrl. On Windows, Powertoys or AutoHotkey can be used to achieve this goal. On macOS, you can remap keys in system settings, see this page . Karabiner-Elements also works. A better solution is to make CapsLock function as Esc and Ctrl simultaneously. Click CapsLock to send Esc, hold CapsLock to use it as Ctrl key. Here's how to do it on different systems: Windows MacOS Linux Recommended References Neil, Drew. Practical Vim: Edit Text at the Speed of Thought. N.p., Pragmatic Bookshelf, 2015. Neil, Drew. Modern Vim: Craft Your Development Environment with Vim 8 and Neovim. United States, Pragmatic Bookshelf.","title":"Vim"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#vim","text":"","title":"Vim"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#why-vim","text":"In my opinion, the Vim editor has the following benefits: It keeps your finger on the keyboard throughout the development and moving the cursor without the arrow keys keeps your fingers in the best position for typing. Convenient file switching and panel controls allow you to edit multiple files simultaneously or even different locations of the same file. Vim's macros can batch repeat operations (e.g. add tabs to multi-lines, etc.) Vim is well-suited for Linux servers without GUI. When you connect to a remote server through ssh , you can only develop from the command line because there is no GUI (of course, many IDEs such as PyCharm now provide ssh plugins to solve this problem). A rich ecology of plugins gives you the world's most fancy command-line editor.","title":"Why Vim"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#how-to-learn-vim","text":"Unfortunately Vim does have a pretty steep learning curve and it took me a few weeks to get used to developing with Vim. You'll feel very uncomfortable at first, but once you get past the initial stages, trust me, you'll fall in love with Vim. There is a vast amount of learning material available on Vim, but the best way to master it is to use it in your daily development, no need to learn all the fancy advanced Vim tricks right away. The recommended learning path is as follows: Read This tutorial first to understand the basic Vim concepts and usage. Use Vim's own vimtutor to practice. After installing Vim, type vimtutor directly into the command line to enter the practice program. Then you can force yourself to use Vim for development, and you can install Vim plugins in your favorite IDE. Once you're fully comfortable with Vim, a new world opens up to you, and you can configure your own Vim on demand (by modifying the .vimrc file), and there are countless resources on the Internet to learn from. If you want to know more about how to customize Vim to suit your needs, Learn Vim Script the Hard Way is a perfect start point.","title":"How to learn Vim"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#remapping-keys","text":"Ctrl and Esc keys are probably two of the most used keys in Vim. However, these two keys are pretty far away from home row. In order to make it easier to reach these keys, you can remap CapsLock to Esc or Ctrl. On Windows, Powertoys or AutoHotkey can be used to achieve this goal. On macOS, you can remap keys in system settings, see this page . Karabiner-Elements also works. A better solution is to make CapsLock function as Esc and Ctrl simultaneously. Click CapsLock to send Esc, hold CapsLock to use it as Ctrl key. Here's how to do it on different systems: Windows MacOS Linux","title":"Remapping Keys"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#recommended-references","text":"Neil, Drew. Practical Vim: Edit Text at the Speed of Thought. N.p., Pragmatic Bookshelf, 2015. Neil, Drew. Modern Vim: Craft Your Development Environment with Vim 8 and Neovim. United States, Pragmatic Bookshelf.","title":"Recommended References"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/thesis/","text":"\u6bd5\u4e1a\u8bba\u6587 \u4e3a\u4ec0\u4e48\u5199\u8fd9\u4efd\u6559\u7a0b 2022\u5e74\uff0c\u6211\u672c\u79d1\u6bd5\u4e1a\u4e86\u3002\u5728\u5f00\u59cb\u52a8\u624b\u5199\u6bd5\u4e1a\u8bba\u6587\u7684\u65f6\u5019\uff0c\u6211\u5c34\u5c2c\u5730\u53d1\u73b0\uff0c\u6211\u5bf9 Word \u7684\u638c\u63e1\u7a0b\u5ea6\u4ec5\u9650\u4e8e\u8c03\u8282\u5b57\u4f53\u3001\u4fdd\u5b58\u5bfc\u51fa\u8fd9\u4e9b\u50bb\u74dc\u529f\u80fd\u3002\u66fe\u60f3\u8f6c\u6218 Latex\uff0c\u4f46\u8bba\u6587\u7684\u6bb5\u843d\u683c\u5f0f\u8981\u6c42\u8c03\u6574\u8d77\u6765\u8fd8\u662f\u7528 Word \u66f4\u4e3a\u65b9\u4fbf\uff0c\u7ecf\u8fc7\u4e00\u756a\u75db\u82e6\u7f20\u6597\u4e4b\u540e\uff0c\u603b\u7b97\u662f\u6709\u60ca\u65e0\u9669\u5730\u5b8c\u6210\u4e86\u8bba\u6587\u7684\u5199\u4f5c\u548c\u7b54\u8fa9\u3002\u4e3a\u4e86\u4e0d\u8ba9\u540e\u6765\u8005\u91cd\u8e48\u8986\u8f99\uff0c\u9042\u628a\u76f8\u5173\u8d44\u6e90\u6574\u7406\u6210\u4e00\u4efd\u5f00\u7bb1\u5373\u7528\u7684\u6587\u6863\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u5982\u4f55\u7528 Word \u5199\u6bd5\u4e1a\u8bba\u6587 \u6b63\u5982\u5c06\u5927\u8c61\u88c5\u8fdb\u51b0\u7bb1\u9700\u8981\u4e09\u6b65\uff0c\u7528 Word \u5199\u6bd5\u4e1a\u8bba\u6587\u4e5f\u53ea\u9700\u8981\u7b80\u5355\u4e09\u6b65\uff1a \u786e\u5b9a\u8bba\u6587\u7684\u683c\u5f0f\u8981\u6c42\uff1a\u901a\u5e38\u5b66\u9662\u90fd\u4f1a\u4e0b\u53d1\u6bd5\u4e1a\u8bba\u6587\u7684\u683c\u5f0f\u8981\u6c42\uff08\u5404\u7ea7\u6807\u9898\u7684\u5b57\u4f53\u5b57\u53f7\u3001\u56fe\u4f8b\u548c\u5f15\u7528\u7684\u683c\u5f0f\u7b49\u7b49\uff09\uff0c\u5982\u679c\u66f4\u4e3a\u8d34\u5fc3\u7684\u8bdd\u751a\u81f3\u4f1a\u76f4\u63a5\u7ed9\u51fa\u8bba\u6587\u6a21\u7248\uff08\u5982\u662f\u6b64\u60c5\u51b5\u8bf7\u76f4\u63a5\u8df3\u8f6c\u5230\u4e0b\u4e00\u6b65\uff09\u3002\u5f88\u4e0d\u5e78\u7684\u662f\uff0c\u6211\u7684\u5b66\u9662\u5e76\u6ca1\u6709\u4e0b\u53d1\u6807\u51c6\u7684\u8bba\u6587\u683c\u5f0f\u8981\u6c42\uff0c\u8fd8\u63d0\u4f9b\u4e86\u4e00\u4efd\u683c\u5f0f\u6df7\u4e71\u51e0\u4e4e\u6beb\u65e0\u7528\u5904\u7684\u8bba\u6587\u6a21\u7248\u8188\u5e94\u6211\uff0c\u88ab\u903c\u65e0\u5948\u4e4b\u4e0b\u6211\u627e\u5230\u4e86\u5317\u4eac\u5927\u5b66\u7814\u7a76\u751f\u7684 \u8bba\u6587\u683c\u5f0f\u8981\u6c42 \uff0c\u5e76\u6309\u7167\u5176\u8981\u6c42\u5236\u4f5c\u4e86 \u4e00\u4efd\u6a21\u7248 \uff0c\u5927\u5bb6\u9700\u8981\u7684\u8bdd\u81ea\u53d6\uff0c\u672c\u4eba\u4e0d\u627f\u62c5\u65e0\u6cd5\u6bd5\u4e1a\u7b49\u4efb\u4f55\u8d23\u4efb\u3002 \u5b66\u4e60 Word \u6392\u7248\uff1a\u5230\u8fbe\u8fd9\u4e00\u6b65\u7684\u7ae5\u978b\u5206\u4e3a\u4e24\u7c7b\uff0c\u4e00\u662f\u5df2\u7ecf\u62e5\u6709\u4e86\u5b66\u9662\u63d0\u4f9b\u7684\u6807\u51c6\u6a21\u7248\uff0c\u4e8c\u662f\u53ea\u6709\u4e00\u4efd\u865a\u65e0\u7f25\u7f08\u7684\u683c\u5f0f\u8981\u6c42\u3002\u90a3\u73b0\u5728\u5f53\u52a1\u4e4b\u6025\u5c31\u662f\u5b66\u4e60\u57fa\u7840\u7684 Word \u6392\u7248\u6280\u672f\uff0c\u5bf9\u4e8e\u524d\u8005\u53ef\u4ee5\u5b66\u4f1a\u4f7f\u7528\u6a21\u7248\uff0c\u5bf9\u4e8e\u540e\u8005\u5219\u53ef\u4ee5\u5b66\u4f1a\u5236\u4f5c\u6a21\u7248\u3002\u6b64\u65f6\u5207\u8bb0\u4e0d\u8981\u96c4\u5fc3\u52c3\u52c3\u5730\u9009\u62e9\u4e00\u4e2a\u5341\u51e0\u4e2a\u5c0f\u65f6\u7684 Word \u6559\u5b66\u89c6\u9891\u5f00\u59cb\u5934\u60ac\u6881\u9525\u523a\u80a1\uff0c\u56e0\u4e3a\u751f\u4ea7\u4e00\u4efd\u5e94\u4ed8\u6bd5\u4e1a\u7684\u5b66\u672f\u5783\u573e\u53ea\u8981\u5b66\u534a\u5c0f\u65f6\u80fd\u4e0a\u624b\u5c31\u591f\u4e86\u3002\u6211\u5f53\u65f6\u770b\u7684 \u4e00\u4e2a B \u7ad9\u7684\u6559\u5b66\u89c6\u9891 \uff0c\u77ed\u5c0f\u7cbe\u608d\u975e\u5e38\u5b9e\u7528\uff0c\u5168\u957f\u534a\u5c0f\u65f6\u6781\u901f\u5165\u95e8\u3002 \u751f\u4ea7\u5b66\u672f\u5783\u573e\uff1a\u6700\u5bb9\u6613\u7684\u4e00\u6b65\uff0c\u5927\u5bb6\u516b\u4ed9\u8fc7\u6d77\uff0c\u5404\u663e\u795e\u901a\u5427\uff0c\u795d\u5927\u5bb6\u6bd5\u4e1a\u987a\u5229\uff5e\uff5e","title":"\u6bd5\u4e1a\u8bba\u6587"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/thesis/#_1","text":"","title":"\u6bd5\u4e1a\u8bba\u6587"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/thesis/#_2","text":"2022\u5e74\uff0c\u6211\u672c\u79d1\u6bd5\u4e1a\u4e86\u3002\u5728\u5f00\u59cb\u52a8\u624b\u5199\u6bd5\u4e1a\u8bba\u6587\u7684\u65f6\u5019\uff0c\u6211\u5c34\u5c2c\u5730\u53d1\u73b0\uff0c\u6211\u5bf9 Word \u7684\u638c\u63e1\u7a0b\u5ea6\u4ec5\u9650\u4e8e\u8c03\u8282\u5b57\u4f53\u3001\u4fdd\u5b58\u5bfc\u51fa\u8fd9\u4e9b\u50bb\u74dc\u529f\u80fd\u3002\u66fe\u60f3\u8f6c\u6218 Latex\uff0c\u4f46\u8bba\u6587\u7684\u6bb5\u843d\u683c\u5f0f\u8981\u6c42\u8c03\u6574\u8d77\u6765\u8fd8\u662f\u7528 Word \u66f4\u4e3a\u65b9\u4fbf\uff0c\u7ecf\u8fc7\u4e00\u756a\u75db\u82e6\u7f20\u6597\u4e4b\u540e\uff0c\u603b\u7b97\u662f\u6709\u60ca\u65e0\u9669\u5730\u5b8c\u6210\u4e86\u8bba\u6587\u7684\u5199\u4f5c\u548c\u7b54\u8fa9\u3002\u4e3a\u4e86\u4e0d\u8ba9\u540e\u6765\u8005\u91cd\u8e48\u8986\u8f99\uff0c\u9042\u628a\u76f8\u5173\u8d44\u6e90\u6574\u7406\u6210\u4e00\u4efd\u5f00\u7bb1\u5373\u7528\u7684\u6587\u6863\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002","title":"\u4e3a\u4ec0\u4e48\u5199\u8fd9\u4efd\u6559\u7a0b"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/thesis/#word","text":"\u6b63\u5982\u5c06\u5927\u8c61\u88c5\u8fdb\u51b0\u7bb1\u9700\u8981\u4e09\u6b65\uff0c\u7528 Word \u5199\u6bd5\u4e1a\u8bba\u6587\u4e5f\u53ea\u9700\u8981\u7b80\u5355\u4e09\u6b65\uff1a \u786e\u5b9a\u8bba\u6587\u7684\u683c\u5f0f\u8981\u6c42\uff1a\u901a\u5e38\u5b66\u9662\u90fd\u4f1a\u4e0b\u53d1\u6bd5\u4e1a\u8bba\u6587\u7684\u683c\u5f0f\u8981\u6c42\uff08\u5404\u7ea7\u6807\u9898\u7684\u5b57\u4f53\u5b57\u53f7\u3001\u56fe\u4f8b\u548c\u5f15\u7528\u7684\u683c\u5f0f\u7b49\u7b49\uff09\uff0c\u5982\u679c\u66f4\u4e3a\u8d34\u5fc3\u7684\u8bdd\u751a\u81f3\u4f1a\u76f4\u63a5\u7ed9\u51fa\u8bba\u6587\u6a21\u7248\uff08\u5982\u662f\u6b64\u60c5\u51b5\u8bf7\u76f4\u63a5\u8df3\u8f6c\u5230\u4e0b\u4e00\u6b65\uff09\u3002\u5f88\u4e0d\u5e78\u7684\u662f\uff0c\u6211\u7684\u5b66\u9662\u5e76\u6ca1\u6709\u4e0b\u53d1\u6807\u51c6\u7684\u8bba\u6587\u683c\u5f0f\u8981\u6c42\uff0c\u8fd8\u63d0\u4f9b\u4e86\u4e00\u4efd\u683c\u5f0f\u6df7\u4e71\u51e0\u4e4e\u6beb\u65e0\u7528\u5904\u7684\u8bba\u6587\u6a21\u7248\u8188\u5e94\u6211\uff0c\u88ab\u903c\u65e0\u5948\u4e4b\u4e0b\u6211\u627e\u5230\u4e86\u5317\u4eac\u5927\u5b66\u7814\u7a76\u751f\u7684 \u8bba\u6587\u683c\u5f0f\u8981\u6c42 \uff0c\u5e76\u6309\u7167\u5176\u8981\u6c42\u5236\u4f5c\u4e86 \u4e00\u4efd\u6a21\u7248 \uff0c\u5927\u5bb6\u9700\u8981\u7684\u8bdd\u81ea\u53d6\uff0c\u672c\u4eba\u4e0d\u627f\u62c5\u65e0\u6cd5\u6bd5\u4e1a\u7b49\u4efb\u4f55\u8d23\u4efb\u3002 \u5b66\u4e60 Word \u6392\u7248\uff1a\u5230\u8fbe\u8fd9\u4e00\u6b65\u7684\u7ae5\u978b\u5206\u4e3a\u4e24\u7c7b\uff0c\u4e00\u662f\u5df2\u7ecf\u62e5\u6709\u4e86\u5b66\u9662\u63d0\u4f9b\u7684\u6807\u51c6\u6a21\u7248\uff0c\u4e8c\u662f\u53ea\u6709\u4e00\u4efd\u865a\u65e0\u7f25\u7f08\u7684\u683c\u5f0f\u8981\u6c42\u3002\u90a3\u73b0\u5728\u5f53\u52a1\u4e4b\u6025\u5c31\u662f\u5b66\u4e60\u57fa\u7840\u7684 Word \u6392\u7248\u6280\u672f\uff0c\u5bf9\u4e8e\u524d\u8005\u53ef\u4ee5\u5b66\u4f1a\u4f7f\u7528\u6a21\u7248\uff0c\u5bf9\u4e8e\u540e\u8005\u5219\u53ef\u4ee5\u5b66\u4f1a\u5236\u4f5c\u6a21\u7248\u3002\u6b64\u65f6\u5207\u8bb0\u4e0d\u8981\u96c4\u5fc3\u52c3\u52c3\u5730\u9009\u62e9\u4e00\u4e2a\u5341\u51e0\u4e2a\u5c0f\u65f6\u7684 Word \u6559\u5b66\u89c6\u9891\u5f00\u59cb\u5934\u60ac\u6881\u9525\u523a\u80a1\uff0c\u56e0\u4e3a\u751f\u4ea7\u4e00\u4efd\u5e94\u4ed8\u6bd5\u4e1a\u7684\u5b66\u672f\u5783\u573e\u53ea\u8981\u5b66\u534a\u5c0f\u65f6\u80fd\u4e0a\u624b\u5c31\u591f\u4e86\u3002\u6211\u5f53\u65f6\u770b\u7684 \u4e00\u4e2a B \u7ad9\u7684\u6559\u5b66\u89c6\u9891 \uff0c\u77ed\u5c0f\u7cbe\u608d\u975e\u5e38\u5b9e\u7528\uff0c\u5168\u957f\u534a\u5c0f\u65f6\u6781\u901f\u5165\u95e8\u3002 \u751f\u4ea7\u5b66\u672f\u5783\u573e\uff1a\u6700\u5bb9\u6613\u7684\u4e00\u6b65\uff0c\u5927\u5bb6\u516b\u4ed9\u8fc7\u6d77\uff0c\u5404\u663e\u795e\u901a\u5427\uff0c\u795d\u5927\u5bb6\u6bd5\u4e1a\u987a\u5229\uff5e\uff5e","title":"\u5982\u4f55\u7528 Word \u5199\u6bd5\u4e1a\u8bba\u6587"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/","text":"\u5b9e\u7528\u5de5\u5177\u7bb1 \u4e0b\u8f7d\u5de5\u5177 Sci-Hub : Elbakyan \u5973\u795e\u5411\u4f60\u6325\u624b\uff0c\u65e8\u5728\u6253\u7834\u77e5\u8bc6\u58c1\u5792\u7684\u9769\u547d\u6027\u7f51\u7ad9\u3002 Library Genesis : \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 Z-library : \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\uff08\u5728 Tor \u4e0b\u8fd0\u884c\u8f83\u4f73\uff0c \u94fe\u63a5 \uff09\u3002 Z-ePub : ePub \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 PDF Drive : PDF \u7535\u5b50\u4e66\u641c\u7d22\u5f15\u64ce\u3002 MagazineLib : PDF \u7535\u5b50\u6742\u5fd7\u4e0b\u8f7d\u7f51\u7ad9\u3002 BitDownloader : \u6cb9\u7ba1\u89c6\u9891\u4e0b\u8f7d\u5668\u3002 qBittorrent : BitTorrent \u5ba2\u6237\u7aef\u3002 uTorrent : BitTorrent \u5ba2\u6237\u7aef\u3002 \u5168\u56fd\u6807\u51c6\u4fe1\u606f\u516c\u5171\u670d\u52a1\u5e73\u53f0 \uff1a\u5404\u7c7b\u6807\u51c6\u67e5\u8be2\u548c\u4e0b\u8f7d\u5b98\u65b9\u5e73\u53f0\u3002 \u6807\u51c6\u77e5\u8bc6\u670d\u52a1\u7cfb\u7edf \uff1a\u68c0\u7d22\u4e0e\u9605\u8bfb\u6240\u9700\u6807\u51c6\u3002 MSDN,\u6211\u544a\u8bc9\u4f60 : Windows \u64cd\u4f5c\u7cfb\u7edf\u955c\u50cf\u4e0b\u8f7d\u7ad9\uff0c\u4e5f\u6709\u8bb8\u591a\u5176\u4ed6\u8f6f\u4ef6\u7684\u4e0b\u8f7d\u3002 \u8bbe\u8ba1\u5de5\u5177 excalidraw : \u4e00\u6b3e\u624b\u7ed8\u98ce\u683c\u7684\u7ed8\u56fe\u5de5\u5177\uff0c\u975e\u5e38\u9002\u5408\u7ed8\u5236\u8bfe\u7a0b\u62a5\u544a\u6216\u8005PPT\u5185\u7684\u793a\u610f\u56fe\u3002 tldraw : \u4e00\u4e2a\u7ed8\u56fe\u5de5\u5177\uff0c\u9002\u5408\u753b\u6d41\u7a0b\u56fe\uff0c\u67b6\u6784\u56fe\u7b49\u3002 draw.io : \u5f3a\u5927\u7b80\u6d01\u7684\u5728\u7ebf\u7684\u7ed8\u56fe\u7f51\u7ad9\uff0c\u652f\u6301\u6d41\u7a0b\u56fe\uff0cUML\u56fe\uff0c\u67b6\u6784\u56fe\uff0c\u539f\u578b\u56fe\u7b49\u7b49\uff0c\u652f\u6301 Onedrive, Google Drive, Github \u5bfc\u51fa\uff0c\u540c\u65f6\u63d0\u4f9b\u79bb\u7ebf\u5ba2\u6237\u7aef\u3002 origamiway : \u624b\u628a\u624b\u6559\u4f60\u600e\u4e48\u6298\u7eb8\u3002 thingiverse : \u56ca\u62ec\u5404\u7c7b 2D/3D \u8bbe\u8ba1\u8d44\u6e90\uff0c\u5176 STL \u6587\u4ef6\u4e0b\u8f7d\u53ef\u76f4\u63a5 3D \u6253\u5370\u3002 iconfont : \u56fd\u5185\u6700\u5927\u7684\u56fe\u6807\u548c\u63d2\u753b\u8d44\u6e90\u5e93\uff0c\u53ef\u7528\u4e8e\u5f00\u53d1\u6216\u7ed8\u5236\u7cfb\u7edf\u67b6\u6784\u56fe\u3002 turbosquid : \u53ef\u4ee5\u8d2d\u4e70\u5404\u5f0f\u5404\u6837\u7684\u6a21\u578b\u3002 flaticon : \u53ef\u4e0b\u8f7d\u514d\u8d39\u4e14\u9ad8\u8d28\u91cf\u7684\u56fe\u6807\u3002 \u6807\u51c6\u5730\u56fe\u670d\u52a1\u7cfb\u7edf : \u53ef\u4ee5\u4e0b\u8f7d\u5b98\u65b9\u6807\u51c6\u5730\u56fe\u3002 PlantUML : \u53ef\u4ee5\u4f7f\u7528\u4ee3\u7801\u5feb\u901f\u7f16\u5199 UML \u56fe\u3002 \u7f16\u7a0b\u76f8\u5173 sqlfiddle : \u4e00\u4e2a\u7b80\u6613\u7684\u5728\u7ebf SQL Playground\u3002 sqlzoo \uff1a\u5728\u7ebf\u7ec3\u4e60 sql \u8bed\u53e5\u3002 godbolt : \u975e\u5e38\u65b9\u4fbf\u7684\u7f16\u8bd1\u5668\u63a2\u7d22\u5de5\u5177\u3002\u4f60\u53ef\u4ee5\u5199\u4e00\u6bb5 C/C++ \u4ee3\u7801\uff0c\u9009\u62e9\u4e00\u6b3e\u7f16\u8bd1\u5668\uff0c\u7136\u540e\u4fbf\u53ef\u4ee5\u89c2\u5bdf\u751f\u6210\u7684\u5177\u4f53\u6c47\u7f16\u4ee3\u7801\u3002 explainshell : \u4f60\u662f\u5426\u66fe\u4e3a\u4e00\u6bb5 shell \u4ee3\u7801\u7684\u5177\u4f53\u542b\u4e49\u611f\u5230\u56f0\u6270\uff1fmanpage \u770b\u534a\u5929\u8fd8\u662f\u4e0d\u660e\u6240\u4ee5\uff1f\u8bd5\u8bd5\u8fd9\u4e2a\u7f51\u7ad9\uff01 regex101 : \u6b63\u5219\u8868\u8fbe\u5f0f\u8c03\u8bd5\u7f51\u7ad9\uff0c\u652f\u6301\u5404\u79cd\u7f16\u7a0b\u8bed\u8a00\u7684\u5339\u914d\u6807\u51c6\u3002 typingtom : \u9488\u5bf9\u7a0b\u5e8f\u5458\u7684\u6253\u5b57\u7ec3\u4e60/\u6d4b\u901f\u7f51\u7ad9\u3002 wrk : \u7f51\u7ad9\u538b\u6d4b\u5de5\u5177\u3002 gbmb : \u6570\u636e\u5355\u4f4d\u8f6c\u6362\u3002 tools : \u5728\u7ebf\u5de5\u5177\u5408\u96c6\u3002 github1s : \u7528\u7f51\u9875\u7248 VS Code \u5728\u7ebf\u9605\u8bfb GitHub \u4ee3\u7801\u3002 visualgo : \u7b97\u6cd5\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 DataStructureVisual : \u6570\u636e\u7ed3\u6784\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 Data Structure Visualizations : \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 learngitbranching : \u53ef\u89c6\u5316\u5b66\u4e60 git\u3002 UnicodeCharacter : Unicode \u5b57\u7b26\u96c6\u7f51\u7ad9\u3002 \u5b66\u4e60\u7f51\u7ad9 HFS : \u5404\u7c7b\u8f6f\u4ef6\u6559\u7a0b\u3002 Shadertoy : \u7f16\u5199\u5404\u5f0f\u5404\u6837\u7684 shader\u3002 comments-for-awesome-courses : \u540d\u6821\u516c\u5f00\u8bfe\u8bc4\u4ef7\u7f51\u3002 codetop : \u4f01\u4e1a\u9898\u5e93\u3002 cs-video-courses : \u5e26\u6709\u89c6\u9891\u8bb2\u5ea7\u7684\u8ba1\u7b97\u673a\u79d1\u5b66\u8bfe\u7a0b\u5217\u8868\u3002 bootlin : \u5728\u7ebf\u9605\u8bfb Linux \u6e90\u7801\u3002 ecust-CourseShare : \u534e\u4e1c\u5e08\u8303\u5927\u5b66\u7814\u7a76\u751f\u8bfe\u7a0b\u653b\u7565\u5171\u4eab\u8ba1\u5212\u3002 REKCARC-TSC-UHT : \u6e05\u534e\u5927\u5b66\u8ba1\u7b97\u673a\u7cfb\u8bfe\u7a0b\u653b\u7565\u3002 seu-master : \u4e1c\u5357\u5927\u5b66\u7814\u7a76\u751f\u8bfe\u7a0b\u8d44\u6599\u6574\u7406\u3002 \u83dc\u9e1f\u6559\u7a0b : \u8ba1\u7b97\u673a\u76f8\u5173\u77e5\u8bc6\u7684\u7b80\u8981\u7684\u6559\u7a0b\u3002 FreeBSD \u4ece\u5165\u95e8\u5230\u8dd1\u8def : \u4e00\u672c FreeBSD \u7684\u4e2d\u6587\u6559\u7a0b\u3002 MDN Web Docs : MDN \u7f51\u7edc\u5f00\u53d1\u5165\u95e8\u624b\u518c\u3002 Hello \u7b97\u6cd5 : \u52a8\u753b\u56fe\u89e3\u3001\u80fd\u8fd0\u884c\u3001\u53ef\u63d0\u95ee\u7684\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u5feb\u901f\u5165\u95e8\u6559\u7a0b\u3002 \u767e\u79d1\u7f51\u7ad9/\u8bcd\u5178\u6027\u8d28\u7684\u7f51\u7ad9 os-wiki : \u64cd\u4f5c\u7cfb\u7edf\u6280\u672f\u8d44\u6e90\u767e\u79d1\u5168\u4e66\u3002 FreeBSD Documentation : FreeBSD \u5b98\u65b9\u6587\u6863\u3002 Python3 Documentation : Python3 \u5b98\u65b9\u4e2d\u6587\u6587\u6863\u3002 C++ Reference : C++ \u53c2\u8003\u624b\u518c\u3002 OI Wiki : \u7f16\u7a0b\u7ade\u8d5b\u77e5\u8bc6\u6574\u5408\u7ad9\u70b9\u3002 Microsoft Learn : \u5fae\u8f6f\u5b98\u65b9\u7684\u5b66\u4e60\u5e73\u53f0\uff0c\u5305\u542b\u4e86\u7edd\u5927\u591a\u6570\u5fae\u8f6f\u4ea7\u54c1\u7684\u6587\u6863\u3002 Arch Wiki : \u4e13\u4e3a Arch Linux \u800c\u5199\u7684 Wiki\uff0c\u5305\u542b\u4e86\u5927\u91cf Linux \u76f8\u5173\u7684\u77e5\u8bc6\u3002 Qt Wiki : Qt \u5b98\u65b9 Wiki\u3002 OpenCV \u4e2d\u6587\u6587\u6863 : OpenCV \u7684\u793e\u533a\u7248\u4e2d\u6587\u6587\u6863\u3002 npm Docs : npm \u5b98\u65b9\u6587\u6863\u3002 \u4ea4\u6d41\u5e73\u53f0 GitHub : \u8bb8\u591a\u5f00\u6e90\u9879\u76ee\u7684\u6258\u7ba1\u5e73\u53f0\uff0c\u4e5f\u662f\u8bb8\u591a\u5f00\u6e90\u9879\u76ee\u7684\u4e3b\u8981\u4ea4\u6d41\u5e73\u53f0\uff0c\u901a\u8fc7\u67e5\u770b issue \u53ef\u4ee5\u89e3\u51b3\u8bb8\u591a\u95ee\u9898\u3002 StackExchange : Stack Exchange \u662f\u7531 181 \u4e2a\u95ee\u7b54\u793e\u533a\u7ec4\u6210\uff08\u5176\u4e2d\u5305\u62ec Stack Overflow\uff09\u7684\u7f16\u7a0b\u793e\u533a\u3002 StackOverflow : Stack Overflow \u662f\u4e00\u4e2a\u4e0e\u7a0b\u5e8f\u76f8\u5173\u7684 IT \u6280\u672f\u95ee\u7b54\u7f51\u7ad9\u3002 Gitee : \u4e00\u4e2a\u7c7b\u4f3c\u4e8e GitHub \u7684\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\uff0c\u53ef\u4ee5\u5728\u5bf9\u5e94\u9879\u76ee\u7684 issue \u91cc\u67e5\u627e\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u89e3\u7b54\u3002 \u77e5\u4e4e : \u4e00\u4e2a\u7c7b\u4f3c\u4e8e Quora \u7684\u95ee\u7b54\u793e\u533a\uff0c\u53ef\u4ee5\u5728\u5176\u4e2d\u63d0\u95ee\uff0c\u4e00\u4e9b\u95ee\u7b54\u5305\u542b\u6709\u8ba1\u7b97\u673a\u7684\u77e5\u8bc6\u3002 \u535a\u5ba2\u56ed : \u4e00\u4e2a\u9762\u5411\u5f00\u53d1\u8005\u7684\u77e5\u8bc6\u5206\u4eab\u793e\u533a\uff0c\u62e5\u6709\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u535a\u5ba2\uff0c\u6b63\u786e\u7387\u4e0d\u80fd\u4fdd\u8bc1\uff0c\u8bf7\u8c28\u614e\u4f7f\u7528\u3002 CSDN : \u62e5\u6709\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u535a\u5ba2\uff0c\u6b63\u786e\u7387\u4e0d\u80fd\u4fdd\u8bc1\uff0c\u8bf7\u8c28\u614e\u4f7f\u7528\u3002 \u6742\u9879 tophub : \u65b0\u95fb\u70ed\u699c\u5408\u96c6\uff08\u7efc\u5408\u4e86\u77e5\u4e4e\u3001\u5fae\u535a\u3001\u767e\u5ea6\u3001\u5fae\u4fe1\u7b49\uff09\u3002 feedly : \u8457\u540d\u7684 RSS \u8ba2\u9605\u6e90\u9605\u8bfb\u5668\u3002 speedtest : \u5728\u7ebf\u7f51\u7edc\u6d4b\u901f\u7f51\u7ad9\u3002 public-apis : \u516c\u5171 API \u5408\u96c6\u5217\u8868\u3002 numberempire : \u51fd\u6570\u6c42\u5bfc\u5de5\u5177\u3002 sustech-application : \u5357\u65b9\u79d1\u6280\u5927\u5b66\u7ecf\u9a8c\u5206\u4eab\u7f51\u3002 vim-adventures : \u4e00\u6b3e\u57fa\u4e8e vim \u952e\u76d8\u5feb\u6377\u952e\u7684\u5728\u7ebf\u6e38\u620f\u3002 vimsnake : \u5229\u7528 vim \u73a9\u8d2a\u5403\u86c7\u3002 keybr : \u5b66\u4e60\u76f2\u6253\u7684\u7f51\u7ad9\u3002 Awesome C++ : \u5f88\u68d2\u7684 C/C++ \u6846\u67b6\u3001\u5e93\u3001\u8d44\u6e90\u7cbe\u9009\u5217\u8868\u3002 HelloGitHub : \u5206\u4eab GitHub \u4e0a\u6709\u8da3\u3001\u5165\u95e8\u7ea7\u7684\u5f00\u6e90\u9879\u76ee\u3002","title":"\u5b9e\u7528\u5de5\u5177\u7bb1"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_1","text":"","title":"\u5b9e\u7528\u5de5\u5177\u7bb1"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_2","text":"Sci-Hub : Elbakyan \u5973\u795e\u5411\u4f60\u6325\u624b\uff0c\u65e8\u5728\u6253\u7834\u77e5\u8bc6\u58c1\u5792\u7684\u9769\u547d\u6027\u7f51\u7ad9\u3002 Library Genesis : \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 Z-library : \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\uff08\u5728 Tor \u4e0b\u8fd0\u884c\u8f83\u4f73\uff0c \u94fe\u63a5 \uff09\u3002 Z-ePub : ePub \u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 PDF Drive : PDF \u7535\u5b50\u4e66\u641c\u7d22\u5f15\u64ce\u3002 MagazineLib : PDF \u7535\u5b50\u6742\u5fd7\u4e0b\u8f7d\u7f51\u7ad9\u3002 BitDownloader : \u6cb9\u7ba1\u89c6\u9891\u4e0b\u8f7d\u5668\u3002 qBittorrent : BitTorrent \u5ba2\u6237\u7aef\u3002 uTorrent : BitTorrent \u5ba2\u6237\u7aef\u3002 \u5168\u56fd\u6807\u51c6\u4fe1\u606f\u516c\u5171\u670d\u52a1\u5e73\u53f0 \uff1a\u5404\u7c7b\u6807\u51c6\u67e5\u8be2\u548c\u4e0b\u8f7d\u5b98\u65b9\u5e73\u53f0\u3002 \u6807\u51c6\u77e5\u8bc6\u670d\u52a1\u7cfb\u7edf \uff1a\u68c0\u7d22\u4e0e\u9605\u8bfb\u6240\u9700\u6807\u51c6\u3002 MSDN,\u6211\u544a\u8bc9\u4f60 : Windows \u64cd\u4f5c\u7cfb\u7edf\u955c\u50cf\u4e0b\u8f7d\u7ad9\uff0c\u4e5f\u6709\u8bb8\u591a\u5176\u4ed6\u8f6f\u4ef6\u7684\u4e0b\u8f7d\u3002","title":"\u4e0b\u8f7d\u5de5\u5177"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_3","text":"excalidraw : \u4e00\u6b3e\u624b\u7ed8\u98ce\u683c\u7684\u7ed8\u56fe\u5de5\u5177\uff0c\u975e\u5e38\u9002\u5408\u7ed8\u5236\u8bfe\u7a0b\u62a5\u544a\u6216\u8005PPT\u5185\u7684\u793a\u610f\u56fe\u3002 tldraw : \u4e00\u4e2a\u7ed8\u56fe\u5de5\u5177\uff0c\u9002\u5408\u753b\u6d41\u7a0b\u56fe\uff0c\u67b6\u6784\u56fe\u7b49\u3002 draw.io : \u5f3a\u5927\u7b80\u6d01\u7684\u5728\u7ebf\u7684\u7ed8\u56fe\u7f51\u7ad9\uff0c\u652f\u6301\u6d41\u7a0b\u56fe\uff0cUML\u56fe\uff0c\u67b6\u6784\u56fe\uff0c\u539f\u578b\u56fe\u7b49\u7b49\uff0c\u652f\u6301 Onedrive, Google Drive, Github \u5bfc\u51fa\uff0c\u540c\u65f6\u63d0\u4f9b\u79bb\u7ebf\u5ba2\u6237\u7aef\u3002 origamiway : \u624b\u628a\u624b\u6559\u4f60\u600e\u4e48\u6298\u7eb8\u3002 thingiverse : \u56ca\u62ec\u5404\u7c7b 2D/3D \u8bbe\u8ba1\u8d44\u6e90\uff0c\u5176 STL \u6587\u4ef6\u4e0b\u8f7d\u53ef\u76f4\u63a5 3D \u6253\u5370\u3002 iconfont : \u56fd\u5185\u6700\u5927\u7684\u56fe\u6807\u548c\u63d2\u753b\u8d44\u6e90\u5e93\uff0c\u53ef\u7528\u4e8e\u5f00\u53d1\u6216\u7ed8\u5236\u7cfb\u7edf\u67b6\u6784\u56fe\u3002 turbosquid : \u53ef\u4ee5\u8d2d\u4e70\u5404\u5f0f\u5404\u6837\u7684\u6a21\u578b\u3002 flaticon : \u53ef\u4e0b\u8f7d\u514d\u8d39\u4e14\u9ad8\u8d28\u91cf\u7684\u56fe\u6807\u3002 \u6807\u51c6\u5730\u56fe\u670d\u52a1\u7cfb\u7edf : \u53ef\u4ee5\u4e0b\u8f7d\u5b98\u65b9\u6807\u51c6\u5730\u56fe\u3002 PlantUML : \u53ef\u4ee5\u4f7f\u7528\u4ee3\u7801\u5feb\u901f\u7f16\u5199 UML \u56fe\u3002","title":"\u8bbe\u8ba1\u5de5\u5177"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_4","text":"sqlfiddle : \u4e00\u4e2a\u7b80\u6613\u7684\u5728\u7ebf SQL Playground\u3002 sqlzoo \uff1a\u5728\u7ebf\u7ec3\u4e60 sql \u8bed\u53e5\u3002 godbolt : \u975e\u5e38\u65b9\u4fbf\u7684\u7f16\u8bd1\u5668\u63a2\u7d22\u5de5\u5177\u3002\u4f60\u53ef\u4ee5\u5199\u4e00\u6bb5 C/C++ \u4ee3\u7801\uff0c\u9009\u62e9\u4e00\u6b3e\u7f16\u8bd1\u5668\uff0c\u7136\u540e\u4fbf\u53ef\u4ee5\u89c2\u5bdf\u751f\u6210\u7684\u5177\u4f53\u6c47\u7f16\u4ee3\u7801\u3002 explainshell : \u4f60\u662f\u5426\u66fe\u4e3a\u4e00\u6bb5 shell \u4ee3\u7801\u7684\u5177\u4f53\u542b\u4e49\u611f\u5230\u56f0\u6270\uff1fmanpage \u770b\u534a\u5929\u8fd8\u662f\u4e0d\u660e\u6240\u4ee5\uff1f\u8bd5\u8bd5\u8fd9\u4e2a\u7f51\u7ad9\uff01 regex101 : \u6b63\u5219\u8868\u8fbe\u5f0f\u8c03\u8bd5\u7f51\u7ad9\uff0c\u652f\u6301\u5404\u79cd\u7f16\u7a0b\u8bed\u8a00\u7684\u5339\u914d\u6807\u51c6\u3002 typingtom : \u9488\u5bf9\u7a0b\u5e8f\u5458\u7684\u6253\u5b57\u7ec3\u4e60/\u6d4b\u901f\u7f51\u7ad9\u3002 wrk : \u7f51\u7ad9\u538b\u6d4b\u5de5\u5177\u3002 gbmb : \u6570\u636e\u5355\u4f4d\u8f6c\u6362\u3002 tools : \u5728\u7ebf\u5de5\u5177\u5408\u96c6\u3002 github1s : \u7528\u7f51\u9875\u7248 VS Code \u5728\u7ebf\u9605\u8bfb GitHub \u4ee3\u7801\u3002 visualgo : \u7b97\u6cd5\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 DataStructureVisual : \u6570\u636e\u7ed3\u6784\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 Data Structure Visualizations : \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684\u53ef\u89c6\u5316\u7f51\u7ad9\u3002 learngitbranching : \u53ef\u89c6\u5316\u5b66\u4e60 git\u3002 UnicodeCharacter : Unicode \u5b57\u7b26\u96c6\u7f51\u7ad9\u3002","title":"\u7f16\u7a0b\u76f8\u5173"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_5","text":"HFS : \u5404\u7c7b\u8f6f\u4ef6\u6559\u7a0b\u3002 Shadertoy : \u7f16\u5199\u5404\u5f0f\u5404\u6837\u7684 shader\u3002 comments-for-awesome-courses : \u540d\u6821\u516c\u5f00\u8bfe\u8bc4\u4ef7\u7f51\u3002 codetop : \u4f01\u4e1a\u9898\u5e93\u3002 cs-video-courses : \u5e26\u6709\u89c6\u9891\u8bb2\u5ea7\u7684\u8ba1\u7b97\u673a\u79d1\u5b66\u8bfe\u7a0b\u5217\u8868\u3002 bootlin : \u5728\u7ebf\u9605\u8bfb Linux \u6e90\u7801\u3002 ecust-CourseShare : \u534e\u4e1c\u5e08\u8303\u5927\u5b66\u7814\u7a76\u751f\u8bfe\u7a0b\u653b\u7565\u5171\u4eab\u8ba1\u5212\u3002 REKCARC-TSC-UHT : \u6e05\u534e\u5927\u5b66\u8ba1\u7b97\u673a\u7cfb\u8bfe\u7a0b\u653b\u7565\u3002 seu-master : \u4e1c\u5357\u5927\u5b66\u7814\u7a76\u751f\u8bfe\u7a0b\u8d44\u6599\u6574\u7406\u3002 \u83dc\u9e1f\u6559\u7a0b : \u8ba1\u7b97\u673a\u76f8\u5173\u77e5\u8bc6\u7684\u7b80\u8981\u7684\u6559\u7a0b\u3002 FreeBSD \u4ece\u5165\u95e8\u5230\u8dd1\u8def : \u4e00\u672c FreeBSD \u7684\u4e2d\u6587\u6559\u7a0b\u3002 MDN Web Docs : MDN \u7f51\u7edc\u5f00\u53d1\u5165\u95e8\u624b\u518c\u3002 Hello \u7b97\u6cd5 : \u52a8\u753b\u56fe\u89e3\u3001\u80fd\u8fd0\u884c\u3001\u53ef\u63d0\u95ee\u7684\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u5feb\u901f\u5165\u95e8\u6559\u7a0b\u3002","title":"\u5b66\u4e60\u7f51\u7ad9"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_6","text":"os-wiki : \u64cd\u4f5c\u7cfb\u7edf\u6280\u672f\u8d44\u6e90\u767e\u79d1\u5168\u4e66\u3002 FreeBSD Documentation : FreeBSD \u5b98\u65b9\u6587\u6863\u3002 Python3 Documentation : Python3 \u5b98\u65b9\u4e2d\u6587\u6587\u6863\u3002 C++ Reference : C++ \u53c2\u8003\u624b\u518c\u3002 OI Wiki : \u7f16\u7a0b\u7ade\u8d5b\u77e5\u8bc6\u6574\u5408\u7ad9\u70b9\u3002 Microsoft Learn : \u5fae\u8f6f\u5b98\u65b9\u7684\u5b66\u4e60\u5e73\u53f0\uff0c\u5305\u542b\u4e86\u7edd\u5927\u591a\u6570\u5fae\u8f6f\u4ea7\u54c1\u7684\u6587\u6863\u3002 Arch Wiki : \u4e13\u4e3a Arch Linux \u800c\u5199\u7684 Wiki\uff0c\u5305\u542b\u4e86\u5927\u91cf Linux \u76f8\u5173\u7684\u77e5\u8bc6\u3002 Qt Wiki : Qt \u5b98\u65b9 Wiki\u3002 OpenCV \u4e2d\u6587\u6587\u6863 : OpenCV \u7684\u793e\u533a\u7248\u4e2d\u6587\u6587\u6863\u3002 npm Docs : npm \u5b98\u65b9\u6587\u6863\u3002","title":"\u767e\u79d1\u7f51\u7ad9/\u8bcd\u5178\u6027\u8d28\u7684\u7f51\u7ad9"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_7","text":"GitHub : \u8bb8\u591a\u5f00\u6e90\u9879\u76ee\u7684\u6258\u7ba1\u5e73\u53f0\uff0c\u4e5f\u662f\u8bb8\u591a\u5f00\u6e90\u9879\u76ee\u7684\u4e3b\u8981\u4ea4\u6d41\u5e73\u53f0\uff0c\u901a\u8fc7\u67e5\u770b issue \u53ef\u4ee5\u89e3\u51b3\u8bb8\u591a\u95ee\u9898\u3002 StackExchange : Stack Exchange \u662f\u7531 181 \u4e2a\u95ee\u7b54\u793e\u533a\u7ec4\u6210\uff08\u5176\u4e2d\u5305\u62ec Stack Overflow\uff09\u7684\u7f16\u7a0b\u793e\u533a\u3002 StackOverflow : Stack Overflow \u662f\u4e00\u4e2a\u4e0e\u7a0b\u5e8f\u76f8\u5173\u7684 IT \u6280\u672f\u95ee\u7b54\u7f51\u7ad9\u3002 Gitee : \u4e00\u4e2a\u7c7b\u4f3c\u4e8e GitHub \u7684\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\uff0c\u53ef\u4ee5\u5728\u5bf9\u5e94\u9879\u76ee\u7684 issue \u91cc\u67e5\u627e\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u89e3\u7b54\u3002 \u77e5\u4e4e : \u4e00\u4e2a\u7c7b\u4f3c\u4e8e Quora \u7684\u95ee\u7b54\u793e\u533a\uff0c\u53ef\u4ee5\u5728\u5176\u4e2d\u63d0\u95ee\uff0c\u4e00\u4e9b\u95ee\u7b54\u5305\u542b\u6709\u8ba1\u7b97\u673a\u7684\u77e5\u8bc6\u3002 \u535a\u5ba2\u56ed : \u4e00\u4e2a\u9762\u5411\u5f00\u53d1\u8005\u7684\u77e5\u8bc6\u5206\u4eab\u793e\u533a\uff0c\u62e5\u6709\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u535a\u5ba2\uff0c\u6b63\u786e\u7387\u4e0d\u80fd\u4fdd\u8bc1\uff0c\u8bf7\u8c28\u614e\u4f7f\u7528\u3002 CSDN : \u62e5\u6709\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u7684\u535a\u5ba2\uff0c\u6b63\u786e\u7387\u4e0d\u80fd\u4fdd\u8bc1\uff0c\u8bf7\u8c28\u614e\u4f7f\u7528\u3002","title":"\u4ea4\u6d41\u5e73\u53f0"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_8","text":"tophub : \u65b0\u95fb\u70ed\u699c\u5408\u96c6\uff08\u7efc\u5408\u4e86\u77e5\u4e4e\u3001\u5fae\u535a\u3001\u767e\u5ea6\u3001\u5fae\u4fe1\u7b49\uff09\u3002 feedly : \u8457\u540d\u7684 RSS \u8ba2\u9605\u6e90\u9605\u8bfb\u5668\u3002 speedtest : \u5728\u7ebf\u7f51\u7edc\u6d4b\u901f\u7f51\u7ad9\u3002 public-apis : \u516c\u5171 API \u5408\u96c6\u5217\u8868\u3002 numberempire : \u51fd\u6570\u6c42\u5bfc\u5de5\u5177\u3002 sustech-application : \u5357\u65b9\u79d1\u6280\u5927\u5b66\u7ecf\u9a8c\u5206\u4eab\u7f51\u3002 vim-adventures : \u4e00\u6b3e\u57fa\u4e8e vim \u952e\u76d8\u5feb\u6377\u952e\u7684\u5728\u7ebf\u6e38\u620f\u3002 vimsnake : \u5229\u7528 vim \u73a9\u8d2a\u5403\u86c7\u3002 keybr : \u5b66\u4e60\u76f2\u6253\u7684\u7f51\u7ad9\u3002 Awesome C++ : \u5f88\u68d2\u7684 C/C++ \u6846\u67b6\u3001\u5e93\u3001\u8d44\u6e90\u7cbe\u9009\u5217\u8868\u3002 HelloGitHub : \u5206\u4eab GitHub \u4e0a\u6709\u8da3\u3001\u5165\u95e8\u7ea7\u7684\u5f00\u6e90\u9879\u76ee\u3002","title":"\u6742\u9879"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/","text":"Contributed by @HardwayLinka \u8ba1\u7b97\u673a\u9886\u57df\u7684\u77e5\u8bc6\u8986\u76d6\u9762\u5f88\u5e7f\u5e76\u4e14\u66f4\u65b0\u901f\u5ea6\u5f88\u5feb\uff0c\u56e0\u6b64\u4fdd\u6301\u7ec8\u8eab\u5b66\u4e60\u7684\u4e60\u60ef\u5f88\u91cd\u8981\u3002\u4f46\u5728\u65e5\u5e38\u5f00\u53d1\u548c\u5b66\u4e60\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u83b7\u53d6\u77e5\u8bc6\u7684\u6765\u6e90\u76f8\u5bf9\u590d\u6742\u4e14\u7ec6\u788e\u3002\u6709\u6210\u767e\u4e0a\u5343\u9875\u7684\u6587\u6863\u624b\u518c\uff0c\u4e5f\u6709\u5be5\u5be5\u6570\u8bed\u7684\u535a\u5ba2\uff0c\u751a\u81f3\u95f2\u6687\u65f6\u624b\u673a\u4e0a\u5212\u8fc7\u7684\u67d0\u5219\u65b0\u95fb\u548c\u516c\u4f17\u53f7\u90fd\u6709\u53ef\u80fd\u5305\u542b\u6211\u4eec\u611f\u5174\u8da3\u7684\u77e5\u8bc6\u3002\u56e0\u6b64\uff0c\u5982\u4f55\u5229\u7528\u73b0\u6709\u7684\u5404\u7c7b\u5de5\u5177\uff0c\u5f62\u6210\u4e00\u5957\u9002\u5408\u81ea\u5df1\u7684\u5b66\u4e60\u5de5\u4f5c\u6d41\uff0c\u5c06\u4e0d\u540c\u6765\u6e90\u7684\u77e5\u8bc6\u788e\u7247\u6574\u5408\u8fdb\u5c5e\u4e8e\u81ea\u5df1\u7684\u77e5\u8bc6\u5e93\uff0c\u65b9\u4fbf\u4e4b\u540e\u7684\u67e5\u9605\u4e0e\u590d\u4e60\uff0c\u5c31\u663e\u5f97\u5c24\u4e3a\u91cd\u8981\u3002\u7ecf\u8fc7\u4e24\u5e74\u5de5\u4f5c\u4e4b\u4f59\u7684\u5b66\u4e60\u540e\uff0c\u6211\u78e8\u5408\u51fa\u4e86\u4ee5\u4e0b\u5b66\u4e60\u5de5\u4f5c\u6d41\uff1a \u5e95\u5c42\u6838\u5fc3\u903b\u8f91 \u4e00\u5f00\u59cb\u6211\u5b66\u4e60\u65b0\u77e5\u8bc6\u65f6\u4f1a\u53c2\u8003\u4e2d\u6587\u535a\u5ba2\uff0c\u4f46\u5728\u4ee3\u7801\u5b9e\u8df5\u65f6\u5f80\u5f80\u4f1a\u53d1\u73b0\u6f0f\u6d1e\u548cbug\u3002\u6211\u9010\u6e10\u610f\u8bc6\u5230\u6211\u53c2\u8003\u7684\u4fe1\u606f\u53ef\u80fd\u662f\u9519\u8bef\u7684\uff0c\u6bd5\u7adf\u53d1\u535a\u5ba2\u7684\u95e8\u69db\u4f4e\uff0c\u6587\u7ae0\u53ef\u4fe1\u5ea6\u4e0d\u9ad8\uff0c\u4e8e\u662f\u6211\u5f00\u59cb\u67e5\u9605\u4e00\u4e9b\u76f8\u5173\u7684\u4e2d\u6587\u4e66\u7c4d\u3002 \u4e2d\u6587\u4e66\u7c4d\u7684\u786e\u662f\u6bd4\u8f83\u5168\u9762\u4e14\u7cfb\u7edf\u5730\u8bb2\u89e3\u4e86\u77e5\u8bc6\u70b9\uff0c\u4f46\u4f17\u6240\u5468\u77e5\uff0c\u8ba1\u7b97\u673a\u6280\u672f\u66f4\u8fed\u8fc5\u901f\uff0c\u53c8\u56e0\u4e3a\u8001\u7f8e\u5728 CS \u65b9\u9762\u4e00\u76f4\u90fd\u662f\u706f\u5854\uff0c\u6240\u4ee5\u4e00\u822c\u4e2d\u6587\u4e66\u7c4d\u91cc\u7684\u5185\u5bb9\u4f1a\u6ede\u540e\u4e8e\u5f53\u524d\u6700\u65b0\u7684\u77e5\u8bc6\uff0c\u5bfc\u81f4\u6211\u8ddf\u7740\u4e2d\u6587\u4e66\u7c4d\u5b9e\u8df5\u4f1a\u51fa\u73b0\u8f6f\u4ef6\u7248\u672c\u5dee\u5f02\u7684\u95ee\u9898\u3002\u8fd9\u65f6\u6211\u5f00\u59cb\u610f\u8bc6\u5230\u4e00\u624b\u4fe1\u606f\u7684\u91cd\u8981\u6027\uff0c\u6709\u4e9b\u4e2d\u6587\u4e66\u7c4d\u662f\u7ffb\u8bd1\u82f1\u6587\u4e66\u7c4d\u7684\uff0c\u4e00\u822c\u7ffb\u8bd1\u4e00\u672c\u4e66\u4e5f\u8981\u4e00\u4e24\u5e74\uff0c\u8fd9\u4f1a\u5bfc\u81f4\u4fe1\u606f\u4f20\u9012\u7684\u5ef6\u8fdf\uff0c\u8fd8\u6709\u5c31\u662f\u7ffb\u8bd1\u7684\u8fc7\u7a0b\u4e2d\u4fe1\u606f\u4f1a\u6709\u635f\u5931\u3002\u5982\u679c\u4e00\u672c\u4e2d\u6587\u4e66\u7c4d\u4e0d\u662f\u7ffb\u8bd1\u7684\u5462\uff0c\u90a3\u4e48\u5b83\u5927\u6982\u7387\u4e5f\u53c2\u8003\u4e86\u5176\u4ed6\u4e66\u7c4d\uff0c\u53c2\u8003\u7684\u8fc7\u7a0b\u4f1a\u5e26\u6709\u5bf9\u82f1\u6587\u539f\u8457\u4e2d\u8bed\u4e49\u7406\u89e3\u7684\u504f\u5dee\u3002 \u4e8e\u662f\u6211\u5c31\u987a\u5176\u81ea\u7136\u5730\u5f00\u59cb\u7ffb\u9605\u82f1\u6587\u4e66\u7c4d\u3002\u4e0d\u5f97\u4e0d\u8bf4\uff0c\u82f1\u6587\u4e66\u7c4d\u5185\u5bb9\u7684\u8d28\u91cf\u6574\u4f53\u662f\u6bd4\u4e2d\u6587\u4e66\u7c4d\u9ad8\u7684\u3002\u540e\u6765\u968f\u7740\u5b66\u4e60\u7684\u5c42\u5c42\u6df1\u5165\uff0c\u4ee5\u77e5\u8bc6\u7684\u65f6\u6548\u6027\u548c\u5b8c\u6574\u6027\u51fa\u53d1\uff0c\u6211\u53d1\u73b0 \u6e90\u4ee3\u7801 > \u5b98\u65b9\u6587\u6863 > \u82f1\u6587\u4e66\u7c4d > \u82f1\u6587\u535a\u5ba2 > \u4e2d\u6587\u535a\u5ba2 \uff0c\u6700\u540e\u6211\u5f97\u51fa\u4e86\u4e00\u5f20 \u4fe1\u606f\u635f\u5931\u56fe \uff1a \u867d\u7136\u4e00\u624b\u4fe1\u606f\u5f88\u91cd\u8981\uff0c\u4f46\u540e\u9762\u7684 N \u624b\u4fe1\u606f\u5e76\u975e\u4e00\u65e0\u662f\u5904\uff0c\u56e0\u4e3a\u8fd9 N \u624b\u8d44\u6599\u91cc\u5305\u542b\u4e86\u4f5c\u8005\u5bf9\u6e90\u77e5\u8bc6\u7684\u8f6c\u5316\u2014\u2014\u4f8b\u5982\u57fa\u4e8e\u67d0\u79cd\u903b\u8f91\u7684\u68b3\u7406\uff08\u6d41\u7a0b\u56fe\u3001\u601d\u7ef4\u5bfc\u56fe\u7b49\uff09\u6216\u662f\u4e00\u4e9b\u81ea\u5df1\u7684\u7406\u89e3\uff08\u5bf9\u6e90\u77e5\u8bc6\u7684\u62bd\u8c61\u3001\u7c7b\u6bd4\u3001\u5ef6\u4f38\u5230\u5176\u4ed6\u77e5\u8bc6\u70b9\uff09\uff0c\u8fd9\u4e9b\u8f6c\u5316\u53ef\u4ee5\u5e2e\u52a9\u6211\u4eec\u66f4\u5feb\u5730\u638c\u63e1\u548c\u5de9\u56fa\u77e5\u8bc6\u7684\u6838\u5fc3\u5185\u5bb9\uff0c\u5c31\u5982\u540c\u521d\u9ad8\u4e2d\u5b66\u4e60\u65f6\u4f7f\u7528\u7684\u8f85\u5bfc\u4e66\u3002 \u6b64\u5916\uff0c\u5b66\u4e60\u7684\u8fc7\u7a0b\u4e2d\u548c\u522b\u4eba\u7684\u4ea4\u6d41\u5341\u5206\u91cd\u8981\uff0c\u8fd9\u4e9b N \u624b\u4fe1\u606f\u540c\u65f6\u8d77\u4e86\u548c\u5176\u4ed6\u4f5c\u8005\u4ea4\u6d41\u7684\u4f5c\u7528\uff0c\u8ba9\u6211\u4eec\u80fd\u91c7\u767e\u5bb6\u4e4b\u957f\u3002\u6240\u4ee5\u8fd9\u63d0\u793a\u6211\u4eec\u5b66\u4e60\u4e00\u4e2a\u77e5\u8bc6\u70b9\u65f6\u5148\u5c3d\u91cf\u9009\u62e9\u8d28\u91cf\u66f4\u9ad8\u7684\uff0c\u4fe1\u606f\u635f\u5931\u8f83\u5c11\u7684\u4fe1\u606f\u6e90\uff0c\u540c\u65f6\u4e0d\u59a8\u53c2\u8003\u591a\u4e2a\u4fe1\u606f\u6e90\uff0c\u8ba9\u81ea\u5df1\u7684\u7406\u89e3\u66f4\u52a0\u5168\u9762\u51c6\u786e\u3002 \u73b0\u5b9e\u5de5\u4f5c\u751f\u6d3b\u4e2d\u7684\u5b66\u4e60\u5f88\u96be\u50cf\u5b66\u6821\u91cc\u4e00\u6837\u56f4\u7ed5\u67d0\u4e2a\u5355\u4e00\u77e5\u8bc6\u70b9\u7531\u6d45\u5165\u6df1\uff0c\u7ecf\u5e38\u4f1a\u5728\u5b66\u4e60\u8fc7\u7a0b\u4e2d\u6d89\u53ca\u5230\u5176\u4ed6\u77e5\u8bc6\u70b9\uff0c\u6bd4\u5982\u4e00\u4e9b\u65b0\u7684\u4e13\u6709\u540d\u8bcd\uff0c\u4e00\u7bc7\u6ca1\u6709\u8bfb\u8fc7\u7684\u7ecf\u5178\u8bba\u6587\uff0c\u4e00\u6bb5\u672a\u66fe\u63a5\u89e6\u8fc7\u7684\u4ee3\u7801\u7b49\u7b49\u3002\u8fd9\u5c31\u8981\u6c42\u6211\u4eec\u52e4\u4e8e\u601d\u8003\uff0c\u5228\u6839\u7a76\u5e95\u5730\u201c\u9012\u5f52\u201d\u5b66\u4e60\uff0c\u7ed9\u591a\u4e2a\u77e5\u8bc6\u70b9\u4e4b\u95f4\u5efa\u7acb\u8054\u7cfb\u3002 \u9009\u62e9\u5408\u9002\u7684\u7b14\u8bb0\u8f6f\u4ef6 \u5de5\u4f5c\u6d41\u7684\u9aa8\u67b6\u56f4\u7ed5 \u5355\u4e2a\u77e5\u8bc6\u70b9\u591a\u53c2\u8003\u6e90\uff0c\u52e4\u4e8e\u63d0\u95ee\u7ed9\u591a\u4e2a\u77e5\u8bc6\u70b9\u4e4b\u95f4\u5efa\u7acb\u8054\u7cfb \u7684\u5e95\u5c42\u6838\u5fc3\u903b\u8f91\u5efa\u7acb\u3002\u6211\u4eec\u5199\u8bba\u6587\u5176\u5b9e\u5c31\u662f\u9075\u5faa\u8fd9\u4e2a\u5e95\u5c42\u903b\u8f91\u7684\u3002\u8bba\u6587\u4e00\u822c\u4f1a\u6709\u811a\u6ce8\u53bb\u89e3\u91ca\u4e00\u4e9b\u5173\u952e\u5b57\uff0c\u5e76\u4e14\u8bba\u6587\u672b\u5c3e\u4f1a\u6709\u591a\u4e2a\u53c2\u8003\u7684\u6765\u6e90\uff0c\u4f46\u662f\u6211\u4eec\u5e73\u65f6\u5199\u7b14\u8bb0\u4f1a\u968f\u610f\u5f97\u591a\uff0c\u56e0\u6b64\u9700\u8981\u66f4\u7075\u6d3b\u7684\u65b9\u5f0f\u3002 \u5e73\u65f6\u5199\u4ee3\u7801\u4e60\u60ef\u5728 IDE \u91cc\u4e00\u952e\u8df3\u8f6c\uff0c\u628a\u76f8\u5173\u7684\u51fd\u6570\u548c\u5b9e\u73b0\u5f88\u597d\u5730\u8054\u7cfb\u5728\u4e86\u4e00\u8d77\u3002\u4f60\u4e5f\u8bb8\u4f1a\u60f3\uff0c\u5982\u679c\u7b14\u8bb0\u4e5f\u80fd\u50cf\u4ee3\u7801\u90a3\u6837\u53ef\u4ee5\u8df3\u8f6c\u5c31\u597d\u4e86\u3002\u73b0\u5728\u5e02\u9762\u4e0a \u53cc\u94fe\u7b14\u8bb0\u8f6f\u4ef6 \u5c31\u53ef\u4ee5\u5f88\u597d\u5730\u89e3\u51b3\u8fd9\u4e00\u75db\u70b9\uff0c\u4f8b\u5982 Roam Research\u3001Logseq\u3001Notion \u548c Obsidian\u3002Roam Research \u548c Logseq \u90fd\u662f\u57fa\u4e8e\u5927\u7eb2\u7ed3\u6784\u7684\u7b14\u8bb0\u8f6f\u4ef6\uff0c\u800c \u5927\u7eb2\u7ed3\u6784 \u662f\u529d\u9000\u6211\u4f7f\u7528\u8fd9\u4e24\u6b3e\u8f6f\u4ef6\u7684\u539f\u56e0\u3002\u4e00\u662f \u5927\u7eb2\u7ed3\u6784 \u505a\u7b14\u8bb0\u5bb9\u6613\u4f7f\u6587\u7ae0\u7eb5\u5411\u7bc7\u5e45\u592a\u957f\uff0c\u4e8c\u662f\u5982\u679c\u5d4c\u5957\u7ed3\u6784\u8fc7\u591a\u4f1a\u5360\u6a2a\u5411\u7684\u7bc7\u5e45\u3002Notion \u9875\u9762\u6253\u5f00\u6162\uff0c\u5f03\u4e4b\u3002\u6700\u7ec8\u6211\u9009\u62e9\u4e86 Obsidian\uff0c\u539f\u56e0\u5982\u4e0b\uff1a Obsidian \u57fa\u4e8e\u672c\u5730\uff0c\u6253\u5f00\u901f\u5ea6\u5feb\uff0c\u4e14\u53ef\u5b58\u653e\u5f88\u591a\u7535\u5b50\u4e66\u3002\u6211\u7684\u7b14\u8bb0\u672c\u662f 32g \u5185\u5b58\u7684\u534e\u7855\u5929\u9009\u4e00\u4ee3\uff0c\u62ff\u6765\u8dd1 Obsidian \u53ef\u4ee5\u5feb\u5230\u98de\u8d77 Obsidian \u57fa\u4e8e Markdown\u3002\u8fd9\u4e5f\u662f\u4e00\u4e2a\u4f18\u52bf\uff0c\u5982\u679c\u7b14\u8bb0\u8f6f\u4ef6\u5199\u7684\u7b14\u8bb0\u683c\u5f0f\u662f\u81ea\u5bb6\u7684\u7f16\u7801\u683c\u5f0f\uff0c\u90a3\u4e48\u4e0d\u65b9\u4fbf\u5176\u4ed6\u7b2c\u4e09\u65b9\u62d3\u5c55\uff0c\u4e5f\u4e0d\u65b9\u4fbf\u5c06\u7b14\u8bb0\u7528\u5176\u4ed6\u8f6f\u4ef6\u6253\u5f00\uff0c\u6bd4\u5982 qq \u97f3\u4e50\u4e0b\u8f7d\u6b4c\u66f2\u6709\u81ea\u5df1\u7684\u683c\u5f0f\uff0c\u5176\u4ed6\u64ad\u653e\u5668\u64ad\u653e\u4e0d\u4e86\uff0c\u8fd9\u633a\u6076\u5fc3\u4eba\u7684 Obsidian \u6709\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\uff0c\u5e76\u4e14\u8fd9\u4e2a\u751f\u6001\u65e2\u5927\u53c8\u6d3b\u8dc3\uff0c\u5373\u63d2\u4ef6\u6570\u91cf\u591a\uff0c\u4e14\u70ed\u95e8\u63d2\u4ef6\u7684 star \u591a\uff0c\u5f00\u53d1\u8005\u4f1a\u53cd\u9988\u7528\u6237 issue\uff0c\u7248\u672c\u4f1a\u6301\u7eed\u8fed\u4ee3\u3002\u501f\u52a9\u8fd9\u4e9b\u63d2\u4ef6\uff0c\u53ef\u4ee5\u4f7f Osidian \u8fbe\u5230 all in one \u7684\u6548\u679c\uff0c\u5373\u5404\u7c7b\u77e5\u8bc6\u6765\u6e90\u53ef\u4ee5\u7edf\u4e00\u6574\u5408\u4e8e\u4e00\u5904 \u4fe1\u606f\u7684\u6765\u6e90 Obsidian \u7684\u63d2\u4ef6\u4f7f\u5176\u53ef\u4ee5\u652f\u6301 pdf \u683c\u5f0f\uff0c\u800c\u5176\u672c\u8eab\u53c8\u652f\u6301 Markdown \u683c\u5f0f\u3002\u5982\u679c\u60f3\u8981 all in one \uff0c\u90a3\u4e48\u53ef\u4ee5\u57fa\u4e8e\u8fd9\u4e24\u4e2a\u683c\u5f0f\uff0c\u5c06\u5176\u4ed6\u683c\u5f0f\u6587\u4ef6\u8f6c\u6362\u4e3a pdf \u6216\u8005 Markdown\u3002 \u90a3\u4e48\u73b0\u5728\u5c31\u9762\u4e34\u7740\u4e24\u4e2a\u95ee\u9898\uff1a \u6709\u4ec0\u4e48\u683c\u5f0f \u600e\u4e48\u8f6c\u6362\u4e3a pdf \u6216 Markdown \u6709\u4ec0\u4e48\u683c\u5f0f \u6587\u4ef6\u683c\u5f0f\u4f9d\u6258\u4e8e\u5176\u5c55\u793a\u7684\u5e73\u53f0\uff0c\u6240\u4ee5\u5728\u770b\u6709\u4ec0\u4e48\u683c\u5f0f\u4e4b\u524d\uff0c\u53ef\u4ee5\u7f57\u5217\u4e00\u4e0b\u6211\u5e73\u65f6\u83b7\u53d6\u4fe1\u606f\u7684\u6765\u6e90\uff1a \u53ef\u4ee5\u770b\u5230\u4e3b\u8981\u5206\u4e3a \u6587\u7ae0 \u3001 \u8bba\u6587 \u3001 \u7535\u5b50\u4e66 \u3001 \u8bfe\u7a0b \u56db\u7c7b\uff0c\u5305\u542b\u7684\u683c\u5f0f\u4e3b\u8981\u6709 \u7f51\u9875 \u3001 pdf \u3001 mobi \u3001 azw \u3001 azw3 \u3002 \u600e\u4e48\u8f6c\u6362\u4e3a pdf \u6216 Markdown \u5728\u7ebf\u7684\u6587\u7ae0\u548c\u8bfe\u7a0b\u7b49\u5927\u591a\u4ee5\u7f51\u9875\u5f62\u5f0f\u5448\u73b0\uff0c\u800c\u5c06\u7f51\u9875\u8f6c\u6362\u4e3a Markdown \u53ef\u4ee5\u4f7f\u7528\u526a\u85cf\u8f6f\u4ef6\uff0c\u5b83\u53ef\u4ee5\u5c06\u7f51\u9875\u6587\u7ae0\u8f6c\u6362\u4e3a\u591a\u79cd\u6587\u672c\u683c\u5f0f\u6587\u4ef6\u3002\u6211\u9009\u62e9\u7684\u5de5\u5177\u662f\u7b80\u60a6\uff0c\u4f7f\u7528\u7b80\u60a6\u53ef\u4ee5\u5c06\u51e0\u4e4e\u6240\u6709\u5e73\u53f0\u7684\u6587\u7ae0\u5f88\u597d\u5730\u526a\u85cf\u4e3a Markdown \u5e76\u4e14\u5bfc\u5165\u5230 Obsidian\u3002 \u5bf9\u4e8e\u8bba\u6587\u548c\u7535\u5b50\u4e66\u800c\u8a00\u5982\u679c\u683c\u5f0f\u672c\u8eab\u5c31\u662f pdf \u5219\u4e07\u4e8b\u5927\u5409\uff0c\u4f46\u5982\u679c\u662f\u5176\u4ed6\u683c\u5f0f\u5219\u53ef\u4ee5\u4f7f\u7528 calibre \u8fdb\u884c\u8f6c\u6362\uff1a \u73b0\u5728\u5229\u7528 Obsidian \u7684 pdf \u63d2\u4ef6\u548c\u5176\u539f\u751f\u7684 markdown \u652f\u6301\u5c31\u53ef\u4ee5\u7545\u5feb\u65e0\u6bd4\u5730\u505a\u7b14\u8bb0\u5e76\u4e14\u5728\u8fd9\u4e9b\u6587\u7ae0\u7684\u5bf9\u5e94\u7ae0\u8282\u8fdb\u884c\u65e0\u7f1d\u8854\u63a5\u5730\u5f15\u7528\u8df3\u8f6c\u5566\uff08\u5177\u4f53\u64cd\u4f5c\u53c2\u8003\u4e0b\u6587\u7684\u201c\u4fe1\u606f\u7684\u5904\u7406\u201d\u6a21\u5757\uff09\u3002 \u5982\u4f55\u7edf\u4e00\u7ba1\u7406\u4fe1\u606f\u6765\u6e90 \u5bf9\u4e8e pdf \u7b49\u6587\u4ef6\u7c7b\u8d44\u6e90\u53ef\u4ee5\u672c\u5730\u6216\u8005\u4e91\u7aef\u5b58\u50a8\uff0c\u800c\u7f51\u9875\u7c7b\u8d44\u6e90\u5219\u53ef\u4ee5\u5206\u95e8\u522b\u7c7b\u5730\u653e\u5165\u6d4f\u89c8\u5668\u7684\u6536\u85cf\u5939\uff0c\u6216\u8005\u526a\u85cf\u6210 markdown \u683c\u5f0f\u7684\u7b14\u8bb0\uff0c\u4f46\u662f\u7f51\u9875\u6d4f\u89c8\u5668\u4e0d\u80fd\u5b9e\u73b0\u79fb\u52a8\u7aef\u7684\u7f51\u9875\u6536\u85cf\u3002\u4e3a\u4e86\u5b9e\u73b0\u8de8\u7aef\u7f51\u9875\u6536\u85cf\u6211\u9009\u7528\u4e86 Cubox\uff0c\u5728\u624b\u673a\u7aef\u770b\u5230\u611f\u5174\u8da3\u7684\u7f51\u9875\u65f6\u53ea\u9700\u5c0f\u624b\u4e00\u5212\uff0c\u4fbf\u80fd\u5c06\u7f51\u9875\u7edf\u4e00\u4fdd\u5b58\u4e0b\u6765\u3002\u867d\u7136\u514d\u8d39\u7248\u53ea\u80fd\u6536\u85cf 100 \u4e2a\u7f51\u9875\uff0c\u4f46\u5176\u5b9e\u591f\u7528\u4e86\uff0c\u8fd8\u53ef\u4ee5\u5728\u6536\u85cf\u6ee1\u65f6\u7763\u4fc3\u81ea\u5df1\u8d76\u7d27\u526a\u85cf\u6d88\u5316\u6389\u8fd9\u4e9b\u7f51\u9875\uff0c\u8ba9\u6536\u85cf\u4e0d\u5403\u7070\u3002 \u9664\u6b64\u4e4b\u5916\uff0c\u56de\u60f3\u4e00\u4e0b\u6211\u4eec\u5e73\u65f6\u6536\u85cf\u7684\u7f51\u9875\uff0c\u5c31\u4f1a\u53d1\u73b0\u6709\u5f88\u591a\u5e76\u4e0d\u662f\u50cf\u77e5\u4e4e\u3001\u6398\u91d1\u8fd9\u7c7b\u6709\u5b8c\u6574\u529f\u80fd\u7684\u535a\u5ba2\u5e73\u53f0\uff0c\u66f4\u591a\u7684\u662f\u4e2a\u4eba\u5efa\u7684\u5c0f\u7ad9\uff0c\u800c\u8fd9\u4e9b\u5c0f\u7ad9\u5f80\u5f80\u6ca1\u6709\u79fb\u52a8\u7aef\u5e94\u7528\uff0c\u8fd9\u6837\u5e73\u65f6\u5237\u624b\u673a\u7684\u65f6\u5019\u4e5f\u770b\u4e0d\u5230\uff0c\u653e\u5230\u6d4f\u89c8\u5668\u7684\u6536\u85cf\u5939\u91cc\u53c8\u5bb9\u6613\u6f0f\u4e86\u770b\uff0c\u6709\u65b0\u6587\u7ae0\u53d1\u5e03\u6211\u4eec\u4e5f\u4e0d\u80fd\u7b2c\u4e00\u65f6\u95f4\u6536\u5230\u901a\u77e5\uff0c\u8fd9\u4e2a\u65f6\u5019\u5c31\u9700\u8981\u4e00\u79cd\u53eb RSS \u7684\u901a\u4fe1\u534f\u8bae\u3002 RSS \uff08\u82f1\u6587\u5168\u79f0\uff1aRDF Site Summary \u6216 Really Simple Syndication\uff09\uff0c\u4e2d\u6587\u8bd1\u4f5c\u7b80\u6613\u4fe1\u606f\u805a\u5408\uff0c\u4e5f\u79f0\u805a\u5408\u5185\u5bb9\uff0c\u662f\u4e00\u79cd\u6d88\u606f\u6765\u6e90\u683c\u5f0f\u89c4\u8303\uff0c\u7528\u4ee5\u805a\u5408\u591a\u4e2a\u7f51\u7ad9\u66f4\u65b0\u7684\u5185\u5bb9\u5e76\u81ea\u52a8\u901a\u77e5\u7f51\u7ad9\u8ba2\u9605\u8005\u3002\u7535\u8111\u7aef\u53ef\u4ee5\u501f\u52a9 RSSHub Radar \u6765\u5feb\u901f\u53d1\u73b0\u548c\u751f\u6210 RSS \u8ba2\u9605\u6e90\uff0c\u63a5\u7740\u4f7f\u7528 Feedly \u6765\u8ba2\u9605\u8fd9\u4e9b RSS \u8ba2\u9605\u6e90\uff08 RSSHub Radar \u548c Feedly \u5728 chrome \u6d4f\u89c8\u5668\u4e2d\u5747\u6709\u5b98\u65b9\u63d2\u4ef6\uff09\u3002 \u5230\u8fd9\u91cc\u4e3a\u6b62\uff0c\u6536\u96c6\u4fe1\u606f\u7684\u6d41\u7a0b\u5df2\u7ecf\u6bd4\u8f83\u5b8c\u5907\u4e86\u3002\u4f46\u8d44\u6599\u518d\u591a\uff0c\u5206\u7c7b\u89c4\u6574\u5f97\u518d\u6f02\u4eae\uff0c\u4e5f\u5f97\u771f\u6b63\u5185\u5316\u6210\u81ea\u5df1\u7684\u624d\u7ba1\u7528\u3002\u56e0\u6b64\u5728\u6536\u96c6\u5b8c\u4fe1\u606f\u540e\u5c31\u5f97\u8fdb\u4e00\u6b65\u5730\u5904\u7406\u4fe1\u606f\uff0c\u5373\u9605\u8bfb\u8fd9\u4e9b\u4fe1\u606f\uff0c\u5982\u679c\u662f\u82f1\u6587\u4fe1\u606f\u7684\u8bdd\u8fd8\u5f97\u641e\u61c2\u82f1\u6587\u7684\u8bed\u4e49\uff0c\u52a0\u7c97\u9ad8\u4eae\u91cd\u70b9\u53e5\u5b50\u6bb5\u843d\uff0c\u6807\u8bb0\u6709\u7591\u95ee\u7684\u5730\u65b9\uff0c\u53d1\u6563\u8054\u60f3\u76f8\u5173\u7684\u77e5\u8bc6\u70b9\uff0c\u6700\u540e\u5199\u4e0a\u81ea\u5df1\u7684\u603b\u7ed3\u3002\u90a3\u4e48\u5728\u8fd9\u8fc7\u7a0b\u4e2d\u9700\u8981\u4f7f\u7528\u5230\u4ec0\u4e48\u5de5\u5177\u5462\uff1f \u4fe1\u606f\u7684\u5904\u7406 \u82f1\u6587\u4fe1\u606f \u9762\u5bf9\u82f1\u6587\u7684\u8d44\u6599\uff0c\u6211\u4ee5\u524d\u662f\u7528 \u6709\u9053\u8bcd\u5178 \u6765\u5212\u8bcd\u7ffb\u8bd1\uff0c\u9047\u5230\u53e5\u5b50\u7684\u8bdd\u5c31\u4f7f\u7528\u8c37\u6b4c\u7ffb\u8bd1\uff0c\u9047\u5230\u5927\u6bb5\u843d\u65f6\u5c31\u4f7f\u7528 deepl \uff0c\u4e45\u800c\u4e45\u4e4b\uff0c\u53d1\u73b0\u8fd9\u6837\u770b\u82f1\u8bed\u6587\u732e\u592a\u6162\u4e86\uff0c\u5f97\u7528\u4e09\u4e2a\u5de5\u5177\u624d\u80fd\u6ee1\u8db3\u7ffb\u8bd1\u8fd9\u4e00\u4e2a\u9700\u6c42\uff0c\u5982\u679c\u6709\u4e00\u4e2a\u5de5\u5177\u80fd\u591f\u540c\u65f6\u5b9e\u73b0\u5bf9\u5355\u8bcd\u3001\u53e5\u5b50\u548c\u6bb5\u843d\u7684\u5212\u8bcd\u7ffb\u8bd1\u5c31\u597d\u4e86\u3002\u6211\u8054\u60f3\u5230\u7814\u7a76\u751f\u4eec\u5e94\u8be5\u4f1a\u7ecf\u5e38\u63a5\u89e6\u82f1\u8bed\u6587\u732e\uff0c\u4e8e\u662f\u6211\u5c31\u641c \u7814\u7a76\u751f + \u7ffb\u8bd1\u8f6f\u4ef6 \uff0c\u5728\u68c0\u7d22\u7ed3\u679c\u91cc\u6211\u6700\u7ec8\u9009\u62e9\u4e86 Quicker + \u6c99\u62c9\u67e5\u8bcd \u8fd9\u4e2a\u642d\u914d\u6765\u8fdb\u884c\u5212\u8bcd\u7ffb\u8bd1\u3002 \u4f7f\u7528\u8fd9\u5957\u7ec4\u5408\u53ef\u4ee5\u5b9e\u73b0\u5728\u6d4f\u89c8\u5668\u5916\u7684\u5176\u4ed6\u8f6f\u4ef6\u5185\u8fdb\u884c\u5212\u8bcd\u7ffb\u8bd1\uff0c\u5e76\u4e14\u652f\u6301\u5355\u8bcd\u3001\u53e5\u5b50\u548c\u6bb5\u843d\u7684\u7ffb\u8bd1\uff0c\u4ee5\u53ca\u6bcf\u6b21\u7684\u7ffb\u8bd1\u4f1a\u6709\u591a\u4e2a\u7ffb\u8bd1\u5e73\u53f0\u7684\u7ed3\u679c\u3002btw\uff0c\u5982\u679c\u67e5\u5355\u8bcd\u65f6\u4e0d\u7740\u6025\u7684\u8bdd\uff0c\u53ef\u4ee5\u987a\u4fbf\u770b\u770b \u79d1\u6797\u65af\u9ad8\u9636 \u7684\u7ffb\u8bd1\uff0c\u8fd9\u4e2a\u8bcd\u5178\u7684\u4f18\u70b9\u5c31\u662f\u4f1a\u7528\u82f1\u6587\u53bb\u89e3\u91ca\u82f1\u6587\uff0c\u53ef\u4ee5\u63d0\u4f9b\u591a\u4e2a\u4e0a\u4e0b\u6587\u5e2e\u52a9\u4f60\u7406\u89e3\uff0c\u5bf9\u4e8e\u5b66\u4e60\u82f1\u6587\u5355\u8bcd\u4e5f\u6709\u5e2e\u52a9\uff0c\u56e0\u4e3a\u7528\u82f1\u6587\u89e3\u91ca\u82f1\u6587\u624d\u66f4\u63a5\u8fd1\u82f1\u8bed\u7684\u601d\u7ef4\u3002 \u591a\u5a92\u4f53\u4fe1\u606f \u5904\u7406\u5b8c\u6587\u672c\u7c7b\u7684\u4fe1\u606f\u540e\uff0c\u6211\u4eec\u8fd8\u5f97\u601d\u8003\u4e00\u4e0b\u600e\u4e48\u5904\u7406\u591a\u5a92\u4f53\u7c7b\u7684\u4fe1\u606f\u3002\u6b64\u5904\u7684\u591a\u5a92\u4f53\u6211\u7279\u6307\u82f1\u6587\u89c6\u9891\uff0c\u56e0\u4e3a\u6211\u6ca1\u6709\u7528\u64ad\u5ba2\u6216\u5f55\u97f3\u5b66\u4e60\u7684\u4e60\u60ef\uff0c\u800c\u4e14\u6211\u5df2\u7ecf\u57fa\u672c\u4e0d\u770b\u4e2d\u6587\u6559\u7a0b\u4e86\u3002\u73b0\u5728\u5f88\u591a\u56fd\u5916\u540d\u6821\u516c\u5f00\u8bfe\u90fd\u662f\u4ee5\u89c6\u9891\u7684\u5f62\u5f0f\uff0c\u5982\u679c\u80fd\u5bf9\u89c6\u9891\u8fdb\u884c\u505a\u7b14\u8bb0\u4f1a\u4e0d\u4f1a\u6709\u5e2e\u52a9\u5462\uff1f\u4e0d\u77e5\u9053\u5927\u5bb6\u6709\u6ca1\u8fd9\u6837\u7684\u60f3\u6cd5\uff0c\u5c31\u662f\u5982\u679c\u80fd\u628a\u8001\u5e08\u4e0a\u8bfe\u8bb2\u7684\u5185\u5bb9\u8f6c\u6362\u6210\u6587\u672c\u5c31\u597d\u4e86\uff0c\u56e0\u4e3a\u5e73\u65f6\u5b66\u4e60\u65f6\u6211\u4eec\u770b\u4e66\u7684\u901f\u5ea6\u5f80\u5f80\u4f1a\u6bd4\u8001\u5e08\u8bb2\u8bfe\u7684\u901f\u5ea6\u5feb\u3002\u521a\u597d Language Reactor \u8fd9\u4e2a\u8f6f\u4ef6\u53ef\u4ee5\u5c06\u6cb9\u7ba1\u548c\u7f51\u98de\u5185\u89c6\u9891\u7684\u5b57\u5e55\u5bfc\u51fa\u6765\uff0c\u540c\u65f6\u9644\u4e0a\u4e2d\u6587\u7ffb\u8bd1\u3002 \u6211\u4eec\u53ef\u4ee5\u628a Language Reactor \u5bfc\u51fa\u7684\u5b57\u5e55\u590d\u5236\u5230 Obsidian \u91cc\u9762\u4f5c\u4e3a\u6587\u7ae0\u6765\u8bfb\u3002\u9664\u4e86\u51fa\u4e8e\u5b66\u4e60\u7684\u9700\u6c42\uff0c\u4e5f\u53ef\u4ee5\u5728\u5e73\u65f6\u770b\u6cb9\u7ba1\u7684\u89c6\u9891\u65f6\u6253\u5f00\u8fd9\u4e2a\u63d2\u4ef6\uff0c\u8fd9\u4e2a\u63d2\u4ef6\u53ef\u4ee5\u540c\u65f6\u663e\u793a\u4e2d\u82f1\u6587\u5b57\u5e55\uff0c\u5e76\u4e14\u53ef\u4ee5\u5355\u51fb\u9009\u4e2d\u82f1\u6587\u5b57\u5e55\u4e2d\u4f60\u8ba4\u4e3a\u751f\u50fb\u7684\u5355\u8bcd\u540e\u663e\u793a\u5355\u8bcd\u91ca\u4e49\u3002 \u4f46\u9605\u8bfb\u6587\u672c\u5bf9\u4e8e\u4e00\u4e9b\u62bd\u8c61\u7684\u77e5\u8bc6\u70b9\u6765\u8bf4\u5e76\u4e0d\u662f\u6548\u7387\u6700\u9ad8\u7684\u5b66\u4e60\u65b9\u5f0f\u3002\u4fd7\u8bdd\u8bf4\uff0c\u4e00\u56fe\u80dc\u5343\u8a00\uff0c\u80fd\u4e0d\u80fd\u5c06\u67d0\u4e00\u6bb5\u77e5\u8bc6\u70b9\u7684\u6587\u672c\u548c\u5bf9\u5e94\u7684\u56fe\u7247\u751a\u81f3\u89c6\u9891\u753b\u9762\u64cd\u4f5c\u8054\u7cfb\u8d77\u6765\u5462\uff1f\u6211\u5728\u6d4f\u89c8 Obsidian \u7684\u63d2\u4ef6\u5e02\u573a\u65f6\uff0c\u53d1\u73b0\u4e86\u4e00\u4e2a\u53eb Media Extended \u7684\u63d2\u4ef6\uff0c\u8fd9\u4e2a\u63d2\u4ef6\u53ef\u4ee5\u5728\u4f60\u7684\u7b14\u8bb0\u91cc\u6dfb\u52a0\u8df3\u8f6c\u5230\u89c6\u9891\u6307\u5b9a\u65f6\u95f4\u8fdb\u5ea6\u7684\u94fe\u63a5\uff0c\u76f8\u5f53\u4e8e\u628a\u4f60\u7684\u7b14\u8bb0\u548c\u89c6\u9891\u8fde\u63a5\u8d77\u6765\u4e86\uff01\u8fd9\u521a\u597d\u53ef\u4ee5\u548c\u6211\u4e0a\u6587\u63d0\u5230\u7684\u751f\u6210\u89c6\u9891\u4e2d\u82f1\u6587\u5b57\u5e55\u642d\u914d\u8d77\u6765\uff0c\u5373\u6bcf\u4e00\u53e5\u5b57\u5e55\u5bf9\u5e94\u4e00\u4e2a\u65f6\u95f4\uff0c\u5e76\u4e14\u80fd\u6839\u636e\u65f6\u95f4\u70b9\u8df3\u8f6c\u5230\u89c6\u9891\u7684\u6307\u5b9a\u8fdb\u5ea6\uff0c\u5982\u6b64\u4e00\u6765\u5982\u679c\u9700\u8981\u5728\u6587\u7ae0\u4e2d\u5c55\u793a\u8bb0\u5f55\u4e86\u64cd\u4f5c\u8fc7\u7a0b\u7684\u89c6\u9891\u7684\u8bdd\uff0c\u5c31\u4e0d\u9700\u8981\u81ea\u5df1\u53bb\u622a\u53d6\u5bf9\u5e94\u7684\u89c6\u9891\u7247\u6bb5\uff0c\u800c\u662f\u76f4\u63a5\u5728\u6587\u7ae0\u5185\u5c31\u80fd\u8df3\u8f6c\uff01 Obsidian \u91cc\u8fd8\u6709\u4e00\u4e2a\u5f88\u5f3a\u5927\u7684\u63d2\u4ef6\uff0c\u53eb Annotator \uff0c\u5b83\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u5185\u8df3\u8f6c\u5230 pdf \u539f\u6587 \u73b0\u5728\uff0c\u4f7f\u7528 Obsidian \u81ea\u5e26\u7684\u53cc\u94fe\u529f\u80fd\uff0c\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u95f4\u76f8\u4e92\u8df3\u8f6c\uff0c\u7ed3\u5408\u4e0a\u8ff0\u4e24\u4e2a\u63d2\u4ef6\uff0c\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u5230\u591a\u5a92\u4f53\u7684\u8df3\u8f6c\uff0c\u4fe1\u606f\u7684\u5904\u7406\u8fc7\u7a0b\u5df2\u7ecf\u5b8c\u5907\u3002\u4e00\u822c\u6211\u4eec\u5b66\u4e60\u7684\u8fc7\u7a0b\u76f8\u5f53\u4e8e\u4e0a\u5c71\u548c\u4e0b\u5c71\uff0c\u521a\u5b66\u7684\u65f6\u5019\u5c31\u597d\u50cf\u4e0a\u5c71\uff0c\u5f88\u964c\u751f\u3001\u5403\u529b\uff0c\u6240\u8c13\u5b66\u800c\u65f6\u4e60\u4e4b\uff0c\u590d\u4e60\u6216\u7ec3\u4e60\u7684\u8fc7\u7a0b\u5c31\u50cf\u4e0b\u5c71\uff0c\u6ca1\u6709\u964c\u751f\u611f\uff0c\u4e0d\u89c1\u5f97\u8f7b\u677e\uff0c\u4f46\u975e\u8d70\u4e0d\u53ef\u3002\u90a3\u4e48\u5982\u4f55\u628a\u590d\u4e60\u8fd9\u4e00\u8fc7\u7a0b\u7eb3\u5165\u5de5\u4f5c\u6d41\u7684\u73af\u8282\u91cc\u5462\uff1f \u4fe1\u606f\u7684\u56de\u987e Obsidian \u5185\u5df2\u7ecf\u6709\u4e00\u4e2a\u8fde\u63a5 Anki \u7684\u63d2\u4ef6\uff0c Anki \u5c31\u662f\u5927\u540d\u9f0e\u9f0e\u7684\u3001\u57fa\u4e8e\u95f4\u9694\u91cd\u590d\u7684\u8bb0\u5fc6\u8f6f\u4ef6\u3002\u4f7f\u7528\u8be5\u63d2\u4ef6\u53ef\u4ee5\u622a\u53d6\u7b14\u8bb0\u7684\u7247\u6bb5\u5bfc\u51fa\u5230 Anki \u5e76\u53d8\u6210\u4e00\u5f20\u5361\u7247\uff0c\u5361\u7247\u5185\u4e5f\u6709\u8df3\u8f6c\u56de\u7b14\u8bb0\u539f\u6587\u7684\u94fe\u63a5 \u603b\u7ed3 \u8fd9\u4e2a\u5de5\u4f5c\u6d41\u662f\u5728\u6211\u8fd9\u4e24\u5e74\u4e1a\u4f59\u65f6\u95f4\u5b66\u4e60\u65f6\u6240\u6162\u6162\u5f62\u6210\u7684\uff0c\u5728\u5b66\u4e60\u8fc7\u7a0b\u4e2d\u56e0\u4e3a\u5bf9\u4e00\u4e9b\u91cd\u590d\u6027\u7684\u8fc7\u7a0b\u800c\u611f\u5230\u538c\u5026\uff0c\u6b63\u662f\u8fd9\u79cd\u538c\u5026\u4ea7\u751f\u4e86\u67d0\u79cd\u7279\u5b9a\u7684\u9700\u6c42\uff0c\u6070\u597d\u5728\u5e73\u65f6\u7f51\u4e0a\u51b2\u6d6a\u65f6\u4e86\u89e3\u5230\u7684\u4e00\u4e9b\u5de5\u5177\u6ee1\u8db3\u4e86\u6211\u8fd9\u4e9b\u9700\u6c42\u3002\u4e0d\u8981\u4e3a\u4e86\u865a\u65e0\u7684\u6ee1\u8db3\u611f\u800c\u5c06\u5de5\u5177\u5f3a\u884c\u62fc\u51d1\u5230\u81ea\u5df1\u7684\u5de5\u4f5c\u6d41\u4e2d\uff0c\u4eba\u751f\u82e6\u77ed\uff0c\u505a\u5b9e\u4e8b\u6700\u7d27\u8981\u3002 btw\uff0c\u6b64\u7bc7\u6587\u7ae0\u662f\u8bb2\u89e3\u5de5\u4f5c\u6d41\u7684\u6f14\u5316\u601d\u8def\uff0c\u5982\u679c\u5bf9\u6b64\u5de5\u4f5c\u6d41\u7684\u5b9e\u73b0\u7ec6\u8282\u611f\u5174\u8da3\uff0c\u5efa\u8bae\u9605\u8bfb\u5b8c\u672c\u6587\u540e\u518d\u6309\u987a\u5e8f\u9605\u8bfb\u4ee5\u4e0b\u6587\u7ae0 3000 + \u5c0f\u65f6\u79ef\u7d2f\u7684\u5b66\u4e60\u5de5\u4f5c\u6d41 Obsidian \u7684\u9ad8\u7ea7\u73a9\u6cd5 | \u6253\u9020\u80fd\u8df3\u8f6c\u5230\u4efb\u4f55\u683c\u5f0f\u6587\u4ef6\u7684\u7b14\u8bb0","title":"\u65e5\u5e38\u5b66\u4e60\u5de5\u4f5c\u6d41"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_1","text":"\u4e00\u5f00\u59cb\u6211\u5b66\u4e60\u65b0\u77e5\u8bc6\u65f6\u4f1a\u53c2\u8003\u4e2d\u6587\u535a\u5ba2\uff0c\u4f46\u5728\u4ee3\u7801\u5b9e\u8df5\u65f6\u5f80\u5f80\u4f1a\u53d1\u73b0\u6f0f\u6d1e\u548cbug\u3002\u6211\u9010\u6e10\u610f\u8bc6\u5230\u6211\u53c2\u8003\u7684\u4fe1\u606f\u53ef\u80fd\u662f\u9519\u8bef\u7684\uff0c\u6bd5\u7adf\u53d1\u535a\u5ba2\u7684\u95e8\u69db\u4f4e\uff0c\u6587\u7ae0\u53ef\u4fe1\u5ea6\u4e0d\u9ad8\uff0c\u4e8e\u662f\u6211\u5f00\u59cb\u67e5\u9605\u4e00\u4e9b\u76f8\u5173\u7684\u4e2d\u6587\u4e66\u7c4d\u3002 \u4e2d\u6587\u4e66\u7c4d\u7684\u786e\u662f\u6bd4\u8f83\u5168\u9762\u4e14\u7cfb\u7edf\u5730\u8bb2\u89e3\u4e86\u77e5\u8bc6\u70b9\uff0c\u4f46\u4f17\u6240\u5468\u77e5\uff0c\u8ba1\u7b97\u673a\u6280\u672f\u66f4\u8fed\u8fc5\u901f\uff0c\u53c8\u56e0\u4e3a\u8001\u7f8e\u5728 CS \u65b9\u9762\u4e00\u76f4\u90fd\u662f\u706f\u5854\uff0c\u6240\u4ee5\u4e00\u822c\u4e2d\u6587\u4e66\u7c4d\u91cc\u7684\u5185\u5bb9\u4f1a\u6ede\u540e\u4e8e\u5f53\u524d\u6700\u65b0\u7684\u77e5\u8bc6\uff0c\u5bfc\u81f4\u6211\u8ddf\u7740\u4e2d\u6587\u4e66\u7c4d\u5b9e\u8df5\u4f1a\u51fa\u73b0\u8f6f\u4ef6\u7248\u672c\u5dee\u5f02\u7684\u95ee\u9898\u3002\u8fd9\u65f6\u6211\u5f00\u59cb\u610f\u8bc6\u5230\u4e00\u624b\u4fe1\u606f\u7684\u91cd\u8981\u6027\uff0c\u6709\u4e9b\u4e2d\u6587\u4e66\u7c4d\u662f\u7ffb\u8bd1\u82f1\u6587\u4e66\u7c4d\u7684\uff0c\u4e00\u822c\u7ffb\u8bd1\u4e00\u672c\u4e66\u4e5f\u8981\u4e00\u4e24\u5e74\uff0c\u8fd9\u4f1a\u5bfc\u81f4\u4fe1\u606f\u4f20\u9012\u7684\u5ef6\u8fdf\uff0c\u8fd8\u6709\u5c31\u662f\u7ffb\u8bd1\u7684\u8fc7\u7a0b\u4e2d\u4fe1\u606f\u4f1a\u6709\u635f\u5931\u3002\u5982\u679c\u4e00\u672c\u4e2d\u6587\u4e66\u7c4d\u4e0d\u662f\u7ffb\u8bd1\u7684\u5462\uff0c\u90a3\u4e48\u5b83\u5927\u6982\u7387\u4e5f\u53c2\u8003\u4e86\u5176\u4ed6\u4e66\u7c4d\uff0c\u53c2\u8003\u7684\u8fc7\u7a0b\u4f1a\u5e26\u6709\u5bf9\u82f1\u6587\u539f\u8457\u4e2d\u8bed\u4e49\u7406\u89e3\u7684\u504f\u5dee\u3002 \u4e8e\u662f\u6211\u5c31\u987a\u5176\u81ea\u7136\u5730\u5f00\u59cb\u7ffb\u9605\u82f1\u6587\u4e66\u7c4d\u3002\u4e0d\u5f97\u4e0d\u8bf4\uff0c\u82f1\u6587\u4e66\u7c4d\u5185\u5bb9\u7684\u8d28\u91cf\u6574\u4f53\u662f\u6bd4\u4e2d\u6587\u4e66\u7c4d\u9ad8\u7684\u3002\u540e\u6765\u968f\u7740\u5b66\u4e60\u7684\u5c42\u5c42\u6df1\u5165\uff0c\u4ee5\u77e5\u8bc6\u7684\u65f6\u6548\u6027\u548c\u5b8c\u6574\u6027\u51fa\u53d1\uff0c\u6211\u53d1\u73b0 \u6e90\u4ee3\u7801 > \u5b98\u65b9\u6587\u6863 > \u82f1\u6587\u4e66\u7c4d > \u82f1\u6587\u535a\u5ba2 > \u4e2d\u6587\u535a\u5ba2 \uff0c\u6700\u540e\u6211\u5f97\u51fa\u4e86\u4e00\u5f20 \u4fe1\u606f\u635f\u5931\u56fe \uff1a \u867d\u7136\u4e00\u624b\u4fe1\u606f\u5f88\u91cd\u8981\uff0c\u4f46\u540e\u9762\u7684 N \u624b\u4fe1\u606f\u5e76\u975e\u4e00\u65e0\u662f\u5904\uff0c\u56e0\u4e3a\u8fd9 N \u624b\u8d44\u6599\u91cc\u5305\u542b\u4e86\u4f5c\u8005\u5bf9\u6e90\u77e5\u8bc6\u7684\u8f6c\u5316\u2014\u2014\u4f8b\u5982\u57fa\u4e8e\u67d0\u79cd\u903b\u8f91\u7684\u68b3\u7406\uff08\u6d41\u7a0b\u56fe\u3001\u601d\u7ef4\u5bfc\u56fe\u7b49\uff09\u6216\u662f\u4e00\u4e9b\u81ea\u5df1\u7684\u7406\u89e3\uff08\u5bf9\u6e90\u77e5\u8bc6\u7684\u62bd\u8c61\u3001\u7c7b\u6bd4\u3001\u5ef6\u4f38\u5230\u5176\u4ed6\u77e5\u8bc6\u70b9\uff09\uff0c\u8fd9\u4e9b\u8f6c\u5316\u53ef\u4ee5\u5e2e\u52a9\u6211\u4eec\u66f4\u5feb\u5730\u638c\u63e1\u548c\u5de9\u56fa\u77e5\u8bc6\u7684\u6838\u5fc3\u5185\u5bb9\uff0c\u5c31\u5982\u540c\u521d\u9ad8\u4e2d\u5b66\u4e60\u65f6\u4f7f\u7528\u7684\u8f85\u5bfc\u4e66\u3002 \u6b64\u5916\uff0c\u5b66\u4e60\u7684\u8fc7\u7a0b\u4e2d\u548c\u522b\u4eba\u7684\u4ea4\u6d41\u5341\u5206\u91cd\u8981\uff0c\u8fd9\u4e9b N \u624b\u4fe1\u606f\u540c\u65f6\u8d77\u4e86\u548c\u5176\u4ed6\u4f5c\u8005\u4ea4\u6d41\u7684\u4f5c\u7528\uff0c\u8ba9\u6211\u4eec\u80fd\u91c7\u767e\u5bb6\u4e4b\u957f\u3002\u6240\u4ee5\u8fd9\u63d0\u793a\u6211\u4eec\u5b66\u4e60\u4e00\u4e2a\u77e5\u8bc6\u70b9\u65f6\u5148\u5c3d\u91cf\u9009\u62e9\u8d28\u91cf\u66f4\u9ad8\u7684\uff0c\u4fe1\u606f\u635f\u5931\u8f83\u5c11\u7684\u4fe1\u606f\u6e90\uff0c\u540c\u65f6\u4e0d\u59a8\u53c2\u8003\u591a\u4e2a\u4fe1\u606f\u6e90\uff0c\u8ba9\u81ea\u5df1\u7684\u7406\u89e3\u66f4\u52a0\u5168\u9762\u51c6\u786e\u3002 \u73b0\u5b9e\u5de5\u4f5c\u751f\u6d3b\u4e2d\u7684\u5b66\u4e60\u5f88\u96be\u50cf\u5b66\u6821\u91cc\u4e00\u6837\u56f4\u7ed5\u67d0\u4e2a\u5355\u4e00\u77e5\u8bc6\u70b9\u7531\u6d45\u5165\u6df1\uff0c\u7ecf\u5e38\u4f1a\u5728\u5b66\u4e60\u8fc7\u7a0b\u4e2d\u6d89\u53ca\u5230\u5176\u4ed6\u77e5\u8bc6\u70b9\uff0c\u6bd4\u5982\u4e00\u4e9b\u65b0\u7684\u4e13\u6709\u540d\u8bcd\uff0c\u4e00\u7bc7\u6ca1\u6709\u8bfb\u8fc7\u7684\u7ecf\u5178\u8bba\u6587\uff0c\u4e00\u6bb5\u672a\u66fe\u63a5\u89e6\u8fc7\u7684\u4ee3\u7801\u7b49\u7b49\u3002\u8fd9\u5c31\u8981\u6c42\u6211\u4eec\u52e4\u4e8e\u601d\u8003\uff0c\u5228\u6839\u7a76\u5e95\u5730\u201c\u9012\u5f52\u201d\u5b66\u4e60\uff0c\u7ed9\u591a\u4e2a\u77e5\u8bc6\u70b9\u4e4b\u95f4\u5efa\u7acb\u8054\u7cfb\u3002","title":"\u5e95\u5c42\u6838\u5fc3\u903b\u8f91"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_2","text":"\u5de5\u4f5c\u6d41\u7684\u9aa8\u67b6\u56f4\u7ed5 \u5355\u4e2a\u77e5\u8bc6\u70b9\u591a\u53c2\u8003\u6e90\uff0c\u52e4\u4e8e\u63d0\u95ee\u7ed9\u591a\u4e2a\u77e5\u8bc6\u70b9\u4e4b\u95f4\u5efa\u7acb\u8054\u7cfb \u7684\u5e95\u5c42\u6838\u5fc3\u903b\u8f91\u5efa\u7acb\u3002\u6211\u4eec\u5199\u8bba\u6587\u5176\u5b9e\u5c31\u662f\u9075\u5faa\u8fd9\u4e2a\u5e95\u5c42\u903b\u8f91\u7684\u3002\u8bba\u6587\u4e00\u822c\u4f1a\u6709\u811a\u6ce8\u53bb\u89e3\u91ca\u4e00\u4e9b\u5173\u952e\u5b57\uff0c\u5e76\u4e14\u8bba\u6587\u672b\u5c3e\u4f1a\u6709\u591a\u4e2a\u53c2\u8003\u7684\u6765\u6e90\uff0c\u4f46\u662f\u6211\u4eec\u5e73\u65f6\u5199\u7b14\u8bb0\u4f1a\u968f\u610f\u5f97\u591a\uff0c\u56e0\u6b64\u9700\u8981\u66f4\u7075\u6d3b\u7684\u65b9\u5f0f\u3002 \u5e73\u65f6\u5199\u4ee3\u7801\u4e60\u60ef\u5728 IDE \u91cc\u4e00\u952e\u8df3\u8f6c\uff0c\u628a\u76f8\u5173\u7684\u51fd\u6570\u548c\u5b9e\u73b0\u5f88\u597d\u5730\u8054\u7cfb\u5728\u4e86\u4e00\u8d77\u3002\u4f60\u4e5f\u8bb8\u4f1a\u60f3\uff0c\u5982\u679c\u7b14\u8bb0\u4e5f\u80fd\u50cf\u4ee3\u7801\u90a3\u6837\u53ef\u4ee5\u8df3\u8f6c\u5c31\u597d\u4e86\u3002\u73b0\u5728\u5e02\u9762\u4e0a \u53cc\u94fe\u7b14\u8bb0\u8f6f\u4ef6 \u5c31\u53ef\u4ee5\u5f88\u597d\u5730\u89e3\u51b3\u8fd9\u4e00\u75db\u70b9\uff0c\u4f8b\u5982 Roam Research\u3001Logseq\u3001Notion \u548c Obsidian\u3002Roam Research \u548c Logseq \u90fd\u662f\u57fa\u4e8e\u5927\u7eb2\u7ed3\u6784\u7684\u7b14\u8bb0\u8f6f\u4ef6\uff0c\u800c \u5927\u7eb2\u7ed3\u6784 \u662f\u529d\u9000\u6211\u4f7f\u7528\u8fd9\u4e24\u6b3e\u8f6f\u4ef6\u7684\u539f\u56e0\u3002\u4e00\u662f \u5927\u7eb2\u7ed3\u6784 \u505a\u7b14\u8bb0\u5bb9\u6613\u4f7f\u6587\u7ae0\u7eb5\u5411\u7bc7\u5e45\u592a\u957f\uff0c\u4e8c\u662f\u5982\u679c\u5d4c\u5957\u7ed3\u6784\u8fc7\u591a\u4f1a\u5360\u6a2a\u5411\u7684\u7bc7\u5e45\u3002Notion \u9875\u9762\u6253\u5f00\u6162\uff0c\u5f03\u4e4b\u3002\u6700\u7ec8\u6211\u9009\u62e9\u4e86 Obsidian\uff0c\u539f\u56e0\u5982\u4e0b\uff1a Obsidian \u57fa\u4e8e\u672c\u5730\uff0c\u6253\u5f00\u901f\u5ea6\u5feb\uff0c\u4e14\u53ef\u5b58\u653e\u5f88\u591a\u7535\u5b50\u4e66\u3002\u6211\u7684\u7b14\u8bb0\u672c\u662f 32g \u5185\u5b58\u7684\u534e\u7855\u5929\u9009\u4e00\u4ee3\uff0c\u62ff\u6765\u8dd1 Obsidian \u53ef\u4ee5\u5feb\u5230\u98de\u8d77 Obsidian \u57fa\u4e8e Markdown\u3002\u8fd9\u4e5f\u662f\u4e00\u4e2a\u4f18\u52bf\uff0c\u5982\u679c\u7b14\u8bb0\u8f6f\u4ef6\u5199\u7684\u7b14\u8bb0\u683c\u5f0f\u662f\u81ea\u5bb6\u7684\u7f16\u7801\u683c\u5f0f\uff0c\u90a3\u4e48\u4e0d\u65b9\u4fbf\u5176\u4ed6\u7b2c\u4e09\u65b9\u62d3\u5c55\uff0c\u4e5f\u4e0d\u65b9\u4fbf\u5c06\u7b14\u8bb0\u7528\u5176\u4ed6\u8f6f\u4ef6\u6253\u5f00\uff0c\u6bd4\u5982 qq \u97f3\u4e50\u4e0b\u8f7d\u6b4c\u66f2\u6709\u81ea\u5df1\u7684\u683c\u5f0f\uff0c\u5176\u4ed6\u64ad\u653e\u5668\u64ad\u653e\u4e0d\u4e86\uff0c\u8fd9\u633a\u6076\u5fc3\u4eba\u7684 Obsidian \u6709\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\uff0c\u5e76\u4e14\u8fd9\u4e2a\u751f\u6001\u65e2\u5927\u53c8\u6d3b\u8dc3\uff0c\u5373\u63d2\u4ef6\u6570\u91cf\u591a\uff0c\u4e14\u70ed\u95e8\u63d2\u4ef6\u7684 star \u591a\uff0c\u5f00\u53d1\u8005\u4f1a\u53cd\u9988\u7528\u6237 issue\uff0c\u7248\u672c\u4f1a\u6301\u7eed\u8fed\u4ee3\u3002\u501f\u52a9\u8fd9\u4e9b\u63d2\u4ef6\uff0c\u53ef\u4ee5\u4f7f Osidian \u8fbe\u5230 all in one \u7684\u6548\u679c\uff0c\u5373\u5404\u7c7b\u77e5\u8bc6\u6765\u6e90\u53ef\u4ee5\u7edf\u4e00\u6574\u5408\u4e8e\u4e00\u5904","title":"\u9009\u62e9\u5408\u9002\u7684\u7b14\u8bb0\u8f6f\u4ef6"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_3","text":"Obsidian \u7684\u63d2\u4ef6\u4f7f\u5176\u53ef\u4ee5\u652f\u6301 pdf \u683c\u5f0f\uff0c\u800c\u5176\u672c\u8eab\u53c8\u652f\u6301 Markdown \u683c\u5f0f\u3002\u5982\u679c\u60f3\u8981 all in one \uff0c\u90a3\u4e48\u53ef\u4ee5\u57fa\u4e8e\u8fd9\u4e24\u4e2a\u683c\u5f0f\uff0c\u5c06\u5176\u4ed6\u683c\u5f0f\u6587\u4ef6\u8f6c\u6362\u4e3a pdf \u6216\u8005 Markdown\u3002 \u90a3\u4e48\u73b0\u5728\u5c31\u9762\u4e34\u7740\u4e24\u4e2a\u95ee\u9898\uff1a \u6709\u4ec0\u4e48\u683c\u5f0f \u600e\u4e48\u8f6c\u6362\u4e3a pdf \u6216 Markdown","title":"\u4fe1\u606f\u7684\u6765\u6e90"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_4","text":"\u6587\u4ef6\u683c\u5f0f\u4f9d\u6258\u4e8e\u5176\u5c55\u793a\u7684\u5e73\u53f0\uff0c\u6240\u4ee5\u5728\u770b\u6709\u4ec0\u4e48\u683c\u5f0f\u4e4b\u524d\uff0c\u53ef\u4ee5\u7f57\u5217\u4e00\u4e0b\u6211\u5e73\u65f6\u83b7\u53d6\u4fe1\u606f\u7684\u6765\u6e90\uff1a \u53ef\u4ee5\u770b\u5230\u4e3b\u8981\u5206\u4e3a \u6587\u7ae0 \u3001 \u8bba\u6587 \u3001 \u7535\u5b50\u4e66 \u3001 \u8bfe\u7a0b \u56db\u7c7b\uff0c\u5305\u542b\u7684\u683c\u5f0f\u4e3b\u8981\u6709 \u7f51\u9875 \u3001 pdf \u3001 mobi \u3001 azw \u3001 azw3 \u3002","title":"\u6709\u4ec0\u4e48\u683c\u5f0f"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#pdf-markdown","text":"\u5728\u7ebf\u7684\u6587\u7ae0\u548c\u8bfe\u7a0b\u7b49\u5927\u591a\u4ee5\u7f51\u9875\u5f62\u5f0f\u5448\u73b0\uff0c\u800c\u5c06\u7f51\u9875\u8f6c\u6362\u4e3a Markdown \u53ef\u4ee5\u4f7f\u7528\u526a\u85cf\u8f6f\u4ef6\uff0c\u5b83\u53ef\u4ee5\u5c06\u7f51\u9875\u6587\u7ae0\u8f6c\u6362\u4e3a\u591a\u79cd\u6587\u672c\u683c\u5f0f\u6587\u4ef6\u3002\u6211\u9009\u62e9\u7684\u5de5\u5177\u662f\u7b80\u60a6\uff0c\u4f7f\u7528\u7b80\u60a6\u53ef\u4ee5\u5c06\u51e0\u4e4e\u6240\u6709\u5e73\u53f0\u7684\u6587\u7ae0\u5f88\u597d\u5730\u526a\u85cf\u4e3a Markdown \u5e76\u4e14\u5bfc\u5165\u5230 Obsidian\u3002 \u5bf9\u4e8e\u8bba\u6587\u548c\u7535\u5b50\u4e66\u800c\u8a00\u5982\u679c\u683c\u5f0f\u672c\u8eab\u5c31\u662f pdf \u5219\u4e07\u4e8b\u5927\u5409\uff0c\u4f46\u5982\u679c\u662f\u5176\u4ed6\u683c\u5f0f\u5219\u53ef\u4ee5\u4f7f\u7528 calibre \u8fdb\u884c\u8f6c\u6362\uff1a \u73b0\u5728\u5229\u7528 Obsidian \u7684 pdf \u63d2\u4ef6\u548c\u5176\u539f\u751f\u7684 markdown \u652f\u6301\u5c31\u53ef\u4ee5\u7545\u5feb\u65e0\u6bd4\u5730\u505a\u7b14\u8bb0\u5e76\u4e14\u5728\u8fd9\u4e9b\u6587\u7ae0\u7684\u5bf9\u5e94\u7ae0\u8282\u8fdb\u884c\u65e0\u7f1d\u8854\u63a5\u5730\u5f15\u7528\u8df3\u8f6c\u5566\uff08\u5177\u4f53\u64cd\u4f5c\u53c2\u8003\u4e0b\u6587\u7684\u201c\u4fe1\u606f\u7684\u5904\u7406\u201d\u6a21\u5757\uff09\u3002","title":"\u600e\u4e48\u8f6c\u6362\u4e3a pdf \u6216 Markdown"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_5","text":"\u5bf9\u4e8e pdf \u7b49\u6587\u4ef6\u7c7b\u8d44\u6e90\u53ef\u4ee5\u672c\u5730\u6216\u8005\u4e91\u7aef\u5b58\u50a8\uff0c\u800c\u7f51\u9875\u7c7b\u8d44\u6e90\u5219\u53ef\u4ee5\u5206\u95e8\u522b\u7c7b\u5730\u653e\u5165\u6d4f\u89c8\u5668\u7684\u6536\u85cf\u5939\uff0c\u6216\u8005\u526a\u85cf\u6210 markdown \u683c\u5f0f\u7684\u7b14\u8bb0\uff0c\u4f46\u662f\u7f51\u9875\u6d4f\u89c8\u5668\u4e0d\u80fd\u5b9e\u73b0\u79fb\u52a8\u7aef\u7684\u7f51\u9875\u6536\u85cf\u3002\u4e3a\u4e86\u5b9e\u73b0\u8de8\u7aef\u7f51\u9875\u6536\u85cf\u6211\u9009\u7528\u4e86 Cubox\uff0c\u5728\u624b\u673a\u7aef\u770b\u5230\u611f\u5174\u8da3\u7684\u7f51\u9875\u65f6\u53ea\u9700\u5c0f\u624b\u4e00\u5212\uff0c\u4fbf\u80fd\u5c06\u7f51\u9875\u7edf\u4e00\u4fdd\u5b58\u4e0b\u6765\u3002\u867d\u7136\u514d\u8d39\u7248\u53ea\u80fd\u6536\u85cf 100 \u4e2a\u7f51\u9875\uff0c\u4f46\u5176\u5b9e\u591f\u7528\u4e86\uff0c\u8fd8\u53ef\u4ee5\u5728\u6536\u85cf\u6ee1\u65f6\u7763\u4fc3\u81ea\u5df1\u8d76\u7d27\u526a\u85cf\u6d88\u5316\u6389\u8fd9\u4e9b\u7f51\u9875\uff0c\u8ba9\u6536\u85cf\u4e0d\u5403\u7070\u3002 \u9664\u6b64\u4e4b\u5916\uff0c\u56de\u60f3\u4e00\u4e0b\u6211\u4eec\u5e73\u65f6\u6536\u85cf\u7684\u7f51\u9875\uff0c\u5c31\u4f1a\u53d1\u73b0\u6709\u5f88\u591a\u5e76\u4e0d\u662f\u50cf\u77e5\u4e4e\u3001\u6398\u91d1\u8fd9\u7c7b\u6709\u5b8c\u6574\u529f\u80fd\u7684\u535a\u5ba2\u5e73\u53f0\uff0c\u66f4\u591a\u7684\u662f\u4e2a\u4eba\u5efa\u7684\u5c0f\u7ad9\uff0c\u800c\u8fd9\u4e9b\u5c0f\u7ad9\u5f80\u5f80\u6ca1\u6709\u79fb\u52a8\u7aef\u5e94\u7528\uff0c\u8fd9\u6837\u5e73\u65f6\u5237\u624b\u673a\u7684\u65f6\u5019\u4e5f\u770b\u4e0d\u5230\uff0c\u653e\u5230\u6d4f\u89c8\u5668\u7684\u6536\u85cf\u5939\u91cc\u53c8\u5bb9\u6613\u6f0f\u4e86\u770b\uff0c\u6709\u65b0\u6587\u7ae0\u53d1\u5e03\u6211\u4eec\u4e5f\u4e0d\u80fd\u7b2c\u4e00\u65f6\u95f4\u6536\u5230\u901a\u77e5\uff0c\u8fd9\u4e2a\u65f6\u5019\u5c31\u9700\u8981\u4e00\u79cd\u53eb RSS \u7684\u901a\u4fe1\u534f\u8bae\u3002 RSS \uff08\u82f1\u6587\u5168\u79f0\uff1aRDF Site Summary \u6216 Really Simple Syndication\uff09\uff0c\u4e2d\u6587\u8bd1\u4f5c\u7b80\u6613\u4fe1\u606f\u805a\u5408\uff0c\u4e5f\u79f0\u805a\u5408\u5185\u5bb9\uff0c\u662f\u4e00\u79cd\u6d88\u606f\u6765\u6e90\u683c\u5f0f\u89c4\u8303\uff0c\u7528\u4ee5\u805a\u5408\u591a\u4e2a\u7f51\u7ad9\u66f4\u65b0\u7684\u5185\u5bb9\u5e76\u81ea\u52a8\u901a\u77e5\u7f51\u7ad9\u8ba2\u9605\u8005\u3002\u7535\u8111\u7aef\u53ef\u4ee5\u501f\u52a9 RSSHub Radar \u6765\u5feb\u901f\u53d1\u73b0\u548c\u751f\u6210 RSS \u8ba2\u9605\u6e90\uff0c\u63a5\u7740\u4f7f\u7528 Feedly \u6765\u8ba2\u9605\u8fd9\u4e9b RSS \u8ba2\u9605\u6e90\uff08 RSSHub Radar \u548c Feedly \u5728 chrome \u6d4f\u89c8\u5668\u4e2d\u5747\u6709\u5b98\u65b9\u63d2\u4ef6\uff09\u3002 \u5230\u8fd9\u91cc\u4e3a\u6b62\uff0c\u6536\u96c6\u4fe1\u606f\u7684\u6d41\u7a0b\u5df2\u7ecf\u6bd4\u8f83\u5b8c\u5907\u4e86\u3002\u4f46\u8d44\u6599\u518d\u591a\uff0c\u5206\u7c7b\u89c4\u6574\u5f97\u518d\u6f02\u4eae\uff0c\u4e5f\u5f97\u771f\u6b63\u5185\u5316\u6210\u81ea\u5df1\u7684\u624d\u7ba1\u7528\u3002\u56e0\u6b64\u5728\u6536\u96c6\u5b8c\u4fe1\u606f\u540e\u5c31\u5f97\u8fdb\u4e00\u6b65\u5730\u5904\u7406\u4fe1\u606f\uff0c\u5373\u9605\u8bfb\u8fd9\u4e9b\u4fe1\u606f\uff0c\u5982\u679c\u662f\u82f1\u6587\u4fe1\u606f\u7684\u8bdd\u8fd8\u5f97\u641e\u61c2\u82f1\u6587\u7684\u8bed\u4e49\uff0c\u52a0\u7c97\u9ad8\u4eae\u91cd\u70b9\u53e5\u5b50\u6bb5\u843d\uff0c\u6807\u8bb0\u6709\u7591\u95ee\u7684\u5730\u65b9\uff0c\u53d1\u6563\u8054\u60f3\u76f8\u5173\u7684\u77e5\u8bc6\u70b9\uff0c\u6700\u540e\u5199\u4e0a\u81ea\u5df1\u7684\u603b\u7ed3\u3002\u90a3\u4e48\u5728\u8fd9\u8fc7\u7a0b\u4e2d\u9700\u8981\u4f7f\u7528\u5230\u4ec0\u4e48\u5de5\u5177\u5462\uff1f","title":"\u5982\u4f55\u7edf\u4e00\u7ba1\u7406\u4fe1\u606f\u6765\u6e90"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_6","text":"","title":"\u4fe1\u606f\u7684\u5904\u7406"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_7","text":"\u9762\u5bf9\u82f1\u6587\u7684\u8d44\u6599\uff0c\u6211\u4ee5\u524d\u662f\u7528 \u6709\u9053\u8bcd\u5178 \u6765\u5212\u8bcd\u7ffb\u8bd1\uff0c\u9047\u5230\u53e5\u5b50\u7684\u8bdd\u5c31\u4f7f\u7528\u8c37\u6b4c\u7ffb\u8bd1\uff0c\u9047\u5230\u5927\u6bb5\u843d\u65f6\u5c31\u4f7f\u7528 deepl \uff0c\u4e45\u800c\u4e45\u4e4b\uff0c\u53d1\u73b0\u8fd9\u6837\u770b\u82f1\u8bed\u6587\u732e\u592a\u6162\u4e86\uff0c\u5f97\u7528\u4e09\u4e2a\u5de5\u5177\u624d\u80fd\u6ee1\u8db3\u7ffb\u8bd1\u8fd9\u4e00\u4e2a\u9700\u6c42\uff0c\u5982\u679c\u6709\u4e00\u4e2a\u5de5\u5177\u80fd\u591f\u540c\u65f6\u5b9e\u73b0\u5bf9\u5355\u8bcd\u3001\u53e5\u5b50\u548c\u6bb5\u843d\u7684\u5212\u8bcd\u7ffb\u8bd1\u5c31\u597d\u4e86\u3002\u6211\u8054\u60f3\u5230\u7814\u7a76\u751f\u4eec\u5e94\u8be5\u4f1a\u7ecf\u5e38\u63a5\u89e6\u82f1\u8bed\u6587\u732e\uff0c\u4e8e\u662f\u6211\u5c31\u641c \u7814\u7a76\u751f + \u7ffb\u8bd1\u8f6f\u4ef6 \uff0c\u5728\u68c0\u7d22\u7ed3\u679c\u91cc\u6211\u6700\u7ec8\u9009\u62e9\u4e86 Quicker + \u6c99\u62c9\u67e5\u8bcd \u8fd9\u4e2a\u642d\u914d\u6765\u8fdb\u884c\u5212\u8bcd\u7ffb\u8bd1\u3002 \u4f7f\u7528\u8fd9\u5957\u7ec4\u5408\u53ef\u4ee5\u5b9e\u73b0\u5728\u6d4f\u89c8\u5668\u5916\u7684\u5176\u4ed6\u8f6f\u4ef6\u5185\u8fdb\u884c\u5212\u8bcd\u7ffb\u8bd1\uff0c\u5e76\u4e14\u652f\u6301\u5355\u8bcd\u3001\u53e5\u5b50\u548c\u6bb5\u843d\u7684\u7ffb\u8bd1\uff0c\u4ee5\u53ca\u6bcf\u6b21\u7684\u7ffb\u8bd1\u4f1a\u6709\u591a\u4e2a\u7ffb\u8bd1\u5e73\u53f0\u7684\u7ed3\u679c\u3002btw\uff0c\u5982\u679c\u67e5\u5355\u8bcd\u65f6\u4e0d\u7740\u6025\u7684\u8bdd\uff0c\u53ef\u4ee5\u987a\u4fbf\u770b\u770b \u79d1\u6797\u65af\u9ad8\u9636 \u7684\u7ffb\u8bd1\uff0c\u8fd9\u4e2a\u8bcd\u5178\u7684\u4f18\u70b9\u5c31\u662f\u4f1a\u7528\u82f1\u6587\u53bb\u89e3\u91ca\u82f1\u6587\uff0c\u53ef\u4ee5\u63d0\u4f9b\u591a\u4e2a\u4e0a\u4e0b\u6587\u5e2e\u52a9\u4f60\u7406\u89e3\uff0c\u5bf9\u4e8e\u5b66\u4e60\u82f1\u6587\u5355\u8bcd\u4e5f\u6709\u5e2e\u52a9\uff0c\u56e0\u4e3a\u7528\u82f1\u6587\u89e3\u91ca\u82f1\u6587\u624d\u66f4\u63a5\u8fd1\u82f1\u8bed\u7684\u601d\u7ef4\u3002","title":"\u82f1\u6587\u4fe1\u606f"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_8","text":"\u5904\u7406\u5b8c\u6587\u672c\u7c7b\u7684\u4fe1\u606f\u540e\uff0c\u6211\u4eec\u8fd8\u5f97\u601d\u8003\u4e00\u4e0b\u600e\u4e48\u5904\u7406\u591a\u5a92\u4f53\u7c7b\u7684\u4fe1\u606f\u3002\u6b64\u5904\u7684\u591a\u5a92\u4f53\u6211\u7279\u6307\u82f1\u6587\u89c6\u9891\uff0c\u56e0\u4e3a\u6211\u6ca1\u6709\u7528\u64ad\u5ba2\u6216\u5f55\u97f3\u5b66\u4e60\u7684\u4e60\u60ef\uff0c\u800c\u4e14\u6211\u5df2\u7ecf\u57fa\u672c\u4e0d\u770b\u4e2d\u6587\u6559\u7a0b\u4e86\u3002\u73b0\u5728\u5f88\u591a\u56fd\u5916\u540d\u6821\u516c\u5f00\u8bfe\u90fd\u662f\u4ee5\u89c6\u9891\u7684\u5f62\u5f0f\uff0c\u5982\u679c\u80fd\u5bf9\u89c6\u9891\u8fdb\u884c\u505a\u7b14\u8bb0\u4f1a\u4e0d\u4f1a\u6709\u5e2e\u52a9\u5462\uff1f\u4e0d\u77e5\u9053\u5927\u5bb6\u6709\u6ca1\u8fd9\u6837\u7684\u60f3\u6cd5\uff0c\u5c31\u662f\u5982\u679c\u80fd\u628a\u8001\u5e08\u4e0a\u8bfe\u8bb2\u7684\u5185\u5bb9\u8f6c\u6362\u6210\u6587\u672c\u5c31\u597d\u4e86\uff0c\u56e0\u4e3a\u5e73\u65f6\u5b66\u4e60\u65f6\u6211\u4eec\u770b\u4e66\u7684\u901f\u5ea6\u5f80\u5f80\u4f1a\u6bd4\u8001\u5e08\u8bb2\u8bfe\u7684\u901f\u5ea6\u5feb\u3002\u521a\u597d Language Reactor \u8fd9\u4e2a\u8f6f\u4ef6\u53ef\u4ee5\u5c06\u6cb9\u7ba1\u548c\u7f51\u98de\u5185\u89c6\u9891\u7684\u5b57\u5e55\u5bfc\u51fa\u6765\uff0c\u540c\u65f6\u9644\u4e0a\u4e2d\u6587\u7ffb\u8bd1\u3002 \u6211\u4eec\u53ef\u4ee5\u628a Language Reactor \u5bfc\u51fa\u7684\u5b57\u5e55\u590d\u5236\u5230 Obsidian \u91cc\u9762\u4f5c\u4e3a\u6587\u7ae0\u6765\u8bfb\u3002\u9664\u4e86\u51fa\u4e8e\u5b66\u4e60\u7684\u9700\u6c42\uff0c\u4e5f\u53ef\u4ee5\u5728\u5e73\u65f6\u770b\u6cb9\u7ba1\u7684\u89c6\u9891\u65f6\u6253\u5f00\u8fd9\u4e2a\u63d2\u4ef6\uff0c\u8fd9\u4e2a\u63d2\u4ef6\u53ef\u4ee5\u540c\u65f6\u663e\u793a\u4e2d\u82f1\u6587\u5b57\u5e55\uff0c\u5e76\u4e14\u53ef\u4ee5\u5355\u51fb\u9009\u4e2d\u82f1\u6587\u5b57\u5e55\u4e2d\u4f60\u8ba4\u4e3a\u751f\u50fb\u7684\u5355\u8bcd\u540e\u663e\u793a\u5355\u8bcd\u91ca\u4e49\u3002 \u4f46\u9605\u8bfb\u6587\u672c\u5bf9\u4e8e\u4e00\u4e9b\u62bd\u8c61\u7684\u77e5\u8bc6\u70b9\u6765\u8bf4\u5e76\u4e0d\u662f\u6548\u7387\u6700\u9ad8\u7684\u5b66\u4e60\u65b9\u5f0f\u3002\u4fd7\u8bdd\u8bf4\uff0c\u4e00\u56fe\u80dc\u5343\u8a00\uff0c\u80fd\u4e0d\u80fd\u5c06\u67d0\u4e00\u6bb5\u77e5\u8bc6\u70b9\u7684\u6587\u672c\u548c\u5bf9\u5e94\u7684\u56fe\u7247\u751a\u81f3\u89c6\u9891\u753b\u9762\u64cd\u4f5c\u8054\u7cfb\u8d77\u6765\u5462\uff1f\u6211\u5728\u6d4f\u89c8 Obsidian \u7684\u63d2\u4ef6\u5e02\u573a\u65f6\uff0c\u53d1\u73b0\u4e86\u4e00\u4e2a\u53eb Media Extended \u7684\u63d2\u4ef6\uff0c\u8fd9\u4e2a\u63d2\u4ef6\u53ef\u4ee5\u5728\u4f60\u7684\u7b14\u8bb0\u91cc\u6dfb\u52a0\u8df3\u8f6c\u5230\u89c6\u9891\u6307\u5b9a\u65f6\u95f4\u8fdb\u5ea6\u7684\u94fe\u63a5\uff0c\u76f8\u5f53\u4e8e\u628a\u4f60\u7684\u7b14\u8bb0\u548c\u89c6\u9891\u8fde\u63a5\u8d77\u6765\u4e86\uff01\u8fd9\u521a\u597d\u53ef\u4ee5\u548c\u6211\u4e0a\u6587\u63d0\u5230\u7684\u751f\u6210\u89c6\u9891\u4e2d\u82f1\u6587\u5b57\u5e55\u642d\u914d\u8d77\u6765\uff0c\u5373\u6bcf\u4e00\u53e5\u5b57\u5e55\u5bf9\u5e94\u4e00\u4e2a\u65f6\u95f4\uff0c\u5e76\u4e14\u80fd\u6839\u636e\u65f6\u95f4\u70b9\u8df3\u8f6c\u5230\u89c6\u9891\u7684\u6307\u5b9a\u8fdb\u5ea6\uff0c\u5982\u6b64\u4e00\u6765\u5982\u679c\u9700\u8981\u5728\u6587\u7ae0\u4e2d\u5c55\u793a\u8bb0\u5f55\u4e86\u64cd\u4f5c\u8fc7\u7a0b\u7684\u89c6\u9891\u7684\u8bdd\uff0c\u5c31\u4e0d\u9700\u8981\u81ea\u5df1\u53bb\u622a\u53d6\u5bf9\u5e94\u7684\u89c6\u9891\u7247\u6bb5\uff0c\u800c\u662f\u76f4\u63a5\u5728\u6587\u7ae0\u5185\u5c31\u80fd\u8df3\u8f6c\uff01 Obsidian \u91cc\u8fd8\u6709\u4e00\u4e2a\u5f88\u5f3a\u5927\u7684\u63d2\u4ef6\uff0c\u53eb Annotator \uff0c\u5b83\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u5185\u8df3\u8f6c\u5230 pdf \u539f\u6587 \u73b0\u5728\uff0c\u4f7f\u7528 Obsidian \u81ea\u5e26\u7684\u53cc\u94fe\u529f\u80fd\uff0c\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u95f4\u76f8\u4e92\u8df3\u8f6c\uff0c\u7ed3\u5408\u4e0a\u8ff0\u4e24\u4e2a\u63d2\u4ef6\uff0c\u53ef\u4ee5\u5b9e\u73b0\u7b14\u8bb0\u5230\u591a\u5a92\u4f53\u7684\u8df3\u8f6c\uff0c\u4fe1\u606f\u7684\u5904\u7406\u8fc7\u7a0b\u5df2\u7ecf\u5b8c\u5907\u3002\u4e00\u822c\u6211\u4eec\u5b66\u4e60\u7684\u8fc7\u7a0b\u76f8\u5f53\u4e8e\u4e0a\u5c71\u548c\u4e0b\u5c71\uff0c\u521a\u5b66\u7684\u65f6\u5019\u5c31\u597d\u50cf\u4e0a\u5c71\uff0c\u5f88\u964c\u751f\u3001\u5403\u529b\uff0c\u6240\u8c13\u5b66\u800c\u65f6\u4e60\u4e4b\uff0c\u590d\u4e60\u6216\u7ec3\u4e60\u7684\u8fc7\u7a0b\u5c31\u50cf\u4e0b\u5c71\uff0c\u6ca1\u6709\u964c\u751f\u611f\uff0c\u4e0d\u89c1\u5f97\u8f7b\u677e\uff0c\u4f46\u975e\u8d70\u4e0d\u53ef\u3002\u90a3\u4e48\u5982\u4f55\u628a\u590d\u4e60\u8fd9\u4e00\u8fc7\u7a0b\u7eb3\u5165\u5de5\u4f5c\u6d41\u7684\u73af\u8282\u91cc\u5462\uff1f","title":"\u591a\u5a92\u4f53\u4fe1\u606f"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_9","text":"Obsidian \u5185\u5df2\u7ecf\u6709\u4e00\u4e2a\u8fde\u63a5 Anki \u7684\u63d2\u4ef6\uff0c Anki \u5c31\u662f\u5927\u540d\u9f0e\u9f0e\u7684\u3001\u57fa\u4e8e\u95f4\u9694\u91cd\u590d\u7684\u8bb0\u5fc6\u8f6f\u4ef6\u3002\u4f7f\u7528\u8be5\u63d2\u4ef6\u53ef\u4ee5\u622a\u53d6\u7b14\u8bb0\u7684\u7247\u6bb5\u5bfc\u51fa\u5230 Anki \u5e76\u53d8\u6210\u4e00\u5f20\u5361\u7247\uff0c\u5361\u7247\u5185\u4e5f\u6709\u8df3\u8f6c\u56de\u7b14\u8bb0\u539f\u6587\u7684\u94fe\u63a5","title":"\u4fe1\u606f\u7684\u56de\u987e"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/#_10","text":"\u8fd9\u4e2a\u5de5\u4f5c\u6d41\u662f\u5728\u6211\u8fd9\u4e24\u5e74\u4e1a\u4f59\u65f6\u95f4\u5b66\u4e60\u65f6\u6240\u6162\u6162\u5f62\u6210\u7684\uff0c\u5728\u5b66\u4e60\u8fc7\u7a0b\u4e2d\u56e0\u4e3a\u5bf9\u4e00\u4e9b\u91cd\u590d\u6027\u7684\u8fc7\u7a0b\u800c\u611f\u5230\u538c\u5026\uff0c\u6b63\u662f\u8fd9\u79cd\u538c\u5026\u4ea7\u751f\u4e86\u67d0\u79cd\u7279\u5b9a\u7684\u9700\u6c42\uff0c\u6070\u597d\u5728\u5e73\u65f6\u7f51\u4e0a\u51b2\u6d6a\u65f6\u4e86\u89e3\u5230\u7684\u4e00\u4e9b\u5de5\u5177\u6ee1\u8db3\u4e86\u6211\u8fd9\u4e9b\u9700\u6c42\u3002\u4e0d\u8981\u4e3a\u4e86\u865a\u65e0\u7684\u6ee1\u8db3\u611f\u800c\u5c06\u5de5\u5177\u5f3a\u884c\u62fc\u51d1\u5230\u81ea\u5df1\u7684\u5de5\u4f5c\u6d41\u4e2d\uff0c\u4eba\u751f\u82e6\u77ed\uff0c\u505a\u5b9e\u4e8b\u6700\u7d27\u8981\u3002 btw\uff0c\u6b64\u7bc7\u6587\u7ae0\u662f\u8bb2\u89e3\u5de5\u4f5c\u6d41\u7684\u6f14\u5316\u601d\u8def\uff0c\u5982\u679c\u5bf9\u6b64\u5de5\u4f5c\u6d41\u7684\u5b9e\u73b0\u7ec6\u8282\u611f\u5174\u8da3\uff0c\u5efa\u8bae\u9605\u8bfb\u5b8c\u672c\u6587\u540e\u518d\u6309\u987a\u5e8f\u9605\u8bfb\u4ee5\u4e0b\u6587\u7ae0 3000 + \u5c0f\u65f6\u79ef\u7d2f\u7684\u5b66\u4e60\u5de5\u4f5c\u6d41 Obsidian \u7684\u9ad8\u7ea7\u73a9\u6cd5 | \u6253\u9020\u80fd\u8df3\u8f6c\u5230\u4efb\u4f55\u683c\u5f0f\u6587\u4ef6\u7684\u7b14\u8bb0","title":"\u603b\u7ed3"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/","text":"\u4fe1\u606f\u68c0\u7d22 \u524d\u8a00 \u78b0\u5230\u95ee\u9898\uff0c\u8bb0\u4f4f\u7b2c\u4e00\u4ef6\u4e8b\u662f \u7ffb\u9605\u6587\u6863 \uff0c\u4e0d\u8981\u4e00\u5f00\u59cb\u5c31\u76f4\u63a5\u641c\u7d22\u6216\u8005\u627e\u4eba\u95ee\uff0c\u7ffb\u9605FAQ\u53ef\u80fd\u4f1a\u5feb\u901f\u627e\u5230\u7b54\u6848\u3002 \u4fe1\u606f\u68c0\u7d22\uff0c\u6211\u7684\u7406\u89e3\u6765\u8bf4\uff0c\u5b9e\u9645\u4e0a\u5c31\u662f\u7075\u6d3b\u8fd0\u7528\u641c\u7d22\u5f15\u64ce\u4e2d\uff0c\u65b9\u4fbf\u5feb\u6377\u7684\u641c\u5230\u9700\u8981\u7684\u4fe1\u606f\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u7f16\u7a0b\u3002 \u7f16\u7a0b\u6700\u91cd\u8981\u7684\uff0c\u5c31\u662f STFW(search the fucking web) \u548c RTFM(read the fucking Manual) \uff0c\u9996\u5148\u8981\u8bfb\u6587\u6863\uff0c\u7b2c\u4e8c\u8981\u5b66\u4f1a\u641c\u7d22\uff0c\u7f51\u4e0a\u90a3\u4e48\u591a\u8d44\u6e90\uff0c\u600e\u4e48\u7528\uff0c\u5c31\u9700\u8981\u4fe1\u606f\u68c0\u7d22\u3002 \u8981\u641c\u7d22\uff0c\u6211\u4eec\u9996\u5148\u8981\u641e\u6e05\u695a\u641c\u7d22\u5f15\u64ce\u662f\u5982\u4f55\u5de5\u4f5c\u7684\uff1a \u641c\u7d22\u5f15\u64ce\u5de5\u4f5c\u539f\u7406 \u641c\u7d22\u5f15\u64ce\u7684\u5de5\u4f5c\u8fc7\u7a0b\u5927\u4f53\u53ef\u4ee5\u5206\u6210\u4e09\u9636\u6bb5\uff1a[^1] \u722c\u884c\u548c\u6293\u53d6\uff1a\u641c\u7d22\u5f15\u64ce\u8718\u86db\u901a\u8fc7\u8ddf\u8e2a\u94fe\u63a5\u8bbf\u95ee\u7f51\u9875\uff0c\u83b7\u53d6\u7f51\u9875 HTML \u4ee3\u7801\u5b58\u5165\u6570\u636e\u5e93\u3002 \u9884\u5904\u7406\uff1a\u7d22\u5f15\u7a0b\u5e8f\u5bf9\u6293\u53d6\u6765\u7684\u7f51\u9875\u6570\u636e\u8fdb\u884c\u6587\u5b57\u63d0\u53d6\uff0c\u4e2d\u6587\u5206\u8bcd\uff0c\u7d22\u5f15\u7b49\u5904\u7406\uff0c\u4ee5\u5907\u6392\u540d\u7a0b\u5e8f\u8c03\u7528\u3002 \u6392\u540d\uff1a\u7528\u6237\u8f93\u5165\u5173\u952e\u8bcd\u540e\uff0c\u6392\u540d\u7a0b\u5e8f\u8c03\u7528\u7d22\u5f15\u5e93\u6570\u636e\uff0c\u8ba1\u7b97\u76f8\u5173\u6027\uff0c\u7136\u540e\u6309\u4e00\u5b9a\u683c\u5f0f\u751f\u6210\u641c\u7d22\u7ed3\u679c\u9875\u9762\u3002 \u7b2c\u4e00\u6b65\uff0c\u5c31\u662f\u5927\u5bb6\u7ecf\u5e38\u542c\u8bf4\u7684\u7f51\u7edc\u722c\u866b\uff0c\u4e00\u822c Python \u5356\u8bfe\u7684\u90fd\u4f1a\u5439\u8fd9\u4e2a\u4e1c\u897f\u3002\u7b80\u5355\u53ef\u4ee5\u7406\u89e3\u4e3a\uff0c\u6211\u7528\u4e00\u4e2a\u81ea\u52a8\u7684\u7a0b\u5e8f\uff0c\u4e0b\u8f7d\u7f51\u7ad9\u4e2d\u7684\u6240\u6709\u6587\u672c\u3001\u56fe\u7247\u7b49\u76f8\u5173\u4fe1\u606f\uff0c\u7136\u540e\u5b58\u5165\u672c\u5730\u7684\u78c1\u76d8\u3002 \u7b2c\u4e8c\u6b65\u662f\u641c\u7d22\u5f15\u64ce\u7684\u6838\u5fc3\uff0c\u4f46\u662f\u5bf9\u4e8e\u6211\u4eec\u4f7f\u7528\u6765\u8bf4\uff0c\u5e76\u4e0d\u662f\u7279\u522b\u5173\u952e\uff0c\u5927\u81f4\u53ef\u4ee5\u7406\u89e3\u4e3a\u6d17\u5e72\u51c0\u6570\u636e\uff0c\u7136\u540e\u5165\u5e93\u9875\u9762\uff0c\u6bcf\u4e2a\u9875\u9762\u52a0\u5165\u5173\u952e\u5b57\u7b49\u4fe1\u606f\u65b9\u4fbf\u6211\u4eec\u67e5\u8be2\u3002 \u7b2c\u4e09\u6b65\u8ddf\u6211\u4eec\u606f\u606f\u76f8\u5173\uff0c\u4e0d\u7ba1\u662f\u4ec0\u4e48\u641c\u7d22\u7f51\u7ad9\uff0c google \u3001\u767e\u5ea6\u3001 Bing \uff0c\u90fd\u4e00\u6837\uff0c\u8f93\u5165\u5173\u952e\u5b57\u6216\u8005\u9700\u8981\u67e5\u8be2\u7684\u5185\u5bb9\uff0c\u641c\u7d22\u5f15\u64ce\u4f1a\u7ed9\u4f60\u8fd4\u56de\u7ed3\u679c\u3002\u672c\u6587\u5c31\u662f\u6559\u4f60\u5982\u4f55\u83b7\u53d6\u66f4\u597d\u7684\u7ed3\u679c\u3002 \u57fa\u7840\u641c\u7d22\u6280\u5de7 \u6839\u636e\u4e0a\u8ff0\u7684\u5de5\u4f5c\u539f\u7406\uff0c\u6211\u4eec\u5927\u81f4\u5c31\u80fd\u660e\u767d\uff0c\u5176\u5b9e\u53ef\u4ee5\u628a\u641c\u7d22\u5f15\u64ce\u5f53\u4f5c\u4e00\u4e2a\u6bd4\u8f83\u806a\u660e\u7684\u6570\u636e\u5e93\uff0c\u66f4\u597d\u7684\u4f7f\u7528\u67e5\u8be2\u6761\u4ef6\u5c31\u80fd\u66f4\u5feb\u901f\u7684\u627e\u5230\u4f60\u60f3\u8981\u7684\u4fe1\u606f\uff0c\u4e0b\u9762\u4ecb\u7ecd\u4e00\u4e9b\u641c\u7d22\u7684\u6280\u5de7\uff1a \u4f7f\u7528\u82f1\u6587 \u9996\u5148\u6211\u4eec\u8981\u77e5\u9053\u4e00\u4ef6\u4e8b\uff0c\u7f16\u7a0b\u4e2d\uff0c\u6700\u597d\u4f7f\u7528\u82f1\u6587\u641c\u7d22\u3002\u539f\u56e0\u4e3b\u8981\u6709\u51e0\u70b9\uff1a \u7f16\u7a0b\u548c\u5404\u79cd\u8f6f\u4ef6\u64cd\u4f5c\u4e2d\uff0c\u82f1\u6587\u8d44\u6599\u8d28\u91cf\u6bd4\u4e2d\u6587\u8d44\u6599\u548c\u5176\u4ed6\u8bed\u8a00\u8d44\u6599\u9ad8\uff0c\u82f1\u6587\u901a\u7528\u6027\u8fd8\u662f\u66f4\u597d\u4e9b \u56e0\u4e3a\u7ffb\u8bd1\u95ee\u9898\uff0c\u82f1\u6587\u7684\u540d\u8bcd\u6bd4\u4e2d\u6587\u51c6\u786e\u901a\u7528 \u4e2d\u6587\u641c\u7d22\u4e2d\uff0c\u5206\u8bcd\u7cfb\u7edf\u4e0d\u51c6\u4f1a\u5bfc\u81f4\u6b67\u4e49\uff0c\u6bd4\u5982 Google \u641c\u4e2d\u6587\u53ef\u80fd\u4f1a\u641c\u4e0d\u51fa\u51e0\u6761\u6709\u7528\u7ed3\u679c \u5982\u679c\u4f60\u82f1\u6587\u4e0d\u597d\uff0c\u7528\u767e\u5ea6\u7ffb\u8bd1\u6216\u8005\u641c\u72d7\u7ffb\u8bd1\uff0c\u8db3\u591f\u4e86\u3002 \u5f53\u7136\u4e0b\u9762\u7684\u6587\u6863\u4e3a\u4e86\u4e3e\u4f8b\u65b9\u4fbf\uff0c\u90fd\u8fd8\u662f\u7528\u4e2d\u6587\u4f8b\u5b50\u3002 \u63d0\u70bc\u5173\u952e\u8bcd \u641c\u7d22\u65f6\u4e0d\u8981\u641c\u7d22\u6574\u53e5\u8bdd\uff0c\u867d\u7136\u641c\u7d22\u5f15\u64ce\u4f1a\u81ea\u52a8\u5e2e\u52a9\u6211\u4eec\u5206\u8bcd\u68c0\u7d22\uff0c\u4f46\u662f\u6574\u53e5\u548c\u5173\u952e\u5b57\u641c\u7d22\u51fa\u6765\u7684\u7ed3\u679c\u518d\u51c6\u786e\u5ea6\u548c\u987a\u5e8f\u4e0a\u4f1a\u6709\u5f88\u5927\u5dee\u522b\u3002\u641c\u7d22\u5f15\u64ce\u662f\u673a\u5668\uff0c\u5e76\u4e0d\u662f\u4f60\u7684\u8001\u5e08\u6216\u8005\u540c\u4e8b\uff0c\u770b\u4e0a\u9762\u7684\u6d41\u7a0b\uff0c\u641c\u7d22\u5b9e\u9645\u4e0a\u662f\u53bb\u68c0\u7d22\u641c\u7d22\u5f15\u64ce\u722c\u51fa\u6765\u7684\u6570\u636e\u5e93\uff0c\u4f60\u53ef\u4ee5\u7406\u89e3\u4e3a\u5173\u952e\u5b57\u6bd4\u6a21\u7cca\u68c0\u7d22\u8981\u5feb\u800c\u4e14\u51c6\u786e\u3002 \u6211\u4eec\u9700\u8981\u63d0\u70bc\u95ee\u9898\uff0c\u786e\u5b9a\u6211\u4eec\u5230\u5e95\u9700\u8981\u89e3\u51b3\u4ec0\u4e48\u95ee\u9898\u3002 \u4f8b\u5982\uff0c\u6211\u60f3\u77e5\u9053 vcpkg \u5982\u4f55\u96c6\u6210\u5230\u5de5\u7a0b\u4e0a\u800c\u4e0d\u662f\u5168\u5c40\u4e2d\uff0c\u90a3\u4e48\u641c\u7d22 vcpkg\u5982\u4f55\u96c6\u6210\u5230\u5de5\u7a0b\u4e0a\u800c\u4e0d\u662f\u5168\u5c40\u4e2d \u8fd9\u79cd\u957f\u53e5\u53ef\u80fd\u65e0\u6cd5\u627e\u5230\u76f8\u5173\u7684\u7ed3\u679c\uff0c\u6700\u597d\u662f\u62c6\u5206\u6210\u5355\u8bcd\uff0c vcpkg \u96c6\u6210\u5230 \u5de5\u7a0b \u5168\u5c40 \u8fd9\u6837\u7684\u641c\u7d22\u3002\u5176\u5b9e\u8fd9\u91cc\u53ea\u662f\u4e3e\u4e2a\u4f8b\u5b50\uff0c\u9488\u5bf9\u672c\u6761\u5176\u5b9e\u90fd\u80fd\u641c\u7d22\u51fa\u76f8\u5173\u4fe1\u606f\uff0c\u4f46\u662f\u8d8a\u5177\u4f53\u7684\u95ee\u9898\uff0c\u673a\u5668\u5206\u8bcd\u8d8a\u53ef\u80fd\u51fa\u95ee\u9898\uff0c\u6240\u4ee5\u6700\u597d\u662f\u62c6\u5206\u5173\u952e\u5b57\uff0c\u4f7f\u7528\u8bcd\u7ec4\u6216\u8005\u65ad\u53e5\u6765\u8fdb\u884c\u641c\u7d22\u3002 \u66ff\u6362\u5173\u952e\u5b57 \u8fd8\u662f\u4e0a\u9762\u90a3\u4e2a\u4f8b\u5b50\uff0c\u5982\u679c\u641c\u4e0d\u51fa\u6765\uff0c\u53ef\u4ee5\u8bd5\u8bd5\u628a\u5de5\u7a0b\u6362\u6210\u9879\u76ee\uff0c\u6216\u8005\u79fb\u51fa\u96c6\u6210\uff0c\u5982\u679c\u4e0d\u884c\uff0c\u8bd5\u4e00\u4e0b\u9ad8\u7ea7\u641c\u7d22\u3002 \u9ad8\u7ea7\u641c\u7d22 \u666e\u901a\u641c\u7d22\u5f15\u64ce\u4e00\u822c\u90fd\u652f\u6301\u9ad8\u7ea7\u641c\u7d22\uff0c\u5305\u62ec google \uff0c bing \uff0c\u767e\u5ea6\uff0c ecosia \uff0c\u7b49\u7b49\uff0c\u5927\u90e8\u5206\u90fd\u652f\u6301\uff0c\u4e0d\u8fc7\u53ef\u80fd\u8bed\u6cd5\u4e0d\u540c\uff0c\u4e00\u822c\u901a\u7528\u7684\u8868\u793a\uff1a \u7cbe\u51c6\u5339\u914d\uff1a \u7cbe\u51c6\u5339\u914d\u80fd\u4fdd\u8bc1\u641c\u7d22\u5173\u952e\u8bcd\u5b8c\u5168\u88ab\u5339\u914d\u4e0a\uff0c\u4e00\u822c\u662f\u7528\u53cc\u5f15\u53f7\u62ec\u8d77\u6765 \u6bd4\u5982\u641c\u7d22\u7ebf\u6027\u4ee3\u6570\uff0c\u53ef\u4ee5\u5728\u8f93\u5165\u6846\u5185\u8f93\u5165 \"\u7ebf\u6027\u4ee3\u6570\"\uff0c\u641c\u7d22\u5f15\u64ce\u5c06\u53ea\u5339\u914d\u5b8c\u6574\u5305\u542b \u201c\u7ebf\u6027\u4ee3\u6570\u201d \u7684\u9875\u9762\uff0c\u800c\u4e0d\u4f1a\u641c\u7d22\u62c6\u5206\u6210\u7ebf\u6027\u548c\u4ee3\u6570\u4e24\u4e2a\u8bcd\u7684\u9875\u9762 \u4e0d\u5305\u542b\u5173\u952e\u5b57\uff1a \u7528 - \u51cf\u53f7\u8fde\u63a5\u5173\u952e\u5b57\uff0c\u7528\u4e8e\u6392\u9664\u67d0\u4e9b\u5e72\u6270\u8bcd \u5305\u542b\u5173\u952e\u5b57\uff1a \u7528 + \u52a0\u53f7\u8fde\u63a5\u5173\u952e\u5b57 \u641c\u7d22\u7279\u5b9a\u6587\u4ef6\u7c7b\u578b\uff1a filetype:pdf \u76f4\u63a5\u641c\u7d22 pdf \u6587\u4ef6 \u641c\u7d22\u7279\u5b9a\u7f51\u5740\uff1a site:stackoverflow.com \u53ea\u641c\u7d22\u7279\u5b9a\u7f51\u7ad9\u5185\u7684\u9875\u9762 \u4e00\u822c\u53ef\u4ee5\u53c2\u7167\u7f51\u7ad9\u8bf4\u660e\uff0c\u6bd4\u5982\u767e\u5ea6\u53ef\u4ee5\u53c2\u7167 \u9ad8\u7ea7\u641c\u7d22 \uff0cBing \u53ef\u4ee5\u53c2\u7167 \u9ad8\u7ea7\u641c\u7d22\u5173\u952e\u5b57 \u548c \u9ad8\u7ea7\u641c\u7d22\u9009\u9879 \u3002 GitHub \u7684\u9ad8\u7ea7\u641c\u7d22 \u53ef\u4ee5\u76f4\u63a5\u7528 \u9ad8\u7ea7\u641c\u7d22\u9875\u9762 \u8fdb\u884c\u641c\u7d22\uff0c\u4e5f\u53ef\u4ee5\u53c2\u7167 Github\u67e5\u8be2\u8bed\u6cd5 \u8fdb\u884c\u67e5\u627e\uff0c\u7b80\u5355\u8bf4\u51e0\u4e2a: in:name <\u5173\u952e\u5b57> \u4ed3\u5e93\u540d\u79f0\u5e26\u5173\u952e\u5b57\u67e5\u8be2 in:description <\u5173\u952e\u5b57> \u4ed3\u5e93\u63cf\u8ff0\u5e26\u5173\u952e\u5b57\u67e5\u8be2 in:readme <\u5173\u952e\u5b57> README \u6587\u4ef6\u5e26\u5173\u952e\u5b57\u67e5\u8be2 stars(fork): >(=) <\u6570\u5b57> <\u5173\u952e\u5b57> star \u6216 fork \u6570\u5927\u4e8e(\u6216\u7b49\u4e8e)\u6307\u5b9a\u6570\u5b57\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 stars(fork): 10..20 <\u5173\u952e\u8bcd> star \u6216 fork \u6570\u5728 10 \u5230 20 \u4e4b\u95f4\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 size:>=5000 <\u5173\u952e\u8bcd> \u9650\u5b9a\u4ed3\u5e93\u5927\u4e8e\u7b49\u4e8e 5000K \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 pushed(created):>2019-11-15 <\u5173\u952e\u5b57> \u66f4\u65b0 \u6216 \u521b\u5efa \u65e5\u671f\u5728 2019 \u5e74 11 \u6708 16 \u65e5\u4e4b\u540e\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 license:apache-2.0 <\u5173\u952e\u5b57> LICENSE \u4e3a apache-2.0 \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 language:java <\u5173\u952e\u8bcd> \u4ed3\u5e93\u8bed\u8a00\u4e3a Java \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 user:<\u7528\u6237\u540d> \u67e5\u8be2\u67d0\u4e2a\u7528\u6237\u7684\u9879\u76ee org:<\u7ec4\u7ec7\u540d> \u67e5\u8be2\u67d0\u4e2a\u7ec4\u7ec7\u7684\u9879\u76ee \u8fd9\u4e9b\u53ef\u4ee5\u6df7\u5408\u4f7f\u7528\uff0c\u4e5f\u53ef\u4ee5\u5148\u67e5\u627e\u67d0\u4e00\u7c7b\u7684 awesome \u4ed3\u5e93\uff0c\u7136\u540e\u4ece awesome \u5e93\u91cc\u627e\u76f8\u5173\u7684\u8d44\u6e90\uff0cgithub \u91cc\u6709\u5f88\u591a\u5f52\u7eb3\u4ed3\u5e93\uff0c\u53ef\u4ee5\u5148\u770b\u770b\u5df2\u6709\u7684\u6536\u96c6\uff0c\u6709\u65f6\u5019\u4f1a\u8282\u7701\u5f88\u591a\u65f6\u95f4 \u66f4\u591a\u6280\u5de7 \u4f7f\u7528\u4e2d\uff0c\u5b9e\u9645\u4e0a\u6211\u4f1a\u53bb\u7279\u5b9a\u7f51\u7ad9\u627e\u4e00\u4e9b\u95ee\u9898\uff1a \u5982\u679c\u662f\u8bed\u8a00\u672c\u8eab\u76f8\u5173\uff0c\u6bd4\u5982 c++/Qt/OpenGL \u5982\u4f55\u5b9e\u73b0\u4ec0\u4e48\u529f\u80fd\uff0c\u53ef\u4ee5\u76f4\u63a5\u52a0\u4e0a site:stackoverflow.com \u5982\u679c\u662f\u5177\u4f53\u7684\u4e1a\u52a1/\u5f00\u53d1\u73af\u5883\u6216\u8005\u8f6f\u4ef6\u76f8\u5173\uff0c\u53ef\u4ee5\u5148\u5728 BugList \u3001IssueList \uff0c\u6216\u8005\u76f8\u5173\u8bba\u575b\u91cc\u5148\u627e\u4e00\u4e0b\uff0c\u6bd4\u5982 Qt \u7684\u95ee\u9898\u5c31\u53ef\u4ee5\u76f4\u63a5\u53bb Qt \u8bba\u575b\uff0cQGis \u6216\u8005 GDAL \u76f8\u5173\u95ee\u9898\u53ef\u4ee5\u5728 stackExchange \u91cc\u53bb\u641c QQ \u7fa4\u4e5f\u662f\u4e00\u4e2a\u63d0\u95ee\u7684\u5730\u65b9\uff0c\u4f46\u662f\u9700\u8981\u4f60\u63d0\u7684\u95ee\u9898\u6709\u610f\u4e49\uff0c\u5426\u5219\u5927\u90e8\u5206\u4eba\u4e0d\u4f1a\u56de\u4f60\uff0c\u800c\u4e14 QQ \u7fa4\u56de\u590d\u5e76\u4e0d\u53ca\u65f6\u3002 \u77e5\u4e4e\u4e13\u680f\u3001\u7b80\u4e66\u3001\u535a\u5ba2\u56ed\u3001 CSDN \u4e2d\u6709\u5927\u91cf\u4e2d\u6587\u7b14\u8bb0\uff0c\u8fd9\u4e9b\u90fd\u662f\u522b\u4eba\u56bc\u70c2\u4e86\u7684\u4e1c\u897f\uff0c\u57fa\u672c\u662f\u522b\u4eba\u8e29\u5751\u7684\u7ecf\u9a8c \u5173\u4e8e\u767e\u5ea6 \u5927\u90e8\u5206\u7f16\u7a0b\u4eba\u90fd\u4f1a\u544a\u8bc9\u4f60\u522b\u7528\u767e\u5ea6\uff0c\u7528 Google \u6216\u8005 Bing \u56fd\u9645\u7248\uff0c\u4f46\u662f Bing \u4e2d\u6587\u641c\u7d22\u7684\u51c6\u786e\u7387\u5e76\u4e0d\u9ad8\uff0c Google \u9700\u8981\u79d1\u5b66\u4e0a\u7f51\uff0c\u5982\u679c\u771f\u7684\u9700\u8981\uff0c\u53ef\u4ee5\u4f7f\u7528 Ecosia \u3001 Yandex \u4e4b\u7c7b\u7684\u641c\u7d22\u5f15\u64ce\u3002\u800c\u4e14\u4e2d\u6587\u641c\u7d22\u6765\u8bf4\uff0c\u767e\u5ea6\u53ef\u80fd\u8fd8\u771f\u662f\u6700\u597d\u7684\u3002 \u767e\u5ea6\u7684\u95ee\u9898\u4e3b\u8981\u5728\u4e8e\u6392\u5e8f\u7b97\u6cd5\uff0c\u53ef\u80fd\u4e24\u9875\u90fd\u6ca1\u5565\u5bf9\u7684\u5185\u5bb9\uff0c\u4f46\u662f\u6536\u5f55\u6bd4 Bing \u8fd8\u662f\u597d\u4e00\u4e9b\u7684\uff08\u767e\u5ea6\u4ee5\u524d\u5e76\u4e0d\u9075\u5b88 robots.txt \uff0c\u4f1a\u6293\u53d6\u6240\u6709\u9875\u9762\uff0c\u6240\u4ee5\u6709\u4e9b\u4e2a\u4eba\u7f51\u7ad9\u751a\u81f3\u4e13\u95e8\u5bf9\u767e\u5ea6\u505a\u4e86\u5c4f\u853d\uff09\uff0c\u751a\u81f3\u6709\u65f6\u5019\u6bd4 Google \u597d\u3002\u4ece\u6570\u636e\u5e93\u6765\u8bf4\uff0c\u767e\u5ea6\u6bd4 Google \u548c Bing \u6536\u5f55\u7684\u4e2d\u6587\u5185\u5bb9\u8981\u591a\uff0c\u5982\u679c\u4f60\u78b0\u5230\u7684\u65f6\u4e2d\u6587\u76f8\u5173\u7684\u95ee\u9898\u800c\u4e14\u786e\u5b9e\u627e\u4e0d\u5230\u76f8\u5173\u5185\u5bb9\uff0c\u90a3\u4e48\u5c31\u7528\u767e\u5ea6\uff0c\u641c\u7d22\u5f15\u64ce\u662f\u5de5\u5177\uff0c\u80fd\u7528\u597d\u7528\u624d\u662f\u738b\u9053\u3002 \u4ee3\u7801\u641c\u7d22 \u6211\u4eec\u9664\u4e86\u641c\u7d22\u5f15\u64ce\u67e5\u627e\u95ee\u9898\uff0c\u8fd8\u6709\u53ef\u80fd\u4f1a\u641c\u4e00\u4e9b\u4ee3\u7801\uff0c\u53ef\u80fd\u662f\u81ea\u5df1\u5199\u7684\uff0c\u4e5f\u53ef\u80fd\u662f\u9879\u76ee\u4e2d\u7684\uff0c\u4e0b\u9762\u63a8\u8350\u4e00\u4e9b\u5de5\u5177\uff1a \u4ee3\u7801\u68c0\u7d22\u6709\u4e24\u79cd\uff0c\u7b2c\u4e00\u662f\u672c\u5730\u7684\u4ee3\u7801\u68c0\u7d22\uff0c\u7b2c\u4e8c\u662f\u8981\u5199\u4e2a\u5565\u7b97\u6cd5\uff0c\u9700\u8981\u5728\u7f51\u4e0a\u641c\u7d22 \u672c\u5730\u4ee3\u7801\u641c\u7d22 ACK \u6216\u8005 ACK2\uff0c\u8001\u724c\u641c\u7d22\u5de5\u5177\uff0cperl \u5199\u7684 The Silver Searcher c \u5b9e\u73b0\u7684 The Platinum Searcher go \u5b9e\u73b0\u7684 FreeCommander \u81ea\u5e26\u7684\u641c\u7d22\uff0c\u5982\u679c\u662f\u56fa\u6001\u786c\u76d8\u901f\u5ea6\u8fd8\u4e0d\u9519 IDE \u81ea\u5e26\u7684\uff0c\u641c\u7d22\u6709\u4e9b\u65f6\u5019\u5e76\u4e0d\u592a\u597d\u7528 \u5f00\u6e90\u4ee3\u7801\u641c\u7d22 Searchcode \u641c\u7d22\u5f00\u6e90\u4ee3\u7801\uff0c\u901f\u5ea6\u6bd4\u8f83\u5feb \u4e00\u884c\u4ee3\u7801 \u56fd\u4ea7\u7684\uff0c\u6709\u4e9b\u56fd\u4ea7\u5de5\u5177\u5f88\u597d\u7528 [^ 1]: \u641c\u7d22\u5f15\u64ce\u5de5\u4f5c\u539f\u7406\u7b80\u4ecb - \u77e5\u4e4e (zhihu.com)","title":"\u4fe1\u606f\u68c0\u7d22"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_1","text":"","title":"\u4fe1\u606f\u68c0\u7d22"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_2","text":"\u78b0\u5230\u95ee\u9898\uff0c\u8bb0\u4f4f\u7b2c\u4e00\u4ef6\u4e8b\u662f \u7ffb\u9605\u6587\u6863 \uff0c\u4e0d\u8981\u4e00\u5f00\u59cb\u5c31\u76f4\u63a5\u641c\u7d22\u6216\u8005\u627e\u4eba\u95ee\uff0c\u7ffb\u9605FAQ\u53ef\u80fd\u4f1a\u5feb\u901f\u627e\u5230\u7b54\u6848\u3002 \u4fe1\u606f\u68c0\u7d22\uff0c\u6211\u7684\u7406\u89e3\u6765\u8bf4\uff0c\u5b9e\u9645\u4e0a\u5c31\u662f\u7075\u6d3b\u8fd0\u7528\u641c\u7d22\u5f15\u64ce\u4e2d\uff0c\u65b9\u4fbf\u5feb\u6377\u7684\u641c\u5230\u9700\u8981\u7684\u4fe1\u606f\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u7f16\u7a0b\u3002 \u7f16\u7a0b\u6700\u91cd\u8981\u7684\uff0c\u5c31\u662f STFW(search the fucking web) \u548c RTFM(read the fucking Manual) \uff0c\u9996\u5148\u8981\u8bfb\u6587\u6863\uff0c\u7b2c\u4e8c\u8981\u5b66\u4f1a\u641c\u7d22\uff0c\u7f51\u4e0a\u90a3\u4e48\u591a\u8d44\u6e90\uff0c\u600e\u4e48\u7528\uff0c\u5c31\u9700\u8981\u4fe1\u606f\u68c0\u7d22\u3002 \u8981\u641c\u7d22\uff0c\u6211\u4eec\u9996\u5148\u8981\u641e\u6e05\u695a\u641c\u7d22\u5f15\u64ce\u662f\u5982\u4f55\u5de5\u4f5c\u7684\uff1a","title":"\u524d\u8a00"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_3","text":"\u641c\u7d22\u5f15\u64ce\u7684\u5de5\u4f5c\u8fc7\u7a0b\u5927\u4f53\u53ef\u4ee5\u5206\u6210\u4e09\u9636\u6bb5\uff1a[^1] \u722c\u884c\u548c\u6293\u53d6\uff1a\u641c\u7d22\u5f15\u64ce\u8718\u86db\u901a\u8fc7\u8ddf\u8e2a\u94fe\u63a5\u8bbf\u95ee\u7f51\u9875\uff0c\u83b7\u53d6\u7f51\u9875 HTML \u4ee3\u7801\u5b58\u5165\u6570\u636e\u5e93\u3002 \u9884\u5904\u7406\uff1a\u7d22\u5f15\u7a0b\u5e8f\u5bf9\u6293\u53d6\u6765\u7684\u7f51\u9875\u6570\u636e\u8fdb\u884c\u6587\u5b57\u63d0\u53d6\uff0c\u4e2d\u6587\u5206\u8bcd\uff0c\u7d22\u5f15\u7b49\u5904\u7406\uff0c\u4ee5\u5907\u6392\u540d\u7a0b\u5e8f\u8c03\u7528\u3002 \u6392\u540d\uff1a\u7528\u6237\u8f93\u5165\u5173\u952e\u8bcd\u540e\uff0c\u6392\u540d\u7a0b\u5e8f\u8c03\u7528\u7d22\u5f15\u5e93\u6570\u636e\uff0c\u8ba1\u7b97\u76f8\u5173\u6027\uff0c\u7136\u540e\u6309\u4e00\u5b9a\u683c\u5f0f\u751f\u6210\u641c\u7d22\u7ed3\u679c\u9875\u9762\u3002 \u7b2c\u4e00\u6b65\uff0c\u5c31\u662f\u5927\u5bb6\u7ecf\u5e38\u542c\u8bf4\u7684\u7f51\u7edc\u722c\u866b\uff0c\u4e00\u822c Python \u5356\u8bfe\u7684\u90fd\u4f1a\u5439\u8fd9\u4e2a\u4e1c\u897f\u3002\u7b80\u5355\u53ef\u4ee5\u7406\u89e3\u4e3a\uff0c\u6211\u7528\u4e00\u4e2a\u81ea\u52a8\u7684\u7a0b\u5e8f\uff0c\u4e0b\u8f7d\u7f51\u7ad9\u4e2d\u7684\u6240\u6709\u6587\u672c\u3001\u56fe\u7247\u7b49\u76f8\u5173\u4fe1\u606f\uff0c\u7136\u540e\u5b58\u5165\u672c\u5730\u7684\u78c1\u76d8\u3002 \u7b2c\u4e8c\u6b65\u662f\u641c\u7d22\u5f15\u64ce\u7684\u6838\u5fc3\uff0c\u4f46\u662f\u5bf9\u4e8e\u6211\u4eec\u4f7f\u7528\u6765\u8bf4\uff0c\u5e76\u4e0d\u662f\u7279\u522b\u5173\u952e\uff0c\u5927\u81f4\u53ef\u4ee5\u7406\u89e3\u4e3a\u6d17\u5e72\u51c0\u6570\u636e\uff0c\u7136\u540e\u5165\u5e93\u9875\u9762\uff0c\u6bcf\u4e2a\u9875\u9762\u52a0\u5165\u5173\u952e\u5b57\u7b49\u4fe1\u606f\u65b9\u4fbf\u6211\u4eec\u67e5\u8be2\u3002 \u7b2c\u4e09\u6b65\u8ddf\u6211\u4eec\u606f\u606f\u76f8\u5173\uff0c\u4e0d\u7ba1\u662f\u4ec0\u4e48\u641c\u7d22\u7f51\u7ad9\uff0c google \u3001\u767e\u5ea6\u3001 Bing \uff0c\u90fd\u4e00\u6837\uff0c\u8f93\u5165\u5173\u952e\u5b57\u6216\u8005\u9700\u8981\u67e5\u8be2\u7684\u5185\u5bb9\uff0c\u641c\u7d22\u5f15\u64ce\u4f1a\u7ed9\u4f60\u8fd4\u56de\u7ed3\u679c\u3002\u672c\u6587\u5c31\u662f\u6559\u4f60\u5982\u4f55\u83b7\u53d6\u66f4\u597d\u7684\u7ed3\u679c\u3002","title":"\u641c\u7d22\u5f15\u64ce\u5de5\u4f5c\u539f\u7406"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_4","text":"\u6839\u636e\u4e0a\u8ff0\u7684\u5de5\u4f5c\u539f\u7406\uff0c\u6211\u4eec\u5927\u81f4\u5c31\u80fd\u660e\u767d\uff0c\u5176\u5b9e\u53ef\u4ee5\u628a\u641c\u7d22\u5f15\u64ce\u5f53\u4f5c\u4e00\u4e2a\u6bd4\u8f83\u806a\u660e\u7684\u6570\u636e\u5e93\uff0c\u66f4\u597d\u7684\u4f7f\u7528\u67e5\u8be2\u6761\u4ef6\u5c31\u80fd\u66f4\u5feb\u901f\u7684\u627e\u5230\u4f60\u60f3\u8981\u7684\u4fe1\u606f\uff0c\u4e0b\u9762\u4ecb\u7ecd\u4e00\u4e9b\u641c\u7d22\u7684\u6280\u5de7\uff1a","title":"\u57fa\u7840\u641c\u7d22\u6280\u5de7"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_5","text":"\u9996\u5148\u6211\u4eec\u8981\u77e5\u9053\u4e00\u4ef6\u4e8b\uff0c\u7f16\u7a0b\u4e2d\uff0c\u6700\u597d\u4f7f\u7528\u82f1\u6587\u641c\u7d22\u3002\u539f\u56e0\u4e3b\u8981\u6709\u51e0\u70b9\uff1a \u7f16\u7a0b\u548c\u5404\u79cd\u8f6f\u4ef6\u64cd\u4f5c\u4e2d\uff0c\u82f1\u6587\u8d44\u6599\u8d28\u91cf\u6bd4\u4e2d\u6587\u8d44\u6599\u548c\u5176\u4ed6\u8bed\u8a00\u8d44\u6599\u9ad8\uff0c\u82f1\u6587\u901a\u7528\u6027\u8fd8\u662f\u66f4\u597d\u4e9b \u56e0\u4e3a\u7ffb\u8bd1\u95ee\u9898\uff0c\u82f1\u6587\u7684\u540d\u8bcd\u6bd4\u4e2d\u6587\u51c6\u786e\u901a\u7528 \u4e2d\u6587\u641c\u7d22\u4e2d\uff0c\u5206\u8bcd\u7cfb\u7edf\u4e0d\u51c6\u4f1a\u5bfc\u81f4\u6b67\u4e49\uff0c\u6bd4\u5982 Google \u641c\u4e2d\u6587\u53ef\u80fd\u4f1a\u641c\u4e0d\u51fa\u51e0\u6761\u6709\u7528\u7ed3\u679c \u5982\u679c\u4f60\u82f1\u6587\u4e0d\u597d\uff0c\u7528\u767e\u5ea6\u7ffb\u8bd1\u6216\u8005\u641c\u72d7\u7ffb\u8bd1\uff0c\u8db3\u591f\u4e86\u3002 \u5f53\u7136\u4e0b\u9762\u7684\u6587\u6863\u4e3a\u4e86\u4e3e\u4f8b\u65b9\u4fbf\uff0c\u90fd\u8fd8\u662f\u7528\u4e2d\u6587\u4f8b\u5b50\u3002","title":"\u4f7f\u7528\u82f1\u6587"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_6","text":"\u641c\u7d22\u65f6\u4e0d\u8981\u641c\u7d22\u6574\u53e5\u8bdd\uff0c\u867d\u7136\u641c\u7d22\u5f15\u64ce\u4f1a\u81ea\u52a8\u5e2e\u52a9\u6211\u4eec\u5206\u8bcd\u68c0\u7d22\uff0c\u4f46\u662f\u6574\u53e5\u548c\u5173\u952e\u5b57\u641c\u7d22\u51fa\u6765\u7684\u7ed3\u679c\u518d\u51c6\u786e\u5ea6\u548c\u987a\u5e8f\u4e0a\u4f1a\u6709\u5f88\u5927\u5dee\u522b\u3002\u641c\u7d22\u5f15\u64ce\u662f\u673a\u5668\uff0c\u5e76\u4e0d\u662f\u4f60\u7684\u8001\u5e08\u6216\u8005\u540c\u4e8b\uff0c\u770b\u4e0a\u9762\u7684\u6d41\u7a0b\uff0c\u641c\u7d22\u5b9e\u9645\u4e0a\u662f\u53bb\u68c0\u7d22\u641c\u7d22\u5f15\u64ce\u722c\u51fa\u6765\u7684\u6570\u636e\u5e93\uff0c\u4f60\u53ef\u4ee5\u7406\u89e3\u4e3a\u5173\u952e\u5b57\u6bd4\u6a21\u7cca\u68c0\u7d22\u8981\u5feb\u800c\u4e14\u51c6\u786e\u3002 \u6211\u4eec\u9700\u8981\u63d0\u70bc\u95ee\u9898\uff0c\u786e\u5b9a\u6211\u4eec\u5230\u5e95\u9700\u8981\u89e3\u51b3\u4ec0\u4e48\u95ee\u9898\u3002 \u4f8b\u5982\uff0c\u6211\u60f3\u77e5\u9053 vcpkg \u5982\u4f55\u96c6\u6210\u5230\u5de5\u7a0b\u4e0a\u800c\u4e0d\u662f\u5168\u5c40\u4e2d\uff0c\u90a3\u4e48\u641c\u7d22 vcpkg\u5982\u4f55\u96c6\u6210\u5230\u5de5\u7a0b\u4e0a\u800c\u4e0d\u662f\u5168\u5c40\u4e2d \u8fd9\u79cd\u957f\u53e5\u53ef\u80fd\u65e0\u6cd5\u627e\u5230\u76f8\u5173\u7684\u7ed3\u679c\uff0c\u6700\u597d\u662f\u62c6\u5206\u6210\u5355\u8bcd\uff0c vcpkg \u96c6\u6210\u5230 \u5de5\u7a0b \u5168\u5c40 \u8fd9\u6837\u7684\u641c\u7d22\u3002\u5176\u5b9e\u8fd9\u91cc\u53ea\u662f\u4e3e\u4e2a\u4f8b\u5b50\uff0c\u9488\u5bf9\u672c\u6761\u5176\u5b9e\u90fd\u80fd\u641c\u7d22\u51fa\u76f8\u5173\u4fe1\u606f\uff0c\u4f46\u662f\u8d8a\u5177\u4f53\u7684\u95ee\u9898\uff0c\u673a\u5668\u5206\u8bcd\u8d8a\u53ef\u80fd\u51fa\u95ee\u9898\uff0c\u6240\u4ee5\u6700\u597d\u662f\u62c6\u5206\u5173\u952e\u5b57\uff0c\u4f7f\u7528\u8bcd\u7ec4\u6216\u8005\u65ad\u53e5\u6765\u8fdb\u884c\u641c\u7d22\u3002","title":"\u63d0\u70bc\u5173\u952e\u8bcd"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_7","text":"\u8fd8\u662f\u4e0a\u9762\u90a3\u4e2a\u4f8b\u5b50\uff0c\u5982\u679c\u641c\u4e0d\u51fa\u6765\uff0c\u53ef\u4ee5\u8bd5\u8bd5\u628a\u5de5\u7a0b\u6362\u6210\u9879\u76ee\uff0c\u6216\u8005\u79fb\u51fa\u96c6\u6210\uff0c\u5982\u679c\u4e0d\u884c\uff0c\u8bd5\u4e00\u4e0b\u9ad8\u7ea7\u641c\u7d22\u3002","title":"\u66ff\u6362\u5173\u952e\u5b57"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_8","text":"\u666e\u901a\u641c\u7d22\u5f15\u64ce\u4e00\u822c\u90fd\u652f\u6301\u9ad8\u7ea7\u641c\u7d22\uff0c\u5305\u62ec google \uff0c bing \uff0c\u767e\u5ea6\uff0c ecosia \uff0c\u7b49\u7b49\uff0c\u5927\u90e8\u5206\u90fd\u652f\u6301\uff0c\u4e0d\u8fc7\u53ef\u80fd\u8bed\u6cd5\u4e0d\u540c\uff0c\u4e00\u822c\u901a\u7528\u7684\u8868\u793a\uff1a \u7cbe\u51c6\u5339\u914d\uff1a \u7cbe\u51c6\u5339\u914d\u80fd\u4fdd\u8bc1\u641c\u7d22\u5173\u952e\u8bcd\u5b8c\u5168\u88ab\u5339\u914d\u4e0a\uff0c\u4e00\u822c\u662f\u7528\u53cc\u5f15\u53f7\u62ec\u8d77\u6765 \u6bd4\u5982\u641c\u7d22\u7ebf\u6027\u4ee3\u6570\uff0c\u53ef\u4ee5\u5728\u8f93\u5165\u6846\u5185\u8f93\u5165 \"\u7ebf\u6027\u4ee3\u6570\"\uff0c\u641c\u7d22\u5f15\u64ce\u5c06\u53ea\u5339\u914d\u5b8c\u6574\u5305\u542b \u201c\u7ebf\u6027\u4ee3\u6570\u201d \u7684\u9875\u9762\uff0c\u800c\u4e0d\u4f1a\u641c\u7d22\u62c6\u5206\u6210\u7ebf\u6027\u548c\u4ee3\u6570\u4e24\u4e2a\u8bcd\u7684\u9875\u9762 \u4e0d\u5305\u542b\u5173\u952e\u5b57\uff1a \u7528 - \u51cf\u53f7\u8fde\u63a5\u5173\u952e\u5b57\uff0c\u7528\u4e8e\u6392\u9664\u67d0\u4e9b\u5e72\u6270\u8bcd \u5305\u542b\u5173\u952e\u5b57\uff1a \u7528 + \u52a0\u53f7\u8fde\u63a5\u5173\u952e\u5b57 \u641c\u7d22\u7279\u5b9a\u6587\u4ef6\u7c7b\u578b\uff1a filetype:pdf \u76f4\u63a5\u641c\u7d22 pdf \u6587\u4ef6 \u641c\u7d22\u7279\u5b9a\u7f51\u5740\uff1a site:stackoverflow.com \u53ea\u641c\u7d22\u7279\u5b9a\u7f51\u7ad9\u5185\u7684\u9875\u9762 \u4e00\u822c\u53ef\u4ee5\u53c2\u7167\u7f51\u7ad9\u8bf4\u660e\uff0c\u6bd4\u5982\u767e\u5ea6\u53ef\u4ee5\u53c2\u7167 \u9ad8\u7ea7\u641c\u7d22 \uff0cBing \u53ef\u4ee5\u53c2\u7167 \u9ad8\u7ea7\u641c\u7d22\u5173\u952e\u5b57 \u548c \u9ad8\u7ea7\u641c\u7d22\u9009\u9879 \u3002","title":"\u9ad8\u7ea7\u641c\u7d22"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#github","text":"\u53ef\u4ee5\u76f4\u63a5\u7528 \u9ad8\u7ea7\u641c\u7d22\u9875\u9762 \u8fdb\u884c\u641c\u7d22\uff0c\u4e5f\u53ef\u4ee5\u53c2\u7167 Github\u67e5\u8be2\u8bed\u6cd5 \u8fdb\u884c\u67e5\u627e\uff0c\u7b80\u5355\u8bf4\u51e0\u4e2a: in:name <\u5173\u952e\u5b57> \u4ed3\u5e93\u540d\u79f0\u5e26\u5173\u952e\u5b57\u67e5\u8be2 in:description <\u5173\u952e\u5b57> \u4ed3\u5e93\u63cf\u8ff0\u5e26\u5173\u952e\u5b57\u67e5\u8be2 in:readme <\u5173\u952e\u5b57> README \u6587\u4ef6\u5e26\u5173\u952e\u5b57\u67e5\u8be2 stars(fork): >(=) <\u6570\u5b57> <\u5173\u952e\u5b57> star \u6216 fork \u6570\u5927\u4e8e(\u6216\u7b49\u4e8e)\u6307\u5b9a\u6570\u5b57\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 stars(fork): 10..20 <\u5173\u952e\u8bcd> star \u6216 fork \u6570\u5728 10 \u5230 20 \u4e4b\u95f4\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 size:>=5000 <\u5173\u952e\u8bcd> \u9650\u5b9a\u4ed3\u5e93\u5927\u4e8e\u7b49\u4e8e 5000K \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 pushed(created):>2019-11-15 <\u5173\u952e\u5b57> \u66f4\u65b0 \u6216 \u521b\u5efa \u65e5\u671f\u5728 2019 \u5e74 11 \u6708 16 \u65e5\u4e4b\u540e\u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 license:apache-2.0 <\u5173\u952e\u5b57> LICENSE \u4e3a apache-2.0 \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 language:java <\u5173\u952e\u8bcd> \u4ed3\u5e93\u8bed\u8a00\u4e3a Java \u7684\u5e26\u5173\u952e\u5b57\u67e5\u8be2 user:<\u7528\u6237\u540d> \u67e5\u8be2\u67d0\u4e2a\u7528\u6237\u7684\u9879\u76ee org:<\u7ec4\u7ec7\u540d> \u67e5\u8be2\u67d0\u4e2a\u7ec4\u7ec7\u7684\u9879\u76ee \u8fd9\u4e9b\u53ef\u4ee5\u6df7\u5408\u4f7f\u7528\uff0c\u4e5f\u53ef\u4ee5\u5148\u67e5\u627e\u67d0\u4e00\u7c7b\u7684 awesome \u4ed3\u5e93\uff0c\u7136\u540e\u4ece awesome \u5e93\u91cc\u627e\u76f8\u5173\u7684\u8d44\u6e90\uff0cgithub \u91cc\u6709\u5f88\u591a\u5f52\u7eb3\u4ed3\u5e93\uff0c\u53ef\u4ee5\u5148\u770b\u770b\u5df2\u6709\u7684\u6536\u96c6\uff0c\u6709\u65f6\u5019\u4f1a\u8282\u7701\u5f88\u591a\u65f6\u95f4","title":"GitHub \u7684\u9ad8\u7ea7\u641c\u7d22"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_9","text":"\u4f7f\u7528\u4e2d\uff0c\u5b9e\u9645\u4e0a\u6211\u4f1a\u53bb\u7279\u5b9a\u7f51\u7ad9\u627e\u4e00\u4e9b\u95ee\u9898\uff1a \u5982\u679c\u662f\u8bed\u8a00\u672c\u8eab\u76f8\u5173\uff0c\u6bd4\u5982 c++/Qt/OpenGL \u5982\u4f55\u5b9e\u73b0\u4ec0\u4e48\u529f\u80fd\uff0c\u53ef\u4ee5\u76f4\u63a5\u52a0\u4e0a site:stackoverflow.com \u5982\u679c\u662f\u5177\u4f53\u7684\u4e1a\u52a1/\u5f00\u53d1\u73af\u5883\u6216\u8005\u8f6f\u4ef6\u76f8\u5173\uff0c\u53ef\u4ee5\u5148\u5728 BugList \u3001IssueList \uff0c\u6216\u8005\u76f8\u5173\u8bba\u575b\u91cc\u5148\u627e\u4e00\u4e0b\uff0c\u6bd4\u5982 Qt \u7684\u95ee\u9898\u5c31\u53ef\u4ee5\u76f4\u63a5\u53bb Qt \u8bba\u575b\uff0cQGis \u6216\u8005 GDAL \u76f8\u5173\u95ee\u9898\u53ef\u4ee5\u5728 stackExchange \u91cc\u53bb\u641c QQ \u7fa4\u4e5f\u662f\u4e00\u4e2a\u63d0\u95ee\u7684\u5730\u65b9\uff0c\u4f46\u662f\u9700\u8981\u4f60\u63d0\u7684\u95ee\u9898\u6709\u610f\u4e49\uff0c\u5426\u5219\u5927\u90e8\u5206\u4eba\u4e0d\u4f1a\u56de\u4f60\uff0c\u800c\u4e14 QQ \u7fa4\u56de\u590d\u5e76\u4e0d\u53ca\u65f6\u3002 \u77e5\u4e4e\u4e13\u680f\u3001\u7b80\u4e66\u3001\u535a\u5ba2\u56ed\u3001 CSDN \u4e2d\u6709\u5927\u91cf\u4e2d\u6587\u7b14\u8bb0\uff0c\u8fd9\u4e9b\u90fd\u662f\u522b\u4eba\u56bc\u70c2\u4e86\u7684\u4e1c\u897f\uff0c\u57fa\u672c\u662f\u522b\u4eba\u8e29\u5751\u7684\u7ecf\u9a8c","title":"\u66f4\u591a\u6280\u5de7"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_10","text":"\u5927\u90e8\u5206\u7f16\u7a0b\u4eba\u90fd\u4f1a\u544a\u8bc9\u4f60\u522b\u7528\u767e\u5ea6\uff0c\u7528 Google \u6216\u8005 Bing \u56fd\u9645\u7248\uff0c\u4f46\u662f Bing \u4e2d\u6587\u641c\u7d22\u7684\u51c6\u786e\u7387\u5e76\u4e0d\u9ad8\uff0c Google \u9700\u8981\u79d1\u5b66\u4e0a\u7f51\uff0c\u5982\u679c\u771f\u7684\u9700\u8981\uff0c\u53ef\u4ee5\u4f7f\u7528 Ecosia \u3001 Yandex \u4e4b\u7c7b\u7684\u641c\u7d22\u5f15\u64ce\u3002\u800c\u4e14\u4e2d\u6587\u641c\u7d22\u6765\u8bf4\uff0c\u767e\u5ea6\u53ef\u80fd\u8fd8\u771f\u662f\u6700\u597d\u7684\u3002 \u767e\u5ea6\u7684\u95ee\u9898\u4e3b\u8981\u5728\u4e8e\u6392\u5e8f\u7b97\u6cd5\uff0c\u53ef\u80fd\u4e24\u9875\u90fd\u6ca1\u5565\u5bf9\u7684\u5185\u5bb9\uff0c\u4f46\u662f\u6536\u5f55\u6bd4 Bing \u8fd8\u662f\u597d\u4e00\u4e9b\u7684\uff08\u767e\u5ea6\u4ee5\u524d\u5e76\u4e0d\u9075\u5b88 robots.txt \uff0c\u4f1a\u6293\u53d6\u6240\u6709\u9875\u9762\uff0c\u6240\u4ee5\u6709\u4e9b\u4e2a\u4eba\u7f51\u7ad9\u751a\u81f3\u4e13\u95e8\u5bf9\u767e\u5ea6\u505a\u4e86\u5c4f\u853d\uff09\uff0c\u751a\u81f3\u6709\u65f6\u5019\u6bd4 Google \u597d\u3002\u4ece\u6570\u636e\u5e93\u6765\u8bf4\uff0c\u767e\u5ea6\u6bd4 Google \u548c Bing \u6536\u5f55\u7684\u4e2d\u6587\u5185\u5bb9\u8981\u591a\uff0c\u5982\u679c\u4f60\u78b0\u5230\u7684\u65f6\u4e2d\u6587\u76f8\u5173\u7684\u95ee\u9898\u800c\u4e14\u786e\u5b9e\u627e\u4e0d\u5230\u76f8\u5173\u5185\u5bb9\uff0c\u90a3\u4e48\u5c31\u7528\u767e\u5ea6\uff0c\u641c\u7d22\u5f15\u64ce\u662f\u5de5\u5177\uff0c\u80fd\u7528\u597d\u7528\u624d\u662f\u738b\u9053\u3002","title":"\u5173\u4e8e\u767e\u5ea6"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_11","text":"\u6211\u4eec\u9664\u4e86\u641c\u7d22\u5f15\u64ce\u67e5\u627e\u95ee\u9898\uff0c\u8fd8\u6709\u53ef\u80fd\u4f1a\u641c\u4e00\u4e9b\u4ee3\u7801\uff0c\u53ef\u80fd\u662f\u81ea\u5df1\u5199\u7684\uff0c\u4e5f\u53ef\u80fd\u662f\u9879\u76ee\u4e2d\u7684\uff0c\u4e0b\u9762\u63a8\u8350\u4e00\u4e9b\u5de5\u5177\uff1a \u4ee3\u7801\u68c0\u7d22\u6709\u4e24\u79cd\uff0c\u7b2c\u4e00\u662f\u672c\u5730\u7684\u4ee3\u7801\u68c0\u7d22\uff0c\u7b2c\u4e8c\u662f\u8981\u5199\u4e2a\u5565\u7b97\u6cd5\uff0c\u9700\u8981\u5728\u7f51\u4e0a\u641c\u7d22","title":"\u4ee3\u7801\u641c\u7d22"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_12","text":"ACK \u6216\u8005 ACK2\uff0c\u8001\u724c\u641c\u7d22\u5de5\u5177\uff0cperl \u5199\u7684 The Silver Searcher c \u5b9e\u73b0\u7684 The Platinum Searcher go \u5b9e\u73b0\u7684 FreeCommander \u81ea\u5e26\u7684\u641c\u7d22\uff0c\u5982\u679c\u662f\u56fa\u6001\u786c\u76d8\u901f\u5ea6\u8fd8\u4e0d\u9519 IDE \u81ea\u5e26\u7684\uff0c\u641c\u7d22\u6709\u4e9b\u65f6\u5019\u5e76\u4e0d\u592a\u597d\u7528","title":"\u672c\u5730\u4ee3\u7801\u641c\u7d22"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/#_13","text":"Searchcode \u641c\u7d22\u5f00\u6e90\u4ee3\u7801\uff0c\u901f\u5ea6\u6bd4\u8f83\u5feb \u4e00\u884c\u4ee3\u7801 \u56fd\u4ea7\u7684\uff0c\u6709\u4e9b\u56fd\u4ea7\u5de5\u5177\u5f88\u597d\u7528 [^ 1]: \u641c\u7d22\u5f15\u64ce\u5de5\u4f5c\u539f\u7406\u7b80\u4ecb - \u77e5\u4e4e (zhihu.com)","title":"\u5f00\u6e90\u4ee3\u7801\u641c\u7d22"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E7%BF%BB%E5%A2%99/","text":"\u7ffb\u5899 \u6b64\u94fe\u63a5 \u51fa\u73b0\u5728\u8fd9\u91cc\u7eaf\u5c5e\u4e8c\u8fdb\u5236 bit \u7684\u968f\u610f\u7ec4\u5408\uff0c\u4e0e\u672c\u4eba\u6beb\u65e0\u5173\u7cfb\u3002","title":"\u7ffb\u5899"},{"location":"en/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E7%BF%BB%E5%A2%99/#_1","text":"\u6b64\u94fe\u63a5 \u51fa\u73b0\u5728\u8fd9\u91cc\u7eaf\u5c5e\u4e8c\u8fdb\u5236 bit \u7684\u968f\u610f\u7ec4\u5408\uff0c\u4e0e\u672c\u4eba\u6beb\u65e0\u5173\u7cfb\u3002","title":"\u7ffb\u5899"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/","text":"CS162: Operating System Descriptions Offered by: UC Berkeley Prerequisites: CS61A, CS61B, CS61C Programming Languages: C, x86 Assembly Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 200 hours+ The course impressed me in two aspects: Firstly, the textbook: Operating Systems: Principles and Practice (2nd Edition) is written in an insightful but easy-to-understand way, well compensated for the lack of theoretical knowledge in MIT6.S081, I highly recommend you to read this book. Secondly, the project for this course Pintos is a great journey for system hackers. Pintos is a toy operating system developed at Stanford for educational use. The author Ben Pfaff even published a paper to explain the design principles of Pintos . Unlike the small but comprehensive design philosophy in MIT's xv6 labs, Pintos emphasizes system design and implementation more. The codebase is about 10,000 LOC and only provides the basic functions of a working operating system. The four projects let you add scheduler (Project1), system calls (Project2), virtual memory (Project3), and the file system (Project4) to this extremely simple operating system. All projects leave a a big design space for students and require more than 2000 LOC. Based on the feedback from Stanford students, the latter two projects take over 40 hours per person even in teams of 3-4 people. Although it is tough, Stanford, Berkeley, JHU and many other top U.S. colleges have chosen Pintos as their OS course project. If you're really interested in operating systems, it will greatly improve your ability to write and debug low-level system code. For me, it is an invaluable experience to design, implement, and debug a large system independently. Pintos will also be introduced as a course project in Peking University's OS Course. In the Spring 2022 semester, I worked with another TA to write a comprehensive lab documentation and provided a docker image for the ease of cross-platform development. In the last semester before graduation, I hope such an attempt can make more people fall in love with systems and contribute to the field of systems in China. Course Resources Course Website: https://cs162.org/ Lecture Videos: https://www.youtube.com/watch?v=YfHY0pvpRkk , videos for each lecture can be found on the course website. Textbook: Operating Systems: Principles and Practice (2nd Edition) Assignments: https://cs162.org/ , 6 Homework, 3 Projects, the course website has specific requirements. Personal Resources Since the Operating System Course at PKU uses the project, my implementation is not open source to prevent plagiarism.","title":"UCB CS162: Operating System"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#cs162-operating-system","text":"","title":"CS162: Operating System"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#descriptions","text":"Offered by: UC Berkeley Prerequisites: CS61A, CS61B, CS61C Programming Languages: C, x86 Assembly Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 200 hours+ The course impressed me in two aspects: Firstly, the textbook: Operating Systems: Principles and Practice (2nd Edition) is written in an insightful but easy-to-understand way, well compensated for the lack of theoretical knowledge in MIT6.S081, I highly recommend you to read this book. Secondly, the project for this course Pintos is a great journey for system hackers. Pintos is a toy operating system developed at Stanford for educational use. The author Ben Pfaff even published a paper to explain the design principles of Pintos . Unlike the small but comprehensive design philosophy in MIT's xv6 labs, Pintos emphasizes system design and implementation more. The codebase is about 10,000 LOC and only provides the basic functions of a working operating system. The four projects let you add scheduler (Project1), system calls (Project2), virtual memory (Project3), and the file system (Project4) to this extremely simple operating system. All projects leave a a big design space for students and require more than 2000 LOC. Based on the feedback from Stanford students, the latter two projects take over 40 hours per person even in teams of 3-4 people. Although it is tough, Stanford, Berkeley, JHU and many other top U.S. colleges have chosen Pintos as their OS course project. If you're really interested in operating systems, it will greatly improve your ability to write and debug low-level system code. For me, it is an invaluable experience to design, implement, and debug a large system independently. Pintos will also be introduced as a course project in Peking University's OS Course. In the Spring 2022 semester, I worked with another TA to write a comprehensive lab documentation and provided a docker image for the ease of cross-platform development. In the last semester before graduation, I hope such an attempt can make more people fall in love with systems and contribute to the field of systems in China.","title":"Descriptions"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#course-resources","text":"Course Website: https://cs162.org/ Lecture Videos: https://www.youtube.com/watch?v=YfHY0pvpRkk , videos for each lecture can be found on the course website. Textbook: Operating Systems: Principles and Practice (2nd Edition) Assignments: https://cs162.org/ , 6 Homework, 3 Projects, the course website has specific requirements.","title":"Course Resources"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#personal-resources","text":"Since the Operating System Course at PKU uses the project, my implementation is not open source to prevent plagiarism.","title":"Personal Resources"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/","text":"HIT OS: Operating System Course Introduction University: Harbin Institute of Technology Prerequisites: C Language Programming Languages: C Language, Assembly Course Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Estimated Study Hours: 100 hours+ If you search on Zhihu for questions like \"how to self-study operating systems\", \"recommended open courses for operating systems\", \"computer courses you wish you had discovered earlier\", etc., the operating systems course by Professor Li Zhijun of Harbin Institute of Technology (HIT) is likely to appear in the high-rated answers. It's a relatively well-known and popular Chinese computer course. This course excels at gently guiding students from their perspective. For instance, it starts from \"humbly asking, what is an operating system\" to \"lifting the lid of the operating system piano\", deriving the concept of processes from intuitive CPU management, and introducing memory management by initially \"letting the program enter memory\". The course emphasizes the combination of theory and practice. Operating systems are tangible, and Professor Li repeatedly stresses the importance of doing experiments. You won't fully grasp operating systems if you just watch videos and theorize. The course explains and conducts experiments based on actual Linux 0.11 source code (around 20,000 lines in total), with eight small labs and four projects. Of course, this course also has minor imperfections. For example, Linux 0.11 is very early industrial code and not designed for teaching. Thus, there are some unavoidable obscure and difficult parts of the codebase in the projects, but they don't contribute much to the understanding of operating systems. Course Resources Course Website: https://www.icourse163.org/course/HIT-1002531008 Course Videos: https://www.bilibili.com/video/BV19r4y1b7Aw/?p=1 Course Textbook 1: Complete Annotation of Linux Kernel Course Textbook 2: Operating System Principles, Implementation, and Practice Course Assignments: https://www.lanqiao.cn/courses/115 Complementary Resources @NaChen95 has compiled the principles and implementations of the eight experimental assignments in this course at NaChen95 / Linux0.11 .","title":"HIT OS: Operating System"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/#hit-os-operating-system","text":"","title":"HIT OS: Operating System"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/#course-introduction","text":"University: Harbin Institute of Technology Prerequisites: C Language Programming Languages: C Language, Assembly Course Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Estimated Study Hours: 100 hours+ If you search on Zhihu for questions like \"how to self-study operating systems\", \"recommended open courses for operating systems\", \"computer courses you wish you had discovered earlier\", etc., the operating systems course by Professor Li Zhijun of Harbin Institute of Technology (HIT) is likely to appear in the high-rated answers. It's a relatively well-known and popular Chinese computer course. This course excels at gently guiding students from their perspective. For instance, it starts from \"humbly asking, what is an operating system\" to \"lifting the lid of the operating system piano\", deriving the concept of processes from intuitive CPU management, and introducing memory management by initially \"letting the program enter memory\". The course emphasizes the combination of theory and practice. Operating systems are tangible, and Professor Li repeatedly stresses the importance of doing experiments. You won't fully grasp operating systems if you just watch videos and theorize. The course explains and conducts experiments based on actual Linux 0.11 source code (around 20,000 lines in total), with eight small labs and four projects. Of course, this course also has minor imperfections. For example, Linux 0.11 is very early industrial code and not designed for teaching. Thus, there are some unavoidable obscure and difficult parts of the codebase in the projects, but they don't contribute much to the understanding of operating systems.","title":"Course Introduction"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/#course-resources","text":"Course Website: https://www.icourse163.org/course/HIT-1002531008 Course Videos: https://www.bilibili.com/video/BV19r4y1b7Aw/?p=1 Course Textbook 1: Complete Annotation of Linux Kernel Course Textbook 2: Operating System Principles, Implementation, and Practice Course Assignments: https://www.lanqiao.cn/courses/115","title":"Course Resources"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/#complementary-resources","text":"@NaChen95 has compiled the principles and implementations of the eight experimental assignments in this course at NaChen95 / Linux0.11 .","title":"Complementary Resources"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/","text":"MIT 6.S081: Operating System Engineering Descriptions Offered by: MIT Prerequisites: Computer Architecture + Solid C Programming Skills + RISC-V Assembly Programming Languages: C, RISC-V Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours This is the undergraduate operating system course at MIT, offered by the well-known PDOS Group. One of the instructors, Robert Morris, was once a famous hacker who created 'Morris', the first worm virus in the world. The predecessor of this course was the famous MIT6.828. The same instructors at MIT created an educational operating system called JOS based on x86, which has been adopted by many other famous universities. While after the birth of RISC-V, they implemented it based on RISC-V, and offered MIT 6.S081. RISC-V is lightweight and user-friendly, so students don't have to struggle with the confusing legacy features in x86 as in JOS, but focus on the operating system design and implementation. The instructors have also written a tutorial , elaborately explaining the ideas of design and details of the implementation of xv6 operating system. The teaching style of this course is also interesting, the instructors guided the students to understand the numerous technical challenges and design principles in the operating systems by going through the xv6 source code, instead of merely teaching theoretical knowledge. Weekly Labs will let you add new features to xv6, which focus on enhancing students' practical skills. There are 11 labs in total during the whole semester which give you the chance to understand every aspect of the operating systems, bringing a great sense of achievement. Each lab has a complete framework for testing, some tests are more than a thousand lines of code, which shows how much effort the instructors have made to teach this course well. In the second half of the course, the instructors will discuss a couple of classic papers in the operating system field, covering file systems, system security, networking, virtualization, and so on, giving you a chance to have a taste of the cutting edge research directions in the academic field. Course Resources Course Website: https://pdos.csail.mit.edu/6.828/2021/schedule.html Lecture Videos: https://www.youtube.com/watch?v=L6YqHxYHa7A , videos for each lecture can be found on the course website. Translated documentation(Chinese) of Lecture videos: https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/ Text Book: https://pdos.csail.mit.edu/6.828/2021/xv6/book-riscv-rev2.pdf Assignments: https://pdos.csail.mit.edu/6.828/2021/schedule.html , 11 labs, can be found on the course website. xv6 Resources Detailed Explanation of xv6 xv6 Documentation(Chinese) line-by-line walk-through of key xv6 source codes Complementary Resources All resources used and assignments implemented by @PKUFlyingPig when learning this course are in PKUFlyingPig/MIT6.S081-2020fall - GitHub . @ KuangjuX documented his solutions with detailed explanations and complementary knowledge. Moreover, @ KuangjuX has reimplemented the xv6 operating system in Rust which contains more detailed reviews and discussions about xv6. Some Blogs for References doraemonzzz Xiao Fan (\u6a0a\u6f47) Miigon's blog Zhou Fang Yichun's Blog \u89e3\u6790Ta PKUFlyingPig \u661f\u9065\u89c1","title":"MIT 6.S081: Operating System Engineering"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#mit-6s081-operating-system-engineering","text":"","title":"MIT 6.S081: Operating System Engineering"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#descriptions","text":"Offered by: MIT Prerequisites: Computer Architecture + Solid C Programming Skills + RISC-V Assembly Programming Languages: C, RISC-V Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours This is the undergraduate operating system course at MIT, offered by the well-known PDOS Group. One of the instructors, Robert Morris, was once a famous hacker who created 'Morris', the first worm virus in the world. The predecessor of this course was the famous MIT6.828. The same instructors at MIT created an educational operating system called JOS based on x86, which has been adopted by many other famous universities. While after the birth of RISC-V, they implemented it based on RISC-V, and offered MIT 6.S081. RISC-V is lightweight and user-friendly, so students don't have to struggle with the confusing legacy features in x86 as in JOS, but focus on the operating system design and implementation. The instructors have also written a tutorial , elaborately explaining the ideas of design and details of the implementation of xv6 operating system. The teaching style of this course is also interesting, the instructors guided the students to understand the numerous technical challenges and design principles in the operating systems by going through the xv6 source code, instead of merely teaching theoretical knowledge. Weekly Labs will let you add new features to xv6, which focus on enhancing students' practical skills. There are 11 labs in total during the whole semester which give you the chance to understand every aspect of the operating systems, bringing a great sense of achievement. Each lab has a complete framework for testing, some tests are more than a thousand lines of code, which shows how much effort the instructors have made to teach this course well. In the second half of the course, the instructors will discuss a couple of classic papers in the operating system field, covering file systems, system security, networking, virtualization, and so on, giving you a chance to have a taste of the cutting edge research directions in the academic field.","title":"Descriptions"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#course-resources","text":"Course Website: https://pdos.csail.mit.edu/6.828/2021/schedule.html Lecture Videos: https://www.youtube.com/watch?v=L6YqHxYHa7A , videos for each lecture can be found on the course website. Translated documentation(Chinese) of Lecture videos: https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/ Text Book: https://pdos.csail.mit.edu/6.828/2021/xv6/book-riscv-rev2.pdf Assignments: https://pdos.csail.mit.edu/6.828/2021/schedule.html , 11 labs, can be found on the course website.","title":"Course Resources"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#xv6-resources","text":"Detailed Explanation of xv6 xv6 Documentation(Chinese) line-by-line walk-through of key xv6 source codes","title":"xv6 Resources"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#complementary-resources","text":"All resources used and assignments implemented by @PKUFlyingPig when learning this course are in PKUFlyingPig/MIT6.S081-2020fall - GitHub . @ KuangjuX documented his solutions with detailed explanations and complementary knowledge. Moreover, @ KuangjuX has reimplemented the xv6 operating system in Rust which contains more detailed reviews and discussions about xv6.","title":"Complementary Resources"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#some-blogs-for-references","text":"doraemonzzz Xiao Fan (\u6a0a\u6f47) Miigon's blog Zhou Fang Yichun's Blog \u89e3\u6790Ta PKUFlyingPig \u661f\u9065\u89c1","title":"Some Blogs for References"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/","text":"NJU OS: Operating System Design and Implementation \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u5357\u4eac\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784 + \u624e\u5b9e\u7684 C \u8bed\u8a00\u529f\u5e95 \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bed\u8a00 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u4e4b\u524d\u4e00\u76f4\u542c\u8bf4\u5357\u5927\u7684\u848b\u708e\u5ca9\u8001\u5e08\u5f00\u8bbe\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u8bb2\u5f97\u5f88\u597d\uff0c\u4e45\u95fb\u4e0d\u5982\u4e00\u89c1\uff0c\u8fd9\u5b66\u671f\u6709\u5e78\u5728 B \u7ad9\u89c2\u770b\u4e86\u848b\u8001\u5e08\u7684\u8bfe\u7a0b\u89c6\u9891\uff0c\u786e\u5b9e\u6536\u83b7\u826f\u591a\u3002\u848b\u8001\u5e08\u4f5c\u4e3a\u975e\u5e38\u5e74\u8f7b\u7684\u8001\u5e08\uff0c\u6709\u7740\u4e30\u5bcc\u7684\u4e00\u7ebf\u4ee3\u7801\u7684\u7ecf\u9a8c\uff0c\u56e0\u6b64\u8bfe\u7a0b\u8bb2\u6388\u6709\u7740\u6ee1\u6ee1\u7684 Hacker \u98ce\u683c\uff0c\u8bfe\u4e0a\u7ecf\u5e38\u201c\u4e00\u8a00\u4e0d\u5408\u201d\u5c31\u5728\u547d\u4ee4\u884c\u91cc\u5f00\u59cb\u5199\u4ee3\u7801\uff0c\u5f88\u591a\u91cd\u8981\u77e5\u8bc6\u70b9\u4e5f\u90fd\u914d\u6709\u751f\u52a8\u76f4\u767d\u7684\u4ee3\u7801\u793a\u4f8b\u3002\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\u7684\u5c31\u662f\u8001\u5e08\u4e3a\u4e86\u8ba9\u5b66\u751f\u66f4\u597d\u5730\u7406\u89e3\u52a8\u6001\u94fe\u63a5\u5e93\u7684\u8bbe\u8ba1\u601d\u60f3\uff0c\u751a\u81f3\u4e13\u95e8\u5b9e\u73b0\u4e86\u4e00\u4e2a\u8ff7\u4f60\u7684\u53ef\u6267\u884c\u6587\u4ef6\u4e0e\u4e00\u7cfb\u5217\u7684\u4e8c\u8fdb\u5236\u5de5\u5177\uff0c\u8ba9\u5f88\u591a\u56f0\u6270\u6211\u591a\u5e74\u7684\u95ee\u9898\u90fd\u5f97\u5230\u4e86\u89e3\u7b54\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bb2\u6388\u601d\u8def\u4e5f\u975e\u5e38\u6709\u8da3\uff0c\u848b\u8001\u5e08\u5148\u4ece\u201c\u7a0b\u5e8f\u5c31\u662f\u72b6\u6001\u673a\u201d\u8fd9\u4e00\u89c6\u89d2\u5165\u624b\uff0c\u4e3a\u201c\u4e07\u6076\u4e4b\u6e90\u201d\u5e76\u53d1\u7a0b\u5e8f\u5efa\u7acb\u4e86\u72b6\u6001\u673a\u7684\u8f6c\u5316\u6a21\u578b\uff0c\u5e76\u5728\u6b64\u57fa\u7840\u4e0a\u8bb2\u6388\u4e86\u5e76\u53d1\u63a7\u5236\u7684\u5e38\u89c1\u624b\u6bb5\u4ee5\u53ca\u5e76\u53d1 bug \u7684\u5e94\u5bf9\u65b9\u6cd5\u3002\u63a5\u7740\u848b\u8001\u5e08\u5c06\u64cd\u4f5c\u7cfb\u7edf\u770b\u4f5c\u4e00\u7cfb\u5217\u5bf9\u8c61\uff08\u8fdb\u7a0b/\u7ebf\u7a0b\u3001\u5730\u5740\u7a7a\u95f4\u3001\u6587\u4ef6\u3001\u8bbe\u5907\u7b49\u7b49\uff09\u4ee5\u53ca\u64cd\u4f5c\u5b83\u4eec\u7684 API \uff08\u7cfb\u7edf\u8c03\u7528\uff09\u5e76\u7ed3\u5408\u4e30\u5bcc\u7684\u5b9e\u9645\u4f8b\u5b50\u4ecb\u7ecd\u4e86\u64cd\u4f5c\u7cfb\u7edf\u662f\u5982\u4f55\u5229\u7528\u8fd9\u7cfb\u5217\u5bf9\u8c61\u865a\u62df\u5316\u786c\u4ef6\u8d44\u6e90\u5e76\u7ed9\u5e94\u7528\u8f6f\u4ef6\u63d0\u4f9b\u5404\u7c7b\u670d\u52a1\u7684\u3002\u6700\u540e\u7684\u53ef\u6301\u4e45\u5316\u90e8\u5206\uff0c\u848b\u8001\u5e08\u4ece 1-bit \u7684\u5b58\u50a8\u4ecb\u8d28\u8bb2\u8d77\uff0c\u4e00\u6b65\u6b65\u6784\u5efa\u8d77\u5404\u7c7b\u5b58\u50a8\u8bbe\u5907\uff0c\u5e76\u901a\u8fc7\u8bbe\u5907\u9a71\u52a8\u62bd\u8c61\u51fa\u4e00\u7ec4\u63a5\u53e3\u6765\u65b9\u4fbf\u5730\u8bbe\u8ba1\u4e0e\u5b9e\u73b0\u6587\u4ef6\u7cfb\u7edf\u3002\u6211\u4e4b\u524d\u867d\u7136\u4e0a\u8fc7\u8bb8\u591a\u95e8\u64cd\u4f5c\u7cfb\u7edf\u7684\u8bfe\u7a0b\uff0c\u4f46\u8fd9\u79cd\u8bb2\u6cd5\u786e\u5b9e\u72ec\u6b64\u4e00\u5bb6\uff0c\u8ba9\u6211\u6536\u83b7\u4e86\u5f88\u591a\u72ec\u5230\u7684\u89c6\u89d2\u6765\u770b\u5f85\u7cfb\u7edf\u8f6f\u4ef6\u3002 \u8fd9\u95e8\u8bfe\u9664\u4e86\u5728\u7406\u8bba\u77e5\u8bc6\u7684\u8bb2\u6388\u90e8\u5206\u5f88\u6709\u65b0\u610f\u5916\uff0c\u6ce8\u91cd\u5b9e\u8df5\u4e5f\u662f\u848b\u8001\u5e08\u7684\u4e00\u5927\u7279\u70b9\u3002\u5728\u8bfe\u5802\u548c\u7f16\u7a0b\u4f5c\u4e1a\u91cc\uff0c\u848b\u8001\u5e08\u4f1a\u6709\u610f\u65e0\u610f\u5730\u57f9\u517b\u5927\u5bb6\u9605\u8bfb\u6e90\u7801\u3001\u67e5\u9605\u624b\u518c\u7684\u80fd\u529b\uff0c\u8fd9\u4e5f\u662f\u8ba1\u7b97\u673a\u4ece\u4e1a\u8005\u5fc5\u5907\u7684\u6280\u80fd\u3002\u5728\u5b8c\u6210\u7b2c\u4e94\u4e2a MiniLab \u671f\u95f4\uff0c\u6211\u7b2c\u4e00\u6b21\u4ed4\u4ed4\u7ec6\u7ec6\u9605\u8bfb\u4e86\u5fae\u8f6f\u7684 FAT \u6587\u4ef6\u7cfb\u7edf\u624b\u518c\uff0c\u6536\u83b7\u4e86\u4e00\u6b21\u975e\u5e38\u6709\u4ef7\u503c\u7684\u7ecf\u5386\u3002 \u7f16\u7a0b\u4f5c\u4e1a\u5171\u7531 5\u4e2a MiniLab \u548c 4\u4e2a OSLab \u7ec4\u6210\u3002\u7f8e\u4e2d\u4e0d\u8db3\u7684\u662f\u4f5c\u4e1a\u7684\u8bc4\u6d4b\u673a\u662f\u4e0d\u5bf9\u6821\u5916\u5f00\u653e\u7684\uff0c\u4e0d\u8fc7\u5728\u90ae\u4ef6\u201c\u9a9a\u6270\u201d\u540e\u848b\u8001\u5e08\u8fd8\u662f\u975e\u5e38\u6177\u6168\u5730\u8ba9\u6211\u6210\u529f\u8e6d\u8bfe\u3002\u7531\u4e8e\u8bfe\u4f59\u65f6\u95f4\u6709\u9650\u6211\u53ea\u5b8c\u6210\u4e86 5\u4e2a MiniLab\uff0c\u603b\u4f53\u4f53\u9a8c\u975e\u5e38\u68d2\u3002\u5c24\u5176\u662f\u7b2c\u4e8c\u4e2a\u534f\u7a0b\u5b9e\u9a8c\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\uff0c\u5728\u4e0d\u5230\u767e\u884c\u7684\u5c0f\u5b9e\u9a8c\u91cc\u6df1\u523b\u4f53\u9a8c\u4e86\u4e0a\u4e0b\u6587\u5207\u6362\u7684\u7f8e\u5999\u4e0e\u201c\u53ef\u6015\u201d\u3002\u53e6\u5916\u5176\u5b9e\u51e0\u4e2a MiniLab \u90fd\u80fd\u975e\u5e38\u65b9\u4fbf\u5730\u8fdb\u884c\u672c\u5730\u6d4b\u8bd5\uff0c\u5c31\u7b97\u6ca1\u6709\u8bc4\u6d4b\u673a\u4e5f\u4e0d\u5f71\u54cd\u81ea\u5b66\uff0c\u56e0\u6b64\u5e0c\u671b\u5927\u5bb6\u4e0d\u8981\u805a\u4f17\u201c\u9a9a\u6270\u201d\u8001\u5e08\u4ee5\u56fe\u8e6d\u8bfe\u3002 \u6700\u540e\u518d\u6b21\u611f\u8c22\u848b\u8001\u5e08\u8bbe\u8ba1\u5e76\u5f00\u653e\u4e86\u8fd9\u6837\u4e00\u95e8\u975e\u5e38\u68d2\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\uff0c\u8fd9\u4e5f\u662f\u672c\u4e66\u6536\u5f55\u7684\u7b2c\u4e00\u95e8\u56fd\u5185\u9ad8\u6821\u81ea\u4e3b\u5f00\u8bbe\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002\u6b63\u662f\u6709\u848b\u8001\u5e08\u8fd9\u4e9b\u5e74\u8f7b\u7684\u65b0\u751f\u4ee3\u6559\u5e08\u5728\u7e41\u91cd\u7684 Tenure \u8003\u6838\u4e4b\u4f59\u7684\u7528\u7231\u53d1\u7535\uff0c\u624d\u8ba9\u65e0\u6570\u5b66\u5b50\u6536\u83b7\u4e86\u96be\u5fd8\u7684\u672c\u79d1\u751f\u6daf\u3002\u4e5f\u671f\u5f85\u56fd\u5185\u80fd\u6709\u66f4\u591a\u8fd9\u6837\u7684\u826f\u5fc3\u597d\u8bfe\uff0c\u6211\u4e5f\u4f1a\u7b2c\u4e00\u65f6\u95f4\u6536\u5f55\u8fdb\u672c\u4e66\u4e2d\u8ba9\u66f4\u591a\u4eba\u53d7\u76ca\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://jyywiki.cn/OS/2022/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://space.bilibili.com/202224425/channel/collectiondetail?sid=192498 \u8bfe\u7a0b\u6559\u6750\uff1a http://pages.cs.wisc.edu/~remzi/OSTEP/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://jyywiki.cn/OS/2022/ \u8d44\u6e90\u6c47\u603b \u6309\u848b\u8001\u5e08\u7684\u8981\u6c42\uff0c\u6211\u7684\u4f5c\u4e1a\u5b9e\u73b0\u6ca1\u6709\u5f00\u6e90\u3002","title":"NJU OS: Operating System Design and Implementation"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/#nju-os-operating-system-design-and-implementation","text":"","title":"NJU OS: Operating System Design and Implementation"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u5357\u4eac\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784 + \u624e\u5b9e\u7684 C \u8bed\u8a00\u529f\u5e95 \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bed\u8a00 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u4e4b\u524d\u4e00\u76f4\u542c\u8bf4\u5357\u5927\u7684\u848b\u708e\u5ca9\u8001\u5e08\u5f00\u8bbe\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u8bb2\u5f97\u5f88\u597d\uff0c\u4e45\u95fb\u4e0d\u5982\u4e00\u89c1\uff0c\u8fd9\u5b66\u671f\u6709\u5e78\u5728 B \u7ad9\u89c2\u770b\u4e86\u848b\u8001\u5e08\u7684\u8bfe\u7a0b\u89c6\u9891\uff0c\u786e\u5b9e\u6536\u83b7\u826f\u591a\u3002\u848b\u8001\u5e08\u4f5c\u4e3a\u975e\u5e38\u5e74\u8f7b\u7684\u8001\u5e08\uff0c\u6709\u7740\u4e30\u5bcc\u7684\u4e00\u7ebf\u4ee3\u7801\u7684\u7ecf\u9a8c\uff0c\u56e0\u6b64\u8bfe\u7a0b\u8bb2\u6388\u6709\u7740\u6ee1\u6ee1\u7684 Hacker \u98ce\u683c\uff0c\u8bfe\u4e0a\u7ecf\u5e38\u201c\u4e00\u8a00\u4e0d\u5408\u201d\u5c31\u5728\u547d\u4ee4\u884c\u91cc\u5f00\u59cb\u5199\u4ee3\u7801\uff0c\u5f88\u591a\u91cd\u8981\u77e5\u8bc6\u70b9\u4e5f\u90fd\u914d\u6709\u751f\u52a8\u76f4\u767d\u7684\u4ee3\u7801\u793a\u4f8b\u3002\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\u7684\u5c31\u662f\u8001\u5e08\u4e3a\u4e86\u8ba9\u5b66\u751f\u66f4\u597d\u5730\u7406\u89e3\u52a8\u6001\u94fe\u63a5\u5e93\u7684\u8bbe\u8ba1\u601d\u60f3\uff0c\u751a\u81f3\u4e13\u95e8\u5b9e\u73b0\u4e86\u4e00\u4e2a\u8ff7\u4f60\u7684\u53ef\u6267\u884c\u6587\u4ef6\u4e0e\u4e00\u7cfb\u5217\u7684\u4e8c\u8fdb\u5236\u5de5\u5177\uff0c\u8ba9\u5f88\u591a\u56f0\u6270\u6211\u591a\u5e74\u7684\u95ee\u9898\u90fd\u5f97\u5230\u4e86\u89e3\u7b54\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bb2\u6388\u601d\u8def\u4e5f\u975e\u5e38\u6709\u8da3\uff0c\u848b\u8001\u5e08\u5148\u4ece\u201c\u7a0b\u5e8f\u5c31\u662f\u72b6\u6001\u673a\u201d\u8fd9\u4e00\u89c6\u89d2\u5165\u624b\uff0c\u4e3a\u201c\u4e07\u6076\u4e4b\u6e90\u201d\u5e76\u53d1\u7a0b\u5e8f\u5efa\u7acb\u4e86\u72b6\u6001\u673a\u7684\u8f6c\u5316\u6a21\u578b\uff0c\u5e76\u5728\u6b64\u57fa\u7840\u4e0a\u8bb2\u6388\u4e86\u5e76\u53d1\u63a7\u5236\u7684\u5e38\u89c1\u624b\u6bb5\u4ee5\u53ca\u5e76\u53d1 bug \u7684\u5e94\u5bf9\u65b9\u6cd5\u3002\u63a5\u7740\u848b\u8001\u5e08\u5c06\u64cd\u4f5c\u7cfb\u7edf\u770b\u4f5c\u4e00\u7cfb\u5217\u5bf9\u8c61\uff08\u8fdb\u7a0b/\u7ebf\u7a0b\u3001\u5730\u5740\u7a7a\u95f4\u3001\u6587\u4ef6\u3001\u8bbe\u5907\u7b49\u7b49\uff09\u4ee5\u53ca\u64cd\u4f5c\u5b83\u4eec\u7684 API \uff08\u7cfb\u7edf\u8c03\u7528\uff09\u5e76\u7ed3\u5408\u4e30\u5bcc\u7684\u5b9e\u9645\u4f8b\u5b50\u4ecb\u7ecd\u4e86\u64cd\u4f5c\u7cfb\u7edf\u662f\u5982\u4f55\u5229\u7528\u8fd9\u7cfb\u5217\u5bf9\u8c61\u865a\u62df\u5316\u786c\u4ef6\u8d44\u6e90\u5e76\u7ed9\u5e94\u7528\u8f6f\u4ef6\u63d0\u4f9b\u5404\u7c7b\u670d\u52a1\u7684\u3002\u6700\u540e\u7684\u53ef\u6301\u4e45\u5316\u90e8\u5206\uff0c\u848b\u8001\u5e08\u4ece 1-bit \u7684\u5b58\u50a8\u4ecb\u8d28\u8bb2\u8d77\uff0c\u4e00\u6b65\u6b65\u6784\u5efa\u8d77\u5404\u7c7b\u5b58\u50a8\u8bbe\u5907\uff0c\u5e76\u901a\u8fc7\u8bbe\u5907\u9a71\u52a8\u62bd\u8c61\u51fa\u4e00\u7ec4\u63a5\u53e3\u6765\u65b9\u4fbf\u5730\u8bbe\u8ba1\u4e0e\u5b9e\u73b0\u6587\u4ef6\u7cfb\u7edf\u3002\u6211\u4e4b\u524d\u867d\u7136\u4e0a\u8fc7\u8bb8\u591a\u95e8\u64cd\u4f5c\u7cfb\u7edf\u7684\u8bfe\u7a0b\uff0c\u4f46\u8fd9\u79cd\u8bb2\u6cd5\u786e\u5b9e\u72ec\u6b64\u4e00\u5bb6\uff0c\u8ba9\u6211\u6536\u83b7\u4e86\u5f88\u591a\u72ec\u5230\u7684\u89c6\u89d2\u6765\u770b\u5f85\u7cfb\u7edf\u8f6f\u4ef6\u3002 \u8fd9\u95e8\u8bfe\u9664\u4e86\u5728\u7406\u8bba\u77e5\u8bc6\u7684\u8bb2\u6388\u90e8\u5206\u5f88\u6709\u65b0\u610f\u5916\uff0c\u6ce8\u91cd\u5b9e\u8df5\u4e5f\u662f\u848b\u8001\u5e08\u7684\u4e00\u5927\u7279\u70b9\u3002\u5728\u8bfe\u5802\u548c\u7f16\u7a0b\u4f5c\u4e1a\u91cc\uff0c\u848b\u8001\u5e08\u4f1a\u6709\u610f\u65e0\u610f\u5730\u57f9\u517b\u5927\u5bb6\u9605\u8bfb\u6e90\u7801\u3001\u67e5\u9605\u624b\u518c\u7684\u80fd\u529b\uff0c\u8fd9\u4e5f\u662f\u8ba1\u7b97\u673a\u4ece\u4e1a\u8005\u5fc5\u5907\u7684\u6280\u80fd\u3002\u5728\u5b8c\u6210\u7b2c\u4e94\u4e2a MiniLab \u671f\u95f4\uff0c\u6211\u7b2c\u4e00\u6b21\u4ed4\u4ed4\u7ec6\u7ec6\u9605\u8bfb\u4e86\u5fae\u8f6f\u7684 FAT \u6587\u4ef6\u7cfb\u7edf\u624b\u518c\uff0c\u6536\u83b7\u4e86\u4e00\u6b21\u975e\u5e38\u6709\u4ef7\u503c\u7684\u7ecf\u5386\u3002 \u7f16\u7a0b\u4f5c\u4e1a\u5171\u7531 5\u4e2a MiniLab \u548c 4\u4e2a OSLab \u7ec4\u6210\u3002\u7f8e\u4e2d\u4e0d\u8db3\u7684\u662f\u4f5c\u4e1a\u7684\u8bc4\u6d4b\u673a\u662f\u4e0d\u5bf9\u6821\u5916\u5f00\u653e\u7684\uff0c\u4e0d\u8fc7\u5728\u90ae\u4ef6\u201c\u9a9a\u6270\u201d\u540e\u848b\u8001\u5e08\u8fd8\u662f\u975e\u5e38\u6177\u6168\u5730\u8ba9\u6211\u6210\u529f\u8e6d\u8bfe\u3002\u7531\u4e8e\u8bfe\u4f59\u65f6\u95f4\u6709\u9650\u6211\u53ea\u5b8c\u6210\u4e86 5\u4e2a MiniLab\uff0c\u603b\u4f53\u4f53\u9a8c\u975e\u5e38\u68d2\u3002\u5c24\u5176\u662f\u7b2c\u4e8c\u4e2a\u534f\u7a0b\u5b9e\u9a8c\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\uff0c\u5728\u4e0d\u5230\u767e\u884c\u7684\u5c0f\u5b9e\u9a8c\u91cc\u6df1\u523b\u4f53\u9a8c\u4e86\u4e0a\u4e0b\u6587\u5207\u6362\u7684\u7f8e\u5999\u4e0e\u201c\u53ef\u6015\u201d\u3002\u53e6\u5916\u5176\u5b9e\u51e0\u4e2a MiniLab \u90fd\u80fd\u975e\u5e38\u65b9\u4fbf\u5730\u8fdb\u884c\u672c\u5730\u6d4b\u8bd5\uff0c\u5c31\u7b97\u6ca1\u6709\u8bc4\u6d4b\u673a\u4e5f\u4e0d\u5f71\u54cd\u81ea\u5b66\uff0c\u56e0\u6b64\u5e0c\u671b\u5927\u5bb6\u4e0d\u8981\u805a\u4f17\u201c\u9a9a\u6270\u201d\u8001\u5e08\u4ee5\u56fe\u8e6d\u8bfe\u3002 \u6700\u540e\u518d\u6b21\u611f\u8c22\u848b\u8001\u5e08\u8bbe\u8ba1\u5e76\u5f00\u653e\u4e86\u8fd9\u6837\u4e00\u95e8\u975e\u5e38\u68d2\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\uff0c\u8fd9\u4e5f\u662f\u672c\u4e66\u6536\u5f55\u7684\u7b2c\u4e00\u95e8\u56fd\u5185\u9ad8\u6821\u81ea\u4e3b\u5f00\u8bbe\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002\u6b63\u662f\u6709\u848b\u8001\u5e08\u8fd9\u4e9b\u5e74\u8f7b\u7684\u65b0\u751f\u4ee3\u6559\u5e08\u5728\u7e41\u91cd\u7684 Tenure \u8003\u6838\u4e4b\u4f59\u7684\u7528\u7231\u53d1\u7535\uff0c\u624d\u8ba9\u65e0\u6570\u5b66\u5b50\u6536\u83b7\u4e86\u96be\u5fd8\u7684\u672c\u79d1\u751f\u6daf\u3002\u4e5f\u671f\u5f85\u56fd\u5185\u80fd\u6709\u66f4\u591a\u8fd9\u6837\u7684\u826f\u5fc3\u597d\u8bfe\uff0c\u6211\u4e5f\u4f1a\u7b2c\u4e00\u65f6\u95f4\u6536\u5f55\u8fdb\u672c\u4e66\u4e2d\u8ba9\u66f4\u591a\u4eba\u53d7\u76ca\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://jyywiki.cn/OS/2022/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://space.bilibili.com/202224425/channel/collectiondetail?sid=192498 \u8bfe\u7a0b\u6559\u6750\uff1a http://pages.cs.wisc.edu/~remzi/OSTEP/ \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://jyywiki.cn/OS/2022/","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/#_3","text":"\u6309\u848b\u8001\u5e08\u7684\u8981\u6c42\uff0c\u6211\u7684\u4f5c\u4e1a\u5b9e\u73b0\u6ca1\u6709\u5f00\u6e90\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/","text":"MIT18.06: Linear Algebra Descriptions Offered by: MIT Prerequisites: English Programming languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: Varying from person to person Gilbert Strang, a great mathematician at MIT, still insists on teaching in his eighties. His classic text book Introduction to Linear Algebra has been adopted as an official textbook by Tsinghua University. After reading the PDF version, I felt deeply guilty and spent more than 200 yuan to purchase a genuine version in English as collection. The cover of this book is attached below. If you can fully understand the mathematical meaning of the cover picture, then your understanding of linear algebra will definitely reach a new height. In addition to the course materials, the famous Youtuber 3Blue1Brown 's video series The Essence of Linear Algebra are also great learning resources. Resources Course Website: https://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebra-fall-2011/syllabus/ Recordings: refer to the course website Textbook: Introduction to Linear Algebra, Gilbert Strang Assignments: refer to the course website","title":"MIT18.06: Linear Algebra"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/#mit1806-linear-algebra","text":"","title":"MIT18.06: Linear Algebra"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/#descriptions","text":"Offered by: MIT Prerequisites: English Programming languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: Varying from person to person Gilbert Strang, a great mathematician at MIT, still insists on teaching in his eighties. His classic text book Introduction to Linear Algebra has been adopted as an official textbook by Tsinghua University. After reading the PDF version, I felt deeply guilty and spent more than 200 yuan to purchase a genuine version in English as collection. The cover of this book is attached below. If you can fully understand the mathematical meaning of the cover picture, then your understanding of linear algebra will definitely reach a new height. In addition to the course materials, the famous Youtuber 3Blue1Brown 's video series The Essence of Linear Algebra are also great learning resources.","title":"Descriptions"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/#resources","text":"Course Website: https://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebra-fall-2011/syllabus/ Recordings: refer to the course website Textbook: Introduction to Linear Algebra, Gilbert Strang Assignments: refer to the course website","title":"Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/","text":"MIT Calculus Course Descriptions Offered by: MIT Prerequisites: English Programming Languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: Varying from person to person The calculus course at MIT consists of MIT18.01: Single Variable Calculus and MIT18.02: Multivariable Calculus. If you are confident in your math, you can just read the course notes, which are written in a very simple and vivid way, so that you will not be tired of doing homework but can really see the essence of calculus. In addition to the course materials, the famous Youtuber 3Blue1Brown 's video series The Essence of Calculus are also great learning resources. Course Resources Course Website: 18.01 , 18.02 Recordings: refer to course website Textbook: refer to course website Assignments: refer to course website","title":"MIT18.01/18.02: Calculus"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/#mit-calculus-course","text":"","title":"MIT Calculus Course"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/#descriptions","text":"Offered by: MIT Prerequisites: English Programming Languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: Varying from person to person The calculus course at MIT consists of MIT18.01: Single Variable Calculus and MIT18.02: Multivariable Calculus. If you are confident in your math, you can just read the course notes, which are written in a very simple and vivid way, so that you will not be tired of doing homework but can really see the essence of calculus. In addition to the course materials, the famous Youtuber 3Blue1Brown 's video series The Essence of Calculus are also great learning resources.","title":"Descriptions"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/#course-resources","text":"Course Website: 18.01 , 18.02 Recordings: refer to course website Textbook: refer to course website Assignments: refer to course website","title":"Course Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/","text":"MIT6.050J: Information theory and Entropy Descriptions Offered by: MIT Prerequisites: None Programming Languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is MIT's introductory information theory course for freshmen, Professor Penfield has written a special textbook for this course as course notes, which is in-depth and interesting. Course Resources Course Website: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-050j-information-and-entropy-spring-2008/index.htm Textbook: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-050j-information-and-entropy-spring-2008/syllabus/MIT6_050JS08_textbook.pdf Assignments: see the course website for details, including written assignments and Matlab programming assignments.","title":"MIT6.050J: Information theory and Entropy"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/#mit6050j-information-theory-and-entropy","text":"","title":"MIT6.050J: Information theory and Entropy"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/#descriptions","text":"Offered by: MIT Prerequisites: None Programming Languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is MIT's introductory information theory course for freshmen, Professor Penfield has written a special textbook for this course as course notes, which is in-depth and interesting.","title":"Descriptions"},{"location":"en/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/#course-resources","text":"Course Website: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-050j-information-and-entropy-spring-2008/index.htm Textbook: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-050j-information-and-entropy-spring-2008/syllabus/MIT6_050JS08_textbook.pdf Assignments: see the course website for details, including written assignments and Matlab programming assignments.","title":"Course Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/","text":"MIT 6.042J: Mathematics for Computer Science Descriptions Offered by: MIT Prerequisites: Calculus, Linear Algebra Programming Languages: Python preferred Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 50-70 hours This is MIT\u2018s discrete mathematics and probability course taught by the notable Tom Leighton (co-founder of Akamai). It is very useful for learning algorithms subsequently. Course Resources Course Website: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/ Recordings: https://www.youtube.com/playlist?list=PLB7540DEDD482705B Assignments: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/assignments/","title":"MIT 6.042J: Mathematics for Computer Science"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/#mit-6042j-mathematics-for-computer-science","text":"","title":"MIT 6.042J: Mathematics for Computer Science"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/#descriptions","text":"Offered by: MIT Prerequisites: Calculus, Linear Algebra Programming Languages: Python preferred Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 50-70 hours This is MIT\u2018s discrete mathematics and probability course taught by the notable Tom Leighton (co-founder of Akamai). It is very useful for learning algorithms subsequently.","title":"Descriptions"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/#course-resources","text":"Course Website: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/ Recordings: https://www.youtube.com/playlist?list=PLB7540DEDD482705B Assignments: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/assignments/","title":"Course Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/","text":"UCB CS126 : Probability theory Descriptions Offered by: UC Berkeley Prerequisites: CS70, Calculus, Linear Algebra Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is Berkeley's advanced probability course, which involves relatively advanced theoretical content such as statistics and stochastic processes, so a solid mathematical foundation is required. But as long as you stick with it you will certainly take your mastery of probability theory to a new level. The course is designed by Professor Jean Walrand, who has written an accompanying textbook, Probability in Electrical Engineering and Computer Science , in which each chapter uses a specific algorithm as a practical example to demonstrate the application of theory in practice. Such as PageRank, Route Planing, Speech Recognition, etc. The book is open source and can be downloaded as a free PDF or Epub version. Jean Walrand has also created accompanying Python implementations of the examples throughout the book, which are published online as Jupyter Notebook that readers can modify, debug and run them online interactively. In addition to the Homework, nine Labs will allow you to use probability theory to solve practical problems in Python. Course Resources Course Website: https://inst.eecs.berkeley.edu/~ee126/fa20/content.html Textbook: PDF , Epub , Jupyter Notebook Assignments: refer to the course website. Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/EECS126 - GitHub","title":"UCB CS126: probability theory"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#ucb-cs126-probability-theory","text":"","title":"UCB CS126 : Probability theory"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#descriptions","text":"Offered by: UC Berkeley Prerequisites: CS70, Calculus, Linear Algebra Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is Berkeley's advanced probability course, which involves relatively advanced theoretical content such as statistics and stochastic processes, so a solid mathematical foundation is required. But as long as you stick with it you will certainly take your mastery of probability theory to a new level. The course is designed by Professor Jean Walrand, who has written an accompanying textbook, Probability in Electrical Engineering and Computer Science , in which each chapter uses a specific algorithm as a practical example to demonstrate the application of theory in practice. Such as PageRank, Route Planing, Speech Recognition, etc. The book is open source and can be downloaded as a free PDF or Epub version. Jean Walrand has also created accompanying Python implementations of the examples throughout the book, which are published online as Jupyter Notebook that readers can modify, debug and run them online interactively. In addition to the Homework, nine Labs will allow you to use probability theory to solve practical problems in Python.","title":"Descriptions"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#course-resources","text":"Course Website: https://inst.eecs.berkeley.edu/~ee126/fa20/content.html Textbook: PDF , Epub , Jupyter Notebook Assignments: refer to the course website.","title":"Course Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/EECS126 - GitHub","title":"Personal Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/","text":"UCB CS70: Discrete Math and Probability Theory Descriptions Offered by: UC Berkeley Prerequisites: None Programming Languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 60 hours This is Berkeley's introductory discrete mathematics course. The biggest highlight of this course is that it not only teaches you theoretical knowledge, but also introduce the applications of theoretical knowledge in practical algorithms in each module. In this way, students majoring in CS can understand the essence of theoretical knowledge and use it in practice rather than struggle with cold formal mathematical symbols. Specific theory-algorithm correspondences are listed below. Logic proof: stable matching algorithm Graph theory: network topology design Basic number theory: RSA algorithm Polynomial ring: error-correcting code design Probability theory: Hash table design, load balancing, etc. The course notes are also written in a very in-depth manner, with derivations of formulas and practical examples, providing a good reading experience. Course Resources Course Website: http://www.eecs70.org/ Textbook: refer to the course website Assignments: refer to the course website Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/UCB-CS70 - GitHub","title":"UCB CS70: discrete Math and probability theory"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#ucb-cs70-discrete-math-and-probability-theory","text":"","title":"UCB CS70: Discrete Math and Probability Theory"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#descriptions","text":"Offered by: UC Berkeley Prerequisites: None Programming Languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 60 hours This is Berkeley's introductory discrete mathematics course. The biggest highlight of this course is that it not only teaches you theoretical knowledge, but also introduce the applications of theoretical knowledge in practical algorithms in each module. In this way, students majoring in CS can understand the essence of theoretical knowledge and use it in practice rather than struggle with cold formal mathematical symbols. Specific theory-algorithm correspondences are listed below. Logic proof: stable matching algorithm Graph theory: network topology design Basic number theory: RSA algorithm Polynomial ring: error-correcting code design Probability theory: Hash table design, load balancing, etc. The course notes are also written in a very in-depth manner, with derivations of formulas and practical examples, providing a good reading experience.","title":"Descriptions"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#course-resources","text":"Course Website: http://www.eecs70.org/ Textbook: refer to the course website Assignments: refer to the course website","title":"Course Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/UCB-CS70 - GitHub","title":"Personal Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/","text":"The Information Theory, Pattern Recognition, and Neural Networks Descriptions Offered by: Cambridge Prerequisites: Calculus, Linear Algebra, Probabilities and Statistics Programming Languages: Anything would be OK, Python preferred Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 30-50 hours This is a course on information theory taught by Sir David MacKay at the University of Cambridge. The professor is a very famous scholar in information theory and neural networks, and the textbook for the course is a classic work in the field of information theory. Unfortunately, those whom God loves die young ... Course Resources Course Website: http://www.inference.org.uk/mackay/itila/ Recordings: https://www.youtube.com/playlist?list=PLruBu5BI5n4aFpG32iMbdWoRVAA-Vcso6 Textbooks: Information Theory, Inference, and Learning Algorithms Assignments: At the end of each lesson video, there are post-lesson exercises from the textbook R.I.P Prof. David MacKay","title":"The Information Theory, Pattern Recognition, and Neural Networks"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/#the-information-theory-pattern-recognition-and-neural-networks","text":"","title":"The Information Theory, Pattern Recognition, and Neural Networks"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/#descriptions","text":"Offered by: Cambridge Prerequisites: Calculus, Linear Algebra, Probabilities and Statistics Programming Languages: Anything would be OK, Python preferred Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 30-50 hours This is a course on information theory taught by Sir David MacKay at the University of Cambridge. The professor is a very famous scholar in information theory and neural networks, and the textbook for the course is a classic work in the field of information theory. Unfortunately, those whom God loves die young ...","title":"Descriptions"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/#course-resources","text":"Course Website: http://www.inference.org.uk/mackay/itila/ Recordings: https://www.youtube.com/playlist?list=PLruBu5BI5n4aFpG32iMbdWoRVAA-Vcso6 Textbooks: Information Theory, Inference, and Learning Algorithms Assignments: At the end of each lesson video, there are post-lesson exercises from the textbook","title":"Course Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/#rip-prof-david-mackay","text":"","title":"R.I.P Prof. David MacKay"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/","text":"Stanford EE364A: Convex Optimization Descriptions Offered by: Stanford Prerequisites: Python, Calculus, Linear Algebra, Probability Theory, Numerical Analysis Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours Professor Stephen Boyd is a great expert in the field of convex optimization and his textbook Convex Optimization has been adopted by many prestigious universities. His team has also developed a programming framework for solving common convex optimization problems in Python, Julia, and other popular programming languages, and its homework assignments also use this programming framework to solve real-life convex optimization problems. In practice, you will deeply understand that for the same problem, a small change in the modeling process can make a world of difference in the difficulty of solving the equation. It is an art to make the equations you formulate \"convex\". Course Resources Course Website: http://stanford.edu/class/ee364a/index.html Recordings: https://www.youtube.com/watch?v=VNON98dKjno&list=PLoCMsyE1cvdXeoqd1hGaMBsCAQQ6otUtO Textbook: Convex Optimization Assignments: refer to the course website Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPic/Standford_CVX101 - GitHub","title":"Standford EE364A: Convex Optimization"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#stanford-ee364a-convex-optimization","text":"","title":"Stanford EE364A: Convex Optimization"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#descriptions","text":"Offered by: Stanford Prerequisites: Python, Calculus, Linear Algebra, Probability Theory, Numerical Analysis Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours Professor Stephen Boyd is a great expert in the field of convex optimization and his textbook Convex Optimization has been adopted by many prestigious universities. His team has also developed a programming framework for solving common convex optimization problems in Python, Julia, and other popular programming languages, and its homework assignments also use this programming framework to solve real-life convex optimization problems. In practice, you will deeply understand that for the same problem, a small change in the modeling process can make a world of difference in the difficulty of solving the equation. It is an art to make the equations you formulate \"convex\".","title":"Descriptions"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#course-resources","text":"Course Website: http://stanford.edu/class/ee364a/index.html Recordings: https://www.youtube.com/watch?v=VNON98dKjno&list=PLoCMsyE1cvdXeoqd1hGaMBsCAQQ6otUtO Textbook: Convex Optimization Assignments: refer to the course website","title":"Course Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPic/Standford_CVX101 - GitHub","title":"Personal Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/","text":"MIT18.330 : Introduction to numerical analysis Descriptions Offered by: MIT Prerequisites: Calculus, Linear Algebra, Probability theory Programming Languages: Julia Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours While the computational power of computers has been helping people to push boundaries of science, there is a natural barrier between the discrete nature of computers and this continuous world, and how to use discrete representations to estimate and approximate those mathematically continuous concepts is an important theme in numerical analysis. This course will explore various numerical analysis methods in the areas of floating-point representation, equation solving, linear algebra, calculus, and differential equations, allowing you to understand (1) how to design estimation (2) how to estimate errors (3) how to implement algorithms in Julia. There are also plenty of programming assignments to practice these ideas. The designers of this course have also written an open source textbook for this course (see the link below) with plenty of Julia examples. Course Resources Course Website: https://github.com/mitmath/18330 Textbook: https://fncbook.github.io/fnc/frontmatter.html Assignments: 10 problem sets Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPic/MIT18.330 - GitHub","title":"MIT18.330: Introduction to numerical analysis"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#mit18330-introduction-to-numerical-analysis","text":"","title":"MIT18.330 : Introduction to numerical analysis"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#descriptions","text":"Offered by: MIT Prerequisites: Calculus, Linear Algebra, Probability theory Programming Languages: Julia Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours While the computational power of computers has been helping people to push boundaries of science, there is a natural barrier between the discrete nature of computers and this continuous world, and how to use discrete representations to estimate and approximate those mathematically continuous concepts is an important theme in numerical analysis. This course will explore various numerical analysis methods in the areas of floating-point representation, equation solving, linear algebra, calculus, and differential equations, allowing you to understand (1) how to design estimation (2) how to estimate errors (3) how to implement algorithms in Julia. There are also plenty of programming assignments to practice these ideas. The designers of this course have also written an open source textbook for this course (see the link below) with plenty of Julia examples.","title":"Descriptions"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#course-resources","text":"Course Website: https://github.com/mitmath/18330 Textbook: https://fncbook.github.io/fnc/frontmatter.html Assignments: 10 problem sets","title":"Course Resources"},{"location":"en/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPic/MIT18.330 - GitHub","title":"Personal Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/","text":"CMU 15-445: Database Systems Descriptions Offered by: CMU Prerequisites: C++, Data Structures and Algorithms Programming Languages: C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is an introductory course on databases at CMU taught by Andy Pavlo, a great expert in the field of databases. It teaches the basic topics of database systems from the bottom up, covering storage management, indexing, query processing, concurrency control, transactions, and so on. The course project Bustub is an educational database system developed at CMU by the course instructors. During the semester, you will modify this database to implement the functions mentioned above. Moreover, as a well-written project in C++, Bustub obeys many modern development best practices, such as code specification, unit testing, cmake module build, etc. So it can be an excellent open source project to study. Resources Course Website: Fall2019 , Fall2020 , Fall2021 Recording: refer to the course website. Textbook: Database System Concepts Assignments: 4 Projects In Fall 2019, the second Project is to implement a hash table, and the fourth Project is to implement Logging, Recovery, and Checkpoints in your database system. In Fall 2020, the second Project is to implement B+Tree dynamic index structure, and the fourth Project is to implement concurrency control. In Fall 2021, the first Project is to implement a buffer pool, the second Project is to implement a hash table, and the fourth Project is to implement concurrency control. If you have more time you can try them all, and when you do not understand the textbook very well, trying to implement the real system will deepen your understanding. Personal Resources All the resources and assignments used by @ysj1173886760 in this course are maintained in ysj1173886760/Learning:db - GitHub . Due to Andy's request, the repository does not contain the source code for the project, only the solution for homework. In particular, for Homework1, @ysj1173886760 wrote a shell script to help you evaluate your solution automatically. After the course, it is recommended to read the paper Architecture Of a Database System . This paper provides an overview of the overall architecture of database systems so that you can have a more comprehensive view of the database. Advanced courses CMU15-721 is a graduate-level course on advanced database system topics. It mainly focuses on the in-memory database, and each class has a corresponding paper to read. It is suitable for those who wish to do research in the field of databases. @ysj1173886760 is currently following up on this course and will create a pull request here after completing it to provide advanced guidance.","title":"CMU 15-445: Database Systems"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#cmu-15-445-database-systems","text":"","title":"CMU 15-445: Database Systems"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#descriptions","text":"Offered by: CMU Prerequisites: C++, Data Structures and Algorithms Programming Languages: C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is an introductory course on databases at CMU taught by Andy Pavlo, a great expert in the field of databases. It teaches the basic topics of database systems from the bottom up, covering storage management, indexing, query processing, concurrency control, transactions, and so on. The course project Bustub is an educational database system developed at CMU by the course instructors. During the semester, you will modify this database to implement the functions mentioned above. Moreover, as a well-written project in C++, Bustub obeys many modern development best practices, such as code specification, unit testing, cmake module build, etc. So it can be an excellent open source project to study.","title":"Descriptions"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#resources","text":"Course Website: Fall2019 , Fall2020 , Fall2021 Recording: refer to the course website. Textbook: Database System Concepts Assignments: 4 Projects In Fall 2019, the second Project is to implement a hash table, and the fourth Project is to implement Logging, Recovery, and Checkpoints in your database system. In Fall 2020, the second Project is to implement B+Tree dynamic index structure, and the fourth Project is to implement concurrency control. In Fall 2021, the first Project is to implement a buffer pool, the second Project is to implement a hash table, and the fourth Project is to implement concurrency control. If you have more time you can try them all, and when you do not understand the textbook very well, trying to implement the real system will deepen your understanding.","title":"Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#personal-resources","text":"All the resources and assignments used by @ysj1173886760 in this course are maintained in ysj1173886760/Learning:db - GitHub . Due to Andy's request, the repository does not contain the source code for the project, only the solution for homework. In particular, for Homework1, @ysj1173886760 wrote a shell script to help you evaluate your solution automatically. After the course, it is recommended to read the paper Architecture Of a Database System . This paper provides an overview of the overall architecture of database systems so that you can have a more comprehensive view of the database.","title":"Personal Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#advanced-courses","text":"CMU15-721 is a graduate-level course on advanced database system topics. It mainly focuses on the in-memory database, and each class has a corresponding paper to read. It is suitable for those who wish to do research in the field of databases. @ysj1173886760 is currently following up on this course and will create a pull request here after completing it to provide advanced guidance.","title":"Advanced courses"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15799/","text":"CMU 15-799: Special Topics in Database Systems \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aCMU 15-445 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u76ee\u524d\u53ea\u5f00\u4e86\u4e24\u6b21\uff1afall2013 \u548c spring2022\uff0c\u8ba8\u8bba\u4e86\u6570\u636e\u5e93\u9886\u57df\u7684\u4e00\u4e9b\u524d\u6cbf\u4e3b\u9898\u3002fall2013 \u8ba8\u8bba\u4e86 Streaming\u3001Graph DB\u3001NVM \u7b49\uff0cspring2022 \u4e3b\u8981\u8ba8\u8bba Self-Driving DBMS\uff0c\u90fd\u63d0\u4f9b\u6709\u76f8\u5173\u8bba\u6587\u3002 spring2022 \u7248\u8bfe\u7a0b\u4efb\u52a1\uff1a \u4efb\u52a1\u4e00\uff1a\u57fa\u4e8e PostgreSQL \u8fdb\u884c\u624b\u52a8\u6027\u80fd\u8c03\u4f18\uff1b \u4efb\u52a1\u4e8c\uff1a\u57fa\u4e8e NoisePage Pilot \u6539\u8fdb Self-Driving DBMS\uff0c\u4e0d\u9650\u7279\u6027\u3002 \u6388\u8bfe\u66f4\u8d34\u8fd1\u8bb2\u5ea7\u7684\u5f62\u5f0f\uff0c\u7f16\u7a0b\u4efb\u52a1\u8f83\u5c11\u3002\u5bf9\u4e00\u822c\u540c\u5b66\u53ef\u4ee5\u5f00\u62d3\u4e00\u4e0b\u89c6\u91ce\uff0c\u5bf9\u4e13\u7cbe\u6570\u636e\u5e93\u7684\u540c\u5b66\u53ef\u80fd\u5e2e\u52a9\u8f83\u5927\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u4e3b\u9875 CMU15-799 - Special Topics in Database Systems CMU15-799 - Special Topics: Self-Driving Database Management Systems \u8bfe\u7a0b\u89c6\u9891\uff1a\u6682\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a2 Projects + 1 Group Project","title":"CMU 15-799: Special Topics in Database Systems"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15799/#cmu-15-799-special-topics-in-database-systems","text":"","title":"CMU 15-799: Special Topics in Database Systems"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15799/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aCMU 15-445 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u76ee\u524d\u53ea\u5f00\u4e86\u4e24\u6b21\uff1afall2013 \u548c spring2022\uff0c\u8ba8\u8bba\u4e86\u6570\u636e\u5e93\u9886\u57df\u7684\u4e00\u4e9b\u524d\u6cbf\u4e3b\u9898\u3002fall2013 \u8ba8\u8bba\u4e86 Streaming\u3001Graph DB\u3001NVM \u7b49\uff0cspring2022 \u4e3b\u8981\u8ba8\u8bba Self-Driving DBMS\uff0c\u90fd\u63d0\u4f9b\u6709\u76f8\u5173\u8bba\u6587\u3002 spring2022 \u7248\u8bfe\u7a0b\u4efb\u52a1\uff1a \u4efb\u52a1\u4e00\uff1a\u57fa\u4e8e PostgreSQL \u8fdb\u884c\u624b\u52a8\u6027\u80fd\u8c03\u4f18\uff1b \u4efb\u52a1\u4e8c\uff1a\u57fa\u4e8e NoisePage Pilot \u6539\u8fdb Self-Driving DBMS\uff0c\u4e0d\u9650\u7279\u6027\u3002 \u6388\u8bfe\u66f4\u8d34\u8fd1\u8bb2\u5ea7\u7684\u5f62\u5f0f\uff0c\u7f16\u7a0b\u4efb\u52a1\u8f83\u5c11\u3002\u5bf9\u4e00\u822c\u540c\u5b66\u53ef\u4ee5\u5f00\u62d3\u4e00\u4e0b\u89c6\u91ce\uff0c\u5bf9\u4e13\u7cbe\u6570\u636e\u5e93\u7684\u540c\u5b66\u53ef\u80fd\u5e2e\u52a9\u8f83\u5927\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15799/#_2","text":"\u8bfe\u7a0b\u4e3b\u9875 CMU15-799 - Special Topics in Database Systems CMU15-799 - Special Topics: Self-Driving Database Management Systems \u8bfe\u7a0b\u89c6\u9891\uff1a\u6682\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a2 Projects + 1 Group Project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/","text":"Caltech CS 122: Database System Implementation \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCaltech \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u52a0\u5dde\u7406\u5de5\u7684\u8fd9\u95e8\u8bfe\uff0c\u4e0d\u540c\u4e8e\u6ca1\u6709\u63d0\u4f9b SQL \u5c42\u529f\u80fd\u7684 CMU15-445 \u8bfe\u7a0b\u3002CS122 \u8bfe\u7a0b Lab \u7684\u4fa7\u91cd\u70b9\u5728\u4e8e SQL \u5c42\u7684\u76f8\u5173\u5b9e\u73b0\uff0c\u6d89\u53ca\u67e5\u8be2\u4f18\u5316\u5668\u7684\u5404\u4e2a\u6a21\u5757\uff0c\u6bd4\u5982SQL\u7684\u89e3\u6790\uff0cTranslate\uff0c\u5982\u4f55\u5b9e\u73b0 Join\uff0c\u7edf\u8ba1\u4fe1\u606f\u4ee5\u53ca\u4ee3\u4ef7\u4f30\u8ba1\uff0c\u5b50\u67e5\u8be2\u5b9e\u73b0\uff0cAgg\uff0cGroup By \u7684\u5b9e\u73b0\u7b49\u3002\u9664\u6b64\u4e4b\u5916\uff0c\u8fd8\u6709 B+\u6811\uff0cWAL \u76f8\u5173\u5b9e\u9a8c\u3002\u672c\u95e8\u8bfe\u7a0b\u9002\u5408\u5728\u5b66\u5b8c CMU15-445 \u8bfe\u7a0b\u4e4b\u540e\uff0c\u5bf9\u67e5\u8be2\u4f18\u5316\u76f8\u5173\u5185\u5bb9\u6709\u5174\u8da3\u7684\u540c\u5b66\u3002 \u4e0b\u9762\u4ecb\u7ecd\u4e00\u4e0b\u8fd9\u95e8\u8bfe\u7684\u524d 3 \u4e2a Assignment \u4e5f\u5c31\u662f\u5b9e\u9a8c Lab \u6240\u8981\u5b9e\u73b0\u7684\u529f\u80fd\uff1a Assignment1 \u4e3a NanoDB \u63d0\u4f9b delete\uff0cupdate \u8bed\u53e5\u7684\u652f\u6301\u3002 \u4e3a Buffer Pool Manager \u6dfb\u52a0\u5408\u9002\u7684 pin/unpin \u4ee3\u7801\u3002 \u63d0\u5347 insert \u8bed\u53e5\u7684\u6027\u80fd\uff0c \u540c\u65f6\u4e0d\u4f7f\u6570\u636e\u5e93\u6587\u4ef6\u5927\u5c0f\u8fc7\u5206\u81a8\u80c0\u3002 Assignment2 \u5b9e\u73b0\u4e00\u4e2a\u7b80\u5355\u7684\u8ba1\u5212\u751f\u6210\u5668\uff0c\u5c06\u5404\u79cd\u5df2\u7ecf Parser \u8fc7\u7684 SQL \u8bed\u53e5\u8f6c\u5316\u4e3a\u53ef\u6267\u884c\u7684\u6267\u884c\u8ba1\u5212\u3002 \u4f7f\u7528 nested-loop join \u7b97\u6cd5\uff0c\u5b9e\u73b0\u652f\u6301 inner- and outer-join \u7684 Join \u8ba1\u5212\u8282\u70b9\u3002 \u6dfb\u52a0\u4e00\u4e9b\u5355\u5143\u6d4b\u8bd5\uff0c \u4fdd\u8bc1 inner- and outer-join \u529f\u80fd\u5b9e\u73b0\u6b63\u786e\u3002 Assignment3 \u5b8c\u6210\u6536\u96c6\u8868\u7684\u7edf\u8ba1\u4fe1\u606f\u3002 \u5b8c\u6210\u5404\u79cd\u8ba1\u5212\u8282\u70b9\u7684\u8ba1\u5212\u6210\u672c\u8ba1\u7b97\u3002 \u8ba1\u7b97\u53ef\u51fa\u73b0\u5728\u6267\u884c\u8ba1\u5212\u4e2d\u7684\u5404\u79cd\u8c13\u8bcd\u7684\u9009\u62e9\u6027\u3002 \u6839\u636e\u8c13\u8bcd\u66f4\u65b0\u8ba1\u5212\u8282\u70b9\u8f93\u51fa\u7684\u5143\u7ec4\u7edf\u8ba1\u4fe1\u606f\u3002 \u5269\u4f59 Assignment \u548c Challenges \u53ef\u4ee5\u67e5\u770b\u8bfe\u7a0b\u4ecb\u7ecd\uff0c\u63a8\u8350\u4f7f\u7528 IDEA \u6253\u5f00\u5de5\u7a0b\uff0cMaven \u6784\u5efa\uff0c\u6ce8\u610f\u65e5\u5fd7\u76f8\u5173\u914d\u7f6e\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://courses.cms.caltech.edu/cs122/ \u8bfe\u7a0b\u4ee3\u7801\uff1a https://gitlab.caltech.edu/cs122-19wi \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 Assignments + 2 Challenges","title":"Caltech CS122: Database System Implementation"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#caltech-cs-122-database-system-implementation","text":"","title":"Caltech CS 122: Database System Implementation"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCaltech \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 \u52a0\u5dde\u7406\u5de5\u7684\u8fd9\u95e8\u8bfe\uff0c\u4e0d\u540c\u4e8e\u6ca1\u6709\u63d0\u4f9b SQL \u5c42\u529f\u80fd\u7684 CMU15-445 \u8bfe\u7a0b\u3002CS122 \u8bfe\u7a0b Lab \u7684\u4fa7\u91cd\u70b9\u5728\u4e8e SQL \u5c42\u7684\u76f8\u5173\u5b9e\u73b0\uff0c\u6d89\u53ca\u67e5\u8be2\u4f18\u5316\u5668\u7684\u5404\u4e2a\u6a21\u5757\uff0c\u6bd4\u5982SQL\u7684\u89e3\u6790\uff0cTranslate\uff0c\u5982\u4f55\u5b9e\u73b0 Join\uff0c\u7edf\u8ba1\u4fe1\u606f\u4ee5\u53ca\u4ee3\u4ef7\u4f30\u8ba1\uff0c\u5b50\u67e5\u8be2\u5b9e\u73b0\uff0cAgg\uff0cGroup By \u7684\u5b9e\u73b0\u7b49\u3002\u9664\u6b64\u4e4b\u5916\uff0c\u8fd8\u6709 B+\u6811\uff0cWAL \u76f8\u5173\u5b9e\u9a8c\u3002\u672c\u95e8\u8bfe\u7a0b\u9002\u5408\u5728\u5b66\u5b8c CMU15-445 \u8bfe\u7a0b\u4e4b\u540e\uff0c\u5bf9\u67e5\u8be2\u4f18\u5316\u76f8\u5173\u5185\u5bb9\u6709\u5174\u8da3\u7684\u540c\u5b66\u3002 \u4e0b\u9762\u4ecb\u7ecd\u4e00\u4e0b\u8fd9\u95e8\u8bfe\u7684\u524d 3 \u4e2a Assignment \u4e5f\u5c31\u662f\u5b9e\u9a8c Lab \u6240\u8981\u5b9e\u73b0\u7684\u529f\u80fd\uff1a","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#assignment1","text":"\u4e3a NanoDB \u63d0\u4f9b delete\uff0cupdate \u8bed\u53e5\u7684\u652f\u6301\u3002 \u4e3a Buffer Pool Manager \u6dfb\u52a0\u5408\u9002\u7684 pin/unpin \u4ee3\u7801\u3002 \u63d0\u5347 insert \u8bed\u53e5\u7684\u6027\u80fd\uff0c \u540c\u65f6\u4e0d\u4f7f\u6570\u636e\u5e93\u6587\u4ef6\u5927\u5c0f\u8fc7\u5206\u81a8\u80c0\u3002","title":"Assignment1"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#assignment2","text":"\u5b9e\u73b0\u4e00\u4e2a\u7b80\u5355\u7684\u8ba1\u5212\u751f\u6210\u5668\uff0c\u5c06\u5404\u79cd\u5df2\u7ecf Parser \u8fc7\u7684 SQL \u8bed\u53e5\u8f6c\u5316\u4e3a\u53ef\u6267\u884c\u7684\u6267\u884c\u8ba1\u5212\u3002 \u4f7f\u7528 nested-loop join \u7b97\u6cd5\uff0c\u5b9e\u73b0\u652f\u6301 inner- and outer-join \u7684 Join \u8ba1\u5212\u8282\u70b9\u3002 \u6dfb\u52a0\u4e00\u4e9b\u5355\u5143\u6d4b\u8bd5\uff0c \u4fdd\u8bc1 inner- and outer-join \u529f\u80fd\u5b9e\u73b0\u6b63\u786e\u3002","title":"Assignment2"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#assignment3","text":"\u5b8c\u6210\u6536\u96c6\u8868\u7684\u7edf\u8ba1\u4fe1\u606f\u3002 \u5b8c\u6210\u5404\u79cd\u8ba1\u5212\u8282\u70b9\u7684\u8ba1\u5212\u6210\u672c\u8ba1\u7b97\u3002 \u8ba1\u7b97\u53ef\u51fa\u73b0\u5728\u6267\u884c\u8ba1\u5212\u4e2d\u7684\u5404\u79cd\u8c13\u8bcd\u7684\u9009\u62e9\u6027\u3002 \u6839\u636e\u8c13\u8bcd\u66f4\u65b0\u8ba1\u5212\u8282\u70b9\u8f93\u51fa\u7684\u5143\u7ec4\u7edf\u8ba1\u4fe1\u606f\u3002 \u5269\u4f59 Assignment \u548c Challenges \u53ef\u4ee5\u67e5\u770b\u8bfe\u7a0b\u4ecb\u7ecd\uff0c\u63a8\u8350\u4f7f\u7528 IDEA \u6253\u5f00\u5de5\u7a0b\uff0cMaven \u6784\u5efa\uff0c\u6ce8\u610f\u65e5\u5fd7\u76f8\u5173\u914d\u7f6e\u3002","title":"Assignment3"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://courses.cms.caltech.edu/cs122/ \u8bfe\u7a0b\u4ee3\u7801\uff1a https://gitlab.caltech.edu/cs122-19wi \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 Assignments + 2 Challenges","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/","text":"UCB CS186: Introduction to Database System Descriptions Offered by: UC Berkeley Prerequisites: CS61A, CS61B, CS61C Programming Languages: Java Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours How to write SQL queries? How are SQL commands disassembled, optimized, and transformed into on-disk query commands step by step? How to implement a high-concurrency database? How to implement database failure recovery? What is NoSQL? This course elaborates on the internal details of relational databases. Besides the theoretical knowledge, you will use Java to implement a real relational database that supports SQL concurrent query, B+ tree index, and failure recovery. From a practical point of view, you will have the opportunity to write SQL queries and NoSQL queries in course projects, which is very helpful for building full-stack projects. Course Resources Course Website: https://cs186berkeley.net/ Recordings: https://www.youtube.com/playlist?list=PLYp4IGUhNFmw8USiYMJvCUjZe79fvyYge Assignments: https://cs186.gitbook.io/project/ Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS186 - GitHub .","title":"UCB CS186: Introduction to Database System"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#ucb-cs186-introduction-to-database-system","text":"","title":"UCB CS186: Introduction to Database System"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#descriptions","text":"Offered by: UC Berkeley Prerequisites: CS61A, CS61B, CS61C Programming Languages: Java Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours How to write SQL queries? How are SQL commands disassembled, optimized, and transformed into on-disk query commands step by step? How to implement a high-concurrency database? How to implement database failure recovery? What is NoSQL? This course elaborates on the internal details of relational databases. Besides the theoretical knowledge, you will use Java to implement a real relational database that supports SQL concurrent query, B+ tree index, and failure recovery. From a practical point of view, you will have the opportunity to write SQL queries and NoSQL queries in course projects, which is very helpful for building full-stack projects.","title":"Descriptions"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#course-resources","text":"Course Website: https://cs186berkeley.net/ Recordings: https://www.youtube.com/playlist?list=PLYp4IGUhNFmw8USiYMJvCUjZe79fvyYge Assignments: https://cs186.gitbook.io/project/","title":"Course Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS186 - GitHub .","title":"Personal Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS346/","text":"Stanford CS 346: Database System Implementation \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 RedBase \u662f cs346 \u7684\u4e00\u4e2a\u9879\u76ee\uff0c\u5b9e\u73b0\u4e86\u4e00\u4e2a\u7b80\u6613\u7684\u6570\u636e\u5e93\u7cfb\u7edf\uff0c\u9879\u76ee\u662f\u9ad8\u5ea6\u7ed3\u6784\u5316\u7684\u3002\u6574\u4e2a\u9879\u76ee\u80fd\u591f\u88ab\u5206\u4e3a\u4ee5\u4e0b\u51e0\u4e2a\u90e8\u5206\uff08\u540c\u65f6\u4e5f\u662f 4 \u4e2a\u9700\u8981\u5b8c\u5584\u7684 lab\uff09\uff1a The record management component\uff1a\u8bb0\u5f55\u7ba1\u7406\u7ec4\u4ef6\u3002 The index component\uff1aB+ \u7d22\u5f15\u7ba1\u7406\u3002 The System Management Component\uff1addl\u8bed\u53e5\u3001\u547d\u4ee4\u884c\u5de5\u5177\u3001\u6570\u636e\u52a0\u8f7d\u547d\u4ee4\u3001\u5143\u6570\u636e\u7ba1\u7406\u3002 The Query Language Component\uff1a\u5728\u8fd9\u4e2a\u90e8\u5206\u9700\u8981\u5b9e\u73b0 RQL Redbase \u67e5\u8be2\u8bed\u8a00\u3002RQL \u8981\u5b9e\u73b0 select\u3001insert\u3001delete\u3001update \u8bed\u53e5\u3002 Extension Component\uff1a\u9664\u4e86\u4e0a\u8ff0\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u57fa\u672c\u529f\u80fd\u7ec4\u4ef6\uff0c\u8fd8\u9700\u8981\u5b9e\u73b0\u4e00\u4e2a\u6269\u5c55\u7ec4\u4ef6\uff0c\u53ef\u4ee5\u662f Blob \u7c7b\u578b\u3001 \u7f51\u7edc\u6a21\u5757\u3001\u8fde\u63a5\u7b97\u6cd5\u3001CBO \u4f18\u5316\u5668\u3001OLAP\u3001\u4e8b\u52a1\u7b49\u3002 RedBase \u9002\u5408\u5728\u5b66\u5b8c CMU-15445 \u540e\u7ee7\u7eed\u5b66\u4e60\u6570\u636e\u5e93\u7cfb\u7edf\u4e2d\u7684\u5176\u4ed6\u7ec4\u4ef6\uff0c\u56e0\u4e3a\u5176\u4ee3\u7801\u91cf\u4e0d\u591a\uff0c\u53ef\u4ee5\u65b9\u4fbf\u7684\u6839\u636e\u9700\u8981\u6269\u5c55\u4ee3\u7801\u3002\u540c\u65f6\u4ee3\u7801\u5b8c\u5168\u7531 C++ \u7f16\u5199\uff0c\u4e5f\u53ef\u4ee5\u7528\u4e8e\u7ec3\u4e60 C++ \u7f16\u7a0b\u6280\u5de7\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://web.stanford.edu/class/cs346/2015/ \u8bfe\u7a0b\u4ee3\u7801\uff1a https://github.com/junkumar/redbase.git \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 Projects + 1 Extension","title":"Stanford CS346: Database System Implementation"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS346/#stanford-cs-346-database-system-implementation","text":"","title":"Stanford CS 346: Database System Implementation"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS346/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150 \u5c0f\u65f6 RedBase \u662f cs346 \u7684\u4e00\u4e2a\u9879\u76ee\uff0c\u5b9e\u73b0\u4e86\u4e00\u4e2a\u7b80\u6613\u7684\u6570\u636e\u5e93\u7cfb\u7edf\uff0c\u9879\u76ee\u662f\u9ad8\u5ea6\u7ed3\u6784\u5316\u7684\u3002\u6574\u4e2a\u9879\u76ee\u80fd\u591f\u88ab\u5206\u4e3a\u4ee5\u4e0b\u51e0\u4e2a\u90e8\u5206\uff08\u540c\u65f6\u4e5f\u662f 4 \u4e2a\u9700\u8981\u5b8c\u5584\u7684 lab\uff09\uff1a The record management component\uff1a\u8bb0\u5f55\u7ba1\u7406\u7ec4\u4ef6\u3002 The index component\uff1aB+ \u7d22\u5f15\u7ba1\u7406\u3002 The System Management Component\uff1addl\u8bed\u53e5\u3001\u547d\u4ee4\u884c\u5de5\u5177\u3001\u6570\u636e\u52a0\u8f7d\u547d\u4ee4\u3001\u5143\u6570\u636e\u7ba1\u7406\u3002 The Query Language Component\uff1a\u5728\u8fd9\u4e2a\u90e8\u5206\u9700\u8981\u5b9e\u73b0 RQL Redbase \u67e5\u8be2\u8bed\u8a00\u3002RQL \u8981\u5b9e\u73b0 select\u3001insert\u3001delete\u3001update \u8bed\u53e5\u3002 Extension Component\uff1a\u9664\u4e86\u4e0a\u8ff0\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u57fa\u672c\u529f\u80fd\u7ec4\u4ef6\uff0c\u8fd8\u9700\u8981\u5b9e\u73b0\u4e00\u4e2a\u6269\u5c55\u7ec4\u4ef6\uff0c\u53ef\u4ee5\u662f Blob \u7c7b\u578b\u3001 \u7f51\u7edc\u6a21\u5757\u3001\u8fde\u63a5\u7b97\u6cd5\u3001CBO \u4f18\u5316\u5668\u3001OLAP\u3001\u4e8b\u52a1\u7b49\u3002 RedBase \u9002\u5408\u5728\u5b66\u5b8c CMU-15445 \u540e\u7ee7\u7eed\u5b66\u4e60\u6570\u636e\u5e93\u7cfb\u7edf\u4e2d\u7684\u5176\u4ed6\u7ec4\u4ef6\uff0c\u56e0\u4e3a\u5176\u4ee3\u7801\u91cf\u4e0d\u591a\uff0c\u53ef\u4ee5\u65b9\u4fbf\u7684\u6839\u636e\u9700\u8981\u6269\u5c55\u4ee3\u7801\u3002\u540c\u65f6\u4ee3\u7801\u5b8c\u5168\u7531 C++ \u7f16\u5199\uff0c\u4e5f\u53ef\u4ee5\u7528\u4e8e\u7ec3\u4e60 C++ \u7f16\u7a0b\u6280\u5de7\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS346/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://web.stanford.edu/class/cs346/2015/ \u8bfe\u7a0b\u4ee3\u7801\uff1a https://github.com/junkumar/redbase.git \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4 Projects + 1 Extension","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/","text":"UCB Data100: Principles and Techniques of Data Science Description Offered by: UC Berkeley Prerequisites: Data8, CS61A, Linear Algebra Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 80 hours This is Berkeley's introductory course in data science, covering the basics of data cleaning, feature extraction, data visualization, machine learning and inference, as well as common data science tools such as Pandas, Numpy, and Matplotlib. The course is also rich in interesting programming assignments, which is one of the highlights of the course. Resources Course Website: https://ds100.org Records: refer to the course website Textbook: https://www.textbook.ds100.org/intro.html Assignments: refer to the course website","title":"UCB Data100: Principles and Techniques of Data Science"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/#ucb-data100-principles-and-techniques-of-data-science","text":"","title":"UCB Data100: Principles and Techniques of Data Science"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/#description","text":"Offered by: UC Berkeley Prerequisites: Data8, CS61A, Linear Algebra Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 80 hours This is Berkeley's introductory course in data science, covering the basics of data cleaning, feature extraction, data visualization, machine learning and inference, as well as common data science tools such as Pandas, Numpy, and Matplotlib. The course is also rich in interesting programming assignments, which is one of the highlights of the course.","title":"Description"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/#resources","text":"Course Website: https://ds100.org Records: refer to the course website Textbook: https://www.textbook.ds100.org/intro.html Assignments: refer to the course website","title":"Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.006/","text":"MIT 6.006: Introduction to Algorithms Descriptions Offered by: MIT Prerequisites: Introductory level courses of programming (CS50/CS61A/CS106A or equivalent) Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours+ Probably the most precious course from the EECS department of MIT. Taught by Erik Demaine, one of the geniuses in Algorithms. Compared with CS106B/X (Data structures and algorithms using C++), 6.006 emphasizes the algorithms more. It also covers several classical data structures such as AVL trees. You may use it to learn more about algorithms after CS106B/X. Course Resources Course Website: Fall 2011 Recordings: Fall 2011 Textbooks: Introduction to Algorithms (CLRS) Assignments: Fall 2011","title":"MIT 6.006: Introduction to Algorithms"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.006/#mit-6006-introduction-to-algorithms","text":"","title":"MIT 6.006: Introduction to Algorithms"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.006/#descriptions","text":"Offered by: MIT Prerequisites: Introductory level courses of programming (CS50/CS61A/CS106A or equivalent) Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours+ Probably the most precious course from the EECS department of MIT. Taught by Erik Demaine, one of the geniuses in Algorithms. Compared with CS106B/X (Data structures and algorithms using C++), 6.006 emphasizes the algorithms more. It also covers several classical data structures such as AVL trees. You may use it to learn more about algorithms after CS106B/X.","title":"Descriptions"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.006/#course-resources","text":"Course Website: Fall 2011 Recordings: Fall 2011 Textbooks: Introduction to Algorithms (CLRS) Assignments: Fall 2011","title":"Course Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.046/","text":"MIT 6.046: Design and Analysis of Algorithms Descriptions Offered by: MIT Prerequisites: Introductory level courses of Algorithms (6.006/CS61B/CS106B/CS106X or equivalent) Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours+ Part 2 of the MIT Algorithms Trilogy. Taught by Erik Demaine, Srini Devadas, and Nancy Lynch. Compared with 6.006 where you just learn and use the algorithms directly, in 6.046 you will be required to learn a methodology to \"Design and analyze\" algorithms to solve certain problems. There are few programming exercises in this course, and most of the assignmnets are about proposing an algorithm and do some mathematical proofs. Therefore, it would be much harder than 6.006. Part 3 of the MIT Algorithms Trilogy is 6.854 Advanced Algorithms. But for the most of the exercises you'll encounter in tests and job-hunting, 6.046 is definitely enough. Course Resources Course Website: Spring 2015 Recordings: Spring 2015 Textbooks: Introduction to Algorithms (CLRS) Assignments: Spring 2015","title":"MIT 6.046: Design and Analysis of Algorithms"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.046/#mit-6046-design-and-analysis-of-algorithms","text":"","title":"MIT 6.046: Design and Analysis of Algorithms"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.046/#descriptions","text":"Offered by: MIT Prerequisites: Introductory level courses of Algorithms (6.006/CS61B/CS106B/CS106X or equivalent) Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours+ Part 2 of the MIT Algorithms Trilogy. Taught by Erik Demaine, Srini Devadas, and Nancy Lynch. Compared with 6.006 where you just learn and use the algorithms directly, in 6.046 you will be required to learn a methodology to \"Design and analyze\" algorithms to solve certain problems. There are few programming exercises in this course, and most of the assignmnets are about proposing an algorithm and do some mathematical proofs. Therefore, it would be much harder than 6.006. Part 3 of the MIT Algorithms Trilogy is 6.854 Advanced Algorithms. But for the most of the exercises you'll encounter in tests and job-hunting, 6.046 is definitely enough.","title":"Descriptions"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.046/#course-resources","text":"Course Website: Spring 2015 Recordings: Spring 2015 Textbooks: Introduction to Algorithms (CLRS) Assignments: Spring 2015","title":"Course Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/","text":"Coursera: Algorithms I & II Descriptions Offered by: Princeton Prerequisites: CS61A Programming Languages: Java Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 60 hours This is the highest rated algorithms course on Coursera , and Robert Sedgewick has the magic to make even the most complex algorithms incredibly easy to understand. To be honest, the KMP and network flow algorithms that I have been struggling with for years were made clear to me in this course, and I can even write derivations and proofs for both of them two years later. Do you feel that you forget the algorithms quickly after learning them? I think the key to fully grasping an algorithm lies in understanding the three points as follows: Why should do this? (Correctness derivation, or the essence of the entire algorithm.) How to implement it? (Talk is cheap. Show me the code.) How to use it to solve practical problems? (Bridge the gap between theory and real life.) The composition of this course covers the three points above very well. Watching the course videos and reading the professor's textbook will help you understand the essence of the algorithm and allow you to tell others why the algorithm should look like this in very simple and vivid terms. After understanding the algorithms, you can read the professor's code implementation of all the data structures and algorithms taught in the course. Note that these codes are not demos, but production-ready, time-efficient implementations. They have extensive annotations and comments, and the modularization is also quite good. I learned a lot by just reading the codes. Finally, the most exciting part of the course is the 10 high-quality projects, all with real-world backgrounds, rich test cases, and an automated scoring system (code style is also a part of the scoring). You'll get a taste of algorithms in real life. Course Resources Course Website: Algorithm I , Algorithm II Recordings: Coursera: Algorithm I , Coursera: lgorithm II , CUvids: Algorithms, 4th Edition Textbooks: Algorithms, 4th Edition Assignments: 10 Projects, the course website has specific requirements Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/Princeton-Algorithm - GitHub .","title":"Coursera: Algorithms I & II"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#coursera-algorithms-i-ii","text":"","title":"Coursera: Algorithms I & II"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#descriptions","text":"Offered by: Princeton Prerequisites: CS61A Programming Languages: Java Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 60 hours This is the highest rated algorithms course on Coursera , and Robert Sedgewick has the magic to make even the most complex algorithms incredibly easy to understand. To be honest, the KMP and network flow algorithms that I have been struggling with for years were made clear to me in this course, and I can even write derivations and proofs for both of them two years later. Do you feel that you forget the algorithms quickly after learning them? I think the key to fully grasping an algorithm lies in understanding the three points as follows: Why should do this? (Correctness derivation, or the essence of the entire algorithm.) How to implement it? (Talk is cheap. Show me the code.) How to use it to solve practical problems? (Bridge the gap between theory and real life.) The composition of this course covers the three points above very well. Watching the course videos and reading the professor's textbook will help you understand the essence of the algorithm and allow you to tell others why the algorithm should look like this in very simple and vivid terms. After understanding the algorithms, you can read the professor's code implementation of all the data structures and algorithms taught in the course. Note that these codes are not demos, but production-ready, time-efficient implementations. They have extensive annotations and comments, and the modularization is also quite good. I learned a lot by just reading the codes. Finally, the most exciting part of the course is the 10 high-quality projects, all with real-world backgrounds, rich test cases, and an automated scoring system (code style is also a part of the scoring). You'll get a taste of algorithms in real life.","title":"Descriptions"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#course-resources","text":"Course Website: Algorithm I , Algorithm II Recordings: Coursera: Algorithm I , Coursera: lgorithm II , CUvids: Algorithms, 4th Edition Textbooks: Algorithms, 4th Edition Assignments: 10 Projects, the course website has specific requirements","title":"Course Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/Princeton-Algorithm - GitHub .","title":"Personal Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/","text":"CS170: Efficient Algorithms and Intractable Problems Descriptions Offered by: UC Berkeley Prerequisites: CS61B, CS70 Programming Languages: LaTeX Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 60 hours This is Berkeley's algorithm design and analysis course. It focuses on the theoretical foundations and complexity analysis of algorithms, covering Divide-and-Conquer, Graph Algorithms, Shortest Paths, Spanning Trees, Greedy Algorithms, Dynamic programming, Union Finds, Linear Programming, Network Flows, NP-Completeness, Randomized Algorithms, Hashing, etc. The textbook for this course is well written and very suitable as a reference book. In addition, this class has written assignments and is recommended to use LaTeX. You can take this opportunity to practice your LaTeX skills. Course Resources Course Website: https://cs170.org/ Recordings: https://www.youtube.com/playlist?list=PLnocShPlK-Ft-o7NInBDw18be86dNaxlT Recordings: refer to the course website Assignments: refer to the course website Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/UCB-CS170 - GitHub","title":"UCB CS170: Efficient Algorithms and Intractable Problems"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#cs170-efficient-algorithms-and-intractable-problems","text":"","title":"CS170: Efficient Algorithms and Intractable Problems"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#descriptions","text":"Offered by: UC Berkeley Prerequisites: CS61B, CS70 Programming Languages: LaTeX Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 60 hours This is Berkeley's algorithm design and analysis course. It focuses on the theoretical foundations and complexity analysis of algorithms, covering Divide-and-Conquer, Graph Algorithms, Shortest Paths, Spanning Trees, Greedy Algorithms, Dynamic programming, Union Finds, Linear Programming, Network Flows, NP-Completeness, Randomized Algorithms, Hashing, etc. The textbook for this course is well written and very suitable as a reference book. In addition, this class has written assignments and is recommended to use LaTeX. You can take this opportunity to practice your LaTeX skills.","title":"Descriptions"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#course-resources","text":"Course Website: https://cs170.org/ Recordings: https://www.youtube.com/playlist?list=PLnocShPlK-Ft-o7NInBDw18be86dNaxlT Recordings: refer to the course website Assignments: refer to the course website","title":"Course Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/UCB-CS170 - GitHub","title":"Personal Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/","text":"CS61B: Data Structures and Algorithms Descriptions Offered by: UC Berkeley Prerequisites: CS61A Programming Languages: Java Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 60 hours It is the second course of UC Berkeley's CS61 series. It mainly focuses on the design of data structures and algorithms as well as giving students the opportunity to be exposed to thousands of lines of engineering code and gain a preliminary understanding of software engineering through Java. I took the version for 2018 Spring. Josh Hug, the instructor, generously made the autograder open-source. You can use gradescope invitation code published on the website for free and easily test your implementation. All programming assignments in this course are done in Java. Students without Java experience don't have to worry. There will be detailed tutorials in the course from the configuration of IDEA to the core syntax and features of Java. The quality of homework in this class is also unparalleled. The 14 labs will allow you to implement most of the data structures mentioned in the class by yourself, and the 10 homework will allow you to use data structures and algorithms to solve practical problems. In addition, there are 3 projects that give you the opportunity to be exposed to thousands of lines of engineering code and enhance your Java skills in practice. Resources Course Resources Course Website: https://sp18.datastructur.es/ Recordings: refer to the course website Textbook: None Assignments: Slightly different every year. In the spring semester of 2018, there are 14 Labs, 10 Homework and 3 Projects. Please refer to the course website for specific requirements. Personal resources All resources and homework implementations used by @PKUFlyingPig in this course are summarized in PKUFlyingPig/CS61B - GitHub .","title":"UCB CS61B: Data Structures and Algorithms"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#cs61b-data-structures-and-algorithms","text":"","title":"CS61B: Data Structures and Algorithms"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#descriptions","text":"Offered by: UC Berkeley Prerequisites: CS61A Programming Languages: Java Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 60 hours It is the second course of UC Berkeley's CS61 series. It mainly focuses on the design of data structures and algorithms as well as giving students the opportunity to be exposed to thousands of lines of engineering code and gain a preliminary understanding of software engineering through Java. I took the version for 2018 Spring. Josh Hug, the instructor, generously made the autograder open-source. You can use gradescope invitation code published on the website for free and easily test your implementation. All programming assignments in this course are done in Java. Students without Java experience don't have to worry. There will be detailed tutorials in the course from the configuration of IDEA to the core syntax and features of Java. The quality of homework in this class is also unparalleled. The 14 labs will allow you to implement most of the data structures mentioned in the class by yourself, and the 10 homework will allow you to use data structures and algorithms to solve practical problems. In addition, there are 3 projects that give you the opportunity to be exposed to thousands of lines of engineering code and enhance your Java skills in practice.","title":"Descriptions"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#resources","text":"","title":"Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#course-resources","text":"Course Website: https://sp18.datastructur.es/ Recordings: refer to the course website Textbook: None Assignments: Slightly different every year. In the spring semester of 2018, there are 14 Labs, 10 Homework and 3 Projects. Please refer to the course website for specific requirements.","title":"Course Resources"},{"location":"en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#personal-resources","text":"All resources and homework implementations used by @PKUFlyingPig in this course are summarized in PKUFlyingPig/CS61B - GitHub .","title":"Personal resources"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/","text":"CS189: Introduction to Machine Learning Descriptions Offered by: UC Berkeley Prerequisites: CS188, CS70 Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 Hours I did not take this course but used its lecture notes as reference books. From the course website, I think it is better than CS299 because all the assignments and autograder are open source. Also, this course is quite theoretical and in-depth. Course Resources Course Website: https://www.eecs189.org/ Recordings: https://www.youtube.com/playlist?list=PLOOm2AoWIPEyZazQVnIcaK2KnezpGZV-X Textbooks: https://www.eecs189.org/ Assignments: https://www.eecs189.org/","title":"UCB CS189: Introduction to Machine Learning"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/#cs189-introduction-to-machine-learning","text":"","title":"CS189: Introduction to Machine Learning"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/#descriptions","text":"Offered by: UC Berkeley Prerequisites: CS188, CS70 Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 Hours I did not take this course but used its lecture notes as reference books. From the course website, I think it is better than CS299 because all the assignments and autograder are open source. Also, this course is quite theoretical and in-depth.","title":"Descriptions"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/#course-resources","text":"Course Website: https://www.eecs189.org/ Recordings: https://www.youtube.com/playlist?list=PLOOm2AoWIPEyZazQVnIcaK2KnezpGZV-X Textbooks: https://www.eecs189.org/ Assignments: https://www.eecs189.org/","title":"Course Resources"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/","text":"CS229: Machine Learning Descriptions Offered by: Stanford Prerequisite requirements: Advanced Mathematics, Probability Theory, Python, Solid mathematics skills Programming Languages: None Difficulty:\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is another ML course offered by Andrew Ng. Since it is graduate-level, it focuses more on the mathematical theory behind machine learning. If you are not satisfied with using off-the-shelf tools but want to understand the essence of the algorithm, or aspire to engage in theoretical research on machine learning, you can take this course. All the lecture notes are provided on the course website, written in a professional and theoretical way, requiring a solid mathematical background. Resources Course Website: http://cs229.stanford.edu/syllabus.html Recordings: https://www.bilibili.com/video/BV1JE411w7Ub Textbook: None, but the lecture notes is excellent. Assignments: Not open to the public. Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS229 - GitHub .","title":"Stanford CS229: Machine Learning"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#cs229-machine-learning","text":"","title":"CS229: Machine Learning"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#descriptions","text":"Offered by: Stanford Prerequisite requirements: Advanced Mathematics, Probability Theory, Python, Solid mathematics skills Programming Languages: None Difficulty:\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is another ML course offered by Andrew Ng. Since it is graduate-level, it focuses more on the mathematical theory behind machine learning. If you are not satisfied with using off-the-shelf tools but want to understand the essence of the algorithm, or aspire to engage in theoretical research on machine learning, you can take this course. All the lecture notes are provided on the course website, written in a professional and theoretical way, requiring a solid mathematical background.","title":"Descriptions"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#resources","text":"Course Website: http://cs229.stanford.edu/syllabus.html Recordings: https://www.bilibili.com/video/BV1JE411w7Ub Textbook: None, but the lecture notes is excellent. Assignments: Not open to the public.","title":"Resources"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS229 - GitHub .","title":"Personal Resources"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/","text":"Coursera: Machine Learning Descriptions Offered by: Stanford Prerequisites: entry level of AI and proficient in Python Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours When it comes to Andrew Ng, no one in the AI community should be unaware of him. He is one of the founders of the famous online education platform Coursera , and also a famous professor at Stanford. This introductory machine learning course must be one of his famous works (the other is his deep learning course), and has hundreds of thousands of learners on Coursera (note that these are people who paid for the certificate, which costs several hundred dollars), and the number of nonpaying learners should be far more than that. The class is extremely friendly to novices, and Andrew has the ability to make machine learning as straightforward as 1+1=2. You'll learn about linear regression, logistic regression, support vector machines, unsupervised learning, dimensionality reduction, anomaly detection, and recommender systems, etc. and solidify your understanding with hands-on programming. The quality of the assignments needs no word to say. With detailed code frameworks and practical background, you can use what you've learned to solve real problems. Of course, as a public mooc, the difficulty of this course has been deliberately lowered, and many mathematical derivations are skimmed over. If you are interested in machine learning theory and want to investigate the mathematical theory behind these algorithms, you can refer to CS229 and CS189 . Course Resources Course Website: https://www.coursera.org/learn/machine-learning Recordings: refer to the course website Textbook: None Assignments: refer to the course website Personal Resources My implementation is lost in system reinstallation. However, the course is so famous that you can easily find related resources online. Also, course material is available on Coursera.","title":"Coursera: Machine Learning"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#coursera-machine-learning","text":"","title":"Coursera: Machine Learning"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#descriptions","text":"Offered by: Stanford Prerequisites: entry level of AI and proficient in Python Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours When it comes to Andrew Ng, no one in the AI community should be unaware of him. He is one of the founders of the famous online education platform Coursera , and also a famous professor at Stanford. This introductory machine learning course must be one of his famous works (the other is his deep learning course), and has hundreds of thousands of learners on Coursera (note that these are people who paid for the certificate, which costs several hundred dollars), and the number of nonpaying learners should be far more than that. The class is extremely friendly to novices, and Andrew has the ability to make machine learning as straightforward as 1+1=2. You'll learn about linear regression, logistic regression, support vector machines, unsupervised learning, dimensionality reduction, anomaly detection, and recommender systems, etc. and solidify your understanding with hands-on programming. The quality of the assignments needs no word to say. With detailed code frameworks and practical background, you can use what you've learned to solve real problems. Of course, as a public mooc, the difficulty of this course has been deliberately lowered, and many mathematical derivations are skimmed over. If you are interested in machine learning theory and want to investigate the mathematical theory behind these algorithms, you can refer to CS229 and CS189 .","title":"Descriptions"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#course-resources","text":"Course Website: https://www.coursera.org/learn/machine-learning Recordings: refer to the course website Textbook: None Assignments: refer to the course website","title":"Course Resources"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#personal-resources","text":"My implementation is lost in system reinstallation. However, the course is so famous that you can easily find related resources online. Also, course material is available on Coursera.","title":"Personal Resources"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/","text":"\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u4e2d\u56fd\u79d1\u5b66\u9662\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784\uff0c\u6df1\u5ea6\u5b66\u4e60 \u7f16\u7a0b\u8bed\u8a00\uff1aPython, C++, BCL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6+ \u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u662f\u667a\u80fd\u7684\u6838\u5fc3\u7269\u8d28\u8f7d\u4f53\uff0c\u6bcf\u5e74\u5168\u7403\u8981\u5236\u9020\u6570\u4ee5\u5341\u4ebf\u8ba1\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u5305\u62ec\u667a\u80fd\u624b\u673a\u3001\u667a\u80fd\u670d\u52a1\u5668\u3001\u667a\u80fd\u53ef\u7a7f\u6234\u8bbe\u5907\u7b49\uff09\uff0c\u9700\u8981\u5927\u91cf\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8bbe\u8ba1\u8005\u548c\u5f00\u53d1\u8005\u3002\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u4eba\u624d\u7684\u57f9\u517b\u76f4\u63a5\u5173\u7cfb\u5230\u6211\u56fd\u667a\u80fd\u4ea7\u4e1a\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002\u56e0\u6b64\uff0c\u5bf9\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8ba4\u8bc6\u548c\u7406\u89e3\u662f\u667a\u80fd\u65f6\u4ee3\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u57f9\u517b\u65b9\u6848\u4e2d\u4e0d\u53ef\u6216\u7f3a\u7684\u91cd\u8981\u7ec4\u6210\u90e8\u5206\uff0c\u662f\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002 \u56fd\u5185\u7684\u9648\u4e91\u9701\u8001\u5e08\u5f00\u7684\u8bfe\uff0c\u5728\u5176\u4ed6\u82e5\u5e72\u4e2a\u5927\u5b66\u4e5f\u90fd\u6709\u5f00\u5bf9\u5e94\u7684\u8bfe\u7a0b\u3002\u8fd9\u95e8\u8bfe\u7528\u4e00\u4e2a\u4e2a\u5b9e\u9a8c\u5e26\u5927\u5bb6\u4ee5\u4e00\u4e2a\u5b8c\u6574\u7684\u89c6\u91ce\u7406\u89e3\u4eba\u5de5\u667a\u80fd\u7684\u6280\u672f\u6808\u3002\u4ece\u4e0a\u5c42\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5230\u7528\u5e95\u5c42\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\uff0c\u518d\u5230\u786c\u4ef6\u4e2d MLU \u7684\u8bbe\u8ba1\uff0c\u8ba9\u5927\u5bb6\u5f62\u6210\u7cfb\u7edf\u601d\u7ef4\uff0c\u4f53\u4f1a\u81ea\u4e0a\u800c\u4e0b\uff0c\u878d\u4f1a\u8d2f\u901a\u7684\u4e50\u8da3\u3002 \u6211\u505a\u4e86\u5176\u4e2d\u7684 2,3,4,5 \u8fd9\u51e0\u4e2a\u5b9e\u9a8c\uff0c\u5176\u4e2d\u7efc\u5408\u5b9e\u9a8c\u548c\u786c\u4ef6\u5b9e\u9a8c\u6ca1\u6709\u505a\uff0c\u5982\u679c\u6709\u505a\u4e86\u7684\u540c\u5b66\u6b22\u8fce\u5927\u5bb6\u8865\u4e0a\u4f60\u7684\u94fe\u63a5\u3002 \u4e2a\u4eba\u4f53\u4f1a\u662f\u7b2c\u4e09\u7ae0\u5b9e\u73b0\u7b97\u5b50\u7684\u5b9e\u9a8c\u8ba9\u6211\u5bf9\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u7684\u4e86\u89e3\u52a0\u6df1\u4e86\u5f88\u591a\u3002\u7b2c\u4e94\u7ae0\u7684\u5b9e\u9a8cBCL\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\u5982\u679c\u4e86\u89e3 CUDA \u7684\u8bdd\u4f1a\u611f\u89c9\u5f88\u719f\u6089\u3002 \u63a8\u8350\u53bb\u4e70\u4e00\u672c\u6559\u6750\u770b\u4e00\u770b\uff0c\u4f1a\u8ba9\u6211\u4eec\u7406\u89e3\u6574\u4f53\u7684\u6280\u672f\u6808\u3002\u719f\u6089\u6df1\u5ea6\u5b66\u4e60\u7684\u540c\u5b66\u53ef\u4ee5\u76f4\u63a5\u4ece\u7b2c\u4e94\u7ae0\u5f00\u59cb\u770b\uff0c\u770b\u770b\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u5e95\u5c42\u5230\u5e95\u662f\u4ec0\u4e48\u6837\u7684\u3002 \u6211\u56e0\u4e3a\u8fd9\u95e8\u8bfe\u7684\u542f\u53d1\uff0c\u53c2\u8003\u4e00\u672c\u4e66\uff08\u4e66\u540d\u5728\u4ed3\u5e93\u4e2d\uff09\u5199\u4e86\u4e00\u4e2a\u7b80\u6613\u7684 \u6df1\u5ea6\u5b66\u4e60\u6846\u67b6 \u3002\u5728\u8fd9\u4e2a\u6846\u67b6\u91cc\u53ef\u4ee5\u770b\u5230\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u5b9e\u9a8c\u4e2d\u7684\u4e00\u4e9b\u5f71\u5b50\u3002\u540c\u65f6\u53d7\u5230 build-your-own-x \u7cfb\u5217\u7684\u542f\u53d1\uff0c\u6211\u4e5f\u6253\u7b97\u5199\u4e00\u4e0b\u6559\u7a0b\uff0c\u6559\u5927\u5bb6\u5199\u4e00\u4e2a\u81ea\u5df1\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u3002\u4ee3\u7801\u7528 Python \u5199\u7684\uff0c\u4ee3\u7801\u91cf\u8f83\u5c11\uff0c\u9002\u5408\u6709\u4e00\u5b9a\u57fa\u7840\u7684\u540c\u5b66\u9605\u8bfb\u3002\u4e4b\u540e\u6253\u7b97\u6dfb\u52a0\u66f4\u591a\u7684\u7b97\u5b50\uff0c\u6709\u671b\u5b9e\u73b0\u4e00\u4e2a\u8f83\u4e3a\u5168\u9762\u7684\u6846\u67b6\uff0c\u5e76\u5e0c\u671b\u79fb\u690d\u5230 C++ \u4e2d\uff0c\u4ee5\u517c\u987e\u6027\u80fd\u4e0e\u5f00\u53d1\u6548\u7387\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a \u5b98\u7f51 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u8bfe\u7a0b\u6559\u6750\uff1a\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u9648\u4e91\u9701\uff09 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a6 \u4e2a\u5b9e\u9a8c(\u5305\u62ec\u7f16\u5199\u5377\u79ef\u7b97\u5b50\uff0c\u4e3a TensorFlow \u6dfb\u52a0\u7b97\u5b50\uff0c\u7528 BCL \u7f16\u5199\u7b97\u5b50\u5e76\u96c6\u6210\u5230 TensorFlow \u4e2d\u7b49)(\u5177\u4f53\u5185\u5bb9\u5728\u5b98\u7f51\u53ef\u4ee5\u627e\u5230) \u5b9e\u9a8c\u624b\u518c\uff1a \u5b9e\u9a8c 2.0 \u6307\u5bfc\u624b\u518c \u5b66\u4e60\u7b14\u8bb0\uff1a https://sanzo.top/categories/AI-Computing-Systems/ \uff0c\u53c2\u8003\u5b9e\u9a8c\u624b\u518c\u603b\u7ed3\u7684\u7b14\u8bb0 \u8d44\u6e90\u6c47\u603b @ysj1173886760 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 ysj1173886760/Learning: ai-system - GitHub \u4e2d\u3002","title":"\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/#_1","text":"","title":"\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/#_2","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u4e2d\u56fd\u79d1\u5b66\u9662\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784\uff0c\u6df1\u5ea6\u5b66\u4e60 \u7f16\u7a0b\u8bed\u8a00\uff1aPython, C++, BCL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100 \u5c0f\u65f6+ \u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u662f\u667a\u80fd\u7684\u6838\u5fc3\u7269\u8d28\u8f7d\u4f53\uff0c\u6bcf\u5e74\u5168\u7403\u8981\u5236\u9020\u6570\u4ee5\u5341\u4ebf\u8ba1\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u5305\u62ec\u667a\u80fd\u624b\u673a\u3001\u667a\u80fd\u670d\u52a1\u5668\u3001\u667a\u80fd\u53ef\u7a7f\u6234\u8bbe\u5907\u7b49\uff09\uff0c\u9700\u8981\u5927\u91cf\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8bbe\u8ba1\u8005\u548c\u5f00\u53d1\u8005\u3002\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u4eba\u624d\u7684\u57f9\u517b\u76f4\u63a5\u5173\u7cfb\u5230\u6211\u56fd\u667a\u80fd\u4ea7\u4e1a\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002\u56e0\u6b64\uff0c\u5bf9\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8ba4\u8bc6\u548c\u7406\u89e3\u662f\u667a\u80fd\u65f6\u4ee3\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u57f9\u517b\u65b9\u6848\u4e2d\u4e0d\u53ef\u6216\u7f3a\u7684\u91cd\u8981\u7ec4\u6210\u90e8\u5206\uff0c\u662f\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002 \u56fd\u5185\u7684\u9648\u4e91\u9701\u8001\u5e08\u5f00\u7684\u8bfe\uff0c\u5728\u5176\u4ed6\u82e5\u5e72\u4e2a\u5927\u5b66\u4e5f\u90fd\u6709\u5f00\u5bf9\u5e94\u7684\u8bfe\u7a0b\u3002\u8fd9\u95e8\u8bfe\u7528\u4e00\u4e2a\u4e2a\u5b9e\u9a8c\u5e26\u5927\u5bb6\u4ee5\u4e00\u4e2a\u5b8c\u6574\u7684\u89c6\u91ce\u7406\u89e3\u4eba\u5de5\u667a\u80fd\u7684\u6280\u672f\u6808\u3002\u4ece\u4e0a\u5c42\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5230\u7528\u5e95\u5c42\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\uff0c\u518d\u5230\u786c\u4ef6\u4e2d MLU \u7684\u8bbe\u8ba1\uff0c\u8ba9\u5927\u5bb6\u5f62\u6210\u7cfb\u7edf\u601d\u7ef4\uff0c\u4f53\u4f1a\u81ea\u4e0a\u800c\u4e0b\uff0c\u878d\u4f1a\u8d2f\u901a\u7684\u4e50\u8da3\u3002 \u6211\u505a\u4e86\u5176\u4e2d\u7684 2,3,4,5 \u8fd9\u51e0\u4e2a\u5b9e\u9a8c\uff0c\u5176\u4e2d\u7efc\u5408\u5b9e\u9a8c\u548c\u786c\u4ef6\u5b9e\u9a8c\u6ca1\u6709\u505a\uff0c\u5982\u679c\u6709\u505a\u4e86\u7684\u540c\u5b66\u6b22\u8fce\u5927\u5bb6\u8865\u4e0a\u4f60\u7684\u94fe\u63a5\u3002 \u4e2a\u4eba\u4f53\u4f1a\u662f\u7b2c\u4e09\u7ae0\u5b9e\u73b0\u7b97\u5b50\u7684\u5b9e\u9a8c\u8ba9\u6211\u5bf9\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u7684\u4e86\u89e3\u52a0\u6df1\u4e86\u5f88\u591a\u3002\u7b2c\u4e94\u7ae0\u7684\u5b9e\u9a8cBCL\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\u5982\u679c\u4e86\u89e3 CUDA \u7684\u8bdd\u4f1a\u611f\u89c9\u5f88\u719f\u6089\u3002 \u63a8\u8350\u53bb\u4e70\u4e00\u672c\u6559\u6750\u770b\u4e00\u770b\uff0c\u4f1a\u8ba9\u6211\u4eec\u7406\u89e3\u6574\u4f53\u7684\u6280\u672f\u6808\u3002\u719f\u6089\u6df1\u5ea6\u5b66\u4e60\u7684\u540c\u5b66\u53ef\u4ee5\u76f4\u63a5\u4ece\u7b2c\u4e94\u7ae0\u5f00\u59cb\u770b\uff0c\u770b\u770b\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u5e95\u5c42\u5230\u5e95\u662f\u4ec0\u4e48\u6837\u7684\u3002 \u6211\u56e0\u4e3a\u8fd9\u95e8\u8bfe\u7684\u542f\u53d1\uff0c\u53c2\u8003\u4e00\u672c\u4e66\uff08\u4e66\u540d\u5728\u4ed3\u5e93\u4e2d\uff09\u5199\u4e86\u4e00\u4e2a\u7b80\u6613\u7684 \u6df1\u5ea6\u5b66\u4e60\u6846\u67b6 \u3002\u5728\u8fd9\u4e2a\u6846\u67b6\u91cc\u53ef\u4ee5\u770b\u5230\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u5b9e\u9a8c\u4e2d\u7684\u4e00\u4e9b\u5f71\u5b50\u3002\u540c\u65f6\u53d7\u5230 build-your-own-x \u7cfb\u5217\u7684\u542f\u53d1\uff0c\u6211\u4e5f\u6253\u7b97\u5199\u4e00\u4e0b\u6559\u7a0b\uff0c\u6559\u5927\u5bb6\u5199\u4e00\u4e2a\u81ea\u5df1\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u3002\u4ee3\u7801\u7528 Python \u5199\u7684\uff0c\u4ee3\u7801\u91cf\u8f83\u5c11\uff0c\u9002\u5408\u6709\u4e00\u5b9a\u57fa\u7840\u7684\u540c\u5b66\u9605\u8bfb\u3002\u4e4b\u540e\u6253\u7b97\u6dfb\u52a0\u66f4\u591a\u7684\u7b97\u5b50\uff0c\u6709\u671b\u5b9e\u73b0\u4e00\u4e2a\u8f83\u4e3a\u5168\u9762\u7684\u6846\u67b6\uff0c\u5e76\u5e0c\u671b\u79fb\u690d\u5230 C++ \u4e2d\uff0c\u4ee5\u517c\u987e\u6027\u80fd\u4e0e\u5f00\u53d1\u6548\u7387\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/#_3","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a \u5b98\u7f51 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u8bfe\u7a0b\u6559\u6750\uff1a\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u9648\u4e91\u9701\uff09 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a6 \u4e2a\u5b9e\u9a8c(\u5305\u62ec\u7f16\u5199\u5377\u79ef\u7b97\u5b50\uff0c\u4e3a TensorFlow \u6dfb\u52a0\u7b97\u5b50\uff0c\u7528 BCL \u7f16\u5199\u7b97\u5b50\u5e76\u96c6\u6210\u5230 TensorFlow \u4e2d\u7b49)(\u5177\u4f53\u5185\u5bb9\u5728\u5b98\u7f51\u53ef\u4ee5\u627e\u5230) \u5b9e\u9a8c\u624b\u518c\uff1a \u5b9e\u9a8c 2.0 \u6307\u5bfc\u624b\u518c \u5b66\u4e60\u7b14\u8bb0\uff1a https://sanzo.top/categories/AI-Computing-Systems/ \uff0c\u53c2\u8003\u5b9e\u9a8c\u624b\u518c\u603b\u7ed3\u7684\u7b14\u8bb0","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/#_4","text":"@ysj1173886760 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 ysj1173886760/Learning: ai-system - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/","text":"CMU 10-414/714: Deep Learning Systems \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1a\u7cfb\u7edf\u5165\u95e8(eg.15-213)\u3001\u6df1\u5ea6\u5b66\u4e60\u5165\u95e8\u3001\u57fa\u672c\u7684\u6570\u5b66\u77e5\u8bc6 \u7f16\u7a0b\u8bed\u8a00\uff1aPython, C++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u6df1\u5ea6\u5b66\u4e60\u7684\u5feb\u901f\u53d1\u5c55\u548c\u5e7f\u6cdb\u4f7f\u7528\u5f88\u5927\u7a0b\u5ea6\u4e0a\u5f97\u76ca\u4e8e\u4e00\u7cfb\u5217\u7b80\u5355\u597d\u7528\u4e14\u5f3a\u5927\u7684\u7f16\u7a0b\u6846\u67b6\uff0c\u4f8b\u5982 Pytorch \u548c Tensorflow \u7b49\u7b49\u3002\u4f46\u5927\u591a\u6570\u4ece\u4e1a\u8005\u53ea\u662f\u8fd9\u4e9b\u6846\u67b6\u7684\u201c\u8c03\u5305\u4fa0\u201d\uff0c\u5bf9\u4e8e\u8fd9\u4e9b\u6846\u67b6\u5185\u90e8\u7684\u7ec6\u8282\u5b9e\u73b0\u5374\u4e86\u89e3\u751a\u5c11\u3002\u5982\u679c\u4f60\u5e0c\u671b\u4ece\u4e8b\u6df1\u5ea6\u5b66\u4e60\u5e95\u5c42\u6846\u67b6\u7684\u5f00\u53d1\uff0c\u6216\u8005\u53ea\u662f\u50cf\u6211\u4e00\u6837\u597d\u5947\u8fd9\u4e9b\u6846\u67b6\u7684\u5185\u90e8\u5b9e\u73b0\uff0c\u90a3\u4e48\u8fd9\u95e8\u8bfe\u5c06\u4f1a\u662f\u4e00\u4e2a\u5f88\u597d\u7684\u8d77\u70b9\u3002 \u8bfe\u7a0b\u7684\u5185\u5bb9\u5927\u7eb2\u8986\u76d6\u4e86\u6df1\u5ea6\u5b66\u4e60\u7cfb\u7edf\u201c\u5168\u6808\u201d\u7684\u77e5\u8bc6\u4f53\u7cfb\u3002\u4ece\u73b0\u4ee3\u6df1\u5ea6\u5b66\u4e60\u7cfb\u7edf\u6846\u67b6\u7684\u9876\u5c42\u8bbe\u8ba1\uff0c\u5230\u81ea\u5fae\u5206\u7b97\u6cd5\u7684\u539f\u7406\u548c\u5b9e\u73b0\uff0c\u518d\u5230\u5e95\u5c42\u786c\u4ef6\u52a0\u901f\u548c\u5b9e\u9645\u751f\u4ea7\u90e8\u7f72\u3002\u4e3a\u4e86\u66f4\u597d\u5730\u638c\u63e1\u7406\u8bba\u77e5\u8bc6\uff0c\u5b66\u751f\u5c06\u4f1a\u57285\u4e2a\u8bfe\u7a0b\u4f5c\u4e1a\u4e2d\u4ece\u5934\u5f00\u59cb\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b8c\u6574\u7684\u6df1\u5ea6\u5b66\u4e60\u5e93 Needle\uff0c\u4f7f\u5176\u80fd\u5bf9\u8ba1\u7b97\u56fe\u8fdb\u884c\u81ea\u52a8\u5fae\u5206\uff0c\u80fd\u5728 GPU \u4e0a\u5b9e\u73b0\u786c\u4ef6\u52a0\u901f\uff0c\u5e76\u4e14\u652f\u6301\u5404\u7c7b\u635f\u5931\u51fd\u6570\u3001\u6570\u636e\u52a0\u8f7d\u5668\u548c\u4f18\u5316\u5668\u3002\u5728\u6b64\u57fa\u7840\u4e0a\uff0c\u5b66\u751f\u5c06\u5b9e\u73b0\u51e0\u7c7b\u5e38\u89c1\u7684\u795e\u7ecf\u7f51\u7edc\uff0c\u5305\u62ec CNN\uff0cRNN\uff0cLSTM\uff0cTransformer \u7b49\u7b49\u3002 \u5373\u4f7f\u4f60\u662f\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u7684\u5c0f\u767d\u4e5f\u4e0d\u5fc5\u8fc7\u4e8e\u62c5\u5fc3\uff0c\u8bfe\u7a0b\u5c06\u4f1a\u5faa\u5e8f\u6e10\u8fdb\u5730\u4ece\u7b80\u5355\u5206\u7c7b\u95ee\u9898\u548c\u53cd\u5411\u4f20\u64ad\u4f18\u5316\u8bb2\u8d77\uff0c\u4e00\u4e9b\u76f8\u5bf9\u590d\u6742\u7684\u795e\u7ecf\u7f51\u7edc\u90fd\u4f1a\u6709\u914d\u5957\u7684 jupyter notebook \u8be6\u7ec6\u5730\u63cf\u8ff0\u5b9e\u73b0\u7ec6\u8282\u3002\u5982\u679c\u4f60\u6709\u4e00\u5b9a\u7684\u76f8\u5173\u57fa\u7840\u77e5\u8bc6\uff0c\u90a3\u4e48\u5728\u5b66\u4e60\u5b8c\u81ea\u5fae\u5206\u90e8\u5206\u7684\u5185\u5bb9\u4e4b\u540e\u4fbf\u53ef\u4ee5\u76f4\u63a5\u4e0a\u624b\u8bfe\u7a0b\u4f5c\u4e1a\uff0c\u96be\u5ea6\u867d\u7136\u4e0d\u5927\u4f46\u76f8\u4fe1\u4e00\u5b9a\u4f1a\u7ed9\u4f60\u5e26\u6765\u65b0\u7684\u7406\u89e3\u3002 \u8fd9\u95e8\u8bfe\u4e24\u4f4d\u6388\u8bfe\u6559\u5e08 Zico Kolter \u548c Tianqi Chen \u5c06\u6240\u6709\u8bfe\u7a0b\u5185\u5bb9\u90fd\u53d1\u5e03\u4e86\u5bf9\u5e94\u7684\u5f00\u6e90\u7248\u672c\uff0c\u4f46\u5728\u7ebf\u8bc4\u6d4b\u8d26\u53f7\u548c\u8bfe\u7a0b\u8bba\u575b\u7684\u6ce8\u518c\u65f6\u95f4\u5df2\u7ecf\u7ed3\u675f\uff0c\u53ea\u5269\u4e0b\u6846\u67b6\u4ee3\u7801\u91cc\u7684\u672c\u5730\u6d4b\u8bd5\u4f9b\u5927\u5bb6\u8c03\u8bd5\u4ee3\u7801\u3002\u6216\u8bb8\u53ef\u4ee5\u671f\u5f85\u660e\u5e74\u79cb\u5b63\u5b66\u671f\u7684\u8bfe\u7a0b\u8fd8\u4f1a\u53d1\u5e03\u76f8\u5e94\u7684\u5728\u7ebf\u7248\u672c\u4f9b\u5927\u5bb6\u5b66\u4e60\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://dlsyscourse.org \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=qbJqOFMyIwg \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://dlsyscourse.org/assignments/ \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CMU10-714 - GitHub \u4e2d\u3002","title":"CMU 10-414/714: Deep Learning Systems"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/#cmu-10-414714-deep-learning-systems","text":"","title":"CMU 10-414/714: Deep Learning Systems"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1a\u7cfb\u7edf\u5165\u95e8(eg.15-213)\u3001\u6df1\u5ea6\u5b66\u4e60\u5165\u95e8\u3001\u57fa\u672c\u7684\u6570\u5b66\u77e5\u8bc6 \u7f16\u7a0b\u8bed\u8a00\uff1aPython, C++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u6df1\u5ea6\u5b66\u4e60\u7684\u5feb\u901f\u53d1\u5c55\u548c\u5e7f\u6cdb\u4f7f\u7528\u5f88\u5927\u7a0b\u5ea6\u4e0a\u5f97\u76ca\u4e8e\u4e00\u7cfb\u5217\u7b80\u5355\u597d\u7528\u4e14\u5f3a\u5927\u7684\u7f16\u7a0b\u6846\u67b6\uff0c\u4f8b\u5982 Pytorch \u548c Tensorflow \u7b49\u7b49\u3002\u4f46\u5927\u591a\u6570\u4ece\u4e1a\u8005\u53ea\u662f\u8fd9\u4e9b\u6846\u67b6\u7684\u201c\u8c03\u5305\u4fa0\u201d\uff0c\u5bf9\u4e8e\u8fd9\u4e9b\u6846\u67b6\u5185\u90e8\u7684\u7ec6\u8282\u5b9e\u73b0\u5374\u4e86\u89e3\u751a\u5c11\u3002\u5982\u679c\u4f60\u5e0c\u671b\u4ece\u4e8b\u6df1\u5ea6\u5b66\u4e60\u5e95\u5c42\u6846\u67b6\u7684\u5f00\u53d1\uff0c\u6216\u8005\u53ea\u662f\u50cf\u6211\u4e00\u6837\u597d\u5947\u8fd9\u4e9b\u6846\u67b6\u7684\u5185\u90e8\u5b9e\u73b0\uff0c\u90a3\u4e48\u8fd9\u95e8\u8bfe\u5c06\u4f1a\u662f\u4e00\u4e2a\u5f88\u597d\u7684\u8d77\u70b9\u3002 \u8bfe\u7a0b\u7684\u5185\u5bb9\u5927\u7eb2\u8986\u76d6\u4e86\u6df1\u5ea6\u5b66\u4e60\u7cfb\u7edf\u201c\u5168\u6808\u201d\u7684\u77e5\u8bc6\u4f53\u7cfb\u3002\u4ece\u73b0\u4ee3\u6df1\u5ea6\u5b66\u4e60\u7cfb\u7edf\u6846\u67b6\u7684\u9876\u5c42\u8bbe\u8ba1\uff0c\u5230\u81ea\u5fae\u5206\u7b97\u6cd5\u7684\u539f\u7406\u548c\u5b9e\u73b0\uff0c\u518d\u5230\u5e95\u5c42\u786c\u4ef6\u52a0\u901f\u548c\u5b9e\u9645\u751f\u4ea7\u90e8\u7f72\u3002\u4e3a\u4e86\u66f4\u597d\u5730\u638c\u63e1\u7406\u8bba\u77e5\u8bc6\uff0c\u5b66\u751f\u5c06\u4f1a\u57285\u4e2a\u8bfe\u7a0b\u4f5c\u4e1a\u4e2d\u4ece\u5934\u5f00\u59cb\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b8c\u6574\u7684\u6df1\u5ea6\u5b66\u4e60\u5e93 Needle\uff0c\u4f7f\u5176\u80fd\u5bf9\u8ba1\u7b97\u56fe\u8fdb\u884c\u81ea\u52a8\u5fae\u5206\uff0c\u80fd\u5728 GPU \u4e0a\u5b9e\u73b0\u786c\u4ef6\u52a0\u901f\uff0c\u5e76\u4e14\u652f\u6301\u5404\u7c7b\u635f\u5931\u51fd\u6570\u3001\u6570\u636e\u52a0\u8f7d\u5668\u548c\u4f18\u5316\u5668\u3002\u5728\u6b64\u57fa\u7840\u4e0a\uff0c\u5b66\u751f\u5c06\u5b9e\u73b0\u51e0\u7c7b\u5e38\u89c1\u7684\u795e\u7ecf\u7f51\u7edc\uff0c\u5305\u62ec CNN\uff0cRNN\uff0cLSTM\uff0cTransformer \u7b49\u7b49\u3002 \u5373\u4f7f\u4f60\u662f\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u7684\u5c0f\u767d\u4e5f\u4e0d\u5fc5\u8fc7\u4e8e\u62c5\u5fc3\uff0c\u8bfe\u7a0b\u5c06\u4f1a\u5faa\u5e8f\u6e10\u8fdb\u5730\u4ece\u7b80\u5355\u5206\u7c7b\u95ee\u9898\u548c\u53cd\u5411\u4f20\u64ad\u4f18\u5316\u8bb2\u8d77\uff0c\u4e00\u4e9b\u76f8\u5bf9\u590d\u6742\u7684\u795e\u7ecf\u7f51\u7edc\u90fd\u4f1a\u6709\u914d\u5957\u7684 jupyter notebook \u8be6\u7ec6\u5730\u63cf\u8ff0\u5b9e\u73b0\u7ec6\u8282\u3002\u5982\u679c\u4f60\u6709\u4e00\u5b9a\u7684\u76f8\u5173\u57fa\u7840\u77e5\u8bc6\uff0c\u90a3\u4e48\u5728\u5b66\u4e60\u5b8c\u81ea\u5fae\u5206\u90e8\u5206\u7684\u5185\u5bb9\u4e4b\u540e\u4fbf\u53ef\u4ee5\u76f4\u63a5\u4e0a\u624b\u8bfe\u7a0b\u4f5c\u4e1a\uff0c\u96be\u5ea6\u867d\u7136\u4e0d\u5927\u4f46\u76f8\u4fe1\u4e00\u5b9a\u4f1a\u7ed9\u4f60\u5e26\u6765\u65b0\u7684\u7406\u89e3\u3002 \u8fd9\u95e8\u8bfe\u4e24\u4f4d\u6388\u8bfe\u6559\u5e08 Zico Kolter \u548c Tianqi Chen \u5c06\u6240\u6709\u8bfe\u7a0b\u5185\u5bb9\u90fd\u53d1\u5e03\u4e86\u5bf9\u5e94\u7684\u5f00\u6e90\u7248\u672c\uff0c\u4f46\u5728\u7ebf\u8bc4\u6d4b\u8d26\u53f7\u548c\u8bfe\u7a0b\u8bba\u575b\u7684\u6ce8\u518c\u65f6\u95f4\u5df2\u7ecf\u7ed3\u675f\uff0c\u53ea\u5269\u4e0b\u6846\u67b6\u4ee3\u7801\u91cc\u7684\u672c\u5730\u6d4b\u8bd5\u4f9b\u5927\u5bb6\u8c03\u8bd5\u4ee3\u7801\u3002\u6216\u8bb8\u53ef\u4ee5\u671f\u5f85\u660e\u5e74\u79cb\u5b63\u5b66\u671f\u7684\u8bfe\u7a0b\u8fd8\u4f1a\u53d1\u5e03\u76f8\u5e94\u7684\u5728\u7ebf\u7248\u672c\u4f9b\u5927\u5bb6\u5b66\u4e60\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://dlsyscourse.org \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=qbJqOFMyIwg \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://dlsyscourse.org/assignments/","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CMU10-714 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/MLC/","text":"Machine Learning Compilation \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aBilibili \u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60/\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u662f\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u9886\u57df\u7684\u9876\u5c16\u5b66\u8005\u9648\u5929\u5947\u57282022\u5e74\u6691\u671f\u5f00\u8bbe\u7684\u4e00\u95e8\u5728\u7ebf\u8bfe\u7a0b\u3002\u5176\u5b9e\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u65e0\u8bba\u5728\u5de5\u4e1a\u754c\u8fd8\u662f\u5b66\u672f\u754c\u4ecd\u7136\u662f\u4e00\u4e2a\u975e\u5e38\u524d\u6cbf\u4e14\u5feb\u901f\u66f4\u8fed\u7684\u9886\u57df\uff0c\u56fd\u5185\u5916\u6b64\u524d\u8fd8\u6ca1\u6709\u4e3a\u8fd9\u4e2a\u65b9\u5411\u4e13\u95e8\u5f00\u8bbe\u7684\u76f8\u5173\u8bfe\u7a0b\u3002\u56e0\u6b64\u5982\u679c\u5bf9\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u611f\u5174\u8da3\u60f3\u6709\u4e2a\u5168\u8c8c\u6027\u7684\u611f\u77e5\u7684\u8bdd\uff0c\u53ef\u4ee5\u5b66\u4e60\u4e00\u4e0b\u8fd9\u95e8\u8bfe\u3002 \u672c\u8bfe\u7a0b\u4e3b\u8981\u4ee5 Apache TVM \u8fd9\u4e00\u4e3b\u6d41\u7684\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u6846\u67b6\u4e3a\u4f8b\uff08\u9648\u5929\u5947\u662f\u8fd9\u4e2a\u6846\u67b6\u7684\u521b\u59cb\u4eba\u4e4b\u4e00\uff09\uff0c\u805a\u7126\u4e8e\u5982\u4f55\u5c06\u5f00\u53d1\u6a21\u5f0f\u4e0b\uff08\u5982 Tensorflow, Pytorch, Jax\uff09\u7684\u5404\u7c7b\u673a\u5668\u5b66\u4e60\u6a21\u578b\uff0c\u901a\u8fc7\u4e00\u5957\u666e\u9002\u7684\u62bd\u8c61\u548c\u4f18\u5316\u7b97\u6cd5\uff0c\u53d8\u6362\u4e3a\u62e5\u6709\u66f4\u9ad8\u6027\u80fd\u5e76\u4e14\u9002\u914d\u5404\u7c7b\u5e95\u5c42\u786c\u4ef6\u7684\u90e8\u7f72\u6a21\u5f0f\u3002\u8bfe\u7a0b\u8bb2\u6388\u7684\u77e5\u8bc6\u70b9\u90fd\u662f\u76f8\u5bf9 High-Level \u7684\u5b8f\u89c2\u6982\u5ff5\uff0c\u540c\u65f6\u6bcf\u8282\u8bfe\u90fd\u4f1a\u6709\u4e00\u4e2a\u914d\u5957\u7684 Jupyter Notebook \u6765\u901a\u8fc7\u5177\u4f53\u7684\u4ee3\u7801\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u56e0\u6b64\u5982\u679c\u4ece\u4e8b TVM \u76f8\u5173\u7684\u7f16\u7a0b\u5f00\u53d1\u7684\u8bdd\uff0c\u8fd9\u95e8\u8bfe\u6709\u4e30\u5bcc\u4e14\u89c4\u8303\u7684\u4ee3\u7801\u793a\u4f8b\u4ee5\u4f9b\u53c2\u8003\u3002 \u6240\u6709\u7684\u8bfe\u7a0b\u8d44\u6e90\u5168\u90e8\u5f00\u6e90\u5e76\u4e14\u6709\u4e2d\u6587\u548c\u82f1\u6587\u4e24\u4e2a\u7248\u672c\uff0cB\u7ad9\u548c\u6cb9\u7ba1\u5206\u522b\u6709\u4e2d\u6587\u548c\u82f1\u6587\u7684\u8bfe\u7a0b\u5f55\u5f71\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://mlc.ai/summer22-zh/ \u8bfe\u7a0b\u89c6\u9891\uff1a Bilibili \u8bfe\u7a0b\u7b14\u8bb0\uff1a https://mlc.ai/zh/index.html \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://github.com/mlc-ai/notebooks/blob/main/assignment","title":"Machine Learning Compilation"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/MLC/#machine-learning-compilation","text":"","title":"Machine Learning Compilation"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/MLC/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aBilibili \u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60/\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u662f\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u9886\u57df\u7684\u9876\u5c16\u5b66\u8005\u9648\u5929\u5947\u57282022\u5e74\u6691\u671f\u5f00\u8bbe\u7684\u4e00\u95e8\u5728\u7ebf\u8bfe\u7a0b\u3002\u5176\u5b9e\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u65e0\u8bba\u5728\u5de5\u4e1a\u754c\u8fd8\u662f\u5b66\u672f\u754c\u4ecd\u7136\u662f\u4e00\u4e2a\u975e\u5e38\u524d\u6cbf\u4e14\u5feb\u901f\u66f4\u8fed\u7684\u9886\u57df\uff0c\u56fd\u5185\u5916\u6b64\u524d\u8fd8\u6ca1\u6709\u4e3a\u8fd9\u4e2a\u65b9\u5411\u4e13\u95e8\u5f00\u8bbe\u7684\u76f8\u5173\u8bfe\u7a0b\u3002\u56e0\u6b64\u5982\u679c\u5bf9\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u611f\u5174\u8da3\u60f3\u6709\u4e2a\u5168\u8c8c\u6027\u7684\u611f\u77e5\u7684\u8bdd\uff0c\u53ef\u4ee5\u5b66\u4e60\u4e00\u4e0b\u8fd9\u95e8\u8bfe\u3002 \u672c\u8bfe\u7a0b\u4e3b\u8981\u4ee5 Apache TVM \u8fd9\u4e00\u4e3b\u6d41\u7684\u673a\u5668\u5b66\u4e60\u7f16\u8bd1\u6846\u67b6\u4e3a\u4f8b\uff08\u9648\u5929\u5947\u662f\u8fd9\u4e2a\u6846\u67b6\u7684\u521b\u59cb\u4eba\u4e4b\u4e00\uff09\uff0c\u805a\u7126\u4e8e\u5982\u4f55\u5c06\u5f00\u53d1\u6a21\u5f0f\u4e0b\uff08\u5982 Tensorflow, Pytorch, Jax\uff09\u7684\u5404\u7c7b\u673a\u5668\u5b66\u4e60\u6a21\u578b\uff0c\u901a\u8fc7\u4e00\u5957\u666e\u9002\u7684\u62bd\u8c61\u548c\u4f18\u5316\u7b97\u6cd5\uff0c\u53d8\u6362\u4e3a\u62e5\u6709\u66f4\u9ad8\u6027\u80fd\u5e76\u4e14\u9002\u914d\u5404\u7c7b\u5e95\u5c42\u786c\u4ef6\u7684\u90e8\u7f72\u6a21\u5f0f\u3002\u8bfe\u7a0b\u8bb2\u6388\u7684\u77e5\u8bc6\u70b9\u90fd\u662f\u76f8\u5bf9 High-Level \u7684\u5b8f\u89c2\u6982\u5ff5\uff0c\u540c\u65f6\u6bcf\u8282\u8bfe\u90fd\u4f1a\u6709\u4e00\u4e2a\u914d\u5957\u7684 Jupyter Notebook \u6765\u901a\u8fc7\u5177\u4f53\u7684\u4ee3\u7801\u8bb2\u89e3\u77e5\u8bc6\u70b9\uff0c\u56e0\u6b64\u5982\u679c\u4ece\u4e8b TVM \u76f8\u5173\u7684\u7f16\u7a0b\u5f00\u53d1\u7684\u8bdd\uff0c\u8fd9\u95e8\u8bfe\u6709\u4e30\u5bcc\u4e14\u89c4\u8303\u7684\u4ee3\u7801\u793a\u4f8b\u4ee5\u4f9b\u53c2\u8003\u3002 \u6240\u6709\u7684\u8bfe\u7a0b\u8d44\u6e90\u5168\u90e8\u5f00\u6e90\u5e76\u4e14\u6709\u4e2d\u6587\u548c\u82f1\u6587\u4e24\u4e2a\u7248\u672c\uff0cB\u7ad9\u548c\u6cb9\u7ba1\u5206\u522b\u6709\u4e2d\u6587\u548c\u82f1\u6587\u7684\u8bfe\u7a0b\u5f55\u5f71\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/MLC/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://mlc.ai/summer22-zh/ \u8bfe\u7a0b\u89c6\u9891\uff1a Bilibili \u8bfe\u7a0b\u7b14\u8bb0\uff1a https://mlc.ai/zh/index.html \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://github.com/mlc-ai/notebooks/blob/main/assignment","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/","text":"CMU 10-708: Probabilistic Graphical Models \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://sailinglab.github.io/pgm-spring-2019/ \u8fd9\u4e2a\u7f51\u7ad9\u5305\u542b\u4e86\u6240\u6709\u7684\u8d44\u6e90\uff1aslides, nots, video, homework, project \u8fd9\u95e8\u8bfe\u7a0b\u662f CMU \u7684\u56fe\u6a21\u578b\u57fa\u7840 + \u8fdb\u9636\u8bfe\uff0c\u6388\u8bfe\u8001\u5e08\u4e3a Eric P. Xing\uff0c\u6db5\u76d6\u4e86\u56fe\u6a21\u578b\u57fa\u7840\uff0c\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u5728\u5f3a\u5316\u5b66\u4e60\u4e2d\u7684\u5e94\u7528\uff0c\u4ee5\u53ca\u975e\u53c2\u6570\u65b9\u6cd5\u3002\u76f8\u5f53\u786c\u6838","title":"CMU 10-708: Probabilistic Graphical Models"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/#cmu-10-708-probabilistic-graphical-models","text":"","title":"CMU 10-708: Probabilistic Graphical Models"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://sailinglab.github.io/pgm-spring-2019/ \u8fd9\u4e2a\u7f51\u7ad9\u5305\u542b\u4e86\u6240\u6709\u7684\u8d44\u6e90\uff1aslides, nots, video, homework, project \u8fd9\u95e8\u8bfe\u7a0b\u662f CMU \u7684\u56fe\u6a21\u578b\u57fa\u7840 + \u8fdb\u9636\u8bfe\uff0c\u6388\u8bfe\u8001\u5e08\u4e3a Eric P. Xing\uff0c\u6db5\u76d6\u4e86\u56fe\u6a21\u578b\u57fa\u7840\uff0c\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u5728\u5f3a\u5316\u5b66\u4e60\u4e2d\u7684\u5e94\u7528\uff0c\u4ee5\u53ca\u975e\u53c2\u6570\u65b9\u6cd5\u3002\u76f8\u5f53\u786c\u6838","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/","text":"STATS214 / CS229M: Machine Learning Theory \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Statistics \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/stats214/ \u7ecf\u5178\u5b66\u4e60\u7406\u8bba + \u6700\u65b0\u6df1\u5ea6\u5b66\u4e60\u7406\u8bba\uff0c\u975e\u5e38\u786c\u6838\u3002\u6388\u8bfe\u8001\u5e08\u4e4b\u524d\u662f Percy Liang\uff0c\u73b0\u5728\u662f Tengyu Ma","title":"Stanford STATS214 / CS229M: Machine Learning Theory"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/#stats214-cs229m-machine-learning-theory","text":"","title":"STATS214 / CS229M: Machine Learning Theory"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Statistics \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/stats214/ \u7ecf\u5178\u5b66\u4e60\u7406\u8bba + \u6700\u65b0\u6df1\u5ea6\u5b66\u4e60\u7406\u8bba\uff0c\u975e\u5e38\u786c\u6838\u3002\u6388\u8bfe\u8001\u5e08\u4e4b\u524d\u662f Percy Liang\uff0c\u73b0\u5728\u662f Tengyu Ma","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/","text":"STA 4273 Winter 2021: Minimizing Expectations \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aU Toronto \u5148\u4fee\u8981\u6c42\uff1aBayesian Inference, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.cs.toronto.edu/~cmaddis/courses/sta4273_w21/ \u8fd9\u662f\u4e00\u95e8\u8f83\u4e3a\u8fdb\u9636\u7684 Ph.D. \u7814\u7a76\u8bfe\u7a0b\uff0c\u6838\u5fc3\u5185\u5bb9\u662f inference \u548c control \u4e4b\u95f4\u7684\u5173\u7cfb\u3002\u6388\u8bfe\u8001\u5e08\u4e3a Chris Maddison (AlphaGo founding member, NeurIPS 14 best paper)","title":"U Toronto STA 4273 Winter 2021: Minimizing Expectations"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/#sta-4273-winter-2021-minimizing-expectations","text":"","title":"STA 4273 Winter 2021: Minimizing Expectations"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aU Toronto \u5148\u4fee\u8981\u6c42\uff1aBayesian Inference, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://www.cs.toronto.edu/~cmaddis/courses/sta4273_w21/ \u8fd9\u662f\u4e00\u95e8\u8f83\u4e3a\u8fdb\u9636\u7684 Ph.D. \u7814\u7a76\u8bfe\u7a0b\uff0c\u6838\u5fc3\u5185\u5bb9\u662f inference \u548c control \u4e4b\u95f4\u7684\u5173\u7cfb\u3002\u6388\u8bfe\u8001\u5e08\u4e3a Chris Maddison (AlphaGo founding member, NeurIPS 14 best paper)","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/","text":"Columbia STAT 8201: Deep Generative Models \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aColumbia University \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Graphical Models \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://stat.columbia.edu/~cunningham/teaching/GR8201/ \u8fd9\u95e8\u8bfe\u662f\u4e00\u95e8 PhD \u8ba8\u8bba\u73ed\uff0c\u6bcf\u5468\u7684\u5185\u5bb9\u662f\u5c55\u793a + \u8ba8\u8bba\u8bba\u6587\uff0c\u6388\u8bfe\u8001\u5e08\u662f John Cunningham\u3002Deep Generative Models \uff08\u6df1\u5ea6\u751f\u6210\u6a21\u578b\uff09 \u662f\u56fe\u6a21\u578b\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u4e5f\u662f\u73b0\u4ee3\u673a\u5668\u5b66\u4e60\u6700\u91cd\u8981\u7684\u65b9\u5411\u4e4b\u4e00","title":"Columbia STAT 8201: Deep Generative Models"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/#columbia-stat-8201-deep-generative-models","text":"","title":"Columbia STAT 8201: Deep Generative Models"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aColumbia University \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Graphical Models \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://stat.columbia.edu/~cunningham/teaching/GR8201/ \u8fd9\u95e8\u8bfe\u662f\u4e00\u95e8 PhD \u8ba8\u8bba\u73ed\uff0c\u6bcf\u5468\u7684\u5185\u5bb9\u662f\u5c55\u793a + \u8ba8\u8bba\u8bba\u6587\uff0c\u6388\u8bfe\u8001\u5e08\u662f John Cunningham\u3002Deep Generative Models \uff08\u6df1\u5ea6\u751f\u6210\u6a21\u578b\uff09 \u662f\u56fe\u6a21\u578b\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u4e5f\u662f\u73b0\u4ee3\u673a\u5668\u5b66\u4e60\u6700\u91cd\u8981\u7684\u65b9\u5411\u4e4b\u4e00","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/","text":"\u673a\u5668\u5b66\u4e60\u8fdb\u9636 \u6b64\u8def\u7ebf\u56fe\u9002\u7528\u4e8e\u5df2\u7ecf\u5b66\u8fc7\u4e86\u57fa\u7840\u673a\u5668\u5b66\u4e60 (ML, NLP, CV, RL) \u7684\u540c\u5b66 (\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u6216\u4f4e\u5e74\u7ea7\u7814\u7a76\u751f)\uff0c\u5df2\u7ecf\u53d1\u8868\u8fc7\u81f3\u5c11\u4e00\u7bc7\u9876\u4f1a\u8bba\u6587 (NeurIPS, ICML, ICLR, ACL, EMNLP, NAACL, CVPR, ICCV) \u60f3\u8981\u8d70\u673a\u5668\u5b66\u4e60\u79d1\u7814\u8def\u7ebf\u7684\u9009\u624b\u3002 \u6b64\u8def\u7ebf\u7684\u76ee\u6807\u662f\u4e3a\u8bfb\u61c2\u4e0e\u53d1\u8868\u673a\u5668\u5b66\u4e60\u9876\u4f1a\u8bba\u6587\u6253\u4e0b\u7406\u8bba\u57fa\u7840\uff0c\u7279\u522b\u662f Probabilistic Methods \u8fd9\u4e2a track \u4e0b\u7684\u6587\u7ae0 \u673a\u5668\u5b66\u4e60\u8fdb\u9636\u53ef\u80fd\u5b58\u5728\u591a\u79cd\u4e0d\u540c\u7684\u5b66\u4e60\u8def\u7ebf\uff0c\u6b64\u8def\u7ebf\u53ea\u80fd\u4ee3\u8868\u4f5c\u8005 Yao Fu \u6240\u7406\u89e3\u7684\u6700\u4f73\u8def\u5f84\uff0c\u4fa7\u91cd\u4e8e\u8d1d\u53f6\u65af\u5b66\u6d3e\u4e0b\u7684\u6982\u7387\u5efa\u6a21\u65b9\u6cd5\uff0c\u4e5f\u4f1a\u6d89\u53ca\u5230\u5404\u9879\u76f8\u5173\u5b66\u79d1\u7684\u4ea4\u53c9\u77e5\u8bc6\u3002 \u5fc5\u8bfb\u6559\u6750 PRML: Pattern Recognition and Machine Learning. Christopher Bishop \u7ecf\u5178\u8d1d\u53f6\u65af\u5b66\u6d3e\u6559\u6750 AoS: All of Statistics. Larry Wasserman \u7ecf\u5178\u9891\u7387\u5b66\u6d3e\u6559\u6750 \u6240\u4ee5\u8fd9\u4e24\u672c\u4e66\u521a\u597d\u76f8\u8f85\u76f8\u6210 \u5b57\u5178 MLAPP: Machine Learning: A Probabilistic Perspective. Kevin Murphy Convex Optimization. Stephen Boyd and Lieven Vandenberghe \u8fdb\u9636\u4e66\u7c4d W&J: Graphical Models, Exponential Families, and Variational Inference. Martin Wainwright and Michael Jordan Theory of Point Estimation. E. L. Lehmann and George Casella \u5982\u4f55\u9605\u8bfb Guidelines \u5fc5\u8bfb\u6559\u6750\u5c31\u662f\u4e00\u5b9a\u8981\u8bfb\u7684\u6559\u6750 \u5b57\u5178\u7684\u610f\u601d\u662f\uff0c\u4e00\u822c\u60c5\u51b5\u4e0b\u4e0d\u7ba1\u5b83\uff0c\u4f46\u5f53\u9047\u5230\u4e86\u4e0d\u61c2\u7684\u6982\u5ff5\u7684\u65f6\u5019\uff0c\u5c31\u53bb\u5b57\u5178\u91cc\u9762\u67e5\uff08\u800c\u4e0d\u662f\u7ef4\u57fa\u767e\u79d1\uff09 \u8fdb\u9636\u4e66\u7c4d\u5148\u4e0d\u8bfb\uff0c\u5148\u8bfb\u5b8c\u5fc5\u8bfb\u4e66\u7c4d\u3002\u5fc5\u8bfb\u4e66\u7c4d\u4e00\u822c\u90fd\u662f\u8981\u524d\u524d\u540e\u540e\u53cd\u590d\u770b\u8fc7 N \u904d\u624d\u7b97\u8bfb\u5b8c \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6700\u91cd\u8981\u7684\u8bfb\u6cd5\u5c31\u662f\u5bf9\u6bd4\u9605\u8bfb (contrastive-comparative reading)\uff1a\u540c\u65f6\u6253\u5f00\u4e24\u672c\u4e66\u8bb2\u540c\u4e00\u4e3b\u9898\u7684\u7ae0\u8282\uff0c\u7136\u540e\u5bf9\u6bd4\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u5c3d\u91cf\u53bb\u56de\u60f3\u4e4b\u524d\u8bfb\u8fc7\u7684\u8bba\u6587\uff0c\u6bd4\u8f83\u8bba\u6587\u548c\u6559\u6750\u7684\u76f8\u540c\u70b9\u4e0e\u4e0d\u540c\u70b9 \u57fa\u7840\u8def\u5f84 \u5148\u8bfb AoS \u7b2c\u516d\u7ae0: Models, Statistical Inference and Learning\uff0c\u8fd9\u4e00\u90e8\u5206\u662f\u6700\u57fa\u7840\u7684\u79d1\u666e \u7136\u540e\u8bfb PRML \u7b2c 10, 11 \u7ae0 \u7b2c 10 \u7ae0\u7684\u5185\u5bb9\u662f Variational Inference, \u7b2c 11 \u7ae0\u7684\u5185\u5bb9\u662f MCMC, \u8fd9\u4e24\u79cd\u65b9\u6cd5\u662f\u8d1d\u53f6\u65af\u63a8\u65ad\u7684\u4e24\u6761\u6700\u4e3b\u8981\u8def\u7ebf \u5982\u679c\u5728\u8bfb PRML \u7684\u8fc7\u7a0b\u4e2d\u53d1\u73b0\u6709\u4efb\u4f55\u4e0d\u61c2\u7684\u540d\u8bcd\uff0c\u5c31\u53bb\u7ffb\u524d\u9762\u7684\u7ae0\u8282\u3002\u5f88\u5927\u6982\u7387\u80fd\u591f\u5728\u7b2c 3\uff0c4 \u7ae0\u627e\u5230\u76f8\u5bf9\u5e94\u7684\u5b9a\u4e49\uff1b\u5982\u679c\u627e\u4e0d\u5230\u6216\u8005\u4e0d\u591f\u8be6\u7ec6\uff0c\u5c31\u53bb\u67e5 MLAPP AoS \u7b2c 8 \u7ae0 (Parametric Inference) \u548c\u7b2c 11 \u7ae0 (Bayesian Inference) \u4e5f\u53ef\u4ee5\u4f5c\u4e3a\u53c2\u8003\u3002\u6700\u597d\u7684\u65b9\u6cd5\u662f\u591a\u672c\u4e66\u5bf9\u6bd4\u9605\u8bfb\uff0c\u6d41\u7a0b\u5982\u4e0b \u5047\u8bbe\u6211\u5728\u8bfb PRML \u7b2c 10 \u7ae0\u7684\u65f6\u5019\u53d1\u73b0\u4e86\u4e00\u4e2a\u4e0d\u61c2\u7684\u8bcd\uff1aposterior inference \u4e8e\u662f\u6211\u5f80\u524d\u7ffb\uff0c\u7ffb\u5230\u4e86\u7b2c 3 \u7ae0 (Linear Model for Regression)\uff0c\u770b\u5230\u4e86\u6700\u7b80\u5355\u7684 posterior \u7136\u540e\u6211\u63a5\u7740\u7ffb AoS\uff0c\u7ffb\u5230\u4e86\u7b2c 11 \u7ae0\uff0c\u4e5f\u6709\u5bf9 posterior \u7684\u63cf\u8ff0 \u7136\u540e\u6211\u5bf9\u6bd4 PRML \u7b2c 10 \u7ae0\uff0c\u7b2c 3 \u7ae0\uff0cAoS \u7b2c 11 \u7ae0\uff0c\u4e09\u5904\u4e0d\u540c\u5730\u65b9\u5bf9 posterior \u7684\u89e3\u8bfb\uff0c\u6bd4\u8f83\u5176\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u5b8c PRML \u7b2c 10 \u548c 11 \u7ae0\u4e4b\u540e\uff0c\u63a5\u7740\u8bfb AoS \u7b2c 24 \u7ae0 (Simulation Methods)\uff0c\u7136\u540e\u628a\u5b83\u548c PRML \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb -- \u8fd9\u4fe9\u90fd\u662f\u8bb2 MCMC \u5982\u679c\u5230\u6b64\u5904\u53d1\u73b0\u8fd8\u6709\u57fa\u7840\u6982\u5ff5\u8bfb\u4e0d\u61c2\uff0c\u5c31\u56de\u5230 PRML \u7b2c 3 \u7ae0\uff0c\u628a\u5b83\u548c AoS \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb Again\uff0c\u5bf9\u6bd4\u9605\u8bfb\u975e\u5e38\u91cd\u8981\uff0c\u4e00\u5b9a\u8981\u628a\u4e0d\u540c\u672c\u4e66\u7684\u7c7b\u4f3c\u5185\u5bb9\u540c\u65f6\u6446\u5728\u9762\u524d\u76f8\u4e92\u5bf9\u6bd4\uff0c\u8fd9\u6837\u53ef\u4ee5\u663e\u8457\u589e\u5f3a\u8bb0\u5fc6 \u7136\u540e\u8bfb PRML \u7b2c 13 \u7ae0\uff08\u8df3\u8fc7\u7b2c 12 \u7ae0\uff09\uff0c\u8fd9\u4e00\u7ae0\u53ef\u4ee5\u548c MLAPP \u7684\u7b2c 17, 18 \u7ae0\u5bf9\u6bd4\u9605\u8bfb MLAPP \u7b2c 17 \u7ae0\u662f PRML \u7b2c 13.2 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 HMM MLAPP \u7b2c 18 \u7ae0\u662f PRML \u7b2c 13.3 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 LDS \u8bfb\u5b8c PRML \u7b2c 13 \u7ae0\u4e4b\u540e\uff0c\u518d\u53bb\u8bfb PRML \u7b2c 8 \u7ae0 (Graphical Models) -- \u6b64\u65f6\u8fd9\u90e8\u5206\u5e94\u8be5\u4f1a\u8bfb\u5f97\u5f88\u8f7b\u677e \u4ee5\u4e0a\u7684\u5185\u5bb9\u53ef\u4ee5\u8fdb\u4e00\u6b65\u5bf9\u7167 CMU 10-708 PGM \u8bfe\u7a0b\u6750\u6599 \u5230\u76ee\u524d\u4e3a\u6b62\uff0c\u5e94\u8be5\u80fd\u591f\u638c\u63e1 \u6982\u7387\u6a21\u578b\u7684\u57fa\u7840\u5b9a\u4e49 \u7cbe\u51c6\u63a8\u65ad - Sum-Product \u8fd1\u4f3c\u63a8\u65ad - MCMC \u8fd1\u4f3c\u63a8\u65ad - VI \u7136\u540e\u5c31\u53ef\u4ee5\u53bb\u505a\u66f4\u8fdb\u9636\u7684\u5185\u5bb9","title":"\u8fdb\u9636\u8def\u7ebf\u56fe"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_1","text":"\u6b64\u8def\u7ebf\u56fe\u9002\u7528\u4e8e\u5df2\u7ecf\u5b66\u8fc7\u4e86\u57fa\u7840\u673a\u5668\u5b66\u4e60 (ML, NLP, CV, RL) \u7684\u540c\u5b66 (\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u6216\u4f4e\u5e74\u7ea7\u7814\u7a76\u751f)\uff0c\u5df2\u7ecf\u53d1\u8868\u8fc7\u81f3\u5c11\u4e00\u7bc7\u9876\u4f1a\u8bba\u6587 (NeurIPS, ICML, ICLR, ACL, EMNLP, NAACL, CVPR, ICCV) \u60f3\u8981\u8d70\u673a\u5668\u5b66\u4e60\u79d1\u7814\u8def\u7ebf\u7684\u9009\u624b\u3002 \u6b64\u8def\u7ebf\u7684\u76ee\u6807\u662f\u4e3a\u8bfb\u61c2\u4e0e\u53d1\u8868\u673a\u5668\u5b66\u4e60\u9876\u4f1a\u8bba\u6587\u6253\u4e0b\u7406\u8bba\u57fa\u7840\uff0c\u7279\u522b\u662f Probabilistic Methods \u8fd9\u4e2a track \u4e0b\u7684\u6587\u7ae0 \u673a\u5668\u5b66\u4e60\u8fdb\u9636\u53ef\u80fd\u5b58\u5728\u591a\u79cd\u4e0d\u540c\u7684\u5b66\u4e60\u8def\u7ebf\uff0c\u6b64\u8def\u7ebf\u53ea\u80fd\u4ee3\u8868\u4f5c\u8005 Yao Fu \u6240\u7406\u89e3\u7684\u6700\u4f73\u8def\u5f84\uff0c\u4fa7\u91cd\u4e8e\u8d1d\u53f6\u65af\u5b66\u6d3e\u4e0b\u7684\u6982\u7387\u5efa\u6a21\u65b9\u6cd5\uff0c\u4e5f\u4f1a\u6d89\u53ca\u5230\u5404\u9879\u76f8\u5173\u5b66\u79d1\u7684\u4ea4\u53c9\u77e5\u8bc6\u3002","title":"\u673a\u5668\u5b66\u4e60\u8fdb\u9636"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_2","text":"PRML: Pattern Recognition and Machine Learning. Christopher Bishop \u7ecf\u5178\u8d1d\u53f6\u65af\u5b66\u6d3e\u6559\u6750 AoS: All of Statistics. Larry Wasserman \u7ecf\u5178\u9891\u7387\u5b66\u6d3e\u6559\u6750 \u6240\u4ee5\u8fd9\u4e24\u672c\u4e66\u521a\u597d\u76f8\u8f85\u76f8\u6210","title":"\u5fc5\u8bfb\u6559\u6750"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_3","text":"MLAPP: Machine Learning: A Probabilistic Perspective. Kevin Murphy Convex Optimization. Stephen Boyd and Lieven Vandenberghe","title":"\u5b57\u5178"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_4","text":"W&J: Graphical Models, Exponential Families, and Variational Inference. Martin Wainwright and Michael Jordan Theory of Point Estimation. E. L. Lehmann and George Casella","title":"\u8fdb\u9636\u4e66\u7c4d"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_5","text":"","title":"\u5982\u4f55\u9605\u8bfb"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#guidelines","text":"\u5fc5\u8bfb\u6559\u6750\u5c31\u662f\u4e00\u5b9a\u8981\u8bfb\u7684\u6559\u6750 \u5b57\u5178\u7684\u610f\u601d\u662f\uff0c\u4e00\u822c\u60c5\u51b5\u4e0b\u4e0d\u7ba1\u5b83\uff0c\u4f46\u5f53\u9047\u5230\u4e86\u4e0d\u61c2\u7684\u6982\u5ff5\u7684\u65f6\u5019\uff0c\u5c31\u53bb\u5b57\u5178\u91cc\u9762\u67e5\uff08\u800c\u4e0d\u662f\u7ef4\u57fa\u767e\u79d1\uff09 \u8fdb\u9636\u4e66\u7c4d\u5148\u4e0d\u8bfb\uff0c\u5148\u8bfb\u5b8c\u5fc5\u8bfb\u4e66\u7c4d\u3002\u5fc5\u8bfb\u4e66\u7c4d\u4e00\u822c\u90fd\u662f\u8981\u524d\u524d\u540e\u540e\u53cd\u590d\u770b\u8fc7 N \u904d\u624d\u7b97\u8bfb\u5b8c \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6700\u91cd\u8981\u7684\u8bfb\u6cd5\u5c31\u662f\u5bf9\u6bd4\u9605\u8bfb (contrastive-comparative reading)\uff1a\u540c\u65f6\u6253\u5f00\u4e24\u672c\u4e66\u8bb2\u540c\u4e00\u4e3b\u9898\u7684\u7ae0\u8282\uff0c\u7136\u540e\u5bf9\u6bd4\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u5c3d\u91cf\u53bb\u56de\u60f3\u4e4b\u524d\u8bfb\u8fc7\u7684\u8bba\u6587\uff0c\u6bd4\u8f83\u8bba\u6587\u548c\u6559\u6750\u7684\u76f8\u540c\u70b9\u4e0e\u4e0d\u540c\u70b9","title":"Guidelines"},{"location":"en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_6","text":"\u5148\u8bfb AoS \u7b2c\u516d\u7ae0: Models, Statistical Inference and Learning\uff0c\u8fd9\u4e00\u90e8\u5206\u662f\u6700\u57fa\u7840\u7684\u79d1\u666e \u7136\u540e\u8bfb PRML \u7b2c 10, 11 \u7ae0 \u7b2c 10 \u7ae0\u7684\u5185\u5bb9\u662f Variational Inference, \u7b2c 11 \u7ae0\u7684\u5185\u5bb9\u662f MCMC, \u8fd9\u4e24\u79cd\u65b9\u6cd5\u662f\u8d1d\u53f6\u65af\u63a8\u65ad\u7684\u4e24\u6761\u6700\u4e3b\u8981\u8def\u7ebf \u5982\u679c\u5728\u8bfb PRML \u7684\u8fc7\u7a0b\u4e2d\u53d1\u73b0\u6709\u4efb\u4f55\u4e0d\u61c2\u7684\u540d\u8bcd\uff0c\u5c31\u53bb\u7ffb\u524d\u9762\u7684\u7ae0\u8282\u3002\u5f88\u5927\u6982\u7387\u80fd\u591f\u5728\u7b2c 3\uff0c4 \u7ae0\u627e\u5230\u76f8\u5bf9\u5e94\u7684\u5b9a\u4e49\uff1b\u5982\u679c\u627e\u4e0d\u5230\u6216\u8005\u4e0d\u591f\u8be6\u7ec6\uff0c\u5c31\u53bb\u67e5 MLAPP AoS \u7b2c 8 \u7ae0 (Parametric Inference) \u548c\u7b2c 11 \u7ae0 (Bayesian Inference) \u4e5f\u53ef\u4ee5\u4f5c\u4e3a\u53c2\u8003\u3002\u6700\u597d\u7684\u65b9\u6cd5\u662f\u591a\u672c\u4e66\u5bf9\u6bd4\u9605\u8bfb\uff0c\u6d41\u7a0b\u5982\u4e0b \u5047\u8bbe\u6211\u5728\u8bfb PRML \u7b2c 10 \u7ae0\u7684\u65f6\u5019\u53d1\u73b0\u4e86\u4e00\u4e2a\u4e0d\u61c2\u7684\u8bcd\uff1aposterior inference \u4e8e\u662f\u6211\u5f80\u524d\u7ffb\uff0c\u7ffb\u5230\u4e86\u7b2c 3 \u7ae0 (Linear Model for Regression)\uff0c\u770b\u5230\u4e86\u6700\u7b80\u5355\u7684 posterior \u7136\u540e\u6211\u63a5\u7740\u7ffb AoS\uff0c\u7ffb\u5230\u4e86\u7b2c 11 \u7ae0\uff0c\u4e5f\u6709\u5bf9 posterior \u7684\u63cf\u8ff0 \u7136\u540e\u6211\u5bf9\u6bd4 PRML \u7b2c 10 \u7ae0\uff0c\u7b2c 3 \u7ae0\uff0cAoS \u7b2c 11 \u7ae0\uff0c\u4e09\u5904\u4e0d\u540c\u5730\u65b9\u5bf9 posterior \u7684\u89e3\u8bfb\uff0c\u6bd4\u8f83\u5176\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u5b8c PRML \u7b2c 10 \u548c 11 \u7ae0\u4e4b\u540e\uff0c\u63a5\u7740\u8bfb AoS \u7b2c 24 \u7ae0 (Simulation Methods)\uff0c\u7136\u540e\u628a\u5b83\u548c PRML \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb -- \u8fd9\u4fe9\u90fd\u662f\u8bb2 MCMC \u5982\u679c\u5230\u6b64\u5904\u53d1\u73b0\u8fd8\u6709\u57fa\u7840\u6982\u5ff5\u8bfb\u4e0d\u61c2\uff0c\u5c31\u56de\u5230 PRML \u7b2c 3 \u7ae0\uff0c\u628a\u5b83\u548c AoS \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb Again\uff0c\u5bf9\u6bd4\u9605\u8bfb\u975e\u5e38\u91cd\u8981\uff0c\u4e00\u5b9a\u8981\u628a\u4e0d\u540c\u672c\u4e66\u7684\u7c7b\u4f3c\u5185\u5bb9\u540c\u65f6\u6446\u5728\u9762\u524d\u76f8\u4e92\u5bf9\u6bd4\uff0c\u8fd9\u6837\u53ef\u4ee5\u663e\u8457\u589e\u5f3a\u8bb0\u5fc6 \u7136\u540e\u8bfb PRML \u7b2c 13 \u7ae0\uff08\u8df3\u8fc7\u7b2c 12 \u7ae0\uff09\uff0c\u8fd9\u4e00\u7ae0\u53ef\u4ee5\u548c MLAPP \u7684\u7b2c 17, 18 \u7ae0\u5bf9\u6bd4\u9605\u8bfb MLAPP \u7b2c 17 \u7ae0\u662f PRML \u7b2c 13.2 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 HMM MLAPP \u7b2c 18 \u7ae0\u662f PRML \u7b2c 13.3 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 LDS \u8bfb\u5b8c PRML \u7b2c 13 \u7ae0\u4e4b\u540e\uff0c\u518d\u53bb\u8bfb PRML \u7b2c 8 \u7ae0 (Graphical Models) -- \u6b64\u65f6\u8fd9\u90e8\u5206\u5e94\u8be5\u4f1a\u8bfb\u5f97\u5f88\u8f7b\u677e \u4ee5\u4e0a\u7684\u5185\u5bb9\u53ef\u4ee5\u8fdb\u4e00\u6b65\u5bf9\u7167 CMU 10-708 PGM \u8bfe\u7a0b\u6750\u6599 \u5230\u76ee\u524d\u4e3a\u6b62\uff0c\u5e94\u8be5\u80fd\u591f\u638c\u63e1 \u6982\u7387\u6a21\u578b\u7684\u57fa\u7840\u5b9a\u4e49 \u7cbe\u51c6\u63a8\u65ad - Sum-Product \u8fd1\u4f3c\u63a8\u65ad - MCMC \u8fd1\u4f3c\u63a8\u65ad - VI \u7136\u540e\u5c31\u53ef\u4ee5\u53bb\u505a\u66f4\u8fdb\u9636\u7684\u5185\u5bb9","title":"\u57fa\u7840\u8def\u5f84"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/","text":"CS224n: Natural Language Processing \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684 NLP \u5165\u95e8\u8bfe\u7a0b\uff0c\u7531\u81ea\u7136\u8bed\u8a00\u5904\u7406\u9886\u57df\u7684\u5de8\u4f6c Chris Manning \u9886\u8854\u6559\u6388\uff08word2vec \u7b97\u6cd5\u7684\u5f00\u521b\u8005\uff09\u3002\u5185\u5bb9\u8986\u76d6\u4e86\u8bcd\u5411\u91cf\u3001RNN\u3001LSTM\u3001Seq2Seq \u6a21\u578b\u3001\u673a\u5668\u7ffb\u8bd1\u3001\u6ce8\u610f\u529b\u673a\u5236\u3001Transformer \u7b49\u7b49 NLP \u9886\u57df\u7684\u6838\u5fc3\u77e5\u8bc6\u70b9\u3002 5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u96be\u5ea6\u5faa\u5e8f\u6e10\u8fdb\uff0c\u5206\u522b\u662f\u8bcd\u5411\u91cf\u3001word2vec \u7b97\u6cd5\u3001Dependency parsing\u3001\u673a\u5668\u7ffb\u8bd1\u4ee5\u53ca Transformer \u7684 fine-tune\u3002 \u6700\u7ec8\u7684\u5927\u4f5c\u4e1a\u662f\u5728 Stanford \u8457\u540d\u7684 SQuAD \u6570\u636e\u96c6\u4e0a\u8bad\u7ec3 QA \u6a21\u578b\uff0c\u6709\u5b66\u751f\u7684\u5927\u4f5c\u4e1a\u751a\u81f3\u76f4\u63a5\u53d1\u8868\u4e86\u9876\u4f1a\u8bba\u6587\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs224n/index.html \u8bfe\u7a0b\u89c6\u9891\uff1aB \u7ad9\u641c\u7d22 CS224n \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://web.stanford.edu/class/cs224n/index.html \uff0c5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a + 1 \u4e2a Final Project \u8d44\u6e90\u6c47\u603b @PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS224n - GitHub \u4e2d\u3002","title":"Stanford CS224n: Natural Language Processing"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#cs224n-natural-language-processing","text":"","title":"CS224n: Natural Language Processing"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684 NLP \u5165\u95e8\u8bfe\u7a0b\uff0c\u7531\u81ea\u7136\u8bed\u8a00\u5904\u7406\u9886\u57df\u7684\u5de8\u4f6c Chris Manning \u9886\u8854\u6559\u6388\uff08word2vec \u7b97\u6cd5\u7684\u5f00\u521b\u8005\uff09\u3002\u5185\u5bb9\u8986\u76d6\u4e86\u8bcd\u5411\u91cf\u3001RNN\u3001LSTM\u3001Seq2Seq \u6a21\u578b\u3001\u673a\u5668\u7ffb\u8bd1\u3001\u6ce8\u610f\u529b\u673a\u5236\u3001Transformer \u7b49\u7b49 NLP \u9886\u57df\u7684\u6838\u5fc3\u77e5\u8bc6\u70b9\u3002 5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u96be\u5ea6\u5faa\u5e8f\u6e10\u8fdb\uff0c\u5206\u522b\u662f\u8bcd\u5411\u91cf\u3001word2vec \u7b97\u6cd5\u3001Dependency parsing\u3001\u673a\u5668\u7ffb\u8bd1\u4ee5\u53ca Transformer \u7684 fine-tune\u3002 \u6700\u7ec8\u7684\u5927\u4f5c\u4e1a\u662f\u5728 Stanford \u8457\u540d\u7684 SQuAD \u6570\u636e\u96c6\u4e0a\u8bad\u7ec3 QA \u6a21\u578b\uff0c\u6709\u5b66\u751f\u7684\u5927\u4f5c\u4e1a\u751a\u81f3\u76f4\u63a5\u53d1\u8868\u4e86\u9876\u4f1a\u8bba\u6587\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs224n/index.html \u8bfe\u7a0b\u89c6\u9891\uff1aB \u7ad9\u641c\u7d22 CS224n \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://web.stanford.edu/class/cs224n/index.html \uff0c5 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a + 1 \u4e2a Final Project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#_3","text":"@PKUFlyingPig \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 PKUFlyingPig/CS224n - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/","text":"CS224w: Machine Learning with Graphs \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython, LaTeX \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684\u56fe\u795e\u7ecf\u7f51\u7edc\u5165\u95e8\u8bfe\uff0c\u8fd9\u95e8\u8bfe\u6211\u6ca1\u6709\u4e0a\u8fc7\uff0c\u4f46\u4f17\u591a\u505a GNN \u7684\u670b\u53cb\u90fd\u5411\u6211\u529b\u8350\u8fc7\u8fd9\u95e8\u8bfe\uff0c\u60f3\u5fc5 Stanford \u7684\u8bfe\u8d28\u91cf\u8fd8\u662f\u4e00\u5982\u65e2\u5f80\u5730\u6709\u4fdd\u8bc1\u7684\u3002\u53e6\u5916\u5c31\u662f\u8fd9\u95e8\u8bfe\u7684\u6388\u8bfe\u8001\u5e08\u975e\u5e38\u5e74\u8f7b\u5e05\u6c14:) \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs224w/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=JAB_plj2rbA \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://web.stanford.edu/class/cs224w/ \uff0c6 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c3 \u4e2a LaTeX \u4e66\u9762\u4f5c\u4e1a","title":"Stanford CS224w: Machine Learning with Graphs"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/#cs224w-machine-learning-with-graphs","text":"","title":"CS224w: Machine Learning with Graphs"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython, LaTeX \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684\u56fe\u795e\u7ecf\u7f51\u7edc\u5165\u95e8\u8bfe\uff0c\u8fd9\u95e8\u8bfe\u6211\u6ca1\u6709\u4e0a\u8fc7\uff0c\u4f46\u4f17\u591a\u505a GNN \u7684\u670b\u53cb\u90fd\u5411\u6211\u529b\u8350\u8fc7\u8fd9\u95e8\u8bfe\uff0c\u60f3\u5fc5 Stanford \u7684\u8bfe\u8d28\u91cf\u8fd8\u662f\u4e00\u5982\u65e2\u5f80\u5730\u6709\u4fdd\u8bc1\u7684\u3002\u53e6\u5916\u5c31\u662f\u8fd9\u95e8\u8bfe\u7684\u6388\u8bfe\u8001\u5e08\u975e\u5e38\u5e74\u8f7b\u5e05\u6c14:)","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://web.stanford.edu/class/cs224w/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/watch?v=JAB_plj2rbA \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://web.stanford.edu/class/cs224w/ \uff0c6 \u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c3 \u4e2a LaTeX \u4e66\u9762\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/","text":"Coursera: Deep Learning Descriptions Offered by: Stanford Prerequisites: fundamental machine learning + Python Programming Language: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 80 hours Yet another popular online course offered by Andrew Ng on Coursera. It has attracted many learners and can be seen as the Bible of fundamental deep learning. The course provides well-covered projects, with clear but thorough instructions. The course starts from basic neural networks, to CNN, RNN, and all the way to Transformer, which has been a hot topic these days. After learning this course, you'll be equipped with the basic knowledge and skills for deep learning, and you may want to participate in Kaggle competitions to practice your skills with real tasks. Couse Resources Course Website: https://www.coursera.org/specializations/deep-learning Lecture Videos: https://www.coursera.org/specializations/deep-learning , can be found on Bilibili Text Book: none Assignments: https://www.coursera.org/specializations/deep-learning","title":"Coursera: Deep Learning"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/#coursera-deep-learning","text":"","title":"Coursera: Deep Learning"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/#descriptions","text":"Offered by: Stanford Prerequisites: fundamental machine learning + Python Programming Language: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 80 hours Yet another popular online course offered by Andrew Ng on Coursera. It has attracted many learners and can be seen as the Bible of fundamental deep learning. The course provides well-covered projects, with clear but thorough instructions. The course starts from basic neural networks, to CNN, RNN, and all the way to Transformer, which has been a hot topic these days. After learning this course, you'll be equipped with the basic knowledge and skills for deep learning, and you may want to participate in Kaggle competitions to practice your skills with real tasks.","title":"Descriptions"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/#couse-resources","text":"Course Website: https://www.coursera.org/specializations/deep-learning Lecture Videos: https://www.coursera.org/specializations/deep-learning , can be found on Bilibili Text Book: none Assignments: https://www.coursera.org/specializations/deep-learning","title":"Couse Resources"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/","text":"CS231n: CNN for Visual Recognition \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684 CV \u5165\u95e8\u8bfe\uff0c\u7531\u8ba1\u7b97\u673a\u9886\u57df\u7684\u5de8\u4f6c\u674e\u98de\u98de\u9662\u58eb\u9886\u8854\u6559\u6388\uff08CV \u9886\u57df\u5212\u65f6\u4ee3\u7684\u8457\u540d\u6570\u636e\u96c6 ImageNet \u7684\u7814\u7a76\u56e2\u961f\uff09\uff0c\u4f46\u5176\u5185\u5bb9\u76f8\u5bf9\u57fa\u7840\u4e14\u53cb\u597d\uff0c\u5982\u679c\u4e0a\u8fc7 CS230 \u7684\u8bdd\u53ef\u4ee5\u76f4\u63a5\u4e0a\u624b Project \u4f5c\u4e3a\u7ec3\u4e60\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://cs231n.stanford.edu/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1nJ411z7fe \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://cs231n.stanford.edu/schedule.html \uff0c3\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"Stanford CS231n: CNN for Visual Recognition"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/#cs231n-cnn-for-visual-recognition","text":"","title":"CS231n: CNN for Visual Recognition"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 Stanford \u7684 CV \u5165\u95e8\u8bfe\uff0c\u7531\u8ba1\u7b97\u673a\u9886\u57df\u7684\u5de8\u4f6c\u674e\u98de\u98de\u9662\u58eb\u9886\u8854\u6559\u6388\uff08CV \u9886\u57df\u5212\u65f6\u4ee3\u7684\u8457\u540d\u6570\u636e\u96c6 ImageNet \u7684\u7814\u7a76\u56e2\u961f\uff09\uff0c\u4f46\u5176\u5185\u5bb9\u76f8\u5bf9\u57fa\u7840\u4e14\u53cb\u597d\uff0c\u5982\u679c\u4e0a\u8fc7 CS230 \u7684\u8bdd\u53ef\u4ee5\u76f4\u63a5\u4e0a\u624b Project \u4f5c\u4e3a\u7ec3\u4e60\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://cs231n.stanford.edu/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.bilibili.com/video/BV1nJ411z7fe \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://cs231n.stanford.edu/schedule.html \uff0c3\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/","text":"CS285: Deep Reinforcement Learning \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS188, CS189 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 CS285 \u8fd9\u4e00\u8bfe\u7a0b\u73b0\u7531 Sergey Levine \u6559\u6388\u8bb2\u6388\uff0c\u8bfe\u7a0b\u5185\u5bb9\u8986\u76d6\u4e86\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u9886\u57df\u7684\u5404\u65b9\u9762\u5185\u5bb9\uff0c\u9002\u5408\u6709\u4e00\u5b9a\u673a\u5668\u5b66\u4e60\u57fa\u7840\u7684\u540c\u5b66\u8fdb\u884c\u5b66\u4e60\uff0c\u5177\u4f53\u8981\u6c42\u5305\u62ec\u4e86\u89e3\u9a6c\u5c14\u53ef\u592b\u51b3\u7b56\u8fc7\u7a0b\uff08MDP\uff09\u7b49\u3002\u6574\u95e8\u8bfe\u7a0b\u4e2d\u542b\u6709\u8f83\u591a\u7684\u516c\u5f0f\uff0c\u4e0a\u8bfe\u524d\u9700\u8981\u6709\u4e00\u5b9a\u7684\u5fc3\u7406\u51c6\u5907\u3002\u6b64\u5916\uff0c\u6559\u6388\u4f1a\u6839\u636e\u6bcf\u5e74\u6700\u65b0\u7684\u7814\u7a76\u8fdb\u5c55\u66f4\u65b0\u8bfe\u7a0b\u5185\u5bb9\u4ee5\u53ca\u4f5c\u4e1a\uff0c\u8bfe\u7a0b\u4e2d\u80fd\u611f\u53d7\u5230\u6559\u6388\u5c1d\u8bd5\u5c06\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u9886\u57df\u7684\u6240\u6709\u57fa\u7840\u77e5\u8bc6\u4ee5\u53ca\u6700\u8fd1\u7684\u53d1\u5c55\u5728\u77ed\u77ed\u7684\u6570\u8282\u8bfe\u4e2d\u8fdb\u884c\u4f20\u8fbe\u3002 \u6709\u5173\u8bfe\u7a0b\u5185\u5bb9\u83b7\u53d6\uff0c22Fall \u7684\u6388\u8bfe\u65b9\u5f0f\u4e3a\u8bfe\u524d\u89c2\u770b\u63d0\u524d\u5f55\u5236\u7684\u89c6\u9891\uff0c\u8bfe\u4e0a\u4e3b\u8981\u4e3a Q&A \u73af\u8282\uff0c\u6559\u6388\u9009\u62e9\u90e8\u5206\u6216\u8005\u6240\u6709\u89c6\u9891\u5185\u7684\u77e5\u8bc6\u8fdb\u884c\u8bb2\u89e3\u540c\u65f6\u56de\u7b54\u5b66\u751f\u73b0\u573a\u63d0\u51fa\u7684\u95ee\u9898\uff0c\u56e0\u6b64\u6240\u63d0\u4f9b\u7684\u8bfe\u7a0b\u89c6\u9891\u94fe\u63a5\u5b9e\u9645\u4e0a\u662f\u5df2\u7ecf\u5305\u542b\u4e86\u6240\u6709\u5185\u5bb9\u3002\u8bfe\u7a0b\u4f5c\u4e1a\u5219\u75315\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u7ec4\u6210\uff0c\u6bcf\u4e00\u6b21\u4f5c\u4e1a\u4e3b\u8981\u4e3a\u590d\u73b0\u7ecf\u5178\u6a21\u578b\u4ee5\u53ca\u8fdb\u884c\u6a21\u578b\u95f4\u7684\u5bf9\u6bd4\uff0c\u5076\u5c14\u4e5f\u5305\u542b\u4e00\u4e9b\u5bf9\u6700\u8fd1\u63d0\u51fa\u7684\u6a21\u578b\u7684\u590d\u73b0\uff0c\u6700\u540e\u9012\u4ea4\u4e00\u4efd\u62a5\u544a\u3002\u8003\u8651\u5230\u4f5c\u4e1a\u672c\u8eab\u5df2\u7ecf\u63d0\u4f9b\u4e86\u6846\u67b6\uff0c\u4e14\u90fd\u662f\u6839\u636e hint \u8fdb\u884c\u4ee3\u7801\u586b\u7a7a\uff0c\u56e0\u6b64\u4f5c\u4e1a\u96be\u5ea6\u5e76\u4e0d\u5927\u3002 \u603b\u7684\u6765\u8bf4\uff0c\u8be5\u8bfe\u7a0b\u9002\u5408\u65b0\u624b\u5165\u95e8\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u3002\u867d\u7136\u5b66\u5230\u540e\u9762\u8d8a\u6765\u8d8a\u611f\u89c9\u5230\u96be\uff0c\u4f46\u6574\u95e8\u8bfe\u4e0b\u6765\u4e2a\u4eba\u611f\u89c9\u8fd8\u662f\u6536\u83b7\u9887\u4e30\u3002 \uff08\u53e6\u5916 Levine \u6559\u6388\u4eba\u771f\u7684\u5f88 nice\uff09 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a http://rail.eecs.berkeley.edu/deeprlcourse/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/playlist?list=PL_iWQOsE6TfX7MaC6C3HcdOf1g337dlC9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://rail.eecs.berkeley.edu/deeprlcourse/ \uff0c5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"UCB CS285: Deep Reinforcement Learning"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/#cs285-deep-reinforcement-learning","text":"","title":"CS285: Deep Reinforcement Learning"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS188, CS189 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 CS285 \u8fd9\u4e00\u8bfe\u7a0b\u73b0\u7531 Sergey Levine \u6559\u6388\u8bb2\u6388\uff0c\u8bfe\u7a0b\u5185\u5bb9\u8986\u76d6\u4e86\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u9886\u57df\u7684\u5404\u65b9\u9762\u5185\u5bb9\uff0c\u9002\u5408\u6709\u4e00\u5b9a\u673a\u5668\u5b66\u4e60\u57fa\u7840\u7684\u540c\u5b66\u8fdb\u884c\u5b66\u4e60\uff0c\u5177\u4f53\u8981\u6c42\u5305\u62ec\u4e86\u89e3\u9a6c\u5c14\u53ef\u592b\u51b3\u7b56\u8fc7\u7a0b\uff08MDP\uff09\u7b49\u3002\u6574\u95e8\u8bfe\u7a0b\u4e2d\u542b\u6709\u8f83\u591a\u7684\u516c\u5f0f\uff0c\u4e0a\u8bfe\u524d\u9700\u8981\u6709\u4e00\u5b9a\u7684\u5fc3\u7406\u51c6\u5907\u3002\u6b64\u5916\uff0c\u6559\u6388\u4f1a\u6839\u636e\u6bcf\u5e74\u6700\u65b0\u7684\u7814\u7a76\u8fdb\u5c55\u66f4\u65b0\u8bfe\u7a0b\u5185\u5bb9\u4ee5\u53ca\u4f5c\u4e1a\uff0c\u8bfe\u7a0b\u4e2d\u80fd\u611f\u53d7\u5230\u6559\u6388\u5c1d\u8bd5\u5c06\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u9886\u57df\u7684\u6240\u6709\u57fa\u7840\u77e5\u8bc6\u4ee5\u53ca\u6700\u8fd1\u7684\u53d1\u5c55\u5728\u77ed\u77ed\u7684\u6570\u8282\u8bfe\u4e2d\u8fdb\u884c\u4f20\u8fbe\u3002 \u6709\u5173\u8bfe\u7a0b\u5185\u5bb9\u83b7\u53d6\uff0c22Fall \u7684\u6388\u8bfe\u65b9\u5f0f\u4e3a\u8bfe\u524d\u89c2\u770b\u63d0\u524d\u5f55\u5236\u7684\u89c6\u9891\uff0c\u8bfe\u4e0a\u4e3b\u8981\u4e3a Q&A \u73af\u8282\uff0c\u6559\u6388\u9009\u62e9\u90e8\u5206\u6216\u8005\u6240\u6709\u89c6\u9891\u5185\u7684\u77e5\u8bc6\u8fdb\u884c\u8bb2\u89e3\u540c\u65f6\u56de\u7b54\u5b66\u751f\u73b0\u573a\u63d0\u51fa\u7684\u95ee\u9898\uff0c\u56e0\u6b64\u6240\u63d0\u4f9b\u7684\u8bfe\u7a0b\u89c6\u9891\u94fe\u63a5\u5b9e\u9645\u4e0a\u662f\u5df2\u7ecf\u5305\u542b\u4e86\u6240\u6709\u5185\u5bb9\u3002\u8bfe\u7a0b\u4f5c\u4e1a\u5219\u75315\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u7ec4\u6210\uff0c\u6bcf\u4e00\u6b21\u4f5c\u4e1a\u4e3b\u8981\u4e3a\u590d\u73b0\u7ecf\u5178\u6a21\u578b\u4ee5\u53ca\u8fdb\u884c\u6a21\u578b\u95f4\u7684\u5bf9\u6bd4\uff0c\u5076\u5c14\u4e5f\u5305\u542b\u4e00\u4e9b\u5bf9\u6700\u8fd1\u63d0\u51fa\u7684\u6a21\u578b\u7684\u590d\u73b0\uff0c\u6700\u540e\u9012\u4ea4\u4e00\u4efd\u62a5\u544a\u3002\u8003\u8651\u5230\u4f5c\u4e1a\u672c\u8eab\u5df2\u7ecf\u63d0\u4f9b\u4e86\u6846\u67b6\uff0c\u4e14\u90fd\u662f\u6839\u636e hint \u8fdb\u884c\u4ee3\u7801\u586b\u7a7a\uff0c\u56e0\u6b64\u4f5c\u4e1a\u96be\u5ea6\u5e76\u4e0d\u5927\u3002 \u603b\u7684\u6765\u8bf4\uff0c\u8be5\u8bfe\u7a0b\u9002\u5408\u65b0\u624b\u5165\u95e8\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u3002\u867d\u7136\u5b66\u5230\u540e\u9762\u8d8a\u6765\u8d8a\u611f\u89c9\u5230\u96be\uff0c\u4f46\u6574\u95e8\u8bfe\u4e0b\u6765\u4e2a\u4eba\u611f\u89c9\u8fd8\u662f\u6536\u83b7\u9887\u4e30\u3002 \uff08\u53e6\u5916 Levine \u6559\u6388\u4eba\u771f\u7684\u5f88 nice\uff09","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a http://rail.eecs.berkeley.edu/deeprlcourse/ \u8bfe\u7a0b\u89c6\u9891\uff1a https://www.youtube.com/playlist?list=PL_iWQOsE6TfX7MaC6C3HcdOf1g337dlC9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a http://rail.eecs.berkeley.edu/deeprlcourse/ \uff0c5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/","text":"\u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\uff1a\u674e\u5b8f\u6bc5\u673a\u5668\u5b66\u4e60 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u570b\u7acb\u53f0\u7063\u5927\u5b78 \u5148\u4fee\u8981\u6c42\uff1a\u719f\u7ec3\u638c\u63e1 Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u674e\u5b8f\u6bc5\u8001\u5e08\u662f\u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\u7684\u6559\u6388\uff0c\u5176\u98ce\u8da3\u5e7d\u9ed8\u7684\u6388\u8bfe\u98ce\u683c\u6df1\u53d7\u5927\u5bb6\u559c\u7231\uff0c\u5e76\u4e14\u5c24\u5176\u559c\u6b22\u5728 PPT \u4e2d\u63d2\u5165\u5b9d\u53ef\u68a6\u7b49\u52a8\u6f2b\u5143\u7d20\uff0c\u662f\u4e2a\u975e\u5e38\u53ef\u7231\u7684\u8001\u5e08\u3002 \u8fd9\u95e8\u8bfe\u6302\u7740\u673a\u5668\u5b66\u4e60\u7684\u724c\u5b50\uff0c\u4f46\u5176\u8bfe\u7a0b\u5185\u5bb9\u4e4b\u5e7f\u5b9e\u5728\u4ee4\u4eba\u548b\u820c\uff0c\u5176\u4f5c\u4e1a\u4e00\u5171\u5305\u542b 15 \u4e2a lab\uff0c\u5206\u522b\u662f Regression\u3001Classification\u3001CNN\u3001Self-Attention\u3001Transformer\u3001GAN\u3001BERT\u3001Anomaly Detection\u3001Explainable AI\u3001Attack\u3001Adaptation\u3001 RL\u3001Compression\u3001Life-Long Learning \u4ee5\u53ca Meta Learning\u3002\u53ef\u8c13\u662f\u5305\u7f57\u4e07\u8c61\uff0c\u80fd\u8ba9\u5b66\u751f\u5bf9\u4e8e\u6df1\u5ea6\u5b66\u4e60\u7684\u7edd\u5927\u591a\u6570\u9886\u57df\u90fd\u6709\u4e00\u5b9a\u4e86\u89e3\uff0c\u4ece\u800c\u53ef\u4ee5\u8fdb\u4e00\u6b65\u9009\u62e9\u60f3\u8981\u6df1\u5165\u7684\u65b9\u5411\u8fdb\u884c\u5b66\u4e60\u3002 \u5927\u5bb6\u4e5f\u5927\u53ef\u4e0d\u5fc5\u62c5\u5fc3\u4f5c\u4e1a\u7684\u96be\u5ea6\uff0c\u56e0\u4e3a\u6240\u6709\u4f5c\u4e1a\u90fd\u4f1a\u63d0\u4f9b\u52a9\u6559\u7684\u793a\u4f8b\u4ee3\u7801\uff0c\u5e2e\u4f60\u5b8c\u6210\u6570\u636e\u5904\u7406\u3001\u6a21\u578b\u642d\u5efa\u7b49\uff0c\u4f60\u53ea\u9700\u8981\u5728\u5176\u57fa\u7840\u4e0a\u8fdb\u884c\u9002\u91cf\u7684\u4fee\u6539\u5373\u53ef\u3002\u8fd9\u4e5f\u662f\u4e00\u4e2a\u5b66\u4e60\u522b\u4eba\u4f18\u8d28\u4ee3\u7801\u7684\u6781\u597d\u673a\u4f1a\uff0c\u5927\u5bb6\u9700\u8981\u6c34\u8bfe\u7a0b\u5927\u4f5c\u4e1a\u7684\u8bdd\uff0c\u8fd9\u91cc\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u8d44\u6599\u6765\u6e90\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \u8bfe\u7a0b\u89c6\u9891\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \uff0c15 \u4e2a lab\uff0c\u51e0\u4e4e\u8986\u76d6\u4e86\u4e3b\u6d41\u6df1\u5ea6\u5b66\u4e60\u7684\u6240\u6709\u9886\u57df","title":"\u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\uff1a\u674e\u5b8f\u6bc5\u673a\u5668\u5b66\u4e60"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/#_1","text":"","title":"\u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\uff1a\u674e\u5b8f\u6bc5\u673a\u5668\u5b66\u4e60"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/#_2","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u570b\u7acb\u53f0\u7063\u5927\u5b78 \u5148\u4fee\u8981\u6c42\uff1a\u719f\u7ec3\u638c\u63e1 Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u674e\u5b8f\u6bc5\u8001\u5e08\u662f\u56fd\u7acb\u53f0\u6e7e\u5927\u5b66\u7684\u6559\u6388\uff0c\u5176\u98ce\u8da3\u5e7d\u9ed8\u7684\u6388\u8bfe\u98ce\u683c\u6df1\u53d7\u5927\u5bb6\u559c\u7231\uff0c\u5e76\u4e14\u5c24\u5176\u559c\u6b22\u5728 PPT \u4e2d\u63d2\u5165\u5b9d\u53ef\u68a6\u7b49\u52a8\u6f2b\u5143\u7d20\uff0c\u662f\u4e2a\u975e\u5e38\u53ef\u7231\u7684\u8001\u5e08\u3002 \u8fd9\u95e8\u8bfe\u6302\u7740\u673a\u5668\u5b66\u4e60\u7684\u724c\u5b50\uff0c\u4f46\u5176\u8bfe\u7a0b\u5185\u5bb9\u4e4b\u5e7f\u5b9e\u5728\u4ee4\u4eba\u548b\u820c\uff0c\u5176\u4f5c\u4e1a\u4e00\u5171\u5305\u542b 15 \u4e2a lab\uff0c\u5206\u522b\u662f Regression\u3001Classification\u3001CNN\u3001Self-Attention\u3001Transformer\u3001GAN\u3001BERT\u3001Anomaly Detection\u3001Explainable AI\u3001Attack\u3001Adaptation\u3001 RL\u3001Compression\u3001Life-Long Learning \u4ee5\u53ca Meta Learning\u3002\u53ef\u8c13\u662f\u5305\u7f57\u4e07\u8c61\uff0c\u80fd\u8ba9\u5b66\u751f\u5bf9\u4e8e\u6df1\u5ea6\u5b66\u4e60\u7684\u7edd\u5927\u591a\u6570\u9886\u57df\u90fd\u6709\u4e00\u5b9a\u4e86\u89e3\uff0c\u4ece\u800c\u53ef\u4ee5\u8fdb\u4e00\u6b65\u9009\u62e9\u60f3\u8981\u6df1\u5165\u7684\u65b9\u5411\u8fdb\u884c\u5b66\u4e60\u3002 \u5927\u5bb6\u4e5f\u5927\u53ef\u4e0d\u5fc5\u62c5\u5fc3\u4f5c\u4e1a\u7684\u96be\u5ea6\uff0c\u56e0\u4e3a\u6240\u6709\u4f5c\u4e1a\u90fd\u4f1a\u63d0\u4f9b\u52a9\u6559\u7684\u793a\u4f8b\u4ee3\u7801\uff0c\u5e2e\u4f60\u5b8c\u6210\u6570\u636e\u5904\u7406\u3001\u6a21\u578b\u642d\u5efa\u7b49\uff0c\u4f60\u53ea\u9700\u8981\u5728\u5176\u57fa\u7840\u4e0a\u8fdb\u884c\u9002\u91cf\u7684\u4fee\u6539\u5373\u53ef\u3002\u8fd9\u4e5f\u662f\u4e00\u4e2a\u5b66\u4e60\u522b\u4eba\u4f18\u8d28\u4ee3\u7801\u7684\u6781\u597d\u673a\u4f1a\uff0c\u5927\u5bb6\u9700\u8981\u6c34\u8bfe\u7a0b\u5927\u4f5c\u4e1a\u7684\u8bdd\uff0c\u8fd9\u91cc\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u8d44\u6599\u6765\u6e90\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/#_3","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \u8bfe\u7a0b\u89c6\u9891\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \uff0c\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a https://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.php \uff0c15 \u4e2a lab\uff0c\u51e0\u4e4e\u8986\u76d6\u4e86\u4e3b\u6d41\u6df1\u5ea6\u5b66\u4e60\u7684\u6240\u6709\u9886\u57df","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/","text":"UCB EE16A&B: Designing Information Devices and Systems I&II Descriptions Offered by: UC Berkeley Prerequisites: None Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours This introductory class for freshmen majoring in electronics at UC Berkeley teaches the fundamentals of circuitry. Through a variety of hands-on labs, students will experience collecting information from the environment through sensors and analyzing it to make predictions. Due to the COVID-19, all labs have remote online version, making them ideal for self-study. Course Resources Course Website: EE16A , EE16B Recordings: EE16A , EE16B Textbooks: EE16A , EE16B Assignments: EE16A , EE16B Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/EE16A - GitHub .","title":"EE16A&B: Designing Information Devices and Systems I&II"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#ucb-ee16ab-designing-information-devices-and-systems-iii","text":"","title":"UCB EE16A&B: Designing Information Devices and Systems I&II"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#descriptions","text":"Offered by: UC Berkeley Prerequisites: None Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours This introductory class for freshmen majoring in electronics at UC Berkeley teaches the fundamentals of circuitry. Through a variety of hands-on labs, students will experience collecting information from the environment through sensors and analyzing it to make predictions. Due to the COVID-19, all labs have remote online version, making them ideal for self-study.","title":"Descriptions"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#course-resources","text":"Course Website: EE16A , EE16B Recordings: EE16A , EE16B Textbooks: EE16A , EE16B Assignments: EE16A , EE16B","title":"Course Resources"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/EE16A - GitHub .","title":"Personal Resources"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals_and_Systems_AVO/","text":"MIT 6.007 Signals and Systems Descriptions Offered by: MIT Prerequisites: Calculus, Linear Algebra Programming Languages: Matlab Preferred Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 50-70 hours The name of the instructor: Prof. Alan V. Oppenheim Okay, enough reason to take this class. Course Resources Course Website: https://ocw.mit.edu/resources/res-6-007-signals-and-systems-spring-2011/index.htm Recordings: https://www.bilibili.com/video/BV1CZ4y1j7hs Textbooks: Signals and Systems, 2nd Edition Assignments: https://ocw.mit.edu/resources/res-6-007-signals-and-systems-spring-2011/assignments","title":"MIT 6.007 Signals and Systems"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals_and_Systems_AVO/#mit-6007-signals-and-systems","text":"","title":"MIT 6.007 Signals and Systems"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals_and_Systems_AVO/#descriptions","text":"Offered by: MIT Prerequisites: Calculus, Linear Algebra Programming Languages: Matlab Preferred Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 50-70 hours The name of the instructor: Prof. Alan V. Oppenheim Okay, enough reason to take this class.","title":"Descriptions"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals_and_Systems_AVO/#course-resources","text":"Course Website: https://ocw.mit.edu/resources/res-6-007-signals-and-systems-spring-2011/index.htm Recordings: https://www.bilibili.com/video/BV1CZ4y1j7hs Textbooks: Signals and Systems, 2nd Edition Assignments: https://ocw.mit.edu/resources/res-6-007-signals-and-systems-spring-2011/assignments","title":"Course Resources"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/","text":"UCB EE120: Signal and Systems Descriptions Offered by: UC Berkeley Prerequisites: CS61A, CS70, Calculus, Linear Algebra Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours The highlight of this course is the six exciting labs that will allow you to use signals and systems theory to solve practical problems in Python. For example, in lab3 you will implement the FFT algorithm and compare the performance with Numpy's official implementation. In lab4 you will infer the heart rate by processing the video of fingers. Lab5 is the most awesome one where you will reduce the noise in the photos taken by the Hubble telescope to recover the brilliant and bright starry sky. In lab6 you will build a feedback system to stabilize the pole on the cart. Course Resources Course Website: https://inst.eecs.berkeley.edu/~ee120/fa19/ Recordings: refer to the course website Assignments: refer to the course website Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/UCB-EE120 - GitHub","title":"UCB EE120 : Signal and Systems"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#ucb-ee120-signal-and-systems","text":"","title":"UCB EE120: Signal and Systems"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#descriptions","text":"Offered by: UC Berkeley Prerequisites: CS61A, CS70, Calculus, Linear Algebra Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours The highlight of this course is the six exciting labs that will allow you to use signals and systems theory to solve practical problems in Python. For example, in lab3 you will implement the FFT algorithm and compare the performance with Numpy's official implementation. In lab4 you will infer the heart rate by processing the video of fingers. Lab5 is the most awesome one where you will reduce the noise in the photos taken by the Hubble telescope to recover the brilliant and bright starry sky. In lab6 you will build a feedback system to stabilize the pole on the cart.","title":"Descriptions"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#course-resources","text":"Course Website: https://inst.eecs.berkeley.edu/~ee120/fa19/ Recordings: refer to the course website Assignments: refer to the course website","title":"Course Resources"},{"location":"en/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/UCB-EE120 - GitHub","title":"Personal Resources"},{"location":"en/%E7%A8%8B%E5%BA%8F%E8%AF%AD%E8%A8%80%E8%AE%BE%E8%AE%A1/CS242/","text":"","title":"CS242"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/","text":"UCB CS161: Computer Security Descriptions Offered by: UC Berkeley Prerequisites: CS61A, CS61B, CS61C Programming Languages: C, Go Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 Hours Computer Security course from UC Berkeley, devided into 5 parts: Security principles: how to design a secure system Memory safety: buffer overflow attack Cryptography: symmetric encryption, asymmetric encryption, MAC, digital signature ......... Web: SQL-injection, XSS, XSRF ....... Networking: attacks for each layer The most impressive part to me is Project2, which requires you to design and implement a secure file sharing system in Go. It took me three full days to complete this extremely difficult project, with over 3 thousand lines of code. Such an intensive development experience can greatly enhance your ability to design and implement a secure system. In 2020 summer semester, the lecture recordings are posted publicly, which can be found in the links below. Course Resources Course Website: https://su20.cs161.org/ Recordings: refer to the course website Textbooks: https://textbook.cs161.org/ Assignments: 7 online HWs + 3 Labs + 3 Projects Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/UCB-CS161 - GitHub .","title":"UCB CS161: Computer Security"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/#ucb-cs161-computer-security","text":"","title":"UCB CS161: Computer Security"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/#descriptions","text":"Offered by: UC Berkeley Prerequisites: CS61A, CS61B, CS61C Programming Languages: C, Go Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 Hours Computer Security course from UC Berkeley, devided into 5 parts: Security principles: how to design a secure system Memory safety: buffer overflow attack Cryptography: symmetric encryption, asymmetric encryption, MAC, digital signature ......... Web: SQL-injection, XSS, XSRF ....... Networking: attacks for each layer The most impressive part to me is Project2, which requires you to design and implement a secure file sharing system in Go. It took me three full days to complete this extremely difficult project, with over 3 thousand lines of code. Such an intensive development experience can greatly enhance your ability to design and implement a secure system. In 2020 summer semester, the lecture recordings are posted publicly, which can be found in the links below.","title":"Descriptions"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/#course-resources","text":"Course Website: https://su20.cs161.org/ Recordings: refer to the course website Textbooks: https://textbook.cs161.org/ Assignments: 7 online HWs + 3 Labs + 3 Projects","title":"Course Resources"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/UCB-CS161 - GitHub .","title":"Personal Resources"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/","text":"ASU CSE365: Introduction to Cybersecurity Descriptions Offered by: Arizona State University Prerequisites: None Programming Languages: C, Python, x86 assembly Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: Varying from person to person An introductory course on web security at Arizona State University, the course contains several modules, mainly including: Program Misuse: Linux commandline, privilege escalation Web fundamentals: http, server, intercept Assembly: registers, memory, control flow Cryptography: Symmetric/Asymmetric encryption, hashing, trust Web security: Command/HTML/SQL/Stack injection The course is mainly based on challenges, supplemented by lectures and reading materials. The challenges are developed in the form of CTF, and the difficulty increases in order. For hackers with weak foundations, getting stuck is a normal phenomenon. If you encounter difficulties in solving the problem, you can seek help from the Discord Server given in the Chat column on the homepage. Course Resources Course Website: https://dojo.pwn.college/cse365/ Recordings: See course website Textbooks: None Assignments: 7 modules (167 challenges) Personal Resources Lectures on YouTube: https://youtube.com/pwncollege Live Broadcasts on Twitch: https://twitch.tv/pwncollege Chat on Discord: https://pwn.college/discord Open Source on GitHub: https://github.com/pwncollege Contact us via Email: pwn-college@asu.edu In addition, due to an important factor in evaluating ASU students' course grades, the course does not encourage uploading problem-solving ideas, except for the first two challenges of each module.","title":"ASU CSE365: Introduction to Cybersecurity"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/#asu-cse365-introduction-to-cybersecurity","text":"","title":"ASU CSE365: Introduction to Cybersecurity"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/#descriptions","text":"Offered by: Arizona State University Prerequisites: None Programming Languages: C, Python, x86 assembly Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: Varying from person to person An introductory course on web security at Arizona State University, the course contains several modules, mainly including: Program Misuse: Linux commandline, privilege escalation Web fundamentals: http, server, intercept Assembly: registers, memory, control flow Cryptography: Symmetric/Asymmetric encryption, hashing, trust Web security: Command/HTML/SQL/Stack injection The course is mainly based on challenges, supplemented by lectures and reading materials. The challenges are developed in the form of CTF, and the difficulty increases in order. For hackers with weak foundations, getting stuck is a normal phenomenon. If you encounter difficulties in solving the problem, you can seek help from the Discord Server given in the Chat column on the homepage.","title":"Descriptions"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/#course-resources","text":"Course Website: https://dojo.pwn.college/cse365/ Recordings: See course website Textbooks: None Assignments: 7 modules (167 challenges)","title":"Course Resources"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/#personal-resources","text":"Lectures on YouTube: https://youtube.com/pwncollege Live Broadcasts on Twitch: https://twitch.tv/pwncollege Chat on Discord: https://pwn.college/discord Open Source on GitHub: https://github.com/pwncollege Contact us via Email: pwn-college@asu.edu In addition, due to an important factor in evaluating ASU students' course grades, the course does not encourage uploading problem-solving ideas, except for the first two challenges of each module.","title":"Personal Resources"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/","text":"ASU CSE466: Computer Systems Security Descriptions Offered by: Arizona State University Prerequisites: None Programming Languages: C, Python, x86 assembly Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: Varying from person to person A hard-core course on system security at Arizona State University, the course contains several modules, mainly including: Linux commandline: Program misuse, program interaction Shellcoding: Assembly, shellcode injection, prevention Reverse Engineering: Function frame, static/dynamic reversing tools Program Exploitation: Hijacking to shellcode, JIT spray System Exploitation: Kernel modules, privilege escalation Miscellaneous: Sandboxing, Memory Errors, Race conditions Like CSE365, the course is also based on challenges, supplemented by lectures and reading materials. The challenges are developed in the form of CTF, and the difficulty increases in order. The quality of the exercises is excellent, but some modules are quite difficult, especially the parts involving the kernel. Sometimes you'll spend a whole day struggling at one challenge with no progress. If you encounter difficulties in solving the problem, you can seek help from the Discord Server given in the Chat column on the homepage. Course Resources Course Website: https://dojo.pwn.college/cse466/ Recordings: See course website Textbooks: None Assignments: 13 modules (358 challenges) Personal Resources Lectures on YouTube: https://youtube.com/pwncollege Live Broadcasts on Twitch: https://twitch.tv/pwncollege Chat on Discord: https://pwn.college/discord Open Source on GitHub: https://github.com/pwncollege Contact us via Email: pwn-college@asu.edu In addition, due to an important factor in evaluating ASU students' course grades, the course does not encourage uploading problem-solving ideas, except for the first two challenges of each module and challenge 16 in the reversing module.","title":"ASU CSE466: Computer Systems Security"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/#asu-cse466-computer-systems-security","text":"","title":"ASU CSE466: Computer Systems Security"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/#descriptions","text":"Offered by: Arizona State University Prerequisites: None Programming Languages: C, Python, x86 assembly Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: Varying from person to person A hard-core course on system security at Arizona State University, the course contains several modules, mainly including: Linux commandline: Program misuse, program interaction Shellcoding: Assembly, shellcode injection, prevention Reverse Engineering: Function frame, static/dynamic reversing tools Program Exploitation: Hijacking to shellcode, JIT spray System Exploitation: Kernel modules, privilege escalation Miscellaneous: Sandboxing, Memory Errors, Race conditions Like CSE365, the course is also based on challenges, supplemented by lectures and reading materials. The challenges are developed in the form of CTF, and the difficulty increases in order. The quality of the exercises is excellent, but some modules are quite difficult, especially the parts involving the kernel. Sometimes you'll spend a whole day struggling at one challenge with no progress. If you encounter difficulties in solving the problem, you can seek help from the Discord Server given in the Chat column on the homepage.","title":"Descriptions"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/#course-resources","text":"Course Website: https://dojo.pwn.college/cse466/ Recordings: See course website Textbooks: None Assignments: 13 modules (358 challenges)","title":"Course Resources"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/#personal-resources","text":"Lectures on YouTube: https://youtube.com/pwncollege Live Broadcasts on Twitch: https://twitch.tv/pwncollege Chat on Discord: https://pwn.college/discord Open Source on GitHub: https://github.com/pwncollege Contact us via Email: pwn-college@asu.edu In addition, due to an important factor in evaluating ASU students' course grades, the course does not encourage uploading problem-solving ideas, except for the first two challenges of each module and challenge 16 in the reversing module.","title":"Personal Resources"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/","text":"MIT 6.858: Computer System Security Descriptions Offered by: MIT Prerequisites: Computer Architecture, basic knowledge about programming and computer system Programming Languages: C, Python Difficulty:\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours This is MIT's Computer Systems Security course. Lectures cover threat models, attacks that compromise security, and techniques for achieving security, based on recent research papers. Topics include operating system (OS) security, capabilities, information flow control, language security, network protocols, hardware security, and security in web applications. Assignments include labs that involve implementing and compromising a secure web server and web application, and a group final project: Lab 1: you will explore the zoobar web application, and use buffer overflow attacks to break its security properties. Lab 2: you will improve the zoobar web application by using privilege separation, so that if one component is compromised, the adversary doesn't get control over the whole web application. Lab 3: you will build a program analysis tool based on symbolic execution to find bugs in Python code such as the zoobar web application. Lab 4: you will improve the zoobar application against browser attacks. I mainly did Lab 3 in this course. Lab 3 requires you to traverse all the branches of a program by concolic execution, and it is not difficult to do once you understand the idea of symbolic execution. This Lab visually demonstrates the use of symbolic execution. In the Final Project, you will build a remote file system, SecFS , that provides both confidentiality and integrity in the face of a completely untrusted server. Reference Papers: SUNDR Resources Course Website: http://css.csail.mit.edu/6.858/2022/ Assignments: refer to the course website. Textbook: None Assignments: 4 Labs + Final Project / Lab5","title":"MIT 6.858: Computer System Security"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/#mit-6858-computer-system-security","text":"","title":"MIT 6.858: Computer System Security"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/#descriptions","text":"Offered by: MIT Prerequisites: Computer Architecture, basic knowledge about programming and computer system Programming Languages: C, Python Difficulty:\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 150 hours This is MIT's Computer Systems Security course. Lectures cover threat models, attacks that compromise security, and techniques for achieving security, based on recent research papers. Topics include operating system (OS) security, capabilities, information flow control, language security, network protocols, hardware security, and security in web applications. Assignments include labs that involve implementing and compromising a secure web server and web application, and a group final project: Lab 1: you will explore the zoobar web application, and use buffer overflow attacks to break its security properties. Lab 2: you will improve the zoobar web application by using privilege separation, so that if one component is compromised, the adversary doesn't get control over the whole web application. Lab 3: you will build a program analysis tool based on symbolic execution to find bugs in Python code such as the zoobar web application. Lab 4: you will improve the zoobar application against browser attacks. I mainly did Lab 3 in this course. Lab 3 requires you to traverse all the branches of a program by concolic execution, and it is not difficult to do once you understand the idea of symbolic execution. This Lab visually demonstrates the use of symbolic execution. In the Final Project, you will build a remote file system, SecFS , that provides both confidentiality and integrity in the face of a completely untrusted server. Reference Papers: SUNDR","title":"Descriptions"},{"location":"en/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/#resources","text":"Course Website: http://css.csail.mit.edu/6.858/2022/ Assignments: refer to the course website. Textbook: None Assignments: 4 Labs + Final Project / Lab5","title":"Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/AUT1400/","text":"Amirkabir University of Technology 1400-2: Advanced Programming Course \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aAmirkabir University of Technology \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u65e0\u610f\u4e2d\u53d1\u73b0\u7684\u4e00\u4e2a C++ \u8bfe\u7a0b\u3002\u8bfe\u7a0b\u7684 homework \u8d28\u91cf\u5f88\u9ad8\uff0c\u6bcf\u4e2a homework \u76f8\u4e92\u72ec\u7acb\u7ed3\u6784\u7b80\u5355\uff0c\u4e14\u6709\u5b8c\u5584\u7684\u5355\u5143\u6d4b\u8bd5\uff0c\u975e\u5e38\u9002\u5408\u7528\u6765\u5b66\u4e60 C++ \u7684\u7f16\u7a0b\u3002\u672c\u8bfe\u7a0b\u5171 7 \u4e2a homework\uff0c\u5982\u4e0b\u6240\u793a\uff1a \u5b9e\u73b0\u4e00\u4e2a Matrix \u7c7b\u4ee5\u53ca\u76f8\u5173\u51fd\u6570\u3002 \u5b9e\u73b0\u4e00\u4e2a\u6a21\u62df\u52a0\u5bc6\u8d27\u5e01\u5ba2\u6237\u7aef/\u670d\u52a1\u7aef\u6267\u884c\u8fc7\u7a0b\u7684\u7a0b\u5e8f\u3002 \u5b9e\u73b0\u4e00\u4e2a Binary Search Tree (BST)\u3002 \u5b9e\u73b0 C++ \u4e2d\u7684 SharedPtr \u548c UniquePtr \u667a\u80fd\u6307\u9488\u3002 \u4f7f\u7528\u7ee7\u627f\u548c\u591a\u6001\u5b9e\u73b0\u591a\u4e2a\u7c7b\u3002 \u4f7f\u7528 STL \u5e93\u89e3\u51b3 4 \u4e2a\u95ee\u9898\u3002 \u662f\u4e2a python \u9879\u76ee\uff0c\u6709\u5174\u8da3\u7684\u53ef\u4ee5\u770b\u770b\u3002 \u6ca1\u627e\u5230\u8bfe\u7a0b\u7684\u4e3b\u9875\uff0c\u53ea\u6709\u5728 github \u6709 homework \u7684\u6e90\u7801\uff08\u540d\u5b57\u4e3a AP1400-2-HW \u7684\u90a3\u51e0\u4e2a\uff09\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a\u65e0 \u8bfe\u7a0b\u4ee3\u7801\uff1a https://github.com/courseworks \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 homework","title":"AmirKabir University of Technology AP1400-2: Advanced Programming"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/AUT1400/#amirkabir-university-of-technology-1400-2-advanced-programming-course","text":"","title":"Amirkabir University of Technology 1400-2: Advanced Programming Course"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/AUT1400/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aAmirkabir University of Technology \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u65e0\u610f\u4e2d\u53d1\u73b0\u7684\u4e00\u4e2a C++ \u8bfe\u7a0b\u3002\u8bfe\u7a0b\u7684 homework \u8d28\u91cf\u5f88\u9ad8\uff0c\u6bcf\u4e2a homework \u76f8\u4e92\u72ec\u7acb\u7ed3\u6784\u7b80\u5355\uff0c\u4e14\u6709\u5b8c\u5584\u7684\u5355\u5143\u6d4b\u8bd5\uff0c\u975e\u5e38\u9002\u5408\u7528\u6765\u5b66\u4e60 C++ \u7684\u7f16\u7a0b\u3002\u672c\u8bfe\u7a0b\u5171 7 \u4e2a homework\uff0c\u5982\u4e0b\u6240\u793a\uff1a \u5b9e\u73b0\u4e00\u4e2a Matrix \u7c7b\u4ee5\u53ca\u76f8\u5173\u51fd\u6570\u3002 \u5b9e\u73b0\u4e00\u4e2a\u6a21\u62df\u52a0\u5bc6\u8d27\u5e01\u5ba2\u6237\u7aef/\u670d\u52a1\u7aef\u6267\u884c\u8fc7\u7a0b\u7684\u7a0b\u5e8f\u3002 \u5b9e\u73b0\u4e00\u4e2a Binary Search Tree (BST)\u3002 \u5b9e\u73b0 C++ \u4e2d\u7684 SharedPtr \u548c UniquePtr \u667a\u80fd\u6307\u9488\u3002 \u4f7f\u7528\u7ee7\u627f\u548c\u591a\u6001\u5b9e\u73b0\u591a\u4e2a\u7c7b\u3002 \u4f7f\u7528 STL \u5e93\u89e3\u51b3 4 \u4e2a\u95ee\u9898\u3002 \u662f\u4e2a python \u9879\u76ee\uff0c\u6709\u5174\u8da3\u7684\u53ef\u4ee5\u770b\u770b\u3002 \u6ca1\u627e\u5230\u8bfe\u7a0b\u7684\u4e3b\u9875\uff0c\u53ea\u6709\u5728 github \u6709 homework \u7684\u6e90\u7801\uff08\u540d\u5b57\u4e3a AP1400-2-HW \u7684\u90a3\u51e0\u4e2a\uff09\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/AUT1400/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a\u65e0 \u8bfe\u7a0b\u4ee3\u7801\uff1a https://github.com/courseworks \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7 homework","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106B_CS106X/","text":"Stanford CS106B/X: Programming Abstractions in C++ Descriptions Offered by: Stanford Prerequisites: CS50/CS106A/CS61A or equivalent Programming Languages: C++ Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 50-70 hours CS106B/X are advanced programming courses at Stanford. CS106X is more difficult and in-depth than CS106B, but the main content is similar. Based on programming assignments in C++ language, students will develop the ability to solve real-world problems through programming abstraction. It also covers some simple data structures and algorithms, but is generally not as systematic as a specialized data structures course. Resources Course Website: CS106B , CS106X Textbook: https://web.stanford.edu/class/cs106x/res/reader/CS106BX-Reader.pdf Recordings: https://www.bilibili.com/video/BV1G7411k7jG","title":"Stanford CS106B/X"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106B_CS106X/#stanford-cs106bx-programming-abstractions-in-c","text":"","title":"Stanford CS106B/X: Programming Abstractions in C++"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106B_CS106X/#descriptions","text":"Offered by: Stanford Prerequisites: CS50/CS106A/CS61A or equivalent Programming Languages: C++ Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 50-70 hours CS106B/X are advanced programming courses at Stanford. CS106X is more difficult and in-depth than CS106B, but the main content is similar. Based on programming assignments in C++ language, students will develop the ability to solve real-world problems through programming abstraction. It also covers some simple data structures and algorithms, but is generally not as systematic as a specialized data structures course.","title":"Descriptions"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106B_CS106X/#resources","text":"Course Website: CS106B , CS106X Textbook: https://web.stanford.edu/class/cs106x/res/reader/CS106BX-Reader.pdf Recordings: https://www.bilibili.com/video/BV1G7411k7jG","title":"Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/","text":"CS106L: Stanford C++ Programming Descriptions Offered by: Stanford Prerequisites: better if you are already proficient in a programming language Programming Languages: C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 20 hours I've been writing C++ code since freshman year, and it wasn't until I finished this class that I realized the C++ code I was writing was probably just C + cin / cout . This class will dive into a lot of standard C++ features and syntax that will allow you to write quality C++ code. Techniques such as auto binding, uniform initialization, lambda function, move semantics, RAII, etc. have been used repeatedly in my coding career since then and are very useful. It is worth mentioning that in this class, you will implement a HashMap (similar to unordered_map in STL), which almost ties the whole course together and is a great test of coding skills. Especially after the implementation of iterator , I started to understand why Linus is so sarcastic about C/C++, because it is really hard to write correctly. In short, the course is not difficult but very informative which requires you to consolidate repeatedly in later practice. The reason why Stanford offers a single C++ programming class is that many of the subsequent CS courses' projects are based on C++. For example, CS144 Computer Networks and CS143 Compilers. Both of these courses are included in this book. Course Resources Course Website: http://web.stanford.edu/class/cs106l/ Recordings: https://www.youtube.com/channel/UCSqr6y-eaQT_qZJVUm_4QxQ/playlists Textbook: http://web.stanford.edu/class/cs106l/full_course_reader.pdf Assignment1 Download: https://github.com/snme/cs106L-assignment1 Assignment2 Download: https://github.com/snme/cs106L-assignment2 Assignments: refer to the course website Personal Resources All the resources and assignments used by @PKUFlyingPig are maintained in PKUFlyingPig/CS106L - GitHub .","title":"Stanford CS106L: Standard C++ Programming"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#cs106l-stanford-c-programming","text":"","title":"CS106L: Stanford C++ Programming"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#descriptions","text":"Offered by: Stanford Prerequisites: better if you are already proficient in a programming language Programming Languages: C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 20 hours I've been writing C++ code since freshman year, and it wasn't until I finished this class that I realized the C++ code I was writing was probably just C + cin / cout . This class will dive into a lot of standard C++ features and syntax that will allow you to write quality C++ code. Techniques such as auto binding, uniform initialization, lambda function, move semantics, RAII, etc. have been used repeatedly in my coding career since then and are very useful. It is worth mentioning that in this class, you will implement a HashMap (similar to unordered_map in STL), which almost ties the whole course together and is a great test of coding skills. Especially after the implementation of iterator , I started to understand why Linus is so sarcastic about C/C++, because it is really hard to write correctly. In short, the course is not difficult but very informative which requires you to consolidate repeatedly in later practice. The reason why Stanford offers a single C++ programming class is that many of the subsequent CS courses' projects are based on C++. For example, CS144 Computer Networks and CS143 Compilers. Both of these courses are included in this book.","title":"Descriptions"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#course-resources","text":"Course Website: http://web.stanford.edu/class/cs106l/ Recordings: https://www.youtube.com/channel/UCSqr6y-eaQT_qZJVUm_4QxQ/playlists Textbook: http://web.stanford.edu/class/cs106l/full_course_reader.pdf Assignment1 Download: https://github.com/snme/cs106L-assignment1 Assignment2 Download: https://github.com/snme/cs106L-assignment2 Assignments: refer to the course website","title":"Course Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig are maintained in PKUFlyingPig/CS106L - GitHub .","title":"Personal Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/","text":"CS110L: Safety in Systems Programming Descriptions Offered by: Stanford Prerequisites: basic knowledge about programming and computer system Programming Languages: Rust Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 30 hours In this course, you will learn a fantastic language, Rust. If you have studied C and have some knowledge of systems programming, you should have heard about memory leaks and the danger of pointers, but C's high efficiency makes it impossible to be replaced by other higher-level languages with garbage collection such as Java in system-level programming. Whereas Rust aims to make up for C's lack of security while having competitive efficiency. Therefore, Rust was designed from a system programmer's point of view. By learning Rust, you will learn the principles to write safer and more elegant system code (e.g., operating systems, etc.). The latter part of this course focuses on the topic of concurrency, where you will systematically learn multi-processing, multi-threading, event-driven programming, and several other techniques. In the second project, you will compare the pros and cons of each method. Personally, I find the concept of \"futures\" in Rust fascinating and elegant, and mastering this idea will help you in your following systems-related courses. In addition, Tsinghua University's operating system lab, rCore is based on Rust. You can see the documentation for more details. Course Resources Course Website: https://reberhardt.com/cs110l/spring-2020/ Recordings: https://youtu.be/j7AQrtLevUE Textbook: None Assignments: 6 Labs, 2 Projects, the course website has specific requirements. The projects are quite interesting where you will Implement a GDB-like debugger and a load balancer in Rust. Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS110L - GitHub . Due to the rapid evolution of Rust, the libraries used in the 2020 version of the course project are obsolete, so @fung-hwang tried to adapt these libraries (in November 2022). His adaptation advice and completed assignments are maintained in fung-hwang/CS110L-2020spr - GitHub . It is possible that Rust and these libraries will have changed again when you start to learn CS110L, but you can still refer to this repo for help.","title":"Stanford CS110L: Safety in Systems Programming"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#cs110l-safety-in-systems-programming","text":"","title":"CS110L: Safety in Systems Programming"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#descriptions","text":"Offered by: Stanford Prerequisites: basic knowledge about programming and computer system Programming Languages: Rust Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 30 hours In this course, you will learn a fantastic language, Rust. If you have studied C and have some knowledge of systems programming, you should have heard about memory leaks and the danger of pointers, but C's high efficiency makes it impossible to be replaced by other higher-level languages with garbage collection such as Java in system-level programming. Whereas Rust aims to make up for C's lack of security while having competitive efficiency. Therefore, Rust was designed from a system programmer's point of view. By learning Rust, you will learn the principles to write safer and more elegant system code (e.g., operating systems, etc.). The latter part of this course focuses on the topic of concurrency, where you will systematically learn multi-processing, multi-threading, event-driven programming, and several other techniques. In the second project, you will compare the pros and cons of each method. Personally, I find the concept of \"futures\" in Rust fascinating and elegant, and mastering this idea will help you in your following systems-related courses. In addition, Tsinghua University's operating system lab, rCore is based on Rust. You can see the documentation for more details.","title":"Descriptions"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#course-resources","text":"Course Website: https://reberhardt.com/cs110l/spring-2020/ Recordings: https://youtu.be/j7AQrtLevUE Textbook: None Assignments: 6 Labs, 2 Projects, the course website has specific requirements. The projects are quite interesting where you will Implement a GDB-like debugger and a load balancer in Rust.","title":"Course Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS110L - GitHub . Due to the rapid evolution of Rust, the libraries used in the 2020 version of the course project are obsolete, so @fung-hwang tried to adapt these libraries (in November 2022). His adaptation advice and completed assignments are maintained in fung-hwang/CS110L-2020spr - GitHub . It is possible that Rust and these libraries will have changed again when you start to learn CS110L, but you can still refer to this repo for help.","title":"Personal Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/","text":"CS50: This is CS50x Descriptions Offered by: Harvard Prerequisites: None Programming Languages: C, Python, SQL, HTML, CSS, JavaScript Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 20 hours This course has been voted the most popular public course by Harvard students for many years. Professor Malan is very passionate in class. I still remember the scene where he tears up the Yellow pages to explain the dichotomy method. Since this is a university-wide public course, the contents are pretty friendly to beginners and even if you already have some programming experience, all the programming assignments are quite exciting and worth a try. Course Resources Course Website: 2022 , 2023 Recordings: 2022 , 2023 Assignments: 2022 , 2023 Personal Resources All the resources and assignments used by @mancuoj in this course are maintained in mancuoj/CS50x - GitHub .","title":"Harvard CS50: This is CS50x"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/#cs50-this-is-cs50x","text":"","title":"CS50: This is CS50x"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/#descriptions","text":"Offered by: Harvard Prerequisites: None Programming Languages: C, Python, SQL, HTML, CSS, JavaScript Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 20 hours This course has been voted the most popular public course by Harvard students for many years. Professor Malan is very passionate in class. I still remember the scene where he tears up the Yellow pages to explain the dichotomy method. Since this is a university-wide public course, the contents are pretty friendly to beginners and even if you already have some programming experience, all the programming assignments are quite exciting and worth a try.","title":"Descriptions"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/#course-resources","text":"Course Website: 2022 , 2023 Recordings: 2022 , 2023 Assignments: 2022 , 2023","title":"Course Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/#personal-resources","text":"All the resources and assignments used by @mancuoj in this course are maintained in mancuoj/CS50x - GitHub .","title":"Personal Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50P/","text":"CS50P Introduction to Programming with Python Descriptions Offered by: Harvard University Prerequisites: No prerequisites Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 30-40 hours One of the CS50 families, taught by David J. Malan. You'll learn how to program in Python and \"Pythonic\" ways to deal with everthing. The course also introduces libraries, code testing, and handling exceptions. No programming experiences are assumed. So it may be appropriate for anyone who wants to learn Python. Course Resources Course Website: 2022 Recordings: 2022 Textbooks: No textbook required Assignments: 2022 Personal Resources All the resources and assignments used by @mancuoj in this course are maintained in mancuoj/CS50P - GitHub .","title":"CS50P: CS50's Introduction to Programming with Python"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50P/#cs50p-introduction-to-programming-with-python","text":"","title":"CS50P Introduction to Programming with Python"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50P/#descriptions","text":"Offered by: Harvard University Prerequisites: No prerequisites Programming Languages: Python Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 30-40 hours One of the CS50 families, taught by David J. Malan. You'll learn how to program in Python and \"Pythonic\" ways to deal with everthing. The course also introduces libraries, code testing, and handling exceptions. No programming experiences are assumed. So it may be appropriate for anyone who wants to learn Python.","title":"Descriptions"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50P/#course-resources","text":"Course Website: 2022 Recordings: 2022 Textbooks: No textbook required Assignments: 2022","title":"Course Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50P/#personal-resources","text":"All the resources and assignments used by @mancuoj in this course are maintained in mancuoj/CS50P - GitHub .","title":"Personal Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/","text":"CS61A: Structure and Interpretation of Computer Programs Descriptions Offered by: UC Berkeley Prerequisites: None Programming Languages: Python, Scheme, SQL Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 50 hours This is the first course in the Berkeley CS61 series, and my introductory course to Python. The CS61 series is composed of introductory courses to the CS major at Berkeley, where CS61A: Emphasizes abstraction and equips students to use programs to solve real-world problems without focusing on the underlying hardware details. CS61B: Focuses on algorithms and data structures and the construction of large-scale programs, where students combine knowledge of algorithms and data structures with the Java language to build large-scale projects at the thousand-line code level (such as a simple Google Maps, a two-dimensional version of Minecraft). CS61C: Focusing on computer architecture, students will understand how high-level languages (e.g. C) are converted step-by-step into machine-understandable bit strings and executed on CPUs. Students will learn about the RISC-V architecture and implement a CPU on their own by using Logism. CS61B and CS61C are both included in this guidebook. Going back to CS61A, you will note that this is not just a programming language class, but goes deeper into the principles of program construction and operation. Finally you will implement an interpreter for Scheme in Python in Project 4. In addition, abstraction will be a major theme in this class, as you will learn about functional programming, data abstraction, object orientation, etc. to make your code more readable and modular. Of course, learning a programming language is also a big part of this course. You will master three programming languages, Python, Scheme, and SQL, and in learning and comparing them, you will be equiped with the ability to quickly master a new programming language. Note: If you have no prior programming experience at all, getting started with CS61A requires a relatively high level of learning ability and self-discipline. To avoid the frustration of a struggling experience, you may choose a more friendly introductory programming course at first. For example, CS10 at Berkeley or CS50 at Harvard are both good choices. Course Resources Course Website: https://inst.eecs.berkeley.edu/~cs61a/su20/ Recordings: refer to the course website Textbook: http://composingprograms.com/ Assignments: refer to the course website Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS61A - GitHub","title":"UCB CS61A: Structure and Interpretation of Computer Programs"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#cs61a-structure-and-interpretation-of-computer-programs","text":"","title":"CS61A: Structure and Interpretation of Computer Programs"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#descriptions","text":"Offered by: UC Berkeley Prerequisites: None Programming Languages: Python, Scheme, SQL Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 50 hours This is the first course in the Berkeley CS61 series, and my introductory course to Python. The CS61 series is composed of introductory courses to the CS major at Berkeley, where CS61A: Emphasizes abstraction and equips students to use programs to solve real-world problems without focusing on the underlying hardware details. CS61B: Focuses on algorithms and data structures and the construction of large-scale programs, where students combine knowledge of algorithms and data structures with the Java language to build large-scale projects at the thousand-line code level (such as a simple Google Maps, a two-dimensional version of Minecraft). CS61C: Focusing on computer architecture, students will understand how high-level languages (e.g. C) are converted step-by-step into machine-understandable bit strings and executed on CPUs. Students will learn about the RISC-V architecture and implement a CPU on their own by using Logism. CS61B and CS61C are both included in this guidebook. Going back to CS61A, you will note that this is not just a programming language class, but goes deeper into the principles of program construction and operation. Finally you will implement an interpreter for Scheme in Python in Project 4. In addition, abstraction will be a major theme in this class, as you will learn about functional programming, data abstraction, object orientation, etc. to make your code more readable and modular. Of course, learning a programming language is also a big part of this course. You will master three programming languages, Python, Scheme, and SQL, and in learning and comparing them, you will be equiped with the ability to quickly master a new programming language. Note: If you have no prior programming experience at all, getting started with CS61A requires a relatively high level of learning ability and self-discipline. To avoid the frustration of a struggling experience, you may choose a more friendly introductory programming course at first. For example, CS10 at Berkeley or CS50 at Harvard are both good choices.","title":"Descriptions"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#course-resources","text":"Course Website: https://inst.eecs.berkeley.edu/~cs61a/su20/ Recordings: refer to the course website Textbook: http://composingprograms.com/ Assignments: refer to the course website","title":"Course Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS61A - GitHub","title":"Personal Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Duke-Coursera-Intro-C/","text":"Introductory C Programming Specialization Descriptions Offered by: Duke Prerequisites: None Programming Languages: C Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 110 hours This is an excellent course which I benefited a lot from. The course teaches fundamental concepts such as frame, stack memory, heap memory, etc. There are great programming assignments to deepen and reinforce your understanding of the hardest part in C, like pointers. The course provides excellent practice in GDB, Valgrind, and the assignments will cover some basic Git exercises. The course instructor recommends using Emacs for homework, so it's a good opportunity to learn Emacs. If you already know how to use Vim, I suggest you use Evil. This way you don't lose the editing capabilities of Vim, and you get to experience the power of Emacs. Having both Emacs and Vim in your kit will increase your efficiency considerably. Emacs' org-mode, smooth integration of GDB, etc., are convenient for developers. It may require payment, but I think it's worth it. Although this is an introductory course, it has both breadth and depth. Course Resources Course Website: https://www.coursera.org/specializations/c-programming Recordings: refer to the course website Textbook: refer to the course website Assignments: refer to the course website Personal Resources All the resources and assignments used by in this course are maintained in Duke Coursera Intro C . Several assignments have not been completed so far for time reasons.","title":"Duke University: Introductory C Programming Specialization"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Duke-Coursera-Intro-C/#introductory-c-programming-specialization","text":"","title":"Introductory C Programming Specialization"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Duke-Coursera-Intro-C/#descriptions","text":"Offered by: Duke Prerequisites: None Programming Languages: C Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 110 hours This is an excellent course which I benefited a lot from. The course teaches fundamental concepts such as frame, stack memory, heap memory, etc. There are great programming assignments to deepen and reinforce your understanding of the hardest part in C, like pointers. The course provides excellent practice in GDB, Valgrind, and the assignments will cover some basic Git exercises. The course instructor recommends using Emacs for homework, so it's a good opportunity to learn Emacs. If you already know how to use Vim, I suggest you use Evil. This way you don't lose the editing capabilities of Vim, and you get to experience the power of Emacs. Having both Emacs and Vim in your kit will increase your efficiency considerably. Emacs' org-mode, smooth integration of GDB, etc., are convenient for developers. It may require payment, but I think it's worth it. Although this is an introductory course, it has both breadth and depth.","title":"Descriptions"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Duke-Coursera-Intro-C/#course-resources","text":"Course Website: https://www.coursera.org/specializations/c-programming Recordings: refer to the course website Textbook: refer to the course website Assignments: refer to the course website","title":"Course Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Duke-Coursera-Intro-C/#personal-resources","text":"All the resources and assignments used by in this course are maintained in Duke Coursera Intro C . Several assignments have not been completed so far for time reasons.","title":"Personal Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Haskell-MOOC/","text":"Haskell MOOC Descriptions Offered by: University of Helsinki Prerequisites: None Programming Languages: Haskell Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: Varying according to the learner Functional programming is increasingly being integrated into modern programming languages. Streams in Java, Promises in JavaScript, and Record & Tuple in the draft phase of ECMAScript... When I was learning these things, I always felt like I was memorizing the behaviours of their API, and although I was able to write some programs using them, I never felt like I had mastered them. Why do they exist? Why are they like that? What is the idea behind their design? Learning functional programming will give you the answer. Its core ingredient is functional programming. Just like Java is probably the default choice for teaching object-oriented programming. This course will teach just enough Haskell syntax, library functions, and a small number of tools to explain the core program semantics and the core idea of functional programming. This will save you time not getting bogged down in the details of the language and its ecology, which I think is the biggest advantage of the course. Topics covered in the course: Pure Function Lazy Evaluation Strongly Typed Type Inferred Curry Monoid / Functor / Monad / Applicative If you have some programming experience, part 1 of the course is very easy. Most of the difficulties lie in part 2, after chap 13. Its exercises are great, which can give you a feeling of doing exercise of CS61A . There are enough hints in the comments and the solutions will be given to you after submission, and you can ask questions or discuss them with others in the official Telegram community. Course Resources Course Website: https://haskell.mooc.fi/ Recordings: None Textbooks: https://haskell.mooc.fi/ Assignments: https://github.com/moocfi/haskell-mooc Community: https://t.me/haskell_mooc_fi Personal Resources All the resources and assignments used by @showtheunli in this course are maintained in showthesunli/haskell-mooc - GitHub . (It is highly discouraged to refer to other people's implementations when working on assignments.)","title":"Haskell MOOC"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Haskell-MOOC/#haskell-mooc","text":"","title":"Haskell MOOC"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Haskell-MOOC/#descriptions","text":"Offered by: University of Helsinki Prerequisites: None Programming Languages: Haskell Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: Varying according to the learner Functional programming is increasingly being integrated into modern programming languages. Streams in Java, Promises in JavaScript, and Record & Tuple in the draft phase of ECMAScript... When I was learning these things, I always felt like I was memorizing the behaviours of their API, and although I was able to write some programs using them, I never felt like I had mastered them. Why do they exist? Why are they like that? What is the idea behind their design? Learning functional programming will give you the answer. Its core ingredient is functional programming. Just like Java is probably the default choice for teaching object-oriented programming. This course will teach just enough Haskell syntax, library functions, and a small number of tools to explain the core program semantics and the core idea of functional programming. This will save you time not getting bogged down in the details of the language and its ecology, which I think is the biggest advantage of the course. Topics covered in the course: Pure Function Lazy Evaluation Strongly Typed Type Inferred Curry Monoid / Functor / Monad / Applicative If you have some programming experience, part 1 of the course is very easy. Most of the difficulties lie in part 2, after chap 13. Its exercises are great, which can give you a feeling of doing exercise of CS61A . There are enough hints in the comments and the solutions will be given to you after submission, and you can ask questions or discuss them with others in the official Telegram community.","title":"Descriptions"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Haskell-MOOC/#course-resources","text":"Course Website: https://haskell.mooc.fi/ Recordings: None Textbooks: https://haskell.mooc.fi/ Assignments: https://github.com/moocfi/haskell-mooc Community: https://t.me/haskell_mooc_fi","title":"Course Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Haskell-MOOC/#personal-resources","text":"All the resources and assignments used by @showtheunli in this course are maintained in showthesunli/haskell-mooc - GitHub . (It is highly discouraged to refer to other people's implementations when working on assignments.)","title":"Personal Resources"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/","text":"MIT: The Missing Semester of Your CS Education Descriptions Offered by: MIT Prerequisites: None Programming Languages: Shell Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 10 hours Just as the course name indicated, this course will teach the missing things in the university courses. It will cover shell programming, git, vim editor, tmux, ssh, sed, awk and even how to beautify your terminal. Trust me, this will be your first step to become a hacker! Resources Homepage: https://missing.csail.mit.edu/ Records: https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J Assignments: Some exercises after each lecture.","title":"MIT-Missing-Semester"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/#mit-the-missing-semester-of-your-cs-education","text":"","title":"MIT: The Missing Semester of Your CS Education"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/#descriptions","text":"Offered by: MIT Prerequisites: None Programming Languages: Shell Difficulty: \ud83c\udf1f\ud83c\udf1f Class Hour: 10 hours Just as the course name indicated, this course will teach the missing things in the university courses. It will cover shell programming, git, vim editor, tmux, ssh, sed, awk and even how to beautify your terminal. Trust me, this will be your first step to become a hacker!","title":"Descriptions"},{"location":"en/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/#resources","text":"Homepage: https://missing.csail.mit.edu/ Records: https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J Assignments: Some exercises after each lecture.","title":"Resources"},{"location":"en/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/6035/","text":"","title":"6035"},{"location":"en/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/","text":"Stanford CS143: Compilers Descriptions Offered by: Stanford University Prerequisite: Computer Architecture Programming Languages: Java or C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Learning Hours: 150 This course aims to impart the principles of compiler construction for programming languages to students. The instructors have designed a \u201cCOOL language\u201d, namely Class-Object-Oriented-Language. By study and practice, you will design and implement a compiler, which can translate the human-readable COOL language into machine-readable MIPS assembly which can be run on the SPIM emulator. Following the Dragon Book, the theoretical part of the course covers lexical analysis, syntax analysis, semantics analysis, runtime environments, register allocation, optimization, and code generation. The practical part, accordingly, is divided into 4 steps: 3 for the frontend and 1 for the backend. The difficulty is considered gradual, increasing at a proper rate. Should you have enough time and interest even after completing all the required work, there\u2019s a huge room left for you to do optimization. Course Resources Course Website: http://web.stanford.edu/class/cs143/ Recordings: https://www.bilibili.com/video/BV17K4y147Bz Textbook: Compilers: Principles, Techniques and Tools (Dragon Book) Assignments: 5 written assignments + 5 programming labs Collection of Course Resources @skyzluo has been maintaining a repo of course resources used and reference implementations of programming labs: skyzluo/CS143-Compilers-Stanford - GitHub .","title":"Stanford CS143: Compilers"},{"location":"en/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#stanford-cs143-compilers","text":"","title":"Stanford CS143: Compilers"},{"location":"en/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#descriptions","text":"Offered by: Stanford University Prerequisite: Computer Architecture Programming Languages: Java or C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Learning Hours: 150 This course aims to impart the principles of compiler construction for programming languages to students. The instructors have designed a \u201cCOOL language\u201d, namely Class-Object-Oriented-Language. By study and practice, you will design and implement a compiler, which can translate the human-readable COOL language into machine-readable MIPS assembly which can be run on the SPIM emulator. Following the Dragon Book, the theoretical part of the course covers lexical analysis, syntax analysis, semantics analysis, runtime environments, register allocation, optimization, and code generation. The practical part, accordingly, is divided into 4 steps: 3 for the frontend and 1 for the backend. The difficulty is considered gradual, increasing at a proper rate. Should you have enough time and interest even after completing all the required work, there\u2019s a huge room left for you to do optimization.","title":"Descriptions"},{"location":"en/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#course-resources","text":"Course Website: http://web.stanford.edu/class/cs143/ Recordings: https://www.bilibili.com/video/BV17K4y147Bz Textbook: Compilers: Principles, Techniques and Tools (Dragon Book) Assignments: 5 written assignments + 5 programming labs","title":"Course Resources"},{"location":"en/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#collection-of-course-resources","text":"@skyzluo has been maintaining a repo of course resources used and reference implementations of programming labs: skyzluo/CS143-Compilers-Stanford - GitHub .","title":"Collection of Course Resources"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/15462/","text":"CMU 15-462 : COMPUTER GRAPHICS Descriptions Offered by: CMU Prerequisites: Basic vector calculus and linear algebra , basic C/C++ programming skills. Programming Languages: C/C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This course provides a comprehensive introduction to computer graphics. It focuses on fundamental concepts and techniques, and their cross-cutting relationship to multiple problem domains in graphics (rendering, animation, geometry, imaging). Topics include: sampling, aliasing, interpolation, rasterization, geometric transformations, parameterization, visibility, compositing, filtering, convolution, curves & surfaces, geometric data structures, subdivision, meshing, spatial hierarchies, ray tracing, radiometry, reflectance, light fields, geometric optics, Monte Carlo rendering, importance sampling, camera models, high-performance ray tracing, differential equations, time integration, numerical differentiation, physically-based animation, optimization, numerical linear algebra, inverse kinematics, Fourier methods, data fitting, example-based synthesis. Course Resources Course Website: http://15462.courses.cs.cmu.edu/fall2022/ Recordings: Youtube Textbooks: There is no required textbook for 15-462, though a variety of books may provide good supplementary material: Fundamentals of Computer Graphics. A K Peters, 2009 Computer Graphics: Principles and Practice Physically Based Rendering: From Theory to Implementation Assignments: refer to the course website","title":"CMU 15-462"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/15462/#cmu-15-462-computer-graphics","text":"","title":"CMU 15-462 : COMPUTER GRAPHICS"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/15462/#descriptions","text":"Offered by: CMU Prerequisites: Basic vector calculus and linear algebra , basic C/C++ programming skills. Programming Languages: C/C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This course provides a comprehensive introduction to computer graphics. It focuses on fundamental concepts and techniques, and their cross-cutting relationship to multiple problem domains in graphics (rendering, animation, geometry, imaging). Topics include: sampling, aliasing, interpolation, rasterization, geometric transformations, parameterization, visibility, compositing, filtering, convolution, curves & surfaces, geometric data structures, subdivision, meshing, spatial hierarchies, ray tracing, radiometry, reflectance, light fields, geometric optics, Monte Carlo rendering, importance sampling, camera models, high-performance ray tracing, differential equations, time integration, numerical differentiation, physically-based animation, optimization, numerical linear algebra, inverse kinematics, Fourier methods, data fitting, example-based synthesis.","title":"Descriptions"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/15462/#course-resources","text":"Course Website: http://15462.courses.cs.cmu.edu/fall2022/ Recordings: Youtube Textbooks: There is no required textbook for 15-462, though a variety of books may provide good supplementary material: Fundamentals of Computer Graphics. A K Peters, 2009 Computer Graphics: Principles and Practice Physically Based Rendering: From Theory to Implementation Assignments: refer to the course website","title":"Course Resources"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS148/","text":"Stanford CS148 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cPython \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u8fd9\u662f\u4e00\u95e8\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u7684\u5165\u95e8\u8bfe\u7a0b\uff0c\u8fd9\u95e8\u8bfe\u7684\u4e00\u5f00\u59cb\u4f7f\u7528 Blender \u53bb\u751f\u6210\u56fe\u50cf\uff0c\u5e76\u4e14\u7406\u89e3\u5e95\u5c42\u7684\u6570\u5b66\u77e5\u8bc6\uff0c\u5305\u62ec\u4e09\u89d2\u5f62\u3001\u6cd5\u5411\u91cf\u3001\u63d2\u503c\u3001\u7eb9\u7406\u6620\u5c04\u3001\u51f9\u51f8\u8d34\u56fe\u7b49\u7b49\u3002\u4e4b\u540e\u4f1a\u4ecb\u7ecd\u5149\u7ebf\u548c\u989c\u8272\u4ee5\u53ca\u5b83\u4eec\u5982\u4f55\u5f71\u54cd\u8ba1\u7b97\u673a\u7684\u663e\u793a\u548c\u6253\u5370\u3002\u540c\u65f6\u4e5f\u4f1a\u4ecb\u7ecd BRDF \u4ee5\u53ca\u4e00\u4e9b\u57fa\u672c\u7684\u5149\u7167\u548c\u7740\u8272\u6a21\u578b\u3002\u8bfe\u7a0b\u7684\u6700\u540e\uff0c\u4f1a\u6d89\u53ca\u5230\u5149\u7ebf\u8ffd\u8e2a\u3001\u53cd\u8d70\u6837\u3001\u52a0\u901f\u7ed3\u6784\u7b49\u5185\u5bb9\u3002 \u5177\u4f53\u8bfe\u7a0b\u4fe1\u606f\u53ef\u4ee5\u67e5\u770b \u8bfe\u7a0b\u7f51\u7ad9 \u3002 \u8fd9\u95e8\u8bfe\u7a0b\u6bd4\u8d77 GAMES101 \u6d45\u4e00\u4e9b\uff0c\u7f16\u7a0b\u8bed\u8a00\u4f7f\u7528\u7684\u662f Python\uff0c\u5bf9\u4e8e\u4e0d\u719f\u6089 C++ \u7684\u540c\u5b66\u6bd4\u8f83\u53cb\u597d\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a CS148 \u8bfe\u7a0b\u89c6\u9891\uff1a\u65e0\uff0c\u76f4\u63a5\u770b lecture \u5c31\u53ef\u4ee5\u4e86\uff0c\u4e5f\u53ef\u4ee5\u53c2\u8003 GAMES101 \u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aFundamentals of Computer Graphics \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 8 \u4e2a hw, 1 \u4e2a final project","title":"Stanford CS148"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS148/#stanford-cs148","text":"","title":"Stanford CS148"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS148/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cPython \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u8fd9\u662f\u4e00\u95e8\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u7684\u5165\u95e8\u8bfe\u7a0b\uff0c\u8fd9\u95e8\u8bfe\u7684\u4e00\u5f00\u59cb\u4f7f\u7528 Blender \u53bb\u751f\u6210\u56fe\u50cf\uff0c\u5e76\u4e14\u7406\u89e3\u5e95\u5c42\u7684\u6570\u5b66\u77e5\u8bc6\uff0c\u5305\u62ec\u4e09\u89d2\u5f62\u3001\u6cd5\u5411\u91cf\u3001\u63d2\u503c\u3001\u7eb9\u7406\u6620\u5c04\u3001\u51f9\u51f8\u8d34\u56fe\u7b49\u7b49\u3002\u4e4b\u540e\u4f1a\u4ecb\u7ecd\u5149\u7ebf\u548c\u989c\u8272\u4ee5\u53ca\u5b83\u4eec\u5982\u4f55\u5f71\u54cd\u8ba1\u7b97\u673a\u7684\u663e\u793a\u548c\u6253\u5370\u3002\u540c\u65f6\u4e5f\u4f1a\u4ecb\u7ecd BRDF \u4ee5\u53ca\u4e00\u4e9b\u57fa\u672c\u7684\u5149\u7167\u548c\u7740\u8272\u6a21\u578b\u3002\u8bfe\u7a0b\u7684\u6700\u540e\uff0c\u4f1a\u6d89\u53ca\u5230\u5149\u7ebf\u8ffd\u8e2a\u3001\u53cd\u8d70\u6837\u3001\u52a0\u901f\u7ed3\u6784\u7b49\u5185\u5bb9\u3002 \u5177\u4f53\u8bfe\u7a0b\u4fe1\u606f\u53ef\u4ee5\u67e5\u770b \u8bfe\u7a0b\u7f51\u7ad9 \u3002 \u8fd9\u95e8\u8bfe\u7a0b\u6bd4\u8d77 GAMES101 \u6d45\u4e00\u4e9b\uff0c\u7f16\u7a0b\u8bed\u8a00\u4f7f\u7528\u7684\u662f Python\uff0c\u5bf9\u4e8e\u4e0d\u719f\u6089 C++ \u7684\u540c\u5b66\u6bd4\u8f83\u53cb\u597d\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS148/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a CS148 \u8bfe\u7a0b\u89c6\u9891\uff1a\u65e0\uff0c\u76f4\u63a5\u770b lecture \u5c31\u53ef\u4ee5\u4e86\uff0c\u4e5f\u53ef\u4ee5\u53c2\u8003 GAMES101 \u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aFundamentals of Computer Graphics \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 8 \u4e2a hw, 1 \u4e2a final project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS184/","text":"","title":"CS184"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/","text":"GAMES101 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUCSB \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cC++ \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u672c\u8bfe\u7a0b\u5c06\u5168\u9762\u800c\u7cfb\u7edf\u5730\u4ecb\u7ecd\u73b0\u4ee3\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u7684\u56db\u5927\u7ec4\u6210\u90e8\u5206\uff1a\uff081\uff09\u5149\u6805\u5316\u6210\u50cf\uff0c\uff082\uff09\u51e0\u4f55\u8868\u793a\uff0c\uff083\uff09\u5149\u7684\u4f20\u64ad\u7406\u8bba\uff0c\u4ee5\u53ca\uff084\uff09\u52a8\u753b\u4e0e\u6a21\u62df\u3002\u6bcf\u4e2a\u65b9\u9762\u90fd\u4f1a\u4ece\u57fa\u7840\u539f\u7406\u51fa\u53d1\u8bb2\u89e3\u5230\u5b9e\u9645\u5e94\u7528\uff0c\u5e76\u4ecb\u7ecd\u524d\u6cbf\u7684\u7406\u8bba\u7814\u7a76\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\uff0c\u4f60\u53ef\u4ee5\u5b66\u4e60\u5230\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u80cc\u540e\u7684\u6570\u5b66\u548c\u7269\u7406\u77e5\u8bc6\uff0c\u5e76\u953b\u70bc\u5b9e\u9645\u7684\u7f16\u7a0b\u80fd\u529b\u3002 \u4f5c\u4e3a\u5165\u95e8\uff0c\u672c\u8bfe\u7a0b\u4f1a\u5c3d\u53ef\u80fd\u7684\u8986\u76d6\u56fe\u5f62\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff0c\u628a\u6bcf\u4e00\u90e8\u5206\u7684\u57fa\u672c\u6982\u5ff5\u90fd\u5c3d\u53ef\u80fd\u8bf4\u6e05\u695a\uff0c\u8ba9\u5927\u5bb6\u5bf9\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u6709\u4e00\u4e2a\u5b8c\u6574\u7684\u3001\u81ea\u4e0a\u800c\u4e0b\u7684\u5168\u5c40\u628a\u63e1\u3002\u5168\u5c40\u7684\u7406\u89e3\u5f88\u91cd\u8981\uff0c\u5b66\u5b8c\u672c\u8bfe\u7a0b\u540e\uff0c\u4f60\u4f1a\u4e86\u89e3\u5230\u56fe\u5f62\u5b66\u4e0d\u7b49\u4e8e OpenGL\uff0c\u4e0d\u7b49\u4e8e\u5149\u7ebf\u8ffd\u8e2a\uff0c\u800c\u662f\u4e00\u5957\u751f\u6210\u6574\u4e2a\u865a\u62df\u4e16\u754c\u7684\u65b9\u6cd5\u3002\u4ece\u672c\u8bfe\u7a0b\u7684\u6807\u9898\uff0c\u5927\u5bb6\u8fd8\u53ef\u4ee5\u770b\u5230\u201c\u73b0\u4ee3\u201d\u4e8c\u5b57\uff0c\u4e5f\u5c31\u662f\u8bf4\uff0c\u8fd9\u95e8\u8bfe\u6240\u8981\u7ed9\u5927\u5bb6\u4ecb\u7ecd\u7684\u90fd\u662f\u73b0\u4ee3\u5316\u7684\u77e5\u8bc6\uff0c\u4e5f\u90fd\u662f\u73b0\u4ee3\u56fe\u5f62\u5b66\u5de5\u4e1a\u754c\u9700\u8981\u7684\u56fe\u5f62\u5b66\u57fa\u7840\u3002 GAMES101 \u662f\u56fd\u5185\u76f8\u5f53\u6709\u540d\u7684\u56fe\u5f62\u5b66\u516c\u5f00\u8bfe\u3002\u548c\u5927\u5bb6\u5370\u8c61\u4e2d\u6ee1\u662f\u6570\u5b66\u548c\u7b97\u6cd5\u7684\u56fe\u5f62\u5b66\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4ee5\u5341\u5206\u751f\u52a8\u7684\u65b9\u5f0f\u5e26\u6211\u4eec\u8fdb\u5165\u4e86\u56fe\u5f62\u5b66\u8fd9\u4e2a\u9886\u57df\u7684\u5927\u95e8\u3002 \u6bcf\u4e2aproject\u4ee3\u7801\u91cf\u90fd\u4e0d\u4f1a\u5f88\u591a\uff0c\u4f46\u662f\u5374\u90fd\u5341\u5206\u6709\u8da3\u3002\u5728\u505a\u8fd9\u4e9bproject\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u4f1a\u5b9e\u73b0\u7b80\u5355\u7684\u5149\u6805\u5316\uff0c\u5e76\u6e32\u67d3\u4e00\u4e2a\u7b80\u6613\u7684\u6a21\u578b\uff0c\u6211\u4eec\u8fd8\u4f1a\u5b9e\u73b0\u5149\u7ebf\u8ffd\u8e2a\uff0c\u4ee5\u8ffd\u6c42\u6e32\u67d3\u66f4\u597d\u7684\u8d28\u91cf\u3002\u6bcf\u4e2aproject\u4e2d\u8fd8\u6709\u9009\u505a\u7684\u62d3\u5c55\u4f5c\u4e1a\uff0c\u53ef\u4ee5\u8ba9\u6211\u4eec\u6e32\u67d3\u7684\u6a21\u578b\u5177\u6709\u66f4\u597d\u7684\u8d28\u91cf\uff0c\u66f4\u5feb\u7684\u6e32\u67d3\u901f\u5ea6\u3002 \u559c\u6b22\u73a9\u6e38\u620f\u7684\u540c\u5b66\u5e94\u8be5\u5bf9\u5b9e\u65f6\u5149\u7ebf\u8ffd\u8e2a\u6709\u4e00\u5b9a\u7684\u4e86\u89e3\uff0c\u8fd9\u95e8\u8bfe\u7684\u8001\u5e08\u95eb\u4ee4\u742a\u5c31\u5bf9\u8fd9\u4e00\u6280\u672f\u6709\u76f4\u63a5\u7684\u63a8\u52a8\u4f5c\u7528\u3002 \u8ddf\u7740\u8bfe\u7a0b\u7684\u89c6\u9891\uff0c\u505a\u5b8c\u6bcf\u4e00\u4e2aproject\uff0c\u76f8\u4fe1\u4f60\u4f1a\u548c\u6211\u4e00\u6837\u5bf9\u56fe\u5f62\u5b66\uff0c\u4ee5\u53ca\u73b0\u4ee3\u7684\u6e32\u67d3\u6280\u672f\u4ea7\u751f\u6d53\u539a\u7684\u5174\u8da3\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES101 , GAMES101 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili , \u5b98\u7f51 \u8bfe\u7a0b\u6559\u6750\uff1aFundamentals of Computer Graphics \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 8 \u4e2a project \u8d44\u6e90\u6c47\u603b @ysj1173886760 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 ysj1173886760/Learning: graphics/GAMES101 - GitHub \u4e2d\u3002","title":"GAMES101"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/#games101","text":"","title":"GAMES101"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUCSB \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cC++ \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u672c\u8bfe\u7a0b\u5c06\u5168\u9762\u800c\u7cfb\u7edf\u5730\u4ecb\u7ecd\u73b0\u4ee3\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u7684\u56db\u5927\u7ec4\u6210\u90e8\u5206\uff1a\uff081\uff09\u5149\u6805\u5316\u6210\u50cf\uff0c\uff082\uff09\u51e0\u4f55\u8868\u793a\uff0c\uff083\uff09\u5149\u7684\u4f20\u64ad\u7406\u8bba\uff0c\u4ee5\u53ca\uff084\uff09\u52a8\u753b\u4e0e\u6a21\u62df\u3002\u6bcf\u4e2a\u65b9\u9762\u90fd\u4f1a\u4ece\u57fa\u7840\u539f\u7406\u51fa\u53d1\u8bb2\u89e3\u5230\u5b9e\u9645\u5e94\u7528\uff0c\u5e76\u4ecb\u7ecd\u524d\u6cbf\u7684\u7406\u8bba\u7814\u7a76\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\uff0c\u4f60\u53ef\u4ee5\u5b66\u4e60\u5230\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u80cc\u540e\u7684\u6570\u5b66\u548c\u7269\u7406\u77e5\u8bc6\uff0c\u5e76\u953b\u70bc\u5b9e\u9645\u7684\u7f16\u7a0b\u80fd\u529b\u3002 \u4f5c\u4e3a\u5165\u95e8\uff0c\u672c\u8bfe\u7a0b\u4f1a\u5c3d\u53ef\u80fd\u7684\u8986\u76d6\u56fe\u5f62\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff0c\u628a\u6bcf\u4e00\u90e8\u5206\u7684\u57fa\u672c\u6982\u5ff5\u90fd\u5c3d\u53ef\u80fd\u8bf4\u6e05\u695a\uff0c\u8ba9\u5927\u5bb6\u5bf9\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u6709\u4e00\u4e2a\u5b8c\u6574\u7684\u3001\u81ea\u4e0a\u800c\u4e0b\u7684\u5168\u5c40\u628a\u63e1\u3002\u5168\u5c40\u7684\u7406\u89e3\u5f88\u91cd\u8981\uff0c\u5b66\u5b8c\u672c\u8bfe\u7a0b\u540e\uff0c\u4f60\u4f1a\u4e86\u89e3\u5230\u56fe\u5f62\u5b66\u4e0d\u7b49\u4e8e OpenGL\uff0c\u4e0d\u7b49\u4e8e\u5149\u7ebf\u8ffd\u8e2a\uff0c\u800c\u662f\u4e00\u5957\u751f\u6210\u6574\u4e2a\u865a\u62df\u4e16\u754c\u7684\u65b9\u6cd5\u3002\u4ece\u672c\u8bfe\u7a0b\u7684\u6807\u9898\uff0c\u5927\u5bb6\u8fd8\u53ef\u4ee5\u770b\u5230\u201c\u73b0\u4ee3\u201d\u4e8c\u5b57\uff0c\u4e5f\u5c31\u662f\u8bf4\uff0c\u8fd9\u95e8\u8bfe\u6240\u8981\u7ed9\u5927\u5bb6\u4ecb\u7ecd\u7684\u90fd\u662f\u73b0\u4ee3\u5316\u7684\u77e5\u8bc6\uff0c\u4e5f\u90fd\u662f\u73b0\u4ee3\u56fe\u5f62\u5b66\u5de5\u4e1a\u754c\u9700\u8981\u7684\u56fe\u5f62\u5b66\u57fa\u7840\u3002 GAMES101 \u662f\u56fd\u5185\u76f8\u5f53\u6709\u540d\u7684\u56fe\u5f62\u5b66\u516c\u5f00\u8bfe\u3002\u548c\u5927\u5bb6\u5370\u8c61\u4e2d\u6ee1\u662f\u6570\u5b66\u548c\u7b97\u6cd5\u7684\u56fe\u5f62\u5b66\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4ee5\u5341\u5206\u751f\u52a8\u7684\u65b9\u5f0f\u5e26\u6211\u4eec\u8fdb\u5165\u4e86\u56fe\u5f62\u5b66\u8fd9\u4e2a\u9886\u57df\u7684\u5927\u95e8\u3002 \u6bcf\u4e2aproject\u4ee3\u7801\u91cf\u90fd\u4e0d\u4f1a\u5f88\u591a\uff0c\u4f46\u662f\u5374\u90fd\u5341\u5206\u6709\u8da3\u3002\u5728\u505a\u8fd9\u4e9bproject\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u4f1a\u5b9e\u73b0\u7b80\u5355\u7684\u5149\u6805\u5316\uff0c\u5e76\u6e32\u67d3\u4e00\u4e2a\u7b80\u6613\u7684\u6a21\u578b\uff0c\u6211\u4eec\u8fd8\u4f1a\u5b9e\u73b0\u5149\u7ebf\u8ffd\u8e2a\uff0c\u4ee5\u8ffd\u6c42\u6e32\u67d3\u66f4\u597d\u7684\u8d28\u91cf\u3002\u6bcf\u4e2aproject\u4e2d\u8fd8\u6709\u9009\u505a\u7684\u62d3\u5c55\u4f5c\u4e1a\uff0c\u53ef\u4ee5\u8ba9\u6211\u4eec\u6e32\u67d3\u7684\u6a21\u578b\u5177\u6709\u66f4\u597d\u7684\u8d28\u91cf\uff0c\u66f4\u5feb\u7684\u6e32\u67d3\u901f\u5ea6\u3002 \u559c\u6b22\u73a9\u6e38\u620f\u7684\u540c\u5b66\u5e94\u8be5\u5bf9\u5b9e\u65f6\u5149\u7ebf\u8ffd\u8e2a\u6709\u4e00\u5b9a\u7684\u4e86\u89e3\uff0c\u8fd9\u95e8\u8bfe\u7684\u8001\u5e08\u95eb\u4ee4\u742a\u5c31\u5bf9\u8fd9\u4e00\u6280\u672f\u6709\u76f4\u63a5\u7684\u63a8\u52a8\u4f5c\u7528\u3002 \u8ddf\u7740\u8bfe\u7a0b\u7684\u89c6\u9891\uff0c\u505a\u5b8c\u6bcf\u4e00\u4e2aproject\uff0c\u76f8\u4fe1\u4f60\u4f1a\u548c\u6211\u4e00\u6837\u5bf9\u56fe\u5f62\u5b66\uff0c\u4ee5\u53ca\u73b0\u4ee3\u7684\u6e32\u67d3\u6280\u672f\u4ea7\u751f\u6d53\u539a\u7684\u5174\u8da3\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES101 , GAMES101 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili , \u5b98\u7f51 \u8bfe\u7a0b\u6559\u6750\uff1aFundamentals of Computer Graphics \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 8 \u4e2a project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/#_3","text":"@ysj1173886760 \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 ysj1173886760/Learning: graphics/GAMES101 - GitHub \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/","text":"GAMES103 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStyle3D/OSU \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0c\u5927\u5b66\u7269\u7406\uff0c\u7f16\u7a0b\u80fd\u529b\uff0c\u57fa\u672c\u56fe\u5f62\u77e5\u8bc6 \u7f16\u7a0b\u8bed\u8a00\uff1aC# \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd\uff1a \u672c\u8bfe\u7a0b\u5c06\u4f5c\u4e3a\u57fa\u4e8e\u7269\u7406\u7684\u8ba1\u7b97\u673a\u52a8\u753b\u6280\u672f\u5165\u95e8\uff0c\u7740\u91cd\u4ecb\u7ecd\u5404\u79cd\u57fa\u7840\u7684\u7269\u7406\u52a8\u753b\u6a21\u62df\u6280\u672f\u3002 \u8be5\u8bfe\u7a0b\u4e3b\u8981\u6db5\u76d6\u56db\u4e2a\u65b9\u5411\uff0c\u5206\u522b\u4e3a\uff1a1\uff09\u521a\u4f53\u6a21\u62df\uff1b2\uff09\u8d28\u70b9\u5f39\u7c27\u3001\u7ea6\u675f\u4e0e\u5e03\u6599\u6a21\u62df\uff1b3\uff09\u57fa\u4e8e\u6709\u9650\u5143\u7684\u5f39\u6027\u4f53\u6a21\u62df\uff1b4\uff09\u6d41\u4f53\u6a21\u62df\u3002 \u672c\u8bfe\u7a0b\u5185\u5bb9\u5c06\u4e0d\u4f1a\u6d89\u53ca\u5177\u4f53\u7684\u7269\u7406\u6a21\u62df\u5f15\u64ce\uff0c\u4f46\u4f1a\u8ba8\u8bba\u5404\u79cd\u5f15\u64ce\u80cc\u540e\u7684\u6280\u672f\uff0c\u4ee5\u53ca\u5b83\u4eec\u7684\u4f18\u7f3a\u70b9\u7b49\u7b49\u3002\u7531\u4e8e\u5f00\u53d1\u5b66\u4e60\u7269\u7406\u6a21\u62df\u9700\u8981\u4e00\u5b9a\u7684\u6570\u5b66\u57fa\u7840\uff0c\u8bfe\u7a0b\u521d\u59cb\u9636\u6bb5\u4e5f\u4f1a\u82b1\u4e00\u5b9a\u7684\u65f6\u95f4\u590d\u4e60\u5fc5\u5907\u7684\u6570\u5b66\u77e5\u8bc6\u3002\u987a\u5229\u5b8c\u6210\u8bfe\u7a0b\u4e4b\u540e\uff0c\u540c\u5b66\u4eec\u5e94\u8be5\u4f1a\u5bf9\u57fa\u7840\u7684\u7269\u7406\u6a21\u62df\u6280\u672f\u6709\u6df1\u5165\u7406\u89e3\uff0c\u5bf9\u9ad8\u7ea7\u7684\u6a21\u62df\u6280\u672f\u4e5f\u4f1a\u6709\u90e8\u5206\u63a5\u89e6\u3002 \u56fe\u5f62\u5b66\u53ef\u7c97\u7565\u5206\u4e3a\u6e32\u67d3\u3001\u6a21\u62df\u3001\u51e0\u4f55\u4e09\u4e2a\u9886\u57df\u3002GAMES101 \u548c GAMES202 \u4e3b\u8981\u4ee5\u6e32\u67d3\u4e3a\u4e3b\uff0c\u800c\u5bf9\u4e8e\u7269\u7406\u6a21\u62df\uff0cGAMES103 \u5219\u662f\u5f88\u68d2\u7684\u5b66\u4e60\u8d44\u6e90\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES103 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u53c2\u8003\u8d44\u6599\uff1a \u8bfe\u7a0bPPT \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5171\u56db\u6b21\u4f5c\u4e1a\uff0c\u53ef\u89c1\u5b98\u65b9BBS\u5c0f\u7a0b\u5e8f\u6216\u975e\u5b98\u65b9\u7684Repo\uff1a GAMES103 HW \u8d44\u6e90\u6c47\u603b @indevn \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u8981\u6c42\u90fd\u6c47\u603b\u5728 GAMES103 Unoffical \u4e2d\u3002\u5bf9\u4e8e\u4f5c\u4e1a\u7684\u5177\u4f53\u5b9e\u73b0\uff0c\u5728\u77e5\u4e4e\u4e0a\u6709\u5f88\u591a\u76f8\u5173\u6587\u7ae0\u8fdb\u884c\u4e86\u7ec6\u81f4\u8bb2\u89e3\u53ef\u4ee5\u53c2\u8003\u3002","title":"GAMES103"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/#games103","text":"","title":"GAMES103"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStyle3D/OSU \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0c\u5927\u5b66\u7269\u7406\uff0c\u7f16\u7a0b\u80fd\u529b\uff0c\u57fa\u672c\u56fe\u5f62\u77e5\u8bc6 \u7f16\u7a0b\u8bed\u8a00\uff1aC# \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd\uff1a \u672c\u8bfe\u7a0b\u5c06\u4f5c\u4e3a\u57fa\u4e8e\u7269\u7406\u7684\u8ba1\u7b97\u673a\u52a8\u753b\u6280\u672f\u5165\u95e8\uff0c\u7740\u91cd\u4ecb\u7ecd\u5404\u79cd\u57fa\u7840\u7684\u7269\u7406\u52a8\u753b\u6a21\u62df\u6280\u672f\u3002 \u8be5\u8bfe\u7a0b\u4e3b\u8981\u6db5\u76d6\u56db\u4e2a\u65b9\u5411\uff0c\u5206\u522b\u4e3a\uff1a1\uff09\u521a\u4f53\u6a21\u62df\uff1b2\uff09\u8d28\u70b9\u5f39\u7c27\u3001\u7ea6\u675f\u4e0e\u5e03\u6599\u6a21\u62df\uff1b3\uff09\u57fa\u4e8e\u6709\u9650\u5143\u7684\u5f39\u6027\u4f53\u6a21\u62df\uff1b4\uff09\u6d41\u4f53\u6a21\u62df\u3002 \u672c\u8bfe\u7a0b\u5185\u5bb9\u5c06\u4e0d\u4f1a\u6d89\u53ca\u5177\u4f53\u7684\u7269\u7406\u6a21\u62df\u5f15\u64ce\uff0c\u4f46\u4f1a\u8ba8\u8bba\u5404\u79cd\u5f15\u64ce\u80cc\u540e\u7684\u6280\u672f\uff0c\u4ee5\u53ca\u5b83\u4eec\u7684\u4f18\u7f3a\u70b9\u7b49\u7b49\u3002\u7531\u4e8e\u5f00\u53d1\u5b66\u4e60\u7269\u7406\u6a21\u62df\u9700\u8981\u4e00\u5b9a\u7684\u6570\u5b66\u57fa\u7840\uff0c\u8bfe\u7a0b\u521d\u59cb\u9636\u6bb5\u4e5f\u4f1a\u82b1\u4e00\u5b9a\u7684\u65f6\u95f4\u590d\u4e60\u5fc5\u5907\u7684\u6570\u5b66\u77e5\u8bc6\u3002\u987a\u5229\u5b8c\u6210\u8bfe\u7a0b\u4e4b\u540e\uff0c\u540c\u5b66\u4eec\u5e94\u8be5\u4f1a\u5bf9\u57fa\u7840\u7684\u7269\u7406\u6a21\u62df\u6280\u672f\u6709\u6df1\u5165\u7406\u89e3\uff0c\u5bf9\u9ad8\u7ea7\u7684\u6a21\u62df\u6280\u672f\u4e5f\u4f1a\u6709\u90e8\u5206\u63a5\u89e6\u3002 \u56fe\u5f62\u5b66\u53ef\u7c97\u7565\u5206\u4e3a\u6e32\u67d3\u3001\u6a21\u62df\u3001\u51e0\u4f55\u4e09\u4e2a\u9886\u57df\u3002GAMES101 \u548c GAMES202 \u4e3b\u8981\u4ee5\u6e32\u67d3\u4e3a\u4e3b\uff0c\u800c\u5bf9\u4e8e\u7269\u7406\u6a21\u62df\uff0cGAMES103 \u5219\u662f\u5f88\u68d2\u7684\u5b66\u4e60\u8d44\u6e90\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES103 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u53c2\u8003\u8d44\u6599\uff1a \u8bfe\u7a0bPPT \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5171\u56db\u6b21\u4f5c\u4e1a\uff0c\u53ef\u89c1\u5b98\u65b9BBS\u5c0f\u7a0b\u5e8f\u6216\u975e\u5b98\u65b9\u7684Repo\uff1a GAMES103 HW","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/#_3","text":"@indevn \u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u8981\u6c42\u90fd\u6c47\u603b\u5728 GAMES103 Unoffical \u4e2d\u3002\u5bf9\u4e8e\u4f5c\u4e1a\u7684\u5177\u4f53\u5b9e\u73b0\uff0c\u5728\u77e5\u4e4e\u4e0a\u6709\u5f88\u591a\u76f8\u5173\u6587\u7ae0\u8fdb\u884c\u4e86\u7ec6\u81f4\u8bb2\u89e3\u53ef\u4ee5\u53c2\u8003\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES202/","text":"GAMES202 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUCSB \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cC++\uff0cGAMES101 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u672c\u8bfe\u7a0b\u5c06\u5168\u9762\u5730\u4ecb\u7ecd\u73b0\u4ee3\u5b9e\u65f6\u6e32\u67d3\u4e2d\u7684\u5173\u952e\u95ee\u9898\u4e0e\u89e3\u51b3\u65b9\u6cd5\u3002\u7531\u4e8e\u5b9e\u65f6\u6e32\u67d3 (>30 FPS) \u5bf9\u901f\u5ea6\u8981\u6c42\u6781\u9ad8\uff0c\u56e0\u6b64\u672c\u8bfe\u7a0b\u7684\u5173\u6ce8\u70b9\u5c06\u662f\u5728\u82db\u523b\u7684\u65f6\u95f4\u9650\u5236\u4e0b\uff0c\u4eba\u4eec\u5982\u4f55\u6253\u7834\u901f\u5ea6\u4e0e\u8d28\u91cf\u4e4b\u95f4\u7684\u6743\u8861\uff0c\u540c\u65f6\u4fdd\u8bc1\u5b9e\u65f6\u7684\u9ad8\u901f\u5ea6\u4e0e\u7167\u7247\u7ea7\u7684\u771f\u5b9e\u611f\u3002 \u672c\u8bfe\u7a0b\u5c06\u4ee5\u4e13\u9898\u7684\u5f62\u5f0f\u5448\u73b0\uff0c\u8bfe\u7a0b\u5185\u5bb9\u4f1a\u8986\u76d6\u5b66\u672f\u754c\u4e0e\u5de5\u4e1a\u754c\u7684\u524d\u6cbf\u5185\u5bb9\uff0c\u5305\u62ec\uff1a\uff081\uff09\u5b9e\u65f6\u8f6f\u9634\u5f71\u7684\u6e32\u67d3\uff1b\uff082\uff09\u73af\u5883\u5149\u7167\uff1b\uff083\uff09\u57fa\u4e8e\u9884\u8ba1\u7b97\u6216\u65e0\u9884\u8ba1\u7b97\u7684\u5168\u5c40\u5149\u7167\uff1b\uff084\uff09\u57fa\u4e8e\u7269\u7406\u7684\u7740\u8272\u6a21\u578b\u4e0e\u65b9\u6cd5\uff1b\uff085\uff09\u5b9e\u65f6\u5149\u7ebf\u8ffd\u8e2a\uff1b\uff086\uff09\u6297\u952f\u9f7f\u4e0e\u8d85\u91c7\u6837\uff1b\u4ee5\u53ca\u4e00\u4e9b\u5e38\u89c1\u7684\u52a0\u901f\u65b9\u5f0f\u7b49\u7b49\u3002 \u9664\u4e86\u6700\u65b0\u6700\u5168\u7684\u5185\u5bb9\u4e4b\u5916\uff0c\u672c\u8bfe\u7a0b\u4e0e\u5176\u5b83\u4efb\u4f55\u5b9e\u65f6\u6e32\u67d3\u7684\u6559\u7a0b\u8fd8\u6709\u4e00\u4e2a\u91cd\u8981\u7684\u533a\u522b\uff0c\u90a3\u5c31\u662f\u672c\u8bfe\u7a0b\u4e0d\u4f1a\u8bb2\u6388\u4efb\u4f55\u4e0e\u6e38\u620f\u5f15\u64ce\u7684\u4f7f\u7528\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5e76\u4e14\u4e0d\u4f1a\u7279\u522b\u5f3a\u8c03\u5177\u4f53\u7684\u7740\u8272\u5668\u5b9e\u73b0\u6280\u672f\uff0c\u800c\u4e3b\u8981\u8bb2\u6388\u5b9e\u65f6\u6e32\u67d3\u80cc\u540e\u7684\u79d1\u5b66\u4e0e\u77e5\u8bc6\u3002\u672c\u8bfe\u7a0b\u7684\u76ee\u6807\u662f\u5728\u4f60\u5b66\u4e60\u5b8c\u8fd9\u95e8\u8bfe\u7684\u65f6\u5019\uff0c\u4f60\u5c06\u6709\u6df1\u539a\u7684\u529f\u5e95\u53bb\u5f00\u53d1\u4e00\u4e2a\u5c5e\u4e8e\u4f60\u81ea\u5df1\u7684\u5b9e\u65f6\u6e32\u67d3\u5f15\u64ce\u3002 \u4f5c\u4e3a GAMES101 \u7684\u8fdb\u9636\u8bfe\u7a0b\uff0c\u96be\u5ea6\u6709\u4e00\u5b9a\u7684\u63d0\u5347\uff0c\u4f46\u4e0d\u4f1a\u5f88\u5927\uff0c\u76f8\u4fe1\u5b8c\u6210\u4e86 GAMES101 \u7684\u540c\u5b66\u90fd\u6709\u80fd\u529b\u5b8c\u6210\u8fd9\u95e8\u8bfe\u7a0b\u3002\u6bcf\u4e2a project \u4ee3\u7801\u91cf\u90fd\u4e0d\u4f1a\u5f88\u591a\uff0c\u4f46\u662f\u90fd\u9700\u8981\u4e00\u5b9a\u7684\u601d\u8003\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES202 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u8bfe\u7a0b\u6559\u6750\uff1aReal-Time Rendering, 4th edition. \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 5\u4e2aproject","title":"GAMES202"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES202/#games202","text":"","title":"GAMES202"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES202/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUCSB \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cC++\uff0cGAMES101 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60 \u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u672c\u8bfe\u7a0b\u5c06\u5168\u9762\u5730\u4ecb\u7ecd\u73b0\u4ee3\u5b9e\u65f6\u6e32\u67d3\u4e2d\u7684\u5173\u952e\u95ee\u9898\u4e0e\u89e3\u51b3\u65b9\u6cd5\u3002\u7531\u4e8e\u5b9e\u65f6\u6e32\u67d3 (>30 FPS) \u5bf9\u901f\u5ea6\u8981\u6c42\u6781\u9ad8\uff0c\u56e0\u6b64\u672c\u8bfe\u7a0b\u7684\u5173\u6ce8\u70b9\u5c06\u662f\u5728\u82db\u523b\u7684\u65f6\u95f4\u9650\u5236\u4e0b\uff0c\u4eba\u4eec\u5982\u4f55\u6253\u7834\u901f\u5ea6\u4e0e\u8d28\u91cf\u4e4b\u95f4\u7684\u6743\u8861\uff0c\u540c\u65f6\u4fdd\u8bc1\u5b9e\u65f6\u7684\u9ad8\u901f\u5ea6\u4e0e\u7167\u7247\u7ea7\u7684\u771f\u5b9e\u611f\u3002 \u672c\u8bfe\u7a0b\u5c06\u4ee5\u4e13\u9898\u7684\u5f62\u5f0f\u5448\u73b0\uff0c\u8bfe\u7a0b\u5185\u5bb9\u4f1a\u8986\u76d6\u5b66\u672f\u754c\u4e0e\u5de5\u4e1a\u754c\u7684\u524d\u6cbf\u5185\u5bb9\uff0c\u5305\u62ec\uff1a\uff081\uff09\u5b9e\u65f6\u8f6f\u9634\u5f71\u7684\u6e32\u67d3\uff1b\uff082\uff09\u73af\u5883\u5149\u7167\uff1b\uff083\uff09\u57fa\u4e8e\u9884\u8ba1\u7b97\u6216\u65e0\u9884\u8ba1\u7b97\u7684\u5168\u5c40\u5149\u7167\uff1b\uff084\uff09\u57fa\u4e8e\u7269\u7406\u7684\u7740\u8272\u6a21\u578b\u4e0e\u65b9\u6cd5\uff1b\uff085\uff09\u5b9e\u65f6\u5149\u7ebf\u8ffd\u8e2a\uff1b\uff086\uff09\u6297\u952f\u9f7f\u4e0e\u8d85\u91c7\u6837\uff1b\u4ee5\u53ca\u4e00\u4e9b\u5e38\u89c1\u7684\u52a0\u901f\u65b9\u5f0f\u7b49\u7b49\u3002 \u9664\u4e86\u6700\u65b0\u6700\u5168\u7684\u5185\u5bb9\u4e4b\u5916\uff0c\u672c\u8bfe\u7a0b\u4e0e\u5176\u5b83\u4efb\u4f55\u5b9e\u65f6\u6e32\u67d3\u7684\u6559\u7a0b\u8fd8\u6709\u4e00\u4e2a\u91cd\u8981\u7684\u533a\u522b\uff0c\u90a3\u5c31\u662f\u672c\u8bfe\u7a0b\u4e0d\u4f1a\u8bb2\u6388\u4efb\u4f55\u4e0e\u6e38\u620f\u5f15\u64ce\u7684\u4f7f\u7528\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5e76\u4e14\u4e0d\u4f1a\u7279\u522b\u5f3a\u8c03\u5177\u4f53\u7684\u7740\u8272\u5668\u5b9e\u73b0\u6280\u672f\uff0c\u800c\u4e3b\u8981\u8bb2\u6388\u5b9e\u65f6\u6e32\u67d3\u80cc\u540e\u7684\u79d1\u5b66\u4e0e\u77e5\u8bc6\u3002\u672c\u8bfe\u7a0b\u7684\u76ee\u6807\u662f\u5728\u4f60\u5b66\u4e60\u5b8c\u8fd9\u95e8\u8bfe\u7684\u65f6\u5019\uff0c\u4f60\u5c06\u6709\u6df1\u539a\u7684\u529f\u5e95\u53bb\u5f00\u53d1\u4e00\u4e2a\u5c5e\u4e8e\u4f60\u81ea\u5df1\u7684\u5b9e\u65f6\u6e32\u67d3\u5f15\u64ce\u3002 \u4f5c\u4e3a GAMES101 \u7684\u8fdb\u9636\u8bfe\u7a0b\uff0c\u96be\u5ea6\u6709\u4e00\u5b9a\u7684\u63d0\u5347\uff0c\u4f46\u4e0d\u4f1a\u5f88\u5927\uff0c\u76f8\u4fe1\u5b8c\u6210\u4e86 GAMES101 \u7684\u540c\u5b66\u90fd\u6709\u80fd\u529b\u5b8c\u6210\u8fd9\u95e8\u8bfe\u7a0b\u3002\u6bcf\u4e2a project \u4ee3\u7801\u91cf\u90fd\u4e0d\u4f1a\u5f88\u591a\uff0c\u4f46\u662f\u90fd\u9700\u8981\u4e00\u5b9a\u7684\u601d\u8003\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES202/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES202 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u8bfe\u7a0b\u6559\u6750\uff1aReal-Time Rendering, 4th edition. \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 5\u4e2aproject","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/","text":"CS144: Computer Network Introduction Offered by: Stanford Prerequisites: Computer System Fundamentals, CS106L Programming Language: C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours One of the lecturers of this course is Professor Nick McKeown , a giant in the field of Networking. At the end of each chapter of MOOC, he will interview an executive in the industry or an expert in the academia, which can certainly broaden your horizons. In the projects, you will use C++ to build the entire TCP/IP protocol stack, the IP router, and the ARP protocol step by step from scratch. Finally, you will replace Linux Kernel's protocol stack with your own and use socket programming to communicate with your classmates, which is really amazing and exciting. Resources Course Website: https://cs144.github.io/ Video: https://www.youtube.com/watch?v=r2WZNaFyrbQ&list=PL6RdenZrxrw9inR-IJv-erlOKRHjymxMN Textbook: None Assignments: refer to the course website Reference PKUFlyingPig Lexssama's Blogs huangrt01 kiprey \u5eb7\u5b87PL's Blog doraemonzzz ViXbob's libsponge \u5403\u7740\u571f\u8c46\u5750\u5730\u94c1\u7684\u535a\u5ba2 Smith \u661f\u9065\u89c1 EIMadrigal Joey","title":"Stanford CS144: Computer Network"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#cs144-computer-network","text":"","title":"CS144: Computer Network"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#introduction","text":"Offered by: Stanford Prerequisites: Computer System Fundamentals, CS106L Programming Language: C++ Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours One of the lecturers of this course is Professor Nick McKeown , a giant in the field of Networking. At the end of each chapter of MOOC, he will interview an executive in the industry or an expert in the academia, which can certainly broaden your horizons. In the projects, you will use C++ to build the entire TCP/IP protocol stack, the IP router, and the ARP protocol step by step from scratch. Finally, you will replace Linux Kernel's protocol stack with your own and use socket programming to communicate with your classmates, which is really amazing and exciting.","title":"Introduction"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#resources","text":"Course Website: https://cs144.github.io/ Video: https://www.youtube.com/watch?v=r2WZNaFyrbQ&list=PL6RdenZrxrw9inR-IJv-erlOKRHjymxMN Textbook: None Assignments: refer to the course website","title":"Resources"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#reference","text":"PKUFlyingPig Lexssama's Blogs huangrt01 kiprey \u5eb7\u5b87PL's Blog doraemonzzz ViXbob's libsponge \u5403\u7740\u571f\u8c46\u5750\u5730\u94c1\u7684\u535a\u5ba2 Smith \u661f\u9065\u89c1 EIMadrigal Joey","title":"Reference"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/","text":"Computer Networking: A Top-Down Approach Descriptions Offered by: UMass Prerequisites: basic knowledge about computer system Programming Languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 40 hours Computer Networking: A Top-Down Approach is a classic textbook in the field of computer networking. The two authors, Jim Kurose and Keith Ross, have carefully crafted a course website to support the textbook, with lecture recordings, interactive online questions, and WireShark labs for network packet analysis. The only pity is that this course doesn't have hardcore programming assignments, and Stanford's CS144 makes up for that. Course Resources Course Website: https://gaia.cs.umass.edu/kurose_ross/index.php Recordings: https://gaia.cs.umass.edu/kurose_ross/lectures.php Textbooks: Computer Networking: A Top-Down Approach Assignments: https://gaia.cs.umass.edu/kurose_ross/wireshark.php Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/Computer-Network-A-Top-Down-Approach - GitHub .","title":"Computer Networking: A Top-Down Approach"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#computer-networking-a-top-down-approach","text":"","title":"Computer Networking: A Top-Down Approach"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#descriptions","text":"Offered by: UMass Prerequisites: basic knowledge about computer system Programming Languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 40 hours Computer Networking: A Top-Down Approach is a classic textbook in the field of computer networking. The two authors, Jim Kurose and Keith Ross, have carefully crafted a course website to support the textbook, with lecture recordings, interactive online questions, and WireShark labs for network packet analysis. The only pity is that this course doesn't have hardcore programming assignments, and Stanford's CS144 makes up for that.","title":"Descriptions"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#course-resources","text":"Course Website: https://gaia.cs.umass.edu/kurose_ross/index.php Recordings: https://gaia.cs.umass.edu/kurose_ross/lectures.php Textbooks: Computer Networking: A Top-Down Approach Assignments: https://gaia.cs.umass.edu/kurose_ross/wireshark.php","title":"Course Resources"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/Computer-Network-A-Top-Down-Approach - GitHub .","title":"Personal Resources"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown_ustc/","text":"USTC Computer Networking:A Top-Down Approach Descriptions Offered by: USTC Instructor: Quan Zheng, Jian Yang Prerequisites: operating system (not required) Programming Languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 40 hours This course is a well-known computer networking course on the Chinese Internet, it adopts the renowned textbook: Computer Networking: A Top-Down Approach, 7th Edition . This a practical course that is not limited to theoretical knowledge, but it is Strongly recommended to read the textbook before watching videos, otherwise you may not catch up with the course easily. The course covers the majority of the textbook and also includes exam content, so enjoy it. The recordings of the lectures were uploaded by Prof. Zheng himself on Bilibili. Moreover, he has been answering questions in the comments below the videos since 2020, which is very patient and responsible. Resources Course Website: http://staff.ustc.edu.cn/~qzheng/teaching.html Recordings: https://www.bilibili.com/video/BV1JV411t7ow/ Slides: http://staff.ustc.edu.cn/~qzheng/cn.zip Textbook: Computer Networking: A Top-Down Approach, 7th Edition","title":"USTC Computer Networking:A Top-Down Approach"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown_ustc/#ustc-computer-networkinga-top-down-approach","text":"","title":"USTC Computer Networking:A Top-Down Approach"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown_ustc/#descriptions","text":"Offered by: USTC Instructor: Quan Zheng, Jian Yang Prerequisites: operating system (not required) Programming Languages: None Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 40 hours This course is a well-known computer networking course on the Chinese Internet, it adopts the renowned textbook: Computer Networking: A Top-Down Approach, 7th Edition . This a practical course that is not limited to theoretical knowledge, but it is Strongly recommended to read the textbook before watching videos, otherwise you may not catch up with the course easily. The course covers the majority of the textbook and also includes exam content, so enjoy it. The recordings of the lectures were uploaded by Prof. Zheng himself on Bilibili. Moreover, he has been answering questions in the comments below the videos since 2020, which is very patient and responsible.","title":"Descriptions"},{"location":"en/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown_ustc/#resources","text":"Course Website: http://staff.ustc.edu.cn/~qzheng/teaching.html Recordings: https://www.bilibili.com/video/BV1JV411t7ow/ Slides: http://staff.ustc.edu.cn/~qzheng/cn.zip Textbook: Computer Networking: A Top-Down Approach, 7th Edition","title":"Resources"},{"location":"en/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/","text":"MIT 6.031: Software Construction Descriptions Offered by: MIT Prerequisites: better if you are already proficient in a programming language Programming Languages: Java Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours The goal of this course is for you to learn how to write high quality code, and what is meant by high quality is to meet the following three targets: Safe from bugs. Correctness (correct behavior right now) and defensiveness (correct behavior in the future) are required in any software we build. Easy to understand. The code has to communicate to future programmers who need to understand it and make changes in it (fixing bugs or adding new features). That future programmer might be you, months or years from now. You\u2019ll be surprised how much you forget if you don\u2019t write it down, and how much it helps your own future self to have a good design. Ready for change. Software always changes. Some designs make it easy to make changes; others require throwing away and rewriting a lot of code. To achieve this, the instructors write a book explaining many of the core principles of software construction and valuable lessons learned from the past. The book covers many practical topics such as how to write comments and specifications, how to design abstract data structures, and many parallel programming caveats. You will explore all of these ideas in the programming assignments. In the 2016 spring, the course open-sourced all of its programming assignments, and the textbook can be found on the latest website (see links below). Course Resources Course Website: 2021spring , 2016spring Recordings: None Assignments: 4 Problem Sets + 1 Project Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/ MIT6.031-Software-Engineering - GitHub . @pengzhangzhi completed the assignments and took some notes, maintained at pengzhangzhi/self-taught-CS/Software Construction - Github .","title":"MIT 6.031: Software Construction"},{"location":"en/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/#mit-6031-software-construction","text":"","title":"MIT 6.031: Software Construction"},{"location":"en/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/#descriptions","text":"Offered by: MIT Prerequisites: better if you are already proficient in a programming language Programming Languages: Java Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours The goal of this course is for you to learn how to write high quality code, and what is meant by high quality is to meet the following three targets: Safe from bugs. Correctness (correct behavior right now) and defensiveness (correct behavior in the future) are required in any software we build. Easy to understand. The code has to communicate to future programmers who need to understand it and make changes in it (fixing bugs or adding new features). That future programmer might be you, months or years from now. You\u2019ll be surprised how much you forget if you don\u2019t write it down, and how much it helps your own future self to have a good design. Ready for change. Software always changes. Some designs make it easy to make changes; others require throwing away and rewriting a lot of code. To achieve this, the instructors write a book explaining many of the core principles of software construction and valuable lessons learned from the past. The book covers many practical topics such as how to write comments and specifications, how to design abstract data structures, and many parallel programming caveats. You will explore all of these ideas in the programming assignments. In the 2016 spring, the course open-sourced all of its programming assignments, and the textbook can be found on the latest website (see links below).","title":"Descriptions"},{"location":"en/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/#course-resources","text":"Course Website: 2021spring , 2016spring Recordings: None Assignments: 4 Problem Sets + 1 Project","title":"Course Resources"},{"location":"en/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/ MIT6.031-Software-Engineering - GitHub . @pengzhangzhi completed the assignments and took some notes, maintained at pengzhangzhi/self-taught-CS/Software Construction - Github .","title":"Personal Resources"},{"location":"en/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/","text":"UCB CS169: software engineering Descriptions Offered by: UC Berkeley Prerequisites: None Programming Languages: Ruby/JavaScript Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is Berkeley's software engineering course. Unlike many traditional software engineering courses that emphasize UML diagrams, plans, and documents, this course adopts agile development methodologies and uses the cloud platform to provide software as a service. The instructors wrote a textbook Software as a service to explain the concept of SaaS and agile development. Also, there are plenty of programming assignments using Ruby + Rails framework. This course is available on Edx , an online education platform sponsored by MIT and Harvard, where you can search for the course Agile SaaS Development and learn it yourself. The course content follows the textbook's order and takes you to build software step by step in an agile development way and deploy it on the cloud platform for free. Course Resources Course Website: http://www.saasbook.info/courses Recordings: refer to the course website. Textbook: Software as a service Assignments: refer to the course website. Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS169-Software-Engineering - GitHub .","title":"UCB CS169: software engineering"},{"location":"en/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/#ucb-cs169-software-engineering","text":"","title":"UCB CS169: software engineering"},{"location":"en/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/#descriptions","text":"Offered by: UC Berkeley Prerequisites: None Programming Languages: Ruby/JavaScript Difficulty: \ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f Class Hour: 100 hours This is Berkeley's software engineering course. Unlike many traditional software engineering courses that emphasize UML diagrams, plans, and documents, this course adopts agile development methodologies and uses the cloud platform to provide software as a service. The instructors wrote a textbook Software as a service to explain the concept of SaaS and agile development. Also, there are plenty of programming assignments using Ruby + Rails framework. This course is available on Edx , an online education platform sponsored by MIT and Harvard, where you can search for the course Agile SaaS Development and learn it yourself. The course content follows the textbook's order and takes you to build software step by step in an agile development way and deploy it on the cloud platform for free.","title":"Descriptions"},{"location":"en/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/#course-resources","text":"Course Website: http://www.saasbook.info/courses Recordings: refer to the course website. Textbook: Software as a service Assignments: refer to the course website.","title":"Course Resources"},{"location":"en/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/#personal-resources","text":"All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS169-Software-Engineering - GitHub .","title":"Personal Resources"}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index d6d5b4b1..1c675eb0 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,7 +2,7 @@ https://csdiy.wiki/ - 2023-06-08 + 2023-06-12 daily @@ -10,7 +10,7 @@ https://csdiy.wiki/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/ - 2023-06-08 + 2023-06-12 daily @@ -18,7 +18,7 @@ https://csdiy.wiki/%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/ - 2023-06-08 + 2023-06-12 daily @@ -26,7 +26,7 @@ https://csdiy.wiki/%E5%90%8E%E8%AE%B0/ - 2023-06-08 + 2023-06-12 daily @@ -34,7 +34,7 @@ https://csdiy.wiki/%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88Pro/ - 2023-06-08 + 2023-06-12 daily @@ -42,7 +42,7 @@ https://csdiy.wiki/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/ - 2023-06-08 + 2023-06-12 daily @@ -50,7 +50,7 @@ https://csdiy.wiki/Web%E5%BC%80%E5%8F%91/CS142/ - 2023-06-08 + 2023-06-12 daily @@ -58,7 +58,7 @@ https://csdiy.wiki/Web%E5%BC%80%E5%8F%91/CS571/ - 2023-06-08 + 2023-06-12 daily @@ -66,7 +66,7 @@ https://csdiy.wiki/Web%E5%BC%80%E5%8F%91/fullstackopen/ - 2023-06-08 + 2023-06-12 daily @@ -74,7 +74,7 @@ https://csdiy.wiki/Web%E5%BC%80%E5%8F%91/mitweb/ - 2023-06-08 + 2023-06-12 daily @@ -82,7 +82,7 @@ https://csdiy.wiki/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/ - 2023-06-08 + 2023-06-12 daily @@ -90,7 +90,7 @@ https://csdiy.wiki/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/ - 2023-06-08 + 2023-06-12 daily @@ -98,7 +98,7 @@ https://csdiy.wiki/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/ - 2023-06-08 + 2023-06-12 daily @@ -106,7 +106,7 @@ https://csdiy.wiki/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/ - 2023-06-08 + 2023-06-12 daily @@ -114,7 +114,7 @@ https://csdiy.wiki/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/DDCA/ - 2023-06-08 + 2023-06-12 daily @@ -122,7 +122,7 @@ https://csdiy.wiki/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/ - 2023-06-08 + 2023-06-12 daily @@ -130,7 +130,7 @@ https://csdiy.wiki/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/ - 2023-06-08 + 2023-06-12 daily @@ -138,7 +138,7 @@ https://csdiy.wiki/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/ - 2023-06-08 + 2023-06-12 daily @@ -146,7 +146,7 @@ https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/ - 2023-06-08 + 2023-06-12 daily @@ -154,7 +154,7 @@ https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/ - 2023-06-08 + 2023-06-12 daily @@ -162,7 +162,7 @@ https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/ - 2023-06-08 + 2023-06-12 daily @@ -170,7 +170,7 @@ https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GNU_Make/ - 2023-06-08 + 2023-06-12 daily @@ -178,7 +178,7 @@ https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/ - 2023-06-08 + 2023-06-12 daily @@ -186,7 +186,7 @@ https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GitHub/ - 2023-06-08 + 2023-06-12 daily @@ -194,7 +194,7 @@ https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/LaTeX/ - 2023-06-08 + 2023-06-12 daily @@ -202,7 +202,7 @@ https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/ - 2023-06-08 + 2023-06-12 daily @@ -210,7 +210,7 @@ https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/ - 2023-06-08 + 2023-06-12 daily @@ -218,7 +218,7 @@ https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/thesis/ - 2023-06-08 + 2023-06-12 daily @@ -226,7 +226,7 @@ https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/ - 2023-06-08 + 2023-06-12 daily @@ -234,7 +234,7 @@ https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/ - 2023-06-08 + 2023-06-12 daily @@ -242,7 +242,7 @@ https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/ - 2023-06-08 + 2023-06-12 daily @@ -250,7 +250,7 @@ https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E7%BF%BB%E5%A2%99/ - 2023-06-08 + 2023-06-12 daily @@ -258,7 +258,7 @@ https://csdiy.wiki/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/ - 2023-06-08 + 2023-06-12 daily @@ -266,7 +266,7 @@ https://csdiy.wiki/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/ - 2023-06-08 + 2023-06-12 daily @@ -274,7 +274,7 @@ https://csdiy.wiki/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/ - 2023-06-08 + 2023-06-12 daily @@ -282,7 +282,7 @@ https://csdiy.wiki/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/ - 2023-06-08 + 2023-06-12 daily @@ -290,7 +290,7 @@ https://csdiy.wiki/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/ - 2023-06-08 + 2023-06-12 daily @@ -298,7 +298,7 @@ https://csdiy.wiki/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/ - 2023-06-08 + 2023-06-12 daily @@ -306,7 +306,7 @@ https://csdiy.wiki/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/ - 2023-06-08 + 2023-06-12 daily @@ -314,7 +314,7 @@ https://csdiy.wiki/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/ - 2023-06-08 + 2023-06-12 daily @@ -322,7 +322,7 @@ https://csdiy.wiki/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/ - 2023-06-08 + 2023-06-12 daily @@ -330,7 +330,7 @@ https://csdiy.wiki/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/ - 2023-06-08 + 2023-06-12 daily @@ -338,7 +338,7 @@ https://csdiy.wiki/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/ - 2023-06-08 + 2023-06-12 daily @@ -346,7 +346,7 @@ https://csdiy.wiki/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/ - 2023-06-08 + 2023-06-12 daily @@ -354,7 +354,7 @@ https://csdiy.wiki/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/ - 2023-06-08 + 2023-06-12 daily @@ -362,7 +362,7 @@ https://csdiy.wiki/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/ - 2023-06-08 + 2023-06-12 daily @@ -370,7 +370,7 @@ https://csdiy.wiki/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15799/ - 2023-06-08 + 2023-06-12 daily @@ -378,7 +378,7 @@ https://csdiy.wiki/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/ - 2023-06-08 + 2023-06-12 daily @@ -386,7 +386,7 @@ https://csdiy.wiki/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/ - 2023-06-08 + 2023-06-12 daily @@ -394,7 +394,7 @@ https://csdiy.wiki/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS346/ - 2023-06-08 + 2023-06-12 daily @@ -402,7 +402,7 @@ https://csdiy.wiki/%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/ - 2023-06-08 + 2023-06-12 daily @@ -410,7 +410,7 @@ https://csdiy.wiki/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.006/ - 2023-06-08 + 2023-06-12 daily @@ -418,7 +418,7 @@ https://csdiy.wiki/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.046/ - 2023-06-08 + 2023-06-12 daily @@ -426,7 +426,7 @@ https://csdiy.wiki/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/ - 2023-06-08 + 2023-06-12 daily @@ -434,7 +434,7 @@ https://csdiy.wiki/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/ - 2023-06-08 + 2023-06-12 daily @@ -442,7 +442,7 @@ https://csdiy.wiki/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/ - 2023-06-08 + 2023-06-12 daily @@ -450,7 +450,7 @@ https://csdiy.wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/ - 2023-06-08 + 2023-06-12 daily @@ -458,7 +458,7 @@ https://csdiy.wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/ - 2023-06-08 + 2023-06-12 daily @@ -466,7 +466,7 @@ https://csdiy.wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/ - 2023-06-08 + 2023-06-12 daily @@ -474,7 +474,7 @@ https://csdiy.wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/ - 2023-06-08 + 2023-06-12 daily @@ -482,7 +482,7 @@ https://csdiy.wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/ - 2023-06-08 + 2023-06-12 daily @@ -490,7 +490,7 @@ https://csdiy.wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/MLC/ - 2023-06-08 + 2023-06-12 daily @@ -498,7 +498,7 @@ https://csdiy.wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/ - 2023-06-08 + 2023-06-12 daily @@ -506,7 +506,7 @@ https://csdiy.wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/ - 2023-06-08 + 2023-06-12 daily @@ -514,7 +514,7 @@ https://csdiy.wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/ - 2023-06-08 + 2023-06-12 daily @@ -522,7 +522,7 @@ https://csdiy.wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/ - 2023-06-08 + 2023-06-12 daily @@ -530,7 +530,7 @@ https://csdiy.wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/ - 2023-06-08 + 2023-06-12 daily @@ -538,7 +538,7 @@ https://csdiy.wiki/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/ - 2023-06-08 + 2023-06-12 daily @@ -546,7 +546,7 @@ https://csdiy.wiki/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/ - 2023-06-08 + 2023-06-12 daily @@ -554,7 +554,7 @@ https://csdiy.wiki/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/ - 2023-06-08 + 2023-06-12 daily @@ -562,7 +562,7 @@ https://csdiy.wiki/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/ - 2023-06-08 + 2023-06-12 daily @@ -570,7 +570,7 @@ https://csdiy.wiki/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/ - 2023-06-08 + 2023-06-12 daily @@ -578,7 +578,7 @@ https://csdiy.wiki/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/ - 2023-06-08 + 2023-06-12 daily @@ -586,7 +586,7 @@ https://csdiy.wiki/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/ - 2023-06-08 + 2023-06-12 daily @@ -594,7 +594,7 @@ https://csdiy.wiki/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals_and_Systems_AVO/ - 2023-06-08 + 2023-06-12 daily @@ -602,7 +602,7 @@ https://csdiy.wiki/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/ - 2023-06-08 + 2023-06-12 daily @@ -610,7 +610,7 @@ https://csdiy.wiki/%E7%A8%8B%E5%BA%8F%E8%AF%AD%E8%A8%80%E8%AE%BE%E8%AE%A1/CS242/ - 2023-06-08 + 2023-06-12 daily @@ -618,7 +618,7 @@ https://csdiy.wiki/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/ - 2023-06-08 + 2023-06-12 daily @@ -626,7 +626,7 @@ https://csdiy.wiki/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/ - 2023-06-08 + 2023-06-12 daily @@ -634,7 +634,7 @@ https://csdiy.wiki/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/ - 2023-06-08 + 2023-06-12 daily @@ -642,7 +642,7 @@ https://csdiy.wiki/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/ - 2023-06-08 + 2023-06-12 daily @@ -650,7 +650,7 @@ https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/AUT1400/ - 2023-06-08 + 2023-06-12 daily @@ -658,7 +658,7 @@ https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106B_CS106X/ - 2023-06-08 + 2023-06-12 daily @@ -666,7 +666,7 @@ https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/ - 2023-06-08 + 2023-06-12 daily @@ -674,7 +674,7 @@ https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/ - 2023-06-08 + 2023-06-12 daily @@ -682,7 +682,7 @@ https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/ - 2023-06-08 + 2023-06-12 daily @@ -690,7 +690,7 @@ https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50P/ - 2023-06-08 + 2023-06-12 daily @@ -698,7 +698,7 @@ https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/ - 2023-06-08 + 2023-06-12 daily @@ -706,7 +706,7 @@ https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Duke-Coursera-Intro-C/ - 2023-06-08 + 2023-06-12 daily @@ -714,7 +714,7 @@ https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Haskell-MOOC/ - 2023-06-08 + 2023-06-12 daily @@ -722,7 +722,7 @@ https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/ - 2023-06-08 + 2023-06-12 daily @@ -730,7 +730,7 @@ https://csdiy.wiki/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/6035/ - 2023-06-08 + 2023-06-12 daily @@ -738,7 +738,7 @@ https://csdiy.wiki/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/ - 2023-06-08 + 2023-06-12 daily @@ -746,7 +746,7 @@ https://csdiy.wiki/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/15462/ - 2023-06-08 + 2023-06-12 daily @@ -754,7 +754,7 @@ https://csdiy.wiki/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS148/ - 2023-06-08 + 2023-06-12 daily @@ -762,7 +762,7 @@ https://csdiy.wiki/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS184/ - 2023-06-08 + 2023-06-12 daily @@ -770,7 +770,7 @@ https://csdiy.wiki/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/ - 2023-06-08 + 2023-06-12 daily @@ -778,7 +778,7 @@ https://csdiy.wiki/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/ - 2023-06-08 + 2023-06-12 daily @@ -786,7 +786,7 @@ https://csdiy.wiki/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES202/ - 2023-06-08 + 2023-06-12 daily @@ -794,7 +794,7 @@ https://csdiy.wiki/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/ - 2023-06-08 + 2023-06-12 daily @@ -802,7 +802,7 @@ https://csdiy.wiki/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/ - 2023-06-08 + 2023-06-12 daily @@ -810,7 +810,7 @@ https://csdiy.wiki/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown_ustc/ - 2023-06-08 + 2023-06-12 daily @@ -818,7 +818,7 @@ https://csdiy.wiki/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/ - 2023-06-08 + 2023-06-12 daily @@ -826,7 +826,7 @@ https://csdiy.wiki/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/ - 2023-06-08 + 2023-06-12 daily diff --git a/sitemap.xml.gz b/sitemap.xml.gz index 6621942d..d6845569 100644 Binary files a/sitemap.xml.gz and b/sitemap.xml.gz differ diff --git a/zh/编程入门/CS110L/index.html b/zh/编程入门/CS110L/index.html index 52610a4e..8627e355 100644 --- a/zh/编程入门/CS110L/index.html +++ b/zh/编程入门/CS110L/index.html @@ -1,4 +1,4 @@ - Stanford CS110L: Safety in Systems Programming - CS自学指南
跳转至

CS110L: Safety in Systems Programming

课程简介

  • 所属大学:Stanford
  • 先修要求:最好有一定的编程背景并对计算机系统有初步的认识。
  • 编程语言:Rust
  • 课程难度:🌟🌟🌟
  • 预计学时:30 小时

在这门课中你将会学习 Rust 这门神奇的语言。

如果你学过 C 并接触过一些系统编程的话,应该对 C 的内存泄漏以及指针的危险有所耳闻,但 C 的底层特性以及高效仍然让它在系统级编程中无法被例如 Java 等自带垃圾收集机制的高级语言所替代。而 Rust 的目标则是希望在 C 的高效基础上,弥补其安全不足的缺点。因此 Rust 在设计之初,就有带有很多系统编程的观点。学习 Rust,也能让你之后能用 C 语言编写出更安全更优雅的系统级代码(例如操作系统等)。

这门课的后半部分关注在并发(concurrency)这一主题上,你将会系统地掌握多进程、多线程、基于事件驱动的并发等若干并发技术,并在第二个 Project 中比较它们各自的优劣。Rust 中 “futures” 的概念非常有趣和优雅,这些基础知识对你后续对计算机系统相关课程的学习很有帮助。另外,清华大学的操统实验 rCore 就是基于 Rust 编写的,具体参见文档

课程资源

  • 课程网站:https://reberhardt.com/cs110l/spring-2020/
  • 课程视频:https://youtu.be/j7AQrtLevUE
  • 课程教材:无
  • 课程作业:共 6 个 Lab 和 2 个 Project,作业文档和代码框架详见课程网站。其中两个 Project 非常有趣,分别是:
  • 用 Rust 实现一个类似于 GDB 的 debugger
  • 用 Rust 实现一个负载均衡器

资源汇总

@PKUFlyingPig 在学习这门课中用到的所有资源和作业实现都汇总在 PKUFlyingPig/CS110L - GitHub 中。

在2022年 CS110L 没有开源作业源码的背景下,Rust 快速演进导致2020版本课程项目中所使用的库过于老旧。对此,@fung-hwang 尝试进行了适配(时间为2022.11)。其适配过程和作业实现都汇总在 fung-hwang/CS110L-2020spr - GitHub 中。也许当你开始本课程时 Rust 和这些库又发生了变化,但你仍可以参考并从中获得启发。


最后更新: December 4, 2022

CS110L: Safety in Systems Programming

课程简介

  • 所属大学:Stanford
  • 先修要求:最好有一定的编程背景并对计算机系统有初步的认识。
  • 编程语言:Rust
  • 课程难度:🌟🌟🌟
  • 预计学时:30 小时

在这门课中你将会学习 Rust 这门神奇的语言。

如果你学过 C 并接触过一些系统编程的话,应该对 C 的内存泄漏以及指针的危险有所耳闻,但 C 的底层特性以及高效仍然让它在系统级编程中无法被例如 Java 等自带垃圾收集机制的高级语言所替代。而 Rust 的目标则是希望在 C 的高效基础上,弥补其安全不足的缺点。因此 Rust 在设计之初,就有带有很多系统编程的观点。学习 Rust,也能让你之后能用 C 语言编写出更安全更优雅的系统级代码(例如操作系统等)。

这门课的后半部分关注在并发(concurrency)这一主题上,你将会系统地掌握多进程、多线程、基于事件驱动的并发等若干并发技术,并在第二个 Project 中比较它们各自的优劣。Rust 中 “futures” 的概念非常有趣和优雅,这些基础知识对你后续对计算机系统相关课程的学习很有帮助。另外,清华大学的操统实验 rCore 就是基于 Rust 编写的,具体参见文档

课程资源

  • 课程网站:https://reberhardt.com/cs110l/spring-2020/
  • 课程视频:https://youtu.be/j7AQrtLevUE
  • 课程教材:无
  • 课程作业:共 6 个 Lab 和 2 个 Project,作业文档和代码框架详见课程网站。其中两个 Project 非常有趣,分别是:
  • 用 Rust 实现一个类似于 GDB 的 debugger
  • 用 Rust 实现一个负载均衡器

CS 242: Programming Languages, Fall2019 week6 到 week9 关于 Rust 内容的讲解非常细致, 可以作为该课程的讲义补充。 另外, Ryan 在 https://reberhardt.com/cs110l/spring-2021/ 中补充了 2020 版本缺失的关于 Futures Trait 内容的视频。

资源汇总

@PKUFlyingPig 在学习这门课中用到的所有资源和作业实现都汇总在 PKUFlyingPig/CS110L - GitHub 中。

在2022年 CS110L 没有开源作业源码的背景下,Rust 快速演进导致2020版本课程项目中所使用的库过于老旧。对此,@fung-hwang 尝试进行了适配(时间为2022.11)。其适配过程和作业实现都汇总在 fung-hwang/CS110L-2020spr - GitHub 中。也许当你开始本课程时 Rust 和这些库又发生了变化,但你仍可以参考并从中获得启发。


最后更新: June 12, 2023

CS110L: Safety in Systems Programming

课程简介

  • 所属大学:Stanford
  • 先修要求:最好有一定的编程背景并对计算机系统有初步的认识。
  • 编程语言:Rust
  • 课程难度:🌟🌟🌟
  • 预计学时:30 小时

在这门课中你将会学习 Rust 这门神奇的语言。

如果你学过 C 并接触过一些系统编程的话,应该对 C 的内存泄漏以及指针的危险有所耳闻,但 C 的底层特性以及高效仍然让它在系统级编程中无法被例如 Java 等自带垃圾收集机制的高级语言所替代。而 Rust 的目标则是希望在 C 的高效基础上,弥补其安全不足的缺点。因此 Rust 在设计之初,就有带有很多系统编程的观点。学习 Rust,也能让你之后能用 C 语言编写出更安全更优雅的系统级代码(例如操作系统等)。

这门课的后半部分关注在并发(concurrency)这一主题上,你将会系统地掌握多进程、多线程、基于事件驱动的并发等若干并发技术,并在第二个 Project 中比较它们各自的优劣。Rust 中 “futures” 的概念非常有趣和优雅,这些基础知识对你后续对计算机系统相关课程的学习很有帮助。另外,清华大学的操统实验 rCore 就是基于 Rust 编写的,具体参见文档

课程资源

  • 课程网站:https://reberhardt.com/cs110l/spring-2020/
  • 课程视频:https://youtu.be/j7AQrtLevUE
  • 课程教材:无
  • 课程作业:共 6 个 Lab 和 2 个 Project,作业文档和代码框架详见课程网站。其中两个 Project 非常有趣,分别是:
  • 用 Rust 实现一个类似于 GDB 的 debugger
  • 用 Rust 实现一个负载均衡器

资源汇总

@PKUFlyingPig 在学习这门课中用到的所有资源和作业实现都汇总在 PKUFlyingPig/CS110L - GitHub 中。

在2022年 CS110L 没有开源作业源码的背景下,Rust 快速演进导致2020版本课程项目中所使用的库过于老旧。对此,@fung-hwang 尝试进行了适配(时间为2022.11)。其适配过程和作业实现都汇总在 fung-hwang/CS110L-2020spr - GitHub 中。也许当你开始本课程时 Rust 和这些库又发生了变化,但你仍可以参考并从中获得启发。


最后更新: December 4, 2022

CS110L: Safety in Systems Programming

课程简介

  • 所属大学:Stanford
  • 先修要求:最好有一定的编程背景并对计算机系统有初步的认识。
  • 编程语言:Rust
  • 课程难度:🌟🌟🌟
  • 预计学时:30 小时

在这门课中你将会学习 Rust 这门神奇的语言。

如果你学过 C 并接触过一些系统编程的话,应该对 C 的内存泄漏以及指针的危险有所耳闻,但 C 的底层特性以及高效仍然让它在系统级编程中无法被例如 Java 等自带垃圾收集机制的高级语言所替代。而 Rust 的目标则是希望在 C 的高效基础上,弥补其安全不足的缺点。因此 Rust 在设计之初,就有带有很多系统编程的观点。学习 Rust,也能让你之后能用 C 语言编写出更安全更优雅的系统级代码(例如操作系统等)。

这门课的后半部分关注在并发(concurrency)这一主题上,你将会系统地掌握多进程、多线程、基于事件驱动的并发等若干并发技术,并在第二个 Project 中比较它们各自的优劣。Rust 中 “futures” 的概念非常有趣和优雅,这些基础知识对你后续对计算机系统相关课程的学习很有帮助。另外,清华大学的操统实验 rCore 就是基于 Rust 编写的,具体参见文档

课程资源

  • 课程网站:https://reberhardt.com/cs110l/spring-2020/
  • 课程视频:https://youtu.be/j7AQrtLevUE
  • 课程教材:无
  • 课程作业:共 6 个 Lab 和 2 个 Project,作业文档和代码框架详见课程网站。其中两个 Project 非常有趣,分别是:
  • 用 Rust 实现一个类似于 GDB 的 debugger
  • 用 Rust 实现一个负载均衡器

CS 242: Programming Languages, Fall2019 week6 到 week9 关于 Rust 内容的讲解非常细致, 可以作为该课程的讲义补充。 另外, Ryan 在 https://reberhardt.com/cs110l/spring-2021/ 中补充了 2020 版本缺失的关于 Futures Trait 内容的视频。

资源汇总

@PKUFlyingPig 在学习这门课中用到的所有资源和作业实现都汇总在 PKUFlyingPig/CS110L - GitHub 中。

在2022年 CS110L 没有开源作业源码的背景下,Rust 快速演进导致2020版本课程项目中所使用的库过于老旧。对此,@fung-hwang 尝试进行了适配(时间为2022.11)。其适配过程和作业实现都汇总在 fung-hwang/CS110L-2020spr - GitHub 中。也许当你开始本课程时 Rust 和这些库又发生了变化,但你仍可以参考并从中获得启发。


最后更新: June 12, 2023