家里来了个蟋蟀
好坑爹啊,家里不知道从什么地方来了个不速之客-蟋蟀,夜半三更的在洗手间里,“嗓音”那个嘹亮啊,估计LP也被吵得没休息好,到6点钟,终于忍无可忍,5分钟后结束战斗,罪过。
雅思口语王送到,开始认真看书了。
好坑爹啊,家里不知道从什么地方来了个不速之客-蟋蟀,夜半三更的在洗手间里,“嗓音”那个嘹亮啊,估计LP也被吵得没休息好,到6点钟,终于忍无可忍,5分钟后结束战斗,罪过。
雅思口语王送到,开始认真看书了。
以前在爬网页的时候,用的最多的方法是直接查看源代码,然后分析源码,一步步搞到自己需要的数据,绑LP抓人人网的照片数据时经常用的,很土很暴力结果也很实在。今天帮同事实现一个后台自动抓数据的,有意地用了下HtmlParser,果然很是强大,把自己关心的那部分代码摘录一下,存档。
public static void main(String[] args) throws IOException, ParserException { StringBuilder sb = new StringBuilder(); BufferedReader buf = new BufferedReader(new FileReader(new File("d:\dc.html"))); String tmp = ""; while ((tmp = buf.readLine()) !=null) { sb.append(tmp).append("n"); } System.out.println(sb.toString()); //创建解析器 Parser parse = Parser.createParser(sb.toString(), "GB2312"); //需要parse的内容 NodeFilter textFilter = new NodeClassFilter(TextNode.class); NodeFilter linkFilter = new NodeClassFilter(LinkTag.class); NodeFilter titleFilter = new NodeClassFilter(TitleTag.class); OrFilter orfilter = new OrFilter(); orfilter.setPredicates(new NodeFilter[]{textFilter, linkFilter, titleFilter}); //解析各个节点 NodeList nodeList = parse.parse(orfilter); Node[] nodeArr = nodeList.toNodeArray(); //内容输出 sb =new StringBuilder(); for (Node node : nodeArr) { if(node instanceof TextNode){ String text = node.getText(); sb.append(text); }else if (node instanceof LinkTag){ String link = ((LinkTag) node).getLink(); sb.append(link); }else if (node instanceof TitleTag){ String title = ((TitleTag) node).getTitle(); sb.append(title); } } System.out.println(sb.toString()); }
小宝小宝的叫着,正式的名字总是没有定下来,每当想起来起名字就觉得很头疼,今天下午草草的翻了下诗经,记录下自己觉得还算可以的几个名字,回家和LP商量商量。全部取自诗经:
女:
窈窕淑女,君子好逑。 子好 君淑
杨柳依依。今我来思,雨雪霏霏。 采薇 柳依 雨霏 霏霏 雪依
有美一人,清扬婉兮 清婉 婉清 清扬
山有嘉卉,侯栗侯梅。 嘉卉
交交桑扈,有莺其羽。 羽莺
兕觥其觩,旨酒思柔。 思柔
饮酒孔嘉,维其令仪。 嘉仪
有女同车,颜如舜英 舜英
桃之夭夭,灼灼其华 灼华
蒹葭苍苍,白露为霜。所谓伊人,在水一方 伊露
青青子衿,悠悠我心 子衿
——————————————–
男: 阅读全文…
每周记录下零星的收获吧,无论对心情还是以后的技术或多或少有点益处的吧,大部分摘自weibo/twitter
先上技术类:
1. discuz论坛装插件,/forumdata/目录要有可读可写的权限,今天被坑了好长时间,直接从线上复制下来的程序,到本地解开后属性丢了,最后才想起来权限的问题。
2. Nginx+fastcgi报错502/504,解决方案已经写这儿了。
3. Mysql权限开通: grant all privileges on game_stat.* to webgame@’10.3.16.26′ identified by ‘webgame’;flush priviledges;
现在插入生活:
1.在家抓紧时间看书-学习,这个摆在第一位。
2.照顾好LP和小宝。
3.地铁路上无聊看网络小说,不过好多没结局的,以后提前搜下,没结局的就不看了
上周五参加公司的管理员工培训,没想到比较无聊乏味的讲座居然听得还不错,是讲解一个很牛逼的性格测试的,MBTI测试法,可能有的同学以前做过,不过本人还是第一次接触。
MBTI的基本就是把测试分成了四纬度,是有版权的,不好多加评论,感兴趣的同学,可以自行研究这篇文章-MBTI性格测试,精髓也算讲到了。
用字母代表如下:
精力支配:外向 E — 内向 I
认识世界:实感 S — 直觉 N
判断事物:思维 T — 情感 F
生活态度:判断 J — 知觉 P
其中两两组合,可以组合成16种人格类型。
本人的性格是ISTJ类型的,准确度自己感觉高达90%以上,LP大人和我正好互补,真是不错,据说同一类性格的人不适合在一起工作,比较乏味的说,用之生活亦是如此,嘿嘿。
—————
沉静,认真;贯彻始终、得人信赖而取得成功。讲求实际,注重事实和有责任感。能够合情合理地去决定应做的事情,而且坚定不移地把它完成,不会因外界事物而分散精神。以做事有次序、有条理为乐—不论在工作上, 家庭上或者生活上。重视传统和忠诚。
ISTJ型的人是严肃的、有责任心的和通情达理的社会坚定分子。他们值得信赖,他们重视承诺,对他们来说,言语就是庄严的宣誓。 ISTJ型的人工作缜密,讲求实际,很有头脑也很现实。他们具有很强的集中力、条理性和 准确性。无论他们做什么,都相当有条理和可靠。他们具有坚定不移、深思熟虑的思想,一旦他们着手自己相信是最好的行动方法时,就很难转变或变得沮丧。ISTJ型的人特别安静和勤奋,对于细节有很强的记忆和判断。 他们能够引证准确的事实支持自己的观点,把过去的经历运用到现在的决策中。他们重视和利用符合逻辑、客观的分析,以坚持不懈的态度准时地完成工作,并且总是安排有序,很有条理。他们重视必要的理论体系和传统 惯例,对于那些不是如此做事的人则很不耐烦。ISTJ型的人总是很传统、谨小甚微。他们聆听和喜欢确实、清晰地陈述事物。ISTJ型的人天生不喜欢显露,即使危机之时,也显得很平静。他们总是显得责无旁贷、坚定不变 、但是在他们冷静的外表之下,也许有强烈却很少表露的反应。
您适合的领域有:工商业领域、政府机构 金融银行业、政府机构、技术领域、医务领域
您适合的职业有:
· 审计师
· 会计
· 财务经理
· 办公室行政管理
· 后勤和供应管理
· 中层经理
· 公务(法律、税务)执行人员
· 银行信贷员
· 预算分析师
· 保险精算师
· 税务经纪人
· 税务检查员
· 机械、电气工程师
· 计算机程序员
· 数据库管理员
· 地质、气象学家
· 法律研究者
· 律师
· 外科医生
· 药剂师
· 实验室技术人员
· 牙科医生
· 医学研究员
· 信息总监
· 电脑编程员
· 证券经纪人
· 会计
· 文字处理专业人士
经历的痛苦的几天煎熬,老婆大人的肚子终于在周末到来的时候好起来了,这是个好事情。总结原因,还是前几天午饭的时候冷热混着吃造成的,生冷冰凉的东东以后还是少碰了,算是为了宝宝着想吧。
周末的天气不错,温度也很宜人,下雨之后的感觉就是不错,可是好景不长,到周日晚上就感觉又开始闷了。
记忆有点空白,实在想不起来周六干什么了,似乎就在家里呆了一天,写了几段php代码,然后陪着老婆看了个《在云端》的小制作电影,感觉还不错。然后跟LD念叨了半天将来的规划,学习的任务依然很严重,移民越来越难,得加快步伐,需要定一个进度表了,依次来激励下自己。
周日去宜家买桌子,恰逢宜家搞活动,来的真不是时候,people moutain and people sea ,停车都花费了半天的功夫,此行的另外一个目的就是来吃传说中的牛肉丸,每次必点的啊,哈哈。
为了老婆,为了下一代,继续努力奋斗吧,再者,经历过了也是一种收获。
好多单词还是认识拼写不出来,郁闷。
Pronunciation and spelling is very very important .
The proliferation of the internet is increasingly playing a pivotal role in contemporary society (inour daily life). And whether going to english training school or learning it by the internet has sparked spiritual debates.
在前面的文章中,我分享了目前在项目中使用的一个很好用的python脚本,《IP log analysize and record》,python脚本很简单,懂得python的朋友应该都很容易看懂,在本片文章中,重点讲述一下在mysql操作中的一点注意事项。
首先,我们来分析一个场景:用户访问一个站点的时候,我们把用户的访问行为记录了下来,这点无论是Apache还是Nginx都能很好得把access log记录下来,可能一个用户一天会访问好多次,但是我们的统计需求往往只会要求判断某个用户在一段时间内的登录情况,比如腾讯朋友空间的日活跃情况,细节只是定位到天,好了,我们的pv就变成了uv,但是uv的明细表依然很庞大,我们可以继续压缩,把每个用户每个月的访问情况,压缩成一条记录,这个时候,Mysql的一个特殊的字段类型 bit就出场了,一般情况下我们定义为 bit(31)即可,每个月一张表,用户的访问情况可以如下: 阅读全文…
一个大型的网站,数据的完整性往往是重中之重,因此,我们一般会使用传统的master-slave的架构来确保能有多份数据副本,但是,这种结构有其不 足之处,如被执行”delete”、”truncate”、”drop”,亦或是不可抗拒的原因造成的数据丢失情况,因此,这时就需要我们能够留下数据快 照,以便在发生这样情况的时候,尽可能的挽救我们的数据。
数据快照的方式多种多样,这里介绍一个现在正在使用的方式:使用xtrabackup(以下都以version=1.6为例)进行数据热备。
Xtrabackup是由percona开发的一个开源软件,此软件可以说是innodb热备工具ibbackup的一个 开源替代品。这个软件是由2个部分组成的:xtrabackup和innobackupex。Xtrabackup专门用于innodb引擎和 xtraDB引擎;而innobackupex是专门用于myisam和innodb引擎,及混合使用的引擎。如果你想使用源代码方式安装的话,则会发现其安装方式有点古怪,这是因为它采用的在MySQL源代码上打补丁构建的方式。
tar zxf xtrabackup-0.8.tar.gz
cd xtrabackup-0.8
./configure
make
##进行到这里时,千万别惯性使然接着make install,那样就会接着安装MySQL了,正确方法是接着:
cd innobase/xtrabackup/
make
make install
在备份数据的过程中,我们需要解决几个问题:
1、数据库服务器空间不足,就现有服务器来说,一般都是600G硬盘,往往数据文件就有300G+,因此,本机备份不可取,而且也不太能满足容灾的需要
2、备份的维护成本,尽量使备份能够可配置化。
为了解决上面2个问题,我们这样来操作:
先做下面几个假设,以便能够进行讲解:
1、假设我们需要备份的database在服务器IP:A,并且在A上已经安装xtrabackup
2、假设我们要将数据备份到服务器IP:B
在B上执行的脚本片段如下:
for .. in {…..};do
……
#在本地后台启动1234监听,以便接受备份文件
nc -d -l 1234 > /data/$A/20100118000001.tar &
#ssh到服务器A执行备份,并将备份包推送到备份机B上。同时记录下log。
ssh $A ‘innobackupex-1.5.1 –stream=tar –include=’renren.*’ –throttle=500 –socket=/data/mysql/backup/my
sql.sock –defaults-file=/data/dbbackup/my.cnf –user=root –password=xxxxxxx –slave-info /data/dbbackup | nc
$B 1234′ < /dev/null > /data/xtrabackup.log 2>&1……
done;
从上面脚本片段我们能看出:我们使用了xtrabackup的备份脚本 innobackupex-1.5.1,对上面涉及到的参数进行解释:
–stream=tar : 告诉xtrabackup,备份需要以tar的文件流方式输出。
–include=’renren.*’:备份包含的库表,如例:意思是要备份renren库中所有的表。如果需要全备份,则省略这个参数;如果需 要备份renren库下的2个表:tableA & tableB,则写成:–include=’renren.tableA|renren.tableB’;再如果renren库下只有2个前缀是 table的表,你还可以写成:–include=’renren.table*’。
–throttle=500:xtrabackup在备份过程中,IO操作比较多,因此需要限定一下IO操作。以免服务器压力过大,不过好像作用不太明显,也不知道是不是设置的还是过大。待测…
–socket=/data/mysql/backup/mysql.sock:指定mysql.sock所在位置,以便备份进程登录mysql.
–defaults-file=/data/dbbackup/my.cnf :如果您的/etc/my.cnf中没有使用如[mysqld3306]的片段启动mysql,则不需要这行参数,如果使用了上面的片段,那么 xtrabackup是无法解析/etc/my.cnf文件的(严格上来说是会解析错误),所以,我们需要手工完成一个my.cnf文件,文件片段如下, 只需要指定6个参数即可让xtrabackup正常工作,各参数意思请参考mysql文档:
[mysqld]
datadir=/data/var
innodb_data_home_dir = /data/ibdata
innodb_data_file_path=ibdata1:10M;ibdata2:10M:autoextend
innodb_log_group_home_dir = /data/iblogs
innodb_log_files_in_group = 2
innodb_log_file_size = 1G–user=root –password=xxxxxxx :登录账号密码,root用户
–slave-info :告诉xtrabackup,最后备份文件中包含slave信息
xtrabackup可以在不加锁的情况下备份innodb数据表,不过此工具不能操作myisam。innobackupex-1.5.1是一个脚本封装,能同时处理innodb和myisam,但在处理myisam时需要加一个读锁。 更多的使用方法和注意事项,可以参考这篇文章。
每个周末总是安排地很充实,能跟亲爱的人儿在一起,尽可能地多做点事情,分担下LP的劳累,我想我也就能做这些了吧,尽量能让领导高兴点,小宝宝能够健康快乐的成长着,对准爸爸来说,也是一件快乐的事情。简单的列举下周末的事情吧:
1.周六,卫生大扫除,把油头满面的灶台给清理出来了,当然了过程是艰辛的,结果是快乐的。
2.和领导一起,包藕夹,剁肉馅,然后是炸,首次使用老妈教的方法,成果还不错,味道也得到领导的一致认可。
3.周日,去安装速通卡,拖了这么久还是装了,没花钱,在小区门口装的。整体满意。
4.陪领导逛街,购得鞋子一双,走路效果满意,然后是大快朵颐,在外面解决饭饭的问题,大悦城的一家西餐还不错,菜品都小巧玲珑的,不过一顿饭点了7、8种,最后才58大元,还是可以接受的。
5.逛超市,疯狂购物,储备一周的基本物资,还有想到的长远物资,纸巾、面粉之类的,最后200多块就没了。
6.汽车加油,200块。
猛然发现Cross朗庭的底商入住率好高啊,大体上看了一眼,有好伦哥,麦当劳,呷哺,等等的,新天地周边建设地真是越来越好了,赞啊。房价过了这阵子,估计应该还能涨点吧。
昨天晚上看了个电视节目,讲“家庭煮夫”的,看的还是很感人的。不知道什么意思的,可以参考百科的解释。个人感觉其实做煮夫也没什么的,我就乐在其中,LP大人喜欢我做的菜,为什么不做呢?而且在家吃饭比在外面吃要划算多了,还卫生,何乐不为呢?最多就是洗锅刷碗略显麻烦,就当锻炼身体就是了。
LP说今天小家伙在肚子里动的很频繁,看来是什么影响了吧,希望他/她平平安安的吧。
参加公司的职业经理人培训,感觉收获还是有的,至少提出来一些解决问题的办法估计也能可行,记录下今天的,主要是将讲解解决问题的8个钥匙,深入讲解的是如何分析问题,冰山分析法,定位问题的表面原因和根本原因,然后予以解决;产品创新方面,强制关联分析法,比较耳目一新,以后的工作实践中可以尝试一下。实际上解决任何问题都要客观的面对,别强加上去一堆本来不存在的理由,这样可能会让解决办法偏离轨道。