自定义博客皮肤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)
  • 收藏
  • 关注

原创 三分钟教你学Git (十) 之 bad object HEAD错误

有时候进入到Git仓库执行命令:git status显示:fatal: bad object HEAD直接:git pull origin hongchangfirst将远程分支的内容重新sync下来即可。

2015-05-04 18:09:49 28321 3

原创 三分钟教你学Git (九) 之 新建分支错误

zhc@hongchangfirst$ git checkout -b hongchangfirst origin/hongchangfirst出现:fatal: Cannot update paths and switch to branch 'hongchangfirst' at the same time.Did you intend to checkout 'hongcha

2015-05-04 18:06:56 10588 1

原创 三分钟教你学Git(八) 之 删除分支

有时候开发了很多的特性,开了很多的分支,时间长了分支就多了,想要把不用的分支删除,怎么办呢?#查看本地都有哪些分支git branch#查看所有的分支,包括远程的git branch -a#删除本地的某个分支git branch -D hongchangfirst#删除远程的分支git branch -r -d origin/hongchan

2015-05-04 18:03:45 39617

原创 三分钟教你学Git (七) 之 跨平台协作

最常见的就是Linux和Win换行符的不同,在Linux下换行符是\n,但在Win下换行符是\r\n。也就是说所有的Linux下的文件如果直接拷贝到Win上,则所有的行都变成了一行;Win下的文件到Linux下就变成了每一行后边都有一个^M。Git将此考虑在内,有一个选项可以在Git检出代码库上的代码时,如果是在WIn上,那么自动将\n变成\r\n。然后在提交代码时,在将\r\n转换成

2015-04-09 17:17:49 2229 2

原创 Java远程调试原理与运用

Java远程调试的原理是两个VM之间通过debug协议进行通信,然后以达到远程调试的目的。两者之间可以通过socket进行通信。

2015-04-09 17:10:19 25512

原创 Linux如何根据IP地址反查hostname

在Linux下有一个工具叫做nslookup,可以根据IP地址查询到此IP地址对应的hostname。比如:nslookup 10.0.0.5即可查询到此IP对应的hostname。nslookup hongchangfirst.amazon.com即可查询到此hostname对应的IP。根据hostname如何查询IP呢,直接ping即可,即可显示IP地址。

2015-04-04 16:30:20 58995

原创 三分钟学习Git(六) 之 多次提交变一次

你建了自己的分支,如zhcgit branch -b zhc然后你做了很多次的commit。你想把这写很多个commit作为一个commit到mainline branch上,该怎么做呢?首先更新mainline到最新git checkout mainlinegit pull --rebase然后将zhc分支的多个commit变成一次commitgit me

2015-04-04 10:29:27 8207 1

原创 Linux 使用利器 screen和tmux

使用telnet或SSH远程登录linux时,如果连接非正常中断,重新连接时,系统将开一个新的session,无法恢复原来的session.screen命令可以解决这个问题。Screen工具是一个终端多路转接器,在本质上,这意味着你能够使用一个单一的终端窗口运行多终端的应用。screen -lsscreen还有另一个tmux也是非常的强大。tmux #开启tmux...

2015-03-02 10:40:56 12463

原创 Amazon CloudFront简介

Amazon CloudFront类似于CDN,提供全球的内容分发服务,它在全球都有很多edge location,使你的客户能最小延迟的拿到数据。他的原理是这样的,你会配置一个origin,当请求来的时候,CloudFront会根据配置去相应的origin拿数据,并缓存起来到全球的各个edge location。下次客户就直接在最近的edge location拿数据就行了。Origi

2015-03-02 10:34:49 11332

原创 Oracle sql union all

sql union all这个指令的目的也是要将两个 SQL 语句的结果合并在一起。 sql union all和 sql union不同之处在于 sql union all会将每一次符合条件的数据列出来,无论数据库有无重复。用法也很简单:SELECT top 50 FROM StoreData_200903UNION ALLSELECT top 50 FROM StoreData

2015-03-02 10:30:36 1916

原创 思考致富读书笔记

1 欲望,即首先要想致富,要有目标。2 自信,即要相信自己。3 自我暗示,即自己所做的事情就是自己喜欢做的事情。4 学习专业知识,并运用它们。5 想象,发散你的思维,形成点子库。6 制定计划7 快速果断的决策8 毅力,坚韧不拔。9 智囊团10 个人魅力11积极主动12

2015-03-02 10:25:26 2177

原创 三分钟教你学Git (五)之 查询历史

我们知道查询历史是git log如果想要piaoliagit log --graph --decorate

