自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (2)
  • 收藏
  • 关注

原创 关于如何绕过zhihu网站垃圾的禁止复制页面内容的方法(未经测试验证)

全怪垃圾的Chrome?或者罪魁祸首是W3C?最新版本的浏览器一般都提供了oncopy事件,这使得网站JS可以监听并清空当前的系统Clipboard。 知乎网站也启用了禁止复制的功能。。。靠,本想F12通过DevTools查看源代码再复制出来,却发现每个段落没有使用单个的div或p元素,导致这么做也很麻烦。看起来,不得不做一个插件,绕过这种垃圾屏蔽机制。。。通过检测

2015-10-18 23:52:48 1441

原创 论自由

(论自由)某首小诗里对生命、爱情、自由这3样东西排了序。现在看来,其实还是很有道理的。某个“自由意志论”宣扬“选择的自由”,但是又有人驳斥说,没有自由意志,因为人在做决定之前物理性的脑化学反应里早已经下了结论。所以自由也许并不意味着“选择的自由”,假如只有一个选择,你确实是在被控制与奴役。但如果你主动热烈拥抱这唯一的选择,似乎你仍然是自由的。但是自由似乎并不仅仅在于选择。其实你没得选择,要么你是个

2015-10-17 23:23:35 567

原创 薛定谔的猫

(薛定谔的猫)你在人群中看到一个漂亮妹子,很想拉其手亲其嘴上下猥亵之。但是那个妹子的状态实际上对你来说一无所知,除非你上去搭讪。重要的是,大部分情况下,妹子之所以有性魅力是因为她有男人,有规律满足的性交。她腰身臀部的曲线、她眼角的皱纹就是证明。大多数情况下,你爱上的人不会爱上你,原因是很多情况下爱情只是弱者对于强者的一种性别崇拜。但是,假如你与那个妹子之间并没有产生进一步的接触,量子理论就是说,实

2015-10-17 23:10:53 710

原创 论奋斗

(论奋斗)我们是羡慕别人的美好生活,才会想着要奋斗以改变现状。但这个目标本质上难以达到。我们只能成为自己,无法成为他人。如果我们照着上一辈的指挥来追寻生活的轨迹,那无疑是将上一代的业力继续留到这一代。如果我们照着别人的现状来改变自己的生活,那无非是将自己过成别人的影子。  生命对每个人都是同样的流逝。有人正在从妈妈的子宫中刚刚爬出来。而有人已经将要踱向死亡的坟墓。Markov过程有

2015-10-17 22:54:17 881

原创 脚手架理论与曲线理论

(脚手架理论)有时候为了建造一座大楼,我们需要搭建脚手架,脚手架存在的意义仅仅是方便施工,一旦工程完成,脚手架就可以拆除了。类比到软件工程领域,有人把它理解为TDD,但实际上不对。 (曲线理论)比起瀑布模型,迭代式增量开发实际上就像是“曲线救国”。瀑布模型有点像某种革命、俄罗斯的激进改革急冻/休克疗法。2点之间有时候并非直线最短,曲线是非常曲率空间中的短程线(测地线) 但在实际应用

2015-10-17 22:39:34 1397

原创 我的研究生同学王沛

忽然从新浪微博看到最近QCon会议ppt中出现一个熟悉的名字,寻思不会是我的那个研究生同学吧?打开pdf一看,果然是。看起来他一直在SAP,其实就是浦东软件园这边,pdf是说React,没什么特别的。

2015-10-17 22:09:29 1191

原创 2015/10/17偶得

露水千万重,白鹤立湖中;相思常人迷,恍惚影成空。题解:晚上在浦东软件园湖边漫步,感觉到露水的寒意沁入皮肤,湖边水中立着折纸样的鹤雕塑,听着蔡幸娟的《念亲亲》。对可爱妹子们的相思之情常常令人迷惑,恍惚之间妹子的身影再也遍寻不到。

2015-10-17 22:06:07 526

转载 2015/10/17日想到的

农夫山泉的1.5L的塑料瓶子设计有问题:(1)塑料质地太软,偷工减料;(2)水装得太满,导致打开盖子总会溅出一点,浪费。2实际上还是小气的表现。

2015-10-17 06:36:41 594

原创 一种基于浏览器内核修改的复杂网站layout/渲染bug的HTTP重放调试系统

一种基于浏览器内核修改的复杂网站layout/渲染bug的HTTP重放调试系统缘起做移动浏览器开发/浏览器内核定制修改的,总会遇到这么一些诡异的问题:某网站A,出现奇怪的渲染显示错误、UI界面阻塞、乃至突然崩溃。一般来说,我们有下面几种解决问题的思路:在浏览器内核代码中打log,前提是你已经大概估计到了问题原因的大概范围使用远程调试,即使用桌面版Chrome的D

2015-10-14 15:18:51 1221

原创 Chromium内核研发:当前没有解决的3个技术问题

