programmer's home, welcome here!

technical issues and my life

常用链接

统计

最新评论

2007年4月17日 #

修复注册表-修复msconfig, regedit

---转自网络

运行cmd regedit msconfig提示找不到文件

今天我同学的电脑,开始运行“cmd regedit msconfig” 这三个命令都不行 ,提示"找不到文件"。可是文件明明在阿。

直接运行system32目录下的cmd也不行,照样提示"找不到文件"。把cmd改名为cmd1就能够运行

我的处理过程:

开始我怀疑是中病毒了,是病毒程序在监听哪个程序标题为“cmd”,发现就结束。

首先用卡巴扫了一下启动项,没发现病毒。又用冰刃查了一下启动项,进程,都没问题。

想了想会不会中了rootkit 级的马儿,可用冰刃仔细看了看内核,没有显示红色的阿,刚才杀毒软件也没报,是的可能性就不怎么大了。

那会不会是这个文件遭病毒感染了,我最讨厌感染型的蠕虫病毒了。我从我自己的电脑上把才cmd.exe拷贝过来了,用软件比较了下(光看大小不行的),一样的。

下载文件Hash.zip (28.61 KB , 下载:6次)

----------------------------------------------------------------------------

文件: C:WINDOWSsystem32cmd.exe
大小: 470528 字节
文件版本: 5.1.2600.2180 (xpsp_sp2_rtm.040803-2158)
修改时间: 2005年12月15日, 8:00:00
MD5: 722A247ACB86960A708528120759266D
SHA1: A859B7173FB0B1786BE07B01F779725EDF9043E7
CRC32: 15544920

----------------------------------------------------------------------------- 

后来经过询问前几天中过病毒,会不会是上次病毒修改了注册表什么地方,虽然病毒是被杀了,但是修改的地方仍然没有改过来的呢。结果证明,这个判断是正确的。

具体处理方法:

 用冰刃的修改注册表,或者将windeows目录下的regedit.exe修改一下名字,比如叫regedit1.exe,修改注册表。

将HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options  里面的

cmd.exe
msconfig.exe
regedit.exe
regedit32.exe

删除就可以了。

典型的 映像劫持。

这只是处理病毒后遗症,具体的处理病毒的方法没有写,因为有很多病毒都会造成这种状况,具体病毒具体对待。

posted @ 2007-05-12 16:25 crazy zerlot 阅读(1960) | 评论 (0)编辑 收藏

创业故事-转

--转自

做共享软件是有利可图的,这是真的,1999年3月以前我还不信,可是经过一年多的
研究和实践下来,我已经每月能赚4万多美金了,比某些大公司总裁还多。但是,
我敢说,80%以上的共享软件作者并不成功,实际上,他们远远没有赚到他们本来可以
赚到的收入。

软件共享发行销售(先试后买)是一种市场营销手段,和其他所有市场营销手段一样,
是有学问的,要想通过软件共享发行获得成功,就必须掌握这些学问。

今天,我来贴上第一篇技术文章,收钱的办法
在几年以前,Internet还没有流行的时候,共享软件的作者只能靠从邮件中收到用户的支票和现金的方法来赚钱,而用户寄出支票后,还要等上一周或更多的时间得到来自作者的注册码。注意,当以下几种情况发生时,软件作者的生意就做不成了:
1)用户的支票本刚好用完,等他买回新支票本时,消费冲动已经没有了
2)用户的邮票刚好用完,他还不得不去一趟邮局买邮票,转念一想,这软件我也不是
非买不可,算了
3)用户无法忍受要等好多天才能拿到注册码
一句话,太不方便了


现在好了,有了Internet,有了电子商务,用户可以在最想买你的软件的一刹那间,迅速的用他的信用卡在网上买下你的软件,连后悔的时间都没有,共享软件发财的日子到来乐。
那么,如何在网上收取信用卡呢?
如果你拥有一个公司,在美国银行有信用卡商号帐户,又购买了银行的GATEWAY软件,在自己的网站上开发了信用卡收费系统当然很好,但对于广大共享软件作者来说,这很不现实.有简单的办法,就是找一家信用卡收款代理公司,让他们替你收款,你只要每个月等他们给你寄一张总额的支票(他们会提取一定比例的佣金)就行了.
这样的代理公司网站有:
WWW.QWERKS.COM   提成 15-20% (服务极好,是我的服务商)
WWW.Shareit.COM
WWW.REGNOW.COM
WWW.REGSOFT.COM
WWW.Kagi.com

