读了《史蒂夫·乔布斯传(修订版)》(3)

“动力来自产品,而不是利润”
人们不知道想要什么,直到你把它摆在他们面前
创新中深藏着一种人文精神

然后产品的质量就变得不那么重要了.这些公司开始重视销售人员,因为是他们在推动销售,改写收入数字,而不是产品的工程师和设计师
他们不愿意费力气打造一家真正的公司,而这正是商业领域里最艰难的工作

我们相互间诚实到残酷的地步
如果你不忙着求生,你就在忙着求死
我们试图用我们仅有的天分去表达我们深层的感受,去表达我们对前人所有贡献的感激

或许他们是别人眼中的疯子,但他们却是我们眼中的天才.因为只有那些疯狂到以为自己能够改变世界的人,才能真正改变世界.
job

2017-12-11

2018年阅读计划

阅读自有书,2018阅读计划

  1. 《创新者的窘境》1月
  2. 《创新者的基因》
  3. 《鞋狗: 耐克创始人菲尔·奈特亲笔自传》
  4. 《那些古怪又让人忧心的问题what if?》
  5. 《硅谷百年史第3版 创业时代 创新时代 互联网时代(套装共3册)》
  6. 《周恩来转(精装典藏版)》
  7. 《李嘉诚:我一生的理念》
  8. 《点石成金:访客至少的WEB和移动可用性设计秘笈(原书第3版)》
  9. 《丝绸之路: 一部全新的世界史》
  10. 《细节: 如何轻松影响他人》
  11. 《逆向管理: 先行动后思考》
  12. 《金字塔原理: 思考, 表达和解决问题的逻辑》

读了《史蒂夫·乔布斯传(修订版)》(2)

“在人生的头30年里,你培养习惯;在后30年里,习惯塑造你” —乔布斯
报偿

一家伟大的公司给人的第一印象就必须映射出自己的价值观
Love is just a four-letter word
物质只把生活填满而不使之充实

产品是有灵魂的,是为了一个使命被生产出来的
此刻的失败者终将胜利

他一直确保他们是忠诚的,即使是对错误的忠诚
“苹果有很多出色的人才,但是他们在做错误的事情,因为计划本身就错了” —乔布斯

如果你不热爱这件事,那么你就不会多走一步,也不情愿在周末加班,只会安于现状
“分支”这个词本身就不吉利

永远不要害怕内部相残
与其被别人取代,不如自己取代自己
<<创新者的窘境>>

集思会
数字生活带来的孤立感

创意产生于自发的谈话和随机的讨论中
现实扭曲力
“我来给你们讲个故事吧”

job

 

2017-12-10

少一些大而全, 多一些小而精 — 我的开源观

看过了太多包含N多框架的,功能齐全的开源项目,总都是在宣称此框架能XXX,XXX.
开源挺好.
结果都一样, 走入另一个软件开发的沼泽继续不能自拔,深陷其中,无能更改与纠正.

软件是复杂的,复杂到超出了绝大部分程序员的能力,太多的广度意味着精力的分散,缺少深度
与比别人更浅层次的理解,太多的仅限于会使用,会弄,会满足当前项目要求,甚有直接从培训
学校搬出来的开源.
写程序,码代码,与做人做事毫无区别,你的时间在哪,成就就在哪,公平,公正.
迫于对工作的需要而不断地增加框架,整合框架,会用即是目的,功能实现即是高手.然后开源.
殊不知对软件,编程的理解少的可怜.天天一说便是熟悉这个,熟悉那个,一问深点啥也不知,
毫无羞耻感——最垃圾的程序员

对于什么是编程思想,什么是继承,封装,多态等等,说很容易,弄个简单的例子也很容易(网络
强大的好处之一),可真到了实际运用中,实际项目中,全然变成了以功能实现为目标,哪还知道
何谈抽象,何谈解耦,何谈扩展性…
说的都是人,可人才是根本的问题所在,人的能力,素质,身体,思想跟不上,何谈有小而精的深度,
精度.

“重复发明车轮”依旧是软件从业人员的常态.若把这提升到一个人的人生态度,就能更反映出有多少人是把软件编程当作一份职业,谋生的手段,而不是真正的热爱与自己的兴趣所在.
想想真是悲哀,那些一生没有追求过自己,三四十年的职业生涯都没干过自己最有兴趣,最有成就感的事——程序员首不其冲,无以回避.

