首 页 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 尾 页

PHP实现阴历阳历的相互转换(支持1900~2100年)

发布者: PHPYuan | 发布时间:2018-09-11

PHP实现阴历阳历的相互转换(支持1900~2100年)

最近做到一个项目, 需要阴历与阳历的相互转换, 网上找了很多资料, 发现很多都是不准的, 但是给了我参考价值

算法

借用百度百科的 :

阳历

太阳历又称为阳历,是以地球绕太阳公转的运动周期为基础而制定的历法。

太阳历的历年近似等于回归年,一年12个月,这个“月”,实际上与朔望月无关。

阳历的月份、日期都与太阳在黄道上的位置较好地符合,根据阳历的日期,在一年中可以明显看出四季寒暖变化的情况;但在每个月份中,看不出月亮的朔、望、两弦。

如今世界通行的公历就是一种阳历,平年365天,闰年366天,每四年一闰,每满百年少闰一次,到第四百年再闰,即每四百年中有97个闰年。公历的历年平均长度与回归年只有26秒之差,要累积3300年才差一日。

阴历

希吉来历系太阴历,其计算方法是: 以太阴圆缺一周为一月,历时29日12小时44分2.8秒,太阴圆缺十二周为一年,历时3

想读更多 ->

php swoole task 踩坑及优化

发布者: PHPYuan | 发布时间:2018-09-11

如果有仔细看过 swoole task 的文档的话,应该都会注意到这句话

task 操作的次数必须小于onTask处理速度,如果投递容量超过处理能力,task会塞满缓存区,导致worker进程发生阻塞。worker进程将无法接收新的请求

task 如果阻塞会引发 woker 进程阻塞,造成服务无法工作,引发问题。

我曾经使用 task 发送服务的链路日志,接收日志的服务出现bug,造成发送日志的 task 阻塞,然后服务 gg 的情况,之后我就对 task 做了一波优化。

