Programmer

初学者的心得

自定义博客皮肤

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

迁移至新的自建博客,欢迎交流学习 :)

http://chenxinshuo.xyz:9000/blog/chenxinshuo 域名没备案,凑合用啊

2018-07-17 17:12:10

阅读数 73

评论数 0

* 编程注意项 *

1.  模块化封装(不使用内部数据) 2.  参数合法性检查(及其处理) 3.  数组越界 4.  参数加 const 提高健壮性 5.  使用 static 函数封装 6.  有意义的常量定义宏提升可读性 7.  代码勤加注释 8.  执行概率高的代码放在前面,提高中靶率

2016-11-19 23:58:15

阅读数 405

评论数 0

* 检讨 *

2016 / 8 / 4 测试用例挨个手打,不要复制(任何)代码 (改了2个小时发现是测试的函数写错了...) 2016 / 11 / 14 使用库函数等必须检查返回值,处理错误码 (...gdb调了4个小时没发现错哪了)

2016-11-19 23:38:21

阅读数 347

评论数 0

Nginx学习笔记 —— 高级数据结构

动态数组ngx_array_t 表示一块连续的内存,其中存放着数组元素,概念上和原始数组很接近// 定义在 core/ngx_array.h typedef struct { void * elts; // 数组的内存位置,即数组首地址 ngx_uin...

2017-08-30 16:59:35

阅读数 330

评论数 0

Nginx学习笔记 —— 基本数据结构

Nginx的一些特点: 高性能 采用事件驱动模型,可以无阻塞的处理海量并发连接 高稳定性 内存池避免了c程序常见的资源泄漏问题 模块化架构使得各个功能模块完全解耦 one master / mutil workers 进程池设计实现了自我监控管理,保证一个worker挂掉也能快速恢复服务 ...

2017-08-23 10:31:16

阅读数 283

评论数 0

C++11 新特性

右值引用&转移语义: 消除两个对象交互时不必要的对象拷贝,节省运算存储资源,提高效率; 能够更简洁明确地定义泛型函数。 https://www.ibm.com/developerworks/cn/aix/library/1307_lisl_c11/final: 显式禁止类被继承de...

2017-08-17 01:49:11

阅读数 1817

评论数 0

Nginx学习笔记(三)

Request: Nginx 中的 ngx_http_request_t 是对一个 http 请求的封装;

2017-08-12 20:46:24

阅读数 168

评论数 0

Linux 系统调用 —— fork()内核源码剖析

系统调用流程简述: fork()函数是系统调用对应的API,这个系统调用会触发一个int 0x80的中断; 当用户态进程调用fork()时,先将eax的值置为2(即__NR_fork 系统调用号); 执行 int $0x80,cpu进入内核态; 执行SAVE_ALL,保存所有寄存器到当前进程内核...

2017-08-02 20:39:11

阅读数 613

评论数 3

Linux 复习笔记

Linux 常用基本命令: 文件 —— cp  rm  mv  tail  mv  more  find  grep 进程 —— ps  kill  jobs  top 管理 —— useradd  userdel  passwd  shutdown  init  halt  reboot 网络 ...

2017-07-29 11:07:01

阅读数 323

评论数 0

地址映射——输出虚拟地址所对应的物理地址

Linux内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。 /proc 是个伪文件系统,它只存在于内存中,不占用磁盘空间。它以文件系统的方式为外部访问内核数据的操作提供接口。 /proc 下还有一些以数字命名的目录,它们是进程目录。系统当前运行...

2017-07-29 09:14:34

阅读数 1337

评论数 0

2017模拟面试题库 —— C++相关

Q:指针和引用的区别? A:在x86 32位 Linux系统下,指针占4个字节; 从底层实现上来看: 1. 引用也是一个指针,创建一个指针和创建一个引用的汇编指令是一样的 int a = 8; 011A5F6E mov dword ptr [a],8 in...

2017-07-15 13:53:34

阅读数 1833

评论数 0

游戏服务器:到底使用UDP还是TCP

本文转载于伯乐在线,原文地址:http://blog.jobbole.com/64638/ 在编写网络游戏的时候,到底使用UDP还是TCP的问题迟早都要面对。 一般来说你会听到人们这样说:“除非你正在写一个动作类游戏,否则你就用TCP吧” 或者是 “你能够在MMO游...

2017-07-13 19:26:15

阅读数 460

评论数 0

面试总结

(2017/9/25 更新 乐信 远程面试)

2017-07-13 15:50:53

阅读数 2636

评论数 1

Nginx学习笔记(二)

Connection: 在Nginx中,connection就是对TCP连接的封装,其中包括连接的socket,读写事件。 Nginx处理连接流程: 1. 解析配置文件,得到需要监听的端口和IP地址; 2. 在 master 中初始化监听 socket -> bind ->list...

2017-07-09 18:06:25

阅读数 179

评论数 0

Nginx学习笔记(一)

Nginx进程模型 1. 多进程模型:     进程间相互独立,无需加锁,且互不影响;     一个进程退出了不影响其他的进程运行,降低风险;     当请求到来,多个worker通过竞争accrpt_mutex而获得注册listenfd读事件,在读事件里调用accept接受连接。 2. 异步...

2017-07-09 14:59:55

阅读数 241

评论数 0

Linux I/O复用 —— epoll部分源码剖析

epoll_creat( ) 1. 在内核注册文件系统eventpollfs,挂载此文件系统 /*  linux一切皆文件,便于处理 若返回指针,指针如果出错则无法判断,而fd可以通过current -> files -> fd_array[ ]找到其真伪 epoll_creat为...

2017-07-08 16:31:00

阅读数 933

评论数 0

2017模拟面试题库 —— Linux系统相关

Q: 请描述一下多线程怎么实现生产者消费者模型 A:

2017-05-30 19:52:51

阅读数 2160

评论数 0

程序员的自我修养 - 编译链接简图

/* 备注 */ 重定位: 找到符号(函数 / 变量)的地址

2017-04-08 18:41:51

阅读数 323

评论数 0

errno.h头文件介绍

查看错误代码errno是调试程序的一个重要方法。当linux C api函数发生异常时,一般会将errno变量(需include errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因。在实际编程中用这一招解决了不少原本看来莫名其妙的问题。比较 麻烦的是每次都要去li...

2017-03-16 17:11:19

阅读数 230

评论数 0

Linux 中的各种栈:进程栈 线程栈 内核栈 中断栈

转载请注明出处: http://kyang.cc/ 栈是什么?栈有什么作用? 首先,栈 (stack) 是一种串列形式的 数据结构。这种数据结构的特点是 后入先出 (LIFO, Last In First Out),数据只能在串列的一端 (称为:栈顶 top) 进行 推入 (push) 和 ...

2017-01-26 13:22:55

阅读数 444

评论数 0

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