你的精力,身体,资源,始终是有限的,过多的大而全只会在让你始终飘浮在一框架或技术的表面,
难以深入而有惊人的见解(有惊人见解的才是值得开源的).我曾对一些程序员说”如果你真正理解了MVC,那么你也能实现一个自己的MVC框架,而不管你用什么语言,什么方式”.只有真正的理解,思考,思索,再经过长时间的实践,结合书本,才能真正形成你的思想——你的编程思想.
每个程序员都有自己的编程思想,各不相同却又求同存异,健康发展.

个人认为开源首先要有”拿来用”精神,要勇于承认别人做的好的东西,尽量多的重要并吸收; 其次要有简化的精神,太深奥的技术(如class编译,加密算法)如何能用通俗的易于理解的话语来描述是开源的又一核心所在(能达到这一点的一般称为master),毕竟使用开源的,大部分是普通的程序员(即会用的程序员).
最后,开源一定要有专注精神,专注是社会进步的基石,只有专注才能做出精而深的开源作品.任何的开源都要像商业项目一样有明确的需求,要解决的问题,要达到的目的与效果,并坚持长久,不断优化,完善文档,使用说明等,才有可能成就优秀的开源作品.

基于现代的代码库,协作平台的广泛使用,要创建一个开源项目已是容易之更容易.你开源的是一件作品(而不只是你的代码),是你的编程水平,文档能力,综合水准的深刻体现.
对待开源的态度,即等于你对待软件编程的态度;是否成就优秀的开源,是否成为优秀的软件工程师,也是你人生的完全体现.

2017-12-12 凌晨

读了《史蒂夫·乔布斯传(修订版)》(1)

好的艺术家抄袭创意, 伟大的艺术家窃取灵感 –毕加索
公司由”那”一个人所决定的
后来,就如此看书,看书,写些乱七八糟的

“如果你想建设一个由一流队员组成的团队, 就必须敢下狠手”
你在等待着, 等待着去踢球
你无事自通,无所事事,除了想些所谓的事,干些满足于身体而又继续空虚着后罢了

你想到了没看的书, 要买的字帖如小时候一样继续练习,
许多的想干的与别人无关的事,终还是一个人
已经不再充满写代码的乐趣,而又无法寻找到编程的第二个春天到来

北京,冬天, 你依旧在踢球中寻找唯一的乐趣
漫天的灰,满身的屑
把字忘记了写而只能通过手机去查找的时候越来越多.

2017-12-02 星期六,尚未出门

2005-07 至 2009-07(2)

你不曾记起这是4年生活的开始, 一切从小滩村开始, 一个原始的荒芜之地.

此时的格局是如此的: 住在医学院, 学在西工院; 从一学校去另一学校上学再回来, 此一路步行单边至少花费30分钟光阴.

巧合的是我们学校先修好了教学楼, 医学院先修好了住宿楼— 正好等于一学校的基础配置, 即此校区可以启用了.

连迎接我们新生一族的办理入学的一伙人都是在医学院里工作的.

 

当时发了两套床上用品, 轮流换, 轮流洗, 到也方便些. 同一宿舍楼的属于经管的是男女混住一起, 三四男,五六女, 有一楼管阿姨长期看护着四五楼间的门,以防万一.

其他的宿舍楼不知详情. 4人一间的宿舍, 配套独立洗漱间卫生间也还不错. 热水充足, 原因在这宿舍楼修建时在地里挖出来了一地下温泉(奇迹)

此时还无网吧,无娱乐; 村民的肉夹馍一元五一个, 外加一袋一元的奶—就这样吃了一两年的早餐, 至少吃伤不再吃夹馍加奶了.

此时也无球场,不能踢球, 无篮球场, 也不能打球. 无完整的上学铺装路, 有一段是土路,每当夏天,尘土飞扬, 就这样走来走去,灰里来灰里去;

每当下雨,全泥巴路, 上学穿一双,外带一双鞋, 泥时来雨里去, 一路畅通无阻, 不,风雨无阻;倒是冬天的雪景盖满地时,会觉得好一些罢.

此时也无完整的学校围墙, 也无学校大门, 也无图书馆, 也无更多更多…

此时,有什么, 只有六幢楼,教学楼 ABCDEF; 外带一个餐厅, 在医学院里的餐厅,解决温饱问题.

L6610902ME

(此时的学校,只能拍内景)

你不能说, 我们就是那里的拓荒者, 未央校区的原始一届–05届.

我们在位于西安北郊的一片土地上,距离市区至少转两公交,耗时约一个半.

 

