关于开发的一点思考总结

2014年12月10日 2 条评论

代码开发模式

  • 对于需求相对明确的,可提高每个环节的质量减少多次迭代成本
  • 对于需求不太明确性的,可采用快速迭代型开发,通过多次优化完成开发需求

代码开发流程

  • 需求确定、需求验证:可白板模拟点击进行验证
  • 技术方案设计:数据存储结构设计、实现方案设计、代码结构设计
  • 功能设计、编码开发
  • 功能测试、集成测试、回归测试
  • 功能验证、用户验证
  • 发布

阅读全文…

分类: 程序开发 标签: 1,292次阅读

【开发】视频直播开放平台对比总结

2016年7月15日 1 条评论

这几天在研究视频直播解决方案,对比了几家,简单总结以下:

1、阿里云

各项云服务很全,直播和点播服务是其他服务的累加,主要是CDN和存储服务,价格为相关服务的累加,有价格计算器。有Java/PHP/.Net/Python SDKAPI

官网:https://www.aliyun.com/

2、腾讯云

阅读全文…

分类: 站点建设 标签: 178次阅读

【MySQL】事务与分库分表

2016年7月3日 1 条评论

事务

  • 满足4个条件(ACID): Atomicity(原子性)、Consistency(稳定性)、Isolation(隔离性)、Durability(可靠性)
  • 开始事务、保持点、提交、回滚

分库分表

  • 做MySQL集群,利用amoeba做透明访问
  • 有主从复制、垂直分区、水平分片几种方式

阅读全文…

分类: 程序开发, 站点建设 标签: 143次阅读

【MySQL】MyISAM与InnoDB的区别

2016年7月3日 没有评论

MyISAM与InnoDB主要区别如下:

  1. MySQL默认采用的是MyISAM。MyISAM不支持事务,而InnoDB支持。
  2. InnoDB不支持FULLTEXT类型的索引。
  3. InnoDB支持外键,MyISAM不支持。
  4. InnoDB的主键范围更大,最大是MyISAM的2倍。
  5. MyISAM支持GIS数据,InnoDB不支持.即MyISAM支持以下空间数据对象:Point,Line,Polygon,Surface等。
  6. InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含 where条件时,两种表的操作是一样的。
  7. 对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中,可以和其他字段一起建立联合索引。
  8. DELETE FROM table时,InnoDB不会重新建立表,而是一行一行的删除。
  9. LOAD TABLE FROM MASTER操作对InnoDB是不起作用的,解决方法是首先把InnoDB表改成MyISAM表,导入数据后再改成InnoDB表,但是对于使用的额外的InnoDB特性(例如外键)的表不适用。
  10. InnoDB表的行锁也不是绝对的,如果在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表,例如update table set num=1 where name like “%aaa%”

阅读全文…

分类: 程序开发, 站点建设 标签: 94次阅读

【MySQL】数据库设计与索引使用

2016年7月3日 没有评论

考虑到性能优化,设计数据库时建议采用以下原则:

  1. 越小的数据类型越好,因为存储和处理都会更快
  2. 简单的数据类型更好:整型数据比起字符,处理开销更小;日期、时间类型优于字符串,用数值类型存储IP等
  3. 尽量避免NULL:应该指定列为NOT NULL,除非你想存储NULL。应该用0、一个特殊的值或者一个空串代替空值。NULL值会影响索引使用

阅读全文…

分类: 程序开发, 站点建设 标签: 88次阅读

【总结】关于开发的思考

2016年6月22日 没有评论

一年半前曾经做过一次《关于开发的一点思考总结》,现在在那篇的基础上来点方法论的总结。

工欲善其事必先利其器

  1. 持续优化开发工具和方法(包括编码IDE、运行环境、前后端调试工具)
  2. 将耗时重复的工作编写为手动脚本、自动脚本或辅助工具;如服务器监控脚本、防攻击脚本等

造模具胜于造轮子,拓展架构事半功倍

阅读全文…

分类: 生活感悟 标签: 242次阅读

【Javascript】有符号数、无符号数的移位操作

2016年6月14日 没有评论

ECMA-262规范 移位操作章节对于Javascript移位操作来说,默认的左移<<和右移>>操作都是有符号数移位操作,于是有了二级制表示第31位为1的整数左移后结果成了负数、二进制表示第32位为1的整数右移后结果成了负数的情况

alert(2147483647<<1); // -2 alert(4294967294>>1); // -1

Javascript提供了无符号数的右移操作>>>;但没有无符号的左移操作,如需要可以先左移,然后无符号右移0位即可。因而对于上面的列子改为无符号移位如下:

阅读全文…

分类: 程序开发 标签: 301次阅读

【Javascript】关于Hashmap

2016年6月11日 没有评论

Javascript在过去的版本中并没有原生支持hashmap,但可以用对象来模拟。只是键值只能是字符串,传入其他参数键值时会自动转换字符串。

基本用法

阅读全文…

分类: 程序开发 标签: 278次阅读

【网站】攻击自动检测和自动屏蔽脚本

2016年6月11日 没有评论

网站上线久了难免就会有人来攻击或扫描。除了防ssh密码猜测攻击外,今天还写了个防HTTP压力攻击脚本,分享给大家。

1、建立脚本文件/root/scripts/auto_detect_attack.sh

阅读全文…

分类: 站点建设 标签: 277次阅读

【优化】网页加载速度优化

2016年5月26日 没有评论

随着系统数据增长,用户量增加,系统复杂度提高,页面加载速度也会随之变慢。而在使用压力测试工具进行性能测试时,页面加载速度慢的问题就更为突出了。以下为优化方案:

一、服务器优化

0、增加带宽、CPU、内存、硬盘,可以使用top来查看高并发时的CPU和内存使用情况,使用df、du来查看硬盘使用情况;使用iftop等工具查看实时带宽,明确瓶颈针对性扩容;如只是个别接入网或个别地域的问题,可考虑更换服务器位置或增加网络接入

1、引入负载均衡服务器将请求进行分发多台服务器进行处理;一些通用js库像jQuery可以用外部CDN,比如BootCDN、Google API等

阅读全文…

分类: 程序开发, 站点建设 标签: 482次阅读

【WordPress】WPImageEditorImagick 指令注入漏洞的解决办法

2016年5月26日 没有评论

阿里云提示“wordpress WP_Image_Editor_Imagick 指令注入漏洞”,位置/data/www/web/wp-includes/media.php。最直接的解决方法是升级WP到最新的版本。

另一个快速解决办法:在/wp-includes/media.php的_wp_image_editor_choose函数内部找到:

阅读全文…

分类: 心情随笔 标签: 467次阅读

无觅相关文章插件,快速提升流量