0%

JavaScript面向对象

[TOC]

实例方法

Object实例对象,就是定义在Object原型对象上的方法,可以直接被Object实例直接使用

1
2
3
4
Object.prototype.print = function () {
console.log(this);
};
Object().print(); //Object {}

Object本身是一个函数,通过Object()可以把任何数据类型转换为对象

  • 将原始数据类型包装为相应的包装对象是实例
  • 当参数为空时,或者为undefined null 返回的是空对象

instanceof运算符用来判断一个对象是否是某个构造函数的实例

阅读全文 »

种一棵树最好的时间是十年前,其次是现在

非洲经济学家Dambisa Moyo的《dead aid》结束语

只要你兴趣还在,可以一直做,什么时候都不会晚;

阅读全文 »

目录

[TOC]

redis安装

下载redis redis官网 /opt目录下解压

1
tar -zxvf redis-6.0.5.tar.gz

进入redis-6.0.5目录中执行make命令进行编译, 然后再执行make install 命令安装(默认安装在/usr/local/bin目录下)

注意在使用make命令进行编译时可能会报错,gcc老版本不兼容redis6.0以上的版本(升级gcc即可) 查看gcc的版本 gcc -v

升级gcc

CentOS7默认gcc版本4.8.5

1
yum install centos-release-scl
1
yum install devtoolset-7 -y

设置devtoolset-7 为默认的gcc编译器

1
2
# 临时切换系统的gcc版本
scl enable devtoolset-7 bash
1
2
# 永久切换系统的gcc版本
echo "source /opt/rh/devtoolset-7/enable" >>/etc/profile
1
2
# 让配置生效
source /etc/profile

在redis-6.0.5目录下更改redis.conf配置文件,找到general下的deamonize,将no修改为yes(以后台方式运行),保存退出

1
2
3
# redis.conf
# redis密码
requirepass 123456
1
2
3
# 以配置文件方式启动
cd src
./redis-server ../redis.conf
1
2
3
4
5
6
7
./redis-cli -p 6379
ping
# (error) NOAUTH Authentication required.
# 密码认证即可
auth 123456
ping
PONG

图形化界面连接redis

修改redis.conf配置文件

1
2
# 注释掉redis与本地服务器的绑定关系
bind 127.0.0.1
1
2
# 关闭受保护模式
protected-mode no

开放3306端口

1
2
# 测试window是否可以连通Linux中redis端口
telnet 192.168.1.105 6379
1
2
# 若是云服务器设置安全组开放3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent;
1
systemctl restart firewalld;
1
firewall-cmd --reload

重启redis

目录

[TOC]

redis persistence

Redis 的持久化主要有两大机制, 即 AOF (Append Only File) 日志和 RDB 快照

RDB(Redis Database)

内存快照, 就是指内存中的数据在某一个时刻的状态记录

在指定的时间间隔内将内存中的数据集快照写入磁盘, 即快照; 数据恢复时直接将快照文件读入内存中

阅读全文 »

redis

[TOC]

redis基本知识

redis: 一种分布式的内存数据库缓存

NoSQL: Not Only SQL “不仅仅是SQL” 泛指非关系型数据库

单进程

redis默认16个库,下表从开始,初始化使用0号库

大数据时代的三V : Volume(海量) Variety(多样) Velocity(实时)

互联网三高: 高性能 高可用 高扩展

高性能: 响应(低延迟) 吞吐(高吞吐量 高并发)

TPS QPS

amdahl定律

阅读全文 »

Promise

[TOC]

任务队列和事件循环

1
首先js只在一个线程上运行(主线程), 但不代表js只有一个线程, 而js引擎有多个线程, 其他线程都是在后台配合; js内部采用事件循环机制(Event Loop); js在运行时除了一个正在运行的主线程, js引擎还提供了一个任务队列(task queue), 里面放着各种需要当前程序处理的异步任务(其实根据异步任务的类型, 存在多个任务队列, 为了方便理解, 这里只存在一个任务队列), js会去执行所有的同步任务,等到全部的同步任务全部执行完,就会去看任务队列里的异步任务,而如果有满足的异步任务, 那么该异步任务就会进入主线程, 成为同步任务, 执行完后, 下一个异步任务再进入主线程开始执行, 一但任务队列清空,那么该程序也就结束了

异步操作的基本流程控制

阅读全文 »

目录

[TOC]

安装zsh

1
2
# 安装zsh
yum install zsh
1
2
3
4
# 设置默认shell为zsh
chsh -s $(which zsh)
# 切换为bash
chsh -s /bin/bash
阅读全文 »

目录

[TOC]

SpringMVC

SpringMVC环境搭建

pom.xml

1
2
3
4
5
6
7
8
9
10
11
<!--导入Spring MVC开发环境所要的依赖-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>

web.xml

阅读全文 »

目录

[TOC]

安装wget

1
2
# centos 7.x
yum -y install wget

安装PCRE库

1
2
3
4
5
6
cd /usr/local/
wget https://ftp.pcre.org/pub/pcre/pcre-8.00.tar.gz
tar -zxvf pcre-8.00.tar.gz
cd pcre-8.00
./configure
make && make install
阅读全文 »

Linux

[TOC]

UNIX发展史

  • 1969年 美国贝尔实验室的肯.汤姆森(Ken Thompson)在PDP-机器上开发出了UNIX系统
  • 1971年 Dennis M.Ritchie(丹尼斯.里奇)发明了C语言 与ken Thompson一起开发UNIX系统
  • 1973年 UNIX大部分的源码用C语言重写,因此提高了UNIX系统的可移植性

Linux发展史

Linux系统诞生于1993年,由芬兰大学生李纳斯(Linus Torvalds)和后来陆续加入的众多的爱好者共同开发完成。
Linux是开源软件,源代码开放的UnIX

阅读全文 »