鍍金池/ 問答/ 網(wǎng)絡(luò)安全問答
生性 回答

console里面不是寫的很清楚,你跨域了么

孤影 回答

這里需要用到反射機(jī)制:使用 Java 類庫 reflections 里的 getSubTypesOf 獲取所有子類,但想獲得其對應(yīng)的對象需要通過 getField 獲得 MODULE$ 字段,根據(jù)該字段就可以獲得對應(yīng)的對象。

package com.gcusky.util.reflect

import org.reflections.Reflections
import scala.collection.JavaConverters._

object Base {
  def subObject[T](underlying: Class[T]): Seq[T] = {
    val reflects = new Reflections("com.gcusky.util.reflect")
    reflects.getSubTypesOf(underlying).asScala.map { sub =>
      sub.getField("MODULE$").get(null).asInstanceOf[T]
    }.toSeq
  }
}

因為在Scala中,單例對象和伴生對象編譯完后會生成兩個class文件:Base.classBase$.class。Base$.class 類中有一個常量字段 MODULE$,它的類型就是當(dāng)前類 Test$ 的類類型。

浪婳 回答

親,我的解決了,結(jié)合我的不斷重復(fù)的過程,問題出在了MYSYS2和bundle這兩個身上,我跟你大致說一下我的安裝過程及一些注意點(最重要的點就是所有安裝目錄最好不好出現(xiàn)空格):
1、安裝ruby,根據(jù)你的教程,無腦點就行,但是有個注意點,安裝的路徑中,連同命名,不要出現(xiàn)空格?。?!
2、ruby安裝完,會出現(xiàn)有個選項,讓你安裝MSYS2這個東東,如果沒有勾選,后面自己打開cmd,輸入“ridk install”進(jìn)行MSYS2的安裝,會出現(xiàn)然你選擇123,你選3就行。這個過程會下載很多安裝包什么的,耐心等待,一定要耐心,要完整裝完才行,裝好會讓你再做一次123選擇,這個時候不需要選了,直接enter退出就行了。
3、安裝DevKit,在官網(wǎng)下載DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe,然后點擊運行,同樣,安裝目錄不要出現(xiàn)空格,可以百度這個相關(guān)的安裝,還是比較簡單的
4、然后安裝RubyGems,從官網(wǎng)下載壓縮包,解壓到你想要的目錄下,路徑不要有空格,然后cmd命令指到這個文件夾下面,輸入“ruby setup.rb”執(zhí)行安裝,同樣也可百度
5、安裝bundler,輸入“gem install bundler”執(zhí)行安裝
6、上面的安裝基本缺一不可,然后就可以安裝jekyll了,執(zhí)行“gem install jekyll”,最后成功了。

我也是在重復(fù)安裝卸載安裝的過程中,最后成功了,jekyll的要求比較高,所以該有的環(huán)境都不能漏,這是我的做法,給你參照下,一次不行就多次,有一點遺漏最好就重新整個過程,不然補(bǔ)這個補(bǔ)那個的最后很容易面目全非,做了無用功。。

怣痛 回答

假設(shè)array2 = [{picUrl: "upload/1.jpg"},{picUrl: "upload/2.jpg"},{picUrl: "upload/3.jpg"}]這樣的合格的數(shù)組,你也不說明白拼接規(guī)則,怎么就把a(bǔ)rray2的第二個元素放到array1的最后面了。

arry這種拼寫趕快改改吧。

離人歸 回答

關(guān)于第二種情況的解釋是這樣的:
對于javascript,只有在方法真正執(zhí)行時才會讀取所涉及的變量值。像 show(i) 這個方法的i值并非如你所料的依次傳參為 0、1、2...然后延時執(zhí)行。實際發(fā)生的情況是,等延時結(jié)束開始執(zhí)行 show方法時,show方法才取讀取 i 值 ,而此時它的值應(yīng)該是 cards.length ,結(jié)果出現(xiàn)所有的輸出結(jié)果都會是相同的值。

徹底理解偏了,樓上 @可好了 的說法是正確的。那是執(zhí)行函數(shù)的用法,是立即執(zhí)行的。

誮惜顏 回答

基本上沒問題. 思路就是拒絕所有包. 只放特定的包進(jìn)入. 不過你最上面的那幾條規(guī)則可以刪掉或者移到下面去. 因為iptables的匹配規(guī)則是從上往下匹配的. 你的所有流入數(shù)據(jù)包都會經(jīng)過那幾條規(guī)則. 會浪費性能. 比如你可以把最常用的規(guī)則放到第一條. 那樣. 匹配到了就不會再繼續(xù)往下匹配了.