2015-02-13 17:43:34 1778

原创 如何生成邀请码?

如何生成邀请码?限制条件如下:1 邀请码比较短,2 速度要快3 用户不能很容易的发现规律方案1:用自增条件一和二都可以满足,但条件三就不能满足。方案2:用随机数去生成邀请码条件1和3可以满足,但是因为要检测碰撞,所以条件2不能满足。方案3:利用自 1970 年 1 月 1 日(00:00:00 GMT)至当前时间的总秒数。比如

2015-02-13 17:38:57 19176

原创 Merkle Tree 简介

先说说用途,Merkle tree可以减少数据的传输量。故名思义,它是一种树,而且是存储哈希值的

2015-02-04 10:36:30 3235

原创 Linux TCP调试利器 - nc

比如你想给某一个endpoint发送轻松nc

2015-02-04 10:34:23 19419

原创 ubuntu更改屏幕分辨率

先创建一个模式cvt 1366 768xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784  768 771 781 798 -Hsync +Vsync加进去xrandr --addmode VGA1 "1368x768_60.00"开启这个模式xrandr --output VGA1 --mode "136

2015-01-25 16:04:06 2952

原创 如何获得外部看到的外网IP

curl ifconfig.me原理是这样的:

2015-01-14 15:19:33 3915

原创 RazorSQL简介

RazorSQL 是一个非开源的功能非常强大数据库查询工具、SQL的编辑、数据库管理工具。支持通过 JDBC 和 ODBC 连接超过 29 种的数据库。

2015-01-09 16:10:41 4752

原创 数据同步的利器 - rsync

如果我们想rsync -avzP  --delete  --password-file=rsyncd.secrets   root@192.168.145.5::rhel4home rhel4home

2015-01-09 16:09:36 1149

原创 ssh出现connection timeout

有时候ssh到一个机子的时候,等了一会儿,出现connection timeout,但是并不清楚到底是哪里出错了。我们可以有几个好的办法确定是哪里出了问题。第一,先ping你的机子,如果不能ping通,考虑网络是否是断的。但是如果不能ping通,有可能是机子设置了相应的不回复icmp的ping报文等,也不能完全作为判断依据。第二,如果你用的域名,可以换成IP,试试IP能不能pi

2014-12-16 15:33:47 79299 4

原创 ssh执行非交互式命令

如果你想用脚本自动化登录到某台机子上,然后在上边执行个命令,怎么办呢?可以使用ssh的非交互式命令ssh zhc@hongchangfirst.com "/home/hczhang/bin/build.sh"这里可以用expect模拟键盘输入将密码输入,也可以用无密码登录,具体就是将自己的公钥放在对端的authorized_keys里,登录的时候就不用输密码了,就是建立两台机子

2014-12-11 16:35:00 7145

原创 程序员怎么分清角色,控制风险和汇报工作

做每一个项目,最好大致把跟自己合作的人分一下类,

2014-12-11 16:31:07 7671

原创 oAuth2.0协议简单说明

先说三种角色:1 Resource Owner,比如说我有一个亚马逊帐号,我就是这个亚马逊帐号的owner。2 Resource Server,比如说亚马逊的服务器。3 Client,一般指第三方的应用,即想使用Resource Owner在Resource Server上的Resource的应用。以前Owner如果想让Client访问在Resource Server上的资

2014-12-01 17:21:52 1539

原创 Java lombok-利用注解来帮你生成方法

lombok 提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码。特别是相对于 POJO.

2014-11-07 16:46:51 6236

原创 分析代码的利器 - ctags

比如我们在分析代码的时候,需要看某一个方法或类的定义,我们需要暂时跳转过去看一下,然后还能很方便的回来,这时候ctags就派上用场了。

2014-11-05 18:40:37 1470

原创 Shell中#*/和%/*是什么意思?

shell中有许多奇特的语法:比如有以下一段脚本;#!/bin/shfiles=`find -name *.conifg`for i in $filesdo  name=${i#*/}  dir=${name%/*}donename和dir都代表什么呢?假如i=this/is/a/path.config那么name=is/a/path

2014-11-05 15:29:59 52751 2

原创 怎么用命令行执行jar文件

如果你配置好了jre环境,你现在有一个打包好的jar文件

2014-11-03 18:43:02 16858

原创 Amazon SQS简介 上篇

SQS即Simple Queue Service, 是一个分布式的消息队列服务,使用它非常简单,消息队列服务可以用来buffer burst, 使整个服务异步处理,不要求组件始终可用.

