• 博客(579)
  • 收藏
  • 关注

转载 Linux 可重入、异步信号安全和线程安全

下文是在看csapp的时候引发的一些思考,其实之前看anup的时候也有所了解,不过时间有点长了,所以有点忘记了,当再次在csapp看到这部分内容的时候有了更多的理解。可重入函数当一个被捕获的信号被一个进程处理时,进程执行的普通的指令序列会被一个信号处理器暂时地中断。它首先执行该信号处理程序中的指令。如果从信号处理程序返回(例如没有调用exit或longjmp),则继续执行在捕获到信号时进程正在执行的正常指令序列(这和当一个硬件中断发生时所发生的事情相似)。但是在信号处理器里,我们并不知道当信号被捕获时.

2020-11-30 10:54:20 1

转载 ES(Elasticsearch)集群内的原理

1.空集群如果我们启动了一个单独的节点,里面不包含任何的数据和索引,那我们的集群看起来就是一个 Figure 1, “包含空内容节点的集群”。一个运行中的 Elasticsearch 实例称为一个节点,而集群是由一个或者多个拥有相同 cluster.name 配置的节点组成, 它们共同承担数据和负载的压力。当有节点加入集群中或者从集群中移除节点时,集群将会重新平均分布所有的数据。当一个节点被选举成为 主 节点时, 它将负责管理集群范围内的所有变更,例如增加、删除索引,或者增加、删除节点等。而主节点.

2020-11-30 10:42:49 1

转载 Nginx 原理和架构

Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。一.Nginx 的整体架构Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处理网络请求与响应。master进程主要用来管理worker进程,具体包括如下4个主要功能:接收来自外界.

2020-11-30 10:22:32 2

转载 nginx发布vue 项目

在本次使用nginx发布vue项目遇到 配置location 始终404 和 在项目子目录点击浏览器刷新出现404问题使用nginx发布vue项目,为了方便测试就下载了一个nginx 放置自己目录下nginx目录是这样的一、配置端口然后打开conf / nginx.conf 配置 server,首选监听808 设置服务名 listen 808; server_name localhost;二、配置项目根目录 index index.html index.htm index.

2020-11-28 15:51:49 4

转载 PHP与RabbitMQ消息队列

RabbitMQ提供跨语言接口,我们可以使用主流编程语言Java,C,C++,Python,PHP等和RabbitMQ做对接。RabbitMQ有消息确认机制、灵活的路由控制、以及消息集群高可用,使得很多大型系统使用RabbitMQ做消息处理系统。消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到 MQ 中而不用管谁来取,消息使用者只管从 MQ 中取消息而不管是谁发布的。这样发布者和使用者都不用知道对方的存在。.

2020-11-28 15:39:31 7

转载 PHP 消息队列 详解

前言:之前做过的一些项目中有时候会接触到消息队列,但是对消息队列并没有一个很清楚的认知,本篇文章将会详细分析和归纳一些笔记,以供后续学习。一、消息对列概念从本质上说消息对列就是一个队列结构的中间件,也就是说消息放入这个中间件之后就可以直接返回,并不需要系统立即处理,而另外会有一个程序读取这些数据,并按顺序进行逐次处理。二、结构由一个业务系统进行入队,把消息逐次插入到消息队列中,插入成功之后直接返回成功的结果,后续会有一个消息处理系统,这个系统会把消息系统中的记录逐次进行取出并进行处理,完成一个出.

2020-11-28 15:24:30 6

转载 面试官问我:如何设计 QQ、微信等第三方账号登陆 ?还要我说出数据库表设计!

名称解释这里的多账户区别于系统级别的,我们讲的多账户系统是指,在我们互联网应用当中,我们的应用会使用多个第三方账号进行登录,比如现在常用的APP:网易、微信、QQ等等。内容通过这一篇文章:可以学到:多用户下面的技术方案细节,以及相应的表设计,流程设计。不可以学到:与其他文章一样,我这里不会有具体代码实现细节,方案做的对,代码咋写都不会太烂。架构演进创业初期归结为创业初期是因为这个时候用户量比较少,甚至还没有接入上面所说的其他第三方的账户系统,只是自建的体系就可以满足,自建体系的话,目前常.

