[SQL9.com] iihero实验室 http://www.sql9.com/ 专注于数据库与信息检索技术![sql9.com] 2017-12-14 [SQL9.com] iihero实验室 123 九州出版社征稿启事[长期有效]        九州出版社是中央级综合性出版社,以弘扬中华文化、促进海峡两岸文化交流为宗旨,出版社会科学、自然科学、文学和艺术方面的图书、画报和画册。是国内最具规模和权威的跨越两岸学术文化出版基地。2009年被新闻出版总署评为国家一级出版社,授予“全国百佳图书出版单位”荣誉称号。

  九州出版社将设立出版基金,并面向社会诚征书稿,以更加灵活的出版方式,高质量服务于两岸读者,为繁荣包括两岸在内的中国出版事业添柴加薪。

  征稿范围:

  1.关于台湾研究的学术著作。

  2.文史哲类原创或翻译作品及其他各类研究独创的作品。

  3.相关自费出版。请作者直接与下边的联系方式联系,可以得到低成本高质量的良好服务。

  请提供如下内容:

  1.内容简介、目录、样张、作者简介等文字内容。

   2.读者定位、市场同类书分析等内容。

  联系方式:

  地址:北京市西城区阜城门外大街甲35号九州出版社

  邮编:100037

  电话:010-68352775          Mobile: 131-4610-2875 

       周老师

  qq: 35824648

  邮箱:35824648@qq.com

]]>
[SQL9.com] iihero实验室 2013-04-28 02:04:31
122 设计模式(7)-结构型-桥接模式(Bridge)(个人笔记) 概述:

将抽象部分与它的实现部分分离,使它们都可以独立地变化。

适用性
    1.你不希望在抽象和它的实现部分之间有一个固定的绑定关系。
      例如这种情况可能是因为,在程序运行时刻实现部分应可以被选择或者切换。


    2.类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。
      这时Bridge模式使你可以对不同的抽象接口和实现部分进行组合,并分别对它们进行扩充。


    3.对一个抽象的实现部分的修改应对客户不产生影响,即客户的代码不必重新编译。


    4.有许多类要生成,  这样一种类层次结构说明你必须将一个对象分解成两个部分。


    5.你想在多个对象间共享实现(可能使用引用计数),但同时要求调用者并不知道这一点。


参与者
    1.Abstraction
      定义抽象类的接口。
      维护一个指向Implementor类型对象的指针。


    2.RefinedAbstraction
      扩充由Abstraction定义的接口。


    3.Implementor
      定义实现类的接口,该接口不一定要与Abstraction的接口完全一致。
      事实上这两个接口可以完全不同。
      一般来讲,Implementor接口仅提供基本操作,而Abstraction则定义了基于这些基本操作的较高层次的操作。


    4.ConcreteImplementor
      实现Implementor接口并定义它的具体实现。

代码示例:

  1. package com.sql9.structured;  
  2.   
  3.   
  4. abstract class Train  
  5. {  
  6.     private String type;  
  7.     private Lead lead;  
  8.       
  9.     public Lead getLead()  
  10.     {  
  11.         return lead;  
  12.     }  
  13.       
  14.     public void setLead(Lead lead)  
  15.     {  
  16.         this.lead = lead;  
  17.     }  
  18.       
  19.     public void setType(String type)  
  20.     {  
  21.         this.type = type;  
  22.     }  
  23.       
  24.     public String getType()  
  25.     {  
  26.         return this.type;  
  27.     }  
  28.       
  29.     public abstract void manage();  
  30. }  
  31.   
  32. class SouthTrain extends Train  
  33. {  
  34.     public void manage()  
  35.     {  
  36.         Lead lead = getLead();  
  37.         lead.tryManage(this);  
  38.     }  
  39.       
  40.     public SouthTrain()  
  41.     {  
  42.         setType("南车");  
  43.     }  
  44. }  
  45.   
  46. class NorthTrain extends Train  
  47. {  
  48.     public void manage()  
  49.     {  
  50.         Lead lead = getLead();  
  51.         lead.tryManage(this);  
  52.     }  
  53.       
  54.     public NorthTrain()  
  55.     {  
  56.         setType("北车");  
  57.     }  
  58. }  
  59.   
  60. abstract class Lead  
  61. {  
  62.     public abstract void tryManage(Train train);  
  63. }  
  64.   
  65. class NorthLead extends Lead  
  66. {  
  67.     public void tryManage(Train train)  
  68.     {  
  69.         System.out.println("North Lead 管理 " + train.getType());  
  70.     }  
  71. }  
  72.   
  73. class SouthLead extends Lead  
  74. {  
  75.     public void tryManage(Train train)  
  76.     {  
  77.         System.out.println("South Lead 管理 " + train.getType());  
  78.     }  
  79. }  
  80.   
  81.   
  82. public class BridgeTest  
  83. {  
  84.   
  85.     /** 
  86.      * @param args 
  87.      */  
  88.     public static void main(String[] args)  
  89.     {  
  90.         Train ntrain = new NorthTrain();  
  91.         Train strain = new SouthTrain();  
  92.         Lead nLead = new NorthLead();  
  93.         Lead sLead = new SouthLead();  
  94.         nLead.tryManage(ntrain);  
  95.         sLead.tryManage(strain);  
  96.         nLead.tryManage(strain);  
  97.         sLead.tryManage(ntrain);  
  98.     }  
  99.   
  100. }  

