beego整合go-bindata

最近蚊子在学习beego,beego是一个开源的golang web开发框架。具体beego相关文档,请移步官方网站。网站开发完成,自然就需要涉及到打包发布的过程。但在看了beego的打包发布后发现,beego并没有将静态文件编译到生成的二进制文件中。对于大型的网站来说,静态文件和二进制分离固然好,可以引用nginx, 单独服务静态文件同时反向代理go动态内容。可对于只有一页的工具类页面,总觉得怪怪的,

以下内容引用自beego文档

发行部署

Go 语言的应用最后编译之后是一个二进制文件,你只需要 copy 这个应用到服务器上,运行起来就行。beego 由于带有几个静态文件、配置文件、模板文件三个目录,所以用户部署的时候需要同时 copy 这三个目录到相应的部署应用之下

beego自身还有个一个工具叫“bee“

bee 工具是一个为了协助快速开发 beego 项目而创建的项目,通过 bee 您可以很容易的进行 beego 项目的创建、热编译、开发、测试、和部署。

其中bee工具有个命令是bale

bale 命令

这个命令目前仅限内部使用,具体实现方案未完善,主要用来压缩所有的静态文件变成一个变量申明文件,全部编译到二进制文件里面,用户发布的时候携带静态文件,包括 js、css、img 和 views。最后在启动运行时进行非覆盖式的自解压。

Continue reading “beego整合go-bindata”

Kubernetes安装笔记

这是一篇介绍如何手动一步一步安装配置kubernetes的文章,主要为了确保读者了解启动kubernetes集群所需的每个任务。

集群信息

 

  • kube master 192.168.66.246 hostname: controller-0
  • kube node1 192.168.65.69 hostname: worker-0
  • kube node2 192.168.64.255 hostname: worker-1
  • pod CIDR 192.168.192.0/18
  • service CIDR 192.168.128.0/23

Continue reading “Kubernetes安装笔记”

linux下查看磁盘分区类型

这两天遇到个需求,要在aws ec2服务器启动的时候自动挂载volume,同时把挂载的磁盘mount到指定的目录,这里就会遇到个问题,如果volume是新创建的,那么再挂载磁盘的时候就会报错,因为磁盘还没有被格式化过。那如果每次挂载前先对磁盘进行格式化,那么如果磁盘上本来有数据,那就都丢了。

这个时候,就需要对磁盘进行一个判断,如果磁盘已经有了分区类型,比如ext3或ext4,说明这块磁盘可以直接被mount而不用格式化,如果查不到分区类型,那就说明是块新盘,需要先格式化再挂载。 Continue reading “linux下查看磁盘分区类型”

在aws ec2机器上查看本机instance ID

今天蚊子遇上个小需求,要使用aws ec2的user-data让机器在启动的时候挂载一个已经存在的ebs volume,这样就需要在机器启动的时候知道自己当前机器的instance-id,其实办法也很简单,只需要安装一个包,运行一条命令就可以实现了

sudo apt-get install cloud-utils

然后运行如下命令

Continue reading “在aws ec2机器上查看本机instance ID”

创建新的独立screen会话执行命令

screen命令想必linuxer都知道并用过,对于那些想要放在前台跑又不想在terminal关掉的时候退出的应用很有用,最近wenzi就遇到一个新需求,我在用aws的cloud-config配置服务器自启动执行脚本的时候,希望在机器初始化之后,紧接着就跑一个脚本。

而且这个脚本我又不想使用nohup的方式跑,于是乎我就想到了screen,经过查看manpage,果然找到了好办法,既能使用screen多次连接的功能,又可以用screen命令直接运行命令并自动退出会话 Continue reading “创建新的独立screen会话执行命令”

MMDrawerController搭配storyboard使用详解

MMDrawerController是一个iOS抽屉式导航控件,支持自定义的过渡动画(滑动,滑动和缩放等)来展示或者隐藏“抽屉”。官方网站:https://github.com/mutualmobile/MMDrawerController

看过MMDrawerController源码和demo的人应该都知道,通篇都是找不到一个storyboard文件或者xib文件的,所有功能实现都是代码。按讨论组里作者的意思,这样更容易在大型项目中使用,可是对于我们个人初中级的开发者来说就有些许的不方便了,大神级的人物完全可以忽略。 Continue reading “MMDrawerController搭配storyboard使用详解”

sinatra使用mysql做为数据库

sinatra,一个轻量级的ruby web框架。如果要写一个不怎么复杂的web小应用,使用这个就在适合不过了。

最近蚊子就自己尝试着写一个小应用,结果在使用mysql这块犯了愁,正常情况下,ruby程序调用mysql还是很容易的,只需要这样做就行了

Continue reading “sinatra使用mysql做为数据库”

rpmlib(FileDigests),rpmlib(PayloadIsXz) is needed解决办法

在RHEL6中,新版的rpm使用了新的file digest algorithms 和 compression algorithms,所以当在RHEL6或centos6环境下编译RHEL5或centos5下使用的rpm包时,就会出现类似如下的错误

     rpmlib(FileDigests) <= 4.6.0-1 is needed by package-23488-1.noarch

     rpmlib(PayloadIsXz) <= 5.2-1 is needed by package-23488-1.noarch

Continue reading “rpmlib(FileDigests),rpmlib(PayloadIsXz) is needed解决办法”

脚本分享–删除指定目录下过期文件

这两天用python写了一个删除指定目录下过期时间的脚本。也可能是我初学python,对python还不够熟习,总觉得这个脚本用shell写应该更简单也更容易些。

就功能上来说,该脚本已经实现了我想要的效果,不过该脚本还不够通用性,还有更多可以完善的地方。目前该脚本在python2.4下运行良好。同时,蚊子在脚本中加入了对python版本的判断,理论上2.7下也应该可以正常使用。有环境的朋友可以帮忙测试一下。

Continue reading “脚本分享–删除指定目录下过期文件”