在crontab文件中,是否应使用尾随"&"指定命令,或者命令是否仍在后台运行?
我有:
*/20 * * * * /home/me/monitor/check.sh /home/me/monitor/check.properties >> /home/me/monitor/check.log 2>&1 &
Run Code Online (Sandbox Code Playgroud)
我在不同的地方看到过这个问题的矛盾答案.有人说不需要输入"&",其他没有&符号的人会等待命令输出,即使所有输出都被重定向.
我对我看到的电话有点困惑Mage::getSingleton,我希望有人可以帮我理解一点.
我看过一段核心代码可以做到这一点:
Mage::getSingleton('customer/session')->isLoggedIn()
Run Code Online (Sandbox Code Playgroud)
我不知道PHP,但我认为我可以在一个安全的假设getSingleton方法名,将有只有一个指定的类(类被指定为分组类名,并决心对实例app/code/core/Mage/Customer/Model/Session.php-含类Mage_Customer_Model_Session.
问题1 -
如何知道getSingleton方法在类的Model文件夹中查找?
问题2 -
所以整个类有一个实例...我想说JVM因为我来自Java背景,但我会说PHP引擎希望这是一个模糊的正确术语; 在Mage_Customer_Model_Session没有在客户ID或任何此类标识符过去了,但我们所说的方法isLoggedIn()!Mage_Customer_Model_Session假设每个客户没有实例,当我们没有告诉客户我们正在谈论的客户时,我们如何询问客户是否登录?
问题3 -
我已经看到了通话Mage::getSingleton('core/session')和Mage::getSingleton('customer/session')-的区别是什么?
感谢您的任何帮助.
我对HTML5中的脚本元素的新异步属性有一些困惑,我希望有人可以给出明确的答案.
浏览器具有并行连接功能,因此可以并行下载图像.但任何外部JavaScript都不会与其他外部JavaScript和图像并行下载.脚本阻止页面加载,直到它们被下载并执行.
要下载脚本而不阻止其余页面加载,最常见的技术是创建一个脚本元素,就像Google Analytics代码段一样:
var ga = document.createElement('script');
ga.type = 'text/javascript';
ga.src = '...ga.js';
ga.async = true;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
Run Code Online (Sandbox Code Playgroud)
我不确定它是如何工作的 - 或者
要么
我认为这是后者.
新的异步Google Analytics代码段在其创建的脚本元素中包含HTML5异步属性.这对页面阻塞问题没有帮助 - 这已经通过"脚本DOM元素"技术解决了.那么异步添加到图片中的是什么?根据w3schools的说法,"如果存在异步,脚本将与页面的其余部分异步执行(脚本将在页面继续解析时执行)".
根据Steve Souders网站的说法,"这个[异步属性]的主要好处是告诉浏览器后续脚本可以立即执行 - 他们不必等待ga.js".
async和Script DOM元素技术都解决了同样的问题吗?
我一直在浏览Chrome扩展程序,并且我想创建一个使用侧边栏与网页交互的扩展程序.因此,用户单击按钮启动扩展,当前页面拆分,右侧部分显示我的扩展名.我试过下面,但我什么都没看到(工作或其他).我并不感到惊讶它不起作用,因为我没有一个sidebar.html文件.我在清单中有这个原因是因为我在本网站的另一篇文章中看到了它.有人建议使用manifest.json中的"sidebar"行,但文档中甚至没有提到"sidebar"作为清单语法的有效部分.
manifest.json的:
{
"name": "Test 1",
"version": "1.0",
"description": "Test Extension 1",
"page_action": {
"default_icon": "icon.png",
"default_title": "Testing",
"default_popup": "popup.html"
},
"sidebar" : {},
"permissions": [
"experimental"
]
}
Run Code Online (Sandbox Code Playgroud)
popup.html:
<script>
chrome.experimental.sidebar.show();
chrome.experimental.sidebar.expand();
chrome.experimental.sidebar.navigate({path: "sidebar.html"});
</script>
Run Code Online (Sandbox Code Playgroud)
我启用了'实验'.
谢谢你的帮助.
我发现Magento事件调度是一个非常令人沮丧的领域.我认为很多挫折感像往常一样,缺乏文档.
我希望我的代码可以在访问者浏览网站的各个阶段触发.所以我在Mage :: dispatchEvent中进行了一些调试,然后我浏览了网站以查看每个阶段触发的事件.有很多!
我感兴趣的两个地方是:
当访问者选择了帐单地址并转到结帐流程的下一个阶段时.
当用户成功下订单时
对于帐单地址一,我看到被解雇的事件看起来相关:
controller_action_predispatch_checkout_onepage_saveBilling
controller_action_postdispatch_checkout_onepage_saveBilling
Run Code Online (Sandbox Code Playgroud)
'pre'和'post'告诉我实际上有一个'checkout_onepage_saveBilling'事件,但是没有,所以我的第一个问题是为什么'pre'和'post'?
对于成功的订单,看起来不错的事件是:
checkout_onepage_controller_success_action
checkout_multishipping_controller_success_action
Run Code Online (Sandbox Code Playgroud)
我的第二个问题是,所有付款方式都会触发这些事件吗?例如,如果使用Google Checkout或PayPal(标准重定向),事件是否会触发,以及在什么时候?从PayPal返回网站时?如果是这样,那么如果用户在完成付款后没有返回该问题会产生什么问题.
谢谢你的帮助.
我有一个有两个提交按钮的表单.我想使用JavaScript手动提交表单,并使用输入按钮提交与其他表单元素一起发布的表单,就像表单自动提交一样.关于这个问题有很多喋喋不休,但我找不到答案.
<form method="post" action="echoToScreenAndLog.jsp" id="form1">
<input id="field1" name="field1"/>
<input type="text" size="20" id="field2" name="field2"/>
<input type="submit" value="Do One" name="sub1_name" id="sub1_id"/>
<input type="submit" value="Do Two" name="sub2_name" id="sub2_id"/>
</form>
Run Code Online (Sandbox Code Playgroud)
当窗体上方用"做一"按钮提交,张贴的参数是field1="xxx",field2="yyy",sub1_name="Do One".
但我想手动提交表格......
<form method="post" action="echoToScreenAndLog.jsp" id="form1">
<input id="field1" name="field1"/>
<input type="text" size="20" id="field2" name="field2"/>
<input type="submit" value="Do One" name="sub1_name" id="sub1_id"/>
<input type="submit" value="Do Two" name="sub2_name" id="sub2_id"/>
</form>
<script type="text/javascript">
var btn = document.getElementById('sub1_id');
btn.onclick=function() {
return mySubmit(document.getElementById('form1'), ...);
}
</script>
Run Code Online (Sandbox Code Playgroud)
但是在mySubmit函数中手动提交表单不会发布sub1_name参数.我可以理解 - 我绕过了提交,因此表单没有使用按钮提交,因此发布表示用于提交表单的按钮的参数是没有意义的. …
我有一个应用程序连接到需要基本身份验证的站点.这些站点在运行时提供,在编译时不知道.
我正在使用HttpClient 4.2.
我不确定下面的代码是否应该如何指定基本身份验证,但文档会建议它.但是,我不知道在构造函数中传递什么AuthScope.我原以为null参数意味着所提供的凭据应该用于所有URL,但它会抛出一个NullPointerException,所以显然我错了.
m_client = new DefaultHttpClient();
UsernamePasswordCredentials credentials = new UsernamePasswordCredentials(m_userName, m_password);
((DefaultHttpClient)m_client).getCredentialsProvider().setCredentials(new AuthScope((HttpHost)null), credentials);
Run Code Online (Sandbox Code Playgroud) java httpclient apache-commons-httpclient apache-httpclient-4.x
我想在我的bash脚本中使用if语句:
if [[ "$v" == "A" || my_func $x $y ]] ; then
Run Code Online (Sandbox Code Playgroud)
但我收到错误"条件二元运算符预期".我已经尝试在调用my_func的参数中引用参数,但仍然没有好处.尝试玩eval,这也没有帮助.
谢谢你的帮助.
我不明白 - 如果我检查函数中的命令的退出状态并存储在局部变量中,我总是得到答案0.从函数外部,我得到正确的退出状态.
#!/bin/bash
function check_mysql()
{
local output=`service mysql status`
local mysql_status=$?
echo "local output=$output"
echo "local status=$mysql_status"
}
check_mysql
g_output=`service mysql status`
g_mysql_status=$?
echo "g output=$g_output"
echo "g status=$g_mysql_status"
Run Code Online (Sandbox Code Playgroud)
输出是:
local output=MySQL is running but PID file could not be found..failed
local status=0
g output=MySQL is running but PID file could not be found..failed
g status=4
Run Code Online (Sandbox Code Playgroud)
4的状态是正确的.
我有一个文件在最后一行的末尾没有EOL.当我从中读取的bash脚本没有处理最后一行时,我注意到了这一点.
我这样读了:
while read LINE
do
...
done <thefile
Run Code Online (Sandbox Code Playgroud)
该文件提供给我,因此在它进入我的系统之前我无能为力(Linux - OpenSuSE 10.2).我确实dos2unix在文件上运行,但这并不能解决丢失的EOL问题.
我见过涉及几个解决方案vi和ed,但他们有点笨重,我希望有一个更简洁的解决方案,也许用sed,我可以从我的bash脚本中使用?
奇怪的是,当我vi在文件中做一个时:set list,我可以$在最后一行的末尾看到一个" ".因为我认为" $"代表了,所以我期待失踪\n.或者换行和行尾有什么区别?
显然,使用jQuery.ajax的JSONP请求实际上并不是异步的,而只是使用Script DOM Element方法,向页面添加脚本标记.我从这里发现:https://groups.google.com/forum/#!topic/jquery-dev/5-tKI-7zQvs,其中说明:
跨域JSONP根本不是AJAX.它不使用XMLHttpRequest.它只不过是一个加载JavaScript代码的动态脚本元素.
然后在页面加载后处理该动态脚本元素(在JSONP的情况下,这意味着使用源自.ajax调用中指定的url的JSON数据的参数执行回调函数).
因此,如果我在HTML网页中有以下代码:
<script>
jQuery(document).ready(function() {
jQuery.ajax({dataType:'jsonp', data:'FIRST'...});
});
</script>
<script>
jQuery(document).ready(function() {
jQuery.ajax({dataType:'jsonp', data:'SECOND'...});
});
</script>
Run Code Online (Sandbox Code Playgroud)
事情的顺序是什么?
它会是:
(1)脚本标签做了添加到DOM的FIRST请求
(2)脚本标签做了添加到DOM的SECOND请求
(3)提出第一个请求
(4)第二次请求
要么:
(1)脚本标签做了添加到DOM的FIRST请求
(2)提出第一个请求
(3)脚本标签做了添加到DOM的SECOND请求
(4)第二次请求
或者上述两种情况都不是我的误解?
谢谢.