2020-11-28 14:27:40 11

原创 六星教育:PHP程序员宝典,让你快速成为技术高手

文章开头六星教育想问一句话:PHP是做什么的?因为这是面试中会问到的一个问题,虽然它看起来很简单。回答做网站的,也就是个简单建站的水平。回答做网站后端开发的,对PHP有了一定的认识。回答做后端处理的,有了更深层次的认识。学习一样技能,你得先清楚这项技能是到底做什么的,说到这里,我想大家都会简单的说是做网站的,因为PHP在WEB领域应用最为广泛,大多数网站都是用PHP做的。准确的说PHP是做网站的后端开发的,其实我这样说还不算正确,PHP只是做后端开发的,但不只是网站而已。就像现在比较火的APP开发也

2020-11-28 11:23:45 10

原创 六星教育:Python最火?它未来最具有潜力发展方向helen老师来预测

六星教育了解到,近些年来,Python语言的热度越来越高,因为Python简单,学起来快,是不少新手程序员入门的首选语言。Python是一门脚本语言,因为Python编程语言能将其他各种编程语言写的模块粘接在一起,所以Python也被称作胶水语言。强壮的包容性、使用的广泛性使其受到越来越多的关注。Python语言在学术上非常受欢迎,很多不是计算机专业的人,都在学习Python。因为Python语言的语法非常简单易懂,这就让很多一些提及编程就恐慌的人减去了担心,很多不是程序员的小伙伴们,也可以写一些的小程

2020-11-28 10:06:08 13

转载 nginx之php-fpm优化

先来看一段日志(此日志来自于 var/log/php-fpm.log ):[13-Aug-2017 03:30:03] NOTICE: fpm is running, pid 28263[13-Aug-2017 03:30:03] NOTICE: ready to handle connections[13-Aug-2017 10:11:04] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or .

2020-11-27 15:29:32 3

转载 ES(ElasticSearch) 索引创建

环境:ES 6.2.2os:Centos 7kibana:6.2.2介绍索引是ElasticSearch存放数据的地方,可以理解为关系型数据库中的一个数据库。事实上,我们的数据被存储和索引在分片(shards)中,索引只是一个把一个或多个分片分组在一起的逻辑空间。然而,这只是一些内部细节——我们的程序完全不用关心分片。对于我们的程序而言,文档存储在索引(index)中。剩下的细节由Elasticsearch关心既可。(索引的名字必须是全部小写,不能以下划线开头,不能包含逗号)类型用于区分同一个.

2020-11-27 15:01:28 7

转载 如何采集Nginx的日志?

由于nginx功能强大,性能突出,越来越多的web应用采用nginx作为http和反向代理的web服务器。而nginx的访问日志不管是做用户行为分析还是安全分析都是非常重要的数据源之一。如何有效便捷的采集nginx的日志进行有效的分析成为大家关注的问题。本文通过几个实例来介绍如何通过filebeat、logstash、rsyslog采集nginx的访问日志和错误日志。大家都知道ELK技术栈是采集、分析日志的利器。所以这里介绍的是从nginx采集日志到ES。当然至于日志采集以后存到看大家的需要。通过lo.

2020-11-27 10:39:31 6

转载 一文读懂 Nginx

1.Nginx知识网结构图Nginx是一个高性能的HTTP和反向代理服务器,特点是占用内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好nginx专为性能优化而开发,性能是其最重要的要求,十分注重效率,有报告nginx能支持高达50000个并发连接数1.1反向代理正向代理正向代理:局域网中的电脑用户想要直接访问网络是不可行的,只能通过代理服务器来访问,这种代理服务就被称为正向代理。反向代理反向代理:客户端无法感知代理,因为客户端访问网络不需要配置,只要把请求.

2020-11-27 10:12:35 8

转载 Swoole 的底层架构及运行原理

