专家推荐看的几本软件开发相关的书籍

book name author category
Hard Drive  Bill Gates and the making of the Microsoft Empire James Wallace, Jim Erickson culture
Agile Software Development: Principles, Patterns, and Practices ROBERT C. MARTIN process
软件开发过程与案例 陈宏刚 熊明华 林斌 张高 张益肇 张亚勤 process
The Art of Project Management Scott Berkun process
现在, 发现你的优势 唐纳德·克利夫顿 soft skill
像外行一样思考,像专家一样实践 —— 科研成功之道 []金出武雄 马金成、王国强 soft skill
代码大全(第二版) STEVE MCCONNELL technical
EFFECTIVE C++:改善程序技术与设计思维的55个有效做法 SCOTT MEYERS technical
Code Reading: The Open Source Perspective Diomidis Spinellis technical
The Human Interface: New Directions for Designing Interactive Systems Jef Raskin technical
移山之道 - VSTS 软件开发指南 邹欣 technical, process
Microtrends: The Small Forces Behind Tomorrow's Big Changes Mark Penn, E. Kinney Zalesne vision
The Tipping Point - How Little Things Can Make a Big Difference Malcolm Gladwell vision

英特尔服务器主板S3000AH未知设备解决办法

英特尔® 服务器主板 S3000AH
Microsoft Windows* 设备管理器下的两个未知设备

在 Microsoft Windows* 上,安装所有的驱动程序(板上集成的 LAN、视频和芯片组)后,Microsoft Windows* 设备管理器下会显示两个设备 -“PCI 设备”和“PCI 串行端口”,每个设备都带一个黄色的问号。

“PCI 设备”和“PCI 串行端口”这两个设备都是英特尔® 主动管理技术 (iAMT) 的组件。如果这两个设备未安装驱动程序,则 iAMT 将不可用。 这些设备的 .inf 文件都包含在 LAN 驱动程序包(10.4 或更高版本)中,而不是英特尔® 芯片组驱动程序包。

处理警告的方法有以下两种:

在 LAN 驱动程序包 10.4 或更低版本上:

(1) 手动为这些设备安装 iamt.inf 文件。 解压 LAN 驱动程序包,在 Microsoft Windows* 设备管理器中选择“PCI 设备”,然后使用 Windows 在 \platform\IntelAMT\Drivers\WS03XP2K(IA32 系统)或 \platform\IntelAMT\Drivers\WS3XPX64(EM64T 系统)目录下找到 iamt.inf 文件。 通过此步骤可以安装 iamt.inf 文件。对“PCI 串行端口”执行同样的操作。



(2) 在 \apps\setup\SETUPBD 目录中运行为 LAN 驱动程序包提供的安装实用程序。 通过此步骤可以安装 LAN 驱动程序和 iamt.inf 文件。您也可以在 \apps\PROSETDX 目录下安装 LAN 驱动程序、PROSET 软件和 iamt.inf 文件。

在 LAN 驱动程序包 11.0 或更高版本上:

(1) 手动为这两种设备安装 iamt.inf 文件。 解压 LAN 驱动程序包,在 Microsoft Windows* 设备管理器中选择“PCI 设备”,然后使用 Windows 在 \PLATFORM\IntelAMT\Drivers\Win32(IA32 系统)或 \PLATFORM\IntelAMT\Drivers\Winx64(EM64T 系统)目录下找到 iamt.inf 文件。 通过此步骤可以安装 iamt.inf 文件。对“PCI 串行端口”执行同样的操作。



(2) 在 \apps\setup\SETUPBD 目录中运行为 LAN 驱动程序包提供的安装实用程序。 通过此步骤可以安装 LAN 驱动程序和 iamt.inf 文件。您也可以从 \apps\PROSETDX 目录安装 LAN 驱动程序、PROSET 软件和 iamt.inf 文件。

适用于: 英特尔® 服务器主板 S3000AH

在没有安装VS 2005的情形下怎么使用网站管理工具

How to use Web Site Administration Tool without installing VS 2005

Hello everyone!! This one is a tweak to ensure that you are able to Administer your ASP.NET 2.0 web-site *without* installing Visual Studio 2005 on your IIS Server.

For that, you would need Framework 2.0 installed on your Server. If you don't have it, please install it from http://msdn.microsoft.com/netframework/downloads/updates/default.aspx.

Now, follow the instructions below...

