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

MySQL 引擎特性:InnoDB 崩溃恢复

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

原标题:MySQL 引擎特性:InnoDB 崩溃恢复

来源:水中的泪

www.cnblogs.com/coderyuhui/p/7191413.html

前言

数据库系统与文件系统最大的区别在于数据库能保证操作的原子性,一个操作要么不做要么都做,即使在数据库宕机的情况下,也不会出现操作一半的情况,这个就需要数据库的日志和一套完善的崩溃恢复机制来保证。本文仔细剖析了InnoDB的崩溃恢复流程,代码基于5.6分支。

基础知识

lsn: 可以理解为数据库从创建以来产生的redo日志量,这个值越大,说明数据库的更新越多,也可以理解为更新的时刻。此外,每个数据页上也有一个lsn,表示最后被修改时的lsn,值越大表示越晚被修改。比如,数据页A的lsn为100,数据页B的lsn为200,checkpoint lsn为150,系统lsn为300,表示当前系统已经更新到300,小于150的数据页已经被刷到磁盘上,因此数据页A的最新数据一定在磁盘上,而数据页B则不一定,有可能还在内存中。

redo日志: 现代数据库都需要写redo日志,例如修改

想读更多 ->

前端工程师做事的三重境界:我的进阶之路

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

原标题:前端工程师做事的三重境界:我的进阶之路

写作本文的目的:构建自己关于前端工程师成长过程的认知模型,从自己的视角来分析 Programmer、Developer、Enginner 的能力结构与工程师成长过程的关联,并分享出来给大家,期望能对入门的前端同学有所借鉴和启发。需要提前说明的是,文中用到的工程师的不同叫法并不是要给工程师分类或者贴标签,因为工程师的成长过程是连续的,喜欢钻牛角尖的同学请自行绕路。

程序员 or 工程师

圈内对从事软件开发的同学有很多叫法,如程序员(Programmer)、开发者(Developer)、工程师(Engineer),甚至是码农,“码农”是圈内人用来自嘲的,那其他几个名词呢?表面上看起来都是做软件开发,叫什么真的重要么?

不得不说,叫什么并不重要,不论是自称还是他称,什么学历、几年工作经验也不重要,真正重要的是人所具备的能

想读更多 ->

Google之类公司的代码质量如何?

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

原标题:Google之类公司的代码质量如何?

英文:Quora,翻译:伯乐在线/黄利民

blog.jobbole.com/74107/

这是 Quora 网友的一个提问,他还补充说:

我经常在想,像谷歌这样的公司,它们的代码质量如何呢?根据我在两个大公司的工作经历来说,我感觉代码质量和公司年龄成反比。

下面是伯乐在线摘编了两位网友的回复:一位是Google的程序员,另一位是Google前员工。

Google 程序员 Jeremy Hoffman 的回复:

我没有怎么去比对过,但我认为Google的代码质量是非常高的。Google的软件工程文化是原因之一(感谢 Kevin X Chang 给建议):

代码审查。在你提交任何代码改动之前,你得找去代码“主人”签字确认。为了实现,评审者(被鼓励去)建议大修代码,而不是让它成为根本没有经过思考的“图章”代码。

按语言可读性要求坚持代码风格指南(请参阅这里)。除了让我们代码有统一的外观(所以我们能快速认出方法、成员等),我们的风格指南禁

想读更多 ->

一个10倍效率的开发人员,有三件事必做不可!

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

原标题:一个10倍效率的开发人员,有三件事必做不可!

几乎每个软件开发人员或程序员都见过其他人编写的代码,说明了“任何人都可以编码”。但你有没有遇到过所谓的神话般的“10倍效率的开发人员”?作为一个10倍效率的开发人员,在编写代码方面做得很少, 更多的是知道要写什么代码。

要成为一名10倍效率的开发人员,你必须学会在这种环境中脱颖而出,甚至创立自己的公司来领导这项工作。任何人都可以是一个10倍效率的开发人员,至少在每一天的某个时刻。我相信所有开发人员都应该专注于提高生产力和团队合作的三件事。

来说说这三件事

原标题:腾讯安全团队:谷歌AI学习系统有安全漏洞

  新华社福州12月16日电(记者颜之宏)腾讯安全平台部Blade团队日前对外发布消息称,该团队在对谷歌人工智能学习系统TensorFlow进行代码审计时,发现该系统存在重大安全漏洞,利用该系统进行编辑的AI场景,有遭受恶意攻击的可能。

据腾讯安全平台部负责人杨勇介绍,TensorFlow是目前谷歌免费开放给AI设计者的编程平台,程序员可以在该平台上进行AI组件的设计工作。杨勇表示,当含有安全风险的代码被编辑进诸如面部识别或机器人学习的AI使用场景中,攻击者就可以利用该漏洞完全接管系统权限,窃取设计者的设计模型,侵犯使用者隐私,甚至对用户造成更大伤害。

杨勇说:“通俗地讲,如果设计人员在给机器人编程时恰好使用了含有该漏洞的组件,那么恶意攻击者就有可能利用漏洞控制该机器人,这是非常可怕的。目前我们在AI安全领域还只是迈出了一小步,未来期待更多的技术人员一起完善AI,让AI更安全……”

Blade团队表示,TensorFlow是目前应用最为广泛的机器学习框架之一,已被运用在诸多AI场景中,如语音识别、自然语言理解、计算机视觉、广告、

