- 浏览: 1861861 次
- 性别:
- 来自: 深圳
-
最新评论
-
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源码阅读(一)——环境搭建
文章列表
CLI启动
有种流行的做法是把cli和实现分离,比如grunt-cli和grunt。hexo也是采取这种方式,hexo-cli专门处理命令行,hexo才是具体的实现。可以像bash一样执行hexo-cli的命令
启动脚本
#!/usr/bin/env node
'use strict';
require('../lib')();
搜索路径,初始化Hexo
上面的脚本,实际上执行的是lib/index.js,核心代码如下。为了方便阅读,省略了与流程无关的代码:
findPkg(cwd, args).then(function(path){
if(!pat ...
- 2015-08-19 21:04
- 浏览 3080
- 评论(0)
基本流程
首先需要登录微信公众号管理后台,配置允许跳转的域名。该域名必须是2级域名,不支持1级域名。所以数量有限,需要规划好。比如配置了a.exmaple.com为跳转域名,就无法再跳转到b.example.com了。如果这里配置错误的话 ...
- 2015-08-19 21:02
- 浏览 3824
- 评论(0)
获取真实frame
在不用Masonry时,frame在创建UIView时就已经确定,例如:
CGRect frame = CGRectMake(0, 0, 375, 200);
UIView *view = [[UIView alloc] initWithFrame:frame];
或者
UIView *view = [[UIView alloc] init];
view.frame = CGRectMake(0, 0, 375, 200);
但是使用Masonry时,坐标是根据约束计算得到的。在init方法里,view的frame是(0, 0, 0, 0),这不是view ...
- 2015-08-19 20:59
- 浏览 973
- 评论(0)
MJRefresh是流行的下拉刷新控件,前段时间为了修复一个BUG,读了它的源码,本文总结一下实现的原理
下拉刷新的基本原理
大部分的下拉刷新控件,都是用contentInset实现的。默认情况下,如果一个UIScrollView的左上角在导航栏的正下方,那么它的contentInset是64,而contentOffset是-64。继续下拉的话,contentOffset就会越来越小,如果上滑,contentOffset就会增大,直到左上角达到屏幕的左上角时,contentOffset刚好为0
默认情况下,如果下拉一个UIScrollView,在松手之后,会弹回初始的位置(导航栏下方)。 ...
- 2015-07-26 18:00
- 浏览 8550
- 评论(0)
最近流行的一种界面效果,是瀑布流的header固定,也叫sticky header或者parallax。对于UITableView,可以比较方便地让table header固定,但是对于UICollectionView,原生的iOS API比较难以实现。本文推荐一个开源组件,专门用于实现这种效果 ...
- 2015-07-21 01:20
- 浏览 3228
- 评论(0)
什么是emoji
emoji在诞生之初有多种标准,所以早期兼容性是个问题。但是现在已经标准化了,是unicode的一部分。可以认为,跟字母、汉字一样,emoji就是unicode中一个普通的字符
但是emoji通过utf-8编码后,每个字符占4个字节,属于宽字符。而老版本的mysql只支持一个字符占3个字节,所以老版本的mysql是无法存储emoji的。新版本的mysql增加了字符集utf8mb4,可以支持单字符最多占4个字节。utf8mb4是utf8的超集,可以无需修改地支持原来的utf8字符
要让mysql存储emoji,需要满足2个条件:
1、mysql的charset设置 ...
- 2015-06-29 18:22
- 浏览 4263
- 评论(0)
微信打开的网页,屏蔽了app store地址
如果是在微信对话中发送app store的链接,点击就可以直接从微信里跳转到app store的下载页面
但是如果是在网页里放app store的下载链接,不管是长码,短码,
通过
<a href="">
或是
location.href = "";
都不行
解决的办法:
1、把APP上到应用宝,然后放应用宝提供的地址,则会判断机型自动跳转
2、提示用户“在浏览器中打开”
3、把链接转换成二维码,通过“扫描图中二维码”的功能,也可以正常跳转
...
- 2015-06-19 19:28
- 浏览 2629
- 评论(0)
今天把一个站点重新部署了一下,目录结构调整比较大,发现了几个问题,本文总结一下
首先页面里的URL,和硬盘的路径有对应关系,主要是文件服务器在解析URL的时候,会跟硬盘上的目录结构对应起来找实体文件。但是URL和硬盘路径不完全一样。比如本地路径,如果是/,那么会从硬盘的根目录开始找;而URL的/,只会到虚拟主机的根目录,不会到真的根目录
引用资源尽量使用相对路径
在html页面里引用资源如css,javascript的时候,最好用相对路径。比如下面的目录结构:
a/
1.html
javascripts/
1.js
在html里最好写成./javascri ...
- 2015-06-18 18:11
- 浏览 2136
- 评论(0)
从html5开始,可以通过在响应头里增加Access-Control-Allow-Origin,实现跨域请求
node的代码:
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Credentials', true);
res.setHeader('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, OPTIONS');
res.setHeader('Access-Control-Allow-He ...
最近做性能优化,发现“查询用户评论”这个接口特别慢
首先对接口进行了测量,由于这个接口需要查询用户的昵称和头像,需要关联到accounts表,而accounts表里的数据比较多,所以接口的查询速度比较慢。因此我们采取的优化,是把accounts中的数据缓存到redis里,部署后接口的查询速度提升了80%
接下来发现,虽然接口查询速度提升了,可是在APP上的表现还是不好,loading还是要转圈很久。于是接下来在app里打断点,发现其实从发出http请求,到拿到响应,只需要0.3s,这个速度已经很快了,那么问题就是出在本地处理上。检查发现,我们使用的下拉刷新组件MJRefresh,为了显示lo ...
- 2015-06-04 21:29
- 浏览 472
- 评论(0)
最近发现一个问题,同样一个视频,在深圳可以打开,在南京地区的android可以打开,南京地区的iPhone无法打开
我们的视频都是通过CDN下发的,把链接改成资源实际所在的地址,绕开CDN,就都可以正常访问了,所以定位出是CDN的问题。可能是深圳的CDN节点是好的,南京的android设备和iOS设备访问了不同的节点,而iOS节点有错误
联系了CDN提供商,对方的技术人员也没有定位出问题,最后检查发现,资源的content-type没有设置,是默认的plain/text,改成video/mp4就可以了
这个问题比较特殊,虽然修改了content-type以后解决了,但是至今也不知道为什么个 ...
- 2015-06-04 21:22
- 浏览 1155
- 评论(0)
APP开发常有这种界面:顶部是一个表头,下面是一个UITableView
如果不使用headerView,而是上面一个自定义的UIView,下面是UITableView的话,则表头会固定,即滚动UITableView时,上方的view会固定不动,不会跟着滚动
如果希望表头不固定,需要使用headerView来实现,类似:
tableView.tableHeaderView = [self buildTableHeaderView];
但是,一个常见的错误是,UITableViewDelegate有2个方法:
- (CGFloat)tableView:(UITableVie ...
- 2015-06-04 21:16
- 浏览 3169
- 评论(0)
xcode有个BUG,截止到6.3.1还没有修复
当打ipa包,需要支持iOS7的设备时,xcode不会把Images.xcassets里的.jpg图片正确打包。现象是在iOS8上可以正确显示的图片,在iOS7上会显示白屏,并且console报错:Unable to create unsliced image from csi bitmap data,解决办法是使用.png图片,或者把.jpg图片的扩展名改成.png
- 2015-06-04 21:08
- 浏览 2094
- 评论(0)
上一篇博客总结了iOS屏幕适配的若干技巧,本文再补充几点别的方面
设计图
一般会先由美工做出界面的设计图,然后开发再去实现。上一篇博客说的主要是,开发怎么实现的问题。实际上从设计图这个环节,就需要开始考虑界面适配的问题。主要是2点:
1、出几张图
如果以iPhone6为基准出设计图的话,一般很难完美地适配到iPhone4,5和6P上,因为屏幕尺寸差异很大。一般在6上摆得很紧凑好看,在4和5上就会摆不下(溢出屏幕),在6P上则会有比较大的空隙
通常有几种办法:
设计元素的位置和大小,不用具体的数值,而是使用百分比,这样在每种屏幕上会适配。但是通常这只是理想情况,因为4种屏幕的宽高比都不 ...
- 2015-05-20 15:44
- 浏览 2723
- 评论(0)