- 博客(26)
- 收藏
- 关注
原创 redis
高性能存储,数据都在内存中。所以高频的小数据都可以往里放等等。数据类型分为list、set、zset、hashIOPS基本是HDD的上千倍所有的操作都是原子的。单个操作是原子性的,多个操作也支持事务,即原子性支持五种数据类型。string、hash、list、set、zset(有序集合)stringset & getHASH(散列表)set & get &...
2019-12-21 17:17:20 154
原创 Tmux指南
Tmux是一个终端复用器,前几天b站看视频偶尔看到有人在用,觉得很高大上,最主要的是能节省时间,提升效率。会话与进程在命令行的使用中,有一种典型的使用方式,就是打开一个窗口,在窗口中输入命令,用户和计算机的这种交互,称为一个会话。会话有一个重要的特点,就是会话是和这次会话中启动的进程联系在一起的。当这次会话完成的时候,也就是说我们关闭了这个界面。那么这个会话中打开的进程也就会随之终止。但是...
2019-12-03 00:27:56 231
原创 Vimum指南【chrome vim插件】
熟悉vim并且打算在chrome中也能使用到相关vim操作的同学可以看这里。我也是vimnum的初使用者。关于vimnum的学习使用我会陆续补充在这里。介绍安装在chrome商店就可以搜索并安装,非常简单故不赘述。4600+五星&github1w+的start实力证明。在我们日常的使用中很多需要鼠标的操作。在这里都能使用vimium来代替,从而提升网页浏览的效率。这是我喜欢她的一个...
2019-12-01 17:00:57 1139
原创 网络——HSTS简单探究
HSTS解释HSTS:HTTP Strict Transport Security (HTPP严格传输安全)是一种互联网安全策略机制,目的是让浏览器强制使用HTTPS与网站进行通信。用来减少会话劫持的风险。作用抵御SSL剥离攻击。防止攻击者阻止用户进入HTTPS页面,窃取信息。不足当用户首次访问某网站是不受HSTS保护的。因为这个时候浏览器还没有收到HSTS,所以仍旧有可能通过HTTP...
2019-07-24 16:37:55 312
原创 数据库安装及基础语句
安装参考外链Centos 6.5下编译安装MySQL 5.6.14 CentOS 7 通过 yum 安装 MariaDB Windows下安装MySQL5.7基础语句语句 功能 mysql -h 127.0.0.1 -P 3306 -u root -p; 连接数据库 create database test1; 创...
2019-02-27 16:12:28 243
原创 OSI模型——物理层
物理层的任务:确定传输媒体的接口的一些特性,比如:机械特性:接口形状,大小,引线数目等电气特性:规定电压范围(-5V---+5V)功能特性:例如规定-5V表示0,+5V表示1过程特性:也称为规程特性,规定连接时各个相关部件的工作步骤。数据通信的基础知识:通信的目的是传送消息。 数据是运送消息的实体。 信号是数据的电气或电磁的表现。 模拟信号--代表消息的参数的取值...
2019-02-27 14:59:59 498
原创 mac进阶指令收集
电源管理:pmset:(power management settings)列出和设置电量管理的设置。其中一部分可以在“节能”中看到,pmset预留的设置更加丰富。pmset中任何的设置都需要root用户来修改。用来设定在不同情况下的电源管理设定:pmset -c #设定用于连接充电器的时候pmset -b #设定用于使用电池的时候...
2019-01-28 13:58:53 924
原创 关于nslookup指令的研究
nslookup在已安装TCP/IP协议的所有电脑上均可以使用,主要用来诊断域名系统(DNS)基础结构的信息,我们可以使用这个指令来对DNS服务器进行检测和排错。示例:nslookup www.google.com回车之后,收到的结果为:Server值使用工具查询之后为本地的DNS服务器。非权威应答就是此域名解析回答是从非实际记录储存DNS Server中获取的域名解...
2019-01-13 15:04:20 1366
原创 TCP三次握手和四次挥手
TCP协议位于网络层。 网络层跟硬件层息息相关,因此具有很多的不稳定因素。 传输层的的处理方式有两种:完全不弥补——UDP协议(无连接的不可靠报文传输)。 完全弥补——TCP协议(面向连接的可靠数据包传递)。三次握手的目的是确定客户端和服务器端使用的通路是畅通的。 ...
2019-01-13 14:27:56 176
原创 bash配置以及bash相关配置文件功能整理
/ect/profile此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/ profile. d目录的配置文件中搜集shell的设置/etc/bashrc为每一个运行bash shell的用户执行此文件.当 bash shell被打开时,该文件被读取.~/.bash_profile每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时...
2019-01-04 22:35:06 263
原创 bind函数和accept函数使用中的常见坑解析
首先先看这两个函数:bind():#include <sys/types.h> /* See NOTES */#include <sys/socket.h>int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);第一个参数sockfd使用的应该是服务器端的socket文件描述...
2019-01-04 22:14:44 1511
原创 XShell连接mac解决中文乱码问题
RT,我的Xshell使用ssh连接上mac之后默认使用的shelll变成了zsh(不知道怎么回事不用ssh连接默认启动的是zsh,而不是bash)并且中文显示都变成了问号。解决步骤:打开zsh配置文件 nano ~/.zshrc 添加语句 export LANG=zh_CN.UTF-8 Ctrl+X,选择yes保存并退出万事大吉!...
2018-12-23 20:53:12 1128
原创 vim指令
目录 Vim的三种基本模式vim正常模式命令集同时打开两个vim窗口 (普通模式下输入)设置语法高亮(普通模式下输入)替换文本快速跳转复制以指定.vimrc文件启动vimVim的三种基本模式 正常/普通/命令模式(Normal Mode): 控制光标移动,字符的删除、复制以及进入Insert mode/last mode模式。 .插入模式...
2018-12-23 17:30:16 233
原创 基于环形队列的生产者消费者模型
之前的Blog基于Queue的生产者消费者模型,已经谈过了基于queue的生产消费模型,其空间是可以动态分配的。而现在是基于固定大小的环形队列重写这个程序。基于环形队列的生产消费模型环形队列采用数组模拟,用模运算来模拟环状特性环形结构起始状态和结束状态都是一样的,不好判断为空或者为满,所以就需要通过计数器或者标记位来判断满或空。另外也可以预留一个空的位置,作为满的状态。 ...
2018-12-23 17:10:28 492
原创 读者写者问题
在编写多线程的时候,有一种情况十分常见。那就是,有些公共数据修改的机会比较少。相比较改写,它们读的机会高很多。通常而言,在读的过程中,往往伴随着查找的操作,中间的耗时很长。给这种代码段加锁,会极大的降低我们程序的效率。为此,我们有一种方法,就叫做读写锁读写锁的行为当前锁状态 读锁请求(读者) 写锁请求(写者) 无锁 可以 可以 读锁 可以 阻塞...
2018-12-20 17:33:05 400
原创 Linux指令——提高(持续更新,Ctrl+F食用更佳)
查看消息队列的信息ipcs -q删除消息队列ipcrm -q [ID值]将错误信息导入到log文件之中(以make为例)make > log 2>&1使用make > log命令是错误的,这样只能将make的信息导入到log中。“>”叫做输出重定向。而输出信息包括两类,一类是往标准输出上输出,一类是往标准错误上输出。使用make >...
2018-12-18 21:46:43 552
原创 POSIX信号量
POSIX信号量和SystemV信号量作用相同,都是用于同步操作,达到无冲突的访问共享资源的目的。但是POSIX信号量可以用于线程同步。(信号量本身是一个临界资源)初始化信号量:#include<semaphore.h>int sem_init(sem_t *sem,int pshared,unsigned int value);参数:sem:需要的信号量。 ps...
2018-12-17 14:57:18 153
原创 基于Queen的生产者消费者模型
生产者和消费者模型图模型解释:生产者消费者模型本质就是通过一个容器来解决两者之间的强耦合关系,生产消费之间不直接通讯,而是通过阻塞队列。生产者生产完数据之后直接交给阻塞队列,消费者需要数据的时候也是直接从阻塞队列中拿。以此来平衡生产者和消费者之间的处理能力。而这个阻塞队列,就是用来给生产者和消费者解耦的。优点:解耦(平衡生产者消费者之间的处理能力) 支持并发 支持忙闲不均(...
2018-12-17 14:13:27 275
原创 linux线程基础概念及多线程编程
Linux中线程的概念:首先,Linux中并不存在真在的线程。Linux中的线程是使用进程来模拟的。在一个进程需要同时运行多个执行流时,linux并不是开辟多个线程来执行,而是通过多个进程来模拟多个线程。Linux中线程的实现原理:首先先看一下张图:此时共有4个线程属于同一个进程,他们的task_struct(Linux中为PCB)不同,但是映射的虚拟地址空间和页表是相同的。所...
2018-11-14 13:19:08 310
原创 Git及Github基础汇总
功能 命令 备注 初始化Git仓库 git init 需要提前cd到你预期的git仓库目录。命令执行之后会在当前目录生成一个.git的隐藏文件,用来追踪管理版本库。 暂存文件 git add [文件名] 如果没有任何显示,则说明添加成功 把文件提交到仓库 git commit 还可以git commit -...
2018-11-02 11:45:14 204
原创 蓝桥杯练习----母牛的故事【提高】
题目描述: 有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?输入: 输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。n=0表示输入数据的结束,不做处理。输出: 对于每个测试实例,输出在第n年的时候母牛的数量。每个输...
2018-11-01 19:13:18 1303
原创 Vim配置
首先,先上一张未经配置过的vim:这是一张未经配置过,即原始安装的7.4版本vim。打开文件之后如下图:一、开始我配置vim的第一步——显示行号&语法高亮&设置空格缩进具体步骤sudo切换到root用户。(root下的配置.vimrc文件会对所有用户生效) 打开用vim打开/etc/vimrc文件,如下图: 这是vim的配置文件。上边有很多参数暂且不管。我们...
2018-10-15 16:40:23 219
原创 Linux指令——基础
Linux常用指令 1.ls指令语法: ls 【选项】 【目录或文件】 常用选项-a:列出目录下的所有文件,包括 . 开头的隐藏文件。 -d: 将目录像文件一样显示,而不是显示其下的文件。比如:ls -d 指定目录。 -l:列出文件的详细信息。 2.cd命令语法: cd 【目录名】 常用选项cd .. :返回上级目录。 cd /home/andr...
2018-10-04 20:08:44 230
原创 磁盘入门学习系列——磁盘的分类
一、 磁盘的分类 从接口的类别来分,分别有: 1、IDE硬盘(Integrated Drive Electronics),本意是把控制器与盘体集成在一起的硬盘驱动器。平常称IDE接口为ATA(Advanced Technology Attachment)接口理论速度上限在100 MB/S左右。 2、...
2018-05-24 16:23:09 6615 3
原创 玄学曲线——GPU呈现模式分析
参考Google的Android Performance Patterns(安卓性能典范)Android Performance Patterns(Android性能典范)Peofile GPU Rendering tool(GPU呈现模式分析),属于GPU Profile工具中的一种...
2018-05-18 20:48:10 8487 1
原创 关于结构体,位断,枚举,联合体相关的总结及内存对齐问题的探究
为什么要对齐内存? 平台(移植)原因:访问任意地址上的任意数据并不是所有硬件平台都能做到的。一些平台只能在某些地址处取特定类型的数据pragram pack(4);pragram pack(4); 性能(硬件)原因:经过内存对齐之后,CPU对内存的访问速度就是大大提升。(访问未对齐的内存,CPU需要执行两次访问操作。而经过对齐之后的内存仅需要一次访问。) 总结:内存对齐本质上就是...
2018-05-10 15:28:32 290
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人