From 34cbc319796a5bee5126e087a69d6eed193d0069 Mon Sep 17 00:00:00 2001 From: rjun Date: Fri, 19 Apr 2024 00:14:58 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/careers/Interview.md | 4 ++ .../IntroductionToComputerScience.md | 5 ++ docs/fundamentals/OperatingSystem.md | 5 ++ .../ProgrammingLanguages.md | 8 +-- docs/index.md | 4 +- docs/stylesheets/extra.css | 2 +- docs/toolkits/DevelopmentTools.md | 8 ++- docs/web/Backend.md | 33 ++++++++++++ docs/web/Beginning.md | 16 ++++++ docs/web/Frontend.md | 51 +++++++++++++++++++ mkdocs.yml | 39 +++++++++++--- 11 files changed, 159 insertions(+), 16 deletions(-) create mode 100644 docs/careers/Interview.md create mode 100644 docs/fundamentals/IntroductionToComputerScience.md create mode 100644 docs/fundamentals/OperatingSystem.md rename docs/{ => fundamentals}/ProgrammingLanguages.md (83%) create mode 100644 docs/web/Backend.md create mode 100644 docs/web/Beginning.md create mode 100644 docs/web/Frontend.md diff --git a/docs/careers/Interview.md b/docs/careers/Interview.md new file mode 100644 index 0000000..089df66 --- /dev/null +++ b/docs/careers/Interview.md @@ -0,0 +1,4 @@ +# Interview + +- [**LeetCode**](https://leetcode.com/problemset/all/) - 刷題工具 +- [**Coding Interview University**](https://github.com/jwasham/coding-interview-university) - Github 上自學教程,一個非本科生花八個月自學從網頁前端到成為 Amazon 軟體工程師 diff --git a/docs/fundamentals/IntroductionToComputerScience.md b/docs/fundamentals/IntroductionToComputerScience.md new file mode 100644 index 0000000..6a6893c --- /dev/null +++ b/docs/fundamentals/IntroductionToComputerScience.md @@ -0,0 +1,5 @@ +# Introduction to Computer Science + +- [CS50](https://www.edx.org/course/introduction-computer-science-harvardx-cs50x) - Harvard 大學知名課程 + +- [Computer Science](https://www.youtube.com/watch?v=tpIctyqH29Q&list=PL8dPuuaLjXtNlUrzyH5r6jN9ulIgZBpdo) - youtube 上介紹機算機科學的一系列影片,不少還挺有趣的 diff --git a/docs/fundamentals/OperatingSystem.md b/docs/fundamentals/OperatingSystem.md new file mode 100644 index 0000000..7c5b6d0 --- /dev/null +++ b/docs/fundamentals/OperatingSystem.md @@ -0,0 +1,5 @@ +# Operating System + +- [11010 清大周志遠教授 作業系統](https://ocw.nthu.edu.tw/ocw/index.php?page=course&cid=295&) + + - [11010 Youtube Playlist](https://youtube.com/playlist?list=PLS0SUwlYe8cxj8FCPRoPHAehIiN9Vo6VZ) diff --git a/docs/ProgrammingLanguages.md b/docs/fundamentals/ProgrammingLanguages.md similarity index 83% rename from docs/ProgrammingLanguages.md rename to docs/fundamentals/ProgrammingLanguages.md index 5ccf7c5..e45fc79 100644 --- a/docs/ProgrammingLanguages.md +++ b/docs/fundamentals/ProgrammingLanguages.md @@ -12,7 +12,8 @@ - [**Java Design Pattern**](https://java-design-patterns.com/patterns/) - [**Codecademy Learn Java**](https://www.codecademy.com/learn/learn-java) - Java 基礎,Lesson 部分免費,其他 Quiz、Projects 的部分要付費。 - [**OpenHome Java**](https://openhome.cc/zh-tw/java/) - 林信良老師(良葛格)撰寫的 Java 中文教材。我們永遠記得您的偉大... - - [**OpenHome Gossip 語言技術:Java Essence**](https://openhome.cc/Gossip/JavaEssence/) - 林信良老師(良葛格)撰寫的 Java 本質部分,「千萬別急著飛翔,卻忘了如何起步」 + + - [**OpenHome Gossip 語言技術:Java Essence**](https://openhome.cc/Gossip/JavaEssence/) - 林信良老師(良葛格)撰寫的 Java 本質部分,「千萬別急著飛翔,卻忘了如何起步」 ## C++ @@ -20,8 +21,9 @@ - [**OpenHome 語言技術:C++ Gossip**](https://openhome.cc/Gossip/CppGossip/index.html) - 林信良老師(良葛格)撰寫的 C++ 中文教材 - [**Standard C++ Library reference (cplusplus)**](https://cplusplus.com/reference/) - 英文標準函式庫文件 - [**CS106L Standard C++ Programming - Stanfard**](https://web.stanford.edu/class/cs106l/) - - [**Fall 2019 Youtube Playlist**](https://www.youtube.com/playlist?list=PLCgD3ws8aVdolCexlz8f3U-RROA0s5jWA) - Youtube 課程播放清單 - - [**Winter 2018 Course Website**](https://web.stanford.edu/class/archive/cs/cs106l/cs106l.1184/index.html) - 課程網站,有 slides 跟 assignments + + - [**Fall 2019 Youtube Playlist**](https://www.youtube.com/playlist?list=PLCgD3ws8aVdolCexlz8f3U-RROA0s5jWA) - Youtube 課程播放清單 + - [**Winter 2018 Course Website**](https://web.stanford.edu/class/archive/cs/cs106l/cs106l.1184/index.html) - 課程網站,有 slides 跟 assignments ## Python diff --git a/docs/index.md b/docs/index.md index 9fc5498..49a343e 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,8 +1,6 @@ # CS Resources -!!! Danger - - 🛠️ 網站大改版中 +!!! Danger "🛠️ 網站大改版中" ![Banner](./src/banner.png){ width="800" } diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index 88fe40c..6be20f9 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -9,5 +9,5 @@ .heart { animation: heart 1000ms infinite; /* color: dont use red*/ - color: #ca9400; + color: #ffbf2a; } \ No newline at end of file diff --git a/docs/toolkits/DevelopmentTools.md b/docs/toolkits/DevelopmentTools.md index f583e1b..4cbcd0d 100644 --- a/docs/toolkits/DevelopmentTools.md +++ b/docs/toolkits/DevelopmentTools.md @@ -45,7 +45,13 @@ - [**oh-my-zsh**](https://ohmyz.sh/) - zsh 開源框架,可以改主題、安裝套件。 - [**zsh-autosuggestions**](https://github.com/zsh-users/zsh-autosuggestions) - zsh 自動補全套件。 -## Verion Control +### SSH Agent + +- [**Terminus**](https://termius.com/) - 支援多種作業系統平台,連手機平板都有 App 版本。Student Developer Pack 有免費專業版。 + +- [**MobaXterm**](https://mobaxterm.mobatek.net/) + +## Version Control - [**Git**](https://gitforwindows.org/) diff --git a/docs/web/Backend.md b/docs/web/Backend.md new file mode 100644 index 0000000..2710632 --- /dev/null +++ b/docs/web/Backend.md @@ -0,0 +1,33 @@ +# Backend Development + +- [**Backend Developer Roadmap**](https://roadmap.sh/backend) - 後端工程師的學習路線圖,從基礎到進階都有涵蓋,推薦先大概瀏覽一遍。 + +- [**成為看起來很強的後端 - Web 實驗室**](https://www.youtube.com/playlist?list=PLS5AiLcCHgNxd341NwuY9EOpVvY5Z8VOs) - 用很短的時間就可以了解到後端藍圖,老師講的非常前顯易懂,受益良多。 + +!!! Info + + 使用甚麼工具以及技術因專案需求、個人習慣等情況而異,以下僅是自己常用的工具與技術。 + +## Java Spring Boot + +- [**Spring Boot Official Documents**](https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/) + +- [**Spring Guides**](https://spring.io/guides) + +- [**Java Design Pattern**](https://java-design-patterns.com/) + +- [**JaCoCo**](https://www.eclemma.org/jacoco/) - 程式碼覆蓋率工具,用來檢查測試覆蓋率很方便。 + + - 使用教學 [如何在 Spring Boot 與 Maven 專案加入 JaCoCo 測試覆蓋率報告(VSCode)](https://blog.miniasp.com/post/2021/08/11/Spring-Boot-Maven-JaCoCo-Test-Coverage-Report-in-VSCode) + +## NodeJS + +- [**NodeJS Official**](https://nodejs.org/en) + +- [**ExpressJS**](https://nodejs.org/en) - NodeJS 的 Web 應用程式框架 + +## Web API Design + +- [**Guidelines for designing REST APIs at Cisco**](https://github.com/CiscoDevNet/api-design-guide#references) + +- [**marmelab/awesome-rest**](https://github.com/marmelab/awesome-rest) diff --git a/docs/web/Beginning.md b/docs/web/Beginning.md new file mode 100644 index 0000000..e457035 --- /dev/null +++ b/docs/web/Beginning.md @@ -0,0 +1,16 @@ +# Beginning + +!!! quote "工具一直再變動,但核心基礎知識不太會一直更迭" +!!! quote "要時時刻刻提醒自己不要盲目追求新工具,先學會走路才能飛得更遠" + +!!! tip "培養查閱官方文件的能力很重要,往往第二手教學資訊都需要等比較久" + +- [**MDN Web Docs**](https://developer.mozilla.org/zh-TW/) - 網頁開發開源文件與學習資源,當作學習資源與技術文件都很適合 + +- [**Cloudfare 學習中心**](https://www.cloudflare.com/zh-tw/learning/) - 有關網路安全和 Cloudflare 在網際網路上如何運作的相關學習資源 + +- [**University of Helsinki - Full Stack open 2022**](https://fullstackopen.com/en/) - 開放式全端教學,React、Testing、Server、GraphQL、TypeScript、CI/CD ...等等許多 Web 開發的知識都都錄在裡面 + +- [**2022 網頁開發全攻略(HTML, CSS, JavaScript, React, SQL, Node, more)**](https://www.udemy.com/course/html5-css3-z/) - Udemy 付費課程,初學者網頁開發中文教學,內容很豐富,推! + +!!! note "過去學習的紀錄 [2022-web-dev](https://github.com/xxrjun/2022-web-dev)" diff --git a/docs/web/Frontend.md b/docs/web/Frontend.md new file mode 100644 index 0000000..522d33d --- /dev/null +++ b/docs/web/Frontend.md @@ -0,0 +1,51 @@ +# Frontend + +- [Frontend Developer Roadmap](https://roadmap.sh/frontend) - 前端工程師的學習路線圖,從基礎到進階都有涵蓋,推薦先大概瀏覽一遍。 + +!!! Question "要先學哪一個框架" + + 個人認為看框架受歡迎、[討論度](https://gist.github.com/tkrotoff/b1caa4c3a185629299ec234d2314e190)、以及市場需求等方面來選擇是最簡便的方法 + +## ReactJS + +- React - FB 開發用來實作使用者介面的 JavaScript 函式庫,但大家都當它是框架(三大主流框架之一)。 + + - React Docs - 官方文檔 + - Overreacted - Dan Abramov (Redux 的作者、也是 React 核心開發成員) 的 Blog。個人覺得挺有趣的 + +## CSS Framework + +關於要用 Bootstrap 還是 TailwindCSS 有許多的(激烈的)討論,可以多上網看看或是參考參考這篇文章 該選 Tailwind CSS 還是 Bootstrap?框架比較讓你一次知道它們的優缺點! 不過最重要的還是將 CSS 學好,框架只是開發過程中的工具。 + +Bootstrap - 組件類型的 CSS 框架,兩大流行的前端開發工具之一 + +Bootstrap Docs - 官方文件檔 + +中文文件檔(六角學院譯) - 不一定是最新版本,請注意 + +TailwindCSS - Utility 類型的 CSS 框架,兩大流行的前端開發工具之一 + +TailwindCSS Docs - 被許多人抱怨難用的官方文件檔 + +Awesome TailwindCSS - GitHub Reop,許多跟 Tailwind CSS 有關的酷酷東西。 + +## NextJS + +!!! info "Frontend Framework" + +- Next.js Documentation + +## Cypress + +!!! info "Frontend Testing Framework" + +Cypress +SSCS Cypress E2E + +## Redux + +!!! info "狀態管理工具" + +- [**Getting Started with Redux**] +- [**Getting Started | Redux Toolkit**] +- 持久化工具 GitHub - [**rt2zz/redux-persist**](https://github.com/rt2zz/redux-persist) persist and rehydrate a redux store diff --git a/mkdocs.yml b/mkdocs.yml index fbba296..01f3da5 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -23,12 +23,10 @@ theme: code: Roboto Mono text: Josefin Sans features: - - navigation.instant - content.tabs.link - - navigation.top - # - navigation.sections - navigation.path - - navigation.expand + # - navigation.sections + markdown_extensions: - abbr - attr_list @@ -52,11 +50,36 @@ nav: - Platforms: - Youtube Channels: platforms/YoutubeChannels.md - GitHub Repositories: platforms/GitHubRepositories.md - - Programming Languages: ProgrammingLanguages.md - - Web Development: WebDevelopment.md - # - Academic: Academic.md - # - 考研: 考研.md + - News: platforms/News.md + - Fundamentals: + - Introduction: fundamentals/IntroductionToComputerScience.md + - Programming Languages: fundamentals/ProgrammingLanguages.md + - Data Structures and Algorithms: fundamentals/DataStructuresAndAlgorithms.md + - Computer Networking: fundamentals/ComputerNetworking.md + - Operating Systems: fundamentals/OperatingSystems.md + - Compilers: fundamentals/Compilers.md + # - Databases: fundamentals/Databases.md + - Mathematics: + - Calculus: mathematics/Calculus.md + - Linear Algebra: mathematics/LinearAlgebra.md + # - Discrete Mathematics: mathematics/discrete-mathematics.md + # - Probability and Statistics: Mathematics/ProbabilityAndStatistics.md + - Web Development: + - Beginning: web/Beginning.md + - Frontend: web/Frontend.md + - Backend: web/Backend.md + - Machine Learning: machine-learning.md + - LLM: llm.md + - Specialized Fields: + - Data Science: specialized-fields/data-science.md + - Quantum Computing: specialized-fields/quantum-computing.md + # - DevOps: specialized-fields/devops.md + - Career: + - Graduate Entrance Examination: careers/graduate-entrance-examination.md + - Interview Preparation: careers/Interview.md + # - Resume and Portfolio: careers/resume-and-portfolio.md - My Setup: MySetup.md + # - About Me: AboutMe.md extra_css: - stylesheets/extra.css