自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 操作内存、磁盘访问所需时间笔记

操作内存、磁盘访问所需时间笔记一次内存访问、SSD 硬盘访问和SATA 硬盘随机访问的时间分别约是几十纳秒,几十微秒,几十毫秒。2.访问内存一次是100个时钟周期以上, 访问一次普通的硬盘在几十万盗数百万个时钟周期, ssd速度是普通硬盘的十倍了, 访问一次L1 cache大概是十个时钟周期之内, 访问一次L2 cache在20个时钟周期之内, 访问一次L3 cache在40个时钟周期

2017-03-22 01:28:39 5294

原创 unix编程之信号机制笔记

unix编程之信号机制笔记 信号是进程间通信的一种方式,但是写代码中用到该机制并不多,调试程序时需要掌握些,故大概了解即可一、信号是什么?信号是进程通信方式的一种,应该算是比较古老的一种吧。比较直观的一些用处是,譬如键盘上某个按键被按下(很常用的就是停止进程Ctrl+c的SIGINT),或者譬如系统用来停止某进程(进程管理器发送信号强制关闭进程)、或者系统用信号来处理某些严重的错误(一个进程试

2017-03-30 22:58:54 574

原创 unix多进程编程之exec函数笔记

unix多进程编程之exec函数笔记 运行环境:mac+xcodeexec函数介绍如果fork进程是unix程序员唯一可以创建进程的手段,那么linux性能会非常差,而且只能fork出同样的进程。exec函数就是解决这个问题,它把一个新的程序装载进进程的内存空间,来改变调用进程的执行代码,相当于产生一个新的进程,故通常exec使用方式是先fork一个子进程,然后exec执行进程。PS:exec

2017-03-30 01:53:21 865

原创 获取glibc源码方式

获取glibc源码方式glibc下载源码地址http://ftp.gnu.org/gnu/glibc之后就可以按照[ ] glibc-2.25.tar.bz2 2017-02-05 11:16 20M [ ] glibc-2.25.tar.bz2.sig 2017-02-05 11:16 455 [ ] glibc-2.25.tar.gz 2017

2017-03-30 00:14:51 4295 1

原创 unix多进程编程之fork函数笔记

unix多进程编程之fork函数笔记 运行环境:mac+xcodefork进程介绍fork函数是复制本进程的一个拷贝,生成该进程的子进程。两个进程相同的地方:和该进程相关联的全部数据(包括变量,内存空间,缓冲区,文件描述符等等)程序的执行上下文(execution context),两个进程会从fork后的相同位置开始继续执行两个进程主要不同的地方:pid=fork();中的pid不同

2017-03-29 01:18:25 793

原创 python中的字符数字之间的转换函数

python中的字符数字之间的转换函数int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个浮点数 complex(real [,imag ]) 创建一个复数 str(x ) 将对象 x 转换为字符串

2017-03-28 23:45:55 851

原创 C/C++中的预定义宏简要介绍

C/C++中的预定义宏简要介绍背景在代码的日志中,记录函数的名称、对应日志行数以及文件、日期等信息,是比较普遍的。但如果仅仅为了获取函数名,就在函数体中嵌入字符串,这种方法单调乏味还易导致错误,也会占用不小的代码空间,也会让代码变得难以维护,所以就应运而生了预定义宏,来帮助我们完成对应工作。譬如FUNCTION常用预定义宏//代码文件名__FILE__ //当前代码在对应文件中行数__LINE

2017-03-26 01:19:11 422

原创 查看linux中常用端口

查看linux中常用端口可以通过查看/etc/services文件,每行给出了服务器名和熟知端口号因为端口众多,可以辅助使用grep命令示例查看HTTP使用的端口feiqianyousadeMacBook-Pro:forgeVisitMyblog yousa$ cat /etc/services | grep http# http://www.iana.org/assignments/port

2017-03-24 01:08:10 1232

原创 常用linux命令

常用linux命令1.罗列文件信息ls加强版显示文件信息,譬如大小、修改时间、读写权限等ls -lfeiqianyousadeMacBook-Pro:forgeVisitMyblog yousa$ ls -ltotal 16-rw-r--r-- 1 yousa staff 81 3 2 22:01 README.md-rw-r--r-- 1 yousa staff 249

2017-03-23 23:35:27 731

原创 写代码时容易忽视的性能问题

写代码时容易忽视的性能问题主线程等不要有耗时操作主线程、其他模块回调等函数不要有耗时操作。主线程如果有耗时操作会容易导致阻塞主线程,轻则用户体验下降(但是用户体验其实是最重要的),重则程序崩溃(各种消息队列满);其他模块回调则不建议有耗时操作,除非接口/双方模块有明确协商,否则这种耗时回调通常是各种疑难bug的温床,如果要做耗时操作,建议采用发一条消息给自己,放到消息队列处理任务中完成相应耗时操作,

2017-03-22 01:36:45 433

原创 最近笔试题整理(三)

最近笔试题整理(三)算法题 53:年终奖(京东笔试题)
 题目:小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他需要从左上角开始游戏,每次只能向下或者向右移动一步,到达右下角停止,一路上的格子里的礼物小东都能拿到,请设计一个算法使小东拿到价值最高的礼物。 
 给定一

2017-03-22 01:23:27 975

原创 循环编码笔记

循环编码笔记 最近考虑了下while和for循环,简单整理了一下自己的做法,免得遗忘优先使用for循环,少用while循环不要在循环中改变循环变量的值循环迭代变量优先使用32位整型(如果是32位非负整型注意小于0的溢出)尽最大可能保持while循环体的简介

2017-03-21 00:22:16 629

原创 go提问模板

go提问模板咨询一个人问题如果描述不清晰会让被问的人觉得非常困惑、同时还浪费了很多时间在理解上。为了提升提问的效率,我这里转了一个go邮件列表提问的基本模板,也供自己方便查找基本模板Repro stepsWhat did you expect to see?What did you see instead?What version of Go are you using (go versio

2017-03-16 01:25:47 666

原创 git stash简单介绍

git stash简单介绍 如果你此时在开发一个功能,预计需要1-2天开发完,老大突然跟你说有一个紧急bug需要修复,你不想commit当前代码破坏当前工作,那么这时候该怎么办呢?这里就推荐一个git很不错的功能,git stash功能,暂存你当前的代码,方便你当前去完成其他要紧工作主要命令//暂存当前工作git stash//查看暂存列表git stash list//恢复最近一次暂

2017-03-16 01:17:24 689

原创 最近笔试题整理(二)

最近笔试题整理(二)最近笔试题整理链接(1)最近笔试题整理链接算法题:二叉树遍历(人人网笔试)有如下图所示(左)的一棵二叉树, 请设计一种遍历方式,使得按照如下方式(右)输出各个元素:(从下到上, 从右到左输出, 要求每层之间换行, 同行元素之间用tab分割,写出完整代码)使用广度优先搜索bfs,遍历方式是从右子树开始遍历。遍历节点压栈,遍历之后出栈输出即为所需。边界考虑:如果只有一个节点?没问题

2017-03-16 00:45:02 472

转载 千万不要跟程序员说,你的代码有bug

千万不要跟程序员说,你的代码有bug他的第一反应是你的环境有问题,第二就是你是傻逼不会用吧你要跟他这么说,这个程序运行的怎么运行的跟预期不一样,是我操作有问题吗?这货就会第一反应,我擦,这是不是出bug了?

2017-03-15 01:24:47 14893 4

原创 set_task_state和set_current_state

set_task_state和set_current_state宏定义#define mb() __asm__ __volatile__ ("" ::: "memory")#define set_task_state(tsk, state_value) \set_mb((tsk)->state, (state_value))#define set_current_state(state_value

2017-03-07 00:27:21 2599

原创 解决升级go版本遇到的Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.问题

推荐两个比较值得参考的go开源项目列表这里主要提供两个链接AWESOME-GOAWESOME-GO,一个很全的go语言框架/库/开源软件合集https://github.com/avelino/awesome-go中文版awesome-go相较于AWESOME-GO,主要优点是:中文相较于AWESOME-GO,虽然项目少,但是每个项目有建议介绍,方便新人快速入门地址:https://link.

2017-03-03 00:05:28 18455

原创 推荐两个比较值得参考的go开源项目列表

推荐两个比较值得参考的go开源项目列表这里主要提供两个链接AWESOME-GOAWESOME-GO,一个很全的go语言框架/库/开源软件合集https://github.com/avelino/awesome-go中文版awesome-go相较于AWESOME-GO,主要优点是:中文相较于AWESOME-GO,虽然项目少,但是每个项目有建议介绍,方便新人快速入门地址:https://link.

2017-03-02 00:53:28 8658

原创 推荐一个可以连gmail的邮箱

推荐一个可以连gmail的邮箱http://www.yomail.com好像还行……可以不用开代理,有mac客户端。主要是阅读邮件列表,QQ邮箱感觉体验还是比gmail差了一截。。但是又不想翻墙

2017-03-01 22:03:41 5807

原创 最近笔试题整理

最近笔试题整理排序算法已知数据表A中每个元素距其最终位置不远,为了节省时间,应该采取的算法是()A. 直接选择排序 B. 直接插入排序 C. 堆排序 D. 快速排序当元素基本有序时,插入排序的排序时间在O(n)选B直接选择排序(Straight Select Sorting) 也是一种简单的排序方法,它的基本思想是:第一次从R[0]~R[n-1]中选取最小值,与R[0]交换,第二次从R[1]~

2017-03-01 00:25:37 490

空空如也

空空如也

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

TA关注的人

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