- 博客(48)
- 资源 (45)
- 收藏
- 关注
原创 坑爹项目犹有竟时
从去年12月一直忙碌到现在,项目终于进入交付阶段了,感觉可以轻松几天了。下午跟项目上的工程师QQ聊天,得到更好的消息,一个折腾一年多的项目终于不再出问题了。(此文纯属流水帐) 去年四月,第一次出差去现场,之所以去现场是由于项目定制开发太紧急,我们在交付的前一天才开发完的。这一去,前前后后就折腾了我足足一年。去现场安装部署,总共就部署两东西,一个客户端,一个消息分发服务。安装部
2015-07-21 21:06:40
953
原创 WPF程序中使用MVVM模式
前两周有个紧急项目,项目到我们手上时离最后交付日期只有三周,虽然功能很简单就几个页面,但需要做的还是很多。于是临时找了北京的同事帮忙做界面,我们这边负责做后台通信和消息分发。上周合并代码一看,发现界面代码有点乱,各种贴代码的痕迹,有很明显的MVVM框架的样子,但用的有些混乱,看他的代码自己也迷糊了一阵,因为MVVM只是了解点(我还以为是我理解错了的,我们前几个项目都是采用Winform的思维做的项
2014-11-30 18:48:48
4473
原创 C#获得刚刚插入记录的自增ID
看着别人为了获得新插入记录的自增ID而给表增加一个GUID的字段就揪心,自己能实现是好事(如果不能变更表呢),实现完到网络搜搜别人的解决方案不是更好。@@IDENTITY是我常用的解决方案,代码如下:
2014-11-22 09:34:11
14287
原创 Android实现仿QQ5.0的侧滑效果
前段时间准备学习下侧滑效果的实现,不经意间发现了穆课网有个介绍QQ5.0侧滑的视频,于是学习了下,稍作整理,留作自用。首先看一下效果,第一张就是截的QQ的图模拟内容界面,第二张为向左侧滑时的效果。
2014-11-08 15:32:52
4653
原创 C#软件license管理(简单软件注册机制)
最近做了一个绿色免安装软件,领导临时要求加个注册机制,不能让现场工程师随意复制。事出突然,只能在现场开发(离开现场软件就不受我们控了)。花了不到两个小时实现了简单的注册机制,稍作整理。基本原理:1.软件一运行就把计算机的CPU、主板、BIOS、MAC地址记录下来,然后加密(key=key1)生成文件;2.注册机将该文件内容MD5加密后再进行一次加密(key=key2)保存成注册文件;3.注册验
2014-09-19 15:59:33
41546
7
原创 WCFRest应用简介
上周末把WCFRest稍微整理了下,不料到最后一步发现Post跨域提交不成功,调查了两晚还是没有什么解决方案,暂且当作其的一个缺陷吧(本质与WCFRest无关,是JsonP不支持跨域Post,或者说JsonP跨域的本质是还是Get)。示例主要分为两个方面:1.采用模板实现WCFRest;2.采用一般WCF服务的方式实现WCFRest以及客户端的调用。1.采用模板实现WCFRest一张图说明
2014-09-16 22:09:19
1606
原创 Android调用WCFRest
最近一直处于穷忙阶段,每天下班都累的半死(项目上都是上半年松,下半年紧,估计得持续到年底,想想都累),下班感觉没精力学习了。昨天休了一天假,把Android调用WCFRest研究了下,稍作整理,例子以登录和注册为例,登录或注册后跳转新的页面显示用户信息。涉及到的知识点:1.WCFRest实现基础(WCFRest后面单独讲,没接触过的,就根据我的例子依葫芦画瓢,到实际要用时再研究不迟);2.Ht
2014-09-10 22:46:02
3712
原创 Android工具导航栏
今天继续Android学习之旅之导航栏的记录。本文采用了两种方式实现:1.用ActivityGroup和DataGrid相结合实现;2.采用继承FragmentActivity和RadioButton相组合实现;1.用ActivityGroup和DataGrid相结合实现;首先是用ActivityGroup和DataGrid相结合实现,思想是在一个页面上将子页面与导航栏上下布局,每次点
2014-08-17 22:51:58
2924
原创 Android之Menu
今天继续Android学习之旅之Menu的记录。主要分为三个部分:1.选项菜单OptionMenu;2.上下文菜单ContextMenu;3.子菜单SubMenu;1.选项菜单OptionMenu;只需要重写onCreateOptionsMenu方法,在其中写添加菜单的逻辑:
2014-08-16 22:33:32
1062
原创 Android之Intent
今天继续Android学习之旅之Intent的记录。到现在为止写出的例子一直在同一个页面里运行,而实际没看过什么应用只有一个页面。今天主要是通过Intent进行简单的页面传值,页面逻辑是由A页面传值跳转到B页面,B页面对接收的值进行处理,然后B页面将值回传给A页面。学习到的内容主要有以下三方面:1.Intent实例对象链接当前页面和目标页面,对象中可以存放键值对的数据,通过startAct
2014-08-16 01:08:32
896
原创 Android之GridView
今天继续Android学习之旅之GridView的记录,主要包括两个方面:1.列表显示Grid;2.点击弹出图片和信息。看了看手机,只看到美图秀秀有点GridView的影子,截图如下,下文就仿下美图秀秀的效果。首先GridView绑定数据的方式跟复杂ListView差不多,也是三步1.获得数据列表;2.填充数据适配器;3.设置GridView的适配器;首先提供一个数据模板,数据模板me
2014-08-11 22:14:23
3093
原创 C#多线程面面观
前段时间总算过了把面试别人的瘾(虽然只参与了几个电话面试),经过几个星期总算尘埃落定,新人也已报道。项目组当时准备了一些题,用来考察他们的基本功。总的来说大伙都能说出点,唯一空白的是多线程,无一例外的都说没接触过多线程,也不了解多线程。我就感觉很奇怪,两年左右的程序员竟然直接说不了解多线程(我感觉就算是为了换工作也应该突击了解下的,毕竟我们的招聘要求上也是有了解多线程这条的)。为此我决定总结一下平
2014-08-10 17:34:35
4256
1
原创 Android之对话框Dialog(二)
今天继续Android学习之旅之对话框Dialog的记录,主要包括三个方面:1.时间弹框;2.自定义弹框;3.等待弹框。1.时间弹框时间弹框分为日期弹框和时间弹框1.1日期弹框点击按钮的事件代码:
2014-08-09 20:55:25
1266
原创 PHP实现增删改查以及防SQL注入
最近项目调研时,需要在集成板子上做个配置的网页,板子上装的是linux系统,配置信息在一个Sqlite数据库中,经过讨论大家决定用PHP做这个网页。由于项目组没一个会PHP的,所以安排我调研下写个Demo,经过四天的研究终于完成了Demo的调研(调研过程主要参考网络,具体开发就交给月底入职的小弟去做了,哈哈,有个小弟真好),特此记录(根据我调研的顺序展开)。
2014-07-12 20:57:05
6221
原创 C#获得本机物理网卡的MAC地址
今天中午吃饭前看到四月份记录的一个bug,当电脑上插了自己的无线时,软件无法打开的情况,当时也没去解决(客户说拔了无线就好了)。午饭时想了想感觉应该在验证授权时获取MAC地址出错,吃完回来一看代码,果然是有点问题。授权时是根据本地网卡的MAC地址授权的,登录时验证授权时用的无线网卡的MAC地址,所以导致软件打不开。简单搜了下,参考这篇文章,结合msdn上的描述和本机测试,把获得本机物理网卡的MAC
2014-07-02 14:54:44
11608
2
原创 Android操作数据连接和Wifi
端午前终于给老爸买了个红米1s(真难抢,前后耗时几个月)。买完教我爸用,别的都还好,就是查天气预报,老爸感觉太麻烦,要先开数据连接,再点天气预报,查好再关闭数据连接。我就给他解释这个天气预报是要联网的,所以要先开网络,至于关闭网络是为了防止其他软件在后台偷偷的耗流量。老爸就说了一句,这软件为什么不能自动开启网络,查完天气预报自动关闭网络呢。也是,完全可以这样实现,因为天气预报完全依赖于网络的。昨天
2014-06-08 10:08:59
6056
原创 Android调用webservice
前言:一晃距离上次搭android环境已经4个月了,还没怎么学习android,买的android书看了遍目录,看了最基本的控件以及都能实现哪些功能(而且只是看看,没练),androidbus上100多天的签到记录(只是为了下载东西时不缺下载分的未雨绸缪),仅此而已。当初想玩android时,只是为了实现一个小小的需求,通过手机关闭电脑(每次睡前看会手机,但手机连着电脑开启的共享wifi,玩完手机
2014-05-18 15:26:39
14007
1
原创 EF二三事
用EF一段时间了,以前不怎么动数据库,也没发现什么问题。最近对数据改了改,就遇到了一些问题,现在项目告一段落,特此记录。1.视图查出来的数据从第二列开始重复;2.EF初始化报“无法加载指定的元数据资源”;3.复杂逻辑或查询的一些技巧,运用视图和存储过程;1.视图查出来的数据从第二列开始重复这是EF的一个bug,产生的原因是因为视图中没有把原来表的主键给一起查出来,所以在视图中将
2014-05-09 16:13:15
1927
1
原创 工作三年流水帐
工作三年流水帐三年内在技术上能够独当一面,三年之后再去小公司带带团队。这是我当初毕业时的目标,如今三年了,应该是没达到。第一份工作是2011年3月底,一家日企。待遇还不错,管吃管住报销水电费,两个人住的是三室一厅,家电齐全。不过很不巧,我进去之后公司一直没有.net相关的项目,于是一直处于学习状态。VB、C、C++、C#都过了一遍,C#底层的Socket、钩子也稍有接触。在公司做的事能记起
2014-05-08 20:06:21
1479
原创 Log4net终结版
继上一篇Log4net的整理已经多时,最近闲时把log4net封装了下,针对一些可能的需求进行了调查,例如多级别日志和多文件日志。1.单文件日志 对于单文件的日志,封装代码如下:public enum LogMessageType{ Debug, Info, Warn, Error, Fatal}public sealed
2014-02-27 21:17:54
6384
1
原创 WPF之数据绑定总结
最近几天高强度开发,暴露出不少问题,WPF还达不到信手拈来的地步,好些东西还要去看看以前的项目。平时还是要多总结的,层次高了之后关注的知识点才会更深入。下面总结下WPF的绑定相关,总结之前又看了一遍深入浅出WPF,结合平时用到的得出此文(以TextBox为例,覆盖常见的需求,其他控件类似,代码下载,先看代码再看解释效果更好)。 本文主要包含以下内容: 1.Tex
2014-02-15 18:00:07
29746
2
原创 Android环境搭建以及HelloWorld程序
最近忽然想玩一玩android,写几个小程序在自己的手机,于是开启我的android之旅。第一个挑战就是安装环境,在自己的电脑上折腾了三遍才算把HelloWorld给弄出来了,于是在公司的电脑上也装了一遍,写下以记录,希望给初学者一个参考。本机环境64位的Win7。 1.下载Java的JDK和Android的SDK(注意根据自己的机型选择32位和64位); 2.
2014-01-17 09:56:54
2829
原创 WPF操作滚动条
最近客户反映一个滚动条的用户体验问题,在ListView加很多项时出现滚动条后,滚动条会向上走(看不到刚加的那一项),只能每次加了之后再滑下来看。调查了下原来是ListView的默认滚动条的问题,设法操作这个滚动条,无果,于是加了个滚动条控件,用ScollToEnd方法将滚动条重置到最下面。测试时发现当鼠标在ListView上时滚轮没反映,于是找了下事件,MouseWheel和PreviewMou
2013-12-10 11:08:54
14687
原创 Bitbucket的配置
前言:我们项目组源码管理用的TFS,部署在别的项目组的电脑上,前段时间接到通知,他们急需用电脑,于是他们就把我们的项目源码刻成盘(电脑上只有我们的TFS,但资产属于他们组的),然后把电脑格式化了。一切都很突然,在新服务器来之前,我们正在开发的项目用bitbucket作为临时代码托管平台。因为我们公司软件都是正版的,也就没有临时用其他电脑做TFS服务器。选择bitbucket,因为bitbucket
2013-11-08 11:44:07
9065
原创 log4net的配置详解
前言:没买到1号回家的票,所以在祖国64岁生日之际,宅在宿舍一天,玩游戏之余把昨天想整理的log4net整理下,于是有了下文。 log4net是一款优秀的第三方日志框架,可以很容易的加载到开发项目中(引用log4net的dll,再配置些基本参数即可),帮助程序员把日志信息输出到各种不同的目标,常见的有文本、数据库、windows日志、邮件、内存缓冲区等目标。 首
2013-10-01 22:45:17
68076
1
原创 C#实现在数组中插入1-100的随机数
面试原题:实现填充1-100到一个容器为100的数组中,数组只可以定义一个。 这是我上半年面试时遇到的一道题,当时第一次遇到就做出来,很有成就感,面试官现场给了我五分钟 ,花了三分钟想出来描述给他听。不过前些时候又遇到了一种方法,下午正好有空整理了下(国庆来临,除了开会的别的基本都提前走了,办公室就几个人,也都不干活了)。 方法一: 思想:先将
2013-09-30 19:28:18
10693
原创 WPF之CheckBox组的全选设计
最近看项目中的一个Check组的全选设计,感觉比较搓,看着不爽,于是花了点时间重新重构了下。涉及知识点:1.枚举的Flags特性;2.位运算。 先看看界面: 需求是窗体有若干个选择,在接收消息时根据选择进行筛选,显示相关的信息。项目中不爽的主要两点:其一,在点击子项时都去判断是不是该变动全选按钮的状态变化,用了不少的if;其二,在判断消息是否符合要求时,又要
2013-09-30 14:43:09
6653
原创 简单工厂模式、工厂方法模式、反射工厂模式、抽象工厂模式
工厂模式在当初学习.net时就听说过,记得当初实习的简历上写着熟悉三层架构和工厂模式,其实当初并不会,只是听说过。直到前些时候才去了解工厂模式,其实工厂模式还是很常用的,参考大话设计模式和网上的若干博客,初步整理出四种版本的,简单工厂模式、工厂模式、改进的反射工厂模式、抽象工厂模式。 首先先大概了解下实际运用背景,比如要设计一个集成平台将停车场集成进来,而停车场有多个品牌供用户选
2013-09-06 14:45:21
3445
原创 单例模式
近期做项目时初期设计某个模块时,同事说应该用简单工厂模式,我只听说过简单工厂模式但不太了解。我把写的demo给他看,同事一看说这就是简单工厂呀,瞬间感觉弱爆了,还是要加强理论知识呀,工作两年了,对设计模式只是听听名称,一直没去专研。下了个大话设计模式电子书,大概过了一遍,准备把现在工作接触到的先研究做个记录。先从软柿子捏了,单例模式是听得最多的也是我认为最简单的,不过学习了之后还是有颇多收获。
2013-08-27 11:59:25
1174
原创 SQLExpress免费版配置本地数据库实例
还记得实习时,那家公司版权意识和保密意识很强,我们的电脑都不能上网或者外接存储器(外接设备直接被卸掉了,且机箱是有锁的)。当初本机电脑上数据库装的是免费版的,看上去只有服务端,在本地没法建数据库测试,问带我的那个同事,他说免费的就是只有服务端,没有本地客户端。没想到,免费版的没有本地实例这个观点一直延续到现在,可悲呀。新换工作两个月了,新公司不让装破解软件,并有专人监控,本机装的是免费版的数据库。
2013-08-21 18:58:55
9699
原创 代码逻辑死锁导致数据库超时
又是很久没记录工作点滴了,年后就忙着找新东家了,总算尘埃落定。不料,刚交接出去的系统就出问题了,系统老是超时。两天前看测试环境报错还没在意,因为什么代码也没改而且正式系统上也没问题,再加上公司权限系统切换有问题,大家什么异常第一个就想到权限系统。今天发现正式库上也报错了,一直报超时。于是查问题,最终结果是交接的人新加了个功能,代码中人为照成锁等待超时(在函数中前面加事务,后面没加事务,后面没加事务
2013-06-08 14:50:26
3067
转载 深入浅出索引结构
几天前听培训课时听老师随口问了下一个关于索引的知识,然后简单的说了几句,顿时感觉我对索引的认识还只是最肤浅的阶段,今天特意找了找,找到freedk的知识库,有四篇文章,感觉不错,特转载分享。第一篇深入浅出理解索引结构(原文地址) (一)深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clu
2012-11-14 13:34:08
1539
原创 iframe实现无刷新上传下载
最近我维护的网站在审核时加了个上传下载的功能,能上传多个文件(文件很小、不超过3个、上传时可以多选、且要有上传进度),下载时有选择的下载。页面是用aspx做的,微软自带的只有单文件上传,于是乎想到flash。找了三个现成的,测试发现一个不兼容IE9,另两个都通过了,但发现有点山寨,flash是封装好的,一个上面有广告,一个是英文的,既是封装的,我也不知道里面到底干了什么,也没想去看As语言的语法。
2012-10-21 22:20:40
7863
原创 js一个逗号引发的错误
一个程序员的能力不能只看完成功能的能力还要看解决问题的能力!要提升解决问题的能力! 今天一上班系统就报了个错:系统在360浏览器中按钮失效。于是乎调查,测试发现在IE中8、9和谷歌中正常,而在IE7和360中出现问题,按钮的事件失效了,于是将Internet选项的禁用脚本调试选项去掉,报一个函数没定义,找了找发现是有的,感觉奇怪。接下来就找是不是哪段代码的JS不兼容360(项目中
2012-10-16 20:17:56
3431
C#多线程面面观(博客源码)
2014-08-10
Android之对话框Dialog
2014-08-05
Android之ListView(博客源码)
2014-08-04
Android下拉列表框
2014-08-03
PHP实现增删改查以及防SQL注入
2014-07-12
Android操作数据连接和Wifi
2014-06-08
Android调用Webservice
2014-05-18
C#版文件加密小工具
2014-05-06
Log4net详细配置(博客源码)
2014-02-27
WPF之数据绑定总结(博客源码)
2014-02-15
WPF仿windows自带ip输入控件
2013-12-19
WPF操作滚动条
2013-12-10
EF入门程序(实现增删改查,包含详细步骤)
2013-10-11
log4net的配置
2013-10-01
工厂模式、简单工厂模式、抽象工厂模式、反射工厂模式
2013-09-06
C#读取Win7和Server2008的计划任务日志
2013-06-25
查看数据库的锁以及事务锁表的超时的调查
2013-06-08
Memcached的安装(包括所需文件和例子)
2013-03-17
WCF双程操作(心跳)
2012-04-14
WCF的几种HelloWorld写法研究
2012-03-05
WPF程序中使用MVVM模式(博客源码)
2014-11-30
SQL2005的排名函数以及透析函数(博客源码)
2014-11-23
Android实现仿QQ5.0的侧滑效果(博客源码)
2014-11-08
C#软件license管理(简单软件注册机制)(博客源码)
2014-09-19
WCFRest应用简介(博客源码)
2014-09-16
Android调用WCFRest(博客源码)
2014-09-10
Android工具导航栏(博客源码)
2014-08-17
Android之Menu(博客源码)
2014-08-16
Android之Intent(博客源码)
2014-08-16
Android之GridView(博客源码)
2014-08-11
Android之对话框Dialog(博客源码)
2014-08-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人