- 博客(21)
- 收藏
- 关注
原创 服务器端 PHP 压缩文件,客户端JS解压缩
有这样一个业务情景,客户端页面有个请求,PHP服务端返回的json文本数据比较大,一般都是好几MB。为了节省服务器流量以及节约带宽,要在后端将json文本数据压缩后传输到前端,前端Javascript对其进行解压后处理。先后尝试了好几种方法,但是效果都不太好。现在主要分享以下两种能实现的方式。方式一:PHP后端用lz-string-php库压缩,该库有不同的版本可供选择。...
2018-07-29 23:47:37
1868
转载 PHP判断用户的设备是否是移动设备
<?php//判断用户的设备是否是移动设备function isMobile)(){ //如果有HTTP_X_WAP_PROFILE则一定是移动设备 if(isset($_SERVER['HTTP_X_WAP_PROFILE'])){ return true; } //如果via信息中含有wap则一定是移动设备(有些服务商会屏蔽该信息) if(isset($_SERVER['HT
2017-09-03 23:35:46
719
原创 php中 implode() 和explode()的区别
1、implode(sep,array)把一个数组拆分组合为一个字符串,函数返回由数组元素组合成的字符串。参数sep,可选参数,规定数组元素之间放置的内容,默认是""(空字符串)。array,必须,规定要拆分的数组。例如:<?php$arr = array('Hello','World!','I','like','php!');echo implode(" ",$arr);
2017-08-29 22:37:34
5346
转载 虚函数表解析
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过
2016-08-04 23:29:22
464
转载 signal(SIGCHLD, SIG_IGN)和signal(SIGPIPE, SIG_IGN)
signal(SIGCHLD, SIG_IGN)因为并发服务器常常fork很多子进程,子进程终结之后需要服务器进程去wait清理资源。如果将此信号的处理方式设为忽略,可让内核把僵尸子进程转交给init进程去处理,省去了大量僵尸进程占用系统资源。(Linux Only)对于某些进程,特别是服务器进程往往在请求到来时生成子进程处理请求。如果父进程不等待子进程结束,子进程将成为僵尸进
2016-08-04 10:30:01
1021
原创 C/C++指针详解
这几天,在复习C/C语言时,发现对指针这一块儿有些东西不是那么清晰了,想着通过整理一下加固记忆,也好与大家一同分享一下。有错误之处,还请指出,大家一同学习、进步。指针的概念指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分
2016-08-01 10:32:16
614
转载 shell中的特殊符号
在shell中常用的特殊符号罗列如下: # ; ;; . , / \\ 'string'| ! $ ${} $? $$ $* \"string\"* ** ? : ^ $# $@ `command`{} [] [[]] () (()) || && {xx,yy,zz,...}~ ~+ ~- & \\ + - %= == !
2016-07-29 09:00:09
2184
原创 Linux之find命令
Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的
2016-07-25 13:56:12
547
原创 touch 修改文件的时间戳
每当我们在介绍ls命令时,总会提到每个文件在Linux下面都会记录3个主要的修改时间:• modification time(mtime,修改时间):当该文件的“内容数据”更改时,就会更新这个时间。内容数据指的是文件的内容,而不是文件的属性。• status time(ctime,状态时间):当该文件的”状态(status)”改变时,就会更新这个时间,举例来说,更改了权限与属性,就会更
2016-07-25 00:09:24
1044
转载 软件工程师面试及简历指南
没有灵丹妙药能让你成功被应聘为软件工程师。但是,在此过程中却有一些非常有帮助的建议。我最近采访了 Matt Langan 和 Christian Macolino,Atlassian 公司两名最顶尖的高级技术招聘官。我想知道他们——来自于一家为共计 33 亿美元的软件公司招募高科技人才——的看法 。本文着眼于一应聘的周边问题,其中包括一些实用的技巧和应聘指南。简历
2016-07-17 15:10:25
978
原创 计算字符串最后一个单词的长度,单词以空格隔开
输入描述: 一行字符串输出描述: 整数N,最后一个单词的长度输入例子: hello world输出例子: 5实现代码如下:#include#includeusing namespace std;int main(){ string s; getline(cin, s); int n = 0
2016-07-07 17:33:23
879
原创 Linux lsof命令详解
1.lsof简介 lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提
2016-07-06 18:07:06
631
原创 关于http keep-alive与tcp keep-alive
1、什么是HTTP Keep-Alive模式 我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议);当使用Keep-Alive模式(又称持久连接、连接重用)时,Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Ke
2016-06-16 02:10:24
1609
转载 Linux系统下的/etc/nsswitch.conf文件
一、什么是nsswithch.conf(服务搜索顺序)文件呢? nsswitch.conf(name service switch configuration,名字服务切换配置)文件位于/etc目录下,由它规定通过哪些途径以及按照什么顺序以及通过这些途径来查找特定类型的信息,还可以指定某个方法奏效或失效时系统将采取什么动作。Nsswitch.conf中的每一行配置都指明了如何搜
2016-06-16 01:23:02
22001
原创 写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1234),则应该返回1+2+3+4,它的和是10
#includeint DigitSum(int val){ if(val < 10) return val; else return ((val % 10) + DigitSum(val / 10));}int main(){ printf("%d\n",DigitSum(1234)); return 0;}
2015-04-03 17:39:30
930
原创 用递归实现n^k
#include int fun(int n,int k) { if(k!=0) return n*fun(n,k-1); return 1; } int main(){ printf("%d\n",fun(5,2)); return 0;}
2015-04-03 17:32:17
534
原创 简易计算器(只有加减乘除和异或运算)
#include int add(int x, int y){ return x+y;}int sub(int x, int y){ return x-y;}int mul(int x, int y){ return x*y;}int div(int x, int y){ return x/y;}int yihuo(int x, int y){ return
2015-03-29 16:46:34
2477
原创 在一些字符串中找特定字符
#include int find_char( char **strings, char value) { while( *strings != NULL) { while( **strings != '\0') { if( value == *(*strings)++ )
2015-03-29 14:16:09
738
原创 写一个double my_atof(char *str)函数,将一个数字字符串转换成对应的浮点数
#include double my_atof(char *str){ int flag = 1; double sum = 0; int count = 0; if(*str == '-') { flag = -1; str++; } while(*str != '\0') { if(*str == '.')
2015-03-23 20:58:00
878
原创 用起泡法将十个整数从按小到大顺序输出
#includeint main(){ int a[10]; int i,j,t; printf("Input 10 numbers:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); printf("\n"); for(j=0;j<9;j++) { for(i=0;i<9-j;i++) { if(a[i]>a[i+1])
2015-03-21 21:52:24
1793
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人