Layui是由职业前端倾情打造,面向所有层次的前后端程序猿,业界最容易使用的前端UI解决方案。
宇润从laydate到layer,再到用layui 1.x,觉得Layui作者@贤心 开发的这些组件和框架使用起来太方便了。用来开发后台管理系统简直逆天的方便,后端程序员不用再关心页面样式问题,毕竟很多小公司后端程序员还得负责前端,解决了一个大问题。
Layui是由职业前端倾情打造,面向所有层次的前后端程序猿,业界最容易使用的前端UI解决方案。
宇润从laydate到layer,再到用layui 1.x,觉得Layui作者@贤心 开发的这些组件和框架使用起来太方便了。用来开发后台管理系统简直逆天的方便,后端程序员不用再关心页面样式问题,毕竟很多小公司后端程序员还得负责前端,解决了一个大问题。
PHP封装集成的QQ、微信、微博和Github登录SDK,统一调用方式。后续视情况将支持更多第三方社交平台的登录授权SDK。测试代码可看test目录。
分布式PHP阻塞锁和非阻塞锁机制,内置解决并发锁重复执行的方案。目前支持文件、Redis、Memcache、Memcached。
主要用于并发请求时,操作同一个数据或对象时,不用锁会引发冲突。
更具体的用法就是可以解决微信的token被动刷新时并发请求的问题。
ApiAgent是由宇润使用PHP开发且开源的一个API接口代理,支持跨域接口代理和接口合并请求功能。
作为跨域接口代理时,除了将要请求的url放到参数内以外,其它header以及post数据完全不需要有任何改动。
github:https://github.com/Yurunsoft/ApiAgent
码云:http://git.oschina.net/yurunsoft/apiagent
程序员的职业生涯、生活、技术问题都欢迎加Q群讨论:74401592
在海外服务器上部署,作为海外平台(facebook、twitter等)接口调用的中转。
已有接口不支持跨域时,通过代理实现跨域。
访问页面需要多次接口请求,使用接口合并功能只需一次,减少用户等待时间,节省移动端流量。
"Green Hills 的 Dan O’Dowd 于 2004 年发表的名为 Linux in Defense 的系列文章通过一系列的分析试图向公众解释为什么 Linux 内核不适合一些场景特别是国家防御,在第一篇 ( FAA Safety-critical Certified Operating Systems Deliver The Reliability and Security Required by Defense Systems; Linux Does Not) 文章中谈到了大众认为 Linux 内核作为通用操作系统可以用到除了桌面和服务器外的场景比如国家防御系统,Dan 认为不应该考虑在 FCS(陆军未来战士系统),JTRS(联合战术) 以及 GIG 中使用 Linux,对关于高安全性系统方面提出了探讨:
有人的地方就有江湖。程序员,是一个知识、智商、都异于常规行业的群体。自傲,清高,闷骚,也属于这个群体鲜明标签。
程序员有时候很自我,这样就给自己一个盲目的优越感。特别在与其他程序员对比的时候,他总能找到在一两个地方优于你的地方,所以,程序员之间的鄙视网络,在程序员这个职位诞生之日起,就慢慢的形成了。
时至今日,这张鄙视网络已经相当的庞大。互联网的江湖中,有好事者开始归纳这张网,现在我们就来看看这张日益巨大的鄙视网。
本是同根生,相煎何太急!
JavaScript:Java 不是我爹!
游戏服务器,是一个会长期运行程序,并且它还要服务于多个不定时,不定点的网络请求。所以这类服务的特点是要特别关注稳定性和性能。这类程序如果需要多个协作来提高承载能力,则还要关注部署和扩容的便利性;同时,还需要考虑如何实现某种程度容灾需求。由于多进程协同工作,也带来了开发的复杂度,这也是需要关注的问题。
功能约束,是架构设计决定性因素。基于游戏业务的功能特征,对服务器端系统来说,有以下几个特殊的需求:
游戏和玩家的数据存储落地
对玩家交互数据进行广播和同步
重要逻辑要在服务器上运算,做好验证,防止外挂。
针对以上的需求特征,在服务器端,我们往往会关注对电脑内存和CPU的使用,以求在特定业务代码下,能尽量满足高承载低响应延迟的需求。最基本的做法就是“空间换时间”,用各种缓存的方式来以求得CPU和内存空间上的平衡。另外还有一个约束:带宽。网络带宽直接限制了服务器的处理能力,所以游戏服务器架构也必定要考虑这个因素。
(1)负向条件查询不能使用索引
select * from order where status!=0 and stauts!=1
not in/not exists都不是好习惯
可以优化为in查询:
select * from order where status in(2,3)
(2)前导模糊查询不能使用索引
select * from order where desc like '%XX'
而非前导模糊查询则可以:
select * from order where desc like 'XX%'