金融市场基础知识前言
工作需要,需要证券从业资格证
考试内容:
- 金融市场体系
12
- 中国的金融市场与多层次资本市场
31
- 证券市场主体
44 重点
- 股票
55 重点
- 债券
59 重点
- 证券投资基金
46 重点
- 金融衍生工具
24 难点
- 金融风险管理
37
蟒蛇书PartOne--Python基础知识(第四章)
蟒蛇书PartOne--Python基础知识(第三章)
列表应该算是Python的特色了,Python没有提供现成的数组模块(标准库里面提供了array类,可以自己定义),但是提供了更为强大的列表。
Linux学习笔记
MBR和GPT磁盘分区表
目前存在的磁盘分区表主要是这两种格式,以前重装系统或者折腾双系统的时候总是对这块不求甚解,对于操作系统的学习又没有细化到磁盘的实际调度,所以对这块一直模模糊糊,总是凭借经验去处理.
MBR
MBR相对来说是比较落后的一种分区形式
主引导记录(446Byte)和分区表(64Byte)
分区表只能支持四组记录区,所以MBR最多只能支持(四个主分区或者扩展分区),所以这也是为什么windows主流分区就是CDEF四个分区
但是具体的需求不可能之用四个分区就直接满足的,就要通过扩展分区去实现分区的扩展,可以在扩展分区中再去划分逻辑分区,在扩展分区中再拿一个额外的扇区作分区表,记录逻辑分区的分区信息.
最后形成的逻辑结构就是:
P+P+P+E(L+…+L)
不管怎么分配四个一级分区的设备文件名是一定要预留的,比如说:
/dev/sda1
/dev/sda2
/dev/sda5
/dev/sda6
/dev/sda7
/dev/sda8
虽然在这里,系统只使用了一个主分区加一个扩展分区,但是sda3和sda4的设备名其实是已经预留好的,扩展分区的二级分区只能从sda5开始分配。
另外,扩展分区只能有一个,且扩展分区不能被格式化。如果扩展分区被强行格式化或者破坏掉,那么扩展分区内的所有逻辑分区都会被删除,因为所有逻辑分区的分区表是存放在扩展分区的。所以能够被格式化的只有主分区和逻辑分区。
GPT
MBR天生就有缺陷,就是MBR的分区表只有区区
Linux学习笔记
混入(Mixin)
核心思想
从组件中抽出公共部分,和vuex不同,Mixin抽离的数据和方法是独立的,组件使用相同的Mixin之后是不影响的。
大概就是组件的组件
偷一段官网的示例
1 | // 定义一个混入对象 |
选项合并
当组件和混入对象存在同名选项时
比如,数据对象在内部会进行递归合并,并在发生冲突时以组件数据优先。
1 | var mixin = { |
对于钩子函数则会合并成为一个数组,因此mixin中的钩子和组件本身的钩子都会被调用,但是mixin的钩子会先于自身钩子调用
1 | var mixin = { |
值为对象的选项,例如 methods
、components
和 directives
,将被合并为同一个对象。两个对象键名冲突时,取组件对象的键值对。
1 | var mixin = { |
全局模式
Python学习笔记
一直没有系统地学习Pyhthon,正好最近学校弄了一个Python的毕业实习,还是不喜欢听培训班的那一套,自购一本蟒蛇书,开始学习Python,此章伊始。
React之PureComponent和memo
其实主要的点是在memo,memo是React16.6.0推出的(另外一个主要的功能就是React.lazy())
memo其实就是PureComponent的Functional component版本
PureComponent的逻辑其实就是把props和state进行了一层浅比较,如果改变了,那么就调用render().如果没有或者只是包含的某个属性发生了改变,就不重新渲染,最后的目的其实就是实现性能的优化.
所以只推荐在拥有简单的props和state的时候,才推荐去使用PureComponent,一旦涉及复杂的数据结构,就有可能出现model层已经更新了,但是view层经过浅对比,觉得不用更新
所以就有forceUpdate( )这个函数来强制更新
1 | import React ,{Component,PureComponent} from 'react' |
Memo其实大差不差
1 |
|
useMemo
有一个问题就是,有时候父组件的某个state更新,导致整个父组件重新render,然后传给子组件的参数由于父组件的重新render导致地址发生了改变
1 | const Child = memo(({data}) =>{ |
例如data重新被定义,所以data的内存地址发生了改变,导致Child组件重新render,但是data本身的值是没有发生改变的,很浪费
React提供了useMemo的方法,render的时候都会把值和上一次的值进行一个比对,如果值发生了变化在触发Child的render函数
1 | const Child = memo(({data}) =>{ |
useCallback的用法(useMemo的语法糖)
useCallback(x=>console.log(x),[m])
等价于
useMemo(()=>(x)=>console.log(x),[m])