在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答
妖妖 回答

canvas有個(gè)測(cè)量文本長(zhǎng)度的api(measureText), 所以居中就很簡(jiǎn)單了

context.fillText(str, (canvas.width - context.measureText(str).width) / 2, 0)

當(dāng)然如果你文本的長(zhǎng)度超過canvas的寬度那你就必須另外處理了。

因?yàn)槟愕?/p>

class W:
    headers = {"user-agent": UserAgent().random,}

只會(huì)在類定義的時(shí)候執(zhí)行一次,應(yīng)該換成

class W:
    def make_new(self):
        return {"user-agent": UserAgent().random,}
風(fēng)畔 回答

從執(zhí)行結(jié)果來看,區(qū)別不大;從代碼架構(gòu)層面來看,比較推薦“事件-偵聽”機(jī)制。因?yàn)楹笳哂兄诟缸咏M件之間解耦,即父組件不要求一定是這個(gè)子組件,子組件也不要求父組件一定要傳處理函數(shù)不然就報(bào)錯(cuò)。

終相守 回答

具體不行的表現(xiàn)是什么?是不生效,還是報(bào)錯(cuò)?

魚梓 回答

檢查兩臺(tái)電腦IE瀏覽器的“Internet選項(xiàng)”配置是否一致。

慢半拍 回答

expires選項(xiàng)用來設(shè)置“cookie 什么時(shí)間內(nèi)有效”。expires其實(shí)是cookie失效日期,expires必須是 GMT 格式的時(shí)間(可以通過 new Date().toGMTString()或者 new Date().toUTCString() 來獲得)。

如expires=Thu, 25 Feb 2016 04:18:00 GMT表示cookie講在2016年2月25日4:18分之后失效,對(duì)于失效的cookie瀏覽器會(huì)清空。如果沒有設(shè)置該選項(xiàng),則默認(rèn)有效期為session,即會(huì)話cookie。這種cookie在瀏覽器關(guān)閉后就沒有了。

expires 是 http/1.0協(xié)議中的選項(xiàng),在新的http/1.1協(xié)議中expires已經(jīng)由 max-age 選項(xiàng)代替,兩者的作用都是限制cookie 的有效時(shí)間。expires的值是一個(gè)時(shí)間點(diǎn)(cookie失效時(shí)刻= expires),而max-age 的值是一個(gè)以秒為單位時(shí)間段(cookie失效時(shí)刻= 創(chuàng)建時(shí)刻+ max-age)。
另外,max-age 的默認(rèn)值是 -1(即有效期為 session );若max-age有三種可能值:負(fù)數(shù)、0、正數(shù)。負(fù)數(shù):有效期session;0:刪除cookie;正數(shù):有效期為創(chuàng)建時(shí)刻+ max-age;
業(yè)務(wù)需求是關(guān)閉瀏覽器干掉cookie,之前的思路是想著不設(shè)置expire/max-age關(guān)閉瀏覽器即cookie失效,但繞了一大圈,發(fā)現(xiàn)還是不行,最后找了一個(gè)模棱兩可的辦法, 即監(jiān)聽關(guān)閉瀏覽器觸發(fā)一個(gè)方法,設(shè)置cookie失效,但監(jiān)聽瀏覽器的方法找找看

尐潴豬 回答

因?yàn)槟愕牟迦肱判蚝瓦x擇排序都是對(duì)原序列排序,排序后就已經(jīng)是好序了


import functools, random, time, copy

list = [random.random() for i in range(1,10000)]

def timer(func):
    @functools.wraps(func)
    def wrapper(*args, **kw):
        t0 = time.time()
        result = func(*args, **kw)
        t1 = time.time()
        print('Total running time %s : %s'
            %(func.__name__, str(t1 - t0))
            )
        return func(*args, **kw)
    return wrapper

@timer
def insert_sort(l):
    L = copy.copy(l)
    for i in range(1, len(L)):
        key = L[i]
        j = i - 1
        while j >= 0:
            if L[j] > key:
                L[j + 1],L[j] = L[j],key
            j -= 1
    return L

