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

一点编程的思考

发布者: super | 发布时间:2017-12-15

原标题:一点编程的思考

有段时间没有更新博客,以前都在工作业余时间更新,现在需求较多,时间就不富裕了,但主要原因还是懒吧,逃:)。

今天谈一些形而上学的问题,关于编程本身的一点看法,以及如何用这项知识,为自己谋得一些长远的利益。

编程是给未来人讲故事

业务忙起来的时候,就容易把目光汇聚到需求上面,想着怎么能快速高效地解决问题。但我们所撰写的代码,却会长期存在,就像我们留下的书法作品,是会被后世点评的。当我们意识到这一点后,就会注意代码质量,架构设计,注释讲解,虽然短时间内会 delay 我们开发的进度,但对我们修炼内功还是很有好处。

眼界,很大程度上决定了你能前进的距离,就像「贫穷,限制了我的想象力」。

我从两个例子来说明这个问题。

代码逻辑

有这么一个需求场景,如果应用没有获取到定位权限,需要在每个新版本升级的时候,弹出让用户去申请定位权限的对话框。

期初,有朋友这么实现了需求,伪代码如下代码。初看代码,好像没有什么太大问题,但实际上代码问题很多。如果我们从未来人的角度来看这段代码,会有什么样的想法

想读更多 ->

Web前端攻防,一不小心就中招了

发布者: super | 发布时间:2017-12-15

原标题:Web前端攻防,一不小心就中招了

随着各浏览器安全功能的提高,前端防御面临的问题也没有之前那么复杂,但浏览器的防御措施并不能百分百的保证网站的安全。

浏览器的XSS Auditor,使得反射型xss几乎被废;CSP(Content-Security-Policy)、X-XSS-Protection可以禁止不可信源的脚本执行!无疑,这对xss攻击是一记重拳。但是道高一尺,魔高一丈,尤其是在安全界,永远应该记住的一句箴言就是“只有相对的安全,没有绝对的安全”。

本文重点介绍现代浏览器的安全特性以及浏览器依然不能防御的攻击手段。

01- XSS

XSS攻击:跨站脚本攻击(Cross Site ing),为不和 CSS混淆,故将跨站脚本攻击缩写为XSS。

为什么叫跨站脚本?简单来说,就是在一个网站上运行了该网站之外的js脚本(当然,开发者自已引用的可信源的js不算,比如使用了cdn的 jQuery )。

02- 一个经典的例子

假设有一个搜索页面,关键字以Get方法传递。假设,搜索页面在输出结果时会无过滤的将用户的关键字

想读更多 ->

Java后端程序员1年工作经验总结

发布者: super | 发布时间:2017-12-15

原标题:Java后端程序员1年工作经验总结

java后端1年经验和技术总结(1)

1.引言

毕业已经一年有余,这一年里特别感谢技术管理人员的器重,以及同事的帮忙,学到了不少东西。这一年里走过一些弯路,也碰到一些难题,也受到过做为一名开发却经常为系统维护和发布当救火队员的苦恼。遂决定梳理一下自己所学的东西,为大家分享一下。

经过一年意识到以前也有很多认识误区,比如:

偏爱收集,经常收集各种资料视频塞满一个个硬盘,然后心满意足的看着容量不行动。

不重基础,总觉得很多基础东西不需要再看了,其实不懂的地方很多,计算机程序方面任何一个结果都必有原因,不要只会用不知道原理,那是加工厂出来的。现在ide查看代码那么方便,ctrl+点击就进入了JDK查看实现细节。

好高骛远,在计算机基础不牢固的情况下,总想着要做架构,弄分布式,搞大数据之类。

不重视性能,只求能实现功能,sql查询是不是可以优化,是否有算法妙用,大对象是否要清除。

不重视扩展性,模块之间紧密耦合,常用方法不提取成工具类,调用关系混乱等问题。

想读更多 ->

PHP实现检测注册的信号

发布者: superzhang | 发布时间:2017-12-15

PHP实现检测注册的信号

php的pcntl扩展提供了pcntl_signal信号处理函数,通常有两种方式用于检测注册的信号。举例说明两种实现方法。

declare(ticks=1) + pcntl_signal:

declare (ticks = 1);pcntl_signal(SIGINT, "sig_handler");

这段代码在执行pcntl_signal前,先加入了declare(ticks = 1)。因为PHP的函数无法直接注册到操作系统信号设置中,所以pcntl信号需要依赖tick机制。PHP的ticks=1表示每执行1行PHP代码就回调此函数(这里指pctnl_signal),在PHP的ticks回调函数中不断检查是否有信号,如果有信号就执行PHP中指定的回调函数(这里指 sig_handler),如果没有则跳出函数。我们用实例说明ticks=1时,Zend引擎每执行一次低级语句就执行一次register_tick_function() 注册的函数。

