自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hongchangfirst

不以物喜,不以己悲

  • 博客(323)
  • 收藏
  • 关注

原创 Putty设置自动连续两次登录

有时候你想登录到服务器A,但是服务器有白名单,你只能从以下堡垒机B登录上去,所以每次你想登录到服务器A,得先登录到堡垒机B,然后在登录到服务器A。我们可以用Putty的local proxy来设置每次登录到服务器A的时候,自动先登录到堡垒机B,然后以堡垒机B作为代理在登录到服务器A,所以从用户的角度看,这样每次就可以直接登录到服务器A了。好下面来看一下怎么设置。首先设置

2014-07-03 10:27:18 3316

原创 Amazon SQS(Simple Queue Service) 简介

SQS即Simple Queue Service, 是一个分布式的消息队列服务,使用它非常简单,消息队列服务可以用来buffer burst, 使整个服务异步处理,不要求组件始终可用.开发人员最初使用 Amazon SQS 时只需用到五个 API:CreateQueue、SendMessage、ReceiveMessage、ChangeMessageVisibility 和 DeleteM

2014-07-02 17:53:17 11425

原创 Amazon S3的数据一致性模型

关于Amazon S3的数据一致性模型有两种:撒旦发有以下几种行为:1 写一个新的object,然后开始读它,直到所有的变化都传播完(副本),你才能读到它,否则就是key does not exist。2 写一个新的object,然后listkeys,直到所有的变化都传播完,你才能看到它。3 覆盖一个已有的object,然后开始读它,直到所有的变化都传播完,你才能拿到最新的ob

2014-06-30 17:58:20 5104

原创 三分钟教你学Git (四)之紧急救助

如果你不小心git reset --hard HEAD^然后这个commit又没有在别的git仓库中,怎么办?是不是这次修改就丢了呢?git为我们每次都历史都保留了reference log如下:$ git commit -A -m "hongchangfirst commit"你现在看git的历史记录,你可以看到两次提交:$ git log* d1f3fg

2014-06-21 16:29:48 2648

原创 Amazon SimpleDB (二) 使用

关于使用这是一个heloworld教程,首先我们创建一个域domain,相当于一个表。注意我们并不能做域之间的连接操作,单次查询都只能针对一个域,不能跨域,这是SimpleDB的一个限制,所以开发者应当规划好,别选错了域。另外所有的存储都是string,UTF-8编码的。

2014-06-04 09:39:21 1869

原创 Amazon SimpleDB (一) 简介

Amazon SimpleDB 是一个非关系型数据库,可认为是一种NoSQL数据库,它内部帮你将数据进行多个区域的存储(副本),用来支持高并发的读取,更新之类的操作只能在中央数据节点进行,但是一般在几秒钟之内就能将变化传播到其它节点。从这可以看出,SimpleDB是提供的是最终一致性。

2014-06-04 09:37:02 7225

原创 Linux递归解压缩一个文件夹下的所有文件

gunzip -r hongchangfirst/data如何递归删除那些剩余的非log结尾的文件?先列出确认一下:find hongchangfirst/data -type f ! -name "*.log"然后真正的删除:find hongchangfirst/data -type f ! -name "*.log" -exec rm -f {} \;

2014-05-24 11:18:05 10733

原创 perl实现多行模式匹配

因为grep不能匹配换行符,grep只能打印单行匹配字符串的行;sed在读入一行的时候会自动去掉末尾的换行,所以sed在进行多行匹配的时候很复杂。这里使用perl,先把文件的全部内容读入,然后进行多行匹配。

2014-05-06 18:08:58 7569

原创 三分钟教你学Git (三)之技巧

先来看看几个比较有用的技巧git stash将工作区中的状态保存到栈中,供以后apply/pop。可以把它理解为一个commit,但是是存在另一个仓库里的。git stash save -u 'something'

2014-05-04 09:58:30 2052

原创 三分钟教你学Git(二)之命令索引

 记住这三个概念,工作区(Working Area),暂存区(Stage),版本库,通过add,工作区的变化到暂存区,通过commit暂存区的变化到本地版本库,通过push本地版本库的变化到远程版本库。下面是常用的命令。 保存进度恢复工作进度#把工作区和暂存区的内容保存到进度列表里git stash save “description”#把工作区和暂存区的所有内容都保存到进...

2014-04-29 15:00:41 4565

原创 三分钟教你学Git (一)之模型

Git是版本控制工具,类似于SVN的作用。这里就忽略掉怎么安装之类的,只讲解Git最重要的思维模型。这三个概念一定要清楚:1 工作区(Working Area)2 暂存区(Stage)3 版本库(repository, 本地仓库和远程仓库)工作区很简单,就是你修改代码时会立即体现的地方。暂存区是Git的特色之一,这个概念不好理解,这里举一个例子说明。如我们领到了

