背部,该项目团队去了一半多,我们出差。我将离开之前,闪亮强哥给了我学习技术的列表,以了解它:AngularJs,bootsrap,smartadmin,html5,css3。很多前景的技术。哎,学吧,等学好了这些前台技术。以后还能够多赚些外快,或者为以后的创业积累一些技术资本。只是,看这些真心枯燥。只是看着老外搞得那些绚丽的站点。心理不得不佩服呀!

这些天来了一位新同事,还是我那个项目组的,一開始看外貌我还以为是社招的,谁知道和我一样是个应届毕业生。华农的,洪哥一直强调要我们俩竞争意识,我也没怎么放在心上。后来他找我帮他装oracleclient,配置myeclipse的DB browser。还问我一些问题,只是我就当真如他说的“我看了好多书,操作方面缺乏一些”吧,只是他有一点我不太喜欢。就是非常喜欢抱怨。总是说公司太坑上不了外网,说看ext文档看的要死···哎,兄弟,都是这么过来的好不好,淡定一些···希望真如他说的那样,以后能够和他多请教一些“学术问题”···

部门副经理洪哥看我一直在自学,就给我一项任务:将word、excel中的特定字符所有替换为输入字符。形式不限,能够c/s,也能够b/s。我自己回去想了一想,首先想到要lucene建立索引。依据keyword进行查找。再高亮显示,像word的查找功能一样,进行替换。

于是连忙百度了一个c/s架构的类似于word的查找替换功能的样例,第二天再去问洪哥,发现原来自己搞错了需求,原来功能是要选中的文档中匹配的字符所有替换,能够多组进行替换。

依据需求再次想了一下:这样就不用lucene建立索引了。直接replaceAll,如今的关键是怎样改动word与excel文档,而且一次性选择多个文档。这两个问题纠结了好久,知道poi包是能够处理office的,可是曾经仅仅是提取纯文本,如今要改动文本,所以仅仅好百度,最终找到了相关的样例。可是对文档格式的有局限性,docx会出错;再来是文档的多个选择,一開始不想用其它jar包。直接用jsp+servlet处理。可是苦于每次的file的input仅仅能选择一个文档,这还好。能够用js的动态加入element来解决。但因为浏览器的安全性考虑,不能直接获取选择文件的全路径,这可慘了。不能直接在源文档上进行改动,必须上传呀。这样也倒好。能够用swfupload进行多文件上传,效果比較好。

经过一番思路的改动和重复測试。最终有了比較通顺的、可行的思路:用swfupload进行上传到一个暂时目录中,上传成功后表单提交成组的字符与替换字符,遍历暂时目录下的文档并查找替换,另存到特定目录下。将暂时目录删除。代码也都实现了,可是有下面局限:文档格式仅限于doc与xsl,对于替换后字符包括源字符的会卡死(poi包中Range.replaceText()的bug)···

给洪哥看。洪哥又提了一些需求。成组的字符与替换字符要通过配置文件获取。能够动态添加或者删除字符。这些都不是什么大问题,做了上面那个,自己在页面的js方面的确花了非常多功夫,看来前台真的不好搞呀!

总结:完毕一项功能。思路是最重要的,非常多代码网上都有,思路正确了能够省去不少麻烦,防止做到一大半由于一个细节无法攻破而重头開始做,相同。人活着也是,尤其是我们年轻的时候,当我们不知道怎么去选择的时候。拥有良好的、可行的思路会决定你的下半生。

到如今完毕了三项任务,一个编码转换器。一个基于ext的基础管理系统。另一个就是上面说到的字符转换器,由于公司的环境,无法与大家分享源码,实在羞愧···

版权声明:本文博客原创文章。博客,未经同意,不得转载。

