前两天冬至(这边流行冬至前两日就开始吃一种像饺子的东西,误以为那就是冬至),很多亲戚聚在一起吃饭。我拿着一本《xx多线程编程》在啃,八大姨的小姑子在教育上小学的儿子要好好学习。

”儿啊,你看X叔叔多认真,30多了还这么努力,你要向他学习“

”妈妈,爸爸和叔叔一样的年纪,叔叔好厉害!能看懂那么厚、那么多英文的书,爸爸一点都不懂!“

我摸着小孩的头笑着说:”你爸才厉害,整天开车出去耍。你要好好学习,小时不努力,长大像我一样30多岁还要看书“

然后,他妈来了一句”儿啊,你要努力,要是30多岁还像叔叔一样学习,我和你爸就要喝西北风了“

瞬间头顶飘出-20000!的雷击伤害,双倍暴击并产生10秒麻痹效果,原来他妈夸我努力就是为了这句!

注:本人没爆粗口,他妈的后面没有”的“字。

事件背景:

年轻时因为英语问题,从名牌大学毕业变成一个大龄高中毕业生,学的又是冷门物理专业,除了读书一无是处,年近30开始做程序猿总算发挥一点点特长。

真是应了少壮不努力,老大做程序猿这句话。公司派发稀奇古怪的任务,我也不断的调整方向,DELPHI,c#,单片机c语言,android,java都经历了一遍。

每天除了上班就是学习。逐渐发现这公司真地不利于走技术路线,例如:

1,经常成立XX小组推进信息化建设,然后列出一群组员,除我之外其他都是各部门经理,一群“软件设计师”指导一个程序猿的画面不要太美。

业务设计上如果讲道理赢了”设计师“们,以后没好果子吃。如果按照他们要求来,要增加很多工作量和不必要的冗余。

若是界面的个性风格也忍了,但是某些”设计师“也跟我学过一点数据库设计,对数据库设计指手画脚,一会说联合主键好,一会说未审核的订单和已审核的名单要分两张表设计。

内部培训软件开发,本意是让其他人了解下企业信息系统,哪些可以做,哪些不可以做。结果我还真是搬起石头砸自己的脚。

2,老旧OA用louts数据库太落伍,公司换个新的几十万又嫌贵,我跳出来说自主开发给十分之一就好。用接近一年反复重构,搭建好开发平台,顺便带几个人做好了OA。

3,最大的一次委屈来自于转型java

A领导听OA厂商说java好google,淘宝们都用java,.net快被淘汰了,运行windows系统又浪费服务器资源(言下之意是IBM服务器几百万,运行windows是在烧钱)。A领导大手一挥转java,于是我开始转Java。

逐步用Java来搭建开发平台,持续做了几个月,也做了一个业务模块上去运行,遇到JS问题一时没搞定(全栈==全废,JS都是复制粘贴的)。可能领导很不爽,没过收到A领导招聘java高手的邮件。

心里一万匹草泥马奔过,面试java高级程序猿竟然不是唯一懂java得我而是只懂点sql的A领导来做(后来换个角度也想明白了,从A领导角度看,虽然我技术是比他好那么一点,但公司业务他熟,做管理多年他看人的能力也很强)。

经过最高总经理批准,高手来之后工资是我的两三倍,废弃了我开发一半的平台重头开发。很快调整心态,我默默地想:反正高手不来我也没有工资加,来了跟着学点东西也好,不用自己辛苦踩一遍Java的坑,用高手的架构也是题中之义。

但每次请教,高手都是让我调试代码,耐心看看debug信息。开始以为只是他不愿意教我,后来他很多功能都问我原来平台上有没有,有就移植到新的平台(底层都是SSH或srping+springMVC+hibernate)。

到这里我明白了,原来”高手“是靠忽悠出来,再后来他问我什么我也说不知道。下决心自己做一个完善的开发平台出来,然后再给高层演示的时候我拿一个更好的方案出来,不料默默准备了很久的大招没有打中人。

因为,半年后”高手“拿着20来万工资离开了,A领导又找到我,说那个系统已经做完大部分,要继续发挥它的价值,你来维护吧?顿时心里被一群草泥马来来回回的跑过,把我接近完成的系统展示给他看。