2014-04-29 14:57:20 4251

原创 程序员该怎么面试

有很多师弟师妹们想了解一些找工作的事情,现在把一些想法记录下来,以供参考。这里不讨论程序员应该学什么,应该怎么努力的学习,也不讨论笔试面试的内容等,只讨论关于面试的时候应该怎么做的问题。有很多人在面试的时候觉得自己并未发挥出自己真实水平,最后被pass掉,实在是可惜,也有的人在面试的时候觉得整个说话的状态跟平时的自己判若两人,在面试的时候表现的风格并不是自己平时的风格,这些都是不太好的

2014-03-02 11:37:53 2093

原创 图说博弈论读书笔记

1 囚徒困境个体理性的选择导致了不好的结果,这就是困境。所以个体会选择招供,最后双方都被判刑,都没有得到最好的结果。2 烟草商的意外救赎使用外力打破困境。3 重复囚徒困境一报还一报的伟大胜利.4 智猪博弈劣势者对优势者的剥削,石油组织欧佩克,北约等。5 胆小鬼博弈越不理性,越有可能得到理想的结果。6 上校赛局集中优

2014-02-23 20:44:54 2065

原创 富爸爸穷爸爸读书笔记(下篇)

7 自己的技能过分专业化既是优势也是劣势。在专业化到一定程度时,要适当的拓宽自己的技能面,比如高级程序员可以去学习金融,销售,市场等方面。8 政府人员说富人是贪婪的强盗,富人说政府人员是懒惰的窃贼。为什么呢?对于政府人员来说,应当花掉所有的预算,因为如果剩下没有用完的预算,那么在下次预算评审中,将会存在被削掉这些钱的风险,政府人员并不会因为有结余,而被认为有效率并得到奖励。为避免被

2014-01-06 14:49:48 1535

原创 富爸爸穷爸爸读书笔记(上篇)

1 资产(asset)是可以获得现金的东西,负债(liablility)是使你失去现金的东西。努力构筑自己的资产。2 关注自己的事业,即关注自己的资产。富人关注资产,穷人关注收入。3 税的影响,拥有公司的富人这样花钱:挣钱->花钱->缴税。为公司工作的人这样花钱:挣钱->缴税->花钱。这两种模式差别很大。4 投资自己的头脑,投资财商,包括四部分:财务知识

2014-01-05 11:37:18 1994

原创 高效能人士的七个习惯读书笔记(下篇)

6 问题代表了机会。7 两个顽固,互不相让且过分自我中心的人在一起,注定会两败俱伤。如果实在找不出双方都能接受的方案,倒不如好聚好散。坦诚相见,更有助于发掘及解决问题。为了维持亲情或友谊,经常必须妥协。8 假如两个人意见相同,其中一人就是多余的,与所见相同的人沟通,毫无益处,要有分歧才有收获。

2014-01-02 17:33:46 1993

原创 高效能人士的七个习惯读书笔记(上篇)

1 产出与产能平衡原则,惟有产出与产能取得平衡,才能达到真正的效能。譬如你是否曾因想多做点事情,熬夜不眠,结果却弄得精疲力竭,甚至身体不适?反之,若是好好睡一觉,则第二天精力充沛,可以做更多的事,并准备迎接一天的挑战?2 责任感是一个很重要的概念,能够积极主动的人深谙其理,因此不会把自己的遭遇归咎于环境或他人。即除非你同意,否则任何人都不能伤害你。3 不要说“我办不到”,即

2013-12-27 16:16:38 2619

原创 MySQL忘记root密码怎么办

开启mysql服务的时候使用特殊模式开启mysqld-nt --skip-grant-tables 启动完毕后,我们使用root链接,但是不用输入密码,使用空密码的方式登录MySQLmysql -uroot -p然后我们直接重置root的密码为123update mysql.user set password=PASSWORD('123') where User='ro

2013-12-21 22:46:06 2635

原创 程序员必知(五):卡特兰数

卡特兰数,一种有着特殊规律的数列,先用一道题来引出卡特兰数。10个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问有多少种排列方式?我们可以先把这10个人从低到高排列,然后,选择5个人排在第一排,那么剩下的5个人肯定是在第二排。用0表示对应的人在第一排,用1表示对应的人在第二排,那么含有5个0,5个1的序列,就对应一种方案。比如00000111

2013-12-13 20:33:24 11050

原创 程序员必知(四):找次品

