2010年03月31日 星期三

网站被加入恶意代码,而域名注册名称既然是百度,有图有真相

今天一大早,客户就发信息给我说,网站被360报有恶意网址。 我一看果然,网站源码里加了一段JS代码。    网址是经过编码的,反编译得到网址是:q.ustocn.com.cn:95 于是我到万网查询域名是谁注册的.   让我意外的是注册名字既然是“百度”   由于是CN域名所以我又到了域名备案中心查询了一下     可以看出,这个域名没有备案,我就纳闷了,为什么有一些个人BLOG 的CN域名,被停,而这个恶意病毒域名既然没有被停止解析。  由此可以看出,中国的法律法规只是给弱者制定恶意。(有点臆断点)  昨天我的google app engine绑定的域名再次不能访问,IP地址再次被墙。很气愤。google只是提供一个免费的东西给弱者而已,为什么 你就看不惯。  社会的发展就像达尔文所说的那样,优胜劣汰。温家宝也说过,社会的最大的问题是发展不平衡。人不能像动物一样,不能因为的强大就可以把比自己弱的都杀掉。 中国之所以要经过一个社会主义阶段,是资本的积累在当时的国际情况下已经不能通过向外侵略和掠夺得到,只能靠集体力量积累资本或压榨国内人民来快速获得资本。  资本主义的发展势不可挡,不要再幻想社会主义了,既然势不可挡,我们这些弱者应该怎么办?难道等待屠被淘汰吗? 我们不甘心,我们一直努力学习,努力工作,想摆脱弱者的地方,但是经过多年后,我们发现很难。单靠个人的力量是很难改变你弱者的地位。 以后的发展,将不再是一个人单打独斗,找到自己的团体,为团体利益努力奋斗,这才是改变你命运的捷径。 小社团,将是以后中国发展的方向。   

2010年12月11日 星期六

博客园之用户体验


  用户体验(User Experience,简称UE)是一种纯主观在用户使用产品过程中建立起来的感受。     现在越来越多的人开始重视用户体验,最近公司也在花大价钱招UI工程师,可是收获甚微。
  来博客园已经两三年了,整体上博客园并没有太大的变化,但一些小细节的改进也是有目共睹的,比如,增加选项卡,增加首页内容,增加推荐按钮等。但博客园的主体颜色好像一直是蓝色。蓝色是冷色,符合程序员群体。微软等好多技术社区也基本是蓝色。整体感觉虽然不太精致,倒是倒挺专业。
  下面谈谈博客园的体验情况:   1、蓝色虽然符合大多数程序员群体,但是对于个别女性以及个别人来说,实在太单一,可以增加一个改变主题颜色的功能,像网易首页一样。   2、首页【找找看】按钮背景色是绿色,看上去就像一个绿色苍蝇一样,很明显就感觉强加在上面的功能,不协调。   3、一堆搜索框,站内搜索、GOOGLE搜索和博主搜索,难道不能集成到一个搜索框里吗?相信不是什么技术难题吧   4、刷新、推荐排行、RSS订阅按钮放到一起,三个功能差别太大,既然能放到一起。
  除了电脑使用感受外,最近有时用手机上博客园,最大的体验感受是,有些模板对手机支持实在不友好,看一篇文章,既然拉滚动条拉了好久,上面有太多不重要的列表放在前面,比如,评论、档案等等。为此,我还特意换了我的博客模板。
  其实人与人技术差别不是很大,学会使用某种语言,某种工具只是时间问题,但有些东西必须用心才能学到的。有些人他比较注意别人的感受,他就是大牛。看大牛写的博客我们感觉很舒服,专业的词语会有解释,会有注解、会有外部链接、代码有折叠,有demo等等。     技术可能会被淘汰,但是学会沟通,学会用文字表达,学会站在别人角度考虑问题,这些就是我们程序员的经验。

2010年12月15日 星期三

