cs-self-learning/必学工具/workflow/index.html

24 lines
No EOL
61 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/ rel=canonical><link rel=icon href=../../images/favicon.ico><meta name=generator content="mkdocs-1.4.3, mkdocs-material-7.3.6"><title>日常学习工作流 - CS自学指南</title><link rel=stylesheet href=../../assets/stylesheets/main.a57b2b03.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.3f5d1f46.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700%7CRoboto+Mono&display=fallback"><style>:root{--md-text-font-family:"Roboto";--md-code-font-family:"Roboto Mono"}</style><script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-KJB4RXSKZG"),document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof location$&&location$.subscribe(function(t){gtag("config","G-KJB4RXSKZG",{page_path:t.pathname})})})</script><script async src="https://www.googletagmanager.com/gtag/js?id=G-KJB4RXSKZG"></script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=light-blue data-md-color-accent=deep-purple> <script>function __prefix(e){return new URL("../..",location).pathname+"."+e}function __get(e,t=localStorage){return JSON.parse(t.getItem(__prefix(e)))}</script> <script>var palette=__get("__palette");if(null!==palette&&"object"==typeof palette.color)for(var key in palette.color)document.body.setAttribute("data-md-color-"+key,palette.color[key])</script> <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 data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <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_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 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_2> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 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> <div class=md-header__option> <div class=md-select> <button class="md-header__button md-icon" aria-label="Select language"> <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/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/ 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=Search> <a href=javascript:void(0) class="md-search__icon md-icon" aria-label=Share 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" aria-label=Clear 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></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"><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=Navigation 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"><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> <a href=../.. class=md-nav__link> 前言 </a> </li> <li class=md-nav__item> <a href=../../%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/ class=md-nav__link> 如何使用这本书 </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> 一个仅供参考的CS学习规划 </a> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle=__nav_4 type=checkbox id=__nav_4 checked> <label class=md-nav__link for=__nav_4> 必学工具 <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav aria-label=必学工具 data-md-level=1> <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=../%E7%BF%BB%E5%A2%99/ class=md-nav__link> 翻墙 </a> </li> <li class=md-nav__item> <a href=../Vim/ class=md-nav__link> Vim </a> </li> <li class=md-nav__item> <a href=../Emacs/ class=md-nav__link> Emacs </a> </li> <li class=md-nav__item> <a href=../Git/ class=md-nav__link> Git </a> </li> <li class=md-nav__item> <a href=../GitHub/ class=md-nav__link> GitHub </a> </li> <li class=md-nav__item> <a href=../GNU_Make/ class=md-nav__link> GNU Make </a> </li> <li class=md-nav__item> <a href=../CMake/ class=md-nav__link> CMake </a> </li> <li class=md-nav__item> <a href=../LaTeX/ class=md-nav__link> LaTeX </a> </li> <li class=md-nav__item> <a href=../Docker/ class=md-nav__link> Docker </a> </li> <li class=md-nav__item> <a href=../Scoop/ class=md-nav__link> Scoop </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> 日常学习工作流 <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> 日常学习工作流 </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=#_1 class=md-nav__link> 底层核心逻辑 </a> </li> <li class=md-nav__item> <a href=#_2 class=md-nav__link> 选择合适的笔记软件 </a> </li> <li class=md-nav__item> <a href=#_3 class=md-nav__link> 信息的来源 </a> <nav class=md-nav aria-label=信息的来源> <ul class=md-nav__list> <li class=md-nav__item> <a href=#_4 class=md-nav__link> 有什么格式 </a> </li> <li class=md-nav__item> <a href=#pdf-markdown class=md-nav__link> 怎么转换为 pdf 或 Markdown </a> </li> <li class=md-nav__item> <a href=#_5 class=md-nav__link> 如何统一管理信息来源 </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#_6 class=md-nav__link> 信息的处理 </a> <nav class=md-nav aria-label=信息的处理> <ul class=md-nav__list> <li class=md-nav__item> <a href=#_7 class=md-nav__link> 英文信息 </a> </li> <li class=md-nav__item> <a href=#_8 class=md-nav__link> 多媒体信息 </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#_9 class=md-nav__link> 信息的回顾 </a> </li> <li class=md-nav__item> <a href=#_10 class=md-nav__link> 总结 </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> 实用工具箱 </a> </li> <li class=md-nav__item> <a href=../thesis/ class=md-nav__link> 毕业论文 </a> </li> <li class=md-nav__item> <a href=../%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/ class=md-nav__link> 信息检索 </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> 好书推荐 </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle=__nav_6 type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6> 数学基础 <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav aria-label=数学基础 data-md-level=1> <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> MIT18.01/18.02: Calculus </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> MIT18.06: Linear Algebra </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> MIT6.050J: Information theory and Entropy </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle=__nav_7 type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7> 数学进阶 <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav aria-label=数学进阶 data-md-level=1> <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> UCB CS70: discrete Math and probability theory </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> UCB CS126: probability theory </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> MIT 6.042J: Mathematics for Computer Science </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> MIT18.330: Introduction to numerical analysis </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> Standford EE364A: Convex Optimization </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> The Information Theory, Pattern Recognition, and Neural Networks </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle=__nav_8 type=checkbox id=__nav_8> <label class=md-nav__link for=__nav_8> 编程入门 <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav aria-label=编程入门 data-md-level=1> <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> MIT-Missing-Semester </a> </li> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/ class=md-nav__link> Harvard CS50: This is CS50x </a> </li> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50P/ class=md-nav__link> CS50P: CS50's Introduction to Programming with Python </a> </li> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/ class=md-nav__link> UCB CS61A: Structure and Interpretation of Computer Programs </a> </li> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Duke-Coursera-Intro-C/ class=md-nav__link> Duke University: Introductory C Programming Specialization </a> </li> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106B_CS106X/ class=md-nav__link> Stanford CS106B/X </a> </li> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/ class=md-nav__link> Stanford CS106L: Standard C++ Programming </a> </li> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/ class=md-nav__link> Stanford CS110L: Safety in Systems Programming </a> </li> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/AUT1400/ class=md-nav__link> AmirKabir University of Technology AP1400-2: Advanced Programming </a> </li> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Haskell-MOOC/ class=md-nav__link> Haskell MOOC </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle=__nav_9 type=checkbox id=__nav_9> <label class=md-nav__link for=__nav_9> 电子基础 <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav aria-label=电子基础 data-md-level=1> <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> EE16A&B: Designing Information Devices and Systems I&II </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> UCB EE120 : Signal and Systems </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> MIT 6.007 Signals and Systems </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle=__nav_10 type=checkbox id=__nav_10> <label class=md-nav__link for=__nav_10> 数据结构与算法 <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav aria-label=数据结构与算法 data-md-level=1> <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> UCB CS61B: Data Structures and Algorithms </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> Coursera: Algorithms I & II </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> MIT 6.006: Introduction to Algorithms </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> MIT 6.046: Design and Analysis of Algorithms </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> UCB CS170: Efficient Algorithms and Intractable Problems </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle=__nav_11 type=checkbox id=__nav_11> <label class=md-nav__link for=__nav_11> 软件工程 <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav aria-label=软件工程 data-md-level=1> <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> MIT 6.031: Software Construction </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> UCB CS169: software engineering </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle=__nav_12 type=checkbox id=__nav_12> <label class=md-nav__link for=__nav_12> 体系结构 <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav aria-label=体系结构 data-md-level=1> <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=../../%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/ class=md-nav__link> Coursera: Nand2Tetris </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> Digital Design and Computer Architecture </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> UCB CS61C: Great Ideas in Computer Architecture </a> </li> <li class=md-nav__item> <a href=../../%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/ class=md-nav__link> CMU 15-213: CSAPP </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle=__nav_13 type=checkbox id=__nav_13> <label class=md-nav__link for=__nav_13> 操作系统 <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav aria-label=操作系统 data-md-level=1> <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=../../%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/ class=md-nav__link> MIT 6.S081: Operating System Engineering </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> UCB CS162: Operating System </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> NJU OS: Operating System Design and Implementation </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> HIT OS: Operating System </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle=__nav_14 type=checkbox id=__nav_14> <label class=md-nav__link for=__nav_14> 并行与分布式系统 <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav aria-label=并行与分布式系统 data-md-level=1> <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=../../%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> CMU 15-418/Stanford CS149: Parallel Computing </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> MIT 6.824: Distributed System </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle=__nav_15 type=checkbox id=__nav_15> <label class=md-nav__link for=__nav_15> 计算机系统安全 <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav aria-label=计算机系统安全 data-md-level=1> <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=../../%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/ class=md-nav__link> UCB CS161: Computer Security </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> MIT 6.858: Computer System Security </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> ASU CSE365: Introduction to Cybersecurity </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> ASU CSE466: Computer Systems Security </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle=__nav_16 type=checkbox id=__nav_16> <label class=md-nav__link for=__nav_16> 计算机网络 <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav aria-label=计算机网络 data-md-level=1> <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=../../%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown_ustc/ class=md-nav__link> USTC Computer Networking:A Top-Down Approach </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> Computer Networking: A Top-Down Approach </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> Stanford CS144: Computer Network </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle=__nav_17 type=checkbox id=__nav_17> <label class=md-nav__link for=__nav_17> 数据库系统 <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav aria-label=数据库系统 data-md-level=1> <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=../../%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/ class=md-nav__link> UCB CS186: Introduction to Database System </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> CMU 15-445: Database Systems </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> Caltech CS122: Database System Implementation </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> Stanford CS346: Database System Implementation </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> CMU 15-799: Special Topics in Database Systems </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle=__nav_18 type=checkbox id=__nav_18> <label class=md-nav__link for=__nav_18> 编译原理 <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav aria-label=编译原理 data-md-level=1> <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=../../%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/ class=md-nav__link> Stanford CS143: Compilers </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle=__nav_19 type=checkbox id=__nav_19> <label class=md-nav__link for=__nav_19> 计算机图形学 <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav aria-label=计算机图形学 data-md-level=1> <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=../../%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/ class=md-nav__link> GAMES101 </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> GAMES202 </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> GAMES103 </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> Stanford CS148 </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> CMU 15-462 </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle=__nav_20 type=checkbox id=__nav_20> <label class=md-nav__link for=__nav_20> Web开发 <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav aria-label=Web开发 data-md-level=1> <label class=md-nav__title for=__nav_20> <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> MIT web development course </a> </li> <li class=md-nav__item> <a href=../../Web%E5%BC%80%E5%8F%91/CS142/ class=md-nav__link> Stanford CS142: Web Applications </a> </li> <li class=md-nav__item> <a href=../../Web%E5%BC%80%E5%8F%91/fullstackopen/ class=md-nav__link> University of Helsinki: Full Stack open 2022 </a> </li> <li class=md-nav__item> <a href=../../Web%E5%BC%80%E5%8F%91/CS571/ class=md-nav__link> CS571 Building UI (React & React Native) </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle=__nav_21 type=checkbox id=__nav_21> <label class=md-nav__link for=__nav_21> 数据科学 <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav aria-label=数据科学 data-md-level=1> <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=../../%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/ class=md-nav__link> UCB Data100: Principles and Techniques of Data Science </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle=__nav_22 type=checkbox id=__nav_22> <label class=md-nav__link for=__nav_22> 人工智能 <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav aria-label=人工智能 data-md-level=1> <label class=md-nav__title for=__nav_22> <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%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/ class=md-nav__link> Harvard CS50's Introduction to AI with Python </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> UCB CS188: Introduction to Artificial Intelligence </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle=__nav_23 type=checkbox id=__nav_23> <label class=md-nav__link for=__nav_23> 机器学习 <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav aria-label=机器学习 data-md-level=1> <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%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/ class=md-nav__link> Coursera: Machine Learning </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> Stanford CS229: Machine Learning </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> UCB CS189: Introduction to Machine Learning </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle=__nav_24 type=checkbox id=__nav_24> <label class=md-nav__link for=__nav_24> 机器学习系统 <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav aria-label=机器学习系统 data-md-level=1> <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=../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/ class=md-nav__link> 智能计算系统 </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> CMU 10-414/714: Deep Learning Systems </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> Machine Learning Compilation </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle=__nav_25 type=checkbox id=__nav_25> <label class=md-nav__link for=__nav_25> 深度学习 <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav aria-label=深度学习 data-md-level=1> <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%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/ class=md-nav__link> Coursera: Deep Learning </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> 国立台湾大学:李宏毅机器学习 </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> Stanford CS231n: CNN for Visual Recognition </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> Stanford CS224n: Natural Language Processing </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> Stanford CS224w: Machine Learning with Graphs </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> UCB CS285: Deep Reinforcement Learning </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle" data-md-toggle=__nav_26 type=checkbox id=__nav_26> <label class=md-nav__link for=__nav_26> 机器学习进阶 <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav aria-label=机器学习进阶 data-md-level=1> <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%E8%BF%9B%E9%98%B6/roadmap/ class=md-nav__link> 进阶路线图 </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> CMU 10-708: Probabilistic Graphical Models </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> Columbia STAT 8201: Deep Generative Models </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> U Toronto STA 4273 Winter 2021: Minimizing Expectations </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> Stanford STATS214 / CS229M: Machine Learning Theory </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../%E5%90%8E%E8%AE%B0/ class=md-nav__link> 后记 </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=#_1 class=md-nav__link> 底层核心逻辑 </a> </li> <li class=md-nav__item> <a href=#_2 class=md-nav__link> 选择合适的笔记软件 </a> </li> <li class=md-nav__item> <a href=#_3 class=md-nav__link> 信息的来源 </a> <nav class=md-nav aria-label=信息的来源> <ul class=md-nav__list> <li class=md-nav__item> <a href=#_4 class=md-nav__link> 有什么格式 </a> </li> <li class=md-nav__item> <a href=#pdf-markdown class=md-nav__link> 怎么转换为 pdf 或 Markdown </a> </li> <li class=md-nav__item> <a href=#_5 class=md-nav__link> 如何统一管理信息来源 </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#_6 class=md-nav__link> 信息的处理 </a> <nav class=md-nav aria-label=信息的处理> <ul class=md-nav__list> <li class=md-nav__item> <a href=#_7 class=md-nav__link> 英文信息 </a> </li> <li class=md-nav__item> <a href=#_8 class=md-nav__link> 多媒体信息 </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#_9 class=md-nav__link> 信息的回顾 </a> </li> <li class=md-nav__item> <a href=#_10 class=md-nav__link> 总结 </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/pkuflyingpig/cs-self-learning/edit/master/docs/必学工具/workflow.md title=编辑此页 class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg> </a> <h1>日常学习工作流</h1> <blockquote> <p>Contributed by <a href=https://github.com/HardwayLinka>@HardwayLinka</a></p> </blockquote> <p>计算机领域的知识覆盖面很广并且更新速度很快,因此保持终身学习的习惯很重要。但在日常开发和学习的过程中,我们获取知识的来源相对复杂且细碎。有成百上千页的文档手册,也有寥寥数语的博客,甚至闲暇时手机上划过的某则新闻和公众号都有可能包含我们感兴趣的知识。因此,如何利用现有的各类工具,形成一套适合自己的学习工作流,将不同来源的知识碎片整合进属于自己的知识库,方便之后的查阅与复习,就显得尤为重要。经过两年工作之余的学习后,我磨合出了以下学习工作流:</p> <p><img alt src="https://raw.githubusercontent.com/HardwayLinka/image/master/Drawing 2022-10-20 11.23.41.excalidraw.png"></p> <h2 id=_1>底层核心逻辑</h2> <p>一开始我学习新知识时会参考中文博客但在代码实践时往往会发现漏洞和bug。我逐渐意识到我参考的信息可能是错误的毕竟发博客的门槛低文章可信度不高于是我开始查阅一些相关的中文书籍。 </p> <p>中文书籍的确是比较全面且系统地讲解了知识点,但众所周知,计算机技术更迭迅速,又因为老美在 CS 方面一直都是灯塔,所以一般中文书籍里的内容会滞后于当前最新的知识,导致我跟着中文书籍实践会出现软件版本差异的问题。这时我开始意识到一手信息的重要性,有些中文书籍是翻译英文书籍的,一般翻译一本书也要一两年,这会导致信息传递的延迟,还有就是翻译的过程中信息会有损失。如果一本中文书籍不是翻译的呢,那么它大概率也参考了其他书籍,参考的过程会带有对英文原著中语义理解的偏差。</p> <p>于是我就顺其自然地开始翻阅英文书籍。不得不说,英文书籍内容的质量整体是比中文书籍高的。后来随着学习的层层深入,以知识的时效性和完整性出发,我发现 <code>源代码</code> &gt; <code>官方文档</code> &gt; <code>英文书籍</code> &gt; <code>英文博客</code> &gt; <code>中文博客</code>,最后我得出了一张 <code>信息损失图</code></p> <p><img alt src=https://cdn.sspai.com/2022/10/11/bf07c1965a2e5bdf3f00644737789e2e.png></p> <p>虽然一手信息很重要,但后面的 N 手信息并非一无是处,因为这 N 手资料里包含了作者对源知识的转化——例如基于某种逻辑的梳理(流程图、思维导图等)或是一些自己的理解(对源知识的抽象、类比、延伸到其他知识点),这些转化可以帮助我们更快地掌握和巩固知识的核心内容,就如同初高中学习时使用的辅导书。 此外,学习的过程中和别人的交流十分重要,这些 N 手信息同时起了和其他作者交流的作用,让我们能采百家之长。所以这提示我们学习一个知识点时先尽量选择质量更高的,信息损失较少的信息源,同时不妨参考多个信息源,让自己的理解更加全面准确。</p> <p>现实工作生活中的学习很难像学校里一样围绕某个单一知识点由浅入深,经常会在学习过程中涉及到其他知识点,比如一些新的专有名词,一篇没有读过的经典论文,一段未曾接触过的代码等等。这就要求我们勤于思考,刨根究底地“递归”学习,给多个知识点之间建立联系。</p> <h2 id=_2>选择合适的笔记软件</h2> <p>工作流的骨架围绕 <code>单个知识点多参考源,勤于提问给多个知识点之间建立联系</code> 的底层核心逻辑建立。我们写论文其实就是遵循这个底层逻辑的。论文一般会有脚注去解释一些关键字,并且论文末尾会有多个参考的来源,但是我们平时写笔记会随意得多,因此需要更灵活的方式。</p> <p>平时写代码习惯在 IDE 里一键跳转,把相关的函数和实现很好地联系在了一起。你也许会想,如果笔记也能像代码那样可以跳转就好了。现在市面上 <code>双链笔记软件</code> 就可以很好地解决这一痛点,例如 Roam Research、Logseq、Notion 和 Obsidian。Roam Research 和 Logseq 都是基于大纲结构的笔记软件,而 <code>大纲结构</code> 是劝退我使用这两款软件的原因。一是 <code>大纲结构</code> 做笔记容易使文章纵向篇幅太长二是如果嵌套结构过多会占横向的篇幅。Notion 页面打开慢,弃之。最终我选择了 Obsidian原因如下</p> <ul> <li>Obsidian 基于本地,打开速度快,且可存放很多电子书。我的笔记本是 32g 内存的华硕天选一代,拿来跑 Obsidian 可以快到飞起</li> <li>Obsidian 基于 Markdown。这也是一个优势如果笔记软件写的笔记格式是自家的编码格式那么不方便其他第三方拓展也不方便将笔记用其他软件打开比如 qq 音乐下载歌曲有自己的格式,其他播放器播放不了,这挺恶心人的</li> <li>Obsidian 有丰富的插件生态,并且这个生态既大又活跃,即插件数量多,且热门插件的 star 多,开发者会反馈用户 issue版本会持续迭代。借助这些插件可以使 Osidian 达到 <code>all in one</code> 的效果,即各类知识来源可以统一整合于一处</li> </ul> <h2 id=_3>信息的来源</h2> <p>Obsidian 的插件使其可以支持 pdf 格式,而其本身又支持 Markdown 格式。如果想要 <code>all in one</code>,那么可以基于这两个格式,将其他格式文件转换为 pdf 或者 Markdown。 那么现在就面临着两个问题:</p> <ul> <li>有什么格式</li> <li>怎么转换为 pdf 或 Markdown</li> </ul> <p><img alt src=https://cdn.sspai.com/2022/10/11/3801b1c9b94286566fe677e3b12cc7b0.png></p> <h3 id=_4>有什么格式</h3> <p>文件格式依托于其展示的平台,所以在看有什么格式之前,可以罗列一下我平时获取信息的来源:</p> <p><img alt src=https://cdn.sspai.com/2022/10/11/07e97f372850054958d4961a3787a93f.png></p> <p>可以看到主要分为<code>文章</code><code>论文</code><code>电子书</code><code>课程</code>四类,包含的格式主要有 <code>网页</code><code>pdf</code><code>mobi</code><code>azw</code><code>azw3</code></p> <h3 id=pdf-markdown>怎么转换为 pdf 或 Markdown</h3> <p>在线的文章和课程等大多以网页形式呈现,而将网页转换为 Markdown 可以使用剪藏软件,它可以将网页文章转换为多种文本格式文件。我选择的工具是简悦,使用简悦可以将几乎所有平台的文章很好地剪藏为 Markdown 并且导入到 Obsidian。</p> <p><img alt src=https://cdn.sspai.com/2022/10/11/211cffa78f20a9e7286a7419e9e0b878.png></p> <p>对于论文和电子书而言如果格式本身就是 pdf 则万事大吉,但如果是其他格式则可以使用 calibre 进行转换:</p> <p><img alt src=https://cdn.sspai.com/2022/10/11/51575f65f6f4c6edfa6c5b97fd16d625.png></p> <p>现在利用 Obsidian 的 pdf 插件和其原生的 markdown 支持就可以畅快无比地做笔记并且在这些文章的对应章节进行无缝衔接地引用跳转啦(具体操作参考下文的“信息的处理”模块)。</p> <p><img alt src=https://cdn.sspai.com/2022/10/11/d64a9a2d6406d2d367dcb505ede69c83.png></p> <h3 id=_5>如何统一管理信息来源</h3> <p>对于 pdf 等文件类资源可以本地或者云端存储,而网页类资源则可以分门别类地放入浏览器的收藏夹,或者剪藏成 markdown 格式的笔记,但是网页浏览器不能实现移动端的网页收藏。为了实现跨端网页收藏我选用了 Cubox在手机端看到感兴趣的网页时只需小手一划便能将网页统一保存下来。虽然免费版只能收藏 100 个网页,但其实够用了,还可以在收藏满时督促自己赶紧剪藏消化掉这些网页,让收藏不吃灰。</p> <p><img alt src=https://cdn.sspai.com/2022/10/11/ad7ebfcb4619f64a41d328b88e0e3a12.png></p> <p>除此之外,回想一下我们平时收藏的网页,就会发现有很多并不是像知乎、掘金这类有完整功能的博客平台,更多的是个人建的小站,而这些小站往往没有移动端应用,这样平时刷手机的时候也看不到,放到浏览器的收藏夹里又容易漏了看,有新文章发布我们也不能第一时间收到通知,这个时候就需要一种叫 <code>RSS</code> 的通信协议。 </p> <p><code>RSS</code>英文全称RDF Site Summary 或 Really Simple Syndication中文译作简易信息聚合也称聚合内容是一种消息来源格式规范用以聚合多个网站更新的内容并自动通知网站订阅者。电脑端可以借助 <code>RSSHub Radar</code> 来快速发现和生成 <code>RSS</code> 订阅源,接着使用 <code>Feedly</code> 来订阅这些 <code>RSS</code> 订阅源(<code>RSSHub Radar</code><code>Feedly</code> 在 chrome 浏览器中均有官方插件)。</p> <p><img alt src=https://cdn.sspai.com/2022/10/11/5df6cd9d967f190df35928e781f9185f.png></p> <p>到这里为止,收集信息的流程已经比较完备了。但资料再多,分类规整得再漂亮,也得真正内化成自己的才管用。因此在收集完信息后就得进一步地处理信息,即阅读这些信息,如果是英文信息的话还得搞懂英文的语义,加粗高亮重点句子段落,标记有疑问的地方,发散联想相关的知识点,最后写上自己的总结。那么在这过程中需要使用到什么工具呢?</p> <h2 id=_6>信息的处理</h2> <h3 id=_7>英文信息</h3> <p>面对英文的资料,我以前是用 <code>有道词典</code> 来划词翻译,遇到句子的话就使用谷歌翻译,遇到大段落时就使用 <code>deepl</code>,久而久之,发现这样看英语文献太慢了,得用三个工具才能满足翻译这一个需求,如果有一个工具能够同时实现对单词、句子和段落的划词翻译就好了。我联想到研究生们应该会经常接触英语文献,于是我就搜 <code>研究生</code> + <code>翻译软件</code>,在检索结果里我最终选择了 <code>Quicker</code> + <code>沙拉查词</code> 这个搭配来进行划词翻译。</p> <p><img alt src=https://cdn.sspai.com/2022/10/11/a7ebb1d3c46702b56bd6d171dfcfc075.png></p> <p>使用这套组合可以实现在浏览器外的其他软件内进行划词翻译并且支持单词、句子和段落的翻译以及每次的翻译会有多个翻译平台的结果。btw如果查单词时不着急的话可以顺便看看 <code>科林斯高阶</code> 的翻译,这个词典的优点就是会用英文去解释英文,可以提供多个上下文帮助你理解,对于学习英文单词也有帮助,因为用英文解释英文才更接近英语的思维。</p> <p><img alt src=https://cdn.sspai.com/2022/10/11/article/827c9a8048c83e504ccb15893702bf09></p> <h3 id=_8>多媒体信息</h3> <p>处理完文本类的信息后,我们还得思考一下怎么处理多媒体类的信息。此处的多媒体我特指英文视频,因为我没有用播客或录音学习的习惯,而且我已经基本不看中文教程了。现在很多国外名校公开课都是以视频的形式,如果能对视频进行做笔记会不会有帮助呢?不知道大家有没这样的想法,就是如果能把老师上课讲的内容转换成文本就好了,因为平时学习时我们看书的速度往往会比老师讲课的速度快。刚好 <code>Language Reactor</code> 这个软件可以将油管和网飞内视频的字幕导出来,同时附上中文翻译。</p> <p>我们可以把 <code>Language Reactor</code> 导出的字幕复制到 <code>Obsidian</code> 里面作为文章来读。除了出于学习的需求,也可以在平时看油管的视频时打开这个插件,这个插件可以同时显示中英文字幕,并且可以单击选中英文字幕中你认为生僻的单词后显示单词释义。</p> <p><img alt src=https://cdn.sspai.com/2022/10/11/364c8e6ed263affa84d9eee61338b4af.png></p> <p>但阅读文本对于一些抽象的知识点来说并不是效率最高的学习方式。俗话说,一图胜千言,能不能将某一段知识点的文本和对应的图片甚至视频画面操作联系起来呢?我在浏览 <code>Obsidian</code> 的插件市场时,发现了一个叫 <code>Media Extended</code> 的插件,这个插件可以在你的笔记里添加跳转到视频指定时间进度的链接,相当于把你的笔记和视频连接起来了!这刚好可以和我上文提到的生成视频中英文字幕搭配起来,即每一句字幕对应一个时间,并且能根据时间点跳转到视频的指定进度,如此一来如果需要在文章中展示记录了操作过程的视频的话,就不需要自己去截取对应的视频片段,而是直接在文章内就能跳转!</p> <p><img alt src=https://cdn.sspai.com/2022/10/11/17554cfdf662d5719ada453674012fdb.gif></p> <p><code>Obsidian</code> 里还有一个很强大的插件,叫 <code>Annotator</code>,它可以实现笔记内跳转到 pdf 原文</p> <p><img alt src=https://cdn.sspai.com/2022/10/11/article/b56994bf9a306830d8b0b8112677d3ec></p> <p>现在,使用 <code>Obsidian</code> 自带的双链功能,可以实现笔记间相互跳转,结合上述两个插件,可以实现笔记到多媒体的跳转,信息的处理过程已经完备。一般我们学习的过程相当于上山和下山,刚学的时候就好像上山,很陌生、吃力,所谓学而时习之,复习或练习的过程就像下山,没有陌生感,不见得轻松,但非走不可。那么如何把复习这一过程纳入工作流的环节里呢?</p> <h2 id=_9>信息的回顾</h2> <p><code>Obsidian</code> 内已经有一个连接 <code>Anki</code> 的插件,<code>Anki</code> 就是大名鼎鼎的、基于间隔重复的记忆软件。使用该插件可以截取笔记的片段导出到 <code>Anki</code> 并变成一张卡片,卡片内也有跳转回笔记原文的链接</p> <p><img alt src=https://cdn.sspai.com/2022/10/11/1f7cebd8dd28f664d77cbf0ab228c406.gif></p> <h2 id=_10>总结</h2> <p>这个工作流是在我这两年业余时间学习时所慢慢形成的,在学习过程中因为对一些重复性的过程而感到厌倦,正是这种厌倦产生了某种特定的需求,恰好在平时网上冲浪时了解到的一些工具满足了我这些需求。不要为了虚无的满足感而将工具强行拼凑到自己的工作流中,人生苦短,做实事最紧要。</p> <p>btw此篇文章是讲解工作流的演化思路如果对此工作流的实现细节感兴趣建议阅读完本文后再按顺序阅读以下文章</p> <ol> <li><a href=https://sspai.com/post/75969>3000 + 小时积累的学习工作流</a></li> <li><a href=https://juejin.cn/post/7145351315705577485>Obsidian 的高级玩法 | 打造能跳转到任何格式文件的笔记</a></li> </ol> <hr> <div class=md-source-date> <small> 最后更新: <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date">October 21, 2022</span> </small> </div> <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> <script>
var palette = __get("__palette")
if (palette && typeof palette.color === "object") {
if (palette.color.scheme === "slate") {
const giscus = document.querySelector("script[src*=giscus]")
giscus.setAttribute("data-theme", "dark_protanopia")
}
}
document.addEventListener("DOMContentLoaded", function () {
const ref = document.querySelector("[data-md-component=palette]")
ref.addEventListener("change", function () {
var palette = __get("__palette")
if (palette && typeof palette.color === "object") {
const theme = palette.color.scheme === "slate" ? "dark_protanopia" : "light_protanopia"
const frame = document.querySelector(".giscus-frame")
frame.contentWindow.postMessage({
giscus: { setConfig: { theme } }
}, "https://giscus.app")
}
})
})
</script> </article> </div> </div> <a href=# class="md-top md-icon" data-md-component=top data-md-state=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> Back to top </a> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../Scoop/ class="md-footer__link md-footer__link--prev" aria-label="上一页: Scoop" rel=prev> <div class="md-footer__button md-icon"> <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> </div> <div class=md-footer__title> <div class=md-ellipsis> <span class=md-footer__direction> 上一页 </span> Scoop </div> </div> </a> <a href=../tools/ class="md-footer__link md-footer__link--next" aria-label="下一页: 实用工具箱" rel=next> <div class=md-footer__title> <div class=md-ellipsis> <span class=md-footer__direction> 下一页 </span> 实用工具箱 </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright &copy; 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-footer-social> <a href=https://github.com/pkuflyingpig/cs-self-learning/ target=_blank rel=noopener title=github.com class=md-footer-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><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.fcfe8b6d.min.js", "translations": {"clipboard.copied": "\u5df2\u590d\u5236", "clipboard.copy": "\u590d\u5236", "search.config.lang": "ja", "search.config.pipeline": "trimmer, stemmer", "search.config.separator": "[\\uff0c\\u3002]+", "search.placeholder": "\u641c\u7d22", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "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": "Missing", "select.version.title": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.b1047164.min.js></script> </body> </html>