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技术总监首席架构师
一.高级程序员 如果你是一个刚刚创业的公司,公司没有专职产品经理和项目经理,你就是公司的产品经理,你如果对你现在的开发员能力不满,那么你只需要的是一个高级程序员. 你定义功能.你做计划推进和管理,他可 ...
随机推荐
- Datatables 在asp.net mvc
Datatables 在asp.net mvc中的使用 前言 最近使用ABP(ASP.NET Boilerplate)做新项目,以前都是自己扩展一个HtmlHelper来完成同步/异步分页,但是有个地 ...
- VSTO之旅系列(四):创建Word解决方案
原文:VSTO之旅系列(四):创建Word解决方案 本专题概要 引言 Word对象模型 创建Word外接程序 小结 一.引言 在上一个专题中主要为大家介绍如何自定义我们的Excel 界面的,然而在这个 ...
- Java使用Socket传输文件遇到的问题
1.写了一个socket传输文件的程序,发现传输过去文件有问题.找了一下午终于似乎找到了原因,记录下来警示一下: 接受文件的一端,向本地写文件之前使用Thread.sleep(time)休息一下就解决 ...
- 为什么 as sysdba着陆方法oracle数据库,为什么刚刚输入username和password我们都可以登录?
事实上,这是oracle问题数据库的身份验证方法 该 sqlnet.ora在文件 SQLNET.AUTHENTICATION_SERVICES= (NTS) 变 SQLNET.AUTHENTICATI ...
- js中点击空白区域时文本框与隐藏层的问题
当文本框获得焦点的时候,在文本框的下方显示一个浮动层. 当用户点击除了文本框和浮动层以外的网页空白处时,要隐藏浮动层. 当用户点击浮动层时,改变文本框的值. <!DOCTYPE html PUB ...
- SWT中在treeview中显示图片
package com.repositoryclient.treeview; import org.eclipse.jface.resource.ImageDescriptor; import org ...
- c++ 对象指针参数和对象引用参数02
对象指针作为函数参数和对象引用作为函数参数都比对象作为函数参数要用的更为普遍 传对象指针和传对象引用作为实参,那么实参在函数里发生了变话,那么相应的对象本身也会发生变化,二传递对象本身作为实参的话,实 ...
- 安装ArcGIS License 10.1 许可管理器 破解版 服务启动又失败的解决办法
安装破解文件的提示执行 替换许可管理器Bin下面的service.txt 文件,之后会发现,许可管理器启动不了(有时候又可以,挺郁闷), 经过多次的试验,我找到了一种折中解决的方法,供大家参考 解决 ...
- VMware3种网络模式
VMware网络配置详解一:三种网络模式简介 安装好虚拟机以后,在网络连接里面可以看到多了两块网卡: 其 中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口, ...
- 基于MVC3下拉列表联动(JQuery)
上次项目中遇到一个需要多个下拉列表联动的操作,今天有空将实现方式整理以便以后参考. 要达到的效果是,点击一个下拉框,则另一个下拉框的值发生对应变化.如:选择中国,则另个一下拉框里显示中国各个省份. 传 ...