自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 问答 (2)
  • 收藏
  • 关注

原创 谈谈错误处理

文章目录1. 引言2. 错误/异常2.1. 异常安全2.2. 异常中立 exception neutrality3. C/C++方式4. 进入node.js5. 进入go6. 总结作为程序员要虚心 ——鲁迅这里写的是自己对于错误处理的一些理解,末尾列出了参考文章,如果有侵权,可以联系我修改。如果有写得不对的地方,请重拍!1. 引言错误处理是一个历史很悠久的话题了,其中也有很多相关的文献...

2019-09-30 15:58:23 275

原创 go语言学习:go类型系统

文章目录go语言学习:go类型系统1. 自定义类型1.1. 用户可以使用`struct`自定义结构1.2. 基于已有基础类型声明新类型2、方法3. 类型的本质3.1. 内置类型3.2. 引用类型3.3. 结构类型4. 接口4.1. 实现4.2. 方法集4.3. 嵌入类型(type embedding)4.4. 公开或未公开的标识符go语言学习:go类型系统此文章作者看书《go语言实战》总结而...

2018-11-10 11:33:02 1298

转载 TCP三次握手

三次握手原因:第三次握手——革命斗争中的通信故事在革命战争影片中,经常会看到英勇的解放军战士背着步话机在喊“长江长江,我是黄河,听到请回答。”很明显,这是呼号为黄河的一方想找呼号为长江的另一方说事,为了保证影片的节奏,导演往往把后面的联络过程省略了,其实后面还有两步,长江听到黄河的呼叫后要回答“黄河黄河,我是长江,我听到了你,请回答。”这叫做第二次握手。黄河听到长江的呼

2015-12-11 14:27:32 517

原创 gdb 调试中No symbol “***” in current context解决方法

假设要编译的cpp(或c)为 hello.cpp://hello.cpp#include <iostream>using namespace std;int main() { int i = 0; cout << i << endl;}在centOS6.5环境下运行$ g++ -g hello.cpp -o hello$ gdb hello...(gdb)r...

2015-11-15 16:35:09 13844 3

原创 centOS6.5安装tmux

# yum install libevent-devel ncurses-devel# cd /usr/local/src# wget http://downloads.sourceforge.net/tmux/tmux-1.6.tar.gz# tar zxvf tmux-1.6.tar.gz && rm -rf tmux-1.6.tar.gz# cd tmux-1.6# ./config

2015-10-09 12:10:27 824

原创 centOS6.5上安装mongodb3.0.6

想要在centOS6.5上安装mongodb,搜了网上很多方法,似乎很多都是直接编译mongodb的。感觉有点麻烦,看了mongodb官网的安装方法,在linux系统上很简单(不知道这几种安装方法有什么区别)官网的安装方法参考:Install MongoDB简单来说就是以下命令:# cd /usr/local/src #我习惯安装在这里,可以自己更改# curl -O https://fastdl

2015-10-09 11:49:05 1705

原创 centOS6.5 python升级和安装easy_install,pip

在centOS6.5中,系统自带的python的版本是2.6.6,可在终端用python -V来查询。先要从python2.6.6升级到python2.7版本,可以参考python升级在升级完python后,要安装easy_install。#wget -q http://peak.telecommunity.com/dist/ez_setup.py#python ez_setup.py出现错误:.

2015-09-30 13:53:59 2962

原创 python 9.2 multiprocessing

之前用python的threading来进行多线程编程,对性能确实有提高。但似乎有点复杂,因为要维护一个工作队列,并且要注意死锁问题。python的threading和multiprocessing模块初探介绍了用threading创建多线程和multiprocessing创建多进程的基本方法。 python多线程的限制 python多线程有个讨厌的限制,全局解释器锁(global int

2015-09-03 23:43:38 492

转载 Python性能优化的20条建议

优化算法时间复杂度 算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)。不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想。减少冗余数据 如用上三角或下三角的方式去保存一个大的对称矩阵。在0元素占大多数的矩阵里使用稀疏矩阵表示。合理使用copy

2015-09-03 10:07:52 429

原创 python关于爬虫编码备忘

尝试用python写爬虫,用的是python2.7,个人感觉其他方面还好,就是编码格式方面太蛋疼了。关于python2.7的编码麻烦也可以在网上搜到。似乎python3就没有这种麻烦了(我没用过python3,只是听其他大牛讲的)。既然用了python2.7,那就得自己搞清楚编码格式咯。 首先引用一段材料,来自这里,还可以看看关于Unicode字符集 我们看到的所有字符,在计算机里面都是用01

2015-08-30 22:31:17 466

原创 python自定义包导入

在python项目中经常需要自己定义一个包(package)来进行代码分离,提高可读性。所谓的包实质上是一个文件夹,在文件夹中包含.py文件和一个__init__ .py 文件(可以是空白),我认为可以把 __init__.py文件理解为包的“初始化”。如果没有这个文件,很多python的ide会认为这是个普通的文件夹而不是一个python包。接下来就是基本讲解 假设文件目录如下-b.py -

2015-08-17 14:16:14 326

转载 python装饰器 备份

转载

2015-08-13 10:27:39 270

原创 linux ubuntu 14.04中使用protobuf

linux ubuntu 14.04中使用protobuf关于google protocol buffers 在这就不详细介绍了,要了解的到此了解protobuf源码下载下载完成后终端进入文件夹运行 $./autogen.sh 如果能够运行的话就继续下面步骤; (可怜的我不可以),提示错误为: curl(35)error:140770FC:SSLroutines:SSL23_GET_SE

2015-06-14 12:51:46 943

转载 pthread_testcancel,pthread_cleanup_push,pthread_cleanup_pop,pthread_detach(pthread_self())的作用

比如thread1:执行pthread_mutex_lock(&mutex);//一些会阻塞程序运行的调用,比如套接字的accept,等待客户连接sock = accept(......);            //这里是随便找的一个可以阻塞的接口pthread_mutex_unlock(&mutex);这个例子中,如果线程1执行accept时,线程会阻塞(也就是

2015-05-21 19:39:55 620

原创 关于产品开发的感想

人似乎没到一个阶段就要总结总结,回顾一下当初,展望一下未来(相当官方的说话)。一回想我也很久没有总结、反思了,今天也就趁着有着“雅兴”,来写写博客吧。这半个月是挺煎熬的半个月,和舍友参加了软件创新大赛,本以为没能走那么远,没想到一不小心进了决赛,虽然最后没能拿到冠亚季军,但也是挺高兴的了。     我们的软件产品也是到最后半个月才开始做。之前对服务器、数据库的全然不知,什么python语句、t

2014-12-14 01:41:18 2228

转载 关于c/c++编译过程的参考

c/c++在生成执行文件过程中要经过4个步骤:1.预处理;2.编译;3.汇编;4.链接。          1.预处理:在文件开始编译时编译器将所有带#的(预编译指令)进行处理。预处理会生成.i文件。例如:a.cpp#include #define MAX 1000int main(){ int a = MAX;#if 0 printf("1230");#endi

2014-12-13 09:27:22 467

转载 在Linux安装mysql

安装后出现"mysql_config"not found的问题,需要安装libmysqlclient-dev:对于Ubuntu来说,如果是用apt-get安装MySQL,那么mysql_config是没有包括在Ubuntu的安装包里的。所以我们需要安装一个额外的mysql_config。而libmysqlclient-dev正是包含了mysql_config. 所以,sudo

2014-11-29 17:36:05 475

空空如也

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

TA关注的人

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