Google Protocol Buffers Helloworld(Java)

Categories: Java; Tagged with: ; @ July 3rd, 2014 0:15

This is a Protocol Buffers hello world project following https://developers.google.com/protocol-buffers/docs/javatutorial

you may find all source code from github: https://github.com/guoliang-dev/google-protocol-buffers-java-helloworld

image

Code Generation

The message definition: addressbook.proto;

D:\dev\tools\protoc-2.5.0-win32>protoc.exe -I=D:\dev\..\src\main\resosurce\ --java_out=D:\dev..\src\main\java  D:\dev\…\resosurce\addressbook.proto

AddressBookProtos.java is the generated Java class;

TestCase:

package com.liguoliang.java.protobuf;

public class ProtocolBuffersTest {
     private static final String name = "google";

    @Test
     public void testBuildInstance() throws Exception {
         Person person = buildNewPerson();
         assertEquals(name, person.getName());
     }

    @Test
     public void testWriteInstanceToFile() throws Exception {
         String path = "./src/test/resources/address.txt";
         AddressBook.Builder addressBookBuilder = AddressBook.newBuilder();
         addressBookBuilder.addPerson(buildNewPerson());
         AddressBook addressBook = addressBookBuilder.build();
         FileOutputStream outputStream = new FileOutputStream(path);
         addressBook.writeTo(outputStream);
         outputStream.close();
         System.out.println("AddressBook write to :\n " + path);
         URL url = Resources.getResource("./address.txt");
         String contentInFile = Resources.toString(url, Charsets.UTF_8);
         assertTrue(contentInFile.contains(name));
     }
     @Test
     public void testParseInstanceFromFile() throws FileNotFoundException, IOException {
         AddressBook.Builder addressBookBuilderRead = AddressBook.newBuilder();
         addressBookBuilderRead.mergeFrom(new FileInputStream("./src/test/resources/address-test.txt"));
         AddressBook addressBookRead = addressBookBuilderRead.build();
         System.out.println("AddressBook loaded: \n" + addressBookRead.toString());
         assertEquals(1, addressBookRead.getPersonCount());
         Person person = addressBookRead.getPerson(0);
         assertEquals(name, person.getName());
     }
     private Person buildNewPerson() {
         Person.Builder personBuilder = Person.newBuilder();
         personBuilder.setId(1);
         personBuilder.setName(name);
         Person person = personBuilder.build();
         return person;
     }

}

MarkLogic: select all collections & select latest record from collection

Categories: DatabaseJuly 1st, 2014 22:42

List all collections:

<collections>{
for $collection in cts:collections()
return <collection> { $collection } </collection>
}</collections>

Select latest record from collection:

let $uris := cts:uris(     (),     (),     cts:properties-query(         cts:and-query(( cts:collection-query('/collections/coll-A'), cts:collection-query('latest') )) ) )
return doc($uris)

2014 Q2

Categories: 垃圾山July 1st, 2014 0:16

今天收到老板邮件, 提醒要准备年中review。 2014已经过去一半了。

4月下旬去泰国曼谷旁边的Ayutthaya骑了一圈自行车。路遇野狗,虎落平阳被犬欺,幸亏躲的快。曼谷景点基本都是国人,无趣。

5月底回国去云南玩了几天,古城不古,都是客栈杂店小清新。  洱海 泸沽湖 虎跳峡 风景甚好;

由于工作忙跟出去玩等众多借口,跑步越来越少,蹲在电脑前空转的时间越来越多。

6月初Expo IT show的时候刚好看到Garmin的展台, 价格没有太多优惠,几乎有Amazon.com持平,立刻下手,约USD 300; (带心率监控)

之后又买了一个Sony mp3播放器, 约USD 90;头戴防水,快速充电,很适合跑步用。

由于花了一些钱在跑步上,有点心疼,于是跑的很认真。 park connector跑了很多。 累计157KM。

如前所说,跑步花费很多时间,为了最大限度的利用时间,试着找了一些有趣的听物, 除BBC的一些之外,中文的CRI中国国际广播电台的podcast有一些不错的节目,很久没有听过中文广播,乍听起来觉得像是回到大学校园,坐在自习室里对着窗外的花花草草发呆。

两年前在上海,我的老板对我说:去国外工作会让你有不同的经历,改变你看待事物的角度。 我没有考虑后面的意义,当耳旁风放在心上了。眨眼两年已经过去,发现已经有了明显的改变,就像跑步:大学时,我觉得只有寂寞的学生才会去操场瞎炮,后来我去上海工作,完全只是为了缓解工作的压力,发泄对社会的不满。 而现在,跑步的原因是花了一些钱在设备上。 但为什么要花钱在设备上?因为我喜欢跑步,希望跑的更加舒畅。跑步像旅游,拉长时间,让自己安静下来。除此之外,对于很多事情的看法,也的确有了更广的角度。

愚昧

几年前我第一次看到跑在我前面的男人好像穿了一个女人内衣。 我立刻认为,此人是BT。 后来有人微博上转了个帖子,说马拉松一类的长跑会摩擦乳头,造成出血,所以需要佩戴一些东西来保护乳头。 ok,make sense。

指导我买了带心率监控的手表,我才意识到, 原来我一直沉浸在无知中而不自知,甚至以为自己还在不断的进步。

当我把这件事情说给一个CMU的小天才, 他告诉我:愚昧不能被消灭,只能被减少;

学习

