- 博客(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 1846
原创 网络io之多路复用
selectserver端client端selectserver端server端关键是把server监听套接字srvfd本身当作一个普通套接字,交给select处理。如果对srvfd特殊处理,将会需要非阻塞的accept,然后调用select处理client的连接,这样将两者串行起来了,统一交给select可以实现统一监听,并行操作。把srvfd本身当作一个普通...
2018-07-29 16:53:22 638
翻译 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 788
原创 tcp-可靠传输的原理
哪些情况不可靠单个包被损坏单包完整,多包乱序怎么办哪些情况不可靠每次发一个包,单个包被损坏但每次发多个包,单个包没有被你损坏(损坏了由1的情况处理),多个包顺序错乱。单个包被损坏包含三个问题:如何知道一个包有没有被损坏(加校验码,进行校验。校验ok就传递给应用层),发送端如何知道接收端的包的有没有被损坏(会包:接收端校验ok,发ACK;接收端校验失败,回NA...
2018-07-22 18:16:55 893
原创 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 4504
原创 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 26522
原创 软件开发-资源池
资源池介绍资源池,就是在系统初始的时候创建一组资源,放到一个池子里。需要的时候从资源池里面选一个出来工作,用完了放回去。资源池避免了频繁的创建和销毁系统资源的过程,而系统资源的申请和销毁一般都是比较耗时的。所以,设计好的资源池能提高程序并发程序的性能。常见的资源池有线程池、内存池、网络socket连接池、数据库连接池等。资源池的创建和销毁简单,关键是如何在资源池间进行通信和调度。这里先看看...
2018-07-17 07:30:29 4783
原创 进程和线程的区别
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 214
翻译 tcp三次握手
TCP 三次握手原理,你真的理解吗?tcp_abort_on_overflow 为0表示如果三次握手第三步的时候全连接队列满了那么server扔掉client 发过来的ack(在server端认为连接还没建立起来);1表示第三步的时候如果全连接队列满了,server发送一个reset包给client,表示废掉这个握手过程和这个连接(本来在server端这个连接就还没建立起来)。cat ...
2018-07-15 20:44:58 4111 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 4796 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 503
原创 生成和使用数据库ctags cscope文件
生成和使用数据库ctags cscope文件参考Using Cscope on large projects (example: the Linux kernel) 1. 生成数据库文件:ctags -R --fields=+iaS --extra=+q *mkdir -p ~/.vim/ &amp;amp;amp;&amp;amp;amp; ctags --fields=+iaS --extra=+q -R -f ...
2018-07-15 11:37:15 636
原创 网络-tcp报文段首部结构
tcp报文段首部结构基础知识tcp报文段首部结构 tcp首部分为20字节的固定长度首部,和长度可变的选项部分首部。固定长度首部分为5行,每行4字节。首部总体有多长,由固定首部第四行里面的首部长度字段决定(表示有多少个32字节,所以也可以叫首部行数字段)。第一行...
2018-07-15 11:36:07 2683
原创 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 1798
原创 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 923 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 315
原创 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 1500
原创 slave冷备迁移出现找不到relay-log的错误
解决mysql 冷备迁移出现的“Slave failed to initialize relay log info structure from the repository”问题
2016-12-22 15:07:16 612
原创 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 1426
原创 SecureCRT显示中文
session option→Appearance→Character encoding设为UTF-8(应该是文本对应的编码,如GB2312等)
2016-11-10 14:30:18 1822
原创 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 512
原创 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 988
原创 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 327
原创 MySQL变量-binlog_format:决定binlog的存储格式v1
1 global和session都可2 三个值:STATEMENT:sql语句的格式ROW:具体数据行记录的格式MIXED:混合格式
2016-11-02 20:28:33 315
原创 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 297
原创 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 355
原创 用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 2959
原创 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 475
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人