您的位置:首页 > 其它

2015年创业中遇到的技术问题:31-40

2015-03-21 20:06 423 查看
31.Linux下启动Mysql有N种方式。
service mysql start; service mysqld strat; 上述2种方式是,mysql已经安装作为了服务,有的叫做“mysql”,有的叫做“mysqld”。 如果没有服务,还得手动启动。 比如,/usr/bin/mysqld start &。 一段时间不搞,记忆已经模糊了。 o(︶︿︶)o 唉
32.用户表-索引-类型。user表:uid,nameA类用户:1开头,10001B类用户:2开头,20001C类用户:3开头,30001
按照我之前的想法,想给用户增加一个type字段,感觉更清楚一些。 boss觉得呢,从长远和性能角度,加前缀的方式更合适。 加前缀,查询一类用户,用uid < 10001 ,uid >= 20000 and uid < 30000。每次查询可以走索引。 根据类型type查询,type =1, type =2. type的值是固定的1,2,3。 据说,索引的值不同反而更好。 数据库索引这一块一直没有认真细看过) 33.jquery事件委派。jquery提供了delegate方法。
// tab 选项卡$(".tab-package").delegate(".tab-menu li", "click", function() { var self = $(this); var parent = self.parents(".tab-package:first"); var content = parent.find(".tab-content"); content.eq(self.index()).show().siblings().not('.tab-menu').hide(); self.parent().children().removeClass('on'); self.addClass('on');});
弊端就是,页面改版后,如果样式被改了,很多依赖JS的效果出不来,不容易发现问题原因。
34.HTML表格的colspan。想简单实现横跨所有列,网上找了个资料,感觉很坑啊,又说0表示横跨到列组的最后一列,又说没有浏览器支持。只好去动态计算应该横跨多少列。
定义和用法colspan 属性规定单元格可横跨的列数。浏览器支持所以浏览器都支持 colspan 属性。没有浏览器支持 colspan="0",这个值有特殊的意义。(参见属性值表格中的描述)
语法<td colspan="value">属性值值 描述number 设置单元格可横跨的列数。注释:colspan="0" 指示浏览器横跨到列组的最后一列。

template="<tr><td></td><td></td></tr>";横跨2列。
实践发现,把colspan设置大一点,比如20,就能横跨所有列了。
35.SpringMVC异常处理,不需要加多余的“后缀”了。<bean id="exceptionResolver" class="com.p2p.base.util.MyExceptionHandler"> <property name="exceptionPage" value="/error/500" /> </bean> 错误的写法: <property name="exceptionPage" value="/error/500.html" />
36.表格分页组件fupage,实现加载动画。加载数据的时候,显示动画效果。
在组件刚刚执行的时候,先设置表格内容为“展示加载图片的html代码”。等加载完之后,再重新设置表格的主体内容。
//动画效果function loadingAnimation(bodyHolder,loadingImageUrl,isTable) { console.log("fupage-loading..."); var loadingText = "加载中..."; var loadingImage = "<img src='" + loadingImageUrl + "' alt='玩名加载中...'/>"; var loadingDiv = "<div style='text-align:center;' >"; //表格才加“<tr>” if(isTable){ //偷懒,一般表格不会超过20列,设置为20,横跨所有列 loadingDiv +='<tr><td colspan=20>'; } if (loadingImageUrl) { loadingDiv += loadingImage; } else { loadingDiv += loadingDiv; } if(isTable){ loadingDiv +='</td></tr>'; } loadingDiv += "</div>"; $("#" + bodyHolder).html(loadingDiv);}
37.Truncate Table。在第21个问题,说到快速清空表数据的一种方法,drop table tablename,然后再重建表。有粉丝给出了另外一种方式:Truncate Table。
Truncate是一个能够快速清空资料表内所有资料的SQL语法。并且能针对具有自动递增值的字段,做计数重置归零重新计算的作用。
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用 DELETE。如果要删除表定义及其数据,请使用 DROP TABLE 语句。对于由 FOREIGN KEY 约束引用的表,不能使用 TRUNCATE TABLE,而应使用不带 WHERE 子句的 DELETE 语句。由于 TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器。TRUNCATE TABLE 不能用于参与了索引视图的表。
参考资料:http://baike.baidu.com/link?url=ZQerws0xw22RxNSqcVbbATypqv6S9uxuP8k-SInjNBxRsnc9OmRsqWSBslWY8GxRlPr_OzAnU93EkkufepWFAa
38.kinMaxShow轮播图异常,最终发现是WebUploader图片上传坑爹,图片被压缩了。 宽度由350变成了250,因此显示不正常了。
39.Java生成某个范围的随机数。方法一: int max=20; int min=10; Random random = new Random(); int s = random.nextInt(max)%(max-min+1) + min; 参考:http://www.cnblogs.com/xwdreamer/archive/2012/06/13/2547426.html
方法二: import org.apache.commons.lang3.RandomUtils; Integer n=RandomUtils.nextInt(100, 1000); System.out.println("3位数的随机数:"+n); 40.订单编号等唯一字符串,用17位的时间+3位的随机数。 /** * 20位的唯一数,前17位是系统当前时间,后3位是随机数。 */ public static String uniqueNo() { String dateStr = DateFormatUtil.format(new Date(), "yyyyMMddHHmmssSSS"); Integer threeRandomStr=RandomUtils.nextInt(100, 1000); return dateStr+threeRandomStr; } System.out.println("20位唯一时间戳:"+uniqueNo()); 20位唯一时间戳:20150319101506558462
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: