有时,当改进远远超过缺点时,您需要引入向后不兼容的更改.可以轻松切换到旧行为,但用户必须知道此类更改.
因此问题是:如何宣布未来向FLOSS(开源)项目的后向不兼容更改,以便用户可以为它们做好准备,并更改其使用,或配置程序以使用旧行为.
因为它是OSS项目,所以它由各种发行版独立打包,并且可以在没有用户干预的情况下自动升级.然后,向后不兼容的更改可能会破坏某些工作流程(例如第三方脚本).
目前考虑(和使用)的途径:
编辑1:这个(向后不兼容)更改将在某个主要版本中发生.
所有更改都是关于添加安全措施(拒绝可能彻底混淆新手用户的命令),或将默认值更改为更合理的值.
编辑2:在过渡期间,默认配置(意味着更改为默认拒绝/拒绝)将更改为警告,并说明如何转动警告,这也可以防止默认行为中的向后不兼容更改.
但如果是自动化系统可能无济于事......
有问题的项目是Git,分布式版本控制系统;
见给予预警用户在gitster的日记(JUNIOÇ滨野博客)
git project-management backwards-compatibility incompatibility
我们在同一个子域上部署了几个Django应用程序.一些高级用户需要在这些应用程序之间跳转.我注意到每次他们在应用程序之间跳转时,他们的会话cookie都会从Django收到一个新的会话ID.
除了在一个复杂的工作流程中,我不会使用Django会话表.如果用户在此工作流程中在应用程序之间跳转,则会丢失会话并且必须重新开始.
我挖掘了Django会话代码并发现:
django.conf.settings.SECRET_KEY
用于对每个请求的会话执行完整性检查.如果完整性检查失败,则会创建新会话.实现这一点,我更改了每个应用程序中的密钥以使用相同的值,认为这将允许完整性检查通过并允许它们共享Django会话.但是,它似乎没有用.
有没有办法做到这一点?我错过了别的什么吗?
提前致谢
我怎么能在git中这样做:
我当前的分支是branch1,我做了一些本地更改.但是我现在意识到我实际上是要将这些更改应用于branch2.有没有办法应用/合并这些更改,以便它们成为branch2上的本地更改而不在branch1上提交它们?
我是编程新手.
在VB2005中,我有一些目标文件,如a.vb,b.vb,c.vb ..它们各自具有不同的属性.
然后我有收集文件,例如:as.vb是a的集合,bs.vb是b的集合...每个都有相同的内容,如add,item,count ...
所以现在我想知道,是否可以简化这些冗余集合,例如将所有集合文件集成到一个集合文件中,但可以被所有目标文件使用.
非常感谢
今天我需要从xlsx文件解析一些数据(Office open XML Spreadsheet).我本可以在openoffice中打开文件并导出到csv.但是我稍后需要从这个电子表格中重新导入数据,我想要消除手动操作.
我在网上搜索xlsx解析器,我发现的只是一个stackoverflow问题,问同样的事情:解析和生成Microsoft Office 2007文件(.docx,.xlsx,.pptx)
所以我自己动手了.
它有134行代码用于解析和访问电子表格,以及54行单元测试代码.这当然只在我需要它的1个文件上测试,除了它在单元测试中的使用方式之外,现在还没有文档.它使用zipfile,minidom,re和unittest,因此非常便携且独立于平台.
由于我没有博客,并且我没有任何希望将其变成OfficeOpen XML的python库,我很想知道我应该在哪里发布这段代码.我已经解决了一个问题,我相信其他人将来会遇到这个问题.所以我想在公共领域的某个地方发布我的代码供任何人复制并粘贴到他们的应用程序中并进行调整以解决他们的问题.
实现很简单,这里是一个快速概述功能:
workbook = Workbook(filename) # open a file
for sheet in workbook: pass # iterate over the worksheets
workbook["sheetname"] # access a sheet by name, also possible to do by index from 0
sheet["A1"] # Access cell
sheet["A"] # Access column
sheet["1"] # Access row
cell.value # Cell value - only tested with ints and strings.
Run Code Online (Sandbox Code Playgroud)
感谢所有的答复.我打算在activestate上托管它,但是在向我发送激活邮件时页面仍然崩溃.所以我无法激活我的代码来发布它.
我的第二个选择是codeproject,我写了一篇关于该文件的好文章.可悲的是,当我尝试提交帖子时,该页面崩溃了.
所以我把它放在github上,任何看到和分支:http: //github.com/staale/python-xlsx/tree/master
我不想为python项目托管做所有的工作,所以那就是了.
接受git的答案,因为这是唯一对我有用的东西.和git岩石.
编辑:Gah,在codeproject丢失了我的整个帖子,我做了这么好的写作.拧紧它,我花了更多的时间来分享它,而不是编码它.所以我现在称它已经完成了.除非我决定稍后调整它.
我一直在使用eclipse和SVN多年从一个开发人员到12人的团队,我总是设置我们的文件夹结构.我设法让它以某种方式工作,但我觉得我的文件夹布局远非最佳.我很难说出我的典型文件夹布局是什么样的,因为每次看起来都非常不同.
我现在正在开始另一个大项目,我想这次以专业的方式做.
这些都是现在的事实:
我总是不确定是否提交了由eclipse生成的文件(比如'.project''和''.classpath'').在之前的项目中,有时我们将它们放入SVN,有时我们没有,这两种方法都有其优点和缺点.有一次,我们甚至承诺了整个工作空间,但这似乎是一个坏主意.
我当然缺少的一个关键概念是Eclipse如何处理其工作空间.默认情况下,整个项目位于工作空间文件夹中,但可能存在外部项目,这些项目以某种神奇的方式链接,我只是不明白.
我不确定如何在本地和存储库中布局项目.我认为有三种可能性:
一个虚拟的文件夹结构,可能是这样的(我只回答我自己的问题吗?):
随着提示要检查哪里,像这样:
还有一些指导者喜欢
一个简单的问题,我的头脑......
我有一个大型访问数据库来清理.
Access中的换行符是否有系统常量(如VB的VBCrLf)?
如果没有,我想我只需要使用Chr(13)+ Chr(10)
废话.我的任务是为我正在开发的UI创建技术规范.这是我的第一个真正的开发人员工作,在查看项目后端的技术规范之后,我觉得有点过头了.我可以做模型和线框直到奶牛回家,但我不确定如何将所有这些信息放在一起.
有没有人知道一个好的资源或可能是一个很好的UI技术规范的例子?
我需要能够动态创建guid.有没有办法在MFC中这样做?我知道如何在.net中做到这一点,但我们还没有去过那里.如果没有,你有指向我可以使用的一些代码的指针吗?