Swoole 的底层架构首先我们来看下 Swoole 的底层架构:我们可以看到,Swoole 主要包含以下组件:Master:当我们运行启动 Swoole 的 PHP 脚本时,首先会创建该进程(它是整个应用的 root 进程),然后由该进程 fork 出 Reactor 线程和 Manager 进程。Reactor:Reactor 是包含在 Master 进程中的多线程程序,用来处理 TCP 连接和数据收发(异步非阻塞方式)。Reactor 主线程在 Accept 新的连接后,会将这个连接分配给.

2020-11-25 11:55:46 6

转载 thinkphp5+swoole实现异步邮件群发(SMTP方式)

1、环境说明阿里云centos7thinkphp5.0.11swoole2.0.82、tp实现邮件发送在项目下建立如下的文件目录:其中SendMail.php是我们实际调用的发送邮件的文件。以下是主要代码:namespace app\library\utils\mail;use app\library\utils\mail\PhpMailer;use app\library\utils\mail\Smtp;use think\Log;error_reporting(E_STRIC.

2020-11-25 11:44:16 14

转载 Nginx 战斗准备:优化指南

大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了!而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能很好地工作了。然而,如果你真的想挤压出nginx的性能,你必须更深入一些。在本指南中,我将解释Nginx的那些设置可以微调,以优化处理大量客户端时的性能。需要注意一点,这不是一个全面的微调指南。这是一个简单的预览——那些可以通过微调来提高性能设置的概述。你的情况可能不同。基本的 (优化过的)配置我们将修.

2020-11-25 11:27:29 5

转载 Nginx 性能优化有这篇就够了!

1、Nginx运行工作进程数量Nginx运行工作进程个数一般设置CPU的核心或者核心数x2。如果不了解cpu的核数,可以top命令之后按1看出来,也可以查看/proc/cpuinfo文件 grep ^processor /proc/cpuinfo | wc -l[root@lx~]# vi/usr/local/nginx1.10/conf/nginx.confworker_processes 4;[root@lx~]# /usr/local/nginx1.10/sbin/nginx-s reloa.

2020-11-25 11:12:08 14

原创 六星教育:哪些程序员需要学习GO语言?PHP工程师首当其冲

前段时间工作中遇到一个开发场景,PHP项目里需要使用一个第三方的功能,恰好是有一个用Golong写好的类库,如何实现不同语言之间的通信?一般来说,cat与Golang通信,使用的是单向管道。即:只能从cat向Golang传入数据,Golang输出的数据并没有传回给cat,而是直接输出到屏幕。当PHP与Golang通信时,必须引入双向管道,这样就可以形成php要传数据给Golang,同时Golang也必须把执行结果返回给php的局面。在越来越多的项目开发中,我们经常会用到多种语言,其中PHP与GOlong一

2020-11-25 10:48:39 16

转载 swoole中的php代码热更新

这里以ZPHP框架作为演示,实现swoole的代码热更新,在WorkerStart回调函数中,载入ZPHP框架:use ZPHPZPHP;$zphp = null;$mimes = null;$http = new swoole_http_server('0.0.0.0',9501);$http->on('request', function (swoole_http_request $request, swoole_http_response $response){//......}.

2020-11-23 11:04:01 16

转载 php + Laravel 实现部署自动化

所谓自动化部署, 我的理解就是在用户保证代码质量的前提下, 将代码能够快速的自动部署到目标服务器上的一种手段.实现原理本地推送代码 -> 代码库 -> webhook 通知服务端 -> 自动拉取代码库代码生成并且部署公钥具体步骤参照 配置SSH公钥生成公钥# 使用给定的 email 生成 public/private rsa 密钥# 如果使用非默认地址需要配置 .ssh/config$ ssh-keygen -t rsa -b 4096 -C "your_email.

2020-11-23 10:48:50 25

转载 面试官问我:为什么 https 比 http 更安全?我竟然回答不上来......

一、为什么要有HTTPS在HTTPS出现之前,所有请求都是以明文方式送出的,那么如果有人在传输途中偷听或者抓包的话,你的所有通信内容都会泄漏。比较安全的方法是将通信内容加密在发送给对方。加密方法有两种,对称加密和非对称加密。二、对称加密对称加密指的是加密和解密用同一个密钥。但是在通信之前,客户端和服务端是不会有这样同一把密钥的。需要其中一方将密钥发送给对方。在整个传输过程没有任何验证操作,所以黑客也可以截取到这把密钥从而破译出加密的内容。所以纯对称加密是不安全的。三、非对称加密非对称加密指的是加.

2020-11-23 10:19:00 22

转载 Nginx 的进程模型,并发处理真强!

Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。本文从底层原理分析 Nginx 为什么这么快!Nginx 服务器,正常运行过程中:多进程: 一个 Master 进程、多个 Worker 进程。Master 进程: 管理 Worker 进程。对外接口:接收外部的操作(信号);对内转发:根据外部的操作的不同,通过信号管理 Worker;监控: 监控 Worker 进程的运行状态,Worker 进程异常终止后,自动重启 Worker 进程。Worker 进程: 所有 Wor.

2020-11-23 10:05:30 13

转载 mysql数据统计技巧备忘录

mysql 作为常用数据库,操作贼六是必须的,对于数字操作相关的东西,那是相当方便,本节就来拎几个统计案例出来供参考!order订单表,样例如下:CREATE TABLE `t_order` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL, `order_nid` varchar(50) NOT NULL, `status` varchar(50) NOT NULL DEFAULT '.

2020-11-21 10:26:16 16

转载 nginx中的超时设置,请求超时、响应等待超时等

nginx比较强大,可以针对单个域名请求做出单个连接超时的配置.比如些动态解释和静态解释可以根据业务的需求配置proxy_connect_timeout :后端服务器连接的超时时间_发起握手等候响应超时时间proxy_read_timeout:连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理(也可以说是后端服务器处理请求的时间)proxy_send_timeout :后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据nginx使用proxy模块时,默认的.

2020-11-21 10:06:41 19

转载 52 条 SQL 语句性能优化策略,建议收藏!

本文会提到52条SQL语句性能优化策略。1、对查询进行优化,应尽量避免全表扫描,首先应考虑在where及order by涉及的列上建立索引。2、应尽量避免在where子句中对字段进行null值判断,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默认值。3、应尽量避免在where子句中使用!=或<>操作符,MySQL只有对以下操作符才使用索引:<,<=,=,>,>=,BETWEEN,IN,以及某些时候的LIKE。.

2020-11-21 09:50:04 21

转载 MySQL 磁盘满了,怎么办??

问题使用命令发现磁盘使用率为100%了,还剩几十兆。一系列神操作:备份数据库,删除实例、删除数据库表、重启mysql服务.结果磁盘空间均为释放怎么办网上查了很多资源,说要进行磁盘碎片化整理。原因是datafree占据的空间太多啦。具体可以通过这个sql查看。SELECT CONCAT(TRUNCATE(SUM(data_length)/1024/1024,2),'MB') AS data_size,CONCAT(TRUNCATE(SUM(max_data_length)/1024/1024,.

2020-11-21 09:30:41 29

原创 六星教育:备受争议的PHP, Golang的加入,又会掀起怎么波澜?

六星教育了解到,如果你经常关注PHP之类文章或新闻,就会发现PHP处于整个编程语言链底端,无论是嘲梗“PHP是最好的语言”,还是编程语言排名榜或市场占有率,PHP总处于让人嫌弃的状态。事实上,PHP果真如此不堪吗?你可因为这类言论而放弃过PHP的学习呢?现在,就让我们一起去了解真实的PHP,彻底打破这面带有“歧视”意味的镜子。首先,我们需要了解PHP真的下坡了吗?PHP市场占有率又是多少?从市场份额来看。我们在W3Techs提供的数据与报告中得知,在服务端编程语言的所有网站,PHP使用率为79%,长

2020-11-21 09:14:49 72

转载 记一次ES日志系统的接入

0 - 前言近期接了一个新项目,某部门的日志要从HDFS迁移到ES中,每天15T,保留15天,每天有150亿条数据写入,这对于我们现有集群吞吐量是一个很大的挑战。1 - 现状目前默认ES集群采用3 master、3 data的结构。数据节点服务器:CPU: 24 核、Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHzMEM:128GDisk: Intel 4510 * 4 单盘挂载默认集群可承载25w/s的请求,index速度可以达到120w/s,吞吐量最大.

2020-11-18 14:10:12 26

转载 PHP八大设计模式

设计模式单例模式解决的是如何在整个项目中创建唯一对象实例的问题,工厂模式解决的是如何不通过new建立实例对象的方法。单例模式$_instance必须声明为静态的私有变量构造函数和析构函数必须声明为私有,防止外部程序new 类从而失去单例模式的意义getInstance()方法必须设置为公有的,必须调用此方法 以返回实例的一个引用::操作符只能访问静态变量和静态函数new对象都会消耗内存使用场景:最常用的地方是数据库连接。使用单例模式生成一个对象后, 该对象可以被其它众多对象所使用。私有.

2020-11-18 13:45:52 26

转载 一文详解微服务架构

本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件。本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节。要理解微服务,首先要先理解不是微服务的那些。通常跟微服务相对的是单体应用,即将所有功能都打包成在一个独立单元的应用程序。从单体应用到微服务并不是一蹴而就的,这是一个逐渐演变的过程。本文将以一个网上超市应用为例来说明这一过程。最初的需求几年前,小明和小皮一起创业做网上超市。小明负责程序开发,小皮负责其他事宜。当时互联网还不发达,网上超市还是.

2020-11-18 10:36:41 50

转载 如何修改 docker 容器的端口映射

问题背景docker run -d -p 9999:8080 -i --name tomcat7 tomcat:7创建容器时,指定了端口映射(-p)如果容器运行之后发现端口需要改怎么办?当前是访问 9999 端口删除原有容器,重新创建新的容器删除容器docker rm -f 容器ID/名字重新创建容器docker run -d -p 8888:8080 -i --name tomcat7 tomcat:7重新指定需要映射的端口优点简单粗暴,在测试环境用的更多缺点如果是数.

2020-11-18 10:05:42 15 1

转载 Redis 持久化

1 前言Redis 相比较于 memcache,多了持久化的功能。而持久化分为 2 种,一种是 RDB(全量),一种是 AOF(增量)。RDB 是旧的模式,现在基本上都使用 AOF。当然,今天两个都会一起聊聊。2 RDBRDB 流程图:RDB 特点:RDB 是一种快照模式,即——保存的是 key value 数据内容。RDB 有 2 种持久方式,同步 save 模式和异步 bgsave 模式。由于 save 是同步的,所以可以保证数据一致性,而 bgsave 则不能。save 可以在客户.

2020-11-14 17:31:22 13

转载 缓存模式以及缓存的数据一致性

缓存由于其高性能,支持高并发的特性,在高并发的项目中不可或缺。被大家广泛使用的有Redis,Memcached等。本文主要探讨几种常见的缓存的读写模式,以及如何来保证缓存和数据库的数据一致性。Cache-AsideCache-Aside可能是项目中最常见的一种模式。它是一种控制逻辑都实现在应用程序中的模式。缓存不和数据库直接进行交互,而是由应用程序来同时和缓存以及数据库打交道。Cache-Aside的名字正体现了这个模式,Cache在应用的一旁(aside)。读数据时程序需要判断缓存中是否已经存在.

2020-11-14 17:18:31 11

原创 六星教育:距离2021年还有40多天,程序员就业关键性问题在哪?

双十一刚过,还有一个多月又到了一年年底。今年你收获了什么吗?工作、家庭有什么变化吗?学习上,又解决了多少障碍?今天六星教育就和大家聊聊PHP程序员吧!从“PHP是最好的语言”打趣系列慢慢演变成真香系列,未来,它又会带来什么变数?又会是什么语言将会取代他?这些,我们不得而知。据官方统计,我过PHP人才缺口每年高达50万人左右,现在一个有着10年经验的PHP程序员能拿到至少40万以上的薪酬,这还不包括一些公司所提供的隐形福利,可想而知,这样的高薪收入一定在吸引大量的人进入这个行业。可是即使这样,为什么现在P

2020-11-14 16:02:27 155 1

转载 Linux网络状态工具ss命令使用详解

attachments-2020-11-HlLEdaqT5fae3b0f85617.pngss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计. 它比其他工具展示等多tcp和state信息. 它是一个非常实用、快速、有效的跟踪IP连接和sockets的新工具.SS命令可以提供如下信息:所有的TCP sockets所有的UDP

2020-11-13 16:36:56 9

转载 某大佬整理的MySQL数据库设计规范,值得收藏!

概述MySQL数据库与 Oracle、 SQL Server 等数据库相比,有其内核上的优势与劣势。我们在使用MySQL数据库的时候需要遵循一定规范,扬长避短。无意中从github上看到一个大佬的MySQL数据库设计规范,顺便在这里分享一下。规范背景与目的MySQL数据库与 Oracle、 SQL Server 等数据库相比,有其内核上的优势与劣势。我们在使用MySQL数据库的时候需要遵循一定规范,扬长避短。本规范旨在帮助或指导RD、QA、OP等技术人员做出适合线上业务的数据库设计。在数据库变更.

2020-11-13 15:42:31 19

转载 PHP面向对象连接MySQL

PHP操作MySQL的三种方式MySQL:非永久链接,性能比较低,PHP5.5以后被废弃MySQLi:永久链接,减轻服务器压力,只支持MySQL数据库,并且会导致内存的浪费PDO:能实现MySQLi的常用功能,支持大部分数据库MySQL面向对象操作数据库1、面向对象方式链接数据库$mysqli = new mysqli('host','username','password','database');2、执行SQL语句$mysqli -> query($sql);3、获取结果集.

2020-11-13 14:29:41 13

转载 php与MySQL(基本操作)

PHP连接 MySQL在我们访问 MySQL 数据库前,我们需要先连接到数据库服务器,连接服务器,我们使用mysqli_connect()函数。在使用这个函数之前,我们首先来看一下这个函数的语法:mysqli_connect(host,username,password,dbname,port,socket);参数说明返回值如果连接成功则返回一个代表到MySQL 服务器的连接的对象。在这里,我是用的是wamp集成的mysql数据库,我们用以上方法来连接到我们的数据库。(用户名默认为roo.

2020-11-13 14:09:31 23

原创 六星教育:PHP程序员10月薪酬高达19.1k,真香!

六星教育了解到,随着信息化社会普及,程序员成为互联网社会发展的主力,PHP程序员进入大众视野,也也成为高薪的代名词,今天六星教育就带大家一起寻找其中原因。随着我们互联网科技愈发普及,PHP开发工程师成为web开发主力军。当今百分之80大型网站都在使用PHP技术,并且各大APP几乎都会采用PHP开发。PHP技术培训方向包含PHP环境搭建、PHP基础语法、MySQL、数据库设计、数据库优化、文件管理、后台管理、缓存技术、Ajax技术、 Smarty模板+PDO、框架技术、项目管理、伪静态、memcache

2020-11-12 17:20:05 39

原创 六星教育:人工智能这辆快车,我python搭了

人生苦短,我用python。六星教育了解到,随着人工智能越发普及,我们对Python工程师的需求也越发增大。说到这里,肯定很多小伙伴有疑问,为什么python能成为人工智能的首要语言?这个六星教育只能说句,术业有专攻啊!今天helen老师就来给大家说下这其中的关键点,有什么需要咨询的可以在留言区进行互动哦!首先,且看他那简便,直观且通俗易懂的特性,真乃新手福音。或许你会想说,这明明和PHP一样的嘛,大家请记住一件事,PHP是web前端开发的王者语言,别弄混了呀。Python是一门解释型语言。充当编程

2020-11-11 16:21:05 65

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除