找到相关内容 311
程序员应知 -- 如何分析海量数据
在这个云计算热炒的时代,如果你没有处理过海量数据的话,你将不再是个合格的Coder。现在赶紧补补吧~ 前一阵子分析了一个将近1TB的数据群(gz文件,压缩10%)。因为第一次分析如此巨大的数据,没有经验,所以浪费了许多时间。下面是我整理的一些经验,方便后者。 欢迎各种补充,我会不断更新这篇文章;觉得有用的话,速度分享链接;有不同意见的话,请果断拍砖; 下载数据 Q:怎么自动下载多个文件? 这是我遇到的第一个问题。当数据量很大时,一般都会分成很多个文件存放。这时下载文件比较麻烦。 A:用Wget命令。Windows下花费一点时间去下载安装。但之于手动下载,能省不少时间。 我提供两种方式方式下载文件, a)用Wget的递归下载选项 “-r”。一般命令如下 wget –r http://<下载数据的根目录>/  -o <下载记录
http://www.cyqdata.cn/cnblogs/article-detail-169 
【日常小记】内存分配方式及常见错误
积少成多,滴水穿石——自勉 内存操作对于程序开发人员来说,永远是一块雷区。在这片区域,总是不断的埋雷、排雷,而且往往是排雷花了非常大的代价。记得在公司实习时,有大概2个星期的时间,team的几个人去排雷——有地方发生了memory leak! 而以我现在的认知来看,只有极少数的programer敢拍着胸脯说,非常熟悉内存操作,手到擒来不会排雷。针对这个情况,我要求自己在尽量去探索,以求少埋雷、甚至不埋雷(这是一个很大的挑战)。以下内容摘自《高质量C++/C编程指南》(作者: 林锐 博士),以警醒自己。更多详细、深入的东西有待我继续深入调查、学习。 1、内存分配方式 内存分配方式有三种: (1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 (2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可
http://www.cyqdata.cn/cnblogs/article-detail-168 
对于前台的一些想法
      做前端已有三、四个月了。最有感触的是昨天,三个月前写的前台代码,在现在的我看来竟然如此地差劲,或者自己的实力有所增强吧。       <div style="">这种写法,可能以前的我还能接受,但是自从有一次被项目经理骂了之后,很少写这样的代码,基本上把样式都分离出去。那一次被骂,记忆比较深刻,他是这样说的:“可能我对你的要求太高了,但是我希望你能这样做”。       我很认同一个观点,就是一个程序员去写前台代码,往往会比一个不懂程序的人写得更优秀,因为写过后台的人知道前台哪里是动态的数据,这一点比较重要,因为牵涉到小幅度改动和大幅度改动的问题。所以,我更加能体会到样式分离的重要性。       三个月前写的代码,除了一些
http://www.cyqdata.cn/cnblogs/article-detail-167 
选择结构(if..else..,switch,try..catch..)的拆分
编程中经常遇到很多条件,以及条件套条件的情况,以至于一个方法会写得非常地长。有多种方法可以规避这个问题。比如反射,策略模式,表驱动等等。先抛开这些方法不讲,从根本需求来探索这个过程。   一个switch结构可能是这样: swicth(case)   case 1:     //do1     break;   case 2:     //do2     break;   ..... 这里注释的do部分代码可能会是很多很多行,以及嵌套switch,if结构。 进一步,这个模型演化成 swicth(case)   case 1:     do1();     break;   case 2:     do2();     break;   .....   do1(){} do2(){}   也就是将里面的代码模块化。这个方法有效的减小了一个方法的代码长度。实际上
http://www.cyqdata.cn/cnblogs/article-detail-166 
Visual studio 2010几个比较酷的功能
     今天在微软teched2010的会上,了解到vs2010中几个比较酷,也比较实用的功能。      1. 先上车后买票   通常使用类的时候,先需要对其定义,然后才能使用。但在vs2010中,可以先写上类的使用方式,然后把类的定义交给vs.net来完成。不仅仅对类的定义,其上的public Property/Method,也可以先使用,其定义由vs.net完成。对于Property,vs2010同时会自动生成一个对应的private filed。   比如,这么写:   Student xiaoA = new Student();   或者Student xiaoE = new Student("xiao e");   事先并没有对Student做定义或声明,右键选择完成其定义。visual stud
http://www.cyqdata.cn/cnblogs/article-detail-164 
Linux内核里的智能指针
众所周知,C/C++语言本身并不支持垃圾回收机制,虽然语言本身具有极高的灵活性,但是当遇到大型的项目时,繁琐的内存管理往往让人痛苦异常。现代的C/C++类库一般会提供智能指针来作为内存管理的折中方案,比如STL的auto_ptr,Boost的Smart_ptr库,QT的QPointer家族,甚至是基于C语言构建的GTK+也通过引用计数来实现类似的功能。Linux内核是如何解决这个问题呢?同样作为C语言的解决方案,Linux内核采用的也是引用计数的方式。如果您更熟悉C++,可以把它类比为Boost的shared_ptr,或者是QT的QSharedPointer。 在Linux内核里,引用计数是通过struct kref结构来实现的。在介绍如何使用kref之前,我们先来假设一个情景。假如您开发的是一个字符设备驱动,当设备插上时,系统自动建立一个设备节点,用户通过文件操作来访问设备节点。 如上
http://www.cyqdata.cn/cnblogs/article-detail-163 
Think in SharePoint 2010 OOTB Project: Site Columns &amp; Site Content Type
SharePoint 2007 OOTB 项目力求快速开发SharePoint Portal,项目上主要是以OOTB Feature为主,在开发上大部分是在用SharePoint Designer。 这样的模式有以下缺点:   1. 没有应用程序周期管理的支持(ALM),没有源代码管理工具,没有利用解决方案包进行部署。   2. 所有自定义的内容都在数据库中,不能利用文件模板(Ghosted Page)来增强访问效率。 没有源代码管理工具对站点进行开发的风险是很大的,没有用Solution Package 部署这样会对效率上造成一些影响。开发这类型的站点如果部署Solution 也必须要在Farm级别,这也是直接用SPD的原因了。 目前SP 2010 + VS2010 + TFS2010开发站点,再加上Sandbox Solution不需要Farm管理员只要Site C
http://www.cyqdata.cn/cnblogs/article-detail-162 
工作日志之项目经理篇
接上篇:《工作日志之部门经理篇》 大多数研发项目经理都遇到过这种困惑:“作为项目经理,安排进我项目的人中总会有不少人同时在其它项目中,我发现他们有时在我的项目中工作,不知何时又跑到其他项目中工作去了。表面上看部门经理分配了不少开发人员给我,其实真正在我这里干活的人没多少。我理解公司研发人力紧张,人员项目共享严重也是迫不得已,但是我想知道,名义上属于我项目的开发人员究竟在我的项目中投入了多少工作量。” 同样,如果不采取矩阵式管理,或者人力资源极其丰富的情况下,这时投入到项目的每个成员都是100%的投入,项目经理就不会有这个困扰了。然而几乎没有哪个项目会处于这种理想状况,大多数团队还是面临或多或少的人员跨项目共享的情况。 下面的统计视图可以很好的回答项目经理的人力投入问题: 如果一个项目成员填写的某次工作日志的活动记录中含有该项目,那么工作日志的项目次数就会被统计。 项目
http://www.cyqdata.cn/cnblogs/article-detail-161 
利用多态重构为带参方法
《重构之美》之二 我在阅读遗留代码时,经常发现存在这样一种情形。在一个类中存在两个方法,它们做了相似的工作,区别仅在于方法内部某些对象的类型。例如: public class WorkSheet{     private void fillHeader() {         Header header = createHeader();         for (String title:header.getTitles()) {             fillCel
http://www.cyqdata.cn/cnblogs/article-detail-160 
走向ASP.NET架构设计-第六章-服务层设计(前篇)
走向ASP.NET架构设计  第六章-服务层设计(前篇)   前篇:本章的内容比较的多:讲述ASP.NET项目中服务层的设计,什么是SOA架构,以及为什么需要SOA;在服务层设计的时候涉及到的设计模式和架构模式;最后用一个WCF的例子作为本篇的结尾。            本篇的议题如下:          服务层的概述          SOA架构讲述          SOA的基本原则       &
http://www.cyqdata.cn/cnblogs/article-detail-159 
一个操作系统的实现(1)
一个操作系统的实现 说明:本文均代表作者的个人观点,难免会有错误。发在博客中只为自己记录需要。转载请保留作者信息。                                                          
http://www.cyqdata.cn/cnblogs/article-detail-158 
socket编程之我的应用
        以往上位机程序我们一般都是通过232、485和PLC通信,232通信受到距离的限制,485距离能够满足要求,也有不足的地方受环境干扰比较大,切传输过程中速度不怎么快,新的课题通过网口与PLC通信,西门子的PLC我们用过网口作为传输介质,速度可以而且使用起来方便,只需一根网线就可以调试程序了,这次的课题是以OMR的PLC作为控制PLC,上位机程序(也就是大家说的组态软件)我们自己来写,我会写出一系列的课程把我们实现的过程与大家一起分享,也希望做这快的朋友一起来讨论。   今天是入门课利用socket实现TCP/IP通信编程,实现两台电脑通过IP互联。   socket编程的教材网上搜罗下还是很多的,思路基本上也是一样的,程序分两部分客户端和服务器端 第一部分 服务器端  一、创建服务器套接字(create)。  二、
http://www.cyqdata.cn/cnblogs/article-detail-157 
生命如此脆弱
生命如此脆弱   今天早上接到爸打来的电话:“你舅身体不好,去医院检查了,说是肝癌,晚期!”。我一下子懵了,心沉到了底,特别空,这已经是第二次接到这样的电话了。     “那大夫怎么说?”   “还能怎么说,跟你外公一样,已经开始疼了,估计八九不离十,明天去县医院在看下。”   “那能保多久,好不容易生了个儿子,还罚了款,乔乔(我表妹)今年刚上大学,这样以后的日子怎么过?”   “小风(我大姨的儿子)今天跟你舅去陶庄(镇医院)去看的,B超照了下,那大夫脸色就不大好。小风一看就知道出事了。”   “怎么会这样,外公去年刚走,怎么现在又......”   “上次你外公那个的时候,就让他去检查,以防万一。谁晓得,去了陶庄又回来了,舍
http://www.cyqdata.cn/cnblogs/article-detail-156 
Windows PowerShell 2.0语言之扩展类型系统
参与博客评选,欢迎大家为我投上宝贵的一票,谢谢!http://2010blog.51cto.com/274616  本文将简要介绍PowerShell的类型系统,以及内置的类型适配器和类型扩展如何协同工作,以实现所有代码中存在的类型。这里的扩展类型系统不仅仅是对于标准的.NET、COM和WMI对象类型的扩展,也对所有未知扩展公开。可以为活动对象添加属性和成员或者修改类型定义,这样所有该类型的对象都会自动添加新的成员,从而通过为目标对象添加自定义属性和方法来个性化定义运行环境。在学习如何修改对象和类型之前,通常会创建一些操作对象的常用函数,所以必须为函数名添加前缀或后缀以便于辨别函数操作的对象。如果将这些函数改成方法作为扩展类型,即可得到更短的类型名,从而不必记忆过多的函数名。 PowerShell可以灵活地将二进制对象转换为适当格式的文本,这样允许用户将一系列对象转换后填充到表格
http://www.cyqdata.cn/cnblogs/article-detail-155 
微软发布Silverlight 5 Beta新特性
  微软Silverlight是Rich Internet Application(RIA)应用开发技术之一,其强大的功能以及丰富的用户体验已经得到广大开发人员和终端用户的肯定。在今天的Silverlight FireStarter大会上,微软副总裁Scott Gu正式宣布Silverlight 5 Beta版目前所提供的最新功能,并且由微软不同开发团队对Silverlight 5新功能进行了同步演示。在这次大会上,微软介绍Silverlight 5将推出40多个新的功能,分别支持Silverlight多媒体领域,Silverlight桌面应用领域,Silverlight的性能提高和加固,以及新的开发特性等。 本次大会上,Scott Gu公布了部分Silverlight 5 Beta版的新功能,这些新功能多数来自“Silverlight 5 Wish ListR
http://www.cyqdata.cn/cnblogs/article-detail-154 
JS在线打字练习
JS在线打字练习!是不是很怀旧哦!呵呵! 总字数:0 键入字数:0 错误数:0 正确率:0 速度:0 用时:0 Three passions, simple but overwhelmingly strong, have governed my life: the longing for love, the search for knowledge, and unbearable pity for the suffering of mankind. These passions, like great winds, have blown me hither and thither, in a wayward course, over a deep ocean of anguish, reaching to the very verge of despair. I have so
http://www.cyqdata.cn/cnblogs/article-detail-144 
基于Windows XP搭建WinCE6.0开发平台--最新最省(VS2005+XP SP3)
得益于广大技术爱好者的无私奉献和共享精神,自己搭建WinCE6.0 R3开发平台的过程基本顺利,但在搜索过程中发现不同的网友给出了不同的版本,有的差别还不小,我就根据自己的经历,整理一下最新最省的方法步骤,此法缺点是需要联网在线安装,全部装好预计要8小时以上,供大家参考:   -官网步骤:http://www.microsoft.com/windowsembedded/en-us/products/windowsce/getting-started.mspx   -官网更新:http://msdn.microsoft.com/en-us/windowsembedded/ce/dd430902.aspx 【安装步骤】(适用XP SP3系统,至于Vista和Win7可参考上面官网或其他网友打上相应的补丁即可): -1.安装WINCE6.0集成开发平台VS2005中文版(其实我蛮想装英文版,但手
http://www.cyqdata.cn/cnblogs/article-detail-143 
silverlight for wince 6.0 的项目开发模板
时间:18:21 2010-12-1 环境:开发环境:VS2008 +XAML2CPP.EXE + SWE 2 + BLEND 2/3运行环境:WINCE 6.0 R3硬件加速: DirectX 联系:网站:     http://www.pvontek.comE-MAIL:    pengxinglove@gmail.com   参考资料 [1] http://hi.baidu.com/419836321/blog/item/2a9615221450e94aad34deba.html     背景       使用SWE开发项目有一段时间了,但由于WINCE6.0上,MS没有提供项目开发模板,每一次新建项目都要重复或修改对于一个已有的项
http://www.cyqdata.cn/cnblogs/article-detail-142 
关于ASP.NET 中站点地图sitemap 的使用
  .codearea{ color:black; background-color:white; line-height:18px; border:1px solid #4f81bd; margin:0; width:auto !important; width:100%; overflow:auto; text-align:left; font-size:14px; font-family: "Courier New" , "Consolas" , "Fixedsys" , "BitStream Vera Sans Mono", courier,monospace,serif} .codearea pre{ color:black; line-height:18px; padding:0 0 0 12px !important; margin:0em; background-colo
http://www.cyqdata.cn/cnblogs/article-detail-141 
Windows PowerShell 2.0语言开发之脚本签名
脚本签名用来保护代码在发布之后,用户使用之前不被篡改。数据源发送方使用自己的私钥加密数据校验和其他与数据内容有关的变量,完成对数据的合法“签名”;数据接收方则利用对方的公钥来解密收到的“数字签名”。并将结果用于数据完整性检验,以确认签名的合法性。 1 代码签名如何工作 签名代码确保程序对目标用户无害,其背后存在复杂而严密的操作来保证签名的有效性。当处理可执行代码签名时存在代码的完整性和来源的有效性问题,为此需要确保代码没有被篡改。如需要确认没有人中途截取并替换发送端的代码,并确认文件的来源是其标识的来源人。 1.1 保证脚本的完整性 为了验证将要执行的代码确系出自原作者手中并没有任何增删,在发送代码给其他人之前可以用算法获取代码的消息摘要,计算机科学中已经提供了相应的函数用于计算数据流的校验和。一些流行的能获取消息摘要的算法包括MD5和SHA-1,这些函数有时称为“哈希函数”,它们
http://www.cyqdata.cn/cnblogs/article-detail-140