首 页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 尾 页

浅谈PHP代码执行的大致流程(opcode)

发布者: PHPYuan | 发布时间:2018-06-24

说到这个代码执行流程啊,咱也不说太多,先给大家分享一张图片:

浅谈PHP代码执行的大致流程(opcode)

怎么样?有点了解了么。说实话,单看这个,我本人是有点懵的,不过,不要怕。咱们来慢慢地看下。

首先,在网上找的信息说PHP代码执行的顺序是这样的,第一步是词法分析,第二步是语法分析,第三步是转化为opcode,第四部也就是顺序执行这些opcode了。

聪明如各位看到这里,再返回上面看一下这张图片,肯定就会有不一样的感觉了。咱们借用一句话来阐述这几个步骤:当PHP拿到一段代码后,经过词法解析、语法解析等阶段后,源程序会被翻译成一个个指令(opcodes),然后ZEND虚拟机顺次执行这些指令完成操作。

我们都知道,PHP本身是用C实现的,因此最终调用的也是C的函数,实际上,我们可以把PHP看做一个C开发的软件。既然如此,那么PHP的代码执行的核心也就是翻译出来的一条一条指令,在这里就是opcode。

那么,

想读更多 ->

PHP是最好的语言!这个梗屡试不爽

发布者: PHPYuan | 发布时间:2018-06-24

某女:你能让这个论坛的人都吵起来,我今晚就跟你走。

某软件工程师:PHP是最好的语言!

某论坛真的就炸锅了,各种吵架……

某女:服了你了,我们走吧,你想干啥都行。

某软件工程师:今天不行,我一定要说服他们,PHP必须是最好的语言……

想读更多 ->

工欲善其事必先利其器——MySQL数据库(1)

发布者: PHPYuan | 发布时间:2018-06-24

准备工作

在 windows 和 Ubuntu 安装 MySQL。具体安装步骤可去 csdn 论坛查询。

命令行脚本

数据库的操作

连接数据库注意:sql 语句最后需要以分号 ;结尾mysql -uroot -p;输入密码即可进入数据库。退出数据库qiut,exit,ctrl + d;查看所有数据库show databases;使用数据库use 数据库名;查看当前使用的数据库select database();显示数据库版本select version();创建数据库create database demo charset=utf8;需要知道字符集,注意不是 utf-8;查看数据库的创建语句show create database demo;删除数据库drop database demo;查看帮助文档sql中的帮助文档如何使用?使用 ? 获取帮助信息? functions; 查看函数的帮助文档

数据表的操作

查看当前数据库中所有表show tables;创建表auto_increment 表示自动增长创建一个学生的数据表(id name age high gender cls_id)create table 数据表名字 (字段名 类型 约束[, 字段 类型 约束]);多个约束 不分先后顺序enum 表示枚举 男: 原始值 会

想读更多 ->

MySQL索引优化分析

发布者: PHPYuan | 发布时间:2018-06-24

为什么你写的sql查询慢?为什么你建的索引常失效?通过本章内容,你将学会MySQL性能下降的原因,索引的简介,索引创建的原则,explain命令的使用,以及explain输出字段的意义。助你了解索引,分析索引,使用索引,从而写出更高性能的sql语句。还在等啥子?撸起袖子就是干!

案例分析

我们先简单了解一下非关系型数据库和关系型数据库的区别。

MongoDB是NoSQL中的一种。NoSQL的全称是Not only SQL,非关系型数据库。它的特点是性能高,扩张性强,模式灵活,在高并发场景表现得尤为突出。但目前它还只是关系型数据库的补充,它在数据的一致性,数据的安全性,查询的复杂性问题上和关系型数据库还存在一定差距。

MySQL是关系性数据库中的一种,查询功能强,数据一致性高,数据安全性高,支持二级索引。但性能方面稍逊与MongoDB,特别是百万级别以上的数据,很容易出现查询慢的现象。这时候需要分析查询慢的原因,一般情况下是程序员sql写的烂,或者是没有键索引,或者是索引失效等原因导致的。

公司ERP系统数据库主要是MongoDB(最接近关系型数据的NoSQL),其次是Redis,MySQL只占很少的部分。现在又重新使用MySQL,归功于阿里巴巴的奇门系统和聚石塔系统。考虑到订单数量已经是百万级以上,对MySQL的性能

想读更多 ->

Nginx 日志和变量

发布者: PHPYuan | 发布时间:2018-06-24

HTTP请求

request-----包括请求行,请求头部,请求数据

response---包括状态行,消息报文,响应正文

模拟一个例子:

首先在服务器上安装 curl。

yum list | grep curl

Nginx 日志和变量

yum install curl 安装 curl

curl --version 查看版本

curl 相当于一个浏览器,但只是无法渲染。

执行命令:curl -v http://www.baidu.com

就可以看到request 和response 中看到信息。

Nginx 日志和变量</p><p><a href='internet/internet_235500.html'> 想读更多 -></a></p></div><div class='art bs'><h1><a href='internet/internet_235499.html'>天使时代:一篇文章让你成为Nginx专家</a></h1><span class='art_des'>发布者: PHPYuan | 发布时间:2018-06-24</span><p><img src=

Nginx

Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP代理服务器。Nginx 是由 Igor Sysoev 为俄罗斯著名的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。其将源代码以类 BSD 许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。

