设计模式之代理,手动实现动态代理,揭秘原理实现

  开心一刻    周末,带着老婆儿子一起逛公园。儿子一个人跑在前面,吧唧一下不小心摔了一跤,脑袋瓜子摔了个包,稀里哗啦的哭道:“爸爸,我会不会摔成傻子!”    我指了指我头上的伤痕安慰道:“不会的,你看,这是爸爸小时候摔的。”    话还没有说话,小家伙哭的更厉害了:“那就是说我长大后就会和你一样傻了,我不要,我不要!”    老婆忍不住发飙:“别哭了,你怎么会变傻呢?你看你爸,你爸傻吗?”    我赶紧回应道:“是啊,你看我多聪明!”    儿子:“真的,不骗我?”    老婆:“当然!”    儿子:“可是如果老爸不是傻子,当年怎么会娶你这个母老虎呢?”    我、老婆:……  所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动。在一些情况下,一个客户不想或者不能直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的左右。  代理模式:...

设计模式之装饰模式,session共享的底层原理

  还记得当初写spring-session实现分布式集群session的共享的时候,里面有说到利用filter和HttpServletRequestWrapper可以定制自己的getSession方法,实现对session的控制,从而将session存放到统一的位置进行存储,达到session共享的目的。但是具体是如何实现的没有提及,今天我们就自己实现一个简单的session共享。  路漫漫其修远兮,吾将上下而求索!  github:https://github.com/youzhibing  码云(gitee):https://gitee.com/youzhibing  进入正题之前我们先来看看另外一个内容,放松下心情。尽管目前房价依旧很高,但还是阻止不了大家对新房的渴望和买房的热情。如果大家买的是毛坯房,无疑还有一项艰巨的任务要面对,那就是装修。对新房进行装修并没有改变房屋用于居住的本质,但它可以让房子变得更漂亮、更温馨、更实用、更能满足居家的需求。在软件设计中,我们也有一种类似新房装修的技术可以对已有对象(新房)的功能进行扩展(装修),以获得更加符合用户需求的对象,使得对象具有...

设计模式之观察者模式,事件机制的底层原理

      本来打算这篇继续和大家一起讨论springboot启动源码的,可觉得再讲源码估计大家都没有看下去的勇气了,那么今天,我们不讲springboot的启动源码,我们先来看看一个有趣的内容,具体是什么,大家应该已经知道了,没错就是标题中的–spring-boot事件。      可能有小伙伴觉得奇怪了,好好的源码系列不讲了,怎么突然讲一个无关紧要的内容呢?那么真的是无关紧要的内容吗?关于这个疑问后面会有解答。目前大家就权当放松了,以一种轻松的心态和我一起往下看。  说好的不是讲springboot的事件机制吗,怎么又讲什么观察者模式呢?心里会说:“楼主,你还好吗,你今天是不是被门夹了?”。楼主:“被门夹?不存在的,一般只有我夹门......”  还是那就话,大家放松心态慢慢看,心中的疑问先放在心里或者用笔记录下来,后面会慢慢解开的。  概念其实很简单,两个主体,一个观察者,一个被观察者,当被观察者发生变...

详细的最新版fastdfs单机版搭建

  目前项目是tomcat单机部署的,图片、视频也是上传到tomcat目录下,关键是此项目的主要内容还就是针对图片、视频的,这让我非常担忧;文件服务器的应用是必然的,而且时间还不会太久。之前一直有听说fastdfs,但一直没去认真琢磨他,最近才开始去研究它,今天只是去搭建一个简单的单机版,集群版后续再出;至于架构、原理什么我就不写了,网上资料非常多。  系统:Centos6.7  fastdfs:到https://github.com/happyfish100下载,都下载最新的:fastdfs-master、libfastcommon-master、fastdfs-nginx-module-master,避免版本问题  Linux终端工具:xshell、xftp      Linuxip:192.168.1.207      上传相关包到/opt下,如图  安装zip、unzip       &nb...

3种高效的Tags标签系统数据库设计方案分享

需求背景目前主流的博客系统、CMS都会有一个TAG标签系统,不仅可以让内容链接的结构化增强,而且可以让文章根据Tag来区分。相比传统老式的Keyword模式,这种Tag模式可以单独的设计一个Map的映射表来增加系统的负载和查询的效率。数据库设计方案1此方案分为2个表:1.Tag表2.文章表Tag表表结构:代码如下:tagid#tag标签的IDtagname#tag内容num#当前Tag的引用个数文章表结构:代码如下:ID#文章IDtitle#文章标题tags#tags列表,多个以,分割tagid#tags的ID多个以,分割... 此种方式Tag标签主要内容保存在文章表中,对于Tag表的压力较小,只是添加的时候更新一下Tag的引用数量,但是查询的时候效率不足,不是好办法数据库设计方案2第二种方案使用2个Tag表,其中一个保存Tag信息,另一个保存映射信息:Tag表:代码如下:tagid#tag标签的IDtagname#tag内容num#当前Tag的引用个数Tagmap表代码如下:tagidaid文章表代码如下:ID#文章IDtitle#文章标题tags#tags列表,多个以,分...

