IT技术博客

IT技术博客,精选各种精华文章供您阅读,是您学习各种IT技术的博客优选之地

跟我学做c#皮肤美化--Textbox

效果预览     还是先看看最终的效果图(和QQ登陆中的输入框效果差不多): 查看整个相册        效果说明: 1.实现了水印的效果 2.实现了鼠标移上去的时候周围产生辉光 3.输入前端可以设置图片 实现辉光效果     整体说明:           前面显示的那个图片我采用的是一个picturebox,当然如果你愿意也可以自己画(后续的“button再探讨”中就采用的是自己画的方式)。图片后面的输入文本框采用的是textbox控件,这样一来就避免了许多绘制textbox的麻烦(我一开始打算自己绘制用户输入的字符的,不过发现不理想)。然后边框和辉光都是画出来的

Socket 同步和异步模式

   学习socket 的一些笔记,希望和大家一起讨论 。一.什么是socket  所谓socket通常也称作"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 以J2SDK-1.3为例,Socket和ServerSocket类库位于java .net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类完成的。 二 .开发原理:  服务器,使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,在一些

使用PostSharp在.NET平台上实现AOP

摘要 本文首先介绍AOP(面向方面编程)的相关概念及理论,然后介绍如何使用PostSharp框架在.NET平台上实现AOP,最后对PostSharp的机制及AOP的优劣进行一个简单的分析。 AOP(Aspect-Oriented Programming) AOP的基本定义及作用 根据维基百科的定义,“AOP(Aspect-Oriented Programming)是一种将函数的辅助性功能与业务逻辑相分离的编程泛型(programming paradigm),其目的是将横切关注点(cross-cutting concerns)分离出来,使得程序具有更高的模块化特性。AOP是面向方面软件开发(Aspect-Oriented Software Development)在编码实现层面上的具体表现(面向方面软件开发AOSD是一个囊括面向方面分析、面向方面设计和面向方面编程等一系列概念的完

关于大型asp.net应用系统的架构—如何做到高性能高可伸缩性

简介   前面一篇<<关于大型asp.net应用系统的架构-架构的选择>>写完之后,有一些同仁热心回复,有的是提问题,同时希望能举一些例子来说明;有的是提建议,希望下一篇写得更详细点;还有的同仁提出不同的观点。感谢大家的参与。会继续努力的。本文将针对层Layer和排Tier的区别做个辨析。并详细介绍3 Tier / N Tier架构中各排Tier的开发。各Tier的分布式方式。以及为了达到高性能,低延迟,高可伸缩性,需要采取哪些方法和手段。 关于“大型asp.net应用系统 ”的概念   意指能支持同时在线用户数目很多的asp.net应用系统。同时在线用户数目要达到多少才算大型。其实也没有一个可以作为共识的定义,个人认为如果一个应用系统能做到7x24小时同时在线用户数不少于5000的,应该可以称为大型应用系统。例如:微软的官网www.m

CRM 2011中的Web服务

CRM2011中,对其系统做了进一步的统一与集中,体现之一,就是其所提供的Web服务。 在CRM4时代,CRM提高的服务有三个,分别是: 名称 功能描述 DiscoveryService 提供搜索组织单位的途径 CrmService 提供访问所有实体的途径 MetadataService 提供访问元数据的途径 而在CRM2011中,将CrmService与MetadataService的角色进行整合,取而代之的是IOrganizationService,而DiscoveryService也演进为IDiscoveryService Web服务。这两个服务的功能如下: IDiscoveryService:用于获取组织列表以及相应组织的IOrganizationService的URL地址; IOrganizationService:访问数据以及元数据; IDiscov

【STM32 .Net MF开发板学习-22】超声波测距模块研究

智能小车目前已经可以通过各种方式进行遥控了,不过做到这一步还远远不够,我们需要智能小车有自己的“思维”,根据需要进行进退、转向或停止。要做到这一步,必须让智能小车有自己的感知“器官”,第一步我们先添加测距传感器,以后我们会陆续研究寻际、摄像头等传感器,让所谓的智能小车,更加“智能”。 目前市面上的超声波模块有两种硬件接口,一种是触发和脉冲输出方式,一种是串口通信(RS232),后一种编写通信接口程序比较简单,就是简单的串口编程,不过售价比较高。前一种对实时性要求很高,其测量精度和你的程序实现相关。 我们仅介绍前一种通信方式,模块的工作原理如下: (1)采用IO触发测距,给至少10us的高电平信号; (2)模块自动发送8个40khz的方波,自动检测是否有信号返回; (3)有信号返回,通过IO输出一高电平,高电平持续的时间

Windows PowerShell 2.0 代码调试并排除bug

没有任何脚本或程序能够保证在任何情况下毫无错误地执行,在外界条件变化的情况下,需要预防可能出错之处。本文将着重讲解如何调试PowerShell代码,即查找并排除bug,这是每个开发人员都应该熟练掌握的技术。在本文将介绍PowerShell提供的解决方法,以及诊断和预防错误的方法,以使程序更加健壮和稳定。 大多数编程语言和环境提供了完整调试特性的系统,可以逐步跟踪程序的执行,保证所有的执行过程符合预定的算法。然而PowerShell并没有提供脚本调试程序,这样开发人员必须采取其他手段来调试错误。可以通过一些巧妙的手段贴近于对程序的逐步调试,临时挂起执行流并检查程序状态。 对于一些复杂的任务,通常情况下会将程序细化分解为多个相对独立的子模块来检查各自的功能。分解后的模块之间要尽可能不包含过多耦合,这样才不会在调试时造成太多的麻烦。 1 打印调试 通过打印来调试程序是最原始且很有

如何评价个人在团队中的绩效

来道数学题先   已知a,b>0, (a+b)/2, sqrt(ab) 和 2/(1/a+1/b) 谁大?   现实中的人就像上面的a和b一样,虽然个体都一样,但组成的团队却可以有各种生产力。一个积极的评价方式能很有效地减少内耗,提高生产力。这篇博客能为你制定一个积极的评价方式提供参考。 世界团队千奇百怪,找到一种通用的评价方式是,不靠谱的。一群人在搬砖头,您可以通过他们的搬运量来评价他们的绩效。但是如果服务业,比如一群老师 在教计算机系列课程,没有砖头就不好评论了。这时让学生自己来评价是一种很好的选择。但是如果医生和护士在合作手术,让病人来评价就不太合适了。也许病人 睡了或者永远睡了。这时,相互评价是一种很好的选择。有时合作者之间是信息不对称的,比如 一群码农合作开发软件。只有码农自己知道偷了多少菜。这时我们如何评价个人在团队中的绩效呢? 我们调查了现

从高效沟通开始

在很多关于沟通的培训中,有很多描述非常富有弹性,可以从多个角度出发进行考虑,作为信息系统的构建者,我们也非常需要很多的沟通技能。当然,像销售人员那样热情奔放,也不像我们的特点。   在我们的团队中,沟通是以组织结构为基础的,我们的信息传递依赖于组织结构,沟通的有效性也和组织结构有一定的关系。如果在整个团队中层级比较多的话,当然我们可以先画出组织结构图,标明沟通的方向等以帮助我们分析,我们就需要考虑信息是否能够有效传递,以及传递的效率怎么样。   在经历的项目当中,如果存在层级比较多的情况,顶层如果能真正理解并能有效分解任务,并能通过尽可能简单的方式来传达的话,一般情况下,执行的效率会比较快,最终的解决方案也会比较简单,如果顶层不加理解地分配任务时,可能会产生很多的混乱,而这些混乱可能是非常致命的。所以沟通需要使用简单有效的方式传递信息。   沟通在很多时候是双向的,有时候我们会很委屈,明明

SharePoint要在master page中动态显示List数据的几种方式

我们都知道,在SharePoint中,Content page继承自Page layout,而Page layout又继承自Master page。Master page的作用大家都知道,它定义了站点的的整体外观和公共元素,因此有了很强的页面重用性和很好的页面编辑体验,Page layout通过ContentPlaceHolder为一些内容相似性很强的页面进行了布局,所以到了Content page那里,我们所做的只是放我们每个页面想要显示的内容即可,剩下的布局和样式都可以不用操心了。   好了,前面算是开场白吧!现在我们正式说重点,先从需求说起,客户要求整个站点的Footer部分要求从站点的List里面动态读取数据来生成它,而不是写死在master page里面,例如下面的图示,也就是说客户希望将来他们可以通过维护一个List数据来动态更新站点的Footer部分,附加排序,是否

浅谈 C# 交互窗口

我们知道,F# 的编译器是 fsc.exe,F# 交互窗口是 fsi.exe。其他动态语言也可以交互执行,例如 Ruby 语言的解释器是 ruby,交互窗口是 irb。而 Python 语言中,python 既可以解释执行,也可以作为交互窗口。请参见我于2010年6月15日写的随笔“Ubuntu 中的编程语言(上)”。 C# 语言虽然不是动态语言,但是在 mono 中也有一个 C# 交互窗口: csharp,请参阅 CsharpRepl 。 ben@ben1520:~> csharp Mono C# Shell, type "help;" for help Enter statements below. csharp> Environment.Version; 4.0.30319.1 csharp> Environment.OSVersion; Unix 2.6.34.

DataGridView 经典用法总结(上)--附有可下载的Demo

  一、DataGridView 单元格验证   比如只允许输入数字 要求:验证错误后焦点不离开。   有两种方法: DataGridView.EditingControlShowing 事件和DataGridView.CellValidating 事件。 (1) DataGridView.EditingControlShowing 事件。 显示用于编辑单元格的控件时发生,命名空间: System.Windows.Forms 程序集: System.Windows.Forms(在 system.windows.forms.dll 中)。 如: void dgvCs_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)  &nb

