安装包下载
下载完成后,选择一个磁盘内放置并解压。
设置环境变量
- 变量名:MYSQL_HOME
- 变量值:E:\mysql5.7.23
- path里添加:%MYSQL_HOME%\bin
初始化设置
创建data Uploads文件夹
my.init文件
1 | [mysqld] |
下载完成后,选择一个磁盘内放置并解压。
1 | [mysqld] |
Redux 是JavaScript状态容器,提供可预测化的状态管理
action 普通的JS对象描述发生什么
reducer 只是一个接收 state 和 action,并返回新的 state 的函数
Store — 数据存储中心,同时连接着Actions和Views(React Components)。
整个应用的 state 被储存在一棵 object tree 中,并且这个 object tree 只存在于唯一一个 store 中。和根级的reducer,拆成多个reducer而不是多个store。
唯一改变 state 的方法就是触发 action,action 是一个用于描述已发生事件的普通对象。
为了描述 action 如何改变 state tree ,你需要编写 reducers。传递数据 payload规范。
当 state 变化时需要返回全新的对象,而不是修改传入的参数。
随着 Web技术 和 移动设备 的快速发展,在各家大厂中,Hybrid 技术已经成为一种最主流最不可取代的架构方案之一。一套好的 Hybrid 架构方案能让 App 既能拥有极致的体验和性能,同时也能拥有Web技术灵活的开发模式、跨平台能力以及热更新机制。因此,相关的 Hybrid 领域人才也是十分的吃香,精通Hybrid 技术和相关的实战经验,也是面试中一项大大的加分项。
Hybrid App,俗称 混合应用,即混合了 Native技术 与 Web技术 进行开发的移动应用。现在比较流行的混合方案主要有三种,主要是在UI渲染机制上的不同:
ES6 或 TS 引入了块级作用域,通过let和const、class等可以定义块级作用域里的变量,块级作用域内的变量不存在变量提升,且存在暂时性死区
(在代码块内,使用let或const声明变量前该变量都是不可改变的)。常见的if语句,for循环的循环体内都可以定义块级变量。那么switch语句中的块级作用域是什么呢? 先给出结论:
switch语句中的块级作用域,在整个switch语句中,而不是对于每一个case生成一个独立的块级作用域。
回答提示: 一般人回答这个问题过于平常,只说姓名、年龄、工作经验,这些在简历上都有。其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,要突出积极的个性和做事的能力,说的合情合理企业才会相信。
回答提示: 沉着冷静、条理清楚、立场坚定、乐于助人等,加上例子如:我在XX经过一到两年的培训及项目实战,加上实习工作,我想我适合这份工作。
回答提示: 这个问题企业问的概率很大,通常不希望听到直接回答的缺点是什么等,如果求职者说自己小心眼、非常懒、工作效率低,企业肯定不会录用你。要从自己的优点说起,中间加一些小缺点,最后再把问答转回到优点上,突出优点的部分。
先简单了解下什么是 CSS Modules
A CSS Module is a CSS file in which all class names and animation names are scoped locally by default
简单点说 CSS Module 是具有局部作用域的 css 文件。既然提到了局部作用域,那么肯定有全局作用域,在 create-react-app 中,我们引入 css 文件通常为以下形式:
1 | /* index.css */ |
1 | /* index.tsx */ |
在开发过程中,会遇到在网站上传 100 MB 以上的文件经常失败,重试也要等老半天。那么应该怎么做才能快速上传,就算失败了再次发送也能从上次中断的地方继续上传呢?
第一步是结合项目背景,调研比较优化的解决方案。 文件上传失败是老生常谈的问题,常用方案是将一个大文件切片成多个小文件,并行请求接口进行上传,所有请求得到响应后,在服务器端合并所有的分片文件。当分片上传失败,可以在重新上传时进行判断,只上传上次失败的部分,减少用户的等待时间,缓解服务器压力。这就是分片上传文件。
流程图如下:
React的官方介绍是这样的:
In the typical React dataflow, props are the only way that parent components interact with their children. To modify a child, you re-render it with new props. However, there are a few cases where you need to imperatively modify a child outside of the typical dataflow. The child to be modified could be an instance of a React component, or it could be a DOM element. For both of these cases, React provides an escape hatch.
其中提到了这几个概念:
在典型的React数据流理念中,父组件跟子组件的交互都是通过传递属性(properties)实现的。如果父组件需要修改子组件,只需要将新的属性传递给子组件,由子组件来实现具体的绘制逻辑。
在特殊的情况下,如果你需要命令式(imperatively)的修改子组件,React也提供了应急的处理办法–Ref。
Ref 既支持修改DOM元素,也支持修改自定义的组件。
正则表达式脱离语言,和数据结构与算法一样,作为程序员的软技能。目前存在的问题:不受重视 优点:
1 | var regex1 = /cosyer/g; |
其中的模式(pattern)部分可以是任何简单或复杂的正则表达式,可以包含字符类、限定符、分组、 向前查找以及反向引用。每个正则表达式都可带有一或多个标志(flags),用以标明正则表达式的行为。 正则表达式的匹配模式支持下列 3 个标志。
新增的修饰符:
1 | var a1 = /\+d/g; // 字面形式 |
在JavaScript中建议使用字面形式的正则表达式,因为不需要担心字符串中的转义字符。比如上面示例代码中字面形式使用\d而构造函数使用的是\d;
1 | var text = "aaa "; |