openssl建立证书,非常详细配置ssl+apache

一,什么是sslSSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Securesocketlayer(SSL)安全协议是由NetscapeCommunication公司设计开发。该安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了)。即通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露。保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是否是真实可靠。 安全套接字层(SSL)技术通过加密信息和提供鉴权,保护您的网站安全。一份SSL证书包括一个公共密钥和一个私用密钥。公共密钥用于加密信息,私用密钥用于解译加密的信息。浏览器指向一个安全域时,SSL同步确认服务器和客户端,并创建一种加密方式和一个唯一的会话密钥。它们可以启动一个保证消息的隐私性和完整性的安全会话。首先要有一个主证书,然后用主证书来签发服务器证...

[转载]数据层的多租户浅谈(SAAS多租户数据库设计)

原文:http://www.ibm.com/developerworks/cn/java/j-lo-dataMultitenant/index.html 在上一篇“浅析多租户在Java平台和某些PaaS上的实现”中我们谈到了应用层面的多租户架构,涉及到PaaS、JVM、OS等,与之相应的是数据层也有多租户的支持。多租户(MultiTenancy/Tenant)是一种软件架构,其定义是:在一台服务器上运行单个应用实例,它为多个租户提供服务。在SaaS实施过程中,有一个显著的考量点,就是如何对应用数据进行设计,以支持多租户,而这种设计的思路,是要在数据的共享、安全隔离和性能间取得平衡。传统的应用,仅仅服务于单个租户,数据库多部署在企业内部网络环境,对于数据拥有者来说,这些数据是自己“私有”的,它符合自己所定义的全部安全标准。而在云计算时代,随着应用本身被放到云端,导致数据层也经常被公开化,但租户对数据安全性的要求,并不因之下降。同时,多租户应用在租户数量增多的情况下,会比单租户应用面临更多的性能压力。本文即对这个主题进行探讨:多租户...

四种常见的App弹窗设计,你有仔细注意观察吗?

    弹窗又称为对话框,是App与用户进行交互的常见方式之一。弹窗分为模态弹窗和非模态弹窗两种,两者的区别在于需不需要用户对其进行回应。模态弹窗会打断用户的正常操作,要求用户必须对其进行回应,否则不能继续其它操作;非模态弹窗则不会影响用户的操作,用户可以不对其进行回应,非模态弹窗通常都有时间限制,出现一段时间后就会自动消失。  无论是模态还是非模态,弹窗都是位于当前页面的最顶层。模态弹窗常常都还会伴随半透明的遮罩来吸引用户的视觉焦点,以突出弹窗的信息内容。非模态弹窗一般被设计成用来告诉用户信息内容,而模态弹窗除了告诉用户信息内容外还需要用户进行功能操作。    伴随半透明遮罩的模态弹窗  随着开发技术的发展,弹窗的方式和样式多种多样。最常见的弹窗有以下四种:  Toast、Dialog、Actionbar和Snackbar    四种常见的App弹窗  Toast提示框  Toast提示框是一种非模态弹窗,它弹出一个小信息,作为提醒或消息反馈来用,一般用来显示操作结果,或者应用状态的改变。例如你发出了一条短信,App弹出一个Toast提示你消息已发出。  最常见的Toast提示框为一...

