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

鍍金池/ 問(wèn)答/ C問(wèn)答

不知道你說(shuō)的 “微信內(nèi)置的瀏覽器” 是指瀏覽器,還是小程序。
你要測(cè)試自己的手機(jī),還是別人的?
如果具體一點(diǎn)(最好有截圖),也許我能給出更好的建議。

這里給個(gè)思路參考下。
以測(cè)試自己手機(jī)的微信瀏覽器為例,可以采用 MITM(中間人攻擊)方式把 cookie 注入到瀏覽器。
假設(shè)要注入 cookie 到 x.y 網(wǎng)站,流程如下

  1. 架設(shè)一臺(tái)可修改內(nèi)容的 HTTP 代理服務(wù)器,把 cookie 注入到 x.y 域名。參考 https://mitmproxy.org/
  2. 讓手機(jī)瀏覽器使用設(shè)置好的 HTTP 代理服務(wù)器上網(wǎng)。

使用模型和模型關(guān)系的好處是:

  1. 一旦定義好關(guān)系,隨處可用。假如數(shù)據(jù)庫(kù)命名不規(guī)范,去join的時(shí)候還得去關(guān)心join的外鍵是叫xx_id呢還是叫id
  2. 用關(guān)系比用join便于閱讀。而且關(guān)系可以一直連下去,如: $order->user->userAddress->province->name,如果用join的話得join3個(gè)表。
  3. 用模型可以方便解耦。模型有creating、updatingdeleting等事件,舉個(gè)例子,當(dāng)用戶下單時(shí)需要給用戶發(fā)一條短信,就可以監(jiān)聽(tīng)ordercreated事件進(jìn)行編碼,不用把發(fā)短信代碼放在創(chuàng)建訂單的代碼里;再舉個(gè)例子,添加商品分類需要加個(gè)日志功能,但是添加分類有多個(gè)入口,比如在添加商品的時(shí)候可以輸入個(gè)新分類添加商品同時(shí)添加分類,也可以在分類管理里去單獨(dú)加分類,而這兩個(gè)入口的添加分類的代碼都是Category::create([xx]),如果要寫(xiě)日志的話使用模型監(jiān)聽(tīng)器只需要在一個(gè)地方寫(xiě)即可。可以了解下。但如果他用的是DB::table()->insert的話是做不到只修改一個(gè)地方完成這功能的。
比如這個(gè)user控制器要查詢用戶昵稱 還要先引入data模型use AppModelsData;還不如DB::table('data')->where('uid',$uid)->get()一句話完事了呢

不能只考慮眼前的控制器,假如還有個(gè)order,存了個(gè)user_id,要輸出user_name,定義好關(guān)系的話直接$order->user->user_name即可;假如還有個(gè)用戶地址、用戶優(yōu)惠、用戶xxx各種,每次join不覺(jué)得麻煩嘛。。

陌璃 回答

F12 -> Application -> Storage -> Cookies ,選中 Back 鍵可刪。

法克魷 回答

cookie是不允許跨域傳輸?shù)?,所以跨域的cookie的是不會(huì)自動(dòng)添加到請(qǐng)求中的。
你可以先獲取本地cookie,然后在請(qǐng)求的時(shí)候,添加到請(qǐng)求中,然后一起發(fā)送過(guò)去

一次修改

fetch的話,默認(rèn)是不發(fā)送cookie的,你可以修改request.credentials來(lái)讓它帶上cookie

接口的credentials只讀屬性Request指示用戶代理是否應(yīng)該在來(lái)自其他域的cookie發(fā)送跨域請(qǐng)求的情況下發(fā)送cookie。這與XHR的withCredentials標(biāo)志類似,但有三個(gè)可用值(而不是兩個(gè)):
omit:絕不發(fā)送cookie(默認(rèn))。
same-origin:如果URL與調(diào)用腳本位于相同的源,則發(fā)送用戶憑證(cookie,基本http認(rèn)證等)。
include:始終發(fā)送用戶憑證(cookie,基本http認(rèn)證等),即使是跨源呼叫。
fetch(url, {credentials: 'include'})

二次修改

我使用這個(gè)方法,是可以帶上cookie請(qǐng)求的

    fetch('url', {
        method: 'post',
        credentials: 'include'
    })

圖片描述

Request.credentials

慢半拍 回答

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

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

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)聽(tīng)關(guān)閉瀏覽器觸發(fā)一個(gè)方法,設(shè)置cookie失效,但監(jiān)聽(tīng)瀏覽器的方法找找看

#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);
}
情未了 回答

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

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

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

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

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

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

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

妖妖 回答

不明白你的問(wèn)題,意思是沒(méi)取到cookie還是不應(yīng)該取到cookie但是取到了

局外人 回答
  1. 你這個(gè)是開(kāi)源項(xiàng)目中的demo代碼吧,開(kāi)源項(xiàng)目中在第一級(jí)目錄下通常都一個(gè)README.md的文件或者install.md的文件,這個(gè)文件中有編譯和安裝的說(shuō)明。

  2. 如果在源代碼目錄下找不到1點(diǎn)中所說(shuō)的文件,則到開(kāi)源項(xiàng)目網(wǎng)站去查找相關(guān)的編譯和安裝的說(shuō)明。

糖果果 回答
function checkSum(array){
    let sum = 0;
    array.forEach(arr => sum += arr);
    return (sum >>16) + (sum & 0xffff)
}

大概就是這樣

純妹 回答

下面是我寫(xiě)的python,我編程比較差。。。求更好的方法

