├── .gitignore ├── docs ├── phrase │ ├── intro.md │ ├── be-going-to.md │ ├── used-to.md │ └── others.md ├── movies-tv │ ├── intro.md │ └── family-album-usa │ │ ├── episode17.md │ │ ├── episode19.md │ │ └── episode4.md ├── pronunciation │ ├── intro.md │ ├── thought-group.md │ ├── stress.md │ ├── liaison.md │ ├── phoneme.md │ └── phonetic-alphabet-classification.md ├── qa │ ├── intro.md │ ├── fe │ │ ├── css.md │ │ ├── security.md │ │ ├── micro-fe.md │ │ ├── fe-engineering.md │ │ ├── performance-optimization.md │ │ ├── monitor.md │ │ ├── cli.md │ │ ├── other.md │ │ └── lowcode.md │ ├── be │ │ ├── performance.md │ │ ├── devops.md │ │ ├── distributed-systems.md │ │ ├── architecture.md │ │ ├── nodejs.md │ │ ├── database.md │ │ └── security.md │ └── web3 │ │ ├── development-tools.md │ │ ├── contract-security.md │ │ ├── frontend-integration.md │ │ └── dapp-architecture.md ├── sentence-pattern │ ├── intro.md │ ├── sentence-elements.md │ ├── subordinate-clause.md │ └── sentence-types.md ├── .vitepress │ └── theme │ │ ├── index.ts │ │ ├── Layout.vue │ │ └── BackToTop.vue ├── grammar │ ├── might-may.md │ ├── intro.md │ ├── be-have-do.md │ ├── for-since-ago.md │ ├── no-none-notany.md │ ├── can-could.md │ ├── will-shall.md │ ├── too-either-neither.md │ ├── must-should-have-to.md │ ├── passive-voice.md │ ├── get.md │ ├── at-on-in.md │ ├── as-as-the-same-as.md │ ├── both-either-neither.md │ ├── go.md │ ├── infinitive-gerund.md │ └── part-of-speech.md ├── index.md ├── tense │ ├── intro.md │ ├── present-simple.md │ ├── past-continuous.md │ ├── past-simple.md │ ├── present-continuous.md │ ├── past-perfect.md │ ├── past-perfect-continuous.md │ ├── past-future-continuous.md │ ├── future-continuous.md │ ├── summary.md │ ├── past-future.md │ ├── future-perfect.md │ ├── present-perfect-continuous.md │ ├── past-future-perfect.md │ ├── future-simple.md │ ├── future-perfect-continuous.md │ ├── past-future-perfect-continuous.md │ └── present-perfect.md └── introduce.md ├── .vscode ├── extensions.json └── settings.json ├── .prettierrc.json ├── prompts ├── cursor.md ├── composition.md └── dialogue.md ├── package.json ├── .github └── workflows │ └── ci.yml └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | docs/.vitepress/cache 3 | dist -------------------------------------------------------------------------------- /docs/phrase/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 短语 3 | --- 4 | 5 | 介绍短语的知识 6 | -------------------------------------------------------------------------------- /docs/movies-tv/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 影视 3 | --- 4 | 5 | 分享影视的对话资源 6 | -------------------------------------------------------------------------------- /docs/pronunciation/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 发音 3 | --- 4 | 5 | 介绍发音相关的知识 6 | -------------------------------------------------------------------------------- /docs/qa/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 简介 3 | --- 4 | 5 | 一些关于面试、前端、后端相关的英语对话。 6 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["esbenp.prettier-vscode"] 3 | } 4 | -------------------------------------------------------------------------------- /docs/sentence-pattern/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 简介 3 | --- 4 | 5 | 这里主要介绍一些句型相关的知识。 6 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/prettierrc", 3 | "semi": false, 4 | "tabWidth": 2, 5 | "singleQuote": true, 6 | "printWidth": 120, 7 | "trailingComma": "all" 8 | } 9 | -------------------------------------------------------------------------------- /prompts/cursor.md: -------------------------------------------------------------------------------- 1 | 当我使用英语向你提问时: 2 | 3 | 1. 你需要先判断我的问题是否有语法错误: 4 | 5 | - 如果有错误,请指出错误之处 6 | - 说明正确的表达方式 7 | - 解释为什么这样更正确 8 | 9 | 2. 然后用英语回答我的问题 10 | 11 | 3. 如果我的问题没有语法错误: 12 | - 直接用英语回答问题 13 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.formatOnSave": true, 3 | "editor.defaultFormatter": "esbenp.prettier-vscode", 4 | "[markdown]": { 5 | "editor.formatOnSave": true, 6 | "editor.defaultFormatter": null 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/index.ts: -------------------------------------------------------------------------------- 1 | import DefaultTheme from 'vitepress/theme' 2 | import Layout from './Layout.vue' // 确保引入了自定义的 Layout 组件 3 | 4 | export default { 5 | ...DefaultTheme, 6 | Layout, // 使用自定义的 Layout 组件替换默认主题的 Layout 组件 7 | } 8 | -------------------------------------------------------------------------------- /prompts/composition.md: -------------------------------------------------------------------------------- 1 | ## 出题 2 | 3 | 请你提供一篇英文作文的题目,难度为中国高考英语作文的级别。你要提供详细的题目描述,包括背景、要求、字数要求等。题目要以 markdown 原文的形式提供给我。 4 | 5 | ## 批改 6 | 7 | 现在我根据你的题目写了一篇作文,你可以看看,然后告诉我你的评价和建议,注意作文难度为中国高考英语作文的级别。 8 | 9 | 1. 请使用 markdown diff 的方式对我的作文进行审查,可以提出修改意见,也可以提出其他建议。 10 | 2. 请以 10 分制的方式对我的作文进行评分,10 分为满分,0 分为零分。 11 | 3. 最后再根据题目写一篇范文。 12 | -------------------------------------------------------------------------------- /docs/grammar/might-may.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: might may 3 | --- 4 | 5 | # might may 6 | 7 | "might" 和 "may" 都是助动词,用于表示可能性,但它们的用法和含义有一些区别: 8 | 9 | "might":用于表示可能性,通常表示的可能性比 "may" 小。例如,"I might go to the party."(我可能会去参加派对。)这句话表示说话者去参加派对的可能性存在,但并不确定。 10 | 11 | "may":也用于表示可能性,但通常表示的可能性比 "might" 大。例如,"I may go to the party."(我可能会去参加派对。)这句话表示说话者去参加派对的可能性较大,但仍然不确定。 12 | 13 | **在语法上,这两个助动词后面都应该接动词的原形**。 14 | -------------------------------------------------------------------------------- /docs/grammar/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 语法 3 | --- 4 | 5 | 这里主要介绍一些语法相关的知识。 6 | 7 | ## 助动词 8 | 9 | 助动词是英语中的一种特殊动词,它们自身没有具体的意义,而是用来帮助主动词构建不同的时态、语态、语气等。常见的助动词包括 "be", "have", "do", "will", "shall", "would", "should", "can", "could", "may", "might" 等。 10 | 11 | 例如: 12 | 13 | - "be" 用于构建进行时和被动语态,如 "I am reading"(我正在读书)和 "The book was written by him"(这本书是他写的)。 14 | - "have" 用于构建完成时,如 "I have finished my homework"(我已经完成了我的作业)。 15 | - "will" 和 "shall" 用于构建将来时态,如 "I will go to the park tomorrow"(我明天会去公园)。 16 | 17 | 助动词是英语语法中非常重要的部分,理解和掌握助动词的用法对于学习英语非常有帮助。 18 | -------------------------------------------------------------------------------- /docs/grammar/be-have-do.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: be have do 3 | --- 4 | 5 | # be have do 6 | 7 | "be", "do", 和 "have" 是英语中的三个基本助动词,它们在不同的语境中有不同的用法: 8 | 9 | "be":**通常用于进行时态和被动语态**。例如,"I am reading a book"(我正在读一本书,进行时态)和 "The book was written by her"(这本书是她写的,被动语态)。 10 | 11 | "do":**通常用于一般现在时和一般过去时的疑问句和否定句**。例如,"Do you like apples?"(你喜欢苹果吗?)和 "I don't like apples"(我不喜欢苹果)。 12 | 13 | "have":**通常用于完成时态**。例如,"I have finished my homework"(我已经完成了我的作业,现在完成时)。 14 | 15 | 在实际使用中,你需要根据句子的时态和语态来选择使用哪个助动词。例如,如果你要表达一个正在进行的动作,你应该使用 "be";如果你要表达一个已经完成的动作,你应该使用 "have";如果你要形成一个疑问句或否定句,你应该使用 "do"。 16 | -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | # https://vitepress.dev/reference/default-theme-home-page 3 | layout: home 4 | 5 | hero: 6 | name: '自学英语' 7 | text: '分享我自学英语的过程' 8 | tagline: 学习英语的方法参考李笑来老师的《人人都能用英语》和二语习得理论 9 | actions: 10 | - theme: brand 11 | text: 查看我的学习笔记 12 | link: /introduce 13 | - theme: alt 14 | text: 《人人都能用英语》 15 | link: https://github.com/xiaolai/everyone-can-use-english 16 | 17 | features: 18 | - title: 对话 19 | details: 面试、工作中比较常见英语对话 20 | - title: 时态 21 | details: 关于时态的知识 22 | - title: 句型 23 | details: 关于句型的知识 24 | --- 25 | -------------------------------------------------------------------------------- /docs/grammar/for-since-ago.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: for since ago 3 | --- 4 | 5 | # for since ago 6 | 7 | 在英语中,"for", "since", 和 "ago" 都可以用来表示时间,但它们的用法和含义有所不同: 8 | 9 | "for" 用来表示一段时间的长度。例如:"I have lived here for 2 years."(我在这里住了2年。) 10 | 11 | "since" 用来表示从某个时间点开始一直到现在。例如:"I have lived here since 2019."(我从2019年开始住在这里。) 12 | 13 | "ago" 用来表示从现在往前推的某个时间点。例如:"I moved here 2 years ago."(我两年前搬到这里。) 14 | 15 | 总的来说,"for" 和 "since" 通常用在现在完成时中,表示从过去某个时间开始一直持续到现在的动作或状态,而 "ago" 则用在一般过去时中,表示在过去某个时间点发生的动作或状态。 16 | 17 | 什么时候使用 "for" 和 "since",一个简单的区分方法是看后面跟的是时间段还是时间点。如果是时间段,就用 "for";如果是时间点,就用 "since"。 18 | -------------------------------------------------------------------------------- /docs/grammar/no-none-notany.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: no none not-any 3 | --- 4 | 5 | # no none not-any 6 | 7 | "not any", "no", 和 "none" 都是英语中的否定形式,它们的用法和含义有一些细微的差别。 8 | 9 | - not any:通常用于否定句中,表示"没有任何"。例如,"I do not have any apples."(我没有任何苹果。) 10 | - no:也用于否定句中,表示"没有",通常用于名词前。例如,"I have no apples."(我没有苹果。) 11 | - none:通常用作代词,表示"没有一个"或"没有任何人/事物"。例如,"I have three apples. You want one?" "No, none for me, thanks."(我有三个苹果。你要一个吗?不,我不要,谢谢。) 12 | 13 | 在语法形式上,"not any" 通常用于否定句中,后面跟可数名词复数或不可数名词;"no" 用于名词前,形成否定句;"none" 通常用作代词,可以单独使用,也可以跟of短语。 14 | 15 | 总的来说,这三个表达都有否定的含义,但是它们的用法和上下文有所不同。理解这些差别可以帮助你更准确地使用英语。 16 | -------------------------------------------------------------------------------- /docs/grammar/can-could.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: can could 3 | --- 4 | 5 | # can could 6 | 7 | "can" 和 "could" 都是助动词,用于表示能力或许可,但它们的用法和含义有一些区别: 8 | 9 | "can":用于表示现在的能力或许可。例如,"I can swim."(我会游泳。)这句话表示说话者现在有游泳的能力。另一个例子,"Can I use your phone?"(我可以用你的手机吗?)这句话是在请求现在的许可。 10 | 11 | "could":一方面,它是 "can" 的过去式,用于表示过去的能力或许可。例如,"I could swim when I was a child."(我小时候会游泳。)这句话表示说话者小时候有游泳的能力。另一方面,"could" 也可以用于表示对未来的可能性或许可,但比 "can" 更加委婉。例如,"Could I use your phone?"(我可以用你的手机吗?)这句话是在委婉地请求许可。 12 | 13 | **在语法上,这两个助动词后面都应该接动词的原形**。 14 | 15 | 总的来说,"can" 和 "could" 主要用于表示能力或许可,但 "could" 既可以表示过去,也可以表示对未来的可能性或许可,并且比 "can" 更加委婉。 16 | -------------------------------------------------------------------------------- /docs/grammar/will-shall.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: will shall 3 | --- 4 | 5 | # will shall 6 | 7 | "will" 和 "shall" 都是英语中的助动词,主要用于构建将来时态,表示将要发生的动作或事件。 8 | 9 | "will" 在现代英语中的使用较为常见,用于表示将来的意愿、决定、预测或承诺。例如: 10 | 11 | - "I will go to the park tomorrow."(我明天会去公园。) 12 | - "It will probably rain later."(可能会下雨。) 13 | 14 | "shall" 在现代英语中的使用较少,主要在一些正式或老式的英语中使用,或者在提出建议或询问意见时使用。例如: 15 | 16 | - "Shall we go to the cinema?"(我们去看电影吗?) 17 | - "We shall overcome."(我们将会克服。) 18 | 19 | 在某些情况下,"shall" 和 "will" 可以互换使用,但在某些特定的语境中,它们的含义可能会有所不同。 20 | 21 | ## 和 "be going to" 的区别 22 | 23 | "will" 和 "shall" 更多的是用于表示将来的意愿或决定,而 "be going to" 更多的是用于表示已经计划好的将来行动。 24 | -------------------------------------------------------------------------------- /docs/grammar/too-either-neither.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: too either neither 3 | --- 4 | 5 | # too either neither 6 | 7 | "too", "either", 和 "neither" 都是英语中的副词,它们的含义和用法有所不同: 8 | 9 | "too":通常用于表示"也"或"过度"。例如,"I like pizza, too."(我也喜欢披萨。)或 "This book is too expensive."(这本书太贵了。) 10 | 11 | "either":在否定句中用于表示"也不"。例如,"I don't like pizza, either."(我也不喜欢披萨。) 12 | 13 | "neither":用于表示"两者都不"。例如,"Neither John nor Mary is available."(约翰和玛丽都不在。) 14 | 15 | 在语法上,"too" 通常放在句子的末尾,"either" 也通常放在否定句的末尾,而 "neither" 则可以用在句首或与 "nor" 连用。 16 | 17 | 总的来说,"too", "either", 和 "neither" 都是副词,用于表示一种相似或对比的关系,但它们的语境和含义不同。"too" 和 "either" 都可以表示"也",但 "too" 用在肯定句中,"either" 用在否定句中;"neither" 则用于表示"两者都不"。 18 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "self-learnning-english", 3 | "version": "1.0.0", 4 | "description": "Record My English Self-Learning Journey.", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "dev": "vitepress dev docs", 9 | "build": "vitepress build docs", 10 | "preview": "vitepress preview docs", 11 | "format": "prettier --write \"**/*.{js,ts,sol,json,md}\"" 12 | }, 13 | "keywords": [], 14 | "author": "", 15 | "license": "ISC", 16 | "devDependencies": { 17 | "prettier": "^3.2.5", 18 | "vitepress": "^1.2.0" 19 | }, 20 | "dependencies": { 21 | "vue": "^3.4.27" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /docs/tense/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 时态 3 | --- 4 | 5 | 介绍时态的知识 6 | 7 | ## 过去分词和现在分词 8 | 9 | 在英语语法中,过去分词和现在分词是动词的两种形式,它们可以用于构成不同的时态,也可以用作形容词或名词。 10 | 11 | 过去分词:通常表示被动或完成。过去分词的构成通常是在动词原形后面加 -ed,但也有一些不规则动词的过去分词形式需要记忆。例如: 12 | 13 | - "The door is closed."(门被关上了。)在这个例子中,"closed" 是动词 "close" 的过去分词,用作形容词表示状态。 14 | - "I have finished my work."(我已经完成了我的工作。)在这个例子中,"finished" 是动词 "finish" 的过去分词,用于构成现在完成时。 15 | - "The window has been broken."(窗户被打破了。)在这个例子中,"broken" 是动词 "break" 的过去分词,用作形容词表示状态。 16 | 17 | 现在分词:通常表示进行或者动作的主动。现在分词的构成是在动词原形后面加 -ing。例如: 18 | 19 | - "The water is boiling."(水正在煮沸。)在这个例子中,"boiling" 是动词 "boil" 的现在分词,用作形容词表示状态。 20 | - "I am reading a book."(我正在读一本书。)在这个例子中,"reading" 是动词 "read" 的现在分词,用于构成现在进行时。 21 | 22 | 这两种分词形式在英语中有很多用途,包括构成时态、形容词、名词,以及被动语态等。 23 | -------------------------------------------------------------------------------- /docs/grammar/must-should-have-to.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: must should have-to 3 | --- 4 | 5 | # must should have-to 6 | 7 | "must", "should", 和 "have to" 都是英语中的助动词,它们的含义和用法有所不同: 8 | 9 | "must":用于表示必须做的事情或者非常确定的事情。例如,"You must finish your homework."(你必须完成你的作业。)这句话表示有一个强制性的要求。 10 | 11 | "should":用于表示建议或者期望的事情。例如,"You should eat healthy food."(你应该吃健康的食物。)这句话表示一个建议。 12 | 13 | "have to":用于表示必须做的事情,但通常表示的是由于某种外部原因或规定而必须做的事情。例如,"You have to wear a seatbelt when you drive."(你开车时必须系安全带。)这句话表示一个规定。 14 | 15 | **在语法上,这三个助动词后面都应该接动词的原形**。例如,我们说 "You must go" 而不是 "You must goes",说 "He should try" 而不是 "He should tries",说 "They have to work" 而不是 "They have to works"。 16 | 17 | 总的来说,"must", "should", 和 "have to" 都是助动词,用于表示必须做的事情或者建议,但它们的强制性程度和语境不同。"must" 的强制性最强,"should" 的强制性较弱,"have to" 则通常表示由于某种外部原因或规定而必须做的事情。 18 | -------------------------------------------------------------------------------- /docs/tense/present-simple.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 一般现在时 3 | --- 4 | 5 | # 一般现在时 (Present Simple) 6 | 7 | < ----------- I do ---------- > 8 | 9 | past -------- now -------- future 10 | 11 | ↑ 12 | 一般性动作或状态 13 | 14 | 这种时态主要用于描述一般性的事实、习惯、常态或者重复发生的动作。 15 | 16 | 17 | ## 语法形式 18 | 19 | - **肯定句**:主语 + 动词的基本形式(第三人称单数需要加 -s 或 -es) 20 | 21 | - They read a lot. 22 | - I work in a shop. My broter works in a bank. 23 | - It rains a lot in winter. 24 | 25 | - **否定句**:主语 + do/does/work/like/read... + not 26 | 27 | - They don't read a lot. 28 | - I don't work in a shop. My broter doesn't work in a bank. 29 | - It doesn't rain a lot in winter. 30 | 31 | ## always/never/often/sometimes/usually + present simple 32 | 33 | - Sue **always arrives** at work early. 34 | - I **usually go** to work by car but sometimes I walk. 35 | - Julia **never eats** breakfast. 36 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: GitHub Actions Build and Deploy 2 | on: 3 | push: 4 | branches: 5 | - main 6 | jobs: 7 | build-and-deploy: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: Checkout 11 | uses: actions/checkout@v2.3.1 12 | with: 13 | persist-credentials: false 14 | - name: Install pnpm 15 | run: | 16 | npm install -g pnpm 17 | - name: Install and Build 18 | run: | 19 | pnpm install --lockfile 20 | pnpm build 21 | - name: Deploy 22 | uses: JamesIves/github-pages-deploy-action@3.7.1 23 | with: 24 | GITHUB_TOKEN: ${{ secrets.SELF_LEARNING_ENGLISH }} 25 | BRANCH: master 26 | FOLDER: docs/.vitepress/dist 27 | CLEAN: true 28 | REPOSITORY_NAME: woai3c/woai3c.github.io 29 | TARGET_FOLDER: self-learning-english -------------------------------------------------------------------------------- /docs/qa/fe/css.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: CSS 3 | --- 4 | 5 | 1. [Why do we need to initialize CSS styles?](#why-do-we-need-to-initialize-css-styles) 6 | 7 | ## Why do we need to initialize CSS styles? 8 | 9 | Well, we need to initialize CSS styles mainly because of browser compatibility issues. You know, different browsers have different default values for some HTML tags. If we don't initialize the CSS, the same page might look different across browsers. So what we usually do is remove default styles like margins and padding from tags, and set up default font sizes and font families. This way, we can make sure our pages look consistent no matter which browser people are using. 10 | 11 |
12 | 查看中文 13 | 为什么要初始化CSS样式? 14 | 15 | 因为浏览器的兼容性问题,在不同浏览器中有些标签的默认值是不同的。如果没有对 CSS 进行初始化,那么页面在不同的浏览器之间显示可能会有差异。一般常用的初始化样式操作是去掉标签的默认样式,比如 margin 和 padding,设置默认的字体大小和字体等,以便在不同浏览器中显示效果一致。 16 | 17 |
18 | -------------------------------------------------------------------------------- /docs/tense/past-continuous.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 过去进行时 3 | --- 4 | 5 | # 过去进行时 (Past Continuous) 6 | 7 | past -------- now -------- future 8 | 9 | ↑
10 | 过去正在进行的动作 11 | 12 | 这种时态用于描述在过去某个特定时间点或时间段正在进行的动作或状态。 13 | 14 | 过去进行时的构成是:主语 + was/were + 动词的现在分词(即动词+ing)。 15 | 16 | 3.00 ------------------------- > 4.00 --------------------- > 4.30 ----------- > now 6.00 17 | 18 | began playing< ---------she was playing---------- >stopped playing 19 | 20 | ## 语法形式 21 | 22 | - **肯定句**:主语 + was/were + 动词的现在分词 23 | 24 | - I was playing. 25 | - She was playing. 26 | 27 | - **否定句**:主语 + was/were not + 动词的现在分词 28 | 29 | - I wasn't playing. 30 | - She wasn't playing. 31 | 32 | ## 一般过去时和过去进行时的区别 33 | 34 | 一般过去时强调动作的完成,而过去进行时强调动作的进行。 35 | 36 | 举例: 37 | A: What **did** you **do** yesterday morning? 38 | B: We **played** tennis.(from 10 to 11.30) 39 | 40 | A: What **were** you **doing** at 10.30? 41 | B: We **were playing** tennis. 42 | -------------------------------------------------------------------------------- /docs/qa/be/performance.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 性能优化与缓存 3 | --- 4 | 5 | ## How did you implement caching in your backend systems? 6 | 7 | I noticed you mentioned using Redis for caching hot data in your projects. Could you walk me through your caching strategy? How did you decide what to cache, and how did you handle cache invalidation? 8 | 9 |
10 | 查看中文 11 | 你是如何在后端系统中实现缓存的? 12 | 13 | 我注意到你提到在项目中使用 Redis 缓存热点数据。你能详细讲解一下你的缓存策略吗?你如何决定缓存什么内容,以及如何处理缓存失效问题? 14 | 15 |
16 | 17 | ## What performance optimizations did you implement that had the biggest impact? 18 | 19 | You mentioned a 40% response time improvement in your Matrix Layer Protocol project. What specific optimizations contributed most to this improvement? How did you measure and validate these performance gains? 20 | 21 |
22 | 查看中文 23 | 你实施的哪些性能优化产生了最大的影响? 24 | 25 | 你提到在 Matrix Layer Protocol 项目中使响应时间降低了 40%。哪些具体的优化对这一改进贡献最大?你如何测量和验证这些性能提升? 26 | 27 |
28 | -------------------------------------------------------------------------------- /docs/qa/be/devops.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: DevOps与监控 3 | --- 4 | 5 | ## How did you implement the CI/CD pipeline for your projects? 6 | 7 | I notice you built CI/CD pipelines and automated testing systems. Could you walk me through your approach to DevOps? What tools did you use, and how did you structure your pipelines to ensure code quality and smooth deployments? 8 | 9 |
10 | 查看中文 11 | 你是如何为你的项目实现CI/CD流水线的? 12 | 13 | 我注意到你构建了CI/CD流水线和自动化测试系统。你能介绍一下你的DevOps方法吗?你使用了哪些工具,以及你如何构建流水线以确保代码质量和顺利部署? 14 | 15 |
16 | 17 | ## Could you explain your containerization and orchestration strategy? 18 | 19 | Your resume mentions Docker containerization and Kubernetes orchestration. How did you approach containerizing applications and managing them with K8s? What was your strategy for automating deployments to Kubernetes? 20 | 21 |
22 | 查看中文 23 | 你能解释一下你的容器化和编排策略吗? 24 | 25 | 你的简历提到Docker容器化和Kubernetes编排。你是如何处理应用程序容器化并使用K8s管理它们的?你自动部署到Kubernetes的策略是什么? 26 | 27 |
28 | -------------------------------------------------------------------------------- /docs/qa/be/distributed-systems.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 分布式系统 3 | --- 4 | 5 | ## How did you ensure reliable communication between microservices in your projects? 6 | 7 | In your Matrix Layer Protocol project, you mentioned using AWS SQS for reliable communication between services. Could you explain your overall strategy for inter-service communication and how you handled potential failures? 8 | 9 |
10 | 查看中文 11 | 在你的项目中,你如何确保微服务之间的可靠通信? 12 | 13 | 在你的 Matrix Layer Protocol 项目中,你提到使用 AWS SQS 实现服务间可靠通信。你能解释一下你的服务间通信整体策略以及如何处理潜在的故障吗? 14 | 15 |
16 | 17 | ## Tell me about your experience with scaling distributed systems 18 | 19 | Based on your experience with microservices and high-concurrency systems, what approaches have you found most effective for scaling distributed applications? What metrics do you monitor to identify scaling needs? 20 | 21 |
22 | 查看中文 23 | 讲讲你在扩展分布式系统方面的经验 24 | 25 | 基于你在微服务和高并发系统方面的经验,你发现哪些方法对扩展分布式应用最有效?你会监控哪些指标来确定扩展需求? 26 | 27 |
28 | -------------------------------------------------------------------------------- /docs/qa/be/architecture.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 架构设计 3 | --- 4 | 5 | ## Can you explain the microservices architecture you implemented at Matrix Layer Protocol? 6 | 7 | I see from your resume that you designed a microservice architecture for the Matrix Layer Protocol project. Could you walk me through how you structured it and why you chose that approach? 8 | 9 |
10 | 查看中文 11 | 你能解释一下你在 Matrix Layer Protocol 项目中实现的微服务架构吗? 12 | 13 | 我看你简历上提到你为 Matrix Layer Protocol 项目设计了微服务架构。你能详细介绍一下你是如何构建这个架构的,以及为什么选择这种方法? 14 | 15 |
16 | 17 | ## What are the key challenges in designing backend architecture for blockchain applications? 18 | 19 | Based on your experience building the digital asset verification system, what unique architectural challenges did you face when integrating blockchain functionality with traditional backend services? How did you solve them? 20 | 21 |
22 | 查看中文 23 | 设计区块链应用的后端架构有哪些关键挑战? 24 | 25 | 基于你构建数字资产确权系统的经验,在将区块链功能与传统后端服务集成时,你面临了哪些独特的架构挑战?你是如何解决这些问题的? 26 | 27 |
28 | -------------------------------------------------------------------------------- /docs/qa/be/nodejs.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Node.js与框架 3 | --- 4 | 5 | ## How did you leverage Nest.js features in your microservices architecture? 6 | 7 | I noticed you used Nest.js for your backend services. Could you explain what specific features of Nest.js were most valuable for your microservices architecture and why you chose it over other Node.js frameworks? 8 | 9 |
10 | 查看中文 11 | 你是如何在微服务架构中利用 Nest.js 的特性的? 12 | 13 | 我注意到你使用 Nest.js 构建后端服务。你能解释一下 Nest.js 的哪些特性对你的微服务架构最有价值,以及为什么你选择它而不是其他 Node.js 框架? 14 | 15 |
16 | 17 | ## How did you handle error management and logging in your Node.js applications? 18 | 19 | I see you implemented a distributed logging system with Winston and Logtail. Could you share your approach to error handling and logging in production Node.js applications? How did this help with troubleshooting issues? 20 | 21 |
22 | 查看中文 23 | 你是如何在 Node.js 应用中处理错误管理和日志记录的? 24 | 25 | 我看到你使用 Winston 和 Logtail 实现了分布式日志系统。你能分享一下你在生产环境 Node.js 应用中处理错误和日志的方法吗?这对解决问题有什么帮助? 26 | 27 |
28 | -------------------------------------------------------------------------------- /docs/qa/be/database.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 数据库与ORM 3 | --- 4 | 5 | ## How did you optimize database performance in your high-traffic applications? 6 | 7 | Looking at your experience with PostgreSQL and MongoDB, could you tell me about some specific database optimizations you implemented? Maybe focus on connection pooling, query optimization, or any other techniques that made a significant impact on performance. 8 | 9 |
10 | 查看中文 11 | 你是如何在高流量应用中优化数据库性能的? 12 | 13 | 看到你有 PostgreSQL 和 MongoDB 的经验,你能告诉我一些你实施的具体数据库优化方法吗?可以重点介绍一下连接池、查询优化或者其他对性能有显著影响的技术。 14 | 15 |
16 | 17 | ## What's your experience with TypeORM? How does it compare to other ORMs you've used? 18 | 19 | I see you used TypeORM with PostgreSQL in your projects. Could you explain why you chose TypeORM specifically? Have you used other ORMs before, and how would you compare them? 20 | 21 |
22 | 查看中文 23 | 你使用 TypeORM 的经验是什么?与你使用过的其他 ORM 相比如何? 24 | 25 | 我看到你在项目中使用了 TypeORM 和 PostgreSQL。你能解释一下为什么特别选择 TypeORM 吗?你之前用过其他 ORM 吗,你怎么比较它们之间的差异? 26 | 27 |
28 | -------------------------------------------------------------------------------- /docs/qa/be/security.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 权限与安全 3 | --- 4 | 5 | ## How did you implement authentication and authorization in your backend applications? 6 | 7 | I see you implemented JWT authentication and RBAC-based permission systems. Could you explain your approach to security in your backend applications? What measures did you take to protect sensitive data and prevent unauthorized access? 8 | 9 |
10 | 查看中文 11 | 你是如何在后端应用程序中实现身份验证和授权的? 12 | 13 | 我看到你实现了JWT身份认证和基于RBAC的权限系统。你能解释一下你在后端应用程序中的安全方法吗?你采取了哪些措施来保护敏感数据和防止未授权访问? 14 | 15 |
16 | 17 | ## Can you explain your multi-tenant resource isolation approach? 18 | 19 | You mentioned implementing fine-grained access control based on RBAC for your low-code platform. How did you design the multi-tenant isolation system? What considerations went into the resource inheritance mechanism and automatic user permission reclamation? 20 | 21 |
22 | 查看中文 23 | 你能解释一下你的多租户资源隔离方法吗? 24 | 25 | 你提到为低代码平台基于RBAC实现细粒度权限控制。你是如何设计多租户隔离系统的?在设计资源继承机制和用户权限自动回收功能时有哪些考虑? 26 | 27 |
28 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/Layout.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 45 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/BackToTop.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 33 | 34 | 62 | -------------------------------------------------------------------------------- /docs/qa/fe/security.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 安全 3 | --- 4 | 5 | 1. [How do you view front-end security? Can you share some of the security best practices you have implemented or consider important?](#how-do-you-view-front-end-security-can-you-share-some-of-the-security-best-practices-you-have-implemented-or-consider-important) 6 | 7 | ## How do you view front-end security? Can you share some of the security best practices you have implemented or consider important? 8 | 9 | You know, front-end pages are actually quite vulnerable to attacks - things like XSS and CSRF attacks can be pretty common. But there are several strategies we can use to handle these security issues. 10 | 11 | For example, deploying websites on HTTPS can prevent man-in-the-middle attacks. Also, we should never directly use user input in our front-end code - instead, we need to filter and escape that input to prevent XSS attacks. 12 | 13 | Another important practice is adding tokens to sensitive operations to prevent CSRF attacks. And using CSP (Content Security Policy) can help limit what resources a website can load, which is another way to prevent XSS attacks. 14 | 15 |
16 | 查看中文 17 | 您如何看待前端安全性?能否分享一些您实施的或认为重要的前端安全最佳实践? 18 | 19 | 前端页面其实很脆弱,很容易被攻击,比如 xss 攻击、csrf 攻击。我们可以通过一些策略来解决这些问题,例如网站要部署在 https,这样可以防止中间人攻击。然后在前端代码中不要直接使用用户输入的数据,要对用户输入的数据进行过滤和转义,这样可以防止 xss 攻击。还有要对一些敏感操作加上 token,这样可以防止 csrf 攻击。还有使用 csp,可以限制网站加载的资源,防止 xss 攻击。 20 | 21 |
22 | -------------------------------------------------------------------------------- /prompts/dialogue.md: -------------------------------------------------------------------------------- 1 | 我需要你提供一些程序员日常职场交流的对话,包括面试、需求讨论、技术交流、项目验收、团队合作、工作反馈、项目进度汇报、技术分享、团队活动等等。请按照下面的格式提供对话,谢谢! 2 | 3 | ```markdown 4 | ## [英文标题] 5 | 6 | [英文对话] 7 | 8 |
9 | 查看中文 10 | [中文标题] 11 | 12 | [中文对话] 13 | 14 |
15 | ``` 16 | 17 | 你提供的材料应该按照上面的 markdown 格式进行填充,标题以 `##` 开头,对话内容在英文标题下方,中文对话在中文标题下方。请确保你的对话内容是原创的,不要从其他地方复制粘贴。谢谢!然后材料要以 markdown 的格式提供给我。 18 | 19 | 为了帮助你更好的理解我的需求,现在按照上面的格式提供了一个示例: 20 | 21 | ```markdown 22 | ## Project Acceptance Meeting 23 | 24 | **Client**: I’ve reviewed the latest build and it looks good overall. A few minor tweaks here and there, but nothing major. 25 | 26 | **Project Manager**: Great to hear. Could you list the tweaks so we can address them before finalizing? 27 | 28 | **Client**: Sure, I’ll send over the details. Mainly visual adjustments and a couple of feature enhancements. 29 | 30 | **Project Manager**: Understood. We’ll get right on it. Any other feedback or concerns? 31 | 32 | **Client**: No, everything else seems fine. Looking forward to the final delivery next week. 33 | 34 | **Project Manager**: Excellent. We’ll ensure everything is polished and ready for delivery. Thank you for your feedback. 35 | 36 |
37 | 查看中文 38 | 项目验收会议 39 | 40 | **客户**: 我已经审查了最新的构建,整体看起来不错。有一些小调整,但没有什么大问题。 41 | 42 | **项目经理**: 听到这个消息很高兴。你能列出需要调整的地方吗,这样我们就可以在最终确定之前解决它们吗? 43 | 44 | **客户**: 当然,我会发送详细信息。主要是视觉调整和一些功能增强。 45 | 46 | **项目经理**: 明白了。我们会立即处理。还有其他反馈或顾虑吗? 47 | 48 | **客户**: 没有,其他方面看起来都很好。期待下周的最终交付。 49 | 50 | **项目经理**: 太好了。我们会确保一切都准备就绪,准备交付。感谢您的反馈。 51 | 52 |
53 | ``` 54 | 55 | 对话内容不要太短,尽量长一点,记住一定要给我提供 markdown 格式的原文,我要复制使用。 56 | -------------------------------------------------------------------------------- /docs/phrase/be-going-to.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: be going to 3 | --- 4 | 5 | # be going to 6 | 7 | "be going to" 是一个常用的将来时表达方式,主要用于表示: 8 | 9 | 1. 已经决定或计划好的事情 10 | 2. 基于当前证据的预测 11 | 12 | ## 基本结构 13 | 14 | 结构是 "be + going to + 动词原形" 15 | 16 | 人称变化: 17 | 18 | - I am going to 19 | - You/We/They are going to 20 | - He/She/It is going to 21 | 22 | ## 主要用法 23 | 24 | ### 1. 计划和意图 25 | 26 | 表示已经决定或计划好的事情: 27 | 28 | - "I am going to visit my parents next week."(我下周打算去看望我的父母。) 29 | - "She is going to start a new job."(她将要开始一份新工作。) 30 | - "We are going to move to London."(我们打算搬到伦敦。) 31 | 32 | ### 2. 预测 33 | 34 | 基于现在的证据预测将要发生的事情: 35 | 36 | - "Look at those dark clouds. It's going to rain."(看那些乌云,要下雨了。) 37 | - "She's going to have a baby."(她要生孩子了。) 38 | 39 | ## 和其他将来时表达的区别 40 | 41 | ### 1. be going to vs. will 42 | 43 | - be going to: 44 | 45 | - 强调已经计划或决定好的事 46 | - 基于现有证据的预测 47 | - "I'm going to buy a new car."(我打算买新车。) 48 | 49 | - will: 50 | - 临时决定或承诺 51 | - 一般性预测 52 | - "I will help you with that."(我会帮你的。) 53 | 54 | ### 2. be going to vs. 现在进行时表将来 55 | 56 | - be going to:表示计划或意图 57 | 58 | - "I'm going to watch a movie tonight."(我今晚打算看电影。) 59 | 60 | - 现在进行时:表示已经安排好的事情 61 | - "I'm watching a movie with friends tonight."(我今晚和朋友一起看电影。) 62 | 63 | ## 注意事项 64 | 65 | 1. 不能用于: 66 | 67 | - ❌ "I am going to can do it" 68 | - ✅ "I am going to be able to do it" 69 | 70 | 2. 否定形式: 71 | 72 | - "I am not going to work today" 73 | - "He isn't going to come" 74 | 75 | 3. 疑问形式: 76 | 77 | - "Are you going to study?" 78 | - "What are you going to do?" 79 | 80 | 4. 在口语中,常缩写为 "gonna": 81 | - "I'm gonna do it"(非正式) 82 | -------------------------------------------------------------------------------- /docs/qa/fe/micro-fe.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 微前端 3 | --- 4 | 5 | 1. [What challenges and opportunities does micro-frontend architecture bring to front-end development, and how do you overcome these challenges?](#what-challenges-and-opportunities-does-micro-frontend-architecture-bring-to-front-end-development-and-how-do-you-overcome-these-challenges) 6 | 7 | ## What challenges and opportunities does micro-frontend architecture bring to front-end development, and how do you overcome these challenges? 8 | 9 | You know, I think the main benefit of micro-frontends is that they let you connect different applications together. Like, if you need to integrate some legacy apps into your current system, you can use micro-frontends instead of having to rewrite everything from scratch. 10 | 11 | But yeah, there are definitely some challenges to deal with. You've got things like communication between modules, data sharing, and style isolation to figure out. Plus, it can be pretty complicated to set up and use. Actually, if you're building a brand new application, I wouldn't really recommend using micro-frontends - it's better to avoid potential headaches. 12 | 13 | These days, I mainly use some well-established micro-frontend frameworks to handle these issues, like qiankun and micro-app. They work pretty well and take care of a lot of the common problems. 14 | 15 |
16 | 查看中文 17 | 微前端架构给前端开发带来了哪些挑战和机遇?您是如何克服这些挑战的? 18 | 19 | 我觉得微前端最主要的好处就是可以把不同的应用连接在一起。假如现在需要把一些老应用集成到当前应用里,那么就可以使用微前端了,而不是把老应用都重写一遍。但是微前端存在不少要解决的问题,例如模块之间的通信、数据共享、样式隔离等,并且使用起来比较麻烦。如果是全新应用,就没有必要上微前端了,避免踩坑。我目前主要使用一些比较成熟的微前端框架来解决这些问题,例如 qiankun、micro-app,使用效果还不错。 20 | 21 |
22 | -------------------------------------------------------------------------------- /docs/phrase/used-to.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: used to 3 | --- 4 | 5 | # used to 6 | 7 | 用于表示过去的习惯或状态。这个短语的结构是 "used to + 动词原形" 或 "used to + be + 形容词/名词"。 8 | 9 | ## 基本用法 10 | 11 | ### 1. used to be + 形容词/名词 12 | 13 | 表示过去的状态或身份: 14 | 15 | - "I used to be thin."(我以前很瘦。) 16 | - "He used to be a teacher."(他以前是个老师。) 17 | - "This used to be a quiet neighborhood."(这过去是一个安静的社区。) 18 | 19 | ### 2. used to do + 动词原形 20 | 21 | 表示过去经常做的动作: 22 | 23 | - "I used to play basketball."(我过去常打篮球。) 24 | - "I used to live in New York."(我过去住在纽约。) 25 | - "We used to go there every weekend."(我们以前每个周末都去那里。) 26 | 27 | ## 语法规则 28 | 29 | ### 1. 否定形式 30 | 31 | - "I didn't use to be fat."(我以前不胖。) 32 | - "He didn't use to smoke."(他以前不抽烟。) 33 | 34 | ### 2. 疑问形式 35 | 36 | - "Did you use to live here?"(你以前住在这里吗?) 37 | - "Did she use to be your teacher?"(她以前是你的老师吗?) 38 | 39 | ## 使用注意 40 | 41 | 1. 这个短语只用于过去时,不能用于现在时或将来。 42 | 43 | 2. 如果要表达现在的习惯,可以使用: 44 | 45 | - "usually":I usually play basketball(我通常打篮球) 46 | - "often":I often go there(我经常去那里) 47 | - "always":I always drink coffee(我总是喝咖啡) 48 | 49 | 3. used to 的特点: 50 | 51 | 以下特点通常会出现一个或多个: 52 | 53 | - 过去经常发生的事情 54 | - 现在已经改变或不再发生 55 | - 暗示过去和现在的对比 56 | 57 | 例子: 58 | 59 | - "I used to smoke" (我以前抽烟) 60 | - 表示过去的习惯 61 | - 暗示现在不抽了 62 | - 形成过去和现在的对比 63 | - "This used to be a park" (这里以前是个公园) 64 | 65 | - 表示过去的状态 66 | - 现在已改变 67 | - 不一定是经常发生的事 68 | 69 | - "He used to visit me every week" (他以前每周都来看我) 70 | - 表示过去重复的动作 71 | - 暗示现在不再这样了 72 | - 强调频率的改变 73 | 74 | 注意: 75 | 76 | - "used to" 不能用于短期或临时的过去状态 77 | - ❌ "I used to go there yesterday" 78 | - ✅ "I went there yesterday" 79 | - 不能用于仍在继续的情况 80 | - ❌ "I used to like coffee and I still do" 81 | - ✅ "I have always liked coffee" 82 | -------------------------------------------------------------------------------- /docs/introduce.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 简介 3 | --- 4 | 5 | 我从 24 年 4 月开始下定决心要学好英语,看了一些如何学习英语的文章和资料。最后发现李笑来老师的《[人人都能用英语](https://github.com/xiaolai/everyone-can-use-english)》比较靠谱,所以我就开始按照书中的方法开始学习英语,后来又结合了[二语习得理论](https://baike.baidu.com/item/%E4%BA%8C%E8%AF%AD%E4%B9%A0%E5%BE%97%E7%90%86%E8%AE%BA/7802838)对学习方法进行了改进。我会在这里记录我的学习过程和心得。 6 | 7 | 其实我并不算是完全零基础开始学英语的,我背了好几年单词了,从 17 年开始, 但是一直断断续续,没有一直持续学习,所以目前词汇量在 6000 左右(25 年 1 月又测了一下,已经有 7500 左右了)。 8 | 9 | 不过这也仅仅是唯一的优点了,其他的语法、时态、口语等知识都停留在初中阶段。所以要补的知识非常多。这也是我每天要投入大量时间学习的原因。 10 | 11 | 目前每天学习英语所花的时间大概在 2-4 小时左右,从 4 月开始一直持续到现在,感觉学习效果还不错,希望能够坚持下去。 12 | 13 | ### 一年总结 14 | 15 | 目前听力/口语学习了 900 多个小时,词汇量在 7500 左右,口语/听力水平自我评测大概在 A2 水平,还到不了 B1 水平。但是阅读英文技术文章确实快速了很多,一些简单的英文句子都不需要翻译能够和人直接交流了。 16 | 17 | ## 学习资料 18 | 19 | - 学习路线、指导方针:《人人都能用英语》、二语习得理论 20 | - 背单词:墨墨背单词 APP 21 | - 语法知识:《英语在用》共三册(看了两册半,感觉作用不是特别大,所以现在不看了,把 16 种时态熟悉一下就好) 22 | - 听力材料:[Family Album USA](https://www.learnrealeng.com/2014/04/family-album-usa-episode-1-46-linden.html)或者其他一些感兴趣的英语听力材料 23 | - 辅助工具:GPT(也可使用国内的大语言模型,我一开始用的 ChatGPT,现在使用 Claude 3.5 Sonnet) 24 | 25 | ## 学习方法演进 26 | 27 | ### 初始阶段(基于《人人都能用英语》) 28 | 29 | 1. 用中文写一段想说的话 30 | 2. 使用 AI 翻译为英文文本 31 | 3. 听英文音频,不懂时对照文本 32 | 4. 确保没有生词后继续听 33 | 5. 背诵内容 34 | 35 | ### 改进后的方法(结合二语习得理论) 36 | 37 | 1. **听力训练** 38 | 39 | - 选择合适的视频材料(如 Family Album USA) 40 | - 反复听同一内容 41 | - 听不懂时查看台词本,确保没有不认识的单词 42 | - 目标是不看台词本的情况下听懂90-95%内容 43 | - 达标后进入下一集 44 | 45 | 2. **词汇积累** 46 | 47 | - 收集学习过程中遇到的固定短语进行背诵 48 | - 在上下文中学习单词 49 | - 通过反复听来巩固 50 | 51 | 3. **语法学习** 52 | 53 | - 系统学习 16 个时态 54 | - 其他语法规则随用随学 55 | - 在实际应用中加深理解 56 | 57 | 4. **输出训练** 58 | - 在输入累积 700 多个小时后开始(从 24 年 12 月开始) 59 | - 写英语日记和文章 60 | - 逐步增加输出量 61 | 62 | ## 每天学习计划 63 | 64 | - 每天背单词 100 个(复习+新词),耗时 0.5 小时左右(25 年 2 月已经不再背单词,因为持续了一年,还是一直在 7000 左右,所以放弃了) 65 | - 每天练习口语/听力 3 小时,主要是朗读、看视频进行听力/口语练习(原来有背诵对话,现在没有了) 66 | 67 | ## 注意事项 68 | 69 | 1. 保持学习的持续性和规律性 70 | 2. 确保听力材料的理解度 71 | 3. 循序渐进,不急于求成 72 | 4. 在大量输入的基础上再开始输出 73 | -------------------------------------------------------------------------------- /docs/qa/fe/fe-engineering.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 前端工程 3 | --- 4 | 5 | 1. [What is front-end engineering? What benefits does it bring?](#what-is-front-end-engineering-what-benefits-does-it-bring) 6 | 1. [Could you share one of your proudest implementations or improvements in engineering?](#could-you-share-one-of-your-proudest-implementations-or-improvements-in-engineering) 7 | 8 | ## What is front-end engineering? What benefits does it bring? 9 | 10 | Well, front-end engineering is basically about applying software engineering principles to front-end development. You know, the main goal is to improve our code quality, boost team efficiency, and reduce development costs. More specifically, it covers things like setting up team standards, build and packaging processes, performance optimization, and CI/CD - all these are part of front-end engineering because they help us work better and deliver better quality code. 11 | 12 |
13 | 查看中文 14 | 什么是前端工程化?它带来了哪些好处? 15 | 16 | 前端工程化其实就是把软件工程的思想和方法论应用到前端上,换句话说,前端工程化的目的就是提高前端软件的质量、团队的开发效率以及降低开发成本。具体一点说的话,制定团队规范、构建打包、性能优化、ci/cd 都可以算是前端工程化的范围,因为它们本质上都是为了提高开发效率和软件质量。 17 | 18 |
19 | 20 | ## Could you share one of your proudest implementations or improvements in engineering? 21 | 22 | Yeah, I'm particularly proud of our CI/CD improvements. Let me tell you about it - first, we set up automatic code checks and fixes that trigger whenever code is submitted. Then, after code merges, we use GitLab CI to package everything into a Docker image and deploy it to Kubernetes. This really cuts down on manual work and speeds up our development process. 23 | 24 | Also, I helped establish and promote our team's technical standards. This has been great for improving both our code quality and how efficiently we work together. 25 | 26 |
27 | 查看中文 28 | 能否分享一下您在工程化方面最自豪的改进或实现? 29 | 30 | 可以的,我觉得主要是 ci/cd 方面的改进,这包含了几个方面:首先是提交代码时自动触发代码校验和自动修复;然后是合并代码后通过 gitlab ci 打包成 docker 镜像并部署到 k8s,这样可以减少人工操作,提高开发效率。 31 | 32 | 另外还有团队技术规范的制定和推广,这可以帮助提高团队的代码质量和协作效率。 33 | 34 |
35 | -------------------------------------------------------------------------------- /docs/tense/past-simple.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 一般过去时 3 | --- 4 | 5 | # 一般过去时 (Past Simple) 6 | 7 | past point -------- now -------- future 8 | 9 | ↑
过去发生的动作 10 | 11 | 这种时态用于描述在过去发生的动作或状态,这些动作或状态现在已经结束。 12 | 13 | ## 语法形式 14 | 15 | 过去简单时的构成是:主语 + 动词的过去式。 16 | 17 | - **肯定句**:主语 + 动词的过去式 18 | 19 | - I worked. 20 | - She worked. 21 | 22 | - **否定句**:主语 + did not + 动词原形 23 | 24 | - I didn't work. 25 | - She didn't work. 26 | 27 | ## 规则动词 + ed 28 | 29 | - work -> work**ed** 30 | - clean -> clean**ed** 31 | - stay -> stay**ed** 32 | 33 | ## 不规则动词 34 | 35 | 不规则动词的形式比较特殊,不加 `ed`,一般需要单独背诵,例如: 36 | 37 | - go -> went 38 | - break -> broke 39 | - bring -> brought 40 | 41 | 此外,还有一些动词在拼写上有特殊的变化,例如以 `y` 结尾的动词,我们通常把 `y` 改为 `i`,然后再加上 `ed`,如 `study` 的一般过去时是 `studied`。 42 | 43 | ## did + infinitive(watch/play/go...) 44 | 45 | did 后面加动词原形,例如: 46 | 47 | - I **didn't watch** 48 | - **Did** they **go**? 49 | - **Did** you **do** the shopping? 50 | 51 | `infinitive` 在英语语法中通常被翻译为"不定式",它指的是动词的原形。不定式通常由"to"加上动词原形构成,例如 "to go"、"to read"、"to play" 等。然而,在某些情况下,"to" 可以被省略,特别是在某些动词(如 make, let, help)或者模态动词(如 can, may, should)后面。例如,我们说 "Let me go" 而不是 "Let me to go"。 52 | 53 | ## did + subject + infinitive 54 | 55 | `did + subject + infinitive` 是一种英语句型,通常用于构成一般过去时的疑问句和否定句。例如: 56 | 57 | - What **did** you **do** yesterday evening? 58 | - How **did** the accident **happen** yesterday evening? 59 | - Where **did** your parents **go** for their holiday? 60 | 61 | ## 一般过去时和现在完成时的区别 62 | 63 | 在这之前先了解一下"finished time 结束时间"的概念: 64 | 65 | 结束时间是指那些已经结束的时间,例如 "yesterday", "last week", "in 1990", "three days ago", "at 3 o'clock" 等。结束时间用于一般过去时,不能和现在完成时一起使用。 66 | 67 | 一般过去时(Past Simple)和现在完成时(Present Perfect)在英语中都用于描述过去的事件,但它们的用法和含义有所不同。 68 | 69 | **一般过去时用于描述在过去某个具体时间发生的事件或状态**。这个时间通常会在句子中明确给出,例如 "yesterday", "last year", "in 1990" 等。例如: 70 | 71 | - "I visited Paris last year."(我去年访问了巴黎。) 72 | 73 | **现在完成时用于描述在过去发生的事件或状态,但这个事件或状态对现在仍有影响,或者这个事件或状态在过去的某个不确定的时间发生**。例如: 74 | 75 | - "I have visited Paris."(我去过巴黎。) 76 | 77 | 在这个例子中,我们不知道访问巴黎的具体时间,只知道这个事件在过去的某个时间发生,并且这个事件对现在仍有影响(例如,现在的我知道巴黎是什么样的)。 78 | 79 | 总的来说,如果你知道事件发生的具体时间,并且这个事件对现在没有影响,那么应该使用一般过去时。如果你不知道事件发生的具体时间,或者这个事件对现在仍有影响,那么应该使用现在完成时。 80 | -------------------------------------------------------------------------------- /docs/pronunciation/thought-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 意群 3 | --- 4 | 5 | # 意群(Sense Group) 6 | 7 | 意群(sense group 或 thought group)是指在自然语流中,按语义和语法关系划分出的句子中的一组词。每个意群通常包含一个主要的语义单位,并在语音上表现为一个独立的语调单位。意群的划分对于理解和表达英语句子的节奏和重音有重要作用。 8 | 9 | ## 意群的作用 10 | 11 | 1. **帮助理解句子结构**:意群将句子分成较小的部分,使复杂句子变得更容易理解。例如: 12 | 13 | - Without 意群: "The man who is standing by the door is my uncle." 14 | - With 意群: "The man | who is standing by the door | is my uncle." 15 | 16 | 2. **增强语义清晰度**:通过意群的划分,可以更清晰地表达每个部分的意思,避免歧义。例如: 17 | 18 | - Without 意群: "Let's eat, grandpa." 19 | - With 意群: "Let's eat | grandpa." 20 | 21 | 3. **改善语音节奏**:意群帮助说话者在自然停顿处停顿,使语音节奏更加自然,便于听者理解。例如: 22 | - Without 意群: "She went to the store and bought some milk and eggs." 23 | - With 意群: "She went to the store | and bought some milk | and eggs." 24 | 25 | ## 如何划分意群 26 | 27 | 1. **根据语法结构**:通常在自然停顿处划分意群,例如句子的主语、谓语和宾语之间。 28 | 2. **根据语义单元**:将意义紧密相关的词放在同一个意群中。 29 | 3. **根据重音和语调**:意群的结尾通常是语调的自然下降处。 30 | 31 | ## 意群的广泛应用 32 | 33 | 1. **简单句中的意群**:即使在简单句中,意群也可以帮助表达清晰的语义。例如: 34 | 35 | - 句子: "I love reading books." 36 | - 意群划分: "I love | reading books." 37 | 38 | 2. **复合句中的意群**:在复合句中,意群通常与从句的划分一致,但也可以根据语义和语调进行进一步细分。例如: 39 | 40 | - 句子: "She said that she would come, but she didn't." 41 | - 意群划分: "She said | that she would come | but she didn't." 42 | 43 | 3. **复杂句中的意群**:在复杂句中,意群的划分有助于理清句子的层次结构。例如: 44 | 45 | - 句子: "When I was younger, I used to think that life was simple, but now I know better." 46 | - 意群划分: "When I was younger | I used to think | that life was simple | but now | I know better." 47 | 48 | 4. **句子中的修饰语**:意群也可以用来划分修饰语,使句子更易于理解。例如: 49 | 50 | - 句子: "The man in the blue shirt is my brother." 51 | - 意群划分: "The man | in the blue shirt | is my brother." 52 | 53 | 5. **长句中的停顿**:在长句中,意群的划分有助于在适当的位置进行停顿,使句子更易于表达和理解。例如: 54 | - 句子: "Despite the fact that it was raining, we decided to go for a walk in the park." 55 | - 意群划分: "Despite the fact | that it was raining | we decided | to go for a walk | in the park." 56 | 57 | ## 例子 58 | 59 | - 句子: "When I was a child, I used to play outside every day." 60 | 61 | - 意群划分: "When I was a child | I used to play outside | every day." 62 | 63 | - 句子: "The book that you gave me is very interesting." 64 | - 意群划分: "The book | that you gave me | is very interesting." 65 | 66 | 通过正确地使用意群,可以使英语表达更加清晰和自然,同时也有助于听者更好地理解句子结构和意思。 67 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # self-learning-english 2 | 3 | 分享一下自学英语的过程,学习英语的方法参考自李笑来老师的[人人都能用英语](https://github.com/xiaolai/everyone-can-use-english)和[二语习得理论](https://baike.baidu.com/item/%E4%BA%8C%E8%AF%AD%E4%B9%A0%E5%BE%97%E7%90%86%E8%AE%BA/7802838)。 4 | 5 | 我的学习笔记记录在[自学英语](https://woai3c.github.io/self-learning-english/)。 6 | 7 | **PS**:从学习英语开始到结束,持续了一年时间,花费了大概 1200 小时,词汇量稳定在 7500 左右,口语/听力目前大概在 B1 水平,和当时定的目标差得有点多(B2)。目前打算先放一放,因为每天 3-4 小时太累了,占了不少工作时间和学习时间。我觉得英语是不能速成的,得不断的坚持学习才行。 8 | 9 | ## 简介 10 | 11 | 我从 24 年 4 月开始下定决心要学好英语,看了一些如何学习英语的文章和资料。最后发现李笑来老师的《[人人都能用英语](https://github.com/xiaolai/everyone-can-use-english)》比较靠谱,所以我就开始按照书中的方法开始学习英语,后来又结合了[二语习得理论](https://baike.baidu.com/item/%E4%BA%8C%E8%AF%AD%E4%B9%A0%E5%BE%97%E7%90%86%E8%AE%BA/7802838)对学习方法进行了改进。我会在这里记录我的学习过程和心得。 12 | 13 | 其实我并不算是完全零基础开始学英语的,我背了好几年单词了,从 17 年开始, 但是一直断断续续,没有一直持续学习,所以目前词汇量在 6000 左右(25 年 1 月又测了一下,已经有 7500 左右了)。 14 | 15 | 不过这也仅仅是唯一的优点了,其他的语法、时态、口语等知识都停留在初中阶段。所以要补的知识非常多。这也是我每天要投入大量时间学习的原因。 16 | 17 | 目前每天学习英语所花的时间大概在 2-4 小时左右,从 4 月开始一直持续到现在,感觉学习效果还不错,希望能够坚持下去。 18 | 19 | ### 一年总结 20 | 21 | 目前听力/口语学习了 900 多个小时,词汇量在 7500 左右,口语/听力水平自我评测大概在 A2 水平,还到不了 B1 水平。但是阅读英文技术文章确实快速了很多,一些简单的英文句子都不需要翻译能够和人直接交流了。 22 | 23 | ## 学习资料 24 | 25 | - 学习路线、指导方针:《人人都能用英语》、二语习得理论 26 | - 背单词:墨墨背单词 APP 27 | - 语法知识:《英语在用》共三册(看了两册半,感觉作用不是特别大,所以现在不看了,把 16 种时态熟悉一下就好) 28 | - 听力材料:[Family Album USA](https://www.learnrealeng.com/2014/04/family-album-usa-episode-1-46-linden.html)或者其他一些感兴趣的英语听力材料 29 | - 辅助工具:GPT(也可使用国内的大语言模型,我一开始用的 ChatGPT,现在使用 Claude 3.5 Sonnet) 30 | 31 | ## 学习方法演进 32 | 33 | ### 初始阶段(基于《人人都能用英语》) 34 | 35 | 1. 用中文写一段想说的话 36 | 2. 使用 AI 翻译为英文文本 37 | 3. 听英文音频,不懂时对照文本 38 | 4. 确保没有生词后继续听 39 | 5. 背诵内容 40 | 41 | ### 改进后的方法(结合二语习得理论) 42 | 43 | 1. **听力训练** 44 | 45 | - 选择合适的视频材料(如 Family Album USA) 46 | - 反复听同一内容 47 | - 听不懂时查看台词本,确保没有不认识的单词 48 | - 目标是不看台词本的情况下听懂90-95%内容 49 | - 达标后进入下一集 50 | 51 | 2. **词汇积累** 52 | 53 | - 收集学习过程中遇到的固定短语进行背诵 54 | - 在上下文中学习单词 55 | - 通过反复听来巩固 56 | 57 | 3. **语法学习** 58 | 59 | - 系统学习 16 个时态 60 | - 其他语法规则随用随学 61 | - 在实际应用中加深理解 62 | 63 | 4. **输出训练** 64 | - 在输入累积 700 多个小时后开始(从 24 年 12 月开始) 65 | - 写英语日记和文章 66 | - 逐步增加输出量 67 | 68 | ## 每天学习计划 69 | 70 | - 每天背单词 100 个(复习+新词),耗时 0.5 小时左右(25 年 2 月已经不再背单词,因为持续了一年,还是一直在 7000 左右,所以放弃了) 71 | - 每天练习口语/听力 3 小时,主要是朗读、看视频进行听力/口语练习(原来有背诵对话,现在没有了) 72 | 73 | ## 注意事项 74 | 75 | 1. 保持学习的持续性和规律性 76 | 2. 确保听力材料的理解度 77 | 3. 循序渐进,不急于求成 78 | 4. 在大量输入的基础上再开始输出 79 | -------------------------------------------------------------------------------- /docs/grammar/passive-voice.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 被动语态 3 | --- 4 | 5 | # 被动语态 6 | 7 | 被动语态(Passive Voice)是英语中的一种语态,用于强调动作的接受者而非动作的执行者。在被动语态的句子中,句子的主语是动作的接受者。 8 | 9 | 例如,考虑以下两个句子: 10 | 11 | - "The cat ate the fish."(这是主动语态,因为主语 "the cat" 是动作 "ate" 的执行者。) 12 | - "The fish was eaten by the cat."(这是被动语态,因为主语 "the fish" 是动作 "was eaten" 的接受者。) 13 | 14 | 被动语态可以用于各种时态中,例如一般过去时("The fish was eaten.")、现在完成时("The fish has been eaten.")、一般现在时("The fish is eaten.")等。选择哪种时态取决于你想要表达的时间概念。 15 | 16 | ## -ed 17 | 18 | 在被动语态中,我们使用 "be" 动词和主动动词的过去分词形式。对于规则动词,过去分词通常是在动词原形后加 "-ed"。 19 | 20 | 例如: 21 | 22 | - "The room is cleaned every day."(房间每天都被打扫。) 23 | - "The letter was written by John."(这封信是约翰写的。) 24 | - "The cake has been eaten."(蛋糕已经被吃掉了。) 25 | - "The work will be finished tomorrow."(工作将在明天完成。) 26 | - "The rules must be followed."(必须遵守规则。) 27 | 28 | ## passive + by... 29 | 30 | 在被动语态的句子中,"by" 后面通常跟着动作的执行者。这样,我们就可以知道是谁执行了这个动作。例如: 31 | 32 | - "The fish was eaten by the cat."(这条鱼是被猫吃掉的。) 33 | - "The letter was written by John."(这封信是约翰写的。) 34 | - "The cake has been eaten by the children."(蛋糕已经被孩子们吃掉了。) 35 | 36 | 在这些例子中,"the cat", "John", 和 "the children" 都是动作的执行者,它们都出现在 "by" 之后。 37 | 38 | 但是,要注意的是,被动语态的句子并不一定需要包含 "by" 短语。如果我们不关心或不知道是谁执行了动作,我们可以省略 "by" 短语。例如,我们可以说 "The fish was eaten." 或 "The letter was written."。 39 | 40 | ## passive + be 动词 41 | 42 | "be" 动词在被动语态中的形式取决于你想要表达的时态。它可以是现在式(is, are),过去式(was, were),或者其他形式(has been, have been, will be, etc.)。以下是一些例子: 43 | 44 | - 现在时:The room is cleaned every day.(房间每天都被打扫。) 45 | - 过去时:The letter was written by John.(这封信是约翰写的。) 46 | - 现在完成时:The cake has been eaten.(蛋糕已经被吃掉了。) 47 | - 将来时:The work will be finished tomorrow.(工作将在明天完成。) 48 | 49 | 所以,"be" 动词并不总是在被动语态中使用过去式。它的形式取决于你想要表达的时态。 50 | 51 | ## passive + 现在进行时 52 | 53 | 被动语态的现在进行时是用来描述正在进行的被动动作。它的结构是:**主语 + be (am/is/are) + being + 过去分词**。 54 | 55 | 例如: 56 | 57 | - The cake is being eaten.(蛋糕正在被吃。) 58 | - The letter is being written.(信正在被写。) 59 | - The house is being painted.(房子正在被粉刷。) 60 | 61 | 在这些例子中,"is being painted", "is being eaten", 和 "is being written" 都是被动语态的现在进行时。 62 | 63 | ## passive + 现在完成时 64 | 65 | 被动语态的现在完成时用来描述已经完成的被动动作。它的结构是:**主语 + have/has + been + 过去分词**。 66 | 67 | 例如: 68 | 69 | - The cake has been eaten.(蛋糕已经被吃掉了。) 70 | - The letter has been written.(信已经被写了。) 71 | - The house has been painted.(房子已经被粉刷了。) 72 | 73 | 在这些例子中,"has been eaten", "has been written", 和 "has been painted" 都是被动语态的现在完成时。 74 | -------------------------------------------------------------------------------- /docs/tense/present-continuous.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 现在进行时 3 | --- 4 | 5 | # 现在进行时 (Present Continuous) 6 | 7 | past -------- now -------- future 8 | 9 | ↑ 10 | 正在进行的动作 11 | 12 | 这种时态用于描述正在进行的动作或状态,或者在未来有计划或安排的动作。 13 | 14 | 现在进行时的构成是:主语 + am/is/are + 动词的现在分词(即动词+ing)。 15 | 16 |          I'm doing 17 | 18 | ## 语法形式 19 | 20 | - **肯定句**:主语 + am/is/are + 动词的现在分词 21 | 22 | - I'**m** work**ing**. 23 | - She **isn't** eat**ing**. 24 | - We'**re** hav**ing** dinner. 25 | 26 | - **否定句**:主语 + am/is/are not + 动词的现在分词 27 | 28 | - I'**m** not work**ing**. 29 | - She **isn't** eat**ing**. 30 | - We'**re** not hav**ing** dinner. 31 | 32 | ## be being 33 | 34 | "be" 的现在进行时形式是 "am/is/are being"。这种形式用于特定场景,主要是当我们想要强调某个状态或行为是暂时的、不寻常的,或者与平常不同时。它通常用于描述人的行为或态度。 35 | 36 | ### 描述人的行为或态度(特别是当这种行为或态度是暂时的、不寻常的或与平常不同的): 37 | 38 | - "He is being very quiet today."(他今天非常安静。)这句话暗示他通常不这么安静,但在今天有所不同。 39 | - "You are being rude."(你现在很粗鲁。)这里指的是某人此刻的行为,暗示这种行为是暂时的或不寻常的。 40 | 41 | ### 在被动语态中描述正在发生的动作: 42 | 43 | - "The house is being painted."(房子正在被粉刷。)这里使用 "is being" 来描述一个正在进行的被动动作。 44 | 45 | "be" 的这种形式不常用于描述物体或事物的状态,因为这些状态通常不会被视为暂时或不寻常的。主要是用来强调人的行为或态度的暂时性或特殊性。 46 | 47 | ## 非动作动词 48 | 49 | 非动作动词,也称为静态动词或状态动词,指的是那些描述状态、情感、感官、思想和所有权等,而不是动作或过程的动词。这些动词通常不用于进行时态,因为它们表示的是持续的状态,而不是正在进行的动作。 50 | 51 | 常见的非动作动词包括: 52 | 53 | - 感官动词:如 see, hear, taste, smell, feel。 54 | - 情感动词:如 love, hate, want, need, prefer。 55 | - 思想动词:如 think, believe, know, understand, remember。 56 | - 所有权动词:如 have, own, possess。 57 | - 存在动词:如 be, exist, seem, appear。 58 | 59 | 示例: 60 | 61 | - I **love** chocolate. (而不是 I am loving chocolate.) 62 | - She **knows** the answer. (而不是 She is knowing the answer.) 63 | - We **have** a new car. (而不是 We are having a new car.) 64 | 65 | 使用非动作动词时,**即使是在描述当前状态,也应使用一般现在时而不是现在进行时**。 66 | 67 | ### 例外情况 68 | 69 | 非动作动词(静态动词)通常不用于进行时态,因为它们表示的是状态而非动作。然而,有些情况下,即使是非动作动词也可以加 "-ing" 形式,特别是当它们用于特定的语境或表达方式时。以下是一些例外情况: 70 | 71 | - 描述变化或暂时状态:当我们想**强调一个状态的变化或暂时性时,即使是非动作动词也可以用进行时态**。例如,"I'm feeling better today" 强调了感觉好转是暂时的。 72 | 73 | - 特定非动作动词的灵活用法:某些非动作动词在特定语境下可以用进行时态,尤其是那些描述思考、感觉、态度的动词。例如,"I'm thinking"(我在思考)可以用来表示一个人正在进行的思考过程。 74 | 75 | - 未来计划:非动作动词有时也可以用于进行时态来描述已经安排好的未来事件,尤其是在非正式语境中。例如,"We're having a party next week"(我们下周有个派对)使用了 "have" 的进行时态来描述一个未来的计划。 76 | 77 | - 特定表达方式:在某些固定短语或表达方式中,非动作动词可能会以进行时态出现。这些通常是固定用法,需要逐个学习。 78 | 79 | 总的来说,虽然非动作动词通常不用于进行时态,但在强调状态的变化、暂时性、进行中的思考或感觉,以及描述未来计划时,使用进行时态是可以接受的。 80 | -------------------------------------------------------------------------------- /docs/pronunciation/stress.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 重读 3 | --- 4 | 5 | # 重读 6 | 7 | 在英语中,重读(stress)是指在单词或句子中某个音节或单词发音时,比其他音节或单词更用力、更清晰、更响亮。这种发音上的强调有助于传递意思、表达情感和区分词义。重读在英语中非常重要,因为它可以改变单词的意思,并使句子更易理解。 8 | 9 | ## 重读的类型 10 | 11 | ### 单词重读(Word Stress 12 | 13 | 单词重读是指在一个单词的某个音节上加重读音。英语单词往往有一个主要重读音节,其他音节则相对较弱。 14 | 15 | 例子: 16 | 17 | - **record** (名词) /ˈrekɔːrd/:重读在第一个音节。 18 | - **record** (动词) /rɪˈkɔːrd/:重读在第二个音节。 19 | 20 | ### 句子重读(Sentence Stress) 21 | 22 | 句子重读是指在一个句子中的某些单词上加重读音。通常,重要的内容词(如名词、动词、形容词、副词)会被重读,而功能词(如冠词、介词、助动词、连词)则不重读。 23 | 24 | #### 实义词和功能词 25 | 26 | 在英语中,"实义词"(content words)和"功能词"(function words)是两种基本的词类。 27 | 28 | - **实义词**:这些词包括名词(nouns)、动词(verbs)、形容词(adjectives)和副词(adverbs)。它们是句子的主要内容,承载着句子的主要意思。例如,在句子 "The cat is sleeping on the sofa." 中,"cat"、"sleeping" 和 "sofa" 都是实义词。 29 | 30 | - **功能词**:这些词包括冠词(articles)、介词(prepositions)、连词(conjunctions)和代词(pronouns)。它们主要用来连接和修饰实义词,帮助构建句子的结构。例如,在上述句子中,"the"、"is" 和 "on" 都是功能词。 31 | 32 | 在口语和书面语中,**实义词通常被重读**,因为它们承载了句子的主要信息。而功能词则通常不被重读,因为它们主要用来帮助理解句子的结构和语法关系。 33 | 34 | #### 焦点词和虚拟分组 35 | 36 | 焦点词(focus words)是指在句子中被特别强调的单词。它们通常是句子的核心信息所在,通过重读或语调变化来突出。焦点词可以是任何词类,但通常是**实义词**,因为它们承载了句子的主要信息。 37 | 38 | 虚拟分组(virtual grouping)是指在口语或书面表达中,通过重读、停顿或其他语音手段,将相关的词语或短语在听者或读者的认知中分组。这种分组方式并不在书写上表现出来,但在发音和理解上却起到了重要作用。 39 | 40 | 如果一个长句有多个虚拟分组,每个分组都有一个焦点词,它会被重读,而其他词则不重读。 41 | 42 | - 如果一个虚拟分组中有两个实义词时,一般第二个重读 43 | - 形容词和名词在一起时,要重读名词 44 | 45 | #### 例子 46 | 47 | - I got a new **job** 48 | - I will be driving to the **market** to buy something to **eat** 49 | - see you **later** 50 | - Did you **get** it?(it 是代词,属于功能词,不重读) 51 | - I am so **excited** about it 52 | 53 | ## 确定重读音节的方法 54 | 55 | 1. **查字典** 56 | 57 | - 字典通常会明确标示单词的重读音节。重读音节通常用一个小的垂直标记(ˈ)表示,放在重读音节之前。例如: 58 | - **Present** (名词) /ˈpreznt/ 59 | - **Present** (动词) /prɪˈzent/ 60 | 61 | 2. **记忆规则和模式** 62 | 63 | - 有些单词的重读位置是可以通过记忆规则和模式来确定的。例如: 64 | - **双音节名词和形容词**:通常重读第一个音节。 65 | - 例子:**TAble** (桌子), **HAPpy** (快乐的) 66 | - **双音节动词和介词**:通常重读第二个音节。 67 | - 例子:**to reLAX** (放松), **to beGIN** (开始) 68 | - **以 -ic, -sion, -tion 结尾的单词**:通常重读倒数第二个音节。 69 | - 例子:**GRAPHic** (图形的), **deCIsion** (决定), **compeTItion** (竞争) 70 | - **以 -cy, -ty, -phy, -gy, -al 结尾的单词**:通常重读倒数第三个音节。 71 | - 例子:**deMOcracy** (民主), **reLIability** (可靠性), **geOgraphy** (地理), **psyCHOlogy** (心理学), **CRItical** (批判的) 72 | - **以 -ess, -eer, -ique 结尾的单词**:通常重读最后一个音节。 73 | - 例子:**prinCESS** (公主), **enginEER** (工程师), **critIQUE** (评论) 74 | -------------------------------------------------------------------------------- /docs/tense/past-perfect.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 过去完成时 3 | --- 4 | 5 | # 过去完成时 (Past Perfect) 6 | 7 | past -------- past point -------- now -------- future 8 | 9 | ↑ 10 | 在过去某时间点之前完成的动作 11 | 12 | 这种时态用于描述在过去某一时间点之前已经发生的动作或状态。 13 | 14 | ## 语法形式 15 | 16 | 过去完成时的构成是:**主语 + had + 过去分词** 17 | 18 | - **肯定句**:主语 + had + 过去分词 19 | 20 | - I had finished. 21 | - She had studied. 22 | 23 | - **否定句**:主语 + had not + 过去分词 24 | 25 | - I had not finished. 26 | - She had not studied. 27 | 28 | - **疑问句**:Had + 主语 + 过去分词? 29 | - Had you finished? 30 | - Had she studied? 31 | 32 | ## 应用场景 33 | 34 | ### 1. 表示过去某一时间点之前发生的动作 35 | 36 | 用于描述在过去某个时间点之前已经完成的动作。 37 | 38 | **示例:** 39 | 40 | - When I arrived home, she had already left. (当我到家时,她已经离开了。) 41 | - By the time we got to the cinema, the film had started. (当我们到达电影院时,电影已经开始了。) 42 | 43 | ### 2. 表示"非真实"的过去 44 | 45 | 用于虚拟语气中,表示与过去事实相反的假设。 46 | 47 | **示例:** 48 | 49 | - If I had known about the meeting, I would have attended it. (如果我知道有会议的话,我就会参加了。) 50 | - I wish I had studied harder when I was young. (我希望我年轻的时候学习更努力。) 51 | 52 | ### 3. 过去的经历或状态 53 | 54 | 用于描述在过去某个时间点之前的经历或状态。 55 | 56 | **示例:** 57 | 58 | - I had never seen such a beautiful sunset before that day. (在那天之前,我从未见过如此美丽的日落。) 59 | - She had lived in Paris for ten years before she moved to London. (在搬到伦敦之前,她在巴黎住了十年。) 60 | 61 | ## 与其他时态的对比 62 | 63 | ### 过去完成时 vs 一般过去时 64 | 65 | 过去完成时强调在过去某个时间点之前发生的动作,而一般过去时则只是表示过去发生的动作。 66 | 67 | **示例:** 68 | 69 | - When I arrived (过去时), the meeting had already finished (过去完成时). 70 | (当我到达时,会议已经结束了。) 71 | 72 | ### 过去完成时 vs 现在完成时 73 | 74 | 过去完成时是以过去某个时间点为参照点,而现在完成时是以现在为参照点。 75 | 76 | **示例:** 77 | 78 | - I have finished my homework now. (现在完成时 - 现在已经完成) 79 | - I had finished my homework when my mother came back. (过去完成时 - 在母亲回来之前已经完成) 80 | 81 | ## 常见用法和例句 82 | 83 | ### 1. 使用时间连接词 84 | 85 | 常与 before, after, when, by the time 等时间连接词一起使用: 86 | 87 | - After he had finished work, he went home. 88 | - By the time we arrived, they had left. 89 | 90 | ### 2. 表达遗憾或后悔 91 | 92 | 常用于 wish 从句或 if only 结构: 93 | 94 | - I wish I had learned to swim when I was younger. 95 | - If only I had listened to your advice. 96 | 97 | ### 3. 描述过去的过去 98 | 99 | 用于描述在过去某个时间点之前发生的事情: 100 | 101 | - The house was empty. The burglars had taken everything. 102 | - When we got to the station, the train had already left. 103 | -------------------------------------------------------------------------------- /docs/qa/fe/performance-optimization.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 性能优化 3 | --- 4 | 5 | 1. [Please describe a technology you implemented for performance optimization and specifically how the performance improvement was quantified.](#please-describe-a-technology-you-implemented-for-performance-optimization-and-specifically-how-the-performance-improvement-was-quantified) 6 | 1. [When you encounter performance bottlenecks, what tools and methods do you typically use to identify and resolve the issues?](#when-you-encounter-performance-bottlenecks-what-tools-and-methods-do-you-typically-use-to-identify-and-resolve-the-issues) 7 | 8 | ## Please describe a technology you implemented for performance optimization and specifically how the performance improvement was quantified. 9 | 10 | Well, I focused on optimizing initial load time using several techniques - you know, things like route lazy-loading, browser caching with nginx, code compression, file compression, and CDN. Through these optimizations, we managed to cut down the first screen load time from 4 seconds to 1.5 seconds, which really improved the user experience. 11 | 12 | As for measuring the improvement, we used monitoring tools to collect performance data and compared the metrics before and after optimization. This gave us a clear picture of how much the performance had improved. 13 | 14 |
15 | 查看中文 16 | 请描述一种您在性能优化方面实施过的技术,并且具体说明它带来的性能提升是如何量化的。 17 | 18 | 我有在优化首屏加载时间时使用了路由懒加载、浏览器缓存 + nginx、代码压缩、文件压缩、CDN 等技术。我通过这些技术,将首屏加载时间从 4s 降低到了 1.5s,用户体验得到了很大的提升。至于如何量化,我们可以用监控工具收集性能数据,然后对比优化前后的数据,就能看到性能提升了多少。 19 | 20 |
21 | 22 | ## When you encounter performance bottlenecks, what tools and methods do you typically use to identify and resolve the issues? 23 | 24 | You know, when I run into performance issues, I usually start by collecting performance data using tools like front-end monitoring SDK and Lighthouse. Then I analyze this data to figure out where the bottlenecks are. Once I identify the problems, I can apply the right optimization methods to fix them. 25 | 26 | For back-end performance issues, I use performance testing tools like Prometheus and LoadRunner to test API performance. Based on the test results, I can then optimize the APIs accordingly. 27 | 28 |
29 | 查看中文 30 | 遇到性能瓶颈时,您通常使用哪些工具和方法来定位和解决问题? 31 | 32 | 我一般会使用一些工具来收集性能数据,例如前端监控 SDK、lighthouse 等。然后根据收集到的数据来分析性能瓶颈,找到问题后再用对应的性能优化方法来解决性能问题。后端性能瓶颈的话,我会使用一些性能测试工具来测试接口的性能,例如 Prometheus、LoadRunner,然后根据测试结果来优化接口。 33 | 34 |
35 | -------------------------------------------------------------------------------- /docs/grammar/get.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: get 3 | --- 4 | 5 | # get 6 | 7 | "get" 是英语中一个非常多用的动词,能够在不同的语境中表达多种含义。以下是 "get" 的主要用法: 8 | 9 | ## 获得、得到 (get + 名词) 10 | 11 | - He **got** a new job. (他得到了一份新工作。) 12 | - She **got** a present for her birthday. (她生日得到了一个礼物。) 13 | 14 | ## 购买 (get + 名词) 15 | 16 | - I'll **get** some groceries on my way home. (我回家的路上会买些杂货。) 17 | 18 | ## 理解、明白 (get + 名词) 19 | 20 | - I don't **get** what you're saying. (我不明白你在说什么。) 21 | - Do you **get** the joke? (你明白这个笑话吗?) 22 | 23 | ## 到达 (get + 地点) 24 | 25 | - What time did you **get** here? (你什么时候到的?) 26 | - We need to **get** to the station by 6 PM. (我们需要在晚上6点前到车站。) 27 | 28 | ## 成为、变得 (get + 形容词) 29 | 30 | - It's **getting** cold outside. (外面变冷了。) 31 | - She **got** angry when she heard the news. (她听到消息后生气了。) 32 | 33 | ## 使、让(某人做某事) (get + 宾语 + to + 动词) 34 | 35 | - Can you **get** him to help us? (你能让他帮我们吗?) 36 | - I couldn't **get** the car to start. (我没能让车启动。) 37 | 38 | ## 捕捉、抓住 (get + 名词) 39 | 40 | - The police finally **got** the thief. (警察最终抓住了小偷。) 41 | - He **got** a fish while we were fishing. (我们钓鱼的时候他抓到了一条鱼。) 42 | 43 | ## 经历、遭受 (get + 名词) 44 | 45 | - I **got** sick last week. (我上周生病了。) 46 | - She **got** a promotion. (她升职了。) 47 | 48 | ## 达到、实现 (get + 名词/形容词) 49 | 50 | - We need to **get** this done by tomorrow. (我们需要在明天之前完成这个。) 51 | - He **got** the highest score in the class. (他得了班里最高分。) 52 | 53 | ## 说服、使信服 (get + 宾语 + to + 动词) 54 | 55 | - I finally **got** him to agree with my plan. (我最终说服他同意了我的计划。) 56 | 57 | ## 接收、收到 (get + 名词) 58 | 59 | - Did you **get** my message? (你收到我的消息了吗?) 60 | - She **got** a letter from her friend. (她收到了一封朋友的信。) 61 | 62 | ## 准备 (get + 名词) 63 | 64 | - I'll **get** dinner ready. (我会准备晚餐。) 65 | - **get** yourself ready for the meeting. (准备好参加会议。) 66 | 67 | ## 感染 (get + 名词) 68 | 69 | - I **got** a cold last week. (我上周感冒了。) 70 | 71 | ## 让某人明白某事 (get + through to + 宾语) 72 | 73 | - I can't **get** through to him. (我没法让他明白我的意思。) 74 | 75 | ## 引起某种反应 (get + 名词) 76 | 77 | - His joke always **gets** a laugh. (他的笑话总是能引起笑声。) 78 | 79 | ## 习得 (get + 名词) 80 | 81 | - You can **get** a lot of experience from this job. (你可以从这份工作中获得很多经验。) 82 | 83 | 这些例子展示了 "get" 的多种用法,从最基本的“得到”到复杂的“让某人做某事”或“理解”的意思。理解上下文对于正确使用和理解 “get” 非常重要。 84 | 85 | ## 短语 86 | 87 | 此外,"get" 还常常用于短语动词中,如: 88 | 89 | - "get up"(起床) 90 | - "get out"(出去) 91 | - "get off"(下车) 92 | - "get on"(上车) 93 | - "get over"(克服) 94 | - "get through"(通过) 95 | - "get in"(进入) 96 | - "get along"(相处) 97 | 98 | "get" 的用法非常多,以上只是一些基本的例子。在实际使用中,"get" 的含义可能会根据上下文和语境而变化。 99 | -------------------------------------------------------------------------------- /docs/tense/past-perfect-continuous.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 过去完成进行时 3 | --- 4 | 5 | # 过去完成进行时 (Past Perfect Continuous) 6 | 7 | past -------- past point -------- now -------- future 8 | 9 | ↑ 10 | 在过去某时间点之前一直在进行的动作 11 | 12 | 这种时态用于描述在过去某一时间点之前已经开始并持续进行的动作。 13 | 14 | ## 语法形式 15 | 16 | 过去完成进行时的构成是:**主语 + had been + 动词的现在分词(V-ing)** 17 | 18 | - **肯定句**:主语 + had been + 动词的现在分词 19 | 20 | - I had been working. 21 | - She had been studying. 22 | 23 | - **否定句**:主语 + had not been + 动词的现在分词 24 | 25 | - I had not been working. 26 | - She had not been studying. 27 | 28 | - **疑问句**:Had + 主语 + been + 动词的现在分词? 29 | - Had you been working? 30 | - Had she been studying? 31 | 32 | ## 应用场景 33 | 34 | ### 1. 表示持续的过去动作 35 | 36 | 用于描述在过去某个时间点之前已经持续了一段时间的动作。 37 | 38 | **示例:** 39 | 40 | - I had been working for three hours when she called. (当她打电话来的时候,我已经工作了三个小时。) 41 | - They had been living in Paris for ten years before they moved to London. (在搬到伦敦之前,他们在巴黎已经住了十年。) 42 | 43 | ### 2. 解释过去某一时刻的状态 44 | 45 | 用于解释过去某一时刻的状态是由之前持续的动作造成的。 46 | 47 | **示例:** 48 | 49 | - I was very tired because I had been running. (我很累,因为我一直在跑步。) 50 | - The ground was wet. It had been raining. (地面是湿的。之前一直在下雨。) 51 | 52 | ### 3. 强调动作的持续性 53 | 54 | 用于强调动作在过去持续的时间长度。 55 | 56 | **示例:** 57 | 58 | - She had been teaching English for 20 years before she retired. (在退休之前,她已经教了20年英语。) 59 | - How long had you been waiting when the bus finally arrived? (当公交车终于到达时,你已经等了多久?) 60 | 61 | ## 与其他时态的对比 62 | 63 | ### 过去完成进行时 vs 过去完成时 64 | 65 | 过去完成进行时强调动作的持续性和过程,而过去完成时强调动作的完成和结果。 66 | 67 | **示例:** 68 | 69 | - I had been painting the wall (强调过程,可能还没完成) 70 | - I had painted the wall (强调结果,已经完成) 71 | 72 | ### 过去完成进行时 vs 现在完成进行时 73 | 74 | 过去完成进行时是以过去某个时间点为参照点,而现在完成进行时是以现在为参照点。 75 | 76 | **示例:** 77 | 78 | - I have been working here for three years (现在完成进行时 - 到现在为止) 79 | - I had been working there for three years when I quit (过去完成进行时 - 到过去某个时间点为止) 80 | 81 | ## 常见用法和例句 82 | 83 | ### 1. 使用时间表达 84 | 85 | 常与 for, since, before, when, by the time 等时间表达搭配使用: 86 | 87 | - He had been studying for six hours when I saw him. 88 | - By the time I arrived, they had been waiting for two hours. 89 | 90 | ### 2. 表示原因和结果 91 | 92 | 用于解释过去某个状态或情况的原因: 93 | 94 | - He was out of breath because he had been running. 95 | - Her eyes were red because she had been crying. 96 | 97 | ### 3. 描述持续的活动 98 | 99 | 用于描述在过去持续进行的活动: 100 | 101 | - The children had been playing in the garden all morning. 102 | - We had been discussing the problem for hours before we found a solution. 103 | -------------------------------------------------------------------------------- /docs/qa/fe/monitor.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 监控 3 | --- 4 | 5 | 1. [Can you describe the main features of the front-end monitor SDK you developed and how you process and analyze monitor data to optimize performance?](#can-you-describe-the-main-features-of-the-front-end-monitor-sdk-you-developed-and-how-you-process-and-analyze-monitor-data-to-optimize-performance) 6 | 1. [What problems did you encounter while developing the monitoring SDK, and how did you solve them?](#what-problems-did-you-encounter-while-developing-the-monitoring-sdk-and-how-did-you-solve-them) 7 | 8 | ## Can you describe the main features of the front-end monitor SDK you developed and how you process and analyze monitor data to optimize performance? 9 | 10 | Well, our SDK can collect all kinds of data from webpages - you know, things like performance metrics, error logs, and user behavior data. Then we send all this data to our server and store it in a database. We've got a monitoring platform where we can check all this information. 11 | 12 | With this data, we can spot performance bottlenecks and make improvements. Like, we might implement caching or lazy loading for routes to speed things up. 13 | 14 |
15 | 查看中文 16 | 能否描述一下您开发的前端监控 SDK 的主要特点,以及如何处理和分析监控数据以优化性能? 17 | 18 | 它可以收集网页的性能数据、错误数据,以及用户的行为数据。然后将这些数据发送到服务器,存放到数据库。平时可以通过监控平台里查看这些数据。 19 | 通过这些数据可以分析网页的性能瓶颈,然后进行优化,例如做好缓存、路由懒加载等。 20 | 21 |
22 | 23 | ## What problems did you encounter while developing the monitoring SDK, and how did you solve them? 24 | 25 | Yeah, developing a monitoring SDK was pretty challenging - there were quite a few technical issues to solve. One interesting problem was figuring out if users actually like a page's content. We decided to look at two main things: how long users stay on the page and how much of it they read. 26 | 27 | For the page dwell time, we had to be careful to only count the time when users are actually looking at the page - you know, not when it's in a background tab. And for read depth, we calculate what percentage of the page content users have scrolled through. 28 | 29 | By looking at these two metrics together, we can get a pretty good idea of whether users like the content. Like, if we see lots of users spending more time on the page and reading more of it, that's a good sign that the content is working well for them. 30 | 31 |
32 | 查看中文 33 | 你在开发监控 SDK 的时候遇到了哪些问题,是怎么解决的? 34 | 35 | 开发监控 SDK 是一个难度不小的工作,在这个过程中,我遇到了不少的技术问题。例如怎么判断一个页面的内容是否受用户喜欢。我是根据两个指标来判断的:页面停留时长和页面阅读深度。 36 | 37 | 页面停留时长是指用户在页面的停留时间,在计算这个时间的时候要注意页面切换到后台的时候,这部分时间是不能算上的。页面阅读深度就是用户阅读时的内容高度占整个页面高度的比例。 38 | 39 | 通过这两个指标一起计算,就能看出来这个页面的内容是否受用户喜欢了。当多个用户的平均页面停留时长越长,平均阅读深度越高就说明这个页面越受用户喜欢。 40 | 41 |
42 | -------------------------------------------------------------------------------- /docs/grammar/at-on-in.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: at, on, in 3 | --- 4 | 5 | # At On In 的用法区别 6 | 7 | 这三个介词主要用于表示时间和地点,但使用场景各有不同。 8 | 9 | ## 表示时间 10 | 11 | ### At(点) 12 | 13 | 用于具体的时间点: 14 | 15 | - at 3 o'clock(在3点钟) 16 | - at noon/midnight(在中午/午夜) 17 | - at dawn/sunset(在黎明/日落时) 18 | - at Christmas/Easter(在圣诞节/复活节) 19 | 20 | ### On(天) 21 | 22 | 用于具体的日期或星期几: 23 | 24 | - on Monday(在星期一) 25 | - on July 1st(在7月1日) 26 | - on Christmas Day(在圣诞节那天) 27 | - on my birthday(在我生日那天) 28 | - on the weekend(在周末) 29 | 30 | ### In(较长时间段) 31 | 32 | 用于月份、年份、季节等较长时间段: 33 | 34 | - in July(在七月) 35 | - in 2024(在2024年) 36 | - in summer(在夏天) 37 | - in the morning/evening(在早上/晚上) 38 | - in the past/future(在过去/将来) 39 | 40 | ## 表示地点 41 | 42 | ### At(点) 43 | 44 | 用于特定的地点或位置点: 45 | 46 | - at home(在家) 47 | - at school/work(在学校/工作) 48 | - at the bus stop(在公交车站) 49 | - at the door(在门口) 50 | - at the top/bottom(在顶部/底部) 51 | 52 | ### On(面) 53 | 54 | 用于表面或者边界: 55 | 56 | - on the wall(在墙上) 57 | - on the floor(在地板上) 58 | - on the table(在桌子上) 59 | - on the page(在页面上) 60 | - on the street(在街道上) 61 | 62 | ### In(内) 63 | 64 | 用于封闭或包含的空间: 65 | 66 | - in the room(在房间里) 67 | - in London(在伦敦) 68 | - in the box(在盒子里) 69 | - in the garden(在花园里) 70 | - in the picture(在图片中) 71 | 72 | ## 特殊用法说明 73 | 74 | ### 国家和地区 75 | 76 | 使用"in"而不是"on"的原因: 77 | 78 | - 虽然国家和地区有边界,但这是三维的包含性边界,不是二维的表面 79 | - 强调在整个区域范围内,而不是在表面上 80 | - 被视为一个完整的空间范围 81 | 例如: 82 | - in China(在中国) 83 | - in the United States(在美国) 84 | - in the countryside/country(在乡下/农村) 85 | - in the city(在城市里) 86 | - in the world(在世界上) 87 | 88 | ### 交通工具 89 | 90 | - in a car/taxi(在车里)- 封闭空间 91 | - on a bus/train/plane(在公交/火车/飞机上)- 可以走动的大型交通工具 92 | - on a bicycle/motorcycle(在自行车/摩托车上)- 需要跨坐的交通工具 93 | 94 | ### 队列和行列 95 | 96 | - in line/queue(排队)- 强调在队列中 97 | - on line(排队) 98 | - at the front/back(在前面/后面)- 强调位置点 99 | 100 | ### 建筑物和机构 101 | 102 | - in the building(在建筑物内部) 103 | - at the building(在建筑物,作为一个地标) 104 | - in the hospital(住院) 105 | - at the hospital(在医院,可能是探病或工作) 106 | 107 | ## 记忆技巧 108 | 109 | 可以通过空间概念来记忆: 110 | 111 | - At = 点(最小,精确位置) 112 | - On = 面(平面或表面) 113 | - In = 体(有内部空间的区域) 114 | 115 | ## 常见固定搭配 116 | 117 | ### At 118 | 119 | - at first(起初) 120 | - at last(最后) 121 | - at once(立刻) 122 | - at present(目前) 123 | - at least(至少) 124 | 125 | ### On 126 | 127 | - on time(准时) 128 | - on holiday(度假) 129 | - on business(出差) 130 | - on purpose(故意) 131 | - on sale(在售) 132 | 133 | ### In 134 | 135 | - in time(及时) 136 | - in advance(提前) 137 | - in fact(事实上) 138 | - in general(通常) 139 | - in public(公开地) 140 | 141 | ## 注意事项 142 | 143 | 1. 某些固定搭配需要特别记忆,可能不符合一般规则 144 | 1. 同一个地点可能根据上下文使用不同的介词 145 | - at the airport(在机场,表示位置点) 146 | - in the airport(在机场内部) 147 | -------------------------------------------------------------------------------- /docs/qa/fe/cli.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 脚手架 3 | --- 4 | 5 | 1. [You mentioned that you have experience developing a scaffold. Can you explain why you developed the scaffold and what problems it solved?](#you-mentioned-that-you-have-experience-developing-a-scaffold-can-you-explain-why-you-developed-the-scaffold-and-what-problems-it-solved) 6 | 1. [What challenges did you encounter during the development of the scaffold, and how did you solve them?](#what-challenges-did-you-encounter-during-the-development-of-the-scaffold-and-how-did-you-solve-them) 7 | 8 | ## You mentioned that you have experience developing a scaffold. Can you explain why you developed the scaffold and what problems it solved? 9 | 10 | Well, we mainly developed the scaffold to speed up project creation. You know, we had various project templates built into the scaffold based on our company's needs - like PC admin systems, mobile apps, and mini-program templates. With this scaffold, we don't have to start projects from scratch anymore or manually set up things like eslint and ci/cd, because all that stuff is pre-configured in the templates. Now, creating a new project is super simple - just one command and you're good to go. It's really convenient and has definitely boosted our development efficiency. 11 | 12 |
13 | 查看中文 14 | 你提到有开发脚手架的经历,能讲一下为什么要开发脚手架吗,它解决了什么问题? 15 | 16 | 开发脚手架主要为了能快速地创建项目。这个脚手架根据我们公司的业务需求内置了很多项目模板,例如 PC 后台管理系统、移动端 项目、小程序项目模板等等。有了脚手架,我们就不用再从零开始创建项目,也不用手动配置 eslint、ci/cd 了,因为项目模板都已经提前配置好了。现在使用脚手架来创建项目只需要一行命令,非常方便,大大的提升了开发效率。 17 | 18 |
19 | 20 | ## What challenges did you encounter during the development of the scaffold, and how did you solve them? 21 | 22 | Yeah, I ran into quite a few challenges while developing the scaffold. Like, how to handle user interactions - you know, getting users to pick templates and capturing their input. Also figuring out how to create projects based on their template choices, and how to automatically install dependencies. That kind of stuff. 23 | 24 | Let me tell you about two specific problems we solved. For user interaction, I used Inquirer.js - it's great for displaying prompts in the command line and handling user input. After the user picks a template, I take all their inputs like project name and npm registry as variables, pass them into the template, and then use the ejs library to render it. Finally, I use Node.js to write all the rendered template files into the project. 25 | 26 |
27 | 查看中文 28 | 你在开发脚手架的过程中遇到了哪些难题,你是怎么解决的? 29 | 30 | 我在开发脚手架的过程中确实遇到了很多难题。例如如何和用户交互,提示用户选择模板,识别用户的输入;如何根据用户选择的模板来创建项目;如何自动安装依赖等一系列问题。 31 | 32 | 我挑其中的两个问题来说吧。关于和用户交互的问题,我使用了 `Inquirer.js`,它能把提示输出到命令行,也能在命令行中识别用户的输入。在用户选择好模板后,我会根据用户输入的项目名称,npm 注册源等一系列参数当作变量传入模板,然后使用 `ejs` 库渲染模板,再通过 nodejs 将渲染好的模板文件写入项目。 33 | 34 |
35 | -------------------------------------------------------------------------------- /docs/tense/past-future-continuous.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 过去将来进行时 3 | --- 4 | 5 | # 过去将来进行时 (Future Continuous in the Past) 6 | 7 | past point -------- future point -------- now -------- future 8 | 9 | ↑ ------------------------ ↑ 10 | 11 | 从过去看 ---------将来正在进行的动作 12 | 13 | 这种时态用于描述从过去某一时间点来看,在将来某一时刻正在进行的动作。 14 | 15 | ## 语法形式 16 | 17 | 过去将来进行时的构成是:**主语 + would be/was going to be + 动词的现在分词(V-ing)** 18 | 19 | - **肯定句**:主语 + would be + 动词的现在分词 20 | 21 | - I would be working. 22 | - She would be studying. 23 | 24 | - **否定句**:主语 + would not be + 动词的现在分词 25 | 26 | - I would not (wouldn't) be working. 27 | - She would not (wouldn't) be studying. 28 | 29 | - **疑问句**:Would + 主语 + be + 动词的现在分词? 30 | - Would you be working? 31 | - Would she be studying? 32 | 33 | ## 应用场景 34 | 35 | ### 1. 表示过去预期的将来进行的动作 36 | 37 | 用于描述在过去某一时刻,预期在将来某个时间点正在进行的动作。 38 | 39 | **示例:** 40 | 41 | - He said he would be working at 8 PM. (他说他8点的时候会正在工作。) 42 | - I knew she would be waiting for me when I arrived. (我知道我到达时她会正在等我。) 43 | 44 | ### 2. 间接引语中的将来进行时 45 | 46 | 在间接引语中,将来进行时变成过去将来进行时。 47 | 48 | **示例:** 49 | 50 | - Direct: "I will be studying all evening." (我整个晚上都会在学习。) 51 | - Indirect: She said she would be studying all evening. (她说她整个晚上都会在学习。) 52 | 53 | ### 3. 表示过去对将来的礼貌询问 54 | 55 | 用于在过去时间点对将来的礼貌询问。 56 | 57 | **示例:** 58 | 59 | - I wanted to know if you would be using the car tomorrow. (我想知道你明天是否会用车。) 60 | - She asked if I would be attending the meeting. (她问我是否会参加会议。) 61 | 62 | ## 与其他时态的对比 63 | 64 | ### 过去将来进行时 vs 将来进行时 65 | 66 | 过去将来进行时是从过去的视角看将来的进行动作,而将来进行时是从现在的视角看将来的进行动作。 67 | 68 | **示例:** 69 | 70 | - I will be working tomorrow at 9. (将来进行时 - 从现在看) 71 | - He said he would be working the next day at 9. (过去将来进行时 - 从过去看) 72 | 73 | ### 过去将来进行时 vs 过去进行时 74 | 75 | 过去将来进行时表示在过去某一时刻之后要进行的动作,而过去进行时表示在过去正在进行的动作。 76 | 77 | **示例:** 78 | 79 | - I was working yesterday at 9. (过去进行时 - 过去的进行) 80 | - I knew I would be working today at 9. (过去将来进行时 - 过去对将来的预期) 81 | 82 | ## 常见用法和例句 83 | 84 | ### 1. 在从句中的使用 85 | 86 | 常用于宾语从句、时间从句等: 87 | 88 | - I thought you would be sleeping when I called. 89 | - She wondered what he would be doing at that time. 90 | 91 | ### 2. 表示预期的持续动作 92 | 93 | 用于表达过去对将来持续动作的预期: 94 | 95 | - We knew we would be traveling all day tomorrow. 96 | - They said they would be staying with us for a week. 97 | 98 | ### 3. 描述预定的安排 99 | 100 | 用于描述在过去时已经预定的将来安排: 101 | 102 | - The manager said he would be meeting clients all afternoon. 103 | - She told me she would be working late that evening. 104 | 105 | ## 注意事项 106 | 107 | 1. 不是所有动词都适合用于进行时态: 108 | 109 | - ❌ He said he would be knowing the answer. 110 | - ✔️ He said he would know the answer. 111 | 112 | 2. 在时间状语从句中,要用一般现在时而不是过去将来进行时: 113 | 114 | - When I arrive (不是 would be arriving), he would be working. 115 | - While he works (不是 would be working), I would be resting. 116 | 117 | 3. 过去将来进行时常与以下时间表达一起使用: 118 | - at that time 119 | - the next/following day 120 | - all day/week/month 121 | - when/while 122 | -------------------------------------------------------------------------------- /docs/tense/future-continuous.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 将来进行时 3 | --- 4 | 5 | # 将来进行时 (Future Continuous) 6 | 7 | past -------- now -------- future point -------- future 8 | 9 | ↑ 10 | 将来正在进行的动作 11 | 12 | 这种时态用于描述在将来某个时间点正在进行的动作。 13 | 14 | ## 语法形式 15 | 16 | 将来进行时的构成是:**主语 + will be + 动词的现在分词(V-ing)** 17 | 18 | - **肯定句**:主语 + will be + 动词的现在分词 19 | 20 | - I will be working. 21 | - She will be studying. 22 | 23 | - **否定句**:主语 + will not be + 动词的现在分词 24 | 25 | - I will not (won't) be working. 26 | - She will not (won't) be studying. 27 | 28 | - **疑问句**:Will + 主语 + be + 动词的现在分词? 29 | - Will you be working? 30 | - Will she be studying? 31 | 32 | ## 应用场景 33 | 34 | ### 1. 将来某时正在进行的动作 35 | 36 | 用于描述在将来某个特定时间点正在进行的动作。 37 | 38 | **示例:** 39 | 40 | - This time tomorrow I will be flying to Paris. (明天这个时候我将正在飞往巴黎。) 41 | - At 8 PM tonight, they will be having dinner. (今晚8点,他们将正在吃晚饭。) 42 | 43 | ### 2. 预先安排的动作 44 | 45 | 用于表示按照计划或安排要进行的动作。 46 | 47 | **示例:** 48 | 49 | - I will be attending a conference next week. (下周我将参加一个会议。) 50 | - She will be working in London for the next three months. (接下来的三个月她将在伦敦工作。) 51 | 52 | ### 3. 礼貌询问 53 | 54 | 用于礼貌地询问某人的计划或安排。 55 | 56 | **示例:** 57 | 58 | - Will you be using the car this evening? (今晚你会用车吗?) 59 | - Will they be joining us for dinner? (他们会和我们一起吃晚饭吗?) 60 | 61 | ## 与其他时态的对比 62 | 63 | ### 将来进行时 vs 一般将来时 64 | 65 | 将来进行时强调动作的持续性,而一般将来时强调动作本身。 66 | 67 | **示例:** 68 | 69 | - I will work tomorrow. (一般将来时 - 表示明天要工作这个事实) 70 | - I will be working tomorrow. (将来进行时 - 强调明天正在工作的状态) 71 | 72 | ### 将来进行时 vs 现在进行时表将来 73 | 74 | 两者都可以表示将来的安排,但将来进行时更强调动作的持续性。 75 | 76 | **示例:** 77 | 78 | - I am meeting John tomorrow. (现在进行时 - 强调已确定的安排) 79 | - I will be meeting with clients all day tomorrow. (将来进行时 - 强调持续性) 80 | 81 | ## 常见用法和例句 82 | 83 | ### 1. 与时间表达搭配 84 | 85 | 常与特定的时间点或时间段搭配使用: 86 | 87 | - At this time tomorrow 88 | - During the next few weeks 89 | - All day tomorrow 90 | - This time next year 91 | 92 | **示例:** 93 | 94 | - This time next year, I will be living in Australia. 95 | - He will be teaching all morning tomorrow. 96 | 97 | ### 2. 表示预期或预测 98 | 99 | 用于描述预期在将来发生的事情: 100 | 101 | - Don't call at 7 PM, we will be watching the football match. 102 | - By this time next month, the builders will be finishing the house. 103 | 104 | ### 3. 表示背景动作 105 | 106 | 用于描述将来某个时间点的背景动作: 107 | 108 | - When you arrive, I will be cooking dinner. 109 | - While I will be working, my children will be at school. 110 | 111 | ## 注意事项 112 | 113 | 1. 不是所有的动词都适合用于进行时态,特别是状态动词: 114 | 115 | - ❌ I will be knowing the result tomorrow. 116 | - ✔️ I will know the result tomorrow. 117 | 118 | 2. 将来进行时常用于表示自然而然会发生的事情,而不是临时决定: 119 | 120 | - The sun will be rising at 5 AM tomorrow. (自然发生) 121 | - I will help you with that. (临时决定,用一般将来时) 122 | 123 | 3. 在时间或条件从句中,要用现在进行时而不是将来进行时: 124 | - When I am working tomorrow (不是 will be working), please don't disturb me. 125 | - If it is raining (不是 will be raining) when we leave, we'll take a taxi. 126 | -------------------------------------------------------------------------------- /docs/tense/summary.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 英语时态总结 3 | --- 4 | 5 | # 英语时态总结 6 | 7 | 英语中有16种基本时态,是由4种基本时间(现在、过去、将来、过去将来)和4种基本状态(一般、进行、完成、完成进行)组合而成。 8 | 9 | ## 时态概览表 10 | 11 | | 基本状态\基本时间 | 现在 | 过去 | 将来 | 过去将来 | 12 | | ----------------- | -------------- | -------------- | -------------- | ------------------ | 13 | | 一般 | 一般现在时 | 一般过去时 | 一般将来时 | 过去将来时 | 14 | | 进行 | 现在进行时 | 过去进行时 | 将来进行时 | 过去将来进行时 | 15 | | 完成 | 现在完成时 | 过去完成时 | 将来完成时 | 过去将来完成时 | 16 | | 完成进行 | 现在完成进行时 | 过去完成进行时 | 将来完成进行时 | 过去将来完成进行时 | 17 | 18 | ## 基本结构 19 | 20 | ### 现在时态 21 | 22 | 1. **一般现在时**: 主语 + V(第三人称+s) / do/does + V 23 | 2. **现在进行时**: 主语 + am/is/are + V-ing 24 | 3. **现在完成时**: 主语 + have/has + V过去分词 25 | 4. **现在完成进行时**: 主语 + have/has been + V-ing 26 | 27 | ### 过去时态 28 | 29 | 1. **一般过去时**: 主语 + V过去式 / did + V 30 | 2. **过去进行时**: 主语 + was/were + V-ing 31 | 3. **过去完成时**: 主语 + had + V过去分词 32 | 4. **过去完成进行时**: 主语 + had been + V-ing 33 | 34 | ### 将来时态 35 | 36 | 1. **一般将来时**: 主语 + will + V / be going to + V 37 | 2. **将来进行时**: 主语 + will be + V-ing 38 | 3. **将来完成时**: 主语 + will have + V过去分词 39 | 4. **将来完成进行时**: 主语 + will have been + V-ing 40 | 41 | ### 过去将来时态 42 | 43 | 1. **过去将来时**: 主语 + would + V / was/were going to + V 44 | 2. **过去将来进行时**: 主语 + would be + V-ing 45 | 3. **过去将来完成时**: 主语 + would have + V过去分词 46 | 4. **过去将来完成进行时**: 主语 + would have been + V-ing 47 | 48 | ## 主要用法特点 49 | 50 | ### 一般时态 51 | 52 | - **一般现在时**: 表示经常性、习惯性动作或客观事实 53 | - **一般过去时**: 表示过去发生的动作或状态 54 | - **一般将来时**: 表示将来发生的动作或状态 55 | - **过去将来时**: 表示过去某时刻对将来的预期 56 | 57 | ### 进行时态 58 | 59 | - **现在进行时**: 表示现在正在进行的动作 60 | - **过去进行时**: 表示过去某时刻正在进行的动作 61 | - **将来进行时**: 表示将来某时刻正在进行的动作 62 | - **过去将来进行时**: 表示从过去某时刻看将来正在进行的动作 63 | 64 | ### 完成时态 65 | 66 | - **现在完成时**: 表示过去发生的动作对现在造成的影响 67 | - **过去完成时**: 表示过去某时刻之前已经完成的动作 68 | - **将来完成时**: 表示将来某时刻之前将完成的动作 69 | - **过去将来完成时**: 表示从过去看将来某时刻之前要完成的动作 70 | 71 | ### 完成进行时态 72 | 73 | - **现在完成进行时**: 表示从过去持续到现在的动作 74 | - **过去完成进行时**: 表示从过去某时持续到过去另一时刻的动作 75 | - **将来完成进行时**: 表示从现在持续到将来某时刻的动作 76 | - **过去将来完成进行时**: 表示从过去持续到过去将来某时刻的动作 77 | 78 | ## 时态选择要点 79 | 80 | 1. **时间参照点** 81 | 82 | - 现在时态:以现在为参照点 83 | - 过去时态:以过去某时刻为参照点 84 | - 将来时态:以将来某时刻为参照点 85 | - 过去将来时态:以过去某时刻为参照点,展望将来 86 | 87 | 2. **动作特征** 88 | 89 | - 一般时态:强调动作本身 90 | - 进行时态:强调动作的持续性 91 | - 完成时态:强调动作的完成和结果 92 | - 完成进行时态:强调动作的持续性和结果 93 | 94 | 3. **常见时态搭配** 95 | - 时间状语从句中的将来时用现在时表示 96 | - 间接引语中的时态要进行相应转换 97 | - 条件句中的时态要遵循特定规则 98 | 99 | ## 易混淆时态辨析 100 | 101 | 1. **一般现在时 vs 现在进行时** 102 | 103 | - I work here. (一般性工作) 104 | - I am working here. (当前正在工作) 105 | 106 | 2. **一般过去时 vs 现在完成时** 107 | 108 | - I visited Paris last year. (强调过去的动作) 109 | - I have visited Paris. (强调对现在的影响) 110 | 111 | 3. **现在完成时 vs 现在完成进行时** 112 | 113 | - I have written three letters. (强调完成的数量) 114 | - I have been writing letters. (强调持续的过程) 115 | 116 | 4. **过去完成时 vs 一般过去时** 117 | - When I arrived, he had left. (强调先后顺序) 118 | - When I arrived, he left. (强调相继发生) 119 | -------------------------------------------------------------------------------- /docs/grammar/as-as-the-same-as.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: as...as and the same ... as 3 | --- 4 | 5 | # as...as and the same ... as 6 | 7 | ## as...as 8 | 9 | - **语法结构**: as + 形容词/副词 + as 10 | - **使用场景**: 11 | 12 | - 用于表示两个事物在某一方面是相等的。 13 | - 可以用于肯定句和否定句。 14 | 15 | - **例子**: 16 | - 肯定句: 17 | - She is as tall as her brother.(她和她的哥哥一样高。) 18 | - He runs as quickly as a cheetah.(他跑得和猎豹一样快。) 19 | - 否定句: 20 | - He is not as fast as his friend.(他没有他的朋友跑得快。) 21 | - This book is not as interesting as that one.(这本书没有那本书有趣。) 22 | 23 | ### 详细说明 24 | 25 | 1. **结构分析** 26 | 27 | - **as...as** 结构中,第一个 "as" 是用来引导比较的,第二个 "as" 是用来表示比较的对象。 28 | - 中间插入的形容词或副词用来描述比较的特征。 29 | 30 | 2. **使用方法** 31 | 32 | - **肯定句**: 表示两个事物在某一特征上是相等的。 33 | - 例子: The movie is as exciting as the book.(这部电影和这本书一样令人激动。) 34 | - **否定句**: 表示两个事物在某一特征上不完全相等。 35 | - 例子: This problem is not as difficult as the previous one.(这个问题没有前一个难。) 36 | 37 | 3. **常见错误** 38 | 39 | - 忘记使用第二个 "as"。例如:He is as tall his brother.(错误) 40 | - 忘记在形容词或副词前后加 "as"。例如:She is tall as her brother.(错误) 41 | 42 | 4. **变体** 43 | - **as much...as**: 用于不可数名词。 44 | - 例子: He doesn't have as much money as his brother.(他没有他哥哥有钱。) 45 | - **as many...as**: 用于可数名词。 46 | - 例子: She has as many books as her friend.(她和她朋友有一样多的书。) 47 | 48 | ## the same ... as 49 | 50 | - **语法结构**: the same + 名词 + as 51 | - **使用场景**: 52 | 53 | - 用于表示两个事物在某一方面是完全相同的。 54 | - 通常用于肯定句。 55 | 56 | - **例子**: 57 | - My phone is the same model as yours.(我的手机和你的是同一型号。) 58 | - She wears the same dress as her sister.(她穿的裙子和她妹妹的一样。) 59 | - The results are the same as before.(结果和以前一样。) 60 | 61 | ### 详细说明 62 | 63 | 1. **结构分析** 64 | 65 | - **the same as** 结构中,"the same" 用来表示“相同的”,"as" 用来引导比较的对象。 66 | - 中间插入的名词用来描述比较的事物。 67 | 68 | 2. **使用方法** 69 | 70 | - **肯定句**: 表示两个事物在某一方面完全相同。 71 | - 例子: His opinion is the same as mine.(他的意见和我的一样。) 72 | - **否定句**: 虽然 less 常见,但也可以用于否定句,表示两个事物在某一方面不完全相同。 73 | - 例子: His opinion is not the same as mine.(他的意见和我的不一样。) 74 | 75 | 3. **常见错误** 76 | 77 | - 忘记使用 "as"。例如:My phone is the same model yours.(错误) 78 | - 将 "the same" 与 "like" 混淆。正确的结构是 "the same as" 而不是 "the same like"。 79 | 80 | 4. **变体** 81 | - **the same...as** 结构也可以用于比较数量、质量等。 82 | - 例子: He has the same number of books as I do.(他有的书和我一样多。) 83 | - 例子: This fabric feels the same as that one.(这种布料和那种布料感觉一样。) 84 | 85 | ## 区别 86 | 87 | 1. **结构不同** 88 | 89 | - **as...as**: 中间插入的是形容词或副词,用于比较某个特征的程度。 90 | - **the same as**: 中间插入的是名词,用于比较事物本身的相同性。 91 | 92 | 2. **使用场景不同** 93 | 94 | - **as...as**: 用于表示两个事物在某一方面的相等程度,更多地强调“程度”。 95 | - 例子: This book is as interesting as that one.(这本书和那本书一样有趣。) 96 | - **the same as**: 用于表示两个事物在某一方面完全相同,更多地强调“相同性”。 97 | - 例子: The results are the same as before.(结果和以前一样。) 98 | 99 | 3. **表达的层级不同** 100 | - **as...as**: 可以用于表示否定,即两个事物在某一方面不完全相等。 101 | - 例子: He is not as fast as his friend.(他没有他的朋友跑得快。) 102 | - **the same as**: 通常用于表示完全相同,不常用于否定。 103 | - 例子: He has the same number of books as I do.(他有的书和我一样多。) 104 | -------------------------------------------------------------------------------- /docs/tense/past-future.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 过去将来时 3 | --- 4 | 5 | # 过去将来时 (Future in the Past) 6 | 7 | past point -------- future point -------- now -------- future 8 | 9 | ↑ ------------------------ ↑ 10 | 11 | 从过去看 ------------ 将要发生的动作 12 | 13 | 这种时态用于描述从过去某一时间点来看将要发生的动作。 14 | 15 | ## 语法形式 16 | 17 | 过去将来时主要有两种构成方式: 18 | 19 | ### 1. would + 动词原形 20 | 21 | - **肯定句**:主语 + would + 动词原形 22 | 23 | - I would work. 24 | - She would study. 25 | 26 | - **否定句**:主语 + would not (wouldn't) + 动词原形 27 | 28 | - I would not (wouldn't) work. 29 | - She would not (wouldn't) study. 30 | 31 | - **疑问句**:Would + 主语 + 动词原形? 32 | - Would you work? 33 | - Would she study? 34 | 35 | ### 2. was/were going to + 动词原形 36 | 37 | - **肯定句**:主语 + was/were going to + 动词原形 38 | 39 | - I was going to work. 40 | - They were going to study. 41 | 42 | - **否定句**:主语 + was/were not going to + 动词原形 43 | 44 | - I was not going to work. 45 | - They were not going to study. 46 | 47 | - **疑问句**:Was/Were + 主语 + going to + 动词原形? 48 | - Were you going to work? 49 | - Was she going to study? 50 | 51 | ## 应用场景 52 | 53 | ### 1. 表示过去的预期或计划 54 | 55 | 用于描述在过去某一时刻对将来的预期或计划。 56 | 57 | **示例:** 58 | 59 | - He said he would finish the work by Friday. (他说他会在星期五之前完成工作。) 60 | - I was going to call you yesterday. (我本打算昨天给你打电话。) 61 | 62 | ### 2. 表示未实现的计划 63 | 64 | 用于描述过去计划要做但最终没有实现的事情。 65 | 66 | **示例:** 67 | 68 | - We were going to travel to Paris, but our flight was cancelled. (我们本打算去巴黎,但航班取消了。) 69 | - I would have helped you if you had asked. (如果你问了的话,我本来会帮你的。) 70 | 71 | ### 3. 间接引语中的将来时 72 | 73 | 在间接引语中,将来时要变成过去将来时。 74 | 75 | **示例:** 76 | 77 | - Direct: "I will help you." (我会帮你。) 78 | - Indirect: He said he would help me. (他说他会帮我。) 79 | 80 | ## 与其他时态的对比 81 | 82 | ### 过去将来时 vs 一般将来时 83 | 84 | 过去将来时是从过去的视角看将来,而一般将来时是从现在的视角看将来。 85 | 86 | **示例:** 87 | 88 | - I will go to London next week. (一般将来时 - 从现在看) 89 | - He said he would go to London the following week. (过去将来时 - 从过去看) 90 | 91 | ### 过去将来时 vs 过去时 92 | 93 | 过去将来时表示在过去某一时刻之后要发生的事,而过去时表示已经发生的事。 94 | 95 | **示例:** 96 | 97 | - I knew I would meet her again. (过去将来时 - 在"knew"之后要发生的事) 98 | - I met her again. (过去时 - 已经发生的事) 99 | 100 | ## 常见用法和例句 101 | 102 | ### 1. 在从句中的使用 103 | 104 | 常用于宾语从句、时间从句等: 105 | 106 | - I thought it would rain yesterday. 107 | - She wondered when he would arrive. 108 | 109 | ### 2. 表示过去的意图 110 | 111 | 用于表达过去的意图或打算: 112 | 113 | - I was going to tell you, but I forgot. 114 | - They were going to buy a house, but they changed their minds. 115 | 116 | ### 3. 用于虚拟语气 117 | 118 | 在虚拟语气中表示过去未实现的可能: 119 | 120 | - If I had known earlier, I would have helped you. 121 | - She would have come if you had invited her. 122 | 123 | ## 注意事项 124 | 125 | 1. would 和 was/were going to 的区别: 126 | 127 | - would 更多用于表示过去的预测或可能性 128 | - was/were going to 更多用于表示过去的计划或打算 129 | 130 | 2. 在某些从句中,需要使用过去将来时: 131 | 132 | - He promised that he would return soon. 133 | - I knew that it would happen. 134 | 135 | 3. 过去将来时常与以下时间表达一起使用: 136 | - the next day 137 | - the following week 138 | - later 139 | - afterwards 140 | -------------------------------------------------------------------------------- /docs/sentence-pattern/sentence-elements.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 句子成分 3 | --- 4 | 5 | # 句子成分 6 | 7 | ## 主语(Subject) 8 | 9 | **定义**:主语是句子的核心,表示句子中行为的执行者或话题。 10 | 11 | **用法**: 12 | 13 | - 通常由名词、代词、动名词或不定式担任。 14 | - 通常位于句首。 15 | 16 | **示例**: 17 | 18 | - **The cat** is sleeping. (猫在睡觉。) 19 | - **She** loves reading. (她喜欢读书。) 20 | 21 | ## 谓语(Predicate) 22 | 23 | **定义**:谓语是说明主语的行为或状态的部分,通常包括动词及相关成分。 24 | 25 | **用法**: 26 | 27 | - 动词是谓语的核心。 28 | - 谓语可以是单个动词,也可以包括动词短语。 29 | 30 | **示例**: 31 | 32 | - The cat **is sleeping**. (猫在睡觉。) 33 | - She **loves reading**. (她喜欢读书。) 34 | 35 | ## 宾语(Object) 36 | 37 | **定义**:宾语是动词的承受者,可以是直接宾语和间接宾语。 38 | 39 | **用法**: 40 | 41 | - 通常由名词或代词担任。 42 | - 在陈述句中,通常位于及物动词之后。 43 | 44 | **示例**: 45 | 46 | - He reads **a book**. (他读一本书。)——直接宾语 47 | - She gave **him** **a gift**. (她给了他一件礼物。)——间接宾语(him)和直接宾语(a gift) 48 | 49 | ## 表语(Predicative/Complement) 50 | 51 | **定义**:表语是对主语的状态、特征或身份进行补充说明的成分,常见于连系动词之后。 52 | 53 | **用法**: 54 | 55 | - 经常由形容词、名词、分词或不定式等担任。 56 | - 常出现在系动词(如be, seem, become等)之后。 57 | 58 | **示例**: 59 | 60 | - She is **a teacher**. (她是一名教师。)——名词作表语 61 | - The weather became **cold**. (天气变冷了。)——形容词作表语 62 | - Her goal is **to become a doctor**. (她的目标是成为一名医生。)——不定式作表语 63 | 64 | ## 状语(Adverbial) 65 | 66 | **定义**:状语用来修饰动词、形容词、副词或整个句子,表示时间、地点、方式、程度、原因、目的等。 67 | 68 | **用法**: 69 | 70 | - 由副词、介词短语、分词、不定式短语或从句等充当。 71 | - 位置灵活,可以位于句首、句中和句末。 72 | 73 | **示例**: 74 | 75 | - He works **diligently**. (他工作勤奋。)——副词作状语 76 | - **In the morning**, she goes jogging. (早上,她去慢跑。)——介词短语作状语 77 | - They arrived **when the meeting started**. (他们到达时,会议开始了。)——从句作状语 78 | 79 | ## 定语(Attributive) 80 | 81 | **定义**:定语修饰名词或代词,表示其特征、性质或归属。 82 | 83 | **用法**: 84 | 85 | - 通常由形容词、名词、代词、分词、介词短语或从句担任。 86 | - 定语一般紧跟被修饰的名词或代词。 87 | 88 | **示例**: 89 | 90 | - A **beautiful** garden (一个美丽的花园)——形容词作定语 91 | - The **sports** car (这辆跑车)——名词作定语 92 | - Students **who are diligent** (勤奋的学生)——定语从句 93 | 94 | ## 补语(Complement) 95 | 96 | **定义**:补语对主语或宾语进行进一步说明或补充,分为主语补语和宾语补语。 97 | 98 | **用法**: 99 | 100 | - 主语补语通常紧跟在系动词之后,对主语进行补充说明。 101 | - 宾语补语通常跟随在宾语之后,对宾语进行补充说明。 102 | 103 | **示例**: 104 | 105 | - She is **happy**. (她很高兴。)——主语补语 106 | - They elected him **chairman**. (他们选他为主席。)——宾语补语 107 | 108 | ## 同位语(Appositive) 109 | 110 | **定义**:同位语是对名词或代词进行进一步解释或说明的成分,通常紧跟在其后。 111 | 112 | **用法**: 113 | 114 | - 由名词或名词短语担任。 115 | - 同位语和被解释的名词或代词通常在句子中紧挨在一起。 116 | 117 | **示例**: 118 | 119 | - My friend, **a doctor**, will visit us tomorrow. (我的朋友,一名医生,明天会来拜访我们。)——名词短语作同位语 120 | - The novel **'Pride and Prejudice'** is very popular. (小说《傲慢与偏见》非常受欢迎。)——名词作同位语 121 | 122 | ## 句子成分之间的关系 123 | 124 | 1. **主谓结构**: 125 | 126 | - **The dog (主语)** barks (谓语). 127 | 128 | 2. **主谓宾结构**: 129 | 130 | - **He (主语)** reads (谓语) **a book (宾语)**. 131 | 132 | 3. **主谓表结构**: 133 | 134 | - **She (主语)** is (谓语) **a doctor (表语)**. 135 | 136 | 4. **主谓宾补结构**: 137 | 138 | - **They (主语)** called (谓语) **him (宾语)** **a hero (补语)**. 139 | 140 | 5. **句中成分修饰**: 141 | - **The beautiful garden (定语修饰名词 garden)**. 142 | - **He works diligently (状语修饰动词 works)**. 143 | 144 | 了解这些句子成分及其用法,能够帮助我们更好地理解和构建复杂的句子结构,提高语法和句法的掌握能力。 145 | -------------------------------------------------------------------------------- /docs/tense/future-perfect.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 将来完成时 3 | --- 4 | 5 | # 将来完成时 (Future Perfect) 6 | 7 | past -------- now -------- future point -------- future 8 | 9 | ↑ 10 | 在将来某时间点之前要完成的动作 11 | 12 | 这种时态用于描述在将来某个时间点之前将要完成的动作。 13 | 14 | ## 语法形式 15 | 16 | 将来完成时的构成是:**主语 + will have + 过去分词** 17 | 18 | - **肯定句**:主语 + will have + 过去分词 19 | 20 | - I will have finished. 21 | - She will have graduated. 22 | 23 | - **否定句**:主语 + will not have + 过去分词 24 | 25 | - I will not (won't) have finished. 26 | - She will not (won't) have graduated. 27 | 28 | - **疑问句**:Will + 主语 + have + 过去分词? 29 | - Will you have finished? 30 | - Will she have graduated? 31 | 32 | ## 应用场景 33 | 34 | ### 1. 将来某时已完成的动作 35 | 36 | 用于描述在将来某个时间点之前已经完成的动作。 37 | 38 | **示例:** 39 | 40 | - By next month, I will have finished my thesis. (到下个月,我将已经完成论文。) 41 | - By the time you arrive, I will have cleaned the house. (在你到达之前,我将已经打扫好房子。) 42 | 43 | ### 2. 表示持续到将来的动作 44 | 45 | 用于描述到将来某个时间点为止已经持续了多长时间的动作。 46 | 47 | **示例:** 48 | 49 | - By next year, I will have worked here for ten years. (到明年,我将已经在这里工作十年了。) 50 | - By the end of this month, they will have been married for 25 years. (到本月底,他们将已经结婚25年了。) 51 | 52 | ### 3. 预测或推测 53 | 54 | 用于对将来某个时间点之前可能发生的事情进行预测。 55 | 56 | **示例:** 57 | 58 | - The plane will have landed by now. (飞机现在应该已经降落了。) 59 | - By the time we get there, the movie will have started. (等我们到那里时,电影应该已经开始了。) 60 | 61 | ## 与其他时态的对比 62 | 63 | ### 将来完成时 vs 一般将来时 64 | 65 | 将来完成时强调动作在将来某个时间点之前的完成状态,而一般将来时只是表示将来要发生的动作。 66 | 67 | **示例:** 68 | 69 | - I will finish the work tomorrow. (一般将来时 - 明天完成工作) 70 | - I will have finished the work by tomorrow evening. (将来完成时 - 到明天晚上之前就完成工作) 71 | 72 | ### 将来完成时 vs 现在完成时 73 | 74 | 将来完成时是以将来某个时间点为参照点,而现在完成时是以现在为参照点。 75 | 76 | **示例:** 77 | 78 | - I have worked here for five years. (现在完成时 - 到现在为止已工作五年) 79 | - By next year, I will have worked here for six years. (将来完成时 - 到明年将已工作六年) 80 | 81 | ## 常见用法和例句 82 | 83 | ### 1. 与时间表达搭配 84 | 85 | 常与以下时间表达搭配使用: 86 | 87 | - by + 将来时间点 88 | - by the time + 从句 89 | - before + 将来时间点 90 | 91 | **示例:** 92 | 93 | - By 2025, we will have built a new factory. 94 | - By the time you wake up, I will have left. 95 | 96 | ### 2. 表示推测 97 | 98 | 用于对将来某个时间点的情况进行推测: 99 | 100 | - The meeting will have finished by now. 101 | - They will have arrived home by this time. 102 | 103 | ### 3. 描述成就或目标 104 | 105 | 用于描述在将来某个时间点之前要达到的目标: 106 | 107 | - By the end of this year, I will have saved enough money for a car. 108 | - By graduation, she will have published three papers. 109 | 110 | ## 注意事项 111 | 112 | 1. 将来完成时通常需要一个明确的将来时间点作为参照: 113 | 114 | - ✔️ By next week, I will have completed the project. 115 | - ❌ I will have completed the project. (缺少时间参照点) 116 | 117 | 2. 在时间状语从句中,要用现在完成时而不是将来完成时: 118 | 119 | - When I have finished (不是 will have finished) my homework, I will call you. 120 | - After she has graduated (不是 will have graduated), she plans to travel. 121 | 122 | 3. 将来完成时常与以下时间表达一起使用: 123 | - by then 124 | - by that time 125 | - by the end of... 126 | - before... 127 | - when... 128 | -------------------------------------------------------------------------------- /docs/tense/present-perfect-continuous.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 现在完成进行时 3 | --- 4 | 5 | # 现在完成进行时 (Present Perfect Continuous) 6 | 7 | past -------- now -------- future 8 | 9 | |一直持续到现在的动作| 10 | 11 | 12 | 这种时态用于描述从过去某一时刻开始,一直持续到现在的动作,强调动作的持续性。 13 | 14 | ## 语法形式 15 | 16 | 现在完成进行时的结构是:**主语 + have/has + been + 动词的现在分词 (V-ing)** 17 | 18 | - **肯定句**:主语 + have/has + been + 动词的现在分词 19 | 20 | - I have been working. 21 | - She has been studying. 22 | 23 | - **否定句**:主语 + have/has + not + been + 动词的现在分词 24 | 25 | - I have not been working. 26 | - She has not been studying. 27 | 28 | - **疑问句**:Have/Has + 主语 + been + 动词的现在分词? 29 | - Have you been working? 30 | - Has she been studying? 31 | 32 | ## 应用场景 33 | 34 | 现在完成进行时用于强调动作从过去某一时刻开始,一直持续到现在,并且可能还会继续。它通常用来表示动作的持续时间和动作对现在的影响。 35 | 36 | ### 1. 动作从过去持续到现在 37 | 38 | 用于强调动作从过去某一时刻开始并持续到现在。 39 | 40 | **示例:** 41 | 42 | - I have been reading this book for two hours. (我已经读这本书两个小时了。) 43 | - They have been living here since 2010. (他们自2010年以来一直住在这里。) 44 | 45 | ### 2. 表示动作的重复性 46 | 47 | 用于强调某个动作在一段时间内反复发生。 48 | 49 | **示例:** 50 | 51 | - She has been calling you all day. (她一整天都在给你打电话。) 52 | - We have been meeting regularly to discuss the project. (我们一直定期开会讨论这个项目。) 53 | 54 | ### 3. 动作的影响 55 | 56 | 用于强调刚刚完成的动作对现在的影响,通常用来解释当前的情况或状态。 57 | 58 | **示例:** 59 | 60 | - I'm tired because I have been working all day. (我很累,因为我一整天都在工作。) 61 | - The ground is wet because it has been raining. (地面湿了,因为一直在下雨。) 62 | 63 | ### 4. 动作的持续性和结果 64 | 65 | 用于描述动作的持续性以及该动作的结果对现在的影响。 66 | 67 | **示例:** 68 | 69 | - He has been studying hard, so he is well-prepared for the exam. (他一直在努力学习,所以他为考试做好了充分的准备。) 70 | - They have been playing football, and now they are exhausted. (他们一直在踢足球,现在他们累坏了。) 71 | 72 | ## 例句 73 | 74 | **肯定句:** 75 | 76 | - I have been learning English for five years. (我已经学习英语五年了。) 77 | - She has been working at this company since she graduated. (她自毕业以来一直在这家公司工作。) 78 | 79 | **否定句:** 80 | 81 | - I have not been feeling well lately. (我最近感觉不太好。) 82 | - He has not been sleeping well these days. (他最近睡得不好。) 83 | 84 | **疑问句:** 85 | 86 | - Have you been exercising regularly? (你有定期锻炼吗?) 87 | - Has he been working on the project? (他一直在做这个项目吗?) 88 | 89 | ## 现在完成时和现在完成进行时的区别 90 | 91 | 现在完成时和现在完成进行时都是描述从过去开始并持续到现在的动作或状态,但它们的侧重点和结构不同。 92 | 93 | ### 现在完成时 (Present Perfect) 94 | 95 | 现在完成时的结构是 **"have/has" + 动词的过去分词**。这种时态强调的是动作的结果或动作的完成。 96 | 97 | **示例:** 98 | 99 | - "I have finished my homework."(我已经完成了我的作业。)——这句话强调的是作业已经完成这个结果。 100 | 101 | **注意:** 在这种时态中,我们通常不使用 "been",除非动词是 "be"。 102 | 103 | ### 现在完成进行时 (Present Perfect Continuous) 104 | 105 | 现在完成进行时的结构是 **"have/has been" + 动词的现在分词**。这种时态强调的是动作的持续性或过程。 106 | 107 | **示例:** 108 | 109 | - "I have been doing my homework."(我一直在做我的作业。)——这句话强调的是做作业这个动作正在持续进行。 110 | 111 | **注意:** 在这种时态中,我们需要使用 "been"。 112 | 113 | ### 选择时态的依据 114 | 115 | 选择使用现在完成时还是现在完成进行时,主要取决于你想强调的是动作的完成(现在完成时)还是动作的持续(现在完成进行时)。 116 | 117 | - **现在完成时** 强调动作已经完成,结果对现在有影响。 118 | 119 | - "She has written three letters."(她已经写了三封信。)——强调写信这个动作已经完成。 120 | 121 | - **现在完成进行时** 强调动作从过去持续到现在,并且可能还会继续。 122 | - "She has been writing letters all morning."(她整个上午都在写信。)——强调写信这个动作的持续性。 123 | -------------------------------------------------------------------------------- /docs/tense/past-future-perfect.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 过去将来完成时 3 | --- 4 | 5 | # 过去将来完成时 (Future Perfect in the Past) 6 | 7 | past point -------- future point -------- now -------- future 8 | 9 | ↑ ------------------------ ↑ 10 | 11 | 从过去看 --------在过去将来某时间点之前要完成的动作 12 | 13 | 这种时态用于描述从过去某一时间点来看,在将来某一时刻之前要完成的动作。 14 | 15 | ## 语法形式 16 | 17 | 过去将来完成时的构成是:**主语 + would have + 过去分词** 18 | 19 | - **肯定句**:主语 + would have + 过去分词 20 | 21 | - I would have finished. 22 | - She would have graduated. 23 | 24 | - **否定句**:主语 + would not have + 过去分词 25 | 26 | - I would not (wouldn't) have finished. 27 | - She would not (wouldn't) have graduated. 28 | 29 | - **疑问句**:Would + 主语 + have + 过去分词? 30 | - Would you have finished? 31 | - Would she have graduated? 32 | 33 | ## 应用场景 34 | 35 | ### 1. 表示过去预期的将来完成的动作 36 | 37 | 用于描述在过去某一时刻,预期在将来某个时间点之前要完成的动作。 38 | 39 | **示例:** 40 | 41 | - He said he would have finished the work by Friday. (他说他会在星期五之前完成工作。) 42 | - I knew she would have left before I arrived. (我知道在我到达之前她就会离开。) 43 | 44 | ### 2. 间接引语中的将来完成时 45 | 46 | 在间接引语中,将来完成时变成过去将来完成时。 47 | 48 | **示例:** 49 | 50 | - Direct: "I will have completed the project by next week." (我下周之前会完成这个项目。) 51 | - Indirect: She said she would have completed the project by the following week. (她说她会在下周之前完成这个项目。) 52 | 53 | ### 3. 表示未实现的过去假设 54 | 55 | 用于表示过去某个未能实现的假设情况。 56 | 57 | **示例:** 58 | 59 | - I would have finished the work if you had helped me. (如果你帮我的话,我就能完成这项工作了。) 60 | - She would have graduated by now if she hadn't quit school. (如果她没有退学的话,她现在已经毕业了。) 61 | 62 | ## 与其他时态的对比 63 | 64 | ### 过去将来完成时 vs 将来完成时 65 | 66 | 过去将来完成时是从过去的视角看将来的完成动作,而将来完成时是从现在的视角看将来的完成动作。 67 | 68 | **示例:** 69 | 70 | - I will have finished the work by tomorrow. (将来完成时 - 从现在看) 71 | - He said he would have finished the work by the next day. (过去将来完成时 - 从过去看) 72 | 73 | ### 过去将来完成时 vs 过去完成时 74 | 75 | 过去将来完成时表示在过去某一时刻之后要完成的动作,而过去完成时表示在过去某一时刻之前已经完成的动作。 76 | 77 | **示例:** 78 | 79 | - I had finished the work before he arrived. (过去完成时 - 过去的完成) 80 | - I knew I would have finished the work before he arrived. (过去将来完成时 - 过去对将来的预期) 81 | 82 | ## 常见用法和例句 83 | 84 | ### 1. 在从句中的使用 85 | 86 | 常用于宾语从句、时间从句等: 87 | 88 | - I thought you would have arrived by then. 89 | - She wondered if he would have received her letter. 90 | 91 | ### 2. 表示预期的完成 92 | 93 | 用于表达过去对将来完成的预期: 94 | 95 | - We expected that they would have solved the problem by the meeting. 96 | - The teacher said we would have learned all the grammar by the end of the term. 97 | 98 | ### 3. 虚拟语气中的使用 99 | 100 | 用于表达与过去事实相反的假设: 101 | 102 | - If I had studied harder, I would have passed the exam. 103 | - She would have caught the train if she had left earlier. 104 | 105 | ## 注意事项 106 | 107 | 1. 过去将来完成时通常需要一个明确的时间参照点: 108 | 109 | - ✔️ He said he would have finished by Monday. 110 | - ❌ He said he would have finished. (缺少时间参照点) 111 | 112 | 2. 在时间状语从句中,要用现在完成时而不是过去将来完成时: 113 | 114 | - When I have finished (不是 would have finished), I will call you. 115 | - After she has graduated (不是 would have graduated), she plans to travel. 116 | 117 | 3. 过去将来完成时常与以下时间表达一起使用: 118 | - by then 119 | - by that time 120 | - by the end of... 121 | - before... 122 | - when... 123 | -------------------------------------------------------------------------------- /docs/tense/future-simple.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 一般将来时 3 | --- 4 | 5 | # 一般将来时 (Future Simple) 6 | 7 | past -------- now -------- future point -------- future 8 | 9 | ↑ 10 | 将来要发生的动作 11 | 12 | 这种时态用于描述将来要发生的动作或状态。 13 | 14 | ## 语法形式 15 | 16 | 一般将来时主要有两种构成方式: 17 | 18 | ### 1. will + 动词原形 19 | 20 | - **肯定句**:主语 + will + 动词原形 21 | 22 | - I will work. 23 | - She will study. 24 | 25 | - **否定句**:主语 + will not (won't) + 动词原形 26 | 27 | - I will not (won't) work. 28 | - She will not (won't) study. 29 | 30 | - **疑问句**:Will + 主语 + 动词原形? 31 | - Will you work? 32 | - Will she study? 33 | 34 | ### 2. be going to + 动词原形 35 | 36 | - **肯定句**:主语 + am/is/are going to + 动词原形 37 | 38 | - I am going to work. 39 | - She is going to study. 40 | 41 | - **否定句**:主语 + am/is/are not going to + 动词原形 42 | 43 | - I am not going to work. 44 | - She is not going to study. 45 | 46 | - **疑问句**:Am/Is/Are + 主语 + going to + 动词原形? 47 | - Are you going to work? 48 | - Is she going to study? 49 | 50 | ## will 和 be going to 的区别 51 | 52 | ### will 的用法 53 | 54 | 1. **临时决定** 55 | 56 | - The phone is ringing. I will answer it. (电话在响。我去接。) 57 | - It's cold in here. I will close the window. (这里很冷。我去关窗。) 58 | 59 | 2. **预测** 60 | 61 | - I think it will rain tomorrow. (我想明天会下雨。) 62 | - She will probably pass the exam. (她可能会通过考试。) 63 | 64 | 3. **承诺或威胁** 65 | - I will help you with your homework. (我会帮你做作业。) 66 | - I will tell your parents if you do that again. (如果你再那样做,我就告诉你父母。) 67 | 68 | ### be going to 的用法 69 | 70 | 1. **计划好的事情** 71 | 72 | - I am going to visit my grandparents next week. (我下周要去看望我的祖父母。) 73 | - They are going to move to London next month. (他们下个月要搬到伦敦。) 74 | 75 | 2. **基于现在证据的预测** 76 | - Look at those black clouds. It's going to rain. (看那些乌云。要下雨了。) 77 | - She is going to have a baby. (她要生孩子了。) 78 | 79 | ## 其他表示将来的方式 80 | 81 | ### 1. 现在进行时表将来 82 | 83 | 用于已经确定的安排或计划: 84 | 85 | - I am meeting John tomorrow. (我明天要见约翰。) 86 | - The train is leaving at 6 PM. (火车下午6点发车。) 87 | 88 | ### 2. 一般现在时表将来 89 | 90 | 用于确定的时间表或日程: 91 | 92 | - The plane takes off at 9 AM tomorrow. (飞机明天早上9点起飞。) 93 | - The new semester starts next Monday. (新学期下周一开始。) 94 | 95 | ## 常见用法和例句 96 | 97 | ### 1. 与时间状语搭配 98 | 99 | 常与表示将来的时间状语连用: 100 | 101 | - tomorrow (明天) 102 | - next week/month/year (下周/月/年) 103 | - in the future (在将来) 104 | - later (稍后) 105 | 106 | **示例:** 107 | 108 | - I will call you tomorrow. 109 | - We are going to have a party next weekend. 110 | 111 | ### 2. 条件句中的使用 112 | 113 | 在第一类条件句中使用: 114 | 115 | - If it rains, I will stay at home. (如果下雨,我就待在家里。) 116 | - If you study hard, you will pass the exam. (如果你努力学习,你会通过考试。) 117 | 118 | ### 3. 表示建议或邀请 119 | 120 | 用于提出建议或邀请: 121 | 122 | - Shall we go to the cinema? (我们去看电影吧?) 123 | - Will you join us for dinner? (你要和我们一起吃晚饭吗?) 124 | 125 | ## 注意事项 126 | 127 | 1. 在时间状语从句和条件句中,即使表示将来的动作,也要用现在时而不是将来时: 128 | 129 | - When I see him, I will tell him. (当我见到他时,我会告诉他。) 130 | - If it rains tomorrow, I will stay at home. (如果明天下雨,我就待在家里。) 131 | 132 | 2. will 和 be going to 有时可以互换使用,但表达的语气和确定性可能不同: 133 | - I will help you. (更像是临时决定或承诺) 134 | - I am going to help you. (更像是预先计划好的) 135 | -------------------------------------------------------------------------------- /docs/tense/future-perfect-continuous.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 将来完成进行时 3 | --- 4 | 5 | # 将来完成进行时 (Future Perfect Continuous) 6 | 7 | past -------- now -------- future point -------- future 8 | 9 | ↑ 10 | 到将来某时间点为止一直在进行的动作 11 | 12 | 这种时态用于描述从现在开始到将来某个时间点一直持续的动作。 13 | 14 | ## 语法形式 15 | 16 | 将来完成进行时的构成是:**主语 + will have been + 动词的现在分词(V-ing)** 17 | 18 | - **肯定句**:主语 + will have been + 动词的现在分词 19 | 20 | - I will have been working. 21 | - She will have been studying. 22 | 23 | - **否定句**:主语 + will not have been + 动词的现在分词 24 | 25 | - I will not (won't) have been working. 26 | - She will not (won't) have been studying. 27 | 28 | - **疑问句**:Will + 主语 + have been + 动词的现在分词? 29 | - Will you have been working? 30 | - Will she have been studying? 31 | 32 | ## 应用场景 33 | 34 | ### 1. 持续到将来某时的动作 35 | 36 | 用于描述从过去或现在开始,一直持续到将来某个时间点的动作。 37 | 38 | **示例:** 39 | 40 | - By next month, I will have been working here for ten years. (到下个月,我将已经在这里工作十年了。) 41 | - By the time he retires, he will have been teaching for 30 years. (到他退休时,他将已经教书30年了。) 42 | 43 | ### 2. 强调动作的持续性和结果 44 | 45 | 用于强调动作的持续性以及这种持续对将来某个时间点造成的影响。 46 | 47 | **示例:** 48 | 49 | - I will have been studying all day, so I'll be tired tonight. (我将整天都在学习,所以今晚会很累。) 50 | - By 6 PM, it will have been raining for 24 hours. (到下午6点,将已经下了24小时的雨了。) 51 | 52 | ### 3. 表示预期的持续性活动 53 | 54 | 用于描述预期会持续到将来某个时间点的活动。 55 | 56 | **示例:** 57 | 58 | - By the time you arrive, I will have been waiting for two hours. (等你到达时,我将已经等了两个小时。) 59 | - Next week, we will have been living here for five years. (下周,我们将已经在这里住了五年。) 60 | 61 | ## 与其他时态的对比 62 | 63 | ### 将来完成进行时 vs 将来完成时 64 | 65 | 将来完成进行时强调动作的持续过程,而将来完成时强调动作的完成状态。 66 | 67 | **示例:** 68 | 69 | - I will have finished the book by tomorrow. (将来完成时 - 强调完成) 70 | - I will have been reading the book for three hours by tomorrow. (将来完成进行时 - 强调持续) 71 | 72 | ### 将来完成进行时 vs 现在完成进行时 73 | 74 | 将来完成进行时是以将来某个时间点为参照点,而现在完成进行时是以现在为参照点。 75 | 76 | **示例:** 77 | 78 | - I have been working here for five years. (现在完成进行时 - 到现在为止) 79 | - By next year, I will have been working here for six years. (将来完成进行时 - 到明年为止) 80 | 81 | ## 常见用法和例句 82 | 83 | ### 1. 与时间表达搭配 84 | 85 | 常与以下时间表达搭配使用: 86 | 87 | - by + 将来时间点 88 | - for + 时间段 89 | - since + 过去时间点 90 | 91 | **示例:** 92 | 93 | - By December, I will have been studying English for two years. 94 | - Next month, they will have been dating for a year. 95 | 96 | ### 2. 表示持续的影响 97 | 98 | 用于描述持续动作对将来某个时间点的影响: 99 | 100 | - My eyes will be tired because I will have been looking at the screen all day. 101 | - The ground will be wet because it will have been raining all night. 102 | 103 | ### 3. 描述长期活动 104 | 105 | 用于描述长期持续的活动: 106 | 107 | - By 2025, scientists will have been researching this disease for 20 years. 108 | - Next summer, we will have been running this business for a decade. 109 | 110 | ## 注意事项 111 | 112 | 1. 不是所有动词都适合用于进行时态: 113 | 114 | - ❌ I will have been knowing him for five years. 115 | - ✔️ I will have known him for five years. 116 | 117 | 2. 将来完成进行时通常需要一个明确的时间参照点: 118 | 119 | - ✔️ By next week, I will have been working on this project for a month. 120 | - ❌ I will have been working on this project. (缺少时间参照) 121 | 122 | 3. 在时间状语从句中,要用现在完成进行时而不是将来完成进行时: 123 | - When I have been working (不是 will have been working) here for ten years, I will get a promotion. 124 | - After she has been studying (不是 will have been studying) for three hours, she will take a break. 125 | -------------------------------------------------------------------------------- /docs/grammar/both-either-neither.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: both either neither 3 | --- 4 | 5 | # both either neither 6 | 7 | "Both," "either," 和 "neither" 是三个常用的英语词汇,用于表达不同的选择和情况。它们在语法上各有不同的使用规则和意义。以下是对这三个词的详细解释和比较: 8 | 9 | ## Both 10 | 11 | ### 定义 12 | 13 | "Both" 表示两个中的两个。它用于强调两个对象或人都包括在内。 14 | 15 | ### 语法形式 16 | 17 | - **作为代词**:用于代替两个名词。 18 | - **作为形容词**:用于修饰名词。 19 | 20 | ### 用法 21 | 22 | 1. **作为代词**: 23 | - Both of them are my friends. 24 | - Both are correct. 25 | 2. **作为形容词**: 26 | - Both students passed the exam. 27 | - I like both books. 28 | 29 | ### 示例 30 | 31 | - Both John and Mary are coming to the party. 32 | - Both of the options are good. 33 | 34 | ## Either 35 | 36 | ### 定义 37 | 38 | "Either" 表示两个中的任何一个。它用于强调两个对象或人中的一个。 39 | 40 | ### 语法形式 41 | 42 | - **作为代词**:用于代替一个名词。 43 | - **作为形容词**:用于修饰名词。 44 | - **作为连词**:用于连接两个选择。 45 | 46 | ### 用法 47 | 48 | 1. **作为代词**: 49 | - Either of them can come. 50 | - I don't like either. 51 | 2. **作为形容词**: 52 | - Either option is fine. 53 | - You can choose either book. 54 | 3. **作为连词**(与 "or" 连用): 55 | - You can either stay or leave. 56 | - Either you apologize, or you leave. 57 | 58 | ### 示例 59 | 60 | - Either John or Mary will come to the party. 61 | - You can take either road to get there. 62 | 63 | ## Neither 64 | 65 | ### 定义 66 | 67 | "Neither" 表示两个中的一个都不。它用于强调两个对象或人都不包括在内。 68 | 69 | ### 语法形式 70 | 71 | - **作为代词**:用于代替两个名词。 72 | - **作为形容词**:用于修饰名词。 73 | - **作为连词**:用于连接两个否定的选择。 74 | 75 | ### 用法 76 | 77 | 1. **作为代词**: 78 | - Neither of them is my friend. 79 | - Neither is correct. 80 | 2. **作为形容词**: 81 | - Neither student passed the exam. 82 | - I like neither book. 83 | 3. **作为连词**(与 "nor" 连用): 84 | - Neither John nor Mary is coming to the party. 85 | - Neither you nor I am happy with this. 86 | 87 | ### 示例 88 | 89 | - Neither John nor Mary is coming to the party. 90 | - Neither of the options is good. 91 | 92 | ## 加 “of” 和不加 “of” 的区别 93 | 94 | - **Both**: 95 | 96 | - 加 “of”:用在特定的两个对象或人之前,如 "Both of the students"。 97 | - 示例:Both of the apples are ripe.(这两个苹果都熟了。) 98 | - 不加 “of”:用于泛指两个对象或人,如 "Both students"。 99 | - 示例:Both apples are ripe.(两个苹果都熟了。) 100 | 101 | - **Either**: 102 | 103 | - 加 “of”:用在特定的两个对象或人之前,如 "Either of the options"。 104 | - 示例:Either of the roads leads to the park.(这两条路都可以到公园。) 105 | - 不加 “of”:用于泛指两个对象或人,如 "Either option"。 106 | - 示例:Either road leads to the park.(任意一条路都可以到公园。) 107 | 108 | - **Neither**: 109 | - 加 “of”:用在特定的两个对象或人之前,如 "Neither of the options"。 110 | - 示例:Neither of the apples is ripe.(这两个苹果都没熟。) 111 | - 不加 “of”:用于泛指两个对象或人,如 "Neither option"。 112 | - 示例:Neither apple is ripe.(两个苹果都没熟。) 113 | 114 | ## 对多于两个对象的情况 115 | 116 | - **Both**: 117 | 118 | - 如果对象或人数超过两个,用 "all"。 119 | - 示例:All of the apples are ripe.(所有苹果都熟了。) 120 | 121 | - **Either**: 122 | 123 | - 如果对象或人数超过两个,用 "any"。 124 | - 示例:You can have any apple.(你可以选任意一个苹果。) 125 | 126 | - **Neither**: 127 | - 如果对象或人数超过两个,用 "none"。 128 | - 示例:None of the apples are ripe.(这些苹果都没熟。) 129 | 130 | ## 区别 131 | 132 | 1. **Both** 表示两个中的两个都包括在内。 133 | - 示例:Both apples are ripe.(两个苹果都熟了。) 134 | 2. **Either** 表示两个中的任何一个。 135 | - 示例:You can have either apple.(你可以选任意一个苹果。) 136 | 3. **Neither** 表示两个中的一个都不。 137 | - 示例:Neither apple is ripe.(两个苹果都没熟。) 138 | 139 | ## 总结 140 | 141 | - **Both** 用于表示两个中的两个。如果超过两个对象,用 "all"。 142 | - **Either** 用于表示两个中的任何一个。如果超过两个对象,用 "any"。 143 | - **Neither** 用于表示两个中的一个都不。如果超过两个对象,用 "none"。 144 | -------------------------------------------------------------------------------- /docs/tense/past-future-perfect-continuous.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 过去将来完成进行时 3 | --- 4 | 5 | # 过去将来完成进行时 (Future Perfect Continuous in the Past) 6 | 7 | past point -------- future point -------- now -------- future 8 | 9 | ↑ ↑ 10 | 从过去看 ----------------到过去将来某时间点为止一直在进行的动作 11 | 12 | 这种时态用于描述从过去某一时间点来看,到将来某一时刻为止一直持续的动作。 13 | 14 | ## 语法形式 15 | 16 | 过去将来完成进行时的构成是:**主语 + would have been + 动词的现在分词(V-ing)** 17 | 18 | - **肯定句**:主语 + would have been + 动词的现在分词 19 | 20 | - I would have been working. 21 | - She would have been studying. 22 | 23 | - **否定句**:主语 + would not have been + 动词的现在分词 24 | 25 | - I would not (wouldn't) have been working. 26 | - She would not (wouldn't) have been studying. 27 | 28 | - **疑问句**:Would + 主语 + have been + 动词的现在分词? 29 | - Would you have been working? 30 | - Would she have been studying? 31 | 32 | ## 应用场景 33 | 34 | ### 1. 表示过去预期的持续动作 35 | 36 | 用于描述在过去某一时刻,预期到将来某个时间点为止一直持续的动作。 37 | 38 | **示例:** 39 | 40 | - He said he would have been working for ten hours by the time he finished. (他说等他完成时,他将已经工作了十个小时。) 41 | - I knew she would have been waiting for three hours when I arrived. (我知道我到达时,她将已经等了三个小时。) 42 | 43 | ### 2. 间接引语中的将来完成进行时 44 | 45 | 在间接引语中,将来完成进行时变成过去将来完成进行时。 46 | 47 | **示例:** 48 | 49 | - Direct: "I will have been studying for six hours by dinner time." (到吃晚饭时,我将已经学习了六个小时。) 50 | - Indirect: She said she would have been studying for six hours by dinner time. (她说到吃晚饭时,她将已经学习了六个小时。) 51 | 52 | ### 3. 强调动作的持续性和结果 53 | 54 | 用于强调动作的持续性以及这种持续对将来某个时间点造成的影响。 55 | 56 | **示例:** 57 | 58 | - By the end of the year, he would have been teaching for twenty years. (到年底,他将已经教书二十年了。) 59 | - They said they would have been living here for ten years by next month. (他们说到下个月,他们将已经在这里住了十年。) 60 | 61 | ## 与其他时态的对比 62 | 63 | ### 过去将来完成进行时 vs 将来完成进行时 64 | 65 | 过去将来完成进行时是从过去的视角看将来的持续动作,而将来完成进行时是从现在的视角看将来的持续动作。 66 | 67 | **示例:** 68 | 69 | - I will have been working here for five years next month. (将来完成进行时 - 从现在看) 70 | - He said he would have been working there for five years the following month. (过去将来完成进行时 - 从过去看) 71 | 72 | ### 过去将来完成进行时 vs 过去完成进行时 73 | 74 | 过去将来完成进行时表示从过去到将来某时的持续动作,而过去完成进行时表示从过去某时到过去另一时间点的持续动作。 75 | 76 | **示例:** 77 | 78 | - I had been working for three hours when he called. (过去完成进行时) 79 | - I knew I would have been working for three hours when he called. (过去将来完成进行时) 80 | 81 | ## 常见用法和例句 82 | 83 | ### 1. 表示持续时间 84 | 85 | 用于强调动作持续的时间长度: 86 | 87 | - By the time he retired, he would have been working there for 30 years. 88 | - She said she would have been studying English for six years by graduation. 89 | 90 | ### 2. 表示动作的影响 91 | 92 | 用于描述持续动作对将来某个时间点的影响: 93 | 94 | - He knew he would have been traveling for 24 hours by the time he reached his destination. 95 | - They would have been discussing the problem for hours before reaching a solution. 96 | 97 | ### 3. 描述预期的持续状态 98 | 99 | 用于描述预期会持续到将来某个时间点的状态: 100 | 101 | - The manager said we would have been using the new system for a month by the time the inspection came. 102 | - She thought she would have been living abroad for two years by the time she returned. 103 | 104 | ## 注意事项 105 | 106 | 1. 不是所有动词都适合用于进行时态: 107 | 108 | - ❌ He said he would have been knowing the answer. 109 | - ✔️ He said he would have known the answer. 110 | 111 | 2. 过去将来完成进行时通常需要一个明确的时间段: 112 | 113 | - ✔️ By next week, he would have been working on the project for a month. 114 | - ❌ He would have been working on the project. (缺少时间段) 115 | 116 | 3. 常与以下时间表达搭配使用: 117 | - by then 118 | - by that time 119 | - for + 时间段 120 | - since + 过去时间点 121 | -------------------------------------------------------------------------------- /docs/tense/present-perfect.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 现在完成时 3 | --- 4 | 5 | # 现在完成时 (Present Perfect) 6 | 7 | past -------- now -------- future 8 | 9 | ↑ 10 | 对现在有影响的动作 11 | 12 | 这种时态用于描述过去发生但对现在造成影响的动作,或者从过去开始持续到现在的状态。 13 | 14 | ## 语法形式 15 | 16 | 现在完成时的构成是:**have/has + 过去分词**。例如: 17 | 18 | - "I have finished my homework."(我已经完成了我的作业。) 19 | - "She has lived here for ten years."(她在这里住了十年。) 20 | 21 | ## 当所讨论的时间段仍未结束时 22 | 23 | 当说话的时候,所讨论的时间段仍未结束时,需要使用现在完成时。例如: 24 | 25 | - "I have seen three movies this week."(这周我看了三部电影。)——这里的"这周"还没有结束。 26 | - "She has visited her grandparents twice this month."(这个月她去看了她的祖父母两次。)——这里的"这个月"还没有结束。 27 | 28 | ## 如果某件事是第一次发生 29 | 30 | 如果某件事是第一次发生,也需要使用现在完成时。例如: 31 | 32 | - "This is the first time I have tried sushi."(这是我第一次尝试寿司。) 33 | - "It's the first time he has driven a car."(这是他第一次开车。) 34 | 35 | ## has cleaned / have gone... 36 | 37 | - I **have('ve)** clean**ed**... 38 | - We **haven't** finish**ed**... 39 | 40 | ## 过去的动作,但现在已经有了结果 41 | 42 | - I'**ve lost** my passport. (= I can't find my passport now) 43 | - We'**ve bought** a new car. (= we have a new car now) 44 | 45 | ## I've just/I've already/I haven't ... yet/..... 46 | 47 | - I'**ve just arrived**.-- a short time ago 48 | - I'**ve already arrived**. -- before you/I expected 49 | - I **havent' told** him **yet**. -- until now 50 | 51 | ## have been/have ever(in question)/have never/have had/have played... 52 | 53 | 从过去开始一直持续到现在。 54 | 55 | - **Have** you **been** to France? No, I **haven't**. 56 | - I'**ve been** to Canada but **I haven't been** to the USA. 57 | - **Have** you **ever played** golf? 58 | - I've **never ridden** a horse. 59 | - I'**ve never seen** him before. 60 | 61 | ## gone and been 62 | 63 | "Gone" 和 "been" 都是动词 "go" 和 "be" 的过去分词形式,但它们在使用中有一些区别。 64 | 65 | "Gone" 通常用于表示某人去了某个地方并且还没有回来。例如: 66 | 67 | - "He **has gone** to the store." 这句话的意思是他去了商店并且还没有回来。 68 | - I can't find Suan, Where **has** she **gone**?(= Where is she now)? 69 | 70 | "Been" 通常用于表示某人去过某个地方,但现在已经回来了。例如: 71 | 72 | - "He **has been** to the store." 这句话的意思是他去过商店,但现在已经回来了。 73 | - Oh, hello Susan! I was looking for you. Where **have** you **been**? 74 | 75 | ## have + 过去分词/have been + 过去分词/have been + 现在分词的区别 76 | 77 | - "have/has + 过去分词":这是现在完成时的基本形式,用于描述在过去发生的动作对现在产生的影响或结果,或者描述从过去开始一直持续到现在的动作或状态。例如:"I have finished my work."(我已经完成了我的工作。) 78 | 79 | - "have/has been + 过去分词":这是现在完成被动时的形式,用于描述在过去发生的被动动作对现在产生的影响或结果。例如:"The work has been finished."(工作已经被完成了。) 80 | 81 | - "have/has been + 现在分词":这是现在完成进行时的形式,用于描述从过去某一时刻开始一直持续到现在的动作或状态,并且这个动作或状态可能还会继续下去。例如:"I have been working."(我一直在工作。) 82 | 83 | 总的来说,这三种形式的区别主要在于动作的主动性和持续性。 84 | 85 | ## 现在完成时和现在完成进行时的区别 86 | 87 | 现在完成时和现在完成进行时都是描述从过去开始并持续到现在的动作或状态,但它们的侧重点和结构不同。 88 | 89 | ### 现在完成时 (Present Perfect) 90 | 91 | 现在完成时的结构是 **"have/has" + 动词的过去分词**。这种时态强调的是动作的结果或动作的完成。 92 | 93 | **示例:** 94 | 95 | - "I have finished my homework."(我已经完成了我的作业。)——这句话强调的是作业已经完成这个结果。 96 | 97 | **注意:** 在这种时态中,我们通常不使用 "been",除非动词是 "be"。 98 | 99 | ### 现在完成进行时 (Present Perfect Continuous) 100 | 101 | 现在完成进行时的结构是 **"have/has been" + 动词的现在分词**。这种时态强调的是动作的持续性或过程。 102 | 103 | **示例:** 104 | 105 | - "I have been doing my homework."(我一直在做我的作业。)——这句话强调的是做作业这个动作正在持续进行。 106 | 107 | **注意:** 在这种时态中,我们需要使用 "been"。 108 | 109 | ### 选择时态的依据 110 | 111 | 选择使用现在完成时还是现在完成进行时,主要取决于你想强调的是动作的完成(现在完成时)还是动作的持续(现在完成进行时)。 112 | 113 | - **现在完成时** 强调动作已经完成,结果对现在有影响。 114 | 115 | - "She has written three letters."(她已经写了三封信。)——强调写信这个动作已经完成。 116 | 117 | - **现在完成进行时** 强调动作从过去持续到现在,并且可能还会继续。 118 | - "She has been writing letters all morning."(她整个上午都在写信。)——强调写信这个动作的持续性。 119 | -------------------------------------------------------------------------------- /docs/sentence-pattern/subordinate-clause.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 从句类型 3 | --- 4 | 5 | # 从句类型 6 | 7 | 句子按从句来分可以分为两种。 8 | 9 | ## 独立从句 (Independent Clause) 10 | 11 | #### 定义 12 | 13 | 独立从句是可以独立存在的句子部分,包含一个主语和一个谓语,并表达一个完整的思想。独立从句不依赖其他句子部分,可以单独构成一个完整的句子。 14 | 15 | #### 示例 16 | 17 | - **例子**:I read a book. 18 | - **解释**:这是一个独立从句,包含主谓宾,表达一个完整的思想。 19 | 20 | ## 从属从句 (Dependent Clause) 21 | 22 | #### 定义 23 | 24 | 从属从句(也称为依附从句)不能独立存在,必须附属于一个独立从句。它们提供附加信息,但不表达完整的思想。从属从句需要依赖于独立从句来完成其意义。 25 | 26 | ### 从属从句的类型 27 | 28 | 从属从句可以是名词从句、形容词从句或状语从句。它们根据在句子中的功能和引导词的不同分类。 29 | 30 | #### 名词从句 (Noun Clause) 31 | 32 | ##### 定义 33 | 34 | 名词从句在句子中起名词的作用,可以作为主语、宾语、表语或同位语。 35 | 36 | ##### 常见引导词 37 | 38 | - that, whether, if 39 | - 疑问词:what, who, which, when, where, why, how 40 | 41 | ##### 用途 42 | 43 | 名词从句用于提供句子的主要信息,常用于陈述、疑问或感叹。 44 | 45 | ##### 示例 46 | 47 | - **作为主语**:What he said is true. 48 | - **解释**:从句 "What he said" 作为句子的主语。 49 | - **作为宾语**:I don't know where she lives. 50 | - **解释**:从句 "where she lives" 作为动词 "know" 的宾语。 51 | - **作为表语**:The problem is that we don't have enough time. 52 | - **解释**:从句 "that we don't have enough time" 作为表语。 53 | - **作为同位语**:The fact that he is late is surprising. 54 | - **解释**:从句 "that he is late" 作为名词 "fact" 的同位语。 55 | 56 | #### 形容词从句 (Adjective Clause) 57 | 58 | ##### 定义 59 | 60 | 形容词从句在句子中起形容词的作用,用来修饰名词或代词,通常紧跟在所修饰的名词或代词之后。 61 | 62 | ##### 常见引导词 63 | 64 | - 关系代词:who, whom, whose, which, that 65 | - 关系副词:when, where, why 66 | 67 | ##### 用途 68 | 69 | 形容词从句用于提供关于名词或代词的额外信息,使句子更具体和详细。 70 | 71 | ##### 示例 72 | 73 | - **修饰名词**:The book that you lent me is interesting. 74 | - **解释**:从句 "that you lent me" 修饰名词 "book"。 75 | - **修饰代词**:She is the one who helped me. 76 | - **解释**:从句 "who helped me" 修饰代词 "one"。 77 | 78 | #### 状语从句 (Adverb Clause) 79 | 80 | ##### 定义 81 | 82 | 状语从句在句子中起状语的作用,用来修饰动词、形容词或其他副词,通常表示时间、原因、条件、目的、结果、对比等。 83 | 84 | ##### 常见引导词 85 | 86 | - 时间:when, while, as, before, after, since, until 87 | - 原因:because, since, as 88 | - 条件:if, unless, provided (that) 89 | - 目的:so that, in order that 90 | - 结果:so...that, such...that 91 | - 对比:although, though, even though, whereas 92 | 93 | ##### 用途 94 | 95 | 状语从句用于提供关于动作或状态的附加信息,如时间、原因、条件等,使句子更完整和具体。 96 | 97 | ##### 示例 98 | 99 | - **时间**:She cried when she heard the news. 100 | - **解释**:从句 "when she heard the news" 表示时间。 101 | - **原因**:I stayed home because it was raining. 102 | - **解释**:从句 "because it was raining" 表示原因。 103 | - **条件**:If you study hard, you will pass the exam. 104 | - **解释**:从句 "If you study hard" 表示条件。 105 | - **目的**:He works hard so that he can provide for his family. 106 | - **解释**:从句 "so that he can provide for his family" 表示目的。 107 | - **结果**:The box was so heavy that I couldn't lift it. 108 | - **解释**:从句 "that I couldn't lift it" 表示结果。 109 | - **对比**:Although it was raining, we went out. 110 | - **解释**:从句 "Although it was raining" 表示对比。 111 | 112 | ## 独立从句和从属从句的关系 113 | 114 | 在一个复杂句或并列复合句中,独立从句和从属从句经常一起出现。独立从句表达主要思想,而从属从句提供附加信息,使句子更详细和具体。 115 | 116 | #### 示例 117 | 118 | - **复合句**:I read a book because it was interesting. 119 | 120 | - **独立从句**:I read a book 121 | - **从属从句**:because it was interesting 122 | - **解释**:独立从句表达主要思想,从属从句提供原因。 123 | 124 | - **并列复合句**:I read a book, and she watched a movie because it was raining. 125 | - **独立从句1**:I read a book 126 | - **并列连词**:and 127 | - **独立从句2**:she watched a movie 128 | - **从属从句**:because it was raining 129 | - **解释**:两个独立从句通过并列连词连接,其中一个独立从句包含一个从属从句,表达多个相关思想。 130 | 131 | ## 总结 132 | 133 | - **独立从句**:可以独立存在,表达完整思想。 134 | - **从属从句**:不能独立存在,需要依赖独立从句,提供附加信息。 135 | - **从属从句的类型**: 136 | - **名词从句**:在句中起名词作用。 137 | - **形容词从句**:修饰名词或代词。 138 | - **状语从句**:修饰动词、形容词或其他副词,表示时间、原因、条件等。 139 | -------------------------------------------------------------------------------- /docs/pronunciation/liaison.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 连读 3 | --- 4 | 5 | # 连读 6 | 7 | 连读(Liaison)是指在英语口语中,前一个单词的结尾音与后一个单词的开头音连在一起发音,使得两个单词听起来像一个连续的声音。这种现象在英语的自然流畅表达中非常常见,特别是在快速对话中。 8 | 9 | ## 连读的几种常见情况 10 | 11 | 1. **辅音连元音**:当一个单词以辅音音素结尾,而下一个单词以元音音素开头时,辅音会连到下一个单词的元音上。 12 | 13 | - 例子: 14 | - "an apple" /æn ˈæpəl/ 听起来像 /əˈnæpəl/ 15 | - "pick it up" /pɪk ɪt ʌp/ 听起来像 /ˈpɪkɪtʌp/ 16 | 17 | 2. **元音连元音**:当一个单词以元音音素结尾,而下一个单词也以元音音素开头时,通常会插入一个轻微的 /j/ 或 /w/ 声音来连接两个元音。 18 | 19 | - 例子: 20 | - "go away" /ɡoʊ əˈweɪ/ 听起来像 /ɡoʊwəˈweɪ/ 21 | - "see it" /siː ɪt/ 听起来像 /ˈsiːjɪt/ 22 | 23 | 3. **辅音连辅音(相同或相似的辅音)**:当一个单词以辅音音素结尾,而下一个单词以相同或相似的辅音音素开头时,这两个辅音会连成一个音。 24 | 25 | - 例子: 26 | - "big girl" /bɪɡ ɡɜːrl/ 听起来像 /ˈbɪɡɡɜːrl/ 27 | - "good day" /ɡʊd deɪ/ 听起来像 /ɡʊdˈdeɪ/ 28 | 29 | 4. **辅音连辅音(不同辅音)**:当一个单词以辅音音素结尾,而下一个单词以不同的辅音音素开头时,连读的方式取决于这两个辅音的具体类型和发音位置。 30 | 31 | - **同部位发音的辅音**:如果两个辅音在发音时使用相同的发音部位(如舌尖、唇齿等),它们的发音会连在一起,但不会改变原本的发音特征。 32 | 33 | - 示例: "fast car" 34 | - 正常发音: /fæst kɑːr/ 35 | - 连读后: /ˈfæstkɑːr/ 36 | - 解释: /t/ 和 /k/ 都是爆破音,发音时舌尖和软腭分别爆破,两个音连在一起发音。 37 | 38 | - **不同部位发音的辅音**:如果两个辅音在发音时使用不同的发音部位,它们的发音会连在一起,但每个辅音仍然保留其特征。 39 | 40 | - 示例: "big house" 41 | - 正常发音: /bɪɡ haʊs/ 42 | - 连读后: /ˈbɪɡhaʊs/ 43 | - 解释: /ɡ/ 是软腭音,/h/ 是喉音,两个音连在一起发音时,/ɡ/ 的发音结束后立即发 /h/。 44 | 45 | - **爆破音连鼻音**:当爆破音后接鼻音时,爆破音的爆破可能会变得不完全或省略。 46 | 47 | - 示例: "good night" 48 | - 正常发音: /ɡʊd naɪt/ 49 | - 连读后: /ɡʊdˈnaɪt/ 或 /ɡʊnˈnaɪt/ 50 | - 解释: /d/ 是爆破音,/n/ 是鼻音,连读时,/d/ 的爆破可能会变得不完全或省略,听起来像 /ɡʊnˈnaɪt/。 51 | 52 | - **爆破音连摩擦音**:当爆破音后接摩擦音时,爆破音的爆破可能会被摩擦音的发音所覆盖。 53 | 54 | - 示例: "hot sun" 55 | - 正常发音: /hɒt sʌn/ 56 | - 连读后: /ˈhɒtsʌn/ 57 | - 解释: /t/ 是爆破音,/s/ 是摩擦音,连读时,/t/ 的爆破可能会被 /s/ 的摩擦音覆盖,听起来像 /ˈhɒtsʌn/。 58 | 59 | - **摩擦音连爆破音**:当摩擦音后接爆破音时,摩擦音的发音可能会延续到爆破音的爆破。 60 | - 示例: "this book" 61 | - 正常发音: /ðɪs bʊk/ 62 | - 连读后: /ˈðɪsbʊk/ 63 | - 解释: /s/ 是摩擦音,/b/ 是爆破音,连读时,/s/ 的摩擦音可能会延续到 /b/ 的爆破,听起来像 /ˈðɪsbʊk/。 64 | 65 | 5. **/r/ 连读**:在一些非标准英语口音中,特别是英式英语中,当一个单词以 /r/ 结尾且下一个单词以元音开头时,会发出 /r/ 的音。 66 | 67 | - 例子: 68 | - "far away" /fɑːr əˈweɪ/ 听起来像 /fɑːrəˈweɪ/ 69 | - "here it is" /hɪər ɪt ɪz/ 听起来像 /hɪərɪt ɪz/ 70 | 71 | 6. **/h/ 的省略**:在一些快速口语中,单词开头的 /h/ 可能会被省略,特别是在人称代词和助动词中。 72 | 73 | - 例子: 74 | - "give him" /ɡɪv hɪm/ 听起来像 /ɡɪv ɪm/ 75 | - "tell her" /tɛl hɜːr/ 听起来像 /tɛl ər/ 76 | 77 | ### 半元音连读 78 | 79 | 半元音(semi-vowels)是一类特殊的音素,它们在发音时气流几乎不受阻碍,类似元音,但在音节中起辅音的作用。半元音在英语中有两个:/j/ 和 /w/。在连读中,半元音也起到连接元音和辅音的重要作用。 80 | 81 | - **/j/**:当一个单词以辅音音素结尾,而下一个单词以元音音素开头时,通常会插入一个轻微的 /j/ 声音来连接两个音。 82 | 83 | - 例子: 84 | - "meet you" /miːt juː/ 听起来像 /ˈmiːtjuː/ 85 | - "did you" /dɪd juː/ 听起来像 /ˈdɪdʒuː/ 86 | 87 | - **/w/**:当一个单词以辅音音素结尾,而下一个单词以元音音素开头时,通常会插入一个轻微的 /w/ 声音来连接两个音。 88 | - 例子: 89 | - "how are" /haʊ ɑːr/ 听起来像 /ˈhaʊwɑːr/ 90 | - "do it" /duː ɪt/ 听起来像 /ˈduːwɪt/ 91 | 92 | ## 连读的例子 93 | 94 | 1. **“an apple”** 95 | 96 | - 正常发音: /æn ˈæpəl/ 97 | - 连读后: /əˈnæpəl/ 98 | - 解释: “an”的结尾音 /n/ 连到 “apple”的开头音 /æ/ 上。 99 | 100 | 2. **“turn off”** 101 | 102 | - 正常发音: /tɜrn ɔf/ 103 | - 连读后: /ˈtɜrnɔf/ 104 | - 解释: “turn”的结尾音 /n/ 连到 “off”的开头音 /ɔ/ 上。 105 | 106 | 3. **“go away”** 107 | 108 | - 正常发音: /ɡoʊ əˈweɪ/ 109 | - 连读后: /ɡoʊwəˈweɪ/ 110 | - 解释: “go”的结尾音 /oʊ/ 和 “away”的开头音 /ə/ 之间插入了一个 /w/ 音。 111 | 112 | 4. **“see it”** 113 | 114 | - 正常发音: /siː ɪt/ 115 | - 连读后: /ˈsiːjɪt/ 116 | - 解释: “see”的结尾音 /iː/ 和 “it”的开头音 /ɪ/ 之间插入了一个 /j/ 音。 117 | 118 | 5. **“big girl”** 119 | 120 | - 正常发音: /bɪɡ ɡɜːrl/ 121 | - 连读后: /ˈbɪɡɡɜːrl/ 122 | - 解释: “big”的结尾音 /ɡ/ 和 “girl”的开头音 /ɡ/ 连在一起,所以只发一次 /ɡ/ 音,听起来像 /ˈbɪɡɡɜːrl/。 123 | 124 | 6. **“good day”** 125 | 126 | - 正常发音: /ɡʊd deɪ/ 127 | - 连读后: /ɡʊdˈdeɪ/ 128 | - 解释: “good”的结尾音 /d/ 和 “day”的开头音 /d/ 连在一起,所以只发一次 /d/ 音,听起来像 /ɡʊdˈdeɪ 129 | -------------------------------------------------------------------------------- /docs/grammar/go.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: go 3 | --- 4 | 5 | # go 6 | 7 | ## go on 8 | 9 | **go on** 主要有以下几种用法: 10 | 11 | 1. **继续做某事**: 12 | 13 | - go on with your work.(继续你的工作。) 14 | - She went on talking despite the noise.(尽管有噪音,她继续说话。) 15 | 16 | 2. **发生**: 17 | 18 | - What's going on here?(这里发生了什么事?) 19 | - There was a lot going on at the party.(派对上发生了很多事情。) 20 | 21 | 3. **鼓励某人继续**(常用于口语中): 22 | - go on, try it!(来吧,试试!) 23 | - go on, tell me more.(继续,告诉我更多。) 24 | 25 | ## going on 26 | 27 | **going on** 有以下几种用法: 28 | 29 | 1. **正在发生**: 30 | 31 | - What's going on outside?(外面发生了什么事?) 32 | - There’s something strange going on.(有奇怪的事情正在发生。) 33 | 34 | 2. **接近某个年龄或时间**: 35 | 36 | - He's going on fifty.(他快五十岁了。) 37 | - It’s going on midnight.(快到午夜了。) 38 | 39 | 3. **计划或安排**: 40 | - Linda is going on holiday next month.(琳达下个月要去度假。) 41 | 42 | ## go to 43 | 44 | **go to** 用于表示去某个地方或参加某个活动: 45 | 46 | 1. **去某个地方**: 47 | 48 | - I need to go to the store.(我需要去商店。) 49 | - He goes to school every day.(他每天上学。) 50 | 51 | 2. **参加某个活动或事件**: 52 | - Are you going to the meeting?(你要参加会议吗?) 53 | - She went to the concert last night.(她昨晚去听音乐会了。) 54 | 55 | ## going to 56 | 57 | **going to** 主要有以下几种用法: 58 | 59 | 1. **打算做某事**(表示未来计划或意图): 60 | 61 | - I am going to study tonight.(我今晚打算学习。) 62 | - They are going to travel next month.(他们下个月打算旅行。) 63 | 64 | 2. **将要发生某事**(表示即将发生的事情): 65 | - It's going to rain soon.(很快要下雨了。) 66 | - She is going to have a baby.(她快要生宝宝了。) 67 | 68 | ## go for 69 | 70 | **go for** 有多种用法,具体取决于上下文: 71 | 72 | 1. **选择某物或做某事**: 73 | 74 | - I think I'll go for the chocolate cake.(我想我要选巧克力蛋糕。) 75 | - He went for a run.(他去跑步了。) 76 | 77 | 2. **努力争取**: 78 | 79 | - She's going for the gold medal.(她在争取金牌。) 80 | - You should go for that job.(你应该争取那份工作。) 81 | 82 | 3. **喜欢或倾向于某事物**: 83 | - I don't really go for horror movies.(我不太喜欢恐怖片。) 84 | 85 | ## go -ing 86 | 87 | **go -ing** 结构用于表示进行某种活动,通常是娱乐或运动: 88 | 89 | 1. **进行某种活动**: 90 | 91 | - We went swimming yesterday.(我们昨天去游泳了。) 92 | - They often go hiking on weekends.(他们经常在周末去徒步。) 93 | 94 | 2. **参与某种运动或活动**: 95 | - Do you want to go fishing?(你想去钓鱼吗?) 96 | - She's going shopping this afternoon.(她今天下午去购物。) 97 | 98 | ## go out 99 | 100 | **go out** 主要有以下几种用法: 101 | 102 | 1. **出去**: 103 | 104 | - We went out for dinner.(我们出去吃晚餐。) 105 | - They went out to see a movie.(他们出去看电影了。) 106 | 107 | 2. **熄灭**: 108 | - The lights went out suddenly.(灯突然熄灭了。) 109 | - The fire went out last night.(火昨晚熄灭了。) 110 | 111 | ## go back 112 | 113 | **go back** 主要有以下几种用法: 114 | 115 | 1. **返回**: 116 | 117 | - I have to go back home.(我得回家。) 118 | - She went back to the office.(她回办公室了。) 119 | 120 | 2. **回到某个状态或话题**: 121 | - Let's go back to the previous topic.(让我们回到上一个话题。) 122 | - Can we go back to how things were before?(我们能回到以前的状态吗?) 123 | 124 | ## go through 125 | 126 | **go through** 主要有以下几种用法: 127 | 128 | 1. **经历**: 129 | 130 | - She went through a lot last year.(她去年经历了很多事情。) 131 | - He's going through a tough time.(他正在经历艰难时期。) 132 | 133 | 2. **查看或检查**: 134 | - I need to go through these documents.(我需要查看这些文件。) 135 | - She went through the report carefully.(她仔细检查了报告。) 136 | 137 | ## go over 138 | 139 | **go over** 主要有以下几种用法: 140 | 141 | 1. **复习或检查**: 142 | 143 | - Let's go over the details.(让我们复习一下细节。) 144 | - The teacher went over the homework with the students.(老师和学生一起复习了作业。) 145 | 146 | 2. **超过**: 147 | - The cost went over our budget.(费用超出了我们的预算。) 148 | - His performance went over everyone's expectations.(他的表现超出了大家的预期。) 149 | 150 | ## 总结 151 | 152 | - **go on**:继续做某事,发生,鼓励某人继续。 153 | - **going on**:正在发生,接近某个年龄或时间,计划或安排。 154 | - **go to**:去某个地方或参加某个活动。 155 | - **going to**:打算做某事,将要发生某事。 156 | - **go for**:选择某物或做某事,努力争取,喜欢或倾向于某事物。 157 | - **go -ing**:进行某种活动或运动,通常是娱乐或运动。 158 | - **go out**:出去,熄灭。 159 | - **go back**:返回,回到某个状态或话题。 160 | - **go through**:经历,查看或检查。 161 | - **go over**:复习或检查,超过。 162 | 163 | 理解这些短语的用法和区别可以帮助你在不同的语境中正确使用它们。 164 | -------------------------------------------------------------------------------- /docs/qa/fe/other.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 其他 3 | --- 4 | 5 | 1. [Considering future technological trends, how do you think front-end development will evolve? How do you plan to maintain and enhance your competitiveness in this rapidly changing field?](#considering-future-technological-trends-how-do-you-think-front-end-development-will-evolve-how-do-you-plan-to-maintain-and-enhance-your-competitiveness-in-this-rapidly-changing-field) 6 | 1. [Please share your reasons for choosing NestJS as a technology stack and the specific benefits it has brought to your projects.](#please-share-your-reasons-for-choosing-nestjs-as-a-technology-stack-and-the-specific-benefits-it-has-brought-to-your-projects) 7 | 1. [You have full-stack development experience with Vue and React. What are the advantages and disadvantages of these frameworks in practice?](#you-have-full-stack-development-experience-with-vue-and-react-what-are-the-advantages-and-disadvantages-of-these-frameworks-in-practice) 8 | 9 | ## Considering future technological trends, how do you think front-end development will evolve? How do you plan to maintain and enhance your competitiveness in this rapidly changing field? 10 | 11 | You know, I think future front-end infrastructure tools will probably be rewritten in Rust - things like build tools and testing tools. This should really help improve development efficiency and build speed. Also, with AI becoming such a big thing, I think front-end developers should learn about large language models to better understand AI-related services. 12 | 13 | I believe front-end developers should aim to become full-stack developers. Like, first get really solid with front-end basics, then start learning some back-end stuff. This helps you better understand the whole project's business logic and makes you more competitive. 14 | 15 |
16 | 查看中文 17 | 对于未来的技术趋势,您认为前端开发将会如何发展?您打算如何保持和增强您在这个快速变化领域的竞争力? 18 | 19 | 我认为未来的前端基础设施工具都会用 rust 重写,例如构建工具、测试工具等等,这样能提高前端的开发效率和构建速度。而且未来是 AI 的时代,前端也可以学习一些大语言模型相关的知识,这样能更好的理解 AI 业务。 20 | 21 | 前端应该向全栈方向发展,把前端基础打扎实了,再学点后端知识,这样能更好的理解整个项目的业务逻辑,提高自己的竞争力。 22 | 23 |
24 | 25 | ## Please share your reasons for choosing NestJS as a technology stack and the specific benefits it has brought to your projects. 26 | 27 | Well, I chose NestJS mainly because it's open-source and written in JavaScript. It's got lots of features and a rich ecosystem, which makes it pretty easy for front-end developers to pick up. You know, in situations where we're short on back-end resources, front-end developers can step in and handle some back-end work too. 28 | 29 |
30 | 查看中文 31 | 请分享您选择 NestJS 作为技术栈的原因以及它在项目中带来的具体好处。 32 | 33 | 我选择 Nestjs 主要是因为它开源并且是用 js 写的,而且功能齐全、生态丰富,前端上手比较快。在后端资源不足的情况下,前端也可以写后端。 34 | 35 |
36 | 37 | ## You have full-stack development experience with Vue and React. What are the advantages and disadvantages of these frameworks in practice? 38 | 39 | You know, I've used both Vue and React for a while, and honestly, I feel like not just these two, but most reactive front-end frameworks are pretty similar to use. The main difference really lies in how they're designed and implemented under the hood. 40 | 41 | Like, take Vue's reactivity system - it's based on dependency tracking and change notification. When you access a data property, Vue automatically adds the current dependency to that property's dependency list. Then when that property's value changes, Vue notifies all the dependencies that rely on it to update, which triggers the component to re-render. 42 | 43 | React, on the other hand, handles reactivity through manually calling setState. This tells React that the component's state has changed, which then triggers the render method to re-render the component. 44 | 45 |
46 | 查看中文 47 | 您有过 Vue 和 React 的全栈开发经验,这两个框架在实战中各有什么优缺点? 48 | 49 | Vue 和 React 我都有用过一段时间,我觉得不仅 Vue 和 React,甚至是其他的响应式前端框架用法都差不多。无非是底层的设计和实现原理不同。例如 Vue 的响应式是基于依赖收集和变更通知的。当你访问一个数据属性时,Vue 会自动将当前的依赖添加到这个属性的依赖列表中。当这个属性的值发生变化时,Vue 会通知所有依赖于这个属性的依赖进行更新,从而重新渲染组件。而 React 的响应式是基于手动调用 setState 方法来通知 React 组件状态发生了改变,然后触发 render 方法重新渲染组件。 50 | 51 |
52 | -------------------------------------------------------------------------------- /docs/grammar/infinitive-gerund.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 不定式和动名词 3 | --- 4 | 5 | # 不定式(Infinitive)和动名词(Gerund) 6 | 7 | ## 概述 8 | 9 | **不定式**和**动名词**都是动词形式,在英语语法中有不同的用途和形式。理解它们的区别、语法形式和用法,对于提高语言表达的准确性很重要。 10 | 11 | ### 不定式(Infinitive) 12 | 13 | #### 形式 14 | 15 | 不定式通常由 "to + 动词原形" 构成。 16 | 17 | **示例**: 18 | 19 | - to eat 20 | - to run 21 | - to write 22 | 23 | #### 用法 24 | 25 | 1. **作主语**: 26 | 27 | - To read is fun. (阅读很有趣。) 28 | 29 | 2. **作宾语**: 30 | - She wants to learn Spanish. (她想学西班牙语。) 31 | 3. **作表语**: 32 | - His goal is to become a doctor. (他的目标是成为一名医生。) 33 | 4. **作定语**: 34 | - He has a report to write. (他有一份报告要写。) 35 | 5. **作状语**: 36 | - I went to the store to buy some milk. (我去商店买牛奶。) 37 | 38 | #### 示例 39 | 40 | - To travel around the world is my dream. (环游世界是我的梦想。) 41 | - She promised to help me. (她答应帮助我。) 42 | - I have some letters to write. (我有一些信要写。) 43 | 44 | ### 动名词(Gerund) 45 | 46 | #### 形式 47 | 48 | 动名词由动词加上 -ing 构成。 49 | 50 | **示例**: 51 | 52 | - eating 53 | - running 54 | - writing 55 | 56 | #### 用法 57 | 58 | 1. **作主语**: 59 | - Swimming is good exercise. (游泳是很好的锻炼。) 60 | 2. **作宾语**: 61 | - He enjoys reading books. (他喜欢读书。) 62 | 3. **作表语**: 63 | - Her hobby is painting. (她的爱好是画画。) 64 | 4. **作定语**: 65 | 66 | - There is a swimming pool in the backyard. (后院有一个游泳池。) 67 | 68 | 5. **用于某些特定动词之后**: 69 | 常见的动词包括:enjoy, avoid, mind, suggest, practice 等。 70 | - I enjoy cooking. (我喜欢做饭。) 71 | - She suggested going to the park. (她建议去公园。) 72 | 73 | #### 示例 74 | 75 | - Running every day is good for health. (每天跑步对健康有好处。) 76 | - He avoided answering the question. (他避免回答问题。) 77 | - Her job involves traveling a lot. (她的工作涉及到很多出差。) 78 | 79 | ### 不定式和动名词的区别 80 | 81 | 1. **形式区别**: 82 | 83 | - 不定式通常是 "to + 动词原形"。 84 | - 动名词通常是 "动词 + ing"。 85 | 86 | 2. **用法场景差异**: 87 | 88 | - 某些动词只能与不定式连用,例如:want, hope, need 等。例:I want to leave. (我想离开。) 89 | - 某些动词只能与动名词连用,例如:enjoy, avoid, mind 等。例:I enjoy swimming. (我喜欢游泳。) 90 | - 某些动词可以两者都连用,但意思有所区分,例如:stop, forget, remember 等。 91 | 92 | 3. **意义区别**: 93 | - **不定式**通常表达未实现的、未来的、抽象的动作或状态。 94 | - **动名词**通常表示已实现的或正在进行的动作或状态。 95 | 96 | ### 不定式和动名词常见的混淆场景 97 | 98 | #### 动词本身决定用哪种形式 99 | 100 | - 只能跟动名词的动词:enjoy, avoid, mind, suggest 等。 101 | 102 | - She enjoys reading. (她喜欢阅读。) 103 | - He avoided answering the question. (他避免回答问题。) 104 | 105 | - 只能跟不定式的动词:want, hope, decide, plan 等。 106 | - She wants to learn Spanish. (她想学西班牙语。) 107 | - He promised to help. (他答应帮忙。) 108 | 109 | #### 部分动词可以跟两者,但意思不同 110 | 111 | - **Remember** 112 | 113 | - Remember to do (记得去做某事): 114 | - Remember to lock the door. (记得锁门。) 115 | - Remember doing (记得做过某事): 116 | - I remember locking the door. (我记得锁了门。) 117 | 118 | - **Forget** 119 | 120 | - Forget to do (忘记去做某事): 121 | - I forgot to buy milk. (我忘记买牛奶了。) 122 | - Forget doing (忘记做过某事): 123 | - I'll never forget meeting her. (我永远不会忘记遇见她。) 124 | 125 | - **Stop** 126 | 127 | - Stop to do (停下来去做某事): 128 | - He stopped to smoke. (他停下来抽烟。) 129 | - Stop doing (停止做某事): 130 | - He stopped smoking. (他戒烟了。) 131 | 132 | - **Try** 133 | - Try to do (努力去做某事): 134 | - I tried to learn Spanish. (我努力学习西班牙语。) 135 | - Try doing (尝试做某事): 136 | - Try switching it off and on again. (试一试关掉再打开。) 137 | 138 | #### 表达目的 139 | 140 | 动名词不能表达目的,但不定式可以直接表达目的。 141 | 142 | - **用不定式表达目的**: 143 | - She is going to the store to buy some milk. (她去商店买牛奶。) 144 | 145 | #### 感官动词和动词短语 146 | 147 | 部分感官动词(hear, see, watch, feel)和一些使役动词(make, let)可以和动名词连用,表示经历或过程,不定式则表示某种意图。 148 | 149 | - **感官动词**: 150 | 151 | - I heard him singing. (我听到他在唱歌。) - 强调动作连续。 152 | - I heard him sing. (我听到他唱歌了。) - 强调动作完成。 153 | 154 | - **使役动词**: 155 | - She made me wash the dishes. (她让我洗了碗。) 156 | - He let me use his car. (他让我用了他的车。) 157 | 158 | ### 确定哪种形式的实用技巧 159 | 160 | 1. **了解特定动词的搭配习惯**:记住哪些动词只能跟不定式,哪些动词只能跟动名词。 161 | 2. **理解两者区别**:理解意思上的区别,并通过大量的阅读和练习来强化记忆。 162 | 3. **找寻语言环境**:语言环境和上下文可以帮助判断用哪种形式更合适。 163 | 164 | ### 总结 165 | 166 | 不定式和动名词在英语语法中扮演着不同的角色,并且在不同的应用场景中可能会表意相同或完全不同。通过理解不定式和动名词在不同动词和句子的应用场景,以及通过不断的练习和积累,可以有效地避免使用上的混淆。 167 | 168 | 通过以上细致的解释和示例,可以更好地理解不定式和动名词的用法及其差异。 169 | -------------------------------------------------------------------------------- /docs/qa/web3/development-tools.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Web3开发工具 3 | --- 4 | 5 | ## How do you use Hardhat in your development workflow? 6 | 7 | I see you've worked with Hardhat for smart contract development. Could you share how you've integrated it into your workflow? What specific features or plugins do you find most valuable? 8 | 9 |
10 | 查看中文 11 | 你如何在开发工作流程中使用 Hardhat? 12 | 13 | 我看到你使用 Hardhat 进行智能合约开发。你能分享一下你是如何将它集成到你的工作流程中的吗?你认为哪些特定功能或插件最有价值? 14 | 15 |
16 | 17 | ## What's your experience with Ethers.js? How does it compare to Web3.js? 18 | 19 | You mentioned using Ethers.js for blockchain data interaction. Could you talk about your experience with it? Have you also used Web3.js, and if so, how would you compare them? 20 | 21 |
22 | 查看中文 23 | 你使用 Ethers.js 的经验是什么?它与 Web3.js 相比如何? 24 | 25 | 你提到使用 Ethers.js 进行区块链数据交互。你能谈谈你使用它的经验吗?你是否也使用过 Web3.js,如果是,你如何比较它们? 26 | 27 |
28 | 29 | ## How would you debug a failed transaction on the Ethereum blockchain? 30 | 31 | When I'm debugging a failed transaction, I start by looking at the transaction hash on Etherscan or another block explorer. This usually gives me the basic details about what went wrong - like an "out of gas" error or a reverted transaction. 32 | 33 | For more complex issues, I use Hardhat's console.log functionality during development. It's really useful because you can add logging statements right in your Solidity code and see the output during transactions, even for complex operations. 34 | 35 | If I'm dealing with a production issue, I'll try to reproduce the failure locally using tools like Hardhat or Foundry. I'll set up a fork of the mainnet at that specific block and replay the transaction to see exactly what's happening. 36 | 37 | I also rely on Tenderly for production debugging. It gives you a full stack trace and shows you exactly where and why the transaction reverted, which is super helpful. 38 | 39 | Sometimes the issue is related to transaction parameters, like insufficient gas or incorrect input data. In these cases, I check the function signature, input encoding, and gas limits. 40 | 41 | For more subtle bugs, I might analyze the contract state before and after the transaction using archive nodes, or look at events that were emitted up to the failure point. 42 | 43 | The key is having good monitoring and logging in place so you can quickly identify and reproduce issues when they happen. 44 | 45 |
46 | 查看中文 47 | 你会如何调试以太坊区块链上失败的交易? 48 | 49 | 当我调试失败的交易时,首先会在Etherscan或其他区块浏览器上查看交易哈希。这通常能提供关于出错原因的基本信息 - 比如"gas不足"错误或交易被回滚。 50 | 51 | 对于更复杂的问题,我在开发过程中使用Hardhat的console.log功能。这非常有用,因为你可以直接在Solidity代码中添加日志语句,并在交易期间看到输出,即使是复杂操作也能看到。 52 | 53 | 如果我处理的是生产环境中的问题,我会尝试使用Hardhat或Foundry等工具在本地重现失败。我会设置特定区块的主网分叉并重放交易,以准确了解发生了什么。 54 | 55 | 我还依赖Tenderly进行生产调试。它提供完整的堆栈跟踪,并准确显示交易在哪里以及为什么被回滚,这非常有帮助。 56 | 57 | 有时问题与交易参数有关,如gas不足或输入数据不正确。在这些情况下,我会检查函数签名、输入编码和gas限制。 58 | 59 | 对于更微妙的bug,我可能会使用归档节点分析交易前后的合约状态,或查看在失败点之前发出的事件。 60 | 61 | 关键是要有良好的监控和日志记录,这样当问题发生时可以快速识别和重现问题。 62 | 63 |
64 | 65 | ## How do you test your smart contracts? 66 | 67 | I believe in a comprehensive testing strategy that combines different types of tests. First, I write unit tests for individual functions using frameworks like Hardhat with Chai or Truffle. These test the basic functionality in isolation. 68 | 69 | For more complex interactions, I write integration tests that verify how different contracts work together. These might simulate multi-step processes like staking tokens and then claiming rewards. 70 | 71 | I also use property-based testing with tools like Echidna or Foundry's invariant testing. Instead of specific test cases, these tools generate random inputs to try to break invariants - conditions that should always hold true in your contract. 72 | 73 | For critical contracts, I'll write formal verification specs with tools like Certora. This mathematically proves certain properties of your contract, which gives much stronger guarantees than traditional testing. 74 | 75 | Scenario testing is also important - I'll create test scenarios that mimic real-world usage patterns and edge cases. This might include things like simulating high network congestion or price volatility. 76 | 77 | And of course, I always deploy to testnets before mainnet. This lets me see how the contracts behave in a more realistic environment and catch any integration issues with external systems. 78 | 79 | After deployment, I keep monitoring the live contracts for any unexpected behavior. No matter how thorough your testing is, there's always a chance of finding issues in production, so you need to stay vigilant. 80 | 81 |
82 | 查看中文 83 | 你如何测试你的智能合约? 84 | 85 | 我相信综合测试策略,结合不同类型的测试。首先,我使用Hardhat与Chai或Truffle等框架为单个函数编写单元测试。这些测试在隔离环境中测试基本功能。 86 | 87 | 对于更复杂的交互,我编写集成测试来验证不同合约如何一起工作。这些可能模拟多步骤流程,如质押代币然后领取奖励。 88 | 89 | 我还使用Echidna或Foundry的不变量测试等工具进行基于属性的测试。这些工具不是使用特定的测试用例,而是生成随机输入,尝试打破不变量 - 这些是你的合约中应该始终保持真实的条件。 90 | 91 | 对于关键合约,我会使用Certora等工具编写形式化验证规范。这从数学上证明了合约的某些属性,比传统测试提供更强的保证。 92 | 93 | 场景测试也很重要 - 我会创建模拟真实世界使用模式和边缘情况的测试场景。这可能包括模拟高网络拥塞或价格波动等情况。 94 | 95 | 当然,我总是在部署到主网之前先部署到测试网。这让我可以在更现实的环境中观察合约的行为,并发现与外部系统的任何集成问题。 96 | 97 | 部署后,我持续监控实际运行的合约是否有任何意外行为。无论你的测试多么彻底,总有可能在生产环境中发现问题,所以你需要保持警惕。 98 | 99 |
100 | -------------------------------------------------------------------------------- /docs/qa/web3/contract-security.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 合约安全 3 | --- 4 | 5 | ## What security measures did you implement in your blockchain projects? 6 | 7 | I see you have experience with smart contract auditing. Could you describe your approach to ensuring contract security? What common vulnerabilities do you look for, and how do you mitigate them? 8 | 9 |
10 | 查看中文 11 | 你在区块链项目中实施了哪些安全措施? 12 | 13 | 我看到你有智能合约审计经验。你能描述一下你确保合约安全的方法吗?你会寻找哪些常见漏洞,以及如何缓解这些漏洞? 14 | 15 |
16 | 17 | ## How did you design the anti-replay attack signature mechanism mentioned in your resume? 18 | 19 | You mentioned implementing a signature mechanism to prevent replay attacks. Could you explain how this mechanism works and why it's important for blockchain applications? 20 | 21 |
22 | 查看中文 23 | 你是如何设计简历中提到的防重放攻击签名机制的? 24 | 25 | 你提到实现了一个防止重放攻击的签名机制。你能解释一下这个机制是如何工作的,以及为什么它对区块链应用很重要吗? 26 | 27 |
28 | 29 | ## What are the common security vulnerabilities in smart contracts and how do you prevent them? 30 | 31 | In my experience, reentrancy attacks are still one of the biggest issues - that's where a function can be interrupted and called again before it finishes executing. The classic example is the DAO hack. I always follow the checks-effects-interactions pattern to prevent this, making sure I update all state variables before making external calls, and I use reentrancy guards for extra safety. 32 | 33 | Integer overflow and underflow used to be major problems, but Solidity 0.8.0+ now checks for this automatically. If I'm working with older versions, I'll use SafeMath or similar libraries. 34 | 35 | Access control vulnerabilities are also common - making sure only authorized users can call certain functions. I implement proper role-based access control systems and always double-check who can call critical functions. 36 | 37 | Front-running is a big concern in DeFi projects, where miners or observers can see pending transactions and insert their own transactions ahead of yours. For this, I might implement commit-reveal schemes or add slippage tolerances. 38 | 39 | Flash loan attacks have become more common recently - where someone takes out an uncollateralized loan and uses it to manipulate markets in the same transaction. I address this by using time-weighted average prices or getting data from decentralized oracles like Chainlink. 40 | 41 | And finally, there's always the possibility of logic errors in the business logic itself. For complex contracts, I'll make sure to have multiple rounds of code review and testing, including formal verification for critical components if possible. 42 | 43 |
44 | 查看中文 45 | 智能合约中常见的安全漏洞有哪些,你如何防止它们? 46 | 47 | 根据我的经验,重入攻击仍然是最大的问题之一 - 这是指一个函数在执行完成前被中断并再次调用。典型的例子是DAO黑客事件。我总是遵循检查-效果-交互模式来防止这种情况,确保在进行外部调用前更新所有状态变量,并使用重入保护进行额外保护。 48 | 49 | 整数溢出和下溢曾经是主要问题,但Solidity 0.8.0+现在会自动检查这个问题。如果我使用较旧的版本,我会使用SafeMath或类似的库。 50 | 51 | 访问控制漏洞也很常见 - 确保只有授权用户才能调用某些函数。我会实现适当的基于角色的访问控制系统,并始终仔细检查谁可以调用关键函数。 52 | 53 | 前置交易在DeFi项目中是一个大问题,矿工或观察者可以看到待处理的交易并在你的交易前插入他们自己的交易。对此,我可能会实现提交-揭示方案或添加滑点容忍度。 54 | 55 | 闪电贷款攻击最近变得更加常见 - 有人获取无抵押贷款并在同一交易中使用它来操纵市场。我通过使用时间加权平均价格或从Chainlink等去中心化预言机获取数据来解决这个问题。 56 | 57 | 最后,业务逻辑本身可能存在逻辑错误。对于复杂的合约,我会确保进行多轮代码审查和测试,如果可能的话,对关键组件进行形式化验证。 58 | 59 |
60 | 61 | ## How do you approach smart contract auditing? 62 | 63 | When I audit smart contracts, I follow a pretty systematic approach. First, I'll read through the documentation and specs to understand what the contract is supposed to do. This gives me context before diving into the code. 64 | 65 | Next, I do a manual code review, line by line. I'm looking for common vulnerabilities like reentrancy, access control issues, overflows (in older Solidity versions), and logical flaws. I pay special attention to external calls, state changes, and permission checks. 66 | 67 | I also use automated tools like Slither, Mythril, or Echidna to identify potential issues. These tools are great for catching things humans might miss, but they can have false positives, so you need to verify their findings. 68 | 69 | For complex contracts, I'll create attack scenarios and try to break the contract. This might involve edge cases like sending unexpected amounts of ETH or calling functions in an unusual sequence. 70 | 71 | I always check the business logic against the intended behavior. Even if there's no technical vulnerability, there might be logical flaws that could be exploited. 72 | 73 | After finding issues, I categorize them by severity and create detailed reports explaining the vulnerability, its impact, and suggested fixes. Then I verify the fixes to make sure they actually solve the problem without introducing new issues. 74 | 75 | For important contracts, I recommend multiple independent audits because different auditors catch different things. 76 | 77 |
78 | 查看中文 79 | 你如何进行智能合约审计? 80 | 81 | 在审计智能合约时,我遵循一种相当系统的方法。首先,我会阅读文档和规范,了解合约应该做什么。这在深入代码之前为我提供了上下文。 82 | 83 | 接下来,我会逐行进行手动代码审查。我寻找常见的漏洞,如重入攻击、访问控制问题、溢出(在较旧的Solidity版本中)和逻辑缺陷。我特别关注外部调用、状态变更和权限检查。 84 | 85 | 我还使用Slither、Mythril或Echidna等自动化工具来识别潜在问题。这些工具非常适合捕捉人类可能遗漏的问题,但它们可能有误报,所以需要验证它们的发现。 86 | 87 | 对于复杂的合约,我会创建攻击场景并尝试破坏合约。这可能涉及边缘情况,如发送意外数量的ETH或以异常顺序调用函数。 88 | 89 | 我总是根据预期行为检查业务逻辑。即使没有技术漏洞,也可能存在可被利用的逻辑缺陷。 90 | 91 | 发现问题后,我会按严重程度对它们进行分类,并创建详细报告,解释漏洞、其影响和建议的修复方法。然后我验证修复以确保它们实际解决了问题而没有引入新问题。 92 | 93 | 对于重要合约,我建议进行多次独立审计,因为不同的审计人员会发现不同的问题。 94 | 95 |
96 | -------------------------------------------------------------------------------- /docs/sentence-pattern/sentence-types.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 句子类型 3 | --- 4 | 5 | # 句子类型 6 | 7 | 句子按类型来分可以分为四种。 8 | 9 | ## 简单句 (Simple Sentence) 10 | 11 | ### 定义 12 | 13 | 简单句是指只包含一个独立从句的句子。一个独立从句包含一个主语和一个谓语,表达一个完整的思想。 14 | 15 | ### 使用场景 16 | 17 | 简单句通常用于表达单一、清晰的思想或信息,适合用于简单的陈述、描述和命令。 18 | 19 | ### 示例 20 | 21 | - **陈述**:I read a book. 22 | - **描述**:The sun is shining. 23 | - **命令**:Close the door. 24 | 25 | ### 详细分析 26 | 27 | - **例子**:I read a book. 28 | - **主语**:I 29 | - **谓语**:read 30 | - **宾语**:a book 31 | - **解释**:这是一个完整的句子,包含一个主语、一个谓语和一个宾语,表达一个完整的思想。 32 | 33 | ## 并列句 (Compound Sentence) 34 | 35 | ### 定义 36 | 37 | 并列句由两个或多个独立从句通过并列连词(如 and, but, or)连接而成。每个独立从句都可以独立存在,表达完整的思想。 38 | 39 | ### 使用场景 40 | 41 | 并列句用于连接两个或多个相关但独立的思想,常用于表达对比、选择或补充信息。 42 | 43 | ### 示例 44 | 45 | - **对比**:I wanted to go for a walk, but it started to rain. 46 | - **选择**:You can have tea, or you can have coffee. 47 | - **补充**:She likes to read, and he enjoys writing. 48 | 49 | ### 详细分析 50 | 51 | - **例子**:I read a book, and she watched a movie. 52 | - **独立从句1**:I read a book 53 | - **并列连词**:and 54 | - **独立从句2**:she watched a movie 55 | - **解释**:两个独立从句通过并列连词连接,表达两个相关但独立的思想。 56 | 57 | ## 复合句 (Complex Sentence) 58 | 59 | ### 定义 60 | 61 | 复合句包含一个独立从句和一个或多个从属从句。独立从句表达主要思想,从属从句提供附加信息,通常由从属连词(如 because, although, when)引导。 62 | 63 | ### 使用场景 64 | 65 | 复合句用于表达主要思想和次要思想之间的关系,如原因、时间、条件和对比。 66 | 67 | ### 示例 68 | 69 | - **原因**:I read a book because it was interesting. 70 | - **时间**:She called me when she arrived. 71 | - **条件**:If it rains, we will stay home. 72 | - **对比**:Although he was tired, he finished his homework. 73 | 74 | ### 详细分析 75 | 76 | - **例子**:I read a book because it was interesting. 77 | - **独立从句**:I read a book 78 | - **从属连词**:because 79 | - **从属从句**:it was interesting 80 | - **解释**:一个独立从句和一个从属从句,通过从属连词连接,表达一个主要思想和一个次要思想。 81 | 82 | ## 并列复合句 (Compound-Complex Sentence) 83 | 84 | ### 定义 85 | 86 | 并列复合句包含两个或多个独立从句和一个或多个从属从句。它结合了并列句和复合句的特点,用于表达多个相关的主要思想和次要思想。 87 | 88 | ### 使用场景 89 | 90 | 并列复合句用于表达复杂的思想和关系,适合在需要详细说明和解释的场合使用。 91 | 92 | ### 示例 93 | 94 | - **例子**:I read a book, and she watched a movie because it was raining. 95 | - **独立从句1**:I read a book 96 | - **并列连词**:and 97 | - **独立从句2**:she watched a movie 98 | - **从属连词**:because 99 | - **从属从句**:it was raining 100 | - **解释**:两个独立从句通过并列连词连接,其中一个独立从句包含一个从属从句,表达多个相关思想。 101 | 102 | ### 详细分析 103 | 104 | - **例子**:She was happy, and she smiled because she won the prize. 105 | - **独立从句1**:She was happy 106 | - **并列连词**:and 107 | - **独立从句2**:she smiled 108 | - **从属连词**:because 109 | - **从属从句**:she won the prize 110 | - **解释**:两个独立从句通过并列连词连接,其中一个独立从句包含一个从属从句,表达多个相关思想。 111 | 112 | ## 理解长句子 113 | 114 | 理解长句子,尤其是那些包含多个从句和修饰成分的句子,可以采用以下几个步骤和技巧: 115 | 116 | #### 步骤和技巧 117 | 118 | 1. **识别主句和从句**: 119 | 120 | - 找出句子的主语和谓语,识别哪个部分是主句,哪些部分是从句或修饰成分。 121 | 122 | 2. **分解句子**: 123 | 124 | - 将长句子分解成多个小部分,逐一理解每个部分的意思。 125 | 126 | 3. **寻找连接词和标点符号**: 127 | 128 | - 注意句子中的连接词(如 and, but, because, which, that 等)和标点符号(如逗号、分号、冒号),这些通常是句子结构的关键。 129 | 130 | 4. **理解修饰成分**: 131 | 132 | - 理解句子中修饰成分(如定语、状语、同位语等)的作用,这些成分通常提供额外的信息。 133 | 134 | 5. **重组句子**: 135 | - 如果原句子太复杂,可以尝试重组句子,将其改写为多个简单句,逐步理解。 136 | 137 | #### 示例分析 138 | 139 | 让我们通过一个具体的例子来说明如何理解长句子: 140 | 141 | **原句**: 142 | "The book, which was written by the famous author who won the Nobel Prize, is about the history of ancient civilizations, and it provides a comprehensive overview of the cultural, social, and technological advancements made during that period." 143 | 144 | ##### 第一步:识别主句和从句 145 | 146 | - **主句**:The book is about the history of ancient civilizations. 147 | - **从句**: 148 | - which was written by the famous author who won the Nobel Prize 149 | - and it provides a comprehensive overview of the cultural, social, and technological advancements made during that period 150 | 151 | ##### 第二步:分解句子 152 | 153 | 1. **主句**:The book is about the history of ancient civilizations. 154 | 2. **第一从句**:which was written by the famous author who won the Nobel Prize 155 | - **修饰**:The book 156 | 3. **第二从句**:and it provides a comprehensive overview of the cultural, social, and technological advancements made during that period 157 | - **连接词**:and 158 | - **主语**:it(指代 the book) 159 | - **谓语**:provides 160 | - **宾语**:a comprehensive overview of the cultural, social, and technological advancements made during that period 161 | 162 | ##### 第三步:理解修饰成分 163 | 164 | - **which was written by the famous author who won the Nobel Prize**:这是一个定语从句,修饰 "The book",提供了关于这本书的额外信息,即这本书是由一位获得诺贝尔奖的著名作者写的。 165 | - **who won the Nobel Prize**:这是一个嵌套在定语从句中的从句,修饰 "the famous author",提供了关于这位作者的额外信息,即他获得了诺贝尔奖。 166 | - **and it provides a comprehensive overview of the cultural, social, and technological advancements made during that period**:这是一个并列从句,进一步描述了这本书的内容,即它提供了关于那个时期文化、社会和技术进步的全面概述。 167 | 168 | ##### 第四步:重组句子 169 | 170 | 将复杂句子拆分成多个简单句,以便更容易理解: 171 | 172 | 1. The book is about the history of ancient civilizations. 173 | 2. The book was written by the famous author who won the Nobel Prize. 174 | 3. The book provides a comprehensive overview of the cultural, social, and technological advancements made during that period. 175 | 176 | ### 练习 177 | 178 | 为了更好地掌握这个技巧,你可以尝试以下练习: 179 | 180 | 1. 找一些包含多个从句和修饰成分的长句子,按照上述步骤进行分解和理解。 181 | 2. 尝试将这些长句子改写为多个短句,确保每个短句表达一个完整的思想。 182 | 3. 逐步练习,逐渐提高你对复杂句子的理解能力。 183 | -------------------------------------------------------------------------------- /docs/pronunciation/phoneme.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 音素 3 | --- 4 | 5 | # 音素 6 | 7 | 音素(phoneme)是语言学中的一个基本概念,指的是在一种语言中能够区别词义的最小语音单位。音素本身并不具有具体的意义,但它们的不同组合可以形成具有不同意义的词语。音素可以分为两大类:元音音素(vowel phonemes)和辅音音素(consonant phonemes)。 8 | 9 | ## 元音音素 10 | 11 | 元音音素(vowel phonemes)是指在语音学中,通过声带的振动和口腔的不同形状和位置而产生的音素。元音音素是语言中发音的基本单位,不同的元音音素可以区分不同的词语。它的特点是**气流可以不受阻碍地通过口腔,主要通过口腔形状和舌头位置的变化来产生不同的音素**。 12 | 13 | ### 如何区分元音音素 14 | 15 | - **气流通过**:发音时,气流不受阻碍地通过口腔和喉咙。 16 | - **声带振动**:通常伴随声带的振动。 17 | - **发音部位**:主要通过改变舌头的位置、口腔的形状以及嘴唇的形状来产生不同的元音音素。 18 | - **例子**:/iː/(see)、/uː/(food)、/æ/(cat)。 19 | 20 | 下面是更详细的区分方法。 21 | 22 | #### 1. 舌位(Tongue Position) 23 | 24 | - **前元音(Front Vowels)**:舌头在口腔前部的位置。例如:/iː/(see)、/e/(bed)。 25 | - **中元音(Central Vowels)**:舌头在口腔中部的位置。例如:/ə/(about)、/ɜː/(bird)。 26 | - **后元音(Back Vowels)**:舌头在口腔后部的位置。例如:/uː/(food)、/ɔː/(law)。 27 | 28 | #### 2. 舌高(Tongue Height) 29 | 30 | - **高元音(Close Vowels)**:舌头接近口腔顶部的位置。例如:/iː/(see)、/uː/(food)。 31 | - **中高元音(Close-mid Vowels)**:舌头稍微低于高元音的位置。例如:/e/(bed)、/o/(go)。 32 | - **中元音(Mid Vowels)**:舌头在口腔中间位置。例如:/ə/(about)、/ɜː/(bird)。 33 | - **中低元音(Open-mid Vowels)**:舌头稍微高于低元音的位置。例如:/ɛ/(bet)、/ɔ/(thought)。 34 | - **低元音(Open Vowels)**:舌头接近口腔底部的位置。例如:/æ/(cat)、/ɑː/(father)。 35 | 36 | #### 3. 唇形(Lip Rounding) 37 | 38 | - **圆唇元音(Rounded Vowels)**:发音时嘴唇是圆的。例如:/uː/(food)、/ɔː/(law)。 39 | - **不圆唇元音(Unrounded Vowels)**:发音时嘴唇是平的。例如:/iː/(see)、/æ/(cat)。 40 | 41 | ### 英语中的元音音素 42 | 43 | 以下是英语中的主要元音音素: 44 | 45 | | 元音音素 | 示例单词 | 国际音标 | 46 | | -------- | -------- | --------- | 47 | | 长元音 | | | 48 | | /iː/ | see | /siː/ | 49 | | /uː/ | food | /fuːd/ | 50 | | /ɜː/ | bird | /bɜːd/ | 51 | | /ɔː/ | law | /lɔː/ | 52 | | /ɑː/ | father | /ˈfɑːðər/ | 53 | | 短元音 | | | 54 | | /ɪ/ | sit | /sɪt/ | 55 | | /ʊ/ | book | /bʊk/ | 56 | | /e/ | bed | /bed/ | 57 | | /ə/ | about | /əˈbaʊt/ | 58 | | /ʌ/ | cup | /kʌp/ | 59 | | /ɒ/ | hot | /hɒt/ | 60 | | /æ/ | cat | /kæt/ | 61 | | 双元音 | | | 62 | | /eɪ/ | face | /feɪs/ | 63 | | /aɪ/ | my | /maɪ/ | 64 | | /ɔɪ/ | boy | /bɔɪ/ | 65 | | /aʊ/ | now | /naʊ/ | 66 | | /əʊ/ | go | /ɡəʊ/ | 67 | | /ɪə/ | near | /nɪər/ | 68 | | /eə/ | hair | /heər/ | 69 | | /ʊə/ | pure | /pjʊər/ | 70 | 71 | 这些元音音素是英语中常见的发音,通过了解和掌握这些音素,可以更好地理解和发音英语单词。 72 | 73 | ### 半元音(Semi-vowels) 74 | 75 | 半元音(semi-vowels)是一类特殊的音素,它们在发音时气流几乎不受阻碍,类似元音,但在音节中起辅音的作用。半元音在英语中有两个:/j/ 和 /w/。 76 | 77 | - **/j/**:例如在单词 "yes" 中,发音类似于元音 /iː/,但起辅音作用。 78 | - **/w/**:例如在单词 "we" 中,发音类似于元音 /uː/,但起辅音作用。 79 | 80 | ## 辅音音素 81 | 82 | 辅音音素(consonant phonemes)是指在语音学中,通过声带的振动、气流的阻碍或爆破以及口腔、鼻腔等发音部位的不同位置和方式产生的音素。辅音音素是语言中发音的基本单位,不同的辅音音素可以区分不同的词语。它的特点是**气流在口腔或喉咙中受到不同程度的阻碍,通过发音部位和发音方式的变化来产生不同的音素**。 83 | 84 | ### 如何区分辅音音素 85 | 86 | - **气流阻碍**:发音时,气流在口腔或喉咙中受到不同程度的阻碍,这种阻碍可以是完全的(如爆破音)或部分的(如摩擦音)。 87 | - **声带振动**:可以分为清音(声带不振动)和浊音(声带振动)。 88 | - **发音部位和方式**:通过不同的发音部位(如双唇、齿龈、软腭等)和发音方式(如爆破音、摩擦音、鼻音等)来产生不同的辅音音素。 89 | - **例子**:/p/(pat)、/s/(sit)、/m/(man)。 90 | 91 | 下面是更详细的区分方法。 92 | 93 | #### 1. 发音部位(Place of Articulation) 94 | 95 | - **双唇音(Bilabial)**:上下唇接触发音。例如:/p/(pat)、/b/(bat)。 96 | - **唇齿音(Labiodental)**:下唇与上齿接触发音。例如:/f/(fat)、/v/(vat)。 97 | - **齿音(Dental)**:舌尖与上齿接触发音。例如:/θ/(think)、/ð/(this)。 98 | - **齿龈音(Alveolar)**:舌尖与上齿龈接触发音。例如:/t/(tap)、/d/(dog)。 99 | - **后齿龈音(Post-alveolar)**:舌尖与齿龈后部接触发音。例如:/ʃ/(she)、/ʒ/(measure)。 100 | - **软腭音(Velar)**:舌背与软腭接触发音。例如:/k/(cat)、/ɡ/(go)。 101 | - **声门音(Glottal)**:声门处发音。例如:/h/(hat)、/ʔ/(uh-oh)。 102 | 103 | #### 2. 发音方式(Manner of Articulation) 104 | 105 | - **爆破音(Plosive)**:气流在口腔中被完全阻塞然后突然释放。例如:/p/、/b/、/t/、/d/、/k/、/ɡ/。 106 | - **摩擦音(Fricative)**:气流通过狭窄的通道产生摩擦。例如:/f/、/v/、/θ/、/ð/、/s/、/z/、/ʃ/、/ʒ/、/h/。 107 | - **破擦音(Affricate)**:爆破音和摩擦音的组合。例如:/tʃ/(church)、/dʒ/(judge)。 108 | - **鼻音(Nasal)**:气流通过鼻腔发音。例如:/m/(man)、/n/(no)、/ŋ/(sing)。 109 | - **边音(Lateral)**:气流沿舌头两侧通过。例如:/l/(lip)。 110 | - **近音(Approximant)**:发音部位接近但不完全接触。例如:/r/(red)、/j/(yes)、/w/(we)。 111 | 112 | #### 3. 声带振动(Voicing) 113 | 114 | - **清音(Voiceless)**:声带不振动。例如:/p/、/t/、/k/、/f/、/θ/、/s/、/ʃ/、/h/。 115 | - **浊音(Voiced)**:声带振动。例如:/b/、/d/、/ɡ/、/v/、/ð/、/z/、/ʒ/、/m/、/n/、/ŋ/、/l/、/r/、/j/、/w/。 116 | 117 | ### 英语中的辅音音素 118 | 119 | 以下是英语中的主要辅音音素: 120 | 121 | | 辅音音素 | 示例单词 | 国际音标 | 122 | | -------- | -------- | --------- | 123 | | 爆破音 | | | 124 | | /p/ | pat | /pæt/ | 125 | | /b/ | bat | /bæt/ | 126 | | /t/ | tap | /tæp/ | 127 | | /d/ | dog | /dɒɡ/ | 128 | | /k/ | cat | /kæt/ | 129 | | /ɡ/ | go | /ɡəʊ/ | 130 | | 摩擦音 | | | 131 | | /f/ | fat | /fæt/ | 132 | | /v/ | vat | /væt/ | 133 | | /θ/ | think | /θɪŋk/ | 134 | | /ð/ | this | /ðɪs/ | 135 | | /s/ | sit | /sɪt/ | 136 | | /z/ | zoo | /zuː/ | 137 | | /ʃ/ | she | /ʃiː/ | 138 | | /ʒ/ | measure | /ˈmeʒər/ | 139 | | /h/ | hat | /hæt/ | 140 | | 破擦音 | | | 141 | | /tʃ/ | church | /tʃɜːrtʃ/ | 142 | | /dʒ/ | judge | /dʒʌdʒ/ | 143 | | 鼻音 | | | 144 | | /m/ | man | /mæn/ | 145 | | /n/ | no | /nəʊ/ | 146 | | /ŋ/ | sing | /sɪŋ/ | 147 | | 边音 | | | 148 | | /l/ | lip | /lɪp/ | 149 | | 近音 | | | 150 | | /r/ | red | /rɛd/ | 151 | | /j/ | yes | /jɛs/ | 152 | | /w/ | we | /wiː/ | 153 | 154 | 这些辅音音素是英语中常见的发音,通过了解和掌握这些音素,可以更好地理解和发音英语单词。 155 | -------------------------------------------------------------------------------- /docs/phrase/others.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 其他短语 3 | --- 4 | 5 | 1. Have a general idea of sth. 对某事有一个大致的了解 6 | 1. Reach out to sb. 联系某人/向某人伸出援手 7 | 1. Have a safe trip home. 一路平安 8 | 1. As a matter of fact. 事实上 9 | 1. It's too early to know for sure. 现在说还为时过早 10 | 1. That's for sure. 这是肯定的 11 | 1. He's something! 他真了不起 12 | 1. Take your time. 慢慢来 13 | 1. A piece of cake. 小菜一碟 14 | 1. Last but not least. 最后但同样重要的 15 | 1. Who could that be? 那会是谁呢? 16 | 1. Can you do me a favor? 能帮我个忙吗? 17 | 1. I'll go along with that. 我同意那个 18 | 1. I'll go along with you. 我会跟你一起去/我会支持你 19 | 1. Get busy with. 开始做/着手做 20 | 1. What's gotten into him? 他这是怎么了? 21 | 1. He'll get over it. 他会克服的/他会好起来的 22 | 1. That's my boy! 好样的! 23 | 1. Make yourself at home. 随便点/别客气 24 | 1. Cheer you up. 让你开心起来 25 | 1. Come by. 过来/来访/获得 26 | 1. Come up with something. 想出办法 27 | 1. Work something out. 想办法解决 28 | 1. That's the deal. 就这么说定了 29 | 1. Give me a break. 饶了我吧/别为难我 30 | 1. You're something! 你真了不起! 31 | 1. That's what I thought. 我也是这么想的 32 | 1. I see what you mean. 我明白你的意思了 33 | 1. It's up to you. 由你决定 34 | 1. I'm all for it. 我完全支持 35 | 1. Ring a bell? 听起来耳熟吗? 36 | 1. Just because. 没什么特别原因 37 | 1. No buts. 别找借口 38 | 1. You can count on it. 这是肯定的 39 | 1. That's the spirit! 这才对嘛! 40 | 1. Earned your weight in gold. 你非常有价值 41 | 1. Give it a try. 试一试 42 | 1. You're tops! 你最棒了! 43 | 1. Get to the point. 说重点 44 | 1. Keep looking. 继续找 45 | 1. Hold your horses. 别急 46 | 1. I'm broke. 我身无分文 47 | 1. Give someone a hand. 帮帮忙 48 | 1. Get over it. 克服/度过 49 | 1. A big fish in a little pond. 小圈子里的重要人物 50 | 1. Scared to death. 害怕极了 51 | 1. Dream come true. 梦想成真 52 | 1. You have that look in your eye. 你眼神里透露出某种意思 53 | 1. Fit (right) in with... 很适合... 54 | 1. That kind of thing. 诸如此类的事情 55 | 1. Put something on the line. 冒险/承担风险 56 | 1. Welcome aboard. 欢迎加入 57 | 1. For a ride. 去兜风/去乘车游玩 58 | 1. Your name will do. 你的名字就行 59 | 1. Have sb. do sth. 让某人做某事 60 | 1. Take after. 像...一样 61 | 1. Get used to. 习惯于 62 | 1. Get a word in. 插话/插嘴 63 | 1. Get going. 开始行动 64 | 1. First things first. 要事优先 65 | 1. As it was. 和以前一样 66 | 1. Have you with us. 和我们在一起 67 | 1. Take the liberty of. 自作主张 68 | 1. Down the road. 在将来/未来某时 69 | 1. Visit with someone. 拜访/交谈/叙旧 70 | 1. Sounds like fun. 听起来很有趣 71 | 1. It's on the house. 免费的/店家请客 72 | 1. Be with sb. 和某人在一起/陪伴某人 73 | 1. Let's get right to it. 让我们直接开始 74 | 1. Now what. 现在怎么办(需要加问号:现在怎么办?) 75 | 1. How would it be. 会是什么样子 76 | 1. From time to time. 时不时/偶尔 77 | 1. I'm all ears. 我洗耳恭听 78 | 1. Better off. 更好/更合适/过得更好 79 | 1. No point in. 没有必要/不值得 80 | 1. Once in a lifetime. 千载难逢/一生一次 81 | 1. Talk it over. 好好谈谈 82 | 1. Think it over. 仔细想想 83 | 1. I want what's best for you. 我希望你得到最好的 84 | 1. Have anything to do with. 和...有关系 85 | 1. Go into business. 做生意/经商 86 | 1. Get sb. doing/to do sth. 让某人做某事 87 | 1. To the best of one's ability. 尽最大努力 88 | 1. Have been meaning to do sth. 一直想做某事 89 | 1. Watch over. 照看/照顾 90 | 1. Coming all this way. 远道而来 91 | 1. Come over. 过来/来访 92 | 1. Coming up. 即将到来/上楼 93 | 1. Keep sb. from sth. 阻止某人/使某人远离某事 94 | 1. Keep sb. from doing sth. 阻止某人做某事 95 | 1. Once or twice. 一两次 96 | 1. Get a handle on. 掌握/理解 97 | 1. Get to. 到达/开始做/达到 98 | 1. Get down to. 开始认真做 99 | 1. Something the matter? 出什么事了? 100 | 1. Happen to. 碰巧/偶然 101 | 1. On purpose. 故意/有意 102 | 1. In return. 作为回报 103 | 1. Go around. 到处走走/传播 104 | 1. Come through with sb. 和某人一起完成/履行承诺 105 | 1. Ask for. 请求/要求 106 | 1. Ask sb. to do. 请求某人做某事 107 | 1. Not just...but... 不仅...而且... 108 | 1. Fix up. 修整/整理/装修 109 | 1. Go ahead. 继续/前进 110 | 1. Roll up. 卷起 111 | 1. Show up. 出现/到场 112 | 1. Leave out. 省略/忽略 113 | 1. Put together. 组装/拼凑 114 | 1. Live up to. 达到期望/发挥潜力 115 | 1. In order to. 为了 116 | 1. In order for ... to. 为了让... 117 | 1. Transform...into... 将...转换为... 118 | 1. Agree to do sth. 同意做某事 119 | 1. Get sb. sth. 给某人某物 120 | 1. Have in mind. 心里想的是/打算 121 | 1. Drive sb. home. 送某人回家 122 | 1. It's all right with sb. 对某人来说没问题 123 | 1. Count on. 依靠/指望 124 | 1. Get right to. 直接开始 125 | 1. In one's honor. 为某人致敬/为纪念、庆祝某人 126 | 1. Have no idea. 不知道 127 | 1. Take one's in. 收留/接纳 128 | 1. Had sth. engraved. 让某物刻字 129 | 1. Take along. 带上 130 | 1. Camp out. 露营 131 | 1. Head back. 返回 132 | 1. Through the night. 整夜 133 | 1. Have a great time doing sth. 做某事很开心 134 | 1. Have a hard time doing sth. 做某事有困难 135 | 1. On one's stomach. 趴着 136 | 1. Put across. 表达清楚 137 | 1. Have the time of one's life. 度过最快乐的时光 138 | 1. Such + a/an + 形容词 + 可数名词单数. 表示程度或质量的感叹 139 | 1. Such + 形容词 + 不可数名词/复数名词. 表示程度或质量的感叹 140 | 1. In good hands. 在可靠的人手中 141 | 1. Go back to. 回到/恢复到 142 | 1. In ... state of mind. 处于...心理状态 143 | 1. Put sb. to sleep. 让某人入睡 144 | 1. I assure you. 我向你保证 145 | 1. Put ... away. 收起来/储存 146 | 1. Take off. 脱下/起飞/出发 147 | 1. At all. 根本/完全 148 | 1. Know all there is to know. 了解所有相关信息 149 | 1. Common practice. 常规做法/惯例 150 | 1. Stand by. 支持/待命/等待 151 | 1. Through all this. 经历这一切 152 | 1. I'm afraid so. 恐怕是这样 153 | 1. Be one's guest. 请自便 154 | 1. You mind if I... 你介意我...吗? 155 | 1. Keep your fingers crossed. 祝你好运 156 | 1. Make oneself comfortable. 让自己舒服些 157 | 1. Run out of. 用完/用尽 158 | 1. Would have + 过去分词. 本应该做/要是...就好了 159 | 1. Could have + 过去分词. 本可以做/可能已经做了 160 | 1. Should have + 过去分词. 本应该做(表示责任或义务) 161 | 1. Introduce sb. to sb./sth. 介绍某人认识/向某人介绍某事物 162 | 1. All through this adventure. 贯穿整个冒险过程/在整个冒险过程中 163 | 1. Faith in. 对...有信心/相信 164 | 1. Most of all. 最重要的是/尤其是 165 | 1. Settle for. 接受/勉强接受 166 | 1. Look for. 寻找/搜寻 167 | 1. Look forward to. 期待(后面如果接动词,必须用动词的 ing 形式) 168 | 1. As follow. 如下所示 169 | 1. Be in love with. 与...相爱/爱上 170 | 1. Be popular with. 受...欢迎 171 | 1. It took sb. some time to do sth. 某人花了时间做某事 172 | 1. Try one's best to do sth. 尽力做某事 173 | 1. Put ... into layman's terms. 用通俗易懂的语言表达 174 | 1. Be in the dark about. 对...一无所知 175 | -------------------------------------------------------------------------------- /docs/qa/web3/frontend-integration.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 前端与钱包集成 3 | --- 4 | 5 | ## How did you implement MetaMask integration in your dApp? 6 | 7 | You mentioned using MetaMask for on-chain transaction display. Could you walk me through how you integrated MetaMask into your application? What were some challenges you faced with wallet interactions? 8 | 9 |
10 | 查看中文 11 | 你是如何在 dApp 中实现 MetaMask 集成的? 12 | 13 | 你提到使用 MetaMask 实现链上交易展示。你能详细介绍一下你是如何将 MetaMask 集成到你的应用中的吗?在钱包交互方面你遇到了哪些挑战? 14 | 15 |
16 | 17 | ## What approaches have you used for handling transaction states and errors in the frontend? 18 | 19 | Blockchain transactions can be complex to manage in the UI. How do you handle pending transactions, confirmations, and potential errors? How do you provide feedback to users during these processes? 20 | 21 |
22 | 查看中文 23 | 在前端处理交易状态和错误时,你使用了哪些方法? 24 | 25 | 区块链交易在 UI 中可能很复杂。你如何处理待处理的交易、确认和潜在错误?在这些过程中,你如何向用户提供反馈? 26 | 27 |
28 | 29 | ## How do you handle users switching networks or accounts in a dApp? 30 | 31 | When building dApps, handling network and account changes smoothly is really important for user experience. I typically set up event listeners for both these scenarios right when the app initializes. 32 | 33 | For network changes, I listen to the 'chainChanged' event from the provider. When it fires, I check if the user is on a supported network. If they're not, I show them a clear message asking them to switch, and even provide a button that calls wallet_switchEthereumChain to make it easy for them. If they switch to a valid network, I might refresh the page or just update the necessary state in the app. 34 | 35 | For account changes, I listen to the 'accountsChanged' event. When a user switches accounts, I update the app state with the new address, refresh their balance and other account-specific data, and reset any user-specific UI elements. If they disconnect all accounts, I can show them a "connect wallet" prompt again. 36 | 37 | I also handle the initial connection state carefully. When the app loads, I check if they're already connected, which network they're on, and adapt the UI accordingly. This way, users who've previously connected don't have to reconnect every time. 38 | 39 | In my experience, it's important to make all these transitions smooth and give clear feedback. Nobody likes a dApp that breaks when they switch accounts or networks, so I make sure everything degrades gracefully even in unexpected scenarios. 40 | 41 |
42 | 查看中文 43 | 你如何处理dApp中用户切换网络或账户的情况? 44 | 45 | 在构建dApp时,平滑处理网络和账户变更对用户体验非常重要。我通常在应用初始化时为这两种情况设置事件监听器。 46 | 47 | 对于网络变更,我监听provider的'chainChanged'事件。当它触发时,我检查用户是否在支持的网络上。如果不是,我会显示清晰的消息,要求他们切换网络,甚至提供一个调用wallet_switchEthereumChain的按钮,让操作变得简单。如果他们切换到有效的网络,我可能会刷新页面或仅更新应用中的必要状态。 48 | 49 | 对于账户变更,我监听'accountsChanged'事件。当用户切换账户时,我使用新地址更新应用状态,刷新他们的余额和其他与账户相关的数据,并重置任何用户特定的UI元素。如果他们断开所有账户连接,我可以再次显示"连接钱包"提示。 50 | 51 | 我还仔细处理初始连接状态。当应用加载时,我检查他们是否已经连接,他们在哪个网络上,并相应地调整UI。这样,以前已连接的用户不必每次都重新连接。 52 | 53 | 根据我的经验,让所有这些转换平滑并提供清晰的反馈非常重要。没有人喜欢在切换账户或网络时崩溃的dApp,所以我确保即使在意外情况下,一切也能优雅地降级。 54 | 55 |
56 | 57 | ## What strategies do you use for handling failed transactions in the UI? 58 | 59 | Handling failed transactions in the UI is crucial for user experience in dApps. I use a multi-layered approach to make sure users never feel lost during the process. 60 | 61 | First, I implement pre-transaction validation to catch potential issues before they even submit the transaction. This includes checking if they have enough funds, if the input data is valid, and if the contract will likely accept the transaction. This prevents a lot of failures upfront. 62 | 63 | For the transaction flow itself, I break it into clear states: confirming in wallet, pending, success, or error. I use a toast or notification system that keeps users informed at each step, with clear messaging and loading indicators. 64 | 65 | When a transaction is submitted, I provide a link to the block explorer so users can check the status themselves if they want to. While it's pending, I'll show a loading state but still let them use other parts of the app. 66 | 67 | For failed transactions, I try to provide specific, actionable error messages. Instead of just saying "transaction failed," I'll decode the revert reason from the blockchain and explain what went wrong in plain language. If possible, I suggest a solution - like "You need to approve tokens first" or "Try increasing your slippage tolerance." 68 | 69 | I also implement a retry mechanism for certain recoverable errors. For example, if a transaction failed due to gas price changes, I can offer to resubmit with updated parameters. 70 | 71 | For more complex flows like DeFi interactions, I'll implement a transaction queue system that handles dependent transactions and manages the entire process as a unified experience. 72 | 73 | The key is empathy - blockchain transactions can be confusing and stressful for users, so I make sure they always know what's happening and what to do next. 74 | 75 |
76 | 查看中文 77 | 你在UI中处理失败交易的策略是什么? 78 | 79 | 在dApp中,UI中的失败交易处理对用户体验至关重要。我使用多层方法确保用户在整个过程中不会感到迷失。 80 | 81 | 首先,我实施交易前验证以在用户提交交易前捕获潜在问题。这包括检查他们是否有足够的资金,输入数据是否有效,以及合约是否可能接受该交易。这预先防止了很多失败。 82 | 83 | 对于交易流程本身,我将其分为明确的状态:在钱包中确认、待处理、成功或错误。我使用toast或通知系统在每个步骤保持用户了解情况,提供清晰的消息和加载指示器。 84 | 85 | 当交易提交后,我提供区块浏览器链接,以便用户可以自行检查状态。在交易待处理时,我会显示加载状态,但仍允许他们使用应用的其他部分。 86 | 87 | 对于失败的交易,我尝试提供具体的、可操作的错误消息。不只是说"交易失败",我会从区块链解码回滚原因,并用通俗语言解释出了什么问题。如果可能,我会建议解决方案 - 如"你需要先批准代币"或"尝试增加滑点容忍度"。 88 | 89 | 我还为某些可恢复的错误实现重试机制。例如,如果交易因gas价格变化而失败,我可以提供使用更新参数重新提交的选项。 90 | 91 | 对于更复杂的流程,如DeFi交互,我会实现一个交易队列系统,处理相关交易并将整个过程管理为统一体验。 92 | 93 | 关键是同理心 - 区块链交易对用户来说可能令人困惑和紧张,所以我确保他们始终知道发生了什么以及接下来该做什么。 94 | 95 |
96 | -------------------------------------------------------------------------------- /docs/qa/web3/dapp-architecture.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: DApp架构 3 | --- 4 | 5 | ## What's your approach to balancing on-chain and off-chain components in dApp architecture? 6 | 7 | Based on your experience building Matrix Layer Protocol, how do you decide which parts of the application logic should live on-chain versus off-chain? What factors influence these decisions? 8 | 9 |
10 | 查看中文 11 | 在 dApp 架构中,你如何平衡链上和链下组件? 12 | 13 | 基于你构建 Matrix Layer Protocol 的经验,你如何决定应用程序逻辑的哪些部分应该在链上而不是链下?哪些因素影响这些决策? 14 | 15 |
16 | 17 | ## How did you set up your data indexing service with The Graph? 18 | 19 | I see you developed a data indexing service based on Subgraph. Could you explain your approach to indexing blockchain data? What kinds of queries and use cases did this enable for your application? 20 | 21 |
22 | 查看中文 23 | 你是如何使用 The Graph 搭建数据索引服务的? 24 | 25 | 我看到你基于 Subgraph 开发了数据索引服务。你能解释一下你索引区块链数据的方法吗?这为你的应用程序实现了哪些类型的查询和用例? 26 | 27 |
28 | 29 | ## How do you balance on-chain and off-chain components in a dApp? 30 | 31 | Balancing on-chain and off-chain components is all about finding the right trade-offs for your specific dApp. I generally follow a principle of "on-chain for what matters, off-chain for everything else." 32 | 33 | Critical functionality like financial transactions, ownership records, and governance votes absolutely need to be on-chain for security and trustlessness. These are the things users care most about being decentralized and immutable. 34 | 35 | However, putting everything on-chain is expensive and slow. For user profiles, metadata, complex application state, and large datasets, I typically use off-chain solutions like IPFS, Arweave, or even traditional databases depending on the requirements. 36 | 37 | For example, in an NFT marketplace, the actual ownership transfers and bids happen on-chain, but all the metadata about the NFTs and the UI state would be stored off-chain. I might use IPFS for the NFT images and metadata, ensuring they're still decentralized, but not paying gas costs to store them on Ethereum. 38 | 39 | I also use hybrid approaches like "state channels" or "optimistic updates" where appropriate. This lets users have a snappy UI experience while the blockchain catches up in the background. 40 | 41 | For data indexing and querying, I almost always use something like The Graph rather than trying to query the blockchain directly. This gives me better performance without sacrificing the trustlessness of the underlying data. 42 | 43 | The key is being intentional about each decision, understanding the security and UX implications, and making sure users understand which parts are fully trustless and which aren't. 44 | 45 |
46 | 查看中文 47 | 你如何在dApp中平衡链上和链下组件? 48 | 49 | 平衡链上和链下组件就是为你的特定dApp找到合适的权衡。我通常遵循"重要的放链上,其他的放链下"的原则。 50 | 51 | 关键功能如金融交易、所有权记录和治理投票绝对需要在链上进行,以确保安全性和无需信任。这些是用户最关心去中心化和不可变性的方面。 52 | 53 | 然而,将一切都放在链上是昂贵且缓慢的。对于用户资料、元数据、复杂的应用状态和大型数据集,我通常使用IPFS、Arweave或甚至传统数据库等链下解决方案,具体取决于需求。 54 | 55 | 例如,在NFT市场中,实际的所有权转移和出价发生在链上,但关于NFT的所有元数据和UI状态都存储在链下。我可能使用IPFS存储NFT图像和元数据,确保它们仍然是去中心化的,但不需要支付gas费用将它们存储在以太坊上。 56 | 57 | 我还在适当的情况下使用混合方法,如"状态通道"或"乐观更新"。这让用户拥有流畅的UI体验,同时区块链在后台追赶进度。 58 | 59 | 对于数据索引和查询,我几乎总是使用The Graph之类的工具,而不是尝试直接查询区块链。这让我获得更好的性能,而不牺牲底层数据的无信任性。 60 | 61 | 关键是对每个决策都有意图,理解安全性和用户体验的影响,并确保用户了解哪些部分是完全无需信任的,哪些不是。 62 | 63 |
64 | 65 | ## How do you handle private data in blockchain applications? 66 | 67 | Handling private data in blockchain applications is tricky because blockchains are inherently public. I approach this challenge using several different techniques depending on the specific requirements. 68 | 69 | For data that absolutely must remain private, I keep it off-chain entirely. This might be in a traditional database with proper access controls, or in the user's local storage if it only needs to be accessible to them. 70 | 71 | When I need to verify the integrity of private data without revealing it, I use cryptographic techniques like zero-knowledge proofs. For example, I might store only a hash of some sensitive information on-chain, then use a zk-SNARK to prove statements about the data without revealing the data itself. 72 | 73 | For data that needs to be shared with specific parties but not publicly, I'll use encryption. I might encrypt the data with the recipient's public key before storing a reference to it on-chain, ensuring only they can decrypt it. 74 | 75 | Sometimes I use a hybrid approach where some data fields are public on-chain, while more sensitive fields are kept off-chain with access controls. The on-chain component can include a reference (like an IPFS hash) to the private data. 76 | 77 | In some applications, I've also used Trusted Execution Environments (TEEs) like Secret Network, which allows smart contracts to process encrypted data. 78 | 79 | There's also the question of transaction privacy - even if data is encrypted, the fact that two addresses are interacting might reveal sensitive information. For this, solutions like Tornado Cash (for transaction privacy) can be useful, though regulatory considerations are important here. 80 | 81 | The key is understanding exactly what needs to be private, what needs to be verifiable, and designing the system to meet those requirements while being transparent to users about what is and isn't protected. 82 | 83 |
84 | 查看中文 85 | 你如何在区块链应用中处理私有数据? 86 | 87 | 在区块链应用中处理私有数据很棘手,因为区块链本质上是公开的。我根据具体需求使用几种不同的技术来解决这个挑战。 88 | 89 | 对于绝对必须保持私密的数据,我将其完全保存在链下。这可能是在具有适当访问控制的传统数据库中,或者如果只需要用户自己访问,则存储在用户的本地存储中。 90 | 91 | 当我需要验证私有数据的完整性而不泄露它时,我使用零知识证明等加密技术。例如,我可能只在链上存储一些敏感信息的哈希值,然后使用zk-SNARK来证明关于数据的陈述而不泄露数据本身。 92 | 93 | 对于需要与特定方共享但不公开的数据,我会使用加密。在将数据的引用存储在链上之前,我可能会使用接收者的公钥加密数据,确保只有他们能解密。 94 | 95 | 有时我使用混合方法,一些数据字段在链上公开,而更敏感的字段则在链下保存并设有访问控制。链上组件可以包含对私有数据的引用(如IPFS哈希)。 96 | 97 | 在某些应用中,我还使用了Secret Network等可信执行环境(TEEs),它允许智能合约处理加密数据。 98 | 99 | 还有交易隐私的问题 - 即使数据被加密,两个地址正在交互的事实也可能泄露敏感信息。为此,像Tornado Cash(用于交易隐私)这样的解决方案可能有用,不过这里要考虑监管因素。 100 | 101 | 关键是准确理解什么需要保密,什么需要可验证,并设计系统以满足这些要求,同时向用户透明地说明什么是受保护的,什么不是。 102 | 103 |
104 | -------------------------------------------------------------------------------- /docs/pronunciation/phonetic-alphabet-classification.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 音标分类 3 | --- 4 | 5 | # 音标分类 6 | 7 | 音标可以根据发音方式、发音部位、音素类型、音长、音高、舌位、音节以及音素组合等标准进行分类。以下是详细的分类及其作用。 8 | 9 | ## 按发音方式分类 10 | 11 | 1. **爆破音(Plosives)** 12 | 13 | - **定义**:发音时气流在口腔或喉咙中被完全阻塞,然后突然释放。 14 | - **音标**:/p/, /b/, /t/, /d/, /k/, /ɡ/ 15 | - **例子**: 16 | - /p/ - "pat" 17 | - /b/ - "bat" 18 | - /t/ - "top" 19 | - /d/ - "dog" 20 | - /k/ - "cat" 21 | - /ɡ/ - "go" 22 | 23 | 2. **摩擦音(Fricatives)** 24 | 25 | - **定义**:发音时气流通过一个狭窄的通道,产生摩擦声。 26 | - **音标**:/f/, /v/, /θ/, /ð/, /s/, /z/, /ʃ/, /ʒ/, /h/ 27 | - **例子**: 28 | - /f/ - "fish" 29 | - /v/ - "van" 30 | - /θ/ - "think" 31 | - /ð/ - "this" 32 | - /s/ - "see" 33 | - /z/ - "zoo" 34 | - /ʃ/ - "she" 35 | - /ʒ/ - "measure" 36 | - /h/ - "hat" 37 | 38 | 3. **鼻音(Nasals)** 39 | 40 | - **定义**:发音时气流通过鼻腔。 41 | - **音标**:/m/, /n/, /ŋ/ 42 | - **例子**: 43 | - /m/ - "man" 44 | - /n/ - "no" 45 | - /ŋ/ - "sing" 46 | 47 | 4. **闪音(Flap)** 48 | 49 | - **定义**:发音时舌尖快速接触并离开上齿龈。 50 | - **音标**:/ɾ/ 51 | - **例子**: 52 | - /ɾ/ - "better"(美式英语中) 53 | 54 | 5. **近音(Approximants)** 55 | 56 | - **定义**:发音时发音器官接近但不完全接触,气流通过时不产生摩擦。 57 | - **音标**:/r/, /j/, /w/, /l/ 58 | - **例子**: 59 | - /r/ - "red" 60 | - /j/ - "yes" 61 | - /w/ - "we" 62 | - /l/ - "light" 63 | 64 | 6. **塞擦音(Affricates)** 65 | 66 | - **定义**:发音时先出现爆破音,然后紧接着摩擦音。 67 | - **音标**:/tʃ/, /dʒ/ 68 | - **例子**: 69 | - /tʃ/ - "chop" 70 | - /dʒ/ - "jump" 71 | 72 | 7. **半元音(Semi-vowels)** 73 | - **定义**:发音时气流几乎不受阻碍,类似元音,但在音节中起辅音的作用。 74 | - **音标**:/j/, /w/ 75 | - **例子**: 76 | - /j/ - "yes" 77 | - /w/ - "we" 78 | 79 | ## 按发音部位分类 80 | 81 | 1. **双唇音(Bilabials)** 82 | 83 | - **定义**:发音时上下唇接触。 84 | - **音标**:/p/, /b/, /m/, /w/ 85 | - **例子**: 86 | - /p/ - "pat" 87 | - /b/ - "bat" 88 | - /m/ - "man" 89 | - /w/ - "we" 90 | 91 | 2. **唇齿音(Labiodentals)** 92 | 93 | - **定义**:发音时下唇接触上齿。 94 | - **音标**:/f/, /v/ 95 | - **例子**: 96 | - /f/ - "fish" 97 | - /v/ - "van" 98 | 99 | 3. **齿音(Dentals)** 100 | 101 | - **定义**:发音时舌尖接触上齿。 102 | - **音标**:/θ/, /ð/ 103 | - **例子**: 104 | - /θ/ - "think" 105 | - /ð/ - "this" 106 | 107 | 4. **齿龈音(Alveolars)** 108 | 109 | - **定义**:发音时舌尖接触齿龈。 110 | - **音标**:/t/, /d/, /s/, /z/, /n/, /l/, /ɾ/ 111 | - **例子**: 112 | - /t/ - "top" 113 | - /d/ - "dog" 114 | - /s/ - "see" 115 | - /z/ - "zoo" 116 | - /n/ - "no" 117 | - /l/ - "light" 118 | - /ɾ/ - "better"(美式英语中) 119 | 120 | 5. **硬腭音(Palatals)** 121 | 122 | - **定义**:发音时舌前部接触硬腭。 123 | - **音标**:/ʃ/, /ʒ/, /tʃ/, /dʒ/, /j/ 124 | - **例子**: 125 | - /ʃ/ - "she" 126 | - /ʒ/ - "measure" 127 | - /tʃ/ - "chop" 128 | - /dʒ/ - "jump" 129 | - /j/ - "yes" 130 | 131 | 6. **软腭音(Velars)** 132 | 133 | - **定义**:发音时舌后部接触软腭。 134 | - **音标**:/k/, /ɡ/, /ŋ/ 135 | - **例子**: 136 | - /k/ - "cat" 137 | - /ɡ/ - "go" 138 | - /ŋ/ - "sing" 139 | 140 | 7. **喉音(Glottals)** 141 | - **定义**:发音时声门阻塞或收缩。 142 | - **音标**:/h/, /ʔ/ 143 | - **例子**: 144 | - /h/ - "hat" 145 | - /ʔ/ - "uh-oh"(喉塞音) 146 | 147 | ## 按音素类型分类 148 | 149 | 1. **元音(Vowels)** 150 | 151 | - **定义**:发音时气流不受阻碍地通过口腔。 152 | - **分类**: 153 | - **单元音(Monophthongs)**:发音时口腔位置不变。 154 | - **前元音**:/iː/, /ɪ/, /e/, /æ/ 155 | - **中元音**:/ə/, /ɜː/, /ʌ/ 156 | - **后元音**:/uː/, /ʊ/, /ɔː/, /ɒ/, /ɑː/ 157 | - **双元音(Diphthongs)**:发音时口腔位置发生变化。 158 | - /eɪ/, /aɪ/, /ɔɪ/, /aʊ/, /əʊ/, /ɪə/, /eə/, /ʊə/ 159 | 160 | 2. **辅音(Consonants)** 161 | - **定义**:发音时气流在口腔或喉咙中受到阻碍。 162 | - **分类**: 163 | - **清辅音(Voiceless Consonants)**:发音时声带不振动。 164 | - /p/, /t/, /k/, /f/, /θ/, /s/, /ʃ/, /h/ 165 | - **浊辅音(Voiced Consonants)**:发音时声带振动。 166 | - /b/, /d/, /ɡ/, /v/, /ð/, /z/, /ʒ/, /m/, /n/, /ŋ/, /l/, /r/, /j/, /w/ 167 | 168 | ## 按音长分类 169 | 170 | 1. **长元音(Long Vowels)** 171 | 172 | - **定义**:发音时间较长的元音。 173 | - **音标**:/iː/, /ɑː/, /ɔː/, /uː/, /ɜː/ 174 | - **例子**: 175 | - /iː/ - "see" 176 | - /ɑː/ - "father" 177 | - /ɔː/ - "law" 178 | - /uː/ - "blue" 179 | - /ɜː/ - "bird" 180 | 181 | 2. **短元音(Short Vowels)** 182 | - **定义**:发音时间较短的元音。 183 | - **音标**:/ɪ/, /e/, /æ/, /ʌ/, /ɒ/, /ʊ/, /ə/ 184 | - **例子**: 185 | - /ɪ/ - "sit" 186 | - /e/ - "bed" 187 | - /æ/ - "cat" 188 | - /ʌ/ - "cup" 189 | - /ɒ/ - "pot" 190 | - /ʊ/ - "good" 191 | - /ə/ - "sofa" 192 | 193 | ## 按音高分类 194 | 195 | 1. **高音(High Pitch)** 196 | 197 | - **定义**:发音时声带紧张且振动频率较高,通常音高较高。 198 | - **音标**:无特定音标,但常见于语调变化中。 199 | - **例子**:在英语中用于表示疑问句时,如"Are you coming?" 200 | 201 | 2. **中音(Mid Pitch)** 202 | 203 | - **定义**:发音时声带适度紧张,振动频率适中。 204 | - **音标**:无特定音标,常见于正常陈述句中。 205 | - **例子**:"She is reading a book." 206 | 207 | 3. **低音(Low Pitch)** 208 | 209 | - **定义**:发音时声带放松且振动频率较低,通常音高较低。 210 | - **音标**:无特定音标,但常见于语调变化中。 211 | - **例子**:在英语中用于表示陈述或命令时,如"Close the door." 212 | 213 | ## 按舌位分类 214 | 215 | 1. **前元音(Front Vowels)** 216 | 217 | - **定义**:发音时舌头位于口腔前部。 218 | - **音标**:/iː/, /ɪ/, /e/, /æ/ 219 | - **例子**: 220 | - /iː/ - "see" 221 | - /ɪ/ - "sit" 222 | - /e/ - "bed" 223 | - /æ/ - "cat" 224 | 225 | 2. **中元音(Central Vowels)** 226 | 227 | - **定义**:发音时舌头位于口腔中部。 228 | - **音标**:/ə/, /ɜː/, /ʌ/ 229 | - **例子**: 230 | - /ə/ - "sofa" 231 | - /ɜː/ - "bird" 232 | - /ʌ/ - "cup" 233 | 234 | 3. **后元音(Back Vowels)** 235 | 236 | - **定义**:发音时舌头位于口腔后部。 237 | - **音标**:/uː/, /ʊ/, /ɔː/, /ɒ/, /ɑː/ 238 | - **例子**: 239 | - /uː/ - "blue" 240 | - /ʊ/ - "good" 241 | - /ɔː/ - "law" 242 | - /ɒ/ - "pot" 243 | - /ɑː/ - "father" 244 | 245 | ## 按音节分类 246 | 247 | 1. **单音节词(Monosyllabic Words)** 248 | 249 | - **定义**:只有一个音节的词。 250 | - **例子**:cat, dog, book 251 | 252 | 2. **双音节词(Disyllabic Words)** 253 | 254 | - **定义**:有两个音节的词。 255 | - **例子**:apple, table, teacher 256 | 257 | 3. **多音节词(Polysyllabic Words)** 258 | 259 | - **定义**:有两个以上音节的词。 260 | - **例子**:elephant, university, communication 261 | 262 | ## 按音素组合分类 263 | 264 | 1. **辅音簇(Consonant Clusters)** 265 | 266 | - **定义**:两个或多个辅音音素连在一起发音。 267 | - **例子**: 268 | - /str/ - "street" 269 | - /spl/ - "splash" 270 | - /bl/ - "black" 271 | 272 | 2. **双元音(Diphthongs)** 273 | 274 | - **定义**:发音时口腔位置发生变化的两个元音音素组合。 275 | - **音标**:/eɪ/, /aɪ/, /ɔɪ/, /aʊ/, /əʊ/, /ɪə/, /eə/, /ʊə/ 276 | - **例子**: 277 | - /eɪ/ - "say" 278 | - /aɪ/ - "my" 279 | - /ɔɪ/ - "boy" 280 | - /aʊ/ - "now" 281 | - /əʊ/ - "go" 282 | - /ɪə/ - "here" 283 | - /eə/ - "there" 284 | - /ʊə/ - "tour" 285 | 286 | 3. **三元音(Triphthongs)** 287 | 288 | - **定义**:发音时口腔位置连续变化的三个元音音素组合。 289 | - **音标**:/aɪə/, /aʊə/, /eɪə/, /ɔɪə/ 290 | - **例子**: 291 | - /aɪə/ - "fire" 292 | - /aʊə/ - "hour" 293 | - /eɪə/ - "player" 294 | - /ɔɪə/ - "employer" 295 | -------------------------------------------------------------------------------- /docs/grammar/part-of-speech.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 词类 3 | --- 4 | 5 | # 词类 6 | 7 | 在英语语法中,不同的词类各有其独特的语法形式和使用规则。以下是对这些词类的详细解释和比较: 8 | 9 | ## Nouns 10 | 11 | ### 定义 12 | 13 | 名词(Nouns)是指人、事物、地点、事件、想法或活动的词语。 14 | 15 | ### 语法形式 16 | 17 | - **作为主语**:在句子中作主语。 18 | - **作为宾语**:在句子中作宾语。 19 | - **作为补语**:在句子中作补语。 20 | - **作为所有格**:表示所有关系。 21 | 22 | ### 用法 23 | 24 | 1. **作为主语**: 25 | - The dog is barking. 26 | 2. **作为宾语**: 27 | - She loves music. 28 | 3. **作为补语**: 29 | - He is a teacher. 30 | 4. **作为所有格**: 31 | - This is John's book. 32 | 33 | ### 示例 34 | 35 | - **人**:John, teacher 36 | - **事物**:book, apple 37 | - **地点**:city, park 38 | - **事件**:party, meeting 39 | - **想法**:happiness, freedom 40 | 41 | ## Adjectives 42 | 43 | ### 定义 44 | 45 | 形容词(Adjectives)是用于修饰名词或代词,提供更多信息的词语。 46 | 47 | ### 语法形式 48 | 49 | - **作为定语**:在名词前修饰名词。 50 | - **作为表语**:与系动词连用,修饰主语。 51 | 52 | ### 用法 53 | 54 | 1. **作为定语**: 55 | - A red apple. 56 | 2. **作为表语**: 57 | - The apple is red. 58 | 59 | ### 示例 60 | 61 | - **颜色**:red, blue 62 | - **大小**:big, small 63 | - **形状**:round, square 64 | - **性质**:good, bad 65 | 66 | ## Adverbs 67 | 68 | ### 定义 69 | 70 | 副词(Adverbs)是用于修饰动词、形容词、其他副词或整个句子的词语。 71 | 72 | ### 语法形式 73 | 74 | - **修饰动词**:说明动作的方式、时间、地点或频率。 75 | - **修饰形容词**:加强或减弱形容词的程度。 76 | - **修饰副词**:加强或减弱副词的程度。 77 | - **修饰整个句子**:提供对整个句子的评价或态度。 78 | 79 | ### 用法 80 | 81 | 1. **修饰动词**: 82 | - She sings beautifully. 83 | 2. **修饰形容词**: 84 | - It is very hot. 85 | 3. **修饰副词**: 86 | - She sings very beautifully. 87 | 4. **修饰整个句子**: 88 | - Fortunately, we arrived on time. 89 | 90 | ### 示例 91 | 92 | - **方式**:quickly, slowly 93 | - **时间**:now, later 94 | - **地点**:here, there 95 | - **频率**:always, never 96 | - **程度**:very, quite 97 | 98 | ## Verbs 99 | 100 | ### 定义 101 | 102 | 动词(Verbs)是表示动作或状态的词语。 103 | 104 | ### 语法形式 105 | 106 | - **及物动词**:需要宾语的动词。 107 | - **不及物动词**:不需要宾语的动词。 108 | - **系动词**:连接主语和补语的动词。 109 | 110 | ### 用法 111 | 112 | 1. **及物动词**: 113 | - She eats an apple. 114 | 2. **不及物动词**: 115 | - He sleeps. 116 | 3. **系动词**: 117 | - She is a teacher. 118 | 119 | ### 示例 120 | 121 | - **动作**:run, eat 122 | - **状态**:be, seem 123 | 124 | ## Pronouns 125 | 126 | ### 定义 127 | 128 | 代词(Pronouns)是用于代替名词的词语。 129 | 130 | ### 语法形式 131 | 132 | - **作为主语**:代替主语名词。 133 | - **作为宾语**:代替宾语名词。 134 | - **作为所有格**:表示所有关系。 135 | 136 | ### 用法 137 | 138 | 1. **作为主语**: 139 | - He is my friend. 140 | 2. **作为宾语**: 141 | - I saw her yesterday. 142 | 3. **作为所有格**: 143 | - This is his book. 144 | 145 | ### 示例 146 | 147 | - **人称代词**:I, you, he, she, it, we, they 148 | - **物主代词**:my, your, his, her, its, our, their 149 | - **反身代词**:myself, yourself, himself, herself, itself, ourselves, yourselves, themselves 150 | 151 | ## Conjunctions 152 | 153 | ### 定义 154 | 155 | 连词(Conjunctions)是用于连接词、短语或句子的词语。 156 | 157 | ### 语法形式 158 | 159 | - **并列连词**:连接对等的词、短语或句子。 160 | - **从属连词**:连接主句和从句。 161 | 162 | ### 用法 163 | 164 | 1. **并列连词**: 165 | - She likes tea and coffee. 166 | 2. **从属连词**: 167 | - I will go if it doesn't rain. 168 | 169 | ### 示例 170 | 171 | - **并列连词**:and, but, or, so 172 | - **从属连词**:because, if, although, when 173 | 174 | ## Interjections 175 | 176 | ### 定义 177 | 178 | 感叹词(Interjections)是用于表达强烈情感或反应的词语。 179 | 180 | ### 语法形式 181 | 182 | - **独立使用**:通常独立于句子结构之外。 183 | 184 | ### 用法 185 | 186 | 1. **独立使用**: 187 | - Wow! That's amazing. 188 | - Ouch! That hurts. 189 | 190 | ### 示例 191 | 192 | - **惊讶**:Wow! 193 | - **痛苦**:Ouch! 194 | - **高兴**:Yay! 195 | - **失望**:Oh no! 196 | 197 | ## Numerals 198 | 199 | ### 定义 200 | 201 | 数词(Numerals)是表示数量或顺序的词语。 202 | 203 | ### 语法形式 204 | 205 | - **基数词**:表示数量。 206 | - **序数词**:表示顺序。 207 | 208 | ### 用法 209 | 210 | 1. **基数词**: 211 | - I have three apples. 212 | 2. **序数词**: 213 | - He is the first in line. 214 | 215 | ### 示例 216 | 217 | - **基数词**:one, two, three 218 | - **序数词**:first, second, third 219 | 220 | ## Auxiliary Verbs 221 | 222 | ### 定义 223 | 224 | 助动词(Auxiliary Verbs)是用于辅助主要动词,表示时态、语气或语态的词语。 225 | 226 | ### 语法形式 227 | 228 | - **与主要动词连用**:用于构成不同的时态、语态或语气。 229 | 230 | ### 用法 231 | 232 | 1. **表示时态**: 233 | - She is running. 234 | 2. **表示语气**: 235 | - You should go. 236 | 3. **表示语态**: 237 | - The cake was eaten. 238 | 239 | ### 示例 240 | 241 | - **常见助动词**:be, do, have, will, shall, can, may, must 242 | 243 | ## Prepositions 244 | 245 | ### 定义 246 | 247 | 介词(Prepositions)是用于表示词语之间关系的词,通常用来表示时间、地点、方向、方式等关系。 248 | 249 | ### 语法形式 250 | 251 | - **介词短语**:介词 + 名词/代词/动名词 252 | - **注意**:介词后如果接动词,必须使用动名词(-ing)形式 253 | 254 | ### 用法 255 | 256 | 1. **表示地点关系**: 257 | 258 | - The book is on the table. 259 | - She lives in London. 260 | 261 | 2. **表示时间关系**: 262 | 263 | - We'll meet at 3 o'clock. 264 | - He works during the day. 265 | 266 | 3. **表示方式关系**: 267 | 268 | - She went by bus. 269 | - He wrote with a pen. 270 | 271 | 4. **与动名词搭配**: 272 | - He is good at swimming. 273 | - Thank you for helping me. 274 | 275 | ### 示例 276 | 277 | - **地点介词**:in, on, at, under, behind, between 278 | - **时间介词**:before, after, during, since 279 | - **方向介词**:to, from, towards, into 280 | - **其他介词**:with, for, about, of 281 | 282 | ## 词类搭配规则 283 | 284 | 不同词类在使用时往往有其特定的搭配要求。以下是主要词类的搭配规则: 285 | 286 | ### 介词(Prepositions)搭配规则 287 | 288 | - **可接形式**:名词、代词、动名词 289 | - **示例**: 290 | - in the room(接名词) 291 | - with him(接代词) 292 | - interested in reading(接动名词) 293 | - **注意事项**: 294 | - ❌ in go(错误) 295 | - ✅ in going(正确) 296 | 297 | ### 助动词(Auxiliary Verbs)搭配规则 298 | 299 | - **可接形式**:动词原形(have 后接过去分词) 300 | - **示例**: 301 | - can swim(接原形) 302 | - must go(接原形) 303 | - have gone(接过去分词) 304 | - **注意事项**: 305 | - ❌ can swims(错误) 306 | - ✅ can swim(正确) 307 | 308 | ### 不定式标志词(to)搭配规则 309 | 310 | - **可接形式**:动词原形 311 | - **示例**: 312 | - want to go 313 | - need to study 314 | - **注意事项**: 315 | - ❌ to going(错误) 316 | - ✅ to go(正确) 317 | 318 | ### 情态动词(Modal Verbs)搭配规则 319 | 320 | - **可接形式**:动词原形 321 | - **示例**: 322 | - should study 323 | - would like 324 | - **注意事项**: 325 | - ❌ should studies(错误) 326 | - ✅ should study(正确) 327 | 328 | ### 使役动词(Causative Verbs)搭配规则 329 | 330 | - **可接形式**:宾语 + 动词原形 331 | - **常见使役动词**:let, make, have 332 | - **示例**: 333 | - let me go 334 | - make him study 335 | - **注意事项**: 336 | - ❌ let me to go(错误) 337 | - ✅ let me go(正确) 338 | 339 | ### 感知动词(Perception Verbs)搭配规则 340 | 341 | - **可接形式**:宾语 + 动词原形/现在分词 342 | - **常见感知动词**:see, hear, watch, feel 343 | - **示例**: 344 | - see her cry/crying 345 | - hear him sing/singing 346 | - **注意事项**: 347 | - 用原形表示完整动作 348 | - 用现在分词表示进行中的动作 349 | 350 | ### 形容词(Adjectives)搭配规则 351 | 352 | - **可接形式**: 353 | 354 | 1. to + 动词原形 355 | 2. 动名词(-ing) 356 | 3. 介词 + 名词/代词/动名词 357 | 358 | - **常见搭配示例**: 359 | 360 | 1. 接 to + 动词原形的形容词: 361 | - happy to help 362 | - ready to go 363 | - eager to learn 364 | 2. 接动名词的形容词: 365 | - busy working 366 | - worth reading 367 | - nice meeting you 368 | 3. 接介词短语的形容词: 369 | - good at math 370 | - interested in reading 371 | - afraid of dogs 372 | - proud of you 373 | 374 | - **注意事项**: 375 | - 不同形容词有其固定搭配形式 376 | - 同一个形容词可能有多种搭配方式 377 | - 例如: 378 | - ❌ happy meeting you(错误) 379 | - ✅ happy to meet you(正确) 380 | - ✅ nice meeting you(正确) 381 | - ❌ nice to meeting you(错误) 382 | 383 | ## 总结 384 | 385 | - **名词**:表示人、事物、地点、事件、想法或活动。 386 | - **形容词**:用于修饰名词或代词。 387 | - **副词**:用于修饰动词、形容词、其他副词或整个句子。 388 | - **动词**:表示动作或状态。 389 | - **代词**:用于代替名词。 390 | - **连词**:用于连接词、短语或句子。 391 | - **感叹词**:用于表达强烈情感或反应。 392 | - **数词**:表示数量或顺序。 393 | - **助动词**:辅助主要动词,表示时态、语气或语态。 394 | - **介词**:用于表示词语之间的关系,如时间、地点、方向等。 395 | -------------------------------------------------------------------------------- /docs/movies-tv/family-album-usa/episode17.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Photo Finish 3 | --- 4 | 5 | # Photo Finish 6 | 7 | ## Act 1 8 | 9 | **Marilyn**: What are you doing? 10 | 11 | **Richard**: I think I've got them. 12 | 13 | **Marilyn**: You think you've got what? 14 | 15 | **Richard**: Performing arts—performing arts centers. I think I've got them all, but I'm not sure. 16 | 17 | **Marilyn**: I think you have got it, Richard. Lincoln Center, home of the Metropolitan Opera, the New York City Ballet, the New York Philharmonic. 18 | 19 | **Richard**: Shubert Alley, center of the theater on Broadway. 20 | 21 | **Marilyn**: And Carnegie Hall. And the others. I do have it all. 22 | 23 | **Marilyn**: You have been working on this for some time, Richard. I'm glad you feel you've finally put it all together. What now? 24 | 25 | **Richard**: Now for the hard part. 26 | 27 | **Marilyn**: Oh, you think you're going to have a hard time getting the album published? 28 | 29 | **Richard**: Well, it won't be easy. 30 | 31 | **Marilyn**: So, what do you think you're going to do? 32 | 33 | **Richard**: Does the name Harvey Carlson ring a bell? 34 | 35 | **Marilyn**: Oh, yes! Harvey Carlson! I remember. 36 | 37 | **Richard**: He said I should call him. He's the publisher of the Carlson Publishing Company. He said they need a new book of photographs, and he really liked my concept. 38 | 39 | **Marilyn**: So, why don't you call him in the morning? 40 | 41 | **Richard**: Do you think I have enough to show him? 42 | 43 | **Marilyn**: I've been through every section with you, Richard. It's quite complete. And now that you're satisfied with the performing arts section, I think you should show it to Mr. Carlson. 44 | 45 | **Richard**: You're right. My Family Album, U.S.A. feels right. I'll call in the morning and set up an appointment to see him. 46 | 47 | **Marilyn**: He's going to love your work. Come on. Let's get some sleep. 48 | 49 | **Richard**: Is it too early to call Mr. Carlson? 50 | 51 | **Marilyn**: Seven after nine? No. I'm sure he's in his office. 52 | 53 | **Richard**: His number is five, five, five, seven, five, three, two. Five, five, five, seven, five, three, two. Hello. Mr. Carlson, please. 54 | 55 | **Receptionist**: Mr. Carlson is busy at the moment. May I help you? 56 | 57 | **Richard**: I'd like to make an appointment with him. 58 | 59 | **Receptionist**: And your name is...? 60 | 61 | **Richard**: My name is Richard Stewart. He told me to call him about my project, Family Album, U.S.A. 62 | 63 | **Receptionist**: Mr. Stewart, I just spoke to Mr. Carlson. He would like to see you. But the only time he's available this week is tomorrow morning at ten o'clock. 64 | 65 | **Richard**: Thanks. Thanks a lot. Good-bye. Well, it's done. Tomorrow morning at a publisher's office. 66 | 67 | **Marilyn**: Oh, it's so exciting, isn't it, Richard? 68 | 69 | **Richard**: Well, finally a publisher will see my work. 70 | 71 | ## Act 2 72 | 73 | **Receptionist**: Good morning. 74 | 75 | **Richard**: Good morning. My name is Richard Stewart. I'm here to see Mr. Carlson. 76 | 77 | **Receptionist**: Please sit down, Mr. Stewart. Mr. Carlson will be with you shortly. 78 | 79 | **Richard**: Thank you. 80 | 81 | **Receptionist**: Excuse me, Mr. Carlson, but Richard Stewart is here for his ten o'clock appointment with you. OK. Thank you. Like I said, he'll be with you shortly. 82 | 83 | **Richard**: Thank you. 84 | 85 | **Receptionist**: Yes, Mr. Carlson. Yes, sir. He's ready for you, Mr. Stewart. 86 | 87 | **Richard**: Thank you. In there? 88 | 89 | **Receptionist**: Yes. In there. Good luck. 90 | 91 | **Carlson**: Come in, come in. This is a crazy morning. Hello, Richard. 92 | 93 | **Richard**: Hello, Mr. Carlson. 94 | 95 | **Carlson**: Sit down, sit down. 96 | 97 | **Richard**: Thank you for seeing me on such short notice. 98 | 99 | **Carlson**: I hope you've brought your pictures along. I see that you have. Let's get right to it. We need a new coffee-table book, and a book of photos about the United States still feels right. OK, let's take a look. Good. Very good. Family Album, U.S.A. It's an excellent title. If you had to describe the book in one sentence, how would you do it? 100 | 101 | **Richard**: Well, I'd describe it as a book which is a ... a portrait of the United States—the places, the people—mostly the people. The things they do, the ways they live, the places they visit, and the landmarks. A photographic journey. 102 | 103 | **Carlson**: These are wonderful—these photos in your performing arts section. Carnegie Hall, Lincoln Center. 104 | 105 | **Richard**: I'm glad you like them. 106 | 107 | **Carlson**: I do, but... 108 | 109 | **Richard**: But? 110 | 111 | **Carlson**: There's something missing. You've got a good eye, Richard. You're a terrific photographer. But before I can publish your work, I need to meet with my marketing department, and you've got to do one more thing. 112 | 113 | **Richard**: What's that, Mr. Carlson? 114 | 115 | **Carlson**: In the section on culture, you've included performing arts centers, but you've left out street performance. The mimes. The musicians. The dancers—in the parks and on the streets. Richard, if you go out and photograph street performances in the city, you'll have it. 116 | 117 | **Richard**: That is a great idea. The performing arts centers and the street performances. I'll do it. 118 | 119 | **Carlson**: If you do it, I'll publish your work. 120 | 121 | **Richard**: Are you serious? 122 | 123 | **Carlson**: I've never been more serious. When do you think you can return with street performances? 124 | 125 | **Richard**: A couple of weeks. 126 | 127 | **Carlson**: If they're as good as the rest of these pictures, it's a deal. 128 | 129 | **Richard**: You won't be disappointed, Mr. Carlson. Thanks. 130 | 131 | **Carlson**: Good-bye, Richard, and good luck. See you in two weeks. 132 | 133 | **Richard**: Good-bye, Mr. Carlson. Thanks. So if you like the street-performance photos, you'll really publish Family Album, U.S.A.? 134 | 135 | **Carlson**: When I say something, I mean it. Go to work. Goodbye. 136 | 137 | **Richard**: Good-bye. 138 | 139 | ## Act 3 140 | 141 | **Richard**: Two weeks. I said I could do it in two weeks, and I did it. 142 | 143 | **Marilyn**: The pictures you've taken are fabulous, Richard. Mr. Carlson will love them. 144 | 145 | **Richard**: Monday morning. I'm going to show him the photos on Monday morning. I can't wait! 146 | 147 | **Marilyn**: I'm very proud of you. You really did a beautiful job. I know he will love the new photographs for your book. 148 | 149 | **Richard**: Yeah. I really did do a good job, didn't I? Hey, you know? There's still some film left on this roll, and there's one person I haven't photographed in a long time. 150 | 151 | **Marilyn**: Who? 152 | 153 | **Richard**: You. 154 | 155 | **Marilyn**: Richard! I haven't brushed my hair. 156 | 157 | **Richard**: You look great! 158 | 159 | **Marilyn**: It's not fair, Richard. I'm not even ready. 160 | 161 | **Richard**: Oh, that's wonderful! That's wonderful! 162 | 163 | **Carlson**: Wonderful! 164 | 165 | **Richard**: Thanks. 166 | 167 | **Carlson**: Fabulous! 168 | 169 | **Richard**: Thanks! 170 | 171 | **Carlson**: Terrific! 172 | 173 | **Richard**: Thanks. 174 | 175 | **Carlson**: They get better and better. 176 | 177 | **Richard**: Thanks a lot. 178 | 179 | **Carlson**: This is sensational! 180 | 181 | **Richard**: Yeah. Thanks. 182 | 183 | **Carlson**: What a job! Good work, Richard! 184 | 185 | **Richard**: I'm so glad you like them so much. 186 | 187 | **Carlson**: Like them? They represent your best work. 188 | 189 | **Richard**: Really? 190 | 191 | **Carlson**: Absolutely. 192 | 193 | **Richard**: Well... what do you think? Do I have my book? 194 | 195 | **Carlson**: You do. You do. There's a book here, I'll have a contract and an advance payment waiting for you first thing in the morning. 196 | 197 | **Richard**: Thank you. 198 | 199 | **Carlson**: And while you're here I would like to introduce you to your editor. And I want you to meet the people in the art department. I'll set up an appointment with the marketing people. 200 | 201 | **Richard**: When do you think we'll be through? 202 | 203 | **Carlson**: In about half an hour. Why? 204 | 205 | **Richard**: I can't wait to tell Marilyn! 206 | -------------------------------------------------------------------------------- /docs/qa/fe/lowcode.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 低代码 3 | --- 4 | 5 | 1. [What is low-code, and can it improve development efficiency?](#what-is-low-code-and-can-it-improve-development-efficiency) 6 | 1. [You mentioned that non-technical users can quickly build applications on the low-code platform. What user experience design principles did the platform use to reduce the learning curve while providing powerful functionalities?](#you-mentioned-that-non-technical-users-can-quickly-build-applications-on-the-low-code-platform-what-user-experience-design-principles-did-the-platform-use-to-reduce-the-learning-curve-while-providing-powerful-functionalities) 7 | 1. [Based on your involvement in the low-code platform project, how do you ensure the quality and maintainability of the generated code?](#based-on-your-involvement-in-the-low-code-platform-project-how-do-you-ensure-the-quality-and-maintainability-of-the-generated-code) 8 | 1. [You have gained 15,000+ stars on GitHub. Can you talk about one or two of your main contributions to projects, including the inspiration, technical challenges, and solutions?](#you-have-gained-15000-stars-on-github-can-you-talk-about-one-or-two-of-your-main-contributions-to-projects-including-the-inspiration-technical-challenges-and-solutions) 9 | 1. [Please share an experience where you faced a particularly challenging technical refactoring, including the decision-making, execution process, and final outcome.](#please-share-an-experience-where-you-faced-a-particularly-challenging-technical-refactoring-including-the-decision-making-execution-process-and-final-outcome) 10 | 1. [In your resume, you mentioned having knowledge of Docker/K8S. Could you please share which projects involved the use of containerization or container orchestration technologies, and what role you played in the entire development process?](#in-your-resume-you-mentioned-having-knowledge-of-dockerk8s-could-you-please-share-which-projects-involved-the-use-of-containerization-or-container-orchestration-technologies-and-what-role-you-played-in-the-entire-development-process) 11 | 12 | ## What is low-code, and can it improve development efficiency? 13 | 14 | Well, low-code is basically about writing less code to achieve the same thing. You know, like when you create pages through drag-and-drop - that's low-code because you're just configuring parameters to generate usable pages. It's similar to coding but requires less programming knowledge. 15 | 16 | Low-code can definitely boost efficiency, especially in simple business scenarios where you have lots of templates available. But if you're building a page from scratch or dealing with complex logic, it might actually be slower than traditional coding. That's why a good low-code platform needs to provide plenty of reusable page and app templates for quick generation. 17 | 18 | Also, combining low-code with large language models can really speed things up. Like, a fine-tuned model can generate usable pages directly from user prompts. Though I should mention that the training process can be pretty time-consuming and expensive. 19 | 20 |
21 | 查看中文 22 | 你觉得什么是低代码,低代码能提升开发效率吗? 23 | 24 | 我觉得在实现同样功能的情况下,让开发者比原来少写了一些代码,这样就算是低代码。例如通过拖拉拽来生成页面,这也算是低代码,因为它需要配置一些参数才能生成可用的页面,这个行为相当于在写代码了,只不过不需要太多的编程知识。 25 | 26 | 低代码在简单的业务场景,并且提供了大量模板的情况下,是可以提升开发效率的。但是如果从零开始开发一个页面或者说页面逻辑非常复杂,效率就会比较低,比不上直接写代码效率高。所以一个好用的低代码平台必定提供了大量可复用的页面模板、应用模板,让用户能快速生成页面。 27 | 28 | 另外,如果低代码和大语言模型结合,也能快速提升开发效率。在经过微调后的大语言模型可以直接根据用户的提示直接生成一个可用的页面。但是这个训练过程可能会非常漫长,并且费用成本很高。 29 | 30 |
31 | 32 | ## You mentioned that non-technical users can quickly build applications on the low-code platform. What user experience design principles did the platform use to reduce the learning curve while providing powerful functionalities? 33 | 34 | Well, I usually work closely with our product managers and designers, and we combine our experience with user feedback to set our UX principles. You know, things like keeping it simple and straightforward, making functions clear, ensuring easy operation, and providing quick feedback - stuff like that. When designing the product, we try our best to follow these principles to enhance the user experience. 35 | 36 |
37 | 查看中文 38 | 您提到为非技术用户在低代码平台上快速搭建应用,该平台使用了哪些用户体验设计原则来降低用户的学习曲线,同时提供强大的功能? 39 | 40 | 我一般会和产品经理、设计师一起沟通,并且结合自己的经验和用户反馈来确定用户体验设计原则。例如简单直接、功能明确、操作简单、反馈及时等。然后在产品设计时,我会尽量遵循这些原则,来提高用户体验。 41 | 42 |
43 | 44 | ## Based on your involvement in the low-code platform project, how do you ensure the quality and maintainability of the generated code? 45 | 46 | The generated code follows our team's coding standards, which helps ensure consistency and readability. Before releasing any features, we do extensive testing to evaluate both the readability and correctness of the generated code. 47 | 48 |
49 | 查看中文 50 | 基于您参与的低代码平台项目,如何确保生成的代码的质量和可维护性? 51 | 52 | 生成的代码风格是按照我们团队的代码规范来的,这样可以保证生成的代码风格统一和代码可读性。并且在功能上线前也有过大量的测试,主要是评测生成的代码可读性和正确性。 53 | 54 |
55 | 56 | ## You have gained 15,000+ stars on GitHub. Can you talk about one or two of your main contributions to projects, including the inspiration, technical challenges, and solutions? 57 | 58 | Yeah, let me tell you about an open-source low-code project I worked on. At the time, low-code was really trending, and I kept seeing articles about it, but I didn't have any hands-on experience. So I decided to build a low-code project from scratch. I also wanted to make it educational with clear documentation to help front-end developers who were new to low-code get started quickly. 59 | 60 | There were quite a few technical challenges. For example, with component rotation, you can't just calculate the rotation angle based on drag movement - it needs some complex math. Another tricky part was handling SVG components. We needed to maintain their aspect ratio during dragging, which was technically challenging. My solution was to calculate the xy coordinates of each point on the SVG component to determine their proportional values. Then during dragging, I'd use these proportions to calculate new xy coordinates, keeping the SVG's aspect ratio intact. 61 | 62 |
63 | 查看中文 64 | 您在 GitHub 上获得了 15,000+ stars,请谈谈您主要贡献的一个或两个项目,包括项目的灵感来源、技术难点和如何解决的? 65 | 66 | 我谈一下开源的低代码项目,当时低代码比较火,经常能看到相关的文章,而我没有相关经验。所以我想着自己从零开始做一个低代码项目,顺便做成教学项目,把文档写清楚,来帮助那些不懂低代码的前端,让他们能快速入门。 67 | 68 | 技术难点有很多,例如旋转组件,不能简单的通过用户拖拽移动的位移 xy 来算出旋转的角度,还要经过一些数学计算,才能算出来。还有就是支持 SVG 组件,SVG 在拖拽时不能改变 SVG 组件的比例,这个也是一个技术难点。我是通过计算 SVG 组件每个点的 xy 坐标,算出它们的在组件上的比例值,然后拖拽时通过比例值来计算新的 xy 坐标,这样就能保证 SVG 组件的比例不变。 69 | 70 |
71 | 72 | ## Please share an experience where you faced a particularly challenging technical refactoring, including the decision-making, execution process, and final outcome. 73 | 74 | Sure, I can share my experience of upgrading our low-code platform's application deployment to containerization. Originally, the feature could package and deploy low-code apps to a server, but it only supported one server and couldn't scale. When users started building more applications, we hit performance bottlenecks that affected server operations. 75 | 76 | So I decided to upgrade it to containerized deployment. This meant deploying user applications on K8S, which made things like scaling, canary releases, and application rollbacks much easier. It really improved our system's stability and performance. 77 | 78 |
79 | 查看中文 80 | 请分享一次特别有挑战的技术重构经验,涉及的决策、执行过程和最终的结果。 81 | 82 | 我分享一下之前将低代码平台的应用部署功能改造为容器化部署的经历。原来的应用部署功能能够把低代码应用打包部署到服务器上,但是只支持一台服务器,不能扩容。当用户搭建的应用多了之后,就会有性能瓶颈,影响服务器正常运转。 83 | 84 | 所以我决定对这个功能进行升级,将它改造为容器化部署。这样用户的应用就都部署在 K8S 上了,这样就可以很方便的进行扩容、灰度更新和应用回滚等操作,大大的提升了系统的稳定性和性能。 85 | 86 |
87 | 88 | ## In your resume, you mentioned having knowledge of Docker/K8S. Could you please share which projects involved containerization? 89 | 90 | Yeah, I mainly used containerization in our low-code platform project, where we deployed users' applications into containers and managed them with K8S. This made it super convenient to handle things like scaling up, canary releases, and application rollbacks. I actually handled the whole process myself, from design through implementation and testing. 91 | 92 |
93 | 查看中文 94 | 您在简历中提到具备 Docker/K8S 知识,能否介绍一下在哪些项目中使用到了容器化或容器编排技术,并且你这在整个开发流程中扮演了怎样的角色? 95 | 96 | 主要是在低代码平台项目中使用到了容器化技术,将用户的应用部署到容器中,然后通过 K8S 来管理这些容器。这样可以很方便的进行扩容、灰度更新和应用回滚等操作。从设计到实现、测试的整个过程都是我一个人做的。 97 | 98 |
99 | -------------------------------------------------------------------------------- /docs/movies-tv/family-album-usa/episode19.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: I Do 3 | --- 4 | 5 | # I Do 6 | 7 | ## Act 1 8 | 9 | Harry: It looks wrong. 10 | 11 | Philip: Hmmm. It is wrong. 12 | 13 | Richard: Are they always that difficult to make? 14 | 15 | Philip: The truth is... yes. I'll try again. 16 | 17 | Robbie: At this rate, the wedding will take place tomorrow. 18 | 19 | Philip: Not to worry. OK. Here we go. 20 | 21 | Harry: I'm worried, Philip. What if we can't tie the tie? 22 | 23 | Richard: If we can't tie the tie, then there can't be a wedding. 24 | 25 | Robbie: You'd better not make Harry any more nervous than he is. Don't worry. We'll figure a way. 26 | 27 | Grandpa: How're you doing, fellas? 28 | 29 | Harry: Not so good, Grandpa. We can't get this bow tie tied. Nobody knows how to do it. Do you? 30 | 31 | Grandpa: No. I never could, either. 32 | 33 | Philip: Well, you have your own tuxedo. How do you tie your bow tie? 34 | 35 | Robbie: Yeah, Grandpa, I've seen you in it. You look great. How do you tie it? 36 | 37 | Grandpa: I don't. 38 | 39 | Richard: You don't? 40 | 41 | Harry: What do you mean? 42 | 43 | Grandpa: I never could tie one of those... things... bow ties. I have always worn a clip-on bow tie. 44 | 45 | Harry: A clip-on? 46 | 47 | Philip: Of course. Now I remember. 48 | 49 | Grandpa: Yes, it's so easy. All you do is clip it around under your collar. 50 | 51 | Richard: We all need one of those. 52 | 53 | Robbie: The tuxedo rental store. Do you think they're open? 54 | 55 | Philip: Should be. Sunday's their big day. 56 | 57 | Richard: I'll call and find out. 58 | 59 | Grandpa: Well, if they're not, I'll lend you mine, Harry. You're the only one who really needs to be wearing a tuxedo, anyway. 60 | 61 | Harry: Thanks, Grandpa. 62 | 63 | Philip: I'm the father of the bride. I'm supposed to be worried about my daughter, and here I am with the man that's marrying my daughter—worrying about him. 64 | 65 | Grandpa: Poor Harry. I know the feeling. Wedding-day jitters. 66 | 67 | Robbie: Are they open? 68 | 69 | Richard: We're in luck. They're open. And they have lots of clip-on bow ties. 70 | 71 | Robbie: I'll bicycle down to the village and get them. 72 | 73 | Harry: You'd better hurry, Robbie. 74 | 75 | Grandpa: There's lots of time. A little over two hours. 76 | 77 | Harry: In two hours and fifteen minutes I'll be married to Susan. 78 | 79 | Philip: And be a true member of the Stewart family. 80 | 81 | Grandpa: Oh, you're a lucky guy, Harry. Susan is one of the best women you'll ever find. She's just like her grandma. 82 | 83 | Richard: Now, once you put the ring on Susan's finger, you are one of us, Harry. And don't ever forget it. 84 | 85 | Harry: Ring? Ring? Oh my! What did I do with the rings? I put them in the pocket of my sports jacket. 86 | 87 | Richard: No, I think you put them in your tuxedo jacket pocket. Remember? 88 | 89 | Harry: Right. What did I do with the rings? 90 | 91 | Philip: Didn't you give them to Richard? He's your best man. I remember. You gave them to Richard. 92 | 93 | Richard: Oh, yeah. I remember now. You handed them to me. What did I do with them? 94 | 95 | Harry: I hope they aren't lost. 96 | 97 | Grandpa: Oh, don't worry, Harry. They have to be here. 98 | 99 | Richard: I remember. I gave them to Robbie to hold so I wouldn't lose them. 100 | 101 | Harry: Oh, I forget. What time is it? 102 | 103 | Grandpa: It's still a little over two hours, Harry. Just relax. 104 | 105 | Harry: What about the rings? 106 | 107 | Richard: I'm sure Robbie has them. 108 | 109 | Harry: No, NO, Robbie doesn't have them. He gave them to me to hold on to them because he didn't want the responsibility of holding them. I put them in my tuxedo but in the lapel pocket. That's a relief. I was really worried. 110 | 111 | Richard: I'll hold on to them for you. The best man always keeps the rings. 112 | 113 | Harry: You're right. You're right. You hold on to them so there won't be a problem later. 114 | 115 | Philip: Well, now, I think we'd better get dressed, fellas. 116 | 117 | Grandpa: All right! 118 | 119 | Richard: Robbie will bring the ties back. 120 | 121 | Harry: Hey, leaving me? 122 | 123 | Grandpa: You'll be fine. 124 | 125 | Philip: Try to take it easy. It'll all be over in two hours. 126 | 127 | Harry: Over? 128 | 129 | Grandpa: The wedding ceremony will be over. You'll be husband and wife. 130 | 131 | Harry: I guess you're right. Two hours from now. Two hours from now. 132 | 133 | ## Act 2 134 | 135 | Marilyn: And now for... something old, something new, something borrowed, and something blue. 136 | 137 | Susan: OK. Let's see. Something borrowed. That's this dress. Borrowed from Marilyn. 138 | 139 | Ellen: Something blue. My wristband. I wore it when I married your father. 140 | 141 | Susan: Oh, Mother. I forgot you still had it. It's just so lovely. 142 | 143 | Ellen: I bought it in an antique shop when I was about eighteen years old. I saved it for my wedding day. 144 | 145 | Susan: And you saved it for me, didn't you, Mother? 146 | 147 | Ellen: Yes, honey, I did. Are we ever going to finish? 148 | 149 | Ellen: All right. OK. Something borrowed. 150 | 151 | Marilyn: The wedding dress. And something blue. 152 | 153 | Susan: The wristband. Something old? 154 | 155 | Ellen: Something old. Right. What's old? 156 | 157 | Susan: Of course! Something old. I had planned to wear them. 158 | 159 | Ellen: Grandma's pearls! Oh, Grandpa will be so pleased that you're wearing them. I'm sure he misses Grandma on a day like this. 160 | 161 | Susan: Help me with them, Marilyn. I've never worn them before. I've been saving them for today. 162 | 163 | Ellen: Saving them for today? Oh, you're a real Stewart! 164 | 165 | Marilyn: Oh, there you go. Lovely! 166 | 167 | Ellen: Lovely! 168 | 169 | Susan: Lovely! 170 | 171 | Marilyn: Something borrowed, something blue. Something old... and now for something new. 172 | 173 | Susan: The veil. Oh, it's so beautiful, Marilyn! 174 | 175 | Ellen: You really are a fabulous designer, Marilyn. 176 | 177 | Marilyn: Doesn't it look just right on Susan? 178 | 179 | Ellen: Perfect! 180 | 181 | Marilyn: And when you both say, "I do," Harry will lift this veil over your head and kiss the bride. 182 | 183 | Ellen: Oh, I'm so excited! 184 | 185 | Susan: When you said, "I do," Marilyn, it suddenly became real. 186 | 187 | Marilyn: That's all right, Susan. You've got the wedding-day jitters! In less than two hours, you will be Mrs. Harry Bennett. 188 | 189 | Ellen: Oh, that reminds me. If we don't get dressed, we won't be there to see Susan become Mrs. Harry Bennett. 190 | 191 | Susan: Before you leave—do I look all right? 192 | 193 | Ellen: You never looked better. 194 | 195 | Susan: Mom. 196 | 197 | Marilyn: She's right. And that's dear little Max. Got to go and feed him. 198 | 199 | Susan: What am I supposed to do? 200 | 201 | Marilyn: Take off the veil, kick off your shoes, and sit down. 202 | 203 | Ellen: We'll come upstairs and get you in a little while. 204 | 205 | Marilyn: Richard's going to take some wedding pictures before the ceremony. So just relax. 206 | 207 | Susan: Are you kidding? Relax? 208 | 209 | Susan: Susan Stewart... you are about to become Susan Bennett—Mrs. Harry Bennett. 210 | 211 | ## Act 3 212 | 213 | Judge: Philip... Ellen. 214 | 215 | Philip: Ah, Judge. 216 | 217 | Judge: How are you? How are you? 218 | 219 | Ellen: Hello. 220 | 221 | Judge: I think it's time for the wedding to begin. 222 | 223 | Judge: All right, ladies and gentlemen. Please take your places. The wedding ceremony is about to begin. 224 | 225 | Judge: OK, Jane. Start the music. 226 | 227 | Judge: Dearly beloved, we are gathered here today to join this man and this woman in holy matrimony. Do either of you have any reason why you should not legally be joined in marriage? Is there anyone present who can show any just cause why these two people should not be legally joined in marriage? Then, Harry Bennett, do you take Susan Stewart to be your lawful, wedded wife? 228 | 229 | Harry: I do. 230 | 231 | Judge: And you, Susan Stewart, do you take Harry Bennett to be your lawful, wedded husband? 232 | 233 | Susan: I do. 234 | 235 | Judge: The rings, please. 236 | 237 | Richard: I have them, Harry. 238 | 239 | Judge: By the power vested in me by the laws of the State of New York, I now pronounce you husband and wife. You may kiss the bride now, Harry. 240 | -------------------------------------------------------------------------------- /docs/movies-tv/family-album-usa/episode4.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: A Piece of Cake 3 | --- 4 | 5 | # A Piece of Cake 6 | 7 | ## Act 1 8 | 9 | **Marilyn**: I'm exhausted. My new exercise class is so hard. 10 | 11 | **Richard**: Your new exercise class? 12 | 13 | **Marilyn**: Yeah. My new advanced exercise class. 14 | 15 | **Richard**: Why advanced? 16 | 17 | **Marilyn**: My instructor thought that the beginner's class was too easy for me. 18 | 19 | **Richard**: Too easy for you? 20 | 21 | **Marilyn**: Don't laugh. In the beginner's class, they give you a chance to rest between exercises. 22 | 23 | **Richard**: So? 24 | 25 | **Marilyn**: The advanced class is nonstop. 26 | 27 | **Richard**: I lift weights every morning for sixty minutes without stopping. No problem. 28 | 29 | **Marilyn**: Listen, Richard, doing aerobics for an hour is a lot different than lifting weights. 30 | 31 | **Richard**: Yeah.Quite a bit different.I think aerobics is easy. I could work out in your class with no problem. 32 | 33 | **Marilyn**: You think so? 34 | 35 | **Richard**: Oh, without a doubt. When's the next class? 36 | 37 | **Marilyn**: Tomorrow morning at ten o'clock. Try it. 38 | 39 | **Richard**: Tomorrow morning after lifting weights, I'll try aerobics. It's a snap. Tomorrow morning at ten o’clock. 40 | 41 | **Marilyn**: Aren't you going to the aerobics class this morning? 42 | 43 | **Richard**: Of course. Easy. No sweat. 44 | 45 | **Marilyn**: You are not going to be able to move after this and the aerobics class. 46 | 47 | **Richard**: Are you kidding me? It's going to be a piece of cake. You want to bet. 48 | 49 | **Marilyn**: Yeah. What's the bet? 50 | 51 | **Richard**: I bet I can go one hour in your class this morning and not feel a thing! 52 | 53 | **Marilyn**: The bet is-I win, and you cook dinner for the entire family. Or you win, and I cook dinner for the entire family. 54 | 55 | **Richard**: It's a bet. 56 | 57 | **Marilyn**: OK. Call my instructor, Jack Davis, right now. His number is 555-8842.The advanced class starts at ten o'clock. 58 | 59 | **Richard**: Well, it's eight twenty now. 60 | 61 | **Marilyn**: It only takes eight minutes by bicycle to the aerobics class. Give him a call. 62 | 63 | **Jack**: Davis Aerobics Centrer for Good Health. 64 | 65 | **Richard**: Jack Davis, please. 66 | 67 | **Jack**: This is Jack Davis. 68 | 69 | **Richard**: Hello. This is RIchard Stewart. My wife, Marilyn Stewart, is a member of your program. I'd like to come to the ten o'clock advanced class this morning. 70 | 71 | **Jack**: Oh, fine,fine.Be here a few minutes early.You need to complete some forms before the class. 72 | 73 | **Richard**: Thanks. I'm on my way over. 74 | 75 | **Jack**: Good-bye. 76 | 77 | **Richard**: Bye-bye. It's all set. I'm going. 78 | 79 | **Marilyn**: Bye. 80 | 81 | **Richard**: See you later. 82 | 83 | **Marilyn**: Good luck. 84 | 85 | **Richard**: Don't forget about the bet. Dinner for the entire family. And that includes Susan. 86 | 87 | **Marilyn**: Don't you forget. 88 | 89 | ## Act 2 90 | 91 | **Jack**: OK, Richard. That's terrific. Your pressure is 120 over 75, and that's fine. Now stand up,please. Good, it's 122 over 80. You can sit down now. When was your last complete physical? 92 | 93 | **Richard**: Six months ago. 94 | 95 | **Jack**: Good.Do you have any back or knee problems? 96 | 97 | **Richard**: Nope. I am in perfect health. 98 | 99 | **Jack**: What do you do for a living, Mr.Stewart? 100 | 101 | **Richard**: I'm a photographer. 102 | 103 | **Jack**: Interesting. What do you photograph? 104 | 105 | **Richard**: Everything. The American scene. People, places, events. 106 | 107 | **Jack**: Did you ever think of photographing an aerobics class? 108 | 109 | **Richard**: No...I can't remember taking pictures of people exercising. 110 | 111 | **Jack**: But don't you think it'd be a good subject? 112 | 113 | **Richard**: Sure. 114 | 115 | **Jack**: I need some good photos for my advertising, Mr.Stewart Maybe you can photograph a class, and I can give you and Mrs.Stewart a month of classes-free. 116 | 117 | **Richard**: When can I photograph a class? 118 | 119 | **Jack**: Anytime. 120 | 121 | **Richard**: How about today? 122 | 123 | **Jack**: Terrific! 124 | 125 | **Jack**: Hi. 126 | 127 | **Instructor**: Oh, hi. 128 | 129 | **Jack**: Are we ready to go? 130 | 131 | **Instructor**: Yeah. Yeah. Let's get in our lines. We're going to take it slow first. Stretch up...and we're going to go left first...2,3,4...now stretch...OK,hold to the right. Sunrises.Stretch it out. Flat back.Bring it up...and twists...and side...2,3...and left...push...push...turn...hit the floor. Take it side again...OK, and switch. Stretch it out .And we're going to warm down with a tango.Left, Right. Enjoy it. 132 | 133 | **Marilyn**: Richard, did you go to the Davis Aerobics class today? 134 | 135 | **Richard**: Yes, I went to the aerobics class today. 136 | 137 | **Marilyn**: What is wrong with you? 138 | 139 | **Richard**: Nothing. I am in excellent health. I have ideal blood pressure. A perfect heart.In other words, I'm in wonderful condition. 140 | 141 | **Marilyn**: Richard, did you go to the aerobics class, really? 142 | 143 | **Marilyn**: And your legs don't hurt? 144 | 145 | **Richard**: Hurt? What do you mean? 146 | 147 | **Marilyn**: What about your arms? Lift your arms up like this. And they don't hurt-not even a little? 148 | 149 | **Richard**: Nope. 150 | 151 | **Marilyn**: You are in great condition. I can't believe it! 152 | 153 | ## Act 3 154 | 155 | **Marilyn**: Grandpa, Ellen, Philip, Robbie, you and me .That's six steaks. 156 | 157 | **Richard**: Don't forget Susan. 158 | 159 | **Marilyn**: Seven steaks.Cooking dinner for the entire family is not so easy. The shopping:the salad:tomatoes,lettuce, cucumbers, and onions. The main course steak and potatoes. Richard, how much broccoli do I need for seven people? 160 | 161 | **Richard**: Marilyn, I have to tell you something. At today's exercise class... 162 | 163 | **Marilyn**: Yes, Richard. 164 | 165 | **Richard**: Well, I didn't really exercise. 166 | 167 | **Marilyn**: I knew it! 168 | 169 | **Richard**: I wanted to, but Jack Davis needed a photographer. I'm sorry, Marilyn. 170 | 171 | **Marilyn**: I don't understand. Did you exercise or not? 172 | 173 | **Richard**: No.Instead of exercising, I photographed the class. 174 | 175 | **Marilyn**: And you didn't exercise? 176 | 177 | **Richard**: No. 178 | 179 | **Marilyn**: There's another advanced class today at four o'clock. We'll go together. 180 | 181 | **Richard**: What about the bet? 182 | 183 | **Marilyn**: Oh, the bet is still on, but you shop for the groceries.Remember, you win, and I cook dinner for the entire family. 184 | 185 | **Richard**: You win, and I cook dinner for the entire family. 186 | 187 | **Marilyn**: Including Susan. Four o'clock at the advanced exercise class. With me. 188 | 189 | **Jack**: Don't forget to breathe. 190 | 191 | **Instructor**: Skip, hop, front, Twist...again...OK,Now...scissors. 192 | 193 | **Richard**: This is fun.It's a piece of cake. 194 | 195 | **Marilyn**: Yeah.Just wait. 196 | 197 | **Instructor**: 5, 6, 7, go right, 1, 2, back, 3, 1, 2, 3, pony, pony...1, 2, 3, kick...1, 2, 3, kick...pony.And twist, twist. 198 | 199 | **Jack**: OK. Let's pick up the pace. 200 | 201 | **Marilyn**: How are you doing, Richard? 202 | 203 | **Richard**: I can barely move. 204 | 205 | **Instructor**: 2,3,4,front.Now we're going to run it off. Front...knees up, knees up. 206 | 207 | **Jack**: OK, Finish off by jogging in place. OK. Keep those knees up. All right.That's it for today. Thank you, everyone. See you next week. 208 | 209 | **Richard**: Thank you, Jack, but no thank you. 210 | 211 | **Marilyn**: The advanced exercise class is not so easy, huh? 212 | 213 | **Richard**: Come on, Richard.Get up. Let's go, you have to cook dinner for the entire family. 214 | 215 | **Richard**: Marilyn, I'm exhausted. I can't move. 216 | 217 | **Marilyn**: Oh, you'll do it. It's a piece of cake. 218 | 219 | **Jack**: Excuse me, Richard,Marilyn. 220 | 221 | **Richard**: You are a terrific instructor, Jack. 222 | 223 | **Jack**: Thanks. But I have a question. Is this your very first advanced aerobics class? 224 | 225 | **Richard**: Yes,it is. 226 | 227 | **Jack**: You are in great shape, Richard. Very few people last in this class for the full hour the very first time. 228 | 229 | **Marilyn**: It's true. You are in Great shape. 230 | 231 | **Richard**: Thanks! 232 | 233 | **Marilyn**: I think we'll cook dinner together. 234 | --------------------------------------------------------------------------------