首 页 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 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 尾 页

MySQL · 性能优化 · MySQL常见SQL错误用法

发布者: PHPYuan | 发布时间:2019-03-19

作者:db匠 来源:https://yq.aliyun.com/articles/72501

前言

MySQL在2016年仍然保持强劲的数据库流行度增长趋势。越来越多的客户将自己的应用建立在MySQL数据库之上,甚至是从Oracle迁移到MySQL上来。但也存在部分客户在使用MySQL数据库的过程中遇到一些比如响应时间慢,CPU打满等情况。阿里云RDS专家服务团队帮助云上客户解决过很多紧急问题。现将《ApsaraDB专家诊断报告》中出现的部分常见SQL问题总结如下,供大家参考。

常见SQL错误用法

1. LIMIT 语句

分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般DBA想到的办法是在type, name, create_time字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升。

SELECT * FROM operation WHERE type = 'SQLStats' AND name = 'SlowLog' ORDER BY create_time LIMIT 1000, 10;

好吧,可能90%以上的DBA解决该问题就到此为止。但当 LIMIT 子句变成 “LIMIT 1000000,10” 时,程序员仍然会抱怨:我只取10条记录为什

想读更多 ->

MySql数据库面试知识点

发布者: PHPYuan | 发布时间:2019-03-19

什么是数据库事务?如果没有事物会有什么后果?事务的特性是什么?

事务是指作为单个逻辑工作单元执行的一系列操作,可以被看作一个单元的一系列SQL语句的集合。要么完全地执行,要么完全地不执行。

如果不对数据库进行并发控制,可能会产生 脏读、非重复读、幻像读、丢失修改的异常情况。

事务的特性(ACID)

A, atomacity 原子性 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统处理操作子集的可能性。

C, consistency 一致性

事务将数据库从一种一致状态转变为下一种一致状态。也就是说,事务在完成时,必须使所有的数据都保持一致状态(各种 constraint 不被破坏)。

I, isolation 隔离性 由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。换句话说,一个事务的影响在该事务提交前对其他事务都不可见。

D, durability 持久性

事务完成之后,它对于系

想读更多 ->

小白入门使用Nginx基础的常用操作

发布者: PHPYuan | 发布时间:2019-03-19

nginx启动,重启,关闭命令

停止操作

停止操作前需要ps当前Nginx的所有进程

步骤1:查询nginx主进程号

ps -ef | grep nginx

在进程列表里 面找master进程,它的编号就是主进程号了

步骤2:发送信号, 从容停止Nginx:

kill -QUIT 主进程号

快速停止Nginx:

kill -TERM 主进程号

强制停止Nginx:

pkill -9 nginx

另外, 若在nginx.conf配置了pid文件存放路径则该文件存放的就是Nginx主进程号,如果没指定则放在nginx的logs目录下。有了pid文 件,我们就不用先查询Nginx的主进程号,而直接向Nginx发送信号了,命令如下:

kill -信号类型 '/usr/nginx/logs/nginx.pid'

平滑重启

如果更改了配置就要重启Nginx,要先关闭Nginx

想读更多 ->

案例:配置apache和nginx的SSL加密传输协议

发布者: PHPYuan | 发布时间:2019-03-19

一、SSI解释

SSI是一种类似于ASP的基于服务器的网页制作技术。将内容发送到浏览器之前,可以使用“服务器端包含 (SSI)”指令将文本、图形或应用程序信息包含到网页中。例如,可以使用 SSI 包含时间/日期戳、版权声明或供客户填写并返回的表单。对于在多个文件中重复出现的文本或图形,使用包含文件是一种简便的方法。将内容存入一个包含文件中即可,而不必将内容输入所有文件。通过一个非常简单的语句即可调用包含文件,此语句指示 Web 服务器将内容插入适当网页。而且,使用包含文件时,对内容的所有更改只需在一个地方就能完成。

因为包含 SSI 指令的文件要求特殊处理,所以必须为所有 SSI 文件赋予 SSI文件扩展名。默认扩展名是 .stm、.shtm 和 .shtml

二. apache配置

修改Apache配置文件httpd.conf #确认加载include.so模块,将注释去掉: LoadModule include_module libexec/apache2/mod_include.so #AddType部分去掉这两段注释: AddType text/html .shtml AddOutputFilter INCLUDES .shtm

想读更多 ->

为什么 Python 不用设计模式?

发布者: PHPYuan | 发布时间:2019-03-19

为什么 Python 不用设计模式?

作者 | 刘欣

责编 | 伍杏玲

本文经授权转自码农翻身(ID:coderising)

在遥远的Python王国,有一位少年,非常热爱编程,他的父母想给他报一个班,问了万能的朋友圈以后,发现大家都推荐同一个老师,人称吉先生。

于是他的父母毫不犹豫就交了一笔不菲的学费,每周六日下午让孩子去学习。

少年学习非常刻苦,很快就学会了Python语法、工具和框架。

老师像是见到了可以雕刻的美玉,倾囊相授,告诉他不仅要把代码写对,还要让代码漂亮、优雅、可读、可维护。

