自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (5)
  • 收藏
  • 关注

原创 nextcloud——搭建自己的云盘

nextcloud——搭建自己的云盘 最近多家云盘相继关停,费了很多时间才把上面的东西下载到本地,而且各大云盘都限速500KB/s,尤其是百度云上的小电影都变成了8秒。技术宅岂能容忍?是时候搭建自己的私有云盘了!原文来自小宇的博客搭建自己的私有云有什么好处呢?首先没有什么容量、下载速度的限制,而且本地访问速度很快。然后可以和本地的cifs、ftp配合使用来实现多个设备文件共享:比如可以在电视、

2017-03-05 19:05:56 89735 3

转载 GDB图形界面大PK

gdb虽然很强大,但是却略显单调。其实gdb有很多前端图形界面。那么选哪个呢?请看GDB图形界面大PK。原文:http://shenyu.wikiTUIgdb原生的图形模式,支持gdb所有的特性。使用方法:gdb attach pid 之后ctrl+x acgdbhttp://cgdb.github.io/可以认为是TUI模式的增强版,具有代码高亮、查找等等功能。同时也支持gdb所有的特性。 如

2016-12-29 20:16:01 14875 1

原创 【小宇带你学PostgreSQL内核】第一课:课程简介

如果还想看到更多此类文章,请移步到小宇的博客。http://player.youku.com/embed/XMTg1NzAxNjM4NA==' frameborder=0 'allowfullscreen'>大纲课程简介开发环境内核架构parserrewriteroptimizerexecutoraccessstorage自己动手开发新特性1. 简介课程目标:通过该课程了

2016-12-24 12:58:27 2327 4

原创 c和汇编混合编程

在各种高级语言大行其道的今天为什么要用汇编呢?其实主要的原因有:第一,在C语言在关键地方嵌入汇编可以获得最大的性能提升,比如说一些关键算法;第二,实现硬件相关的功能(这点嵌入式开发经常用到)。第三,不能用C语言实现的特性可以用汇编实现,比如说可以利用lock指令来实现原子操作。 本文介绍了如何把汇编语言嵌入到c语言中的基础,然后给了2个例子。原文:小宇的博客在数据库中,为了实现一些特殊的操作

2016-11-26 21:24:53 1112

原创 深入理解PostgreSQL查询优化引擎

原文:小宇的博客

2016-11-26 21:23:35 1852

原创 深入理解静态链接库和动态链接库

为什么要使用链接库?大概有如下几个原因:1.利用前人为我们写好的库,比如数学库libm.so,免去再造轮子的困扰。2.充分使得程序的模块化,方便开发和后期升级。 3. 减小可执行文件的体积。链接库分为静态链接库、动态链接库。动态链接库还有不同的使用形式。那么他们的区别是什么?在什么情况下使用?编程时需要考虑那些方面呢?原文:小宇的博客静态库 static linking library静态库一般命

2016-11-26 21:22:22 1024

原创 缓冲区溢出的那些事儿