结果:

North Lead 管理 北车
South Lead 管理 南车
North Lead 管理 南车
South Lead 管理 北车



]]>
[SQL9.com] iihero实验室 2012-08-11 14:08:39
121 降级论 (给创业者)(zz) 发信人: zms (小美), 信区: Java
标  题: Re: 降级论 (给创业者) (zz)
发信站: 水木社区 (Tue Jul 10 16:39:03 2012), 站内


还真是,难道水木会导致 ddos?


贴原文吧:


几乎一年没有写博客了,说没时间那是借口,唯一的原因是,年纪越大越发觉自己肤浅。有些想法还没提笔,就发现很幼稚,就不敢发出来贻笑大方了。这次先给大家说个小故事:


从前有三个屌丝,聚在一起做网络,提供免费的网络服务,砸锅卖铁,通宵达旦,除了卖肾啥都做了。3年后终于做到了五百万用户,对于年轻人来说,能把五百万人玩弄于鼓掌之间,已经是很牛逼轰轰的事了,不过用户越多,成本越高,每年服务器、带宽租金、房租水电、广告运营等成本,已经达到了十七八万,屌丝们不得不面对一个终极问题:如何盈利?


屌丝们定了三盘沙县水饺,围着一箱子的冰啤酒开始计算:按照最近一月的登陆情况来看,四百万个账号已经不活跃了,真正有商业价值的只有一百万人,如 果开通xx功能,收点高级会员费,让其中1%的人升级为高级会员,每年付30块钱年费,那么每年收入就是100万x1%x30元=30万元!不错嘛, 扣除十七八万的运营成本,还剩毛利润12万,每个屌丝年底能分到4万大洋,如果按照打工者的算法,这三个人每人月薪3333元,木有奖金,木有津贴、木有任何福利,上班还得带自家的电脑。


尽管如此,屌丝们还是激动得咬了一口水饺:感谢苍天!我们终于要盈利啦!那一夜,人们看到三个发疯的屌丝在屋顶翩翩起舞。


韩寒说,中国人民是最有忍耐力的族群,一点好处就感激涕零。他一定不知道,IT创业界里的屌丝,才是这群傻逼中的战斗机。他们可以平静地忍受每年都持续亏钱,而且还能信心十足的对所有人说公司的状态非常好,如果有一天居然收支平衡了,他们会激动的趁夜难眠,比北朝鲜倒掉还开心。


本文开头的三个屌丝,其实是非常幸运的,至少能做到月薪3333元。大部分的屌丝在第一年做到几万用户的时候就会挂掉,原因众多,最主要要的是意志太弱,受不了最初的寂寞;意志稍微坚强点的会在第二年第三年慢慢挂掉,原因主要是资金断裂、团队分裂;能成功熬到第四年还没饿死、还没被口水淹死、还没被肠胃病颈椎病腰肌劳损折磨死的,甚至员工不减反增的,基本上属于神仙级别了。


我为什么要说三个屌丝的故事呢。首先是因为这是身边每天都在发生的故事,其次是因为感到可惜,IT界在我眼里一直是一个无比高级的职业,聚集着全球最聪明、最富有的人类精英。以IT创业界的青年们的智商,他们可以做成任何一件事情,包括改造银行到制造汽车到发射航天飞机 。结果这帮人却整天在蓬头垢面得为3k的月薪而挣扎,太悲催了。


