The path "" is not a valid path to the 3.10.0-693.el7.x86_64 kernel headers.问题是找不到内核头文件,需要安装头文件,按照网上的方法yum安装后
还是不行,是那种的版本还是有问题 ,正确的安装命令:
yum install "kernel-devel-uname-r == $(uname -r)"
去芜存菁
The path "" is not a valid path to the 3.10.0-693.el7.x86_64 kernel headers.问题是找不到内核头文件,需要安装头文件,按照网上的方法yum安装后
还是不行,是那种的版本还是有问题 ,正确的安装命令:
yum install "kernel-devel-uname-r == $(uname -r)"
select * from voucher where prefix='JP10' and voucher_no between 67870 and 67872; select * from voucher_campaign where campaign_code like '%Keppel%'; select * from voucher_campaign_issue where voucher_id in (363962,363963,363964); select * from voucher_action where voucher_id in (363962,363963,363964) and action_id = 30; select * from voucher_campaign_issue_request where request_id = 61549; select * from voucher_request_approve where request_id = 61549; select * from voucher_receipt_numbers where voucher_ids like '%363962%';
=========================================================================================================
select group_concat(voucher_id) from voucher where prefix='JP10' and voucher_no between 51161 and 51162 select group_concat(voucher_id) from voucher where prefix='JP10' and voucher_no between 50115 and 50124 select group_concat(voucher_id) from voucher where prefix='JP10' and voucher_no between 48000 and 48009 select group_concat(voucher_id) from voucher where prefix='JP10' and voucher_no between 47941 and 47942 select* from voucher_campaign #189 select * from voucher_campaign_issue where voucher_id in (347253,347254,346207,346208,346209,346210,346211,346212,346213,346214,346215,346216,344092,344093,344094,344095,344096,344097,344098,344099,344100,344101,344033,344034) #update voucher_campaign_issue set campaign_id = 189 where voucher_id in (347253,347254,346207,346208,346209,346210,346211,346212,346213,346214,346215,346216,344092,344093,344094,344095,344096,344097,344098,344099,344100,344101,344033,344034) select * from voucher_request_approve where request_id in (58643,58653,58740,58885) #update voucher_request_approve set request_remarks = REPLACE (request_remarks, 'Campaign: UOB Redemption', 'Campaign: NS50 Recognition Package') where request_id in (58643,58653,58740,58885) select * from voucher_campaign_issue_request where request_id in (58643,58653,58740,58885) #update voucher_campaign_issue_request set campaign_id = 189 where request_id in (58643,58653,58740,58885) select * from voucher_action where voucher_id in (347253,347254,346207,346208,346209,346210,346211,346212,346213,346214,346215,346216,344092,344093,344094,344095,344096,344097,344098,344099,344100,344101,344033,344034) and action_id = 30 #update voucher_action set remarks=REPLACE (remarks, 'Campaign: UOB Redemption', 'Campaign: NS50 Recognition Package') where voucher_id in (347253,347254,346207,346208,346209,346210,346211,346212,346213,346214,346215,346216,344092,344093,344094,344095,344096,344097,344098,344099,344100,344101,344033,344034) and action_id = 30
superagent 使用post的时候会有2次请求
一次请求的类型是OPTIONS
另一种是POST
开始的时候我如何都接受不到post过来的数据
后来仔细核对了浏览器里的信息发现传输数据的方式不是以前的form data而是request payload
然后就上网找如何处理request payload类型的数据
最终像下面这样解决
header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Methods: GET,HEAD,PUT,PATCH,POST,DELETE'); if($_SERVER['REQUEST_METHOD'] == 'OPTIONS'){ header('HTTP/1.1 204 No Content'); header('Server: Cowboy'); header('Content-Length: 0'); header('Connection: keep-alive'); header('Vary: Access-Control-Request-Headers'); header('Access-Control-Allow-Headers: content-type'); header('Date: Fri, 19 Jan 2018 07:57:49 GMT'); header('Via: 1.1 vegur'); }else if($_SERVER['REQUEST_METHOD'] == 'POST'){ $request_body = file_get_contents('php://input'); $data = json_decode($request_body); echo json_encode($result); }
http://wiki.jikexueyuan.com/project/es6/promise.html
ES6 原生提供了 Promise 对象。所谓 Promise 对象,就是代表了某个未来才会知道结果的事件(通常是一个异步操作),并且这个事件提供统一的 API,可供进一步处理。
有了 Promise 对象,就可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。此外,Promise 对象提供的接口,使得控制异步操作更加容易。Promise 对象的概念的详细解释,请参考<a rel="nofollow" href="http://javascript.ruanyifeng.com/" "="" style="box-sizing: border-box; padding: 0px; margin: 0px; background-color: transparent; color: rgb(45, 133, 202); text-decoration-line: none;">《JavaScript标准参考教程》。
ES6 的 Promise 对象是一个构造函数,用来生成 Promise 实例。
var promise = new Promise(function(resolve, reject) { if (/* 异步操作成功 */){ resolve(value); } else { reject(error); } }); promise.then(function(value) { // success }, function(value) { // failure });
上面代码中,Promise 构造函数接受一个函数作为参数,该函数的两个参数分别是 resolve 方法和 reject 方法。如果异步操作成功,则用 resolve 方法将 Promise 对象的状态,从“未完成”变为“成功”(即从 pending 变为 resolved);如果异步操作失败,则用 reject 方法将 Promise 对象的状态,从“未完成”变为“失败”(即从 pending 变为 rejected)。
Promise 实例生成以后,可以用 then 方法分别指定 resolve 方法和 reject 方法的回调函数。
下面是一个使用 Promise 对象的简单例子。
function timeout(ms) { return new Promise((resolve) => { setTimeout(resolve, ms); }); } timeout(100).then(() => { console.log('done'); });
……
先补充下localStorage 知识点:
JS对象
读取形式:
localStorage.name
添加/修改
localStorage.name = "xuanyuan"
其中"xuanyuan"只能是字符串形式(目前为止只支持字符串)。所以存储时是JSON对象时需要执行下JSON.stringify,所以获取时需要执行下JSON.parse
删除
detele localStorage.name
API
获取键值对数量
localStorage.length
读取
localStorage.getItem('name'), localStorage.key(i)
添加/修改
localStorage.setItem('name','xuanyuan')
删除对应键值
localStorage.removeItem('name')
删除所有数据
localStorage.clear()
顺便说下,localStorage有效期是永久的。一般的浏览器能存储的是5MB左右。sessionStorage api与localStorage相同。
sessionStorage默认的有效期是浏览器的会话时间(也就是说标签页关闭后就消失了)。
localStorage作用域是协议、主机名、端口。(理论上,不人为的删除,一直存在设备中)
sessionStorage作用域是窗口、协议、主机名、端口。
知道了这些知识点后,你的问题就很好解决了。
localStorage是window上的。所以不需要写this.localStorage,你这里的this,是指vue实例。
方案一、
// 这里写的答案是指data.body.data是JSON。不是JSON则不需要JSON.parse和JSON.stringify
存储:localStorage.data = JSON.stringify(data.body.data);
获取:JSON.parse(localStorage.data);
方案二、
存储:localStorage.setItem('data',JSON.stringify(data.body.data));
获取:JSON.parse(localStorage.getItem('data'));
1、父组件可以使用 props 把数据传给子组件。
2、子组件可以使用 $emit 触发父组件的自定义事件。
vm.$emit( event, arg ) //触发当前实例上的事件
vm.$on( event, fn );//监听event事件后运行 fn;
例如:子组件:
<template> <div class="train-city"> <span @click='select(`大连`)'>大连</span> </div> </template> <script> export default { name:'trainCity', methods:{ select(val) { let data = { cityname: val }; this.$emit('showCityName',data);//select事件触发后,自动触发showCityName事件 } } } </script>
父组件:
<template> <trainCity @showCityName="updateCity" :index="goOrtoCity"></trainCity> //监听子组件的showCityName事件。 <template> <script> export default { name:'index', data () { return { toCity:"北京" } } methods:{ updateCity(data){//触发子组件城市选择-选择城市的事件 this.toCity = data.cityname;//改变了父组件的值 console.log('toCity:'+this.toCity) } } } </script>
结果为:toCity: 大连
Kafka 是一种高吞吐的分布式消息系统,能够替代传统的消息队列用于解耦合数据处理,缓存未处理消息等,同时具有更高的吞吐率,支持分区、多副本、冗余,因此被广泛用于大规模消息数据处理应用
http://blog.csdn.net/dwf_android/article/details/69523430
首先了解什么叫RPC,为什么要RPC,RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。
https://www.zhihu.com/question/25536695
Linux系统自带的python箭头和退格键都可以正常使用,自定义安装的python退格键和箭头不可以正常使用,会出现">>> daf ^H^[[D "这样的怪东西。
因为readline库的问题。那么解决的方法就是:
yum install readline-devel.*
然后再去重新configure、make 、make install python 就可以了。
server { listen 80; charset utf-8; server_name xxx.com www.xxx.com; if ($http_host !~ "^www.xxx.com$") { rewrite ^(.*) http://www.xxx.com$1 permanent; } location / { proxy_pass http://192.168.0.2:80; proxy_set_header Host $host; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }