- 浏览: 1845980 次
- 性别:
- 来自: 深圳
最新评论
-
levin_china:
勾选了,还是找不到
用spring annotation声明的bean,当打包在jar中时,无法被扫描到 -
GGGGeek:
我用的maven-3.5.0,还没有遇到这种情况,使用jar ...
用spring annotation声明的bean,当打包在jar中时,无法被扫描到 -
GGGGeek:
受益匪浅,从组织项目结构,到技术细节,讲的很到位,只是博主不再 ...
一个多maven项目聚合的实例 -
Aaron-Joe-William:
<?xml version="1.0" ...
hibernate逆向工程 -
li272355201:
http://archive.apache.org/dist/ ...
tomcat源码阅读(一)——环境搭建
文章列表
iteye的人气现在很差了,而且主页君的质量也相当令我蛋疼
今天开始正式移动到http://blog.csdn.net/kyfxbl了。ITEYE的这个博客以后只定期把CSDN的博客同步过来,保证内容一致,但是排版和分类就不重复维护了
我在csdn的id还是kyfxbl,欢迎大家继续关注我,谢谢!
最近看一个app的源码,发现基本没有用第三方的开源组件,但是特效也做得不错,总结一下实现的思路 <!--more-->
简单的抽屉效果
效果如图:
这种抽屉效果很常见,开源组件也很多。但是一般开源组件都对Controller的结构有要求,有时候不是很方便。
原理主要是:主页面加侧边栏。当弹出侧边栏时,设置主页面的x为一个负数;当收回侧边栏时,将主页面的x设置为0。再加上一些动画和手势就可以了。
初始化侧边栏
func addSidePanelController() {
if (sidePanelController == nil) {
...
- 2016-02-06 22:44
- 浏览 1234
- 评论(0)
java平台的keystore是对https证书的一种包装,配置方式和http服务器的证书配置略有不同 <!--more-->
最近和一个第三方系统对接,需要安全认证。安全认证有2种方式,一种是在应用层实现,比如通过ws-security或者在报文头增加一些字段等;另外一种是借助https,对应用层透明。本次对接采用的是https的方案
根据部署方式的不同,具体的实现也有区别。一般在tomcat前面会有一个http服务器如nginx来接收https请求并转发,那么需要在nginx上配置证书。但是这次对方是直接用tomcat响应web请求,所以需要在tomcat里配置
一开始我 ...
- 2016-02-06 22:43
- 浏览 1253
- 评论(2)
hitTest方法,简而言之,就是给定一个点,返回一个view或layer,判定当前是哪一个view或layer被点中了 <!--more-->
原理
当用户触摸屏幕的时候,系统会依次调用view层次中各个子view的hitTest方法,来判断当前是哪个view被点中,决定谁是first responder。关于这点,这篇文章总结得不错:iOS事件分发机制(一) hit-Testing
默认的实现就是触摸点是否在此view的范围内,开发者可以重写此方法,来实现不同的逻辑。具体来说有2种常见的场景
重写UIView的hitTest方法
比如为了扩大某个view的点击 ...
- 2016-02-06 22:43
- 浏览 1197
- 评论(0)
在iOS中绘图,可以使用UIView,也可以使用CALayer。实际上,UIView也是由底层的CALayer完成绘制的工作 <!--more-->
UIView和CALayer的关系
每个UIView内部都有一个CALayer对象,由它来完成绘制的工作。和view一样,layer也是一个树形的结构
当不需要自定义组件的时候,用UIView的API就足以胜任,把需要的子view通过addSubview()方法放到view的层次里即可;但是如果需要自己绘制一些图形,就需要在UIView的drawRect()方法或是CALayer的相关方法中,调用CoreGraphics的A ...
- 2016-02-06 22:42
- 浏览 2105
- 评论(0)
这几天尝试了使用Interface Builder,跟以前用纯代码开发还是有比较明显的区别,本文总结一下这几天的感受 <!--more-->
原理
总的来说,在IB里的操作,会在编译时由xcode生成代码,本质上和纯代码是一样的。但是通过IB的方 ...
- 2016-02-06 22:41
- 浏览 627
- 评论(0)
本文介绍从web页面打开iOS app的方法 <!--more-->
从web页面打开app是一个常见场景,大致上有2种做法
利用Safari原生Banner
只需要在html中加入一段meta,即可在Safari中显示一个Banner。如果未安装此app,会跳转到app store的下载页面 ...
- 2016-02-06 22:41
- 浏览 2058
- 评论(0)
这几天中秋节,配合运营部门开发了个中秋活动,本文总结一下过程中的一些体会 <!--more-->
微信订阅号和服务号混用的方案
我们的微信主账号是个订阅号,所以没有OAuth的能力,也就是说从网页上无法获得当前访问者的 ...
- 2016-02-06 22:39
- 浏览 927
- 评论(0)
上周参加了一个在阿里云上实施的高性能架构交流,本文结合我们产品的实践,从前端、应用层、数据层等维度,分别总结一下高性能架构的一些常规做法 <!--more-->
总述
性能包含多种维度的考量,最直观的是2个指标: ...
- 2016-02-06 22:38
- 浏览 1066
- 评论(0)
我们的一个项目采用动静分离的部署方式,服务接口在自己的服务器上,静态资源保存在OSS,通过CDN访问。不过这样有时会有跨域问题。本文总结解决的办法 <!--more-->
原来的做法
原本的做法,服务接口部署在自己的服务器上,通过域名api.xxx.com访问,不走CDN
静态文件,包括html,css,js,图片等,部署在OSS上,通过域名s.xxx.com访问,经过CDN加速
这种架构在性能上表现很不错,但是服务接口是通过ajax调用的,通过设置Access-Control-Allow-Origin允许跨域请求,但是这需要跨域
而实践发现,在某些移动端的浏览器里, ...
- 2016-02-06 22:37
- 浏览 5563
- 评论(0)
APP里有一个功能是用户上传图片以后,让其他人来投票,最后得票最多的可以得到某种奖励。最近发现了几次刷票的情况,本文总结一下处理的方法 <!--more-->
投票无需登录
基本的规则是投票无需登录,因为如果需要登录了才能投票的话,会影响活动的传播效率。所以规则设置为任何人都可以投票,这就给拉票行为留下了隐患
相反,如果限制登录才能投的话,刷票就很困难了,服务端可以很容易地控制刷票行为
在服务端控制的方案
所以既然不能用account_id这个天然的唯一标识,就需要找到另一个可以唯一标识终端的标记
在app里可以用IDFA或者device_id作为唯一标识。同时 ...
- 2016-02-06 22:37
- 浏览 798
- 评论(0)
最近需要把某网站的统计数据聚合到我们自己的系统里,但是该网站没有提供标准API,所以就尝试自己抓取了一下。本文总结一下一般的方法 <!--more-->
分析服务地址
通常网站有2种做法,一种是后端渲染,直接把渲染后 ...
- 2016-02-06 22:36
- 浏览 897
- 评论(0)
iOS开发有时会用到第三方提供的SDK,一般是以.a的形式提供,用命令行可以看到其中的内容 <!--more-->
APP的最新一个版本集成了某广告联盟SDK,结果app store审核被拒了,原因是使用了iHasApp框架。怀疑是此SDK用到了,所以需要查看它提供的.a库的内容
直接用以下命令报错:
$ ar -x libPinyouSDK.a
ar: libPinyouSDK.a is a fat file (use libtool(1) or lipo(1) and ar(1) on it)
需要先转换格式,通过以下命令:
lipo libPinyouSD ...
- 2016-02-06 22:35
- 浏览 702
- 评论(0)
用rsync命令在不同机器间同步文件夹,及hexo-deployer-rsync一个BUG的规避方法 <!--more-->
命令格式
例如,要把本机public目录与服务器上的/home/blog目录同步,用以下命令:
$ rsync --delete -avz -e ssh public/ root@121.xx.xx.212:/home/blog
如果服务器的ssh端口不是默认的22,则需要给ssh指定端口号,这种情况不常见:
$ rsync --delete -avz -e 'ssh -p 22' public/ root@121.xx.xx.212: ...
- 2016-02-06 22:34
- 浏览 1132
- 评论(0)
本文总结一下javascript几个比较重要的知识点,包括scope chain,this,和函数的一些高级特性 <!--more-->
scope chain
scope chain是javascript函数调用里最核心的概念,尤其是要理解闭包的概念的话,必须先了解scope chain的原理
函数在scope chain上查找变量
function执行时,会在scope chain自底向上地查找变量。scope chain的第一个对象是自己的调用对象(activation object),然后是外层的function的调用对象,然后是更外层的调用对象,直到glo ...
- 2016-02-06 22:32
- 浏览 811
- 评论(0)