背部,该项目团队去了一半多,我们出差。我将离开之前,闪亮强哥给了我学习技术的列表,以了解它: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. XmlDocument.Load()加载xml文件时,提示分析 EntityName 时出错的问题。

    今天一个接口突然报错,错误是: 分析 EntityName 时出错. 行 35,位置 90. xmlDoc.Load(System.Web.HttpContext.Current.Server.Map ...

  2. zoj2059(经典dp)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1059 分析:dp[i][j]表示前i个石头组成两座塔高度差为j的较低 ...

  3. Spring整合Jms学习(三)_MessageConverter介绍

    1.4     消息转换器MessageConverter MessageConverter的作用主要有双方面,一方面它能够把我们的非标准化Message对象转换成我们的目标Message对象,这主要 ...

  4. .Net C# Windows Service于server无法启动,错误 193:0xc1

    1.情况说明:的近期发展windows维修,当地win7系统正常.把server安装会失败. 图中的引导失败的例子.: 解决方法:执行->输入:eventvwr.msc    打开你的事件查看器 ...

  5. 【第四篇章-android平台MediaCodec】推断是否支持硬件解码码

    public boolean isSupportMediaCodecHardDecoder(){ boolean isHardcode = false; //读取系统配置文件/system/etc/m ...

  6. Objective-C Json 使用

    Objective-c json ];   for(int i  = 0;i<myProduct.count;++i) {       //NSLog(@"-------------- ...

  7. Java&Android反编工具打包

    Java&Android反编工具: 1.Eclipse反编插件:安装到Eclipse后,可以简要的查看jar包中的*.class; 2.DoAPK:反编*.apk为smali和一些资源文件,可 ...

  8. C++转让Lua

    转载请注明出处:http://blog.csdn.net/zhy_cheng/article/details/39756423 我使用的cocos2d-x版本号是2.3.3.先在一个C++projec ...

  9. 【Android接口实现】ActionBar利用整理的一些细节

    转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 关于ActionBar的使用,非常多大神早就已经写了非常好的文章进行了介绍,所以ActionBar的基本使用 ...

  10. java 对map排序

    public static Map<String, String> sortMapByKey(Map<String, String> map) { if (map == nul ...