整个权限设计,在jsp页面充满了下面这种代码。不说jsp里写Java代码的古典风格,不说代码都用角色了还要权限来干什么?也不说使用名称判断而不使用id这种低级错误。

这种”高深“的问题给A领导解释是自找麻烦,我着重演示了系统的不安全性(简历上是担任项目经理,参与多家银行系统的建设,对于安全性方面很有研究)。

不安全性:一个外网IP访问的系统,掩耳盗铃控制html的内容,不登录系统,浏览器输入菜单1的地址,各种数据随便访问。

if(角色=="经理")
{显示菜单1();
}
if(角色=="员工")
{禁止菜单1();
}

终于说服A领导,那个系统没有必要使用了。当时我也注意到,”继续发挥它的价值“这句话的深层含义,A领导也明白花冤枉钱招人了,但放弃系统等于打自己的脸,往上报告高层也不好交代(公司规定每个高级人才辞职都要问责上司的)。

我不想背这个锅,顺着A领导去做讨得欢心也不给我加一分钱,还要为系统问题买单。然后,A领导和我的话更少了,推广使用我的开发平台,有任务丢给新人,然后新人不会的我来搞定。之前招聘高手来做Java平台许诺的十万奖金也没人再提。

如果选择表面维护遗留系统(实际用自己的平台),十万奖金是可以向高层申请到,但考虑到一群”设计师“出力的情况,有一万到手就不错了。即使一万对于他们只是零钱,对于我是巨款,但有些事我做不到妥协。

发奋

马云说过,辞职只有两个理由。要么是钱给得不够,要么是心受委屈了。两个理由都有了,是时候该换个工作了。

不懂忽悠也不想学忽悠,只好修内功。上班有空就看技术书籍,下班也看,走亲戚也带着书,于是有了上面的事情:

------------------------------------------------------------------------------------------------

看完评论发现权限设计是一个经典的老生常谈问题。会的人胸有成竹、对权限问题不削一顾,不会的人还在苦苦思索,到处找代码。

初入门我先后用了吉日嘎啦、伍华聪、金色海洋等人的权限设计,那时他们争论很激烈,下篇把我的设计和代码发出来,让不会的人少走弯路。

设计基础:用户、角色、权限三大核心表,加上用户角色、角色权限两个映射表(用于给用户表联系上权限表)。这样就可以通过登录的用户来获取权限列表,或判断是否拥有某个权限。

物理学总喜欢不断抽象,试图建成大统一系统,比如牛顿力学是相对论在低速状态下的一个特例。软件思想也是如此,

任何权限的需求,都是为广义的用户分配角色,角色拥有广义的权限。角色是最重要的中枢,隐藏做幕后黑手,从不出现在业务代码里,用行话说就是解除了用户和权限的直接耦合。

角色把用户抽象化了,几百个用户变成成几个角色,用户->角色->权限写成通用判断权限的方法:currUser.IsHave(xx权限)。核心就是一个sql联表查询语句,查询条件为用户id。

例如:
部门权限:部门也是一种用户,建立 部门表、部门角色表。通用权限方法里加上 当前部门->部门所属角色->权限 
职位权限:职位也是一种用户,建立职位表、职位角色表,同上
菜单:也是一种权限,建立 菜单表、角色菜单表,就把菜单纳入了权限管理。通用权限方法里加上 角色列表->权限、菜单

转载于:https://www.cnblogs.com/zkp2010/p/5065376.html

