由于系统这些天越来越的Javascript(jQuery的,AJAX等)为主,我们一直试图让越来越多的错误日志记录发生的这些事情.
我担心的是,在jQuery本身,当创建或执行正常的DOM操作/ jQuery事件时,window.onerror无法捕获这些,这可能有助于通过让他们登录服务器来更快地调试生产中的错误
在2008年的这篇文章中(.onerror&jQuery bind try/catch {}),他们在甚至document.ready事件中添加了try/catch {}jQuery.bind() event.现在一切都经历了这个.on()事件,这篇文章有点陈旧,但我觉得逻辑仍然可以工作......
有没有人尝试过将这样的jQuery覆盖(try/catch系统)实现到自己的Projects中?
基本上我想继续使用CDN中的jQuery,并且只在我们的一个JS文件中 - .on() / $(document).ready() / etc使用这些更改扩展/覆盖事件.
jQuery.fn.extend({ // <-- can this be extended / overwritten ?
on: function(etc etc) {
// same code just add the additional
try {
// try to execute the original .on()
}
catch (ex) {
// log any errors / info (where/why/etc)
}
}
});
// or even some sort of try/catch for $(document).ready()? …Run Code Online (Sandbox Code Playgroud) 我想在使用seaborn模块创建的热图图中增加与颜色条对应的刻度标签大小.举个例子:
import seaborn as sns
import pandas as pd
import numpy as np
arr = np.random.random((3,3))
df = pd.DataFrame(arr)
ax = sns.heatmap(arr)
Run Code Online (Sandbox Code Playgroud)
通常我会labelsize使用tick_paramscolorbar轴对象上的方法更改关键字,但是使用该heatmap()函数我只能将kwargs传递给colorbar构造函数.如何在此图中修改颜色条的刻度标签大小?
我正在尝试覆盖hdf5文件中的pandas数据帧.每次执行此操作时,文件大小都会增长,而存储的帧内容则相同.如果我使用mode ='w',我丢失了所有其他记录.这是一个错误还是我错过了什么?
import pandas
df = pandas.read_csv('1.csv')
for i in range(100):
store = pandas.HDFStore('tmp.h5')
store.put('TMP', df)
store.close()
Run Code Online (Sandbox Code Playgroud)
tmp.h5的大小越来越大.
我正在尝试在官方文档中描述的 Ubuntu 12.04上使用python中的TA-Lib .但是,当使用pandas时,DataFrame或者Series如不同来源的多个示例所示,我得到以下内容TypeError:
回溯(最近调用最后一次):文件"test1.py",第14行,分析['rsi'] = ta.RSI(spy.Close)TypeError:参数'real'的类型不正确(预期numpy.ndarray,得到系列)
执行例如此代码时:
import pandas.io.data as data
import pandas as pd
import talib as ta
import matplotlib.pyplot as plt
# Download SP500 data with pandas
spyidx = data.get_data_yahoo('SPY', '2013-01-01')
analysis = pd.DataFrame(index = spyidx.index)
analysis['rsi'] = ta.RSI(spyidx.Close)
Run Code Online (Sandbox Code Playgroud)
什么地方出了错?
我在Win7 x64上运行Python 3.4.1 Anaconda 2.1.0.Cython版本是0.21,我可以确认它已经安装.
我试图通过命令安装TA-lib包装器easy_install TA-lib.
我已经有了ta-lib文件夹c:\ta-lib.
这是发生的事情的完整打印:
easy_install ta-lib
搜索ta-lib
阅读https://pypi.python.org/simple/ta-lib/
阅读http://github.com/mrjbq7/ta-lib
阅读https://github.com/mrjbq7/ta-lib/releases
最佳匹配:TA-Lib 0.4.8
下载https://github.com/mrjbq7/ta-lib/archive/TA_Lib-0.4.8.zip
处理TA_Lib-0.4.8.zip
写C:\Users\ULYATES\AppData\Local\Temp\easy_install-mxydk494\ta-lib-TA_Lib-0.4.8\setup.cfg
运行ta-lib-TA_Lib-0.4.8\setup.py -q bdist_egg --dist-dir C:\用户\ ULYATES \应用程序数据\本地的\ Temp\easy_install的-mxydk494\TA-LIB-TA_Lib-0.4.8 \蛋DIST-TMP的dvmbdia1C:/ anaconda3/mingw的/ bin中/../ LIB/GCC/x86_64的-W64-的mingw32/4.7.0 /../../../../ x86_64的-W64-的mingw32/bin中/ ld.exe:搜索-lta_libc_cdr c时跳过不兼容的c:\ ta-lib\c\lib/ta_libc_cdr.lib:/ anaconda3/mingw/bin /../ lib/gcc/x86_64-w64-mingw32/4.7.0 /../ ../../../x86_64-w64-mingw32/bin/ld.exe:在搜索-lta_libc_cdr c时跳过不兼容的c:\ ta-lib\c\lib/ta_libc_cdr.lib:/ anaconda3/mingw/bin /../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe:跳过不兼容的c:\ ta-lib\c\lib\ta_libc_cdr.lib搜索-lta_libc_cdr c时:/ anaconda3/mingw/bin /../ lib/gcc/x86_64-w64-mingw32/4.7.0 /../../../ .. /x86_64-w64-mingw32/bin/ld.exe:找不到-lta_libc_cdrcollect2.exe:错误:ld返回1退出状态错误:安装脚本退出并显示错误:命令'C:\ Anaconda3\Scripts\gcc.bat'退出状态1失败
我有以下代码来检查网页是否可以被框架化:
var req = new XMLHttpRequest();
var test = req.open('GET', link, false);
console.log("test",test); //ALWAYS undefined
if(req.send(null)){ //ALWAYS throws error NS_ERROR_FAILURE
var headers = req.getAllResponseHeaders().toLowerCase();
console.log("headers");
}else{
console.log("FAILED");
}
Run Code Online (Sandbox Code Playgroud)
我用几个链接测试它,可以框架或不框架,但总是失败.你知道为什么吗?
链接:
我想在另一个模块(比如说module_2.py)的另一个方法中添加一个指向一个模块(比如说)中的类的方法的链接module_1.py。我希望链接在 Sphinx 中工作。
认为:
模块_1.py
class ABC:
def foo(self):
"""
See docstring of module_2.py bar():<link to bar() in module_2.py>
"""
print("foo")
Run Code Online (Sandbox Code Playgroud)
模块_2.py
class XYZ:
def bar(self):
"""
This function prints hello.
"""
print("hello")
Run Code Online (Sandbox Code Playgroud) 我有一条消息,我想添加一个内联按钮.单击此按钮时,用户可以将此消息转发给组.我怎样才能做到这一点?
$keyboard = [
'inline_keyboard' => [
[['text' => 'forward me to groups']],
]];
HTTPRequest("sendMessage", [
"chat_id" => $request["message"]["chat"]["id"],
"text" => "this is a message",
"reply_markup" => json_encode($keyboard)
]);
Run Code Online (Sandbox Code Playgroud) 我正在尝试设置我的测试环境来使用 firestore 测试我的安全性。我从https://firebase.google.com/docs/rules/unit-tests#before_you_run_the_emulator复制了此代码
let testEnv : RulesTestEnvironment;
beforeAll(async () => {
testEnv = await initializeTestEnvironment({
projectId: "demo-project-1234",
firestore: {
rules: fs.readFileSync('firestore.rules', 'utf8'),
},
});
});
Run Code Online (Sandbox Code Playgroud)
但是,我收到此错误。
必须指定 firestore 模拟器的主机和端口。(您可以使用 firebase emulators:exec './your-test-script' 包装测试脚本以启用自动发现,或通过initializeTestEnvironment({firestore: {host, port}})手动指定。
有人知道如何解决这个问题吗?
编辑
我尝试将主机和端口添加到正在运行的模拟器中,如下所示
let testEnv : RulesTestEnvironment;
beforeAll(async () => {
testEnv = await initializeTestEnvironment({
projectId: "comment-section-e9c09",
firestore: {
rules: fs.readFileSync('firestore.rules', 'utf8'),
host:'localhost',
port:8080
},
});
});
Run Code Online (Sandbox Code Playgroud)
现在它似乎能够连接到我的模拟器,但是当我尝试 fx 清除数据库时
test("sefse", () => {
testEnv.clearDatabase()
})
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
[UnhandledPromiseRejection:此错误的根源是在没有 catch 块的情况下抛出异步函数内部,或者拒绝未使用 .catch() 处理的 Promise。该承诺被拒绝,原因是“错误:必须指定数据库模拟器的主机和端口。(您可以使用 'firebase …