《 敏捷宣言》及其背后的准则

敏捷宣言的诞生:         2001年2月11日到13日,17位软件开发领域的领军人物聚集在美国犹他州的滑雪胜地雪鸟(Snowbird)雪场。经过两天的讨论,“敏捷”(Agile)这个词为全体聚会者所接受,用以概括一套全新的软件开发价值观。这套价值观,通过一份简明扼要的《敏捷宣言》,传递给世界,宣告了敏捷开发运动的开始。 敏捷新的价值观:  Individuals and interactions over processes and tools    个体与交互  重于 过程和工具 Working software over comprehensive documentation   &nb

Silverlight应用开发2webcam自拍保存和&quot;录像&quot;

1 题外话:缘起 2 开工ing   2.1Silverlight中的视频   2.2伪视频录像  3 展示  4 题外话二      我拍基地     我拍桌面:死循环。。。      题外话:缘起    前几天看到几个外国年轻人,搞了个利用kinect做的PC版本上的自然用户界面。。。很cool,当时没看明白,以为是通过摄像头+他的算法,就可以做出来。。。害我把它的chorme插件下载下来。翻出箱底的摄像头开始乱摆弄。。。结果发现需要 kinect。。。当时那个郁闷啊。。。    然后就想拿摄像头能做其他什么游戏的没。。。发现很少。。然后又突然来了兴趣给基地做个视频监控系统!嘿嘿。。。。好

