鍍金池/ 問答
笑忘初 回答
  1. 從網(wǎng)頁(yè)里找東西,不要用正則,因?yàn)闀?huì)寫的很復(fù)雜,通用性很差。大部分語(yǔ)言都有現(xiàn)成的包,直接裝一個(gè)建樹遍歷吧。
  2. 學(xué)正則推薦 正則表達(dá)式30分鐘入門教程
萌面人 回答
  1. 一般給的設(shè)計(jì)圖都是有內(nèi)容寬度的,這個(gè)寬度一般不會(huì)太大,一般1000左右。
  2. 一般全寬度的都是什么產(chǎn)品大圖,banner這種。布局大致如下

clipboard.png
每個(gè)框都是獨(dú)立的div哈

題外話

如果內(nèi)容寬度超過(guò)了1200,建議和設(shè)計(jì)師溝通一下,畢竟橫向滾動(dòng)條比較反人類

陪她鬧 回答

1.你需要下載eslint擴(kuò)展
2.你需要下載vetur擴(kuò)展。
3.指定eslint規(guī)則(項(xiàng)目根目錄下新建.eslintrc.js,不清楚可以百度elisnt規(guī)則),網(wǎng)上有模板的,自己根據(jù)喜好配置,以便在第4步自動(dòng)按照這個(gè)格式格式化(比如你寫的是雙引號(hào),ctrl+s后自動(dòng)格式化成單引號(hào))
4.

"editor.formatOnSave": false,
"vetur.format.defaultFormatter.html": "js-beautify-html",
"eslint.autoFixOnSave": true,
"eslint.validate": [
    "javascript",
    "javascriptreact",
    "html",
    {
        "language": "vue",
        "autoFix": true
    },
    {
        "language": "typescript",
        "autoFix": true
    },
    {
        "language": "typescriptreact",
        "autoFix": true
    }
],
抱緊我 回答
背景
目前項(xiàng)目中會(huì)使用了Iaas中的vm,所有操作都是通過(guò)ssh連上去的。pm表示要不要寫個(gè)agent在里面用,現(xiàn)在每次操作都ssh一下都很惡心。

談?wù)勎艺J(rèn)為使用ssh的好處:
代碼集中在一處,不需要分發(fā)
不需要維護(hù)agent這么一個(gè)進(jìn)程的生命周期,以及檢測(cè)它的心跳
缺點(diǎn):

不支持異步
我想問的問題
ssh的開銷大嗎?在我看來(lái)似乎和寫一個(gè)基于web server 的agent差不多
大家一般是如何選型的?為什么這么選?

這個(gè)東西以前做過(guò)類似的,也有過(guò)反思,甚至設(shè)計(jì)的原型和你說(shuō)的一模一樣。

例如,我為什么要用基于web server的agent呢,我干嘛不用tcp長(zhǎng)連接到服務(wù)端,這樣執(zhí)行的結(jié)果可以流式傳輸?shù)秸{(diào)用方,他那邊顯示起來(lái)比較平滑,不用每個(gè)命令執(zhí)行完等結(jié)果。
但是我這樣搞的話,中控端流量和日志存儲(chǔ)就成了問題了啊。
如果我的業(yè)務(wù)都在云上,如果不同機(jī)房網(wǎng)絡(luò)不互通的話,我又要蛋疼地搞點(diǎn)兼容的事情……
例如,agent的生命周期,為什么我要檢測(cè)她的心跳呢?機(jī)器上萬(wàn)臺(tái)的話,任何可能的事情都會(huì)發(fā)生啊,修復(fù)起來(lái)太蛋疼了。但是我不處理的話……所以后面我會(huì)考慮用ssh來(lái)修復(fù)agent啊。

我假設(shè)你所有的機(jī)器都是linux,發(fā)行版為同一種。

SSH:

  1. 依賴于ssh的速度,一旦網(wǎng)絡(luò)抖動(dòng),ssh操作便會(huì)失敗。(低概率/風(fēng)險(xiǎn))
  2. 依賴于key,如果你安全策略不夠嚴(yán)謹(jǐn),或者管理比不嚴(yán)格的話,那么必然會(huì)造成root key的泛濫。(安全風(fēng)險(xiǎn)高)
  3. 開源技術(shù)很成熟,你很容易就能用幾行python包裝出一個(gè)比較完善的腳本,或者寫出一個(gè)ansible的配置。(用起來(lái)簡(jiǎn)單)

AGENT:

  1. 依賴于中控端。如果你不打算搞個(gè)中控端,那和ssh沒本質(zhì)區(qū)別。
  2. 其實(shí)和SSH一樣,依賴于網(wǎng)絡(luò),一旦抖動(dòng)也會(huì)出問題。
  3. ?;?。如果你的公司稍微大點(diǎn)的話,會(huì)有各種亂七八糟的原因能讓你的agent不起作用,甚至被kill。雖然處理起來(lái)沒啥問題,但是這個(gè)活總得有人來(lái)干。(低風(fēng)險(xiǎn))
  4. 維護(hù)。(成本中等)
  5. agent其實(shí)可以不用中間代碼,因?yàn)橐环矫婀ぷ髁勘容^大,一方面教育成本和學(xué)習(xí)成本也比較高。只是向agent下發(fā)shell腳本、python腳本等也可以完成相同的功能,沒問題的。

