自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

逝无痕——kaidy

静下心来修炼,量变到质变,时间来见证——微积分原理

  • 博客(287)
  • 资源 (2)
  • 收藏
  • 关注

原创 golang中的数组与C中数组的区别

golang中的数组是这样说的: Arrays are values, not implicit pointers as in C.1、数组做参数时, 需要被检查长度.2、变量名不等于数组开始指针!3、不支持C中的*(ar + sizeof(int))方式的指针移动. 需要使用到unsafe包4、如果p2array为指向数组的指针, *p2array不等于p2array[0

2017-05-18 22:35:39 1658

原创 Nginx反向代理支持长连接

Nginx upstream与后端的连接默认为短连接,通过HTTP/1.0向后端发起连接,并把请求的"Connection" header设为"close"。Nginx与前端的连接默认为长连接,一个用户跟Nginx建立连接之后,通过这个长连接发送多个请求。如果Nginx只是作为reverse proxy的话,可能一个用户连接就需要多个向后端的短连接。如果后端的服务器(源站或是缓存服务器)处理并发连

2017-05-12 12:52:58 30802

原创 搭建samba服务器实现Linux磁盘或文件夹映射为 Windows网络磁盘

1、安装sambayum -y install samba samba-client samba-common2、配置sambacp /etc/samba/smb.conf /etc/samba/smb.conf.bak #备份vi/etc/samba/smb.conf在文件末尾添加:[Share]comment = Shared Folder with user...

2017-05-09 19:52:42 4071

原创 Golang编译程序从后台运行,不出现dos窗口

golang编译程序从后台运行,不出现dos窗口的方法如下:配置: go build -ldflags "-H windowsgui"lite IDE配置      菜单 编译→编译配置在“自定义”页面下的 BUILDAGRS 后添加 -ldflags "-H windowsgui"原文地址:http://www.fx114.net/qa-200-456949.aspx

2017-05-04 09:59:20 6959

原创 Golang一键启动程序(windows平台 部署 微服务)

golang编译程序从后台运行,不出现dos窗口参考:https://my.oschina.net/u/173303/blog/174124golang程序调用python脚本参考:http://www.th7.cn/Program/Python/201604/847613.shtmlgolang实现不受限制地随时升级服务的方法参考:http://www.js-code.com

2017-05-02 23:00:17 6226 1

原创 linux下php源码安装步骤

一、下载php源码下载地址:http://cn.php.net/downloads.php二、安装1、将下载的二进制包移动到/usr/local目录,解压缩文件包tar zxvfphp-7.1.4.tar.gz2、进入解压的php文件夹下/usr/local/php-7.1.4,安装依赖,编译安装yum install libxml2 libxml2-devel./...

2017-05-02 19:01:17 10975 1

原创 Nginx运行日志自动切割

所谓自动分割Nginx日志文件,就是指Rotate Nginx log files,即让Nginx每天(或每个星期,可自定义控制)生成一个日志文件,而不是将Nginx所有的运行日志都放置在一个文件中,这样每个日志文件都相对较小,定位问题也更容易。实现自动分割Nginx日志的方法可以参考:http://www.cnblogs.com/wjoyxt/p/4757093.html现在

2017-05-01 16:57:58 23368

原创 Nginx配置基础-概述

Nginx配置文件主要分成四部分:main(全局设置)、server(主机设置)、upstream(上游服务器设置,主要为反向代理、负载均衡相关配置)和 location(URL匹配特定位置后的设置),每部分包含若干个指令。main部分设置的指令将影响其它所有部分的设置;server部分的指令主要用于指定虚拟主机域名、IP和端口;upstream的指令用于设置一系列的后端服务器,设置反向代理及后端

2017-05-01 16:16:57 342

原创 使用nginx反向代理后如何在后台web应用中获取用户ip

问题背景在实际应用中,我们可能需要获取用户的ip地址,比如做异地登陆的判断,或者统计ip访问次数等,通常情况下我们使用request.RemoteAddr就可以获取到客户端ip,但是当我们使用了nginx作为反向代理后,使用request.RemoteAddr获取到的就一直是nginx服务器的ip的地址,那这时应该怎么办?原理解释经过反向代理后,由于在客户端和web服务器之间增加了

2017-05-01 15:02:44 5621 2

原创 Nginx配置基础-proxy_pass

proxy_pass中使用变量问题例如Nginx的一个相对复杂的反向代理设置:location ^~ /wap/{ if ($request_uri ~ /wap/(\d+)/(.+)){ set $bucketid $1; set $params $2; } proxy_pass http://mx$bucketid.test.com:6601/$params;}也可以首

2017-05-01 14:37:54 4001

原创 Nginx配置基础-内置变量

下面是可以用作if判断的全局变量$args : #这个变量等于请求行中的参数,同$query_string$content_length : 请求头中的Content-length字段。$content_type : 请求头中的Content-Type字段。$document_root : 当前请求在root指令中指定的值。$host : 请求主机头字段,否则为服务器名称。

2017-05-01 13:16:50 2250

原创 Nginx配置基础-rewrite

rewrite功能就是,使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向。rewrite只能放在server{},location{},if{}中,并且只能对域名后边的除去传递的参数外的字符串起作用,例如http://seanlook.com/a/we/index.PHP?id=1&u=str 只对/a/we/index.php重写。语法rewrit

2017-05-01 13:11:10 670

原创 Nginx配置基础-location

location表达式类型~ 表示执行一个正则匹配,区分大小写~* 表示执行一个正则匹配,不区分大小写^~ 表示普通字符匹配。使用前缀匹配。如果匹配成功,则不再匹配其他location。= 进行普通字符精确匹配。也就是完全匹配。常规字符串匹配。按前缀匹配。@ 它定义一个命名的 location,使用在内部定向时,例如 error_page, try_filesloc

2017-05-01 12:58:15 389

原创 Nginx配置基础-正则表达式

常用正则. : 匹配除换行符以外的任意字符? : 重复0次或1次+ : 重复1次或更多次* : 重复0次或更多次\d :匹配数字^ : 匹配字符串的开始$ : 匹配字符串的介绍{n} : 重复n次{n,} : 重复n次或更多次[c] : 匹配单个字符c[a-z] : 匹配a-z小写字母的任意一个小括号()之间匹配的内容,可以在后面通过$1来引用,$2

2017-05-01 12:22:26 4224

原创 Nginx学习

Nginx rewrite语法、if语法、内置全局变量、location语法 参考:http://blog.csdn.net/xuxile/article/details/70809291Nginx根据URL定向转发实现负载均衡 参考:http://blog.csdn.net/u010959000/article/details/50730684

2017-04-30 18:07:04 341

原创 Linux查看CPU信息、物理CPU个数、核数、逻辑CPU个数

#查看CPU信息(型号)cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数# 查看物理CPU个数cat /proc/cpuinfo| grep "physical id"| sor

2017-04-28 14:53:30 511

原创 Nginx安装配置(系统平台:CentOS 7.1 64位)

一、安装编译工具及库文件yum -y install make zlib zlib-devel gcc gcc-c++ libtool  openssl openssl-devel pcre pcre-devel(PCRE 作用是让 Nginx 支持 Rewrite 功能)二、安装Nginx1、下载Nginx下载地址:http://nginx.org/,选择稳定版本(例如:

2017-04-28 08:31:29 1907 1

原创 golang实现从串口读取GPS信息

GPS模块的数据格式对GPS模块的数据处理本质上还是串口通信程序设计,只是GPS模块的输出遵循固定的格式,通过字符串检索查找即可从模块发送的数据中找出需要的数据,常用的GPS模块大多采用NMEA-0183 协议。NMEA-0183 是美国国家海洋电子协会(National Marine Electronics Association)所指定的标准规格,这一标准制订所有航海电子仪器间的通讯标

2017-04-25 19:54:09 7589

原创 Go语言实现telnet远程登录

目前的linux服务器默认都未安装telnet服务,如需在linux服务器(如CentOS7)上安装telnet服务,可参考:http://www.centoscn.com/image-text/install/2015/0101/4402.htmltelnet-server默认监听的端口号为23默认情况下,linux不允许root用户以telnet方式登录linux主机

2017-04-14 08:47:09 10403 2

转载 Go语言TCP Socket通信编程

Golang的主要 设计目标之一就是面向大规模后端服务程序,网络通信这块是服务端 程序必不可少也是至关重要的一部分。在日常应用中,我们也可以看到Go中的net以及其subdirectories下的包均是“高频+刚需”,而TCP socket则是网络编程的主流,即便您没有直接使用到net中有关TCP Socket方面的接口,但net/http总是用到了吧,http底层依旧是用tcp socket

2017-04-13 08:49:05 2926

原创 window平台使用bat批处理实现进程守护

window平台使用bat批处理实现进程守护需要用到如下一些知识:一、批处理实现延时一段时间Windows下批处理文件没有像Linux一样的Sleep函数进行延时处理,这里有2种较为实用的方法实现延迟:1、使用WScirpt的sleep功能,精度0.001秒创建vbs延迟文件,然后在批处理文件中调用,使用WScript的 sleep函数,实现sleep的效果。实战:1)

2017-04-10 15:55:29 10045 1

转载 golang slice 切片原理

golang 中的 slice 非常强大,让数组操作非常方便高效。在开发中不定长度表示的数组全部都是 slice 。但是很多同学对 slice 的模糊认识,造成认为golang中的数组是引用类型,结果就是在实际开发中碰到很多坑,以至于出现一些莫名奇妙的问题,数组中的数据丢失了。下面我们就开始详细理解下 slice ,理解后会对开发出高效的程序非常有帮助。这个是 slice 的数据结构,它很

2017-04-08 16:14:13 7801 2

原创 Go语言特性挖掘

1、切片与隐藏数组参考:http://www.jb51.net/article/58379.htm2、range值传递参考:http://www.jb51.net/article/92401.htm3、Go语言修炼之道参考:http://www.jb51.net/article/62728.htm4、Go语言项目列表参考:https://github.com

2017-04-07 23:46:50 310

转载 使用Golang实现简单Ping过程

摘要: Ping的基本原理是发送和接受ICMP请求回显报文,利用Go语言可以轻松实现这一过程,较之C/C++语言,Go的实现过程十分简单,效率和安全性也十分完美。引言    关于各种语言实现Ping已经是大家喜闻乐见的事情了,网络上利用Golang实现Ping已经有比较详细的代码示例,但大多是仅仅是实现了Request过程,而对Response的回显内容并没有做接收。而Pi

2017-03-28 10:45:01 7028

原创 go语言选择语句 switch case

根据传入条件的不同,选择语句会执行不同的语句。下面的例子根据传入的整型变量i的不同而打印不同的内容:switch i { case 0: fmt.Printf("0") case 1: fmt.Printf("1") case 2: fallthrough case 3: fmt

2017-03-15 17:08:03 4946

原创 linux环境部署Spark集群(Standalone Mode)

准备工作           linux系统默认情况下,防火墙软件都是开启的,几乎所有的端口都是不对外开发的,spark集群内的各个节点间的通信需要用到相关的端口,如master节点的--webui-port:8080,worker节点的--webui-port:8081,master节点与worker节点间的通信需要用6066,7077端口,因此需要在防火墙中设置相关规则,开放这些端口,现以

2017-03-11 20:27:26 2258

原创 正则表达式

在我们处理文件时,很多时候会用到查找与替换。当我们想将文件中某一部分替换替换文件中另一部分时,怎么办呢? 下面正则表达式 给我提供方法。正则表达式,提供复杂 并且弹性的查找与替换注意: 不支持多行表达式 (involving \n, \r, etc).1 基本表达式符号解释.匹配任意字符,除了新一行(\n)。也就是

2017-02-16 12:52:14 28079 1

转载 Go语言版crontab

1、cron 表达式的基本格式用过 linux 的应该对 cron 有所了解。linux 中可以通过 crontab -e 来配置定时任务。不过,linux 中的 cron 只能精确到分钟。而我们这里要讨论的 Go 实现的 cron 可以精确到秒,除了这点比较大的区别外,cron 表达式的基本语法是类似的。(如果使用过 Java 中的 Quartz,对 cron 表达式应该比较了解,而且它

2017-02-07 16:28:25 1564

原创 践行之路

Scala IDE 搭建Spark 2开发环境参考:http://blog.csdn.net/wengyupeng/article/details/52807655详解基于maven管理-scala开发的spark项目开发环境的搭建参考:http://blog.csdn.net/pengych_321/article/details/52014249

2016-12-28 23:03:50 494

原创 Linux手动安装sbt步骤

一、下载sbt安装包从sbt官网下载地址:http://www.scala-sbt.org/download.html下载安装包,以sbt-1.2.8.tgz为例。二、安装1、将下载的二进制包移动到/usr/local目录,解压缩文件包tar zxvfsbt-1.2.8.tgzmvsbt-launcher-packaging-0.13.13 sbt //重命名目录2、...

2016-12-28 14:00:30 6265 4

原创 Linux安装hadoop步骤

准备工作需要新增一个名为hadoop的用户,方法如下:1、以root身份登录linux系统,在shell终端中输入如下命令创建用户hadoopuseradd -m hadoop -s /bin/bash2、使用如下命令修改hadoop用户的密码passwd hadoop3、为hadoop用户增加管理员权限visudo在打开的文件中找到“root    ALL=(

2016-12-26 16:23:06 1155

原创 Linux安装Spark2.0.2步骤

一、下载Spark首先我们需要下载Spark安装包,下载地址:http://spark.apache.org/downloads.html,以spark-2.0.2版本为例二、安装1、将下载的Spark安装包放到/usr/local目录,解压缩安装包tar zxvf spark-2.0.2-bin-without-hadoop.tgzmv spark-2.0.2-bin-wit...

2016-12-26 10:18:19 2577

原创 Spark2.0安装

准备工作运行Spark2.0,需要java和scala的支持,JDK至少1.7版本以上,scala至少2.11版本以上,CentOS7.x系统默认只安装了Java JRE,还需要安装Java JDK,并配置好JAVA_HOME变量。安装Spark1、下载安装2、配置Spark环境spark-defaults.conf配置一些jar包的引用。(注意:spark2.0.1版本不再有

2016-12-24 20:06:00 795

原创 文本文件里如何快速在每行头尾都加上指定的内容---正则表达式(一)

有时候我们需要给一个文本文件的每行前面或后面添加一些内容,例如一个文本文件里放了很多的水果的名字,现在我们需要在每个水果的名字前后都加上双引号,并在每一行的结尾都加上逗号。工具Notepad++步骤1、使用Notepad++打开待处理的文本文件苹果桃子香蕉橙子2、使用快捷键Ctrl+H打开“替换对话框”,在每行的开头添加内容勾选左下角的“正则表达式”选项

2016-12-24 12:27:38 25234 3

原创 Linux下MongoDB自动备份

一、创建MongoDB备份目录mkdir -p /data/mongodb_bak/mongodb_bak_nowmkdir -p /data/mongodb_bak/mongodb_bak_list二、新建MongoDB数据库备份脚本(/data/mongodb_bak/MongoDB_bak.sh)#!/bin/bash#backup MongoDB#mongodump命

2016-12-17 15:07:21 8497

原创 MongoDB运行日志自动分割

所谓自动分割MongoDB日志文件,就是指Rotate MongoDB log files,即让MongoDB每天(或每个星期,可自定义控制)生成一个日志文件,而不是将MongoDB所有的运行日志都放置在一个文件中,这样每个日志文件都相对较小,定位问题也更容易。实现自动分割MongoDB日志的方法可以参考:https://docs.mongodb.com/manual/tutorial/rot

2016-12-17 12:27:27 12458 4

原创 Linux定时任务

cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务: /sbin/service crond start //启动服务/sbin/service crond stop //关闭服务/sbin/service crond restart //重启服务/sbin/se

2016-12-17 11:20:55 589

原创 Linux安装Scala步骤

一、下载Scala安装包从scala官方网站地址:http://www.scala-lang.org/download/下载scala二进制包,以2.11.8版本为例二、安装1、将下载的二进制包移动到/usr/local目录,解压缩文件包tar zxvf scala-2.11.8.tgz mv scala-2.11.8 scala   //重命名目录2、设置环境变量vi...

2016-12-15 13:05:52 13014

原创 MongoDB经验分享

一、设置Balancer时间窗口时慎重使用“_waitForDelete”{ "_id" : "balancer", "activeWindow" : { "start" : "00:00", "stop" : "07:30" }, "stopped" : false, "_waitForDelete" : true }因

2016-12-15 10:08:45 401

原创 MongoDB主要启动参数说明

MongoDB主要配置参数--quiet# 安静输出--port arg# 指定服务端口号,默认端口27017--bind_ip arg# 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP--logpath arg# 指定MongoDB日志文件,注意是指定文件不是目录

2016-12-15 09:54:05 600

SecureCRT 7.2.1 x86及注册机

截止至目前最新版本的SecureCRT 7.2.1版本,32位系统专用!含注册机。 SecureCRT 超级经典最好用的终端工具!本人亲自测试,激活成功... 如果不能用,你骂我...

2014-03-20

mc9s12xs128单片机原理文档

超详细细的单片机技术文档,介绍单片机得各个单口是如何使用的

2011-03-25

空空如也

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

TA关注的人

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