nextcloud——搭建自己的云盘 nextcloud——搭建自己的云盘 最近多家云盘相继关停,费了很多时间才把上面的东西下载到本地,而且各大云盘都限速500KB/s,尤其是百度云上的小电影都变成了8秒。技术宅岂能容忍?是时候搭建自己的私有云盘了!原文来自小宇的博客搭建自己的私有云有什么好处呢?首先没有什么容量、下载速度的限制,而且本地访问速度很快。然后可以和本地的cifs、ftp配合使用来实现多个设备文件共享:比如可以在电视、
GDB图形界面大PK gdb虽然很强大,但是却略显单调。其实gdb有很多前端图形界面。那么选哪个呢?请看GDB图形界面大PK。原文:http://shenyu.wikiTUIgdb原生的图形模式,支持gdb所有的特性。使用方法:gdb attach pid 之后ctrl+x acgdbhttp://cgdb.github.io/可以认为是TUI模式的增强版,具有代码高亮、查找等等功能。同时也支持gdb所有的特性。 如
【小宇带你学PostgreSQL内核】第一课:课程简介 如果还想看到更多此类文章,请移步到小宇的博客。http://player.youku.com/embed/XMTg1NzAxNjM4NA==' frameborder=0 'allowfullscreen'>大纲课程简介开发环境内核架构parserrewriteroptimizerexecutoraccessstorage自己动手开发新特性1. 简介课程目标:通过该课程了
c和汇编混合编程 在各种高级语言大行其道的今天为什么要用汇编呢?其实主要的原因有:第一,在C语言在关键地方嵌入汇编可以获得最大的性能提升,比如说一些关键算法;第二,实现硬件相关的功能(这点嵌入式开发经常用到)。第三,不能用C语言实现的特性可以用汇编实现,比如说可以利用lock指令来实现原子操作。 本文介绍了如何把汇编语言嵌入到c语言中的基础,然后给了2个例子。原文:小宇的博客在数据库中,为了实现一些特殊的操作
深入理解静态链接库和动态链接库 为什么要使用链接库?大概有如下几个原因:1.利用前人为我们写好的库,比如数学库libm.so,免去再造轮子的困扰。2.充分使得程序的模块化,方便开发和后期升级。 3. 减小可执行文件的体积。链接库分为静态链接库、动态链接库。动态链接库还有不同的使用形式。那么他们的区别是什么?在什么情况下使用?编程时需要考虑那些方面呢?原文:小宇的博客静态库 static linking library静态库一般命
缓冲区溢出的那些事儿 缓冲区溢出是引发程序崩溃的常见原因之一,也常常被黑客利用来发起攻击。缓冲区溢出引发的bug常常难以定位。那么缓冲区溢出问题有什么现象呢?如何找出蛛丝马迹从而何定位缓冲区溢出问题呢?原文:小宇的博客什么是缓冲区?缓冲区就是在程序中开辟的一块区域。这块区域可以在堆上也可以在栈上。int function(){ char buffer1[256]; // 在栈上的缓冲区 char *bu
linux进程改名 在多进程程序中,用ps命令能看到进程的名字。这样能够方便管理,不会因为看到好多同样的进程而不知道他们在干什么而茫然,同时也能避免管理员kill掉错误的进程。原文:小宇的博客比如PostgreSQL刚启动时共有7个进程,通过ps可以清楚的看到每个进程是干什么的。$ ps ax | grep postgres26300 pts/26 S 0:00 ./postgres -D ../da
linux性能曲线工具 linux下有很多监控工具,如top,free,vmstat等。有一大痛点就是各种工具生成的结果格式不一致,较长一段时间内监控数据量大,人工阅读非常困难。所以写了一个脚本,把各种监控参数输出为一个表格,最后再画出图形。原文:小宇的博客目前脚本能够监控如下内容 1. 平均负载 2. 空闲内存 3. 已用内存 3. 可用内存 4. 缓存中的脏页面 5. 硬盘使用率 6. 进程占用CPU百
linux查找文件内容 有时候我们需要在一堆文件中查找包含某单词的文件。比如在一堆源码文件中找出来调用一个函数的地方。原文:小宇的博客可以用find,xargs,grep三个命令联合起来实现。find ./ -type f -name *.c | xargs grep "word"find找出当前目录下所有.c的普通文件 xargs将文件名变成参数传入到grep grep打开该文件并找出文件中包含word的行一个脚本
linux把文件放置到剪贴板 如果想要把一个文件中的内容放置到剪贴板,通常的做法是用vim打开文件,然后复制粘贴。有时候文章很长,那么需要多次操作才可以。能不能用一个命令把文件中的内容放置到剪贴板呢?原文:小宇的博客installsudo apt-get install xselhow tocat xxx.txt | xsel -b -i如果还想看到更多此类文章,请移步到小宇的博客。
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--
linux中的本地化 linux中显示乱码了怎么办?这时候需要设置对本地化。知其然还要知其所以然,下面一步步来为你截开linux中的本地化的神秘面纱。原文:小宇的博客从locale说起locale翻译过来是本地的意思。linux中的locale工具能够输出当前本地化信息,或者输出所有支持的本地化、编码信息。 在linux中执行locale命令可以显示出当前的本地化信息。$ localeLANG=zh_CN.UTF-
linux中的僵尸进程 如果一个进程已经退出或者被杀死,但是它的父进程尚未执行wait操作,那么该进程进入僵尸(zombie)状态。这种进程不再参与调度,它的内存也会被释放,但系统不会把它从进程表中删除(top 命令中显示状态为Z)。僵尸在进程等待父进程回收它的退出状态。原文:小宇的博客这篇文章会告诉你: 1. 僵尸进程产生原理。 2. 如何产生僵尸进程。 3. 如何回收僵尸进程。产生僵尸进程根据僵尸进程的定义,我
在linux shell 下切换程序 我们都知道,在 Windows 上我们可以轻松打开多个窗口并用Alt+TAB进行切换。但是在 Linux Shell下如何实现呢?请看下面的介绍。原文:小宇的博客让程序在后台执行命令: & 这个用在一个命令的最后,可以把这个命令放到后台执行。 例如 ./program1 &程序便在后台执行了,此时用户可以继续输入其他命令。把程序放到后台命令:ctrl + z 可以将一个正在前台执行的命令放到
hexo静态博客修改侧边栏 hexo主题默认的侧边栏只有首页、归档、标签这几项。调研了几个比较优秀的博客之后发现,还需要添加关于、搜索、阅读、旅行等等几个侧边栏项目,那么如何在博客里面添加新的侧边栏项目呢?原文:小宇的博客添加关于、留言项目关于、留言这两个项目实际上是利用了hexo的page页面功能。Step1 新建关于页面hexo new page aboutINFO Created: ~/blog/source/ab
Here Document 我们经常需要在shell中新建文件并输入内容,通常的做法有2种。 第一种: 用vim打开一个文件,输入内容,保存并退出。 第二种: 用echo输出重定向:echo “hello world” > a.out。 但是这两种方法都有一定弊端,比如第一种无法在shell脚本里面实现往文件中输入内容。第二种,无法输入多行内容。 如果我们需要在shell脚本中对文件中输入多行内容,这时
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"
c语言程序输出调试信息 随着服务器的内存逐渐增大,从16GB、32GB逐步拓展到64GB、128GB甚至256GB或更多。大型程序在遇到一些致命错误(比如SIGSEGV段错误、stack overflow)时,受限于磁盘空间大小、IO速度、恢复时间等限制,往往不具备条件把内存映像(coredump)转储到磁盘上,这为后续排查出错原因带来了很大困难。这时候就需要程序在遇到致命错误时,能够及时输出诊断信息。一些语言的运行时,比