简单结构 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模拟命令行文件拷贝命令
通过这个小程序可以熟悉下面这些包和函数: 1. 命令行参数解析(flag); 2. 从命令行读取输入数据(bufio, reader); 3. 文件操作,判断文件是否存在,创建拷贝文件(io, defer); 4. 基本操作(fmt, string) 代码: package main import ( "bufio" "errors" "...
keepalived实现服务高可用
目标 同一个程序部署在两台服务器上同时在运行,只有一个主服务在处理业务,当主服务挂了的时候另外一个服务器上的服务继续提供服务,保证业务不中断做到高可用。 问题 每个服务器的IP是不一样的,当服务切换后IP地址也变了,要想客户端对此无感知,keepalived会提供一个...
git github代理
家里电脑下载github代码太慢只有几KB,临时使用免费的蓝灯来下载。 打开蓝灯的网页找到左上角点开菜单找到Settings然后ADVANCED SETTINGS找到http proxy地址,我的是:127.0.0.1:50705 打开命令行窗口执行如下脚本打开关闭github代理 open_github_proxy.sh !/bi...
双击exe阻止程序启动
有些程序不希望用户双击直接运行,而是由其他的程序调用启动。 根据main函数的传参可以简单的实现这个需求,用户双击运行的话参数argc为1,argv为程序运行的路径。 这里通过另外一种方法来实现,不依赖于传参。 在main函数里获取父进程的ID 判断父进程ID是否为expl...
device-mapper-libs安装docker失败
在centos7上使用如下命令安装docker所需要的包失败了 sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 失败日志如下: Error: Package: 7:device-mapper-libs-1.02.135-1.el7_3.4.x86_64 (@updates) Requires: devi...
go mod graph 图表
我们知道通过go mod graph命令可以输出当前工程的模块依赖图,但是这个输出是纯文本的并且只是简单的一对一的关系。 很难看出所有模块之间的依赖关系,如果能用图的形式来显示就清晰多了。 [Graphviz](https://www.ibm.com/developerworks/cn/aix/library/au-aix-graphv...
go 获取bing壁纸地址
必应首页背景图片每天一更新,如果想把它作为桌面壁纸好像没那么简单,它没有提供直接下载的地方也不能右键保存,但是通过分析网页源代码可以拿到我们要的信息。 地址:[https://ningto.com/bing](https://ningto.com/bing) 历史图片: [https://ningto.com/bingimages...
golang Options可变参数接口设计
golang中发现不少第三方库使用...Options作为接口参数,说不上这种方式有多好但是了解下也是不错的。 如下代码新建一个exchange,一个必填参数其他的是可选参数。 cassandraql package main import "fmt" type Options struct { Name string Kind string D...
VritualBox centos NAT、Host-Only网络配置
下面配置NAT和Host-Only这两种网卡可以实现外网访问,虚拟机之间互通 虚拟机安装 ![Snipaste_2019-10-10_13-35-06_1.png](https://www.ningto.com/upload/Snipaste_2019-10-10_13-35-06_1.png) ![Snipaste_2019-10-10_13-36-04_2.png](https://www.ningto.com/up...
centos rpm使用方法
在 Linux 操作系统下,几乎所有的软件均通过RPM 进行安装、卸载及管理等操作。RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux 下软件包的软件。Linux 安装时,除了几个核心模块以外,其余几乎所有的模块均通过RPM 完成安装。RPM 有五种操作模式,分别...
centos基础环境准备
ifconfig发现没有网卡 vi /etc/sysconfig/network-scritps/ifcfg-eth0 修改ONBOOT=yes 启动网络卡 service network restart ifconfig检查一下,发现eth0存在 ping www.baidu.com是通的 crontab编辑 crontab -e hostname修改 vi /etc/syscon...
QNetworkAccessManager http请求
使用QNetworkAccessManager可以发起http请求,下面列举三种常见的场景: get请求 这个很简单传一个url就可以了 QNetworkReply reply = manager_->get(QNetworkRequest(QUrl(url))); post请求 这里post数据使用表单的形式 QUrl aurl(url); QNet...
go 分批读取http应答数据
我们读取http应答通常用: ioutil.ReadAll(resp.Body) 很好用也很方便,但是如果应答的包很大时(下载文件),不仅会分配很大的内存而且慢。 所以我们需要分批读取,每次读取一块直到所有应答读取完成。 代码如下: func ReadChunk(r io.Reader, maxChunkSize int, ...
linux C++进程CPU占用100%排查
现象 使用top -c命令查看发现某个进程的CPU一直100%以上,第一反应就是查看日志,如果发现某一处频繁打印日志,那么恭喜你很容易就定位到问题所在了,如果查看日志发现没什么异常请继续往下看。 出现问题的线程 进程ID你应该已经知道了,下一步要找到出现问题的线程ID,...
linux C++内存优化
在linux上你会发现明明我的内存都释放了但是进程占用的内存还是没降下来,而在windows上就没有这种情况。这涉及到linux上内存分配原理([参考](http://blog.sina.com.cn/s/blog_b4ef897e0102vg0l.html))。 在linux系统下,一块内存被C的free函数或者C++的delete函数显式释...
mysql备份、恢复表
备份恢复单个表 dump mysqldump db_name table_name > table_name.sql 远程dump mysqldump -u <db_username> -h <db_host> -p db_name table_name > table_name.sql 恢复 mysql -u <user_name> -p db_name mysql> source <full_path>/table_name.s...
centos7监控网卡流量
安装 yum install iftop -y 查看网卡流量 iftop -i eth0 监控特定ip的流量 监控某个特定IP的带宽访问情况: iftop -i eth0 -B -F 182.92..20 显示182.92..20这个IP与服务器的网卡eth1交互的数据量,单位是Byte。 退出 q 显示界面说...
C++ 智能指针简单实现
此实现仅做学习之用,生产中不要使用,可以使用std::shared_ptr和boost::shared_ptr。 代码很少相信大家都看得懂。 template<class T> class SmartPtr { struct Counter { Counter() : count(1){} int count; }; public: Smart...
什么是云计算,大数据,人工智能
> 作者:刘超 > > www.cnblogs.com/popsuper1982/p/8505203.html 原标题:不是技术也能看懂云计算,大数据,人工智能 我今天要讲这三个话题,一个是云计算,一个大数据,一个人工智能,我为什么要讲这三个东西呢?因为这三个东西现在非常非常的火,它们之间好...