异常杀手

Gitlab-shell 1.1.0 的 SSH 访问异常

Gitlab-shell 1.1.0 的 SSH 访问异常

从 GitLab 4.2 升级到 5.0,虽然 步骤 有点儿繁琐,但还算是一路绿灯,但最终却遇到了不能以 ssh 方式访问库的问题。搞了几个小时,找了所有能想到的地方,都搞不清楚究竟哪里错了,于是在 github 上给提了个 issue 3578。 问题的情况简单来说就是,ssh -T 成功,但是 git clone/pull/push 却意外失败,另外 http 的方式是成功的,说明应该还是连接的问题。 唯一有可能存在疑问的地方,应该是 gitlab-shell 的版本。检查的时候会报告说需要 1.1.0,而事实根据升级指引中的操作结果是 1.2.0 的。但从 另一个 issue 的说明 看来,可以通过修改 check.rake 来实现“瞒天过海”。 暂停了 gitlab…

Continue reading

转移 VirtualBox ubuntu.vdi 后的网络连接问题

由于磁盘空间的问题,需要迁移 vdi 文件去新的位置。关闭,转移,新建 Ubuntu 虚拟机直接引用转移后的 vdi,其它都保留原有的设置,一切都很好。 唯独启动后,ifconfig 一看就发现问题了,只有本地网络了。 一开始还是以为是 VBox 网络连接的问题,反复试了几次,问题依旧,而其它虚拟机同样的配置却可以正常运作。经过一翻 google,最终从 这里 得到启示。 > sudo mv /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules.bak 删掉应该也是可以的,重启之后问题就解决了。

如果 brew install 撞墙

某强已经无厘头到一定程度了,在进行 brew install pgrep 的时候 ==> Installing proctools ==> Downloading http://downloads.sourceforge.net/project/proctools/proctools/0.4pre1/proctools-0.4pre1.tar.gz curl: (56) Recv failure: Connection reset by peer Error: Download failed: http://downloads.sourceforge.net/project/proctools/proctools/0.4pre1/proctools-0.4pre1.tar.gz … … 翻墙下好之后,放到 ~/Library/Caches/Homebrew/ 就可以继续了。 不过如果多的话还真是挺麻烦的 … … ====== 超级华丽的分割线 2015/7/19 ======…

Continue reading

奇怪的乱码

项目中用到 FreeMarker,在 eclipse 里用 maven 插件 跑 jetty:run,看上去挺美好的。但是一旦修改 FreeMarker 的模版文件(包含中文,UTF-8 编码,无 BOM ),页面一刷新,乱码就出来了。关掉重开可以解决问题。但是总想不明白到底哪里出的问题。 我一开始猜测是 FreeMarker 的读取模版时候的编码问题,经过网上一轮 Google 之后,尝试了各式各样的设置 encoding 方法都不能解决问题。这个问题太困扰了,网上又找不到类似于这种第一轮启动没问题,一修改就出问题的情况,而这个情况在其他人哪里是可以重现的。难道就没有人遇到过?原本只是想简单用用,现在看来得调试进去看看到底出什么问题了。至少需要确认一个问题,究竟是哪个环节出现问题。 又经过一番逐行 debug,得到一个让人惊讶的线索。源代码显示,无论是第几次加载模版,调的都是同一个方法,这部分代码出错的几率不高。而逐行到加载得到模版内容(未经 parse 之前),修改前后加载得到的内容是不一样的,修改后重新加载得到的内容本身就有乱码。 至少,可以还 FreeMarker 一个清白了。凶手又会是谁呢?

解放 WIN7 的 80 端口

貌似是做了什么更新,或者装了 WebMatrix 之后,就发现个怪事情。Nginx 启动不了,报告端口被占。原来为了省事就改了 81,但想想也不能那么回事啊,80 到底在干嘛呢? > netstat -ano 80 端口居然被 PID 为 4 的进程所占据,更令人惊讶的是 PID=4 的是 System! Google 了一番,有说 关闭 “World Wide Web Publishing Service” 的,有说是 关闭 IIS 信息服务 的,更有是 修改注册表 的…… 除了注册表实在不想改,其它都试了下,WWW 发布服务根本没找到,IIS…

Continue reading

IE 中图片大小的误判

IE8 以下的浏览器都会出现这个问题,不致命,但非常影响页面观感。幸运的是,你不一定能遇上。 情景是,图片需要动态加载,根据给出的缩放比例调整显示大小。图片是普通 PNG,只是存放点是多样化的,同样的图片,一个以文件形式存在,另一个是保存于缓存(内存)中,前面都是用 Apache,一个读文件返回,一个做转发,用 IE 访问它们,获取其大小信息,结果竟然是不一样的。 装载图片的代码片段: function loadImg(url, callback) { var img = new Image(); img.src = url; if (img.complete) { console.log("complete"); return callback.call(img, url); } img.onload = function() { img.onload = null;…

Continue reading

Maven build 中启动 JMX Agent

为了监控 JVM,研究了下 VisualVM,但是不知道怎么导出里面的数据,可导出就比较方便做数据比对,而且也不知道怎么控制显示的历史信息跨度。而这两点在 JConsole 中都可以。于是要折腾 JConsole,一开始还不怎么顺利,虽然看上去只是几项配置。 因为在开发过程当中都是使用 mvn jetty:run 启动的。原来以为是这样: mvn jetty:run -Dcom.sun.management.jmxremote.port=9410 \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false 然后使用 jconsole 127.0.0.1:9410 ,提示是 Connection refused 后来了解到,如果 JMX Agent 启动成功的话,会产生一个端口监听。 再执行 netstat -a | grep 9410 ,毫无反应。 网上乱…

Continue reading

IE 中对 toString 的双重标准

使用 for .. in 遍历对象,似乎没什么好说的,不过还是有例外。在各个浏览器里面跑下面的代码: var obj = { toString: function() { return "custom.toString()"; } } for(var i in obj) { alert(i); } 它们都会 alert 一个 toString,除了 IE。一开始还以为是加载慢,后来才认识到,其实 IE 并不把它当成是一个自定义的对象方法。同样的情况也发生在 valueOf() 方法上,可以猜想,IE 可能把它当成是 native 的了。…

Continue reading

Chrome,为什么第二张图片看不见呢?

在测试的时候,建立一个最小测试集对于测试调试是很有帮助的。 为了测试与图片装载相关的内容,建立了下面的页面。内容很简单,就是动态添加两个 IMG。 <html> <head> <title>Test Loading IMG</title> <style>body { background-color: #00F; }</style> </head> <body> <script> function show() { for (var i = 0; i < 2; i++) { var img = new Image(); img.src…

Continue reading

IE 中 png 黑底(半透明失效)的那点事

早有听闻 IE7+ 是支持 png 的,用下来感觉也还可以。但忽然之间,发现有一张 png 图片莫名其妙地黑底了,最先想到的是 png 的输出设置可能出现问题,于是试了 N 种设置黑底,只是黑底的形状有点不太一样,相当纳闷。没办法了,还原基本步。 <div id="box">I Believe</div> <style> #box { background: url(http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png) no-repeat; color: #FFFFCC; text-shadow: 1px 0 2px #897461, 0 1px 2px #897461, 0 -1px 2px #897461,…

Continue reading