对于咱们国内的共享软件作者,还要做的一件事就是去中国银行开个户头(北京中行的活期一本通就很好用),如果你打算让信用卡公司把钱电汇给你,你还要知道银行的英文名字,地址,帐户名,
帐号,转帐的SWIFT Code(可以从银行职员那里问到)
到信用卡代理公司的网站上开户非常简单,通常确认它们的一个在线协议,填入一些个人信息和产品信息,几分钟就OK了
这里面有一个值得注意的地方,就是,当用户付了款后,注册码怎么给的问题,你可以选择由你来给(每收到一份订单,他们会给你发一封email,包含用户资料和email),由你生成注册码email给用户,也可以把注册码生成代码给信用卡公司,让他们编到他们的系统里去,用户来了订单后自动发出注册码,也可以由你一次性生成几百个注册码给他们,他们每收到一份订单时用掉一个注册码。
我个人的意见是,这几个信用卡服务商信誉都非常好,一次给他们几百个注册码是最简单的办法,对服务商来说操作简单,对用户来说快,交完钱马上就得到注册码了

当你完成作者和产品在信用卡服务商那里的登记后,就会得到一个URL连接,你把这个连接加到你的主页上面,标上一个“Buy Now”,用户点这里就可以用信用卡付款了,当然,你也可以把这个连接做到你的软件界面里去,这样用户在试用你的软件时,随时想买都可以点击这个连接上网购买

具体实例可以参考我的网站和软件
http://www.zy2000.com
MP3 CD Maker


对于一些Internet软件,如断点续传的下载软件,还有另外一种赚钱方法,就是对用户免费,而在软件界面上登一个banner广告赚取广告费。最有名的广告代理商是
www.radiate.com
他的广告付费是每CPM 2-5美元,也就是说,如果一天里有10万个用户使用了你的软件一次的话,你就得到200-500美元。这家公司声称,著名的下载工具软件Gozilla!落户Radiate后,每月从Radiate那里赚到22万美元,我们著名的NetAnt是不是该赶快行动了?

我们也不反对用户用支票和现金购买软件,事实上,信用卡服务商都提供支票和现金收款业务,我们可以在网页中提供信用卡服务商的地址和服务热线电话,具体例子可以参考我的网页中 FAQ 一页的内容

posted @ 2007-04-25 13:50 crazy zerlot 阅读(269) | 评论 (0)编辑 收藏

HQL查询语言基础

1 .from

1.1单表查询

from eg.cat as cat.其中,cat只是一个别名,为了用其他子语句的时候书写简单

1.2多表查询

from eg.Cat,eg.Dog
from eg.Cat as cat,eg.Dog as dog
2 join相关
(inner) join
left (outer) join
right (outer) join
full join
HQL同样对SQL中的这些特性支持
下面插播一个小话题,关于上边的那些特性,我一直都没怎么用,今天既然说到这里,就想
把上边的几个特性的用法说一下,也算对自己的一个补充:
假设有两个表:部门、员工,下面列举一些数据:
员工(Employee):
ID Name DepNo
001 Jplateau 01
002 Jony 01
003 Camel 02
部门(Department):
ID Name
01 研发部
02 营销部

在Hibernate中我们操纵的都是对象,所以我们操纵的是部门类和员工类
1).(inner) join
select employee.ID as id1,employee.Name as name1,department.ID as id2,department.Name
as name2 from Employee as employee join Department as department on employee.DepNo=
department.ID (注意到条件语句我用on 没有用where)
那么执行结果是什么呢?
id1 name1 id2 name2
++++++++++++++++++++++++++++++++++++++
001 Jplateau 01 研发部
002 Jony 01 研发部

