自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

Scala备忘录

本篇特用来对Scala的日常惯用法做一些记录,尽量简洁不废话。第三方包除外,只收录标准库。 集合类(Seq)集合类(Map)正则JSON解析XML解析语法糖杂项集合类(Seq) - 构建val truth = "fly" :: "is" :: "fun" :: Nil //List(fly,is,fun)val list1 = ...

2016-12-14 11:45:05 151

用Scala打造精悍爬虫(二)视频篇

【项目简述】抓取某学院视频网站的系列课程,相比于上一篇,这一次多了不少实用性。 【前提】必须要有该网站的VIP账户,主要是Cookies要使用,否则无法获取一部分受限视频。当然有不少免费获取VIP账户的方法可以自行搜索。 【视频网站的特点】1)这类网站一般都有不同程度的反扒措施,某学院采用的是动态缓存,即是有权限的会员打开网页才能获取该视频的Url,这个Url有一定...

2016-11-14 00:21:25 309

原创 用Scala打造精悍爬虫(一)游记篇

分享一下前段学习Scala做的一个爬虫程序。 【关于爬虫】接触爬虫的时间并不长,发现python在这个领域有很大的份额。虽然也用过python,但是始终觉得动态语言做这种“严谨“工作还是不如Java,当然更没法和Scala比。总结一下爬虫的主要困难:痛点1:网断,大量爬取时,各种超时错是司空见惯,需要有良好的重试机制防止被打断。痛点2:验证码,一般大网站都有反爬机制,当...

2016-10-21 01:57:01 1759 1

原创 重剑无锋--小谈Scala编程

本来调研Akka这个并发框架,不知不觉迷上了Scala编程已有一段时间。期间拜读Scala各种书籍,发现在国内实在太小众,Scala融合了面向对象及函数式的特点,有着强大的类型系统。外在来看Scala代码非常简洁并且有不输于动态语言的强大表现力,本文下面通过一个例子谈一谈。要实现这么一个小功能:    将任意int型转换为如下LED形式的字符串(三行) ' _ _ _ _ ...

2015-07-07 14:26:21 357

原创 逆波兰表达式实现表达式计算

一年多未更新博客了,此贴纯刷屏用。前段做培训留的题目,自己作了下,感觉蛮简单的代码测的时候还是有不少坑,只做了整数版本,懒得再弄了。import java.util.ArrayList;import java.util.Stack;/** * 逆波兰表达式实现四则运算 * * @author Duanhengbin * */public class Ex...

2015-02-10 22:21:58 175

原创 标签还是脚本?谈谈UI共通化的方式选择

首先,推荐一下站里的这篇经典文章:http://struts2.group.iteye.com/group/wiki/1463-taglib-the-eternal-debate-topic文中的许多观点到现在还是非常有参考价值。文章写于2009年,又是4年多过去,一些外部环境发生了变化。>Spring MVC超越了Struts 成为了MVC框架的首选。 >对于前端使用JSP的应用来说...

2014-01-09 11:05:46 151

原创 利用 @RequestMapping 多样的参数类型简化框架代码

【前言】本文主要针对上一篇mybatis分页器实现一个不够合理的地方进行了优化。原文链接 http://duanhengbin.iteye.com/blog/1998017=================================================================================今天研究了一下@RequestMapping ...

2014-01-08 10:54:27 173

原创 分享一个完整的Mybatis分页解决方案