1) In the box where you have VS 2005 installed, open an application which you want to Administer.
2) I am using File System to open the website and have called it WebSiteAdminister
3) Click on the ASP.NET Configuration button in your Solution Explorer's toolbox
4) Copy the URL (in my case, it is... http://localhost:2002/asp.netwebadminfiles/default.aspx?applicationPhysicalPath=C:\Inetpub\wwwroot\WebSiteAdminister\&applicationUrl=/WebSiteAdminister)
5) Now, go to the IIS Box where you don't have VS 2005 installed
6) Open IIS console (Click on Start -> Run, type Inetmgr and click OK)
7) Right-Click on your Default Web Site and say New -> Virtual Directory
8) Click on Next, give an Alias (WebSiteAdmin) and click Next
9) In the Directory text box browse to... "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ASP.NETWebAdminFiles" and click Next, Next and Finish
10) Right-click on WebSiteAdmin and hit properties
11) Click on the ASP.NET Tab and select 2.0.50727 as ASP.NET Version and click Ok
12) Copy the content of the website from the Development box to the IIS Server (I did it at "c:\inetpub\wwwroot\WebSiteAdminister")
13) Open an instance of Internet Explorer and in the Address Bar type... http://localhost/WebSiteAdmin/default.aspx?applicationPhysicalPath=C:\Inetpub\wwwroot\WebSiteAdminister\&applicationUrl=/WebSiteAdminister
14) You should be able to see ASP.NET Web Site Administration Tool (You can bookmark this so that you don't have to remember that string)
15) As you can see, we have removed the port number (2002) and changed asp.netwebadminfiles to our application WebSiteAdmin.

By the way, just to bring it to your notice, Administering you web site using the above technique is NOT supported at Microsoft. For support options at Microsoft, please visit... http://www.microsoft.com/services/microsoftservices/srv_support.mspx

Hope that helps!!

精妙的SQL

    * 说明:复制表(只复制结构,源表名:a 新表名:b)
      
select * into b from a where 1<>1

    
* 说明:拷贝表(拷贝数据,源表名:a 目标表名:b)
      
insert into b(a, b, c) select d,e,f from b;

    
* 说明:显示文章、提交人和最后回复时间
      
select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b

    
* 说明:外连接查询(表名1:a 表名2:b)
      
select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c

    
* 说明:日程安排提前五分钟提醒
      
select * from 日程安排 where datediff('minute',f开始时间,getdate())>5

    
* 说明:两张关联表,删除主表中已经在副表中没有的信息
      
delete from info where not exists ( select * from infobz where info.infid=infobz.infid )

    
* 说明:--

      SQL:

      
SELECT A.NUM, A.NAME, B.UPD_DATE, B.PREV_UPD_DATE

      
FROM TABLE1,

      (
SELECT X.NUM, X.UPD_DATE, Y.UPD_DATE PREV_UPD_DATE

      
FROM (SELECT NUM, UPD_DATE, INBOUND_QTY, STOCK_ONHAND

      
FROM TABLE2

      
WHERE TO_CHAR(UPD_DATE,'YYYY/MM'= TO_CHAR(SYSDATE, 'YYYY/MM')) X,

      (
SELECT NUM, UPD_DATE, STOCK_ONHAND

      
FROM TABLE2

      
WHERE TO_CHAR(UPD_DATE,'YYYY/MM'=

      TO_CHAR(TO_DATE(TO_CHAR(SYSDATE, 
'YYYY/MM'|| '/01','YYYY/MM/DD'- 1'YYYY/MM') ) Y,

      
WHERE X.NUM = Y.NUM (+

      
AND X.INBOUND_QTY + NVL(Y.STOCK_ONHAND,0<> X.STOCK_ONHAND ) B

      
WHERE A.NUM = B.NUM

    
* 说明:--
      select * from studentinfo where not exists(select * from student where studentinfo.id=student.id) and 系名称='"&strdepartmentname&"' and 专业名称='"&strprofessionname&"' order by 性别,生源地,高考总成绩

    
* 从数据库中去一年的各单位电话费统计(电话费定额贺电化肥清单两个表来源)

      
SELECT a.userper, a.tel, a.standfee, TO_CHAR(a.telfeedate, 'yyyy'AS telyear,

      
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '01', a.factration)) AS JAN,

      
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '02', a.factration)) AS FRI,

      
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '03', a.factration)) AS MAR,

      
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '04', a.factration)) AS APR,

      
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '05', a.factration)) AS MAY,

      
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '06', a.factration)) AS JUE,

      
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '07', a.factration)) AS JUL,

      
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '08', a.factration)) AS AGU,

      
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '09', a.factration)) AS SEP,

      
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '10', a.factration)) AS OCT,

      
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '11', a.factration)) AS NOV,

      
SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '12', a.factration)) AS DEC

      
FROM (SELECT a.userper, a.tel, a.standfee, b.telfeedate, b.factration

      
FROM TELFEESTAND a, TELFEE b

      
WHERE a.tel = b.telfax) a

      
GROUP BY a.userper, a.tel, a.standfee, TO_CHAR(a.telfeedate, 'yyyy')

    
* 说明:四表联查问题
      
