posts - 319, comments - 22, trackbacks - 0, articles - 11
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

这是一个普通的混合使用方式, 但这种方式不能达到脚本真正的灵活性, c++每个属性必须绑定一个唯一的set和get接口提供给python内部访问这个属性 
C/C++ code: 

class sample
{

public:
int m_obj;
int GetValue(){
return m_obj;
}

void SetValue(int v){
m_obj= v;
}
};


class_<sample>("sample")
.add_property("m_obj", &sample::GetValue, &sample::SetValue )





我看过一个公司做的一个系统使用自己开发的python插件模块实现了非常灵活的c++与python交互 
这个系统有一个配置文件, 其中定义着一些属性和接口, 在系统启动时会去分析这些配置然后把它们 
建立在python中, 用户在python中对这些配置定义的属性赋值都会被c++所截获 

下面是按照我的设想去做, 当然下面代码不能运行 因为不支持这样的方式。 
用户在配置文件定义了3个属性 
int obj1, float obj2, string obj3 

把它们绑定到一个通用的接口上 
.add_property("obj1", &bind(&sample::GetValue, 1), &bind(&sample::SetValue, 1 ) ) 
.add_property("obj2", &bind(&sample::GetValue, 2), &bind(&sample::SetValue, 2 ) ) 
.add_property("obj3", &bind(&sample::GetValue, 3), &bind(&sample::SetValue, 3 ) ) 

class sample 

    
public: 
    PyObject* m_objList; 

    int GetValue(int id); 
    void SetValue(int id, PyObject *val); 
}; 

