主要记录学习 Git 过程中的一些坑。重点在于各种 Git 操作,但也不限于此,一些和 Git 相关的东西都会记录一下。 本文的思维导图如下: 1....,进而比对两个分支的差异: 可以看到,虽然两次 diff 的参数不同,但是结果是一样,这是因为比对分支的差异,在本质上就是比对 commit 的差异。...必须先执行下面的操作进行同步: git pull origin/remote_branch 这个指令其实做了两件事,第一件事是把远程已被 A 更新的 remote_branch 分支拉到本地: git...fetch origin/remote_branch 第二件事是将这个目前最新的分支与本地 B 自己的分支进行合并: git merge remote_branch origin/remote_branch...6.3 修改同一文件的文件名 假设现在的场景是:A 修改 a 文件的文件名为 a1,之后 push;B 修改 a 文件的文件名为 a2,也想要 push,因为本地和远程不同步,根据之前解释的,到这里自然会报错
0x02 waf绕过方式 1、Web容器的特性 特殊的百分号 在 IIS+ASP 的环境中,对于URL请求的参数值中的%,如果和后面的字符构成的字符串在 URL编码表 之外,ASP脚本处理时会将其忽略。...畸形HTTP请求 当前的HTTP服务依据的是RFC2616标准的HTTP请求,但是当我们向Web服务器发送畸形的,也就是并非这个标准的HTTP数据包的时候,由于Web服务器的一些兼容性的特性,会尽力解析这些畸形的数据包...这些字母的出现顺序,表明了数据的加载顺序。而 php.ini 中这个参数默认的配置是 GPCS ,也就是说如果有 POST 方式传入相同的数组,就覆盖掉 GET 方式传入的。 ?...3、WAF自身的问题 白名单机制 WAF存在某些机制,不处理和拦截白名单中的请求数据: 1、指定IP或IP段的数据。 2、来自于搜索引擎爬虫的访问数据。 3、其他特征的数据。...当然关于文件上传的话,可以试试将关键字换行分离试试看。下面看个例子: ? 对于网站来说,这样写是可以解析的,但是站在WAF的设计者的立场,他们可能并不知道,这个是可以这样写的。
A: 关于这一块我首先说了我们的项目是由多个子系统构建的, 然后说我们系统中的一些调用需要使用到Dubbo, 最后对比了Dubbo与WebService的区别. 5, Q: 面试官问我是否了解集合的一些类...(关于HashMap问的真的很多, 建议大家有时间一定要看下源码, 这里给出一个总结的很好的博文: http://blog.csdn.net/luanlouis/article/details/41576373...关于如何调试我直接说我有了解是通过生成dump文件 然后去调试.剩下就不知道了....简答题并不难, 最后一个关于IO操作且写出代码的题我也空着没有做. 剩下的就是面试了, 这次是一下来了两个面试官, 估计是一面二面全都一起来面了....我自己又找了下HashMap中关于hashcode定位桶的位置的方法: 1 /** 2 * 根据特定的hashcode 重新计算hash值, 3 * 由于JVM生成的的
; 5、和团队其他角色沟通用时,脑海关于需求的千丝万缕先用文字、图表描述出来,在沟通过程中就可以精确的描述和表达,再具体讨论有疑问的点,最后勾勒出整个需求的蓝图; ......信息是数据的组合排列,比如微博上每日最新的资讯,朋友圈不断更新的动态。 知识是大脑对信息的组合与整理,对别人而言的知识,对自己可能只是信息。...信息经过大脑的整合,组织出自己能够理解的知识并沉淀下来,则成为个人的知识、团队的文档。...写文档的几个思路: 太简单的不写; ==> 浪费时间; 自己不熟悉的不写; ==> 误人误己; 炫耀性的文章不写; ==> 蹉跎岁月; 没有总结的不写; ==> 先思考后产出; 看完没有收获的不写...1、明确此篇文档的目标人群; 以技术方案评审文档为例,文档的目标人群是参与评审的技术同学,所以描述需要更加抽象,避免出现大量的细节; 以反馈问题跟进文档为例,文档的目标人群是运营、产品、开发等,所以需要针对特定的逻辑
这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。...2、删除换行符后,删除的行数加 1。 3、修改了某一行后,增加和删除的行数同时加 1 4、统计的代码指标只有增加的和删除的行数,没有修改的行数,与 svn 不一样。...Pretty 参数表示对输出的值进行格式的设置,awk 为 linux 系统中自带的一个强大的文本分析工具,通过后面指定的方式计算出代码的增加和删除的量,同时输出到命令行中。...下图中直接得到修改的值: (2) 统计其他分支的代码修改量 由于进入项目之后,默认进入的是 master 的分支,有可能会有需要统计其他的分支的情况,此时需要先进行分支的切换,然后再进行统计。...总结 本篇文章主要讲了下 Git 的一些基本的概念以及如果使用 git log 的命令来进行一段时间段的代码量统计,其中还可以统计不同作者修改的代码量,其中关于 git log 统计的其他的功能在这里就不细说了
引言 之前做一个POC的时候,Vicky同学遇到一个关于编码的问题,问到我,我觉得当时没有解释得很清楚,于是决定查阅相关的资料文档,写一篇文章,记录这个问题及对背后的原因、原理的理解。...问题 关于这个问题,为了简化起见,我会做一些假设。问题原型是有一个Web application,后台用Java实现,前端Javascript。...这就是计算机专业同学刚上大学要了解的ASCII码表,比如小写的a是97,大写A是65,等等。 由于这种编码只定义了所有的英语字符,所以如果世界上所有电脑都采用英语系统,也就没有下面编码什么事了。...但是现实是残酷的,世界上各个国家,甚至民族都有自己的语言符号,将这些语言文字符号在计算机系统中显示存储,随着计算机的普及,是一件水到渠成的必须要解决的问题,于是就有了以下各种编码方式的出现。...最开始各个主流语言都出现了自己的编码规则,比如简体中文的GB2312,繁体中文的BIG5,日语的JIS等。
Collection也是一个接口,该接口中规范了后序容器中常用的一些方法具体如下所示 Iterable也是一个接口,表示实现该接口的类是可以逐个元素遍历的,具体如下: 站在数据结构来看,List就是一个线性表...,即n个具有相同类型元素的有限序列,在该序列上可以执行增删改查以及变量等操作。
有时候,有些人就有些奇奇怪怪的想法,之前做性能测试的时候。遇到身份证重复校验的问题,自己也做一个简易版。 具体思路是这样的。...用beanshell生成身份证号码,然后用Java写一个Restful接口,接口判断生成的身份证号是否与txt文件里的身份证号重复,如果重复则返回false,如果不重复,则返回true,并且把新的身份证号存入...关于Restful接口的代码如下: public IdCardResponse idCardResponse (@RequestBody IdCardRequest idCardRequest) throws...flag:" + flag + "===id:" + id); } return idr; } Jmeter执行结果如下: 图片 今天的分享就到这里结束了...,有更好的建议或者想法,可以私信或者留言哦!
旗语,电报中的莫斯电码等等,这些东西里面也包含了编码 二、关于字符集和字符编码 因为计算机中的信息都是用二进制数表示的,所以我们必须将汉字、英文按照一定的规则表示出来储存在计算机中 所以字符编码就是为了信息处理...关于BOM 因为UTF-32和UTF-16使用4字节或字节进行编码,因此传输的时候便会出现字节序的问题,例如“奎”的Unicode编码是594E,“乙”的Unicode编码是4E59。...1110之后的所有部分(4个bit)加上后两个字节的除10外的部分(12个bit)代表在Unicode中的序号。...11110之后的所有部分(3个bit)加上后两个字节的除10外的部分(12个bit)代表在Unicode中的序号。...1110 767E 度 e5ba a6 11100101 10111010 10100110 0101 1110 1010 0110 5EA6 关于UTF8和UTF8 mb4 MySQL 5.5.3版本开始
Kubernetes 需要 PKI 证书才能进行基于 TLS 的身份验证。如果你是使用kubeadm安装的 Kubernetes, 则会自动生成集群所需的证书。...但是如果是通过二进制搭建,所有的证书是需要自己生成的,这里我们说说集群必需的证书。 服务器单向认证:只需要服务器端提供证书,客户端通过服务器端证书验证服务的身份,但服务器并不验证客户端的身份。...这种情况一般适用于对 Internet 开放的服务,例如搜索引擎网站,任何客户端都可以连接到服务器上进行访问,但客户端需要验证服务器的身份,以避免连接到伪造的恶意服务器。...的,那么他们是怎么通讯的呢?...该证书的用法和前面介绍的其他证书不同,因为实际上使用的是其公钥和私钥,而并不需要对证书进行验证。
生成包名对应的目录 javac .\Test.java -d . # 运行,一个类的全名应该是包名+类名。...类的全名:com.demo.Test # 运行的目录则是root package所在的目录 java com.demo.Test java执行class文件是根据CLASSPATH指定的地方来找,不是我们理解当前目录...java执行class文件对package的路径是强依赖。它在执行的时候会严格以当前用户路径为基础,按照package指定的包路径转化为文件路径去搜索class文件。...必须要在一行上,多个jar之间以空格隔开,如果引用的jar在当前目录的子目录下,windows下使用\来分割,linux下用/分割 文件的冒号后面必须要空一个空格,否则会出错 文件的最后一行必须是一个回车换行符...(Oracle Corporation) # 启动类的路径名称要与jar包中的路径名称完全一致,否则在执行的时候会报招不到主启动类的错误。
原文链接:关于博客更新的二三事图片前言很显然,正如大家所见到的,这一版本主题v4.7.0进行了大量的删减工作。...可能正如 “大道至简” 吧,相比于前一版本 v3.7.1 ,个人认为可能有点花哨(仅个人认为),所以这一版本并未过多魔改,只在样式上做了些许调整,更多的继承沿用了主题自带的效果。...Added functions这里主要说明新增了哪些功能:嵌入两个Swiper,一个在首页顶部的推荐文章,另一个在侧边栏的广告位(可能称作为外链的集合会比较好,并不一定是广告链接)。...UI以及样式做了一定程度的美化。部分二级导航新窗口打开,例如: 网址收藏、音乐长廊、旧版本入口。友链页添加快速申请按钮。嵌入新的加载动画。Twikoo评论以及自定义表情包样式优化。...结语4.7.0 版本也只能代表一个新的开始。愿大家一起加油,往越来越好的方向发展!
以上这个流程是在设备生产环节完成的,这里的描述还是属于粗线条的,其他一些重要的信息没有列出来,比如:AWS后台如何产生证书、在连接阶段后台是如何通过证书来验证设备的合法性的、厂商的秘钥是如何工作的等等,...server端的解密算法是一样的,当然了这里的算法太简单。...最终,证书server.crt中的内容包括这几个大类: 申请者的基本信息:网站使用的加密算法、网站使用的hash算法; 申请者的公钥; 认证机构的信息:认证机构的名称,证书到期时间。...单向认证和双向认证 上面描述的认证过程,是浏览器用来确认所访问的网站是否是一个合法的网站;文章开头所举的例子:一个物联网产品在连接云平台的时候,是云平台来验证这个想连接进来的设备是否为一个合法的设备。...不同等级的认证机构对审核的要求也不一样,于是证书也分为免费的、便宜的和贵的。 你可能会问:那么根认证机构的证书是由谁签名的?答案是:根认证机构自己签名的,这也叫做自签名。
Java中的分很多种类,按照场景的不同、特性的不同等分为了很多类,下面就来讲讲Java中锁的概念: 自旋锁:是指当一个线程在获取锁的时候,该锁已经被其他线程占用,则该线程会循环等待,并会不断检查是否成功获取锁...乐观锁在获取资源的时候,认为不会有其它线程来资源资源(假定没有冲突),所以在获取资源的时候,不会加锁。其他线程来获取资源的时候,会根据实现场景的不同而采取不同的方式(重试或报错)。...只要一个线程获取到了对象的锁,会修改对象头中的Mark Word状态,同时线程中也会保存对应的状态。 而Java中的乐观锁最常采用的是CAS算法。...悲观锁和乐观锁的应用场景 悲观锁适用于写多读少的场景,操作资源的时候先加锁可以保证资源的正确性 乐观锁适用于读多写少的场景, 不加锁可以让读取数据的效率大幅增强 自旋锁和适应性自旋锁 阻塞或唤醒一个Java...Klass Point是是对象指向它的类元数据的指针,虚拟机通过这个指针来确定这个对象是哪个类的实例,Mark Word用于存储对象自身的运行时数据,它是实现轻量级锁和偏向锁的关键,今天要介绍的也是Mark
这里讨论的文本排序不是一个排序算法,而是作为某个排序算法的底层依赖,常常在多语言环境下需要考虑,比如说中文的排序,日文的排序。...之前就遇到过一个关于文本排序的问题,问题的原型是: 有一个电商平台,商家可以在平台上开店,在商家的后台产品管理界面,商家看到的产品列表默认以名字排序。...这个问题的原因是:电商平台底层用的是Posgres数据库,页面上看到的产品列表的排序是在后台数据库完成的。...关于default的collation是哪个,可以参考Postgres官方documentation - https://www.postgresql.org/docs/9.5/locale.html。...我们创建数据库的时候没有指定,所以用的是default的collation,default的会参考操作系统默认的locale设定,这里是en_US.utf8。
当然,这种老掉牙的特性是不会引起高冷的PM的注意的,只会扔给开发狗交给我们去适配。...对于这一个看似自废武功的调整,我举双手赞成。 Quick Setting 说到这个话题,真的很想用标准朋友圈标题:《Android Developer一定不会告诉你的事!怒转!》...瘦身计划 这个并不是说Android机器人变瘦了,实际上,它还是那个胖胖的样子: 额。。。天天吃苹果当然会胖。。。...同时,关于设计方面,Material Design推出已经接近两年,尽管有很多应用已经适配,但是包括微信、Facebook、Twitter在内的很多主流应用仍然在坚持使用自己的设计语言。...嗯,关于碎片化,首先,Android目前版本分布是酱紫的(来自Google官方,链接http://developer.android.com/about/dashboards/index.html)
要成为专家,需要采用正确的训练方法,然后通过高质量反馈循环不断提高。 因此,你需要做的就是在尽量短的时间内给你的用户提供大量高质量的示例。...对于那些已经入门的用户,你需要做的就是不断优化产品,解决他们遇到的问题。如果解决不了,请诚实的告诉他们:我看到了你的反馈,这里确实有问题,不过目前我们还无法解决。...对产品设计的启示:尽量减少对用户的干扰,让用户把有限的大脑资源用在最重要的事上。 怎么减少干扰?...大脑有一个过滤系统,如果你的产品或者功能无法说服它,它就会直接把你过滤掉,因此你必须知道大脑关心什么。 人类已经进化了上万年,科技飞速发展只是最近几百年的事,因此大脑在这方面显得相当落后。...在我看来,世界本身是个高维的东西,我们人类则处在低维空间,因此我们看到的都只是真实世界的一个投影。从这个角度出发,如果世界中有一个放之四海皆准的方法,投影到不同的低维空间也会导致不同的结果。
在一些极限编程的方法中,是可以考虑让别人来做单元测试的,但是,程序的作者还是要对单元测试负责。 好的单元测试还需有以下一系列标准: 单元测试应该在最低的功能/参数上验证程序的正确性。...一般情况下,单元测试中的模块可以直接引用其他的模块,并期待其他的模块能返回正确的结果。...阿超:对,把单元测试的责任和代码作者绑定在一起后,代码作者就能更真切地体会到复杂代码的副作用,因为验证复杂代码的正确性要困难得多。要注意的一点是:100%的代码覆盖率并不等同于100%的正确性。...在下面的情况下,100% 的覆盖率和100% 的正确性不是同一回事: a) 代码中并没有处理错误情况。...如此折腾多次以后,大家就会觉得维护单元测试是一件很费时费力的事。 很多开发人员有这样那样的借口不去提高单元测试的覆盖率, 其中一个就是: 这一部分代码永远测不到!
在发布了关于烂代码的那些事(上)之后,发现这篇文章竟然意外的很受欢迎,很多人也描(tu)述(cao)了各自代码中这样或者那样的问题。...在准备bootcamp的课程的时候,我就为这个问题犯了难,我尝试着用一些精确的定义区分出“优等品”、“良品”、“不良品”;但是在总结的过程中,关于“什么是好代码”的描述却大多没有可操作性 2.1.好代码的定义...; 4.性能接近最佳化,避免代码混乱和无原则的优化; 5.整洁的代码只做一件事。...Grady Booch,《面向对象分析与设计》作者: 1.整洁的代码是简单、直接的; 2.整洁的代码,读起来像是一篇写得很好的散文; 3.整洁的代码永远不会掩盖设计者的意图,而是具有少量的抽象和清晰的控制行...其次也需要考虑注释的质量:在代码可读性合格的基础上,注释应该提供比代码更多的信息。文档和注释并不是越多越好,它们可能会导致维护成本增加。关于这部分的讨论可以参考简洁部分的内容。
因为安卓的开源的原因,很多厂商都自己定制了自己的系统,以至于安卓的碎片化特别严重。...三方推送对比其他推送方式的特点 其他推送方式还有:C2DM、轮询、SMS、MQTT协议、XMPP协议等等,相对于这些推送方式,第三方推送方式的特点分别是: 优点: 成本低 上述的推送大多数是免费的...App,你家的推送就能到达用户 缺点 安全性低 使用别人的服务器,所以你懂的。...服务会被杀死 由于Android系统的机制,后台推送 Service 会被各种主动的或是被动的行为给杀死,而服务一旦被杀死,意味着就接收不到推送消息。...手机厂商的推送服务在自家的手机上属于系统级别的服务,这意味着系统不会杀死自家的推送服务 比如说,Android原生系统是不会杀死C2DM消息推送服务,MIUI系统是不会杀死小米的推送服务。
领取专属 10元无门槛券
手把手带您无忧上云