思路就是使用 swoole channel (https://wiki.swoole.com/wiki/page/647.html)和 swoole user process (https://wiki.swoole.com/wiki/page/390.html)实现一套 task 。

使用 channel 接收数据,然后在 user process 消费数据,假如 channel 满了仅仅会造成 push 数据失败,并不会引发阻塞,因为是链路日志,是允许丢失的,所以这个方案完全没问题。

在swoole user process 消费 channel 的策略的伪代码如下

$sleepTime = 5; $maxSleepTime

想读更多 ->

购物车页面的功能(php+Ajax+jQuery)

发布者: PHPYuan | 发布时间:2018-09-11

1.功能介绍

购物车页面的功能包括:选择要购买的商品、全选商品;商品数量增减;商品删除;价格总计。

2.实现思路

根据利用冒泡原理,使用jQuery的.on()方法为整个购物车的父元素绑定事件,从而点击子元素时也可触发事件。

3.实现代码

checkAll.php(商品全选功能)

<?php //思路:根据前端传来的用户id和是否选中(is_checked)的值,修改数据库购物车列表中,该用户所有商品是否选中的值。 require_once("../init.php"); session_start(); @$uid=$_SESSION["uid"]; @$checkAll=$_REQUEST["checkall"]; if($uid!=null&&$checkAll!=null){ $sql="UPDATE xxx_shoppingcart_item SET is_checked=$checkAll WHERE uid=$uid"; mysqli_query($conn,$sql); } 1 2 3 4 5 6 7 8 9 10

jQuery插件:=>

已经封装好的就有特定功能的jQuery库;

网站:https://plugins.jquery.com/

jQuery UI: 建立在jQuery基础上的小部件或交互库;可以使用它来

构建高度交互的web应用程序.

官网:http://jqueryui.com/

下载:Download Builder(下载构造器);允许选择版本和主

题,然后下载;

步骤:1.选择jQuery UI的版本;

2.选择需要的组件;

3.选择主题和自定义主题;

使用:1.引入文件:=>jquery-ui.css

jqu

想读更多 ->

Zend-Expressive-Swoole 0.2.2 支持 Swoole 4 协程

发布者: PHPYuan | 发布时间:2018-09-11

前言

Zend Framework 作为 PHP 官方框架,随着 Zend-Expressive-Swoole 0.2.2 的发布,率先支持了 Swoole 4 的协程功能,现在可以仅通过一个配置即可使整个应用以协程模式运行,完美解决了从前的笨重低性能的印象,基于 Zend Expressive 完美解耦的设计,搭建一个高性能的符合自己心意的框架完全不在话下了!

通过 Zend Expressive 搭建一个我喜欢的框架

只需执行 composer create-project zendframework/zend-expressive-skeleton folder_name 通过 Composer 就可以进入组件安装的流程了,folder_name 改成你想要存放的文件夹名字

可以看到安装器会询问你好几个问题,也就是让你选择你想要的组件,理论上支持所有符合 PSR规范 的组件。

1.你想使用哪个路由? [1] Aura.Router [2] FastRoute [3] Zend Router 2.你想使用哪个依赖注入容器? [1] Aura.Di [2] Pimple [3] Zend ServiceManager 3.你想使用哪个模板引擎? [1] Plates [2] Twig [3] Zend View [n] 不使用 3.你想使用哪

想读更多 ->

ue编辑器64位破解版 v25.10.0.62

发布者: PHPYuan | 发布时间:2018-09-11

ue编辑器64位破解版,附带的注册机可以完美成功激活软件,其详细的安装教程可参考下文操作,希望对用户有所帮助ue编辑器64位是针对64位windows系统而开发的一款文本编辑软件,还是高级PHP、Perl、Java和JavaScript程序编辑器,除了可以进行正常的文本编写以外,还拥有编辑代码、编辑十六进制、ASCII码等多种功能,同时内置了英文单字检查、代码提示、代码折叠、列操作等人性化功能,是程序员使用最多的文本编辑器。新版本的ue编辑器64位功能进行了全面升级,比如内部重构的UTF-8处理,让渲染和编辑性能明显更好;全新的拼写检查程序支持您在操作系统中启用的所有语言;现在还可以自定义的HTML按钮/标签,优化了XML/JSON管理器等等,能够你提供更流畅的文本编辑体验。

ps:这里可以获取软件资源【http://www.ddooo.com/softdown/129886.htm】

ue编辑器64位破解版 v25.10.0.62

ue编辑器64位破

想读更多 ->

为了坑害黑客,这群程序员不惜连自己也坑

发布者: PHPYuan | 发布时间:2018-09-11

一旦软件出现bug,除了“杀掉程序员祭天”,唯一能做的就是尽力消灭它们。毕竟,bug不仅会让软件崩溃,还有可能被黑客用来恶意攻击。

因此,如果有人告诉你,保留bug其实是个好主意,你一定会嗤之以鼻。最新一项研究却提出,bug其实还能充当诱饵,显著转移黑客的注意力,让软件躲过攻击。

为了坑害黑客,这群程序员不惜连自己也坑

图 | pixabay

这个方法有点令人困惑:bug基本只有百害而无一利,怎么就能派上用场了呢?

躲在bug之后

为了坑害黑客,这群程序员不惜连自己也坑

想读更多 ->

CentOS 安装PHP7的正确姿势

发布者: PHPYuan | 发布时间:2018-09-10

CentOS上的PHP版本都十分古老,满足不了一些框架对PHP版本的要求。于是,出现了许多第三方软件库,如EPEL、RPM Fusion、Remi等,这些库提供了新版的PHP。让我们的系统能与时俱进。

但是,第三方软件库有几个缺点:第一,他们提供的软件没有经过CentOS官方测试,在安装软件的同时,可能会替换掉系统的一些核心文件,造成系统不稳定。第二,第三方库安装的软件可能不保证兼容性,也许对系统升个级就会导致某个软件没法使用。

所以本篇推荐用SCL(Software Collections)软件库安装高版本的PHP。SCL属于CentOS官方的软件库,经过充分测试,安装软件时不会替换系统的核心文件,保证了系统的稳定性。

安装SCL很简单,只需一条命令就可以了:

[root@localhost]# yum install centos-release-scl-rh 1

然后就能在yum中搜到新版的PHP了:

[root@localhost]# yum search php ..

想读更多 ->

「开发」phpjm解密方法

发布者: PHPYuan | 发布时间:2018-09-10

「开发」phpjm解密方法

分析了一下此加密的思路

1、将原始文件gzcompress、base64_encode处理得到长度为X的加密串

2、将加密串按照M+4+1+N的长度进行分割,X=M+4+1+N,M和N有随机性,每次加密出来结果不一样

3、将长度为4的串加密处理,按照gzcompress、base64_encode、base64_encode、strtr(包含一个替换字典rpd)的步骤,得到加密后的串str4和替换字典rpd

4、将str4、rpd、strM、str1、strN明文显示在加密后的文件中,但自解析方法通过层层混淆加密隐藏起来。

完毕。

解密方法:

1、获取str4、rpd、strM、str1、strN

2、用第3步加密的逆向方法获取真正的str4

$str4 = gzuncompress(base64_decode(base64_decode(

想读更多 ->

第48期Java面试题:HashMap与HashTable、Arraylist/linklist区别

发布者: PHPYuan | 发布时间:2018-09-10

HashMap与HashTable的区别

1)继承不同

public class Hashtable extends Dictionary implements Map

public class HashMap extends AbstractMap implements Map

2)Hashtable 中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。在多线程并发的环境下,可以直接使用Hashtable,但是要使用HashMap的话就要自己增加同步处理了。

3)Hashtable中,key和value都不允许出现null值,在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,即可以表示 HashMap中没有该键,也可以表示该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键, 而应该用containsKey()方法来判断。

4)两个遍历方式的内部实现上不同。

Hashtable、HashMap都使用了 Iterator。而由于历史原因,Hashtable还使用了Enumeration的方式 。

5)哈希值的使用不同,HashTable直接使用对象

想读更多 ->