思路/设计模式/架构
文章平均质量分 72
杨西瓜
我是西瓜,东南西北的【西】顶呱呱的【瓜】
展开
-
Restful api架构的主要设计要素
1、Restful是什么?本质:是一种软件架构风格核心:面向资源设置api2、为什么要使用Restful?解决问题:降低开发的复杂性;提高系统的可伸缩性3、Restful与其他架构有什么区别?soap webserver 是一种跨编程语言,跨操作平台的远程调用技术。通过http协议发送请求和接收结果时采用xml格式封装,并增加了一些特定的http消息头,这些特定的http消息头和xml内容格式就是...原创 2018-02-27 10:32:19 · 2706 阅读 · 0 评论 -
二维码扫码登录详解【附简易实例代码(html+php+ios)】
1.前言 我们在写一个不太了解的新功能的时候,又稳又快的一个方法就是借(chao)鉴(xi)其他的人的实现方法。所以我们先不急着开始写代码,先看一下各互联网巨头都是如何实现的。首先来看一下淘宝的扫码登录:F12调出控制台,可以看出淘宝一直在发送请求查看这个二维码的状态可以看出京东也是这么做的,看到这里大家都有点思路了把2.准备 接着我们还是不着急写代码,先把思路理清楚。这里我们采用前后...转载 2018-03-05 16:41:44 · 4511 阅读 · 0 评论 -
*【思路】php使用curl爬数据的思路
首先我们要知道页面数据内容有两种方式(待爬数据只有2种):一,直接渲染出来的(基于mvc模板赋值到模板页面的)二,通过接口获取然后JS渲染出来(接口返回的)然后你要找数据的话:就看直接访问的地址能不能拿到有你想要的那些内容的文本(基于mvc模板赋值到模板页面的)如果没有,就看看是通过哪些接口获取到的关于更进一步的链接,也是如此:如果是直接渲染的可以通过xpa...原创 2018-03-05 21:36:48 · 641 阅读 · 0 评论 -
get和post的区别
GET和POST长度的限制问题GET1.GET是通过URL提交数据,因此GET可提交的数据量就跟URL所能达到的最大长度有直接关系。 2.实际上HTTP协议对URL长度是没有限制的;限制URL长度大多数是浏览器或者服务器的配置参数POST1.同样的,HTTP协议没有对POST进行任何限制,一般是受服务器配置限制或者内存大小。2.PHP下可以修改php.conf的postmaxsize来设置POST...转载 2018-03-30 08:59:51 · 180 阅读 · 0 评论 -
干货:分布式系统学习笔记
2.1数据分片策略2.1.1 基于数据范围来分比如库1,存放id 1到1000w的数据,库2存放id 1000w到2000w的数据优点 :单库数据规模提前预估。超规模后,加机器,不需要迁移数据。且相邻数据大都存放在一个库上,查询时,可以减少跨库聚合。缺点容易出现热点数据,比如项目初期,只有库1被高频率访问待解决问题 :业务变更导致部分数据被删除后,如何做到数据容量的在平衡。一般也不用考虑这个问题。...转载 2018-03-30 23:45:17 · 177 阅读 · 0 评论 -
面向对象编程的六大原则
要让自己写的代码有质量,特别是对于面向对象编程的话,代码以及框架的是否合理直接决定了你的程序是否可以良好的扩展和壮大,这在软件工程中也多少学过一点,简单来说就是要做到低耦合高内聚,经过编程人员多年的总结,良好的框架设计或者说编码风格应当做到以下六个原则,当然这六个原则要在实际应用中去体会才能更好的理解。 1.单一职责原则 这是优化代码的第一步,当我们设计程序时,某一功能块...转载 2018-03-25 23:42:05 · 366 阅读 · 0 评论 -
数据库的3大范式和5大约束
今天小编来讲一下数据库的相关知识点,数据库的三大特性可谓是:实体属性和关系。 实体:表; 属性:表中的数据(字段); 关系:表与表之间的关系; 数据库设计三大范式(重点): 第一范式(1NF):数据表中的每一列(每个字段)必须是不可拆分的最小单元,也就是确保每一列的原子性;例如:userInfo:山东省烟台市 131777368781 userAds:山东0省...原创 2018-03-26 00:24:30 · 23412 阅读 · 3 评论 -
php的4种基础排序算法
需求:分别用 冒泡排序法,快速排序法,选择排序法,插入排序法将下面数组中 的值按照从小到大的顺序进行排序。 $arr(1,43,54,62,21,66,32,78,36,76,39);1. 冒泡排序法 * 思路分析:法如其名,就是像冒泡一样,每次从数组当中 冒一个最大的数出来。 * 比如:2,4,1 // 第一次 冒出的泡是4 * 2,1,...原创 2018-04-04 02:20:04 · 234 阅读 · 0 评论 -
扫码登录操作过程
浏览器输入:https://wx.qq.com/?lang=zh_CN手机登录微信,利用“扫一扫”功能扫描网页上的二维码手机扫描成功后,提示“登录网页版微信”;网页上显示“成功扫描 请在手机点击确认以登录”手机端点击“登录网页版微信”,网页跳转到用户的微信操作界面整个扫码登录的操作过程还是挺简单的,而且交互地实时性比较好,如果网络不是非常阻塞,整个过程还是非常快的。扫码登录原理扫码登录大概的思路是...转载 2018-03-05 16:33:15 · 2465 阅读 · 0 评论 -
php秒杀功能实现的思路
一、秒杀业务为什么难做1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息);2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据;3)秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读一个数据。例如:小米手机每周二的秒杀,可能手机只有1万部,但瞬时进入的流量可能是几百几千万。又例如:12306抢票,票是有限的,库存一...原创 2018-03-04 01:06:32 · 8866 阅读 · 4 评论 -
*Php消息队列实现
队列的概念:1、是队列结构的中间件2、消息放入后不需要立即处理3、由订阅者/消费者按顺序处理队列原理:也是解耦的原理:业务系统和队列处理系统没有关系一个写(业务系统),一个读(队列管理系统)。写的只管往队列里写,别的不用操心,读的能不能读完和写的也没有关系同样,读的只管从队列里往外读,来活儿就干,没活儿歇着应用场景:冗余:持久化的存储在队列中,后续由订单...原创 2018-02-27 11:46:04 · 17858 阅读 · 2 评论 -
给朋友写的php学习路径,有需要的可以看下
痛点:朋友想学php,让我推荐教程,然后我给他写了个学习路径和找的资料,我个人觉得这个顺序才是有浅到难切记:1个1个学,不要跳级,越靠前的越简单。1、前端Html :https://www.imooc.com/learn/9Css :https://www.imooc.com/learn/9Javascript : 入门:https://www.imooc.com/learn/36 进阶:htt...原创 2018-02-27 12:41:26 · 311 阅读 · 0 评论 -
*php为什么是边编译边运行
首先要看什么语言是先编译后运行的?答:编译语言那php是什么语言呢?答:脚本语言脚本语言和编译语言的差别是什么呢?脚本语言:是为了快速开发,方便部署特意做成了不编译的形式,而是一条一条语句去执行编译语言:每次改变代码,在执行的会后都要重新进行编译,这样的话开发效率比脚本语言低很多如何理解编译型语言和非编译器语言,这里拿C和PHP举例非编译型语言的开发速度...原创 2017-07-06 10:15:25 · 903 阅读 · 0 评论 -
浅谈 PHP 与手机 APP 开发(API 接口开发)
我觉得他这文章写的挺通俗易懂的,对新手理解接口有帮助。我理解的接口是(如果用框架做,其实就是不用调模板,不用将数据传给前台页面。而是之间用json返回。至于其他的代码1、是验证想周全 2、其实也是CURD)这个帖子写给不太了解PHP与API开发的人一、先简单回答两个问题:1、PHP 可以开发客户端?答:不可以,因为PHP是脚本语言,是负责完成 B/S架构 或 C/S架构 的S部分,即:服务端的开发...转载 2017-11-21 17:50:48 · 401 阅读 · 0 评论 -
OAuth原理,图文并茂,通俗易懂
步骤2请求OAuth登录页(慕课的服务器请求腾讯服务器)步骤3使用第三方账号登录并授权步骤4返回登录结果拿到了加密后的code参数,有了code基本上可以确定(用户输入的QQ号和密码)是匹配的,也就是说登录是成功的。但还不够出于安全性的考虑单单凭借code还不能赋予第3方网站使用用户的QQ号去执行一些操作。有些别有用心的可能会劫持code,为了确保code被合法的服务器获取到,还需要慕课网的服务器...原创 2018-03-06 23:44:30 · 5172 阅读 · 1 评论 -
*php页面静态化
1、动态页面的解析流程语法分析-》编译-》运行-》展示结果2、如何优化动态页面的响应时间动态页面静态化;优化数据库;使用负载均衡;使用缓存3、动态页面静态化的好处减少服务器脚本的计算时间,节省服务器资源;降低服务器的响应时间,更快的响应,让用户体检更好;因为静态文件,直接展示结果4、动态的url如何设置成静态url的形式5、什么是伪静态伪静态:看着和静...原创 2018-02-27 15:59:02 · 242 阅读 · 0 评论 -
*新手看php手册的正确姿势
每次有新手来问问题,我发现其实很大一部分都是没有仔细阅读手册。对于新手来讲。我觉得“会看”手册是样很重要的技能。相信大家有和我做新手时有同样的感觉,手册看完和没看差不多...1、看不懂手册(不知道从哪开始看,应该先看哪)2、稍微看明白点了不会用(不知道方法怎么使用,写在哪里,报各种错不会解决)3、看完记不住(看完和没看差不多,除非死记硬背记住函数,下次在索引里搜索)可...原创 2017-06-18 23:41:29 · 3693 阅读 · 3 评论 -
*php开发web在线管理器思路分析(主要是对目录和文件进行管理)
需求:微信广告平台创建朋友圈广告和公众号广告等每次都要切换,老板让开发个文件管理器,提前输入好,定时勾选发送(当然没做成,因为首先要模拟登录微信广告平台,爬微信的数据,在将文件管理器的数据插入到微信数据库中)公共操作公共操作(1-5)如果是文件(显示6-10、16、17的操作)如果是目录(显示的是11-15操作)注意:创建、重命名(前俩是名名字)、修改(这个是内容)、都需要提供...原创 2018-03-03 15:14:59 · 379 阅读 · 0 评论 -
*站内信设计思路
需求:公司的电商平台要做个站内信。主要功能是给供货商、经销商、分销员这些身份的人发送消息。比如供货商修改了商品的价格、上架了商品等操作。需要通知到经销商。经销商可以在自己的站内信里搜寻到消息。一、网上站内信技术方案 站内信”不同于电子邮件,电子邮件通过专门的邮件服务器发送、保存。而“站内信”是系统内的消息,说白了,“站内信”的实现,就是通过数据库插入记录来实现的。 “...原创 2018-07-19 09:57:42 · 2945 阅读 · 0 评论