在不能科学上网的地方部署 GO Revel 环境

今天在自己的一台新工作机上部署GO 开发环境无意间踩了次坑;之间在那边工作时内网有源且路由层已经为我们开放了科学上网的通道,所以一直没有发觉 golang 的某些支持库在红墙之外的...$go get github.com/revel/revel如果你在地方不能** ,那么在执行 go get github.com/revel/revel 过程中一定会遇到这个错误:package golang.org/x/net/websocket: unrecognized im ...

mgo.v2 操作MongoDB时多条件带正则表达式查询以及分页的处理

项目中需求从全国、省、地市、县三级行政单位,上级可以管理下级,如湖北的管理员登录后可以查出湖北下面所有市的记录。其实这个处理简单我们用每个地方的行政区码的前三位就区分出他们属不属于一个地区,那么在mgo 操作mongodb 时如何处理? 这相当于在MYSQL 中 select  条件中使用 and  not  or 等多条件查询、left(  xxx ,3 )  substring(  xxx ,0 ,3 )&nbs ...

Go 中 mgo.v2 操作MongoDB

前期有一个项目因为历史原因大胆采用了近年窜火非关系型数据库 mongoDB ,据传说它与GO 结合是绝配;好吧,我又掉坑里面了。在go 里面操作mongodb 数据库,使用的引擎是 mgo.v2 ,  它相当于在JAVA 中  JDBC 这么个角色 ,它是 go 与 mongodb 间的通讯接口; 操作指令是由mgo 对象封装方法完成的。按MVC 的规则,首先还是需要有 models ,在此创建对数据库的连接;package models ...

Golang 中调用linux 命令并获取返回结果

这次不用QT 也还是纠结找不到API 被迫直接调用命令, 需要执行命令、等待命令结束;将最后打印在控制台的消息重定向到我们自己的缓冲区中,提取字符串;  相对QT 而言在Golang 中操作要更不清真....func ( conf *ConfigFile )ShellCommand( cmdName string , cmdArgs ...string )([]str ...

Go Revel 模拟上传文件和接收上传文件

曲解的需求原本是这样的:有多台WEB应用服务(  go Revel 开发 )相对独立的工作,有时候可能需要把自己的服务器上的某个文件传给另一台服务器;无需人工参与的完成。本来这个只需要两端各扔一个UDP 或TCP 的模块进行数据块的传输,接收到的数据写入到一个空文件中就能生成出这个需要文件来了。但是某人非要让个接口可以复用,也可以用于最终用户在网页上或者手机客户端、PC 客户端上操作。 那就需要在 revel 服务端上模拟一次网页通过 <input type= ...

Golang 中正则表达式收藏

最近在整理前期工作,发现之前一个程序写好傻,因为业务需要去用程序修改一个linux 下某个服务的配置文件,因为这个文件之前都是运维人员手工维护的,按规范只要一行中间每段用空格隔开就为一个参数值。 人写的时候可能就很随意,有的中间空一格、有时空四格、有时甚至是TAB ,反正就是各种自由;还有就是换行了,人工写的时候中间还有出现空行、连续或不连续的空行;我当时为了处理它,专门写一个方法逐字过滤一遍。其实用好了正则表达式这活就轻松多了。//把字符串中间多个空格替换成一个空格 si ...

在Go Revel 框架下接收网页上传的 Base64 图像数据

前段有个项目中操作人员可以在上传自己照片作为用户图像,网页那边用的现成模板支持照片在线裁切,图片裁切之后会成为一段 Base64 的字符串。服务端是GO 语言下的Revel 框架实现,其实可以直接将收到数据保存在数据库中,网页要显示的时候返回整段字串过去,现在的浏览器都支持显示Base64 的图像了,但是如果用户想把它保存为一个个JPG 文件呢?这样更方便文件的收集整理与外部查看。直接上代码:/** * 接收图像上传 base64 数据流 */ fu ...

Goland 中配置GO Revel 的集成开发环境( 可断点调试 )

Revel是一个开源的 Go 语言  Web 框架; 你可用极为方便使用GO 语言编写WEB 服务端(后端)程序,无需像写JAVA / PHP 一样 写完程序发布还要在Tomcat | Apache 等专门的WEB服务端 上进行,Revel 自身就是一个WEB 服务;程序运行之后即开启了HttpServer 服务( 默认9000 端口 );通过浏览器可以直接访问;revel 框架已经帮我们分离好了MAC 规范 ...