MY WAY程序(十三) 理念和技术的更多相关文章

  1. https://stackoverflow.com/与程序相关的IT技术问答网站

    https://stackoverflow.com/ Stack Overflow是一个与程序相关的IT技术问答网站.用户可以在网站免费提交问题,浏览问题,索引相关内容,在创建主页的时候使用简单的HT ...

  2. HR:“最喜欢阿里出来的程序员了,技术又好又耐艹!” 我:???

    面试造火箭,进厂拧螺丝?真的是这样吗? 缘起 估计不少同学都是被标题吸引进来的.事先声明,这句话不是我虚构的,而是我实实在在从同事的口中听到的,而且还不止一次. 当时的场景就是很正常的交谈,别人也并没 ...

  3. PHP程序员如何突破技术瓶颈

    身边有几个做PHP开发的朋友,也接触到不少的PHP工程师,他们常疑虑自己将来在技术上的成长与发展,我常给他们一些建议,希望他们能破突自己,有更好的发展. 先明确我所指的PHP工程题,是指毕业工作后,主 ...

  4. web应用程序测试方法和测试技术详述

    1.界面测试 现在一般人都有使用浏览器浏览网页的经历,用户虽然不是专业人员但是对界面效果的印象是很重要的.如果你注重这方面的测试,那么验证应用程序是否易于使用就非常重要了.很多人认为这是测试中最不重要 ...

  5. .NET和PHP程序员如何通过技术快速变现

    刚开始写博客不足之处望大家多多指点,少一些质疑多一些帮助,我们就能成为朋友. 上一篇:<.NET程序员我是如何通过一个产品在2年内买车买房>有很多同为程序员的小伙伴们给我留言,从整体的留言 ...

  6. Java EE开发技术课程第五周(Applet程序组件与AJAX技术)

    1.Applet程序组件 1.1.定义: Applet是采用Java编程语言编写的小应用程序,该程序可以包含在HTML(标准通用标记语言的一个应用)页中,与在页中包含图像的方式大致相同.含有Apple ...

  7. “五年经验”年薪50W分享Java程序员掌握什么技术才不会被淘汰

    在这个IT系统动辄就是上亿流量的时代,Java作为大数据时代应用最广泛的语言,诞生了一批又一批的新技术,包括HBase.Hadoop.MQ.Netty.SpringCloud等等 . 一些独角兽公司以 ...

  8. Applet程序组件与AJAX技术

    Applet 定义 Applet是一种运行于Web客户端环境下的Java程序组件. 工作原理 Applet以代码的形式嵌入Web页面中,用标签<applet></applet> ...

  9. 高级程序员与CTO技术总监首席架构师

    一.高级程序员 如果你是一个刚刚创业的公司,公司没有专职产品经理和项目经理,你就是公司的产品经理,你如果对你现在的开发员能力不满,那么你只需要的是一个高级程序员. 你定义功能.你做计划推进和管理,他可 ...

随机推荐

  1. 如何在cocos2d项目中enable ARC

    如何在cocos2d项目中enable ARC 基本思想就是不支持ARC的代码用和支持ARC的分开,通过xcode中设置编译选项,让支持和不支持ARC的代码共存. cocos2d是ios app开发中 ...

  2. bzoj2301(莫比乌斯反演+分块)

    传送门:2301: [HAOI2011]Problem b 题意:对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y ...

  3. RequireJS学习资料

    RequireJS学习资料汇总   入门系列 [1]阮一峰 RequireJS用法 [2]RequireJS入门指南 文档系列 [1]RequireJS中文文档 [2]RequireJS英文文档 代码 ...

  4. 服务器编程入门(4)Linux网络编程基础API

      问题聚焦:     这节介绍的不仅是网络编程的几个API     更重要的是,探讨了Linux网络编程基础API与内核中TCP/IP协议族之间的关系.     这节主要介绍三个方面的内容:套接字( ...

  5. 从头来之【图解针对虚拟机iOS开发环境搭建】 (转)

    1.下载Mac OSX10.9. 点击下载 2.下载VMware Workstation 10,点击下载,网页中包含序列号.安装VM. 3.VM10-MacOS补丁.用于创建苹果虚拟机. 安装VM就不 ...

  6. Nutch+HBase

    Nutch+HBase 当我们为nutch的架构发愁的时候,nutch的开发人员送来了nutchbase.我一些简单的测试表明,在hadoop0.20.1和hbase0.20.2上,稍加修改可以运行起 ...

  7. HYSBZ 2243(树链剖分)

    题目连接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=28982#problem/D 题意:给定一棵有n个节点的无根树及点权和m个操作, ...

  8. hdu1255(线段树——矩形面积交)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1255 题意:求N个矩形中,求被覆盖至少俩次的面积和 分析:覆盖两次即col[rt]>=2就好.一 ...

  9. 数学之路-python计算实战(19)-机器视觉-卷积滤波

    filter2D Convolves an image with the kernel. C++: void filter2D(InputArray src, OutputArray dst, int ...

  10. Hello World 之 控制台版本(Console Application)

    原文:Hello World 之 控制台版本(Console Application) 先来介绍下Hello, World   "Hello, World"程序指的是只在计算机屏幕 ...