508班,编号007, 全称为050508107; 李李焦刘分在了一间宿舍418, 说不清的普通话, 倒不明的川普,就这样开始着交流, 宿舍的说: 要是说话说不清楚,沟通有困难,就发短信吧.

汉字是相通的,准不会错— 竟也成了如此, 第一次在北方,普通话的世界, 语言也成了也不小的问题. 他三全北方的.当然不会像我如此有些许语言故障; 后来时间消磨过去,

也都能听的懂我的川普话. 他们也竟有时叫我教他们说说四川话—-有味些.

全班人员32人, 全外省人,无一陕西籍同学,后来直到大三才搞清楚了这是为什么.

508班有4个来自四川的. 对于满是全国各地的来说,不多也不少吧.

刚开始的日子也就是发书,发书,再发书, 把一共三学期(即直到大二上学期的书)的书全发给了我们,每人分得一大堆在宿舍书架上, 些许壮观.

 

有一天我们所有05届的学生一起聚会, 举办了西安工业学院的未央新校区启用大会, 在位于ABC与DEF之间的场地上.

在一些未经认证的班级领导的带领下,往返于两地之间,,听听辅导员讲些大学的XXX,YYY. 再叫各班的人员在一起介绍介绍,XXX等等, 再诸如发了

每个班级的课表张贴在宿舍门上, 也就开始准备上课了吧.

刚开始的课程都是些基础课, 作为国贸专业的, 英语分了三门课,分别是写作,读与说. 其他的诸如数学, 马列主义, 政治经济学等.

后来才明白一开始全发的书全是基础课用的,等到上专业课时的书本全由自己买, 也可以不买, 找上一届的同学借来用, 也可以不用书去上课, 无人问精也无比自由.

 

行走在两点一线之间的小滩村渐渐热闹了起来, 小摊大摊, 小店大店都一起来了,有了些许人气似的.

 

 

2017-11-05

 

远离电脑, 沉于书本

无计于多久没有写下点什么而有所思一般,无记录,无生活.

没有技术的记录,没有生活的记录. 总觉得重复的生活沉醉于生活而不知无所作, 无所事事一般的前行着.

望不尽的代码书写依旧. 一段段看似鼓舞人心的时光持续无所转折.

感觉是一段生活的结束,又是一段日子的继续不停. 消磨于成都的生活而享受着,无以上进,无以扩张,无以进步,沉在书中感受一切,磨平了许多的心中凌角.

 

就像生活每隔一段时间都会来一次“大姨妈“一样, 酸甜苦辣才是生活的本味, 不是一味的甜(虽然都一直想); 但是重要的是坚定的信念,长久不断,继续前行.

试想若无移动手机,生活又有多少人给活得像人一样.

 

继续写着代码, 开源的, 非开源的;技术的, 另一边的, 无所想的. 做下去, 把技术, 把书, 把日子.

image

 

Spring Security中 salt 的最佳使用

salt, 盐, 用来做什么? 自己搜索下吧, 不解释这个基础的问题.

Spring Security中使用salt 有以下方式:

1.不使用 salt                       (强烈不推荐)

配置如下

1

使用 sha-256 加密

 

2.使用固定的salt 值          (不推荐)

配置如下

2

此处配置的固定值: my-salt

 

3.使用UserDetails中的一个属性值, 通过反射动态获取   (推荐)

配置如下

3

使用UserDetails中的username 属性的值为salt

 

4.自己实现 SaltSource.java 类,扩展性好           (推荐)

配置如下

4

使用扩展的 MySaltSource , 自定义实现,扩展性强

 

最佳使用实践

1. 使用UserDetails 的某一属性为salt的动态值 , 但这个属性不要与用户相关(如username), 比如定义一个 saltValue 属性, 每次创建时随机生成此值并存储,不修改.

2.扩展 SaltSource.java实现 , 比如使用两种加密算法去加密等.

 

另外

1. 对password的加密使用不可逆的算法实现, 如: SHA-XXX,  MD5 , 不能使用可逆的加密, 如: AES

2. password是敏感数据, 切不可记录到日志中, 保存在许多地方等.

我们需要你, JAVA大才

我们需要你, 在成都,在高新;

我们需要你,5年经验算基本;

我们需要你,学士,硕士或博士;

我们需要你, 扎实JAVA (Security)基础;

我们需要你,能把Spring框架玩的团团转;

 

我们需要你,能进出Linux畅通无阻;

我们需要你,Maven,MongoDB与IDE(A);

我们需要你,把简历投到这里.

 

我们需要你,期待你,等待你,盼望你…

joinus