- 博客(70)
- 资源 (5)
- 收藏
- 关注
原创 nextcloud——搭建自己的云盘
nextcloud——搭建自己的云盘 最近多家云盘相继关停,费了很多时间才把上面的东西下载到本地,而且各大云盘都限速500KB/s,尤其是百度云上的小电影都变成了8秒。技术宅岂能容忍?是时候搭建自己的私有云盘了!原文来自小宇的博客搭建自己的私有云有什么好处呢?首先没有什么容量、下载速度的限制,而且本地访问速度很快。然后可以和本地的cifs、ftp配合使用来实现多个设备文件共享:比如可以在电视、
2017-03-05 19:05:56
91372
1
转载 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
15143
1
原创 【小宇带你学PostgreSQL内核】第一课:课程简介
如果还想看到更多此类文章,请移步到小宇的博客。http://player.youku.com/embed/XMTg1NzAxNjM4NA==' frameborder=0 'allowfullscreen'>大纲课程简介开发环境内核架构parserrewriteroptimizerexecutoraccessstorage自己动手开发新特性1. 简介课程目标:通过该课程了
2016-12-24 12:58:27
2462
3
原创 c和汇编混合编程
在各种高级语言大行其道的今天为什么要用汇编呢?其实主要的原因有:第一,在C语言在关键地方嵌入汇编可以获得最大的性能提升,比如说一些关键算法;第二,实现硬件相关的功能(这点嵌入式开发经常用到)。第三,不能用C语言实现的特性可以用汇编实现,比如说可以利用lock指令来实现原子操作。 本文介绍了如何把汇编语言嵌入到c语言中的基础,然后给了2个例子。原文:小宇的博客在数据库中,为了实现一些特殊的操作
2016-11-26 21:24:53
1265
原创 深入理解静态链接库和动态链接库
为什么要使用链接库?大概有如下几个原因:1.利用前人为我们写好的库,比如数学库libm.so,免去再造轮子的困扰。2.充分使得程序的模块化,方便开发和后期升级。 3. 减小可执行文件的体积。链接库分为静态链接库、动态链接库。动态链接库还有不同的使用形式。那么他们的区别是什么?在什么情况下使用?编程时需要考虑那些方面呢?原文:小宇的博客静态库 static linking library静态库一般命
2016-11-26 21:22:22
1105
原创 缓冲区溢出的那些事儿
缓冲区溢出是引发程序崩溃的常见原因之一,也常常被黑客利用来发起攻击。缓冲区溢出引发的bug常常难以定位。那么缓冲区溢出问题有什么现象呢?如何找出蛛丝马迹从而何定位缓冲区溢出问题呢?原文:小宇的博客什么是缓冲区?缓冲区就是在程序中开辟的一块区域。这块区域可以在堆上也可以在栈上。int function(){ char buffer1[256]; // 在栈上的缓冲区 char *bu
2016-11-26 21:21:02
812
原创 linux进程改名
在多进程程序中,用ps命令能看到进程的名字。这样能够方便管理,不会因为看到好多同样的进程而不知道他们在干什么而茫然,同时也能避免管理员kill掉错误的进程。原文:小宇的博客比如PostgreSQL刚启动时共有7个进程,通过ps可以清楚的看到每个进程是干什么的。$ ps ax | grep postgres26300 pts/26 S 0:00 ./postgres -D ../da
2016-11-20 21:45:43
2254
原创 linux性能曲线工具
linux下有很多监控工具,如top,free,vmstat等。有一大痛点就是各种工具生成的结果格式不一致,较长一段时间内监控数据量大,人工阅读非常困难。所以写了一个脚本,把各种监控参数输出为一个表格,最后再画出图形。原文:小宇的博客目前脚本能够监控如下内容 1. 平均负载 2. 空闲内存 3. 已用内存 3. 可用内存 4. 缓存中的脏页面 5. 硬盘使用率 6. 进程占用CPU百
2016-11-20 21:44:57
2260
原创 linux查找文件内容
有时候我们需要在一堆文件中查找包含某单词的文件。比如在一堆源码文件中找出来调用一个函数的地方。原文:小宇的博客可以用find,xargs,grep三个命令联合起来实现。find ./ -type f -name *.c | xargs grep "word"find找出当前目录下所有.c的普通文件 xargs将文件名变成参数传入到grep grep打开该文件并找出文件中包含word的行一个脚本
2016-11-20 21:43:57
697
原创 linux把文件放置到剪贴板
如果想要把一个文件中的内容放置到剪贴板,通常的做法是用vim打开文件,然后复制粘贴。有时候文章很长,那么需要多次操作才可以。能不能用一个命令把文件中的内容放置到剪贴板呢?原文:小宇的博客installsudo apt-get install xselhow tocat xxx.txt | xsel -b -i如果还想看到更多此类文章,请移步到小宇的博客。
2016-11-20 21:43:08
4006
原创 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
550
原创 linux中的本地化
linux中显示乱码了怎么办?这时候需要设置对本地化。知其然还要知其所以然,下面一步步来为你截开linux中的本地化的神秘面纱。原文:小宇的博客从locale说起locale翻译过来是本地的意思。linux中的locale工具能够输出当前本地化信息,或者输出所有支持的本地化、编码信息。 在linux中执行locale命令可以显示出当前的本地化信息。$ localeLANG=zh_CN.UTF-
2016-11-20 21:40:44
1524
原创 linux中的僵尸进程
如果一个进程已经退出或者被杀死,但是它的父进程尚未执行wait操作,那么该进程进入僵尸(zombie)状态。这种进程不再参与调度,它的内存也会被释放,但系统不会把它从进程表中删除(top 命令中显示状态为Z)。僵尸在进程等待父进程回收它的退出状态。原文:小宇的博客这篇文章会告诉你: 1. 僵尸进程产生原理。 2. 如何产生僵尸进程。 3. 如何回收僵尸进程。产生僵尸进程根据僵尸进程的定义,我
2016-11-20 21:39:46
528
原创 在linux shell 下切换程序
我们都知道,在 Windows 上我们可以轻松打开多个窗口并用Alt+TAB进行切换。但是在 Linux Shell下如何实现呢?请看下面的介绍。原文:小宇的博客让程序在后台执行命令: & 这个用在一个命令的最后,可以把这个命令放到后台执行。 例如 ./program1 &程序便在后台执行了,此时用户可以继续输入其他命令。把程序放到后台命令:ctrl + z 可以将一个正在前台执行的命令放到
2016-11-20 21:38:55
591
原创 hexo静态博客修改侧边栏
hexo主题默认的侧边栏只有首页、归档、标签这几项。调研了几个比较优秀的博客之后发现,还需要添加关于、搜索、阅读、旅行等等几个侧边栏项目,那么如何在博客里面添加新的侧边栏项目呢?原文:小宇的博客添加关于、留言项目关于、留言这两个项目实际上是利用了hexo的page页面功能。Step1 新建关于页面hexo new page aboutINFO Created: ~/blog/source/ab
2016-11-20 21:36:58
7979
1
转载 Here Document
我们经常需要在shell中新建文件并输入内容,通常的做法有2种。 第一种: 用vim打开一个文件,输入内容,保存并退出。 第二种: 用echo输出重定向:echo “hello world” > a.out。 但是这两种方法都有一定弊端,比如第一种无法在shell脚本里面实现往文件中输入内容。第二种,无法输入多行内容。 如果我们需要在shell脚本中对文件中输入多行内容,这时
2016-11-20 21:35:44
475
原创 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
475
原创 c语言程序输出调试信息
随着服务器的内存逐渐增大,从16GB、32GB逐步拓展到64GB、128GB甚至256GB或更多。大型程序在遇到一些致命错误(比如SIGSEGV段错误、stack overflow)时,受限于磁盘空间大小、IO速度、恢复时间等限制,往往不具备条件把内存映像(coredump)转储到磁盘上,这为后续排查出错原因带来了很大困难。这时候就需要程序在遇到致命错误时,能够及时输出诊断信息。一些语言的运行时,比
2016-11-19 21:41:44
1067
原创 C语言程序的国际化
c语言程序写的时候字符串用英语,基本固定了。那么如果想让别的语言的人使用(比如中文),就得把程序里面的字符串挨个翻译,最后再重新编译一次程序维护起来特别麻烦。那么有什么办法能够让程序显示中文?GNU的gettext项目就是用来做这个的。这篇文章以c语言为例介绍了国际化的gettext。请移步到小宇的博客获取更多技术文章术语.po文件: po,Portable Object,里面记录了翻译内容。
2016-11-19 21:40:36
1018
原创 c和汇编混合编程
c和汇编混合编程 在各种高级语言大行其道的今天为什么要用汇编呢?其实主要的原因有:第一,在C语言在关键地方嵌入汇编可以获得最大的性能提升,比如说一些关键算法;第二,实现硬件相关的功能(这点嵌入式开发经常用到)。第三,不能用C语言实现的特性可以用汇编实现,比如说可以利用lock指令来实现原子操作。 本文介绍了如何把汇编语言嵌入到c语言中的基础,然后给了2个例子。c和汇编混合编程Assem
2016-11-19 21:31:42
1320
原创 在linux SHELL 下切换程序
在linux shell下切换程序我们都知道,在 Windows 上我们可以轻松打开多个窗口并用Alt+TAB进行切换。但是在 Linux Shell下如何实现呢?请看下面的介绍。一、让程序在后台执行命令: &这个用在一个命令的最后,可以把这个命令放到后台执行。例如 ./program1 &程序便在后台执行了,此时用户可以继续输入其他命令。二、把程序放到后台
2015-05-15 18:59:48
2631
原创 用gdb调试mysql
用gdb调试mysqlmysql的源代码很多,估计有百万行以上了,如何能够快速了解其内容,跟踪代码运行是一个好方法。mysql的调试有很多方法,下面来探讨一下用其自带的mysql-test-run命令和gdb调试。首先进入mysql-test/tp1这个目录下面有很多测试用例,就是很多用来测试的sql语句p2新建一个名为example.test的文件,在里面
2015-05-13 21:52:14
5028
原创 线程同步 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
398
原创 动态增大的栈
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
351
原创 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
434
原创 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
1213
原创 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
1182
转载 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
490
转载 linux下LAMP环境搭建
打开终端,也就是命令提示符。我们先来最小化组建安装,按照自己的需求一步一步装其他扩展。命令提示符输入如下命令:1sudo apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server上面的命令是最小化组建安装amp也就是apache2 ,ph
2014-12-30 18:35:59
428
转载 ubuntu下安装Apache+PHP+Mysql
转载自:http://www.comflag.com/2011/05/01/apache-web.htm电影《社交网络》中,facebook创始人马克.扎克失恋后入侵哈佛大学宿舍楼服务器,窃取数据库资料,并在两个小时内完成了一个给校内女生评分的交互网站,该网站一天内点击数过10W,直接导致学校服务器崩溃。。。。。。 其实,构建那样一个网站并不需要很多高深的技术,任何一个有一定网络编程基础的
2014-12-30 18:34:56
342
原创 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
2520
原创 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
385
原创 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
684
原创 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
1131
原创 远程管理局域网里的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
948
C51单片机和电脑串口通信电路图
2011-06-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人