@timer    
def select_sort(l):
    lists = copy.copy(l)
    count = len(lists)
    for i in range(0, count):
        min = i
        for j in range(i + 1, count):
            if lists[min] > lists[j]:
                min = j
        lists[min], lists[i] = lists[i], lists[min]
    return lists

@timer
def my_sort(lists):
    return sorted(lists)

out = my_sort(list)
out = insert_sort(list)
out = select_sort(list)
out = insert_sort(list)
out = select_sort(list)

copy一下,兩次排序時(shí)間基本一致

我不懂 回答

要后臺(tái)確認(rèn)
1、是不是已經(jīng)保存sessionID
2、在請(qǐng)求頭中是否通知瀏覽器設(shè)置cookie

#include <stdlib.h>
#include <iostream>
using namespace  std;
const int maxn = 102;
int a[maxn][maxn];
int si,sj;
int n,m;
int dx[]= {-1,0,1,0};
int dy[]={0,-1,0,1};
int f( int a,int b) {return a>b? (a-b):(b-a);}
void  bfs(int x,int y,int time,int &ok)
{    
    a[x][y]=0;  int r = 0,c=0,max =0;
    for ( int i =0;i<4;++i )
        if (x+dx[i]>=0&&x+dx[i]<n&&y+dy[i]>=0&&y+dy[i]<m && a[x+dx[i]][y+dy[i]]>max )
        {
            r= x+dx[i];c=y+dy[i]; max=a[r][c];
        }
    if (!r&&!c)  return;
    if (f(si,r)+f(sj,c)<=time )  {ok =time;return;}
    bfs(r,c,time+1,ok);
}


int main(int argc, char** argv) {
    while ( cin>>n>>m&&n>0&&m>0)
    {
        for ( int i =0;i<n;++i )
            for ( int j =0;j<m;++j) cin>>a[i][j];
            cin>>si>>sj;
            int ok =0;
            bfs(0,0,1,ok);
            if ( ok)  cout<<ok<<endl;
            else cout<<"impossible\n";      
    }
    return (EXIT_SUCCESS);
}
悶油瓶 回答

建議了解下 react 的基本語法

奧特蛋 回答

在主線程中,調(diào)用webContents.send()方法的對(duì)象用錯(cuò)了。
往哪個(gè)窗口對(duì)應(yīng)的渲染線程中發(fā)消息,就使用哪個(gè)窗口對(duì)象來調(diào)用。
上面改為page2WindowObject.webContents.send()就可以了

陪妳哭 回答

<button @click.native="test">按鈕</button>

試一下 事件修飾服

若相惜 回答

es6采用樓上的方法;
es5寫法:

nArr = json.filter(function(item){
    return item.FromStation === '北京';
});

不過建議做下簡(jiǎn)單的方法封裝,將過濾關(guān)鍵詞作為變量傳入方便隨時(shí)更換關(guān)鍵詞

function filterKey(key){
    return json.filter(function(item){
        return item.FromStation === key;
    })
}
情未了 回答

我把你的大作業(yè)都看了遍, 發(fā)現(xiàn)有一個(gè)問題:
LIST結(jié)構(gòu)體里面的head是一個(gè)STUDENT *, 而你整個(gè)項(xiàng)目都沒有對(duì)head進(jìn)行過malloc, 所以直接對(duì)head進(jìn)行->解引用操作是undefined behavior.

  • 這種指針也叫Dangling pointer(懸掛指針).

而你這里的student正是newList->head, 所以"無法給結(jié)構(gòu)體中一個(gè)變量賦值"是很正常的, 因?yàn)橐呀?jīng)是undefined behavior, 所以不是正常的代碼, 產(chǎn)生任何結(jié)果都是合理的.

  • 這種錯(cuò)誤叫segmentfault, 也正是本站的名字, 意思是access了不應(yīng)該被訪問的內(nèi)存區(qū)域(原因前面講過了, 是懸吊指針, 所以可能指向某些難以言狀的內(nèi)存地址) : )

解決途徑: createNewList函數(shù)里面增加newList->head = malloc(sizeof STUDENT);