进小公司要先看看老板的人品

  终于辞职了,离开了老公司,心中也像放下了一块石头,犹如脱离了苦海。对这个公司失望至极,对老板以及和老板的岳父实在是非常的鄙视。


  2008年在一场招聘会被老技术总监相中,免笔试进入公司,也跟技术总监住在一起很愉快。技术总监人品很好,是那种胖胖很和蔼的那种,每次的都教导我说,你是我招进来的你一定不要半路跑了,要把两年的合同做完再走。每次我都诚恳的点点头,说:为了你我也把两年做下来。


  进入公司凭借我的基础,进步很大,担当很多重要的工作,独立完成过好多项目,也在今年年初,在老技术总监临走的前一个月把我提升为项目经理。


  除了技术总监外,我进来的时候还有个公司副总——将总,他是公司的股东之一,技术入股的,拥有17%的股份,从创业开始他就一直在公司,除了他,还有个倪总,股份占17%,技术很NB,在我来之前就走了,考上巢湖下面镇上的一个公务员。将总30多岁,人也很不错,很诚恳的那种,技术很不错,技术文档写的很到位,跟他学了不少东西。可是在我进来半年后,他离开了公司,去了徽商银行工作。当时我就纳闷,公司从巢湖搬到合肥,业绩蒸蒸日上,为什么走呢?当时不理解,随后听秦总说,老张(张总,拥有24%的股份是最大的股东,50岁左右,技术不怎么样,技术文档写的很不错。)这个人品有问题,让老婆当财务,年年不分红,年年说亏损,而自己却买了车,在合肥买了几套房,在巢湖买了几个门面。(非常鄙视他)。开始我还半信半疑,但随后我越来越见证了。


  将总走后,公司管理陷入混乱,张总亲自招的销售总监,胡乱花钱。于是他就让他退休了的岳父当公司副总,管财务和制度。那个老头国企出身的一个干部,满嘴官腔,动动不就说我以前在国企怎么怎么样,最气人的是有次开会,说在我以前那国企本科生才1000元工资,意思说我们这些专科生拿他1500都算高的了,要跟他磕头感恩不成。
公司涨不上去,制度条款确增加了不少,列出两条卑鄙条款:
  1、每月扣钱(本来工资就不高),合同到期双倍才返还,合同到期了,钱还不乐意给,非续签合同才给。

  2、续签合同后,无辜增加合同条款,合同不到期辞职扣2个月工资。
  续签合同后2个月,实在忍受不了他无耻的条款了,我决定辞职了,跟着他干两年半,感情没有培养成,留下的就是强烈的鄙视。


  今天打电话问剩下2个月工资的事,无耻的他们果然说“没了”。


  啥也不说了,能离开这个即将倒闭的公司应该是种庆幸,钱也到无所谓。但为了这口气,想要去劳动仲裁,上网搜搜劳动仲裁的流程,TMD比我写的程序还要复杂,看来这个项目拿下有困难啊。但是我最喜欢挑战,我决定等我心平气和的时候再计划,因为我知道在生气的时候下的任何决定都是错误的,其中也包括写这篇文。

 

强烈佩服一下博客园的编辑器,在谷歌浏览器下面既然会让整个浏览器都卡死,太牛逼了!

2010年04月28日 星期三

整个经济如何运行

1、一国的生活水平取决于它生产物品与劳务的能力2、当政府发行了过多货币时,物价上升3、社会面临通货膨胀与失业之间的短期交替关系

2010年03月10日 星期三

使用Google Web Toolkit写的小游戏连连看0.1版

