分类目录归档:技术文章

走马灯,图片滚动代码

  <div id=demo style=overflow:hidden;height:94;width:300;color:#ffffff>
<table align=left cellpadding=0 cellspace=0 border=0 width:300>
    <tr>
      <td id=demo1 valign=top><img src="zs/1.jpg" width="70" height="50" border="0" hspace="1" /><img src="zs/2.jpg" width="70" height="50" border="0" hspace="3" /><img src="zs/3.jpg" width="70" height="50" border="0" hspace="3" /><img src="zs/4.jpg" width="70" height="50" border="0" hspace="3" /><img src="zs/5.jpg" width="70" height="50" border="0" hspace="3" /><img src="zs/6.jpg" width="70" height="50" border="0" hspace="3" /><img src="zs/7.jpg" width="70" height="50" border="0" hspace="3" /><img src="zs/8.jpg" width="70" height="50" border="0" hspace="3" /><img src="zs/9.jpg" width="70" height="50" border="0" hspace="3" /></td>
      <td id=demo2 valign=top></td>
    </tr>
</table>
</div>

<script>
var speed=30
demo2.innerHTML=demo1.innerHTML
function Marquee(){
if(demo2.offsetWidth-demo.scrollLeft<=0)
demo.scrollLeft-=demo1.offsetWidth
else{
demo.scrollLeft++
}
}
var MyMar=setInterval(Marquee,speed)
demo.onmouseover=function() {clearInterval(MyMar)}
demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
</script>

图片链接改成自己的。

什么是网站架构师

架构师是软件行业中一种新兴职业,工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作。他必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这样说,一个架构师工作的好坏决定了整个软件开发项目的成败。

软件架构师实际上就是软件的总体设计师。首席设计师就是总设计师,打个通俗的比方:邓小平是中国改革开放的总设计师,我们用现在的说法可以讲,邓小平是中国改革开放的首席架构师。架构师的形成一定是在实践中积累起来的,而并非上了几次培训班,读了几本书就可以成功的,架构师是在工程实践中培养出来的!

架构师也并非是万能的。架构师是客户需求和开发者之间的桥梁。在软件行业中,一般提到的架构师是技术架构师,而忽略了领域架构师或者讲是领域工程师的概念。一个好的领域专家一定是业务领域的架构师,他能够给出某一个业务领域的架构,我们可以称为业务架构,只有技术架构和业务架构紧密结合才有可能真正创造出一个好的系统!

架构师,首先让我想起的是高楼大厦的设计人员,通常一座大厦在建之前,都先由设计师将蓝图描绘出来,包括其形状、结构、尺寸、材料等等,然后建筑工程师带领工人们按照蓝图将大厦一层一层地建起来。

近年来,软件领域也渐渐地流行起架构师的角色,特别是对一些大型软件产品或项目的开发,这一角色显得很关键,因为缺乏好的软件架构师而导致项目失败的例子不胜枚举,一个没有经验和能力的架构师也会使项目失败的速度加快。

'localhost' (10061) mysql Errno.: 2003

如果出现"ERROR 2003: Can't connect to server on 'localhost' (10061)", 说明你的MySQL还没有启动。

解决办法:

第一步
删除c:windowns下面的my.ini

第二步
打开c:mysqlinwinmysqladmin.exe 输入用户名 和密码

第三步 在dos下 输入 mysqld-nt -remove 删除服务
在接着输入 mysqld-nt -install

第四步 输入mysql 启动成功

IPv4地址和IPv6地址

Internet依靠TCP/IP协议,在全球范围内实现不同硬件结构、不同操作系统、不同网络系统的互联。在Internet上,每一个节点都依靠惟一的IP地址互相区分和相互联系。每个IP地址都包含两部分:网络ID和主机ID,网络ID标识在同一个物理网络上的所有宿主机,主机ID标识该物理网络上的每一个宿主机,于是整个Internet上的每台计算机都依靠各自惟一的IP地址来标识。IP地址构成了整个Internet的基础,从网络的层次结构考虑,一个IP地址必须指明两点:1)属于哪个网络,2)是这个网络中的哪台主机,于是,IP地址的格式为:网络号、主机号。

下面我简要说明一下现行的IPv4地址和正在推行的IPv6地址的相关基础知识。

1、IPv4地址

目前因特网使用的地址都是IPv4地址,32比特,通常用4个点分十进制数表示。为了给不同规模的网络提供必要的灵活性,IP的设计者将IP地址空间划分为几个不同的地址类别,地址类别的划分就针对于不同大小规模的网络。

A类网:网络号为1个字节,定义最高比特为0,余下7比特为网络号,主机号则有24比特编址。用于超大型的网络,每个网络有16777216(224)台主机(边缘号码如全“0”或全“1”的主机有特殊含义,这里没有考虑)。全世界总共有128(27)个A类网络,早已被瓜分完了。

