cs-self-learning/Web开发/CS142/index.html

2274 lines
No EOL
56 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 rel="canonical" href="https://csdiy.wiki/Web%E5%BC%80%E5%8F%91/CS142/">
<link rel="icon" href="../../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.3.0, mkdocs-material-7.3.6">
<title>Stanford CS142: Web Applications - 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>
</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="#stanford-cs142-web-applications" 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">
Stanford CS142: Web Applications
</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>
<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="../../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--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
<label class="md-nav__link" for="__nav_3">
必学工具
<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_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="../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E7%BF%BB%E5%A2%99/" class="md-nav__link">
翻墙
</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">
Vim
</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">
Git
</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">
GitHub
</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">
GNU Make
</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">
CMake
</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">
LaTeX
</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">
Docker
</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">
实用工具箱
</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_5" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_5">
数学基础
<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_5">
<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_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%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, Patter 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_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="../../%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/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>
</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%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_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="../../%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/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_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="../../%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_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="../../%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_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="../../%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>
</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="../../%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_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="../../%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>
</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="../../%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_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="../../%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>
</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="../../%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_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="../../%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>
</ul>
</nav>
</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_19" type="checkbox" id="__nav_19" checked>
<label class="md-nav__link" for="__nav_19">
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_19">
<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="../mitweb/" class="md-nav__link">
MIT web development course
</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">
Stanford CS142: Web Applications
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
Stanford CS142: Web Applications
</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>
</ul>
</nav>
</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">
数据科学
<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_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="../../%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_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="../../%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>
<li class="md-nav__item">
<a href="../../%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CYJ/" class="md-nav__link">
智能计算系统
</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="../../%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_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%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_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%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>
</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/Web开发/CS142.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 id="stanford-cs142-web-applications">Stanford CS142: Web Applications</h1>
<h2 id="_1">课程简介</h2>
<ul>
<li>所属大学Stanford</li>
<li>先修要求:有一定的编程经验</li>
<li>编程语言JavaScript/HTML/CSS</li>
<li>课程难度:🌟🌟🌟🌟</li>
<li>预计学时100 小时</li>
</ul>
<p>斯坦福的 Web 应用开发课程,内容覆盖了 HTML, CSS, JavaScript, ReactJs, NodeJS, ExpressJS, Web安全等等。8 个 Project 会让你在实战中锻炼自己的 Web 开发技巧。</p>
<h2 id="_2">课程资源</h2>
<ul>
<li>课程网站:<a href="https://web.stanford.edu/class/cs142/index.html">https://web.stanford.edu/class/cs142/index.html</a></li>
<li>课程视频:<a href="https://web.stanford.edu/class/cs142/lectures.html">https://web.stanford.edu/class/cs142/lectures.html</a></li>
<li>课程教材:无</li>
<li>课程作业:<a href="https://web.stanford.edu/class/cs142/projects.html">https://web.stanford.edu/class/cs142/projects.html</a></li>
</ul>
<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"
data-lang="zh-CN"
data-loading="lazy"
crossorigin="anonymous"
async>
</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="../mitweb/" class="md-footer__link md-footer__link--prev" aria-label="上一页: MIT web development course" 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>
MIT web development course
</div>
</div>
</a>
<a href="../../%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/" class="md-footer__link md-footer__link--next" aria-label="下一页: UCB Data100: Principles and Techniques of Data Science" rel="next">
<div class="md-footer__title">
<div class="md-ellipsis">
<span class="md-footer__direction">
下一页
</span>
UCB Data100: Principles and Techniques of Data Science
</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>