”儿啊,你要努力,要是30多岁还像叔叔一样学习,我和你爸就要喝西北风了“...相关推荐

  1. 【神回复】程序员30多岁还在投简历找工作,怎么看?

    今天有一个社区网友,微信给我留言,程序员30多岁还在投简历找工作,亚历山大,怎么看? 我怎么看?其实这个问题还真没有想过,因为目前还有遇见朋友所说的问题,但是我也有话要说. 程序员在三十岁的时候,投简 ...

  2. 20不努力,30做助理(转载)

    大二的表弟给我打电话,说大学生活很无聊,日子不知道该怎么打发.他是不想泡妞的,因为"时间还没到",他内心深处隐隐认为应该做点什么,方不荒废青春,却不知该做些什么好. 我知道这孩子一 ...

  3. 24岁女孩与30多岁成熟有家男人的午夜对白

    24岁女孩与30多岁成熟有家男人的午夜对白 烛光晚餐. 桌两边,坐了男人和女人. "我喜欢你."女人一边摆弄着手里的酒杯,一边淡淡的说着."我有老婆."男人摸 ...

  4. 30多岁了,年薪多少才不会焦虑?

    分享职场生活.职场攻略.程序员创业资源,为一线开发者提供优质内容 热播电视剧<三十而已>有个很有意思的话题: 30岁后你在哪里吃早餐? 关于吃早餐,剧中王曼妮和顾佳王两人很有对比性,漫妮是 ...

  5. 30岁还一事无成,你该怎么办?

    转自:http://36kr.com/p/5088636.html 时间慢慢磨蚀了人的锐气.但其实每一个被磨蚀的人,又何尝没有抗争过呢? 编者按:本文来自微信公众号"L先生说(ID:lxia ...

  6. 为什么越来越多30多岁的程序员开始迷茫呢?

    30岁正是经过了5-7年的职场生涯,技术.经验.职业素养等各方面都到了一个比较充沛的阶段.如果前几年不是在混日子,到了现在,踏踏实实干活的一般会成为公司的核心开发,潜心研究技术的应该会成为架构师,有领 ...

  7. 软件测试就业难,没有面试机会,常年外包,人到30岁+还在岗位或工作的选择上身不由己,如何破局?

    前言: 本文总结了现阶段的测试的普遍现状,耐下心来看,你绝对能有所收获. 一:软件测试点点点,点到浑天暗地,如何破局? 一个从事软件测试的朋友,在外包干了五年嘎嘎点,24岁入的行,到现在快三十了,还是 ...

  8. 知乎扎心高赞:30岁还没有走到管理岗的人,后来怎么样了?

    作者丨临公子 来源丨临公子的后花园(ID:hi-lingongzi) 这是个很难让人心平气和的时代. 一方面,人们对"贩卖焦虑"极其敏感,痛斥抨击:另一方面,内心不断蔓延出的焦虑情 ...

  9. 30多岁程序员哭诉:得了抑郁症,请假在家躺尸数周,一点都没有好转。现在不敢辞职,工作又做不下去,每天想自杀!...

    自古有三十而立之说,但30岁却成了一个危险的"职场抑郁带". 据统计,在患有职业压力症或有抑郁倾向的群体中,30岁上下的占了半数以上. 近日,一名程序猿在论坛发帖: 30多岁了,得 ...

最新文章

  1. C#实现的18位×××格式验证算法
  2. 中国python之父是谁-Python之父:我们能为中国的“996”程序员做什么?
  3. hadoop/hive/hbase 简单区别及应用场景
  4. ajax 在新选卡打开,JavaScript在新窗口中打开,而不是选项卡
  5. LAMP之Apache
  6. CentOS安装Samba服务
  7. LaTeX 公式编辑器(网页版)
  8. 【教程】Edraw Max使用教程:创建一个基本流程图
  9. 免费数据集 公开数据集下载 网站
  10. 26 图的邻接矩阵:深度优先遍历
  11. 利用CH341A编程器刷新BIOS,恢复BIOS,妈妈再也不用担心BIOS刷坏了
  12. 教资科目二重点简答题总结
  13. java 代码箭头代表什么_箭头运算符' - '在Java中做什么?
  14. 黑马SQL入门到精通笔记 —— 进阶篇
  15. 《数据库系统概论》:DBA的职责有些
  16. python libusb_libusb介绍和使用示例
  17. 大数据 Linux 搭建(一)
  18. GhostXP_SP2电脑公司经典版_v8.0
  19. My first silly-dummy-crappy web-crawler perl program
  20. 形式语言与自动机——第二章 自动机

热门文章

  1. 联想微型计算机不能开机,联想电脑不能开机的原因及解决方法
  2. 【刷题篇】领扣3168.求两数加减乘除后的值(python)
  3. 数学分析:秩定理,莫尔斯引理
  4. 机器学习之SVM(算法详细推导)
  5. 人工智能将使增强记忆成为现实
  6. python 免费空间_python 免费空间_google engine
  7. ios Xcode 8.0 CoreLocation定位服务
  8. tpcc-mysql安装_tpcc-mysql 安装及使用
  9. 100分钟吃掉DIN深度兴趣网络
  10. 【STM32】Freemodbus流程解析函数解析详细