用天平找次品问题具体问题是有一堆硬币(n个),其中有一个较轻的是次品,用天平称,至少称多少次才能找出此次品?很多人直接想到的就是二分法,先均分为2份,然后称,次品一定在较轻的一边,然后继续二分,直到找到那个次品,所以需要log以2为底n的对数次。其实还有更好的方法,此方法的局限在于认为天平一次只能分出来两种状态。其实是可以分成三种状态的。方法如下:每次把待测物品分成三组

2013-12-10 19:41:49 5068

原创 程序员必知(三):一分钟知道URI编码(encodeURI)

因为浏览器会用一些特殊的字符作为特定的意义,所以在要传输的内容上如果有这些特殊的字符的话,就需要对其进行转义才能正确传输,如以下字符为发送时候的关键字,即特殊字符;/?:@&=+$,#所以我们在遇到传输此字符时可以先编码,然后服务器端在进行解码,就可以拿到正确的数据了。如要传输文本的内容为:A=b&c=d则编码为A%3Db%26c%3Dd服务器端进行相应

2013-11-21 21:02:13 10214

原创 程序员必知(二):位图(bitmap)

1 找出一个不在5TB个整数中存在的数假设整数是32位的,总共有4GB个数,我们可以用bitmap,每个整数一个bit,这样大概是4GB/8=512MB, 初始化时都为0,依次遍历这个5TB个数,置相应位为1,最后遍历一次数组,找到第一个为零数即可。2 找出在5TB个数中只出现一次的数字我们至少需要“未出现”,“出现一次“,”出现多次“等状态,所以我们可以用2bit去表示,

2013-11-17 20:59:43 4089

原创 程序员必知(一):CSRF跨站请求伪造

跨站请求伪造是指攻击者可以在第三方站点制造HTTP请求并以用户在目标站点的登录态发送到目标站点,而目标站点未校验请求来源使第三方成功伪造请求。

2013-11-04 23:14:07 6749

原创 内存映射文件机制处理大文件

一般来说,read write操作可以满足大多数文件操作的要求,但是对于某些特殊应用领域所需要的动辄几十GB、几百GB、乃至几TB的海量存储,这种通常的文件处理方法进行处理显然是行不通的。目前,对于上述这种大文件的操作一般是以内存映射文件的方式来加以处理的。内存映射文件是由一个文件到进程地址空间的映射。Win32中,每个进程有自己的地址空间,一个进程不能轻易地访问另一个进程地址

2013-11-02 19:03:52 13442 4

原创 两台一级域名相同二级域名不同的服务器,怎么共享session

比如www.hongchangfirst.com和video.hongchangfirst.com两个域名,一级域名相同,二级域名不同。每个服务器运行着不同的功能模块或者不同的子系统,他们使用不同的二级域名,但用户系统是统一的,即一套用户名、密码在整个网站的各个子系统中都是可以登录使用的。解决这个问题很简单,只需要前后端配合就行。前端:set cookie的时候sessionid的

2013-10-29 20:36:58 6265

原创 c++写模板的注意事项

我们在编译a.cpp文件的时候,a.cpp中并未使用int版本的模板。所以gcc在生成a.o时,不会生成voidfunc(int)版本的函数。所以记住:gcc中和模板相关的代码,都放在.h文件当中。所以在编译每个cpp的时候,会生成对应版本的函数或类.

2013-10-24 19:43:24 2168

原创 注重实效的程序员读书笔记

