Tag Archives: 牢骚

使用Spring LDAP ODM操作LDAP

Spring Source真的是个很神奇的开源社区,从《J2EE without EJB》开始为大家所知晓,到把IoC、AOP大范围地带到大家的开发模型中,再到和Hibernate、Struts组成每个Java函授学校必教的“SSH”组合,从此绿遍大江南北…… 在国内,大马路上随便抓一个Java程序员,10个里有9个半知道Spring;有9个知道怎么把SSH“组装”到一起(是的,“组装”,和流水线上的蓝领熟练工没有本质区别);有9个半知道IoC、AOP;有2个知道IoC和AOP的本质;有3个知道Spring其实分为core、context、orm、tx等不同子框架;有1个知道Spring 3之后可以用annotation取代之前版本大部分的xml配置;有2个知道Spring mvc和security;有半个知道其实Spring的子框架远不止这些……这就是我们当前Java码农们的实际情况。而造成这一局面的,我谓之三害——高校计算机系功利的培养模式、以北大青鸟为首的各种速成班的祸害和程序员们自己懒惰、人云亦云、拒绝思考的慢性自杀 牢骚发完,本文将通过介绍Spring的两个子框架:Spring LDAP和Spring LDAP ODM,来实现对LDAP的操作 项目主页:http://www.springsource.org/ldap,该框架通过提供和ORM中相似的机制对LDAP相关操作进行封装,主要包括: 类比SessionFactory的LdapContextSource 类比HibernateTemplate等的LdapTemplate 伪事务支持,能否与tx框架的TransactionManager混用未知 类比JPA的使用@Entry、@Attribute、@Id标注的ODM——Object Directory Mapping 本文(原先)目标:使用ODM将User类与LDAP中的实体进行映射,LDAP中的实体的objectClass包括inetOrgPerson,organizationalPerson,person,shadowAccount和top 相关配置文件、代码在http://static.springsource.org/spring-ldap/docs/1.3.x/reference/html/上已经很详细了,这里只是做一点旁注,全部来自于这几天和Spring LDAP的斗智斗勇 对于shadowAccount的shadowLastChange域,值是一个整形,至于具体含义网上没有找到解释,试了几次之后发现是从1970-1-1 00:00:00至今的天数,如果model里定义的是Date类型的话,需要自行实现org.springframework.ldap.odm.typeconversion.impl.Converter接口进行转换 对于@Entry标记,其中的objectClasses定义必须与objectClass完全一致。在新建和查询object时,ODM会根据此标记进行匹配,无需再指定objectClass 每个entry必须指定@Id字段,类型为javax.naming.Name,其实就是DN。但是若在LdapContextSource中指定了base,则DN将会按照base截取相对路径。比如,DN为cn=user,ou=users,dc=jayxu,dc=com,base为dc=jayxu,dc=com,则取出的user对象DN为cn=user,ou=users 如果使用Spring MVC对LDAP对象进行JSON序列化,必须注意javax.naming.Name中的某些字段无法被序列化,所以在转换成JSON之前需要将DN置null。一种方法是使用@JsonIgnoreProperties标记model类,比如:@JsonIgnoreProperties(“dn”) 对于不需要与LDAP进行映射的字段使用@Transient进行标记 考虑使用org.springframework.ldap.pool.factory.PoolingContextSource引入连接池 如果事务中需要与JDBC进行互操作,需要使用org.springframework.ldap.transaction.compensating.manager.ContextSourceAndDataSourceTransactionManager作为tx manager

评论:「评论:工程师们,不要想一辈子靠技术混饭吃」

周末亮哥在群里转了一篇cnBeta上的文章:评论:工程师们,不要想一辈子靠技术混饭吃 这篇文章的标题虽然看着很衷言逆耳,但内容看得我直膈应,完全就是一篇郁郁不得志的小媳妇儿的牢骚贴,我的评论如下: 痴心技术与处理人际关系不矛盾。之所以成为一个码农,与你所处的行业和环境没什么关系,和你的工作经验也没有关系,而和你自己的性格和生活态度有关系。甘愿做码农的,10年工作经验也是码农,不想做码农的在学校你就已经不是了 没有人对自己的长远规划只是一个码农。我是想说,对自己的将来没有长远打算的,就算脱离「苦海」去做市场开发,也永远是一个跑腿的 正是些人的异端邪说让现在学计算机的学生浮躁、自大,专业基础却一塌糊涂。如果不想做技术,压根就不用去学计算机 其它职业的人当然没有必要来了解Java和.net的区别,因为这是你吃饭的工具,而如果连对自己吃饭的工具都没有热情甚至自以为耻了,那转行是更好的出路 现在的社会里如果是个大学生,做任何工作都不至于饿死,但是如果你的追求只是如此,那任何行业对你来说都是一样的。转行一段时间后你依然会「发现」「更好」的工作 把全文中所有和计算机技术相关的术语和市场开发相关的对换,文章依然可读