2).left (outer) join
select employee.ID as id1,employee.Name as name1,department.ID as id2,department.Name
as name2 from Employee as employee left join Department as department on employee.DepNo=
department.ID
那么执行结果又该是什么呢?
id1 name1 id2 name2
++++++++++++++++++++++++++++++++++++++
001 Jplateau 01 研发部
002 Jony 01 研发部
003 Camel null null
{就是说此时我要已第一个表的记录多少为准,第二个表中没有相应纪录的时候填充null}
3). right (outer) join
select employee.ID as id1,employee.Name as name1,department.ID as id2,department.Name
as name2 from Employee as employee right join Department as department on employee.DepNo=
department.ID
那么执行结果又该是什么呢?
id1 name1 id2 name2
++++++++++++++++++++++++++++++++++++++
001 Jplateau 01 研发部
002 Jony 01 研发部
null null 02 营销部
{就是说此时我要已第二个表的记录多少为准,第一个表中没有相应纪录的时候填充null}

3 大小写敏感

4。select语句
就是要确定你要从查询中返回哪些对象或者哪些对象的属性。写几个例子吧:
select employee form Employee as employee
select employee form Employee as employee where employee.Name like 'J%'
select employee.Name form Employee as employee where employee.Name like 'J%'
select employee.ID as id1,employee.Name as name1,department.ID as id2,department.Name
as name2 from Employee as employee right join Department as department on employee.DepNo=
department.ID

select elements(employee.Name) from Employee as employee
(不明白elements到底是做什么用的?望给于说明)
等等
5。数学函数
JDO目前好像还不支持此类特性。
avg(...), sum(...), min(...), max(...)

count(*)

count(...), count(distinct ...), count(all...)

其用法和SQL基本相同

select distinct employee.name from Employee as employee
select count(distinct employee.name),count(employee) from Employee as employee

6。polymorphism (暂时不知道如何解释?)
from com.test.Animal as animal
不光得到所有Animal得实例,而且可以得到所有Animal的子类(如果我们定义了一个子类Cat)
一个比较极端的例子
from java.lang.Object as o
可以得到所有持久类的实例

7。where语句
定义查询语句的条件,举几个例子吧:
from Employee as employee where employee.Name='Jplateau'
from Employee as employee where employee.Name like 'J%'
from Employee as employee where employee.Name like '%u'
在where语句中“=”不光可以比较对象的属性,也可以比较对象,如:
select animal from com.test.Animal as animal where animal.name=dog

8。表达式

在SQL语句中大部分的表达式在HQL中都可以使用:
mathematical operators +, -, *, /

binary comparison operators =, >=, <=, <>, !=, like

logical operations and, or, not

string concatenation ||

SQL scalar functions like upper() and lower()

Parentheses ( ) indicate grouping

in, between, is null

JDBC IN parameters ?

named parameters :name, :start_date, :x1 (这种应该是另一种"?"的变通解决方法)

SQL literals 'foo', 69, '1970-01-01 10:00:01.0'

Java public static final constants eg.Color.TABBY

其他不必解释了,在这里我只想对查询中的参数问题说明一下:
大家知道在SQL中进行传递参数进行查询的时候,我们通常用PreparedStatement,在语句中写一大堆的“?”,
在hql中也可以用这种方法,如:
List mates = sess.find(
"select employee.name from Employee as employee " +
"where employee.Name=? ",
name,
Hibernate.STRING
);
(说明:上面利用Session里的find方法,在hibernate的api Session中重载了很多find方法,它可以满足你多种形式的查询)
上边是一个参数的情形,这种情况下紧接着引入参数和定义参数的类型,当为多个参数,调用另一个find方法,它的后两个
参数都是数组的形式。

还有另外一种方法来解决上边的问题,JDO也有这样的方法,不过和hibernate的表现形式上有差别,但他们两个骨子里却是
一样的,如:
Query q = sess.createQuery("select employee.name from Employee as employee where employee.Name=:name");
q.setString("name", "Jplateau");
//当有多个参数的时候在此逐一定义
Iterator employees = q.iterate();

9。order 语句
和sql语句没什么差别,如:
select employee.name from Employee as employee where employee.Name like 'J%' order by employee.ID desc (或者asc)

10。group by 语句
同样和sql语句没什么差别,如:

select employee.name,employee.DepNo from Employee as employee group by employee.DepNo