B类网:网络号为2字节,定义最高比特为10,余下14比特为网络号,主机号则可有16比特编址。B类网是中型规模的网络,总共有16384(214)个网络,每个网络有65536(216)台主机(同样忽略边缘号码),也已经被瓜分完了。

C类网:网络号为3字节,定义最高三比特为110,余下21比特为网络号,主机号仅有8比特编址。C类地址适用的就是较小规模的网络了,总共有2097152(221)个网络号码,每个网络有256(28)台主机(同样忽略边缘号码)。

D类网:不分网络号和主机号,定义最高四比特为1110,表示一个多播地址,即多目的地传输,可用来识别一组主机。

如何识别一个IP地址的属性?只需从点分法的最左一个十进制数就可以判断其归属。例如,1~126属A类地址,128~191属B类地址,192~223属C类地址,224~239属D类地址。除了以上四类地址外,还有E类地址,但暂未使用。

对于因特网IP地址中有特定的专用地址不作分配:

(1)主机地址全为“0”。不论哪一类网络,主机地址全为“0”表示指向本网,常用在路由表中。

(2)主机地址全为“1”。主机地址全为“1”表示广播地址,向特定的所在网上的所有主机发送数据包。

(3)四字节32比特全为“1”。若IP地址4字节32比特全为“1”,表示仅在本网内进行广播发送。

(4)网络号127。TCP/IP协议规定网络号127不可用于任何网络。其中有一个特别地址:127.0.0.1称之为回送地址(Loopback),它将信息通过自身的接口发送后返回,可用来测试端口状态。

2、IPv6地址

IPv6地址的长度为128位,也就是说可以有2的128次方的IP地址,相当于10的后面有38个零;如此庞大的地址空间,足以保证地球上每个人拥有一个或多个IP地址。

(1)IPv6地址类型

在RFC1884中指出了三种类型的IPv6地址,他们分别占用不同的地址空间:

* 单点传送:这种类型的地址是单个接口的地址。发送到一个单点传送地址的信息包只会送到地址为这个地址的接口。

* 任意点传送:这种类型的地址是一组接口的地址,发送到一个任意点传送地址的信息包只会发送到这组地址中的一个(根据路由距离的远近来选择)

* 多点传送:这种类型的地址是一组接口的地址,发送到一个多点传送地址的信息包会发送到属于这个组的全部接口。

(2)IPv6地址表示

对于128位的IPv6地址,考虑到IPv6地址的长度是原来的四倍,RFC1884规定的标准语法建议把IPv6地址的128位(16个字节)写成8个16位的无符号整数,每个整数用四个十六进制位表示,这些数之间用冒号(:)分开,例如:3ffe:3201:1401:1:280:c8ff:fe4d:db39

希望手工管理IPv6地址的难度太大了,DHCP和DNS的必要性在这里显得更加明显。为了简化IPv6的地址表示,只要保证数值不变,就可以将前面的0省略。

比如:1080:0000:0000:0000:0008:0800:200C:417A

可以简写为:1080:0:0:0:8:800:200C:417A

另外,还规定可以用符号::表示一系列的0。那么上面的地址又可以简化为:1080::8:800:200C:417A

IPv6地址的前缀(FP, Format Prefix)的表示和IPv4地址前缀在CIDR中的表示方法类似。比如 0020:0250:f002::/48表示一个前缀为48位的网络地址空间。

(3)IPv6地址分配

RFC1881规定,IPv6地址空间的管理必须符合Internet团体的利益,必须是通过一个中心权威机构来分配。目前这个权威机构就是IANA(Internet Assigned Numbers Authority,Internet分配号码权威机构)。 IANA会根据IAB(Internet Architecture Board)和IEGS的建议来进行IPv6地址的分配。

目前IANA已经委派以下三个地方组织来执行IPv6地址分配的任务:

* 欧洲的RIPE-NCC(www.ripe.net)

* 北美的INTERNIC(www.internic.net)

* 亚太平洋地区的APNIC(www.apnic.net)

ASP.net Server Application Unavailable错误

Server Application Unavailable
The web application you are attempting to access on this web server is currently unavailable.  Please hit the "Refresh" button in your web browser to retry your request. Administrator Note: An error message detailing the cause of this specific request failure can be found in the application event log of the web server. Please review this log entry to discover what caused this error to occur.
解决方法如下:
1、找到安装Framework的文件夹的CONFIG文件夹,一般就是下面的路径:
C:WINDOWSMicrosoft.NETFrameworkv2.0.50727CONFIG
2、在这个路径中找到machine.config这个文件打开,最好用UltraEdit-32或文本编辑器打开
3、查找<processModel autoConfig="true" />这一项
4、找到后修改成:
<processModel userName="machine" password="AutoGenerate" autoConfig="true" />
5、如果还不行则说明权限不够,可改成:
<processModel userName="SYSTEM" password="AutoGenerate" autoConfig="true" />6、创建ASPNET用户,设置好口令,并将ASPNET用户添加到Administrators组中;
7、启动cmd.exe,然后执行以下命令:
runas /profile /user:ASPNET cmd.exe
aspnet_regiis -i 执行以上命令时需要输入你创建用户的口令.
8、将ASPNET用户从Administrators组中删除;将其用户设为Guests用户组中。为了安全起见,最好将ASPNET用户从所有的用户组中删除,不赋予其任何权限。
9、重启IIS即可 。或者重启系统。