import itertools
def main():
    list1 = ['A', 'B', 'C', 'D','E']
    list2 = [1,2,3,4]
    result = itertools.permutations(list1, 4)
    newlist = []
    for item in result:
        newlist.append(list(item))
    newnewlist = []
    for item in newlist:
        item[0] = [list2[0],item[0]]
        item[1] = [list2[1], item[1]]
        item[2] = [list2[2], item[2]]
        item[3] = [list2[3], item[3]]
    for item in newlist:
        print(item)
if __name__ == '__main__':
    main()

找到了原因:
shutdown 可以選擇關(guān)閉某個(gè)方向或者同時(shí)關(guān)閉兩個(gè)方向,shutdown how = 0 or how = 1 or how = 2 (SHUT_RD or SHUT_WR or SHUT_RDWR),后兩者可以保證對(duì)等方接收到一個(gè)EOF字符(即發(fā)送了一個(gè)FIN段),而不管其他進(jìn)程是否已經(jīng)打開(kāi)了這個(gè)套接字。而close不能保證,只有當(dāng)某個(gè)sockfd的引用計(jì)數(shù)為0,close 才會(huì)發(fā)送FIN段,否則只是將引用計(jì)數(shù)減1而已。也就是說(shuō)只有當(dāng)所有進(jìn)程(可能fork多個(gè)子進(jìn)程都打開(kāi)了這個(gè)套接字)都關(guān)閉了這個(gè)套接字,close 才會(huì)發(fā)送FIN 段。

因?yàn)槲业腸lient_data_socket是在父進(jìn)程產(chǎn)生的,子進(jìn)程關(guān)閉了并沒(méi)有發(fā)送FIN段,所以我需要用shutdown來(lái)發(fā)送FIN

綰青絲 回答
c 語(yǔ)言的 宏 是自動(dòng)根據(jù)值來(lái)確定類型的??

宏是不帶類型信息的, 只是preprocessor的一個(gè)文本替換的, 與之相對(duì)的c++的模板則帶有類型信息.

請(qǐng)問(wèn) 宏 的實(shí)際應(yīng)用價(jià)值是什么??

原理


簡(jiǎn)單的說(shuō), 就是文本替換, 只不過(guò)基于文本替換可以玩出來(lái)些花樣.

實(shí)際應(yīng)用價(jià)值


性能 能省去函數(shù)調(diào)用的開(kāi)銷, 實(shí)現(xiàn)真正意義上的inline.

實(shí)現(xiàn)泛型與重載 c是不支持這倆貨的, 一定層面, 宏可以實(shí)現(xiàn)其功能, 很經(jīng)典的一個(gè)例子: #define max(a,b) ((a)<(b)?(b):(a)), 可以傳int, float等等, 你可以理解為支持了重載, 也可以理解為支持了泛型, 雖然很丑陋233. 再舉個(gè)不那么常見(jiàn)的:

#define MAKE_PAIR(T) \
  typedef struct MAKE_PAIR##T{ \
       T first; \
       T second; \
  } ##T##_pair 

 MAKE_PAIR(char);
 MAKE_PAIR(int);
 MAKE_PAIR(float);

這樣就直接定義了多個(gè)類型的pair. 也是對(duì)泛型的模擬.

我感覺(jué)他和 變量 的作用是一樣的..,而且相比變量感覺(jué)由于沒(méi)有聲明數(shù)據(jù)類型,在使用上更加不方便...

就是不方便呀, 而且不只是缺乏類型, 更重要的是它的scope是dynamic scope, 而不是大家所熟知的lexical scope, 前者的name lookup是在調(diào)用處尋找, 而后者則是在定義處. 這有時(shí)候會(huì)造成混亂.

什么時(shí)候可以用?

  • 自己瞎玩時(shí)
  • 確定下來(lái)真的是某個(gè)函數(shù)是性能瓶頸(這種情況其實(shí)很少出現(xiàn))

什么時(shí)候不該用?

能不用的時(shí)候就別用

Update

回復(fù)OP的疑問(wèn): 你給的這兩個(gè)鏈接的說(shuō)法都不對(duì). inline這個(gè)keyword和語(yǔ)義inline本身無(wú)關(guān), 你添加了inline其實(shí)不會(huì)對(duì)編譯器有什么影響. 編譯器有自己的判斷. c的inline是c99開(kāi)始出現(xiàn)的, 貌似是學(xué)c++的. c語(yǔ)言的odr(或者說(shuō)c其實(shí)是沒(méi)有odr的, 這里只是代指那套規(guī)則)我不是很熟悉, 不過(guò)在c++里面inline關(guān)鍵詞的作用就是屏蔽odr檢查. 和inline的語(yǔ)義(內(nèi)聯(lián))沒(méi)有任何關(guān)系. 泛型的話也別看百度百科, 里面問(wèn)題一大堆. 多搜英文資料. 或者寫(xiě)寫(xiě)c++的模板就知道了. 上面那個(gè)pair應(yīng)該還是很容易看出泛型在c里面的應(yīng)用的. 不只是primitive type, 其實(shí)你自己的結(jié)構(gòu)體也可以這樣很輕松的做出搞出來(lái)pair.

clipboard.png

GCC表示沒(méi)有這個(gè)問(wèn)題

猜測(cè)是你IDE的問(wèn)題,不知道你什么IDE,估計(jì)是啟用了默認(rèn)庫(kù)文件的選項(xiàng)

題目的代碼格式難以入目

傻叼 回答

在C++里使用C庫(kù)的函數(shù)時(shí),你加了 extern "C" { } 嗎? 否則就會(huì)鏈接找不到。

雨蝶 回答

setState中很重要的三個(gè)功能是:

  1. 合并state
  2. 觸發(fā)調(diào)和算法和render
  3. 批量更新

而且并不是說(shuō)只有setState才可以改變state。