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

鍍金池/ 問答/ 網(wǎng)絡安全問答
念初 回答

使用rxjava吧
線程操作比較方便

package com.github.rxjavatest

import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.support.v7.widget.GridLayoutManager
import android.support.v7.widget.RecyclerView
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import com.bumptech.glide.Glide
import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.functions.BiFunction

class MainActivity : AppCompatActivity() {

    lateinit var recyclerView: RecyclerView

    val list = arrayListOf<String>()
    val adapter = ImageAdapter(list)

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        recyclerView = findViewById(R.id.recyclerView)
        recyclerView.layoutManager = GridLayoutManager(this, 3)
        recyclerView.adapter = adapter

        initImage()
    }

    private fun initImage() {
        val imageGetter = ImageGetter("http://588ku.com/beijing/0-0-pxnum-4-8-0-0-0-1/")
        val imgOb = imageGetter.getImageObserable()

        val imageGetter2 = ImageGetter("http://588ku.com/beijing/0-0-pxnum-4-8-0-0-0-2/")
        val imgOb2 = imageGetter2.getImageObserable()

        Observable.zip(imgOb, imgOb2, BiFunction<List<String>, List<String>, List<String>> { t1, t2 ->
            val list = arrayListOf<String>()
            list.addAll(t1)
            list.addAll(t2)
            list
        }).observeOn(AndroidSchedulers.mainThread())
                .subscribe {
                    list.addAll(it)
                    adapter.notifyDataSetChanged()
                }
    }
}

class ImageAdapter(val list: List<String>) : RecyclerView.Adapter<VH>() {

    override fun onBindViewHolder(holder: VH?, position: Int) {

        holder?.apply {
            val src = list[position]
            Glide
                    .with(itemView)
                    .load(src)
                    .into(img)
        }
    }

    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): VH {
        val view = LayoutInflater.from(parent?.context)?.inflate(R.layout.item_img, parent, false)
        return VH(view)
    }

    override fun getItemCount(): Int {
        return list.size
    }

}

class VH(itemView: View?) : RecyclerView.ViewHolder(itemView) {

    val img: ImageView by lazy { itemView!!.findViewById<ImageView>(R.id.iv_image) }

}
package com.github.rxjavatest

import android.annotation.SuppressLint
import android.util.Log
import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
import org.jsoup.Jsoup
import org.jsoup.nodes.Document
import java.util.concurrent.Executors


/**
 * Created by cai on 2018/2/12.
 */
class ImageGetter(var url: String) {
    
    fun getImageObserable(): Observable<ArrayList<String>> {
        return Observable
                .create<Document> {
                    val doc = Jsoup.connect(url)
                            .get()
                    it.onNext(doc)
                    it.onComplete()
                }
                .subscribeOn(Schedulers.io())
                .map {
                    it.select("div a img")
                }
                .map {
                    val list = arrayListOf<String>()
                    it.forEach {
                        val image = it.attr("data-original")
                        list.add(image)
                    }
                    list
                }
                .observeOn(AndroidSchedulers.mainThread())
    }

    @SuppressLint("SetJavaScriptEnabled")
    companion object {
    }

}

val Any.TAG
    get() = this.javaClass.simpleName

fun Any.logger(msg: Any?) {
    Log.i(TAG, msg.toString())
}

簡單寫了個demo
項目地址

這里用JSoup爬數(shù)據(jù)
然后Rxjava返回數(shù)據(jù)流處理結(jié)果的img src的集合的Observable

在實際Activity中同時獲得兩個Observable,使用zip操作符組合,然后在主線程中將圖片添加到list
刷新adapter

使用Glide加載圖片

硬扛 回答

之前思考過這個問題,把我的思路告訴你 一般來說,如果直接想要語音轉(zhuǎn)語音幾乎是很難實現(xiàn)的,現(xiàn)在的神經(jīng)網(wǎng)絡也沒有那么智能,或者說現(xiàn)在硬件的速度內(nèi)存都有一定的限制。

  1. 把問題的語音內(nèi)容轉(zhuǎn)文字;
  2. 把通過神經(jīng)網(wǎng)絡訓練,實現(xiàn)問題-答案,網(wǎng)絡的實現(xiàn);
  3. 再把文字轉(zhuǎn)換為語音;

我認為語音準文字,或者文字轉(zhuǎn)語音的技術,可能會比較復雜,如果自己做,可能會成為這個問題的核心難點。但是這個問題的核心卻是第2步。所以建議調(diào)用第三方模塊來實現(xiàn)文字語音互相轉(zhuǎn)換;
回到第2步。做文字轉(zhuǎn)文字的訓練,目前有很多類似電影臺詞的內(nèi)容都可以作為訓練數(shù)據(jù)集。然后再尋找一個比較合適的神經(jīng)網(wǎng)絡即可快速完成訓練;

以上就是我此前思考的思路。

厭惡我 回答

Redis有一個list的數(shù)據(jù)結(jié)構(gòu)可以滿足你的需求,詳情可以看一下慕課網(wǎng)的教程高峰削流

心沉 回答

修改.cs文件需要重新編譯,生成dll。

櫻花霓 回答

