Common

English Time Expressions

English Time Expressions Guide #

Review

  1. 2019/12/08

This comprehensive guide covers the essential aspects of expressing time in English, including time points, centuries, years, months, and dates.

1. Time Point Expressions #

1.1 Basic Time Reading #

  • All times can be read directly as “hour + minute”:
    • 6:10 → six ten
    • 8:30 → eight thirty
    • 2:40 → two forty

1.2 Past and To Expressions #

  • For times within 30 minutes: “minutes + past + hour”

    ...

Website Protocol

请各位用户遵守下列协议:

  1. 遵纪守法
  2. 遵重人格
  3. 遵重人权
  4. 勿有歧视
  5. 倡导自由
  6. 恪守理性
  7. 敢于直言

用户协议

请各位用户遵守下列协议:

  1. 遵纪守法

    • 用户应遵守所在国家和地区的法律法规。
  2. 尊重人格

    • 用户应尊重他人的人格和尊严,不得进行人身攻击。
  3. 尊重人权

    • 用户应尊重他人的基本人权,不得侵犯他人的合法权益。
  4. 反对歧视

    • 用户不得基于种族、性别、宗教、年龄等进行歧视。
  5. 倡导自由

    • 用户应倡导言论自由,但不得传播虚假信息。
  6. 恪守理性

    • 用户应保持理性,避免情绪化言论。
  7. 敢于直言

    • 用户应勇于表达自己的观点,但需基于事实。
  8. 保护隐私

    • 用户应尊重他人的隐私,不得未经允许收集或传播他人信息。
  9. 维护安全

    • 用户应维护网络安全,不得进行任何破坏性行为。

IndexedDB Demo

IndexedDB Demo #

interface IData {
  componentName: string;
  propName: string;
  voId: number;
  renterKey: string;
  componentName_voId: string;
}

class Database {
  private static _instance: Database;

  private connection;

  constructor() {
    const openRequest = indexedDB.open('development-database', 1);

    openRequest.onupgradeneeded = (e: any) => {
      const db = e.target.result;
      console.log('Database upgradeneeded');

      if (!db.objectStoreNames.contains('voStore')) {
        const store = db.createObjectStore('voStore', { keyPath: 'componentName_voId' });
        store.createIndex('componentName_voId', 'componentName_voId', { unique: true });
        store.createIndex('componentName', 'componentName', { unique: false });
        store.createIndex('voId', 'voId', { unique: false });
      }
    };

    openRequest.onsuccess = (e: any) => {
      const db = e.target.result;
      this.connection = db;
    };

    openRequest.onerror = (e: any) => {
      console.log('Database init error', e.target.error.name);
    };
  }

  static getDB() {
    if (!Database._instance) {
      Database._instance = new Database();
    }
    return Database._instance;
  }

  // 更新所有跟 componentName 相关的数据
  public updateByComponentName(list: IData[], componentName: string): Promise<{ code: number; msg: string; }> {
    return new Promise((resolve) => {
      const tx = this.connection.transaction('voStore', 'readwrite');
      const store = tx.objectStore('voStore');

      this._searchByComponentName(componentName, store).then((data) => {
        const listByName: IData[] = data;

        list.forEach((item) => {
          if (listByName.some((l) => item.componentName_voId === l.componentName_voId)) {
            // update
            const putRequest = store.put(item);
            putRequest.onsuccess = () => {
              console.log('update');
            };
          } else {
            // new add
            const addRequest = store.add(item);

            addRequest.onsuccess = () => {
              console.log('add');
            };
          }
        });

        // remove not found
        const removeList = listByName.filter((l) => list.every((i) => i.componentName_voId !== l.componentName_voId));
        removeList.forEach((l) => {
          const deleteRequest = store.delete(l.componentName_voId);
          deleteRequest.onsuccess = () => {
            console.log('delete');
          };
        });
      });

      tx.oncomplete = () => {
        resolve({
          code: 200,
          msg: '更新成功',
        });
      };
    });
  }

  private _searchByComponentName(componentName: string, store: any): Promise<IData[]> {
    return new Promise((resolve) => {
      const index = store.index('componentName');
      const getRequest = index.openCursor(IDBKeyRange.only(componentName));
      const result: IData[] = [];

      getRequest.onsuccess = (e) => {
        const cursor = e.target.result;

        if (cursor) {
          result.push(cursor.value);
          cursor.continue();
        } else {
          // 没有更多数据
          resolve(result);
        }
      };
    });
  }

