过年小总结

图片alt

一转眼春节假期结束了,这个假期超级有意义啊,跟女朋友的亲事定下来了,也跟我来了北京了。剩下的事情就是攒钱了,毕竟要结婚买房了,攒钱计划也订好了,一定要按照计划执行清楚。

准备看代码的计划算是没执行,不过也看了一些还算可以接受。不过利用假期看了5本书,4本小说一本技术书。虽然技术书不多但是自己理解了一些没理解的东西以及如何更好的看书学习。看书果然不是看一次就行了,需要多多的看多多揣摩,等以后再看的时候专门看自己没有理解好的部分就可以了。

ok,又一篇流水账记录完成了。2017算是正式开始了,更加努力吧。就如同当初我保证的那样子,别急,给我一些时间啥都会有的。加油吧

从权限控制到合理分解系统的思考

本来这篇文章想写一个不利用轮子在laravel上实现rbac的东西的,其实也就是自己造一个rbac的轮子。

但是,最后自己还是懒了,不想写代码,所以呢,聊聊从权限管理让我思考的分解系统的一些东西吧,其实也不算是分解系统,仅仅就是想说说松耦合的事情。

曾经我以为我自己了解的不够多,但是通过这半年换工作以后我才意识到我了解的很多了,只不过有很多东西仅仅就是了解的程度而已,没有实践经验并没有什么卵用,而且了解的越多,不知道的就越多,就包括这次的权限控制这些东西,以前我总是认为这是个很高大上的东西,后面的学习我知道了rbac就是角色权限这些东西,现在我又认识到,这些东西应该是可以热插拔的可替换的,不应该对现有系统造成任何影响,也就是说我撤除掉权限相关的东西系统应该可以正常运行下去,还有,其实造一个轮子很难啊,因为可能需要我们为不同的框架去做相应的适配。

学习,永远都停不下来,我也不知道我上面说的东西对不对。就这样吧,看东西去了

对了,最重要的东西没说,说说思路。

首先我们应该有一个baseModel,所有的model对象都继承自baseModel,baseModel里面有hasRole,hasPermission,can ,cannot等这些方法用于权限的验证,然后blade那边我们也应该有相应的控制,至于角色权限相关,就按照自己的思路定义就可以了。

一些都应该是可替换的

再见2016

图片alt

2016马上就要结束了,风雨飘摇的一年,充满收获的一年。

刚刚过了年就跟前女友分手了,但是高兴的是立刻发现了更好的人。也许人无完人,我们在将来都有可能遇到更好的人。但是我想说的是,我很懒就坑你了,只要不放弃我,我愿意努力给你个美好的未来,我的口号还是以前那样,不求大富大贵腰缠万贯,起码衣食无忧。

正式毕业2年整,人更成熟了,更加平淡的看事情了,最终我还是回到了北京,算命的说我不能离家太远,最后我还是要回到哈尔滨。但是呢,我又一次出来了,我坚信自己的努力会得到相应的回报,只不过时间早晚的问题,多变的工作经历,让我有了更丰富的经历。都说2016是寒冬,但是在我看来,工作依然是给准备好的人的,在哈尔滨的时候就准备了几家面试。最终被pass了几家,我也pass了几家,最后挑选offer的时候没有选择58,而是选择了现在的公司,在面试的时候就聊了很多,大公司的利弊,小公司的利弊也都说的很清晰。而且自己也有一些方向,所以最后我更有倾向性的一家公司。说实话到现在也没有体会过大公司的感觉,小公司倒是工作了很多家,看看在有机会的吧,能够体会一下大公司的感觉,也许下次挑选公司就是以一个高级程序员或者更高的的身份直接杀向bat这样的公司了,近几年估计不会乱动,不过现在看来还是有难度的,小公司的好处就是什么都能接触到,但是由于小公司的限制不能够在某一领域深入进去,毕竟有更多的任务等待去解决,不过方向到现在我也没个目标,所以还是在小公司厮混。再有一个就是小公司的隐性福利必然没有大公司的完备,毕竟资金流有限。

做一个事情要坚持,坚持下去才会成功,知道的越多迷茫越多,方案就是不挺的学下去,在一个基础要牢靠,我就觉得我的基础有些差,现在也在不停的补充基础知识,还有就是知识让人分369等。既然出身不好,我就努力吧。

2017我还会在这个地方战斗下去,加油。学习,keep study。

我所理解PHP中的container

又用了一次老图片,这个图片我个人真的炒鸡喜欢呢。

说正事吧,10天前,我开始着手写自己的php框架,目前仅仅把路由和mvc中的vc实现了出来,说实话写框架真的不是那么简单的事情,需要考虑的东西要比平时写逻辑多得多。也可能是我考虑的太多,就是那些有的没的很容易中断我的思路,而且总想用上最新的东西,让自己的框架看起来高达上一些,所以最先想实现出来的就是这个container了。框架也许会中断一阵,然后从小的组建弄起,先准备弄一个pdo的封装,然后这个pdo的封装就成为我框架重的m了。

好吧,又跑偏了,继续说container,以前弄java的时候ssh框架就多次提到了ico啊di啊什么的,也许是当时自己的知识不够吧,仅仅是那么用而已,具体为什么却没有去考究,做开发3年多了,现在我也算是理解了。下面就说说我们为什么需要一个container作为全局容器呢。就是为了ioc/di。

那么ioc/di是什么呢,这两个其实是一个意思,就是什么控制反转,依赖注入,这两个词描述的是一个事情,只不过是从不同的方向说的而已。以前我们在开发的时候需要一个什么东西,构造好,传递进去,为什么不说在类里面初始化呢,这也是解耦嘛。现在为什么要依赖注入呢,早年的php框架各自为政没有太多的需求,现在psr标准出来了,composer有了很多的组件让我们来使用,标准就越来越凸显了,大家的选择就有很多,我们在各种标准接口上实现自己的类,就可以无缝替换了。也许有朋友会说。上面的方式也ok啊,改个代码就行了,但是不得不说的是这是极度危险的,当有一处忘记改动了,就会有很大的问题。所以,有一个容器统一管理我们的各种组件就是很重要的了。然后我们修改config中的相关项就可以了,这样就会很安全。

好吧,上面就是我的理解,没有一个代码,真的不愿意贴代码啊。

btw,美好的周六这么过去了,没写代码,现在写点吧,开始弄pdo

在网页上增加角标

<div style="height:50px;position: absolute; top: 0px;right: 0px; overflow: hidden;">
    <div style="font-size: 12px;text-align: center;position: relative; top: -5px;right: -52px; z-index: 999; background: #ff0000;color: #f3f3f3;transform:rotate(45deg);padding: 12px 50px 3px 50px;">Beta</div>
</div>

单纯是公司用到了,需要记录下,具体参数可以自行调整,外部 div 就是为了防止溢出用的了