大公司有各種審計(jì)、安全方面的需求,會(huì)把這種事情統(tǒng)一到某個(gè)地方,搞個(gè)中控端,所有的批量操作必須通過(guò)中控端。模式也不一樣,有些用agent,有些用ssh,只有中控端才是必須要有的。

再說(shuō)的直白點(diǎn),
你是個(gè)小公司,小于30臺(tái)機(jī)器或者小于50臺(tái)機(jī)器的話,不建議考慮agent模式。
沒那個(gè)需求,投入的成本大而收效低。
基于各種第三方框架包裝一個(gè)就好了嘛,嫌麻煩就ansible用起。

練命 回答
這是路由的懶加載,問題描述的有點(diǎn)模糊,不知道是不是你要的
  • 聲明
const view = (path, name) => () => import(`@/components/${path}${name}`)// 路由按需加載
  • 用法
export default new Router({
  routes: [

    {
      path: '/',
      name: 'Index',
      component: view('', 'Index'),
      children: [
        {
          path: '/',
          name: 'Recomend',
          component: view('', 'Recomend')
        }
      ]
    }    
  ]
})
厭惡我 回答

做過(guò)類似的。
因?yàn)檫@種原生組件層級(jí)最高,上面只能覆蓋cover-view 或者cover-image。且 只支持tap事件
所以 手勢(shì)滑動(dòng)的輪播圖 就別想了。 不過(guò),點(diǎn)擊 切換,或者 自動(dòng)輪播還是可以的。
手寫個(gè)輪播圖 沒啥難度吧

冷咖啡 回答

總覺得是你的換行符被替換成空格的問題

祉小皓 回答

$refs.wrap 拿到的是一個(gè)VUE組件,并不是一個(gè)DOM。
如果想要手動(dòng)操作DOM,在組件內(nèi)給節(jié)點(diǎn)一個(gè)ID,比如el-col上給一個(gè)ID,然后用this.$el.querySelector(#ID)拿到來(lái)進(jìn)行操作。

傻叼 回答

看來(lái)只能重新編譯libcurl庫(kù)了,因?yàn)閜ycurl依賴的libcurl版本太低,不然就安裝低版本的pycurl也可以。

六扇門 回答

可能你就是被上天選中的男人吧,這一生都只能用 Ubuntu 一定能成為一個(gè)優(yōu)秀的程序員。

維他命 回答

你這寫法肯定只拿到的時(shí)候默認(rèn)的。在change的時(shí)候再去拿val的值才會(huì)變化

只愛你 回答

剛好寫了一部分看到 幫你補(bǔ)了一級(jí) 沒測(cè)過(guò) 可以試試看

<Menu @on-select='getName'>
 <template v-for="firstMenu in menuList">
      <Submenu v-if="firstMenu.children" :key="firstMenu.text" :name="firstMenu.text">
        <template slot="title">
          <Icon type="ios-navigate"></Icon>
          <span v-text="firstMenu.text"></span>
        </template>
        <template v-for="secondMenu in menuList">
          <Submenu v-if="secondMenu.children" :key="secondMenu.text" :name="secondMenu.text">
            <template slot="title">
              <Icon type="ios-navigate"></Icon>
              <span v-text="secondMenu.text"></span>
            </template>
            <Menu-Item v-for="thirdMenu in secondMenu.children"
                       :name="thirdMenu.name"
                       :key="thirdMenu.name"
                       v-html="thirdMenu.title">
            </Menu-Item>
          </Submenu>
          <Menu-Item v-else :name="secondMenu.text"
                     :key="secondMenu.text"
                     v-html="secondMenu.text">
          </Menu-Item>
        </template>
        <Menu-Item v-for="secondMenu in firstMenu.children"
                   :name="secondMenu.name"
                   :key="secondMenu.name"
                   v-html="secondMenu.title">
        </Menu-Item>
      </Submenu>
      <Menu-Item v-else :name="firstMenu.text"
                 :key="firstMenu.text"
                 v-html="firstMenu.text">
      </Menu-Item>
    </template>