缓冲区溢出是引发程序崩溃的常见原因之一,也常常被黑客利用来发起攻击。缓冲区溢出引发的bug常常难以定位。那么缓冲区溢出问题有什么现象呢?如何找出蛛丝马迹从而何定位缓冲区溢出问题呢?原文:小宇的博客什么是缓冲区?缓冲区就是在程序中开辟的一块区域。这块区域可以在堆上也可以在栈上。int function(){ char buffer1[256]; // 在栈上的缓冲区 char *bu

2016-11-26 21:21:02 703

原创 linux进程改名

在多进程程序中,用ps命令能看到进程的名字。这样能够方便管理,不会因为看到好多同样的进程而不知道他们在干什么而茫然,同时也能避免管理员kill掉错误的进程。原文:小宇的博客比如PostgreSQL刚启动时共有7个进程,通过ps可以清楚的看到每个进程是干什么的。$ ps ax | grep postgres26300 pts/26 S 0:00 ./postgres -D ../da

2016-11-20 21:45:43 2123

原创 linux性能曲线工具

linux下有很多监控工具,如top,free,vmstat等。有一大痛点就是各种工具生成的结果格式不一致,较长一段时间内监控数据量大,人工阅读非常困难。所以写了一个脚本,把各种监控参数输出为一个表格,最后再画出图形。原文:小宇的博客目前脚本能够监控如下内容 1. 平均负载 2. 空闲内存 3. 已用内存 3. 可用内存 4. 缓存中的脏页面 5. 硬盘使用率 6. 进程占用CPU百

2016-11-20 21:44:57 2150

原创 linux查找文件内容

有时候我们需要在一堆文件中查找包含某单词的文件。比如在一堆源码文件中找出来调用一个函数的地方。原文:小宇的博客可以用find,xargs,grep三个命令联合起来实现。find ./ -type f -name *.c | xargs grep "word"find找出当前目录下所有.c的普通文件 xargs将文件名变成参数传入到grep grep打开该文件并找出文件中包含word的行一个脚本

2016-11-20 21:43:57 639

原创 linux把文件放置到剪贴板

如果想要把一个文件中的内容放置到剪贴板,通常的做法是用vim打开文件,然后复制粘贴。有时候文章很长,那么需要多次操作才可以。能不能用一个命令把文件中的内容放置到剪贴板呢?原文:小宇的博客installsudo apt-get install xselhow tocat xxx.txt | xsel -b -i如果还想看到更多此类文章,请移步到小宇的博客。

2016-11-20 21:43:08 3902

原创 linux中的硬链接和软链接

建立硬链接和软链接在linux中我们通过ln命令来建立硬链接和软链接,默认是建立硬链接,加上-s参数那么建立的就是软链接。原文:小宇的博客$ echo "Hello world" > a$ ln a a_hard_link$ ln -s a a_soft_link建立好之后,用ls命令看一下,记得加上-i这样我们就可以看到inode号了$ls -ali19796575 -rw-rw-r--

2016-11-20 21:41:41 502

原创 linux中的本地化

linux中显示乱码了怎么办?这时候需要设置对本地化。知其然还要知其所以然,下面一步步来为你截开linux中的本地化的神秘面纱。原文:小宇的博客从locale说起locale翻译过来是本地的意思。linux中的locale工具能够输出当前本地化信息,或者输出所有支持的本地化、编码信息。 在linux中执行locale命令可以显示出当前的本地化信息。$ localeLANG=zh_CN.UTF-

2016-11-20 21:40:44 1441

原创 linux中的僵尸进程

如果一个进程已经退出或者被杀死,但是它的父进程尚未执行wait操作,那么该进程进入僵尸(zombie)状态。这种进程不再参与调度,它的内存也会被释放,但系统不会把它从进程表中删除(top 命令中显示状态为Z)。僵尸在进程等待父进程回收它的退出状态。原文:小宇的博客这篇文章会告诉你: 1. 僵尸进程产生原理。 2. 如何产生僵尸进程。 3. 如何回收僵尸进程。产生僵尸进程根据僵尸进程的定义,我

2016-11-20 21:39:46 447

原创 在linux shell 下切换程序

我们都知道,在 Windows 上我们可以轻松打开多个窗口并用Alt+TAB进行切换。但是在 Linux Shell下如何实现呢?请看下面的介绍。原文:小宇的博客让程序在后台执行命令: & 这个用在一个命令的最后,可以把这个命令放到后台执行。 例如 ./program1 &程序便在后台执行了,此时用户可以继续输入其他命令。把程序放到后台命令:ctrl + z 可以将一个正在前台执行的命令放到

2016-11-20 21:38:55 543

原创 hexo静态博客修改侧边栏

hexo主题默认的侧边栏只有首页、归档、标签这几项。调研了几个比较优秀的博客之后发现,还需要添加关于、搜索、阅读、旅行等等几个侧边栏项目,那么如何在博客里面添加新的侧边栏项目呢?原文:小宇的博客添加关于、留言项目关于、留言这两个项目实际上是利用了hexo的page页面功能。Step1 新建关于页面hexo new page aboutINFO Created: ~/blog/source/ab

2016-11-20 21:36:58 7775 1

转载 Here Document

我们经常需要在shell中新建文件并输入内容,通常的做法有2种。 第一种: 用vim打开一个文件,输入内容,保存并退出。 第二种: 用echo输出重定向:echo “hello world” > a.out。 但是这两种方法都有一定弊端,比如第一种无法在shell脚本里面实现往文件中输入内容。第二种,无法输入多行内容。 如果我们需要在shell脚本中对文件中输入多行内容,这时

2016-11-20 21:35:44 423

原创 golang web编程之——读取csdn最新文章

利用go语言内置的各种网络包可以方便的进行web编程。本文章利用了csdn的开放API实现读取最新文章的需求。演示了go语言发起http get请求和json的umarshing特性。原文:小宇的博客简单的http GET请求go语言内置了net/http包,采用http.Get能够方便的发起GET请求package mainimport ( "fmt" "io/ioutil"

2016-11-20 21:30:44 430

原创 c语言转汇编语言shell脚本

最近在学习汇编,为了方便写了一个shell脚本,用来把c语言转换为汇编语言。很方便。

2016-11-19 21:42:55 4079 2

原创 c语言程序输出调试信息

随着服务器的内存逐渐增大,从16GB、32GB逐步拓展到64GB、128GB甚至256GB或更多。大型程序在遇到一些致命错误(比如SIGSEGV段错误、stack overflow)时,受限于磁盘空间大小、IO速度、恢复时间等限制,往往不具备条件把内存映像(coredump)转储到磁盘上,这为后续排查出错原因带来了很大困难。这时候就需要程序在遇到致命错误时,能够及时输出诊断信息。一些语言的运行时,比

2016-11-19 21:41:44 1000

原创 C语言程序的国际化

c语言程序写的时候字符串用英语,基本固定了。那么如果想让别的语言的人使用(比如中文),就得把程序里面的字符串挨个翻译,最后再重新编译一次程序维护起来特别麻烦。那么有什么办法能够让程序显示中文?GNU的gettext项目就是用来做这个的。这篇文章以c语言为例介绍了国际化的gettext。请移步到小宇的博客获取更多技术文章术语.po文件: po,Portable Object,里面记录了翻译内容。

2016-11-19 21:40:36 941

原创 c和汇编混合编程

c和汇编混合编程 在各种高级语言大行其道的今天为什么要用汇编呢?其实主要的原因有:第一,在C语言在关键地方嵌入汇编可以获得最大的性能提升,比如说一些关键算法;第二,实现硬件相关的功能(这点嵌入式开发经常用到)。第三,不能用C语言实现的特性可以用汇编实现,比如说可以利用lock指令来实现原子操作。 本文介绍了如何把汇编语言嵌入到c语言中的基础,然后给了2个例子。c和汇编混合编程Assem

2016-11-19 21:31:42 1217

原创 在linux SHELL 下切换程序

在linux shell下切换程序我们都知道,在 Windows 上我们可以轻松打开多个窗口并用Alt+TAB进行切换。但是在 Linux Shell下如何实现呢?请看下面的介绍。一、让程序在后台执行命令: &这个用在一个命令的最后,可以把这个命令放到后台执行。例如 ./program1 &程序便在后台执行了,此时用户可以继续输入其他命令。二、把程序放到后台

2015-05-15 18:59:48 2567

原创 用gdb调试mysql

用gdb调试mysqlmysql的源代码很多,估计有百万行以上了,如何能够快速了解其内容,跟踪代码运行是一个好方法。mysql的调试有很多方法,下面来探讨一下用其自带的mysql-test-run命令和gdb调试。首先进入mysql-test/tp1这个目录下面有很多测试用例,就是很多用来测试的sql语句p2新建一个名为example.test的文件,在里面

2015-05-13 21:52:14 4915

原创 返回本地变量的指针是很危险的

\

2015-02-04 15:25:06 769

原创 线程同步 mutex

#include#include#include#include#includepthread_mutex_t mutex;char c[]="Hello world!\n";void function_a(){ int i; int len=strlen(c); //wiping working area pthread_mutex_lock(&mutex

2015-02-02 17:24:13 365

原创 动态增大的栈

C语言写的stack能够push的时候动态增长。每次扩大一倍:2,4,8,16,32,。pop的时候还能自动释放地址。#ifndef _MY_STACK_H_#define _MY_STACK_H_#include#include#include /*memset(void *s, int c, size_t n)*/#define _DEBUG_/*type for

2015-01-31 17:29:44 318

原创 mysql 远程连接的那些事

mysql 远程连接的那些事mysql安装好默认是不能远程建立连接的,只能在建立本机的连接(只监听本机的3306端口)。1.查看是否能远程连接如果发现mysql只监听127.0.0.1的连接,那么就只能本地访问啊2.修改mysql配置文件,允许远程连接sudo vim /etc/mysql/my.cnf注释掉bind-address

2015-01-30 18:35:14 397

原创 mysql 源码下载、编译、安装

1.源码下载1.1在主机上配置好git环境,sudu apt-get install1.2从git上下载源码~$ git clone https://github.com/mysql/mysql-server.git Cloning into 'mysql-server'...remote: Counting objects: 1035465, done.remote: To

2015-01-28 09:15:22 1141

原创 C#用socket和linux服务器通信,发送struct 类型数据

C#用socket和linux服务器通信,发送struct 类型数据最近有个需求,是在windows平台上通过socket传输struct类型的数据到linux服务器上。因为C#貌似没有直接传输struct类型的内置方法,需要一些处理。需要传输的数据如下://sensor msg structstruct sensor_st{ char sname[256]; dou

2015-01-06 11:20:33 1129

转载 Subversion Quick-Start Guide

Subversion Quick-Start Guide“Please make sure your seat backs are in their full, upright position and that your tray tables are stored. Flight attendants, prepare for take-off….”What fol

2015-01-05 16:40:32 446

转载 linux下LAMP环境搭建

打开终端,也就是命令提示符。我们先来最小化组建安装,按照自己的需求一步一步装其他扩展。命令提示符输入如下命令:1sudo apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server上面的命令是最小化组建安装amp也就是apache2 ,ph

2014-12-30 18:35:59 397

转载 ubuntu下安装Apache+PHP+Mysql

转载自:http://www.comflag.com/2011/05/01/apache-web.htm电影《社交网络》中,facebook创始人马克.扎克失恋后入侵哈佛大学宿舍楼服务器,窃取数据库资料,并在两个小时内完成了一个给校内女生评分的交互网站,该网站一天内点击数过10W,直接导致学校服务器崩溃。。。。。。 其实,构建那样一个网站并不需要很多高深的技术,任何一个有一定网络编程基础的

2014-12-30 18:34:56 308

原创 linux C/S 架构 shell图形化 聊天室

Linux下的shell聊天室:里程碑0:1、基于C/S架构的聊天室,分为客户端和服务器。2、客户端登陆时输入服务器IP、port、 昵称不能重复里程碑1:3、可以群发消息或指定接收人4、admin账号可以踢人5、新加入用户可以看到聊天历史记录里程碑2:5、可以互传文件6、保存聊天信息里程碑3:7、第一次登录时,需要注册。技术设计:1

2014-12-28 19:38:41 2448

原创 C mySQL编程 linux

1 先看看效果输入相关设置,就能显示查询结果。2 注意的几个问题2.1 汉字的显示 (参考http://my.oschina.net/mjRao/blog/100661)今天在linux下用C++封装了一下mysql数据库的连接,在执行 mysql_query(connection,  sql_str.c_str())时,查询得到的汉字是乱码。 最后在网上查阅资料发现需

2014-12-17 13:31:44 356

原创 mysql输入中文乱码怎么办,字符集。

mysql输入中文乱码怎么办?跑一跑下面的命令,然后再重新导入数据。SET character_set_client = utf8 ;SET character_set_connection = utf8 ;SET character_set_database = utf8 ;SET character_set_results = utf8 ;SET character

2014-12-17 12:02:05 651

原创 c语言转汇编的脚本 在linux下

无图无真相。如题。。。源代码#!/bin/bashif [ "$#" = "0" ] ; then echo 'help: c2asm FILENAME' exit 1;fiif [ -f "$1" ] ; then echo 'check file ok!'else echo 'c2asm: file no

2014-12-07 18:10:54 1096

原创 远程管理局域网里的Linux主机

1 配置固定IP为了防止修改错误无法挽回,建议先备份配置文件sudo cp /etc/network/interfaces /etc/network/interfaces.bak再用root权限打开配置文件sudo vim /etc/network/interfaces修改为以下内容address对应的就是固定IP地址netmask是子网掩码gateway是

2014-12-07 11:32:53 874

原创 利用mySql处理数据——把数据按照指定时间间隔导出

1.Txt

2014-11-25 11:30:51 6882

原创 如何在老机器上用U盘安装linux

最近研究所淘汰了一台老旧电脑,

2014-11-24 18:29:03 2361

MMIX可视化汇编器 MMIXVD 计算机编程艺术鼎力推荐

MMIX Visual debugger

2015-01-30

matlab中fft的用法及注意事项

matlab中fft的用法及注意事项。这个描述的很详细,还有代码可以看。再穷也要下个啊,才2分啊。

2012-12-17

MATLAB在IIR滤波器设计中的应用

MATLAB在IIR滤波器设计中的应用。这个描述的很详细,还有代码可以看。再穷也要下个啊,才2分啊。

2012-12-17

C51单片机和电脑串口通信电路图

单片机C51单片机和电脑串口通信电路图单片机C51单片机和电脑串口通信电路图单片机C51单片机和电脑串口通信电路图单片机C51单片机和电脑串口通信电路图

2011-06-02

空空如也

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

TA关注的人

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