坚信科学,分享技术

2018全新版本,未来在blog.54chen.com更新博客!

>>>尝试更加利于阅读的2014版科学院,以后都在新版上写。

Yearly Archives: 2011

54chen Twitter memo 2011-02-06

写完《米聊春节应急手册》,群发了下,下午准备离开北京,进入春节状态。 # http://blog.sina.com.cn/s/blog_4c174bee0100q0dr.html 一个找回曾经真情的米聊用户,关键词:中科院,姑娘,小姐,齐人之福,没做啥不该做的。 # 54chen Twitter memo 2011-01-30 http://goo.gl/fb/esQjJ #

Continue reading

Posted in 生活备份 | Tagged | Leave a comment

54chen Twitter memo 2011-01-30

想收点来自国外的技术讨论,找了一圈,ggroups封死,fb封死,居然还剩下来一个likedin,不错不错。 # 和巨头斗,RT Adless的一句话:流氓会武术,谁也挡不住。 # RT 戴文哲 : 你说App多,诺基亚说我们扛摔;你说屏幕华丽,诺基亚说我们扛摔;你说设计优雅,诺基亚说我们扛摔;你说滚动流畅,诺基亚说我们扛摔。你一激动把 iPhone4摔地上了,诺基亚说:你看,摔坏了吧 # 突发奇想:老外在搜技术文章的时候,会遇到中文的吗? # [java]如何优雅读取properties文件-part2 http://goo.gl/fb/nFsfR # RT 陈一舟 : 互联网创业的哲学是:决定干什么的时候“快就是慢”; 一旦开始干了“快就是快” # 54chen Twitter memo 2011-01-23 http://goo.gl/fb/Lunch #

Continue reading

Posted in 生活备份 | Tagged | Leave a comment

[java]如何优雅读取properties文件-part2

接上part1:http://www.54chen.com/java-ee/java-read-properties-files-part.html 从数据流到java.util.Properties 你应该注意到之前提过的方法只是一半的措施:他们都只返回输入数据流,而并没有类似键值对的返回。幸运的是,把数据加载成一个列表很简单(可以实例化java.util.Properties即可)。因为你会发现你在一再地使用它,搞成几个帮助类是有意义的。 java的内置方法给classpath加载指定的资源有小小的不同也是一件讨厌的事情,特别是当一些资源名字是硬编码但你现在想换另一个加载的方法时。抽取出来一些东西是有意义的,类似斜杠和点作为命名的分隔符等等。干脆一点,帖出我的properties的处理类,代码在这里下载:http://www.javaworld.com/javaqa/2003-08/01-qa-0808-property.html?page=2#resources [代码略] 在loadProperties方法的javadoc里的注释显示这个方法的输入参数要求非常随意:接受资源名字被任何按照原生的方法设计(除了相关的包外尽量使用Class.getResourceAsStream())的格式化而且使其本地实现标准化。 短一点的loadProperties() 公用方法决定了哪个类加载器加载资源。下面的解决方法是合理的但并非完美。你应该考虑使用文章"Find a Way Out of the ClassLoader Maze"里提到的技术来代替。 注意有两个条件编译的常量

Continue reading

Posted in java | Tagged , | 1 Comment

54chen Twitter memo 2011-01-23

“我要省电百分之三十”成龙广告的美的空调,看到真功夫的李连杰广告的奥的斯空调,情何以堪哪~ # 一个比较明智的手段应该是首先按照自顶向下来做,接下来进行目标服务建模,最后是自底向上的现有资产的遗留分析。消息是:你将项目的范围定义至一个可管理、实现的集合越快,你就能更快的通过聚焦在关键服务来公开组成 SOA 基础的服务描述来实现价值。 # 这种症状中,越来越多的小粒度的服务被定义、设计和部署,却缺乏控制,导致了主要的性能、可伸缩性和管理问题。http://www.ibm.com/developerworks/cn/webservices/ws-soa-design1/ # 明日六点切换更新新版米聊服务,为什么选清晨六点?手机用户和WEB用户截然不同的作息规律,WEB一般都是0点更新,而手机用户在0点也是用得很High的时候。 # 米聊会事先加密大家的号码数据来帮大家寻找手机朋友,所以部分手机在注册时会发送一条普通短信来激活自己的号码,这条短信费由运营商收取,除此以外米聊绝不会产生任何扣费行为。在米聊各版本中都会有该声明提示。 # 一封来自名叫Mickey的国际友人的邮件:需要English version的米聊。走出国门。 # 百度文库搜索“啊”和“嗯”,有惊喜。 # [java]如何优雅读取properties文件-part1 http://goo.gl/fb/UOynv # 又发现了米聊的一大用处:越洋短信。大学时的朋友在加拿大装上了米聊,聊得很Happy~ # 中国拷贝VS中国创新 # 理解facebook,RT 王志亮 : 回声室效应echo chamber effe

