- 浏览: 1843203 次
- 性别:
- 来自: 深圳
最新评论
-
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源码阅读(一)——环境搭建
文章列表
苹果企业版证书,虽然不能上app store,但是可以实现在网页上直接点击下载,而且不需要知道设备的UDID,合理使用的话还是很方便的。昨天用这种方式发布成功了,本文总结一下步骤
首先,在xcode中export的时候,可以看到有3个 ...
- 2015-02-07 23:31
- 浏览 10487
- 评论(0)
sqlite不支持alter table的时候修改某列的定义,所以如果需要改变某一列,思路是:
1、先建一张临时表,把原来表中的数据复制进去
2、删除旧表
3、新增表
4、从临时表中把数据复制回新表
5、删除临时表
NSString *sql1 = @"create table tb_users_temp as select * from tb_users";
NSString *sql2 = @"drop table tb_users;";
NSString *sql3 = @"CREATE TABLE IF NOT EXISTS ...
- 2015-02-05 20:02
- 浏览 794
- 评论(0)
公司系统做了一年多,慢慢也有点规模了。从最初只有一个APP + 一个server的模式,到现在有多个子系统,多个客户端。这个过程中,积累了一些想法,本文简单总结一下
系统拆分的好处
基本上,比较小的系统,单进程集中部署就可以了。集中部署不代表一定不好,在系统规模很小的时候,或许是最适合的,因为调用关系简单,开发也比较容易。但是系统慢慢变大了以后,我认为拆分系统,分布式部署就变得更为合理了。
拆分系统至少有这些我体会到的好处:
1、停掉系统的一个部分,只会影响相关业务,不会造成整体业务中断。特别是一个新的模块上线,尚未稳定的时候,可能会有错误挂掉,或者主动重启维护等,如果是集中部署,就会造 ...
- 2015-02-05 01:00
- 浏览 885
- 评论(0)
产品此前的数据备份方案,存在不少问题,所以需要设计一个新的方案。本文总结一下新旧方案的优劣
首先APP是一个支持离线的应用。本地数据保存在sqlite,在离线环境下,在本地数据库里读写记录,在有网络的时候,再将数据备份到服务器;同时,也可以随时将数据从服务器恢复到本地
旧方案
此前的备份方案是基于内容的,每一条记录都有create_date和modify_date字段,同时APP保存有latest_backup_date(上次备份时间)。然后开始备份的时候,就对所有表进行扫描,根据这3个时间的对比,直接生成sql语句,发到服务器执行,写入服务端的mysql数据库;收到服务器的成功响应之后, ...
- 2015-02-04 00:51
- 浏览 4032
- 评论(0)
我们的APP从启动到进入主页面,是通过presentViewController构造了一个ViewController序列,类似于首页 -> 登陆页 -> 启动加载页 -> 主页面
其中,在启动加载页的viewDidAppear方法里做了很多逻辑处理:
-(void) viewDidAppear:(BOOL)animated{
...
- 2014-12-17 23:30
- 浏览 3860
- 评论(0)
接上篇博客:
hybrid应用的database locked问题
我们的是hybrid应用,基于cordova。做第一个版本的时候没经验,原生的部分用FMDB访问数据库,WEB的部分就直接找了一个SQLitePlugin用。早期的时候,原生代码和js访问数据库都是错开的,所以没有发生问题。但是到了现在,有些场景需要2边一起访问数据库,由于sqlite不支持并发写,就产生了database locked问题
其实回头看,如果在首版本就基于FMDB自己写一个cordova插件提供给js调用是很容易的,但是到了现在再改造就麻烦了很多,因为业务代码已经大量调用了SQLitePlugin的js接口 ...
- 2014-12-17 20:52
- 浏览 1370
- 评论(0)
SQLite是库级锁,支持并发读,但是不支持并发写。所以如果多个线程同时进行写操作,就有可能造成database locked问题。如果是纯原生应用,这篇文章介绍了怎么利用FMDatabaseQueue避免锁库:
使用FMDatabaseQueue避免database locked问题
但 ...
- 2014-12-12 21:38
- 浏览 542
- 评论(0)
今天发现一段代码,发生了奇怪的回调混乱现象
调用的API是这样的:
api.method = function(sql, condition, successCallback, failureCallback){
// logic
}
我们自己的业务代码调用了这个函数:
var sql = "insert into xxxx";
var condition = {};
api.method(sql, condition, function(result){
// callback when success
}, function(err ...
- 2014-12-11 01:13
- 浏览 520
- 评论(0)
在微信里,其实可以改变“分享到朋友圈”和“转发给好友”的默认行为。这些js接口,截止到今天(安卓版微信6.0)还是不公开的,微信的官方文档里完全没有提到,但是其实借助WeixinJSBridge是可以做到的
分享行为
可以控制 ...
- 2014-12-04 20:21
- 浏览 3560
- 评论(0)
业务模式
由于微信的火爆,出现了很多提供公众号二次开发的平台公司。主要的业务都是为客户的公众号做二次开发,提供诸如微门户,微商城这样的服务。一般都是客户在平台上申请一个唯一的业务ID,然后将自己的公众号绑 ...
- 2014-12-04 13:10
- 浏览 853
- 评论(0)
今天调一个页面,碰巧开着console,偶然发现发起了无效的http请求,提示404错误
虽然不影响功能,还是检查了一下,发现是因为有类似下面的代码:
<img src="{{item.imgPath}}" alt=""/>
所以,在angular实际渲染完成之前,浏览器读到img标签,就向{{item.imgPath}}这个地址发起了请求,结果当然是404。实际上应该使用:
<img ng-src="{{item.imgPath}}" alt=""/>
就会有延迟加载的效果 ...
- 2014-12-03 02:06
- 浏览 929
- 评论(0)
我们的一个APP使用了crashlytics,一般如果APP crash了,都会收到邮件通知,定位问题比较方便。可是最近有几次用户打电话告诉我们应用闪退了,我们却没有收到crashlytics发来的邮件。
通过debug,我们发现应用有一个BUG会导致内存溢出,当内存耗尽的时候,在xcode上就能看到一个错误信息,提示内存不足;而没有连接xcode直接运行的时候,结果就是应用闪退。而且这种情况下crashlytics似乎是无法捕获异常的,或者是没有资源把crash上报。所以就会出现这种现象,用户打电话反馈闪退,而我们没有收到crash通知邮件。
所以,如果明明应用闪退了,却收不到通知,就要考 ...
- 2014-11-29 10:41
- 浏览 1271
- 评论(0)
效果图:
上面卡片形状的区域,height是不固定的。因为width是根据屏幕的宽度自适应的,然后height和width保持固定比例。所以在PC上,height可能是300px,但是在手机上就只有100px。
希望中间的剩余金额保持垂直居中显示,方法有很多,我用的是绝对定位 + 百分比的方法。关键CSS如下:
<div id="parent">
<div>季度卡 vip86900006</div>
<div id="son">3次</div>
</div&g ...
- 2014-11-13 15:31
- 浏览 4320
- 评论(0)
效果:
主要就是在父容器上设置水平方向滚动,并禁止换行。然后子元素用inline-block实现平铺。关键CSS如下:
<ul>
<li></li>
<li></li>
<li></li>
</ul>
ul {
width: 100%;
overflow: scroll;
white-space: nowrap;
}
li {
display: inline-block;
width: 50%;
vertical- ...
- 2014-11-13 15:12
- 浏览 641
- 评论(0)
<div>xxxxxxxx</div>
通过以下css,可以令div中的超长的字符变成省略号
div {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
- 2014-11-10 21:01
- 浏览 960
- 评论(0)