为什么用悲催这个词? 如果一个人生下来就在山沟沟里,一辈子都没机会去见什么好东西,这不叫悲催,这只叫苦难;而如果一个人生出来有一个奇怪的特异功能:皮肤出来的汗水会凝结成昂贵的水晶,本来只靠出汗就能赚钱,结果这傻逼居然觉得出汗这个行为太低级,做手术把自己的汗腺全给切了,而且丝毫没有意识到他做了什么傻事,这才叫真的悲催。


我们IT界中的很多人,生下来就是有这个出汗成水晶的特异功能的,正是因为这种与众不同,这群人能混入牛逼的大学,整天打网游还能写出像样的毕业论文, 拿到学位,进外企,考CPA,做咨询、做证券分析,研究高分子材料,做电子商务,做云计算……一级一级的上升,直到有一天,发现身边的人里,已经没有一个不是CPA,不是咨询师,不是高级研究员了,身边的人全是业界精英,个个都超级强悍。在这个所谓的高级圈子里,自己并没有任何过人之处,只不过是just another analyst而已。在高级圈子里拼的头破血流,最后也只能混到给台湾人整理数据而已。莫然回首,发现当年的血气方刚、年少时的无限梦想,进化成了一身肥胖的赘肉。这个时候,有个旁观者说:“升级到头了,该降级了”


当一个社会疯狂鼓吹快节奏的时候,一定需要有人来宣扬慢生活;当全社会跟打了鸡血似的吹捧升级的时候,一定需要有人来说说降级论。


IT青年们喜欢打游戏,喜欢升级。他们的人生也和游戏一样,沉醉于不停的升级中,不仅喜欢升级自己手上的技术,把MySql改成MongoDB,把Apache升级为Nginx,在Mac上装Ubuntu,Ubuntu里再装个虚拟机去跑Mac OS……IT青年们也喜欢升级自己的人生,从程序员升级到项目经理,再升级到技术总监或产品总监,再升级到合伙人……


在不断追求升级的过程中,所面临的一个很大事实是:当一个人从A刚升级到A+级的时候,其实这个人的能力层级依然只是A的层级,还未胜任A+的层级,他必须要到A+的后期,才可以胜任A+。就好像一个高中生,高考完之后,虽然理论上已经属于大学生了,但是他的实际能力依然只是高三毕业的水平,除非他全部pass了大一的期末考试。同样的道理,这个世界上有很多人的身份和称谓,都是在描述“未来的自己”,而不是现在的自己。当你从销售员升级为销售经理的时候,你自我感觉很好:“我现在是销售经理了”,但是这个时候 ,你并未通过公司对你作为销售经理这一年的工作成果的考核,你只是一个“未来可能是合格的销售经理”的前身。如果年终考核你失败了,那么这一年最准确的描述是:一个销售员,占了整整一年销售经理的位子,最后失败了。而且这一年一定会过的很累,因为通过考核的其他销售经理,才是真正胜任这个层级的人,跟一帮真正属于这个圈子的人厮杀,就好像拳击馆里当陪练的小角色,去和泰森比了一年的武,怎么可能不累呢?


当我07年进入互联网行业的时候,就是那个拳击馆里陪练的小角色,我被迫去跟全国各地的泰森比拼,结果累的半死。后来我开始反思最初的目标,为什么要在自己身上挂一个“拳击高手”的招牌,被那么多泰森追着打? 我把这块招牌卸了,找个完全没练武的人去比拼,不是更容易赢么?于是果断照做,去找了一个没人懂拳击的小乡村,做了纯英文的Tucia.com(需翻墙),只做国外的业务。在那个地方,作为一个知名武馆的拳击小陪练,我成了村子里拳击技术最高超的人,受人仰慕,还开武馆教人拳击,活的非常滋润,而且在教人拳击的过程中,自己的拳术也比以前提高了很多,发展出一套属于自己的拳法,我虽然进不了泰森们的大圈子,但他们也进不了我的小圈子。


关于圈子,有一个很赤裸裸的现实:不会是你进入圈子,只能是圈子进入你。很多人会四处找关系,“帮我介绍给xxx吧,我想进入你们的圈子”,这样的人是永远进不去这个圈子的,因为圈子的天性是,永远追求更高一个层级的人。而我们的大部分人,其实都在以低一级的属性,占着更高一级的位子,徘徊在更高一级的圈子边缘,与更高一级的人竞争,幻想着自己可以升级到那个圈子里去。也许永远进不去,悲催的努力一辈子;也许运气好,某一天真的进入这个圈子了,但那个时候又会有下一个目标,希望进入更高级的圈子,这是一场没有终点的战斗。永远的追求升级,永远的累。