遺莣 回答

修改路徑 /usr/app/nginx/html 為 /usr/share/nginx/html
詳情

default.conf 文件root默認(rèn)的路徑為: /usr/share/nginx/html

神曲 回答

下載目錄沒設(shè)置對, get a b 的意思是把遠(yuǎn)程的 a 文件下到本地的 b文件.

clipboard.png

下墜 回答

col-xs-12表示當(dāng)屏幕寬度小于768px時,加該class的容器寬度跟屏幕寬度一樣
具體參考:
圖片描述

https://v3.bootcss.com/css/

尐懶貓 回答

你給的信息不足以判斷原因。
自己到SSL Labs測試下吧 https://www.ssllabs.com/ssltest/

另外截圖實在是太模糊了……都是文本為啥不直接貼上來……

玩控 回答

單詞寫錯了,應(yīng)該是:

console.log(res);
巫婆 回答
"scripts": {
    "dev-proxy": "webpack-dev-server --config webpack.dev.js --progress"
  }
npm run dev-proxy -- --NODE_PORT=125000
做不到 回答

arguments是函數(shù)里所有參數(shù)的數(shù)組集可以用下標(biāo)訪問對應(yīng)的參數(shù)。[].slice.call(arguments)這是argument調(diào)用數(shù)組的slice方法。 [this].concat([].slice.call(arguments))就是先slice再concat

舊酒館 回答

models ...interface{} 語法的參數(shù)接收到之后 models 應(yīng)該是 []interface{}
所以原樣傳遞給 RegisterModel 時 應(yīng)該 orm.RegisterModel(models...) 這樣寫

插入時要生成新的數(shù)組,并有拷貝操作,數(shù)組越大,需要的時間自然越長。

夏木 回答

clipboard.png
下面的數(shù)據(jù)是antdesign的table使用columns的到的數(shù)據(jù)

撥弦 回答

其他代碼,我沒發(fā)現(xiàn)問題,但是你確定video元素標(biāo)簽支持type="rtmp/flv" ,這種視頻流。

情殺 回答

hook 回調(diào)部分 必須單獨放在dll里
這部分用C++寫吧

命于你 回答

startsWith的mdn,這個你的看看,ie根本就沒事實現(xiàn)這個方法,你既然使用了babel-polyfill,那么你應(yīng)該是看不到startsWith這個方法的,所以應(yīng)該是沒有被轉(zhuǎn)譯,想想引得babel-polyfill是否正確,考慮使用mdn提供的轉(zhuǎn)譯再寫一遍。

/*! http://mths.be/startswith v0.2.0 by @mathias */
if (!String.prototype.startsWith) {
  (function() {
    'use strict'; // needed to support `apply`/`call` with `undefined`/`null`
    var defineProperty = (function() {
      // IE 8 only supports `Object.defineProperty` on DOM elements
      try {
        var object = {};
        var $defineProperty = Object.defineProperty;
        var result = $defineProperty(object, object, object) && $defineProperty;
      } catch(error) {}
      return result;
    }());
    var toString = {}.toString;
    var startsWith = function(search) {
      if (this == null) {
        throw TypeError();
      }
      var string = String(this);
      if (search && toString.call(search) == '[object RegExp]') {
        throw TypeError();
      }
      var stringLength = string.length;
      var searchString = String(search);
      var searchLength = searchString.length;
      var position = arguments.length > 1 ? arguments[1] : undefined;
      // `ToInteger`
      var pos = position ? Number(position) : 0;
      if (pos != pos) { // better `isNaN`
        pos = 0;
      }
      var start = Math.min(Math.max(pos, 0), stringLength);
      // Avoid the `indexOf` call if no match is possible
      if (searchLength + start > stringLength) {
        return false;
      }
      var index = -1;
      while (++index < searchLength) {
        if (string.charCodeAt(start + index) != searchString.charCodeAt(index)) {
          return false;
        }
      }
      return true;
    };
    if (defineProperty) {
      defineProperty(String.prototype, 'startsWith', {
        'value': startsWith,
        'configurable': true,
        'writable': true
      });
    } else {
      String.prototype.startsWith = startsWith;
    }
  }());
}