由于 Nginx 使用基于事件驱动的架构,能够并发处理百万级别的 TCP 连接,高度模块化的设计和自由的许可证使得扩展 Nginx 功能的第三方模块层出不穷。因此其作为 Web 服务器被广泛应用到大流量的网站上,包括淘宝、腾讯、新浪、京东等访问量巨大的网站。在访问量最多的一万个网站中,Nginx 的占有率已超过 Apache。

Nginx 新手起步

为什选择 Nginx

因为它具有以下特点:<

想读更多 ->

请求服务器出现413 Request Entity Too Large问题

发布者: PHPYuan | 发布时间:2018-06-24

今天想在自己项目网站上分享周末团队去清远漂流的图片,当是遇到一个问题,如下图所示:

请求服务器出现413 Request Entity Too Large问题

出现了413 Request Entity Too Large,也就是请求实体过大,我们都知道,4**是客户端的问题,5**是服务器端出现的问题,也就是我们要解决这个问题要从2个方面入手。一是把请求实体数据量减少,这里可以直接少传几张照片,但这明显不符合常情,所以我们从nginx配置文件解决。

解决方法如下

打开nginx配置文件 nginx.conf, 路径一般是:/etc/nginx/nginx.conf。在http{}段中加入 client_max_body_size 20m; 20m为允许最大上传的大小。保存后重启nginx,问题解决。

想读更多 ->

Spring Cloud(一):前言概述

发布者: PHPYuan | 发布时间:2018-06-24

1、微服务架构概念

简而言之,微服务架构就是将一个完整的应用从数据存储开始水平/垂直拆分成多个不同的服务。每个服务都能独立部署、独立维护、独立扩展,各服务之间通过诸如RESTful API(http)的方式互相调用。即微服务是自理自治的服务单元。

说明:拆分角度有垂直拆分/水平拆分。

水平拆分:按照业务对系统进行划分。举个例子,原系统包括了运营和支付,现水平拆分为运营系统和支付系统。优点是:不同业务,往往性能要求,以及请求量是不一样的。拆分后保证业务之间的可用性影响最小化。

垂直拆分:将同样的系统按照应用场景(调用方)进行拆分 。举个例子,原系统的支付场景中包括了用户支付,第三方调用 支付,现垂直拆分为用户支付,商户支付。优点:各个垂直服务调用之间相互不影响,自理自治;通过配置可以进行上游调用降级等。

2、SpringBoot回顾

优势:

1.为所有Spring开发者更快的入门

2.开箱即用,提供各种默认配置来简化项目配置

3.内嵌式容器简化Web项目

4.没有冗余代码生成和XML配置的要求

3、微服务架构进化

服务化的核心就是将传统的一站式应用拆分成一个个的应用,而微服务在这个基础上要更彻底地去耦合,并且强调DevO

想读更多 ->

手把手教你实现一个基于Redis的分布式锁

发布者: PHPYuan | 发布时间:2018-06-24

简介

分布式锁在分布式系统中非常常见,比如对公共资源进行操作,如卖车票,同一时刻只能有一个节点将某个特定座位的票卖出去;如避免缓存失效带来的大量请求访问数据库的问题

设计

这非常像一道面试题:如何实现一个分布式锁?在简介中,基本上已经对这个分布式工具提出了一些需求,你可以不着急看下面的答案,自己思考一下分布式锁应该如何实现?

首先我们需要一个简单的答题套路:需求分析、系统设计、实现方式、缺点不足

需求分析

能够在高并发的分布式的系统中应用需要实现锁的基本特性:一旦某个锁被分配出去,那么其他的节点无法再进入这个锁所管辖范围内的资源;失效机制避免无限时长的锁与死锁进一步实现锁的高级特性和JUC并发工具类似功能更好:可重入、阻塞与非阻塞、公平与非公平、JUC的并发工具(Semaphore, CountDownLatch, CyclicBarrier)

系统设计

转换成设计是如下几个要求:

对加锁、解锁的过程需要是高性能、原子性的需要在某个分布式节点都能访问到的公共平台上进行锁状态的操作

所以,我们分析出系统的构成应该要有锁状态存储模块、连接存储模块的连接池模块、锁内部逻辑模块

锁状态存储模块

分布式锁的存储有三种常见实现,因为能满足实现锁的这些条件:高性能加锁解锁、操作的原子性、是分布式系统中不

想读更多 ->

0基础学习Python应该掌握的知识点

发布者: PHPYuan | 发布时间:2018-06-24

当你想要进入一个全新的领域时,首先要弄清楚的就是它的体系。那么在Python领域,应该掌握哪些知识点呢?

文章最后有免费的Python资料,获取方式,关注头条号,私信回复资料获取下载链接。资料目录在文章底部,欢迎评论转发收藏下载。

0基础学习Python应该掌握的知识点

Python基础与高级编程

1、Linux环境搭建与python安装

2、Python语法基础

3、Python字符串解析

4、Python时间和日历

5、Python文件操作

6、Python面向对象

7、设计模

8、异常处理

9、模块

10、Python高级编程

Linux基础与高级编程

1、Linux基本命令

2、Linux系统编程

3、Linux网络编程

4、正则表达式

5、shell脚

想读更多 ->