我认为你使用的语言并不禁止你开发一些免费的库等等。该技术的系统并非(全部)免费,但这并不意味着您不能用它来做开源产品。
如果你开发 C#,你就在某种程度上“赞助”了微软,微软并不真正喜欢开放软件,你可能会发现这是一个问题。
我是一名 C# 开发人员,对此没有任何问题,因为我在工作中编写的每个代码都是专有代码,所以不知何故我也是一名专有代码开发人员,我无法逃避这一点。
我没有看到专有代码有任何问题:)
它有一个 if 检查,但不知道如何处理结果。我想你希望它得到回显,所以它应该是这样的:
function postORempty($field)
{
echo ((isset($_POST[$field])) ? $_POST[$field] : "");
}
或者返回它:
function postORempty($field)
{
return ((isset($_POST[$field])) ? $_POST[$field] : "");
}
取出通配符匹配表达式(。*)
:
RewriteCond %{THE_REQUEST} ^index\.php
RewriteRule ^index\.php$ http://www.thisdomain.co.uk/$1 [R=301,L]
应该做您要寻找的事情。这样,您甚至可能不需要rewriteCond
read_ahead 与delayed_write 相反,因为读取与写入相反。
如果您想读取并发送更大的内存块,则不需要 read_ahead,只需读取大块并发送它们(此处保存的操作系统调用不多)。
来自 read_ahead 上的 file:open/2 联机帮助页:
如果 read/2 调用的大小不显着小于或什至大于 Size
字节,预计不会有任何性能提升。
打开时不需要指定和索引。只需使用 pwrite/3 或 position/2 和 write/2。
但是在文件的不同位置写入可能只会减少 delayed_write
的增益,因为(也是 文件:open/2):
缓冲的
数据也会在其他文件之前刷新
执行 write/2 以外的操作。
如果您有多个位置的大量数据,请将它们收集在 {Location, Bytes}
列表中,并时不时用 file:pwrite/2 一口气完成。这可以映射到非常高效的 writev(2)
系统调用,一次性写入多个块。
你的问题实际上与闭包无关。当您这样做时:
modMe = secretVar;
您只是创建一个指向相同数组的新变量。您对一个变量所做的操作将反映在两个变量中,因为它们指向同一事物。
如果您想对数组执行某种修改(同时保留原始数组),您需要先复制它:
var copied = [];
for(var i = 0; i < secretVar.length; i++){
copied.push(secretVar[i]);
}
编辑:顺便说一句,当您说您使用闭包来“保护变量”时,您并没有保护它们防止被执行闭包的返回函数修改。您刚刚做到了这一点,以便从这些函数的范围之外无法访问该变量。但是,在作用域内,例如当您执行切片时,该变量就在那里并且可供该函数访问,并且不会仅仅因为它是一个闭包而受到“保护”。
编辑 2:如果您要经常复制数组,您可以通过创建一个封闭函数来为您进行复制来消除迭代的一些麻烦:
closure = function() {
var secretVar = 'Secret';
var clone = function(){
var clonedArr = [];
var length = secretVar.length;
for(var i = 0; i < length; i++){
clonedArr.push(secretVar[i]);
}
return clonedArr;
}
return {
"msg" : function() {
var duplicate = clone();
}
};
}();
您必须调用 setIs24HourView 函数并为此发送 true。
当时间选择器处于 24 模式时 AM/PM 将消失。
TimePicker tpHourMin = (TimePicker) findViewById(R.id.timePicker);
tpHourMin.setIs24HourView(true);
通过将 Materialize 与自定义样式表结合使用,您可以实现如下效果:
CSS 代码
.custom_checkbox[type="checkbox"]:checked + span:not(.lever)::before {
border: 2px solid transparent;
border-bottom: 2px solid #ffd600;
border-right: 2px solid #ffd600;
background: transparent;
}
< strong>HTML 代码
<label>
<input type="checkbox" class="custom_checkbox" />
<span>Text</span>
</label>
演示
对于基于 Web 的,您可以尝试用于 Java 的 GWT (Google Web Tookit)。 Flex-AIR将是桌面应用程序的另一个候选者。
还有另一种方法可以使用 System.Xml 功能来转义此类字符。
您只需将 XmlWriterSettings 的 CheckCharacters 标志设置为 false。
using (XmlWriter xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings { CheckCharacters = false }))
{
document.Save(xmlWriter);
}
但如果您想读取 xml,则必须将 XmlReaderSettings 的相同标志设置为 false。 :)
using (XmlReader reader = XmlReader.Create(stringReader, new XmlReaderSettings { CheckCharacters = false }))
{
document = XDocument.Load(reader);
}
您应该了解的情况,
CreateFileW(L"D:\\1\\test.txt", GENERIC_READ, 0, 0, CREATE_NEW, 0, 0);
// A file has been created.
CreateFileW(L"D:\\1\\test.txt", GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
// Of course, the file will be opened well.
CreateFileW(L"D:\\1\\\\test.txt", GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
// It works well too. Windows subsystem does canonicalize that.
CreateFileW(L"\\\\?\\D:\\1\\\\test.txt", GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
// '\\?\' prefix tell Windows "Don't touch my path, just send it to filesystem"
// So it will be failed.
http://msdn。 microsoft.com/en-us/library/aa365247(VS.85).aspx#maxpath
我不知道 .NET 如何包装这个 api。我想汉斯·帕桑特可能对此很了解。 :)
坦率地说,我真的不知道有什么好的在线网站可以做到这一点。
Google 给了我这个网站,但我尝试了一下,它确实有点麻烦,而且很难合作。
我真的建议你会发现在你的机器上安装一些数据库(如 MySQL / SQL Server Express)并尝试一下会容易得多。
安装 SQL Server Express 等软件非常简单。您只需从此处下载 db + 工具,快速安装即可完成所有设置要获取
示例数据,您可以随时下载 Adventureworks 数据库。
列出了有关如何使用 SQL Express 运行 AdventureWorks 数据库的分步详细信息 此处
像这样使用 .className
:
$('.class2 , .class3, .class3').bind('click', function() {
alert(this.className);
location.href = "test.htm";
});
您可以 不过,可以是这些类中的 1 到 3 个,包括其他不相关的类。
或者,因为如果您想使用 .hasClass()
测试它,您实际上只有 2 个 这也是一个选项:
$('.class2 , .class3').bind('click', function() {
var c = $(this).hasClass("class2") ? "class2" : "class3";
alert(c);
location.href = "test.htm";
});
正确的答案是来自“max”的答案(手动设置你的 HOME 环境变量),但它可能有助于一些人理解问题发生的原因(随着 Git 在世界各地获得更多用户,这将变得非常常见)。
Cygwin 将 $HOME 设置为 /home/yourname,但该变量在 Windows 环境中未知。因此,如果您打开 bash 窗口并执行 env | grep HOME 你会看到这里提到的所有三个“HOME”变量,你可能想知道为什么 Gitextensions 不使用正确的 cygwin HOME - 这是因为它的 .bat 文件调用看不到它 - 它只看到你看到的内容在 Windows 控制台中进行“设置”。
令人费解的是,为什么它不稍后进行此评估并获取正确的 cygwin 路径,因为它知道如何调用 bash,但是(至少在 2.41 之前的版本中)您必须在设置或 .gitconfig 中进行手动更改。
据我所知,.NET 内存模型并不能保证一个线程中对变量所做的更改在另一个线程中可见。你需要一个内存屏障。最简单(尽管不是最有效)的组织方法是使用
lock
或Interlocked
方法。顺便说一句,忙碌的等待并不是实现目标的最佳方法。也许您想切换到具有适当条件变量(
Monitor
(用 C# 的说法)用法?As far as I know, the .NET memory model doesn't guarantee that the changes of a variable made in one thread will be visible in another thread. You need a memory barrier there. The simplest (though not the most efficient) way to organize that is by using
lock
orInterlocked
methods.By the way, busy waiting is not the best method to achieve your goal. Maybe you'd like to switch to the producer-consumer model with appropriate condition variable (
Monitor
s in C# parlance) usage?使用 bool 来同步多个线程是否安全?