Continue reading

Posted in 生活备份 | Tagged | Leave a comment

[java]如何优雅读取properties文件-part1

Q:在java中如何加载properties文件或者configure文件才是最好的办法呢? A:当你在考虑如何加载java的资源文件的时候,许多选择都会立即闪现在你的头脑中:files, classpath resources, 还有URLs。尽管上述所有的方法都能得到最终需要的效果,但经验表明classpath resources 和 URLs 是到目前为止最靠谱的选择。 通常情况下,一个配置文件都有一个异常复杂的结构(比如说xml结构的定义),为了简单,下文里我们以name-value对为例子来讲解(非常类似properties文件的格式)。就算这样,只要你考虑使用inputStream来读取资源文件,你没有理由不采纳下文里提到的办法。 一、邪恶的java.io.File 任何没有java背景的人明显的做法是使用原来的files里的足够简单的办法(通过FileInputStream, FileReader,RandomAccessFile)。但是在java应用的布署来说,这是最差的办法。对于追求轻便和不依赖磁盘位置的代码来说,在你的代码中使用绝对文件地址并不是一个很好的方式。使用相对路径看上去是个不错的替代方案,不过不要忘记,是相对于jvm运行时当前的路径。这个相对路径的设置取决于JVM的启动进程,而且会被启动的shell等脚本搞混乱了。如果决定将一些不标准的设置存放依赖最终用户的环境(而且在一些情况下,还未被验证过是否有用户权限),只要换个环境,(比如说EJB或者是WEB应用服务器),你和用户都不能有更多的基于JVM一开始启动时目录的控制。java.io.File是

Continue reading

Posted in java | Tagged , | 2 Comments

54chen Twitter memo 2011-01-16

智勇君名言:乱世的魅力就是乱。 # 鸡动人心的时刻,米聊的sis文件,按下回车后scp出去了。 # 看到一颇有见的文章,文尾简介:xx has programmed in a variety of languages for more than 13 years, including Java since 1995. # [flash]建立socket安全策略文件服务器 http://goo.gl/fb/czekN # [java]用httpclient做压力测试时Too many open files的解决办法 http://goo.gl/fb/8uKPY # 创业公司在抱团打天下的年代里,做到一百人和十人一样不扯淡,五百人和一百人一样有秩序,上千人和五百人一样有章法,那就离世界五百强不远了,只有十人公司尚未呆过了。 # 米聊组的兄弟们大多都是来自微软的技术高手,对工程和大局观有很强的感觉,如何走得快和稳,这点最重要,基础打好了事半功倍。 # 54chen Twitter memo 2011-01-09 http://goo.gl/fb/oOrkb …

Continue reading

Posted in 生活备份 | Tagged | Leave a comment

[flash]建立socket安全策略文件服务器

