老朱的博客

2010年3月23日 #

小心!谷歌退出中国内地背后的阴谋。

  今早看到了谷歌正式退出中国内地的消息,心想这一天终于来了,谷歌已经酝酿了好久。

      心情和大家一样,很复杂,有留念有伤痛也有一丝悲哀。

  但我也有一些理性的思考,我也是从事互联网业务的,在互联网永远要争第一,第一和第二在商业的利益差距是巨大的,就象阿里巴巴和慧聪,就象google和yahoo,yahoo几乎都要被收购了。在国内搜索市场,百度占百分之六十多,谷歌只有百分之三十多,其实这个差距是巨大的,是不可逾越的,我是做电子商务产品的,在我的客户(中小企业)几乎百分百只要做百度的优化和推广,客户很少会去关注谷歌。

  谷歌永远只会号称退出中国内地市场,但永远不会关闭简体中文的搜索,这就是它目前的策略,因为要拉近30多点的差距,依靠普通的手段是不能达到的,一定需要非常手段,目前的行为就是非常手段,注意不是关闭,只是号称退出,并且退出是有前题的是因为中国政府会过滤信息,那么背后的给大家产生极大的影响就是未来谷歌的搜索结果是不过滤的是非常公正的,这样几乎所有有“头脑”的人都会去谷歌上去找所谓的公平的公证的信息,这样对百度是极度不公平的。

  我一定相信谷歌未来的搜索访问会比现在更大,百度在短暂的广告收益会提升,但谷歌会一直告诉中国人旁边还有一个更“公正”的搜索引擎。

   接下来,我们会看到两年内谷歌的访问得到提升,然后通过国内的广告代理商来代理其广告业务,未来的两到三年再回中国内地,这就是谷歌退出中国内地的阴谋!

posted @ 2010-03-23 12:43 Axel 阅读(1329) 评论(14) 编辑

2007年10月11日 #

大家再论ASP.Net MVC

关于MonoRail的抄袭微软也给出了自己的理由:
Clone:: I wouldn't call the ASP.NET MVC framework a clone of MonoRail, because then we'd have to call MonoRail a clone of Rails, and so on and so forth. The MVC framework borrows ideas from frameworks like Rails, Django is looks to integrate with Windsor and Brail and NUnit, etc... Its a good thing, and everyone is cooperating.


但这样一来,确实给出很多困惑,想当初Asp.Net一出,服务器控件大为流行,也确实提高了开发效率,降低了Web开发的门槛。但Ajax流行后,客户端控件和操作得到回归,不过毕竟两者可以共存。现在MVC一出,服务器端控件将要彻底退出(想不出两者结合的方式),ASP.NET界面端的处理方式将产生本质上的变化。

不要告诉我说,根据不同的场景,你可以选择WebForm Or MVC.

MVC来了,微软的Rails来了,你准备好了吗?

posted @ 2007-10-11 12:07 Axel 阅读(3082) 评论(46) 编辑

2007年8月2日 #

Linq to SQL 级联更新的问题。

Linq to SQL 的更新非常简单只需要调用Datacontext的SubmitChanges就可以。
目前同一个Datacontext实例中很多动作都非常顺利。但在分层应用,对象的更新是在不同的Datacontext实例中,这时就会变得复杂得多。
现在遇一问题查了很长时间,不知道是不是Linq to SQL的一个BUG。
           //Page是PageC的一个子对象
            DataClasses1DataContext cxt = new DataClasses1DataContext("server=.;database=xxx");
            PageC c= cxt.GetTable<PageC>().FirstOrDefault(p => p.PageCName == "test1");
            c.PageCTitle = "test1";
            c.Page.PageTitle = "test2";
            cxt1.SubmitChanges();
 这样Page表和PageC表都更新成功了。

但是如果:

            DataClasses1DataContext cxt = new DataClasses1DataContext("server=.;database=xxx");
            PageC c= cxt.GetTable<PageC>().FirstOrDefault(p => p.PageCName == "test1");
            c.PageCTitle = "test1";
            c.Page.PageTitle = "test2";

            
            DataClasses1DataContext cxt1 = new DataClasses1DataContext("server=.;database=xxx");
            cxt1.GetTable<PageC>().Attach(c,true);
            cxt1.SubmitChanges();
更新就会发生错误。

在不同的Datacontext实例,如果需要更新必须用Attach方法把对象实例Attach到数据环境中。但更新就会发生错误。

错误的原因是:在第一段代码中cxt.GetChangeSet()中 ModifiedEntities(修改的实体)是两个,但在第二段代码中 cxt2.GetChangeSet()中,ModifiedEntities(修改的实体)和AddedEntities(增加的实体)各有一个,也就是说第二段代码中是把Page子对象的更新是放到添加的实体中。而原本这个记录就存在,这时就会发生主键冲突的错误。

是Linq to sql 的一个Bug?

posted @ 2007-08-02 00:30 Axel 阅读(2237) 评论(13) 编辑

2007年7月31日 #

关于Linq to sql的一个更新问题

最新也开始研究linq to sql,但随着深入,发现无论是国外还是国内文档还是很少,估计随后一段时间文档会多起来。
现在有一个更新问题。
先从Datacontext中得到一个实体丢出去,然后对这个实体进行更新,测试了很长时间没有发现好的方式。
        public Page SavePage(Page page)
        
{
            DataContext dxt 
= new DataContext("server=.;database=xxx");
            dxt.GetTable
<Page>().Attach(page);
            
            dxt.SubmitChanges();           
            
return page;
        
        }
其中page从丢出去后已经变化了,但SubmitChanges()后没有更新数据库。
试了很久都不行,最终采用这样的方式可以。
        public void SavePage<T>(T obj, Action<T> update) where T:class
        
{
            DataContext dxt 
= new DataContext("server=.;database=giga");
            dxt.GetTable
<T>().Attach(obj);
            
//dxt.GetTable<T>().Attach(obj);
            update(obj);
            dxt.SubmitChanges();
        }

//调用
            dataAccess.Update<Page>(page, delegate(Page p)
            
{
                p.PageTitle 
= "aaa";
            }
);
//dataAccess是上面函数的实例

上面代码的更新可以成功的。
难道对于一个对象的更新会这么复杂?大家有没有更简单的方法?

posted @ 2007-07-31 10:04 Axel 阅读(2415) 评论(23) 编辑

My Links

Blog Stats

News

搜索

 
 

常用链接

我的标签

随笔分类

随笔档案

我的站点

最新评论