2014-10-24 11:23:11 4732

原创 怎么进行robot检测

服务端可以通过三种途径进行robot检测,第一种,利用http的User-Agent header进行判断,这种是最正常的判断,但这种不能检测出不友好的请求,它可以伪造。第二种,限制请求频率,普通用户不可能在一定的时间内请求过多次,所以可以检测出。但请求方可以进行随机,限时进行请求。第三种,根据日志进行分析来检测robot。

2014-10-18 16:41:55 4187

原创 Java ConcurrentHashMap分析

ConcurrentHashMap就是HashMap的线程安全版本,值得一提的是,ConcurrentHashMap并没有用一个锁来保护整个哈希区,而是使用了16个锁,将哈希区分成了16个桶,每一个锁控制一个桶,即锁分段,这样子可以更加细粒度的锁对象,所以最大提供16个并发的读写,来提高吞吐量。

2014-10-09 12:14:36 1230

原创 Java CopyOnWriteArrayList分析

CopyOnWriteArrayList是一种线程安全的ArrayList,顾名思义,它会利用写时拷贝技术,它对共享对象做只读操作的时候,大家都用一个共享对象,如果有可变的操作时,就会复制一份出来,然后在新的拷贝上进行操作。

2014-10-09 12:13:53 2262

原创 Java LinkedBlockingQueue和ArrayBlockingQueue分析

LinkedBlockingQueue是一个链表实现的阻塞队列,在链表一头加入元素,如果队列满,就会阻塞,另一头取出元素,如果队列为空,就会阻塞。LinkedBlockingQueue内部使用ReentrantLock实现插入锁(putLock)和取出锁(takeLock)。putLock上的条件变量是notFull,即可以用notFull唤醒阻塞在putLock上的线程。takeLo

2014-09-29 12:09:13 15227

原创 什么是BitTorrent协议

一般的下载服务器为每一个发出下载请求的用户提供下载服务,而BitTorrent的工作方式与之不同。分配器或文件的持有者将文件发送给其中一名用户,再由这名用户转发给其它用户,用户之间相互转发自己所拥有的文件部分,直到每个用户的下载都全部完成。

2014-09-09 12:06:58 3824

原创 perl实现从一个文件中随机抽取n行

if(@ARGV!=2){  die "Usage: $0 sample_file sample_number\n";}my($sample_file, $sample_number) = @ARGV;open my $FILE, "my @content = ;my $all_number = @content;#print "|$all_number|\n";

2014-09-09 11:42:42 4231 1

原创 Linux下平均分割大文件

split -l 10000 openid_dataset -d -a 2 partition_openid_dataset_ 如果有不明白的spilit --help

2014-09-04 17:42:22 3648

原创 Amazon DynamoDB 简介(二)

在DynamoDB中,database是table的集合,table是item的集合,item是attribute的集合。attribute是name-value对。value可以是单值属性也可以是多值属性(集合)。一个item的大小不能超过64KB。

2014-08-20 11:37:05 4624

原创 Amazon DynamoDB简介(一)

DynamoDB的数据是存储在SSD(Solid State Drive,固态硬盘),这样可在预测的低延迟响应时间之内,存储和访问任何规模的数据,另外SSD 还具有很高的 I/O 性能,能够处理大规模请求工作负载。我们来看看DynamoDB的不适合的使用场景:如果需要存储大量数据,但这些数据的访问频率很低,则 DynamoDB 可能不太适合。

2014-08-20 11:35:03 9793

原创 Amazon DynamoDB 设计思想(零)

今天我们来看看DynamoDb的设计思想。DynamoDB主要是想要达到高可用性(availability),因为CAP理论,所以只能牺牲一致性了,但是会实现最终一致性。

2014-08-20 11:22:31 3660

原创 awk按照奇数行和偶数行进行处理

取奇数行awk 'NR%2' file MR是行号,行号对2取模,奇数的结果为1,所以打印如果还不懂看这个你就懂了awk '{if (NR%2==1) print $0}'  file

2014-08-06 15:42:58 16707

原创 Perl如何过滤html标签

比如一串字符串123如果只想拿到123怎么办呢?用perl的正则表达式可以很容易的做到。$str =~  s/(.+?)/$3/sg;这种只能过滤掉左右对称的标签,如果你的字符串里的html标签不对称,或者是有缺陷,这种方式就做不了了。如果上边的看不懂,那看个简单的:$retPromotionInfo=~s///g;$retPromotionIn

2014-07-17 15:22:11 2442

空空如也

空空如也

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

TA关注的人

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