有没有想过降级呢?


如果一个来自微软的高级工程师,辞职去一个养猪场做开放平台经理,那么他的到来不仅会让养猪圈感到无比荣幸,更是意味着,利用他在IT界训练出来的高效工作方式和逻辑思维能力,他可以掀起一场养猪行业的革命,使得20年后才会出现的人性、高效、开放、协作、健康的养殖方式提前到达。在这场革命中,他会活的非常有价值。这种价值,在原先的圈子里,是完全体验不到的,因为他此前的所有工作,只是在满身疮痍的windows系统上不停的打补丁,无论打多少都逃不开产品衰落、被人鄙视的命运。


很多人的命运,都像是上面那个微软工程师。只需要降级,就能创造更大的价值,也能获得更大的满足。那为什么不呢?为什么要死死抱着那个所谓的“高级职业”不放呢?


去年我曾犯贱去趟了移动互联网的浑水,做了个手机app,刚开始的时候感觉很高级,但很快,铺天盖地的竞争对手就出现了,我又发现自己陷入了07年一样的场景:作为一个小小陪练,我他妈的又被一帮泰森们给围住了。当泰森中的战斗机---微信,变得无比牛逼之后,我就知道,战胜这群泰森是绝对不可能的事情了。于是我再次投靠了“降级论”,把自己从牛逼哄哄的移动互联网行业,降级到了一个被人不齿的低级项目:Tucia Baby。


这个项目虽然是传统行业,但是我们基本上是按照互联网产品的思路去做的,除了拍摄需要来店里以外,其他一切,包括营销、预约、客服、后期、选片、取片、客户关系等,所有环节都放在网络上,尤其是微博(@tuciababy官网)。当然,最重要的是,作为一个脑残的果粉,我按照iPhone的做工品质去要求每一张作品,必须达到我们能力可以做到的最好水准,不计成本的最好水准,才允许送给客户。正式接客不到两个月时间,虽然还不敢自称成功,但目前已做到几乎每天都客满,口碑很好,财务上已实现盈利,未来相信一定会比大部分app开发者更光明。(ps:我们没有请工商、税务、城管去吃饭喝酒泡桑拿,也没有塞钱给任何政府机关。当你的产品真的用心做到很好的时候,其实你不需要讨好任何人的。)


这个项目让我沉思了很久:07年我曾把一个纯纯的web2.0网站做到了alexa中国区前1000名(如有质疑,请查询2010年附近的tucia.com排名),结果一路亏损,到最后只剩下一个员工;11年我把那个纯纯的app做到苹果官方推荐区免费榜的第一位(如有质疑,请看点此看截图),那段时间每天四五千iPhone安装量,结果一路烧钱,到最后濒临关闭;而如今,我只需把自己从纯纯的互联网降级下来,做一些看起来有些“低级”的项目,居然就能立即实现收支平衡。


除此以外,我还发现一个现象,中国消费者在与奸商们的长期斗争中,已经培养出了一种非常苦B的品质:只要不被坑,他就谢天谢地。如果商家严格做到了承诺的每一件事情,客户就会感动的泪如泉涌。如果商家不仅做到了所有承诺的事情,还很贴心的提供了一些额外的服务(比如我们给每位客户赠送非常好吃的樱桃和昂贵的进口巧克力作为点心),那么客户就会激动的哭天喊地、奔走相告,推荐给他认识的每一个人。


其实这片肮脏的国土,就是上天赐予IT青年们的最好机会。


在一个不会练武的村子里,只要你会打两拳,你就是拳术最厉害的人;在一个没有服务意识、忽视产品质量的土地上,只要你用心做服务,用最高的标准去要求自己,你就会成为这块土地上最出色的商家;在一个没有现代管理意识,不懂网络、不懂微博、不懂用户体验、不懂口碑传播的粗犷社会里,你只需要把之前花在IT产品上的心思的10%拿过来用,就可以秒杀一切天朝对手。


所以,


