自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李海锋的博客

技术路上共勉!

  • 博客(66)
  • 资源 (1)
  • 收藏
  • 关注

翻译 getopt: linux 下c/c++命令行参数解析

getoptgetopt#include <unistd.h>int getopt(int argc, char * const argv[], const char *optstring);extern char *optarg;extern int optind, opterr, optopt;#include <g...

2018-08-05 12:33:06 1795

原创 网络io之多路复用

selectserver端client端selectserver端server端关键是把server监听套接字srvfd本身当作一个普通套接字,交给select处理。如果对srvfd特殊处理,将会需要非阻塞的accept,然后调用select处理client的连接,这样将两者串行起来了,统一交给select可以实现统一监听,并行操作。把srvfd本身当作一个普通...

2018-07-29 16:53:22 596

翻译 unix网络编程时从write到read发生了什么

1. writepacket transmission in kernel spacepacket transmission in device driver1.1 数据被写入TCP send buff1.2 在TCP send buff里面的数据可用或者ACK被收到时,TCP层构建报文段。1.3 报文段被传递到网络层的IP协议去处理。1.4 IP层将包放入与网卡相关的外出队列qd...

2018-07-24 08:48:11 626

原创 tcp-可靠传输的原理

哪些情况不可靠单个包被损坏单包完整,多包乱序怎么办哪些情况不可靠每次发一个包,单个包被损坏但每次发多个包,单个包没有被你损坏(损坏了由1的情况处理),多个包顺序错乱。单个包被损坏包含三个问题:如何知道一个包有没有被损坏(加校验码,进行校验。校验ok就传递给应用层),发送端如何知道接收端的包的有没有被损坏(会包:接收端校验ok,发ACK;接收端校验失败,回NA...

2018-07-22 18:16:55 864

原创 libkafka的配置项

libkafka的配置项//@fileGlobal configuration properties Property C/P Range Default Description builtin.features * gzip, snappy, ssl, sasl, regex, lz4, sasl_gssapi, sasl_plai...

2018-07-18 20:20:43 4413

原创 unix网络编程中的fd是什么

unix网络编程中的fd是什么 fd全称是file descriptor,维基百科这样描述: In the traditional implementation of Unix, file descriptors index into a per-process file descriptor table maintained by the kernel, that in turn...

2018-07-18 07:59:34 26173

转载 并行编程-文集

Linux进程间通信方式简介

2018-07-17 07:58:10 136

原创 软件开发-资源池

资源池介绍资源池,就是在系统初始的时候创建一组资源,放到一个池子里。需要的时候从资源池里面选一个出来工作,用完了放回去。资源池避免了频繁的创建和销毁系统资源的过程,而系统资源的申请和销毁一般都是比较耗时的。所以,设计好的资源池能提高程序并发程序的性能。常见的资源池有线程池、内存池、网络socket连接池、数据库连接池等。资源池的创建和销毁简单,关键是如何在资源池间进行通信和调度。这里先看看...

2018-07-17 07:30:29 4536

原创 进程和线程的区别

What is the difference between a process and a thread?进程线程最显著的区别是,进程间的内存空间是独立的,同一个进程内的线程间共用同一个虚拟内存空间。 线程间通信可以靠共享的全局变量;但是进程间通信就需要靠消息。What is the difference between a process and a thread?进程...

2018-07-16 08:16:45 183

翻译 tcp三次握手

TCP 三次握手原理,你真的理解吗?tcp_abort_on_overflow 为0表示如果三次握手第三步的时候全连接队列满了那么server扔掉client 发过来的ack(在server端认为连接还没建立起来);1表示第三步的时候如果全连接队列满了,server发送一个reset包给client,表示废掉这个握手过程和这个连接(本来在server端这个连接就还没建立起来)。cat ...

2018-07-15 20:44:58 4065 1

翻译 udp数据包大小问题

参考UDP数据包大小问题 几个关键点: 1. 以太网(Ethernet 在数据链路层)数据帧的长度必须在46-1500字节之间,这个1500字节被称为链路层的MTU(最大传输单元)(已经减去首部和尾部的18字节)这个1500字节就是网络层IP数据报的长度限制.因为IP数据报的首部为20字节,所以IP数据报的数据区长度最大为1480字节.而这个1480字节就是用来放TCP传来的TCP报文段或UD...

2018-07-15 16:31:50 4689 1

原创 tcp ip中的一些术语的含义及其决定方式

MTU maximum transmission unit is the size of the largest protocol data unit (PDU) that can be communicated in a single network layer transaction.The MTU relates to, but is not identical to the maxi...

2018-07-15 15:38:25 476

原创 生成和使用数据库ctags cscope文件

生成和使用数据库ctags cscope文件参考Using Cscope on large projects (example: the Linux kernel) 1. 生成数据库文件:ctags -R --fields=+iaS --extra=+q *mkdir -p ~/.vim/ && ctags --fields=+iaS --extra=+q -R -f ...

2018-07-15 11:37:15 607

原创 网络-tcp报文段首部结构

tcp报文段首部结构基础知识tcp报文段首部结构 tcp首部分为20字节的固定长度首部,和长度可变的选项部分首部。固定长度首部分为5行,每行4字节。首部总体有多长,由固定首部第四行里面的首部长度字段决定(表示有多少个32字节,所以也可以叫首部行数字段)。第一行...

2018-07-15 11:36:07 2618

原创 gcc cas无锁编程和性能测试

[TOC]cas无锁编程介绍gcc文档的5.44 Built-in functions for atomic memory access介绍了一组原子操作,其中有一组compare_and_set函数可以用来实现无锁编程:bool __sync_bool_compare_and_swap (type *ptr, type oldval type newval, ...)type ...

2018-07-13 00:26:22 1725

原创 git push时出现non-fast-forward updates were rejected的问题的解决

详情见git push --help中的NOTE ABOUT FAST-FORWARDS部分什么是FAST-FORWARDS假设远端分支的最新提交为A,本地分支的最新递交为B,只有本地分支上有A且B是在A的基础上修改得到的,此时push上去是一个“fast-forward update from A to B”non-fast-forward场景及解决1. 场景1,多人开发

2018-01-24 14:41:32 798 2

转载 Linux救命之rm to mv

1. 将这几行加入.bashrcif [ -f ~/hisin/rm_to_mv.sh ]; then . ~/hisin/rm_to_mv.sh fi2. rm_to_mv.shalias rm='trash' alias rl='trashlist' alias ur='undelfile' #replave rm with mv file to

2018-01-07 14:17:29 277

原创 git diff出现类似ESC[32的错误显示

解决办法:export LESS=eFRX详见:https://stackoverflow.com/questions/20414596/how-to-get-rid-of-esc-characters-when-using-git-diff-on-mac-os-x-mavericks

2017-12-17 17:11:22 1449

原创 slave冷备迁移出现找不到relay-log的错误

解决mysql 冷备迁移出现的“Slave failed to initialize relay log info structure from the repository”问题

2016-12-22 15:07:16 576

原创 centos上编译perl-5.8.8

参考:https://perlmaven.com/how-to-build-perl-from-source-codehttp://www.cnblogs.com/facome/archive/2013/01/14/2859216.htmlhttps://bugzilla.kernel.org/show_bug.cgi?id=10791详细步骤:下载解压perl-5.8.8,进

2016-11-21 21:20:22 1375

原创 SecureCRT显示中文

session option→Appearance→Character encoding设为UTF-8(应该是文本对应的编码,如GB2312等)

2016-11-10 14:30:18 1701

原创 TokuDB7.5.7-2.4.2TokuDB的几个文件目录

tokudb_data_dirTokuDB表的(的数据文件)存放位置,默认在MySQL的data目录下(datadir)(tokudb表的结构文件也在datadir目录下)tokudb_log_dirTokuDB的redo log目录,默认放在MySQL的data目录下(datadir)(undo log在datadir,binlog有log_bin指定)tokudb_tmp_di

2016-11-02 21:48:18 484

原创 TokuDB7.5.7-2.4.1使用TokuDB时的内存注意事项v1

tokudb_cache_size指定TokuDB自己的cache大小,该值默认会为50%的RAM(?TokuDB will allocate 50% of the installed RAM for its own cache)。在如下集中情况,需要手动配置tokudb_cache_size的值:1 TokuDB和其他占内存型的任务一起跑在同一台机器上一个保收的配置是其他所有任务都在运行

2016-11-02 21:32:01 956

原创 TokuDB7.5.7-2.1使用TokuDB的系统和硬件需求v1

1 操作系统需求TokuDB到目前位置只支持64位的Linux系统(所以现在不支持在window上编译运行)2 硬件需求内存:至少1G;如果想较好性能,建议2G以上。外存:建议为数据目录(tokudb_data_dir)和日志目录(tokudb_log_dir)配置足够大的存储空间。

2016-11-02 20:43:54 299

原创 MySQL变量-binlog_format:决定binlog的存储格式v1

1 global和session都可2 三个值:STATEMENT:sql语句的格式ROW:具体数据行记录的格式MIXED:混合格式

2016-11-02 20:28:33 283

原创 MySQL foreign key的几个注意点

mysql foreign key

2016-09-30 15:25:21 2447

原创 c++ 文章集锦

1 make、cmake、make install、configure各干了啥

2016-09-23 16:31:04 335

原创 vim使用小技巧

1 设置tabset softtabstop=4 shiftwidth=4 tabstop=4 expandtab2 更新tagsrm tags cscope.*ctags -R *cscope -Rbq3 查找是是否区分大小写set ic 和:set noic 来分别设置查找时不区分和区分大小写4 精确匹配查找单词如果你输入 "/the",你也可能找到 "ther...

2016-08-07 11:28:06 275

原创 perl路经详解

perl各种路径详解

2016-08-06 12:06:26 699

原创 vim相关文章整理

vim相关文章

2016-07-26 10:10:29 273

原创 crontab相关文章

crontab

2016-07-21 17:28:59 525

原创 perl相关文章

perl相关好文整理

2016-07-14 19:49:05 452

原创 makedown学习

一级标题二级标题三级标题四级标题五级标题六级标题 无序列表1无序列表2无序列表3 有序列表1有序列表2有些列表3 这是引用 baidu 插入图片 粗体斜体粗斜体分割线代码框public void main() { printf("hah\n"); }表格 tables are col col1 col2 col3 h

2016-07-12 23:53:50 329

原创 mysql 合集

mysql 小技巧合集

2016-07-10 15:28:12 304

原创 bash_history 和 mysql_history

bash_history and mysql_history

2016-07-10 15:25:34 2185

原创 用ssh连接的方式访问virtual-box里面的虚拟机

0 安装ubuntu-server时,software selection时按tab键选择openssh-server1 添加.bash_aliases(clear,ll -h,为了使用方便,非必须,与ssh登录也毫无关系)2 Append the following lines at the end of the file /etc/network/interfaces:auto e

2016-07-05 19:56:07 2914

原创 mysql linux下源码安装错误集锦

1 运行./scripts/mysql_install_db --user=mysql出错现象:[Warning] InnoDB: Doublewrite does not have page_no=0 of space: 0InnoDB: space header page consists of zero bytes in data file ./ibdata1

2016-06-28 22:45:57 432

原创 mysql 配置文件

mysql配置文件

2016-06-28 16:28:43 518

原创 linux 合集

1 查找某个目录下的所有的某类型的文件(如script文件)ls | file -f - | grep script

2016-06-26 17:10:06 350

原创 putty 回滚问题

解决putty回滚条数少问题

2016-06-26 16:40:29 1107

mysql 5.6 document

mysql 5.6 document

2016-06-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除