35 lines
77 KiB
HTML
35 lines
77 KiB
HTML
<!doctype html><html lang=zh class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content=CS自学指南><meta name=author content=PKUFlyingPig><link href=https://csdiy.wiki/ rel=canonical><link href=%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/ rel=next><link rel=icon href=images/favicon.ico><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.5.2"><title>CS自学指南</title><link rel=stylesheet href=assets/stylesheets/main.50c56a3b.min.css><link rel=stylesheet href=assets/stylesheets/palette.06af60db.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto+Slab:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto Slab";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL(".",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script><script id=__analytics>function __md_analytics(){function n(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],n("js",new Date),n("config","G-KJB4RXSKZG"),document.addEventListener("DOMContentLoaded",function(){document.forms.search&&document.forms.search.query.addEventListener("blur",function(){this.value&&n("event","search",{search_term:this.value})}),document$.subscribe(function(){var a=document.forms.feedback;if(void 0!==a)for(var e of a.querySelectorAll("[type=submit]"))e.addEventListener("click",function(e){e.preventDefault();var t=document.location.pathname,e=this.getAttribute("data-md-value");n("event","feedback",{page:t,data:e}),a.firstElementChild.disabled=!0;e=a.querySelector(".md-feedback__note [data-md-value='"+e+"']");e&&(e.hidden=!1)}),a.hidden=!1}),location$.subscribe(function(e){n("config","G-KJB4RXSKZG",{page_path:e.pathname})})});var e=document.createElement("script");e.async=!0,e.src="https://www.googletagmanager.com/gtag/js?id=G-KJB4RXSKZG",document.getElementById("__analytics").insertAdjacentElement("afterEnd",e)}</script><script>"undefined"!=typeof __md_analytics&&__md_analytics()</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=light-blue data-md-color-accent=deep-purple> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#_1 class=md-skip> 跳转至 </a> </div> <div data-md-component=announce> </div> <header class="md-header md-header--shadow" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=页眉> <a href=. title=CS自学指南 class="md-header__button md-logo" aria-label=CS自学指南 data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> CS自学指南 </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> 前言 </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=light-blue data-md-color-accent=deep-purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=cyan data-md-color-accent=deep-purple aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <div class=md-header__option> <div class=md-select> <button class="md-header__button md-icon" aria-label=选择当前语言> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04M18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12m-2.62 7 1.62-4.33L19.12 17h-3.24Z"/></svg> </button> <div class=md-select__inner> <ul class=md-select__list> <li class=md-select__item> <a href=/ hreflang=zh class=md-select__link> 简体中文 </a> </li> <li class=md-select__item> <a href=/en/ hreflang=en class=md-select__link> English </a> </li> </ul> </div> </div> </div> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=搜索 placeholder=搜索 autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=查找> <a href=javascript:void(0) class="md-search__icon md-icon" title=分享 aria-label=分享 data-clipboard data-clipboard-text data-md-component=search-share tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7 0-.24-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.15c-.05.21-.08.43-.08.66 0 1.61 1.31 2.91 2.92 2.91 1.61 0 2.92-1.3 2.92-2.91A2.92 2.92 0 0 0 18 16.08Z"/></svg> </a> <button type=reset class="md-search__icon md-icon" title=清空当前内容 aria-label=清空当前内容 tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> 正在初始化搜索引擎 </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/pkuflyingpig/cs-self-learning/ title=前往仓库 class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </div> <div class=md-source__repository> cs-self-learning </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" aria-label=导航栏 data-md-level=0> <label class=md-nav__title for=__drawer> <a href=. title=CS自学指南 class="md-nav__button md-logo" aria-label=CS自学指南 data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg> </a> CS自学指南 </label> <div class=md-nav__source> <a href=https://github.com/pkuflyingpig/cs-self-learning/ title=前往仓库 class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </div> <div class=md-source__repository> cs-self-learning </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> 前言 </span> <span class="md-nav__icon md-icon"></span> </label> <a href=. class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> 前言 </span> </a> <nav class="md-nav md-nav--secondary" aria-label=目录> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> 目录 </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#cs61a class=md-nav__link> <span class=md-ellipsis> 梦开始的地方 —— CS61A </span> </a> </li> <li class=md-nav__item> <a href=#_2 class=md-nav__link> <span class=md-ellipsis> 为什么写这本书 </span> </a> </li> <li class=md-nav__item> <a href=#_3 class=md-nav__link> <span class=md-ellipsis> 自学的好处 </span> </a> </li> <li class=md-nav__item> <a href=#_4 class=md-nav__link> <span class=md-ellipsis> 自学的坏处 </span> </a> </li> <li class=md-nav__item> <a href=#_5 class=md-nav__link> <span class=md-ellipsis> 这本书适合谁 </span> </a> </li> <li class=md-nav__item> <a href=#_6 class=md-nav__link> <span class=md-ellipsis> 特别鸣谢 </span> </a> </li> <li class=md-nav__item> <a href=#_7 class=md-nav__link> <span class=md-ellipsis> 你也想加入到贡献者的行列 </span> </a> </li> <li class=md-nav__item> <a href=#_8 class=md-nav__link> <span class=md-ellipsis> 关于交流群的建立 </span> </a> </li> <li class=md-nav__item> <a href=#_9 class=md-nav__link> <span class=md-ellipsis> 请作者喝杯下午茶 </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/ class=md-nav__link> <span class=md-ellipsis> 如何使用这本书 </span> </a> </li> <li class=md-nav__item> <a href=CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/ class=md-nav__link> <span class=md-ellipsis> 一个仅供参考的CS学习规划 </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> 必学工具 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> 必学工具 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E7%BF%BB%E5%A2%99/ class=md-nav__link> <span class=md-ellipsis> 翻墙 </span> </a> </li> <li class=md-nav__item> <a href=%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/ class=md-nav__link> <span class=md-ellipsis> Vim </span> </a> </li> <li class=md-nav__item> <a href=%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/ class=md-nav__link> <span class=md-ellipsis> Emacs </span> </a> </li> <li class=md-nav__item> <a href=%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/ class=md-nav__link> <span class=md-ellipsis> Git </span> </a> </li> <li class=md-nav__item> <a href=%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GitHub/ class=md-nav__link> <span class=md-ellipsis> GitHub </span> </a> </li> <li class=md-nav__item> <a href=%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GNU_Make/ class=md-nav__link> <span class=md-ellipsis> GNU Make </span> </a> </li> <li class=md-nav__item> <a href=%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/ class=md-nav__link> <span class=md-ellipsis> CMake </span> </a> </li> <li class=md-nav__item> <a href=%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/LaTeX/ class=md-nav__link> <span class=md-ellipsis> LaTeX </span> </a> </li> <li class=md-nav__item> <a href=%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/ class=md-nav__link> <span class=md-ellipsis> Docker </span> </a> </li> <li class=md-nav__item> <a href=%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/ class=md-nav__link> <span class=md-ellipsis> Scoop </span> </a> </li> <li class=md-nav__item> <a href=%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/ class=md-nav__link> <span class=md-ellipsis> 日常学习工作流 </span> </a> </li> <li class=md-nav__item> <a href=%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/ class=md-nav__link> <span class=md-ellipsis> 实用工具箱 </span> </a> </li> <li class=md-nav__item> <a href=%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/thesis/ class=md-nav__link> <span class=md-ellipsis> 毕业论文 </span> </a> </li> <li class=md-nav__item> <a href=%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/ class=md-nav__link> <span class=md-ellipsis> 信息检索 </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/ class=md-nav__link> <span class=md-ellipsis> 好书推荐 </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> 数学基础 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> 数学基础 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/ class=md-nav__link> <span class=md-ellipsis> MIT18.01/18.02: Calculus </span> </a> </li> <li class=md-nav__item> <a href=%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/ class=md-nav__link> <span class=md-ellipsis> MIT18.06: Linear Algebra </span> </a> </li> <li class=md-nav__item> <a href=%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/ class=md-nav__link> <span class=md-ellipsis> MIT6.050J: Information theory and Entropy </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> 数学进阶 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> 数学进阶 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/ class=md-nav__link> <span class=md-ellipsis> UCB CS70: discrete Math and probability theory </span> </a> </li> <li class=md-nav__item> <a href=%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/ class=md-nav__link> <span class=md-ellipsis> UCB CS126: probability theory </span> </a> </li> <li class=md-nav__item> <a href=%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/ class=md-nav__link> <span class=md-ellipsis> MIT 6.042J: Mathematics for Computer Science </span> </a> </li> <li class=md-nav__item> <a href=%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/ class=md-nav__link> <span class=md-ellipsis> MIT18.330: Introduction to numerical analysis </span> </a> </li> <li class=md-nav__item> <a href=%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/ class=md-nav__link> <span class=md-ellipsis> Standford EE364A: Convex Optimization </span> </a> </li> <li class=md-nav__item> <a href=%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/ class=md-nav__link> <span class=md-ellipsis> The Information Theory, Pattern Recognition, and Neural Networks </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_8> <label class=md-nav__link for=__nav_8 id=__nav_8_label tabindex=0> <span class=md-ellipsis> 编程入门 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_8_label aria-expanded=false> <label class=md-nav__title for=__nav_8> <span class="md-nav__icon md-icon"></span> 编程入门 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/ class=md-nav__link> <span class=md-ellipsis> MIT-Missing-Semester </span> </a> </li> <li class=md-nav__item> <a href=%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/DeCal/ class=md-nav__link> <span class=md-ellipsis> Sysadmin DeCal </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_8_3> <label class=md-nav__link for=__nav_8_3 id=__nav_8_3_label tabindex=0> <span class=md-ellipsis> Python 语言 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_8_3_label aria-expanded=false> <label class=md-nav__title for=__nav_8_3> <span class="md-nav__icon md-icon"></span> Python 语言 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Python/CS61A/ class=md-nav__link> <span class=md-ellipsis> UCB CS61A: Structure and Interpretation of Computer Programs </span> </a> </li> <li class=md-nav__item> <a href=%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Python/CS50P/ class=md-nav__link> <span class=md-ellipsis> CS50P: CS50's Introduction to Programming with Python </span> </a> </li> <li class=md-nav__item> <a href=%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Python/MIT6.100L/ class=md-nav__link> <span class=md-ellipsis> MIT6.100L: Introduction to CS and Programming using Python </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_8_4> <label class=md-nav__link for=__nav_8_4 id=__nav_8_4_label tabindex=0> <span class=md-ellipsis> C 语言 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_8_4_label aria-expanded=false> <label class=md-nav__title for=__nav_8_4> <span class="md-nav__icon md-icon"></span> C 语言 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/C/CS50/ class=md-nav__link> <span class=md-ellipsis> Harvard CS50: This is CS50x </span> </a> </li> <li class=md-nav__item> <a href=%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/C/Duke-Coursera-Intro-C/ class=md-nav__link> <span class=md-ellipsis> Duke University: Introductory C Programming Specialization </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_8_5> <label class=md-nav__link for=__nav_8_5 id=__nav_8_5_label tabindex=0> <span class=md-ellipsis> C++ 语言 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_8_5_label aria-expanded=false> <label class=md-nav__title for=__nav_8_5> <span class="md-nav__icon md-icon"></span> C++ 语言 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/cpp/AUT1400/ class=md-nav__link> <span class=md-ellipsis> AmirKabir University of Technology AP1400-2: Advanced Programming </span> </a> </li> <li class=md-nav__item> <a href=%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/cpp/CS106L/ class=md-nav__link> <span class=md-ellipsis> Stanford CS106L: Standard C++ Programming </span> </a> </li> <li class=md-nav__item> <a href=%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/cpp/CS106B_CS106X/ class=md-nav__link> <span class=md-ellipsis> Stanford CS106B/X </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_8_6> <label class=md-nav__link for=__nav_8_6 id=__nav_8_6_label tabindex=0> <span class=md-ellipsis> Java 语言 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_8_6_label aria-expanded=false> <label class=md-nav__title for=__nav_8_6> <span class="md-nav__icon md-icon"></span> Java 语言 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Java/MIT%206.092/ class=md-nav__link> <span class=md-ellipsis> MIT 6.092: Introduction To Programming In Java </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_8_7> <label class=md-nav__link for=__nav_8_7 id=__nav_8_7_label tabindex=0> <span class=md-ellipsis> Rust 语言 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_8_7_label aria-expanded=false> <label class=md-nav__title for=__nav_8_7> <span class="md-nav__icon md-icon"></span> Rust 语言 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Rust/CS110L/ class=md-nav__link> <span class=md-ellipsis> Stanford CS110L: Safety in Systems Programming </span> </a> </li> <li class=md-nav__item> <a href=%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Rust/cs220/ class=md-nav__link> <span class=md-ellipsis> KAIST CS220: Programming Principles </span> </a> </li> <li class=md-nav__item> <a href=%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Rust/cs431/ class=md-nav__link> <span class=md-ellipsis> KAIST CS431: Concurrent Programming </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_8_8> <label class=md-nav__link for=__nav_8_8 id=__nav_8_8_label tabindex=0> <span class=md-ellipsis> 函数式语言 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_8_8_label aria-expanded=false> <label class=md-nav__title for=__nav_8_8> <span class="md-nav__icon md-icon"></span> 函数式语言 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Functional/CS3110/ class=md-nav__link> <span class=md-ellipsis> Cornell CS3110: OCaml Programming Correct + Efficient + Beautiful </span> </a> </li> <li class=md-nav__item> <a href=%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Functional/Haskell-MOOC/ class=md-nav__link> <span class=md-ellipsis> Haskell MOOC </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_9> <label class=md-nav__link for=__nav_9 id=__nav_9_label tabindex=0> <span class=md-ellipsis> 电子基础 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_9_label aria-expanded=false> <label class=md-nav__title for=__nav_9> <span class="md-nav__icon md-icon"></span> 电子基础 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/ class=md-nav__link> <span class=md-ellipsis> EE16A&B: Designing Information Devices and Systems I&II </span> </a> </li> <li class=md-nav__item> <a href=%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/ class=md-nav__link> <span class=md-ellipsis> UCB EE120 : Signal and Systems </span> </a> </li> <li class=md-nav__item> <a href=%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals_and_Systems_AVO/ class=md-nav__link> <span class=md-ellipsis> MIT 6.007 Signals and Systems </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_10> <label class=md-nav__link for=__nav_10 id=__nav_10_label tabindex=0> <span class=md-ellipsis> 数据结构与算法 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_10_label aria-expanded=false> <label class=md-nav__title for=__nav_10> <span class="md-nav__icon md-icon"></span> 数据结构与算法 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/ class=md-nav__link> <span class=md-ellipsis> UCB CS61B: Data Structures and Algorithms </span> </a> </li> <li class=md-nav__item> <a href=%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/ class=md-nav__link> <span class=md-ellipsis> Coursera: Algorithms I & II </span> </a> </li> <li class=md-nav__item> <a href=%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.006/ class=md-nav__link> <span class=md-ellipsis> MIT 6.006: Introduction to Algorithms </span> </a> </li> <li class=md-nav__item> <a href=%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.046/ class=md-nav__link> <span class=md-ellipsis> MIT 6.046: Design and Analysis of Algorithms </span> </a> </li> <li class=md-nav__item> <a href=%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/ class=md-nav__link> <span class=md-ellipsis> UCB CS170: Efficient Algorithms and Intractable Problems </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_11> <label class=md-nav__link for=__nav_11 id=__nav_11_label tabindex=0> <span class=md-ellipsis> 软件工程 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_11_label aria-expanded=false> <label class=md-nav__title for=__nav_11> <span class="md-nav__icon md-icon"></span> 软件工程 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/ class=md-nav__link> <span class=md-ellipsis> MIT 6.031: Software Construction </span> </a> </li> <li class=md-nav__item> <a href=%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/ class=md-nav__link> <span class=md-ellipsis> UCB CS169: software engineering </span> </a> </li> <li class=md-nav__item> <a href=%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/17803/ class=md-nav__link> <span class=md-ellipsis> CMU 17-803: Empirical Methods </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_12> <label class=md-nav__link for=__nav_12 id=__nav_12_label tabindex=0> <span class=md-ellipsis> 计算机系统基础 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_12_label aria-expanded=false> <label class=md-nav__title for=__nav_12> <span class="md-nav__icon md-icon"></span> 计算机系统基础 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%B3%BB%E7%BB%9F%E5%9F%BA%E7%A1%80/CSAPP/ class=md-nav__link> <span class=md-ellipsis> CMU 15-213: CSAPP </span> </a> </li> <li class=md-nav__item> <a href=%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%B3%BB%E7%BB%9F%E5%9F%BA%E7%A1%80/CS110/ class=md-nav__link> <span class=md-ellipsis> Stanford CS110: Principles of Computer Systems </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_13> <label class=md-nav__link for=__nav_13 id=__nav_13_label tabindex=0> <span class=md-ellipsis> 体系结构 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_13_label aria-expanded=false> <label class=md-nav__title for=__nav_13> <span class="md-nav__icon md-icon"></span> 体系结构 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/ class=md-nav__link> <span class=md-ellipsis> Coursera: Nand2Tetris </span> </a> </li> <li class=md-nav__item> <a href=%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/ class=md-nav__link> <span class=md-ellipsis> UCB CS61C: Great Ideas in Computer Architecture </span> </a> </li> <li class=md-nav__item> <a href=%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/DDCA/ class=md-nav__link> <span class=md-ellipsis> ETHz: Digital Design and Computer Architecture </span> </a> </li> <li class=md-nav__item> <a href=%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CA/ class=md-nav__link> <span class=md-ellipsis> ETHz: Computer Architecture </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_14> <label class=md-nav__link for=__nav_14 id=__nav_14_label tabindex=0> <span class=md-ellipsis> 操作系统 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_14_label aria-expanded=false> <label class=md-nav__title for=__nav_14> <span class="md-nav__icon md-icon"></span> 操作系统 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/ class=md-nav__link> <span class=md-ellipsis> MIT 6.S081: Operating System Engineering </span> </a> </li> <li class=md-nav__item> <a href=%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/ class=md-nav__link> <span class=md-ellipsis> UCB CS162: Operating System </span> </a> </li> <li class=md-nav__item> <a href=%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/ class=md-nav__link> <span class=md-ellipsis> NJU OS: Operating System Design and Implementation </span> </a> </li> <li class=md-nav__item> <a href=%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/ class=md-nav__link> <span class=md-ellipsis> HIT OS: Operating System </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_15> <label class=md-nav__link for=__nav_15 id=__nav_15_label tabindex=0> <span class=md-ellipsis> 并行与分布式系统 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_15_label aria-expanded=false> <label class=md-nav__title for=__nav_15> <span class="md-nav__icon md-icon"></span> 并行与分布式系统 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%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/ class=md-nav__link> <span class=md-ellipsis> CMU 15-418/Stanford CS149: Parallel Computing </span> </a> </li> <li class=md-nav__item> <a href=%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/ class=md-nav__link> <span class=md-ellipsis> MIT 6.824: Distributed System </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_16> <label class=md-nav__link for=__nav_16 id=__nav_16_label tabindex=0> <span class=md-ellipsis> 计算机系统安全 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_16_label aria-expanded=false> <label class=md-nav__title for=__nav_16> <span class="md-nav__icon md-icon"></span> 计算机系统安全 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/ class=md-nav__link> <span class=md-ellipsis> UCB CS161: Computer Security </span> </a> </li> <li class=md-nav__item> <a href=%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.1600/ class=md-nav__link> <span class=md-ellipsis> MIT 6.1600: Foundations of Computer Security </span> </a> </li> <li class=md-nav__item> <a href=%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/ class=md-nav__link> <span class=md-ellipsis> MIT 6.858: Computer System Security </span> </a> </li> <li class=md-nav__item> <a href=%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/ class=md-nav__link> <span class=md-ellipsis> ASU CSE365: Introduction to Cybersecurity </span> </a> </li> <li class=md-nav__item> <a href=%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/ class=md-nav__link> <span class=md-ellipsis> ASU CSE466: Computer Systems Security </span> </a> </li> <li class=md-nav__item> <a href=%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/SEEDLabs/ class=md-nav__link> <span class=md-ellipsis> SU SEED Labs </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_17> <label class=md-nav__link for=__nav_17 id=__nav_17_label tabindex=0> <span class=md-ellipsis> 计算机网络 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_17_label aria-expanded=false> <label class=md-nav__title for=__nav_17> <span class="md-nav__icon md-icon"></span> 计算机网络 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS168/ class=md-nav__link> <span class=md-ellipsis> UCB CS168: Introduction to the Internet: Architecture and Protocols </span> </a> </li> <li class=md-nav__item> <a href=%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/ class=md-nav__link> <span class=md-ellipsis> Stanford CS144: Computer Network </span> </a> </li> <li class=md-nav__item> <a href=%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown_ustc/ class=md-nav__link> <span class=md-ellipsis> USTC Computer Networking:A Top-Down Approach </span> </a> </li> <li class=md-nav__item> <a href=%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/ class=md-nav__link> <span class=md-ellipsis> Computer Networking: A Top-Down Approach </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_18> <label class=md-nav__link for=__nav_18 id=__nav_18_label tabindex=0> <span class=md-ellipsis> 数据库系统 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_18_label aria-expanded=false> <label class=md-nav__title for=__nav_18> <span class="md-nav__icon md-icon"></span> 数据库系统 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/ class=md-nav__link> <span class=md-ellipsis> UCB CS186: Introduction to Database System </span> </a> </li> <li class=md-nav__item> <a href=%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/ class=md-nav__link> <span class=md-ellipsis> CMU 15-445: Database Systems </span> </a> </li> <li class=md-nav__item> <a href=%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/ class=md-nav__link> <span class=md-ellipsis> Caltech CS122: Database System Implementation </span> </a> </li> <li class=md-nav__item> <a href=%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS346/ class=md-nav__link> <span class=md-ellipsis> Stanford CS346: Database System Implementation </span> </a> </li> <li class=md-nav__item> <a href=%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15799/ class=md-nav__link> <span class=md-ellipsis> CMU 15-799: Special Topics in Database Systems </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_19> <label class=md-nav__link for=__nav_19 id=__nav_19_label tabindex=0> <span class=md-ellipsis> 编译原理 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_19_label aria-expanded=false> <label class=md-nav__title for=__nav_19> <span class="md-nav__icon md-icon"></span> 编译原理 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/PKU-Compilers/ class=md-nav__link> <span class=md-ellipsis> PKU 编译原理实践 </span> </a> </li> <li class=md-nav__item> <a href=%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/ class=md-nav__link> <span class=md-ellipsis> Stanford CS143: Compilers </span> </a> </li> <li class=md-nav__item> <a href=%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/NJU-Compilers/ class=md-nav__link> <span class=md-ellipsis> NJU 编译原理 </span> </a> </li> <li class=md-nav__item> <a href=%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS420/ class=md-nav__link> <span class=md-ellipsis> KAIST CS420: Compiler Design </span> </a> </li> <li class=md-nav__item> <a href=%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/USTC-Compilers/ class=md-nav__link> <span class=md-ellipsis> USTC 编译原理与技术 </span> </a> </li> <li class=md-nav__item> <a href=%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/SJTU-Compilers/ class=md-nav__link> <span class=md-ellipsis> SJTU 编译原理 </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_20> <label class=md-nav__link for=__nav_20 id=__nav_20_label tabindex=0> <span class=md-ellipsis> 编程语言设计与分析 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_20_label aria-expanded=false> <label class=md-nav__title for=__nav_20> <span class="md-nav__icon md-icon"></span> 编程语言设计与分析 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80%E8%AE%BE%E8%AE%A1%E4%B8%8E%E5%88%86%E6%9E%90/CS242/ class=md-nav__link> <span class=md-ellipsis> Stanford CS242: Programming Languages </span> </a> </li> <li class=md-nav__item> <a href=%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80%E8%AE%BE%E8%AE%A1%E4%B8%8E%E5%88%86%E6%9E%90/NJU-SoftwareAnalysis/ class=md-nav__link> <span class=md-ellipsis> NJU 软件分析 </span> </a> </li> <li class=md-nav__item> <a href=%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80%E8%AE%BE%E8%AE%A1%E4%B8%8E%E5%88%86%E6%9E%90/PKU-SoftwareAnalysis/ class=md-nav__link> <span class=md-ellipsis> PKU 软件分析 </span> </a> </li> <li class=md-nav__item> <a href=%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80%E8%AE%BE%E8%AE%A1%E4%B8%8E%E5%88%86%E6%9E%90/Cambridge-Semantics/ class=md-nav__link> <span class=md-ellipsis> Cambridge: Semantics of Programming Languages </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_21> <label class=md-nav__link for=__nav_21 id=__nav_21_label tabindex=0> <span class=md-ellipsis> 计算机图形学 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_21_label aria-expanded=false> <label class=md-nav__title for=__nav_21> <span class="md-nav__icon md-icon"></span> 计算机图形学 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/ class=md-nav__link> <span class=md-ellipsis> GAMES101 </span> </a> </li> <li class=md-nav__item> <a href=%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES202/ class=md-nav__link> <span class=md-ellipsis> GAMES202 </span> </a> </li> <li class=md-nav__item> <a href=%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/ class=md-nav__link> <span class=md-ellipsis> GAMES103 </span> </a> </li> <li class=md-nav__item> <a href=%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS148/ class=md-nav__link> <span class=md-ellipsis> Stanford CS148 </span> </a> </li> <li class=md-nav__item> <a href=%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/15462/ class=md-nav__link> <span class=md-ellipsis> CMU 15-462 </span> </a> </li> <li class=md-nav__item> <a href=%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/USTC%20ComputerGraphics/ class=md-nav__link> <span class=md-ellipsis> USTC CG </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_22> <label class=md-nav__link for=__nav_22 id=__nav_22_label tabindex=0> <span class=md-ellipsis> Web开发 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_22_label aria-expanded=false> <label class=md-nav__title for=__nav_22> <span class="md-nav__icon md-icon"></span> Web开发 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=Web%E5%BC%80%E5%8F%91/mitweb/ class=md-nav__link> <span class=md-ellipsis> MIT web development course </span> </a> </li> <li class=md-nav__item> <a href=Web%E5%BC%80%E5%8F%91/CS142/ class=md-nav__link> <span class=md-ellipsis> Stanford CS142: Web Applications </span> </a> </li> <li class=md-nav__item> <a href=Web%E5%BC%80%E5%8F%91/fullstackopen/ class=md-nav__link> <span class=md-ellipsis> University of Helsinki: Full Stack open 2022 </span> </a> </li> <li class=md-nav__item> <a href=Web%E5%BC%80%E5%8F%91/CS571/ class=md-nav__link> <span class=md-ellipsis> CS571 Building UI (React & React Native) </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_23> <label class=md-nav__link for=__nav_23 id=__nav_23_label tabindex=0> <span class=md-ellipsis> 数据科学 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_23_label aria-expanded=false> <label class=md-nav__title for=__nav_23> <span class="md-nav__icon md-icon"></span> 数据科学 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/ class=md-nav__link> <span class=md-ellipsis> UCB Data100: Principles and Techniques of Data Science </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_24> <label class=md-nav__link for=__nav_24 id=__nav_24_label tabindex=0> <span class=md-ellipsis> 人工智能 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_24_label aria-expanded=false> <label class=md-nav__title for=__nav_24> <span class="md-nav__icon md-icon"></span> 人工智能 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href="人工智能/Neural Networks: Zero to Hero.md" class=md-nav__link> <span class=md-ellipsis> Neural Networks: Zero to Hero </span> </a> </li> <li class=md-nav__item> <a href=%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/ class=md-nav__link> <span class=md-ellipsis> Harvard CS50's Introduction to AI with Python </span> </a> </li> <li class=md-nav__item> <a href=%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/ class=md-nav__link> <span class=md-ellipsis> UCB CS188: Introduction to Artificial Intelligence </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_25> <label class=md-nav__link for=__nav_25 id=__nav_25_label tabindex=0> <span class=md-ellipsis> 机器学习 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_25_label aria-expanded=false> <label class=md-nav__title for=__nav_25> <span class="md-nav__icon md-icon"></span> 机器学习 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/ class=md-nav__link> <span class=md-ellipsis> Coursera: Machine Learning </span> </a> </li> <li class=md-nav__item> <a href=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/ class=md-nav__link> <span class=md-ellipsis> Stanford CS229: Machine Learning </span> </a> </li> <li class=md-nav__item> <a href=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/ class=md-nav__link> <span class=md-ellipsis> UCB CS189: Introduction to Machine Learning </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_26> <label class=md-nav__link for=__nav_26 id=__nav_26_label tabindex=0> <span class=md-ellipsis> 机器学习系统 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_26_label aria-expanded=false> <label class=md-nav__title for=__nav_26> <span class="md-nav__icon md-icon"></span> 机器学习系统 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/ class=md-nav__link> <span class=md-ellipsis> 智能计算系统 </span> </a> </li> <li class=md-nav__item> <a href=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/ class=md-nav__link> <span class=md-ellipsis> CMU 10-414/714: Deep Learning Systems </span> </a> </li> <li class=md-nav__item> <a href=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/EML/ class=md-nav__link> <span class=md-ellipsis> MIT6.5940: TinyML and Efficient Deep Learning Computing </span> </a> </li> <li class=md-nav__item> <a href=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/MLC/ class=md-nav__link> <span class=md-ellipsis> Machine Learning Compilation </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_27> <label class=md-nav__link for=__nav_27 id=__nav_27_label tabindex=0> <span class=md-ellipsis> 深度学习 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_27_label aria-expanded=false> <label class=md-nav__title for=__nav_27> <span class="md-nav__icon md-icon"></span> 深度学习 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/ class=md-nav__link> <span class=md-ellipsis> Coursera: Deep Learning </span> </a> </li> <li class=md-nav__item> <a href=%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/ class=md-nav__link> <span class=md-ellipsis> 国立台湾大学: 李宏毅机器学习 </span> </a> </li> <li class=md-nav__item> <a href=%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/EECS498-007/ class=md-nav__link> <span class=md-ellipsis> UMich EECS 498-007 / 598-005: Deep Learning for Computer Vision </span> </a> </li> <li class=md-nav__item> <a href=%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/ class=md-nav__link> <span class=md-ellipsis> Stanford CS231n: CNN for Visual Recognition </span> </a> </li> <li class=md-nav__item> <a href=%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/ class=md-nav__link> <span class=md-ellipsis> Stanford CS224n: Natural Language Processing </span> </a> </li> <li class=md-nav__item> <a href=%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/ class=md-nav__link> <span class=md-ellipsis> Stanford CS224w: Machine Learning with Graphs </span> </a> </li> <li class=md-nav__item> <a href=%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/ class=md-nav__link> <span class=md-ellipsis> UCB CS285: Deep Reinforcement Learning </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_28> <label class=md-nav__link for=__nav_28 id=__nav_28_label tabindex=0> <span class=md-ellipsis> 深度生成模型 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_28_label aria-expanded=false> <label class=md-nav__title for=__nav_28> <span class="md-nav__icon md-icon"></span> 深度生成模型 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E6%B7%B1%E5%BA%A6%E7%94%9F%E6%88%90%E6%A8%A1%E5%9E%8B/roadmap/ class=md-nav__link> <span class=md-ellipsis> 学习路线图 </span> </a> </li> <li class=md-nav__item> <a href=%E6%B7%B1%E5%BA%A6%E7%94%9F%E6%88%90%E6%A8%A1%E5%9E%8B/MIT6.S184/ class=md-nav__link> <span class=md-ellipsis> MIT 6.S184: Generative AI with Stochastic Differential Equations </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_28_3> <label class=md-nav__link for=__nav_28_3 id=__nav_28_3_label tabindex=0> <span class=md-ellipsis> 大语言模型 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_28_3_label aria-expanded=false> <label class=md-nav__title for=__nav_28_3> <span class="md-nav__icon md-icon"></span> 大语言模型 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E6%B7%B1%E5%BA%A6%E7%94%9F%E6%88%90%E6%A8%A1%E5%9E%8B/%E5%A4%A7%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/CMU11-868/ class=md-nav__link> <span class=md-ellipsis> CMU 11-868: Large Language Model System </span> </a> </li> <li class=md-nav__item> <a href=%E6%B7%B1%E5%BA%A6%E7%94%9F%E6%88%90%E6%A8%A1%E5%9E%8B/%E5%A4%A7%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/CMU11-667/ class=md-nav__link> <span class=md-ellipsis> CMU 11-667: Large Language Models: Methods and Applications </span> </a> </li> <li class=md-nav__item> <a href=%E6%B7%B1%E5%BA%A6%E7%94%9F%E6%88%90%E6%A8%A1%E5%9E%8B/%E5%A4%A7%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/CMU11-711/ class=md-nav__link> <span class=md-ellipsis> CMU 11-711: Advanced Natural Language Processing </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_29> <label class=md-nav__link for=__nav_29 id=__nav_29_label tabindex=0> <span class=md-ellipsis> 机器学习进阶 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_29_label aria-expanded=false> <label class=md-nav__title for=__nav_29> <span class="md-nav__icon md-icon"></span> 机器学习进阶 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/ class=md-nav__link> <span class=md-ellipsis> 学习路线图 </span> </a> </li> <li class=md-nav__item> <a href=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/ class=md-nav__link> <span class=md-ellipsis> CMU 10-708: Probabilistic Graphical Models </span> </a> </li> <li class=md-nav__item> <a href=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/ class=md-nav__link> <span class=md-ellipsis> Columbia STAT 8201: Deep Generative Models </span> </a> </li> <li class=md-nav__item> <a href=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/ class=md-nav__link> <span class=md-ellipsis> U Toronto STA 4273 Winter 2021: Minimizing Expectations </span> </a> </li> <li class=md-nav__item> <a href=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/ class=md-nav__link> <span class=md-ellipsis> Stanford STATS214 / CS229M: Machine Learning Theory </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=%E5%90%8E%E8%AE%B0/ class=md-nav__link> <span class=md-ellipsis> 后记 </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label=目录> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> 目录 </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#cs61a class=md-nav__link> <span class=md-ellipsis> 梦开始的地方 —— CS61A </span> </a> </li> <li class=md-nav__item> <a href=#_2 class=md-nav__link> <span class=md-ellipsis> 为什么写这本书 </span> </a> </li> <li class=md-nav__item> <a href=#_3 class=md-nav__link> <span class=md-ellipsis> 自学的好处 </span> </a> </li> <li class=md-nav__item> <a href=#_4 class=md-nav__link> <span class=md-ellipsis> 自学的坏处 </span> </a> </li> <li class=md-nav__item> <a href=#_5 class=md-nav__link> <span class=md-ellipsis> 这本书适合谁 </span> </a> </li> <li class=md-nav__item> <a href=#_6 class=md-nav__link> <span class=md-ellipsis> 特别鸣谢 </span> </a> </li> <li class=md-nav__item> <a href=#_7 class=md-nav__link> <span class=md-ellipsis> 你也想加入到贡献者的行列 </span> </a> </li> <li class=md-nav__item> <a href=#_8 class=md-nav__link> <span class=md-ellipsis> 关于交流群的建立 </span> </a> </li> <li class=md-nav__item> <a href=#_9 class=md-nav__link> <span class=md-ellipsis> 请作者喝杯下午茶 </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <figure> <p><img alt="Image title" src=images/title.png width=600></p> </figure> <h1 id=_1>前言</h1> <p><strong>🎉🎉 <a href=https://github.com/PKUFlyingPig/cs-self-learning/releases/tag/v1.2.0>Release v1.2.0</a>: 更新了<a href=%E6%B7%B1%E5%BA%A6%E7%94%9F%E6%88%90%E6%A8%A1%E5%9E%8B/roadmap/ >深度生成模型学习路线</a> 🎉🎉</strong></p> <p>这是一本计算机的自学指南,也是对自己大学三年自学生涯的一个纪念。</p> <p>这同时也是一份献给北大信科学弟学妹们的礼物。如果这本书能对你们的信科生涯有哪怕一丝一毫的帮助,都是对我极大的鼓励和慰藉。</p> <p>本书目前包括了以下部分(如果你有其他好的建议,或者想加入贡献者的行列,欢迎邮件 <a href=mailto:zhongyinmin@pku.edu.cn>zhongyinmin@pku.edu.cn</a> 或者在 issue 里提问):</p> <ul> <li>本书使用指南:由于书内涵盖资源众多,我根据不同人群的空闲时间和学习目标制定了对应的使用指南。</li> <li>一份供参考的 CS 学习规划:我根据自己的自学经历制定的全面的、系统化的 CS 自学规划。</li> <li>必学工具:一些 CSer 效率工具介绍,例如 IDE, 翻墙, StackOverflow, Git, GitHub, Vim, LaTeX, GNU Make, Docker, 工作流 等等。</li> <li>经典书籍推荐:你是否苦于教材的晦涩难懂不知所云?别从自己身上找原因了,可能只是教材写得太烂。看过 CSAPP 这本书的同学一定会感叹好书的重要,我将列举推荐各个计算机领域的必看好书与资源链接。</li> <li><strong>国内外高质量 CS 课程汇总</strong>:我将把我上过的以及开源社区贡献的<strong>高质量</strong>的国内外 CS 课程分门别类进行汇总,介绍其课程内容特点并给出相应的自学建议,大部分课程都会有一个独立的仓库维护相关的资源以及作业实现供大家学习参考。</li> </ul> <h2 id=cs61a>梦开始的地方 —— CS61A</h2> <p>大一入学时我是一个对计算机一无所知的小白,装了几十个 G 的 Visual Studio 天天和 OJ 你死我活。凭着高中的数学底子我数学课学得还不错,但在专业课上对竞赛大佬只有仰望。提到编程我只会打开那笨重的 IDE,新建一个我也不知道具体是干啥的命令行项目,然后就是 <code>cin</code>, <code>cout</code>, <code>for</code> 循环,然后 CE, RE, WA 循环。当时的我就处在一种拼命想学好但不知道怎么学,课上认真听讲但题还不会做,课后做作业完全是用时间和它硬耗的痛苦状态。我至今电脑里还存着自己大一上学期计算概论大作业的源代码 —— 一个 1200 行的 C++ 文件,没有头文件、没有类、没有封装、没有 unit test、没有 Makefile、没有 Git,唯一的优点是它确实能跑,缺点是“能跑”的补集。我一度怀疑我是不是不适合学计算机,因为童年对于极客的所有想象,已经被我第一个学期的体验彻底粉碎了。</p> <p>这一切的转机发生在我大一的寒假,我心血来潮想学习 Python。无意间看到知乎有人推荐了 CS61A 这门课,说是 UC Berkeley 的大一入门课程,讲的就是 Python。我永远不会忘记那一天,打开 <a href=https://cs61a.org/ >CS61A</a> 课程网站的那个瞬间,就像哥伦布发现了新大陆一样,我开启了新世界的大门。</p> <p>我一口气 3 个星期上完了这门课,它让我第一次感觉到原来 CS 可以学得如此充实而有趣,原来这世上竟有如此精华的课程。</p> <p>为避免有崇洋媚外之嫌,我单纯从一个学生的视角来讲讲自学 CS61A 的体验:</p> <ul> <li> <p>独立搭建的课程网站: 一个网站将所有课程资源整合一体,条理分明的课程 schedule、所有 slides, homework, discussion 的文件链接、详细明确的课程给分说明、历年的考试题与答案。这样一个网站抛开美观程度不谈,既方便学生,也让资源公正透明。</p> </li> <li> <p>课程教授亲自编写的教材:CS61A 这门课的开课老师将 MIT 的经典教材 <em>Structure and Interpretation of Computer Programs</em> (SICP) 用Python这门语言进行改编(原教材基于 Scheme 语言),保证了课堂内容与教材内容的一致性,同时补充了更多细节,可以说诚意满满。而且<a href=https://www.composingprograms.com/ >全书开源</a>,可以直接线上阅读。</p> </li> <li> <p>丰富到让人眼花缭乱的课程作业:14 个 lab 巩固随堂知识点,10 个 homework,还有 4 个代码量均上千行的 project。与大家熟悉的 OJ 和 Word 文档式的作业不同,所有作业均有完善的代码框架,保姆级的作业说明。每个 Project 都有详尽的 handout 文档、全自动的评分脚本。CS61A 甚至专门开发了一个<a href=https://okpy.org/ >自动化的作业提交评分系统</a>(据说还发了论文)。当然,有人会说“一个 project 几千行代码大部分都是助教帮你写好的,你还能学到啥?”。此言差矣,作为一个刚刚接触计算机,连安装 Python 都磕磕绊绊的小白来说,这样完善的代码框架既可以让你专注于巩固课堂上学习到的核心知识点,又能有“我才学了一个月就能做一个小游戏了!”的成就感,还能有机会阅读学习别人高质量的代码,从而为自己所用。我觉得在低年级,这种代码框架可以说百利而无一害。就是苦了老师和助教,因为开发这样的作业可想而知需要相当大的时间投入和多年的迭代积累。</p> </li> <li> <p>每周 Discussion 讨论课:助教会讲解知识难点和考试例题,习题全部用 LaTeX 撰写,相当规范并且会给出详细的解答,让学生及时查漏补缺巩固知识点。</p> </li> </ul> <p>这样的课程,你完全不需要任何计算机的基础,你只需要努力、认真、花时间就够了。此前那种有劲没处使的感觉,那种付出再多时间却得不到回报的感觉,从此烟消云散。这太适合我了,我从此爱上了自学。</p> <p>试想如果有人能把艰深的知识点嚼碎嚼烂,用生动直白的方式呈现给你,还有那么多听起来就很 fancy,种类繁多的 project 来巩固你的理论知识,你会觉得他们真的是在倾尽全力想方设法地让你完全掌握这门课,你会觉得不学好它简直是对这些课程建设者的侮辱。</p> <p>如果你觉得我在夸大其词,那么不妨从 <a href=https://cs61a.org/ >CS61A</a> 开始,因为它是我的梦开始的地方。</p> <h2 id=_2>为什么写这本书</h2> <p>在我2020年秋季学期担任《深入理解计算机系统》(CSAPP)这门课的助教时,我已经自学一年多了。这一年多来我无比享受这种自学模式,为了分享这种快乐,我为自己的研讨班学生做过一个 <a href=https://github.com/PKUFlyingPig/Self-learning-Computer-Science>CS自学资料整理仓库</a>。当时纯粹是心血来潮,因为我也不敢公然鼓励大家翘课自学。</p> <p>但随着又一年时间的维护,这个仓库的内容已经相当丰富,基本覆盖了计科、智能系、软工系的绝大多数课程,我也为每个课程都建了各自的 GitHub 仓库,汇总我用到的自学资料以及作业实现。</p> <p>直到大四开始凑学分毕业的时候,我打开自己的培养方案,我发现它已经是我这个自学仓库的子集了,而这距离我开始自学也才两年半而已。于是,一个大胆的想法在我脑海中浮现:也许,我可以打造一个自学式的培养方案,把我这三年自学经历中遇到的坑、走过的路记录下来,以期能为后来的学弟学妹们贡献自己的一份微薄之力。</p> <p>如果大家可以在三年不到的时间里就能建立起整座 CS 的基础大厦,能有相对扎实的数学功底和代码能力,经历过数十个千行代码量的 Project 的洗礼,掌握至少 C/C++/Java/JS/Python/Go/Rust 等主流语言,对算法、电路、体系、网络、操统、编译、人工智能、机器学习、计算机视觉、自然语言处理、强化学习、密码学、信息论、博弈论、数值分析、统计学、分布式、数据库、图形学、Web开发、云服务、超算等等方面均有涉猎。我想,你将有足够的底气和自信选择自己感兴趣的方向,无论是就业还是科研,你都将有相当的竞争力。</p> <p>因为我坚信,既然你能坚持听我 BB 到这里,你一定不缺学好 CS 的能力,你只是没有一个好的老师,给你讲一门好的课程。而我,将力图根据我三年的体验,为你挑选这样的课程。</p> <h2 id=_3>自学的好处</h2> <p>对我来说,自学最大的好处就在于可以完全根据自己的进度来调整学习速度。对于一些疑难知识点,我可以反复回看视频,在网上谷歌相关的内容,上 StackOverflow 提问题,直到完全将它弄明白。而对于自己掌握得相对较快的内容,则可以两倍速甚至三倍速略过。</p> <p>自学的另一大好处就是博采众长。计算机系的几大核心课程:体系、网络、操统、编译,每一门我基本都上过不同大学的课程,不同的教材、不同的知识点侧重、不同的 project 将会极大丰富你的视野,也会让你理解错误的一些内容得到及时纠正。</p> <p>自学的第三个好处是时间自由。大学的课余时间本就相对自由,再加上不用去上课的话更是可以放飞自我地安排自学时间和进度。我大二的时候赶上疫情在家窝了大半年,返校之后也基本没有线下去过教室上课,对绩点也毫无影响。</p> <h2 id=_4>自学的坏处</h2> <p>当然,作为 CS 自学主义的忠实拥趸,我不得不承认自学也有它的坏处。</p> <p>第一就是交流沟通的不便。我其实是一个很热衷于提问的人,对于所有没有弄明白的点,我都喜欢穷追到底。但当你面对着屏幕听到老师讲了一个你没明白的知识点的时候,你无法顺着网线到另一端向老师问个明白。我努力通过独立思考和善用 Google 来缓解这一点,但是,如果能有几个志同道合的伙伴结伴自学,那将是极好的。关于交流群的建立,大家可以参考仓库 <code>README</code> 中的教程。</p> <p>第二就是这些自学的课程基本都是英文的。从视频到课件再到作业全是英文,所以有一定的门槛。我尽量在汇总课程视频资源的时候寻找带中文字幕的搬运视频,但大多数课程还是只有机翻或者生肉,而课件和作业肯定都是英文的。不过我觉得这是个值得努力克服的挑战,因为在当下,虽然我很不情愿,但也不得不承认,在计算机领域,很多优质的文档、论坛、网站都是英文居多。养成英文阅读的习惯,在赤旗插遍世界之前,还是有一定好处的(狗头保命)。</p> <p>第三,也是我觉得最困难的一点,就是自律。因为没有 DDL 有时候真的是一件可怕的事情。特别是随着学习的深入,国外的很多课程是相当虐的。你得有足够的驱动力强迫自己静下心来,阅读几十页的 Project Handout,理解上千行的代码框架,忍受数个小时的 debug 时光。而这一切,没有学分,没有绩点,没有老师,没有同学,只有一个信念 —— 你在变强。</p> <h2 id=_5>这本书适合谁</h2> <p>正如我在前言里说的,任何有志于自学计算机的朋友都可以参考这本书。如果你已经有了一定的计算机基础,只是对某个特定的领域感兴趣,可以选择性地挑选你感兴趣的内容进行学习。当然,如果你是一个像我当年一样对计算机一无所知的小白,初入大学的校门,我希望这本书能成为你的攻略,让你花最少的时间掌握你所需要的知识和能力。某种程度上,这本书更像是一个根据我的体验来排序的课程搜索引擎,帮助大家足不出户,体验世界顶级名校的计算机优质课程。</p> <p>当然,作为一个还未毕业的本科生,我深感自己没有能力也没有权利去宣扬一种学习方式,我只是希望这份资料能让那些同样有自学之心和毅力朋友可以少走些弯路,收获更丰富、更多样、更满足的学习体验。</p> <h2 id=_6>特别鸣谢</h2> <p>在这里,我怀着崇敬之心真诚地感谢所有将课程资源无偿开源的各位教授们。这些课程倾注了他们数十年教学生涯的积淀和心血,他们却选择无私地让所有人享受到如此高质量的 CS 教育。没有他们,我的大学生活不会这样充实而快乐。很多教授在我给他们发了感谢邮件之后,甚至会回复上百字的长文,真的让我无比感动。他们也时刻激励着我,做一件事,就得用心做好,无论是学习、科研、还是为人。</p> <h2 id=_7>你也想加入到贡献者的行列</h2> <p>一个人的力量终究是有限的,这本书也是我在繁重的科研之余熬夜抽空写出来的,难免有不够完善之处。另外,由于个人做的是系统方向,很多课程侧重系统领域,对于数学、理论计算机、高级算法相关的内容则相对少些。如果有大佬想在其他领域分享自己的自学经历与资源,可以直接在项目中发起 Pull Request,也欢迎和我邮件联系(<a href=mailto:zhongyinmin@pku.edu.cn>zhongyinmin@pku.edu.cn</a>)。</p> <h2 id=_8>关于交流群的建立</h2> <p>本书支持页面评论功能,因此如果你想自学某课程,可以自己建立群聊后(QQ 微信皆可)在对应的课程页面下方发表评论,注明你的学习目标以及加入交流群的途径。此外,过去已有不少朋友在 issue 里建立了类似群聊,可以自行选择直接加入。</p> <h2 id=_9>请作者喝杯下午茶</h2> <p>本书的内容是完全开源免费的,如果你觉得该项目对你真的有帮助,可以给仓库点个 star 或者请作者喝一杯下午茶。</p> <figure> <p><img alt="Image title" src=images/sponsor.png width=500></p> </figure> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title=最后更新> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1-2.1-2M12.5 7v5.2l4 2.4-1 1L11 13V7h1.5M11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2v1.8Z"/></svg> </span> 2025-06-08 </span> </aside> <!-- Insert generated snippet here --> <script src=https://giscus.app/client.js data-repo=PKUFlyingPig/cs-self-learning data-repo-id=R_kgDOGP67ng data-category=Announcements data-category-id=DIC_kwDOGP67ns4COM9Q data-mapping=title data-reactions-enabled=1 data-emit-metadata=0 data-input-position=top data-theme=light_protanopia data-lang=zh-CN data-loading=lazy crossorigin=anonymous async>
|
||
</script> <!-- Synchronize Giscus theme with palette --> <script>
|
||
var giscus = document.querySelector("script[src*=giscus]")
|
||
|
||
// Set palette on initial load
|
||
var palette = __md_get("__palette")
|
||
if (palette && typeof palette.color === "object") {
|
||
var theme = palette.color.scheme === "slate"
|
||
? "dark_protanopia"
|
||
: "light_protanopia"
|
||
|
||
// Instruct Giscus to set theme
|
||
giscus.setAttribute("data-theme", theme)
|
||
}
|
||
|
||
// Register event handlers after documented loaded
|
||
document.addEventListener("DOMContentLoaded", function() {
|
||
var ref = document.querySelector("[data-md-component=palette]")
|
||
ref.addEventListener("change", function() {
|
||
var palette = __md_get("__palette")
|
||
if (palette && typeof palette.color === "object") {
|
||
var theme = palette.color.scheme === "slate"
|
||
? "dark_protanopia"
|
||
: "light_protanopia"
|
||
|
||
// Instruct Giscus to change theme
|
||
var frame = document.querySelector(".giscus-frame")
|
||
frame.contentWindow.postMessage(
|
||
{ giscus: { setConfig: { theme } } },
|
||
"https://giscus.app"
|
||
)
|
||
}
|
||
})
|
||
})
|
||
</script> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> 回到页面顶部 </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021-present <a href=https://github.com/PKUFlyingPig target=_blank rel="noopener noreferrer">PKUFlyingPig</a> </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/pkuflyingpig/cs-self-learning/ target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": ".", "features": ["header.autohide", "navigation.tracking", "navigation.top", "search.highlight", "search.share", "search.suggest", "content.code.annotate"], "search": "assets/javascripts/workers/search.f886a092.min.js", "translations": {"clipboard.copied": "\u5df2\u590d\u5236", "clipboard.copy": "\u590d\u5236", "search.result.more.one": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.more.other": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 # \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.none": "\u6ca1\u6709\u627e\u5230\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.one": "\u627e\u5230 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.other": "# \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.placeholder": "\u952e\u5165\u4ee5\u5f00\u59cb\u641c\u7d22", "search.result.term.missing": "\u7f3a\u5c11", "select.version": "\u9009\u62e9\u5f53\u524d\u7248\u672c"}}</script> <script src=assets/javascripts/bundle.d7c377c4.min.js></script> <script src=js/open_in_new_tab.js></script> </body> </html> |