![](https://img-blog.csdnimg.cn/20210317154437949.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
编程语言
文章平均质量分 81
编程语言介绍
架构精进之路
「架构精进之路」公号作者
坚持原创总结、沉淀和分享,希望能带给大家一些引导和启发,坚信做难事者,必有所得!
展开
-
PHP 中数组是如何灵活支持多数据类型的?
hello,大家好,我是张张,「架构精进之路」公号作者。在PHP中,数组数据结构的应用处理是使用频率非常高的,相对于Java、C++ 这种强类型语言来说,PHP的数组简直可以说是太好用了,可以存储各种类型的数据(如:数字、字符串甚至对象等),为开发带来了极大的便利。基于 PHP 数组的强大特性,我们可以轻易实现更加复杂的数据结构,比如栈、队列、列表、集合、字典等。你是否迫不及待的想要一探究竟:PH...原创 2023-03-24 08:30:50 · 186 阅读 · 0 评论 -
MD5 到底算不算一种加密算法?
hello,大家好,我是张张,「架构精进之路」公号作者。一旦提到加密算法,经常有人会有这样的疑问:MD5 到底算不算一种加密算法呢?在回答这个问题之前,我们需要先弄清楚两点:什么是加密算法?什么是 MD5?1什么是加密算法?数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码为“密文”,使其只能在输入相应的密钥之后才能显示出原容,通过这样的途径来达到保护数据不...原创 2022-11-08 08:33:15 · 141 阅读 · 0 评论 -
jquery之div添加取消及内容替换demo
最近项目中会经常应用到jQuery,配合具体案例,简单介绍一下jQuery之div内容添加、取消及相关内容替换等应用技巧。 案例:添加院校信息,并同时添加分校信息(存在分校时,可以添加,并且可以添加多个,填写错误可以取消,并可以对添加分校名自动编号1,2,3...) 首先将jquery.js文件引入,.//院校信息添加 培训机构名:原创 2010-03-03 17:08:00 · 2229 阅读 · 0 评论 -
关于防御性编程,你应该知道的事
提起编程,对于程序员同学而言并不陌生,关于防御性编程相信大家也有所耳闻,但是它具体包括哪些内容呢?又有哪些行之有效的处理方案呢?我们...原创 2022-03-10 08:28:00 · 848 阅读 · 0 评论 -
关于如何优雅的做好代码注释
在一次研发沟通会上,大家关于是否需要代码注释做了一番争执(讨论)。主要内容简述如下:A:我提议项目应该有个注释,我们有些程序员几乎从不注释代码,谁都知道没注释的代码是没法阅读的。B:我觉得注释没必要,注释被当做万灵药,可是任何实际编码过的人都知道,注释反而会使代码更难读懂。注释很容易产生大量的废话,而编码语言相对简明扼要得多。C:是这么回事。假如代码不清晰,又怎能注释的清楚呢?再说,代码一变,注释就过时。要是误读了过时的注释,可能又会踩坑了。C 接着说:另外,注释过多的代码更难读懂原创 2021-06-10 20:26:58 · 824 阅读 · 14 评论 -
2020年度编程语言排行榜 C语言称霸,Java遭遇滑铁卢?
正文共:1077字7图预计阅读时间:3分钟近日,TIOBE网站发布了2020年的编程语言排行榜,排名前5位依次是C语言、Java、Python、C++和C#。2020年的编程语言...转载 2021-01-12 08:00:00 · 312 阅读 · 0 评论 -
不可忽视的PHP数据精度损失问题
我是架构精进之路,点击上方“关注”,坚持每天为你分享技术干货,私信我回复“01”,送你一份程序员成长进阶大礼包。不知大家在开发过程中有没有常常会遇到数据精度问题呢,类似下面这样的:&l...原创 2021-01-28 08:15:00 · 1962 阅读 · 6 评论 -
为啥PHP in_array(0,[‘a‘, ‘b‘, ‘c‘]) 返回为true?
0、 问题背景在具体PHP编码过程中,总会出现一些我们认为不可能的情况,如下几例:in_array(0, ['a', 'b', 'c'])...原创 2020-04-07 16:59:07 · 266 阅读 · 0 评论 -
apt-get install php5-mcrypt 扩展查不到问题解决
类似问题的。 后来解决如下: 查看“Scan this dir for additional .ini files”项内容,确定查找扩展的目录,发现没有该扩展的配置文件链接,手动链接一下,重启服务后即可。cd /etc/php5/fpm/conf.dsudo ln -s ../../mods-available/mcrypt.ini 20-mcrypt.ini原创 2015-06-25 19:12:15 · 176 阅读 · 0 评论 -
【转】php_screw 1.5:php加密: 安装与使用
php文件通常以文本格式存贮在服务器端, 很容易被别人读到源代码, 为了对源代码进行保护, 可以采用对源代码进行加密的方式.要实现该功能需要两部分: 一是加密程序,实现对PHP文件的加密. 另一个就是对加密过的PHP文件进行解析, 以得到运行结果. 前者的实现比较简单, 就是一程序而已. 后者的实现大部分都是通过php module的形式来实现的. php_screw(螺丝钉)可以实现以上的功能.最新版本是1.5,可以在sourceforge上下载. 安装: 安装的原创 2015-01-05 18:32:21 · 133 阅读 · 0 评论 -
Ubuntu 1404安装Nginx+php5-fpm 502问题解决
装:sudo apt-get install mysql-serversudo apt-get install nginxsudo apt-get install php5-fpmsudo apt-get install php5-cli php5-gd php5-mysql 接着修改nginx配置:vim /etc/nginx/sites-available/defaultserver { listen 80 default_server;2014-08-17 17:14:03 · 68 阅读 · 0 评论 -
python脚本在crontab中执行的几个坑
了一个数据同步python任务脚本,手动执行正常,但配到crontab中无法运行,折腾半天终于搞好了, 一、绝对路径问题 crontab中python命令使用绝对路径,如:*/5 * * * * /usr/local/bin/python2.7 /home/work/user/main.py > /yyy.log 2>&1 程序中涉及文件路径,相对路径改为绝对路径,如:file = 'conf'改为:file2017-08-03 10:54:38 · 93 阅读 · 0 评论 -
【转】HHVM是如何提升PHP性能的?
下,并整理出这篇文章,希望能回答清楚两方面的问题:HHVM 到底靠谱么?是否可以用到产品中?它为什么比官方的 PHP 快很多?到底是如何优化的?你会怎么做?在讨论 HHVM 实现原理前,我们先设身处地想想:假设你有个 PHP 写的网站遇到了性能问题,经分析后发现很大一部分资源就耗在 PHP 上,这时你会怎么优化 PHP 性能?比如可以有以下几种方式:方案1,迁移到性能更好的语言上,如 Java、C++、Go。方案2,通过 RPC 将功能分离出来用其它语言实现,让 PHP 做原创 2016-09-06 09:48:45 · 143 阅读 · 0 评论 -
【转】PHP基本知识点
,继续处理 2**:操作成功收到,分析、接受 3**:完成此请求必须进一步处理 4**:请求包含一个错误语法或不能完成 5**:服务器执行一个完全有效请求失败 500——服务器产生内部错误 501——服务器不支持请求的函数 502——服务器暂时不可用,有时是为了防止发生系统过载 503——服务器过载或暂停维修 400——错误请求,如语法错误 401——请求授权失败 403——请求不允许 2原创 2012-12-25 17:46:25 · 107 阅读 · 0 评论 -
配置editplus直接运行php程序
) Initial Directory : $(FileDir) 2、中文版:工具 -> 配置用户工具 -> 工具 -> 用户工具菜单文本 : PHP命令:D:\\php\\php.exe 注:自己安装PHP目录的PHP执行文件参数:$(FileName)起始目录:$(FileDir) 附:可以选择捕捉输出,这样运行结果显示在你的右下方。方便调试! 应用:这样一来,解析json就方便多了,例如:&原创 2012-10-10 15:23:54 · 183 阅读 · 0 评论 -
PHP Socket编程小试
做了个小例子,本地可以运行成功。服务端:<?php/** * server端 * @author flyer0126 * @since 2012/08/21 */set_time_limit(0);// 加载扩展库if (!extension_loaded('sockets')){ if (strtoupper(substr(PHP_OS, 3)) == 'WIN'){ dl('php_sockets . dll'); } else原创 2012-08-21 19:06:35 · 107 阅读 · 0 评论 -
PHP定时任务
自动退出内存, 没有常驻内存, 就没有办法准确的定时处理。 如果需要用PHP定时执行某些任务的话, 可以有如下方法: 1、Linux下crontab, windows下计划任务 2、set_time_limit(0); ignore_user_abort(true); 死循环 第一种:crontab定期执行的php文件,一般需要有个表来记录每个任务的名称、当前进程ID、更新时间及进程开始ID 等信息。批处理过程原创 2012-08-16 16:56:45 · 60 阅读 · 0 评论 -
PHP实现URL长连接生成短链接操作
网址,通过程序计算等方式,转换为简短的网址字符串。 这样的话其好处为:1、内容需要;2、用户友好;3、便于管理。 早期短链接广泛应用于图片上传网站,通过缩短网址URL链接字数,达到减少代码字符串的目的。更便于使用者引用网址,写入代码中,“节省”字符数空间。常见于网店图片分类的使用,因有字符限制,运用短链接,达到外链图片的目的。自微博盛行以来,在微博字数有限的特色下,短链接也盛行于微博网站,以节省字数,给博主发布更多文字的空间。 <?php/** *原创 2012-07-13 17:19:28 · 143 阅读 · 0 评论 -
PHP根据访问用户IP判断所属区域信息
* @author flyer0126 * @since 2012/07/09 *//** * 获取用户端ip * @return Ambigous <unknown, string> */function getIP(){ if (isset($_SERVER)) { if (isset($_SERVER[HTTP_X_FORWARDED_FOR])) { $realip = $_SERVER[HTTP_X_FORWARDE2012-07-09 16:47:53 · 63 阅读 · 0 评论 -
PHP之性能
同大家的感觉一样的差呢?本文就是围绕这么一个话题来进行探讨的。从源码、应用场景、基准性能、对比分析等几个方面深入分析PHP之性能问题,并通过真实的数据来说话。 2.从原理分析PHP性能从原理分析PHP的性能,主要从以下几个方面:内存管理、变量、函数、运行机制来进行分析。 2.1内存管理类似Nginx的内存管理方式,PHP在内部也是基于内存池,并且引入内存池的生命周期概念。在内存池方面,PHP对PHP脚本和扩展的所有内存相关操作都进行了托管。对大内存和小内存的管理采用了不同原创 2012-06-01 11:26:14 · 69 阅读 · 0 评论 -
PHP 简单处理 XML
lyer0126 * @since 2012/4/27 */header("Content-Type:text/xml");print '<?xml version="1.0"?>'."\n";print "<shows>\n";$shows = array( array(2012-04-27 17:30:33 · 100 阅读 · 0 评论 -
PHP操作Mysql存储过程
0 开始增加的新功能。存储过程的优点主要是执行效率和SQL 代码封装。特别是 SQL 代码封装功能,尤其是业务逻辑复杂的时候。现在有了 MySQL 存储过程,业务逻辑可以封装存储过程中,这样不仅容易维护,而且执行效率也高。 <?php /** * PHP操作Mysql存储过程示例 * * @author flyer0126 * @date 2011-12-23 * *///配置数据库连接信息$hostname = 'localhost';2011-12-23 15:31:32 · 69 阅读 · 0 评论 -
PHP趣味开发一
号for一次。 * * @author flyer0126 * @date 2011-12-09 * *///上半部分for ($i=0; $i<10; $i++){ for ($j=0; $j<9-$i; $j++){ echo "&nbsp;"; } for ($k=0; $k<(2*$i+1); $k++){ echo "`"; } ec2011-12-09 18:13:04 · 74 阅读 · 0 评论 -
PHP 闭合标签
可能会引起多余的输出、php错误、之后的输出无法显示、空白页。因此,所有的php文件应该省略这个php闭合标签,并插入一段注释来标明这是文件的底部并定位这个文件在这个应用的相对路径。这样有利于你确定这个文件已经结束而不是被删节的。INCORRECT: <?php echo "Here's my code!"; ?> CORRECT: <?php echo "Here's my co原创 2011-10-09 09:51:48 · 141 阅读 · 0 评论 -
PHP SOAP DEMO
Demo文件结构如下: 其中WSDL文件夹下实现的是WSDL模式的案例,non-WSDL文件夹下实现的是non-WSDL模式的案例。TestSoap.wsdl是通过Zend Studio8工具生成的。 对应Demo已上传至附件,欢迎大家拍砖!2011-08-12 17:08:31 · 78 阅读 · 0 评论 -
php、Js 小数整理
.round(7/2)4.向下取整php: floor(7/2)js: Math.floor(7/2)原创 2011-02-28 14:19:44 · 49 阅读 · 0 评论 -
PHP 日期比较 获取天数
; $time1=mktime(0,0,0,$matches1[0][1],$matches1[0][2],$matches1[0][0]); $time2=mktime(0,0,0,$matches2[0][1],$matches2[0][2],$matches2[0][0]); $day1 = (int)($time1 - $time2)/(24*3600); echo '相差天数:'.$day1; // '-' 分隔格式 $date1 = '2011-1-18'; $2011-01-18 10:51:59 · 52 阅读 · 0 评论 -
php常见面试题目(基础篇)
,无论怎样,能存在就表明其有存在的价值,在此做小编,以待今后细细研究。 一.基础篇 1.表单中 get与post提交方法的区别?答:get用户端将数据加到URL后,格式为”?字段1=输入数据1&字段2=输入数据2&...\"。由于get提交参数后会在地址栏中显示出来,所以会产生严重的安全问题。get传输的数据量小,get传输的数据量小,这主要是因为受url长度限制;而post可以传输大量的数据。get限制表单中数据集的范围为asc2码原创 2010-07-08 16:09:24 · 104 阅读 · 0 评论 -
内存泄露的原因找到了,罪魁祸首居然是Java TheadLocal
ThreadLocal使用不规范,师傅两行泪组内来了一个实习生,看这小伙子春光满面、精神抖擞、头发微少,我心头一喜:绝对是个潜力股。于是我找经理申请亲自来带他,为了帮助小伙子快速成长,我...转载 2020-10-29 12:25:00 · 171 阅读 · 0 评论 -
Linux安装php-vld扩展
程。一、准备工作 Linux 开发机一台; Nginx、PHP已安装。二、安装php vld扩展2.1、下载文件下载:http://pecl.php.net/package/vld或者wget方式:wgethttp://pecl.php.net/package/get/vld-0.14.0.tgz2.2、解压文件tar zxvf vld-0.14.0.tgz如果这一步骤出错,需安装gcc(yum -y install gcc),然后再试。cd vld-原创 2021-06-11 16:49:10 · 391 阅读 · 0 评论 -
为啥in_array(0, ['a', 'b', 'c']) 会返回true?
ch(0, ['a', 'b', 'c']) // 返回int(0),也就是第一个值的下标0 == 'abc' // 返回bool(true),也就相当于相等 这两个表达式都返回true。直观上看,0没有在数组['a', 'b', 'c']中,也不会等于abc这个字符串。那怎么会返回true呢? 1 类型转换原因就在于,在比较前,PHP做了类型转换。PHP官网上关于“String conversion to numbers”原创 2018-12-03 20:30:42 · 165 阅读 · 0 评论 -
关于Go 包管理
众所诟病的一个点,但是我们可以看到现在确实是在往好的方向进行发展。下面是官方的包管理工具的发展历史:在 1.5 版本之前,所有的依赖包都是存放在 GOPATH 下,没有版本控制。这个类似 Google 使用单一仓库来管理代码的方式。这种方式的最大的弊端就是无法实现包的多版本控制,比如项目 A 和项目 B 依赖于不同版本的 package,如果 package 没有做到完全的向前兼容,往往会导致一些问题。1.5 版本推出了 vendor 机制。所谓 vendor 机制,就是每个项目的原创 2020-01-17 16:55:38 · 119 阅读 · 0 评论 -
PHP文件上传错误值
eak; case 2: $msg = "The file is bigger than this form allows"; break; case 3: $msg = "Only part of the file was uploaded"; break; case 4: $msg = "No file was uploaded&quo原创 2014-07-21 18:00:37 · 74 阅读 · 0 评论 -
PHP判断内网/外网IP
_RANGE) 函数还可以验证url、email等等。原创 2017-11-08 21:33:48 · 214 阅读 · 0 评论 -
PHP 利用json_decode解析json为null问题解决
on为null问题如何解决,在此汇总一下。 1. json字符串中反斜杠被转 {"key":"value\/M00\/00\/0D\/rBAK31"} 反斜杠被转义,需要用htmlspecialchars_decode()函数处理一下$content ,然后再json_decode()即可。$content = htmlspecialchars_decode($content); 或者,在保存 json 数据时使用 url原创 2017-07-04 20:21:11 · 158 阅读 · 0 评论 -
PHP之APC缓存
统缓存和用户数据缓存。系统缓存它是指APC把PHP文件源码的编译结果缓存起来,然后在每次调用时先对比时间标记。如果未过期,则使用缓存的中间代码运行。默认缓存3600s(一小时)。但是这样仍会浪费大量CPU时间。因此可以在php.ini中设置system缓存为永不过期(apc.ttl=0)。不过如果这样设置,改运php代码后需要重启WEB服务器。目前使用较多的是指此类缓存。用户数据缓存缓存由用户在编写PHP代码时用apc_store和apc_fetch函数操作读取、写入的。如果数据量不大的话,原创 2016-01-25 15:29:27 · 125 阅读 · 0 评论 -
PHP浮点数精度损失问题
浮点数, 以64位的双精度, 采用1位符号位(E), 11指数位(Q), 52位尾数(M)表示(一共64位) 符号位:最高位表示数据的正负,0表示正数,1表示负数。 指数位:表示数据以2为底的幂,指数采用偏移码表示 尾数:表示数据小数点后的有效数字. 再来看看小数用二进制怎么表示: 乘2取整,顺序排列,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分,但是像0.57这样的小数像这样原创 2016-10-28 19:42:36 · 94 阅读 · 0 评论 -
php in_array的低性能
于in_array()一直诟病很多,至于性能有多差,先简单测试一下,看看数据。测试程序如下:<?php/** * 获取当前时间戳(毫秒级) * @return float */function microtime_float(){ list($usec, $sec) = explode(' ', microtime()); return ((float)$usec + (float)$sec);}/** * 数组初始化 */2016-01-12 15:39:54 · 84 阅读 · 0 评论 -
php 获取文件mime类型的方法
g $filename )Returns the MIME content type for a file as determined by using information from the magic.mime file. <?php$mime_type = mime_content_type('1.jpg');echo $mime_type; // image/jpeg?> 但此方法在 php5.3 以上就被废弃了,官方建议使用 fileinfo原创 2016-01-06 16:29:59 · 62 阅读 · 0 评论 -
PHP垃圾回收机制
类型和值,还包括两个字节的额外信息。第一个是"is_ref",是个bool值,用来标识这个变量是否是属于引用集合(reference set)。通过这个字节,php引擎才能把普通变量和引用变量区分开来,通过使用&来使用自定义引用,zval变量容器中还有一个内部引用计数机制,来优化内存使用。第二个额外字节是"refcount",用以表示指向这个zval变量容器的变量(也称符号即symbol)个数。所有的符号存在一个符号表中,其中每个符号都有作用域(s原创 2017-05-15 11:55:14 · 163 阅读 · 0 评论