Submitted by gouki on 2018, September 22, 9:37 AM
从13年之后就再也没有碰过GO,当时遇到的问题都很妖,所以后来就再也没碰过(为什么我的需求都那么怪?)
重操GO,准备花上1~2周温习,直接上项目吧,这个网址不错:https://github.com/EDDYCJY/blog,简单的教程,等我看完先
Go | 评论:0
| 阅读:9995
Submitted by gouki on 2015, April 23, 12:40 AM
在gogs的release包中,linux_amd64.zip这个包里,scripts目录下没有start.sh这个文件,因此在 执行./scripts/gogs_supvisor.sh文件的时候会直接后/usr/local/bin/gogs_start文件不存在
打开这个gogs_supvisor.sh文件后,发现他会判断/usr/local/bin/gogs_start文件是否存在,如果不存在就将./scripts/start.sh文件复制 过去并改为为gogs_start
然而,scripts目录下并没有这个start.sh文件,这个问题在官方的issue中已经提出并有解决方案:https://github.com/gogits/gogs/issues/1198
解决方案就是:
XML/HTML代码
- oh man sorry for that.
-
- I would suggest install supervisor as init.d somehow doesn't worked for me after trying lot of diffrent combinations. to do that,
-
- sudo apt-get -y install supervisor
-
- and edit its file via
-
- sudo nano /etc/supervisor/supervisord.conf
-
- [program:gogs]
- directory=/home/git/go/src/github.com/gogits/gogs/
- command=/home/git/go/src/github.com/gogits/gogs/gogs web
- autostart=true
- autorestart=true
- startsecs=10
- stdout_logfile=/var/log/gogs/stdout.log
- stdout_logfile_maxbytes=1MB
- stdout_logfile_backups=10
- stdout_capture_maxbytes=1MB
- stderr_logfile=/var/log/gogs/stderr.log
- stderr_logfile_maxbytes=1MB
- stderr_logfile_backups=10
- stderr_capture_maxbytes=1MB
- environment = HOME="/home/git", USER="git"
-
- change directory's to match your installation and user to your git user. and restart the supervisor via,
- sudo service supervisor restart
-
- that's all you need to make gogs start automatically on boot.
看上述内容,修改一下supervisor的配置,加入gogs的配置,注意修改成你自己的路径即可
Tags: gogs
Go | 评论:0
| 阅读:20067
Submitted by gouki on 2014, May 2, 12:44 AM
突然发现好象很久没有写过东西了。自从到了现在的公司,好象很多精力都放在了整理需求和写功能需求上面,代码啥的确实写的少了。
之所以提到nsq是因为我在写东西的时候发现点事情。其实好象可能用nsq处理会更好。
去年在想nsq的时候是写类似聊天室的玩意。当时就在想。nsq的一个topic是不是就相当于一个聊天室?在里面pub和sub,不就是一个正常的聊天过程吗?但最终还是没有用nsq。却自己实现了一个烂玩意
这两天我想到它,是因为nsq很多人还是当成一个队列来处理,那么基于go的队列?
如果我在抓取数据的时候,由主服务器向某一个topic发送要抓取的信息,其他订阅这个topic的程序就可以收到这个信息。然后开始解析并处理。这样是不是可以解决类似于中心服务器和其他采集服务器的事情呢?
然后找了下,phpnsq和pynsq都已经有人实现了。看起来好象是时候可以用它来尝试了?(http://bitly.github.io/nsq/clients/client_libraries.html)
最后提一句:phpnsq用的是reactPHP。
好了,半夜不写东西了。我继续 摸一下,好象nsqadmin有点意思。。
Go | 评论:0
| 阅读:24643
Submitted by gouki on 2013, November 8, 1:22 PM
由于buyvm的内存其实很少,所以我如果跑apache+php,担心会卡。所以我想是不是可以跑个go呢?
这不,我眼睛一闭,就参考http://golang.org/doc/install进行安装了。
然而,运行的时候告诉我:-bash: /usr/local/go/bin/go: No such file or directory
当时我就纳闷了。这是怎么回事?难道他用的类库我没有更新?因为我是11.04的版本。所以我就apt-get update了一下,结果突然看到一条信息:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/natty/main/binary-i386/Packages
细心才能解决问题。
Go | 评论:1
| 阅读:16291
Submitted by gouki on 2013, October 18, 6:57 PM
早期抓取数据都是偷懒用phpquery。用起来真心方便啊。刷刷刷的数据就取回来了。毕竟phpQuery还是相当模拟了jQuery的操作的。但现在在用go。怎么办?
其实go也有类似的工具,比如goquery,但使用起来确实不如phpQuery方便。举个小例子说明一下吧:
获取li数据中的第二个数据,那么jquery一般是这样写:$('li:eq(1)'),phpQuery呢。基本上也这样。pq('li:eq(1)'),但到了goquery就不能这样写了。我开始这样写的时候一直取不到数据。后来 才发现。。原来goquery必须得这样写:doc.Find("li").Eq(1)。虽然phpquery等也有类似方法,但如果放在Find里面不就好了嘛。真是的
OK写个简单的例子。。
XML/HTML代码
- var doc * goquery.Document
- var e error
- if doc, e = goquery.NewDocument(PROXY_FOREIGN_PAGE_URL); e != nil {
- ConsoleLog(e)
- return ;
- }
- doc.Find("tr ").Each(func(i int, ss * goquery.Selection) {
- s := *ss.Find("td");
- if s.Length() == 6 {
- port , _ := strconv.Atoi(s.Eq(1).Text());
- if port > 1 {
- var pInfo ProxyInfo
- pInfo.Ip = IpString(s.Eq(0).Text());
- pInfo.Port = PortString(s.Eq(1).Text());
- ProxyInfoLists = append(ProxyInfoLists , pInfo);
- }
-
- }
- })
goquery的项目地址是:github.com/PuerkitoBio/goquery
Tags: goquery, phpquery
Go | 评论:0
| 阅读:23743