1、PDF.js的render API调用对于某些中文PDF无法显示的问题。——可能是字体加载时触发了某种特殊的bug?但是官方自带的view.html却没有问题。可能是哪里同步调用需要改成异步的?2、横屏切换时,video元素的GraphicsLayer对象的状态没有正确更新,导致其显示的宽带位置不对。那么,这里的问题是:如何在DOM/Render树保持不变的情况下,删除并重建Graphic

2015-10-04 21:12:48 1421

转载 好莱坞美剧电影英雄主义价值观的问题

好莱坞美剧电影英雄主义价值观的问题英雄主义的荒谬之处在于,普通人通过某种机缘,居然拯救了地球。或者至少拯救了美国。或者,至少他有能力保护自己的家庭,也就是老婆孩子。前者让人妄自尊大,后者则使人目光狭隘。其实真正要拯救的,是你们自己。是你自己主体性的确立。你来这个世界上,不是为了拯救谁,你对其他人,其实没有任何责任。任何试图灌输你,让你以为其实

2015-10-04 20:35:32 1273

转载 论人应该追求什么:自由的关系

论人应该追求什么:自由的关系若是你的追求,只是想要得到,想要占有,想要控制。那么这种歪曲扭曲的想法最终会毁灭你自己。应该追求什么?我想到的只是:自由的关系。你与目标,主体与客体。要领悟到追求什么(兴趣、乐趣、妹子、知识、技能等等)不代表你最终可以得到什么。事实上你什么也得不到。即使以世俗的意义看,追求什么目标也不一定是属于你的。应该领悟到自由关系的真谛。在于对方

2015-10-04 20:21:52 815

转载 2015/10/04 阴雨天纪事

2015/10/04阴雨天纪事在屋子里呆了一天之后,晚上,我终于打算出来走走。在附近的一家‘藏书牛肉’吃晚饭,半斤红烧牛肉+米饭,37。晚饭之后,天阴沉沉有点毛毛雨。但我想有带伞,就去欧尚超市走走吧。走到汇智那里,我首先注意到BreadTalk店里一对男女在挑选面包。自得其乐吧?我注意到一款长条面包,里面似乎塞的蔬菜?然后看到一家3口在拍照,可能是老

2015-10-04 20:04:21 584

TCP/IP Sockets in Java, 2rd Edition

Contents Preface xi 1 Introduction 1 1.1 Networks, Packets, and Protocols 1 1.2 About Addresses 4 1.3 About Names 6 1.4 Clients and Servers 6 1.5 What Is a Socket? 7 1.6 Exercises 8 2 Basic Sockets 9 2.1 Socket Addresses 9 2.2 TCP Sockets 15 2.2.1 TCP Client 16 2.2.2 TCP Server 21 2.2.3 Input and Output Streams 25 2.3 UDP Sockets 26 2.3.1 DatagramPacket 27 2.3.2 UDP Client 29 2.3.3 UDP Server 34 2.3.4 Sending and Receiving with UDP Sockets 36 2.4 Exercises 38 3 Sending and Receiving Data 39 3.1 Encoding Information 40 3.1.1 Primitive Integers 40 3.1.2 Strings and Text 45 3.1.3 Bit-Diddling: Encoding Booleans 47 3.2 Composing I/O Streams 48 3.3 Framing and Parsing 49 3.4 Java-Specific Encodings 55 3.5 Constructing and Parsing Protocol Messages 55 3.5.1 Text-Based Representation 58 3.5.2 Binary Representation 61 3.5.3 Sending and Receiving 63 3.6 Wrapping Up 71 3.7 Exercises 71 4 Beyond the Basics 73 4.1 Multitasking 73 4.1.1 Java Threads 74 4.1.2 Server Protocol 76 4.1.3 Thread-per-Client 80 4.1.4 Thread Pool 82 4.1.5 System-Managed Dispatching: The Executor Interface 84 4.2 Blocking and Timeouts 86 4.2.1 accept(), read(), and receive() 87 4.2.2 Connecting and Writing 87 4.2.3 Limiting Per-Client Time 87 4.3 Multiple Recipients 89 4.3.1 Broadcast 90 4.3.2 Multicast 90 4.4 Controlling Default Behaviors 95 4.4.1 Keep-Alive 96 4.4.2 Send and Receive Buffer Size 96 4.4.3 Timeout 97 4.4.4 Address Reuse 97 4.4.5 Eliminating Buffering Delay 98 4.4.6 Urgent Data 98 4.4.7 Lingering after Close 99 4.4.8 Broadcast Permission 99 4.4.9 Traffic Class 100 4.4.10 Performance-Based Protocol Selection 100 4.5 Closing Connections 101 4.6 Applets 107 4.7 Wrapping Up 107 4.8 Exercises 108 5 NIO 109 5.1 Why Do We Need This? 109 5.2 Using Channels with Buffers 112 5.3 Selectors 115 5.4 Buffers in Detail 121 5.4.1 Buffer Indices 121 5.4.2 Buffer Creation 122 5.4.3 Storing and Retrieving Data 124 5.4.4 Preparing Buffers: clear(), flip(), and rewind() 126 5.4.5 Compacting Data in a Buffer 128 5.4.6 Buffer Perspectives: duplicate(), slice(), etc. 129 5.4.7 Character Coding 131 5.5 Stream (TCP) Channels in Detail 132 5.6 Selectors in Detail 135 5.6.1 Registering Interest in Channels 135 5.6.2 Selecting and Identifying Ready Channels 138 5.6.3 Channel Attachments 140 5.6.4 Selectors in a Nutshell 140 5.7 Datagram (UDP) Channels 141 5.8 Exercises 145 6 Under the Hood 147 6.1 Buffering and TCP 150 6.2 Deadlock Danger 152 6.3 Performance Implications 155 6.4 TCP Socket Life Cycle 155 6.4.1 Connecting 156 6.4.2 Closing a TCP Connection 160 6.5 Demultiplexing Demystified 163 6.6 Exercises 165 Bibliography 167 Index 169

