- 博客(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
原创 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
原创 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
原创 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
原创 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关注的人