select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where ..

    
* 说明:得到表中最小的未使用的ID号

    
* SELECT (CASE WHEN EXISTS(SELECT * FROM Handle b WHERE b.HandleID = 1THEN MIN(HandleID) + 1 ELSE 1 ENDas HandleID  FROM Handle WHERE NOT HandleID IN (SELECT a.HandleID - 1 FROM Handle a)

    
* 一个SQL语句的问题:行列转换
      
select * from v_temp
      上面的视图结果如下:
      
user_name role_name
      
-------------------------
      系统管理员 管理员
      feng 管理员
      feng 一般用户
      test 一般用户
      想把结果变成这样:
      
user_name role_name
      
---------------------------
      系统管理员 管理员
      feng 管理员,一般用户
      test 一般用户
      
===================
      
create table a_test(name varchar(20),role2 varchar(20))
      
insert into a_test values('','管理员')
      
insert into a_test values('','管理员')
      
insert into a_test values('','一般用户')
      
insert into a_test values('','一般用户')

      
create function join_str(@content 

SQL - 如何使用 T-SQL 来显示数据库中数据表空间使用情况?

有些朋友询问:如何使用 T-SQL 来知道数据库中数据表空间使用情况?

可以使用下列的范例来查询,也可以再搭配排程及 e-mail 的功能,找扩充它的功能。

当然也可以再写的更复杂一些,让它自动查询整台 SQL Server 中所有的数据库中的所有数据表的使用情况。

-- 此范例也支持中文的数据库名称及中文的数据表名称

IF exists (SELECT * FROM sys.objects WHERE object_id = object_id(N'[dbo].[DisplayDatabaseSpaceUsed]') and OBJECTPROPERTY(object_id, N'IsProcedure') = 1)
DROP PROCEDURE [dbo].[DisplayDatabaseSpaceUsed]
GO

CREATE PROCEDURE DisplayDatabaseSpaceUsed
@SourceDB    NVARCHAR(254)
AS
SET NOCOUNT ON
DECLARE @sql NVARCHAR(500)
    CREATE TABLE #tables(tableName NVARCHAR(254))
    SELECT @sql = N'INSERT #tables SELECT TABLE_NAME FROM [' + @SourceDB + '].INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = ''BASE TABLE'''
    EXEC (@sql)
    CREATE TABLE #SpaceUsed (tableName NVARCHAR(254), rows varchar(11), reserved varchar(18), data varchar(18), index_size varchar(18), unused varchar(18))
    DECLARE @tableName NVARCHAR(254)
    SELECT @tableName = N''
    WHILE EXISTS (SELECT * FROM #tables WHERE tableName > @tableName)
    BEGIN
        SELECT @tableName = MIN(tableName) FROM #tables WHERE tableName > @tableName
        SELECT @sql = 'EXEC ' + @SourceDB + '..SP_EXECUTESQL N''INSERT #SpaceUsed EXEC SP_SPACEUSED [' + @tableName + ']'''
        EXEC (@sql)
    end
    SELECT * FROM #SpaceUsed
    DROP TABLE #tables
    DROP TABLE #SpaceUsed
GO
/*
-- 请修改数据库名称
EXEC DisplayDatabaseSpaceUsed N'中文数据库名称'
EXEC DisplayDatabaseSpaceUsed 'Northwind'
*/

VB.Net运算符重载

说明:
本示例通过实现一个复数加法程序,展示VB.Net如何重载运算符和ToString()方法

讲义:
在复数计算的程序中,我们需要自定义复数的数据类型,因为在.Net中并没有提供复数的数据类型,在这里我定义了一个复数类Plural

QQ截图2

并且分别定义了实部(Real)与虚部(Imaginary)的属性,这样就简单的完成了一个复数类数据结构的定义
为了查看结果的方便,我们还需要把它存储的数据转换成“a+bi”的形式输出,这时就需要重写ToString()方法

QQ截图3

这里重写ToString()方法的原因主要是为了日后调用酷点,当然你不用这样方法也行

Point:这里涉及有个VB的特性要提一下,对于非字符串的数据类型要作为字符串输出时,VB会隐式调用该对象的ToString()方法转换为字符串输出,而正如我们所了解的C#通常需要a.ToString()来显式调用它

调用时的酷就是可以实现Console.WriteLine(a)这种简洁的代码

光有数据类型还不行,我们还需要对它进行运算
根据复数4则运算的定义,加法是
(a+bi)+(c+di)=(a+c)+(b+d)i
我们把这种定义写到数据类型里面去,这就是运算符重载,具体语法为

QQ截图4

这样就完成了最基本的定义,调用

QQ截图5

应用场景:
适合自定义数据类型并且需要对该类型进行运算操作的时候

最后送上源代码:运算符重载.rar

搜索生命 搜索希望

截至今天凌晨,汶川地震已造成 19509 人死亡,遇难人数估计在 5 万人以上,巨大的震惊和悲伤已盘旋国人心头整整四天。大家在每一个角落不断的搜索亲友的消息,希望他们能够安好,哪怕那些信息只是只言片语。

谷歌的工程师经过 24 小时不间断的奋战,已经紧急搭建出灾区人员搜索平台,我们努力将那些零零落落的信息整合在一起,方便大家寻找亲人。在此,我们向每一个朋友真诚求助,因为我们需要一个众志成城的民众共铸的搜索,共同努力提供更多的消息,搭建起一个交换希望于勇气的平台。

引用自:http://googlechinablog.com/2008/05/blog-post_9358.html