1发现他人的bug之后:要解决问题,而不是发出指责(Fix the Problem, Not the Blame)。2在遇到bug之后要记住:不要恐慌(Don't Panic)3编写羞怯的代码:不想别人暴露你自己,不与太多人打交道。4要配置,不要集成(Configure, Don't Integrate)。5将抽象放进代码,细节放进元数据(Put Abstractions in C

2013-10-20 19:50:53 1475

原创 人性:人类的五种需求

人类大概有5中需求:1生理需求2安全需求3社会交往需求4尊重需求5实现自我价值需求这五种需求并没有什么阶段之分,即并不是我们必须先实现生理需求,才会考虑安全需求等这样具有层次性的关系。这五种需求是并列的。

2013-10-01 20:23:31 44247 1

原创 怎样接收http响应(http response)

http到response中有一个头叫做Content-Length,代表body有多少字节。但是如果response中没有这个头,一般就是所谓的chunked接收了,这时候会有另外一个头Transfer-Encoding: chunked代表字节数在body中,如:a1...0其中a1是16进制数字,也就是说有161个字节需要传输,最后

2013-09-21 21:05:20 5725

原创 GDB调试core文件

比如生成了core.12345我们用gdb -c core.12345 application_name然后用where和bt来查看在哪里崩溃的。

2013-09-21 18:49:40 4917

原创 删除:大数据取舍之道读书笔记

1 对于人类而言,遗忘一直是常态,而记忆才是例外。然而,由于数字技术与全球网络的发展,这种平衡已经被打破了。如今,往事正像刺青一样刻在我们的数字皮肤上,遗忘已经变成了例外,而记忆却成了常态……在这个记忆已经成为常态的时代,难道每个公开自己信息的人只能永远对信息束手无策吗?我们真的想要一个由于无法遗忘,而永远不懂得宽恕的未来吗?2 大数据变成了一个没有遗忘的时代,很可怕。3 我要警告所有

2013-09-19 21:59:22 3977

原创 Vim用正则表达式进行批量修改

vim设置了 magic 这个东西。简单地说, magic就是设置哪些元字符要加反斜杠哪些不用加的。 简单来说:magic(\m):除了 $ . * ^ 之外其他元字符都要加反斜杠。nomagic(\M):除了 $ ^ 之外其他元字符都要加反斜杠。这个设置也可以在正则表达式中通过 \m \M 开关临时切换。 \m 后面的正则表达式会按照 magic 处理,\M 后面的正则表达式

2013-09-05 23:25:06 4868

原创 Hibernate的一个经典异常(org.hibernate.NonUniqueObjectException)

异常为:org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: 意思是拥有相同的数据库标识符(代表数据库中的同一条记录),但是具有不同的持久化标识符。解决办法1 做一个动

2013-08-23 14:41:14 9514

原创 Hibernate内部运行机理

1.Hibernate 的初始化.读取Hibernate 的配置信息-〉创建Session Factory1)创建Configeration类的实例。它的构造方法:将配置信息(Hibernate config.xml)读入到内存。一个Configeration 实例代表Hibernate 所有Java类到Sql数据库映射的集合。2)创建SessionFactory实例把Co

2013-08-23 14:39:03 4261

原创 Putty管理私钥文件

openssh中,ssh_keygen产生的私钥,id_rsa这种密钥putty是不认识的,必须先把它转换成ppk格式,Windows上如果你安装了git,它里面bin目录下就有ssh_keygen.exe此程序。# ssh_keygen -t rsa有一个puttygen.exe程序,打开它,用以有的私钥进行转化。点击“Load”读取id_rsa文件提示enter p

2013-08-23 14:19:52 5810

原创 JSP中使用taglib出错终极解决办法

jsp中${str}如上使用了foreach等jstl/core中的语法,报错为:org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the

2013-08-23 14:16:29 42024 3

原创 自动自发读书笔记(三)

对待老板:忠诚对于老板而言,公司的生存和发展需要员工的敬业和服从;对于员工来说,需要的是丰厚的物质报酬和精神上的成就感。也就是说,公司需要忠诚和有能力的员工,业务才能进行,员工必须依赖公司的业务平台才能发挥自己的聪明才智。以前总是认为老板太苛刻,现在却觉得员工太懒惰,太缺乏主动性。其实,什么都没有改变,改变的是看待问题的方式。当你是一名雇员时,应该多考虑老板的难处,给老板多一些同情和理

2013-07-29 19:23:59 1523

原创 自动自发读书笔记(二)

对待公司:敬业敬业表面上看起来是有益于公司,有益于老板,但最终的受益者确实自己。以主人和胜利者的心态去对待工作,工作自然而然就能做得更好。每天多做一点,如果你能比份内的工作多做一点,那么不仅能彰显自己勤奋的美德,而且能发展一种超凡的技巧与能力,是自己具有更强大的生存力量,从而摆脱困境。当额外的工作分配到你头上时,不妨视之为一种机遇。既要学习专业知识,也要不断拓宽自己的知识面,一些看似无

2013-07-29 19:23:51 1339

原创 自动自发读书笔记(一)

什么是自动自发(willingness),自动自发就是没有人要求,强迫你,自觉而且出色地做好自己的事情。一、对待工作:勤奋报酬的和所承担的责任有直接的关系。主动要求承担更多的责任或自动承担责任是成功者必备的素质。工作固然是为了生计,但是比生计更可贵的,就是在工作中充分的挖掘自己的潜能,发挥自己的才干,做正直而纯正的事情。不要为薪水而工作,更不要认为给多少工资就做多少工作。将工作视为

2013-07-29 19:23:50 1914

原创 处理C语言之vfprintf的段错误

C语言的段错误想必是每个人都遇到过,整理一下,以供学习之用。今天我执行了一个程序,运行了很长时间后,段错误了,我定位了一下,原来是fprintf的问题,具体是vfprintf的问题。Program received signal SIGSEGV, Segmentation fault. 0x0098735e in vfprintf () from /lib/libc.so.6调用栈

2013-07-01 11:08:48 14170 2

空空如也

空空如也

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

TA关注的人

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