想读更多 ->

各大公司Java后端开发面试题总结

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

原标题:各大公司Java后端开发面试题总结

ThreadLocal(线程变量副本)

Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量。

采用空间换时间,它用于线程间的数据隔离,为每一个使用该变量的线程提供一个副本,每个线程都可以独立地改变自己的副本,而不会和其他线程的副本冲突。

ThreadLocal类中维护一个Map,用于存储每一个线程的变量副本,Map中元素的键为线程对象,而值为对应线程的变量副本。

ThreadLocal在Spring中发挥着巨大的作用,在管理Request作用域中的Bean、事务管理、任务调度、AOP等模块都出现了它的身影。

Spring中绝大部分Bean都可以声明成Singleton作用域,采用ThreadLocal进行封装,因此有状态的Bean就能够以singleton的方式在多线程中正常工作了。

友情链接:深入研究java.lang.ThreadLocal类

Java内存模型:

Java虚拟机规范中将Java运行时数据分为六

想读更多 ->

内联函数在C语言中的作用

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

原标题:内联函数在C语言中的作用

内联函数的作用

内联函数是一种编译机制,优点从代码上是看不出来的,但是程序的执行效率上有差别,通常,编译器对函数调用的处理是一种类似中断的方式,即当执行到函数调用语句时,程序把当前所有的状态信息比如CPU所有寄存器(其中一个很重要的就是指令指针寄存器)的值保存起来,然后放心大胆地转去执行那个函数的代码,执行完后再返回原来的地方,恢复原先保存过的状态信息,于是也就可以接着原来被中断的指令继续往下执行。

这样,就很容易实现代码的结构化,因为可以把一些独立的功能模块写成函数,函数内部的变量和外部的变量互不影响,而且函数执行完后就可以释放这个函数内部变量的所使用的内存空间(这就是为什么函数退出后,其内部变量不再有效),对内存的使用也是很经济的(否则,如果一个大的程序全部由一个函数组成,那么所有的变量都得自始至终地占用内存空间),当然,还有其他优点,比如可以实现递归,总之是好处多多。

可是,任何事情往往都有两方面,这样做虽然好处多多,但也是有代价的,那就是前面所说的,任何一次函数调用,程序都得进行保存和恢复状态信息的动作,用数据结构的术语说就是进栈和退栈,当然

想读更多 ->

大数据要学代码吗?

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

原标题:大数据要学代码吗?

大数据需要学习代码吗

有不少人想要学习大数据,但是又不想学编程或者说编程水平差,所以想要了解大数据是否需要学习代码。那么学习大数据到底要不要学习代码编程呢?

今天我们就聊一下大数据学习的一些内容

首先肯定的是,想要做大数据的工作是肯定要学习代码的,不过大数据有两个方向:大数据开发和大数据分析,大数据开发对于代码编程要求较高,而大数据分析偏向数据分析方向,编程这边要求不高,但是不管是做大数据开发工程师,还是大数据分析工程师,都是需要学习代码的。

上面解答了要不要学代码的问题,下面我们说下该如何学习大数据,需要学什么。

首先我们看下大数据的学习内容(这边我们以光环大数据的课程内容为例)

1.大数据开发学习内

想读更多 ->

线程安全与共享资源

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

原标题:线程安全与共享资源

今天,小编给猿猿们整理了线程安全与资源共享方面的知识,希望会对大家学习有所帮助

▶允许被多个线程同时执行的代码称作线程安全的代码。线程安全的代码不包含竞态条件。当多个线程同时更新共享资源时会引发竞态条件。因此,了解Java线程执行时共享了什么资源很重要。

局部变量

局部变量存储在线程自己的栈中。也就是说,局部变量永远也不会被多个线程共享。所以,基础类型的局部变量是线程安全的。下面是基础类型的局部变量的一个例子:

public void someMethod(){

long threadSafeInt = 0;

threadSafeInt++;

}

局部的对象引用

对象的局部引用和基础类型的局部变量不太一样。尽管引用本身没有被共享,但引用所指的对象并没有存储在线程的栈内。所有的对象都存在共享堆中。如果在某个方法中创建的对象不会逃逸出(译者注:即该对象不会被其它方法获得,也不会被非局部变量引用到)该方法,那么它就是线程安全的。实际上,哪怕将这个对象作

想读更多 ->

谷歌AI学习系统被曝存在重大安全漏洞

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

原标题:谷歌AI学习系统被曝存在重大安全漏洞

IT之家12月17日消息 今年,AlphaGo与李世石、柯洁的围棋大战,使得其成为AI中的网红。其实,人工智能并不像电影里那么遥不可及,那么神秘。如果说微软小娜、苹果Siri在日常中“沟通”过程中让人觉得笨拙,那么AlphaGo就告诉大家其实AI“心思缜密”。

另外,AlphaGo也展示了谷歌在人工智能,机器学习上的先进成果。

日前,腾讯安全平台Blade团队对外发布消息称,在对谷歌人工智能学习系统TensorFlow进行代码审计时,该团队发现该系统存在重大安全漏洞,利用该系统进行编辑的AI场景,有遭受恶意攻击的可能。

TensorFlow是目前谷歌免费开放给AI设计者的编程平台,是目前应用最为广泛的机器学习框架之一,已被运用在诸多AI场景中,如语音识别、自然语言理解、计算机视觉、广告、无人驾驶等。程序员可以在该平台上

想读更多 ->