• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






HelloCsz

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

2018年1月26日

线程模型
摘要: 单线程reactor: 一般由一个event dispatche等待各类事件,而待事件发生后原地调用对应的event handler,全部调用后等待更多事件,故为loop。实质是把多段逻辑按事件触发顺序交织在一个系统线程中,一个even-loop只能使用一个核,故此类程序要么是IO-bound,要么 阅读全文
posted @ 2018-01-26 17:13 HelloCsz 阅读(332) 评论(0) 推荐(0)
 
atomic
摘要: 原子指令:指cpu的执行单元,不会因其他信息被打断。 多核编程注意点: race condition:多线程共同修改同一个cacheline ABA problem:一个线程两次读取一个cacheline值不变,但再第二次读取之前,有一个线程执行更改其值,执行其他工作,然后将其值改回来,欺骗第一个线 阅读全文
posted @ 2018-01-26 16:32 HelloCsz 阅读(268) 评论(0) 推荐(0)
 

2018年1月23日

函数
摘要: wildcard:扩展通配符 notdir:去除路径 patsubst:替换通配符 替换引用规则:obj= $(patsubst %.c,%.o,$(dir) == obj$(dir:%.c=%.o addsuffix:对文件名加后缀$(addsuffix .o $(basename $(SOURC 阅读全文
posted @ 2018-01-23 18:06 HelloCsz 阅读(84) 评论(0) 推荐(0)
 
=、:=、?=、+=
摘要: ”?=“:如果没有被赋值过就赋值 "+=":添加等号后面的值 "="和":=":前者是makefile会将这个makefile展开后再决定变量的值,后者是决定变量在makefile中位置的当前值 阅读全文
posted @ 2018-01-23 17:48 HelloCsz 阅读(128) 评论(0) 推荐(0)
 
submodule
摘要: git submodule init:根据.gitmodules的名称和URL,将这些注册到.git/config内,使用这个指令并不能自动删除.git/config相关内容,必须手动删除 git submodule update:根据已注册(.git/config)的submodule进行更新 g 阅读全文
posted @ 2018-01-23 11:53 HelloCsz 阅读(237) 评论(0) 推荐(0)
 

2018年1月22日

Json必知必会
摘要: Json:JavaScript对象表示法(一个用于表示诸如数字或单词等数据的字符系统),是一种数据交换格式 Json的名称-值对中,名称始终被双引号包裹。 Jason的媒体类型(MIME):application/json Jason的数字类型:正整数、负整数、小数或指数(5.4321e+24) 对 阅读全文
posted @ 2018-01-22 19:55 HelloCsz 阅读(94) 评论(0) 推荐(0)
 

2018年1月20日

Server-pudh
摘要: server push指的是server端发生某事件后立刻向client端发送消息。 远程事件: 和本地事件类似,分为两步:注册和通知,client发送一个代表事件注册的异步RPC至server,处理事件的代码写在对应的RPC回调中,此RPC同时也在等待通知,server收到请求后不直接回复,而是等 阅读全文
posted @ 2018-01-20 19:49 HelloCsz 阅读(242) 评论(0) 推荐(0)
 

2018年1月17日

Init
摘要: 在工作目录下:git init 添加远端仓库:git remote add origin xxx 提取远端仓库到本地仓库:git fetch origin 从本地仓库提取分支到工作目录下:git checkout origin xxx:xxx 阅读全文
posted @ 2018-01-17 11:29 HelloCsz 阅读(159) 评论(0) 推荐(0)
 
About Git
摘要: 本控制(VCS是一种记录一个或者若干文件内容变化,以便将来查阅特定版本修订情况的系统。 RCS(Revision Control System):工作原理基本上就是保持并管理文件补丁(patch),文件补丁是一种特点格式的文件,记录着对应文件修订前后的内容变化,所以根据每次修订后的补丁,rcs可以通 阅读全文
posted @ 2018-01-17 00:56 HelloCsz 阅读(165) 评论(0) 推荐(0)
 

2018年1月16日

syslog架构
摘要: 三种方式:unix域套接字、udp端口514以及特殊的设备/dev/klog 大多数出现调用syslog向/dev/log这个套接字发送日记消息。 Device:发送syslog的设备 Relay:转发syslog的设备(Relay可能只是转发部分接收到的syslog消息,它同时表现为Relay和C 阅读全文
posted @ 2018-01-16 00:25 HelloCsz 阅读(887) 评论(0) 推荐(0)
 

2018年1月14日

Server
摘要: brpc::Server:默认构造后的Server不包含任何服务,也不会对外提供服务,仅仅是个对象。 methods: AddService();SERVER_OWNS_SERVICE/SERVER_DOESNT_OWN_SERVICE区别在于局部变量与动态申请变量 Start();一个server 阅读全文
posted @ 2018-01-14 23:52 HelloCsz 阅读(1433) 评论(0) 推荐(0)
 
ProtoBuf
摘要: proto文件:请求、回复、服务的接口都定义在proto文件中,且方法都是虚函数。 option cc_generic_service= true:标志生成c++类(java/py_generic_service)。 import引入包,pack跟namespace差不多可以对类进行打包。 prot 阅读全文
posted @ 2018-01-14 14:42 HelloCsz 阅读(731) 评论(0) 推荐(0)
 

2017年12月31日

c++必知必会
摘要: 1.数据抽象 构造函数、析构函数、复制构造以及转换(不带explicit单参数构造和转换操作符)。 易于正确使用,难以错误使用。 不要让实现影响类型的接口,wrap函数对实现进行封装。 2.多态 多态类型就是带有虚函数的类类型。 多态对象就是一个具有不止一种类型的对象。 多态基类就是一个为了满足多态 阅读全文
posted @ 2017-12-31 00:20 HelloCsz 阅读(388) 评论(0) 推荐(0)
 

2017年8月31日

effective STL
摘要: 1.标准序列容器 vector/deque/list/string 2.标准关联容器 set/map/multise/multimap 3. 连续内存容器(contiguous-memory container) string/vector/deque 基于节点容器(node-based conta 阅读全文
posted @ 2017-08-31 21:22 HelloCsz 阅读(194) 评论(0) 推荐(0)
 

2017年7月8日

mysql 编码/包大小/创建库/创建用户
摘要: create user 'myclient'@'%' identified by 'myclient'; //创建myclient; % 任意登入ip 密码myclient grant select,insert,update,delete on MYDATABASE.* to myclient; //授权 show variables like 'character_set_%'; //... 阅读全文
posted @ 2017-07-08 18:47 HelloCsz 阅读(119) 评论(0) 推荐(0)
 
sock编程
摘要: 1.port 1-65535(0保留) 2.UDP发送消息最大(65507字节) 3.ipv4 sockaddr_in只是sockaddr结构中数据详细视图,在用到sockaddr的地方都将sockaddr_in 转为sockaddr 4.inet_pton(AF_INET,const char* 阅读全文
posted @ 2017-07-08 16:06 HelloCsz 阅读(230) 评论(0) 推荐(0)
 
Exceptional c++
摘要: 1.带有检测机制的标准库(first是否在与last之前) 2.c++中并不允许对内部类型的临时变量进行修改 3.模板构造函数并不能代替构造函数,其将与其他构造函数一起共同参与重载解析 4.通过异常退出构造函数意味着对象实际从来没有被构造为一个完整对象,即这个对象生命周期没有开始过 5.析构函数、重 阅读全文
posted @ 2017-07-08 15:32 HelloCsz 阅读(311) 评论(0) 推荐(0)
 

2017年7月2日

sort
摘要: #include #include #include "insertion_sort.h" int main() { int data[]={5,7,4,2,8,6,1,9,0,3}; //auto p= upper_bound(data,data+(sizeof(data)/ sizeof(int)),6); //std::cout ForwardIt ... 阅读全文
posted @ 2017-07-02 15:30 HelloCsz 阅读(259) 评论(0) 推荐(0)
 

2017年6月10日

实现UDP高效接收/响应
摘要: 环境Linux g++6.3.0 问题一:一个ip地址如何接收高并发请求 问题二:如何高并发响应消息 发送请求端只能通过ip地址+端口号向服务器发送请求码,所以服务器只能用一个UDP去绑定此ip以及端口号。而如何完成高并发发送响应消息, 谁去发送这个响应消息,接收请求信息的UDP?这就造成其中一个任 阅读全文
posted @ 2017-06-10 16:45 HelloCsz 阅读(8062) 评论(2) 推荐(0)
 
Iterator invalidation(迭代器失效)
摘要: 一.vector 所有读操作、swap、std::swap:都不会引起迭代器失效... clear、operator=、assign:都会引起全部变量迭代器失效 reserve、shrink_to_fit:如果capacity的大小被改变了,则引起全部变量迭代器失效 erase:被删除的变量以及其后 阅读全文
posted @ 2017-06-10 16:35 HelloCsz 阅读(485) 评论(0) 推荐(0)
 
下一页