获取ip地址
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--///summary///取得客户端真实IP。如果有代理则取第一个非内网地址////summarypublicstringIPAddress{get{stringresult=String.Empty;result=HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];if(result!=null&&res
阅读全文
posted @
2011-01-28 14:12
大江
阅读(284)
推荐(1)
那么什么是好的代码呢?
摘要:那么什么是好的代码呢?1,Expressiveness(表达性):好的代码一看就能明白作者的意图,且思路清晰。比如,函数名的选择,代码的组织等2,Coupling(耦合) 和 cohesion(内聚)的恰当平衡,耦合太多,那么修改的时候牵连太多,无法下手。内聚不够,则代码冗余严重,也不容易修改。3,消除代码的smell(臭味),比如过多的临时变量,过长的方法,过大的类等等。4,Generic(通用度),比如能在一定程度上适应用户的变化。以上是纯就代码而言,如果从应用角度来看,还有很多重要方面 例如1,代码和商业逻辑的吻合度,尽量减少用户不需要的代码。比如,可以采用BDD等2,代码所映射的商业场
阅读全文
posted @
2011-01-28 09:54
大江
阅读(204)
推荐(0)
成功从这里走来
摘要:(1)织网:分解软件技术的大块知识为多个小的知识点,各个击破,将新知识与老知识联系起来,构造一张完整的可动态扩充的知识之网(2)训练:将开发技能给拆分为多个小的步骤或子技能,针对每个步骤或子技能反复地严格地训练,然后再这些步骤或子技能组合起来,以达到职业的水准。(3)探究性的学习与实践:要将被动的学习转换为主动的探索,要通过开发实践把一切给“激活”。
阅读全文
posted @
2011-01-28 09:49
大江
阅读(138)
推荐(0)
进行一个调查,谢谢大家,请问:您是如何回避除程序以外的问题带来的效率浪费
摘要:一个关于程序员如何回避除程序以外的问题带来的效率浪费
阅读全文
posted @
2011-01-28 09:25
大江
阅读(147)
推荐(0)
Windows Phone 7 开发 31 日谈——第26日:与其他开发人员(免费)分享你的程序
摘要:本文是“Windows Phone 7 开发 31 日谈”系列的第26日。昨天,我写了关于如何轻松地使用来自外部的Web服务数据。今天,我来谈谈如何与其他Windows Phone开发人员分享你的应用程序(特别是正在开发中的程序)。“分享”是什么意思? 如果你在安装Windows Phone 7开发人员工具时已经都试过了,可能已经注意到一个有趣的小程序,叫做“应用程序部署”(Application Deployment)。该程序用于打开一个XAP文件,并将它部署到模拟器或一个真实的手机(如果你有)中。我告诉你这个是因为这是一个非常棒的方法,用于告诉别人你正在做什么,并获取他们的反馈,抑或只是展
阅读全文
posted @
2011-01-27 15:30
大江
阅读(154)
推荐(0)
Windows Phone 7 开发 31 日谈——第24日:嵌入字体
摘要:本文是“Windows Phone 7 开发 31 日谈”系列的第24日。昨天,我说了如何为你的程序添加试用版本。这是一个可以让你卖更多程序的极有价值的特性。今天,我要讲如何在程序中嵌入字体。首先,要够小 对于为移动设备构建的所有应用程序,你都应该记住数据一定不是“免费”的。你的用户有一个每月只能传输5GB的数据计划。其次,还有一个限制,就是通过数据计划能获取到的应用程序的大小:20MB。如果你的应用程序大于20MB,用户就不得不使用Wi-Fi或通过电脑来进行同步。这些都会对你卖出更多份程序的拷贝不利。 说了这些,不要用你“可能”会需要的数据,字体,图像,视频等等内容来填充你的应用程序。将它们
阅读全文
posted @
2011-01-27 15:28
大江
阅读(159)
推荐(0)
Windows Phone 7 开发 31 日谈——第25日:外部API
摘要:本文是“Windows Phone 7 开发 31 日谈”系列的第25日。昨天我写了如何在你的应用程序中嵌入字体,视频和图片。今天,我们来讨论从Web Service中获取数据,并将它们填入到你的应用程序中。介绍Twitter API 如果你之前没有玩儿过这个,那你肯定会常听我将一个Twitter应用程序比喻为“Hello, world!”程序。原因很简单,因为几乎每一个应用程序都需要连接Web Service,Twitter的API用起来非常简单,并且是免费的,不需要任何注册。换句话说,你可以无障碍地介入,这是学习新技术的一种好方法。 有关Twitter API的关键内容可以在这里找到:ht
阅读全文
posted @
2011-01-27 15:28
大江
阅读(171)
推荐(0)
Windows Phone 7 开发 31 日谈——第23日:提供试用版应用程序
摘要:本文是“Windows Phone 7 开发 31 日谈”系列的第23日。 昨天,我写了如何将游戏添加到电话的游戏中心中。今天,我会向你展示为应用程序添加试用内容是多么简单。例如,假设你创建了一个50关的游戏。可能你想让用户能免费体验前5关,但要想玩后面的,他们就需要购买这个游戏。本文就像你展示如何做到。使用LicenseInformation类通过向我们的页面中添加Microsoft.Phone.Marketplace程序集和相应的名称空间,就可以访问LicenseInformation类了,它直接与程序的“付费”状态相关。[代码]下一步是真正地使用LicenseInformation类,来
阅读全文
posted @
2011-01-27 15:27
大江
阅读(156)
推荐(0)
Windows Phone 7 开发 31 日谈——第21日:Silverlight Toolkit for Windows Phone
摘要:Windows Phone 7 开发 31 日谈——第21日:Silverlight Toolkit for Windows Phone 本文是“Windows Phone 7 开发 31 日谈”系列的第21日。在昨天讨论了地图控件之后,我突然想到你可能还不知道Silverlight Toolkit为你提供了大量的控件。今天的文章就来讲解Silverlight Toolkit for Windows Phone,另外,还会说到Silverlight 3 Toolkit。什么是工具包? 在最初的Silverlight 3工具包中有一大堆可以用在项目中的额外控件。包含的控件从图表(Chart)到手
阅读全文
posted @
2011-01-27 15:25
大江
阅读(230)
推荐(0)
Windows Phone 7 开发 31 日谈——第22日:应用?还是 游戏?
摘要:本文是“Windows Phone 7 开发 31 日谈”系列的第22日。昨天,我发了一篇极长的关于Silverlight Toolkit for Windows Phone的文章。今天的会短一些,但却非常珍贵。我会讨论你的应用程序设置中非常细微但很重要的设置:类别(Genre)。 如果你创建过一个默认的Windows Phone应用程序(或一个默认的XNA应用程序),并将它部署到模拟器中,你可能会发现它会出现在应用程序列表中(就是当你在起始界面点击右上角箭头时出现的列表)。 如果你用过真实的WP7设备,你很可能会发现所有的游戏都出现在游戏中心(Games Hub)中。要做到这一点有一个很简单
阅读全文
posted @
2011-01-27 15:25
大江
阅读(144)
推荐(0)
Windows Phone 7 开发 31 日谈——第20日:地图控件
摘要:本文是“Windows Phone 7 开发 31 日谈”系列的第20日。 昨天的长文是关于如何使用推送通知向你的手机发送数据的,即便程序没有运行。今天,我们重新回到控件,更具体的说,是地图控件。现在地理定位服务在移动应用程序中越来越流行,它的这种能告知用户身处何地以及身边有何物的能力变得越来越重要。使用地图控件作为Visual Studio 2010工具箱的一部分,你只需要将一个地图控件拖到页面中即可。这样做时,你会注意到在页面中添加了另一个XML名称空间。[代码]这是在我的例子中默认添加的XAML(在我调整好位置和尺寸后):[代码]最后,来一张程序中地图的截图:你会注意到在上图中央的白色文
阅读全文
posted @
2011-01-27 15:22
大江
阅读(171)
推荐(0)
Windows Phone 7 开发 31 日谈——第19日:推送通知
摘要:本文是“Windows Phone 7 开发 31 日谈”系列的第19日。昨天,我介绍了WebBrowser控件,以及如何在程序中使用它。今天,我们来谈谈可能是这个系列中最重要的话题:推送通知。可能你对推送通知这个概念还不是很熟悉,其实很简单:不用强制你的应用程序每几分钟就去检查一下服务器,服务器在有新数据的时候可以通知你的手机。为什么要使用推送通知?第一个原因,节省用户的电池电量。检测服务器数据很耗电,而在手机中,电池绝对是稀缺资源。你永远不会有足够的电量,并且不论你的电池能撑多久,都要尽量避免会使电池续航时间变短的通知。第二,你可以通过推送通知来告知你的用户在程序中发生了一些有趣的事,即使
阅读全文
posted @
2011-01-27 15:21
大江
阅读(182)
推荐(0)
Windows Phone 7 开发 31 日谈——第18日:WebBrowser控件
摘要:Windows Phone 7 开发 31 日谈——第18日:WebBrowser控件 本文是“Windows Phone 7 开发 31 日谈”系列的第18日。在过去的两天中,我们讨论了不同的显示控件:全景视图和枢轴控件。今天,我们来关注另一个十分重要的控件,WebBrowser。WebBrowser是干什么用的? 通常,WebBrowser控件可以让你的用户浏览一个特定的网页。但它不是一个完整的浏览器,因为它没有地址栏,收藏夹 ,选项卡等等。你可以把它当做HTML中的“iframe”,但它提供了更丰富的界面。你可以通过两个手指收缩(和双击)来进行缩放,平移和滚动是自动内置的,你无须自己实现
阅读全文
posted @
2011-01-27 15:21
大江
阅读(255)
推荐(0)
Windows Phone 7 开发 31 日谈——第17日:枢轴控件
摘要:Windows Phone 7 开发 31 日谈——第17日:枢轴控件 本文是“Windows Phone 7 开发 31 日谈”系列的第17日。昨天,我们讨论了全景视图控件以及它的作用和使用方法。今天,我要讲一个和它很相似但又不同的控件,枢轴控件。什么是枢轴控件? 我把枢轴控件看作是一个可以给用户提供相同数据的不同“层”的有效控件。例如,Windows Phone中的日历,你可以在“日程表”和“天”两个视图间来回切换。它们呈现相同的数据,但却在两个完全不同的视图中。枢轴控件另一个出色的应用是将项目进行分类。电话中的设置功能就是一个很好的例子。你可以对系统进行设定,或对应用程序进行设定。下面来
阅读全文
posted @
2011-01-27 15:20
大江
阅读(161)
推荐(0)
我们应该怎么样设置枚举
摘要:我们应该怎么样设置枚举 很多朋友认为设置枚举还不容易,如以下代码就OK了,view sourceprint?01public enum Test 02{ 03/// summary 04/// 拒绝 05/// /summary 06Deny = 0, 07/// summary 08/// 删除 09/// /summary 10Del = 1, 11/// summary 12/// 修改 13/// /summary 14Modify = 2, 15/// summary 16/// 添加 17/// /summary 18Add = 3, 19///
阅读全文
posted @
2011-01-26 08:34
大江
阅读(335)
推荐(0)
sql基础
摘要:第7章 管理表教学目标l 理解表的特点、类型和创建表时需要考虑的因素l 熟练掌握创建和修改表技术l 不仅要理解标识符列的作用、特点和类型l 理解已分区表的特点和作用7.1 概述 7.1.1 表的特点 l 定义:表是用来组织和存储数据、具有行列结构的数据库对象。l 特点:– 代表实体,有唯一的名字– 由行和列组成– 行和列的顺序是不重要的Student表:7.1.2 表的类型 表分为4种类型,即普通表、已分区表、临时表和系统表。7.1.3 设计表时应该考虑的因素 l 因素一,该表将要存储的数据对象,并且绘制出ER图。 l 因素二,表中将要包含的列,这些列的数据类型、精度等属性是什么?l 因素三,
阅读全文
posted @
2011-01-20 13:27
大江
阅读(294)
推荐(0)
JavaScript初学者应注意的七个细节
摘要:JavaScript初学者应注意的七个细节 每种语言都有它特别的地方,对于JavaScript来说,使用var就可以声明任意类型的变量,这门脚本语言看起来很简单,然而想要写出优雅的代码却是需要不断积累经验的。本文利列举了JavaScript初学者应该注意的七个细节,与大家分享。 (1)简化代码JavaScript定义对象和数组非常简单,我们想要创建一个对象,一般是这样写的: view source print?1var car = new Object(); 2car.colour = 'red'; 3car.wheels = 4; 4car.hubcaps = 'spinning'; 5
阅读全文
posted @
2011-01-10 21:46
大江
阅读(153)
推荐(0)
Windows Phone 7 开发 31 日谈——第15日:独立存储
摘要:Windows Phone 7 开发 31 日谈——第15日:独立存储 本文是“Windows Phone 7 开发 31 日谈”系列的第15日。昨天,我们讨论了程序中的墓碑机制从而让程序看起来是可以在后台运行的。今天,我们来谈谈在电话中存储本地数据的一种非常棒的方法。使用独立存储。什么是独立存储? 独立存储不是一个新概念。在Silverlight 2中已经在使用了。本质上说这是一种在本地文件系统中存储数据或文件的方式。“独立(isolated)”是因为只有你的程序才可以访问这些数据。如果你有两个应用程序,同时你想在它们之间共享数据的话,最好使用一些类似基于云的可以让你共享数据的服务。一个应用
阅读全文
posted @
2011-01-10 08:53
大江
阅读(192)
推荐(0)
Windows Phone 7 开发 31 日谈——第16日:全景视图
摘要:Windows Phone 7 开发 31 日谈——第16日:全景视图 本文是“Windows Phone 7 开发 31 日谈”系列的第16日。昨天,我们讨论了独立存储以及如何在程序中将数据保存至设备上。今天,我将完全变换视角,来介绍一个我们可以使用的相对较新的(但十分强大的)控件:全景视图控件。什么是全景视图控件?如果你看过Windows Phone 7“HUB”的视频或是截图,全景视图是被广泛运用的。简而言之,它就是选项,导航和数据的多屏幕滚动菜单。下面是一些示例:好了,现在我们知道全景视图长什么样了,来看看如何实现吧。创建一个全景视图项目在这个系列的前15日中,每个项目都是基于默认的W
阅读全文
posted @
2011-01-10 08:52
大江
阅读(208)
推荐(0)
Windows Phone 7 开发 31 日谈——第14日:墓碑机制(多任务)
摘要:Windows Phone 7 开发 31 日谈——第14日:墓碑机制(多任务) 本文是“Windows Phone 7 开发 31 日谈”系列的第14日。昨天,我们讨论了使用位置数据为用户提供一种更加熟悉的感觉。今天,我写的内容可能是Windows Phone 7上面最有争议的话题:多任务。现在有大量的文章都在写Windows Phone 7将会很纠结,在列表中第一位的就是“缺少多任务”。Windows Phone 7确实有多任务 是的,这是我说的。这么说因为这是真的。一个Windows Phone绝对是一个多任务的设备。我可以在听音乐的同时玩游戏,或者在上网的时候收邮件。错误的消息是我们应
阅读全文
posted @
2011-01-10 08:48
大江
阅读(171)
推荐(0)
ASP.NET中JSON的序列化和反序列化
摘要:ASP.NET中JSON的序列化和反序列化 JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式。在网站应用中使用JSON的场景越来越多,本文介绍ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介绍,ASP.NET如何序列化和反序列化的处理,在序列化和反序列化对日期时间、集合、字典的处理。 一、JSON简介 JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式。 JSON是“名值对”的集合。结构由大括号'{}',中括号'[]',逗号',',冒号':',双引号'“”'组成,包含的
阅读全文
posted @
2011-01-10 08:45
大江
阅读(308)
推荐(0)
Windows Phone 7 开发 31 日谈——第13日:位置服务
摘要:Windows Phone 7 开发 31 日谈——第13日:位置服务 本文是“Windows Phone 7 开发 31 日谈”系列的第13日。昨天,我们讨论了Windows Phone的震动控制器,以及如何告知我们的用户去注意他们的设备上所发生的事儿。今天,我们谈谈位置服务,以及如何获取他们的设备位置的信息。为什么位置很重要?设备在不断发展,移动电话有了能为你提供比几乎任何其他设备都高的定制信息的能力。特别是当我们说到电话的位置时。下面是一些具体的例子(我为本文整理的):检索文档的程序 假设我们有一个应用程序(或者通过网络访问)包含了数以万计的为客户提供服务用的产品和设备的电路图,零件表和
阅读全文
posted @
2011-01-07 18:30
大江
阅读(145)
推荐(0)
Windows Phone 7 开发 31 日谈——第12日:使手机震动
摘要:Windows Phone 7 开发 31 日谈——第12日:使手机震动 本文是“Windows Phone 7 开发 31 日谈”系列的第12日。昨天,我们谈到了Windows Phone的加速感应器,以及如何模拟一个真实设备来为我们提供数据。今天,我们来谈谈震动控制器(VibrateController)以及向用户提供程序中正在发生的事情的反馈。告诉某人如何使他的手机震动会立即引发一些没趣儿的笑话,所以,在我提及15次“震动”之前,会将他们带出到你的系统之外。呵呵,开始吧……我可以等。为什么要使手机震动?有很多很多愚蠢和/或不合适的原因来让一个手机震动。然而,本文的目的是讲述一些让手机震动
阅读全文
posted @
2011-01-07 18:30
大江
阅读(136)
推荐(0)
Windows Phone 7 开发 31 日谈——第11日:加速感应器
摘要:本文是“Windows Phone 7 开发 31 日谈”系列的第11日。昨天,我们讨论了Windows Phone的软键盘。今天,来谈谈基于硬件的加速感应器以及如何利用它提供的信息。什么是加速感应器? 目前缺乏一个更好的定义,Windows Phone设备中的加速度感应器是用来度量3个坐标轴加速度的装置,这里说的加速度是相对于自由落体加速度的。除了一个时间戳之外,值都是用重力值(G)表示的(1G = 9.81 m/s2)。这意味着如果将电话正面朝上平放在一个绝对的平面上,Z轴应该为-1.0,其他两个轴的数据为0。下面的图例演示了不同的值(感谢的来自于WindowsTeamBlog的图片):如
阅读全文
posted @
2011-01-05 08:36
大江
阅读(149)
推荐(0)
Windows Phone 7 开发 31 日谈——第9日:调试技巧
摘要:Windows Phone 7 开发 31 日谈——第9日:调试技巧 本文是“Windows Phone 7 开发 31 日谈”系列的第9日。在过去的几天中,我们讨论了启动器和选择器,在某些情况下没有硬件调试是十分困难的。今天,我们来谈谈调试,以及一些可供我们用来优化应用程序的工具。Application.Current.Host.Settings如果打开你的App.xaml文件,会看到有这样的语句:代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/
阅读全文
posted @
2011-01-05 08:35
大江
阅读(156)
推荐(0)
Windows Phone 7 开发 31 日谈——第10日:输入范围和文本框
摘要:Windows Phone 7 开发 31 日谈——第10日:输入范围和文本框 本文是“Windows Phone 7 开发 31 日谈”系列的第10日。本文专门讨论Windows Phone 7的键盘。我将讲解如何使用键盘显示你想要的字符。还会讨论密码框(PasswordBox),以及如何自定义它们。文章最后包含了一个代码示例。极棒的模拟器技巧 我听到过很多人抱怨他们不能使用电脑键盘来开发Windows Phone 7的应用程序。他们只能点击键盘上的每一个按键,这使得他们开发和测试效率都下降了。这儿有一个能使用你电脑键盘的简便方法。在你的电脑键盘上按下Pause/Break键。它可以让你在模
阅读全文
posted @
2011-01-05 08:35
大江
阅读(169)
推荐(0)
Windows Phone 7 开发 31 日谈——第7日:启动器
摘要:Windows Phone 7 开发 31 日谈——第7日:启动器 本文是 “Windows Phone 7 开发 31 日谈”系列的第7日。昨天我们讨论了在你的Windows Phone程序中如何使用工具栏。今天,我们来了解一下程序中的另一个核心功能,启动器。什么是启动器? 我发现我自己经常将启动器描述为一个“触发并忘记”的机制。你可以使用它们发送邮件,查看地图,拍摄照片等等。我会向作为开发人员的你讲解这个平台上的每个可用的启动器。在本文的最后,我提供了一个可下载的包含了所有讲述过的启动器的代码示例。 对于这些启动器来说要记住的一点是它们中有一些在模拟器上无法工作。例如EmailCompos
阅读全文
posted @
2011-01-05 08:33
大江
阅读(127)
推荐(0)
Windows Phone 7 开发 31 日谈——第8日:选择器
摘要:Windows Phone 7 开发 31 日谈——第8日:选择器 本文是“Windows Phone 7 开发 31 日谈”系列的第8日。昨天介绍了如何在Windows Phone程序中使用启动器.今天,我们来看看程序中与启动器相似的功能,选择器。什么是选择器? 选择器比启动器略复杂一些,因为它们要将数据带回到程序中,而启动器只是让用户去完成一个任务。我们将讲解此平台上每个可用的选择器。本文的最后,我提供了一个可下载的包含了所有描述过的选择器的代码示例。 对每个选择器而言,你都要确保在代码后置的文件中包含了下面的语句。我们需要引用Microsoft.Phone.Tasks名称空间。using
阅读全文
posted @
2011-01-05 08:33
大江
阅读(142)
推荐(0)