ClickHouse日常使用记录
基本操作语句
导入文件数据到数据库
clickhouse-client --port=9002 --query "INSERT INTO tutorial.visits_v1 FORMAT TSV" --max_insert_block_size=100000 < ./visits_v1.tsv
--port:指定端口
--query:查询语句
工作学习中的点点滴滴。
clickhouse-client --port=9002 --query "INSERT INTO tutorial.visits_v1 FORMAT TSV" --max_insert_block_size=100000 < ./visits_v1.tsv
--port:指定端口
--query:查询语句
ctags插件用于实现代码跳转跟踪,用来调试代码。
第一步:
mac下安装:brew install ctags
第二步:
打开菜单在Preferences菜单中打开Package settings->ctags->settings-user和settings-default把default中的配置全部复制到user中,然后改一下command配置项,为ctags的可执行文件路径,即ctags路径
第三步:
配置快捷键:配置在sublime中使用Ctrl+左键单击函数跳转、Ctrl+右键单击跳回函数调用位置
复制以下代码到 Preferences->Package Settings->Ctags->Mouse Bindings-User
[
{
"button": "button1",
"count": 1,
"press_command": "drag_select",
"modifiers": ["ctrl"],
"command": "navigate_to_definition"
},
{
"button": "button2",
"count": 1,
"modifiers": ["ctrl"],
"command": "jump_prev"
}
]
public function store(Request $request){
return Formater::ajaxReturn(0, 'success',['csrf_token'=>csrf_token()]);
}
var host = pm.environment.get("URL");
pm.sendRequest(host+"/activity/zhenxing/store/41/z359Md3q", function (err, response) {
if (response.code === 200) {
console.log(response.json());
var res = response.json();
var csrf_token = res.data.csrf_token;
pm.environment.set("csrf_token", csrf_token);
}
});
今天在调试企业微信授权的时候,在授权后获取用户信息的时候,报错:Failed to get user openid:redirect_uri unauthorized
官方显示该错误是因为回调地址域名,没有添加到可信域名当中。但是已经检查多次,已经添加了,又折腾了半天,在官网问答页面看到了相似的问题,官方回复说是获取access_token的secret不是获取用户信息的应用的,但是检查数据库内的secret,发现是正确的。
后来猜测可能是缓存的数据没有变,改代码,临时关闭缓存,测试通过。
pm.environment.set("timestamps", Math.floor(new Date().getTime() / 1000));
var token = "lBZXpB5uRw5M";
var timestamps = pm.environment.get("timestamps");
var data = request.data; //获取请求参数,转为json
console.log("data:", data)
var newdata = [];
newdata.push({
name: 'timestamp',
value: timestamps
})
for (var a in data) {
if (a !== 'sign' && a !== 'timestamp') { //过滤掉sign参数,生成键值对象{name,value}
newdata.push({
name: a,
value: data[a]
})
}
}
//排序
newdata.sort(function (a, b) {
return a.name === b.name ? 0 : a.name > b.name ? 1 : -1
});
//拼接字符串
for (var ar = [], i = 0; newdata.length > i; i++) {
var key = newdata[i].name;
var val = newdata[i].value;
if(key == 'name'){
val = encodeURIComponent(newdata[i].value);
}
key && val && ar.push(key + "=" + val)
}
str = ar.join("&"); //拼接字符串
str = str+token
// str = encodeURIComponent(str);
console.log(str);
str = CryptoJS.MD5(str).toString().toLowerCase(); //md5加密后转大写
pm.environment.set("sign", str); //把sign设置为环境变量
console.log(str);