- 浏览: 137532 次
- 性别:
- 来自: 杭州
最新评论
-
SINCE1978:
还没细看,似乎取材自一本书《scala与clojure设计模式 ...
Scala设计模式 -
HowKeyond:
补充,我代码中监听了session失效事件,并做了重连,但重连 ...
ZK Timeout再讨论 -
HowKeyond:
请问这一般是什么原因引起的呢?怎么解决?我被这个问题困扰几个星 ...
ZK Timeout再讨论 -
chenchao051:
耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 ...
回答一位网友对Scala的提问 -
dogstar:
唉.唉.唉.唉.唉.唉.唉.唉.唉.唉.唉.唉.唉.唉.唉.
回答一位网友对Scala的提问
文章列表
本来准备在私信里直接回复了,但是发现不太方便,就简要回答在这里。
问题 写道
对于scala的简洁十分佩服,但又觉得比较晦涩,例如一例,Map("a" -> List(11,111)).flatMap(_._2),可否说下最后那个函数做了什么,真正在开发的时候也会如此简洁?谢谢
先回答一点,在实际使用中,Scala毫无疑问就是这么简单。
首先
Map("a" -> List(11,111)).flatMap(_._2) //List(11, 111)
为什么能以_._2调用是因为 -> 标识符产生的 ...
Scala设计模式
我的话: 在国外网站上看到一篇文章,里面详细描述了很多设计模式,并且用Java及Scala两种语言描述,清晰的让我们看到各种常规的设计模式,在Scala中是如何在语言特性层面直接支持的。基于 ...
这个链接可能会有解答
http://askubuntu.com/questions/23009/reasons-why-crontab-does-not-work
此外一定要注意,crontab的默认目录是什么,不要明明已经运行了,你还以为没运行。
mac在/usr/share/vim/vimrc linux在/etc/vimrc
1、问:后退键不能删除数据,不能往后退怎么办?
答:在vimrc中加入set backspace=2
2、问:如何控制tab键的缩进?
答:在vimrc中加入set tabstop=4 (任何你想要缩进的字符数)
3、问:如何在mac的vim中开启语法高亮
答: 在/usr/share/vim/vimrc后加上 syntax on
4、问:如何切换lang到utf8
答:在/etc/profile中加入以下语句:
...
Linux安装mysql的一些坑
- 博客分类:
- mysql
1、mysql不建议在root用户下运行
2、出现服务启动不了,111错误,注意要用chown来赋予权限, 我在root用户下装的mysql,我就把usr/share/mysql/mysql.server复制到/etc/init.d/mysqld, (同时把my-huge.cnf复制/etc/my.cnf)
chown -R cc /etc/init.d/mysqld
chown -R cc /usr/share/mysql/
chown -R cc /var/mysql/lib
chown -R cc /usr/bin/mysql
(cc是我的一个普通账户)
3 ...
改变python的默认语言设置
- 博客分类:
- python
import sys
sys.getdefaultencoding()
可以测试出默认语言,要改变的话,需要在python lib的site-packages文件夹下新建:
sitecustomize.py, 这个文件比较特殊,会在python启动时来加载,所以就可以在里面写上:
import sys
sys.setdefaultencoding('utf-8')
再次测试就ok。
如何寻找python的lib文件夹?
只需要whereis python就看的明白了。一般是/usr/local/lib/python2.7/
原网页被墙,放这里备用。
MySQLdb User's Guide
Contents
Introduction
Installation
_mysql
MySQL C API translation
MySQL C API function mapping
Some _mysql examples
MySQLdb
Functions and attributes
Connection Objects
Cursor Objects
Some examples
最近集群上有个job,其中需要短时间内频繁访问缓存,大概7亿多次。我这边的缓存是使用redis来做的,问题就来了。
首先,redis中存的是普通kv,没有考虑使用hash等解结构,那么以为着这个job需要访问7亿多次redis,导致效率低,且出现很多redis的read timeout exception.
我采取的一些办法:
1、使用pool来管理连接,并且适当放长timeout的时间,切记在每次使用完连接后放回池中。
2、把不同业务的缓存放到不同的redis实例上,效率有一定增加。
3、这个job访问的缓存有个特点,数据量不大,总共才几十兆 ...
在hash中查找key的时候,经常会发现用&取代%,先看两段代码吧,
JDK6中的HashMap中的indexFor方法:
/**
* Returns index for hash code h.
*/
static int indexFor(int h, int length) {
return h & (length-1);
}
Redis2.4中的代码段:
n.size = realsize;
n.sizemask = realsize-1;
...
问题如题
解决如下:
在terminal中运行sudo vmware-config-tools.pl 一路回车,结束后去/mnt/hgfs看,就有了。
使用redis时为了使用hash追求更高的内存使用率,我们一般都用hash结构,并且有时候会把hash_max_zipmap_entries这个值设置的很大,很多资料也推荐设置到1000,默认设置为了512,但是这里有个坑
#define ZIPMAP_BIGLEN 254
#define ZIPMAP_END 255
/* Return the number of entries inside a zipmap */
unsigned int zipmapLen(unsigned char *zm) {
unsigned int len = 0;
...
date -d "-1 month" +%F
以上这段代码,假如在2012/10/31执行,结果并不会出现你预计的9月份,而是会出现八月份,原因是10月份有31天,9月份30天,所以-1 month在10月份看来要减去31天,所以直接到了8月31日这天,这不靠谱。
野路子解决:假设当天日期大于15号,那就减个十天,假如小于15号,那就使用当天日期。
currday=`date +%d`
vd=`date +%F`
if [ $currday -gt 15 ];then
vd=`date +"%F" -d "-1 ...
一、Client-side write buffer 客户端缓存请求
描述:可以缓存客户端的请求,以此来减少RPC的次数,但是缓存只是被存在一个ArrayList中,所以多线程访问时不安全的。
可以使用getWriteBuffer()方法来取得客户端缓存中的数据。 默认 ...
HBase的GC策略采用PawNew+CMS, 这是大众化的配置,ParNew经常会出现停顿时间特别长的情况,有时候甚至长到令人发指的地步,例如请看如下日志:
2012-10-17T05:54:54.293+0800: 739594.224: [GC 739606.508: [ParNew: 996800K->110720K(996800K), 178.8826900 secs] 3700515K->2985396K(6180736K), 187.4174260 secs] [Times: user=1.70 sys=2.42, real=191.35 secs]
不要慌 ...
http://crazyjvm.iteye.com/blog/1693757 文中提到相关超时问题,但是又出现了一个问题,我把min和max都设置成了180000,但是仍然出现了以下的异常信息:
Client session timed out, have not heard from server in 154339ms for sessionid 0x13a3f7732340003 ...
Client session timed out, have not heard from server in 167805ms for sessionid 0x13a3f7732340000 ... ...