</Menu>

法克魷 回答

MySQL 里面有auto_increment 自增字段,PostgreSQL 沒有自增字段這一說(shuō)法,但是有單獨(dú)的對(duì)象:序列。 可以用序列或者其他方法來(lái)是實(shí)現(xiàn)這樣的語(yǔ)法?;蛘咴O(shè)置某一列的默認(rèn)值為sequence的值即可

在字段默認(rèn)值里設(shè) nextval('products_product_no_seq')即可。
創(chuàng)建sequence參見https://www.postgresql.org/do...

CREATE SEQUENCE products_product_no_seq START 101;
CREATE TABLE products (
    product_no integer DEFAULT nextval('products_product_no_seq'),
    ...
);
蝶戀花 回答

域名指定DNS解析了嘛

何蘇葉 回答

折騰了兩天終于解決了,
各種谷歌百度?,F(xiàn)在貼一下解決過(guò)程。
圖片描述

遇到這個(gè)錯(cuò)誤,降低npm版本到5.1.0,
具體可參考這兩個(gè)鏈接
https://github.com/JeffreyWay...

https://github.com/JeffreyWay...

npm降低版本后,執(zhí)行以下命令
rm -rf node_modules
npm cache clear
rm -rf package-lock.json
npm install

經(jīng)過(guò)漫長(zhǎng)的等待,再次npm run dev ,又遇到以下錯(cuò)誤,
圖片描述

這兩個(gè)文件在項(xiàng)目里存在卻報(bào)錯(cuò)not found,
再次
rm -rf node_modules
npm cache clear
rm -rf package-lock.json
npm install

npm install完成,
運(yùn)行 npm run dev,
這次遇到的錯(cuò)誤又不一樣,如下圖
圖片描述

解決方法
在node-sass目錄下面新建一個(gè)vendor的空目錄,然后運(yùn)行npm/cnpm rebuild node-sass --save-dev即可,如果安裝失敗,會(huì)生成一個(gè)目錄名為類似這樣win32-x64-48的空目錄,然后去https://github.com/sass/node-...

具體參考以下鏈接
https://www.cnblogs.com/towar...

經(jīng)過(guò)這次后,終于運(yùn)行成功~!
圖片描述

真不容易啊,
遇到不明不白的錯(cuò)誤只能重復(fù)
rm -rf node_modules
npm cache clear
rm -rf package-lock.json
npm install

瘋浪 回答
  1. 移動(dòng)網(wǎng)絡(luò)與公司網(wǎng)絡(luò)用的肯定不一樣,除非你用的Wifi連接
  2. ip可以訪問和沒被墻算同一個(gè)條件
  3. DNS是運(yùn)營(yíng)商分發(fā)的或者是運(yùn)營(yíng)商給設(shè)置的?那么這里就很有問題了。建議直接在路由上指定(DHCP的DNS為)阿里的公共DNS223.5.5.5223.6.6.6,或者是短名新貴1.1.1.11.0.0.1
傲嬌范 回答

InnoDB聚集索引是按照主鍵(primary key)進(jìn)行聚集的,每張表只能有一個(gè)聚集索引,表數(shù)據(jù)文件本身就是按B+Tree組織的一個(gè)索引結(jié)構(gòu),葉子節(jié)點(diǎn)的data域保存了完整的數(shù)據(jù)記錄;所以說(shuō),InnoDB表數(shù)據(jù)文件本身就是主索引文件,也就是你剛剛說(shuō)的“同一個(gè)結(jié)構(gòu)中保存了 B+Tree 索引和數(shù)據(jù)行”。聚集索引的方式會(huì)使根據(jù)主鍵的范圍查找和排序非??欤▍⒖季奂饕臄?shù)據(jù)結(jié)構(gòu))。

InnoDB輔助索引的實(shí)現(xiàn)方式是所有輔助索引都引用主鍵作為data域,因此輔助索引搜索需要檢索兩次索引才能獲得數(shù)據(jù)記錄,但是這樣輔助索引的變更會(huì)很方便(不會(huì)影響根據(jù)主索引組織的數(shù)據(jù)文件本身),同時(shí)因?yàn)樗械妮o助索引都引用主索引,不建議主索引過(guò)大。