2008-11-28

Advanced Data Structures

里面讲述了许多特殊的索引树结构,推荐! Preface page xi 1 Elementary Structures 1 1.1 Stack 1 1.2 Queue 8 1.3 Double-Ended Queue 16 1.4 Dynamical Allocation of Nodes 16 1.5 Shadow Copies of Array-Based Structures 18 2 Search Trees 23 2.1 Two Models of Search Trees 23 2.2 General Properties and Transformations 26 2.3 Height of a Search Tree 29 2.4 Basic Find, Insert, and Delete 31 2.5 Returning fromLeaf to Root 35 2.6 Dealing with Nonunique Keys 37 2.7 Queries for the Keys in an Interval 38 2.8 Building Optimal Search Trees 40 2.9 Converting Trees into Lists 47 2.10 Removing a Tree 48 3 Balanced Search Trees 50 3.1 Height-Balanced Trees 50 3.2 Weight-Balanced Trees 61 3.3 (a, b)- and B-Trees 72 3.4 Red-Black Trees and Trees of Almost Optimal Height 89 3.5 Top-Down Rebalancing for Red-Black Trees 101 3.6 Trees with Constant Update Time at a Known Location 111 3.7 Finger Trees and Level Linking 114 vii 3.8 Trees with Partial Rebuilding: Amortized Analysis 119 3.9 Splay Trees: Adaptive Data Structures 122 3.10 Skip Lists: Randomized Data Structures 135 3.11 Joining and Splitting Balanced Search Trees 143 4 Tree Structures for Sets of Intervals 148 4.1 Interval Trees 148 4.2 Segment Trees 154 4.3 Trees for the Union of Intervals 162 4.4 Trees for Sums of Weighted Intervals 169 4.5 Trees for Interval-Restricted Maximum Sum Queries 174 4.6 Orthogonal Range Trees 182 4.7 Higher-Dimensional Segment Trees 196 4.8 Other Systems of Building Blocks 199 4.9 Range-Counting and the Semigroup Model 202 4.10 kd-Trees and Related Structures 204 5 Heaps 209 5.1 Balanced Search Trees as Heaps 210 5.2 Array-Based Heaps 214 5.3 Heap-Ordered Trees and Half-Ordered Trees 221 5.4 Leftist Heaps 227 5.5 Skew Heaps 235 5.6 Binomial Heaps 239 5.7 Changing Keys in Heaps 248 5.8 Fibonacci Heaps 250 5.9 Heaps of Optimal Complexity 262 5.10 Double-Ended Heap Structures and Multidimensional Heaps 267 5.11 Heap-Related Structures with Constant-Time Updates 271 6 Union-Find and Related Structures 278 6.1 Union-Find: Merging Classes of a Partition 279 6.2 Union-Find with Copies and Dynamic Segment Trees 293 6.3 List Splitting 303 6.4 Problems on Root-Directed Trees 306 6.5 Maintaining a Linear Order 317 7 Data Structure Transformations 321 7.1 Making Structures Dynamic 321 7.2 Making Structures Persistent 330 8 Data Structures for Strings 335 8.1 Tries and Compressed Tries 336 8.2 Dictionaries Allowing Errors in Queries 356 8.3 Suffix Trees 360 8.4 Suffix Arrays 367 9 Hash Tables 374 9.1 Basic Hash Tables and Collision Resolution 374 9.2 Universal Families of Hash Functions 380 9.3 Perfect Hash Functions 391 9.4 Hash Trees 397 9.5 Extendible Hashing 398 9.6 Membership Testers and Bloom Filters 402 10 Appendix 406 10.1 The Pointer Machine and Alternative Computation Models 406 10.2 External Memory Models and Cache-Oblivious Algorithms 408 10.3 Naming of Data Structures 409 10.4 Solving Linear Recurrences 410 10.5 Very Slowly Growing Functions 412 11 References 415 Author Index 441 Subject Index 455

2008-11-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除