tar打包,然后用scp傳:
tar czf temp.tar.gz ***
scp temp.tar.gz user@host:~/target/調(diào)用目標(biāo)函數(shù),并傳入?yún)?shù),然后接收它的返回值。
def getArrayMean(data_array):
...
return mean_list
def drawScatter(setosa, versicolour,para_list):
...
# 你的代碼里沒(méi)說(shuō)明data_array是哪兒來(lái)的,就當(dāng)類似全局變量了。
# 下面兩行
mean_list = getArrayMean(data_array)
drawScatter(data_array[:,0:1], data_array[:,1:2], mean_list)
# 或者用下面這一行就行了
drawScatter(data_array[:,0:1], data_array[:,1:2], getArrayMean(data_array))laravel沒(méi)用過(guò),不過(guò)swiftMailer可以這樣搞:
$transport = Swift_SmtpTransport::newInstance($send_host, 25)
->setUsername($email_config['email'])
->setPassword($email_config['password']);
$mailer = new Mailer();
$mailer->setTransport($transport);
//Priority value, should be an integer in range: 1..5, where 1 is the highest priority and 5 is the lowest.
$priority = $email['isurgent'] == 2 ? 1 : 3;
$message = (new Message())
->setFrom([$email['send_mail'] => $email['send_name']])
->setTo(explode(';', $email['receive_mail']))
->setSubject($email['title'])
->setHtmlBody($email['content'])
->setPriority($priority);
$email['ccperson'] ? $message->setCc(explode(';', $email['ccperson'])) : '';
$email['bccperson'] ? $message->setBcc(explode(';', $email['bccperson'])) : '';
$email['isreturn'] ? $message->setReadReceiptTo($email['send_mail']) : '';
$attachment = json_decode($email['attachment'] ?: '[]', true);
$base_path = getcwd() . '/';
foreach ($attachment as $v) {
if (file_exists($base_path . $v['path'])) {
$message->attach($base_path . $v['path'], ['fileName' => $v['name'], 'contentType' => $v['type']]);
}
}
$result = $mailer->send($message);
設(shè)置下transport 。
還是自己嘗試出來(lái)了:
T1.belongsTo(T2,{foreignKey: 'source',sourceKey:"key"});
T1 model是屬于T2 model、通過(guò)foreignKey和sourceKey自定義關(guān)聯(lián)的字段
生成SQL:
SELECT * FROM T1 AS `t1` LEFT OUTER JOIN `T2` AS `t2` ON `t1`.`source` = `t2`.`key` https://www.jianshu.com/p/c6f...
https://codeday.me/bug/201707...
不同的方法,學(xué)會(huì)搜索
1.最終一致性和強(qiáng)一致性的區(qū)別。類似Paxos、Raft、PBFT都是在提交時(shí)就已經(jīng)保證了Safety。公鏈采用的共識(shí)算法,節(jié)點(diǎn)會(huì)把通過(guò)驗(yàn)證的當(dāng)前最長(zhǎng)鏈看作主鏈,如果探測(cè)到更長(zhǎng)的鏈,則切換過(guò)去,從概率上最終保證一致性;
2.同上,公鏈節(jié)點(diǎn)可以隨時(shí)加入、退出,共識(shí)達(dá)成不需要節(jié)點(diǎn)交互達(dá)成強(qiáng)一致,網(wǎng)絡(luò)層的路由信息由類似DHT的表來(lái)維護(hù);而運(yùn)行PBFT等算法的聯(lián)盟鏈必須提前知道節(jié)點(diǎn)數(shù)量(節(jié)點(diǎn)變更會(huì)運(yùn)行視圖切換協(xié)議,但很復(fù)雜)
v-for后面的saleOrder里面的entrys是個(gè)數(shù)組嗎
@click="myPra(diary.ispraise,diary.countpraise)" 這么些是沒(méi)有問(wèn)題,
前提是你要保證你的data數(shù)據(jù)中已經(jīng)有diary這個(gè)對(duì)象,而且diary對(duì)象中已經(jīng)有ispraise,countpraise這兩個(gè)屬性
data:{
diary:{
ispraise: 你的初始值,
countpraise: 你的初始值
}
}
頁(yè)面中再這樣綁定就不會(huì)報(bào)錯(cuò)了,
@click="myPra(diary.ispraise,diary.countpraise)"
就是數(shù)字, 按字符串來(lái)說(shuō), 是 1 10 11 ... 19 2 3 4 ... 9 90 91 ... 99, 按自然排序是 1 2 3 4 ... 10 11 12 ... 20 21 22 ... 90 ... 99
1.new操作符的作用是把后面的函數(shù)當(dāng)做構(gòu)造函數(shù),創(chuàng)造一個(gè)對(duì)象,然后把this指針指向這個(gè)對(duì)象,同時(shí)返回這個(gè)對(duì)象
2.所以這里的this就是指向new出來(lái)的對(duì)象,如果去掉了this,那么這個(gè)方法就不屬于new出來(lái)的對(duì)象,而只屬于Person這個(gè)函數(shù)的內(nèi)部作用域,外部訪問(wèn)不了
你可以將這個(gè)spider類的代碼全部粘貼出來(lái),更利于回答者發(fā)現(xiàn)問(wèn)題。
從scrapy的統(tǒng)計(jì)日志中可以看出scrapy是正常結(jié)束爬取,不是因?yàn)殛?duì)列爆了。所以這里最可能的問(wèn)題是 self.house_id_dict這個(gè)字典中 確實(shí)只有6472個(gè)key,而你說(shuō)的20w的key,可能去重后是6472(猜的)
print("number of the id_dict is %s"%len(self.house_id_dict))
另外,這條語(yǔ)句輸出多少呢?
設(shè)置npm代理,執(zhí)行命令
npm config set registry http://registry.cnpmjs.org
然后重新 create 項(xiàng)目
create-react-app my-app
...
Happy hacking!
//完成了...
之前用的淘寶代理
npm config set registry https://registry.npm.taobao.org
裝任何東西都o(jì)k,create-react-app也沒(méi)問(wèn)題,今天就突然掛掉了,只掛這一個(gè)啊,換回來(lái)居然就好了,無(wú)語(yǔ)!
發(fā)現(xiàn)問(wèn)題了
linux里面的firefox運(yùn)行沒(méi)有問(wèn)題。
win xp里買年的firefox運(yùn)行,不支持。
onlaunch和onshow中可獲取場(chǎng)景值 1036是App分享消息卡片
具體看API
https://developers.weixin.qq....
不同尺寸頁(yè)面的rem初始化(html的font-size屬性)是通過(guò)js來(lái)設(shè)置的,你在寫css時(shí)只要設(shè)置個(gè)固定的基準(zhǔn)值,然后寬度按照基準(zhǔn)值轉(zhuǎn)化成rem就好了。
content-length 錯(cuò)誤就設(shè)置請(qǐng)求頭就行了啊
先用單步調(diào)試看一下JavaScript有沒(méi)有執(zhí)行到,如果執(zhí)行到的話 等幾個(gè)小時(shí)再看看,一般部署后剛開(kāi)始的幾天延遲會(huì)比較久,后邊就比較快了
比如mget,mset,ZINTERSTORE等。因?yàn)檫@多個(gè)鍵可能不在一個(gè)節(jié)點(diǎn)中,速度會(huì)比較慢,所以干脆就不支持了
在點(diǎn)擊按鈕后,給有權(quán)限的人分配一個(gè)Token,并將該Token 記錄到緩存中,設(shè)置為 1分鐘過(guò)期.
操作:
用戶點(diǎn)擊進(jìn)入按鈕的時(shí)候, 判斷當(dāng)前擁有權(quán)限的人數(shù)是否達(dá)到閥值 (判斷Token的數(shù)量)
達(dá)到閥值,然會(huì)403 Forbidden. 否則生成新的Token 分配給該用戶
大致邏輯應(yīng)該是這樣的.僅供參考.
這個(gè)代碼肯定是跑不起來(lái)的哦.不過(guò)思路應(yīng)該就這樣了
<?php
// 除了 Auth 可以匿名訪問(wèn)(就是客戶端請(qǐng)求的時(shí)候,不帶Token的情況)之外. 其他的所有請(qǐng)求都必須攜帶Token上傳
// 這里的Token 可以放到 Header 中
$request = HttpRequest;
$response = HttpResponse();
// 請(qǐng)求資源不是Auth,且沒(méi)有攜帶Token的情況,直接返回403,或者跳轉(zhuǎn)頁(yè)面到獲取Token的地方(就是點(diǎn)擊進(jìn)入頁(yè)面的那個(gè)按鈕的地方)
if ($request->getPath() !== 'auth' && !$request->getHeader('token')) {
return $response->withHeader(403);
}
// 如果攜帶Token,但是Token已經(jīng)失效,那么不能訪問(wèn),或者跳轉(zhuǎn)到獲取Token頁(yè)面重新獲取Token
if ($token = $request->getHeader('token') && !(new Accessable($token))->isTokenAvaliable()) {
return $response->withHeader(403);
}
// 正常邏輯
/*****************************************************************************************/
class Accessable()
{
protected $token;
public function __construct($token)
{
$this->token = $token;
}
/**
* 老用戶是否還有權(quán)限可以訪問(wèn),就是判斷他的Token是否還存在,畢竟1分鐘后,Token就會(huì)自動(dòng)被刪除
*/
public function isTokenAvaliable()
{
$redis = Redis();
if ($redis->exists($token)) {
return true;
}
return false;
}
}
/**
* 授權(quán)操作
*/
class Auth
{
const EXPIRE_TIME = 60;
const AUTH_TOKENS = 'auth_tokens'; // 用來(lái)保存所有的Token,方便Redis查詢
public function POST()
{
if (!$this->isNewUserAvaliable()) {
return 403; // 返回403 Forbidden
}
$token = $this->generateToken();
return $token;
}
/**
* 生成可以訪問(wèn)的票據(jù)Token
*/
protected function generateToken()
{
$redis = new Redis();
$token = sprintf('Token:%s', uuid());
$redis->set($token, 1);
$redis->expire($token, self::EXPIRE_TIME); // 設(shè)置為1分鐘自動(dòng)過(guò)期
$redis->sAdd(self::AUTH_TOKENS, $token);
return $token;
}
/**
* 對(duì)于新用戶是否可以訪問(wèn)判斷(因?yàn)樗麤](méi)有攜帶Token上來(lái),那么就是新用戶)
* 判斷方式,是查詢Redis中存在的Token數(shù)量是否達(dá)到閥值
*/
protected function isNewUserAvaliable()
{
$redis = new Redis();
$tokens = $redis->sMembers(self::AUTH_TOKENS);
$counter = 0;
foreach ($tokens as $token) {
if ($redis->exists($token)) {
++$counter;
continue;
}
$redis->sRem($token);
}
if ($counter >= self::MAX_USER_COUNT) {
return false;
}
return true;
}
}
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。