<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[shaily读书学习]]></title><description><![CDATA[有所为有所不为  No cross, no crown. ——Penn]]></description><link>https://blog.csdn.net/shaily</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; shaily]]></copyright><item><title><![CDATA[JavaScript设计模式]]></title><link>https://blog.csdn.net/shaily/article/details/6750646</link><guid>https://blog.csdn.net/shaily/article/details/6750646</guid><author>shaily</author><pubDate>Mon, 05 Sep 2011 18:14:01 +0800</pubDate><description><![CDATA[导读：作者本人一直从事前端开发，文章以JavaScript语言的角度去论证，JavaScript模式与前端的工作和成长密不可分，因为这确实不是一个简单的话题，作者用简单表达和例子为大家阐明JavaScript设计模式。CSDN研发频道对此文进行了整理选取部分内容，供开发者学习、参]]></description><category></category></item><item><title><![CDATA[c#控制系统任务栏的自动隐藏与显示]]></title><link>https://blog.csdn.net/shaily/article/details/5842955</link><guid>https://blog.csdn.net/shaily/article/details/5842955</guid><author>shaily</author><pubDate>Fri, 27 Aug 2010 11:12:00 +0800</pubDate><description><![CDATA[<br /><br />public struct RECT<br />    {<br />        public int Left;<br />        public int 
Top;<br />        public int Right;<br />        public int Bottom;<br />    }<br />    
public struct APPBARDATA<br />    {<br />        public int cbSize;<]]></description><category></category></item><item><title><![CDATA[C#制作WinForm控件   ]]></title><link>https://blog.csdn.net/shaily/article/details/5833350</link><guid>https://blog.csdn.net/shaily/article/details/5833350</guid><author>shaily</author><pubDate>Tue, 24 Aug 2010 00:04:00 +0800</pubDate><description><![CDATA[<br />自定义控件基础知识一 、概述<br />Windows 窗体控件是可再次使用的组件，它们封装了用户界面功能，并且可以用于客户端 Windows 应用程序。“Windows 窗体”不仅提供了许多现成控件，还提供了自行开发控件的基础结构。可以组合现有控件、扩展现有控件或创作自己的自定义控件。Windows 窗体控件是从 System.Windows.Forms.Control直接或间接派生的类。以下列表描述了开发 Windows 窗体控件的常见方案： <br />· 组合现有控件来创作一个复合控件。]]></description><category></category></item><item><title><![CDATA[c# 多线程 编程 ]]></title><link>https://blog.csdn.net/shaily/article/details/5781773</link><guid>https://blog.csdn.net/shaily/article/details/5781773</guid><author>shaily</author><pubDate>Mon, 02 Aug 2010 01:18:00 +0800</pubDate><description><![CDATA[<br />一.多线程的概念 <br /><br />Windows是一个多任务的系统，如果你使用的是windows 2000及其以上版本，你可以通过任务管理器查看当前系统运行的程序和进程。什么是进程呢？当一个程序开始运行时，它就是一个进程，进程所指包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的，线程是程序中的一个执行流，每个线程都有自己的专有寄存器(栈指针、程序计数器等)，但代码区是共享的，即不同的线程可以执行同样的函数。多线程是指程序中包含多个执行流，即在一个程序中]]></description><category></category></item><item><title><![CDATA[KPI]]></title><link>https://blog.csdn.net/shaily/article/details/5776691</link><guid>https://blog.csdn.net/shaily/article/details/5776691</guid><author>shaily</author><pubDate>Fri, 30 Jul 2010 15:18:00 +0800</pubDate><description><![CDATA[<br /><br />kpi是关键业绩指标，是考核你关心的、对项目重要的指标，不是所有都要设。原则上不要超过5条。<br />如果条款太多，你的权重过于分散，考核的意义就不大了。<br />对于程序员考核，无非是TQ态度。<br />对于项目而言，因为有项目计划和项目质量要求，KPI对TQ的设定就可以不作要求。<br />对于部门制管理，每个季度考核，需要设定TQ。<br /><br />通常，<br />T设置：按进度计划完成任务，延迟1天**，缩短1天**（或者设置比例）；<br />Q设置：功能点缺]]></description><category></category></item><item><title><![CDATA[绩效管理之KPI设定_程序员]]></title><link>https://blog.csdn.net/shaily/article/details/5776688</link><guid>https://blog.csdn.net/shaily/article/details/5776688</guid><author>shaily</author><pubDate>Fri, 30 Jul 2010 15:17:00 +0800</pubDate><description><![CDATA[<br />参考了一些文档，暂且定义如下：<br /><br />岗位职责：<br />1完成项目经理安排的开发任务；<br />2按照详细设计文档编码；<br />3对所负责的开发模块进行单元测试并通过；<br />4修改测试部门反馈的缺陷；<br />5对使用公司或部门产品/框架提出反馈意见；<br />6定期完成工作周报，向项目经理汇报。<br /><br />KPI（version0.1）：<br /><br /><br />序号<br />指标名称<br />定义<br />计算公式及考核方法<b]]></description><category></category></item><item><title><![CDATA[ HOW TO configure a website for HTTPS?]]></title><link>https://blog.csdn.net/shaily/article/details/5776368</link><guid>https://blog.csdn.net/shaily/article/details/5776368</guid><author>shaily</author><pubDate>Fri, 30 Jul 2010 13:54:00 +0800</pubDate><description><![CDATA[<br />I will be discussing about configuring HTTPS for a website on IIS 7. The UI of the IIS manager in IIS 7 is completely different from that of IIS 6. Initially it will look as if you are going to use a brand new product which you are trying for the fir]]></description><category></category></item><item><title><![CDATA[简单实用的DataSet更新数据库的类+总结（c#）]]></title><link>https://blog.csdn.net/shaily/article/details/5776322</link><guid>https://blog.csdn.net/shaily/article/details/5776322</guid><author>shaily</author><pubDate>Fri, 30 Jul 2010 13:38:00 +0800</pubDate><description><![CDATA[以前经常用sql语句（update）更新数据库，有使用用起来不是很方便，特别是数据量比较大的情况下（比如数据表）很麻烦~~后来感觉用DataSet更新数据库是不错的选择.于是急着写了一个用ataSet更新数据库的类如下：（后面有使用说明，总结）<br /> <br />using System; <br />using System.Data; <br />using System.Data.SqlClient; <br />using System.Windows.Forms; <br />namespa]]></description><category></category></item><item><title><![CDATA[在WPF中自定义控件(2) UserControl]]></title><link>https://blog.csdn.net/shaily/article/details/5740532</link><guid>https://blog.csdn.net/shaily/article/details/5740532</guid><author>shaily</author><pubDate>Fri, 16 Jul 2010 18:27:00 +0800</pubDate><description><![CDATA[在WPF中自定义控件(2) UserControl。 <br />　　在这里我们将将打造一个UserControl(用户控件)来逐步讲解如何在WPF中自定义控件,并将WPF的一些新特性引入到自定义控件中来.<br />　　我们制作了一个带语音报时功能的钟表控件, 效果如下:<br /><br />　　在VS中右键单击你的项目,点击"添加新项目",在出现的选择列表中选择"UserControl",VS会自动为你生成一个*.xaml文件以及其对应的后台代码文件(*.cs或其它).<br />　　值得注意的是,自]]></description><category></category></item><item><title><![CDATA[WPF应用程序使用资源及多语言设置学习 ]]></title><link>https://blog.csdn.net/shaily/article/details/5733610</link><guid>https://blog.csdn.net/shaily/article/details/5733610</guid><author>shaily</author><pubDate>Wed, 14 Jul 2010 10:28:00 +0800</pubDate><description><![CDATA[<br /><br /> <br /> <br /><br />WPF资源<br />WPF资源使用其实的也是resources格式嵌入资源，默认的资源名称为"应用程序名.g.resources"，不过WPF资源使用的pack URI来访问资源。<br />添加图像资源 <br />在解决方案资源管理器中包含一个图像资源（如data/img.png）的时候，默认是输出为资源文件的（生成操作=Resource），编译的时候作为资源编译到程序集中;<br />当在img.png的属性页中把"生成操作"属性设置为]]></description><category></category></item><item><title><![CDATA[为WPF项目创建单元测试]]></title><link>https://blog.csdn.net/shaily/article/details/5733584</link><guid>https://blog.csdn.net/shaily/article/details/5733584</guid><author>shaily</author><pubDate>Wed, 14 Jul 2010 10:23:00 +0800</pubDate><description><![CDATA[
可能你已发现一个问题，我们无法使用VS对WPF项目创建单元测试(VS2005不行，VS2008我没试过，但据说也不行)，这让人很郁闷，这里将介绍如何使用NUnit来对WPF项目创建单元测试并解决其中的难题(但利用NUnit来对WPF创建单元测试时并不会像针对.Net2.0一样容易，可能会出现一些小问题)。
<br /> <br />1、对普通类(非WPF UI组件)进行测试：<br />这和在.Net2.0中使用NUnit进行测试时一样，不会出现任何问题，参考下面的代码:以下是引用片段：
  [Te]]></description><category></category></item><item><title><![CDATA[使用VS2008进行WEB负载测试]]></title><link>https://blog.csdn.net/shaily/article/details/5733497</link><guid>https://blog.csdn.net/shaily/article/details/5733497</guid><author>shaily</author><pubDate>Wed, 14 Jul 2010 10:03:00 +0800</pubDate><description><![CDATA[<br />网站性能分析工具很多，最有名的是LoadRunner进行压力测试。但VS2008也提供了工具进行Web测试和负载压力测试，前者可以用来单步逐页分析网站性能，确定哪个request哪个步骤占用时间，后者可以对网站模拟并发用户请求，测试WEB性能。<br />首先打开VisualStudio2008新建一个工程，测试 - 测试，一个空的测试项目就建好了。<br /><br />然后选中项目，右键新建WEB测试：<br /><br />然后进行场景录制，可以输入你的网站地址，然后进行模拟用户的操作，可]]></description><category></category></item><item><title><![CDATA[由WSDL文件生成WEB service server端C#程序 ]]></title><link>https://blog.csdn.net/shaily/article/details/5733479</link><guid>https://blog.csdn.net/shaily/article/details/5733479</guid><author>shaily</author><pubDate>Wed, 14 Jul 2010 09:59:00 +0800</pubDate><description><![CDATA[http://hi.baidu.com/facile_fengsh/blog/item/d3570eed0de121d5b21cb113.html一般一个已经实现功能的WEB Server会发布自己的WSDL文件，供客户端生成代理类。<br /><br />但有时是先有的server与client交互的接口定义（WSDL）文件，然后由server和client端分别写程序，一个提供web服务，一个使用web服务。<br /><br />以下介绍如何由已有的WSDL文件在VS2005中生成server端代码。]]></description><category></category></item><item><title><![CDATA[WPF使用代码进行绑定]]></title><link>https://blog.csdn.net/shaily/article/details/5723591</link><guid>https://blog.csdn.net/shaily/article/details/5723591</guid><author>shaily</author><pubDate>Fri, 09 Jul 2010 15:39:00 +0800</pubDate><description><![CDATA[<br />关于WPF绑定机制，给我们带来了很大的方便，我们都了解在WPF绑定中使用XAML方式可以这样做，代码如下：1<Windowx:Class="WpfApplication1.Window1"2    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"3    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"4    Title="Window1"Height=]]></description><category></category></item><item><title><![CDATA[C#如何定义和使用自己的特性]]></title><link>https://blog.csdn.net/shaily/article/details/5722923</link><guid>https://blog.csdn.net/shaily/article/details/5722923</guid><author>shaily</author><pubDate>Fri, 09 Jul 2010 12:18:00 +0800</pubDate><description><![CDATA[摘要：.NET中的特性在反射中有比较重要的用处，本文将详细介绍C#自定义和在反射中如何使用特性，并提供了详细的示例代码供参考。 复杂的，面向组件的业务开发，期待现代的软件开发工程师们具备更多的弹性设计，而不是过去的方法设计。微软的.NET框架通过众所周知的声明式编程，广泛的使用特性来附加额外的功能。在软件系统里，特性可以增强系统的弹性，这是因为，特性使功能的松耦合得到了增强。所以，你可以定制自己的特性类，然后根据你自己的意图，合理的使用这些具有松耦合功效的特性。<br />　　使用.NET框架编写Windo]]></description><category></category></item><item><title><![CDATA[一种强行指定dll assembly读取其相应*.dll.config配置文件的方法(又名：如何创建.net 的DCOM) ]]></title><link>https://blog.csdn.net/shaily/article/details/5722901</link><guid>https://blog.csdn.net/shaily/article/details/5722901</guid><author>shaily</author><pubDate>Fri, 09 Jul 2010 12:05:00 +0800</pubDate><description><![CDATA[<br />一般来说，.net 的exe assemly会存在一个对应的*.exe.config配置文件。当需要读取配置信息的时候，可以直接通过ConfigurationManager.AppSettings[index]来读取*.exe.config中的键值，但很少存在dll assembly需要config file的情况。假如当前dll assembly名为test.dll,如果在test.dll中调用ConfigurationManager来读取test.dll.config,那么是无法成功的！ <]]></description><category></category></item><item><title><![CDATA[如何保护.net中的dll文件(防止破解、反编译dll)]]></title><link>https://blog.csdn.net/shaily/article/details/5722783</link><guid>https://blog.csdn.net/shaily/article/details/5722783</guid><author>shaily</author><pubDate>Fri, 09 Jul 2010 11:20:00 +0800</pubDate><description><![CDATA[<br />.net是一种建立在虚拟机上执行的语言，它直接生成 MSIL 的中间语言，再由.net编译器 JIT 解释映象为本机代码并交付CPU执行。中间语言很容易被反编译，所以研究下如何有效的保护dll文件。<br />我大致的方法为 ：强签名+混淆+加密。<br /><br />强签名<br />强命名程序集，可以确保你的程序集唯一，而不被篡改、冒用等；即使相同名字的程序集如果签名也会不同。<br />强签名很简单，本站另一文章已经详细进行了讲解，请参考：http://www.cn-web.com/sh]]></description><category></category></item><item><title><![CDATA[C#异步方法调用（四大方法详解）]]></title><link>https://blog.csdn.net/shaily/article/details/5709470</link><guid>https://blog.csdn.net/shaily/article/details/5709470</guid><author>shaily</author><pubDate>Fri, 02 Jul 2010 15:50:00 +0800</pubDate><description><![CDATA[<br />计算机中有些处理比较耗时。调用这种处理代码时，调用方如果站在那里苦苦等待，会严重影响程序性能。例如，某个程序启动后如果需要打开文件读出其中的数据，再根据这些数据进行一系列初始化处理，程序主窗口将迟迟不能显示，让用户感到这个程序怎么等半天也不出来，太差劲了。借助异步调用可以把问题轻松化解：把整个初始化处理放进一个单独线程，主线程启动此线程后接着往下走，让主窗口瞬间显示出来。等用户盯着窗口犯呆时，初始化处理就在背后悄悄完成了。程序开始稳定运行以后，还可以继续使用这种技巧改善人机交互的瞬时反应。用户点]]></description><category></category></item><item><title><![CDATA[WPF 设计器加载失败疑难解答]]></title><link>https://blog.csdn.net/shaily/article/details/5641578</link><guid>https://blog.csdn.net/shaily/article/details/5641578</guid><author>shaily</author><pubDate>Wed, 02 Jun 2010 10:49:00 +0800</pubDate><description><![CDATA[<br />Visual Studio Windows Presentation Foundation (WPF) 设计器包括一个用来呈现 XAML 的可视化设计器，该设计器非常复杂而且可以进行扩展。如果 XAML 文件无法加载到设计器中，您可以执行若干步骤，尝试了解出错的原因。本主题描述一些可帮助您对 WPF 设计器加载失败进行疑难解答的提示和方法。说明：<br />本主题中的许多方法同样适用于 Expression Blend。疑难解答步骤<br />下列步骤可帮助您对 WPF 设计器加载失败进行疑难解]]></description><category></category></item><item><title><![CDATA[种强行指定dll assembly读取其相应*.dll.config配置文件的方法(又名：如何创建.net 的DCOM) ]]></title><link>https://blog.csdn.net/shaily/article/details/5453552</link><guid>https://blog.csdn.net/shaily/article/details/5453552</guid><author>shaily</author><pubDate>Tue, 06 Apr 2010 09:57:00 +0800</pubDate><description><![CDATA[一般来说，.net 的exe assemly会存在一个对应的*.exe.config配置文件。当需要读取配置信息的时候，可以直接通过ConfigurationManager.AppSettings[index]来读取*.exe.config中的键值，但很少存在dll assembly需要config file的情况。假如当前dll assembly名为test.dll,如果在test.dll中调用]]></description><category></category></item></channel></rss>