代码改变世界

【C#|.NET】从细节出发(一) 通用接口 aop dto 相关

2013-03-25 16:14 by 熬夜的虫子, 4088 阅读, 6 推荐, 收藏, 编辑
摘要:系列文章完成后 源码发布在我的GIT上 https://github.com/dubing/文章仅代表个人观点 旨在交流 欢迎讨论背景 随着信息化的普及,信息系统越来越多,通常不同系统是采用不同的技术基于不同平台开发的,缺乏统一规划、统一数据标准、统一调用接口,因此系统之间的交互变得很困难.通常大... 阅读全文

.Net 玩自动化测试

2013-03-21 15:07 by 熬夜的虫子, 4369 阅读, 3 推荐, 收藏, 编辑
摘要:源码地址 https://github.com/dubing/YoukuAutomation背景 标题看似新颖实际上这里的自动化在很大范围内限定在web测试上,和loadrunner测试脚本类似,也都是测试工程师常用的概念。当然作为.net应用,你也可以用在产品演示上。 我使用的背景是在持续集成... 阅读全文

.Net 玩单反

2013-03-20 13:26 by 熬夜的虫子, 6724 阅读, 18 推荐, 收藏, 编辑
摘要:就如标题所示了 源码地址 https://github.com/dubing/CannonSDKandWia/背景一年多没逛园子了,换了个行业圈子,感觉自己太花心了点,不过能接触到不同的研发文化也算有点收获,游戏圈子的技术流、电商圈子的业务流、媒体圈子的艺术流等等。这个应用产生的背景是让单反相机自动化,本身老大的意思是想做针对usb接口的编程,不过太底层的技术用c#来做不是很合适。讨价还价了一番,那就针对单反来做吧。假设一个场景,我们需要N台单反设备瞄准一朵花,每隔30秒拍一张照片并且自动发到微博上。技术点 佳能SDK WIA标准 佳能sdk提供了dll给.net开发者引用,通过对sdk... 阅读全文

.Net 玩视频

2012-02-22 15:16 by 熬夜的虫子, 4118 阅读, 16 推荐, 收藏, 编辑
摘要:由于平台的特点 用.net做视频网站的不多 作为兴趣研究下背景经常上土豆 youku的朋友可能会发现播放的视频格式大多是flv格式的 那么我们先来扫盲下flvFLV 是FLASH VIDEO的简称,FLV流媒体格式是随着Flash MX的推出发展而来的视频格式。由于它形成的文件极小、加载速度极快,使得网络观看视频文件成为可能,它的出现有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上很好的使用等缺点。更多参考百科 http://baike.baidu.com/view/364757.htm但是用户手上的资源未必都是flv格式,所以需要格式转换。这里介绍2款工具FFm 阅读全文

【C#|.NET】分布式锁服务

2012-01-16 17:58 by 熬夜的虫子, 8412 阅读, 18 推荐, 收藏, 编辑
摘要:背景 分布式锁服务在大家的项目中或许用的不多,因为大家都把排他放在数据库那一层来挡。当大量的行锁、表锁、事务充斥着数据库的时候,不如换个角度思考问题。一般web应用很多的瓶颈都在数据库上,这里给大家介绍的是减轻数据库锁负担的一种方案。简介 如果我们的需求很简单,例如对于用户的账户资金,要保证原子性操作。并且不同的客户端在同一时间内只能提交一个对象操作。lock、单例?!在单台上还可以,但是大型web项目上,负载均衡是常用的技术手段手段,同一意义的对象可能存在不同的副本,这时我们又如何保证排他操作。数据库的事务!除了这个,接下来我们引出本章的主题、分布式锁服务。 一个简单的锁服务实现起... 阅读全文

【C#|.NET】利用FastDFS打造分布式文件系统

2012-01-09 11:17 by 熬夜的虫子, 14463 阅读, 15 推荐, 收藏, 编辑
摘要:关于分布式文件系统 之前已经写过一些随笔 不过没怎么用心 本篇详细的整理一下背景 海量存储、系统负载的迁移、服务器吞吐的瓶颈等等 让文件系统独立于业务系统 提高整个项目的扩展性以及可维护性 目前主流的方案 MFS FASTDFS GFS LUSTRE HADOOP等等 我选择的是FASTDFS 用一句广告语来说 “免费、快速、找得到”。FASTDFS的作者是淘宝的资深架构师余庆,很诙谐、很有爱!!!其他方案还没玩过 暂不评论。简介 FastDFS是一款开源的轻量级分布式文件系统纯C实现,支持Linux、FreeBSD等UNIX系统类google FS,不是通用的文件系统,只能通过专有... 阅读全文

