代码改变世界

[置顶]九浅一深ThreadLocal

2018-07-27 14:31 by FuzhePan, 253 阅读, 收藏, 编辑
摘要: ThreadLocal的作用、使用示例 ThreadLocal是线程的本地存储,存储在其内的值只能被当前线程访问到,其他线程获取不到,可以存储任意对象。经常用来存储当前线程的一些上下文信息,这样不用通过参数一层层的向下传递。比如在计算分库分表时,上层根据业务规则计算出这次要操作的数据库和表编号,存储阅读全文

[置顶]生产环境下实践DDD中的规约模式

2014-11-11 10:20 by FuzhePan, 1340 阅读, 收藏, 编辑
摘要: 最近的开发工作涉及到两个模块“任务”和“日周报”。关系是日周报消费任务,因为用户在写日周报的时候,需要按一定的规则筛选当前用户的任务,作为日周报的一部分提交。整个项目采用类似于Orchard那种平台加插件的架构,“任务”和“日周报”是两个独立的插件。“任务”已经由一位同事事先写好,周报中筛选任务的规...阅读全文

[置顶]VS2013中的MVC5模板部署到mono上的艰辛历程

2014-10-27 09:30 by FuzhePan, 5920 阅读, 收藏, 编辑
摘要: 部署环境:CentOS7 + Mono 3.10 + Jexus 5.6在Xamarin.Studio创建的asp.net项目,部署过程非常顺利,没有遇到什么问题;但在VS2013中创建的asp.net项目,部署过程会有一些波折。现在想想,原因是Xamarin.Studio中的项目模板比较简单,只是...阅读全文

[置顶]WebRTC实现网页版多人视频聊天室

2014-08-08 15:45 by FuzhePan, 4233 阅读, 收藏, 编辑
摘要: 因为产品中要加入网页中网络会议的功能,这几天都在倒腾 WebRTC,现在分享下工作成果。话说 WebRTCReal Time Communication 简称 RTC,是谷歌若干年前收购的一项技术,后来把这项技术应用到浏览器中并开源出来,而且搞了一套标准提交给W3C,称为WebRTC,官方地址是:h...阅读全文

[置顶]Lucene.net 实现近实时搜索(NRT)和增量索引

2014-07-29 10:45 by FuzhePan, 820 阅读, 收藏, 编辑
摘要: Lucene做站内搜索的时候经常会遇到实时搜索的应用场景,比如用户搜索的功能。实现实时搜索,最普通的做法是,添加新的document之后,调用 IndexWriter 的 Commit 方法把内存中的索引提交到硬盘;然后重新打开IndexReader,进行搜索。但是索引一般存储在硬盘上,而且当索引文...阅读全文

九浅一深ThreadLocal

2018-07-27 14:31 by FuzhePan, 253 阅读, 收藏, 编辑
摘要: ThreadLocal的作用、使用示例 ThreadLocal是线程的本地存储,存储在其内的值只能被当前线程访问到,其他线程获取不到,可以存储任意对象。经常用来存储当前线程的一些上下文信息,这样不用通过参数一层层的向下传递。比如在计算分库分表时,上层根据业务规则计算出这次要操作的数据库和表编号,存储阅读全文

java单例类的几种实现

2018-07-16 18:23 by FuzhePan, 8 阅读, 收藏, 编辑
摘要: 一,最简单的方式 首先构造函数声明为private,防止被外部创建该类的实例。声明一个static的成员变量instance并分配实例,当Singleton类被加载时,instance便会被创建,可以通过静态方法getInstance方法获取到该实例。优点是实现简单,且没有线程安全问题。缺点是Sin阅读全文

两道算法题

2018-07-06 17:47 by FuzhePan, 29 阅读, 收藏, 编辑
摘要: 一,大整数加法,链表实现。 比如 123 + 456 = 579 <!--5f39ae17-8c62-4a45-bc43-b32064c9388a:W3siYmxvY2tJZCI6IjY5NjEtMTUzMDg0Mjk3ODk1NiIsImJsb2NrVHlwZSI6ImltYWdlIiwic3R5阅读全文

seajs 源码阅读笔记

2015-08-11 20:01 by FuzhePan, 919 阅读, 收藏, 编辑
摘要: 代码概览src目录文件列表如下:代码以模块化的方式来组织,构建的时候会合并为一个js文件(sea.js 或 sea-debug.js),其中,intro.js和 outro.js 分别是这个js文件的头部和尾部。如果习惯看一个文件的代码,可以直接阅读dist目录下的 sea-debug.js , 这...阅读全文

ie8下使用knockoutjs遇到的一个模板异常

2014-12-15 13:40 by FuzhePan, 757 阅读, 收藏, 编辑
摘要: ViewModel中有一个数组,代码大概如下:function ReportViewModel(){ var self = this; self.extendedProperties = ko.observableArray([]); ...}在从服务端获取到数据之后,使用下面的代...阅读全文

生产环境下实践DDD中的规约模式

2014-11-11 10:20 by FuzhePan, 1340 阅读, 收藏, 编辑
摘要: 最近的开发工作涉及到两个模块“任务”和“日周报”。关系是日周报消费任务,因为用户在写日周报的时候,需要按一定的规则筛选当前用户的任务,作为日周报的一部分提交。整个项目采用类似于Orchard那种平台加插件的架构,“任务”和“日周报”是两个独立的插件。“任务”已经由一位同事事先写好,周报中筛选任务的规...阅读全文

VS2013中的MVC5模板部署到mono上的艰辛历程

2014-10-27 09:30 by FuzhePan, 5920 阅读, 收藏, 编辑
摘要: 部署环境:CentOS7 + Mono 3.10 + Jexus 5.6在Xamarin.Studio创建的asp.net项目,部署过程非常顺利,没有遇到什么问题;但在VS2013中创建的asp.net项目,部署过程会有一些波折。现在想想,原因是Xamarin.Studio中的项目模板比较简单,只是...阅读全文

CentOS7 + mono +Jexus 环境的搭建

2014-10-26 22:54 by FuzhePan, 1544 阅读, 收藏, 编辑
摘要: CentOS7的安装和配置1,从http://www.centos.org/下载CentOS7的镜像,并在VMWare中创建该镜像的虚拟机,为方便操作,把虚拟机的网络连接设置为桥接模式;在安装过程中默认的是最小安装,可以选择安装类型以及是否安装图形界面等,也可以选择是否打开网络连接,为避免安装完成之...阅读全文

浏览器端缓存的一个小问题及解决方案

2014-09-17 14:00 by FuzhePan, 2456 阅读, 收藏, 编辑
摘要: 浏览器的缓存行为可以提高网页的加载速度,但有时也会带来一些困扰。当用jQuery的get方法异步调用服务端资源的时候,浏览器会把调用结果进行缓存,拿不到实时的数据影响代码的逻辑实现,这种情况最简单的解决方法是在请求的链接后加一个随机数参数,或者用jQuery的ajax方法并设置cache为false...阅读全文

.Net平台下,分布式文件存储的实现

2014-08-14 09:35 by FuzhePan, 4436 阅读, 收藏, 编辑
摘要: 遇到的问题对于Web程序,使用一台服务器的时候,客户端上传的文件一般也都是存储在这台服务器上。但在集群环境中就行不通了,如果每个服务器都存储自己接受到的文件,就乱套了,数据库中明明有这个附件的记录,却找不到这个文件。于是,文件需要进行统一集中管理,并向集群中的服务器提供统一的路径。基于NFS的分布式...阅读全文