用qq,163之類的郵箱來發(fā)送驗證碼的話,我見過有站長使用過,但是很少,因此我個人認為是可以用qq、163郵箱的。一般情況下,我們基本上都用我們自己的域名做個域名郵箱來發(fā)送驗證碼,這樣可以顯得更正式一點。
<?php
class Tree{
static public function SortTree($data, $pid = 0, $level=0, $icon = array(' ├─', ' └─',' │'))
{
$str="";$arr=[];
if(empty($data)) return array();
foreach ($data as $k=>$v) {
if ($v['pid'] == $pid) {
$v['level']= $level+1;
if($v['level']>2){
$str=str_repeat($icon[2], $v['level']-2);
}
if($v['pid']== 0){
$v['html']='';
}else{
$v['html']= $str . $icon[0];
}
$arr[] =$v;
$arr = array_merge($arr, self::SortTree($data, $v['cid'], $level + 1));
}
}
return $arr;
}
static public function getTree($data,$icon = array(' ├─', ' └─',' │')){
if(!is_array($data) || empty($data)) return array();
$arr = self::SortTree($data, $pid = 0, $level=0, $icon = array(' ├─', ' └─',' │'));
foreach ($arr as $k => $v) {
$str = "";
if ($v['level'] > 2) {
for ($i = 1; $i < $v['level'] - 1; $i++) {
$str .= " │";
}
}
if($v['level']!=1){
if (isset($arr[$k + 1]) && $arr[$k + 1]['level'] >= $arr[$k]['level']) {
$arr[$k]['html'] =$str . $icon[0];
} else {
$arr[$k]['html'] = $str . $icon[1];
}
}else{
$arr[$k]['html'] = $v['html'];
}
}
return $arr;
}
}
$data=array(
['cid' => 1, 'pid' => 0,'name'=>'a1'],
['cid' => 2, 'pid' => 1,'name'=>'a2'],
['cid' => 3, 'pid' => 2,'name'=>'a3'],
['cid' => 4, 'pid' => 2,'name'=>'a4'],
['cid' => 5, 'pid' => 0,'name'=>'a5'],
['cid' => 6, 'pid' => 5,'name'=>'a6'],
['cid' => 7, 'pid' => 6,'name'=>'a7'],
['cid' => 8, 'pid' => 7,'name'=>'a8'],
['cid' => 9, 'pid' => 7,'name'=>'a9'],
['cid' => 10, 'pid' => 8,'name'=>'a10'],
['cid' => 11, 'pid' => 10,'name'=>'11'],
['cid' => 12, 'pid' => 11,'name'=>'12'],
['cid' => 13, 'pid' => 12,'name'=>'13'],
['cid' => 14, 'pid' => 13,'name'=>'14'],
['cid' => 15, 'pid' => 14,'name'=>'15'],
['cid' => 16, 'pid' => 15,'name'=>'16'],
);
$tree=new Tree();
$a=$tree->getTree($data);
foreach ($a as $k=>$v){
echo $v['html'].$v['name'].' ---level:'.$v['level'].'<br>';
}
最后最近勉強解決了,如果哪里有問題,歡迎大神幫我指導修正。
最終結果:
a1 ---level:1
?├─a2 ---level:2
?│?├─a3 ---level:3
?│?└─a4 ---level:3
a5 ---level:1
?├─a6 ---level:2
?│?├─a7 ---level:3
?│?│?├─a8 ---level:4
?│?│?│?├─a10 ---level:5
?│?│?│?│?├─11 ---level:6
?│?│?│?│?│?├─12 ---level:7
?│?│?│?│?│?│?├─13 ---level:8
?│?│?│?│?│?│?│?├─14 ---level:9
?│?│?│?│?│?│?│?│?├─15 ---level:10
?│?│?│?│?│?│?│?│?│?└─16 ---level:11
?│?│?└─a9 ---level:4
祝大家 五福臨門,新年快樂!
//判斷等級level等于0的時候 false不顯示刪除按鈕 true顯示
//setting設置
edit: {
enable: true,
showRemoveBtn: setRemoveBtn
}
//定義的方法
function setRemoveBtn(treeId, treeNode) {
if(treeNode.level == 0) {
return false;
}
else {
return true;
}
}
我個人的理解:
1、程序中生產者和消費者分開了,生產著和消費者各自做自己的,這是異步
2、生產者生產完通知消費者進行處理,這中間對消息隊列的操作需要進行同步,否則可能會出異常
可以在startup.sh一開始的地方就cd更改目錄到你想去的目錄,不要依賴調用者當前目錄,就可以了,比如如果你想進入bin目錄,最開始的地方加
cd `dirname "$0"`
如果你想在上一級目錄,就
cd `dirname "$0"`/.. 在命令行中測試了30余次不會出現亂序的問題,確定是pycharm本身的問題。
struct alignment
如果微信給你認證的話就可以,每年300
不給你認證的話那只有企業(yè)的微信公眾號可以用了
去掉super.serviceMethod();
wait()和nitify()就是用來解決臨界資源的問題的,一個臨界資源在一個線程中由于其他的原因,這個線程不能執(zhí)行,我們就需要將這個臨界資源執(zhí)行wait(),讓其他線程能夠調用這個臨界資源。
如果按你所說的話,不是臨界資源,那么就不需要使用wait方法,因為不影響其他線程,其他線程根本不會阻塞
int ch_sub[j];
int ch_value[l];
中的 i 和 j 的值是隨機值, 定義數組是未定義的.
找到答案了
重新安裝
1、卸載 pip uninstall Pillow-2.3.0
2、安裝 pip install Pillow(沒指定版本,默認最新的 Pillow-4.3.0)
303和302狀態(tài)碼有著相同的功能,但是303明確表示客戶端應當采用get方法獲取資源,這點與302狀態(tài)碼有區(qū)別。
由于消息到達順序,可能會產生這樣的情況,f個問題節(jié)點比f個正常節(jié)點先返回消息,但是要保證正常接收到的消息數比有問題的多,所以需要滿足 N-f-f>f => N>3f,所以至少 3f+1 個節(jié)點。
因 Queue 容量有限,應采用一邊生產、一邊消費的同時運作模式,以免隊列滿了造成 Queue.put() 堵塞。
下面這個例子,演示如何使用 ping 命令同時檢查多個域名/IP。
# -*- coding: utf-8 -*-
from subprocess import Popen, PIPE
from multiprocessing import Pool, Manager
def ping(host, q):
# ping 發(fā) 4 個包,超時時間為 1 秒。
p = Popen(['ping', '-c', '4', '-W', '1', host], stdout=PIPE, stderr=PIPE)
p.communicate()
q.put([host, p.returncode == 0 and 'good' or 'bad'])
if __name__ == '__main__':
hosts = [
'www.baidu.com',
'www.taobao.com',
'www.bad123host.com',
'1.2.3.4',
]
m = Manager()
q = m.Queue()
p = Pool(3)
for host in hosts:
p.apply_async(ping, (host, q))
p.close()
for i in range(len(hosts)):
item = q.get()
print(f'{i:03d} {item[0]} is {item[1]}')
p.join()大概像這樣:
# data
log = """
[t=123]xyzzda, x=abc
[t=126]sdjljs, x=abc
[t=140]sdsws, x=abc
[t=239]dsjdjs, x=wvu
[t=248]sdsdess, x=wvu
"""
# code
import re
from collections import defaultdict
dic = defaultdict(list)
golden_x, golden_t = None, None
for line in log.split('\n'):
line = line.strip()
if not line:
continue
m = re.match('\[t=(\d+)\](.+), x=(.+)', line)
t, c, x = m.groups()
if x == golden_x:
dic[x].append((c, int(t) - golden_t))
golden_x, golden_t = x, int(t)
for key, ct in dic.items():
print(key+':')
for c, t in ct:
print(c, 't='+str(t))
print()
# results
abc:
sdjljs t=3
sdsws t=14
wvu:
sdsdess t=9
我回答過的問題: Python-QA
。。。這都能卡。。。那你還是換個mac吧,還便宜
讓你提供一個類,你非的提供一個實例
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數據專業(yè)的國家
達內教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產業(yè)為響應國家深化產教融合/校企合作的政策,積極推進“中國制造2025”,實現中華民族偉大復興的升級產業(yè)鏈。利用北京大學優(yōu)質教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經理從事移動互聯(lián)網管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經理職務負責iOS教學及管理工作。
浪潮集團項目經理。精通Java與.NET 技術, 熟練的跨平臺面向對象開發(fā)經驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網頁制作和網頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經驗。曾經歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。