前因 Flash被广泛应用于互联网各个方面,是因为它提供了各种各样的特性,其中很重要的一点就是,可以用flash建立TCP连接到服务器然后交换数据。从网络管理员的观点看,一个互联网的服务器能够连接进到内网里来,是一个很恐怖的事情,所以flash搞出来一个安全策略文件。 改变 Flash Player 9,0,124,0 版本对这个策略文件进行了两个重大改变:一是所有的端口都需要在策略文件里声明了,以前的版本只需要1024以下的端口需要进行声明;二是可以集中到843端口进行集中式的托管了。Flash Player 9,0,124,0建立的socket连接,会先去请求843端口,如果这个端口没有策略文件,则会去你要连接的端口本身请求策略文件,如果二者都没有,则会被拒绝连接。 控制过程解读 1.Flash Player先到请求的843端口请求策略文件,如果没有,进行第2步,如果site-control为none则拒绝掉,如果site-control为all则进行第2步。 2.如果在AS中写了Security.loadPolicyFile() ,(它并不是一定生效的,必须在843端口的声明中允许引用其他的策略文件后才能生效),开始读取策略。 3.最后一步是检测要连接的端口是否有权限,这步检测要在843端口中声明需要检测端口才会去做,如果843声明了而策略文件里没有,则会被拒绝。 庆亮哥小更正:请求843和你的指定端口后,会访问当前访问域名下是否有crossdomain.xml文件,如果你的端口不是80,那么请求最多可能三次。 万能脚本 这个兄弟是adobe的开发人员吧,搞了两个脚本

Continue reading

Posted in WEB相关 | Tagged , , , | 2 Comments

[java]用httpclient做压力测试时Too many open files的解决办法

在工作过程中,用httpclient去压测一个web api,发现压一小段时间就出现了Too many open files。 实际上,HttpClient建立Socket时 ,post.releaseConnection()并没有真正关闭连接,而是将该连接提交给 MultiThreadedHttpConnectionManager,等待复用。 而http的连接是等待timeout才会自动断开的,所以,当用完系统的句柄后,自然会报Too many open files。 解决办法: 设置post方法的header,增加 post.addRequestHeader( "Connection", "close"); client.getParams().setBooleanParameter( "http.protocol.expect-continue" , false );

Continue reading

Posted in java | Tagged , | 3 Comments

54chen Twitter memo 2011-01-09

明日黄道吉日,小米全员踏步进入朝阳区,新办公区,新气象,新挑战。 # 智者说:咱兄弟几个天天呆在一起时间比和自己老婆在一起的时间还要多得多,有事情一定不要急,慢慢来,要稳住。 # [nginx]如何在access log中记录post请求的参数 http://goo.gl/fb/bao7J # 涛哥来到我工位上看望,看到我在用eclipse写java,涛哥盯着那一行一行的代码,亲切的同我拉起了家常,“一天能写多少行代码,能不能承受得起?”我满脸笑容地说:“一天能写七十七行,承受得起。”涛哥露出了欣慰的笑容。 # 年底有跳巢欲的精英,欢迎来简历让我推荐加盟小米科技,所需:敢于直面各式技术权威~javaphp不惧或精通其一;待遇:和老板谈;职位:我们都是开发攻城湿chenzhen at xiaomi.com # 在家准备上线中,忙碌了很久,这回应该稳定了。 # http://news.163.com/10/1231/05/6P790TRB00014AED.html 发发看元旦回来风声还紧不。 # 元旦归来,RT 据说在每一个互联网公司里,都有一个扫地的老太太。很偶然地,当她经过一个程序员的身边,扫一眼屏幕上的代码,会低声提醒对方说:小心,栈溢出了。 # 54chen Twitter memo 2011-01-02 http://goo.gl/fb/WEGVc # 54chen Twitter memo 2011-01-02 http://goo.gl/fb/Cwyc7 #

Continue reading

Posted in 生活备份 | Tagged | 2 Comments

[nginx]如何在access log中记录post请求的参数

移动互联网行业开发过程中,服务端经常会需要检查是否收到请求,收到什么样的请求,最简单的办法就是看nginx的access log,常见的nginx配置中access log一般都只有GET请求的参数,而POST请求的参数却不行。 http://wiki.nginx.org/NginxHttpCoreModule#.24request_body $request_body This variable(0.7.58+) contains the body of the request. The significance of this variable appears in locations with directives proxy_pass or fastcgi_pass. 正如上文件所示,只需要使用$request_body即可打出post的数据,在现存的server段加上下面的设置即可: log_format access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent $request_body "$http_referer" "$http_user_agent" $http_x_forwarded_for'; …

Continue reading

Posted in WEB相关 | Tagged , , | 12 Comments
Page 10 of 11« First...7891011