PS: 小小的codereview, 在c語言中, malloc不要在前面顯式cast, 這是多余的, 也會(huì)掩蓋你未include某些關(guān)鍵頭文件的錯(cuò)誤. c++則必須cast, 因?yàn)閏++不允許void*(malloc的返回類型)隱式轉(zhuǎn)換到任意指針.

PPS: 寫純c不要用vs, vs的c標(biāo)準(zhǔn)是非常殘廢的, 用clion或者codeblocks吧.

情殺 回答

之前看過的一個(gè)帖子,分享給你。

process.nextTick 永遠(yuǎn)大于 promise.then,原因其實(shí)很簡(jiǎn)單。。。在Node中,_tickCallback在每一次執(zhí)行完TaskQueue中的一個(gè)任務(wù)后被調(diào)用,而這個(gè)_tickCallback中實(shí)質(zhì)上干了兩件事:

1.nextTickQueue中所有任務(wù)執(zhí)行掉(長(zhǎng)度最大1e4,Node版本v6.9.1)

2.第一步執(zhí)行完后執(zhí)行_runMicrotasks函數(shù),執(zhí)行microtask中的部分(promise.then注冊(cè)的回調(diào))

所以很明顯 process.nextTick > promise.then

作者:何幻
鏈接:https://www.zhihu.com/questio...
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

愛是癌 回答

export 只能在最外層。

let dd=null
req.on('end',() => {

//obj = eval ("(" + html + ")");
 obj = JSON.parse(html);
//console.log(obj);
dd=obj

});
});

export {dd}

孤客 回答

session就是這樣的, session原意是會(huì)話, 會(huì)話的有效期是指在用戶最后一次請(qǐng)求開始多長(zhǎng)時(shí)間無操作時(shí)就失效.
所以你的session有效期是1800秒, 但是你在1000秒的時(shí)候又做了操作, 所以本次會(huì)話并沒有過期.

陪妳哭 回答

客戶端真實(shí)IP地址的方法一:

public String getRemortIP(HttpServletRequest request) {
if (request.getHeader("x-forwarded-for") == null) {
return request.getRemoteAddr();
}
return request.getHeader("x-forwarded-for");
}
獲得客戶端真實(shí)IP地址的方法二:

public String getIpAddr(HttpServletRequest request) {

   String ip = request.getHeader("x-forwarded-for"); 
   if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 
       ip = request.getHeader("Proxy-Client-IP"); 
   } 
   if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 
       ip = request.getHeader("WL-Proxy-Client-IP"); 
   } 
   if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 
       ip = request.getRemoteAddr(); 
   } 
   return ip; 

}
以上方法還不行的話就采用如下方法:

/** 
 * 獲取當(dāng)前網(wǎng)絡(luò)ip 
 * @param request 
 * @return 
 */  
public String getIpAddr(HttpServletRequest request){  
    String ipAddress = request.getHeader("x-forwarded-for");  
        if(ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {  
            ipAddress = request.getHeader("Proxy-Client-IP");  
        }  
        if(ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {  
            ipAddress = request.getHeader("WL-Proxy-Client-IP");  
        }  
        if(ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {  
            ipAddress = request.getRemoteAddr();  
            if(ipAddress.equals("127.0.0.1") || ipAddress.equals("0:0:0:0:0:0:0:1")){  
                //根據(jù)網(wǎng)卡取本機(jī)配置的IP  
                InetAddress inet=null;  
                try {  
                    inet = InetAddress.getLocalHost();  
                } catch (UnknownHostException e) {  
                    e.printStackTrace();  
                }  
                ipAddress= inet.getHostAddress();  
            }  
        }  
        //對(duì)于通過多個(gè)代理的情況,第一個(gè)IP為客戶端真實(shí)IP,多個(gè)IP按照','分割  
        if(ipAddress!=null && ipAddress.length()>15){ //"***.***.***.***".length() = 15  
            if(ipAddress.indexOf(",")>0){  
                ipAddress = ipAddress.substring(0,ipAddress.indexOf(","));  
            }  
        }  
        return ipAddress;   
}