挖掘经典:几乎被人遗忘的HTML七种用法

当今的WEB领域,新概念、新技术不断涌现 -- WEB2.0、AJAX、HTML5.0... ... 但在几乎被我们忽略的HTML和XHTML里,还有许多并不为人所知的,但却非常有用的一些TAG 以下就是其中的七种用法:     一、元素分组:<fieldset>、<legend> 示例:   1 <fieldset>   2 <legend>健康信息:</legend>   3 <form>   4 <label>身高:<input type="text" /></label> &

Windows Azure重磅消息!!!!!

在PDC10上演示了一些Windows Azure的新特性,包括新的Silverlight Portal,VM,以及Extra small VMs,其中包含最低的VM价格(每小时0.05美元),现在这些都可以体验了!!!   刚登陆Windows Azure Portal,已经是Silverlight版的了,你也可以选择旧的Portal,两者都可以使用,看到VM Role以及Extra small VMs都还处于beta阶段!!   其中还包括以前没有的功能,比如可以添加多个Windows Live ID共同管理一个订阅等!! 慢慢体验吧: http://msdn.microsoft.com/en-us/library/gg441576.aspx Portal:http://windows.azure.com 作者: hievis 发表于 2010-11-30 20:5

系统架构技能之设计模式-系列索引

        园子里面有太多优秀的设计模式文章了,但是可能每个人的出发角度和关注点不同,可能会对每个模式理解的角度和切面不同,我想以我自己理解的方式来跟大家共同探讨下常用的设计模式,并且我会结合 工作中的开发实际场景来说明每个模式的用法和特点,希望能对大家有所帮助,当然这些内容都是个人在实际项目中的总结和实践,错误或者理解有误之处,还请大家多多指正,多谢大家前来交流!       创建型         1、系统架构技能之设计模式-单件模式         2、系统架构技能之设计模式-工厂模式   &#

