创建repository 每个github帐号都可以创建一个page 在自己的GitHub上创建一个username.github.io的仓库 将远程仓库克隆至本地 随意传一个html文件进仓库 打开浏览器访问...username.github.io看看发生了什么 去找养眼的主题 不要重复造轮子 网上有很多现成的主题,我用jeklly搭配gtihub page建立博客,不得不说,前人栽树后人乘凉,感谢开发者的奉献...,让我们可以在众多漂亮的主题上进行自己博客的搭建。...更换博客主题 将他人的主题克隆或下载到本地,将username.github.io里面的除.git之外的东西全部删除,将下载的主题文件全部加进去,再推送到远程仓库,刷新一下浏览器就可以看到更新后的博客了...i 修改配置 一般在主题文件的config.yaml里面修改,如果会html和css的还可以根据自己的需求进行改动 添加功能 我为我的网站添加了 统计访问量 gitalk评论 google analysis
一个HTTP请求的过程 为了简化我们先从一个HTTP请求开始,简要介绍一下一个HTTP求情的网络传输过程,也就是所谓的“从输入URL到页面下载完的过程中都发生了什么事情”。 ...别忘了已经到第三步了,服务器还没给你发响应呢,现在你的浏览器还什么都画不出来。 ...● 终于到了服务器发响应了,不巧你访问的这个服务器比较忙,好几万个人都要这个资源,服务器的上行带宽也是有限的,怎么办? 我觉得我出了几道还不错的面试题。...● PageCache 这个是最快的了,直接在内存中缓存了现有网页的DOM结构和渲染结果,这就是你为什么在点前进后退的时候会这么快。 ...小米路由器和搜狗合作的预取引擎其实就相当于在路由器上加一层缓存款顺便智能预取一下。为什么在这里另起一段专门谈小米呢?难不成是小米的水军?
一、类加载过程(第一次使用该类) java是使用双亲委派模型来进行类的加载的,所以在描述类加载过程前,我们先看一下它的工作过程: 双亲委托模型的工作过程是:如果一个类加载器(ClassLoader)收到了类加载的请求...使用双亲委托机制的好处是:能够有效确保一个类的全局唯一性,当程序中出现多个限定名相同的类时,类加载器在执行加载时,始终只会加载其中的某一个类。...解析需要静态绑定的内容。 // 所有不会被重写的方法和域都会被静态绑定 以上2、3、4三个阶段又合称为链接阶段,链接阶段要做的是将加载到JVM中的二进制字节流的类数据信息合并到JVM的运行时状态中。...如果继承的层次比较深,要调用的方法位于比较上层的父类,则调用的效率是比较低的,因为每次调用都要经过很多次查找。这时候大多系统会采用一种称为虚方法表的方法来优化调用的效率。...当通过对象动态绑定方法的时候,只需要查找这个表就可以了,而不需要挨个查找每个父类。 干货分享 最近将个人学习笔记整理成册,使用PDF分享。关注我,回复如下代码,即可获得百度盘地址,无套路领取!
java在new一个对象的时候,会先查看对象所属的类有没有被加载到内存,如果没有的话,就会先通过类的全限定名来加载。加载并初始化类完成后,再进行对象的创建工作。...使用双亲委托机制的好处是:能够有效确保一个类的全局唯一性,当程序中出现多个限定名相同的类时,类加载器在执行加载时,始终只会加载其中的某一个类。...// 所有不会被重写的方法和域都会被静态绑定 以上2、3、4三个阶段又合称为链接阶段,链接阶段要做的是将加载到JVM中的二进制字节流的类数据信息合并到JVM的运行时状态中。...如果继承的层次比较深,要调用的方法位于比较上层的父类,则调用的效率是比较低的,因为每次调用都要经过很多次查找。这时候大多系统会采用一种称为虚方法表的方法来优化调用的效率。...所谓虚方法表,就是在类加载的时候,为每个类创建一个表,这个表包括该类的对象所有动态绑定的方法及其地址,包括父类的方法,但一个方法只有一条记录,子类重写了父类方法后只会保留子类的。
一、思考 我们都听过知其然知其所以然这句话 那么不知道大家是否思考过new Vue()这个过程中究竟做了些什么?...过程中是如何完成数据的绑定,又是如何将数据渲染到视图的等等 一、分析 首先找到vue的构造函数 源码位置:src\core\instance\index.js function Vue (options..._init(options) } options是用户传递过来的配置项,如data、methods等常用的方法 vue构建函数调用_init方法,但我们发现本文件中并没有此方法,但仔细可以看到文件下方定定义了很多初始化方法..._isVue = true // merge options // 合并属性,判断初始化的是否是组件,这里合并主要是 mixins 或 extends 的方法 if (options...isReserved(key)) { // 验证key值的合法性 // 将_data中的数据挂载到组件vm上,这样就可以通过this.xxx访问到组件上的数据 proxy(vm,
EventLoop是MS中的高频问题,理解繁琐,一步小心,步步入坑。 1、本文要点 1、EventLoop是什么? 2、任务队列是什么? 3、同步任务和异步任务? 4、微任务和宏任务?...... 2、EventLoop是什么?...queue中的回调函数,进入主线程执行 不断的重复这个过程,也就是常说的Event Loop(事件循环)了 3、任务队列是什么?...异步则相反,我并不强依赖你,我对你响应的时间也不敏感,无论你返回还是不返回,我都能继续运行;你响应并返回了,我就继续做之前的事情,你没有响应,我就做其他的事情。...也就是说我不存在等待对方的概念,我就是非阻塞的。
记录下我的学习笔记 原生JS如何获取父节点?...element.parentNode sort()函数详细 sort函数蛮常用,但是我的开发日常也仅限于sort(),还是有必要详细陈列 sort可以接受一个函数 sort((a,b)=>{...return a-b; }) a\b是什么嘞?...我尝试了一下 var array=[-1,1,3,4,6,10]; array.sort((a,b)=>{console.log(a,b);return a-b;}); 1 -1 3 1 4 3 6...---- Promise的then 我想你对于 promise .then(()=>{ console.log('success'); }) 蛮熟悉 谁知道这玩意儿居然有第二个参数!
记录下我的学习笔记 标签模板化字面量 啊c这是什么东西听起来好厉害 不说都不知道,这是通过``定义的字符串带有的特性,我们光知道 `${}` 这种用法,却很少有人知道下边这种用法 `\n`....是有编译器的,我蛮怀疑人生的听到这个 L、R代表左侧和右侧,什么玩意儿的左侧和右侧呢?...是一个赋值操作的左侧和右侧 LHS查询和RHS查询的作用场景是编译器在编译过程的第二部产生了代码,引擎执行它时,会通过查找变量来判断它是否已声明过; 而LHS和RHS查询的区别在哪,按照我的理解:...我尝试了一下,是意外之喜没错了。 ---- 创建对象之Object.create() 这种创建对象的形式和正常创建有什么区别?...在JavaScript中Date、Array这些内置类(然而往底下纠的话,原来这些都是构造函数,震撼我一整年)你也肯定耳熟能详。如果你还不知道什么的原型,往下走看一下"什么的原型链"然后回来看看。
伪元素 伪元素能做什么?我们要他有何用?它能为我们解决什么问题?和其他的方法相比她有什么有点?我们为什么要使用它?...一个父元素的所有子元素如果都是浮动的,那么这个父元素是没有高度的;父元素并没有脱离正常的文档流,仍然占据正常文档流的空间; 如果这个父元素的相邻元素是行内元素,那么这个行内元素将会在这个父元素的区域内见缝插针...,找到一块放得下它的地方 如果相邻的元素是一个块级元素,那么设置这个块级元素的margin-top将会以这个父元素的起始位置作为起点。...3.计数器 动态的计算商品的数量,我们经常会借用js来实现;我想告诉css也能实现这个效果,他比js用起来简单多了 ?...那么为什么使用了 :after 伪元素之后就可以实现对齐了呢?
正文: 我最近在Bug赏金计划中发现了RACE条件漏洞。 描述: 当设计为按特定顺序处理任务的计算系统被迫同时执行两个或多个操作时,就会发生条件竞争攻击。最终,应用程序被迫执行意外动作。...攻击场景: 在这个项目中,每个创建好的管理员在其团队中只能新增3个三个成员。 但是,我通过使用RACE条件竞争漏洞创建了4个团队成员。...我遵循的步骤是: 1.单击添加团队成员按钮发出请求并使用burp捕获该请求 ? 2.” 邮件和姓名”将会作为被攻击字段以利用条件竞争漏洞。...首先我们需要设置屏幕截图中所示的参数值。 现在我们需要更改发送请求的线程数。这一步是最重要的一步,线程设置得高一些,发送到服务器请求包速率就越大。 ?...5.Burp将在点击的一瞬间向服务器发送请求。由于存在RACE条件竞争漏洞,我成功地添加了4个团队成员。现在,我的团队中共有4位团队成员。(脱敏处理过的截图) ? 成功利用!
一、类加载过程(第一次使用该类) java是使用双亲委派模型来进行类的加载的,所以在描述类加载过程前,我们先看一下它的工作过程: 双亲委托模型的工作过程是:如果一个类加载器(ClassLoader)收到了类加载的请求...使用双亲委托机制的好处是:能够有效确保一个类的全局唯一性,当程序中出现多个限定名相同的类时,类加载器在执行加载时,始终只会加载其中的某一个类。...解析需要静态绑定的内容。 // 所有不会被重写的方法和域都会被静态绑定 以上2、3、4三个阶段又合称为链接阶段,链接阶段要做的是将加载到JVM中的二进制字节流的类数据信息合并到JVM的运行时状态中。...如果继承的层次比较深,要调用的方法位于比较上层的父类,则调用的效率是比较低的,因为每次调用都要经过很多次查找。这时候大多系统会采用一种称为虚方法表的方法来优化调用的效率。...所谓虚方法表,就是在类加载的时候,为每个类创建一个表,这个表包括该类的对象所有动态绑定的方法及其地址,包括父类的方法,但一个方法只有一条记录,子类重写了父类方法后只会保留子类的。
java在new一个对象的时候,会先查看对象所属的类有没有被加载到内存,如果没有的话,就会先通过类的全限定名来加载。加载并初始化类完成后,再进行对象的创建工作。...使用双亲委托机制的好处是:能够有效确保一个类的全局唯一性,当程序中出现多个限定名相同的类时,类加载器在执行加载时,始终只会加载其中的某一个类。...,但方法的返回值不同)操作验证:在操作数栈中的数据必须进行正确的操作,对常量池中的各种符号引用执行验证(通常在解析阶段执行,检查是否可以通过符号引用中描述的全限定名定位到指定类型上,以及类成员信息的访问修饰符是否允许访问等...// 所有不会被重写的方法和域都会被静态绑定 以上2、3、4三个阶段又合称为链接阶段,链接阶段要做的是将加载到JVM中的二进制字节流的类数据信息合并到JVM的运行时状态中。...如果继承的层次比较深,要调用的方法位于比较上层的父类,则调用的效率是比较低的,因为每次调用都要经过很多次查找。这时候大多系统会采用一种称为虚方法表的方法来优化调用的效率。
记录我的学习笔记,本篇之前都是JavaScript相关的内容 prototype和proto的灵活应用 想必时间戳的各种转换需求大家见到的不算少,有时候封装一个方法非常有必要。...使用上边的方法你会发现,你可以调用一个实例化Date对象的format方法,但是Date.format()是行不通的 这是自然的,想做到Date.format这种看着很像静态方法的操作(实际应用场景中其实没有所谓...当然我们可以用bind函数硬修改this的作用域,这是我觉得非常实用的函数。...return this.apply(obj,arguments); } } 复制代码 这应该是我能想到的实现 bind 最少代码的形式; new绑定 在js中,并没有所谓的类,JavaScript...,而这样一个箭头函数的this实际上并不存在,箭头函数的this来自于它的上一层作用域
先说重点 BeanFactory BeanFactory定义了IOC容器的最基本形式,并提供了IOC容器应遵守的的最基本的接口,也就是Spring IOC所遵守的最底层和最基本的编程规范。...,但是在创建prototype的bean的时候这里最好返回Bean的类型。...isSingleton 是否单例 实战 哈哈,这也是我写这笔记的原因。一直都知道FactoryBean的存在,但没有找到适合的应用场景,今天给我遇到了。...需求是这样的 请求esb提供的接口获取数据,esb实现的方式是 webservice 。...报文是又长又臭的xml,都写在类的话,对于强迫症的我是接受不了的,所有想到了下面这个方法 报文写在xml中,定义FactoryBean在实例化的过程中读取xml,通过动态代理映射到接口的方法中。
原因是因为最外层的container view没有固定的高度,它的高度由其内部子元素决定,所以橘红色部分的下边刚好和按钮的下边重合。 如何解决这个问题呢?...因为在不同的机型上,屏幕的尺寸是不一样的,固定的高度无法去适配不同的机型,可能出现滚动条,也可能橘红色无法覆盖整个页面。...话说好像电量是我的电脑电量 很遗憾这个导航栏不可以隐藏或者取消,它必须存在。...在前面 我使用了app.json的一个配置项pages,用来注册小程序页面文件. window配置可项用来设置小程序的状态栏、导航栏、标题和窗口的背景色。...我先来学习window配置项下能够更改导航栏颜色的属性:navigationBarBackgroundColor。
右击我的乱涂抹的地方,创建一个文件夹 ? 建立一个文件夹,把照片拖动进去.以前不可以直接拖动 ? 改个名字,不要问为什么 ? ? ? 手机端,看起来还不错吧.......ctrl+S我就不真机运行了,就是这么个感觉 ? 美化一下,也不是太懂前端,恶补一下 ?...只不过早期时候,主流的浏览器对Flex布局的支持并不完善,造成了很多开发者不知道有这种布局的存在或者使用非常少,我们还是习惯使用传统的position和float属性来布局。...journey-container设置了“开启小程序之旅”这段文本的外边框。 ? 为什么其他的元素我们都使用rpx为单位而唯独border这个属性使用的是1px呢?。...最后,我们为什么要强调最好是在iPhone 6的尺寸下做设计图呢?
PHP语言靶场选这里主要选择三个PHP靶场进行渗透测试联系,我在这里选择也主要是以培训为主,因为在实际讲解过程中需要利用不同的场景来进行讲解。...我这里mysql账号和密码默认都是root。设置好以后可以直接在浏览器访问安装即可。 ? 安装完以后,出现这个页面证明安装成功。账号和密码默认是bee/bug直接可进行登 录。...这是我本地数据库连接文件,数据库、账号、密码都是相对应的。Test文件夹里面每一个配置文件你都需要进行更改,才可以进行测试。 ?...这是我本地数据库建立的数据库 ? 如果是第一次则需要进行新建,直接进行setup即可。 ? 安装成功以后就可以进行漏洞测试了。...zvuldrill靶场 最后介绍zvuldrill靶场,因为zvuldrill靶场看起来像一个真实网站,它没有明确和你说哪里是什么问题,让你去找相应的问题点可能出现在哪里,这个你完全可以进行二次开发,
答案: function Person(name) { this.name = name; } var person = new Person("qilei"); // new一个对象的四个过程...设置原型链: 设置新对象的 constructor 属性为构造函数的名称,设置新对象的__proto__属性指向构造函数的 prototype 对象; obj.constructor = Person;...改变this指向:使用新对象调用函数,函数中的 this 指向新实例对象obj: var result = Person.call(obj); //{}.构造函数(); // 4.
对于许多新手比特币用户和投资者来说,这更像是比特币现金发生了重复,本质上看来是给你“自由币(free coins)”。 在这篇文章中,我将解释区块链是如何工作的,以及我对比特币黄金的评估。...然后给出一个具体的例子,说明你为什么要小心它。 ? 最基本的问题:区块链是如何工作的? 为了理解区块链,首先要了解一些关于区块链的基本知识。寻找一个新的区块来扩展区块链的过程叫做“挖掘”。...什么是分叉? 源代码的分叉(软件) 因为比特币是开源软件,任何对它有潜在改进的人都可以做两件事。...这也是为什么人们似乎对比特币黄金(以及其他)的分叉感到满意。 比特币黄金中存在的危险信号 在我的分析中,我发现了几个对比特币黄金的警告,这应该会让你产生产生警惕: ?...此外,我担心比特币黄金的执行会很糟糕,而且会过度地把人们的钱投入到风险中去。 除此之外,已经有一种加密货币Vertcoin,它承诺了与矿商分权同样的目标。而且自2014年以来,这种货币一直在运作。
内存池(Memory Pool),又被称为固定大小区块规划(fixed-size-blocks allocation),允许程序员以类似 C语言 的 malloc 或是 C++ 的 new 操作数进行动态的存储器规划...一个简单的实践示例 这个简单的内存池实践模块在编译期规划 3 个示例内存池,其区块将大小针对程序的需求做最优化。这个程序可以下列接口来规划、使用及归还存储器区块: 从内存池中规划存储器区块。...这个函数会先检测当前的内存池是否仍有足够空间可以规划所需的存储器区块,若空间已不足,将继续尝试下一个内存池。...一个已规划的存储器区块将使用handle来表示 获取一个指向已规划存储器区块的指针 归还之前规划的存储器区块 用以代表存储器区块的handle,可以使用像是 unsigned int 的数据类型来实践。...固定区块大小的内存池不需将每次规划的信息记录下来(例如规划的存储器区块大小,因为每次规划都是一样的)。针对一些小而多的存储器区块规划会节省一些空间。
领取专属 10元无门槛券
手把手带您无忧上云