IT青年们,当你在为网站的转化率苦苦思索的时候,当你在为app的活跃度辗转反侧的时候,当你在为融资计划苦苦哀求各界大佬引荐的时候,也许犯了一个错误,也许你们的脑子最值得闪光的地方,不是去悲催的IT界当炮灰,而应该是去按摩界、餐饮界、烧烤界、早餐界、理发界、送花界、纺织界、装修界、婚庆葬仪界、成人用品界、现代养殖界、有机蔬果界、个人护理界、汽车修理界……与IT界相比,这些行业的确无比低级,他们的老板连qq都会发音成“抠抠”,他们的员工一辈子都没用过Email;跟他们解释什么是SEO,什么是用户体验,什么是数据挖掘,他们会在听你说完之前就开枪自杀掉。正是因为如此,这些行业才是如此的不堪一击。正是因为如此,当智商高达147的IT青年还在为3k薪水拼命、而智商不到50的烧烤店老板正坐在porsche里玩着前面那位青年开发的app的时候,我就忍不住仰望星空。


这些原始而纯粹的行业,正在等待IT精英们的降级,如同蒲公英一般的伞兵,在黑夜里从天而降,长驱直入,用最智慧的产品、最优质的服务拯救这些早就该死的行业,屌丝的生命将会绽放出银色的羽翼,无比丰满,无比性感。


最后注意,请珍惜生命,远离我的微博:@meditic




]]>
[SQL9.com] iihero实验室 2012-07-10 16:07:39
120 发布ETL工具:JmyETL1.0.2 (支持多种数据庫相互导入导出) Support:  Oracle, Sybase ASE/ASA, MySQL, PostgreSQL(DataWare), Access

即将支持DB2和SQL Server。

下载地址:http://code.google.com/p/hisql/downloads/list ==> jmyetl-1.0.2.zip

说明见:

http://code.google.com/p/hisql/wiki/usageOfJmyETL

使用时,先修改jmyetl.ini文件,设置好jvm的位置即可。



]]>
[SQL9.com] iihero实验室 2012-06-10 16:06:40
119 Add service dependency for a service[为Windows服务添加依赖项] These days,  I'm so out to get this worked.

I just tried a method to change the registry table:  HKLMSYSTEMCurrentControlSetServices, DependOnService, input the new name.

But this will not take effect immediately.

We should use HKLMSYSTEMCurrentSet001ServicesSybaseMessagingService as the KEY.

Another way, very effective:

sc config
Modifies a service entry in the registry and Service Database.
SYNTAX:
sc config [service name] ...
CONFIG OPTIONS:
NOTE: The option name includes the equal sign.
 type=
 start=
 error=
 binPath=
 group=
 tag=
 depend=
 obj=
 DisplayName=
 password=


]]>
[SQL9.com] iihero实验室 2012-06-06 02:06:27
118 Ellison,真的很让人佩服 Ellison(埃利森),你如果听到他的一些现场说法,真的会被折服。他的野心和执行力使得Oracle得以不断的发展和壮大。 

以下是他的一些看法和观点:
     埃里森:我们并不是消费者型企业,但我们向消费者型企业出售产品。苹果就是一个大的消费者。还有所有的手机厂商,到现在为止,我们是全球最受欢迎的自动系统提供商。我们在这一领域的大型竞争者就是IBM。我们成长的速度要比IBM快。IBM曾经是数据库领域的No. 1,现在我们成为了No. 1。它们曾经是中间件业务领域里的No. 1,现在我们成为了中间件领域里的No. 1。它们曾经是高端服务器里的No. 1,我们将很快成为这一领域里的No. 1。

埃里森:我们不会与IBM在服务领域进行竞争。我们认为我们将在服务器领域里打败IBM。这是我们未来要做的事情。在Exadata、Exalytics和Exalogic产品领域,我们大的竞争对手是SAP。有意思的是,当我们在重新编写所有的大型应用时,SAP甚至都还没有开始对它们的应用进行编写。

埃里森:SAP在ERP领域里的特权地位处于危险之中。SAP宣布,到2020年之前,公司将不会推出任何新品。SAP收购了Ariba,它们收购了SuccessFactors。SAP的业务就是ERP,但它们在最少8年的时间里,在云服务中没有新的产品。我认为,在未来10到12年的时间里,SAP不会推出新的产品。


    这里,他对SAP的发展显然有些低估了。SAP正以前所未有的速度向云计算领域进军。


]]>
[SQL9.com] iihero实验室 2012-05-31 14:05:57