MY WAY程序(十三) 理念和技术
背部,该项目团队去了一半多,我们出差。我将离开之前,闪亮强哥给了我学习技术的列表,以了解它: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程序(十三) 理念和技术的更多相关文章
- https://stackoverflow.com/与程序相关的IT技术问答网站
https://stackoverflow.com/ Stack Overflow是一个与程序相关的IT技术问答网站.用户可以在网站免费提交问题,浏览问题,索引相关内容,在创建主页的时候使用简单的HT ...
- HR:“最喜欢阿里出来的程序员了,技术又好又耐艹!” 我:???
面试造火箭,进厂拧螺丝?真的是这样吗? 缘起 估计不少同学都是被标题吸引进来的.事先声明,这句话不是我虚构的,而是我实实在在从同事的口中听到的,而且还不止一次. 当时的场景就是很正常的交谈,别人也并没 ...
- PHP程序员如何突破技术瓶颈
身边有几个做PHP开发的朋友,也接触到不少的PHP工程师,他们常疑虑自己将来在技术上的成长与发展,我常给他们一些建议,希望他们能破突自己,有更好的发展. 先明确我所指的PHP工程题,是指毕业工作后,主 ...
- web应用程序测试方法和测试技术详述
1.界面测试 现在一般人都有使用浏览器浏览网页的经历,用户虽然不是专业人员但是对界面效果的印象是很重要的.如果你注重这方面的测试,那么验证应用程序是否易于使用就非常重要了.很多人认为这是测试中最不重要 ...
- .NET和PHP程序员如何通过技术快速变现
刚开始写博客不足之处望大家多多指点,少一些质疑多一些帮助,我们就能成为朋友. 上一篇:<.NET程序员我是如何通过一个产品在2年内买车买房>有很多同为程序员的小伙伴们给我留言,从整体的留言 ...
- Java EE开发技术课程第五周(Applet程序组件与AJAX技术)
1.Applet程序组件 1.1.定义: Applet是采用Java编程语言编写的小应用程序,该程序可以包含在HTML(标准通用标记语言的一个应用)页中,与在页中包含图像的方式大致相同.含有Apple ...
- “五年经验”年薪50W分享Java程序员掌握什么技术才不会被淘汰
在这个IT系统动辄就是上亿流量的时代,Java作为大数据时代应用最广泛的语言,诞生了一批又一批的新技术,包括HBase.Hadoop.MQ.Netty.SpringCloud等等 . 一些独角兽公司以 ...
- Applet程序组件与AJAX技术
Applet 定义 Applet是一种运行于Web客户端环境下的Java程序组件. 工作原理 Applet以代码的形式嵌入Web页面中,用标签<applet></applet> ...
- 高级程序员与CTO技术总监首席架构师
一.高级程序员 如果你是一个刚刚创业的公司,公司没有专职产品经理和项目经理,你就是公司的产品经理,你如果对你现在的开发员能力不满,那么你只需要的是一个高级程序员. 你定义功能.你做计划推进和管理,他可 ...
随机推荐
- loj1341(数学)
传送门:Aladdin and the Flying Carpet 题意: 给出两个正整数1<=m<=n<=1e12.问N可以拆成多少对p*q,使得p和q中最小的不小于a,且p!=q ...
- birkenfeld / sphinx-contrib — Bitbucket
birkenfeld / sphinx-contrib — Bitbucket README for sphinx-contrib This repository contains a collect ...
- graphterm 0.40.1 : Python Package Index
graphterm 0.40.1 : Python Package Index graphterm 0.40.1 Downloads ↓ A Graphical Terminal Interface ...
- POJ 3589 Number-guessing Game(简单题)
[题目简述]:两个四位数,假设后一个数中的某个数与前一个相应的数的位置和值都相等.则统计数目由几个这种数.记为count1吧. 假设后一个数中的某个数与前一个数的数值相等,但位置不同. 此时这种数的个 ...
- dblink如果很慢可以用这种方式优化
发现dblink如果很慢可以用这种方式加个/*+driving_site(xxx)*/,查询很快 DBLINK HINT /*+ driving_site(org) */ 优化策略和思路 使用DBLI ...
- 检查Linux Bash安全漏洞以及各环境修复解决方法
第一.检测是否存在Bash漏洞$env x='() { :;}; echo vulnerable' bash -c "echo this is a test"如果返回以下内容:则请 ...
- HighChart学习-更新数据data Series与重绘
一:HighChart介绍 基于JQuery的纯JavaScript的图标库,支持各种图表显示,同时还支持Mootools 与Prototype详细版本支持在这里: JQuery 1.3.2 - 1. ...
- JqGrid 显示表
JqGrid 下表显示了前台图书馆.使用起来非常方便. 我在这里分享使用中遇到的问题及解决方案 ** 一.rowNum属性 ** 1.假设不设置,默认显示数是20,也就是说超过20以后的数据.不再显示 ...
- android插件技术-apkplug于OSGI服务基础-08
我们提供 apkplug 下OSGI使用demo 源代码托管地址为 http://git.oschina.net/plug/OSGIService 一 OSGI与android Service 异同点 ...
- @font-face(css3属性)实如今网页中嵌入随意字体
@font-face语法规则 @font-face { font-family: <YourWebFontName>; src: <source> [<format> ...