Posts
All the articles I've posted.
获取本地IP地址
Published: at 02:38 AM首先来一种windows和linux平台都支持的 ifdef WIN32 include <boost/asio.hpp> include <boost/asio/ioservice.hpp> else include <stdio.h> include <sys/types.h> include <ifaddrs.h> include <netinet/in.h> include <string.h> include <arpa/inet.h>...
amqp connection framing-error Expected AMQP protocol header
Published: at 03:21 AM使用qpid proton的demo去连接qqpidd (qpid-cpp) version 1.39.0的时候报如下错误: amqpconnectionframing-error AMQP header mismatch Pre standard AMQP connection 'AMQP\x01\x01\x00\x0a' 版本信息如下: Qpid Proton 0.31.0 qpidd (qpid-cpp) vers...
用脚本启停我的go程序
Published: at 12:01 PM用一个脚本来方便编译、启停我的blog程序(go语言编写的),我在程序中使用了github.com/sevlyar/go-daemon这个库来让博客进程在后台运行。具体用法可以看github上的README,它会生成一个文件存放当前运行进程的pid,我这里取名叫:ningtogo.pid。下面就是服务端脚本的编写了。 ...
go channel缓冲的作用
Published: at 06:17 AMgolang中make chan第二个参数设置缓冲区的大小,如果不设置是无缓冲区的。 下面通过一个例子来说明缓冲的作用。 代码如下: package main import ( "fmt" "time" ) var ch = make(chan int) func main() { go sender() time.Sleep(1 time.Second) ...
给mongodb服务增加认证
Published: at 04:31 AM在连接mongodb的时候增加用户名和密码认证,如你需要访问nodeblog库进行认证。 将数据库配置改为不需要认证的方式启动 noauthtrue ./mongod 进入本地数据库 use nodeblog 切换到nodeblog db.createUser({user"lion", pwd"lion", roles{role "readWrite", d...
ERROR child process failed, exited with error number 62
Published: at 04:18 AM今天做了数据库恢复动作,然后重启mongodb的时候出现如下错误: ERROR child process failed, exited with error number 62 解决方法是: 找到dbpath所在的目录删除掉(注意你之前的数据应该有备份),如我的存放在db目录 rm -rf ./db mkdir db 然后重新创建...
go拓扑排序
Published: at 01:15 AM拓扑排序常用来确定一个依赖关系集中,事物发生的顺序。例如,在日常工作中,可能会将项目拆分成A、B、C、D四个子部分来完成,但A依赖于B和D,C依赖于D。为了计算这个项目进行的顺序,可对这个关系集进行拓扑排序,得出一个线性的序列,则排在前面的任务就是需要先完成的任务。 注意...
go反射
Published: at 03:54 PM简单结构 package main import ( "fmt" "reflect" ) type User struct { Id int Name string Age int } func (u User) Say() { fmt.Println("hello, world") } func PrintInfo(o interface{}) { t = reflect.TypeOf(o) fmt.Pri...
go模拟命令行文件拷贝命令
Published: at 01:42 AM通过这个小程序可以熟悉下面这些包和函数: 1. 命令行参数解析(flag); 2. 从命令行读取输入数据(bufio, reader); 3. 文件操作,判断文件是否存在,创建拷贝文件(io, defer); 4. 基本操作(fmt, string) 代码: package main import ( "bufio" "errors" "...
keepalived实现服务高可用
Published: at 09:14 AM目标 同一个程序部署在两台服务器上同时在运行,只有一个主服务在处理业务,当主服务挂了的时候另外一个服务器上的服务继续提供服务,保证业务不中断做到高可用。 问题 每个服务器的IP是不一样的,当服务切换后IP地址也变了,要想客户端对此无感知,keepalived会提供一个...