我做了一些关于版本控制文件系统的文献研究.版本控制在早期的操作系统中已经很普遍,例如有影响但几乎被遗忘的不兼容分时系统(ITS)和TENEX.OpenVMS是TENEX的继承者,似乎仍然在特殊应用程序中使用,它仍然支持版本控制.我发现了一些带有版本控制的实验和历史文件系统(参见ext3cow FAQ).但默认情况下,主要操作系统(Linux,Windows,Mac OS)都不支持版本控制.
为什么现代操作和文件系统不支持40年前可用的功能?当然,您可以以某种方式破解版本到您的系统中,但这应该支持最基本的级别,对应用程序是透明的.只是为了澄清:日记和快照设施(例如Apple的TimeMachine)是不一样的.文件系统级别的版本控制意味着:修改文件的每个进程都会自动触发创建可以直接访问后续文本的新版本(例如撤消进程).您可以使用copy-on-write以低成本实现此功能.
我发现版本控制文件系统的唯一现代应用是他们几个月前推出的Amazon S3版本.为什么版本控制文件系统如此之少?计算机系统的进展如何?版本化是一个坏主意吗?
我在遗留代码中重构了一个perl模块,这是模块中的一个函数:
sub get_user {
my $user = __PACKAGE__->{user};
if (!defined $user) {
# more code
__PACKAGE__->{user} = $user;
}
return $user;
}
Run Code Online (Sandbox Code Playgroud)
这个模块汇编下use strict.而且没有定义包变量.什么__PACKAGE__->{user}意思?
我在这里处理一些遗留数据库,我在编写搜索查询时遇到了一些麻烦.
有关的两个表是products和tours(每个产品多个).
我的一般查询如下所示:
SELECT products.*, tours.* FROM products INNER JOIN tours
ON products.id=tours.product_id
GROUP BY products.id
Run Code Online (Sandbox Code Playgroud)
现在这是我遇到麻烦的部分.该products表包含一个列,countries它是国家ID的管道分隔列表,如下所示:13|45|33|29|133|337.我需要返回一个列表products,例如国家/地区33.
为简单起见,我能做到where products.countries LIKE '%33%',但是这将返回133并337为好.我需要使用where products.countries LIKE '%|33|%',但如果它们是第一个或最后一个,它将无法匹配.因此,我需要在选择时将管道附加到列值的任意一端,这样就会产生类似于:
SELECT products.*, tours.*, CONCAT("|",products.countries,"|") AS country_list
FROM products INNER JOIN tours ON products.id=tours.product_id
GROUP BY products.id
Run Code Online (Sandbox Code Playgroud)
但如果我尝试添加WHERE country_list LIKE '|%33%|',我会收到"undefined index: country_list"错误..
我在这做错了什么?
我正在尝试使用Google Maps API,并且包含地图的div仅在不在另一个div内时才有效.我已经创建了一个带有两个地图的示例代码,第一个是第二个没有.如果我删除这段代码的doctype,两者都有效.有什么想法吗?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta content='application/xhtml+xml; charset=UTF-8' http-equiv='content-type' />
<style type='text/css'>
html { height: 100% }
body { height: 100%; margin: 0px; padding: 0px }
#map_canvas { height: 50% }
#map_canvas2 { height: 50% }
</style>
<title>Map</title>
<script src='http://maps.google.com/maps/api/js?sensor=false' type='text/javascript'></script>
<script type='text/javascript'>
function initialize() {
var latlng = new google.maps.LatLng(20, 20);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new …Run Code Online (Sandbox Code Playgroud) 我是Objective-C编程的新手,想知道我是否能得到一些帮助.
我正在尝试从CFDictionary访问值.我已经开始实现此问题中建议的代码
CFTypeRef r = IOPSCopyPowerSourcesInfo();
CFArrayRef array = IOPSCopyPowerSourcesList(r);
CFDictionaryRef powerDic = IOPSGetPowerSourceDescription(array, r);
Run Code Online (Sandbox Code Playgroud)
我已经查看了文档和其他帖子,但它有点超出我的工作方式.
我真正需要的是一些示例代码,它采用我已经拥有的代码并使用它来打印一串字符串,例如"当前容量".
有帮助吗?
我正在开发一个iPhone应用程序,因为多任务我在iOS4上遇到了问题.
此应用程序具有Settings.bundle中定义的默认设置.如果我运行我的应用程序然后我离开它(所以它在后台).我将更改设置并重新启动应用程序(它来自待机和方法:applicationDidBecomeActive()被调用).
NSUserDefault中的值不是更新,但是当我离开应用程序并重新启动时.价值很高.
有人遇到和我一样的问题吗?我做错了什么?
感谢您的建议/帮助.
我得到了包含UTF8列的MySQL DB,其中包含这样的"ТÐμÑ"记录.PHP的mb_detect_encoding()告诉我这是UTF-8.我怎样才能将这种"恐怖"变成可读的东西?
谢谢
我正在开发一个支持iPhone的应用程序iPhone 2-4.我的应用程序图标有问题,因为它在iPhone 4 模拟器中显示为像素化,所以我使用了更高分辨率(300 x 300)的新图像.在模拟器上,它对iPhone 4和iPhone设备模拟器都很好.但是,当我将我的应用程序移植到iPhone 3实际设备时,图标根本没有显示,而是我得到一个空白的白色图标.我还没有iPhone 4,所以我无法判断物理设备上是否会出现同样的问题.
我不确定用于图标在iPhone 4和旧设备上完美显示的最佳尺寸/ dpi是多少?如果可能的话,我将不胜感激.
我们在.NET中有ListView.Groups.Qt中是否有等价物(不使用Windows API)?
我无法在Qt的文档中找到任何表明支持的内容.
Windows Vista/7中的示例:http://i50.tinypic.com/zumgyg.jpg
提前致谢!
iphone ×2
mysql ×2
xcode ×2
api ×1
asp.net ×1
c# ×1
cocoa ×1
encoding ×1
filesystems ×1
google-maps ×1
icons ×1
ios4 ×1
javascript ×1
listview ×1
macos ×1
mojibake ×1
objective-c ×1
perl ×1
php ×1
qt ×1
versioning ×1
windows ×1
yield ×1