select foo.id, avg( elements(foo.names) ), max( indices(foo.names) ) from eg.Foo foo group by foo.id
{Note: You may use the elements and indices constructs inside a select clause, even on databases with no subselects.}
谁帮我解释一下上边两句,谢过!

11。子查询
hibernate同样支持子查询,写几个例子:

from eg.Cat as fatcat where fatcat.weight > ( select avg(cat.weight) from eg.DomesticCat cat )

posted @ 2007-04-25 13:21 crazy zerlot 阅读(295) | 评论 (0)编辑 收藏

23种设计模式及其对应实例-转

-转载

下面是作者对设计模式的理解并自以为所对应的实例
一 : 单例模式(Singleton)
 
账本类:1 单一实例 2 给多个对象共享 3 自己创建。网页计数器
  
二:策略模式(Strategy) 
 
使用QQ泡MM时使用外挂  客户端 :ME 抽象类: 外挂 具体:策略(图片,笑话,名人名言)
图书销售算法(不同书本折扣的算法)
 
三:原型模式(Prototype)
 
复印技术: 1 不是同一个对象 2 属同类
短消息(转发) 1-n个MM
 
四:门面模式(Façade)
 
Facade典型应用就是数据库JDBC的应用和Session的应用
ME---àMM---à(father,mum,sister,brother)
 
五:备忘录模式(Memento)
 
备份系统时使用
GHOST

六 : 命令模式(Command)
 
MM(客户端)--àME(请求者)--à命令角色--à(具体命令)-à代理处(接收者)--àMM
上网 IE 输入 http地址 发送命令
 
七: 解释器(Interpreter)
 
编译原理之编译器
文言文注释:一段文言文,将它翻译成白话文
八:调停者模式(Mediator)
 
法院和原告,被告的关系
九:责任链模式(CHAIN OF RESPONSIBLEITY)
 
喝酒时通过成语接龙决定谁喝酒(马到成功-功不可没-没完没了)
十:工厂模式(Factory)
 
水果园—〉(葡萄园,苹果园)--〉(葡萄,苹果)(各自生产)
十一:抽象工厂模式(Abstract Factory)
 
女娲造人---〉(阴,阳)--〉(人,兽)----〉(男人,女人,公兽,母兽)(人和兽属于不同的产品类)
 
十二:建造模式(Builder)
 
汽车制造
 
十三:合成模式(Composite)
 
windows的目录树(文件系统)
 
十四:装饰模式(DECORATOR)
 
在visio中文件可以使用背景进行装饰
变废为宝
十五:设计模式之Adapter(适配器)
 
充电器(手机和220V电压)
jdbc-odbc桥
十六:桥梁模式(Bridge)
 
jdbc驱动程序
 
十七:代理模式(Proxy)
 
用代理服务器连接出网
销售代理(厂商)律师代理(客户)
foxmail
枪手
 
十八:享元模式(Flyweight)
 
字体的26个字母和各自的斜体等
 
十九:状态模式(State)
 
人心情不同时表现不同有不同的行为
编钟
登录login logout
 
二十:观察者模式(Observer)
 
公司邮件系统everyone@sina.com的应用。当公司员工向这个邮箱发邮件时会发给公司的每一个员工。如果设置了Outlook则会及时收到通知。
接收到短消息
 
二十一:模板方法模式(Template)
 
使用网页设计时使用的模板架构网页(骨架) 算法的各个逻辑系统
 
二十二:访问者模式(Visitor)
 
电脑销售系统: 访问者(自己)---〉电脑配置系统(主板,CPU,内存。。。。。。)
 
二十三:迭代子模式(Iterator)
 
查询数据库,返回结果集(map, list, set)
 
下面的参考文献是读书笔记的全部参考文献。这里不一定用到的。
参考文献:
http://blog.csdn.net/airhand/
http://blog.csdn.net/bloom121/
http://blog.csdn.net/laurecn/
http://blog.csdn.net/legendinfo/
http://www-128.ibm.com/developerworks/cn/java/l-struts1-1/
《Design Patterns》
《Java与模式》
《设计模式:可复用面向对象软件的基础》

 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1227902

posted @ 2007-04-17 15:15 crazy zerlot 阅读(1275) | 评论 (0)编辑 收藏