最近几天在看Google Web Toolkit,感觉还不错吧。突然想用它写个游戏玩。 我看到网上有好多javascript写的连连看,所以就自己想用gwt写一个。 花了一晚上功夫,写了个简单的,主要连接功能还没实现,目前只能把2个相同的消掉。 让大家先睹为快。 截图如下:   在线演示地址:http://www.pinfantuan.com/ 代码写的很垃圾,本来就不想贴了,可是,为了让大家多给我出主意,我还是贴出来吧 
代码
public class LianLianKan implements EntryPoint {

    
/**
     * This is the entry point method.
     
*/
    
public void onModuleLoad() {
        
final DecoratorPanel decPanel=new DecoratorPanel();
        
final Label clickLable=new Label("0");
        Grid grid 
= new Grid(65);
        grid.addStyleName(
"llktable");
        String[] rand
=new String[]{"1","2","3","4","5","6","1","2","3","4","5","6"};
        
int[] r=noRepeatRandom();
        
int k=0;
        
for(int i=0;i<6;i++){
            
for(int j=0;j<5;j++){
                
if(i!=0&&i!=5&&j!=0&&j!=4){
                    
final Image image=new Image("/image/"+rand[r[k]-1]+".gif");
                    k
=k+1;
                    image.addClickHandler(
new ClickHandler(){

                        
public void onClick(ClickEvent event) {
                            String tmpUrl
=image.getUrl();
                            tmpUrl
=tmpUrl.substring(tmpUrl.lastIndexOf("/")+1, tmpUrl.lastIndexOf("."));
                            
if(tmpUrl.indexOf("s")==-1){
                                image.setUrl(
"/image/"+tmpUrl+"s.gif");
                            }
else{
                                image.setUrl(
"/image/"+tmpUrl.substring(0, tmpUrl.indexOf("s"))+".gif");
                            }
                            
for(int i=0;i<6;i++){
                                
for(int j=0;j<5;j++){
                                    
if(i!=0&&i!=5&&j!=0&&j!=4){
                                        Image img
=(Image)((Grid)image.getParent()).getWidget(i, j);
                                        String sl
=img.getUrl();
                                        sl
=sl.substring(sl.lastIndexOf("/")+1, sl.lastIndexOf("."));
                                        
if(sl.indexOf("s")!=-1&&!img.equals(image)){
                                            
if(img.getUrl().equals(image.getUrl())){
                                                image.setVisible(
false);
                                                img.setVisible(
false);
                                                clickLable.setText(String.valueOf(Integer.parseInt(clickLable.getText())
+1));
                                            }
else{
                                                img.setUrl(img.getUrl().replaceAll(
"s.gif"".gif"));
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        
                    });
                    grid.setWidget(i, j,image);
                }
else{
                    grid.setWidget(i, j, 
new Image("/image/0.gif"));
                }
            }
        }
        decPanel.add(grid);
        RootPanel.get(
"clickLable").add(clickLable);
        RootPanel.get(
"llk").add(decPanel);
    }
    
private int[] noRepeatRandom(){
         
int[] intRet = new int[12];
         
int intRd = 0//存放随机数
         int count = 0//记录生成的随机数个数
         int flag = 0//是否已经生成过标志
         while(count<12){
              Random rdm 
= new Random(System.currentTimeMillis());
              intRd 
= Math.abs(rdm.nextInt())%12+1;
              
for(int i=0;i<count;i++){
                  
if(intRet[i]==intRd){
                      flag 
= 1;
                      
break;
                  }
else{
                      flag 
= 0;
                  }
              }
              
if(flag==0){
                  intRet[count] 
= intRd;
                  count
++;
              }
     }
        
return intRet;
    }
}
   多多指教!!!    

2010年04月26日 星期一

列出并简要解释个人作出决策的四个原理

1、人民面临交替关系     经典的交替关系:“大炮与黄油”之间的交替。2、 某种东西的成本是为了得到它而放弃的东西     机会成本:为了得到某种东西必须放弃的东西 。3、理性人考虑边际量     生活中的许多决策涉及到对现有计划进行小的增量调整。 4、人民对激励作出反应      由于人们通过比较成本与收益作出决策 ,所以,当成本或收益变动时,人们的行为也会改变,这就是说,人们对激励作出反应。

2010年09月16日 星期四

谷歌浏览器,在保存密码操作后,文本框背景图片样式会丢失

在谷歌浏览器中,正常的登录页面,在保存密码操作后,文本框的背景图片样式丢失了,如下图: 当我手动清除文本框里的数据后,即可恢复正常样式,如下图: 问了验证确实是,保存密码导致的样式丢失,我进行了,谷歌浏览器“清除浏览器数据”操作,然后登录界面恢复正常,如下图:  在其他浏览器IE8中,很正常,没有出现这种情况,最主要IE8没有保存密码这个选项,而谷歌浏览器在第一次登录后会提示保存密码,如下图:   这个应该是谷歌浏览器的一个BUG,这个BUG让我郁闷了好久,开始我以为我样式写的有问题,就反复的测试,在要放弃的时候,忽然才想到是否是保存密码导致的,然后经过测试确实是这样的,希望对碰到过这样问题的人有所帮助,也希望高手能解决这个问题。下面我附上文本框样式代码: .TxtUserNameCssClass {
    BORDER-TOP-WIDTH
: 0px; PADDING-LEFT: 25px; BORDER-LEFT-WIDTH: 0px; BACKGROUND: url(../images/user_login_name.gif) no-repeat; BORDER-BOTTOM-WIDTH: 0px; WIDTH: 165px; LINE-HEIGHT: 20px; HEIGHT: 21px; BORDER-RIGHT-WIDTH: 0px
}  

2010年10月14日 星期四

程序员须知,Ubuntu10.10 体验旅程,给你一个全新感性的认识,亲身体验


看图!猜猜这是什么操作系统?

   
 看着样子,像win7,可它不是,他是ubuntu10.10系统+win2-7 6.0主题。样子漂亮吧,他的窗体还有果冻效果哦。 有人肯定要说,像win7有什么用,又不能运行windows程序,其实你错了,在ubuntu上安装wine程序就可以运行。 下面给张运行delphi7写的小程序,运行的一点问题都没有,样子一样很漂亮!
ubuntu能运行大型游戏吗?当然可以! 看看unbuntu下运行大型单机射击3D游戏效果图,很流畅。
  ubuntu下运行腾讯的的QQ for ubuntu,感觉太不给力了,好多功能都没。     在ubuntu下安装了QQ 2010精简版,功能比ubuntu for QQ 版好很多,文件传速,快了不少,不过存在QQ 空间打不开、登录输入密码关闭程序等一些细节问题。总体感觉还行,不影响使用。    ubuntu下玩魔兽争霸,效果比windows下差了点,有点卡,不过能玩这么大的游戏已经很高兴了。  在这次体验过程中,遇到不超问题,都通过baidu And Google解决。如果你在安装过程中,遇到解决不掉的问题,欢迎交流。 看完后你的感觉如何?对linux改变看法了吗? 

2010年05月04日 星期二

Adaptive Server Anywhere 局域网应用配置

Adaptive Server Anywhere 局域网应用配置=============================================================
Adaptive Server Anywhere 局域网应用(点到点)怎么配置?1.保证网络畅通,建议用tcp/ip协议; 2.某机器作为服务器,按以下命令行启动数据库: dbsrv7.exe c:\xxx\yyy.db -n ServiceName -x tcpip -c16m -q -o c:\test.log 参数含义: -n servicename ,启动服务名为servicename的数据库服务用以标记网络数据库服务唯一标记; -x tcpip:使用tcp/ip协议,默认端口3362,注意不要被占用; -c 16m :缓存使用 16m -q 后台方式运行,没有数据库运行界面,只能看到进程; -o c:\test.log 记录启动、连接、关闭日志到 c:\test.log文件。 3.启动成功后,另外机器操作: ODBC - > 新建一个Adaptive SQL Anywhere7.0数据源,配置如下: 1.ODBC - > dns name:数据源名称 2.Login- > 登录用户/密码 3.Database - > ServerName处输入步骤2中指定的serviceName 4.Network - > 钩中tcp/ip,参数处输入2中启动服务器所在机器的IP,格式如下: HOST=192.168.0.1 其他协议都可以不选。 4.重复3步骤,就可以配置多个客户端了,当然,服务器上也可以配置一个ODBC来连接到自己的。

2010年04月28日 星期三

人民如何互相交易

1、贸易能使每个状况更好2、市场通常是组织经济活动的一种好方法3、政府有时可以改善市场结果