昨晚Server1.6版本上线
Server1.6版本上线,水文与经验总结。
http://chillyc.info/blog/2012/05/11/server-1-dot-6-shang-xian/
Server1.6版本上线,水文与经验总结。
http://chillyc.info/blog/2012/05/11/server-1-dot-6-shang-xian/
不理解cookie的话,那还是相当诡异的…
Cookie的特性:
就先写到这里。
今天server端上线,自己负责的两个server上线,一个更新了依赖,另外一个FIX了一个稳定性问题。当然变化最大的server很快就会上线。话说本产品的最大竞争对手入住中国,本以为有啥大事发生,后来发现只改了个名字。搞出一个中国公司这事情还要瞒着zzzz
然后今天晚上发现微博里好多活动的人。都有做server的潜质呀。
个人感觉还是不要加什么硬类型,什么硬编码,什么字段。map存储是扩展王道。当然弱类型肯定速度慢,但如果这里速度慢不是瓶颈,那不算什么问题。
这周解决的问题颇多,后来发现是自己遗留下的问题颇多。当初的设计想想都是很奇葩的。现在只能愈加奇葩。下个版本重构一下,遗留的能fix的就fix吧。
答辩终于结束,心里压力顿时小许多。filter呀filter, 整合入common吧~
明早倒休…要睡到中午~~~~
好吧,有空出篇技术贴,现在写blog太水了。
Server上线还是没有一次成功。又出了各种小问题。这次主要是由于配置文件线上和milestone不同。以后要diff一下milestone的配置文件和online的配置文件。确认后再上线。
原来的app好好的,结果爆出mismatch url error。
万恶的新浪呀~~~今天本来事情多,结果新浪Oauth2.0接口突然有变化。导致新浪用户无法使用有道云笔记登录,登录就会有mismatch url error。于是今天做hot fix. 一时找不出问题时,客户端登录不上去,但是web可以正常使用。然后经大师兄点拨,对比了一下两个访问新浪的url,终于发现了不同。原因在于某个新浪小白程序猿写程序出了bug。我的callback地址是四级域名(xx.xx.youdao.com)而新浪现在的接口即使绑定了域名,还是只支持三级域名(xx.youdao.com). 以前新浪的小白程序猿还写出来仅接受一个url参数的神奇程序,当然出现这个情况也在意料之中。我时常在想写新浪微博和写新浪微博openAPI的一定不是同一批人。最主要的是新浪更新或者新浪自己挂掉从来不通知开发者。这让人相当费解。只有不要传播谣言啥的专门给开发者发信…他们真有趣。
知道了原因,首先做hot fix.让新浪那边改,那难比登天呀。做第三方这事情还是QQ做得好些。Hot fix比较恶心,不推荐大家学习。虽然只改了一句code,但是是硬编码。Hot Fix之后,所有的客户端就能正常登录了。但是有道云笔记的页面会最终说…其实你没有认证成功的…但是客户端的确是活着好好的。这是为啥…上了趟厕所,灵感来了。有道server完成了跳转,但是因为cookie的domain和callback的域名不一致。所以那个最终页面看到没有带来cookie呀,那肯定登录失败了。但是cookie被client端很好接收。所以也就可以完成登录和获取数据。这就是为啥登录失败了,但是客户端还活着好好的。
然后继续做Hot FIX.后来发现自己编来编去,还是太丑陋。直接叫运维做了一个跳转…然后客户端就活得好好的了。也不会出现登录失败页了。
今天大事小事都赶到一起了。做了一个TTT,本以为写得概括大家就都能听懂,结果大家都听得很朦胧。以后写ppt还是要写细致一些,还要写挑战和为什么要做这件事。嗯嗯,下次会更好…这又让我想到写论文…话说敏姐的致谢中大部分都是在赞美导师…这一定是怕不让毕业…
最近碰到了svn merge
之后,再使用svn diff
产生出来的patch中缺少某些文件的信息。后来发现了原因。使用svn st
查看那些文件信息,类似于:
1 | A src/aa.c |
这样输出的patch中,aa.c是信息是都有的。cc.c也是有的。但是bb.c的信息不存在。主要是存在那个+
. +
的意思是这些文件存在于提交历史中,所以该文件不能再次被diff.但是为什么会存在于提交历史中,这个我就不知道了。
下面是教你如何去掉+
.
使用下面的脚本会方便的去掉各个文件的+
,对于目录的+
是不能去掉的.
1 | #!/bin/sh |
1 | 上面脚本的工作原理是: |
这样所有的A +
状态就变为了A
。这样再使用svn diff
就可以得到完整的diff信息。如果有想法还可以处理一下文件夹。不过review code时,文件夹的意义并不大,所以就没有处理。这里顺便感谢下巧大牛。
今天晚上…或者说今天早上。反正是跨天的.有道云笔记1.5版本正式上线。开始时数据转换花了很长时间。后面基本没有出现什么大问题,主要是id不统一。整到两点钟才算正式搞好。明天早上就不准备去上班了.困…还是把这篇blog写完吧。
####问题:
####新的功能:
####好了…该去睡觉了。
另外今天上线的是有道云笔记1.5正式版…比官方稿件快7-8个小时…
另外地址是有道云笔记1.5
今天把程序从windows上迁移到了linux上。主要遇到到问题是: makeFile, lib库, compile error, 编码 encoding.
####make file
这里其实可以使用eclipse中到cdt插件,然后就可以从eclipse中写c++。挺方便的,同时也解决了make file的问题。因为创建一个c++ 或者 c project,eclipse会自动创建一系列的makefile文件。所以让make file步骤简单无比。
####lib库和include库
这里真的要注意/usr/include和/usr/lib中是否有你想要到文件。当然如果你是纯c代码,可以尝试下只使用/usr/include/c. 当如除了-L libpath, 还有-llibname, 这里的libname其实是libXXXX.so中的XXXX. 不过如果不会写,这里还是会费些劲。还有include路径要使用-I
,每一个路径前都要有一个-I
. 另外还要在eclipse run configurate中的environment中填入LD_LIBRARY_PATH,这个是你要调用的lib库(这个lib库如果不在/usr/lib中,那么就要手工将路径填入到LD_LIBRARY_PATH变量里)。并且在.bashrc中写:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:your_lib_path
####编码
因为windows上最常用到中文编码是GBK,而文件编码最常用到是utf-16el.这里最有可能会出错。在eclipse中或者gcc直接编译,都最好转换为UTF-8编码。文件也需要是UTF-8的编码。否则就会报"程序有游离的XXX, 忽略空字符"等诡异的错误。详见解决方法
####compile error
这个可能就多种多样了。不过有c/c++基础的,应该大部分都可以搞定了。
如果使用eclipse, 直接build project就可以编译成功。然后找到main函数run就可以了。
Today, I met the following problem. I wrote an article, and use rake generate
to generate the site. Then the console reports:
/home/chico/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/psych.rb:148:in `parse’: couldn’t parse YAML at line 3 column 17 (Psych::SyntaxError)
why?
Then I found the reason:
“\” should not be written in title of your article. If you really want to write it, use “\\”