随笔分类 -  编程思想

非常牛逼的关于编程思想的弱鸡全栈之旅
摘要:角色介绍 sskaje:提起疑问者,疑似国人 narfbg:CI作者之一 估计是sskaje一针见血的表达导致了作者的第一次回复会带有不满情绪.. if redis::ttl(lock_key) > 0 then sleep 1s continue loop redis::set(lock_key, 阅读全文
posted @ 2018-09-12 14:10 JOSEFA 阅读(1058) 评论(2) 推荐(0)
摘要:小程序的接口刚写完时,一个接口的调用时间大概是700ms左右,100并发的100请求的压测结果是9s,用的都是项目的底层方法(有缓存),框架是ci.而上线城市服务的三星基准是500并发500ms以下,远远不达标,于是乎开始了漫长的优化.在此记录一下从10+s优化到300ms的过程. 用xhprof分 阅读全文
posted @ 2017-10-31 11:13 JOSEFA 阅读(5083) 评论(0) 推荐(0)
摘要:先说情况: 多客户端对redis的同一键的值进行操作. 我使用的语言:php 我使用的框架:这不重要 直接来看解决方案: 接下来是redis相关知识: 首先你得有一个redis相关的库,我把redis的实例赋给了$this->_redis. 然后你得知道redis是单进程单线程的,本身是不会出现并发 阅读全文
posted @ 2017-03-01 17:44 JOSEFA 阅读(225) 评论(0) 推荐(0)
摘要:最近看了几段刚进公司时写代码,基本是顺着自己的思路写下来,想到什么写什么,声明了一个用不到的变量,重复的代码写了几段. 连重构一下都很困难,因为业务逻辑太久远,抽离主干很耗时,重构了半天还是那么一大段. 在我的理解中,抽象就是把一个业务逻辑先理顺,这个逻辑总是一条可以走通的路,其中会有很多分支以及死 阅读全文
posted @ 2017-01-16 10:59 JOSEFA 阅读(133) 评论(0) 推荐(0)
摘要:如主题! 用ci实现起来就是这样: 原生代码就是 select p.*,a.img_small img_small,b.img_small pc_img_small from package p left join images a on a.id=p.img_id left join images 阅读全文
posted @ 2016-12-12 13:46 JOSEFA 阅读(411) 评论(0) 推荐(0)
摘要:程序写着写着就会发现很多重复的代码其实是可以复用的,而且如果一开始不注意这一点越到后面越发现可复用的方法越来越多. 对比一下我第一次开发项目优化前后的代码: 这里可能只能看出代码封装的问题,那么先总结封装,另外,虽然是短期内的同一个项目,但是短短几天的时间思想发生了很大的变化.所以将思想的变化以第N 阅读全文
posted @ 2016-12-03 15:21 JOSEFA 阅读(154) 评论(0) 推荐(0)
摘要:前提: 在一堆我不太理解的缘由下采取了静态刷新页面来做类商城的网站,SEO的课题还不懂,大概做一个猜想 猜想: 多钟筛选出来的可能性,在单页面(url不变的情况下),是不可能被多个索引检索到的.如果用异步加载的方式来筛选数据,就是这种情况,url不会变. 现在是根据筛选条件生成不同的url,每个筛选 阅读全文
posted @ 2016-11-30 12:18 JOSEFA 阅读(356) 评论(0) 推荐(0)
摘要:初步猜想: 在接触到框架文档的第一阶段时,会觉得控制器调用模型就是一件很简单的事,tp中用D方法或者M方法来实例化模型,laravel中用命名空间来加载模型,CI中用$this->load->model来加载模型,都很方便,对吗. 之前的文章中有提到过一个关于排期的逻辑思考,同样在最初的设计中想到要 阅读全文
posted @ 2016-11-17 11:25 JOSEFA 阅读(694) 评论(0) 推荐(0)
摘要:首先,在思维混乱的情况下写出来的代码毫无维护性可言,顺着逻辑直接一套三层循环嵌套下来..所以这是一个提高设计思想的机会. 重新省视一下逻辑 需求很简单明确: 查询机构的排期,并按照格式展现出来. 需要考虑的唯二障碍: 1.不同机构的接口不同 2.不同机构返回的数据格式不一样 好消息是: 数据库里已有 阅读全文
posted @ 2016-11-12 10:58 JOSEFA 阅读(172) 评论(0) 推荐(0)

shopify traffic stats View My Stats