int sample::getValue( int id ){ 
  return m_objList.find(id); 


void sample::SetValue(int id, PyObject *val){ 
    // 这里拿到被改变的数据 传输到另一网络上 
    ... 
    // 将值赋给那个对象。 
    m_objList.find(id) = val; 


这样当一个属性被改变, c++就可以获得所被改变的数据, 然后做一些相关的逻辑处理, 比如将所改变的数据网络传输到另一端机器上。

我查了很多资料 用boost都无法实现(也许我还没了解), 所以来寻求一下大家的技术支持, 给一点建议。

posted @ 2011-05-27 07:35 RTY| 编辑 收藏

     摘要: CSS3 已经变得很流行。大部分的浏览器比如IE7、IE8、Safari、Firefox和Chrome,都支持新的CSS3属性。CSS3有非常多的web和移动方面的功能。本文列出21个新鲜的CSS3教程和技巧,供大家学习、交流。1.iPhone “slide to unlock” Text in WebKit/CSS3iPhone的滑动解锁的文本效果。View Live D...  阅读全文

posted @ 2011-05-25 22:34 RTY 阅读(191) | 评论 (0)编辑 收藏

感谢HTML5和CSS3,以及JavaScript,前端开发者有了大大的用武之地。大家都在用很多的工具和技术来武装自己,以加快前段的开发。

本文分享了6中最有效的方法,希望能提供你的效率,为你节约时间。

1. Dynamic CSS(动态 CSS)

如果你想加速你的CSS代码编写,那么你需要学习并掌握动态CSS。大部分的动态CSS增加了nested riles, variables, mixins, selector inheritance功能,这里提高代码的利用率。

2. HTML snippets(HTML 片段)

使用代码片段是个编写HTML代码的一个很快的方法。推荐Zen Coding 和HAML。 首先,它会让你提速很快,其次,可以规避一些人为错误,因为所有的代码都是被测试和正确生成的。

3. CSS reset(CSS 重设)

CSS reset的优势是避免了浏览器的不兼容。推荐:Eric Meyer's CSS reset 和YUI.

4. CSS Grid layout(网格布局)

不少的开发者,都没有使用CSS 网格布局。网格布局的理念来自于传统的印刷出版,在web上,网格布局在杂志类型模板/网站中非常重要。该方法已经被大量的开发者证明是提升产品设计速度的有效途径。

CSS 网格布局具有很好的跨平台支持等特性,下面再介绍一些相关的资源:

5. HTML/CSS 编辑器

你需要一个好的代码编辑器,除了notepad之外,还有很多,它们各具特色。比如coda的ftp引擎十分的稳定。当然,你也可以登录开源中国社区检索更多的开源代码编辑器。

6. 其他在线工具

下面的一些工具,还是可以帮助你省下那么一点的时间的。

如果你刚刚学习HTML和CSS,那么还是建议扎扎实实地来手写代码。如果你已经有了坚实的基础,那么就尝试上述的方法吧。

Enjoy coding :)

原文:http://www.queness.com/post/8004/6-most-effective-methods-to-code-html-and-css

本站文章除注明转载外,均为本站原创或编译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区
转载请注明:文章转载自:开源中国社区 [http://www.oschina.net]
本文标题:6种编写HTML和CSS的最有效的方法
本文地址:http://www.oschina.net/news/18266/6-methods-to-code-html-css

收藏此资讯

posted @ 2011-05-25 21:25 RTY 阅读(233) | 评论 (0)编辑 收藏

VCS 版本控制系统是当前任何一个开发团队协作开发中不可或缺的一部分,本文向你介绍 9 款常见而且比较受欢迎的版本控制系统。

 

1. Subversion

Subversion是一个版本控制系统,相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上免费的版本控制服务多基于Subversion。

 

2. Git

Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。

Windows下的Git请看这里:http://www.oschina.net/p/msysgit

Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

 

3. Darcs

Darcs 是新一代轻量级分布式版本控制系统. 完全使用Haskell编写而成。

不同于以往的版本控制系统, Darcs没有中央服务器. 任何一个本地repository都可以既是客户端也是服务器, 节点之间可以任意同步. 这样我们可以不依赖网络离线comit任何修改

 

4. Bazaar

Bazaar 是一个分布式的版本控制系统,它发布在 GPL 许可协议之下,并可用于 Windows、GNU/Linux、UNIX 以及 Mac OS 系统。Bazaar 由 Canonical 公司赞助,目前已服务于SambaDrupal 等知名的开源项目。

Bazaar 当前已经包含许多有用的功能,这些功能使之具有如下鲜明的特点:

  • 容易使用
  • 稳定可靠
  • 使用灵活

Bazaar 也包括智能合并、支持插件、可与第三方工具整合、文档支持等其他特性。

 

5. Mercurial

Mercurial 是一种轻量级分布式版本控制系统,采用 Python 语言实现,易于学习和使用,扩展性强。相对于传统的版本控制,具有如下优点:

  • 更轻松的管理。
    传统的版本控制系统使用集中式的 repository,一些和 repository相关的管理就只能由管理员一个人进行。由于采用了分布式的模型,Mercurial 中就没有这样的困扰,每个用户管理自己的 repository,管理员只需协调同步这些repository。
  • 更健壮的系统。
    分布式系统比集中式的单服务器系统更健壮,单服务器系统一旦服务器出现问题整个系统就不能运行了,分布式系统通常不会因为一两个节点而受到影响。
  • 对网络的依赖性更低。
    由于同步可以放在任意时刻进行,Mercurial 甚至可以离线进行管理,只需在有网络连接时同步

 

6. FOssil


Fossil 是一个简单、高可靠性的分布式软件配置管理系统。值得关注的功能:

1. Bug跟踪和Wiki
2. Web接口
3. 自动同步
4. 支持 HTTP 接口
5. 嵌入式 CGI
6. 稳健而且可靠

 

7. OpenCVS

OPENCVS 自由的协作版本系统(CVS)实现,CVS 是最流行的开放源代码版本控制软件。它可以用于客户端, 以及服务器端的版本库,提供了对存储在版本库中的数据的细粒度访问控制。 它的目标是除了完全减少系统安全性的特性之外, 尽可能的与其它的 CVS 实现兼容。

OPENCVS 项目是在最近 GNU CVS 弱点暴露之后,经过讨论之后启动的。 尽管 CVS 被广泛使用,但是最近几年它的开发已经基本停止了。 CVS 的实现和设计,已经被发现许多安全问题。

 

8. Monotone

monotone 是一个分布式版本控制系统,提供了简单的、单文件事务版本存储和点对点同步协议,支持历史版本敏感的合并操作、轻量级分支处理以及集成代码评审和第三方测试工具。使用加密的版本命令方式和客户端 RSA 认证,很好的支持国际化,不依赖第三方工具,支持跨平台。

 

10. CVS

CVSConcurrent Versions System)老牌的版本控制系统,它是基于客户端/服务器的行为使得其可容纳多用户,构成网络也很方便。这一特性使得CVS成为位于不同地点的人同时处理数据文件(特别是程序的源代码)时的首选。

更多关于Git的详细信息,或者下载地址请点这里

本站文章除注明转载外,均为本站原创或编译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区
转载请注明:文章转载自:开源中国社区 [http://www.oschina.net]
本文标题:推荐 9 款最受欢迎的开源版本控制系统
本文地址:http://www.oschina.net/news/18234/9-opensource-version-control-system

收藏此资讯
旧一篇:IT行业最难以忍受的潜规则 5小时前

posted @ 2011-05-24 21:33 RTY 阅读(347) | 评论 (0)编辑 收藏

mxDateTime 是个Python模块,用来做复杂的日期/时间功能。

mxDateTime 3.2.0 稳定版发布,该版本变化如下:

增加对Python 2.7 的支持;增加Native Windows x64 的支持;增加新的mx.Misc.Daemon模块;增加easy_install支持;增加代码清理等。

mxDateTime是采用BSD许可的开源项目,更多文档见http://www.egenix.com/products/python/mxBase/mxDateTime/doc/

本站文章除注明转载外,均为本站原创或编译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区
转载请注明:文章转载自:开源中国社区 [http://www.oschina.net]
本文标题:mxDateTime 3.2.0 发布,python模块
本文地址:http://www.oschina.net/news/18206/mxdatetime-3-2-0-python


posted @ 2011-05-24 05:46 RTY 阅读(234) | 评论 (0)编辑 收藏

     摘要: URL= http://woodpecker.org.cn/diveintopython3/xml.html 你的位置: Home ‣ Dive Into Python 3 ‣ 难度等级: ♦♦♦♦♢ XML ❝ In the archonship of Aristaechmus, Draco e...  阅读全文

posted @ 2011-05-22 21:34 RTY 阅读(3522) | 评论 (0)编辑 收藏

Mintty is a terminal emulator for Cygwin and MSYS. It can be downloaded from here or it can be installed through Cygwin's setup.exe, where it can be found in the Shells category, or MSYS's mingw-get using mingw-get install mintty.

Features include:

  • Xterm-compatible terminal emulation.
  • Native Windows user interface with a simple options dialog.
  • Easy copy & paste.
  • Drag & drop of text, files and folders.
  • Ability to open files and URLs with Ctrl+click.
  • Comprehensive character encoding support, including UTF-8.
  • Wide character display and Windows IME support.
  • Window transparency, including glass effect on Vista and 7.
  • Options are stored in a text file. No registry entries.
  • Small program size and quick scrolling.

Mintty works on all Windows versions from Windows 2000 onwards. Similarly to other pty-based Cygwin terminals, however, mintty is not a full replacement for the Windows Command Prompt. While native console programs with simple text output are usually fine, interactive programs often have problems, although sometimes there are workarounds.

The setup.exe package ships with a manual page that can be accessed with man mintty. A PDF version of the manual is also available. Invoking mintty with the --help option shows a summary of available command line options. Keycodescontrol sequences and some random tips can be found on the wiki.

Please report bugs or suggest enhancements via the issue tracker. Vote for any issues you'd particularly like to see addressed by starring them. The discussion group for all things mintty is mintty-discuss. General Cygwin questions should be sent to the Cygwin mailing list.

Mintty is based on code from PuTTY 0.60 by Simon Tatham and team. The program icon comes from KDE's Konsole. Mintty ties directly into Cygwin and leaves out PuTTY's networking functionality, which is provided by Cygwin's openssh and inetutils packages instead. A number ofPuTTY issues have been addressed.

posted @ 2011-05-22 21:24 RTY 阅读(529) | 评论 (0)编辑 收藏

2011年04月18日 15:50






英特尔® 多核实验室

利用这次机会在远程 40 核 (80 线程)开发环境下运用最新的硬件和软件,开发、测试和验证您的代码。英特尔® 多核实验室以前仅对英特尔学术社区成员开放,在它的帮助下,现在您可以和竞赛评委一样,看到类似的运行结果,并在提交作品之前就可以了解代码的运行情况。

欲使用英特尔® 多核实验室,请点击这里发送申请邮件。

注意:
• 请在申请邮件主题栏中加上“Contest Intel Manycore Testing Lab Account”。
• 请点击了解更多关于英特尔® 多核实验室的信息。
• 对于所有参赛者,在此次竞赛中使用英特尔® 多核实验室不是必须选择的,不会对确定各个问题的优胜者造成任何影响。

 

英特尔® 线程构建模块

可以考虑采用英特尔® 线程构建模块帮助编写解决方案代码。请充分利用这个机会,点击这里下载此工具的开放源版本。

 

线程知识库

这里是一些已知解决方案的汇总,用于解决“如何线程化”应用以便与多核平台良好合作的问题。其中包括参考应用、代码范例、介绍方法的文章、参考材料以及案例研究。为何要从头开始呢?点击此处访问丰富的信息资源。

 

线程代码范例

这里包括众多说明各种线程编程和设计方案的范例。点击此处快速寻找适合您编程环境的代码范例,并立即应用于您的编码项目中。

 

非商业软件开发

英特尔已经扩展了其用于非商业软件开发的免费工具范围。英特尔将向那些利用自己的空闲时间免费开发软件的开发人员提供此类免费工具,其中非商业是指使用这些英特尔® 软件开发产品开发的产品和服务将不会得到任何形式的报酬。请点击这里立即下载


INTEL® CONCURRENCY CHECKER(应用并发审计工具)

INTEL® CONCURRENCY CHECKER 是一款免费提供、快速便捷、简单易用的软件评估工具,您可以用它来评估您的并行编程代码的并发级别。使用该审计工具评估并发性,然后更改代码,获得新的编程结果。您可以将编程结果上传给英特尔,获得在线软件评估和建议报告。点击这里,了解更多并进行下载。


其它工具

请查看英特尔® 软件产品页面寻找其它有用工具,诸如英特尔® Parallel Studio 从而有助于您对应用进行优化和线程化。





posted @ 2011-05-22 07:25 RTY 阅读(483) | 评论 (0)编辑 收藏

产品经理——靠想。产品经理是做正确的事,其所领导的产品是否符合市场的需求,是否能给公司带来利润的。

项目经理——靠做。项目经理是把事情做正确,把事情作得完美,在时间,成本和资源约束的条件下完成目标。

从管理的角度讲,项目经理是纵向的,而产品经理是横向的。

产品经理关注的是做正确的事,关注的是产品生命周期,关注的是产品是否能够赚钱,能否持续的赚钱。因此产品经理必须要能够规划整个产品的架构和发展路线,能够确定产品的定位和受众,能够预计产品真正的价值和效益。

项目经理是需要正确的做事情,即按照产品规划制定的项目目标正确的做事情。项目能够按照目标完成则项目就是成功的,如果项目的产品不能真正盈利往往则是产品规划出现了失误。

例如我们姑且理解项目经理是一个开发部门的项目经理,那么他一定是对某个产品进行开发的管理,负责开发的进度,开发过程中的协调,供应链等有关开发方面的问题,他最大的目标是时间第一,立项目标达成第一。并不会很尊重产品本身的市场需求以及业务逻辑的问题。

在 一个公司中类似这样纵向管理的部门都是一个个职能部门,例如市场部,主要负责推广,销售部主要负责销售等,而产品经理是横向管理的,也就是说他将负责某个 产品或者某个产品线从商业计划市场竞争开发需求推广方案渠道策略物流等各个方面。当然产品经理不一定是决策人,每个公司对产品经理的权限限制也不同,但是 产品经理一个产品线从头到尾的重要参与人。想做好产品经理需要很多方面的才华和技能,他也是一个公司中最适合培养复合型人才潜力的职位。

一 个产品经理可能没有权利,但是一个产品经理要善于运用同事关系,客户关系去协调去促进事情的发展,一个项目是属于项目经理开发的,他有开发目标达成的责 任。而这个项目也是属于产品经理的,他有对商业计划负责的责任。因此作为产品经理就意味着的和本产品有关的事,不论是开发生产推广销售成本物流渠道都是你 的问题!

如果希望做一个复合人才就选择产品经理,如果希望做一个专注人才就选择项目经理。(iamsujie补:对这句话持保留态度,做不同的事情而已,没法用通才、专才概括)

产品生命周期和项目生命周期

产 品生命周期关注的是整个产品从规划到制造,再到最终维护和消亡的整个过程。一个产品往往会由多个项目来实现,也可能分多个迭代周期来实现。由于项目有特定 的目标,一般产品制造出来通过验收则项目生命周期就算完成。而产品生命周期则不同,既包括了项目开始前的预研,评估和可行性研究,也包括了项目完成后产品 的维护和废弃。

产品管理和项目管理

产品管理的目标是产品,是产品生命周期;而项目管理的是项目生命周期和项目目标的实现。产品管理关心的是产品能够真正的赚钱和创造效益,因此前期的项目分析决策,后期推广都很重要,跟产品管理相对应的是组合项目管理。IPD集成产品开发是产品管理常用的方法论,其中两个重点就是组合项目管理和研发流程管理。

项目管理关注的是项目能够按照既定的目标顺利完成。产品究竟应该规划哪些Feature不是项目管理的事情,而是项目管理的范围输入。项目管理始终关注的是进度,质量,成本和范围四个要素,要把项目做好则首先需要保证过程的稳定性。在软件项目管理中需要综合考虑工程,项目管理和支持过程三个方面的内容,因此实施CMMI或其它一些敏捷的项目管理方法论是可以保证项目管理成果的重要方法

项目经理与产品经理另一个重要区别是授权的范围不同

项目经理一般是被授权的合同履约的负责人:

项目合同是规定承、发包双方责、权、利具有法律约束力的契约文件,是处理双方关系的主要依据,也是市场经济条件下规范双方行为的准则。

项目经理是公司在合同项目上的全权委托代理人,代表公司处理执行合同中的一切重大事宜,包括合同的实施、变更调整、违约处罚等,对执行合同负主要责任。

当然,根据企业的不同,老板能否给予项目经理相应的授权是另一回事。

产品经理的授权是保证流通链的畅通:

产品经理保证其所负责的产品,从上游创意、研发开始,至采购、生产,到下游渠道、通路,直至终端用户的整个流通链的畅通,因此要求产品经理既要有产品知识,也要有市场意识,还要具备协调能力,例如:财务、售后、物流……

但是,产品经理并无对外签订合同的授权。

posted @ 2011-05-18 20:39 RTY 阅读(178) | 评论 (0)编辑 收藏

     摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->  1#!/usr/bin/env python  2  3  4########################...  阅读全文

posted @ 2011-05-18 07:37 RTY 阅读(2866) | 评论 (0)编辑 收藏

仅列出标题
共31页: First 19 20 21 22 23 24 25 26 27 Last