Windows PowerShell 2.0创建调用脚本文件

在PowerShell中不存在文件和目录的概念,涉及文件和目录的操作总是转换为项(item)处理,即Get-Item、Get-ChildItem和Get-ItemProperty。在PowerShell中的dir命令以Get-ChildItem的别名出现,通过项操作对象的原因是PowerShell作用的任何类型的对象均以项的形式存在。而不像类Unix系统中将所有的对象都抽象成文件,即使这个对象很明显不是文件的情况。 项是包含内容的属性对象,这些对象又可以包含其他项。这个定义可以很容易扩展到文件和目录,即它们是具有各自内容和属性的项。项的概念可以应用于多个系统对象,提供程序(provider)用来创建、找回、修改和移除项。它是官方提供的重要的Shell扩展机制之一,Shell与一些内置的提供程序一起发布给用户,其中提供了提供程序的接口。 1 创建脚本 典型的PowerShell脚

程序员应知——简单就是美

我们经常会听到这样一句话——简单就是美,或者是这句话的各种变体,而且这句话不限于行业,不仅仅是在软件业,在各种涉及到设计艺术的领域,很多大师级的任务都会告诉我们,简单就是美。 在这里我当然只想针对软件开发相关的内容来谈,其实我们要解决的问题就是——到底要多简单呢? 对于UI设计——不需培训直接能使用 还记得曾经看过的基本讲述交互设计知识的几本书,其中都提到了,最简单也是最美的界面设计,就是用户直接就明白怎么用,而不需要长期的培训,对于这一点我深以为然,并且努力把这一点贯彻到自己所做的系统中。曾经记得自己帮朋友写了一个简单的库存管理系统,界面上没有菜单,只有几个必要的按钮,采用的是Office 2007的ribbon样式,并且精心挑选了几个意义鲜明的图标。朋友使用的时候,就告诉我,这个东西比他之前用过的财务软件好多了,那

解决问题的艺术:半小时编程实现照片的反转负冲特效

如何直接有效的解决问题是一门艺术。我们是做产品、做系统、做服务的,不是玩技术的,需要做的是在最短的时间内以最有效的方式来解决工作中面对的难题。就在刚才,用了半小时不到时间,俺用一种极其简单、直接、有效、霸道的方法解决了照片的反转负冲特效问题。这种解决问题的思路值得总结推广。 反转负冲(反转片)是一种摄影拍摄技术,它通过拍摄后反转冲洗,得到色彩鲜艳的照片,非常养眼。现在都是数码相机了,可以通过图像处理算法来模拟反转片的效果,比如说,“光影魔术手”就提供了5种反转片特效:(1)素淡人像;(2)淡雅色彩;(3)真实色彩;(4)艳丽色彩;(5)浓郁色彩。且看(5)浓郁色彩的效果: 左边是处理前的图像,右边是处理后的图像,可以看到,处理后的图像颜色格外饱满。我目前开发的一款图像处理软件,一个难题就是处理后的照片色彩会变暗,这个反转负冲特效的效果正是我所需要的。 且看“光影魔术手”怎样描绘