关闭

[置顶] CURL - SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

curl -G -v https://www.zhc.com:443/ * Adding handle: conn: 0x1fee30 * Adding handle: send: 0 * Adding handle: recv: 0 * Curl_addHandleToPipeline: length: 1 * - Conn 0 (0x1fee30) send_pipe: 1, rec...
阅读(111) 评论(0)

[置顶] 怎么迅速将Java对象的详细内容打印下来

可以利用JSONObject和JSONArray. import net.sf.json.JSONObject; 比如你有一个复杂的对象:Person, 里边有姓名,电话,地址,地址又是一个复杂的类。 你有一个Person的对象person,你可以先将此对象转化成JSONObject对象, personJSON = JSONObject.fromObject(person);...
阅读(83) 评论(0)

[置顶] TCPDump抓包然后Wireshark进行分析

在服务器上输入下面的命令, 会讲eth0网卡上面,端口号是443的tcp流量都存入zhc.data文件。 sudo tcpdump -i eth0 -w ~/zhc.data port 443 Ctrl + C ^C192 packetscaptured 194 packetsreceived by filter 0 packets droppedby kernel 然后将zh...
阅读(82) 评论(0)

[置顶] openssl向SSL服务器发送请求

打印所有server端发过来的请求 openssl s_client-connect hongchang.corp.amazon.com:4443 将客户端发送的内容也显示出来。 openssl s_client-connect hongchang.corp.amazon.com:4443 -msg 将状态也打印出来 openssl s_client-connect ho...
阅读(204) 评论(0)

[置顶] Java SSL - CertificateException: No name matching

用java去连接SSL网站时,有时候出现: Caused by: java.security.cert.CertificateException: No name matching ... 这是因为虽然server的certificate被trust了,但是host name verify验证失败,因为你connect的service的hostname和证书中的subject CN nam...
阅读(59) 评论(0)

[置顶] 一些常用的加密算法简介 - DES, AES, DSA

DES全称是Data Encryption Standard, 翻译成中文时数据加密标准。DES算法将64位多明文变位64位点密文。 AES全称Advanced Encryption Standard,翻译成中文是高级加密标准,是美国联邦政府采用的一种区块加密标准,用来替代DES。它是一种对称密钥加密算法,一般AES先用一个密钥进行加密,之后再用此密钥进行解密。 AES在设计的...
阅读(93) 评论(0)

[置顶] 一分钟教你知道乐观锁和悲观锁的区别

悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。...
阅读(197685) 评论(32)

[置顶] awk按照多个分隔符进行分割

我们知道awk可以进行类似于cut之类的操作,ru...
阅读(47932) 评论(0)

[置顶] 程序员必知(六):信息论问题

具体问题:有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只小白鼠才能在24小时时鉴别出那瓶水有毒。 这道题的本质是,至少用多少个老鼠可以表达1000种方式。即用多少位可以表达1000,为n=10,因为2的10次方等于1024,大于1000,所以此题的答案是10. 我们看具体解法: 给1000个瓶分别标上如下标签(10位长度):  0000...
阅读(1871) 评论(4)

[置顶] 三分钟教你学Git(二)之命令索引

工作区(Working Area),暂存区(Stage),版本库(head->master or branch) 保存进度恢复工作进度 #把工作区和暂存区的内容保存到进度列表里 git stash save “description” #列出stash里的所有项 git stash list #把进度恢复出来并删除进度列表中的项 git stash pop #只把进度恢复出...
阅读(3145) 评论(0)

[置顶] Linux命令惯用法

1 硬连接与软连接  ln a b 这是硬连接,a文件和b文件是同一个inode,连接数为2 ln -s a c 这是符号连接,c文件是一种特殊的文件,即连接文件,指向a,c文件的inode和a文件的inode不同。 可用ls -li来查看inode号。   2想要动态的查看一个文件内容的变化,可以用tail命令 如:tail -f /var/log/messages #将文件最...
阅读(2129) 评论(0)

系统设计 - 关于用户体验与安全性之间的折衷

有时候想安全,就得牺牲掉一些用户体验,而一些更好的用户体验会牺牲掉一定的安全性,所以安全性与用户体验有时候是一对矛盾体,得想办法做tradeoff。 比如说验证码,CAPTCHA,现在很多网站在登陆或者提供的其它服务会让用户输入验证码来验证操作是由人发出的,而不是robot发出的,前提是robot无法破解你所采用的验证码。而这样所有的登陆操作,不管是人还是robot都会面临验证码,也就是...
阅读(165) 评论(0)

状态模式,命令模式和策略模式的区别

设计模式中有三个模式State, Command, Strategy,这三种设计模式都是行为型设计模式,在结构上又都很像,所以很多时候分不清楚。 区分这三种模式不要focus在结构上,这三种模式最主要是在使用意图上有区别: 状态模式:内部维护一个状态,会随着public api的调用进行相应的状态转移。外界不需要知道状态及其变化情况。 命令模式:根据客户的请求封装相应的命令,处理者就...
阅读(146) 评论(0)

三分钟教你学Git(二十五) 分拣文件

有时候我们需要将某一个commit中的部分改动提取出来,然后放入一个新的commit中,可以怎么做呢? 我们举一个简单的例子: 假设说commit_1中有5个文件修改分别叫做A, B, C, D, E. 情况1: 然后想将A文件作为一个单独的commit,剩下的四个文件作为另一个单独的commit,可以这样做: 首先将commit_1的改动重新还原到工作区。 git reset --m...
阅读(268) 评论(0)

JVM如何设置DNS缓存失效时间

JVM为了提高效率,会将第一次的DNS结果缓存起来。...
阅读(197) 评论(0)

三分钟教你学System Design

系统设计问题有很多,比如: 1 设计一个短域名系统 2 设计一个搜索引擎 3 设计一个在线象棋游戏 4 设计一个社交平台,实现follow notification。 在面对这些系统设计问题时,不要怕,让我们一步一步的搞定它。 第一步:澄清问题,Clarify and  Scope it. 我们首先要做的就是弄清楚问题,包括限制条件,各个接口的TPS有多大,数据量有多...
阅读(158) 评论(0)
277条 共28页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1484355次
    • 积分:12729
    • 等级:
    • 排名:第1208名
    • 原创:273篇
    • 转载:1篇
    • 译文:3篇
    • 评论:139条
    博客专栏