IIS Worker Process 错误解决办法

Worker Process 遇到了一个问题,需要关闭。

第二个对话框还有个请单击此处的连接

以下文件将包含在这个错误报告中:
C:DOCUME~1ADMINI~1LOCALS~1Temp1WERc935.dir00w3wp.exe.mdmp
C:DOCUME~1ADMINI~1LOCALS~1Temp1WERc935.dir00appcompat.txt

解决方法

1、运行命令 net stop w3svc 停止IIS进程
清理这个目录C:Documents and SettingsAdministratorLocal SettingsTemp

2、看应用程序日志.IIS相关的.有详细的错误说明和解决方法地址.
3、检查一下你的进程池设置.

上述是结果最多的一种解决办法,事实上来,基本等于没说;报这个错误,是没错,很多有这个出现“IIS Worker Process 遇到了一个问题,需要关闭”这个问题后,重启服务器时,就会报这个日志错误,发送给微软官方来供分析处理。如果选择不发送,刚上面temp目录中的文件,都会自动清除,根本不用清理。事实上,出现这个问题时,有时候系统日志是没有具体的错误记录的。进程池中的设置,与此也无关,因为我默认的设置,却是出现这个问题。

第二个处理方案是:

很多时候我们的处理方法都是直接重装IIS.卸载.net 2.0但效果不是很明显.彻底的处理方法就是新建管理员账户.或删除 C:Documents and Settings你的管理员用户名 文件夹下的 NTUSER.DAT文件.这个文件的作用是保存用户配置信息.登录后会重新建立.

依上述看来,似是和用户配置有关系,但这个处理方法,我也没有具体测试,但依经验分析,似不是这方面问题。

在精品技术(ccf)论坛
iis运行过程中触发了DEP错误。DEP的功能是防止恶意代码通过缓冲区溢出来进行攻击。所以系统就报告了这个错误

这个判断,倒是有可能,只是没看到解决方案,因此只限于以后对此方面多加注意,有环境测试了,可以试试。有关DEP错误方面,这里可以看到有关设置

1.要打开“系统属性”,请依次单击“开始”、“控制面板”,然后双击“系统”。
2.单击“高级”选项卡,在“性能选项”下,单击“设置”。
3.单击“数据执行保护”选项卡。
4.选择“只为关键windows程序和服务启用数据执行保护”。

yahoo域名转出方法

1. 登录到域名控制面板: https://domains.yahoo.com/services
2. 点击”Edit Domain Locking”, 修改域名的锁定状态,改为”Unlocked”
3. 在控制面板中,点击”View Your Authorize Code”,获得转出授权码
4. 告诉新域名服务商,该授权码
5. 转出成功后,在yahoo中取消域名服务。

freeBSD卸载 apache

如果从ports安装,那cd到apache的目录,并make deinstall clean就行,如果是用别的方法安装,那 pkg_info | grep ,查到对应的版本后就 pkg_delete -version就行

make deinstall以后再rm -rf /usr/local/etc/apache2

cd /usr/ports/net/cvsup-without-gui
make install clean;

port安装不上MYSQL的解决办法!

解决办法:
portsnap fetch
portsnap extract -p /usr/ports/
portsnap update

另:使用ports下载时可更改/etc/make.conf文件加快下载速度
ee /etc/make.conf
并加入如下内容
MASTER_SITE_OVERRIDE?=http://ports.hshh.org/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?=http://ports.cn.freebsd.org/${DIST_SUBDIR}/

FreeBSD更新ports

1、安装cvsup
如果还没安装过cvsup,那么请执行以下命令安装:
cd /usr/ports/net/cvsup
make install clean

2、然后拷贝ports的配置文件到/etc/ports-supfile
cp /usr/share/examples/cvsup/ports-supfile /etc/ports-supfile
ee /etc/ports-supfile
将其中的# host=CHANGE_THIS.FreeBSD.org一行改为host=cvsup.freebsdchina.org
cvsup.freebsdchina.org这个是中国的镜像服务器执行速度很快,不会连接过多

3、更新ports
/usr/local/bin/cvsup -g -L 2 /etc/ports-supfile

4、修改/etc/make.conf文件
如果不存在则可以参考/etc/defaults/make.conf文件新建一个,该文件主要是编译的时候需要用到。
如果要中文支持,就要加入这一段在make.conf中

下面是我的make.conf文件内容
引用SUP_UPDATE= yes
SUP= /usr/local/bin/cvsup
SUPFLAGS= -g -L 2
SUPHOST= cvsup.cn.FreeBSD.org
PORTSUPFILE= /etc/ports-supfile
WITH_CJK= yes

好了,这样Ports就更新完了。