  public searchByComponentName(componentName: string): Promise<IData[]> {
    const tx = this.connection.transaction('voStore', 'readwrite');
    const store = tx.objectStore('voStore');

    return new Promise((resolve) => {
      const index = store.index('componentName');
      const getRequest = index.openCursor(IDBKeyRange.only(componentName));
      const result: IData[] = [];

      getRequest.onsuccess = (e) => {
        const cursor = e.target.result;

        if (cursor) {
          result.push(cursor.value);
          cursor.continue();
        } else {
          // 没有更多数据
          resolve(result);
        }
      };
    });
  }
}

export default Database;

Reference #

https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API

...

Negotiation

一些著名谈判案例 #

联想收购IBM个人电脑部门:2004年,中国联想集团以18.5亿美元的价格收购了IBM个人电脑部门。在谈判过程中,联想集团成功地向IBM展示了自己在中国市场的优势,并且成功地让IBM同意将品牌许可给联想集团。

马化腾与eBay的合作:2001年,中国互联网巨头腾讯的CEO马化腾成功地与eBay的CEO梅格·惠特曼达成了合作协议,将eBay引入中国市场。在谈判过程中,马化腾展现了腾讯在中国市场的影响力,使得eBay对于合作的信心倍增。

阿里巴巴与雅虎的合作:2005年,阿里巴巴的CEO马云成功地向雅虎的CEO Terry Semel展示了阿里巴巴在中国市场的领导地位和增长潜力,并签署了一项合作协议,让雅虎成为阿里巴巴的战略合作伙伴。该合作协议加速了阿里巴巴的业务扩张和国际化进程。

中国移动与苹果的合作:2013年,中国移动与苹果签署了一项合作协议,允许苹果将其iPhone引入中国移动的网络。在谈判过程中,中国移动强调了自己在中国市场的优势和巨大的用户群体,并且成功地推动了苹果调整了自己的合作政策。

腾讯收购Supercell:2016年,中国互联网公司腾讯以86亿美元收购了芬兰移动游戏公司Supercell的84.3%股份。在谈判过程中,腾讯展示了自己在游戏领域的优势和战略规划,使得Supercell同意与腾讯合作。

华为与谷歌的合作:2019年,华为与谷歌签署了一项专利授权协议,允许华为在其智能手机中使用谷歌的安卓操作系统。在谈判过程中,华为强调了自己在全球智能手机市场中的份额和品牌影响力,使得谷歌同意与华为合作。

美团点评收购摩拜单车:2018年,中国外卖巨头美团点评以27亿美元收购了共享单车公司摩拜单车。在谈判过程中,美团点评强调了自己在中国市场的优势和扩张计划,并且成功地获得了摩拜单车的控制权。

中兴通讯与美国政府的谈判:2018年,中兴通讯因为违反美国对伊朗和朝鲜的制裁而被美国政府制裁,面临巨额罚款和无法使用美国技术的风险。在谈判过程中,中兴通讯展现了自己在全球通讯行业的领先地位和对全球经济的贡献,最终成功地达成了与美国政府的和解协议。

Software Engineering

软件工程 - 敏捷过程 #

Review

  1. 2020/04/08

时间就像一张网,你撒在哪里,你的收获就在哪里。

我们一直在实践中探寻更好的软件开发方法,身体力行的同时也帮助他人。由此我们建立了如下价值观: 个体和互动 高于 流程和工具 工作的软件 高于 详尽的文档 客户合作 高于 合同谈判 响应变化 高于 遵循计划 也就是说,尽管右项有其价值,我们更重视左项的价值。

不是我们流程完全按照敏捷设计了就是敏捷了,而是需要不断反思我们是否按照这个思想在实践了才是符合敏捷思想的核心。 换一个角度,其实和我们组织的价值观是一致的。

  • 主人翁意识;
  • 追求卓越;
  • 空杯心态;
  • 思变创新;
  • 以客户为中心;
  • 真诚直接

敏捷相关的知识点 1、敏捷核心价值观 2、完整的scrum流程 3、每日例会和看板 4、回顾例会

软件过程模型 #

  • 瀑布模型
  • 快速原型模型
  • 增量模型
  • 螺旋模型
  • 喷泉模型
  • RUP
  • 敏捷过程
  • 微软过程

软件工程分析 #

  1. 问题定义
  2. 可行性研究
  3. 需求分析
  4. 总体设计
  5. 详细设计
  6. 编码和单元测试
  7. 综合测试
  8. 软件维护

English Occupation

English Occupation Vocabulary #

This document provides a comprehensive list of common occupations in English, including their phonetic transcriptions and Chinese translations. The phonetic transcriptions use the International Phonetic Alphabet (IPA) to help with pronunciation.

Pronunciation Tips #

  • /ˈ/ indicates primary stress
  • /ˌ/ indicates secondary stress
  • /ə/ is the schwa sound (like the ‘a’ in “about”)
  • /ɪ/ is like the ‘i’ in “bit”
  • /iː/ is like the ’ee’ in “see”
  • /æ/ is like the ‘a’ in “cat”
  • /ɑː/ is like the ‘a’ in “father”

