2018-08 的文章

php Curl遇到的坑

curl是什么 curl 模拟浏览器请求,可以获取内容,支持浏览器类型,cookie和ip等。curl性能上也比file_get_contents高,所以一般获取api都用curl方式。 curl在使用过程发现的问题 首先,curl是网络访问,php不同项目通信时候使用curl来调用http,非常消耗性能。 例子1:前端有多个获取用户id的api,如果用户存在就直接返回用户id,不存在就用curl …


阅读全文 


web高并发的理解和发现(二)

CAP理论 作为web开发人员必须需要知道理解CAP理论。 CAP理论:一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项。 Consistency 一致性 一致性指“all nodes see the same data at the same time”,即所有节点在同一时间 …


阅读全文 


编程习惯

编程习惯 1.写功能前先准备好日志记录,查询的工作。这个非常重要,可以减少后期排查问题的时间,减少手足无措。 2.模块化要提前考虑,方便后期修改。一定要减少复杂度,不要所有的东西全部放在一个方法中。 3.写完功能测试最需要的是压力测试,这样能尽量减少上线之前功能在高并发下出现问题的几率,提高程序的健壮性。 这些事情肯定会牺牲编程的时间,不过经过这几年的编程过程中发现按照上面的做法做,后期排查问题能 …


阅读全文 


web高并发的理解和发现(一)

高并发的理解 发现问题 这几天登录服务器上线,发现注册新用户数据库有多条记录!! 跟踪分析问题 查询nginx的访问日志发现有相同的请求同时请求。 查看代码逻辑发现创建新用户时,先查询mysql是否有相同的用户udid。如果有,那么直接返回用户主键id。没有就插入一条数据。 逻辑非常简单,也没有用上缓存。 本地重现 ab创建注册接口。10个用户并发,100个人次。 ab发现数据库出 …


阅读全文 


C Primer Plus阅读学习(七)

数组和指针 关键字:static 运算符:&、*、(一元) 如何创建并初始化数组 指针(在已学过的基础上)、指针和数组的关系 编写处理数组的函数 二维数组 数组 数组由数据类型相同的一系列元素组成。需要使用数组时候,通过声明数组告诉编译器数组中内含多少元素和这些元素的类型。编译器根据这些信息正确的创建数组。 int main(void) { float candy[365]; /* …


阅读全文 


C Primer Plus阅读学习(六)

字符输入/输出和输入验证 更详细得介绍输入、输出以及缓冲输入和无缓冲输入的区别 如何通过键盘模拟文件结尾条件 如何使用重定向把程序和文件相连接 创建更友好的用户界面 函数 关键字:return 运算符:*(一元)、&(一元) 函数及其定义方式 如何使用参数和返回值 如何把指针变量用作函数参数 函数类型 ANSI C原型 递归 函数是完成特定任务的独立程序代码单元。语法规则 …


阅读全文 


C Primer Plus阅读学习(五)

C控制语句:循环 关键字:for、while、do while 运算符:<、>、>=、<=、!=、==、+=、*=、-=、/=、%= 函数:fabs() C语言3种循环:for、while、do while 使用关系运算符构建控制循环的表达式 其他运算符 循环常用的数组 编写有返回值的函数 一门语言应该提供3中形式的程序流 执行语句序列 如果满足某些条件就重复执行 …


阅读全文 


C Primer Plus阅读学习(四)

运算符、表达式和语句 关键字:while、typedef 运算符:=、-、*、/、%、++、–、(类型名) C语言的各种运算符,包括用于普通数学运算的运算符 运算符优先级以及语句、表达式的含义 while循环 复合语句、自动类型转换和强制类型转换 如何编写带有参数的函数 运算符优先级(从高至低) 运算符 结合律 () 从左往右 +-(一元) 从右往左 */ …


阅读全文 


C Primer Plus阅读学习(三)

字符串和格式化输入/输出 函数 strlen() 关键字 const 字符串 如何创建、存储字符串 如何使用strlen()函数获取字符串的长度 用C预处理器指令#define和ANSIC的const修饰符创建符号常量 #include <stdio.h> #include <string.h> //提供 strlen() 函数 的 原型 #define …


阅读全文 


C Primer Plus阅读学习(二)

数据与C 接上一篇 整数 整数是没有小数部分的数。计算机以二进制数字存储整数。 比如整数7以二进制写诗111,要在8位字节中存储数字,需要把前五位都设置成0,后3位设置成1.00000111字长8位-----2²2¹2º------421整数7 浮点数 在一个值后面加上一个小数点,该值就成为一个浮点值。所以,7是整数,7.00是浮点数。 + 整数没有小数部分,浮点数有小数部分。 + 浮点数可 …


阅读全文