首页 Soft PlugIn RAN乱 Dev开发 Info资料 English WAP 留言 登陆 注册
-
Posted by Yippee | 评论(0) | 引用(0) | 阅读153次
20080709 Protocol Buffers svn:externals SchemaExplorer

20080709 Protocol Buffers svn:externals SchemaExplorer
http://www.shengfang.org

一般来说,一个项目一个Svn Repository,但有时这个项目会引用到另外一个Svn Repository的代码。如公司内部的所有的项目都引用framework的代码。并且是希望各个项目都能实时更新到framework的最新代码。这样的话,通过svn:externals就可以实现这样的效果了。

方法是。如项目里的一个文件夹“JavaSource”,然后希望framework的代码就放在JavaSource下,那么可以这样。给JavaSource设置svn:externals属性。

 
svn propset svn:externals "framework http://192.168.0.241:88/svn/framework/src/JavaSource/framework" JavaSource

这样,然后每次更新项目的代码,就会自动更新framework的代码了。如果需要引用的Svn Repository不止一个,那可以有多行的,如:

 
propset svn:externals "framework http://192.168.0.241:88/svn/framework/src/JavaSource/framework
misc http://192.168.0.241:88/svn/framework/src/JavaSource/misc" JavaSource

svn:externals介绍使用

最近在调整库结构,刚好SVN的上的一个属性扩展-外部定义派上用场,感觉挺好用的,就拿出来介绍给大家了。
svn:externals 这边假设有个目录,该目录下的内容需要获取公共库的公共文件,你不能让每个用户都需要在本地目录去重组目录吧。
呵呵,这时候你可以进行操作;
第一,在库结构中创建了一个空目录,作为虚目录。
第二,选中该目录,为其设置SVN属性,如下:
   选择快捷菜单中“TortoiseSVN->Properties”
        从下拉列表框选择svn:externals,并设置其属性值
     格式:本地目录路径 远程库URL路径
      你会发现你的本地目录变成了修改状态,但你不能进行提交操作,而是要先进行更新操作
       更新操作完,在进行提交操作,你会发现在你的本地目录下多了一个目录Import,它是从另一个库取出来的数据
     
因为你已经帮忙设置了属性,并把这个动作也提交了,所以,在别人人库中取出数据时,就得到的是一份完整的数据,也就是说从别库里取的数据都也有了。、

谷歌的文档称,与具有可比性的XML文件相比,Protocol Buffers文件的尺寸要小3-10倍,解析速度要快20-100倍。

谷歌发布的免费文件包括采用Java、Python和C++编程语言编写的Protocol Buffers编译器源代码。

Protocol Buffers are a way of encoding structured data in an efficient yet extensible format. Google uses Protocol Buffers for almost all of its internal RPC protocols and file formats

You write a .proto file like this:

message Person {
  required int32 id = 1;
  required string name = 2;
  optional string email = 3;
}

Then you compile it with protoc, the protocol buffer compiler, to produce code in C++, Java, or Python.

Then, if you are using C++, you use that code like this:

Person person;
person.set_id(123);
person.set_name("Bob");
person.set_email("bob at example dot com");

fstream out("person.pb", ios::out | ios::binary | ios::trunc);
person.SerializeToOstream(&out);
out.close();

CodeSmith提供SchemaExplorer来得到数据结构的,如果我们有需要可以直接拿来使用。
不知道从版本开始SchemaExplorer的使用也需要注册,这里提供2.6版本的可以直接引用来使用。
里面还提供了一个OracleSchemaProvider(对于这个Provider是从网上收集来的,没有测试过不知道能不能用)

SchemaExplorer组件编写模板。SchemaExplorer组件是一个程序集,它提供了多个可以用来浏览你数据库内容的类。

通过使用SchemaExplorer组件你可以浏览表和存储过程以及取到数据类型,唯一列,列名等信息。


字体:

Permanant URI永久地址 http://www.shengfang.org/blog/p/20080709ProtocolBufferssvnexternalSchemaExplorer.php
Trackback URI引用地址 http://www.shengfang.org/blog/tb.php?tb_id=1235112157

2009年2月20日14:42星期五  [Info资料] 追踪此文的RSS
提示:
此文还没有评论。

称呼:    登陆   注册
   不注册,但记住我的信息
邮件:
(非必须)
评论: [UBB代码帮助]
粗体 斜体 下划线 链接 水平线 引用



验证码: 请输入你看见的数字
关闭UBB      提交时自动将内容复制到剪贴板

公告
Fire and Motion!

统计信息
[Yippee]||[统计]||日志:1887
在线: 24||用户: 2579 [列表]
今日:645||到访:2931363
Rss:||评论:1609

最新日志

最新评论

友情链接

日历
2008 - 08
     12
3456789
10111213141516
17181920212223
24252627282930
31      

最新引用

搜索

归档

杂项
Get RSS Feed (Version 2.0)
Get Atom Feed (Version 0.3)
编码:  UTF-8