少年又学会了单元测试、TDD、重构,努力让自己的代码达到老师所要求的标准。

他还把“Python 之禅”贴在了自己的墙上,经常对照自己的代码,从来都不敢违反。

The Zen of Python, by Tim Peters

Beaut

想读更多 ->

Python项目打包和发布(内附python教程分享)

发布者: PHPYuan | 发布时间:2019-03-19

通常我们开发一个Python开源项目,想在多台服务器上部署,或者贡献项目为其他开发者来使用,最好的方式是发布到PyPI(Python包管理平台) ,之后可以通过pip install package方式安装包,下面将介绍最基本的Python项目打包和发布的方法,其实目前有很多方法,您还可以通过访问官方打包文档来深入理解: PyPI打包和分发文档。

1.介绍Python项目目录结构

Python项目打包和发布(内附python教程分享)

1.png

上面是我之前开发的一个项目,这个项目对hive cli进行了简单的封装,简化以后其他项目有关hive命令开发工作,具体内容这里不多说了,感兴趣的朋友可以去了解一下,提一些宝贵意见。(这个项目放在github)。

项目最顶层的目录为“hive-executor-py”,其中与打包最相关的文件是setup.py,下面附上setup.py里面的内容:

#!/us

想读更多 ->

Python制作课堂点名器,原来还能这么玩!

发布者: PHPYuan | 发布时间:2019-03-19

Python制作课堂点名器,原来还能这么玩!

我们用的是Python中的Tkinter模块,我们大概做的功能有三个:

随机点名惩罚日志写入

首先我们先简单的把界面搭建出来,代码很简单:

import tkinter as tk class LoveYou(): # 初始化 def __init__(self): # 第1步,建立窗口window self.window = tk.Tk() # 第2步,给窗口的可视化起名字 self.window.title('班级考单词程序') # 第3步,设定窗口的大小(长*宽) self.window.geometry('600x400') self.text = tk.StringVar() # 创建str类型 self.count = tk.StringVar() def take(self): ''' 负责随机抽取同学提问 :return: '

想读更多 ->

8.Python基础之三大基本语句

发布者: PHPYuan | 发布时间:2019-03-19

在大部分编程语言中,都会支持基本的三大语句: if while for。Python也不例外。注意执行语句的4个空格缩进或者1个tab缩进。

Python基本语句之分支结构if

语法1:

if 要判断的条件: 条件成立需要执行的语句

示例:注意if下面的执行语句代表要缩进4个空格键或者1个tab键。但不能混用空格和tab键。

>>>a =30 >>>if a>20: ... print('a的值是%s'%a) a的值是30

2.语法2:

if 要判断的条件: 条件成立需要执行的语句 else: 条件不成立时需要执行的语句

示例:

>>>a =10 >>>if a>20: ... print('a的值是%s'%a) ...else: print('%s小于20'%a) 10小于20

3.语法3:多条件分支语句

if 要判断的条件: 条件成立需要执行的语句 elif 判断条件: 条件成立需要执行的语句 ... else: 条件不成立时需要执行的语句

示例:pass是占位语句,表示不执行任何语句,让流程直接往下走,而不至于报语法错误。

>>>a =15 >>>if a&g

想读更多 ->

干货:互联网项目中MySQL应该选什么事务隔离级别

发布者: PHPYuan | 发布时间:2019-03-18

开始我们的内容,相信大家一定遇到过下面的一个面试场景

面试官:“讲讲mysql有几个事务隔离级别?”

你:“读未提交,读已提交,可重复读,串行化四个!默认是可重复读”

面试官:“为什么mysql选可重复读作为默认的隔离级别?”

(你面露苦色,不知如何回答!)

面试官:"你们项目中选了哪个隔离级别?为什么?"

你:“当然是默认的可重复读,至于原因。。呃。。。”

(然后你就可以回去等通知了!)

为了避免上述尴尬的场景,请继续往下阅读!

Mysql默认的事务隔离级别是可重复读(Repeatable Read),那互联网项目中Mysql也是用默认隔离级别,不做修改么?

OK,不是的,我们在项目中一般用读已提交(Read Commited)这个隔离级别!

what!居然是读已提交,网上不是说这个隔离级别存在不可重复读和幻读问题么?不用管么?好,带着我们的疑问开始本文!

正文

我们先来思考一个问题,在Oracle,SqlServer中都是选择读已提交(Read Commited)作为默认的隔离级别,为什么Mysql不选择读已提交(Read Commited)作为默认隔离级别,而选择可重复读(Repeatable Read)

想读更多 ->

Python高阶函数

发布者: PHPYuan | 发布时间:2019-03-18

Python高阶函数

Python高阶函数

本文要点

1.什么是高阶函数

2.python中有哪些常用的高阶函数

什么是高阶函数?

在了解什么是高阶函数之前,我们来看几个小例子。我们都知道在 python 中一切皆对象,函数也不例外。比如求绝对值函数 abs,我们可以用一个变量 f 指向 abs 函数,那么当调用 f() 的时候可以得到和 abs() 一样的效果,这说明变量可以指向函数!