<?phpdeclare(ticks = 1

想读更多 ->

php中parse_url函数解析

发布者: superzhang | 发布时间:2017-12-15

php中parse_url函数解析

广东IT优就业

广州IT培训老师简单说一说php中parse_url函数解析。

1.在php开发过程中我们经常要用到用户上传文件这个功能,那么用户上传文件我们肯定要知道用户上传文件的合法性,那么我们就要从url中获取文件的扩展名。那么就会用到parse_url()这个函数。

parse: [pɑ:z] 解析

parse_url(): parse_url函数用于解析整个URL,并返回其组成部分。

2.例如:http://www.sina.com.cn/abc/de/fg.php?id=1

php中parse_url函数解析

打印结果:

php常用函数整理

PHP 字符串函数是 PHP 核心的组成部分。无需安装即可使用这些函数。

因为发代码有时会排版混乱,所以先发图演示了。源码已经打包好了,想学习的朋友可以下载练习练习,你不一定会哦。小编每天都会分享web前端和一些小项目,还有php方面的知识,第一时间会在我的微信公众号发布,源码下载公众号——php码农与大咖。

函数描述addcslashes()返回在指定的字符前添加反斜杠的字符串。addslashes()返回在预定义的字符前添加反斜杠的字符串。bin2hex()把 ASCII 字符的字符串转换为十六进制值。chop()删除字符串右侧的空白字符或其他字符。chr()从指定的 ASCII 值返回字符。chunk_split()把字符串分割为一系列更小的部分。convert_cyr_string()把字符串由一种 Cyrillic 字符集转换为另一种。convert_uudecode()解码 uuencode 编码字符串。convert_uuencode()使用 uuencode 算法对字符串进行编码。count_c

想读更多 ->

几个简单又实用的PHP函数

发布者: superzhang | 发布时间:2017-12-15

几个简单又实用的PHP函数

/* * *************************

* 生成随机字符串,可以自己扩展 //若想唯一,只需在开头加上用户id

* $type可以为:upper(只生成大写字母),lower(只生成小写字母),number(只生成数字)

* $len为长度,定义字符串长度

* mark 2017/8/15

* ************************** */

function random($type, $len = 0) {

$new = '';

$string = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; //数据池

if ($type == 'upper') {

for ($i = 0; $i < $len; $i++) {

$new .= $string

想读更多 ->

PHP字符串函数大全

发布者: superzhang | 发布时间:2017-12-15

我们大家知道无论哪种编程语言,字符串操作都是一个重要的基础,往往是简单而重要。PHP给我们提供了大量的字符串操作函数,功能强大,使用也比较简单,这里为大家总结九类字符串函数。

PHP字符串函数大全

1. 查找字符位置函数

strpos($str,search,[int]): 查找search在$str中的第 一次位置从int开始

stripos($str,search,[int]): 函数返回字符串在另一个字符串中第 一次出现的位置

strrpos($str,search,[int]): 查找search在$str中的最 后一次出现的位置从int

2. 提取子字符函数(双字节)

submit($str,int start[,int length]): 从$str中strat位置开始提取[length长度的字符串]。

strstr($str1,$str2): 从$str1(第 一个的位置)搜索$str2并从它开始截取到结束字符串;若没有则返回FALSE。

想读更多 ->

这3对非常有用的PHP阴阳函数,看看你都经常使用吗?

发布者: superzhang | 发布时间:2017-12-15

php之所以强大、之所以被称为世界上最好的编程语言,其中一个重要的原因就是它的封装做得非常好,PHP内置了很多我们经常使用的函数,用这些函数我们能够完成超大部分的业务需求,下面我们就来聊聊PHP中几对非常有用的阴阳函数,看看你都使用过吗?

explode & implode

这3对非常有用的PHP阴阳函数,看看你都经常使用吗?

explode这个函数的目的就是将一个字符串通过某个分隔符分割为数组,然后方便我们操作,我们在项目中经常遇到这种存储数据到MySQL数据库的情况,即a,b,c..,我们一看这个存储的字符串,就是用英文的逗号将各个值分开保存在一个字段里面,然后我们获取数据的时候,在PHP中就可以用explode这个函数将这个存储值用英文逗号进行分割得到数组,从而方便我们进行接下来的业务逻辑处理,和explode相反的是implode函数,就是将数组合并为一个字符串,在将数据存储到MySQL数据库之前,我们就能够用这个函数来实现上面的存储数据要求(以逗号隔开)。

json_encode & json_decode

想读更多 ->