Government and Leadership Positions #

EnglishPhoneticChinese
President/ˈprezɪdənt/总统
Prime Minister/ˌpraɪm ˈmɪnɪstə/总理
Secretary of State/ˈsekrətri əv steɪt/国务卿
Secretary General/ˈsekrətri ˈdʒenərəl/秘书长
Ambassador/æmˈbæsədə/大使
Governor/ˈɡʌvənə/州长/省长
Mayor/meə/市长
Councilor/ˈkaʊnsələ/议员
Diplomat/ˈdɪpləmæt/外交官
Public Servant/ˈpʌblɪk ˈsɜːvənt/公务员

Professional Occupations #

EnglishPhoneticChinese
Doctor/ˈdɒktə/医生
Lawyer/ˈlɔːjə/律师
Engineer/ˌendʒɪˈnɪə/工程师
Architect/ˈɑːkɪtekt/建筑师
Accountant/əˈkaʊntənt/会计师
Professor/prəˈfesə/教授
Scientist/ˈsaɪəntɪst/科学家
Programmer/ˈprəʊɡræmə/程序员
Designer/dɪˈzaɪnə/设计师
Consultant/kənˈsʌltənt/顾问

Business and Management #

EnglishPhoneticChinese
Manager/ˈmænɪdʒə/经理
Director/dɪˈrektə/总监
CEO(chief executive officer)/ˌsiː iː ˈəʊ/首席执行官
Entrepreneur/ˌɒntrəprəˈnɜː/企业家
Salesperson/ˈseɪlzpɜːsn/销售员
Marketer/ˈmɑːkɪtə/市场营销人员
HR Manager/ˌeɪtʃ ˈɑː ˈmænɪdʒə/人力资源经理
Financial Analyst/faɪˈnænʃəl ˈænəlɪst/财务分析师
Project Manager/ˈprɒdʒekt ˈmænɪdʒə/项目经理
Business Analyst/ˈbɪznəs ˈænəlɪst/业务分析师

Creative and Media #

EnglishPhoneticChinese
Writer/ˈraɪtə/作家
Journalist/ˈdʒɜːnəlɪst/记者
Photographer/fəˈtɒɡrəfə/摄影师
Artist/ˈɑːtɪst/艺术家
Musician/mjuːˈzɪʃn/音乐家
Actor/ˈæktə/演员
Director/dɪˈrektə/导演
Editor/ˈedɪtə/编辑
Graphic Designer/ˈɡræfɪk dɪˈzaɪnə/平面设计师
Content Creator/ˈkɒntent kriːˈeɪtə/内容创作者

Service Industry #

EnglishPhoneticChinese
Chef/ʃef/厨师
Waiter/Waitress/ˈweɪtə/ /ˈweɪtrəs/服务员
Receptionist/rɪˈsepʃənɪst/前台接待
Flight Attendant/flaɪt əˈtendənt/空乘人员
Tour Guide/tʊə ɡaɪd/导游
Hairdresser/ˈheədresə/理发师
Cleaner/ˈkliːnə/清洁工
Security Guard/sɪˈkjʊərəti ɡɑːd/保安
Driver/ˈdraɪvə/司机
Customer Service/ˈkʌstəmə ˈsɜːvɪs/客服人员

Education and Healthcare #

EnglishPhoneticChinese
Teacher/ˈtiːtʃə/教师
Nurse/nɜːs/护士
Dentist/ˈdentɪst/牙医
Pharmacist/ˈfɑːməsɪst/药剂师
Psychologist/saɪˈkɒlədʒɪst/心理学家
Counselor/ˈkaʊnsələ/咨询师
Librarian/laɪˈbreəriən/图书管理员
Tutor/ˈtjuːtə/家教
Coach/kəʊtʃ/教练
Social Worker/ˈsəʊʃl ˈwɜːkə/社会工作者

Technical and Skilled Trades #

EnglishPhoneticChinese
Electrician/ɪˌlekˈtrɪʃn/电工
Plumber/ˈplʌmə/水管工
Carpenter/ˈkɑːpəntə/木匠
Mechanic/məˈkænɪk/机械师
Welder/ˈweldə/焊工
Technician/tekˈnɪʃn/技术员
IT Specialist/ˌaɪ ˈtiː ˈspeʃəlɪst/IT专家
Network Engineer/ˈnetwɜːk ˌendʒɪˈnɪə/网络工程师
Electric Engineer/ɪˈlektrɪk ˌendʒɪˈnɪə/电气工程师
Quality Inspector/ˈkwɒləti ɪnˈspektə/质量检查员

Additional Notes #

  1. Some professions have gender-specific terms:

    ...