6月有1周多的时间在外面培训,花4天时间学了一点.Net(C#),  公司从美国找来了一个培训师,专程来给我们几个讲课,除了忽悠之外,水平大概在Associate之下。

由于1周多连续的在外面培训,所以日子过得极其舒坦,一下子找回了大学生活的感觉。 而且是更加轻松,舒坦的感觉 — 不需要担心考试,也不需要考虑未来。

读书

拖拖拉拉的看了一大半的 《夹边沟记事》,惨烈,心痛。

我的朋友发表了新作:《济南一夜》, 中篇,偷情,有趣。

Cannot Delete ‘CostMin’ extension from Chrome?

Categories: UglyJune 29th, 2014 23:25

If you are facing the same issue, please try to find the path of the extension and delete it:

Cannot Delete ‘CostMin’ extension from Chrome?

三十

Categories: 自留地; Tagged with: ; @ June 29th, 2014 14:29

再过几个小时, 许九就要三十岁了。

他没有结婚,也没有女朋友,甚至没有一份稳定的工作。他的家人, 朋友, 同学,甚至朋友的朋友都开始为他操心女人问题。 许九很失落,因为许九16岁时喜欢一个女生而被告知那是早恋,20岁时他遇到一个心仪的女生,之后立刻狂热的投入爱河。不久后,许九的母亲警告他: 学习这么差,还好意思恋爱?

于是,许九从此之后就忘记了这两个女人,像他的同学一样从学校毕业, 不, 应该是从学校量产出来。之后许九辗转了几个城市,跌跌撞撞走来,一看表,马上就要三十岁了。

许九自以为是个木讷而安静的人,不喜欢热闹的场面。可是今天,是他三十岁的生日,陪伴他的只有烟酒,于是,他觉得孤单而寂寞,像个寂寞难耐的动物,寂寞,无助。

许九盯着桌子上新买的山寨机,他想打个电话,找人聊聊天。

许九认识的朋友不多, 通讯录从来都是只增不减,但即使是这样,手机里也只有百多个号码。最前面的几个电话是银行的,电信公司的,居委会大妈的。继续往后翻,是自己这两年来认识的朋友,有几个年轻漂亮的姑娘,但他们也许还在公司加班,也许在夜店奔波,总之她们不会花费时间来陪许九聊天, 而且许九自己都不知道该聊什么。许九继续翻电话, 突然眼前一亮, 睡在下铺的“二狗子”可能会愿意跟他聊聊 — 毕业后他跟二狗子喝了一次酒,喝到两人铺在路边的雪堆里嚎啕大吐。 之后再没有联系,一晃眼,五年过去了。

“Hello”, 电话那头冷冰冰的洋文, 许九换过几次电话,他都没有告诉二狗子。但听到”Hello”之后,许九突然意识到他们可能活在两个不同的世界里。 ”哈喽, 我是老九“, 许九后悔拨通里这个电话。

“酒儿!” 许九的朋友们都叫他“酒儿”, 因为许九不仅爱喝,而且能喝。“最近好吗? 结婚了没?”

这两个巨大沉重的问题让许九不知所措, “哈哈, 你最近在边城吗?我好久没喝酒了”。许九觉得自己像一个女人在央求出轨的丈夫。“好! 你在哪? 我很久没回边城了,最近一直在香港”, 许九没有意识到睡在下铺的兄弟早已远走高飞。 “哦,什么时候去的, 也不说一声! “ 许九埋怨道。 ”两年前, 没打通你电话。 过段时间天暖和了我会回边城,带老婆孩子回家看一下”, 许九觉得在二狗子面前已无话可说, 于是撒谎道: “好啊, 那到时一定要给我电话, 我们喝一点”。 “ 好, 好, 我先挂了, 回去联系你!多保重!“

挂了电话, 许九觉得喘不动气, 他为自己的兄弟感到高兴,也为自己感到失落。

许九不想再冒险给自己常年不联系的朋友们打电话, 他们大多事业有成, 家庭幸福。 他们的关心会让许九觉得更加狼狈。

于是许九拨通了一个曾经很喜欢他的女生, ”喂,你好“, 温柔的女性声音让许九想起来毕业前搂在怀里的那个女生。 ”我是许九“,许九冷静沉着的说,像一个正在扑向猎物的猎人。 ”许九? “ 她很惊讶, ”恩, 大学同学“, 许九提醒她。 ”你等一下“,许九觉得眼前的小兔子跳走了,于是他继续冷静的跟踪着他的猎物。 ”我知道是你,但你为什么这么多年不联系我?我等了你很久, 后来我就当你死了!”, 她埋怨道。 许九觉得一股暖流在胸间流淌,就像春天里草原上的小溪,清澈,明媚。 他知道这句看似恶毒的话,其实是在诉说那是她对他的爱。 但现在他需要安抚这个愤怒的女人。 ”我。。。我也不知道为什么”, 许九希望朦胧而巧妙的回答,但这的确是他真是的答案。 他不知道那时候为什么要离开她。 “呵呵,只是你不喜欢我罢了,也许这就是命运。 我现在过得很幸福,已经是两个孩子的妈了,老大都可以打酱油了”, 女人的心情转换的很快,听的出来她的幸福。 “真好, 真替你高兴” 许九不知道该怎样继续, 他希望尽快的结束这次通话。 “你找我有什么事情吗?” 女人冷冰冰的语气让许九脑海里的春天的小溪瞬间结冰。 “哦, 没事, 我不小心按到你号码了“, 她曾经用相同的借口给许九打电话。 ”好吧,我正在带孩子, 先去忙了。“, ”好的, 再见”。

许九挂了电话, 在阳台上站了许久,不知不觉, 天已大亮。

Older Posts


Popular Tags

Archives


AD


// Proudly powered by Apache, PHP, MySQL, WordPress, Bootstrap, etc,.