摘要:
前言 距离上次发布alpha版已经两个月过去了,中间将近一个月没有对应用进行开发,所以这次发布的仍旧是alpha 版。主要更新 上一版中只具备最基础的闪存列表获取,本版本主要更新了闪存头像、回复等内容。添加闪存用户的头像优化闪存列表的界面为闪存内容 添加 幸运星标志为闪存添加新人标志为闪存添加有评论标志添加闪存评论,(点击某条闪存,可跳转到评论)修改闪存发送方式添加闪存评论功能,(评论的刷新会在后台静默进行,需要等待一会才显示,下一版本会改进此问题)下拉闪存列表可刷新 (最近好像很流行这种涂鸦式操作说明,我也来试试 ^-^)日志Html的解析:上一版本中对Html的解释采用直接操作字符串... 阅读全文
摘要:
前言 学习android一段时间了,为了进一步了解android的应用是如何设计开发的,决定详细研究几个开源的android应用。从一些开源应用中吸收点东西,一边进行量的积累,一边探索android的学习研究方向。这里我首先选择了jwood的 Standup Timer 项目。本文将把研究的内容笔记整理,建立一个索引列表。Standup Timer 这是由jwood所设计的一个较为简单android应用,用于控制会议时间,类似秒表倒计时。Standup Timer是严格按照MVC模式设置的,同时可以学习怎样使用计时器Timer。知识点索引android的OptionsMenuandroid 阅读全文
摘要:
前言 好久没写博客了,罪过啊~记事本里累积了不少东西,整理整理放上来。关于依赖注入 Dependency Injection( 依赖注入)可以很好的帮助我们分离模块,降低耦合、提高可测试性。(PS:Roboguice 只是一个工具,依赖注入更多的是一种思想) 通常博主开发项目时喜欢以Activity 、Service 等组件作为顶级层入口,辅以各类接口作为业务服务。Activity 主要负责维护界面相关的东西,及提供功能所需要的上下文环境,引入功能实现需要的接口。这些接口的实例通过Roboguice进行注入。(当然你也可以完全不使用Roboguice,但还是建议保留接口注入的设计)。关于Rob 阅读全文
摘要:
今日看到张善友的在Windows上以服务方式运行 Redis决定亲自尝试一下。首先 Clone MSOPenTech/Redis , 这里不知道是啥问题,Git 连续Clone了三次都没有成功,唉~ 最后是直接在Github 下载Zip。源码下载完成后,进入 Msvs 文件夹,可以看到我们熟悉的 sln 文件了。利用 Vs 打开项目,这里我用的是Vs2012 结果编译时提示 MS8020 错误, 按照错误的提示,右键解决方案将项目升级为 :vC++本想针对 64位进行编译(修改编译配置),却发现会抛出“无法解析的外部符号的错误”,于是 配置改回来 win32。编译好后会得到 redisbin 阅读全文
摘要:
前言 本文假定读者对 HttpModule 、HttpHandler和IIS的处理流程有一定的了解,如果为了解可以参考以下链接。文中大部分代码通过Reflector反编译 System.Web.dll 得到,.net 版本为4.0IIS 5.0 和 6.0 的 ASP.NET 应用程序生命周期概述IIS 7.0 的 ASP.NET 应用程序生命周期概述HTTP 处理程序和 HTTP 模块概述 Asp.net MVC 程序虽然开发的模式不同,但是其本质上还是 Asp.net。其利用了HttpModule 和 HttpHandler 做了扩展,可以参考博客园里的大牛——Artech相关系列文章。. 阅读全文
摘要:
前言 这是整理至 麦库 上的一个我造的简单轮子今日查看了Junit 3.8的部分实现, 决定利用C# 模仿Java上 著名Junit 框架。实现要求:给定一些用户定义的类,运行其中 public 、void、无参数的方法。实现: TestCase面向用户的接口,该类中包含了:一个Test()公共方法。该方法调用其指定的实例方法(即单元测试方法)。public abstract class TestCase { public string TestMethodName { get; set; } public void Test() { ... 阅读全文
摘要:
前言 这是一篇我记在 麦库 上的笔记,现在移动到博客园来。i%x 的结果一定是 0~x-1 内。且随着 i 整数的顺序递增或递减。 其也在 0~x-1 的范围内周期变化。相比于 i/x i%x, 当i整数 循序递增或递减时,i/x 的结果变化1时,i%x 的结果变化 一个周期。例如: i=81;then i/9 =9;and i%9=0;i--;i/9=8;i%9=8;i--;i/9=8;i%9=7;i--;i/9=8;i%9=6;分析 由于 i/9 可以得知i 为9的倍数,如果变化率没有相对于除数的倍数变化,则除的结果是不会变化的,而被除数的变化则反映到了余数上。示例:中国象棋中 将帅 组. 阅读全文
摘要:
前言 前阵子去应聘了,总体来说还是挺愉快的。整个过程是:对方在招聘网站找到我的资料,然后打电话约我面试。抱着去结交一些技术人员的心态,我没啥准备就去了。首先是做了份试题, 然后是技术主管面试,最后是人事部经理面试。忘记说对方招的是Asp.net程序员。没啥准备直接乘几个小时的车就过去了。 “试题”——试题感觉像是公司里一群人每个人拼凑几道题弄成的,不是难,就是太过细节,不大喜欢,都是些奇怪的偏门的细节 如: "IL 里 构造函数 的关键字,“ 还有一些 SQL(竟然是 SC、C、 S, 郁闷,什么命名!刚从学校学完SQL毕业吗?而且题目明显犯了把业务放到SQL 语句里的错误。后来和他 阅读全文
摘要:
前言 之前在dudu的文章里看到过用bonobogit 部署在 IIS 7.5 上的Window 平台的git 服务器。学着部署使用了一段时间,发现总是有那样和这样的问题。Bonobogit对Windows要求的平台也高,于是又在网上找了一下,发现其实还是有不少软件支持在Windows平台上部署git Server 的。Gitblit Gitblit 是一个使用Java来管理Git的软件,其本身有很多特性分支。关于Gitblit 的详细情况可以到官网上查看: http://gitblit.com闲话少说,以下是gitblit 的安装步骤。(首要条件Java 虚拟机 !)1、下载Gitbli.. 阅读全文
摘要:
很多时候 我们只需要更新某个类的部分属性。在EF CF中科院这样进行部分属性的更新publicvoidEditEntity(Tentity,paramsstring[]modifiedProperty){if(entity==null){thrownewArgumentNullException("实体类型不能为空");}attach(entity);varstateEntry=((IObjectContextAdapter)context).ObjectContext.ObjectStateManager.GetObjectStateEntry(entity);for(i 阅读全文
摘要:
Jexus简介 Jexus web server for linux 是运行在Linux上的Web服务器。其安装和部署及其简单,直接支持Asp.net 。下载Jexus wgethttp://linux.j66.net/down/jexus-5.0.2.tar.gz然后解压: tar -zxv -f jexus-5.0.2.tar.gz打开readme.txt 文件查看详细的安装、配置说明;安装Jexus jexus 基本无需安装,只需要解压,然后注册一下全局程序集即可。1)新建一个 /etc/jws/ 文件夹: sudo mkdir /etc/jws/2) 拷贝解压好的文件到/etc/... 阅读全文
摘要:
在Linux上部署网站需要先安装Web服务器端软件,IIS只能在windows上使用,相对的我们可以选择著名的apache、Ngnix等。本文将简单Nginx的安装、配置以及利用其运行一个简单的Asp.net 网站。Nginx Nginx (Engine X)是一个高性能的Web服务器,由于其稳定、功能丰富、低资源消耗等特点,已经有很多网站利用它进行部署(国内不少大公司开始利用nginx 取代 apache,毕竟LAMP 太教条化了)。Nginx安装 本文将从源码开始安装nginx 目前最新版为 1.2.0,所有的安装过程都是在Ubuntu操作系统下进行的。首先下载源码: wget ht... 阅读全文
摘要:
在上一篇文章中,利用Mono运行时,将两个简单的控制台程序部署在了Linux上,并且顺利运行。在敏捷的时代,测试是必不可少的,接下来让我们看看Mono上的单元测试方案。NUnit 测试最好能够在Linux平台下运行,也就是需要MonoDevloper的支持。Vs2010自带的单元测试框架是不能用了,替代方案之一就是大家众所周知的——NUnit。Mono支持Nunit的运行,在MonoDeveloper中也有对应的Nunit项目模板。 关于NUnit的简单使用: NUnit使用Attribute来标记测试的用例:Nunit中的attributeTestFixture标识单元测试类Test... 阅读全文
摘要:
前言 使用Mono可以让程序员在Linux上使用C#语言。第一个程序 尊早约定,让我们使用C#实现Hello World的输出吧——可以参照:http://mono-project.com/Mono_Basics进入Linux系统,输入vi HelloWorld.cs在Vim 里敲入以下代码:using System;public class HelloWorld{ public static void Main() { Console.WriteLine("Hello Mono World"); }}利用:qw保存后退出这样我们就有了C#的源文件了,接下来需要将源... 阅读全文
摘要:
前言今天看到随它去吧大牛的【原创】说说JSON和JSONP,也许你会豁然开朗,含jQuery用例文章,利用JSONP的跨域令人倍感狂喜。于是想,自己动手针对Asp.net MVC 进行一些扩展,让其更好的支持Jsonp。关于 JSONP 的详情这里就不介绍了,请看 ——随它去吧:【原创】说说JSON和JSONP,也许你会豁然开朗,含jQuery用例 扩展要点默认约定 Callback 方法名为 Action名,当然也可以提供覆盖。自定义JsonpResult,让其返回Js文件类型的响应,看过MVC 源码的同学都知道,这其实很简单(请打开MVC 源码中的JavaScriptResult.cs文件 阅读全文
摘要:
前言: 利用快过年这2天的空闲,弄了个android 端的 闪存发送APK。由于时间冲忙还有很多问题存储在,所以先把alpha 版APK放出,等到了Bate版的时候我会连代码一起发布。主要技术: android的发布主要是利用了HttpClient 进行POST 和 Get的请求,发送数据到服务器并获取相关的数据信息。因为闪存是需要登录才能够发送,所以我们还需要保存通过验证的信息,就是将Cookie保存下来。 需要注意的是由于博客园是.net 网站,所以POSt 数据是需要将 ViewState 和Event这两个信息一起发送过去。 1 httpClient = buildHtt... 阅读全文
摘要:
Android应用程序使用View和ViewGroup来构建用户界面,它们都是继承自View类(或其子类)例如:Button、TextView、EditText等。各类View搭配上Style和Animation可以编织出非常丰富的UI,足以应付绝大部分的需求。但有时候我们也需要一些特别的View ,以带给用户与众不同的体验。 在此我打算写一个大长篇都是关于android View的,主要内容为:SDK上部分文章翻译(英文水平有限尽请拍砖);自定义的View、android源代码分析、开源View代码分析;各类App应用的界面模仿;以理论+代码示例+实践 的方式指导本系列博文的撰写。——因为. 阅读全文
摘要:
攻击的原理很简单, 目前很多语言, 使用hash来存储k-v数据, 包括常用的来自用户的POST数据, 攻击者可以通过构造请求头, 并伴随POST大量的特殊的”k”值(根据每个语言的Hash算法不同而定制), 使得语言底层保存POST数据的Hash表因为”冲突”(碰撞)而退化成链表.这样一来, 如果数据量足够大, 那么就可以使得语言在计算, 查找, 插入的时候, 造成大量的CPU占用, 从而实现拒绝服务攻击.例如:如果用求莫方式解决冲突的 Hash 那么 可以构造 一类列 莫相同的key .此时假设Hash 表的最大长度为 n ,利用冲突插入了M个值,那么 查找的时间复杂度就变为 O(N) [ 阅读全文
摘要:
前言 最近公司的Android项目需要用到摄像头做条码或二维码的扫描,Google一下,发现一个以Apache License 2.0开源的ZXing项目。Zxing项目里的Android实现太过复杂多余东西太多,得对其进行简化。前提条件 下载源代码:点击这里 编译核心库:Zxing的主页上有介绍具体步骤,大家也可以参照这篇博文:android 条码识别软件开发全解析(续2详解绝杀!)导入项目 打开Eclipse 导入 源码中的 Android 项目,然后右击项目 选择“Build path”——》"Add External Archives" 把核心库 core.jar文 阅读全文
摘要:
这次真的悲催了!用 Android 访问 .net 的webService 因为命名空间 的问题悲催了一下午到晚上。记住 使用 KSoap2 是 命名空间 一定要有 “/” 结尾一开始,在服务器上 调用 一个服务,传参为 DateTime 类型。因为 Ksoap2 不支持date 类型,所有在android 上把date转换为字符串。结果发现服务器端接收到的是 0001-01-01 的值。知道是值没传过来,然后把 服务器端上的DateTime类型改为 string 类型。 就一直抛出 “<soap:Fault><faultcode>soap:Server</fau 阅读全文
摘要:
前言 好一阵子没有做Android开发了,最近公司接了个Android的项目。由于以前用eclipse更新Android 一直存在错误,于是趁这个机会吧SDK 和 eclipse.一起重装过。顺利的重装好,打算添加原本项目时却出现了错误!ERROR Android requires compiler compliance level 5.0. Please fix project properties.错误。 加了好几个项目都如此,相当郁闷,清除、重新构建项目也不行,没办法只好请教GOOGLE大神。非常的幸运找到了解决的办法:首先清理项目,然后按以下步骤进行:1.项目右键 ->andro 阅读全文