Mybatis 的物理分页是应用中的一个难点,特别是配合检索和排序功能叠加时更是如此。我在最近的项目中开发了这个通用分页器,过程中参考了站内不少好文章,新年第一天,特此发文回馈网站。特别鸣谢 paginator项目 (https://github.com/miemiedev/mybatis-paginator ) ,阅读源码帮助很大。 【背景】项目框架是 SpringMVC...

2014-01-01 21:41:57 1973

原创 Guava 入门篇

Guava使用有一段时间了,总结一下。  【资源】官网:http://code.google.com/p/guava-libraries/>WHY Guavahttp://stackoverflow.com/questions/4542550/what-are-the-big-improvements-between-guava-and-apache-equivale...

2013-12-02 11:06:57 160

原创 jsoup 源码阅读

最近做网页分析时接触了一些 包括jsoup在内开源工具。 今天有时间读了下jsoup的源码,记录一下心得。 【特色】作为html 解析工具,jsoup 出现的时间远不如大名鼎鼎的HttpClient。但是他有一些不错的特色: 1.实现了CSS选择器语法,有了这个页面内容提取真不是一般的方便。2.解析算法不使用递归,而是enum配合状态模式遍历数据(先预设所有语法组合...

2013-11-27 21:21:42 311

原创 Java程序员应当掌握的排序算法

今天总结一下JDK中采用的排序算法,主要出现在两个类中。 java.util.Arrays  static void sort(int[] a) static void sort(int[] a, int fromIndex, int toIndex)  其他基本类型(byte,char,short,long,float,double)算法相同。float 和 doub...

2013-11-18 11:41:33 137

原创 使用正则表达式高效统计代码

最近一直在搞正则相关的东西,利用空闲时间,改善了下原来项目里比较笨拙的统计代码行数程序。 思路:采用倒推计算的方法,即先删除空行,再删除注释行,每一步之前都统计下剩余的行数,最后再来算 空白行,注释行,和有效代码行。之所以这样考虑有两个原因:一是,多行注释的行数确认比较麻烦,删除后再算可以简化处理。二是JAVA的正则API缺少计数的功能,直接计数肯定要用循环,而且用很多次,比较麻烦。...

2013-10-28 16:53:11 170

原创 用正则表达式提取SQL

本文记录一个用正则解决问题的过程。较多的是思路的笔记。 需求:       分析项目中 PL/SQL的表使用状况。也就是哪个程序对那些表做了增删改查。    【初步分析】    乍一看视乎不难,INSERT/UPDATE/DELETE 语句表名比较好根据位置确定,SELECT查询 FROM 关键字后面的字符串并分析,但是实际上这种方法有很大问题,首先是子查询可能出现在fro...

2013-10-23 15:48:28 3833

原创 从 C -> C++ -> JAVA -> GO 看语言进化历程

最近进了新书《深入理解C++11》和《GO语言编程》,都是国人撰写或参与的佳作。记录一下心得。 1972年  C     由struct领衔,简单而直观的内存布局。    威力强大的指针的广泛使用,参数传递为传值。      缺点:过程式的语言,对于大型软件开发效率低(当然偏硬件的软件如linux是当仁不让的首选)  1980年  C++     完全兼容C的基础上,对象特性的...

2013-07-08 02:13:46 142

原创 Oracle Hack之With As

需求:  有一张旧的权限表,7个等级(1-7)。除1级以外,每个用户ID都有关联一个上级用户ID。 要做一张新表,把每个人对应7级的ID都抽出来。 create table new_Competence(   userid varchar(10),   parentid vachar(10),   level number(2),   avail_start varchar(8),   ava...

2013-01-28 22:20:26 153

原创 Oracle 临时表用法的比较

临时表是复杂SQL性能优化中常见手段,总结一下。   1) Global Temporary 句     分为会话级和事务级两种。     会话级的临时表    【语法】          Create Global Temporary Table Table_Name              (the aggregation SQL statement) ...

2013-01-26 22:42:56 155

原创 关于Eric Steven Raymond的五部曲

Eric Steven Raymond 是开放源代码运动的主要理论家,这两天终于读完了代表性的5篇文章,获益良多,小结一下。 《黑客道简史》(A Brief History of Hackerdom) 1996本文记载了不为人知的黑客早期历史(主要是1983年以前)。在《Unix编程艺术》中也有讨论。 《大教堂和市集》(The Cathedral and the Bazaar)...

2013-01-22 22:11:07 198

原创 Linux实用单行命令小集

本文将最近使用过的一些比较有趣而又威力强大的单行命令整理了一下,数量暂时不多。今后发现新的持续更新。  #导出帮助文档man ls | col -b > ls.man.txt #一些重要的帮助man 2 syscalls - 内核系统请求的列表,按内核版本注释分类,系统编程必备。man 2 select_tut - 关于select()系统请求的教程。man 3 st...

2013-01-19 21:01:27 197

原创 读《UNIX编程艺术》之历史篇

这是一本独特的书。讲历史,文化和艺术笔墨甚多。我把书中记录的历史梗概初略地整理了一下。以史为鉴,可以知兴替。   >1969年,UNIX 诞生于贝尔实验室的科学家Ken Thompson的头脑中。最初在PDP-7机器上编制。★  >1973年,Thompson和Ritchie用C语言重写了Unix系统。之后Unix在许多大学里流传开来。  >1975-1976年,Thompson利用年...

2012-12-27 23:44:16 136

原创 SHELL编程杂谈

最近一阵使用Linux颇多,N年前Unix上的经验还派上了不少用场。对于程序员来说Unix上编程(包括shell和C)应该是不可或缺的体验。总结一下shell编程的优势。 1)众多强大的工具,兼有正则利器。   SHELL作为一种胶水语言,优势就在于,可以联合众多工具发挥作用。这其中最常用的我称为七种兵器。find  过滤出目标文件    剑意:长生剑,以所有文件为源头,过滤出感兴趣...

2012-12-11 20:55:18 92

原创 Oracle 超大表中partition和 subpartition的使用案例

Oracle 中 partition和 subpartition 是超大表常用的两个关键字,主要用来分区是提高数据读取效率。(有关分区种类及语法细节网上有很多文章可参考)今天看到一个应用方案,使用范围分区与业务处理结合到一起。感觉不错,记录下大致思路。  【需求】:表中每日数据量较大,旧数据需要每日清理,不同种类的数据保存期不同。  很明显如果每日用delete清除数据效率很低且麻烦...

2012-10-28 01:47:52 1845

原创 char *s 和 char s[] 的区别小结

最近的项目中有不少c的程序,在与项目新成员的交流中发现,普遍对于char *s1 和 char s2[] 认识有误区(认为无区别),导致有时出现“难以理解”的错误。一时也不能说得很明白,网上也搜了一下相关文章发现一些写的比较好的,综合了一下当教育资料备用。 char *s1 = "hello";char s2[] = "hello"; 【区别所在】char *s1 的s1,而指...

2012-10-27 17:07:45 741

原创 《Effective Java2》笔录

Joshua Bloch在国内出版的书包括《Effective Java2》《Java Puzzlers》《Java Concurrency in Practive》(合著)。特别是这本《Effective Java2》,每次重读都有新的收获,本文将过去和现在记录的一些读书笔记,感想整理了一下。 (标记说明∷表示笔记内容 ※为补充内容) 第1章 引言(略)第2章 创建和销毁对象...

2012-09-05 02:13:25 146

原创 Java人的C#印象

最近由于工作需要支援了公司的C#项目组。第一次体验这个JAVA的老对手,以下是一些心得。 【语法】总体非常类似,属性和索引器 应当说改得还不错,实际也只是在编译器上做了自动生成方法的手脚,小改动。 【注解与特性】在JAVA世界里,注解在框架的易用性上发挥了巨大作用,实际C#也有类似的东西“特性”,但除了NUNIT小试牛刀,其他用得极少。个人感觉非常可惜啊。 【IDE...

2012-07-24 22:36:54 124

原创 O/X Mapping 工具研修

 网上O/X Mapping的资料大多非常分散,不方便对比分析,本文汇集了一段时间这方面的学习成果。 (一)基本概念    ★O/X Mapping(OBJECT/XML 映射):即是在JAVA对象和XML 之间的映射,互相转换。(与ORM类似)        主要有以下两种:    *数据绑定:是指取出一些数据(比如从 XML 文档、文本文件或者数据库中)并通过程序表示这些数...

2012-06-30 17:00:56 98

原创 Drools planner探险

记得两年前,因为项目需要第一次接触Drools,优秀的文档,强大的机能记忆犹新。之后一直留意Drools的发展。  这两天项目间隙,突然兴起,研究了一下Drools planner(以下简称planner) ,发现这也是一个非常实用的用于规划的开发框架。以前怎么没注意这位小兄弟? 以前看的多写的少,今天也将心得分享一下。  (一)预备知识  1)  TSP(旅行者问题)   这是一个运筹学经常提...

2012-06-21 03:57:13 202

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除