移不动就一傻逼

刚才去mzone办业务,看见一个叫“来电提醒”,3块钱包月, 开通来电提醒,在关机、没电、不在服务区等状态下的漏接来电,在你恢复正常通话时,均可收到短信提醒,让你及时获知来电情况,重要来电一个都不漏。而且,不需设置,方便快捷! 心中些微有些疑惑,打开原先定制的“全球呼”的介绍,果然也是3块钱包月 当您不方便或无法接听电话时,只要呼叫转移到号码13800100309,系统会按照你的指令自动记录打给你的电话号码,并通过免费短信发到你的手机上。无论开机关机,来电情况一手掌握! 于是坚定:“移不动就他妈一傻逼”。 还有更绝的:我原先订的是动听,6块钱包月,送手机报。后来手机报懒得看,于是取消了。又后来欧洲杯和闹运的时候订了两个月看赛事新闻,于是移不动很坦然地收了我两个月的手机报钱……从此对手机报同仇敌忾。刚才看见有一个“福娃音乐计划”,同样6块钱,同样来电畅听,但是送的是彩铃。于是心动,取消了动听,提示下月生效,心里还有些欣慰移不动终于有些开窍,明白取消业务后立即暂停跟抢钱没什么区别。接着定制福娃,告知我有冲突套餐……一琢磨,这意味着下个月我才能定制福娃,而最快到下下个月我才能用上…… 真的雷到了,这个transaction够安全……

想说话……等毕业了吧

今天大四的学长们办离校手续,听说学校又有不合理收费情况,骂声一片…… 在北航呆了三年,耳闻目睹好多怪现象,很想贴文章说两句,但有前车之鉴——前两年的一个学长因为在校BBS上发表文章,将矛头直指校领导,立马丢了学位。所以还是忍忍吧,为了父母的血汗钱。等毕业了,一定要说个痛快。在这里先把标题定好—— 《四年目睹北航之怪现状》

北京的服务性行业从业人员

打来到北京后就觉得这个城市太懒散,尤其是服务性行业,根本就是卖方市场,从业人员高高在上,不把顾客当顾客,全当孙子了。我们北航的校医院、小卖部(校办)、收发室、饭卡缴费处,全是这类人:你去的时候基本上是在聊天,把你撂一旁干等着,聊完了才来理你。 高中时候年级组长的一句话我到现在还记得:学生是我们的衣食父母。在这里摆出这句话并不是期望那些人管我叫爹,只是想提醒“她们”(因为其中绝大部分是40到50岁的中年妇女)一句,看见学生的时候别忘了自己是吃谁的,用谁的,没你们北航照样转,我们照样吃饭睡觉,但没有我们,你们只能去喝西北风!

程序员的信仰……我想骂人

我们学院开《面向对象技术》课的老师拿Java做讲课语言,讲课时却对Java一知半解,我想骂人…… 这个学期大三(下),终于到了“熬出头”日子,因为全部是专业课,不用再上什么大物啊、数电啊、模电啊这些我一看了课表就想吐的课程,而且还有很多专业选修课可以上,再有就是我们学院的开课老师都挺有名气,像上操作系统的任爱华,上个人软件过程的吴超英……。 一拿到专业选修课的课表,我立马把“面向对象技术”列在选择范围之内,道理很简单,因为Java。第一节课,那老师看上去有快50的年纪,上得还算中规中矩,介绍了一下面向对象技术的历史。但从第二节课开始,他介绍Java基本知识,我的恶梦也开始了…… 首先是类型介绍,他赫然把String和int、double一起作为Java的类型来介绍。然后,他竟然自做主张地把System类划分到了 java.io包下,范例程序中每次从标准输出打印时都要import一下io包。在讲布尔类型时他的幻灯片里还出现了“< boolean>!”(非操作)这样的语法。今天的课上,他把override译成了“重构”,还在Java的collention框架里添加了一个“dictionary”,结果听他一讲原来是map!还有其它的一些错误比如混用“boolean”和“Boolean”、“String”和 “string”、“=”和“==”,真不知道他是不是科班出身。 前些天和同学聊天,我说程序员是有信仰的,对语言的执着、对技术的追求,那就是一种信仰。然而这个老师竟公然亵渎我的信仰,还将这么多的错误知识从讲台上传授下来,真的害人不浅。中国的计算机教育或者说大学计算机教育忽视教学质量,是不是滞后中国软件业发展的一个因素呢?

排球课

今天上午10点到11点的排球课,教垫球。结果上完课之后前臂又红又疼 打排球真辛苦

CSDN的blog好烂啊

这两天csdn的blog又瘫了,老是出错 要不是看在它是我第一个博客的份上,我就◎%¥#!×……了

无觅相关文章插件,快速提升流量