刚毕业工作时都不懂,认为做开发一切都以技术为主,就顶着老大给的任务量做,就想把开发做到彻底。可技术那么大一堆,始终学不完,不免有点打击信心。工作两年了,谈谈正确的做开发的方式。开发以人为主体,团队才是核心,技术是载体,是工具,很多时候团队缺乏沟通,缺乏交流,每个人都盯着自己的事做,做出来的东西千奇百怪,不好整合,也谈不上软件开发的核心思想,复用,打击不能取长不短,做一辈子都是一个程序员。任人宰割,任环境选择淘汰。
正确的做软件开发的方式是,依托环境,依托于人,依托自己,安心的做好每一天的事,不懂就问,不以技术为完全指导思想,在项目中学习,成长,进步。
男人应该以事业为中心,换工作考虑的中心问题不是技术,而是环境,做的事,只要是能做的,能学的,就能做,在新的环境才能很好生存。单靠技术是吃不下去的。这才是工作,才是社会,不要停留在上学的思维。要在社会上千锤百炼,环境中不断磨合方为人。每个人的都有特点,都有专长,取长不短,心安理得,日子自然过的舒坦。两年的工作经验,得了。恐怕在任何环境中都是如此。
有的同事工作了好几年,出去找工作,又怕说,技术不是外面流行的技术,我想这恐怕已经死了,把自己当苦工使。一个人更重要的是综合能力的。当然人各有志。专注于自己的。
posted @
2009-07-08 09:20 鸟生鱼汤 阅读(167) |
评论 (0) |
编辑 收藏
很久不更新了,当前都是一个空的状态。想到点什么,又把它写下来。
当一种东西莫名的缺失的时候,你就会突然觉得它很珍贵。
人都是这样。当前这样无欲无求。学习为了理想,为了什么,为了达到身边的状态都如理想的状态。
不是。学习是为了生存。为了理想。为了生计。为了家人。为了健康。
学习中抱着什么心态。我想这与实际生活与目标相符合才是最实际的。
当融入进去。不怕找不到新的生活。找到新的方向。这才是当前要解决的东西。
工作,学习,生活,发现,往复循环。妄想只是徒劳。虚空,乃需要知识与行动补给。朋友同事的关注与
倾听。
为了学习而生活,为了生活而学习,发展,就是这样了。
针对性目的性不要那么强。广博,学以致用。
精诚所至,金石为开,学以致用。
posted @
2009-05-21 16:14 鸟生鱼汤 阅读(236) |
评论 (0) |
编辑 收藏
疯了,刚写了一个没了,变的更强,能力系统。沟通。理解。技术。等等
更切实际,更关注眼前。不依赖环境,不依赖自己。不安于现状。开头脑筋。
总结代码学习中的东西
项目难点,条码打印,调用扫描接口,sap操作,权限,项目业务知识。
项目框架,ibatis+mvc
采用到的技术,jco,json,log4j,ibatis,ajax
欠缺的知识,类的结构,cache写法,基本的一些类,熟悉sap写法,等等,熟悉业务,
需要学的技术知识。
东西很多,慢慢学,别人做了很久的工作,自己慢慢学,总结,和理清思路。慢慢看清里面的内容。
设计模式比较重要。。显得
学习并沟通对我真的是一大很难做的东西。简单处理。用心去做。
现实中的那些东西没了,理性,志气才真正展露。带给我乐观和积极上进。调整心态!
posted @
2009-04-07 17:20 鸟生鱼汤 阅读(163) |
评论 (0) |
编辑 收藏
把东西看的过重 过远
过不实际
实干的很少
努力去做 放心大胆去做
过段时间就可以得到自己应得的了 自己的路才走的更长 更远
posted @
2009-03-23 14:21 鸟生鱼汤 阅读(147) |
评论 (0) |
编辑 收藏
心情太烦乱了。加油 整理一下自己要学的
posted @
2009-03-23 14:07 鸟生鱼汤 阅读(119) |
评论 (0) |
编辑 收藏
整理一下自己要学的,掌握的,薄弱的,需要加强的:
1. java基础知识,多线程,输入输出流,基础知识,类的概念部分。
数据结构,编译原理,操作系统理论基础。
2. 数据库知识,数据库理论知识,sql和存储过程,有系统的认识。
3. java web,ejb,jdbc等等理论知识,流行框架的结构,和基础知识。
4. 项目经验,了解和重新学习自己做过的一些系统。
5. 其他业务知识。令人眼花缭乱的技术,xml,weblogic,ajax...
posted @
2009-03-18 08:56 鸟生鱼汤 阅读(144) |
评论 (0) |
编辑 收藏
人要独立,不要患得患失。至此我的生活已经发生了很大的变化。很多时候还是要坚持自己的想法。不为任何想法而改变。
多看书。是时候改变自己了。不要在无谓的期待和等待,是时候去做了。而且要坚持。
不要担心任何东西。照着自己的想法去做。会有很多东西发现的。
认真的看自己的书,好好的做自己的工作,不懂的就多问多学,不要怕碍面子,真正的好好待自己,我就这么多朋友,就这么多同学,好好的学习吧。反正我还是学习型的。
累了就要多调整自己。不要给自己设定过大的目标,那些还是要自己脚踏实地的做,给自己时间放松,让自己想去哪里玩就去哪里。加油。
posted @
2009-03-11 17:37 鸟生鱼汤 阅读(128) |
评论 (0) |
编辑 收藏
拒绝感性。拒绝理性。拒绝经验主义。
与人相处,拒绝感性,拒绝幻想,决绝经验主义,从一个角度来说,你身边的任何一个人,都只可能作为你的一部分,不能陪伴你一生,所以不要依赖于任何人,不要有对任何人有什么简单的想法,别人说什么不要相信。一个人要独立,要够完整,不要让别人来施舍同情你。和朋友的可以简单相处,随和。经常自己最信赖的人突然离自己而去,不要有情绪。人要独立依赖和靠自己。情绪是自己最大的杀手。
想想自己产生的一些想法吧,那些是可以的,那些是不能要的,杜绝这些,习惯了也就好了。
posted @
2009-03-11 11:53 鸟生鱼汤 阅读(176) |
评论 (0) |
编辑 收藏
我是一个感性的人。人都脱离不开情感和感性认识。
我一直很理性。按照大家教的那么去做,不过好像是自己认识有偏差,在很多地方形成了阴影地带,给自己一个假想敌,不的不被自己打败,被自己给淹没,连生活也没了。
脱离开了这些,我是一个理性的人,当生活趋于平稳,自己也变得干净历练。很多想法比较开放随意,但做起事来认真仔细。
我一直不敢承认自己。用理性极大的压制自己的感性。最后自己终不得。生活在强大的压力下,认识和想法开始走样和偏差。不过感谢这股压力,让我在思想上有了较多的认识。什么能带走,带不走的我的想法。一个人什么都没有,其实,除了,只有思想,还有别的都不重要。人就靠头脑赚钱。无知是可怕的。愚昧是可悲的。不学是可憎的。除了这个,我认识到自己思想上很多的不足,其主要是思想闭塞,不开放。不听他人意见,和不了解他人,不会换用他人的思维方式,主要就是对人的了解和看法不了解,片面,太感官。这下我认识到自己思想上很多的误区。可以大开思维,接受很多新的看法,了解他人的环境,而不是表面上的开朗外向,内向却积极的忧郁纠结。可能是一个人走向成熟的看法吧。
在这里读到很多美文,让我心里十分的平静,说到理了。这里真是一个好地方,写东西,看东西,读东西的一块好的静地。大概是我从前都不爱认真读,或者太表面,很多认识不到位,心里面不平静,也就是大多数说到的浮躁,年轻人的通病,看问题看东西太片面,太多自己的偏好,太多浮躁的环境,社会不安全,拥挤的因素。
软件行业是浮躁的,大多人是浮躁的,工作不是那么简单,除了做事,很多事情没有余地让人思考。对于这些小事情,就欣然的接受,并带着感性去把它处理了。而学习,认识需要更多理性的因素。这样学的深,学的闹,有自己的认识,加上一些经验,思想感悟,这样才能化为自己的东西。
软件行业是需要思想的行业。同时我相信我需要一些大的环境才能更好的培养自己。小公司只会让自己累,让自己没有空间。不断提高自己的综合素质,让自己的想法更趋完善,走到哪里都不怕。
这是一个技术性忒强的行业,光是做表面的东西,一点不实用的,难怪我心里会觉得怕,觉得虚。其实已经掌握了一大堆感性素材,是时候学习新东西,让自己提高了。
那才是我 真正的自己
从理性的角度去认识自己的感性。很多东西无非是那样了。很多东西都不攻自破。很多时候我以为和大家是一样的,现在看来,有千差万别,根本的还是自己冷静的思想,自己的世界从来都是那么凉快的。如果我到了环境也是这样,当然会很好,可是我现在所处的环境,这帮人真他妈的没劲,一个个软绵绵的,只看到个别的还行。理性,才能更自性。
神经更加垂直,更加思维灵敏而有建第
多读blogjava上的好文章,特别是关于思想感悟的,少读论坛,少上论坛,搞哪些无聊的,甚至会受到负面的影响。这些文章才能让人静心。
同意。还有那么多人,和我思想一致,达到感悟,而不是针对现象不断的感想。
呼唤理性的声音。
从认识的角度去解决问题 而不是从感性的角度 不要接受别人的情绪影响 看清楚具体事实。
posted @
2009-03-11 11:06 鸟生鱼汤 阅读(295) |
评论 (2) |
编辑 收藏
公司最近上不了外网了,只能上几个技术网站,还好blogjava就是其中一个。很好,就写这个。
工资降了少的可怜。可我花钱还是那么夸张 真是不应该。要成为信用卡的奴隶了,不堪回收啊。
省省吧 工资稳定了 就好好看书 少出门 多交朋友,谈谈心 毕竟我也24岁了。亲爱的姑娘啊,等着我吧。只能大发感慨。唉。。。。。力拔山兮气盖世,时不利兮羁不势。主观要靠客观,主观努力吧。
posted @
2009-03-11 09:15 鸟生鱼汤 阅读(116) |
评论 (0) |
编辑 收藏
在本地tomcat服务器上都可以调用,结果放到apusic服务器上就出现这样的问题,但发现有的附件是可以打开的,URL地址象:
后面总结了一下,情况是
doc 可以打开
xls 乱码 西欧windows UTF-8
rar 乱码 GB2312
有的同事说是字符集乱码的问题,可是我就连字符集乱码都搞不懂。
然后找同事讨教了处理下载文件的办法,虽然自己也用过这样的下载方法,可是这样的话比较麻烦,就一个简单的链接还要用到后台的就太复杂化了。
然后在网上找了找字符集的知识,和utf-8 doc xls 的东西。
发现有一个mime-mapping 这样的配置的东西,配置了一下真的是这个问题。
posted @
2008-10-30 17:14 鸟生鱼汤 阅读(1437) |
评论 (0) |
编辑 收藏
ClassName:java.sql.SQLException
Message:OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。
NotifyUtil::java.net.SocketException: Software caused connection abort: recv failed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
at java.io.FilterInputStream.read(FilterInputStream.java:116)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:2370)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.readLine(BufferedReader.java:299)
at java.io.BufferedReader.readLine(BufferedReader.java:362)
at org.netbeans.modules.web.monitor.server.NotifyUtil$RecordSender.run(NotifyUtil.java:293)
项目部署在本机没问题。发布到测试服务器上也没问题。本地部署的用测试服务器的数据库就出现上面的错误。
posted @
2008-06-26 13:46 鸟生鱼汤 阅读(5276) |
评论 (3) |
编辑 收藏
今天的hibernate调用的存储过程,分页的时候执行速度太慢,要1分钟。
折腾了半天终于解决了。
最开始以为存储过程返回了所有的结果,通过实际要求简化为返回75行记录。发现效果不明显
接着是为了好分页,需要返回一个查询的对象序列,存储过程先返回一个ID,然后把ID做成一个序列,在通过hibernate的配置的执行返回的对象集合,并且这样分页方便。hql语句是:from Bed as b WHERE b.id IN (:list) order by charindex(','+rtrim(id)+',' , '''' + :list2 + '''')
以为二次搜索的原因。然后换别的分页方式,在网上找了大概有三种存储过程分页方式。
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
ALTER proc sp_LaborFiles_GetList
@PageNo int=1,
@PageCount int output
as
declare @PageSize int
declare @RowCount int
DECLARE @p1 INT
DECLARE @sql nvarchar(1000)
SET @PageSize = 20
set @sql = N'select ID,FileName,CreateDate from T_Files Where Deleted = 0 and ( Type=''labor''or Type=''公用'') ORDER BY ID DESC'
EXEC sp_cursoropen @p1 OUTPUT,@Sql,@scrollopt=1,@ccopt=1,@rowcount=@RowCount output
if (@RowCount%@PageSize = 0)
SET @PageCount = @RowCount/@PageSize
ELSE
SET @PageCount = @RowCount/@PageSize + 1
SET @PageNo = (@PageNo - 1) * @PageSize + 1
EXEC SP_CURSORFETCH @P1,16,@PageNo,@PageSize
EXEC SP_CURSORCLOSE @P1
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
这个方式执行效率也不好,还返回了两个结果集。
Connection con = session.connection();
CallableStatement sm = con.prepareCall("{call up_Bed_Assign(?,?,?,?,?,?,?,?,?,?)}");
sm.setString(1, c.getDepartment());
sm.setString(2, c.getDivision());
.....
ResultSet set = sm.getResultSet();
当遍历set.next()时,返回false,怎么取得第二个结果集尚未得知。这个执行速度也慢。
通过int id = set.getInt("ID"); 这样的函数取字段然后重建对象返回对象的集合。
在查了一下也许是采用了callableStatement类的方式,其实前者效率貌似更高, 于是采用
Session session = CommonDAO.getSession();
Query q = session.getNamedQuery("selectB");
q.setString(0, c.getDepartment());
q.setString(1, c.getDivision());
q.setString(2, c.getBuildingNo());
.....
List lst = q.list();
这样的方式,需要在..hbm.xml里面配置
<sql-query name="selectB">
<![CDATA[ {call up_Bed_Assign(?,?,?,?,?,?,?,?,?,?)} ]]>
</sql-query>
这样取出来的是对象集合
for(Object obj : lst){
Object[] objs = (Object[]) obj;
Bed b = new Bed();
b.setId(Integer.parseInt(objs[0].toString()));
还得判断空值的情况,很麻烦。
最后从事件监听器得到的语句是
SELECT @@MAX_PRECISION
SET TRANSACTION ISOLATION LEVEL READ COMMITTED
SET IMPLICIT_TRANSACTIONS OFF
SET QUOTED_IDENTIFIER ON
SET TEXTSIZE 2147483647
SET IMPLICIT_TRANSACTIONS ON
declare @P1 int
exec sp_prepare @P1 output, N'@P0 nvarchar(4000),@P1 nvarchar(4000),@P2 nvarchar(4000),@P3 nvarchar(4000),@P4 bit,@P5 int,@P6 int,@P7 int,@P8 int,@P9 int', N'EXECUTE up_Bed_Assign @P0 , @P1 , @P2 , @P3 , @P4 , @P5 , @P6 , @P7 , @P8 , @P9 '
select @P1
exec sp_execute @P1, N'', N'', N'', N'', 0, 1, 0, 0, 1, 5
整个存储过程影响了5000+5000+5000+20000多行数据,寒!赶紧优化存储过程,只需要搜索结果的一部分值就可以了。
再进行修改一下。总结一下遇到如下问题
一是存储过程分页
二是存储过程返回结果集后的处理,多个结果集的处理
三是hibernate里面调用存储过程的方式和配置
四是存储过程的书写,游标使用
posted @
2008-06-17 18:16 鸟生鱼汤 阅读(2061) |
评论 (0) |
编辑 收藏
用CSS构建iframe的滚动条
iframe应用很普遍,通常的需求有两种:
1. 获取iframe效果,就是带一个滚动条,可以省不少版面。
2. 要嵌一个页面,实现框架链接。
如果不方便使用iframe,可以有如下相应解决方案:
1. 可以使用css布局来实现,即可以少一个页面,也可以提高执行效率。
2. 可以采用xmlhttp远程获取数据。
A. 直接模拟iframe
用层做容器
#content { overflow:auto; height:185px; width:600px; background:#ccc; padding:10px;}
效果演示:
http://www.rexsong.com/blog/attachments/200601/02_150246_cssiframe1.htm
用body做容器
html { overflow:hidden; height:100%; background:#fff; border:0;}
* html { padding:200px 0 0 100px;}
body { overflow:auto; background:#ccc; margin:0; position:absolute; top:200px; left:100px; bottom:0; right:0;}
* html body { height:100%; width:100%; position:static;}
效果演示:
http://www.rexsong.com/blog/attachments/200601/02_151517_cssiframe2.htm
B. 绝对定位模拟iframe
滚动条在外边
html { overflow:hidden; border:0; height:100%;}
body { overflow:hidden; margin:0; height:100%; position:relative;}
#content { height:100%; position:relative; z-index:1; overflow:auto;}
#head { position:absolute; top:0; right:16px; width:100%; height:100px; background:#ccc; z-index:2;}
#foot { position:absolute; bottom:0; right:16px; width:100%; background:#ccc; height:50px;z-index:2;}
效果演示:
http://www.rexsong.com/blog/attachments/200601/02_151837_cssiframe3.htm
滚动条在里边
html { height:100%; max-height:100%; border:0; overflow:hidden;}
* html { padding:100px 0 50px 0;}
body { height:100%; max-height:100%; margin:0; overflow:hidden;}
#content { position:absolute; top:100px; bottom:50px; left:0; right:0; z-index:3; width:100%; overflow:auto;}
* html #content { top:100px; bottom:0; height:100%;}
#head { position:absolute; margin:0; top:0; left:0; width:100%; height:100px; background:#ccc; z-index:5;}
#foot { position:absolute; margin:0; bottom:0; left:0; width:100%; height:50px; z-index:5; background:#ccc;}
效果演示:
http://www.rexsong.com/blog/attachments/200601/02_153241_cssiframe4.htm
强调一下,standard模式要把body看作是一个容器,基本和div类似,这和传统观念是很不一样。搞清楚了
html与body的关系,关于高级布局的很多问题自然迎刃而解。
posted @
2008-06-02 14:59 鸟生鱼汤 阅读(1116) |
评论 (0) |
编辑 收藏