個人覺得,其實這個跟你需要完成的任務有關。打個比方,你只是自己想寫一個程序,方便自己工作,那你就可以寫函數(shù)為主,反正自己知道這些函數(shù)什么意思,有時候換地方使用直接copy一下,修修改改就好了。
而如果是完成某個大的項目,項目要分很多塊,那么就必須寫類了。有人說我寫個函數(shù),最終實現(xiàn)起來還不是一樣?實現(xiàn)起來是一樣,那么后期維護呢?你是更喜歡看一個模塊,這個模塊有幾個類,還是說喜歡看幾十個函數(shù)呢?顯而易見,一般稍微有點樣子的項目都是分成幾個模塊,每個模塊會分出幾個類來各自實現(xiàn)某個特定的任務。到代碼層的時候,才會需要看函數(shù)的代碼。
如果一個項目是由按照某些順序,直接調(diào)用幾十個函數(shù)完成的,相信后期維護的人會瘋吧?好氣啊,全是函數(shù),雖然有說明,也很費事的吧?

司令 回答

頁面用vue做好后,就build一下生成靜態(tài)的資源,index.html直接引入build好的資源,我們的項目前后端徹底分離,頁面用vue寫好,build好直接發(fā)布,然后調(diào)用springboot寫好的接口

凹凸曼 回答

Leaflet就可以做到,

  1. 在地圖上實現(xiàn)搜索框可以通過popup的方式自己開發(fā)
  2. 至于經(jīng)緯度的功能,也得在Leaflet基礎上自己開發(fā)
  3. Leaflet有l(wèi)ogo,但是可以隱藏。

你說的都是可以做到的,但是沒有現(xiàn)成的產(chǎn)品

玄鳥 回答

應該是IP的問題,你進Ubuntu里ifconfig看看IP多少,不要直接用127.0.0.1

別逞強 回答

可以把表單驗證錯誤信息賦值給變量傳遞到視圖,在視圖顯示錯誤信息試試
$data=validation_errors();
$this->load->view('user/insertData',$data);

孤星 回答

lua-nginx-moduleOpenSSL 1.1.0不兼容
你換成OpenSSL 1.0.2就好了

過客 回答
  1. 使用 lateinit var 定義延遲初始化變量

    class Machine : AbstractVerticle {
    
        private lateinit var config: Config
        
        constructor();
        
        constructor(config: TicketMachineConfig) {
            this.config = config
        }
    }
  2. 使用 kotlin 構(gòu)造函數(shù)

    class Machine(private val config: Config) : AbstractVerticle {
    }
陌南塵 回答

entry.js中加一行代碼就行了
window.a = a;
a是一個模塊,不是一個全局變量,需要掛在windows上才可以。

愚念 回答

index-》list->detail 跳轉(zhuǎn)用push
detail->list->index 用back 或者go(-1)不就好了。。。。。

關于點擊兩次退出app的,
app可以攔截到返回物理鍵的事件的,你在首頁的時候 告訴app 這個頁面不允許返回到上一頁(或者說當前在首頁了),
剩下的就是app的事了,計數(shù)點擊了幾次返回按鈕之類的

玄鳥 回答

很多web應用都提供了從其他的服務器上獲取數(shù)據(jù)的功能。使用用戶指定的URL,web應用可以獲取圖片,下載文件,讀取文件內(nèi)容等。這個功能如果被惡意使用,可以利用存在缺陷的web應用作為代理攻擊遠程和本地的服務器。這種形式的攻擊稱為服務端請求偽造攻擊(Server-side Request Forgery)。

例如使服務器獲取本地任意文件

file:///C:/Windows/win.ini
file:///etc/passwd

例如

AdobeSSRF

SSRF 可用于實現(xiàn)任意文件下載,但其可以用于更高級別的攻擊,通過判斷本地已經(jīng)安裝的服務,從而實現(xiàn)針對特定服務的漏洞利用,甚至獲得完整控制權(quán)。

參考

陌南塵 回答

你需要引入這個組件

import fontAwesomeIcon from 'xxxxx'
export default {
  components: { fontAwesomeIcon }
}

然后再去使用,應該就可以了。


首先你要確保這三個東西都裝了

 npm i --save @fortawesome/pro-solid-svg-icons
 npm i --save @fortawesome/pro-regular-svg-icons
 npm i --save @fortawesome/pro-light-svg-icons

然后,需要在main.js里面引入

import { library } from '@fortawesome/fontawesome-svg-core'
import { faCoffee } from '@fortawesome/free-solid-svg-icons'
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
 
library.add(faCoffee)
 
Vue.component('font-awesome-icon', FontAwesomeIcon)

然后你再使用應該就不會報錯了。
npm官方文檔


如果是nuxt項目,你可以找到/layouts/default.vue這個文件,在這個文件加入以下引入的代碼,就可以了。親試。

<script>
import Vue from 'vue'
import { library } from '@fortawesome/fontawesome-svg-core'
import { faCoffee, faSpinner } from '@fortawesome/free-solid-svg-icons'
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
library.add(faCoffee,faSpinner)
Vue.component('font-awesome-icon', FontAwesomeIcon)
export default {
  
}
</script>
怣痛 回答

你寫的getCommonItem方法,返回的是一個promise對象。所以在界面上顯示的是一個對象

promise只能傳遞值,不能返回值

你自己寫的commonItem不要返回Promise

舊酒館 回答

cell中的黑色小標簽用collectionView展示

情皺 回答

正則表達式不正確,匹配不了數(shù)據(jù),才導致hbase數(shù)據(jù)無法寫入