【C#|.NET】跳出一致性Hash算法 打造更高效的分布式缓存

2011-12-30 18:11 by 熬夜的虫子, 6010 阅读, 14 推荐, 收藏, 编辑
摘要:前文 所谓“高效”,觑头而已。背景 谈到分布式缓存,大家首先想到的是memcached。确实memcached是目前最流行的方案之一。不过很多互联网公司不用memcached,例如新蛋。为什么不选择memcached呢,命中率?热插拔?还是性能。这里先不放结论,用事实来说话。算法篇 -1.除余法 如果你手上有老版本的memcache官方文档。你会发现他们用的是除余法来保持节点的一致性。假如你有N台缓存服务器,你需要将某个对象set进某一台节点上。用hash取模这样可以很均匀的保证每台的负载。那么,作为最基本的轮询算法,是否适合分布式缓存我们来看实例。这里假设有4台缓存节点,先设置除余... 阅读全文

【C#|.NET】长话短说 分布式通信方案综合测评

2011-12-27 16:56 by 熬夜的虫子, 4337 阅读, 12 推荐, 收藏, 编辑
摘要:如果你应聘互联网企业的架构师 分布式解决方案属于必问环节 因为流行SOA 关于SOA就不废话了 网上资源很多 重视4个字“基于消息”本篇只测评大家项目中常用的几种Remoting(TCP,HTTP,IPC)WCF(basicHttpBinding,netTcpBinding)HessianMSMQWebService......环境介绍客户机 windows Xp服务器 windows2003(虚拟机)带宽2M测试环境和线上环境差距比较大 我们看相对性就可以了所有方案基于相同远程对象 public class DtoClass : MarshalByRefObject { ... 阅读全文

【C#|.NET】从控制反转(依赖注入)想到事件注入 (非AOP)

2011-12-21 15:16 by 熬夜的虫子, 6588 阅读, 8 推荐, 收藏, 编辑
摘要:前文事件注入的想法是由依赖注入所联想到依赖注入不算什么吸引人的话题本篇就不详说了不过有闲暇时间的机会不妨按照自己的兴趣去摸索、研究一些东西,也是一种乐子。在抓虫系列里简单的描述一下依赖注入在项目中的应用场景抓虫(五) 浅谈依赖注入与控制反转关于依赖注入推荐T2噬菌体同学的一篇文章 依赖注入那些事儿关于事件注入已添加进我的设计模式 【系列索引】结合项目实例 回顾传统设计模式 打造属于自己的模式类系列 概要所谓事件注入是我一时兴起随便杜撰的词,其思想借鉴依赖注入。当然看到这个词很多同学会想到AOP,这里先不置可否。依赖注入(Dependency Injection),是这样一个过程:由于某客户类只 阅读全文

【linux+C】通过几个实例温习指针

2011-12-20 15:55 by 熬夜的虫子, 1973 阅读, 2 推荐, 收藏, 编辑
摘要:前篇回顾 上篇介绍一些vim相关的内容 作为新手,起初玩vim还是蛮痛苦的。不过慢慢尝到甜头后也很难放下了。本篇带一样很久没玩c的同学温故下指针。step 1 直接上图了这里我们定义一个二维数组int a[2][5] = {1,3,5,7,9,2,4,6,8,10};左边文件我们声明一个普通指针 将二维数组的内容填充进来我们来看看运行的结果结论我就不总结了 和大家的想法一样右边文件我们声明一个指针数组来存放我们再看看右边文件的运行结果大学里 谭浩强的c入门熟读的同学应该也早就知道结果了温习一下而已,通过上面的2个例子我们可以理解到这些左边的例子实际上在内存区占用了一连串的地址,右边的例... 阅读全文

【linux+C】神器 vim + 指针相关客串

2011-12-16 16:48 by 熬夜的虫子, 5301 阅读, 3 推荐, 收藏, 编辑
摘要:前篇回顾 上篇介绍了linux下C编程基本环境配置以及相关工具使用选择。 不过10个大牛9个用vim,那么咱们就来玩vim。linux下玩c就别依靠图形界面。好吧告别Ide,命令行才是c的王道。 本篇文章感谢名为孙鹤同学的技术支持 感谢有爱的c大牛们 本文中多处使用vim插件(孙鹤提供),这些插件大多是在http://www.vim.org/处下载。指针客串 因为毕业后就没玩过c了,都说指针是c的重点。但是指针作为一种地址变量,为什么不直接操作变量本身呢。文章末尾为大家揭晓vim的配置文件 ~/.vimrc 用户的默认配置文件 ~/.vim/plugin/ 用户的默认脚本文件... 阅读全文

读书笔记: CLR篇 (让你了解C#.Net的实质) (20111219更新)

2011-12-16 10:37 by 熬夜的虫子, 1023 阅读, 1 推荐, 收藏, 编辑
摘要:写在开篇之前 本系列以笔记的方式、将一些书籍的核心内容概括,给自己留一个读书笔记。也方便大家用最短的时间掌握最丰富最重要的内容。 作为读书笔记,本身不属于虫子原创,对于知识点有疑问的同学可以提出大家一起交流。 书籍的选材目前限定在开发、运维、dba、网络安全几方面。欢迎有爱的同学一起学习。 clr基本 CLR(Common Language Runtime)是一个可由多种编程语言使用的“运行时”。(例如:c#,c++/cli,vb,f#,iron python,iron ruby,il...) CLR的核心功能内存管理、程序集加载、安全性、异常处理、线程同步、泛型、尾调用指令和基本... 阅读全文

分享改进 高性能通用分表归档存储过程测试结果更新

2011-12-14 13:00 by 熬夜的虫子, 749 阅读, 0 推荐, 收藏, 编辑
摘要:因高层突然变卦 要以存储过程来完成订单的拆分归档工作 所以虫子的同步工具先暂时搁置一段时间。详细设计参考原理篇更新一下测试结果 旧的测试结果放在下面 前一篇关于限制性开源的文章先删除 因为是企业在用项目 所以不开放性公布源码了有需要交流的同学可以单独联系虫子更新内容 解决了一些bug,例如以前按一级表、二级表、三级表...的顺序删除,结果导致一级表删除后,二级表的数据读取错误。 优化了过程安全,在3个阶段进行临时表和游标资源的check。降低预料外异常对程序的影响。 改变删除的设计。 总的来说不是从性能上更新,而是从业务角度保证数据的完整性最新测试结果 500条查看原图 :http:/... 阅读全文

【linux+C】新征程 linux下C编程

2011-12-13 16:31 by 熬夜的虫子, 41268 阅读, 8 推荐, 收藏, 编辑
摘要:写在开篇之前 相信很多同学和虫子一样 当初选择.net、java或者其他什么... 一定程度上并非自己的主观意愿 而是迫于职场需要。至于身为微软派为什么要重新走linux的路,这里不想挑起所谓的派系争论,就算一开始虫子选择的是linux下编程,今天也一样会重走windows的。 另外告诉大家一个好消息,12月份的编程语言排行榜c#已经追到第四了 ~ ~ 本篇开始虫子将和有同样爱好的同学一起学习linux下编程,很多人多说语言是相通的,一通则百通。这里我就不吐槽了,只想说一句人云亦云是不好的。不同类型的编程语言有不同的适用场景,不同的领域。你让c coder去开发web应用、他会拿扫帚追你... 阅读全文

走向DBA[MSSQL篇] 从SQL语句的角度 提高数据库的访问性能

2011-12-09 17:28 by 熬夜的虫子, 8288 阅读, 40 推荐, 收藏, 编辑
摘要:最近公司来一个非常虎的dba 10几年的经验 这里就称之为蔡老师吧在征得我们蔡老同意的前提下 我们来分享一下蔡老给我们带来的宝贵财富 欢迎其他的dba来拍砖目录1、什么是执行计划?执行计划是依赖于什么信息。2、 统一SQL语句的写法减少解析开销3、 减少SQL语句的嵌套4、 使用“临时表”暂存中间结果5、 OLTP系统SQL语句必须采用绑定变量6、 倾斜字段的绑定变量窥测问题7、 begin tran的事务要尽量地小。8、 一些SQL查询语句应加上nolock9、加nolock后查询经常发生页分裂的表,容易产生跳读或重复读10、聚集索引没有建在表的顺序字段上,该表容易发生页分裂11、使用复合索 阅读全文