***电商数据库设计参考:ecshop数据库+订单表结构等

  --表的结构`ecs_order_info`  CREATETABLEIFNOTEXISTS`ecs_order_info`( `order_id`mediumint(8)unsignedNOTNULLAUTO_INCREMENTCOMMENT'订单详细信息自增id', `order_sn`varchar(20)NOTNULLCOMMENT'订单号,唯一', `user_id`mediumint(8)unsignedNOTNULLDEFAULT'0'COMMENT'用户id,同ecs_users的user_id', `order_status`tinyint(1)unsignedNOTNULLDEFAULT'0'COMMENT'订单状态。0,未确认;1,已确认;2,已取消;3,无效;4,退货;', `shipping_status`tinyint(1)unsignedNOTNULLDEFAULT'0'COMMENT'商品配送情况,0,未发货;1,已发货;2,已收货;3,备货中', `...

iOS—如何申请苹果公司开发者账号流程详细图文介绍(包括邓白氏编码的申请方法详细介绍)

这是我第一次申请苹果的公司开发者账号,走了很多弯路,网上很多帖子写的不明不白,这次从申请到拿到结束大概花了1个月多点的时间,上个月就申请完了,一直在忙公司项目的事情,所以现在才有时间来写这篇文章,希望能帮助到大家正文:我们要申请开发者账号,首先就需要先注册一个苹果的appleid,然后再这个账号的基础上去继续,这个相信大家都知道 这是申请appleid的地址:https://appleid.apple.com/accountFirstName:开发者的名字MiddleName:三个字的名字写中间的字LastName:姓AppleID:我这里填写的是我的公司邮箱账号,这个会作为以后的开发者账号登陆使用   为了节省大家的时间其中一些常识的点我就略过,说一些需要注意的地方,但是请放心,我一定会把我知道的都告诉你Country/Region:开发者所在的国度Company/Institytion:公司的英文名称,记住一定要填英文(因为我看到网上有些帖子说后面审核的时候会和前面填写的资料做对比,可能会影响,所以我填写的时候就比较小心,所以建议大家不知道公...

APP产品交互设计资源汇总(不断更新中...)

AxureRP7元件库http://www.iaxure.com/tag/axure7-0%E5%85%83%E4%BB%B6%E5%BA%93 ios8组合元件库V1.2版http://www.iaxure.com/2674.html...

APP产品交互设计分析总结(不断更新中...)

1、首页中的最下方的TAB和中部的TAB的区别最下面的tab按钮应该是核心级模块级的大功能入口中间的按钮应该是次核心级页面级的小功能入口 2、对于编辑是在单页内实现好还是跳转到新页面实现好内容比较少的话,单页内编辑即可,最下面一个保存按钮;如果内容多的话,建议跳转到新页面进行编辑保存 3、头像的意义实名头像一般用在设计属性的功能上,比如即时沟通匿名随机头像,用在比较隐私安全的环境下使用文字头像,比如用姓名的最后一个字来做头像的,主要是为了方便区分 4、性别,年龄(出生日期)在APP中怎么设计好在APP中建议用APP的规范来设计,比如性别可以用勾选的方式,而不是WEB中的下拉框的方式;是让用户输入年龄还是输入出生日期,分情况:如果是纯粹记录的,那么填年龄,比如病历就是记录的当时看病时的年龄,如果是个人用户资料,建议用出生日期,用自带的年月日选择控件 5、发现按钮的作用微信的最下方有一个发现按钮,京东APP的最下方也有一个发现按钮,这个按钮更像一个多功能的聚集入口,或者也可以在该页面放一些新功能点  6、消息的设计一般放在右上角的...

***交互干货必收 | App界面交互设计规范

在上篇《APP界面设计风格》确定下来后,产品经理(兼交互设计)还不用着急将所有的交互稿扔给设计师进行细致的界面设计。在细节设计启动前,拉上设计师和安卓前端开发、ios前端开发一起商议确定设计规范先吧!APP设计规范指对APP界面进行风格统一,对界面元素的样式、颜色和大小设定统一的规范和使用原则。与设计、前端约定好统一的设计规范很重要,约定设计规范可以减少产品设计、前端的沟通成本;可以使界面设计整洁、统一,减少界面元素的重复设计;可以减少设计素材,控制安装包的大小。APP设计规范主要包括对界面布局、背景色、字体颜色大小、界面元素间距、弹层、loading、图标、按钮常态点击态等进行统一的梳理和规范。页面布局页面布局和交互规范上建议安卓、ios尽量统一,这样可以避免安卓和ios分别设计一套稿子。当然土豪公司可以忽略这个建议,安卓和ios分别做专门的设计当然更好。在中小型项目来看,设计资源紧张的话可以考虑安卓和ios用同一个稿子,分别做相应的微调后输出适用安卓和ios不同的尺寸要求就可以。推荐使用mac矢量设计工具"sketch"。以ios平台的iPhone5的尺寸640*1136px作为...

《APP开发》APP规范实例-详细的UI设计方法

  对了一个APP开发初手来说,可能心里有很多的疑惑:  屏幕设计为多宽,宽度是不是应该设置为百分比;  按钮大小多大,怎么排列,文字字体用多大的?什么字体显示好看?图标多大,怎么用色?界面怎么布局?等等很多的问题,这篇文章就是专门为你们准备的。。。...

虎哥手把手教你接私活和报价(附送详细报价单)- 转

虎哥:“设计师除了工作中拿的工资,还有一项非常重要的收入来源,就是做私活儿。话说我这10年工作之中也接了不少,收入也是很可观的,补贴家用的同时,也通过不同的设计案例丰富了设计知识结构,成长更快。” 大部分人在工作中接触的设计种类都是非常有限的(除非你在外包公司会多些),也有些人一整年也没有做出几个项目,周期很长。接触的项目多,动手能力就强,经验就丰富了。我从出道到现在,做的私活儿至少也有30w。当然也上当受骗过几次。有个名人说的,生命在于折腾,越折腾,越成功。爱折腾的设计师,都喜欢做私活儿,也适合创业。 哪里有私活找上门?如果你有几样像样的作品,那么通过zcool或者其他社交平台上找你做私活儿的人就特别多了,私聊发私信是一个最常规的做法。你也可以去加入一些不同行业的qq群,参加一些活动认识一些不同行业的人,扩宽你的人脉圈,如果你的身边都是设计师,这是非常狭隘的。亲戚朋友介绍的,同事介绍的相对靠谱一些。我就提醒一点给大家:不收到40%的预付款,就坚决不开始做。小心上当。这个社会是傻子特别多,骗子不够用。你若不信任我,那就别来骚扰我。 ...
首页上一页...161162163164165...下一页尾页